From d24063b5453e8699b0078b8b45a1d98a0ede5180 Mon Sep 17 00:00:00 2001 From: Pat Hartl Date: Thu, 2 Mar 2023 22:56:11 -0600 Subject: [PATCH 1/2] Started porting dashboard stats to AntDesign. Components can't be rendered with server prerendered?? --- LANCommander/Extensions/ArrayExtensions.cs | 19 ++++++ LANCommander/LANCommander.csproj | 1 + .../Charts/NetworkDownloadRate.razor | 62 +++++++++++++++++++ .../Dashboard/Charts/NetworkUploadRate.razor | 62 +++++++++++++++++++ .../Charts/ProcessorUtilization.razor | 50 +++++++++++++++ LANCommander/Pages/Dashboard/Index.razor | 10 +++ LANCommander/Pages/_Layout.cshtml | 2 + LANCommander/libman.json | 34 ++++++---- .../wwwroot/lib/antv/g2plot/dist/g2plot.js | 37 +++++++++++ .../lib/antv/g2plot/dist/g2plot.js.map | 1 + 10 files changed, 265 insertions(+), 13 deletions(-) create mode 100644 LANCommander/Extensions/ArrayExtensions.cs create mode 100644 LANCommander/Pages/Dashboard/Charts/NetworkDownloadRate.razor create mode 100644 LANCommander/Pages/Dashboard/Charts/NetworkUploadRate.razor create mode 100644 LANCommander/Pages/Dashboard/Charts/ProcessorUtilization.razor create mode 100644 LANCommander/Pages/Dashboard/Index.razor create mode 100644 LANCommander/wwwroot/lib/antv/g2plot/dist/g2plot.js create mode 100644 LANCommander/wwwroot/lib/antv/g2plot/dist/g2plot.js.map diff --git a/LANCommander/Extensions/ArrayExtensions.cs b/LANCommander/Extensions/ArrayExtensions.cs new file mode 100644 index 0000000..80452b2 --- /dev/null +++ b/LANCommander/Extensions/ArrayExtensions.cs @@ -0,0 +1,19 @@ +namespace LANCommander.Extensions +{ + public static class ArrayExtensions + { + public static T[] ShiftArrayAndInsert(this T[] array, T input, int max) + { + if (array == null || array.Length < max) + { + array = new T[max]; + } + + Array.Copy(array, 1, array, 0, array.Length - 1); + + array[array.Length - 1] = input; + + return array; + } + } +} diff --git a/LANCommander/LANCommander.csproj b/LANCommander/LANCommander.csproj index cca4fe9..389f96f 100644 --- a/LANCommander/LANCommander.csproj +++ b/LANCommander/LANCommander.csproj @@ -21,6 +21,7 @@ + diff --git a/LANCommander/Pages/Dashboard/Charts/NetworkDownloadRate.razor b/LANCommander/Pages/Dashboard/Charts/NetworkDownloadRate.razor new file mode 100644 index 0000000..02f583f --- /dev/null +++ b/LANCommander/Pages/Dashboard/Charts/NetworkDownloadRate.razor @@ -0,0 +1,62 @@ +@using System.Diagnostics; +@using LANCommander.Extensions; +@using AntDesign.Charts; + + +@code { + [Parameter] public int TimerHistory { get; set; } + [Parameter] public int TimerInterval { get; set; } + IChartComponent? Chart; + + Dictionary Data = new Dictionary(); + + Dictionary PerformanceCounters = new Dictionary(); + + LineConfig Config = new LineConfig + { + Name = "Network Download Rate", + Padding = "auto", + SeriesField = "Series", + YField = "Value", + XField = "Index", + XAxis = new ValueCatTimeAxis + { + Type = "dateTime", + TickCount = 1 + } + }; + + protected override void OnInitialized() + { + var timer = new System.Timers.Timer(); + + timer.Interval = TimerInterval; + + timer.Elapsed += async (s, e) => + { + await RefreshData(); + + await InvokeAsync(StateHasChanged); + }; + + timer.Start(); + } + + private async Task RefreshData() + { + var category = new PerformanceCounterCategory("Network Interface"); + + foreach (var instance in category.GetInstanceNames()) + { + if (!Data.ContainsKey(instance)) + Data[instance] = new double[TimerHistory]; + + if (!PerformanceCounters.ContainsKey(instance)) + PerformanceCounters[instance] = new PerformanceCounter("Network Interface", "Bytes Received/sec", instance); + + Data[instance] = Data[instance].ShiftArrayAndInsert((double)PerformanceCounters[instance].NextValue(), TimerHistory); + } + + await Chart.ChangeData(Data.SelectMany(x => x.Value.Select((y, i) => new { Value = y, Index = i, Series = x.Key })), true); + } +} diff --git a/LANCommander/Pages/Dashboard/Charts/NetworkUploadRate.razor b/LANCommander/Pages/Dashboard/Charts/NetworkUploadRate.razor new file mode 100644 index 0000000..aac2344 --- /dev/null +++ b/LANCommander/Pages/Dashboard/Charts/NetworkUploadRate.razor @@ -0,0 +1,62 @@ +@using System.Diagnostics; +@using LANCommander.Extensions; +@using AntDesign.Charts; + + +@code { + [Parameter] public int TimerHistory { get; set; } + [Parameter] public int TimerInterval { get; set; } + IChartComponent? Chart; + + Dictionary Data = new Dictionary(); + + Dictionary PerformanceCounters = new Dictionary(); + + LineConfig Config = new LineConfig + { + Name = "Network Upload Rate", + Padding = "auto", + SeriesField = "Series", + YField = "Value", + XField = "Index", + XAxis = new ValueCatTimeAxis + { + Type = "dateTime", + TickCount = 1 + } + }; + + protected override void OnInitialized() + { + var timer = new System.Timers.Timer(); + + timer.Interval = TimerInterval; + + timer.Elapsed += async (s, e) => + { + await RefreshData(); + + await InvokeAsync(StateHasChanged); + }; + + timer.Start(); + } + + private async Task RefreshData() + { + var category = new PerformanceCounterCategory("Network Interface"); + + foreach (var instance in category.GetInstanceNames()) + { + if (!Data.ContainsKey(instance)) + Data[instance] = new double[TimerHistory]; + + if (!PerformanceCounters.ContainsKey(instance)) + PerformanceCounters[instance] = new PerformanceCounter("Network Interface", "Bytes Sent/sec", instance); + + Data[instance] = Data[instance].ShiftArrayAndInsert((double)PerformanceCounters[instance].NextValue(), TimerHistory); + } + + await Chart.ChangeData(Data.SelectMany(x => x.Value.Select((y, i) => new { Value = y, Index = i, Series = x.Key })), true); + } +} diff --git a/LANCommander/Pages/Dashboard/Charts/ProcessorUtilization.razor b/LANCommander/Pages/Dashboard/Charts/ProcessorUtilization.razor new file mode 100644 index 0000000..51f8043 --- /dev/null +++ b/LANCommander/Pages/Dashboard/Charts/ProcessorUtilization.razor @@ -0,0 +1,50 @@ +@using System.Diagnostics; +@using LANCommander.Extensions; +@using AntDesign.Charts; + + +@code { + [Parameter] public int TimerHistory { get; set; } + [Parameter] public int TimerInterval { get; set; } + IChartComponent? Chart; + + double[] Data; + + PerformanceCounter PerformanceCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total"); + + LineConfig Config = new LineConfig + { + Name = "Processor Utilization", + Padding = "auto", + YField = "Value", + XField = "Index", + XAxis = new ValueCatTimeAxis + { + Type = "dateTime", + TickCount = 1 + } + }; + + protected override void OnInitialized() + { + var timer = new System.Timers.Timer(); + + timer.Interval = TimerInterval; + + timer.Elapsed += async (s, e) => + { + await RefreshData(); + + await InvokeAsync(StateHasChanged); + }; + + timer.Start(); + } + + private async Task RefreshData() + { + Data = Data.ShiftArrayAndInsert((double)PerformanceCounter.NextValue(), TimerHistory); + + await Chart.ChangeData(Data.Select((x, i) => new { Value = x, Index = i }), true); + } +} diff --git a/LANCommander/Pages/Dashboard/Index.razor b/LANCommander/Pages/Dashboard/Index.razor new file mode 100644 index 0000000..ce30bba --- /dev/null +++ b/LANCommander/Pages/Dashboard/Index.razor @@ -0,0 +1,10 @@ +@page "/Dashboard" +@using LANCommander.Pages.Dashboard.Charts + + + + + +@code { + +} diff --git a/LANCommander/Pages/_Layout.cshtml b/LANCommander/Pages/_Layout.cshtml index 5047a39..2a270a6 100644 --- a/LANCommander/Pages/_Layout.cshtml +++ b/LANCommander/Pages/_Layout.cshtml @@ -22,7 +22,9 @@ + + diff --git a/LANCommander/libman.json b/LANCommander/libman.json index bfa28a8..854585a 100644 --- a/LANCommander/libman.json +++ b/LANCommander/libman.json @@ -37,19 +37,27 @@ "min/vs/loader.js", "min/vs/base/browser/ui/codicons/codicon/codicon.ttf" ] + }, + { + "provider": "cdnjs", + "library": "tabler-icons@1.35.0", + "destination": "wwwroot/lib/tabler-icons/", + "files": [ + "iconfont/tabler-icons.min.css", + "iconfont/fonts/tabler-icons.eot", + "iconfont/fonts/tabler-icons.ttf", + "iconfont/fonts/tabler-icons.woff", + "iconfont/fonts/tabler-icons.woff2" + ] + }, + { + "provider": "unpkg", + "library": "@antv/g2plot@1.1.28", + "destination": "wwwroot/lib/antv/g2plot/", + "files": [ + "dist/g2plot.js", + "dist/g2plot.js.map" + ] } - , -{ - "provider": "cdnjs", - "library": "tabler-icons@1.35.0", - "destination": "wwwroot/lib/tabler-icons/", - "files": [ - "iconfont/tabler-icons.min.css", - "iconfont/fonts/tabler-icons.eot", - "iconfont/fonts/tabler-icons.ttf", - "iconfont/fonts/tabler-icons.woff", - "iconfont/fonts/tabler-icons.woff2" ] -} -] } \ No newline at end of file diff --git a/LANCommander/wwwroot/lib/antv/g2plot/dist/g2plot.js b/LANCommander/wwwroot/lib/antv/g2plot/dist/g2plot.js new file mode 100644 index 0000000..2cf843b --- /dev/null +++ b/LANCommander/wwwroot/lib/antv/g2plot/dist/g2plot.js @@ -0,0 +1,37 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.G2Plot=e():t.G2Plot=e()}(window,(function(){return function(t){var e={};function i(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}return i.m=t,i.c=e,i.d=function(t,e,n){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)i.d(n,r,function(e){return t[e]}.bind(null,r));return n},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=192)}([function(t,e,i){"use strict";i.r(e),i.d(e,"contains",(function(){return r})),i.d(e,"includes",(function(){return r})),i.d(e,"difference",(function(){return a})),i.d(e,"find",(function(){return b})),i.d(e,"findIndex",(function(){return _})),i.d(e,"firstValue",(function(){return O})),i.d(e,"flatten",(function(){return w})),i.d(e,"flattenDeep",(function(){return M})),i.d(e,"getRange",(function(){return C})),i.d(e,"pull",(function(){return T})),i.d(e,"pullAt",(function(){return E})),i.d(e,"reduce",(function(){return L})),i.d(e,"remove",(function(){return I})),i.d(e,"sortBy",(function(){return k})),i.d(e,"union",(function(){return F})),i.d(e,"uniq",(function(){return B})),i.d(e,"valuesOfKey",(function(){return R})),i.d(e,"head",(function(){return N})),i.d(e,"last",(function(){return Y})),i.d(e,"startsWith",(function(){return G})),i.d(e,"endsWith",(function(){return X})),i.d(e,"filter",(function(){return o})),i.d(e,"every",(function(){return V})),i.d(e,"some",(function(){return z})),i.d(e,"group",(function(){return U})),i.d(e,"groupBy",(function(){return W})),i.d(e,"groupToMap",(function(){return q})),i.d(e,"getWrapBehavior",(function(){return K})),i.d(e,"wrapBehavior",(function(){return Z})),i.d(e,"number2color",(function(){return Q})),i.d(e,"parseRadius",(function(){return J})),i.d(e,"clamp",(function(){return tt})),i.d(e,"fixedBase",(function(){return et})),i.d(e,"isDecimal",(function(){return nt})),i.d(e,"isEven",(function(){return rt})),i.d(e,"isInteger",(function(){return ot})),i.d(e,"isNegative",(function(){return at})),i.d(e,"isNumberEqual",(function(){return st})),i.d(e,"isOdd",(function(){return lt})),i.d(e,"isPositive",(function(){return ut})),i.d(e,"maxBy",(function(){return ct})),i.d(e,"minBy",(function(){return ht})),i.d(e,"mod",(function(){return pt})),i.d(e,"toDegree",(function(){return dt})),i.d(e,"toInteger",(function(){return gt})),i.d(e,"toRadian",(function(){return vt})),i.d(e,"forIn",(function(){return mt})),i.d(e,"has",(function(){return xt})),i.d(e,"hasKey",(function(){return bt})),i.d(e,"hasValue",(function(){return Ot})),i.d(e,"keys",(function(){return g})),i.d(e,"isMatch",(function(){return y})),i.d(e,"values",(function(){return _t})),i.d(e,"lowerCase",(function(){return Mt})),i.d(e,"lowerFirst",(function(){return Ct})),i.d(e,"substitute",(function(){return St})),i.d(e,"upperCase",(function(){return jt})),i.d(e,"upperFirst",(function(){return Pt})),i.d(e,"getType",(function(){return At})),i.d(e,"isArguments",(function(){return Et})),i.d(e,"isArray",(function(){return h})),i.d(e,"isArrayLike",(function(){return n})),i.d(e,"isBoolean",(function(){return Lt})),i.d(e,"isDate",(function(){return It})),i.d(e,"isError",(function(){return Dt})),i.d(e,"isFunction",(function(){return u})),i.d(e,"isFinite",(function(){return kt})),i.d(e,"isNil",(function(){return c})),i.d(e,"isNull",(function(){return Bt})),i.d(e,"isNumber",(function(){return it})),i.d(e,"isObject",(function(){return f})),i.d(e,"isObjectLike",(function(){return m})),i.d(e,"isPlainObject",(function(){return x})),i.d(e,"isPrototype",(function(){return Rt})),i.d(e,"isRegExp",(function(){return Nt})),i.d(e,"isString",(function(){return D})),i.d(e,"isType",(function(){return l})),i.d(e,"isUndefined",(function(){return Yt})),i.d(e,"isElement",(function(){return Gt})),i.d(e,"requestAnimationFrame",(function(){return Xt})),i.d(e,"clearAnimationFrame",(function(){return Vt})),i.d(e,"augment",(function(){return Wt})),i.d(e,"clone",(function(){return Ut})),i.d(e,"debounce",(function(){return Kt})),i.d(e,"memoize",(function(){return Zt})),i.d(e,"deepMix",(function(){return Qt})),i.d(e,"each",(function(){return d})),i.d(e,"extend",(function(){return Jt})),i.d(e,"indexOf",(function(){return te})),i.d(e,"isEmpty",(function(){return ie})),i.d(e,"isEqual",(function(){return ne})),i.d(e,"isEqualWith",(function(){return re})),i.d(e,"map",(function(){return oe})),i.d(e,"mapValues",(function(){return se})),i.d(e,"mix",(function(){return Ht})),i.d(e,"assign",(function(){return Ht})),i.d(e,"get",(function(){return le})),i.d(e,"set",(function(){return ue})),i.d(e,"pick",(function(){return he})),i.d(e,"throttle",(function(){return pe})),i.d(e,"toArray",(function(){return fe})),i.d(e,"toString",(function(){return wt})),i.d(e,"uniqueId",(function(){return ge})),i.d(e,"noop",(function(){return ye})),i.d(e,"identity",(function(){return ve})),i.d(e,"size",(function(){return me})),i.d(e,"Cache",(function(){return xe}));var n=function(t){return null!==t&&"function"!=typeof t&&isFinite(t.length)},r=function(t,e){return!!n(t)&&t.indexOf(e)>-1},o=function(t,e){if(!n(t))return t;for(var i=[],r=0;r-1;)j.call(t,o,1);return t},A=Array.prototype.splice,E=function(t,e){if(!n(t))return[];for(var i=t?e.length:0,r=i-1;i--;){var o=void 0,a=e[i];i!==r&&a===o||(o=a,A.call(t,a,1))}return t},L=function(t,e,i){if(!h(t)&&!x(t))return t;var n=i;return d(t,(function(t,i){n=e(n,t,i)})),n},I=function(t,e){var i=[];if(!n(t))return i;for(var r=-1,o=[],a=t.length;++re[r])return 1;if(t[r]i?i:t},et=function(t,e){var i=e.toString(),n=i.indexOf(".");if(-1===n)return Math.round(t);var r=i.substr(n+1).length;return r>20&&(r=20),parseFloat(t.toFixed(r))},it=function(t){return l(t,"Number")},nt=function(t){return it(t)&&t%1!=0},rt=function(t){return it(t)&&t%2==0},ot=Number.isInteger?Number.isInteger:function(t){return it(t)&&t%1==0},at=function(t){return it(t)&&t<0};function st(t,e,i){return void 0===i&&(i=1e-5),Math.abs(t-e)0},ct=function(t,e){if(h(t)){var i,n,r=t[0];return i=u(e)?e(t[0]):t[0][e],d(t,(function(t){(n=u(e)?e(t):t[e])>i&&(r=t,i=n)})),r}},ht=function(t,e){if(h(t)){var i,n,r=t[0];return i=u(e)?e(t[0]):t[0][e],d(t,(function(t){(n=u(e)?e(t):t[e])e?(n&&(clearTimeout(n),n=null),s=u,a=t.apply(r,o),n||(r=o=null)):n||!1===i.trailing||(n=setTimeout(l,c)),a};return u.cancel=function(){clearTimeout(n),s=0,n=r=o=null},u},fe=function(t){return n(t)?Array.prototype.slice.call(t):[]},de={},ge=function(t){return de[t=t||"g"]?de[t]+=1:de[t]=1,t+de[t]},ye=function(){},ve=function(t){return t};function me(t){return c(t)?0:n(t)?t.length:Object.keys(t).length}var xe=function(){function t(){this.map={}}return t.prototype.has=function(t){return void 0!==this.map[t]},t.prototype.get=function(t,e){var i=this.map[t];return void 0===i?e:i},t.prototype.set=function(t,e){this.map[t]=e},t.prototype.clear=function(){this.map={}},t.prototype.delete=function(t){delete this.map[t]},t.prototype.size=function(){return Object.keys(this.map).length},t}()},function(t,e,i){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)} +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */i.r(e),i.d(e,"__extends",(function(){return o})),i.d(e,"__assign",(function(){return a})),i.d(e,"__rest",(function(){return s})),i.d(e,"__decorate",(function(){return l})),i.d(e,"__param",(function(){return u})),i.d(e,"__metadata",(function(){return c})),i.d(e,"__awaiter",(function(){return h})),i.d(e,"__generator",(function(){return p})),i.d(e,"__createBinding",(function(){return f})),i.d(e,"__exportStar",(function(){return d})),i.d(e,"__values",(function(){return g})),i.d(e,"__read",(function(){return y})),i.d(e,"__spread",(function(){return v})),i.d(e,"__spreadArrays",(function(){return m})),i.d(e,"__await",(function(){return x})),i.d(e,"__asyncGenerator",(function(){return b})),i.d(e,"__asyncDelegator",(function(){return _})),i.d(e,"__asyncValues",(function(){return O})),i.d(e,"__makeTemplateObject",(function(){return w})),i.d(e,"__importStar",(function(){return M})),i.d(e,"__importDefault",(function(){return C})),i.d(e,"__classPrivateFieldGet",(function(){return S})),i.d(e,"__classPrivateFieldSet",(function(){return j}));var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)};function o(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var a=function(){return(a=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0;l--)(o=t[l])&&(s=(a<3?o(s):a>3?o(e,i,s):o(e,i))||s);return a>3&&s&&Object.defineProperty(e,i,s),s}function u(t,e){return function(i,n){e(i,n,t)}}function c(t,e){if("object"===("undefined"==typeof Reflect?"undefined":n(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function h(t,e,i,n){return new(i||(i=Promise))((function(r,o){function a(t){try{l(n.next(t))}catch(t){o(t)}}function s(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(a,s)}l((n=n.apply(t,e||[])).next())}))}function p(t,e){var i,n,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,o=i.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return a}function v(){for(var t=[],e=0;e1||s(t,e)}))})}function s(t,e){try{(i=r[t](e)).value instanceof x?Promise.resolve(i.value.v).then(l,u):c(o[0][2],i)}catch(t){c(o[0][3],t)}var i}function l(t){s("next",t)}function u(t){s("throw",t)}function c(t,e){t(e),o.shift(),o.length&&s(o[0][0],o[0][1])}}function _(t){var e,i;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,r){e[n]=t[n]?function(e){return(i=!i)?{value:x(t[n](e)),done:"return"===n}:r?r(e):e}:r}}function O(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t=g(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise((function(n,r){(function(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)})(n,r,(e=t[i](e)).done,e.value)}))}}}function w(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}function M(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e.default=t,e}function C(t){return t&&t.__esModule?t:{default:t}}function S(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function j(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i}},function(t,e,i){"use strict";function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)} +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */i.r(e),i.d(e,"__extends",(function(){return o})),i.d(e,"__assign",(function(){return a})),i.d(e,"__rest",(function(){return s})),i.d(e,"__decorate",(function(){return l})),i.d(e,"__param",(function(){return u})),i.d(e,"__metadata",(function(){return c})),i.d(e,"__awaiter",(function(){return h})),i.d(e,"__generator",(function(){return p})),i.d(e,"__createBinding",(function(){return f})),i.d(e,"__exportStar",(function(){return d})),i.d(e,"__values",(function(){return g})),i.d(e,"__read",(function(){return y})),i.d(e,"__spread",(function(){return v})),i.d(e,"__spreadArrays",(function(){return m})),i.d(e,"__await",(function(){return x})),i.d(e,"__asyncGenerator",(function(){return b})),i.d(e,"__asyncDelegator",(function(){return _})),i.d(e,"__asyncValues",(function(){return O})),i.d(e,"__makeTemplateObject",(function(){return w})),i.d(e,"__importStar",(function(){return C})),i.d(e,"__importDefault",(function(){return S})),i.d(e,"__classPrivateFieldGet",(function(){return j})),i.d(e,"__classPrivateFieldSet",(function(){return P}));var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])})(t,e)};function o(t,e){function i(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var a=function(){return(a=Object.assign||function(t){for(var e,i=1,n=arguments.length;i=0;l--)(o=t[l])&&(s=(a<3?o(s):a>3?o(e,i,s):o(e,i))||s);return a>3&&s&&Object.defineProperty(e,i,s),s}function u(t,e){return function(i,n){e(i,n,t)}}function c(t,e){if("object"===("undefined"==typeof Reflect?"undefined":n(Reflect))&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function h(t,e,i,n){return new(i||(i=Promise))((function(r,o){function a(t){try{l(n.next(t))}catch(t){o(t)}}function s(t){try{l(n.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?r(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(a,s)}l((n=n.apply(t,e||[])).next())}))}function p(t,e){var i,n,r,o,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function y(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,o=i.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=o.return)&&i.call(o)}finally{if(r)throw r.error}}return a}function v(){for(var t=[],e=0;e1||s(t,e)}))})}function s(t,e){try{(i=r[t](e)).value instanceof x?Promise.resolve(i.value.v).then(l,u):c(o[0][2],i)}catch(t){c(o[0][3],t)}var i}function l(t){s("next",t)}function u(t){s("throw",t)}function c(t,e){t(e),o.shift(),o.length&&s(o[0][0],o[0][1])}}function _(t){var e,i;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,r){e[n]=t[n]?function(e){return(i=!i)?{value:x(t[n](e)),done:"return"===n}:r?r(e):e}:r}}function O(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,i=t[Symbol.asyncIterator];return i?i.call(t):(t=g(t),e={},n("next"),n("throw"),n("return"),e[Symbol.asyncIterator]=function(){return this},e);function n(i){e[i]=t[i]&&function(e){return new Promise((function(n,r){(function(t,e,i,n){Promise.resolve(n).then((function(e){t({value:e,done:i})}),e)})(n,r,(e=t[i](e)).done,e.value)}))}}}function w(t,e){return Object.defineProperty?Object.defineProperty(t,"raw",{value:e}):t.raw=e,t}var M=Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e};function C(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)"default"!==i&&Object.prototype.hasOwnProperty.call(t,i)&&f(e,t,i);return M(e,t),e}function S(t){return t&&t.__esModule?t:{default:t}}function j(t,e){if(!e.has(t))throw new TypeError("attempted to get private field on non-instance");return e.get(t)}function P(t,e,i){if(!e.has(t))throw new TypeError("attempted to set private field on non-instance");return e.set(t,i),i}},function(t,e,i){"use strict";i.r(e),i.d(e,"mat3",(function(){return r})),i.d(e,"vec2",(function(){return o})),i.d(e,"vec3",(function(){return a})),i.d(e,"ext",(function(){return n}));var n={};i.r(n),i.d(n,"leftTranslate",(function(){return s})),i.d(n,"leftRotate",(function(){return l})),i.d(n,"leftScale",(function(){return u})),i.d(n,"transform",(function(){return c})),i.d(n,"direction",(function(){return h})),i.d(n,"angleTo",(function(){return p})),i.d(n,"vertical",(function(){return f}));var r=i(50),o=i(83),a=i(72);function s(t,e,i){var n=[0,0,0,0,0,0,0,0,0];return r.fromTranslation(n,i),r.multiply(t,n,e)}function l(t,e,i){var n=[0,0,0,0,0,0,0,0,0];return r.fromRotation(n,i),r.multiply(t,n,e)}function u(t,e,i){var n=[0,0,0,0,0,0,0,0,0];return r.fromScaling(n,i),r.multiply(t,n,e)}function c(t,e){for(var i,n,o,a=t?[].concat(t):[1,0,0,0,1,0,0,0,1],c=0,h=e.length;c=0;return i?r?2*Math.PI-n:n:r?n:2*Math.PI-n}function f(t,e,i){return i?(t[0]=e[1],t[1]=-1*e[0]):(t[0]=-1*e[1],t[1]=e[0]),t}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=n.__importDefault(i(22)),o=i(0),a=n.__importDefault(i(259)),s=n.__importDefault(i(262)),l=i(6),u=n.__importDefault(i(53)),c=n.__importDefault(i(15)),h=i(12),p=function(t){function e(e,i){var n=t.call(this)||this;return n.containerDOM="string"==typeof e?document.getElementById(e):e,n.forceFit=o.isNil(i.forceFit)?o.isNil(i.width)&&o.isNil(i.height):i.forceFit,n.renderer=i.renderer||"canvas",n.pixelRatio=i.pixelRatio||null,n.width=i.width,n.height=i.height,n.theme=i.theme,n.localRefresh=i.localRefresh,n.canvasController=new a.default({containerDOM:n.containerDOM,plot:n}),n.width=n.canvasController.width,n.height=n.canvasController.height,n.canvas=n.canvasController.canvas,n.layers=[],n.destroyed=!1,n.createLayers(i),n.eventController=new s.default({plot:n,canvas:n.canvasController.canvas}),n.eventController.bindEvents(),n.parseEvents(i),n}return n.__extends(e,t),e.prototype.destroy=function(){this.eachLayer((function(t){t.destroy()})),this.canvasController.destroy(),this.eventController.clearEvents(),this.layers=[],this.destroyed=!0},e.prototype.repaint=function(){this.canvasController.canvas.draw()},e.prototype.updateConfig=function(t,e){if(void 0===e&&(e=!1),e)this.eachLayer((function(e){e instanceof c.default&&e.updateConfig(t)}));else{var i=this.layers[0];i instanceof u.default&&i.updateConfig(t)}t.width&&(this.width=t.width),t.height&&(this.height=t.height),t.theme&&(this.theme=t.theme),this.canvasController.updateCanvasSize(),this.canvasController.updateCanvasTheme()},e.prototype.changeData=function(t,e){if(void 0===e&&(e=!1),e)this.eachLayer((function(e){e instanceof c.default&&e.changeData(t)}));else{var i=this.layers[0];i instanceof c.default&&i.changeData(t)}},e.prototype.getScaleByField=function(t){return this.layers[0].getScaleByField(t)},e.prototype.getXScale=function(){return this.layers[0].getXScale()},e.prototype.getYScale=function(){return this.layers[0].getYScale()},e.prototype.getColorScale=function(){return this.layers[0].getColorScale()},e.prototype.getPlotTheme=function(){return this.layers[0].getPlotTheme()},e.prototype.getData=function(){return this.layers[0].getData()},e.prototype.bindStateManager=function(t,e){this.eachLayer((function(i){i instanceof c.default&&i.bindStateManager(t,e)}))},e.prototype.setActive=function(t,e){this.eachLayer((function(i){i instanceof c.default&&i.setActive(t,e)}))},e.prototype.setSelected=function(t,e){this.eachLayer((function(i){i instanceof c.default&&i.setSelected(t,e)}))},e.prototype.setDisable=function(t,e){this.eachLayer((function(i){i instanceof c.default&&i.setDisable(t,e)}))},e.prototype.setDefault=function(t,e){this.eachLayer((function(i){i instanceof c.default&&i.setDefault(t,e)}))},e.prototype.getView=function(){return this.layers[0].view},e.prototype.getLayer=function(t){return void 0===t&&(t=0),this.layers[t]},e.prototype.getCanvas=function(){return this.canvasController.canvas},e.prototype.getLayers=function(){return this.layers},e.prototype.render=function(){this.eachLayer((function(t){return t.render()}))},e.prototype.eachLayer=function(t){o.each(this.layers,t)},e.prototype.addLayer=function(t){o.findIndex(this.layers,(function(e){return e===t}))<0&&this.layers.push(t)},e.prototype.createLayers=function(t){if(t.layers);else if(t.type){var e=new(l.getPlotType(t.type))(o.deepMix({},t,{canvas:this.canvasController.canvas,x:0,y:0,width:this.width,height:this.height}));this.addLayer(e)}},e.prototype.parseEvents=function(t){var e=this,i=o.keys(h.CANVAS_EVENT_MAP);t.events&&o.each(t.events,(function(t,n){if(o.contains(i,n)&&o.isFunction(t)){var r=h.CANVAS_EVENT_MAP[n]||n,a=t;e.on(r,a)}}))},e}(r.default);e.default=p},function(t,e,i){"use strict";i.d(e,"d",(function(){return _})),i.d(e,"b",(function(){return O})),i.d(e,"e",(function(){return w})),i.d(e,"f",(function(){return M})),i.d(e,"l",(function(){return C})),i.d(e,"j",(function(){return S}));var n=i(37),r=i.n(n);i.d(e,"i",(function(){return r.a}));var o=i(31),a=i.n(o);i.d(e,"k",(function(){return a.a}));var s=i(42),l=i.n(s);i.d(e,"h",(function(){return l.a}));var u=i(23),c=i.n(u);i.d(e,"g",(function(){return c.a}));var h=i(32),p=i.n(h);i.d(e,"c",(function(){return p.a}));var f=i(48),d=i.n(f);i.d(e,"o",(function(){return d.a}));var g=i(47),y=i.n(g);i.d(e,"m",(function(){return y.a}));i(62);var v=i(84),m=i.n(v);i.d(e,"n",(function(){return m.a}));var x=i(85),b=i.n(x);function _(){return window?window.devicePixelRatio:1}function O(t,e,i,n){var r=t-i,o=e-n;return Math.sqrt(r*r+o*o)}function w(t,e,i,n,r,o){return r>=t&&r<=t+i&&o>=e&&o<=e+n}function M(t,e){return!(e.minX>t.maxX||e.maxXt.maxY||e.maxY]*>/,s={tr:document.createElement("tbody"),tbody:r,thead:r,tfoot:r,td:o,th:o,"*":document.createElement("div")});var e=a.test(t)&&RegExp.$1;e&&e in s||(e="*");var i=s[e];t=t.replace(/(^\s*)|(\s*$)/g,""),i.innerHTML=""+t;var n=i.childNodes[0];return i.removeChild(n),n}function u(t,e,i){var n;try{n=window.getComputedStyle?window.getComputedStyle(t,null)[e]:t.style[e]}catch(t){}finally{n=void 0===n?i:n}return n}function c(t,e){var i=u(t,"height",e);return"auto"===i&&(i=t.offsetHeight),parseFloat(i)}function h(t,e){var i=c(t,e),n=parseFloat(u(t,"borderTopWidth"))||0,r=parseFloat(u(t,"paddingTop"))||0,o=parseFloat(u(t,"paddingBottom"))||0;return i+n+(parseFloat(u(t,"borderBottomWidth"))||0)+r+o+(parseFloat(u(t,"marginTop"))||0)+(parseFloat(u(t,"marginBottom"))||0)}function p(t,e){var i=u(t,"width",e);return"auto"===i&&(i=t.offsetWidth),parseFloat(i)}function f(t,e){var i=p(t,e),n=parseFloat(u(t,"borderLeftWidth"))||0,r=parseFloat(u(t,"paddingLeft"))||0,o=parseFloat(u(t,"paddingRight"))||0,a=parseFloat(u(t,"borderRightWidth"))||0,s=parseFloat(u(t,"marginRight"))||0;return i+n+a+r+o+(parseFloat(u(t,"marginLeft"))||0)+s}function d(){return window.devicePixelRatio?window.devicePixelRatio:2}function g(t,e){if(t)for(var i in e)e.hasOwnProperty(i)&&(t.style[i]=e[i]);return t}i.r(e),i.d(e,"addEventListener",(function(){return n})),i.d(e,"createDom",(function(){return l})),i.d(e,"getHeight",(function(){return c})),i.d(e,"getOuterHeight",(function(){return h})),i.d(e,"getOuterWidth",(function(){return f})),i.d(e,"getRatio",(function(){return d})),i.d(e,"getStyle",(function(){return u})),i.d(e,"getWidth",(function(){return p})),i.d(e,"modifyCSS",(function(){return g}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e._ORIGIN=e.ORIGIN=e.TooltipCssConst=e.HtmlTooltipTheme=e.HtmlTooltip=e.InteractionUtils=e.GrammarInteraction=e.GestureController=void 0;var n=i(1),r=n.__importDefault(i(193));e.GestureController=r.default,i(30).registerComponentController("gesture",r.default);var o=i(10);Object.defineProperty(e,"IElement",{enumerable:!0,get:function(){return o.IElement}}),Object.defineProperty(e,"ICanvas",{enumerable:!0,get:function(){return o.ICanvas}}),Object.defineProperty(e,"IGroup",{enumerable:!0,get:function(){return o.IGroup}}),Object.defineProperty(e,"IShape",{enumerable:!0,get:function(){return o.IShape}}),Object.defineProperty(e,"BBox",{enumerable:!0,get:function(){return o.BBox}}),Object.defineProperty(e,"GraphicEvent",{enumerable:!0,get:function(){return o.Event}});var a=i(112);Object.defineProperty(e,"Canvas",{enumerable:!0,get:function(){return a.Canvas}});var s=i(117);Object.defineProperty(e,"SVG",{enumerable:!0,get:function(){return s.Canvas}});var l=i(479);Object.defineProperty(e,"GM",{enumerable:!0,get:function(){return l.GM}}),Object.defineProperty(e,"Wheel",{enumerable:!0,get:function(){return l.Wheel}}),Object.defineProperty(e,"GestureEvent",{enumerable:!0,get:function(){return l.GestureEvent}});var u=i(30);Object.defineProperty(e,"View",{enumerable:!0,get:function(){return u.View}}),Object.defineProperty(e,"registerAnimation",{enumerable:!0,get:function(){return u.registerAnimation}}),Object.defineProperty(e,"registerGeometry",{enumerable:!0,get:function(){return u.registerGeometry}}),Object.defineProperty(e,"Geometry",{enumerable:!0,get:function(){return u.Geometry}}),Object.defineProperty(e,"Interaction",{enumerable:!0,get:function(){return u.Interaction}}),Object.defineProperty(e,"InteractionAction",{enumerable:!0,get:function(){return u.InteractionAction}}),Object.defineProperty(e,"registerInteraction",{enumerable:!0,get:function(){return u.registerInteraction}}),Object.defineProperty(e,"registerAction",{enumerable:!0,get:function(){return u.registerAction}}),Object.defineProperty(e,"registerShape",{enumerable:!0,get:function(){return u.registerShape}}),Object.defineProperty(e,"getTheme",{enumerable:!0,get:function(){return u.getTheme}}),Object.defineProperty(e,"Util",{enumerable:!0,get:function(){return u.Util}}),Object.defineProperty(e,"getShapeFactory",{enumerable:!0,get:function(){return u.getShapeFactory}}),Object.defineProperty(e,"ComponentController",{enumerable:!0,get:function(){return u.ComponentController}}),Object.defineProperty(e,"registerComponentController",{enumerable:!0,get:function(){return u.registerComponentController}});var c=i(43);Object.defineProperty(e,"VIEW_LIFE_CIRCLE",{enumerable:!0,get:function(){return c.VIEW_LIFE_CIRCLE}}),Object.defineProperty(e,"COMPONENT_TYPE",{enumerable:!0,get:function(){return c.COMPONENT_TYPE}}),Object.defineProperty(e,"FIELD_ORIGIN",{enumerable:!0,get:function(){return c.FIELD_ORIGIN}});var h=i(221);Object.defineProperty(e,"TooltipController",{enumerable:!0,get:function(){return h.default}});var p=i(131);Object.defineProperty(e,"MarkerSymbols",{enumerable:!0,get:function(){return p.MarkerSymbols}});var f=i(132);Object.defineProperty(e,"Datum",{enumerable:!0,get:function(){return f.Datum}}),Object.defineProperty(e,"Data",{enumerable:!0,get:function(){return f.Data}}),Object.defineProperty(e,"LooseObject",{enumerable:!0,get:function(){return f.LooseObject}}),Object.defineProperty(e,"Options",{enumerable:!0,get:function(){return f.Options}}),Object.defineProperty(e,"Point",{enumerable:!0,get:function(){return f.Point}}),Object.defineProperty(e,"ShapeInfo",{enumerable:!0,get:function(){return f.ShapeInfo}}),Object.defineProperty(e,"AttributeOption",{enumerable:!0,get:function(){return f.AttributeOption}}),Object.defineProperty(e,"AdjustOption",{enumerable:!0,get:function(){return f.AdjustOption}}),Object.defineProperty(e,"LabelOption",{enumerable:!0,get:function(){return f.LabelOption}}),Object.defineProperty(e,"MappingDatum",{enumerable:!0,get:function(){return f.MappingDatum}});var d=n.__importDefault(i(225));e.GrammarInteraction=d.default;var g=n.__importStar(i(133));e.InteractionUtils=g;var y=i(63);Object.defineProperty(e,"DEFAULT_ANIMATE_CFG",{enumerable:!0,get:function(){return y.DEFAULT_ANIMATE_CFG}}),Object.defineProperty(e,"getDefaultAnimateCfg",{enumerable:!0,get:function(){return y.getDefaultAnimateCfg}}),Object.defineProperty(e,"doAnimate",{enumerable:!0,get:function(){return y.doAnimate}});var v=i(233);Object.defineProperty(e,"Element",{enumerable:!0,get:function(){return v.default}});var m=n.__importDefault(i(235));e.HtmlTooltip=m.default;var x=n.__importDefault(i(136));e.HtmlTooltipTheme=x.default;var b=n.__importStar(i(33));e.TooltipCssConst=b;var _=i(16);Object.defineProperty(e,"GroupComponent",{enumerable:!0,get:function(){return _.GroupComponent}}),Object.defineProperty(e,"Axis",{enumerable:!0,get:function(){return _.Axis}}),Object.defineProperty(e,"Legend",{enumerable:!0,get:function(){return _.Legend}}),Object.defineProperty(e,"Tooltip",{enumerable:!0,get:function(){return _.Tooltip}}),Object.defineProperty(e,"Slider",{enumerable:!0,get:function(){return _.Slider}}),Object.defineProperty(e,"Scrollbar",{enumerable:!0,get:function(){return _.Scrollbar}});var O=i(240);Object.defineProperty(e,"GroupComponentCfg",{enumerable:!0,get:function(){return O.GroupComponentCfg}}),Object.defineProperty(e,"TooltipCfg",{enumerable:!0,get:function(){return O.TooltipCfg}});var w=i(46);Object.defineProperty(e,"Coordinate",{enumerable:!0,get:function(){return w.Coordinate}}),e.ORIGIN="origin",e._ORIGIN="_origin"},function(t,e,i){"use strict";i.d(e,"b",(function(){return n})),i.d(e,"a",(function(){return r})),i.d(e,"c",(function(){return o}));var n=1e-6,r="undefined"!=typeof Float32Array?Float32Array:Array,o=Math.random;Math.PI;Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)})},function(t,e,i){"use strict";i.r(e),i.d(e,"version",(function(){return Ve})),i.d(e,"Event",(function(){return R})),i.d(e,"Base",(function(){return ot})),i.d(e,"AbstractCanvas",(function(){return Ye})),i.d(e,"AbstractGroup",(function(){return Ge})),i.d(e,"AbstractShape",(function(){return Xe})),i.d(e,"PathUtil",(function(){return n}));var n={};i.r(n),i.d(n,"catmullRomToBezier",(function(){return u})),i.d(n,"fillPath",(function(){return E})),i.d(n,"fillPathByDiff",(function(){return D})),i.d(n,"formatPath",(function(){return F})),i.d(n,"intersection",(function(){return P})),i.d(n,"parsePathArray",(function(){return v})),i.d(n,"parsePathString",(function(){return l})),i.d(n,"pathToAbsolute",(function(){return h})),i.d(n,"pathToCurve",(function(){return g})),i.d(n,"rectPath",(function(){return w}));var r=i(0),o="\t\n\v\f\r   ᠎              \u2028\u2029",a=new RegExp("([a-z])["+o+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+o+"]*,?["+o+"]*)+)","ig"),s=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+o+"]*,?["+o+"]*","ig"),l=function(t){if(!t)return null;if(Object(r.isArray)(t))return t;var e={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},i=[];return String(t).replace(a,(function(n,r,o){var a=[],l=r.toLowerCase();if(o.replace(s,(function(t,e){e&&a.push(+e)})),"m"===l&&a.length>2&&(i.push([r].concat(a.splice(0,2))),l="l",r="m"===r?"l":"L"),"o"===l&&1===a.length&&i.push([r,a[0]]),"r"===l)i.push([r].concat(a));else for(;a.length>=e[l]&&(i.push([r].concat(a.splice(0,e[l]))),e[l]););return t})),i},u=function(t,e){for(var i=[],n=0,r=t.length;r-2*!e>n;n+=2){var o=[{x:+t[n-2],y:+t[n-1]},{x:+t[n],y:+t[n+1]},{x:+t[n+2],y:+t[n+3]},{x:+t[n+4],y:+t[n+5]}];e?n?r-4===n?o[3]={x:+t[0],y:+t[1]}:r-2===n&&(o[2]={x:+t[0],y:+t[1]},o[3]={x:+t[2],y:+t[3]}):o[0]={x:+t[r-2],y:+t[r-1]}:r-4===n?o[3]=o[2]:n||(o[0]={x:+t[n],y:+t[n+1]}),i.push(["C",(-o[0].x+6*o[1].x+o[2].x)/6,(-o[0].y+6*o[1].y+o[2].y)/6,(o[1].x+6*o[2].x-o[3].x)/6,(o[1].y+6*o[2].y-o[3].y)/6,o[2].x,o[2].y])}return i},c=function(t,e,i,n,r){var o=[];if(null===r&&null===n&&(n=i),t=+t,e=+e,i=+i,n=+n,null!==r){var a=Math.PI/180,s=t+i*Math.cos(-n*a),l=t+i*Math.cos(-r*a);o=[["M",s,e+i*Math.sin(-n*a)],["A",i,i,0,+(r-n>180),0,l,e+i*Math.sin(-r*a)]]}else o=[["M",t,e],["m",0,-n],["a",i,n,0,1,1,0,2*n],["a",i,n,0,1,1,0,-2*n],["z"]];return o},h=function(t){if(!(t=l(t))||!t.length)return[["M",0,0]];var e,i,n=[],r=0,o=0,a=0,s=0,h=0;"M"===t[0][0]&&(a=r=+t[0][1],s=o=+t[0][2],h++,n[0]=["M",r,o]);for(var p=3===t.length&&"M"===t[0][0]&&"R"===t[1][0].toUpperCase()&&"Z"===t[2][0].toUpperCase(),f=void 0,d=void 0,g=h,y=t.length;g1&&(n*=O=Math.sqrt(O),r*=O);var w=n*n,M=r*r,C=(a===s?-1:1)*Math.sqrt(Math.abs((w*M-w*_*_-M*b*b)/(w*_*_+M*b*b)));d=C*n*_/r+(e+l)/2,g=C*-r*b/n+(i+u)/2,p=Math.asin(((i-g)/r).toFixed(9)),f=Math.asin(((u-g)/r).toFixed(9)),p=ef&&(p-=2*Math.PI),!s&&f>p&&(f-=2*Math.PI)}var S=f-p;if(Math.abs(S)>y){var j=f,P=l,T=u;f=p+y*(s&&f>p?1:-1),m=t(l=d+n*Math.cos(f),u=g+r*Math.sin(f),n,r,o,0,s,P,T,[f,j,d,g])}S=f-p;var A=Math.cos(p),E=Math.sin(p),L=Math.cos(f),I=Math.sin(f),D=Math.tan(S/4),k=4/3*n*D,B=4/3*r*D,F=[e,i],R=[e+k*E,i-B*A],N=[l+k*I,u-B*L],Y=[l,u];if(R[0]=2*F[0]-R[0],R[1]=2*F[1]-R[1],c)return[R,N,Y].concat(m);for(var G=[],X=0,V=(m=[R,N,Y].concat(m).join().split(",")).length;X7){t[e].shift();for(var o=t[e];o.length;)s[e]="A",r&&(l[e]="A"),t.splice(e++,0,["C"].concat(o.splice(0,6)));t.splice(e,1),i=Math.max(n.length,r&&r.length||0)}},v=function(t,e,o,a,s){t&&e&&"M"===t[s][0]&&"M"!==e[s][0]&&(e.splice(s,0,["M",a.x,a.y]),o.bx=0,o.by=0,o.x=t[s][1],o.y=t[s][2],i=Math.max(n.length,r&&r.length||0))};i=Math.max(n.length,r&&r.length||0);for(var m=0;m1?1:l<0?0:l)/2,c=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],h=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],p=0,f=0;f<12;f++){var d=u*c[f]+u,g=m(d,t,i,r,a),y=m(d,e,n,o,s),v=g*g+y*y;p+=h[f]*Math.sqrt(v)}return u*p},b=function(t,e,i,n,r,o,a,s){for(var l,u,c,h,p=[],f=[[],[]],d=0;d<2;++d)if(0===d?(u=6*t-12*i+6*r,l=-3*t+9*i-9*r+3*a,c=3*i-3*t):(u=6*e-12*n+6*o,l=-3*e+9*n-9*o+3*s,c=3*n-3*e),Math.abs(l)<1e-12){if(Math.abs(u)<1e-12)continue;(h=-c/u)>0&&h<1&&p.push(h)}else{var g=u*u-4*c*l,y=Math.sqrt(g);if(!(g<0)){var v=(-u+y)/(2*l);v>0&&v<1&&p.push(v);var m=(-u-y)/(2*l);m>0&&m<1&&p.push(m)}}for(var x,b=p.length,_=b;b--;)x=1-(h=p[b]),f[0][b]=x*x*x*t+3*x*x*h*i+3*x*h*h*r+h*h*h*a,f[1][b]=x*x*x*e+3*x*x*h*n+3*x*h*h*o+h*h*h*s;return f[0][_]=t,f[1][_]=e,f[0][_+1]=a,f[1][_+1]=s,f[0].length=f[1].length=_+2,{min:{x:Math.min.apply(0,f[0]),y:Math.min.apply(0,f[1])},max:{x:Math.max.apply(0,f[0]),y:Math.max.apply(0,f[1])}}},_=function(t,e,i,n,r,o,a,s){if(!(Math.max(t,i)Math.max(r,a)||Math.max(e,n)Math.max(o,s))){var l=(t-i)*(o-s)-(e-n)*(r-a);if(l){var u=((t*n-e*i)*(r-a)-(t-i)*(r*s-o*a))/l,c=((t*n-e*i)*(o-s)-(e-n)*(r*s-o*a))/l,h=+u.toFixed(2),p=+c.toFixed(2);if(!(h<+Math.min(t,i).toFixed(2)||h>+Math.max(t,i).toFixed(2)||h<+Math.min(r,a).toFixed(2)||h>+Math.max(r,a).toFixed(2)||p<+Math.min(e,n).toFixed(2)||p>+Math.max(e,n).toFixed(2)||p<+Math.min(o,s).toFixed(2)||p>+Math.max(o,s).toFixed(2)))return{x:u,y:c}}}},O=function(t,e,i){return e>=t.x&&e<=t.x+t.width&&i>=t.y&&i<=t.y+t.height},w=function(t,e,i,n,r){if(r)return[["M",+t+ +r,e],["l",i-2*r,0],["a",r,r,0,0,1,r,r],["l",0,n-2*r],["a",r,r,0,0,1,-r,r],["l",2*r-i,0],["a",r,r,0,0,1,-r,-r],["l",0,2*r-n],["a",r,r,0,0,1,r,-r],["z"]];var o=[["M",t,e],["l",i,0],["l",0,n],["l",-i,0],["z"]];return o.parsePathArray=v,o},M=function(t,e,i,n){return null===t&&(t=e=i=n=0),null===e&&(e=t.y,i=t.width,n=t.height,t=t.x),{x:t,y:e,width:i,w:i,height:n,h:n,x2:t+i,y2:e+n,cx:t+i/2,cy:e+n/2,r1:Math.min(i,n)/2,r2:Math.max(i,n)/2,r0:Math.sqrt(i*i+n*n)/2,path:w(t,e,i,n),vb:[t,e,i,n].join(" ")}},C=function(t,e,i,n,o,a,s,l){Object(r.isArray)(t)||(t=[t,e,i,n,o,a,s,l]);var u=b.apply(null,t);return M(u.min.x,u.min.y,u.max.x-u.min.x,u.max.y-u.min.y)},S=function(t,e,i,n,r,o,a,s,l){var u=1-l,c=Math.pow(u,3),h=Math.pow(u,2),p=l*l,f=p*l,d=t+2*l*(i-t)+p*(r-2*i+t),g=e+2*l*(n-e)+p*(o-2*n+e),y=i+2*l*(r-i)+p*(a-2*r+i),v=n+2*l*(o-n)+p*(s-2*o+n);return{x:c*t+3*h*l*i+3*u*l*l*r+f*a,y:c*e+3*h*l*n+3*u*l*l*o+f*s,m:{x:d,y:g},n:{x:y,y:v},start:{x:u*t+l*i,y:u*e+l*n},end:{x:u*r+l*a,y:u*o+l*s},alpha:90-180*Math.atan2(d-y,g-v)/Math.PI}},j=function(t,e,i){if(!function(t,e){return t=M(t),e=M(e),O(e,t.x,t.y)||O(e,t.x2,t.y)||O(e,t.x,t.y2)||O(e,t.x2,t.y2)||O(t,e.x,e.y)||O(t,e.x2,e.y)||O(t,e.x,e.y2)||O(t,e.x2,e.y2)||(t.xe.x||e.xt.x)&&(t.ye.y||e.yt.y)}(C(t),C(e)))return i?0:[];for(var n=~~(x.apply(0,t)/8),r=~~(x.apply(0,e)/8),o=[],a=[],s={},l=i?0:[],u=0;u=0&&b<=1&&w>=0&&w<=1&&(i?l+=1:l.push({x:m.x,y:m.y,t1:b,t2:w}))}}return l},P=function(t,e){return function(t,e,i){var n,r,o,a,s,l,u,c,h,p;t=g(t),e=g(e);for(var f=i?0:[],d=0,y=t.length;d=3&&(3===t.length&&e.push("Q"),e=e.concat(t[1])),2===t.length&&e.push("L"),e=e.concat(t[t.length-1])}))}(t,e,i));else{var r=[].concat(t);"M"===r[0]&&(r[0]="L");for(var o=0;o<=i-1;o++)n.push(r)}return n},E=function(t,e){if(1===t.length)return t;var i=t.length-1,n=e.length-1,r=i/n,o=[];if(1===t.length&&"M"===t[0][0]){for(var a=0;a=0;l--)a=o[l].index,"add"===o[l].type?t.splice(a,0,[].concat(t[a])):t.splice(a,1)}var h=r-(n=t.length);if(n0)){t[n]=e[n];break}i=k(i,t[n-1],1)}t[n]=["Q"].concat(i.reduce((function(t,e){return t.concat(e)}),[]));break;case"T":t[n]=["T"].concat(i[0]);break;case"C":if(i.length<3){if(!(n>0)){t[n]=e[n];break}i=k(i,t[n-1],2)}t[n]=["C"].concat(i.reduce((function(t,e){return t.concat(e)}),[]));break;case"S":if(i.length<2){if(!(n>0)){t[n]=e[n];break}i=k(i,t[n-1],1)}t[n]=["S"].concat(i.reduce((function(t,e){return t.concat(e)}),[]));break;default:t[n]=e[n]}return t},R=function(){function t(t,e){this.bubbles=!0,this.target=null,this.currentTarget=null,this.delegateTarget=null,this.delegateObject=null,this.defaultPrevented=!1,this.propagationStopped=!1,this.shape=null,this.fromShape=null,this.toShape=null,this.propagationPath=[],this.type=t,this.name=t,this.originalEvent=e,this.timeStamp=e.timeStamp}return t.prototype.preventDefault=function(){this.defaultPrevented=!0,this.originalEvent.preventDefault&&this.originalEvent.preventDefault()},t.prototype.stopPropagation=function(){this.propagationStopped=!0},t.prototype.toString=function(){return"[Event (type="+this.type+")]"},t.prototype.save=function(){},t.prototype.restore=function(){},t}(),N=i(1),Y=i(22),G=i(37),X=i.n(G),V=i(42),z=i.n(V),H=i(31),W=i.n(H),q=i(60),U=i.n(q),K=(i(23),i(81)),Z=i.n(K),$=i(32),Q=i.n($),J=i(82),tt=i.n(J);function et(t,e){var i=t.indexOf(e);-1!==i&&t.splice(i,1)}var it="undefined"!=typeof window&&void 0!==window.document;function nt(t,e){if(t.isCanvas())return!0;for(var i=e.getParent(),n=!1;i;){if(i===t){n=!0;break}i=i.getParent()}return n}function rt(t){return t.cfg.visible&&t.cfg.capture}var ot=function(t){function e(e){var i=t.call(this)||this;i.destroyed=!1;var n=i.getDefaultCfg();return i.cfg=Z()(n,e),i}return Object(N.__extends)(e,t),e.prototype.getDefaultCfg=function(){return{}},e.prototype.get=function(t){return this.cfg[t]},e.prototype.set=function(t,e){this.cfg[t]=e},e.prototype.destroy=function(){this.cfg={destroyed:!0},this.off(),this.destroyed=!0},e}(Y.default),at=i(181),st=i(3);function lt(t,e){var i=[],n=t[0],r=t[1],o=t[2],a=t[3],s=t[4],l=t[5],u=t[6],c=t[7],h=t[8],p=e[0],f=e[1],d=e[2],g=e[3],y=e[4],v=e[5],m=e[6],x=e[7],b=e[8];return i[0]=p*n+f*a+d*u,i[1]=p*r+f*s+d*c,i[2]=p*o+f*l+d*h,i[3]=g*n+y*a+v*u,i[4]=g*r+y*s+v*c,i[5]=g*o+y*l+v*h,i[6]=m*n+x*a+b*u,i[7]=m*r+x*s+b*c,i[8]=m*o+x*l+b*h,i}function ut(t,e){var i=[],n=e[0],r=e[1];return i[0]=t[0]*n+t[3]*r+t[6],i[1]=t[1]*n+t[4]*r+t[7],i}var ct=["zIndex","capture","visible","type"],ht=["repeat"];function pt(t,e){var i={},n=e.attrs;for(var r in t)i[r]=n[r];return i}function ft(t,e){var i={},n=e.attr();return Object(r.each)(t,(function(t,e){-1!==ht.indexOf(e)||Object(r.isEqual)(n[e],t)||(i[e]=t)})),i}function dt(t,e){if(e.onFrame)return t;var i=e.startTime,n=e.delay,o=e.duration,a=Object.prototype.hasOwnProperty;return Object(r.each)(t,(function(t){i+nt.delay&&Object(r.each)(e.toAttrs,(function(e,i){a.call(t.toAttrs,i)&&(delete t.toAttrs[i],delete t.fromAttrs[i])}))})),t}var gt=function(t){function e(e){var i=t.call(this,e)||this;i.attrs={};var n=i.getDefaultAttrs();return Object(r.mix)(n,e.attrs),i.attrs=n,i.initAttrs(n),i.initAnimate(),i}return Object(N.__extends)(e,t),e.prototype.getDefaultCfg=function(){return{visible:!0,capture:!0,zIndex:0}},e.prototype.getDefaultAttrs=function(){return{matrix:this.getDefaultMatrix(),opacity:1}},e.prototype.onCanvasChange=function(t){},e.prototype.initAttrs=function(t){},e.prototype.initAnimate=function(){this.set("animable",!0),this.set("animating",!1)},e.prototype.isGroup=function(){return!1},e.prototype.getParent=function(){return this.get("parent")},e.prototype.getCanvas=function(){return this.get("canvas")},e.prototype.attr=function(){for(var t,e=[],i=0;i0?n=dt(n,x):i.addAnimator(this),n.push(x),this.set("animations",n),this.set("_pause",{isPaused:!1})},e.prototype.stopAnimate=function(t){var e=this;void 0===t&&(t=!0);var i=this.get("animations");Object(r.each)(i,(function(i){t&&(i.onFrame?e.attr(i.onFrame(1)):e.attr(i.toAttrs)),i.callback&&i.callback()})),this.set("animating",!1),this.set("animations",[])},e.prototype.pauseAnimate=function(){var t=this.get("timeline"),e=this.get("animations"),i=t.getTime();return Object(r.each)(e,(function(t){t._paused=!0,t._pauseTime=i,t.pauseCallback&&t.pauseCallback()})),this.set("_pause",{isPaused:!0,pauseTime:i}),this},e.prototype.resumeAnimate=function(){var t=this.get("timeline").getTime(),e=this.get("animations"),i=this.get("_pause").pauseTime;return Object(r.each)(e,(function(e){e.startTime=e.startTime+(t-i),e._paused=!1,e._pauseTime=null,e.resumeCallback&&e.resumeCallback()})),this.set("_pause",{isPaused:!1}),this.set("animations",e),this},e.prototype.emitDelegation=function(t,e){var i,n=this,o=e.propagationPath;this.getEvents();"mouseenter"===t?i=e.fromShape:"mouseleave"===t&&(i=e.toShape);for(var a=function(t){var a=o[t],l=a.get("name");if(l){if((a.isGroup()||a.isCanvas&&a.isCanvas())&&i&&nt(a,i))return"break";Object(r.isArray)(l)?Object(r.each)(l,(function(t){n.emitDelegateEvent(a,t,e)})):s.emitDelegateEvent(a,l,e)}},s=this,l=0;l0)}));return a.length>0?(Q()(a,(function(t){var e=t.getBBox();r.push(e.minX,e.maxX),o.push(e.minY,e.maxY)})),t=Math.min.apply(null,r),e=Math.max.apply(null,r),i=Math.min.apply(null,o),n=Math.max.apply(null,o)):(t=0,e=0,i=0,n=0),{x:t,y:i,minX:t,minY:i,maxX:e,maxY:n,width:e-t,height:n-i}},e.prototype.getCanvasBBox=function(){var t=1/0,e=-1/0,i=1/0,n=-1/0,r=[],o=[],a=this.getChildren().filter((function(t){return t.get("visible")&&(!t.isGroup()||t.isGroup()&&t.getChildren().length>0)}));return a.length>0?(Q()(a,(function(t){var e=t.getCanvasBBox();r.push(e.minX,e.maxX),o.push(e.minY,e.maxY)})),t=Math.min.apply(null,r),e=Math.max.apply(null,r),i=Math.min.apply(null,o),n=Math.max.apply(null,o)):(t=0,e=0,i=0,n=0),{x:t,y:i,minX:t,minY:i,maxX:e,maxY:n,width:e-t,height:n-i}},e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return e.children=[],e},e.prototype.onAttrChange=function(e,i,n){if(t.prototype.onAttrChange.call(this,e,i,n),"matrix"===e){var r=this.getTotalMatrix();this._applyChildrenMarix(r)}},e.prototype.applyMatrix=function(e){var i=this.getTotalMatrix();t.prototype.applyMatrix.call(this,e);var n=this.getTotalMatrix();n!==i&&this._applyChildrenMarix(n)},e.prototype._applyChildrenMarix=function(t){var e=this.getChildren();Q()(e,(function(e){e.applyMatrix(t)}))},e.prototype.addShape=function(){for(var t=[],e=0;e=0;o--){var a=t[o];if(rt(a)&&(a.isGroup()?r=a.getShape(e,i,n):a.isHit(e,i)&&(r=a)),r)break}return r},e.prototype.add=function(t){var e=this.getCanvas(),i=this.getChildren(),n=this.get("timeline"),r=t.getParent();r&&function(t,e,i){void 0===i&&(i=!0),i?e.destroy():(e.set("parent",null),e.set("canvas",null)),et(t.getChildren(),e)}(r,t,!1),t.set("parent",this),e&&function t(e,i){if(e.set("canvas",i),e.isGroup()){var n=e.get("children");n.length&&n.forEach((function(e){t(e,i)}))}}(t,e),n&&function t(e,i){if(e.set("timeline",i),e.isGroup()){var n=e.get("children");n.length&&n.forEach((function(e){t(e,i)}))}}(t,n),i.push(t),function(t){t.isGroup()?(t.isEntityGroup()||t.get("children").length)&&t.onCanvasChange("add"):t.onCanvasChange("add")}(t),this._applyElementMatrix(t)},e.prototype._applyElementMatrix=function(t){var e=this.getTotalMatrix();e&&t.applyMatrix(e)},e.prototype.getChildren=function(){return this.get("children")},e.prototype.sort=function(){var t,e=this.getChildren();Q()(e,(function(t,e){return t._INDEX=e,t})),e.sort((t=function(t,e){return t.get("zIndex")-e.get("zIndex")},function(e,i){var n=t(e,i);return 0===n?e._INDEX-i._INDEX:n})),this.onCanvasChange("sort")},e.prototype.clear=function(){if(this.set("clearing",!0),!this.destroyed){for(var t=this.getChildren(),e=t.length-1;e>=0;e--)t[e].destroy();this.set("children",[]),this.onCanvasChange("clear"),this.set("clearing",!1)}},e.prototype.destroy=function(){this.get("destroyed")||(this.clear(),t.prototype.destroy.call(this))},e.prototype.getFirst=function(){return this.getChildByIndex(0)},e.prototype.getLast=function(){var t=this.getChildren();return this.getChildByIndex(t.length-1)},e.prototype.getChildByIndex=function(t){return this.getChildren()[t]},e.prototype.getCount=function(){return this.getChildren().length},e.prototype.contain=function(t){return this.getChildren().indexOf(t)>-1},e.prototype.removeChild=function(t,e){void 0===e&&(e=!0),this.contain(t)&&t.remove(e)},e.prototype.findAll=function(t){var e=[],i=this.getChildren();return Q()(i,(function(i){t(i)&&e.push(i),i.isGroup()&&(e=e.concat(i.findAll(t)))})),e},e.prototype.find=function(t){var e=null,i=this.getChildren();return Q()(i,(function(i){if(t(i)?e=i:i.isGroup()&&(e=i.find(t)),e)return!1})),e},e.prototype.findById=function(t){return this.find((function(e){return e.get("id")===t}))},e.prototype.findByClassName=function(t){return this.find((function(e){return e.get("className")===t}))},e.prototype.findAllByName=function(t){return this.findAll((function(e){return e.get("name")===t}))},e}(gt);function mt(t){return(mt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var xt,bt,_t=0,Ot=0,wt=0,Mt=0,Ct=0,St=0,jt="object"===("undefined"==typeof performance?"undefined":mt(performance))&&performance.now?performance:Date,Pt="object"===("undefined"==typeof window?"undefined":mt(window))&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Tt(){return Ct||(Pt(At),Ct=jt.now()+St)}function At(){Ct=0}function Et(){this._call=this._time=this._next=null}function Lt(t,e,i){var n=new Et;return n.restart(t,e,i),n}function It(){Ct=(Mt=jt.now())+St,_t=Ot=0;try{!function(){Tt(),++_t;for(var t,e=xt;e;)(t=Ct-e._time)>=0&&e._call.call(null,t),e=e._next;--_t}()}finally{_t=0,function(){var t,e,i=xt,n=1/0;for(;i;)i._call?(n>i._time&&(n=i._time),t=i,i=i._next):(e=i._next,i._next=null,i=t?t._next=e:xt=e);bt=t,kt(n)}(),Ct=0}}function Dt(){var t=jt.now(),e=t-Mt;e>1e3&&(St-=e,Mt=t)}function kt(t){_t||(Ot&&(Ot=clearTimeout(Ot)),t-Ct>24?(t<1/0&&(Ot=setTimeout(It,t-jt.now()-St)),wt&&(wt=clearInterval(wt))):(wt||(Mt=jt.now(),wt=setInterval(Dt,1e3)),_t=1,Pt(It)))}Et.prototype=Lt.prototype={constructor:Et,restart:function(t,e,i){if("function"!=typeof t)throw new TypeError("callback is not a function");i=(null==i?Tt():+i)+(null==e?0:+e),this._next||bt===this||(bt?bt._next=this:xt=this,bt=this),this._call=t,this._time=i,kt()},stop:function(){this._call&&(this._call=null,this._time=1/0,kt())}};var Bt=i(79),Ft=function(t,e,i){t.prototype=e.prototype=i,i.constructor=t};function Rt(t,e){var i=Object.create(t.prototype);for(var n in e)i[n]=e[n];return i}function Nt(){}var Yt="\\s*([+-]?\\d+)\\s*",Gt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*",Xt="\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Vt=/^#([0-9a-f]{3,8})$/,zt=new RegExp("^rgb\\("+[Yt,Yt,Yt]+"\\)$"),Ht=new RegExp("^rgb\\("+[Xt,Xt,Xt]+"\\)$"),Wt=new RegExp("^rgba\\("+[Yt,Yt,Yt,Gt]+"\\)$"),qt=new RegExp("^rgba\\("+[Xt,Xt,Xt,Gt]+"\\)$"),Ut=new RegExp("^hsl\\("+[Gt,Xt,Xt]+"\\)$"),Kt=new RegExp("^hsla\\("+[Gt,Xt,Xt,Gt]+"\\)$"),Zt={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function $t(){return this.rgb().formatHex()}function Qt(){return this.rgb().formatRgb()}function Jt(t){var e,i;return t=(t+"").trim().toLowerCase(),(e=Vt.exec(t))?(i=e[1].length,e=parseInt(e[1],16),6===i?te(e):3===i?new re(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===i?ee(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===i?ee(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=zt.exec(t))?new re(e[1],e[2],e[3],1):(e=Ht.exec(t))?new re(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=Wt.exec(t))?ee(e[1],e[2],e[3],e[4]):(e=qt.exec(t))?ee(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=Ut.exec(t))?le(e[1],e[2]/100,e[3]/100,1):(e=Kt.exec(t))?le(e[1],e[2]/100,e[3]/100,e[4]):Zt.hasOwnProperty(t)?te(Zt[t]):"transparent"===t?new re(NaN,NaN,NaN,0):null}function te(t){return new re(t>>16&255,t>>8&255,255&t,1)}function ee(t,e,i,n){return n<=0&&(t=e=i=NaN),new re(t,e,i,n)}function ie(t){return t instanceof Nt||(t=Jt(t)),t?new re((t=t.rgb()).r,t.g,t.b,t.opacity):new re}function ne(t,e,i,n){return 1===arguments.length?ie(t):new re(t,e,i,null==n?1:n)}function re(t,e,i,n){this.r=+t,this.g=+e,this.b=+i,this.opacity=+n}function oe(){return"#"+se(this.r)+se(this.g)+se(this.b)}function ae(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"rgb(":"rgba(")+Math.max(0,Math.min(255,Math.round(this.r)||0))+", "+Math.max(0,Math.min(255,Math.round(this.g)||0))+", "+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===t?")":", "+t+")")}function se(t){return((t=Math.max(0,Math.min(255,Math.round(t)||0)))<16?"0":"")+t.toString(16)}function le(t,e,i,n){return n<=0?t=e=i=NaN:i<=0||i>=1?t=e=NaN:e<=0&&(t=NaN),new ce(t,e,i,n)}function ue(t){if(t instanceof ce)return new ce(t.h,t.s,t.l,t.opacity);if(t instanceof Nt||(t=Jt(t)),!t)return new ce;if(t instanceof ce)return t;var e=(t=t.rgb()).r/255,i=t.g/255,n=t.b/255,r=Math.min(e,i,n),o=Math.max(e,i,n),a=NaN,s=o-r,l=(o+r)/2;return s?(a=e===o?(i-n)/s+6*(i0&&l<1?0:a,new ce(a,s,l,t.opacity)}function ce(t,e,i,n){this.h=+t,this.s=+e,this.l=+i,this.opacity=+n}function he(t,e,i){return 255*(t<60?e+(i-e)*t/60:t<180?i:t<240?e+(i-e)*(240-t)/60:e)}function pe(t,e,i,n,r){var o=t*t,a=o*t;return((1-3*t+3*o-a)*e+(4-6*o+3*a)*i+(1+3*t+3*o-3*a)*n+a*r)/6}Ft(Nt,Jt,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:$t,formatHex:$t,formatHsl:function(){return ue(this).formatHsl()},formatRgb:Qt,toString:Qt}),Ft(re,ne,Rt(Nt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new re(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new re(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:oe,formatHex:oe,formatRgb:ae,toString:ae})),Ft(ce,(function(t,e,i,n){return 1===arguments.length?ue(t):new ce(t,e,i,null==n?1:n)}),Rt(Nt,{brighter:function(t){return t=null==t?1/.7:Math.pow(1/.7,t),new ce(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?.7:Math.pow(.7,t),new ce(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,i=this.l,n=i+(i<.5?i:1-i)*e,r=2*i-n;return new re(he(t>=240?t-240:t+120,r,n),he(t,r,n),he(t<120?t+240:t-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=this.opacity;return(1===(t=isNaN(t)?1:Math.max(0,Math.min(1,t)))?"hsl(":"hsla(")+(this.h||0)+", "+100*(this.s||0)+"%, "+100*(this.l||0)+"%"+(1===t?")":", "+t+")")}}));var fe=function(t){return function(){return t}};function de(t,e){return function(i){return t+i*e}}function ge(t){return 1==(t=+t)?ye:function(e,i){return i-e?function(t,e,i){return t=Math.pow(t,i),e=Math.pow(e,i)-t,i=1/i,function(n){return Math.pow(t+n*e,i)}}(e,i,t):fe(isNaN(e)?i:e)}}function ye(t,e){var i=e-t;return i?de(t,i):fe(isNaN(t)?e:t)}var ve=function t(e){var i=ge(e);function n(t,e){var n=i((t=ne(t)).r,(e=ne(e)).r),r=i(t.g,e.g),o=i(t.b,e.b),a=ye(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=r(e),t.b=o(e),t.opacity=a(e),t+""}}return n.gamma=t,n}(1);function me(t){return function(e){var i,n,r=e.length,o=new Array(r),a=new Array(r),s=new Array(r);for(i=0;i=1?(i=1,e-1):Math.floor(i*e),r=t[n],o=t[n+1],a=n>0?t[n-1]:2*r-o,s=no&&(r=e.slice(o,r),s[a]?s[a]+=r:s[++a]=r),(i=i[0])===(n=n[0])?s[a]?s[a]+=n:s[++a]=n:(s[++a]=null,l.push({i:a,x:we(i,n)})),o=je.lastIndex;return od.length?(f=l(a[p]),d=l(o[p]),d=D(d,f),d=F(d,f),e.fromAttrs.path=d,e.toAttrs.path=f):e.pathFormatted||(f=l(a[p]),d=l(o[p]),d=F(d,f),e.fromAttrs.path=d,e.toAttrs.path=f,e.pathFormatted=!0),n[p]=[];for(var g=0;g0){for(var o=n.animators.length-1;o>=0;o--)if((t=n.animators[o]).destroyed)n.removeAnimator(o);else{if(!t.isAnimatePaused())for(var a=(e=t.get("animations")).length-1;a>=0;a--)i=e[a],Le(t,i,r)&&(e.splice(a,1),!1,i.callback&&i.callback());0===e.length&&n.removeAnimator(o)}n.canvas.get("autoDraw")||n.canvas.draw()}}))},t.prototype.addAnimator=function(t){this.animators.push(t)},t.prototype.removeAnimator=function(t){this.animators.splice(t,1)},t.prototype.isAnimating=function(){return!!this.animators.length},t.prototype.stop=function(){this.timer&&this.timer.stop()},t.prototype.stopAllAnimations=function(t){void 0===t&&(t=!0),this.animators.forEach((function(e){e.stopAnimate(t)})),this.animators=[],this.canvas.draw()},t.prototype.getTime=function(){return this.current},t}(),De=["mousedown","mouseup","dblclick","mouseout","mouseover","mousemove","mouseleave","mouseenter","touchstart","touchmove","touchend","dragenter","dragover","dragleave","drop","contextmenu","mousewheel"];function ke(t,e,i){i.name=e,i.target=t,i.currentTarget=t,i.delegateTarget=t,t.emit(e,i)}function Be(t,e,i){if(i.bubbles){var n=void 0,r=!1;if("mouseenter"===e?(n=i.fromShape,r=!0):"mouseleave"===e&&(r=!0,n=i.toShape),t.isCanvas()&&r)return;if(n&&nt(t,n))return void(i.bubbles=!1);i.name=e,i.currentTarget=t,i.delegateTarget=t,t.emit(e,i)}}var Fe=function(){function t(t){var e=this;this.draggingShape=null,this.dragging=!1,this.currentShape=null,this.mousedownShape=null,this.mousedownPoint=null,this._eventCallback=function(t){var i=t.type;e._triggerEvent(i,t)},this._onDocumentMove=function(t){if(e.canvas.get("el")!==t.target&&(e.dragging||e.currentShape)){var i=e._getPointInfo(t);e.dragging&&e._emitEvent("drag",t,i,e.draggingShape)}},this._onDocumentMouseUp=function(t){if(e.canvas.get("el")!==t.target&&e.dragging){var i=e._getPointInfo(t);e.draggingShape&&e._emitEvent("drop",t,i,null),e._emitEvent("dragend",t,i,e.draggingShape),e._afterDrag(e.draggingShape,i,t)}},this.canvas=t.canvas}return t.prototype.init=function(){this._bindEvents()},t.prototype._bindEvents=function(){var t=this,e=this.canvas.get("el");Q()(De,(function(i){e.addEventListener(i,t._eventCallback)})),document&&(document.addEventListener("mousemove",this._onDocumentMove),document.addEventListener("mouseup",this._onDocumentMouseUp))},t.prototype._clearEvents=function(){var t=this,e=this.canvas.get("el");Q()(De,(function(i){e.removeEventListener(i,t._eventCallback)})),document&&(document.removeEventListener("mousemove",this._onDocumentMove),document.removeEventListener("mouseup",this._onDocumentMouseUp))},t.prototype._getEventObj=function(t,e,i,n,r,o){var a=new R(t,e);return a.fromShape=r,a.toShape=o,a.x=i.x,a.y=i.y,a.clientX=i.clientX,a.clientY=i.clientY,a.propagationPath.push(n),a},t.prototype._getShape=function(t,e){return this.canvas.getShape(t.x,t.y,e)},t.prototype._getPointInfo=function(t){var e=this.canvas,i=e.getClientByEvent(t),n=e.getPointByEvent(t);return{x:n.x,y:n.y,clientX:i.x,clientY:i.y}},t.prototype._triggerEvent=function(t,e){var i=this._getPointInfo(e),n=this._getShape(i,e),r=this["_on"+t],o=!1;if(r)r.call(this,i,n,e);else{var a=this.currentShape;"mouseenter"===t||"dragenter"===t||"mouseover"===t?(this._emitEvent(t,e,i,null,null,n),n&&this._emitEvent(t,e,i,n,null,n),"mouseenter"===t&&this.draggingShape&&this._emitEvent("dragenter",e,i,null)):"mouseleave"===t||"dragleave"===t||"mouseout"===t?(o=!0,a&&this._emitEvent(t,e,i,a,a,null),this._emitEvent(t,e,i,null,a,null),"mouseleave"===t&&this.draggingShape&&this._emitEvent("dragleave",e,i,null)):this._emitEvent(t,e,i,n,null,null)}if(o||(this.currentShape=n),n&&!n.get("destroyed")){var s=this.canvas;s.get("el").style.cursor=n.attr("cursor")||s.get("cursor")}},t.prototype._onmousedown=function(t,e,i){0===i.button&&(this.mousedownShape=e,this.mousedownPoint=t,this.mousedownTimeStamp=i.timeStamp),this._emitEvent("mousedown",i,t,e,null,null)},t.prototype._emitMouseoverEvents=function(t,e,i,n){var r=this.canvas.get("el");i!==n&&(i&&(this._emitEvent("mouseout",t,e,i,i,n),this._emitEvent("mouseleave",t,e,i,i,n),n&&!n.get("destroyed")||(r.style.cursor=this.canvas.get("cursor"))),n&&(this._emitEvent("mouseover",t,e,n,i,n),this._emitEvent("mouseenter",t,e,n,i,n)))},t.prototype._emitDragoverEvents=function(t,e,i,n,r){n?(n!==i&&(i&&this._emitEvent("dragleave",t,e,i,i,n),this._emitEvent("dragenter",t,e,n,i,n)),r||this._emitEvent("dragover",t,e,n)):i&&this._emitEvent("dragleave",t,e,i,i,n),r&&this._emitEvent("dragover",t,e,n)},t.prototype._afterDrag=function(t,e,i){t&&(t.set("capture",!0),this.draggingShape=null),this.dragging=!1;var n=this._getShape(e,i);n!==t&&this._emitMouseoverEvents(i,e,t,n),this.currentShape=n},t.prototype._onmouseup=function(t,e,i){if(0===i.button){var n=this.draggingShape;this.dragging?(n&&this._emitEvent("drop",i,t,e),this._emitEvent("dragend",i,t,n),this._afterDrag(n,t,i)):(this._emitEvent("mouseup",i,t,e),e===this.mousedownShape&&this._emitEvent("click",i,t,e),this.mousedownShape=null,this.mousedownPoint=null)}},t.prototype._ondragover=function(t,e,i){i.preventDefault();var n=this.currentShape;this._emitDragoverEvents(i,t,n,e,!0)},t.prototype._onmousemove=function(t,e,i){var n=this.canvas,r=this.currentShape,o=this.draggingShape;if(this.dragging)o&&this._emitDragoverEvents(i,t,r,e,!1),this._emitEvent("drag",i,t,o);else{var a=this.mousedownPoint;if(a){var s=this.mousedownShape,l=i.timeStamp-this.mousedownTimeStamp,u=a.clientX-t.clientX,c=a.clientY-t.clientY;l>120||u*u+c*c>40?s&&s.get("draggable")?((o=this.mousedownShape).set("capture",!1),this.draggingShape=o,this.dragging=!0,this._emitEvent("dragstart",i,t,o),this.mousedownShape=null,this.mousedownPoint=null):!s&&n.get("draggable")?(this.dragging=!0,this._emitEvent("dragstart",i,t,null),this.mousedownShape=null,this.mousedownPoint=null):(this._emitMouseoverEvents(i,t,r,e),this._emitEvent("mousemove",i,t,e)):(this._emitMouseoverEvents(i,t,r,e),this._emitEvent("mousemove",i,t,e))}else this._emitMouseoverEvents(i,t,r,e),this._emitEvent("mousemove",i,t,e)}},t.prototype._emitEvent=function(t,e,i,n,r,o){var a=this._getEventObj(t,e,i,n,r,o);if(n){a.shape=n,ke(n,t,a);for(var s=n.getParent();s;)s.emitDelegation(t,a),a.propagationStopped||Be(s,t,a),a.propagationPath.push(s),s=s.getParent()}else{ke(this.canvas,t,a)}},t.prototype.destroy=function(){this._clearEvents(),this.canvas=null,this.currentShape=null,this.draggingShape=null,this.mousedownPoint=null,this.mousedownShape=null,this.mousedownTimeStamp=null},t}(),Re=Object(at.detect)(),Ne=Re&&"firefox"===Re.name,Ye=function(t){function e(e){var i=t.call(this,e)||this;return i.initContainer(),i.initDom(),i.initEvents(),i.initTimeline(),i}return Object(N.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return e.cursor="default",e.supportCSSTransform=!1,e},e.prototype.initContainer=function(){var t=this.get("container");W()(t)&&(t=document.getElementById(t),this.set("container",t))},e.prototype.initDom=function(){var t=this.createDom();this.set("el",t),this.get("container").appendChild(t),this.setDOMSize(this.get("width"),this.get("height"))},e.prototype.initEvents=function(){var t=new Fe({canvas:this});t.init(),this.set("eventController",t)},e.prototype.initTimeline=function(){var t=new Ie(this);this.set("timeline",t)},e.prototype.setDOMSize=function(t,e){var i=this.get("el");it&&(i.style.width=t+"px",i.style.height=e+"px")},e.prototype.changeSize=function(t,e){this.setDOMSize(t,e),this.set("width",t),this.set("height",e),this.onCanvasChange("changeSize")},e.prototype.getRenderer=function(){return this.get("renderer")},e.prototype.getCursor=function(){return this.get("cursor")},e.prototype.setCursor=function(t){this.set("cursor",t);var e=this.get("el");it&&e&&(e.style.cursor=t)},e.prototype.getPointByEvent=function(t){if(this.get("supportCSSTransform")){if(Ne&&!X()(t.layerX)&&t.layerX!==t.offsetX)return{x:t.layerX,y:t.layerY};if(!X()(t.offsetX))return{x:t.offsetX,y:t.offsetY}}var e=this.getClientByEvent(t),i=e.x,n=e.y;return this.getPointByClient(i,n)},e.prototype.getClientByEvent=function(t){var e=t;return t.touches&&(e="touchend"===t.type?t.changedTouches[0]:t.touches[0]),{x:e.clientX,y:e.clientY}},e.prototype.getPointByClient=function(t,e){var i=this.get("el").getBoundingClientRect();return{x:t-i.left,y:e-i.top}},e.prototype.getClientByPoint=function(t,e){var i=this.get("el").getBoundingClientRect();return{x:t+i.left,y:e+i.top}},e.prototype.draw=function(){},e.prototype.removeDom=function(){var t=this.get("el");t.parentNode.removeChild(t)},e.prototype.clearEvents=function(){this.get("eventController").destroy()},e.prototype.isCanvas=function(){return!0},e.prototype.getParent=function(){return null},e.prototype.destroy=function(){var e=this.get("timeline");this.get("destroyed")||(this.clear(),e&&e.stop(),this.clearEvents(),this.removeDom(),t.prototype.destroy.call(this))},e}(vt),Ge=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(N.__extends)(e,t),e.prototype.isGroup=function(){return!0},e.prototype.isEntityGroup=function(){return!1},e.prototype.clone=function(){for(var e=t.prototype.clone.call(this),i=this.getChildren(),n=0;n=t&&i.minY<=e&&i.maxY>=e},e.prototype.afterAttrsChange=function(e){t.prototype.afterAttrsChange.call(this,e),this.clearCacheBBox()},e.prototype.getBBox=function(){var t=this.get("bbox");return t||(t=this.calculateBBox(),this.set("bbox",t)),t},e.prototype.getCanvasBBox=function(){var t=this.get("canvasBox");return t||(t=this.calculateCanvasBBox(),this.set("canvasBox",t)),t},e.prototype.applyMatrix=function(e){t.prototype.applyMatrix.call(this,e),this.set("canvasBox",null)},e.prototype.calculateCanvasBBox=function(){var t=this.getBBox(),e=this.getTotalMatrix(),i=t.minX,n=t.minY,r=t.maxX,o=t.maxY;if(e){var a=ut(e,[t.minX,t.minY]),s=ut(e,[t.maxX,t.minY]),l=ut(e,[t.minX,t.maxY]),u=ut(e,[t.maxX,t.maxY]);i=Math.min(a[0],s[0],l[0],u[0]),r=Math.max(a[0],s[0],l[0],u[0]),n=Math.min(a[1],s[1],l[1],u[1]),o=Math.max(a[1],s[1],l[1],u[1])}var c=this.attrs;if(c.shadowColor){var h=c.shadowBlur,p=void 0===h?0:h,f=c.shadowOffsetX,d=void 0===f?0:f,g=c.shadowOffsetY,y=void 0===g?0:g,v=i-p+d,m=r+p+d,x=n-p+y,b=o+p+y;i=Math.min(i,v),r=Math.max(r,m),n=Math.min(n,x),o=Math.max(o,b)}return{x:i,y:n,minX:i,minY:n,maxX:r,maxY:o,width:r-i,height:o-n}},e.prototype.clearCacheBBox=function(){this.set("bbox",null),this.set("canvasBox",null)},e.prototype.isClipShape=function(){return this.get("isClipShape")},e.prototype.isInShape=function(t,e){return!1},e.prototype.isOnlyHitBox=function(){return!1},e.prototype.isHit=function(t,e){var i=this.get("startArrowShape"),n=this.get("endArrowShape"),r=[t,e,1],o=(r=this.invertFromMatrix(r))[0],a=r[1],s=this._isInBBox(o,a);if(this.isOnlyHitBox())return s;if(s&&!this.isClipped(o,a)){if(this.isInShape(o,a))return!0;if(i&&i.isHit(o,a))return!0;if(n&&n.isHit(o,a))return!0}return!1},e}(gt),Ve=i(194).version},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(143);Object.defineProperty(e,"getGlobalTheme",{enumerable:!0,get:function(){return n.getGlobalTheme}}),Object.defineProperty(e,"registerGlobalTheme",{enumerable:!0,get:function(){return n.registerGlobalTheme}});var r=i(145);Object.defineProperty(e,"getTheme",{enumerable:!0,get:function(){return r.getTheme}}),Object.defineProperty(e,"registerTheme",{enumerable:!0,get:function(){return r.registerTheme}});var o=i(257);Object.defineProperty(e,"convertToG2Theme",{enumerable:!0,get:function(){return o.convertToG2Theme}})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.LAYER_EVENT_MAP=e.CANVAS_EVENT_MAP=e.EVENT_MAP=e.getMobileEventMap=e.getRegionEventMap=e.getEventMap=void 0;var n=i(0),r=["click","dblclick","mousemove","mouseenter","mouseleave","mousedown","mouseup","contextmenu"],o=[],a=n.deepMix(u({title:"title",description:"description",breadcrumb:"breadcrumb"}),c("Plot",r));e.CANVAS_EVENT_MAP=a;var s=c("Layer",r);e.LAYER_EVENT_MAP=s;var l=n.deepMix({},u({axis:"axis-label",label:"label",legend:"legend-item"}),c("View",r),h());function u(t){var e={};return n.each(t,(function(t,i){var o="on"+n.upperFirst(i),a=t+":";n.each(r,(function(t){var i=n.upperFirst(t),r=""+a+t;e[""+o+i]=r}))})),e}function c(t,e){var i={};return n.each(e,(function(e){var r=n.upperFirst(e);i["on"+t+r]=e})),i}function h(){var t={};return n.each(o,(function(e){var i=n.upperFirst(e);t["on"+i]=e})),t}e.EVENT_MAP=l,e.onEvent=function(t,e,i){t.view.on(e,(function(e){var n={x:null==e?void 0:e.x,y:null==e?void 0:e.y,clientX:null==e?void 0:e.clientX,clientY:null==e?void 0:e.clientY,target:null==e?void 0:e.target,data:(null==e?void 0:e.data)?e.data.data:null,plot:t,canvas:t.canvas,gEvent:null==e?void 0:e.gEvent};i(n)}))},e.getEventMap=u,e.getRegionEventMap=c,e.getMobileEventMap=h},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(134),o=i(43);Object.defineProperty(e,"DIRECTION",{enumerable:!0,get:function(){return o.DIRECTION}});var a=i(132);Object.defineProperty(e,"Padding",{enumerable:!0,get:function(){return a.Padding}}),Object.defineProperty(e,"Point",{enumerable:!0,get:function(){return a.Point}}),Object.defineProperty(e,"Region",{enumerable:!0,get:function(){return a.Region}});var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.fromBBoxObject=function(t){return new e(t.x,t.y,t.width,t.height)},e}(r.BBox);e.default=s},function(t,e,i){"use strict";i.d(e,"a",(function(){return p})),i.d(e,"b",(function(){return f})),i.d(e,"c",(function(){return d})),i.d(e,"f",(function(){return g})),i.d(e,"d",(function(){return y})),i.d(e,"e",(function(){return v}));var n=i(0),r=i(73),o=i(5);function a(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function s(t,e){return a(t)*a(e)?(t[0]*e[0]+t[1]*e[1])/(a(t)*a(e)):1}function l(t,e){return(t[0]*e[1]1&&(i*=Math.sqrt(y),n*=Math.sqrt(y));var v=i*i*(g*g)+n*n*(d*d),m=v?Math.sqrt((i*i*(n*n)-v)/v):1;a===u&&(m*=-1),isNaN(m)&&(m=0);var x=n?m*i*g/n:0,b=i?m*-n*d/i:0,_=(c+p)/2+Math.cos(r)*x-Math.sin(r)*b,O=(h+f)/2+Math.sin(r)*x+Math.cos(r)*b,w=[(d-x)/i,(g-b)/n],M=[(-1*d-x)/i,(-1*g-b)/n],C=l([1,0],w),S=l(w,M);return s(w,M)<=-1&&(S=Math.PI),s(w,M)>=1&&(S=0),0===u&&S>0&&(S-=2*Math.PI),1===u&&S<0&&(S+=2*Math.PI),{cx:_,cy:O,rx:Object(o.j)(t,[p,f])?0:i,ry:Object(o.j)(t,[p,f])?0:n,startAngle:C,endAngle:C+S,xRotation:r,arcFlag:a,sweepFlag:u}}var c=i(19),h={fill:"fillStyle",stroke:"strokeStyle",opacity:"globalAlpha"};function p(t,e){var i=e.attr();for(var o in i){var a=i[o],s=h[o]?h[o]:o;"matrix"===s&&a?t.transform(a[0],a[1],a[3],a[4],a[6],a[7]):"lineDash"===s&&t.setLineDash?Object(n.isArray)(a)&&t.setLineDash(a):("strokeStyle"===s||"fillStyle"===s?a=Object(r.b)(t,e,a):"globalAlpha"===s&&(a*=t.globalAlpha),t[s]=a)}}function f(t,e,i){for(var n=0;nO?_:O,P=_>O?1:_/O,T=_>O?O/_:1;e.translate(x,b),e.rotate(C),e.scale(P,T),e.arc(0,0,j,w,M,1-S),e.scale(1/P,1/T),e.rotate(-C),e.translate(-x,-b)}break;case"Z":e.closePath()}if("Z"===d)s=l;else{var A=f.length;s=[f[A-2],f[A-1]]}}}function g(t,e){var i=t.get("canvas");i&&("remove"===e&&(t._cacheCanvasBBox=t.get("cacheCanvasBBox")),t.get("hasChanged")||(i.refreshElement(t,e,i),i.get("autoDraw")&&i.draw(),t.set("hasChanged",!0)))}function y(t){if(!t.length)return null;var e=[],i=[],r=[],a=[];return Object(n.each)(t,(function(t){var n=function(t){var e;if(t.destroyed)e=t._cacheCanvasBBox;else{var i=t.get("cacheCanvasBBox"),n=i&&!(!i.width||!i.height),r=t.getCanvasBBox(),a=r&&!(!r.width||!r.height);n&&a?e=Object(o.l)(i,r):n?e=i:a&&(e=r)}return e}(t);n&&(e.push(n.minX),i.push(n.minY),r.push(n.maxX),a.push(n.maxY))})),{minX:Math.min.apply(null,e),minY:Math.min.apply(null,i),maxX:Math.max.apply(null,r),maxY:Math.max.apply(null,a)}}function v(t,e){return t&&e&&Object(o.f)(t,e)?{minX:Math.max(t.minX,e.minX),minY:Math.max(t.minY,e.minY),maxX:Math.min(t.maxX,e.maxX),maxY:Math.min(t.maxY,e.maxY)}:null}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(8),a=n.__importDefault(i(137)),s=i(20),l=i(26),u=n.__importDefault(i(247)),c=i(12),h=n.__importDefault(i(255)),p=n.__importDefault(i(64)),f=n.__importDefault(i(89)),d=n.__importDefault(i(53)),g=i(38),y=n.__importStar(i(13)),v=i(141),m=function(t){function e(e){var i=t.call(this,e)||this;return i.interactions=[],i.labels=[],i.options=i.getOptions(e),i.initialOptions=r.deepMix({},i.options),i.paddingController=new h.default({plot:i}),i.stateController=new p.default({plot:i}),i.themeController=new f.default,i}return n.__extends(e,t),e.getDefaultOptions=function(){return{renderer:"canvas",title:{visible:!1,alignTo:"left",text:""},description:{visible:!1,text:"",alignTo:"left"},padding:"auto",legend:{visible:!0,position:"bottom-center"},tooltip:{visible:!0,shared:!0,showCrosshairs:!0,crosshairs:{type:"x"},offset:20},xAxis:{visible:!0,grid:{visible:!1},line:{visible:!0},tickLine:{visible:!0},label:{visible:!0,autoRotate:!0,autoHide:!0},title:{visible:!1,spacing:12}},yAxis:{visible:!0,grid:{visible:!0},line:{visible:!1},tickLine:{visible:!1},label:{visible:!0,autoHide:!0,autoRotate:!1},title:{autoRotate:!0,visible:!1,spacing:12}},label:{visible:!1},interactions:[{type:"tooltip"},{type:"legend-active"},{type:"legend-filter"}],animation:!0}},e.prototype.getOptions=function(e){var i=this.options||{},o=t.prototype.getOptions.call(this,e),a=this.constructor.getDefaultOptions(e),s=r.reduce(r.flatten(r.map([o,a,r.hasKey(e,"interactions")?e:i],(function(t){return r.get(t,"interactions",[])}))),(function(t,e){var i=r.findIndex(t,(function(t){return t.type===e.type}));return i>=0&&t.splice(i,1),n.__spreadArrays(t,[e])}),[]);return r.deepMix({},o,a,i,e,{interactions:s})},e.prototype.beforeInit=function(){this.emit(v.VIEW_LAYER_LIFE_CYCLE.BEFORE_INIT),t.prototype.beforeInit.call(this)},e.prototype.init=function(){var e=this;t.prototype.init.call(this),this.theme=this.themeController.getTheme(this.options,this.type),this.config={data:this.processData(this.options.data),scales:{},legends:{},tooltip:{showTitle:!0},axes:{},coordinate:{type:"cartesian"},geometries:[],annotations:[],interactions:[],theme:this.theme,panelRange:{},animate:{},views:[]},this.paddingController.clear(),this.drawTitle(),this.drawDescription(),this.interaction(),this.coord(),this.scale(),this.axis(),this.tooltip(),this.legend(),this.addGeometry(),this.annotation(),this.animation(),this.viewRange=this.getViewRange();var i=this.viewRangeToRegion(this.viewRange);this.view=new o.View({parent:null,canvas:this.canvas,backgroundGroup:this.container.addGroup(),middleGroup:this.container.addGroup(),foregroundGroup:this.container.addGroup(),padding:this.paddingController.getPadding(),theme:this.theme,options:this.config,limitInPlot:this.isLimitInPlot(),region:i}),this.applyInteractions(),this.view.on(o.VIEW_LIFE_CIRCLE.AFTER_RENDER,(function(){e.afterRender()}))},e.prototype.afterInit=function(){t.prototype.afterInit.call(this),this.view&&!this.view.destroyed&&("auto"!==this.options.padding&&this.parseEvents(),this.emit(v.VIEW_LAYER_LIFE_CYCLE.AFTER_INIT))},e.prototype.afterRender=function(){var t,e;if(this.view&&!this.view.destroyed){var i=this.options,n=i.padding?i.padding:this.config.theme.padding;i.defaultState&&"auto"!==n&&this.stateController.defaultStates(i.defaultState),"auto"===n&&this.paddingController.processAutoPadding(),(null===(e=null===(t=i.tooltip)||void 0===t?void 0:t.custom)||void 0===e?void 0:e.onChange)&&"auto"!==i.padding&&this.customTooltip()}},e.prototype.render=function(){this.emit(v.VIEW_LAYER_LIFE_CYCLE.BEFORE_RENDER),t.prototype.render.call(this);var e=this.options.data;r.isEmpty(e)||this.view.render(),this.emit(v.VIEW_LAYER_LIFE_CYCLE.AFTER_RENDER)},e.prototype.repaint=function(){this.canvas&&this.canvas.draw()},e.prototype.getScaleByField=function(t){return this.view.getScaleByField(t)},e.prototype.getXScale=function(){var t=this.options.xField;if(t)return this.view.getScaleByField(t)},e.prototype.getYScale=function(){var t=this.options.yField;if(t)return this.view.getScaleByField(t)},e.prototype.getColorScale=function(){var t=this.options;if(r.contains(t,"colorField"))return this.view.getScaleByField(t)},e.prototype.getShapes=function(){var t=this.view.geometries,e={};return r.each(t,(function(t){var i=t.type;e[i]=t.getShapes()})),e},e.prototype.destroy=function(){this.doDestroy(),t.prototype.destroy.call(this)},e.prototype.updateConfig=function(t){this.doDestroy(),!t.padding&&this.initialOptions.padding&&"auto"===this.initialOptions.padding&&(t.padding="auto"),this.options=this.getOptions(t),this.processOptions(this.options)},e.prototype.changeData=function(t){this.emit(v.VIEW_LAYER_LIFE_CYCLE.BEFORE_CHANGE_DATA);var e=r.isEmpty(this.options.data);this.options.data=this.processData(t),e?(this.options.padding=this.initialOptions.padding||"auto",this.view.data(this.options.data),this.view.render()):this.view.changeData(this.options.data),this.emit(v.VIEW_LAYER_LIFE_CYCLE.AFTER_CHANGE_DATA)},e.prototype.getPlot=function(){return this.view},e.prototype.getLabels=function(){return this.labels},e.prototype.getTheme=function(){return this.theme?this.theme:this.themeController.getTheme(this.options,this.type)},e.prototype.getResponsiveTheme=function(){return this.themeController.getResponsiveTheme(this.type)},e.prototype.getPlotTheme=function(){return this.themeController.getPlotTheme(this.options,this.type)},e.prototype.getInteractions=function(){return this.interactions},e.prototype.bindStateManager=function(t,e){this.stateController.bindStateManager(t,e)},e.prototype.setActive=function(t,e){this.stateController.setState({type:"active",condition:t,style:e})},e.prototype.setSelected=function(t,e){this.stateController.setState({type:"selected",condition:t,style:e})},e.prototype.setDisable=function(t,e){this.stateController.setState({type:"disable",condition:t,style:e})},e.prototype.setDefault=function(t,e){this.stateController.setState({type:"default",condition:t,style:e})},e.prototype.getData=function(t,e){return this.processData((this.options.data||[]).slice(t,e))},e.prototype.processData=function(t){return t},e.prototype.scale=function(){var t=r.mapValues(this.config.scales,(function(t){var e=t.type;return e?{type:e}:{}})),e=r.deepMix({},this.config.scales,this.options.meta||{},t);this.setConfig("scales",e)},e.prototype.axis=function(){var t=l.getComponent("axis",{plot:this,dim:"x"}),e=l.getComponent("axis",{plot:this,dim:"y"}),i={};i[this.options.xField]=t,i[this.options.yField]=e,this.setConfig("axes",i)},e.prototype.tooltip=function(){var t,e;if(!1!==this.options.tooltip.visible){var i=r.get(this.options,"tooltip");(null===(t=i.custom)||void 0===t?void 0:t.container)&&(i.container=i.custom.container),(null===(e=i.custom)||void 0===e?void 0:e.customContent)&&(i.customContent=i.custom.customContent),this.setConfig("tooltip",r.deepMix({},i)),r.deepMix(this.config.theme.tooltip,this.options.tooltip.domStyles)}else this.setConfig("tooltip",!1)},e.prototype.createTooltipContainer=function(){var t=document.createElement("div");return t.className="g2-tooltip",t},e.prototype.customTooltip=function(){var t,e=this.options.tooltip.custom;e.container&&(t=r.isString(e.container)?document.getElementById(e.container):e.container),t||(t=this.createTooltipContainer()),this.view.on("tooltip:show",(function(i){(null==e?void 0:e.onChange)&&e.onChange(t,i)})),this.view.hideTooltip(),this.view.on("tooltip:change",(function(i){e.onChange(t,i)}))},e.prototype.getLegendPosition=function(t){var e=t.split("-");return e&&e.length>1&&"center"===e[1]?e[0]:t},e.prototype.legend=function(){var t;if(!1!==this.options.legend.visible){var e=r.deepMix({},this.theme.legend,this.options.legend),i={position:this.getLegendPosition(r.get(e,"position")),offsetX:r.get(e,"offsetX"),offsetY:r.get(e,"offsetY"),flipPage:r.get(e,"flipPage"),marker:r.get(e,"marker"),title:(null===(t=e.title)||void 0===t?void 0:t.visible)?r.get(e,"title"):null,itemName:r.get(e,"text")};this.setConfig("legends",i)}else this.setConfig("legends",!1)},e.prototype.annotation=function(){var t=this,e=[];"cartesian"===this.config.coordinate.type&&this.options.guideLine&&r.each(this.options.guideLine,(function(i){var n=l.getComponent("guideLine",{plot:t,cfg:i});e.push(n)})),this.setConfig("annotations",e)},e.prototype.interaction=function(){var t=this,e=this.options.interactions,i=void 0===e?[]:e;r.each(i,(function(e){var i=e.type;if("slider"===i||"scrollbar"===i){t.options.xAxis=r.deepMix({},t.options.xAxis,{label:{autoHide:!0,autoRotate:!1}})}t.setConfig("interaction",e)}))},e.prototype.animation=function(){!1===this.options.animation&&this.setConfig("animate",!1)},e.prototype.applyInteractions=function(){var t=this,e=y.default.fromBBoxObject(this.layerBBox),i=this.title||this.description,n=new y.default(e.minX,e.minY,e.width,i?i.getBBox().maxY:0);e=e.cut(n,y.DIRECTION.TOP);var r=this.options.interactions,o=void 0===r?[]:r;this.interactions&&this.interactions.forEach((function(t){t.destroy()})),this.interactions=[],o.forEach((function(i){var n=u.default.getInteraction(i.type,t.type);if(n){var r=new n({view:t.view},t,n.getInteractionRange(e,i.cfg),i.cfg);r.render(),t.interactions.push(r)}}))},e.prototype.setConfig=function(t,e){"geometry"!==t?"interaction"!==t?!1!==e?r.assign(this.config[t],e):this.config[t]=!1:this.config.interactions.push(e):this.config.geometries.push(e)},e.prototype.parseEvents=function(e){var i=this,n=this.options;if(n.events){t.prototype.parseEvents.call(this,n.events);var o=e?e.EVENT_MAP:c.EVENT_MAP;r.each(n.events,(function(t,e){if(r.isFunction(t)){var n=o[e]||e,a=t;c.onEvent(i,n,a)}}))}},e.prototype.drawTitle=function(){var t=this.options,e=this.layerBBox;if(this.title&&(this.title.destroy(),this.title=null),g.isTextUsable(t.title)){var i=this.width,n=this.config.theme,o=new a.default({leftMargin:e.minX+n.title.padding[3],rightMargin:e.maxX-n.title.padding[1],topMargin:e.minY+n.title.padding[0],text:t.title.text,style:r.mix(n.title,t.title.style),wrapperWidth:i-n.title.padding[3]-n.title.padding[1],container:this.container.addGroup(),theme:n,index:g.isTextUsable(t.description)?0:1,plot:this,alignTo:t.title.alignTo,name:"title"});this.title=o,this.paddingController.registerPadding(o,"outer")}},e.prototype.drawDescription=function(){var t=this.options,e=this.layerBBox;if(this.description&&(this.description.destroy(),this.description=null),g.isTextUsable(t.description)){var i=this.width,n=this.config.theme,o=0;if(this.title){var s=this.title.getBBox();o+=s.minY+s.height,o+=n.description.padding[0]}else o+=e.minY+n.title.padding[0];var l=new a.default({leftMargin:e.minX+n.description.padding[3],topMargin:o,rightMargin:e.maxX-n.title.padding[1],text:t.description.text,style:r.mix(n.description,t.description.style),wrapperWidth:i-n.description.padding[3]-n.description.padding[1],container:this.container.addGroup(),theme:n,index:1,plot:this,alignTo:t.description.alignTo,name:"description"});this.description=l,this.paddingController.registerPadding(l,"outer")}},e.prototype.doRenderLabel=function(t,e){r.each(this.labels,(function(t){t.destroy()})),this.labels=[];var i={layer:this,container:t.labelsContainer,geometry:t,label:e},n=s.getLabelComponent(e.type);if(n){var o=new n(i);o.init(),o.render(),this.labels.push(o)}},e.prototype.doDestroy=function(){this.doDestroyInteractions(),this.doDestroyLabels(),this.view.destroyed||this.view.destroy()},e.prototype.doDestroyInteractions=function(){this.interactions&&this.interactions.forEach((function(t){t.destroy()})),this.interactions=[]},e.prototype.doDestroyLabels=function(){r.each(this.labels,(function(t){t.destroy()})),this.labels=[]},e.prototype.getViewRange=function(){var t=this,e=this.options.interactions,i=void 0===e?[]:e,n=this.paddingController.processOuterPadding();return i.forEach((function(e){var i=u.default.getInteraction(e.type,t.type),r=i&&i.getInteractionRange(n,e.cfg),o="";r&&(r.maxY===n.maxY&&r.minY>n.minY?o="bottom":r.maxX===n.maxX&&r.minX>n.minX?o="right":r.minX===n.minX&&r.maxX>n.maxX?o="left":r.minY===n.minY&&r.maxY=0;i--)t.removeChild(e[i])}function j(t){var e=t.start,i=t.end,n=Math.min(e.x,i.x),r=Math.min(e.y,i.y),o=Math.max(e.x,i.x),a=Math.max(e.y,i.y);return{x:n,y:r,minX:n,minY:r,maxX:o,maxY:a,width:o-n,height:a-r}}function P(t,e,i,n){return{x:t,y:e,width:i,height:n,minX:t,minY:e,maxX:t+i,maxY:e+n}}function T(t,e,i){return(1-i)*t+e*i}function A(t,e,i){return{x:t.x+Math.cos(i)*e,y:t.y+Math.sin(i)*e}}function E(t){var e,i,n,r,o,a=t.getClip(),s=a&&a.getBBox();if(t.isGroup()){var l=1/0,u=-1/0,c=1/0,h=-1/0,p=t.getChildren();p.length>0?Object(g.each)(p,(function(t){if(t.get("visible")){if(t.isGroup()&&0===t.get("children").length)return!0;var e=E(t),i=t.applyToMatrix([e.minX,e.minY,1]),n=t.applyToMatrix([e.minX,e.maxY,1]),r=t.applyToMatrix([e.maxX,e.minY,1]),o=t.applyToMatrix([e.maxX,e.maxY,1]),a=Math.min(i[0],n[0],r[0],o[0]),s=Math.max(i[0],n[0],r[0],o[0]),p=Math.min(i[1],n[1],r[1],o[1]),f=Math.max(i[1],n[1],r[1],o[1]);au&&(u=s),ph&&(h=f)}})):(l=0,u=0,c=0,h=0),e=P(l,c,u-l,h-c)}else e=t.getBBox();return s?(i=e,n=s,r=Math.max(i.minX,n.minX),o=Math.max(i.minY,n.minY),P(r,o,Math.min(i.maxX,n.maxX)-r,Math.min(i.maxY,n.maxY)-o)):e}function L(t){return t+"px"}function I(t,e,i,n){var r,o,a,s,l=n/(r=t,a=(o=e).x-r.x,s=o.y-r.y,Math.sqrt(a*a+s*s)),u=0;return"start"===i?u=0-l:"end"===i&&(u=1+l),{x:T(t.x,e.x,u),y:T(t.y,e.y,u)}}var D=i(10),k={none:[],point:["x","y"],region:["start","end"],points:["points"],circle:["center","radius","startAngle","endAngle"]},B=function(t){function e(e){var i=t.call(this,e)||this;return i.initCfg(),i}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){return{id:"",name:"",type:"",locationType:"none",offsetX:0,offsetY:0,animate:!1,capture:!0,updateAutoRender:!1,animateOption:{appear:null,update:{duration:400,easing:"easeQuadInOut"},enter:{duration:400,easing:"easeQuadInOut"},leave:{duration:350,easing:"easeQuadIn"}},events:null,defaultCfg:{},visible:!0}},e.prototype.clear=function(){},e.prototype.update=function(t){var e=this,i=this.get("defaultCfg");Object(g.each)(t,(function(t,n){var r=t;e.get(n)!==t&&(Object(g.isObject)(t)&&i[n]&&(r=Object(g.deepMix)({},i[n],t)),e.set(n,r))})),this.updateInner(t),this.afterUpdate(t)},e.prototype.updateInner=function(t){},e.prototype.afterUpdate=function(t){Object(g.hasKey)(t,"visible")&&(t.visible?this.show():this.hide()),Object(g.hasKey)(t,"capture")&&this.setCapture(t.capture)},e.prototype.getLayoutBBox=function(){return this.getBBox()},e.prototype.getLocationType=function(){return this.get("locationType")},e.prototype.getOffset=function(){return{offsetX:this.get("offsetX"),offsetY:this.get("offsetY")}},e.prototype.setOffset=function(t,e){this.update({offsetX:t,offsetY:e})},e.prototype.setLocation=function(t){var e=Object(d.__assign)({},t);this.update(e)},e.prototype.getLocation=function(){var t=this,e={},i=this.get("locationType"),n=k[i];return Object(g.each)(n,(function(i){e[i]=t.get(i)})),e},e.prototype.isList=function(){return!1},e.prototype.isSlider=function(){return!1},e.prototype.init=function(){},e.prototype.initCfg=function(){var t=this,e=this.get("defaultCfg");Object(g.each)(e,(function(e,i){var n=t.get(i);if(Object(g.isObject)(n)){var r=Object(g.deepMix)({},e,n);t.set(i,r)}}))},e}(D.Base),F=["visible","tip","delegateObject"],R=["container","group","shapesMap","isRegister","isUpdating","destroyed"],N=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{container:null,shapesMap:{},group:null,capture:!0,isRegister:!1,isUpdating:!1,isInit:!0})},e.prototype.remove=function(){this.clear(),this.get("group").remove()},e.prototype.clear=function(){this.get("group").clear(),this.set("shapesMap",{}),this.clearOffScreenCache(),this.set("isInit",!0)},e.prototype.getChildComponentById=function(t){var e=this.getElementById(t);return e&&e.get("component")},e.prototype.getElementById=function(t){return this.get("shapesMap")[t]},e.prototype.getElementByLocalId=function(t){var e=this.getElementId(t);return this.getElementById(e)},e.prototype.getElementsByName=function(t){var e=[];return Object(g.each)(this.get("shapesMap"),(function(i){i.get("name")===t&&e.push(i)})),e},e.prototype.getContainer=function(){return this.get("container")},e.prototype.updateInner=function(t){this.offScreenRender(),this.get("updateAutoRender")&&this.render()},e.prototype.render=function(){var t=this.get("offScreenGroup");t||(t=this.offScreenRender());var e=this.get("group");this.updateElements(t,e),this.deleteElements(),this.applyOffset(),this.get("eventInitted")||(this.initEvent(),this.set("eventInitted",!0)),this.set("isInit",!1)},e.prototype.show=function(){this.get("group").show(),this.set("visible",!0)},e.prototype.hide=function(){this.get("group").hide(),this.set("visible",!1)},e.prototype.setCapture=function(t){this.get("group").set("capture",t),this.set("capture",t)},e.prototype.destroy=function(){this.removeEvent(),this.remove(),t.prototype.destroy.call(this)},e.prototype.getBBox=function(){return this.get("group").getCanvasBBox()},e.prototype.getLayoutBBox=function(){var t=this.get("group"),e=this.getInnerLayoutBBox(),i=t.getTotalMatrix();return i&&(e=function(t,e){var i=O(t,[e.minX,e.minY]),n=O(t,[e.maxX,e.minY]),r=O(t,[e.minX,e.maxY]),o=O(t,[e.maxX,e.maxY]),a=Math.min(i[0],n[0],r[0],o[0]),s=Math.max(i[0],n[0],r[0],o[0]),l=Math.min(i[1],n[1],r[1],o[1]),u=Math.max(i[1],n[1],r[1],o[1]);return{x:a,y:l,minX:a,minY:l,maxX:s,maxY:u,width:s-a,height:u-l}}(i,e)),e},e.prototype.on=function(t,e,i){return this.get("group").on(t,e,i),this},e.prototype.off=function(t,e){var i=this.get("group");return i&&i.off(t,e),this},e.prototype.emit=function(t,e){this.get("group").emit(t,e)},e.prototype.init=function(){t.prototype.init.call(this),this.get("group")||this.initGroup(),this.offScreenRender()},e.prototype.getInnerLayoutBBox=function(){return this.get("offScreenBBox")||this.get("group").getBBox()},e.prototype.delegateEmit=function(t,e){var i=this.get("group");e.target=i,i.emit(t,e),function(t,e,i){var n=new v.a(e,i);n.target=t,n.propagationPath.push(t),t.emitDelegation(e,n);for(var r=t.getParent();r;)r.emitDelegation(e,n),n.propagationPath.push(r),r=r.getParent()}(i,t,e)},e.prototype.createOffScreenGroup=function(){return new(this.get("group").getGroupBase())({delegateObject:this.getDelegateObject()})},e.prototype.applyOffset=function(){var t=this.get("offsetX"),e=this.get("offsetY");this.moveElementTo(this.get("group"),{x:t,y:e})},e.prototype.initGroup=function(){var t=this.get("container");this.set("group",t.addGroup({id:this.get("id"),name:this.get("name"),capture:this.get("capture"),visible:this.get("visible"),isComponent:!0,component:this,delegateObject:this.getDelegateObject()}))},e.prototype.offScreenRender=function(){this.clearOffScreenCache();var t=this.createOffScreenGroup();return this.renderInner(t),this.set("offScreenGroup",t),this.set("offScreenBBox",E(t)),t},e.prototype.addGroup=function(t,e){this.appendDelegateObject(t,e);var i=t.addGroup(e);return this.get("isRegister")&&this.registerElement(i),i},e.prototype.addShape=function(t,e){this.appendDelegateObject(t,e);var i=t.addShape(e);return this.get("isRegister")&&this.registerElement(i),i},e.prototype.addComponent=function(t,e){var i=e.id,n=e.component,r=Object(d.__rest)(e,["id","component"]),o=new n(Object(d.__assign)(Object(d.__assign)({},r),{id:i,container:t,updateAutoRender:this.get("updateAutoRender")}));return o.init(),o.render(),this.get("isRegister")&&this.registerElement(o.get("group")),o},e.prototype.initEvent=function(){},e.prototype.removeEvent=function(){this.get("group").off()},e.prototype.getElementId=function(t){return this.get("id")+"-"+this.get("name")+"-"+t},e.prototype.registerElement=function(t){var e=t.get("id");this.get("shapesMap")[e]=t},e.prototype.unregisterElement=function(t){var e=t.get("id");delete this.get("shapesMap")[e]},e.prototype.moveElementTo=function(t,e){var i=_(e);t.attr("matrix",i)},e.prototype.addAnimation=function(t,e,i){var n=e.attr("opacity");Object(g.isNil)(n)&&(n=1),e.attr("opacity",0),e.animate({opacity:n},i)},e.prototype.removeAnimation=function(t,e,i){e.animate({opacity:0},i)},e.prototype.updateAnimation=function(t,e,i,n){e.animate(i,n)},e.prototype.updateElements=function(t,e){var i,n=this,r=this.get("animate"),o=this.get("animateOption"),a=t.getChildren().slice(0);Object(g.each)(a,(function(t){var a=t.get("id"),s=n.getElementById(a),l=t.get("name");if(s)if(t.get("isComponent")){var u=t.get("component"),c=s.get("component"),h=Object(g.pick)(u.cfg,Object(g.difference)(Object(g.keys)(u.cfg),R));c.update(h),s.set("update_status","update")}else{var p=n.getReplaceAttrs(s,t);r&&o.update?n.updateAnimation(l,s,p,o.update):s.attr(p),t.isGroup()&&n.updateElements(t,s),Object(g.each)(F,(function(e){s.set(e,t.get(e))})),function(t,e){if(t.getClip()||e.getClip()){var i=e.getClip();if(i){var n={type:i.get("type"),attrs:i.attr()};t.setClip(n)}else t.setClip(null)}}(s,t),i=s,s.set("update_status","update")}else{e.add(t);var f=e.getChildren();if(f.splice(f.length-1,1),i){var d=f.indexOf(i);f.splice(d+1,0,t)}else f.unshift(t);if(n.registerElement(t),t.set("update_status","add"),t.get("isComponent"))(u=t.get("component")).set("container",e);else t.isGroup()&&n.registerNewGroup(t);if(i=t,r){var y=n.get("isInit")?o.appear:o.enter;y&&n.addAnimation(l,t,y)}}}))},e.prototype.clearUpdateStatus=function(t){var e=t.getChildren();Object(g.each)(e,(function(t){t.set("update_status",null)}))},e.prototype.clearOffScreenCache=function(){var t=this.get("offScreenGroup");t&&t.destroy(),this.set("offScreenGroup",null),this.set("offScreenBBox",null)},e.prototype.getDelegateObject=function(){var t;return(t={})[this.get("name")]=this,t.component=this,t},e.prototype.appendDelegateObject=function(t,e){var i=t.get("delegateObject");e.delegateObject||(e.delegateObject={}),Object(g.mix)(e.delegateObject,i)},e.prototype.getReplaceAttrs=function(t,e){var i=t.attr(),n=e.attr();return Object(g.each)(i,(function(t,e){void 0===n[e]&&(n[e]=void 0)})),n},e.prototype.registerNewGroup=function(t){var e=this,i=t.getChildren();Object(g.each)(i,(function(t){e.registerElement(t),t.set("update_status","add"),t.isGroup()&&e.registerNewGroup(t)}))},e.prototype.deleteElements=function(){var t=this,e=this.get("shapesMap"),i=[];Object(g.each)(e,(function(t,e){!t.get("update_status")||t.destroyed?i.push([e,t]):t.set("update_status",null)}));var n=this.get("animate"),r=this.get("animateOption");Object(g.each)(i,(function(i){var o=i[0],a=i[1];if(!a.destroyed){var s=a.get("name");if(n&&r.leave){var l=Object(g.mix)({callback:function(){t.removeElement(a)}},r.leave);t.removeAnimation(s,a,l)}else t.removeElement(a)}delete e[o]}))},e.prototype.removeElement=function(t){if(t.get("isGroup")){var e=t.get("component");e&&e.destroy()}t.remove()},e}(B);function Y(t,e){return t.charCodeAt(e)>0&&t.charCodeAt(e)<128?1:2}function G(t){var e=0;return Object(g.each)(t,(function(t){var i=t.getBBox().width;e=0?function(t,e,i){void 0===i&&(i="tail");var n=t.length,r="";if("tail"===i){for(var o=0,a=0;o1||n<0)&&(n=1),{x:T(t.x,e.x,n),y:T(t.y,e.y,n)}},e.prototype.renderLabel=function(t){var e=this.get("text"),i=this.get("start"),n=this.get("end"),r=e.position,o=e.content,a=e.style,s=e.offsetX,l=e.offsetY,u=e.autoRotate,c=e.maxLength,h=e.autoEllipsis,p=e.ellipsisPosition,f=e.background,d=e.isVertical,g=void 0!==d&&d,y=this.getLabelPoint(i,n,r),v=y.x+s,m=y.y+l,x={id:this.getElementId("line-text"),name:"annotation-line-text",x:v,y:m,content:o,style:a,maxLength:c,autoEllipsis:h,ellipsisPosition:p,background:f,isVertical:g};if(u){var b=[n.x-i.x,n.y-i.y];x.rotate=Math.atan2(b[1],b[0])}V(t,x)},e}(N),W=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"annotation",type:"text",locationType:"point",x:0,y:0,content:"",rotate:null,style:{},background:null,maxLength:null,autoEllipsis:!0,isVertical:!1,ellipsisPosition:"tail",defaultCfg:{style:{fill:z.textColor,fontSize:12,textAlign:"center",textBaseline:"middle",fontFamily:z.fontFamily}}})},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetLocation()},e.prototype.renderInner=function(t){var e=this.getLocation(),i=e.x,n=e.y,r=this.get("content"),o=this.get("style");V(t,{id:this.getElementId("text"),name:this.get("name")+"-text",x:i,y:n,content:r,style:o,maxLength:this.get("maxLength"),autoEllipsis:this.get("autoEllipsis"),isVertical:this.get("isVertical"),ellipsisPosition:this.get("ellipsisPosition"),background:this.get("background"),rotate:this.get("rotate")})},e.prototype.resetLocation=function(){var t=this.getElementByLocalId("text-group");if(t){var e=this.getLocation(),i=e.x,n=e.y,r=this.get("rotate");M(t,i,n),w(t,r,i,n)}},e}(N),q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"annotation",type:"arc",locationType:"circle",center:null,radius:100,startAngle:-Math.PI/2,endAngle:3*Math.PI/2,style:{stroke:"#999",lineWidth:1}})},e.prototype.renderInner=function(t){this.renderArc(t)},e.prototype.getArcPath=function(){var t=this.getLocation(),e=t.center,i=t.radius,n=t.startAngle,r=t.endAngle,o=A(e,i,n),a=A(e,i,r),s=r-n>Math.PI?1:0,l=[["M",o.x,o.y]];if(r-n==2*Math.PI){var u=A(e,i,n+Math.PI);l.push(["A",i,i,0,s,1,u.x,u.y]),l.push(["A",i,i,0,s,1,a.x,a.y])}else l.push(["A",i,i,0,s,1,a.x,a.y]);return l},e.prototype.renderArc=function(t){var e=this.getArcPath(),i=this.get("style");this.addShape(t,{type:"path",id:this.getElementId("arc"),name:"annotation-arc",attrs:Object(d.__assign)({path:e},i)})},e}(N),U=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"annotation",type:"region",locationType:"region",start:null,end:null,style:{},defaultCfg:{style:{lineWidth:0,fill:z.regionColor,opacity:.4}}})},e.prototype.renderInner=function(t){this.renderRegion(t)},e.prototype.renderRegion=function(t){var e=this.get("start"),i=this.get("end"),n=this.get("style"),r=j({start:e,end:i});this.addShape(t,{type:"rect",id:this.getElementId("region"),name:"annotation-region",attrs:Object(d.__assign)({x:r.x,y:r.y,width:r.width,height:r.height},n)})},e}(N),K=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"annotation",type:"image",locationType:"region",start:null,end:null,src:null,style:{}})},e.prototype.renderInner=function(t){this.renderImage(t)},e.prototype.getImageAttrs=function(){var t=this.get("start"),e=this.get("end"),i=this.get("style"),n=j({start:t,end:e}),r=this.get("src");return Object(d.__assign)({x:n.x,y:n.y,img:r,width:n.width,height:n.height},i)},e.prototype.renderImage=function(t){this.addShape(t,{type:"image",id:this.getElementId("image"),name:"annotation-image",attrs:this.getImageAttrs()})},e}(N),Z=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"annotation",type:"dataMarker",locationType:"point",x:0,y:0,point:{},line:{},text:{},direction:"upward",autoAdjust:!0,coordinateBBox:null,defaultCfg:{point:{display:!0,style:{r:3,fill:"#FFFFFF",stroke:"#1890FF",lineWidth:2}},line:{display:!0,length:20,style:{stroke:z.lineColor,lineWidth:1}},text:{content:"",display:!0,style:{fill:z.textColor,opacity:.65,fontSize:12,textAlign:"start",fontFamily:z.fontFamily}}}})},e.prototype.renderInner=function(t){Object(g.get)(this.get("line"),"display")&&this.renderLine(t),Object(g.get)(this.get("text"),"display")&&this.renderText(t),Object(g.get)(this.get("point"),"display")&&this.renderPoint(t),this.get("autoAdjust")&&this.autoAdjust(t)},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x")+this.get("offsetX"),y:this.get("y")+this.get("offsetY")})},e.prototype.renderPoint=function(t){var e=this.getShapeAttrs().point;this.addShape(t,{type:"circle",id:this.getElementId("point"),name:"annotation-point",attrs:e})},e.prototype.renderLine=function(t){var e=this.getShapeAttrs().line;this.addShape(t,{type:"path",id:this.getElementId("line"),name:"annotation-line",attrs:e})},e.prototype.renderText=function(t){var e=this.getShapeAttrs().text,i=e.x,n=e.y,r=e.text,o=Object(d.__rest)(e,["x","y","text"]),a=this.get("text"),s=a.background,l=a.maxLength,u=a.autoEllipsis,c=a.isVertival,h=a.ellipsisPosition;V(t,{x:i,y:n,id:this.getElementId("text"),name:"annotation-text",content:r,style:o,background:s,maxLength:l,autoEllipsis:u,isVertival:c,ellipsisPosition:h})},e.prototype.autoAdjust=function(t){var e=this.get("direction"),i=this.get("x"),n=this.get("y"),r=Object(g.get)(this.get("line"),"length",0),o=this.get("coordinateBBox"),a=t.getBBox(),s=a.minX,l=a.maxX,u=a.minY,c=a.maxY,h=t.findById(this.getElementId("text-group")),p=t.findById(this.getElementId("text")),f=t.findById(this.getElementId("line"));if(o){if(h){if(i+s<=o.minX){var d=o.minX-(i+s);M(h,h.attr("x")+d,h.attr("y"))}if(i+l>=o.maxX){d=i+l-o.maxX;M(h,h.attr("x")-d,h.attr("y"))}}if("upward"===e&&n+u<=o.minY||"upward"!==e&&n+c>=o.maxY){var y=void 0,v=void 0;"upward"===e&&n+u<=o.minY?(y="top",v=1):(y="bottom",v=-1),p.attr("textBaseline",y),f&&f.attr("path",[["M",0,0],["L",0,r*v]]),M(h,h.attr("x"),(r+2)*v)}}},e.prototype.getShapeAttrs=function(){var t=Object(g.get)(this.get("line"),"display"),e=Object(g.get)(this.get("point"),"style",{}),i=Object(g.get)(this.get("line"),"style",{}),n=Object(g.get)(this.get("text"),"style",{}),r=this.get("direction"),o=t?Object(g.get)(this.get("line"),"length",0):0,a="upward"===r?-1:1;return{point:Object(d.__assign)({x:0,y:0},e),line:Object(d.__assign)({path:[["M",0,0],["L",0,o*a]]},i),text:Object(d.__assign)({x:0,y:(o+2)*a,text:Object(g.get)(this.get("text"),"content",""),textBaseline:"upward"===r?"bottom":"top"},n)}},e}(N),$=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"annotation",type:"dataRegion",locationType:"points",points:[],lineLength:0,region:{},text:{},defaultCfg:{region:{style:{lineWidth:0,fill:z.regionColor,opacity:.4}},text:{content:"",style:{textAlign:"center",textBaseline:"bottom",fontSize:12,fill:z.textColor,fontFamily:z.fontFamily}}}})},e.prototype.renderInner=function(t){var e=Object(g.get)(this.get("region"),"style",{}),i=(Object(g.get)(this.get("text"),"style",{}),this.get("lineLength")||0),n=this.get("points");if(n.length){var r=function(t){var e=t.map((function(t){return t.x})),i=t.map((function(t){return t.y})),n=Math.min.apply(Math,e),r=Math.min.apply(Math,i),o=Math.max.apply(Math,e),a=Math.max.apply(Math,i);return{x:n,y:r,minX:n,minY:r,maxX:o,maxY:a,width:o-n,height:a-r}}(n),o=[];o.push(["M",n[0].x,r.minY-i]),n.forEach((function(t){o.push(["L",t.x,t.y])})),o.push(["L",n[n.length-1].x,n[n.length-1].y-i]),this.addShape(t,{type:"path",id:this.getElementId("region"),name:"annotation-region",attrs:Object(d.__assign)({path:o},e)}),V(t,Object(d.__assign)({id:this.getElementId("text"),name:"annotation-text",x:(r.minX+r.maxX)/2,y:r.minY-i},this.get("text")))}},e}(N),Q=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"annotation",type:"regionFilter",locationType:"region",start:null,end:null,color:null,shape:[]})},e.prototype.renderInner=function(t){var e=this,i=this.get("start"),n=this.get("end"),r=this.addGroup(t,{id:this.getElementId("region-filter"),capture:!1});Object(g.each)(this.get("shapes"),(function(t,i){var n=t.get("type"),o=Object(g.clone)(t.attr());e.adjustShapeAttrs(o),e.addShape(r,{id:e.getElementId("shape-"+n+"-"+i),capture:!1,type:n,attrs:o})}));var o=j({start:i,end:n});r.setClip({type:"rect",attrs:{x:o.minX,y:o.minY,width:o.width,height:o.height}})},e.prototype.adjustShapeAttrs=function(t){var e=this.get("color");t.fill&&(t.fill=t.fillStyle=e),t.stroke=t.strokeStyle=e},e}(N);function J(t,e,i){var n=e+"Style",r=null;return Object(g.each)(i,(function(e,i){t[i]&&e[n]&&(r||(r={}),Object(g.mix)(r,e[n]))})),r}var tt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"axis",ticks:[],line:{},tickLine:{},subTickLine:null,title:null,label:{},verticalFactor:1,verticalLimitLength:null,overlapOrder:["autoRotate","autoEllipsis","autoHide"],tickStates:{},defaultCfg:{line:{style:{lineWidth:1,stroke:z.lineColor}},tickLine:{style:{lineWidth:1,stroke:z.lineColor},alignTick:!0,length:5,displayWithLabel:!0},subTickLine:{style:{lineWidth:1,stroke:z.lineColor},count:4,length:2},label:{autoRotate:!0,autoHide:!1,autoEllipsis:!1,style:{fontSize:12,fill:z.textColor,textBaseline:"middle",fontFamily:z.fontFamily,fontWeight:"normal"},offset:10},title:{autoRotate:!0,spacing:5,position:"center",style:{fontSize:12,fill:z.textColor,textBaseline:"middle",fontFamily:z.fontFamily,textAlign:"center"}},tickStates:{active:{labelStyle:{fontWeight:500},tickLineStyle:{lineWidth:2}},inactive:{labelStyle:{fill:z.uncheckedColor}}}}})},e.prototype.renderInner=function(t){this.get("line")&&this.drawLine(t),this.drawTicks(t),this.get("title")&&this.drawTitle(t)},e.prototype.isList=function(){return!0},e.prototype.getItems=function(){return this.get("ticks")},e.prototype.setItems=function(t){this.update({ticks:t})},e.prototype.updateItem=function(t,e){Object(g.mix)(t,e),this.clear(),this.render()},e.prototype.clearItems=function(){var t=this.getElementByLocalId("label-group");t&&t.clear()},e.prototype.setItemState=function(t,e,i){t[e]=i,this.updateTickStates(t)},e.prototype.hasState=function(t,e){return!!t[e]},e.prototype.getItemStates=function(t){var e=this.get("tickStates"),i=[];return Object(g.each)(e,(function(e,n){t[n]&&i.push(n)})),i},e.prototype.clearItemsState=function(t){var e=this,i=this.getItemsByState(t);Object(g.each)(i,(function(i){e.setItemState(i,t,!1)}))},e.prototype.getItemsByState=function(t){var e=this,i=this.getItems();return Object(g.filter)(i,(function(i){return e.hasState(i,t)}))},e.prototype.getSidePoint=function(t,e){var i=this.getSideVector(e,t);return{x:t.x+i[0],y:t.y+i[1]}},e.prototype.getTextAnchor=function(t){var e;return Object(g.isNumberEqual)(t[0],0)?e="center":t[0]>0?e="start":t[0]<0&&(e="end"),e},e.prototype.processOverlap=function(t){},e.prototype.drawLine=function(t){var e=this.getLinePath(),i=this.get("line");this.addShape(t,{type:"path",id:this.getElementId("line"),name:"axis-line",attrs:Object(g.mix)({path:e},i.style)})},e.prototype.getTickLineItems=function(t){var e=this,i=[],n=this.get("tickLine"),r=n.alignTick,o=n.length,a=1;return t.length>=2&&(a=t[1].value-t[0].value),Object(g.each)(t,(function(t){var n=t.point;r||(n=e.getTickPoint(t.value-a/2));var s=e.getSidePoint(n,o);i.push({startPoint:n,tickValue:t.value,endPoint:s,tickId:t.id,id:"tickline-"+t.id})})),i},e.prototype.getSubTickLineItems=function(t){var e=[],i=this.get("subTickLine"),n=i.count,r=t.length;if(r>=2)for(var o=0;o1){u=Math.ceil(u);for(var h=0;hi:a=o>Math.abs(r[1].attr("x")-r[0].attr("x"));a&&function(t,e){Object(g.each)(t,(function(t){var i=b({x:t.attr("x"),y:t.attr("y")},e);t.attr("matrix",i)}))}(r,n(i,o));return a}function gt(){return yt}function yt(t,e,i){return dt(t,e,i,(function(){return t?z.verticalAxisRotate:z.horizontalAxisRotate}))}function vt(t,e,i){return dt(t,e,i,(function(e,i){if(!e)return t?z.verticalAxisRotate:z.horizontalAxisRotate;if(t)return-Math.acos(e/i);var n=0;return(e>i||(n=Math.asin(e/i))>Math.PI/4)&&(n=Math.PI/4),n}))}var mt,xt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{type:"line",locationType:"region",start:null,end:null})},e.prototype.getLinePath=function(){var t=this.get("start"),e=this.get("end"),i=[];return i.push(["M",t.x,t.y]),i.push(["L",e.x,e.y]),i},e.prototype.getInnerLayoutBBox=function(){var e=this.get("start"),i=this.get("end"),n=t.prototype.getInnerLayoutBBox.call(this),r=Math.min(e.x,i.x,n.x),o=Math.min(e.y,i.y,n.y),a=Math.max(e.x,i.x,n.maxX),s=Math.max(e.y,i.y,n.maxY);return{x:r,y:o,minX:r,minY:o,maxX:a,maxY:s,width:a-r,height:s-o}},e.prototype.isVertical=function(){var t=this.get("start"),e=this.get("end");return Object(g.isNumberEqual)(t.x,e.x)},e.prototype.isHorizontal=function(){var t=this.get("start"),e=this.get("end");return Object(g.isNumberEqual)(t.y,e.y)},e.prototype.getTickPoint=function(t){var e=this.get("start"),i=this.get("end"),n=i.x-e.x,r=i.y-e.y;return{x:e.x+n*t,y:e.y+r*t}},e.prototype.getSideVector=function(t){var e=this.getAxisVector(),i=m.vec2.normalize([0,0],e),n=this.get("verticalFactor"),r=[i[1],-1*i[0]];return m.vec2.scale([0,0],r,t*n)},e.prototype.getAxisVector=function(){var t=this.get("start"),e=this.get("end");return[e.x-t.x,e.y-t.y]},e.prototype.processOverlap=function(t){var e=this,i=this.isVertical(),n=this.isHorizontal();if(i||n){var r=this.get("label"),o=this.get("title"),a=this.get("verticalLimitLength"),s=r.offset,l=a,u=0,c=0;o&&(u=o.style.fontSize,c=o.spacing),l&&(l=l-s-c-u);var h=this.get("overlapOrder");if(Object(g.each)(h,(function(i){r[i]&&e.autoProcessOverlap(i,r[i],t,l)})),o){var p=t.getBBox(),f=i?p.width:p.height;Object(g.isNil)(o.offset)&&(o.offset=s+f+c+u/2)}}},e.prototype.autoProcessOverlap=function(t,e,i,n){var r=this,o=this.isVertical(),a=!1,l=s[t];if(!0===e?a=l.getDefault()(o,i,n):Object(g.isFunction)(e)?a=e(o,i,n):l[e]&&(a=l[e](o,i,n)),"autoRotate"===t){if(a){var u=i.getChildren(),c=this.get("verticalFactor");Object(g.each)(u,(function(t){if("center"===t.attr("textAlign")){var e=c>0?"end":"start";t.attr("textAlign",e)}}))}}else if("autoHide"===t){var h=i.getChildren().slice(0);Object(g.each)(h,(function(t){t.get("visible")||(r.get("isRegister")&&r.unregisterElement(t),t.remove())}))}},e}(tt),bt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{type:"circle",locationType:"circle",center:null,radius:null,startAngle:-Math.PI/2,endAngle:3*Math.PI/2})},e.prototype.getLinePath=function(){var t=this.get("center"),e=t.x,i=t.y,n=this.get("radius"),r=n,o=this.get("startAngle"),a=this.get("endAngle"),s=[];if(Math.abs(a-o)===2*Math.PI)s=[["M",e,i-r],["A",n,r,0,1,1,e,i+r],["A",n,r,0,1,1,e,i-r],["Z"]];else{var l=this.getCirclePoint(o),u=this.getCirclePoint(a),c=Math.abs(a-o)>Math.PI?1:0,h=o>a?0:1;s=[["M",e,i],["L",l.x,l.y],["A",n,r,0,c,h,u.x,u.y],["L",e,i]]}return s},e.prototype.getTickPoint=function(t){var e=this.get("startAngle"),i=e+(this.get("endAngle")-e)*t;return this.getCirclePoint(i)},e.prototype.getSideVector=function(t,e){var i=this.get("center"),n=[e.x-i.x,e.y-i.y],r=this.get("verticalFactor"),o=m.vec2.length(n);return m.vec2.scale(n,n,r*t/o),n},e.prototype.getAxisVector=function(t){var e=this.get("center"),i=[t.x-e.x,t.y-e.y];return[i[1],-1*i[0]]},e.prototype.getCirclePoint=function(t,e){var i=this.get("center");return e=e||this.get("radius"),{x:i.x+Math.cos(t)*e,y:i.y+Math.sin(t)*e}},e}(tt),_t=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"crosshair",type:"base",line:{},text:null,textBackground:{},capture:!1,defaultCfg:{line:{style:{lineWidth:1,stroke:z.lineColor}},text:{position:"start",offset:10,autoRotate:!1,content:null,style:{fill:z.textColor,textAlign:"center",textBaseline:"middle",fontFamily:z.fontFamily}},textBackground:{padding:5,style:{stroke:z.lineColor}}}})},e.prototype.renderInner=function(t){this.get("line")&&this.renderLine(t),this.get("text")&&(this.renderText(t),this.renderBackground(t))},e.prototype.renderText=function(t){var e=this.get("text"),i=e.style,n=e.autoRotate,r=e.content;if(!Object(g.isNil)(r)){var o=this.getTextPoint(),a=null;if(n)a=b(o,this.getRotateAngle());this.addShape(t,{type:"text",name:"crosshair-text",id:this.getElementId("text"),attrs:Object(d.__assign)(Object(d.__assign)(Object(d.__assign)({},o),{text:r,matrix:a}),i)})}},e.prototype.renderLine=function(t){var e=this.getLinePath(),i=this.get("line").style;this.addShape(t,{type:"path",name:"crosshair-line",id:this.getElementId("line"),attrs:Object(d.__assign)({path:e},i)})},e.prototype.renderBackground=function(t){var e=this.getElementId("text"),i=t.findById(e),n=this.get("textBackground");if(n&&i){var r=i.getBBox(),o=C(n.padding),a=n.style;this.addShape(t,{type:"rect",name:"crosshair-text-background",id:this.getElementId("text-background"),attrs:Object(d.__assign)({x:r.x-o[3],y:r.y-o[0],width:r.width+o[1]+o[3],height:r.height+o[0]+o[2],matrix:i.attr("matrix")},a)}).toBack()}},e}(N),Ot=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{type:"line",locationType:"region",start:null,end:null})},e.prototype.getRotateAngle=function(){var t=this.getLocation(),e=t.start,i=t.end,n=this.get("text").position,r=Math.atan2(i.y-e.y,i.x-e.x);return"start"===n?r-Math.PI/2:r+Math.PI/2},e.prototype.getTextPoint=function(){var t=this.getLocation(),e=t.start,i=t.end,n=this.get("text");return I(e,i,n.position,n.offset)},e.prototype.getLinePath=function(){var t=this.getLocation(),e=t.start,i=t.end;return[["M",e.x,e.y],["L",i.x,i.y]]},e}(_t),wt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{type:"circle",locationType:"circle",center:null,radius:100,startAngle:-Math.PI/2,endAngle:3*Math.PI/2})},e.prototype.getRotateAngle=function(){var t=this.getLocation(),e=t.startAngle,i=t.endAngle;return"start"===this.get("text").position?e+Math.PI/2:i-Math.PI/2},e.prototype.getTextPoint=function(){var t=this.get("text"),e=t.position,i=t.offset,n=this.getLocation(),r=n.center,o=n.radius,a=n.startAngle,s=n.endAngle,l="start"===e?a:s,u=this.getRotateAngle()-Math.PI,c=A(r,o,l),h=Math.cos(u)*i,p=Math.sin(u)*i;return{x:c.x+h,y:c.y+p}},e.prototype.getLinePath=function(){var t=this.getLocation(),e=t.center,i=t.radius,n=t.startAngle,r=t.endAngle,o=null;if(r-n==2*Math.PI){var a=e.x,s=e.y;o=[["M",a,s-i],["A",i,i,0,1,1,a,s+i],["A",i,i,0,1,1,a,s-i],["Z"]]}else{var l=A(e,i,n),u=A(e,i,r),c=Math.abs(r-n)>Math.PI?1:0,h=n>r?0:1;o=[["M",l.x,l.y],["A",i,i,0,c,h,u.x,u.y]]}return o},e}(_t),Mt=i(7),Ct=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{container:null,containerTpl:"
",updateAutoRender:!0,containerClassName:"",parent:null})},e.prototype.getContainer=function(){return this.get("container")},e.prototype.show=function(){this.get("container").style.display="",this.set("visible",!0)},e.prototype.hide=function(){this.get("container").style.display="none",this.set("visible",!1)},e.prototype.setCapture=function(t){var e=t?"auto":"none";this.getContainer().style.pointerEvents=e,this.set("capture",t)},e.prototype.getBBox=function(){var t=this.getContainer();return P(parseFloat(t.style.left)||0,parseFloat(t.style.top)||0,t.clientWidth,t.clientHeight)},e.prototype.clear=function(){S(this.get("container"))},e.prototype.destroy=function(){this.removeEvent(),this.removeDom(),t.prototype.destroy.call(this)},e.prototype.init=function(){t.prototype.init.call(this),this.initContainer(),this.initDom(),this.resetStyles(),this.applyStyles(),this.initEvent(),this.initCapture(),this.initVisible()},e.prototype.initCapture=function(){this.setCapture(this.get("capture"))},e.prototype.initVisible=function(){this.get("visible")?this.show():this.hide()},e.prototype.initDom=function(){},e.prototype.initContainer=function(){var t=this.get("container");if(Object(g.isNil)(t)){t=this.createDom();var e=this.get("parent");Object(g.isString)(e)&&(e=document.getElementById(e),this.set("parent",e)),e.appendChild(t),this.set("container",t)}else Object(g.isString)(t)&&(t=document.getElementById(t),this.set("container",t));this.get("parent")||this.set("parent",t.parentNode)},e.prototype.resetStyles=function(){var t=this.get("domStyles"),e=this.get("defaultStyles");t=t?Object(g.deepMix)({},e,t):e,this.set("domStyles",t)},e.prototype.applyStyles=function(){var t=this.get("domStyles");if(t){var e=this.getContainer();this.applyChildrenStyles(e,t);var i,n=this.get("containerClassName");if(n&&(i=n,e.className.match(new RegExp("(\\s|^)"+i+"(\\s|$)")))){var r=t[n];Object(Mt.modifyCSS)(e,r)}}},e.prototype.applyChildrenStyles=function(t,e){Object(g.each)(e,(function(e,i){var n=t.getElementsByClassName(i);Object(g.each)(n,(function(t){Object(Mt.modifyCSS)(t,e)}))}))},e.prototype.applyStyle=function(t,e){var i=this.get("domStyles");Object(Mt.modifyCSS)(e,i[t])},e.prototype.createDom=function(){var t=this.get("containerTpl");return Object(Mt.createDom)(t)},e.prototype.initEvent=function(){},e.prototype.removeDom=function(){var t=this.get("container");t&&t.parentNode.removeChild(t)},e.prototype.removeEvent=function(){},e.prototype.updateInner=function(t){Object(g.hasKey)(t,"domStyles")&&(this.resetStyles(),this.applyStyles()),this.resetPosition()},e.prototype.resetPosition=function(){},e}(B),St=((mt={})["g2-crosshair"]={position:"relative"},mt["g2-crosshair-line"]={position:"absolute",backgroundColor:"rgba(0, 0, 0, 0.25)"},mt["g2-crosshair-text"]={position:"absolute",color:z.textColor,fontFamily:z.fontFamily},mt),jt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"crosshair",type:"html",locationType:"region",start:{x:0,y:0},end:{x:0,y:0},capture:!1,text:null,containerTpl:'
',crosshairTpl:'
',textTpl:'{content}',domStyles:null,containerClassName:"g2-crosshair",defaultStyles:St,defaultCfg:{text:{position:"start",content:null,align:"center",offset:10}}})},e.prototype.render=function(){this.resetText(),this.resetPosition()},e.prototype.initCrossHair=function(){var t=this.getContainer(),e=this.get("crosshairTpl"),i=Object(Mt.createDom)(e);t.appendChild(i),this.applyStyle("g2-crosshair-line",i),this.set("crosshairEl",i)},e.prototype.getTextPoint=function(){var t=this.getLocation(),e=t.start,i=t.end,n=this.get("text");return I(e,i,n.position,n.offset)},e.prototype.resetText=function(){var t=this.get("text"),e=this.get("textEl");if(t){var i=t.content;if(!e){var n=this.getContainer(),r=Object(g.substitute)(this.get("textTpl"),t);e=Object(Mt.createDom)(r),n.appendChild(e),this.applyStyle("g2-crosshair-text",e),this.set("textEl",e)}e.innerHTML=i}else e&&e.remove()},e.prototype.isVertical=function(t,e){return t.x===e.x},e.prototype.resetPosition=function(){var t=this.get("crosshairEl");t||(this.initCrossHair(),t=this.get("crosshairEl"));var e=this.get("start"),i=this.get("end"),n=Math.min(e.x,i.x),r=Math.min(e.y,i.y);this.isVertical(e,i)?Object(Mt.modifyCSS)(t,{width:"1px",height:L(Math.abs(i.y-e.y))}):Object(Mt.modifyCSS)(t,{height:"1px",width:L(Math.abs(i.x-e.x))}),Object(Mt.modifyCSS)(t,{top:L(r),left:L(n)}),this.alignText()},e.prototype.alignText=function(){var t=this.get("textEl");if(t){var e=this.get("text").align,i=t.clientWidth,n=this.getTextPoint();switch(e){case"center":n.x=n.x-i/2;break;case"right":n.x=n.x-i}Object(Mt.modifyCSS)(t,{top:L(n.y),left:L(n.x)})}},e.prototype.updateInner=function(e){Object(g.hasKey)(e,"text")&&this.resetText(),t.prototype.updateInner.call(this,e)},e}(Ct),Pt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"grid",line:{},alternateColor:null,capture:!1,items:[],closed:!1,defaultCfg:{line:{type:"line",style:{lineWidth:1,stroke:z.lineColor}}}})},e.prototype.getLineType=function(){return(this.get("line")||this.get("defaultCfg").line).type},e.prototype.renderInner=function(t){this.drawGrid(t)},e.prototype.getAlternatePath=function(t,e){var i=this.getGridPath(t),n=e.slice(0).reverse(),r=this.getGridPath(n,!0);return this.get("closed")?i=i.concat(r):(r[0][0]="L",(i=i.concat(r)).push(["Z"])),i},e.prototype.getPathStyle=function(){return this.get("line").style},e.prototype.drawGrid=function(t){var e=this,i=this.get("line"),n=this.get("items"),r=this.get("alternateColor"),o=null;Object(g.each)(n,(function(n,a){var s=n.id||a;if(i){var l=e.getPathStyle(),u=e.getElementId("line-"+s),c=e.getGridPath(n.points);e.addShape(t,{type:"path",name:"grid-line",id:u,attrs:Object(g.mix)({path:c},l)})}if(r&&a>0){var h=e.getElementId("region-"+s),p=a%2==0;if(Object(g.isString)(r))p&&e.drawAlternateRegion(h,t,o.points,n.points,r);else{var f=p?r[1]:r[0];e.drawAlternateRegion(h,t,o.points,n.points,f)}}o=n}))},e.prototype.drawAlternateRegion=function(t,e,i,n,r){var o=this.getAlternatePath(i,n);this.addShape(e,{type:"path",id:t,name:"grid-region",attrs:{path:o,fill:r}})},e}(N);var Tt,At=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{type:"circle",center:null,closed:!0})},e.prototype.getGridPath=function(t,e){var i,n,r,o,a,s,l=this.getLineType(),u=this.get("closed"),c=[];if(t.length)if("circle"===l){var h=this.get("center"),p=t[0],f=(i=h.x,n=h.y,r=p.x,o=p.y,a=r-i,s=o-n,Math.sqrt(a*a+s*s)),d=e?0:1;u?(c.push(["M",h.x,h.y-f]),c.push(["A",f,f,0,0,d,h.x,h.y+f]),c.push(["A",f,f,0,0,d,h.x,h.y-f]),c.push(["Z"])):Object(g.each)(t,(function(t,e){0===e?c.push(["M",t.x,t.y]):c.push(["A",f,f,0,0,d,t.x,t.y])}))}else Object(g.each)(t,(function(t,e){0===e?c.push(["M",t.x,t.y]):c.push(["L",t.x,t.y])})),u&&c.push(["Z"]);return c},e}(Pt),Et=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{type:"line"})},e.prototype.getGridPath=function(t){var e=[];return Object(g.each)(t,(function(t,i){0===i?e.push(["M",t.x,t.y]):e.push(["L",t.x,t.y])})),e},e}(Pt),Lt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"legend",layout:"horizontal",locationType:"point",x:0,y:0,offsetX:0,offsetY:0,title:null,background:null})},e.prototype.getLayoutBBox=function(){var e=t.prototype.getLayoutBBox.call(this),i=this.get("x"),n=this.get("y"),r=this.get("offsetX"),o=this.get("offsetY"),a=this.get("maxWidth"),s=this.get("maxHeight"),l=i+r,u=n+o,c=e.maxX-l,h=e.maxY-u;return a&&(c=Math.min(c,a)),s&&(h=Math.min(h,s)),P(l,u,c,h)},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetLocation()},e.prototype.resetLocation=function(){var t=this.get("x"),e=this.get("y"),i=this.get("offsetX"),n=this.get("offsetY");this.moveElementTo(this.get("group"),{x:t+i,y:e+n})},e.prototype.applyOffset=function(){this.resetLocation()},e.prototype.getDrawPoint=function(){return this.get("currentPoint")},e.prototype.setDrawPoint=function(t){return this.set("currentPoint",t)},e.prototype.renderInner=function(t){this.resetDraw(),this.get("title")&&this.drawTitle(t),this.drawLegendContent(t),this.get("background")&&this.drawBackground(t)},e.prototype.drawBackground=function(t){var e=this.get("background"),i=t.getBBox(),n=C(e.padding),r=Object(d.__assign)({x:0,y:0,width:i.width+n[1]+n[3],height:i.height+n[0]+n[2]},e.style);this.addShape(t,{type:"rect",id:this.getElementId("background"),name:"legend-background",attrs:r}).toBack()},e.prototype.drawTitle=function(t){var e=this.get("currentPoint"),i=this.get("title"),n=i.spacing,r=i.style,o=i.text,a=this.addShape(t,{type:"text",id:this.getElementId("title"),name:"legend-title",attrs:Object(d.__assign)({text:o,x:e.x,y:e.y},r)}).getBBox();this.set("currentPoint",{x:e.x,y:a.maxY+n})},e.prototype.resetDraw=function(){var t=this.get("background"),e={x:0,y:0};if(t){var i=C(t.padding);e.x=i[3],e.y=i[0]}this.set("currentPoint",e)},e}(N),It=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.currentPageIndex=1,e.totalPagesCnt=1,e.pageWidth=0,e.pageHeight=0,e.startX=0,e.startY=0,e.onNavigationBack=function(){var t=e.getElementByLocalId("item-group");if(e.currentPageIndex>1){e.currentPageIndex-=1,e.updateNavigation();var i=e.getCurrentNavigationMatrix();e.get("animate")?t.animate({matrix:i},100):t.attr({matrix:i})}},e.onNavigationAfter=function(){var t=e.getElementByLocalId("item-group");if(e.currentPageIndexf&&(f=v),"horizontal"===c?(d&&dm&&(m=e.width)})),x=m,m+=c,s&&(m=Math.min(s,m),x=Math.min(s,x)),this.pageWidth=m,this.pageHeight=l-Math.max(f.height,h);var b=Math.floor(this.pageHeight/h);Object(g.each)(a,(function(t,e){0!==e&&e%b==0&&(y+=1,d.x+=m,d.y=r),i.moveElementTo(t,d),t.getParent().setClip({type:"rect",attrs:{x:d.x,y:d.y,width:m,height:h}}),d.y+=h})),this.totalPagesCnt=y,this.moveElementTo(p,{x:n+x/2-f.width/2-f.minX,y:l-f.height-f.minY})}this.pageHeight&&this.pageWidth&&e.getParent().setClip({type:"rect",attrs:{x:this.startX,y:this.startY,width:this.pageWidth,height:this.pageHeight}}),this.totalPagesCnt=y,this.currentPageIndex>this.totalPagesCnt&&(this.currentPageIndex=1),this.updateNavigation(p),e.attr("matrix",this.getCurrentNavigationMatrix())},e.prototype.drawNavigation=function(t,e,i,n){var r={x:0,y:0},o=this.addGroup(t,{id:this.getElementId("navigation-group"),name:"legend-navigation"}),a=this.drawArrow(o,r,"navigation-arrow-left","horizontal"===e?"up":"left",n);a.on("click",this.onNavigationBack);var s=a.getBBox();r.x+=s.width+2;var l=this.addShape(o,{type:"text",id:this.getElementId("navigation-text"),name:"navigation-text",attrs:{x:r.x,y:r.y+n/2,text:i,fontSize:12,fill:"#ccc",textBaseline:"middle"}}).getBBox();return r.x+=l.width+2,this.drawArrow(o,r,"navigation-arrow-right","horizontal"===e?"down":"right",n).on("click",this.onNavigationAfter),o},e.prototype.updateNavigation=function(t){var e=this.currentPageIndex+"/"+this.totalPagesCnt,i=t?t.getChildren()[1]:this.getElementByLocalId("navigation-text"),n=t?t.findById(this.getElementId("navigation-arrow-left")):this.getElementByLocalId("navigation-arrow-left"),r=t?t.findById(this.getElementId("navigation-arrow-right")):this.getElementByLocalId("navigation-arrow-right"),o=i.getBBox();i.attr("text",e);var a=i.getBBox();i.attr("x",i.attr("x")-(a.width-o.width)/2),n.attr("opacity",1===this.currentPageIndex?.45:1),n.attr("cursor",1===this.currentPageIndex?"not-allowed":"pointer"),r.attr("opacity",this.currentPageIndex===this.totalPagesCnt?.45:1),r.attr("cursor",this.currentPageIndex===this.totalPagesCnt?"not-allowed":"pointer")},e.prototype.drawArrow=function(t,e,i,n,r){var o=e.x,a=e.y,s={right:90*Math.PI/180,left:270*Math.PI/180,up:0,down:180*Math.PI/180},l=this.addShape(t,{type:"path",id:this.getElementId(i),name:i,attrs:{path:[["M",o+r/2,a],["L",o,a+r],["L",o+r,a+r],["Z"]],fill:"#000",cursor:"pointer"}});return l.attr("matrix",b({x:o+r/2,y:a+r/2},s[n])),l},e.prototype.getCurrentNavigationMatrix=function(){var t=this.currentPageIndex,e=this.pageWidth,i=this.pageHeight;return _("horizontal"===this.get("layout")?{x:0,y:i*(1-t)}:{x:e*(1-t),y:0})},e.prototype.applyItemStates=function(t,e){if(this.getItemStates(t).length>0){var i=e.getChildren(),n=this.get("itemStates");Object(g.each)(i,(function(e){var i=e.get("name").split("-")[2],r=J(t,i,n);r&&(e.attr(r),"marker"!==i||e.get("isStroke")&&e.get("isFill")||(e.get("isStroke")&&e.attr("fill",null),e.get("isFill")&&e.attr("stroke",null)))}))}},e.prototype.getLimitItemWidth=function(){var t=this.get("itemWidth"),e=this.get("maxItemWidth");return e?t&&(e=t<=e?t:e):t&&(e=t),e},e}(Lt),Dt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{type:"continue",min:0,max:100,value:null,colors:[],track:{},rail:{},label:{},handler:{},slidable:!0,tip:null,step:null,maxWidth:null,maxHeight:null,defaultCfg:{label:{align:"rail",spacing:5,formatter:null,style:{fontSize:12,fill:z.textColor,textBaseline:"middle",fontFamily:z.fontFamily}},handler:{size:10,style:{fill:"#fff",stroke:"#333"}},track:{},rail:{type:"color",size:20,defaultLength:100,style:{fill:"#DCDEE2"}},title:{spacing:5,style:{fill:z.textColor,fontSize:12,textAlign:"start",textBaseline:"top"}}}})},e.prototype.isSlider=function(){return!0},e.prototype.getValue=function(){return this.getCurrentValue()},e.prototype.getRange=function(){return{min:this.get("min"),max:this.get("max")}},e.prototype.setRange=function(t,e){this.update({min:t,max:e})},e.prototype.setValue=function(t){var e=this.getValue();this.set("value",t);var i=this.get("group");this.resetTrackClip(),this.get("slidable")&&this.resetHandlers(i),this.delegateEmit("valuechanged",{originValue:e,value:t})},e.prototype.initEvent=function(){var t=this.get("group");this.bindSliderEvent(t),this.bindRailEvent(t),this.bindTrackEvent(t)},e.prototype.drawLegendContent=function(t){this.drawRail(t),this.drawLabels(t),this.fixedElements(t),this.resetTrack(t),this.resetTrackClip(t),this.get("slidable")&&this.resetHandlers(t)},e.prototype.bindSliderEvent=function(t){this.bindHandlersEvent(t)},e.prototype.bindHandlersEvent=function(t){var e=this;t.on("legend-handler-min:drag",(function(t){var i=e.getValueByCanvasPoint(t.x,t.y),n=e.getCurrentValue()[1];ni&&(n=i),e.setValue([n,i])}))},e.prototype.bindRailEvent=function(t){},e.prototype.bindTrackEvent=function(t){var e=this,i=null;t.on("legend-track:dragstart",(function(t){i={x:t.x,y:t.y}})),t.on("legend-track:drag",(function(t){if(i){var n=e.getValueByCanvasPoint(i.x,i.y),r=e.getValueByCanvasPoint(t.x,t.y),o=e.getCurrentValue(),a=o[1]-o[0],s=e.getRange(),l=r-n;l<0?o[0]+l>s.min?e.setValue([o[0]+l,o[1]+l]):e.setValue([s.min,s.min+a]):l>0&&(l>0&&o[1]+lr&&(l=r),l0&&this.changeRailLength(n,r,i[r]-u)}},e.prototype.changeRailLength=function(t,e,i){var n,r=t.getBBox();n="height"===e?this.getRailPath(r.x,r.y,r.width,i):this.getRailPath(r.x,r.y,i,r.height),t.attr("path",n)},e.prototype.changeRailPosition=function(t,e,i){var n=t.getBBox(),r=this.getRailPath(e,i,n.width,n.height);t.attr("path",r)},e.prototype.fixedHorizontal=function(t,e,i,n){var r=this.get("label"),o=r.align,a=r.spacing,s=i.getBBox(),l=t.getBBox(),u=e.getBBox(),c=s.height;this.fitRailLength(l,u,s,i),s=i.getBBox(),"rail"===o?(t.attr({x:n.x,y:n.y+c/2}),this.changeRailPosition(i,n.x+l.width+a,n.y),e.attr({x:n.x+l.width+s.width+2*a,y:n.y+c/2})):"top"===o?(t.attr({x:n.x,y:n.y}),e.attr({x:n.x+s.width,y:n.y}),this.changeRailPosition(i,n.x,n.y+l.height+a)):(this.changeRailPosition(i,n.x,n.y),t.attr({x:n.x,y:n.y+s.height+a}),e.attr({x:n.x+s.width,y:n.y+s.height+a}))},e.prototype.fixedVertail=function(t,e,i,n){var r=this.get("label"),o=r.align,a=r.spacing,s=i.getBBox(),l=t.getBBox(),u=e.getBBox();if(this.fitRailLength(l,u,s,i),s=i.getBBox(),"rail"===o)t.attr({x:n.x,y:n.y}),this.changeRailPosition(i,n.x,n.y+l.height+a),e.attr({x:n.x,y:n.y+l.height+s.height+2*a});else if("right"===o)t.attr({x:n.x+s.width+a,y:n.y}),this.changeRailPosition(i,n.x,n.y),e.attr({x:n.x+s.width+a,y:n.y+s.height});else{var c=Math.max(l.width,u.width);t.attr({x:n.x,y:n.y}),this.changeRailPosition(i,n.x+c+a,n.y),e.attr({x:n.x,y:n.y+s.height})}},e}(Lt),kt=i(40),Bt="g2-tooltip",Ft="g2-tooltip-title",Rt="g2-tooltip-list",Nt="g2-tooltip-list-item",Yt="g2-tooltip-marker",Gt="g2-tooltip-value",Xt="g2-tooltip-name",Vt="g2-tooltip-crosshair-x",zt="g2-tooltip-crosshair-y",Ht=((Tt={})[""+Bt]={position:"absolute",visibility:"visible",zIndex:8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)",backgroundColor:"rgba(255, 255, 255, 0.9)",boxShadow:"0px 0px 10px #aeaeae",borderRadius:"3px",color:"rgb(87, 87, 87)",fontSize:"12px",fontFamily:z.fontFamily,lineHeight:"20px",padding:"10px 10px 6px 10px"},Tt[""+Ft]={marginBottom:"4px"},Tt[""+Rt]={margin:"0px",listStyleType:"none",padding:"0px"},Tt[""+Nt]={listStyleType:"none",marginBottom:"4px"},Tt[""+Yt]={width:"8px",height:"8px",borderRadius:"50%",display:"inline-block",marginRight:"8px"},Tt[""+Gt]={display:"inline-block",float:"right",marginLeft:"30px"},Tt[""+Vt]={position:"absolute",width:"1px",backgroundColor:"rgba(0, 0, 0, 0.25)"},Tt[""+zt]={position:"absolute",height:"1px",backgroundColor:"rgba(0, 0, 0, 0.25)"},Tt);var Wt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"tooltip",type:"html",x:0,y:0,items:[],customContent:null,containerTpl:'
    ',itemTpl:'
  • \n \n {name}:\n {value}\n
  • ',xCrosshairTpl:'
    ',yCrosshairTpl:'
    ',title:null,showTitle:!0,region:null,crosshairsRegion:null,containerClassName:Bt,crosshairs:null,offset:10,position:"right",domStyles:null,defaultStyles:Ht})},e.prototype.render=function(){this.get("customContent")?this.renderCustomContent():(this.resetTitle(),this.renderItems()),this.resetPosition()},e.prototype.clear=function(){this.clearCrosshairs(),this.setTitle(""),this.clearItemDoms()},e.prototype.show=function(){var t=this.getContainer();t&&!this.destroyed&&(this.set("visible",!0),Object(Mt.modifyCSS)(t,{visibility:"visible"}),this.setCrossHairsVisible(!0))},e.prototype.hide=function(){var t=this.getContainer();t&&!this.destroyed&&(this.set("visible",!1),Object(Mt.modifyCSS)(t,{visibility:"hidden"}),this.setCrossHairsVisible(!1))},e.prototype.getLocation=function(){return{x:this.get("x"),y:this.get("y")}},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetPosition()},e.prototype.setCrossHairsVisible=function(t){var e=t?"":"none",i=this.get("xCrosshairDom"),n=this.get("yCrosshairDom");i&&Object(Mt.modifyCSS)(i,{display:e}),n&&Object(Mt.modifyCSS)(n,{display:e})},e.prototype.initContainer=function(){if(t.prototype.initContainer.call(this),this.get("customContent")){this.get("container")&&this.get("container").remove();var e=this.getHtmlContentNode();this.get("parent").appendChild(e),this.set("container",e),this.resetStyles(),this.applyStyles()}},e.prototype.updateInner=function(e){var i,n,r;this.get("customContent")?this.renderCustomContent():(i=e,n=["title","showTitle"],r=!1,Object(g.each)(n,(function(t){if(Object(g.hasKey)(i,t))return r=!0,!1})),r&&this.resetTitle(),Object(g.hasKey)(e,"items")&&this.renderItems()),t.prototype.updateInner.call(this,e)},e.prototype.initDom=function(){this.cacheDoms()},e.prototype.removeDom=function(){t.prototype.removeDom.call(this),this.clearCrosshairs()},e.prototype.resetPosition=function(){var t,e=this.get("x"),i=this.get("y"),n=this.get("offset"),r=this.getOffset(),o=r.offsetX,a=r.offsetY,s=this.get("position"),l=this.get("region"),u=this.getContainer(),c=this.getBBox(),h=c.width,p=c.height;l&&(t=j(l));var f=function(t,e,i,n,r,o,a){var s=function(t,e,i,n,r,o){var a=t,s=e;switch(o){case"left":a=t-n-i,s=e-r/2;break;case"right":a=t+i,s=e-r/2;break;case"top":a=t-n/2,s=e-r-i;break;case"bottom":a=t-n/2,s=e+i;break;default:a=t+i,s=e-r-i}return{x:a,y:s}}(t,e,i,n,r,o);if(a){var l=function(t,e,i,n,r){return{left:tr.x+r.width,top:er.y+r.height}}(s.x,s.y,n,r,a);"auto"===o?(l.right&&(s.x=Math.max(0,t-n-i)),l.top&&(s.y=Math.max(0,e-r-i))):"top"===o||"bottom"===o?(l.left&&(s.x=a.x),l.right&&(s.x=a.x+a.width-n),"top"===o&&l.top&&(s.y=e+i),"bottom"===o&&l.bottom&&(s.y=e-r-i)):(l.top&&(s.y=a.y),l.bottom&&(s.y=a.y+a.height-r),"left"===o&&l.left&&(s.x=t+i),"right"===o&&l.right&&(s.x=t-n-i))}return s}(e,i,n,h,p,s,t);Object(Mt.modifyCSS)(u,{left:L(f.x+o),top:L(f.y+a)}),this.resetCrosshairs()},e.prototype.renderCustomContent=function(){var t=this.getHtmlContentNode(),e=this.get("parent"),i=this.get("container");i&&i.parentNode===e?e.replaceChild(t,i):e.appendChild(t),this.set("container",t),this.resetStyles(),this.applyStyles()},e.prototype.getHtmlContentNode=function(){var t,e=this.get("customContent");if(e){var i=e(this.get("title"),this.get("items"));t=Object(g.isElement)(i)?i:Object(Mt.createDom)(i)}return t},e.prototype.cacheDoms=function(){var t=this.getContainer(),e=t.getElementsByClassName(Ft)[0],i=t.getElementsByClassName(Rt)[0];this.set("titleDom",e),this.set("listDom",i)},e.prototype.resetTitle=function(){var t=this.get("title");this.get("showTitle")&&t?this.setTitle(t):this.setTitle("")},e.prototype.setTitle=function(t){var e=this.get("titleDom");e&&(e.innerText=t)},e.prototype.resetCrosshairs=function(){var t=this.get("crosshairsRegion"),e=this.get("crosshairs");if(t&&e){var i=j(t),n=this.get("xCrosshairDom"),r=this.get("yCrosshairDom");"x"===e?(this.resetCrosshair("x",i),r&&(r.remove(),this.set("yCrosshairDom",null))):"y"===e?(this.resetCrosshair("y",i),n&&(n.remove(),this.set("xCrosshairDom",null))):(this.resetCrosshair("x",i),this.resetCrosshair("y",i)),this.setCrossHairsVisible(this.get("visible"))}else this.clearCrosshairs()},e.prototype.resetCrosshair=function(t,e){var i=this.checkCrosshair(t),n=this.get(t);"x"===t?Object(Mt.modifyCSS)(i,{left:L(n),top:L(e.y),height:L(e.height)}):Object(Mt.modifyCSS)(i,{top:L(n),left:L(e.x),width:L(e.width)})},e.prototype.checkCrosshair=function(t){var e=t+"CrosshairDom",i=t+"CrosshairTpl",n="CROSSHAIR_"+t.toUpperCase(),r=p[n],o=this.get(e),a=this.get("parent");return o||(o=Object(Mt.createDom)(this.get(i)),this.applyStyle(r,o),a.appendChild(o),this.set(e,o)),o},e.prototype.renderItems=function(){this.clearItemDoms();var t=this.get("items"),e=this.get("itemTpl"),i=this.get("listDom");i&&(Object(g.each)(t,(function(t){var n=kt.default.toCSSGradient(t.color),r=Object(d.__assign)(Object(d.__assign)({},t),{color:n}),o=Object(g.substitute)(e,r),a=Object(Mt.createDom)(o);i.appendChild(a)})),this.applyChildrenStyles(i,this.get("domStyles")))},e.prototype.clearItemDoms=function(){this.get("listDom")&&S(this.get("listDom"))},e.prototype.clearCrosshairs=function(){var t=this.get("xCrosshairDom"),e=this.get("yCrosshairDom");t&&t.remove(),e&&e.remove(),this.set("xCrosshairDom",null),this.set("yCrosshairDom",null)},e}(Ct),qt={opacity:0},Ut={stroke:"#C5C5C5",strokeOpacity:.85},Kt={fill:"#CACED4",opacity:.85},Zt=i(78),$t=i(21);function Qt(t){return function(t){return Object(g.map)(t,(function(t,e){return[0===e?"M":"L",t[0],t[1]]}))}(t)}function Jt(t,e,i,n){void 0===n&&(n=!0);var r=new $t.Linear({values:t}),o=new $t.Category({values:Object(g.map)(t,(function(t,e){return e}))}),a=Object(g.map)(t,(function(t,n){return[o.scale(n)*e,i-r.scale(t)*i]}));return n?function(t){if(t.length<=2)return Qt(t);var e=[];Object(g.each)(t,(function(t){Object(g.isEqual)(t,e.slice(e.length-2))||e.push(t[0],t[1])}));var i=Object(Zt.a)(e,!1),n=Object(g.head)(t),r=n[0],o=n[1];return i.unshift(["M",r,o]),i}(a):Qt(a)}var te=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"trend",x:0,y:0,width:200,height:16,smooth:!0,isArea:!1,data:[],backgroundStyle:qt,lineStyle:Ut,areaStyle:Kt})},e.prototype.renderInner=function(t){var e=this.cfg,i=e.width,n=e.height,r=e.data,o=e.smooth,a=e.isArea,s=e.backgroundStyle,l=e.lineStyle,u=e.areaStyle;this.addShape(t,{id:this.getElementId("background"),type:"rect",attrs:Object(d.__assign)({x:0,y:0,width:i,height:n},s)});var c=Jt(r,i,n,o);if(this.addShape(t,{id:this.getElementId("line"),type:"path",attrs:Object(d.__assign)({path:c},l)}),a){var h=function(t,e,i){var n=Object(d.__spreadArrays)(t);return n.push(["L",e,0]),n.push(["L",0,i]),n.push(["Z"]),n}(c,i,n);this.addShape(t,{id:this.getElementId("area"),type:"path",attrs:Object(d.__assign)({path:h},u)})}},e.prototype.applyOffset=function(){var t=this.cfg,e=t.x,i=t.y;this.moveElementTo(this.get("group"),{x:e,y:i})},e}(N),ee={fill:"#416180",opacity:.05},ie={fill:"#5B8FF9",opacity:.15,cursor:"move"},ne={width:10,height:24},re={textBaseline:"middle",fill:"#000",opacity:.45},oe={fill:"#F7F7F7",stroke:"#BFBFBF",radius:2,opacity:1,cursor:"ew-resize",highLightFill:"#FFF"},ae=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(d.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"handler",x:0,y:0,width:10,height:24,style:oe})},e.prototype.renderInner=function(t){var e=this.cfg,i=e.width,n=e.height,r=e.style,o=r.fill,a=r.stroke,s=r.radius,l=r.opacity,u=r.cursor;this.addShape(t,{type:"rect",id:this.getElementId("background"),attrs:{x:0,y:0,width:i,height:n,fill:o,stroke:a,radius:s,opacity:l,cursor:u}});var c=1/3*i,h=2/3*i,p=1/4*n,f=3/4*n;this.addShape(t,{id:this.getElementId("line-left"),type:"line",attrs:{x1:c,y1:p,x2:c,y2:f,stroke:a,cursor:u}}),this.addShape(t,{id:this.getElementId("line-right"),type:"line",attrs:{x1:h,y1:p,x2:h,y2:f,stroke:a,cursor:u}})},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.bindEvents=function(){var t=this;this.get("group").on("mouseenter",(function(){var e=t.get("style").highLightFill;t.getElementByLocalId("background").attr("fill",e),t.draw()})),this.get("group").on("mouseleave",(function(){var e=t.get("style").fill;t.getElementByLocalId("background").attr("fill",e),t.draw()}))},e.prototype.draw=function(){var t=this.get("container").get("canvas");t&&t.draw()},e}(N),se=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.onMouseDown=function(t){return function(i){e.currentTarget=t;var n=i.originalEvent;n.stopPropagation(),n.preventDefault(),e.prevX=Object(g.get)(n,"touches.0.pageX",n.pageX),e.prevY=Object(g.get)(n,"touches.0.pageY",n.pageY);var r=e.getContainerDOM();r.addEventListener("mousemove",e.onMouseMove),r.addEventListener("mouseup",e.onMouseUp),r.addEventListener("mouseleave",e.onMouseUp),r.addEventListener("touchmove",e.onMouseMove),r.addEventListener("touchend",e.onMouseUp),r.addEventListener("touchcancel",e.onMouseUp)}},e.onMouseMove=function(t){var i=e.cfg.width,n=[e.get("start"),e.get("end")];t.stopPropagation(),t.preventDefault();var r=Object(g.get)(t,"touches.0.pageX",t.pageX),o=Object(g.get)(t,"touches.0.pageY",t.pageY),a=r-e.prevX,s=e.adjustOffsetRange(a/i);e.updateStartEnd(s),e.updateUI(e.getElementByLocalId("foreground"),e.getElementByLocalId("minText"),e.getElementByLocalId("maxText")),e.prevX=r,e.prevY=o,e.draw(),e.emit("sliderchange",[e.get("start"),e.get("end")].sort()),e.delegateEmit("valuechanged",{originValue:n,value:[e.get("start"),e.get("end")]})},e.onMouseUp=function(){e.currentTarget&&(e.currentTarget=void 0);var t=e.getContainerDOM();t&&(t.removeEventListener("mousemove",e.onMouseMove),t.removeEventListener("mouseup",e.onMouseUp),t.removeEventListener("mouseleave",e.onMouseUp),t.removeEventListener("touchmove",e.onMouseMove),t.removeEventListener("touchend",e.onMouseUp),t.removeEventListener("touchcancel",e.onMouseUp))},e}return Object(d.__extends)(e,t),e.prototype.setRange=function(t,e){this.set("minLimit",t),this.set("maxLimit",e);var i=this.get("start"),n=this.get("end"),r=Object(g.clamp)(i,t,e),o=Object(g.clamp)(n,t,e);this.get("isInit")||i===r&&n===o||this.setValue([r,o])},e.prototype.getRange=function(){return{min:this.get("minLimit")||0,max:this.get("maxLimit")||1}},e.prototype.setValue=function(t){var e=this.getRange();if(Object(g.isArray)(t)&&2===t.length){var i=[this.get("start"),this.get("end")];this.update({start:Object(g.clamp)(t[0],e.min,e.max),end:Object(g.clamp)(t[1],e.min,e.max)}),this.get("updateAutoRender")||this.render(),this.delegateEmit("valuechanged",{originValue:i,value:t})}},e.prototype.getValue=function(){return[this.get("start"),this.get("end")]},e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"slider",x:0,y:0,width:100,height:16,backgroundStyle:{},foregroundStyle:{},handlerStyle:{},textStyle:{},defaultCfg:{backgroundStyle:ee,foregroundStyle:ie,handlerStyle:ne,textStyle:re}})},e.prototype.update=function(e){var i=e.start,n=e.end,r=Object(d.__assign)({},e);Object(g.isNil)(i)||(r.start=Object(g.clamp)(i,0,1)),Object(g.isNil)(n)||(r.end=Object(g.clamp)(n,0,1)),t.prototype.update.call(this,r),this.minHandler=this.getChildComponentById(this.getElementId("minHandler")),this.maxHandler=this.getChildComponentById(this.getElementId("maxHandler"))},e.prototype.init=function(){this.set("start",Object(g.clamp)(this.get("start"),0,1)),this.set("end",Object(g.clamp)(this.get("end"),0,1)),t.prototype.init.call(this)},e.prototype.renderInner=function(t){var e=this.cfg,i=(e.start,e.end,e.width),n=e.height,r=e.trendCfg,o=void 0===r?{}:r,a=e.minText,s=e.maxText,l=e.backgroundStyle,u=void 0===l?{}:l,c=e.foregroundStyle,h=void 0===c?{}:c,p=e.textStyle,f=void 0===p?{}:p,y=e.handlerStyle,v=void 0===y?{}:y;Object(g.size)(Object(g.get)(o,"data"))&&this.addComponent(t,Object(d.__assign)({component:te,id:this.getElementId("trend"),x:0,y:0,width:i,height:n},o)),this.addShape(t,{id:this.getElementId("background"),type:"rect",attrs:Object(d.__assign)({x:0,y:0,width:i,height:n},u)});var m=this.addShape(t,{id:this.getElementId("minText"),type:"text",attrs:Object(d.__assign)({y:n/2,textAlign:"right",text:a,silent:!1},f)}),x=this.addShape(t,{id:this.getElementId("maxText"),type:"text",attrs:Object(d.__assign)({y:n/2,textAlign:"left",text:s,silent:!1},f)}),b=this.addShape(t,{id:this.getElementId("foreground"),name:"foreground",type:"rect",attrs:Object(d.__assign)({y:0,height:n},h)}),_=Object(g.get)(v,"height",24);this.minHandler=this.addComponent(t,Object(d.__assign)({component:ae,id:this.getElementId("minHandler"),name:"handler-min",x:0,y:(n-_)/2,width:i,height:_,cursor:"ew-resize"},v)),this.maxHandler=this.addComponent(t,Object(d.__assign)({component:ae,id:this.getElementId("maxHandler"),name:"handler-max",x:0,y:(n-_)/2,width:i,height:_,cursor:"ew-resize"},v)),this.updateUI(b,m,x)},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.updateUI=function(t,e,i){var n=this.cfg,r=n.start,o=n.end,a=n.width,s=n.minText,l=n.maxText,u=n.handlerStyle,c=r*a,h=o*a;t.attr("x",c),t.attr("width",h-c);var p=Object(g.get)(u,"width",10);e.attr("text",s),i.attr("text",l);var f=this._dodgeText([c,h],e,i),d=f[0],y=f[1];this.minHandler&&(this.minHandler.update({x:c-p/2}),this.get("updateAutoRender")||this.minHandler.render()),Object(g.each)(d,(function(t,i){return e.attr(i,t)})),this.maxHandler&&(this.maxHandler.update({x:h-p/2}),this.get("updateAutoRender")||this.maxHandler.render()),Object(g.each)(y,(function(t,e){return i.attr(e,t)}))},e.prototype.bindEvents=function(){var t=this.get("group");t.on("handler-min:mousedown",this.onMouseDown("minHandler")),t.on("handler-min:touchstart",this.onMouseDown("minHandler")),t.on("handler-max:mousedown",this.onMouseDown("maxHandler")),t.on("handler-max:touchstart",this.onMouseDown("maxHandler"));var e=t.findById(this.getElementId("foreground"));e.on("mousedown",this.onMouseDown("foreground")),e.on("touchstart",this.onMouseDown("foreground"))},e.prototype.adjustOffsetRange=function(t){var e=this.cfg,i=e.start,n=e.end;switch(this.currentTarget){case"minHandler":var r=0-i,o=1-i;return Math.min(o,Math.max(r,t));case"maxHandler":r=0-n,o=1-n;return Math.min(o,Math.max(r,t));case"foreground":r=0-i,o=1-n;return Math.min(o,Math.max(r,t))}},e.prototype.updateStartEnd=function(t){var e=this.cfg,i=e.start,n=e.end;switch(this.currentTarget){case"minHandler":i+=t;break;case"maxHandler":n+=t;break;case"foreground":i+=t,n+=t}this.set("start",i),this.set("end",n)},e.prototype._dodgeText=function(t,e,i){var n,r,o=this.cfg,a=o.handlerStyle,s=o.width,l=Object(g.get)(a,"width",10),u=t[0],c=t[1],h=!1;u>c&&(u=(n=[c,u])[0],c=n[1],e=(r=[i,e])[0],i=r[1],h=!0);var p=e.getBBox(),f=i.getBBox(),d=p.width>u-2?{x:u+l/2+2,textAlign:"left"}:{x:u-l/2-2,textAlign:"right"},y=f.width>s-c-2?{x:c-l/2-2,textAlign:"right"}:{x:c+l/2+2,textAlign:"left"};return h?[y,d]:[d,y]},e.prototype.draw=function(){var t=this.get("container"),e=t&&t.get("canvas");e&&e.draw()},e.prototype.getContainerDOM=function(){var t=this.get("container"),e=t&&t.get("canvas");return e&&e.get("container")},e}(N),le={default:{trackColor:"rgba(0,0,0,0)",thumbColor:"rgba(0,0,0,0.15)",size:8,lineCap:"round"},hover:{thumbColor:"rgba(0,0,0,0.2)"}},ue=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.clearEvents=g.noop,e.onStartEvent=function(t){return function(i){e.isMobile=t,i.originalEvent.preventDefault();var n=t?Object(g.get)(i.originalEvent,"touches.0.clientX"):i.clientX,r=t?Object(g.get)(i.originalEvent,"touches.0.clientY"):i.clientY;e.startPos=e.cfg.isHorizontal?n:r,e.bindLaterEvent()}},e.bindLaterEvent=function(){var t=e.getContainerDOM(),i=[];i=e.isMobile?[Object(Mt.addEventListener)(t,"touchmove",e.onMouseMove),Object(Mt.addEventListener)(t,"touchend",e.onMouseUp),Object(Mt.addEventListener)(t,"touchcancel",e.onMouseUp)]:[Object(Mt.addEventListener)(t,"mousemove",e.onMouseMove),Object(Mt.addEventListener)(t,"mouseup",e.onMouseUp),Object(Mt.addEventListener)(t,"mouseleave",e.onMouseUp)],e.clearEvents=function(){i.forEach((function(t){t.remove()}))}},e.onMouseMove=function(t){var i=e.cfg,n=i.isHorizontal,r=i.thumbOffset;t.preventDefault();var o=e.isMobile?Object(g.get)(t,"touches.0.clientX"):t.clientX,a=e.isMobile?Object(g.get)(t,"touches.0.clientY"):t.clientY,s=n?o:a,l=s-e.startPos;e.startPos=s,e.updateThumbOffset(r+l)},e.onMouseUp=function(t){t.preventDefault(),e.clearEvents()},e.onTrackClick=function(t){var i=e.cfg,n=i.isHorizontal,r=i.x,o=i.y,a=i.thumbLen,s=e.getContainerDOM().getBoundingClientRect(),l=t.clientX,u=t.clientY,c=n?l-s.left-r-a/2:u-s.top-o-a/2,h=e.validateRange(c);e.updateThumbOffset(h)},e.onThumbMouseOver=function(){var t=e.cfg.theme.hover.thumbColor;e.getElementByLocalId("thumb").attr("stroke",t),e.draw()},e.onThumbMouseOut=function(){var t=e.cfg.theme.default.thumbColor;e.getElementByLocalId("thumb").attr("stroke",t),e.draw()},e}return Object(d.__extends)(e,t),e.prototype.setRange=function(t,e){this.set("minLimit",t),this.set("maxLimit",e);var i=this.getValue(),n=Object(g.clamp)(i,t,e);i===n||this.get("isInit")||this.setValue(n)},e.prototype.getRange=function(){return{min:this.get("minLimit")||0,max:this.get("maxLimit")||1}},e.prototype.setValue=function(t){var e=this.getRange(),i=this.getValue();this.update({thumbOffset:(this.get("trackLen")-this.get("thumbLen"))*Object(g.clamp)(t,e.min,e.max)}),this.delegateEmit("valuechange",{originalValue:i,value:this.getValue()})},e.prototype.getValue=function(){return Object(g.clamp)(this.get("thumbOffset")/(this.get("trackLen")-this.get("thumbLen")),0,1)},e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return Object(d.__assign)(Object(d.__assign)({},e),{name:"scrollbar",isHorizontal:!0,minThumbLen:20,thumbOffset:0,theme:le})},e.prototype.renderInner=function(t){this.renderTrackShape(t),this.renderThumbShape(t)},e.prototype.applyOffset=function(){this.moveElementTo(this.get("group"),{x:this.get("x"),y:this.get("y")})},e.prototype.initEvent=function(){this.bindEvents()},e.prototype.renderTrackShape=function(t){var e=this.cfg,i=e.trackLen,n=e.theme,r=(void 0===n?{default:{}}:n).default,o=r.lineCap,a=r.trackColor,s=r.size,l=this.get("isHorizontal")?{x1:0+s/2,y1:s/2,x2:i-s/2,y2:s/2,lineWidth:s,stroke:a,lineCap:o}:{x1:s/2,y1:0+s/2,x2:s/2,y2:i-s/2,lineWidth:s,stroke:a,lineCap:o};return this.addShape(t,{id:this.getElementId("track"),name:"track",type:"line",attrs:l})},e.prototype.renderThumbShape=function(t){var e=this.cfg,i=e.thumbOffset,n=e.thumbLen,r=e.theme,o=(void 0===r?{default:{}}:r).default,a=o.size,s=o.lineCap,l=o.thumbColor,u=this.get("isHorizontal")?{x1:i+a/2,y1:a/2,x2:i+n-a/2,y2:a/2,lineWidth:a,stroke:l,lineCap:s,cursor:"default"}:{x1:a/2,y1:i+a/2,x2:a/2,y2:i+n-a/2,lineWidth:a,stroke:l,lineCap:s,cursor:"default"};return this.addShape(t,{id:this.getElementId("thumb"),name:"thumb",type:"line",attrs:u})},e.prototype.bindEvents=function(){var t=this.get("group");t.on("mousedown",this.onStartEvent(!1)),t.on("mouseup",this.onMouseUp),t.on("touchstart",this.onStartEvent(!0)),t.on("touchend",this.onMouseUp),t.findById(this.getElementId("track")).on("click",this.onTrackClick);var e=t.findById(this.getElementId("thumb"));e.on("mouseover",this.onThumbMouseOver),e.on("mouseout",this.onThumbMouseOut)},e.prototype.getContainerDOM=function(){var t=this.get("container"),e=t&&t.get("canvas");return e&&e.get("container")},e.prototype.validateRange=function(t){var e=this.cfg,i=e.thumbLen,n=e.trackLen,r=t;return t+i>n?r=n-i:t+i(i-t)*(i-t)+(r-e)*(r-e)?n.distance(i,r,o,a):this.pointToLine(t,e,i,r,o,a)},pointToLine:function(t,e,i,n,o,a){var s=[i-t,n-e];if(r.exactEquals(s,[0,0]))return Math.sqrt((o-t)*(o-t)+(a-e)*(a-e));var l=[-s[1],s[0]];r.normalize(l,l);var u=[o-t,a-e];return Math.abs(r.dot(u,l))},tangentAngle:function(t,e,i,n){return Math.atan2(n-e,i-t)}}},function(t,e,i){"use strict";i.d(e,"c",(function(){return p})),i.d(e,"b",(function(){return f})),i.d(e,"a",(function(){return d}));var n=i(1),r=i(35);function o(t){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var a=Math.sin,s=Math.cos,l=Math.atan2,u=Math.PI;function c(t,e,i,n,o,c,h){var p=e.stroke,f=e.lineWidth,d=l(n-c,i-o),g=new r.Path({type:"path",canvas:t.get("canvas"),isArrowShape:!0,attrs:{path:"M"+10*s(u/6)+","+10*a(u/6)+" L0,0 L"+10*s(u/6)+",-"+10*a(u/6),stroke:p,lineWidth:f}});g.translate(o,c),g.rotateAtPoint(o,c,d),t.set(h?"startArrowShape":"endArrowShape",g)}function h(t,e,i,o,u,c,h){var p=e.startArrow,f=e.endArrow,d=e.stroke,g=e.lineWidth,y=h?p:f,v=y.d,m=y.fill,x=y.stroke,b=y.lineWidth,_=Object(n.__rest)(y,["d","fill","stroke","lineWidth"]),O=l(o-c,i-u);v&&(u-=s(O)*v,c-=a(O)*v);var w=new r.Path({type:"path",canvas:t.get("canvas"),isArrowShape:!0,attrs:Object(n.__assign)(Object(n.__assign)({},_),{stroke:x||d,lineWidth:b||g,fill:m})});w.translate(u,c),w.rotateAtPoint(u,c,O),t.set(h?"startArrowShape":"endArrowShape",w)}function p(t,e,i,n,r){var o=l(n-e,i-t);return{dx:s(o)*r,dy:a(o)*r}}function f(t,e,i,n,r,a){"object"===o(e.startArrow)?h(t,e,i,n,r,a,!0):e.startArrow?c(t,e,i,n,r,a,!0):t.set("startArrowShape",null)}function d(t,e,i,n,r,a){"object"===o(e.endArrow)?h(t,e,i,n,r,a,!1):e.endArrow?c(t,e,i,n,r,a,!1):t.set("startArrowShape",null)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getLabelComponent=e.registerLabelComponent=void 0;var n=i(1),r=i(0),o=n.__importDefault(i(54)),a=i(8),s=n.__importDefault(i(13)),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.labelsCfgMap={},e.lastLabelsCfgMap={},e}return n.__extends(e,t),e.prototype.getGeometry=function(){return this.geometry},e.prototype.getLabels=function(){return this.labels},e.prototype.show=function(){this.container.show()},e.prototype.hide=function(){this.container.hide()},e.prototype.initConfig=function(t){var e=this;this.layer=t.layer;var i=this.layer.view;this.view=i,this.geometry=t.geometry,this.coord=i.getCoordinate(),this.options=r.deepMix(this.getDefaultOptions(),t.label);var n=function(){e.clear(),e.labelsCfgMap={},e.lastLabelsCfgMap={},e.render()};i.on(a.VIEW_LIFE_CIRCLE.AFTER_PAINT,n),this.addDisposable((function(){i.off(a.VIEW_LIFE_CIRCLE.AFTER_PAINT,n)}))},e.prototype.renderInner=function(t){var e=this;this.labels=[],this.labelsCfgMap={},r.each(this.geometry.elements,(function(i,n){var o=[].concat(e.drawLabelItem(t,i,n));r.each(o,(function(t,n){e.adjustLabel(t,i,n),t.destroyed||(e.labels.push(t),e.labelsCfgMap[t.get("id")]=r.clone(t.attrs))}))})),this.layoutLabels(this.geometry,this.labels);var i=this.lastLabelsCfgMap,o=this.labelsCfgMap,s=!!this.geometry.animateOption&&a.getDefaultAnimateCfg("label",this.coord);r.each(o,(function(o,l){var u=t.findById(l);if(u)if(i[l]){var c=i[l],h=r.get(s,"update");h&&(u.stopAnimate(),u.attr(c),a.doAnimate(u,h,{toAttrs:n.__assign({},o),coordinate:e.coord}))}else{var p=r.get(s,"appear");p&&(u.stopAnimate(),a.doAnimate(u,p,{toAttrs:n.__assign({},u.attr()),coordinate:e.coord}))}delete i[l]})),r.each(i,(function(i,n){var o=r.get(s,"leave");if(o){var l=t.addShape("text",{attrs:i,id:n,name:"label"});l.stopAnimate(),a.doAnimate(l,o,{toAttrs:null,coordinate:e.coord})}})),this.lastLabelsCfgMap=this.labelsCfgMap},e.prototype.drawLabelText=function(t,e,i){return void 0===i&&(i={}),t.addShape("text",n.__assign({attrs:e},i))},e.prototype.drawLabelItem=function(t,e,i){var o=this,s=e.getModel(),l=[].concat(this.getLabelItemAttrs(e,i)),u=this.getDefaultOffset(),c=this.getLabelOffset();return r.map(l,(function(i,l){var h,p={x:i.x+c.x,y:i.y+c.y},f=r.isArray(s.mappingData)?s.mappingData[l]:s.mappingData,d=o.getLabelId(f);return o.drawLabelText(t,n.__assign(n.__assign({},i),p),((h={id:d,name:"label",offset:u,element:e})[a.ORIGIN]=f,h))}))},e.prototype.getDefaultOffset=function(){return Number(this.options.offset)},e.prototype.getLabelOffset=function(){var t=this.options,e=t.offsetX,i=t.offsetY;return{x:r.isNumber(e)?e:0,y:r.isNumber(i)?i:0}},e.prototype.getLabelOffsetByDimAndFactor=function(t,e){var i=this.options,n=i.offsetX,o=i.offsetY,a=this.getDefaultOffset(),s={x:0,y:0};return s[t]=a*e,r.isNumber(n)&&(s.x+=n),r.isNumber(o)&&(s.y+=o),s},e.prototype.getDefaultOptions=function(){return{}},e.prototype.layoutLabels=function(t,e){},e.prototype.getLabelId=function(t){var e=t._origin,i=this.geometry.type,n=this.geometry.getXScale(),r=this.geometry.getYScale(),o=this.geometry.getElementId(t);return"line"===i||"area"===i?o+=" "+e[n.field]:"path"===i&&(o+=" "+e[n.field]+"-"+e[r.field]),o},e.prototype.getCoordinateBBox=function(){var t=this.coord,e=t.start,i=t.end;return new s.default(Math.min(e.x,i.x),Math.min(e.y,i.y),t.getWidth(),t.getHeight())},e}(o.default);e.default=l;var u={};e.registerLabelComponent=function(t,e){u[t]=e},e.getLabelComponent=function(t){return u[t]}},function(t,e,i){"use strict";i.r(e),i.d(e,"Category",(function(){return u})),i.d(e,"Identity",(function(){return L})),i.d(e,"Linear",(function(){return b})),i.d(e,"Log",(function(){return M})),i.d(e,"Pow",(function(){return C})),i.d(e,"Time",(function(){return S})),i.d(e,"TimeCat",(function(){return m})),i.d(e,"Quantile",(function(){return P})),i.d(e,"Quantize",(function(){return j})),i.d(e,"Scale",(function(){return s})),i.d(e,"getScale",(function(){return A})),i.d(e,"registerScale",(function(){return E})),i.d(e,"getTickMethod",(function(){return o})),i.d(e,"registerTickMethod",(function(){return a}));var n=i(0),r={};function o(t){return r[t]}function a(t,e){r[t]=e}var s=function(){function t(t){this.type="base",this.isCategory=!1,this.isLinear=!1,this.isContinuous=!1,this.isIdentity=!1,this.values=[],this.range=[0,1],this.ticks=[],this.__cfg__=t,this.initCfg(),this.init()}return t.prototype.translate=function(t){return t},t.prototype.change=function(t){Object(n.assign)(this.__cfg__,t),this.init()},t.prototype.clone=function(){return this.constructor(this.__cfg__)},t.prototype.getTicks=function(){var t=this;return Object(n.map)(this.ticks,(function(e,i){return Object(n.isObject)(e)?e:{text:t.getText(e,i),tickValue:e,value:t.scale(e)}}))},t.prototype.getText=function(t,e){var i=this.formatter,r=i?i(t,e):t;return Object(n.isNil)(r)||!Object(n.isFunction)(r.toString)?"":r.toString()},t.prototype.getConfig=function(t){return this.__cfg__[t]},t.prototype.init=function(){Object(n.assign)(this,this.__cfg__),this.setDomain(),Object(n.isEmpty)(this.getConfig("ticks"))&&(this.ticks=this.calculateTicks())},t.prototype.initCfg=function(){},t.prototype.setDomain=function(){},t.prototype.calculateTicks=function(){var t=this.tickMethod,e=[];if(Object(n.isString)(t)){var i=o(t);if(!i)throw new Error("There is no method to to calculate ticks!");e=i(this)}else Object(n.isFunction)(t)&&(e=t(this));return e},t.prototype.rangeMin=function(){return Object(n.head)(this.range)},t.prototype.rangeMax=function(){return Object(n.last)(this.range)},t.prototype.calcPercent=function(t,e,i){return Object(n.isNumber)(t)?(t-e)/(i-e):NaN},t.prototype.calcValue=function(t,e,i){return e+t*(i-e)},t}(),l=i(2),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="cat",e.isCategory=!0,e}return Object(l.__extends)(e,t),e.prototype.translate=function(t){var e=Object(n.indexOf)(this.values,t);return-1===e?Object(n.isNumber)(t)?t:NaN:e},e.prototype.scale=function(t){var e=this.translate(t),i=this.calcPercent(e,this.min,this.max);return this.calcValue(i,this.rangeMin(),this.rangeMax())},e.prototype.invert=function(t){var e=this.max-this.min,i=this.calcPercent(t,this.rangeMin(),this.rangeMax()),n=Math.round(e*i)+this.min;return nthis.max?NaN:this.values[n]},e.prototype.getText=function(e){for(var i=[],r=1;r1?t-1:t}},e}(s),c=i(36);function h(t,e){return(c.format||c.default.format)(t,e)}function p(t){return Object(n.isString)(t)&&(t=t.indexOf("T")>0?new Date(t).getTime():new Date(t.replace(/-/gi,"/")).getTime()),Object(n.isDate)(t)&&(t=t.getTime()),t}var f=36e5,d=24*f,g=31*d,y=[["HH:mm:ss",1e3],["HH:mm:ss",1e4],["HH:mm:ss",3e4],["HH:mm",6e4],["HH:mm",6e5],["HH:mm",18e5],["HH",f],["HH",6*f],["HH",12*f],["YYYY-MM-DD",d],["YYYY-MM-DD",4*d],["YYYY-WW",7*d],["YYYY-MM",g],["YYYY-MM",4*g],["YYYY-MM",6*g],["YYYY",380*d]];function v(t,e,i){var r,o=(r=function(t){return t[1]},function(t,e,i,o){for(var a=Object(n.isNil)(i)?0:i,s=Object(n.isNil)(o)?t.length:o;a>>1;r(t[l])>e?s=l:a=l+1}return a})(y,(e-t)/i)-1,a=y[o];return o<0?a=y[0]:o>=y.length&&(a=Object(n.last)(y)),a}var m=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="timeCat",e}return Object(l.__extends)(e,t),e.prototype.translate=function(t){t=p(t);var e=this.values.indexOf(t);return-1===e&&(e=Object(n.isNumber)(t)&&t-1){var n=this.values[i],r=this.formatter;return n=r?r(n,e):h(n,this.mask)}return t},e.prototype.initCfg=function(){this.tickMethod="time-cat",this.mask="YYYY-MM-DD",this.tickCount=7},e.prototype.setDomain=function(){var e=this.values;Object(n.each)(e,(function(t,i){e[i]=p(t)})),e.sort((function(t,e){return t-e})),t.prototype.setDomain.call(this)},e}(u),x=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isContinuous=!0,e}return Object(l.__extends)(e,t),e.prototype.scale=function(t){if(Object(n.isNil)(t))return NaN;var e=this.rangeMin(),i=this.rangeMax();return this.max===this.min?e:e+this.getScalePercent(t)*(i-e)},e.prototype.init=function(){t.prototype.init.call(this);var e=this.ticks,i=Object(n.head)(e),r=Object(n.last)(e);ithis.max&&(this.max=r),Object(n.isNil)(this.minLimit)||(this.min=i),Object(n.isNil)(this.maxLimit)||(this.max=r)},e.prototype.setDomain=function(){var t=Object(n.getRange)(this.values),e=t.min,i=t.max;Object(n.isNil)(this.min)&&(this.min=e),Object(n.isNil)(this.max)&&(this.max=i),this.min>this.max&&(this.min=e,this.max=i)},e.prototype.calculateTicks=function(){var e=this,i=t.prototype.calculateTicks.call(this);return this.nice||(i=Object(n.filter)(i,(function(t){return t>=e.min&&t<=e.max}))),i},e.prototype.getScalePercent=function(t){var e=this.max,i=this.min;return(t-i)/(e-i)},e.prototype.getInvertPercent=function(t){return(t-this.rangeMin())/(this.rangeMax()-this.rangeMin())},e}(s),b=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="linear",e.isLinear=!0,e}return Object(l.__extends)(e,t),e.prototype.invert=function(t){var e=this.getInvertPercent(t);return this.min+e*(this.max-this.min)},e.prototype.initCfg=function(){this.tickMethod="wilkinson-extended",this.nice=!1},e}(x);function _(t,e){var i=Math.E;return e>=0?Math.pow(i,Math.log(e)/t):-1*Math.pow(i,Math.log(-e)/t)}function O(t,e){return 1===t?1:Math.log(e)/Math.log(t)}function w(t,e,i){Object(n.isNil)(i)&&(i=Math.max.apply(null,t));var r=i;return Object(n.each)(t,(function(t){t>0&&t1&&(r=1),r}var M=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="log",e}return Object(l.__extends)(e,t),e.prototype.invert=function(t){var e,i=this.base,n=O(i,this.max),r=this.rangeMin(),o=this.rangeMax()-r,a=this.positiveMin;if(a){if(0===t)return 0;var s=1/(n-(e=O(i,a/i)))*o;if(t=0?1:-1;return Math.pow(o,i)*a},e.prototype.initCfg=function(){this.tickMethod="pow",this.exponent=2,this.tickCount=5,this.nice=!0},e.prototype.getScalePercent=function(t){var e=this.max,i=this.min;if(e===i)return 0;var n=this.exponent;return(_(n,t)-_(n,i))/(_(n,e)-_(n,i))},e}(x),S=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="time",e}return Object(l.__extends)(e,t),e.prototype.getText=function(t,e){var i=this.translate(t),n=this.formatter;return n?n(i,e):h(i,this.mask)},e.prototype.scale=function(e){var i=e;return(Object(n.isString)(i)||Object(n.isDate)(i))&&(i=this.translate(i)),t.prototype.scale.call(this,i)},e.prototype.translate=function(t){return p(t)},e.prototype.initCfg=function(){this.tickMethod="time-pretty",this.mask="YYYY-MM-DD",this.tickCount=7,this.nice=!1},e.prototype.setDomain=function(){var t=this.values,e=this.getConfig("min"),i=this.getConfig("max");if(Object(n.isNil)(e)&&Object(n.isNumber)(e)||(this.min=this.translate(this.min)),Object(n.isNil)(i)&&Object(n.isNumber)(i)||(this.max=this.translate(this.max)),t&&t.length){var r=[],o=1/0,a=o,s=0;Object(n.each)(t,(function(t){var e=p(t);if(isNaN(e))throw new TypeError("Invalid Time: "+t+" in time scale!");o>e?(a=o,o=e):a>e&&(a=e),s1&&(this.minTickInterval=a-o),Object(n.isNil)(e)&&(this.min=o),Object(n.isNil)(i)&&(this.max=s)}},e}(b),j=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="quantize",e}return Object(l.__extends)(e,t),e.prototype.invert=function(t){var e=this.ticks,i=e.length,r=this.getInvertPercent(t),o=Math.floor(r*(i-1));if(o>=i-1)return Object(n.last)(e);if(o<0)return Object(n.head)(e);var a=e[o],s=o/(i-1);return a+(r-s)/((o+1)/(i-1)-s)*(e[o+1]-a)},e.prototype.initCfg=function(){this.tickMethod="r-pretty",this.tickCount=5,this.nice=!0},e.prototype.calculateTicks=function(){var e=t.prototype.calculateTicks.call(this);return this.nice||(Object(n.last)(e)!==this.max&&e.push(this.max),Object(n.head)(e)!==this.min&&e.unshift(this.min)),e},e.prototype.getScalePercent=function(t){var e=this.ticks;if(tObject(n.last)(e))return 1;var i=0;return Object(n.each)(e,(function(e,n){if(!(t>=e))return!1;i=n})),i/(e.length-1)},e}(x),P=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="quantile",e}return Object(l.__extends)(e,t),e.prototype.initCfg=function(){this.tickMethod="quantile",this.tickCount=5,this.nice=!0},e}(j),T={};function A(t){return T[t]}function E(t,e){if(A(t))throw new Error("type '"+t+"' existed.");T[t]=e}var L=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="identity",e.isIdentity=!0,e}return Object(l.__extends)(e,t),e.prototype.calculateTicks=function(){return this.values},e.prototype.scale=function(t){return this.values[0]!==t&&Object(n.isNumber)(t)?t:this.range[0]},e.prototype.invert=function(t){var e=this.range;return te[1]?NaN:this.values[0]},e}(s),I=[1,5,2,2.5,4,3],D=100*Number.EPSILON;function k(t,e,i,r,o,a){var s=Object(n.size)(e),l=Object(n.indexOf)(e,t),u=0,c=function(t,e){return(t%e+e)%e}(r,a);return(c=0&&(u=1),1-l/(s-1)-i+u}function B(t,e,i){var r=Object(n.size)(e);return 1-Object(n.indexOf)(e,t)/(r-1)-i+1}function F(t,e,i,n,r,o){var a=(t-1)/(o-r),s=(e-1)/(Math.max(o,n)-Math.min(i,r));return 2-Math.max(a/s,s/a)}function R(t,e){return t>=e?2-(t-1)/(e-1):1}function N(t,e,i,n){var r=e-t;return 1-.5*(Math.pow(e-n,2)+Math.pow(t-i,2))/Math.pow(.1*r,2)}function Y(t,e,i){var n=e-t;if(i>n){var r=(i-n)/2;return 1-Math.pow(r,2)/Math.pow(.1*n,2)}return 1}function G(t,e,i,r,o,a){if(void 0===i&&(i=5),void 0===r&&(r=!0),void 0===o&&(o=I),void 0===a&&(a=[.25,.2,.5,.05]),t===e||1===i)return{min:t,max:e,ticks:[t]};for(var s={score:-2,lmin:0,lmax:0,lstep:0},l=1;l<1/0;){for(var u=0,c=o;ub)y+=1;else{for(var _=x;_<=b;_+=1){var O=_*(v/l),w=O+v*(f-1),M=v,C=k(h,o,l,O,w,M),S=N(t,e,O,w),j=F(f,i,t,e,O,w),P=a[0]*C+a[1]*S+a[2]*j+1*a[3];P>s.score&&(!r||O<=t&&w>=e)&&(s.lmin=O,s.lmax=w,s.lstep=M,s.score=P)}y+=1}}f+=1}}l+=1}for(var T=Number.isInteger(s.lstep)?0:Math.ceil(Math.abs(Math.log10(s.lstep))),A=[],E=s.lmin;E<=s.lmax;E+=s.lstep)A.push(E);var L=T?Object(n.map)(A,(function(t){return Number.parseFloat(t.toFixed(T))})):A;return{min:Math.min(t,Object(n.head)(L)),max:Math.max(e,Object(n.last)(L)),ticks:L}}function X(t){var e=t.values,i=t.tickInterval,r=t.tickCount,o=e;if(Object(n.isNumber)(i))return Object(n.filter)(o,(function(t,e){return e%i==0}));var a=t.min,s=t.max;if(Object(n.isNil)(a)&&(a=0),Object(n.isNil)(s)&&(s=e.length-1),Object(n.isNumber)(r)&&r=a&&t<=s})).map((function(t){return e[t]}))}return e.slice(a,s+1)}var V=Math.sqrt(50),z=Math.sqrt(10),H=Math.sqrt(2),W=function(){function t(){this._domain=[0,1]}return t.prototype.domain=function(t){return t?(this._domain=Array.from(t,Number),this):this._domain.slice()},t.prototype.nice=function(t){var e,i;void 0===t&&(t=5);var n,r=this._domain.slice(),o=0,a=this._domain.length-1,s=this._domain[o],l=this._domain[a];return l0?n=q(s=Math.floor(s/n)*n,l=Math.ceil(l/n)*n,t):n<0&&(n=q(s=Math.ceil(s*n)/n,l=Math.floor(l*n)/n,t)),n>0?(r[o]=Math.floor(s/n)*n,r[a]=Math.ceil(l/n)*n,this.domain(r)):n<0&&(r[o]=Math.ceil(s*n)/n,r[a]=Math.floor(l*n)/n,this.domain(r)),this},t.prototype.ticks=function(t){return void 0===t&&(t=5),function(t,e,i){var n,r,o,a,s=-1;if(i=+i,(t=+t)===(e=+e)&&i>0)return[t];(n=e0)for(t=Math.ceil(t/a),e=Math.floor(e/a),o=new Array(r=Math.ceil(e-t+1));++s=0?(o>=V?10:o>=z?5:o>=H?2:1)*Math.pow(10,r):-Math.pow(10,-r)/(o>=V?10:o>=z?5:o>=H?2:1)}function U(t,e,i){return("ceil"===i?Math.ceil(t/e):"floor"===i?Math.floor(t/e):Math.round(t/e))*e}function K(t,e,i){var r=U(t,i,"floor"),o=U(e,i,"ceil");r=Object(n.fixedBase)(r,i),o=Object(n.fixedBase)(o,i);for(var a=[],s=r;s<=o;s+=i){var l=Object(n.fixedBase)(s,i);a.push(l)}return{min:r,max:o,ticks:a}}function Z(t,e,i){var r,o=t.minLimit,a=t.maxLimit,s=t.min,l=t.max,u=t.tickCount,c=void 0===u?5:u,h=Object(n.isNil)(o)?Object(n.isNil)(e)?s:e:o,p=Object(n.isNil)(a)?Object(n.isNil)(i)?l:i:a;if(h>p&&(p=(r=[h,p])[0],h=r[1]),c<=2)return[h,p];for(var f=(p-h)/(c-1),d=[],g=0;g1&&(r*=Math.ceil(a)),n&&r31536e6)for(var l=J(i),u=Math.ceil(r/31536e6),c=s;c<=l+u;c+=u)a.push(tt(c));else if(r>g){var h=Math.ceil(r/g),p=et(e),y=function(t,e){var i=J(t),n=J(e),r=et(t);return 12*(n-i)+(et(e)-r)%12}(e,i);for(c=0;c<=y+h;c+=h)a.push(it(s,c+p))}else if(r>d){var v=(O=new Date(e)).getFullYear(),m=O.getMonth(),x=O.getDate(),b=Math.ceil(r/d),_=function(t,e){return Math.ceil((e-t)/d)}(e,i);for(c=0;c<_+b;c+=b)a.push(new Date(v,m,x+c).getTime())}else if(r>f){v=(O=new Date(e)).getFullYear(),m=O.getMonth(),b=O.getDate();var O,w=O.getHours(),M=Math.ceil(r/f),C=function(t,e){return Math.ceil((e-t)/f)}(e,i);for(c=0;c<=C+M;c+=M)a.push(new Date(v,m,b,w+c).getTime())}else if(r>6e4){var S=function(t,e){return Math.ceil((e-t)/6e4)}(e,i),j=Math.ceil(r/6e4);for(c=0;c<=S+j;c+=j)a.push(e+6e4*c)}else{var P=r;P<1e3&&(P=1e3);var T=1e3*Math.floor(e/1e3),A=Math.ceil((i-e)/1e3),E=Math.ceil(P/1e3);for(c=0;c0)e=Math.floor(O(i,r));else{var l=w(a,i,o);e=Math.floor(O(i,l))}for(var u=s-e,c=Math.ceil(u/n),h=[],p=e;p=0?1:-1;return Math.pow(t,e)*i}))})),a("quantile",(function(t){var e=t.tickCount,i=t.values;if(!i||!i.length)return[];for(var n=i.slice().sort((function(t,e){return t-e})),r=[],o=0;o=e&&t<=i}e.dotProduct2D=a,e.angleTo=function(t,e){var i=o(t),n=o(e),r=a(t,e);return Math.acos(r/i/n)},e.crossProduct2D=function(t,e){var i=o(t),n=o(e),r=a(t,e),s=Math.acos(r/i/n);return i*n*Math.sin(s)},e.crossProduct3D=function(t,e){var i=t.x,n=t.y,r=t.z,o=e.x,a=e.y,s=e.z;return{x:n*s-r*a,y:r*o-i*s,z:i*a-n*o}},e.sub2D=function(t,e){return{x:t.x-e.x,y:t.y-e.y}},e.applyMatrix=s,e.isBetween=l;function u(t,e){for(var i=!1,n=0,r=e.length-1;nt.y!=l>t.y&&t.x<=(s-o)*(t.y-a)/(l-a)+o&&(i=!i)}return i}function c(t){return t*t}function h(t,e){return Math.sqrt(c(t.x-e.x)+c(t.y-e.y))}function p(t,e,i){var n=h(e,i);if(0===n)return h(t,e);var r=((t.x-e.x)*(i.x-e.x)+(t.y-e.y)*(i.y-e.y))/n;r=Math.max(0,Math.min(1,r));var o=h(t,{x:e.x+r*(i.x-e.x),y:e.y+r*(i.y-e.y)});return Math.sqrt(o)}function f(t,e){var i=1/0;r.each(e,(function(e){var n=Math.sqrt(h(e,t));i>n&&(i=n)}));for(var n=0,o=e.length-1;nc&&(i=c)}return i}function d(t,e){for(var i=0,n=t;i.001*(a*a+s*s)*(u*u+c*c)){var f=(r*c-o*u)/h,d=(r*s-o*a)/h;l(f,0,1)&&l(d,0,1)&&(p={x:t.x+f*a,y:t.y+f*s})}return p},e.isPointInPolygon=u,e.dist2=h,e.distBetweenPoints=function(t,e){return Math.sqrt(c(t.x-e.x)+c(t.y-e.y))},e.distBetweenPointLine=p,e.isPolygonIntersection=d,e.minDistBetweenConvexPolygon=function(t,e){if(d(t,e))return 0;var i=1/0,n=1/0;return r.each(t,(function(t){var n=f(t,e);i>n&&(i=n)})),r.each(e,(function(e){var i=f(e,t);n>i&&(n=i)})),Math.min(i,n)},e.bboxOnRotate=function(t){var e,i=t.getBBox(),n=i.minX,r=i.minY,o=i.maxX-i.minX,a=i.maxY-i.minY,l=t.attr("matrix"),u=s({x:0,y:0},e=l?[l[0],l[1],0,l[3],l[4],0,0,0,1]:[1,0,0,0,1,0,0,0,1]);u.x+=n,u.y+=r;var c=s({x:o,y:0},e);c.x+=n,c.y+=r;var h=s({x:0,y:a},e);h.x+=n,h.y+=r;var p=s({x:o,y:a},e);p.x+=n,p.y+=r;var f=[u,c,h,p];f.sort((function(t,e){return t.y-e.y}));var d=f[0].y,g=f[f.length-1].y,y=[f[0],f[1]],v=[f[2],f[3]],m=y[0].xr&&(r=c,o=s)}if(r>i){var h=t(e.slice(0,o+1),i),f=t(e.slice(o,e.length),i);n=h.concat(f)}else n=[e[0],e[e.length-1]];return n}(t,2)},e.getMedian=function(t){var e=r.clone(t);e.sort((function(t,e){return t-e}));var i=Math.floor(e.length/2);return e.length%2?e[i]:(e[i-1]+e[i])/2},e.getMean=function(t){var e=0;return r.each(t,(function(t){e+=t})),e/t.length},e.sturges=function(t){return Math.ceil(Math.log(t.length)/Math.LN2)+1},e.getStrokePoints=function(t,e,i,n,r){void 0===r&&(r=2);for(var o=[],a=t;a<=t+i;a+=r)o.push([a,e]);for(var s=e;s<=e+n;s+=r)o.push([t+i,s]);for(a=t+i;a>=t;a-=r)o.push([a,e+n]);for(s=e+n;s>=e;s-=r)o.push([t,s]);return o}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.checkShapeOverlap=e.getOverlapArea=e.moveInPanel=e.checkOriginEqual=e.forEachElement=e.forEachGeometry=e.getGeometryShapes=e.getGeometryByType=e.getAllGeometryByType=void 0;var n=i(0),r=i(8);function o(t,e){return n.filter(t.geometries,(function(t){return t.type===e}))}function a(t,e,i){return void 0===i&&(i=0),Math.max(0,Math.min(t.x+t.width+i,e.x+e.width+i)-Math.max(t.x-i,e.x-i))*Math.max(0,Math.min(t.y+t.height+i,e.y+e.height+i)-Math.max(t.y-i,e.y-i))}e.getAllGeometryByType=o,e.getGeometryByType=function(t,e){return n.head(o(t,e))},e.getGeometryShapes=function(t){return n.map(t.elements,(function(t){return t.shape}))},e.forEachGeometry=function(t,e){t.geometries.forEach(e)},e.forEachElement=function(t,e){t.geometries.forEach((function(t){t.elements.forEach((function(t){e(t)}))}))},e.checkOriginEqual=function(t,e,i){return n.some(e,(function(e){return i(e.get(r.ORIGIN),t.get(r.ORIGIN))}))},e.moveInPanel=function(t,e){var i=t.getBBox(),n=0,r=0;i.minXe.maxX&&(n=i.maxX-e.maxX),n&&t.attr("x",t.attr("x")-n),i.minYe.maxY&&(r=i.maxY-e.maxY),r&&t.attr("y",t.attr("y")-r)},e.getOverlapArea=a,e.checkShapeOverlap=function(t,e){var i=t.getBBox();return n.some(e,(function(t){var e=t.getBBox();return a(i,e,2)>0}))}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getComponentStateMethod=e.getComponent=void 0;var n=i(1),r=n.__importDefault(i(241)),o=n.__importDefault(i(242)),a=n.__importDefault(i(243)),s=n.__importDefault(i(244)),l=n.__importDefault(i(245)),u=n.__importDefault(i(246)),c={axis:r.default,label:a.default,guideLine:o.default},h={tooltip:u.default,label:l.default,axis:s.default};e.getComponent=function(t,e){return new(0,c[t])(e).config},e.getComponentStateMethod=function(t,e){return h[t][e]}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.trySetScaleMinToZero=e.extractScale=void 0;var n=i(0),r=i(119);e.extractScale=function(t,e){if(!e)return t;var i,n,o,a,s;Object.prototype.hasOwnProperty.call(e,"tickCount")&&(t.tickCount=e.tickCount),Object.prototype.hasOwnProperty.call(e,"type")&&"dateTime"!==e.type&&(t.type=e.type),Object.prototype.hasOwnProperty.call(e,"tickInterval")&&("time"===e.type?t.tickInterval=(i=e.tickInterval,n=r.timeIntervals,o=i.split(" "),a=n[o[1]],s=parseInt(o[0],10),[a.format,s*a.value]):t.tickInterval=e.tickInterval),"time"===e.type&&e.mask&&(t.mask=e.mask),Object.prototype.hasOwnProperty.call(e,"min")&&(t.min=e.min),Object.prototype.hasOwnProperty.call(e,"max")&&(t.max=e.max),Object.prototype.hasOwnProperty.call(e,"minLimit")&&(t.minLimit=e.minLimit),Object.prototype.hasOwnProperty.call(e,"maxLimit")&&(t.maxLimit=e.maxLimit),Object.prototype.hasOwnProperty.call(e,"nice")&&(t.nice=e.nice),Object.prototype.hasOwnProperty.call(e,"formatter")&&(t.formatter=e.formatter),Object.prototype.hasOwnProperty.call(e,"exponent")&&(t.exponent=e.exponent),Object.prototype.hasOwnProperty.call(e,"base")&&(t.base=e.base),e.tickMethod&&(t.tickMethod=e.tickMethod)},e.trySetScaleMinToZero=function(t,e){var i=n.filter(e,(function(t){return n.isNumber(t)})),r=Math.min.apply(Math,i),o=Math.max.apply(Math,i);r>0?n.isNil(t.min)&&(t.min=0):o<0&&n.isNil(t.max)&&(t.max=0)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isContrastColorWhite=e.mappingColor=e.arr2rgb=e.toHex=e.rgb2arr=void 0;var n=i(0);function r(t){var e=0===t.indexOf("#")?t.substr(1):t,i=[];return i.push(parseInt(e.substr(0,2),16)),i.push(parseInt(e.substr(2,2),16)),i.push(parseInt(e.substr(4,2),16)),i}function o(t){var e;return 1===(e=(e=Math.round(t)).toString(16)).length&&(e="0"+t),e}e.rgb2arr=r,e.toHex=o,e.arr2rgb=function(t){return"#"+(o(t[0])+o(t[1])+o(t[2]))},e.mappingColor=function(t,e){var i;return n.each(t,(function(t){var n=t;e>=n.from&&e0?1:-1:(n.x-i.x)*(i.y-e.y)>0?-1:1}function Y(t,e){return Object(s.get)(t,["components","axis",e],{})}function G(t){var e=t.x,i=t.y,n=t.circleCenter,r=i.start>i.end,o=t.isTransposed?t.convert({x:r?0:1,y:0}):t.convert({x:0,y:r?0:1}),a=[o.x-n.x,o.y-n.y],s=[1,0],l=o.y>n.y?B.vec2.angle(a,s):-1*B.vec2.angle(a,s),u=l+(e.end-e.start);return{center:n,radius:Math.sqrt(Math.pow(o.x-n.x,2)+Math.pow(o.y-n.y,2)),startAngle:l,endAngle:u}}function X(t,e){return Object(s.isBoolean)(t)?!1!==t&&{}:Object(s.get)(t,[e])}function V(t,e){return Object(s.get)(t,"position",e)}function z(t,e){return Object(s.get)(e,["title","text"],k(t))}var H=function(){function t(t,e){this.destroyed=!1,this.facets=[],this.view=t,this.cfg=Object(s.deepMix)({},this.getDefaultCfg(),e)}return t.prototype.init=function(){this.container||(this.container=this.createContainer());var t=this.view.getData();this.facets=this.generateFacets(t)},t.prototype.render=function(){this.renderViews()},t.prototype.update=function(){},t.prototype.clear=function(){this.clearFacetViews()},t.prototype.destroy=function(){this.clear(),this.container&&(this.container.remove(!0),this.container=void 0),this.destroyed=!0,this.view=void 0,this.facets=[]},t.prototype.facetToView=function(t){var e=t.region,i=t.data,n=t.padding,r=void 0===n?this.cfg.padding:n,o=this.view.createView({region:e,padding:r});o.data(i||[]),t.view=o,this.beforeEachView(o,t);var a=this.cfg.eachView;return a&&a(o,t),this.afterEachView(o,t),o},t.prototype.createContainer=function(){return this.view.getLayer(n.FORE).addGroup()},t.prototype.renderViews=function(){this.createFacetViews()},t.prototype.createFacetViews=function(){var t=this;return this.facets.map((function(e){return t.facetToView(e)}))},t.prototype.clearFacetViews=function(){var t=this;Object(s.each)(this.facets,(function(e){e.view&&(t.view.removeView(e.view),e.view=void 0)}))},t.prototype.getFieldValues=function(t,e){var i=[],n={};return Object(s.each)(t,(function(t){var r=t[e];Object(s.isNil)(r)||n[r]||(i.push(r),n[r]=!0)})),i},t.prototype.getRegion=function(t,e,i,n){var r=1/(0===e?1:e),o=1/(0===t?1:t);return{start:{x:r*i,y:o*n},end:{x:r*(i+1),y:o*(n+1)}}},t.prototype.getDefaultCfg=function(){return{eachView:void 0,showTitle:!0,padding:10,fields:[]}},t.prototype.getDefaultTitleCfg=function(){return{style:{fontSize:14,fill:"#666",fontFamily:this.view.getTheme().fontFamily}}},t.prototype.processAxis=function(t,e){var i=t.getOptions(),n=i.coordinate,r=t.geometries;if("rect"===Object(s.get)(n,"type","rect")&&r.length){Object(s.isNil)(i.axes)&&(i.axes={});var o=i.axes,a=r[0].getXYFields(),l=a[0],u=a[1],c=X(o,l),h=X(o,u);!1!==c&&(i.axes[l]=this.getXAxisOption(l,o,c,e)),!1!==h&&(i.axes[u]=this.getYAxisOption(u,o,h,e))}},t.prototype.getFacetDataFilter=function(t){return function(e){return Object(s.every)(t,(function(t){var i=t.field,n=t.value;return!(!Object(s.isNil)(n)&&i)||e[i]===n}))}},t}(),W={},q=function(t){return W[Object(s.lowerCase)(t)]},U=function(t,e){W[Object(s.lowerCase)(t)]=e},K=function(){function t(t,e){this.context=t,this.cfg=e,t.addAction(this)}return t.prototype.applyCfg=function(t){Object(s.assign)(this,t)},t.prototype.init=function(){this.applyCfg(this.cfg)},t.prototype.destroy=function(){this.context.removeAction(this),this.context=null},t}(),Z=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(a.__extends)(e,t),e.prototype.execute=function(){this.callback&&this.callback(this.context)},e.prototype.destroy=function(){t.prototype.destroy.call(this),this.callback=null},e}(K),$={};function Q(t){var e=$[t];return Object(s.get)(e,"ActionClass")}function J(t,e,i){$[t]={ActionClass:e,cfg:i}}function tt(t,e){var i=new Z(e);return i.callback=t,i.name="callback",i}function et(t,e,i,n){return{x:t+i*Math.cos(n),y:e+i*Math.sin(n)}}function it(t,e,i,n,r,o){void 0===o&&(o=0);var a=et(t,e,i,n),s=et(t,e,i,r),l=et(t,e,o,n),u=et(t,e,o,r);if(r-n==2*Math.PI){var c=et(t,e,i,n+Math.PI),h=et(t,e,o,n+Math.PI),p=[["M",a.x,a.y],["A",i,i,0,1,1,c.x,c.y],["A",i,i,0,1,1,s.x,s.y],["M",l.x,l.y]];return o&&(p.push(["A",o,o,0,1,0,h.x,h.y]),p.push(["A",o,o,0,1,0,u.x,u.y])),p.push(["M",a.x,a.y]),p.push(["Z"]),p}var f=r-n<=Math.PI?0:1,d=[["M",a.x,a.y],["A",i,i,0,f,1,s.x,s.y],["L",u.x,u.y]];return o&&d.push(["A",o,o,0,f,0,l.x,l.y]),d.push(["L",a.x,a.y]),d.push(["Z"]),d}function nt(t,e,i,n,r){var o=et(t,e,i,n),a=et(t,e,i,r);if(Object(s.isNumberEqual)(r-n,2*Math.PI)){var l=et(t,e,i,n+Math.PI);return[["M",o.x,o.y],["A",i,i,0,1,1,l.x,l.y],["A",i,i,0,1,1,o.x,o.y],["A",i,i,0,1,0,l.x,l.y],["A",i,i,0,1,0,o.x,o.y],["Z"]]}var u=r-n<=Math.PI?0:1;return[["M",o.x,o.y],["A",i,i,0,u,1,a.x,a.y]]}function rt(t,e){var i,n,r=function(t){if(Object(s.isEmpty)(t))return null;var e=t[0].x,i=t[0].x,n=t[0].y,r=t[0].y;return Object(s.each)(t,(function(t){e=e>t.x?t.x:e,i=it.y?t.y:n,r=r=n&&t<=r}function st(t,e){return e.forEach((function(e){delete t[e]})),t}function lt(t,e,i){void 0===e&&(e=[]),void 0===i&&(i={});for(var n=0,r=t;n=a[u]?1:0,p=c>Math.PI?1:0,f=i.convert(s),d=ct(i,f);if(d>=.5)if(c===2*Math.PI){var g={x:(s.x+a.x)/2,y:(s.y+a.y)/2},y=i.convert(g);l.push(["A",d,d,0,p,h,y.x,y.y]),l.push(["A",d,d,0,p,h,f.x,f.y])}else l.push(["A",d,d,0,p,h,f.x,f.y]);return l}(i,n,t)):o.push(dt(a,t));break;case"z":default:o.push(a)}})),function(t){Object(s.each)(t,(function(e,i){if("a"===e[0].toLowerCase()){var n=t[i-1],r=t[i+1];r&&"a"===r[0].toLowerCase()?n&&"l"===n[0].toLowerCase()&&(n[0]="M"):n&&"a"===n[0].toLowerCase()&&r&&"l"===r[0].toLowerCase()&&(r[0]="M")}}))}(o),o}var xt=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.height=n,this.width=i}return t.fromRange=function(e,i,n,r){return new t(e,i,n-e,r-i)},Object.defineProperty(t.prototype,"minX",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxX",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minY",{get:function(){return this.y},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxY",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tl",{get:function(){return{x:this.x,y:this.y}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tr",{get:function(){return{x:this.maxX,y:this.y}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bl",{get:function(){return{x:this.x,y:this.maxY}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"br",{get:function(){return{x:this.maxX,y:this.maxY}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return{x:this.x+this.width/2,y:this.minY}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return{x:this.maxX,y:this.y+this.height/2}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return{x:this.x+this.width/2,y:this.maxY}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return{x:this.minX,y:this.y+this.height/2}},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(t){return this.x===t.x&&this.y===t.y&&this.width===t.width&&this.height===t.height},t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.add=function(){for(var t=[],e=0;e=e||i.height>=e?i:null}function wt(t){var e,i=t.event.target;return i&&(e=i.get("element")),e}function Mt(t){var e,i=t.event.target;return i&&(e=i.get("delegateObject")),e}function Ct(t){var e=t.event.gEvent;return!(e&&e.fromShape&&e.toShape&&e.fromShape.get("element")===e.toShape.get("element"))}function St(t){return t&&t.component&&t.component.isList()}function jt(t){return t&&t.component&&t.component.isSlider()}function Pt(t){var e=t.event.target;return e&&"mask"===e.get("name")}function Tt(t,e){var i,n,r,o;if("path"===t.event.target.get("type")){var a=function(t,e){var i=t.event.target,n=i.getCanvasBBox();return n.width>=e||n.height>=e?i.attr("path"):null}(t,e);if(!a)return;return i=t.view,n=a,r=Et(i),o=kt(n),r.filter((function(t){var e,i,n=t.shape;if("path"===n.get("type"))e=kt(n.attr("path"));else{var r=n.getCanvasBBox();e=[[(i=r).minX,i.minY],[i.maxX,i.minY],[i.maxX,i.maxY],[i.minX,i.maxY]]}return _t()(o,e)}))}var s=Ot(t,e);return s?Dt(t.view,s):null}function At(t,e,i){var n=Ot(t,i);if(!n)return null;var r=t.view,o=Yt(r,e,{x:n.x,y:n.y}),a=Yt(r,e,{x:n.maxX,y:n.maxY});return Dt(e,{minX:o.x,minY:o.y,maxX:a.x,maxY:a.y})}function Et(t){var e=t.geometries,i=[];return Object(s.each)(e,(function(t){var e=t.elements;i=i.concat(e)})),t.views&&t.views.length&&Object(s.each)(t.views,(function(t){i=i.concat(Et(t))})),i}function Lt(t,e){var i=t.geometries,n=[];return Object(s.each)(i,(function(t){var i=t.getElementsBy((function(t){return t.hasState(e)}));n=n.concat(i)})),n}function It(t,e){var i=t.getModel().data;return Object(s.isArray)(i)?i[0][e]:i[e]}function Dt(t,e){var i=Et(t),n=[];return Object(s.each)(i,(function(t){var i,r,o=t.shape.getCanvasBBox();i=e,(r=o).minX>i.maxX||r.maxXi.maxY||r.maxY=e.x&&t.y<=e.y&&t.maxY>e.y}function Nt(t){var e=t.parent,i=null;return e&&(i=e.views.filter((function(e){return e!==t}))),i}function Yt(t,e,i){var n=function(t,e){return t.getCoordinate().invert(e)}(t,i);return e.getCoordinate().convert(n)}function Gt(t,e,i,n){var r=!1;return Object(s.each)(t,(function(t){if(t[i]===e[i]&&t[n]===e[n])return r=!0,!1})),r}function Xt(t,e){var i=t.getScaleByField(e);return!i&&t.views&&Object(s.each)(t.views,(function(t){if(i=Xt(t,e))return!1})),i}var Vt=function(){function t(t){this.actions=[],this.event=null,this.cacheMap={},this.view=t}return t.prototype.cache=function(){for(var t=[],e=0;e=0&&e.splice(i,1)},t.prototype.getCurrentPoint=function(){var t=this.event;return t?t.target instanceof HTMLElement?this.view.getCanvas().getPointByClient(t.clientX,t.clientY):{x:t.x,y:t.y}:null},t.prototype.getCurrentShape=function(){return Object(s.get)(this.event,["gEvent","shape"])},t.prototype.isInPlot=function(){var t=this.getCurrentPoint();return!!t&&this.view.isPointInPlot(t)},t.prototype.isInShape=function(t){var e=this.getCurrentShape();return!!e&&e.get("name")===t},t.prototype.isInComponent=function(t){var e=Bt(this.view),i=this.getCurrentPoint();return!!i&&!!e.find((function(e){var n=e.getBBox();return t?e.get("name")===t&&Rt(n,i):Rt(n,i)}))},t.prototype.destroy=function(){this.view=null,this.event=null,Object(s.each)(this.actions.slice(),(function(t){t.destroy()})),this.actions=null,this.cacheMap=null},t}(),zt=function(){function t(t,e){this.view=t,this.cfg=e}return t.prototype.init=function(){this.initEvents()},t.prototype.initEvents=function(){},t.prototype.clearEvents=function(){},t.prototype.destroy=function(){this.clearEvents()},t}();function Ht(t,e){var i=t.split(":"),n=i[0],r=e.getAction(n)||function(t,e){var i=$[t],n=null;return i&&((n=new(0,i.ActionClass)(e,i.cfg)).name=t,n.init()),n}(n,e);if(!r)throw new Error("There is no action named "+n);return{action:r,methodName:i[1]}}function Wt(t){var e=t.action,i=t.methodName;if(!e[i])throw new Error("Action("+e.name+") doesn't have a method called "+i);e[i]()}var qt="start",Ut="showEnable",Kt="end",Zt="rollback",$t="processing",Qt=function(t){function e(e,i){var n=t.call(this,e,i)||this;return n.callbackCaches={},n.emitCaches={},n.steps=i,n}return Object(a.__extends)(e,t),e.prototype.init=function(){this.initContext(),t.prototype.init.call(this)},e.prototype.destroy=function(){t.prototype.destroy.call(this),this.steps=null,this.context&&(this.context.destroy(),this.context=null),this.callbackCaches=null,this.view=null},e.prototype.initEvents=function(){var t=this;Object(s.each)(this.steps,(function(e,i){Object(s.each)(e,(function(e){var n=t.getActionCallback(i,e);n&&t.bindEvent(e.trigger,n)}))}))},e.prototype.clearEvents=function(){var t=this;Object(s.each)(this.steps,(function(e,i){Object(s.each)(e,(function(e){var n=t.getActionCallback(i,e);n&&t.offEvent(e.trigger,n)}))}))},e.prototype.initContext=function(){var t=this.view,e=new Vt(t);this.context=e;var i=this.steps;Object(s.each)(i,(function(t){Object(s.each)(t,(function(t){if(Object(s.isFunction)(t.action))t.actionObject={action:tt(t.action,e),methodName:"execute"};else if(Object(s.isString)(t.action))t.actionObject=Ht(t.action,e);else if(Object(s.isArray)(t.action)){var i=t.action;t.actionObject=[],Object(s.each)(i,(function(i){t.actionObject.push(Ht(i,e))}))}}))}))},e.prototype.isAllowStep=function(t){var e=this.currentStepName,i=this.steps;if(e===t)return!0;if(t===Ut)return!0;if(t===$t)return e===qt;if(t===qt)return e!==$t;if(t===Kt)return e===$t||e===qt;if(t===Zt){if(i[Kt])return e===Kt;if(e===qt)return!0}return!1},e.prototype.isAllowExcute=function(t,e){if(this.isAllowStep(t)){var i=this.getKey(t,e);return(!e.once||!this.emitCaches[i])&&(!e.isEnable||e.isEnable(this.context))}return!1},e.prototype.enterStep=function(t){this.currentStepName=t,this.emitCaches={}},e.prototype.afterExecute=function(t,e){t!==Ut&&this.currentStepName!==t&&this.enterStep(t);var i=this.getKey(t,e);this.emitCaches[i]=!0},e.prototype.getKey=function(t,e){return t+e.trigger+e.action},e.prototype.getActionCallback=function(t,e){var i=this,n=this.context,r=this.callbackCaches,o=e.actionObject;if(e.action&&o){var a=this.getKey(t,e);if(!r[a]){var l=function(r){n.event=r,i.isAllowExcute(t,e)?(Object(s.isArray)(o)?Object(s.each)(o,(function(t){n.event=r,Wt(t)})):(n.event=r,Wt(o)),i.afterExecute(t,e),e.callback&&(n.event=r,e.callback(n))):n.event=null};e.debounce?r[a]=Object(s.debounce)(l,e.debounce.wait,e.debounce.immediate):e.throttle?r[a]=Object(s.throttle)(l,e.throttle.wait,{leading:e.throttle.leading,trailing:e.throttle.trailing}):r[a]=l}return r[a]}return null},e.prototype.bindEvent=function(t,e){var i=t.split(":");"window"===i[0]?window.addEventListener(i[1],e):"document"===i[0]?document.addEventListener(i[1],e):this.view.on(t,e)},e.prototype.offEvent=function(t,e){var i=t.split(":");"window"===i[0]?window.removeEventListener(i[1],e):"document"===i[0]?document.removeEventListener(i[1],e):this.view.off(t,e)},e}(zt),Jt={};function te(t){return Jt[Object(s.lowerCase)(t)]}function ee(t,e){Jt[Object(s.lowerCase)(t)]=e}var ie=i(33);function ne(t){var e,i={point:{default:{fill:t.pointFillColor,r:t.pointSize,stroke:t.pointBorderColor,lineWidth:t.pointBorder,fillOpacity:t.pointFillOpacity},active:{stroke:t.pointActiveBorderColor,lineWidth:t.pointActiveBorder},selected:{stroke:t.pointSelectedBorderColor,lineWidth:t.pointSelectedBorder},inactive:{fillOpacity:t.pointInactiveFillOpacity,strokeOpacity:t.pointInactiveBorderOpacity}},hollowPoint:{default:{fill:t.hollowPointFillColor,lineWidth:t.hollowPointBorder,stroke:t.hollowPointBorderColor,strokeOpacity:t.hollowPointBorderOpacity,r:t.hollowPointSize},active:{stroke:t.hollowPointActiveBorderColor,strokeOpacity:t.hollowPointActiveBorderOpacity},selected:{lineWidth:t.hollowPointSelectedBorder,stroke:t.hollowPointSelectedBorderColor,strokeOpacity:t.hollowPointSelectedBorderOpacity},inactive:{strokeOpacity:t.hollowPointInactiveBorderOpacity}},area:{default:{fill:t.areaFillColor,fillOpacity:t.areaFillOpacity,stroke:null},active:{fillOpacity:t.areaActiveFillOpacity},selected:{fillOpacity:t.areaSelectedFillOpacity},inactive:{fillOpacity:t.areaInactiveFillOpacity}},hollowArea:{default:{fill:null,stroke:t.hollowAreaBorderColor,lineWidth:t.hollowAreaBorder,strokeOpacity:t.hollowAreaBorderOpacity},active:{fill:null,lineWidth:t.hollowAreaActiveBorder},selected:{fill:null,lineWidth:t.hollowAreaSelectedBorder},inactive:{strokeOpacity:t.hollowAreaInactiveBorderOpacity}},interval:{default:{fill:t.intervalFillColor,fillOpacity:t.intervalFillOpacity},active:{stroke:t.intervalActiveBorderColor,lineWidth:t.intervalActiveBorder},selected:{stroke:t.intervalSelectedBorderColor,lineWidth:t.intervalSelectedBorder},inactive:{fillOpacity:t.intervalInactiveFillOpacity,strokeOpacity:t.intervalInactiveBorderOpacity}},hollowInterval:{default:{fill:t.hollowIntervalFillColor,stroke:t.hollowIntervalBorderColor,lineWidth:t.hollowIntervalBorder,strokeOpacity:t.hollowIntervalBorderOpacity},active:{stroke:t.hollowIntervalActiveBorderColor,lineWidth:t.hollowIntervalActiveBorder,strokeOpacity:t.hollowIntervalActiveBorderOpacity},selected:{stroke:t.hollowIntervalSelectedBorderColor,lineWidth:t.hollowIntervalSelectedBorder,strokeOpacity:t.hollowIntervalSelectedBorderOpacity},inactive:{stroke:t.hollowIntervalInactiveBorderColor,lineWidth:t.hollowIntervalInactiveBorder,strokeOpacity:t.hollowIntervalInactiveBorderOpacity}},line:{default:{stroke:t.lineBorderColor,lineWidth:t.lineBorder,strokeOpacity:t.lineBorderOpacity,fill:null,lineAppendWidth:10},active:{lineWidth:t.lineActiveBorder},selected:{lineWidth:t.lineSelectedBorder},inactive:{strokeOpacity:t.lineInactiveBorderOpacity}}},n={title:{autoRotate:!0,position:"center",style:{fill:t.axisTitleTextFillColor,fontSize:t.axisTitleTextFontSize,lineHeight:t.axisTitleTextLineHeight,textBaseline:"middle",fontFamily:t.fontFamily}},label:{autoRotate:!0,autoEllipsis:!0,autoHide:!0,offset:16,style:{fill:t.axisLabelFillColor,fontSize:t.axisLabelFontSize,lineHeight:t.axisLabelLineHeight,textBaseline:"middle",fontFamily:t.fontFamily}},line:{style:{lineWidth:t.axisLineBorder,stroke:t.axisLineBorderColor}},tickLine:{style:{lineWidth:t.axisTickLineBorder,stroke:t.axisTickLineBorderColor},alignTick:!0,length:t.axisTickLineLength},subTickLine:null,animate:!0},r={line:{type:"line",style:{stroke:t.axisGridBorderColor,lineWidth:t.axisGridBorder,lineDash:t.axisGridLineDash}},alignTick:!0,animate:!0},o={title:null,marker:{symbol:"circle",style:{r:t.legendCircleMarkerSize,fill:t.legendMarkerColor}},itemName:{spacing:5,style:{fill:t.legendItemNameFillColor,fontFamily:t.fontFamily,fontSize:t.legendItemNameFontSize,lineHeight:t.legendItemNameLineHeight,fontWeight:t.legendItemNameFontWeight,textAlign:"start",textBaseline:"middle"}},flipPage:!0,animate:!1,maxItemWidth:.2};return{background:t.backgroundColor,defaultColor:t.brandColor,padding:"auto",fontFamily:t.fontFamily,columnWidthRatio:.5,maxColumnWidth:null,minColumnWidth:null,roseWidthRatio:.9999999,multiplePieWidthRatio:1/1.3,colors10:t.paletteQualitative10,colors20:t.paletteQualitative20,shapes:{point:["hollow-circle","hollow-square","hollow-bowtie","hollow-diamond","hollow-hexagon","hollow-triangle","hollow-triangle-down","circle","square","bowtie","diamond","hexagon","triangle","triangle-down","cross","tick","plus","hyphen","line"],line:["line","dash","dot","smooth"],area:["area","smooth","line","smooth-line"],interval:["rect","hollow-rect","line","tick"]},sizes:[1,10],geometries:{interval:{rect:{default:{style:i.interval.default},active:{style:i.interval.active},inactive:{style:i.interval.inactive},selected:{style:function(t){var e=t.geometry.coordinate;if(e.isPolar&&e.isTransposed){var n=rt(t.getModel(),e),r=(n.startAngle+n.endAngle)/2,o=7.5*Math.cos(r),a=7.5*Math.sin(r);return{matrix:B.ext.transform(null,[["t",o,a]])}}return i.interval.selected}}},"hollow-rect":{default:{style:i.hollowInterval.default},active:{style:i.hollowInterval.active},inactive:{style:i.hollowInterval.inactive},selected:{style:i.hollowInterval.selected}},line:{default:{style:i.hollowInterval.default},active:{style:i.hollowInterval.active},inactive:{style:i.hollowInterval.inactive},selected:{style:i.hollowInterval.selected}},tick:{default:{style:i.hollowInterval.default},active:{style:i.hollowInterval.active},inactive:{style:i.hollowInterval.inactive},selected:{style:i.hollowInterval.selected}},funnel:{default:{style:i.interval.default},active:{style:i.interval.active},inactive:{style:i.interval.inactive},selected:{style:i.interval.selected}},pyramid:{default:{style:i.interval.default},active:{style:i.interval.active},inactive:{style:i.interval.inactive},selected:{style:i.interval.selected}}},line:{line:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}},dot:{default:{style:Object(a.__assign)(Object(a.__assign)({},i.line.default),{lineDash:[1,1]})},active:{style:Object(a.__assign)(Object(a.__assign)({},i.line.active),{lineDash:[1,1]})},inactive:{style:Object(a.__assign)(Object(a.__assign)({},i.line.inactive),{lineDash:[1,1]})},selected:{style:Object(a.__assign)(Object(a.__assign)({},i.line.selected),{lineDash:[1,1]})}},dash:{default:{style:Object(a.__assign)(Object(a.__assign)({},i.line.default),{lineDash:[5.5,1]})},active:{style:Object(a.__assign)(Object(a.__assign)({},i.line.active),{lineDash:[5.5,1]})},inactive:{style:Object(a.__assign)(Object(a.__assign)({},i.line.inactive),{lineDash:[5.5,1]})},selected:{style:Object(a.__assign)(Object(a.__assign)({},i.line.selected),{lineDash:[5.5,1]})}},smooth:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}},hv:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}},vh:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}},hvh:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}},vhv:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}}},polygon:{polygon:{default:{style:i.interval.default},active:{style:i.interval.active},inactive:{style:i.interval.inactive},selected:{style:i.interval.selected}}},point:{circle:{default:{style:i.point.default},active:{style:i.point.active},inactive:{style:i.point.inactive},selected:{style:i.point.selected}},square:{default:{style:i.point.default},active:{style:i.point.active},inactive:{style:i.point.inactive},selected:{style:i.point.selected}},bowtie:{default:{style:i.point.default},active:{style:i.point.active},inactive:{style:i.point.inactive},selected:{style:i.point.selected}},diamond:{default:{style:i.point.default},active:{style:i.point.active},inactive:{style:i.point.inactive},selected:{style:i.point.selected}},hexagon:{default:{style:i.point.default},active:{style:i.point.active},inactive:{style:i.point.inactive},selected:{style:i.point.selected}},triangle:{default:{style:i.point.default},active:{style:i.point.active},inactive:{style:i.point.inactive},selected:{style:i.point.selected}},"triangle-down":{default:{style:i.point.default},active:{style:i.point.active},inactive:{style:i.point.inactive},selected:{style:i.point.selected}},"hollow-circle":{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},"hollow-square":{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},"hollow-bowtie":{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},"hollow-diamond":{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},"hollow-hexagon":{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},"hollow-triangle":{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},"hollow-triangle-down":{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},cross:{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},tick:{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},plus:{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},hyphen:{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}},line:{default:{style:i.hollowPoint.default},active:{style:i.hollowPoint.active},inactive:{style:i.hollowPoint.inactive},selected:{style:i.hollowPoint.selected}}},area:{area:{default:{style:i.area.default},active:{style:i.area.active},inactive:{style:i.area.inactive},selected:{style:i.area.selected}},smooth:{default:{style:i.area.default},active:{style:i.area.active},inactive:{style:i.area.inactive},selected:{style:i.area.selected}},line:{default:{style:i.hollowArea.default},active:{style:i.hollowArea.active},inactive:{style:i.hollowArea.inactive},selected:{style:i.hollowArea.selected}},"smooth-line":{default:{style:i.hollowArea.default},active:{style:i.hollowArea.active},inactive:{style:i.hollowArea.inactive},selected:{style:i.hollowArea.selected}}},schema:{candle:{default:{style:i.hollowInterval.default},active:{style:i.hollowInterval.active},inactive:{style:i.hollowInterval.inactive},selected:{style:i.hollowInterval.selected}},box:{default:{style:i.hollowInterval.default},active:{style:i.hollowInterval.active},inactive:{style:i.hollowInterval.inactive},selected:{style:i.hollowInterval.selected}}},edge:{line:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}},vhv:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}},smooth:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}},arc:{default:{style:i.line.default},active:{style:i.line.active},inactive:{style:i.line.inactive},selected:{style:i.line.selected}}}},components:{axis:{top:Object(s.deepMix)({},n,{position:"top",grid:null,title:null,verticalLimitLength:.5}),bottom:Object(s.deepMix)({},n,{position:"bottom",grid:null,title:null,verticalLimitLength:.5}),left:Object(s.deepMix)({},n,{position:"left",label:{offset:8},title:null,line:null,tickLine:null,grid:r,verticalLimitLength:1/3}),right:Object(s.deepMix)({},n,{position:"right",label:{offset:8},title:null,line:null,tickLine:null,grid:r,verticalLimitLength:1/3}),circle:Object(s.deepMix)({},n,{title:null,label:{offset:8},grid:Object(s.deepMix)({},r,{line:{type:"line"}})}),radius:Object(s.deepMix)({},n,{title:null,label:{offset:8},grid:Object(s.deepMix)({},r,{line:{type:"circle"}})})},legend:{right:Object(s.deepMix)({},o,{layout:"vertical"}),left:Object(s.deepMix)({},o,{layout:"vertical"}),top:Object(s.deepMix)({},o,{layout:"horizontal"}),bottom:Object(s.deepMix)({},o,{layout:"horizontal"}),continuous:{title:null,background:null,track:{},rail:{type:"color",size:t.sliderRailHeight,defaultLength:t.sliderRailWidth,style:{fill:t.sliderRailFillColor,stroke:t.sliderRailBorderColor,lineWidth:t.sliderRailBorder}},label:{align:"rail",spacing:4,formatter:null,style:{fill:t.sliderLabelTextFillColor,fontSize:t.sliderLabelTextFontSize,lineHeight:t.sliderLabelTextLineHeight,textBaseline:"middle",fontFamily:t.fontFamily}},handler:{size:t.sliderHandlerWidth,style:{fill:t.sliderHandlerFillColor,stroke:t.sliderHandlerBorderColor}},slidable:!0},margin:[0,0,0,0]},tooltip:{showContent:!0,follow:!0,showCrosshairs:!1,showMarkers:!0,shared:!1,enterable:!1,position:"auto",marker:{symbol:"circle",stroke:"#fff",shadowBlur:10,shadowOffsetX:0,shadowOffSetY:0,shadowColor:"rgba(0,0,0,0.09)",lineWidth:2,r:4},crosshairs:{line:{style:{stroke:t.tooltipCrosshairsBorderColor,lineWidth:t.tooltipCrosshairsBorder}},text:null,textBackground:{padding:2,style:{fill:"rgba(0, 0, 0, 0.25)",lineWidth:0,stroke:null}},follow:!1},domStyles:(e={},e[""+ie.CONTAINER_CLASS]={position:"absolute",visibility:"hidden",zIndex:8,transition:"left 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s, top 0.4s cubic-bezier(0.23, 1, 0.32, 1) 0s",backgroundColor:t.tooltipContainerFillColor,opacity:t.tooltipContainerFillOpacity,boxShadow:t.tooltipContainerShadow,borderRadius:t.tooltipContainerBorderRadius+"px",color:t.tooltipTextFillColor,fontSize:t.tooltipTextFontSize+"px",fontFamily:t.fontFamily,lineHeight:t.tooltipTextLineHeight+"px",padding:"0 12px 0 12px"},e[""+ie.TITLE_CLASS]={marginBottom:"12px",marginTop:"12px"},e[""+ie.LIST_CLASS]={margin:0,listStyleType:"none",padding:0},e[""+ie.LIST_ITEM_CLASS]={listStyleType:"none",padding:0,marginBottom:"12px",marginTop:"12px",marginLeft:0,marginRight:0},e[""+ie.MARKER_CLASS]={width:"8px",height:"8px",borderRadius:"50%",display:"inline-block",marginRight:"8px"},e[""+ie.VALUE_CLASS]={display:"inline-block",float:"right",marginLeft:"30px"},e)},annotation:{arc:{style:{stroke:t.annotationArcBorderColor,lineWidth:t.annotationArcBorder},animate:!0},line:{style:{stroke:t.annotationLineBorderColor,lineDash:t.annotationLineDash,lineWidth:t.annotationLineBorder},text:{position:"start",autoRotate:!0,style:{fill:t.annotationTextFillColor,stroke:t.annotationTextBorderColor,lineWidth:t.annotationTextBorder,fontSize:t.annotationTextFontSize,textAlign:"start",fontFamily:t.fontFamily,textBaseline:"bottom"}},animate:!0},text:{style:{fill:t.annotationTextFillColor,stroke:t.annotationTextBorderColor,lineWidth:t.annotationTextBorder,fontSize:t.annotationTextFontSize,textBaseline:"middle",textAlign:"start",fontFamily:t.fontFamily},animate:!0},region:{top:!1,style:{lineWidth:t.annotationRegionBorder,stroke:t.annotationRegionBorderColor,fill:t.annotationRegionFillColor,fillOpacity:t.annotationRegionFillOpacity},animate:!0},image:{top:!1,animate:!0},dataMarker:{top:!0,point:{style:{r:3,stroke:t.brandColor,lineWidth:2}},line:{style:{stroke:t.annotationLineBorderColor,lineWidth:t.annotationLineBorder},length:t.annotationDataMarkerLineLength},text:{style:{textAlign:"start",fill:t.annotationTextFillColor,stroke:t.annotationTextBorderColor,lineWidth:t.annotationTextBorder,fontSize:t.annotationTextFontSize,fontFamily:t.fontFamily}},direction:"upward",autoAdjust:!0,animate:!0},dataRegion:{style:{region:{fill:t.annotationRegionFillColor,fillOpacity:t.annotationRegionFillOpacity},text:{textAlign:"center",textBaseline:"bottom",fill:t.annotationTextFillColor,stroke:t.annotationTextBorderColor,lineWidth:t.annotationTextBorder,fontSize:t.annotationTextFontSize,fontFamily:t.fontFamily}},animate:!0}}},labels:{offset:12,style:{fill:t.labelFillColor,fontSize:t.labelFontSize,fontFamily:t.fontFamily,stroke:t.labelBorderColor,lineWidth:t.labelBorder},autoRotate:!0},innerLabels:{style:{fill:t.innerLabelFillColor,fontSize:t.innerLabelFontSize,fontFamily:t.fontFamily,stroke:t.innerLabelBorderColor,lineWidth:t.innerLabelBorder},autoRotate:!0},pieLabels:{labelHeight:14,offset:30,labelLine:{style:{lineWidth:t.labelLineBorder}},autoRotate:!0}}}var re="#000",oe="#595959",ae="#8C8C8C",se="#BFBFBF",le="#D9D9D9",ue="#FFFFFF",ce=["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#E86452","#6DC8EC","#945FB9","#FF9845","#1E9493","#FF99C3"],he={default:ne({backgroundColor:"transparent",brandColor:ce[0],paletteQualitative10:ce,paletteQualitative20:["#5B8FF9","#CDDDFD","#5AD8A6","#CDF3E4","#5D7092","#CED4DE","#F6BD16","#FCEBB9","#E86452","#F8D0CB","#6DC8EC","#D3EEF9","#945FB9","#DECFEA","#FF9845","#FFE0C7","#1E9493","#BBDEDE","#FF99C3","#FFE0ED"],paletteSemanticRed:"#F4664A",paletteSemanticGreen:"#30BF78",paletteSemanticYellow:"#FAAD14",fontFamily:'"-apple-system", "Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',axisLineBorderColor:se,axisLineBorder:.5,axisLineDash:null,axisTitleTextFillColor:oe,axisTitleTextFontSize:12,axisTitleTextLineHeight:12,axisTitleTextFontWeight:"normal",axisTickLineBorderColor:se,axisTickLineLength:4,axisTickLineBorder:.5,axisSubTickLineBorderColor:le,axisSubTickLineLength:2,axisSubTickLineBorder:.5,axisLabelFillColor:ae,axisLabelFontSize:12,axisLabelLineHeight:12,axisLabelFontWeight:"normal",axisGridBorderColor:le,axisGridBorder:.5,axisGridLineDash:null,legendTitleTextFillColor:ae,legendTitleTextFontSize:12,legendTitleTextLineHeight:21,legendTitleTextFontWeight:"normal",legendMarkerColor:ce[0],legendMarkerSize:4,legendCircleMarkerSize:4,legendSquareMarkerSize:4,legendLineMarkerSize:5,legendItemNameFillColor:oe,legendItemNameFontSize:12,legendItemNameLineHeight:12,legendItemNameFontWeight:"normal",sliderRailFillColor:le,sliderRailBorder:0,sliderRailBorderColor:null,sliderRailWidth:100,sliderRailHeight:12,sliderLabelTextFillColor:ae,sliderLabelTextFontSize:12,sliderLabelTextLineHeight:12,sliderLabelTextFontWeight:"normal",sliderHandlerFillColor:"#F0F0F0",sliderHandlerWidth:10,sliderHandlerHeight:14,sliderHandlerBorder:1,sliderHandlerBorderColor:se,annotationArcBorderColor:le,annotationArcBorder:.5,annotationLineBorderColor:se,annotationLineBorder:.5,annotationLineDash:null,annotationTextFillColor:oe,annotationTextFontSize:12,annotationTextLineHeight:12,annotationTextFontWeight:"normal",annotationTextBorderColor:"#F2F2F2",annotationTextBorder:1.5,annotationRegionFillColor:re,annotationRegionFillOpacity:.06,annotationRegionBorder:0,annotationRegionBorderColor:null,annotationDataMarkerLineLength:16,tooltipCrosshairsBorderColor:se,tooltipCrosshairsBorder:.5,tooltipCrosshairsLineDash:null,tooltipContainerFillColor:"rgb(255, 255, 255)",tooltipContainerFillOpacity:.95,tooltipContainerShadow:"0px 0px 10px #aeaeae",tooltipContainerBorderRadius:3,tooltipTextFillColor:oe,tooltipTextFontSize:12,tooltipTextLineHeight:12,tooltipTextFontWeight:"bold",labelFillColor:oe,labelFontSize:12,labelLineHeight:12,labelFontWeight:"normal",labelBorderColor:null,labelBorder:0,innerLabelFillColor:ue,innerLabelFontSize:12,innerLabelLineHeight:12,innerLabelFontWeight:"normal",innerLabelBorderColor:null,innerLabelBorder:0,labelLineBorder:.5,labelLineBorderColor:se,pointFillColor:ce[0],pointFillOpacity:.95,pointSize:4,pointBorder:1,pointBorderColor:ue,pointBorderOpacity:1,pointActiveBorderColor:re,pointSelectedBorder:2,pointSelectedBorderColor:re,pointInactiveFillOpacity:.3,pointInactiveBorderOpacity:.3,hollowPointSize:4,hollowPointBorder:1,hollowPointBorderColor:ce[0],hollowPointBorderOpacity:.95,hollowPointFillColor:ue,hollowPointActiveBorder:1,hollowPointActiveBorderColor:re,hollowPointActiveBorderOpacity:1,hollowPointSelectedBorder:2,hollowPointSelectedBorderColor:re,hollowPointSelectedBorderOpacity:1,hollowPointInactiveBorderOpacity:.3,lineBorder:2,lineBorderColor:ce[0],lineBorderOpacity:1,lineActiveBorder:3,lineSelectedBorder:3,lineInactiveBorderOpacity:.3,areaFillColor:ce[0],areaFillOpacity:.25,areaActiveFillColor:ce[0],areaActiveFillOpacity:.5,areaSelectedFillColor:ce[0],areaSelectedFillOpacity:.5,areaInactiveFillOpacity:.3,hollowAreaBorderColor:ce[0],hollowAreaBorder:2,hollowAreaBorderOpacity:1,hollowAreaActiveBorder:3,hollowAreaActiveBorderColor:re,hollowAreaSelectedBorder:3,hollowAreaSelectedBorderColor:re,hollowAreaInactiveBorderOpacity:.3,intervalFillColor:ce[0],intervalFillOpacity:.95,intervalActiveBorder:1,intervalActiveBorderColor:re,intervalActiveBorderOpacity:1,intervalSelectedBorder:2,intervalSelectedBorderColor:re,intervalSelectedBorderOpacity:1,intervalInactiveBorderOpacity:.3,intervalInactiveFillOpacity:.3,hollowIntervalBorder:2,hollowIntervalBorderColor:ce[0],hollowIntervalBorderOpacity:1,hollowIntervalFillColor:ue,hollowIntervalActiveBorder:2,hollowIntervalActiveBorderColor:re,hollowIntervalSelectedBorder:3,hollowIntervalSelectedBorderColor:re,hollowIntervalSelectedBorderOpacity:1,hollowIntervalInactiveBorderOpacity:.3})};function pe(t){return Object(s.get)(he,Object(s.lowerCase)(t),he.default)}function fe(t,e){he[Object(s.lowerCase)(t)]=Object(s.deepMix)({},he.default,e)}function de(t,e,i){var n=i.translate(t),r=i.translate(e);return Object(s.isNumberEqual)(n,r)}function ge(t,e,i){var n=i.coordinate,r=i.getYScale(),o=r.field,a=n.invert(e),l=r.invert(a.y);return Object(s.find)(t,(function(t){var e=t._origin;return e[o][0]<=l&&e[o][1]>=l}))||t[t.length-1]}var ye=Object(s.memoize)((function(t){if(t.isCategory)return 1;for(var e=t.values,i=e.length,n=t.translate(e[0]),r=n,o=0;or&&(r=s)}return(r-n)/(i-1)}));function ve(t){for(var e,i=0,n=function(t){var e=Object(s.values)(t.attributes);return Object(s.filter)(e,(function(t){return Object(s.contains)(d,t.type)}))}(t);i(1+o)/2&&(s=a),n.translate(n.invert(s))}(t,i),_=m._origin[a],O=m._origin[l],w=x._origin[a],M=o.isLinear&&Object(s.isArray)(O);if(Object(s.isArray)(_)){for(d=0;d=b){if(!M){u=A;break}Object(s.isArray)(u)||(u=[]),u.push(A)}}Object(s.isArray)(u)&&(u=ge(u,t,i))}else{var C=void 0;if(r.isLinear||"timeCat"===r.type){if((b>r.translate(w)||br.max||bMath.abs(r.translate(C._origin[a])-b)&&(x=C)}var E=ye(i.getXScale());return!u&&Math.abs(r.translate(x._origin[a])-b)<=E/2&&(u=x),u}function xe(t,e,i){void 0===i&&(i="");var n,r=t._origin,o=function(t,e,i){var n=i;i||(n=e.getAttribute("position").getFields()[0]);var r=e.scales;return r[n]?r[n].getText(t[n]):Object(s.hasKey)(t,n)?t[n]:n}(r,e,i),l=e.tooltipOption,u=e.theme.defaultColor,c=[];function h(e,i){if(!Object(s.isNil)(i)&&""!==i){var n={title:o,data:r,mappingData:t,name:e,value:i,color:t.color||u,marker:!0};c.push(n)}}if(Object(s.isObject)(l)){var p=l.fields,f=l.callback;if(f){var d=p.map((function(e){return t._origin[e]})),g=f.apply(void 0,d),y=Object(a.__assign)({data:t._origin,mappingData:t,title:o,color:t.color||u,marker:!0},g);c.push(y)}else for(var v=e.scales,m=0,x=p;m');A.appendChild(E);var L=b(A,u,r,o),I=new(y(v).Canvas)(Object(a.__assign)({container:E,pixelRatio:x,localRefresh:O},L));return(i=t.call(this,{parent:null,canvas:I,backgroundGroup:I.addGroup({zIndex:f}),middleGroup:I.addGroup({zIndex:p}),foregroundGroup:I.addGroup({zIndex:h}),padding:c,appendPadding:d,visible:M,options:j,limitInPlot:P,theme:T})||this).onResize=Object(s.debounce)((function(){i.forceFit()}),300),i.ele=A,i.canvas=I,i.width=L.width,i.height=L.height,i.autoFit=u,i.localRefresh=O,i.renderer=v,i.wrapperElement=E,i.updateCanvasStyle(),i.bindAutoFit(),i.initDefaultInteractions(S),i}return Object(a.__extends)(e,t),e.prototype.initDefaultInteractions=function(t){var e=this;Object(s.each)(t,(function(t){e.interaction(t)}))},e.prototype.changeSize=function(t,e){return this.width===t&&this.height===e||(this.width=t,this.height=e,this.canvas.changeSize(t,e),this.render(!0)),this},e.prototype.destroy=function(){var e,i;t.prototype.destroy.call(this),this.unbindAutoFit(),this.canvas.destroy(),e=this.wrapperElement,(i=e.parentNode)&&i.removeChild(e),this.wrapperElement=null},e.prototype.changeVisible=function(e){return t.prototype.changeVisible.call(this,e),this.wrapperElement.style.display=e?"":"none",this},e.prototype.forceFit=function(){if(!this.destroyed){var t=b(this.ele,!0,this.width,this.height),e=t.width,i=t.height;this.changeSize(e,i)}},e.prototype.updateCanvasStyle=function(){Object(m.modifyCSS)(this.canvas.get("el"),{display:"inline-block",verticalAlign:"middle"})},e.prototype.bindAutoFit=function(){this.autoFit&&window.addEventListener("resize",this.onResize)},e.prototype.unbindAutoFit=function(){this.autoFit&&window.removeEventListener("resize",this.onResize)},e}(Ee),Ie=function(){function t(t){this.visible=!0,this.components=[],this.view=t}return t.prototype.clear=function(){Object(s.each)(this.components,(function(t){t.component.destroy()})),this.components=[]},t.prototype.destroy=function(){this.clear()},t.prototype.getComponents=function(){return this.components},t.prototype.changeVisible=function(t){this.visible!==t&&(this.components.forEach((function(e){t?e.component.show():e.component.hide()})),this.visible=t)},t}(),De=function(){function t(t){var e=t.xField,i=t.yField,n=t.adjustNames,r=void 0===n?["x","y"]:n;this.adjustNames=r,this.xField=e,this.yField=i}return t.prototype.isAdjust=function(t){return this.adjustNames.indexOf(t)>=0},t.prototype.getAdjustRange=function(t,e,i){var n,r,o=this.yField,a=i.indexOf(e),s=i.length;return!o&&this.isAdjust("y")?(n=0,r=1):s>1?(n=i[0===a?0:a-1],r=i[a===s-1?s-1:a+1],0!==a?n+=(e-n)/2:n-=(r-e)/2,a!==s-1?r-=(r-e)/2:r+=(e-i[s-2])/2):(n=0===e?0:e-.5,r=0===e?1:e+.5),{pre:n,next:r}},t.prototype.adjustData=function(t,e){var i=this,n=this.getDimValues(e);s.each(t,(function(t,e){s.each(n,(function(n,r){i.adjustDim(r,n,t,e)}))}))},t.prototype.groupData=function(t,e){return s.each(t,(function(t){void 0===t[e]&&(t[e]=0)})),s.groupBy(t,e)},t.prototype.adjustDim=function(t,e,i,n){},t.prototype.getDimValues=function(t){var e=this.xField,i=this.yField,n={},r=[];if(e&&this.isAdjust("x")&&r.push(e),i&&this.isAdjust("y")&&r.push(i),r.forEach((function(e){n[e]=s.valuesOfKey(t,e).sort((function(t,e){return t-e}))})),!i&&this.isAdjust("y")){n.y=[0,1]}return n},t}(),ke={},Be=function(t){return ke[t.toLowerCase()]},Fe=function(t,e){if(Be(t))throw new Error("Adjust type '"+t+"' existed.");ke[t.toLowerCase()]=e},Re=i(1),Ne=function(t){function e(e){var i=t.call(this,e)||this;i.cacheMap={},i.adjustDataArray=[],i.mergeData=[];var n=e.marginRatio,r=void 0===n?.5:n,o=e.dodgeRatio,a=void 0===o?.5:o,s=e.dodgeBy;return i.marginRatio=r,i.dodgeRatio=a,i.dodgeBy=s,i}return Object(Re.__extends)(e,t),e.prototype.process=function(t){var e=s.clone(t),i=s.flatten(e),n=this.dodgeBy,r=n?s.group(i,n):e;return this.cacheMap={},this.adjustDataArray=r,this.mergeData=i,this.adjustData(r,i),this.adjustDataArray=[],this.mergeData=[],e},e.prototype.adjustDim=function(t,e,i,n){var r=this,o=this.getDistribution(t),a=this.groupData(i,t);return s.each(a,(function(i,a){var l;l=1===e.length?{pre:e[0]-1,next:e[0]+1}:r.getAdjustRange(t,parseFloat(a),e),s.each(i,(function(e){var i=e[t],a=o[i],s=a.indexOf(n);e[t]=r.getDodgeOffset(l,s,a.length)}))})),[]},e.prototype.getDodgeOffset=function(t,e,i){var n=this.dodgeRatio,r=this.marginRatio,o=t.pre,a=t.next,s=a-o,l=s*n/i,u=r*l;return(o+a)/2+(.5*(s-i*l-(i-1)*u)+((e+1)*l+e*u)-.5*l-.5*s)},e.prototype.getDistribution=function(t){var e=this.adjustDataArray,i=this.cacheMap,n=i[t];return n||(n={},s.each(e,(function(e,i){var r=s.valuesOfKey(e,t);r.length||r.push(0),s.each(r,(function(t){n[t]||(n[t]=[]),n[t].push(i)}))})),i[t]=n),n},e}(De);var Ye=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(Re.__extends)(e,t),e.prototype.process=function(t){var e=s.clone(t),i=s.flatten(e);return this.adjustData(e,i),e},e.prototype.adjustDim=function(t,e,i){var n=this,r=this.groupData(i,t);return s.each(r,(function(i,r){return n.adjustGroup(i,t,parseFloat(r),e)}))},e.prototype.getAdjustOffset=function(t){var e,i=t.pre,n=t.next,r=.05*(n-i);return(n-r-(e=i+r))*Math.random()+e},e.prototype.adjustGroup=function(t,e,i,n){var r=this,o=this.getAdjustRange(e,i,n);return s.each(t,(function(t){t[e]=r.getAdjustOffset(o)})),t},e}(De),Ge=s.Cache,Xe=function(t){function e(e){var i=t.call(this,e)||this,n=e.adjustNames,r=void 0===n?["y"]:n,o=e.height,a=void 0===o?NaN:o,s=e.size,l=void 0===s?10:s,u=e.reverseOrder,c=void 0!==u&&u;return i.adjustNames=r,i.height=a,i.size=l,i.reverseOrder=c,i}return Object(Re.__extends)(e,t),e.prototype.process=function(t){var e=this.yField,i=this.reverseOrder,n=e?this.processStack(t):this.processOneDimStack(t);return i?this.reverse(n):n},e.prototype.reverse=function(t){return t.slice(0).reverse()},e.prototype.processStack=function(t){var e=this.xField,i=this.yField,n=this.reverseOrder?this.reverse(t):t,r=new Ge,o=new Ge;return n.map((function(t){return t.map((function(t){var n,a=s.get(t,e,0),l=s.get(t,i),u=a.toString();if(l=s.isArray(l)?l[1]:l,!s.isNil(l)){var c=l>=0?r:o;c.has(u)||c.set(u,0);var h=c.get(u),p=l+h;return c.set(u,p),Object(Re.__assign)(Object(Re.__assign)({},t),((n={})[i]=[h,p],n))}return t}))}))},e.prototype.processOneDimStack=function(t){var e=this,i=this.xField,n=this.height,r=this.reverseOrder,o=r?this.reverse(t):t,a=new Ge;return o.map((function(t){return t.map((function(t){var r,o=e.size,s=t[i],l=2*o/n;a.has(s)||a.set(s,l/2);var u=a.get(s);return a.set(s,u+l),Object(Re.__assign)(Object(Re.__assign)({},t),((r={}).y=u,r))}))}))},e}(De),Ve=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(Re.__extends)(e,t),e.prototype.process=function(t){var e=s.flatten(t),i=this.xField,n=this.yField,r=this.getXValuesMaxMap(e),o=Math.max.apply(Math,Object.keys(r).map((function(t){return r[t]})));return s.map(t,(function(t){return s.map(t,(function(t){var e,a,l=t[n],u=t[i];if(s.isArray(l)){var c=(o-r[u])/2;return Object(Re.__assign)(Object(Re.__assign)({},t),((e={})[n]=s.map(l,(function(t){return c+t})),e))}var h=(o-l)/2;return Object(Re.__assign)(Object(Re.__assign)({},t),((a={})[n]=[h,l+h],a))}))}))},e.prototype.getXValuesMaxMap=function(t){var e=this,i=this.xField,n=this.yField,r=s.groupBy(t,(function(t){return t[i]}));return s.mapValues(r,(function(t){return e.getDimMaxValue(t,n)}))},e.prototype.getDimMaxValue=function(t,e){var i=s.map(t,(function(t){return s.get(t,e,[])})),n=s.flatten(i);return Math.max.apply(Math,n)},e}(De);Fe("Dodge",Ne),Fe("Jitter",Ye),Fe("Stack",Xe),Fe("Symmetric",Ve);var ze={};function He(t){return ze[t.toLowerCase()]}function We(t,e){ze[t.toLowerCase()]=e}var qe={appear:{duration:450,easing:"easeQuadOut"},update:{duration:400,easing:"easeQuadInOut"},enter:{duration:400,easing:"easeQuadInOut"},leave:{duration:350,easing:"easeQuadIn"}},Ue={interval:function(t){return{enter:{animation:t.isRect?t.isTransposed?"scale-in-x":"scale-in-y":"fade-in"},update:{animation:t.isPolar&&t.isTransposed?"sector-path-update":null},leave:{animation:"fade-out"}}},line:{enter:{animation:"fade-in"},leave:{animation:"fade-out"}},path:{enter:{animation:"fade-in"},leave:{animation:"fade-out"}},point:{appear:{animation:"zoom-in"},enter:{animation:"zoom-in"},leave:{animation:"zoom-out"}},area:{enter:{animation:"fade-in"},leave:{animation:"fade-out"}},polygon:{enter:{animation:"fade-in"},leave:{animation:"fade-out"}},schema:{enter:{animation:"fade-in"},leave:{animation:"fade-out"}},edge:{enter:{animation:"fade-in"},leave:{animation:"fade-out"}},label:{appear:{animation:"fade-in",delay:450},enter:{animation:"fade-in"},update:{animation:"position-update"},leave:{animation:"fade-out"}}},Ke={line:function(){return{animation:"wave-in"}},area:function(){return{animation:"wave-in"}},path:function(){return{animation:"fade-in"}},interval:function(t){var e;return t.isRect?e=t.isTransposed?"grow-in-x":"grow-in-y":(e="grow-in-xy",t.isPolar&&t.isTransposed&&(e="wave-in")),{animation:e}},schema:function(t){return{animation:t.isRect?t.isTransposed?"grow-in-x":"grow-in-y":"grow-in-xy"}},polygon:function(){return{animation:"fade-in",duration:500}},edge:function(){return{animation:"fade-in"}}};function Ze(t,e,i){var n=Ue[t];return n&&(Object(s.isFunction)(n)&&(n=n(e)),n=Object(s.deepMix)({},qe,n),i)?n[i]:n}function $e(t,e,i){var n=Object(s.get)(t.get("origin"),"data","_origin"),r=e.animation,o=function(t,e){return{delay:Object(s.isFunction)(t.delay)?t.delay(e):t.delay,easing:Object(s.isFunction)(t.easing)?t.easing(e):t.easing,duration:Object(s.isFunction)(t.duration)?t.duration(e):t.duration,callback:t.callback}}(e,n);if(r){var a=He(r);a&&a(t,o,i)}else t.animate(i.toAttrs,o)}var Qe=i(111),Je=function(t){function e(e){var i=t.call(this,e)||this;i.states=[];var n=e.shapeFactory,r=e.container,o=e.offscreenGroup,a=e.visible,s=void 0===a||a;return i.shapeFactory=n,i.container=r,i.offscreenGroup=o,i.visible=s,i}return Object(a.__extends)(e,t),e.prototype.draw=function(t,e){void 0===e&&(e=!1),this.model=t,this.data=t.data,this.shapeType=this.getShapeType(t),this.drawShape(t,e),!1===this.visible&&this.changeVisible(!1)},e.prototype.update=function(t){var e=this.shapeFactory,i=this.shape;if(i){this.model=t,this.data=t.data,this.shapeType=this.getShapeType(t),this.setShapeInfo(i,t);var n=this.getOffscreenGroup(),r=e.drawShape(this.shapeType,t,n);r.cfg.data=this.data,r.cfg.origin=t,this.syncShapeStyle(i,r,"",this.getAnimateCfg("update"))}},e.prototype.destroy=function(){var e=this.shapeFactory,i=this.shape;if(i){var n=this.getAnimateCfg("leave");n?$e(i,n,{coordinate:e.coordinate,toAttrs:Object(a.__assign)({},i.attr())}):i.remove(!0)}this.states=[],this.shapeFactory=void 0,this.container=void 0,this.shape=void 0,this.animate=void 0,this.geometry=void 0,this.labelShape=void 0,this.model=void 0,this.data=void 0,this.offscreenGroup=void 0,this.statesStyle=void 0,t.prototype.destroy.call(this)},e.prototype.changeVisible=function(e){t.prototype.changeVisible.call(this,e),e?(this.shape&&this.shape.show(),this.labelShape&&this.labelShape.forEach((function(t){t.show()}))):(this.shape&&this.shape.hide(),this.labelShape&&this.labelShape.forEach((function(t){t.hide()})))},e.prototype.setState=function(t,e){var i=this,n=this,r=n.states,o=n.shapeFactory,a=n.model,s=n.shape,l=n.shapeType,u=r.indexOf(t);if(e){if(u>-1)return;r.push(t),"active"!==t&&"selected"!==t||s.toFront()}else{if(-1===u)return;r.splice(u,1),"active"!==t&&"selected"!==t||s.toBack()}var c=o.drawShape(l,a,this.getOffscreenGroup());r.length?r.forEach((function(t){i.syncShapeStyle(s,c,t,null)})):this.syncShapeStyle(s,c,"reset",null),c.remove(!0);var h={state:t,stateStatus:e,element:this,target:this.container};this.container.emit("statechange",h),Object(Qe.propagationDelegate)(this.shape,"statechange",h)},e.prototype.clearStates=function(){var t=this,e=this.states;Object(s.each)(e,(function(e){t.setState(e,!1)})),this.states=[]},e.prototype.hasState=function(t){return this.states.includes(t)},e.prototype.getStates=function(){return this.states},e.prototype.getData=function(){return this.data},e.prototype.getModel=function(){return this.model},e.prototype.getBBox=function(){var t=this.shape,e=this.labelShape,i={x:0,y:0,minX:0,minY:0,maxX:0,maxY:0,width:0,height:0};return t&&(i=t.getCanvasBBox()),e&&e.forEach((function(t){var e=t.getCanvasBBox();i.x=Math.min(e.x,i.x),i.y=Math.min(e.y,i.y),i.minX=Math.min(e.minX,i.minX),i.minY=Math.min(e.minY,i.minY),i.maxX=Math.max(e.maxX,i.maxX),i.maxY=Math.max(e.maxY,i.maxY)})),i.width=i.maxX-i.minX,i.height=i.maxY-i.minY,i},e.prototype.getStatesStyle=function(){if(!this.statesStyle){var t=this.shapeType,e=this.geometry,i=this.shapeFactory,n=e.stateOption,r=i.defaultShapeType,o=i.theme[t]||i.theme[r];this.statesStyle=Object(s.deepMix)({},o,n)}return this.statesStyle},e.prototype.getStateStyle=function(t,e){var i=this.getStatesStyle(),n=Object(s.get)(i,[t,"style"],{}),r=n[e]||n;return Object(s.isFunction)(r)?r(this):r},e.prototype.getAnimateCfg=function(t){var e=this.animate;return e?e[t]:null},e.prototype.drawShape=function(t,e){void 0===e&&(e=!1);var i=this.shapeFactory,n=this.container,r=this.shapeType;if(this.shape=i.drawShape(r,t,n),this.shape){this.setShapeInfo(this.shape,t);var o=this.shape.cfg.name;o?Object(s.isString)(o)&&(this.shape.cfg.name=["element",o]):this.shape.cfg.name=["element",this.shapeFactory.geometryType];var l=e?"enter":"appear",u=this.getAnimateCfg(l);u&&$e(this.shape,u,{coordinate:i.coordinate,toAttrs:Object(a.__assign)({},this.shape.attr())})}},e.prototype.getOffscreenGroup=function(){if(!this.offscreenGroup){var t=this.container.getGroupBase();this.offscreenGroup=new t({})}return this.offscreenGroup},e.prototype.setShapeInfo=function(t,e){var i=this;(t.cfg.origin=e,t.cfg.element=this,t.isGroup())&&t.get("children").forEach((function(t){i.setShapeInfo(t,e)}))},e.prototype.syncShapeStyle=function(t,e,i,n,r){if(void 0===i&&(i=""),void 0===r&&(r=0),t.isGroup())for(var o=t.get("children"),a=e.get("children"),l=0;l=0?e:i<=0?i:0},e.prototype.createAttrOption=function(t,e,i){if(Object(s.isNil)(e)||Object(s.isObject)(e))Object(s.isObject)(e)&&Object(s.isEqual)(Object.keys(e),["values"])?Object(s.set)(this.attributeOption,t,{fields:e.values}):Object(s.set)(this.attributeOption,t,e);else{var n={};Object(s.isNumber)(e)?n.values=[e]:n.fields=di(e),i&&(Object(s.isFunction)(i)?n.callback=i:n.values=i),Object(s.set)(this.attributeOption,t,n)}},e.prototype.initAttributes=function(){var t=this,e=this.attributes,i=this.attributeOption,n=this.theme,r=this.shapeType;this.groupScales=[];var o={},s=function(s){if(i.hasOwnProperty(s)){var l=i[s];if(!l)return{value:void 0};var u=Object(a.__assign)({},l),c=u.callback,h=u.values,p=u.fields,f=(void 0===p?[]:p).map((function(e){var i=t.scales[e];return i.isCategory&&!o[e]&&d.includes(s)&&(t.groupScales.push(i),o[e]=!0),i}));u.scales=f,"position"!==s&&1===f.length&&"identity"===f[0].type?u.values=f[0].values:c||h||("size"===s?u.values=n.sizes:"shape"===s?u.values=n.shapes[r]||[]:"color"===s&&(f.length?u.values=f[0].values.length<=10?n.colors10:n.colors20:u.values=n.colors10));var g=Object(O.getAttribute)(s);e[s]=new g(u)}};for(var l in i){var u=s(l);if("object"===gi(u))return u.value}},e.prototype.processData=function(t){this.hasSorted=!1;for(var e=this.getAttribute("position").scales.filter((function(t){return t.isCategory})),i=this.groupData(t),n=[],r=0,o=i.length;ro&&(o=c)}var h=this.scaleDefs,p={};rt.max&&!Object(s.get)(h,[n,"max"])&&(p.max=o),t.change(p)},e.prototype.beforeMapping=function(t){var e=t;if(this.sortable&&this.sort(e),this.generatePoints)for(var i=0,n=e.length;i1)for(var h=0;h0||1===i?n*a:n*a*-1,s},t.prototype.getLabelPoint=function(t,e,i){var n=this.getCoordinate(),r=t.content.length;function o(e,i){var n,r,o=e;return Object(s.isArray)(o)&&(1===t.content.length?o.length<=2?o=o[e.length-1]:(n=o,r=0,Object(s.each)(n,(function(t){r+=t})),o=r/n.length):o=o[i]),o}var a={content:t.content[i],x:0,y:0,start:{x:0,y:0},color:"#fff"};if(e&&"polygon"===this.geometry.type){var l=function(t,e){if(Object(s.isNumber)(t)&&Object(s.isNumber)(e))return[t,e];for(var i,n,r=-1,o=0,a=0,l=t.length-1,u=0;++r1&&0===e&&("right"===n?n="left":"left"===n&&(n="right"))}return n},t.prototype.getLabelId=function(t){var e=this.geometry,i=e.type,n=e.getXScale(),r=e.getYScale(),o=t._origin,a=e.getElementId(t);return"line"===i||"area"===i?a+=" "+o[n.field]:"path"===i&&(a+=" "+o[n.field]+"-"+o[r.field]),a},t.prototype.getLabelsRenderer=function(){var t=this.geometry,e=t.labelsContainer,i=t.labelOption,n=t.canvasRegion,r=t.animateOption,o=this.geometry.coordinate,a=this.labelsRenderer;return a||(a=new bi({container:e,layout:Object(s.get)(i,["cfg","layout"],{type:this.defaultLayout})}),this.labelsRenderer=a),a.region=n,a.animate=!!r&&Ze("label",o),a},t.prototype.getLabelCfgs=function(t){var e=this,i=this.geometry,n=this.getDefaultLabelCfg(),r=i.type,o=i.theme,l=i.labelOption,u=i.scales,c=i.coordinate,h=l,p=h.fields,f=h.callback,d=h.cfg,g=p.map((function(t){return u[t]})),y=[];return Object(s.each)(t,(function(t,i){var l,u=t._origin,h=e.getLabelText(u,g);if(f){var v=p.map((function(t){return u[t]}));if(l=f.apply(void 0,v),Object(s.isNil)(l))return void y.push(null)}var m=Object(a.__assign)(Object(a.__assign)({id:e.getLabelId(t),data:u,mappingData:t,coordinate:c},d),l),x=m.content;Object(s.isFunction)(x)?m.content=x(u,t,i):Object(s.isUndefined)(x)&&(m.content=h[0]),Object(s.isFunction)(m.position)&&(m.position=m.position(u,t,i)),m="polygon"===r||m.offset<0&&!["line","point","path"].includes(r)?Object(s.deepMix)({},n,o.innerLabels,m):Object(s.deepMix)({},n,o.labels,m),y.push(m)})),y},t.prototype.getLabelText=function(t,e){var i=[];return Object(s.each)(e,(function(e){var n=t[e.field];n=Object(s.isArray)(n)?n.map((function(t){return e.getText(t)})):e.getText(n),Object(s.isNil)(n)||""===n?i.push(null):i.push(n)})),i},t.prototype.getOffsetVector=function(t){void 0===t&&(t=0);var e=this.getCoordinate();return e.isTransposed?e.applyMatrix(t,0):e.applyMatrix(0,t)},t.prototype.getGeometryShapes=function(){var t=this.geometry,e={};return Object(s.each)(t.elementsMap,(function(t,i){e[i]=t.shape})),Object(s.each)(t.getOffscreenGroup().getChildren(),(function(i){var n=t.getElementId(i.get("origin").mappingData);e[n]=i})),e},t}(),Oi=i(122),wi="4.0.15",Mi="#000",Ci="#FFFFFF",Si="#A6A6A6",ji="#737373",Pi="#404040",Ti="#262626",Ai=["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#E86452","#6DC8EC","#945FB9","#FF9845","#1E9493","#FF99C3"],Ei={backgroundColor:"#141414",brandColor:Ai[0],paletteQualitative10:Ai,paletteQualitative20:["#5B8FF9","#CDDDFD","#5AD8A6","#CDF3E4","#5D7092","#CED4DE","#F6BD16","#FCEBB9","#E86452","#F8D0CB","#6DC8EC","#D3EEF9","#945FB9","#DECFEA","#FF9845","#FFE0C7","#1E9493","#BBDEDE","#FF99C3","#FFE0ED"],paletteSemanticRed:"#F4664A",paletteSemanticGreen:"#30BF78",paletteSemanticYellow:"#FAAD14",fontFamily:'"-apple-system", "Segoe UI", Roboto, "Helvetica Neue", Arial,\n "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol",\n "Noto Color Emoji"',axisLineBorderColor:Pi,axisLineBorder:.5,axisLineDash:null,axisTitleTextFillColor:Si,axisTitleTextFontSize:12,axisTitleTextLineHeight:12,axisTitleTextFontWeight:"normal",axisTickLineBorderColor:Pi,axisTickLineLength:4,axisTickLineBorder:.5,axisSubTickLineBorderColor:Ti,axisSubTickLineLength:2,axisSubTickLineBorder:.5,axisLabelFillColor:ji,axisLabelFontSize:12,axisLabelLineHeight:12,axisLabelFontWeight:"normal",axisGridBorderColor:Ti,axisGridBorder:.5,axisGridLineDash:null,legendTitleTextFillColor:ji,legendTitleTextFontSize:12,legendTitleTextLineHeight:21,legendTitleTextFontWeight:"normal",legendMarkerColor:Ai[0],legendMarkerSize:4,legendCircleMarkerSize:4,legendSquareMarkerSize:4,legendLineMarkerSize:5,legendItemNameFillColor:Si,legendItemNameFontSize:12,legendItemNameLineHeight:12,legendItemNameFontWeight:"normal",sliderRailFillColor:Ti,sliderRailBorder:0,sliderRailBorderColor:null,sliderRailWidth:100,sliderRailHeight:12,sliderLabelTextFillColor:ji,sliderLabelTextFontSize:12,sliderLabelTextLineHeight:12,sliderLabelTextFontWeight:"normal",sliderHandlerFillColor:"#F0F0F0",sliderHandlerWidth:10,sliderHandlerHeight:14,sliderHandlerBorder:1,sliderHandlerBorderColor:"#BFBFBF",annotationArcBorderColor:Ti,annotationArcBorder:.5,annotationLineBorderColor:Pi,annotationLineBorder:.5,annotationLineDash:null,annotationTextFillColor:Si,annotationTextFontSize:12,annotationTextLineHeight:12,annotationTextFontWeight:"normal",annotationTextBorderColor:"#0D0D0D",annotationTextBorder:1.5,annotationRegionFillColor:Ci,annotationRegionFillOpacity:.06,annotationRegionBorder:0,annotationRegionBorderColor:null,annotationDataMarkerLineLength:16,tooltipCrosshairsBorderColor:Pi,tooltipCrosshairsBorder:.5,tooltipCrosshairsLineDash:null,tooltipContainerFillColor:"#1f1f1f",tooltipContainerFillOpacity:.95,tooltipContainerShadow:"0px 2px 4px rgba(0,0,0,.5)",tooltipContainerBorderRadius:3,tooltipTextFillColor:Si,tooltipTextFontSize:12,tooltipTextLineHeight:12,tooltipTextFontWeight:"bold",labelFillColor:Si,labelFontSize:12,labelLineHeight:12,labelFontWeight:"normal",labelBorderColor:null,labelBorder:0,innerLabelFillColor:Mi,innerLabelFontSize:12,innerLabelLineHeight:12,innerLabelFontWeight:"normal",innerLabelBorderColor:null,innerLabelBorder:0,labelLineBorder:.5,labelLineBorderColor:Pi,pointFillColor:Ai[0],pointFillOpacity:.95,pointSize:4,pointBorder:1,pointBorderColor:Mi,pointBorderOpacity:1,pointActiveBorderColor:Ci,pointSelectedBorder:2,pointSelectedBorderColor:Ci,pointInactiveFillOpacity:.3,pointInactiveBorderOpacity:.3,hollowPointSize:4,hollowPointBorder:1,hollowPointBorderColor:Ai[0],hollowPointBorderOpacity:.95,hollowPointFillColor:Mi,hollowPointActiveBorder:1,hollowPointActiveBorderColor:Ci,hollowPointActiveBorderOpacity:1,hollowPointSelectedBorder:2,hollowPointSelectedBorderColor:Ci,hollowPointSelectedBorderOpacity:1,hollowPointInactiveBorderOpacity:.3,lineBorder:2,lineBorderColor:Ai[0],lineBorderOpacity:1,lineActiveBorder:3,lineSelectedBorder:3,lineInactiveBorderOpacity:.3,areaFillColor:Ai[0],areaFillOpacity:.25,areaActiveFillColor:Ai[0],areaActiveFillOpacity:.5,areaSelectedFillColor:Ai[0],areaSelectedFillOpacity:.5,areaInactiveFillOpacity:.3,hollowAreaBorderColor:Ai[0],hollowAreaBorder:2,hollowAreaBorderOpacity:1,hollowAreaActiveBorder:3,hollowAreaActiveBorderColor:Ci,hollowAreaSelectedBorder:3,hollowAreaSelectedBorderColor:Ci,hollowAreaInactiveBorderOpacity:.3,intervalFillColor:Ai[0],intervalFillOpacity:.95,intervalActiveBorder:1,intervalActiveBorderColor:Ci,intervalActiveBorderOpacity:1,intervalSelectedBorder:2,intervalSelectedBorderColor:Ci,intervalSelectedBorderOpacity:1,intervalInactiveBorderOpacity:.3,intervalInactiveFillOpacity:.3,hollowIntervalBorder:2,hollowIntervalBorderColor:Ai[0],hollowIntervalBorderOpacity:1,hollowIntervalFillColor:Mi,hollowIntervalActiveBorder:2,hollowIntervalActiveBorderColor:Ci,hollowIntervalSelectedBorder:3,hollowIntervalSelectedBorderColor:Ci,hollowIntervalSelectedBorderOpacity:1,hollowIntervalInactiveBorderOpacity:.3},Li=i(112),Ii=i(117);function Di(t){return!t&&(null==t||isNaN(t))}function ki(t){if(Object(s.isArray)(t))return Di(t[1].y);var e=t.y;return Object(s.isArray)(e)?Di(e[0]):Di(e)}function Bi(t,e,i){if(void 0===e&&(e=!1),void 0===i&&(i=!0),!t.length||1===t.length&&!i)return[];if(e){for(var n=[],r=0,o=t.length;r0&&(u[0][0]="L")),o=o.concat(u)})),o.push(["Z"])}return o}function Hi(t,e,i,n,r){for(var o=Fi(t,e,!e,"lineWidth"),a=t.connectNulls,s=t.isInCircle,l=Bi(t.points,a,t.showSinglePoint),u=[],c=0,h=l.length;cn&&(n=r),r=e[0]})));for(var h=this.scales[u],p=0,f=t;p1){r.sort();var l=function(t,e){var i=t.length,n=t;Object(s.isString)(n[0])&&(n=t.map((function(t){return e.translate(t)})));for(var r=n[1]-n[0],o=2;oa&&(r=a)}return r}(r,n);a=(n.max-n.min)/l,r.length>a&&(a=r.length)}var u=n.range,c=1/a,h=1;(i.isPolar?h=i.isTransposed&&a>1?e.multiplePieWidthRatio:e.roseWidthRatio:(n.isLinear&&(c*=u[1]-u[0]),h=e.columnWidthRatio),c*=h,t.getAdjust("dodge"))&&(c/=function(t,e){if(e){var i=Object(s.flatten)(t);return Object(s.valuesOfKey)(i,e).length}return t.length}(o,t.getAdjust("dodge").dodgeBy));var p=e.maxColumnWidth,f=e.minColumnWidth,d=ut(t.coordinate);if(p){var g=p/d;c>g&&(c=g)}if(f){var y=f/d;c0&&!Object(s.get)(i,[n,"min"])&&e.change({min:0}),o<=0&&!Object(s.get)(i,[n,"max"])&&e.change({max:0}))}},e}(yi),nn=function(t){function e(e){var i=t.call(this,e)||this;i.type="line";var n=e.sortable,r=void 0===n||n;return i.sortable=r,i}return Object(a.__extends)(e,t),e}(Vi),rn={hexagon:function(t,e,i){var n=i/2*Math.sqrt(3);return[["M",t,e-i],["L",t+n,e-i/2],["L",t+n,e+i/2],["L",t,e+i],["L",t-n,e+i/2],["L",t-n,e-i/2],["Z"]]},bowtie:function(t,e,i){var n=i-1.5;return[["M",t-i,e-n],["L",t+i,e+n],["L",t+i,e-n],["L",t-i,e+n],["Z"]]},cross:function(t,e,i){return[["M",t-i,e-i],["L",t+i,e+i],["M",t+i,e-i],["L",t-i,e+i]]},tick:function(t,e,i){return[["M",t-i/2,e-i],["L",t+i/2,e-i],["M",t,e-i],["L",t,e+i],["M",t-i/2,e+i],["L",t+i/2,e+i]]},plus:function(t,e,i){return[["M",t-i,e],["L",t+i,e],["M",t,e-i],["L",t,e+i]]},hyphen:function(t,e,i){return[["M",t-i,e],["L",t+i,e]]},line:function(t,e,i){return[["M",t,e-i],["L",t,e+i]]}},on=["circle","square","bowtie","diamond","hexagon","triangle","triangle-down"];function an(t,e,i,n,r){var o=Fi(e,r,!r,"r"),s=t.parsePoints(e.points),l=s[0];if(e.isStack)l=s[1];else if(s.length>1){for(var u=i.addGroup(),c=0,h=s;c2?"weight":"normal";if(t.isInCircle){var s={x:0,y:1};return"normal"===o?i=function(t,e,i){var n=hn(e,i),r=[["M",t.x,t.y]];return r.push(n),r}(r[0],r[1],s):(n.fill=n.stroke,i=function(t,e){var i=hn(t[1],e),n=hn(t[3],e),r=[["M",t[0].x,t[0].y]];return r.push(n),r.push(["L",t[3].x,t[3].y]),r.push(["L",t[2].x,t[2].y]),r.push(i),r.push(["L",t[1].x,t[1].y]),r.push(["L",t[0].x,t[0].y]),r.push(["Z"]),r}(r,s)),i=this.parsePath(i),e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},n),{path:i})})}if("normal"===o)return i=nt(((r=this.parsePoints(r))[1].x+r[0].x)/2,r[0].y,Math.abs(r[1].x-r[0].x)/2,Math.PI,2*Math.PI),e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},n),{path:i})});var l=cn(r[1],r[3]),u=cn(r[2],r[0]);return i=[["M",r[0].x,r[0].y],["L",r[1].x,r[1].y],l,["L",r[3].x,r[3].y],["L",r[2].x,r[2].y],u,["Z"]],i=this.parsePath(i),n.fill=n.stroke,e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},n),{path:i})})},getMarker:function(t){return{symbol:"circle",style:{r:4.5,fill:t.color}}}}),hi("edge","smooth",{draw:function(t,e){var i=Fi(t,!0,!1,"lineWidth"),n=t.points,r=this.parsePath(function(t,e){var i=cn(t,e),n=[["M",t.x,t.y]];return n.push(i),n}(n[0],n[1]));return e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},i),{path:r})})},getMarker:function(t){return{symbol:"circle",style:{r:4.5,fill:t.color}}}});hi("edge","vhv",{draw:function(t,e){var i=Fi(t,!0,!1,"lineWidth"),n=t.points,r=this.parsePath(function(t,e){var i=[];i.push({x:t.x,y:t.y*(1-1/3)+e.y*(1/3)}),i.push({x:e.x,y:t.y*(1-1/3)+e.y*(1/3)}),i.push(e);var n=[["M",t.x,t.y]];return Object(s.each)(i,(function(t){n.push(["L",t.x,t.y])})),n}(n[0],n[1]));return e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},i),{path:r})})},getMarker:function(t){return{symbol:"circle",style:{r:4.5,fill:t.color}}}}),hi("interval","funnel",{getPoints:function(t){return t.size=2*t.size,$i(t)},draw:function(t,e){var i=Fi(t,!1,!0),n=this.parsePath(Ji(t.points,t.nextPoints,!1));return e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},i),{path:n}),name:"interval"})},getMarker:function(t){return{symbol:"square",style:{r:4,fill:t.color}}}}),hi("interval","hollow-rect",{draw:function(t,e){var i=Fi(t,!0,!1),n=this.parsePath(Qi(t.points));return e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},i),{path:n}),name:"interval"})},getMarker:function(t){var e=t.color;return t.isInPolar?{symbol:"circle",style:{r:4.5,stroke:e,fill:null}}:{symbol:"square",style:{r:4,stroke:e,fill:null}}}}),hi("interval","line",{getPoints:function(t){return i=(e=t).x,n=e.y,r=e.y0,Object(s.isArray)(n)?n.map((function(t,e){return{x:Object(s.isArray)(i)?i[e]:i,y:t}})):[{x:i,y:r},{x:i,y:n}];var e,i,n,r},draw:function(t,e){var i=Fi(t,!0,!1,"lineWidth"),n=this.parsePath(Qi(t.points,!1));return e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},i),{path:n}),name:"interval"})},getMarker:function(t){return{symbol:function(t,e,i){return[["M",t,e-i],["L",t,e+i]]},style:{r:5,stroke:t.color}}}}),hi("interval","pyramid",{getPoints:function(t){return t.size=2*t.size,$i(t,!0)},draw:function(t,e){var i=Fi(t,!1,!0),n=this.parsePath(Ji(t.points,t.nextPoints,!0));return e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},i),{path:n}),name:"interval"})},getMarker:function(t){return{symbol:"square",style:{r:4,fill:t.color}}}}),hi("interval","tick",{getPoints:function(t){return function(t){var e,i,n=t.x,r=t.y,o=t.y0,a=t.size;Object(s.isArray)(r)?(e=r[0],i=r[1]):(e=o,i=r);var l=n+a/2,u=n-a/2;return[{x:n,y:e},{x:n,y:i},{x:u,y:e},{x:l,y:e},{x:u,y:i},{x:l,y:i}]}(t)},draw:function(t,e){var i,n=Fi(t,!0,!1),r=this.parsePath([["M",(i=t.points)[0].x,i[0].y],["L",i[1].x,i[1].y],["M",i[2].x,i[2].y],["L",i[3].x,i[3].y],["M",i[4].x,i[4].y],["L",i[5].x,i[5].y]]);return e.addShape("path",{attrs:Object(a.__assign)(Object(a.__assign)({},n),{path:r}),name:"interval"})},getMarker:function(t){return{symbol:function(t,e,i){return[["M",t-i/2,e-i],["L",t+i/2,e-i],["M",t,e-i],["L",t,e+i],["M",t-i/2,e+i],["L",t+i/2,e+i]]},style:{r:5,stroke:t.color}}}});function pn(t,e){var i=Bi(t.points,t.connectNulls,t.showSinglePoint),n=[];return Object(s.each)(i,(function(t){var i=function(t,e){var i=[];return Object(s.each)(t,(function(n,r){var o=t[r+1];if(i.push(n),o){var a=function(t,e,i){var n,r=t.x,o=t.y,a=e.x,s=e.y;switch(i){case"hv":n=[{x:a,y:o}];break;case"vh":n=[{x:r,y:s}];break;case"hvh":var l=(a+r)/2;n=[{x:l,y:o},{x:l,y:s}];break;case"vhv":var u=(o+s)/2;n=[{x:r,y:u},{x:a,y:u}]}return n}(n,o,e);i=i.concat(a)}})),i}(t,e);n=n.concat(function(t){return t.map((function(t,e){return 0===e?["M",t.x,t.y]:["L",t.x,t.y]}))}(i))})),Object(a.__assign)(Object(a.__assign)({},Fi(t,!0,!1,"lineWidth")),{path:n})}function fn(t){var e=Object(s.isArray)(t)?t:[t],i=e[0],n=e[e.length-1],r=e.length>1?e[1]:i;return{min:i,max:n,min1:r,max1:e.length>3?e[3]:n,median:e.length>2?e[2]:r}}function dn(t,e,i){var n,r=i/2;if(Object(s.isArray)(e)){var o=fn(e),a=o.min,l=o.max,u=o.median,c=o.min1,h=t-r,p=t+r;n=[[h,l],[p,l],[t,l],[t,f=o.max1],[h,c],[h,f],[p,f],[p,c],[t,c],[t,a],[h,a],[p,a],[h,u],[p,u]]}else{e=Object(s.isNil)(e)?.5:e;var f,d=fn(t),g=(a=d.min,l=d.max,u=d.median,e-r),y=e+r;n=[[a,g],[a,y],[a,e],[c=d.min1,e],[c,g],[c,y],[f=d.max1,y],[f,g],[f,e],[l,e],[l,g],[l,y],[u,g],[u,y]]}return n.map((function(t){return{x:t[0],y:t[1]}}))}function gn(t){var e=(Object(s.isArray)(t)?t:[t]).sort((function(t,e){return e-t}));return function(t,e,i){if(Object(s.isString)(t))return t.padEnd(e,i);if(Object(s.isArray)(t)){var n=t.length;if(n1){for(var o=e.addGroup(),a=0,s=n;a=-Math.PI/2?"left":"right";else if(i.isTransposed){var n=i.getCenter(),r=this.getDefaultOffset(t.offset);e=Math.abs(t.x-n.x)<1?"center":t.angle>Math.PI||t.angle<=0?r>0?"left":"right":r>0?"right":"left"}else e="center";return e},e.prototype.getLabelPoint=function(t,e,i){var n,r=1,o=t.content[i];this.isToMiddle(e)?n=this.getMiddlePoint(e.points):(1===t.content.length&&0===i?i=1:0===i&&(r=-1),n=this.getArcPoint(e,i));var a=this.getDefaultOffset(t.offset)*r,s=this.getPointAngle(n),l=t.labelEmit,u=this.getCirclePoint(s,a,n,l);return 0===u.r?u.content="":(u.content=o,u.angle=s,u.color=e.color),u.rotate=t.autoRotate?this.getLabelRotate(s,a,l):t.rotate,u.start={x:n.x,y:n.y},u},e.prototype.getArcPoint=function(t,e){return void 0===e&&(e=0),Object(s.isArray)(t.x)||Object(s.isArray)(t.y)?{x:Object(s.isArray)(t.x)?t.x[e]:t.x,y:Object(s.isArray)(t.y)?t.y[e]:t.y}:{x:t.x,y:t.y}},e.prototype.getPointAngle=function(t){return pt(this.getCoordinate(),t)},e.prototype.getCirclePoint=function(t,e,i,n){var r=this.getCoordinate(),o=r.getCenter(),s=ct(r,i);if(0===s)return Object(a.__assign)(Object(a.__assign)({},o),{r:s});var l=t;r.isTransposed&&s>e&&!n?l=t+2*Math.asin(e/(2*s)):s+=e;return{x:o.x+s*Math.cos(l),y:o.y+s*Math.sin(l),r:s}},e.prototype.getLabelRotate=function(t,e,i){var n=t+xn;return i&&(n-=xn),n&&(n>xn?n-=Math.PI:n<-xn&&(n+=Math.PI)),n},e.prototype.getMiddlePoint=function(t){var e=this.getCoordinate(),i=t.length,n={x:0,y:0};return Object(s.each)(t,(function(t){n.x+=t.x,n.y+=t.y})),n.x/=i,n.y/=i,n=e.convert(n)},e.prototype.isToMiddle=function(t){return t.x.length>2},e}(_i),_n=function(t){function e(e){var i=t.call(this,e)||this;return i.defaultLayout="distribute",i}return Object(a.__extends)(e,t),e.prototype.getDefaultLabelCfg=function(){return Object(s.get)(this.geometry.theme,"pieLabels",{})},e.prototype.getDefaultOffset=function(t){return t||0},e.prototype.getLabelRotate=function(t,e,i){var n;return e<0&&((n=t)>Math.PI/2&&(n-=Math.PI),n<-Math.PI/2&&(n+=Math.PI)),n},e.prototype.getLabelAlign=function(t){var e,i=this.getCoordinate().getCenter();return e=t.angle<=Math.PI/2&&t.x>=i.x?"left":"right",this.getDefaultOffset(t.offset)<=0&&(e="right"===e?"left":"right"),e},e.prototype.getArcPoint=function(t){return t},e.prototype.getPointAngle=function(t){var e,i=this.getCoordinate(),n={x:Object(s.isArray)(t.x)?t.x[0]:t.x,y:t.y[0]},r={x:Object(s.isArray)(t.x)?t.x[1]:t.x,y:t.y[1]},o=pt(i,n);if(t.points&&t.points[0].y===t.points[1].y)e=o;else{var a=pt(i,r);o>=a&&(a+=2*Math.PI),e=o+(a-o)/2}return e},e.prototype.getCirclePoint=function(t,e,i){var n=this.getCoordinate(),r=n.getCenter(),o=n.getRadius()+e;return Object(a.__assign)(Object(a.__assign)({},et(r.x,r.y,o,t)),{angle:t,r:o})},e}(bn);var On=function(){function t(t){void 0===t&&(t={}),this.bitmap={};var e=t.xGap,i=void 0===e?1:e,n=t.yGap,r=void 0===n?8:n;this.xGap=i,this.yGap=r}return t.prototype.hasGap=function(t){for(var e=!0,i=this.bitmap,n=Math.round(t.minX),r=Math.round(t.maxX),o=Math.round(t.minY),a=Math.round(t.maxY),s=n;s<=r;s+=1)if(i[s]){if(s===n||s===r){for(var l=o;l<=a;l++)if(i[s][l]){e=!1;break}}else if(i[s][o]||i[s][a]){e=!1;break}}else i[s]={};return e},t.prototype.fillGap=function(t){for(var e=this.bitmap,i=Math.round(t.minX),n=Math.round(t.maxX),r=Math.round(t.minY),o=Math.round(t.maxY),a=i;a<=n;a+=1)e[a]||(e[a]={});for(a=i;a<=n;a+=this.xGap){for(var s=r;s<=o;s+=this.yGap)e[a][s]=!0;e[a][o]=!0}if(1!==this.yGap)for(a=r;a<=o;a+=1)e[i][a]=!0,e[n][a]=!0;if(1!==this.xGap)for(a=i;a<=n;a+=1)e[a][r]=!0,e[a][o]=!0},t.prototype.destroy=function(){this.bitmap={}},t}();function wn(t,e,i,n){var r=t.getCanvasBBox(),o=r.width,a=r.height,s={x:e,y:i,textAlign:"center"};switch(n){case 0:s.y-=a+1,s.x+=1,s.textAlign="left";break;case 1:s.y-=a+1,s.x-=1,s.textAlign="right";break;case 2:s.y+=a+1,s.x-=1,s.textAlign="right";break;case 3:s.y+=a+1,s.x+=1,s.textAlign="left";break;case 5:s.y-=2*a+2;break;case 6:s.y+=2*a+2;break;case 7:s.x+=o+1,s.textAlign="left";break;case 8:s.x-=o+1,s.textAlign="right"}return t.attr(s),t.getCanvasBBox()}function Mn(t,e,i,n,r){var o,a,s=i.start,l=i.end,u=i.getWidth(),c=i.getHeight();"y"===r?(o=s.x+u/2,a=n.ys.x?n.x:s.x,a=s.y+c/2):"xy"===r&&(i.isPolar?(o=i.getCenter().x,a=i.getCenter().y):(o=(s.x+l.x)/2,a=(s.y+l.y)/2));var h=function(t,e,i){var n,r=e[0],o=e[1];return t.applyToMatrix([r,o,1]),"x"===i?(t.setMatrix(B.ext.transform(t.getMatrix(),[["t",-r,-o],["s",.01,1],["t",r,o]])),n=B.ext.transform(t.getMatrix(),[["t",-r,-o],["s",100,1],["t",r,o]])):"y"===i?(t.setMatrix(B.ext.transform(t.getMatrix(),[["t",-r,-o],["s",1,.01],["t",r,o]])),n=B.ext.transform(t.getMatrix(),[["t",-r,-o],["s",1,100],["t",r,o]])):"xy"===i&&(t.setMatrix(B.ext.transform(t.getMatrix(),[["t",-r,-o],["s",.01,.01],["t",r,o]])),n=B.ext.transform(t.getMatrix(),[["t",-r,-o],["s",100,100],["t",r,o]])),n}(t,[o,a],r);t.animate({matrix:h},e)}var Cn=i(184),Sn=i.n(Cn);function jn(t,e){var i,n=Sn()(t,e),r=n.startAngle,o=n.endAngle;return!Object(s.isNumberEqual)(r,.5*-Math.PI)&&r<.5*-Math.PI&&(r+=2*Math.PI),!Object(s.isNumberEqual)(o,.5*-Math.PI)&&o<.5*-Math.PI&&(o+=2*Math.PI),0===e[5]&&(r=(i=[o,r])[0],o=i[1]),Object(s.isNumberEqual)(r,1.5*Math.PI)&&(r=-.5*Math.PI),Object(s.isNumberEqual)(o,-.5*Math.PI)&&(o=1.5*Math.PI),{startAngle:r,endAngle:o}}function Pn(t){var e;return"M"===t[0]||"L"===t[0]?e=[t[1],t[2]]:"a"!==t[0]&&"A"!==t[0]||(e=[t[t.length-2],t[t.length-1]]),e}function Tn(t){var e,i,n,r=t.filter((function(t){return"A"===t[0]||"a"===t[0]})),o=r[0],a=r.length>1?r[1]:r[0],l=t.indexOf(o),u=t.indexOf(a),c=Pn(t[l-1]),h=Pn(t[u-1]),p=jn(c,o),f=p.startAngle,d=p.endAngle,g=jn(h,a),y=g.startAngle,v=g.endAngle;Object(s.isNumberEqual)(f,y)&&Object(s.isNumberEqual)(d,v)?(i=f,n=d):(i=Math.min(f,y),n=Math.max(d,v));var m=o[1],x=r[r.length-1][1];return m=0;r--)for(var o=0,a=this.getFacetsByLevel(t,r);o=i){var r=n.parsePosition([t[l],t[a.field]]);r&&p.push(r)}if(t[l]===h)return!1})),p},e.prototype.getNormalizedValue=function(t,e){var i,n;switch(t){case"start":i=0;break;case"end":i=1;break;case"median":n=e.isCategory?(e.values.length-1)/2:(e.min+e.max)/2,i=e.scale(n);break;case"min":case"max":n=e.isCategory?"min"===t?0:e.values.length-1:e[t],i=e.scale(n);break;default:i=e.scale(t)}return i},e.prototype.parsePercentPosition=function(t){var e=parseFloat(t[0])/100,i=parseFloat(t[1])/100,n=this.view.getCoordinate(),r=n.start,o=n.end,a=Math.min(r.x,o.x),s=Math.min(r.y,o.y);return{x:n.getWidth()*e+a,y:n.getHeight()*i+s}},e.prototype.getCoordinateBBox=function(){var t=this.view.getCoordinate(),e=t.start,i=t.end,n=t.getWidth(),r=t.getHeight(),o={x:Math.min(e.x,i.x),y:Math.min(e.y,i.y)};return{x:o.x,y:o.y,minX:o.x,minY:o.y,maxX:o.x+n,maxY:o.y+r,width:n,height:r}},e.prototype.getAnnotationCfg=function(t,e,i){var n=this.view.getCoordinate(),r={};if(Object(s.isNil)(e))return null;if("arc"===t){var o=e,l=o.start,u=o.end,c=this.parsePosition(l),h=this.parsePosition(u),p=pt(n,c),f=pt(n,h);p>f&&(f=2*Math.PI+f),r={center:n.getCenter(),radius:ct(n,c),startAngle:p,endAngle:f}}else if("image"===t){var d=e;l=d.start,u=d.end;r={start:this.parsePosition(l),end:this.parsePosition(u),src:e.src}}else if("line"===t){var g=e;l=g.start,u=g.end;r={start:this.parsePosition(l),end:this.parsePosition(u),text:Object(s.get)(e,"text",null)}}else if("region"===t){var y=e;l=y.start,u=y.end;r={start:this.parsePosition(l),end:this.parsePosition(u)}}else if("text"===t){var v=this.view.getData(),m=e,x=m.position,b=m.content,_=Object(a.__rest)(m,["position","content"]),O=b;Object(s.isFunction)(b)&&(O=b(v)),r=Object(a.__assign)(Object(a.__assign)(Object(a.__assign)({},this.parsePosition(x)),_),{content:O})}else if("dataMarker"===t){var w=e,M=(x=w.position,w.point),C=w.line,S=w.text,j=w.autoAdjust,P=w.direction;r=Object(a.__assign)(Object(a.__assign)({},this.parsePosition(x)),{coordinateBBox:this.getCoordinateBBox(),point:M,line:C,text:S,autoAdjust:j,direction:P})}else if("dataRegion"===t){var T=e,A=(l=T.start,u=T.end,T.region),E=(S=T.text,T.lineLength);r={points:this.getRegionPoints(l,u),region:A,text:S,lineLength:E}}else if("regionFilter"===t){var L=e,I=(l=L.start,u=L.end,L.apply),D=L.color,k=this.view.geometries,B=[],F=function t(e){e&&(e.isGroup()?e.getChildren().forEach((function(e){return t(e)})):B.push(e))};Object(s.each)(k,(function(t){I?Object(s.contains)(I,t.type)&&Object(s.each)(t.elements,(function(t){F(t.shape)})):Object(s.each)(t.elements,(function(t){F(t.shape)}))})),r={color:D,shapes:B,start:this.parsePosition(l),end:this.parsePosition(u)}}var R=Object(s.deepMix)({},i,Object(a.__assign)(Object(a.__assign)({},r),{top:e.top,style:e.style,offsetX:e.offsetX,offsetY:e.offsetY}));return R.container=this.getComponentContainer(R),R.animate=this.view.getOptions().animate&&R.animate&&Object(s.get)(e,"animate",R.animate),R.animateOption=Object(s.deepMix)({},qe,R.animateOption,e.animateOption),R},e.prototype.isTop=function(t){return Object(s.get)(t,"top",!0)},e.prototype.getComponentContainer=function(t){return this.isTop(t)?this.foregroundContainer:this.backgroundContainer},e.prototype.getAnnotationTheme=function(t){return Object(s.get)(this.view.getTheme(),["components","annotation",t],{})},e}(Ie);function Yn(t,e){return Object(s.get)(t,["components","axis",e,"grid"],{})}function Gn(t,e,i,n){var r=[],o=e.getTicks();return t.isPolar&&o.push({value:1,text:"",tickValue:""}),o.reduce((function(e,o,a){var s=o.value;if(n)r.push({points:[t.convert("y"===i?{x:0,y:s}:{x:s,y:0}),t.convert("y"===i?{x:1,y:s}:{x:s,y:1})]});else if(a){var l=(e.value+s)/2;r.push({points:[t.convert("y"===i?{x:0,y:l}:{x:l,y:0}),t.convert("y"===i?{x:1,y:l}:{x:l,y:1})]})}return o}),o[0]),r}function Xn(t,e,i,n,r){var o=e.values.length,a=[],l=i.getTicks();return l.reduce((function(e,i){var l=e?e.value:i.value,u=i.value,c=(l+u)/2;return"x"===r?a.push({points:[t.convert({x:n?u:c,y:0}),t.convert({x:n?u:c,y:1})]}):a.push({points:Object(s.map)(Array(o+1),(function(e,i){return t.convert({x:i/o,y:n?u:c})}))}),i}),l[0]),a}function Vn(t,e){var i=Object(s.get)(e,"grid");if(null===i)return!1;var n=Object(s.get)(t,"grid");return!(void 0===i&&null===n)}var zn=["container"],Hn=Object(a.__assign)(Object(a.__assign)({},qe),{appear:null}),Wn=function(t){function e(e){var i=t.call(this,e)||this;return i.cache=new Map,i.gridContainer=i.view.getLayer(n.BG).addGroup(),i.axisContainer=i.view.getLayer(n.BG).addGroup(),i}return Object(a.__extends)(e,t),Object.defineProperty(e.prototype,"name",{get:function(){return"axis"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.render=function(){this.update()},e.prototype.layout=function(){var t=this,e=this.view.getCoordinate();Object(s.each)(this.getComponents(),(function(i){var n,r=i.component,a=i.direction,s=i.type,l=i.extra,u=l.dim,c=l.scale,h=l.alignTick;if(s===o.AXIS)e.isPolar?"x"===u?n=e.isTransposed?F(e,a):G(e):"y"===u&&(n=e.isTransposed?G(e):F(e,a)):n=F(e,a);else if(s===o.GRID)if(e.isPolar){n={items:e.isTransposed?"x"===u?Xn(e,t.view.getYScales()[0],c,h,u):Gn(e,c,u,h):"x"===u?Gn(e,c,u,h):Xn(e,t.view.getXScale(),c,h,u),center:t.view.getCoordinate().getCenter()}}else n={items:Gn(e,c,u,h)};r.update(n)}))},e.prototype.update=function(){this.option=this.view.getOptions().axes;var t=new Map;this.updateXAxes(t),this.updateYAxes(t);var e=new Map;this.cache.forEach((function(i,n){t.has(n)?e.set(n,i):i.component.destroy()})),this.cache=e},e.prototype.clear=function(){t.prototype.clear.call(this),this.cache.clear(),this.gridContainer.clear(),this.axisContainer.clear()},e.prototype.destroy=function(){t.prototype.destroy.call(this),this.gridContainer.remove(!0),this.axisContainer.remove(!0)},e.prototype.getComponents=function(){var t=[];return this.cache.forEach((function(e){t.push(e)})),t},e.prototype.updateXAxes=function(t){var e=this.view.getXScale();if(e&&!e.isIdentity){var i=X(this.option,e.field);if(!1!==i){var o=V(i,r.BOTTOM),a=n.BG,l=this.view.getCoordinate(),u=this.getId("axis",e.field),c=this.getId("grid",e.field);if(l.isRect){if(h=this.cache.get(u))st(f=this.getLineAxisCfg(e,i,o),zn),h.component.update(f),t.set(u,h);else h=this.createLineAxis(e,i,a,o,"x"),this.cache.set(u,h),t.set(u,h);if(p=this.cache.get(c))st(f=this.getLineGridCfg(e,i,o,"x"),zn),p.component.update(f),t.set(c,p);else(p=this.createLineGrid(e,i,a,o,"x"))&&(this.cache.set(c,p),t.set(c,p))}else if(l.isPolar){var h,p;if(h=this.cache.get(u)){st(f=l.isTransposed?this.getLineAxisCfg(e,i,r.RADIUS):this.getCircleAxisCfg(e,i,o),zn),h.component.update(f),t.set(u,h)}else{if(l.isTransposed){if(Object(s.isUndefined)(i))return;h=this.createLineAxis(e,i,a,r.RADIUS,"x")}else h=this.createCircleAxis(e,i,a,o,"x");this.cache.set(u,h),t.set(u,h)}if(p=this.cache.get(c)){var f;st(f=l.isTransposed?this.getCircleGridCfg(e,i,r.RADIUS,"x"):this.getLineGridCfg(e,i,r.CIRCLE,"x"),zn),p.component.update(f),t.set(c,p)}else{if(l.isTransposed){if(Object(s.isUndefined)(i))return;p=this.createCircleGrid(e,i,a,r.RADIUS,"x")}else p=this.createLineGrid(e,i,a,r.CIRCLE,"x");p&&(this.cache.set(c,p),t.set(c,p))}}}}},e.prototype.updateYAxes=function(t){var e=this,i=this.view.getYScales();Object(s.each)(i,(function(i,o){if(i&&!i.isIdentity){var a=i.field,l=X(e.option,a);if(!1!==l){var u=n.BG,c=e.getId("axis",a),h=e.getId("grid",a),p=e.view.getCoordinate();if(p.isRect){var f=V(l,0===o?r.LEFT:r.RIGHT);if(d=e.cache.get(c))st(y=e.getLineAxisCfg(i,l,f),zn),d.component.update(y),t.set(c,d);else d=e.createLineAxis(i,l,u,f,"y"),e.cache.set(c,d),t.set(c,d);if(g=e.cache.get(h))st(y=e.getLineGridCfg(i,l,f,"y"),zn),g.component.update(y),t.set(h,g);else(g=e.createLineGrid(i,l,u,f,"y"))&&(e.cache.set(h,g),t.set(h,g))}else if(p.isPolar){var d,g;if(d=e.cache.get(c)){st(y=p.isTransposed?e.getCircleAxisCfg(i,l,r.CIRCLE):e.getLineAxisCfg(i,l,r.RADIUS),zn),d.component.update(y),t.set(c,d)}else{if(p.isTransposed){if(Object(s.isUndefined)(l))return;d=e.createCircleAxis(i,l,u,r.CIRCLE,"y")}else d=e.createLineAxis(i,l,u,r.RADIUS,"y");e.cache.set(c,d),t.set(c,d)}if(g=e.cache.get(h)){var y;st(y=p.isTransposed?e.getLineGridCfg(i,l,r.CIRCLE,"y"):e.getCircleGridCfg(i,l,r.RADIUS,"y"),zn),g.component.update(y),t.set(h,g)}else{if(p.isTransposed){if(Object(s.isUndefined)(l))return;g=e.createLineGrid(i,l,u,r.CIRCLE,"y")}else g=e.createCircleGrid(i,l,u,r.RADIUS,"y");g&&(e.cache.set(h,g),t.set(h,g))}}}}}))},e.prototype.createLineAxis=function(t,e,i,n,a){var s={component:new S(this.getLineAxisCfg(t,e,n)),layer:i,direction:n===r.RADIUS?r.NONE:n,type:o.AXIS,extra:{dim:a,scale:t}};return s.component.set("field",t.field),s.component.init(),s},e.prototype.createLineGrid=function(t,e,i,n,a){var l=this.getLineGridCfg(t,e,n,a);if(l){var u={component:new P(l),layer:i,direction:r.NONE,type:o.GRID,extra:{dim:a,scale:t,alignTick:Object(s.get)(l,"alignTick",!0)}};return u.component.init(),u}},e.prototype.createCircleAxis=function(t,e,i,n,r){var a={component:new j(this.getCircleAxisCfg(t,e,n)),layer:i,direction:n,type:o.AXIS,extra:{dim:r,scale:t}};return a.component.set("field",t.field),a.component.init(),a},e.prototype.createCircleGrid=function(t,e,i,n,a){var l=this.getCircleGridCfg(t,e,n,a);if(l){var u={component:new T(l),layer:i,direction:r.NONE,type:o.GRID,extra:{dim:a,scale:t,alignTick:Object(s.get)(l,"alignTick",!0)}};return u.component.init(),u}},e.prototype.getLineAxisCfg=function(t,e,i){var n=this.axisContainer,r=this.view.getCoordinate(),o=F(r,i),l=z(t,e),u=Y(this.view.getTheme(),i),c=Object(s.get)(e,["title"])?Object(s.deepMix)({title:{style:{text:l}}},e):e,h=Object(s.deepMix)(Object(a.__assign)(Object(a.__assign)({container:n},o),{ticks:t.getTicks().map((function(t){return{id:""+t.tickValue,name:t.text,value:t.value}})),verticalFactor:r.isPolar?-1*N(o,r.getCenter()):N(o,r.getCenter())}),u,c),p=this.getAnimateCfg(h),f=p.animate,d=p.animateOption;h.animateOption=d,h.animate=f;var g=R(o),y=Object(s.get)(h,"verticalLimitLength",g?1/3:.5);if(y<=1){var v=this.view.getCanvas().get("width"),m=this.view.getCanvas().get("height");h.verticalLimitLength=y*(g?v:m)}return h},e.prototype.getLineGridCfg=function(t,e,i,n){if(Vn(Y(this.view.getTheme(),i),e)){var r=Yn(this.view.getTheme(),i),o=Object(s.deepMix)({container:this.gridContainer},r,Object(s.get)(e,"grid"),this.getAnimateCfg(e));return o.items=Gn(this.view.getCoordinate(),t,n,Object(s.get)(o,"alignTick",!0)),o}},e.prototype.getCircleAxisCfg=function(t,e,i){var n=this.axisContainer,o=this.view.getCoordinate(),l=t.getTicks().map((function(t){return{id:""+t.tickValue,name:t.text,value:t.value}}));t.isCategory||Math.abs(o.endAngle-o.startAngle)!==2*Math.PI||l.pop();var u=z(t,e),c=Y(this.view.getTheme(),r.CIRCLE),h=Object(s.get)(e,["title"])?Object(s.deepMix)({title:{style:{text:u}}},e):e,p=Object(s.deepMix)(Object(a.__assign)(Object(a.__assign)({container:n},G(this.view.getCoordinate())),{ticks:l,verticalFactor:1}),c,h),f=this.getAnimateCfg(p),d=f.animate,g=f.animateOption;return p.animate=d,p.animateOption=g,p},e.prototype.getCircleGridCfg=function(t,e,i,n){if(Vn(Y(this.view.getTheme(),i),e)){var o=Yn(this.view.getTheme(),r.RADIUS),a=Object(s.deepMix)({container:this.gridContainer,center:this.view.getCoordinate().getCenter()},o,Object(s.get)(e,"grid"),this.getAnimateCfg(e)),l=Object(s.get)(a,"alignTick",!0),u="x"===n?this.view.getYScales()[0]:this.view.getXScale();return a.items=Xn(this.view.getCoordinate(),u,t,l,n),a}},e.prototype.getId=function(t,e){return t+"-"+e+"-"+this.view.getCoordinate().type},e.prototype.getAnimateCfg=function(t){return{animate:this.view.getOptions().animate&&Object(s.get)(t,"animate"),animateOption:t&&t.animateOption?Object(s.deepMix)({},Hn,t.animateOption):Hn}},e}(Ie);function qn(t,e,i){return i===r.TOP?[t.minX+t.width/2-e.width/2,t.minY]:i===r.BOTTOM?[t.minX+t.width/2-e.width/2,t.maxY-e.height]:i===r.LEFT?[t.minX,t.minY+t.height/2-e.height/2]:i===r.RIGHT?[t.maxX-e.width,t.minY+t.height/2-e.height/2]:i===r.TOP_LEFT||i===r.LEFT_TOP?[t.tl.x,t.tl.y]:i===r.TOP_RIGHT||i===r.RIGHT_TOP?[t.tr.x-e.width,t.tr.y]:i===r.BOTTOM_LEFT||i===r.LEFT_BOTTOM?[t.bl.x,t.bl.y-e.height]:i===r.BOTTOM_RIGHT||i===r.RIGHT_BOTTOM?[t.br.x-e.width,t.br.y-e.height]:[0,0]}function Un(t,e,i){if(!t)return i;var n;if(t.callback&&t.callback.length>1){var r=Array(t.callback.length-1).fill("");n=t.mapping.apply(t,Object(a.__spreadArrays)([e],r)).join("")}else n=t.mapping(e).join("");return n||i}function Kn(t){var e=t.symbol;Object(s.isString)(e)&&rn[e]&&(t.symbol=rn[e])}function Zn(t){return t.startsWith(r.LEFT)||t.startsWith(r.RIGHT)?"vertical":"horizontal"}function $n(t,e){return Object(s.isBoolean)(t)?!1!==t&&{}:Object(s.get)(t,[e],t)}function Qn(t){return Object(s.get)(t,"position",r.BOTTOM)}var Jn=function(t){function e(e){var i=t.call(this,e)||this;return i.container=i.view.getLayer(n.FORE).addGroup(),i}return Object(a.__extends)(e,t),Object.defineProperty(e.prototype,"name",{get:function(){return"legend"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.render=function(){var t=this;this.option=this.view.getOptions().legends;if(Object(s.get)(this.option,"custom")){var e=this.createCustomLegend(void 0,void 0,void 0,this.option);if(e){e.init();var i=n.FORE,r=Qn(this.option);this.components.push({id:"global-custom",component:e,layer:i,direction:r,type:o.LEGEND,extra:void 0})}}else this.loopLegends((function(e,i,n){var r=t.createFieldLegend(e,i,n);r&&(r.component.init(),t.components.push(r))}))},e.prototype.layout=function(){var t=this;this.layoutBBox=this.view.viewBBox;var e=Object(s.get)(this.view.getTheme(),["components","legend","margin"],[0,0,0,0]);Object(s.each)(this.components,(function(i){var n=i.component,r=i.direction,o=Zn(r),a=t.getCategoryLegendSizeCfg(o),s=n.get("maxWidth"),l=n.get("maxHeight");n.update({maxWidth:Math.min(a.maxWidth,s||0),maxHeight:Math.min(a.maxHeight,l||0)});var u=n.getLayoutBBox(),c=new xt(u.x,u.y,u.width,u.height),h=qn(t.view.viewBBox,c,r),p=h[0],f=h[1],d=qn(t.layoutBBox,c,r),g=d[0],y=d[1],v=0,m=0;r.startsWith("top")||r.startsWith("bottom")?(v=p,m=y):(v=g,m=f),r.indexOf("left")>=0&&(v+=e[3]),r.indexOf("right")>=0&&(v-=e[1]),r.indexOf("top")>=0&&(m+=e[0]),r.indexOf("bottom")>=0&&(m-=e[2]),n.update({x:v,y:m}),t.layoutBBox=t.layoutBBox.cut(c,r)}))},e.prototype.update=function(){var t=this;this.option=this.view.getOptions().legends;var e={};if(Object(s.get)(this.option,"custom")){var i="global-custom",r=this.getComponentById(i);if(r){var a=this.getCategoryCfg(void 0,void 0,void 0,this.option,!0);st(a,["container"]),r.component.update(a),e[i]=!0}else{var l=this.createCustomLegend(void 0,void 0,void 0,this.option);if(l){l.init();var u=n.FORE,c=Qn(this.option);this.components.push({id:i,component:l,layer:u,direction:c,type:o.LEGEND,extra:void 0}),e[i]=!0}}}else this.loopLegends((function(i,n,r){var o=t.getId(r.field),a=t.getComponentById(o);if(a){var l=void 0,u=$n(t.option,r.field);!1!==u&&(Object(s.get)(u,"custom")?l=t.getCategoryCfg(i,n,r,u,!0):r.isLinear?l=t.getContinuousCfg(i,n,r,u):r.isCategory&&(l=t.getCategoryCfg(i,n,r,u))),l&&(st(l,["container"]),a.direction=Qn(u),a.component.update(l),e[o]=!0)}else{var c=t.createFieldLegend(i,n,r);c&&(c.component.init(),t.components.push(c),e[o]=!0)}}));var h=[];Object(s.each)(this.getComponents(),(function(t){e[t.id]?h.push(t):t.component.destroy()})),this.components=h},e.prototype.clear=function(){t.prototype.clear.call(this),this.container.clear()},e.prototype.destroy=function(){t.prototype.destroy.call(this),this.container.remove(!0)},e.prototype.getGeometries=function(t){var e=this,i=t.geometries;return Object(s.each)(t.views,(function(t){i=i.concat(e.getGeometries(t))})),i},e.prototype.loopLegends=function(t){if(this.view.getRootView()===this.view){var e=this.getGeometries(this.view),i={};Object(s.each)(e,(function(e){var n=e.getGroupAttributes();Object(s.each)(n,(function(n){var r=n.getScale(n.type);r&&"identity"!==r.type&&!i[r.field]&&(t(e,n,r),i[r.field]=!0)}))}))}},e.prototype.createFieldLegend=function(t,e,i){var r,a=$n(this.option,i.field),l=n.FORE,u=Qn(a);if(!1!==a&&(Object(s.get)(a,"custom")?r=this.createCustomLegend(t,e,i,a):i.isLinear?r=this.createContinuousLegend(t,e,i,a):i.isCategory&&(r=this.createCategoryLegend(t,e,i,a))),r)return r.set("field",i.field),{id:this.getId(i.field),component:r,layer:l,direction:u,type:o.LEGEND,extra:{scale:i}}},e.prototype.createCustomLegend=function(t,e,i,n){var r=this.getCategoryCfg(t,e,i,n,!0);return new A(r)},e.prototype.createContinuousLegend=function(t,e,i,n){var r=this.getContinuousCfg(t,e,i,n);return new E(r)},e.prototype.createCategoryLegend=function(t,e,i,n){var r=this.getCategoryCfg(t,e,i,n);return new A(r)},e.prototype.getContinuousCfg=function(t,e,i,n){var r=i.getTicks(),o=Object(s.find)(r,(function(t){return 0===t.value})),a=Object(s.find)(r,(function(t){return 1===t.value})),l=r.map((function(t){var n=t.value,r=t.tickValue,o=e.mapping(i.invert(n)).join("");return{value:r,attrValue:o,color:o,scaleValue:n}}));o||l.push({value:i.min,attrValue:e.mapping(i.invert(0)).join(""),color:e.mapping(i.invert(0)).join(""),scaleValue:0}),a||l.push({value:i.max,attrValue:e.mapping(i.invert(1)).join(""),color:e.mapping(i.invert(1)).join(""),scaleValue:1}),l.sort((function(t,e){return t.value-e.value}));var u={min:Object(s.head)(l).value,max:Object(s.last)(l).value,colors:[],rail:{type:e.type},track:{}};"size"===e.type&&(u.track={style:{fill:"size"===e.type?this.view.getTheme().defaultColor:void 0}}),"color"===e.type&&(u.colors=l.map((function(t){return t.attrValue})));var c=this.container,h=Zn(Qn(n)),p=Object(s.get)(n,"title");return p&&(p=Object(s.deepMix)({text:k(i)},p)),u.container=c,u.layout=h,u.title=p,u.animateOption=qe,this.mergeLegendCfg(u,n,"continuous")},e.prototype.getCategoryCfg=function(t,e,i,n,o){var a=this.container,l=Object(s.get)(n,"position",r.BOTTOM),u=Object(s.get)(this.view.getTheme(),["components","legend",l,"marker"]),c=Object(s.get)(n,"marker"),h=Zn(l),p=o?function(t,e,i){return i.map((function(i){var n=Object(s.deepMix)({},t,e,i.marker);return Kn(n),i.marker=n,i}))}(u,c,n.items):function(t,e,i,n,r){var o=i.getScale(i.type);if(o.isCategory){var a=o.field,l=e.getAttribute("color"),u=e.getAttribute("shape"),c=t.getTheme().defaultColor,h=e.coordinate.isPolar;return o.getTicks().map((function(i){var p,f=i.text,d=i.value,g=f,y=o.invert(d),v=0===t.filterFieldData(a,[(p={},p[a]=y,p)]).length,m=Un(l,y,c),x=Un(u,y,"point"),b=e.getShapeMarker(x,{color:m,isInPolar:h});return Kn(b=Object(s.deepMix)({},n,b,r)),{id:y,name:g,value:y,marker:b,unchecked:v}}))}return[]}(this.view,t,e,u,c),f=Object(s.get)(n,"title");f&&(f=Object(s.deepMix)({text:i?k(i):""},f));var d=this.getCategoryLegendSizeCfg(h);d.container=a,d.layout=h,d.items=p,d.title=f,d.animateOption=qe;var g=this.mergeLegendCfg(d,n,l);g.reversed&&g.items.reverse();var y=Object(s.get)(g,"maxItemWidth");return y&&y<=1&&(g.maxItemWidth=this.view.viewBBox.width*y),g},e.prototype.mergeLegendCfg=function(t,e,i){var n=i.split("-")[0],r=Object(s.get)(this.view.getTheme(),["components","legend",n],{});return Object(s.deepMix)({},r,t,e)},e.prototype.getId=function(t){return this.name+"-"+t},e.prototype.getComponentById=function(t){return Object(s.find)(this.components,(function(e){return e.id===t}))},e.prototype.getCategoryLegendSizeCfg=function(t){var e=this.view.viewBBox,i=e.width,n=e.height;return"vertical"===t?{maxWidth:.25*i,maxHeight:n}:{maxWidth:i,maxHeight:.25*n}},e}(Ie),tr=function(t){function e(e){var i=t.call(this,e)||this;return i.onValueChanged=function(t){var e=t[0],n=t[1];i.updateMinMaxText(e,n),i.view.render(!0)},i.container=i.view.getLayer(n.FORE).addGroup(),i}return Object(a.__extends)(e,t),Object.defineProperty(e.prototype,"name",{get:function(){return"slider"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.render=function(){if(this.option=this.view.getOptions().slider,this.option){this.slider?this.slider=this.updateSlider():(this.slider=this.createSlider(),this.slider.component.on("sliderchange",this.onValueChanged));var t=this.slider.component.get("start")||0,e=this.slider.component.get("end")||1;this.updateMinMaxText(t,e)}else this.slider&&(this.slider.component.destroy(),this.slider=void 0)},e.prototype.layout=function(){if(this.slider){var t=this.view.coordinateBBox.width,e=this.slider.component.getLayoutBBox(),i=new xt(e.x,e.y,Math.min(e.width,t),e.height),n=qn(this.view.viewBBox,i,r.BOTTOM),o=(n[0],n[1]),a=qn(this.view.coordinateBBox,i,r.BOTTOM),s=a[0];a[1];this.slider.component.update({x:s,y:o,width:t})}},e.prototype.update=function(){this.render()},e.prototype.createSlider=function(){var t=this.getSliderCfg(),e=new C.Slider(Object(a.__assign)({container:this.container},t));return e.init(),{component:e,layer:n.FORE,direction:r.BOTTOM,type:o.OTHER}},e.prototype.updateSlider=function(){var t=this.getSliderCfg();return st(t,["x","y","width","start","end","minText","maxText"]),this.slider.component.update(t),this.slider},e.prototype.getSliderCfg=function(){if(Object(s.isObject)(this.option)){var t=Object(a.__assign)({data:this.getData()},Object(s.get)(this.option,"trendCfg",{})),e=this.view.coordinateBBox.width,i=Object(s.deepMix)({},{x:0,y:0,width:e},this.option);return Object(a.__assign)(Object(a.__assign)({},i),{trendCfg:t})}return{}},e.prototype.getData=function(){var t=this.view.getOptions().data,e=this.view.getYScales()[0],i=this.view.getGroupScales();if(i.length){var n=i[0],r=n.field,o=n.ticks;return t.reduce((function(t,i){return i[r]===o[0]&&t.push(i[e.field]),t}),[])}return t.map((function(t){return t[e.field]||0}))},e.prototype.updateMinMaxText=function(t,e){var i=this.view.getOptions().data,n=this.view.getXScale(),r=Object(s.size)(i);if(n&&r){var o=n.field,a=i.reduce((function(t,e){return t.includes(e[o])||t.push(e[o]),t}),[]),l=Object(s.size)(a),u=Math.floor(t*(l-1)),c=Math.floor(e*(l-1)),h=Object(s.get)(a,[u]),p=Object(s.get)(a,[c]),f=this.getSliderCfg().formatter;f&&(h=f(h,i[u],u),p=f(p,i[c],c)),this.slider.component.update({minText:h,maxText:p,start:t,end:e}),this.view.filter(n.field,(function(t,e){var i=a.indexOf(t);return!(i>-1)||at(i,u,c)}))}},e.prototype.getComponents=function(){return this.slider?[this.slider]:[]},e}(Ie);var er=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isLocked=!1,e}return Object(a.__extends)(e,t),Object.defineProperty(e.prototype,"name",{get:function(){return"tooltip"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.isVisible=function(){return!1!==this.view.getOptions().tooltip},e.prototype.render=function(){},e.prototype.showTooltip=function(t){if(this.point=t,this.isVisible()){var e=this.view,i=this.getTooltipItems(t);if(i.length){var n=this.getTitle(i),r={x:i[0].x,y:i[0].y};e.emit("tooltip:show",Object(a.__assign)({items:i,title:n},t));var o=this.getTooltipCfg(),l=o.follow,u=o.showMarkers,c=o.showCrosshairs,h=o.showContent,p=o.marker,f=this.items,d=this.title;if(Object(s.isEqual)(d,n)&&Object(s.isEqual)(f,i)?(this.tooltip&&l&&(this.tooltip.update(t),this.tooltip.show()),this.tooltipMarkersGroup&&this.tooltipMarkersGroup.show()):(e.emit("tooltip:change",Object(a.__assign)({items:i,title:n},t)),h&&(this.tooltip||this.renderTooltip(),this.tooltip.update(Object(s.mix)({},o,{items:i,title:n},l?t:{})),this.tooltip.show()),u&&this.renderTooltipMarkers(i,p)),this.items=i,this.title=n,c){var g=Object(s.get)(o,["crosshairs","follow"],!1);this.renderCrosshairs(g?t:r,o)}}else this.hideTooltip()}},e.prototype.hideTooltip=function(){if(this.getTooltipCfg().follow){var t=this.tooltipMarkersGroup;t&&t.hide();var e=this.xCrosshair,i=this.yCrosshair;e&&e.hide(),i&&i.hide();var n=this.tooltip;n&&n.hide(),this.view.emit("tooltip:hide",{}),this.point=null}else this.point=null},e.prototype.lockTooltip=function(){this.isLocked=!0,this.tooltip&&this.tooltip.setCapture(!0)},e.prototype.unlockTooltip=function(){this.isLocked=!1;var t=this.getTooltipCfg();this.tooltip&&this.tooltip.setCapture(t.capture)},e.prototype.isTooltipLocked=function(){return this.isLocked},e.prototype.clear=function(){var t=this.tooltip,e=this.xCrosshair,i=this.yCrosshair,n=this.tooltipMarkersGroup;t&&(t.hide(),t.clear()),e&&e.clear(),i&&i.clear(),n&&n.clear()},e.prototype.destroy=function(){this.tooltip&&this.tooltip.destroy(),this.xCrosshair&&this.xCrosshair.destroy(),this.yCrosshair&&this.yCrosshair.destroy(),this.guideGroup&&this.guideGroup.remove(!0),this.items=null,this.title=null,this.tooltipMarkersGroup=null,this.tooltipCrosshairsGroup=null,this.xCrosshair=null,this.yCrosshair=null,this.tooltip=null,this.guideGroup=null,this.isLocked=!1,this.point=null},e.prototype.changeVisible=function(t){if(this.visible!==t){var e=this.tooltip,i=this.tooltipMarkersGroup,n=this.xCrosshair,r=this.yCrosshair;t?(e&&e.show(),i&&i.show(),n&&n.show(),r&&r.show()):(e&&e.hide(),i&&i.hide(),n&&n.hide(),r&&r.hide()),this.visible=t}},e.prototype.getTooltipItems=function(t){var e=this.findItemsFromView(this.view,t);if(e.length){for(var i=0,n=e=Object(s.flatten)(e);i1){for(var h=e[0],p=Math.abs(t.y-h[0].y),f=0,d=e;fc.maxY&&(c=e)):(e.minXc.maxX&&(c=e)),h.x=Math.min(e.minX,h.minX),h.y=Math.min(e.minY,h.minY),h.width=Math.max(e.maxX,h.maxX)-h.x,h.height=Math.max(e.maxY,h.maxY)-h.y}));var p=t.backgroundGroup,f=t.coordinateBBox,d=void 0;if(l.isRect){var g=t.getXScale().isLinear?0:.25,y=void 0,v=void 0,m=void 0,x=void 0;l.isTransposed?(y=f.minX,v=Math.min(c.minY,u.minY)-g*c.height,m=f.width,x=h.height+2*g*c.height):(y=Math.min(u.minX,c.minX)-g*u.width,v=Math.min(f.minY,u.minY),m=h.width+2*g*u.width,x=f.height),d=[["M",y,v],["L",y+m,v],["L",y+m,v+x],["L",y,v+x],["Z"]]}else{var b=Object(s.head)(o),_=Object(s.last)(o),O=rt(b.getModel(),l).startAngle,w=rt(_.getModel(),l).endAngle,M=l.getCenter(),C=l.getRadius(),S=l.innerRadius*C;d=it(M.x,M.y,C,O,w,S)}this.regionPath?(this.regionPath.attr("path",d),this.regionPath.show()):this.regionPath=p.addShape({type:"path",name:"active-region",capture:!1,attrs:{path:d,fill:"#CCD6EC",opacity:.3}})}}},e.prototype.hide=function(){this.regionPath&&this.regionPath.hide(),this.items=null},e.prototype.destroy=function(){this.hide(),this.regionPath&&this.regionPath.remove(!0),t.prototype.destroy.call(this)},e}(K),nr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.timeStamp=0,e}return Object(a.__extends)(e,t),e.prototype.show=function(){var t=this.context,e=t.event,i=t.view;if(!i.isTooltipLocked()){var n=this.timeStamp,r=+new Date;if(r-n>16){var o=this.location,a={x:e.x,y:e.y};o&&Object(s.isEqual)(o,a)||this.showTooltip(i,a),this.timeStamp=r,this.location=a}}},e.prototype.hide=function(){var t=this.context.view;t.isTooltipLocked()||(this.hideTooltip(t),this.location=null)},e.prototype.showTooltip=function(t,e){t.showTooltip(e)},e.prototype.hideTooltip=function(t){t.hideTooltip()},e}(K),rr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(a.__extends)(e,t),e.prototype.showTooltip=function(t,e){var i=Nt(t);Object(s.each)(i,(function(i){var n=Yt(t,i,e);i.showTooltip(n)}))},e.prototype.hideTooltip=function(t){var e=Nt(t);Object(s.each)(e,(function(t){t.hideTooltip()}))},e}(nr),or=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.timeStamp=0,e}return Object(a.__extends)(e,t),e.prototype.destroy=function(){t.prototype.destroy.call(this),this.tooltip&&this.tooltip.destroy()},e.prototype.show=function(){var t=this.context.event,e=this.timeStamp,i=+new Date;if(i-e>16){var n=this.location,r={x:t.x,y:t.y};n&&Object(s.isEqual)(n,r)||this.showTooltip(r),this.timeStamp=i,this.location=r}},e.prototype.hide=function(){this.hideTooltip(),this.location=null},e.prototype.showTooltip=function(t){var e=this.context.event.target;if(e&&e.get("tip")){this.tooltip||this.renderTooltip();var i=e.get("tip");this.tooltip.update(Object(a.__assign)({title:i},t)),this.tooltip.show()}},e.prototype.hideTooltip=function(){this.tooltip&&this.tooltip.hide()},e.prototype.renderTooltip=function(){var t=this.context.view,e=t.canvas,i={start:{x:0,y:0},end:{x:e.get("width"),y:e.get("height")}},n=t.getTheme(),r=Object(s.get)(n,["components","tooltip","domStyles"],{}),o=new L({parent:e.get("el").parentNode,region:i,visible:!1,crosshairs:null,domStyles:r});o.init(),o.setCapture(!1),this.tooltip=o},e}(K),ar=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="",e}return Object(a.__extends)(e,t),e.prototype.hasState=function(t){return t.hasState(this.stateName)},e.prototype.setElementState=function(t,e){t.setState(this.stateName,e)},e.prototype.setState=function(){this.setStateEnable(!0)},e.prototype.clear=function(){var t=this.context.view;this.clearViewState(t)},e.prototype.clearViewState=function(t){var e=this,i=Lt(t,this.stateName);Object(s.each)(i,(function(t){e.setElementState(t,!1)}))},e}(K);function sr(t){return Object(s.get)(t.get("delegateObject"),"item")}var lr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ignoreListItemStates=["unchecked"],e}return Object(a.__extends)(e,t),e.prototype.isItemIgnore=function(t,e){return!!this.ignoreListItemStates.filter((function(i){return e.hasState(t,i)})).length},e.prototype.setStateByComponent=function(t,e,i){var n=this.context.view,r=t.get("field"),o=Et(n);this.setElementsStateByItem(o,r,e,i)},e.prototype.setStateByElement=function(t,e){this.setElementState(t,e)},e.prototype.isMathItem=function(t,e,i){var n=Xt(this.context.view,e),r=It(t,e);return!Object(s.isNil)(r)&&i.name===n.getText(r)},e.prototype.setElementsStateByItem=function(t,e,i,n){var r=this;Object(s.each)(t,(function(t){r.isMathItem(t,e,i)&&t.setState(r.stateName,n)}))},e.prototype.setStateEnable=function(t){var e=wt(this.context);if(e)Ct(this.context)&&this.setStateByElement(e,t);else{var i=Mt(this.context);if(St(i)){var n=i.item,r=i.component;if(n&&r&&!this.isItemIgnore(n,r)){var o=this.context.event.gEvent;if(o&&o.fromShape&&o.toShape&&sr(o.fromShape)===sr(o.toShape))return;this.setStateByComponent(r,n,t)}}}},e.prototype.toggle=function(){var t=wt(this.context);if(t){var e=t.hasState(this.stateName);this.setElementState(t,!e)}},e.prototype.reset=function(){this.setStateEnable(!1)},e}(ar),ur=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="active",e}return Object(a.__extends)(e,t),e.prototype.active=function(){this.setState()},e}(lr),cr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.cache={},e}return Object(a.__extends)(e,t),e.prototype.getColorScale=function(t,e){var i=e.geometry.getAttribute("color");return i?t.getScaleByField(i.getFields()[0]):null},e.prototype.getLinkPath=function(t,e){var i=t.shape.getCanvasBBox(),n=e.shape.getCanvasBBox();return[["M",i.maxX,i.minY],["L",n.minX,n.minY],["L",n.minX,n.maxY],["L",i.maxX,i.maxY],["Z"]]},e.prototype.addLinkShape=function(t,e,i){t.addShape({type:"path",attrs:{opacity:.4,fill:e.shape.attr("fill"),path:this.getLinkPath(e,i)}})},e.prototype.linkByElement=function(t){var e=this,i=this.context.view,n=this.getColorScale(i,t);if(n){var r=It(t,n.field);if(!this.cache[r]){var o=function(t,e,i){return Et(t).filter((function(t){return It(t,e)===i}))}(i,n.field,r),a=this.linkGroup.addGroup();this.cache[r]=a;var l=o.length;Object(s.each)(o,(function(t,i){if(i=0}),e)},e}(hr),wr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="active",e}return Object(a.__extends)(e,t),e.prototype.highlight=function(){this.setState()},e.prototype.setElementState=function(t,e){yr(Et(this.context.view),(function(e){return t===e}),e)},e.prototype.clear=function(){gr(this.context.view)},e}(fr),Mr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="selected",e}return Object(a.__extends)(e,t),e.prototype.selected=function(){this.setState()},e}(hr),Cr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="selected",e}return Object(a.__extends)(e,t),e.prototype.selected=function(){this.setState()},e}(lr),Sr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="selected",e}return Object(a.__extends)(e,t),e.prototype.selected=function(){this.setState()},e}(fr),jr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="",e.ignoreItemStates=[],e}return Object(a.__extends)(e,t),e.prototype.getTriggerListInfo=function(){var t=Mt(this.context),e=null;return St(t)&&(e={item:t.item,list:t.component}),e},e.prototype.getAllowComponents=function(){var t=this,e=Bt(this.context.view),i=[];return Object(s.each)(e,(function(e){e.isList()&&t.allowSetStateByElement(e)&&i.push(e)})),i},e.prototype.hasState=function(t,e){return t.hasState(e,this.stateName)},e.prototype.clearAllComponentsState=function(){var t=this,e=this.getAllowComponents();Object(s.each)(e,(function(e){e.clearItemsState(t.stateName)}))},e.prototype.allowSetStateByElement=function(t){var e=t.get("field");if(!e)return!1;if(this.cfg&&this.cfg.componentNames){var i=t.get("name");if(-1===this.cfg.componentNames.indexOf(i))return!1}var n=Xt(this.context.view,e);return n&&n.isCategory},e.prototype.allowSetStateByItem=function(t,e){var i=this.ignoreItemStates;return!i.length||0===i.filter((function(i){return e.hasState(t,i)})).length},e.prototype.setStateByElement=function(t,e,i){var n=t.get("field"),r=Xt(this.context.view,n),o=It(e,n),a=r.getText(o);this.setItemsState(t,a,i)},e.prototype.setStateEnable=function(t){var e=this,i=wt(this.context);if(i){var n=this.getAllowComponents();Object(s.each)(n,(function(n){e.setStateByElement(n,i,t)}))}else{var r=Mt(this.context);if(St(r)){var o=r.item,a=r.component;this.allowSetStateByElement(a)&&this.allowSetStateByItem(o,a)&&this.setItemState(a,o,t)}}},e.prototype.setItemsState=function(t,e,i){var n=this,r=t.getItems();Object(s.each)(r,(function(r){r.name===e&&n.setItemState(t,r,i)}))},e.prototype.setItemState=function(t,e,i){t.setItemState(e,this.stateName,i)},e.prototype.setState=function(){this.setStateEnable(!0)},e.prototype.reset=function(){this.setStateEnable(!1)},e.prototype.toggle=function(){var t=this.getTriggerListInfo();if(t&&t.item){var e=t.list,i=t.item,n=this.hasState(e,i);this.setItemState(e,i,!n)}},e.prototype.clear=function(){var t=this.getTriggerListInfo();t?t.list.clearItemsState(this.stateName):this.clearAllComponentsState()},e}(K),Pr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="active",e}return Object(a.__extends)(e,t),e.prototype.active=function(){this.setState()},e}(jr);var Tr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="active",e.ignoreItemStates=["unchecked"],e}return Object(a.__extends)(e,t),e.prototype.setItemsState=function(t,e,i){this.setHighlightBy(t,(function(t){return t.name===e}),i)},e.prototype.setItemState=function(t,e,i){t.getItems();this.setHighlightBy(t,(function(t){return t===e}),i)},e.prototype.setHighlightBy=function(t,e,i){var n=t.getItems();if(i)Object(s.each)(n,(function(i){e(i)?(t.hasState(i,"inactive")&&t.setItemState(i,"inactive",!1),t.setItemState(i,"active",!0)):t.hasState(i,"active")||t.setItemState(i,"inactive",!0)}));else{var r=t.getItemsByState("active"),o=!0;Object(s.each)(r,(function(t){if(!e(t))return o=!1,!1})),o?this.clear():Object(s.each)(n,(function(i){e(i)&&(t.hasState(i,"active")&&t.setItemState(i,"active",!1),t.setItemState(i,"inactive",!0))}))}},e.prototype.highlight=function(){this.setState()},e.prototype.clear=function(){var t,e,i=this.getTriggerListInfo();if(i)t=i.list,e=t.getItems(),Object(s.each)(e,(function(e){t.hasState(e,"active")&&t.setItemState(e,"active",!1),t.hasState(e,"inactive")&&t.setItemState(e,"inactive",!1)}));else{var n=this.getAllowComponents();Object(s.each)(n,(function(t){t.clearItemsState("active"),t.clearItemsState("inactive")}))}},e}(jr),Ar=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="selected",e}return Object(a.__extends)(e,t),e.prototype.selected=function(){this.setState()},e}(jr),Er=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.stateName="unchecked",e}return Object(a.__extends)(e,t),e.prototype.unchecked=function(){this.setState()},e}(jr),Lr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.maskShape=null,e.points=[],e.starting=!1,e.moving=!1,e.preMovePoint=null,e.shapeType="path",e}return Object(a.__extends)(e,t),e.prototype.getCurrentPoint=function(){var t=this.context.event;return{x:t.x,y:t.y}},e.prototype.emitEvent=function(t){var e="mask:"+t,i=this.context.view,n=this.context.event;i.emit(e,{target:this.maskShape,shape:this.maskShape,points:this.points,x:n.x,y:n.y})},e.prototype.createMask=function(){var t=this.context.view,e=this.getMaskAttrs();return t.foregroundGroup.addShape({type:this.shapeType,name:"mask",draggable:!0,attrs:Object(a.__assign)({fill:"#C5D4EB",opacity:.3},e)})},e.prototype.getMaskPath=function(){return[]},e.prototype.show=function(){this.maskShape&&(this.maskShape.show(),this.emitEvent("show"))},e.prototype.start=function(){this.starting=!0,this.moving=!1,this.points=[this.getCurrentPoint()],this.maskShape||(this.maskShape=this.createMask(),this.maskShape.set("capture",!1)),this.updateMask(),this.emitEvent("start")},e.prototype.moveStart=function(){this.moving=!0,this.preMovePoint=this.getCurrentPoint()},e.prototype.move=function(){if(this.moving&&this.maskShape){var t=this.getCurrentPoint(),e=this.preMovePoint,i=t.x-e.x,n=t.y-e.y,r=this.points;Object(s.each)(r,(function(t){t.x+=i,t.y+=n})),this.updateMask(),this.emitEvent("change"),this.preMovePoint=t}},e.prototype.updateMask=function(){var t=this.getMaskAttrs();this.maskShape.attr(t)},e.prototype.moveEnd=function(){this.moving=!1,this.preMovePoint=null},e.prototype.end=function(){this.starting=!1,this.emitEvent("end"),this.maskShape&&this.maskShape.set("capture",!0)},e.prototype.hide=function(){this.maskShape&&(this.maskShape.hide(),this.emitEvent("hide"))},e.prototype.resize=function(){this.starting&&this.maskShape&&(this.points.push(this.getCurrentPoint()),this.updateMask(),this.emitEvent("change"))},e.prototype.destroy=function(){this.points=[],this.maskShape&&this.maskShape.remove(),this.maskShape=null,this.preMovePoint=null,t.prototype.destroy.call(this)},e}(K),Ir=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.shapeType="circle",e}return Object(a.__extends)(e,t),e.prototype.getMaskAttrs=function(){var t=this.points,e=Object(s.last)(this.points),i=0,n=0,r=0;if(t.length){var o=t[0];i=Ft(o,e)/2,n=(e.x+o.x)/2,r=(e.y+o.y)/2}return{x:n,y:r,r:i}},e}(Lr),Dr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.shapeType="rect",e}return Object(a.__extends)(e,t),e.prototype.getRegion=function(){var t=this.points;return{start:Object(s.head)(t),end:Object(s.last)(t)}},e.prototype.getMaskAttrs=function(){var t=this.getRegion(),e=t.start,i=t.end;return{x:Math.min(e.x,i.x),y:Math.min(e.y,i.y),width:Math.abs(i.x-e.x),height:Math.abs(i.y-e.y)}},e}(Lr);function kr(t){t.x=Object(s.clamp)(t.x,0,1),t.y=Object(s.clamp)(t.y,0,1)}var Br=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.dim="x",e.inPlot=!0,e}return Object(a.__extends)(e,t),e.prototype.getRegion=function(){var t=null,e=null,i=this.points,n=this.dim,r=this.context.view.getCoordinate(),o=r.invert(Object(s.head)(i)),a=r.invert(Object(s.last)(i));return this.inPlot&&(kr(o),kr(a)),"x"===n?(t=r.convert({x:o.x,y:0}),e=r.convert({x:a.x,y:1})):(t=r.convert({x:0,y:o.y}),e=r.convert({x:1,y:a.y})),{start:t,end:e}},e}(Dr),Fr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(a.__extends)(e,t),e.prototype.getMaskPath=function(){var t=this.points,e=[];return t.length&&(Object(s.each)(t,(function(t,i){0===i?e.push(["M",t.x,t.y]):e.push(["L",t.x,t.y])})),e.push(["L",t[0].x,t[0].y])),e},e.prototype.getMaskAttrs=function(){return{path:this.getMaskPath()}},e.prototype.addPoint=function(){this.resize()},e}(Lr),Rr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(a.__extends)(e,t),e.prototype.getMaskPath=function(){return function(t,e){if(t.length<=2)return yt(t,!1);var i=t[0],n=[];Object(s.each)(t,(function(t){n.push(t.x),n.push(t.y)}));var r=gt(n,e,null);return r.unshift(["M",i.x,i.y]),r}(this.points,!0)},e}(Fr),Nr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(a.__extends)(e,t),e.prototype.setCursor=function(t){this.context.view.getCanvas().setCursor(t)},e.prototype.default=function(){this.setCursor("default")},e.prototype.pointer=function(){this.setCursor("pointer")},e.prototype.move=function(){this.setCursor("move")},e.prototype.crosshair=function(){this.setCursor("crosshair")},e.prototype.wait=function(){this.setCursor("wait")},e.prototype.help=function(){this.setCursor("help")},e.prototype.text=function(){this.setCursor("text")},e.prototype.eResize=function(){this.setCursor("e-resize")},e.prototype.wResize=function(){this.setCursor("w-resize")},e.prototype.nResize=function(){this.setCursor("n-resize")},e.prototype.sResize=function(){this.setCursor("s-resize")},e.prototype.neResize=function(){this.setCursor("ne-resize")},e.prototype.nwResize=function(){this.setCursor("nw-resize")},e.prototype.seResize=function(){this.setCursor("se-resize")},e.prototype.swResize=function(){this.setCursor("sw-resize")},e.prototype.nsResize=function(){this.setCursor("ns-resize")},e.prototype.ewResize=function(){this.setCursor("ew-resize")},e}(K),Yr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(a.__extends)(e,t),e.prototype.filterView=function(t,e,i){var n=this;t.getScaleByField(e)&&t.filter(e,i),t.views&&t.views.length&&Object(s.each)(t.views,(function(t){n.filterView(t,e,i)}))},e.prototype.filter=function(){var t=Mt(this.context);if(t){var e=this.context.view,i=t.component,n=i.get("field");if(St(t)){if(n){var r=i.getItemsByState("unchecked"),o=Xt(e,n),a=r.map((function(t){return t.name}));a.length?this.filterView(e,n,(function(t){var e=o.getText(t);return!a.includes(e)})):this.filterView(e,n,null),e.render(!0)}}else if(jt(t)){var s=i.getValue(),l=s[0],u=s[1];this.filterView(e,n,(function(t){return t>=l&&t<=u})),e.render(!0)}}},e}(K);function Gr(t,e,i,n){var r=Math.min(i[e],n[e]),o=Math.max(i[e],n[e]),a=t.range,s=a[0],l=a[1];if(rl&&(o=l),r===l&&o===l)return null;var u=t.invert(r),c=t.invert(o);if(t.isCategory){var h=t.values.indexOf(u),p=t.values.indexOf(c),f=t.values.slice(h,p+1);return function(t){return f.includes(t)}}return function(t){return t>=u&&t<=c}}var Xr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.dims=["x","y"],e.startPoint=null,e.isStarted=!1,e}return Object(a.__extends)(e,t),e.prototype.hasDim=function(t){return this.dims.includes(t)},e.prototype.start=function(){var t=this.context;this.isStarted=!0,this.startPoint=t.getCurrentPoint()},e.prototype.filter=function(){var t,e;if(Pt(this.context)){var i=this.context.event.target.getCanvasBBox();t={x:i.x,y:i.y},e={x:i.maxX,y:i.maxY}}else{if(!this.isStarted)return;t=this.startPoint,e=this.context.getCurrentPoint()}if(!(Math.abs(t.x-e.x)<5||Math.abs(t.x-e.y)<5)){var n=this.context.view,r=n.getCoordinate(),o=r.invert(e),a=r.invert(t);if(this.hasDim("x")){var s=n.getXScale(),l=Gr(s,"x",o,a);this.filterView(n,s.field,l)}if(this.hasDim("y")){var u=n.getYScales()[0];l=Gr(u,"y",o,a);this.filterView(n,u.field,l)}this.reRender(n)}},e.prototype.end=function(){this.isStarted=!1},e.prototype.reset=function(){var t=this.context.view;if(this.isStarted=!1,this.hasDim("x")){var e=t.getXScale();this.filterView(t,e.field,null)}if(this.hasDim("y")){var i=t.getYScales()[0];this.filterView(t,i.field,null)}this.reRender(t)},e.prototype.filterView=function(t,e,i){t.filter(e,i)},e.prototype.reRender=function(t){t.render(!0)},e}(K),Vr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(a.__extends)(e,t),e.prototype.filterView=function(t,e,i){var n=Nt(t);Object(s.each)(n,(function(t){t.filter(e,i)}))},e.prototype.reRender=function(t){var e=Nt(t);Object(s.each)(e,(function(t){t.render(!0)}))},e}(Xr),zr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(a.__extends)(e,t),e.prototype.filter=function(){var t=Mt(this.context),e=this.context.view,i=Et(e);if(Pt(this.context)){var n=Tt(this.context,10);n&&Object(s.each)(i,(function(t){n.includes(t)?t.show():t.hide()}))}else if(t){var r=t.component,o=r.get("field");if(St(t)){if(o){var a=r.getItemsByState("unchecked"),l=Xt(e,o),u=a.map((function(t){return t.name}));Object(s.each)(i,(function(t){var e=It(t,o),i=l.getText(e);u.indexOf(i)>=0?t.hide():t.show()}))}}else if(jt(t)){var c=r.getValue(),h=c[0],p=c[1];Object(s.each)(i,(function(t){var e=It(t,o);e>=h&&e<=p?t.show():t.hide()}))}}},e.prototype.clear=function(){var t=Et(this.context.view);Object(s.each)(t,(function(t){t.show()}))},e.prototype.reset=function(){this.clear()},e}(K),Hr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.byRecord=!1,e}return Object(a.__extends)(e,t),e.prototype.filter=function(){Pt(this.context)&&(this.byRecord?this.filterByRecord():this.filterByBBox())},e.prototype.filterByRecord=function(){var t=this.context.view,e=Tt(this.context,10);if(e){var i=t.getXScale().field,n=t.getYScales()[0].field,r=e.map((function(t){return t.getModel().data})),o=Nt(t);Object(s.each)(o,(function(t){var e=Et(t);Object(s.each)(e,(function(t){var e=t.getModel().data;Gt(r,e,i,n)?t.show():t.hide()}))}))}},e.prototype.filterByBBox=function(){var t=this,e=Nt(this.context.view);Object(s.each)(e,(function(e){var i=At(t.context,e,10),n=Et(e);i&&Object(s.each)(n,(function(t){i.includes(t)?t.show():t.hide()}))}))},e.prototype.reset=function(){var t=Nt(this.context.view);Object(s.each)(t,(function(t){var e=Et(t);Object(s.each)(e,(function(t){t.show()}))}))},e}(K),Wr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.buttonGroup=null,e.buttonCfg={name:"button",text:"button",textStyle:{x:0,y:0,fontSize:12,fill:"#333333",cursor:"pointer"},padding:[8,10],style:{fill:"#f7f7f7",stroke:"#cccccc",cursor:"pointer"},activeStyle:{fill:"#e6e6e6"}},e}return Object(a.__extends)(e,t),e.prototype.getButtonCfg=function(){return Object(s.deepMix)(this.buttonCfg,this.cfg)},e.prototype.drawButton=function(){var t=this.getButtonCfg(),e=this.context.view.foregroundGroup.addGroup({name:t.name}),i=e.addShape({type:"text",name:"button-text",attrs:Object(a.__assign)({text:t.text},t.textStyle)}).getBBox(),n=Ce(t.padding),r=e.addShape({type:"rect",name:"button-rect",attrs:Object(a.__assign)({x:i.x-n[3],y:i.y-n[0],width:i.width+n[1]+n[3],height:i.height+n[0]+n[2]},t.style)});r.toBack(),e.on("mouseenter",(function(){r.attr(t.activeStyle)})),e.on("mouseleave",(function(){r.attr(t.style)})),this.buttonGroup=e},e.prototype.resetPosition=function(){var t=this.context.view.getCoordinate().convert({x:1,y:1}),e=this.buttonGroup,i=e.getBBox(),n=B.ext.transform(null,[["t",t.x-i.width-10,t.y+i.height+5]]);e.setMatrix(n)},e.prototype.show=function(){this.buttonGroup||this.drawButton(),this.resetPosition(),this.buttonGroup.show()},e.prototype.hide=function(){this.buttonGroup&&this.buttonGroup.hide()},e.prototype.destroy=function(){var e=this.buttonGroup;e&&e.remove(),t.prototype.destroy.call(this)},e}(K),qr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.starting=!1,e.dragStart=!1,e}return Object(a.__extends)(e,t),e.prototype.start=function(){this.starting=!0,this.startPoint=this.context.getCurrentPoint()},e.prototype.drag=function(){if(this.startPoint){var t=this.context.getCurrentPoint(),e=this.context.view,i=this.context.event;this.dragStart?e.emit("drag",{target:i.target,x:i.x,y:i.y}):Ft(t,this.startPoint)>4&&(e.emit("dragstart",{target:i.target,x:i.x,y:i.y}),this.dragStart=!0)}},e.prototype.end=function(){if(this.dragStart){var t=this.context.view,e=this.context.event;t.emit("dragend",{target:e.target,x:e.x,y:e.y})}this.starting=!1,this.dragStart=!1},e}(K),Ur=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.starting=!1,e.isMoving=!1,e.startPoint=null,e.startMatrix=null,e}return Object(a.__extends)(e,t),e.prototype.start=function(){this.starting=!0,this.startPoint=this.context.getCurrentPoint(),this.startMatrix=this.context.view.middleGroup.getMatrix()},e.prototype.move=function(){if(this.starting){var t=this.startPoint,e=this.context.getCurrentPoint();if(Ft(t,e)>5&&!this.isMoving&&(this.isMoving=!0),this.isMoving){var i=this.context.view,n=B.ext.transform(this.startMatrix,[["t",e.x-t.x,e.y-t.y]]);i.backgroundGroup.setMatrix(n),i.foregroundGroup.setMatrix(n),i.middleGroup.setMatrix(n)}}},e.prototype.end=function(){this.isMoving&&(this.isMoving=!1),this.startMatrix=null,this.starting=!1,this.startPoint=null},e.prototype.reset=function(){this.starting=!1,this.startPoint=null,this.isMoving=!1;var t=this.context.view;t.backgroundGroup.resetMatrix(),t.foregroundGroup.resetMatrix(),t.middleGroup.resetMatrix(),this.isMoving=!1},e}(K),Kr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.dims=["x","y"],e.cfgFields=["dims"],e.cacheScaleDefs={},e}return Object(a.__extends)(e,t),e.prototype.hasDim=function(t){return this.dims.includes(t)},e.prototype.getScale=function(t){var e=this.context.view;return"x"===t?e.getXScale():e.getYScales()[0]},e.prototype.resetDim=function(t){var e=this.context.view;if(this.hasDim(t)&&this.cacheScaleDefs[t]){var i=this.getScale(t);e.scale(i.field,this.cacheScaleDefs[t]),this.cacheScaleDefs[t]=null}},e.prototype.reset=function(){this.resetDim("x"),this.resetDim("y"),this.context.view.render(!0)},e}(K),Zr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.startPoint=null,e.starting=!1,e.startCache={},e}return Object(a.__extends)(e,t),e.prototype.start=function(){var t=this;this.startPoint=this.context.getCurrentPoint(),this.starting=!0;var e=this.dims;Object(s.each)(e,(function(e){var i=t.getScale(e),n=i.min,r=i.max,o=i.values;t.startCache[e]={min:n,max:r,values:o}}))},e.prototype.end=function(){this.startPoint=null,this.starting=!1,this.startCache={}},e.prototype.translate=function(){var t=this;if(this.starting){var e=this.startPoint,i=this.context.view.getCoordinate(),n=this.context.getCurrentPoint(),r=i.invert(e),o=i.invert(n),a=o.x-r.x,l=o.y-r.y,u=this.context.view,c=this.dims;Object(s.each)(c,(function(e){t.translateDim(e,{x:-1*a,y:-1*l})})),u.render(!0)}},e.prototype.translateDim=function(t,e){if(this.hasDim(t)){var i=this.getScale(t);i.isLinear&&this.translateLinear(t,i,e)}},e.prototype.translateLinear=function(t,e,i){var n=this.context.view,r=this.startCache[t],o=r.min,a=r.max,s=a-o,l=i[t]*s;this.cacheScaleDefs[t]||(this.cacheScaleDefs[t]={nice:e.nice,min:o,max:a}),n.scale(e.field,{nice:!1,min:o+l,max:a+l})},e.prototype.reset=function(){t.prototype.reset.call(this),this.startPoint=null,this.starting=!1},e}(Kr),$r=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.zoomRatio=.05,e}return Object(a.__extends)(e,t),e.prototype.zoomIn=function(){this.zoom(this.zoomRatio)},e.prototype.zoom=function(t){var e=this,i=this.dims;Object(s.each)(i,(function(i){e.zoomDim(i,t)})),this.context.view.render(!0)},e.prototype.zoomOut=function(){this.zoom(-1*this.zoomRatio)},e.prototype.zoomDim=function(t,e){if(this.hasDim(t)){var i=this.getScale(t);i.isLinear&&this.zoomLinear(t,i,e)}},e.prototype.zoomLinear=function(t,e,i){var n=this.context.view;this.cacheScaleDefs[t]||(this.cacheScaleDefs[t]={nice:e.nice,min:e.min,max:e.max});var r=this.cacheScaleDefs[t],o=r.max-r.min,a=e.min,s=e.max,l=i*o,u=a-l,c=s+l,h=(c-u)/o;c>u&&h<100&&h>.01&&n.scale(e.field,{nice:!1,min:a-l,max:s+l})},e}(Kr);function Qr(t){return t.isInPlot()}function Jr(t){return t.gEvent.preventDefault(),t.gEvent.originalEvent.deltaY>0}fe("dark",ne(Ei)),v("canvas",Li),v("svg",Ii),Ae("Polygon",ln),Ae("Interval",en),Ae("Schema",un),Ae("Path",Vi),Ae("Point",sn),Ae("Line",nn),Ae("Area",qi),Ae("Edge",Ui),Ae("Heatmap",Zi),ni("base",_i),ni("interval",mn),ni("pie",_n),ni("polar",bn),oi("overlap",(function(t,e,i,n){var r=new On;Object(s.each)(e,(function(t){for(var e=t.find((function(t){return"text"===t.get("type")})),i=e.attr(),n=i.x,o=i.y,a=!1,s=0;s<=8;s++){var l=wn(e,n,o,s);if(r.hasGap(l)){r.fillGap(l),a=!0;break}}a||t.remove(!0)})),r.destroy()})),oi("distribute",(function(t,e,i,n){var r=t[0]?t[0].offset:0,o=e[0].get("coordinate"),a=o.getRadius(),l=o.getCenter();if(r>0){var u=2*(a+r)+28,c={start:o.start,end:o.end},h=[[],[]];t.forEach((function(t){t&&("right"===t.textAlign?h[0].push(t):h[1].push(t))})),h.forEach((function(t,i){var n=u/14;t.length>n&&(t.sort((function(t,e){return e["..percent"]-t["..percent"]})),t.splice(n,t.length-n)),t.sort((function(t,e){return t.y-e.y})),function(t,e,i,n,r,o){var a,l=!0,u=n.start,c=n.end,h=Math.min(u.y,c.y),p=Math.abs(u.y-c.y),f=0,d=Number.MIN_VALUE,g=e.map((function(t){return t.y>f&&(f=t.y),t.yp&&(p=f-h);l;)for(g.forEach((function(t){var e=(Math.min.apply(d,t.targets)+Math.max.apply(d,t.targets))/2;t.pos=Math.min(Math.max(d,e-t.size/2),p-t.size)})),l=!1,a=g.length;a--;)if(a>0){var y=g[a-1],v=g[a];y.pos+y.size>v.pos&&(y.size+=v.size,y.targets=y.targets.concat(v.targets),y.pos+y.size>p&&(y.pos=p-y.size),g.splice(a,1),l=!0)}a=0,g.forEach((function(t){var n=h+i/2;t.targets.forEach((function(){e[a].y=t.pos+n,n+=i,a++}))}));for(var m={},x=0,b=t;xr.maxX||n.maxY>r.maxY)&&t.remove(!0)}))})),oi("limit-in-canvas",(function(t,e,i,n){Object(s.each)(e,(function(t){var e=n.minX,i=n.minY,r=n.maxX,o=n.maxY,a=t.getCanvasBBox(),s=a.minX,l=a.minY,u=a.maxX,c=a.maxY,h=a.x,p=a.y,f=a.width,d=a.height,g=h,y=p;(sr?g=r-f:u>r&&(g-=u-r),l>o?y=o-d:c>o&&(y-=c-o),g===h&&y===p||mi(t,g-h,y-p)}))})),oi("pie-outer",(function(t,e,i,n){var r=t[0]?t[0].offset:0,o=e[0].get("coordinate"),a=o.getRadius(),l=o.getCenter();if(r>0){var u=Object(s.get)(t[0],"labelHeight",14),c=a+r,h=2*c+2*u,p={start:o.start,end:o.end},f=[[],[]];t.forEach((function(t){t&&(t.xn&&(t.sort((function(t,e){return e["data.percent"]-t["data.percent"]})),t.splice(n,t.length-n+1).forEach((function(t){var i=e.findIndex((function(e){return e.get("id")===t.id}));e[i]&&(e[i].remove(!0),e.splice(i,1))})));!function(t,e,i,n,r,o,a){e.sort((function(t,e){return t.y-e.y}));var s,l=n.start,u=n.end,c=Math.min(l.y,u.y),h=Math.max(l.y,u.y),p=e.map((function(t){return{content:t.content,size:i,pos:t.y,targets:[t.y]}})),f=Math.max.apply(Math,p.map((function(t){return t.pos}))),d=Math.min.apply(Math,p.map((function(t){return t.pos})));if(a){for(var g=Math.min(d,h-(p.length-1)*i),y=Math.max(g+p.length*i,f+i),v=!0;v;)for(v=!1,s=p.length;s--;)if(s>0){var m=p[s-1],x=p[s];m.pos+m.size>x.pos&&(x.pos+s*i0){m=p[s-1],x=p[s];m.pos+m.size>x.pos&&(m.pos-g>s*i?m.pos-=m.size:(m.size+=x.size,m.targets=m.targets.concat(x.targets),p.splice(s,1)),v=!0)}s=0,p.forEach((function(t){var n=t.pos;t.targets.forEach((function(){e[s].y=n,n+=i,s++}))}));for(var b={},_=0,O=t;_0?1:-1),o=t.y+Object(s.get)(t,"offsetY",0)*(Math.sin(e)>0?1:-1),u={x:n-4*Math.cos(e),y:o-4*Math.sin(e)},c=t.labelLine.smooth,h=[],p=u.x-l.x,f=u.y-l.y,d=Math.atan(f/p);if(p<0&&(d+=Math.PI),!1===c){Object(s.isObject)(t.labelLine)||(t.labelLine={});var g=0;(e<0&&e>-Math.PI/2||e>1.5*Math.PI)&&u.y>i.y&&(g=1),e>=0&&ei.y&&(g=1),e>=Math.PI/2&&eu.y&&(g=1),(e<-Math.PI/2||e>=Math.PI&&e<1.5*Math.PI)&&i.y>u.y&&(g=1);var y=r/2>4?4:Math.max(r/2-1,0),v=et(l.x,l.y,a+y,e),m=et(l.x,l.y,a+r/2,d);h.push("M "+i.x+" "+i.y),h.push("L "+v.x+" "+v.y),h.push("A "+l.x+" "+l.y+" 0 0 "+g+" "+m.x+" "+m.y),h.push("L "+u.x+" "+u.y)}else{v=et(l.x,l.y,a+(r/2>4?4:Math.max(r/2-1,0)),e);var x=i.xMath.pow(Math.E,-16)&&h.push.apply(h,["C",u.x+4*x,u.y,2*v.x-i.x,2*v.y-i.y,i.x,i.y]),h.push("L "+i.x+" "+i.y)}t.labelLine.path=h.join(" ")}}))})),We("fade-in",(function(t,e,i){var n={fillOpacity:Object(s.isNil)(t.attr("fillOpacity"))?1:t.attr("fillOpacity"),strokeOpacity:Object(s.isNil)(t.attr("strokeOpacity"))?1:t.attr("strokeOpacity"),opacity:Object(s.isNil)(t.attr("opacity"))?1:t.attr("opacity")};t.attr({fillOpacity:0,strokeOpacity:0,opacity:0}),t.animate(n,e)})),We("fade-out",(function(t,e,i){var n=e.easing,r=e.duration,o=e.delay;t.animate({fillOpacity:0,strokeOpacity:0,opacity:0},r,n,(function(){t.remove(!0)}),o)})),We("grow-in-x",(function(t,e,i){Mn(t,e,i.coordinate,i.minYPoint,"x")})),We("grow-in-xy",(function(t,e,i){Mn(t,e,i.coordinate,i.minYPoint,"xy")})),We("grow-in-y",(function(t,e,i){Mn(t,e,i.coordinate,i.minYPoint,"y")})),We("scale-in-x",(function(t,e,i){var n=t.getBBox(),r=t.get("origin").mappingData.points,o=r[0].y-r[1].y>0?n.maxX:n.minX,a=(n.minY+n.maxY)/2;t.applyToMatrix([o,a,1]);var s=B.ext.transform(t.getMatrix(),[["t",-o,-a],["s",.01,1],["t",o,a]]);t.setMatrix(s),t.animate({matrix:B.ext.transform(t.getMatrix(),[["t",-o,-a],["s",100,1],["t",o,a]])},e)})),We("scale-in-y",(function(t,e,i){var n=t.getBBox(),r=t.get("origin").mappingData,o=(n.minX+n.maxX)/2,a=r.points,s=a[0].y-a[1].y<=0?n.maxY:n.minY;t.applyToMatrix([o,s,1]);var l=B.ext.transform(t.getMatrix(),[["t",-o,-s],["s",1,.01],["t",o,s]]);t.setMatrix(l),t.animate({matrix:B.ext.transform(t.getMatrix(),[["t",-o,-s],["s",1,100],["t",o,s]])},e)})),We("wave-in",(function(t,e,i){var n=ft(i.coordinate,20),r=n.type,o=n.startState,s=n.endState,l=t.setClip({type:r,attrs:o});l.animate(s,Object(a.__assign)(Object(a.__assign)({},e),{callback:function(){t&&!t.get("destroyed")&&t.set("clipShape",null),l.remove(!0)}}))})),We("zoom-in",(function(t,e,i){An(t,e,"zoomIn")})),We("zoom-out",(function(t,e,i){An(t,e,"zoomOut")})),We("position-update",(function(t,e,i){var n=i.toAttrs,r=n.x,o=n.y;delete n.x,delete n.y,t.attr(n),t.animate({x:r,y:o},e)})),We("sector-path-update",(function(t,e,i){var n=i.toAttrs,r=i.coordinate,o=n.path,l=o.map((function(t){return t[0]})),u=Tn(o),c=u.startAngle,h=u.endAngle,p=u.radius,f=u.innerRadius,d=Tn(t.attr("path")),g=d.startAngle,y=d.endAngle,v=r.getCenter(),m=c-g,x=h-y;t.animate((function(t){var e=g+t*m,i=y+t*x;return Object(a.__assign)(Object(a.__assign)({},n),{path:Object(s.isEqual)(l,["M","A","A","Z"])?nt(v.x,v.y,p,e,i):it(v.x,v.y,p,e,i,f)})}),Object(a.__assign)(Object(a.__assign)({},e),{callback:function(){t.attr("path",o)}}))})),We("path-in",(function(t,e,i){var n=t.getTotalLength();t.attr("lineDash",[n]),t.animate((function(t){return{lineDashOffset:(1-t)*n}}),e)})),U("rect",Fn),U("mirror",Bn),U("list",Dn),U("matrix",kn),U("circle",In),U("tree",Rn),_e("axis",Wn),_e("legend",Jn),_e("tooltip",er),_e("annotation",Nn),_e("slider",tr),J("tooltip",nr),J("sibling-tooltip",rr),J("ellipsis-text",or),J("element-active",ur),J("element-single-active",dr),J("element-range-active",pr),J("element-highlight",xr),J("element-highlight-by-x",_r),J("element-highlight-by-color",br),J("element-single-highlight",wr),J("element-range-highlight",Or),J("element-sibling-highlight",Or,{effectSiblings:!0,effectByRecord:!0}),J("element-selected",Cr),J("element-single-selected",Sr),J("element-range-selected",Mr),J("element-link-by-color",cr),J("active-region",ir),J("list-active",Pr),J("list-selected",Ar),J("list-highlight",Tr),J("list-unchecked",Er),J("legend-item-highlight",Tr,{componentNames:["legend"]}),J("axis-label-highlight",Tr,{componentNames:["axis"]}),J("rect-mask",Dr),J("x-rect-mask",Br,{dim:"x"}),J("y-rect-mask",Br,{dim:"y"}),J("circle-mask",Ir),J("path-mask",Fr),J("smooth-path-mask",Rr),J("cursor",Nr),J("data-filter",Yr),J("brush",Xr),J("brush-x",Xr,{dims:["x"]}),J("brush-y",Xr,{dims:["y"]}),J("sibling-filter",Vr),J("sibling-x-filter",Vr),J("sibling-y-filter",Vr),J("element-filter",zr),J("element-sibling-filter",Hr),J("element-sibling-filter-record",Hr,{byRecord:!0}),J("view-drag",qr),J("view-move",Ur),J("scale-translate",Zr),J("scale-zoom",$r),J("reset-button",Wr,{name:"reset-button",text:"reset"}),ee("tooltip",{start:[{trigger:"plot:mousemove",action:"tooltip:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"plot:touchmove",action:"tooltip:show",throttle:{wait:50,leading:!0,trailing:!1}}],end:[{trigger:"plot:mouseleave",action:"tooltip:hide"},{trigger:"plot:leave",action:"tooltip:hide"},{trigger:"plot:touchend",action:"tooltip:hide"}]}),ee("ellipsis-text",{start:[{trigger:"legend-item-name:mousemove",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"legend-item-name:touchstart",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"axis-label:mousemove",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"axis-label:touchstart",action:"ellipsis-text:show",throttle:{wait:50,leading:!0,trailing:!1}}],end:[{trigger:"legend-item-name:mouseleave",action:"ellipsis-text:hide"},{trigger:"legend-item-name:touchend",action:"ellipsis-text:hide"},{trigger:"axis-label:mouseleave",action:"ellipsis-text:hide"},{trigger:"axis-label:touchend",action:"ellipsis-text:hide"}]}),ee("element-active",{start:[{trigger:"element:mouseenter",action:"element-active:active"}],end:[{trigger:"element:mouseleave",action:"element-active:reset"}]}),ee("element-selected",{start:[{trigger:"element:click",action:"element-selected:toggle"}]}),ee("element-highlight",{start:[{trigger:"element:mouseenter",action:"element-highlight:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight:reset"}]}),ee("element-highlight-by-x",{start:[{trigger:"element:mouseenter",action:"element-highlight-by-x:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight-by-x:reset"}]}),ee("element-highlight-by-color",{start:[{trigger:"element:mouseenter",action:"element-highlight-by-color:highlight"}],end:[{trigger:"element:mouseleave",action:"element-highlight-by-color:reset"}]}),ee("legend-active",{start:[{trigger:"legend-item:mouseenter",action:["list-active:active","element-active:active"]}],end:[{trigger:"legend-item:mouseleave",action:["list-active:reset","element-active:reset"]}]}),ee("legend-highlight",{start:[{trigger:"legend-item:mouseenter",action:["legend-item-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"legend-item:mouseleave",action:["legend-item-highlight:reset","element-highlight:reset"]}]}),ee("axis-label-highlight",{start:[{trigger:"axis-label:mouseenter",action:["axis-label-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"axis-label:mouseleave",action:["axis-label-highlight:reset","element-highlight:reset"]}]}),ee("element-list-highlight",{start:[{trigger:"element:mouseenter",action:["list-highlight:highlight","element-highlight:highlight"]}],end:[{trigger:"element:mouseleave",action:["list-highlight:reset","element-highlight:reset"]}]}),ee("element-range-highlight",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"mask:mouseenter",action:"cursor:move"},{trigger:"plot:mouseleave",action:"cursor:default"},{trigger:"mask:mouseleave",action:"cursor:crosshair"}],start:[{trigger:"plot:mousedown",isEnable:function(t){return!t.isInShape("mask")},action:["rect-mask:start","rect-mask:show"]},{trigger:"mask:dragstart",action:["rect-mask:moveStart"]}],processing:[{trigger:"plot:mousemove",action:["rect-mask:resize"]},{trigger:"mask:drag",action:["rect-mask:move"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:["rect-mask:end"]},{trigger:"mask:dragend",action:["rect-mask:moveEnd"]},{trigger:"document:mouseup",isEnable:function(t){return!t.isInPlot()},action:["element-range-highlight:clear","rect-mask:end","rect-mask:hide"]}],rollback:[{trigger:"dblclick",action:["element-range-highlight:clear","rect-mask:hide"]}]}),ee("brush",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Qr,action:["brush:start","rect-mask:start","rect-mask:show"]}],processing:[{trigger:"mousemove",isEnable:Qr,action:["rect-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Qr,action:["brush:filter","brush:end","rect-mask:end","rect-mask:hide","reset-button:show"]}],rollback:[{trigger:"reset-button:click",action:["brush:reset","reset-button:hide","cursor:crosshair"]}]}),ee("brush-visible",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"plot:mousedown",action:["rect-mask:start","rect-mask:show"]}],processing:[{trigger:"plot:mousemove",action:["rect-mask:resize"]},{trigger:"mask:change",action:["element-range-highlight:highlight"]}],end:[{trigger:"plot:mouseup",action:["rect-mask:end","rect-mask:hide","element-filter:filter","element-range-highlight:clear"]}],rollback:[{trigger:"dblclick",action:["element-filter:clear"]}]}),ee("brush-x",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Qr,action:["brush-x:start","x-rect-mask:start","x-rect-mask:show"]}],processing:[{trigger:"mousemove",isEnable:Qr,action:["x-rect-mask:resize"]}],end:[{trigger:"mouseup",isEnable:Qr,action:["brush-x:filter","brush-x:end","x-rect-mask:end","x-rect-mask:hide"]}],rollback:[{trigger:"dblclick",action:["brush-x:reset"]}]}),ee("element-path-highlight",{showEnable:[{trigger:"plot:mouseenter",action:"cursor:crosshair"},{trigger:"plot:mouseleave",action:"cursor:default"}],start:[{trigger:"mousedown",isEnable:Qr,action:"path-mask:start"},{trigger:"mousedown",isEnable:Qr,action:"path-mask:show"}],processing:[{trigger:"mousemove",action:"path-mask:addPoint"}],end:[{trigger:"mouseup",action:"path-mask:end"}],rollback:[{trigger:"dblclick",action:"path-mask:hide"}]}),ee("element-single-selected",{start:[{trigger:"element:click",action:"element-single-selected:toggle"}]}),ee("legend-filter",{showEnable:[{trigger:"legend-item:mouseenter",action:"cursor:pointer"},{trigger:"legend-item:mouseleave",action:"cursor:default"}],start:[{trigger:"legend-item:click",action:["list-unchecked:toggle","data-filter:filter"]}]}),ee("continuous-filter",{start:[{trigger:"legend:valuechanged",action:"data-filter:filter"}]}),ee("continuous-visible-filter",{start:[{trigger:"legend:valuechanged",action:"element-filter:filter"}]}),ee("legend-visible-filter",{showEnable:[{trigger:"legend-item:mouseenter",action:"cursor:pointer"},{trigger:"legend-item:mouseleave",action:"cursor:default"}],start:[{trigger:"legend-item:click",action:["list-unchecked:toggle","element-filter:filter"]}]}),ee("active-region",{start:[{trigger:"plot:mousemove",action:"active-region:show"}],end:[{trigger:"plot:mouseleave",action:"active-region:hide"}]}),ee("view-zoom",{start:[{trigger:"plot:mousewheel",isEnable:function(t){return Jr(t.event)},action:"scale-zoom:zoomOut",throttle:{wait:100,leading:!0,trailing:!1}},{trigger:"plot:mousewheel",isEnable:function(t){return!Jr(t.event)},action:"scale-zoom:zoomIn",throttle:{wait:100,leading:!0,trailing:!1}}]}),ee("sibling-tooltip",{start:[{trigger:"plot:mousemove",action:"sibling-tooltip:show"}],end:[{trigger:"plot:mouseleave",action:"sibling-tooltip:hide"}]});var to={translate:mi,rotate:xi,zoom:function(t,e){var i=t.getBBox(),n=(i.minX+i.maxX)/2,r=(i.minY+i.maxY)/2;t.applyToMatrix([n,r,1]);var o=vi(t.getMatrix(),[["t",-n,-r],["s",e,e],["t",n,r]]);t.setMatrix(o)},transform:vi,getAngle:rt,polarToCartesian:et}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(80);e.default=function(t){return n.default(t,"String")}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(23),r=i(60);e.default=function(t,e){if(t)if(n.default(t))for(var i=0,o=t.length;i0&&(Object(a.i)(r)||1===r||(t.globalAlpha=r),this.stroke(t)),this.afterDrawPath(t)},e.prototype.createPath=function(t){},e.prototype.afterDrawPath=function(t){},e.prototype.isInShape=function(t,e){var i=this.isStroke(),n=this.isFill(),r=this.getHitLineWidth();return this.isInStrokeOrPath(t,e,i,n,r)},e.prototype.isInStrokeOrPath=function(t,e,i,n,r){return!1},e.prototype.getHitLineWidth=function(){if(!this.isStroke())return 0;var t=this.attrs;return t.lineWidth+t.lineAppendWidth},e}(o.AbstractShape),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,r:0})},e.prototype.isInStrokeOrPath=function(t,e,i,n,r){var o=this.attr(),s=o.x,l=o.y,u=o.r,c=r/2,h=Object(a.b)(s,l,t,e);return n&&i?h<=u+c:n?h<=u:!!i&&(h>=u-c&&h<=u+c)},e.prototype.createPath=function(t){var e=this.attr(),i=e.x,n=e.y,r=e.r;t.beginPath(),t.arc(i,n,r,0,2*Math.PI,!1),t.closePath()},e}(c);function p(t,e,i,n){return t/(i*i)+e/(n*n)}var f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,rx:0,ry:0})},e.prototype.isInStrokeOrPath=function(t,e,i,n,r){var o=this.attr(),a=r/2,s=o.x,l=o.y,u=o.rx,c=o.ry,h=(t-s)*(t-s),f=(e-l)*(e-l);return n&&i?p(h,f,u+a,c+a)<=1:n?p(h,f,u,c)<=1:!!i&&(p(h,f,u-a,c-a)>=1&&p(h,f,u+a,c+a)<=1)},e.prototype.createPath=function(t){var e=this.attr(),i=e.x,n=e.y,r=e.rx,o=e.ry;if(t.beginPath(),t.ellipse)t.ellipse(i,n,r,o,0,0,2*Math.PI,!1);else{var a=r>o?r:o,s=r>o?1:r/o,l=r>o?o/r:1;t.save(),t.translate(i,n),t.scale(s,l),t.arc(0,0,a,0,2*Math.PI),t.restore(),t.closePath()}},e}(c);function d(t){return t instanceof HTMLElement&&Object(a.k)(t.nodeName)&&"CANVAS"===t.nodeName.toUpperCase()}var g=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,width:0,height:0})},e.prototype.initAttrs=function(t){this._setImage(t.img)},e.prototype.isStroke=function(){return!1},e.prototype.isOnlyHitBox=function(){return!0},e.prototype._afterLoading=function(){if(!0===this.get("toDraw")){var t=this.get("canvas");t?t.draw():this.createPath(this.get("context"))}},e.prototype._setImage=function(t){var e=this,i=this.attrs;if(Object(a.k)(t)){var n=new Image;n.onload=function(){if(e.destroyed)return!1;e.attr("img",n),e.set("loading",!1),e._afterLoading();var t=e.get("callback");t&&t.call(e)},n.src=t,n.crossOrigin="Anonymous",this.set("loading",!0)}else t instanceof Image?(i.width||(i.width=t.width),i.height||(i.height=t.height)):d(t)&&(i.width||(i.width=Number(t.getAttribute("width"))),i.height||(i.height,Number(t.getAttribute("height"))))},e.prototype.onAttrChange=function(e,i,n){t.prototype.onAttrChange.call(this,e,i,n),"img"===e&&this._setImage(i)},e.prototype.createPath=function(t){if(this.get("loading"))return this.set("toDraw",!0),void this.set("context",t);var e=this.attr(),i=e.x,n=e.y,r=e.width,o=e.height,s=e.sx,l=e.sy,u=e.swidth,c=e.sheight,h=e.img;(h instanceof Image||d(h))&&(Object(a.i)(s)||Object(a.i)(l)||Object(a.i)(u)||Object(a.i)(c)?t.drawImage(h,i,n,r,o):t.drawImage(h,s,l,u,c,i,n,r,o))},e}(c),y=i(18),v=i.n(y);function m(t,e,i,n,r,o,a){var s=Math.min(t,i),l=Math.max(t,i),u=Math.min(e,n),c=Math.max(e,n),h=r/2;return o>=s-h&&o<=l+h&&a>=u-h&&a<=c+h&&v.a.pointToLine(t,e,i,n,o,a)<=r/2}var x=i(19),b=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x1:0,y1:0,x2:0,y2:0,startArrow:!1,endArrow:!1})},e.prototype.initAttrs=function(t){this.setArrow()},e.prototype.onAttrChange=function(e,i,n){t.prototype.onAttrChange.call(this,e,i,n),this.setArrow()},e.prototype.setArrow=function(){var t=this.attr(),e=t.x1,i=t.y1,n=t.x2,r=t.y2,o=t.startArrow,a=t.endArrow;o&&x.b(this,t,n,r,e,i),a&&x.a(this,t,e,i,n,r)},e.prototype.isInStrokeOrPath=function(t,e,i,n,r){if(!i||!r)return!1;var o=this.attr();return m(o.x1,o.y1,o.x2,o.y2,r,t,e)},e.prototype.createPath=function(t){var e=this.attr(),i=e.x1,n=e.y1,r=e.x2,o=e.y2,a=e.startArrow,s=e.endArrow,l={dx:0,dy:0},u={dx:0,dy:0};a&&a.d&&(l=x.c(i,n,r,o,e.startArrow.d)),s&&s.d&&(u=x.c(i,n,r,o,e.endArrow.d)),t.beginPath(),t.moveTo(i+l.dx,n+l.dy),t.lineTo(r-u.dx,o-u.dy)},e.prototype.afterDrawPath=function(t){var e=this.get("startArrowShape"),i=this.get("endArrowShape");e&&e.draw(t),i&&i.draw(t)},e.prototype.getTotalLength=function(){var t=this.attr(),e=t.x1,i=t.y1,n=t.x2,r=t.y2;return v.a.length(e,i,n,r)},e.prototype.getPoint=function(t){var e=this.attr(),i=e.x1,n=e.y1,r=e.x2,o=e.y2;return v.a.pointAt(i,n,r,o,t)},e}(c),_=i(0),O=i(76),w=i.n(O),M={circle:function(t,e,i){return[["M",t-i,e],["A",i,i,0,1,0,t+i,e],["A",i,i,0,1,0,t-i,e]]},square:function(t,e,i){return[["M",t-i,e-i],["L",t+i,e-i],["L",t+i,e+i],["L",t-i,e+i],["Z"]]},diamond:function(t,e,i){return[["M",t-i,e],["L",t,e-i],["L",t+i,e],["L",t,e+i],["Z"]]},triangle:function(t,e,i){var n=i*Math.sin(1/3*Math.PI);return[["M",t-i,e+n],["L",t,e-n],["L",t+i,e+n],["Z"]]},"triangle-down":function(t,e,i){var n=i*Math.sin(1/3*Math.PI);return[["M",t-i,e-n],["L",t+i,e-n],["L",t,e+n],["Z"]]}},C=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.initAttrs=function(t){this._resetParamsCache()},e.prototype._resetParamsCache=function(){this.set("paramsCache",{})},e.prototype.onAttrChange=function(e,i,n){t.prototype.onAttrChange.call(this,e,i,n),-1!==["symbol","x","y","r","radius"].indexOf(e)&&this._resetParamsCache()},e.prototype.isOnlyHitBox=function(){return!0},e.prototype._getR=function(t){return Object(_.isNil)(t.r)?t.radius:t.r},e.prototype._getPath=function(){var t,i,n=this.attr(),r=n.x,o=n.y,s=n.symbol||"circle",l=this._getR(n);return Object(a.h)(s)?(i=(t=s)(r,o,l),i=w()(i)):i=(t=e.Symbols[s])(r,o,l),t?i:(console.warn(s+" marker is not supported."),null)},e.prototype.createPath=function(t){var e=this._getPath(),i=this.get("paramsCache");Object(s.c)(this,t,{path:e},i)},e.Symbols=M,e}(c),S=i(41),j=i.n(S),P=i(116),T=i.n(P),A=i(114);function E(t,e,i){var n=Object(A.getOffScreenContext)();return t.createPath(n),n.isPointInPath(e,i)}function L(t){return Math.abs(t)<1e-6?0:t<0?-1:1}function I(t,e,i){return(i[0]-t[0])*(e[1]-t[1])==(e[0]-t[0])*(i[1]-t[1])&&Math.min(t[0],e[0])<=i[0]&&i[0]<=Math.max(t[0],e[0])&&Math.min(t[1],e[1])<=i[1]&&i[1]<=Math.max(t[1],e[1])}function D(t,e,i){var n=!1,r=t.length;if(r<=2)return!1;for(var o=0;o0!=L(s[1]-i)>0&&L(e-(i-a[1])*(a[0]-s[0])/(a[1]-s[1])-a[0])<0&&(n=!n)}return n}var k=i(115),B=i.n(k);function F(t,e,i,n,r,o,s,l){var u=(Math.atan2(l-e,s-t)+2*Math.PI)%(2*Math.PI);if(ur)return!1;var c={x:t+i*Math.cos(u),y:e+i*Math.sin(u)};return Object(a.b)(c.x,c.y,s,l)<=o/2}var R=i(50),N=i(72);var Y=Object(r.__assign)({hasArc:function(t){for(var e=!1,i=t.length,n=0;n0&&n.push(r),{polygons:i,polylines:n}},isPointInStroke:function(t,e,i,n){for(var r=!1,o=e/2,s=0;sv?y:v,C=y>v?1:y/v,S=y>v?v/y:1;R.translate(w,w,[-d,-g]),R.rotate(w,w,-_),R.scale(w,w,[1/C,1/S]),N.transformMat3(O,O,w),r=F(0,0,M,x,b,e,O[0],O[1])}if(r)break}}return r}},o.PathUtil);function G(t,e,i){for(var n=!1,r=0;r=n[0]&&t<=n[1]&&(e=(t-n[0])/(n[1]-n[0]),i=r)}));var o=r[i];if(Object(_.isNil)(o)||Object(_.isNil)(i))return null;var a=o.length,s=r[i+1];return j.a.pointAt(o[a-2],o[a-1],s[1],s[2],s[3],s[4],s[5],s[6],e)},e.prototype._calculateCurve=function(){var t=this.attr().path;this.set("curve",Y.pathToCurve(t))},e.prototype._setTcache=function(){var t,e,i,n,r=0,o=0,a=[],s=this.get("curve");s&&(Object(_.each)(s,(function(t,e){i=s[e+1],n=t.length,i&&(r+=j.a.length(t[n-2],t[n-1],i[1],i[2],i[3],i[4],i[5],i[6])||0)})),this.set("totalLength",r),0!==r?(Object(_.each)(s,(function(l,u){i=s[u+1],n=l.length,i&&((t=[])[0]=o/r,e=j.a.length(l[n-2],l[n-1],i[1],i[2],i[3],i[4],i[5],i[6]),o+=e||0,t[1]=o/r,a.push(t))})),this.set("tCache",a)):this.set("tCache",[]))},e.prototype.getStartTangent=function(){var t,e=this.getSegments();if(e.length>1){var i=e[0].currentPoint,n=e[1].currentPoint,r=e[1].startTangent;t=[],r?(t.push([i[0]-r[0],i[1]-r[1]]),t.push([i[0],i[1]])):(t.push([n[0],n[1]]),t.push([i[0],i[1]]))}return t},e.prototype.getEndTangent=function(){var t,e=this.getSegments(),i=e.length;if(i>1){var n=e[i-2].currentPoint,r=e[i-1].currentPoint,o=e[i-1].endTangent;t=[],o?(t.push([r[0]-o[0],r[1]-o[1]]),t.push([r[0],r[1]])):(t.push([n[0],n[1]]),t.push([r[0],r[1]]))}return t},e}(c);function V(t,e,i,n,r){var o=t.length;if(o<2)return!1;for(var a=0;a=n[0]&&t<=n[1]&&(e=(t-n[0])/(n[1]-n[0]),i=r)})),v.a.pointAt(n[i][0],n[i][1],n[i+1][0],n[i+1][1],e)},e.prototype._setTcache=function(){var t=this.attr().points;if(t&&0!==t.length){var e=this.getTotalLength();if(!(e<=0)){var i,n,r=0,o=[];Object(_.each)(t,(function(a,s){t[s+1]&&((i=[])[0]=r/e,n=v.a.length(a[0],a[1],t[s+1][0],t[s+1][1]),r+=n,i[1]=r/e,o.push(i))})),this.set("tCache",o)}}},e.prototype.getStartTangent=function(){var t=this.attr().points,e=[];return e.push([t[1][0],t[1][1]]),e.push([t[0][0],t[0][1]]),e},e.prototype.getEndTangent=function(){var t=this.attr().points,e=t.length-1,i=[];return i.push([t[e-1][0],t[e-1][1]]),i.push([t[e][0],t[e][1]]),i},e}(c),U=i(73);var K=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,width:0,height:0,radius:0})},e.prototype.isInStrokeOrPath=function(t,e,i,n,r){var o=this.attr(),s=o.x,l=o.y,u=o.width,c=o.height,h=o.radius;if(h){var p=!1;return i&&(p=function(t,e,i,n,r,o,a,s){return m(t+r,e,t+i-r,e,o,a,s)||m(t+i,e+r,t+i,e+n-r,o,a,s)||m(t+i-r,e+n,t+r,e+n,o,a,s)||m(t,e+n-r,t,e+r,o,a,s)||F(t+i-r,e+r,r,1.5*Math.PI,2*Math.PI,o,a,s)||F(t+i-r,e+n-r,r,0,.5*Math.PI,o,a,s)||F(t+r,e+n-r,r,.5*Math.PI,Math.PI,o,a,s)||F(t+r,e+r,r,Math.PI,1.5*Math.PI,o,a,s)}(s,l,u,c,h,r,t,e)),!p&&n&&(p=E(this,t,e)),p}var f=r/2;return n&&i?Object(a.e)(s-f,l-f,u+f,c+f,t,e):n?Object(a.e)(s,l,u,c,t,e):i?function(t,e,i,n,r,o,s){var l=r/2;return Object(a.e)(t-l,e-l,i,r,o,s)||Object(a.e)(t+i-l,e-l,r,n,o,s)||Object(a.e)(t+l,e+n-l,i,r,o,s)||Object(a.e)(t-l,e+l,r,n,o,s)}(s,l,u,c,r,t,e):void 0},e.prototype.createPath=function(t){var e=this.attr(),i=e.x,n=e.y,r=e.width,o=e.height,a=e.radius;if(t.beginPath(),0===a)t.rect(i,n,r,o);else{var s=Object(U.a)(a),l=s[0],u=s[1],c=s[2],h=s[3];t.moveTo(i+l,n),t.lineTo(i+r-u,n),0!==u&&t.arc(i+r-u,n+u,u,-Math.PI/2,0),t.lineTo(i+r,n+o-c),0!==c&&t.arc(i+r-c,n+o-c,c,0,Math.PI/2),t.lineTo(i+h,n+o),0!==h&&t.arc(i+h,n+o-h,h,Math.PI/2,Math.PI),t.lineTo(i,n+l),0!==l&&t.arc(i+l,n+l,l,Math.PI,1.5*Math.PI),t.closePath()}},e}(c),Z=i(75),$=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,text:null,fontSize:12,fontFamily:"sans-serif",fontStyle:"normal",fontWeight:"normal",fontVariant:"normal",textAlign:"start",textBaseline:"bottom"})},e.prototype.isOnlyHitBox=function(){return!0},e.prototype.initAttrs=function(t){this._assembleFont(),t.text&&this._setText(t.text)},e.prototype._assembleFont=function(){var t=this.attrs;t.font=Object(Z.assembleFont)(t)},e.prototype._setText=function(t){var e=null;Object(a.k)(t)&&-1!==t.indexOf("\n")&&(e=t.split("\n")),this.set("textArr",e)},e.prototype.onAttrChange=function(e,i,n){t.prototype.onAttrChange.call(this,e,i,n),e.startsWith("font")&&this._assembleFont(),"text"===e&&this._setText(i)},e.prototype._getSpaceingY=function(){var t=this.attrs,e=t.lineHeight,i=1*t.fontSize;return e?e-i:.14*i},e.prototype._drawTextArr=function(t,e,i){var n,r=this.attrs,o=r.textBaseline,s=r.x,l=r.y,u=1*r.fontSize,c=this._getSpaceingY(),h=Object(Z.getTextHeight)(r.text,r.fontSize,r.lineHeight);Object(a.c)(e,(function(e,r){n=l+r*(c+u)-h+u,"middle"===o&&(n+=h-u-(h-u)/2),"top"===o&&(n+=h-u),i?t.fillText(e,s,n):t.strokeText(e,s,n)}))},e.prototype._drawText=function(t,e){var i=this.attr(),n=i.x,r=i.y,o=this.get("textArr");if(o)this._drawTextArr(t,o,e);else{var a=i.text;e?t.fillText(a,n,r):t.strokeText(a,n,r)}},e.prototype.strokeAndFill=function(t){var e=this.attrs,i=e.lineWidth,n=e.opacity,r=e.strokeOpacity,o=e.fillOpacity;this.isStroke()&&i>0&&(Object(a.i)(r)||1===r||(t.globalAlpha=n),this.stroke(t)),this.isFill()&&(Object(a.i)(o)||1===o?this.fill(t):(t.globalAlpha=o,this.fill(t),t.globalAlpha=n)),this.afterDrawPath(t)},e.prototype.fill=function(t){this._drawText(t,!0)},e.prototype.stroke=function(t){this._drawText(t,!1)},e}(c)},function(t,e,i){"use strict";i.r(e),i.d(e,"assign",(function(){return l})),i.d(e,"format",(function(){return S})),i.d(e,"parse",(function(){return j})),i.d(e,"defaultI18n",(function(){return p})),i.d(e,"setGlobalDateI18n",(function(){return d})),i.d(e,"setGlobalDateMasks",(function(){return C}));var n=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,r="[^\\s]+",o=/\[([^]*?)\]/gm;function a(t,e){for(var i=[],n=0,r=t.length;n-1?n:null}};function l(t){for(var e=[],i=1;i3?0:(t-t%10!=10?1:0)*t%10]}},f=l({},p),d=function(t){return f=l(f,t)},g=function(t){return t.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},y=function(t,e){for(void 0===e&&(e=2),t=String(t);t.length0?"-":"+")+y(100*Math.floor(Math.abs(e)/60)+Math.abs(e)%60,4)},Z:function(t){var e=t.getTimezoneOffset();return(e>0?"-":"+")+y(Math.floor(Math.abs(e)/60),2)+":"+y(Math.abs(e)%60,2)}},m=function(t){return+t-1},x=[null,"[1-9]\\d?"],b=[null,r],_=["isPm",r,function(t,e){var i=t.toLowerCase();return i===e.amPm[0]?0:i===e.amPm[1]?1:null}],O=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(t){var e=(t+"").match(/([+-]|\d\d)/gi);if(e){var i=60*+e[1]+parseInt(e[2],10);return"+"===e[0]?i:-i}return 0}],w={D:["day","[1-9]\\d?"],DD:["day","\\d\\d"],Do:["day","[1-9]\\d?"+r,function(t){return parseInt(t,10)}],M:["month","[1-9]\\d?",m],MM:["month","\\d\\d",m],YY:["year","\\d\\d",function(t){var e=+(""+(new Date).getFullYear()).substr(0,2);return+(""+(+t>68?e-1:e)+t)}],h:["hour","[1-9]\\d?",void 0,"isPm"],hh:["hour","\\d\\d",void 0,"isPm"],H:["hour","[1-9]\\d?"],HH:["hour","\\d\\d"],m:["minute","[1-9]\\d?"],mm:["minute","\\d\\d"],s:["second","[1-9]\\d?"],ss:["second","\\d\\d"],YYYY:["year","\\d{4}"],S:["millisecond","\\d",function(t){return 100*+t}],SS:["millisecond","\\d\\d",function(t){return 10*+t}],SSS:["millisecond","\\d{3}"],d:x,dd:x,ddd:b,dddd:b,MMM:["month",r,s("monthNamesShort")],MMMM:["month",r,s("monthNames")],a:_,A:_,ZZ:O,Z:O},M={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},C=function(t){return l(M,t)},S=function(t,e,i){if(void 0===e&&(e=M.default),void 0===i&&(i={}),"number"==typeof t&&(t=new Date(t)),"[object Date]"!==Object.prototype.toString.call(t)||isNaN(t.getTime()))throw new Error("Invalid Date pass to format");var r=[];e=(e=M[e]||e).replace(o,(function(t,e){return r.push(e),"@@@"}));var a=l(l({},f),i);return(e=e.replace(n,(function(e){return v[e](t,a)}))).replace(/@@@/g,(function(){return r.shift()}))};function j(t,e,i){if(void 0===i&&(i={}),"string"!=typeof e)throw new Error("Invalid format in fecha parse");if(e=M[e]||e,t.length>1e3)return null;var r={year:(new Date).getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},a=[],s=[],u=e.replace(o,(function(t,e){return s.push(g(e)),"@@@"})),c={},h={};u=g(u).replace(n,(function(t){var e=w[t],i=e[0],n=e[1],r=e[3];if(c[i])throw new Error("Invalid format. "+i+" specified twice in format");return c[i]=!0,r&&(h[r]=!0),a.push(e),"("+n+")"})),Object.keys(h).forEach((function(t){if(!c[t])throw new Error("Invalid format. "+t+" is required in specified format")})),u=u.replace(/@@@/g,(function(){return s.shift()}));var p=t.match(new RegExp(u,"i"));if(!p)return null;for(var d=l(l({},f),i),y=1;y0&&!(e>=t[i-1]);)i-=1;return i},e.isBBoxIntersect=function(t,e){return!(t.maxY1?1:Number(e),n=t.length-1,r=Math.floor(n*i),o=n*i-r,a=t[r],s=r===n?a:t[r+1];return u([l(a,s,o,0),l(a,s,o,1),l(a,s,o,2)])}(i,t)}},toRGB:Object(n.memoize)(f),toCSSGradient:function(t){if(/^[r,R,L,l]{1}[\s]*\(/.test(t)){var e,i=void 0;if("l"===t[0]){var r=+(l=o.exec(t))[1]+90;i=l[2],e="linear-gradient("+r+"deg, "}else if("r"===t[0]){var l;e="radial-gradient(",i=(l=a.exec(t))[4]}var u=i.match(s);return Object(n.each)(u,(function(t,i){var n=t.split(":");e+=n[1]+" "+100*n[0]+"%",i!==u.length-1&&(e+=", ")})),e+=")"}return t}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(29),r=i(18),o=i(123);function a(t,e,i,n,r){var o=1-r;return o*o*o*t+3*e*r*o*o+3*i*r*r*o+n*r*r*r}function s(t,e,i,n,r){var o=1-r;return 3*(o*o*(e-t)+2*o*r*(i-e)+r*r*(n-i))}function l(t,e,i,r){var o,a,s,l=-3*t+9*e-9*i+3*r,u=6*t-12*e+6*i,c=3*e-3*t,h=[];if(n.isNumberEqual(l,0))n.isNumberEqual(u,0)||(o=-c/u)>=0&&o<=1&&h.push(o);else{var p=u*u-4*l*c;n.isNumberEqual(p,0)?h.push(-u/(2*l)):p>0&&(a=(-u-(s=Math.sqrt(p)))/(2*l),(o=(-u+s)/(2*l))>=0&&o<=1&&h.push(o),a>=0&&a<=1&&h.push(a))}return h}function u(t,e,i,n,o,s,l,u,c){var h=a(t,i,o,l,c),p=a(e,n,s,u,c),f=r.default.pointAt(t,e,i,n,c),d=r.default.pointAt(i,n,o,s,c),g=r.default.pointAt(o,s,l,u,c),y=r.default.pointAt(f.x,f.y,d.x,d.y,c),v=r.default.pointAt(d.x,d.y,g.x,g.y,c);return[[t,e,f.x,f.y,y.x,y.y,h,p],[h,p,v.x,v.y,g.x,g.y,l,u]]}e.default={extrema:l,box:function(t,e,i,r,o,s,u,c){for(var h=[t,u],p=[e,c],f=l(t,i,o,u),d=l(e,r,s,c),g=0;g=0&&this.radius<=1&&(i*=this.radius),this.d=Math.floor(i*(1-this.innerRadius)/e),this.a=this.d/(2*Math.PI),this.x={start:this.startAngle,end:this.endAngle},this.y={start:this.innerRadius*i,end:this.innerRadius*i+.99*this.d}},e.prototype.convertPoint=function(t){var e,i=t.x,n=t.y;this.isTransposed&&(i=(e=[n,i])[0],n=e[1]);var r=this.convertDim(i,"x"),o=this.a*r,a=this.convertDim(n,"y");return{x:this.center.x+Math.cos(r)*(o+a),y:this.center.y+Math.sin(r)*(o+a)}},e.prototype.invertPoint=function(t){var e,i=this.d+this.y.start,n=r.vec2.subtract([0,0],[t.x,t.y],[this.center.x,this.center.y]),a=r.ext.angleTo(n,[1,0],!0),s=a*this.a;r.vec2.length(n)this.width/n?(e=this.width/n,this.circleCenter={x:this.center.x-(.5-o)*this.width,y:this.center.y-(.5-a)*e*r}):(e=this.height/r,this.circleCenter={x:this.center.x-(.5-o)*e*n,y:this.center.y-(.5-a)*this.height}),this.polarRadius=this.radius,this.radius?this.radius>0&&this.radius<=1?this.polarRadius=e*this.radius:(this.radius<=0||this.radius>e)&&(this.polarRadius=e):this.polarRadius=e,this.x={start:this.startAngle,end:this.endAngle},this.y={start:this.innerRadius*this.polarRadius,end:this.polarRadius}},e.prototype.getRadius=function(){return this.polarRadius},e.prototype.convertPoint=function(t){var e,i=this.getCenter(),n=t.x,r=t.y;return this.isTransposed&&(n=(e=[r,n])[0],r=e[1]),n=this.convertDim(n,"x"),r=this.convertDim(r,"y"),{x:i.x+Math.cos(n)*r,y:i.y+Math.sin(n)*r}},e.prototype.invertPoint=function(t){var e=this.getCenter(),i=[t.x-e.x,t.y-e.y],n=[1,0,0,0,1,0,0,0,1];r.ext.leftRotate(n,n,this.startAngle);var a=[1,0,0];r.vec3.transformMat3(a,a,n);var s=[a[0],a[1]],l=r.ext.angleTo(s,i,this.endAngle0?c:-c;var h=this.invertDim(u,"y"),p={x:0,y:0};return p.x=this.isTransposed?h:c,p.y=this.isTransposed?c:h,p},e.prototype.getCenter=function(){return this.circleCenter},e.prototype.getOneBox=function(){var t=this.startAngle,e=this.endAngle;if(Math.abs(e-t)>=2*Math.PI)return{minX:-1,maxX:1,minY:-1,maxY:1};for(var i=[0,Math.cos(t),Math.cos(e)],n=[0,Math.sin(t),Math.sin(e)],r=Math.min(t,e);r=0&&this.layers.splice(e,1)},e.prototype.updateBBox=function(t,e){void 0===e&&(e=!1);var i={x:this.x,y:this.y,width:this.width,height:this.height},n=o.deepMix({},i,t);this.x=n.x,this.y=n.y,this.width=n.width,this.height=n.height,this.layerBBox=this.getLayerBBox(),this.layerRegion=this.getLayerRegion(),this.render(),e&&this.eachLayer((function(t){t.updateBBoxByParent(),t.render()})),this.canvas.draw()},e.prototype.updateBBoxByParent=function(){var t=this.layerRegion;this.x=this.parent.x+this.parent.width*t.start.x,this.y=this.parent.y+this.parent.height*t.start.y,this.width=this.parent.width*(t.end.x-t.start.x),this.height=this.parent.height*(t.end.y-t.start.y),this.layerBBox=this.getLayerBBox()},e.prototype.getGlobalPosition=function(){for(var t=this.x,e=this.y,i=this.parent;i;)t+=i.x,e+=i.y,i=i.parent;return{x:t,y:e}},e.prototype.getGlobalBBox=function(){var t=this.getGlobalPosition();return new s.default(t.x,t.y,this.width,this.height)},e.prototype.getOptions=function(t){var e=0,i=0;t.parent&&(e=t.parent.width,i=t.parent.height);var n={x:0,y:0,width:e,height:i};return o.deepMix({},n,t)},e.prototype.eachLayer=function(t){o.each(this.layers,t)},e.prototype.parseEvents=function(t){var e=this,i=o.keys(a.LAYER_EVENT_MAP);o.each(t,(function(t,n){if(o.contains(i,n)&&o.isFunction(t)){var r=a.LAYER_EVENT_MAP[n]||n,s=t;e.on(r,s),e.eventHandlers.push({name:r,handler:s})}}))},e.prototype.getLayerBBox=function(){return new s.default(this.x,this.y,this.width,this.height)},e.prototype.getLayerRegion=function(){if(this.parent){var t=this.parent.width,e=this.parent.height,i=this.parent.x,n=this.parent.y;return{start:{x:(this.x-i)/t,y:(this.y-n)/e},end:{x:(this.x+this.width-i)/t,y:(this.y+this.height-n)/e}}}return{start:{x:0,y:0},end:{x:1,y:1}}},e}(r.default);e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=n.__importDefault(i(22)),o=i(0),a=function(t){function e(e){var i=t.call(this)||this;return i.container=e.container,i.destroyed=!1,i.config=e,i.disposables=[],i}return n.__extends(e,t),e.prototype.init=function(){this.group||this.initGroup(),this.initConfig(this.config)},e.prototype.getGroup=function(){return this.group},e.prototype.getConfig=function(){return this.config},e.prototype.getBBox=function(){return this.getGroup().getBBox()},e.prototype.clear=function(){this.group.clear()},e.prototype.render=function(){this.group.clear(),this.renderInner(this.group),this.getCanvas().draw()},e.prototype.update=function(t){this.config=n.__assign(n.__assign({},this.config),t),this.initConfig(this.config)},e.prototype.destroy=function(){o.each(this.disposables,(function(t){t()})),this.disposables=[],this.group.remove(!0),this.destroyed=!0},e.prototype.initGroup=function(){this.group=this.container.addGroup()},e.prototype.getCanvas=function(){return this.container.get("canvas")},e.prototype.addDisposable=function(t){this.disposables.push(t)},e.prototype.initConfig=function(t){},e}(r.default);e.default=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.rotate=e.translate=e.move=e.transform=e.groupTransform=void 0;var n=i(3),r=i(0),o=i(8);e.groupTransform=function(t,e){var i=n.ext.transform([1,0,0,0,1,0,0,0,1],e);t.setMatrix(i)},e.transform=function(t,e){var i=e?r.clone(e):[1,0,0,0,1,0,0,0,1];return n.ext.transform(i,t)},e.move=function(t,e,i,n){var o=n?r.clone(n):[1,0,0,0,1,0,0,0,1];o[6]=e,o[7]=i,t.setMatrix(o)},e.translate=function(t,e,i){o.Util.translate(t,e,i)},e.rotate=function(t,e){o.Util.rotate(t,e)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),r=function(){function t(t){n.assign(this,t),this.init()}return t.prototype.init=function(){this.config={type:this.type,position:{fields:this.positionFields}}},t}();e.default=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(8),a=n.__importStar(i(20)),s=i(28),l=n.__importDefault(i(13)),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.getLabelItemAttrs=function(t,e){var i,a,s=this.options,l=s.style,u=s.formatter,c=[].concat(t.getModel().mappingData),h=this.getValue(t);return r.deepMix({},l,n.__assign(n.__assign({},this.getPosition(t)),{text:u?u(h,(i={},i[o._ORIGIN]=null===(a=c[0])||void 0===a?void 0:a._origin,i.mappingDatum=c[0],i.mappingDatumIndex=0,i.element=t,i.elementIndex=e,i),e):h,fill:this.getTextFill(t),stroke:this.getTextStroke(t),textAlign:this.getTextAlign(),textBaseline:this.getTextBaseLine()}))},e.prototype.getDefaultOptions=function(){var t=this.layer.theme.label,e=void 0===t?{}:t;return n.__assign({offsetX:0,offsetY:0,adjustPosition:!0},e)},e.prototype.adjustLabel=function(t,e){if(this.options.adjustPosition){var i=this.getDefaultOffset(),n=t.getBBox(),r=this.getElementShapeBBox(e);if(r.height<=n.height){var o=r.minY+this.options.offsetY-i;t.attr("y",o),t.attr("textBaseline","bottom"),t.attr("fill",this.options.style.fill)}}},e.prototype.getValue=function(t){return r.get(t.getData(),this.layer.options.yField)},e.prototype.getPosition=function(t){var e,i=this.getDefaultOffset(),n=this.getValue(t),r=this.getElementShapeBBox(t),o=r.minX,a=r.minY,s=r.maxY,l=r.height,u=r.width,c=this.options,h=c.offsetX,p=c.offsetY,f=c.position,d=n>0?-1:1;if("top"===f)e=(n>0?a:s)+i*d+p;else if("bottom"===f){e=(n>0?s:a)+i*d+p}else e=a+l/2+p;return{x:o+u/2+h,y:e}},e.prototype.getTextFill=function(t){var e=t.shape;if(this.options.adjustColor&&"top"!==this.options.position){var i=e.attr("fill"),n=e.attr("opacity")?e.attr("opacity"):1,r=s.rgb2arr(i),o=Math.round(.299*r[0]+.587*r[1]+.114*r[2])/n;return s.mappingColor([{from:0,to:85,color:"white"},{from:85,to:170,color:"#F6F6F6"},{from:170,to:255,color:"black"}],o)}return this.options.style.fill},e.prototype.getTextStroke=function(t){var e=this.getTextFill(t),i=this.options,n=i.position,r=i.adjustColor;return"top"!==n&&r&&"black"!==e?null:void 0},e.prototype.getElementShapeBBox=function(t){var e=this,i=t.shape,n=[];r.each(i.get("origin").points,(function(t){n.push(e.coord.convertPoint(t))}));var o=n.map((function(t){return t.x})),a=Math.min.apply(Math,o),s=Math.max.apply(Math,o),u=n.map((function(t){return t.y})),c=Math.min.apply(Math,u),h=Math.max.apply(Math,u);return new l.default(a,c,s-a,h-c)},e.prototype.getTextAlign=function(){return"center"},e.prototype.getTextBaseLine=function(){return"middle"},e.prototype.getLabelOffset=function(){return{x:0,y:0}},e}(a.default);e.default=u,a.registerLabelComponent("column",u)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(15)),a=i(26);i(147);var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{title:{visible:!1},description:{visible:!1},padding:[0,0,0,0],legend:{visible:!1},xAxis:{visible:!1},yAxis:{visible:!1},tooltip:{visible:!1}})},e.prototype.coord=function(){},e.prototype.addGeometry=function(){},e.prototype.annotation=function(){var t=this,e=this.options,i=[],n={line:{style:{lineWidth:1,stroke:"#66d6a8"}}};r.each(e.guideLine,(function(e){var o=a.getComponent("guideLine",{plot:t,cfg:r.deepMix({},n,e)});i.push(o)})),this.setConfig("annotations",i)},e}(o.default);e.default=s},function(t,e,i){"use strict";i.r(e),i.d(e,"registerAttribute",(function(){return y})),i.d(e,"getAttribute",(function(){return g})),i.d(e,"Attribute",(function(){return o})),i.d(e,"Color",(function(){return l})),i.d(e,"Opacity",(function(){return u})),i.d(e,"Position",(function(){return c})),i.d(e,"Shape",(function(){return h})),i.d(e,"Size",(function(){return p})),i.d(e,"Scale",(function(){return f.Scale}));var n=i(0),r=function(t,e){return Object(n.isString)(e)?e:t.invert(t.scale(e))},o=function(){function t(t){this.names=[],this.scales=[],this.linear=!1,this.values=[],this.callback=function(){return[]},this._parseCfg(t)}return t.prototype.mapping=function(){for(var t=this,e=[],i=0;i=0;o--){var s=t[o],l=s.getBBox(),u=n.getBBox();if(s.get("parent").get("visible")&&(r=a.getOverlapArea(l,u),!a.near(r,0))){n.get("parent").set("visible",!1);break}}t.forEach((function(t){return function(t,e){var i=t.getBBox();e.y<=i.y&&e.y+e.height>=i.y+i.height||t.get("parent").set("visible",!1)}(t,e)}))},t.prototype.adjustItem=function(t){},t.prototype.init=function(){var t=this;this.container=this.getGeometry().labelsContainer,this.plot.view.on("beforerender",(function(){t.clear(),t.plot.canvas.draw()}))},t.prototype.render=function(){this.clear(),this.initArcPoints(),this.drawTexts(),this.drawLines()},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.hide=function(){this.container.set("visible",!1),this.plot.canvas.draw()},t.prototype.show=function(){this.container.set("visible",!0),this.plot.canvas.draw()},t.prototype.destroy=function(){this.container&&this.container.remove(),this.destroyed=!0},t.prototype.getFilteredSum=function(){var t=this.plot.options.angleField;return(this.plot.view.filteredData||[]).reduce((function(e,i){return e+i[t]}),0)},t.prototype.drawTexts=function(){var t=this,e=this.options,i=e.style,n=e.formatter,r=e.autoRotate,s=e.offsetX,l=e.offsetY,u=e.adjustPosition,c=e.allowOverlap,h=this.getItems(),p=[];h.map((function(e,r){var a=o.deepMix({},e,i),u=t.getFilteredSum(),c=t.plot.options.angleField,h=e.origin[c]/u,f=n?n(e.name,{_origin:e.origin,percent:h},r):e.name,d=t.container.addGroup({name:"itemGroup",index:r,capture:!1}).addShape("text",{attrs:o.deepMix({},a,{x:e.x+s,y:e.y+l,text:f})});d.set("id","text-"+e.name+"-"+r),p.push(d)})),p.forEach((function(e){var i=t.coordinateBBox;t.adjustText(e,i)})),u&&this.layout(p,h,this.coordinateBBox),c||this.adjustOverlap(p,this.coordinateBBox),p.forEach((function(e,i){r&&t.rotateLabel(e,a.getLabelRotate(h[i].angle))}))},t.prototype.adjustText=function(t,e){var i=t.getBBox(),n=i.width;if(i.maxX>e.maxX?n=e.maxX-i.minX:i.minX4?4:0,u=t.getLinePath(o,a,l),c=t.options.line;e.addShape("path",{attrs:n.__assign({path:u,stroke:a.color},c)}),o.attr("x",o.attr("x")+(s?-l:l))}))}},t.prototype.getLinePath=function(t,e,i){var n=!!this.options.line&&this.options.line.smooth,r=e.angle,o=this.getCoordinate(),s=o.center,l=o.radius,u=a.getEndPoint(s,r,l+i);i<4&&(u=e);var c=e.xr.x?"left":"right";return{x:d.x,y:d.y,color:c,name:g,origin:h,angle:a.getAngleByPoint(t.getGeometry().coordinate,d),textAlign:y}}));this.arcPoints=c},t}();e.default=u},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.WEEKS=e.MONTHS=e.FORMATTER=e.IS_MONTH_CENTER_FIELD=e.DATE_FIELD=e.WEEK_FIELD=e.DAY_FIELD=void 0,e.DAY_FIELD="$$day$$",e.WEEK_FIELD="$$week$$",e.DATE_FIELD="$$date$$",e.IS_MONTH_CENTER_FIELD="$$is_month_center$$",e.FORMATTER="YYYY-MM-DD",e.MONTHS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],e.WEEKS=["S","M","T","W","T","F","S"]},function(t,e,i){"use strict";i.r(e),i.d(e,"create",(function(){return r})),i.d(e,"clone",(function(){return o})),i.d(e,"length",(function(){return a})),i.d(e,"fromValues",(function(){return s})),i.d(e,"copy",(function(){return l})),i.d(e,"set",(function(){return u})),i.d(e,"add",(function(){return c})),i.d(e,"subtract",(function(){return h})),i.d(e,"multiply",(function(){return p})),i.d(e,"divide",(function(){return f})),i.d(e,"ceil",(function(){return d})),i.d(e,"floor",(function(){return g})),i.d(e,"min",(function(){return y})),i.d(e,"max",(function(){return v})),i.d(e,"round",(function(){return m})),i.d(e,"scale",(function(){return x})),i.d(e,"scaleAndAdd",(function(){return b})),i.d(e,"distance",(function(){return _})),i.d(e,"squaredDistance",(function(){return O})),i.d(e,"squaredLength",(function(){return w})),i.d(e,"negate",(function(){return M})),i.d(e,"inverse",(function(){return C})),i.d(e,"normalize",(function(){return S})),i.d(e,"dot",(function(){return j})),i.d(e,"cross",(function(){return P})),i.d(e,"lerp",(function(){return T})),i.d(e,"hermite",(function(){return A})),i.d(e,"bezier",(function(){return E})),i.d(e,"random",(function(){return L})),i.d(e,"transformMat4",(function(){return I})),i.d(e,"transformMat3",(function(){return D})),i.d(e,"transformQuat",(function(){return k})),i.d(e,"rotateX",(function(){return B})),i.d(e,"rotateY",(function(){return F})),i.d(e,"rotateZ",(function(){return R})),i.d(e,"angle",(function(){return N})),i.d(e,"zero",(function(){return Y})),i.d(e,"str",(function(){return G})),i.d(e,"exactEquals",(function(){return X})),i.d(e,"equals",(function(){return V})),i.d(e,"sub",(function(){return H})),i.d(e,"mul",(function(){return W})),i.d(e,"div",(function(){return q})),i.d(e,"dist",(function(){return U})),i.d(e,"sqrDist",(function(){return K})),i.d(e,"len",(function(){return Z})),i.d(e,"sqrLen",(function(){return $})),i.d(e,"forEach",(function(){return Q}));var n=i(9);function r(){var t=new n.a(3);return n.a!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function o(t){var e=new n.a(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}function a(t){var e=t[0],i=t[1],n=t[2];return Math.hypot(e,i,n)}function s(t,e,i){var r=new n.a(3);return r[0]=t,r[1]=e,r[2]=i,r}function l(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function u(t,e,i,n){return t[0]=e,t[1]=i,t[2]=n,t}function c(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}function h(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t}function p(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t[2]=e[2]*i[2],t}function f(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t[2]=e[2]/i[2],t}function d(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}function g(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}function y(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t[2]=Math.min(e[2],i[2]),t}function v(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t[2]=Math.max(e[2],i[2]),t}function m(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}function x(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i,t}function b(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t[2]=e[2]+i[2]*n,t}function _(t,e){var i=e[0]-t[0],n=e[1]-t[1],r=e[2]-t[2];return Math.hypot(i,n,r)}function O(t,e){var i=e[0]-t[0],n=e[1]-t[1],r=e[2]-t[2];return i*i+n*n+r*r}function w(t){var e=t[0],i=t[1],n=t[2];return e*e+i*i+n*n}function M(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t}function C(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t}function S(t,e){var i=e[0],n=e[1],r=e[2],o=i*i+n*n+r*r;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}function j(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function P(t,e,i){var n=e[0],r=e[1],o=e[2],a=i[0],s=i[1],l=i[2];return t[0]=r*l-o*s,t[1]=o*a-n*l,t[2]=n*s-r*a,t}function T(t,e,i,n){var r=e[0],o=e[1],a=e[2];return t[0]=r+n*(i[0]-r),t[1]=o+n*(i[1]-o),t[2]=a+n*(i[2]-a),t}function A(t,e,i,n,r,o){var a=o*o,s=a*(2*o-3)+1,l=a*(o-2)+o,u=a*(o-1),c=a*(3-2*o);return t[0]=e[0]*s+i[0]*l+n[0]*u+r[0]*c,t[1]=e[1]*s+i[1]*l+n[1]*u+r[1]*c,t[2]=e[2]*s+i[2]*l+n[2]*u+r[2]*c,t}function E(t,e,i,n,r,o){var a=1-o,s=a*a,l=o*o,u=s*a,c=3*o*s,h=3*l*a,p=l*o;return t[0]=e[0]*u+i[0]*c+n[0]*h+r[0]*p,t[1]=e[1]*u+i[1]*c+n[1]*h+r[1]*p,t[2]=e[2]*u+i[2]*c+n[2]*h+r[2]*p,t}function L(t,e){e=e||1;var i=2*n.c()*Math.PI,r=2*n.c()-1,o=Math.sqrt(1-r*r)*e;return t[0]=Math.cos(i)*o,t[1]=Math.sin(i)*o,t[2]=r*e,t}function I(t,e,i){var n=e[0],r=e[1],o=e[2],a=i[3]*n+i[7]*r+i[11]*o+i[15];return a=a||1,t[0]=(i[0]*n+i[4]*r+i[8]*o+i[12])/a,t[1]=(i[1]*n+i[5]*r+i[9]*o+i[13])/a,t[2]=(i[2]*n+i[6]*r+i[10]*o+i[14])/a,t}function D(t,e,i){var n=e[0],r=e[1],o=e[2];return t[0]=n*i[0]+r*i[3]+o*i[6],t[1]=n*i[1]+r*i[4]+o*i[7],t[2]=n*i[2]+r*i[5]+o*i[8],t}function k(t,e,i){var n=i[0],r=i[1],o=i[2],a=i[3],s=e[0],l=e[1],u=e[2],c=r*u-o*l,h=o*s-n*u,p=n*l-r*s,f=r*p-o*h,d=o*c-n*p,g=n*h-r*c,y=2*a;return c*=y,h*=y,p*=y,f*=2,d*=2,g*=2,t[0]=s+c+f,t[1]=l+h+d,t[2]=u+p+g,t}function B(t,e,i,n){var r=[],o=[];return r[0]=e[0]-i[0],r[1]=e[1]-i[1],r[2]=e[2]-i[2],o[0]=r[0],o[1]=r[1]*Math.cos(n)-r[2]*Math.sin(n),o[2]=r[1]*Math.sin(n)+r[2]*Math.cos(n),t[0]=o[0]+i[0],t[1]=o[1]+i[1],t[2]=o[2]+i[2],t}function F(t,e,i,n){var r=[],o=[];return r[0]=e[0]-i[0],r[1]=e[1]-i[1],r[2]=e[2]-i[2],o[0]=r[2]*Math.sin(n)+r[0]*Math.cos(n),o[1]=r[1],o[2]=r[2]*Math.cos(n)-r[0]*Math.sin(n),t[0]=o[0]+i[0],t[1]=o[1]+i[1],t[2]=o[2]+i[2],t}function R(t,e,i,n){var r=[],o=[];return r[0]=e[0]-i[0],r[1]=e[1]-i[1],r[2]=e[2]-i[2],o[0]=r[0]*Math.cos(n)-r[1]*Math.sin(n),o[1]=r[0]*Math.sin(n)+r[1]*Math.cos(n),o[2]=r[2],t[0]=o[0]+i[0],t[1]=o[1]+i[1],t[2]=o[2]+i[2],t}function N(t,e){var i=t[0],n=t[1],r=t[2],o=e[0],a=e[1],s=e[2],l=Math.sqrt(i*i+n*n+r*r)*Math.sqrt(o*o+a*a+s*s),u=l&&j(t,e)/l;return Math.acos(Math.min(Math.max(u,-1),1))}function Y(t){return t[0]=0,t[1]=0,t[2]=0,t}function G(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"}function X(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}function V(t,e){var i=t[0],r=t[1],o=t[2],a=e[0],s=e[1],l=e[2];return Math.abs(i-a)<=n.b*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(r-s)<=n.b*Math.max(1,Math.abs(r),Math.abs(s))&&Math.abs(o-l)<=n.b*Math.max(1,Math.abs(o),Math.abs(l))}var z,H=h,W=p,q=f,U=_,K=O,Z=a,$=w,Q=(z=r(),function(t,e,i,n,r,o){var a,s;for(e||(e=3),i||(i=0),s=n?Math.min(n*e+i,t.length):t.length,a=i;a=0&&s<.5*Math.PI?(n={x:c.minX,y:c.minY},o={x:c.maxX,y:c.maxY}):.5*Math.PI<=s&&s1?e*r+o(e,i)*(r-1):e},e.getLineSpaceing=o,e.getTextWidth=function(t,e){var i=r.getOffScreenContext(),o=0;if(n.isNil(t)||""===t)return o;if(i.save(),i.font=e,n.isString(t)&&t.includes("\n")){var a=t.split("\n");n.each(a,(function(t){var e=i.measureText(t).width;o=0){i=!0;break}}if(!i)return e;var l=[],u=0,c=0,h=0,p=0,f=0,d=e[0];"M"!==d[0]&&"m"!==d[0]||(h=u=+d[1],p=c=+d[2],f++,l[0]=["M",u,c]),a=f;for(var g=e.length;an;n+=2){var o=[{x:+t[n-2],y:+t[n-1]},{x:+t[n],y:+t[n+1]},{x:+t[n+2],y:+t[n+3]},{x:+t[n+4],y:+t[n+5]}];e?n?r-4===n?o[3]={x:+t[0],y:+t[1]}:r-2===n&&(o[2]={x:+t[0],y:+t[1]},o[3]={x:+t[2],y:+t[3]}):o[0]={x:+t[r-2],y:+t[r-1]}:r-4===n?o[3]=o[2]:n||(o[0]={x:+t[n],y:+t[n+1]}),i.push(["C",(-o[0].x+6*o[1].x+o[2].x)/6,(-o[0].y+6*o[1].y+o[2].y)/6,(o[1].x+6*o[2].x-o[3].x)/6,(o[1].y+6*o[2].y-o[3].y)/6,o[2].x,o[2].y])}return i}i(182);i(0);var a="\t\n\v\f\r   ᠎              \u2028\u2029",s=new RegExp("([a-z])["+a+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+a+"]*,?["+a+"]*)+)","ig"),l=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+a+"]*,?["+a+"]*","ig");function u(t){if(!t)return null;if(r()(t))return t;var e={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},i=[];return String(t).replace(s,(function(t,n,r){var o=[],a=n.toLowerCase();if(r.replace(l,(function(t,e){e&&o.push(+e)})),"m"===a&&o.length>2&&(i.push([n].concat(o.splice(0,2))),a="l",n="m"===n?"l":"L"),"o"===a&&1===o.length&&i.push([n,o[0]]),"r"===a)i.push([n].concat(o));else for(;o.length>=e[a]&&(i.push([n].concat(o.splice(0,e[a]))),e[a]););return""})),i}i(47),i(48)},function(t,e,i){"use strict";function n(t){return+t}function r(t){return t*t}function o(t){return t*(2-t)}function a(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}i.r(e),i.d(e,"easeLinear",(function(){return n})),i.d(e,"easeQuad",(function(){return a})),i.d(e,"easeQuadIn",(function(){return r})),i.d(e,"easeQuadOut",(function(){return o})),i.d(e,"easeQuadInOut",(function(){return a})),i.d(e,"easeCubic",(function(){return s.b})),i.d(e,"easeCubicIn",(function(){return s.a})),i.d(e,"easeCubicOut",(function(){return s.c})),i.d(e,"easeCubicInOut",(function(){return s.b})),i.d(e,"easePoly",(function(){return c})),i.d(e,"easePolyIn",(function(){return l})),i.d(e,"easePolyOut",(function(){return u})),i.d(e,"easePolyInOut",(function(){return c})),i.d(e,"easeSin",(function(){return g})),i.d(e,"easeSinIn",(function(){return f})),i.d(e,"easeSinOut",(function(){return d})),i.d(e,"easeSinInOut",(function(){return g})),i.d(e,"easeExp",(function(){return x})),i.d(e,"easeExpIn",(function(){return v})),i.d(e,"easeExpOut",(function(){return m})),i.d(e,"easeExpInOut",(function(){return x})),i.d(e,"easeCircle",(function(){return O})),i.d(e,"easeCircleIn",(function(){return b})),i.d(e,"easeCircleOut",(function(){return _})),i.d(e,"easeCircleInOut",(function(){return O})),i.d(e,"easeBounce",(function(){return C})),i.d(e,"easeBounceIn",(function(){return M})),i.d(e,"easeBounceOut",(function(){return C})),i.d(e,"easeBounceInOut",(function(){return S})),i.d(e,"easeBack",(function(){return T})),i.d(e,"easeBackIn",(function(){return j})),i.d(e,"easeBackOut",(function(){return P})),i.d(e,"easeBackInOut",(function(){return T})),i.d(e,"easeElastic",(function(){return L})),i.d(e,"easeElasticIn",(function(){return E})),i.d(e,"easeElasticOut",(function(){return L})),i.d(e,"easeElasticInOut",(function(){return I}));var s=i(51),l=function t(e){function i(t){return Math.pow(t,e)}return e=+e,i.exponent=t,i}(3),u=function t(e){function i(t){return 1-Math.pow(1-t,e)}return e=+e,i.exponent=t,i}(3),c=function t(e){function i(t){return((t*=2)<=1?Math.pow(t,e):2-Math.pow(2-t,e))/2}return e=+e,i.exponent=t,i}(3),h=Math.PI,p=h/2;function f(t){return 1==+t?1:1-Math.cos(t*p)}function d(t){return Math.sin(t*p)}function g(t){return(1-Math.cos(h*t))/2}function y(t){return 1.0009775171065494*(Math.pow(2,-10*t)-.0009765625)}function v(t){return y(1-+t)}function m(t){return 1-y(t)}function x(t){return((t*=2)<=1?y(1-t):2-y(t-1))/2}function b(t){return 1-Math.sqrt(1-t*t)}function _(t){return Math.sqrt(1- --t*t)}function O(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var w=7.5625;function M(t){return 1-C(1-t)}function C(t){return(t=+t)<4/11?w*t*t:t<8/11?w*(t-=6/11)*t+3/4:t<10/11?w*(t-=9/11)*t+15/16:w*(t-=21/22)*t+63/64}function S(t){return((t*=2)<=1?1-C(1-t):C(t-1)+1)/2}var j=function t(e){function i(t){return(t=+t)*t*(e*(t-1)+t)}return e=+e,i.overshoot=t,i}(1.70158),P=function t(e){function i(t){return--t*t*((t+1)*e+t)+1}return e=+e,i.overshoot=t,i}(1.70158),T=function t(e){function i(t){return((t*=2)<1?t*t*((e+1)*t-e):(t-=2)*t*((e+1)*t+e)+2)/2}return e=+e,i.overshoot=t,i}(1.70158),A=2*Math.PI,E=function t(e,i){var n=Math.asin(1/(e=Math.max(1,e)))*(i/=A);function r(t){return e*y(- --t)*Math.sin((n-t)/i)}return r.amplitude=function(e){return t(e,i*A)},r.period=function(i){return t(e,i)},r}(1,.3),L=function t(e,i){var n=Math.asin(1/(e=Math.max(1,e)))*(i/=A);function r(t){return 1-e*y(t=+t)*Math.sin((t+n)/i)}return r.amplitude=function(e){return t(e,i*A)},r.period=function(i){return t(e,i)},r}(1,.3),I=function t(e,i){var n=Math.asin(1/(e=Math.max(1,e)))*(i/=A);function r(t){return((t=2*t-1)<0?e*y(-t)*Math.sin((n-t)/i):2-e*y(t)*Math.sin((n+t)/i))/2}return r.amplitude=function(e){return t(e,i*A)},r.period=function(i){return t(e,i)},r}(1,.3)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n={}.toString;e.default=function(t,e){return n.call(t)==="[object "+e+"]"}},function(t,e,i){"use strict";function n(t,e){for(var i in e)e.hasOwnProperty(i)&&"constructor"!==i&&void 0!==e[i]&&(t[i]=e[i])}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t,e,i,r){return e&&n(t,e),i&&n(t,i),r&&n(t,r),t}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(195);e.default=function(t){var e=n.default(t);return e.charAt(0).toUpperCase()+e.substring(1)}},function(t,e,i){"use strict";i.r(e),i.d(e,"create",(function(){return r})),i.d(e,"clone",(function(){return o})),i.d(e,"fromValues",(function(){return a})),i.d(e,"copy",(function(){return s})),i.d(e,"set",(function(){return l})),i.d(e,"add",(function(){return u})),i.d(e,"subtract",(function(){return c})),i.d(e,"multiply",(function(){return h})),i.d(e,"divide",(function(){return p})),i.d(e,"ceil",(function(){return f})),i.d(e,"floor",(function(){return d})),i.d(e,"min",(function(){return g})),i.d(e,"max",(function(){return y})),i.d(e,"round",(function(){return v})),i.d(e,"scale",(function(){return m})),i.d(e,"scaleAndAdd",(function(){return x})),i.d(e,"distance",(function(){return b})),i.d(e,"squaredDistance",(function(){return _})),i.d(e,"length",(function(){return O})),i.d(e,"squaredLength",(function(){return w})),i.d(e,"negate",(function(){return M})),i.d(e,"inverse",(function(){return C})),i.d(e,"normalize",(function(){return S})),i.d(e,"dot",(function(){return j})),i.d(e,"cross",(function(){return P})),i.d(e,"lerp",(function(){return T})),i.d(e,"random",(function(){return A})),i.d(e,"transformMat2",(function(){return E})),i.d(e,"transformMat2d",(function(){return L})),i.d(e,"transformMat3",(function(){return I})),i.d(e,"transformMat4",(function(){return D})),i.d(e,"rotate",(function(){return k})),i.d(e,"angle",(function(){return B})),i.d(e,"zero",(function(){return F})),i.d(e,"str",(function(){return R})),i.d(e,"exactEquals",(function(){return N})),i.d(e,"equals",(function(){return Y})),i.d(e,"len",(function(){return X})),i.d(e,"sub",(function(){return V})),i.d(e,"mul",(function(){return z})),i.d(e,"div",(function(){return H})),i.d(e,"dist",(function(){return W})),i.d(e,"sqrDist",(function(){return q})),i.d(e,"sqrLen",(function(){return U})),i.d(e,"forEach",(function(){return K}));var n=i(9);function r(){var t=new n.a(2);return n.a!=Float32Array&&(t[0]=0,t[1]=0),t}function o(t){var e=new n.a(2);return e[0]=t[0],e[1]=t[1],e}function a(t,e){var i=new n.a(2);return i[0]=t,i[1]=e,i}function s(t,e){return t[0]=e[0],t[1]=e[1],t}function l(t,e,i){return t[0]=e,t[1]=i,t}function u(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t}function c(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t}function h(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t}function p(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t}function f(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t}function d(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t}function g(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t}function y(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t}function v(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t}function m(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function x(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t}function b(t,e){var i=e[0]-t[0],n=e[1]-t[1];return Math.hypot(i,n)}function _(t,e){var i=e[0]-t[0],n=e[1]-t[1];return i*i+n*n}function O(t){var e=t[0],i=t[1];return Math.hypot(e,i)}function w(t){var e=t[0],i=t[1];return e*e+i*i}function M(t,e){return t[0]=-e[0],t[1]=-e[1],t}function C(t,e){return t[0]=1/e[0],t[1]=1/e[1],t}function S(t,e){var i=e[0],n=e[1],r=i*i+n*n;return r>0&&(r=1/Math.sqrt(r)),t[0]=e[0]*r,t[1]=e[1]*r,t}function j(t,e){return t[0]*e[0]+t[1]*e[1]}function P(t,e,i){var n=e[0]*i[1]-e[1]*i[0];return t[0]=t[1]=0,t[2]=n,t}function T(t,e,i,n){var r=e[0],o=e[1];return t[0]=r+n*(i[0]-r),t[1]=o+n*(i[1]-o),t}function A(t,e){e=e||1;var i=2*n.c()*Math.PI;return t[0]=Math.cos(i)*e,t[1]=Math.sin(i)*e,t}function E(t,e,i){var n=e[0],r=e[1];return t[0]=i[0]*n+i[2]*r,t[1]=i[1]*n+i[3]*r,t}function L(t,e,i){var n=e[0],r=e[1];return t[0]=i[0]*n+i[2]*r+i[4],t[1]=i[1]*n+i[3]*r+i[5],t}function I(t,e,i){var n=e[0],r=e[1];return t[0]=i[0]*n+i[3]*r+i[6],t[1]=i[1]*n+i[4]*r+i[7],t}function D(t,e,i){var n=e[0],r=e[1];return t[0]=i[0]*n+i[4]*r+i[12],t[1]=i[1]*n+i[5]*r+i[13],t}function k(t,e,i,n){var r=e[0]-i[0],o=e[1]-i[1],a=Math.sin(n),s=Math.cos(n);return t[0]=r*s-o*a+i[0],t[1]=r*a+o*s+i[1],t}function B(t,e){var i=t[0],n=t[1],r=e[0],o=e[1],a=Math.sqrt(i*i+n*n)*Math.sqrt(r*r+o*o),s=a&&(i*r+n*o)/a;return Math.acos(Math.min(Math.max(s,-1),1))}function F(t){return t[0]=0,t[1]=0,t}function R(t){return"vec2("+t[0]+", "+t[1]+")"}function N(t,e){return t[0]===e[0]&&t[1]===e[1]}function Y(t,e){var i=t[0],r=t[1],o=e[0],a=e[1];return Math.abs(i-o)<=n.b*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(r-a)<=n.b*Math.max(1,Math.abs(r),Math.abs(a))}var G,X=O,V=c,z=h,H=p,W=b,q=_,U=w,K=(G=r(),function(t,e,i,n,r,o){var a,s;for(e||(e=2),i||(i=0),s=n?Math.min(n*e+i,t.length):t.length,a=i;at.x?t.x:e,i=it.y?t.y:r,o=o=s[c]?1:0,f=h>Math.PI?1:0,d=i.convertPoint(l),g=o(i,d);if(g>=.5)if(h===2*Math.PI){var y={x:(l.x+s.x)/2,y:(l.y+s.y)/2},v=i.convertPoint(y);u.push(["A",g,g,0,f,p,v.x,v.y]),u.push(["A",g,g,0,f,p,d.x,d.y])}else u.push(["A",g,g,0,f,p,d.x,d.y]);return u}(i,n,t)):l.push(a(r,t));break;case"z":default:l.push(r)}})),function(t){r.each(t,(function(e,i){if("a"===e[0].toLowerCase()){var n=t[i-1],r=t[i+1];r&&"a"===r[0].toLowerCase()?n&&"l"===n[0].toLowerCase()&&(n[0]="M"):n&&"a"===n[0].toLowerCase()&&r&&"l"===r[0].toLowerCase()&&(r[0]="M")}}))}(l),l}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.init=function(){var t=this.plot.options;this.config={type:"line",position:{fields:[t.xField,t.yField]},connectNulls:t.connectNulls},t.lineSize&&this.parseSize(),t.smooth&&(this.config.shape={values:["smooth"]}),t.step&&(this.config.shape={values:[t.step]}),(t.seriesField||t.color)&&this.parseColor(),(t.lineStyle||r.get(t,["line","style"]))&&this.parseStyle()},e.prototype.parseSize=function(){var t=this.plot.options.lineSize,e={};r.isFunction(t)?e.callback=t:e.values=[t],this.config.size=e},e.prototype.parseColor=function(){var t=this.plot.options,e={};if(t.seriesField&&(e.fields=[t.seriesField]),r.has(t,"color")){var i=t.color;r.isString(i)?e.values=[i]:r.isFunction(i)?e.callback=i:r.isArray(i)&&(t.seriesField?e.values=i:i.length>0&&(e.values=[i[0]]))}this.config.color=e},e.prototype.parseStyle=function(){var t=this.plot.options,e=t.lineStyle||r.get(t,["line","style"]),i={fields:null,callback:null,cfg:null};r.isFunction(e)&&t.seriesField?(i.fields=[t.seriesField],i.callback=e):i.cfg=e,this.config.style=i},e}(n.__importDefault(i(56)).default);e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(8),a=n.__importStar(i(20)),s=i(38),l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.getDefaultOptions=function(){var t=this.layer.theme.label,e=void 0===t?{}:t;return n.__assign({offsetX:0,offsetY:0},e)},e.prototype.getLabelOffset=function(){return this.getLabelOffsetByDimAndFactor("y",-1)},e.prototype.getLabelItemAttrs=function(t,e){var i=this,a=this.options,s=a.style,l=a.formatter,u=r.get(t,"model.mappingData",[]);return r.map(u,(function(r,a){var u,c=i.getValue(r);return n.__assign(n.__assign(n.__assign({},i.getPosition(r)),{text:l?l(c,(u={},u[o._ORIGIN]=r._origin,u.mappingDatum=r,u.mappingDatumIndex=a,u.element=t,u.elementIndex=e,u),e):c,textAlign:"center",textBaseline:"middle"}),s)}))},e.prototype.getValue=function(t){return r.get(t._origin,this.layer.options.yField)},e.prototype.getPosition=function(t){return{x:r.isArray(t.x)?r.last(t.x):t.x,y:r.isArray(t.y)?r.last(t.y):t.y}},e.prototype.layoutLabels=function(t,e){var i=this;if(this.options.adjustPosition){var n=this.isOverlapped(e);if(n){var o=this.getGlobalTolerance(e);r.each(e,(function(t,n){n>1&&i.labelResamplingByChange(t,e,n,o)}))}(n=this.isOverlapped(e))&&r.each(e,(function(t,n){t.get("visible")&&i.clearOverlapping(t,e,n)}))}},e.prototype.adjustLabel=function(){},e.prototype.labelResamplingByChange=function(t,e,i,n){var r=this.findPrevious(i,e),o=this.getCenter(t),a=this.getCenter(r),s=a.x-o.x,l=a.y-o.y;Math.sqrt(s*s+l*l)0&&(n.push(t),n.sort((function(t,e){return e.minY-t.minY})),r.each(n,(function(t,e){e>0&&t.set("visible",!1)})))},e.prototype.isOverlapped=function(t){for(var e=0;e0;i--)if(e[i].get("visible"))return e[i]},e.prototype.getCenter=function(t){var e=t.getBBox(),i=e.minX,n=e.maxX,r=e.minY;return{x:i+(n-i)/2,y:r+(e.maxY-r)/2}},e}(a.default);e.default=l,a.registerLabelComponent("point",l)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_BAR_THEME=void 0;var n=i(11);e.DEFAULT_BAR_THEME={label:{darkStyle:{fill:"#2c3542",stroke:"#ffffff",fillOpacity:.85},lightStyle:{fill:"#ffffff",stroke:"#ffffff",fillOpacity:1}},columnStyle:{normal:{},active:function(t){return{opacity:.5*(t.opacity||1)}},disable:function(t){return{opacity:.5*(t.opacity||1)}},selected:{lineWidth:1,stroke:"black"}}},n.registerTheme("bar",e.DEFAULT_BAR_THEME)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(8),a=n.__importStar(i(20)),s=i(28),l=n.__importDefault(i(13)),u=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.getLabelItemAttrs=function(t,e){var i,a=this.options,s=a.style,l=a.formatter,u=[].concat(t.getModel().mappingData),c=this.getValue(t);return r.deepMix({},s,n.__assign(n.__assign({},this.getPosition(t)),{text:l?l(c,(i={},i[o._ORIGIN]=u[0]._origin,i.mappingDatum=u[0],i.mappingDatumIndex=0,i.element=t,i.elementIndex=e,i),e):c,fill:this.getTextFill(t),stroke:this.getTextStroke(t),textAlign:this.getTextAlign(t),textBaseline:this.getTextBaseline()}))},e.prototype.adjustLabel=function(t,e){var i=this.options,n=i.adjustPosition,r=i.style;if(n){var o=this.getDefaultOffset(),a=t.getBBox(),s=this.getElementShapeBBox(e);if(s.width<=a.width){var l=s.maxX+this.options.offsetX+o;t.attr("x",l),t.attr("fill",r.fill)}}},e.prototype.getDefaultOptions=function(){var t=this.layer.theme.label,e=void 0===t?{}:t;return n.__assign({offsetX:0,offsetY:0,adjustPosition:!0},e)},e.prototype.getValue=function(t){return r.get(t.getData(),this.layer.options.xField)},e.prototype.getPosition=function(t){var e,i=this.getDefaultOffset(),n=this.getValue(t),r=this.getElementShapeBBox(t),o=r.minX,a=r.maxX,s=r.minY,l=r.height,u=r.width,c=this.options,h=c.offsetX,p=c.offsetY,f=c.position,d=n<0?-1:1;if("left"===f)e=(n>0?o:a)+i*d+h;else if("right"===f){e=(n>0?a:o)+i*d+h}else e=o+u/2+h;return{x:e,y:s+l/2+p}},e.prototype.getTextFill=function(t){var e=t.shape;if(this.options.adjustColor&&"right"!==this.options.position){var i=e.attr("fill"),n=e.attr("opacity")?e.attr("opacity"):1,r=s.rgb2arr(i),o=Math.round(.299*r[0]+.587*r[1]+.114*r[2])/n;return s.mappingColor([{from:0,to:85,color:"white"},{from:85,to:170,color:"#F6F6F6"},{from:170,to:255,color:"black"}],o)}return this.options.style.fill},e.prototype.getTextStroke=function(t){var e=this.getTextFill(t),i=this.options,n=i.position,r=i.adjustColor;return"right"!==n&&r&&"black"!==e?null:void 0},e.prototype.getTextAlign=function(t){var e=this.getValue(t),i=this.options.position;return e<0?{right:"right",left:"right",middle:"center"}[i]:{right:"left",left:"left",middle:"center"}[i]},e.prototype.getTextBaseline=function(){return"middle"},e.prototype.getElementShapeBBox=function(t){var e=this,i=t.shape,n=[];r.each(i.get("origin").points,(function(t){n.push(e.coord.convertPoint(t))}));var o=n.map((function(t){return t.x})),a=Math.min.apply(Math,o),s=Math.max.apply(Math,o),u=n.map((function(t){return t.y})),c=Math.min.apply(Math,u),h=Math.max.apply(Math,u);return new l.default(a,c,s-a,h-c)},e.prototype.getLabelOffset=function(){return{x:0,y:0}},e}(a.default);e.default=u,a.registerLabelComponent("bar",u)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(68));i(320),i(321),i(322);var s=i(25),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="stackedBar",e.baseType="bar",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{xAxis:{visible:!0,autoRotateTitle:!1,grid:{visible:!0},line:{visible:!1},tickLine:{visible:!0},label:{visible:!0,autoRotate:!0,autoHide:!0},title:{visible:!0,spacing:12}},yAxis:{visible:!0,autoRotateTitle:!0,grid:{visible:!1},line:{visible:!1},tickLine:{visible:!1},label:{visible:!0,autoRotate:!0,autoHide:!0},title:{visible:!1,spacing:12}},legend:{visible:!0,position:"top-left",offsetY:0}})},e.prototype.getColorScale=function(){var t=this.options.stackField;return this.view.getScaleByField(t)},e.prototype.adjustBar=function(t){t.adjust=[{type:"stack"}]},e.prototype.renderLabel=function(){var t=this.config.scales,e=this.options,i=e.label,r=t[e.xField];if(null==i?void 0:i.visible){var o=s.getGeometryByType(this.view,"interval");this.doRenderLabel(o,n.__assign({type:"stacked-bar",formatter:r.formatter&&function(t){return r.formatter(t)}},this.options.label))}},e.prototype.geometryTooltip=function(){this.bar.tooltip={};var t=this.options.tooltip;t.fields&&(this.bar.tooltip.fields=t.fields),t.formatter&&(this.bar.tooltip.callback=t.formatter,t.fields||(this.bar.tooltip.fields=[this.options.xField,this.options.yField,this.options.stackField]))},e}(a.default);e.default=l,o.registerPlotType("stackedBar",l)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.transformDataPercentage=void 0;var n=i(1),r=i(0);e.transformDataPercentage=function(t,e,i){var o=r.groupBy(t,e);o=r.mapValues(o,(function(t){return r.map(t,(function(t){return r.map(i,(function(e){return t[e]}))}))})),o=r.mapValues(o,r.flatten),o=r.mapValues(o,(function(t){return r.map(t,(function(t){var e=Number.parseFloat(t);return!r.isNumber(e)||isNaN(e)?0:e}))}));var a=r.mapValues(o,(function(t){return r.reduce(t,(function(t,e){return t+e}),0)})),s=r.map(t,(function(t){var o=n.__assign(n.__assign({},t),{_origin:t,total:a[t[e]]});return r.each(i,(function(i){o[i]=t[i]/(a[t[e]]||1)})),o}));return r.each(r.groupBy(s,e),(function(t){var e=0;r.each(t,(function(n,o){r.each(i,(function(r,a){(e+n[r]>=1||o===t.length-1&&a===i.length-1&&e>0)&&(n[r]=1-e),e+=n[r]}))}))})),s}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(15)),s=i(17);i(165),i(166);var l=i(27),u=n.__importDefault(i(331)),c=n.__importStar(i(333));i(167);var h=i(25),p={area:"area",line:"line",point:"point"},f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="area",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{smooth:!1,areaStyle:{opacity:.25},line:{visible:!0,size:2,style:{opacity:1,lineJoin:"round",lineCap:"round"}},point:{visible:!1,size:4,shape:"point"},label:{visible:!1,type:"point"},legend:{visible:!0,position:"top-left",wordSpacing:4},tooltip:{visible:!0,shared:!0,showCrosshairs:!0,crosshairs:{type:"x"},offset:20}})},e.prototype.beforeInit=function(){t.prototype.beforeInit.call(this),this.options.responsive&&"auto"!==this.options.padding&&this.applyResponsive("preRender")},e.prototype.afterRender=function(){this.renderLabel(),this.options.responsive&&"auto"!==this.options.padding&&this.applyResponsive("afterRender"),t.prototype.afterRender.call(this)},e.prototype.geometryParser=function(t,e){return p[e]},e.prototype.scale=function(){var e=this.options,i={};i[e.xField]={type:"cat"},r.has(e,"xAxis")&&l.extractScale(i[e.xField],e.xAxis),i[e.yField]={},r.has(e,"yAxis")&&l.extractScale(i[e.yField],e.yAxis),this.setConfig("scales",i),t.prototype.scale.call(this)},e.prototype.coord=function(){return null},e.prototype.addGeometry=function(){var t=this.options,e=s.getGeom("area","main",{plot:this});this.area=e,t.label&&this.label(),t.tooltip&&(t.tooltip.fields||t.tooltip.formatter)&&this.geometryTooltip(),this.adjustArea(e),this.setConfig("geometry",e),this.addLine(),this.addPoint()},e.prototype.adjustArea=function(t){},e.prototype.adjustLine=function(t){},e.prototype.adjustPoint=function(t){},e.prototype.addLine=function(){var t=this.options,e=r.deepMix({},t.line);if(e.visible){var i=s.getGeom("line","guide",{type:"line",plot:this,line:e});this.adjustLine(i),this.setConfig("geometry",i),this.line=i}},e.prototype.addPoint=function(){var t=this.options;if(r.deepMix({},t.point).visible){var e=s.getGeom("point","guide",{plot:this});this.adjustPoint(e),this.setConfig("geometry",e),this.point=e}},e.prototype.renderLabel=function(){var t=this.config.scales,e=this.options,i=e.label,r=t[e.yField];if(i.visible){var o=h.getGeometryByType(this.view,"area");this.doRenderLabel(o,n.__assign({type:"area-point",formatter:r.formatter&&function(t){return r.formatter(t)}},this.options.label))}},e.prototype.animation=function(){t.prototype.animation.call(this),!1===this.options.animation&&(this.area.animate=!1,this.line&&(this.line.animate=!1),this.point&&(this.point.animate=!1))},e.prototype.label=function(){},e.prototype.geometryTooltip=function(){this.area.tooltip={};var t=this.options.tooltip;t.fields&&(this.area.tooltip.fields=t.fields),t.formatter&&(this.area.tooltip.callback=t.formatter,t.fields||(this.area.tooltip.fields=[this.options.xField,this.options.yField],this.options.seriesField&&this.area.tooltip.fields.push(this.options.seriesField)))},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,c)},e.prototype.applyResponsive=function(t){var e=this,i=u.default[t];r.each(i,(function(t){t.method(e)}))},e}(a.default);e.default=f,o.registerPlotType("area",f)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(97)),s=i(335);i(338),i(339),i(340);var l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.plotComponents=[],e.type="stackedArea",e.baseType="area",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{label:{visible:!1,type:"area"}})},e.prototype.beforeInit=function(){var e=r.get(this.options,["label","visible"]),i=r.get(this.options,["label","type"]),n=this.options;e&&("line"===i&&(n.lineLabel=this.options.label),"area"===i&&(n.areaLabel=this.options.label)),t.prototype.beforeInit.call(this)},e.prototype.getColorScale=function(){var t=this.options.stackField;return this.view.getScaleByField(t)},e.prototype.label=function(){var t=this.options.label;if(t&&!1===t.visible)return this.line&&(this.line.label=!1),this.point&&(this.point.label=!1),void(this.area.label=!1)},e.prototype.adjustArea=function(t){t.adjust=[{type:"stack"}]},e.prototype.adjustLine=function(t){t.adjust=[{type:"stack"}]},e.prototype.adjustPoint=function(t){t.adjust=[{type:"stack"}]},e.prototype.afterRender=function(){this.renderPlotComponents(),this.options.responsive=!1,t.prototype.afterRender.call(this)},e.prototype.geometryTooltip=function(){this.area.tooltip={};var t=this.options.tooltip;t.fields&&(this.area.tooltip.fields=t.fields),t.formatter&&(this.area.tooltip.callback=t.formatter,t.fields||(this.area.tooltip.fields=[this.options.xField,this.options.yField,this.options.stackField]))},e.prototype.renderPlotComponents=function(){var t=this;r.each(["areaLabel","lineLabel"],(function(e){var i=n.__assign({view:t.view,plot:t},t.options[e]),r=s.getPlotComponents(t,e,i);r&&(r.render(),t.plotComponents.push(r))}))},e}(a.default);e.default=l,o.registerPlotType("stackedArea",l)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_COLUMN_THEME=void 0;var n=i(11);e.DEFAULT_COLUMN_THEME={label:{darkStyle:{fill:"#2c3542",stroke:"#ffffff",fillOpacity:.85},lightStyle:{fill:"#ffffff",stroke:"#ffffff",fillOpacity:1}},columnStyle:{normal:{},active:function(t){return{opacity:.5*(t.opacity||1)}},disable:function(t){var e=t.opacity||1;return{opacity:.5*e,fillOpacity:.5*e}},selected:{lineWidth:1,stroke:"black"}}},n.registerTheme("column",e.DEFAULT_COLUMN_THEME)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(45));i(348);var s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.baseType="column",e.type="groupedColumn",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{yAxis:{title:{visible:!0}}})},e.prototype.getResponsiveTheme=function(){return this.themeController.getResponsiveTheme("column")},e.prototype.getColorScale=function(){var t=this.options.groupField;if(t)return this.view.getScaleByField(t)},e.prototype.addGeometry=function(){t.prototype.addGeometry.call(this)},e.prototype.adjustColumn=function(t){t.adjust=[{type:"dodge",marginRatio:.1}]},e.prototype.geometryTooltip=function(){this.column.tooltip={};var t=this.options.tooltip;t.fields&&(this.column.tooltip.fields=t.fields),t.formatter&&(this.column.tooltip.callback=t.formatter,t.fields||(this.column.tooltip.fields=[this.options.xField,this.options.yField,this.options.groupField]))},e}(a.default);e.default=s,o.registerPlotType("groupedColumn",s)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.percentageField=void 0;var n=i(1),r=i(0),o=n.__importStar(i(359)),a=n.__importDefault(i(15)),s=i(17),l=i(360),u=n.__importDefault(i(364)),c=i(6);i(365),e.percentageField="$$percentage$$";var h={pie:"interval"},p={pie:"column"},f=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="pie",e}return n.__extends(i,t),i.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{width:400,height:400,title:{visible:!1},description:{visible:!1},forceFit:!0,padding:"auto",radius:.8,label:{visible:!0,type:"inner",autoRotate:!1,adjustPosition:!0,allowOverlap:!1,line:{visible:!0,smooth:!0}},legend:{visible:!0,position:"right-center"},tooltip:{visible:!0,shared:!1,showCrosshairs:!1,showMarkers:!1},pieStyle:{stroke:"white",lineWidth:1}})},i.prototype.afterInit=function(){t.prototype.afterInit.call(this);var e=this.options,i=e.angleField,n=e.colorField,o=e.data;r.every(o,(function(t){return 0===t[i]}))&&this.view.geometries[0].tooltip(n+"*"+i)},i.prototype.afterRender=function(){t.prototype.afterRender.call(this);var i=this.options;if(i.label&&i.label.visible){this.labelComponent&&this.labelComponent.clear();var o=i.label;if("spider"===o.type){var a=i.data,s=i.colorField,c=i.angleField,h=r.every(a,(function(t){return 0===t[c]})),p=h?e.percentageField:c;this.labelComponent=new u.default(n.__assign({view:this.view,fields:s?[p,s]:[p],angleField:c,allZero:h},this.options.label)),this.labelComponent.render()}else{var f=l.getPieLabel(o.type);this.labelComponent=new f(this,i.label),this.labelComponent.render()}}},i.prototype.getAngleScale=function(){var t=this.options.angleField;if(t)return this.view.getScaleByField(t)},i.prototype.geometryParser=function(t,e){return"g2"===t?h[e]:p[e]},i.prototype.scale=function(){var e=this.options;t.prototype.scale.call(this);var i={};i[e.angleField]={},i[e.colorField]={type:"cat"},i=r.deepMix({},this.config.scales,i),this.setConfig("scales",i)},i.prototype.processData=function(t){var i=this.options.angleField;return r.every(t,(function(t){return 0===t[i]}))?t.map((function(r){var o;return n.__assign(n.__assign({},r),((o={})[i]="string"==typeof r[i]?Number.parseFloat(r[i]):r[i],o[e.percentageField]=1/t.length,o))})):t.map((function(t){var e,r=t[i];return n.__assign(n.__assign({},t),((e={})[i]=r&&!isNaN(r)?+r:r,e))}))},i.prototype.axis=function(){},i.prototype.coord=function(){var t=this.options,e={type:"theta",cfg:{radius:t.radius,innerRadius:t.innerRadius||0}};this.setConfig("coordinate",e)},i.prototype.addGeometry=function(){var t,i=this.options,n=i.data,o=i.angleField;(t=r.every(n,(function(t){return 0===t[o]}))?s.getGeom("interval","main",{plot:this,positionFields:[1,e.percentageField]}):s.getGeom("interval","main",{plot:this,positionFields:[1,i.angleField]})).adjust=[{type:"stack"}],this.pie=t,i.label&&this.label(),i.tooltip&&(i.tooltip.fields||i.tooltip.formatter)&&this.geometryTooltip(),this.setConfig("geometry",t)},i.prototype.geometryTooltip=function(){this.pie.tooltip={};var t=this.options.tooltip;t.fields?this.pie.tooltip.fields=t.fields:this.pie.tooltip.fields=[this.options.angleField,this.options.colorField],t.formatter&&(this.pie.tooltip.callback=t.formatter,t.fields||(this.pie.tooltip.fields=[this.options.angleField,this.options.colorField]))},i.prototype.animation=function(){t.prototype.animation.call(this),!1===this.options.animation&&(this.pie.animate=!1)},i.prototype.annotation=function(){},i.prototype.parseEvents=function(e){e?t.prototype.parseEvents.call(this,e):t.prototype.parseEvents.call(this,o)},i.prototype.label=function(){this.pie.label=!1},i}(a.default);e.default=f,c.registerPlotType("pie",f)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getLabelRotate=e.getAngleByPoint=e.near=e.inPanel=e.getOverlapInfo=e.getOverlapArea=e.getCenter=e.getEndPoint=void 0,e.getEndPoint=function(t,e,i){return{x:t.x+i*Math.cos(e),y:t.y+i*Math.sin(e)}},e.getCenter=function(t){return{x:t.x+t.width/2,y:t.y+t.height/2}},e.getOverlapArea=function(t,e,i){return void 0===i&&(i=0),Math.max(0,Math.min(t.x+t.width+i,e.x+e.width+i)-Math.max(t.x-i,e.x-i))*Math.max(0,Math.min(t.y+t.height+i,e.y+e.height+i)-Math.max(t.y-i,e.y-i))},e.getOverlapInfo=function(t,e,i){void 0===i&&(i=0);var n=Math.max(0,Math.min(t.x+t.width+i,e.x+e.width+i)-Math.max(t.x-i,e.x-i)),r=Math.max(0,Math.min(t.y+t.height+i,e.y+e.height+i)-Math.max(t.y-i,e.y-i));return n&&t.xe.x+e.width&&t.ye.y+e.height},e.near=function(t,e,i){return void 0===i&&(i=Math.pow(Number.EPSILON,.5)),[t,e].includes(1/0)?Math.abs(t)===Math.abs(e):Math.abs(t-e)e||i<-e)&&(i+=Math.PI),i}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(15)),s=i(26),l=i(17),u=n.__importStar(i(384)),c={rose:"interval"},h={rose:"column"},p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="rose",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{width:400,height:400,title:{visible:!1},description:{visible:!1},forceFit:!0,padding:"auto",radius:.8,innerRadius:0,label:{visible:!0,type:"inner",autoRotate:!0,adjustColor:!1},legend:{visible:!0,position:"right"},tooltip:{visible:!0,shared:!1,showCrosshairs:!1,showMarkers:!1},columnStyle:{stroke:"white",lineWidth:1},xAxis:{visible:!1,line:{visible:!1},tickLine:{visible:!1},grid:{visible:!0,alignTick:!1,style:{lineWidth:.5}},label:{offset:5,autoRotate:!0}},yAxis:{visible:!1}})},e.prototype.getOptions=function(e){var i=t.prototype.getOptions.call(this,e),n=e.sectorStyle,o=e.categoryField,a=e.radiusField;return r.deepMix({},i,{columnStyle:n,xField:o,yField:a})},e.prototype.getRadiusScale=function(){var t=this.options.radiusField;t&&this.view.getScaleByField(t)},e.prototype.getAngleScale=function(){var t=this.options.categoryField;t&&this.view.getScaleByField(t)},e.prototype.geometryParser=function(t,e){return"g2"===t?c[e]:h[e]},e.prototype.scale=function(){var t=this.options,e={};e[t.radiusField]={},e[t.categoryField]={type:"cat"},this.setConfig("scales",e)},e.prototype.coord=function(){var t=this.options,e={type:"polar",cfg:{radius:t.radius,innerRadius:t.innerRadius||0}};this.setConfig("coordinate",e)},e.prototype.addGeometry=function(){var t=this.options,e=l.getGeom("interval","main",{plot:this,positionFields:[t.categoryField,t.radiusField],widthRatio:{rose:1}});e.label=this.extractLabel(),e.adjust=this.adjustRoseAdjust(),this.rose=e,t.tooltip&&(t.tooltip.fields||t.tooltip.formatter)&&this.geometryTooltip(),this.setConfig("geometry",e)},e.prototype.adjustRoseAdjust=function(){},e.prototype.geometryTooltip=function(){this.rose.tooltip={};var t=this.options.tooltip;t.fields&&(this.rose.tooltip.fields=t.fields),t.formatter&&(this.rose.tooltip.callback=t.formatter,t.fields||(this.rose.tooltip.fields=[this.options.radiusField,this.options.categoryField,this.options.colorField]))},e.prototype.animation=function(){t.prototype.animation.call(this),!1===this.options.animation&&(this.rose.animate=!1)},e.prototype.annotation=function(){},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,u)},e.prototype.extractLabel=function(){var t=this.options;if(!t.label||!t.label.visible)return!1;var e=r.deepMix({},t.label);this.adjustLabelOptions(e);var i=[t.categoryField,t.radiusField];return s.getComponent("label",n.__assign({plot:this,labelType:"polar",fields:i},e))},e.prototype.adjustLabelOptions=function(t){var e=this.options.radiusField;if(t){var i=t.offset,n=t.type,r=t.content;"inner"===n?t.offset=i<0?i:-10:"outer"===n&&(t.offset=i>=0?i:10),r||(t.content=function(t,i){return""+i._origin[e]})}},e}(a.default);e.default=p,o.registerPlotType("rose",p)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getStyle=void 0;var n=i(2),r=i(0);e.getStyle=function(t,e,i,o){void 0===o&&(o="");var a=t.style,s=void 0===a?{}:a,l=t.defaultStyle,u=t.color,c=t.size,h=n.__assign(n.__assign({},l),s);return u&&(e&&(s.stroke||(h.stroke=u)),i&&(s.fill||(h.fill=u))),o&&r.isNil(s[o])&&!r.isNil(c)&&(h[o]=c),h}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.INDEX_FIELD=e.IS_TOTAL=e.VALUE_FIELD=void 0;var n=i(1),r=i(0),o=i(6);i(416);var a=n.__importDefault(i(15)),s=i(27),l=i(26),u=n.__importStar(i(417));i(418);var c=n.__importDefault(i(419)),h=i(25),p={waterfall:"interval"},f={interval:"waterfall"};e.VALUE_FIELD="$$value$$",e.IS_TOTAL="$$total$$",e.INDEX_FIELD="$$index$$";var d=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="watarfall",e}return n.__extends(i,t),i.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{legend:{visible:!1,position:"bottom"},label:{visible:!0,adjustPosition:!0},diffLabel:{visible:!0},leaderLine:{visible:!0},showTotal:{visible:!0,label:"总计值"},waterfallStyle:{lineWidth:0},tooltip:{visible:!0,shared:!0,showCrosshairs:!1,showMarkers:!1}})},i.prototype.getOptions=function(e){var i=t.prototype.getOptions.call(this,e);return this.adjustLegendOptions(i),this.adjustMeta(i),i},i.prototype.afterInit=function(){t.prototype.afterInit.call(this);var i=this.options;i.diffLabel&&i.diffLabel.visible?this.diffLabel=new c.default({view:this.view,fields:[i.xField,i.yField,e.VALUE_FIELD],formatter:i.diffLabel.formatter,style:i.diffLabel.style}):this.diffLabel&&(this.diffLabel.clear(),this.diffLabel=null)},i.prototype.afterRender=function(){t.prototype.afterRender.call(this);var i=this.options;this.view.on("tooltip:change",(function(t){for(var n=t.items,o=0;o0){var u=o[i-1][e.VALUE_FIELD];l=r.isArray(u)?[u[1],t[s]+u[1]]:[u,t[s]+u]}o.push(n.__assign(n.__assign({},t),((a={})[e.VALUE_FIELD]=l,a[e.INDEX_FIELD]=i,a)))})),this.options.showTotal&&this.options.showTotal.visible){var l=r.map(t,(function(t){return t[s]})),u=r.reduce(l,(function(t,e){return t+e}),0);o.push(((i={})[a]=this.options.showTotal.label,i[s]=null,i[e.VALUE_FIELD]=[u,0],i[e.INDEX_FIELD]=o.length,i[e.IS_TOTAL]=!0,i))}return o},i.prototype.scale=function(){var t=this.options,i={};i[t.xField]={type:"cat"},r.has(t,"xAxis")&&s.extractScale(i[t.xField],t.xAxis),i[e.VALUE_FIELD]={},r.has(t,"yAxis")&&s.extractScale(i[e.VALUE_FIELD],t.yAxis),this.setConfig("scales",i)},i.prototype.axis=function(){var t=l.getComponent("axis",{plot:this,dim:"x"}),i=l.getComponent("axis",{plot:this,dim:"y"}),n={};n[this.options.xField]=t,n[e.VALUE_FIELD]=i,this.setConfig("axes",n)},i.prototype.coord=function(){},i.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,u)},i.prototype.geometryTooltip=function(){this.waterfall.tooltip={};var t=this.options.tooltip;t.fields&&(this.waterfall.tooltip.fields=t.fields),t.formatter&&(this.waterfall.tooltip.callback=t.formatter,t.fields||(this.waterfall.tooltip.fields=[this.options.xField,e.VALUE_FIELD]))},i.prototype._parseStyle=function(){var t=this.options.waterfallStyle,e=this.options.leaderLine,i={};return r.isFunction(t)?i.callback=function(){for(var i=[],n=0;n=0?a:s):(r.isArray(n)?n[1]-n[0]:n)>=0?a:s}}return o},i.prototype.adjustLegendOptions=function(t){var e=t.legend;e&&(e.visible=!1)},i.prototype.adjustMeta=function(t){var i=t.meta;if(i){var n=i?i[t.yField]:{};n.alias=n.alias||t.yField,t.meta[e.VALUE_FIELD]=n}},i}(a.default);e.default=d,o.registerPlotType("waterfall",d)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.advanceBy=e.getDay=e.getWeek=e.isLastDayOfMonth=e.isLastWeekOfMonth=e.getYearRange=e.getDateRange=e.DAY_MS=void 0;var n=i(1),r=i(0),o=n.__importDefault(i(36)),a=i(71);function s(t,e){return t.setMilliseconds(t.getMilliseconds()+e),t}e.DAY_MS=864e5,e.getDateRange=function(t){var e=n.__spreadArrays(t).sort((function(t,e){return t.getTime()-e.getTime()}));return[o.default.format(r.head(e),a.FORMATTER),o.default.format(r.last(e),a.FORMATTER)]},e.getYearRange=function(t){var e=t||new Date;return[o.default.format(new Date(e.getFullYear(),0,1),a.FORMATTER),o.default.format(new Date(e.getFullYear(),11,30),a.FORMATTER)]},e.isLastWeekOfMonth=function(t){return t.getMonth()!==s(new Date(t),7*e.DAY_MS).getMonth()},e.isLastDayOfMonth=function(t){return t.getMonth()!==s(new Date(t),e.DAY_MS).getMonth()},e.getWeek=function(t){var i=new Date(t.getFullYear(),0,1);return Math.ceil(((t.getTime()-i.getTime())/e.DAY_MS+i.getDay()+1)/7)},e.getDay=function(t){return t.getDay()},e.advanceBy=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(15)),s=i(27),l=i(177),u=n.__importStar(i(441)),c=function(t){function e(e){var i=t.call(this,e)||this;return i.type="gauge",i}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{startAngle:-7/6,endAngle:1/6,rangeBackgroundStyle:{fill:"#f0f0f0"},rangeSize:24,statistic:{position:["50%","80%"]},axis:{visible:!0,offset:-10,tickCount:21,subTickCount:4,tickLine:{visible:!0,length:5,style:{stroke:"#aaa",lineWidth:2}},label:{visible:!0,offset:8,style:{fill:"#aaa",fontSize:16,textAlign:"center",textBaseline:"middle"}}},pivot:{visible:!0,thickness:6,pin:{visible:!0,size:2,style:{fill:"#2E364B"}},base:{visible:!0,style:{fill:"#EEEEEE"}},pointer:{visible:!0,style:{fill:"#CFCFCF"}}}})},e.prototype.init=function(){var e=this.options,i=e.value,n=(e.range||[]).map((function(t){return+t})).sort((function(t,e){return t-e})),r=this.options,o=r.min,a=void 0===o?n[0]:o,s=r.max,l=void 0===s?n[n.length-1]:s,u=r.format,c=void 0===u?function(t){return""+t}:u,h=c(i);this.options.data=[{value:i||0}],this.options.valueText=h,this.options.min=a,this.options.max=l,this.options.format=c,this.initG2Shape(),t.prototype.init.call(this)},e.prototype.initG2Shape=function(){this.gaugeShape=new l.GaugeShape(r.uniqueId()),this.gaugeShape.setOption(this.type,r.deepMix({},this.options,{radius:.6,angle:240,textPosition:"100%"})),this.gaugeShape.render()},e.prototype.geometryParser=function(){return"gauge"},e.prototype.scale=function(){var e=this.options,i=e.min,n=e.max,r=e.format,o={value:{}};s.extractScale(o.value,{min:i,max:n,minLimit:i,maxLimit:n,nice:!0,formatter:r,tickInterval:20}),this.setConfig("scales",o),t.prototype.scale.call(this)},e.prototype.coord=function(){var t={type:"polar",cfg:{radius:1,startAngle:this.options.startAngle*Math.PI,endAngle:this.options.endAngle*Math.PI}};this.setConfig("coordinate",t)},e.prototype.axis=function(){var t,e=this.options.axis,i={value:{line:null,grid:null,tickLine:null}};t=e.offset<0?e.offset-this.options.rangeSize-e.tickLine.length-e.label.offset:e.offset+e.tickLine.length+e.label.offset,e.label.visible?i.value.label={offset:t,textStyle:e.label.style,autoRotate:!0}:i.value.label={style:{opacity:0}},i[1]=!1,i.value=!!e.visible&&i.value,this.setConfig("axes",i)},e.prototype.addGeometry=function(){var t={type:"point",position:{fields:["value","1"]},shape:{values:["gauge"]},color:{values:[this.options.pivot.pointer.style.fill||this.theme.defaultColor]}};this.setConfig("geometry",t)},e.prototype.annotation=function(){var t=this.options.statistic,e=[];if(t&&t.visible){var i=this.renderStatistic();e.push(i)}this.setConfig("annotations",e)},e.prototype.renderStatistic=function(){var t=Math.max(this.options.width,this.options.height)/20,e=this.options.statistic;return{type:"text",content:e.text,top:!0,position:e.position,style:{fill:e.color,fontSize:e.size?e.size:1.2*t,textAlign:"center",textBaseline:"middle"}}},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,u)},e}(a.default);e.default=c,o.registerPlotType("gauge",c)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(16),o=i(6),a=n.__importDefault(i(179)),s=n.__importDefault(i(66)),l=n.__importDefault(i(45)),u=i(0),c=i(11),h={color:"#f5bc32",lineSize:4,connectNull:!0,point:{visible:!1,size:3,shape:"circle",style:{stroke:"#fff"}},label:{visible:!1}},p={color:"#5B8FF9"},f={visible:!0,colorMapping:!0,grid:{visible:!0},line:{visible:!1},tickLine:{visible:!1},label:{visible:!0,autoHide:!0,autoRotate:!1},title:{autoRotate:!0,visible:!1,spacing:12}},d=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="columnLine",e.legends=[],e}return n.__extends(e,t),e.getDefaultOptions=function(){return u.deepMix({},t.getDefaultOptions.call(this),{yAxis:{leftConfig:f,rightConfig:f},lineConfig:h,columnConfig:p,legend:{visible:!0}})},e.prototype.beforeInit=function(){var t,e,i=this.options,n=this.initialOptions;if(i.lineSeriesField&&(i.yAxis.rightConfig.colorMapping=!1,(null===(t=n.lineConfig)||void 0===t?void 0:t.lineSize)||(i.lineConfig.lineSize=3),!(null===(e=n.lineConfig)||void 0===e?void 0:e.color))){var r=c.getGlobalTheme(),o=r.colors,a=r.colors_20,s=this.getValueBySeriesField(),l=s.length>o.length?a:o,h=[];u.each(s,(function(t,e){h.push(l[e+1])})),i.lineConfig.color=h}},e.prototype.init=function(){if(t.prototype.init.call(this),this.checkData()){var e=this.options,i=e.data,r=e.meta,o=e.xField,a=e.yField,l=e.lineSeriesField,c=e.legend,h=e.lineConfig,p=e.columnConfig,f=e.events,d=e.customMeta;this.colors=[p.color,h.color],this.drawColumn();var g={};g[a[1]]={ticks:this.getTicks()},this.createLayer(s.default,i[1],n.__assign({xField:o,yField:a[1],seriesField:l,meta:d?r:u.deepMix({},r,g),xAxis:{visible:!1},yAxis:u.deepMix({},{position:"right",grid:{visible:!1},nice:!0},this.yAxis(1)),tooltip:{visible:!1},legend:{visible:!1},events:f},h)).render(),c.visible&&this.customLegend(),this.adjustLayout()}},e.prototype.drawColumn=function(){var t=this,e=this.options,i=e.data,r=e.xField,o=e.yField,a=e.xAxis,s=e.tooltip,c=e.columnConfig,h=e.meta,p=e.events;this.createLayer(l.default,i[0],n.__assign({xField:r,yField:o[0],meta:h,xAxis:a,yAxis:u.deepMix({},{grid:{visible:!0},nice:!0},this.yAxis(0)),tooltip:u.deepMix({},{showMarkers:!1,custom:{onChange:function(e,i){t.tooltip(e,i)}}},s),events:p},c)).render()},e.prototype.tooltip=function(t,e){var i=this,r=this.options,o=r.xField,a=r.yField,s=r.tooltip,l=u.clone(e.items[0]),c=this.getDataByXField(e.title,1),h=u.get(s,"formatter");if(c&&u.each(c,(function(t,r){var s=i.geomLayers[1].options.seriesField,p=s?t[s]:a[1],f=h?h(t[o],t[a[1]],t[s]):{name:p,value:t[a[1]]};e.items.push(n.__assign(n.__assign(n.__assign(n.__assign({},l),{mappingData:u.deepMix({},l.mappingData,{_origin:c}),data:t}),f),{color:u.isArray(i.colors[1])?i.colors[1][r]:i.colors[1]}))})),this.options.legend.visible){var p=this.getUnCheckedValue(),f=this.legends[0].get("items").length+this.legends[1].get("items").length;if(p.length===f)return void(t.style.display="none");t.style.display="block";var d=[],g=[];u.each(e.items,(function(t){var e=t.name;u.contains(d,e)||u.contains(p,e)||(d.push(e),g.push(t))})),u.each(e.items,(function(t,i){i1){var a=t[0],s=t[i-1];e.push({from:{x:s[0],y:s[1]},to:{x:a[0],y:a[1]}})}return e}function s(t){var e=t.map((function(t){return t[0]})),i=t.map((function(t){return t[1]}));return{minX:Math.min.apply(null,e),maxX:Math.max.apply(null,e),minY:Math.min.apply(null,i),maxY:Math.max.apply(null,i)}}e.default=function(t,e){if(t.length<2||e.length<2)return!1;var i,l,u=s(t),c=s(e);if(i=u,(l=c).minX>i.maxX||l.maxXi.maxY||l.maxY=0?[o]:[]}function l(t,e,i,n){return 2*(1-n)*(e-t)+2*n*(i-e)}function u(t,e,i,r,o,s,l){var u=a(t,i,o,l),c=a(e,r,s,l),h=n.default.pointAt(t,e,i,r,l),p=n.default.pointAt(i,r,o,s,l);return[[t,e,h.x,h.y,u,c],[u,c,p.x,p.y,o,s]]}e.default={box:function(t,e,i,n,o,l){var u=s(t,i,o)[0],c=s(e,n,l)[0],h=[t,o],p=[e,l];return void 0!==u&&h.push(a(t,i,o,u)),void 0!==c&&p.push(a(e,n,l,c)),r.getBBoxByArray(h,p)},length:function(t,e,i,n,o,a){return function t(e,i,n,o,a,s,l){if(0===l)return(r.distance(e,i,n,o)+r.distance(n,o,a,s)+r.distance(e,i,a,s))/2;var c=u(e,i,n,o,a,s,.5),h=c[0],p=c[1];return h.push(l-1),p.push(l-1),t.apply(null,h)+t.apply(null,p)}(t,e,i,n,o,a,3)},nearestPoint:function(t,e,i,n,r,s,l,u){return o.nearestPoint([t,i,r],[e,n,s],l,u,a)},pointDistance:function(t,e,i,n,o,a,s,l){var u=this.nearestPoint(t,e,i,n,o,a,s,l);return r.distance(u.x,u.y,s,l)},interpolationAt:a,pointAt:function(t,e,i,n,r,o,s){return{x:a(t,i,r,s),y:a(e,n,o,s)}},divide:function(t,e,i,n,r,o,a){return u(t,e,i,n,r,o,a)},tangentAngle:function(t,e,i,n,o,a,s){var u=l(t,i,o,s),c=l(e,n,a,s),h=Math.atan2(c,u);return r.piMod(h)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(124),r=i(124),o=i(213);function a(t,e){return[e[0]+(e[0]-t[0]),e[1]+(e[1]-t[1])]}e.default=function(t){for(var e=[],i=null,s=null,l=null,u=0,c=(t=o.default(t)).length,h=0;he)i.insertBefore(t,r);else if(o0&&(e?"stroke"in i?this._setColor(t,"stroke",o):"strokeStyle"in i&&this._setColor(t,"stroke",a):this._setColor(t,"stroke",o||a),u&&h.setAttribute(l.strokeOpacity,u),c&&h.setAttribute(l.lineWidth,c))},e.prototype._setColor=function(t,e,i){var n=this.get("el");if(i)if(i=i.trim(),/^[r,R,L,l]{1}[\s]*\(/.test(i))(r=t.find("gradient",i))||(r=t.addGradient(i)),n.setAttribute(l[e],"url(#"+r+")");else if(/^[p,P]{1}[\s]*\(/.test(i)){var r;(r=t.find("pattern",i))||(r=t.addPattern(i)),n.setAttribute(l[e],"url(#"+r+")")}else n.setAttribute(l[e],i);else n.setAttribute(l[e],"none")},e.prototype.shadow=function(t,e){var i=this.attr(),n=e||i,r=n.shadowOffsetX,o=n.shadowOffsetY,a=n.shadowBlur,s=n.shadowColor;(r||o||a||s)&&function(t,e){var i=t.cfg.el,n=t.attr(),r={dx:n.shadowOffsetX,dy:n.shadowOffsetY,blur:n.shadowBlur,color:n.shadowColor};if(r.dx||r.dy||r.blur||r.color){var o=e.find("filter",r);o||(o=e.addShadow(r)),i.setAttribute("filter","url(#"+o+")")}else i.removeAttribute("filter")}(this,t)},e.prototype.transform=function(t){var e=this.attr();(t||e).matrix&&p(this)},e.prototype.isInShape=function(t,e){return this.isPointInPath(t,e)},e.prototype.isPointInPath=function(t,e){var i=this.get("el"),n=this.get("canvas").get("el").getBoundingClientRect(),r=t+n.left,o=e+n.top,a=document.elementFromPoint(r,o);return!(!a||!a.isEqualNode(i))},e.prototype.getHitLineWidth=function(){var t=this.attrs,e=t.lineWidth,i=t.lineAppendWidth;return this.isStroke()?e+i:0},e}(o.AbstractShape),x=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="circle",e.canFill=!0,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,r:0})},e.prototype.createPath=function(t,e){var i=this.attr(),n=this.get("el");Object(a.each)(e||i,(function(t,e){"x"===e||"y"===e?n.setAttribute("c"+e,t):l[e]&&n.setAttribute(l[e],t)}))},e}(m),b=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="dom",e.canFill=!1,e.canStroke=!1,e}return Object(r.__extends)(e,t),e.prototype.createPath=function(t,e){var i=this.attr(),n=this.get("el");Object(a.each)(e||i,(function(t,e){l[e]&&n.setAttribute(l[e],t)})),n.innerHTML=i.html},e}(m),_=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="ellipse",e.canFill=!0,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,rx:0,ry:0})},e.prototype.createPath=function(t,e){var i=this.attr(),n=this.get("el");Object(a.each)(e||i,(function(t,e){"x"===e||"y"===e?n.setAttribute("c"+e,t):l[e]&&n.setAttribute(l[e],t)}))},e}(m),O=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="image",e.canFill=!1,e.canStroke=!1,e}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,width:0,height:0})},e.prototype.createPath=function(t,e){var i=this,n=this.attr(),r=this.get("el");Object(a.each)(e||n,(function(t,e){"img"===e?i._setImage(n.img):l[e]&&r.setAttribute(l[e],t)}))},e.prototype.setAttr=function(t,e){this.attrs[t]=e,"img"===t&&this._setImage(e)},e.prototype._setImage=function(t){var e=this.attr(),i=this.get("el");if(Object(a.isString)(t))i.setAttribute("href",t);else if(t instanceof window.Image)e.width||(i.setAttribute("width",t.width),this.attr("width",t.width)),e.height||(i.setAttribute("height",t.height),this.attr("height",t.height)),i.setAttribute("href",t.src);else if(t instanceof HTMLElement&&Object(a.isString)(t.nodeName)&&"CANVAS"===t.nodeName.toUpperCase())i.setAttribute("href",t.toDataURL());else if(t instanceof ImageData){var n=document.createElement("canvas");n.setAttribute("width",""+t.width),n.setAttribute("height",""+t.height),n.getContext("2d").putImageData(t,0,0),e.width||(i.setAttribute("width",""+t.width),this.attr("width",t.width)),e.height||(i.setAttribute("height",""+t.height),this.attr("height",t.height)),i.setAttribute("href",n.toDataURL())}},e}(m),w=i(18),M=i.n(w),C=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="line",e.canFill=!1,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x1:0,y1:0,x2:0,y2:0,startArrow:!1,endArrow:!1})},e.prototype.createPath=function(t,e){var i=this.attr(),n=this.get("el");Object(a.each)(e||i,(function(e,r){if("startArrow"===r||"endArrow"===r)if(e){var o=Object(a.isObject)(e)?t.addArrow(i,l[r]):t.getDefaultArrow(i,l[r]);n.setAttribute(l[r],"url(#"+o+")")}else n.removeAttribute(l[r]);else l[r]&&n.setAttribute(l[r],e)}))},e.prototype.getTotalLength=function(){var t=this.attr(),e=t.x1,i=t.y1,n=t.x2,r=t.y2;return M.a.length(e,i,n,r)},e.prototype.getPoint=function(t){var e=this.attr(),i=e.x1,n=e.y1,r=e.x2,o=e.y2;return M.a.pointAt(i,n,r,o,t)},e}(m),S={circle:function(t,e,i){return[["M",t,e],["m",-i,0],["a",i,i,0,1,0,2*i,0],["a",i,i,0,1,0,2*-i,0]]},square:function(t,e,i){return[["M",t-i,e-i],["L",t+i,e-i],["L",t+i,e+i],["L",t-i,e+i],["Z"]]},diamond:function(t,e,i){return[["M",t-i,e],["L",t,e-i],["L",t+i,e],["L",t,e+i],["Z"]]},triangle:function(t,e,i){var n=i*Math.sin(1/3*Math.PI);return[["M",t-i,e+n],["L",t,e-n],["L",t+i,e+n],["z"]]},triangleDown:function(t,e,i){var n=i*Math.sin(1/3*Math.PI);return[["M",t-i,e-n],["L",t+i,e-n],["L",t,e+n],["Z"]]}},j={get:function(t){return S[t]},register:function(t,e){S[t]=e},remove:function(t){delete S[t]},getAll:function(){return S}},P=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="marker",e.canFill=!0,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.createPath=function(t){this.get("el").setAttribute("d",this._assembleMarker())},e.prototype._assembleMarker=function(){var t=this._getPath();return Object(a.isArray)(t)?t.map((function(t){return t.join(" ")})).join(""):t},e.prototype._getPath=function(){var t,e=this.attr(),i=e.x,n=e.y,r=e.r||e.radius,o=e.symbol||"circle";return(t=Object(a.isFunction)(o)?o:j.get(o))?t(i,n,r):(console.warn(t+" symbol is not exist."),null)},e.symbolsFactory=j,e}(m),T=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="path",e.canFill=!0,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{startArrow:!1,endArrow:!1})},e.prototype.createPath=function(t,e){var i=this,n=this.attr(),r=this.get("el");Object(a.each)(e||n,(function(e,o){if("path"===o&&Object(a.isArray)(e))r.setAttribute("d",i._formatPath(e));else if("startArrow"===o||"endArrow"===o)if(e){var s=Object(a.isObject)(e)?t.addArrow(n,l[o]):t.getDefaultArrow(n,l[o]);r.setAttribute(l[o],"url(#"+s+")")}else r.removeAttribute(l[o]);else l[o]&&r.setAttribute(l[o],e)}))},e.prototype._formatPath=function(t){var e=t.map((function(t){return t.join(" ")})).join("");return~e.indexOf("NaN")?"":e},e.prototype.getTotalLength=function(){var t=this.get("el");return t?t.getTotalLength():null},e.prototype.getPoint=function(t){var e=this.get("el"),i=this.getTotalLength(),n=e?e.getPointAtLength(t*i):null;return n?{x:n.x,y:n.y}:null},e}(m),A=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="polygon",e.canFill=!0,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.createPath=function(t,e){var i=this.attr(),n=this.get("el");Object(a.each)(e||i,(function(t,e){"points"===e&&Object(a.isArray)(t)&&t.length>=2?n.setAttribute("points",t.map((function(t){return t[0]+","+t[1]})).join(" ")):l[e]&&n.setAttribute(l[e],t)}))},e}(m),E=i(77),L=i.n(E),I=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="polyline",e.canFill=!0,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{startArrow:!1,endArrow:!1})},e.prototype.onAttrChange=function(e,i,n){t.prototype.onAttrChange.call(this,e,i,n),-1!==["points"].indexOf(e)&&this._resetCache()},e.prototype._resetCache=function(){this.set("totalLength",null),this.set("tCache",null)},e.prototype.createPath=function(t,e){var i=this.attr(),n=this.get("el");Object(a.each)(e||i,(function(t,e){"points"===e&&Object(a.isArray)(t)&&t.length>=2?n.setAttribute("points",t.map((function(t){return t[0]+","+t[1]})).join(" ")):l[e]&&n.setAttribute(l[e],t)}))},e.prototype.getTotalLength=function(){var t=this.attr().points,e=this.get("totalLength");return Object(a.isNil)(e)?(this.set("totalLength",L.a.length(t)),this.get("totalLength")):e},e.prototype.getPoint=function(t){var e,i,n=this.attr().points,r=this.get("tCache");return r||(this._setTcache(),r=this.get("tCache")),Object(a.each)(r,(function(n,r){t>=n[0]&&t<=n[1]&&(e=(t-n[0])/(n[1]-n[0]),i=r)})),M.a.pointAt(n[i][0],n[i][1],n[i+1][0],n[i+1][1],e)},e.prototype._setTcache=function(){var t=this.attr().points;if(t&&0!==t.length){var e=this.getTotalLength();if(!(e<=0)){var i,n,r=0,o=[];Object(a.each)(t,(function(a,s){t[s+1]&&((i=[])[0]=r/e,n=M.a.length(a[0],a[1],t[s+1][0],t[s+1][1]),r+=n,i[1]=r/e,o.push(i))})),this.set("tCache",o)}}},e.prototype.getStartTangent=function(){var t=this.attr().points,e=[];return e.push([t[1][0],t[1][1]]),e.push([t[0][0],t[0][1]]),e},e.prototype.getEndTangent=function(){var t=this.attr().points,e=t.length-1,i=[];return i.push([t[e-1][0],t[e-1][1]]),i.push([t[e][0],t[e][1]]),i},e}(m);var D=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="rect",e.canFill=!0,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,width:0,height:0,radius:0})},e.prototype.createPath=function(t,e){var i=this,n=this.attr(),r=this.get("el"),o=!1,s=["x","y","width","height","radius"];Object(a.each)(e||n,(function(t,e){-1===s.indexOf(e)||o?-1===s.indexOf(e)&&l[e]&&r.setAttribute(l[e],t):(r.setAttribute("d",i._assembleRect(n)),o=!0)}))},e.prototype._assembleRect=function(t){var e=t.x,i=t.y,n=t.width,r=t.height,o=t.radius;if(!o)return"M "+e+","+i+" l "+n+",0 l 0,"+r+" l"+-n+" 0 z";var s=function(t){var e=0,i=0,n=0,r=0;return Object(a.isArray)(t)?1===t.length?e=i=n=r=t[0]:2===t.length?(e=n=t[0],i=r=t[1]):3===t.length?(e=t[0],i=r=t[1],n=t[2]):(e=t[0],i=t[1],n=t[2],r=t[3]):e=i=n=r=t,{r1:e,r2:i,r3:n,r4:r}}(o);return Object(a.isArray)(o)?1===o.length?s.r1=s.r2=s.r3=s.r4=o[0]:2===o.length?(s.r1=s.r3=o[0],s.r2=s.r4=o[1]):3===o.length?(s.r1=o[0],s.r2=s.r4=o[1],s.r3=o[2]):(s.r1=o[0],s.r2=o[1],s.r3=o[2],s.r4=o[3]):s.r1=s.r2=s.r3=s.r4=o,[["M "+(e+s.r1)+","+i],["l "+(n-s.r1-s.r2)+",0"],["a "+s.r2+","+s.r2+",0,0,1,"+s.r2+","+s.r2],["l 0,"+(r-s.r2-s.r3)],["a "+s.r3+","+s.r3+",0,0,1,"+-s.r3+","+s.r3],["l "+(s.r3+s.r4-n)+",0"],["a "+s.r4+","+s.r4+",0,0,1,"+-s.r4+","+-s.r4],["l 0,"+(s.r4+s.r1-r)],["a "+s.r1+","+s.r1+",0,0,1,"+s.r1+","+-s.r1],["z"]].join(" ")},e}(m),k=i(183),B={top:"before-edge",middle:"central",bottom:"after-edge",alphabetic:"baseline",hanging:"hanging"},F={top:"text-before-edge",middle:"central",bottom:"text-after-edge",alphabetic:"alphabetic",hanging:"hanging"},R={left:"left",start:"left",center:"middle",right:"end",end:"end"},N=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="text",e.canFill=!0,e.canStroke=!0,e}return Object(r.__extends)(e,t),e.prototype.getDefaultAttrs=function(){var e=t.prototype.getDefaultAttrs.call(this);return Object(r.__assign)(Object(r.__assign)({},e),{x:0,y:0,text:null,fontSize:12,fontFamily:"sans-serif",fontStyle:"normal",fontWeight:"normal",fontVariant:"normal",textAlign:"start",textBaseline:"bottom"})},e.prototype.createPath=function(t,e){var i=this,n=this.attr(),r=this.get("el");this._setFont(),Object(a.each)(e||n,(function(t,e){"text"===e?i._setText(""+t):"matrix"===e&&t?p(i):l[e]&&r.setAttribute(l[e],t)})),r.setAttribute("paint-order","stroke"),r.setAttribute("style","stroke-linecap:butt; stroke-linejoin:miter;")},e.prototype._setFont=function(){var t=this.get("el"),e=this.attr(),i=e.textBaseline,n=e.textAlign,r=Object(k.detect)();r&&"firefox"===r.name?t.setAttribute("dominant-baseline",F[i]||"alphabetic"):t.setAttribute("alignment-baseline",B[i]||"baseline"),t.setAttribute("text-anchor",R[n]||"left")},e.prototype._setText=function(t){var e=this.get("el"),i=this.attr(),n=i.x,r=i.textBaseline,o=void 0===r?"bottom":r;if(t)if(~t.indexOf("\n")){var s=t.split("\n"),l=s.length-1,u="";Object(a.each)(s,(function(t,e){0===e?"alphabetic"===o?u+=''+t+"":"top"===o?u+=''+t+"":"middle"===o?u+=''+t+"":"bottom"===o?u+=''+t+"":"hanging"===o&&(u+=''+t+""):u+=''+t+""})),e.innerHTML=u}else e.innerHTML=t;else e.innerHTML=""},e}(m),Y=/^l\s*\(\s*([\d.]+)\s*\)\s*(.*)/i,G=/^r\s*\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)\s*\)\s*(.*)/i,X=/[\d.]+:(#[^\s]+|[^\)]+\))/gi;function V(t){var e=t.match(X);if(!e)return"";var i="";return e.sort((function(t,e){return t=t.split(":"),e=e.split(":"),Number(t[0])-Number(e[0])})),Object(a.each)(e,(function(t){t=t.split(":"),i+=''})),i}var z=function(){function t(t){this.cfg={};var e=null,i=Object(a.uniqueId)("gradient_");return"l"===t.toLowerCase()[0]?function(t,e){var i,n,r=Y.exec(t),o=Object(a.mod)(Object(a.toRadian)(parseFloat(r[1])),2*Math.PI),s=r[2];o>=0&&o<.5*Math.PI?(i={x:0,y:0},n={x:1,y:1}):.5*Math.PI<=o&&o';e.innerHTML=i},t}(),U=function(){function t(t,e){this.cfg={};var i=u("marker"),n=Object(a.uniqueId)("marker_");i.setAttribute("id",n);var r=u("path");r.setAttribute("stroke",t.stroke||"none"),r.setAttribute("fill",t.fill||"none"),i.appendChild(r),i.setAttribute("overflow","visible"),i.setAttribute("orient","auto-start-reverse"),this.el=i,this.child=r,this.id=n;var o=t["marker-start"===e?"startArrow":"endArrow"];return this.stroke=t.stroke||"#000",!0===o?this._setDefaultPath(e,r):(this.cfg=o,this._setMarker(t.lineWidth,r)),this}return t.prototype.match=function(){return!1},t.prototype._setDefaultPath=function(t,e){var i=this.el;e.setAttribute("d","M0,0 L"+10*Math.cos(Math.PI/6)+",5 L0,10"),i.setAttribute("refX",""+10*Math.cos(Math.PI/6)),i.setAttribute("refY","5")},t.prototype._setMarker=function(t,e){var i=this.el,n=this.cfg.path,r=this.cfg.d;Object(a.isArray)(n)&&(n=n.map((function(t){return t.join(" ")})).join("")),e.setAttribute("d",n),i.appendChild(e),r&&i.setAttribute("refX",""+r/t)},t.prototype.update=function(t){var e=this.child;e.attr?e.attr("fill",t):e.setAttribute("fill",t)},t}(),K=function(){function t(t){this.type="clip",this.cfg={};var e=u("clipPath");this.el=e,this.id=Object(a.uniqueId)("clip_"),e.id=this.id;var i=t.cfg.el;return e.appendChild(i),this.cfg=t,this}return t.prototype.match=function(){return!1},t.prototype.remove=function(){var t=this.el;t.parentNode.removeChild(t)},t}(),Z=/^p\s*\(\s*([axyn])\s*\)\s*(.*)/i,$=function(){function t(t){this.cfg={};var e=u("pattern");e.setAttribute("patternUnits","userSpaceOnUse");var i=u("image");e.appendChild(i);var n=Object(a.uniqueId)("pattern_");e.id=n,this.el=e,this.id=n,this.cfg=t;var r=Z.exec(t)[2];i.setAttribute("href",r);var o=new Image;function s(){e.setAttribute("width",""+o.width),e.setAttribute("height",""+o.height)}return r.match(/^data:/i)||(o.crossOrigin="Anonymous"),o.src=r,o.complete?s():(o.onload=s,o.src=o.src),this}return t.prototype.match=function(t,e){return this.cfg===e},t}(),Q=function(){function t(t){var e=u("defs"),i=Object(a.uniqueId)("defs_");e.id=i,t.appendChild(e),this.children=[],this.defaultArrow={},this.el=e,this.canvas=t}return t.prototype.find=function(t,e){for(var i=this.children,n=null,r=0;r1)for(var i=1;i200&&(c=a/10);for(var h=1/c,p=h/10,f=0;f<=c;f++){var d=f*h,g=[o.apply(null,t.concat([d])),o.apply(null,e.concat([d]))];(x=n.distance(u[0],u[1],g[0],g[1]))=0&&x1&&(i*=Math.sqrt(m),o*=Math.sqrt(m));var x=i*i*(v*v)+o*o*(y*y),b=x?Math.sqrt((i*i*(o*o)-x)/x):1;c===h&&(b*=-1),isNaN(b)&&(b=0);var _=o?b*i*v/o:0,O=i?b*-o*y/i:0,w=(p+d)/2+Math.cos(u)*_-Math.sin(u)*O,M=(f+g)/2+Math.sin(u)*_+Math.cos(u)*O,C=[(y-_)/i,(v-O)/o],S=[(-1*y-_)/i,(-1*v-O)/o],j=s([1,0],C),P=s(C,S);return a(C,S)<=-1&&(P=Math.PI),a(C,S)>=1&&(P=0),0===h&&P>0&&(P-=2*Math.PI),1===h&&P<0&&(P+=2*Math.PI),{cx:w,cy:M,rx:l(t,[d,g])?0:i,ry:l(t,[d,g])?0:o,startAngle:j,endAngle:j+P,xRotation:u,arcFlag:c,sweepFlag:h}}},function(t,e,i){"use strict";i.r(e);var n=i(126);for(var r in n)["default"].indexOf(r)<0&&function(t){i.d(e,t,(function(){return n[t]}))}(r)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,i){"use strict";i.r(e);var n=i(128);for(var r in n)["default"].indexOf(r)<0&&function(t){i.d(e,t,(function(){return n[t]}))}(r)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Slider=e.HtmlTooltip=e.ContinuousLegend=e.CategoryLegend=e.CircleGrid=e.LineGrid=e.CircleAxis=e.LineAxis=e.Annotation=e.Crosshair=e.Component=e.GroupComponent=e.HtmlComponent=void 0;var n=i(10);Object.defineProperty(e,"Event",{enumerable:!0,get:function(){return n.Event}}),Object.defineProperty(e,"AbstractGroup",{enumerable:!0,get:function(){return n.AbstractGroup}}),Object.defineProperty(e,"AbstractShape",{enumerable:!0,get:function(){return n.AbstractShape}});var r=i(52);Object.defineProperty(e,"registerAdjust",{enumerable:!0,get:function(){return r.registerAdjust}}),Object.defineProperty(e,"getAdjust",{enumerable:!0,get:function(){return r.getAdjust}}),Object.defineProperty(e,"Adjust",{enumerable:!0,get:function(){return r.Adjust}});var o=i(61);Object.defineProperty(e,"getAttribute",{enumerable:!0,get:function(){return o.getAttribute}}),Object.defineProperty(e,"Attribute",{enumerable:!0,get:function(){return o.Attribute}});var a=i(59);Object.defineProperty(e,"Color",{enumerable:!0,get:function(){return a.Color}});var s=i(46);Object.defineProperty(e,"getCoordinate",{enumerable:!0,get:function(){return s.getCoordinate}}),Object.defineProperty(e,"registerCoordinate",{enumerable:!0,get:function(){return s.registerCoordinate}}),Object.defineProperty(e,"Coordinate",{enumerable:!0,get:function(){return s.Coordinate}});var l=i(21);Object.defineProperty(e,"getScale",{enumerable:!0,get:function(){return l.getScale}}),Object.defineProperty(e,"registerScale",{enumerable:!0,get:function(){return l.registerScale}}),Object.defineProperty(e,"Scale",{enumerable:!0,get:function(){return l.Scale}});var u=i(16);Object.defineProperty(e,"Annotation",{enumerable:!0,get:function(){return u.Annotation}}),Object.defineProperty(e,"Component",{enumerable:!0,get:function(){return u.Component}}),Object.defineProperty(e,"Crosshair",{enumerable:!0,get:function(){return u.Crosshair}}),Object.defineProperty(e,"GroupComponent",{enumerable:!0,get:function(){return u.GroupComponent}}),Object.defineProperty(e,"HtmlComponent",{enumerable:!0,get:function(){return u.HtmlComponent}}),Object.defineProperty(e,"Slider",{enumerable:!0,get:function(){return u.Slider}});var c=u.Axis.Line,h=u.Axis.Circle;e.LineAxis=c,e.CircleAxis=h;var p=u.Grid.Line,f=u.Grid.Circle;e.LineGrid=p,e.CircleGrid=f;var d=u.Legend.Category,g=u.Legend.Continuous;e.CategoryLegend=d,e.ContinuousLegend=g;var y=u.Tooltip.Html;e.HtmlTooltip=y},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getCoordinateClipCfg=e.getAngleByPoint=e.isPointInCoordinate=e.getDistanceToCenter=e.isFullCircle=e.getXDimensionLength=void 0;var n=i(87),r=i(222);e.getXDimensionLength=function(t){if(t.isPolar&&!t.isTransposed)return(t.endAngle-t.startAngle)*t.getRadius();var e=t.convert({x:0,y:0}),i=t.convert({x:1,y:0});return Math.sqrt(Math.pow(i.x-e.x,2)+Math.pow(i.y-e.y,2))},e.isFullCircle=function(t){if(t.isPolar){var e=t.startAngle;return t.endAngle-e==2*Math.PI}return!1},e.getDistanceToCenter=function(t,e){var i=t.getCenter();return Math.sqrt(Math.pow(e.x-i.x,2)+Math.pow(e.y-i.y,2))},e.isPointInCoordinate=function(t,e){var i=!1;if(t)if("theta"===t.type){var n=t.start,o=t.end;i=r.isBetween(e.x,n.x,o.x)&&r.isBetween(e.y,n.y,o.y)}else{var a=t.invert(e);i=r.isBetween(a.x,0,1)&&r.isBetween(a.y,0,1)}return i},e.getAngleByPoint=function(t,e){var i=t.getCenter();return Math.atan2(e.y-i.y,e.x-i.x)},e.getCoordinateClipCfg=function(t,e){void 0===e&&(e=0);var i,r=t.start,o=t.end,a=t.getWidth(),s=t.getHeight();if(t.isPolar){var l=t.startAngle,u=t.endAngle,c=t.getCenter(),h=t.getRadius();return{type:"path",startState:{path:n.getSectorPath(c.x,c.y,h+e,l,l)},endState:function(t){var i=(u-l)*t+l;return{path:n.getSectorPath(c.x,c.y,h+e,l,i)}},attrs:{path:n.getSectorPath(c.x,c.y,h+e,l,u)}}}return i=t.isTransposed?{height:s+2*e}:{width:a+2*e},{type:"rect",startState:{x:r.x-e,y:o.y-e,width:t.isTransposed?a+2*e:0,height:t.isTransposed?0:s+2*e},endState:i,attrs:{x:r.x-e,y:o.y-e,width:a+2*e,height:s+2*e}}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MarkerSymbols=void 0,e.MarkerSymbols={hexagon:function(t,e,i){var n=i/2*Math.sqrt(3);return[["M",t,e-i],["L",t+n,e-i/2],["L",t+n,e+i/2],["L",t,e+i],["L",t-n,e+i/2],["L",t-n,e-i/2],["Z"]]},bowtie:function(t,e,i){var n=i-1.5;return[["M",t-i,e-n],["L",t+i,e+n],["L",t+i,e-n],["L",t-i,e+n],["Z"]]},cross:function(t,e,i){return[["M",t-i,e-i],["L",t+i,e+i],["M",t+i,e-i],["L",t-i,e+i]]},tick:function(t,e,i){return[["M",t-i/2,e-i],["L",t+i/2,e-i],["M",t,e-i],["L",t,e+i],["M",t-i/2,e+i],["L",t+i/2,e+i]]},plus:function(t,e,i){return[["M",t-i,e],["L",t+i,e],["M",t,e-i],["L",t,e+i]]},hyphen:function(t,e,i){return[["M",t-i,e],["L",t+i,e]]},line:function(t,e,i){return[["M",t,e-i],["L",t,e+i]]}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getScaleByField=e.isInRecords=e.getSiblingPoint=e.getSilbings=e.isInBox=e.getSpline=e.distance=e.getComponents=e.getElementsByPath=e.getIntersectElements=e.intersectRect=e.getElementValue=e.getElementsByState=e.getElementsByField=e.getElements=e.getSiblingMaskElements=e.getMaskedElements=e.isMask=e.isSlider=e.isList=e.isElementChange=e.getDelegationObject=e.getCurrentElement=void 0;var n=i(2),r=i(0),o=i(230),a=i(134),s=n.__importDefault(i(110));function l(t,e){var i=t.event.target.getCanvasBBox();return i.width>=e||i.height>=e?i:null}function u(t){var e=t.geometries,i=[];return r.each(e,(function(t){var e=t.elements;i=i.concat(e)})),t.views&&t.views.length&&r.each(t.views,(function(t){i=i.concat(u(t))})),i}function c(t,e){var i=t.getModel().data;return r.isArray(i)?i[0][e]:i[e]}function h(t,e){return!(e.minX>t.maxX||e.maxXt.maxY||e.maxY=e||n.height>=e?i.attr("path"):null}(t,e);if(!i)return;return d(t.view,i)}var n=l(t,e);return n?p(t.view,n):null},e.getSiblingMaskElements=function(t,e,i){var n=l(t,i);if(!n)return null;var r=t.view,o=g(r,e,{x:n.x,y:n.y}),a=g(r,e,{x:n.maxX,y:n.maxY});return p(e,{minX:o.x,minY:o.y,maxX:a.x,maxY:a.y})},e.getElements=u,e.getElementsByField=function(t,e,i){return u(t).filter((function(t){return c(t,e)===i}))},e.getElementsByState=function(t,e){var i=t.geometries,n=[];return r.each(i,(function(t){var i=t.getElementsBy((function(t){return t.hasState(e)}));n=n.concat(i)})),n},e.getElementValue=c,e.intersectRect=h,e.getIntersectElements=p,e.getElementsByPath=d,e.getComponents=function(t){return t.getComponents().map((function(t){return t.component}))},e.distance=function(t,e){var i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)},e.getSpline=function(t,e){if(t.length<=2)return o.getLinePath(t,!1);var i=t[0],n=[];r.each(t,(function(t){n.push(t.x),n.push(t.y)}));var a=o.catmullRom2bezier(n,e,null);return a.unshift(["M",i.x,i.y]),a},e.isInBox=function(t,e){return t.x<=e.x&&t.maxX>=e.x&&t.y<=e.y&&t.maxY>e.y},e.getSilbings=function(t){var e=t.parent,i=null;return e&&(i=e.views.filter((function(e){return e!==t}))),i},e.getSiblingPoint=g,e.isInRecords=function(t,e,i,n){var o=!1;return r.each(t,(function(t){if(t[i]===e[i]&&t[n]===e[n])return o=!0,!1})),o},e.getScaleByField=function t(e,i){var n=e.getScaleByField(i);return!n&&e.views&&r.each(e.views,(function(e){if(n=t(e,i))return!1})),n}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.toPoints=e.getRegionBBox=e.BBox=void 0;var n=i(0),r=i(43),o=function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.height=n,this.width=i}return t.fromRange=function(e,i,n,r){return new t(e,i,n-e,r-i)},Object.defineProperty(t.prototype,"minX",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxX",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"minY",{get:function(){return this.y},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"maxY",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tl",{get:function(){return{x:this.x,y:this.y}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tr",{get:function(){return{x:this.maxX,y:this.y}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bl",{get:function(){return{x:this.x,y:this.maxY}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"br",{get:function(){return{x:this.maxX,y:this.maxY}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"top",{get:function(){return{x:this.x+this.width/2,y:this.minY}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"right",{get:function(){return{x:this.maxX,y:this.y+this.height/2}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"bottom",{get:function(){return{x:this.x+this.width/2,y:this.maxY}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"left",{get:function(){return{x:this.minX,y:this.y+this.height/2}},enumerable:!1,configurable:!0}),t.prototype.isEqual=function(t){return this.x===t.x&&this.y===t.y&&this.width===t.width&&this.height===t.height},t.prototype.clone=function(){return new t(this.x,this.y,this.width,this.height)},t.prototype.add=function(){for(var t=[],e=0;e=0;i--)t.removeChild(e[i])},e.hasClass=function(t,e){return!!t.className.match(new RegExp("(\\s|^)"+e+"(\\s|$)"))},e.regionToBBox=function(t){var e=t.start,i=t.end,n=Math.min(e.x,i.x),r=Math.min(e.y,i.y),o=Math.max(e.x,i.x),a=Math.max(e.y,i.y);return{x:n,y:r,minX:n,minY:r,maxX:o,maxY:a,width:o-n,height:a-r}},e.pointsToBBox=function(t){var e=t.map((function(t){return t.x})),i=t.map((function(t){return t.y})),n=Math.min.apply(Math,e),r=Math.min.apply(Math,i),o=Math.max.apply(Math,e),a=Math.max.apply(Math,i);return{x:n,y:r,minX:n,minY:r,maxX:o,maxY:a,width:o-n,height:a-r}},e.createBBox=r,e.getValueByPercent=o,e.getCirclePoint=function(t,e,i){return{x:t.x+Math.cos(i)*e,y:t.y+Math.sin(i)*e}},e.distance=a,e.wait=function(t){return new Promise((function(e){setTimeout(e,t)}))},e.near=function(t,e){return[t,e].includes(1/0)?Math.abs(t)===Math.abs(e):Math.abs(t-e)0?n.each(p,(function(e){if(e.get("visible")){if(e.isGroup()&&0===e.get("children").length)return!0;var i=t(e),n=e.applyToMatrix([i.minX,i.minY,1]),r=e.applyToMatrix([i.minX,i.maxY,1]),o=e.applyToMatrix([i.maxX,i.minY,1]),a=e.applyToMatrix([i.maxX,i.maxY,1]),s=Math.min(n[0],r[0],o[0],a[0]),p=Math.max(n[0],r[0],o[0],a[0]),f=Math.min(n[1],r[1],o[1],a[1]),d=Math.max(n[1],r[1],o[1],a[1]);su&&(u=p),fh&&(h=d)}})):(l=0,u=0,c=0,h=0),i=r(l,c,u-l,h-c)}else i=e.getBBox();return a?s(i,a):i},e.updateClip=function(t,e){if(t.getClip()||e.getClip()){var i=e.getClip();if(i){var n={type:i.get("type"),attrs:i.attr()};t.setClip(n)}else t.setClip(null)}},e.toPx=function(t){return t+"px"},e.getTextPoint=function(t,e,i,n){var r=n/a(t,e),s=0;return"start"===i?s=0-r:"end"===i&&(s=1+r),{x:o(t.x,e.x,s),y:o(t.y,e.y,s)}}},function(t,e,i){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0});var r=i(238),o=i(33);e.default=((n={})[""+o.CONTAINER_CLASS]={position:"absolute",visibility:"visible",zIndex:8,transition:"visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), left 0.4s cubic-bezier(0.23, 1, 0.32, 1), top 0.4s cubic-bezier(0.23, 1, 0.32, 1)",backgroundColor:"rgba(255, 255, 255, 0.9)",boxShadow:"0px 0px 10px #aeaeae",borderRadius:"3px",color:"rgb(87, 87, 87)",fontSize:"12px",fontFamily:r.default.fontFamily,lineHeight:"20px",padding:"10px 10px 6px 10px"},n[""+o.TITLE_CLASS]={marginBottom:"4px"},n[""+o.LIST_CLASS]={margin:"0px",listStyleType:"none",padding:"0px"},n[""+o.LIST_ITEM_CLASS]={listStyleType:"none",marginBottom:"4px"},n[""+o.MARKER_CLASS]={width:"8px",height:"8px",borderRadius:"50%",display:"inline-block",marginRight:"8px"},n[""+o.VALUE_CLASS]={display:"inline-block",float:"right",marginLeft:"30px"},n[""+o.CROSSHAIR_X]={position:"absolute",width:"1px",backgroundColor:"rgba(0, 0, 0, 0.25)"},n[""+o.CROSSHAIR_Y]={position:"absolute",height:"1px",backgroundColor:"rgba(0, 0, 0, 0.25)"},n)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(38),a=n.__importDefault(i(13)),s=function(){function t(t){this.position="top",this.destroyed=!1,r.assign(this,t),this.init()}return t.prototype.getBBox=function(){var t=this;if(this.shape){var e=this.shape.getBBox();if(0===this.index)return a.default.fromBBoxObject(e);var i=this.plot.theme.description.padding;return r.isArray(i)&&r.each(i,(function(e,n){"function"==typeof i[n]&&(i[n]=i[n](t.plot.options.legend.position))})),new a.default(e.maxX,e.minY,e.width,e.height)}return null},t.prototype.clear=function(){this.shape&&this.shape.attr("text","")},t.prototype.destroy=function(){this.shape&&this.shape.remove(),this.destroyed=!0},t.prototype.init=function(){var t=this.textWrapper(),e=this.getPosition(),i=e.x,n=e.y;this.shape=this.container.addShape("text",{attrs:r.mix({x:i,y:n,text:t},this.style,{textAlign:this.getTextAlign()})}),this.shape.name=this.name},t.prototype.getPosition=function(){return"left"===this.alignTo?{x:this.leftMargin,y:this.topMargin}:"middle"===this.alignTo?{x:this.leftMargin+this.wrapperWidth/2,y:this.topMargin}:{x:this.rightMargin,y:this.topMargin}},t.prototype.getTextAlign=function(){return"left"===this.alignTo?"left":"middle"===this.alignTo?"center":"right"},t.prototype.textWrapper=function(){var t=this.wrapperWidth,e=this.style,i=this.text,r=this.container.addShape("text",{attrs:n.__assign({text:"",x:0,y:0},e)}),a=i.split("\n").map((function(e){for(var i="",n=e.split(""),a=[],s=0;st){if(0===s)break;a.push(s),i=""}}return o.breakText(n,a)}));return r.remove(),a.join("\n")},t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getSuffixFormatter=e.getPrecisionFormatter=e.getNoopFormatter=e.combineFormatter=void 0;var n=i(0);e.combineFormatter=function(){for(var t=[],e=0;eu&&l>u);)if(c.push(s),u-=l,!(o=o.substr(16)))return c.join("");for(;s=o.substr(0,1),!((l=e.measureTextWidth(s,n))+a>u);)if(c.push(s),u-=l,!(o=o.substr(1)))return c.join("");return c.join("")+"..."}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getGlobalTheme=e.registerGlobalTheme=void 0;var n=i(0),r=i(144),o=i(256),a={default:r.DEFAULT_GLOBAL_THEME,dark:o.DEFAULT_DARK_THEME};function s(t){void 0===t&&(t="default");var e=a[t.toLowerCase()];return e||(console.warn("error in theme: Can't find the theme named %s. Please register theme first.",t),r.DEFAULT_GLOBAL_THEME)}e.registerGlobalTheme=function(t,e){var i=s();a[t.toLowerCase()]=n.deepMix({},i,e)},e.getGlobalTheme=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_GLOBAL_THEME=e.BOTTOM_BLEEDING=e.TOP_BLEEDING=e.DESCRIPTION_BOTTOM_MARGIN=e.COLOR_PLATE_20=e.COLOR_PLATE_10=void 0;e.COLOR_PLATE_10=["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#E8684A","#6DC8EC","#9270CA","#FF9D4D","#269A99","#FF99C3"],e.COLOR_PLATE_20=["#5B8FF9","#BDD2FD","#5AD8A6","#BDEFDB","#5D7092","#C2C8D5","#F6BD16","#FBE5A2","#E8684A","#F6C3B7","#6DC8EC","#B6E3F5","#9270CA","#D3C6EA","#FF9D4D","#FFD8B8","#269A99","#AAD8D8","#FF99C3","#FFD6E7"];var n=i(0);e.DESCRIPTION_BOTTOM_MARGIN=function(t){return t&&"top"===t.split("-")[0]?12:24},e.TOP_BLEEDING=function(t){var e=t.title&&t.title.visible,i=t.description&&t.description.visible;return e||i?12:24},e.BOTTOM_BLEEDING=function(t){return n.some(t.interactions||[],(function(t){return("slider"===t.type||"scrollbar"===t.type)&&"vertical"!==(t.cfg&&t.cfg.type)}))?8:24},e.DEFAULT_GLOBAL_THEME={width:400,height:400,bleeding:[e.TOP_BLEEDING,24,e.BOTTOM_BLEEDING,24],padding:"auto",defaultColor:"#5B8FF9",colors:e.COLOR_PLATE_10,colors_20:e.COLOR_PLATE_20,title:{padding:[24,24,24,24],fontFamily:"PingFang SC",fontSize:18,fill:"black",textAlign:"left",textBaseline:"top",lineHeight:20,alignWithAxis:!1},description:{padding:[10,24,e.DESCRIPTION_BOTTOM_MARGIN,24],fontFamily:"PingFang SC",fontSize:12,fill:"grey",textAlign:"left",textBaseline:"top",lineHeight:16,alignWithAxis:!1},axis:{y:{visible:!0,position:"left",autoRotateTitle:!0,grid:{visible:!0,line:{style:{stroke:"rgba(0, 0, 0, 0.15)",lineWidth:1,lineDash:[0,0]}}},line:{visible:!1,style:{stroke:"rgba(0, 0, 0, 0.45)",lineWidth:1}},tickLine:{visible:!1,style:{stroke:"rgba(0,0,0,0.45)",lineWidth:.5,length:4}},label:{visible:!0,offset:8,textStyle:{fill:"rgba(0,0,0,0.45)",fontSize:12},autoRotate:!1,autoHide:!0},title:{visible:!1,spacing:12,style:{fill:"rgba(0, 0, 0, 0.65)",fontSize:12,textBaseline:"bottom"}}},x:{visible:!0,position:"bottom",autoRotateTitle:!1,grid:{visible:!1,line:{style:{stroke:"rgba(0, 0, 0, 0.15)",lineWidth:1,lineDash:[0,0]}}},line:{visible:!1,style:{stroke:"rgba(0, 0, 0, 0.45)",lineWidth:1}},tickLine:{visible:!0,style:{length:4,stroke:"rgba(0, 0, 0, 0.45)",lineWidth:.5}},label:{visible:!0,textStyle:{fill:"rgba(0,0,0,0.45)",fontSize:12},offset:16,autoRotate:!0,autoHide:!0},title:{visible:!1,spacing:12,style:{fill:"rgba(0, 0, 0, 0.65)",fontSize:12}}},circle:{autoHideLabel:!1,grid:{line:{style:{lineDash:null,lineWidth:1,stroke:"rgba(0, 0, 0, 0.15)"}}},line:{style:{lineWidth:1,stroke:"rgba(0, 0, 0, 0.45)"}},tickLine:{style:{lineWidth:1,stroke:"rgba(0, 0, 0, 0.45)",length:4,alignWithLabel:!0}},label:{offset:16,textStyle:{fill:"rgba(0,0,0,0.45)",fontSize:12},autoRotate:!0,autoHide:!0},title:{offset:12,style:{fill:"rgba(0, 0, 0, 0.65)",fontSize:12}}},radius:{label:{textStyle:{fill:"rgba(0,0,0,0.45)",fontSize:12}}}},legend:{flipPage:!1,position:"bottom",innerPadding:[16,16,16,16],margin:[0,24,24,24]},label:{offset:12,textStyle:{fill:"#595959"},style:{fill:"#595959",stroke:"#ffffff",lineWidth:2}},tooltip:{"g2-tooltip":{boxShadow:"0px 0px 8px rgba(0,0,0,0.15)"},offset:10},components:{legend:{margin:[0,24,24,24]},tooltipIndicator:{title:{style:{fontSize:14,fill:"#262626"}},line:{style:{opacity:1},inactiveStyle:{opacity:.3}},itemTitle:{style:{fontSize:12,fill:"#8C8C8C",opacity:1},inactiveStyle:{opacity:.3}},itemName:{style:{fontSize:12,fill:"#8C8C8C",opacity:1},inactiveStyle:{opacity:.3}},itemValue:{style:{fontSize:14,fontWeight:"bold",fill:"#595959",opacity:1},inactiveStyle:{opacity:.3}}}}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getTheme=e.registerTheme=e.convertThemeToG2Theme=void 0;var n=i(0),r={};function o(t,e){var i={lineStyle:"line.line",columnStyle:"interval.rect",pointStyle:"point.circle"},r={};"area"===t&&(i={areaStyle:"area.area",lineStyle:"area.line",pointStyle:"point.circle"});var o={};return n.each(e,(function(t,e){var a;if(n.has(i,e)){var s=i[e];n.each(t,(function(t,e){n.set(o,s+"."+["normal"===e?"default":"disable"===e?"inactive":e]+".style",t)}))}else r=n.deepMix({},r,((a={})[e]=t,a))})),n.isEmpty(o)||(r=n.deepMix({},r,{geometries:o})),r}e.convertThemeToG2Theme=o,e.registerTheme=function(t,e){r[t.toLowerCase()]=o(t,e)},e.getTheme=function(t){return r[t.toLowerCase()]||{}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.init=function(){var t=this.plot.options;this.config={type:"area",position:{fields:[t.xField,t.yField]},connectNulls:t.connectNulls||!1},t.smooth&&(this.config.shape={values:["smooth"]}),(this._getColorMappingField()||t.color)&&this.parseColor(),(t.areaStyle||t.area&&t.area.style)&&this.parseStyle()},e.prototype.parseColor=function(){var t=this.plot.options,e={},i=this._getColorMappingField();if(i&&(e.fields=i),r.has(t,"color")){var n=t.color;r.isString(n)?e.values=[n]:r.isFunction(n)?e.callback=n:r.isArray(n)&&(i?e.values=n:n.length>0&&(e.values=[n[0]]))}this.config.color=e},e.prototype.parseStyle=function(){var t=this.plot.options,e=t.areaStyle?t.areaStyle:t.area.style,i={};r.isFunction(e)&&t.seriesField?(i.fields=[t.seriesField],i.callback=e):i.cfg=e,this.config.style=i},e.prototype._getColorMappingField=function(){for(var t=this.plot.options,e=0,i=["stackField","seriesField"];ethis.iterationTime-1);)this._iteration(),t=this._constraintsTest(),this.iterationIndex++;this.constraintIndex0&&(u.push(l),u.sort((function(t,e){return e.top-t.top})),r.each(u,(function(t,e){if(e>0){var i=t.shape;o.default(i),i.set("blank",!0)}})))},e.isNodeOverlap=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isTime=void 0;var n=i(1),r=i(0),o=n.__importDefault(i(36)),a=864e5;function s(t,e){var i,n=Math.abs(t-e),o={minute:[6e4,36e5],hour:[36e5,a],day:[a,26784e5],month:[26784e5,31536e6],year:[31536e6,1/0]};return r.each(o,(function(t,e){n>=t[0]&&n=e)){var n=Math.floor(Math.log10(t));return Math.abs(n-i)}var r=t%e;if(r>0){var o=Math.floor(Math.log10(r));return Math.abs(o-i)}return 0}(function(t){if(t.length>=2){var e=parseFloat(t[0].shape.get("origin").text),i=parseFloat(t[1].shape.get("origin").text);return Math.abs(e-i)}return 0}(l),d)},u).num;t.attr("text",h+p)}}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isKeep=void 0;var n=i(1),r=i(0),o=n.__importDefault(i(44));function a(t,e,i){var n=[];r.each(t,(function(t){"start"===t?n.push(0===e):"end"===t?n.push(e===i.length-1):r.isNumber(t)&&n.push(e===t)}));for(var o=0,a=n;o0&&n.push(e.shift()),e.length>0&&n.push(e.pop()),n.push.apply(n,e),n},e}(a.default);e.default=c,o.registerLabelComponent("point-auto",c)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),r=function(){function t(t){this.destroyed=!1,this.view=t.view,this.plot=t.plot;var e=this.getDefaultOptions();this.options=n.deepMix(e,t,{}),this.init()}return t.prototype.init=function(){var t=this;this.container=this.getGeometry().labelsContainer,this.view.on("beforerender",(function(){t.clear(),t.plot.canvas.draw()}))},t.prototype.render=function(){var t=this,e=this.getGeometry().elements;n.each(e,(function(e){var i=t.getShapeInfo(e.shape),r=t.options,o=r.style,a=r.offsetX,s=r.offsetY,l=t.options.formatter,u=l?l(i.name):i.name;t.container.addShape("text",{attrs:n.deepMix({},{x:i.x+a,y:i.y+s,text:u,fill:i.color,textAlign:"left",textBaseline:"middle"},o),name:"label"})}))},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.hide=function(){this.container.set("visible",!1),this.plot.canvas.draw()},t.prototype.show=function(){this.container.set("visible",!0),this.plot.canvas.draw()},t.prototype.destroy=function(){this.container&&this.container.remove(),this.destroyed=!0},t.prototype.getBBox=function(){return this.container.getBBox()},t.prototype.getDefaultOptions=function(){var t=this.plot.theme,e=n.clone(t.label.style);return delete e.fill,{offsetX:8,offsetY:0,style:e}},t.prototype.getGeometry=function(){return n.find(this.view.geometries,(function(t){return"line"===t.type}))},t.prototype.getShapeInfo=function(t){var e=t.get("origin").points,i=e[e.length-1],n=t.attr("stroke"),r=this.plot.options.seriesField,o=t.get("origin").data[0][r];return{x:i.x,y:i.y,color:n,name:o}},t}();e.default=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(63),o=i(0);function a(t,e){var i=[],n=t.get("origin").points;return o.each(n,(function(t){i.push(e.convertPoint(t))})),i}var s=function(){function t(t){o.deepMix(this,this.constructor.getDefaultOptions(t),t),this._init()}return t.getDefaultOptions=function(t){var e=t.transpose;return{visible:!0,size:e?32:80,spacing:e?8:12,offset:e?32:0,arrow:{visible:!0,headSize:12,style:{fill:"rgba(0, 0, 0, 0.05)"}},value:{visible:!0,style:{fontSize:12,fill:"rgba(0, 0, 0, 0.85)"},formatter:function(t,e){return(100*e/t).toFixed(2)+"%"}},animation:o.deepMix({},r.DEFAULT_ANIMATE_CFG)}},t.prototype._init=function(){var t=this,e=this.view.backgroundGroup;this.container=e.addGroup(),this.draw(),this.view.on("beforerender",(function(){t.clear()}))},t.prototype.draw=function(){var t,e,i,n,r=this,o=this.transpose,a=this.view.getScaleByField(this.field).values,s=this.view.geometries[0].getShapes();o?s.forEach((function(t,o){e=a[o],o++>0&&r._drawTag(i,n,t,e),n=e,i=t})):s.forEach((function(i,o){n=a[o],o++>0&&r._drawTag(i,n,t,e),e=n,t=i}))},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.destroy=function(){this.container&&this.container.remove()},t.prototype._drawTag=function(t,e,i,n){var r=this.transpose,o=this.view.geometries[0].coordinate,s=a(t,o)[r?3:0],l=a(i,o)[r?0:3];this._drawTagArrow(s,l),this._drawTagValue(s,e,l,n)},t.prototype._drawTagArrow=function(t,e){var i,r=this.spacing,o=this.size,a=this.offset,s=this.animation,l=this.transpose,u=this.arrow.headSize,c=e.y-t.y,h=e.x-t.x;l?(h-u)/2h){var f=p/u.length,d=Math.max(1,Math.ceil(h/f)-1),g=u.slice(0,d)+"...";c.attr("text",g)}}!1!==s&&this._fadeInTagShape(c)},t.prototype._fadeInTagShape=function(t){var e=this.animation,i=t.attr("opacity");t.attr("opacity",0);var n=o.get(e,"appear",r.DEFAULT_ANIMATE_CFG.appear).duration;t.animate({opacity:i},n)},t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(20),a=i(8),s=n.__importDefault(i(94)),l=i(25),u=n.__importDefault(i(13)),c=i(28),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.getPosition=function(t){var e=this.getDefaultOffset(),i=this.getValue(t),n=this.getElementShapeBBox(t),r=n.minX,o=n.maxX,a=n.minY,s=n.height,l=this.options;return{x:(i>0?o:r)+e*(i<0?-1:1)+l.offsetX,y:a+s/2+l.offsetY}},e.prototype.getTextAlign=function(t){return this.getValue(t)>0?"left":"right"},e.prototype.getTextFill=function(t){return this.options.style.fill},e.prototype.getTextStroke=function(t){},e.prototype.adjustLabel=function(t,e){},e.prototype.layoutLabels=function(t,e){this.shouldInShapeLabels(e)&&this.inShapeLabels(t,e),this.autoHideLabels(t,e)},e.prototype.shouldInShapeLabels=function(t){var e=this;return r.every(t,(function(t){var i=t.getBBox(),n=t.get("element");return e.getElementShapeBBox(n).height>=i.height}))},e.prototype.inShapeLabels=function(t,e){var i=this,n=this.getCoordinateBBox(),o=t.getXYFields()[0],s=this.options,h=s.darkStyle,p=s.lightStyle,f=r.groupBy(e,(function(t){return t.get(a.ORIGIN)[a.FIELD_ORIGIN][o]}));r.each(e,(function(t){var e=f[t.get(a.ORIGIN)[a.FIELD_ORIGIN][o]]||[],s=t.get("element"),d=s.shape,g=c.isContrastColorWhite(d.attr("fill")),y=i.getElementShapeBBox(s),v=u.default.fromBBoxObject(t.getBBox());(l.getOverlapArea(n,y)<=0&&t.set("visible",!1),v.width>y.width)?r.findIndex(e,(function(e){return e===t}))!==e.length-1&&t.set("visible",!1):(t.attr({x:y.x+y.width/2,textAlign:"center"}),v.width>y.width||v.height>y.height?t.attr({stroke:null==p?void 0:p.stroke}):t.attr({fill:g?null==p?void 0:p.fill:null==h?void 0:h.fill,fillOpacity:g?null==p?void 0:p.fillOpacity:null==h?void 0:h.fillOpacity,stroke:void 0}))}))},e.prototype.autoHideLabels=function(t,e){var i,n=this.getCoordinateBBox(),o=this.filterLabels(e),s=t.getXYFields()[0],u=[],c=[],h=r.groupBy(o,(function(t){return t.get(a.ORIGIN)[a.FIELD_ORIGIN][s]})),p=r.uniq(r.map(o,(function(t){return t.get(a.ORIGIN)[a.FIELD_ORIGIN][s]})));for(r.size(p)>0&&(i=p.shift(),r.each(h[i],(function(t){return c.push(t)}))),r.size(p)>0&&(i=p.pop(),r.each(h[i],(function(t){return c.push(t)}))),r.each(p.reverse(),(function(t){r.each(h[t],(function(t){return c.push(t)}))}));c.length>0;){var f=c.shift();f.get("visible")&&(l.moveInPanel(f,n),l.checkShapeOverlap(f,u)?f.set("visible",!1):u.push(f))}},e.prototype.filterLabels=function(t){var e=[],i=Math.max(Math.floor(t.length/500),1);return r.each(t,(function(t,n){n%i==0?e.push(t):t.set("visible",!1)})),e},e}(s.default);e.default=h,o.registerLabelComponent("bar-auto",h)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(68));i(324);var s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="groupedBar",e.baseType="bar",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{xAxis:{visible:!0,grid:{visible:!0}},yAxis:{visible:!0,title:{visible:!1}},label:{visible:!0,position:"right",adjustColor:!0},legend:{visible:!0,position:"right-top",offsetY:0}})},e.prototype.afterRender=function(){t.prototype.afterRender.call(this);var e=r.valuesOfKey(this.options.data,this.options.groupField)||[];this.view.on("tooltip:change",(function(t){var i=t.items,n=void 0===i?[]:i;r.sortBy(n.slice(),(function(t){return e.indexOf(t.name)})).reverse().forEach((function(e,i){t.items[i]=e}))}))},e.prototype.getColorScale=function(){var t=this.options.groupField;if(t)return this.view.getScaleByField(t)},e.prototype.scale=function(){var e={};e[this.options.groupField]={values:r.valuesOfKey(this.options.data,this.options.groupField)},this.options.meta?this.options.meta=r.deepMix({},this.options.meta,e):this.options.meta=e,t.prototype.scale.call(this)},e.prototype.adjustBar=function(t){t.adjust=[{type:"dodge",marginRatio:.1}]},e.prototype.geometryTooltip=function(){this.bar.tooltip={};var t=this.options.tooltip;t.fields&&(this.bar.tooltip.fields=t.fields),t.formatter&&(this.bar.tooltip.callback=t.formatter,t.fields||(this.bar.tooltip.fields=[this.options.xField,this.options.yField,this.options.groupField]))},e}(a.default);e.default=s,o.registerPlotType("groupedBar",s)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(95)),s=i(96),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="percentStackedBar",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{xAxis:{visible:!0,tickLine:{visible:!1},grid:{visible:!1},title:{visible:!0,formatter:function(t){return t+" (%)"}},label:{visible:!1,formatter:function(t){return t.replace(/%/gi,"")}}}})},e.prototype.processData=function(e){var i=this.options,n=i.xField,r=i.yField,o=t.prototype.processData.call(this,e);return s.transformDataPercentage(o,r,[n])},e.prototype.scale=function(){var e={},i=this.options.xField;e[i]={tickCount:6,alias:i+" (%)",min:0,max:1,formatter:function(t){return(100*t).toFixed(1)+"%"}},this.options.meta=r.deepMix({},this.options.meta,e),t.prototype.scale.call(this)},e}(a.default);e.default=l,o.registerPlotType("percentStackedBar",l)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(20),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(n.__importDefault(i(92)).default);e.default=o,r.registerLabelComponent("area-point",o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(20),a=n.__importDefault(i(159)),s=i(25),l=i(24),u=i(28),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.layoutLabels=function(e,i){t.prototype.layoutLabels.call(this,e,i),this.adjustAreaLabelsStyle(i)},e.prototype.adjustAreaLabelsStyle=function(t){var e=this.view,i=this.options,n=i.darkStyle,o=i.lightStyle,a=s.getGeometryByType(e,"area"),c=s.getGeometryShapes(a).sort((function(t,e){return e.getBBox().height-t.getBBox().height}));r.each(t,(function(t){var e=t.getBBox(),i=l.getStrokePoints(e.x,e.y,e.width,e.height),a=r.map(c,(function(t){return{area:t,matches:r.filter(i,(function(e){return!!t.isHit(e[0],e[1])})).length}})).sort((function(t,e){return t.matches-e.matches}));if(r.last(a).matches>0){var s=r.last(a).area.attr("fill"),h=u.isContrastColorWhite(s);t.attr({fill:h?null==o?void 0:o.fill:null==n?void 0:n.fill,fillOpacity:h?o.fillOpacity:n.fillOpacity,stroke:h?null==o?void 0:o.stroke:null==n?void 0:n.stroke})}}))},e}(a.default);e.default=c,o.registerLabelComponent("area-point-auto",c)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_AREA_THEME=void 0;var n=i(11);e.DEFAULT_AREA_THEME={areaStyle:{normal:{},active:function(t){return{opacity:t.opacity||1}},disable:function(t){return{opacity:.5*(t.opacity||1)}},selected:{lineWidth:1,stroke:"#333333"}},lineStyle:{normal:{},active:function(t){return{opacity:t.opacity||1}},disable:function(t){return{opacity:.5*(t.opacity||1)}},selected:function(t){return{lineWidth:(t.lineWidth||1)+2}}},pointStyle:{normal:{},active:function(t){var e=t.fill||t.fillStyle,i=t.size||t.radius;return{radius:i+1,shadowBlur:i,shadowColor:e,stroke:e,strokeOpacity:1,lineWidth:1}},disable:function(t){return{opacity:.5*(t.opacity||t.fillOpacity||1)}},selected:function(t){var e=t.fill||t.fillStyle,i=t.size||t.radius;return{radius:i+2,shadowBlur:i,shadowColor:e,stroke:e,strokeOpacity:1,lineWidth:2}}},label:{darkStyle:{fill:"#2c3542",stroke:"#ffffff",fillOpacity:.85},lightStyle:{fill:"#ffffff",fillOpacity:1,stroke:"#2c3542"}}},n.registerTheme("area",e.DEFAULT_AREA_THEME)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(98)),s=i(96),l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="percentStackedArea",e.baseType="stackedArea",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{yAxis:{visible:!0,label:{visible:!0,formatter:function(t){return t.replace(/%/gi,"")}}}})},e.prototype.processData=function(t){var e=this.options,i=e.xField,n=e.yField;return s.transformDataPercentage(t,i,[n])},e.prototype.scale=function(){var e={},i=this.options.yField;e[this.options.yField]={tickCount:6,alias:i+" (%)",min:0,max:1,formatter:function(t){return(100*t).toFixed(1)+"%"}},this.options.meta=r.deepMix({},e,this.options.meta),t.prototype.scale.call(this)},e}(a.default);e.default=l,o.registerPlotType("percentStackedArea",l)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(20),a=i(8),s=n.__importDefault(i(57)),l=i(25),u=n.__importDefault(i(13)),c=i(28),h=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.getPosition=function(t){var e=this.getDefaultOffset(),i=this.getValue(t),n=this.getElementShapeBBox(t),r=n.minX,o=n.minY,a=n.maxY,s=n.width,l=this.options;return{x:r+s/2+l.offsetX,y:(i>0?o:a)+e*(i>0?-1:1)+l.offsetY}},e.prototype.getTextFill=function(t){return this.options.style.fill},e.prototype.getTextStroke=function(t){},e.prototype.adjustLabel=function(t,e){},e.prototype.layoutLabels=function(t,e){this.shouldInShapeLabels(e)&&this.inShapeLabels(t,e),this.autoHideLabels(t,e)},e.prototype.shouldInShapeLabels=function(t){var e=this;return r.every(t,(function(t){var i=t.getBBox(),n=t.get("element");return e.getElementShapeBBox(n).width>=i.width}))},e.prototype.inShapeLabels=function(t,e){var i=this,n=this.getCoordinateBBox(),o=t.getXYFields()[0],s=this.options,h=s.darkStyle,p=s.lightStyle,f=r.groupBy(e,(function(t){return t.get(a.ORIGIN)[a.FIELD_ORIGIN][o]}));r.each(e,(function(t){var e=f[t.get(a.ORIGIN)[a.FIELD_ORIGIN][o]]||[],s=t.get("element"),d=s.shape,g=c.isContrastColorWhite(d.attr("fill")),y=i.getElementShapeBBox(s),v=u.default.fromBBoxObject(t.getBBox());(l.getOverlapArea(n,y)<=0&&t.set("visible",!1),v.height>y.height)?0!==r.findIndex(e,(function(e){return e===t}))&&t.set("visible",!1):(t.attr({y:y.y+y.height/2,textBaseline:"middle"}),v.width>y.width||v.height>y.height?t.attr({stroke:null==p?void 0:p.stroke}):t.attr({fill:g?null==p?void 0:p.fill:null==h?void 0:h.fill,fillOpacity:g?null==p?void 0:p.fillOpacity:null==h?void 0:h.fillOpacity,stroke:void 0}))}))},e.prototype.autoHideLabels=function(t,e){var i,n=this.getCoordinateBBox(),o=this.filterLabels(e),s=t.getXYFields()[0],u=[],c=[],h=r.groupBy(o,(function(t){return t.get(a.ORIGIN)[a.FIELD_ORIGIN][s]})),p=r.uniq(r.map(o,(function(t){return t.get(a.ORIGIN)[a.FIELD_ORIGIN][s]})));for(r.size(p)>0&&(i=p.shift(),r.each(h[i],(function(t){return c.push(t)}))),r.size(p)>0&&(i=p.pop(),r.each(h[i],(function(t){return c.push(t)}))),r.each(p.reverse(),(function(t){r.each(h[t],(function(t){return c.push(t)}))}));c.length>0;){var f=c.shift();f.get("visible")&&(l.moveInPanel(f,n),l.checkShapeOverlap(f,u)?f.set("visible",!1):u.push(f))}},e.prototype.filterLabels=function(t){var e=[],i=Math.max(Math.floor(t.length/500),1);return r.each(t,(function(t,n){n%i==0?e.push(t):t.set("visible",!1)})),e},e}(s.default);e.default=h,o.registerLabelComponent("column-auto",h)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});var o=r.getEventMap({column:"interval"});n.assign(r.EVENT_MAP,o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(20),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.adjustLabel=function(t,e){if(this.options.adjustPosition){var i=t.getBBox(),n=this.getElementShapeBBox(e);(n.height'),this.container.appendChild(this.wrapperNode),r.modifyCSS(this.wrapperNode,{position:"absolute",pointerEvents:"none"});var t=this.html;this.wrapperNode.appendChild(t),this.setDomPosition(this.x,this.y)}},t.prototype.updateHtml=function(t){n.isType(t,"HTMLDivElement")?(this.wrapperNode.innerHTML="",this.wrapperNode.appendChild(t)):this.wrapperNode.innerHTML=t,this.setDomPosition(this.x,this.y)},t.prototype.updatePosition=function(t,e){this.x=t,this.y=e,this.setDomPosition(t,e)},t.prototype.destroy=function(){this.container.removeChild(this.wrapperNode)},t.prototype.getDefaultOptions=function(){return{x:0,y:0,width:0,height:0,html:"",container:null,alignX:"middle",alignY:"middle"}},t.prototype.setDomPosition=function(t,e){var i=t,n=e,o=r.getOuterWidth(this.wrapperNode),a=r.getOuterHeight(this.wrapperNode);"middle"===this.options.alignX&&(i=t-o/2),"middle"===this.options.alignY&&(n=e-a/2),r.modifyCSS(this.wrapperNode,{top:Math.round(n)+"px",left:Math.round(i)+"px",transform:o>0?"none":"translate(-50%, -50%)"})},t}();e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(7),o=i(0),a=i(6),s=n.__importDefault(i(101)),l=n.__importStar(i(412)),u=n.__importDefault(i(413)),c={ring:"interval"},h={interval:"ring"},p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="donut",e}return n.__extends(e,t),e.getDefaultOptions=function(){return o.deepMix({},t.getDefaultOptions.call(this),{radius:.8,innerRadius:.64,tooltip:{visible:!1},statistic:{visible:!0,totalLabel:"总计",triggerOn:"mouseenter",triggerOff:"mouseleave"}})},e.prototype.beforeInit=function(){t.prototype.beforeInit.call(this),e.centralId++,this.statisticClass="statisticClassId"+e.centralId,this.adjustLabelDefaultOptions()},e.prototype.afterRender=function(){var e=this.canvas.get("container");if(this.statistic&&(e.removeChild(this.statistic.wrapperNode),this.statistic=null),this.options.statistic&&this.options.statistic.visible){var i=this.canvas.get("container");r.modifyCSS(i,{position:"relative"}),this.statistic=new u.default(n.__assign({container:i,view:this.view,plot:this,statisticClass:this.statisticClass},this.options.statistic)),this.statistic.render(),this.options.statistic.triggerOn&&this.statistic.triggerOn()}t.prototype.afterRender.call(this)},e.prototype.destroy=function(){this.statistic&&this.statistic.destroy(),t.prototype.destroy.call(this)},e.prototype.geometryParser=function(t,e){return"g2"===t?c[e]:h[e]},e.prototype.coord=function(){var t=this.options,e={type:"theta",cfg:{radius:t.radius,innerRadius:t.innerRadius}};this.setConfig("coordinate",e)},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,l)},e.prototype.adjustLabelDefaultOptions=function(){var t=this.options.label;if(t&&"inner"===t.type){var e=t.style||{};e.textAlign||(e.textAlign="center"),t.style=e,t.offset||(t.offset=(this.options.innerRadius-1)/2*100+"%")}},e.centralId=0,e}(s.default);e.default=p,a.registerPlotType("donut",p)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(15)),s=i(17),l=i(27),u=n.__importDefault(i(421)),c=n.__importDefault(i(422)),h=n.__importStar(i(176)),p=i(26);i(423);var f={scatter:"point"},d={point:"point"},g=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="scatter",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{pointSize:4,pointStyle:{lineWidth:1,strokeOpacity:1,fillOpacity:.95,stroke:"#fff"},xAxis:{nice:!0,grid:{visible:!0},line:{visible:!0}},yAxis:{nice:!0,grid:{visible:!0},line:{visible:!0}},tooltip:{visible:!0,shared:null,showTitle:!1,showMarkers:!1,showCrosshairs:!1},label:{visible:!1},shape:"circle"})},e.prototype.afterRender=function(){t.prototype.afterRender.call(this),this.quadrant&&this.quadrant.destroy(),this.trendline&&this.trendline.destroy(),this.options.quadrant&&this.options.quadrant.visible&&(this.quadrant=new u.default(n.__assign({view:this.view,plotOptions:this.options},this.options.quadrant)),this.quadrant.render()),this.options.trendline&&this.options.trendline.visible&&(this.trendline=new c.default(n.__assign({view:this.view,plotOptions:this.options},this.options.trendline)),this.trendline.render())},e.prototype.destroy=function(){this.quadrant&&(this.quadrant.destroy(),this.quadrant=null),this.trendline&&(this.trendline.destroy(),this.trendline=null),t.prototype.destroy.call(this)},e.prototype.isValidLinearValue=function(t){return!r.isNil(t)&&!Number.isNaN(Number(t))},e.prototype.processData=function(t){var e=this,i=this.options,o=i.xField,a=i.yField,s=r.get(this.options,["xAxis","type"],"linear"),l=r.get(this.options,["yAxis","type"],"linear");return s&&l?t.filter((function(t){return!("linear"===s&&!e.isValidLinearValue(t[o]))&&!("linear"===l&&!e.isValidLinearValue(t[a]))})).map((function(t){var e;return n.__assign(n.__assign({},t),((e={})[o]="linear"===s?Number(t[o]):String(t[o]),e[a]="linear"===l?Number(t[a]):String(t[a]),e))})):t},e.prototype.geometryParser=function(t,e){return"g2"===t?f[e]:d[e]},e.prototype.scale=function(){var e=this.options,i={};i[e.xField]={},r.has(e,"xAxis")&&l.extractScale(i[e.xField],e.xAxis),i[e.yField]={},r.has(e,"yAxis")&&l.extractScale(i[e.yField],e.yAxis);var n=r.find(e.interactions,(function(t){return"timeline"===t.type}));if(n&&r.get(n,"cfg.key")){var o=n.cfg.key;i[o]?i[o].key=!0:i[o]={key:!0}}this.setConfig("scales",i),t.prototype.scale.call(this)},e.prototype.coord=function(){},e.prototype.annotation=function(){},e.prototype.addGeometry=function(){var t=s.getGeom("point","circle",{plot:this});if(this.points=t,this.options.tooltip&&this.options.tooltip.visible){var e=this.options.tooltip,i=e.showTitle,r=e.titleField;this.extractTooltip(),this.setConfig("tooltip",n.__assign({showTitle:i,title:i?r:void 0},this.options.tooltip))}this.options.label&&this.label(),this.setConfig("geometry",t)},e.prototype.label=function(){var t=this.options;if(!1!==t.label.visible){var e=p.getComponent("label",n.__assign(n.__assign({fields:t.label.field?[t.label.field]:[t.yField]},t.label),{plot:this}));this.points&&(this.points.label=e)}else this.points&&(this.points.label=!1)},e.prototype.animation=function(){t.prototype.animation.call(this),!1===this.options.animation&&(this.points.animate=!1)},e.prototype.parseEvents=function(e){t.prototype.parseEvents.call(this,e||h)},e.prototype.extractTooltip=function(){this.points.tooltip={};var t=this.options.tooltip;t.fields?this.points.tooltip.fields=t.fields:this.points.tooltip.fields=[this.options.xField,this.options.yField],t.formatter&&(this.points.tooltip.callback=t.formatter,this.options.colorField&&this.points.tooltip.fields.push(this.options.colorField))},e}(a.default);e.default=g,o.registerPlotType("scatter",g)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});var o=r.getEventMap({point:"point",trendline:"trendline",confidence:"confidence",quadrant:"quadrant",quadrantLabel:"quadrant-label",quadrantLine:"quadrant-line"});n.assign(r.EVENT_MAP,o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.GaugeShape=void 0;var n=i(1),r=i(0),o=i(30),a=i(11),s=i(38),l=function(){function t(t){this.uid=t}return t.prototype.setOption=function(t,e){this.type=t,this.options=e,this.axis=e.axis,this.pivot=e.pivot},t.prototype.render=function(){var t=this;o.registerShape("point","gauge",{draw:function(e,i){var n,r,o;this.gauge={},this.gauge.options=t.options,this.gauge.axis=t.axis,this.gauge.pivot=t.pivot,this.gauge.type=t.type;var a=this.gauge,s=this.gauge.type,l=e.points[0],u=this.parsePoint({x:0,y:0}),c=this.parsePoint({x:l.x||0,y:1});a.center=u,a.group=i;var h=u.x-c.x,p=u.y-c.y;this.gauge.ringRadius=Math.sqrt(h*h+p*p);var f=this.getAngleRange(),d=f.starAngle,g=f.endAngle,y=l.x*(g-d)+d;switch(s){case"meterGauge":this.drawBarGauge(y),this.gauge.axis.visible&&(null===(n=this.gauge.axis.tickLine)||void 0===n?void 0:n.visible)&&this.drawInSideAxis();break;case"fanGauge":this.drawGauge(y),this.gauge.axis.visible&&(null===(r=this.gauge.axis.tickLine)||void 0===r?void 0:r.visible)&&this.drawOutSideAxis();break;case"standardGauge":default:this.drawGauge(y),this.gauge.axis.visible&&(null===(o=this.gauge.axis.tickLine)||void 0===o?void 0:o.visible)&&this.drawAxis()}this.gauge.pivot.visible&&this.drawPivot(e,i)},drawGauge:function(t){var e=this.gauge.options.range;this.drawBottomRing(),e&&e.length?this.drawRangeColor():this.drawCurrentRing(t)},drawRangeColor:function(){for(var t=this.gauge.options,e=t.min,i=t.max,n=t.range,o=t.color,s=t.rangeStyle,l=o||a.getGlobalTheme().colors,u=this.getAngleRange(),c={min:e,max:i,starAngle:u.starAngle,endAngle:u.endAngle},h=0;h=p){var d=this.getPath(p,f),g=r.deepMix({fill:l[h]},s);this.drawRing(d,g)}}},drawBottomRing:function(){var t=this.getAngleRange(),e=t.starAngle,i=t.endAngle,n=this.gauge.options.rangeBackgroundStyle,r=this.getPath(e,i);this.drawRing(r,n)},drawCurrentRing:function(t){var e=this.getAngleRange().starAngle,i=this.gauge.rangeStyle,n=this.getPath(e,t);this.drawRing(n,i)},drawInSideAxis:function(){for(var t=this.gauge.options,e=t.min,i=t.max,n=t.axis,r=this.getAngleRange(),o={min:e,max:i,starAngle:r.starAngle,endAngle:r.endAngle},a=(i-e)/n.tickCount,s=0;s=b?r.deepMix({},{fill:u},c):h;this.drawRing(_,O)}},getAngleRange:function(){var t=90-.5*(360-this.gauge.options.angle);return{starAngle:(180-t)*Math.PI/180,endAngle:(360+t)*Math.PI/180}},valueToAngle:function(t,e){var i=e.min,n=e.max,r=e.starAngle,o=e.endAngle;if(t===n)return o;if(t===i)return r;var a=(t-i)/(n-i);n===i&&(a=1);var s=a*(o-r)+r;return s=Math.max(s,r),s=Math.min(s,o)},drawRing:function(t,e){this.gauge.group.addShape("path",{attrs:r.deepMix({},{path:t},e)})},drawRect:function(t,e){var i,o=this.gauge.axis,a=n.__assign(n.__assign({},o),e),s=a.offset,l=a.length,u=this.gauge.center,c=(i=s<0?this.gauge.ringRadius-this.gauge.options.rangeSize+s:this.gauge.ringRadius+s)*Math.cos(t)+u.x,h=i*Math.sin(t)+u.y,p=(i+l)*Math.cos(t)+u.x,f=(i+l)*Math.sin(t)+u.y;this.gauge.group.addShape("line",{attrs:r.deepMix({},{x1:c,y1:h,x2:p,y2:f},e.style)}).set("name","axis-tickLine")},getPath:function(t,e){var i=this.gauge.center,n=this.gauge.ringRadius,r=this.gauge.options.rangeSize,o=n*Math.cos(t)+i.x,a=n*Math.sin(t)+i.y,s=(n-r)*Math.cos(t)+i.x,l=(n-r)*Math.sin(t)+i.y,u=n*Math.cos(e)+i.x,c=n*Math.sin(e)+i.y,h=(n-r)*Math.cos(e)+i.x,p=(n-r)*Math.sin(e)+i.y,f=Math.abs(t-e)>Math.PI?1:0;return[["M",o,a],["A",n,n,0,f,1,u,c],["L",h,p],["A",n-r,n-r,0,f,0,s,l],["Z"]]},drawPivot:function(t){var e=this.getAngleRange(),i=e.starAngle,n=e.endAngle,o=this.gauge.options,a=o.radius,s=o.rangeSize,l=this.gauge.pivot,u=l.thickness,c=l.thickness/2.5,h=this.gauge.group,p=t.points[0],f=this.parsePoint({x:0,y:0}),d=p.x*(n-i)+i,g={x:(this.gauge.ringRadius-s)*a*Math.cos(d)+this.gauge.center.x,y:(this.gauge.ringRadius-s)*a*Math.sin(d)+this.gauge.center.y};if(l.base.visible&&h.addShape("circle",{attrs:r.deepMix({},{x:f.x,y:f.y,r:l.base.size?l.base.size/2:2.2*u},l.base.style)}),l.pointer.visible){var y={x:f.x-g.x,y:f.y-g.y},v=Math.sqrt(y.x*y.x+y.y*y.y);y.x*=1/v,y.y*=1/v;var m=-Math.PI/2,x=Math.cos(m)*y.x-Math.sin(m)*y.y,b=Math.sin(m)*y.x+Math.cos(m)*y.y,_=Math.PI/2,O=Math.cos(_)*y.x-Math.sin(_)*y.y,w=Math.sin(_)*y.x+Math.cos(_)*y.y,M=[["M",g.x+x*c,g.y+b*c],["L",f.x+x*u,f.y+b*u],["L",f.x+O*u,f.y+w*u],["L",g.x+O*c,g.y+w*c],["Z"]];h.addShape("path",{attrs:r.deepMix({},{path:M},l.pointer.style)}),h.addShape("circle",{attrs:{x:g.x,y:g.y,r:c,fill:l.pointer.style.fill}}),h.addShape("circle",{attrs:{x:f.x,y:f.y,r:u,fill:l.pointer.style.fill}})}l.pin.visible&&h.addShape("circle",{attrs:r.deepMix({},{x:f.x,y:f.y,r:c/1.2},l.pin.style)})}})},t}();e.GaugeShape=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=i(17),s=n.__importDefault(i(58)),l=n.__importDefault(i(457)),u=n.__importStar(i(458)),c={progress:"interval"},h={interval:"progress"},p=["#55A6F3","#E8EDF3"],f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="progress",e.isEntered=!1,e}return n.__extends(e,t),e.prototype.processProps=function(){var t=this.options;t.data=this.processData();var e={padding:[0,0,0,0],xField:"value",yField:"1",stackField:"type",barSize:t.size?t.size:this.getSize(),barStyle:t.progressStyle,color:this.parseColorProps(t)||p};t=r.mix(t,e)},e.prototype.init=function(){this.processProps(),t.prototype.init.call(this)},e.prototype.beforeInit=function(){var t=this.options.percent;if(!r.isNumber(t))throw new Error("Percent value is required, and the type of percent must be Number.")},e.prototype.update=function(t){var e=this.options;if(r.hasKey(t,"percent")&&(e.percent=t.percent,this.changeData(this.processData())),t.style&&(this.styleUpdateAnimation(t.style),this.updateColorConfigByStyle(t.style)),t.color){var i=void 0;r.isArray(t.color)?(this.options.color=t.color,i=[{fill:t.color[0]},{fill:t.color[1]}]):(this.options.color[0]=t.color,i={fill:t.color}),this.styleUpdateAnimation(i)}t.marker&&(this.updateMarkers(t.marker),this.options.marker=t.marker)},e.prototype.destroy=function(){this.markers&&this.markers.length>0&&(r.each(this.markers,(function(t){t.destroy()})),this.markers=[]),t.prototype.destroy.call(this)},e.prototype.afterRender=function(){var t=this;this.options.marker&&!this.markers&&(this.markers=[],r.each(this.options.marker,(function(e){var i=r.mix({canvas:t.canvas,view:t.view,progressSize:t.options.barSize},e),n=new l.default(i);t.markers.push(n)})));var e=this.view.geometries[0].container,i=e.getBBox(),n=e.addShape("rect",{attrs:{width:i.width,height:i.height,x:i.minX,y:i.minY,fill:"rgba(0,0,0,0)"}});this.canvas.draw(),n.on("mouseenter",(function(e){t.isEntered=!0,t.view.emit("progress:mouseenter",e)})),n.on("mouseleave",(function(e){t.isEntered=!1,t.view.emit("progress:mouseleave",e)})),this.canvas.get("container").addEventListener("mouseleave",(function(e){t.isEntered&&(t.view.emit("progress:mouseleave",e),t.isEntered=!1)}))},e.prototype.geometryParser=function(t,e){return"g2"===t?c[e]:h[e]},e.prototype.coord=function(){this.setConfig("coordinate",{actions:[["transpose"]]})},e.prototype.addGeometry=function(){var t=this.options,e=a.getGeom("interval","main",{positionFields:[t.yField,t.xField],plot:this});e.adjust=[{type:"stack"}],r.has(t,"animation")&&(e.animate=t.animation),this.setConfig("geometry",e)},e.prototype.parseEvents=function(e){e?t.prototype.parseEvents.call(this,e):t.prototype.parseEvents.call(this,u)},e.prototype.parseColorProps=function(t){var e;if(t.color){if(e=r.isFunction(t.color)?t.color(t.percent):t.color,r.isString(e)){var i=r.clone(p);return i[0]=e,i}return e}return t.color},e.prototype.processData=function(){var t=this.options;return[{type:"current",value:t.percent},{type:"rest",value:1-t.percent}]},e.prototype.updateMarkers=function(t){var e=t.length,i=this.getUpdateAnimationOptions();if(r.each(this.markers,(function(n,r){r>e-1?n.destroy():n.update(t[r],i.duration,i.easing)})),this.markers.length=50?10:4},e.prototype.styleUpdateAnimation=function(t){var e=this.getUpdateAnimationOptions(),i=e.duration,n=e.easing,o=[],a=this.view.geometries;r.each(a,(function(t){if("interval"===t.type){var e=t.elements;r.each(e,(function(t){o.push.apply(o,t.shape)}))}})),r.isArray(t)?r.each(t,(function(t,e){o[e].animate(t,i,n)})):o[0].animate(t,i,n)},e.prototype.getUpdateAnimationOptions=function(){var t=450,e="easeQuadInOut",i=this.options.animation;return i&&i.update&&(i.update.duration&&(t=i.update.duration),i.update.easing&&(e=i.update.easing)),{duration:t,easing:e}},e.prototype.updateColorConfigByStyle=function(t){var e=this;r.isArray(t)?r.each(t,(function(t,i){t.fill&&(e.options.color[i]=t.fill)})):t.fill&&(this.options.color[0]=t.fill)},e}(s.default);e.default=f,o.registerPlotType("progress",f)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(21),a=n.__importDefault(i(137)),s=n.__importDefault(i(13)),l=n.__importDefault(i(53)),u=i(38),c=n.__importDefault(i(89)),h=i(11),p=function(t){function e(e){var i=t.call(this,e)||this;return i.geomLayers=[],i.legends=[],i.requiredField=["xField","yField"],i.options=i.getOptions(e),i.initialOptions=r.deepMix({},e),i.themeController=new c.default,i}return n.__extends(e,t),e.getDefaultOptions=function(){return{title:{visible:!1,alignTo:"left",text:""},description:{visible:!1,text:"",alignTo:"left"}}},e.prototype.getOptions=function(e){var i=this.options||{},n=t.prototype.getOptions.call(this,e),o=this.constructor.getDefaultOptions(e);return r.deepMix({},n,o,i,e)},e.prototype.checkData=function(){for(var t,e,i=this,n=this.options,o=n.data,a=n.xField,s=n.yField,l=0;l=i&&c<=n&&"top"===o&&(i=c),u>=i&&u<=n&&"bottom"===o&&(n=u),l>t&&l<=e&&"left"===o&&(t=l),s>=t&&l<=e&&"right"===o&&(e=s)}})),new s.default(t,i,e-t,n-i)},e.prototype.getMockData=function(t){var e=this.options,i=e.xField,n=e.yField,r={};return r[i]="null",r[n[t]]=0,[r]},e}(l.default);e.default=p},function(t,e,i){"use strict";var n=i(1),r=i(10),o=i(113),a=i(118);function s(t,e,i){var n=t.getTotalMatrix();if(n){var r=function(t,e){if(e){var i=Object(a.invert)(e);return Object(a.multiplyVec2)(i,t)}return t}([e,i,1],n);return[r[0],r[1]]}return[e,i]}function l(t,e,i){if(t.isCanvas&&t.isCanvas())return!0;if(!Object(o.isAllowCapture)(t)&&!1===t.cfg.isInView)return!1;if(t.cfg.clipShape){var n=s(t,e,i),r=n[0],a=n[1];if(t.isClipped(r,a))return!1}var l=t.cfg.cacheCanvasBBox;return l||(l=t.getCanvasBBox()),e>=l.minX&&e<=l.maxX&&i>=l.minY&&i<=l.maxY}var u=i(35),c=i(49),h=i(14),p=i(5),f=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Object(n.__extends)(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return e.renderer="canvas",e.autoDraw=!0,e.localRefresh=!0,e.refreshElements=[],e.clipView=!0,e.quickHit=!1,e},e.prototype.onCanvasChange=function(t){"attr"!==t&&"sort"!==t&&"changeSize"!==t||(this.set("refreshElements",[this]),this.draw())},e.prototype.getShapeBase=function(){return u},e.prototype.getGroupBase=function(){return c.a},e.prototype.getPixelRatio=function(){var t=this.get("pixelRatio")||Object(p.d)();return t>=1?Math.ceil(t):1},e.prototype.getViewRange=function(){return{minX:0,minY:0,maxX:this.get("width"),maxY:this.get("height")}},e.prototype.createDom=function(){var t=document.createElement("canvas"),e=t.getContext("2d");return this.set("context",e),t},e.prototype.setDOMSize=function(e,i){t.prototype.setDOMSize.call(this,e,i);var n=this.get("context"),r=this.get("el"),o=this.getPixelRatio();r.width=o*e,r.height=o*i,o>1&&n.scale(o,o)},e.prototype.clear=function(){t.prototype.clear.call(this),this._clearFrame();var e=this.get("context"),i=this.get("el");e.clearRect(0,0,i.width,i.height)},e.prototype.getShape=function(e,i){return this.get("quickHit")?function t(e,i,n){if(!l(e,i,n))return null;for(var r=null,o=e.getChildren(),a=o.length-1;a>=0;a--){var u=o[a];if(u.isGroup())r=t(u,i,n);else if(l(u,i,n)){var c=u,h=s(u,i,n),p=h[0],f=h[1];c.isInShape(p,f)&&(r=u)}if(r)break}return r}(this,e,i):t.prototype.getShape.call(this,e,i,null)},e.prototype._getRefreshRegion=function(){var t,e=this.get("refreshElements"),i=this.getViewRange();e.length&&e[0]===this?t=i:(t=Object(h.d)(e))&&(t.minX=Math.floor(t.minX),t.minY=Math.floor(t.minY),t.maxX=Math.ceil(t.maxX),t.maxY=Math.ceil(t.maxY),this.get("clipView")&&(t=Object(h.e)(t,i)));return t},e.prototype.refreshElement=function(t){this.get("refreshElements").push(t)},e.prototype._clearFrame=function(){var t=this.get("drawFrame");t&&(Object(p.a)(t),this.set("drawFrame",null),this.set("refreshElements",[]))},e.prototype.draw=function(){var t=this.get("drawFrame");this.get("autoDraw")&&t||this._startDraw()},e.prototype._drawAll=function(){var t=this.get("context"),e=this.get("el"),i=this.getChildren();t.clearRect(0,0,e.width,e.height),Object(h.a)(t,this),Object(h.b)(t,i),this.set("refreshElements",[])},e.prototype._drawRegion=function(){var t=this.get("context"),e=this.get("refreshElements"),i=this.getChildren(),n=this._getRefreshRegion();n&&(t.clearRect(n.minX,n.minY,n.maxX-n.minX,n.maxY-n.minY),t.save(),t.beginPath(),t.rect(n.minX,n.minY,n.maxX-n.minX,n.maxY-n.minY),t.clip(),Object(h.a)(t,this),Object(h.b)(t,i,n),t.restore()),Object(p.c)(e,(function(t){t.get("hasChanged")&&t.set("hasChanged",!1)})),this.set("refreshElements",[])},e.prototype._startDraw=function(){var t=this,e=this.get("drawFrame");e||(e=Object(p.n)((function(){t.get("localRefresh")?t._drawRegion():t._drawAll(),t.set("drawFrame",null)})),this.set("drawFrame",e))},e.prototype.skipDraw=function(){},e}(r.AbstractCanvas);e.a=f},function(t,e,i){"use strict";(function(t){var i=this&&this.__spreadArrays||function(){for(var t=0,e=0,i=arguments.length;e1&&(i*=Math.sqrt(y),r*=Math.sqrt(y));var v=i*i*(g*g)+r*r*(d*d),m=v?Math.sqrt((i*i*(r*r)-v)/v):1;l===u&&(m*=-1),isNaN(m)&&(m=0);var x=r?m*i*g/r:0,b=i?m*-r*d/i:0,_=(c+p)/2+Math.cos(s)*x-Math.sin(s)*b,O=(h+f)/2+Math.sin(s)*x+Math.cos(s)*b,w=[(d-x)/i,(g-b)/r],M=[(-1*d-x)/i,(-1*g-b)/r],C=a([1,0],w),S=a(w,M);return o(w,M)<=-1&&(S=Math.PI),o(w,M)>=1&&(S=0),0===u&&S>0&&(S-=2*Math.PI),1===u&&S<0&&(S+=2*Math.PI),{cx:_,cy:O,rx:n.isSamePoint(t,[p,f])?0:i,ry:n.isSamePoint(t,[p,f])?0:r,startAngle:C,endAngle:C+S,xRotation:s,arcFlag:l,sweepFlag:u}}},,,,,,,,function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.G2=void 0;var n=i(1);n.__exportStar(i(119),e);var r=i(53);Object.defineProperty(e,"Layer",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"LayerConfig",{enumerable:!0,get:function(){return r.LayerConfig}});var o=i(15);Object.defineProperty(e,"ViewLayer",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"ViewConfig",{enumerable:!0,get:function(){return o.ViewConfig}});var a=i(4);Object.defineProperty(e,"Base",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"PlotConfig",{enumerable:!0,get:function(){return a.PlotConfig}}),n.__exportStar(i(263),e);var s=i(58);Object.defineProperty(e,"TinyLayerConfig",{enumerable:!0,get:function(){return s.TinyLayerConfig}});var l=i(456);Object.defineProperty(e,"Progress",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"ProgressConfig",{enumerable:!0,get:function(){return l.ProgressConfig}});var u=i(459);Object.defineProperty(e,"RingProgress",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"RingProgressConfig",{enumerable:!0,get:function(){return u.RingProgressConfig}});var c=i(462);Object.defineProperty(e,"TinyColumn",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"TinyColumnConfig",{enumerable:!0,get:function(){return c.TinyColumnConfig}});var h=i(465);Object.defineProperty(e,"TinyArea",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(e,"TinyAreaConfig",{enumerable:!0,get:function(){return h.TinyAreaConfig}});var p=i(468);Object.defineProperty(e,"TinyLine",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"TinyLineConfig",{enumerable:!0,get:function(){return p.TinyLineConfig}});var f=i(471);Object.defineProperty(e,"DualLine",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"DualLineConfig",{enumerable:!0,get:function(){return f.DualLineConfig}});var d=i(473);Object.defineProperty(e,"ColumnLine",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"ColumnLineConfig",{enumerable:!0,get:function(){return d.ColumnLineConfig}});var g=i(474);Object.defineProperty(e,"GroupedColumnLine",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(e,"GroupedColumnLineConfig",{enumerable:!0,get:function(){return g.GroupedColumnLineConfig}});var y=i(476);Object.defineProperty(e,"StackedColumnLine",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(e,"StackedColumnLineConfig",{enumerable:!0,get:function(){return y.StackedColumnLineConfig}});var v=i(11);Object.defineProperty(e,"registerTheme",{enumerable:!0,get:function(){return v.registerTheme}}),Object.defineProperty(e,"registerGlobalTheme",{enumerable:!0,get:function(){return v.registerGlobalTheme}});var m=i(150);Object.defineProperty(e,"registerResponsiveConstraint",{enumerable:!0,get:function(){return m.registerResponsiveConstraint}}),Object.defineProperty(e,"IConstraint",{enumerable:!0,get:function(){return m.IConstraint}});var x=i(151);Object.defineProperty(e,"registerResponsiveRule",{enumerable:!0,get:function(){return x.registerResponsiveRule}});var b=i(65);Object.defineProperty(e,"registerResponsiveTheme",{enumerable:!0,get:function(){return b.registerResponsiveTheme}}),Object.defineProperty(e,"getResponsiveTheme",{enumerable:!0,get:function(){return b.getResponsiveTheme}});var _=i(139);Object.defineProperty(e,"StateManager",{enumerable:!0,get:function(){return _.default}});var O=n.__importStar(i(30));e.G2=O},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),r=i(120),o=function(t,e){var i=e.x-t.x,n=e.y-t.y;return Math.abs(i)>Math.abs(n)?i>0?"right":"left":n>0?"down":"up"},a=function(t,e){var i=Math.abs(e.x-t.x),n=Math.abs(e.y-t.y);return Math.sqrt(i*i+n*n)},s=function(t,e){if(t){for(var i=[],n=t.length,r=0;r1?(i.startDistance=a(r[0],r[1]),i.center=(e=r[0],n=r[1],{x:(e.x+n.x)/2,y:(e.y+n.y)/2})):i.pressTimeout=setTimeout((function(){t.direction="none",i.emitStart("press",t),i.emitEvent("press",t),i.eventType="press"}),250))},i.touchMove=function(t){var e=s(t.originalEvent.touches,i.canvas);if(e){i.clearPressTimeout(),t.points=e;var n=i.startPoints;if(n)if(e.length>1){var r=i.startDistance,l=a(e[0],e[1]);t.zoom=l/r,t.center=i.center,i.emitStart("pinch",t),i.emitEvent("pinch",t)}else{var u=e[0].x-n[0].x,c=e[0].y-n[0].y,h=i.direction||o(n[0],e[0]);i.direction=h;var p=i.getEventType(e);t.direction=h,t.deltaX=u,t.deltaY=c,i.emitStart(p,t),i.emitEvent(p,t);var f=i.lastMoveTime,d=Date.now();d-f>0&&(i.prevMoveTime=f,i.prevMovePoints=i.lastMovePoints,i.lastMoveTime=d,i.lastMovePoints=e)}}},i.touchEnd=function(t){i.emitEnd(t);var e=i.lastMoveTime;if(Date.now()-e<100){var n=e-(i.prevMoveTime||i.startTime);if(n>0){var r=i.prevMovePoints||i.startPoints,s=i.lastMovePoints,l=a(r[0],s[0])/n;l>.3&&(t.velocity=l,t.direction=o(r[0],s[0]),i.emitEvent("swipe",t))}}i.reset();var u=t.touches;u&&u.length>0&&i.touchStart(t)},i.canvas=e.getCanvas(),i.delegateEvent(),i.processEvent={},i}return n.__extends(e,t),Object.defineProperty(e.prototype,"name",{get:function(){return"gesture"},enumerable:!1,configurable:!0}),e.prototype.init=function(){},e.prototype.render=function(){},e.prototype.layout=function(){},e.prototype.update=function(){},e.prototype.destroy=function(){this.reset(),this.offEvent(),this.processEvent=null},e.prototype.delegateEvent=function(){this.canvas.on("touchstart",this.touchStart),this.canvas.on("touchmove",this.touchMove),this.canvas.on("touchend",this.touchEnd)},e.prototype.offEvent=function(){this.canvas.off("touchstart",this.touchStart),this.canvas.off("touchmove",this.touchMove),this.canvas.off("touchend",this.touchEnd)},e.prototype.emitEvent=function(t,e){this.view.emit(t,e)},e.prototype.emitStart=function(t,e){this.isProcess(t)||(this.enable(t),this.emitEvent(t+"start",e))},e.prototype.emitEnd=function(t){var e=this,i=this.processEvent;Object.keys(i).forEach((function(n){e.emitEvent(n+"end",t),delete i[n]}))},e.prototype.enable=function(t){this.processEvent[t]=!0},e.prototype.isProcess=function(t){return this.processEvent[t]},e.prototype.reset=function(){this.clearPressTimeout(),this.startTime=0,this.startPoints=null,this.startDistance=0,this.direction=null,this.eventType=null,this.prevMoveTime=0,this.prevMovePoints=null,this.lastMoveTime=0,this.lastMovePoints=null},e.prototype.clearPressTimeout=function(){this.pressTimeout&&(clearTimeout(this.pressTimeout),this.pressTimeout=0)},e.prototype.getEventType=function(t){var e,i=this.eventType,n=this.view,r=this.startTime,o=this.startPoints;if(i)return i;var s=n.getEvents().pan;s&&s.length?e=Date.now()-r>250&&a(o[0],t[0])<10?"press":"pan":e="press";return this.eventType=e,e},e}(r.Controller);e.default=l},function(t){t.exports=JSON.parse('{"name":"@antv/g-base","version":"0.4.7","description":"A common util collection for antv projects","main":"lib/index.js","module":"esm/index.js","types":"lib/index.d.ts","files":["package.json","esm","lib","LICENSE","README.md"],"scripts":{"build":"npm run clean && run-p build:*","build:esm":"tsc -p tsconfig.json --target ES5 --module ESNext --outDir esm","build:cjs":"tsc -p tsconfig.json --target ES5 --module commonjs --outDir lib","clean":"rm -rf esm lib","watch:cjs":"tsc-watch -p tsconfig.json --target ES5 --module commonjs --outDir lib --compiler typescript/bin/tsc","coverage":"npm run coverage-generator && npm run coverage-viewer","coverage-generator":"torch --coverage --compile --source-pattern src/*.js,src/**/*.js --opts tests/mocha.opts","coverage-viewer":"torch-coverage","test":"torch --renderer --compile --opts tests/mocha.opts","test-live":"torch --compile --interactive --opts tests/mocha.opts","tsc":"tsc --noEmit","typecheck":"tsc --noEmit"},"repository":{"type":"git","url":"git+https://github.com/antvis/util.git"},"keywords":["util","antv","g"],"publishConfig":{"access":"public"},"author":"https://github.com/orgs/antvis/people","license":"ISC","bugs":{"url":"https://github.com/antvis/util/issues"},"devDependencies":{"@antv/torch":"^1.0.0","gl-matrix":"^3.0.0","less":"^3.9.0","npm-run-all":"^4.1.5","tsc-watch":"^4.0.0"},"homepage":"https://github.com/antvis/util#readme","dependencies":{"@antv/event-emitter":"^0.1.1","@antv/g-math":"^0.1.3","@antv/matrix-util":"^3.1.0-beta.1","@antv/path-util":"~2.0.5","@antv/util":"~2.0.0","@types/d3-timer":"^1.0.9","d3-ease":"^1.0.5","d3-interpolate":"^1.3.2","d3-timer":"^1.0.9","detect-browser":"^5.1.0"},"__npminstall_done":"Tue Sep 22 2020 09:06:45 GMT+0800 (中国标准时间)","gitHead":"eb6a2503cb7bb8154697592b10680939d954a31a","_from":"@antv/g-base@0.4.7","_resolved":"https://registry.npm.alibaba-inc.com/@antv/g-base/download/@antv/g-base-0.4.7.tgz"}')},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(37);e.default=function(t){return n.default(t)?"":t.toString()}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),r=i(197),o=function(){function t(t){var e=t.xField,i=t.yField,n=t.adjustNames,r=void 0===n?["x","y"]:n;this.adjustNames=r,this.xField=e,this.yField=i}return t.prototype.isAdjust=function(t){return this.adjustNames.indexOf(t)>=0},t.prototype.getAdjustRange=function(t,e,i){var n,r,o=this.yField,a=i.indexOf(e),s=i.length;return!o&&this.isAdjust("y")?(n=0,r=1):s>1?(n=i[0===a?0:a-1],r=i[a===s-1?s-1:a+1],0!==a?n+=(e-n)/2:n-=(r-e)/2,a!==s-1?r-=(r-e)/2:r+=(e-i[s-2])/2):(n=0===e?0:e-.5,r=0===e?1:e+.5),{pre:n,next:r}},t.prototype.adjustData=function(t,e){var i=this,r=this.getDimValues(e);n.each(t,(function(t,e){n.each(r,(function(n,r){i.adjustDim(r,n,t,e)}))}))},t.prototype.groupData=function(t,e){return n.each(t,(function(t){void 0===t[e]&&(t[e]=r.DEFAULT_Y)})),n.groupBy(t,e)},t.prototype.adjustDim=function(t,e,i,n){},t.prototype.getDimValues=function(t){var e=this.xField,i=this.yField,o={},a=[];if(e&&this.isAdjust("x")&&a.push(e),i&&this.isAdjust("y")&&a.push(i),a.forEach((function(e){o[e]=n.valuesOfKey(t,e).sort((function(t,e){return t-e}))})),!i&&this.isAdjust("y")){o.y=[r.DEFAULT_Y,1]}return o},t}();e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_Y=0,e.MARGIN_RATIO=.5,e.DODGE_RATIO=.5,e.GAP=.05},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),r=function(t,e){return n.isString(e)?e:t.invert(t.scale(e))},o=function(){function t(t){this.names=[],this.scales=[],this.linear=!1,this.values=[],this.callback=function(){return[]},this._parseCfg(t)}return t.prototype.mapping=function(){for(var t=this,e=[],i=0;i0!=n(u[1]-i)>0&&n(e-(i-l[1])*(l[0]-u[0])/(l[1]-u[1])-l[0])<0&&(o=!o)}return o}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t,e,i){return t>=e&&t<=i};e.default=function(t,e,i,r){var o=i.x-t.x,a=i.y-t.y,s=e.x-t.x,l=e.y-t.y,u=r.x-i.x,c=r.y-i.y,h=s*c-l*u,p=null;if(h*h>.001*(s*s+l*l)*(u*u+c*c)){var f=(o*c-a*u)/h,d=(o*l-a*s)/h;n(f,0,1)&&n(d,0,1)&&(p={x:t.x+f*s,y:t.y+f*l})}return p}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=new Map;e.register=function(t,e){n.set(t,e)},e.getMethod=function(t){return n.get(t)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.attr();return{x:e.x,y:e.y,width:e.width,height:e.height}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.attr(),i=e.x,n=e.y,r=e.r;return{x:i-r,y:n-r,width:2*r,height:2*r}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(29),r=i(86);e.default=function(t){for(var e=t.attr().points,i=[],o=[],a=0;aMath.PI/2?Math.PI-c:c,h=h>Math.PI/2?Math.PI-h:h,{xExtra:Math.cos(u/2-c)*(e/2*(1/Math.sin(u/2)))-e/2||0,yExtra:Math.cos(h-u/2)*(e/2*(1/Math.sin(u/2)))-e/2||0}}e.default=function(t){var e=t.attr(),i=e.path,s=e.stroke?e.lineWidth:0,c=function(t,e){for(var i=[],a=[],s=[],l=0;lh&&(h=g)}var y=function(t,e,i){return Math.atan(e/(t*Math.tan(i)))}(i,n,r),v=1/0,m=-1/0,x=[s,l];for(f=2*-Math.PI;f<=2*Math.PI;f+=Math.PI){var b=y+f;sm&&(m=_)}return{x:c,y:v,width:h-c,height:m-v}},length:function(t,e,i,n,r,o,a){},nearestPoint:function(t,e,i,n,o,a,u,c,h){var p=l(c-t,h-e,-o),f=p[0],d=p[1],g=r.default.nearestPoint(0,0,i,n,f,d),y=function(t,e,i,n){return(Math.atan2(n*t,i*e)+2*Math.PI)%(2*Math.PI)}(i,n,g.x,g.y);yu&&(g=s(i,n,u));var v=l(g.x,g.y,o);return{x:v[0]+t,y:v[1]+e}},pointDistance:function(t,e,i,r,o,a,s,l,u){var c=this.nearestPoint(t,e,i,r,l,u);return n.distance(c.x,c.y,l,u)},pointAt:function(t,e,i,n,r,s,l,u){var c=(l-s)*u+s;return{x:o(t,0,i,n,r,c),y:a(0,e,i,n,r,c)}},tangentAngle:function(t,e,i,r,o,a,s,l){var u=(s-a)*l+a,c=function(t,e,i,n,r,o,a,s){return-1*i*Math.cos(r)*Math.sin(s)-n*Math.sin(r)*Math.cos(s)}(0,0,i,r,o,0,0,u),h=function(t,e,i,n,r,o,a,s){return-1*i*Math.sin(r)*Math.sin(s)+n*Math.cos(r)*Math.cos(s)}(0,0,i,r,o,0,0,u);return n.piMod(Math.atan2(h,c))}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(29);function r(t,e){var i=Math.abs(t);return e>0?i:-1*i}e.default={box:function(t,e,i,n){return{x:t-i,y:e-n,width:2*i,height:2*n}},length:function(t,e,i,n){return Math.PI*(3*(i+n)-Math.sqrt((3*i+n)*(i+3*n)))},nearestPoint:function(t,e,i,n,o,a){var s=i,l=n;if(0===s||0===l)return{x:t,y:e};for(var u,c,h=o-t,p=a-e,f=Math.abs(h),d=Math.abs(p),g=s*s,y=l*l,v=Math.PI/4,m=0;m<4;m++){u=s*Math.cos(v),c=l*Math.sin(v);var x=(g-y)*Math.pow(Math.cos(v),3)/s,b=(y-g)*Math.pow(Math.sin(v),3)/l,_=u-x,O=c-b,w=f-x,M=d-b,C=Math.hypot(O,_),S=Math.hypot(M,w);v+=C*Math.asin((_*M-O*w)/(C*S))/Math.sqrt(g+y-u*u-c*c),v=Math.min(Math.PI/2,Math.max(0,v))}return{x:t+r(u,h),y:e+r(c,p)}},pointDistance:function(t,e,i,r,o,a){var s=this.nearestPoint(t,e,i,r,o,a);return n.distance(s.x,s.y,o,a)},pointAt:function(t,e,i,n,r){var o=2*Math.PI*r;return{x:t+i*Math.cos(o),y:e+n*Math.sin(o)}},tangentAngle:function(t,e,i,r,o){var a=2*Math.PI*o,s=Math.atan2(r*Math.cos(a),-i*Math.sin(a));return n.piMod(s)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(32),r=i(23),o=i(31),a=/[MLHVQTCSAZ]([^MLHVQTCSAZ]*)/gi,s=/[^\s\,]+/gi;e.default=function(t){var e=t||[];return r.default(e)?e:o.default(e)?(e=e.match(a),n.default(e,(function(t,i){if((t=t.match(s))[0].length>1){var r=t[0].charAt(0);t.splice(1,0,t[0].substr(1)),t[0]=r}n.default(t,(function(e,i){isNaN(e)||(t[i]=+e)})),e[i]=t})),e):void 0}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(86);e.default=function(t){var e=t.attr(),i=e.x1,r=e.y1,o=e.x2,a=e.y2,s={minX:Math.min(i,o),maxX:Math.max(i,o),minY:Math.min(r,a),maxY:Math.max(r,a)};return{x:(s=n.mergeArrowBBox(t,s)).minX,y:s.minY,width:s.maxX-s.minX,height:s.maxY-s.minY}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(t){var e=t.attr(),i=e.x,n=e.y,r=e.rx,o=e.ry;return{x:i-r,y:n-o,width:2*r,height:2*o}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(23),r="\t\n\v\f\r   ᠎              \u2028\u2029",o=new RegExp("([a-z])["+r+",]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?["+r+"]*,?["+r+"]*)+)","ig"),a=new RegExp("(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)["+r+"]*,?["+r+"]*","ig");e.default=function(t){if(!t)return null;if(n.default(t))return t;var e={a:7,c:6,o:2,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,u:3,z:0},i=[];return String(t).replace(o,(function(t,n,r){var o=[],s=n.toLowerCase();if(r.replace(a,(function(t,e){e&&o.push(+e)})),"m"===s&&o.length>2&&(i.push([n].concat(o.splice(0,2))),s="l",n="m"===n?"l":"L"),"o"===s&&1===o.length&&i.push([n,o[0]]),"r"===s)i.push([n].concat(o));else for(;o.length>=e[s]&&(i.push([n].concat(o.splice(0,e[s]))),e[s]););return""})),i}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.distanceAtSegment=e.angleAtSegments=e.pointAtSegments=e.lengthOfSegment=void 0;var n=i(18),r=i(29);function o(t){for(var e=0,i=[],n=0;n1||e<0||t.length<2)return null;var i=o(t),r=i.segments,a=i.totalLength;if(0===a)return{x:t[0][0],y:t[0][1]};for(var s=0,l=null,u=0;u=s&&e<=s+f){var d=(e-s)/f;l=n.default.pointAt(h[0],h[1],p[0],p[1],d);break}s+=f}return l},e.angleAtSegments=function(t,e){if(e>1||e<0||t.length<2)return 0;for(var i=o(t),n=i.segments,r=i.totalLength,a=0,s=0,l=0;l=a&&e<=a+p){s=Math.atan2(h[1]-c[1],h[0]-c[0]);break}a+=p}return s},e.distanceAtSegment=function(t,e,i){for(var r=1/0,o=0;o=t&&r<=t+i&&o>=e&&o<=e+n},e.intersectRect=function(t,e){return!(e.minX>t.maxX||e.maxXt.maxY||e.maxY1){for(var h=e[0],p=Math.abs(t.y-h[0].y),f=0,d=e;f=n&&t<=r},e.padEnd=function(t,e,i){if(n.isString(t))return t.padEnd(e,i);if(n.isArray(t)){var r=t.length;if(r=u}))||t[t.length-1]}var u=r.memoize((function(t){if(t.isCategory)return 1;for(var e=t.values,i=e.length,n=t.translate(e[0]),r=n,o=0;or&&(r=s)}return(r-n)/(i-1)}));function c(t){for(var e,i=0,n=function(t){var e=r.values(t.attributes);return r.filter(e,(function(t){return r.contains(o.GROUP_ATTRS,t.type)}))}(t);i(1+o)/2&&(s=a),n.translate(n.invert(s))}(t,i),C=O[o.FIELD_ORIGIN][h],S=O[o.FIELD_ORIGIN][p],j=w[o.FIELD_ORIGIN][h],P=c.isLinear&&r.isArray(S);if(r.isArray(C)){for(m=0;m=M){if(!P){f=D;break}r.isArray(f)||(f=[]),f.push(D)}}r.isArray(f)&&(f=l(f,t,i))}else{var T=void 0;if(a.isLinear||"timeCat"===a.type){if((M>a.translate(j)||Ma.max||MMath.abs(a.translate(T[o.FIELD_ORIGIN][h])-M)&&(w=T)}var k=u(i.getXScale());return!f&&Math.abs(a.translate(w[o.FIELD_ORIGIN][h])-M)<=k/2&&(f=w),f},e.getTooltipItems=function(t,e,i){void 0===i&&(i="");var s,l=t[o.FIELD_ORIGIN],u=function(t,e,i){var n=i;i||(n=e.getAttribute("position").getFields()[0]);var o=e.scales;return o[n]?o[n].getText(t[n]):r.hasKey(t,n)?t[n]:n}(l,e,i),h=e.tooltipOption,p=e.theme.defaultColor,f=[];function d(e,i){if(!r.isNil(i)&&""!==i){var n={title:u,data:l,mappingData:t,name:e,value:i,color:t.color||p,marker:!0};f.push(n)}}if(r.isObject(h)){var g=h.fields,y=h.callback;if(y){var v=g.map((function(e){return t[o.FIELD_ORIGIN][e]})),m=y.apply(void 0,v),x=n.__assign({data:t[o.FIELD_ORIGIN],mappingData:t,title:u,color:t.color||p,marker:!0},m);f.push(x)}else for(var b=e.scales,_=0,O=g;_=0&&e.splice(i,1)},t.prototype.getCurrentPoint=function(){var t=this.event;return t?t.target instanceof HTMLElement?this.view.getCanvas().getPointByClient(t.clientX,t.clientY):{x:t.x,y:t.y}:null},t.prototype.getCurrentShape=function(){return n.get(this.event,["gEvent","shape"])},t.prototype.isInPlot=function(){var t=this.getCurrentPoint();return!!t&&this.view.isPointInPlot(t)},t.prototype.isInShape=function(t){var e=this.getCurrentShape();return!!e&&e.get("name")===t},t.prototype.isInComponent=function(t){var e=r.getComponents(this.view),i=this.getCurrentPoint();return!!i&&!!e.find((function(e){var n=e.getBBox();return t?e.get("name")===t&&r.isInBox(n,i):r.isInBox(n,i)}))},t.prototype.destroy=function(){this.view=null,this.event=null,n.each(this.actions.slice(),(function(t){t.destroy()})),this.actions=null,this.cacheMap=null},t}();e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.convertPolarPath=e.convertNormalPath=e.getSplinePath=e.getLinePath=e.catmullRom2bezier=e.smoothBezier=void 0;var n=i(3),r=i(0),o=i(130);function a(t,e){for(var i=[t[0]],n=1,r=t.length;n=s[c]?1:0,f=h>Math.PI?1:0,d=i.convert(l),g=o.getDistanceToCenter(i,d);if(g>=.5)if(h===2*Math.PI){var y={x:(l.x+s.x)/2,y:(l.y+s.y)/2},v=i.convert(y);u.push(["A",g,g,0,f,p,v.x,v.y]),u.push(["A",g,g,0,f,p,d.x,d.y])}else u.push(["A",g,g,0,f,p,d.x,d.y]);return u}(i,n,t)):l.push(a(r,t));break;case"z":default:l.push(r)}})),function(t){r.each(t,(function(e,i){if("a"===e[0].toLowerCase()){var n=t[i-1],r=t[i+1];r&&"a"===r[0].toLowerCase()?n&&"l"===n[0].toLowerCase()&&(n[0]="M"):n&&"a"===n[0].toLowerCase()&&r&&"l"===r[0].toLowerCase()&&(r[0]="M")}}))}(l),l}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(){function t(t,e){this.view=t,this.cfg=e}return t.prototype.init=function(){this.initEvents()},t.prototype.initEvents=function(){},t.prototype.clearEvents=function(){},t.prototype.destroy=function(){this.clearEvents()},t}();e.default=n},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.registerAnimation=e.getAnimation=void 0;var n={};e.getAnimation=function(t){return n[t.toLowerCase()]},e.registerAnimation=function(t,e){n[t.toLowerCase()]=e}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(2),r=i(0),o=i(63),a=n.__importDefault(i(234)),s=i(87),l=i(111),u=function(t){function e(e){var i=t.call(this,e)||this;i.states=[];var n=e.shapeFactory,r=e.container,o=e.offscreenGroup,a=e.visible,s=void 0===a||a;return i.shapeFactory=n,i.container=r,i.offscreenGroup=o,i.visible=s,i}return n.__extends(e,t),e.prototype.draw=function(t,e){void 0===e&&(e=!1),this.model=t,this.data=t.data,this.shapeType=this.getShapeType(t),this.drawShape(t,e),!1===this.visible&&this.changeVisible(!1)},e.prototype.update=function(t){var e=this.shapeFactory,i=this.shape;if(i){this.model=t,this.data=t.data,this.shapeType=this.getShapeType(t),this.setShapeInfo(i,t);var n=this.getOffscreenGroup(),r=e.drawShape(this.shapeType,t,n);r.cfg.data=this.data,r.cfg.origin=t,this.syncShapeStyle(i,r,"",this.getAnimateCfg("update"))}},e.prototype.destroy=function(){var e=this.shapeFactory,i=this.shape;if(i){var r=this.getAnimateCfg("leave");r?o.doAnimate(i,r,{coordinate:e.coordinate,toAttrs:n.__assign({},i.attr())}):i.remove(!0)}this.states=[],this.shapeFactory=void 0,this.container=void 0,this.shape=void 0,this.animate=void 0,this.geometry=void 0,this.labelShape=void 0,this.model=void 0,this.data=void 0,this.offscreenGroup=void 0,this.statesStyle=void 0,t.prototype.destroy.call(this)},e.prototype.changeVisible=function(e){t.prototype.changeVisible.call(this,e),e?(this.shape&&this.shape.show(),this.labelShape&&this.labelShape.forEach((function(t){t.show()}))):(this.shape&&this.shape.hide(),this.labelShape&&this.labelShape.forEach((function(t){t.hide()})))},e.prototype.setState=function(t,e){var i=this,n=this,r=n.states,o=n.shapeFactory,a=n.model,s=n.shape,u=n.shapeType,c=r.indexOf(t);if(e){if(c>-1)return;r.push(t),"active"!==t&&"selected"!==t||s.toFront()}else{if(-1===c)return;r.splice(c,1),"active"!==t&&"selected"!==t||s.toBack()}var h=o.drawShape(u,a,this.getOffscreenGroup());r.length?r.forEach((function(t){i.syncShapeStyle(s,h,t,null)})):this.syncShapeStyle(s,h,"reset",null),h.remove(!0);var p={state:t,stateStatus:e,element:this,target:this.container};this.container.emit("statechange",p),l.propagationDelegate(this.shape,"statechange",p)},e.prototype.clearStates=function(){var t=this,e=this.states;r.each(e,(function(e){t.setState(e,!1)})),this.states=[]},e.prototype.hasState=function(t){return this.states.includes(t)},e.prototype.getStates=function(){return this.states},e.prototype.getData=function(){return this.data},e.prototype.getModel=function(){return this.model},e.prototype.getBBox=function(){var t=this.shape,e=this.labelShape,i={x:0,y:0,minX:0,minY:0,maxX:0,maxY:0,width:0,height:0};return t&&(i=t.getCanvasBBox()),e&&e.forEach((function(t){var e=t.getCanvasBBox();i.x=Math.min(e.x,i.x),i.y=Math.min(e.y,i.y),i.minX=Math.min(e.minX,i.minX),i.minY=Math.min(e.minY,i.minY),i.maxX=Math.max(e.maxX,i.maxX),i.maxY=Math.max(e.maxY,i.maxY)})),i.width=i.maxX-i.minX,i.height=i.maxY-i.minY,i},e.prototype.getStatesStyle=function(){if(!this.statesStyle){var t=this.shapeType,e=this.geometry,i=this.shapeFactory,n=e.stateOption,o=i.defaultShapeType,a=i.theme[t]||i.theme[o];this.statesStyle=r.deepMix({},a,n)}return this.statesStyle},e.prototype.getStateStyle=function(t,e){var i=this.getStatesStyle(),n=r.get(i,[t,"style"],{}),o=n[e]||n;return r.isFunction(o)?o(this):o},e.prototype.getAnimateCfg=function(t){var e=this.animate;return e?e[t]:null},e.prototype.drawShape=function(t,e){void 0===e&&(e=!1);var i=this.shapeFactory,a=this.container,s=this.shapeType;if(this.shape=i.drawShape(s,t,a),this.shape){this.setShapeInfo(this.shape,t);var l=this.shape.cfg.name;l?r.isString(l)&&(this.shape.cfg.name=["element",l]):this.shape.cfg.name=["element",this.shapeFactory.geometryType];var u=e?"enter":"appear",c=this.getAnimateCfg(u);c&&o.doAnimate(this.shape,c,{coordinate:i.coordinate,toAttrs:n.__assign({},this.shape.attr())})}},e.prototype.getOffscreenGroup=function(){if(!this.offscreenGroup){var t=this.container.getGroupBase();this.offscreenGroup=new t({})}return this.offscreenGroup},e.prototype.setShapeInfo=function(t,e){var i=this;(t.cfg.origin=e,t.cfg.element=this,t.isGroup())&&t.get("children").forEach((function(t){i.setShapeInfo(t,e)}))},e.prototype.syncShapeStyle=function(t,e,i,n,a){if(void 0===i&&(i=""),void 0===a&&(a=0),t.isGroup())for(var l=t.get("children"),u=e.get("children"),c=0;c
      ',itemTpl:'
    • \n \n {name}:\n {value}\n
    • ',xCrosshairTpl:'
      ',yCrosshairTpl:'
      ',title:null,showTitle:!0,region:null,crosshairsRegion:null,containerClassName:u.CONTAINER_CLASS,crosshairs:null,offset:10,position:"right",domStyles:null,defaultStyles:c.default})},e.prototype.render=function(){this.get("customContent")?this.renderCustomContent():(this.resetTitle(),this.renderItems()),this.resetPosition()},e.prototype.clear=function(){this.clearCrosshairs(),this.setTitle(""),this.clearItemDoms()},e.prototype.show=function(){var t=this.getContainer();t&&!this.destroyed&&(this.set("visible",!0),o.modifyCSS(t,{visibility:"visible"}),this.setCrossHairsVisible(!0))},e.prototype.hide=function(){var t=this.getContainer();t&&!this.destroyed&&(this.set("visible",!1),o.modifyCSS(t,{visibility:"hidden"}),this.setCrossHairsVisible(!1))},e.prototype.getLocation=function(){return{x:this.get("x"),y:this.get("y")}},e.prototype.setLocation=function(t){this.set("x",t.x),this.set("y",t.y),this.resetPosition()},e.prototype.setCrossHairsVisible=function(t){var e=t?"":"none",i=this.get("xCrosshairDom"),n=this.get("yCrosshairDom");i&&o.modifyCSS(i,{display:e}),n&&o.modifyCSS(n,{display:e})},e.prototype.initContainer=function(){if(t.prototype.initContainer.call(this),this.get("customContent")){this.get("container")&&this.get("container").remove();var e=this.getHtmlContentNode();this.get("parent").appendChild(e),this.set("container",e),this.resetStyles(),this.applyStyles()}},e.prototype.updateInner=function(e){var i,n,r;this.get("customContent")?this.renderCustomContent():(i=e,n=["title","showTitle"],r=!1,a.each(n,(function(t){if(a.hasKey(i,t))return r=!0,!1})),r&&this.resetTitle(),a.hasKey(e,"items")&&this.renderItems()),t.prototype.updateInner.call(this,e)},e.prototype.initDom=function(){this.cacheDoms()},e.prototype.removeDom=function(){t.prototype.removeDom.call(this),this.clearCrosshairs()},e.prototype.resetPosition=function(){var t,e=this.get("x"),i=this.get("y"),n=this.get("offset"),r=this.getOffset(),a=r.offsetX,s=r.offsetY,u=this.get("position"),c=this.get("region"),p=this.getContainer(),f=this.getBBox(),d=f.width,g=f.height;c&&(t=l.regionToBBox(c));var y=h.getAlignPoint(e,i,n,d,g,u,t);o.modifyCSS(p,{left:l.toPx(y.x+a),top:l.toPx(y.y+s)}),this.resetCrosshairs()},e.prototype.renderCustomContent=function(){var t=this.getHtmlContentNode(),e=this.get("parent"),i=this.get("container");i&&i.parentNode===e?e.replaceChild(t,i):e.appendChild(t),this.set("container",t),this.resetStyles(),this.applyStyles()},e.prototype.getHtmlContentNode=function(){var t,e=this.get("customContent");if(e){var i=e(this.get("title"),this.get("items"));t=a.isElement(i)?i:o.createDom(i)}return t},e.prototype.cacheDoms=function(){var t=this.getContainer(),e=t.getElementsByClassName(u.TITLE_CLASS)[0],i=t.getElementsByClassName(u.LIST_CLASS)[0];this.set("titleDom",e),this.set("listDom",i)},e.prototype.resetTitle=function(){var t=this.get("title");this.get("showTitle")&&t?this.setTitle(t):this.setTitle("")},e.prototype.setTitle=function(t){var e=this.get("titleDom");e&&(e.innerText=t)},e.prototype.resetCrosshairs=function(){var t=this.get("crosshairsRegion"),e=this.get("crosshairs");if(t&&e){var i=l.regionToBBox(t),n=this.get("xCrosshairDom"),r=this.get("yCrosshairDom");"x"===e?(this.resetCrosshair("x",i),r&&(r.remove(),this.set("yCrosshairDom",null))):"y"===e?(this.resetCrosshair("y",i),n&&(n.remove(),this.set("xCrosshairDom",null))):(this.resetCrosshair("x",i),this.resetCrosshair("y",i)),this.setCrossHairsVisible(this.get("visible"))}else this.clearCrosshairs()},e.prototype.resetCrosshair=function(t,e){var i=this.checkCrosshair(t),n=this.get(t);"x"===t?o.modifyCSS(i,{left:l.toPx(n),top:l.toPx(e.y),height:l.toPx(e.height)}):o.modifyCSS(i,{top:l.toPx(n),left:l.toPx(e.x),width:l.toPx(e.width)})},e.prototype.checkCrosshair=function(t){var e=t+"CrosshairDom",i=t+"CrosshairTpl",n="CROSSHAIR_"+t.toUpperCase(),r=u[n],a=this.get(e),s=this.get("parent");return a||(a=o.createDom(this.get(i)),this.applyStyle(r,a),s.appendChild(a),this.set(e,a)),a},e.prototype.renderItems=function(){this.clearItemDoms();var t=this.get("items"),e=this.get("itemTpl"),i=this.get("listDom");i&&(a.each(t,(function(t){var s=r.default.toCSSGradient(t.color),l=n.__assign(n.__assign({},t),{color:s}),u=a.substitute(e,l),c=o.createDom(u);i.appendChild(c)})),this.applyChildrenStyles(i,this.get("domStyles")))},e.prototype.clearItemDoms=function(){this.get("listDom")&&l.clearDom(this.get("listDom"))},e.prototype.clearCrosshairs=function(){var t=this.get("xCrosshairDom"),e=this.get("yCrosshairDom");t&&t.remove(),e&&e.remove(),this.set("xCrosshairDom",null),this.set("yCrosshairDom",null)},e}(s.default);e.default=p},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(7),o=i(0),a=i(135),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.getDefaultCfg=function(){var e=t.prototype.getDefaultCfg.call(this);return n.__assign(n.__assign({},e),{container:null,containerTpl:"
      ",updateAutoRender:!0,containerClassName:"",parent:null})},e.prototype.getContainer=function(){return this.get("container")},e.prototype.show=function(){this.get("container").style.display="",this.set("visible",!0)},e.prototype.hide=function(){this.get("container").style.display="none",this.set("visible",!1)},e.prototype.setCapture=function(t){var e=t?"auto":"none";this.getContainer().style.pointerEvents=e,this.set("capture",t)},e.prototype.getBBox=function(){var t=this.getContainer(),e=parseFloat(t.style.left)||0,i=parseFloat(t.style.top)||0;return a.createBBox(e,i,t.clientWidth,t.clientHeight)},e.prototype.clear=function(){var t=this.get("container");a.clearDom(t)},e.prototype.destroy=function(){this.removeEvent(),this.removeDom(),t.prototype.destroy.call(this)},e.prototype.init=function(){t.prototype.init.call(this),this.initContainer(),this.initDom(),this.resetStyles(),this.applyStyles(),this.initEvent(),this.initCapture(),this.initVisible()},e.prototype.initCapture=function(){this.setCapture(this.get("capture"))},e.prototype.initVisible=function(){this.get("visible")?this.show():this.hide()},e.prototype.initDom=function(){},e.prototype.initContainer=function(){var t=this.get("container");if(o.isNil(t)){t=this.createDom();var e=this.get("parent");o.isString(e)&&(e=document.getElementById(e),this.set("parent",e)),e.appendChild(t),this.set("container",t)}else o.isString(t)&&(t=document.getElementById(t),this.set("container",t));this.get("parent")||this.set("parent",t.parentNode)},e.prototype.resetStyles=function(){var t=this.get("domStyles"),e=this.get("defaultStyles");t=t?o.deepMix({},e,t):e,this.set("domStyles",t)},e.prototype.applyStyles=function(){var t=this.get("domStyles");if(t){var e=this.getContainer();this.applyChildrenStyles(e,t);var i=this.get("containerClassName");if(i&&a.hasClass(e,i)){var n=t[i];r.modifyCSS(e,n)}}},e.prototype.applyChildrenStyles=function(t,e){o.each(e,(function(e,i){var n=t.getElementsByClassName(i);o.each(n,(function(t){r.modifyCSS(t,e)}))}))},e.prototype.applyStyle=function(t,e){var i=this.get("domStyles");r.modifyCSS(e,i[t])},e.prototype.createDom=function(){var t=this.get("containerTpl");return r.createDom(t)},e.prototype.initEvent=function(){},e.prototype.removeDom=function(){var t=this.get("container");t&&t.parentNode.removeChild(t)},e.prototype.removeEvent=function(){},e.prototype.updateInner=function(t){o.hasKey(t,"domStyles")&&(this.resetStyles(),this.applyStyles()),this.resetPosition()},e.prototype.resetPosition=function(){},e}(i(237).default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(10),o=i(0),a={none:[],point:["x","y"],region:["start","end"],points:["points"],circle:["center","radius","startAngle","endAngle"]},s=function(t){function e(e){var i=t.call(this,e)||this;return i.initCfg(),i}return n.__extends(e,t),e.prototype.getDefaultCfg=function(){return{id:"",name:"",type:"",locationType:"none",offsetX:0,offsetY:0,animate:!1,capture:!0,updateAutoRender:!1,animateOption:{appear:null,update:{duration:400,easing:"easeQuadInOut"},enter:{duration:400,easing:"easeQuadInOut"},leave:{duration:350,easing:"easeQuadIn"}},events:null,defaultCfg:{},visible:!0}},e.prototype.clear=function(){},e.prototype.update=function(t){var e=this,i=this.get("defaultCfg");o.each(t,(function(t,n){var r=t;e.get(n)!==t&&(o.isObject(t)&&i[n]&&(r=o.deepMix({},i[n],t)),e.set(n,r))})),this.updateInner(t),this.afterUpdate(t)},e.prototype.updateInner=function(t){},e.prototype.afterUpdate=function(t){o.hasKey(t,"visible")&&(t.visible?this.show():this.hide()),o.hasKey(t,"capture")&&this.setCapture(t.capture)},e.prototype.getLayoutBBox=function(){return this.getBBox()},e.prototype.getLocationType=function(){return this.get("locationType")},e.prototype.getOffset=function(){return{offsetX:this.get("offsetX"),offsetY:this.get("offsetY")}},e.prototype.setOffset=function(t,e){this.update({offsetX:t,offsetY:e})},e.prototype.setLocation=function(t){var e=n.__assign({},t);this.update(e)},e.prototype.getLocation=function(){var t=this,e={},i=this.get("locationType"),n=a[i];return o.each(n,(function(i){e[i]=t.get(i)})),e},e.prototype.isList=function(){return!1},e.prototype.isSlider=function(){return!1},e.prototype.init=function(){},e.prototype.initCfg=function(){var t=this,e=this.get("defaultCfg");o.each(e,(function(e,i){var n=t.get(i);if(o.isObject(n)){var r=o.deepMix({},e,n);t.set(i,r)}}))},e}(r.Base);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={fontFamily:'\n "-apple-system", BlinkMacSystemFont, "Segoe UI", Roboto,"Helvetica Neue",\n Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei",\n SimSun, "sans-serif"',textColor:"#2C3542",activeTextColor:"#333333",uncheckedColor:"#D8D8D8",lineColor:"#416180",regionColor:"#CCD7EB",verticalAxisRotate:-Math.PI/4,horizontalAxisRotate:Math.PI/4}},function(t,e,i){"use strict";function n(t,e,i,n,r){return{left:tr.x+r.width,top:er.y+r.height}}function r(t,e,i,n,r,o){var a=t,s=e;switch(o){case"left":a=t-n-i,s=e-r/2;break;case"right":a=t+i,s=e-r/2;break;case"top":a=t-n/2,s=e-r-i;break;case"bottom":a=t-n/2,s=e+i;break;default:a=t+i,s=e-r-i}return{x:a,y:s}}Object.defineProperty(e,"__esModule",{value:!0}),e.getAlignPoint=e.getPointByPosition=e.getOutSides=void 0,e.getOutSides=n,e.getPointByPosition=r,e.getAlignPoint=function(t,e,i,o,a,s,l){var u=r(t,e,i,o,a,s);if(l){var c=n(u.x,u.y,o,a,l);"auto"===s?(c.right&&(u.x=Math.max(0,t-o-i)),c.top&&(u.y=Math.max(0,e-a-i))):"top"===s||"bottom"===s?(c.left&&(u.x=l.x),c.right&&(u.x=l.x+l.width-o),"top"===s&&c.top&&(u.y=e+i),"bottom"===s&&c.bottom&&(u.y=e-a-i)):(c.top&&(u.y=l.y),c.bottom&&(u.y=l.y+l.height-a),"left"===s&&c.left&&(u.x=t+i),"right"===s&&c.right&&(u.x=t-o-i))}return u}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(138);function a(t,e,i){t[i]&&(e[i]=t[i])}var s=function(){function t(t){this.config=!1,this.plot=t.plot,this.dim=t.dim,this.init()}return t.prototype.init=function(){this.config=!1;var t=this.plot.getPlotTheme();this.themeConfig=t&&t.axis&&t.axis[this.dim],this._needDraw()&&this._styleParser()},t.prototype._styleParser=function(){this.config=n.__assign({},this.localProps),this._isVisible("line")?this._lineParser():this.config.line=null,this._isVisible("grid")?this._gridParser():this.config.grid=null,this._isVisible("tickLine")?this._tickLineParser():this.config.tickLine=null,this._isVisible("label")?this._labelParser():this.config.label=null,this._isVisible("title")?this._titleParser():this.config.title=null,a(this.localProps,this.config,"autoHideLabel"),a(this.localProps,this.config,"autoRotateLabel"),a(this.localProps,this.config,"autoRotateTitle")},t.prototype._needDraw=function(){var t=this.plot.options,e=t[this.dim+"Axis"]?t[this.dim+"Axis"]:{},i=r.deepMix({},this.themeConfig,e);return this.localProps=i,!!i.visible},t.prototype._lineParser=function(){this.config.line=this.localProps.line,this.localProps.line.style&&(this.config.line={style:this.localProps.line.style}),this.applyThemeConfig("line")},t.prototype._gridParser=function(){var t,e,i,n,o,a=this,s=null===(e=null===(t=this.localProps.grid)||void 0===t?void 0:t.line)||void 0===e?void 0:e.style,l=null===(n=null===(i=this.localProps.grid)||void 0===i?void 0:i.line)||void 0===n?void 0:n.type,u=null===(o=this.localProps.grid)||void 0===o?void 0:o.alternateColor;r.isFunction(s)?this.config.grid=function(t,e,i){var n=s(t,e,i);return{line:{type:l,style:r.deepMix({},r.get(a.themeConfig,"grid.line.style"),n)},alternateColor:u}}:s&&(this.config.grid={line:{type:l,style:s},alternateColor:u},this.applyThemeConfig("grid"))},t.prototype._tickLineParser=function(){this.config.tickLine=this.localProps.tickLine,this.localProps.tickLine.style&&(this.config.tickLine={style:this.localProps.tickLine.style}),this.applyThemeConfig("tickLine")},t.prototype._labelParser=function(){var t=this.localProps.label,e=t.style,i=n.__rest(t,["style"]),o=n.__assign({},i);e&&(o.style=n.__assign({},this.localProps.label.style)),o.style=r.deepMix({},r.get(this.themeConfig,"label.style"),o.style);var a=this.parseFormatter(o);o.formatter=a,this.config.label=o},t.prototype._titleParser=function(){var t=n.__assign({},this.localProps.title),e=this.localProps.title,i=e.visible,o=e.style,a=e.text;i?(this.config.showTitle=!0,o&&(t.style=o),t.style=r.deepMix({},r.get(this.config,"title.style"),t.textStyle),a&&(t.text=a)):this.config.showTitle=!1,this.config.title=t},t.prototype._isVisible=function(t){return!(!this.localProps[t]||!this.localProps[t].visible)},t.prototype.applyThemeConfig=function(t){this.config[t]=r.deepMix({},r.get(this.themeConfig,t+".style"),this.config[t])},t.prototype.parseFormatter=function(t){var e=o.combineFormatter(o.getNoopFormatter(),o.getPrecisionFormatter(t.precision),o.getSuffixFormatter(t.suffix));return t.formatter&&(e=o.combineFormatter(e,t.formatter)),e},t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(21),r=i(0),o=i(24),a=function(){function t(t){r.assign(this,t),this._init()}return t.prototype._init=function(){var t=this.plot.options,e=t.yField,i=t.data,n=this.plot.processData(i);if(!r.isEmpty(n)&&r.isNumber(n[0][e])){var o=this.getDefaultStyle(),a={type:"line",top:!0,start:this.cfg.start,end:this.cfg.end};if(a.style=r.deepMix({},o.line.style,this.cfg.lineStyle),a.text=r.deepMix({},o.text,this.cfg.text),this.cfg.type){var s=this._getState(this.cfg.type),l=100*(1-this.getYScale().scale(s))+"%",u=["0%",l],c=["100%",l];this.config=r.mix({start:u,end:c},a)}else{var h=this.cfg,p=h.start,f=h.end;this.config=r.clone(a);var d=this.getXScale(),g=this.getYScale(),y=r.clone(p),v=r.clone(f);r.each(p,(function(t,e){r.contains(r.toArray(p[e]),"%")&&!r.isNumber(p[e])||(y[e]=0===e?100*d.scale(p[0])+"%":100*(1-g.scale(p[1]))+"%")})),r.each(f,(function(t,e){r.contains(r.toArray(f[e]),"%")&&!r.isNumber(f[e])||(v[e]=0===e?100*d.scale(f[0])+"%":100*(1-g.scale(f[1]))+"%")})),this.config.start=y,this.config.end=v}}},t.prototype.getYScale=function(){var t=this._getState("min"),e=this._getState("max");return new(n.getScale("linear"))(r.mix({},{min:"column"===this.plot.type?0:t,max:e,nice:!0,values:this.values},this.plot.config.scales[this.plot.options.yField]))},t.prototype.getXScale=function(){var t=this.extractXValue();if(r.isString(t[0]))return new(n.getScale("cat"))(r.mix({},{values:t},this.plot.config.scales[this.plot.options.xField]));var e=Math.min.apply(Math,t),i=Math.max.apply(Math,t);return new(n.getScale("linear"))(r.mix({},{min:e,max:i,nice:!0,values:t},this.plot.config.scales[this.plot.options.xField]))},t.prototype._getState=function(t){return this.values=this._extractValues(),"median"===t?o.getMedian(this.values):"mean"===t?o.getMean(this.values):"max"===t?Math.max.apply(Math,this.values):"min"===t?Math.min.apply(Math,this.values):void 0},t.prototype._extractValues=function(){var t=this.plot.options,e=t.yField,i=[],n=this.plot.processData(t.data);return r.each(n,(function(t){r.isArray(t[e])?i.push.apply(i,t[e]):i.push(t[e])})),i},t.prototype.extractXValue=function(){var t=this.plot.options,e=t.xField,i=[],n=this.plot.processData(t.data);return r.each(n,(function(t){r.isArray(t[e])?i.push.apply(i,t[e]):i.push(t[e])})),i},t.prototype.getDefaultStyle=function(){return this.getDefaultTextAlign(),{line:{style:{lineWidth:2,stroke:"#333333",opacity:.7,lineDash:[0,0]}},text:{content:"",offsetY:-5,style:{fontSize:14,stroke:"white",lineWidth:2,textAlign:this.getDefaultTextAlign()}}}},t.prototype.getDefaultTextAlign=function(){var t=this.cfg.text;if(t){if(!t.position||"start"===t.position)return"left";if("center"===t.position)return"center";if("end"===t.position)return"right"}},t}();e.default=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(138),a=function(){function t(t){this.config={};var e=t.plot,i=n.__rest(t,["plot"]);this.plot=e,this.originConfig=i,this.init(t)}return t.prototype.getConfig=function(){return this.config},t.prototype.init=function(t){var e=this;r.assign(this.config,t),this.config.callback=function(t){return e.parseCallBack(t)}},t.prototype.parseCallBack=function(t){var e=this.originConfig,i=this.plot.getPlotTheme(),o=n.__assign({},e);return this.parseOffset(e,o),e.position&&(r.isFunction(e.position)?o.position=e.position(t):o.position=e.position),this.parseFormatter(o),e.style&&(r.isFunction(e.style)?o.textStyle=e.style(t):o.textStyle=e.style),o.textStyle=r.deepMix({},r.get(i,"label.style"),o.textStyle),e.autoRotate&&(o.autoRotate=e.autoRotate),o},t.prototype.parseOffset=function(t,e){var i=0;r.each(["offset","offsetX","offsetY"],(function(n){r.has(t,n)&&(e[n]=t[n],i++)})),0===i&&"middle"===r.get(t,"position")&&(e.offset=0)},t.prototype.parseFormatter=function(t){var e=this.originConfig;t.content=function(t,i){var n=t[e.fields[0]];return o.combineFormatter(o.getNoopFormatter(),o.getPrecisionFormatter(e.precision),o.getSuffixFormatter(e.suffix),e.formatter?e.formatter:o.getNoopFormatter())(n,t,i)}},t}();e.default=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,r,o=i(0);function a(t,e){n||s(t),o.each(n,(function(t){var i=l(t,e);if(u(i.labelData,i.con)){var n={opacity:1,fontWeight:600,fill:"red"};t.shape.attr(n)}}))}function s(t){var e;n=[],r=[];var i=null===(e=t.view.getController("axis"))||void 0===e?void 0:e.getComponents();o.each(i,(function(e){var i=e.component,a=[],s=function(t,e){var i=t.options,n="y",r=e.get("position");"bottom"!==r&&"top"!==r||(n="x");var o=i[n+"Field"];return t.view.get("scales")[o]}(t,i),l=i.get("labelRenderer").get("group").get("children");if(o.each(l,(function(t){"text"===t.type&&(a.push({shape:t}),r.push(t.attr()))})),s){var u=s.ticks,c=s.field;o.each(a,(function(t,e){t.value=u[e],t.scaleField=c,t.type=s.type}))}n.push.apply(n,a)}))}function l(t,e){var i,n=((i={})[t.scaleField]=t.value,i),r=o.clone(e);return"time"===t.type&&o.isObject(e)&&!o.isFunction(r.exp)&&(r.exp=new Date(r.exp).getTime()),{labelData:n,con:r}}function u(t,e){if(!o.isFunction(e)){var i=e.name,n=e.exp;return!!t[i]&&(o.isFunction(n)?n(t[i]):t[i]===n)}return e(t)}e.default={active:a,selected:a,disable:function(t,e){n||s(t),o.each(n,(function(t,i){var n=l(t,e);if(u(n.labelData,n.con)){var o=r[i],a={opacity:.2*(o.opacity||1)};t.shape.attr(a)}}))}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n,r,o=i(0),a=i(64);function s(t,e){n||l(t),o.each(n,(function(t,i){var n=t.get("origin");if(a.compare(n,e)){var s=r[i],l=o.mix({},s,{opacity:1});t.attr(l)}}))}function l(t){n=[],r=[];var e=t.view.get("elements");o.each(e,(function(t){var e=t.get("labels");e&&o.each(e,(function(t){n.push(t),r.push(t.attr())}))}))}e.default={active:s,selected:s,disable:function(t,e){n||l(t),o.each(n,(function(t,i){var n=t.get("origin");if(a.compare(n,e)){var o=r[i],s={opacity:.2*(o.opacity||1)};t.attr(s)}}))}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),r=i(64),o=["xField","yField","angleField"];function a(t,e){var i=t.options;if(function(t,e){var i=function(t){var e=[];return n.each(o,(function(i){n.has(t,i)&&e.push(i)})),e}(t);return!n.isFunction(e)&&i.indexOf(e.name)}(i,e)){var a=i.data;n.each(a,(function(i){if(r.compare(i,e)){var n=t.view.getXY(i);t.view.on("tooltip:create",(function(t){s(e,t,!1)})),t.view.showTooltip(n)}}))}}function s(t,e,i){var o=!i,a=n.clone(e.items);e.items.splice(0),n.each(a,(function(i){var n=i.point._origin;r.compare(n,t)===o&&e.items.push(i)}))}e.default={active:a,selected:a,disable:function(t,e){t.view.on("tooltip:change",(function(t){s(e,t,!0)}))}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=n.__importDefault(i(39)),o=n.__importDefault(i(248)),a=n.__importDefault(i(249)),s=n.__importDefault(i(250)),l=n.__importDefault(i(253));r.default.registerInteraction("slider",a.default),r.default.registerInteraction("scrollbar",o.default),r.default.registerInteraction("timeline",s.default),r.default.registerInteraction("tooltip-indicator",l.default),n.__exportStar(i(39),e),e.default=r.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(8),o=n.__importDefault(i(13)),a=i(0),s=n.__importDefault(i(39)),l=i(140),u=i(43),c=i(141),h=function(t){void 0===t&&(t={});var e=n.__assign({type:"horizontal",categorySize:32,width:8,height:8,padding:[0,0,0,0]},t);return t.padding||(e.padding="horizontal"===e.type?[4,0,4,0]:[0,4,0,4]),e},p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.onChangeFn=a.throttle(e.onChange.bind(e),20,{leading:!0}),e}return n.__extends(e,t),e.getInteractionRange=function(t,e){var i=h(e),n=i.padding,r=n[0],a=n[1],s=n[2],l=n[3];return"horizontal"===i.type?new o.default(t.minX,t.maxY-i.height-r-s,t.width,i.height+r+s):new o.default(t.maxX-i.width-l-a,t.minY,i.width+l+a,t.height)},e.prototype.render=function(){var t=this,e=this.getViewLayer(),i=this.view;this.ratio=0,this.thumbOffset=0;var n=function(){var e=t.view.padding;"auto"===e||a.isEqual(e,[0,0,0,1])||(t.trackLen?t.renderScrollbar():(t.measureScrollBar(),t.changeViewData(t.getScrollRange(),!0)))},r=function(){t.trackLen=0};i.on(u.VIEW_LIFE_CIRCLE.AFTER_PAINT,n),this.addDisposable((function(){return i.off(u.VIEW_LIFE_CIRCLE.AFTER_PAINT,n)})),i.on(u.VIEW_LIFE_CIRCLE.AFTER_RENDER,n),this.addDisposable((function(){return i.off(u.VIEW_LIFE_CIRCLE.AFTER_RENDER,n)})),e.on(c.VIEW_LAYER_LIFE_CYCLE.BEFORE_CHANGE_DATA,r),this.addDisposable((function(){return e.off(c.VIEW_LAYER_LIFE_CYCLE.BEFORE_CHANGE_DATA,r)}))},e.prototype.start=function(){},e.prototype.clear=function(){this.scrollbar&&(this.scrollbar.destroy(),this.scrollbar=null),this.container&&(this.container.remove(!0),this.container=null),this.trackLen=null,this.thumbLen=null},e.prototype.renderScrollbar=function(){var t=h(this.getInteractionConfig()),e=this.getRange(),i="vertical"!==t.type,n=this.view.coordinateBBox,o=t.padding,a=o[0],s=o[3],l=i?{x:n.minX+s,y:e.minY+a}:{x:e.minX+s,y:n.minY+a};this.scrollbar?(this.scrollbar.update({trackLen:this.trackLen,thumbLen:this.thumbLen,thumbOffset:this.thumbOffset,x:l.x,y:l.y}),this.scrollbar.render()):(this.container=this.canvas.addGroup(),this.scrollbar=new r.Scrollbar({container:this.container,x:l.x,y:l.y,isHorizontal:i,trackLen:this.trackLen,thumbLen:this.thumbLen,thumbOffset:this.ratio*this.trackLen}),this.scrollbar.init(),this.scrollbar.render(),this.scrollbar.get("group").set("zIndex",999),this.scrollbar.on("scrollchange",this.onChangeFn))},e.prototype.measureScrollBar=function(){var t=h(this.getInteractionConfig()),e=t.padding,i=e[0],n=e[1],r=e[2],o=e[3],s="vertical"!==t.type,l=this.view.coordinateBBox,u=this.view.getXScale(),c=this.view.getYScales().filter((function(t){return t}));this.cnt=u.values.length,this.xScaleCfg={field:u.field,values:u.values||[]},this.yScalesCfg=c,this.step=Math.floor((s?l.width:l.height)/t.categorySize),this.trackLen=s?l.width-o-n:l.height-i-r,this.thumbLen=Math.max(this.trackLen*a.clamp(this.step/u.values.length,0,1),20)},e.prototype.getScrollRange=function(){var t=Math.floor((this.cnt-this.step)*a.clamp(this.ratio,0,1));return[t,Math.min(t+this.step,this.cnt)]},e.prototype.changeViewData=function(t,e){var i=this,r=t[0],o=t[1],s=h(this.getInteractionConfig()),u=this.getViewLayer(),c=u.options.meta,p=u.getData(),f=l.getDataByScaleRange(this.xScaleCfg.field,this.xScaleCfg.values,p,[r,o],"vertical"===s.type);this.yScalesCfg.forEach((function(t){var e=a.get(c,t.field)||{};i.view.scale(t.field,n.__assign(n.__assign({formatter:t.formatter},e),{type:t.type,min:t.min,max:t.max}))})),e?(this.view.data(f),this.view.render()):this.view.changeData(f)},e.prototype.onChange=function(t){var e=t.ratio,i=t.thumbOffset;this.ratio=e,this.thumbOffset=i;var n=this.view.getOptions().animate;this.view.animate(!1),this.changeViewData(this.getScrollRange(),!0),this.view.animate(n),this.renderScrollbar()},e}(s.default);e.default=p},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(8),o=n.__importDefault(i(13)),a=i(0),s=n.__importDefault(i(39)),l=i(140),u=function(t){void 0===t&&(t={});var e=n.__assign({type:"horizontal",start:0,end:1,width:void 0,height:void 0,padding:[0,0,0,0],backgroundStyle:{},foregroundStyle:{},handlerStyle:{},textStyle:{},trendCfg:{}},t);t.padding||(e.padding="horizontal"===e.type?[4,0,4,0]:[0,4,0,4]),t.height||(e.height=16),t.width||(e.width=16);var i=a.clamp(Math.min(e.start,e.end),0,1),r=a.clamp(Math.max(e.start,e.end),0,1);return e.start=i,e.end=r,e},c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.onChangeFn=a.throttle(e.onChange.bind(e),20,{leading:!0}),e}return n.__extends(e,t),e.getInteractionRange=function(t,e){var i=u(e),n=i.padding||[0,0,0,0],r=n[0],a=n[1],s=n[2],l=n[3];return"horizontal"===i.type?new o.default(t.minX,t.maxY-i.height-r-s,t.width,i.height+r+s):new o.default(t.maxX-i.width-l-a,t.minY,i.width+l+a,t.height)},e.prototype.render=function(){var t=this,e=this.getViewLayer(),i=this.view,n=u(this.getInteractionConfig());this.curStart=n.start,this.curEnd=n.end,this.xScaleCfg=void 0;var o=function(){var n=t.view.padding;if("auto"!==n&&!a.isEqual(n,[0,0,0,1])&&!a.isEmpty(e.options.data))if(t.xScaleCfg)t.renderSlider();else{var r=i.getXScale();t.xScaleCfg={field:r.field,values:r.values||[]},i.data(t.getSliderData(t.curStart,t.curEnd)),i.render()}};i.on(r.VIEW_LIFE_CIRCLE.AFTER_PAINT,o),this.addDisposable((function(){return i.off(r.VIEW_LIFE_CIRCLE.AFTER_PAINT,o)})),i.on(r.VIEW_LIFE_CIRCLE.AFTER_RENDER,o),this.addDisposable((function(){return i.off(r.VIEW_LIFE_CIRCLE.AFTER_RENDER,o)}))},e.prototype.start=function(){},e.prototype.clear=function(){this.slider&&(this.slider.destroy(),this.slider=null),this.container&&(this.container.remove(!0),this.container=null)},e.prototype.renderSlider=function(){this.slider?(this.slider.update(this.getSliderConfig()),this.slider.render()):(this.container=this.canvas.addGroup(),this.slider=new r.Slider(n.__assign(n.__assign({},this.getSliderConfig()),{container:this.container})),this.slider.init(),this.slider.render(),this.slider.on("sliderchange",this.onChangeFn))},e.prototype.getSliderConfig=function(){var t=this.view.coordinateBBox,e=this.getRange(),i=u(this.getInteractionConfig())||{},r=i.padding,o=void 0===r?[0,0,0,0]:r,a=i.backgroundStyle,s=i.foregroundStyle,l=i.handlerStyle,c=i.textStyle,h=i.trendCfg,p=void 0===h?{}:h,f=o[0],d=o[1],g=o[2],y=o[3],v=this.getSliderMinMaxText(this.curStart,this.curEnd),m=v.minText,x=v.maxText;return{x:t.minX+y,y:e.minY+f,width:t.width-y-d,height:e.height-f-g,start:this.curStart,end:this.curEnd,minText:m,maxText:x,backgroundStyle:a,foregroundStyle:s,handlerStyle:l,textStyle:c,trendCfg:n.__assign(n.__assign({isArea:!1,smooth:!1},p),{data:this.getSliderTrendData()})}},e.prototype.getSliderTrendData=function(){var t=this.getViewLayer().options,e=t.data,i=t.yField;return a.map(e,(function(t){return t[i]}))},e.prototype.getSliderData=function(t,e){var i=this.getViewLayer().getData(),n=a.size(this.xScaleCfg.values),r=Math.round(t*n),o=Math.max(r+1,Math.round(e*n));return l.getDataByScaleRange(this.xScaleCfg.field,this.xScaleCfg.values,i,[r,o])},e.prototype.getSliderMinMaxText=function(t,e){var i=this.getViewLayer().options,n=i.data,r=void 0===n?[]:n,o=i.xField,s=a.size(r),l=Math.round(t*s),u=Math.max(l+1,Math.round(e*s)),c=r.slice(l,u);return{minText:c.length>0?a.head(c)[o]:"",maxText:c.length>0?a.last(c)[o]:""}},e.prototype.onChange=function(t){var e=this.view,i=a.clamp(Math.min(t[0],t[1]),0,1),n=a.clamp(Math.max(t[0],t[1]),0,1),r=this.getSliderData(i,n),o=this.getSliderMinMaxText(i,n),s=o.minText,l=o.maxText;this.curStart=i,this.curEnd=n,this.slider.update({start:i,end:n,minText:s,maxText:l}),this.slider.render();var u=e.getOptions().animate;e.animate(!1),e.data(r),e.render(),e.animate(u)},e}(s.default);e.default=c},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(8),a=n.__importDefault(i(39)),s=n.__importDefault(i(13)),l=n.__importDefault(i(251));function u(t){return n.__assign({loop:!1,auto:!0,height:40,padding:[0,20,0,0],speed:2},t)}var c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.onChangeFn=r.throttle(e.onChange.bind(e),20,{leading:!0}),e}return n.__extends(e,t),e.getInteractionRange=function(t,e){var i=u(e),n=i.padding[0],r=i.padding[2];return new s.default(t.minX,t.maxY-i.height-n-r,t.width,i.height+n+r)},e.prototype.setAnimate=function(t){var e=this.view.geometries;this.view.animate(t),e.forEach((function(e){e.animate(t)}))},e.prototype.start=function(){},e.prototype.renderTimeLine=function(){var t=this;this.config=u(this.getInteractionConfig());var e=this.view.viewBBox,i=this.config,o=i.loop,a=i.padding,s=i.speed,c=a[0],h=a[1],p=a[2],f=a[3],d=this.getRange(),g=this.getTicks(),y=e.width-f-h,v={x:e.minX+f,y:d.tl.y+c,width:y,height:d.height-c-p,loop:o,ticks:g,speed:s,defaultCurrentTick:g[0]};this.timeline?r.isEqual(v,this.timeLineConfig)||(this.timeLineConfig=v,this.timeline.update(v)):(this.container=this.canvas.addGroup(),this.timeline=new l.default(n.__assign({container:this.container},v)),this.timeline.init(),this.timeline.render(),this.timeline.on("timelinestart",(function(){t.originAnimation=t.view.getOptions().animate,t.setAnimate(!0)})),this.timeline.on("timelineend",(function(){t.setAnimate(t.originAnimation)})),this.timeline.on("timelinechange",this.onChangeFn),this.timeline.on("timelineupdate",this.onChange.bind(this)),this.view.data(this.getFilterData(g[0])),this.timeLineConfig=v)},e.prototype.onChange=function(t){var e=this.getFilterData(t);this.view.changeData(e)},e.prototype.getFilterData=function(t){var e=this.config.field;return this.getViewLayer().options.data.filter((function(i){return i[e]===t}))},e.prototype.getTicks=function(){var t=this.config.field,e=this.getViewLayer().options.data;return r.uniq(e.map((function(e){return e[t]})))},e.prototype.render=function(){var t=this;this.firstRender=!0,this.view.on(o.VIEW_LIFE_CIRCLE.BEFORE_RENDER,(function(){t.renderTimeLine()})),this.view.on(o.VIEW_LIFE_CIRCLE.BEFORE_PAINT,(function(){t.renderTimeLine()})),this.view.on(o.VIEW_LIFE_CIRCLE.AFTER_PAINT,(function(){t.config.auto&&t.firstRender&&(t.timeline.isPlay=!0,t.timeline.changePlayStatus()),t.firstRender=!1})),this.view.on(o.VIEW_LIFE_CIRCLE.AFTER_RENDER,(function(){t.config.auto&&t.firstRender&&(t.timeline.isPlay=!0,t.timeline.changePlayStatus()),t.firstRender=!1}))},e.prototype.clear=function(){this.timeline&&(this.timeline.destroy(),this.timeline=null),this.container&&(this.container.remove(!0),this.container=null)},e}(a.default);e.default=c},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(252)),a=n.__importDefault(i(54)),s=function(t){function e(e){var i=t.call(this,r.deepMix({},{speed:1,loop:!1},e))||this;return i.onTimeSelectMouseMove=function(t){t.stopPropagation(),t.preventDefault();var e=r.get(t,"touches.0.pageX",t.pageX),n=e-i.prevX;i.setTimeSelectX(n),i.prevX=e},i.onTimeSelectMouseUp=function(){i.syncCurrnentTick(),i.emit("timelineend",null);var t=i.getCanvas().get("container");t&&(t.removeEventListener("mousemove",i.onTimeSelectMouseMove),t.removeEventListener("mouseup",i.onTimeSelectMouseUp),t.removeEventListener("mouseleave",i.onTimeSelectMouseUp),t.removeEventListener("touchmove",i.onTimeSelectMouseMove),t.removeEventListener("touchend",i.onTimeSelectMouseUp),t.removeEventListener("touchcancel",i.onTimeSelectMouseUp))},i.onTimeSelectMouseDown=function(t){var e=t.originalEvent;e.stopPropagation(),e.preventDefault(),!1===i.isPlay?i.emit("timelinestart",null):(i.isPlay=!1,i.changePlayStatus(!1)),i.prevX=r.get(e,"touches.0.pageX",e.pageX);var n=i.getCanvas().get("container");n.addEventListener("mousemove",i.onTimeSelectMouseMove),n.addEventListener("mouseup",i.onTimeSelectMouseUp),n.addEventListener("mouseleave",i.onTimeSelectMouseUp),n.addEventListener("touchmove",i.onTimeSelectMouseMove),n.addEventListener("touchend",i.onTimeSelectMouseUp),n.addEventListener("touchcancel",i.onTimeSelectMouseUp)},i}return n.__extends(e,t),e.prototype.renderInner=function(t){var e=this.config,i=e.ticks,n=e.defaultCurrentTick;i&&i.length&&(this.currentTick=this.config.ticks.includes(n)?n:i[0],this.renderPlayButton(t),this.renderTimeLine(t),this.renderTimeSelect(t,this.currentTick),this.initEvent())},e.prototype.update=function(e){t.prototype.update.call(this,e),this.emit("timelineupdate",this.currentTick)},e.prototype.destroy=function(){t.prototype.destroy.call(this),this.timeLineButton.destroy(),this.timeLineButton.off(),this.timeSelect.off(),this.playHandler&&window.cancelAnimationFrame(this.playHandler)},e.prototype.renderPlayButton=function(t){var e=this.config,i=e.height,n=e.x,r=e.y,a=i/2*.8;this.timeLineButton?this.timeLineButton.update({x:n+a,y:r+a+i*(1-.8)/2,r:a}):(this.timeLineButton=new o.default({container:t,x:n+a,y:r+a+i*(1-.8)/2,r:a,isPlay:this.isPlay}),this.timeLineButton.init()),this.timeLineButton.render()},e.prototype.getTimeLinePath=function(){var t=this.timeLine,e=t.x,i=t.y,n=t.width,r=t.height,o=r/2;return n>0?"M"+e+", "+i+"A"+o+","+o+" 90 0,0 "+e+","+(i+r)+"L"+(e+n)+", "+(i+r)+"A"+o+","+o+" 90 0,0 "+(e+n)+","+i+"L"+e+", "+i:[]},e.prototype.renderTimeLine=function(t){var e=this,i=this.config,n=i.width,r=i.height,o=i.ticks,a=i.x,s=i.y;this.timeLine||(this.timeLine={}),this.timeLine.height=.15*r,this.timeLine.x=a+r+20,this.timeLine.y=s+(r/2-this.timeLine.height/2),this.timeLine.width=n-this.timeLine.x-20,this.timeLine&&this.timeLine.shape?this.timeLine.shape.attr("path",this.getTimeLinePath()):this.timeLine.shape=t.addShape("path",{attrs:{path:this.getTimeLinePath(),fill:"#607889",opacity:.2}});var l=this.timeLine.width/(o.length-1);this.tickPosList=[],this.timeLine.textList&&this.timeLine.textList.length&&this.timeLine.textList.forEach((function(t){t.destroy()}));var u=-1/0;this.timeLine.textList=o.map((function(i,n){e.tickPosList.push(e.timeLine.x+n*l);var r=t.addShape("text",{attrs:{x:e.timeLine.x+n*l,y:e.timeLine.y+e.timeLine.height+5,text:i,textAlign:"center",textBaseline:"top",fill:"#607889",opacity:.35}}),o=r.getBBox();return o.minX>u?(r.show(),u=o.minX+o.width+10):r.hide(),r}))},e.prototype.renderTimeSelect=function(t,e){var i=this.config,n=i.ticks,o=i.height,a=this.timeLine.width/(n.length-1),s=r.findIndex(n,(function(t){return t===e})),l=this.timeLine.x+s*a,u=this.config.y+o/2,c=.15*o;this.timeSelect?(this.timeSelect.attr("x",l),this.timeSelect.attr("y",u),this.timeSelect.attr("r",c)):this.timeSelect=t.addShape("circle",{attrs:{x:l,y:u,r:c,fill:"#607889"}}),this.timeSelectText?(this.timeSelectText.attr("x",l),this.timeSelectText.attr("y",u-.15*o-14),this.timeSelectText.attr("text",this.currentTick)):this.timeSelectText=t.addShape("text",{attrs:{x:l,y:u-.15*o-14,text:this.currentTick,textAlign:"center",textBaseline:"top",fill:"#607889"}})},e.prototype.adjustTickIndex=function(t){for(var e=0;ethis.timeLine.x+this.timeLine.width&&(e=this.timeLine.x+this.timeLine.width,this.isPlay&&(this.config.loop?this.timeSelect.attr("x")===this.timeLine.x+this.timeLine.width&&(e=this.timeLine.x):(this.isPlay=!1,this.changePlayStatus()))),this.timeSelect.attr("x",e),this.timeSelectText.attr("x",e);var i=this.adjustTickIndex(e);this.currentTick!==this.config.ticks[i]&&(this.currentTick=this.config.ticks[i],this.timeSelectText.attr("text",this.currentTick),this.emit("timelinechange",this.currentTick)),this.getCanvas().draw()},e.prototype.syncCurrnentTick=function(){var t=this,e=this.config.ticks,i=this.timeLine.width/(e.length-1),n=r.findIndex(e,(function(e){return e===t.currentTick})),o=this.timeLine.x+n*i;this.timeSelect.attr("x",o),this.timeSelectText.attr("x",o),this.getCanvas().draw()},e.prototype.startPlay=function(){var t=this;return window.requestAnimationFrame((function(){var e=t.config,i=e.speed,n=e.ticks,r=t.timeLine.width/n.length/(1e3*i/60);t.setTimeSelectX(r),t.isPlay&&(t.playHandler=t.startPlay())}))},e.prototype.changePlayStatus=function(t){void 0===t&&(t=!0),this.timeLineButton.update({isPlay:this.isPlay}),this.isPlay?(this.playHandler=this.startPlay(),this.emit("timelinestart",null)):this.playHandler&&(window.cancelAnimationFrame(this.playHandler),t&&(this.syncCurrnentTick(),this.emit("timelineend",null))),this.getCanvas().draw()},e.prototype.initEvent=function(){var t=this;this.timeLineButton.off("click"),this.timeLineButton.on("click",(function(){t.isPlay=!t.isPlay,t.changePlayStatus()})),this.timeSelect.off("mousedown"),this.timeSelect.on("mousedown",(function(e){t.onTimeSelectMouseDown(e)}))},e}(a.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=function(t){function e(e){return t.call(this,r.deepMix({},e))||this}return n.__extends(e,t),e.prototype.renderInner=function(t){var e=this;this.initElement(t),this.updateElement(),this.renderMarker(),t.off("click"),t.on("click",(function(){e.emit("click")}))},e.prototype.destroy=function(){this.group.off(),t.prototype.destroy.call(this)},e.prototype.initElement=function(t){this.circle=t.addShape("circle",{attrs:{x:this.config.x,y:this.config.y,r:this.config.r,fill:"#607889"}}),this.startMarker=t.addShape("path",{attrs:{path:this.getStartMarkerPath(),fill:"#ffffff"}}),this.pauseGroupMarker=t.addGroup();var e=1/4*this.config.r,i=.5*this.config.r*Math.sqrt(3);this.pauseLeftMarker=this.pauseGroupMarker.addShape("rect",{attrs:{x:this.config.x-.375*this.config.r,y:this.config.y-i/2,width:e,height:i,fill:"#ffffff"}}),this.pauseRightMarker=this.pauseGroupMarker.addShape("rect",{attrs:{x:this.config.x+1/8*this.config.r,y:this.config.y-i/2,width:e,height:i,fill:"#ffffff"}})},e.prototype.updateElement=function(){this.circle.attr("x",this.config.x),this.circle.attr("y",this.config.y),this.circle.attr("r",this.config.r),this.startMarker.attr("path",this.getStartMarkerPath());var t=1/4*this.config.r,e=.5*this.config.r*Math.sqrt(3);this.pauseLeftMarker.attr("x",this.config.x-.375*this.config.r),this.pauseLeftMarker.attr("y",this.config.y-e/2),this.pauseLeftMarker.attr("width",t),this.pauseLeftMarker.attr("height",e),this.pauseRightMarker.attr("x",this.config.x+1/8*this.config.r),this.pauseRightMarker.attr("y",this.config.y-e/2),this.pauseRightMarker.attr("width",t),this.pauseRightMarker.attr("height",e)},e.prototype.renderMarker=function(){this.config.isPlay?(this.startMarker.hide(),this.pauseGroupMarker.show()):(this.startMarker.show(),this.pauseGroupMarker.hide())},e.prototype.getStartMarkerPath=function(){var t=.5*this.config.r*Math.sqrt(3);return[["M",this.config.x-t/Math.sqrt(3)/2,this.config.y-t/2],["L",this.config.x+t/Math.sqrt(3),this.config.y],["L",this.config.x-t/Math.sqrt(3)/2,this.config.y+t/2]]},e}(n.__importDefault(i(54)).default);e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.TooltipIndicationAction=e.TOOLTIP_INDICATOR_EVENTS=void 0;var n,r=i(1),o=i(0),a=r.__importDefault(i(39)),s=i(8),l=r.__importStar(i(254)),u=i(25),c=r.__importDefault(i(13)),h=function(t){return void 0===t&&(t={}),r.__assign({showTotal:!1,showPercent:!1,padding:[8,24,8,24],height:t.showPercent?72:54},t)};!function(t){t.ACTIVE_ELEMENT="tooltip_indicator_active_element",t.ACTIVE_ELEMENT_BY_X="tooltip_indicator_active_element_by_x"}(n=e.TOOLTIP_INDICATOR_EVENTS||(e.TOOLTIP_INDICATOR_EVENTS={}));var p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.state="selected",e.isSingle=!1,e}return r.__extends(e,t),e.prototype.active=function(){var t=s.InteractionUtils.getCurrentElement(this.context);t.hasState("selected")?this.isSingle?this.setStateByX(t):this.setState(t):this.setStateByX(t)},e.prototype.setState=function(t){var e=this;u.forEachElement(this.getView(),(function(i){i===t?i.hasState(e.state)||i.setState(e.state,!0):i.setState(e.state,!1)})),this.isSingle=!0,this.getView().emit(n.ACTIVE_ELEMENT,{element:t,isSingle:!0})},e.prototype.setStateByX=function(t){var e=this,i=this.getXField(),r=t.getData()[i];u.forEachElement(this.getView(),(function(t){t.getData()[i]===r?t.hasState(e.state)||t.setState(e.state,!0):t.setState(e.state,!1)})),this.isSingle=!1,this.getView().emit(n.ACTIVE_ELEMENT_BY_X,{element:t,isSingle:!1})},e.prototype.setStateByField=function(t,e){var i=this,n=this.getView().getXScale().field,r=this.getView().getGroupScales()[0].field;u.forEachElement(this.getView(),(function(o){var a=o.getData();o.setState(i.state,a[n]===t&&(void 0===e||a[r]===e))}))},e.prototype.getView=function(){return this.context.view},e.prototype.getXField=function(){return this.context.view.getXScale().field},e}(s.InteractionAction);e.TooltipIndicationAction=p,s.registerAction("tooltip-indicator",p),s.registerInteraction("element-tooltip-indicator",{start:[{trigger:"element:mousemove",action:"tooltip-indicator:active",throttle:{wait:50,leading:!0,trailing:!1}},{trigger:"element:touchmove",action:"tooltip-indicator:active",throttle:{wait:50,leading:!0,trailing:!1}}]});var f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.onElementActive=function(t){var i=t.element,n=t.isSingle,r=e.view.getXScale(),o=e.view.getXScale().field,a=e.view.getGroupScales()[0].field,s=i.getData(),l=s[o],u=e.getLegendItems(l);e.component.update({items:u,title:{text:r.getText(l)}}),e.component.render(),n&&e.component.selectItem(s[a]),e.curX=l},e.onSelectTooltipIndicatorItem=function(t){e.component&&t&&e.getInteractionAction().setStateByField(e.curX,t)},e}return r.__extends(e,t),e.getInteractionRange=function(t,e){var i=h(e),n=i.padding,r=n[0],o=n[2];return new c.default(t.minX,t.minY,t.width,i.height+r+o)},e.prototype.clear=function(){this.component&&this.component.destroy(),this.container&&this.container.remove(!0),this.component=null,this.container=null},e.prototype.render=function(){var t=this,e=this.view,i=function(){var e=t.view.getXScale(),i=o.last(e.getTicks()).tickValue,n=t.view.padding;o.isEqual([0,0,0,0],n)||(t.component?t.updateComponent():(t.createComponent(),t.component.on(l.EVENTS.ON_SELECT_ITEM,t.onSelectTooltipIndicatorItem)),t.curX=i,t.component.update({title:{text:e.getText(t.curX)}}),t.component.render(),t.getInteractionAction().setStateByField(i))};e.legend(!1),e.removeInteraction("active-region"),e.removeInteraction("tooltip"),e.interaction("element-tooltip-indicator"),e.on(s.VIEW_LIFE_CIRCLE.AFTER_PAINT,i),e.on(s.VIEW_LIFE_CIRCLE.AFTER_RENDER,i),e.on(n.ACTIVE_ELEMENT,this.onElementActive),e.on(n.ACTIVE_ELEMENT_BY_X,this.onElementActive)},e.prototype.getInteractionAction=function(){var t=this.view.interactions["element-tooltip-indicator"];return t&&t.context.getAction("tooltip-indicator")},e.prototype.createComponent=function(){var t=h(this.getInteractionConfig()).padding,e=t[0],i=t[1],n=t[2],r=t[3],a=this.getLegendItems(),s=this.getRange(),u=this.view.getXScale(),c=o.last(u.getTicks()).tickValue;this.container=this.canvas.addGroup(),this.component=new l.default({container:this.container,x:s.x+r,y:s.y+e,width:s.width-r-i,height:s.height-e-n,theme:this.getViewLayer().getPlotTheme(),items:a}),this.component.init(),this.getInteractionAction().setStateByField(c)},e.prototype.updateComponent=function(){var t=this.getLegendItems();this.component.update({items:t})},e.prototype.getLegendItems=function(t){var e=this.view,i=e.getData(),n=e.getTheme().defaultColor,r=e.getXScale(),a=e.getYScales()[0],s=t||o.last(r.getTicks()).tickValue,l=e.getLegendAttributes().find((function(t){return"color"===t.type})),u=[],c=e.getGroupScales()[0],h=c.field;c&&c.isCategory&&c.getTicks().forEach((function(t){var e=t.text,i=t.tickValue,r=l.mapping(i).join("")||n;u.push({id:i,title:e,color:r,values:[]})}));var p=(null==i?void 0:i.filter((function(t){return t[r.field]===s})))||[];return u.forEach((function(t){var e=p.find((function(e){return e[h]===t.id}));t.values.push({value:a.formatter?a.formatter(e[a.field]):e[a.field]})})),u},e}(a.default);e.default=f},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.EVENTS=e.ELEMENT_NAMES=void 0;var n,r,o,a=i(1),s=i(0),l=a.__importDefault(i(54)),u=i(8),c=i(55),h=i(142),p=a.__importDefault(i(13));!function(t){t.TOOLTIP_INDICATOR_INNER="tooltip_indicator-inner",t.TOOLTIP_INDICATOR_TITLE="tooltip_indicator-title",t.TOOLTIP_INDICATOR_BODY="tooltip_indicator-body",t.TOOLTIP_INDICATOR_ITEM_GROUP="tooltip_indicator-item-group",t.TOOLTIP_INDICATOR_ITEM_BACKGROUND="tooltip_indicator-item-background",t.TOOLTIP_INDICATOR_ITEM_LINE="tooltip_indicator-item-line",t.TOOLTIP_INDICATOR_ITEM_TITLE="tooltip_indicator-item-title",t.TOOLTIP_INDICATOR_ITEM_BODY="tooltip_indicator-item-body",t.TOOLTIP_INDICATOR_ITEM_VALUE_GROUP="tooltip_indicator-item-value-group",t.TOOLTIP_INDICATOR_ITEM_NAME="tooltip_indicator-item-name",t.TOOLTIP_INDICATOR_ITEM_VALUE="tooltip_indicator-item-value"}(n=e.ELEMENT_NAMES||(e.ELEMENT_NAMES={})),function(t){t.ON_SELECT_ITEM="onSelectItem"}(r=e.EVENTS||(e.EVENTS={})),function(t){t[t.LARGE=12]="LARGE",t[t.NORMAL=8]="NORMAL",t[t.SMALL=4]="SMALL"}(o||(o={}));var f=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.curX=0,e.curY=0,e.offsetX=0,e.scrollWidth=0,e.onBodyGroupMousemove=function(t){var i=d(t.target,(function(t){return t.get("name")===n.TOOLTIP_INDICATOR_ITEM_GROUP}));if(i){var r=i.get("delegateObject");e.doSelectItem(r.item.id)}},e.onWheel=function(t){var i=e.config.width,n=void 0===i?0:i,r=t.deltaX,o=Math.min(e.scrollWidth-n,0)-(e.scrollWidth/2+Math.max(0,(e.scrollWidth-n)/2)),a=Math.max(e.scrollWidth-n,0)+e.scrollWidth/2+Math.max(0,(e.scrollWidth-n)/2),l=s.clamp(e.offsetX+r,o,a);l!==e.offsetX&&(c.translate(e.bodyGroup,e.offsetX-l,0),e.offsetX=l)},e}return a.__extends(e,t),e.prototype.destroy=function(){this.offEvents(),t.prototype.destroy.call(this)},e.prototype.selectItem=function(t){this.doSelectItem(t)},e.prototype.resetSelect=function(){this.doSelectItem(this.selectedItemId)},e.prototype.initConfig=function(t){var e,i=t.theme,n=void 0===i?{}:i,r={x:0,y:0,title:{text:"",spacingY:o.NORMAL,style:{}},line:{spacingX:o.SMALL,width:2,style:{}},itemTitle:{spacingX:0,spacingY:o.SMALL,style:{}},itemName:{spacingX:o.NORMAL,spacingY:o.SMALL,style:{}},itemValue:{style:{}},itemBackground:{style:{opacity:0,fill:"#000"}},itemSpacing:o.LARGE};this.config=s.deepMix({},null===(e=null==n?void 0:n.components)||void 0===e?void 0:e.tooltipIndicator,r,t),this.selectedItemId=this.config.selectedItem},e.prototype.renderInner=function(t){var e=this;this.resetRender();var i=this.config,r=i.items,o=i.x,a=i.y,s=[],l=t.addGroup({name:n.TOOLTIP_INDICATOR_INNER});this.renderTitle(l),this.bodyGroup=l.addGroup({name:n.TOOLTIP_INDICATOR_BODY}),null==r||r.forEach((function(t,i){s.push(e.renderItem(e.bodyGroup,t,i))})),this.layoutItems(l),c.move(l,o,a),this.applyClip(t),this.bindEvents(l)},e.prototype.renderTitle=function(t){var e=this.config.title;if(null==e?void 0:e.text){var i=t.addShape({type:"text",name:n.TOOLTIP_INDICATOR_TITLE,attrs:a.__assign({text:null==e?void 0:e.text,textAlign:"left",textBaseline:"top"},(null==e?void 0:e.style)||{})}),r=i.getBBox();return this.curY+=r.height,this.curY+=e.spacingY||0,i}},e.prototype.renderItem=function(t,e,i){var r=this.config.itemBackground,o=t.addGroup({name:n.TOOLTIP_INDICATOR_ITEM_GROUP,delegateObject:{item:e,index:i}}),s=this.curX,l=this.curY,u=o.addShape({name:n.TOOLTIP_INDICATOR_ITEM_BACKGROUND,type:"rect",attrs:a.__assign({x:this.curX,y:this.curY,width:1,height:1},r.style||{})}),c=this.renderLine(o,e);this.renderItemTitle(o,e),this.renderItemValues(o,e);var h=o.getBBox();return c.attr({y2:c.attr("y1")+h.height}),this.curX=s+h.width,this.curX+=this.config.itemSpacing||0,u.attr({width:this.curX-s-2*u.attr("lineWidth"),height:this.curY-l-2*u.attr("lineWidth")}),this.curY=l,o},e.prototype.renderLine=function(t,e){var i=this.config.line,r=i.width||2,o=a.__assign({x1:this.curX+r/2,y1:this.curY,x2:this.curX+r/2,y2:this.curY,lineWidth:r,stroke:e.color},(null==i?void 0:i.style)||{}),s=t.addShape({name:n.TOOLTIP_INDICATOR_ITEM_LINE,type:"line",attrs:o}),l=s.getBBox();return this.curX+=l.width,this.curX+=i.spacingX||0,s},e.prototype.renderItemTitle=function(t,e){var i=this.config.itemTitle,r=h.getEllipsisText(e.title,160,i.style||{}),o=t.addShape({name:n.TOOLTIP_INDICATOR_ITEM_TITLE,type:"text",attrs:a.__assign({x:this.curX,y:this.curY,textAlign:"left",textBaseline:"top",text:r},i.style||{})}),s=o.getBBox();return this.curY+=s.height,this.curY+=i.spacingY||0,o},e.prototype.renderItemValues=function(t,e){var i,r=this,o=t.addGroup({name:n.TOOLTIP_INDICATOR_ITEM_BODY}),a=this.curX;return null===(i=e.values)||void 0===i||i.forEach((function(t,i){var s=o.addGroup({name:n.TOOLTIP_INDICATOR_ITEM_VALUE_GROUP,delegateObject:{item:e,valueIndex:i}});r.curX=a,r.renderItemValueName(s,t),r.renderItemValueValue(s,t)})),this.layoutItemValues(o),o},e.prototype.renderItemValueName=function(t,e){var i=this.config.itemName;if(e.name){var r=t.addShape({name:n.TOOLTIP_INDICATOR_ITEM_NAME,type:"text",attrs:a.__assign({x:this.curX,y:this.curY,textAlign:"left",textBaseline:"top",text:e.name},i.style||{})}),o=r.getBBox();return e.wrapLine?(this.curY+=o.height,this.curY+=i.spacingY||0):(this.curX+=o.width,this.curX+=i.spacingX||0),r}},e.prototype.renderItemValueValue=function(t,e){var i=this.config,r=i.itemName,o=i.itemValue,s=t.addShape({name:n.TOOLTIP_INDICATOR_ITEM_VALUE,type:"text",attrs:a.__assign({x:this.curX,y:this.curY,textAlign:"left",textBaseline:"top",text:e.value},o.style||{})}),l=s.getBBox();return this.curY+=l.height,this.curY+=r.spacingY||0,s},e.prototype.layoutItems=function(t){var e=t.findAllByName(n.TOOLTIP_INDICATOR_BODY)[0],i=t.findAllByName(n.TOOLTIP_INDICATOR_ITEM_GROUP);if(e&&0!==i.length){var r=e.getBBox();this.scrollWidth=r.width}},e.prototype.layoutItemValues=function(t){var e=t.findAllByName(n.TOOLTIP_INDICATOR_ITEM_VALUE_GROUP),i=e.map((function(t){return p.default.fromBBoxObject(t.getBBox())})),r=t.findAllByName(n.TOOLTIP_INDICATOR_ITEM_VALUE).map((function(t){return p.default.fromBBoxObject(t.getBBox())})),o=Math.max.apply(Math,r.map((function(t){return t.maxX})));e.forEach((function(t,e){var r=i[e],a=t.findAllByName(n.TOOLTIP_INDICATOR_ITEM_NAME)[0],s=t.findAllByName(n.TOOLTIP_INDICATOR_ITEM_VALUE)[0];if(a&&s){var l=p.default.fromBBoxObject(a.getBBox()),u=p.default.fromBBoxObject(s.getBBox());l.height=i&&c<=n&&"top"===o&&(i=c),u>=i&&u<=n&&"bottom"===o&&(n=u),l>t&&l<=e&&"left"===o&&(t=l),s>=t&&l<=e&&"right"===o&&(e=s)}})),new o.default(t,i,e-t,n-i)},t.prototype._getInnerAutoPadding=function(){var t,e=this.plot.options,i=this.plot.view,n=i.coordinateBBox,a=n.maxX,s=n.maxY,l=n.minY,u=n.minX,c=this.plot.config.theme.bleeding;r.isArray(c)&&r.each(c,(function(t,i){"function"==typeof c[i]&&(c[i]=c[i](e))})),this.bleeding=r.clone(c);var h=[new o.default(n.minX,n.minY,n.width,n.height)];"cartesian"===(null===(t=this.plot.config.coordinate)||void 0===t?void 0:t.type)&&this._getCartesianAxis(i,h[0],h);var p=this._mergeBBox(h);this._getLegend(i,p,h),p=this._mergeBBox(h);var f=this.innerPaddingComponents;r.each(f,(function(t){var e=t.getBBox();h.push(e)}));var d=[l-(p=this._mergeBBox(h)).minY+this.bleeding[0],p.maxX-a+this.bleeding[1],p.maxY-s+this.bleeding[2],u-p.minX+this.bleeding[3]],g=this._getPanel(i);return d[0]+=g[0],d[1]+=g[1],d[2]+=g[2],d[3]+=g[3],d},t.prototype._getCartesianAxis=function(t,e,i){var n=a.getAxisComponents(t),s=t.getCoordinate().isTransposed;r.each(n,(function(t){if(0!==t.get("group").get("children").length){var n=t.get("position"),r=t.getLayoutBBox(),a=r.minX,l=r.minY,u=r.width,c=r.height;s?"bottom"===n?i.push(new o.default(e.minX-u,l,u,c)):"left"===n?i.push(new o.default(a,e.maxY,u,c)):"top"===n&&i.push(new o.default(e.maxX,l,u,c)):"left"===n?i.push(new o.default(e.minX-u,l,u,c)):"bottom"===n?i.push(new o.default(a,e.maxY,u,c)):"right"===n&&i.push(new o.default(e.maxX,l,u,c))}}))},t.prototype._getLegend=function(t,e,i){var n=a.getLegendComponents(t);r.each(n,(function(t){var n=t.get("position").split("-")[0],r=t.getLayoutBBox(),a=r.minX,s=r.minY,l=r.width,u=r.height;"top"===n?i.push(new o.default(a,e.minY-u,l,u)):"bottom"===n?i.push(new o.default(a,e.maxY,l,u)):"left"===n?i.push(new o.default(e.minX-l,s,l,u)):i.push(new o.default(e.maxX,s,l,u))}))},t.prototype._getPanel=function(t){var e=[],i=t.geometries;r.each(i,(function(t){t.labelsContainer&&e.push(t.labelsContainer)}));var n=1/0,o=-1/0,a=1/0,s=-1/0;r.each(e,(function(t){t.get("children").forEach((function(t){if("group"!==t.type||0!==t.get("children").length){var e=t.getBBox();e.minXo&&(o=e.maxX),e.minYs&&(s=e.maxY)}}))}));var l=t.coordinateBBox,u=Math.max(o-parseFloat(l.maxX),0);u>0&&(u*=l.width/(l.width+u));var c=Math.max(parseFloat(l.minX)-n,0);c>0&&(c*=l.width/(l.width+c));var h=Math.max(parseFloat(l.minY)-a,0);h>0&&(h*=l.height/(l.height+h));var p=Math.max(s-parseFloat(l.maxY),0);p>0&&(p*=l.height/(l.height+p));return[h,u,p,c]},t.prototype._mergeBBox=function(t){var e=1/0,i=-1/0,n=1/0,o=-1/0;return r.each(t,(function(t){var r=t;e=Math.min(r.minX,e),i=Math.max(r.maxX,i),n=Math.min(r.minY,n),o=Math.max(r.maxY,o)})),{minX:e,maxX:i,minY:n,maxY:o}},t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_DARK_THEME=void 0;var n=i(144);e.DEFAULT_DARK_THEME={backgroundStyle:{fill:"#262626"},defaultColor:"#5B8FF9",width:400,height:400,bleeding:[n.TOP_BLEEDING,24,n.BOTTOM_BLEEDING,24],padding:"auto",title:{padding:[24,24,24,24],fontFamily:"PingFang SC",fontSize:18,fontWeight:"bold",fill:"rgba(255,255,255,0.65)",stroke:"rgba(0,0,0,0.95)",textAlign:"left",textBaseline:"top",lineHeight:20,alignWithAxis:!1},description:{padding:[10,24,n.DESCRIPTION_BOTTOM_MARGIN,24],fontFamily:"PingFang SC",fontSize:12,fill:"rgba(255, 255, 255, 0.65)",stroke:"rgba(0,0,0,0.95)",textAlign:"left",textBaseline:"top",lineHeight:16,alignWithAxis:!1},axis:{y:{visible:!0,position:"left",autoRotateTitle:!0,grid:{visible:!0,line:{style:{stroke:"rgba(255, 255, 255, 0.15)",lineWidth:1,lineDash:null}}},line:{visible:!1,style:{stroke:"rgba(255, 255, 255, 0.45)",lineWidth:1}},tickLine:{visible:!1,style:{stroke:"rgba(255, 255, 255, 0.45)",lineWidth:.5,length:4}},label:{visible:!0,offset:8,autoRotate:!1,autoHide:!0,textStyle:{fill:"rgba(255, 255, 255, 0.45)",fontSize:12}},title:{visible:!1,spacing:12,style:{fill:"rgba(255, 255, 255, 0.65)",fontSize:12,textBaseline:"bottom"}}},x:{visible:!0,position:"bottom",autoRotateTitle:!1,grid:{visible:!1,line:{style:{stroke:"rgba(255, 255, 255, 0.15)",lineWidth:1,lineDash:null}}},line:{visible:!1,style:{stroke:"rgba(255, 255, 255, 0.45)"}},tickLine:{visible:!0,style:{length:4,stroke:"rgba(255, 255, 255, 0.45)",lineWidth:.5}},label:{visible:!0,textStyle:{fill:"rgba(255, 255, 255, 0.65)",fontSize:12},offset:16,autoHide:!0,autoRotate:!0},title:{visible:!1,spacing:12,style:{fill:"rgba(255, 255, 255, 0.65)",fontSize:12}}},circle:{autoRotateTitle:!0,grid:{style:{lineDash:null,lineWidth:1,stroke:"#E3E8EC"}},line:{style:{lineWidth:1,stroke:"#BFBFBF"}},tickLine:{style:{lineWidth:1,stroke:"#bdc8d3",length:4,alignWithLabel:!0}},label:{offset:16,textStyle:{fill:"#a0a4aa",fontSize:12},autoRotate:!0,autoHide:!0},title:{offset:12,style:{fill:"#767b84",fontSize:12}}},radius:{label:{offset:12,textStyle:{fill:"#a0a4aa",fontSize:12}}}},legend:{flipPage:!1,position:"bottom",innerPadding:[16,16,16,16],title:{visible:!1,style:{fill:"#bdc8d3"}},text:{style:{fill:"#bdc8d3"}}},label:{offset:12,textStyle:{fill:"rgba(255, 255, 255, 0.65)"},style:{fill:"rgba(255, 255, 255, 0.65)",lineWidth:1}},components:{tooltip:{domStyles:{"g2-tooltip":{backgroundColor:"rgba(33,33,33, 0.95)",boxShadow:"0px 0px 8px rgba(0,0,0,0.65)",color:"rgba(255, 255, 255, 0.65)"}}}}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.convertToG2Theme=void 0;var n=i(0);e.convertToG2Theme=function(t){var e=n.clone(t);return e.legend||(e.legend={}),e}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_RESPONSIVE_THEME=void 0,e.DEFAULT_RESPONSIVE_THEME={axis:{x:{category:{constraints:[{name:"elementDist"}],rules:{elementDist:[{name:"textWrapper",option:{lineNumber:2}},{name:"textRotation",option:{degree:45}},{name:"textRotation",option:{degree:90}},{name:"textAbbreviate",option:{abbreviateBy:"end"}},{name:"textHide"}]}},linear:{constraints:[{name:"elementDist"}],rules:{elementDist:[{name:"nodesResampling",option:{keep:["end"]}},{name:"textRotation",option:{degree:45}},{name:"textRotation",option:{degree:90}},{name:"robustAbbrevaite",option:{unit:"thousand",decimal:1,abbreviateBy:"end"}},{name:"textHide"}]}},dateTime:{constraints:[{name:"elementDist"}],rules:{elementDist:[{name:"datetimeStringAbbrevaite"},{name:"nodesResamplingByAbbrevate",option:{keep:["end"]}},{name:"textRotation",option:{degree:45}},{name:"textRotation",option:{degree:90}},{name:"nodesResampling"},{name:"nodesResampling"},{name:"textHide"}]}}},y:{linear:{constraints:[{name:"elementDistVertical"},{name:"elementWidth"}],rules:{elementDistVertical:[{name:"nodesResampling"},{name:"textHide"}],elementWidth:[{name:"digitsAbbreviate"},{name:"textHide"}]}},category:{constraints:[{name:"elementDistVertical"},{name:"elementWidth"}],rules:{elementDistVertical:[{name:"nodesResampling"},{name:"textHide"}],elementWidth:[{name:"textAbbreviate",option:{abbreviateBy:"end"}},{name:"textHide"}]}}}}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(7),o=i(8),a=i(0),s=n.__importDefault(i(260)),l=i(143),u=n.__importDefault(i(89)),c=function(){function t(t){var e=this;this.onResize=a.debounce((function(){if(!e.plot.destroyed){var t=e.getCanvasSize(),i=t.width,n=t.height;e.width===i&&e.height===n||(e.width=i,e.height=n,e.plot.updateConfig({width:i,height:n}),e.plot.render())}}),300);var i=t.containerDOM,n=t.plot;this.containerDOM=i,this.plot=n,this.init()}return t.prototype.getCanvasSize=function(){var t=l.getGlobalTheme(),e=this.plot.width?this.plot.width:t.width,i=this.plot.height?this.plot.height:t.height;return this.plot.forceFit&&(e=this.containerDOM.offsetWidth?this.containerDOM.offsetWidth:e,i=this.containerDOM.offsetHeight?this.containerDOM.offsetHeight:i),{width:e,height:i}},t.prototype.getCanvasDOM=function(){return this.canvas.get("container")},t.prototype.updateCanvasSize=function(){var t=this.getCanvasSize(),e=t.width,i=t.height;this.width=e,this.height=i,this.canvas.changeSize(e,i)},t.prototype.updateCanvasTheme=function(){var t=this.plot.theme,e=u.default.getGlobalTheme(t),i=a.get(e,"backgroundStyle.fill");i&&this.updateCanvasStyle({backgroundColor:i})},t.prototype.updateCanvasStyle=function(t){r.modifyCSS(this.getCanvasDOM(),t),r.modifyCSS(this.canvas.get("el"),{display:"inline-block",verticalAlign:"middle"})},t.prototype.destroy=function(){this.resizeObserver&&(this.resizeObserver.unobserve(this.containerDOM),this.resizeObserver.disconnect(),this.containerDOM=null),this.canvas.destroy()},t.prototype.bindForceFit=function(){this.plot.forceFit&&(this.resizeObserver=new s.default(this.onResize),this.resizeObserver.observe(this.containerDOM))},t.prototype.init=function(){this.initGCanvas(),this.bindForceFit(),this.updateCanvasStyle({position:"relative"})},t.prototype.initGCanvas=function(){var t=this.plot,e=t.renderer,i=void 0===e?"canvas":e,n=t.pixelRatio,r=t.localRefresh,a=void 0!==r&&r,s=this.getCanvasSize(),l=s.width,u=s.height,c="canvas"===i?o.Canvas:o.SVG;this.canvas=new c({localRefresh:a,container:this.containerDOM,width:l,height:u,pixelRatio:n}),this.width=l,this.height=u,this.updateCanvasTheme()},t}();e.default=c},function(t,e,i){"use strict";i.r(e),function(t){var i=function(){if("undefined"!=typeof Map)return Map;function t(t,e){var i=-1;return t.some((function(t,n){return t[0]===e&&(i=n,!0)})),i}return function(){function e(){this.__entries__=[]}return Object.defineProperty(e.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),e.prototype.get=function(e){var i=t(this.__entries__,e),n=this.__entries__[i];return n&&n[1]},e.prototype.set=function(e,i){var n=t(this.__entries__,e);~n?this.__entries__[n][1]=i:this.__entries__.push([e,i])},e.prototype.delete=function(e){var i=this.__entries__,n=t(i,e);~n&&i.splice(n,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var i=0,n=this.__entries__;i0},t.prototype.connect_=function(){n&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),s?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},t.prototype.disconnect_=function(){n&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},t.prototype.onTransitionEnd_=function(t){var e=t.propertyName,i=void 0===e?"":e;a.some((function(t){return!!~i.indexOf(t)}))&&this.refresh()},t.getInstance=function(){return this.instance_||(this.instance_=new t),this.instance_},t.instance_=null,t}(),u=function(t,e){for(var i=0,n=Object.keys(e);i0},t}(),_="undefined"!=typeof WeakMap?new WeakMap:new i,O=function t(e){if(!(this instanceof t))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var i=l.getInstance(),n=new b(e,i,this);_.set(this,n)};["observe","unobserve","disconnect"].forEach((function(t){O.prototype[t]=function(){var e;return(e=_.get(this))[t].apply(e,arguments)}}));var w=void 0!==r.ResizeObserver?r.ResizeObserver:O;e.default=w}.call(this,i(261))},function(t,e){function i(t){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(t){"object"===("undefined"==typeof window?"undefined":i(window))&&(n=window)}t.exports=n},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0);var r=function(){function t(t){this.plot=t.plot,this.canvas=t.canvas,this.eventHandlers=[]}return t.prototype.bindEvents=function(){this.addEvent(this.canvas,"mousedown",n.wrapBehavior(this,"onEvents")),this.addEvent(this.canvas,"mousemove",n.wrapBehavior(this,"onMove")),this.addEvent(this.canvas,"mouseup",n.wrapBehavior(this,"onEvents")),this.addEvent(this.canvas,"click",n.wrapBehavior(this,"onEvents")),this.addEvent(this.canvas,"dblclick",n.wrapBehavior(this,"onEvents")),this.addEvent(this.canvas,"contextmenu",n.wrapBehavior(this,"onEvents")),this.addEvent(this.canvas,"wheel",n.wrapBehavior(this,"onEvents"))},t.prototype.clearEvents=function(){var t=this.eventHandlers;n.each(t,(function(t){t.target.off(t.type,t.handler)}))},t.prototype.addEvent=function(t,e,i){t.on(e,i),this.eventHandlers.push({target:t,type:e,handler:i})},t.prototype.onEvents=function(t){var e=this.getEventObj(t),i=t.target;!this.isShapeInView(i)&&i.name&&this.plot.emit(i.name+":"+t.type,t),this.plot.emit(""+t.type,e);var n=this.plot.getLayers();n.length>0&&this.onLayerEvent(n,e,t.type)},t.prototype.onMove=function(t){var e,i,n=t.target,r=this.getEventObj(t);!this.isShapeInView(n)&&n.name&&(this.plot.emit(n.name+":"+t.type,r),!this.lastShape||(e=n,i=this.lastShape,e&&i&&e===i)||(this.lastShape&&this.plot.emit(this.lastShape.name+":mouseleave",r),this.plot.emit(n.name+":mouseenter",r)),this.lastShape=n),this.plot.emit("mousemove",r);var o=this.plot.getLayers();o.length>0&&this.onLayerEvent(o,r,"mousemove")},t.prototype.isShapeInView=function(t){for(var e=["frontgroundGroup","backgroundGroup","panelGroup"],i=t.get("parent");i;){var r=i.get("name");if(r&&n.contains(e,r))return!0;i=i.get("parent")}return!1},t.prototype.getEventObj=function(t){return{clientX:t.clientX,clientY:t.clientY,x:t.x,y:t.y,plot:this.plot,data:t.data?t.data.data:null,canvas:this.canvas,target:t.target,gEvent:t}},t.prototype.onLayerEvent=function(t,e,i){var r=this;n.each(t,(function(t){var n=t.getGlobalBBox();if(function(t,e){return t.x>=e.minX&&t.x<=e.maxX&&t.y>=e.minY&&t.y<=e.maxY}({x:e.x,y:e.y},n)){t.emit(""+i,e);var o=t.layers;o.length>0&&r.onLayerEvent(o,e,i)}}))},t}();e.default=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(264);Object.defineProperty(e,"Line",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"LineConfig",{enumerable:!0,get:function(){return r.LineConfig}});var o=i(302);Object.defineProperty(e,"Treemap",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"TreemapConfig",{enumerable:!0,get:function(){return o.TreemapConfig}});var a=i(313);Object.defineProperty(e,"StepLine",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"StepLineConfig",{enumerable:!0,get:function(){return a.StepLineConfig}});var s=i(315);Object.defineProperty(e,"Bar",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"BarConfig",{enumerable:!0,get:function(){return s.BarConfig}});var l=i(319);Object.defineProperty(e,"StackedBar",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"StackedBarConfig",{enumerable:!0,get:function(){return l.StackedBarConfig}});var u=i(323);Object.defineProperty(e,"GroupedBar",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"GroupedBarConfig",{enumerable:!0,get:function(){return u.GroupedBarConfig}});var c=i(325);Object.defineProperty(e,"PercentStackedBar",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"PercentStackedBarConfig",{enumerable:!0,get:function(){return c.PercentStackedBarConfig}});var h=i(326);Object.defineProperty(e,"RangeBar",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(e,"RangeBarConfig",{enumerable:!0,get:function(){return h.RangeBarConfig}});var p=i(330);Object.defineProperty(e,"Area",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"AreaConfig",{enumerable:!0,get:function(){return p.AreaConfig}});var f=i(334);Object.defineProperty(e,"StackedArea",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"StackedAreaConfig",{enumerable:!0,get:function(){return f.StackedAreaConfig}});var d=i(341);Object.defineProperty(e,"PercentStackedArea",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"PercentStackedAreaConfig",{enumerable:!0,get:function(){return d.PercentStackedAreaConfig}});var g=i(342);Object.defineProperty(e,"Column",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(e,"ColumnConfig",{enumerable:!0,get:function(){return g.ColumnConfig}});var y=i(57);Object.defineProperty(e,"ColumnLabel",{enumerable:!0,get:function(){return y.default}});var v=i(347);Object.defineProperty(e,"GroupedColumn",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(e,"GroupedColumnConfig",{enumerable:!0,get:function(){return v.GroupedColumnConfig}});var m=i(349);Object.defineProperty(e,"StackedColumn",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(e,"StackedColumnConfig",{enumerable:!0,get:function(){return m.StackedColumnConfig}});var x=i(171);Object.defineProperty(e,"StackedColumnLabel",{enumerable:!0,get:function(){return x.default}});var b=i(353);Object.defineProperty(e,"RangeColumn",{enumerable:!0,get:function(){return b.default}}),Object.defineProperty(e,"RangeColumnConfig",{enumerable:!0,get:function(){return b.RangeColumnConfig}});var _=i(357);Object.defineProperty(e,"PercentStackedColumn",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(e,"PercentStackedColumnConfig",{enumerable:!0,get:function(){return _.PercentStackedColumnConfig}});var O=i(358);Object.defineProperty(e,"Pie",{enumerable:!0,get:function(){return O.default}}),Object.defineProperty(e,"PieConfig",{enumerable:!0,get:function(){return O.PieConfig}});var w=i(366);Object.defineProperty(e,"DensityHeatmap",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(e,"DensityHeatmapConfig",{enumerable:!0,get:function(){return w.DensityHeatmapConfig}});var M=i(373);Object.defineProperty(e,"Heatmap",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(e,"HeatmapConfig",{enumerable:!0,get:function(){return M.HeatmapConfig}});var C=i(379);Object.defineProperty(e,"WordCloud",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(e,"WordCloudConfig",{enumerable:!0,get:function(){return C.WordCloudConfig}});var S=i(383);Object.defineProperty(e,"Rose",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(e,"RoseConfig",{enumerable:!0,get:function(){return S.RoseConfig}});var j=i(385);Object.defineProperty(e,"Funnel",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(e,"FunnelConfig",{enumerable:!0,get:function(){return j.FunnelConfig}});var P=i(392);Object.defineProperty(e,"StackedRose",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(e,"StackedRoseConfig",{enumerable:!0,get:function(){return P.StackedRoseConfig}});var T=i(394);Object.defineProperty(e,"GroupedRose",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(e,"GroupedRoseConfig",{enumerable:!0,get:function(){return T.GroupedRoseConfig}});var A=i(396);Object.defineProperty(e,"Radar",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(e,"RadarConfig",{enumerable:!0,get:function(){return A.RadarConfig}});var E=i(400);Object.defineProperty(e,"Liquid",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(e,"LiquidConfig",{enumerable:!0,get:function(){return E.LiquidConfig}});var L=i(407);Object.defineProperty(e,"Histogram",{enumerable:!0,get:function(){return L.default}}),Object.defineProperty(e,"HistogramConfig",{enumerable:!0,get:function(){return L.HistogramConfig}});var I=i(409);Object.defineProperty(e,"Density",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(e,"DensityConfig",{enumerable:!0,get:function(){return I.DensityConfig}});var D=i(411);Object.defineProperty(e,"Donut",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(e,"DonutConfig",{enumerable:!0,get:function(){return D.DonutConfig}});var k=i(415);Object.defineProperty(e,"Waterfall",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(e,"WaterfallConfig",{enumerable:!0,get:function(){return k.WaterfallConfig}});var B=i(420);Object.defineProperty(e,"Scatter",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(e,"ScatterConfig",{enumerable:!0,get:function(){return B.ScatterConfig}});var F=i(424);Object.defineProperty(e,"Bubble",{enumerable:!0,get:function(){return F.default}}),Object.defineProperty(e,"BubbleConfig",{enumerable:!0,get:function(){return F.BubbleConfig}});var R=i(429);Object.defineProperty(e,"Bullet",{enumerable:!0,get:function(){return R.default}}),Object.defineProperty(e,"BulletConfig",{enumerable:!0,get:function(){return R.BulletConfig}});var N=i(435);Object.defineProperty(e,"Calendar",{enumerable:!0,get:function(){return N.default}}),Object.defineProperty(e,"CalendarConfig",{enumerable:!0,get:function(){return N.CalendarConfig}});var Y=i(440);Object.defineProperty(e,"Gauge",{enumerable:!0,get:function(){return Y.default}}),Object.defineProperty(e,"GaugeConfig",{enumerable:!0,get:function(){return Y.GaugeConfig}});var G=i(442);Object.defineProperty(e,"FanGauge",{enumerable:!0,get:function(){return G.default}}),Object.defineProperty(e,"FanGaugeConfig",{enumerable:!0,get:function(){return G.FanGaugeConfig}});var X=i(444);Object.defineProperty(e,"MeterGauge",{enumerable:!0,get:function(){return X.default}}),Object.defineProperty(e,"MeterGaugeConfig",{enumerable:!0,get:function(){return X.MeterGaugeConfig}}),n.__exportStar(i(446),e)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(66)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="line",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=n.__importDefault(i(146)),o=n.__importDefault(i(266));e.default={main:r.default,mini:o.default}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(8),o=i(0),a=i(24),s=i(90),l=n.__importDefault(i(146)),u=i(11);function c(t,e,i){var n=[],r=[];o.each(t.points,(function(t){n.push(t[1]),r.push(t[0])})),r=e.parsePoints(r.reverse()),n=a.lineSimplification(e.parsePoints(n));var l=i?s.getSplinePath(n,!1,[[0,0],[1,1]]):h(n),u=h(r);return u[0][0]="L",l.concat(u)}function h(t){for(var e=[],i=0;i0&&(i.values=[t.color[0]]):r.isObject(t.color)&&(i.fields=e,i.callback=function(e){return t.color[e]})),this.config.color=i},e.prototype.parseSize=function(t){var e=this.plot.options,i={};r.isFunction(e[t])?(i.fields=[this.config.position.fields],i.callback=e[t]):i.values=[e[t]],this.config.size=i},e.prototype.parseStyle=function(t){var e=this.plot.options,i=this.config.color,n=this.plot.options[t],o={};r.isFunction(n)?(o.fields=(null==i?void 0:i.fields)||[e.xField,e.yField],o.callback=n):o.cfg=n,this.config.style=o},e.prototype._getSizeProps=function(t){for(var e=0,i=["columnSize","barSize"];e0&&(e.values=[t.color[0]])),this.config.color=e},e.prototype.parseStyle=function(){var t=this.plot.options.line.style,e={};r.isFunction(t)?(e.fields=this.config.position.fields,e.callback=t):e.cfg=t,this.config.style=e},e.prototype._needParseAttribute=function(t){var e=this.plot.options;return!!e[t]||!!e.line[t]},e.prototype._getColorMappingField=function(){for(var t=this.plot.options,e=0,i=["stackField","seriesField"];e0&&(this.config.color=e)},e.prototype.parseSize=function(){var t=this.plot.options,e={};e.values=[t.point.size],this.config.size=e},e.prototype.parseShape=function(t){var e={};r.isString(t)?e.values=[t]:r.isObject(t)&&(e.fields=t.fields,e.callback=t.callback),this.config.shape=e},e.prototype.parseStyle=function(){var t=this.plot.options,e=t.point&&t.point.style,i={fields:null,callback:null,cfg:null},n=this._getColorMappingField(t);r.isFunction(e)?(i.fields=[t.xField,t.yField],i.callback=e,n&&i.fields.unshift(n)):i.cfg=e,this.config.style=i},e.prototype._parseColorByField=function(t,e,i){if(e.fields=[i],t.point.color){for(var n=function(t,e){var i=[];return r.each(e,(function(e){var n=e[t];i.push(n)})),r.uniq(i)}(i,t.data).length,o=[],a=0;a0&&(e.values=[t.color[0]]))},e.prototype._needParseAttribute=function(t){var e=this.plot.options;return e.point&&r.has(e.point,t)},e.prototype._getColorMappingField=function(t){for(var e=0,i=a;e=a.x&&r<=s.x){var l=(s.y-a.y)/(s.x-a.x);return[r,a.y+l*(r-a.x)]}}}e.getPlotOption=function(t){n=t},r.registerAnimation("clipingWithData",(function(t,e){var i=o.deepMix({},e,{easing:"easeLinear",duration:1e4}),r=t.get("element").geometry;r.labelsContainer.set("visible",!1);var s=t.get("index"),l=r.coordinate,u=r.scales[n.options.yField],c=o.clone(t.get("origin"));!function(t,e){var i=e.start,n=e.end,r=e.height;t.setClip({type:"rect",attrs:{x:i.x,y:n.y,width:0,height:r}})}(t,l);var h=t.get("clipShape"),p=t.get("parent"),f=null,d=n.options.seriesField;d&&(f=p.addShape("text",{attrs:{x:l.start.x+12,y:0,text:c.data[0][d],fill:t.attr("stroke"),fontSize:12,textAlign:"start",textBaseline:"middle"}}));var g=f?16:0,y=p.addShape("text",{attrs:{x:l.start.x+12,y:g,text:"test"+s,fill:t.attr("stroke"),fontSize:12,textAlign:"start",textBaseline:"middle"}});i.callback=function(){t&&!t.get("destroyed")&&(t.setClip(null),h.remove(),y.animate({opacity:0},300,(function(){y.remove(),o.isNil(f)||f.remove();var t=r.labelsContainer;t.get("visible")||t.set("visible",!0)})))};var v=i.delay;o.isFunction(v)&&(v=i.delay(s));var m=i.easing;o.isFunction(m)&&(m=i.easing(s)),h.animate({width:l.getWidth()},i.duration,m,i.callback,v),i.onFrame=function(t){var e=a(t,c,l);if(e){y.attr("x",e[0]+12),y.attr("y",e[1]+g);var i=function(t,e,i){var n=(e-i.start.y)/(i.end.y-i.start.y);return t.invert(n).toFixed(2)}(u,e[1],l);u.formatter&&(i=u.formatter(i)),y.attr("text",i)}},y.animate(i.onFrame,{duration:i.duration,easing:m,callback:i.callback,delay:v}),f&&f.animate({onFrame:function(t){var e=a(t,c,l);e&&(f.attr("x",e[0]+12),f.attr("y",e[1]))}},i.duration,m,i.callback,v)}))},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=n.__importDefault(i(276)),o=n.__importDefault(i(292)),a=[{name:"responsiveAxis",method:r.default},{name:"responsivePointLabel",method:o.default}];e.default={preRender:[],afterRender:a}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1).__importDefault(i(67));e.default=function(t){var e=t.getResponsiveTheme(),i=t.canvas;new n.default({plot:t,responsiveTheme:e,dim:"x"}),new n.default({plot:t,responsiveTheme:e,dim:"y"}),i.draw()}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={type:"padding",usage:"assign",expression:function(t,e,i){return void 0===i&&(i={ratio:.6}),e.width*i.ratio}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1).__importStar(i(24));e.default={type:"group",usage:"compare",expression:function(t,e){var i=[t.topLeft,t.topRight,t.bottomRight,t.bottomLeft],r=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],o=n.minDistBetweenConvexPolygon(i,r);return Math.round(o)>=2}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1).__importStar(i(24));e.default={type:"chain",usage:"compare",expression:function(t,e,i){void 0===i&&(i={value:4});var r=[t.topLeft,t.topRight,t.bottomRight,t.bottomLeft],o=[e.topLeft,e.topRight,e.bottomRight,e.bottomLeft],a=n.minDistBetweenConvexPolygon(r,o);return Math.round(a)>=i.value}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={type:"chain",usage:"compare",expression:function(t,e,i){void 0===i&&(i={value:5});var n=Math.abs(t.bottom-e.top);return Math.round(n)>=i.value}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={type:"padding",usage:"compare",expression:function(t,e,i){return void 0===i&&(i={ratio:.15}),t.width90&&t<=180)return 180-t;if(t>180&&t<270)return t-180;return 360-t}(l);var u=Math.abs(t.centerX-e.centerX),c=Math.abs(t.centerY-e.centerY);l>45?i="x":l<45&&(i="y");return{dir:i,distX:u,distY:c}}(r[e],r[e+1]).dir,a=t.get("startPoint");"x"===o&&t.attr("y",a.y+20)}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),r=i(152);e.default=function(t,e,i,o){var a=o.nodes.nodes;if(0!==i){var s=a[i],l=a[i-1];if(r.isNodeOverlap(s,l)){var u=o.plot.view.geometries[0].elements[0],c=l.top-s.height/2;if(c-10>o.region.top){var h=s.shape.get("origin"),p=function(t,e){var i;return n.each(e,(function(e){var n=e;n.get("id")===t&&(i=n)})),i}(u.getShapeId(h),u.getShapes()).get("box"),f=p.left+p.width/2,d=p.top,g=u.get("labelController").labelsContainer.addShape("path",{attrs:{path:[["M",f,d],["L",s.shape.attr("x"),c]],stroke:"#ccc",lineWidth:1}}),y={x:t.attr("x"),y:t.attr("y")};s.shape.attr("y",c-10),a[i]=o.nodes.measure(s.shape),a[i].line=g,a[i].origin_position=y}}}}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(155),o=n.__importDefault(i(44));e.default=function(t,e,i,n){var a=n.nodes.nodes;r.isKeep(e.keep,i,a)||t.attr("text")!==t.get("delegateObject").item.name&&o.default(t)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(44));e.default=function(t,e,i,n){var a=n.nodes.nodes,s=function(t){var e=r.deepMix([],t);return e.sort((function(t,e){return e.width-t.width})),Math.round(e[0].width)}(a);if(!(i<=1)){var l=a[i],u=function(t,e){for(var i=t-1;i>0;i--){var n=e[i];if(!n.shape.get("blank"))return n}}(i,a),c=u.centerX-l.centerX,h=u.centerY-l.centerY;Math.sqrt(c*c+h*h)1&&(o.parent=t),r.hasKey(o,n)||(o[n]=t[n]),o.showLabel=!0,!i.isLeaf(o)){var a=Math.abs(o.y1-o.y0),l=i.getLabelHeight(),u=a/2>l?l:4;o.showLabel=4!==u;var c=s.default(o,o.x0+4,o.y0+u,o.x1-4,o.y1-4);i.fillColorField(c,n,o[n]),i.recursive(c,o.depth+1)}}))}))},e.prototype.getAllNodes=function(t,e,i){var o=this,a=i||this.options.maxLevel,s=this.getViewRange();r.each(t,(function(t){r.hasKey(t,"x0")&&t.depth<=a&&e.push(n.__assign(n.__assign({},t),{x:[t.x0,t.x1,t.x1,t.x0],y:[s.height-t.y1,s.height-t.y1,s.height-t.y0,s.height-t.y0]})),r.hasKey(t,"children")&&o.getAllNodes(t.children,e)}))},e.prototype.fillColorField=function(t,e,i){r.each(t,(function(t){r.hasKey(t,e)||(t[e]=i)}))},e.prototype.getLabelHeight=function(){var t=this.options.label,e=this.getPlotTheme().label.style.fontSize,i=0;if(t&&t.visible){var n=t.style;i=n&&n.fontSize?n.fontSize:e}return i+8},e.prototype.isLeaf=function(t){return!t.children||0===t.children.length},e.prototype.isNested=function(t){if(1===this.options.maxLevel)return!1;for(var e=!1,i=0;ih&&(h=v),d=(c+=v)*c*f,(g=Math.max(h/d,d/p))>y){c-=v;break}y=g}var w={value:c,dice:_=l){var h=s.substr(0,s.length-1);if(h.length>0)return h+"..."}}return a.remove(),r.remove(),s}var a=function(){function t(t){this.destroyed=!1,this.view=t.view,this.plot=t.plot;var e=this.getDefaultOptions();this.options=n.deepMix(e,t,{}),this.init()}return t.prototype.init=function(){var t=this;this.container=this.getGeometry().labelsContainer,this.view.on("beforerender",(function(){t.clear(),t.plot.canvas.draw()}))},t.prototype.render=function(){var t=this,e=this.getGeometry().elements;n.each(e,(function(e){var i=e.shape,r=i.get("origin").data,o=function(t,e){return!t.children||t.depth>=e}(r,t.plot.options.maxLevel);if(r.showLabel){var a=n.clone(t.options.style),s=t.getPosition(i,o),l=t.options.formatter,u=l?l(r.name):r.name,c=t.getTextBaseLine(o),h=t.container.addShape("text",{attrs:n.deepMix({},a,{x:s.x,y:s.y,text:u,fill:"black",textAlign:"center",textBaseline:c,fontWeight:o?300:600}),name:"label"});t.adjustLabel(h,i,o)}}))},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.hide=function(){this.container.set("visible",!1),this.plot.canvas.draw()},t.prototype.show=function(){this.container.set("visible",!0),this.plot.canvas.draw()},t.prototype.destroy=function(){this.container&&this.container.remove(),this.destroyed=!0},t.prototype.getBBox=function(){return this.container.getBBox()},t.prototype.getPosition=function(t,e){var i=t.getBBox(),n=0,r=0;return e?(n=i.minX+i.width/2,r=i.minY+i.height/2):(n=i.x+i.width/2,r=i.y+4),{x:n,y:r}},t.prototype.getTextBaseLine=function(t){return t?"middle":"top"},t.prototype.adjustLabel=function(t,e,i){i?this.adjustLeafLabel(t,e):this.adjustParentLabel(t,e)},t.prototype.adjustLeafLabel=function(t,e){var i=e.getBBox(),a=t.getBBox(),s=n.clone(t.attr("text")),l=Math.max(t.attr("fontSize")-2,8),u=i.x+i.width/2,c=i.y+i.height/2;t.attr({x:u,y:c,textAlign:"center",textBaseline:"middle",lineHeight:l,fontSize:l});var h=i.width-8;if(a.width>i.width&&a.height>i.height)t.attr("text","");else if(hi.width){var p=function(t,e,i){var n=t.attr("fontSize"),o=t.attr("text"),a=i.addShape("text",{attrs:{text:"",x:0,y:0,fontSize:n}}),s=o.split("\n").map((function(t){for(var i="",n=t.split(""),o=[],s=0;se){if(0===s)break;o.push(s),i=""}}return r.breakText(n,o)}));return a.remove(),s.join("\n")}(t,h,this.container);if(t.attr({lineHeight:t.attr("fontSize"),text:p}),t.getBBox().height>i.height){var f=o(s,l,h,this.container);t.attr("text",f)}}},t.prototype.adjustParentLabel=function(t,e){var i=e.getBBox().width-8;if(t.getBBox().width>i){var n=o(t.attr("text"),t.attr("fontSize"),i,this.container);t.attr("text",n)}},t.prototype.getDefaultOptions=function(){var t=this.plot.theme.label.style;return{offsetX:0,offsetY:0,style:n.clone(t)}},t.prototype.getGeometry=function(){return n.find(this.view.geometries,(function(t){return"polygon"===t.type}))},t}();e.default=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(314),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="step-line",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=o.StepLineLayer.getDefaultOptions,e}(n.__importDefault(i(4)).default);e.default=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.StepLineLayer=void 0;var n=i(1),r=i(0),o=n.__importDefault(i(66)),a=i(6),s=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="step-line",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{step:"hv"})},e}(o.default);e.StepLineLayer=s,a.registerPlotType("step-line",s)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(68)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="bar",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=[{name:"responsiveAxis",method:i(1).__importDefault(i(317)).default}];e.default={preRender:[],afterRender:n}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1).__importDefault(i(67));e.default=function(t){var e=t.getResponsiveTheme(),i=t.canvas;new n.default({plot:t,responsiveTheme:e,dim:"x"}),new n.default({plot:t,responsiveTheme:e,dim:"y"}),i.draw()}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});var o=r.getEventMap({bar:"interval"});n.assign(r.EVENT_MAP,o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(95)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="stackedBar",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(11),r=i(93);n.registerTheme("stackedBar",r.DEFAULT_BAR_THEME)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(20),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.adjustLabel=function(t,e){if(this.options.adjustPosition){var i=t.getBBox();this.getElementShapeBBox(e).maxX<=i.maxX&&t.set("visible",!1)}},e}(n.__importDefault(i(94)).default);e.default=o,r.registerLabelComponent("stacked-bar",o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(20),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.shouldInShapeLabels=function(t){return!0},e}(n.__importDefault(i(162)).default);e.default=o,r.registerLabelComponent("stacked-bar-auto",o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(163)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="groupedBar",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(11),r=i(93);n.registerTheme("groupedBar",r.DEFAULT_BAR_THEME)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(164)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="percentStackedBar",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(327)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="rangeBar",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importDefault(i(68)),s=n.__importDefault(i(328)),l=i(329),u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="rangeBar",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix(t.getDefaultOptions.call(this),{label:{visible:!0,position:"outer"},xAxis:{visible:!0,autoRotateTitle:!1,grid:{visible:!0},line:{visible:!1},tickLine:{visible:!1},label:{visible:!0,autoRotate:!0,autoHide:!0},title:{visible:!0,spacing:12}},yAxis:{visible:!0,autoRotateTitle:!0,grid:{visible:!1},line:{visible:!0},tickLine:{visible:!0},label:{visible:!0,autoHide:!0,autoRotate:!1},title:{visible:!1,spacing:12}}},{})},e.prototype.afterRender=function(){this.renderLabel();var e=[],i=this.view.geometries;r.each(i,(function(t){var i=t.elements;r.each(i,(function(t){e.push(t.shape)}))})),l.setShapeCache(e),t.prototype.afterRender.call(this)},e.prototype.renderLabel=function(){this.options.label&&this.options.label.visible&&new s.default(n.__assign({view:this.view,plot:this},this.options.label)).render()},e.prototype.animation=function(){t.prototype.animation.call(this)},e}(a.default);e.default=u,o.registerPlotType("rangeBar",u)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(28),a=n.__importDefault(i(13));var s=function(){function t(t){this.destroyed=!1,this.view=t.view,this.plot=t.plot;var e=this.getDefaultOptions();this.options=r.deepMix(e,t,{}),this.options.leftStyle||(this.options.leftStyle=this.options.style),this.options.rightStyle||(this.options.rightStyle=this.options.style),this.init()}return t.prototype.init=function(){var t=this;this.container=this.getGeometry().labelsContainer,this.view.on("beforerender",(function(){t.clear(),t.plot.canvas.draw()}))},t.prototype.render=function(){var t=this,e=this.getGeometry(),i=e.elements,n=e.coordinate;this.coord=n,r.each(i,(function(e){var i=e.shape,n=t.getPosition(i),o=t.getValue(i),a=t.getTextAlign(),s=[];r.each(n,(function(e,n){var l=0===n?t.options.leftStyle:t.options.rightStyle,u=t.getTextColor(i,n);"inner"===t.options.position&&t.options.adjustColor&&"black"!==u&&(l.stroke=null);var c=t.options.formatter,h=c?c(o[n]):o[n],p=t.container.addShape("text",{attrs:r.deepMix({},l,{x:e.x,y:e.y,text:h,fill:u,textAlign:a[n],textBaseline:"middle"}),name:"label"});s.push(p),t.doAnimation(p)})),i.set("labelShapes",s),t.adjustPosition(s[0],s[1],i)})),this.plot.canvas.draw()},t.prototype.hide=function(){this.container.set("visible",!1),this.plot.canvas.draw()},t.prototype.show=function(){this.container.set("visible",!0),this.plot.canvas.draw()},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.destroy=function(){this.container&&this.container.remove(),this.destroyed=!0},t.prototype.getBBox=function(){return this.container.getBBox()},t.prototype.getShapeBbox=function(t){var e=this,i=[];return r.each(t.get("origin").points,(function(t){i.push(e.coord.convertPoint(t))})),new a.default(i[0].x,i[1].y,Math.abs(i[2].x-i[0].x),Math.abs(i[0].y-i[1].y))},t.prototype.getDefaultOptions=function(){var t=this.plot.theme.label.style;return{position:"outer",offsetX:8,offsetY:0,style:r.clone(t),adjustColor:!0,adjustPosition:!0}},t.prototype.getPosition=function(t){var e,i,n=this.getShapeBbox(t),r=n.minX,o=n.maxX,a=n.minY,s=n.height,l=this.options,u=l.offsetX,c=a+s/2+l.offsetY;return"outer"===this.options.position?(e=r-u,i=o+u):(e=r+u,i=o-u),[{x:e,y:c},{x:i,y:c}]},t.prototype.getValue=function(t){var e=this.plot.options.xField;return t.get("origin").data[e]},t.prototype.getTextAlign=function(){return"outer"===this.options.position?["right","left"]:["left","right"]},t.prototype.getTextColor=function(t,e){if(this.options.adjustColor&&"inner"===this.options.position){var i=t.attr("fill"),n=t.attr("opacity")?t.attr("opacity"):1,a=o.rgb2arr(i);return function(t,e){var i;return r.each(t,(function(t){var n=t;e>=n.from&&e2||h>a)&&(u=r-this.options.offsetX,t.attr("fill",this.options.leftStyle.fill),t.attr("textAlign","right"),l[0]=t.getBBox(),c=o+this.options.offsetX,e.attr("fill",this.options.rightStyle.fill),e.attr("textAlign","left"),l[1]=e.getBBox())}l[0].minXn.x&&(n=e),e.x>t&&e.xe)break}return i}var s=function(){function t(t){this.destroyed=!1,this.scaleFactor=[],this.view=t.view,this.plot=t.plot;var e=this.getDefaultOptions();this.options=r.deepMix(e,t,{}),this.init()}return t.prototype.init=function(){var t=this;this.container=this.getGeometry().labelsContainer,this.view.on("beforerender",(function(){t.clear(),t.plot.canvas.draw()}))},t.prototype.render=function(){var t=this,e=this.plot.options.stackField,i=this.getGeometry().dataArray,n=[];r.each(i,(function(e,i){var o=t.drawLabel(e,i);o&&(n.push(r.deepMix({},e[0],o)),t.scaleFactor.push(o.scaleFactor))}));var o=[];r.each(n,(function(i,n){var a=t.options,s=a.style,l=a.offsetX,u=a.offsetY,c=t.getFontSize(n),h=t.options.formatter,p=h?h(i._origin[e]):i._origin[e],f=t.container.addShape("text",{attrs:r.deepMix({},{x:i.x+l,y:i.y+u,text:p,fill:i.color,fontSize:c,textAlign:"center",textBaseline:"top"},s),name:"label"});o.push(f)})),this.plot.canvas.draw()},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.hide=function(){this.container.set("visible",!1),this.plot.canvas.draw()},t.prototype.show=function(){this.container.set("visible",!0),this.plot.canvas.draw()},t.prototype.destroy=function(){this.container&&this.container.remove(),this.destroyed=!0},t.prototype.getBBox=function(){return this.container.getBBox()},t.prototype.getDefaultOptions=function(){var t=this.plot.theme,e=r.clone(t.label.style);return e.stroke=null,delete e.fill,{offsetX:0,offsetY:0,style:e,autoScale:!0}},t.prototype.drawLabel=function(t,e){var i=function(t){var e=-1/0,i=1/0,n=-1/0;return r.each(t,(function(t){i=Math.min(t.x,i),n=Math.max(t.x,n);var r=Math.abs(t.y[0]-t.y[1]);e=Math.max(e,r)})),{xRange:[i,n],maxHeight:e}}(t),n=i.xRange,o=i.maxHeight,a=n[1]-n[0],s=this.getInterpolatedPoints(n[0],a,t),l=this.getLabelBbox(e),u={xRange:n,aspect:l.width/l.height,data:s,justTest:!0},c=this.bisection(12,o,this.testFit,u,.01,100);if(null!==c){u.justTest=!1;var h=this.testFit(u);return h.x=h.x,h.y=h.y0+(h.y1-h.y0)/2,h.scaleFactor=c/l.height*.2,h}},t.prototype.getInterpolatedPoints=function(t,e,i){for(var n=[],r=t;re[1])break;for(var c=a(r,u),h=-1/0,p=null,f=1/0,d=s;dh&&(h=g,p=y),f-h=n)return!!o||{x:l,y0:h,y1:p,width:i,height:n}}return!1},t.prototype.getLabelBbox=function(t){var e=r.clone(this.plot.theme.label.textStyle);e.fontSize=12;var i=this.container.addShape("text",{attrs:n.__assign({text:t,x:0,y:0},e)}),o=i.getBBox();return i.remove(),o},t.prototype.getGeometry=function(){return r.find(this.view.geometries,(function(t){return"area"===t.type}))},t.prototype.getFontSize=function(t){return this.options.autoScale?12*this.scaleFactor[t]:12},t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(20),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(n.__importDefault(i(165)).default);e.default=o,r.registerLabelComponent("stackedArea-point",o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(20),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.sortLabels=function(t,e){var i=[];return e.length>0&&i.push(e.shift()),e.length>0&&i.push(e.pop()),i.push.apply(i,e),i},e}(n.__importDefault(i(166)).default);e.default=o,r.registerLabelComponent("stackedArea-point-auto",o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(11),r=i(167);n.registerTheme("stackedArea",r.DEFAULT_AREA_THEME)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(168)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="percentStackedArea",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(45)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="column",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=n.__importDefault(i(344)),o=n.__importDefault(i(345)),a=[{name:"responsiveAxis",method:r.default},{name:"responsiveLabel",method:o.default}];e.default={preRender:[],afterRender:a}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1).__importDefault(i(67));e.default=function(t){var e=t.getResponsiveTheme(),i=t.canvas;new n.default({plot:t,responsiveTheme:e,dim:"x"}),new n.default({plot:t,responsiveTheme:e,dim:"y"}),i.draw()}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.getType=function(){return r.get(this.plot.options,["label","position"],"inner")},e}(n.__importDefault(i(158)).default);e.default=function(t){var e=t.getResponsiveTheme();new o({plot:t,responsiveTheme:e})}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});i(65).registerResponsiveTheme("column",{label:{top:{constraints:[{name:"elementCollision"}],rules:{elementCollision:[{name:"nodeJitterUpward"},{name:"nodesResamplingByState",option:{keep:["min","max","median"]}},{name:"textHide"}]}}}})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(100)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="groupedColumn",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(11),r=i(99);n.registerTheme("groupedColumn",r.DEFAULT_COLUMN_THEME)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(69)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="stackedColumn",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),r=i(64);function o(t,e){var i=[],r=t.get("origin").points;return n.each(r,(function(t){i.push(e.convertPoint(t))})),i}var a=function(){function t(t){this.areas=[],this.lines=[],this._areaStyle={},this._lineStyle={},n.assign(this,t),this._init()}return t.prototype.draw=function(){var t=this,e=this._getGroupedShapes();n.each(e,(function(e,i){e.length>0&&t._drawConnection(e,i)})),this.triggerOn?this._addInteraction():this.animation&&this._initialAnimation()},t.prototype.clear=function(){this.container&&this.container.clear(),this.areas=[],this.lines=[]},t.prototype.destroy=function(){this.container&&this.container.remove()},t.prototype.setState=function(t,e){"active"===t&&this._onActive(e),"disabled"===t&&this._onDisabled(e),"selected"===t&&this._onSelected(e)},t.prototype._init=function(){var t=this,e=this.view.backgroundGroup;this.container=e.addGroup(),this.draw(),this.view.on("beforerender",(function(){t.clear()}))},t.prototype._getGroupedShapes=function(){var t=this,e=this.view.getScaleByField(this.field).values,i=this.view.geometries[0].getShapes(),r={};return n.each(e,(function(t){r[t]=[]})),n.each(i,(function(e){var i=e.get("origin").data[t.field];r[i].push(e)})),r},t.prototype._drawConnection=function(t,e){var i=t[0].attr("fill");this._areaStyle[e]=this._getShapeStyle(i,"area"),this._lineStyle[e]=this._getShapeStyle(i,"line");for(var r=this.view.geometries[0].coordinate,a=0;a=n.from&&e2||h>a)&&(c=r-this.options.offsetY,e.attr("fill",this.options.topStyle.fill),e.attr("textBaseline","bottom"),u=o+this.options.offsetY,t.attr("fill",this.options.bottomStyle.fill),t.attr("textBaseline","top"),l[0]=t.getBBox(),l[1]=e.getBBox())}l[0].maxY>s.maxY-8&&(u=s.maxY-4,t.attr("textBaseline","bottom")),t.attr("y",u),e.attr("y",c),this.plot.canvas.draw()},t.prototype.getGeometry=function(){return r.find(this.view.geometries,(function(t){return"interval"===t.type}))},t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setShapeCache=void 0;var n,r=i(8),o=i(0);function a(t,e){var i=t.getBBox(),n=i.minY+i.height/2;t.setClip({type:"rect",attrs:{x:i.minX,y:n,width:i.width,height:0}}),t.get("clipShape").animate({height:i.height,y:i.minY},e.duration,e.easing,(function(){t.setClip(null)}),e.delay)}function s(t,e){var i=function(t){var e,i=t.id;return o.each(n,(function(t){t.id===i&&(e=t)})),e}(t).attr("path"),r=o.clone(t.attr("path"));t.attr("path",i),t.animate({path:r},e.duration,e.easing,e.callback,100)}a.animationName="clipInFromCenterVertical",e.setShapeCache=function(t){n=t},s.animationName="updateFromCenterVertical",r.registerAnimation("clipInFromCenterVertical",a),r.registerAnimation("updateFromCenterVertical",s)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(172)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="percentStackedColumn",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(101)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="pie",t.prototype.createLayers.call(this,i)},e.prototype.getAngleScale=function(){return this.layers[0].getAngleScale()},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});var o=r.getEventMap({pie:"interval"});n.assign(r.EVENT_MAP,o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.PieLabelConfig=e.getPieLabel=void 0;var n=i(1),r=i(70);Object.defineProperty(e,"PieLabelConfig",{enumerable:!0,get:function(){return r.PieLabelConfig}});var o=n.__importDefault(i(361)),a=n.__importDefault(i(362)),s=n.__importDefault(i(363)),l={inner:o.default,outer:a.default,"outer-center":s.default};e.getPieLabel=function(t){if(l[t])return l[t];console.warn("this label "+t+" is not registered")}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.percent2Number=void 0;var n=i(1),r=i(0),o=n.__importDefault(i(70)),a=i(102),s=i(24);e.percent2Number=function(t){return Number(t.endsWith("%")?t.slice(0,-1):t)/100};var l=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.adjustOption=function(e){t.prototype.adjustOption.call(this,e),e.offset>0&&(e.offset=0)},e.prototype.adjustItem=function(t){t.textAlign="middle"},e.prototype.drawLines=function(){},e.prototype.layout=function(t,e){var i=this;t.forEach((function(n,o){o>0&&r.each(t.slice(0,o),(function(t){i.resolveCollision(n,t,e[o])}))}))},e.prototype.getDefaultOptions=function(){var t=this.plot.theme.label.style;return{offsetX:0,offsetY:0,offset:"-30%",style:n.__assign(n.__assign({},t),{textAlign:"center",textBaseline:"middle"})}},e.prototype.resolveCollision=function(t,e,i){var n=this.getCoordinate().center,o=i.angle,l=t.getBBox(),u=e.getBBox(),c={x:(l.minX+l.maxX)/2,y:(l.minY+l.maxY)/2},h=r.clone(c),p=r.clone(c);if(e.get("id")!==t.get("id")){var f=a.getOverlapInfo(l,u),d=f.xOverlap,g=f.yOverlap;if(d&&(h.x=c.x+d,h.y=c.y+Math.tan(o)*d),g){var y=g;y=c.y0?y:u.maxY-l.minY,p.y=c.y+y,p.x=c.x+y/Math.tan(o)}var v=s.distBetweenPoints(c,h)o.x})),a].forEach((function(t,e){n._antiCollision(t,!e,i)}))},e.prototype._antiCollision=function(t,e,i){var n=this,o=this.getLabelHeight(t),s=this.getCoordinate(),l=s.center,u=s.radius,c=this.options.offset,h=u+c,p=Math.min(i.height,Math.max(2*h+2*o,t.length*o)),f=Math.floor(p/o);this.options.allowOverlap||t.slice(f).forEach((function(t){t.get("parent").set("visible",!1)})),t.splice(f,t.length-f),t.sort((function(t,e){return t.getBBox().y-e.getBBox().y}));for(var d,g=!0,y=l.y+p/2,v=l.y-p/2,m=t.map((function(t){var e=t.getBBox();return e.maxY>y&&(y=Math.min(i.maxY,e.maxY)),e.minY0){var b=m[d-1],_=m[d];if(b.pos+b.size>_.pos){b.size+=_.size,b.targets=b.targets.concat(_.targets);var O=r.last(b.targets);b.pos+b.size>O&&(b.pos=O-b.size),m.splice(d,1),g=!0}else b.targets.splice(-1,1,_.pos)}d=0,m.forEach((function(e){var i=o/2;e.targets.forEach((function(){t[d].attr("y",e.pos+i),i+=o,d++}))}));var w=[],M=[];t.forEach((function(t,e){var i=n.arcPoints[e];i.angle>=0&&i.angle<=Math.PI?M.push(t):w.push(t)})),[w,M].forEach((function(o,s){if(o.length){var p=s?r.last(o).getBBox().maxY-l.y:l.y-r.head(o).getBBox().minY;p=Math.max(h,p);var f=c>4?4:0,d=Math.max.apply(0,r.map(t,(function(t){return t.getBBox().width})))+c+f,g=Math.max(h,Math.min((p+h)/2,l.x-(i.minX+d))),y=g*g,v=p*p;o.forEach((function(t,i){var r=n.arcPoints[i],o=t.getBBox(),s=(o.minX,o.width,o.minY+o.height/2),c=Math.pow(s-l.y,2),h=a.getEndPoint(l,r.angle,u),p=(e?1:-1)*f*2;if(c>v)console.warn("异常(一般不会出现)",t.attr("text")),t.attr("x",h.x+p);else{var d=l.x+(e?1:-1)*Math.sqrt((1-c/v)*y);(l.x===h.x&&s===h.y||l.y===h.y&&d===h.x)&&(d=h.x),t.attr("x",d+p)}}))}}))},e.prototype.getLabelHeight=function(t){return this.options.labelHeight?this.options.labelHeight:r.head(t)?r.head(t).getBBox().height:14},e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_OFFSET=void 0;var n=i(1),r=n.__importDefault(i(70));e.DEFAULT_OFFSET=16;var o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.adjustOption=function(e){t.prototype.adjustOption.call(this,e),e.offset<0&&(e.offset=0)},e.prototype.getDefaultOptions=function(){var t=this.plot.theme.label.style;return{offsetX:0,offsetY:0,offset:12,style:n.__assign(n.__assign({},t),{textBaseline:"middle"})}},e.prototype.adjustItem=function(t){var e=this.options.offset;"left"===t.textAlign?t.x+=e>4?4:e/2:"right"===t.textAlign&&(t.x-=e>4?4:e/2)},e.prototype.layout=function(t,e,i){},e}(r.default);e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(101);function a(t,e,i){return{x:t.x+i*Math.cos(e),y:t.y+i*Math.sin(e)}}var s=function(){function t(t){this.destroyed=!1,this.view=t.view,this.options=r.deepMix({},this.getDefaultOptions(),t),this._adjustOptions(this.options),this.init()}return t.prototype.init=function(){var t=this;this.container=this.view.geometries[0].labelsContainer,this.view.on("beforerender",(function(){t.clear()}))},t.prototype.render=function(){var t=this;if(this.view&&!this.view.destroyed){var e=r.clone(this.view.getData());this.halves=[[],[]];var i=[],n=this.view.geometries[0].elements;r.each(n,(function(t){i.push(t.shape)})),this.coord=this.view.geometries[0].coordinate;var s=this.options,l=s.allZero,u=s.angleField,c=this.options.fields[0],h=this.view.getScalesByDim("y")[c],p=this.coord.getCenter(),f=this.coord.startAngle,d=this.coord.polarRadius,g=this.view.coordinateBBox,y=g.width,v=g.height;this.width=y,this.height=v;for(var m=f,x=function(t){var n=e[t],s=h.scale(n[c]),f=m+2*Math.PI*s,g=m+(f-m)/2;m=f;var y=a(p,g,d+0),v=a(p,g,d+15),x="#CCC";if(2===b.options.fields.length){var _=b.options.fields[1],O=b.view.geometries[0].scales[_].scale(n[_]);if(O){var w=Math.floor(O*(i.length-1));x=i[w].attr("fill")}}var M={_anchor:y,_inflection:v,_data:n,x:v.x,y:v.y,r:d+15,fill:x,textGroup:null,_side:null},C=[];if(r.each(b.options.fields,(function(t){l&&t===o.percentageField?C.push(n[u]):C.push(n[t])})),b.options.formatter){var S=b.options.formatter(n[u],{_origin:n,color:x},t);r.isString(S)&&(S=[S]),C=S}var j=b.container.addGroup({capture:!1,visible:!1}),P={x:0,y:0,fontSize:b.options.text.fontSize,lineHeight:b.options.text.fontSize,fontWeight:b.options.text.fontWeight,fill:b.options.text.fill},T=n[u];b.options.formatter&&(T=C[0]);var A=r.clone(P);(2===C.length&&(A.fontWeight=700),j.addShape("text",{attrs:r.mix({textBaseline:2===C.length?"top":"middle",text:T},A),data:n,offsetY:2===C.length?2:0,name:"label"}).name="label",2===C.length)&&(j.addShape("text",{attrs:r.mix({textBaseline:"bottom",text:C[1]},P),data:n,offsetY:-2,name:"label"}).name="label");M.textGroup=j,y.xO&&e.splice(O,e.length-O),e.sort((function(t,e){return t.y-e.y})),t._antiCollision(e)})),this.view.canvas.draw()}},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.hide=function(){this.container.set("visible",!1),this.view.canvas.draw()},t.prototype.show=function(){this.container.set("visible",!0),this.view.canvas.draw()},t.prototype.destroy=function(){this.container&&this.container.remove(),this.destroyed=!0},t.prototype.getDefaultOptions=function(){return{text:{fill:"rgba(0, 0, 0, 0.65)",fontSize:12},line:{lineWidth:.5,stroke:"rgba(0, 0, 0, 0.45)"},lineHeight:32,sidePadding:20}},t.prototype._antiCollision=function(t){var e,i=this,n=this.coord,r=n.getHeight(),o=n.center,a=n.getRadius(),s=o.y-a-15-this.options.lineHeight,l=!0,u=r,c=0,h=Number.MIN_VALUE,p=0,f=t.map((function(t){var e=t.y;e>c&&(c=e),e=p&&(p=n),{size:i.options.lineHeight,targets:[e-s]}}));c-s>u&&(u=c-s);for(;l;)for(f.forEach((function(t){var e=(Math.min.apply(h,t.targets)+Math.max.apply(h,t.targets))/2;t.pos=Math.min(Math.max(h,e-t.size/2),u-t.size)})),l=!1,e=f.length;e--;)if(e>0){var d=f[e-1],g=f[e];d.pos+d.size>g.pos&&(d.size+=g.size,d.targets=d.targets.concat(g.targets),d.pos+d.size>u&&(d.pos=u-d.size),f.splice(e,1),l=!0)}e=0,f.forEach((function(n){var r=s;n.targets.forEach((function(){t[e].y=n.pos+r+i.options.lineHeight/2,r+=i.options.lineHeight,e++}))}));var y=[];t.forEach((function(t){var e=i._drawLabel(t);i._drawLabelLine(t,p,e),y.push(e)}))},t.prototype._drawLabel=function(t){var e=this.coord,i=e.getCenter(),r=e.getRadius(),o=t.y,a=t.textGroup,s=a.get("children"),l="left"===t._side?1:-1,u=n.__assign({textAlign:"left"===t._side?"right":"left",x:"left"===t._side?i.x-r-this.options.sidePadding:i.x+r+this.options.sidePadding},this.options.style);return this.options.offsetX&&(u.x+=this.options.offsetX*l),s.forEach((function(t){var e=t.get("offsetY"),i=o+e;t.attr(u),t.attr("y",i)})),a.show(),a},t.prototype._drawLabelLine=function(t,e,i){var n=[t._anchor.x,t._anchor.y],r=[t._inflection.x,t._inflection.y],o=t.y,a=t.textGroup;if(a){var s=["left"===t._side?a.getBBox().maxX+4:a.getBBox().minX-4,o],l=[n,r,s];if(r[1]!==o)if(r[1]=this.height/2&&r[1]>o){var u=r,c=s[0]+15,h=s[0]-15,p=["left"===t._side?c:h,r[1]];l=[n,u,p,s],("right"===t._side&&p[0]u[0])&&(l=[n,u,s])}else l=[n,[r[0],o],s];for(var f=[],d=0;d1){var t={type:"linearheatmap",position:{fields:[this.options.xField,this.options.yField]},color:{fields:[this.options.colorField],values:this.options.color},cfg:{intensity:this.options.intensity,radius:this.options.radius}};this.options.radius&&(t.radius=this.options.radius),this.options.intensity&&(t.intensity=this.options.intensity),this.options.tooltip&&(this.options.tooltip.fields||this.options.tooltip.formatter)&&this.geometryTooltip(t),this.setConfig("geometry",t),this.addPoint()}},e.prototype.addPoint=function(){var t=this.options,e={visible:!1,size:0};t.point&&t.point.visible?t.point=r.deepMix(e,t.point):t.point=e;var i=l.getGeom("point","guide",{plot:this});i.active=!1,this.setConfig("geometry",i)},e.prototype.extractLabel=function(){var t=this.options,e=t.label;return(!e||!1!==e.visible)&&s.getComponent("label",n.__assign({plot:this,labelType:"scatterLabel",fields:[t.xField,t.yField],position:"middle",offset:0},e))},e.prototype.legend=function(){this.setConfig("legends",!1)},e.prototype.geometryTooltip=function(t){t.tooltip={};var e=this.options.tooltip;e.fields&&(t.tooltip.fields=e.fields),e.formatter&&(t.tooltip.callback=e.formatter,e.fields||(t.tooltip.fields=[this.options.xField,this.options.yField],this.options.colorField&&t.tooltip.fields.push(this.options.colorField)))},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,h)},e.prototype.renderPlotComponents=function(){var t=this;r.each(this.plotComponents,(function(t){t.destroy()}));r.each(["legend","background"],(function(e){var i=n.__assign({view:t.view,plot:t},t.options[e]),r=c.getPlotComponents(t,e,i);r&&(r.render(),t.plotComponents.push(r))}))},e}(a.default);e.default=p,o.registerPlotType("densityHeatmap",p)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(8),o=i(0),a=n.__importStar(i(28)),s=function(t){function e(e){var i=t.call(this,e)||this;return i.type="heatmap",i.paletteCache={},i.intensity=e.intensity,i.radius=e.radius,i}return n.__extends(e,t),e.prototype.createElements=function(t){var e=this.prepareRange(t);return this.prepareSize(),this.prepareBlur(),this.prepareGreyScaleBlurredCircle(this.radius),this.drawWithRange(t,e),null},e.prototype.clear=function(){this.clearShadowCanvasCtx(),t.prototype.clear.call(this)},e.prototype.prepareRange=function(t){var e=this.getAttribute("color").getFields()[0],i=1/0,n=-1/0;return t.forEach((function(t){var r=t._origin[e];r>n&&(n=r),r=e[0]})));for(var u=this.scales[s],c=0;c0&&(t.view.changeData(s),t.view.scale(e,{min:t.colorScale.min,max:t.colorScale.max,nice:t.colorScale.nice}),t.view.render())}}))},t.prototype.getFilteredData=function(){var t=[];return r.each(this.dataSlides,(function(e){"active"==e.mode&&t.push.apply(t,e.data)})),t},t.prototype.getDataSlide=function(t){var e=[],i=this.options.plot.options,n=i.colorField,o=i.data;return r.each(o,(function(i){var r=i[n];r>=t.from&&rn.width||i.height>n.height)&&t.attr("text","")},t}();e.default=o},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(13)),a=function(){function t(t){this.destroyed=!1,this.dataSlides={},this.interactiveEvents={};var e=this.getDefaultOptions();this.options=r.deepMix({},e,t),this.view=this.options.view,this.afterRender=!0,this.init()}return t.prototype.init=function(){var t=this;this.layout=this.getLayout(),this.width=this.options.width?this.options.width:this.getDefaultWidth(),this.height=this.options.height?this.options.height:this.getDefaultHeight();var e=this.options.plot.container;this.container&&this.container.remove(),this.container=e.addGroup(),this.view.on("beforerender",(function(){t.clear(),t.options.plot.canvas.draw()}))},t.prototype.render=function(){var t=this.view.geometries[0].scales,e=this.options.plot.options.colorField;this.colorScale=t[e];var i=this.colorScale,n=i.min,r=i.max,o=this.options.plot.options.color;"horizontal"===this.layout?this.renderHorizontal(n,r,o):this.renderVertical(n,r,o),this.legendLayout(),this.addInteraction()},t.prototype.hide=function(){this.container.set("visible",!1),this.options.plot.canvas.draw()},t.prototype.show=function(){this.container.set("visible",!0),this.options.plot.canvas.draw()},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.destroy=function(){this.container&&this.container.remove(),this.offEvent(),this.destroyed=!0},t.prototype.getBBox=function(){var t=this.container.getBBox();return new o.default(this.x,this.y,t.width,t.height)},t.prototype.renderVertical=function(t,e,i){var o=this,a=(e-t)/(i.length-1),s=1/(i.length-1),l=this.height/(i.length-1),u="l(90)";r.each(i,(function(t,e){u+=s*e+":"+t+" "})),this.container.addShape("rect",{attrs:{x:0,y:0,width:this.width,height:this.height,fill:u},name:"legend"}),r.each(i,(function(t,e){var i=l*e;o.container.addShape("path",{attrs:n.__assign({path:[["M",0,i],["L",o.width,i]]},o.options.ticklineStyle)});var r=Math.round(a*e);o.container.addShape("text",{attrs:n.__assign({text:r,textAlign:"left",textBaseline:"middle",x:o.width+4,y:i},o.options.text.style),name:"legend-label"})}));var c=[["M",-10,-7],["L",0,0],["L",-10,7],["Z"]];this.anchor=this.container.addShape("path",{attrs:n.__assign({path:c},this.options.anchorStyle)}),this.anchor.set("visible",!1)},t.prototype.renderHorizontal=function(t,e,i){var o=this,a=(e-t)/(i.length-1),s=1/(i.length-1),l=this.width/(i.length-1),u="l(0)";r.each(i,(function(t,e){u+=s*e+":"+t+" "})),this.container.addShape("rect",{attrs:{x:0,y:0,width:this.width,height:this.height,fill:u},name:"legend"}),r.each(i,(function(t,e){var i=l*e;o.container.addShape("path",{attrs:n.__assign({path:[["M",i,0],["L",i,o.height]]},o.options.ticklineStyle),name:"legend-label"});var r=Math.round(a*e);o.container.addShape("text",{attrs:n.__assign({text:r,textAlign:"center",textBaseline:"top",x:i,y:o.height+4},o.options.text.style)})}));var c=[["M",0,0],["L",-7,-10],["L",7,-10],["Z"]];this.anchor=this.container.addShape("path",{attrs:n.__assign({path:c},this.options.anchorStyle)}),this.anchor.set("visible",!1)},t.prototype.getLayout=function(){var t=this.options.position.split("-");return this.position=t[0],"left"===t[0]||"right"===t[0]?"vertical":"horizontal"},t.prototype.getDefaultWidth=function(){return"horizontal"===this.layout?this.view.coordinateBBox.width:10},t.prototype.getDefaultHeight=function(){return"vertical"===this.layout?this.view.coordinateBBox.height:10},t.prototype.legendLayout=function(){var t=this,e=this.view.coordinateBBox,i=this.options.plot.getPlotTheme().bleeding;r.isArray(i)&&r.each(i,(function(e,n){"function"==typeof i[n]&&(i[n]=i[n](t.options.plot.options))}));var n=this.container.getBBox(),o=0,a=0,s=this.options.position.split("-"),l=this.options.plot.width,u=this.options.plot.height;"left"===s[0]?o=i[3]:"right"===s[0]?o=l-i[1]-n.width:"center"===s[1]?o=this.width===e.width?e.x:(l-n.width)/2:"left"===s[1]?o=i[3]:"right"===s[1]&&(o=this.options.plot.width-i[1]-n.width),"bottom"===s[0]?a=u-i[2]-n.height:"top"===s[0]?a=this.getTopPosition(i):"center"===s[1]?a=this.height===e.height?e.y:(u-n.height)/2:"top"===s[1]?a=i[0]:"bottom"===s[1]&&(a=u-i[2]-n.height),this.x=o,this.y=a,this.container.translate(o,a)},t.prototype.getDefaultOptions=function(){return{text:{style:{fontSize:12,fill:"rgba(0, 0, 0, 0.45)"}},ticklineStyle:{lineWidth:1,stroke:"rgba(0, 0, 0, 0.8)"},anchorStyle:{fill:"rgba(0,0,0,0.5)"},triggerOn:"mousemove"}},t.prototype.addInteraction=function(){var t=this,e=("rect"===this.options.plot.options.shapeType?"polygon":"point")+":"+this.options.triggerOn,i=this.options.plot.options.colorField,n=this.colorScale,r=n.min,o=n.max,a=function(e){var n=(e.data.data[i]-r)/(o-r);t.moveAnchor(n)};this.view.on(e,a),this.interactiveEvents[e]={target:this.view,handler:a};var s=function(){t.anchor.set("visible",!1)};this.options.plot.canvas.on("mouseleave",s),this.interactiveEvents.mouseleave={target:this.options.plot.canvas,handler:s}},t.prototype.moveAnchor=function(t){if(this.anchor.set("visible",!0),"vertical"===this.layout){var e=this.height*t;(i=[1,0,0,0,1,0,0,0,1])[7]=e,this.anchor.stopAnimate(),this.anchor.animate({matrix:i},400,"easeLinear")}else{var i;e=this.width*t;(i=[1,0,0,0,1,0,0,0,1])[6]=e,this.anchor.stopAnimate(),this.anchor.animate({matrix:i},400,"easeLinear")}},t.prototype.getTopPosition=function(t){return this.options.plot.description?this.options.plot.description.getBBox().maxY+10:this.options.plot.title?this.options.plot.title.getBBox().maxY+10:t[0]},t.prototype.offEvent=function(){r.each(this.interactiveEvents,(function(t,e){var i=t.target,n=t.handler;i.off(e,n)}))},t}();e.default=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(380)),s=i(6),l=function(t){function e(e,i){return i.renderer="canvas",t.call(this,e,i)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="wordCloud",i.container=this.containerDOM,t.prototype.createLayers.call(this,i)},e}(o.default);e.default=l,s.registerPlotType("wordCloud",a.default)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(53)),a=n.__importDefault(i(381)),s=n.__importDefault(i(382)),l=function(t){function e(e){var i=t.call(this,e)||this;return i._toolTipsAction=function(t,e,n,r){e?(i._toolTips.update({items:[{color:t.color||"red",name:t.word,value:t.weight}],x:n.offsetX,y:n.offsetY}),i._toolTips.show()):i._toolTips.hide(),i._toolTips.render(),i._configHoverAction&&i._configHoverAction(t,e,n,r)},i._configHoverAction=e.onWordCloudHover,i._enableToolTips=r.get(e,"tooltip.visible",!0),i.options=r.deepMix({},{width:400,height:400,enableToolTips:!0},e,{onWordCloudHover:i._enableToolTips?i._toolTipsAction:i._configHoverAction}),i}return n.__extends(e,t),e.prototype.init=function(){t.prototype.init.call(this),this._initToolTips()},e.prototype.render=function(){t.prototype.render.call(this),this._render()},e.prototype._initToolTips=function(){this._toolTips=new a.default({showTitle:!1,visible:!1,parent:this.options.container,follow:!0,inPanel:!1,items:[]}),this._toolTips.init()},e.prototype._render=function(){this._targetCanvas=this.canvas.get("el"),this.options.maskImage?this._handleMaskImage():this._start()},e.prototype._handleMaskImage=function(){var t=this,e=new Image;e.src=this.options.maskImage+"?"+(new Date).getTime(),e.crossOrigin="Anonymous",e.onload=function(){e.naturalHeight+e.naturalWidth===0||e.width+e.height===0?t._start():t._startWithMaskImage(e)},e.onerror=function(){console.error("image %s load failed !!!",t.options.maskImage),t._start()}},e.prototype._start=function(){this._handleG2PlotConfig();var t=this._targetCanvas.getContext("2d"),e=this.canvas.get("width")/this.canvas.get("el").width;t.scale(e,e),s.default(this._targetCanvas,this.options)},e.prototype._handleG2PlotConfig=function(){var t,e,i,n=this.options.wordStyle.fontSize||[10,60],o=this.options.wordStyle.rotation||[-Math.PI/2,Math.PI/2];this.options.wordStyle.active?(t=!0,e=this.options.wordStyle.active.shadowColor||"#333",i=this.options.wordStyle.active.shadowBlur||10):t=!1,this.options=r.deepMix({},this.options,{minFontSize:n[0],maxFontSize:n[1],minRotation:o[0],maxRotation:o[1],active:t,shadowColor:e,shadowBlur:i})},e.prototype._startWithMaskImage=function(t){var e=this._scaleMaskImageCanvas(this._transformWhite2BlackPixels(t)),i=e.maskImageCanvas,n=e.maskImageContext,o=document.createElement("canvas").getContext("2d");o.fillStyle=this.options.backgroundColor||"#fff",o.fillRect(0,0,1,1);for(var a=o.getImageData(0,0,1,1).data,s=n.getImageData(0,0,i.width,i.height),l=n.createImageData(s),u=0;u128?(l.data[u]=a[0],l.data[u+1]=a[1],l.data[u+2]=a[2],l.data[u+3]=a[3]):(l.data[u]=a[0],l.data[u+1]=a[1],l.data[u+2]=a[2],l.data[u+3]=254);n.putImageData(l,0,0),this._targetCanvas.getContext("2d").drawImage(i,0,0),this.options=r.deepMix({},this.options,{clearCanvas:!1}),this._start()},e.prototype._scaleMaskImageCanvas=function(t){var e=document.createElement("canvas");e.width=this.canvas.get("width"),e.height=this.canvas.get("height");var i=e.getContext("2d");return i.imageSmoothingEnabled=!0,i.drawImage(t,0,0,t.width,t.height,0,0,e.width,e.height),{maskImageCanvas:e,maskImageContext:i}},e.prototype._transformWhite2BlackPixels=function(t){var e=document.createElement("canvas");e.width=t.width,e.height=t.height;var i=e.getContext("2d");i.drawImage(t,0,0,t.width,t.height);for(var n=i.getImageData(0,0,e.width,e.height),r=0;r750?(n.data[r]=255,n.data[r+1]=255,n.data[r+2]=255,n.data[r+3]=0):(n.data[r]=0,n.data[r+1]=0,n.data[r+2]=0,n.data[r+3]=255)}return i.putImageData(n,0,0),e},e}(o.default);e.default=l},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=function(t){function e(e){var i=r.deepMix({},e,{itemTpl:'
      \n \n {name}{value}
      '},e);return t.call(this,i)||this}return n.__extends(e,t),e}(i(8).HtmlTooltip);e.default=o},function(t,e,i){"use strict"; +/*! + * wordcloud2.js + * http://timdream.org/wordcloud2.js/ + * + * Copyright 2011 - 2013 Tim Chien + * Released under the MIT license + */Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0);window.setImmediate||(window.setImmediate=window.msSetImmediate||window.webkitSetImmediate||window.mozSetImmediate||window.oSetImmediate||function(){if(!window.postMessage||!window.addEventListener)return null;var t=[void 0],e="zero-timeout-message";return window.addEventListener("message",(function(i){if("string"==typeof i.data&&i.data.substr(0,e.length)===e){i.stopImmediatePropagation();var n=parseInt(i.data.substr(e.length),36);t[n]&&(t[n](),t[n]=void 0)}}),!0),window.clearImmediate=function(e){t[e]&&(t[e]=void 0)},function(i){var n=t.length;return t.push(i),window.postMessage(e+n.toString(36),"*"),n}}()||function(t){window.setTimeout(t,0)}),window.clearImmediate||(window.clearImmediate=window.msClearImmediate||window.webkitClearImmediate||window.mozClearImmediate||window.oClearImmediate||function(t){window.clearTimeout(t)});var o=function(){var t=document.createElement("canvas");if(!t||!t.getContext)return!1;var e=t.getContext("2d");return!!e.getImageData&&(!!e.fillText&&(!!Array.prototype.some&&!!Array.prototype.push))}(),a=function(){if(o){for(var t,e,i=document.createElement("canvas").getContext("2d"),n=20;n;){if(i.font=n.toString(10)+"px sans-serif",i.measureText("W").width===t&&i.measureText("m").width===e)return n+1;t=i.measureText("W").width,e=i.measureText("m").width,n--}return 0}}(),s=function(t){for(var e,i,n=t.length;n;e=Math.floor(Math.random()*n),i=t[--n],t[n]=t[e],t[e]=i);return t},l=function(t,e){if(o){Array.isArray(t)||(t=[t]),t.forEach((function(e,i){if("string"==typeof e){if(t[i]=document.getElementById(e),!t[i])throw"The element id specified is not found."}else if(!e.tagName&&!e.appendChild)throw"You must pass valid HTML elements, or ID of the element."}));var i={data:[],fontFamily:'"Trebuchet MS", "Heiti TC", "微軟正黑體", "Arial Unicode MS", "Droid Fallback Sans", sans-serif',fontWeight:"normal",color:"random-dark",minFontSize:a,maxFontSize:60,clearCanvas:!0,backgroundColor:"#fff",gridSize:8,drawOutOfBound:!1,origin:null,drawMask:!1,maskColor:"rgba(255,0,0,0.3)",maskGapWidth:.3,wait:0,abortThreshold:0,abort:function(){},minRotation:-Math.PI/2,maxRotation:Math.PI/2,rotateRatio:.5,rotationSteps:1,shuffle:!0,shape:"circle",ellipticity:1,active:!0,animatable:!0,selected:-1,shadowColor:"#333",shadowBlur:10,fontScale:1.2,classes:null,onWordCloudHover:null,onWordCloudClick:null},l=[];if(e)for(var u in e)if("wordStyle"===u)for(var c in e[u])c in i&&(i[c]=e[u][c]);else u in i&&(i[u]=e[u]);if(i.minFontSizei.maxFontSize)console.error("minSize cant bigger than maxSize");else{for(var h=0,p=0;p=0?1/(Math.cos(2*Math.PI/10-e)+3.07768*Math.sin(2*Math.PI/10-e)):1/(Math.cos(e)+3.07768*Math.sin(e))}}i.gridSize=Math.max(Math.floor(i.gridSize),4);var d,g,y,v,m,x,b,_=i.gridSize,O=_-i.maskGapWidth,w=Math.abs(i.maxRotation-i.minRotation),M=Math.min(i.maxRotation,i.minRotation),C=i.rotationSteps;switch(i.color){case"random-dark":b=function(){return W(10,50)};break;case"random-light":b=function(){return W(50,90)};break;default:"function"==typeof i.color&&(b=i.color)}var S=null;"function"==typeof i.classes&&(S=i.classes);var j,P,T=!1,A=[],E=function(t){var e,i,n=t.currentTarget,r=n.getBoundingClientRect();t.touches?(e=t.touches[0].clientX,i=t.touches[0].clientY):(e=t.clientX,i=t.clientY);var o=e-r.left,a=i-r.top,s=Math.floor(o*(n.width/r.width||1)/_),l=Math.floor(a*(n.height/r.height||1)/_);return A&&A[s]&&A[s][l]},L=function(t,e,i,n){n(t?t.id:-1)},I=function(t){var e=E(t);if(j!==e&&(!(P&&e&&e.item)||r.get(e,["item","twiceRender"]))){if(!e)return i.onWordCloudHover(void 0,void 0,t,H),void(i.active&&L(void 0,0,0,H));i.onWordCloudHover(e.item,e.dimension,t,H),i.active&&L(e.item,e.dimension,0,H),j=e}},D=function(t){var e=E(t);e&&(i.onWordCloudClick(e.item,e.dimension,t),t.preventDefault())},k=[],B=function(t){if(k[t])return k[t];var e=8*t,n=e,r=[];for(0===t&&r.push([v[0],v[1],0]);n--;){var o=1;"circle"!==i.shape&&(o=i.shape(n/e*2*Math.PI)),r.push([v[0]+t*o*Math.cos(-n/e*2*Math.PI),v[1]+t*o*Math.sin(-n/e*2*Math.PI)*i.ellipticity,n/e*2*Math.PI])}return k[t]=r,r},F=function(){return i.abortThreshold>0&&(new Date).getTime()-x>i.abortThreshold},R=function(t,e,n){var r=function(t){var e=Math.min(Math.max(i.minFontSize,i.maxFontSize*t/h),i.maxFontSize);return P?e*i.fontScale:e}(e);if(r<=0)return!1;var o=1;rA[1]&&(A[1]=T),MA[2]&&(A[2]=M);break t}0}}return{mu:o,occupied:j,bounds:A,gw:b,gh:x,fillTextOffsetX:v,fillTextOffsetY:m,fillTextWidth:u,fillTextHeight:c,fontSize:r}},N=function(e,n,r,o,a,s,u,c,h,p,f){var d=r.fontSize,g=i.color,y=i.classes;if(f){var v=z(p);g=v?v.color:i.color}else g=b?b(o,a,d,s,u):i.color,y=S?S(o,a,d,s,u):i.classes;var m=r.bounds;m[3],m[0],m[1],m[3],m[2],m[0],t.forEach((function(t){if(t.getContext){var v=t.getContext("2d"),m=r.mu;v.save();var x=i.fontWeight+" "+(d*m).toString(10)+"px "+i.fontFamily;v.scale(1/m,1/m),v.font=x,v.fillStyle=g;var b=(e+r.gw/2)*_*m,O=(n+r.gh/2)*_*m;v.translate(b,O),0!==c&&v.rotate(-c),v.textBaseline="middle",i.selected===p&&(v.shadowColor=i.shadowColor,v.shadowBlur=i.shadowBlur),v.fillText(o,r.fillTextOffsetX*m,(r.fillTextOffsetY+.5*d)*m),f||l.push({gx:e,gy:n,info:r,word:o,weight:a,distance:s,theta:u,rotateDeg:c,attributes:h,id:p,color:g}),v.restore()}else{var w=document.createElement("span"),M="";M="rotate("+-c/Math.PI*180+"deg) ",1!==r.mu&&(M+="translateX(-"+r.fillTextWidth/4+"px) scale("+1/r.mu+")");var C={position:"absolute",display:"block",font:i.fontWeight+" "+d*r.mu+"px "+i.fontFamily,left:(e+r.gw/2)*_+r.fillTextOffsetX+"px",top:(n+r.gh/2)*_+r.fillTextOffsetY+"px",width:r.fillTextWidth+"px",height:r.fillTextHeight+"px",lineHeight:d+"px",whiteSpace:"nowrap",transform:M,webkitTransform:M,msTransform:M,transformOrigin:"50% 40%",webkitTransformOrigin:"50% 40%",msTransformOrigin:"50% 40%"};for(var S in g&&(C.color=g),w.textContent=o,C)w.style[S]=C[S];if(h)for(var j in h)w.setAttribute(j,h[j]);y&&(w.className+=y),t.appendChild(w)}}))},Y=function(e,i,n,r,o){if(!(e>=g||i>=y||e<0||i<0)){if(d[e][i]=!1,n)t[0].getContext("2d").fillRect(e*_,i*_,O,O);T&&(A[e][i]={item:o,dimension:r})}},G=function(e,n,r,o,a,s,l,u){var c=Math.floor(e[0]-n.gw/2),h=Math.floor(e[1]-n.gh/2);n.gw,n.gh;return!!function(t,e,n,r,o){for(var a=o.length;a--;){var s=t+o[a][0],l=e+o[a][1];if(s>=g||l>=y||s<0||l<0){if(!i.drawOutOfBound)return!1}else if(!d[s][l])return!1}return!0}(c,h,0,0,n.occupied)&&(N(c,h,n,r,o,a,e[2],s,l,u,!1),function(e,n,r,o,a){var s,l,u=a.occupied,c=i.drawMask;if(c&&((s=t[0].getContext("2d")).save(),s.fillStyle=i.maskColor),T){var h=a.bounds;l={x:(e+h[3])*_,y:(n+h[0])*_,w:(h[1]-h[3]+1)*_,h:(h[2]-h[0]+1)*_}}for(var p=u.length;p--;){var f=e+u[p][0],d=n+u[p][1];if(!(f>=g||d>=y||f<0||d<0)){var v=z(a.item.id);v&&(a.item.color=v.color),Y(f,d,c,l,a.item)}}c&&s.restore()}(c,h,0,0,n),{gx:c,gy:h,rot:s,info:n})},X=function(t){var e,n,o,a;Array.isArray(t)?(e=t[0],n=t[1]):(e=t.word,n=t.weight,o=t.attributes,a=t.id);var l=r.isNil(t.rotateDeg)?0===i.rotateRatio||Math.random()>i.rotateRatio?0:0===w?M:C>0?M+Math.floor(Math.random()*C)*w/C:M+Math.random()*w:t.rotateDeg,u=R(e,n,l);if(u&&(u.item=t),!u)return!1;if(F())return!1;if(!i.drawOutOfBound){var c=u.bounds;if(c[1]-c[3]+1>g||c[2]-c[0]+1>y)return!1}for(var h=m+1;h--;){var p=B(m-h);i.shuffle&&(p=[].concat(p),s(p));for(var f=0;f=i.data.length)return S(k),V("wordcloudstop",!1),void E("wordcloudstart",L);x=(new Date).getTime();var e=X(i.data[h]),n=!V("wordclouddrawn",!0,{item:i.data[h],drawn:e});if(F()||n)return S(k),i.abort(),V("wordcloudabort",!1),V("wordcloudstop",!1),void E("wordcloudstart",L);h++,k=C(t,i.wait)}),i.wait)}else{e.maskImage&&t.forEach((function(t){if(t.getContext){var e=t.getContext("2d");e.fillStyle=i.backgroundColor,e.clearRect(0,0,g*(_+1),y*(_+1)),e.fillRect(0,0,g*(_+1),y*(_+1))}}));for(var B=[],R=0;R'),o.modifyCSS(n,a.HtmlTooltipTheme[i]);var u=n;if(t){i=a.TooltipCssConst.TITLE_CLASS,n=o.createDom('
      '),o.modifyCSS(n,a.HtmlTooltipTheme[i]),u.appendChild(n);var c=n;i=a.TooltipCssConst.MARKER_CLASS,n=o.createDom(''),o.modifyCSS(n,a.HtmlTooltipTheme[i]),o.modifyCSS(n,{width:"10px",height:"10px"}),c.appendChild(n),l=n,n=o.createDom(""+t+""),c.appendChild(n)}if(e){i=a.TooltipCssConst.LIST_CLASS,n=o.createDom('
        '),o.modifyCSS(n,a.HtmlTooltipTheme[i]),u.appendChild(n);var h=n;e.reduce((function(t,e){s||(s=e.color);var i=r.get(e,"point._origin.__compare__.compareValues");return r.get(e,"point._origin.__compare__.yValues").forEach((function(e,n){return t.push([i[n],e])})),t}),[]).forEach((function(t,e){var r=t[0],s=t[1];i=a.TooltipCssConst.LIST_ITEM_CLASS,n=o.createDom('
      • '+r+""),o.modifyCSS(n,a.HtmlTooltipTheme[i]),l.appendChild(n),i=a.TooltipCssConst.VALUE_CLASS,n=o.createDom(''+s+""),o.modifyCSS(n,a.HtmlTooltipTheme[i]),l.appendChild(n)}))}return s&&l&&o.modifyCSS(l,{backgroundColor:s}),u}}),t.prototype.tooltip.call(this)},e.prototype.addGeometry=function(){var t=this.options,e=u.getGeom("interval","main",{positionFields:[t.dynamicHeight?"_":t.xField,t.yField],plot:this});this.adjustFunnel(e),this.funnel=e,this.setConfig("geometry",e),t.compareField||this.geometryTooltip()},e.prototype.geometryTooltip=function(){var t=this.options.tooltip;t.fields&&(this.funnel.tooltip||(this.funnel.tooltip={}),this.funnel.tooltip.fields=t.fields),t.formatter&&(this.funnel.tooltip||(this.funnel.tooltip={}),this.funnel.tooltip.callback=t.formatter,t.fields||(this.funnel.tooltip.fields=[this.options.xField,this.options.yField]))},e.prototype.animation=function(){var e=this;t.prototype.animation.call(this);var i=this.options;if(!1===i.animation)this.funnel.animate=!1;else{var n=this.getData(),o=r.get(i,"animation.appear.duration"),a=o/(n.length||1);this._animationAppearTimeoutHandler&&(clearTimeout(this._animationAppearTimeoutHandler),delete this._animationAppearTimeoutHandler),this._animationAppearTimeoutHandler=setTimeout((function(){e.fadeInPercentages(a),i.compareField&&e.fadeInCompareTexts(a),delete e._animationAppearTimeoutHandler}),o),this.funnel.animate=r.deepMix({},i.animation,{appear:{animation:i.transpose?"funnelScaleInX":"funnelScaleInY",duration:a,delay:function(t){return r.findIndex(n,(function(e){return r.isEqual(e,t)}))*a},callback:function(t){e.fadeInLabels(t,.5*a)}},enter:{animation:"fade-in"}})}},e.prototype.afterRender=function(){var e=this.options;if(this.resetLabels(),this.resetPercentages(),e.compareField&&this.resetCompareTexts(),"auto"==e.padding){var i=this._findPercentageContainer();i&&this.paddingController.registerPadding(i,"inner",!0);var n=this._findCompareTextContainer();n&&this.paddingController.registerPadding(n,"inner",!0)}(t.prototype.afterRender.call(this),!1===e.animation&&(this.fadeInLabels(),this.fadeInPercentages(),e.compareField&&this.fadeInCompareTexts()),this._legendsListenerAttached)||(this._legendsListenerAttached=!0,this.view.getController("legend").container.on("mousedown",this._onLegendContainerMouseDown))},e.prototype.updateConfig=function(e){e=this.adjustProps(e),t.prototype.updateConfig.call(this,e),this._legendsListenerAttached=!1},e.prototype.changeData=function(e){var i=this.options;if(!1!==i.animation&&(this._shouldResetPercentages=!1,this._shouldResetLabels=!1),i.dynamicHeight){var n=this._findCheckedDataInNewData(e);this._genCustomFieldForDynamicHeight(n)}if(i.compareField){e=this._reduceDataForCompare(e);n=this._findCheckedDataInNewData(e);this._updateDataForCompare(n)}t.prototype.changeData.call(this,e),this.refreshPercentages(),this.refreshLabels(),i.compareField&&this.fadeInCompareTexts()},e.prototype.geometryParser=function(t,e){return"g2"===t?p[e]:f[e]},e.prototype.adjustProps=function(t){return t.compareField&&(t.dynamicHeight=!1),t.dynamicHeight&&(r.set(t,"meta."+t.yField+".nice",!1),r.set(t,"tooltip.shared",!1)),t},e.prototype.resetPercentages=function(){var t=this;if(this._shouldResetPercentages){var e=this.options,i=e.percentage||{},n=i.offsetX,o=i.offsetY,a=i.spacing,s=i.line,l=void 0===s?{}:s,u=i.text,c=void 0===u?{}:u,h=i.value,p=void 0===h?{}:h,f=Date.now(),d=this._findPercentageContainer(!0);this._eachShape((function(i,s,u,h){if(s>0){var g=i.getBBox(),y=g.minX,v=g.maxX,m=g.maxY,x=g.minY,b=e.transpose?y:v,_=e.transpose&&e.compareField?m:x,O=t._findPercentageMembersInContainerByIndex(d,s,!0),w=O.line,M=O.text,C=O.value,S=[function(t,i,s,d,g){s&&(s.attr(r.deepMix({},l.style,{x1:t,y1:i,x2:e.transpose?t+n:t-n,y2:e.transpose?i-o:i+o,opacity:0})),s.set("adjustTimestamp",f));var y=0,v=0,m=function(){d&&(d.attr(r.deepMix({},c.style,{x:e.transpose?t+n:t-n-a-v-a,y:e.transpose?i-o-a:i+o,opacity:0,text:c.content,textAlign:e.transpose?"left":"right",textBaseline:e.transpose?"bottom":"middle"})),d.set("adjustTimestamp",f),y=d.getBBox().width)},x=function(){g&&(g.attr(r.deepMix({},p.style,{x:e.transpose?t+n+y+a:t-n-a,y:e.transpose?i-o-a:i+o,opacity:0,text:r.isFunction(p.formatter)?e.compareField?p.formatter(r.get(h,"__compare__.yValues.0"),r.get(u,"__compare__.yValues.0")):p.formatter(h[e.yField],u[e.yField]):"",textAlign:e.transpose?"left":"right",textBaseline:e.transpose?"bottom":"middle"})),g.set("adjustTimestamp",f),v=g.getBBox().width)};e.transpose?(m(),x()):(x(),m())},function(t,i,s,d,g){s&&(s.attr(r.deepMix({},l.style,{x1:t,y1:i,x2:t+n,y2:e.transpose?e.compareField?i+o:i-o:i+o,opacity:0})),s.set("adjustTimestamp",f));var y=0;d&&(d.attr(r.deepMix({},c.style,{x:e.transpose?t+n:t+n+a,y:e.transpose?e.compareField?i+o+a:i-o-a:i+o,opacity:0,text:c.content,textAlign:"left",textBaseline:e.transpose?e.compareField?"top":"bottom":"middle"})),d.set("adjustTimestamp",f),y=d.getBBox().width),g&&(g.attr(r.deepMix({},p.style,{x:e.transpose?t+n+y+a:t+n+a+y+a,y:e.transpose?e.compareField?i+o+a:i-o-a:i+o,opacity:0,text:r.isFunction(p.formatter)?e.compareField?p.formatter(r.get(h,"__compare__.yValues.1"),r.get(u,"__compare__.yValues.1")):p.formatter(h[e.yField],u[e.yField]):"",textAlign:"left",textBaseline:e.transpose?e.compareField?"top":"bottom":"middle"})),g.set("adjustTimestamp",f))}];if(e.compareField){var j=[y,x];[[j[0],j[1]],[b,_]].forEach((function(t,e){var i=t[0],n=t[1];return S[e](i,n,w&&w[e],M&&M[e],C&&C[e])}))}else S[1](b,_,w,M,C)}h=u,s++})),d.get("children").forEach((function(t){t.get("adjustTimestamp")!=f&&(t.attr({opacity:0}),d.set(t.get("id"),null),setTimeout((function(){return t.remove()}),0))}))}},e.prototype.fadeInPercentages=function(t,e){var i=this,n=this.options,o=this._findPercentageContainer(),a=function(e){var n={minX:1/0,maxX:-1/0,minY:1/0,maxY:-1/0};i._eachShape((function(a,s){var l=i._findPercentageMembersInContainerByIndex(o,s),u={minX:1/0,maxX:-1/0,minY:1/0,maxY:-1/0},c=function(t){if(t&&"text"==t.get("type")){var e=t.getBBox(),i=e.minX,n=e.maxX,r=e.minY,o=e.maxY;iu.maxX&&(u.maxX=n),ru.maxY&&(u.maxY=o)}};if(r.each(l,(function(t){return r.isArray(t)?c(t[e]):c(t)})),u.minX>n.maxX||u.maxXn.maxY||u.maxY=s.minX&&l.maxX<=s.maxX&&l.minY>=s.minY&&l.maxY<=s.maxY){var u={opacity:1};e?a.animate(u,e):a.attr(u)}}}})),e&&i&&setTimeout(i,e)},e.prototype.fadeOutLabels=function(t,e,i){var n=this,r=this._getGeometry().labelsContainer;this._eachShape((function(i,o){if(!t||t==i){var a=n._findLabelInContainerByIndex(r,o);if(a){var s={opacity:0};e?a.animate(s,e):a.attr(s)}}})),e&&i&&setTimeout(i,e)},e.prototype.refreshLabels=function(t){var e=this;if(!1!==this.options.animation){var i=this._calcRefreshFadeDurations(),n=i.fadeOutDuration,r=i.fadeInDuration;this._shouldResetLabels=!1,this.fadeOutLabels(null,n,(function(){e._shouldResetLabels=!0,e.resetLabels(),e.fadeInLabels(null,r,t)}))}},e.prototype._findLabelInContainerByIndex=function(t,e,i){var n,r;if(void 0===i&&(i=!1),!1===(null===(n=this.options.label)||void 0===n?void 0:n.visible))return r;var o="_label-"+e;return!(r=t.get(o))&&i&&(r=t.addShape({id:o,type:"text",attrs:{}}),t.set(o,r)),r},e.prototype.resetCompareTexts=function(){if(this._shouldResetCompareTexts){var t,e,i=this.options;if(this._eachShape((function(i,n,o){0==n&&(t=i.get("parent").getBBox(),e=r.get(o,"__compare__"))})),t&&e&&!1!==r.get(i,"compareText.visible")){var n=this._findCompareTextContainer(!0),o=e.yValuesMax,a=e.compareValues,s=t.minX,l=t.maxX,u=t.minY,c=t.maxY,p=n.get("children");[0,1].forEach((function(t){var e=p[t];e||(e=n.addShape({type:"text"})),e.attr(r.deepMix({},r.get(i,"compareText.style"),{text:i.transpose?a[t]:t?" "+a[t]:a[t]+" ",x:i.transpose?s+r.get(i,"compareText.offsetX"):h(s,l,o[0]/(o[0]+o[1])),y:i.transpose?h(u,c,o[0]/(o[0]+o[1]))+(t?8:-8):u+r.get(i,"compareText.offsetY"),opacity:0,textAlign:i.transpose?"right":t?"left":"right",textBaseline:i.transpose&&t?"top":"bottom"}))}))}}},e.prototype.fadeInCompareTexts=function(t,e){var i=this._findCompareTextContainer();if(i){var n=i.get("children");[0,1].forEach((function(e){var i=n[e];if(i){var r={opacity:1};t?i.animate(r,t):i.attr(r)}}))}t&&e&&setTimeout(e,t)},e.prototype.fadeOutCompareTexts=function(t,e){var i=this._findCompareTextContainer();if(i){var n=i.get("children");[0,1].forEach((function(e){var i=n[e];if(i){var r={opacity:0};t?i.animate(r,t):i.attr(r)}}))}t&&e&&setTimeout(e,t)},e.prototype.refreshCompareTexts=function(t){var e=this;if(!1!==this.options.animation){var i=this._calcRefreshFadeDurations(),n=i.fadeInDuration,r=i.fadeOutDuration;this._shouldResetCompareTexts=!1,this.fadeOutCompareTexts(r,(function(){e._shouldResetCompareTexts=!0,e.resetCompareTexts(),e.fadeInCompareTexts(n,t)}))}},e.prototype._findCompareTextContainer=function(t){void 0===t&&(t=!1);var e=this.view.middleGroup,i=e.get("compareTextContainer");return!i&&t&&(i=e.addGroup(),e.set("compareTextContainer",i)),i},e.prototype._eachShape=function(t){var e,i,n=this._findCheckedData(this.getData()),r=n.length,o=0;null===(e=this._getGeometry())||void 0===e||e.elements.forEach((function(e,a){var s=e.shape,l=n[o];oe[t]&&(e[t]=i[t])}))})),t.forEach((function(i,n){r.set(i,"__compare__.yValuesMax",e),r.set(i,"__compare__.yValuesNext",r.get(t,n+1+".__compare__.yValues"))}))},e}(l.default);e.default=d,s.registerPlotType("funnel",d)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});i(11).registerTheme("funnel",{columnStyle:{normal:{},active:function(t){return{opacity:.5*(t.opacity||1)}},disable:function(t){return{opacity:.5*(t.opacity||1)}},selected:{lineWidth:1,stroke:"black"}}})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(30),a=i(104);o.registerShape("interval","funnel-basic-rect",{getPoints:function(t){return t.size=1.8*t.size,function(t,e){void 0===e&&(e=!1);var i,n,o,a,s=t.x,l=t.y,u=t.y0,c=t.size;r.isArray(l)?(i=l[0],n=l[1]):(i=u,n=l),r.isArray(s)?(o=s[0],a=s[1]):(o=s-c/2,a=s+c/2);var h=[{x:o,y:i},{x:o,y:n}];return e?h.push({x:a,y:(n+i)/2}):h.push({x:a,y:n},{x:a,y:i}),h}(t)},draw:function(t,e){var i,o=a.getStyle(t,!1,!0),s=r.get(t,"data.__compare__"),l=this.parsePath(function(t,e){var i=[],n=t.points,o=t.nextPoints;if(e){var a=e.yValues,s=e.yValuesMax,l=e.yValuesNext,u=(n[0].y+n[1].y)/2,c=a[0]+a[1],h=a.map((function(t){return t/c/.5})),p=.9*(s[0]/(s[0]+s[1])-.5);if(r.isNil(o))i.push(["M",n[0].x,p+(n[0].y-u)*h[0]+u],["L",n[1].x,p+u],["L",n[2].x,p+u],["L",n[3].x,p+(n[3].y-u)*h[0]+u],["Z"]),i.push(["M",n[0].x,p+.002+u],["L",n[1].x,p+.002+(n[1].y-u)*h[1]+u],["L",n[2].x,p+.002+(n[2].y-u)*h[1]+u],["L",n[3].x,p+.002+u],["Z"]);else{var f=l[0]+l[1],d=l.map((function(t){return t/f/.5}));i.push(["M",n[0].x,p+(n[0].y-u)*h[0]+u-.001],["L",n[1].x,p+u-.001],["L",o[1].x,p+u-.001],["L",o[0].x,p+(o[3].y-u)*d[0]+u-.001],["Z"]),i.push(["M",n[0].x,p+u+.001],["L",n[1].x,p+(n[1].y-u)*h[1]+u+.001],["L",o[1].x,p+(o[2].y-u)*d[1]+u+.001],["L",o[0].x,p+u+.001],["Z"])}}else r.isNil(o)?i.push(["M",n[0].x,n[0].y],["L",n[1].x,n[1].y],["L",n[2].x,n[2].y],["L",n[3].x,n[3].y],["Z"]):i.push(["M",n[0].x,n[0].y],["L",n[1].x,n[1].y],["L",o[1].x,o[1].y],["L",o[0].x,o[0].y],["Z"]);return i}(t,s));return e.addShape("path",((i={name:"interval",attrs:n.__assign(n.__assign({},o),{path:l})}).__compare__=s,i))},getMarker:function(t){return{symbol:"square",style:{r:4,fill:t.color}}}})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(30),a=i(104);function s(t,e,i){return(1-i)*t+i*e}o.registerShape("interval","funnel-dynamic-rect",{draw:function(t,e){var i=a.getStyle(t,!1,!0),o=r.get(t,"data.__custom__"),l=this.parsePath(function(t,e){var i=e.reverse,n=e.ratioUpper,r=e.ratioLower,o=[],a=t[0],l=(t[1].x+t[2].x)/2;if(i){var u=r;r=n,n=u}var c=(a.x-l)*s(.6,1.2,r)+l;o.push(["M",c,a.y]);for(var h=1,p=t.length;h.55){var a=this.options.color,s=h.rgb2arr(a);return Math.round(.299*s[0]+.587*s[1]+.114*s[2])/.8<156?{fill:"#f6f6f6",shadowColor:"black"}:e}return e},e.prototype.updateConfig=function(e){t.prototype.updateConfig.call(this,e),this.shouldFadeInAnnotation=!0},e.prototype.getViewRange=function(){var e=t.prototype.getViewRange.call(this),i=this.options.liquidStyle,n=i.lineWidth?i.lineWidth:2,r=e.minX,o=e.minY,s=e.width,l=e.height,u=Math.min(s,l)-2*n,c=r+s/2-u/2,h=o+l/2-u/2;return new a.default(c,h,u,u)},e}(l.default);e.default=y,s.registerPlotType("liquid",y)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(173)),a=i(403),s=function(t){function e(e){var i=t.call(this,e)||this;return i.view=e.view,i.plot=e.plot,i.statisticClass=e.statisticClass,i.adjustOptions(),i}return n.__extends(e,t),e.prototype.getTotalHtmlString=function(){var t=document.createElement("div"),e=this.plot.options,i=e.value,n=void 0===i?0:i,o=e.statistic;if(o&&!o.visible)return t;var s=this.options.htmlContent(n);return r.isType(s,"HTMLDivElement")?t.appendChild(s):t.innerHTML=a.getTemplate(s,this.statisticClass),t},e.prototype.adjustOptions=function(){this.html=this.getTotalHtmlString();var t=this.view.coordinateBBox,e=t.minX,i=t.minY,n=t.width,r=t.height;this.x=e+n/2,this.y=i+r/2},e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getTemplate=void 0;e.getTemplate=function(t,e){return'
        "+(''+t+"")+"
        "}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});var o=r.getEventMap({liquid:"intervl",statistic:"annotation-text"});n.assign(r.EVENT_MAP,o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(8),r=i(0),o=i(11),a=i(55),s=o.getGlobalTheme(),l=function(t,e){e.color&&!t.fill&&(t.fill=e.color),r.isNumber(e.opacity)&&(t.opacity=t.fillOpacity=e.opacity)},u=function(t,e){e.color&&!t.stroke&&(t.stroke=e.color),r.isNumber(e.opacity)&&(t.opacity=t.strokeOpacity=e.opacity)},c=function(t,e,i){return(1-i)*t+i*e},h=function(t){var e={fill:"#fff",stroke:s.color,fillOpacity:0,lineWidth:2},i=r.mix({},e,t.style);return u(i,t),i};function p(t,e,i,n){return 0===e?[[t+.5*i/Math.PI/2,n/2],[t+.5*i/Math.PI,n],[t+i/4,n]]:1===e?[[t+.5*i/Math.PI/2*(Math.PI-2),n],[t+.5*i/Math.PI/2*(Math.PI-1),n/2],[t+i/4,0]]:2===e?[[t+.5*i/Math.PI/2,-n/2],[t+.5*i/Math.PI,-n],[t+i/4,-n]]:[[t+.5*i/Math.PI/2*(Math.PI-2),-n],[t+.5*i/Math.PI/2*(Math.PI-1),-n/2],[t+i/4,0]]}function f(t,e,i,n,r,o,a){for(var s=2*Math.ceil(2*t/i*4),l=[],u=n;u<2*-Math.PI;)u+=2*Math.PI;for(;u>0;)u-=2*Math.PI;var c=o-t+(u=u/Math.PI/2*i)-2*t;l.push(["M",c,e]);for(var h=0,f=0;f"+(t?''+t+"
        ":"")+(''+e+"")+""}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(105)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="waterfall",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0);i(8).registerShape("interval","waterfall",{draw:function(t,e){var i=function(t,e,i){var r=t.style,o=t.defaultStyle,a=t.color,s=n.__assign(n.__assign({},o),r);return a&&(e&&(s.stroke=a),i&&(s.fill=a)),s}(t,!1,!0),o=this.parsePath(function(t){var e=[],i=t[0];e.push(["M",i.x,i.y]);for(var n=1,r=t.length;n0?"+"+h:h,l[o.IS_TOTAL]&&(h=c[0]-c[1]);var p=h;if(t.formatter){var f=i[s].attr("fill");p=t.formatter(""+h,{_origin:e[s],color:f},s)}var d=t.container.addShape("text",{attrs:n.__assign({text:p,textBaseline:"middle",textAlign:"center",x:(u.minX+u.maxX)/2,y:(u.minY+u.maxY)/2},t.textAttrs),name:"dill-label"});d.getBBox().height>u.height&&d.set("visible",!1)}})),this.view.getCanvas().draw()}},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype._init=function(){var t=this;this.view.on(a.VIEW_LIFE_CIRCLE.BEFORE_RENDER,(function(){t.clear()})),this.view.on(a.VIEW_LIFE_CIRCLE.AFTER_RENDER,(function(){t.draw()}))},t}();e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(175)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="scatter",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(13)),a=function(){function t(t){this.quadrantGroups=[],this.regionData=[],this.lineData=[],this.options=t,this.view=this.options.view,this.init()}return t.prototype.init=function(){var t,e=this.options,i=e.xBaseline,n=e.yBaseline,r=this.view.getCoordinate(),a=this.view.getScaleByField(this.options.plotOptions.xField),s=this.view.getScaleByField(this.options.plotOptions.yField);if(i>a.min&&is.min&&n1){var f={name:"top-right",bbox:new o.default(t[1].minX,t[1].minY,t[1].width,t[1].height*(1-l)),index:2};this.regionData.push(f);var d={name:"bottom-right",bbox:new o.default(t[1].minX,t[1].minY+t[1].height*(1-l),t[1].width,t[1].height*l),index:3};this.regionData.push(d)}}else if(2===t.length)if(n<=s.min){var g={name:"top-left",bbox:t[0],index:0};this.regionData.push(g);f={name:"top-right",bbox:t[1],index:2};this.regionData.push(f)}else{var y={name:"bottom-left",bbox:t[0],index:1};this.regionData.push(y);d={name:"bottom-right",bbox:t[1],index:3};this.regionData.push(d)}else if(i<=a.min)if(n<=s.min){f={name:"top-right",bbox:t[0],index:2};this.regionData.push(f)}else{d={name:"bottom-right",bbox:t[0],index:3};this.regionData.push(d)}else if(n<=s.min){g={name:"top-left",bbox:t[0],index:0};this.regionData.push(g)}else{y={name:"bottom-left",bbox:t[0],index:1};this.regionData.push(y)}this.container=this.view.backgroundGroup.addGroup()},t.prototype.render=function(){var t=this;if(this.regionData.length>0){var e=this.getDefaultStyle(),i=this.getRegionStyle(this.regionData);r.each(this.regionData,(function(o){var a=o.index,s=t.container.addGroup(),l=s.addShape("rect",{attrs:n.__assign({x:o.bbox.minX,y:o.bbox.minY,width:o.bbox.width,height:o.bbox.height},i[a]),name:"quadrant"});if(t.options.label&&t.options.label.text){var u=r.deepMix({},e.label,t.options.label),c=t.getLabelConfig(o,u);s.addShape("text",{attrs:n.__assign({},c),name:"quadrant-label"})}l.set("data",o),t.quadrantGroups.push(s)}));var o=r.deepMix({},e.line,this.options.lineStyle);r.each(this.lineData,(function(e){t.container.addShape("path",{attrs:n.__assign({path:[["M",e.start.x,e.start.y],["L",e.end.x,e.end.y]]},o),name:"quadrant-line"})})),this.view.canvas.draw()}},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.destroy=function(){this.container&&this.container.remove()},t.prototype.getDefaultStyle=function(){return{line:{stroke:"#9ba29a",lineWidth:1},regionStyle:[{fill:"#000000",opacity:.05},{fill:"#ffffff",opacity:0},{fill:"#ffffff",opacity:0},{fill:"#000000",opacity:.05}],label:{position:"outter-inner",offset:10,style:{fontSize:14,fill:"#ccc"}}}},t.prototype.getRegionStyle=function(t){var e=this.getDefaultStyle().regionStyle;if(this.options.regionStyle){var i=this.options.regionStyle;r.isArray(i)?e=e.map((function(t,e){return i.length>e&&i[e]?i[e]:t})):r.isFunction(i)&&r.each(t,(function(t,n){e[n]=i(t)}))}return e},t.prototype.getLabelConfig=function(t,e){var i=t.index,o=0,a=0,s={},l=e.text;r.isFunction(l)?l=l(t):r.isArray(l)&&(l=l[i]);var u=e.position.split("-"),c=t.name.split("-");return"left"===c[1]?("inner"===u[0]&&(o=t.bbox.maxX-e.offset,s.textAlign="right"),"outter"===u[0]&&(o=t.bbox.minX+e.offset,s.textAlign="left")):"right"===c[1]&&("inner"===u[0]&&(o=t.bbox.minX+e.offset,s.textAlign="left"),"outter"===u[0]&&(o=t.bbox.maxX-e.offset,s.textAlign="right")),"top"===c[0]?("inner"===u[1]&&(a=t.bbox.maxY-e.offset,s.textBaseline="bottom"),"outter"===u[1]&&(a=t.bbox.minY+e.offset,s.textBaseline="top")):"bottom"===c[0]&&("inner"===u[1]&&(a=t.bbox.minY+e.offset,s.textBaseline="top"),"outter"===u[1]&&(a=t.bbox.maxY-e.offset,s.textBaseline="bottom")),(s=r.deepMix({},e.style,s)).lineHeight=s.fontSize,n.__assign({x:o,y:a,text:l},s)},t}();e.default=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(21),a=i(478),s=i(90),l={exp:a.regressionExp,linear:a.regressionLinear,loess:a.regressionLoess,log:a.regressionLog,poly:a.regressionPoly,pow:a.regressionPow,quad:a.regressionQuad};var u=function(){function t(t){this.options=r.deepMix({},{type:"linear",style:{stroke:"#9ba29a",lineWidth:2,opacity:.5,lineJoin:"round",lineCap:"round"},showConfidence:!1,confidenceStyle:{fill:"#ccc",opacity:.1}},t),this.view=this.options.view,this.init()}return t.prototype.init=function(){var t=this.options.plotOptions,e=t.xField,i=t.yField,n=t.data,r=l[this.options.type]().x((function(t){return t[e]})).y((function(t){return t[i]}));this.data=this.processData(r(n)),this.container=this.view.backgroundGroup.addGroup()},t.prototype.render=function(){var t=this.view.getScaleByField(this.options.plotOptions.xField),e=this.view.getScaleByField(this.options.plotOptions.yField),i=this.view.getCoordinate(),r=this.data.trendlineData,a=o.getScale("linear"),l=this.adjustScale(t,r,"x"),u=new a({min:l.min,max:l.max}),c=this.adjustScale(e,r,"y"),h=new a({min:c.min,max:c.max});if(this.options.showConfidence){var p=this.getConfidencePath(u,h,i);this.container.addShape("path",{attrs:n.__assign({path:p},this.options.confidenceStyle),name:"confidence"})}var f=this.getTrendlinePoints(u,h,i),d=s.getSplinePath(f,!1,[[0,0],[1,1]]);this.shape=this.container.addShape("path",{attrs:n.__assign({path:d},this.options.style),name:"trendline"})},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.destroy=function(){this.container&&this.container.destroy()},t.prototype.processData=function(t){var e=[],i=[];return r.each(t,(function(n){e.push({x:n[0],y:n[1]});var r,o,a=(r=t.rSquared,o=n[1],1.96*Math.sqrt(r*(1-r)/o));i.push({x:n[0],y0:n[1]-a,y1:n[1]+a})})),{trendlineData:e,confidenceData:i}},t.prototype.getTrendlinePoints=function(t,e,i){var n=[];return r.each(this.data.trendlineData,(function(r){var o=t.scale(r.x),a=e.scale(r.y),s=i.start.x+i.width*o,l=i.start.y-i.height*a;n.push({x:s,y:l})})),n},t.prototype.getConfidencePath=function(t,e,i){var n=[],o=[],a=[];r.each(this.data.confidenceData,(function(r){var a=t.scale(r.x),s=e.scale(r.y0),l=e.scale(r.y1),u=i.start.x+i.width*a,c=i.start.y-i.height*s,h=i.start.y-i.height*l;n.push({x:u,y:c}),o.push({x:u,y:h})}));for(var s=0;s0;c--){u=o[c];isNaN(u.x)||isNaN(u.y)||a.push(["L",u.x,u.y])}return a},t.prototype.adjustScale=function(t,e,i){var n=t.min,o=t.max,a=this.options.plotOptions,s=a.data,l=a.xField,u=a.yField,c="x"===i?l:u,h=r.minBy(s,c)[c],p=r.maxBy(s,c)[c],f=(n-h)/(p-h),d=(o-p)/(p-h),g=r.minBy(e,i)[i],y=r.maxBy(e,i)[i];return{min:g+f*(y-g),max:y+d*(y-g)}},t}();e.default=u},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});i(11).registerTheme("scatter",{pointStyle:{normal:{},active:function(t){return{stroke:t.stroke||"#000"}},selected:function(t){return{stroke:t.stroke||"#000",lineWidth:t.lineWidth||2}},inactive:function(t){return{fillOpacity:t.fillOpacity||t.opacity||.3}}}})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(425)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="bubble",t.prototype.createLayers.call(this,i)},e.prototype.getSizeScale=function(){return this.layers[0].getSizeScale()},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=n.__importStar(i(176)),s=n.__importDefault(i(175));i(426),i(428);var l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="bubble",e}return n.__extends(e,t),e.getDefaultOptions=function(){return r.deepMix({},t.getDefaultOptions.call(this),{pointSize:[2,32],pointStyle:{stroke:null,strokeOpacity:1,fillOpacity:.5},label:{position:"middle",style:{stroke:"#fff",lineWidth:2}},shape:"bubble-point"})},e.prototype.getSizeScale=function(){var t=this.options.sizeField;t&&this.view.getScaleByField(t)},e.prototype.legend=function(){var e;t.prototype.legend.call(this),this.options.legend&&!1===this.options.legend.visible||this.setConfig("legends",((e={})[this.options.sizeField]=!1,e))},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,a)},e}(s.default);e.default=l,o.registerPlotType("bubble",l)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(30),r=i(427);n.registerShape("point","bubble-point",{draw:function(t,e){var i=r.drawPoints(this,t,e,"circle",!1);if(!t.style.stroke){var n=i.attr("fill");i.attr("stroke",n)}return i},getMarker:function(t){return{symbol:"circle",style:{r:4.5,fill:t.color}}}})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.drawPoints=e.HOLLOW_SHAPES=e.SHAPES=void 0;var n=i(2),r=i(131),o=i(104);e.SHAPES=["circle","square","bowtie","diamond","hexagon","triangle","triangle-down"],e.HOLLOW_SHAPES=["cross","tick","plus","hyphen","line"],e.drawPoints=function(t,e,i,a,s){var l=o.getStyle(e,s,!s,"r"),u=t.parsePoints(e.points),c=u[0];if(e.isStack)c=u[1];else if(u.length>1){for(var h=i.addGroup(),p=0,f=u;p0&&c!==s-1&&this.container.addShape("path",{attrs:n.__assign({path:[["M",h,t.minY],["L",h,t.maxY]]},f)}).set("zIndex",-1)}}},t.prototype.clear=function(){this.container&&this.container.clear()},t.prototype.destroy=function(){this.container&&this.container.remove()},t.prototype._init=function(){var t=this;this.view.on("beforerender",(function(){t.clear()})),this.view.on("afterrender",(function(){t.draw()}))},t.prototype.getGeometry=function(){return r.find(this.view.geometries,(function(t){return"interval"===t.type}))},t}();e.default=a},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=function(){function t(t,e){this.view=t,this.cfg=e,this._init()}return t.prototype.draw=function(){if(this.view&&!this.view.destroyed){this.container=this.view.foregroundGroup.addGroup(),this.container.set("name","targetGroups");for(var t=r.map(this.getGeometry().elements,(function(t){return t.shape})),e=0;es&&(s=(e=[o,s])[0],o=e[1]),[o,s]}e.generateCalendarData=function(t,e,i){for(var u=[],c=l(e),h=c[0],p=c[1],f=new Date(h),d=function(){var e,l=r.default.format(f,a.FORMATTER),c=o.find(t,(function(t){return t[i]===l}));u.push(n.__assign(((e={})[a.DAY_FIELD]=s.getDay(f),e[a.WEEK_FIELD]=""+s.getWeek(f),e[i]=l,e[a.DATE_FIELD]=new Date(f),e),c)),s.advanceBy(f,s.DAY_MS)};f<=p;)d();return u},e.getMonthCenterWeek=function(t){var e=l(t),i=e[0],n=e[1],r=new Map;function a(t){var e=t.getMonth(),i=s.getWeek(t);r.has(e)||r.set(e,[]),r.get(e).push(i)}for(var u=new Date(i);u<=n;)a(u),s.advanceBy(u,7*s.DAY_MS);n=60?1-20/n:1-10/n},e}(s.default);e.default=c,o.registerPlotType("ringProgress",c)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});var o=r.getEventMap({ringProgress:"interval"});n.assign(r.EVENT_MAP,o)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(463)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="tinyColumn",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=i(6),a=i(17),s=n.__importDefault(i(58)),l=n.__importStar(i(464)),u={column:"interval"},c={interval:"column"},h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="tinyColumn",e}return n.__extends(e,t),e.prototype.init=function(){this.processProps(),t.prototype.init.call(this)},e.prototype.geometryParser=function(t,e){return"g2"===t?u[e]:c[e]},e.prototype.scale=function(){var t={};t[this.options.xField]={type:"cat"},this.setConfig("scales",t)},e.prototype.addGeometry=function(){var t=this.options,e=a.getGeom("interval","main",{positionFields:[t.xField,t.yField],plot:this});this.setConfig("geometry",e)},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,l)},e.prototype.processProps=function(){var t={padding:[0,0,0,0],columnSize:this.getSize()};this.options=r.mix(this.options,t)},e.prototype.getSize=function(){var t=this.options,e=this.getColumnNum(t.data,t.xField);return this.width/e*.6},e.prototype.getColumnNum=function(t,e){var i=[];return r.each(t,(function(t){var n=t[e];i.indexOf(n)<0&&i.push(n)})),i.length},e}(s.default);e.default=h,o.registerPlotType("tinyColumn",h)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});n.assign(r.EVENT_MAP,{onColumnClick:"interval:click",onColumnDblclick:"interval:dblclick",onColumnMousemove:"interval:mousemove",onColumnMousedown:"interval:mousedown",onColumnMouseup:"interval:mouseup",onColumnMouseenter:"interval:mouseenter",onColumnMouseleave:"interval:mouseleave",onColumnContextmenu:"interval:contextmenu"})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(466)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="tinyArea",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(6),o=i(17),a=n.__importDefault(i(58)),s=n.__importStar(i(467)),l={area:"area",line:"line"},u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="tinyArea",e}return n.__extends(e,t),e.prototype.geometryParser=function(t,e){return l[e]},e.prototype.addGeometry=function(){this.area=o.getGeom("area","mini",{plot:this}),this.setConfig("geometry",this.area),this.line=o.getGeom("line","mini",{plot:this}),this.setConfig("geometry",this.line)},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,s)},e}(a.default);e.default=u,r.registerPlotType("tinyArea",u)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});n.assign(r.EVENT_MAP,{onAreaClick:"area:click",onAreaDblclick:"area:dblclick",onAreaMousemove:"area:mousemove",onAreaMousedown:"area:mousedown",onAreaMouseup:"area:mouseup",onAreaMouseenter:"area:mouseenter",onAreaMouseleave:"area:mouseleave",onAreaContextmenu:"area:contextmenu",onLineClick:"line:click",onLineDblclick:"line:dblclick",onLineMousemove:"line:mousemove",onLineMousedown:"line:mousedown",onLineMouseup:"line:mouseup",onLineMouseenter:"line:mouseenter",onLineMouseleave:"line:mouseleave",onLineContextmenu:"line:contextmenu"})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(469)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="tinyLine",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(6),o=i(17),a=n.__importDefault(i(58)),s=n.__importStar(i(470)),l={line:"line"},u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="tinyLine",e}return n.__extends(e,t),e.prototype.geometryParser=function(t,e){return l[e]},e.prototype.addGeometry=function(){this.line=o.getGeom("line","mini",{plot:this}),this.setConfig("geometry",this.line)},e.prototype.parseEvents=function(){t.prototype.parseEvents.call(this,s)},e}(a.default);e.default=u,r.registerPlotType("tinyLine",u)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.onEvent=e.EVENT_MAP=void 0;var n=i(0),r=i(12);Object.defineProperty(e,"EVENT_MAP",{enumerable:!0,get:function(){return r.EVENT_MAP}}),Object.defineProperty(e,"onEvent",{enumerable:!0,get:function(){return r.onEvent}});n.assign(r.EVENT_MAP,{onLineClick:"line:click",onLineDblclick:"line:dblclick",onLineMousemove:"line:mousemove",onLineMousedown:"line:mousedown",onLineMouseup:"line:mouseup",onLineMouseenter:"line:mouseenter",onLineMouseleave:"line:mouseleave",onLineContextmenu:"line:contextmenu"})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(472)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="dualLine",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(16),o=i(6),a=n.__importDefault(i(179)),s=n.__importDefault(i(66)),l=i(0),u={lineSize:2,connectNull:!0,point:{visible:!1,size:3,shape:"circle",style:{stroke:"#fff"}},label:{visible:!1}},c={visible:!0,colorMapping:!0,grid:{visible:!0},line:{visible:!1},tickLine:{visible:!1},label:{visible:!0,autoHide:!0,autoRotate:!1},title:{autoRotate:!0,visible:!1,offset:12}},h=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="dualLine",e}return n.__extends(e,t),e.getDefaultOptions=function(){return l.deepMix({},t.getDefaultOptions.call(this),{legend:{visible:!0},yAxis:{leftConfig:c,rightConfig:c},lineConfigs:[l.deepMix({},u,{color:"#5B8FF9"}),l.deepMix({},u,{color:"#e76c5e"})]})},e.prototype.init=function(){var e=this;if(t.prototype.init.call(this),this.checkData()){var i=this.options,r=i.data,o=i.meta,a=i.xField,u=i.yField,c=i.xAxis,h=i.tooltip,p=i.lineConfigs,f=i.legend,d=i.events,g=i.customMeta;this.colors=[p[0].color,p[1].color];var y=this.getYAxisGlobalConfig();this.createLayer(s.default,r[0],n.__assign({meta:o,xField:a,yField:u[0],xAxis:{visible:!1},yAxis:l.deepMix({},y,{grid:{visible:!1},nice:!0},this.yAxis(0)),tooltip:{visible:!1},events:d},p[0])).render();var v={};v[u[1]]={ticks:this.getTicks()},this.createLayer(s.default,r[1],n.__assign({xField:a,yField:u[1],meta:g?o:l.deepMix({},o,v),serieField:u[1],xAxis:c,yAxis:l.deepMix({},y,{position:"right",nice:!1},this.yAxis(1)),tooltip:l.deepMix({},{showMarkers:!1,custom:{onChange:function(t,i){e.tooltip(t,i)}}},h),events:d},p[1])).render(),f.visible&&this.customLegend(),this.adjustLayout()}},e.prototype.tooltip=function(t,e){if(this.getUnCheckedValue().length!==this.colors.length){t.style.display="block";var i=this.options,r=i.yField,o=i.legend,a=l.clone(e.items[0]),s=this.getDataByXField(e.title,0)[0];s&&l.findIndex(e.items,(function(t){return t.name===r[0]}))<0&&e.items.push(n.__assign(n.__assign({},a),{mappingData:l.deepMix({},a.mappingData,{_origin:s}),data:s,name:r[0],value:s[r[0]],color:this.colors[0]})),o.visible&&l.each(this.legends,(function(t,i){if(t.get("items")[0].unchecked){var n=0===i?1:0;e.items.splice(n,1)}}))}else t.style.display="none"},e.prototype.customLegend=function(){var t=this,e=this.options,i=e.yField,n=e.legend,o=this.colors,a=this.container.addGroup(),s=n;l.each(this.geomLayers,(function(e,n){var u=l.deepMix({},{symbol:"circle",style:{r:4,fill:o[n]}},s.marker),c=[{name:i[n],unchecked:!1,marker:u}],h=new r.Legend.Category({id:t.type,container:a,x:0,y:0,items:c,updateAutoRender:!0,itemBackground:null,itemName:s.text});h.init(),h.render(),t.legends.push(h)})),l.each(this.geomLayers,(function(e,i){t.legendFilter(i)}))},e}(a.default);e.default=h,o.registerPlotType("dualLine",h)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(108)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="columnLine",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(475)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="groupedColumnLine",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(6),o=i(0),a=n.__importDefault(i(108)),s=n.__importDefault(i(100)),l=i(11),u={color:"#f5bc32",lineSize:4,connectNull:!0,point:{visible:!1,size:3,shape:"circle",style:{stroke:"#fff"}},label:{visible:!1}},c={color:["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#E8684A","#6DC8EC","#9270CA","#FF9D4D","#269A99","#FF99C3"]},h={visible:!0,colorMapping:!0,grid:{visible:!0},line:{visible:!1},tickLine:{visible:!1},label:{visible:!0,autoHide:!0,autoRotate:!1},title:{autoRotate:!0,visible:!1,spacing:12}},p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="groupedColumnLine",e.requiredField=["xField","yField","columnGroupField"],e}return n.__extends(e,t),e.getDefaultOptions=function(){return o.deepMix({},t.getDefaultOptions.call(this),{yAxis:{leftConfig:o.deepMix({},h,{colorMapping:!1}),rightConfig:h},lineConfig:u,columnConfig:c,legend:{visible:!0}})},e.prototype.beforeInit=function(){var t,e,i=this.options,n=this.initialOptions,r=this.getValueByGroupField();if(i.lineSeriesField&&(i.yAxis.rightConfig.colorMapping=!1,(null===(t=n.lineConfig)||void 0===t?void 0:t.lineSize)||(i.lineConfig.lineSize=3),!(null===(e=n.lineConfig)||void 0===e?void 0:e.color))){var a=l.getGlobalTheme(),s=a.colors,u=a.colors_20,c=this.getValueBySeriesField(),h=c.length>s.length?u:s,p=[],f=r.length;o.each(c,(function(t,e){p.push(h[e+f])})),i.lineConfig.color=p}var d=this.options.columnConfig.color;this.options.columnConfig.color=d.slice(0,r.length)},e.prototype.drawColumn=function(){var t=this,e=this.options,i=e.data,r=e.xField,a=e.yField,l=e.columnGroupField,u=e.xAxis,c=e.tooltip,h=e.columnConfig,p=e.events;this.createLayer(s.default,i[0],n.__assign({xField:r,yField:a[0],groupField:l,xAxis:u,yAxis:o.deepMix({},this.yAxis(0),{grid:{visible:!0},nice:!0}),legend:{visible:!1},tooltip:o.deepMix({},c,{showMarkers:!1,custom:{onChange:function(e,i){t.tooltip(e,i)}}}),events:p},h)).render()},e.prototype.customLegend=function(){var t=this,e=this.options,i=e.yField,n=e.legend,r=this.colors,a=this.container.addGroup(),s=n,l=["square","circle"];o.each(this.geomLayers,(function(e,n){var o;if(e.options.seriesField){var u=t.getValueBySeriesField();o=t.createNormalLegend(u,l[n],r[n],s,a)}else if(e.options.groupField){u=t.getValueByGroupField();o=t.createNormalLegend(u,l[n],r[n],s,a)}else o=t.createSingleLegend(i[n],l[n],r[n],s,a);t.legends.push(o)})),o.each(this.geomLayers,(function(e,i){e.options.seriesField?t.multipleLegendFilter(i,e.options.seriesField):e.options.groupField?t.multipleLegendFilter(i,e.options.groupField):t.legendFilter(i)}))},e.prototype.getValueByGroupField=function(){var t=this.options,e=t.columnGroupField,i=t.data[0],n=[];return o.each(i,(function(t){var i=t[e];o.contains(n,i)||n.push(i)})),n},e.prototype.getMockData=function(t){var e=this.options,i=e.xField,n=e.yField,r=e.columnGroupField,o={};o[i]="null_1",o[n[t]]=0,o[r]="null_a";var a={};return a[i]="null_1",a[n[t]]=1,a[r]="null_a",[o,a]},e}(a.default);e.default=p,r.registerPlotType("groupedColumnLine",p)},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(0),o=n.__importDefault(i(4)),a=n.__importDefault(i(477)),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.createLayers=function(e){var i=r.deepMix({},e);i.type="stackedColumnLine",t.prototype.createLayers.call(this,i)},e.getDefaultOptions=a.default.getDefaultOptions,e}(o.default);e.default=s},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=i(1),r=i(6),o=i(0),a=n.__importDefault(i(108)),s=n.__importDefault(i(69)),l=i(11),u={color:"#f5bc32",lineSize:4,connectNull:!0,point:{visible:!1,size:3,shape:"circle",style:{stroke:"#fff"}},label:{visible:!1}},c={color:["#5B8FF9","#5AD8A6","#5D7092","#F6BD16","#E8684A","#6DC8EC","#9270CA","#FF9D4D","#269A99","#FF99C3"]},h={visible:!0,colorMapping:!0,grid:{visible:!0},line:{visible:!1},tickLine:{visible:!1},label:{visible:!0,autoHide:!0,autoRotate:!1},title:{autoRotate:!0,visible:!1,spacing:12}},p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.type="groupedColumnLine",e.requiredField=["xField","yField","columnStackField"],e}return n.__extends(e,t),e.getDefaultOptions=function(){return o.deepMix({},t.getDefaultOptions.call(this),{yAxis:{leftConfig:o.deepMix({},h,{colorMapping:!1}),rightConfig:h},lineConfig:u,columnConfig:c,legend:{visible:!0}})},e.prototype.beforeInit=function(){var t,e,i=this.getValueByStackField(),n=this.options,r=this.initialOptions;if(n.lineSeriesField&&(n.yAxis.rightConfig.colorMapping=!1,(null===(t=r.lineConfig)||void 0===t?void 0:t.lineSize)||(n.lineConfig.lineSize=3),!(null===(e=r.lineConfig)||void 0===e?void 0:e.color))){var a=l.getGlobalTheme(),s=a.colors,u=a.colors_20,c=this.getValueBySeriesField(),h=c.length>s.length?u:s,p=[],f=i.length;o.each(c,(function(t,e){p.push(h[e+f])})),n.lineConfig.color=p}var d=this.options.columnConfig.color;this.options.columnConfig.color=d.slice(0,i.length)},e.prototype.drawColumn=function(){var t=this,e=this.options,i=e.data,r=e.xField,a=e.yField,l=e.columnStackField,u=e.xAxis,c=e.tooltip,h=e.columnConfig,p=e.events;this.createLayer(s.default,i[0],n.__assign({xField:r,yField:a[0],stackField:l,xAxis:u,yAxis:o.deepMix({},this.yAxis(0),{grid:{visible:!0},nice:!0}),legend:{visible:!1},tooltip:o.deepMix({},c,{showMarkers:!1,custom:{onChange:function(e,i){t.tooltip(e,i)}}}),events:p},h)).render()},e.prototype.customLegend=function(){var t=this,e=this.options,i=e.yField,n=e.legend,r=this.colors,a=this.container.addGroup(),s=n,l=["square","circle"];o.each(this.geomLayers,(function(e,n){var o;if(e.options.seriesField){var u=t.getValueBySeriesField();o=t.createNormalLegend(u,l[n],r[n],s,a)}else if(e.options.stackField){u=t.getValueByStackField();o=t.createNormalLegend(u,l[n],r[n],s,a)}else o=t.createSingleLegend(i[n],l[n],r[n],s,a);t.legends.push(o)})),o.each(this.geomLayers,(function(e,i){e.options.seriesField?t.multipleLegendFilter(i,e.options.seriesField):e.options.stackField?t.multipleLegendFilter(i,e.options.stackField):t.legendFilter(i)}))},e.prototype.getValueByStackField=function(){var t=this.options,e=t.columnStackField,i=t.data[0],n=[];return o.each(i,(function(t){var i=t[e];o.contains(n,i)||n.push(i)})),n},e.prototype.getUnCheckedValue=function(){var t=[];return o.each(this.legends,(function(e){var i=e.getItemsByState("unchecked");o.each(i,(function(e){t.push(e.name)}))})),t},e.prototype.getMockData=function(t){var e=this.options,i=e.xField,n=e.yField,r=e.columnStackField,o={};o[i]="null_1",o[n[t]]=0,o[r]="null_a";var a={};return a[i]="null_1",a[n[t]]=1,a[r]="null_a",[o,a]},e}(a.default);e.default=p,r.registerPlotType("stackedColumnLine",p)},function(t,e,i){"use strict";function n(t,e,i,n){t=t.filter((function(t){var n=e(t),r=i(t);return null!=n&&isFinite(n)&&null!=r&&isFinite(r)})),n&&t.sort((function(t,i){return e(t)-e(i)}));for(var r,o,a,s=t.length,l=new Float64Array(s),u=new Float64Array(s),c=0,h=0,p=0;pr&&(t.splice(o+1,0,p),n=!0)}return n}}function l(t,e,i,n){var r=n-t*t,o=Math.abs(r)<1e-24?0:(i-t*e)/r;return[e-o*t,o]}function u(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);n=!0);}catch(t){r=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return c(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return c(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);iy&&(y=e))}));var v=u(l(p/c,h/c,f/c,d/c),2),m=v[0],x=v[1];m=Math.exp(m);var b=function(t){return m*Math.exp(x*t)},_=s(g,y,b);return _.a=m,_.b=x,_.predict=b,_.rSquared=o(n,e,i,c,b),_}return n.domain=function(e){return arguments.length?(t=e,n):t},n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(i=t,n):i},n};function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);n=!0);}catch(t){r=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return f(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return f(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);id&&(d=e))}));var g=p(l(s,u,c,h),2),y=g[0],v=g[1],m=function(t){return v*t+y},x=[[f,m(f)],[d,m(d)]];return x.a=v,x.b=y,x.predict=m,x.rSquared=o(n,e,i,u,m),x}return n.domain=function(e){return arguments.length?(t=e,n):t},n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(i=t,n):i},n};function g(t){t.sort((function(t,e){return t-e}));var e=t.length/2;return e%1==0?(t[e-1]+t[e])/2:t[Math.floor(e)]}function y(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);n=!0);}catch(t){r=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return v(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return v(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);ia[C]-w?M:C,j=0,P=0,T=0,A=0,E=0,L=1/Math.abs(a[S]-w||1),I=M;I<=C;++I){var D=a[I],k=s[I],B=x(Math.abs(w-D)*L)*v[I],F=D*B;j+=B,P+=F,T+=k*B,A+=k*F,E+=D*F}var R=y(l(P/j,T/j,A/j,E/j),2),N=R[0],Y=R[1];f[O]=N+Y*w,d[O]=Math.abs(s[O]-f[O]),b(a,O+1,_)}if(2===m)break;var G=g(d);if(Math.abs(G)<1e-12)break;for(var X,V,z=0;z=1?1e-12:(V=1-X*X)*V}return function(t,e,i,n){for(var r,o=t.length,a=[],s=0,l=0,u=[];s=t.length))for(;e>r&&t[o]-n<=n-t[r];)i[0]=++r,i[1]=o,++o}function _(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);n=!0);}catch(t){r=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return O(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return O(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function O(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);id&&(d=e))}));var g=_(l(u,c,h,p),2),y=g[0],v=g[1],m=function(t){return v*Math.log(t)+y},x=s(f,d,m);return x.a=v,x.b=y,x.predict=m,x.rSquared=o(n,e,i,c,m),x}return n.domain=function(e){return arguments.length?(t=e,n):t},n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(i=t,n):i},n};function M(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);n=!0);}catch(t){r=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return C(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return C(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function C(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);ij&&(j=e))}));var P=b-m*m,T=m*P-x*x,A=(O*m-_*x)/T,E=(_*P-O*x)/T,L=-A*m,I=function(t){return A*(t-=g)*t+E*t+L+y},D=s(S,j,I);return D.a=A,D.b=E-2*A*g,D.c=L-E*g+A*g*g+y,D.predict=I,D.rSquared=o(a,e,i,w,I),D}return a.domain=function(e){return arguments.length?(t=e,a):t},a.x=function(t){return arguments.length?(e=t,a):e},a.y=function(t){return arguments.length?(i=t,a):i},a};function j(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);n=!0);}catch(t){r=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return P(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return P(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function P(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);iE&&(E=e))})),h=0;hMath.abs(t[e][r])&&(r=i);for(n=e;n=e;n--)t[n][i]-=t[n][e]*t[e][i]/t[e][e]}for(i=a-1;i>=0;--i){for(o=0,n=i+1;n=0;--r)for(a=e[r],s=1,l[r]+=a,o=1;o<=r;++o)s*=(r+1-o)/o,l[r-o]+=a*Math.pow(i,o)*s;return l[0]+=n,l}(C,L,-b,_),D.predict=I,D.rSquared=o(l,e,i,P,I),D}return l.domain=function(e){return arguments.length?(t=e,l):t},l.x=function(t){return arguments.length?(e=t,l):e},l.y=function(t){return arguments.length?(i=t,l):i},l.order=function(t){return arguments.length?(a=t,l):a},l};function A(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var i=[],n=!0,r=!1,o=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(i.push(a.value),!e||i.length!==e);n=!0);}catch(t){r=!0,o=t}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return i}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return E(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(t);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return E(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);ig&&(g=e))}));var y=A(l(u,c,h,p),2),v=y[0],m=y[1];v=Math.exp(v);var x=function(t){return v*Math.pow(t,m)},b=s(d,g,x);return b.a=v,b.b=m,b.predict=x,b.rSquared=o(n,e,i,f,x),b}return n.domain=function(e){return arguments.length?(t=e,n):t},n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(i=t,n):i},n}},function(t,e,i){"use strict";i.r(e),i.d(e,"GM",(function(){return p})),i.d(e,"Wheel",(function(){return d}));var n=i(1),r=i(22),o=function(){function t(t){this.EVENT="gesture",this.gm=t}return t.prototype.do=function(t){switch(t.type){case"touchstart":this.onTouchStart(t);break;case"touchmove":this.onTouchMove(t);break;case"touchend":this.onTouchEnd(t);break;case"touchcancel":this.onTouchCancel(t);break;default:return}},t.prototype.emit=function(t){this.gm.emit(this.EVENT,t)},t}(),a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.EVENT="pan",e}return Object(n.__extends)(e,t),e.prototype.onTouchCancel=function(t){},e.prototype.onTouchEnd=function(t){},e.prototype.onTouchMove=function(t){var e=t.x,i=t.y,n=e-this.preX,r=i-this.preY;this.preX=e,this.preY=i,this.emit({x:e,y:i,deltaX:n,deltaY:r,event:t})},e.prototype.onTouchStart=function(t){var e=t.x,i=t.y;this.preX=e,this.preY=i},e}(o);function s(t){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var l="object"===("undefined"==typeof performance?"undefined":s(performance))&&performance.now?performance:Date,u=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.EVENT="press",e}return Object(n.__extends)(e,t),e.prototype.onTouchCancel=function(t){this.clearTimeout()},e.prototype.onTouchEnd=function(t){this.clearTimeout()},e.prototype.onTouchMove=function(t){var e=t.x,i=t.y;(e-this.touchStartX>10||i-this.touchStartY>10)&&this.clearTimeout()},e.prototype.onTouchStart=function(t){var e=this;this.clearTimeout();var i=t.x,n=t.y;this.touchStartTime=l.now(),this.touchStartX=i,this.touchStartY=n,this.pressTimeout=window.setTimeout((function(){e.emit({x:i,y:n,event:t})}),300)},e.prototype.clearTimeout=function(){window.clearTimeout(this.pressTimeout)},e}(o),c=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.EVENT="swipe",e.latestMoveTime=0,e.ms=0,e.speedX=0,e.speedY=0,e.preX=0,e.preY=0,e}return Object(n.__extends)(e,t),e.prototype.onTouchCancel=function(t){},e.prototype.onTouchEnd=function(t){var e=this.speedX,i=this.speedY;if(l.now()-this.latestMoveTime<100){var n=t.x,r=t.y;this.emit({x:n,y:r,speedX:e,speedY:i,event:t})}},e.prototype.onTouchMove=function(t){var e=t.x,i=t.y,n=l.now(),r=e-this.preX,o=i-this.preY,a=n-this.ms;this.speedX=r/a,this.speedY=o/a,this.latestMoveTime=n},e.prototype.onTouchStart=function(t){var e=t.x,i=t.y;this.speedX=this.speedY=0,this.preX=e,this.preY=i,this.ms=l.now()},e}(o),h={Pan:a,Press:u,Swipe:c,Tap:function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.EVENT="tap",e}return Object(n.__extends)(e,t),e.prototype.onTouchCancel=function(t){},e.prototype.onTouchEnd=function(t){var e=t.x,i=t.y;e-this.touchStartX<2&&i-this.touchStartY<2&&l.now()-this.touchStartTime<300&&this.emit({x:e,y:i,event:t})},e.prototype.onTouchMove=function(t){},e.prototype.onTouchStart=function(t){var e=t.x,i=t.y;this.touchStartTime=l.now(),this.touchStartX=e,this.touchStartY=i},e}(o)},p=function(t){function e(e,i){void 0===i&&(i={});var n=t.call(this)||this;return n.onTouchStart=function(t){n.preventEvent(t),n.element.on("touchmove",n.onTouchMove),n.element.on("touchend",n.onTouchEnd),n.element.on("touchcancel",n.onTouchCancel),n.emit("touchdown",t),n.doGestures(t)},n.onTouchMove=function(t){n.preventEvent(t),n.emit("touchmove",t),n.doGestures(t)},n.onTouchEnd=function(t){n.preventEvent(t),n.emit("touchend",t),n.element.off("touchmove",n.onTouchMove),n.element.off("touchend",n.onTouchEnd),n.element.off("touchcancel",n.onTouchCancel),n.doGestures(t)},n.onTouchCancel=function(t){n.preventEvent(t),n.emit("touchcancel",t),n.element.off("touchmove",n.onTouchMove),n.element.off("touchend",n.onTouchEnd),n.element.off("touchcancel",n.onTouchCancel),n.doGestures(t)},n.element=e,n.options=i,n.initialGestures(),n.bindTouchStart(),n}return Object(n.__extends)(e,t),e.prototype.destroy=function(){this.element.off("touchstart",this.onTouchStart),this.off()},e.prototype.initialGestures=function(){var t=this,e=this.options.gestures||["Pan","Press","Swipe","Tap"];this.gestures=e.map((function(e){return new(0,h[e])(t)}))},e.prototype.bindTouchStart=function(){this.element.on("touchstart",this.onTouchStart)},e.prototype.preventEvent=function(t){var e=t.type;(this.options.prevents||[]).includes(e)&&t.preventDefault()},e.prototype.doGestures=function(t){this.gestures.forEach((function(e){e.do(t)}))},e}(r.default),f=i(51).a,d=function(t){function e(e){var i=t.call(this)||this;return i.rafMs=0,i.onPan=function(t){var e=t.deltaX,n=t.deltaY,r=i.getWrapperEvent(t,e,n);i.emit("wheel",r)},i.onSwipe=function(t){var e=t.speedX,n=t.speedY;i.rafMs=l.now(),i.ms=i.rafMs,0===e&&0===n||i.rafInertia(t)},i.element=e,i.gm=new p(e,{gestures:["Pan","Swipe"]}),i.gm.on("swipe",i.onSwipe),i.gm.on("pan",i.onPan),i}return Object(n.__extends)(e,t),e.prototype.destroy=function(){window.cancelAnimationFrame(this.raf),this.gm.destroy(),this.off()},e.prototype.rafInertia=function(t){var e=this,i=t.speedX,n=t.speedY;this.raf=window.requestAnimationFrame((function(){var r=l.now(),o=(r-e.ms)/800;if(o<1){o=f(1-o);var a=r-e.rafMs,s=i*o*a,u=n*o*a,c=e.getWrapperEvent(t,s,u);e.emit("wheel",c),e.rafMs=r,e.rafInertia(t)}}))},e.prototype.getWrapperEvent=function(t,e,i){return Object(n.__assign)(Object(n.__assign)({},t),{deltaX:-e,deltaY:-i})},e}(r.default)}])})); +//# sourceMappingURL=g2plot.js.map \ No newline at end of file diff --git a/LANCommander/wwwroot/lib/antv/g2plot/dist/g2plot.js.map b/LANCommander/wwwroot/lib/antv/g2plot/dist/g2plot.js.map new file mode 100644 index 0000000..2046578 --- /dev/null +++ b/LANCommander/wwwroot/lib/antv/g2plot/dist/g2plot.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://G2Plot/webpack/universalModuleDefinition","webpack://G2Plot/webpack/bootstrap","webpack://G2Plot/../src/is-array-like.ts","webpack://G2Plot/../src/contains.ts","webpack://G2Plot/../src/filter.ts","webpack://G2Plot/../src/difference.ts","webpack://G2Plot/../src/is-type.ts","webpack://G2Plot/../src/is-function.ts","webpack://G2Plot/../src/is-nil.ts","webpack://G2Plot/../src/is-array.ts","webpack://G2Plot/../src/is-object.ts","webpack://G2Plot/../src/each.ts","webpack://G2Plot/../src/keys.ts","webpack://G2Plot/../src/is-match.ts","webpack://G2Plot/../src/is-object-like.ts","webpack://G2Plot/../src/is-plain-object.ts","webpack://G2Plot/../src/find.ts","webpack://G2Plot/../src/find-index.ts","webpack://G2Plot/../src/first-value.ts","webpack://G2Plot/../src/flatten.ts","webpack://G2Plot/../src/flatten-deep.ts","webpack://G2Plot/../src/get-range.ts","webpack://G2Plot/../src/pull.ts","webpack://G2Plot/../src/pull-at.ts","webpack://G2Plot/../src/reduce.ts","webpack://G2Plot/../src/remove.ts","webpack://G2Plot/../src/is-string.ts","webpack://G2Plot/../src/sort-by.ts","webpack://G2Plot/../src/uniq.ts","webpack://G2Plot/../src/union.ts","webpack://G2Plot/../src/values-of-key.ts","webpack://G2Plot/../src/head.ts","webpack://G2Plot/../src/last.ts","webpack://G2Plot/../src/starts-with.ts","webpack://G2Plot/../src/ends-with.ts","webpack://G2Plot/../src/every.ts","webpack://G2Plot/../src/some.ts","webpack://G2Plot/../src/group-by.ts","webpack://G2Plot/../src/group-to-map.ts","webpack://G2Plot/../src/group.ts","webpack://G2Plot/../src/get-wrap-behavior.ts","webpack://G2Plot/../src/wrap-behavior.ts","webpack://G2Plot/../src/number2color.ts","webpack://G2Plot/../src/parse-radius.ts","webpack://G2Plot/../src/clamp.ts","webpack://G2Plot/../src/fixed-base.ts","webpack://G2Plot/../src/is-number.ts","webpack://G2Plot/../src/is-decimal.ts","webpack://G2Plot/../src/is-even.ts","webpack://G2Plot/../src/is-integer.ts","webpack://G2Plot/../src/is-negative.ts","webpack://G2Plot/../src/is-number-equal.ts","webpack://G2Plot/../src/is-odd.ts","webpack://G2Plot/../src/is-positive.ts","webpack://G2Plot/../src/max-by.ts","webpack://G2Plot/../src/min-by.ts","webpack://G2Plot/../src/mod.ts","webpack://G2Plot/../src/to-degree.ts","webpack://G2Plot/../src/to-integer.ts","webpack://G2Plot/../src/to-radian.ts","webpack://G2Plot/../src/for-in.ts","webpack://G2Plot/../src/has.ts","webpack://G2Plot/../src/has-key.ts","webpack://G2Plot/../src/values.ts","webpack://G2Plot/../src/has-value.ts","webpack://G2Plot/../src/to-string.ts","webpack://G2Plot/../src/lower-case.ts","webpack://G2Plot/../src/lower-first.ts","webpack://G2Plot/../src/substitute.ts","webpack://G2Plot/../src/upper-case.ts","webpack://G2Plot/../src/upper-first.ts","webpack://G2Plot/../src/get-type.ts","webpack://G2Plot/../src/is-arguments.ts","webpack://G2Plot/../src/is-boolean.ts","webpack://G2Plot/../src/is-date.ts","webpack://G2Plot/../src/is-error.ts","webpack://G2Plot/../src/is-finite.ts","webpack://G2Plot/../src/is-null.ts","webpack://G2Plot/../src/is-prototype.ts","webpack://G2Plot/../src/is-reg-exp.ts","webpack://G2Plot/../src/is-undefined.ts","webpack://G2Plot/../src/is-element.ts","webpack://G2Plot/../src/request-animation-frame.ts","webpack://G2Plot/../src/clear-animation-frame.ts","webpack://G2Plot/../src/mix.ts","webpack://G2Plot/../src/augment.ts","webpack://G2Plot/../src/clone.ts","webpack://G2Plot/../src/debounce.ts","webpack://G2Plot/../src/memoize.ts","webpack://G2Plot/../src/deep-mix.ts","webpack://G2Plot/../src/extend.ts","webpack://G2Plot/../src/index-of.ts","webpack://G2Plot/../src/is-empty.ts","webpack://G2Plot/../src/is-equal.ts","webpack://G2Plot/../src/is-equal-with.ts","webpack://G2Plot/../src/map.ts","webpack://G2Plot/../src/map-values.ts","webpack://G2Plot/../src/get.ts","webpack://G2Plot/../src/set.ts","webpack://G2Plot/../src/pick.ts","webpack://G2Plot/../src/throttle.ts","webpack://G2Plot/../src/to-array.ts","webpack://G2Plot/../src/unique-id.ts","webpack://G2Plot/../src/noop.ts","webpack://G2Plot/../src/identity.ts","webpack://G2Plot/../src/size.ts","webpack://G2Plot/../src/cache.ts","webpack://G2Plot/./node_modules/_tslib@1.13.0@tslib/tslib.es6.js","webpack://G2Plot/./node_modules/_tslib@2.0.1@tslib/tslib.es6.js","webpack://G2Plot/../src/ext.ts","webpack://G2Plot/./src/base/plot.ts","webpack://G2Plot/../../src/util/util.ts","webpack://G2Plot/./src/base/global.ts","webpack://G2Plot/../src/add-event-listener.ts","webpack://G2Plot/../src/create-dom.ts","webpack://G2Plot/../src/get-style.ts","webpack://G2Plot/../src/get-height.ts","webpack://G2Plot/../src/get-outer-height.ts","webpack://G2Plot/../src/get-width.ts","webpack://G2Plot/../src/get-outer-width.ts","webpack://G2Plot/../src/get-ratio.ts","webpack://G2Plot/../src/modify-css.ts","webpack://G2Plot/./src/dependents.ts","webpack://G2Plot/./node_modules/_gl-matrix@3.3.0@gl-matrix/esm/common.js","webpack://G2Plot/../../src/util/path.ts","webpack://G2Plot/../../src/event/graph-event.ts","webpack://G2Plot/../../src/abstract/base.ts","webpack://G2Plot/../../src/util/matrix.ts","webpack://G2Plot/../../src/abstract/element.ts","webpack://G2Plot/../../src/abstract/container.ts","webpack://G2Plot/./node_modules/_d3-timer@1.0.10@d3-timer/src/timer.js","webpack://G2Plot/./node_modules/_d3-color@1.4.1@d3-color/src/define.js","webpack://G2Plot/./node_modules/_d3-color@1.4.1@d3-color/src/color.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/basis.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/constant.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/color.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/rgb.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/basisClosed.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/numberArray.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/array.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/date.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/number.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/object.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/string.js","webpack://G2Plot/./node_modules/_d3-interpolate@1.4.0@d3-interpolate/src/value.js","webpack://G2Plot/../../src/animate/timeline.ts","webpack://G2Plot/../../src/util/color.ts","webpack://G2Plot/../../src/event/event-contoller.ts","webpack://G2Plot/../../src/abstract/canvas.ts","webpack://G2Plot/../../src/abstract/group.ts","webpack://G2Plot/../../src/abstract/shape.ts","webpack://G2Plot/../src/index.ts","webpack://G2Plot/./src/theme/index.ts","webpack://G2Plot/./src/util/event.ts","webpack://G2Plot/./src/util/bbox.ts","webpack://G2Plot/../../src/util/arc-params.ts","webpack://G2Plot/../../src/util/draw.ts","webpack://G2Plot/./src/base/view-layer.ts","webpack://G2Plot/../../src/abstract/component.ts","webpack://G2Plot/../../src/abstract/group-component.ts","webpack://G2Plot/../../src/util/event.ts","webpack://G2Plot/../../src/util/text.ts","webpack://G2Plot/../../src/util/label.ts","webpack://G2Plot/../../src/util/graphic.ts","webpack://G2Plot/../../src/util/theme.ts","webpack://G2Plot/../../src/annotation/line.ts","webpack://G2Plot/../../src/annotation/text.ts","webpack://G2Plot/../../src/annotation/arc.ts","webpack://G2Plot/../../src/annotation/region.ts","webpack://G2Plot/../../src/annotation/image.ts","webpack://G2Plot/../../src/annotation/data-marker.ts","webpack://G2Plot/../../src/annotation/data-region.ts","webpack://G2Plot/../../src/annotation/region-filter.ts","webpack://G2Plot/../../src/util/state.ts","webpack://G2Plot/../../src/axis/base.ts","webpack://G2Plot/../../../src/axis/overlap/auto-ellipsis.ts","webpack://G2Plot/../../../src/axis/overlap/auto-hide.ts","webpack://G2Plot/../../../src/axis/overlap/auto-rotate.ts","webpack://G2Plot/../../src/axis/line.ts","webpack://G2Plot/../../src/axis/circle.ts","webpack://G2Plot/../../src/crosshair/base.ts","webpack://G2Plot/../../src/crosshair/line.ts","webpack://G2Plot/../../src/crosshair/circle.ts","webpack://G2Plot/../../src/abstract/html-component.ts","webpack://G2Plot/../../src/crosshair/html-theme.ts","webpack://G2Plot/../../src/crosshair/css-const.ts","webpack://G2Plot/../../src/crosshair/html.ts","webpack://G2Plot/../../src/grid/base.ts","webpack://G2Plot/../../src/grid/circle.ts","webpack://G2Plot/../../src/grid/line.ts","webpack://G2Plot/../../src/legend/base.ts","webpack://G2Plot/../../src/legend/category.ts","webpack://G2Plot/../../src/legend/continuous.ts","webpack://G2Plot/../../src/tooltip/css-const.ts","webpack://G2Plot/../../src/tooltip/html-theme.ts","webpack://G2Plot/../../src/tooltip/html.ts","webpack://G2Plot/../../src/util/align.ts","webpack://G2Plot/../../src/trend/constant.ts","webpack://G2Plot/../../src/trend/path.ts","webpack://G2Plot/../../src/trend/trend.ts","webpack://G2Plot/../../src/slider/constant.ts","webpack://G2Plot/../../src/slider/handler.ts","webpack://G2Plot/../../src/slider/slider.ts","webpack://G2Plot/../../src/scrollbar/scrollbar.ts","webpack://G2Plot/./src/geoms/factory.ts","webpack://G2Plot/../src/line.ts","webpack://G2Plot/../../src/util/arrow.ts","webpack://G2Plot/./src/components/label/base.ts","webpack://G2Plot/../../src/tick-method/register.ts","webpack://G2Plot/../src/base.ts","webpack://G2Plot/../../src/category/base.ts","webpack://G2Plot/../../src/util/time.ts","webpack://G2Plot/../../src/util/bisector.ts","webpack://G2Plot/../../src/category/time.ts","webpack://G2Plot/../../src/continuous/base.ts","webpack://G2Plot/../../src/continuous/linear.ts","webpack://G2Plot/../../src/util/math.ts","webpack://G2Plot/../../src/continuous/log.ts","webpack://G2Plot/../../src/continuous/pow.ts","webpack://G2Plot/../../src/continuous/time.ts","webpack://G2Plot/../../src/continuous/quantize.ts","webpack://G2Plot/../../src/continuous/quantile.ts","webpack://G2Plot/../src/factory.ts","webpack://G2Plot/../../src/identity/index.ts","webpack://G2Plot/../../src/util/extended.ts","webpack://G2Plot/../../src/tick-method/cat.ts","webpack://G2Plot/../../src/util/d3-linear.ts","webpack://G2Plot/../../src/util/interval.ts","webpack://G2Plot/../../src/util/strict-limit.ts","webpack://G2Plot/../../src/util/pretty.ts","webpack://G2Plot/../../src/tick-method/quantile.ts","webpack://G2Plot/../../src/tick-method/time-pretty.ts","webpack://G2Plot/../../src/tick-method/index.ts","webpack://G2Plot/../../src/tick-method/time-cat.ts","webpack://G2Plot/../../src/tick-method/linear.ts","webpack://G2Plot/../../src/tick-method/r-prettry.ts","webpack://G2Plot/../../src/tick-method/time.ts","webpack://G2Plot/../../src/tick-method/log.ts","webpack://G2Plot/../../src/tick-method/pow.ts","webpack://G2Plot/../../src/tick-method/d3-linear.ts","webpack://G2Plot/./src/util/math.ts","webpack://G2Plot/./src/util/view.ts","webpack://G2Plot/./src/components/factory.ts","webpack://G2Plot/./src/util/scale.ts","webpack://G2Plot/./src/util/color.ts","webpack://G2Plot/../src/util.ts","webpack://G2Plot/../src/constant.ts","webpack://G2Plot/../../src/engine/index.ts","webpack://G2Plot/../../src/util/dom.ts","webpack://G2Plot/../src/dependents.ts","webpack://G2Plot/../../src/util/scale.ts","webpack://G2Plot/../../src/util/axis.ts","webpack://G2Plot/../../src/facet/facet.ts","webpack://G2Plot/../../src/facet/index.ts","webpack://G2Plot/../../../src/interaction/action/base.ts","webpack://G2Plot/../../../src/interaction/action/callback.ts","webpack://G2Plot/../../../src/interaction/action/register.ts","webpack://G2Plot/../../src/util/graphics.ts","webpack://G2Plot/../../src/util/helper.ts","webpack://G2Plot/../../src/util/coordinate.ts","webpack://G2Plot/../../../../src/geometry/shape/util/path.ts","webpack://G2Plot/../../src/util/bbox.ts","webpack://G2Plot/../../../src/interaction/action/util.ts","webpack://G2Plot/../../src/interaction/context.ts","webpack://G2Plot/../../src/interaction/interaction.ts","webpack://G2Plot/../../src/interaction/grammar-interaction.ts","webpack://G2Plot/../../src/interaction/index.ts","webpack://G2Plot/../../../src/theme/style-sheet/light.ts","webpack://G2Plot/../../src/theme/index.ts","webpack://G2Plot/../../src/util/tooltip.ts","webpack://G2Plot/../../../src/chart/controller/index.ts","webpack://G2Plot/../../../src/chart/controller/coordinate.ts","webpack://G2Plot/../../src/chart/event.ts","webpack://G2Plot/../../src/util/padding.ts","webpack://G2Plot/../../../src/chart/layout/padding-cal.ts","webpack://G2Plot/../../../src/chart/layout/index.ts","webpack://G2Plot/../../../src/chart/layout/auto.ts","webpack://G2Plot/../../../src/chart/util/scale-pool.ts","webpack://G2Plot/../../src/chart/view.ts","webpack://G2Plot/../../src/chart/chart.ts","webpack://G2Plot/../../../src/chart/controller/base.ts","webpack://G2Plot/../../src/adjusts/adjust.ts","webpack://G2Plot/../../src/adjusts/dodge.ts","webpack://G2Plot/../../src/adjusts/jitter.ts","webpack://G2Plot/../../src/adjusts/stack.ts","webpack://G2Plot/../../src/adjusts/symmetric.ts","webpack://G2Plot/../../../src/animate/animation/index.ts","webpack://G2Plot/../../src/animate/index.ts","webpack://G2Plot/../../../src/geometry/element/index.ts","webpack://G2Plot/../../../src/geometry/label/index.ts","webpack://G2Plot/../../../src/geometry/shape/base.ts","webpack://G2Plot/../../../src/geometry/util/is-model-change.ts","webpack://G2Plot/../../../src/geometry/util/parse-fields.ts","webpack://G2Plot/../../src/geometry/base.ts","webpack://G2Plot/../../../src/geometry/util/group-data.ts","webpack://G2Plot/../../src/util/transform.ts","webpack://G2Plot/../../src/component/labels.ts","webpack://G2Plot/../../../src/geometry/label/base.ts","webpack://G2Plot/../src/core.ts","webpack://G2Plot/../../../src/theme/style-sheet/dark.ts","webpack://G2Plot/../../../../src/geometry/shape/util/get-path-points.ts","webpack://G2Plot/../../../../src/geometry/shape/util/get-style.ts","webpack://G2Plot/../../../../src/geometry/shape/util/split-points.ts","webpack://G2Plot/../../../../src/geometry/shape/line/util.ts","webpack://G2Plot/../../../../src/geometry/shape/line/index.ts","webpack://G2Plot/../../src/geometry/path.ts","webpack://G2Plot/../../../../src/geometry/shape/area/util.ts","webpack://G2Plot/../../../../src/geometry/shape/area/index.ts","webpack://G2Plot/../../src/geometry/area.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/index.ts","webpack://G2Plot/../../src/geometry/edge.ts","webpack://G2Plot/../../src/geometry/heatmap.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/util.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/index.ts","webpack://G2Plot/../../../src/geometry/util/shape-size.ts","webpack://G2Plot/../../src/geometry/interval.ts","webpack://G2Plot/../../src/geometry/line.ts","webpack://G2Plot/../../src/util/marker.ts","webpack://G2Plot/../../../../src/geometry/shape/point/util.ts","webpack://G2Plot/../../../../src/geometry/shape/point/index.ts","webpack://G2Plot/../../src/geometry/point.ts","webpack://G2Plot/../../../../src/geometry/shape/polygon/index.ts","webpack://G2Plot/../../src/geometry/polygon.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/index.ts","webpack://G2Plot/../../src/geometry/schema.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/util.ts","webpack://G2Plot/../../../../src/geometry/shape/area/line.ts","webpack://G2Plot/../../../../src/geometry/shape/area/smooth.ts","webpack://G2Plot/../../../../src/geometry/shape/area/smooth-line.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/arc.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/smooth.ts","webpack://G2Plot/../../../../src/geometry/shape/edge/vhv.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/funnel.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/hollow-rect.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/line.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/pyramid.ts","webpack://G2Plot/../../../../src/geometry/shape/interval/tick.ts","webpack://G2Plot/../../../../src/geometry/shape/line/step.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/box.ts","webpack://G2Plot/../../../../src/geometry/shape/schema/candle.ts","webpack://G2Plot/../../../../src/geometry/shape/polygon/square.ts","webpack://G2Plot/../../../../src/geometry/shape/point/hollow.ts","webpack://G2Plot/../../../../src/geometry/shape/point/image.ts","webpack://G2Plot/../../../../src/geometry/shape/point/solid.ts","webpack://G2Plot/../../../src/geometry/label/interval.ts","webpack://G2Plot/../../../src/geometry/label/polar.ts","webpack://G2Plot/../../../src/geometry/label/pie.ts","webpack://G2Plot/../../../../src/geometry/label/layout/overlap.ts","webpack://G2Plot/../../../src/animate/animation/util.ts","webpack://G2Plot/../../../src/animate/animation/sector-path-update.ts","webpack://G2Plot/../../../src/animate/animation/zoom.ts","webpack://G2Plot/../../src/util/facet.ts","webpack://G2Plot/../../src/facet/circle.ts","webpack://G2Plot/../../src/facet/list.ts","webpack://G2Plot/../../src/facet/matrix.ts","webpack://G2Plot/../../src/facet/mirror.ts","webpack://G2Plot/../../src/facet/rect.ts","webpack://G2Plot/../../src/facet/tree.ts","webpack://G2Plot/../../../src/chart/controller/annotation.ts","webpack://G2Plot/../../src/util/grid.ts","webpack://G2Plot/../../../src/chart/controller/axis.ts","webpack://G2Plot/../../src/util/direction.ts","webpack://G2Plot/../../src/util/attr.ts","webpack://G2Plot/../../src/util/legend.ts","webpack://G2Plot/../../../src/chart/controller/legend.ts","webpack://G2Plot/../../../src/chart/controller/slider.ts","webpack://G2Plot/../../../src/chart/controller/tooltip.ts","webpack://G2Plot/../../../src/interaction/action/active-region.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/geometry.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/sibling.ts","webpack://G2Plot/../../../../../src/interaction/action/component/tooltip/ellipsis-text.ts","webpack://G2Plot/../../../../src/interaction/action/element/state-base.ts","webpack://G2Plot/../../../../src/interaction/action/element/state.ts","webpack://G2Plot/../../../../src/interaction/action/element/active.ts","webpack://G2Plot/../../../../src/interaction/action/element/link-by-color.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-state.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-active.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-state.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-active.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-util.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-by-color.ts","webpack://G2Plot/../../../../src/interaction/action/element/highlight-by-x.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/element/range-selected.ts","webpack://G2Plot/../../../../src/interaction/action/element/selected.ts","webpack://G2Plot/../../../../src/interaction/action/element/single-selected.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-state.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-active.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-highlight.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-highlight-util.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-selected.ts","webpack://G2Plot/../../../../src/interaction/action/component/list-unchecked.ts","webpack://G2Plot/../../../../src/interaction/action/mask/base.ts","webpack://G2Plot/../../../../src/interaction/action/mask/circle.ts","webpack://G2Plot/../../../../src/interaction/action/mask/rect.ts","webpack://G2Plot/../../../../src/interaction/action/mask/dim-rect.ts","webpack://G2Plot/../../../../src/interaction/action/mask/path.ts","webpack://G2Plot/../../../../src/interaction/action/mask/smooth-path.ts","webpack://G2Plot/../../../src/interaction/action/cursor.ts","webpack://G2Plot/../../../../src/interaction/action/data/filter.ts","webpack://G2Plot/../../../../src/interaction/action/data/range-filter.ts","webpack://G2Plot/../../../../src/interaction/action/data/sibling-filter.ts","webpack://G2Plot/../../../../src/interaction/action/element/filter.ts","webpack://G2Plot/../../../../src/interaction/action/element/sibling-filter.ts","webpack://G2Plot/../../../../src/interaction/action/view/button.ts","webpack://G2Plot/../../../../src/interaction/action/view/drag.ts","webpack://G2Plot/../../../../src/interaction/action/view/move.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-transform.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-translate.ts","webpack://G2Plot/../../../../src/interaction/action/view/scale-zoom.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/distribute.ts","webpack://G2Plot/../../../../src/geometry/label/layout/limit-in-shape.ts","webpack://G2Plot/../../../../src/geometry/label/layout/limit-in-canvas.ts","webpack://G2Plot/../../../../../src/geometry/label/layout/pie/outer.ts","webpack://G2Plot/../../../src/animate/animation/fade.ts","webpack://G2Plot/../../../src/animate/animation/grow-in.ts","webpack://G2Plot/../../../src/animate/animation/scale-in.ts","webpack://G2Plot/../../../src/animate/animation/wave-in.ts","webpack://G2Plot/../../../src/animate/animation/position-update.ts","webpack://G2Plot/../../../src/animate/animation/path-in.ts","webpack://G2Plot/./node_modules/_warning@4.0.3@warning/warning.js","webpack://G2Plot/../../src/shape/base.ts","webpack://G2Plot/../../src/shape/circle.ts","webpack://G2Plot/../../src/shape/ellipse.ts","webpack://G2Plot/../../src/shape/image.ts","webpack://G2Plot/../../../src/util/in-stroke/line.ts","webpack://G2Plot/../../src/shape/line.ts","webpack://G2Plot/../../src/shape/marker.ts","webpack://G2Plot/../../../src/util/in-path/point-in-path.ts","webpack://G2Plot/../../../src/util/in-path/polygon.ts","webpack://G2Plot/../../../src/util/in-stroke/arc.ts","webpack://G2Plot/../../src/shape/path.ts","webpack://G2Plot/../../../src/util/in-stroke/polyline.ts","webpack://G2Plot/../../src/shape/polygon.ts","webpack://G2Plot/../../src/shape/polyline.ts","webpack://G2Plot/../../src/shape/rect.ts","webpack://G2Plot/../../../src/util/in-stroke/rect-radius.ts","webpack://G2Plot/../../../src/util/in-stroke/rect.ts","webpack://G2Plot/../../src/shape/text.ts","webpack://G2Plot/./node_modules/_fecha@4.2.0@fecha/lib/fecha.js","webpack://G2Plot/./src/util/common.ts","webpack://G2Plot/./src/interaction/base.ts","webpack://G2Plot/../src/cubic.ts","webpack://G2Plot/./src/util/responsive/rules/text-hide.ts","webpack://G2Plot/./src/plots/column/layer.ts","webpack://G2Plot/../../src/coord/base.ts","webpack://G2Plot/../../src/coord/cartesian.ts","webpack://G2Plot/../../src/coord/helix.ts","webpack://G2Plot/../../src/coord/polar.ts","webpack://G2Plot/./node_modules/_gl-matrix@3.3.0@gl-matrix/esm/mat3.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/cubic.js","webpack://G2Plot/./src/base/layer.ts","webpack://G2Plot/./src/components/base.ts","webpack://G2Plot/./src/util/g-util.ts","webpack://G2Plot/./src/geoms/base.ts","webpack://G2Plot/./src/plots/column/component/label.ts","webpack://G2Plot/./src/sparkline/tiny-layer.ts","webpack://G2Plot/../../src/attributes/base.ts","webpack://G2Plot/../../src/attributes/color.ts","webpack://G2Plot/../../src/attributes/opacity.ts","webpack://G2Plot/../../src/attributes/position.ts","webpack://G2Plot/../../src/attributes/shape.ts","webpack://G2Plot/../../src/attributes/size.ts","webpack://G2Plot/./src/base/controller/state.ts","webpack://G2Plot/./src/util/responsive/theme.ts","webpack://G2Plot/./src/plots/line/layer.ts","webpack://G2Plot/./src/util/responsive/apply/axis.ts","webpack://G2Plot/./src/plots/bar/layer.ts","webpack://G2Plot/./src/plots/stacked-column/layer.ts","webpack://G2Plot/./src/plots/pie/component/label/base-label.ts","webpack://G2Plot/./src/plots/calendar/constant.ts","webpack://G2Plot/./node_modules/_gl-matrix@3.3.0@gl-matrix/esm/vec3.js","webpack://G2Plot/../../src/util/parse.ts","webpack://G2Plot/../../src/bbox/index.ts","webpack://G2Plot/../src/path-2-absolute.ts","webpack://G2Plot/../src/polyline.ts","webpack://G2Plot/../src/catmull-rom-2-bezier.ts","webpack://G2Plot/../src/parse-path-string.ts","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/linear.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/quad.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/poly.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/sin.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/math.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/exp.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/circle.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/bounce.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/back.js","webpack://G2Plot/./node_modules/_d3-ease@1.0.7@d3-ease/src/elastic.js","webpack://G2Plot/./node_modules/_gl-matrix@3.3.0@gl-matrix/esm/vec2.js","webpack://G2Plot/../../src/bbox/util.ts","webpack://G2Plot/./src/interaction/core.ts","webpack://G2Plot/./src/base/controller/theme.ts","webpack://G2Plot/./src/util/path.ts","webpack://G2Plot/./src/geoms/line/main.ts","webpack://G2Plot/./src/components/label/point.ts","webpack://G2Plot/./src/plots/bar/theme.ts","webpack://G2Plot/./src/plots/bar/component/label.ts","webpack://G2Plot/./src/plots/stacked-bar/layer.ts","webpack://G2Plot/./src/util/data.ts","webpack://G2Plot/./src/plots/area/layer.ts","webpack://G2Plot/./src/plots/stacked-area/layer.ts","webpack://G2Plot/./src/plots/column/theme.ts","webpack://G2Plot/./src/plots/grouped-column/layer.ts","webpack://G2Plot/./src/plots/pie/layer.ts","webpack://G2Plot/./src/plots/pie/component/label/utils/index.ts","webpack://G2Plot/./src/plots/rose/layer.ts","webpack://G2Plot/./src/plots/waterfall/layer.ts","webpack://G2Plot/./src/util/date.ts","webpack://G2Plot/./src/plots/gauge/layer.ts","webpack://G2Plot/./src/combo/column-line/layer.ts","webpack://G2Plot/../src/is-polygons-intersect.ts","webpack://G2Plot/../../src/util/offscreen.ts","webpack://G2Plot/../src/quadratic.ts","webpack://G2Plot/../src/path-2-segments.ts","webpack://G2Plot/../../src/util/svg.ts","webpack://G2Plot/../../src/shape/dom.ts","webpack://G2Plot/../../../src/shape/marker/symbols.ts","webpack://G2Plot/../../../src/shape/marker/index.ts","webpack://G2Plot/../../src/util/format.ts","webpack://G2Plot/../../src/defs/gradient.ts","webpack://G2Plot/../../src/defs/shadow.ts","webpack://G2Plot/../../src/defs/arrow.ts","webpack://G2Plot/../../src/defs/clip.ts","webpack://G2Plot/../../src/defs/pattern.ts","webpack://G2Plot/../../src/defs/index.ts","webpack://G2Plot/../src/canvas.ts","webpack://G2Plot/./src/interface/config.ts","webpack://G2Plot/./node_modules/_process@0.11.10@process/browser.js","webpack://G2Plot/../src/bezier.ts","webpack://G2Plot/../src/get-arc-params.ts","webpack://G2Plot/../src/types.ts","webpack://G2Plot/../src/interfaces.ts","webpack://G2Plot/./src/components/description.ts","webpack://G2Plot/./src/util/formatter.ts","webpack://G2Plot/./src/util/state-manager.ts","webpack://G2Plot/./src/interaction/helper/data-range.ts","webpack://G2Plot/./src/base/constants.ts","webpack://G2Plot/./src/util/text.ts","webpack://G2Plot/./src/theme/global.ts","webpack://G2Plot/./src/theme/default.ts","webpack://G2Plot/./src/theme/theme.ts","webpack://G2Plot/./src/geoms/area/main.ts","webpack://G2Plot/./src/geoms/line/mini.ts","webpack://G2Plot/./src/util/responsive/node/shape-nodes.ts","webpack://G2Plot/./src/util/responsive/responsive.ts","webpack://G2Plot/./src/util/responsive/constraints/index.ts","webpack://G2Plot/./src/util/responsive/rules/index.ts","webpack://G2Plot/./src/util/responsive/rules/clear-overlapping.ts","webpack://G2Plot/./src/util/responsive/rules/datetime-string-abbrevaite.ts","webpack://G2Plot/./src/util/responsive/rules/digits-abbreviate.ts","webpack://G2Plot/./src/util/responsive/rules/nodes-resampling.ts","webpack://G2Plot/./src/util/responsive/rules/text-abbreviate.ts","webpack://G2Plot/./src/util/responsive/apply/base.ts","webpack://G2Plot/./src/util/responsive/apply/label.ts","webpack://G2Plot/./src/components/label/point-auto.ts","webpack://G2Plot/./src/plots/line/component/label/line-label.ts","webpack://G2Plot/./src/components/conversion-tag.ts","webpack://G2Plot/./src/plots/bar/component/label-auto.ts","webpack://G2Plot/./src/plots/grouped-bar/layer.ts","webpack://G2Plot/./src/plots/percent-stacked-bar/layer.ts","webpack://G2Plot/./src/plots/area/component/label/area-point.ts","webpack://G2Plot/./src/plots/area/component/label/area-point-auto.ts","webpack://G2Plot/./src/plots/area/theme.ts","webpack://G2Plot/./src/plots/percent-stacked-area/layer.ts","webpack://G2Plot/./src/plots/column/component/label-auto.ts","webpack://G2Plot/./src/plots/column/event.ts","webpack://G2Plot/./src/plots/stacked-column/component/label.ts","webpack://G2Plot/./src/plots/percent-stacked-column/layer.ts","webpack://G2Plot/./src/components/statistic.ts","webpack://G2Plot/./src/plots/donut/layer.ts","webpack://G2Plot/./src/plots/scatter/layer.ts","webpack://G2Plot/./src/plots/scatter/event.ts","webpack://G2Plot/./src/plots/gauge/geometry/shape/gauge-shape.ts","webpack://G2Plot/./src/sparkline/progress/layer.ts","webpack://G2Plot/./src/combo/base.ts","webpack://G2Plot/../../src/util/hit.ts","webpack://G2Plot/./node_modules/_detect-browser@5.1.0@detect-browser/index.js","webpack://G2Plot/./node_modules/_detect-browser@4.8.0@detect-browser/index.js","webpack://G2Plot/./src/index.ts","webpack://G2Plot/../../../src/chart/controller/gesture.ts","webpack://G2Plot/../src/interface.ts","webpack://G2Plot/../src/point-in-polygon.ts","webpack://G2Plot/../src/get-line-intersect.ts","webpack://G2Plot/../../src/bbox/register.ts","webpack://G2Plot/../../src/bbox/rect.ts","webpack://G2Plot/../../src/bbox/circle.ts","webpack://G2Plot/../../src/bbox/polyline.ts","webpack://G2Plot/../../src/bbox/polygon.ts","webpack://G2Plot/../../src/bbox/text.ts","webpack://G2Plot/../../src/bbox/path.ts","webpack://G2Plot/../src/arc.ts","webpack://G2Plot/../src/ellipse.ts","webpack://G2Plot/../src/parse-path.ts","webpack://G2Plot/../../src/bbox/line.ts","webpack://G2Plot/../../src/bbox/ellipse.ts","webpack://G2Plot/../src/segments.ts","webpack://G2Plot/./src/components/axis/parser.ts","webpack://G2Plot/./src/components/guide-line.ts","webpack://G2Plot/./src/components/label/parser.ts","webpack://G2Plot/./src/components/axis/state.ts","webpack://G2Plot/./src/components/label/state.ts","webpack://G2Plot/./src/components/tooltip/state.ts","webpack://G2Plot/./src/interaction/index.ts","webpack://G2Plot/./src/interaction/scrollbar.ts","webpack://G2Plot/./src/interaction/slider.ts","webpack://G2Plot/./src/interaction/timeline.ts","webpack://G2Plot/./src/components/timeline/index.ts","webpack://G2Plot/./src/components/timeline/button.ts","webpack://G2Plot/./src/interaction/tooltip-indicator.ts","webpack://G2Plot/./src/components/tooltip-indicator.ts","webpack://G2Plot/./src/base/controller/padding.ts","webpack://G2Plot/./src/theme/dark.ts","webpack://G2Plot/./src/theme/utils.ts","webpack://G2Plot/./src/util/responsive/default.ts","webpack://G2Plot/./src/base/controller/canvas.ts","webpack://G2Plot/./node_modules/_resize-observer-polyfill@1.5.1@resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://G2Plot/(webpack)/buildin/global.js","webpack://G2Plot/./src/base/controller/event.ts","webpack://G2Plot/./src/plots/index.ts","webpack://G2Plot/./src/plots/line/index.ts","webpack://G2Plot/./src/geoms/area/index.ts","webpack://G2Plot/./src/geoms/area/mini.ts","webpack://G2Plot/./src/geoms/interval/index.ts","webpack://G2Plot/./src/geoms/interval/main.ts","webpack://G2Plot/./src/geoms/line/index.ts","webpack://G2Plot/./src/geoms/line/guide.ts","webpack://G2Plot/./src/geoms/point/index.ts","webpack://G2Plot/./src/geoms/point/circle.ts","webpack://G2Plot/./src/geoms/point/guide.ts","webpack://G2Plot/./src/plots/line/animation/clipIn-with-data.ts","webpack://G2Plot/./src/plots/line/apply-responsive/index.ts","webpack://G2Plot/./src/plots/line/apply-responsive/axis.ts","webpack://G2Plot/./src/util/responsive/constraints/column-width.ts","webpack://G2Plot/./src/util/responsive/constraints/element-collision.ts","webpack://G2Plot/./src/util/responsive/constraints/element-dist.ts","webpack://G2Plot/./src/util/responsive/constraints/element-dist-vertical.ts","webpack://G2Plot/./src/util/responsive/constraints/element-width.ts","webpack://G2Plot/./src/util/responsive/constraints/min-ring-thickness.ts","webpack://G2Plot/./src/util/responsive/constraints/ring-thickness.ts","webpack://G2Plot/./src/util/responsive/rules/node-jitter.ts","webpack://G2Plot/./src/util/responsive/rules/node-jitter-upward.ts","webpack://G2Plot/./src/util/responsive/rules/nodes-resampling-by-abbrevate.ts","webpack://G2Plot/./src/util/responsive/rules/nodes-resampling-by-change.ts","webpack://G2Plot/./src/util/responsive/rules/nodes-resampling-by-state.ts","webpack://G2Plot/./src/util/responsive/rules/robust-abbrevaite.ts","webpack://G2Plot/./src/util/responsive/rules/text-rotation.ts","webpack://G2Plot/./src/util/responsive/rules/text-wrapper.ts","webpack://G2Plot/./src/plots/line/apply-responsive/label.ts","webpack://G2Plot/./src/plots/line/event.ts","webpack://G2Plot/./src/components/marker-point.ts","webpack://G2Plot/./src/plots/line/theme.ts","webpack://G2Plot/./src/plots/line/apply-responsive/theme.ts","webpack://G2Plot/./src/plots/line/interaction/index.ts","webpack://G2Plot/./src/plots/line/interaction/line-active.ts","webpack://G2Plot/./src/plots/line/interaction/line-select.ts","webpack://G2Plot/./src/plots/line/interaction/selected-tooltip.ts","webpack://G2Plot/./src/plots/line/interaction/marker-active.ts","webpack://G2Plot/./src/plots/treemap/index.ts","webpack://G2Plot/./src/plots/treemap/layer.ts","webpack://G2Plot/./src/plots/treemap/layout/squarify.ts","webpack://G2Plot/./src/plots/treemap/layout/dice.ts","webpack://G2Plot/./src/plots/treemap/layout/slice.ts","webpack://G2Plot/./src/plots/treemap/interaction/index.ts","webpack://G2Plot/./src/plots/treemap/interaction/drillDown.ts","webpack://G2Plot/./src/components/breadcrumb.ts","webpack://G2Plot/./src/plots/treemap/interaction/animation.ts","webpack://G2Plot/./src/plots/treemap/event.ts","webpack://G2Plot/./src/plots/treemap/components/label.ts","webpack://G2Plot/./src/plots/step-line/index.ts","webpack://G2Plot/./src/plots/step-line/layer.ts","webpack://G2Plot/./src/plots/bar/index.ts","webpack://G2Plot/./src/plots/bar/apply-responsive/index.ts","webpack://G2Plot/./src/plots/bar/apply-responsive/axis.ts","webpack://G2Plot/./src/plots/bar/event.ts","webpack://G2Plot/./src/plots/stacked-bar/index.ts","webpack://G2Plot/./src/plots/stacked-bar/theme.ts","webpack://G2Plot/./src/plots/stacked-bar/component/label.ts","webpack://G2Plot/./src/plots/stacked-bar/component/label-auto.ts","webpack://G2Plot/./src/plots/grouped-bar/index.ts","webpack://G2Plot/./src/plots/grouped-bar/theme.ts","webpack://G2Plot/./src/plots/percent-stacked-bar/index.ts","webpack://G2Plot/./src/plots/range-bar/index.ts","webpack://G2Plot/./src/plots/range-bar/layer.ts","webpack://G2Plot/./src/plots/range-bar/component/label.ts","webpack://G2Plot/./src/plots/range-bar/animation.ts","webpack://G2Plot/./src/plots/area/index.ts","webpack://G2Plot/./src/plots/area/apply-responsive/index.ts","webpack://G2Plot/./src/plots/area/apply-responsive/axis.ts","webpack://G2Plot/./src/plots/area/event.ts","webpack://G2Plot/./src/plots/stacked-area/index.ts","webpack://G2Plot/./src/plots/stacked-area/component/index.ts","webpack://G2Plot/./src/plots/stacked-area/component/label/line-label.ts","webpack://G2Plot/./src/plots/stacked-area/component/label/area-label.ts","webpack://G2Plot/./src/plots/stacked-area/component/label/area-point.ts","webpack://G2Plot/./src/plots/stacked-area/component/label/area-point-auto.ts","webpack://G2Plot/./src/plots/stacked-area/theme.ts","webpack://G2Plot/./src/plots/percent-stacked-area/index.ts","webpack://G2Plot/./src/plots/column/index.ts","webpack://G2Plot/./src/plots/column/apply-responsive/index.ts","webpack://G2Plot/./src/plots/column/apply-responsive/axis.ts","webpack://G2Plot/./src/plots/column/apply-responsive/label.ts","webpack://G2Plot/./src/plots/column/apply-responsive/theme.ts","webpack://G2Plot/./src/plots/grouped-column/index.ts","webpack://G2Plot/./src/plots/grouped-column/theme.ts","webpack://G2Plot/./src/plots/stacked-column/index.ts","webpack://G2Plot/./src/components/connected-area.ts","webpack://G2Plot/./src/plots/stacked-column/theme.ts","webpack://G2Plot/./src/plots/stacked-column/component/label-auto.ts","webpack://G2Plot/./src/plots/range-column/index.ts","webpack://G2Plot/./src/plots/range-column/layer.ts","webpack://G2Plot/./src/plots/range-column/component/label.ts","webpack://G2Plot/./src/plots/range-column/animation.ts","webpack://G2Plot/./src/plots/percent-stacked-column/index.ts","webpack://G2Plot/./src/plots/pie/index.ts","webpack://G2Plot/./src/plots/pie/event.ts","webpack://G2Plot/./src/plots/pie/component/label/index.ts","webpack://G2Plot/./src/plots/pie/component/label/inner-label.ts","webpack://G2Plot/./src/plots/pie/component/label/outer-label.ts","webpack://G2Plot/./src/plots/pie/component/label/outer-center-label.ts","webpack://G2Plot/./src/plots/pie/component/label/spider-label.ts","webpack://G2Plot/./src/plots/pie/theme.ts","webpack://G2Plot/./src/plots/density-heatmap/index.ts","webpack://G2Plot/./src/plots/density-heatmap/layer.ts","webpack://G2Plot/./src/geoms/heatmap/linear.ts","webpack://G2Plot/./src/plots/density-heatmap/components/index.ts","webpack://G2Plot/./src/plots/density-heatmap/components/background.ts","webpack://G2Plot/./src/plots/density-heatmap/components/legend.ts","webpack://G2Plot/./src/plots/density-heatmap/event.ts","webpack://G2Plot/./src/plots/heatmap/index.ts","webpack://G2Plot/./src/plots/heatmap/layer.ts","webpack://G2Plot/./src/plots/heatmap/shape.ts","webpack://G2Plot/./src/plots/heatmap/component/index.ts","webpack://G2Plot/./src/plots/heatmap/component/label.ts","webpack://G2Plot/./src/plots/heatmap/component/legend.ts","webpack://G2Plot/./src/plots/word-cloud/index.ts","webpack://G2Plot/./src/plots/word-cloud/layer.ts","webpack://G2Plot/./src/plots/word-cloud/word-cloud-tooltips.ts","webpack://G2Plot/./src/plots/word-cloud/wordcloud2.ts","webpack://G2Plot/./src/plots/rose/index.ts","webpack://G2Plot/./src/plots/rose/event.ts","webpack://G2Plot/./src/plots/funnel/index.ts","webpack://G2Plot/./src/plots/funnel/layer.ts","webpack://G2Plot/./src/plots/funnel/theme.ts","webpack://G2Plot/./src/plots/funnel/geometry/shape/funnel-basic-rect.ts","webpack://G2Plot/./src/plots/funnel/geometry/shape/funnel-dynamic-rect.ts","webpack://G2Plot/./src/plots/funnel/animation/funnel-scale-in-x.ts","webpack://G2Plot/./src/plots/funnel/animation/funnel-scale-in-y.ts","webpack://G2Plot/./src/plots/stacked-rose/index.ts","webpack://G2Plot/./src/plots/stacked-rose/layer.ts","webpack://G2Plot/./src/plots/grouped-rose/index.ts","webpack://G2Plot/./src/plots/grouped-rose/layer.ts","webpack://G2Plot/./src/plots/radar/index.ts","webpack://G2Plot/./src/plots/radar/layer.ts","webpack://G2Plot/./src/plots/radar/event.ts","webpack://G2Plot/./src/plots/radar/theme.ts","webpack://G2Plot/./src/plots/liquid/index.ts","webpack://G2Plot/./src/plots/liquid/layer.ts","webpack://G2Plot/./src/plots/liquid/component/liquid-statistic.ts","webpack://G2Plot/./src/plots/liquid/component/statistic-template.ts","webpack://G2Plot/./src/plots/liquid/event.ts","webpack://G2Plot/./src/plots/liquid/geometry/shape/liquid.ts","webpack://G2Plot/./src/plots/liquid/animation/liquid-move-in.ts","webpack://G2Plot/./src/plots/histogram/index.ts","webpack://G2Plot/./src/plots/histogram/layer.ts","webpack://G2Plot/./src/plots/density/index.ts","webpack://G2Plot/./src/plots/density/layer.ts","webpack://G2Plot/./src/plots/donut/index.ts","webpack://G2Plot/./src/plots/donut/event.ts","webpack://G2Plot/./src/plots/donut/component/ring-statistic.ts","webpack://G2Plot/./src/plots/donut/component/statistic-template.ts","webpack://G2Plot/./src/plots/waterfall/index.ts","webpack://G2Plot/./src/plots/waterfall/geometry/shape/waterfall.ts","webpack://G2Plot/./src/plots/waterfall/event.ts","webpack://G2Plot/./src/plots/waterfall/component/label/waterfall-label.ts","webpack://G2Plot/./src/plots/waterfall/component/label/diff-label.ts","webpack://G2Plot/./src/plots/scatter/index.ts","webpack://G2Plot/./src/plots/scatter/components/quadrant.ts","webpack://G2Plot/./src/plots/scatter/components/trendline.ts","webpack://G2Plot/./src/plots/scatter/theme.ts","webpack://G2Plot/./src/plots/bubble/index.ts","webpack://G2Plot/./src/plots/bubble/layer.ts","webpack://G2Plot/./src/plots/bubble/shape.ts","webpack://G2Plot/./src/plots/bubble/theme.ts","webpack://G2Plot/./src/plots/bullet/index.ts","webpack://G2Plot/./src/plots/bullet/layer.ts","webpack://G2Plot/./src/plots/bullet/event.ts","webpack://G2Plot/./src/plots/bullet/component/bulletRect.ts","webpack://G2Plot/./src/plots/bullet/component/bulletTarget.ts","webpack://G2Plot/./src/plots/bullet/theme.ts","webpack://G2Plot/./src/plots/calendar/index.ts","webpack://G2Plot/./src/plots/calendar/layer.ts","webpack://G2Plot/./src/plots/calendar/util.ts","webpack://G2Plot/./src/plots/calendar/event.ts","webpack://G2Plot/./src/plots/calendar/shape.ts","webpack://G2Plot/./src/plots/gauge/index.ts","webpack://G2Plot/./src/plots/gauge/event.ts","webpack://G2Plot/./src/plots/fan-gauge/index.ts","webpack://G2Plot/./src/plots/fan-gauge/layer.ts","webpack://G2Plot/./src/plots/meter-gauge/index.ts","webpack://G2Plot/./src/plots/meter-gauge/layer.ts","webpack://G2Plot/./src/plots/compatiblePlots/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/ring/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/group-column/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/group-bar/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/percentage-stack-area/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/percentage-stack-bar/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/percentage-stack-column/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/stack-area/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/stack-bar/index.ts","webpack://G2Plot/./src/plots/compatiblePlots/stack-column/index.ts","webpack://G2Plot/./src/sparkline/progress/index.ts","webpack://G2Plot/./src/sparkline/progress/component/marker.ts","webpack://G2Plot/./src/sparkline/progress/event.ts","webpack://G2Plot/./src/sparkline/ring-progress/index.ts","webpack://G2Plot/./src/sparkline/ring-progress/layer.ts","webpack://G2Plot/./src/sparkline/ring-progress/event.ts","webpack://G2Plot/./src/sparkline/tiny-column/index.ts","webpack://G2Plot/./src/sparkline/tiny-column/layer.ts","webpack://G2Plot/./src/sparkline/tiny-column/event.ts","webpack://G2Plot/./src/sparkline/tiny-area/index.ts","webpack://G2Plot/./src/sparkline/tiny-area/layer.ts","webpack://G2Plot/./src/sparkline/tiny-area/event.ts","webpack://G2Plot/./src/sparkline/tiny-line/index.ts","webpack://G2Plot/./src/sparkline/tiny-line/layer.ts","webpack://G2Plot/./src/sparkline/tiny-line/event.ts","webpack://G2Plot/./src/combo/dual-line/index.ts","webpack://G2Plot/./src/combo/dual-line/layer.ts","webpack://G2Plot/./src/combo/column-line/index.ts","webpack://G2Plot/./src/combo/groupedColumn-line/index.ts","webpack://G2Plot/./src/combo/groupedColumn-line/layer.ts","webpack://G2Plot/./src/combo/stackedColumn-line/index.ts","webpack://G2Plot/./src/combo/stackedColumn-line/layer.ts","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/utils/points.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/utils/determination.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/utils/geometry.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/utils/interpose.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/utils/ols.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/exponential.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/linear.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/utils/median.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/loess.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/logarithmic.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/quadratic.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/polynomial.js","webpack://G2Plot/./node_modules/_d3-regression@1.3.5@d3-regression/src/power.js","webpack://G2Plot/../../src/gestures/gesture.ts","webpack://G2Plot/../../src/gestures/pan.ts","webpack://G2Plot/../../src/utils/clock.ts","webpack://G2Plot/../../src/gestures/press.ts","webpack://G2Plot/../../src/gestures/swipe.ts","webpack://G2Plot/../../src/gestures/index.ts","webpack://G2Plot/../../src/gestures/tap.ts","webpack://G2Plot/../src/gm.ts","webpack://G2Plot/../../src/event/wheel.ts"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","result","arr","str","base","toString","index","indexOf","length","num","precision","maxData","data","obj","rst","k","memoized","dist","superObj","func","default_1","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","this","constructor","__assign","assign","arguments","apply","__rest","e","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","target","desc","getOwnPropertyDescriptor","Reflect","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","iterator","v","op","TypeError","pop","push","__createBinding","k2","undefined","__exportStar","__values","__read","ar","error","__spread","concat","__spreadArrays","il","a","j","jl","__await","__asyncGenerator","asyncIterator","q","resume","fulfill","settle","shift","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","mod","__importDefault","default","__classPrivateFieldGet","receiver","privateMap","has","__classPrivateFieldSet","set","__setModuleDefault","container","props","containerDOM","document","getElementById","forceFit","isNil","width","height","renderer","pixelRatio","theme","localRefresh","canvasController","plot","canvas","layers","destroyed","createLayers","eventController","bindEvents","parseEvents","destroy","eachLayer","layer","clearEvents","repaint","draw","updateConfig","config","all","updateCanvasSize","updateCanvasTheme","changeData","getScaleByField","field","getXScale","getYScale","getColorScale","getPlotTheme","getData","bindStateManager","stateManager","cfg","setActive","condition","style","setSelected","setDisable","setDefault","getView","view","getLayer","idx","getCanvas","getLayers","render","cb","each","addLayer","findIndex","item","type","viewLayer","getPlotType","deepMix","x","eventsName","keys","CANVAS_EVENT_MAP","events","contains","isFunction","eventName","handler","on","GLOBAL_PLOT_MAP","ctr","toLowerCase","addEventListener","remove","TABLE","getStyle","dom","parseFloat","el","modifyCSS","GestureController","registerComponentController","IElement","ICanvas","IGroup","IShape","BBox","Event","Canvas","GM","Wheel","GestureEvent","View","registerAnimation","registerGeometry","Geometry","Interaction","InteractionAction","registerInteraction","registerAction","registerShape","getTheme","Util","getShapeFactory","ComponentController","VIEW_LIFE_CIRCLE","COMPONENT_TYPE","FIELD_ORIGIN","MarkerSymbols","Datum","Data","LooseObject","Options","Point","ShapeInfo","AttributeOption","AdjustOption","LabelOption","MappingDatum","GrammarInteraction","InteractionUtils","DEFAULT_ANIMATE_CFG","getDefaultAnimateCfg","doAnimate","HtmlTooltip","HtmlTooltipTheme","TooltipCssConst","GroupComponent","Axis","Legend","Tooltip","Slider","Scrollbar","GroupComponentCfg","TooltipCfg","Coordinate","ORIGIN","_ORIGIN","EPSILON","ARRAY_TYPE","Float32Array","RANDOM","Math","random","PI","hypot","sqrt","Base","a10","a11","a12","a20","a21","a22","out","Element","repeat","minX","maxX","minY","maxY","group","shape","Container","taskHead","taskTail","frame","timeout","interval","clockLast","clockNow","clockSkew","clock","performance","now","Date","setFrame","requestAnimationFrame","setTimeout","clearNow","Timer","_call","_time","_next","timer","callback","delay","time","restart","wake","timerFlush","t0","t2","t1","Infinity","sleep","nap","poke","clearTimeout","clearInterval","setInterval","stop","extend","parent","definition","Color","reI","reN","reP","reHex","reRgbInteger","RegExp","reRgbPercent","reRgbaInteger","reRgbaPercent","reHslPercent","reHslaPercent","named","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","color_formatHex","rgb","formatHex","color_formatRgb","formatRgb","color","format","trim","exec","parseInt","rgbn","Rgb","rgba","hsla","NaN","rgbConvert","opacity","rgb_formatHex","hex","rgb_formatRgb","isNaN","max","min","round","h","Hsl","hslConvert","hsl2rgb","m1","m2","basis","v0","v1","v2","v3","t3","copy","channels","displayable","formatHsl","brighter","pow","darker","linear","gamma","nogamma","exponential","constant","rgbGamma","start","end","colorRgb","rgbSpline","spline","colors","values","floor","slice","isNumberArray","ArrayBuffer","isView","DataView","genericArray","nb","na","setTime","reA","reB","source","am","bm","bs","bi","lastIndex","number","one","zero","join","string","date","numberArray","isArray","valueOf","update","duration","animation","easing","elapsed","ratio","cPathPoint","cProps","Timeline","relativeShape","_emitEvent","EventController","event","_this","child","AbstractShape","getGlobalTheme","registerGlobalTheme","registerTheme","convertToG2Theme","eventNames","mobileEventNames","getEventMap","title","description","breadcrumb","getRegionEventMap","LAYER_EVENT_MAP","EVENT_MAP","axis","legend","getMobileEventMap","map","eventMap","namePrefix","upperFirst","eventPrefix","prefix","eventList","onEvent","ev","eventData","clientX","clientY","gEvent","DIRECTION","Padding","Region","fromBBoxObject","bbox","vRatio","u","interactions","labels","options","getOptions","initialOptions","paddingController","stateController","themeController","getDefaultOptions","visible","alignTo","text","padding","position","tooltip","shared","showCrosshairs","crosshairs","offset","xAxis","grid","line","tickLine","autoRotate","autoHide","spacing","yAxis","curOptions","defaultOptions","reduce","flatten","hasKey","src","cur","splice","beforeInit","emit","VIEW_LAYER_LIFE_CYCLE","BEFORE_INIT","init","processData","scales","legends","showTitle","axes","coordinate","geometries","annotations","panelRange","animate","views","clear","drawTitle","drawDescription","interaction","coord","scale","addGeometry","annotation","viewRange","getViewRange","region","viewRangeToRegion","backgroundGroup","addGroup","middleGroup","foregroundGroup","getPadding","limitInPlot","isLimitInPlot","applyInteractions","AFTER_RENDER","afterRender","afterInit","AFTER_INIT","defaultState","defaultStates","processAutoPadding","custom","onChange","customTooltip","BEFORE_RENDER","isEmpty","xField","yField","getShapes","shapes","geom","doDestroy","processOptions","BEFORE_CHANGE_DATA","isEmptyBefore","AFTER_CHANGE_DATA","getPlot","getLabels","getResponsiveTheme","getInteractions","setState","scaleTypes","mapValues","scaleConfig","meta","setConfig","xAxis_parser","getComponent","dim","yAxis_parser","axesConfig","tooltipOptions","customContent","domStyles","createTooltipContainer","createElement","className","customContentCfg","isString","hideTooltip","getLegendPosition","positionList","split","legendConfig","offsetX","offsetY","flipPage","marker","itemName","guideLine","range","layerBBox","titleOrDesc","extraBBox","getBBox","cut","TOP","forEach","inst","Ctor","getInteraction","getInteractionRange","eventParser","isTextUsable","leftMargin","rightMargin","topMargin","mix","wrapperWidth","registerPadding","titleBBox","doRenderLabel","geometry","labelsContainer","getLabelComponent","doDestroyInteractions","doDestroyLabels","processOuterPadding","yAxisOptions","tick","isVertical","path","_super","center","closed","x1","fill","fontSize","textAlign","textBaseline","leftArrow","maxLabel","getDefaultCfg","px","py","stroke","validCfg","id","GEOMETRY_MAP","area","point","Geom","box","pointAt","pointDistance","pointToLine","vec2","tangentAngle","arrowShape","labelsCfgMap","lastLabelsCfgMap","getGeometry","show","hide","initConfig","getCoordinate","AFTER_PAINT","addDisposable","off","renderInner","elements","element","elementIdx","drawLabelItem","adjustLabel","clone","attrs","layoutLabels","animateCfg","animateOption","findById","oldAttrs","updateAnimateCfg","stopAnimate","attr","toAttrs","appearAnimateCfg","leaveAnimateCfg","tempShape","addShape","drawLabelText","extraCfgs","elementIndex","model","getModel","items","getLabelItemAttrs","getDefaultOffset","offsetPoint","getLabelOffset","dataItem","mappingData","getLabelId","Number","isNumber","getLabelOffsetByDimAndFactor","factor","origin","_origin","xScale","yScale","labelId","getElementId","getCoordinateBBox","getWidth","getHeight","LABEL_CONFIG_MAP","component","hi","calBase","E","log","appendPercent","w","pretty","log10","toFixed","ceil","abs","unit","nu","res","registerTickMethod","lastValue","tickInterval","ticks","magnitude","sum","dotProduct2D","va","vb","applyMatrix","matrix","tag","vector","vec3","transformMat3","isBetween","angleTo","magA","magB","dot","acos","crossProduct2D","angle","sin","crossProduct3D","ax","ay","az","z","bx","by","bz","sub2D","isPointInPolygon","polygon","inside","xi","yi","xj","yj","sqr","dist2","distBetweenPointLine","p1","p2","l2","distSquare","minDistBetweenPointPolygon","isPolygonIntersection","polyA","polyB","getLineIntersect","p0","p3","D0","D1","kross","distBetweenPoints","minDistBetweenConvexPolygon","minA","minB","localMin","bboxOnRotate","ulMatrix","bboxWidth","bboxHeight","top_left","top_right","bottom_left","bottom_right","points","sort","tops","bottoms","topLeft","topRight","bottomLeft","bottomRight","left","right","top","bottom","centerX","centerY","lineSimplification","DouglasPeucker","threshold","endIndex","list1","list2","getMedian","array","list","half","getMean","sturges","LN2","curX","curY","getAllGeometryByType","filter","getOverlapArea","margin","head","dones","compare","some","panel","deltaX","deltaY","COMPONENT_MAPPER","STATE_MAPPER","Components","desScale","axisConfig","intervals","intervalArr","basicInterval","intervalCount","tickCount","timeIntervals","mask","minLimit","maxLimit","nice","formatter","exponent","tickMethod","validData","rgb2arr","colorStr","substr","toHex","band","reflect","from","to","isContrastColorWhite","maxNum","minNum","ENGINES","getEngine","G","Error","registerEngine","engine","changeVisible","LineAxis","CircleAxis","LineGrid","CircleGrid","CategoryLegend","ContinuousLegend","dateRegex","createScaleByField","scaleDef","test","getDefaultType","getName","alias","getAxisRegion","direction","isRect","RIGHT","BOTTOM","LEFT","getLineAxisRelativeRegion","isPolar","isTransposed","getCircleAxisRelativeRegion","convert","getAxisFactorByRegion","getAxisThemeCfg","getCircleAxisCenterRadius","isReflectY","startVector","normalVector","startAngle","endAngle","radius","getAxisOption","getAxisDirection","axisOption","def","getAxisTitleText","facets","createContainer","generateFacets","renderViews","clearFacetViews","facetToView","facet","createView","beforeEachView","eachView","afterEachView","LAYER","FORE","createFacetViews","removeView","getFieldValues","cache","getRegion","rows","cols","xIndex","yIndex","xRatio","yRatio","fields","getDefaultTitleCfg","fontFamily","processAxis","coordinateOption","getXYFields","xOption","yOption","getXAxisOption","getYAxisOption","getFacetDataFilter","conditions","datum","Facets","ctor","context","addAction","applyCfg","removeAction","execute","ActionCache","getActionClass","actionName","actionOption","ActionClass","createCallbackAction","action","polarToCartesian","angleInRadian","cos","getSectorPath","startAngleInRadian","endAngleInRadian","innerRadius","innerStart","innerEnd","middlePoint","innerMiddlePoint","circlePathCommands","arcSweep","sectorPathCommands","getArcPath","getAngle","shapeModel","getPointsBox","coordStartAngle","diffAngle","getReplaceAttrs","sourceShape","targetShape","originAttrs","newAttrs","omit","uniq","sourceArray","targetArray","getXDimensionLength","getRadius","getDistanceToCenter","getCenter","isPointInCoordinate","invertPoint","invert","getAngleByPoint","atan2","getCoordinateClipCfg","endState","startState","diff","_convertArr","tmp","len","catmullRom2bezier","crp","constraint","isLoop","pointList","cp1","cp2","controlPointList","smooth","prevPoint","nextPoint","cps","hasConstraint","sub","d0","distance","d1","cp0","add","getLinePath","isInCircle","_points2path","getSplinePath","constaint","first","prePoint","splinePath","unshift","convertPolarPath","pre","transposed","subPath","curPoint","xDim","angleRange","flag","convertPoint","middleConvertPoint","_convertPolarPath","_filterFullCirleLine","fromRange","isEqual","subBBox","merge","TOP_LEFT","TOP_RIGHT","RIGHT_TOP","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_RIGHT","LEFT_TOP","LEFT_BOTTOM","shrink","gap","exceed","size","getMaskBBox","tolerance","maskBBox","getCanvasBBox","getCurrentElement","getDelegationObject","delegateObject","isElementChange","fromShape","toShape","isList","isSlider","isMask","getMaskedElements","maskPath","maskShape","getMaskPath","getElements","pathToPoints","shapePoints","shapeBBox","getIntersectElements","getSiblingMaskElements","sibling","getSiblingPoint","subView","getElementsByState","stateName","getElementsBy","hasState","getElementValue","record","box1","box2","seg","getComponents","co","dx","dy","isInBox","getSilbings","siblings","normalPoint","point2Normalize","isInRecords","records","xFiled","isIn","actions","cacheMap","params","getAction","find","getCurrentPoint","HTMLElement","getPointByClient","getCurrentShape","isInPlot","isPointInPlot","isInShape","isInComponent","components","initEvents","parseAction","actionStr","createAction","methodName","executeAction","actionObject","STEP_NAMES","steps","callbackCaches","emitCaches","initContext","stepArr","stepName","getActionCallback","bindEvent","trigger","offEvent","subSteps","actionArr","isAllowStep","currentStepName","isAllowExcute","getKey","once","isEnable","enterStep","afterExecute","actionCallback","debounce","wait","immediate","throttle","leading","trailing","nameArr","removeEventListener","Interactions","BLACK_COLORS","WHITE_COLORS","QUALITATIVE_10","Themes","createThemeByStylesheet","backgroundColor","brandColor","paletteQualitative10","paletteQualitative20","paletteSemanticRed","paletteSemanticGreen","paletteSemanticYellow","axisLineBorderColor","axisLineBorder","axisLineDash","axisTitleTextFillColor","axisTitleTextFontSize","axisTitleTextLineHeight","axisTitleTextFontWeight","axisTickLineBorderColor","axisTickLineLength","axisTickLineBorder","axisSubTickLineBorderColor","axisSubTickLineLength","axisSubTickLineBorder","axisLabelFillColor","axisLabelFontSize","axisLabelLineHeight","axisLabelFontWeight","axisGridBorderColor","axisGridBorder","axisGridLineDash","legendTitleTextFillColor","legendTitleTextFontSize","legendTitleTextLineHeight","legendTitleTextFontWeight","legendMarkerColor","legendMarkerSize","legendCircleMarkerSize","legendSquareMarkerSize","legendLineMarkerSize","legendItemNameFillColor","legendItemNameFontSize","legendItemNameLineHeight","legendItemNameFontWeight","sliderRailFillColor","sliderRailBorder","sliderRailBorderColor","sliderRailWidth","sliderRailHeight","sliderLabelTextFillColor","sliderLabelTextFontSize","sliderLabelTextLineHeight","sliderLabelTextFontWeight","sliderHandlerFillColor","sliderHandlerWidth","sliderHandlerHeight","sliderHandlerBorder","sliderHandlerBorderColor","annotationArcBorderColor","annotationArcBorder","annotationLineBorderColor","annotationLineBorder","annotationLineDash","annotationTextFillColor","annotationTextFontSize","annotationTextLineHeight","annotationTextFontWeight","annotationTextBorderColor","annotationTextBorder","annotationRegionFillColor","annotationRegionFillOpacity","annotationRegionBorder","annotationRegionBorderColor","annotationDataMarkerLineLength","tooltipCrosshairsBorderColor","tooltipCrosshairsBorder","tooltipCrosshairsLineDash","tooltipContainerFillColor","tooltipContainerFillOpacity","tooltipContainerShadow","tooltipContainerBorderRadius","tooltipTextFillColor","tooltipTextFontSize","tooltipTextLineHeight","tooltipTextFontWeight","labelFillColor","labelFontSize","labelLineHeight","labelFontWeight","labelBorderColor","labelBorder","innerLabelFillColor","innerLabelFontSize","innerLabelLineHeight","innerLabelFontWeight","innerLabelBorderColor","innerLabelBorder","labelLineBorder","labelLineBorderColor","pointFillColor","pointFillOpacity","pointSize","pointBorder","pointBorderColor","pointBorderOpacity","pointActiveBorderColor","pointSelectedBorder","pointSelectedBorderColor","pointInactiveFillOpacity","pointInactiveBorderOpacity","hollowPointSize","hollowPointBorder","hollowPointBorderColor","hollowPointBorderOpacity","hollowPointFillColor","hollowPointActiveBorder","hollowPointActiveBorderColor","hollowPointActiveBorderOpacity","hollowPointSelectedBorder","hollowPointSelectedBorderColor","hollowPointSelectedBorderOpacity","hollowPointInactiveBorderOpacity","lineBorder","lineBorderColor","lineBorderOpacity","lineActiveBorder","lineSelectedBorder","lineInactiveBorderOpacity","areaFillColor","areaFillOpacity","areaActiveFillColor","areaActiveFillOpacity","areaSelectedFillColor","areaSelectedFillOpacity","areaInactiveFillOpacity","hollowAreaBorderColor","hollowAreaBorder","hollowAreaBorderOpacity","hollowAreaActiveBorder","hollowAreaActiveBorderColor","hollowAreaSelectedBorder","hollowAreaSelectedBorderColor","hollowAreaInactiveBorderOpacity","intervalFillColor","intervalFillOpacity","intervalActiveBorder","intervalActiveBorderColor","intervalActiveBorderOpacity","intervalSelectedBorder","intervalSelectedBorderColor","intervalSelectedBorderOpacity","intervalInactiveBorderOpacity","intervalInactiveFillOpacity","hollowIntervalBorder","hollowIntervalBorderColor","hollowIntervalBorderOpacity","hollowIntervalFillColor","hollowIntervalActiveBorder","hollowIntervalActiveBorderColor","hollowIntervalSelectedBorder","hollowIntervalSelectedBorderColor","hollowIntervalSelectedBorderOpacity","hollowIntervalInactiveBorderOpacity","snapEqual","value1","translate","value2","filterYValue","yValue","originData","getXDistance","isCategory","scaleValues","numericValue","getTooltipValueScale","attributes","attribute","GROUP_ATTRS","getAttributesForLegend","tmpScale","getScale","isLinear","findDataByPoint","geometryType","last","xValue","rangeMax","rangeMin","getXValueByPoint","firstXValue","firstYValue","lastXValue","isYArray","firstIdx","lastIdx","middleIdx","getTooltipItems","tooltipTitle","titleField","getAttribute","getFields","getText","getTooltipTitle","tooltipOption","defaultColor","addItem","itemValue","callbackParams","itemCfg","valueScale","eachValue","getTooltipValue","nameScale","groupScales","getGroupScales","getTooltipName","LOAD_COMPONENT_CONTROLLERS","plugin","option","wrapperOption","hasAction","isTheta","C","transpose","execActions","adjust","resetMatrix","rotate","sx","sy","getOption","includeActions","args","includes","originalEvent","isAutoPadding","parsePadding","paddingArray","inc","defaultLayout","getController","slider","viewBBox","autoPadding","paddingCal","GRID","TOOLTIP","bboxObject","getLayoutBBox","componentBBox","AXIS","calculatedPadding","appendPadding","calculatePadding","coordinateBBox","adjustCoordinate","controller","layout","Map","syncScales","createScale","finalScaleDef","cacheScaleMeta","getScaleMeta","cacheScale","cacheScaleDef","sync","scaleKeys","syncKey","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","isContinuous","change","sm","newScale","syncScale","getSyncKey","removeFromSyncScales","scaleMeta","deleteScale","controllers","usedControllers","scalePool","layoutFunc","isPreMouseInPlot","isDataChanged","isCoordinateChanged","createdScaleKeys","onCanvasEvent","evt","createViewEvent","doPlotEvent","onDelegateEvents","themeObject","setLayout","calculateViewBBox","initComponentController","coordinateController","initOptions","isUpdate","paint","BEFORE_CLEAR","filteredData","coordinateInstance","getRootView","AFTER_CLEAR","BEFORE_DESTROY","console","warn","filters","legendOption","scaleOption","guide","coordinateCfg","facetInstance","status","updateOptions","opt","existInteraction","interaciton","createInteraction","removeInteraction","sharedOptions","zIndex","GROUP_Z_INDEX","removedView","getYScales","tmpMap","getScalesByDim","dimType","defaultKey","getScaleKey","BG","MID","getLegendAttributes","getXY","xScales","yScales","showTooltip","lockTooltip","unlockTooltip","isTooltipLocked","getSnapRecords","dataArray","dataLen","snapRecords","filterData","every","filterFieldData","curStart","curEnd","bl","tr","renderDataRecursive","BEFORE_PAINT","renderBackgroundStyleShape","renderLayoutRecursive","renderPaintRecursive","background","backgruondStyleRectShape","initComponents","doLayout","tl","setClip","paintGeometries","renderComponents","currentScaleDef","mergedScaleDef","doFilterData","createCoordinate","initGeometries","renderFacet","controllerName","currentInPlot","TYPE","PLOT_EVENTS","MOUSE_LEAVE","LEAVE","MOUSE_ENTER","ENTER","createOrUpdateScales","scaleDefs","getGeometryScales","adjustScales","getScaleFields","groupedFields","getGroupedFields","getGroupFields","adjustCategoryScaleRange","xyScales","scaleOptions","isIdentity","count","isFullCircle","doAnimation","canvasRegion","geometryOption","createGeometry","interactionOption","viewOption","annotationComponent","annotationOption","autoFit","defaultInteractions","ele","wrapperElement","appendChild","getChartSize","onResize","updateCanvasStyle","bindAutoFit","initDefaultInteractions","changeSize","unbindAutoFit","display","verticalAlign","ANIMATIONS_MAP","getAnimation","appear","enter","leave","GEOMETRY_ANIMATE_CFG","schema","edge","GEOMETRY_GROUP_APPEAR_ANIMATION","elementName","animateType","parsedAnimateCfg","parseAnimateConfig","animateFunction","states","shapeFactory","offscreenGroup","shapeType","getShapeType","drawShape","setShapeInfo","getOffscreenGroup","newShape","syncShapeStyle","getAnimateCfg","labelShape","statesStyle","stateStatus","toFront","toBack","offscreenShape","state","eventObject","clearStates","getStates","labelBBox","getStatesStyle","stateOption","defaultShapeType","stateTheme","getStateStyle","shapeKey","stateCfg","shapeStyle","GroupCtor","getGroupBase","isGroup","children","newChildren","GEOMETRY_LABELS_MAP","GEOMETRY_LABELS_LAYOUT_MAP","getGeometryLabel","registerGeometryLabel","getGeometryLabelLayout","registerGeometryLabelLayout","layoutFn","ShapeFactoryBase","getShapePoints","shapePoint","getShape","getPoints","getDefaultPoints","getMarker","markerCfg","markerStyle","ShapeBase","parsePath","parsedPath","convertNormalPath","parsePoint","parsePoints","ShapeFactoryMap","registerShapeFactory","factoryName","geomObj","shapeObj","isModelChange","currentModel","preModel","parseFields","elementsMap","attributeOption","lastElementsMap","generatePoints","beforeMappingData","adjusts","idFields","hasSorted","sortable","userTheme","positionCfg","createAttrOption","adjustCfg","adjustOption","styleFunc","styleOption","secondParam","thirdParam","labelOption","setCfg","initAttributes","adjustScale","lastAttributeOption","defaultSize","beforeMapping","mappingArray","eachGroup","mapping","createElements","canDoGroupAnimation","yMinPoint","getYMinValue","minYPoint","defaultCfg","doGroupAppearAnimate","renderLabels","deletedElement","geometryLabel","getGroupAttributes","getDefaultValue","attrName","getAttributeValues","getAdjust","adjustType","getShapeMarker","shapeName","elementId","xVal","yVal","dodgeAdjust","dodgeBy","attributeType","eachOpt","groupFields","attributeName","obj1","obj2","updateStackRange","createShapePointsCfg","normalizeValues","y0","mappingDatum","shapeCfg","getDrawCfg","defaultStyle","getStyleCfg","nextPoints","subIndex","currentShapeCfg","preShapeCfg","getLabelType","coordinateType","labelType","attrCfg","attrType","sizes","colors10","colors20","AttributeCtor","categoryScales","groupedArray","groupData","beforeAdjust","subData","subLen","adjustData","adjustNames","dodgeRatio","columnWidthRatio","reverseOrder","adjustInstance","process","appendConditions","groups","mergeArray","tmpMin","tmpMax","currentData","generateShapePoints","nextData","shapeAttr","newRecord","names","val","mappingRecord","rstX","rstY","xLen","yLen","labelsMap","labelsRenderer","shapesMap","filterLabelsById","labelChildren","getChildren","transform","getMatrix","setMatrix","rotateRadian","lastShapesMap","createOffscreenGroup","renderLabel","renderLabelLine","currentShape","currentChild","deleteShape","content","shapeAppendCfg","labelGroup","isShape","layouts","labelItems","labelItem","labelLine","labelLineCfg","capture","getLabelItems","mapppingArray","labelCfgs","getLabelCfgs","labelCfg","labelContent","total","getLabelPoint","getLabelAlign","getLabelsRenderer","getGeometryShapes","getDefaultLabelCfg","setLabelPosition","labelPointCfg","getOffsetVector","getDimValue","centroid","xs","ys","former","current","getPolygonCentroid","point1","point2","align","defaultLabelCfg","labelScales","callbackCfg","originText","getLabelText","originValues","innerLabels","labelTexts","subVal","VERSION","antvDark","isValueEmpty","isYNil","getPathPoints","connectNulls","showSinglePoint","filtered","isStroke","isFill","sizeName","splitPoints","eachY","LineSymbols","dash","hv","vh","hvh","vhv","getLineMarker","symbol","lineWidth","getSinglePath","getPath","isStack","topPoints","bottomPoints","topPath","bottomPath","getRangePath","shapeAttrs","eachLinePoints","getShapeAttrs","getShapeInfo","getPointsAndData","registeredShape","reverse","pointsData","parsedPoints","pathPoints","eachPoints","getConstraint","pointInfo","yItem","startOnZero","paletteCache","prepareRange","prepareSize","blur","prepareGreyScaleBlurredCircle","drawWithRange","clearShadowCanvasCtx","colorField","row","getDefaultSize","grayScaleBlurredCanvas","getGrayScaleBlurredCanvas","r2","ctx","getContext","clearRect","shadowOffsetX","shadowOffsetY","shadowBlur","shadowColor","beginPath","arc","closePath","valueField","getShadowCanvasCtx","alpha","drawGrayScaleBlurredCircle","colored","getImageData","colorize","putImageData","imageShape","getImageShape","shadowCanvas","globalAlpha","drawImage","img","colorAttr","pixels","palette","gradient","getRectPoints","isPyramid","yMin","yMax","xMin","xMax","getRectPath","isClosed","firstPoint","getFunnelPath","xValues","sourceArr","findMinDistance","normalizedSize","wr","multiplePieWidthRatio","roseWidthRatio","mergeData","getDodgeCount","maxColumnWidth","minColumnWidth","xDimensionLength","normalizedMaxColumnWidth","normalizedMinColumnWidth","sizeAttr","hexagon","diffX","bowtie","diffY","cross","plus","hyphen","SHAPES","drawPoints","pointPosition","subX","subY","temp","xOffset","yOffset","getCPath","getQPath","getArcShapePath","arc1","arc2","getArcShapeWeightPath","c1","c2","getSmoothPath","getVHVPath","getTickPoints","getInterpolateShapeAttrs","interpolatePoints","interpolatePoint","nextX","nextY","middleX","middleY","interpolateCallback","getInterpolatePoints","getInterpolatePath","parseValue","min1","max1","median","getBoxPoints","pointsArray","halfSize","getCandleYValues","sorted","targetLength","padValue","padEnd","sourceLength","getCandlePoints","yValues","getRectAttrs","point0","HALF_PI","labelEmit","arcPoint","isToMiddle","getMiddlePoint","getArcPoint","middleAngle","getPointAngle","isLabelEmit","labelPositionCfg","getCirclePoint","getLabelRotate","labelAngle","asin","isLabelLimit","startPoint","endPoint","bitmap","xGap","yGap","hasGap","fillGap","adjustLabelPosition","doScaleAnimate","endMatrix","direct","scaledMatrix","applyToMatrix","transformShape","arcPath","getArcStartPoint","getArcInfo","arcPaths","command","firstArcPathCommand","lastArcPathCommand","firstIndex","firstStartPoint","lastStartPoint","firstStartAngle","firstEndAngle","lastStartAngle","lastEndAngle","doShapeZoom","getFactTitleConfig","getAnglePoint","renderTitle","avgAngle","facetR","middle","facetData","columnValue","columnField","columnIndex","columnValuesLength","rowValue","rowField","rowIndex","rowValuesLength","colValues","getPageCount","getRowCol","col","pageSize","columnTitle","rowTitle","facetIndex","columnValues","rowValues","afterChartRender","drawLines","rootFacet","getRows","getChildFacets","setRegion","forceColIndex","xWidth","yWidth","leafs","isLeaf","getFacetsByLevel","originColIndex","getRegionIndex","level","addFacetLines","subFacet","subRegion","middle1","middle2","drawLine","foregroundContainer","backgroundContainer","updateComponentFn","extra","getAnnotationTheme","getAnnotationCfg","createComponentFn","createAnnotation","updated","WeakMap","existCo","newCache","includeOption","isTop","NONE","ANNOTATION","image","dataMarker","dataRegion","regionFilter","parsePosition","xPos","yPos","parsePercentPosition","getNormalizedValue","getRegionPoints","startIndex","viewData","startXValue","endXValue","scaled","xPercent","yPercent","sp","ep","rest","textContent","autoAdjust","lineLength","elem","getComponentContainer","getGridThemeCfg","getLineGridItems","alignTick","getTicks","tickValue","preTick","currentTick","currentIndex","currentValue","middleValue","getCircleGridItems","preValue","showGrid","axisTheme","userGrid","themeGrid","OMIT_CFG","AXIS_DEFAULT_ANIMATE_CFG","gridContainer","axisContainer","updatedCache","updateXAxes","updateYAxes","xAxisOption","axisId","getId","gridId","getLineAxisCfg","createLineAxis","getLineGridCfg","createLineGrid","RADIUS","getCircleAxisCfg","createCircleAxis","getCircleGridCfg","CIRCLE","createCircleGrid","yAxisOption","titleText","axisThemeCfg","optionWithTitle","verticalFactor","isAxisVertical","verticalLimitLength","canvasWidth","canvasHeight","gridThemeCfg","gridCfg","verticalScale","directionToPosition","parentBBox","br","getMappingValue","restArgs","setMarkerSymbol","getLegendLayout","startsWith","getLegendOption","getDirection","createCustomLegend","LEGEND","loopLegends","createFieldLegend","layoutBBox","maxSize","getCategoryLegendSizeCfg","maxWidth","maxHeight","y1","x2","y2","getComponentById","customCfg","getCategoryCfg","getContinuousCfg","getGeometries","doEach","looped","createContinuousLegend","createCategoryLegend","containMin","containMax","attrValue","scaleValue","attrLegendCfg","rail","track","mergeLegendCfg","themeMarker","userMarker","customItems","getCustomLegendItems","unchecked","isInPolar","getLegendItems","baseCfg","categoryCfg","reversed","maxItemWidth","vw","onValueChanged","updateMinMaxText","updateSlider","createSlider","getSliderCfg","OTHER","trendCfg","dataSize","xTicks","xTickCount","minIndex","maxIndex","minText","maxText","isLocked","isVisible","getTitle","dataPoint","getTooltipCfg","follow","showMarkers","showContent","lastItems","lastTitle","tooltipMarkersGroup","renderTooltip","renderTooltipMarkers","isCrosshairsFollowCursor","renderCrosshairs","xCrosshair","yCrosshair","setCapture","guideGroup","tooltipCrosshairsGroup","findItemsFromView","snapItem","aItem","yDistance","uniqItems","subItem","enterable","parentNode","getTooltipMarkersGroup","crosshairsType","renderXCrosshairs","renderYCrosshairs","tooltipCfg","getViewWithGeometry","getTooltipCrosshairsGroup","getCrosshairsText","Line","textCfg","firstItem","getGuideGroup","getTooltipItemsByHitShape","getTooltipItemsByFindData","tooltipItems","childView","appendRatio","firstElement","lastElement","innterRadius","regionPath","timeStamp","lastTimeStamp","preLoc","location","curLoc","siblingPoint","tipContent","tooltipStyles","setElementState","enable","setStateEnable","clearViewState","getItem","ignoreListItemStates","isItemIgnore","setStateByComponent","setElementsStateByItem","setStateByElement","isMathItem","toggle","reset","active","getLinkPath","nextElement","nextBBox","addLinkShape","linkByElement","getElementsByField","linkGroup","nextEl","removeLink","link","unlink","isStarted","effectSiblings","effectByRecord","setSiblingsState","allElements","setSiblingsStateByRecord","setElementsState","effectElements","clearHighlight","setHighlightBy","ELEMENT_STATE","INACTIVE","ACTIVE","setElementHighlight","activeElements","highlight","highlightElements","selected","ignoreItemStates","getTriggerListInfo","info","getAllowComponents","allowSetStateByElement","clearAllComponentsState","clearItemsState","componentNames","allowSetStateByItem","ignoreStates","setItemsState","setItemState","getItems","triggerInfo","activeItems","getItemsByState","starting","moving","preMovePoint","emitEvent","createMask","maskAttrs","getMaskAttrs","draggable","updateMask","moveStart","move","currentPoint","moveEnd","resize","clampPoint","inPlot","normalStart","normalEnd","addPoint","getSpline","setCursor","cursor","pointer","crosshair","help","eResize","wResize","nResize","sResize","neResize","nwResize","seResize","swResize","nsResize","ewResize","filterView","unCheckedItems","getValue","getFilter","minValue","maxValue","dims","hasDim","normalCurrent","reRender","byRecord","filterByRecord","filterByBBox","maskElements","buttonGroup","buttonCfg","textStyle","activeStyle","getButtonCfg","drawButton","textBBox","buttonShape","resetPosition","dragStart","drag","isMoving","startMatrix","cfgFields","cacheScaleDefs","resetDim","startCache","noramlCurrent","translateDim","translateLinear","zoomRatio","zoomIn","zoom","zoomDim","zoomOut","dRatio","zoomLinear","toMin","toMax","greedy","Greedy","canFill","maxLabelsCountForOneSide","labelShapes","lineHeight","plotRange","isRight","overlapping","startY","totalHeight","MIN_VALUE","boxes","targets","pos","previousBox","posInCompositeBox","rPow2","dyPow2","textShape","antiCollision","innerPoint","itemX","itemY","maxTimes","dxdy","maxDelta","param","nt","times","accessedCache","spiralFill","regionMinX","regionMinY","regionMaxX","regionMaxY","finalX","finalY","labelHeight","endY","maxPos","minPos","totalR","smoothConnector","atan","sweepFlag","breakPoint","breakPoint3","xSign","slope1","slope2","fillOpacity","strokeOpacity","clipShape","pathCommands","curStartAngle","curEndAngle","preStartAngle","preEndAngle","diffStartAngle","diffEndAngle","onFrameStartAngle","onFrameEndAngle","getTotalLength","lineDashOffset","warning","Marker","onAttrChange","cx","cy","isHit","r4","Text","token","word","literal","shorten","sLen","newArr","monthUpdate","arrName","i18n","origObj","_i","_a","args_1","dayNames","monthNames","monthNamesShort","defaultI18n","dayNamesShort","amPm","DoFn","dayOfMonth","globalI18n","setGlobalDateI18n","regexEscape","replace","pad","String","formatFlags","D","dateObj","getDate","DD","Do","getDay","dd","ddd","dddd","M","getMonth","MM","MMM","MMMM","YY","getFullYear","YYYY","getHours","hh","H","HH","getMinutes","mm","getSeconds","ss","S","getMilliseconds","SS","SSS","A","toUpperCase","ZZ","getTimezoneOffset","Z","monthParse","emptyDigits","emptyWord","timezoneOffset","parts","match","minutes","parseFlags","cent","globalMasks","shortDate","mediumDate","longDate","fullDate","isoDate","isoDateTime","shortTime","mediumTime","longTime","setGlobalDateMasks","masks","getTime","literals","$0","$1","combinedI18nSettings","parse","dateStr","dateInfo","year","month","day","hour","minute","second","millisecond","isPm","parseInfo","newFormat","specifiedFields","requiredFields","regex","requiredField","matches","parser","dateWithoutTZ","validateFields","UTC","fecha","breaks","findAll","bboxA","bboxB","navigator","userAgent","interactionRange","interactionConfig","disposables","BaseInteraction","GLOBAL_INTERACTION_MAP","registerPlotInteraction","plotType","PLOT_INTERACTION_MAP","layerRange","fn","getViewLayer","getRange","getInteractionConfig","cubicAt","onet","G2_GEOM_MAP","column","PLOT_GEOM_MAP","adjustColor","conversionTag","responsive","applyResponsive","geometryParser","processedData","extractScale","adjustColumn","getGeom","positionFields","geometryTooltip","EventParser","getGeometryByType","stage","methods","method","registerPlotType","BaseColumnLayer","Group","glMatrix","fromMat4","fromValues","m00","m01","m02","m10","m11","m12","m20","m21","m22","identity","a01","a02","a00","b01","b11","b21","det","adjoint","determinant","multiply","b00","b02","b10","b12","b20","b22","rad","fromTranslation","fromRotation","fromScaling","fromMat2d","fromQuat","z2","xx","yx","yy","zx","zy","zz","wx","wy","wz","normalFromMat4","a03","a13","a23","a30","a31","a32","a33","b03","b04","b05","b06","b07","b08","b09","projection","frob","subtract","multiplyScalar","multiplyScalarAndAdd","exactEquals","equals","a0","a1","a2","a3","a4","a5","a6","a7","a8","b0","b1","b2","b3","b4","b5","b6","b7","b8","mul","cubicIn","cubicOut","cubicInOut","visibility","rendered","eventHandlers","getLayerBBox","layerRegion","getLayerRegion","removeLayer","updateBBox","recursive","originRange","newRange","updateBBoxByParent","getGlobalPosition","globalX","globalY","getGlobalBBox","globalPosition","parentWidth","parentHeight","parentX","parentY","initGroup","getGroup","getConfig","ext","radian","getPosition","mappingDatumIndex","getTextFill","getTextStroke","getTextAlign","getTextBaseLine","adjustPosition","labelRange","shapeRange","getElementShapeBBox","yPosition","dir","shapeColor","shapeOpacity","mappingColor","xValuesMin","xValueMax","yValuesMin","yValuesMax","registerLabelComponent","ColumnLabel","defaultGuidelineCfg","Opacity","Shape","Size","exp","shapeContainers","createStateManager","manager","_updateStateProcess","onStateChange","_stateChangeProcess","related","_getShapes","_getOriginAttrs","shapeOrigin","stateStyle","_getDefaultStateStyle","originAttr","setZIndex","_parserRelated","setStateCfg","_eventParser","onChangeCfg","geoms","shapeContainer","eventCfg","styleField","getComponentStateMethod","stateType","resetZIndex","_INDEX","RESPONSIVE_THEME_MAP","DEFAULT_RESPONSIVE_THEME","GEOM_MAP","markerPoints","lineSize","lineStyle","lineJoin","lineCap","wordSpacing","markerPoint","markerPointOpt","seriesField","trySetScaleMinToZero","addLine","getPlotOption","LineActive","LineSelect","singleLineLabelCheck","LineLayer","SCALE_MAPPER","cat","timeCat","axisInstance","getAxisInstance","shouldApply","responsiveTheme","rawLabels","shapeNodes","constraints","rules","nodes","onEnd","updateTicks","origion_nodes","getType","scaleType","axisIndex","tickLineContainer","bar","inputData","adjustBar","getLabelOptionsByPosition","BaseBarLayer","baseType","connectedArea","triggerOn","stackField","StackedColumnLayer","percent2Number","endsWith","CROOK_DISTANCE","adjustOverlap","overlapArea","prev","prevBox","currBox","near","checkInPanel","adjustItem","initArcPoints","drawTexts","getFilteredSum","angleField","filteredDataItem","allowOverlap","shapeInfos","shapeInfo","filteredSum","percent","panelBox","adjustText","rotateLabel","ellipsisTexts","getEllipsisText","itemGroups","anchor","arcPoints","inLeft","breakAt","getEndPoint","labelPosition","smoothPath","straightPath","linePath","scaleField","anchors","DAY_FIELD","WEEK_FIELD","DATE_FIELD","IS_MONTH_CENTER_FIELD","FORMATTER","MONTHS","WEEKS","divide","scaleAndAdd","squaredDistance","squaredLength","negate","inverse","normalize","lerp","hermite","factorTimes2","factor1","factor2","factor3","factor4","bezier","inverseFactor","inverseFactorTimesTwo","zScale","transformMat4","transformQuat","qx","qy","qz","qw","uvx","uvy","uvz","uuvx","uuvy","uuvz","w2","rotateX","rotateY","rotateZ","mag","cosine","vec","div","sqrDist","sqrLen","stride","arg","register_1","register","lineCount","offscreen_1","getOffScreenContext","util_1","xArr","yArr","catmullRom2Bezier","quadIn","quadOut","quadInOut","polyIn","polyOut","polyInOut","pi","halfPi","sinIn","sinOut","sinInOut","tpmt","expIn","expOut","expInOut","circleIn","circleOut","circleInOut","bounceIn","bounceOut","bounceInOut","backIn","overshoot","backOut","backInOut","tau","elasticIn","amplitude","period","elasticOut","elasticInOut","transformMat2","transformMat2d","sinC","cosC","startArrowShape","endArrowShape","isNumberEqual","EVENT_TYPES","_eventHandlers","_bindEvents","startEvent","processEvent","endEvent","resetEvent","_start","preStart","afterStart","_process","preProcess","afterProcess","_end","preEnd","afterEnd","_reset","preReset","afterReset","wrapBehavior","_unbindEvents","eh","G2DefaultTheme","convertThemeToG2Theme","plotG2Theme","_getPointRadius","smoothBezier","parseSize","parseColor","parseStyle","sizeProps","styleProps","datumIndex","overlap","isOverlapped","getGlobalTolerance","labelResamplingByChange","clearOverlapping","previous","findPrevious","currentCenter","previousCenter","distX","distY","overlapped","isBBoxIntersect","labelABBox","labelBBBox","labelsClone","PointLabel","DEFAULT_BAR_THEME","darkStyle","lightStyle","columnStyle","normal","disable","getTextBaseline","xPosition","BarLabel","autoRotateTitle","StackedBarLayer","transformDataPercentage","groupField","measures","chain","groupBy","vals","groupTotals","newData","itemIdx","fieldIdx","areaStyle","adjustArea","adjustLine","adjustPoint","lineConfig","AreaLayer","plotComponents","lineLabel","areaLabel","renderPlotComponents","getPlotComponents","StackedAreaLayer","DEFAULT_COLUMN_THEME","marginRatio","GroupedColumnLayer","percentageField","pie","pieStyle","labelComponent","labelConfig","allZero","LabelCtor","getPieLabel","getAngleScale","coordConfig","PieLayer","xOverlap","yOverlap","rose","sectorStyle","categoryField","radiusField","getRadiusScale","widthRatio","extractLabel","adjustRoseAdjust","adjustLabelOptions","labelOptions","RoseLayer","waterfall","VALUE_FIELD","IS_TOTAL","INDEX_FIELD","diffLabel","leaderLine","showTotal","waterfallStyle","adjustLegendOptions","adjustMeta","_parseStyle","_parseColor","plotData","prevValue","totalValue","isObject","rising","falling","legendOptions","metaOptions","valueFieldMeta","WaterfallLayer","advanceBy","ms","setMilliseconds","DAY_MS","dates","ds","curr","oneJan","rangeBackgroundStyle","rangeSize","statistic","subTickCount","pivot","thickness","pin","rangeSorted","valueText","initG2Shape","gaugeShape","GaugeShape","uniqueId","setOption","textPosition","offsetValue","annotationConfigs","statistics","renderStatistic","containerSize","GaugeLayer","defaultLineConfig","connectNull","defaultColumnConfig","defaultYAxisConfig","colorMapping","leftConfig","rightConfig","columnConfig","lineSeriesField","colors_20","seriesValue","getValueBySeriesField","checkData","customMeta","drawColumn","metaInfo","createLayer","customLegend","adjustLayout","containerDom","originItem","dataItemsA","getDataByXField","geomLayers","getUnCheckedValue","totalItems","legendCfg","symbols","createNormalLegend","createSingleLegend","multipleLegendFilter","legendFilter","Category","updateAutoRender","itemBackground","legendItems","filteredValue","legend_group","layerHide","showLayer","pull","hideLayer","lineData","ColumnLineLayer","parseToLines","lines","graph_event_1","quadraticAt","segments","nextParams","startTangent","endTangent","startMovePoint","lastStartMovePointIndex","segment","clip","hasAttribute","createDom","sortDom","afterAttrsChange","getDefaultAttrs","circle","square","diamond","triangle","triangleDown","createPath","Polyline","r1","r3","DAY","miniute","week","Controller","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","runClearTimeout","Item","noop","nextTick","browser","env","argv","version","versions","addListener","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","AbstractGroup","registerAdjust","Adjust","Attribute","registerCoordinate","registerScale","Scale","Annotation","Component","Crosshair","HtmlComponent","Grid","intersectRect","getElementsByPath","toPoints","getRegionBBox","it","textWrapper","tShape","wrappedTextArr","wrappedText","chars","breakIndex","breakText","combineFormatter","formatters","curText","getNoopFormatter","getPrecisionFormatter","getSuffixFormatter","suffix","_states","_stateStack","_onUpdate","getState","getAllStates","_changeTimer","stateStack","_triggerEvent","getDataByScaleRange","vertical","groupedData","newValues","measureTextWidth","memoize","font","fontWeight","fontStyle","fontVariant","measureText","leftText","DOT_WIDTH","currentText","currentWidth","leftWidth","GLOBAL_THEME_MAP","DEFAULT_GLOBAL_THEME","dark","DEFAULT_DARK_THEME","defaultTheme","COLOR_PLATE_10","COLOR_PLATE_20","DESCRIPTION_BOTTOM_MARGIN","legendPosition","TOP_BLEEDING","titleVisible","descriptionVisible","BOTTOM_BLEEDING","bleeding","alignWithAxis","lineDash","autoHideLabel","alignWithLabel","innerPadding","boxShadow","tooltipIndicator","inactiveStyle","itemTitle","PLOT_THEME_MAP","styleMapShape","pointStyle","g2Theme","geometryTheme","styleKey","_getColorMappingField","colorMappingField","parseShape","_parserNodes","measure","MathUtil","measureNodes","node","iterationTime","iterationIndex","rulesLocker","constraintIndex","currentConstraint","_run","onStart","_iteration","_applyRules","onIteration","constraintPassed","_constraintsTest","constraintsLib","constraintOption","usage","_constraintCompare","_constraintAssignment","expression","_chainConstraintCompare","_paddingConstraintCompare","_groupConstraintCompare","_chainConstraintAssign","_paddingConstraintAssign","ruleCfg","rule","rulesLib","_applyRule","elementDist","elementDistVertical","elementCollision","elementWidth","columnWidth","ringThickness","minRingThickness","textRotation","textAbbreviate","textHide","digitsAbbreviate","datetimeStringAbbrevaite","robustAbbrevaite","nodesResampling","nodesResamplingByAbbrevate","nodesResamplingByChange","nodesResamplingByState","nodeJitter","nodeJitterUpward","isNodeOverlap","nodeA","nodeB","_shape","getDateTimeMode","mapper","campareText","startText","endText","timeDuration","timeCycle","previousText","currentStamp","previousStamp","needAbbrevaite","cycle","getAbbrevaiteFormatter","sameSectionFormatter","unitMapper","abbravateDigitsByUnit","unitname","order","decimal","numbers","extractNumbers","unitNumber","getUnitByNumber","unitBit","intervalBit","remainder","remainderBit","getDigitsDecimal","getLinearNodesInterval","isKeep","keepCfg","oddKeep","keep","isOdd","abbravateText","abbreviateBy","labelShapesContainer","findAllByName","groupedMap","sortLabels","checkOriginEqual","datumLeft","datumRight","moveInPanel","downFail","checkShapeOverlap","PointAutoLabel","labelStyle","originPoints","lastPoint","_init","arrow","headSize","valueUpper","valueLower","shapeLower","shapeUpper","_drawTag","pointUpper","pointLower","_drawTagArrow","_drawTagValue","totalWidth","tagArrow","_fadeInTagShape","tagValue","textWidth","cWidth","cEnd","textAdjusted","shouldInShapeLabels","inShapeLabels","autoHideLabels","groupedLabels","curGroup","fillWhite","filteredLabels","filterLabels","todo","pages","BarAutoLabel","valuesOfKey","sortBy","defaultMeta","GroupedBarLayer","metaConfig","PercentStackedBarLayer","AreaPointLabel","adjustAreaLabelsStyle","areaGeometry","areas","getStrokePoints","bgColor","AreaPointAutoLabel","DEFAULT_AREA_THEME","fillStyle","PercentStackedAreaLayer","ColumnAutoLabel","SHAPE_EVENT_MAP","StackedColumnLabel","PercentStackedColumnLayer","html","isElement","wrapperNode","pointerEvents","htmlNode","setDomPosition","updateHtml","isType","innerHTML","updatePosition","removeChild","alignX","alignY","getOuterWidth","getOuterHeight","ring","totalLabel","triggerOff","DonutLayer","centralId","statisticClass","adjustLabelDefaultOptions","labelStyleConfig","scatter","quadrant","trendline","plotOptions","isValidLinearValue","xAxisType","yAxisType","timeLineInteraction","keyField","extractTooltip","ScatterLayer","confidence","quadrantLabel","quadrantLine","uid","Gauge","gauge","ringRadius","getAngleRange","starAngle","currentAngle","drawBarGauge","drawInSideAxis","drawGauge","drawOutSideAxis","drawAxis","drawPivot","drawBottomRing","drawRangeColor","drawCurrentRing","rangeStyle","valueToAngle","path2","drawRing","backgroundStyle","path3","startValue","drawRect","tickLineStyle","result1","sortedLastIndex","colorIndex","angleValue","xA1","yA1","xB1","yB1","thick","xA2","yA2","xB2","yB2","largeArcFlag","pivotConfig","bigCircle","smCircle","dirVec","angle1","angle2","progress","DEFAULT_COLOR","isEntered","processProps","barSize","getSize","barStyle","progressStyle","parseColorProps","styleUpdateAnimation","updateColorConfigByStyle","updateMarkers","markers","progressSize","progressContainer","rect","colorOption","markerLength","animationOptions","getUpdateAnimationOptions","progressShapes","ProgressLayer","mockData","getMockData","changeDataByIndex","LayerCtr","getLeftYAxisMax","leftScaleData","getScaleData","rightScaleData","colorValue","yAxisConfig","styleMap","yAxisGlobalConfig","getYAxisGlobalConfig","linearScale","isInteger","legendABBox","legendBBBox","leftPadding","transfromPadding","rightPadding","legendHeight","LEGEND_MARGIN","uniquePadding","setLocation","getYAxisContainer","setGeometryVisibility","axisCtr","axisGroups","uncheckedItems","viewMinX","viewMaxX","viewMinY","viewMaxY","mock","getShapeBase","BrowserInfo","os","NodeInfo","platform","SearchBotDeviceInfo","bot","BotInfo","ReactNativeInfo","SEARCHBOT_OS_REGEX","userAgentRules","operatingSystemRules","matchUserAgent","ua","matched","uaMatch","parseUserAgent","matchedRule","versionParts","output","ii","createVersionParts","detectOS","searchBotMatch","getNodeVersion","detect","product","browserName","LayerConfig","ViewConfig","PlotConfig","TinyLayerConfig","ProgressConfig","RingProgressConfig","TinyColumnConfig","TinyAreaConfig","TinyLineConfig","DualLineConfig","ColumnLineConfig","GroupedColumnLineConfig","StackedColumnLineConfig","registerResponsiveConstraint","IConstraint","registerResponsiveRule","registerResponsiveTheme","G2","calcDirection","xDistance","calcDistance","convertPoints","touches","touch","touchStart","startTime","startPoints","startDistance","pressTimeout","emitStart","eventType","touchMove","clearPressTimeout","currentDistance","getEventType","prevMoveTime","lastMoveTime","prevMovePoints","lastMovePoints","touchEnd","emitEnd","intervalTime","velocity","delegateEvent","isProcess","panEventListeners","getEvents","pan","util_2","text_1","totalLength","startRatio","minDistance","isUndefined","firstValue","Action","propagationDelegate","propertyMapping","themeConfig","_needDraw","_styleParser","localProps","_isVisible","_lineParser","_gridParser","_tickLineParser","_labelParser","_titleParser","propos","propsConfig","applyThemeConfig","alternateColor","restLabelProps","parseFormatter","titleConfig","getDefaultStyle","baseConfig","stateValue","_getState","toArray","extractXValue","_extractValues","getDefaultTextAlign","textConfig","originConfig","parseCallBack","labelProps","parseOffset","onActive","getAllAxisLabels","beforeCompare","disableStyle","axisComponentOption","labelArr","labelData","con","getAllLabels","geomLabels","POSITION_MAPPER","getPositionField","shouldActive","processState","expected","originItems","getValidScrollbarConfig","_cfg","categorySize","onChangeFn","paddingTop","paddingRight","paddingBottom","paddingLeft","thumbOffset","trackLen","renderScrollbar","measureScrollBar","changeViewData","getScrollRange","changeDataCallback","scrollbar","thumbLen","isHorizontal","cnt","xScaleCfg","yScalesCfg","clamp","startIdx","endIdx","origData","metaCfg","origAnimate","getValidSliderConfig","foregroundStyle","handlerStyle","renderSlider","getSliderData","getSliderConfig","getSliderMinMaxText","isArea","getSliderTrendData","getValidTimeLineConfig","loop","auto","speed","setAnimate","isAnimate","renderTimeLine","timeLineConfig","defaultCurrentTick","timeline","originAnimation","getFilterData","firstRender","isPlay","changePlayStatus","onTimeSelectMouseMove","stopPropagation","preventDefault","pageX","prevX","setTimeSelectX","onTimeSelectMouseUp","syncCurrnentTick","onTimeSelectMouseDown","renderPlayButton","renderTimeSelect","initEvent","timeLineButton","timeSelect","playHandler","cancelAnimationFrame","getTimeLinePath","timeLine","tickPosList","textList","lastX","timeSelectText","adjustTickIndex","timeSelectX","startPlay","isSync","initElement","updateElement","renderMarker","startMarker","getStartMarkerPath","pauseGroupMarker","pauseLeftMarker","pauseRightMarker","sideLength","TOOLTIP_INDICATOR_EVENTS","getValidTooltipIndicatorConfig","showPercent","isSingle","setStateByX","forEachElement","ACTIVE_ELEMENT","getXField","ACTIVE_ELEMENT_BY_X","setStateByField","xFieldValue","groupFieldValue","TooltipIndicationAction","onElementActive","selectItem","onSelectTooltipIndicatorItem","itemId","getInteractionAction","updateComponent","createComponent","ON_SELECT_ITEM","groupScale","selectedData","curDatum","ELEMENT_NAMES","EVENTS","PADDING","scrollWidth","onBodyGroupMousemove","itemGroup","findTargetAncestor","TOOLTIP_INDICATOR_ITEM_GROUP","itemData","doSelectItem","onWheel","offsetMin","offsetMax","newOffsetX","bodyGroup","offEvents","resetSelect","selectedItemId","spacingY","NORMAL","spacingX","SMALL","itemSpacing","LARGE","selectedItem","resetRender","innerGroup","TOOLTIP_INDICATOR_INNER","TOOLTIP_INDICATOR_BODY","renderItem","layoutItems","applyClip","TOOLTIP_INDICATOR_TITLE","oldX","oldY","TOOLTIP_INDICATOR_ITEM_BACKGROUND","renderLine","renderItemTitle","renderItemValues","itemGroupBBox","TOOLTIP_INDICATOR_ITEM_LINE","TOOLTIP_INDICATOR_ITEM_TITLE","itemBodyGroup","TOOLTIP_INDICATOR_ITEM_BODY","valueIndex","valueGroup","TOOLTIP_INDICATOR_ITEM_VALUE_GROUP","renderItemValueName","renderItemValueValue","layoutItemValues","TOOLTIP_INDICATOR_ITEM_NAME","wrapLine","TOOLTIP_INDICATOR_ITEM_VALUE","bodyGroupBBox","valueGroups","valueGroupBBoxes","valueShapeBBoxes","nameShape","valueShape","nameShapeBBox","valueShapeBBox","curItemData","applyItemStyle","lineShape","titleShape","itemNameShapes","itemValueShapes","styleName","itemNameShape","itemValueShape","gm","wheel","predicate","getParent","innerPaddingComponents","outerPaddingComponents","checkIfExist","getPaddingComponents","clearOuterComponents","_getInnerAutoPadding","components_bbox","_getCartesianAxis","_mergeBBox","_getLegend","panelPadding","_getPanel","globalBBox","bboxes","getAxisComponents","getLegendComponents","rightDist","leftDist","topDist","bottomDist","plotTheme","category","lineNumber","degree","dateTime","getCanvasSize","offsetWidth","offsetHeight","getCanvasDOM","globalTheme","styles","resizeObserver","unobserve","disconnect","bindForceFit","observe","initGCanvas","SVG","MapShim","getIndex","entry","class_1","__entries__","configurable","entries","isBrowser","global$1","global","self","Function","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","MutationObserver","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","refresh","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","addObserver","observer","connect_","removeObserver","observers","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","childList","characterData","subtree","_b","propertyName","getInstance","instance_","defineConfigurable","writable","getWindowOf","ownerDocument","defaultView","emptyRect","createRectInit","toFloat","getBordersSize","positions","getHTMLElementContentRect","clientWidth","clientHeight","getComputedStyle","paddings","positions_1","getPaddings","horizPad","vertPad","boxSizing","documentElement","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGGraphicsElement","SVGElement","getContentRect","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","isActive","broadcastRect","ResizeObserverEntry","rectInit","Constr","contentRect","DOMRectReadOnly","ResizeObserverSPI","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","clearActive","observation","ResizeObserver","addEvent","onEvents","eventObj","getEventObj","isShapeInView","onLayerEvent","onMove","shape1","shape2","lastShape","groupName","parentName","isPointInBBox","subLayers","LineConfig","TreemapConfig","StepLineConfig","BarConfig","StackedBarConfig","GroupedBarConfig","PercentStackedBarConfig","RangeBarConfig","AreaConfig","StackedAreaConfig","PercentStackedAreaConfig","ColumnConfig","GroupedColumnConfig","StackedColumnConfig","RangeColumnConfig","PercentStackedColumnConfig","PieConfig","DensityHeatmapConfig","HeatmapConfig","WordCloudConfig","RoseConfig","FunnelConfig","StackedRoseConfig","GroupedRoseConfig","RadarConfig","LiquidConfig","HistogramConfig","DensityConfig","DonutConfig","WaterfallConfig","ScatterConfig","BubbleConfig","BulletConfig","CalendarConfig","GaugeConfig","FanGaugeConfig","MeterGaugeConfig","layerProps","main","mini","isSmooth","topLinePoints","bottomLinePoints","getStraightPath","parseGradient","COLOR_MAPPER","_needParserColor","_getSizeProps","_getStyleProps","_needParseAttribute","sizeField","mappingField","_parseColorByField","getValuesByField","plotInfo","getPositionByRatio","dataPoints","currentX","animationConfig","shapeData","onFrame","yText","getDataByPosition","afterRenderResponsive","preRender","polygonA","polygonB","minThickness","vector_horizontal","mag_horizontal","adjustAngle","alignDirection","shapeBbox","shapeId","getShapeById","getShapeId","originX","originY","origin_position","nodesClone","getNodeByNumber","plotCfg","stateNodes","extract_data","min_node","max_node","median_node","getStateNodes","isState","isTime","wrapperText","ApplyResponsiveLineLabel","DEFAULT_STYLE","ACTIVE_STYLE","SELECTED_STYLE","getDataArray","_renderPoints","_addInteraction","dataItemIdx","dataum","isMatch","pointAttrs","imageUrl","_animatePoint","_renderLabel","pointShape","selectedPoint","_onActive","_onInactive","_onSelected","SelectedTooltipAction","TooltipController","SelectedTooltipController","curLocation","getPoint","getTooltipController","getLastXPoint","ActiveTooltipController","MarkerActiveAction","Treemap","maxLevel","isDrilldown","treemapData","getTreemapData","rootData","getAllNodes","depth","isNested","adjustStyleByDepth","rectStyle","interactionCfg","inter","Ctr","INTERACTION_MAP","showLabel","cliperHeight","getLabelHeight","parentLabelOffset","c_rows","x0","fillColorField","fieldName","PARENT_NODE_OFFSET","nested","TreemapLayer","sumValue","beta","newRatio","minRatio","nodeValue","dice","node_x","node_y","drilldown","startNode","itemWidth","itemHeight","currentNode","currentDepth","drillingDown","tempoData","initGeometry","saveOriginMapping","startNodeName","onInteraction","rootItem","getRootItem","parents","findParent","targetParent","rollingUp","updateRoot","previousDepth","mappingInfo","originMapping","mappingCfg","DrillDownInteraction","onItemGroupToggleActive","rectShape","itemActiveBackgroundStyle","itemBackgroundStyle","itemPadding","separator","separatorStyle","renderItems","startX","topPadding","bottomPadding","backgroundRect","class","textShapeBBox","backgroundRectAttr","sepShape","emitEventName","clickCallback","dblclickCallback","mouseEnterCallback","mouseLeaveCallback","getTemShapes","tem_shapes","getRect","hideLabel","transformMatrix","tem_container","groupTransform","findShapeByName","shrinkTemp","tailShape","tailWidth","abbreviateWidth","isLeafNode","adjustLeafLabel","adjustParentLabel","labelText","LEAF_LABEL_OFFSET","StepLineLayer","StepLine","Bar","StackedBar","StackedBarLabel","StackedBarAutoLabel","GroupedBar","PercentStackedBar","RangeBar","shapeCaches","setShapeCache","RangeBarLayer","leftStyle","rightStyle","getTextColor","getShapeBbox","la","lb","shapeMinX","shapeMaxX","shapeWidth","shapeCache","clipInFromCenter","updateFromCenter","fromPath","getShapeFromCache","toPath","animationName","Area","StackedArea","ComponentsInfo","componentInfo","interpolateY","leftPoint","rightPoint","getXIndex","scaleFactor","groupedPoints","labelPoints","pointArray","labelPoint","drawLabel","labelSize","getFontSize","autoScale","xRange","resolution","interpolatedPoints","getInterpolatedPoints","getLabelBbox","fitOption","aspect","justTest","bisection","testFit","fit","testOption","maxIteration","passesTest","x1_index","ceiling","ceilingFloor","StackedAreaPointLabel","StackedAreaPointAutoLabel","PercentStackedArea","Column","ApplyResponsiveColumnLabel","GroupedColumn","StackedColumn","_areaStyle","_lineStyle","groupedShapes","_getGroupedShapes","_drawConnection","_initialAnimation","_onDisabled","originColor","_getShapeStyle","mappedStyle","getClip","StackedColumnAutoLabel","RangeColumn","RangeColumnLayer","topStyle","bottomStyle","textBaeline","shapeMinY","shapeMaxY","shapeHeight","DEFAULT_OFFSET","clipInFromCenterVertical","updateFromCenterVertical","PercentStackedColumn","Pie","PieLabelConfig","PieLabels","inner","outer","prevLabel","resolveCollision","prevBBox","pos1","pos2","getOverlapInfo","yMover","actualPos","leftHalf","isLeft","_antiCollision","maxLabelsCount","labelBox","topLabels","bottomLabels","adjustLabels","isBottom","ry","maxLabelWidth","rx","rxPow2","ryPow2","boxCenter","distance_offset","_adjustOptions","halves","trueAngleField","polarRadius","targetAngle","anchorPoint","inflectionPoint","shapeIndex","_anchor","_inflection","_data","textGroup","_side","texts","formatted","textAttrs","lowerText","lowerTextAttrs","maxCountForOneSide","sidePadding","totalH","labelY","labelWidth","drawnLabels","_drawLabel","_drawLabelLine","x_dir","starter","DensityHeatmap","intensity","defaultConfig","DensityHeatmapLayer","prepareBlur","colorUtil","circleCanvas","grayScaleCanvas","circleRadius","globalCompositeOperation","Image","toDataURL","LinearHeatmap","renderColorBackground","renderImageBackground","dataSlides","getDarkOptions","getLayout","getDefaultWidth","getDefaultHeight","plotContainer","getScales","colorScale","renderHorizontal","renderVertical","legendLayout","addInteraction","origin_bbox","gridWidth","gridHeight","gridLineContainer","gridColors","valueStep","appendInfo","dataSlide","getDataSlide","gridlineStyle","plotWidth","plotHeight","getTopPosition","targetInfo","relativeData","getFilteredData","slide","heatmap","legendLabel","heatmapBackground","changeShape","mappingSize","disableMappingSize","getSizeScale","Heatmap","gridSize","gridAlign","circleToRect","rectToCircle","rectSizeMapping","circleSizeMapping","rectDisableSizeMapping","circleDisableSizeMapping","geomConfig","getGridSize","addRect","addCircle","styleConfig","shapeSize","sizeRatio","curvePath","getCircleCurve","rectPath","ps","offsetRatio","circlePath","getCirclePath","HeatmapLayer","getContent","interactiveEvents","colorStep","tickStep","gradientColor","ticklineStyle","tri_path","tri_height","anchorStyle","tri_width","geomEventHandler","moveAnchor","mouseleaveHandler","mouseleave","_toolTipsAction","dimension","_toolTips","weight","_configHoverAction","onWordCloudHover","_enableToolTips","enableToolTips","_initToolTips","_render","inPanel","_targetCanvas","maskImage","_handleMaskImage","crossOrigin","onload","naturalHeight","naturalWidth","_startWithMaskImage","onerror","_handleG2PlotConfig","targetCtx","wordStyle","rotation","minFontSize","maxFontSize","minRotation","maxRotation","_scaleMaskImageCanvas","_transformWhite2BlackPixels","maskImageCanvas","maskImageContext","bctx","fillRect","bgPixel","imageData","newImageData","createImageData","clearCanvas","maskCanvasScaled","imageSmoothingEnabled","newCfg","itemTpl","setImmediate","msSetImmediate","webkitSetImmediate","mozSetImmediate","oSetImmediate","postMessage","callbacks","message","stopImmediatePropagation","clearImmediate","msClearImmediate","webkitClearImmediate","mozClearImmediate","oClearImmediate","isSupported","fillText","hanWidth","mWidth","shuffleArray","WordCloud","tagName","settings","drawOutOfBound","drawMask","maskColor","maskGapWidth","abortThreshold","abort","rotateRatio","rotationSteps","shuffle","ellipticity","animatable","fontScale","classes","onWordCloudClick","interactionItems","fontKey","maxWeight","isCardioid","theta","thetaPrime","ngx","ngy","maxRadius","escapeTime","maskRectWidth","rotationRange","random_hsl_color","getTextClasses","hovered","twiceRender","interactive","infoGrid","getInfoGridFromMouseTouchEvent","currentTarget","getBoundingClientRect","eventX","eventY","defaultHoverAction","wordcloudhover","wordcloudclick","pointsAtRadius","getPointsAtRadius","T","exceedTime","getTextInfo","rotateDeg","getRealFontSize","mu","fcanvas","fctx","willReadFrequently","fw","fh","boxWidth","boxHeight","fgw","fgh","fillTextOffsetX","fillTextOffsetY","cgh","cgw","setAttribute","gy","occupied","gx","bounds","singleGridLoop","gw","gh","fillTextWidth","fillTextHeight","drawText","getInteractionItemById","save","transX","transY","restore","span","transformRule","styleRules","whiteSpace","webkitTransform","msTransform","transformOrigin","webkitTransformOrigin","msTransformOrigin","cssProp","fillGridAt","tryToPutWordAtPoint","gxy","canFitText","updateGrid","rot","putWord","sendEvent","cancelable","detail","createEvent","initCustomEvent","dispatchEvent","webkitTapHighlightColor","stopInteraction","loopingFunction","stoppingFunction","listener","anotherWordCloudStart","drawn","canceled","renderedWords","response","Rose","Funnel","_shouldResetPercentages","_shouldResetLabels","_shouldResetCompareTexts","_legendsListenerAttached","_onLegendContainerMouseDown","legendItem","refreshPercentages","refreshLabels","dynamicHeight","_findCheckedDataByMouseDownLegendItem","_genCustomFieldForDynamicHeight","compareField","_updateDataForCompare","refreshCompareTexts","adjustProps","_reduceDataForCompare","percentage","yValueUpper","yValueLower","compareText","adjustFunnel","funnel","funnelStyle","htmlContent","clss","elMarker","CONTAINER_CLASS","elRoot","TITLE_CLASS","elTitle","MARKER_CLASS","LIST_CLASS","pairs","compareValues","compareValue","LIST_ITEM_CLASS","elListItem","NAME_CLASS","VALUE_CLASS","appearDuration","_animationAppearTimeoutHandler","fadeInPercentages","fadeInCompareTexts","fadeInLabels","resetLabels","resetPercentages","resetCompareTexts","percentageContainer","_findPercentageContainer","compareTextContainer","_findCompareTextContainer","checkedData","_findCheckedDataInNewData","percentageLine","percentageText","percentageValue","adjustTimestamp","_eachShape","datumLower","datumUpper","_findPercentageMembersInContainerByIndex","valueWidth","textProc","valueProc","eachProc","lastBBox","members","currBBox","eachCalc","member","fadeOutPercentages","_calcRefreshFadeDurations","fadeOutDuration","createIfNotFound","lineId","textId","valueId","updateDuration","enterDuration","fadeInDuration","datumTop","_getGeometry","_getAdjustedTextFillByShape","__compare__","formatArgs","_findLabelInContainerByIndex","fadeOutLabels","shapeParentBBox","fadeOutCompareTexts","_findCheckedData","ratioUpper","ratioLower","dataLength","flags","uncheckedXValues","compareValueFirstVisited","newDatum","yValuesNext","yTotal","FunnelLayer","_getRectPoints","yRatios","yRatiosNext","yValueNext","_getFunnelPath","firstPointX","pointX","_getRectPath","funnelScaleInX","shapeTargetAttrs","funnelScaleInY","StackedRose","StackedRoseLayer","GroupedRose","GroupedRoseLayer","Radar","angleAxis","radiusAxis","gridType","RadarLayer","changeValue","Liquid","shouldFadeInAnnotation","liquidStyle","adjustLiquid","liquid","liquidSize","statisticConfig","extractStatistic","useHtmlContent","fadeInAnnotation","colorStyle","calcAnnotationColorStyle","forIn","darkColorStyle","waveColor","strokeWidth","LiquidLayer","adjustOptions","getTotalHtmlString","statisticContainer","getTemplate","ShapeUtil","ValueUtil","getLineAttrs","defaultAttrs","getWaterWavePositions","waveLength","getWaterWavePath","waterLevel","phase","curves","_phase","waveRight","cp","minP","getFillAttrs","waves","clipCircle","waveCount","wave","addWaterWave","liquidMoveIn","wrap","wrapTargetOpacity","wavesTargetMatrix","Histogram","binField","binWidth","binNumber","originData_copy","rangeWidth","_binWidth","_defaultBinNumber","bins","bin","getBin","binName","HistogramLayer","Density","kernels","epanechnikov","gaussian","uniform","quartic","triweight","cosinus","originXAxisConfig","kernel","kernelFunc","originDataCopy","_binNumber","samples","densities","density","kernelDensityEstimator","DensityLayer","Donut","triggerOnEvent","displayData","parseStatisticData","htmlString","getStatisticHtmlString","triggerOffEvent","getTotalValue","getStatisticSize","getStatisticTemplate","angleScale","statisticData","classId","containerStyle","Waterfall","linkPath","shapeBox","formatterValue","WaterfallLabel","formattedText","Scatter","quadrantGroups","regionData","xRegion","xBaseline","yBaseline","verticalLineData","horizontalLineData","topQuadrant","bottomQuadrant","rightTopQuadrant","rightBottomQuadrant","leftTopQuadrant","leftBottomQuadrant","getRegionStyle","getLabelConfig","regionStyle","REGRESSION_MAP","regressionExp","regressionLinear","loess","regressionLoess","regressionLog","poly","regressionPoly","regressionPow","quad","regressionQuad","showConfidence","confidenceStyle","reg","xscale_view","yscale_view","trendlineData","LinearScale","yRange","confidencePath","getConfidencePath","getTrendlinePoints","conf","rSquared","confidenceData","upperPoints","lowerPoints","y0Ratio","y1Ratio","viewScale","dataMin","minBy","dataMax","maxBy","maxRatio","trendMin","trendMax","inactive","Bubble","BubbleLayer","HOLLOW_SHAPES","Bullet","bullet","STACK_FIELD","X_FIELD","Y_FIELD","rangeColors","measureSize","markerSize","markerColors","ranges","bulletRect","bulletTarget","markerColor","measureColors","adjustYAxisOptions","dataOptions","dataIdx","valueIdx","BulletLayer","rangeBox","drawBulletTicks","ticksStyle","tickPosition","tickOffset","tickIdx","tickText","tickLineCfg","drawTarget","Calendar","dateField","dateRange","getDateRange","generateCalendarData","polygonConfig","monthWeek","getMonthCenterWeek","weeks","months","CalendarLayer","parseDateRange","fromDate","toDate","dateString","getWeek","monthWeekMap","append","isLastWeekOfMonth","isLastDayOfMonth","FanGauge","rangeColor","bottomRatio","1","siderTexts","renderSideText","allAnnotations","FanGaugeLayer","MeterGauge","MeterGaugeLayer","RingConfig","GroupColumnConfig","GroupBarConfig","PercentageStackAreaConfig","PercentageStackBarConfig","PercentageStackColumnConfig","StackAreaConfig","StackBarConfig","StackColumnConfig","Ring","GroupColumn","GroupBar","PercentageStackArea","PercentageStackBar","PercentageStackColumn","StackArea","StackBar","StackColumn","Progress","updateCfg","origin_attr","RingProgress","getThickness","RingProgressLayer","ringProgress","TinyColumn","columnSize","columnNumber","getColumnNum","TinyColumnLayer","onColumnClick","onColumnDblclick","onColumnMousemove","onColumnMousedown","onColumnMouseup","onColumnMouseenter","onColumnMouseleave","onColumnContextmenu","TinyArea","TinyAreaLayer","onAreaClick","onAreaDblclick","onAreaMousemove","onAreaMousedown","onAreaMouseup","onAreaMouseenter","onAreaMouseleave","onAreaContextmenu","onLineClick","onLineDblclick","onLineMousemove","onLineMousedown","onLineMouseup","onLineMouseenter","onLineMouseleave","onLineContextmenu","TinyLine","TinyLineLayer","DualLine","lineConfigs","serieField","spliceIndex","DualLineLayer","ColumnLine","GroupedColumnLine","groupedValue","getValueByGroupField","columnGroupField","columnData","mockA","mockB","GroupedColumnLineLayer","StackedColumnLine","stackedValue","getValueByStackField","columnStackField","StackedColumnLineLayer","isFinite","xv","yv","X","Float64Array","Y","ux","uy","visitPoints","iterations","determination","uY","predict","SSE","SST","sse","sst","interpose","xmin","xmax","LOG10E","iter","found","mp","ols","uX","uXY","uX2","delta","slope","domain","YL","XY","XYL","X2Y","ly","xy","X2","intercept","bandwidth","bw","yhat","residuals","robustWeights","i0","i1","W","denom","xk","yk","tricube","xkw","updateInterval","medianResidual","logarithmic","lx","quadratic","X3","X4","n0","X2X2","polynomial","coefficients","lhs","rhs","coef","gaussianElimination","uncenter","power","YS","Gesture"],"mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAgB,OAAID,IAEpBD,EAAa,OAAIC,IARnB,CASGK,QAAQ,WACX,O,YCTE,IAAIC,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUP,QAGnC,IAAIC,EAASI,EAAiBE,GAAY,CACzCC,EAAGD,EACHE,GAAG,EACHT,QAAS,IAUV,OANAU,EAAQH,GAAUI,KAAKV,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOQ,GAAI,EAGJR,EAAOD,QA0Df,OArDAM,EAAoBM,EAAIF,EAGxBJ,EAAoBO,EAAIR,EAGxBC,EAAoBQ,EAAI,SAASd,EAASe,EAAMC,GAC3CV,EAAoBW,EAAEjB,EAASe,IAClCG,OAAOC,eAAenB,EAASe,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEV,EAAoBgB,EAAI,SAAStB,GACX,oBAAXuB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAenB,EAASuB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAenB,EAAS,aAAc,CAAEyB,OAAO,KAQvDnB,EAAoBoB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQnB,EAAoBmB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFAxB,EAAoBgB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOnB,EAAoBQ,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRvB,EAAoB2B,EAAI,SAAShC,GAChC,IAAIe,EAASf,GAAUA,EAAO2B,WAC7B,WAAwB,OAAO3B,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAK,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG7B,EAAoBgC,EAAI,GAIjBhC,EAAoBA,EAAoBiC,EAAI,K,k2IClFrD,IAUe,EAVK,SAAS,GAOzB,OAAe,OAAV,GAAmC,mBAAV,GAAwB,SAAS,EAAM,SCE1D,EAPE,SAAS,EAAY,GAClC,QAAG,EAAY,IAGV,EAAI,QAAQ,IAAU,GCWhB,EAfA,SAAa,EAAU,GAClC,IAAG,EAAY,GACf,OAAO,EAGP,IADA,IAAI,EAAc,GACX,EAAQ,EAAG,EAAQ,EAAI,OAAQ,IAAS,CAC3C,IAAE,EAAQ,EAAI,GACd,EAAK,EAAO,IACd,EAAO,KAAK,GAIhB,OAAO,GCEM,EAJI,SAAY,EAAU,GACrC,YADqC,cAChC,EAAO,GAAK,SAAC,GAAe,OAAC,EAAS,EAAV,OCb/B,EAAW,GAAG,SAIL,EAFA,SAAC,EAAY,GAA0B,SAAS,KAAK,KAAW,WAAa,EAAtC,KCKvC,WAAC,GACd,OAAO,EAAO,EAAO,aCCR,EARD,SAAS,GAKnB,OAAK,SCJM,WAAC,GACd,OAAO,MAAM,QACX,MAAM,QAAQ,GACd,EAAO,EAAO,U,qOCLH,eAAa,GAOxB,IAAI,EAAI,EAAU,GAClB,OAAe,OAAV,GAA2B,WAAT,GAA8B,aAAT,GCmBjC,MAxBf,SAAe,EAA0B,GACvC,GAAK,EAIH,GAAE,EAAQ,GACV,IAAK,IAAI,EAAI,EAAG,EAAM,EAAS,OAAQ,EAAI,IAE7B,IADN,EAAK,EAAS,GAAI,GADsB,UAM3C,GAAI,EAAS,GAClB,IAAK,IAAM,KAAK,EACd,GAAI,EAAS,eAAe,KAEd,IADN,EAAK,EAAS,GAAI,GAEtB,OCPK,EAVF,OAAO,KAAO,YAAO,cAAO,KAAP,IAAmB,YACjD,IAAI,EAAS,GAMf,OALE,EAAG,GAAK,SAAC,EAAO,GACV,EAAW,IAAgB,cAAR,GACvB,EAAO,KAAK,MAGT,GCMM,MAbf,SAAiB,EAAU,GACvB,IAAI,EAAQ,EAAK,GACb,EAAS,EAAM,OACnB,GAAE,EAAM,GAAM,OAAQ,EACtB,IAAG,IAAI,EAAI,EAAG,EAAI,EAAQ,GAAK,EAAG,CAC9B,IAAE,EAAM,EAAM,GACd,KAAM,KAAS,EAAI,MAAU,KAAO,GAChC,OAAC,EAGT,OAAK,G,qOCbT,IAUe,EAVM,SAAS,GAO1B,MAAsB,WAAjB,EAAO,IAAgC,OAAV,GCgBvB,EApBO,SAAS,GAO3B,IAAG,EAAa,KAAW,EAAO,EAAO,UACzC,OAAO,EAEP,GAAmC,OAAjC,OAAO,eAAe,GACxB,OAAO,EAGP,IADA,IAAE,EAAQ,EAC4B,OAAjC,OAAO,eAAe,IAC3B,EAAQ,OAAO,eAAe,GAEhC,OAAO,OAAO,eAAe,KAAW,GCQ3B,MApBf,SAAiB,EAAU,GACvB,IAAG,EAAQ,GAAM,OAAO,KAExB,IAAE,EAOF,GANE,EAAW,KACb,EAAa,GAEX,EAAc,KACZ,EAAS,YAAK,SAAQ,EAAR,KAEhB,EACE,IAAC,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,GAAK,EACnC,GAAI,EAAW,EAAI,IACjB,OAAO,EAAI,GAIjB,OAAO,MCdM,MAXf,SAAsB,EAAU,EAA+C,qBAC3E,IAAG,IAAI,EAAI,EAAW,EAAI,EAAI,OAAQ,IACtC,GAAI,EAAU,EAAI,GAAI,GAEd,OAAC,EAIT,OAAM,GCYK,EAjBI,SAAS,EAAgB,GAExC,IADA,IAAE,EAAM,KACD,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CAChC,IACE,EADM,EAAK,GACC,GACd,IAAC,EAAM,GAAQ,CAEf,EADE,EAAQ,GACJ,EAAM,GAEN,EAEF,OAGR,OAAK,GCKM,EAXC,SAAa,GACzB,IAAG,EAAQ,GACX,MAAO,GAGP,IADA,IAAE,EAAW,GACN,EAAI,EAAG,EAAI,EAAI,OAAQ,IAC9B,EAAM,EAAI,OAAO,EAAI,IAEvB,OAAO,GCIM,EAXK,SAAd,EAAuB,EAAY,GACrC,QADqC,cAClC,EAAQ,GAGX,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,GAAK,EACnC,EAAY,EAAI,GAAI,QAHlBC,EAAG,KAAK,GAMZ,OAAK,GCWM,EAxBE,SAAU,GAEvB,IAAE,EAAe,EAAO,QAAO,SAAC,GAAM,OAAC,MAAD,MACtC,IAAG,EAAa,OACZ,MAAG,CACL,IAAK,EACC,IAAD,GAGP,GAAE,EAAQ,EAAO,IAAK,CAEtB,IADA,IAAI,EAAM,GACD,EAAI,EAAGhC,EAAI,EAAO,OAAQ,IACjC,EAAM,EAAI,OAAO,EAAO,IAEtB,EAAW,EAEjB,IAAM,EAAM,KAAK,IAAI,MAAM,KAAM,GAEjC,MAAO,CACL,IAFU,KAAK,IAAI,MAAM,KAAM,GAG/B,IAAG,IC3BD,EAAe,MAAM,UACrB,EAAS,EAAa,OACtB,EAAU,EAAa,QAad,EAXF,SAAY,G,IAAU,wDAC/B,IAAG,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,IAGjC,IAFI,IAAE,EAAQ,EAAO,GACjB,GAAa,GACT,EAAY,EAAQ,KAAK,EAAK,KAAW,GAC/C,EAAO,KAAK,EAAK,EAAW,GAG9B,OAAK,GCVH,EAAS,MAAM,UAAU,OAoBhB,EAlBA,SAAoB,EAAU,GACzC,IAAG,EAAY,GACf,MAAO,GAKP,IAHA,IAAE,EAAS,EAAM,EAAQ,OAAS,EAC9B,EAAO,EAAS,EAEf,KAAU,CACX,WAAQ,EACN,EAAQ,EAAQ,GAClB,IAAW,GAAQ,IAAU,IAC/B,EAAW,EACX,EAAO,KAAK,EAAK,EAAO,IAG5B,OAAO,GCJM,EAXA,SAAe,EAAU,EAA4C,GAChF,IAAG,EAAQiC,KAAS,EAAc,GAClC,OAAO,EAEP,IAAE,EAAS,EAIb,OAHE,EAAG,GAAK,SAAC,EAAM,GACf,EAAS,EAAG,EAAQ,EAAM,MAErB,GCiBM,EA1BA,SAAY,EAAU,GAOjC,IAAI,EAAS,GACb,IAAG,EAAY,GACf,OAAO,EAMP,IAJA,IAAE,GAAK,EACH,EAAU,GACV,EAAS,EAAI,SAEV,EAAI,GAAQ,CACf,IAAE,EAAQ,EAAI,GACd,EAAU,EAAOjC,EAAG,KACtB,EAAO,KAAK,GACZ,EAAQ,KAAK,IAIjB,OADA,EAAO,EAAK,GACL,GCxBM,WAAC,GACd,OAAO,EAAO,EAAK,WCsCN,MA7Bf,SAAoB,EAAsB,GACtC,IAAE,EACF,GAAE,EAAW,GACT,EAAO,SAAC,EAAG,GAAM,SAAI,GAAK,EAAT,QAChB,CACD,MAAO,GACP,EAAS,GACL,EAAD,KAAK,GACD,EAAQ,KACX,EAAC,GAEL,EAAO,SAAC,EAAG,GACP,IAAD,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ,GAAK,EAAG,CACvC,IAAM,EAAO,EAAK,GAClB,GAAI,EAAE,GAAQ,EAAE,GACd,OAAO,EAET,GAAI,EAAE,GAAQ,EAAE,GACd,OAAQ,EAGZ,OAAO,GAKX,OADA,EAAI,KAAK,GACF,GCzBM,EAVF,SAAS,GAClB,IAAI,EAAY,GAMlB,OALE,EAAG,GAAK,YACH,EAAS,EAAW,IACvB,EAAU,KAAK,MAGZ,GCJM,EAJD,W,IAAS,sDACnB,OAAK,EAAK,GAAG,OAAM,MAAT,GAAa,KCAZ,WAAC,EAAa,GAIzB,IAHA,IAAI,EAAM,GACN,EAAS,GAEN,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CAChC,IACA,EADQ,EAAK,GACD,GAEZ,IAAC,EAAM,GAAQ,CAEZ,EAAQ,KACH,GAAE,IAEN,IAAD,IAAI,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAK,CAC7B,IAAF,EAAM,EAAM,GAEb,EAAO,KACV,EAAI,KAAK,GACT,EAAO,IAAO,KAMtB,OAAO,GCzBK,SAAU,EAAK,GACzB,GAAE,EAAY,GACd,OAAwB,EAAG,GCFjB,SAAU,EAAK,GACzB,GAAE,EAAYS,GAAI,CAElB,OADY,IACG,OAAS,ICIb,MAJf,SAAuB,EAAmB,GACxC,SAAQ,EAAQ,KAAQ,EAAS,KAAQ,EAAI,KAAO,GCGvC,MAJf,SAAqB,EAAmB,GACtC,SAAQ,EAAQ,KAAQ,EAAS,KAAQ,EAAI,EAAI,OAAS,KAAO,GCOpD,EARD,SAAa,EAAU,GACjC,IAAG,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,IAC1B,IAAC,EAAK,EAAI,GAAIT,GAAI,OAAO,EAG7B,OAAK,GCGM,EARF,SAAa,EAAU,GAChC,IAAG,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,IAC1B,KAAK,EAAI,GAAIA,GAAI,OAAO,EAG5B,OAAK,GCPH,EAAiB,OAAO,UAAU,eA+BzB,MAvBf,SAAoB,EAAW,GAC3B,IAAG,IAAc,EAAQ,GACrB,MAAG,GAQP,IANA,IAKE,EALE,EAAwB,GAGxB,EAAY,EAAW,GAAa,EAAY,SAAC,GAAS,aAGvD,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,IAAM,EAAO,EAAK,GAClB,EAAM,EAAU,GACZ,EAAe,KAAK,EAAQ,GAC9B,EAAO,GAAK,KAAK,GAEjB,EAAO,GAAO,CAAE,GAIpB,OAAO,GCPM,EApBI,SAAU,EAAM,GAC/B,IAAG,EACC,MAAG,CACL,EAAG,GAGL,IAAG,EAAW,GAAY,CACtB,IAAE,EAAkB,EAAQ,GAAa,EAAY,EAAU,QAAQ,OAAQ,IAAI,MAAM,KACzF,EAAQ,SAAU,GAEd,IADA,IAAF,EAAS,IACJ,EAAI,EAAG,EAAI,EAAgB,OAAQ,EAAI,EAAG,IACjD,GAAU,EAAI,EAAgB,KAAO,EAAI,EAAgB,IAAI,WAE/D,OAAO,GAIX,OADe,EAAQ,EAAM,IClBhB,WAAI,EAAW,GAC5B,IAAK,EAEH,MAAO,CAAE,GAEX,IAAM,EAAS,EAAW,EAAM,GAC1B,EAAQ,GACZ,IAAG,IAAM,KAAK,EACd,EAAM,KAAK,EAAO,IAElB,OAAK,GCAM,MAJf,SAAyB,EAAa,GACpC,OAAO,EAAI,SAAW,ICUT,MAXf,SAAsB,EAAa,GAC/B,GAAE,EAAI,SAAW,GACjB,OAAO,EAAI,SAAW,GAEtB,IAAI,EAAS,YACb,EAAI,GAAQ,IAGd,OADE,EAAE,SAAW,GAAU,EAClB,GChBH,EAAgB,GAgBP,MAdf,SAAuB,GAEnB,IAAE,EAAQ,EAAc,GACxB,IAAG,EAAO,CAEN,IADA,MAAM,EAAI,SAAS,IACd,EAAI,EAAI,OAAQ,EAAI,EAAG,IAC9B,EAAM,IAAM,EAEV,EAAI,IAAM,EACd,EAAc,GAAO,EAEvB,OAAO,GC+BM,MAhCf,SAAqB,GACjB,IAAE,EAAK,EACP,EAAK,EACL,EAAK,EACL,EAAK,EAoBP,OAnBI,EAAQ,GACY,IAAlB,EAAO,OACH,EAAD,EAAK,EAAK,EAAK,EAAO,GACA,IAAlB,EAAO,QAChB,EAAK,EAAK,EAAO,GACjB,EAAK,EAAK,EAAO,IACU,IAAlB,EAAO,QAChB,EAAK,EAAO,GACZ,EAAK,EAAK,EAAO,GACjB,EAAK,EAAO,KAEZ,EAAK,EAAO,GACZ,EAAK,EAAO,GACZ,EAAK,EAAO,GACZ,EAAK,EAAO,IAGd,EAAK,EAAK,EAAK,EAAK,EAEf,CACL,GAAE,EACF,GAAE,EACF,GAAE,EACF,GAAE,IC/BS,GATD,SAAS,EAAW,EAAa,GAC3C,OAAE,EAAI,EACC,EACE,EAAI,EACN,EAEF,GCOM,GAbG,SAAS,EAAW,GAClC,IAAIkC,EAAMC,EAAKC,WACXC,EAAQH,EAAII,QAAQ,KACxB,IAAa,IAAX,EACE,OAAG,KAAK,MAAM,GAElB,IAAE,EAAS,EAAI,OAAO,EAAQ,GAAG,OAIjC,OAHE,EAAS,KACPC,EAAK,IAEJ,WAAW,EAAE,QAAQ,KCDf,GAHE,SAAS,GACxB,OAAO,EAAO,EAAO,WCDR,GAJG,SAAS,GACzB,OAAO,GAAS,IAAQ,EAAM,GAAM,GCGvB,GAJA,SAAS,GACtB,OAAO,GAAS,IAAQ,EAAM,GAAM,GCGvB,GAJG,OAAO,UAAY,OAAO,UAAY,SAAS,GAC/D,OAAO,GAAS,IAAQ,EAAM,GAAM,GCGvB,GAJI,SAASC,GAC1B,OAAO,GAAS,IAAQ,EAAM,GCDlB,SAAU,GAAc,EAAW,EAAW,GAC1D,YAD0D,UAF1C,MAGT,KAAK,IAAK,EAAI,GAAMC,ECD7B,IAIe,GAJD,SAAS,GACrB,OAAO,GAAS,IAAQ,EAAM,GAAM,GCGvB,GAJI,SAASD,GAC1B,OAAO,GAAS,IAAQ,EAAM,GCcjB,YAAI,EAAU,GACzB,GAAG,EAAQ,GAAX,CAGA,IACE,EAMA,EAPA,EAAM,EAAI,GAmBZ,OAhBIE,EADF,EAAW,GACH,EAAG,EAAI,IAEP,EAAI,GAAG,GAGjB,EAAG,GAAK,aAEN,EADE,EAAW,GACN,EAAG,GAEH,EAAI,IAEF,IACT,EAAM,EACN,EAAU,MAGP,ICtBM,YAAI,EAAU,GACzB,GAAG,EAAQ,GAAX,CAGA,IACE,EAMA,EAPA,EAAM,EAAI,GAmBZ,OAhBA,EADE,EAAW,GACH,EAAG,EAAI,IAEP,EAAI,GAAG,GAGjB,EAAG,GAAK,aAEAC,EADJ,EAAW,GACN,EAAG,GAEH,EAAI,IAEF,IACT,EAAM,EACA,EAAI,MAGP,ICrCM,GAJH,SAAS,EAAW,GAC9B,OAASlB,EAAI,EAAK,GAAK,GCDnB,GAAS,IAAM,KAAK,GAMX,GAJE,SAAS,GACxB,OAAO,GAAS,GCHH,YCAT,GAAS,KAAK,GAAK,IAMV,GAJE,SAAS,GACxB,OAAO,GAAS,GCDH,KCFA,YAAC,EAAa,GAAsB,SAAI,eAAJ,ICCpC,MCaA,GAVA,OAAO,OAAS,YAAO,cAAO,OAAP,IAAqB,YACvD,IAAI,EAAS,GAMf,OALE,EAAG,GAAK,SAAC,EAAO,GACV,EAAW,IAAgB,cAAR,GACvB,EAAO,KAAK,MAGT,GCRM,YAAC,EAAa,GAAwB,SAAS,GAAO,GAAhB,ICDtC,YAAC,GACd,OAAI,EAAM,GAAe,GAClB,EAAM,YCEA,GAJG,SAAS,GACzB,OAAO,GAAS,GAAK,eCIR,GALI,SAAS,GACxB,IAAI,EAAM,GAAS,GACrB,OAAO,EAAI,OAAO,GAAG,cAAgB,EAAI,UAAU,ICYtC,OAZf,SAAwB,EAAa,GACjC,OAAG,GAAQ,EAGN,EAAI,QAAQ,oBAAoB,SAAC,EAAO,GAC7C,MAAwB,OAApB,EAAM,OAAO,GACR,EAAM,MAAM,QAED,IAAZ,EAAE,GAAuB,GAAK,EAAE,MANjC,GCAI,GAJG,SAAS,GACzB,OAAO,GAAS,GAAK,eCIR,GALI,SAAS,GAC1B,IAAM,EAAM,GAAS,GACnB,OAAK,EAAI,OAAO,GAAG,cAAgB,EAAI,UAAU,ICJ/C,GAAW,GAAG,SAML,GAJC,SAASR,GACvB,OAAO,GAAS,KAAK,GAAO,QAAQ,aAAc,IAAI,QAAQ,KAAM,KCSvD,GAJK,SAAS,GAC3B,OAAO,EAAO,EAAO,cCGR,GAJG,SAAS,GACzB,OAAO,EAAO,EAAO,YCHR,GAJA,SAAS,GACtB,OAAO,EAAO,EAAO,SCSR,GAJC,SAAS,GACvB,OAAO,EAAO,EAAO,UCHT,YAAU,GACpB,OAAO,GAAS,IAAU,SAAS,ICHxB,GAJA,SAAS,GACpB,OAAe,OAAV,GCDH,GAAc,OAAO,UAQZ,GANK,SAAS,GACzB,IAAI,EAAO,GAAS,EAAM,YAE5B,OAAO,KADwB,mBAAT,GAAuB,EAAK,WAAc,KCEnD,GAJE,SAAS,GACxB,OAAO,EAAO,EAAK,WCCN,GAJK,SAAS,GACzB,YAAe,IAAV,GCMM,GAHG,SAAS,GACvB,OAAK,aAAa,SAAW,aAAa,cCLhC,SAAU,GAAsB,GAW1C,OAVa,OAAO,uBACpB,OAAO,6BAEL,OAAK,0BAEL,OAAK,yBACP,SAAS,GACP,OAAO,WAAW,EAAG,MAGX,GCXF,SAAU,GAAqB,IAC5B,OAAO,sBACpB,OAAO,4BAEL,OAAK,yBAEL,OAAK,wBACP,cAEK,GCRT,SAAS,GAAmB,EAAqB,GAC/C,IAAK,IAAM,KAAO,EACZ,EAAI,eAAe,IAAgB,gBAAR,QAAsC,IAAb,EAAI,KACpD,EAAM,GAAO,EAAI,IAKf,SAAU,GAAmB,EAAwB,EAAU,EAAU,GAInF,OAHE,GAAM,GAAK,EAAM,GACjB,GAAM,GAAK,EAAM,GACjB,GAAM,GAAK,EAAM,GACd,ECTT,IAWe,GAXC,W,IAAS,sDAErB,IADA,IAAI,EAAI,EAAK,GACN,EAAI,EAAG,EAAI,EAAK,OAAQ,IAAK,CACpC,IAAI,EAAM,EAAK,GACX,EAAW,KACb,EAAM2B,EAAI,WAER,KAAE,UAAW,K,uOCTrB,IA4Be,GA5BD,SAAR,EAAiB,GACnB,GAAiB,WAAf,GAAO,IAA4B,OAAR,EAC7B,OAAO,EAEP,IAAE,EACF,GAAE,EAAQ,GAAM,CACZ,EAAE,GACF,IAAC,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,EAAI,EAAG,IACf,WAAlB,GAAO,EAAI,KAA6B,MAAV,EAAI,GACpC,EAAI,GAAK,EAAM,EAAI,IAEXC,EAAJ,GAAK,EAAI,QAKb,IAAC,IAAM,KADX,EAAM,GACU,EACQ,WAAlB,GAAO,EAAI,KAA6B,MAAV,EAAI,GACpC,EAAI,GAAK,EAAMD,EAAIE,IAEnB,EAAI,GAAK,EAAI,GAKjB,OAAK,GCNM,OApBf,SAAkB,EAAgB,EAAe,GAC7C,IAAE,EACF,OAAK,WACD,IAAE,EAAU,KACd,EAAO,UACH,EAAQ,WACN,EAAI,KACL,GACH,EAAK,MAAM,EAAS,IAGlB,EAAU,IAAc,EAC1B,aAAS,GACT,EAAM,WAAW,EAAO,GACxB,GACF,EAAK,MAAM,EAAS,KCRX,YAAC,EAAa,GACzB,IAAG,EAAW,GACd,MAAM,IAAI,UAAU,uBAGpB,IAAI,EAAW,SAAX,I,IAAoB,sDAEpB,IAAE,EAAM,EAAW,EAAS,MAAM,KAAM,GAAQ,EAAK,GACnD,EAAQ,EAAS,MAEnB,KAAM,IAAI,GACZ,OAAO,EAAM,IAAI,GAEf,IAAE,EAAS,EAAE,MAAM,KAAM,GAGzB,OADA,EAAE,IAAI,EAAK,GACR,GAKT,OAFEC,EAAO,MAAQ,IAAI,IAEd,GCxBT,SAAS,GAAS,EAAM,EAAK,EAAQ,GAGjC,IAAG,IAAM,KAFT,EAAM,GAAS,EACf,EAAS,GAJS,EAKF,EACZ,KAAI,eAAe,GAAM,CACrB,MAAQ,EAAI,GACJ,OAAV,GAAkB,EAAc,IAC7B,EAAc,EAAK,MACtB,EAAK,GAAO,IAEV,EAAQ,EACV,GAAS,EAAK,GAAM,EAAO,EAAQ,EAAG,GAEtC,EAAK,GAAO,EAAI,IAET,EAAQ,IACTC,EAAH,GAAO,GACJA,EAAH,GAAO,EAAK,GAAK,OAAO,SACV,IAAV,IACT,EAAK,GAAO,IAOpB,IAOe,GAPC,SAAS,G,IAAS,wDAC9B,IAAG,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ,GAAK,EACpC,GAAS,EAAK,EAAK,IAEnB,OAAK,GCAM,GAhCA,SAAS,EAAU,EAAY,EAAY,GAEnD,EAAW,KACV,EAAQ,EACR,EAAS,EACb,EAAW,cAGX,IAAI,EAAS,OAAO,OACpB,SAAS,EAAO,GACV,OAAG,OAAO,OAAO,EAAO,CACpB,YAAO,CACX,MAAO,MAIb,SAAS,EAAO,GACV,SAAK,KACL,YAAY,EACZ,IAAE,EAAI,IAAI,EAEd,OADA,EAAE,YAAc,EACT,GAGLC,EAAW,EAAO,EAAW,UAAW,GAK9C,OAJE,EAAO,UAAY,GAAI,EAAU,EAAS,WAC1C,EAAO,WAAa,EAAO,EAAW,UAAW,GACnD,GAAI,EAAU,GACd,GAAI,EAAU,GACP,GCXM,GAnBC,SAAa,EAAU,GACnC,IAAG,EAAY,GACf,OAAQ,EAER,IAAI7C,EAAI,MAAM,UAAU,QACxB,GAAE,EACF,OAAO,EAAE,KAAK,EAAK,GAInB,IAFA,IAAE,GAAS,EAEJ,EAAI,EAAG,EAAI,EAAI,OAAQ,IAC1B,KAAI,KAAO,EAAK,CAClB,EAAQ,EACR,MAGJ,OAAO,GCbH,GAAiB,OAAO,UAAU,eAiCzB,OA/Bf,SAAiB,GAUb,GAAE,EAAM,GACR,OAAO,EAEP,GAAE,EAAY,GACd,OAAQ,EAAM,OAEd,IAAI,EAAO,GAAQ,GACnB,GAAW,QAAT,GAA2B,QAAT,EACpB,OAAQ,EAAM,KAEd,GAAE,GAAY,GACd,OAAQ,OAAO,KAAK,GAAO,OAE3B,IAAG,IAAM,KAAO,EACZ,MAAe,KAAK,EAAO,GAC7B,OAAO,EAGX,OAAO,GCUM,GAzCC,SAAV,EAAW,EAAY,GAC3B,GAAI,IAAU,EACZ,OAAO,EAEP,IAAG,IAAU,EACb,OAAO,EAEP,GAAE,EAAS,IAAU,EAAS,GAC9B,OAAO,EAEP,GAAE,EAAY,IAAU,EAAY,GAAQ,CAC5C,GAAI,EAAM,SAAW,EAAM,OACzB,OAAO,EAGL,IADA,OAAM,EACD,EAAI,EAAG,EAAI,EAAM,SACxB,EAAM,EAAQ,EAAM,GAAI,EAAM,KADE,KAM9B,OAAG,EAEP,GAAE,EAAa,IAAU,EAAa,GAAQ,CAC9C,IAAM,EAAY,OAAO,KAAK,GACxB,EAAY,OAAO,KAAK,GAC1B,KAAU,SAAW,EAAU,OACjC,OAAO,EAGL,IADA,GAAM,EACD,EAAI,EAAG,EAAI,EAAU,SAC5B,EAAM,EAAQ,EAAM,EAAU,IAAK,EAAM,EAAU,MADf,KAMlC,OAAG,EAEP,OAAK,GCjBM,YAAI,EAAU,EAAU,GACnC,OAAG,EAAW,KAGP,EAAG,EAAO,GAFV,GAAQ,EAAO,ICXX,GAdH,SAAQ,EAAU,GAC1B,IAAG,EAAY,GAEf,OAAO,EAIP,IAFA,IAAI,EAAc,GAEX,EAAQ,EAAG,EAAQ,EAAI,OAAQ,IAAS,CAC/C,IAAM,EAAQ,EAAI,GAClB,EAAO,KAAK,EAAK,EAAO,IAE1B,OAAO,GCVH,GAAW,SAAI,GAAY,UAMlB,YAAI,EAA8B,sBAC7C,IAAI,EAAc,GAOpB,OANI,EAAS,KAAY,EAAM,IAC7B,OAAO,KAAK,GAAQ,SAAQ,YAE1B,EAAE,GAAO,EAAK,EAAO,GAAM,MAGxB,GCVM,YAAC,EAAU,EAAqB,GAK3C,IAJA,IAAE,EAAI,EAEF,EAAS,EAAS,GAAO,EAAI,MAAM,KAAO,EAEzC,GAAO,EAAI,EAAO,QACvB,EAAM,EAAI,EAAO,MAGnB,YAAgB,IAAR,GAAqB,EAAI,EAAO,OAAU,EAAe,GCNpD,YAAC,EAAU,EAAsB,GAC5C,IAAE,EAAI,EAEF,EAAS,EAAS,GAAQ,EAAK,MAAM,KAAO,EAclD,OAZE,EAAK,SAAQ,SAAC,EAAsB,GAEhC,EAAM,EAAO,OAAS,GACnB,EAAS,EAAE,MACd,EAAE,GAAO,GAAS,EAAO,EAAM,IAAM,GAAK,IAEtCK,EAAF,EAAE,IAEN,EAAE,GAAO,KAIN,GCxBH,GAAiB,OAAO,UAAU,eAiBzB,YAAI,EAAuB,GACxC,GAAe,OAAX,IAAoB,EAAc,GACpC,MAAO,GAET,IAAM,EAAwB,GAM9B,OALA,EAAK,GAAM,YACL,GAAe,KAAK,EAAQ,KAC9B,EAAO,GAAO,EAAO,OAGlB,GCzBM,YAACyC,EAAgB,EAAc,GAC1C,IAAE,EACF,EACA,EACA,EACE,EAAW,EACV,IAAS,EAAU,IAEtB,IAAI,EAAQ,WACR,GAA2B,IAApB,EAAQ,QAAoB,EAAI,KAAK,MAC5C,EAAM,KACN,EAAK,EAAK,MAAM,EAAS,GACxB,IAAS,EAAU,EAAO,OAG3B,EAAY,WACZ,IAAE,EAAM,KAAK,MACZ,IAAgC,IAApB,EAAQ,UAAmB,EAAW,GACnD,IAAE,EAAY,GAAQ,EAAM,GAc5B,OAbA,EAAM,KACN,EAAG,UACH,GAAa,GAAK,EAAY,GAC5B,IACF,aAAa,GACb,EAAU,MAEZ,EAAW,EACX,EAAS,EAAK,MAAM,EAAS,GACxB,IAAS,EAAU,EAAO,OACrB,IAAgC,IAArB,EAAQ,WAC7B,EAAU,WAAW,EAAO,IAEvB,GAST,OANA,EAAU,OAAS,WACjB,aAAa,GACb,EAAW,EACX,EAAU,EAAU,EAAO,MAGtB,GC5CM,YAAC,GACd,OAAO,EAAY,GAAS,MAAM,UAAU,MAAM,KAAK,GAAS,ICH5D,GAAM,GAEG,YAAC,GAOZ,OALG,GADH,EAAO,GAAU,KAIb,OAAW,EAFf,GAAI,GAAU,EAIT,EAAS,GAAI,ICTP,gBCAA,YAAI,GAAY,UCGjB,SAAU,GAAK,GACzB,OAAE,EAAM,GACD,EAEL,EAAY,GACU,EAAG,OAEtB,OAAO,KAAa,GAAG,OCPhC,I,GAAA,wBACE,SAA4B,GA0B9B,OAxBI,EAAF,uBAAI,GACF,YAAyB,IAAlB,KAAK,IAAI,IAGhBC,EAAUvB,UAAUf,IAAM,SAAxB,EAAa,GACX,IAAE,EAAI,KAAK,IAAI,GACf,YAAS,IAAN,EAAkB,EAAM,GAG/B,EAAF,uBAAI,EAAa,GACf,KAAK,IAAI,GAAO,GAGhB,EAAF,2BACE,KAAK,IAAM,IAGXsC,EAAUvB,UAAZ,gBAAO,UACE,KAAK,IAAI,IAGlB,4BACE,OAAO,OAAO,KAAK,KAAK,KAAK,QAEjC,EA3BA,I;;;;;;;;;;;;;;kmCCaA,IAAIwB,EAAgB,SAAS9C,EAAG+C,GAI5B,OAHAD,EAAgB1C,OAAO4C,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUlD,EAAG+C,GAAK/C,EAAEiD,UAAYF,IACvE,SAAU/C,EAAG+C,GAAK,IAAK,IAAIvB,KAAKuB,EAAOA,EAAExB,eAAeC,KAAIxB,EAAEwB,GAAKuB,EAAEvB,MACpDxB,EAAG+C,IAGrB,SAASI,EAAUnD,EAAG+C,GAEzB,SAASK,IAAOC,KAAKC,YAActD,EADnC8C,EAAc9C,EAAG+C,GAEjB/C,EAAEsB,UAAkB,OAANyB,EAAa3C,OAAOY,OAAO+B,IAAMK,EAAG9B,UAAYyB,EAAEzB,UAAW,IAAI8B,GAG5E,IAAIG,EAAW,WAQlB,OAPAA,EAAWnD,OAAOoD,QAAU,SAAkB5C,GAC1C,IAAK,IAAIa,EAAG/B,EAAI,EAAGyB,EAAIsC,UAAUxB,OAAQvC,EAAIyB,EAAGzB,IAE5C,IAAK,IAAI8B,KADTC,EAAIgC,UAAU/D,GACOU,OAAOkB,UAAUC,eAAe1B,KAAK4B,EAAGD,KAAIZ,EAAEY,GAAKC,EAAED,IAE9E,OAAOZ,IAEK8C,MAAML,KAAMI,YAGzB,SAASE,EAAOlC,EAAGmC,GACtB,IAAIhD,EAAI,GACR,IAAK,IAAIY,KAAKC,EAAOrB,OAAOkB,UAAUC,eAAe1B,KAAK4B,EAAGD,IAAMoC,EAAE5B,QAAQR,GAAK,IAC9EZ,EAAEY,GAAKC,EAAED,IACb,GAAS,MAALC,GAAqD,mBAAjCrB,OAAOyD,sBACtB,KAAInE,EAAI,EAAb,IAAgB8B,EAAIpB,OAAOyD,sBAAsBpC,GAAI/B,EAAI8B,EAAES,OAAQvC,IAC3DkE,EAAE5B,QAAQR,EAAE9B,IAAM,GAAKU,OAAOkB,UAAUwC,qBAAqBjE,KAAK4B,EAAGD,EAAE9B,MACvEkB,EAAEY,EAAE9B,IAAM+B,EAAED,EAAE9B,KAE1B,OAAOkB,EAGJ,SAASmD,EAAWC,EAAYC,EAAQhD,EAAKiD,GAChD,IAA2HlE,EAAvHD,EAAI0D,UAAUxB,OAAQzB,EAAIT,EAAI,EAAIkE,EAAkB,OAATC,EAAgBA,EAAO9D,OAAO+D,yBAAyBF,EAAQhD,GAAOiD,EACrH,GAAuB,YAAnB,oBAAOE,QAAP,cAAOA,WAAoD,mBAArBA,QAAQC,SAAyB7D,EAAI4D,QAAQC,SAASL,EAAYC,EAAQhD,EAAKiD,QACpH,IAAK,IAAIxE,EAAIsE,EAAW/B,OAAS,EAAGvC,GAAK,EAAGA,KAASM,EAAIgE,EAAWtE,MAAIc,GAAKT,EAAI,EAAIC,EAAEQ,GAAKT,EAAI,EAAIC,EAAEiE,EAAQhD,EAAKT,GAAKR,EAAEiE,EAAQhD,KAAST,GAChJ,OAAOT,EAAI,GAAKS,GAAKJ,OAAOC,eAAe4D,EAAQhD,EAAKT,GAAIA,EAGzD,SAAS8D,EAAQC,EAAYC,GAChC,OAAO,SAAUP,EAAQhD,GAAOuD,EAAUP,EAAQhD,EAAKsD,IAGpD,SAASE,EAAWC,EAAaC,GACpC,GAAuB,YAAnB,oBAAOP,QAAP,cAAOA,WAAoD,mBAArBA,QAAQQ,SAAyB,OAAOR,QAAQQ,SAASF,EAAaC,GAG7G,SAASE,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAU1E,GAAS,IAAM2E,EAAKL,EAAUM,KAAK5E,IAAW,MAAOiD,GAAKwB,EAAOxB,IACpF,SAAS4B,EAAS7E,GAAS,IAAM2E,EAAKL,EAAS,MAAUtE,IAAW,MAAOiD,GAAKwB,EAAOxB,IACvF,SAAS0B,EAAK5D,GAJlB,IAAef,EAIae,EAAO+D,KAAON,EAAQzD,EAAOf,QAJ1CA,EAIyDe,EAAOf,MAJhDA,aAAiBqE,EAAIrE,EAAQ,IAAIqE,GAAE,SAAUG,GAAWA,EAAQxE,OAIT+E,KAAKL,EAAWG,GAClGF,GAAML,EAAYA,EAAUvB,MAAMoB,EAASC,GAAc,KAAKQ,WAI/D,SAASI,EAAYb,EAASc,GACjC,IAAsGC,EAAGC,EAAGlF,EAAGmF,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtF,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOuF,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAER,KAAMc,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,mBAAX5F,SAA0BsF,EAAEtF,OAAO6F,UAAY,WAAa,OAAOjD,OAAU0C,EACvJ,SAASM,EAAKlF,GAAK,OAAO,SAAUoF,GAAK,OACzC,SAAcC,GACV,GAAIX,EAAG,MAAM,IAAIY,UAAU,mCAC3B,KAAOT,GAAG,IACN,GAAIH,EAAI,EAAGC,IAAMlF,EAAY,EAAR4F,EAAG,GAASV,EAAC,OAAaU,EAAG,GAAKV,EAAC,SAAelF,EAAIkF,EAAC,SAAelF,EAAEf,KAAKiG,GAAI,GAAKA,EAAEP,SAAW3E,EAAIA,EAAEf,KAAKiG,EAAGU,EAAG,KAAKf,KAAM,OAAO7E,EAE3J,OADIkF,EAAI,EAAGlF,IAAG4F,EAAK,CAAS,EAARA,EAAG,GAAQ5F,EAAED,QACzB6F,EAAG,IACP,KAAK,EAAG,KAAK,EAAG5F,EAAI4F,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAEtF,MAAO6F,EAAG,GAAIf,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIU,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAIM,MAAOV,EAAEG,KAAKO,MAAO,SACxC,QACI,KAAM9F,EAAIoF,EAAEG,MAAMvF,EAAIA,EAAEqB,OAAS,GAAKrB,EAAEA,EAAEqB,OAAS,KAAkB,IAAVuE,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAc5F,GAAM4F,EAAG,GAAK5F,EAAE,IAAM4F,EAAG,GAAK5F,EAAE,IAAM,CAAEoF,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQrF,EAAE,GAAI,CAAEoF,EAAEC,MAAQrF,EAAE,GAAIA,EAAI4F,EAAI,MAC7D,GAAI5F,GAAKoF,EAAEC,MAAQrF,EAAE,GAAI,CAAEoF,EAAEC,MAAQrF,EAAE,GAAIoF,EAAEI,IAAIO,KAAKH,GAAK,MACvD5F,EAAE,IAAIoF,EAAEI,IAAIM,MAChBV,EAAEG,KAAKO,MAAO,SAEtBF,EAAKZ,EAAK/F,KAAKiF,EAASkB,GAC1B,MAAOpC,GAAK4C,EAAK,CAAC,EAAG5C,GAAIkC,EAAI,EAjBrB,QAiBoCD,EAAIjF,EAAI,EACtD,GAAY,EAAR4F,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE7F,MAAO6F,EAAG,GAAKA,EAAG,QAAK,EAAQf,MAAM,GArB9BH,CAAK,CAACnE,EAAGoF,MAyBtD,SAASK,EAAgBzG,EAAGL,EAAG0C,EAAGqE,QAC1BC,IAAPD,IAAkBA,EAAKrE,GAC3BrC,EAAE0G,GAAM/G,EAAE0C,GAGP,SAASuE,EAAajH,EAAGZ,GAC5B,IAAK,IAAIsC,KAAK1B,EAAa,YAAN0B,GAAoBtC,EAAQqC,eAAeC,KAAItC,EAAQsC,GAAK1B,EAAE0B,IAGhF,SAASwF,EAAS7G,GACrB,IAAIsB,EAAsB,mBAAXhB,QAAyBA,OAAO6F,SAAUxG,EAAI2B,GAAKtB,EAAEsB,GAAI/B,EAAI,EAC5E,GAAII,EAAG,OAAOA,EAAED,KAAKM,GACrB,GAAIA,GAAyB,iBAAbA,EAAE8B,OAAqB,MAAO,CAC1CsD,KAAM,WAEF,OADIpF,GAAKT,GAAKS,EAAE8B,SAAQ9B,OAAI,GACrB,CAAEQ,MAAOR,GAAKA,EAAET,KAAM+F,MAAOtF,KAG5C,MAAM,IAAIsG,UAAUhF,EAAI,0BAA4B,mCAGjD,SAASwF,EAAO9G,EAAGgB,GACtB,IAAIrB,EAAsB,mBAAXW,QAAyBN,EAAEM,OAAO6F,UACjD,IAAKxG,EAAG,OAAOK,EACf,IAAmBK,EAAYoD,EAA3BlE,EAAII,EAAED,KAAKM,GAAO+G,EAAK,GAC3B,IACI,WAAc,IAAN/F,GAAgBA,KAAM,MAAQX,EAAId,EAAE6F,QAAQE,MAAMyB,EAAGP,KAAKnG,EAAEG,OAExE,MAAOwG,GAASvD,EAAI,CAAEuD,MAAOA,GAH7B,QAKI,IACQ3G,IAAMA,EAAEiF,OAAS3F,EAAIJ,EAAC,SAAaI,EAAED,KAAKH,GADlD,QAGU,GAAIkE,EAAG,MAAMA,EAAEuD,OAE7B,OAAOD,EAGJ,SAASE,IACZ,IAAK,IAAIF,EAAK,GAAIxH,EAAI,EAAGA,EAAI+D,UAAUxB,OAAQvC,IAC3CwH,EAAKA,EAAGG,OAAOJ,EAAOxD,UAAU/D,KACpC,OAAOwH,EAGJ,SAASI,IACZ,IAAK,IAAI7F,EAAI,EAAG/B,EAAI,EAAG6H,EAAK9D,UAAUxB,OAAQvC,EAAI6H,EAAI7H,IAAK+B,GAAKgC,UAAU/D,GAAGuC,OACxE,IAAIzB,EAAI0C,MAAMzB,GAAIe,EAAI,EAA3B,IAA8B9C,EAAI,EAAGA,EAAI6H,EAAI7H,IACzC,IAAK,IAAI8H,EAAI/D,UAAU/D,GAAI+H,EAAI,EAAGC,EAAKF,EAAEvF,OAAQwF,EAAIC,EAAID,IAAKjF,IAC1DhC,EAAEgC,GAAKgF,EAAEC,GACjB,OAAOjH,EAGJ,SAASmH,EAAQpB,GACpB,OAAOlD,gBAAgBsE,GAAWtE,KAAKkD,EAAIA,EAAGlD,MAAQ,IAAIsE,EAAQpB,GAG/D,SAASqB,EAAiB9C,EAASC,EAAYE,GAClD,IAAKxE,OAAOoH,cAAe,MAAM,IAAIpB,UAAU,wCAC/C,IAAoD/G,EAAhDqG,EAAId,EAAUvB,MAAMoB,EAASC,GAAc,IAAQ+C,EAAI,GAC3D,OAAOpI,EAAI,GAAI2G,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW3G,EAAEe,OAAOoH,eAAiB,WAAc,OAAOxE,MAAS3D,EACpH,SAAS2G,EAAKlF,GAAS4E,EAAE5E,KAAIzB,EAAEyB,GAAK,SAAUoF,GAAK,OAAO,IAAIrB,SAAQ,SAAUsC,EAAGzE,GAAK+E,EAAEnB,KAAK,CAACxF,EAAGoF,EAAGiB,EAAGzE,IAAM,GAAKgF,EAAO5G,EAAGoF,QAC9H,SAASwB,EAAO5G,EAAGoF,GAAK,KACV/F,EADqBuF,EAAE5E,GAAGoF,IACnB5F,iBAAiBgH,EAAUzC,QAAQC,QAAQ3E,EAAEG,MAAM4F,GAAGb,KAAKsC,EAAS5C,GAAU6C,EAAOH,EAAE,GAAG,GAAItH,GADpE,MAAOoD,GAAKqE,EAAOH,EAAE,GAAG,GAAIlE,GAC3E,IAAcpD,EACd,SAASwH,EAAQrH,GAASoH,EAAO,OAAQpH,GACzC,SAASyE,EAAOzE,GAASoH,EAAO,QAASpH,GACzC,SAASsH,EAAOpC,EAAGU,GAASV,EAAEU,GAAIuB,EAAEI,QAASJ,EAAE7F,QAAQ8F,EAAOD,EAAE,GAAG,GAAIA,EAAE,GAAG,KAGzE,SAASK,EAAiBhI,GAC7B,IAAIT,EAAG8B,EACP,OAAO9B,EAAI,GAAI2G,EAAK,QAASA,EAAK,SAAS,SAAUzC,GAAK,MAAMA,KAAOyC,EAAK,UAAW3G,EAAEe,OAAO6F,UAAY,WAAc,OAAOjD,MAAS3D,EAC1I,SAAS2G,EAAKlF,EAAG0E,GAAKnG,EAAEyB,GAAKhB,EAAEgB,GAAK,SAAUoF,GAAK,OAAQ/E,GAAKA,GAAK,CAAEb,MAAOgH,EAAQxH,EAAEgB,GAAGoF,IAAKd,KAAY,WAANtE,GAAmB0E,EAAIA,EAAEU,GAAKA,GAAOV,GAGxI,SAASuC,EAAcjI,GAC1B,IAAKM,OAAOoH,cAAe,MAAM,IAAIpB,UAAU,wCAC/C,IAAiC/G,EAA7BI,EAAIK,EAAEM,OAAOoH,eACjB,OAAO/H,EAAIA,EAAED,KAAKM,IAAMA,EAAqC6G,EAAS7G,GAA2BT,EAAI,GAAI2G,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW3G,EAAEe,OAAOoH,eAAiB,WAAc,OAAOxE,MAAS3D,GAC9M,SAAS2G,EAAKlF,GAAKzB,EAAEyB,GAAKhB,EAAEgB,IAAM,SAAUoF,GAAK,OAAO,IAAIrB,SAAQ,SAAUC,EAASC,IACvF,SAAgBD,EAASC,EAAQpF,EAAGuG,GAAKrB,QAAQC,QAAQoB,GAAGb,MAAK,SAASa,GAAKpB,EAAQ,CAAExE,MAAO4F,EAAGd,KAAMzF,MAASoF,IADJ6C,CAAO9C,EAASC,GAA7BmB,EAAIpG,EAAEgB,GAAGoF,IAA8Bd,KAAMc,EAAE5F,YAI7I,SAAS0H,EAAqBC,EAAQC,GAEzC,OADInI,OAAOC,eAAkBD,OAAOC,eAAeiI,EAAQ,MAAO,CAAE3H,MAAO4H,IAAiBD,EAAOC,IAAMA,EAClGD,EAGJ,SAASE,EAAaC,GACzB,GAAIA,GAAOA,EAAI3H,WAAY,OAAO2H,EAClC,IAAI/G,EAAS,GACb,GAAW,MAAP+G,EAAa,IAAK,IAAIjG,KAAKiG,EAASrI,OAAOmB,eAAe1B,KAAK4I,EAAKjG,KAAId,EAAOc,GAAKiG,EAAIjG,IAE5F,OADAd,EAAM,QAAW+G,EACV/G,EAGJ,SAASgH,EAAgBD,GAC5B,OAAQA,GAAOA,EAAI3H,WAAc2H,EAAM,CAAEE,QAASF,GAG/C,SAASG,EAAuBC,EAAUC,GAC7C,IAAKA,EAAWC,IAAIF,GAChB,MAAM,IAAIpC,UAAU,kDAExB,OAAOqC,EAAWvI,IAAIsI,GAGnB,SAASG,EAAuBH,EAAUC,EAAYnI,GACzD,IAAKmI,EAAWC,IAAIF,GAChB,MAAM,IAAIpC,UAAU,kDAGxB,OADAqC,EAAWG,IAAIJ,EAAUlI,GAClBA,I;;;;;;;;;;;;;;kmCCxMX,IAAImC,EAAgB,SAAS9C,EAAG+C,GAI5B,OAHAD,EAAgB1C,OAAO4C,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUlD,EAAG+C,GAAK/C,EAAEiD,UAAYF,IACvE,SAAU/C,EAAG+C,GAAK,IAAK,IAAIvB,KAAKuB,EAAO3C,OAAOkB,UAAUC,eAAe1B,KAAKkD,EAAGvB,KAAIxB,EAAEwB,GAAKuB,EAAEvB,MAC3ExB,EAAG+C,IAGrB,SAASI,EAAUnD,EAAG+C,GAEzB,SAASK,IAAOC,KAAKC,YAActD,EADnC8C,EAAc9C,EAAG+C,GAEjB/C,EAAEsB,UAAkB,OAANyB,EAAa3C,OAAOY,OAAO+B,IAAMK,EAAG9B,UAAYyB,EAAEzB,UAAW,IAAI8B,GAG5E,IAAIG,EAAW,WAQlB,OAPAA,EAAWnD,OAAOoD,QAAU,SAAkB5C,GAC1C,IAAK,IAAIa,EAAG/B,EAAI,EAAGyB,EAAIsC,UAAUxB,OAAQvC,EAAIyB,EAAGzB,IAE5C,IAAK,IAAI8B,KADTC,EAAIgC,UAAU/D,GACOU,OAAOkB,UAAUC,eAAe1B,KAAK4B,EAAGD,KAAIZ,EAAEY,GAAKC,EAAED,IAE9E,OAAOZ,IAEK8C,MAAML,KAAMI,YAGzB,SAASE,EAAOlC,EAAGmC,GACtB,IAAIhD,EAAI,GACR,IAAK,IAAIY,KAAKC,EAAOrB,OAAOkB,UAAUC,eAAe1B,KAAK4B,EAAGD,IAAMoC,EAAE5B,QAAQR,GAAK,IAC9EZ,EAAEY,GAAKC,EAAED,IACb,GAAS,MAALC,GAAqD,mBAAjCrB,OAAOyD,sBACtB,KAAInE,EAAI,EAAb,IAAgB8B,EAAIpB,OAAOyD,sBAAsBpC,GAAI/B,EAAI8B,EAAES,OAAQvC,IAC3DkE,EAAE5B,QAAQR,EAAE9B,IAAM,GAAKU,OAAOkB,UAAUwC,qBAAqBjE,KAAK4B,EAAGD,EAAE9B,MACvEkB,EAAEY,EAAE9B,IAAM+B,EAAED,EAAE9B,KAE1B,OAAOkB,EAGJ,SAASmD,EAAWC,EAAYC,EAAQhD,EAAKiD,GAChD,IAA2HlE,EAAvHD,EAAI0D,UAAUxB,OAAQzB,EAAIT,EAAI,EAAIkE,EAAkB,OAATC,EAAgBA,EAAO9D,OAAO+D,yBAAyBF,EAAQhD,GAAOiD,EACrH,GAAuB,YAAnB,oBAAOE,QAAP,cAAOA,WAAoD,mBAArBA,QAAQC,SAAyB7D,EAAI4D,QAAQC,SAASL,EAAYC,EAAQhD,EAAKiD,QACpH,IAAK,IAAIxE,EAAIsE,EAAW/B,OAAS,EAAGvC,GAAK,EAAGA,KAASM,EAAIgE,EAAWtE,MAAIc,GAAKT,EAAI,EAAIC,EAAEQ,GAAKT,EAAI,EAAIC,EAAEiE,EAAQhD,EAAKT,GAAKR,EAAEiE,EAAQhD,KAAST,GAChJ,OAAOT,EAAI,GAAKS,GAAKJ,OAAOC,eAAe4D,EAAQhD,EAAKT,GAAIA,EAGzD,SAAS8D,EAAQC,EAAYC,GAChC,OAAO,SAAUP,EAAQhD,GAAOuD,EAAUP,EAAQhD,EAAKsD,IAGpD,SAASE,EAAWC,EAAaC,GACpC,GAAuB,YAAnB,oBAAOP,QAAP,cAAOA,WAAoD,mBAArBA,QAAQQ,SAAyB,OAAOR,QAAQQ,SAASF,EAAaC,GAG7G,SAASE,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAKD,IAAMA,EAAIE,WAAU,SAAUC,EAASC,GAC/C,SAASC,EAAU1E,GAAS,IAAM2E,EAAKL,EAAUM,KAAK5E,IAAW,MAAOiD,GAAKwB,EAAOxB,IACpF,SAAS4B,EAAS7E,GAAS,IAAM2E,EAAKL,EAAS,MAAUtE,IAAW,MAAOiD,GAAKwB,EAAOxB,IACvF,SAAS0B,EAAK5D,GAJlB,IAAef,EAIae,EAAO+D,KAAON,EAAQzD,EAAOf,QAJ1CA,EAIyDe,EAAOf,MAJhDA,aAAiBqE,EAAIrE,EAAQ,IAAIqE,GAAE,SAAUG,GAAWA,EAAQxE,OAIT+E,KAAKL,EAAWG,GAClGF,GAAML,EAAYA,EAAUvB,MAAMoB,EAASC,GAAc,KAAKQ,WAI/D,SAASI,EAAYb,EAASc,GACjC,IAAsGC,EAAGC,EAAGlF,EAAGmF,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPtF,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOuF,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAER,KAAMc,EAAK,GAAI,MAASA,EAAK,GAAI,OAAUA,EAAK,IAAwB,mBAAX5F,SAA0BsF,EAAEtF,OAAO6F,UAAY,WAAa,OAAOjD,OAAU0C,EACvJ,SAASM,EAAKlF,GAAK,OAAO,SAAUoF,GAAK,OACzC,SAAcC,GACV,GAAIX,EAAG,MAAM,IAAIY,UAAU,mCAC3B,KAAOT,GAAG,IACN,GAAIH,EAAI,EAAGC,IAAMlF,EAAY,EAAR4F,EAAG,GAASV,EAAC,OAAaU,EAAG,GAAKV,EAAC,SAAelF,EAAIkF,EAAC,SAAelF,EAAEf,KAAKiG,GAAI,GAAKA,EAAEP,SAAW3E,EAAIA,EAAEf,KAAKiG,EAAGU,EAAG,KAAKf,KAAM,OAAO7E,EAE3J,OADIkF,EAAI,EAAGlF,IAAG4F,EAAK,CAAS,EAARA,EAAG,GAAQ5F,EAAED,QACzB6F,EAAG,IACP,KAAK,EAAG,KAAK,EAAG5F,EAAI4F,EAAI,MACxB,KAAK,EAAc,OAAXR,EAAEC,QAAgB,CAAEtF,MAAO6F,EAAG,GAAIf,MAAM,GAChD,KAAK,EAAGO,EAAEC,QAASH,EAAIU,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKR,EAAEI,IAAIM,MAAOV,EAAEG,KAAKO,MAAO,SACxC,QACI,KAAM9F,EAAIoF,EAAEG,MAAMvF,EAAIA,EAAEqB,OAAS,GAAKrB,EAAEA,EAAEqB,OAAS,KAAkB,IAAVuE,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAER,EAAI,EAAG,SACjG,GAAc,IAAVQ,EAAG,MAAc5F,GAAM4F,EAAG,GAAK5F,EAAE,IAAM4F,EAAG,GAAK5F,EAAE,IAAM,CAAEoF,EAAEC,MAAQO,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYR,EAAEC,MAAQrF,EAAE,GAAI,CAAEoF,EAAEC,MAAQrF,EAAE,GAAIA,EAAI4F,EAAI,MAC7D,GAAI5F,GAAKoF,EAAEC,MAAQrF,EAAE,GAAI,CAAEoF,EAAEC,MAAQrF,EAAE,GAAIoF,EAAEI,IAAIO,KAAKH,GAAK,MACvD5F,EAAE,IAAIoF,EAAEI,IAAIM,MAChBV,EAAEG,KAAKO,MAAO,SAEtBF,EAAKZ,EAAK/F,KAAKiF,EAASkB,GAC1B,MAAOpC,GAAK4C,EAAK,CAAC,EAAG5C,GAAIkC,EAAI,EAjBrB,QAiBoCD,EAAIjF,EAAI,EACtD,GAAY,EAAR4F,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAE7F,MAAO6F,EAAG,GAAKA,EAAG,QAAK,EAAQf,MAAM,GArB9BH,CAAK,CAACnE,EAAGoF,MAyBtD,IAAIK,EAAkBxG,OAAOY,OAAU,SAASb,EAAGL,EAAG0C,EAAGqE,QACjDC,IAAPD,IAAkBA,EAAKrE,GAC3BpC,OAAOC,eAAeF,EAAG0G,EAAI,CAAEvG,YAAY,EAAMC,IAAK,WAAa,OAAOT,EAAE0C,OAC1E,SAASrC,EAAGL,EAAG0C,EAAGqE,QACTC,IAAPD,IAAkBA,EAAKrE,GAC3BrC,EAAE0G,GAAM/G,EAAE0C,IAGP,SAASuE,EAAajH,EAAGK,GAC5B,IAAK,IAAIqB,KAAK1B,EAAa,YAAN0B,GAAoBpB,OAAOkB,UAAUC,eAAe1B,KAAKM,EAAGqB,IAAIoF,EAAgBzG,EAAGL,EAAG0B,GAGxG,SAASwF,EAAS7G,GACrB,IAAIsB,EAAsB,mBAAXhB,QAAyBA,OAAO6F,SAAUxG,EAAI2B,GAAKtB,EAAEsB,GAAI/B,EAAI,EAC5E,GAAII,EAAG,OAAOA,EAAED,KAAKM,GACrB,GAAIA,GAAyB,iBAAbA,EAAE8B,OAAqB,MAAO,CAC1CsD,KAAM,WAEF,OADIpF,GAAKT,GAAKS,EAAE8B,SAAQ9B,OAAI,GACrB,CAAEQ,MAAOR,GAAKA,EAAET,KAAM+F,MAAOtF,KAG5C,MAAM,IAAIsG,UAAUhF,EAAI,0BAA4B,mCAGjD,SAASwF,EAAO9G,EAAGgB,GACtB,IAAIrB,EAAsB,mBAAXW,QAAyBN,EAAEM,OAAO6F,UACjD,IAAKxG,EAAG,OAAOK,EACf,IAAmBK,EAAYoD,EAA3BlE,EAAII,EAAED,KAAKM,GAAO+G,EAAK,GAC3B,IACI,WAAc,IAAN/F,GAAgBA,KAAM,MAAQX,EAAId,EAAE6F,QAAQE,MAAMyB,EAAGP,KAAKnG,EAAEG,OAExE,MAAOwG,GAASvD,EAAI,CAAEuD,MAAOA,GAH7B,QAKI,IACQ3G,IAAMA,EAAEiF,OAAS3F,EAAIJ,EAAC,SAAaI,EAAED,KAAKH,GADlD,QAGU,GAAIkE,EAAG,MAAMA,EAAEuD,OAE7B,OAAOD,EAGJ,SAASE,IACZ,IAAK,IAAIF,EAAK,GAAIxH,EAAI,EAAGA,EAAI+D,UAAUxB,OAAQvC,IAC3CwH,EAAKA,EAAGG,OAAOJ,EAAOxD,UAAU/D,KACpC,OAAOwH,EAGJ,SAASI,IACZ,IAAK,IAAI7F,EAAI,EAAG/B,EAAI,EAAG6H,EAAK9D,UAAUxB,OAAQvC,EAAI6H,EAAI7H,IAAK+B,GAAKgC,UAAU/D,GAAGuC,OACxE,IAAIzB,EAAI0C,MAAMzB,GAAIe,EAAI,EAA3B,IAA8B9C,EAAI,EAAGA,EAAI6H,EAAI7H,IACzC,IAAK,IAAI8H,EAAI/D,UAAU/D,GAAI+H,EAAI,EAAGC,EAAKF,EAAEvF,OAAQwF,EAAIC,EAAID,IAAKjF,IAC1DhC,EAAEgC,GAAKgF,EAAEC,GACjB,OAAOjH,EAGJ,SAASmH,EAAQpB,GACpB,OAAOlD,gBAAgBsE,GAAWtE,KAAKkD,EAAIA,EAAGlD,MAAQ,IAAIsE,EAAQpB,GAG/D,SAASqB,EAAiB9C,EAASC,EAAYE,GAClD,IAAKxE,OAAOoH,cAAe,MAAM,IAAIpB,UAAU,wCAC/C,IAAoD/G,EAAhDqG,EAAId,EAAUvB,MAAMoB,EAASC,GAAc,IAAQ+C,EAAI,GAC3D,OAAOpI,EAAI,GAAI2G,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW3G,EAAEe,OAAOoH,eAAiB,WAAc,OAAOxE,MAAS3D,EACpH,SAAS2G,EAAKlF,GAAS4E,EAAE5E,KAAIzB,EAAEyB,GAAK,SAAUoF,GAAK,OAAO,IAAIrB,SAAQ,SAAUsC,EAAGzE,GAAK+E,EAAEnB,KAAK,CAACxF,EAAGoF,EAAGiB,EAAGzE,IAAM,GAAKgF,EAAO5G,EAAGoF,QAC9H,SAASwB,EAAO5G,EAAGoF,GAAK,KACV/F,EADqBuF,EAAE5E,GAAGoF,IACnB5F,iBAAiBgH,EAAUzC,QAAQC,QAAQ3E,EAAEG,MAAM4F,GAAGb,KAAKsC,EAAS5C,GAAU6C,EAAOH,EAAE,GAAG,GAAItH,GADpE,MAAOoD,GAAKqE,EAAOH,EAAE,GAAG,GAAIlE,GAC3E,IAAcpD,EACd,SAASwH,EAAQrH,GAASoH,EAAO,OAAQpH,GACzC,SAASyE,EAAOzE,GAASoH,EAAO,QAASpH,GACzC,SAASsH,EAAOpC,EAAGU,GAASV,EAAEU,GAAIuB,EAAEI,QAASJ,EAAE7F,QAAQ8F,EAAOD,EAAE,GAAG,GAAIA,EAAE,GAAG,KAGzE,SAASK,EAAiBhI,GAC7B,IAAIT,EAAG8B,EACP,OAAO9B,EAAI,GAAI2G,EAAK,QAASA,EAAK,SAAS,SAAUzC,GAAK,MAAMA,KAAOyC,EAAK,UAAW3G,EAAEe,OAAO6F,UAAY,WAAc,OAAOjD,MAAS3D,EAC1I,SAAS2G,EAAKlF,EAAG0E,GAAKnG,EAAEyB,GAAKhB,EAAEgB,GAAK,SAAUoF,GAAK,OAAQ/E,GAAKA,GAAK,CAAEb,MAAOgH,EAAQxH,EAAEgB,GAAGoF,IAAKd,KAAY,WAANtE,GAAmB0E,EAAIA,EAAEU,GAAKA,GAAOV,GAGxI,SAASuC,EAAcjI,GAC1B,IAAKM,OAAOoH,cAAe,MAAM,IAAIpB,UAAU,wCAC/C,IAAiC/G,EAA7BI,EAAIK,EAAEM,OAAOoH,eACjB,OAAO/H,EAAIA,EAAED,KAAKM,IAAMA,EAAqC6G,EAAS7G,GAA2BT,EAAI,GAAI2G,EAAK,QAASA,EAAK,SAAUA,EAAK,UAAW3G,EAAEe,OAAOoH,eAAiB,WAAc,OAAOxE,MAAS3D,GAC9M,SAAS2G,EAAKlF,GAAKzB,EAAEyB,GAAKhB,EAAEgB,IAAM,SAAUoF,GAAK,OAAO,IAAIrB,SAAQ,SAAUC,EAASC,IACvF,SAAgBD,EAASC,EAAQpF,EAAGuG,GAAKrB,QAAQC,QAAQoB,GAAGb,MAAK,SAASa,GAAKpB,EAAQ,CAAExE,MAAO4F,EAAGd,KAAMzF,MAASoF,IADJ6C,CAAO9C,EAASC,GAA7BmB,EAAIpG,EAAEgB,GAAGoF,IAA8Bd,KAAMc,EAAE5F,YAI7I,SAAS0H,EAAqBC,EAAQC,GAEzC,OADInI,OAAOC,eAAkBD,OAAOC,eAAeiI,EAAQ,MAAO,CAAE3H,MAAO4H,IAAiBD,EAAOC,IAAMA,EAClGD,EAGX,IAAIY,EAAqB9I,OAAOY,OAAU,SAASb,EAAGoG,GAClDnG,OAAOC,eAAeF,EAAG,UAAW,CAAEG,YAAY,EAAMK,MAAO4F,KAC9D,SAASpG,EAAGoG,GACbpG,EAAC,QAAcoG,GAGZ,SAASiC,EAAaC,GACzB,GAAIA,GAAOA,EAAI3H,WAAY,OAAO2H,EAClC,IAAI/G,EAAS,GACb,GAAW,MAAP+G,EAAa,IAAK,IAAIjG,KAAKiG,EAAe,YAANjG,GAAmBpC,OAAOkB,UAAUC,eAAe1B,KAAK4I,EAAKjG,IAAIoE,EAAgBlF,EAAQ+G,EAAKjG,GAEtI,OADA0G,EAAmBxH,EAAQ+G,GACpB/G,EAGJ,SAASgH,EAAgBD,GAC5B,OAAQA,GAAOA,EAAI3H,WAAc2H,EAAM,CAAEE,QAASF,GAG/C,SAASG,EAAuBC,EAAUC,GAC7C,IAAKA,EAAWC,IAAIF,GAChB,MAAM,IAAIpC,UAAU,kDAExB,OAAOqC,EAAWvI,IAAIsI,GAGnB,SAASG,EAAuBH,EAAUC,EAAYnI,GACzD,IAAKmI,EAAWC,IAAIF,GAChB,MAAM,IAAIpC,UAAU,kDAGxB,OADAqC,EAAWG,IAAIJ,EAAUlI,GAClBA,I,2gBC1NL,SAAU,EAAc,EAAK,EAAG,GACpC,IAAM,EAAqB,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEnD,OADF,EAAK,gBAAgB,EAAU,GACxB,EAAK,SAAS,EAAK,EAAU,GAGhC,SAAU,EAAW,EAAK,EAAG,GACjC,IAAM,EAAsB,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpD,OADA,EAAG,aAAa,EAAW,GACtB,EAAK,SAAS,EAAK,EAAW,GAGjC,SAAU,EAAU,EAAK,EAAG,GAC9B,IAAI,EAAqB,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAErD,OADA,EAAK,YAAY,EAAU,GACpB,EAAK,SAAS,EAAK,EAAU,GAWhC,SAAU,EAAU,EAAa,GAGnC,IAFA,IATkB,EAAK,EAAG,EAStB,EAAS,EAAI,GAAG,OAAO,GAAK,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEnD,EAAI,EAAG,EAAM,EAAQ,OAAQ,EAAI,EAAK,IAAK,CAC9C,IAAE,EAAS,EAAQ,GACnB,OAAI,EAAO,IACP,IAAD,IACK,EAAM,EAAQ,EAAQ,CAAE,EAAO,GAAI,EAAO,KAClD,MACI,IAAD,IACK,EAAE,EAAQ,EAAQ,CAAE,EAAO,GAAI,EAAO,KAC9C,MACI,IAAD,IACH,EAAW,EAAQ,EAAQ,EAAO,IAClC,MACF,IAAK,IAvBW,EAwBD,EAxBM,EAwBE,EAxBC,EAwBO,EAAO,GAvBnC,EAAK,SAAS,EAAK,EAAI,IA8B9B,OAAO,EASH,SAAU,EAAU,EAAc,GACpC,OAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAAK,EAAG,GAS9B,SAAU,EAAQ,EAAsB,EAAsB,GAChE,IAAI,EAAM,EAAK,MAAM,EAAI,GACrB,EAAmB,EAAU,EAAI,IAAO,EAC9C,OAAI,EACE,EACe,EAAV,KAAK,GAAS,EAEhB,EAGL,EACK,EAEQ,EAAV,KAAK,GAAS,EASjB,SAAU,EAAS,EAAe,EAAa,GASnD,OARI,GACF,EAAI,GAAK,EAAE,GACX,EAAI,IAAM,EAAI,EAAE,KAEhB,EAAI,IAAM,EAAI,EAAE,GAChB,EAAI,GAAK,EAAE,IAGN,I,yFC1GT,2BAEA,OAGA,4BACA,4BACA,OACA,2BACA,2BACA,QAcA,cAkBE,WAAYwI,EAAwBC,GAApC,MACE,cAAO,K,OACP,EAAKC,aAAoC,iBAAdF,EAAyBG,SAASC,eAAeJ,GAAaA,EACzF,EAAKK,SAAY,EAAAC,MAAML,EAAMI,UAA6B,EAAAC,MAAML,EAAMM,QAAU,EAAAD,MAAML,EAAMO,QAAnDP,EAAMI,SAC/C,EAAKI,SAAWR,EAAMQ,UAAY,SAClC,EAAKC,WAAaT,EAAMS,YAAc,KACtC,EAAKH,MAAQN,EAAMM,MACnB,EAAKC,OAASP,EAAMO,OACpB,EAAKG,MAAQV,EAAMU,MACnB,EAAKC,aAAeX,EAAMW,aAC1B,EAAKC,iBAAmB,IAAI,UAAiB,CAC3CX,aAAc,EAAKA,aACnBY,KAAM,IAGR,EAAKP,MAAQ,EAAKM,iBAAiBN,MACnC,EAAKC,OAAS,EAAKK,iBAAiBL,OACpC,EAAKO,OAAS,EAAKF,iBAAiBE,OACpC,EAAKC,OAAS,GACd,EAAKC,WAAY,EAEjB,EAAKC,aAAajB,GAGlB,EAAKkB,gBAAkB,IAAI,UAAgB,CACzCL,KAAM,EACNC,OAAQ,EAAKF,iBAAiBE,SAGhC,EAAKI,gBAAgBC,aACrB,EAAKC,YAAYpB,G,EAuNrB,OApQU,iBAiDD,YAAAqB,QAAP,WACEpH,KAAKqH,WAAU,SAACC,GACdA,EAAMF,aAERpH,KAAK2G,iBAAiBS,UACtBpH,KAAKiH,gBAAgBM,cACrBvH,KAAK8G,OAAS,GACd9G,KAAK+G,WAAY,GAMZ,YAAAS,QAAP,WACExH,KAAK2G,iBAAiBE,OAAOY,QAGxB,YAAAC,aAAP,SAAoBC,EAA6BC,GAC/C,QAD+C,IAAAA,OAAA,GAC3CA,EACF5H,KAAKqH,WAAU,SAACC,GACVA,aAAiB,WACnBA,EAAMI,aAAaC,UAGlB,CACL,IAAML,EAAatH,KAAK8G,OAAO,GAC3BQ,aAAiB,WACnBA,EAAMI,aAAaC,GAInBA,EAAOtB,QACTrG,KAAKqG,MAAQsB,EAAOtB,OAElBsB,EAAOrB,SACTtG,KAAKsG,OAASqB,EAAOrB,QAEnBqB,EAAOlB,QACTzG,KAAKyG,MAAQkB,EAAOlB,OAGtBzG,KAAK2G,iBAAiBkB,mBACtB7H,KAAK2G,iBAAiBmB,qBAGjB,YAAAC,WAAP,SAAkB/I,EAAa4I,GAC7B,QAD6B,IAAAA,OAAA,GACzBA,EACF5H,KAAKqH,WAAU,SAACC,GACVA,aAAiB,WACnBA,EAAMS,WAAW/I,UAGhB,CACL,IAAMsI,EAAatH,KAAK8G,OAAO,GAC3BQ,aAAiB,WACnBA,EAAMS,WAAW/I,KAKhB,YAAAgJ,gBAAP,SAAuBC,GACrB,OAAOjI,KAAK8G,OAAO,GAAGkB,gBAAgBC,IAGjC,YAAAC,UAAP,WACE,OAAOlI,KAAK8G,OAAO,GAAGoB,aAGjB,YAAAC,UAAP,WACE,OAAOnI,KAAK8G,OAAO,GAAGqB,aAGjB,YAAAC,cAAP,WACE,OAAOpI,KAAK8G,OAAO,GAAGsB,iBAGjB,YAAAC,aAAP,WAEE,OADmBrI,KAAK8G,OAAO,GAClBuB,gBAGR,YAAAC,QAAP,WAEE,OADmBtI,KAAK8G,OAAO,GAClBwB,WAUR,YAAAC,iBAAP,SAAwBC,EAA4BC,GAClDzI,KAAKqH,WAAU,SAACC,GACVA,aAAiB,WACnBA,EAAMiB,iBAAiBC,EAAcC,OAWpC,YAAAC,UAAP,SAAiBC,EAAgBC,GAC/B5I,KAAKqH,WAAU,SAACC,GACVA,aAAiB,WACnBA,EAAMoB,UAAUC,EAAWC,OAK1B,YAAAC,YAAP,SAAmBF,EAAgBC,GACjC5I,KAAKqH,WAAU,SAACC,GACVA,aAAiB,WACnBA,EAAMuB,YAAYF,EAAWC,OAK5B,YAAAE,WAAP,SAAkBH,EAAgBC,GAChC5I,KAAKqH,WAAU,SAACC,GACVA,aAAiB,WACnBA,EAAMwB,WAAWH,EAAWC,OAK3B,YAAAG,WAAP,SAAkBJ,EAAgBC,GAChC5I,KAAKqH,WAAU,SAACC,GACVA,aAAiB,WACnBA,EAAMyB,WAAWJ,EAAWC,OAQ3B,YAAAI,QAAP,WAEE,OAAQhJ,KAAK8G,OAAO,GAAoBmC,MAOnC,YAAAC,SAAP,SAAgBC,GACd,YADc,IAAAA,MAAA,GACPnJ,KAAK8G,OAAOqC,IAGd,YAAAC,UAAP,WACE,OAAOpJ,KAAK2G,iBAAiBE,QAGxB,YAAAwC,UAAP,WACE,OAAOrJ,KAAK8G,QAGP,YAAAwC,OAAP,WACEtJ,KAAKqH,WAAU,SAACC,GAAU,OAAAA,EAAMgC,aAGxB,YAAAjC,UAAV,SAAoBkC,GAClB,EAAAC,KAAKxJ,KAAK8G,OAAQyC,IAOb,YAAAE,SAAP,SAAgBnC,GACF,EAAAoC,UAAU1J,KAAK8G,QAAQ,SAAC6C,GAAS,OAAAA,IAASrC,KAC5C,GACRtH,KAAK8G,OAAOxD,KAAKgE,IAIX,YAAAN,aAAV,SAAuBjB,GACrB,GAAIA,EAAMe,aAEH,GAAIf,EAAM6D,KAAM,CACrB,IAQMC,EAAY,IARG,EAAAC,YAAY/D,EAAM6D,MAQrB,CAPQ,EAAAG,QAAQ,GAAIhE,EAAO,CAC3Cc,OAAQ7G,KAAK2G,iBAAiBE,OAC9BmD,EAAG,EACHvH,EAAG,EACH4D,MAAOrG,KAAKqG,MACZC,OAAQtG,KAAKsG,UAGftG,KAAKyJ,SAASI,KAIR,YAAA1C,YAAV,SAAsBpB,GAAtB,WACQkE,EAAa,EAAAC,KAAK,EAAAC,kBACpBpE,EAAMqE,QACR,EAAAZ,KAAKzD,EAAMqE,QAAQ,SAAC7J,EAAGpB,GACrB,GAAI,EAAAkL,SAASJ,EAAY9K,IAAM,EAAAmL,WAAW/J,GAAI,CAC5C,IAAMgK,EAAY,EAAAJ,iBAAiBhL,IAAMA,EACnCqL,EAAUjK,EAChB,EAAKkK,GAAGF,EAAWC,QAK7B,EAvQA,CAGU,W,0CC3BV,+qBAAM,SAAU,IACd,OAAO,OAAS,OAAO,iBAAmB,EAUtC,SAAU,EAAS,EAAY,EAAY,EAAY,GAC3D,IAAM,EAAK,EAAK,EACV,EAAK,EAAK,EAChB,OAAO,KAAK,KAAK,EAAK,EAAK,EAAK,GAY5B,SAAU,EAAM,EAAc,EAAc,EAAe,EAAgB,EAAG,GAClF,OAAO,GAAK,GAAQ,GAAK,EAAO,GAAS,GAAK,GAAQ,GAAK,EAAO,EAG9D,SAAU,EAAc,EAAM,GAClC,QAAS,EAAK,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,MAIjG,SAAU,EAAY,EAAS,GACnC,OAAK,GAAY,EAGV,CACD,KAAE,KAAK,IAAI,EAAQ,KAAM,EAAQ,MACrC,KAAM,KAAK,IAAI,EAAQ,KAAM,EAAQ,MACrC,KAAM,KAAK,IAAI,EAAQ,KAAM,EAAQ,MACjC,KAAE,KAAK,IAAI,EAAQ,KAAM,EAAQ,OAN9B,GAAW,EAehB,SAAU,EAAY,EAAQ,GAClC,OAAO,EAAO,KAAO,EAAO,IAAM,EAAO,KAAO,EAAO,GArDzD,qC,sHCCA,IAAME,EAAuC,GAE7C,4BAAiC9N,EAAc+N,GAC7CD,EAAgB9N,EAAKgO,eAAiBD,GAGxC,uBAA4B/N,GAC1B,OAAO8N,EAAgB9N,EAAKgO,iB,6BCRhB,SAAUC,EAAiBjK,EAAqB,EAAmB,GAC7E,GAAE,EAAQ,CACN,GAAmC,mBAA5B,EAAO,iBAEV,OADAA,EAAC,iBAAiB,EAAW,GAAU,GACtC,CACGkK,OAAF,WACMlK,EAAH,oBAAoB,EAAW,GAAU,KAInD,GAAkC,mBAAvB,EAAO,YAGb,OADA,EAAC,YAAY,KAAO,EAAW,GAC9B,CACL,OAAM,WAEM,EAAH,YAAY,KAAO,EAAW,MCV/C,IAAImK,EACA,EACA,EACA,EAoBU,SAAU,EAAU,GAC3B,IAfH,EAAM,SAAS,cAAc,SAC7B,EAAS,SAAS,cAAc,MAChC,EAAa,qBACb,EAAW,CACP,YAAS,cAAc,SACvB,MAAG,EACP,MAAO,EACP,MAAO,EACP,GAAI,EACJ,GAAI,EACA,IAAC,SAAS,cAAc,SAQ5B,IAAE,EAAO,EAAa,KAAKxM,IAAQ,OAAO,GACvC,GAAU,KAAQ,IACrB,EAAO,KAET,IAAM,EAAY,EAAW,GAC7B,EAAM,EAAI,QAAQ,iBAAkB,IACpC,EAAU,UAAY,GAAK,EAC3B,IAAM,EAAM,EAAU,WAAW,GAEjC,OADA,EAAU,YAAY,GACf,ECnCK,SAAUyM,EAASC,EAAkB,EAAc,GAC7D,IAAE,EACF,IACI/H,EAAA,OAAO,iBACT,OAAO,iBAAiB,EAAK,MAAM,GACnC,EAAI,MAAM,GACZ,MAAO,IAJR,QAOC,OAAU,IAAN,EAAkB,EAAe,EAErC,OAAK,EChBK,SAAU,EAAU,EAAiB,GAC/C,IAAE,EAAS,EAAS,EAAI,SAAU,GAIpC,MAHe,SAAX,IACF,EAAS,EAAG,cAEP,WAAW,GCHN,SAAU,EAAe,EAAiB,GACpD,IAAI,EAAS,EAAU,EAAI,GACvB,EAAO,WAAW,EAAS,EAAI,oBAAsB,EACrD,EAAO,WAAW,EAAS,EAAI,gBAAkB,EACjD,EAAU,WAAW,EAAS,EAAI,mBAAqB,EAI7D,OAAO,EAAS,GAHAgI,WAAWF,EAASG,EAAI,uBAAyB,GAGhC,EAAO,GAF3B,WAAW,EAAS,EAAI,eAAiB,IACtC,WAAW,EAAS,EAAI,kBAAoB,GCThD,SAAU,EAAU,EAAiB,GAC/C,IAAE,EAAQ,EAAS,EAAI,QAAS,GAIlC,MAHc,SAAV,IACF,EAAQ,EAAG,aAEN,WAAW,GCHN,SAAU,EAAc,EAAiB,GACnD,IAAI,EAAQ,EAAS,EAAI,GACrB,EAAQ,WAAW,EAAS,EAAI,qBAAuB,EACvD,EAAQ,WAAW,EAAS,EAAI,iBAAmB,EACnD,EAASD,WAAWF,EAASG,EAAI,kBAAoB,EACrD,EAAS,WAAW,EAAS,EAAI,sBAAwB,EACzD,EAAS,WAAW,EAAS,EAAI,iBAAmB,EAE1D,OAAO,EAAQ,EAAQ,EAAS,EAAQ,GAD1B,WAAW,EAAS,EAAI,gBAAkB,GACC,ECX7C,SAAU,IACtB,OAAO,OAAO,iBAAmB,OAAO,iBAAmB,ECF/C,SAAUC,EAAUH,EAAkB,GAChD,GAAE,EACE,IAAC,IAAM,KAAO,EACZ,EAAI,eAAe,KACbA,EAAJ,MAAM,GAAO,EAAI,IAIzB,OAAK,E,inBCPT,4BAES,EAAAI,kBAFF,UACP,MAEAC,4BAA4B,UAAW,WAGvC,YAAS,0EAAAC,YAAU,yEAAAC,WAAS,wEAAAC,UAAQ,wEAAAC,UAAQ,sEAAAC,QAAM,8EAAAC,SAClD,aAAS,wEAAAC,UACT,aAAS,qEAAAA,UAGT,aAAS,oEAAAC,MAAI,uEAAAC,SAAO,8EAAAC,gBAGpB,YACE,sEAAAC,QACA,mFAAAC,qBACA,kFAAAC,oBACA,0EAAAC,YACA,6EAAAC,eACA,mFAAAC,qBACA,qFAAAC,uBACA,gFAAAC,kBACA,+EAAAC,iBACA,kDAAAvP,IAAA,oBAAAwP,YACA,sEAAAC,QACA,yDAAAzP,IAAA,oBAAA0P,mBACA,qFAAAC,uBACA,6FAAAvB,+BAEF,YAAS,kFAAAwB,oBAAkB,gFAAAC,kBAAgB,8EAAAC,gBAC3C,aAAS,mFAAA1H,WACT,aAAS,+EAAA2H,iBACT,aACE,uEAAAC,SACA,sEAAAC,QACA,6EAAAC,eACA,yEAAAC,WACA,uEAAAC,SACA,2EAAAC,aACA,iFAAAC,mBACA,8EAAAC,gBACA,6EAAAC,eACA,8EAAAC,gBAEF,gCACS,EAAAC,mBADF,UAEP,6BACS,EAAAC,mBACT,YAAS,qFAAAC,uBAAqB,8DAAA5Q,IAAA,oBAAA6Q,wBAAsB,2EAAAC,aACpD,aAAS,yEAAA1I,WAGT,gCAGS,EAAA2I,YAHF,UACP,gCAEsB,EAAAC,iBAFf,UACP,4BACwC,EAAAC,kBACxC,YAAS,gFAAAC,kBAAgB,sEAAAC,QAAM,wEAAAC,UAAQ,yEAAAC,WAAS,wEAAAC,UAAQ,2EAAAC,aACxD,aAAS,mFAAAC,qBAAmB,4EAAAC,cAG5B,YAAS,4EAAAC,cAGI,EAAAC,OAAS,SACT,EAAAC,QAAU,W,6BClEvB,sGAKO,IAAIC,EAAU,KACVC,EAAqC,oBAAjBC,aAA+BA,aAAepP,MAClEqP,EAASC,KAAKC,OAUZD,KAAKE,GAuBbF,KAAKG,QAAOH,KAAKG,MAAQ,WAI5B,IAHA,IAAI7M,EAAI,EACJpG,EAAI+D,UAAUxB,OAEXvC,KACLoG,GAAKrC,UAAU/D,GAAK+D,UAAU/D,GAGhC,OAAO8S,KAAKI,KAAK9M,M,izBC7Cb,EACJ,2CACI,EAAe,IAAI,OACvB,WAAW,EAAM,wCAAwC,EAAM,QAAQ,EAAM,QAC7E,MAEI,EAAc,IAAI,OAAO,qCAAqC,EAAM,QAAQ,EAAM,KAAM,MAGxF,EAAkB,SAAS,GAC/B,IAAK,EACH,OAAO,KAGP,GAAE,kBAAQ,GACN,OAAI,EAER,IAAI,EAAc,CACd,EAAD,EACC,EAAD,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACH,EAAG,EACC,EAAD,EACCS,EAAD,EACC,EAAD,EACC,EAAD,GAEC,EAAO,GA6BX,OA3BA,OAAK,GAAY,QAAQ,GAAc,SAAC,EAAG,EAAG,GAC1C,IAAE,EAAS,GACX,EAAO,EAAE,cAYT,GAXA,EAAF,QAAQ,GAAa,SAAC,EAAG,GACnB,GAAD,EAAO,MAAM,MAEP,MAAT,GAAgB,EAAO,OAAS,IAC5B,EAAD,KAAK,CAAC,GAAG,OAAO,EAAO,OAAO,EAAG,KAChC,EAAC,IACD,EAAI,MAAN,EAAY,IAAM,KAEX,MAAT,GAAkC,IAAlB,EAAO,QACnB,EAAD,KAAK,CAAC,EAAG,EAAO,KAEV,MAAT,EACI,EAAD,KAAK,CAAC,GAAG,OAAO,SAEf,KAAC,EAAO,QAAU,EAAY,KAC1B,EAAH,KAAK,CAAC,GAAG,OAAO,EAAO,OAAO,EAAG,EAAY,MAC7C,EAAY,MAKjB,OAAG,KAGF,GAIH,EAAqB,SAAS,EAAK,GAGrC,IAFA,IAAI,EAAI,GAED,EAAI,EAAG,EAAO,EAAI,OAAQ,EAAO,GAAK,EAAI,EAAG,GAAK,EAAG,CAC5D,IAAM,EAAI,CACR,CACE,GAAI,EAAI,EAAI,GACZ,GAAI,EAAI,EAAI,IAEd,CACE,GAAI,EAAI,GACR,GAAI,EAAI,EAAI,IAEd,CACE,GAAI,EAAI,EAAI,GACZ,GAAI,EAAI,EAAI,IAEd,CACE,GAAI,EAAI,EAAI,GACZ,GAAI,EAAI,EAAI,KAGZ,EACG,EAKM,EAAO,IAAM,EACtB,EAAE,GAAK,CACL,GAAI,EAAI,GACR,GAAI,EAAI,IAED,EAAO,IAAM,IACtB,EAAE,GAAK,CACL,GAAI,EAAI,GACR,GAAI,EAAI,IAEV,EAAE,GAAK,CACL,GAAI,EAAI,GACR,GAAI,EAAI,KAhBF/E,EAAN,GAAK,CACL,GAAI,EAAI,EAAO,GACf,GAAI,EAAI,EAAO,IAkBf,EAAO,IAAM,EACf,EAAE,GAAK,EAAE,GACC,IACVA,EAAE,GAAK,CACL,GAAI,EAAI,GACR,GAAI,EAAI,EAAI,KAIlB,EAAE,KAAK,CACL,MACE,EAAE,GAAG,EAAI,EAAI,EAAE,GAAG,EAAI,EAAE,GAAG,GAAK,IAChC,EAAE,GAAG,EAAI,EAAI,EAAE,GAAG,EAAI,EAAE,GAAG,GAAK,GACjC,EAAE,GAAG,EAAI,EAAI,EAAE,GAAG,EAAI,EAAE,GAAG,GAAK,GAChC,EAAE,GAAG,EAAI,EAAI,EAAE,GAAG,EAAI,EAAE,GAAG,GAAK,EACjC,EAAE,GAAG,EACL,EAAE,GAAG,IAIT,OAAO,GAGH,EAAc,SAAS,EAAG,EAAG,EAAI,EAAI,GACzC,IAAI,EAAM,GAQV,GAPU,OAAN,GAAqB,OAAP,IAChB,EAAK,GAEP,GAAK,EACL,GAAK,EACL,GAAM,EACN,GAAM,EACI,OAAN,EAAY,CACd,IAAM,EAAM,KAAK,GAAK,IAChB,EAAK,EAAI,EAAK,KAAK,KAAK,EAAK,GAC7B,EAAK,EAAI,EAAK,KAAK,KAAK,EAAI,GAGlC,EAAM,CACJ,CAAC,IAAK,EAHG,EAAI,EAAK,KAAK,KAAK,EAAK,IAIjC,CAAC,IAAK,EAAI,EAAI,IAAK,EAAI,EAAK,KAAM,EAAG,EAH5B,EAAI,EAAK,KAAK,KAAK,EAAI,UAMlC,EAAM,CAAC,CAAC,IAAK,EAAG,GAAI,CAAC,IAAK,GAAI,GAAK,CAAC,IAAK,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAI,GAAK,CAAC,IAAK,EAAI,EAAI,EAAG,EAAG,EAAG,GAAI,EAAI,GAAK,CAAC,MAE7G,OAAO,GAGH,EAAiB,SAAS,GAG9B,KAFA,EAAY,EAAgB,MAET,EAAU,OAC3B,MAAO,CAAC,CAAC,IAAK,EAAG,IAEnB,IAMI,EACA,EAPA,EAAM,GACN,EAAI,EACJ,EAAI,EACJ,EAAK,EACL,EAAK,EACL,EAAQ,EAGY,MAApB,EAAU,GAAG,KAGf,EAFA,GAAK,EAAU,GAAG,GAGlB,EAFA,GAAK,EAAU,GAAG,GAGlB,IACA,EAAI,GAAK,CAAC,IAAK,EAAG,IAOpB,IALA,IAAM,EACiB,IAArB,EAAU,QACU,MAApB,EAAU,GAAG,IACqB,MAAlC,EAAU,GAAG,GAAG,eACkB,MAAlC,EAAU,GAAG,GAAG,cACT,OAAC,EAAE,OAAE,EAAE,EAAI,EAAO,EAAK,EAAU,OAAQ,EAAI,EAAI,IAAK,CAI7D,GAHA,EAAI,KAAM,EAAI,KAEd,GADA,EAAK,EAAU,IACN,MACG,EAAI,cAEd,OADA,EAAE,GAAK,EAAI,cACH,EAAE,IACR,IAAK,IACH,EAAE,GAAK,EAAG,GACV,EAAE,GAAK,EAAG,GACV,EAAE,GAAK,EAAG,GACV,EAAE,GAAK,EAAG,GACV,EAAE,GAAK,EAAG,GACV,EAAE,IAAM,EAAG,GAAK,EAChB,EAAE,IAAM,EAAG,GAAK,EAChB,MACF,IAAK,IACH,EAAE,IAAM,EAAG,GAAK,EAChB,MACF,IAAK,IACH,EAAE,IAAM,EAAG,GAAK,EAChB,MACF,IAAK,IAEH,IAAK,IAAI,EAAI,EAAG,GADhB,EAAO,CAAC,EAAG,GAAG,OAAO,EAAG,MAAM,KACJ,OAAQ,EAAI,EAAI,IACxC,EAAK,IAAM,EAAK,GAAK,EACrB,IAAO,IAAM,EAAK,GAAK,EAEzB,EAAI,MACJ,EAAM,EAAI,OAAO,EAAmB,EAAM,IAC1C,MACF,IAAK,IACH,EAAI,OACJ,EAAO,EAAY,EAAG,EAAG,EAAG,GAAI,EAAG,KAC9B,KAAK,EAAK,IACf,EAAM,EAAI,OAAO,GACjB,MACF,IAAK,IACH,EAAI,MACJ,EAAM,EAAI,OAAO,EAAY,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,KACpD,EAAI,CAAC,KAAK,OAAO,EAAI,EAAI,OAAS,GAAG,OAAO,IAC5C,MACF,IAAK,IACH,GAAM,EAAG,GAAK,EACd,GAAM,EAAG,GAAK,EACd,MACF,QACE,IAAS,EAAI,EAAG,EAAK,EAAG,OAAQ,EAAI,EAAI,IACtC,EAAE,IAAM,EAAG,IAAM,EAAI,EAAI,EAAI,QAG9B,GAAY,MAAR,EACT,EAAO,CAAC,EAAG,GAAG,OAAO,EAAG,MAAM,IAC9B,EAAI,MACJ,EAAM,EAAI,OAAO,EAAmB,EAAM,IAC1C,EAAI,CAAC,KAAK,OAAO,EAAG,OAAO,SACtB,GAAY,MAAR,EACT,EAAI,OACJ,EAAO,EAAY,EAAG,EAAG,EAAG,GAAI,EAAG,KAC9B,KAAK,EAAK,IACf,EAAM,EAAI,OAAO,QACZ,GAAY,MAAR,EACT,EAAI,MACJ,EAAM,EAAI,OAAO,EAAY,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,KACpD,EAAI,CAAC,KAAK,OAAO,EAAI,EAAI,OAAS,GAAG,OAAO,SAE5C,IAAK,IAAI,EAAI,EAAG,EAAK,EAAG,OAAQ,EAAI,EAAI,IACtC,EAAE,GAAK,EAAG,GAId,GAAY,OADZ,EAAM,EAAI,eAER,OAAQ,EAAE,IACR,IAAK,IACH,GAAK,EACL,GAAK,EACL,MACF,IAAK,IACH,EAAI,EAAE,GACN,MACF,IAAK,IACH,EAAI,EAAE,GACN,MACF,IAAK,IACH,EAAK,EAAE,EAAE,OAAS,GAClB,EAAK,EAAE,EAAE,OAAS,GAClB,MACF,QACE,EAAI,EAAE,EAAE,OAAS,GACjB,EAAI,EAAE,EAAE,OAAS,IAKzB,OAAO,GAGH,EAAM,SAAS,EAAI,EAAI,EAAI,GAC/B,MAAO,CAAC,EAAI,EAAI,EAAI,EAAI,EAAI,IAGxB,EAAM,SAAS,EAAI,EAAI,EAAI,EAAI,EAAI,GAGvC,MAAO,CAFK,EAAI,EAEF,EADF,EAAI,EACS,EAFb,EAAI,EAEmB,EADvB,EAAI,EAC8B,EAFlC,EAAI,EAEwC,EAD5C,EAAI,EACmD,EAFvD,EAAI,EAE6D,EADjE,EAAI,EACwE,EAAI,EAAI,IAG5F,EAAM,SAAN,EAAe,EAAI,EAAI,EAAI,EAAI,EAAO,EAAgB,EAAY,EAAI,EAAI,GAG1E,IAAO,IACT,GAAM,GAGR,IAGI,EACA,EACA,EACA,EACA,EAPE,EAAkB,IAAV,KAAK,GAAY,IACzB,EAAO,KAAK,GAAK,MAAS,GAAS,GACrC,EAAM,GAMJ,EAAS,SAAS,EAAG,EAAG,GAG5B,MAAO,CACL,EAHQ,EAAI,KAAK,IAAI,GAAO,EAAI,KAAK,IAAI,GAIzC,EAHQ,EAAI,KAAK,IAAI,GAAO,EAAI,KAAK,IAAI,KAM7C,GAAK,EA6CH,EAAK,EAAU,GACf,EAAK,EAAU,GACf,EAAK,EAAU,GACf,EAAK,EAAU,OAhDD,CAEd,GADA,EAAK,EAAO,EAAI,GAAK,IACb,EACR,EAAK,EAAG,EAER,GADA,EAAK,EAAO,EAAI,GAAK,IACb,EACR,EAAK,EAAG,EACJ,IAAO,GAAM,IAAO,IAEtB,GAAM,EACN,GAAM,GAIR,IAAM,GAAK,EAAK,GAAM,EAChB,GAAK,EAAK,GAAM,EAClB,EAAK,EAAI,GAAM,EAAK,GAAO,EAAI,GAAM,EAAK,GAC1C,EAAI,IAEN,GADA,EAAI,KAAK,KAAK,GAEd,GAAK,GAEP,IAAM,EAAM,EAAK,EACX,EAAM,EAAK,EACX,GACH,IAAmB,GAAc,EAAI,GACtC,KAAK,KAAK,KAAK,KAAK,EAAM,EAAM,EAAM,EAAI,EAAI,EAAM,EAAI,IAAM,EAAM,EAAI,EAAI,EAAM,EAAI,KACxF,EAAM,EAAI,EAAK,EAAK,GAAM,EAAK,GAAM,EACrC,EAAM,GAAK,EAAK,EAAK,GAAM,EAAK,GAAM,EAEtC,EAAK,KAAK,OAAO,EAAK,GAAM,GAAI,QAAQ,IAExC,EAAK,KAAK,OAAO,EAAK,GAAM,GAAI,QAAQ,IAExC,EAAK,EAAK,EAAK,KAAK,GAAK,EAAK,EAC9B,EAAK,EAAK,EAAK,KAAK,GAAK,EAAK,EAC9B,EAAK,IAAM,EAAe,EAAV,KAAK,GAAS,GAC9B,EAAK,IAAM,EAAe,EAAV,KAAK,GAAS,GAC1B,GAAc,EAAK,IACrB,GAAoB,EAAV,KAAK,KAEZ,GAAc,EAAK,IACtB,GAAoB,EAAV,KAAK,IAQnB,IAAI,EAAK,EAAK,EACd,GAAI,KAAK,IAAI,GAAM,EAAM,CACvB,IAAM,EAAQ,EACR,EAAQ,EACR,EAAQ,EACd,EAAK,EAAK,GAAQ,GAAc,EAAK,EAAK,GAAK,GAG/C,EAAM,EAFN,EAAK,EAAK,EAAK,KAAK,IAAI,GACxB,EAAK,EAAK,EAAK,KAAK,IAAI,GACN,EAAI,EAAI,EAAO,EAAG,EAAY,EAAO,EAAO,CAAC,EAAI,EAAO,EAAI,IAEhF,EAAK,EAAK,EACV,IAAM,EAAK,KAAK,IAAI,GACd,EAAK,KAAK,IAAI,GACd,EAAK,KAAK,IAAI,GACd,EAAK,KAAK,IAAI,GACd,EAAI,KAAK,IAAI,EAAK,GAClB,EAAM,EAAI,EAAK,EAAK,EACpB,EAAM,EAAI,EAAK,EAAK,EACpB,EAAK,CAAC,EAAI,GACV,EAAK,CAAC,EAAK,EAAK,EAAI,EAAK,EAAK,GAC9B,EAAK,CAAC,EAAK,EAAK,EAAI,EAAK,EAAK,GAC9B,EAAK,CAAC,EAAI,GAGhB,GAFA,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,GACvB,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,GACnB,EACF,MAAO,CAAC,EAAI,EAAI,GAAI,OAAO,GAO7B,IADA,IAAM,EAAS,GACN,EAAI,EAAG,GALhB,EAAM,CAAC,EAAI,EAAI,GACZ,OAAO,GACP,OACA,MAAM,MAEgB,OAAQ,EAAI,EAAI,IACvC,EAAO,GAAK,EAAI,EAAI,EAAO,EAAI,EAAI,GAAI,EAAI,GAAI,GAAK,EAAI,EAAO,EAAI,GAAI,EAAI,EAAI,GAAI,GAAK,EAE1F,OAAO,GAGH,EAAc,SAAS,EAAM,GACjC,IA0BI,EA1BE,EAAI,EAAe,GACnB,EAAK,GAAS,EAAe,GAC7B,EAAQ,CACZ,EAAG,EACH,EAAG,EACH,GAAI,EACJ,GAAI,EACJ,EAAG,EACH,EAAG,EACH,GAAI,KACJ,GAAI,MAEA,EAAS,CACb,EAAG,EACH,EAAG,EACH,GAAI,EACJ,GAAI,EACJ,EAAG,EACH,EAAG,EACH,GAAI,KACJ,GAAI,MAEA,EAAS,GACT,EAAS,GACX,EAAS,GACT,EAAO,GAEL,EAAc,SAAS,EAAM,EAAG,GACpC,IAAI,EACA,EACJ,IAAK,EACH,MAAO,CAAC,IAAK,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,GAS1C,SANE,EAAK,IACL,CACE,EAAG,EACH,EAAG,MAED,EAAE,GAAK,EAAE,GAAK,MACZ,EAAK,IACX,IAAK,IACH,EAAE,EAAI,EAAK,GACX,EAAE,EAAI,EAAK,GACX,MACF,IAAK,IACH,EAAO,CAAC,KAAK,OAAO,EAAI,MAAM,EAAG,CAAC,EAAE,EAAG,EAAE,GAAG,OAAO,EAAK,MAAM,MAC9D,MACF,IAAK,IACU,MAAT,GAAyB,MAAT,GAElB,EAAW,EAAN,EAAE,EAAQ,EAAE,GACjB,EAAW,EAAN,EAAE,EAAQ,EAAE,KAGjB,EAAK,EAAE,EACP,EAAK,EAAE,GAET,EAAO,CAAC,IAAK,EAAI,GAAI,OAAO,EAAK,MAAM,IACvC,MACF,IAAK,IACU,MAAT,GAAyB,MAAT,GAElB,EAAE,GAAW,EAAN,EAAE,EAAQ,EAAE,GACnB,EAAE,GAAW,EAAN,EAAE,EAAQ,EAAE,KAGnB,EAAE,GAAK,EAAE,EACT,EAAE,GAAK,EAAE,GAEX,EAAO,CAAC,KAAK,OAAO,EAAI,EAAE,EAAG,EAAE,EAAG,EAAE,GAAI,EAAE,GAAI,EAAK,GAAI,EAAK,KAC5D,MACF,IAAK,IACH,EAAE,GAAK,EAAK,GACZ,EAAE,GAAK,EAAK,GACZ,EAAO,CAAC,KAAK,OAAO,EAAI,EAAE,EAAG,EAAE,EAAG,EAAK,GAAI,EAAK,GAAI,EAAK,GAAI,EAAK,KAClE,MACF,IAAK,IACH,EAAO,CAAC,KAAK,OAAO,EAAI,EAAE,EAAG,EAAE,EAAG,EAAK,GAAI,EAAK,KAChD,MACF,IAAK,IACH,EAAO,CAAC,KAAK,OAAO,EAAI,EAAE,EAAG,EAAE,EAAG,EAAK,GAAI,EAAE,IAC7C,MACF,IAAK,IACH,EAAO,CAAC,KAAK,OAAO,EAAI,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAK,KAC5C,MACF,IAAK,IACH,EAAO,CAAC,KAAK,OAAO,EAAI,EAAE,EAAG,EAAE,EAAG,EAAE,EAAG,EAAE,IAK7C,OAAO,GAEH,EAAS,SAAS,EAAI,GAC1B,GAAI,EAAG,GAAG,OAAS,EAAG,CACpB,EAAG,GAAG,QAEN,IADA,IAAM,EAAK,EAAG,GACP,EAAG,QACR,EAAO,GAAK,IACZ,IAAO,EAAO,GAAK,KACnB,EAAG,OAAO,IAAK,EAAG,CAAC,KAAK,OAAO,EAAG,OAAO,EAAG,KAE9C,EAAG,OAAO,EAAG,GACb,EAAK,KAAK,IAAI,EAAE,OAAS,GAAM,EAAG,QAAW,KAG3C,EAAO,SAAS,EAAO,EAAO,EAAI,EAAI,GACtC,GAAS,GAAyB,MAAhB,EAAM,GAAG,IAA8B,MAAhB,EAAM,GAAG,KACpD,EAAM,OAAO,EAAG,EAAG,CAAC,IAAK,EAAG,EAAG,EAAG,IAClC,EAAG,GAAK,EACR,EAAG,GAAK,EACR,EAAG,EAAI,EAAM,GAAG,GAChB,EAAG,EAAI,EAAM,GAAG,GAChB,EAAK,KAAK,IAAI,EAAE,OAAS,GAAM,EAAG,QAAW,KAGjD,EAAK,KAAK,IAAI,EAAE,OAAS,GAAM,EAAG,QAAW,GAC7C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,IAAK,CAC3B,EAAE,KAAO,EAAS,EAAE,GAAG,IAER,MAAX,IAEF,EAAO,GAAK,EACZ,IAAM,EAAO,EAAO,EAAI,KAE1B,EAAE,GAAK,EAAY,EAAE,GAAI,EAAO,GAEd,MAAd,EAAO,IAAyB,MAAX,IAAgB,EAAO,GAAK,KAIrD,EAAO,EAAG,GAEN,IAEF,EAAG,KAAO,EAAS,EAAG,GAAG,IACV,MAAX,IACF,EAAO,GAAK,EACZ,IAAM,EAAO,EAAO,EAAI,KAE1B,EAAG,GAAK,EAAY,EAAG,GAAI,EAAQ,GAEjB,MAAd,EAAO,IAAyB,MAAX,IACvB,EAAO,GAAK,KAGd,EAAO,EAAI,IAEb,EAAK,EAAG,EAAI,EAAO,EAAQ,GAC3B,EAAK,EAAI,EAAG,EAAQ,EAAO,GAC3B,IAAM,EAAM,EAAE,GACR,EAAO,GAAM,EAAG,GAChB,EAAS,EAAI,OACb,EAAU,GAAM,EAAK,OAC3B,EAAM,EAAI,EAAI,EAAS,GACvB,EAAM,EAAI,EAAI,EAAS,GACvB,EAAM,GAAK,WAAW,EAAI,EAAS,KAAO,EAAM,EAChD,EAAM,GAAK,WAAW,EAAI,EAAS,KAAO,EAAM,EAChD,EAAO,GAAK,IAAO,WAAW,EAAK,EAAU,KAAO,EAAO,GAC3D,EAAO,GAAK,IAAO,WAAW,EAAK,EAAU,KAAO,EAAO,GAC3D,EAAO,EAAI,GAAM,EAAK,EAAU,GAChC,EAAO,EAAI,GAAM,EAAK,EAAU,GAGlC,OAAO,EAAK,CAAC,EAAG,GAAM,GAGlB,EAAM,gBACN,EAAiB,SAAS,GAC9B,OAAO,EAAK,KAAK,KAAK,QAAQ,EAAK,OAG/B,EAAQ,SAAS,EAAG,EAAI,EAAI,EAAI,GAGpC,OAAO,GADI,IADC,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,GACvB,EAAI,EAAK,GAAK,EAAK,EAAI,GAC3B,EAAI,EAAK,EAAI,GAGzB,EAAS,SAAS,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GAC5C,OAAN,IACF,EAAI,GAqBN,IAlBA,IAAM,GADN,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GACb,EAET,EAAU,EACb,MACD,OACC,MACD,OACC,MACD,OACC,MACD,OACC,MACD,OACC,MACD,OAEI,EAAU,CAAC,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,OACrG,EAAM,EACD,EAAI,EAAG,EAjBN,GAiBa,IAAK,CAC1B,IAAM,EAAK,EAAK,EAAQ,GAAK,EACvB,EAAQ,EAAM,EAAI,EAAI,EAAI,EAAI,GAC9B,EAAQ,EAAM,EAAI,EAAI,EAAI,EAAI,GAC9B,EAAO,EAAQ,EAAQ,EAAQ,EACrC,GAAO,EAAQ,GAAK,KAAK,KAAK,GAEhC,OAAO,EAAK,GAGR,EAAW,SAAS,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GAQpD,IAPA,IAEI,EACA,EACA,EACA,EALE,EAAU,GACV,EAAS,CAAC,GAAI,IAMX,EAAI,EAAG,EAAI,IAAK,EAUvB,GATU,IAAN,GACF,EAAI,EAAI,EAAK,GAAK,EAAK,EAAI,EAC3B,GAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EACpC,EAAI,EAAI,EAAK,EAAI,IAEjB,EAAI,EAAI,EAAK,GAAK,EAAK,EAAI,EAC3B,GAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EACpC,EAAI,EAAI,EAAK,EAAI,GAEf,KAAK,IAAI,GAAK,MAAlB,CACE,GAAI,KAAK,IAAI,GAAK,MAChB,UAEF,GAAK,EAAI,GACD,GAAK,EAAI,GACf,EAAQ,KAAK,OANjB,CAUA,IAAM,EAAO,EAAI,EAAI,EAAI,EAAI,EACvB,EAAW,KAAK,KAAK,GAC3B,KAAI,EAAO,GAAX,CAGA,IAAM,IAAO,EAAI,IAAa,EAAI,GAC9B,EAAK,GAAK,EAAK,GACjB,EAAQ,KAAK,GAEf,IAAM,IAAO,EAAI,IAAa,EAAI,GAC9B,EAAK,GAAK,EAAK,GACjB,EAAQ,KAAK,IAOjB,IAHA,IAEI,EAFA,EAAI,EAAQ,OACV,EAAO,EAEN,KAEL,EAAK,GADL,EAAI,EAAQ,IAEZ,EAAO,GAAG,GAAK,EAAK,EAAK,EAAK,EAAK,EAAI,EAAK,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAI,EAAK,EAAI,EAAI,EAAI,EAC5F,EAAO,GAAG,GAAK,EAAK,EAAK,EAAK,EAAK,EAAI,EAAK,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAI,EAAK,EAAI,EAAI,EAAI,EAS9F,OANA,EAAO,GAAG,GAAQ,EAClB,EAAO,GAAG,GAAQ,EAClB,EAAO,GAAG,EAAO,GAAK,EACtB,EAAO,GAAG,EAAO,GAAK,EACtB,EAAO,GAAG,OAAS,EAAO,GAAG,OAAS,EAAO,EAEtC,CACL,IAAK,CACH,EAAG,KAAK,IAAI,MAAM,EAAG,EAAO,IAC5B,EAAG,KAAK,IAAI,MAAM,EAAG,EAAO,KAE9B,IAAK,CACH,EAAG,KAAK,IAAI,MAAM,EAAG,EAAO,IAC5B,EAAG,KAAK,IAAI,MAAM,EAAG,EAAO,OAK5B,EAAY,SAAS,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GACrD,KACE,KAAK,IAAI,EAAI,GAAM,KAAK,IAAI,EAAI,IAChC,KAAK,IAAI,EAAI,GAAM,KAAK,IAAI,EAAI,IAChC,KAAK,IAAI,EAAI,GAAM,KAAK,IAAI,EAAI,IAChC,KAAK,IAAI,EAAI,GAAM,KAAK,IAAI,EAAI,IAJlC,CAQA,IAEM,GAAe,EAAK,IAAO,EAAK,IAAO,EAAK,IAAO,EAAK,GAE9D,GAAK,EAAL,CAGA,IAAM,IAPM,EAAK,EAAK,EAAK,IAAO,EAAK,IAAO,EAAK,IAAO,EAAK,EAAK,EAAK,IAOzD,EACV,IAPM,EAAK,EAAK,EAAK,IAAO,EAAK,IAAO,EAAK,IAAO,EAAK,EAAK,EAAK,IAOzD,EACV,GAAO,EAAG,QAAQ,GAClB,GAAO,EAAG,QAAQ,GACxB,KACE,GAAO,KAAK,IAAI,EAAI,GAAI,QAAQ,IAChC,GAAO,KAAK,IAAI,EAAI,GAAI,QAAQ,IAChC,GAAO,KAAK,IAAI,EAAI,GAAI,QAAQ,IAChC,GAAO,KAAK,IAAI,EAAI,GAAI,QAAQ,IAChC,GAAO,KAAK,IAAI,EAAI,GAAI,QAAQ,IAChC,GAAO,KAAK,IAAI,EAAI,GAAI,QAAQ,IAChC,GAAO,KAAK,IAAI,EAAI,GAAI,QAAQ,IAChC,GAAO,KAAK,IAAI,EAAI,GAAI,QAAQ,IAIlC,MAAO,CACL,EAAG,EACH,EAAG,MAID,EAAoB,SAAS,EAAM,EAAG,GAC1C,OAAO,GAAK,EAAK,GAAK,GAAK,EAAK,EAAI,EAAK,OAAS,GAAK,EAAK,GAAK,GAAK,EAAK,EAAI,EAAK,QAGhF,EAAW,SAAS,EAAG,EAAG,EAAG,EAAG,GACpC,GAAI,EACF,MAAO,CACL,CAAC,KAAM,IAAK,EAAG,GACf,CAAC,IAAK,EAAQ,EAAJ,EAAO,GACjB,CAAC,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACxB,CAAC,IAAK,EAAG,EAAQ,EAAJ,GACb,CAAC,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GACzB,CAAC,IAAS,EAAJ,EAAQ,EAAG,GACjB,CAAC,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAC1B,CAAC,IAAK,EAAO,EAAJ,EAAQ,GACjB,CAAC,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GACzB,CAAC,MAGL,IAAM,EAAM,CAAC,CAAC,IAAK,EAAG,GAAI,CAAC,IAAK,EAAG,GAAI,CAAC,IAAK,EAAG,GAAI,CAAC,KAAM,EAAG,GAAI,CAAC,MAGnE,OADA,EAAI,eAAiB,EACd,GAGH,EAAM,SAAS,EAAI,EAAI,EAAQ,GAUnC,OATU,OAAN,IACF,EAAI,EAAI,EAAQ,EAAS,GAEjB,OAAN,IACF,EAAI,EAAE,EACN,EAAQ,EAAE,MACV,EAAS,EAAE,OACX,EAAI,EAAE,GAED,CACL,EAAC,EACD,EAAC,EACD,MAAK,EACL,EAAG,EACH,OAAM,EACN,EAAG,EACH,GAAI,EAAI,EACR,GAAI,EAAI,EACR,GAAI,EAAI,EAAQ,EAChB,GAAI,EAAI,EAAS,EACjB,GAAI,KAAK,IAAI,EAAO,GAAU,EAC9B,GAAI,KAAK,IAAI,EAAO,GAAU,EAC9B,GAAI,KAAK,KAAK,EAAQ,EAAQ,EAAS,GAAU,EACjD,KAAM,EAAS,EAAG,EAAG,EAAO,GAC5B,GAAI,CAAC,EAAG,EAAG,EAAO,GAAQ,KAAK,OAqB7B,EAAa,SAAS,EAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,GAC9D,kBAAQ,KACX,EAAM,CAAC,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,IAE5C,IAAM,EAAO,EAAS,MAAM,KAAM,GAClC,OAAO,EAAI,EAAK,IAAI,EAAG,EAAK,IAAI,EAAG,EAAK,IAAI,EAAI,EAAK,IAAI,EAAG,EAAK,IAAI,EAAI,EAAK,IAAI,IAG9E,EAAoB,SAAS,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GACzE,IAAM,EAAK,EAAI,EACT,EAAM,KAAK,IAAI,EAAI,GACnB,EAAM,KAAK,IAAI,EAAI,GACnB,EAAK,EAAI,EACT,EAAK,EAAK,EAGV,EAAK,EAAM,EAAI,GAAK,EAAM,GAAO,GAAM,EAAM,EAAI,EAAM,GACvD,EAAK,EAAM,EAAI,GAAK,EAAM,GAAO,GAAM,EAAM,EAAI,EAAM,GACvD,EAAK,EAAM,EAAI,GAAK,EAAM,GAAO,GAAM,EAAM,EAAI,EAAM,GACvD,EAAK,EAAM,EAAI,GAAK,EAAM,GAAO,GAAM,EAAM,EAAI,EAAM,GAO7D,MAAO,CACL,EAbQ,EAAM,EAAY,EAAN,EAAU,EAAI,EAAW,EAAL,EAAS,EAAI,EAAI,EAAM,EAAK,EAcpE,EAbQ,EAAM,EAAY,EAAN,EAAU,EAAI,EAAW,EAAL,EAAS,EAAI,EAAI,EAAM,EAAK,EAcpE,EAAG,CACD,EAAG,EACH,EAAG,GAEL,EAAG,CACD,EAAG,EACH,EAAG,GAEL,MAAO,CACL,EAlBO,EAAK,EAAM,EAAI,EAmBtB,EAlBO,EAAK,EAAM,EAAI,GAoBxB,IAAK,CACH,EApBO,EAAK,EAAM,EAAI,EAqBtB,EApBO,EAAK,EAAM,EAAI,GAsBxB,MArBY,GAAqC,IAA/B,KAAK,MAAM,EAAK,EAAI,EAAK,GAAa,KAAK,KAyB3D,EAAc,SAAS,EAAM,EAAM,GAGvC,IArEsB,SAAS,EAAO,GAGtC,OAFA,EAAQ,EAAI,GACZ,EAAQ,EAAI,GAEV,EAAkB,EAAO,EAAM,EAAG,EAAM,IACxC,EAAkB,EAAO,EAAM,GAAI,EAAM,IACzC,EAAkB,EAAO,EAAM,EAAG,EAAM,KACxC,EAAkB,EAAO,EAAM,GAAI,EAAM,KACzC,EAAkB,EAAO,EAAM,EAAG,EAAM,IACxC,EAAkB,EAAO,EAAM,GAAI,EAAM,IACzC,EAAkB,EAAO,EAAM,EAAG,EAAM,KACxC,EAAkB,EAAO,EAAM,GAAI,EAAM,MACtC,EAAM,EAAI,EAAM,IAAM,EAAM,EAAI,EAAM,GAAO,EAAM,EAAI,EAAM,IAAM,EAAM,EAAI,EAAM,KAClF,EAAM,EAAI,EAAM,IAAM,EAAM,EAAI,EAAM,GAAO,EAAM,EAAI,EAAM,IAAM,EAAM,EAAI,EAAM,GAwDpF,CAFS,EAAW,GACX,EAAW,IAEvB,OAAO,EAAY,EAAI,GAUzB,IARA,IAEM,KAFK,EAAO,MAAM,EAAG,GAER,GACb,KAFK,EAAO,MAAM,EAAG,GAER,GACb,EAAQ,GACR,EAAQ,GACR,EAAK,GACP,EAAM,EAAY,EAAI,GACjB,EAAI,EAAG,EAAI,EAAK,EAAG,IAAK,CAC/B,IAAM,EAAI,EAAkB,MAAM,EAAG,EAAK,OAAO,EAAI,IACrD,EAAM,KAAK,CACT,EAAG,EAAE,EACL,EAAG,EAAE,EACL,EAAG,EAAI,IAGX,IAAS,EAAI,EAAG,EAAI,EAAK,EAAG,IAAK,CACzB,EAAI,EAAkB,MAAM,EAAG,EAAK,OAAO,EAAI,IACrD,EAAM,KAAK,CACT,EAAG,EAAE,EACL,EAAG,EAAE,EACL,EAAG,EAAI,IAGX,IAAS,EAAI,EAAG,EAAI,EAAI,IACtB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,IAAK,CAC3B,IAAM,EAAK,EAAM,GACX,EAAM,EAAM,EAAI,GAChB,EAAK,EAAM,GACX,EAAM,EAAM,EAAI,GAChB,EAAK,KAAK,IAAI,EAAI,EAAI,EAAG,GAAK,KAAQ,IAAM,IAC5C,EAAK,KAAK,IAAI,EAAI,EAAI,EAAG,GAAK,KAAQ,IAAM,IAC5C,EAAK,EAAU,EAAG,EAAG,EAAG,EAAG,EAAI,EAAG,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAI,EAAG,EAAI,GACtE,GAAI,EAAI,CACN,GAAI,EAAG,EAAG,EAAE,QAAQ,MAAQ,EAAG,EAAE,QAAQ,GACvC,SAEF,EAAG,EAAG,EAAE,QAAQ,IAAM,EAAG,EAAE,QAAQ,GACnC,IAAM,EAAK,EAAG,EAAI,KAAK,KAAK,EAAG,GAAM,EAAG,KAAQ,EAAI,GAAM,EAAG,MAAS,EAAI,EAAI,EAAG,GAC3E,EAAK,EAAG,EAAI,KAAK,KAAK,EAAG,GAAM,EAAG,KAAQ,EAAI,GAAM,EAAG,MAAS,EAAI,EAAI,EAAG,GAC7E,GAAM,GAAK,GAAM,GAAK,GAAM,GAAK,GAAM,IACrC,EAEF,GAAO,EAGP,EAAI,KAAK,CACP,EAAG,EAAG,EACN,EAAG,EAAG,EACN,GAAE,EACF,GAAE,MAOd,OAAO,GAqEH,EAAe,SAAS,EAAO,GACnC,OAnEsB,SAAS,EAAO,EAAO,GAG7C,IAAI,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EAXJ,EAAQ,EAAY,GACpB,EAAQ,EAAY,GAYpB,IADA,IAAI,EAAM,EAAY,EAAI,GACjB,EAAI,EAAG,EAAK,EAAM,OAAQ,EAAI,EAAI,IAAK,CAC9C,IAAM,EAAK,EAAM,GACjB,GAAc,MAAV,EAAG,GACL,EAAK,EAAM,EAAG,GACd,EAAK,EAAM,EAAG,OACT,CACS,MAAV,EAAG,IACL,EAAO,CAAC,EAAI,GAAI,OAAO,EAAG,MAAM,IAChC,EAAK,EAAK,GACV,EAAK,EAAK,KAEV,EAAO,CAAC,EAAI,EAAI,EAAI,EAAI,EAAK,EAAK,EAAK,GACvC,EAAK,EACL,EAAK,GAEP,IAAK,IAAI,EAAI,EAAG,EAAK,EAAM,OAAQ,EAAI,EAAI,IAAK,CAC9C,IAAM,EAAK,EAAM,GACjB,GAAc,MAAV,EAAG,GACL,EAAK,EAAM,EAAG,GACd,EAAK,EAAM,EAAG,OACT,CACS,MAAV,EAAG,IACL,EAAO,CAAC,EAAI,GAAI,OAAO,EAAG,MAAM,IAChC,EAAK,EAAK,GACV,EAAK,EAAK,KAEV,EAAO,CAAC,EAAI,EAAI,EAAI,EAAI,EAAK,EAAK,EAAK,GACvC,EAAK,EACL,EAAK,GAEP,IAAM,EAAO,EAAY,EAAM,EAAM,GACrC,GAAI,EAEF,GAAO,MACF,CAEL,IAAK,IAAI,EAAI,EAAG,EAAK,EAAK,OAAQ,EAAI,EAAI,IACxC,EAAK,GAAG,SAAW,EACnB,EAAK,GAAG,SAAW,EACnB,EAAK,GAAG,KAAO,EACf,EAAK,GAAG,KAAO,EAGjB,EAAM,EAAI,OAAO,OAM3B,OAAO,EAIA,CAAgB,EAAO,IAGhC,SAAS,EAAY,EAAQ,GAC3B,IAAM,EAAO,GACP,EAAQ,GA0Bd,OAHI,EAAO,QArBX,SAAS,EAAQ,EAAQ,GACvB,GAAsB,IAAlB,EAAO,OACT,EAAK,KAAK,EAAO,IACjB,EAAM,KAAK,EAAO,QACb,CAEL,IADA,IAAM,EAAe,GACZ,EAAI,EAAG,EAAI,EAAO,OAAS,EAAG,IAC3B,IAAN,GACF,EAAK,KAAK,EAAO,IAEf,IAAM,EAAO,OAAS,GACxB,EAAM,KAAK,EAAO,EAAI,IAExB,EAAa,GAAK,EACf,EAAI,GAAK,EAAO,GAAG,GAAK,EAAI,EAAO,EAAI,GAAG,IAC1C,EAAI,GAAK,EAAO,GAAG,GAAK,EAAI,EAAO,EAAI,GAAG,IAG/C,EAAQ,EAAc,IAIxB,CAAQ,EAAQ,GAEX,CAAE,KAAI,EAAE,MAAO,EAAM,WAoD9B,IAAM,EAAe,SAAS,EAAO,EAAK,GACxC,GAAc,IAAV,EACF,MAAO,CAAC,GAAG,OAAO,IAEpB,IAAI,EAAW,GACf,GAAe,MAAX,EAAI,IAAyB,MAAX,EAAI,IAAyB,MAAX,EAAI,GAC1C,EAAW,EAAS,OAvDxB,SAAoB,EAAO,EAAK,GAC9B,IAAM,EAAS,CAAC,CAAC,EAAM,GAAI,EAAM,KACjC,EAAQ,GAAS,EACjB,IAAM,EAAW,GACF,MAAX,EAAI,IACN,EAAO,KAAK,EAAI,IAChB,EAAO,KAAK,EAAI,KACI,MAAX,EAAI,IACb,EAAO,KAAK,CAAC,EAAI,GAAI,EAAI,KACzB,EAAO,KAAK,CAAC,EAAI,GAAI,EAAI,KACzB,EAAO,KAAK,CAAC,EAAI,GAAI,EAAI,MACL,MAAX,EAAI,IAAyB,MAAX,EAAI,IAC/B,EAAO,KAAK,CAAC,EAAI,GAAI,EAAI,KACzB,EAAO,KAAK,CAAC,EAAI,GAAI,EAAI,MAEzB,EAAO,KAAK,CAAC,EAAI,GAAI,EAAI,KAM3B,IAHA,IAAI,EAAe,EACb,EAAI,EAAI,EAEL,EAAI,EAAG,EAAI,EAAQ,EAAG,IAAK,CAClC,IACM,EAAQ,EAAY,EADf,GAAK,EAAI,EAAI,IAExB,EAAS,KAAK,EAAM,MACpB,EAAe,EAAM,MAqBvB,OAnBA,EAAS,KAAK,GACC,EAAS,KAAI,SAAC,GAC3B,IAAI,EAAM,GAeV,OAduB,IAAnB,EAAQ,SACV,EAAI,KAAK,KACT,EAAM,EAAI,OAAO,EAAQ,KAEvB,EAAQ,QAAU,IACG,IAAnB,EAAQ,QACV,EAAI,KAAK,KAEX,EAAM,EAAI,OAAO,EAAQ,KAEJ,IAAnB,EAAQ,QACV,EAAI,KAAK,KAEX,EAAM,EAAI,OAAO,EAAQ,EAAQ,OAAS,OAYf,CAAW,EAAO,EAAK,QAC7C,CACL,IAAM,EAAO,GAAG,OAAO,GACP,MAAZ,EAAK,KACP,EAAK,GAAK,KAEZ,IAAK,IAAI,EAAI,EAAG,GAAK,EAAQ,EAAG,IAC9B,EAAS,KAAK,GAGlB,OAAO,GAGH,EAAW,SAAS,EAAQ,GAChC,GAAsB,IAAlB,EAAO,OACT,OAAO,EAET,IAAM,EAAY,EAAO,OAAS,EAC5B,EAAY,EAAO,OAAS,EAC5B,EAAQ,EAAY,EACpB,EAAiB,GACvB,GAAsB,IAAlB,EAAO,QAAiC,MAAjB,EAAO,GAAG,GAAY,CAC/C,IAAK,IAAI,EAAI,EAAG,EAAI,EAAY,EAAW,IACzC,EAAO,KAAK,EAAO,IAErB,OAAO,EAET,IAAS,EAAI,EAAG,EAAI,EAAW,IAAK,CAClC,IAAM,EAAQ,KAAK,MAAM,EAAQ,GACjC,EAAe,IAAU,EAAe,IAAU,GAAK,EAEzD,IAAM,EAAS,EAAe,QAAO,SAAC,EAAQ,EAAO,GACnD,OAAI,IAAM,EACD,EAAO,OAAO,EAAO,IAEvB,EAAO,OAAO,EAAa,EAAO,GAAI,EAAO,EAAI,GAAI,MAC3D,IAKH,OAJA,EAAO,QAAQ,EAAO,IACI,MAAtB,EAAO,IAA4C,MAAtB,EAAO,IACtC,EAAO,KAAK,KAEP,GAGH,EAAU,SAAS,EAAM,GAC7B,GAAI,EAAK,SAAW,EAAK,OACvB,OAAO,EAET,IAAI,GAAS,EAOb,OANA,eAAK,GAAM,SAAC,EAAM,GAChB,GAAI,IAAS,EAAK,GAEhB,OADA,GAAS,GACF,KAGJ,GAET,SAAS,EAAW,EAAK,EAAK,GAC5B,IAAI,EAAO,KACP,EAAM,EASV,OARI,EAAM,IACR,EAAM,EACN,EAAO,OAEL,EAAM,IACR,EAAM,EACN,EAAO,OAEF,CACL,KAAI,EACJ,IAAG,GAQP,IAoCM,EAAiB,SAAS,EAAQ,GACtC,IAAM,EArCoB,SAAS,EAAQ,GAC3C,IAEI,EACA,EAHE,EAAY,EAAO,OACnB,EAAY,EAAO,OAGrB,EAAO,EACX,GAAkB,IAAd,GAAiC,IAAd,EACrB,OAAO,KAGT,IADA,IAAM,EAAO,GACJ,EAAI,EAAG,GAAK,EAAW,IAC9B,EAAK,GAAK,GACV,EAAK,GAAG,GAAK,CAAE,IAAK,GAEtB,IAAK,IAAI,EAAI,EAAG,GAAK,EAAW,IAC9B,EAAK,GAAG,GAAK,CAAE,IAAK,GAGtB,IAAS,EAAI,EAAG,GAAK,EAAW,IAAK,CACnC,EAAgB,EAAO,EAAI,GAC3B,IAAS,EAAI,EAAG,GAAK,EAAW,IAAK,CACnC,EAAgB,EAAO,EAAI,GAEzB,EADE,EAAQ,EAAe,GAClB,EAEA,EAET,IAAM,EAAM,EAAK,EAAI,GAAG,GAAG,IAAM,EAC3B,EAAM,EAAK,GAAG,EAAI,GAAG,IAAM,EAC3B,EAAS,EAAK,EAAI,GAAG,EAAI,GAAG,IAAM,EACxC,EAAK,GAAG,GAAK,EAAW,EAAK,EAAK,IAGtC,OAAO,EAIY,CAAoB,EAAQ,GAC3C,EAAY,EAAO,OACjB,EAAY,EAAO,OACnB,EAAU,GACZ,EAAQ,EACR,EAAS,EAEb,GAAI,EAAW,GAAW,GAAW,MAAQ,EAAW,CAEtD,IAAK,IAAI,EAAI,EAAG,GAAK,EAAW,IAAK,CACnC,IAAI,EAAM,EAAW,GAAG,GAAG,IAC3B,EAAS,EACT,IAAK,IAAI,EAAI,EAAO,GAAK,EAAW,IAC9B,EAAW,GAAG,GAAG,IAAM,IACzB,EAAM,EAAW,GAAG,GAAG,IACvB,EAAS,GAGb,EAAQ,EACJ,EAAW,GAAG,GAAO,MACvB,EAAQ,KAAK,CAAE,MAAO,EAAI,EAAG,KAAM,EAAW,GAAG,GAAO,OAI5D,IAAS,EAAI,EAAQ,OAAS,EAAG,GAAK,EAAG,IACvC,EAAQ,EAAQ,GAAG,MACK,QAApB,EAAQ,GAAG,KACb,EAAO,OAAO,EAAO,EAAG,GAAG,OAAO,EAAO,KAEzC,EAAO,OAAO,EAAO,GAM3B,IAAM,EAAO,GADb,EAAY,EAAO,QAEnB,GAAI,EAAY,EACd,IAAS,EAAI,EAAG,EAAI,EAAM,IACS,MAA7B,EAAO,EAAY,GAAG,IAA2C,MAA7B,EAAO,EAAY,GAAG,GAC5D,EAAO,OAAO,EAAY,EAAG,EAAG,EAAO,EAAY,IAEnD,EAAO,KAAK,EAAO,EAAY,IAEjC,GAAa,EAGjB,OAAO,GAIT,SAAS,EAAa,EAAQ,EAAQ,GAKpC,IAJA,IACI,EADE,EAAS,GAAG,OAAO,GAErB,EAAI,GAAK,EAAQ,GACf,EAAY,EAAkB,GAAQ,GACnC,EAAI,EAAG,GAAK,EAAO,IAC1B,GAAK,EAES,KADd,EAAQ,KAAK,MAAM,EAAO,OAAS,IAEjC,EAAO,QAAQ,CAAC,EAAU,GAAK,EAAI,EAAO,GAAO,IAAM,EAAI,GAAI,EAAU,GAAK,EAAI,EAAO,GAAO,IAAM,EAAI,KAE1G,EAAO,OAAO,EAAO,EAAG,CACtB,EAAU,GAAK,EAAI,EAAO,GAAO,IAAM,EAAI,GAC3C,EAAU,GAAK,EAAI,EAAO,GAAO,IAAM,EAAI,KAIjD,OAAO,EAST,SAAS,EAAkB,GACzB,IAAM,EAAS,GACf,OAAQ,EAAQ,IACd,IAAK,IAGL,IAAK,IACH,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,MACF,IAAK,IACH,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,MACF,IAAK,IACH,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,MACF,IAAK,IACH,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,MACF,IAAK,IACH,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,MACF,IAAK,IACH,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KACjC,MACF,IAAK,IAGL,IAAK,IACH,EAAO,KAAK,CAAC,EAAQ,GAAI,EAAQ,KAIrC,OAAO,EAGT,IAAM,EAAa,SAAS,EAAU,GACpC,GAAI,EAAS,QAAU,EACrB,OAAO,EAGT,IADA,IAAI,EACK,EAAI,EAAG,EAAI,EAAO,OAAQ,IACjC,GAAI,EAAS,GAAG,KAAO,EAAO,GAAG,GAG/B,OADA,EAAS,EAAkB,EAAS,IAC5B,EAAO,GAAG,IAChB,IAAK,IACH,EAAS,GAAK,CAAC,KAAK,OAAO,EAAO,IAClC,MACF,IAAK,IACH,EAAS,GAAK,CAAC,KAAK,OAAO,EAAO,IAClC,MACF,IAAK,IACH,EAAS,GAAK,GAAG,OAAO,EAAO,IAC/B,EAAS,GAAG,GAAK,EAAO,GAAG,GAC3B,EAAS,GAAG,GAAK,EAAO,GAAG,GAC3B,MACF,IAAK,IACH,GAAI,EAAO,OAAS,EAAG,CACrB,KAAI,EAAI,GAED,CACL,EAAS,GAAK,EAAO,GACrB,MAHA,EAAS,EAAa,EAAQ,EAAS,EAAI,GAAI,GAMnD,EAAS,GAAK,CAAC,KAAK,OAClB,EAAO,QAAO,SAAC,EAAK,GAClB,OAAO,EAAI,OAAO,KACjB,KAEL,MACF,IAAK,IACH,EAAS,GAAK,CAAC,KAAK,OAAO,EAAO,IAClC,MACF,IAAK,IACH,GAAI,EAAO,OAAS,EAAG,CACrB,KAAI,EAAI,GAED,CACL,EAAS,GAAK,EAAO,GACrB,MAHA,EAAS,EAAa,EAAQ,EAAS,EAAI,GAAI,GAMnD,EAAS,GAAK,CAAC,KAAK,OAClB,EAAO,QAAO,SAAC,EAAK,GAClB,OAAO,EAAI,OAAO,KACjB,KAEL,MACF,IAAK,IACH,GAAI,EAAO,OAAS,EAAG,CACrB,KAAI,EAAI,GAED,CACL,EAAS,GAAK,EAAO,GACrB,MAHA,EAAS,EAAa,EAAQ,EAAS,EAAI,GAAI,GAMnD,EAAS,GAAK,CAAC,KAAK,OAClB,EAAO,QAAO,SAAC,EAAK,GAClB,OAAO,EAAI,OAAO,KACjB,KAEL,MACF,QACE,EAAS,GAAK,EAAO,GAI7B,OAAO,GCvtCM,EAnIf,WAiGE,WAAY,EAAM,GA9Dd,KAAJ,SAAmB,EAKf,KAAJ,OAAsB,KAKlB,KAAJ,cAA6B,KAKzB,KAAJ,eAA8B,KAK1B,KAAJ,eAAyB,KAKzB,uBAA4B,EAKxB,KAAJ,oBAA8B,EAK9B,WAAgB,KAKZ,KAAJ,UAAoB,KAKpB,aAAkB,KAelB,qBAAyB,GAGvB,KAAK,KAAO,EACZ,KAAK,KAAO,EACZ,KAAK,cAAgB,EACrB,KAAK,UAAY,EAAM,UA4B3B,OAtBE,sCACE,KAAK,kBAAmB,EACpB,KAAK,cAAc,gBACrB,KAAK,cAAc,kBAOvB,uCACE,KAAK,oBAAqB,GAG5B,gCAEE,MAAO,gBADM,KAAK,KACS,MAG7B,8BAEA,iCACF,EAjIA,G,+IdFM,SAAU,GAAgB,EAAY,GAC1C,IAAM,EAAQ,EAAI,QAAQ,IACX,IAAX,GACF,EAAI,OAAO,EAAO,GAIf,IAAM,GAA8B,oBAAX,aAAqD,IAApB,OAAO,SAWlE,SAAU,GAAS,EAAW,GAElC,GAAI,EAAU,WACZ,OAAO,EAIT,IAFA,IAAI,EAAS,EAAM,YACf,GAAW,EACR,GAAQ,CACb,GAAI,IAAW,EAAW,CACxB,GAAW,EACX,MAEF,EAAS,EAAO,YAElB,OAAO,EAGH,SAAU,GAAe,GAE7B,OAAO,EAAQ,IAAI,SAAW,EAAQ,IAAI,QelC5C,IA+Ce,GA/Cf,YAsBI,SAAF,EAAY,GAAR,IAAJ,EACE,cAAO,KAZT,aAAqB,EAanB,IAAM,EAAa,EAAK,gB,OACxB,EAAK,IAAM,IAAI,EAAY,G,EAoB/B,OA7C4B,yBAkBxB,EAAF,mCACE,MAAO,IAUPqR,EAAKvR,UAAU,IAAjB,SAAI,GACE,OAAG,KAAK,IAAI,IAGhB,EAAF,uBAAI,EAAM,GACJ+B,KAAC,IAAI,GAAQ,GAInB,+BACE,KAAK,IAAM,CACT,WAAW,GAEb,KAAK,MACL,KAAK,WAAY,GAErB,EA7CA,CAA4B,W,kBCOtB,SAAU,GAAe,EAAa,GAC1C,IAAM,EAAM,GACN,EAAM,EAAE,GACR,EAAMmE,EAAE,GACR,EAAMA,EAAE,GAERsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,GAER,EAAMzE,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAM,EAAE,GAad,OAXEqQ,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACrCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACrCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EAErCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACrCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACrCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EAEvC,EAAI,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACvC,EAAI,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACvC,EAAI,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EAChC,EAQH,SAAU,GAAa,EAAa,GACtC,IAAI,EAAM,GACN,EAAI,EAAE,GACN,EAAI,EAAE,GAGZ,OAFA,EAAI,GAAK,EAAE,GAAK,EAAI,EAAE,GAAK,EAAI,EAAE,GACjC,EAAI,GAAK,EAAE,GAAK,EAAI,EAAE,GAAK,EAAI,EAAE,GAC1B,EClDT,IAEM,GAAa,CAAC,SAAU,UAAW,UAAW,QAG9C,GAAiB,CAAC,UAmBxB,SAAS,GAAmB,EAAS,GACnC,IAAM,EAAY,GACZ,EAAQ,EAAM,MAClB,IAAG,IAAM,KAAK,EACd,EAAU,GAAK,EAAM,GAErB,OAAK,EAGT,SAAS,GAAiB,EAAO,GAC/B,IAAM,EAAU,GACV,EAAQ,EAAM,OAMlB,OALA,OAAF,OAAE,CAAG,GAAO,SAAC,EAAG,IACqB,IAA/B,GAAe,QAAQ,IAAc,kBAAQ,EAAM,GAAI,KACzD,EAAQ,GAAK,MAGV,EAGT,SAAS,GAAkB,EAAyB,GAChD,GAAE,EAAU,QACR,OAAG,EAEC,IAAF,cAAW,UAAO,aACpB,EAAiB,OAAO,UAAU,eAatC,OAZA,OAAF,OAAE,CAAG,GAAY,SAAC,GAEZ,EAAY,EAAQ,EAAK,UAAY,EAAK,MAAQ,EAAK,UAAY,EAAW,EAAK,OACrF,eAAK,EAAU,SAAS,SAAC,EAAG,GACtB,EAAe,KAAK,EAAK,QAAS,YAC7B,EAAK,QAAQ,UACb,EAAK,UAAU,UAMvB,EAGT,IAiqBe,GAjqBf,YAQI,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,KAHZ,QAAoB,GAId,IAAE,EAAQ,EAAK,kB,OACf,OAAJ,MAAI,GAAO,EAAI,OACX,EAAC,MAAQ,EACb,EAAK,UAAU,GACf,EAAK,c,EAipBT,OA/pB+B,yBAkB3BC,EAAQ/R,UAAU,cAApB,WACM,MAAG,CACC,SAAG,EACH,SAAG,EACT,OAAQ,IAQV,EAAF,qCACE,MAAO,CACL,OAAQ,KAAK,mBACb,QAAS,IAYX,EAAF,kCAAe,KAOb,EAAF,6BAAU,KAMR,EAAF,iCACM,KAAC,IAAI,YAAY,GACjB,KAAC,IAAI,aAAa,IAGtB,EAAF,6BACM,OAAG,GAGP,EAAF,+BACM,OAAG,KAAK,IAAI,WAGhB,EAAF,+BACM,OAAG,KAAK,IAAI,WAGhB,EAAF,0B,UAAK,kDACI,WAAM,OACb,IAAK,EAAM,OAAO,KAAK,MACvB,GAAI,mBAAS,GAAO,CAClB,IAAK,IAAM,KAAK,EACd,KAAK,QAAQ,EAAG,EAAK,IAGvB,OADA,KAAK,iBAAiB,GACf,KAET,OAAoB,IAAhB,EAAK,QACP,KAAK,QAAQ,EAAM,GACnB,KAAK,mBAAgB,MAClB,GAAO,EACR,IACK,MAEF,KAAK,MAAM,IASlB,EAAF,6BAAU,EAAM,GACd,IAAM,EAAO,KAAK,UACd,OAAG,IAAS,EAAK,MAAM,EAAM,IAQjC+R,EAAQ/R,UAAU,QAApB,SAAQ,EAAc,GAChB,IAAE,EAAc,KAAK,MAAM,GAC3B,IAAgB,IAClB,KAAK,MAAM,GAAQ,EACnB,KAAK,aAAa,EAAM,EAAO,KAWjC+R,EAAQ/R,UAAU,aAApB,SAAa,EAAc,EAAY,GACxB,WAAT,GACF,KAAK,IAAI,cAAe,OAQ1B,EAAF,oCAAiB,GACX,KAAC,eAAe,SAGpB,EAAF,0BAIM,OAFA,KAAC,IAAI,WAAW,GAChB,KAAC,eAAe,QACb,MAGP+R,EAAQ/R,UAAU,KAApB,WAIM,OAFA,KAAC,IAAI,WAAW,GAChB,KAAC,eAAe,QACb,MAGP,EAAF,6BAAU,GACJ,KAAC,IAAI,SAAU,GACf,IAAE,EAAS,KAAK,YAKhB,OAJA,GAEF,EAAO,OAEF,MAGP,EAAF,6BACM,IAAE,EAAS,KAAK,YAChB,GAAC,EAAD,CAGA,IAAE,EAAW,EAAO,cAElB,GADK,KAAK,IAAI,MACN,EAAS,QAAQ,OAC3B,EAAK,OAAO,EAAO,GACnB,EAAK,KAAK,MACV,KAAC,eAAe,YAGpB,EAAF,4BACM,IAAE,EAAS,KAAK,YACpB,GAAK,EAAL,CAGA,IAAM,EAAW,EAAO,cAElB,GADK,KAAK,IAAI,MACN,EAAS,QAAQ,OAC3B,EAAK,OAAO,EAAO,GACvB,EAAS,QAAQ,MACjB,KAAK,eAAe,YAGpB,EAAF,0BAAO,sBACD,IAAE,EAAS,KAAK,YAChB,GACI,GAAU,EAAO,cAAe,MACjC,EAAO,IAAI,aAEd,KAAK,eAAe,WAGhB+B,KAAD,eAAe,UAElB,GACF,KAAK,WAIP,EAAF,iCACM,KAAC,KAhRM,SAgRO,KAAK,oBACnB,KAAC,eAAe,WAGpB,EAAF,+BACM,OAAG,KAAK,KArRD,WAwRX,EAAF,6BAAU,GACR,KAAK,KAzRM,SAyRO,GAClB,KAAK,eAAe,WAIpBgQ,EAAQ/R,UAAU,eAApB,WACM,MAAc,KAAK,IAAI,eAC3B,IAAK,EAAa,CAChB,IAAM,EAAgB,KAAK,KAAK,UAC1B,EAAe,KAAK,IAAI,gBAE5B,EADE,GAAgB,EACJ,GAAe,EAAc,GAE7B,GAAiB,EAEjC,KAAK,IAAI,cAAe,GAE1B,OAAO,GAIP,EAAF,+BAAY,GACN,IAAE,EAAgB,KAAK,KAAK,UAC5B,EAAc,KAEhB,EADE,GAAU,EACE,GAAe,EAAQ,GAEvB,GAAiB,EAE7B,KAAC,IAAI,cAAe,GACpB,KAAC,IAAI,eAAgB,IAQzB,EAAF,sCACM,OAAG,MAIP,EAAF,iCAAc,GACR,IAAE,EAAS,KAAK,KAAK,UACrB,SACK,GAAa,EAAQ,GAEvB,GAIP,EAAF,oCAAiB,GACX,IDrRe,EACf,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EAEA,EACA,EACA,EAGF,ECoQI,EAAS,KAAK,KAAK,UACrB,KAAQ,CACV,IAAM,GDtRJ,EAAM,GACN,GAFe,ECuRW,GDrRlB,GACR,EAAMkG,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAM,EAAE,GACR,EAAMA,EAAE,GACR,EAAM,EAAE,IAOV,EAAM,GALJ,EAAM,EAAM,EAAM,EAAM,GAKR,GAJhB,GAAO,EAAM,EAAM,EAAM,GAIG,GAH5B,EAAM,EAAM,EAAM,EAAM,KAQ5B,EAAI,EAAM,EAEV4L,EAAE,GAAK,EAAM,EACb,EAAE,KAAO,EAAM,EAAM,EAAM,GAAO,EACpC,EAAI,IAAM,EAAM,EAAM,EAAM,GAAO,EACnC,EAAI,GAAK,EAAM,EACf,EAAI,IAAM,EAAM,EAAM,EAAM,GAAO,EACnC,EAAI,KAAO,EAAM,EAAM,EAAM,GAAO,EACpC,EAAI,GAAK,EAAM,EACf,EAAI,KAAO,EAAM,EAAM,EAAM,GAAO,EACpC,EAAI,IAAM,EAAM,EAAM,EAAM,GAAO,EAC5B,GAbE,MCoQL,GAAI,EACF,OAAO,GAAa,EAAc,GAGlC,OAAG,GAIP,EAAF,2BAAQ,GACN,IAAM,EAAS,KAAK,YAQhB,EAAY,KAEZ,KAAS,CACX,IAEM,EAFY,KAAK,eACL,qBAAW,EAAQ,OAEjC,IACF,EAAY,IAAI,EAAK,CACnB,KAAM,EAAQ,KACd,aAAa,EACb,MAAO,EAAQ,MACf,OAAM,KAOR,OAFA,KAAC,IAAI,YAAa,GAClB/P,KAAC,eAAe,QACb,GAGP,EAAF,6BAEE,IAAM,EAAY,KAAK,IAAI,UAE3B,OAAK,GACI,MAKT,EAAF,sCACQ,EAAc,KAAK,MACnB,EAAQ,GACd,eAAK,GAAa,SAAC,EAAG,GAChB,kBAAQ,EAAY,IACtB,EAAM,GA1Xd,SAAyB,GAErB,IADA,IAAI,EAAS,GACN,EAAI,EAAG,EAAI,EAAI,OAAQ,IAC1B,kBAAQ,EAAI,IACd,EAAO,KAAK,GAAG,OAAO,EAAI,KAE1B,EAAO,KAAK,EAAI,IAGlB,OAAK,EAiXU,CAAgB,EAAY,IAEvC,EAAM,GAAK,EAAY,MAG3B,IAEM,EAAQ,IAAI,EAFL,KAAK,aAEK,CAAE,MAAK,IAI1B,OAHA,OAAJ,OAAI,CAAC,IAAY,SAAC,GACV,MAAI,EAAS,EAAK,IAAI,OAEvB,GAGP,EAAF,6BACoB,KAAK,YAInB,KAAC,MAAQ,GACT,EAAJ,UAAM,QAAO,aAQb,EAAF,qCACM,OAAG,KAAK,IAAI,UAAU,UAiB1B,EAAF,6B,IAAQ,sDACF,KAAC,IAAI,aAAa,GAClB,MAAW,KAAK,IAAI,YACnB,IACH,EAAW,KAAK,IAAI,UAAU,IAAI,YAC5B,KAAD,IAAI,WAAY,IAEnB,MAAa,KAAK,IAAI,eAAiB,GAEtC,EAAS,OACN,EAAG,YAEF,IACL,EACA,EACA,EACA,EACA,EALC,OAAS,OAAU,mCAAuB,6BAAiB,wBAO5D,qBAAW,IACb,EAAU,EACJ,EAAI,IACD,mBAAS,IAAa,EAAgB,UAEzC,EAAK,EAAgB,QACrBiQ,EAAI,EAAgB,QAGxB,mBAAS,IAEL,GADA,EAAO,GACS,SAChB,EAAG,EAAW,QAAU,aACxB,EAAE,EAAW,OAAS,EAE5B,EAAS,EAAW,QAAU,IAAU,EACxC,EAAW,EAAW,UAAY,OAClC,EAAgB,EAAW,eAAiB,OACtC,EAAW,EAAW,gBAAkB,SAG1C,mBAAS,KACX,EAAQ,EACR,EAAW,MAGT,qBAAW,IACb,EAAW,EACX,EAAS,cAET,EAAS,GAAU,cAGvB,IAAM,EAAgB,GAAiB,EAAS,MAC1C,EAAuB,CAC3B,UAAW,GAAmB,EAAe,MAC7C,QAAS,EACT,SAAQ,EACF,SACA,SACA,SAAE,EACF,cAAO,EACP,eAAQ,EACR,MAAD,EACC,UAAK,EAAS,UACd,GAAF,qBACE,QAAC,EACD,eAAS,GAGb,EAAW,OAAS,EAEtB,EAAa,GAAkB,EAAY,GAG3C,EAAS,YAAY,MAEvB,EAAW,KAAK,GAChB,KAAK,IAAI,aAAc,GACnB,KAAC,IAAI,SAAU,CAAE,UAAU,KAO/B,EAAF,+BAAY,GAAR,IAAJ,YAAY,cACN,IAAE,EAAa,KAAK,IAAI,cACxB,OAAJ,OAAI,CAAC,GAAY,SAAC,GAEZ,IACE,EAAU,QACZ,EAAK,KAAK,EAAU,QAAQ,IAE5B,EAAK,KAAK,EAAU,UAGpB,EAAU,UAEZ,EAAU,cAGV,KAAC,IAAI,aAAa,GAClB,KAAC,IAAI,aAAc,KAMvB,EAAF,kCACM,IAAE,EAAW,KAAK,IAAI,YACpB,EAAa,KAAK,IAAI,cACtB,EAAY,EAAS,UAcvB,OAbA,OAAJ,OAAI,CAAC,GAAY,SAAC,GAChB,EAAU,SAAU,EACd,EAAI,WAAa,EACnB,EAAU,eAEZ,EAAU,mBAId,KAAK,IAAI,SAAU,CACjB,UAAU,EACV,UAAS,IAEJ,MAMP,EAAF,mCACM,IACE,EADW,KAAK,IAAI,YACD,UACnB,EAAa,KAAK,IAAI,cACtB,EAAY,KAAK,IAAI,UAAU,UAcjC,OAZA,OAAJ,OAAI,CAAC,GAAY,SAAC,GACV,EAAI,UAAY,EAAU,WAAa,EAAU,GACjD,EAAI,SAAU,EACd,EAAI,WAAa,KACnB,EAAU,gBACJ,EAAE,oBAGV,KAAC,IAAI,SAAU,CACX,UAAI,IAER,KAAC,IAAI,aAAc,GAChB,MAQP,EAAF,kCAAe,EAAc,GAAzB,IAGE,EAHN,OACQ,EAAQ,EAAS,gBACR,KAAK,YAEP,eAAT,EACI,EAAU,EAAS,UACP,eAAT,IACT,EAAgB,EAAS,SAGvB,I,eAAK,GACP,IAAM,EAAU,EAAM,GAEhB,EAAO,EAAQ,IAAI,QACnB,GAAF,EAAM,CAER,IAEG,EAAQ,WAAc,EAAQ,UAAY,EAAQ,aACnD,GACA,GAAS,EAAS,G,cAIhB,kBAAQ,GACV,eAAK,GAAM,SAAC,GACV,EAAK,kBAAkB,EAAS,EAAS,MAG3C,EAAK,kBAAkB,EAAS,EAAM,K,OAnBnC,EAAI,EAAG,EAAI,EAAM,OAAQ,IAAG,C,eAA5B,G,QAyBH,8BAAR,SAA0B,EAAS,EAAc,GAC/C,IAAM,EAAS,KAAK,YAEd,EAAY,EAhnBG,IAgnBuB,EAAS,MACjD,EAAO,IAAc,EAhnBZ,QAknBX,EAAS,KAAO,EAChB,EAAS,cAAgB,EACzB,EAAS,eAAiB,KAE1B,EAAS,eAAiB,EAAQ,IAAI,kBACtC,KAAK,KAAK,EAAW,KAUvB,EAAF,6BAAU,EAAwB,QAAxB,kBAAwB,aAChC,IAAM,EAAS,KAAK,YACd,EAAY,OAAI,UAAU,EAAQ,CAAC,CAAC,IAAK,EAAY,KAE3D,OADA,KAAK,UAAU,GACR,MASP,EAAF,wBAAK,EAAiB,GACpB,IAAM,EAAI,KAAK,KAAK,MAAQ,EACtB,EAAI,KAAK,KAAK,MAAQ,EAE5B,OADA,KAAK,UAAU,EAAU,EAAG,EAAU,GAC/B,MASP,EAAF,0BAAO,EAAiB,GACtB,OAAO,KAAK,KAAK,EAAS,IAS1B,EAAF,yBAAM,EAAgB,GAChB,IAAE,EAAS,KAAK,YACd,EAAY,OAAI,UAAU,EAAQ,CAAC,CAAC,IAAK,EAAQ,GAAU,KAEjE,OADI,KAAC,UAAU,GACR,MAQP,EAAF,0BAAO,GACD,IAAE,EAAS,KAAK,YACd,EAAY,OAAI,UAAU,EAAQ,CAAC,CAAC,IAAK,KAE3C,OADA,KAAC,UAAU,GACR,MAQT,mCAAc,GACN,kBAAE,MAAG,MACL,EAAS,KAAK,YACd,EAAY,OAAI,UAAU,EAAQ,CACtC,CAAC,KAAM,GAAI,GACX,CAAC,IAAK,GACN,CAAC,IAAK,EAAG,KAGX,OADA,KAAK,UAAU,GACR,MAQT,mCAAc,EAAW,EAAW,GAClC,IAAM,EAAS,KAAK,YACd,EAAY,OAAI,UAAU,EAAQ,CACtC,CAAC,KAAM,GAAI,GACX,CAAC,IAAK,GACN,CAAC,IAAK,EAAG,KAGX,OADA,KAAK,UAAU,GACR,MAEX,EA/pBA,CAA+B,ICpEzB,GAAY,GAsElB,IAiae,GAjaf,YAAE,SAAF,I,+CA+ZA,OA/ZiC,yBAC7B,EAAF,8BACE,OAAO,GAIP,EAAF,6BAEM,MAAO,IACP,GAAQ,IACR,EAAO,IACP,GAAQ,IACN,EAAO,GACP,EAAO,GAEP,EAAW,KAAK,cAAc,QAClC,SAAC,GACO,OAAN,EAAM,IAAI,cAAgB,EAAM,WAAc,EAAM,WAAc,EAAiB,cAAc,OAAS,MA4B1G,OA1BA,EAAS,OAAS,GACd,IAAD,GAAU,SAAC,GACd,IAAM,EAAM,EAAM,UAClB,EAAK,KAAK,EAAI,KAAM,EAAI,MACxB,EAAK,KAAK,EAAI,KAAM,EAAI,SAE1B,EAAO,KAAK,IAAI,MAAM,KAAM,GACtB,EAAC,KAAK,IAAI,MAAM,KAAM,GACtB,EAAC,KAAK,IAAI,MAAM,KAAM,GACtB,EAAC,KAAK,IAAI,MAAM,KAAM,KAE5B,EAAO,EACP,EAAO,EACD,EAAC,EACD,EAAC,GAEG,CACJ,EAAH,EACG,EAAH,EACG,KAAF,EACE,KAAF,EACJ,KAAI,EACJ,KAAI,EACJ,MAAO,EAAO,EACd,OAAQ,EAAO,IAMjB,EAAF,mCACM,MAAO,IACP,GAAQ,IACR,EAAO,IACP,GAAQ,IACN,EAAO,GACP,EAAO,GAEP,EAAW,KAAK,cAAc,QAClC,SAAC,GACO,OAAN,EAAM,IAAI,cAAgB,EAAM,WAAc,EAAM,WAAc,EAAiB,cAAc,OAAS,MA4B1G,OA1BA,EAAS,OAAS,GACd,IAAD,GAAU,SAAC,GACd,IAAM,EAAM,EAAM,gBAClB,EAAK,KAAK,EAAI,KAAM,EAAI,MACxB,EAAK,KAAK,EAAI,KAAM,EAAI,SAEpBC,EAAC,KAAK,IAAI,MAAM,KAAM,GACtBC,EAAC,KAAK,IAAI,MAAM,KAAM,GACtBC,EAAC,KAAK,IAAI,MAAM,KAAM,GACtBC,EAAC,KAAK,IAAI,MAAM,KAAM,KAE5B,EAAO,EACD,EAAC,EACD,EAAC,EACD,EAAC,GAEG,CACJ,EAAH,EACG,EAAH,EACG,KAAF,EACJ,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,MAAO,EAAO,EACd,OAAQ,EAAO,IAKjB,EAAF,mCACM,IAAE,EAAM,YAAM,cAAa,WAE3B,OADA,EAAD,SAAe,GACX,GAGP,EAAF,gCAAa,EAAM,EAAO,GAEpB,GADJ,YAAM,aAAY,UAAC,EAAM,EAAO,GACnB,WAAT,EAAmB,CACrB,IAAM,EAAc,KAAK,iBACzB,KAAK,oBAAoB,KAK3B,EAAF,+BAAY,GACN,IAAE,EAAiB,KAAK,iBAC5B,YAAM,YAAW,UAAC,GAClB,IAAM,EAAc,KAAK,iBAGrB,IAAgB,GAGpB,KAAK,oBAAoB,IAIzB,EAAF,uCAAoB,GACd,IAAE,EAAW,KAAK,cAClB,IAAC,GAAU,SAAC,GACd,EAAM,YAAY,OAKpB,EAAF,8B,IAAS,sDACH,IAAE,EAAO,EAAK,GACd,EAAM,EAAK,GACX,IAAS,GACX,EAAM,EAEA,EAAH,KAAW,EAEZ,MAAY,GAAU,EAAI,MACzB,IACH,EAAY,KAAW,EAAI,MAC3B,GAAU,EAAI,MAAQ,GAExB,IAAM,EAAY,KAAK,eACjB,EAAQ,IAAI,EAAU,GAAW,GAEnC,OADA,KAAC,IAAI,GACF,GAGP,EAAF,8B,IAAS,sDACA,IACH,EADG,OAAY,OAEf,OAAW,GAEX,EAAQ,IAAI,EADV,GAGqB,CAErB,OAAQ,WAGP,CACC,MAAS,GAAc,GACvB,EAAgB,KAAK,eACrBC,EAAE,IAAI,EAAc,GAGxB,OADAtQ,KAAC,IAAI,GACF,GAGP,EAAF,+BAOM,OALA,KAAK,WACE,KAEA,KAAK,IAAI,WAKpB,EAAF,4BAAS,EAAW,EAAW,GAEzB,IAAC,GAAe,MAClB,OAAO,KAEL,IACA,EADE,EAAW,KAAK,cAGlB,GAAC,KAAK,WAQFuQ,EAAE,KAAK,WAAW,EAAU,EAAG,EAAG,OARpB,CACd,IAAF,EAAI,CAAC,EAAG,EAAG,GAET,EAAF,KAAK,iBAAiBrN,GACrB,KAAK,UAAU,EAAE,GAAI,EAAE,MAC1B,EAAQ,KAAK,WAAW,EAAU,EAAE,GAAI,EAAE,GAAI,IAK9C,OAAG,GAGP,EAAF,8BAAW,EAAsB,EAAW,EAAW,GAEjD,IADA,MAAQ,KACH,EAAI,EAAS,OAAS,EAAG,GAAK,EAAG,IAAK,CACvC,MAAQ,EAAS,GAQjB,GAPF,GAAe,KACb,EAAM,UACR,EAAS,EAAiB,SAAS,EAAG,EAAG,GAC/B,EAAiB,MAAM,EAAG,KAC1BqN,EAAF,IAGR,EACM,MAGR,OAAG,GAGP,EAAF,uBAAI,GACE,IAAE,EAAS,KAAK,YACd,EAAW,KAAK,cAChB,EAAW,KAAK,IAAI,YACpB,EAAY,EAAQ,YACtB,GA9OR,SAAqB,EAAuB,EAAmB,sBAEzD,EACF,EAAQ,WAER,EAAQ,IAAI,SAAU,MACtB,EAAQ,IAAI,SAAU,OAEtB,GAAc,EAAU,cAAe,GAuOrC,CAAY,EAAW,GAAS,GAE9B,EAAI,IAAI,SAAU,MAClB,GApRR,SAAS,EAAU,EAAmB,GAElC,GADA,EAAM,IAAI,SAAU,GAClB,EAAQ,UAAW,CACjB,IAAE,EAAW,EAAQ,IAAI,YACzB,EAAS,QACX,EAAS,SAAQ,SAAC,GAChB,EAAU,EAAO,OA+QnB,CAAU,EAAS,GAEjB,GAtQR,SAAS,EAAY,EAAmB,GAEpC,GADA,EAAM,IAAI,WAAY,GACpB,EAAQ,UAAW,CACjB,IAAE,EAAW,EAAQ,IAAI,YACzB,EAAS,QACX,EAAS,SAAQ,SAAC,GAChB,EAAY,EAAO,OAiQrB,CAAY,EAAS,GAEnB,EAAK,KAAK,GAzSlB,SAAkB,GACZ,EAAQ,WACL,EAAmB,iBAAmB,EAAQ,IAAI,YAAY,SACjE,EAAQ,eAAe,OAGzB,EAAQ,eAAe,OAoSnB,CAAK,GACT,KAAK,oBAAoB,IAIzB,EAAF,uCAAoB,GACd,IAAE,EAAc,KAAK,iBAErB,GACF,EAAQ,YAAY,IAItBC,EAAUvS,UAAU,YAAtB,WACM,OAAG,KAAK,IAAI,aAGhB,EAAF,0BACM,IAhQa,EAgQX,EAAW,KAAK,cAElB,IAAC,GAAU,SAAC,EAAO,GAErB,OADM,EAAD,OAAU,EACR,KAET,EAAS,MAtQQ,EAuQH,SAAC,EAAM,GACjB,OAAO,EAAK,IAAI,UAAY,EAAK,IAAI,WAvQpC,SAAS,EAAM,GACpB,IAAM,EAAS,EAAQ,EAAM,GACzB,OAAc,IAAX,EAAe,EAAI,OAAU,EAAK,OAAU,KAwQ/C,KAAC,eAAe,SAGpB,EAAF,2BAEM,GADA,KAAC,IAAI,YAAY,IACjB+B,KAAK,UAAL,CAIJ,IADA,IAAM,EAAW,KAAK,cACb,EAAI,EAAS,OAAS,EAAG,GAAK,EAAG,IACxC,EAAS,GAAG,UAEV,KAAC,IAAI,WAAY,IACjBA,KAAC,eAAe,SAChB,KAAC,IAAI,YAAY,KAGrB,EAAF,6BACM,KAAK,IAAI,eAGT,KAAC,QACL,YAAM,QAAO,aAOb,EAAF,8BACE,OAAO,KAAK,gBAAgB,IAO5B,EAAF,6BACE,IAAM,EAAW,KAAK,cACtB,OAAO,KAAK,gBAAgB,EAAS,OAAS,IAO9C,EAAF,mCAAgB,GAEd,OADiB,KAAK,cACN,IAOhB,EAAF,8BAEE,OADiB,KAAK,cACN,QAQhB,EAAF,2BAAQ,GAEN,OADiB,KAAK,cACN,QAAQ,IAAY,GAQpC,EAAF,+BAAY,EAAmB,sBACzB,KAAK,QAAQ,IACT,EAAE,OAAO,IASjB,EAAF,2BAAQ,GACN,IAAI,EAAkB,GAChB,EAAW,KAAK,cASlB,OARJ,IAAK,GAAU,SAAC,GACV,EAAG,IACL,EAAI,KAAK,GAEP,EAAQ,YACV,EAAM,EAAI,OAAQ,EAAmB,QAAQ,QAG1C,GAQP,EAAF,wBAAK,GACH,IAAI,EAAgB,KACd,EAAW,KAAK,cAWtB,OAVA,IAAK,GAAU,SAAC,GAMd,GALI,EAAG,GACL,EAAM,EACG,EAAQ,YACjB,EAAO,EAAmB,KAAK,IAE7B,EACF,OAAO,KAGJ,GAQP,EAAF,4BAAS,GACP,OAAO,KAAK,MAAK,SAAC,GAChB,OAAO,EAAQ,IAAI,QAAU,MAWjC,qCAAgB,GACd,OAAO,KAAK,MAAK,SAAC,GAChB,OAAO,EAAQ,IAAI,eAAiB,MASxC,mCAAc,GACZ,OAAO,KAAK,SAAQ,SAAC,GACnB,OAAO,EAAQ,IAAI,UAAY,MAGrC,EA/ZA,CAAiC,I,uOC5EjC,IAIIyQ,GACAC,GALAC,GAAQ,EACRC,GAAU,EACVC,GAAW,EAIXC,GAAY,EACZC,GAAW,EACXC,GAAY,EACZC,GAA+B,YAAvB,oBAAOC,YAAP,eAAOA,eAA4BA,YAAYC,IAAMD,YAAcE,KAC3EC,GAA6B,YAAlB,oBAAOpV,OAAP,eAAOA,UAAuBA,OAAOqV,sBAAwBrV,OAAOqV,sBAAsBzT,KAAK5B,QAAU,SAASuG,GAAK+O,WAAW/O,EAAG,KAE7I,SAAS2O,KACd,OAAOJ,KAAaM,GAASG,IAAWT,GAAWE,GAAME,MAAQH,IAGnE,SAASQ,KACPT,GAAW,EAGN,SAASU,KACdzR,KAAK0R,MACL1R,KAAK2R,MACL3R,KAAK4R,MAAQ,KA0BR,SAASC,GAAMC,EAAUC,EAAOC,GACrC,IAAIzU,EAAI,IAAIkU,GAEZ,OADAlU,EAAE0U,QAAQH,EAAUC,EAAOC,GACpBzU,EAcT,SAAS2U,KACPnB,IAAYD,GAAYG,GAAME,OAASH,GACvCL,GAAQC,GAAU,EAClB,KAdK,WACLO,OACER,GAEF,IADA,IAAkBpQ,EAAdhD,EAAIkT,GACDlT,IACAgD,EAAIwQ,GAAWxT,EAAEoU,QAAU,GAAGpU,EAAEmU,MAAMlV,KAAK,KAAM+D,GACtDhD,EAAIA,EAAEqU,QAENjB,GAOAwB,GADF,QAGExB,GAAQ,EAWZ,WACE,IAAIyB,EAAmBC,EAAfC,EAAK7B,GAAcuB,EAAOO,IAClC,KAAOD,GACDA,EAAGZ,OACDM,EAAOM,EAAGX,QAAOK,EAAOM,EAAGX,OAC/BS,EAAKE,EAAIA,EAAKA,EAAGV,QAEjBS,EAAKC,EAAGV,MAAOU,EAAGV,MAAQ,KAC1BU,EAAKF,EAAKA,EAAGR,MAAQS,EAAK5B,GAAW4B,GAGzC3B,GAAW0B,EACXI,GAAMR,GAtBJS,GACA1B,GAAW,GAIf,SAAS2B,KACP,IAAIvB,EAAMF,GAAME,MAAOY,EAAQZ,EAAML,GACjCiB,EA7EU,MA6ESf,IAAae,EAAOjB,GAAYK,GAkBzD,SAASqB,GAAMR,GACTrB,KACAC,KAASA,GAAU+B,aAAa/B,KACxBoB,EAAOjB,GACP,IACNiB,EAAOO,MAAU3B,GAAUW,WAAWW,GAAMF,EAAOf,GAAME,MAAQH,KACjEH,KAAUA,GAAW+B,cAAc/B,OAElCA,KAAUC,GAAYG,GAAME,MAAON,GAAWgC,YAAYH,GAvGnD,MAwGZ/B,GAAQ,EAAGU,GAASa,MAjFxBT,GAAMxT,UAAY4T,GAAM5T,UAAY,CAClCgC,YAAawR,GACbQ,QAAS,SAASH,EAAUC,EAAOC,GACjC,GAAwB,mBAAbF,EAAyB,MAAM,IAAI1O,UAAU,8BACxD4O,GAAgB,MAARA,EAAeb,MAASa,IAAkB,MAATD,EAAgB,GAAKA,GACzD/R,KAAK4R,OAASlB,KAAa1Q,OAC1B0Q,GAAUA,GAASkB,MAAQ5R,KAC1ByQ,GAAWzQ,KAChB0Q,GAAW1Q,MAEbA,KAAK0R,MAAQI,EACb9R,KAAK2R,MAAQK,EACbQ,MAEFM,KAAM,WACA9S,KAAK0R,QACP1R,KAAK0R,MAAQ,KACb1R,KAAK2R,MAAQY,IACbC,Q,aC5CS,YAASvS,EAAarE,EAASqC,GAC5CgC,EAAYhC,UAAYrC,EAAQqC,UAAYA,EAC5CA,EAAUgC,YAAcA,GAGnB,SAAS8S,GAAOC,EAAQC,GAC7B,IAAIhV,EAAYlB,OAAOY,OAAOqV,EAAO/U,WACrC,IAAK,IAAIL,KAAOqV,EAAYhV,EAAUL,GAAOqV,EAAWrV,GACxD,OAAOK,ECNF,SAASiV,MAET,IAGHC,GAAM,sBACNC,GAAM,gDACNC,GAAM,iDACNC,GAAQ,qBACRC,GAAe,IAAIC,OAAO,UAAY,CAACL,GAAKA,GAAKA,IAAO,QACxDM,GAAe,IAAID,OAAO,UAAY,CAACH,GAAKA,GAAKA,IAAO,QACxDK,GAAgB,IAAIF,OAAO,WAAa,CAACL,GAAKA,GAAKA,GAAKC,IAAO,QAC/DO,GAAgB,IAAIH,OAAO,WAAa,CAACH,GAAKA,GAAKA,GAAKD,IAAO,QAC/DQ,GAAe,IAAIJ,OAAO,UAAY,CAACJ,GAAKC,GAAKA,IAAO,QACxDQ,GAAgB,IAAIL,OAAO,WAAa,CAACJ,GAAKC,GAAKA,GAAKD,IAAO,QAE/DU,GAAQ,CACVC,UAAW,SACXC,aAAc,SACdC,KAAM,MACNC,WAAY,QACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,EACPC,eAAgB,SAChBC,KAAM,IACNC,WAAY,QACZC,MAAO,SACPC,UAAW,SACXC,UAAW,QACXC,WAAY,QACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,QAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,MACNC,SAAU,IACVC,SAAU,MACVC,cAAe,SACfC,SAAU,SACVC,UAAW,MACXC,SAAU,SACVC,UAAW,SACXC,YAAa,QACbC,eAAgB,QAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,QACTC,WAAY,SACZC,aAAc,QACdC,cAAe,QACfC,cAAe,QACfC,cAAe,QACfC,cAAe,MACfC,WAAY,QACZC,SAAU,SACVC,YAAa,MACbC,QAAS,QACTC,QAAS,QACTC,WAAY,QACZC,UAAW,SACXC,YAAa,SACbC,YAAa,QACbC,QAAS,SACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,QACNC,MAAO,MACPC,YAAa,SACbC,KAAM,QACNC,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,QACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,QACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtBC,UAAW,SACXC,WAAY,QACZC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,cAAe,QACfC,aAAc,QACdC,eAAgB,QAChBC,eAAgB,QAChBC,eAAgB,SAChBC,YAAa,SACbC,KAAM,MACNC,UAAW,QACXC,MAAO,SACPC,QAAS,SACTC,OAAQ,QACRC,iBAAkB,QAClBC,WAAY,IACZC,aAAc,SACdC,aAAc,QACdC,eAAgB,QAChBC,gBAAiB,QACjBC,kBAAmB,MACnBC,gBAAiB,QACjBC,gBAAiB,SACjBC,aAAc,QACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,IACNC,QAAS,SACTC,MAAO,QACPC,UAAW,QACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,QACRC,cAAe,QACfC,IAAK,SACLC,UAAW,SACXC,UAAW,QACXC,YAAa,QACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,QACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,QACTC,UAAW,QACXC,UAAW,QACXC,UAAW,QACXC,KAAM,SACNC,YAAa,MACbC,UAAW,QACXC,IAAK,SACLC,KAAM,MACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,QACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,WAAY,SACZC,OAAQ,SACRC,YAAa,UAiBf,SAASC,KACP,OAAOnd,KAAKod,MAAMC,YAOpB,SAASC,KACP,OAAOtd,KAAKod,MAAMG,YAGL,SAASC,GAAMC,GAC5B,IAAIhhB,EAAGH,EAEP,OADAmhB,GAAUA,EAAS,IAAIC,OAAO9S,eACtBnO,EAAI6W,GAAMqK,KAAKF,KAAYnhB,EAAIG,EAAE,GAAGmC,OAAQnC,EAAImhB,SAASnhB,EAAE,GAAI,IAAW,IAANH,EAAUuhB,GAAKphB,GAC/E,IAANH,EAAU,IAAIwhB,GAAKrhB,GAAK,EAAI,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAY,IAAJA,GAAiB,GAAJA,IAAY,EAAU,GAAJA,EAAU,GACzG,IAANH,EAAUyhB,GAAKthB,GAAK,GAAK,IAAMA,GAAK,GAAK,IAAMA,GAAK,EAAI,KAAW,IAAJA,GAAY,KACrE,IAANH,EAAUyhB,GAAMthB,GAAK,GAAK,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAQA,GAAK,EAAI,IAAQA,GAAK,EAAI,GAAY,IAAJA,IAAkB,GAAJA,IAAY,EAAU,GAAJA,GAAY,KAClJ,OACCA,EAAI8W,GAAaoK,KAAKF,IAAW,IAAIK,GAAIrhB,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAI,IAC3DA,EAAIgX,GAAakK,KAAKF,IAAW,IAAIK,GAAW,IAAPrhB,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAK,IAC/FA,EAAIiX,GAAciK,KAAKF,IAAWM,GAAKthB,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,KAC3DA,EAAIkX,GAAcgK,KAAKF,IAAWM,GAAY,IAAPthB,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAY,IAAPA,EAAE,GAAW,IAAKA,EAAE,KAC/FA,EAAImX,GAAa+J,KAAKF,IAAWO,GAAKvhB,EAAE,GAAIA,EAAE,GAAK,IAAKA,EAAE,GAAK,IAAK,IACpEA,EAAIoX,GAAc8J,KAAKF,IAAWO,GAAKvhB,EAAE,GAAIA,EAAE,GAAK,IAAKA,EAAE,GAAK,IAAKA,EAAE,IACxEqX,GAAM5V,eAAeuf,GAAUI,GAAK/J,GAAM2J,IAC/B,gBAAXA,EAA2B,IAAIK,GAAIG,IAAKA,IAAKA,IAAK,GAClD,KAGR,SAASJ,GAAK/f,GACZ,OAAO,IAAIggB,GAAIhgB,GAAK,GAAK,IAAMA,GAAK,EAAI,IAAU,IAAJA,EAAU,GAG1D,SAASigB,GAAK5gB,EAAGuF,EAAGhD,EAAGyE,GAErB,OADIA,GAAK,IAAGhH,EAAIuF,EAAIhD,EAAIue,KACjB,IAAIH,GAAI3gB,EAAGuF,EAAGhD,EAAGyE,GAGnB,SAAS+Z,GAAWphB,GAEzB,OADMA,aAAaoW,KAAQpW,EAAI0gB,GAAM1gB,IAChCA,EAEE,IAAIghB,IADXhhB,EAAIA,EAAEsgB,OACWjgB,EAAGL,EAAE4F,EAAG5F,EAAE4C,EAAG5C,EAAEqhB,SAFjB,IAAIL,GAKd,SAASV,GAAIjgB,EAAGuF,EAAGhD,EAAGye,GAC3B,OAA4B,IAArB/d,UAAUxB,OAAesf,GAAW/gB,GAAK,IAAI2gB,GAAI3gB,EAAGuF,EAAGhD,EAAc,MAAXye,EAAkB,EAAIA,GAGlF,SAASL,GAAI3gB,EAAGuF,EAAGhD,EAAGye,GAC3Bne,KAAK7C,GAAKA,EACV6C,KAAK0C,GAAKA,EACV1C,KAAKN,GAAKA,EACVM,KAAKme,SAAWA,EA2BlB,SAASC,KACP,MAAO,IAAMC,GAAIre,KAAK7C,GAAKkhB,GAAIre,KAAK0C,GAAK2b,GAAIre,KAAKN,GAGpD,SAAS4e,KACP,IAAIna,EAAInE,KAAKme,QACb,OAAc,KADQha,EAAIoa,MAAMpa,GAAK,EAAIgL,KAAKqP,IAAI,EAAGrP,KAAKsP,IAAI,EAAGta,KAC/C,OAAS,SACrBgL,KAAKqP,IAAI,EAAGrP,KAAKsP,IAAI,IAAKtP,KAAKuP,MAAM1e,KAAK7C,IAAM,IAAM,KACtDgS,KAAKqP,IAAI,EAAGrP,KAAKsP,IAAI,IAAKtP,KAAKuP,MAAM1e,KAAK0C,IAAM,IAAM,KACtDyM,KAAKqP,IAAI,EAAGrP,KAAKsP,IAAI,IAAKtP,KAAKuP,MAAM1e,KAAKN,IAAM,KACzC,IAANyE,EAAU,IAAM,KAAOA,EAAI,KAGpC,SAASka,GAAI/gB,GAEX,QADAA,EAAQ6R,KAAKqP,IAAI,EAAGrP,KAAKsP,IAAI,IAAKtP,KAAKuP,MAAMphB,IAAU,KACvC,GAAK,IAAM,IAAMA,EAAMmB,SAAS,IAGlD,SAASuf,GAAKW,EAAGvgB,EAAG9B,EAAG6H,GAIrB,OAHIA,GAAK,EAAGwa,EAAIvgB,EAAI9B,EAAI2hB,IACf3hB,GAAK,GAAKA,GAAK,EAAGqiB,EAAIvgB,EAAI6f,IAC1B7f,GAAK,IAAGugB,EAAIV,KACd,IAAIW,GAAID,EAAGvgB,EAAG9B,EAAG6H,GAGnB,SAAS0a,GAAW/hB,GACzB,GAAIA,aAAa8hB,GAAK,OAAO,IAAIA,GAAI9hB,EAAE6hB,EAAG7hB,EAAEsB,EAAGtB,EAAER,EAAGQ,EAAEqhB,SAEtD,GADMrhB,aAAaoW,KAAQpW,EAAI0gB,GAAM1gB,KAChCA,EAAG,OAAO,IAAI8hB,GACnB,GAAI9hB,aAAa8hB,GAAK,OAAO9hB,EAE7B,IAAIK,GADJL,EAAIA,EAAEsgB,OACIjgB,EAAI,IACVuF,EAAI5F,EAAE4F,EAAI,IACVhD,EAAI5C,EAAE4C,EAAI,IACV+e,EAAMtP,KAAKsP,IAAIthB,EAAGuF,EAAGhD,GACrB8e,EAAMrP,KAAKqP,IAAIrhB,EAAGuF,EAAGhD,GACrBif,EAAIV,IACJ7f,EAAIogB,EAAMC,EACVniB,GAAKkiB,EAAMC,GAAO,EAUtB,OATIrgB,GACaugB,EAAXxhB,IAAMqhB,GAAU9b,EAAIhD,GAAKtB,EAAc,GAATsE,EAAIhD,GAC7BgD,IAAM8b,GAAU9e,EAAIvC,GAAKiB,EAAI,GAC5BjB,EAAIuF,GAAKtE,EAAI,EACvBA,GAAK9B,EAAI,GAAMkiB,EAAMC,EAAM,EAAID,EAAMC,EACrCE,GAAK,IAELvgB,EAAI9B,EAAI,GAAKA,EAAI,EAAI,EAAIqiB,EAEpB,IAAIC,GAAID,EAAGvgB,EAAG9B,EAAGQ,EAAEqhB,SAO5B,SAASS,GAAID,EAAGvgB,EAAG9B,EAAG6hB,GACpBne,KAAK2e,GAAKA,EACV3e,KAAK5B,GAAKA,EACV4B,KAAK1D,GAAKA,EACV0D,KAAKme,SAAWA,EAyClB,SAASW,GAAQH,EAAGI,EAAIC,GACtB,OAGY,KAHJL,EAAI,GAAKI,GAAMC,EAAKD,GAAMJ,EAAI,GAChCA,EAAI,IAAMK,EACVL,EAAI,IAAMI,GAAMC,EAAKD,IAAO,IAAMJ,GAAK,GACvCI,GCjXD,SAASE,GAAM3M,EAAI4M,EAAIC,EAAIC,EAAIC,GACpC,IAAIhN,EAAKC,EAAKA,EAAIgN,EAAKjN,EAAKC,EAC5B,QAAS,EAAI,EAAIA,EAAK,EAAID,EAAKiN,GAAMJ,GAC9B,EAAI,EAAI7M,EAAK,EAAIiN,GAAMH,GACvB,EAAI,EAAI7M,EAAK,EAAID,EAAK,EAAIiN,GAAMF,EACjCE,EAAKD,GAAM,EDoKnBtjB,GAAOmX,GAAOsK,GAAO,CACnB+B,KAAM,SAASC,GACb,OAAOziB,OAAOoD,OAAO,IAAIH,KAAKC,YAAaD,KAAMwf,IAEnDC,YAAa,WACX,OAAOzf,KAAKod,MAAMqC,eAEpBpB,IAAKlB,GACLE,UAAWF,GACXuC,UASF,WACE,OAAOb,GAAW7e,MAAM0f,aATxBnC,UAAWD,GACX7e,SAAU6e,KA6DZvhB,GAAO+hB,GAAKV,GAAKrK,GAAOG,GAAO,CAC7ByM,SAAU,SAASxgB,GAEjB,OADAA,EAAS,MAALA,EA9Oc,EADF,GA+OWgQ,KAAKyQ,IA9Od,EADF,GA+O8BzgB,GACvC,IAAI2e,GAAI9d,KAAK7C,EAAIgC,EAAGa,KAAK0C,EAAIvD,EAAGa,KAAKN,EAAIP,EAAGa,KAAKme,UAE1D0B,OAAQ,SAAS1gB,GAEf,OADAA,EAAS,MAALA,EAnPY,GAmPSgQ,KAAKyQ,IAnPd,GAmP0BzgB,GACnC,IAAI2e,GAAI9d,KAAK7C,EAAIgC,EAAGa,KAAK0C,EAAIvD,EAAGa,KAAKN,EAAIP,EAAGa,KAAKme,UAE1Df,IAAK,WACH,OAAOpd,MAETyf,YAAa,WACX,OAAS,IAAOzf,KAAK7C,GAAK6C,KAAK7C,EAAI,QAC1B,IAAO6C,KAAK0C,GAAK1C,KAAK0C,EAAI,QAC1B,IAAO1C,KAAKN,GAAKM,KAAKN,EAAI,OAC3B,GAAKM,KAAKme,SAAWne,KAAKme,SAAW,GAE/CE,IAAKD,GACLf,UAAWe,GACXb,UAAWe,GACX7f,SAAU6f,MAiEZviB,GAAO6iB,IAXA,SAAaD,EAAGvgB,EAAG9B,EAAG6hB,GAC3B,OAA4B,IAArB/d,UAAUxB,OAAeigB,GAAWF,GAAK,IAAIC,GAAID,EAAGvgB,EAAG9B,EAAc,MAAX6hB,EAAkB,EAAIA,KAUxEpL,GAAOG,GAAO,CAC7ByM,SAAU,SAASxgB,GAEjB,OADAA,EAAS,MAALA,EApUc,EADF,GAqUWgQ,KAAKyQ,IApUd,EADF,GAqU8BzgB,GACvC,IAAIyf,GAAI5e,KAAK2e,EAAG3e,KAAK5B,EAAG4B,KAAK1D,EAAI6C,EAAGa,KAAKme,UAElD0B,OAAQ,SAAS1gB,GAEf,OADAA,EAAS,MAALA,EAzUY,GAyUSgQ,KAAKyQ,IAzUd,GAyU0BzgB,GACnC,IAAIyf,GAAI5e,KAAK2e,EAAG3e,KAAK5B,EAAG4B,KAAK1D,EAAI6C,EAAGa,KAAKme,UAElDf,IAAK,WACH,IAAIuB,EAAI3e,KAAK2e,EAAI,IAAqB,KAAd3e,KAAK2e,EAAI,GAC7BvgB,EAAImgB,MAAMI,IAAMJ,MAAMve,KAAK5B,GAAK,EAAI4B,KAAK5B,EACzC9B,EAAI0D,KAAK1D,EACT0iB,EAAK1iB,GAAKA,EAAI,GAAMA,EAAI,EAAIA,GAAK8B,EACjC2gB,EAAK,EAAIziB,EAAI0iB,EACjB,OAAO,IAAIlB,GACTgB,GAAQH,GAAK,IAAMA,EAAI,IAAMA,EAAI,IAAKI,EAAIC,GAC1CF,GAAQH,EAAGI,EAAIC,GACfF,GAAQH,EAAI,IAAMA,EAAI,IAAMA,EAAI,IAAKI,EAAIC,GACzChf,KAAKme,UAGTsB,YAAa,WACX,OAAQ,GAAKzf,KAAK5B,GAAK4B,KAAK5B,GAAK,GAAKmgB,MAAMve,KAAK5B,KACzC,GAAK4B,KAAK1D,GAAK0D,KAAK1D,GAAK,GACzB,GAAK0D,KAAKme,SAAWne,KAAKme,SAAW,GAE/CuB,UAAW,WACT,IAAIvb,EAAInE,KAAKme,QACb,OAAc,KADQha,EAAIoa,MAAMpa,GAAK,EAAIgL,KAAKqP,IAAI,EAAGrP,KAAKsP,IAAI,EAAGta,KAC/C,OAAS,UACpBnE,KAAK2e,GAAK,GAAK,KACA,KAAf3e,KAAK5B,GAAK,GAAW,MACN,KAAf4B,KAAK1D,GAAK,GAAW,KACf,IAAN6H,EAAU,IAAM,KAAOA,EAAI,SChWvB,ICRA,YAAS6F,GACtB,OAAO,WACL,OAAOA,ICAX,SAAS8V,GAAO3b,EAAGxH,GACjB,OAAO,SAASY,GACd,OAAO4G,EAAI5G,EAAIZ,GAeZ,SAASojB,GAAMtd,GACpB,OAAoB,IAAZA,GAAKA,GAAWud,GAAU,SAAS7b,EAAGzE,GAC5C,OAAOA,EAAIyE,EAbf,SAAqBA,EAAGzE,EAAG+C,GACzB,OAAO0B,EAAIgL,KAAKyQ,IAAIzb,EAAG1B,GAAI/C,EAAIyP,KAAKyQ,IAAIlgB,EAAG+C,GAAK0B,EAAG1B,EAAI,EAAIA,EAAG,SAASlF,GACrE,OAAO4R,KAAKyQ,IAAIzb,EAAI5G,EAAImC,EAAG+C,IAWZwd,CAAY9b,EAAGzE,EAAG+C,GAAKyd,GAAS3B,MAAMpa,GAAKzE,EAAIyE,IAInD,SAAS6b,GAAQ7b,EAAGzE,GACjC,IAAI/C,EAAI+C,EAAIyE,EACZ,OAAOxH,EAAImjB,GAAO3b,EAAGxH,GAAKujB,GAAS3B,MAAMpa,GAAKzE,EAAIyE,GCtBrC,gBAAUgc,EAAS1d,GAChC,IAAI+a,EAAQuC,GAAMtd,GAElB,SAAS2a,EAAIgD,EAAOC,GAClB,IAAIljB,EAAIqgB,GAAO4C,EAAQE,GAASF,IAAQjjB,GAAIkjB,EAAMC,GAASD,IAAMljB,GAC7DuF,EAAI8a,EAAM4C,EAAM1d,EAAG2d,EAAI3d,GACvBhD,EAAI8d,EAAM4C,EAAM1gB,EAAG2gB,EAAI3gB,GACvBye,EAAU6B,GAAQI,EAAMjC,QAASkC,EAAIlC,SACzC,OAAO,SAAS5gB,GAKd,OAJA6iB,EAAMjjB,EAAIA,EAAEI,GACZ6iB,EAAM1d,EAAIA,EAAEnF,GACZ6iB,EAAM1gB,EAAIA,EAAEnC,GACZ6iB,EAAMjC,QAAUA,EAAQ5gB,GACjB6iB,EAAQ,IAMnB,OAFAhD,EAAI2C,MAAQI,EAEL/C,EAnBM,CAoBZ,GAEH,SAASmD,GAAUC,GACjB,OAAO,SAASC,GACd,IAIIpkB,EAAGmhB,EAJH1f,EAAI2iB,EAAO7hB,OACXzB,EAAI,IAAI0C,MAAM/B,GACd4E,EAAI,IAAI7C,MAAM/B,GACd4B,EAAI,IAAIG,MAAM/B,GAElB,IAAKzB,EAAI,EAAGA,EAAIyB,IAAKzB,EACnBmhB,EAAQ8C,GAASG,EAAOpkB,IACxBc,EAAEd,GAAKmhB,EAAMrgB,GAAK,EAClBuF,EAAErG,GAAKmhB,EAAM9a,GAAK,EAClBhD,EAAErD,GAAKmhB,EAAM9d,GAAK,EAMpB,OAJAvC,EAAIqjB,EAAOrjB,GACXuF,EAAI8d,EAAO9d,GACXhD,EAAI8gB,EAAO9gB,GACX8d,EAAMW,QAAU,EACT,SAAS5gB,GAId,OAHAigB,EAAMrgB,EAAIA,EAAEI,GACZigB,EAAM9a,EAAIA,EAAEnF,GACZigB,EAAM9d,EAAIA,EAAEnC,GACLigB,EAAQ,KAKC+C,IH7CP,SAASG,GACtB,IAAI5iB,EAAI4iB,EAAO9hB,OAAS,EACxB,OAAO,SAASrB,GACd,IAAIlB,EAAIkB,GAAK,EAAKA,EAAI,EAAKA,GAAK,GAAKA,EAAI,EAAGO,EAAI,GAAKqR,KAAKwR,MAAMpjB,EAAIO,GAChEqhB,EAAKuB,EAAOrkB,GACZ+iB,EAAKsB,EAAOrkB,EAAI,GAChB6iB,EAAK7iB,EAAI,EAAIqkB,EAAOrkB,EAAI,GAAK,EAAI8iB,EAAKC,EACtCC,EAAKhjB,EAAIyB,EAAI,EAAI4iB,EAAOrkB,EAAI,GAAK,EAAI+iB,EAAKD,EAC9C,OAAOF,IAAO1hB,EAAIlB,EAAIyB,GAAKA,EAAGohB,EAAIC,EAAIC,EAAIC,OGsClBkB,ICpDb,SAASG,GACtB,IAAI5iB,EAAI4iB,EAAO9hB,OACf,OAAO,SAASrB,GACd,IAAIlB,EAAI8S,KAAKwR,QAAQpjB,GAAK,GAAK,IAAMA,EAAIA,GAAKO,GAC1CohB,EAAKwB,GAAQrkB,EAAIyB,EAAI,GAAKA,GAC1BqhB,EAAKuB,EAAOrkB,EAAIyB,GAChBshB,EAAKsB,GAAQrkB,EAAI,GAAKyB,GACtBuhB,EAAKqB,GAAQrkB,EAAI,GAAKyB,GAC1B,OAAOmhB,IAAO1hB,EAAIlB,EAAIyB,GAAKA,EAAGohB,EAAIC,EAAIC,EAAIC,OD2CvC,IErDQ,YAASlb,EAAGzE,GACpBA,IAAGA,EAAI,IACZ,IAEIrD,EAFAyB,EAAIqG,EAAIgL,KAAKsP,IAAI/e,EAAEd,OAAQuF,EAAEvF,QAAU,EACvClC,EAAIgD,EAAEkhB,QAEV,OAAO,SAASrjB,GACd,IAAKlB,EAAI,EAAGA,EAAIyB,IAAKzB,EAAGK,EAAEL,GAAK8H,EAAE9H,IAAM,EAAIkB,GAAKmC,EAAErD,GAAKkB,EACvD,OAAOb,IAIJ,SAASmkB,GAAc7W,GAC5B,OAAO8W,YAAYC,OAAO/W,MAAQA,aAAagX,UCL1C,SAASC,GAAa9c,EAAGzE,GAC9B,IAIIrD,EAJA6kB,EAAKxhB,EAAIA,EAAEd,OAAS,EACpBuiB,EAAKhd,EAAIgL,KAAKsP,IAAIyC,EAAI/c,EAAEvF,QAAU,EAClCoL,EAAI,IAAInK,MAAMshB,GACdzkB,EAAI,IAAImD,MAAMqhB,GAGlB,IAAK7kB,EAAI,EAAGA,EAAI8kB,IAAM9kB,EAAG2N,EAAE3N,GAAKiB,GAAM6G,EAAE9H,GAAIqD,EAAErD,IAC9C,KAAOA,EAAI6kB,IAAM7kB,EAAGK,EAAEL,GAAKqD,EAAErD,GAE7B,OAAO,SAASkB,GACd,IAAKlB,EAAI,EAAGA,EAAI8kB,IAAM9kB,EAAGK,EAAEL,GAAK2N,EAAE3N,GAAGkB,GACrC,OAAOb,GCnBI,gBAASyH,EAAGzE,GACzB,IAAI/C,EAAI,IAAIyU,KACZ,OAAOjN,GAAKA,EAAGzE,GAAKA,EAAG,SAASnC,GAC9B,OAAOZ,EAAEykB,QAAQjd,GAAK,EAAI5G,GAAKmC,EAAInC,GAAIZ,ICH5B,YAASwH,EAAGzE,GACzB,OAAOyE,GAAKA,EAAGzE,GAAKA,EAAG,SAASnC,GAC9B,OAAO4G,GAAK,EAAI5G,GAAKmC,EAAInC,I,uOCAd,gBAAS4G,EAAGzE,GACzB,IAEIP,EAFA9C,EAAI,GACJK,EAAI,GAMR,IAAKyC,KAHK,OAANgF,GAA2B,WAAb,GAAOA,KAAgBA,EAAI,IACnC,OAANzE,GAA2B,WAAb,GAAOA,KAAgBA,EAAI,IAEnCA,EACJP,KAAKgF,EACP9H,EAAE8C,GAAK7B,GAAM6G,EAAEhF,GAAIO,EAAEP,IAErBzC,EAAEyC,GAAKO,EAAEP,GAIb,OAAO,SAAS5B,GACd,IAAK4B,KAAK9C,EAAGK,EAAEyC,GAAK9C,EAAE8C,GAAG5B,GACzB,OAAOb,IClBP2kB,GAAM,8CACNC,GAAM,IAAI9N,OAAO6N,GAAIE,OAAQ,KAclB,gBAASpd,EAAGzE,GACzB,IACI8hB,EACAC,EACAC,EAHAC,EAAKN,GAAIO,UAAYN,GAAIM,UAAY,EAIrCvlB,GAAK,EACL+B,EAAI,GACJqG,EAAI,GAMR,IAHAN,GAAQ,GAAIzE,GAAQ,IAGZ8hB,EAAKH,GAAI1D,KAAKxZ,MACdsd,EAAKH,GAAI3D,KAAKje,MACfgiB,EAAKD,EAAG/iB,OAASijB,IACpBD,EAAKhiB,EAAEkhB,MAAMe,EAAID,GACbtjB,EAAE/B,GAAI+B,EAAE/B,IAAMqlB,EACbtjB,IAAI/B,GAAKqlB,IAEXF,EAAKA,EAAG,OAASC,EAAKA,EAAG,IACxBrjB,EAAE/B,GAAI+B,EAAE/B,IAAMolB,EACbrjB,IAAI/B,GAAKolB,GAEdrjB,IAAI/B,GAAK,KACToI,EAAEnB,KAAK,CAACjH,EAAGA,EAAG2N,EAAG6X,GAAOL,EAAIC,MAE9BE,EAAKL,GAAIM,UAYX,OARID,EAAKjiB,EAAEd,SACT8iB,EAAKhiB,EAAEkhB,MAAMe,GACTvjB,EAAE/B,GAAI+B,EAAE/B,IAAMqlB,EACbtjB,IAAI/B,GAAKqlB,GAKTtjB,EAAEQ,OAAS,EAAK6F,EAAE,GA7C3B,SAAa/E,GACX,OAAO,SAASnC,GACd,OAAOmC,EAAEnC,GAAK,IA4CVukB,CAAIrd,EAAE,GAAGuF,GApDjB,SAActK,GACZ,OAAO,WACL,OAAOA,GAmDHqiB,CAAKriB,IACJA,EAAI+E,EAAE7F,OAAQ,SAASrB,GACtB,IAAK,IAAWT,EAAPT,EAAI,EAAMA,EAAIqD,IAAKrD,EAAG+B,GAAGtB,EAAI2H,EAAEpI,IAAIA,GAAKS,EAAEkN,EAAEzM,GACrD,OAAOa,EAAE4jB,KAAK,O,uOCnDT,gBAAS7d,EAAGzE,GACzB,IAAkBhD,EAAda,EAAI,GAAOmC,GACf,OAAY,MAALA,GAAmB,YAANnC,EAAkB2iB,GAASxgB,IAClC,WAANnC,EAAiBskB,GACZ,WAANtkB,GAAmBb,EAAI8gB,GAAM9d,KAAOA,EAAIhD,EAAG0gB,IAAO6E,GAClDviB,aAAa8d,GAAQJ,GACrB1d,aAAa0R,KAAO8Q,GACpBrB,GAAcnhB,GAAKyiB,GACnBtiB,MAAMuiB,QAAQ1iB,GAAKuhB,GACE,mBAAdvhB,EAAE2iB,SAAgD,mBAAf3iB,EAAEjB,UAA2B8f,MAAM7e,GAAK3B,GAClF8jB,IAAQ1d,EAAGzE,ICXb,GAAkB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GA8EjD,SAAS4iB,GAAO/R,EAAiB,EAAsB,GAC7C,IAKJ,EALI,cAEN,GAAE,EAAU,EAFK,SAEgB,EAAU,QACvC,OAAG,EAGP,IAAIgS,EAAWC,EAAUD,SACrBE,EAASD,EAAUC,OAGvB,GADAC,EAAQ,EAAU,EAAY,EAAU,MACtC,EAAU,OAERC,EAAK,EAAU,EAAY,EAC3BA,EAAI,GAAO,GAAQ,OAClB,CAED,MADJ,EAAQ,EAAU,GACN,GAUJ,OALF,EAAU,QACZ,EAAM,KAAK,EAAU,QAAQ,IAErBpS,EAAF,KAAK,EAAU,UAEhB,EARD,EAAE,GAAO,GAAQ,GAWzB,GAAE,EAAU,QAAS,CACjB,IAAE,EAAQ,EAAU,QAAQ,GAChC,EAAM,KAAK,QArGf,SAAiB,EAAiB,EAAsB,GACpD,IAAI,EAAS,GACP,cAAW,YACjB,IAAE,EAAM,UAAR,CAGA,IAAE,ECtB0B,EPCRpM,EAAGzE,EMsBvB,IAAG,IAAM,KAAK,EACV,IAAC,kBAAQ,EAAU,GAAI,EAAQ,IAC3B,GAAI,SAAN,EAAc,CACR,IAAJ,EAAS,EAAQ,GACjB,EAAW,EAAU,GACrB,EAAO,OAAS,EAAS,QACjB,EAAD,EAAyB,EAAQ,IAChC,EAAC,EAAyB,EAAU,IAC9C,EAAW,EAAwB,EAAU,GAC7C,EAAW,EAAoB,EAAU,GAC/B,YAAU,KAAO,EACjB,UAAQ,KAAO,GACf,EAAU,gBACV,EAAD,EAAyB,EAAQ,IAChC,EAAC,EAAyB,EAAU,IACpC,EAAC,EAAoB,EAAU,GACzC,EAAU,UAAU,KAAO,EAC3B,EAAU,QAAQ,KAAO,EACzB,EAAU,eAAgB,GAEpB,EAAD,GAAK,GACJ,IAAH,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CAI5B,IAHA,IAAJ,EAAc,EAAO,GACrB,EAAgB,EAAS,GACzB,EAAa,GACV,EAAI,EAAG,EAAI,EAAY,OAAQ,IAClC,mBAAS,EAAY,KAAO,GAAiB,mBAAS,EAAc,KACtE,EAAS,GAAY,EAAc,GAAI,EAAY,IACrCkjB,EAAH,KAAK,EAAO,KAEvB,EAAW,KAAK,EAAY,IAGhC,EAAO,GAAG,KAAK,SAEZ,GAAU,WAAN,EAAgB,CAKjB,IACF,GN/DUze,EM8DkB,EAAU,IAAM,IN7DhD0c,GADiBnhB,EM8DgD,EAAQ,IAAM,IN7D5DyiB,GAAclB,IAAc9c,EAAGzE,IM8DrB,GAC/B,EAAO,GAAK,MCnEiB,CAAC,OAAQ,SAAU,YAAa,eAAe,SDoEvD,KClEG,EDkEmB,EAAQ,GClEnB,uBAAuB,KAAvB,IDmExBmjB,EAAD,GAAK,EAAQ,GACV,qBAAW,EAAQ,MAErB,EAAC,GAAY,EAAU,GAAI,EAAQ,IACnC,EAAD,GAAK,EAAO,IAIvB,EAAI,KAAK,IA4CL,CAAI,EAAO,EAAW,GAE1B,OAAK,EAGT,IA6He,GA7Hf,WA0BI,SAAF,EAAY,GAhBR,KAAJ,UAAwB,GAKpB,KAAJ,QAAkB,EAKd,KAAJ,MAAuB,KAOrB,KAAK,OAAS,EAgGlB,OA1FI,EAAF,+BAAI,IAEE,EACA,EACA,EAJN,OAKM,KAAC,MAAQ,IAAc,SAAC,GAEpB,GADA,EAAD,QAAU,EACX,EAAK,UAAU,OAAS,EAAG,CACrB,IAAH,IAAI,EAAI,EAAK,UAAU,OAAS,EAAG,GAAK,EAAG,IAEpC,IADA,EAAF,EAAK,UAAU,IACb,UAER,EAAK,eAAe,OAFZ,CAKA,IAAL,EAAM,kBAEG,IAAP,IAAI,GADG,EAAC,EAAM,IAAI,eACC,OAAS,EAAG,GAAK,EAAG,IAC5B,EAAF,EAAW,GACV,GAAO,EAAO,EAAW,KAEpB,EAAL,OAAO,EAAG,IACR,EACT,EAAU,UACZ,EAAU,YAKQ,IAAtB,EAAW,QACb,EAAK,eAAe,GAGP,EAAK,OAAO,IAAI,aAG/B,EAAK,OAAO,YASlB,EAAF,+BAAY,GACV,KAAK,UAAU,KAAK,IAMpB,EAAF,kCAAe,GACb,KAAK,UAAU,OAAO,EAAO,IAM7BC,EAAS7kB,UAAU,YAArB,WACM,QAAK,KAAK,UAAU,QAMxB,EAAF,0BACM,KAAK,OACP,KAAK,MAAM,QAQb,EAAF,qCAAkB,sBAChB,KAAK,UAAU,SAAQ,SAAC,GACtB,EAAS,YAAY,MAEnB,KAAC,UAAY,GACjB,KAAK,OAAO,QAMd,+BACE,OAAO,KAAK,SAEhB,EA3HA,GEnHM,GAAS,CACb,YACA,UACA,WACA,WACA,YACA,YACA,aACA,aACA,aACA,YACA,WACA,YACA,WACA,YACA,OACA,cACA,cAcF,SAAS,GAAgB,EAAQ,EAAM,GACnC,EAAO,KAAO,EAChB,EAAS,OAAS,EAClB,EAAS,cAAgB,EACzB,EAAS,eAAiB,EACxB,EAAK,KAAK,EAAM,GAIpB,SAAS,GAAY,EAAW,EAAM,GAClC,GAAE,EAAS,QAAS,CAChB,WAAa,EACb,GAAc,EASd,GARS,eAAT,GACI8kB,EAAU,EAAS,UACzB,GAAc,GACI,eAAT,IACT,GAAc,EACR,EAAU,EAAS,SAGvB,EAAU,YAAc,EACpB,OAGJ,MAAiB,GAAS,EAAW,GAGvC,YADA,EAAS,SAAU,GAIrB,EAAS,KAAO,EAChB,EAAS,cAAgB,EACzB,EAAS,eAAiB,EAC1B,EAAU,KAAK,EAAM,IAIzB,IAiXe,GAjXf,WAYI,SAAF,EAAY,GAAR,IAAJ,OARQ,mBAAwB,KACxB,eAAoB,EAEpB,kBAAuB,KACvB,oBAAyB,KACzB,oBAAiB,KAsDrB,KAAJ,eAAiB,SAAC,GACV,MAAO,EAAG,KACV,EAAD,cAAc,EAAM,IAkEvB,KAAJ,gBAAkB,SAAC,GAGX,GAFS,EAAK,OACF,IAAI,QACX,EAAG,SAER,EAAK,UAAY,EAAK,cAAc,CACtC,IAAM,EAAY,EAAK,cAAc,GAEjC,EAAK,UACP,EAAK,WAAW,OAAQ,EAAI,EAAW,EAAK,iBAYhD,KAAJ,mBAAqB,SAAC,GAGpB,GAFe,EAAK,OACF,IAAI,QACX,EAAG,QAER,EAAK,SAAU,CACjB,IAAM,EAAY,EAAK,cAAc,GACjC,EAAK,eAEP,EAAK,WAAW,OAAQ,EAAI,EAAW,MAEzC,EAAKC,WAAW,UAAW,EAAI,EAAW,EAAK,eAC/C,EAAK,WAAW,EAAK,cAAe,EAAW,KAvJ/C,KAAC,OAAS,EAAI,OAkWtB,OA/VI,EAAF,0BACM,KAAC,eAIL,EAAF,iCAAI,IAAJ,OACQ,EAAK,KAAK,OAAO,IAAI,MACvB,IAAC,IAAQ,SAAC,GACN,EAAH,iBAAiB,EAAW,EAAK,mBAGlC,WAGF,SAAS,iBAAiB,YAAa,KAAK,iBAE5C,SAAS,iBAAiB,UAAW,KAAK,sBAK5C,EAAF,kCAAI,IAAJ,OACQ,EAAK,KAAK,OAAO,IAAI,MACvB,IAAC,IAAQ,SAAC,GACN,EAAH,oBAAoB,EAAW,EAAK,mBAErC,WACI,SAAG,oBAAoB,YAAa,KAAK,iBACzC,SAAG,oBAAoB,UAAW,KAAK,sBAI/C,EAAF,gCAAa,EAAM,EAAO,EAAO,EAAQ,EAAW,GAClD,IAAM,EAAW,IAAI,EAAW,EAAM,GAUlC,OATJ,EAAS,UAAY,EACjB,EAAK,QAAU,EACnB,EAAS,EAAI,EAAM,EACnB,EAAS,EAAI,EAAM,EACnB,EAAS,QAAU,EAAM,QACrB,EAAK,QAAU,EAAM,QAErB,EAAK,gBAAgB,KAAK,GAEvB,GAUPC,EAAgBhlB,UAAU,UAA5B,SAAU,EAAO,GACX,OAAG,KAAK,OAAO,SAAS,EAAM,EAAG,EAAM,EAAG,IAG9C,EAAF,iCAAc,GACR,IAAE,EAAS,KAAK,OACd,EAAc,EAAO,iBAAiB,GACtC,EAAQ,EAAO,gBAAgB,GACjC,MAAG,CACL,EAAG,EAAM,EACT,EAAG,EAAM,EACT,QAAS,EAAY,EACrB,QAAS,EAAY,IAKvB,EAAF,iCAAc,EAAM,GACd,IAAE,EAAY,KAAK,cAAc,GAE/B,EAAQ,KAAK,UAAU,EAAW,GAClC,EAAS,KAAK,MAAM,GACtB,GAAc,EAClB,GAAI,EACF,EAAO,KAAK,KAAM,EAAW,EAAO,OAC/B,CACL,IAAM,EAAW,KAAK,aAET,eAAT,GAAkC,cAAT,GAAiC,cAAT,GACnD,KAAK,WAAW,EAAM,EAAI,EAAW,KAAM,KAAM,GAC7C,GACF,KAAK,WAAW,EAAM,EAAI,EAAW,EAAO,KAAM,GAEvC,eAAT,GAAyB,KAAK,eAEhC,KAAK,WAAW,YAAa,EAAI,EAAW,OAE5B,eAAT,GAAkC,cAAT,GAAiC,aAAT,GAC1D,GAAc,EACV,GACF,KAAK,WAAW,EAAM,EAAI,EAAW,EAAU,EAAU,MAE3D,KAAK,WAAW,EAAM,EAAI,EAAW,KAAM,EAAU,MACxC,eAAT,GAAyB,KAAK,eAChC,KAAK,WAAW,YAAa,EAAI,EAAW,OAG9C,KAAK,WAAW,EAAM,EAAI,EAAW,EAAO,KAAM,MAOlD,GAJC,IACG,KAAD,aAAe,GAGlB,IAAU,EAAM,IAAI,aAAc,CAC9B,MAAS,KAAK,OACT,EAAO,IAAI,MACnB,MAAM,OAAS,EAAM,KAAK,WAAa,EAAO,IAAI,YA4CvD,EAAF,gCAAa,EAAW,EAAO,GAlPX,IAoPd,EAAM,SACF,KAAD,eAAiB,EAChB,KAAD,eAAiB,EAChB,KAAD,mBAAqB,EAAM,WAE9B,KAAC,WAAW,YAAa,EAAO,EAAW,EAAO,KAAM,OAK5D,EAAF,wCAAqB,EAAO,EAAW,EAAW,GAChD,IAAM,EAAK,KAAK,OAAO,IAAI,MACvB,IAAc,IACZ,IACF,KAAK,WAAW,WAAY,EAAO,EAAW,EAAW,EAAW,GACpE,KAAK,WAAW,aAAc,EAAO,EAAW,EAAW,EAAW,GAEjE,IAAW,EAAQ,IAAI,eAC1B,EAAG,MAAM,OAAS,KAAK,OAAO,IAAI,YAGlC,IACM+B,KAAH,WAAW,YAAa,EAAO,EAAW,EAAS,EAAW,GACnE,KAAK,WAAW,aAAc,EAAO,EAAW,EAAS,EAAW,MAKxE,EAAF,uCAAoB,EAAO,EAAW,EAAW,EAAS,GACpD,GACE,IAAY,IACV,GACF,KAAK,WAAW,YAAa,EAAO,EAAW,EAAW,EAAW,GAEvE,KAAK,WAAW,YAAa,EAAO,EAAW,EAAS,EAAW,IAEhE,GACH,KAAK,WAAW,WAAY,EAAO,EAAW,IAEvC,GAGT,KAAK,WAAW,YAAa,EAAO,EAAW,EAAW,EAAW,GAGnE,GACF,KAAK,WAAW,WAAY,EAAO,EAAW,IAKhD,EAAF,8BAAW,EAAe,EAAW,GAC/B,IACF,EAAc,IAAI,WAAW,GACvB,KAAD,cAAgB,MAEnB,KAAC,UAAW,EAEZ,IAAE,EAAQ,KAAK,UAAU,EAAWkjB,GAEpC,IAAU,GACN,KAAD,qBAAqB,EAAO,EAAW,EAAe,GAEzD,KAAC,aAAe,GAGpB,EAAF,8BAAW,EAAW,EAAO,GAGvB,GAzTc,IAyTd,EAAM,OAA0B,CAC5B,MAAgB,KAAK,cACvB,KAAK,UAEH,GACF,KAAK,WAAW,OAAQ,EAAO,EAAW,GAE5C,KAAK,WAAW,UAAW,EAAO,EAAW,GAC7CljB,KAAK,WAAW,EAAe,EAAW,KAE1C,KAAK,WAAW,UAAW,EAAO,EAAW,GACzC,IAAU,KAAK,gBACjB,KAAK,WAAW,QAAS,EAAO,EAAW,GAE7C,KAAK,eAAiB,KACtB,KAAK,eAAiB,QAM1B,EAAF,+BAAY,EAAW,EAAO,GACxB,EAAE,iBACF,IAAE,EAAW,KAAK,aAClB,KAAC,oBAAoB,EAAO,EAAW,EAAU,GAAO,IAI5D,EAAF,gCAAa,EAAW,EAAO,GACzB,IAAE,EAAS,KAAK,OACd,EAAW,KAAK,aAClB,EAAgB,KAAK,cAErB,QAAK,SAEH,GAEM,KAAH,oBAAoB,EAAO,EAAW,EAAU,GAAO,GAIxD,KAAD,WAAW,OAAQ,EAAO,EAAW,OACrC,CACC,MAAiB,KAAK,eACtB,GAAF,EAAgB,CAEV,IAAF,EAAiB,KAAK,eAEtB,EADM,EAAM,UACO,KAAK,mBACxB,EAAK,EAAe,QAAU,EAAU,QACxC,EAAK,EAAe,QAAU,EAAU,QAE1C,EAAa,KADJ,EAAK,EAAK,EAAK,EA7Wf,GA+WP,GAAkB,EAAe,IAAI,eAEvC,EAAgB,KAAK,gBACP,IAAI,WAAW,GACjBA,KAAP,cAAgB,EACTA,KAAP,UAAW,EAChB,KAAK,WAAW,YAAa,EAAO,EAAW,GAE/C,KAAK,eAAiB,KACtB,KAAK,eAAiB,OACZ,GAAkB,EAAO,IAAI,cAEvC,KAAK,UAAW,EAChB,KAAK,WAAW,YAAa,EAAO,EAAW,MAE/C,KAAK,eAAiB,KACtB,KAAK,eAAiB,OAEtB,KAAK,qBAAqB,EAAO,EAAW,EAAU,GACtD,KAAK,WAAW,YAAa,EAAO,EAAW,KAGjD,KAAK,qBAAqB,EAAO,EAAW,EAAU,GACtD,KAAK,WAAW,YAAa,EAAO,EAAW,SAIjD,KAAK,qBAAqB,EAAO,EAAW,EAAU,GAEtD,KAAK,WAAW,YAAa,EAAO,EAAW,KAMnD,EAAF,8BAAW,EAAM,EAAO,EAAW,EAAO,EAAY,GAChD,IAAE,EAAW,KAAK,aAAa,EAAM,EAAO,EAAW,EAAO,EAAW,GAEzE,KAAO,CACH,EAAG,MAAQ,EAEjB,GAAgB,EAAO,EAAM,GAGvB,IAFN,IAAI,EAAS,EAAM,YAEZ,GAEL,EAAO,eAAe,EAAM,GAEvB,EAAS,oBACZ,GAAY,EAAQ,EAAM,GAE5B,EAAS,gBAAgB,KAAK,GAC9B,EAAS,EAAO,gBAEb,CAIL,GAFe,KAAK,OAEI,EAAM,KAIlC,+BAEE,KAAK,eAEL,KAAK,OAAS,KACd,KAAK,aAAe,KACpB,KAAK,cAAgB,KACrB,KAAK,eAAiB,KACtB,KAAK,eAAiB,KACtB,KAAK,mBAAqB,MAE9B,EA/WA,GCtEM,GAAU,oBACV,GAAY,IAA4B,YAAjB,GAAQ,KAuOtB,GArOf,YACI,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,K,OACNmjB,EAAC,gBACD,EAAC,UACL,EAAK,aACL,EAAK,e,EA6NT,OAnO8B,yBAS1B,EAAF,mCACM,IAAE,EAAM,YAAM,cAAa,WAK/B,OAHI,EAAD,OAAa,UAEhB,EAAG,qBAA0B,EACtB,GAOP,EAAF,mCACM,MAAY,KAAK,IAAI,aACrB,IAAS,KACX,EAAY,SAAS,eAAe,GACpC,KAAK,IAAI,YAAa,KAQxB,EAAF,6BACM,IAAE,EAAK,KAAK,YACZnjB,KAAC,IAAI,KAAM,GAEG,KAAK,IAAI,aACjB,YAAY,GAEtB,KAAK,WAAW,KAAK,IAAI,SAAU,KAAK,IAAI,YAa5C,EAAF,gCACM,IAAE,EAAkB,IAAI,GAAgB,CAC1C,OAAQ,OAEV,EAAgB,OAChB,KAAK,IAAI,kBAAmB,IAO5B,EAAF,kCACM,IAAE,EAAW,IAAI,GAAS,MAC1B,KAAC,IAAI,WAAY,IASrB,EAAF,8BAAW,EAAe,GACxB,IAAM,EAAK,KAAK,IAAI,MAChB,KACF,EAAG,MAAM,MAAQ,EArFL,KAsFZ,EAAG,MAAM,OAAS,EAtFN,OA2Fd,EAAF,8BAAW,EAAe,GACxB,KAAK,WAAW,EAAO,GACvB,KAAK,IAAI,QAAS,GACd,KAAC,IAAI,SAAU,GACnB,KAAK,eAAe,eAOpB,EAAF,iCACM,OAAG,KAAK,IAAI,aAOhB,EAAF,+BACM,OAAG,KAAK,IAAI,WAOhB,EAAF,6BAAU,GACJ,KAAC,IAAI,SAAU,GACf,IAAE,EAAK,KAAK,IAAI,MAChB,IAAa,IAET,EAAH,MAAM,OAAS,IAKpB,EAAF,mCAAgB,GAEV,GADwB,KAAK,IAAI,uBACZ,CAEvB,GAAI,KAAc,IAAO,EAAW,SAAY,EAAW,SAAY,EAAkB,QACvF,MAAO,CACL,EAAI,EAAW,OACf,EAAI,EAAW,QAGb,IAAD,IAAO,EAAkB,SAEpB,MAAD,CACL,EAAI,EAAkB,QACtB,EAAI,EAAkB,SAMtB,+BAAE,MAAY,MACpB,OAAO,KAAK,iBAAiB,EAAS,IAItC,EAAF,oCAAiB,GACX,MAAiC,EAQjC,OAPC,EAAkB,UAEnB,EADc,aAAZ,EAAG,KACS,EAAkB,eAAe,GAEjC,EAAkB,QAAQ,IAGrC,CACC,EAAH,EAAW,QACd,EAAG,EAAW,UAKhB,EAAF,oCAAiB,EAAiB,GAChC,IACM,EADK,KAAK,IAAI,MACJ,wBAChB,MAAO,CACL,EAAG,EAAU,EAAK,KAClB,EAAG,EAAU,EAAK,MAKpB,EAAF,oCAAiB,EAAW,GAC1B,IACM,EADK,KAAK,IAAI,MACJ,wBACZ,MAAG,CACL,EAAG,EAAI,EAAK,KACZ,EAAG,EAAI,EAAK,MAKd,EAAF,4BAME,EAAF,+BACM,IAAE,EAAK,KAAK,IAAI,MAChB,EAAD,WAAW,YAAY,IAO1B,EAAF,iCAC0B,KAAK,IAAI,mBACjB,WAGlB,gCACE,OAAO,GAGT,iCACE,OAAO,MAGT,+BACE,IAAM,EAAW,KAAK,IAAI,YACtB,KAAK,IAAI,eAGb,KAAK,QAED,GAEF,EAAS,OAEX,KAAK,cACL,KAAK,YACL,YAAM,QAAO,aAEjB,EAnOA,CAA8B,ICWf,GArBf,YAAE,SAAF,I,+CAmBE,OAnBmC,yBACjC,EAAF,6BACM,OAAG,GAGP,EAAF,mCACE,OAAO,GAGP,EAAF,2BAIM,IAHJ,IAAM,EAAQ,EAAA/B,UAAM,MAAK,WAEnB,EAAW,KAAK,cACb,EAAI,EAAG,EAAI,EAAS,OAAQ,IAAK,CACxC,IAAM,EAAQ,EAAS,GACjB,MAAImlB,EAAM,SAEd,OAAG,GAEX,EAnBA,CAAqC,ICgKtB,GA/Jf,YACI,SAASC,EAAC,G,OACV,YAAM,IAAI,KA2Jd,OA7JqC,yBAMjC,EAAF,6BAAU,EAAM,GACV,IAAE,EAAO,KAAK,UAClB,OAAO,EAAK,MAAQ,GAAQ,EAAK,MAAQ,GAAQ,EAAK,MAAQ,GAAQ,EAAK,MAAQ,GAQnF,EAAF,oCAAiB,GACf,YAAM,iBAAgB,UAAC,GACvB,KAAK,kBAGL,EAAF,6BACM,MAAO,KAAK,IAAI,QAKpB,OAJK,IACH,EAAO,KAAK,gBACZ,KAAK,IAAI,OAAQ,IAEZ,GAGP,EAAF,mCACM,MAAY,KAAK,IAAI,aAKzB,OAJK,IACH,EAAY,KAAK,sBACjB,KAAK,IAAI,YAAa,IAEjB,GASPA,EAAcplB,UAAU,YAA1B,SAAY,GACN,EAAJ,UAAM,YAAW,UAAC,GAEd,KAAC,IAAI,YAAa,OAOtB,EAAF,yCACM,IAAE,EAAO,KAAK,UACZ,EAAc,KAAK,iBACnB,SAAM,SAAM,SAAM,SACpB,KAAa,CACf,IAAM,EAAU,GAAa,EAAa,CAAC,EAAK,KAAM,EAAK,OACrD,EAAW,GAAa,EAAa,CAAC,EAAK,KAAM,EAAK,OACtD,EAAa,GAAa,EAAa,CAAC,EAAK,KAAM,EAAK,OACxD,EAAc,GAAa,EAAa,CAAC,EAAK,KAAM,EAAK,OACzD,EAAC,KAAK,IAAI,EAAQ,GAAI,EAAS,GAAI,EAAW,GAAI,EAAY,IAC9D,EAAC,KAAK,IAAI,EAAQ,GAAI,EAAS,GAAI,EAAW,GAAI,EAAY,IAC9D,EAAC,KAAK,IAAI,EAAQ,GAAI,EAAS,GAAI,EAAW,GAAI,EAAY,IAC9D,EAAC,KAAK,IAAI,EAAQ,GAAI,EAAS,GAAI,EAAW,GAAI,EAAY,IAElE,IAAE,EAAQ,KAAK,MAEf,KAAM,YAAa,CACb,oCAAgB,mCAAmB,mCACrC,EAAa,EAAO,EAAa,EACjC,EAAc,EAAO,EAAa,EAClC,EAAY,EAAO,EAAa,EAChC,EAAe,EAAO,EAAa,EACnC,EAAC,KAAK,IAAI,EAAM,GAChB,EAAC,KAAKugB,IAAI,EAAM,GAChB,EAAC,KAAK,IAAI,EAAM,GAChB,EAAC,KAAK,IAAI,EAAM,GAExB,MAAO,CACL,EAAG,EACH,EAAG,EACH,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,MAAO,EAAO,EACd,OAAQ,EAAO,IAQjB,EAAF,oCACE,KAAK,IAAI,OAAQ,MACjB,KAAK,IAAI,YAAa,OAItB,EAAF,iCACE,OAAO,KAAK,IAAI,gBAUhB,EAAF,6BAAU,EAAc,GAClB,OAAG,GAQP,EAAF,kCACM,OAAG,GAIP,EAAF,yBAAM,EAAW,GACX,IAAE,EAAkB,KAAK,IAAI,mBAC3B,EAAgB,KAAK,IAAI,iBAC3B,EAAM,CAAC,EAAG,EAAG,GAEV,GADH,EAAE,KAAK,iBAAiB,IACrB,GAAM,OACP,EAAS,KAAK,UAAU,EAAM,GAEhC,QAAK,eACD,OAAC,EAGT,GAAI,IAAW,KAAK,UAAU,EAAM,GAAO,CAEzC,GAAI,KAAK,UAAU,EAAM,GACvB,OAAO,EAGT,GAAI,GAAmB,EAAgB,MAAM,EAAM,GACjD,OAAO,EAGT,GAAI,GAAiB,EAAc,MAAM,EAAM,GAC7C,OAAO,EAGX,OAAO,GAEX,EA7JA,CAAqC,ICIxB,GAFD,EAAQ,KAEO,S,8ECA3B,aAAS,wDAAAthB,IAAA,oBAAAomB,kBAAgB,qFAAAC,uBAEzB,aAAS,kDAAArmB,IAAA,oBAAAwP,YAAU,+EAAA8W,iBAEnB,aAAS,kFAAAC,qB,sMCVT,WAMMC,EAAa,CACjB,QACA,WACA,YACA,aACA,aACA,YACA,UACA,eAGIC,EAAmB,GA8BnBxZ,EAA8B,EAAAJ,QAAQ6Z,EANjB,CACzBC,MAAO,QACPC,YAAa,cACbC,WAAY,eAG+DC,EAAkB,OAAQN,IAmExE,EAAAvZ,mBAjE/B,IAAM8Z,EAA6BD,EAAkB,QAASN,GAiEb,EAAAO,kBA9DjD,IAAMC,EAAuB,EAAAna,QAC3B,GACA6Z,EAnBuB,CACvBO,KAAM,aACNvhB,MAAO,QACPwhB,OAAQ,gBAiBRJ,EAAkB,OAAQN,GAC1BW,KAoBF,SAAgBT,EAAYU,GAC1B,IAAMC,EAAsB,GAY5B,OAXA,EAAA/a,KAAK8a,GAAK,SAAC3a,EAAM/L,GACf,IACM4mB,EAAa,KADG,EAAAC,WAAW7mB,GAE3B8mB,EAAiB/a,EAAI,IAC3B,EAAAH,KAAKka,GAAY,SAAC9mB,GAChB,IAAM2N,EAAY,EAAAka,WAAW7nB,GAEvBsmB,EAAQ,GAAGwB,EAAc9nB,EAC/B2nB,EAFiB,GAAGC,EAAaja,GAEZ2Y,QAGlBqB,EAGT,SAAgBP,EAAkBW,EAAQC,GACxC,IAAML,EAAsB,GAO5B,OALA,EAAA/a,KAAKob,GAAW,SAAChoB,GACf,IAAM2N,EAAY,EAAAka,WAAW7nB,GAE7B2nB,EAJiB,KAGgBI,EAASpa,GACrB3N,KAEhB2nB,EAGT,SAAgBF,IACd,IAAME,EAAsB,GAO5B,OALA,EAAA/a,KAAKma,GAAkB,SAAC/mB,GACtB,IAAM2N,EAAY,EAAAka,WAAW7nB,GAE7B2nB,EAJiB,KAGgBha,GACZ3N,KAEhB2nB,EAGW,EAAAL,YAA8C,EAAAW,QAvDlE,SAAiBvd,EAAkBiD,EAAmBC,GACpDlD,EAAM2B,KAAKwB,GAAGF,GAAW,SAACua,GACxB,IAAMC,EAAY,CAChB/a,EAAG8a,aAAE,EAAFA,EAAI9a,EACPvH,EAAGqiB,aAAE,EAAFA,EAAIriB,EACPuiB,QAASF,aAAE,EAAFA,EAAIE,QACbC,QAASH,aAAE,EAAFA,EAAIG,QACbrkB,OAAQkkB,aAAE,EAAFA,EAAIlkB,OACZ5B,MAAM8lB,aAAE,EAAFA,EAAI9lB,MAAO8lB,EAAG9lB,KAAKA,KAAO,KAChC4H,KAAMU,EACNT,OAAQS,EAAMT,OACdqe,OAAQJ,aAAE,EAAFA,EAAII,QAEd1a,EAAQua,OAIZ,gBAgBA,sBAWA,uB,yFCzGA,SACA,QAAS,2EAAAI,aACT,aAAS,yEAAAC,WAAS,uEAAA9X,SAAO,wEAAA+X,UAEzB,+B,+CAIA,OAJkC,YAAA1Z,EAAA,GACzB,EAAA2Z,eAAP,SAAsBC,GACpB,OAAO,IAAI5Z,EAAK4Z,EAAKvb,EAAGub,EAAK9iB,EAAG8iB,EAAKlf,MAAOkf,EAAKjf,SAErD,EAJA,CAAkC,EAAAqF,M,gRCDlC,SAAS,EAAK,GACZ,OAAO,KAAK,KAAK,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,IAI1C,SAAS6Z,EAAOC,EAAGviB,GAEf,OAAK,EAAK,GAAK,EAAK,IAAM,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,KAAO,EAAK,GAAK,EAAK,IAAM,EAIjF,SAAS,EAAO,EAAGA,GACjB,OAAQ,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,IAAM,EAAI,GAAK,KAAK,KAAK,EAAO,EAAG,IAItD,SAAU,EAAa,EAAY,GAC7C,IAAE,EAAK,EAAO,GACZ,EAAK,EAAO,GACV,EAAY,YAAI,YAAS,EAAO,IAAe,EAAV,KAAK,IAC1C,EAAU,EAAO,GACjB,EAAY,EAAO,GAEnB,EAAK,EAAW,GAChB,EAAK,EAAW,GAEhB,EAAK,EAAO,GACZ,EAAK,EAAO,GACZ,EAAM,KAAK,IAAI,IAAc,EAAK,GAAO,EAAO,KAAK,IAAI,IAAc,EAAK,GAAO,EACnF,GAAO,EAAI,KAAK,IAAI,IAAc,EAAK,GAAO,EAAO,KAAK,IAAI,IAAc,EAAK,GAAO,EACxF,EAAU,EAAK,GAAO,EAAK,GAAO,EAAK,GAAO,EAAK,GAErD,EAAS,IACX,GAAM,KAAK,KAAK,GAChB,GAAM,KAAK,KAAK,IAEhB,IAAI,EAAO,EAAK,GAAM,EAAK,GAAM,EAAK,GAAM,EAAK,GAE/C,EAAI,EAAO,KAAK,MAAM,EAAK,GAAM,EAAK,GAAM,GAAQ,GAAQ,EAE5D,IAAY,IACd,IAAM,GAEJ,MAAM,KACR,EAAI,GAIJ,IAAI,EAAM,EAAM,EAAI,EAAK,EAAM,EAAK,EAChC,EAAM,EAAM,GAAK,EAAK,EAAM,EAAK,EAGjC,GAAM,EAAK,GAAM,EAAM,KAAK,IAAI,GAAa,EAAM,KAAK,IAAI,GAAa,EACzE,GAAM,EAAK,GAAM,EAAM,KAAK,IAAI,GAAa,EAAM,KAAK,IAAI,GAAa,EAGzE,EAAI,EAAE,EAAK,GAAO,GAAK,EAAK,GAAO,GAEnCA,EAAI,GAAG,EAAI,EAAK,GAAO,IAAM,EAAI,EAAK,GAAO,GAE7C,EAAQ,EAAO,CAAC,EAAG,GAAI,GAGzB,EAAS,EAAO,EAAG,GAcrB,OAZE,EAAO,EAAG,KAAO,IACnB,EAAS,KAAK,IAEZ,EAAO,EAAG,IAAM,IACd,EAAK,GAEO,IAAd,GAAmB,EAAS,IAC1B,GAAc,EAAI,KAAK,IAEX,IAAd,GAAmB,EAAS,IAC1B,GAAc,EAAI,KAAK,IAEtB,CACL,GAAE,EACF,GAAE,EAEF,GAAI,YAAY,EAAY,CAAC,EAAI,IAAO,EAAI,EAC5C,GAAI,YAAY,EAAY,CAAC,EAAI,IAAO,EAAI,EAC5C,WAAY,EACZ,SAAU,EAAQ,EAClB,UAAS,EACT,QAAO,EACP,UAAS,G,YClFP,EAAkB,CACtB,KAAM,YACN,OAAQ,cACR,QAAS,eAGL,SAAU,EAAoB,EAAmC,GACnE,IAAI,EAAQ,EAAQ,OACpB,IAAG,IAAM,KAAK,EAAO,CACjB,IAAAA,EAAI,EAAM,GAER,EAAO,EAAgB,GAAK,EAAgB,GAAK,EAC1C,WAAT,GAAqB,EAEjB,EAAE,UAAU,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,IAChC,aAAT,GAAuB,EAAQ,YAElC,OAAN,UAAM,CAAE,IAAM,EAAQ,YAAY,IAErB,gBAAT,GAAmC,cAAT,EAG5B,EAAI,YAAW,EAAS,EAAS,GACf,gBAAT,IAET,GAAQ,EAAQ,aAElB,EAAQ,GAAQ,IAKhB,SAAU,EAAa,EAAmC,EAAsB,GAClF,IAAG,IAAI,EAAI,EAAG,EAAI,EAAS,OAAQ,IAAK,CACpC,IAAE,EAAQ,EAAS,GACnB,EAAM,IAAI,WACZ,EAAM,KAAK,EAAS,GAEd,cAMN,SAAU,EAAS,EAAO,EAAS,EAAO,GACpC,IAAF,EAA+B,EAA3B,KAAE,EAAyB,EAAf,WAAE,EAAa,EAAL,SAC9B,EAAe,CAAC,EAAG,GACnB,EAAiB,CAAC,EAAG,GACrB,EAAW,CACT,KACA,MAEJ,EAAM,YACN,IAAG,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ7G,IAAK,CAChC,IAAE,EAAS,EAAK,GACd,EAAU,EAAO,GACnB,GAAM,IAAN,GAAW,GAAc,EAAW,EAAG,CACnC,MAAU,EAAM,kBACtB,EAAW,IAA2B,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAW,QACxG,GAAI,IAAM,EAAK,OAAS,GAAwB,MAAnB,EAAK,EAAI,GAAG,IAAc,GAAY,EAAS,EAAG,CAGpF,GAAoB,MADH,EAAK,EAAI,GACb,GAAY,CACjB,EAAU,EAAM,gBACtB,EAAW,IAA2B,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAS,SAExG,GAAI,IAAM,EAAK,OAAS,GAAK,GAAY,EAAS,GACvC,MAAZ,EAAK,GAAY,CACb,EAAU,EAAM,gBACtB,EAAW,IAA2B,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAS,GAIvG,MAAW,EAAT,GAAE,EAAO,EAAL,GAEd,OAAQ,GACN,IAAK,IACH,EAAQ,OAAO,EAAO,GAAK,EAAI,EAAO,GAAK,GAC3C,EAAiB,CAAC,EAAO,GAAI,EAAO,IACpC,MACF,IAAK,IACH,EAAQ,OAAO,EAAO,GAAK,EAAI,EAAO,GAAK,GAC3C,MACF,IAAK,IACH,EAAQ,iBAAiB,EAAO,GAAI,EAAO,GAAI,EAAO,GAAK,EAAI,EAAO,GAAK,GAC3E,MACF,IAAK,IACH,EAAQ,cAAc,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAK,EAAI,EAAO,GAAK,GAC9F,MACF,IAAK,IACH,IAAI,OAAS,EAET,GACF,EAAY,EAAe,MAEzB,EAAY,EAAa,EAAc,GACvC,EAAe,GAAK,GAGtB,EAAY,EAAa,EAAc,GAEjC,MAA+D,EAA7D,GAAE,EAA2D,EAAzD,GAAE,EAAuD,EAArD,GAAE,EAAmD,EAAjD,GAAE,EAA+C,EAArC,WAAE,EAAmC,EAA3B,SAAE,EAAyB,EAAhB,UAAE,EAAc,EAAL,UAElE,GAAI,EAAQ,QACV,EAAQ,QAAQ,EAAI,EAAI,EAAI,EAAI,EAAW,EAAY,EAAU,EAAI,OAChE,CACL,IAAM,EAAI,EAAK,EAAK,EAAK,EACnB,EAAS,EAAK,EAAK,EAAI,EAAK,EAC5B,EAAS,EAAK,EAAK,EAAK,EAAK,EACnC,EAAQ,UAAU,EAAI,GACtB,EAAQ,OAAO,GACf,EAAQ,MAAM,EAAQ,GACtB,EAAQ,IAAI,EAAG,EAAG,EAAG,EAAY,EAAU,EAAI,GAC/C,EAAQ,MAAM,EAAI,EAAQ,EAAI,GAC9B,EAAQ,QAAQ,GAChB,EAAQ,WAAW,GAAK,GAE1B,MAEF,IAAK,IACH,EAAQ,YAOZ,GAAgB,MAAZ,EACF,EAAe,MACV,CACL,IAAM,EAAM,EAAO,OACnB,EAAe,CAAC,EAAO,EAAM,GAAI,EAAO,EAAM,MAM9C,SAAU,EAAe,EAAS,GACtC,IAAM,EAAS,EAAQ,IAAI,UAEvB,IACiB,WAAf,IAIF,EAAQ,iBAAmB,EAAQ,IAAI,oBAGpC,EAAQ,IAAI,gBAMf,EAAO,eAAe,EAAS,EAAY,GACvC,EAAO,IAAI,aACb,EAAO,OAET,EAAQ,IAAI,cAAc,KA2B1B,SAAU,EAAgB,GAC9B,IAAK,EAAS,OACZ,OAAO,KAET,IAAM,EAAU,GACV,EAAU,GACV,EAAU,GACV,EAAU,GAUhB,OATA,eAAK,GAAU,SAAC,GACd,IAAM,EA/BJ,SAA2B,GAC/B,IAAI,EACJ,GAAK,EAAQ,UAeX,EAAS,EAAO,qBAfM,CACtB,IAAM,EAAW,EAAQ,IAAI,mBACvB,EAAa,MAAe,EAAS,QAAS,EAAS,QACvD,EAAO,EAAQ,gBACf,EAAY,MAAW,EAAK,QAAS,EAAK,QAE5C,GAAc,EAChB,EAAS,YAAY,EAAU,GACtB,EACT,EAAS,EACA,IACT,EAAS,GAMb,OAAO,EAYU,CAAiB,GAC5B,IACF,EAAQ,KAAK,EAAO,MACpB,EAAQ,KAAK,EAAO,MACpB,EAAQ,KAAK,EAAO,MACpB,EAAQ,KAAK,EAAO,UAGjB,CACL,KAAM,KAAK,IAAI,MAAM,KAAM,GAC3B,KAAM,KAAK,IAAI,MAAM,KAAM,GAC3B,KAAM,KAAK,IAAI,MAAM,KAAM,GAC3B,KAAM,KAAK,IAAI,MAAM,KAAM,IAIzB,SAAU,EAAU,EAAQ,GAChC,OAAK,GAAW,GAIX,YAAc,EAAQ,GAGpB,CACL,KAAM,KAAK,IAAI,EAAO,KAAM,EAAW,MACvC,KAAM,KAAK,IAAI,EAAO,KAAM,EAAW,MACvC,KAAM,KAAK,IAAI,EAAO,KAAM,EAAW,MACvC,KAAM,KAAK,IAAI,EAAO,KAAM,EAAW,OAVhC,O,yFC5NX,OAiBA,OACA,4BACA,QACA,QAEA,4BAkBA,QACA,4BACA,2BACA,2BACA,2BACA,QAEA,wBACA,SAqCA,cA4FE,WAAY0J,GAAZ,MACE,YAAMA,IAAM,K,OAJJ,EAAA2f,aAA8B,GAC9B,EAAAC,OAAsB,GAI9B,EAAKC,QAAU,EAAKC,WAAW9f,GAC/B,EAAK+f,eAAiB,EAAA/b,QAAQ,GAAI,EAAK6b,SACvC,EAAKG,kBAAoB,IAAI,UAAkB,CAC7Cnf,KAAM,IAER,EAAKof,gBAAkB,IAAI,UAAgB,CACzCpf,KAAM,IAER,EAAKqf,gBAAkB,IAAI,U,EAspB/B,OA5vB6F,iBAC7E,EAAAC,kBAAd,WACE,MAAO,CACL3f,SAAU,SACVsd,MAAO,CACLsC,SAAS,EACTC,QAAS,OACTC,KAAM,IAERvC,YAAa,CACXqC,SAAS,EACTE,KAAM,GACND,QAAS,QAEXE,QAAS,OACTlC,OAAQ,CACN+B,SAAS,EACTI,SAAU,iBAEZC,QAAS,CACPL,SAAS,EACTM,QAAQ,EACRC,gBAAgB,EAChBC,WAAY,CACV/c,KAAM,KAERgd,OAAQ,IAEVC,MAAO,CACLV,SAAS,EACTW,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTc,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACLsC,SAAS,EACTgB,QAAS,KAGbC,MAAO,CACLjB,SAAS,EACTW,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLoD,YAAY,EACZd,SAAS,EACTgB,QAAS,KAGbvkB,MAAO,CACLujB,SAAS,GAEXT,aAAc,CAAC,CAAE9b,KAAM,WAAa,CAAEA,KAAM,iBAAmB,CAAEA,KAAM,kBACvE4Y,WAAW,IA8BR,YAAAqD,WAAP,SAAkB9f,GAChB,IAAMshB,EAAarnB,KAAK4lB,SAAW,GAC7BA,EAAU,YAAMC,WAAU,UAAC9f,GAE3BuhB,EAAiBtnB,KAAKC,YAAYimB,kBAAkBngB,GAEpD2f,EAAe,EAAA6B,OACnB,EAAAC,QACE,EAAAlD,IAAI,CAACsB,EAAS0B,EAAgB,EAAAG,OAAO1hB,EAAO,gBAAkBA,EAAQshB,IAAa,SAACK,GAClF,SAAAxqB,IAAIwqB,EAAK,eAAgB,SAG7B,SAACrpB,EAAQspB,GACP,IAAMxe,EAAM,EAAAO,UAAUrL,GAAQ,SAACsL,GAAS,OAAAA,EAAKC,OAAS+d,EAAI/d,QAI1D,OAHIT,GAAO,GACT9K,EAAOupB,OAAOze,EAAK,GAEd,EAAP,eAAW9K,EAAQ,CAAAspB,MAErB,IAEF,OAAO,EAAA5d,QAAQ,GAAI6b,EAAS0B,EAAgBD,EAAYthB,EAAO,CAAE2f,aAAY,KAGxE,YAAAmC,WAAP,WACE7nB,KAAK8nB,KAAK,EAAAC,sBAAsBC,aAChC,YAAMH,WAAU,YAGX,YAAAI,KAAP,sBACE,YAAMA,KAAI,WACVjoB,KAAKyG,MAAQzG,KAAKimB,gBAAgBvZ,SAAS1M,KAAK4lB,QAAS5lB,KAAK4J,MAC9D5J,KAAK2H,OAAS,CACZ3I,KAAMgB,KAAKkoB,YAAYloB,KAAK4lB,QAAQ5mB,MACpCmpB,OAAQ,GACRC,QAAS,GACT5B,QAAS,CACP6B,WAAW,GAEbC,KAAM,GACNC,WAAY,CAAE3e,KAAM,aACpB4e,WAAY,GACZC,YAAa,GACb/C,aAAc,GACdjf,MAAOzG,KAAKyG,MACZiiB,WAAY,GACZC,QAAS,GACTC,MAAO,IAGT5oB,KAAK+lB,kBAAkB8C,QAEvB7oB,KAAK8oB,YACL9oB,KAAK+oB,kBAEL/oB,KAAKgpB,cACLhpB,KAAKipB,QACLjpB,KAAKkpB,QACLlpB,KAAKmkB,OACLnkB,KAAKwmB,UACLxmB,KAAKokB,SACLpkB,KAAKmpB,cACLnpB,KAAKopB,aACLppB,KAAKwiB,YAELxiB,KAAKqpB,UAAYrpB,KAAKspB,eACtB,IAAMC,EAASvpB,KAAKwpB,kBAAkBxpB,KAAKqpB,WAC3CrpB,KAAKiJ,KAAO,IAAI,EAAAgD,KAAK,CACnB+G,OAAQ,KACRnM,OAAQ7G,KAAK6G,OACb4iB,gBAAiBzpB,KAAK8F,UAAU4jB,WAChCC,YAAa3pB,KAAK8F,UAAU4jB,WAC5BE,gBAAiB5pB,KAAK8F,UAAU4jB,WAChCpD,QAAStmB,KAAK+lB,kBAAkB8D,aAChCpjB,MAAOzG,KAAKyG,MACZmf,QAAS5lB,KAAK2H,OACdmiB,YAAa9pB,KAAK+pB,gBAClBR,OAAM,IAERvpB,KAAKgqB,oBACLhqB,KAAKiJ,KAAKwB,GAAG,EAAAqC,iBAAiBmd,cAAc,WAC1C,EAAKC,kBAIF,YAAAC,UAAP,WACE,YAAMA,UAAS,WACVnqB,KAAKiJ,OAAQjJ,KAAKiJ,KAAKlC,YAGC,SAAzB/G,KAAK4lB,QAAQU,SACftmB,KAAKmH,cAEPnH,KAAK8nB,KAAK,EAAAC,sBAAsBqC,cAG3B,YAAAF,YAAP,W,QACE,GAAKlqB,KAAKiJ,OAAQjJ,KAAKiJ,KAAKlC,UAA5B,CAGQ,IAAA6e,EAAY5lB,KAAI,QAClBsmB,EAAUV,EAAQU,QAAUV,EAAQU,QAAUtmB,KAAK2H,OAAOlB,MAAM6f,QAElEV,EAAQyE,cAA4B,SAAZ/D,GAC1BtmB,KAAKgmB,gBAAgBsE,cAAc1E,EAAQyE,cAG7B,SAAZ/D,GACFtmB,KAAK+lB,kBAAkBwE,sBAEE,QAAvB,EAAe,QAAf,EAAA3E,EAAQY,eAAO,eAAEgE,cAAM,eAAEC,WAAgC,SAApB7E,EAAQU,SAC/CtmB,KAAK0qB,kBAKF,YAAAphB,OAAP,WACEtJ,KAAK8nB,KAAK,EAAAC,sBAAsB4C,eAChC,YAAMrhB,OAAM,WACJ,IAAAtK,EAASgB,KAAK4lB,QAAO,KACxB,EAAAgF,QAAQ5rB,IACXgB,KAAKiJ,KAAKK,SAEZtJ,KAAK8nB,KAAK,EAAAC,sBAAsBkC,eAI3B,YAAAziB,QAAP,WACMxH,KAAK6G,QACP7G,KAAK6G,OAAOY,QAIT,YAAAO,gBAAP,SAAuBC,GACrB,OAAOjI,KAAKiJ,KAAKjB,gBAAgBC,IAG5B,YAAAC,UAAP,WACU,IAAA2iB,EAAW7qB,KAAK4lB,QAAO,OAC/B,GAAIiF,EACF,OAAO7qB,KAAKiJ,KAAKjB,gBAAgB6iB,IAI9B,YAAA1iB,UAAP,WACU,IAAA2iB,EAAW9qB,KAAK4lB,QAAO,OAC/B,GAAIkF,EACF,OAAO9qB,KAAKiJ,KAAKjB,gBAAgB8iB,IAI9B,YAAA1iB,cAAP,WACE,IAAMwd,EAAe5lB,KAAK4lB,QAC1B,GAAI,EAAAvb,SAASub,EAAS,cACpB,OAAO5lB,KAAKiJ,KAAKjB,gBAAgB4d,IAI9B,YAAAmF,UAAP,WACE,IAAMvC,EAAaxoB,KAAKiJ,KAAKuf,WACvBwC,EAAS,GAMf,OAJA,EAAAxhB,KAAKgf,GAAY,SAACyC,GACR,IAAArhB,EAASqhB,EAAI,KACrBD,EAAOphB,GAAQqhB,EAAKF,eAEfC,GAIF,YAAA5jB,QAAP,WACEpH,KAAKkrB,YACL,YAAM9jB,QAAO,YAIR,YAAAM,aAAP,SAAoBe,GAClBzI,KAAKkrB,aACAziB,EAAI6d,SAAWtmB,KAAK8lB,eAAeQ,SAA2C,SAAhCtmB,KAAK8lB,eAAeQ,UACrE7d,EAAI6d,QAAU,QAEhBtmB,KAAK4lB,QAAU5lB,KAAK6lB,WAAWpd,GAC/BzI,KAAKmrB,eAAenrB,KAAK4lB,UAGpB,YAAA7d,WAAP,SAAkB/I,GAChBgB,KAAK8nB,KAAK,EAAAC,sBAAsBqD,oBAChC,IAAMC,EAAgB,EAAAT,QAAQ5qB,KAAK4lB,QAAQ5mB,MAC3CgB,KAAK4lB,QAAQ5mB,KAAOgB,KAAKkoB,YAAYlpB,GAGjCqsB,GACFrrB,KAAK4lB,QAAQU,QAAUtmB,KAAK8lB,eAAeQ,SAAW,OACtDtmB,KAAKiJ,KAAKjK,KAAKgB,KAAK4lB,QAAQ5mB,MAC5BgB,KAAKiJ,KAAKK,UAEVtJ,KAAKiJ,KAAKlB,WAAW/H,KAAK4lB,QAAQ5mB,MAGpCgB,KAAK8nB,KAAK,EAAAC,sBAAsBuD,oBAI3B,YAAAC,QAAP,WACE,OAAOvrB,KAAKiJ,MAMP,YAAAuiB,UAAP,WACE,OAAOxrB,KAAK2lB,QAIP,YAAAjZ,SAAP,WACE,OAAK1M,KAAKyG,MAGHzG,KAAKyG,MAFHzG,KAAKimB,gBAAgBvZ,SAAS1M,KAAK4lB,QAAS5lB,KAAK4J,OAKrD,YAAA6hB,mBAAP,WACE,OAAOzrB,KAAKimB,gBAAgBwF,mBAAmBzrB,KAAK4J,OAI/C,YAAAvB,aAAP,WACE,OAAOrI,KAAKimB,gBAAgB5d,aAAarI,KAAK4lB,QAAS5lB,KAAK4J,OAGvD,YAAA8hB,gBAAP,WACE,OAAO1rB,KAAK0lB,cAIP,YAAAnd,iBAAP,SAAwBC,EAAcC,GACpCzI,KAAKgmB,gBAAgBzd,iBAAiBC,EAAcC,IAI/C,YAAAC,UAAP,SAAiBC,EAAWC,GAC1B5I,KAAKgmB,gBAAgB2F,SAAS,CAAE/hB,KAAM,SAAUjB,UAAS,EAAEC,MAAK,KAG3D,YAAAC,YAAP,SAAmBF,EAAWC,GAC5B5I,KAAKgmB,gBAAgB2F,SAAS,CAAE/hB,KAAM,WAAYjB,UAAS,EAAEC,MAAK,KAG7D,YAAAE,WAAP,SAAkBH,EAAWC,GAC3B5I,KAAKgmB,gBAAgB2F,SAAS,CAAE/hB,KAAM,UAAWjB,UAAS,EAAEC,MAAK,KAG5D,YAAAG,WAAP,SAAkBJ,EAAWC,GAC3B5I,KAAKgmB,gBAAgB2F,SAAS,CAAE/hB,KAAM,UAAWjB,UAAS,EAAEC,MAAK,KAI5D,YAAAN,QAAP,SAAe8X,EAAgBC,GAC7B,OAAOrgB,KAAKkoB,aAAaloB,KAAK4lB,QAAQ5mB,MAAQ,IAAI4hB,MAAMR,EAAOC,KAGvD,YAAA6H,YAAV,SAAsBlpB,GACpB,OAAOA,GAKC,YAAAkqB,MAAV,WAIE,IAAM0C,EAAa,EAAAC,UAAU7rB,KAAK2H,OAAOwgB,QAAQ,SAAC2D,GAChD,IAAMliB,EAAOkiB,EAAYliB,KACzB,OAAOA,EAAO,CAAEA,KAAI,GAAK,MAErBue,EAAS,EAAApe,QAAQ,GAAI/J,KAAK2H,OAAOwgB,OAAQnoB,KAAK4lB,QAAQmG,MAAQ,GAAIH,GAExE5rB,KAAKgsB,UAAU,SAAU7D,IAGjB,YAAAhE,KAAV,WACE,IAAM8H,EAAe,EAAAC,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,MAEDC,EAAe,EAAAF,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,MAEDE,EAAa,GACnBA,EAAWrsB,KAAK4lB,QAAQiF,QAAUoB,EAClCI,EAAWrsB,KAAK4lB,QAAQkF,QAAUsB,EAElCpsB,KAAKgsB,UAAU,OAAQK,IAGf,YAAA7F,QAAV,W,QACE,IAAqC,IAAjCxmB,KAAK4lB,QAAQY,QAAQL,QAAzB,CAIA,IAAMmG,EAAiB,EAAApvB,IAAI8C,KAAK4lB,QAAS,YAChB,QAAzB,EAAI0G,EAAe9B,cAAM,eAAE1kB,aACzBwmB,EAAexmB,UAAYwmB,EAAe9B,OAAO1kB,YAE1B,QAAzB,EAAIwmB,EAAe9B,cAAM,eAAE+B,iBACzBD,EAAeC,cAAgBD,EAAe9B,OAAO+B,eAEvDvsB,KAAKgsB,UAAU,UAAW,EAAAjiB,QAAQ,GAAIuiB,IAEtC,EAAAviB,QAAQ/J,KAAK2H,OAAOlB,MAAM+f,QAASxmB,KAAK4lB,QAAQY,QAAQgG,gBAZtDxsB,KAAKgsB,UAAU,WAAW,IAetB,YAAAS,uBAAR,WACE,IAAM3mB,EAAYG,SAASymB,cAAc,OAEzC,OADA5mB,EAAU6mB,UAAY,aACf7mB,GAGC,YAAA4kB,cAAV,WACE,IACI5kB,EADE8mB,EAAmB5sB,KAAK4lB,QAAQY,QAAQgE,OAE1CoC,EAAiB9mB,YACnBA,EAAY,EAAA+mB,SAASD,EAAiB9mB,WAClCG,SAASC,eAAe0mB,EAAiB9mB,WACzC8mB,EAAiB9mB,WAElBA,IACHA,EAAY9F,KAAKysB,0BAEnBzsB,KAAKiJ,KAAKwB,GAAG,gBAAgB,SAACqa,IACxB8H,aAAgB,EAAhBA,EAAkBnC,WACpBmC,EAAiBnC,SAAS3kB,EAAWgf,MAGzC9kB,KAAKiJ,KAAK6jB,cACV9sB,KAAKiJ,KAAKwB,GAAG,kBAAkB,SAACqa,GAC9B8H,EAAiBnC,SAAS3kB,EAAWgf,OAI/B,YAAAiI,kBAAV,SAA4BxG,GAC1B,IAAMyG,EAAezG,EAAS0G,MAAM,KAEpC,OAAID,GAAgBA,EAAapuB,OAAS,GAAyB,WAApBouB,EAAa,GACnDA,EAAa,GAEfzG,GAGC,YAAAnC,OAAV,W,MACE,IAAoC,IAAhCpkB,KAAK4lB,QAAQxB,OAAO+B,QAAxB,CAIA,IAAMP,EAAU,EAAA7b,QAAQ,GAAI/J,KAAKyG,MAAM2d,OAAQpkB,KAAK4lB,QAAQxB,QACtD8I,EAAe,CACnB3G,SAAUvmB,KAAK+sB,kBAAkB,EAAA7vB,IAAI0oB,EAAS,aAC9CuH,QAAS,EAAAjwB,IAAI0oB,EAAS,WACtBwH,QAAS,EAAAlwB,IAAI0oB,EAAS,WACtByH,SAAU,EAAAnwB,IAAI0oB,EAAS,YACvB0H,OAAQ,EAAApwB,IAAI0oB,EAAS,UACrB/B,OAAoB,QAAb,EAAA+B,EAAQ/B,aAAK,eAAEsC,SAAU,EAAAjpB,IAAI0oB,EAAS,SAAW,KACxD2H,SAAU,EAAArwB,IAAI0oB,EAAS,SAGzB5lB,KAAKgsB,UAAU,UAAWkB,QAdxBltB,KAAKgsB,UAAU,WAAW,IAiBpB,YAAA5C,WAAV,sBACQzhB,EAAS,GACqB,cAAhC3H,KAAK2H,OAAO4gB,WAAW3e,MAAwB5J,KAAK4lB,QAAQ4H,WAC9D,EAAAhkB,KAAKxJ,KAAK4lB,QAAQ4H,WAAW,SAACzG,GAC5B,IAAMyG,EAAY,EAAAtB,aAAa,YAAa,CAC1CtlB,KAAM,EACN6B,IAAKse,IAEPpf,EAAOrE,KAAKkqB,MAGhBxtB,KAAKgsB,UAAU,cAAerkB,IAMtB,YAAAqhB,YAAV,sBACU,EAAsBhpB,KAAK4lB,QAAO,aAAlCF,OAAY,IAAG,KAAE,EACzB,EAAAlc,KAAKkc,GAAc,SAACsD,GACV,IAAApf,EAASof,EAAW,KAC5B,GAAa,WAATpf,GAA8B,cAATA,EAAsB,CAO7C,EAAKgc,QAAQiB,MAAQ,EAAA9c,QAAQ,GAAI,EAAK6b,QAAQiB,MAN3B,CACjBjkB,MAAO,CACLskB,UAAU,EACVD,YAAY,KAKlB,EAAK+E,UAAU,cAAehD,OAIxB,YAAAxG,UAAV,YACiC,IAA3BxiB,KAAK4lB,QAAQpD,WACfxiB,KAAKgsB,UAAU,WAAW,IAIpB,YAAAhC,kBAAV,sBACMyD,EAAQ,UAAKnI,eAAetlB,KAAK0tB,WAG/BC,EAAc3tB,KAAK6jB,OAAS7jB,KAAK8jB,YACjC8J,EAAY,IAAI,UAAKH,EAAMvd,KAAMud,EAAMrd,KAAMqd,EAAMpnB,MAAOsnB,EAAcA,EAAYE,UAAUxd,KAAO,GAC3God,EAAQA,EAAMK,IAAIF,EAAW,EAAAzI,UAAU4I,KAE/B,MAAsB/tB,KAAK4lB,QAAO,aAAlCF,OAAY,IAAG,KAAE,EACrB1lB,KAAK0lB,cACP1lB,KAAK0lB,aAAasI,SAAQ,SAACC,GACzBA,EAAK7mB,aAGTpH,KAAK0lB,aAAe,GACpBA,EAAasI,SAAQ,SAAChF,GACpB,IAAMkF,EAAoC,UAAgBC,eAAenF,EAAYpf,KAAM,EAAKA,MAChG,GAAIskB,EAAM,CACR,IAAMD,EAAwB,IAAIC,EAChC,CAAEjlB,KAAM,EAAKA,MACb,EACAilB,EAAKE,oBAAoBX,EAAOzE,EAAYvgB,KAC5CugB,EAAYvgB,KAEdwlB,EAAK3kB,SACL,EAAKoc,aAAapiB,KAAK2qB,QAMnB,YAAAjC,UAAV,SAA8CpuB,EAAQ+J,GACxC,aAAR/J,EAIQ,gBAARA,GAIW,IAAX+J,EAIJ,EAAAxH,OAAOH,KAAK2H,OAAO/J,GAAM+J,GAHvB3H,KAAK2H,OAAO/J,IAAO,EAJnBoC,KAAK2H,OAAO+d,aAAapiB,KAAKqE,GAJ9B3H,KAAK2H,OAAO6gB,WAAWllB,KAAKqE,IActB,YAAAR,YAAV,SAAsBknB,GAAtB,WACUzI,EAAY5lB,KAAI,QACxB,GAAI4lB,EAAQxb,OAAQ,CAClB,YAAMjD,YAAW,UAACye,EAAQxb,QAC1B,IAAM,EAAWikB,EAAcA,EAAYnK,UAAY,EAAAA,UACvD,EAAA1a,KAAKoc,EAAQxb,QAAQ,SAAC7J,EAAGpB,GACvB,GAAI,EAAAmL,WAAW/J,GAAI,CACjB,IAAMgK,EAAY,EAASpL,IAAMA,EAC3BqL,EAAUjK,EAChB,EAAAskB,QAAQ,EAAMta,EAAWC,SAMvB,YAAAse,UAAV,WACE,IAAM/iB,EAAQ/F,KAAK4lB,QACb6H,EAAQztB,KAAK0tB,UAMnB,GALI1tB,KAAK6jB,QACP7jB,KAAK6jB,MAAMzc,UACXpH,KAAK6jB,MAAQ,MAGX,EAAAyK,aAAavoB,EAAM8d,OAAQ,CAC7B,IAAMxd,EAAQrG,KAAKqG,MACbI,EAAQzG,KAAK2H,OAAOlB,MACpBod,EAAQ,IAAI,UAAgB,CAChC0K,WAAYd,EAAMvd,KAAOzJ,EAAMod,MAAMyC,QAAQ,GAC7CkI,YAAaf,EAAMtd,KAAO1J,EAAMod,MAAMyC,QAAQ,GAC9CmI,UAAWhB,EAAMrd,KAAO3J,EAAMod,MAAMyC,QAAQ,GAC5CD,KAAMtgB,EAAM8d,MAAMwC,KAClBzd,MAAO,EAAA8lB,IAAIjoB,EAAMod,MAAO9d,EAAM8d,MAAMjb,OACpC+lB,aAActoB,EAAQI,EAAMod,MAAMyC,QAAQ,GAAK7f,EAAMod,MAAMyC,QAAQ,GACnExgB,UAAW9F,KAAK8F,UAAU4jB,WAC1BjjB,MAAK,EACL/H,MAAO,EAAA4vB,aAAavoB,EAAM+d,aAAe,EAAI,EAC7Cld,KAAM5G,KACNomB,QAASrgB,EAAM8d,MAAMuC,QACrBxpB,KAAM,UAERoD,KAAK6jB,MAAQA,EACb7jB,KAAK+lB,kBAAkB6I,gBAAgB/K,EAAO,WAIxC,YAAAkF,gBAAV,WACE,IAAMhjB,EAAQ/F,KAAK4lB,QACb6H,EAAQztB,KAAK0tB,UAMnB,GALI1tB,KAAK8jB,cACP9jB,KAAK8jB,YAAY1c,UACjBpH,KAAK8jB,YAAc,MAGjB,EAAAwK,aAAavoB,EAAM+d,aAAc,CACnC,IAAMzd,EAAQrG,KAAKqG,MACbI,EAAQzG,KAAK2H,OAAOlB,MACtBgoB,EAAY,EAEhB,GAAIzuB,KAAK6jB,MAAO,CACd,IAAMgL,EAAY7uB,KAAK6jB,MAAMgK,UAC7BY,GAAaI,EAAUze,KAAOye,EAAUvoB,OACxCmoB,GAAahoB,EAAMqd,YAAYwC,QAAQ,QAGvCmI,GAAahB,EAAMrd,KAAO3J,EAAMod,MAAMyC,QAAQ,GAGhD,IAAMxC,EAAc,IAAI,UAAgB,CACtCyK,WAAYd,EAAMvd,KAAOzJ,EAAMqd,YAAYwC,QAAQ,GACnDmI,UAAS,EACTD,YAAaf,EAAMtd,KAAO1J,EAAMod,MAAMyC,QAAQ,GAC9CD,KAAMtgB,EAAM+d,YAAYuC,KACxBzd,MAAO,EAAA8lB,IAAIjoB,EAAMqd,YAAa/d,EAAM+d,YAAYlb,OAChD+lB,aAActoB,EAAQI,EAAMqd,YAAYwC,QAAQ,GAAK7f,EAAMqd,YAAYwC,QAAQ,GAC/ExgB,UAAW9F,KAAK8F,UAAU4jB,WAC1BjjB,MAAK,EACL/H,MAAO,EACPkI,KAAM5G,KACNomB,QAASrgB,EAAM+d,YAAYsC,QAC3BxpB,KAAM,gBAERoD,KAAK8jB,YAAcA,EACnB9jB,KAAK+lB,kBAAkB6I,gBAAgB9K,EAAa,WAI9C,YAAAgL,cAAV,SAAwBC,EAAoBnsB,GAC1C,EAAA4G,KAAKxJ,KAAK2lB,QAAQ,SAAChc,GACjBA,EAAKvC,aAEPpH,KAAK2lB,OAAS,GACd,IAAMhe,EAA+B,CACnCL,MAAOtH,KACP8F,UAAWipB,EAASC,gBACpBD,SAAQ,EACRnsB,MAAK,GAEDsrB,EAAO,EAAAe,kBAAkBrsB,EAAMgH,MACrC,GAAIskB,EAAM,CACR,IAAM,EAAQ,IAAIA,EAAKvmB,GACvB,EAAMsgB,OACN,EAAM3e,SACNtJ,KAAK2lB,OAAOriB,KAAK,KAKb,YAAA4nB,UAAR,WACElrB,KAAKkvB,wBACLlvB,KAAKmvB,kBAEAnvB,KAAKiJ,KAAKlC,WACb/G,KAAKiJ,KAAK7B,WAIN,YAAA8nB,sBAAR,WAEMlvB,KAAK0lB,cACP1lB,KAAK0lB,aAAasI,SAAQ,SAACC,GACzBA,EAAK7mB,aAGTpH,KAAK0lB,aAAe,IAGd,YAAAyJ,gBAAR,WAEE,EAAA3lB,KAAKxJ,KAAK2lB,QAAQ,SAAC/iB,GACjBA,EAAMwE,aAERpH,KAAK2lB,OAAS,IAGN,YAAA2D,aAAV,sBAEU,EAAsBtpB,KAAK4lB,QAAO,aAAlCF,OAAY,IAAG,KAAE,EAEnBgI,EAAY1tB,KAAK+lB,kBAAkBqJ,sBAkCzC,OAjCA1J,EAAasI,SAAQ,SAAChF,GACpB,IAAMkF,EAAoC,UAAgBC,eAAenF,EAAYpf,KAAM,EAAKA,MAC1F6jB,EAA0BS,GAAQA,EAAKE,oBAAoBV,EAAW1E,EAAYvgB,KACpF8d,EAAW,GACXkH,IAEEA,EAAMpd,OAASqd,EAAUrd,MAAQod,EAAMrd,KAAOsd,EAAUtd,KAE1DmW,EAAW,SACFkH,EAAMtd,OAASud,EAAUvd,MAAQsd,EAAMvd,KAAOwd,EAAUxd,KAEjEqW,EAAW,QACFkH,EAAMvd,OAASwd,EAAUxd,MAAQud,EAAMtd,KAAOud,EAAUvd,KAEjEoW,EAAW,OACFkH,EAAMrd,OAASsd,EAAUtd,MAAQqd,EAAMpd,KAAOqd,EAAUrd,OAEjEkW,EAAW,OAEb,EAAKR,kBAAkB6I,gBACrB,CACE5F,YAAaA,EAAYpf,KACzBhN,KAAMosB,EAAYpf,KAClBikB,QAAS,WACP,OAAOJ,GAETlH,SAAQ,GAEV,aAIYvmB,KAAK+lB,kBAAkBqJ,uBAIjC,YAAArF,cAAV,WACE,IAAMsF,EAAervB,KAAK4lB,QAAQwB,MAClC,SACE,EAAAK,OAAO4H,EAAc,QACrB,EAAA5H,OAAO4H,EAAc,QACrB,EAAA5H,OAAO4H,EAAc,aACrB,EAAA5H,OAAO4H,EAAc,cAOjB,YAAA7F,kBAAR,SAA0BH,GAClB,IAAErf,EAAwBhK,KAAvB,EAAEyC,EAAqBzC,KAApB,EAAEqG,EAAkBrG,KAAb,MAAEsG,EAAWtG,KAAL,OACrBogB,EAAQ,CAAEpW,EAAG,EAAGvH,EAAG,GACvB4d,EAAM,CAAErW,EAAG,EAAGvH,EAAG,GAMnB,OALA2d,EAAMpW,EAAIqf,EAAUnZ,MAAQlG,EAAI3D,GAChC+Z,EAAM3d,EAAI4mB,EAAUjZ,MAAQ3N,EAAI6D,GAChC+Z,EAAIrW,EAAIqf,EAAUlZ,MAAQnG,EAAI3D,GAC9Bga,EAAI5d,EAAI4mB,EAAUhZ,MAAQ5N,EAAI6D,GAEvB,CACL8Z,MAAK,EACLC,IAAG,IAGT,EA5vBA,CAA6F,W,wnF9BjFvF,EAAiB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC1C,SAAU,EAAiB,EAAc,EAAe,GAC5D,YAD4D,aACvD,EAIK,MAAI,UAAU,EAAQ,CAC9B,CAAC,KAAM,EAAM,GAAI,EAAM,GACvB,CAAC,IAAK,GACN,CAAC,IAAK,EAAM,EAAG,EAAM,KALd,KAUL,SAAU,EAAqB,EAAc,GAC/C,OAAG,EAAM,GAAM,EAAM,EAIhB,MAAI,UAAU,GAAiB,EAAgB,CAAC,CAAC,IAAK,EAAM,EAAG,EAAM,KAFnE,KAiBX,SAAS,EAAa,EAAQ,GAC1B,IAAI,EAAwB,CAAC,EAAG,GAEhC,OADA,EAAF,KAAK,cAAc,EAAK,EAAG,GACpB,EAwBH,SAAU,EAAY,EAAiB,EAAgB,EAAW,GACpE,GAAE,EAAQ,CACV,IAAM,EAAS,EAAiB,CAAE,EAAC,EAAE,EAAC,GAAI,EAAQ,EAAM,aACxD,EAAM,UAAU,IAId,SAAU,EAAe,EAAiB,EAAW,GACvD,IAAI,EAAkB,EAAqB,CAAE,EAAC,EAAE,EAAC,IACjD,EAAI,KAAK,SAAU,GhBtEjB,SAAU,EAAc,GAC5B,IAAI,EAAM,EACN,EAAO,EACP,EAAQ,EACR,EAAS,EAWb,OATI,mBAAS,GACX,EAAM,EAAO,EAAQ,EAAS,EACrB,kBAAQ,KACjB,EAAM,EAAQ,GACd,EAAS,gBAAM,EAAQ,IAAmB,EAAQ,GAArB,EAAQ,GACrC,EAAU,gBAAM,EAAQ,IAAmB,EAAQ,GAArB,EAAQ,GACtC,EAAQ,gBAAM,EAAQ,IAAmB,EAAb,EAAQ,IAG/B,CAAC,EAAK,EAAO,EAAQ,GAGxB,SAAU,EAAS,GAGvB,IAFA,IAAM,EAAW,EAAU,WAElB,EADM,EAAS,OACF,EAAG,GAAK,EAAG,IAC/B,EAAU,YAAY,EAAS,IAQ7B,SAAU,EAAa,GACnB,MAAe,EAAV,MAAE,EAAQ,EAAL,IACZ,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GAC7B,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GAC7B,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GAC7B,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GACjC,MAAK,CACL,EAAG,EACH,EAAG,EACCnQ,OACAE,OACAD,OACAE,OACJ,MAAO,EAAO,EACd,OAAQ,EAAO,GAuBb,SAAU,EAAW,EAAW,EAAW,EAAe,GAC9D,MAAO,CACL,EAAC,EACD,EAAC,EACD,MAAK,EACL,OAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EAAI,EACV,KAAM,EAAI,GAIR,SAAU,EAAkB,EAAa,EAAa,GAC1D,OAAQ,EAAI,GAAW,EAAM,EAAM,EAG/B,SAAU,EAAe,EAAe,EAAgB,GAC5D,MAAO,CACL,EAAG,EAAO,EAAI,KAAK,IAAI,GAAS,EAChC,EAAG,EAAO,EAAI,KAAK,IAAI,GAAS,GAmC9B,SAAU,EAAgB,GAC9B,IAEI,EAnBwB,EAAY,EAClC,EACA,EAeA,EAAY,EAAQ,UACpB,EAAW,GAAa,EAAU,UAExC,GAAK,EAAQ,UAGN,CACL,IAAI,EAAO,IACP,GAAQ,IACR,EAAO,IACP,GAAQ,IACN,EAAY,EAAmB,cACjC,EAAS,OAAS,EACpB,eAAK,GAAU,SAAC,GACd,GAAI,EAAM,IAAI,WAAY,CAExB,GAAI,EAAM,WAA8C,IAAjC,EAAM,IAAI,YAAY,OAC3C,OAAO,EAET,IAAM,EAAM,EAAgB,GAEtB,EAAU,EAAM,cAAc,CAAC,EAAI,KAAM,EAAI,KAAM,IACnD,EAAa,EAAM,cAAc,CAAC,EAAI,KAAM,EAAI,KAAM,IACtD,EAAW,EAAM,cAAc,CAAC,EAAI,KAAM,EAAI,KAAM,IACpD,EAAc,EAAM,cAAc,CAAC,EAAI,KAAM,EAAI,KAAM,IAEvD,EAAU,KAAK,IAAI,EAAQ,GAAI,EAAW,GAAI,EAAS,GAAI,EAAY,IACvE,EAAU,KAAK,IAAI,EAAQ,GAAI,EAAW,GAAI,EAAS,GAAI,EAAY,IACvE,EAAU,KAAK,IAAI,EAAQ,GAAI,EAAW,GAAI,EAAS,GAAI,EAAY,IACvE,EAAU,KAAK,IAAI,EAAQ,GAAI,EAAW,GAAI,EAAS,GAAI,EAAY,IAEzE,EAAU,IACZ,EAAO,GAGL,EAAU,IACZ,EAAO,GAGL,EAAU,IACZ,EAAO,GAGL,EAAU,IACZ,EAAO,QAKb,EAAO,EACP,EAAO,EACP,EAAO,EACP,EAAO,GAET,EAAO,EAAW,EAAM,EAAM,EAAO,EAAM,EAAO,QAjDlD,EAAO,EAAQ,UAmDjB,OAAI,GAzEwB,EA0EL,EA1EiB,EA0EX,EAzEvB,EAAO,KAAK,IAAI,EAAK,KAAM,EAAK,MAChC,EAAO,KAAK,IAAI,EAAK,KAAM,EAAK,MAG/B,EAAW,EAAM,EAFX,KAAK,IAAI,EAAK,KAAM,EAAK,MAED,EADxB,KAAK,IAAI,EAAK,KAAM,EAAK,MACY,IAuEzC,EAsBL,SAAU,EAAK,GACnB,OAAU,EAAM,KAGZ,SAAU,EAAa,EAAc,EAAY,EAAkB,GACvE,IAtHuB,EAAW,EAC5B,EACA,EAqHA,EAAgB,GAvHC,EAsHK,EArHtB,GAD4B,EAsHC,GArHrB,EAAI,EAAG,EACf,EAAK,EAAG,EAAI,EAAG,EACd,KAAK,KAAK,EAAK,EAAK,EAAK,IAqH5B,EAAU,EAMd,MALiB,UAAb,EACF,EAAU,EAAI,EACQ,QAAb,IACT,EAAU,EAAI,GAET,CACL,EAAG,EAAkB,EAAM,EAAG,EAAI,EAAG,GACrC,EAAG,EAAkB,EAAM,EAAG,EAAI,EAAG,I,Y+C3NnC,EAAqB,CACzB,KAAM,GACJ,MAAK,CAAC,IAAK,KACX,OAAM,CAAC,QAAS,OAChB,OAAM,CAAC,UACP,OAAM,CAAC,SAAU,SAAU,aAAc,aAmL9B,EAhLf,YACI,SAAF,EAAY,GAAZ,MACE,YAAM,IAAI,K,OACN,EAAC,U,EA2KT,OA9KwE,yBAU/D,0BAAP,WACE,MAAO,CACL,GAAI,GACJ,KAAM,GACA,QACA,aAAQ,OACR,QAAG,EACH,QAAG,EACH,SAAG,EACH,SAAG,EACH,kBAAY,EACZ,cAAS,CACb,OAAQ,KACR,OAAQ,CACN,SAAU,IACV,OAAQ,iBAEF,MAAD,CACL,SAAU,IACV,OAAQ,iBAEF,MAAD,CACL,SAAU,IACV,OAAQ,eAGN,OAAE,KACF,WAAM,GACN,SAAG,IAUN,kBAAP,aAMO,mBAAP,SAAc,GAAd,WACQ,EAAa,KAAK,IAAI,cACxB,OAAJ,OAAI,CAAC,GAAK,SAAC,EAAO,GAChB,IACI,EAAS,EADK,EAAK,IAAI,KAET,IAEZ,mBAAS,IAAU,EAAW,KAEtB,EAAD,kBAAQ,GAAI,EAAW,GAAO,IAEjC,EAAH,IAAI,EAAM,OAGf,KAAC,YAAY,GACbrQ,KAAC,YAAY,IAGT,wBAAV,SAAsB,KAIZ,wBAAV,SAAsB,GAEhB,iBAAO,EAAK,aACV,EAAI,QACN,KAAK,OAEGA,KAAH,QAIL,iBAAO,EAAK,YACRA,KAAD,WAAW,EAAI,UAMjB,0BAAP,WACM,OAAG,KAAK,WAGP,4BAAP,WACM,OAAG,KAAK,IAAI,iBAGX,sBAAP,WACE,MAAO,CACL,QAAS,KAAK,IAAI,WAClB,QAAS,KAAK,IAAI,aAKf,sBAAP,SAAiB,EAAiB,GAC5B,KAAC,OAAO,CACV,QAAO,EACP,QAAO,KAIJ,wBAAP,SAAmB,GACb,IAAE,EAAW,sBAAK,GAClB,KAAC,OAAO,IAIP,wBAAP,WAAI,IAAJ,OACQ,EAAW,GACX,EAAe,KAAK,IAAI,gBACxB,EAAS,EAAmB,GAIlC,OAHA,eAAK,GAAQ,SAAC,GACZ,EAAS,GAAS,EAAK,IAAI,MAEtB,GAGF,mBAAP,WACE,OAAO,GAGF,qBAAP,WACM,OAAG,GAOA,EAAF,eAAP,aAoBQ,oBAAR,sBACQ,EAAa,KAAK,IAAI,cAC5B,eAAK,GAAY,SAAC,EAAO,GACvB,IAAM,EAAM,EAAK,IAAI,GACrB,GAAI,mBAAS,GAAM,CACjB,IAAM,EAAS,kBAAQ,GAAI,EAAO,GAClC,EAAK,IAAI,EAAM,QAIvB,EA9KA,CAAwE,QCElE,EAAkB,CAAC,UAAW,MAAO,kBACrC,EAA2B,CAAC,YAAa,QAAS,YAAa,aAAc,aAAc,aA8iBlF,EAviBf,YAAE,SAAF,I,+CAqiBA,OAriBuF,yBAC5E,EAAF,wBAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,UAAK,KAKL,UAAK,GACL,MAAC,KACD,SAAG,EAKT,YAAY,EAKZ,YAAY,EAKZ,QAAQ,KAIL,mBAAP,WACE,KAAK,QACS,KAAK,IAAI,SACjB,UAGD,kBAAP,WACgB,KAAK,IAAI,SACjB,QACN,KAAK,IAAI,YAAa,IAClB,KAAC,sBACD,KAAC,IAAI,UAAU,IAGZ,EAAF,gCAAP,SAA6B,GACvB,IAAE,EAAQ,KAAK,eAAe,GAElC,OADa,GAAS,EAAM,IAAI,cAI3B,2BAAP,SAAsB,GACpB,OAAO,KAAK,IAAI,aAAa,IAGxB,gCAAP,SAA2B,GACrB,IAAE,EAAK,KAAK,aAAa,GACzB,OAAG,KAAK,eAAe,IAGtB,8BAAP,SAAyB,GACnB,IAAE,EAAM,GAOR,OANA,OAAJ,OAAI,CAAC,KAAK,IAAI,cAAc,SAAC,GACvB,EAAK,IAAI,UAAY,GACvB,EAAI,KAAK,MAIN,GAGA,EAAF,uBAAP,WACM,OAAG,KAAK,IAAI,cAGX,wBAAP,SAAmB,GAGbA,KAAC,kBACD,KAAK,IAAI,qBACX,KAAK,UAIF,mBAAP,WACE,IAAI,EAAiB,KAAK,IAAI,kBACzB,IACH,EAAiB,KAAK,mBAExB,IAAM,EAAQ,KAAK,IAAI,SACvB,KAAK,eAAe,EAAgB,GAChCA,KAAC,iBACDA,KAAC,cACA,KAAK,IAAI,kBACZ,KAAK,YACL,KAAK,IAAI,gBAAgB,IAE3B,KAAK,IAAI,UAAU,IAGd,iBAAP,WACgB,KAAK,IAAI,SACjB,OACF,KAAC,IAAI,WAAW,IAGf,iBAAP,WACgB,KAAK,IAAI,SACjB,OACN,KAAK,IAAI,WAAW,IAGf,uBAAP,SAAkB,GACF,KAAK,IAAI,SACjB,IAAI,UAAW,GACjB,KAAC,IAAI,UAAW,IAGf,oBAAP,WACE,KAAK,cACD,KAAC,SACD,EAAJ,UAAM,QAAO,YAGR,oBAAP,WACM,OAAG,KAAK,IAAI,SAAS,iBAGpB,0BAAP,WACE,IAAM,EAAQ,KAAK,IAAI,SAEnB,EAAO,KAAK,qBACV,EAAS,EAAM,iBAIjB,OAHA,IACF,EhChHA,SAA2B,EAAkB,GACjD,IAAM,EAAU,EAAa,EAAQ,CAAC,EAAK,KAAM,EAAK,OAChD,EAAW,EAAa,EAAQ,CAAC,EAAK,KAAM,EAAK,OACjD,EAAa,EAAa,EAAQ,CAAC,EAAK,KAAM,EAAK,OACnD,EAAc,EAAa,EAAQ,CAAC,EAAK,KAAM,EAAK,OACpD,EAAO,KAAK,IAAI,EAAQ,GAAI,EAAS,GAAI,EAAW,GAAI,EAAY,IACpE,EAAO,KAAK,IAAI,EAAQ,GAAI,EAAS,GAAI,EAAW,GAAI,EAAY,IACpE,EAAO,KAAK,IAAI,EAAQ,GAAI,EAAS,GAAI,EAAW,GAAI,EAAY,IACpE,EAAO,KAAK,IAAI,EAAQ,GAAI,EAAS,GAAI,EAAW,GAAI,EAAY,IACxE,MAAK,CACL,EAAG,EACH,EAAG,EACH,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,MAAO,EAAO,EACd,OAAQ,EAAO,GgC+FN,CAAiB,EAAQ,IAE3B,GAIF,eAAP,SAAU,EAAa,EAAoB,GAGrC,OAFU,KAAK,IAAI,SACjB,GAAG,EAAK,EAAU,GACjB,MAGA,EAAF,cAAP,SAAW,EAAc,GACnB,IAAE,EAAQ,KAAK,IAAI,SAEvB,OADI,GAAK,EAAM,IAAI,EAAK,GACjB,MAGF,iBAAP,SAAY,EAAmB,GACf,KAAK,IAAI,SACjB,KAAK,EAAW,IAGjB,iBAAP,WACE,YAAM,KAAI,WACL,KAAK,IAAI,UACZ,KAAK,YAEH,KAAC,mBAIG,+BAAV,WACM,OAAG,KAAK,IAAI,kBAAoB,KAAK,IAAI,SAAS,WAI9C,yBAAV,SAAuB,EAAmB,GACxC,IAAM,EAAQ,KAAK,IAAI,SACnB,EAAQ,OAAS,EACjB,EAAE,KAAK,EAAW,GC1LpB,SAA8B,EAAe,EAAmB,GAClE,IAAIkjB,EAAQ,IAAI,IAAW,EAAW,GACtCA,EAAI,OAAS,EACbA,EAAI,gBAAgB,KAAK,GACzB5S,EAAI,eAAe,EAAW,GAG9B,IAFA,IAAE,EAAS,EAAM,YAEZ,GAED0C,EAAG,eAAe,EAAW,GAC7BkQ,EAAE,gBAAgB,KAAK,GACvBlQ,EAAK,EAAO,YDgLZ,CAAgB,EAAO,EAAW,IAG9B,iCAAV,WAME,OAHiB,IAFH,KAAK,IAAI,SACE,eACR,CAAe,CAC9B,eAAgB,KAAK,uBAMf,wBAAV,WACM,IAAE,EAAU,KAAK,IAAI,WACnB,EAAU,KAAK,IAAI,WACrB,KAAC,cAAc,KAAK,IAAI,SAAU,CACpC,EAAG,EACH,EAAG,KAIG,sBAAV,WACE,IAAM,EAAY,KAAK,IAAI,aAC3B,KAAK,IACH,QACA,EAAU,SAAS,CACjB,GAAI,KAAK,IAAI,MACb,KAAM,KAAK,IAAI,QACf,QAAS,KAAK,IAAI,WAClB,QAAS,KAAK,IAAI,WAClB,aAAa,EACb,UAAW,KACX,eAAgB,KAAK,wBAMjB,4BAAV,WACE,KAAK,sBACD,IAAE,EAAiB,KAAK,uBAMxB,OAJA,KAAC,YAAY,GACb,KAAC,IAAI,iBAAkB,GAEvB,KAAC,IAAI,gBAAiB,EAAgB,IACnC,GASC,qBAAV,SAAmB,EAAgB,GAC7B,KAAC,qBAAqB,EAAQ,GAC9B,IAAE,EAAQ,EAAO,SAAS,GAI1B,OAHA,KAAK,IAAI,eACX,KAAK,gBAAgB,GAEhB,GASC,qBAAV,SAAmB,EAAgB,GAC7B,KAAC,qBAAqB,EAAQ,GAClC,IAAM,EAAQ,EAAO,SAAS,GAI9B,OAHI,KAAK,IAAI,eACX,KAAK,gBAAgB,GAEhB,GASC,yBAAV,SACE,EACA,GAEQ,MAAoC,EAAlC,GAAa,EAAqB,EAAjB,UAAK,EAAO,iBAAK,EAAtC,oBAEA,EAAW,IAAI,EAAI,yCACpB,GAAO,CACV,GAAE,EACF,UAAW,EACX,iBAAkB,KAAK,IAAI,uBAS7B,OAPI,EAAC,OACL,EAAK,SAED,KAAK,IAAI,eACX,KAAK,gBAAgB,EAAK,IAAI,UAGzB,GAGC,sBAAV,aAEU,wBAAV,WACgB,KAAK,IAAI,SACjB,OAGE,yBAAV,SAAuB,GAGjB,OAFO,KAAK,IAAI,MAER,IADC,KAAK,IAAI,QACF,IAAI,GAGhB,4BAAV,SAA0B,GACpB,IAAE,EAAK,EAAQ,IAAI,MACnB,KAAC,IAAI,aAAa,GAAM,GAGlB,EAAF,4BAAV,SAA4B,GACtB,IAAE,EAAK,EAAQ,IAAI,aAChB,KAAK,IAAI,aAAa,IAInB,EAAF,wBAAV,SAAwB,EAAmB,GACrC,IAAE,EAAS,EAAqB,GAChC,EAAI,KAAK,SAAU,IAgBb,EAAF,uBAAV,SAAuB,EAAY,EAAY,GAEzC,MAAgB,EAAW,KAAK,WAChC,gBAAM,KACF,EAAU,GAEd,EAAO,KAAK,UAAW,GACvB,EAAO,QAAQ,CAAE,QAAS,GAAiB,IAUrC,EAAF,0BAAV,SAA0B,EAAa,EAAe,GAChD,EAAU,QAAQ,CAAE,QAAS,GAAK,IAU5B,EAAF,0BAAV,SAA0B,EAAa,EAAe,EAAU,GAC1D,EAAU,QAAQ,EAAU,IAItB,EAAF,yBAAV,SAAyB,EAAU,GAA/B,IAIE,EAJN,OACQ,EAAU,KAAK,IAAI,WACnB,EAAgB,KAAK,IAAI,iBACzB,EAAW,EAAS,cAAc,MAAM,GAE9C,eAAK,GAAU,SAAC,GACd,IAAM,EAAY,EAAQ,IAAI,MACxB,EAAgB,EAAK,eAAe,GACpC,EAAc,EAAQ,IAAI,QAC1B,GAAF,EACF,GAAI,EAAQ,IAAI,eAAgB,CAE9B,IAAM,EAAiB,EAAQ,IAAI,aAC7B,EAA0C,EAAc,IAAI,aAC5D,EAAS,eAAK,EAAe,IAAK,qBAAW,eAAK,EAAe,KAAM,IAC7E,EAAmB,OAAO,GAC1B,EAAc,IA/XF,gBA+XqB,cAC5B,CACL,IAAM,EAAe,EAAK,gBAAgB,EAAe,GAErD,GAAW,EAAc,OAE3B,EAAK,gBAAgB,EAAa,EAAe,EAAc,EAAc,QAG7E,EAAc,KAAK,GAGjB,EAAQ,WACV,EAAK,eAAe,EAAS,GAG/B,eAAK,GAAiB,SAAC,GACrB,EAAc,IAAI,EAAM,EAAQ,IAAI,OhD/N1C,SAAqB,EAAmB,GAC5C,GAAK,EAAQ,WAAc,EAAW,UAAtC,CAIA,IAAM,EAAe,EAAW,UAChC,GAAK,EAAL,CAKA,IAAM,EAAU,CACd,KAAM,EAAa,IAAI,QACvB,MAAO,EAAa,QAEtB,EAAQ,QAAQ,QAPd,EAAQ,QAAQ,OgDyNV,CAAW,EAAe,GAE1B,EAAa,EAEb,EAAc,IAtZF,gBAsZqB,cAE9B,CAEL,EAAY,IAAI,GAChB,IAAM,EAAW,EAAY,cAE7B,GADA,EAAS,OAAO,EAAS,OAAS,EAAG,GACjC,EAAY,CAEd,IAAM,EAAQ,EAAS,QAAQ,GAC/B,EAAS,OAAO,EAAQ,EAAG,EAAG,QAE9B,EAAS,QAAQ,GAIX,GAFR,EAAK,gBAAgB,GACrB,EAAQ,IAraM,gBAqaa,OACvB,EAAQ,IAAI,gBAER,EAAiB,EAAQ,IAAI,cACpB,IAAI,YAAa,QACvB,EAAQ,WAEjB,EAAK,iBAAiB,GAGxB,GADA,EAAa,EACT,EAAS,CACX,IAAM,EAAa,EAAK,IAAI,UAAY,EAAc,OAAS,EAAc,MACzE,GACF,EAAK,aAAa,EAAa,EAAS,SAOxC,8BAAV,SAA4B,GACtB,IAAE,EAAW,EAAM,cACnB,OAAJ,OAAI,CAAC,GAAU,SAAC,GACd,EAAG,IA5ba,gBA4bM,UAKhB,EAAF,8BAAR,WACM,IAAE,EAAiB,KAAK,IAAI,kBAC5B,GAEF,EAAe,UAEb,KAAC,IAAI,iBAAkB,MACvB,KAAC,IAAI,gBAAiB,OAclB,EAAF,4BAAR,W,MAMM,OAJgB,MADP,KAAK,IAAI,SAEZ,KACR,YAAW,KACZ,GAKO,EAAF,+BAAR,SAA6B,EAAgB,GACvC,IAAE,EAAe,EAAO,IAAI,kBAC3B,EAAI,iBACP,EAAI,eAAiB,IAEvB,cAAI,EAAI,eAAgB,IAIlB,4BAAR,SAAwB,EAAyB,GAC/C,IAAM,EAAc,EAAc,OAC5B,EAAW,EAAW,OAM5B,OALA,eAAK,GAAa,SAAC,EAAG,QACA,IAAhB,EAAS,KACX,EAAS,QAAK,MAGX,GAGD,6BAAR,SAAyB,GAAzB,WACQ,EAAW,EAAM,cACvB,eAAK,GAAU,SAAC,GACd,EAAK,gBAAgB,GACrB,EAAQ,IAxfQ,gBAwfW,OACvB,EAAQ,WACV,EAAK,iBAAiB,OAMpB,2BAAR,sBACQ,EAAY,KAAK,IAAI,aACrB,EAAc,GAEpB,eAAK,GAAW,SAAC,EAAS,IACnB,EAAQ,IArgBG,kBAqgBmB,EAAQ,UACzC,EAAY,KAAK,CAAC,EAAI,IAEtB,EAAQ,IAxgBM,gBAwgBa,SAG/B,IAAM,EAAU,KAAK,IAAI,WACnB,EAAgB,KAAK,IAAI,iBAE/B,eAAK,GAAa,SAAC,GACV,MAAe,EAAb,GAAE,EAAW,EAAJ,GAClB,IAAK,EAAQ,UAAW,CACtB,IAAM,EAAc,EAAQ,IAAI,QAChC,GAAI,GAAW,EAAc,MAAO,CAElC,IAAM,EAAkB,cACtB,CACE,SAAU,WACR,EAAK,cAAc,KAGvB,EAAc,OAEhB,EAAK,gBAAgB,EAAa,EAAS,QAE3C,EAAK,cAAc,UAGhB,EAAU,OAIb,0BAAR,SAAsB,GACpB,GAAI,EAAQ,IAAI,WAAY,CAC1B,IAAM,EAAY,EAAQ,IAAI,aAC1B,GACF,EAAU,UAGd,EAAQ,UAEZ,EAriBA,CAAuF,GEVjF,SAAU,EAAa,EAAa,GACpC,OAAE,EAAI,WAAW,GAAK,GAAK,EAAI,WAAW,GAAK,IACtC,EAEA,ECPT,SAAU,EAAiB,GAC7B,IAAE,EAAM,EAQR,OAPA,OAAF,OAAE,CAAG,GAAQ,SAAC,GACR,IACE,EADO,EAAM,UACA,MACf,EAAM,IACR,EAAM,MAGH,EAeH,SAAU,EAAc,EAAqB,EAAiB,EAAqB,0BACrF,IAAI,EAAO,EAAM,KAAK,QAClB,EAbF,SAAyB,EAAqB,GAChD,IAAM,EAAO,EAAM,gBACnB,OAAO,EAAa,EAAK,MAAQ,EAAK,OAWpB,CAAe,EAAY,GACzC,EDjCF,SAAiB,GAEnB,IADA,IAAI,EAAM,EACD,EAAI,EAAG,EAAI,EAAI,OAAQ,IAC5B,GAAO,EAAa,EAAK,GAE7B,OAAO,EC4BU,CAAO,GACtB,GAAa,EACf,GAAE,EAAc,EAAa,CACzB,IAAE,EAAe,KAAK,MAAO,EAAc,EAAe,GAjCrC,EAkCrB,OAAO,GAEH,EADJ,GAAgB,EDpBlB,SAAyB,EAAa,EAAsB,0BAC9D,IAAM,EAAQ,EAAI,OACd,EAAM,GACV,GAAiB,SAAb,EAAqB,CACvB,IAAK,IAAI,EAAI,EAAG,EAAQ,EAAG,EAAI,GAAgB,CAE7C,KAAI,EADe,EAAa,EAAK,IACf,GAKpB,MAJA,GAAO,EAAI,GACX,GAAK,EAAa,EAAK,GACvB,IAKJ,GAnCgB,SAoCX,GAAiB,SAAb,EAAqB,CAC9B,IAAS,EAAI,EAAG,EAAQ,EAAQ,EAAG,EAAI,GAAgB,CAErD,KAAI,EADe,EAAa,EAAK,IACf,GAKpB,MAJA,GAAO,EAAI,GACX,GAAK,EAAa,EAAK,GACvB,IAKJ,EA/CgB,IA+CM,MACjB,CAGD,IAFA,MAAW,GACX,EAAS,GACG,GAAP,EAAI,EAAgB,GAAG,EAAW,EAAQ,EAAG,EAAI,GAAgB,CACxE,IAAM,EAAe,EAAa,EAAK,GACnC,GAAS,EACT,EAAe,GAAK,IACtB,GAAY,EAAI,GAChB,IACA,GAAK,EACL,GAAS,GAGX,IAAM,EAAa,EAAa,EAAK,GAOrC,GANI,EAAa,GAAK,IACpB,EAAS,EAAI,GAAY,EACzB,GAAK,EACL,IACA,GAAS,IAEN,EAEH,MAGJ,EAAM,EAzEU,IAyEiB,EAEnC,OAAO,ECjCK,CAAe,EAAM,EAAc,GArC7B,OA0ChB,EAAM,KAAK,OAAQ,GACnB,GAAa,GAQjB,OALI,EACF,EAAM,IAAI,MAAO,GAEjB,EAAM,IAAI,MAAO,MAEZ,ECjCH,SAAU,EAAU,EAAmB,GACnC,IAAAhJ,EAA8G,EAA7G,EAAE,EAA2G,EAA1G,EAAE,EAAwG,EAAjG,QAAE,EAA+F,EAA1F,MAAE,EAAwF,EAAtF,GAAE,EAAoF,EAAhF,KAAE,EAA8E,EAAxE,OAAE,EAAsE,EAA7D,UAAE,EAA2D,EAA/C,aAAE,EAA6C,EAAnC,WAAE,EAAiC,EAAjB,iBAAE,EAAe,EAAL,WAC3G,EAAW,EAAU,SAAS,CAC9B,GAAG,EAAE,SACL,KAAK,EAAI,SACb,MAAO,CACL,EAAC,EACD,EAAC,KAKC,EAAO,EAAS,SAAS,CACzB,KAAE,OACF,GAAF,EACE,OACJ,MAAK,oBACH,EAAG,EACH,EAAG,EACH,KAAM,GACH,KAKD,EAAU,EAAc,cAAI,EAAY,UAAW,IACrD,GAAa,GAGf,GAAe,EAAY,EAFL,GAAa,EAAQ,GAAK,EAAQ,IAER,GAGlD,GAAI,EAAY,CAEd,IAAM,EAAkB,cAAI,EAAY,QAAS,IAC3C,EAAgC,EAAK,gBAAnC,EAAI,OAAE,EAAI,OAAE,EAAK,QAAE,EAAM,SACnB,EAAS,SAAS,OAAQ,CACtC,GAAO,EAAE,MACT,KAAS,EAAE,MACX,MAAK,oBACH,EAAG,EAAO,EAAQ,GAClB,EAAG,EAAO,EAAQ,GAClB,MAAO,EAAQ,EAAQ,GAAK,EAAQ,GACpC,OAAQ,EAAS,EAAQ,GAAK,EAAQ,IACnC,KAGD,SAGR,EAAe,EAAU,EAAG,GAC5B,EAAY,EAAU,EAAQ,EAAG,GC1EpB,OACb,WAAY,4KAIV,UAAS,UACT,gBAAe,UACf,eAAc,UACd,UAAS,UACT,YAAW,UACX,oBAAmB,KAAK,GAAK,EAC/B,qBAAsB,KAAK,GAAK,GC4HnB,EA9Hf,YAAE,SAAF,I,+CA4HA,OA5H6B,yBAMpB,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,kBACA,YACA,aAAQ,SACR,MAAC,KACD,IAAD,KACC,MAAC,GACD,UACA,WAAM,CACF,MAAD,CACK,KAAJ,EAAM,UACF,YACA,UAAC,SACD,aAAI,SACJ,WAAE,EAAM,YAEZ,KAAF,CACM,kBACV,YAAY,EACZ,QAAS,KACT,QAAS,EACT,QAAS,EACT,MAAO,CACL,OAAQ,EAAM,UACd,UAAW,QAOX,wBAAV,SAAsB,GAChBhK,KAAC,WAAW,GACZ,KAAK,IAAI,SACL,KAAD,YAAY,IAKb,uBAAR,SAAmB,GACjB,IAAM,EAAQ,KAAK,IAAI,SACjB,EAAM,KAAK,IAAI,OACf,EAAQ,KAAK,IAAI,SACnB,KAAC,SAAS,EAAO,CACnB,KAAM,OACN,GAAI,KAAK,aAAa,QAChB,uBACN,MAAK,oBACH,GAAI,EAAM,EACV,GAAI,EAAM,EACV,GAAI,EAAI,EACR,GAAI,EAAI,GACL,MAMC,EAAF,wBAAR,SAAsB,EAAc,EAAY,GAC1C,MAiBA,QAfI,EADS,UAAb,EACQ,EACY,WAAb,EACC,GACD,mBAAS,KAAwC,IAA3B,EAAS,QAAQ,KACtC,SAAS,EAAU,IAAM,IAC1B,mBAAS,GACR,EAEA,GAGE,GAAK,EAAU,KAC3B,EAAU,GAGL,CACCgK,EAAH,EAAkB,EAAM,EAAG,EAAI,EAAG,GAC/BvH,EAAH,EAAkB,EAAM,EAAG,EAAI,EAAG,KAK/B,EAAF,sBAAR,SAAoB,GACd,IAAE,EAAO,KAAK,IAAI,QAChB,EAAQ,KAAK,IAAI,SACjB,EAAM,KAAK,IAAI,OACb,EACwE,EADhE,SAAE,EAC8D,EADvD,QAAE,EACqD,EADhD,MAAE,EAC8C,EADvC,QAAE,EACqC,EAD9B,QAAE,EAC4B,EADlB,WAC5D,EAA8E,EAArE,UAAE,EAAmE,EAAvD,aAAE,EAAqD,EAArC,iBAAE,EAAmC,EAAzB,WAAE,EAAuB,EAAL,WAAlB,OAAU,OAAQ,EACrE,EAAQ,KAAK,cAAc,EAAO,EAAK,GACvC,EAAI,EAAM,EAAI,EACd,EAAI,EAAM,EAAI,EAEd,EAAc,CAClB,GAAI,KAAK,aAAa,aACtB,KAAM,uBACN,EAAC,EACD,EAAC,EACD,QAAO,EACP,MAAK,EACL,UAAS,EACT,aAAY,EACZ,iBAAgB,EAChB,WAAU,EACV,WAAU,GAIZ,GAAI,EAAY,CACd,IAAM,EAAS,CAAC,EAAI,EAAI,EAAM,EAAG,EAAI,EAAI,EAAM,GAC/C,EAAI,OAAS,KAAK,MAAM,EAAO,GAAI,EAAO,IAG5C,EAAU,EAAO,IAErB,EA5HA,CAA6B,GCoFd,EApFf,YAAE,SAAF,I,+CAkFA,OAlF6B,yBAMpB,0BAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC3B,OAAO,OAAX,WAAW,CAAX,sBACK,GAAG,CACA,kBACA,YACA,aAAQ,QACR,EAAH,EACG,EAAH,EACG,QAAG,GACH,OAAE,KACR,MAAO,GACP,WAAY,KACZ,UAAW,KACX,cAAc,EACd,YAAY,EACZ,iBAAkB,OAClB,WAAY,CACV,MAAO,CACL,KAAM,EAAM,UACZ,SAAU,GACV,UAAW,SACX,aAAc,SACd,WAAY,EAAM,gBAOnB,wBAAP,SAAmB,GACb,KAAC,IAAI,IAAK,EAAS,GACnB,KAAC,IAAI,IAAK,EAAS,GACnB,KAAC,iBAGG,wBAAV,SAAsB,GACd,MAAW,KAAK,cAAd,EAAC,IAAE,EAAC,IACN,EAAU,KAAK,IAAI,WACnB,EAAQ,KAAK,IAAI,SAyBvB,EAAU,EAfE,CACJ,GAVG,KAAK,aAAa,QAWrB,KAVQ,KAAK,IAAI,QAAO,QAWxB,EAAL,EACD,EAAC,EACD,QAAO,EACP,MAAK,EACL,UAdgB,KAAK,IAAI,aAezB,aAdmB,KAAK,IAAI,gBAe5B,WAdiB,KAAK,IAAI,cAe1B,iBAduB,KAAK,IAAI,oBAehC,WAdiB,KAAK,IAAI,cAe1B,OAda,KAAK,IAAI,aAoBlB,0BAAR,WACE,IAAM,EAAY,KAAK,oBAAoB,cAC3C,GAAI,EAAW,CACP,MAAS,KAAK,cAAb,EAAC,IAAE,EAAC,IACL,EAAS,KAAK,IAAI,UACxB,EAAe,EAAW,EAAG,GAC7B,EAAY,EAAW,EAAQ,EAAG,KAGxC,EAlFA,CAA6B,GC4Dd,EA/Df,YAAE,SAAF,I,+CA6DA,OA7D4B,yBAMnB,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,kBACA,WACA,aAAQ,SACd,OAAQ,KACR,OAAQ,IACR,YAAa,KAAK,GAAK,EACvB,SAAqB,EAAV,KAAK,GAAU,EAC1B,MAAO,CACL,OAAQ,OACR,UAAW,MAKP,wBAAV,SAAsB,GAChB,KAAC,UAAU,IAGT,uBAAR,WACQ,MAA2C,KAAK,cAA9C,EAAM,SAAE,EAAM,SAAE,EAAU,aAAE,EAAQ,WACtC,EAAa,EAAe,EAAQ,EAAQ,GAC5C,EAAW,EAAe,EAAQ,EAAQ,GAC1C,EAAY,EAAW,EAAa,KAAK,GAAK,EAAI,EAElD,EAAO,CAAC,CAAC,IAAK,EAAW,EAAG,EAAW,IAC7C,GAAI,EAAW,GAAyB,EAAV,KAAK,GAAQ,CAEzC,IAAM,EAAc,EAAe,EAAQ,EAAQ,EAAa,KAAK,IACrE,EAAK,KAAK,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAW,EAAG,EAAY,EAAG,EAAY,IAC5E,EAAK,KAAK,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAW,EAAG,EAAS,EAAG,EAAS,SAEhE,EAAD,KAAK,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAW,EAAG,EAAS,EAAG,EAAS,IAEpE,OAAG,GAID,sBAAR,SAAkB,GAEhB,IAAM,EAAO,KAAK,aACZ,EAAQ,KAAK,IAAI,SACvB,KAAK,SAAS,EAAO,CACnB,KAAM,OACN,GAAI,KAAK,aAAa,OACtB,KAAM,iBACN,MAAK,oBACH,KAAI,GACD,MAIX,EA7DA,CAA4B,GCmDb,EAlDf,YAAE,SAAF,I,+CAgDA,OAhD+B,yBAMtB,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,kBACA,cACA,aAAQ,SACR,MAAC,KACD,IAAD,KACC,MAAC,GACP,WAAY,CACV,MAAO,CACL,UAAW,EACX,KAAM,EAAM,YACZ,QAAS,QAMP,wBAAV,SAAsB,GAChB,KAAC,aAAa,IAGZ,yBAAR,SAAqB,GACnB,IAAM,EAAQ,KAAK,IAAI,SACjB,EAAM,KAAK,IAAI,OACf,EAAQ,KAAK,IAAI,SACjB,EAAO,EAAa,CAAE,MAAK,EAAE,IAAG,IACtC,KAAK,SAAS,EAAO,CACnB,KAAM,OACN,GAAI,KAAK,aAAa,UACtB,KAAM,oBACN,MAAK,oBACH,EAAG,EAAK,EACR,EAAG,EAAK,EACR,MAAO,EAAK,MACZ,OAAQ,EAAK,QACV,MAIX,EAhDA,CAA+B,GCkDhB,EAnDf,YAAE,SAAF,I,+CAiDA,OAjD8B,yBAMrB,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACN,KAAM,aACN,KAAM,QACN,aAAc,SACd,MAAO,KACP,IAAK,KACL,IAAK,KACL,MAAO,MAIJ,wBAAP,SAAmB,GACjB,KAAK,YAAY,IAGX,0BAAR,WACM,IAAE,EAAQ,KAAK,IAAI,SACjB,EAAMzC,KAAK9C,IAAI,OACf,EAAQ,KAAK,IAAI,SACjB,EAAO,EAAa,CAAE,MAAK,EAAE,IAAG,IAChC,EAAM,KAAK,IAAI,OACrB,2BACE,EAAG,EAAK,EACR,EAAG,EAAK,EACR,IAAK,EACL,MAAO,EAAK,MACZ,OAAQ,EAAK,QACV,IAKC,wBAAR,SAAoB,GAClB,KAAK,SAAS,EAAO,CACnB,KAAM,QACN,GAAI,KAAK,aAAa,SACtB,KAAM,mBACN,MAAO,KAAK,mBAGlB,EAjDA,CAA8B,GCiNf,EA9Mf,YAAE,SAAF,I,+CA4MA,OA5MmC,yBAK1B,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,kBACA,kBACA,aAAQ,QACR,EAAH,EACG,EAAH,EACG,MAAC,GACD,QACA,QACA,UAAK,SACL,YAAM,EACN,eAAU,KACV,WAAM,CACF,MAAD,CACK,SAAD,EACC,MAAH,CACL,EAAG,EACH,KAAM,UACN,OAAQ,UACR,UAAW,IAGP,KAAF,CACM,SAAD,EACC,OAAF,GACE,MAAH,CACO,OAAJ,EAAM,UACd,UAAW,IAGf,KAAM,CACJ,QAAS,GACT,SAAS,EACT,MAAO,CACL,KAAM,EAAM,UACZ,QAAS,IACT,SAAU,GACV,UAAW,QACX,WAAY,EAAM,iBAOlB,wBAAV,SAAsB,GAChB,cAAI,KAAK,IAAI,QAAS,YAClB,KAAD,WAAW,GAEd,cAAI,KAAK,IAAI,QAAS,YACxB,KAAK,WAAW,GAEd,cAAI,KAAK,IAAI,SAAU,YACzB,KAAK,YAAY,GAGf,KAAK,IAAI,eACL,KAAD,WAAW,IAIV,wBAAV,WACM8C,KAAC,cAAc,KAAK,IAAI,SAAU,CAC9B,EAAH,KAAK,IAAI,KAAO,KAAK,IAAI,WACtB,EAAH,KAAK,IAAI,KAAO,KAAK,IAAI,cAIxB,wBAAR,SAAoB,GACV,MAAU,KAAK,gBAAV,MAET,KAAC,SAAS,EAAO,CACnB,KAAM,SACN,GAAI,KAAK,aAAa,SAChB,wBACA,MAAC,KAID,EAAF,qBAAR,SAAmB,GACT,MAAS,KAAK,gBAAV,KAER,KAAC,SAAS,EAAO,CACb,YACA,GAAF,KAAK,aAAa,QACtB,KAAM,kBACN,MAAO,KAIH,uBAAR,SAAmB,GACT,IAAM,EAAc,KAAK,gBAAV,KAEf,EAAyB,EAAxB,EAAE,EAAsB,EAArB,EAAE,EAAmB,EAAf,KAAK,EAAK,iBAAK,EAA3B,kBACA,EAAwE,KAAK,IAAI,QAA/E,EAAU,aAAE,EAAS,YAAE,EAAY,eAAE,EAAU,aAAE,EAAgB,mBAerE,EAAM,EAdK,CACb,EAAC,EACD,EAAC,EACD,GAAI,KAAK,aAAa,QAChB,uBACN,QAAS,EACT,MAAK,EACC,WAAI,EACJ,UAAG,EACH,aAAM,EACN,WAAI,EACJ,iBAAU,KAMZ,uBAAR,SAAmB,GACb,IAAE,EAAoB,KAAK,IAAI,aAC7B,EAAY,KAAK,IAAI,KACrB,EAAY,KAAK,IAAI,KACrB,EAAqB,cAAI,KAAK,IAAI,QAAS,SAAU,GACrD,EAAiB,KAAK,IAAI,kBAC1B,EAA6B,EAAM,UAAjC,EAAI,OAAE,EAAI,OAAE,EAAI,OAAE,EAAI,OAExB,EAAY,EAAM,SAAS,KAAK,aAAa,eAC7C,EAAY,EAAM,SAAS,KAAK,aAAa,SAC7C,EAAY,EAAM,SAAS,KAAK,aAAa,SAE/C,GAAC,EAAD,CAIA,KAAW,CACP,GAAF,EAAI,GAAQ,EAAe,KAAM,CAE3B,IAAF,EAAW,EAAe,MAAQ,EAAI,GAC5C,EAAe,EAAW,EAAU,KAAK,KAAO,EAAU,EAAU,KAAK,MAE3E,GAAI,EAAI,GAAQ,EAAe,KAAM,CAE7B,EAAW,EAAI,EAAO,EAAe,KAC3C,EAAe,EAAW,EAAU,KAAK,KAAO,EAAU,EAAU,KAAK,OAIzE,GACa,WAAd,GAA0B,EAAI,GAAQ,EAAe,MACvC,WAAd,GAA0B,EAAI,GAAQ,EAAe,KACtD,CAEM,IAAF,OAAY,EACZ,OAAM,EACQ,WAAd,GAA0B,EAAI,GAAQ,EAAe,MAC/C,EAAO,MACf,EAAS,IAET,EAAe,SACf,GAAU,GAEZ,EAAU,KAAK,eAAgB,GAC3B,GACF,EAAU,KAAK,OAAQ,CACrB,CAAC,IAAK,EAAG,GACT,CAAC,IAAK,EAAG,EAAa,KAG1B,EAAe,EAAW,EAAU,KAAK,MAAO,EAAa,GAAK,MAI9D,0BAAR,WACE,IAAM,EAAc,cAAI,KAAK,IAAI,QAAS,WACpC,EAAa,cAAI,KAAK,IAAI,SAAU,QAAS,IAC7C,EAAY,cAAI,KAAK,IAAI,QAAS,QAAS,IAC3C,EAAY,cAAI,KAAK,IAAI,QAAS,QAAS,IAC3C,EAAY,KAAK,IAAI,aACrB,EAAa,EAAc,cAAI,KAAK,IAAI,QAAS,SAAU,GAAK,EAChE,EAAuB,WAAd,GAA0B,EAAI,EAC7C,MAAO,CACL,MAAK,oBACH,EAAG,EACH,EAAG,GACA,GAEL,KAAI,oBACF,KAAM,CACJ,CAAC,IAAK,EAAG,GACT,CAAC,IAAK,EAAG,EAAa,KAErB,GAEL,KAAI,oBACF,EAAG,EACH,GAAI,EAAa,GAAK,EACtB,KAAM,cAAI,KAAK,IAAI,QAAS,UAAW,IACvC,aAA4B,WAAd,EAAyB,SAAW,OAC/C,KAIX,EA5MA,CAAmC,GC+EpB,EA/Ef,YAAE,SAAF,I,+CA6EA,OA7EmC,yBAK1B,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,kBACA,kBACA,aAAQ,SACR,OAAE,GACF,WAAM,EACN,OAAE,GACF,QACA,WAAM,CACF,QACI4I,MAAH,CACO,UAAD,EACC,KAAN,EAAM,YACA,QAAH,KAGL,KAAF,CACJ,QAAS,GACT,MAAO,CACL,UAAW,SACX,aAAc,SACd,SAAU,GACV,KAAM,EAAM,UACZ,WAAY,EAAM,iBAOlB,wBAAV,SAAsB,GAChB,IAAE,EAAc,cAAI,KAAK,IAAI,UAAW,QAAS,IAE/C,GADY,cAAI,KAAK,IAAI,QAAS,QAAS,IAC9B,KAAK,IAAI,eAAiB,GACvC,EAAkB,KAAK,IAAI,UAE7B,GAAC,EAAO,OAAR,CAGA,IAAE,E5DJJ,SAAuB,GAC3B,IAAM,EAAe,EAAO,KAAI,SAAC,GAAU,cACrC,EAAe,EAAO,KAAI,SAAC,GAAU,cACrC,EAAO,KAAK,IAAG,MAAR,KAAY,GACnB,EAAO,KAAK,IAAG,MAAR,KAAY,GACnB,EAAO,KAAK,IAAG,MAAR,KAAY,GACnB,EAAO,KAAK,IAAG,MAAR,KAAY,GACzB,MAAO,CACL,EAAG,EACH,EAAG,EACH,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,MAAO,EAAO,EACd,OAAQ,EAAO,G4DXF,CAAa,GAGpB,EAAO,GACT,EAAC,KAAK,CAAC,IAAK,EAAO,GAAG,EAAG,EAAK,KAAO,IACrC,EAAG,SAAQ,SAAC,GACd,EAAK,KAAK,CAAC,IAAK,EAAM,EAAG,EAAM,OAEjC,EAAK,KAAK,CAAC,IAAK,EAAO,EAAO,OAAS,GAAG,EAAG,EAAO,EAAO,OAAS,GAAG,EAAI,IAC3E,KAAK,SAAS,EAAO,CACnB,KAAM,OACN,GAAI,KAAK,aAAa,UACtB,KAAM,oBACN,MAAK,oBACH,KAAI,GACD,KAaP,EAAU,EARG,oBACX,GAAI,KAAK,aAAa,QACtB,KAAM,kBACN,GAAI,EAAK,KAAO,EAAK,MAAQ,EAC7B,EAAG,EAAK,KAAO,GACZ,KAAK,IAAI,YAKlB,EA7EA,CAAmC,GC8DpB,EAhEf,YAAE,SAAF,I,+CA8DA,OA9DqC,yBAK5B,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACN,KAAM,aACN,KAAM,eACN,aAAc,SACd,MAAO,KACP,IAAK,KACL,MAAO,KACP,MAAO,MAID,wBAAV,SAAsB,GAAlB,IAAJ,OACQ,EAAe,KAAK,IAAI,SACxB,EAAa,KAAK,IAAI,OAGtB,EAAgB,KAAK,SAAS,EAAO,CACnC,GAAF,KAAK,aAAa,iBAChB,SAAG,IAIP,OAAJ,OAAI,CAAC,KAAK,IAAI,WAAW,SAAC,EAAe,GACvC,IAAM,EAAO,EAAM,IAAI,QACjB,EAAQ,gBAAM,EAAM,QAC1B,EAAK,iBAAiB,GAChB,EAAD,SAAS,EAAO,CACnB,GAAI,EAAK,aAAa,SAAS,EAAI,IAAI,GAC/B,SAAC,EACD,KAAJ,EACI,MAAH,OAKT,IAAM,EAAW,EAAa,CAAE,MAAK,EAAE,IAAG,IACtC,EAAE,QAAQ,CACZ,KAAM,OACA,MAAC,CACL,EAAG,EAAS,KACZ,EAAG,EAAS,KACZ,MAAO,EAAS,MAChB,OAAQ,EAAS,WAKf,6BAAR,SAAyB,GACvB,IAAM,EAAQ,KAAK,IAAI,SACnB,EAAK,OACP,EAAK,KAAO,EAAK,UAAY,GAE/B,EAAK,OAAS,EAAK,YAAc,GAErC,EA9DA,CAAqC,GCH/B,SAAU,EAAe,EAAgB,EAAqB,GAChE,IAAI,EAAe,EAAW,QAC5B,EAAS,KASb,OARE,OAAF,OAAE,CAAG,GAAa,SAAC,EAAG,GAChB,EAAK,IAAU,EAAE,KACd,IACH,EAAS,IAEX,cAAI,EAAQ,EAAE,QAGX,ECLT,IA+iBe,GA/iBf,YAAE,SAAF,I,+CA6iBA,OA7iBqE,yBAC5D,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,YACA,MAAC,GACD,QACA,SAAI,GACJ,YAAO,KACP,MAAC,KAID,MAAC,GAID,eAAU,EAEV,oBAAe,KACf,aAAQ,CAAC,aAAc,eAAgB,YACvC,WAAM,GACN,WAAM,CACF,KAAF,CAEM,MAAH,CACL,UAAW,EACX,OAAQ,EAAM,YAGV,SAAE,CAEE,MAAH,CACL,UAAW,EACC,OAAJ,EAAM,WAEN,WAAC,EACD,OAAF,EACE,kBAAQ,GAEZ,YAAK,CAED,MAAH,CACL,UAAW,EACX,OAAQ,EAAM,WAEN,MAAH,EACG,OAAF,GAEF,MAAD,CACK,YAAE,EACF,YACV,cAAc,EACd,MAAO,CACL,SAAU,GACV,KAAM,EAAM,UACZ,aAAc,SACd,WAAY,EAAM,WACN,qBAEJ,OAAF,IAEF,MAAD,CACK,YAAE,EACZ,QAAS,EACT,SAAU,SACA,MAAH,CACO,SAAF,GACE,KAAN,EAAM,UACA,aAAE,SACF,aAAM,WACN,UAAD,WAGP,WAAI,CACA,OAAF,CACM,YACV,WAAY,KAEd,cAAe,CACb,UAAW,IAGf,SAAU,CACR,WAAY,CACV,KAAM,EAAM,sBAWjB,wBAAP,SAAmB,GACb,KAAK,IAAI,SACX,KAAK,SAAS,GAGhB,KAAK,UAAU,GACX,KAAK,IAAI,UACX,KAAK,UAAU,IAKZ,mBAAP,WACE,OAAO,GAOF,qBAAP,WACE,OAAO,KAAK,IAAI,UAOX,qBAAP,SAAgB,GACd,KAAK,OAAO,CACV,MAAO,KASJ,uBAAP,SAAkB,EAAgB,GAChC,cAAI,EAAM,GACV,KAAK,QACL,KAAK,UAMA,uBAAP,WACE,IAAM,EAAY,KAAK,oBAAoB,eAC3C,GAAa,EAAU,SAShB,EAAF,uBAAP,SAAoB,EAAgB,EAAe,GAC7C,EAAC,GAAS,EACV,KAAC,iBAAiB,IAQjB,qBAAP,SAAgB,EAAgB,GAC1B,QAAK,EAAK,IAGP,EAAF,wBAAP,SAAqB,GACf,IAAE,EAAa,KAAK,IAAI,cACtB,EAAM,GAOR,OANJ,eAAK,GAAY,SAAC,EAAG,GACf,EAAK,IAEP,EAAI,KAAK,MAGN,GAOF,4BAAP,SAAuB,GAAnB,IAAJ,OACQ,EAAQ,KAAK,gBAAgB,GAC/B,OAAJ,OAAI,CAAC,GAAO,SAAC,GACL,EAAD,aAAa,EAAM,GAAO,OAS5B,4BAAP,SAAuB,GAAnB,IAAJ,OACQ,EAAQ,KAAK,WACf,OAAG,iBAAO,GAAO,SAAC,GACpB,OAAO,EAAK,SAAS,EAAM,OAsBrB,yBAAV,SAAuB,EAAc,GAC/B,IACE,EADO,KACO,cAAc,EAAQ,GACtC,MAAG,CACL,EAAG,EAAM,EAAI,EAAO,GACpB,EAAG,EAAM,EAAI,EAAO,KAWZ,EAAF,wBAAV,SAAwB,GAClB,MAQA,OAPA,wBAAc,EAAO,GAAI,GACrB,EAAE,SACC,EAAO,GAAK,EACf,EAAE,QACC,EAAO,GAAK,IACrB,EAAQ,OAEH,GAGC,2BAAV,SAAyB,KAGjB,qBAAR,SAAiB,GACX,IAAE,EAAO,KAAK,cACZ,EAAO,KAAK,IAAI,QAClB,KAAC,SAAS,EAAO,CACnB,KAAM,OACN,GAAI,KAAK,aAAa,QAChB,iBACA,MAAC,cACL,CACE,KAAI,GAEN,EAAK,UAKD,EAAF,2BAAR,SAAyB,GAArB,IAAJ,OACQ,EAAgB,GAChB,EAAW,KAAK,IAAI,YACpB,EAAY,EAAS,UACrB,EAAiB,EAAS,OAC5B,EAAc,EA2Bd,OA1Bc,EAAM,QACP,IACf,EAAc,EAAM,GAAG,MAAQ,EAAM,GAAG,OAGtC,OAAJ,OAAI,CAAC,GAAO,SAAC,GACX,IAAI,EAAQ,EAAK,MACZ,IAEH,EAAQ,EAAK,aAAa,EAAK,MAAQ,EAAc,IAEvD,IAAM,EAAW,EAAK,aAAa,EAAO,GAC1C,EAAc,KAAK,CACjB,WAAY,EACZ,UAAW,EAAK,MAChB,SAAQ,EACR,OAAQ,EAAK,GACb,GAAI,YAAY,EAAK,QASlB,GAGD,gCAAR,SAA4B,GACtB,IAAE,EAAmB,GACnB,EAAc,KAAK,IAAI,eACvB,EAAW,EAAY,MACvB,EAAgB,EAAc,OAEhC,MAAiB,EACb,IAAD,IAAI,EAAI,EAAG,EAAI,EAAgB,EAAG,IAG7B,IAFA,IAAF,EAAM,EAAc,GACpB,EAAO,EAAc,EAAI,GACtB,EAAI,EAAG,EAAI,EAAU,IAAK,CACjC,IAAM,GAAW,EAAI,IAAM,EAAW,GAChC,GAAa,EAAI,GAAW,EAAI,UAAY,EAAU,EAAK,UAC3D,EAAQ,KAAK,aAAa,GAC1B,EAAW,KAAK,aAAa,EAAO,EAAY,QACtD,EAAiB,KAAK,CACpB,WAAY,EACZ,SAAQ,EACR,UAAS,EACT,GAAI,OAAO,EAAI,GAAE,IAAI,IAK7B,OAAO,GAGD,6BAAR,SAAyB,EAAoB,GACvC,IAAE,EAAgB,KAAK,IAAI,GAAM,MAC7B,EAAyB,EAAf,WAAE,EAAa,EAAL,SAUxB,OATU,cACZ,CACQ,GAAF,EAAW,EACT,GAAF,EAAW,EACf,GAAI,EAAS,EACb,GAAI,EAAS,GAEf,IAMI,qBAAR,SAAiB,EAAoB,EAAuB,GACtD,KAAC,SAAS,EAAe,CACrB,YACN,GAAI,KAAK,aAAa,EAAS,IAC/B,KAAM,QAAQ,EACd,MAAO,KAAK,iBAAiB,EAAU,MAKnC,0BAAR,SAAsB,GAAtB,WACQ,EAAQ,KAAK,IAAI,SACjB,EAAc,KAAK,IAAI,eACvB,EAAgB,KAAK,iBAAiB,GACtC,EAAgB,KAAK,SAAS,EAAO,CACzC,KAAM,sBACN,GAAI,KAAK,aAAa,oBAElB,EAAU,KAAK,IAAI,YAarB,GAZA,OAAJ,OAAI,CAAC,GAAe,SAAC,GACb,GAAF,EAAQ,iBAAkB,CAE5B,IAAM,EAAU,EAAK,aAAa,SAAS,EAAK,QAC5C,EAAM,SAAS,IACjB,EAAK,SAAS,EAAM,EAAe,iBAGrC,EAAK,SAAS,EAAM,EAAe,eAInC,EAAa,CACT,MAAmB,KAAK,oBAAoB,GAC5C,OAAN,OAAM,CAAD,GAAkB,SAAC,GACtB,EAAK,SAAS,EAAM,EAAe,oBAM/B,EAAF,uBAAR,WAAI,IAAJ,OACQ,EAAQ,KAAK,IAAI,SACnB,OAAJ,OAAI,CAAC,GAAO,SAAC,GACL,EAAD,MAAQ,EAAK,aAAa,EAAK,OAEhC,gBAAM,EAAK,MAEb,EAAK,GAAK,EAAK,UAMb,sBAAR,SAAkB,GAAd,IAAJ,OACM,KAAC,eACD,KAAK,IAAI,UACX,KAAK,WAAW,GAGd,KAAK,IAAI,aACL,KAAD,cAAc,GAGjB,IAAE,EAAQ,KAAK,IAAI,SACnB,OAAJ,OAAI,CAAC,GAAO,SAAC,GACX,EAAK,gBAAgB,EAAM,OAKvB,0BAAR,SAAsB,EAAgB,GAChC,IAAE,EAAW,KAAK,IAAI,SAClB,EAAqC,EAA/B,OAAE,EAA6B,EAAxB,MAAE,EAAsB,EAAhB,OAAE,EAAc,EAAL,UAClC,EAAQ,KAAK,aAAa,EAAK,MAAO,GACtC,EAAS,KAAK,cAAc,EAAQ,GACpC,EAAO,EAAY,EAAU,EAAK,KAAM,EAAM,GAAS,EAAK,KAC5D,EAAQ,cACZ,CACE,EAAG,EAAM,EACT,EAAG,EAAM,EACT,KAAI,EACJ,UAAW,KAAK,cAAc,IAEhC,GAKE,OAHA,IACF,EAAM,OAAS,EAAiB,EAAO,IAElC,GAID,uBAAR,SAAmB,GAAnB,WACQ,EAAQ,KAAK,IAAI,SACjB,EAAa,KAAK,SAAS,EAAO,CACtC,KAAM,mBACA,GAAF,KAAK,aAAa,iBAEpB,OAAJ,OAAI,CAAC,GAAO,SAAC,EAAgB,GACrB,EAAD,SAAS,EAAY,CACxB,KAAM,OACE,KAAF,aACE,GAAJ,EAAK,aAAa,SAAS,EAAK,IACpC,MAAO,EAAK,cAAc,EAAM,GAChC,eAAgB,CACd,KAAI,EACJ,KAAM0mB,EACN,MAAK,QAIX,KAAK,eAAe,IAId,0BAAR,WACM,IAAE,EAAW,KAAK,IAAI,SAClB,EAAqD,EAAhD,MAAE,EAA8C,EAAtC,SAAE,EAAoC,EAA9B,OAAE,EAA4B,EAAjB,QAAX,OAAO,MAAG,EAAC,EAAE,EAAe,EAAL,WAClD,EAAc,EAAM,SACtB,EAAU,GACG,UAAb,EACI,EAAI,EACY,QAAb,IACH,EAAI,GAER,IAAE,EAAQ,KAAK,aAAa,GAE1B,EAAa,KAAK,aAAa,EAAO,GAAU,EAAU,EAAc,GAExE,EAAQ,cACZ,CACQ,EAAH,EAAW,EACd,EAAG,EAAW,EACd,KAAM,EAAS,MAEjB,GAGI,EAAS,EAAS,OACpB,EAAQ,EACZ,GAAI,gBAAM,IAAW,EAAY,CAE/B,IAAM,EAAS,KAAK,cAAc,GAElC,EAAQ,MAAI,QAAQ,EADS,CAAC,EAAG,IACD,GAElC,GAAI,EAAO,CACT,IAAM,EAAS,EAAiB,EAAY,GAC5C,EAAM,OAAS,EAEjB,OAAO,GAID,sBAAR,SAAkB,GAChB,KAAK,SAAS,EAAO,CACnB,KAAM,OACN,GAAI,KAAK,aAAa,SACtB,KAAM,aACN,MAAO,KAAK,mBAIR,4BAAR,SAAwB,EAAM,GAE5B,GADe,KAAK,cAAc,GACvB,OAAQ,CACjB,IAAM,EAAa,KAAK,IAAI,cAEtB,EAAU,KAAK,aAAa,SAAS,EAAK,IAC1C,EAAa,EAAM,SAAS,GAClC,GAAI,EAAY,CACd,IAAM,EAAkB,EAAe,EAAM,QAAS,GACtD,GAAmB,EAAW,KAAK,GAErC,IAAM,EAAa,KAAK,aAAa,YAAY,EAAK,IAChD,EAAgB,EAAM,SAAS,GACrC,GAAI,EAAe,CACjB,IAAM,EAAqB,EAAe,EAAM,WAAY,GAC5D,GAAsB,EAAc,KAAK,MAKvC,6BAAR,SAAyB,GACvB,IAAM,EAAS,KAAK,cAAc,GAC5B,EAAa,KAAK,IAAI,cACtB,EAAW,KAAK,IAAI,SACpB,EAAa,KAAK,oBAAoB,SAAS,EAAK,IACpD,EAAc,KAAK,IAAI,YACvB,EAAgB,KAAK,oBAAoB,YAAY,EAAK,IAEhE,GAAI,EAAO,OAAQ,CACjB,GAAI,EAAY,CACd,IAAM,EAAkB,EAAe,EAAM,QAAS,GACtD,GAAmB,EAAW,KAAK,GAErC,GAAI,EAAe,CACjB,IAAM,EAAqB,EAAe,EAAM,WAAY,GAC5D,GAAsB,EAAc,KAAK,SAGvC,GACF,EAAW,KAAK,EAAS,OAEvB,GACF,EAAc,KAAK,EAAY,QAIvC,EA7iBA,CAAqE,GCNrE,SAAS,GAAc,EAAqB,EAAoB,EAAqB,GACjF,IAAI,EAAW,EAAW,cACxB,GAAa,EAKjB,OAJE,OAAF,OAAE,CAAG,GAAU,SAAC,GACd,IAAM,EAAM,EAAc,EAAY,EAAO,EAAa,GAC1D,EAAa,GAAc,KAEtB,EAGH,SAAU,KACZ,OAAK,GAGH,SAAU,GAAa,EAAqB,EAAoB,GACpE,OAAO,GAAc,EAAY,EAAY,EAAa,QAGtD,SAAU,GAAa,EAAqB,EAAoB,GACpE,OAAO,GAAc,EAAY,EAAY,EAAa,QAGtD,SAAU,GAAe,EAAqB,EAAoB,GACtE,OAAO,GAAc,EAAY,EAAY,EAAa,UCvB5D,SAAS,GAAS,GAChB,IAAM,EAAS,EAAM,KAAK,UAC1B,OAAO,GAAwB,IAAd,EAAO,GAoB1B,SAAS,GAAU,EAAqB,EAAkB,EAAQ,EAAQ,sBACtE,IAAE,GAAU,EACZ,GAAE,EAEE,EAAM,KAAK,IAAI,EAAO,EAAI,EAAO,GAAK,EAAO,YAG7C,KAAS,CAEX,IAAM,EAAS,EAAW,EAAO,OAAS,EAAO,OACjD,EAAU,KAAK,IAAI,EAAO,EAAI,EAAO,GAAK,MACrC,CAEC,MAAQ,EAAW,EAAO,MAAQ,EAAO,MAC/C,EAAU,KAAK,IAAI,EAAO,EAAI,EAAO,GAAK,EAG9C,OAAO,EAIT,SAAS,GAAW,EAAqB,EAAqB,GAC1D,IAAI,EAAS,EAAY,cAAc,QACvC,IAAG,EAAO,OACV,OAAO,EAEP,IAAE,GAAU,EACV,GAEF,EAAO,UAMP,IAJA,IAAI,EAAQ,EAAO,OACf,EAAQ,EAAO,GACf,EAAU,GAAS,GACrB,EAAS,EAAM,UACV,EAAI,EAAG,EAAI,EAAO,IAAK,CAC1B,IAAE,EAAQ,EAAO,GACf,EAAU,EAAM,UAEP,GAAU,EAAY,EAAS,EAAQ,EAAS,IAE7D,EAAM,OACN,GAAU,GAEV,EAAS,EAGb,OAAO,EAGH,SAAU,KACd,OAAO,GAQH,SAAU,GAAa,EAAqB,GAChD,OAAO,GAAW,EAAY,GAAa,GAQvC,SAAU,GAAY,EAAqB,GAC/C,OAAO,GAAWC,EAAY,GAAa,GAQvC,SAAU,GAAY,EAAqB,GAC7C,IAAI,EAAS,EAAY,cAAc,QACvC,GAAE,EAAO,QAAU,EAEnB,OAAO,EAUP,IARA,IAAE,GAAU,EACR,EAAQ,EAAO,OACf,EAAQ,EAAO,GACf,EAAO,EAAO,EAAQ,GACtB,EAAU,GAAS,GACrB,EAAS,EAAM,UACf,EAAW,EAEN,EAAI,EAAG,EAAI,EAAQ,EAAG,IAAK,CAC9B,IAAE,EAAQ,EAAO,GACf,EAAU,EAAM,UAEP,GAAU,EAAY,EAAS,EAAQ,IAE9C,SACN,GAAU,IAEV,EAAS,EACT,EAAW,GAWf,OANgB,GAAU,EAAY,EAAS,EAD9B,EAAK,aAIpB,EAAS,OACT,GAAU,GAEL,EAQH,SAAU,GAAa,EAAqB,GAC9C,IAAI,EAAS,EAAY,cAAc,QACvC,GAAE,EAAO,OAAS,EAElB,OAAO,EAEP,IAAE,GAAU,EACR,EAAQ,EAAO,GACf,EAAY,EAAM,UAClB,EAAS,EAAO,GAChB,EAAU,GAAS,GACnB,EAAQ,EAAO,OACjB,EAAW,EACb,GAAE,EAAY,CAEV,IAAE,EAAW,KAAK,IAAI,EAAO,KAAK,KAAO,EAAM,KAAK,MACpD,EAAO,EAAU,OAAS,OAG1B,KAAS,CACL,EAAW,KAAK,IAAI,EAAO,KAAK,KAAO,EAAM,KAAK,MAClD1e,EAAK,EAAU,MAAQ,MACxB,CAGL,EAFiB,EAAiB,IAC5B,EAAW,KAAK,IAAI,EAAO,KAAK,KAAO,EAAM,KAAK,OAK1D,GAAE,EAAW,EAAG,CACZ,EAAO,KAAK,KAAK,GACjB,IAAC,IAAI,EAAI,EAAGxU,EAAI,EAAO,IACrB,EAAI,GAAa,IAEnB,EAAO,GAAG,OACV,GAAU,GAIhB,OAAO,ECtKT,SAAS,GACP,EACA,EACA,EACA,GAEE,IAAI,EAAS,EAAY,cACzB,IAAG,EAAO,OACN,OAAG,EAEP,IAAG,GAAc,EAAO,OAAS,EAE7B,OAAG,EAGP,IAAI,EAAW,EAAiB,GAC9B,GAAY,EACZ,EAEF,IAAc,GAAe,EAAW,EAIxC,EAAY,EADM,KAAK,IAAI,EAAO,GAAG,KAAK,KAAO,EAAO,GAAG,KAAK,MAI9D,GAtCN,SAAwB,EAAoB,GACxC,OAAF,OAAE,CAAG,GAAQ,SAACuG,GACR,IAEE,EAAS,EAAiB,CAAE,EAFxB,EAAM,KAAK,KAEgB,EAD3B,EAAM,KAAK,MACqB,GAC1C,EAAM,KAAK,SAAU,MAmCrB,CAAe,EADD,EAAS,EAAa,IAGtC,OAAO,EAGH,SAAU,KACZ,OAAK,GAUH,SAAU,GAAW,EAAqB,EAAqB,GACjE,OAAK,GAAY,EAAY,EAAa,GAAa,WACnD,OAAG,EAAa,EAAM,mBAAqB,EAAM,wBAWnD,SAAU,GAAa,EAAqB,EAAqB,GACnE,OAAK,GAAY,EAAY,EAAa,GAAa,SAAC,EAAQ,GAC5D,IAAC,EAEG,OAAC,EAAa,EAAM,mBAAqB,EAAM,qBAEnD,KAEI,OAAE,KAAK,KAAK,EAAS,GAE3B,IAAI,EAAQ,EAWZ,OAVI,EAAS,IAIX,EAAQ,KAAK,KAAK,EAAS,IACf,KAAK,GAAK,KAHtB,EAAQ,KAAK,GAAK,GAQb,KCzFb,I,GA4Ke,GA5Kf,YAAE,SAAF,I,+CA0KA,OA1KmB,yBACV,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,YACA,aAAQ,SAKR,MAAC,KAKP,IAAK,QAKF,wBAAP,WACM,IAAE,EAAQ,KAAK,IAAI,SACjB,EAAM,KAAK,IAAI,OACf,EAAO,GAGT,OAFJ,EAAK,KAAK,CAAC,IAAK,EAAM,EAAG,EAAM,IAC/B,EAAK,KAAK,CAAC,IAAK,EAAI,EAAG,EAAI,IACpB,GAIC,+BAAV,WACM,IAAE,EAAQ,KAAK,IAAI,SACjB,EAAM,KAAK,IAAI,OACf,EAAO,YAAM,mBAAkB,WAC/B,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,EAAG,EAAK,GACrC,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,EAAG,EAAK,GACrC,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,EAAG,EAAK,MACrC,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,EAAG,EAAK,MACvC,MAAG,CACC,EAAH,EACG,EAAH,EACG,KAAF,EACJ,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,MAAO,EAAO,EACd,OAAQ,EAAO,IAIT,uBAAV,WACM,IAAE,EAAQ5C,KAAK9C,IAAI,SACjB,EAAM,KAAK,IAAI,OACrB,OAAO,wBAAc,EAAM,EAAG,EAAI,IAG1B,yBAAV,WACM,IAAE,EAAQ,KAAKA,IAAI,SACjB,EAAM,KAAK,IAAI,OACjB,OAAG,wBAAc,EAAM,EAAG,EAAI,IAG1B,yBAAV,SAAuB,GACjB,IACE,EADO,KACM,IAAI,SACjB,EAFO,KAEI,IAAI,OACf,EAAU,EAAI,EAAI,EAAM,EACxB,EAAU,EAAI,EAAI,EAAM,EAC1B,MAAG,CACL,EAAG,EAAM,EAAI,EAAU,EACvB,EAAG,EAAM,EAAI,EAAU,IAKjB,0BAAV,SAAwB,GAClB,IAAE,EAAa,KAAK,gBAClB,EAAS,OAAK,UAAU,CAAC,EAAG,GAAI,GAChC,EAAS,KAAK,IAAI,kBAClB,EAAqC,CAAC,EAAO,IAAiB,EAAb,EAAO,IAC1D,OAAG,OAAK,MAAM,CAAC,EAAG,GAAI,EAAgB,EAAS,IAI3C,0BAAV,WACM,IAAE,EAAQ,KAAK,IAAI,SACjB,EAAM,KAAK,IAAI,OACjB,MAAG,CAAC,EAAI,EAAI,EAAM,EAAG,EAAI,EAAI,EAAM,IAG/B,2BAAV,SAAyB,GAArB,IAAJ,OACQ,EAAa,KAAK,aAClB,EAAe,KAAK,eAEtB,GAAC,GAAe,EAAhB,CAGA,IAAE,EAAW,KAAK,IAAI,SACpB,EAAW,KAAK,IAAI,SACpB,EAAsB,KAAK,IAAI,uBAC/B,EAAc,EAAS,OACzB,EAAc,EACd,EAAc,EACd,EAAe,EACf,IACI,EAAQ,EAAS,MAAM,SAC7B,EAAe,EAAS,SAEtB,IACI,EAAQ,EAAc,EAAc,EAAe,GAEvD,IAAE,EAAe,KAAK,IAAI,gBAM9B,GALI,OAAJ,OAAI,CAAC,GAAc,SAAC,GACd,EAAS,IACX,EAAK,mBAAmB,EAAM,EAAS,GAAO,EAAY,MAG1D,EAAU,CAEZ,IAAM,EAAO,EAAW,UAClB,EAAS,EAAa,EAAK,MAAQ,EAAK,OAC1C,gBAAM,EAAS,UAEjB,EAAS,OAAS,EAAc,EAAS,EAAe,EAAc,MAKlE,EAAF,6BAAR,SAA2B,EAAc,EAAY,EAAoB,GAArE,IAAJ,OACQ,EAAa,KAAK,aACpB,GAAc,EACZ,EAAO,EAAY,GAWrB,IAVU,IAAV,EAEF,EAAc,EAAK,YAAL,CAAkB,EAAY,EAAY,GAC/C,qBAAW,GAEd,EAAQ,EAAM,EAAY,EAAY,GACnC,EAAK,KAER,EAAQ,EAAK,GAAO,EAAY,EAAY,IAEvC,eAAT,GAEI,GAAF,EAAa,CACP,IAAF,EAAS,EAAW,cACpB,EAAiB,KAAK,IAAI,kBAChC,eAAK,GAAQ,SAAC,GAEZ,GAAkB,WADA,EAAM,KAAK,aACD,CAE1B,IAAM,EAAW,EAAiB,EAAI,MAAQ,QAC9C,EAAM,KAAK,YAAa,aAIzB,GAAa,aAAT,EAAqB,CACxB,MAAW,EAAW,cAAc,MAAM,GAC1C,OAAN,OAAM,CAAD,GAAU,SAAC,GACT,EAAM,IAAI,aACT,EAAK,IAAI,eAEX,EAAK,kBAAkB,GAEzB,EAAM,eAKhB,EA1KA,CAAmB,ICwEJ,GA5Ef,YAAE,SAAF,I,+CA0EA,OA1EqB,yBACZ,0BAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC/B,gDACK,GAAG,CACN,KAAM,SACN,aAAc,SACd,OAAQ,KACR,OAAQ,KACR,YAAa,KAAK,GAAK,EACvB,SAAqB,EAAV,KAAK,GAAU,KAIpB,wBAAV,WACM,IAAE,EAAS,KAAK,IAAI,UAClB,EAAI,EAAO,EACX,EAAI,EAAO,EACX,EAAK,KAAK,IAAI,UACd,EAAK,EACL,EAAa,KAAK,IAAI,cACtB,EAAW,KAAK,IAAI,YAEtB,EAAO,GACP,QAAK,IAAI,EAAW,KAA0B,EAAV,KAAK,GACrCsyB,EAAC,CAAC,CAAC,IAAK,EAAG,EAAI,GAAK,CAAC,IAAK,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAI,GAAK,CAAC,IAAK,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAI,GAAK,CAAC,UAC5F,CACC,MAAa,KAAK,eAAe,GACjC,EAAW,KAAK,eAAe,GAC/B,EAAQ,KAAK,IAAI,EAAW,GAAc,KAAK,GAAK,EAAI,EACxD,EAAQ,EAAa,EAAW,EAAI,EAC1C,EAAO,CACL,CAAC,IAAK,EAAG,GACT,CAAC,IAAK,EAAW,EAAG,EAAW,GAC/B,CAAC,IAAK,EAAI,EAAI,EAAG,EAAO,EAAO,EAAS,EAAG,EAAS,GACpD,CAAC,IAAK,EAAG,IAGT,OAAG,GAGC,yBAAV,SAAuB,GACjB,IAAE,EAAa,KAAK,IAAI,cAEtB,EAAQ,GADG,KAAK,IAAI,YACa,GAAc,EACjD,OAAG,KAAK,eAAe,IAInB,0BAAV,SAAwB,EAAgB,GACtC,IAAM,EAAS,KAAK,IAAI,UAClB,EAA6B,CAAC,EAAM,EAAI,EAAO,EAAG,EAAM,EAAI,EAAO,GACnE,EAAS,KAAK,IAAI,kBAClB,EAAS,OAAK,OAAO,GAE3B,OADA,OAAK,MAAM,EAAQ,EAAS,EAAS,EAAU,GACxC,GAIC,0BAAV,SAAwB,GAClB,IAAE,EAAS,KAAK,IAAI,UAClB,EAAS,CAAC,EAAM,EAAI,EAAO,EAAG,EAAM,EAAI,EAAO,GACjD,MAAG,CAAC,EAAO,IAAK,EAAI,EAAO,KAIzB,2BAAR,SAAuB,EAAe,GACpC,IAAM,EAAS,KAAK,IAAI,UAExB,OADA,EAAS,GAAU,KAAK,IAAI,UACrB,CACL,EAAG,EAAO,EAAI,KAAK,IAAI,GAAS,EAChC,EAAG,EAAO,EAAI,KAAK,IAAI,GAAS,IAGtC,EA1EA,CAAqB,ICoIN,GAhIf,YAAE,SAAF,I,+CA8HA,OA9HoF,yBAC3E,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC/B,gDACK,GAAG,CACN,KAAM,YACA,YACA,QACA,UACA,eAAU,GACV,SAAG,EACH,WAAM,CACF,KAAF,CACM,MAAH,CACL,UAAW,EACX,OAAQ,EAAM,YAGV,KAAF,CACM,iBACA,OAAF,GACE,YAAE,EACF,QAAD,KACT,MAAO,CACL,KAAM,EAAM,UACZ,UAAW,SACX,aAAc,SACF,aAAM,aAGtB,eAAgB,CACd,QAAS,EACT,MAAO,CACL,OAAQ,EAAM,gBAOd,wBAAV,SAAsB,GAChB,KAAK,IAAI,SACX,KAAK,WAAW,GAEd,KAAK,IAAI,UACL,KAAD,WAAW,GACV,KAAD,iBAAiB,KAahB,uBAAV,SAAqB,GACf,IAAE,EAAO,KAAK,IAAI,QACd,EAA+B,EAA1B,MAAE,EAAwB,EAAd,WAAE,EAAY,EAAL,QAC9B,IAAC,gBAAM,GAAU,CACnB,IAAM,EAAY,KAAK,eACnB,EAAS,KACP,GAAF,EAEF,EAAS,EAAiB,EADZ,KAAK,kBAGrB,KAAK,SAAS,EAAO,CACnB,KAAM,OACN,KAAM,iBACN,GAAI,KAAK,aAAa,QACtB,MAAK,4DACA,GAAS,CACZ,KAAM,EACN,OAAM,IACH,OAQD,uBAAV,SAAqB,GACf,IAAE,EAAO,KAAK,cAEZ,EADO,KAAK,IAAI,QACH,MACnB,KAAK,SAAS,EAAO,CACnB,KAAM,OACN,KAAM,iBACN,GAAI,KAAK,aAAa,QACtB,MAAK,oBACH,KAAI,GACD,MAMD,6BAAR,SAAyB,GACvB,IAAM,EAAS,KAAK,aAAa,QAC3B,EAAY,EAAM,SAAS,GAC3B,EAAiB,KAAK,IAAI,kBAEhC,GAAI,GAAkB,EAAW,CAC/B,IAAM,EAAW,EAAU,UACrB,EAAU,EAAc,EAAe,SACvC,EAAQ,EAAe,MACL,KAAK,SAAS,EAAO,CAC3C,KAAM,OACN,KAAM,4BACN,GAAI,KAAK,aAAa,mBACtB,MAAK,oBACH,EAAG,EAAS,EAAI,EAAQ,GACxB,EAAG,EAAS,EAAI,EAAQ,GACxB,MAAO,EAAS,MAAQ,EAAQ,GAAK,EAAQ,GAC7C,OAAQ,EAAS,OAAS,EAAQ,GAAK,EAAQ,GAC/C,OAAQ,EAAU,KAAK,WACpB,KAGS,WAGtB,EA9HA,CAAoF,GCiCrE,GApCf,YAAE,SAAF,I,+CAkCA,OAlC4B,yBACnB,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC/B,gDACK,GAAG,CACN,KAAM,OACN,aAAc,SACd,MAAO,KACP,IAAK,QAKC,2BAAV,WACQ,MAAiB,KAAK,cAApB,EAAK,QAAE,EAAG,MACV,EAAa,KAAK,IAAI,QAAd,SACV,EAAQ,KAAK,MAAM,EAAI,EAAIpP,EAAM,EAAG,EAAI,EAAI,EAAM,GAEpD,MAD8B,UAAb,EAAuB,EAAQ,KAAK,GAAK,EAAI,EAAQ,KAAK,GAAK,GAI5E,yBAAV,WACQ,MAAiB,KAAK,cAApB,EAAK,QAAE,EAAG,MACZ,EAAuB,KAAK,IAAI,QAClC,OAAG,EAAa,EAAO,EADX,WAAQ,WAIhB,wBAAV,WACQ,MAAiB,KAAK,cAApB,EAAK,QAAE,EAAG,MAClB,MAAO,CACL,CAAC,IAAK,EAAM,EAAG,EAAM,GACrB,CAAC,IAAK,EAAI,EAAG,EAAI,KAGvB,EAlCA,CAA4B,ICiEb,GAjEf,YAAE,SAAF,I,+CA+DA,OA/D4B,yBACnB,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC/B,gDACK,GAAG,CACN,KAAM,SACN,aAAc,SACd,OAAQ,KACR,OAAQ,IACR,YAAa,KAAK,GAAK,EACvB,SAAqB,EAAV,KAAK,GAAU,KAIpB,2BAAV,WACQ,MAA2B,KAAK,cAA9B,EAAU,aAAE,EAAQ,WAGxB,MAD8B,UADb,KAAK,IAAI,QAAd,SAC4B,EAAa,KAAK,GAAK,EAAI,EAAW,KAAK,GAAK,GAIpF,yBAAV,WACM,IAAE,EAAO,KAAK,IAAI,QACd,EAAqB,EAAb,SAAE,EAAW,EAAL,OAClB,EAA2C,KAAK,cAA9C,EAAM,SAAE,EAAM,SAAE,EAAU,aAAE,EAAQ,WACtC,EAAqB,UAAb,EAAuB,EAAa,EAC5C,EAAe,KAAK,iBAAmB,KAAK,GAC5C,EAAQ,EAAe,EAAQ,EAAQ,GAIvC,EAAU,KAAK,IAAI,GAAgB,EACnC,EAAU,KAAK,IAAI,GAAgB,EACrC,MAAG,CACC,EAAH,EAAM,EAAI,EACP,EAAH,EAAM,EAAI,IAIL,EAAF,sBAAV,WACY,IAAJ,EAA2C,KAAK,cAA9C,EAAM,SAAE,EAAM,SAAE,EAAU,aAAE,EAAQ,WACxC,EAAO,KACP,KAAW,GAAyB,EAAV,KAAK,GAAQ,CAEjC,MAAS,EAAR,EAAE,EAAM,EAAL,EACN,EAAC,CACL,CAAC,IAAK,EAAG,EAAI,GACb,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAG,EAAG,EAAG,EAAI,GACtC,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAG,EAAG,EAAG,EAAI,GACtC,CAAC,UAEE,CACL,IAAM,EAAa,EAAe,EAAQ,EAAQ,GAC5C,EAAW,EAAe,EAAQ,EAAQ,GAC1C,EAAQ,KAAK,IAAI,EAAW,GAAc,KAAK,GAAK,EAAI,EACxD,EAAQ,EAAa,EAAW,EAAI,EAC1C,EAAO,CACL,CAAC,IAAK,EAAW,EAAG,EAAW,GAC/B,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAO,EAAO,EAAS,EAAG,EAAS,IAGhE,OAAO,GAEX,EA/DA,CAA4B,I,QCoMb,GAnMf,yB,+CAiMA,OAjMgF,yBACvE,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC/B,gDACK,GAAG,CACN,UAAW,KACX,aAAc,cACd,kBAAkB,EAClB,mBAAoB,GACpB,OAAQ,QAKL,yBAAP,WACE,OAAO,KAAK,IAAI,cAMX,iBAAP,WACoB,KAAK,IAAI,aACjB,MAAM,QAAU,GAC1B,KAAK,IAAI,WAAW,IAKf,iBAAP,WACoB,KAAK,IAAI,aACjB,MAAM,QAAU,OAC1B,KAAK,IAAI,WAAW,IAMf,uBAAP,SAAkB,GAChB,IACM,EAAQ,EAAU,OAAS,OADf,KAAK,eAEb,MAAM,cAAgB,EAC5B,KAAC,IAAI,UAAW,IAEf,oBAAP,WACE,IAAM,EAAY,KAAK,eAGnB,OAAG,EAFG,WAAW,EAAU,MAAM,OAAS,EACpC,WAAW,EAAU,MAAM,MAAQ,EACrB,EAAU,YAAa,EAAU,eAGpD,kBAAP,WAEM,EADc,KAAK,IAAI,eAItB,oBAAP,WACE,KAAK,cACL,KAAK,YACDqP,EAAOxxB,UAAL,QAAO,YAMR,iBAAP,WACM,EAAJ,UAAM,KAAI,WACV,KAAK,gBACL,KAAK,UACD+B,KAAC,cACL,KAAK,cACL,KAAK,YACD,KAAC,cACD,KAAC,eAGG,wBAAV,WACM,KAAC,WAAW,KAAK,IAAI,aAEjB,wBAAV,WACO,KAAK,IAAI,WAIZ,KAAK,OAFL,KAAK,QAMC,oBAAV,aAIU,0BAAV,WACM,MAAY,KAAK,IAAI,aACrB,mBAAM,GAAY,CAEd,EAAM,KAAK,YACX,IAAF,EAAS,KAAK,IAAI,UAClB,mBAAS,KACX,EAAS,SAAS,eAAe,GACjC,KAAK,IAAI,SAAU,IAErB,EAAO,YAAY,GACnB,KAAK,IAAI,YAAa,QACb,mBAAS,KAElB,EAAY,SAAS,eAAe,GACpC,KAAK,IAAI,YAAa,IAEnB,KAAK,IAAI,WACZ,KAAK,IAAI,SAAU,EAAU,aAKvB,wBAAV,WACE,IAAI,EAAQ,KAAK,IAAI,aACf,EAAgB,KAAK,IAAI,iBAI7B,EAHG,EAGK,kBAAQ,GAAI,EAAe,GAF3B,EAINA,KAAC,IAAI,YAAa,IAGd,wBAAV,WACM,IAAE,EAAY,KAAK,IAAI,aACvB,GAAC,EAAD,CAGA,IAAE,EAAY,KAAK,eACnB,KAAC,oBAAoB,EAAW,GAChC,IxE7G2B,EwE6GzB,EAAqB,KAAK,IAAI,sBAChC,OxE9G2B,EwE8Ge,EAAX,ExE7GnB,UAAU,MAAM,IAAI,OAAO,UAAU,EAAK,awE6GS,CAC3D,MAAe,EAAU,GAC/B,qBAAU,EAAW,MAIf,gCAAV,SAA8B,EAAS,GACjC,OAAJ,OAAI,CAAC,GAAQ,SAAC,EAAO,GACnB,IAAM,EAAW,EAAQ,uBAAuB,GAChD,eAAK,GAAU,SAAC,GACd,qBAAU,EAAI,UAKV,uBAAV,SAAqB,EAAS,GAC5B,IAAM,EAAY,KAAK,IAAI,aAC3B,qBAAU,EAAK,EAAU,KAMjB,sBAAV,WACE,IAAM,EAAe,KAAK,IAAI,gBAC9B,OAAO,qBAAU,IAOT,sBAAV,aAMU,sBAAV,WACM,IAAE,EAAY,KAAK,IAAI,aACvB,GAAS,EAAU,WAAW,YAAY,IAOtC,wBAAV,aAEU,wBAAV,SAAsB,GAEhB,iBAAO,EAAK,eACd,KAAK,cACL,KAAK,eAGP,KAAK,iBAEG,0BAAV,aACF,EAjMA,CAAgF,GCDhF,YCL+B,gBDOI,CAC/B,SAAU,YAEZ,GCT+B,qBDSC,CAC5B,SAAQ,WACV,gBAAiB,uBAEnB,GCZ+B,qBDYC,CAC5B,SAAQ,WACR,MAAK,EAAM,UACb,WAAY,EAAM,YAEpB,IE0Ha,GAtIf,yB,+CAoIA,OApI2E,yBAClE,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAO,OAAX,WAAW,CAAX,sBACK,GAAG,CACN,KAAM,YACN,KAAM,OACN,aAAc,SACR,MAAC,CAAC,EAAG,EAAG,EAAG,GACX,IAAD,CAAS,EAAL,EAAG,EAAG,GACT,SAAG,EACH,UACA,aAAQ,mCACR,aAAQ,wCACR,QAAG,mDACT,UAAW,KACX,mBDvByB,eCwBzB,cAAe,GACf,WAAY,CACV,KAAM,CACJ,SAAU,QACV,QAAS,KACT,MAAO,SACP,OAAQ,QAMd,EAAF,4BACE,KAAK,YACD,KAAC,iBAIC,0BAAR,WACE,IAAM,EAAY,KAAK,eACjB,EAAe,KAAK,IAAI,gBACxB,EAAc,qBAAU,GAC1B,EAAM,YAAY,GAClB,KAAC,WD9CwB,oBC8CY,GACrC,KAAC,IAAI,cAAe,IAIhB,EAAF,uBAAR,WACY,IAAJ,EAAiB,KAAK,cAApB,EAAK,QAAE,EAAG,MACZ,EAAuB,KAAK,IAAI,QAClC,OAAG,EAAa,EAAO,EADX,WAAQ,WAKhB,EAAF,oBAAR,WACM,IAAE,EAAO,KAAK,IAAI,QAClB,EAAS,KAAK,IAAI,UACtB,GAAI,EAAM,CACD,MAAW,EAAJ,QACd,IAAK,EAAQ,CACX,IAAM,EAAY,KAAK,eACjB,EAAU,qBAAW,KAAK,IAAI,WAAY,GAChD,EAAS,qBAAU,GACnB,EAAU,YAAY,GACtB,KAAK,WDnEoB,oBCmEgB,GACzC,KAAK,IAAI,SAAU,GAErB,EAAO,UAAY,OACV,GACT,EAAO,UAID,EAAF,qBAAR,SAAmB,EAAO,GACpB,OAAG,EAAM,IAAM,EAAI,GAGf,0BAAV,WACM,MAAc,KAAK,IAAI,eACtB,IACG,KAAD,gBACC,EAAQ,KAAK,IAAI,gBAErB,IAAE,EAAQ,KAAK,IAAI,SACjB,EAAM,KAAK,IAAI,OACf,EAAO,KAAKye,IAAI,EAAM,EAAG,EAAI,GAC7B,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GAC/B,KAAK,WAAW,EAAO,GACzB,qBAAU,EAAa,CACrB,MAAO,MACP,OAAQ,EAAK,KAAK,IAAI,EAAI,EAAI,EAAM,MAGtC,qBAAU,EAAa,CACrB,OAAQ,MACR,MAAO,EAAK,KAAK,IAAI,EAAI,EAAI,EAAM,MAGnC,OAAJ,aAAI,CAAM,EAAa,CACf,IAAD,EAAK,GACJ,OAAK,KAET,KAAC,aAGG,EAAF,oBAAR,WAEM,IAAE,EAAS,KAAK,IAAI,UACpB,KAAQ,CACF,MAAU,KAAK,IAAI,QAAd,MACP,EAAc,EAAO,YACrB,EAAQ,KAAK,eACnB,OAAO,GACL,IAAK,SACH,EAAM,EAAI,EAAM,EAAI,EAAc,EAClC,MACF,IAAK,QACH,EAAM,EAAI,EAAM,EAAI,EAIxB,qBAAU,EAAQ,CAChB,IAAK,EAAK,EAAM,GAChB,KAAM,EAAK,EAAM,OAKb,wBAAV,SAAsB,GAChB,iBAAO,EAAK,SACd,KAAK,YAEP,YAAM,YAAW,UAAC,IAEtB,EApIA,CAA2E,ICyH5D,GA1Hf,YAAE,SAAF,I,+CAwHA,OAxH2E,yBAClE,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC/B,gDACK,GAAG,CACN,KAAM,OACA,QACA,eAAU,KACV,SAAG,EACH,MAAC,GACD,QAAE,EACF,WAAM,CACF,KAAF,CACJ,KAAM,OACN,MAAO,CACL,UAAW,EACX,OAAQ,EAAM,gBAWd,wBAAV,WAEM,OADS,KAAK,IAAI,SAAW,KAAK,IAAI,cAAc,MAC5C,MAGJ,wBAAV,SAAsB,GAChB,KAAC,SAAS,IAWN,6BAAV,SAA2B,EAAoB,GAC7C,IAAI,EAAa,KAAK,YAAY,GAC5B,EAAgB,EAAO,MAAM,GAAG,UAChC,EAAW,KAAK,YAAY,GAAe,GAS7C,OARWze,KAAK9C,IAAI,UAEtB,EAAa,EAAW,OAAO,IAE/B,EAAS,GAAG,GAAK,KACX,EAAO,EAAW,OAAO,IACpB,KAAK,CAAC,OAEZ,GAGC,EAAF,uBAAR,WACM,OAAG,KAAK,IAAI,QAAQ,OAIhB,EAAF,mBAAR,SAAiB,GAAb,IAAJ,OACQ,EAAO,KAAK,IAAI,QAChB,EAAQ,KAAK,IAAI,SACjB,EAAiB,KAAK,IAAI,kBAC5B,EAAU,KACV,OAAJ,OAAI,CAAC,GAAO,SAAC,EAAM,GACX,MAAK,EAAK,IAAM,EAEhB,GAAF,EAAM,CACA,IAAF,EAAQ,EAAK,eACb,EAAS,EAAK,aAAa,QAAQ,GACnC,EAAW,EAAK,YAAY,EAAK,QAC/B,EAAH,SAAS,EAAO,CACT,KAAJ,OACN,KAAM,YACN,GAAI,EACM,MAAH,cACL,CACE,KAAM,GAER,KAMN,GAAI,GAAkB,EAAQ,EAAG,CAC/B,IAAM,EAAW,EAAK,aAAa,UAAU,GACvC,EAAS,EAAQ,GAAM,EAC7B,GAAI,mBAAS,GAEP,GACF,EAAK,oBAAoB,EAAU,EAAO,EAAQ,OAAQ,EAAK,OAAQ,OAEpE,CACL,IAAM,EAAQ,EAAS,EAAe,GAAK,EAAe,GAC1D,EAAK,oBAAoB,EAAU,EAAO,EAAQ,OAAQ,EAAK,OAAQ,IAG3E,EAAU,MAKN,gCAAR,SAA4B,EAAY,EAAe,EAAoB,EAAiB,GAC1F,IAAM,EAAa,KAAK,iBAAiB,EAAW,GACpD,KAAK,SAAS,EAAO,CACnB,KAAM,OACN,GAAE,EACF,KAAM,cACN,MAAO,CACL,KAAM,EACN,KAAM,MAId,EAxHA,CAA2E,GCI3E,I,GA8De,GA9Df,YAAE,SAAF,I,+CA4DE,OA5DmB,yBACZ,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC/B,gDACK,GAAG,CACN,KAAM,SAKAwyB,OAAE,KAKFC,QAAE,KAIF,wBAAV,SAAsB,EAAiB,GACjC,IA1BUC,EAAI,EAAI,EAAI,EACtB,EACA,EAwBE,EAAW,KAAK,cAChB,EAAS,KAAK,IAAI,UAClB,EAAO,GACT,KAAO,OAEH,GAAW,WAAb,EAAuB,CACjB,IAAF,EAAS,KAAK,IAAI,UAClB,EAAa,EAAO,GACpB,GAlCIA,EAkCc,EAAO,EAlCjB,EAkCoB,EAAO,EAlCvB,EAkC0B,EAAW,EAlCjC,EAkCoC,EAAW,EAjCrE,EAAK,EAAK,EACV,EAAK,EAAK,EACT,KAAK,KAAK,EAAK,EAAK,EAAK,IAgCpB,EAAY,EAAW,EAAI,EAC7B,GAEQJ,EAAL,KAAK,CAAC,IAAK,EAAO,EAAG,EAAO,EAAI,IAC3BA,EAAL,KAAK,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAG,EAAW,EAAO,EAAG,EAAO,EAAI,IACtE,EAAK,KAAK,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAG,EAAW,EAAO,EAAG,EAAO,EAAI,IACtE,EAAK,KAAK,CAAC,OAED,OAAV,OAAU,CAAL,GAAQ,SAAC,EAAO,GACL,IAAV,EACF,EAAK,KAAK,CAAC,IAAK,EAAM,EAAG,EAAM,IAEjBA,EAAT,KAAK,CAAC,IAAK,EAAQ,EAAQ,EAAG,EAAG,EAAW,EAAM,EAAG,EAAM,YAKtE,eAAK,GAAQ,SAAC,EAAO,GACL,IAAV,EACF,EAAK,KAAK,CAAC,IAAK,EAAM,EAAG,EAAM,IAE/B,EAAK,KAAK,CAAC,IAAK,EAAM,EAAG,EAAM,OAG/B,GACF,EAAK,KAAK,CAAC,MAIb,OAAG,GAEX,EA5DA,CAAqB,ICgBN,GAtBf,YAAE,SAAF,I,+CAoBE,OApBiB,yBACV,0BAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC/B,gDACK,GAAG,CACN,KAAM,UAIA,wBAAV,SAAsB,GAChB,IAAE,EAAO,GAQT,OAPA,OAAJ,OAAI,CAAC,GAAQ,SAAC,EAAO,GACL,IAAV,EACF,EAAK,KAAK,CAAC,IAAK,EAAM,EAAG,EAAM,IAEvBA,EAAH,KAAK,CAAC,IAAK,EAAM,EAAG,EAAM,OAG5B,GAEX,EApBA,CAAmB,ICiJJ,GA/If,YAAE,SAAF,I,+CA6IA,OA7I2E,yBAElE,0BAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC3B,OAAO,OAAX,WAAW,CAAX,sBACK,GAAG,CACA,cAKN,OAAQ,aACR,aAAc,QACd,EAAG,EACH,EAAG,EACH,QAAS,EACT,QAAS,EACT,MAAO,KACP,WAAY,QAIT,0BAAP,WACM,IAAE,EAAO,YAAM,cAAa,WAC1B,EAAI,KAAK,IAAI,KACb,EAAI,KAAK,IAAI,KACb,EAAU,KAAK,IAAI,WACnB,EAAU,KAAK,IAAI,WACnB,EAAW,KAAK,IAAI,YACpB,EAAY,KAAK,IAAI,aACrB,EAAO,EAAI,EACX,EAAO,EAAI,EACb,EAAQ,EAAK,KAAO,EACpB,EAAS,EAAK,KAAO,EAOrB,OANA,IACF,EAAQ,KAAK,IAAI,EAAO,IAEtB,IACF,EAAS,KAAK,IAAI,EAAQ,IAErB,EAAW,EAAM,EAAM,EAAO,IAG9B,EAAF,sBAAP,SAAmB,GACb,KAAC,IAAI,IAAK,EAAI,GAClB,KAAK,IAAI,IAAK,EAAI,GAClB,KAAK,iBAGG,0BAAV,WACE,IAAM,EAAI,KAAK,IAAI,KACb,EAAI,KAAK,IAAI,KACb,EAAU,KAAK,IAAI,WACnB,EAAU,KAAK,IAAI,WACrB,KAAC,cAAc,KAAK,IAAI,SAAU,CACpC,EAAG,EAAI,EACP,EAAG,EAAI,KAID,wBAAV,WACM,KAAC,iBAIG,yBAAV,WACM,OAAGxvB,KAAK,IAAI,iBAGR,yBAAV,SAAuB,GACjB,OAAG,KAAK,IAAI,eAAgB,IAGxB,wBAAV,SAAsB,GAChB,KAAC,YACD,KAAK,IAAI,UACX,KAAK,UAAU,GAEb,KAAC,kBAAkB,GACnB,KAAK,IAAI,eACL,KAAD,eAAe,IAQd,2BAAV,SAAyB,GACnB,IAAE,EAAa,KAAK,IAAI,cACtB,EAAO,EAAM,UACb,EAAU,EAAc,EAAW,SACnC,EAAK,oBAET,EAAG,EACH,EAAG,EACH,MAAO,EAAK,MAAQ,EAAQ,GAAK,EAAQ,GACzC,OAAQ,EAAK,OAAS,EAAQ,GAAK,EAAQ,IACxC,EAAW,OAEQ,KAAK,SAAS,EAAO,CAC3C,KAAM,OACN,GAAI,KAAK,aAAa,cACtB,KAAM,oBACA,MAAD,IAES,UAIR,sBAAV,SAAoB,GAClB,IAAM,EAAe,KAAK,IAAI,gBACxB,EAAW,KAAK,IAAI,SAClB,EAAyB,EAAlB,QAAE,EAAgB,EAAX,MAAE,EAAS,EAAL,KAYtB,EAXQ,KAAK,SAAS,EAAO,CACjC,KAAM,OACN,GAAI,KAAK,aAAa,SACtB,KAAM,eACN,MAAK,oBACH,KAAI,EACJ,EAAG,EAAa,EAChB,EAAG,EAAa,GACb,KAGY,UAEnB,KAAK,IAAI,eAAgB,CAAE,EAAG,EAAa,EAAG,EAAG,EAAK,KAAO,KAIvD,sBAAR,WACE,IAAM,EAAa,KAAK,IAAI,cACtB,EAAe,CAAE,EAAG,EAAG,EAAG,GAChC,GAAI,EAAY,CACd,IAAM,EAAU,EAAc,EAAW,SACzC,EAAa,EAAI,EAAQ,GACzB,EAAa,EAAI,EAAQ,GAE3B,KAAK,IAAI,eAAgB,IAE7B,EA7IA,CAA2E,GCquB5D,GAjuBf,YAAE,SAAF,IAAI,IAAJ,0C,OACU,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,SAAS,EAwoBT,mBAAmB,WACzB,IAAM,EAAY,EAAK,oBAAoB,cAC3C,GAAI,EAAK,iBAAmB,EAAG,CAC7B,EAAK,kBAAoB,EACzB,EAAK,mBACL,IAAM,EAAS,EAAK,6BAChB,EAAK,IAAI,WACX,EAAU,QACR,CACE,OAAM,GAER,KAGF,EAAU,KAAK,CAAE,OAAM,MAKrB,oBAAoB,WAC1B,IAAM,EAAY,EAAK,oBAAoB,cAC3C,GAAI,EAAK,iBAAmB,EAAK,cAAe,CAC9C,EAAK,kBAAoB,EACzB,EAAK,mBACL,IAAM,EAAS,EAAK,6BAChB,EAAK,IAAI,WACX,EAAU,QACR,CACE,OAAM,GAER,KAGF,EAAU,KAAK,CAAE,OAAM,M,EAgD/B,OA/tBuB,yBAQZ,EAAF,wBAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,cACA,gBACA,YAAO,GACP,aAAQ,KACR,UAAK,KACL,WAAM,KACN,SAAI,GACJ,UAAK,KACL,SAAI,KACJ,UAAK,KACX,OAAQ,GACR,MAAO,GACD,WAAM,GACN,eAAU,GACV,WAAM,CACF,MAAD,CACL,QAAS,EACT,MAAO,CACL,KAAM,EAAM,UACA,SAAF,GACV,UAAW,QACX,aAAc,QAGV,WAAI,CACV,QAAS,EACT,MAAO,CACL,OAAQ,EAAM,YAGlB,eAAgB,CACd,MAAO,CACL,QAAS,EACT,KAAM,SAGF,SAAE,CACE,QAAD,GACC,MAAH,CACL,KAAM,EAAM,UACZ,SAAU,GACV,UAAW,QACX,aAAc,WAGV,QACN,QAAS,EACT,MAAO,CACL,EAAG,EACS,OAAJ,WAGJ,UAAG,CACT,YAAY,EACF,UAAC,KACD4I,MAAH,CACOinB,KAAN,EAAM,UACAC,SAAF,GACEC,UAAD,QACCC,aAAE,WAGV,WAAI,CACA,OAAF,CACN,UAAW,CACT,QAAS,KAGb,UAAW,CACT,UAAW,CACT,KAAM,EAAM,gBAEd,YAAa,CACX,KAAM,EAAM,eACZ,OAAQ,EAAM,iBAGR,UACR,UAAW,CACT,KAAM,EAAM,gBAEF,YAAC,CACG7R,QAAL,UASZ,EAAF,iBAAP,WACM,OAAG,GAOA,EAAF,mBAAP,WACM,OAAG,KAAK,IAAI,UAOX,qBAAP,SAAgB,GACd,KAAK,OAAO,CACV,MAAK,KASF,uBAAP,SAAkB,EAAgB,GAChC,cAAI,EAAM,GACV,KAAK,QACDne,KAAC,UAMA,uBAAP,WACE,IAAM,EAAY,KAAK,oBAAoB,cAC3C,GAAa,EAAU,SASlB,yBAAP,SAAoB,EAAgB,EAAe,GAC7C,EAAC,GAAS,EACV,IAAE,EAAc,KAAK,oBAAoB,QAAQ,EAAK,IAC1D,GAAI,EAAa,CACf,IACM,EADQ,KAAK,WACC,QAAQ,GACtB,EAAc,KAAK,uBACnB,EAAa,KAAK,SAAS,EAAM,EAAO,KAAK,gBAAiB,GACpE,KAAK,eAAe,EAAY,GAChC,KAAK,kBAAkB,KAQlB,EAAF,mBAAP,SAAgB,EAAgB,GAC1B,QAAK,EAAK,IAGT,0BAAP,SAAqB,GACnB,IAAM,EAAa,KAAK,IAAI,cACtB,EAAM,GAOZ,OANA,eAAK,GAAY,SAAC,EAAG,GACf,EAAK,IAEP,EAAI,KAAK,MAGN,GAOA,EAAF,0BAAP,SAAuB,GAAnB,IAAJ,OACQ,EAAQ,KAAK,gBAAgB,GAC/B,OAAJ,OAAI,CAAC,GAAO,SAAC,GACX,EAAK,aAAa,EAAM,GAAO,OAS1B,EAAF,0BAAP,SAAuB,GAAnB,IAAJ,OACQ,EAAQ,KAAK,WACnB,OAAO,iBAAO,GAAO,SAAC,GACpB,OAAO,EAAK,SAAS,EAAM,OAKrB,8BAAV,SAA4B,GACtB,KAAC,eACD,KAAC,UAAU,IAIT,yBAAR,WACE,IAAM,EAAQ,KAAK,IAAI,SACvB,eAAK,GAAO,SAAC,GACN,EAAK,KAER,EAAK,GAAK,EAAK,UAMX,EAAF,oBAAR,SAAkB,GAAd,IAAJ,OACQ,EAAqB,KAAK,SAAS,EAAO,CACxC,GAAF,KAAK,aAAa,wBACtB,KAAM,gCAEF,EAAY,KAAK,SAAS,EAAoB,CAClD,GAAI,KAAK,aAAa,cACtB,KAAM,sBAEF,EAAa,KAAK,gBAClB,EAAY,KAAK,IAAI,aACrB,EAAc,KAAK,IAAI,eACvB,EAAe,KAAK,IAAI,gBACxB,EAAS,EAAa,EACtB,EAAS,EAAa,EACtB,EAAS,KAAK,IAAI,UAClB,EAAQ,KAAK,IAAI,SACnB,GAAU,EACV,EAAY,EAEV,EAAW,KAAK,IAAI,YACpB,EAAY,KAAK,IAAI,aAEvB,OAAJ,OAAI,CAAC,GAAO,SAAC,EAAM,GACjB,IAAM,EAAW,EAAK,SAAS,EAAM,EAAO,EAAY,GAClD,EAAO,EAAS,UAChB,EAAQ,GAAa,EAAK,MAC5B,EAAQ,IACV,EAAY,GAEC,eAAX,GAEE,GAAY,EAAW,EAAa,EAAI,EAAQ,IAElD,GAAU,EACV,EAAa,EAAI,EACjB,EAAa,GAAK,GAEZ,EAAH,cAAc,EAAU,GACrB,EAAK,GAAK,EAAQ,IAGtB,GAAa,EAAY,EAAa,EAAI,EAAa,IAEzD,GAAU,EACV,EAAa,GAAK,EAAY,EAC9B,EAAa,EAAI,EACjB,EAAY,GAEN,EAAH,cAAc,EAAU,GACrB,EAAK,GAAK,MAIlB,GAAW,KAAK,IAAI,cAChB,KAAD,WAAa,EACZ,KAAD,UAAY,EACX,KAAD,cAAgB,EACf,KAAD,OAAS,EACd,KAAK,OAAS,EACd,KAAK,iBAAiB,EAAO,KAIvB,EAAF,wBAAR,WACM,MAAa,KAAK,IAAI,cACtB,IAAC,EAAY,CACf,IAAM,EAAU,KAAK,IAAI,YACrB,IACF,EAAa,EAAQ,MAAM,SAAW,GAGtC,OAAG,GAGC,EAAF,qBAAR,SAAmB,EAAmB,EAA4B,EAAgB,GAC5E,IAAE,EAAW,0DACf,EAAG,EACH,EAAG,EAAa,GACb,EAAU,OAAK,CAClB,OAAQ,cAAI,EAAK,OAAQ,SAAU,YAChC,cAAI,EAAK,OAAQ,QAAS,KAGzB,EAAQ,KAAK,SAAS,EAAW,CAC/B,cACA,GAAF,KAAK,aAAa,QAAQ,EAAK,GAAE,WAC/B,0BACN,MAAO,IAEH,EAAO,EAAM,UACf,EAAE,KAAK,IAAK,EAAK,MAAQ,GAEvB,MAAmB,EAAM,OAAvB,EAAM,SAAE,EAAI,OAQpB,OAPI,GACF,EAAM,IAAI,YAAY,GAEpB,GACF,EAAM,IAAI,UAAU,GAGf,GAGD,yBAAR,SACE,EACA,EACA,EACA,EACA,EACA,EACA,GAEI,IAAE,EAAY,EAAI,UAChB,EAAK,oBACT,EAAG,EACG,EAAH,EAAa,EACV,OAAY,EAAU,EAAK,GAAW,EAAM,GAAS,EAAK,IAC7D,EAAI,OAEL,OAAG,KAAK,SAAS,EAAW,CACxB,YACN,GAAI,KAAK,aAAa,QAAQ,EAAK,GAAE,IAAI,GACzC,KAAM,eAAe,EACf,MAAD,KAKC,EAAF,mBAAR,SAAiB,EAAgB,EAAe,EAAoB,GAC9D,IAAE,EAAU,QAAQ,EAAK,GAEvB,EAAe,KAAK,SAAS,EAAW,CAC5C,KAAM,wBACN,GAAI,KAAK,aAAa,kBAAkB,GACxC,eAAgB,CACd,KAAI,EACJ,MAAK,KAGH,EAAW,KAAK,SAAS,EAAc,CAC3C,KAAM,cACA,GAAF,KAAK,aAAa,GAChB,eAAU,CACN,KAAJ,EACI,MAAH,KAGH,EAAS,KAAK,IAAI,UAClB,EAAW,KAAK,IAAI,YACpB,EAAY,KAAK,IAAI,aACrB,EAAiB,KAAK,IAAI,kBAC1B,EAAY,KAAK,oBAEnB,EAAO,EACP,IAEI,EADc,KAAK,WAAW,EAAU,EAAQ,EAAM,GACzC,UAAU,KAAO,EAAO,SAGzC,KAAU,CACN,MAAY,KAAK,aAAa,EAAU,OAAQ,EAAU,EAAM,EAAY,EAAM,GACpF,GAEF,GAAc,EAAM,EAAW,gBAAM,EAAY,EAAM,EAAG,IAEtD,EAAC,EAAU,UAAU,KAAO,EAAS,QAEzC,KAAW,CACP,MAAa,KAAK,aAAa,EAAU,QAAS,EAAW,EAAM,EAAY,EAAM,GACvF,IACE,EAAU,YACZ,EAAW,KAAK,CACd,UAAW,QACX,EAAG,IAEL,GAAc,EAAM,EAAY,gBAAM,EAAY,EAAM,EAAG,GAAY,SAEvE,GAAc,EAAM,EAAY,gBAAM,EAAY,EAAM,EAAG,KAK7D,KAAgB,CAClB,IAAM,EAAO,EAAS,UACJ,KAAK,SAAS,EAAU,CACxC,KAAM,OACN,KAAM,yBACN,GAAI,KAAK,aAAgB,EAAO,eAChC,MAAK,oBACH,EAAG,EACH,EAAG,EACH,MAAO,EAAK,MACZ,OAAQ,GACL,EAAe,SAGZ,SAIR,OADA,KAAC,gBAAgB,EAAM,GACpB,GAIC,EAAF,2BAAR,SAAyB,EAAmB,GAAxC,IAAJ,OACQ,EAAS,KAAK,OACd,EAAS,KAAK,OACd,EAAS,KAAK,IAAI,UAClB,EAAY,EAAU,SAAQ,SAAC,GAAS,wBAAK,IAAI,WACjD,EAAW,KAAK,IAAI,YACpB,EAAY,KAAK,IAAI,aACrB,EAAY,KAAK,IAAI,aACrB,EAAc,KAAK,IAAI,eACvB,EAAa,KAAK,gBAClB,EAAa,KAAK,eAAe,EAAW,EAAQ,QAAS,IAC7D,EAAiB,EAAW,UAC5B,EAAe,CAAE,EAAG,EAAQ,EAAG,GACjC,EAAQ,EACR,EAAa,EACb,EAAY,EACZ,EAAe,EAEf,GAAW,eAAX,EACI,KAAD,WAAa,EACZ,OAAN,OAAM,CAAD,GAAW,SAAC,GACP,IAAF,EAAO,EAAK,UACZ,EAAQ,GAAa,EAAK,OAE7B,GAAc,EAAa,EAAa,EAAI,EAAQ,GACrD,EAAW,EAAa,EAAI,EAAQ,EAAc,EAAe,SAEnD,IAAV,IACF,EAAa,EAAa,EAAI,EAC9B,EAAK,UAAY,EACjB,EAAK,cAAc,EAAY,CAC7BgK,EAAG,EAAW,EAAc,EAAe,MAAQ,EAAe,KAClE,EAAG,EAAa,EAAI,EAAa,EAAI,EAAe,OAAS,EAAI,EAAe,QAGpF,GAAS,EACT,EAAa,EAAI,EACjB,EAAa,GAAK,GAEpB,EAAK,cAAc,EAAM,GACzB,EAAK,YAAY,QAAQ,CACvB,KAAM,OACN,MAAO,CACL,EAAG,EAAa,EAChB,EAAG,EAAa,EAChB,MAAO,EAAQ,EACf,OAAQ,KAGJ,EAAK,GAAK,EAAQ,SAEvB,CACC,OAAN,OAAM,CAAD,GAAW,SAAC,GACP,IAAF,EAAO,EAAK,UACd,EAAK,MAAQ,IACL,EAAE,EAAK,UAGf,EAAS,EACT,GAAO,EACT,IAEM,EAAI,KAAK,IAAI,EAAU,GAC/B,EAAe,KAAK,IAAI,EAAU,IAEpC,KAAK,UAAY,EACX,KAAD,WAAa,EAAY,KAAK,IAAI,EAAe,OAAQ,GACxD,MAAa,KAAK,MAAM,KAAK,WAAa,GAC1C,OAAN,OAAM,CAAD,GAAW,SAAC,EAAM,GACP,IAAV,GAAe,EAAQ,GAAe,IAC9B,GAAD,EACC,EAAG,GAAK,EACR,EAAG,EAAI,GAEX,EAAH,cAAc,EAAM,GACzB,EAAK,YAAY,QAAQ,CACvB,KAAM,OACN,MAAO,CACL,EAAG,EAAa,EAChB,EAAG,EAAa,EAChB,MAAO,EACP,OAAQ,KAGZ,EAAa,GAAK,KAEpB,KAAK,cAAgB,EACrB,KAAK,cAAc,EAAY,CAC7B,EAAG,EAAS,EAAe,EAAI,EAAe,MAAQ,EAAI,EAAe,KACzE,EAAG,EAAY,EAAe,OAAS,EAAe,OAItD,KAAK,YAAc,KAAK,WAE1B,EAAU,YAAY,QAAQ,CAC5B,KAAM,OACN,MAAO,CACL,EAAG,KAAK,OACR,EAAG,KAAK,OACR,MAAO,KAAK,UACZ,OAAQ,KAAK,cAKf,KAAC,cAAgB,EACjB,KAAK,iBAAmB,KAAK,gBAC/B,KAAK,iBAAmB,GAEtB,KAAC,iBAAiB,GAElB,EAAM,KAAK,SAAU,KAAK,+BAGxB,2BAAR,SAAuB,EAAe,EAAmC,EAAc,GACjF,IAAE,EAAe,CAAE,EAAG,EAAG,EAAG,GAC1B,EAAW,KAAK,SAAS,EAAO,CAC9B,GAAF,KAAK,aAAa,oBAChB,2BAEF,EAAY,KAAK,UACrB,EACA,EACA,wBACW,eAAX,EAA0B,KAAO,OACjC,GAEEimB,EAAM,GAAG,QAAS,KAAK,kBACvB,IAAE,EAAgB,EAAU,UAC5B,EAAS,GAAK,EAAc,MAAQ,EAExC,IAaM,EAbY,KAAK,SAAS,EAAU,CACxC,KAAM,OACN,GAAI,KAAK,aAAa,mBAChB,uBACA,MAAC,CACL,EAAG,EAAa,EAChB,EAAG,EAAa,EAAI,EAAO,EAC3B,KAAI,EACJ,SAAU,GACV,KAAM,OACN,aAAc,YAGS,UAYvB,OAXA,EAAS,GAAK,EAAS,MAAQ,EAEhB,KAAK,UACtB,EACA,EACA,yBACW,eAAX,EAA0B,OAAS,QACnC,GAES,GAAG,QAAS,KAAK,mBAErB,GAGC,EAAF,2BAAR,SAAyB,GACnB,IAAE,EAAU,KAAK,iBAAgB,IAAI,KAAK,cACxC,EAAY,EAAa,EAAW,cAAc,GAAK,KAAK,oBAAoB,mBAChF,EAAY,EACd,EAAW,SAAS,KAAK,aAAa,0BACtC,KAAK,oBAAoB,yBACvB,EAAa,EACf,EAAW,SAAS,KAAK,aAAa,2BACtC,KAAK,oBAAoB,0BACvB,EAAW,EAAU,UACvB,EAAM,KAAK,OAAQ,GACnB,IAAE,EAAU,EAAU,UACtB,EAAM,KAAK,IAAK,EAAU,KAAK,MAAQ,EAAQ,MAAQ,EAAS,OAAS,GACzE,EAAM,KAAK,UAAqC,IAA1B,KAAK,iBAAyB,IAAO,GAC3D,EAAM,KAAK,SAAoC,IAA1B,KAAK,iBAAyB,cAAgB,WACnE,EAAO,KAAK,UAAW,KAAK,mBAAqB,KAAK,cAAgB,IAAO,GAC7E,EAAO,KAAK,SAAU,KAAK,mBAAqB,KAAK,cAAgB,cAAgB,YAGjF,EAAF,oBAAR,SACE,EACA,EACA,EACA,EACA,GAEY,IAAJ,EAAS,EAAR,EAAE,EAAM,EAAL,EACN,EAAY,CACV,MAAE,GAAK,KAAK,GAAM,IAClB,KAAC,IAAa,KAAK,GAAM,IACzB,GAAF,EACJ,KAAO,IAAM,KAAK,GAAM,KAEpB,EAAQ,KAAK,SAAS,EAAO,CACjC,KAAM,OACN,GAAI,KAAK,aAAa,GACtB,KAAI,EACJ,MAAO,CACL,KAAM,CAAC,CAAC,IAAK,EAAI,EAAO,EAAG,GAAI,CAAC,IAAK,EAAG,EAAI,GAAO,CAAC,IAAK,EAAI,EAAM,EAAI,GAAO,CAAC,MAC/E,KAAM,OACE,oBAKR,OAFA,EAAE,KAAK,SAAU,EAAiB,CAAE,EAAG,EAAI,EAAO,EAAG,EAAG,EAAI,EAAO,GAAK,EAAU,KAE/E,GAGD,uCAAR,WACQ,IAAE,EAA4C,KAA5B,iBAAE,EAA0B,KAAjB,UAAE,EAAe,KAAL,WAa/C,OAAO,EAVM,eAFE,KAAK,IAAI,UAGlB,CACE,EAAG,EACH,EAAG,GAAc,EAAI,IAEvB,CACE,EAAG,GAAa,EAAI,GACpB,EAAG,KA6CL,4BAAR,SAAwB,EAAgB,GAGtC,GAFe,KAAK,cAAc,GACT,OAAS,EACnB,CACb,IAAM,EAAW,EAAS,cACpB,EAAa,KAAK,IAAI,cAC5B,eAAK,GAAU,SAAC,GACd,IACM,EADO,EAAQ,IAAI,QACL,MAAM,KAAK,GACzB,EAAc,EAAe,EAAM,EAAQ,GAC7C,IACF,EAAQ,KAAK,GACE,WAAX,GAAyB,EAAQ,IAAI,aAAe,EAAQ,IAAI,YAE9D,EAAQ,IAAI,aACd,EAAQ,KAAK,OAAQ,MAEnB,EAAQ,IAAI,WACd,EAAQ,KAAK,SAAU,aAS3B,8BAAR,WACE,IAAM,EAAY,KAAK,IAAI,aACvB,EAAe,KAAK,IAAI,gBAW5B,OATI,EAEE,IACF,EAAe,GAAa,EAAe,EAAY,GAEhD,IACT,EAAe,GAGV,GAEX,EA/tBA,CAAuB,ICksBR,GAlsBf,YAAE,SAAF,I,+CAgsBA,OAhsB6B,yBACpB,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,gBACA,IAAD,EACC,IAAD,IACC,MAAC,KACD,OAAE,GACF,MAAC,GACD,QACA,MAAC,GACD,QAAG,GACH,UAAI,EACJ,IAAD,KACC,UACA,SAAI,KACJ,UAAK,KACL,WAAM,CACF,MAAD,CACK,MAAH,OACP,QAAS,EACT,UAAW,KACX,MAAO,CACL,SAAU,GACV,KAAM,EAAM,UACZ,aAAc,SACd,WAAY,EAAM,aAGd,QAAC,CACP,KAAM,GACI,MAAH,CACL,KAAM,OACM,OAAJ,SAGJ,MAAD,GACC,KAAF,CACJ,KAAM,QACN,KAAM,GACN,cAAe,IACf,MAAO,CACL,KAAM,YAGV,MAAO,CACL,QAAS,EACT,MAAO,CACL,KAAM,EAAM,UACZ,SAAU,GACV,UAAW,QACX,aAAc,YAOf,EAAF,mBAAP,WACM,OAAG,GAIF,qBAAP,WACM,OAAG,KAAK,mBAGL,EAAF,mBAAP,WACM,MAAG,CACL,IAAK,KAAK,IAAI,OACR,IAAD,KAAK,IAAI,SAKX,qBAAP,SAAgB,EAAK,GACfjwB,KAAC,OAAO,CACV,IAAG,EACH,IAAG,KAIA,qBAAP,SAAgB,GACV,IAAE,EAAc,KAAK,WACrBA,KAAC,IAAI,QAAS,GACd,IAAE,EAAQ,KAAK,IAAI,SACnB,KAAC,iBACD,KAAK,IAAI,aACX,KAAK,cAAc,GAErB,KAAK,aAAa,eAAgB,CAChC,YAAW,EACX,MAAK,KAIC,sBAAV,WACM,IAAE,EAAQ,KAAK,IAAI,SACnB,KAAC,gBAAgB,GACjB,KAAC,cAAc,GACf,KAAC,eAAe,IAGZ,8BAAV,SAA4B,GACtB,KAAC,SAAS,GACV,KAAC,WAAW,GACZ,KAAC,cAAc,GACf,KAAC,WAAW,GACZ,KAAC,eAAe,GAChB,KAAK,IAAI,aACL,KAAD,cAAc,IAIf,4BAAR,SAAwB,GACtB,KAAK,kBAAkB,IAGjB,8BAAR,SAA0B,GAAtB,IAAJ,OACM,EAAE,GAAG,2BAA2B,SAAC,GACnC,IAAM,EAAW,EAAK,sBAAsB,EAAG,EAAG,EAAG,GAEjD,EADiB,EAAK,kBACE,GACxB,EAAW,IAEb,EAAW,GAEP,EAAD,SAAS,CAAC,EAAU,OAEvB,EAAE,GAAG,2BAA2B,SAAC,GAC7B,MAAW,EAAK,sBAAsB,EAAG,EAAG,EAAG,GAEjD,EADiBmjB,EAAK,kBACE,GACxB,EAAW,IAEb,EAAW,GAEP,EAAD,SAAS,CAAC,EAAU,QAInB,EAAF,wBAAR,SAAsB,KAEZ,EAAF,yBAAR,SAAuB,GAAnB,IAAJ,OACM,EAAW,KACX,EAAE,GAAG,0BAA0B,SAAC,GAC5B,EAAK,CACD,EAAL,EAAG,EACE,EAAL,EAAG,MAGN,EAAE,GAAG,qBAAqB,SAAC,GACvB,GAAD,EAAC,CAGA,MAAW,EAAK,sBAAsB,EAAS,EAAG,EAAS,GAC3D,EAAW,EAAK,sBAAsB,EAAG,EAAG,EAAG,GAC/C,EAAe,EAAK,kBACpB,EAAU,EAAa,GAAK,EAAa,GACzC,EAAQ,EAAK,WACb,EAAS,EAAW,EACtB,EAAS,EAEP,EAAa,GAAK,EAAS,EAAM,IACnC,EAAK,SAAS,CAAC,EAAa,GAAK,EAAQ,EAAa,GAAK,IAE3D,EAAK,SAAS,CAAC,EAAM,IAAK,EAAM,IAAM,IAG/B,EAAS,IACd,EAAS,GAAK,EAAa,GAAK,EAAS,EAAM,IACjD,EAAK,SAAS,CAAC,EAAa,GAAK,EAAQ,EAAa,GAAK,IAE3D,EAAK,SAAS,CAAC,EAAM,IAAM,EAAS,EAAM,OAGxC,EAAK,CACT,EAAG,EAAG,EACN,EAAG,EAAG,OAGV,EAAM,GAAG,wBAAwB,SAAC,GAChC,EAAW,SAIP,uBAAR,SAAmB,GACb,KAAC,UAAU,MAAO,GAClB,KAAC,UAAU,MAAO,IAGd,EAAF,oBAAR,SAAkB,EAAM,GAClB,IAAE,EAAW,KAAK,IAAI,SACpB,EAAQ,EAAS,MACjB,EAAa,EAAS,MACtB,EAAQ,KAAK,IAAI,GACjB,EAAa,KAAK,mBAAmB,EAAM,GAC3C,EAAU,SAAS,EACrB,KAAC,SAAS,EAAO,CACb,YACN,GAAI,KAAK,aAAa,GACtB,KAAM,gBAAgB,EAChB,MAAD,uCACK,EAAL,EACK,EAAL,EACK,KAAF,GACH,GACA,MAMC,EAAF,6BAAR,SAA2B,EAAM,GAC3B,IACA,EAAY,SACZ,EAAe,SA0Bf,OA5Be,KAAK,cAKtB,EAAY,QAGR,EAFU,SAAV,EACW,QAAT,EACa,MAEA,SAGF,OAGH,SAAV,GACF,EAAe,MAEb,EADW,QAAT,EACU,QAEA,QAGd,EAAY,QACZ,EAAe,UAGZ,CACC,UAAG,EACH,aAAM,IAIR,wBAAR,SAAoB,EAAW,EAAW,EAAY,GACpD,IAAM,EAAU,KAAK,IAAI,QACjB,EAA8B,EAA1B,KAAE,EAAwB,EAAX,cAAE,EAAS,EAAL,KAC3B,EAAa,KAAK,aAEpB,EAAQ,EACR,EAAS,EACR,IACG,EAAE,EAAa,EAJR,GAMV,IACH,EAAS,EAPI,EAOkB,GAEjC,IAAM,EAAO,GAaT,MAZS,UAAT,GACF,EAAK,KAAK,CAAC,IAAK,EAAG,IACb,EAAD,KAAK,CAAC,IAAK,EAAI,EAAO,IAC3B,EAAK,KAAK,CAAC,IAAK,EAAI,EAAO,EAAI,IAC/B,EAAK,KAAK,CAAC,IAAK,EAAG,EAAI,IACjB,EAAD,KAAK,CAAC,QAEX,EAAK,KAAK,CAAC,IAAK,EAAI,EAAO,IAC3B,EAAK,KAAK,CAAC,IAAK,EAAI,EAAO,EAAI,IACzB,EAAD,KAAK,CAAC,IAAK,EAAG,EAAI,IACjB,EAAD,KAAK,CAAC,OAEN,GAGD,qBAAR,SAAiB,GACX,IACE,EADU,KAAK,IAAI,QACH,MAClB,KAAC,SAAS,EAAO,CACnB,KAAM,OACN,GAAI,KAAK,aAAa,QACtB,KAAM,cACN,MAAK,oBACH,KAAM,KAAK,YAAY,EAAG,IACvB,MAMD,0BAAR,SAAsB,GAChB,IAOA,EAPE,EAAQ,EAAO,OACjB,IAAC,EACH,OAAO,KAEL,GAAU,IAAV,EACF,OAAO,EAAO,GAKR,EAFJ,KAAK,aAEC,QAEA,OAEN,IAAC,IAAI,EAAI,EAAG,EAAI,EAAO,IAAK,CAExB,GAAG,IADO,GAAK,EAAQ,GACT,IAAI,EAAO,GAE7B,OAAG,GAGC,EAAF,uBAAR,SAAqB,GACf,IACE,EADY,KAAK,aAAa,GACb,KAAK,QAC5B,OAAO,gBAAM,IAGP,8BAAR,SAA0B,GACpB,IAMA,EACA,EACA,EACA,EATE,EAAQ,KAAK,kBACZ,EAAY,EAAT,GAAE,EAAO,EAAJ,GACT,EAAW,KAAK,YAAY,GAC5B,EAAa,KAAK,gBAAgB,EAAK,GACvC,EAAW,KAAK,gBAAgB,EAAK,GAiBvC,OAhBe,KAAK,cAMtB,EAAI,EAAS,KACb,EAAI,EAAW,EACf,EAAQ,EAAS,MACX,EAAG,EAAS,EAAI,EAAW,IAE3B,EAAF,EAAW,EACT,EAAF,EAAS,KACb,EAAQ,EAAS,EAAI,EAAW,EAChC,EAAS,EAAS,QAEb,CACL,EAAC,EACD,EAAC,EACD,MAAK,EACL,OAAM,IAKF,0BAAR,SAAsB,GAChB,IAAE,EAAW,KAAK,IAAI,SACpB,EAAS,KAAK,IAAI,UAClB,EAAO,KAAK,aAAa,GAC3B,OAAG,cACL,CACQ,KAAF,EACJ,KAAM,KAAK,cAAc,IAE3B,EAAS,QAIL,2BAAR,SAAuB,GACjB,IAAE,EAAY,GAAU,KAAK,IAAI,SAC/B,EAAU,KAAK,aAAa,SAC5B,EAAa,EAAU,SAAS,GAChC,EAAY,EAAW,UACvB,EAAQ,KAAK,kBAAkB,GAChC,EAMH,EAAU,KAAK,GALf,EAAW,QAAQ,CACjB,KAAM,OACN,MAAK,KAOH,uBAAR,SAAmB,GACjB,IAAM,EAAU,KAAK,aAAa,SAC5B,EAAa,EAAM,SAAS,GAC5B,EAAa,KAAK,cAAc7S,GAClC,EACF,EAAW,KAAK,GAEhB,KAAK,SAAS,EAAO,CACnB,KAAM,OACN,GAAI,EACJ,UAAW,KAAK,IAAI,YACpB,KAAM,eACN,MAAO,KAKL,4BAAR,SAAwB,EAAO,GACvB,MAAe,KAAK,WAAlB,EAAG,MACL,GAAW,EAAQ,IADT,MACuBmO,GACjC,EAAO,KAAK,YAAY,GAExB,EAAQ,CAAE,EAAG,EAAG,EAAG,GAQrB,OATc,KAAK,cAGrB,EAAM,EAAI,EAAK,KAAO,EAAK,MAAQ,EAC7B,IAAI,EAAkB,EAAK,KAAM,EAAK,KAAM,KAElD,EAAM,EAAI,EAAkB,EAAK,KAAM,EAAK,KAAM,GAClD,EAAM,EAAI,EAAK,KAAO,EAAK,OAAS,GAE/B,GAGD,yBAAR,SAAqB,GAEf,OADc,GAAU,KAAK,IAAI,UACpB,SAAS,KAAK,aAAa,UAItC,wBAAR,SAAoB,GAGd,OAFc,KAAK,aAAa,GACb,WAIjB,8BAAR,WAIM,OAHc,KAAK,IAAI,SACC,SAAS,KAAK,aAAa,SAChC,iBAKjB,uBAAR,WACE,MAA8B,aAAvB,KAAK,IAAI,WAIV,kCAAR,SAA8B,EAAG,GACzB,MAAe,KAAK,WAAlB,EAAG,MAAE,EAAG,MACV,EAAO,KAAK,oBACZ,EAAY,KAAK,aACjB,EAAO,KAAK,IAAI,QASlB,EAAQ,EAAkB,EAAK,EAP/B,GAES,EAAI,EAAK,MAAQ,EAAK,QAGtBzU,EAAI,EAAK,MAAQ,EAAK,OAG/B,IAEI,EAAE,EADM,KAAK,OAAO,EAAQ,GAAO,GACnB,GAQpB,OANA,EAAQ,IACJ,EAAE,GAEN,EAAQ,IACJ,EAAE,GAEH,GAIC,EAAF,0BAAR,WACM,MAAQ,KAAK,IAAI,SAKjB,OAJC,IAEH,EAAQ,CAAC,KAAK,IAAI,OAAQ,KAAK,IAAI,SAE9B,GAIC,EAAF,wBAAR,SAAsB,GAChB,IAAE,EAAe,KAAK,kBACnB,EAAY,EAAT,GAAE,EAAO,EAAJ,GACX,KAAC,aAAa,EAAO,MAAO,GAC5B,KAAC,aAAa,EAAO,MAAO,IAGxB,EAAF,yBAAR,SAAuB,EAAY,GAC7B,IAAE,EAAa,KAAK,aAClB,EAAO,GACP,EAAQ,EAAW,KACjB,EAAS,EAAR,EAAE,EAAM,EAAL,EACN,EA7emB,IA6eV,EACT,EAAY,EAAQ,EACpB,EAAgB,EAAQ,EAC1B,KAAY,CAQd,IAAM,EAAY,EAvfO,GAufH,EACtB,EAAK,KAAK,CAAC,IAAK,EAAG,IACnB,EAAK,KAAK,CAAC,IAAK,EAAW,EAAI,IAC/B,EAAK,KAAK,CAAC,IAAK,EAAI,EAAQ,EAAI,IAC1B,EAAD,KAAK,CAAC,IAAK,EAAI,EAAQ,EAAI,IAChC,EAAK,KAAK,CAAC,IAAK,EAAW,EAAI,IAC/B,EAAK,KAAK,CAAC,MAEL,EAAD,KAAK,CAAC,IAAK,EAAW,EAAI,IACzB,EAAD,KAAK,CAAC,IAAK,EAAI,EAAS,EAAG,EAAI,IAC9B,EAAD,KAAK,CAAC,IAAK,EAAW,EAAI,IACzB,EAAD,KAAK,CAAC,IAAK,EAAI,EAAS,EAAG,EAAI,QAC/B,CAQL,IAAM,EAAY,EA3gBO,GA2gBH,EACtB,EAAK,KAAK,CAAC,IAAK,EAAG,IACnB,EAAK,KAAK,CAAC,IAAK,EAAI,EAAW,IAC/B,EAAK,KAAK,CAAC,IAAK,EAAI,EAAW,EAAI,IAC7B,EAAD,KAAK,CAAC,IAAK,EAAI,EAAW,EAAI,IAC7B,EAAD,KAAK,CAAC,IAAK,EAAI,EAAW,IAC/B,EAAK,KAAK,CAAC,MAEL,EAAD,KAAK,CAAC,IAAK,EAAI,EAAe,IAC7B,EAAD,KAAK,CAAC,IAAK,EAAI,EAAe,EAAI,EAAS,IAChD,EAAK,KAAK,CAAC,IAAK,EAAI,EAAe,IACnC,EAAK,KAAK,CAAC,IAAK,EAAI,EAAe,EAAI,EAAS,IAE9C,OAAG,GAID,yBAAR,SAAqB,EAAe,EAAM,GACpC,IAAE,EAAQ,KAAK,gBAAgB,EAAO,GACpC,EAAa,KAAK,IAAI,WACtB,EAAO,KAAK,eAAe,EAAY,GACvC,EAAK,KAAK,aAAa,WAAW,GAClC,EAAe,EAAM,SAAS,GAC9B,EAAa,KAAK,aACpB,EACI,EAAO,KAAK,OAAQ,GAEpB,KAAD,SAAS,EAAO,CACnB,KAAM,OACN,KAAM,kBAAkB,EACxB,WAAW,EACX,GAAE,EACF,MAAK,uCACH,KAAI,GACD,EAAW,OAAK,CACnB,OAAQ,EAAa,YAAc,iBAQnC,0BAAR,SAAsB,GAChB,IAAE,EAAY,EAAM,SAAS,KAAK,aAAa,SAC7C,EAAW,EAAM,SAAS,KAAK,aAAa,cAC5C,EAAW,EAAM,SAAS,KAAK,aAAa,cAC5C,EAAahK,KAAK,eACpB,KAAK,aAEP,KAAK,aAAa,EAAU,EAAU,EAAW,GAGjD,KAAK,gBAAgB,EAAU,EAAU,EAAW,IAI9C,EAAF,wBAAR,SAAsB,EAAc,EAAc,EAAU,GACtD,IACE,EADa,KAAK,aACS,SAAW,QACtC,EAAW,KAAK,IAAI,SACpB,EAAa,EAAS,MACtB,EAAU,EAAS,QACnB,EAAY,KAAK,IAAI,MAAM,qBAAW,IACxC,KAAW,CACP,IAIA,GAHW,SAAf,EACI,EAAS,GAAe,EAAa,GAAe,EAAa,GAAyB,EAAV,EAChF,EAAS,IACe,EAC1B,EAAO,GAET,KAAK,iBAAiB,EAAW,EAAa,EAAS,GAAe,KAKlE,EAAF,2BAAR,SAAyB,EAAW,EAAa,GAC3C,IACA,EADE,EAAO,EAAU,UAGf,EADY,WAAhB,EACK,KAAK,YAAY,EAAK,EAAG,EAAK,EAAG,EAAK,MAAO,GAE7C,KAAK,YAAY,EAAK,EAAG,EAAK,EAAG,EAAQ,EAAK,QAEnD,EAAM,KAAK,OAAQ,IAGf,EAAF,6BAAR,SAA2B,EAAW,EAAG,GACnC,IAAE,EAAO,EAAU,UACjB,EAAO,KAAK,YAAY,EAAG,EAAG,EAAK,MAAO,EAAK,QACrD,EAAU,KAAK,OAAQ,IAGjB,4BAAR,SAAwB,EAAoB,EAAoB,EAAqB,GAC/E,IAAE,EAAW,KAAK,IAAI,SACpB,EAAa,EAAS,MACtB,EAAU,EAAS,QACrB,EAAW,EAAU,UACnB,EAAe,EAAS,UACxB,EAAe,EAAS,UACxB,EAAa,EAAS,OACxB,KAAC,cAAc,EAAc,EAAc,EAAU,GACrD,EAAO,EAAU,UACF,SAAf,GAEI,EAAG,KAAK,CACZ,EAAG,EAAW,EACN,EAAL,EAAW,EAAI,EAAa,IAE3B,KAAD,mBAAmB,EAAW,EAAW,EAAI,EAAa,MAAQ,EAAS,EAAW,GAC3F,EAAS,KAAK,CACZ,EAAG,EAAW,EAAI,EAAa,MAAQ,EAAS,MAAkB,EAAV,EACxD,EAAG,EAAW,EAAI,EAAa,KAET,QAAf,GACH,EAAG,KAAK,CACZ,EAAG,EAAW,EACd,EAAG,EAAW,IAEV,EAAG,KAAK,CACZ,EAAG,EAAW,EAAI,EAAS,MAC3B,EAAG,EAAW,IAEV,KAAD,mBAAmB,EAAW,EAAW,EAAG,EAAW,EAAI,EAAa,OAAS,KAEhF,KAAD,mBAAmB,EAAW,EAAW,EAAG,EAAW,GACtD,EAAG,KAAK,CACJ,EAAL,EAAW,EACd,EAAG,EAAW,EAAI,EAAS,OAAS,IAEhCkwB,EAAG,KAAK,CACJlmB,EAAL,EAAW,EAAI,EAAS,MACnBvH,EAAL,EAAW,EAAI,EAAS,OAAS,MAKlC,yBAAR,SAAqB,EAAoB,EAAoB,EAAqB,GAChF,IAAM,EAAW,KAAK,IAAI,SACpB,EAAa,EAAS,MACtB,EAAU,EAAS,QACrB,EAAW,EAAU,UACnB,EAAe,EAAS,UACxB,EAAe,EAAS,UAI9B,GAHA,KAAK,cAAc,EAAc,EAAc,EAAU,GACzD,EAAW,EAAU,UAEF,SAAf,EAEF,EAAS,KAAK,CACZ,EAAG,EAAW,EACd,EAAG,EAAW,IAEhB,KAAK,mBAAmB,EAAW,EAAW,EAAG,EAAW,EAAI,EAAa,OAAS,GACtF,EAAS,KAAK,CACZ,EAAG,EAAW,EACd,EAAG,EAAW,EAAI,EAAa,OAAS,EAAS,OAAmB,EAAV,SAEvD,GAAmB,UAAf,EACT,EAAS,KAAK,CACZ,EAAG,EAAW,EAAI,EAAS,MAAQ,EACnC,EAAG,EAAW,IAEhB,KAAK,mBAAmB,EAAW,EAAW,EAAG,EAAW,GAC5D,EAAS,KAAK,CACZ,EAAG,EAAW,EAAI,EAAS,MAAQ,EACnC,EAAG,EAAW,EAAI,EAAS,aAExB,CAEL,IAAM,EAAgB,KAAK,IAAI,EAAa,MAAO,EAAa,OAChE,EAAS,KAAK,CACZ,EAAG,EAAW,EACd,EAAG,EAAW,IAEhB,KAAK,mBAAmB,EAAW,EAAW,EAAI,EAAgB,EAAS,EAAW,GACtF,EAAS,KAAK,CACZ,EAAG,EAAW,EACd,EAAG,EAAW,EAAI,EAAS,WAInC,EAhsBA,CAA6B,I,SCVhB,GAAkB,aAClB,GAAc,mBACd,GAAa,kBACb,GAAkB,uBAClB,GAAe,oBACf,GAAc,mBACd,GAAa,kBACb,GAAc,yBACd,GAAc,yBCH3B,YAEG,GAAG,IAA6B,CAC/B,SAAU,WACR,WAAU,UAGV,OAAM,EACN,WACA,oIAGA,gBAAe,2BACf,UAAS,uBACT,aAAY,MACZ,MAAK,kBACL,SAAQ,OACR,WAAU,EAAM,WAChB,WAAU,OACV,QAAO,sBAEX,GAAC,GAAG,IAAyB,CACzB,aAAY,OAEhB,GAAC,GAAG,IAAwB,CACxB,OAAM,MACN,cAAa,OACb,QAAO,OAEX,GAAC,GAAG,IAA6B,CAC7B,cAAa,OACb,aAAY,OAEhB,GAAC,GAAG,IAA0B,CAC1B,MAAK,MACL,OAAM,MACN,aAAY,MACZ,QAAO,eACP,YAAW,OAEf,GAAC,GAAG,IAAyB,CACzB,QAAO,eACP,MAAK,QACL,WAAU,QAEd,GAAC,GAAG,IAAyB,CACzB,SAAQ,WACR,MAAK,MACL,gBAAe,uBAEnB,GAAC,GAAG,IAAyB,CACzB,SAAQ,WACR,OAAM,MACN,gBAAe,uBAEnB,ICpCF,IA6Ue,GA7Uf,YAAE,SAAF,I,+CA2UA,OA3UyD,yBAChD,0BAAP,WACE,IAAM,EAAM,YAAM0tB,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,eACA,YACA,EAAH,EACG,EAAH,EACG,MAAC,GACD,cAAS,KACT,aAAQ,eAAe,GAAwB,iBAAiB,GAAoB,sBAAsB,GAAmB,gBAC7H,QAAG,cAAc,GAAwB,iDAC5B,GAAqB,gEACrB,GAAmB,4CACnB,GAAoB,kCAEvC,cAAe,eAAe,GAAoB,WAC5C,cAAS,eAAe,GAAoB,WAClD,MAAO,KACP,WAAW,EAKX,OAAQ,KAER,iBAAkB,KAClB,mBAAoB,GAEpB,WAAY,KACZ,OAAQ,GACR,SAAU,QACV,UAAW,KACX,cAAe,MAKZ,mBAAP,WACMnwB,KAAK,IAAI,iBACX,KAAK,uBAEL,KAAK,aACL,KAAK,eAGH,KAAC,iBAIA,kBAAP,WAEM,KAAC,kBACD,KAAC,SAAS,IACV,KAAC,iBAGA,iBAAP,WACE,IAAM,EAAY,KAAK,eAClB,IAAa,KAAK,YAInBA,KAAC,IAAI,WAAW,GAChB,OAAJ,aAAI,CAAM,EAAW,CACnB,WAAY,YAEd,KAAK,sBAAqB,KAGrB,iBAAP,WACM,IAAE,EAAY,KAAK,eAElB,IAAa,KAAK,YAGnB,KAAC,IAAI,WAAW,GAChB,OAAJ,aAAI,CAAM,EAAW,CACb,WAAM,WAEd,KAAK,sBAAqB,KAInB,EAAF,sBAAP,WACM,MAAG,CAAE,EAAGA,KAAK9C,IAAI,KAAM,EAAG,KAAK,IAAI,OAGhC,EAAF,sBAAP,SAAmB,GACb,KAAC,IAAI,IAAK,EAAM,GAChB,KAAC,IAAI,IAAK,EAAMuF,GAChB,KAAC,iBAGA,iCAAP,SAA4B,GAC1B,IAAM,EAAU,EAAU,GAAK,OACzB,EAAgB,KAAK,IAAI,iBACzB,EAAgB,KAAK,IAAI,iBAC3B,GACF,qBAAU,EAAe,CACvB,QAAO,IAEP,GACF,qBAAU,EAAe,CACvB,QAAO,KAKH,0BAAV,WAEE,GADA,YAAM,cAAa,WACf,KAAK,IAAI,iBAAkB,CACzB,KAAK,IAAI,cACX,KAAK,IAAI,aAAa,SAExB,IAAM,EAAY,KAAK,qBACvB,KAAK,IAAI,UAAU,YAAY,GAC/B,KAAK,IAAI,YAAa,GACtB,KAAK,cACL,KAAK,gBAKC,wBAAV,SAAsB,GAxIxB,IAAmB,EAAK,EAClB,EAwIE,KAAK,IAAI,iBACX,KAAK,uBA1IQ,EA6IC,EA7II,EA6IC,CAAC,QAAS,aA5I7B,GAAS,EACX,OAAF,OAAE,CAAG,GAAM,SAAC,GACN,oBAAO,EAAK,GAEd,OADA,GAAS,GACF,KAGJ,GAsID,KAAK,aAGH,iBAAO,EAAK,UACd,KAAK,eAGL,EAAJ,UAAM,YAAW,UAAC,IAGV,oBAAV,WACE,KAAK,aAGG,sBAAV,WACM,EAAJ,UAAM,UAAS,WACX,KAAC,mBAGG,0BAAV,WACM,IASA,EATE,EAAI,KAAK,IAAI,KACb,EAAI,KAAK,IAAI,KACb,EAAS,KAAK,IAAI,UAClB,EAAuB,KAAK,YAA1B,EAAO,UAAE,EAAO,UAClB,EAAW,KAAK,IAAI,YACpB,EAAS,KAAK,IAAI,UAClB,EAAY,KAAK,eACjB,EAAO,KAAK,UACV,EAAkB,EAAb,MAAE,EAAW,EAAL,OAEjB,IAEI,EAAK,EAAa,IAEtB,IAAE,EChIJ,SACJ,EACA,EACA,EACA,EACA,EACA,EACA,GAEE,IAAI,EAlDF,SACJ,EACA,EACA,EACA,EACA,EACA,GAEE,IAAE,EAAK,EACL,EAAK,EACP,OAAM,GACF,IAAC,OACG2tB,EAAD,EAAI,EAAQ,EACXC,EAAD,EAAI,EAAS,EACZ,MACJ,IAAC,QACG,EAAD,EAAI,EACH,EAAD,EAAI,EAAS,EACZ,MACJ,IAAC,MACH,EAAK,EAAI,EAAQ,EACjB,EAAK,EAAI,EAAS,EAClB,MACE,IAAC,SAEH,EAAK,EAAI,EAAQ,EACjB,EAAK,EAAI,EACT,MACF,QAEE,EAAK,EAAI,EACT,EAAK,EAAI,EAAS,EAIpB,MAAK,CACD,EAAD,EACC,EAAD,GAaS,CAAmB,EAAG,EAAG,EAAQ,EAAO,EAAQ,GAC5D,GAAE,EAAU,CACR,IAAE,EA9DJ,SAAsB,EAAW,EAAW,EAAe,EAAgB,GAO7E,MANW,CACX,KAAM,EAAI,EAAS,EACnB,MAAO,EAAI,EAAQ,EAAS,EAAI,EAAS,MACzC,IAAK,EAAI,EAAS,EAClB,OAAQ,EAAI,EAAS,EAAS,EAAI,EAAS,QAyD1B,CAAY,EAAM,EAAG,EAAM,EAAG,EAAO,EAAQ,GAC7C,SAAb,GAEE,EAAS,QACX,EAAM,EAAI,KAAK,IAAI,EAAG,EAAI,EAAQ,IAEhC,EAAS,MACX,EAAM,EAAI,KAAK,IAAI,EAAG,EAAI,EAAS,KAEf,QAAb,GAAmC,WAAb,GAC3B,EAAS,OAEX,EAAM,EAAI,EAAS,GAEjB,EAAS,QAEX,EAAM,EAAI,EAAS,EAAI,EAAS,MAAQ,GAEzB,QAAb,GAAsB,EAAS,MAEjC,EAAM,EAAI,EAAI,GAEC,WAAb,GAAyB,EAAS,SACpC,EAAM,EAAI,EAAI,EAAS,KAIrB,EAAS,MACX,EAAM,EAAI,EAAS,GAEjB,EAAS,SACX,EAAM,EAAI,EAAS,EAAI,EAAS,OAAS,GAE1B,SAAb,GAAuB,EAAS,OAClC,EAAM,EAAI,EAAI,GAEC,UAAb,GAAwB,EAAS,QACnC,EAAM,EAAI,EAAI,EAAQ,IAI5B,OAAO,ED4ES,CAAc,EAAG,EAAG,EAAQ,EAAO,EAAQ,EAAU,GAC/D,OAAJ,aAAI,CAAM,EAAW,CACb,OAAK,EAAM,EAAI,GACf,IAAD,EAAK,EAAM,EAAI,KAElB,KAAC,mBAIC,gCAAR,WACM,IAAE,EAAO,KAAK,qBACZ,EAAsB,KAAK,IAAI,UAC/B,EAA4B,KAAK,IAAI,aACvC,GAAgB,EAAa,aAAe,EAC9C,EAAO,aAAa,EAAM,GAE1B,EAAO,YAAY,GAEjB,KAAC,IAAI,YAAa,GAClB,KAAC,cACD,KAAC,eAGG,EAAF,6BAAR,WACM,MACE,EAAgB,KAAK,IAAI,iBAC/B,GAAI,EAAe,CACjB,IAAM,EAAO,EAAc,KAAK,IAAI,SAAU,KAAK,IAAI,UAErD,EADE,oBAAU,GACL,EAEA,qBAAU,GAGrB,OAAO,GAIC,EAAF,oBAAR,WACM,IAAE,EAAY,KAAK,eACjB,EAAW,EAAU,uBAAuB,IAAsB,GAClE,EAAU,EAAU,uBAAuB,IAAqB,GAClE,KAAC,IAAI,WAAY,GACjB,KAAC,IAAI,UAAW,IAIZ,EAAF,qBAAR,WACM,IAAE,EAAQ,KAAK,IAAI,SACL,KAAK,IAAI,cACV,EACT,KAAD,SAAS,GAER,KAAD,SAAS,KAIR,EAAF,mBAAR,SAAiB,GACX,IAAE,EAAW,KAAK,IAAI,YACtB,IACI,EAAG,UAAY,IAIf,EAAF,0BAAR,WACM,IAAE,EAAmB,KAAK,IAAI,oBAC5B,EAAa,KAAK,IAAI,cAC5B,GAAK,GAAqB,EAGnB,CACL,IAAM,EAAe,EAAa,GAC5B,EAAgB,KAAK,IAAI,iBACzB,EAAgB,KAAK,IAAI,iBACZ,MAAf,GACM,KAAH,eAAe,IAAK,GAErB,IACF,EAAc,SACd,KAAK,IAAI,gBAAiB,QAEJ,MAAf,GACD,KAAH,eAAe,IAAK,GAErB,IACF,EAAc,SACd,KAAK,IAAI,gBAAiB,SAG5B,KAAK,eAAe,IAAK,GACzB,KAAK,eAAe,IAAK,IAE3B,KAAK,qBAAqB,KAAK,IAAI,iBAvBnC,KAAK,mBA2BC,EAAF,yBAAR,SAAuB,EAAc,GAC/B,IAAE,EAAc,KAAK,eAAe,GAClC,EAAQ,KAAK,IAAI,GACV,MAAT,EACF,qBAAU,EAAa,CACrB,KAAM,EAAK,GACX,IAAK,EAAK,EAAK,GACf,OAAQ,EAAK,EAAK,UAGpB,qBAAU,EAAa,CACrB,IAAK,EAAK,GACV,KAAM,EAAK,EAAK,GAChB,MAAO,EAAK,EAAK,UAMb,EAAF,yBAAR,SAAuB,GACjB,IAAE,EAAa,EAAI,eACjB,EAAa,EAAI,eACjB,EAAY,aAAa,EAAK,cAC9B,EAAY,EAAS,GACvB,EAAc,KAAK,IAAI,GACrB,EAAS,KAAK,IAAI,UAOpB,OANC,IACH,EAAc,qBAAU,KAAK,IAAI,IACjC,KAAK,WAAW,EAAW,GAC3B,EAAO,YAAY,GACnB,KAAK,IAAI,EAAS,IAEb,GAGD,wBAAR,WACE,KAAK,gBACL,IAAM,EAAQ,KAAK,IAAI,SACjB,EAAU,KAAK,IAAI,WACnB,EAAU,KAAK,IAAI,WACrB,IACF,eAAK,GAAO,SAAC,GACX,IAAM,EAAQ,WAAU,cAAc,EAAK,OACrC,EAAa,yCACd,GAAI,CACP,MAAK,IAGD,EAAS,qBAAW,EAAS,GAC7B,EAAU,qBAAU,GAC1B,EAAQ,YAAY,MAEtB,KAAK,oBAAoB,EAAS,KAAK,IAAI,gBAIvC,0BAAR,WACM,KAAK,IAAI,YACX,EAAS,KAAK,IAAI,aAId,4BAAR,WACE,IAAM,EAAgB,KAAK,IAAI,iBACzB,EAAgB,KAAK,IAAI,iBAC/B,GAAiB,EAAc,SAC/B,GAAiB,EAAc,SAC/B,KAAK,IAAI,gBAAiB,MAC1B,KAAK,IAAI,gBAAiB,OAE9B,EA3UA,CAAyD,IExB5C,GAAmB,CAE5BlS,QAAO,GAGE,GAAa,CACtBmS,OAAM,UACR,cAAe,KAGJ,GAAa,CACxB,KAAM,UACN,QAAS,K,kBCUL,SAAU,GAAY,GAC1B,OAbF,SAAsB,GAClB,OAAK,cAAI,GAAQ,SAAC,EAAU,GAG5B,MAAO,CAFiB,IAAR,EAAY,IAAM,IACnB,EAAP,GAAO,EAAJ,OAUN,CAAa,GAwChB,SAAU,GAAW,EAAgB,EAAe,EAAgB,sBAEtE,IAAI,EAAI,IAAI,UAAO,CACnB,OAAQ,IAGJ,EAAI,IAAI,YAAS,CACrB,OAAQ,cAAI,GAAM,SAAC,EAAG,GAAQ,cAG1B,EAAS,cAAI,GAAM,SAAC,EAAW,GACnC,MAAO,CAAC,EAAE,MAAM,GAAO,EAAO,EAAS,EAAE,MAAM,GAAK,MAGpD,OAAK,EA/CH,SAA4B,GAC9B,GAAE,EAAO,QAAU,EAEf,OAAG,GAAY,GAGnB,IAAI,EAAO,GAEX,OAAF,OAAE,CAAG,GAAQ,SAAC,GAEP,kBAAQ,EAAG,EAAK,MAAM,EAAK,OAAS,KACvC,EAAK,KAAK,EAAE,GAAI,EAAE,OAQtB,IAAM,EAAO,aAAkB,GAAM,GAC/B,EAAS,eAAK,GAAb,EAAC,KAAE,EAAC,KAGX,OAFA,EAAK,QAAQ,CAAC,IAAK,EAAG,IAEf,EAwBS,CAAkB,GAAU,GAAY,GCvD1D,mBAAE,SAAF,I,+CAsEA,OAtE2B,yBAClB,0BAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,aACN,EAAG,EACH,EAAG,EACH,MAAO,IACP,OAAQ,GACF,QAAE,EACF,QAAE,EACF,QACA,gBAAW,GACX,UAAK,GACL,UAAK,MAIL,wBAAV,SAAsB,GACd,MAAiF,KAAK,IAApF,EAAK,QAAE,EAAM,SAAE,EAAI,OAAE,EAAM,SAAE,EAAM,SAAE,EAAe,kBAAE,EAAS,YAAE,EAAS,YAG9E,KAAC,SAAS,EAAO,CACnB,GAAI,KAAK,aAAa,cACtB,KAAM,OACN,MAAK,oBACH,EAAG,EACH,EAAG,EACH,MAAK,EACL,OAAM,GACH,KAIP,IAAM,EAAO,GAAW,EAAM,EAAO,EAAQ,GAa7C,GAXA,KAAK,SAAS,EAAO,CACnB,GAAI,KAAK,aAAa,QACtB,KAAM,OACN,MAAK,oBACH,KAAI,GACD,KAMH,EAAQ,CACV,IAAM,EDeN,SAA6B,EAAe,EAAe,GAC/D,IAAM,EAAQ,yBAAO,GAMrB,OAJA,EAAS,KAAK,CAAC,IAAK,EAAO,IAC3B,EAAS,KAAK,CAAC,IAAK,EAAG,IACvB,EAAS,KAAK,CAAC,MAER,ECtBc,CAAmB,EAAM,EAAO,GACjD,KAAK,SAAS,EAAO,CACnB,GAAI,KAAK,aAAa,QACtB,KAAM,OACN,MAAK,oBACH,KAAM,GACH,OAMD,wBAAV,WACQ,MAAW,KAAK,IAAd,EAAC,IAAE,EAAC,IAGZ,KAAK,cAAc,KAAK,IAAI,SAAU,CACpC,EAAC,EACD,EAAC,KAGP,EAtEA,CAA2B,GClBd,GAAmB,CAC5B,KAAI,UACN,QAAS,KAGE,GAAmB,CAC5B,KAAI,UACN,QAAS,IACT,OAAQ,QAKG,GAAgB,CACzB,MAHiC,GAIjC,OAAM,IAGG,GAAa,CACxB,aAAc,SACd,KAAM,OACN,QAAS,KCFL,GAAgB,CAClB,KAAI,UACJ,OAAM,UACN,OAAM,EACN,QAAO,EACP,OAAM,YAEN,cAAa,QAGjB,eAAE,SAAF,I,+CAqGA,OArG6B,yBAClB,EAAF,wBAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACN,KAAM,UACN,EAAG,EACH,EAAG,EACH,MAAO,GACP,OAAQ,GACR,MAAO,MAGD,wBAAV,SAAsB,GACd,MAA2B,KAAK,IAA9B,EAAK,QAAE,EAAM,SAAE,EAAK,QACpB,EAA0C,EAAtC,KAAE,EAAoC,EAA9B,OAAE,EAA4B,EAAtB,OAAE,EAAoB,EAAb,QAAE,EAAW,EAAL,OAGzC,KAAC,SAAS,EAAO,CACb,YACA,GAAF,KAAK,aAAa,cAChB,MAAC,CACL,EAAG,EACH,EAAG,EACH,MAAK,EACL,OAAM,EACN,KAAI,EACI,OAAF,EACE,OAAF,EACE,QAAD,EACC,OAAF,KAKV,IAAM,EAAM,EAAI,EAAK,EACf,EAAM,EAAI,EAAK,EAEf,EAAM,EAAI,EAAK,EACf,EAAM,EAAI,EAAK,EAErB,KAAK,SAAS,EAAO,CACnB,GAAI,KAAK,aAAa,aACtB,KAAM,OACN,MAAO,CACL,GAAE,EACF,GAAE,EACF,GAAI,EACJ,GAAE,EACF,OAAM,EACN,OAAM,KAIN,KAAC,SAAS,EAAO,CACb,GAAF,KAAK,aAAa,cACtB,KAAM,OACN,MAAO,CACL,GAAI,EACJ,GAAE,EACF,GAAE,EACF,GAAE,EACF,OAAM,EACN,OAAM,MAKF,wBAAV,WACE,KAAK,cAAc,KAAK,IAAI,SAAU,CACpC,EAAG,KAAK,IAAI,KACZ,EAAG,KAAK,IAAI,QAIN,sBAAV,WACE,KAAK,cAGC,uBAAR,sBACE,KAAK,IAAI,SAAS,GAAG,cAAc,WACzB,MAAkB,EAAK,IAAI,SAAd,cACrB,EAAK,oBAAoB,cAAc,KAAK,OAAQ,GAEpD,EAAK,UAGP,KAAK,IAAI,SAAS,GAAG,cAAc,WACzB,MAAS,EAAK,IAAI,SAAd,KACZ,EAAK,oBAAoB,cAAc,KAAK,OAAQ,GAEpD,EAAK,WAID,iBAAR,WACE,IAAM,EAAS,KAAK,IAAI,aAAa,IAAI,UACrC,GACF,EAAO,QAGb,EArGA,CAA6B,GCkB7B,eAAE,SAAF,IAAI,IAAJ,0C,OAoRU,cAAc,SAAC,GAAmB,gBAAC,GACzC,EAAK,cAAgB,EAErB,IAAM,EAAQ,EAAE,cAGhB,EAAM,kBACN,EAAM,iBAGN,EAAK,MAAQ,cAAI,EAAO,kBAAmB,EAAM,OACjD,EAAK,MAAQ,cAAI,EAAO,kBAAmB,EAAM,OAGjD,IAAM,EAAe,EAAK,kBAE1B,EAAa,iBAAiB,YAAa,EAAK,aAChD,EAAa,iBAAiB,UAAW,EAAK,WAC9C,EAAa,iBAAiB,aAAc,EAAK,WAGjD,EAAa,iBAAiB,YAAa,EAAK,aAChD,EAAa,iBAAiB,WAAY,EAAK,WAC/C,EAAa,iBAAiB,cAAe,EAAK,aAG5C,cAAc,SAAC,GACb,MAAU,EAAK,IAAV,MACP,EAAc,CAAC,EAAK,IAAI,SAAU,EAAK,IAAI,QAEjD,EAAM,kBACN,EAAM,iBAEN,IAAM,EAAI,cAAI,EAAO,kBAAmB,EAAM,OACxC,EAAI,cAAI,EAAO,kBAAmB,EAAM,OAGxC,EAAU,EAAI,EAAK,MAEnB,EAAe,EAAK,kBAAkB,EAAU,GAGtD,EAAK,eAAe,GAEpB,EAAK,SACH,EAAK,oBAAoB,cACzB,EAAK,oBAAoB,WACzB,EAAK,oBAAoB,YAG3B,EAAK,MAAQ,EACb,EAAK,MAAQ,EAEb,EAAK,OAGL,EAAK,KFnWoB,eEmWA,CAAC,EAAK,IAAI,SAAU,EAAK,IAAI,QAAQ,QAC9D,EAAK,aAAa,eAAgB,CAChC,YAAW,EACX,MAAO,CAAC,EAAK,IAAI,SAAU,EAAK,IAAI,WAIhC,YAAY,WAEd,EAAK,gBACP,EAAK,mBAAgB,GAGvB,IAAM,EAAe,EAAK,kBACtB,IACF,EAAa,oBAAoB,YAAa,EAAK,aACnD,EAAa,oBAAoB,UAAW,EAAK,WAEjD,EAAa,oBAAoB,aAAc,EAAK,WAGpD,EAAa,oBAAoB,YAAa,EAAK,aACnD,EAAa,oBAAoB,WAAY,EAAK,WAClD,EAAa,oBAAoB,cAAe,EAAK,a,EAuG3D,OA1c4B,yBASjB,EAAF,mBAAP,SAAgB,EAAa,GACvB,KAAC,IAAI,WAAY,GACjB,KAAC,IAAI,WAAY,GACjB,IAAE,EAAW,KAAK,IAAI,SACpB,EAAS,KAAK,IAAI,OAClB,EAAW,gBAAM,EAAU,EAAK,GAChC,EAAS,gBAAM,EAAQ,EAAK,GAC7B,KAAK,IAAI,WAAc,IAAa,GAAY,IAAW,GACxD,KAAD,SAAS,CAAC,EAAU,KAItB,qBAAP,WACE,MAAO,CACL,IAAK,KAAK,IAAI,aAAe,EAC7B,IAAK,KAAK,IAAI,aAAe,IAI1B,qBAAP,SAAgB,GACV,IAAE,EAAQ,KAAK,WACf,qBAAQ,IAA2B,IAAjB,EAAM,OAAc,CAClC,MAAc,CAAC,KAAK,IAAI,SAAU,KAAK,IAAI,QACjD,KAAK,OAAO,CACV,MAAO,gBAAM,EAAM,GAAI,EAAM,IAAK,EAAM,KACxC,IAAK,gBAAM,EAAM,GAAI,EAAM,IAAK,EAAM,OAEnC,KAAK,IAAI,qBACZ,KAAK,SAEP,KAAK,aAAa,eAAgB,CAChC,YAAW,EACX,MAAK,MAKF,EAAF,mBAAP,WACM,MAAG,CAAC,KAAK,IAAI,SAAU,KAAK,IAAI,SAG7B,EAAF,wBAAP,WACM,IAAE,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACA,cACN,EAAG,EACH,EAAG,EACH,MAAO,IACP,OAAQ,GACR,gBAAiB,GACjB,gBAAiB,GACjB,aAAc,GACd,UAAW,GACL,WAAM,CACF,gBAAS,GACT,gBAAS,GACT,aAAM,GACd,UAAW,OAKV,mBAAP,SAAc,GACJ,MAAe,EAAV,MAAE,EAAQ,EAAL,IACZ,EAAQ,sBAAQ,GACjB,gBAAM,KACHC,EAAG,MAAQ,gBAAM,EAAO,EAAG,IAE9B,gBAAM,KACT,EAAS,IAAM,gBAAM,EAAK,EAAG,IAE/B,YAAM,OAAM,UAAC,GACb,KAAK,WAAa,KAAK,sBAAsB,KAAK,aAAa,eAC3DvwB,KAAC,WAAa,KAAK,sBAAsB,KAAK,aAAa,gBAG1D,iBAAP,WACE,KAAK,IAAI,QAAS,gBAAM,KAAK,IAAI,SAAU,EAAG,IAC1C,KAAC,IAAI,MAAO,gBAAM,KAAK,IAAI,OAAQ,EAAG,IACtC,EAAJ,UAAM,KAAI,YAGF,wBAAV,SAAsB,GACd,MAYF,KAAK,IATP,GAFK,QACF,MACE,SACL,EAAM,SACN,oBAAQ,MAAG,GAAE,EACb,EAAO,UACP,EAAO,UACP,2BAAe,MAAG,GAAE,EACpB,2BAAe,MAAG,GAAE,EACpB,qBAAS,MAAG,GAAE,EACd,wBAAY,MAAG,GAAE,EAOf,eAAK,cAAI,EAAU,UACf,KAAD,aAAa,EAAK,oBACrB,UAAW,GACX,GAAI,KAAK,aAAa,SACd,EAAL,EACKyC,EAAL,EACH,MAAK,EACL,OAAM,GACH,IAKH,KAAC,SAAS,EAAO,CACb,GAAF,KAAK,aAAa,cAChB,YACA,MAAD,oBACH,EAAG,EACH,EAAG,EACH,MAAK,EACL,OAAM,GACH,KAKP,IAAM,EAAe,KAAK,SAAS,EAAO,CACxC,GAAI,KAAK,aAAa,WAChB,YACA,MAAD,oBAEH,EAAG,EAAS,EACZ,UAAW,QACX,KAAM,EACN,QAAQ,GACL,KAID,EAAe,KAAK,SAAS,EAAO,CACxC,GAAI,KAAK,aAAa,WACtB,KAAM,OACN,MAAK,oBAEH,EAAG,EAAS,EACZ,UAAW,OACX,KAAM,EACN,QAAQ,GACL,KAKD,EAAkB,KAAK,SAAS,EAAO,CACrC,GAAF,KAAK,aAAa,cAChB,kBACN,KAAM,OACN,MAAK,oBAEH,EAAG,EAEK,OAAF,GACH,KAMD,EAAgB,cAAI,EAAc,SAAU,IAG9C,KAAC,WAAa,KAAK,aAAa,EAAK,oBACvC,UAAW,GACX,GAAI,KAAK,aAAa,cACtB,KAAM,cACN,EAAG,EACH,GAAI,EAAS,GAAiB,EAC9B,MAAK,EACL,OAAQ,EACR,OAAQ,aACL,IAGL,KAAK,WAAa,KAAK,aAAa,EAAK,oBACvC,UAAW,GACX+tB,GAAI,KAAK,aAAa,cACtB,KAAM,cACN,EAAG,EACH,GAAI,EAAS,GAAiB,EACxB,MAAD,EACC,OAAE,EACF,OAAE,aACL,IAGD,KAAC,SAAS,EAAiB,EAAc,IAGrC,wBAAV,WACM,KAAC,cAAc,KAAK,IAAI,SAAU,CAC9B,EAAH,KAAK,IAAI,KACN,EAAH,KAAK,IAAI,QAIN,sBAAV,WACE,KAAK,cAGC,qBAAR,SAAiB,EAAyB,EAAsB,GACxD,MAAwD,KAAK,IAA3D,EAAK,QAAE,EAAG,MAAE,EAAK,QAAE,EAAO,UAAE,EAAO,UAAE,EAAY,eACnD,EAAMpQ,EAAQ,EACd,EAAM,EAAM,EAGd,EAAY,KAAK,IAAK,GACtB,EAAY,KAAK,QAAS,EAAM,GAGhC,IAAE,EAAe,cAAI,EAAc,QF1QN,IE6Q7B,EAAS,KAAK,OAAQ,GAC1B,EAAa,KAAK,OAAQ,GAEpB,MAAuB,KAAK,WAAW,CAAC,EAAK,GAAM,EAAc,GAAhE,EAAQ,KAAE,EAAQ,KAErB,KAAK,aACP,KAAK,WAAW,OAAO,CACrB,EAAG,EAAM,EAAe,IAErB,KAAK,IAAI,qBACZ,KAAK,WAAW,UAGhB,OAAJ,OAAI,CAAC,GAAU,SAAC,EAAG,GAAM,SAAa,KAAK,EAAlB,MAGrB,KAAK,aACD,KAAD,WAAW,OAAO,CACrB,EAAG,EAAM,EAAe,IAErB,KAAK,IAAI,qBACZ,KAAK,WAAW,UAGhB,OAAJ,OAAI,CAAC,GAAU,SAAC,EAAG,GAAM,SAAa,KAAK,EAAlB,OAGjB,EAAF,qBAAR,WACM,IAAE,EAAgB,KAAK,IAAI,SAE/B,EAAM,GAAG,wBAAyB,KAAK,YAAY,eACnD,EAAM,GAAG,yBAA0B,KAAK,YAAY,eAGhD,EAAE,GAAG,wBAAyB,KAAK,YAAY,eAC/C,EAAE,GAAG,yBAA0B,KAAK,YAAY,eAGpD,IAAM,EAAa,EAAM,SAAS,KAAK,aAAa,eAChD,EAAO,GAAG,YAAa,KAAK,YAAY,eACxC,EAAO,GAAG,aAAc,KAAK,YAAY,gBA0FvC,8BAAR,SAA0B,GAClB,MAAiB,KAAK,IAApB,EAAK,QAAE,EAAG,MAElB,OAAQ,KAAK,eACX,IAAK,aACH,IAAM,EAAM,EAAI,EACV,EAAM,EAAI,EAEhB,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,IAErC,IAAK,aACG,EAAM,EAAI,EACV,EAAM,EAAI,EAEhB,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,IAErC,IAAK,aACG,EAAM,EAAI,EACV,EAAM,EAAI,EAEhB,OAAO,KAAK,IAAI,EAAK,KAAK,IAAI,EAAK,MAKjC,2BAAR,SAAuB,GACjB,MAAiB,KAAK,IAApB,EAAK,QAAE,EAAG,MAEhB,OAAQ,KAAK,eACX,IAAK,aACH,GAAS,EACT,MACF,IAAK,aACH,GAAO,EACP,MACF,IAAK,aACH,GAAS,EACT,GAAO,EAGX,KAAK,IAAI,QAAS,GAClB,KAAK,IAAI,MAAO,IAQV,uBAAR,SAAmB,EAAyB,EAAc,G,QAClD,EAA0B,KAAK,IAA7B,EAAY,eAAE,EAAK,QAErB,EAAe,cAAI,EAAc,QFncN,IEqc5B,EAAY,EAAT,GAAE,EAAO,EAAJ,GACT,GAAS,EAGT,EAAM,IACP,GAAD,EAAa,CAAC,EAAK,IAAf,GAAE,EAAG,KACR,GAAD,EAA+B,CAAC,EAAc,IAAjC,GAAE,EAAY,KAC3B,GAAS,GAIX,IAAM,EAAU,EAAa,UACvB,EAAU,EAAa,UAEvB,EACJ,EAAQ,MAAQ,EAlBF,EAmBV,CAAE,EAAG,EAAM,EAAe,EAnBhB,EAmB6B,UAAW,QAClD,CAAE,EAAG,EAAM,EAAe,EApBhB,EAoB6B,UAAW,SAElD,EACJ,EAAQ,MAAQ,EAAQ,EAvBV,EAwBV,CAAE,EAAG,EAAM,EAAe,EAxBhB,EAwB6B,UAAW,SAClD,CAAE,EAAG,EAAM,EAAe,EAzBhB,EAyB6B,UAAW,QAExD,OAAQ,EAAgC,CAAC,EAAU,GAAlC,CAAC,EAAU,IAGtB,iBAAR,WACE,IAAM,EAAY,KAAK,IAAI,aACrB,EAAS,GAAa,EAAU,IAAI,UACtC,GACF,EAAO,QAIH,4BAAR,WACE,IAAM,EAAY,KAAK,IAAI,aACrB,EAAS,GAAa,EAAU,IAAI,UAE1C,OAAO,GAAU,EAAO,IAAI,cAEhC,EA1cA,CAA4B,GCzBf,GAAgC,CAEzC,QATkC,CAClC,WAAU,gBACV,WAAU,mBACV,KAAI,EACJ,QAAO,SAOP,MAAK,CACD,WAAQ,oBAyBhB,eAAE,SAAF,IAAI,IAAJ,0C,OAIU,cAAc,OA+Id,eAAe,SAAC,GAAsB,gBAAC,GAC7C,EAAK,SAAW,EAChB,EAAE,cAAc,iBAChB,IAAM,EAAU,EAAW,cAAI,EAAE,cAAe,qBAAuB,EAAE,QACnE,EAAU,EAAW,cAAI,EAAE,cAAe,qBAAuB,EAAE,QAGzE,EAAK,SAAW,EAAK,IAAI,aAAe,EAAU,EAElD,EAAK,mBAGC,iBAAiB,WACvB,IAAM,EAAe,EAAK,kBACtB,EAAS,GAGX,EADE,EAAK,SACE,CACP,4BAAiB,EAAc,YAAa,EAAK,aACjD,4BAAiB,EAAc,WAAY,EAAK,WAChD,4BAAiB,EAAc,cAAe,EAAK,YAG5C,CACP,4BAAiB,EAAc,YAAa,EAAK,aACjD,4BAAiB,EAAc,UAAW,EAAK,WAE/C,4BAAiB,EAAc,aAAc,EAAK,YAGtD,EAAK,YAAc,WACjB,EAAO,SAAQ,SAAC,GACd,EAAE,cAOA,cAAc,SAAC,GACf,MAAgC,EAAK,IAAnC,EAAY,eAAE,EAAW,cAC3B,EAAJ,iBACF,IAAM,EAAU,EAAK,SAAW,cAAI,EAAG,qBAAuB,EAAE,QAC1D,EAAU,EAAK,SAAW,cAAI,EAAG,qBAAuB,EAAE,QAE1D,EAAS,EAAe,EAAU,EAElC,EAAO,EAAS,EAAK,SAE3B,EAAK,SAAW,EAEV,EAAD,kBAAkB,EAAc,IAG/B,YAAY,SAAC,GACnB,EAAE,iBACF,EAAK,eAIC,eAAe,SAAC7f,GAChB,MAAmC,EAAK,IAAtC,EAAY,eAAE,EAAC,IAAE,EAAC,IAAE,EAAQ,WAE9B,EADe,EAAK,kBACA,wBAClB,EAAqB,EAAd,QAAE,EAAY,EAAL,QAClB,EAAS,EAAe,EAAU,EAAK,KAAO,EAAI,EAAW,EAAI,EAAU,EAAK,IAAM,EAAI,EAAW,EAErG,EAAY,EAAK,cAAc,GAC/B,EAAD,kBAAkB,IAGjB,mBAAmB,WACjB,MAAe,EAAK,IAAI,MAAM,MAApB,WAClB,EAAK,oBAAoB,SAAS,KAAK,SAAU,GACjD,EAAK,QAGC,kBAAkB,WAChB,MAAe,EAAK,IAAI,MAAT,QAAL,WAClB,EAAK,oBAAoB,SAAS,KAAK,SAAU,GACjD,EAAK,Q,EAkET,OArS+B,yBAOpB,EAAF,mBAAP,SAAgB,EAAa,GACvB,KAAC,IAAI,WAAY,GACjB,KAAC,IAAI,WAAY,GACjB,IAAE,EAAW,KAAK,WAChB,EAAW,gBAAM,EAAU,EAAK,GAClC,IAAa,GAAa,KAAK,IAAI,WAC/B,KAAD,SAAS,IAIT,EAAF,mBAAP,WAIM,MAAG,CAAE,IAHW,KAAK,IAAI,aAAe,EAG9B,IAFM,KAAK,IAAI,aAAe,IAKrC,EAAF,mBAAP,SAAgB,GACV,IAAE,EAAQ,KAAK,WACb,EAAgB,KAAK,WACvB,KAAC,OAAO,CACV,aAAc,KAAK,IAAI,YAAc,KAAK,IAAI,aAAe,gBAAM,EAAO,EAAM,IAAK,EAAM,OAEzF,KAAC,aAAa,cAAe,CACzB,cAAO,EACP,MAACP,KAAK,cAIP,EAAF,mBAAP,WACM,OAAG,gBAAM,KAAK,IAAI,gBAAkB,KAAK,IAAI,YAAc,KAAK,IAAI,aAAc,EAAG,IAGpF,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC3B,OAAJ,yCACK,GAAG,CACN,KAAM,YACN,cAAc,EACd,YAAa,GACP,YAAO,EACb,MAAO,MAID,wBAAV,SAAsB,GAChB,KAAC,iBAAiB,GACtB,KAAK,iBAAiB,IAGd,wBAAV,WACMA,KAAC,cAAc,KAAK,IAAI,SAAU,CAC9B,EAAH,KAAK,IAAI,KACZ,EAAG,KAAK,IAAI,QAIN,sBAAV,WACE,KAAK,cAIC,6BAAR,SAAyB,GACjB,MAAwC,KAAK,IAA3C,EAAQ,WAAE,UACZ,QADiB,MAAG,CAAE,QAAS,IAAI,GACE,QAAnC,EAAO,UAAE,EAAU,aAAE,EAAI,OAC3B,EAAQ,KAAK,IAAI,gBACnB,CACE,GAAI,EAAI,EAAO,EACf,GAAI,EAAO,EACX,GAAI,EAAW,EAAO,EACtB,GAAI,EAAO,EACX,UAAW,EACX,OAAQ,EACR,QAAO,GAET,CACE,GAAI,EAAO,EACX,GAAI,EAAI,EAAO,EACf,GAAI,EAAO,EACX,GAAI,EAAW,EAAO,EACtB,UAAW,EACX,OAAQ,EACR,QAAO,GAET,OAAG,KAAK,SAAS,EAAO,CACpB,GAAF,KAAK,aAAa,SAChB,aACA,YACA,MAAD,KAKC,EAAF,2BAAR,SAAyB,GACb,IAAJ,EAAqD,KAAK,IAAxD,EAAW,cAAE,EAAQ,WAAE,UACzB,QAD8B,MAAG,CAAE,QAAS,IAAI,GACX,QAAnC,EAAI,OAAE,EAAO,UAAE,EAAU,aAC3B,EAAQ,KAAK,IAAI,gBACnB,CACQ,GAAF,EAAc,EAAO,EACnB,GAAF,EAAO,EACL,GAAF,EAAc,EAAW,EAAO,EACpC,GAAI,EAAO,EACX,UAAW,EACX,OAAQ,EACR,QAAO,EACP,OAAQ,WAEV,CACE,GAAI,EAAO,EACX,GAAI,EAAc,EAAO,EACzB,GAAI,EAAO,EACX,GAAI,EAAc,EAAW,EAAO,EACpC,UAAW,EACX,OAAQ,EACR,QAAO,EACD,OAAE,WAEV,OAAG,KAAK,SAAS,EAAO,CACpB,GAAF,KAAK,aAAa,SAChB,aACA,YACA,MAAD,KAIC,EAAF,qBAAR,WACM,IAAE,EAAgB,KAAK,IAAI,SAC3B,EAAE,GAAG,YAAa,KAAK,cAAa,IACpC,EAAE,GAAG,UAAW,KAAK,WAErB,EAAE,GAAG,aAAc,KAAK,cAAa,IACrC,EAAE,GAAG,WAAY,KAAK,WAEP,EAAM,SAAS,KAAK,aAAa,UACzC,GAAG,QAAS,KAAK,cACxB,IAAE,EAAa,EAAM,SAAS,KAAK,aAAa,UAChD,EAAO,GAAG,YAAa,KAAK,kBAC5B,EAAO,GAAG,WAAY,KAAK,kBAsFzB,4BAAR,WACE,IAAM,EAAY,KAAK,IAAI,aACrB,EAAS,GAAa,EAAU,IAAI,UAE1C,OAAO,GAAU,EAAO,IAAI,cAGtB,0BAAR,SAAsB,GACd,MAAyB,KAAK,IAA5B,EAAQ,WAAE,EAAQ,WACtB,EAAY,EAMhB,OALI,EAAS,EAAW,EACtB,EAAY,EAAW,EACd,EAAS,EAAW,IAC7B,EAAY,GAEP,GAGD,iBAAR,WACE,IAAM,EAAY,KAAK,IAAI,aACrB,EAAS,GAAa,EAAU,IAAI,UAEtC,GACF,EAAO,QAIH,8BAAR,SAA0B,GAClB,MAAgD,KAAK,IAAnD,EAAW,cAAE,EAAY,eAAE,EAAQ,WAAE,EAAI,OAC3C,EAAY,KAAK,cAAc,GACrC,GAAI,IAAc,EAAlB,CAIA,IAAM,EAAa,KAAK,oBAAoB,SAExC,EACF,EAAW,KAAK,CACd,GAAI,EAAY,EAAO,EACvB,GAAI,EAAY,EAAW,EAAO,IAGpC,EAAW,KAAK,CACd,GAAI,EAAY,EAAO,EACvB,GAAI,EAAY,EAAW,EAAO,IAGtC,KAAK,iBAAiB,KAGhB,6BAAR,SAAyB,GACjB,MAAqD,KAAK,IAA3C,EAAa,cAAE,EAAQ,WAAE,EAAQ,WACtD,KAAK,IAAI,YAAc,EAEvB,KAAK,KAAK,eAAgB,CACxB,YAAa,EACb,MAAO,gBAAM,GAAU,EAAW,GAAW,EAAG,KAElD,KAAK,aAAa,cAAe,CAC/B,cAAa,EACb,MAAO,KAGb,EArSA,CAA+B,I,0GCxD/B,4BACA,4BACA,4BACA,4BAMMywB,EAAe,CACnBC,KAAM,UACN3J,KAAM,UACN4J,MAAO,UACP9f,SAAU,WAOZ,mBACEjU,EACAgN,EACAnB,GAGA,OAAO,IAAImoB,EADOH,EAAa7zB,GAAMgN,IACrBnB,GAAKd,S,8EC1BvB,YACA,QAGA9L,EAAA,QAAe,CASXg1B,IAAF,SAAI,EAAY,EAAY,EAAY,GAClC,OAAG,iBAAe,CAAC,EAAI,GAAK,CAAC,EAAI,KAUrCjyB,OAAF,SAAO,EAAY,EAAY,EAAY,GACrC,OAAG,WAAS,EAAI,EAAI,EAAI,IAW5BkyB,QAAF,SAAQ,EAAY,EAAY,EAAY,EAAY,GAClD,MAAG,CACC9mB,GAAF,EAAI,GAAK,EAAK,EAAI,EAChBvH,GAAF,EAAI,GAAK,EAAK,EAAI,IAaxBsuB,cAAF,SAAc,EAAY,EAAY,EAAY,EAAY,EAAW,GAGnE,IAAE,GAAS,EAAK,IAAO,EAAI,IAAO,EAAK,IAAO,EAAI,GAClD,SAAQ,EACH,WAAS,EAAI,EAAI,EAAG,GAGzB,GADkB,EAAK,IAAO,EAAK,IAAO,EAAK,IAAO,EAAK,GAEtD,WAAS,EAAI,EAAI,EAAG,GAEtB,KAAK,YAAY,EAAI,EAAI,EAAI,EAAI,EAAG,IAY3CC,YAAF,SAAY,EAAY,EAAY,EAAY,EAAY,EAAW,GACjE,IAAE,EAAI,CAAC,EAAK,EAAI,EAAK,GAErB,KAAK,YAAY,EAAG,CAAC,EAAG,IACpB,OAAC,KAAK,MAAM,EAAI,IAAO,EAAI,IAAO,EAAI,IAAO,EAAI,IAErD,IAAE,EAAI,EAAE,EAAE,GAAI,EAAE,IAChBC,EAAC,UAAU,EAAG,GACd,IAAE,EAAI,CAAC,EAAI,EAAI,EAAI,GACnB,OAAG,KAAK,IAAI,EAAK,IAAI,EAAG,KAU5BC,aAAF,SAAa,EAAY,EAAY,EAAY,GAC3C,OAAG,KAAK,MAAM,EAAK,EAAI,EAAK,M,2XC7F5B,MAAwB,KAArB,IAAE,EAAmB,KAAhB,IAAE,EAAc,KAAT,MAAE,EAAO,KAAL,GAE3B,SAAS,EAAiB,EAAO,EAAO,EAAI,EAAI,EAAI,EAAI,GAC9C,MAAsB,EAAhB,OAAE,EAAc,EAAL,UAGnB,EAAM,EADF,EAAK,EADL,EAAK,GAGT,EAAa,IAAI,OAAK,CACtB,KAAE,OACF,OAAI,EAAM,IAAI,UACd,cAAU,EACV,MAAG,CAEC,SAAI,GAAK,EAAI,EAAK,GAAE,IAAI,GAAK,EAAI,EAAK,GAAE,UAAU,GAAK,EAAI,EAAK,GAAE,KAAK,GAAK,EAAI,EAAK,GAErF,SACN,UAAS,KAGXC,EAAS,UAAU,EAAI,GACvB,EAAS,cAAc,EAAI,EAAI,GACjC,EAAM,IAAI,EAAU,kBAAoB,gBAAiB,GAQ3D,SAAS,EAAoB,EAAO,EAAO,EAAI,EAAI,EAAI,EAAI,GACjD,MAA4C,EAAlC,WAAE,EAAgC,EAAxB,SAAE,EAAsB,EAAhB,OAAE,EAAc,EAAL,UACzC,EAAa,EAAU,EAAa,EAClC,EAAqF,EAApF,EAAQ,EAA4E,EAAnE,KAAU,EAAyD,EAA9C,OAAa,EAAiC,EAAnB,UAAK,EAAS,iBAAK,EAAvF,mCAGA,EAAM,EADF,EAAK,EADL,EAAK,GAIX,IACF,GAAU,EAAI,GAAO,EACjB,GAAM,EAAI,GAAO,GAGrB,IAAI,EAAa,IAAI,OAAK,CACtB,KAAE,OACF,OAAI,EAAM,IAAI,UACd,cAAU,EACV,MAAC,yCACA,GAAS,CAEZ,OAAQ,GAAe,EACvB,UAAW,GAAkB,EAE7B,KAAM,MAIV,EAAW,UAAU,EAAI,GACzB,EAAW,cAAc,EAAI,EAAI,GACjC,EAAM,IAAI,EAAU,kBAAoB,gBAAiB,GAerD,SAAU,EAAiB,EAAI,EAAI,EAAI,EAAI,GAC/C,IAAM,EAAM,EAAM,EAAK,EAAI,EAAK,GAChC,MAAO,CACL,GAAI,EAAI,GAAO,EACf,GAAI,EAAI,GAAO,GAab,SAAU,EAAc,EAAO,EAAO,EAAI,EAAI,EAAI,GACtB,WAA5B,EAAO,EAAM,YACf,EAAoB,EAAO,EAAO,EAAI,EAAI,EAAI,GAAI,GACzC,EAAM,WACf,EAAiB,EAAO,EAAO,EAAI,EAAI,EAAI,GAAI,GAE/C,EAAM,IAAI,kBAAmB,MAa3B,SAAU,EAAY,EAAO,EAAO,EAAI,EAAI,EAAI,GACtB,WAA1B,EAAO,EAAM,UACf,EAAoB,EAAO,EAAO,EAAI,EAAI,EAAI,GAAI,GACzC,EAAM,SACf,EAAiB,EAAO,EAAO,EAAI,EAAI,EAAI,GAAI,GAE/C,EAAM,IAAI,kBAAmB,Q,6ICrHjC,OAEA,2BACA,OAeA,2BAYA,yE,OAOU,EAAAC,aAA0C,GAC1C,EAAAC,iBAA8C,G,EAyNxD,OAjO8E,iBAUrE,YAAAC,YAAP,WACE,OAAOtxB,KAAK+uB,UAGP,YAAAvD,UAAP,WACE,OAAOxrB,KAAK2lB,QAGP,YAAA4L,KAAP,WACEvxB,KAAK8F,UAAUyrB,QAGV,YAAAC,KAAP,WACExxB,KAAK8F,UAAU0rB,QAGP,YAAAC,WAAV,SAAqB9pB,GAArB,WACE3H,KAAKsH,MAAQK,EAAOL,MACpB,IAAM2B,EAAOjJ,KAAKsH,MAAM2B,KACxBjJ,KAAKiJ,KAAOA,EACZjJ,KAAK+uB,SAAWpnB,EAAOonB,SACvB/uB,KAAKipB,MAAQhgB,EAAKyoB,gBAClB1xB,KAAK4lB,QAAU,EAAA7b,QAAQ/J,KAAKkmB,oBAAqBve,EAAO/E,OAExD,IAAMkP,EAAW,WACf,EAAK+W,QACL,EAAKuI,aAAe,GACpB,EAAKC,iBAAmB,GACxB,EAAK/nB,UAEPL,EAAKwB,GAAG,EAAAqC,iBAAiB6kB,YAAa7f,GACtC9R,KAAK4xB,eAAc,WACjB3oB,EAAK4oB,IAAI,EAAA/kB,iBAAiB6kB,YAAa7f,OAIjC,YAAAggB,YAAV,SAAsBxhB,GAAtB,WACEtQ,KAAK2lB,OAAS,GACd3lB,KAAKoxB,aAAe,GAGpB,EAAA5nB,KAAKxJ,KAAK+uB,SAASgD,UAAU,SAACC,EAAkBC,GAC9C,IAAMtM,EAAS,GAAG3hB,OAAO,EAAKkuB,cAAc5hB,EAAO0hB,EAASC,IAC5D,EAAAzoB,KAAKmc,GAAQ,SAAC/iB,EAAOuG,GACnB,EAAKgpB,YAAYvvB,EAAOovB,EAAS7oB,GAC5BvG,EAAMmE,YACT,EAAK4e,OAAOriB,KAAKV,GACjB,EAAKwuB,aAAaxuB,EAAM1F,IAAI,OAAS,EAAAk1B,MAAMxvB,EAAMyvB,cAMvDryB,KAAKsyB,aAAatyB,KAAK+uB,SAAU/uB,KAAK2lB,QAGtC,IAAM0L,EAAmBrxB,KAAKqxB,iBACxBD,EAAepxB,KAAKoxB,aACpBmB,IAAavyB,KAAK+uB,SAASyD,eAAgB,EAAAzkB,qBAAqB,QAAS/N,KAAKipB,OACpF,EAAAzf,KAAK4nB,GAAc,SAACiB,EAAkB7B,GACpC,IAAMjgB,EAAQD,EAAMmiB,SAASjC,GAC7B,GAAIjgB,EACF,GAAI8gB,EAAiBb,GAAK,CACxB,IAAMkC,EAAWrB,EAAiBb,GAE5BmC,EAAmB,EAAAz1B,IAAIq1B,EAAY,UACrCI,IACFpiB,EAAMqiB,cACNriB,EAAMsiB,KAAKH,GACX,EAAA1kB,UAAUuC,EAAOoiB,EAAkB,CACjCG,QAAS,EAAF,YACFT,GAEL9J,WAAY,EAAKU,aAGhB,CAEL,IAAM8J,EAAmB,EAAA71B,IAAIq1B,EAAY,UACrCQ,IACFxiB,EAAMqiB,cACN,EAAA5kB,UAAUuC,EAAOwiB,EAAkB,CACjCD,QAAS,EAAF,YACFviB,EAAMsiB,QAEXtK,WAAY,EAAKU,gBAKlBoI,EAAiBb,MAE1B,EAAAhnB,KAAK6nB,GAAkB,SAACgB,EAAkB7B,GAExC,IAAMwC,EAAkB,EAAA91B,IAAIq1B,EAAY,SACxC,GAAIS,EAAiB,CACnB,IAAMC,EAAY3iB,EAAM4iB,SAAS,OAAQ,CACvCb,MAAK,EACL7B,GAAE,EACF5zB,KAAM,UAERq2B,EAAUL,cACV,EAAA5kB,UAAUilB,EAAWD,EAAiB,CACpCF,QAAS,KACTvK,WAAY,EAAKU,YAIvBjpB,KAAKqxB,iBAAmBrxB,KAAKoxB,cAGrB,YAAA+B,cAAV,SAAwB7iB,EAAe+hB,EAAkBe,GACvD,YADuD,IAAAA,MAAA,IAChD9iB,EAAM4iB,SAAS,OAAQ,EAAF,UAC1Bb,MAAK,GACFe,KAIG,YAAAlB,cAAV,SAAwB5hB,EAAe0hB,EAAkBqB,GAAzD,WACQC,EAAQtB,EAAQuB,WAChBC,EAAQ,GAAGxvB,OAAOhE,KAAKyzB,kBAAkBzB,EAASqB,IAClDzM,EAAS5mB,KAAK0zB,mBACdC,EAAc3zB,KAAK4zB,iBACzB,OAAO,EAAAtP,IAAIkP,GAAO,SAACnB,EAAO3zB,G,MAClB6nB,EAAW,CACfvc,EAAGqoB,EAAMroB,EAAI2pB,EAAY3pB,EACzBvH,EAAG4vB,EAAM5vB,EAAIkxB,EAAYlxB,GAErBoxB,EAAW,EAAAzR,QAAQkR,EAAMQ,aAAeR,EAAMQ,YAAYp1B,GAAS40B,EAAMQ,YACzEtD,EAAK,EAAKuD,WAAWF,GAC3B,OAAO,EAAKV,cACV7iB,EAAK,yBACA+hB,GAAU9L,KAAQ,GAErBiK,GAAE,EACF5zB,KAAM,QACNgqB,OAAM,EACNoL,QAAO,IACN,EAAAnjB,QAASglB,E,QAOR,YAAAH,iBAAV,WACE,OAAOM,OAAOh0B,KAAK4lB,QAAQgB,SAInB,YAAAgN,eAAV,WACQ,MAAuB5zB,KAAK4lB,QAA1BuH,EAAO,UAAEC,EAAO,UACxB,MAAO,CACLpjB,EAAG,EAAAiqB,SAAS9G,GAAWA,EAAU,EACjC1qB,EAAG,EAAAwxB,SAAS7G,GAAWA,EAAU,IAK3B,YAAA8G,6BAAV,SAAuC/H,EAAgBgI,GAC/C,MAAuBn0B,KAAK4lB,QAA1BuH,EAAO,UAAEC,EAAO,UAClBxG,EAAS5mB,KAAK0zB,mBACdC,EAAc,CAClB3pB,EAAG,EACHvH,EAAG,GASL,OAPAkxB,EAAYxH,GAAOvF,EAASuN,EACxB,EAAAF,SAAS9G,KACXwG,EAAY3pB,GAAKmjB,GAEf,EAAA8G,SAAS7G,KACXuG,EAAYlxB,GAAK2qB,GAEZuG,GAIC,YAAAzN,kBAAV,WACE,MAAO,IAWC,YAAAoM,aAAV,SAAuBvD,EAAoBpJ,KAIjC,YAAAoO,WAAV,SAAqB/0B,GACnB,IAAMo1B,EAASp1B,EAAKq1B,QACdzqB,EAAO5J,KAAK+uB,SAASnlB,KACrB0qB,EAASt0B,KAAK+uB,SAAS7mB,YACvBqsB,EAASv0B,KAAK+uB,SAAS5mB,YACzBqsB,EAAUx0B,KAAK+uB,SAAS0F,aAAaz1B,GASzC,MARa,SAAT4K,GAA4B,SAATA,EAErB4qB,GAAW,IAAIJ,EAAOE,EAAOrsB,OACX,SAAT2B,IAET4qB,GAAW,IAAIJ,EAAOE,EAAOrsB,OAAM,IAAImsB,EAAOG,EAAOtsB,QAGhDusB,GAGC,YAAAE,kBAAV,WACU,IAAAzL,EAAUjpB,KAAI,MACdogB,EAAe6I,EAAK,MAAb5I,EAAQ4I,EAAK,IAC5B,OAAO,IAAI,UAAK9Z,KAAKsP,IAAI2B,EAAMpW,EAAGqW,EAAIrW,GAAImF,KAAKsP,IAAI2B,EAAM3d,EAAG4d,EAAI5d,GAAIwmB,EAAM0L,WAAY1L,EAAM2L,cAEhG,EAjOA,CAA8E,W,YAoO9E,IAAMC,EAAuD,GAE7D,kCAAuCjrB,EAAckrB,GACnDD,EAAiBjrB,GAAQkrB,GAG3B,6BAAkClrB,GAChC,OAAOirB,EAAiBjrB,K,6mBCrQpB,EAAyB,GAOzB,SAAU,EAAc,GAC5B,OAAO,EAAY,GAQf,SAAU,EAAmB,EAAa,GAC9C,EAAY,GAAO,EClBrB,I,EAAA,WAqCE,WAAY,GAjCL,UAAe,OAIf,iBAAuB,EAIvB,eAAqB,EAIrB,mBAAyB,EAIzB,iBAAsB,EAItB,YAAgC,GAKhC,WAA8B,CAAC,EAAG,GAClC,WAA8B,GAQnC,KAAK,QAAU,EACf,KAAK,UACL,KAAK,OA0GT,OAtGS,sBAAP,SAAiB,GACf,OAAO,GAUF,mBAAP,SAAc,GAEZ,iBAAO,KAAK,QAAS,GACrB,KAAK,QAGA,kBAAP,WACE,OAAO,KAAK,YAAY,KAAK,UAIxB,qBAAP,sBACE,OAAO,cAAI,KAAK,OAAO,SAAC,EAAW,GACjC,OAAI,mBAAS,GAEJ,EAEF,CACL,KAAM,EAAK,QAAQ,EAAM,GACzB,UAAW,EACX,MAAO,EAAK,MAAM,QAMjB,oBAAP,SAAe,EAAY,GACzB,IAAM,EAAY,KAAK,UACjB,EAAM,EAAY,EAAU,EAAO,GAAO,EAChD,OAAI,gBAAM,KAAS,qBAAW,EAAI,UACzB,GAEF,EAAI,YAIH,sBAAV,SAAoB,GAClB,OAAO,KAAK,QAAQ,IAIZ,iBAAV,WACE,iBAAO,KAAM,KAAK,SAClB,KAAK,YACD,kBAAQ,KAAK,UAAU,YACzB,KAAK,MAAQ,KAAK,mBAKZ,oBAAV,aAEU,sBAAV,aAEU,2BAAV,WACE,IAAM,EAAa,KAAK,WACpB,EAAQ,GACZ,GAAI,mBAAS,GAAa,CACxB,IAAM,EAAS,EAAc,GAC7B,IAAK,EACH,MAAM,IAAI,MAAM,6CAElB,EAAQ,EAAO,WACN,qBAAW,KACpB,EAAQ,EAAW,OAErB,OAAO,GAIC,qBAAV,WACE,OAAO,eAAK,KAAK,QAIT,qBAAV,WACE,OAAO,eAAK,KAAK,QAIT,wBAAV,SAAsB,EAAY,EAAa,GAC7C,OAAI,mBAAS,IACH,EAAQ,IAAQ,EAAM,GAEzB,KAIC,sBAAV,SAAoB,EAAiB,EAAa,GAChD,OAAO,EAAM,GAAW,EAAM,IAElC,EAlJA,G,OC6De,EAzDf,uE,OACkB,OAAe,MACf,cAAsB,E,EAqDtC,OAvDqB,yBAId,sBAAP,SAAiB,GACX,IAAE,EAAQ,kBAAQ,KAAK,OAAQ,GAC/B,OAAW,IAAX,EACK,mBAAS,GAAS,EAAQ,IAE5B,GAGF,kBAAP,SAAa,GACP,IAAE,EAAQ,KAAK,UAAU,GAKvB,EAAU,KAAK,YAAY,EAAO,KAAK,IAAK,KAAK,KACnD,OAAG,KAAK,UAAU,EAAS,KAAK,WAAY,KAAK,aAGhD,mBAAP,SAAc,GACZ,IAAM,EAAc,KAAK,IAAM,KAAK,IAC9B,EAAU,KAAK,YAAY,EAAa,KAAK,WAAY,KAAK,YAC9D,EAAM,KAAK,MAAM,EAAc,GAAW,KAAK,IACjD,SAAM,KAAK,KAAO,EAAM,KAAK,IACxB,IAEF,KAAK,OAAO,IAGd,oBAAP,SAAe,G,IAAY,wDACzB,IAAI,EAAI,EAKJ,OAHA,mBAAS,KAAW,KAAK,OAAO,SAAS,KACrC,EAAF,KAAK,OAAO,IAEX,YAAM,QAAO,qCAAC,GAAM,KAGnB,oBAAV,WACM,KAAC,WAAa,OAGV,sBAAV,WAKE,GAHI,gBAAM,KAAK,UAAU,UACvB,KAAK,IAAM,GAET,gBAAM,KAAK,UAAU,QAAS,CAChC,IAAM,EAAO,KAAK,OAAO,OACzB,KAAK,IAAM,EAAO,EAAI,EAAO,EAAI,IAGvC,EAvDA,CAAuB,G,QCAjB,SAAU,EAAW,EAAM,GAE/B,OADe,EAAM,QAAmB,UAAK,QAC/B,EAAM,GAMhB,SAAU,EAAY,GAc1B,OAbI,mBAAS,KAET,EADE,EAAM,QAAQ,KAAO,EACf,IAAI,KAAK,GAAO,UAKhB,IAAI,KAAK,EAAM,QAAQ,MAAO,MAAM,WAG5C,iBAAO,KACT,EAAQ,EAAM,WAET,EAGT,IAEM,EAAO,KACP,EAAM,GAAK,EACX,EAAc,GAAN,EAKR,EAAwB,CAC5B,CAAC,WAVY,KAWb,CAAC,WAAY,KACb,CAAC,WAAY,KACb,CAAC,QAZY,KAab,CAAC,QAAS,KACV,CAAC,QAAS,MACV,CAAC,KAAM,GACP,CAAC,KAAa,EAAP,GACP,CAAC,KAAa,GAAP,GACP,CAAC,aAAc,GACf,CAAC,aAAoB,EAAN,GACf,CAAC,UAAiB,EAAN,GACZ,CAAC,UAAW,GACZ,CAAC,UAAmB,EAAR,GACZ,CAAC,UAAmB,EAAR,GACZ,CAAC,OAAc,IAAN,IAGL,SAAU,EAAgB,EAAa,EAAa,GACtD,ICrDuB,EDsDnB,GCtDmB,EDsDJ,SAAC,GAAgB,aChD/B,SAAS,EAAQ,EAAW,EAAc,GAG3C,IAFA,MAAK,gBAAM,GAAO,EAAI,EACtB,EAAK,gBAAM,GAAO,EAAE,OAAS,EAC1B,EAAKmrB,GAAI,CACR,MAAO,EAAK,IAAQ,EACtB,EAAO,EAAE,IAAQ,EACX,EAAH,EAEL,EAAK,EAAM,EAGf,OAAO,IDqCmC,GAD5B,EAAM,GAAO,GACoC,EAC7D,EAAqB,EAAU,GAMnC,OALI,EAAM,EACR,EAAW,EAAU,GACZ,GAAO,EAAU,SAC1B,EAAW,eAAK,IAEX,EE7DT,IAoDe,EApDf,uE,OACkB,OAAe,U,EAiD/B,OAlDoB,yBAMb,sBAAP,SAAiB,GACf,EAAQ,EAAY,GACpB,IAAI,EAAQ,KAAK,OAAO,QAAQ,GAQ5B,OAPW,IAAX,IAEA,EADE,mBAAS,IAAU,EAAQ,KAAK,OAAO,OACjC,EAEA,KAGL,GAOF,oBAAP,SAAe,EAAwB,GACrC,IAAM,EAAQ,KAAK,UAAU,GAC7B,GAAI,GAAS,EAAG,CACd,IAAI,EAAS,KAAK,OAAO,GACnB,EAAY,KAAK,UAEvB,OADA,EAAS,EAAY,EAAU,EAAQ,GAAa,EAAW,EAAQ,KAAK,MAG1E,OAAG,GAEC,oBAAV,WACM,KAAC,WAAa,WACd,KAAC,KAAO,aACZ,KAAK,UAAY,GAGT,sBAAV,WACM,IAAE,EAAS,KAAK,OAEpB,eAAK,GAAQ,SAAC,EAAG,GACf,EAAO,GAAK,EAAY,MAEtB,EAAG,MAAK,SAAC,EAAI,GACT,OAAC,EAAK,KAEV,EAAJ,UAAM,UAAS,YAEnB,EAlDA,CAAsB,G,ECDtB,uE,OACS,gBAAyB,E,EAyElC,OA1EiD,yBAIxC,kBAAP,SAAa,GACP,mBAAM,GACR,OAAO,IAEL,IAAE,EAAW,KAAK,WAChB,EAAW,KAAK,WAGlB,OAFQ,KAAK,MACL,KAAK,IAER,EAGF,EADS,KAAK,gBAAgB,IACR,EAAW,IAGhC,iBAAV,WACE,YAAM,KAAI,WAEN,IAAE,EAAQ,KAAK,MACb,EAAY,eAAK,GACjB,EAAW,eAAK,GAClB,EAAY,KAAK,MACnB,KAAK,IAAM,GAET,EAAW,KAAK,MAClB,KAAK,IAAM,GAGR,gBAAM,KAAK,YACd,KAAK,IAAM,GAER,gBAAM,KAAK,YACd,KAAK,IAAM,IAIL,sBAAV,WACQ,MAAe,mBAAS,KAAK,QAA3B,EAAG,MAAE,EAAG,MACZ,gBAAM,KAAK,OACb,KAAK,IAAM,GAET,gBAAM,KAAK,OACb,KAAK,IAAM,GAET,KAAK,IAAM,KAAK,MAClB,KAAK,IAAMtW,EACLze,KAAD,IAAM,IAIL,2BAAV,sBACM,EAAQ,YAAM,eAAc,WAM5B,OALC,KAAK,OACR,EAAQ,iBAAO,GAAO,SAAC,GACrB,OAAO,GAAQ,EAAK,KAAO,GAAQ,EAAK,QAGrC,GAIC,4BAAV,SAA0B,GACpB,IAAE,EAAM,KAAK,IACX,EAAM,KAAK,IACb,OAAI,EAAQ,IAAQ,EAAM,IAGtB,6BAAV,SAA2B,GACzB,OAAQ,EAAQ,KAAK,aAAe,KAAK,WAAa,KAAK,aAE/D,EA1EA,CAAiD,G,ECDjD,uE,OAES,OAAO,SACE,YAAoB,E,EAWpC,OAdkC,yBAK3B,mBAAP,SAAc,GACR,IAAE,EAAU,KAAK,iBAAiB,GACtC,OAAO,KAAK,IAAM,GAAW,KAAK,IAAM,KAAK,MAGrC,oBAAV,WACE,KAAK,WAAa,qBAClB,KAAK,MAAO,GAEhB,EAdA,CAAoC,GCH9B,SAAUg1B,EAAQ7wB,EAAW,GAC/B,IAAI5D,EAAI4O,KAAK8lB,EAOb,OALE,GAAK,EACC,KAAK,IAAI,EAAG,KAAK,IAAI,GAAK,IAEO,EAAjC,KAAK,IAAI,EAAG,KAAK,KAAK,GAAK,GAKjC,SAAUC,EAAI/wB,EAAW,GAC3B,OAAQ,IAAN,EACK,EAEF,KAAK,IAAI,GAAK,KAAK,IAAI,GAG1B,SAAU,EAAkB,EAAQ,EAAM,GAC1C,gBAAM,KACR,EAAM,KAAK,IAAI,MAAM,KAAM,IAE3B,IAAE,EAAc,EAYlB,OAXE,OAAF,OAAE,CAAG,GAAQ,SAAC,GACR,EAAQ,GAAK,EAAQ,IACvB,EAAc,MAGd,IAAgBqa,IAClB,EAAc,EAAM,GAElB,EAAc,IAChB,EAAc,GAET,EChCT,IAiFe,EAjFf,uE,OACkB,OAAe,M,EA8E/B,OA/EgB,yBAST,mBAAP,SAAc,GACZ,IAII,EAJE,EAAO,KAAK,KACZ,EAAM,EAAI,EAAM,KAAK,KACrB,EAAW,KAAK,WAChB,EAAQ,KAAK,WAAa,EAE1B,EAAc,KAAK,YACrB,KAAa,CACf,GAAc,IAAV,EACF,OAAO,EAGH,MAAiB,GAAK,GADtB,IAAI,EAAM,EAAc,KACY,EACpC,GAAF,EAAQ,EAEV,OAAQlhB,EAAQ63B,EAAiB,OAG7B,IAAI,EAAM,KAAK,KAEnB,IACE,GADW,EAAQ,GAAY,GACd,EAAM1W,GAAO,EAChC,OAAG,KAAK,IAAI,EAAM,IAGd,oBAAV,WACE,KAAK,WAAa,MAClB,KAAK,KAAO,GACRze,KAAC,UAAY,EACbA,KAAC,MAAO,GAIJ,sBAAV,WACE,YAAM,UAAS,WACX,IAAE,EAAM,KAAK,IACb,KAAM,EACR,MAAM,IAAI,MAAM,wEAEN,IAAR,IACF,KAAK,YAAc,EAAkB,KAAK,OAAQ,KAAK,KAAM,KAAK,OAK5D,4BAAV,SAA0B,GACpB,IAAE,EAAM,KAAK,IACb,EAAM,KAAK,IACX,OAAQ,EACJ,OAAC,EAGL,MAAS,EACL,OAAC,EAEL,IAAE,EAAO,KAAK,KACZ,EAAc,KAAK,YAYrB,OAVA,IACIye,EAAe,EAAd,EAAmB,GAIxB,EAAQ,EACA,EAAQ,GAAe,EAAI,EAAM,GAAO,EAAI,EAAM,KAEjD,EAAI,EAAM,GAAS,EAAI,EAAM,KAAS,EAAI,EAAM,GAAO,EAAI,EAAM,KAIlF,EA/EA,CAAkB,GC0CH,EAzCf,uE,OACkB,OAAe,M,EAsCjC,OAvCkB,yBAUT,mBAAP,SAAc,GACR,IAAE,EAAU,KAAK,iBAAiB,GAChC,EAAW,KAAK,SAChB,EAAM,EAAQ,EAAU,KAAK,KAC7B,EAAM,EAAQ,EAAU,KAAK,KAC7B,EAAM,GAAW,EAAM,GAAO,EAC9B,EAAS,GAAO,EAAI,GAAK,EAC3B,OAAG,KAAK,IAAI,EAAK,GAAY,GAGzB,oBAAV,WACMze,KAAC,WAAa,MACdA,KAAC,SAAW,EACZA,KAAC,UAAY,EACjB,KAAK,MAAO,GAIJ,4BAAV,SAA0B,GACpB,IAAE,EAAM,KAAK,IACX,EAAM,KAAK,IACb,OAAQ,EACV,OAAO,EAEL,IAAE,EAAW,KAAK,SAGtB,OADG,EAAQ,EAAU,GAAS,EAAQ,EAAU,KAAS,EAAQ,EAAU,GAAO,EAAQ,EAAU,KAGxG,EAvCA,CAAkB,GCuFH,EArFf,uE,OACkB,OAAe,O,EAmF/B,OApFiB,yBAOV,oBAAP,SAAe,EAA+B,GAC5C,IAAM,EAAc,KAAK,UAAU,GAC7B,EAAY,KAAK,UACvB,OAAO,EAAY,EAAU,EAAatB,GAAS,EAAW,EAAa,KAAK,OAK3E,kBAAP,SAAa,GACX,IAAI,EAAI,EAIJ,OAHA,mBAAS,IAAM,iBAAO,MACxB,EAAI,KAAK,UAAU,IAEd,YAAM,MAAK,UAAC,IAMd,sBAAP,SAAiB,GACf,OAAO,EAAY,IAEX,oBAAV,WACM,KAAC,WAAa,cAClB,KAAK,KAAO,aACZ,KAAK,UAAY,EACbsB,KAAC,MAAO,GAGJ,sBAAV,WACE,IAAM,EAAS,KAAK,OAEd,EAAY,KAAK,UAAU,OAC3B,EAAY,KAAK,UAAU,OAS7B,GAPC,gBAAM,IAAe,mBAAS,KACjC,KAAK,IAAM,KAAK,UAAU,KAAK,MAE5B,gBAAM,IAAe,mBAAS,KACjC,KAAK,IAAM,KAAK,UAAU,KAAK,MAG7B,GAAU,EAAO,OAAQ,CAE3B,IAAM,EAAa,GACf,EAAM,IACN,EAAY,EACZ,EAAM,EAEJ,OAAN,OAAM,CAAD,GAAQ,SAAC,GACZ,IAAM,EAAY,EAAY,GAC9B,GAAI,MAAM,GACR,MAAM,IAAI,UAAU,iBAAiB,EAAC,mBAEpC,EAAM,GACR,EAAY,EACZ,EAAM,GACG,EAAY,IACX,EAAE,GAEV,EAAM,IACE,EAAJ,GAEA,EAAG,KAAK,MAGd,EAAO,OAAS,IAClB,KAAK,gBAAkB,EAAY,GAEjC,gBAAM,KACAA,KAAH,IAAM,GAET,gBAAM,KACAA,KAAH,IAAM,KAInB,EApFA,CAAmB,GCgEJ,EAlEf,uE,OACS,OAAO,W,EA+Dd,OAhEqB,yBAGd,mBAAP,SAAc,GACR,IAAE,EAAQ,KAAK,MACb,EAAS,EAAM,OACf,EAAU,KAAK,iBAAiB,GAChC,EAAW,KAAK,MAAM,GAAW,EAAS,IAE5C,MAAY,EAAS,EACvB,OAAO,eAAK,GAGV,KAAW,EACP,OAAC,eAAK,GAEV,IAAE,EAAU,EAAM,GAGhB,EAAkB,GAAY,EAAS,GAEzC,OAAG,GAAW,EAAU,KADF,EAAW,IAAM,EAAS,GACc,IAJjD,EAAM,EAAW,GAI+D,IAGzF,oBAAV,WACM,KAAC,WAAa,WAClB,KAAK,UAAY,EACjB,KAAK,MAAO,GAGJ,2BAAV,WACE,IAAM,EAAQ,YAAM,eAAc,WAS9B,OARC,KAAK,OACJ,eAAK,KAAW,KAAK,KACvB,EAAM,KAAK,KAAK,KAEd,eAAK,KAAW,KAAK,KACvB,EAAM,QAAQ,KAAK,MAGhB,GAIC,4BAAV,SAA0B,GACxB,IAAM,EAAQ,KAAK,MAEf,KAAQ,eAAK,GACf,OAAO,EAGL,KAAQ,eAAK,GACf,OAAO,EAEL,MAAW,EAQX,OAPA,OAAJ,OAAI,CAAC,GAAO,SAAC,EAAM,GACjB,KAAI,GAAS,GAGX,OAAO,EAFP,EAAW,KAKR,GAAY,EAAM,OAAS,IAEtC,EAhEA,CAAuB,GCKR,EATf,uE,OACS,OAAO,W,EAMd,OAPqB,yBAEX,oBAAV,WACM,KAAC,WAAa,WACd,KAAC,UAAY,EACb,KAAC,MAAO,GAEhB,EAPA,CAAuB,GCMjB,EAAgB,GAEtB,SAAS,EAAS,GAChB,OAAO,EAAI,GAGb,SAAS,EAAc,EAAa,GAClC,GAAI,EAAS,GACX,MAAM,IAAI,MAAM,SAAS,EAAG,cAE5B,EAAE,GAAO,ECTb,I,EAAA,YAAE,SAAF,IAAI,IAAJ,0C,OACkB,OAAkB,WAClB,cAAsB,E,EAqBtC,OAvBoC,yBAI7B,2BAAP,WACM,OAAG,KAAK,QAGP,kBAAP,SAAa,GAEX,OAAI,KAAK,OAAO,KAAO,GAAS,mBAAS,GAChC,EAEF,KAAK,MAAM,IAGb,mBAAP,SAAc,GACZ,IAAM,EAAQ,KAAK,MACf,SAAQ,EAAM,IAAM,EAAQ,EAAM,GAC7B,IAEF,KAAK,OAAO,IAEvB,EAvBA,CAAsC,GCPzB,EAAY,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,GAIrC,EAAuB,IAAjB,OAAO,QAOnB,SAAS,EAAW,EAAW,EAAa,EAAW,EAAc,EAAc,GAC/E,IAAI,EAAI,eAAK,GACT,EAAI,kBAAQ,EAAG,GACjB,EAAI,EACF,EARR,SAAa,EAAW,GACpB,OAAO,EAAI,EAAK,GAAK,EAOb,CAAI,EAAM,GAIlB,OAHG,EAAI,GAAO,EAAQ,EAAI,IAAQ,GAAQ,GAAK,GAAQ,IACvDkD,EAAI,GAEC,EAAI,GAAK,EAAI,GAAK,EAAI,EAG/B,SAAS,EAAc,EAAW,EAAa,GAC3C,IAAI,EAAI,eAAK,GAGf,OAAO,EAFG,kBAAQ,EAAG,IAEL,EAAI,GAAK,EADf,EAIZ,SAAS,EAAQ,EAAW,EAAW,EAAc,EAAc,EAAc,GAC7E,IAAI,GAAK,EAAI,IAAM,EAAO,GACtB,GAAM,EAAI,IAAM,KAAK,IAAI,EAAM,GAAQ,KAAK,IAAI,EAAM,IAC5D,OAAO,EAAI,KAAK,IAAI,EAAI,EAAI,EAAK,GAGnC,SAAS,EAAW,EAAW,GAC7B,OAAI,GAAK,EACA,GAAK,EAAI,IAAM,EAAI,GAErB,EAGT,SAAS,EAAS,EAAc,EAAc,EAAc,GACxD,IAAI,EAAQ,EAAO,EACrB,OAAO,EAAK,IAAO,KAAK,IAAI,EAAO,EAAM,GAAK,KAAK,IAAI,EAAO,EAAM,IAAO,KAAK,IAAI,GAAM,EAAO,GAGnG,SAAS,EAAY,EAAc,EAAc,GAC/C,IAAM,EAAQ,EAAO,EACrB,GAAI,EAAO,EAAO,CAChB,IAAM,GAAQ,EAAO,GAAS,EAC9B,OAAO,EAAI,KAAK,IAAI,EAAM,GAAK,KAAK,IAAI,GAAM,EAAO,GAEvD,OAAO,EAiBK,SAAU,EACtB,EACA,EACA,EACA,EACA,EACA,GAEE,QALF,QAAI,EAAJ,QACA,QAAI,GAAJ,QACA,kBACA,WAAuC,IAAM,GAAK,GAAK,MAEnD,IAAS,GAAc,IAAN,EACf,MAAG,CACC,IAAD,EACC,IAAD,EACC,MAAC,CAAC,IAWV,IAPA,IAAI,EAAO,CACP,OAAI,EACJ,KAAE,EACF,KAAE,EACF,MAAG,GAEL,EAAI,EACD,EAAI,KAAU,CACf,IAAY,2BAAG,CAAR,MAAC,KACJ,EAAK,EAAc,EAAG,EAAG,GACzB,GAAF,OAAO,MAAM,GACP,MAAF,IAAI,MAAM,OAEZ,GAAF,EAAE,GAAK,EAAK,EAAE,GAAK,EAAE,GAAKkyB,EAAE,GAAK,EAAK,MAAO,CACvC,EAAJ,IACI,MAGJ,IADA,IAAF,EAAI,EACD,EAAI,KAAU,CACX,IAAF,EAAK,EAAW,EAAG,GACjB,GAAJ,EAAE,GAAK,EAAK,EAAE,GAAK,EAAE,GAAK,EAAK,EAAE,GAAK,EAAK,MACnC,MAMJ,IAHA,IAAF,GAAS,EAAO,IAAS,EAAI,GAAK,EAAI,EACxC,EAAI,KAAK,KAAK,KAAK,MAAM,IAEtB,EAAI,KAAU,CACT,IAAJ,EAAO,EAAI,EAAI,KAAK,IAAI,GAAI,GAC5B,EAAK,EAAY,EAAM,EAAM,GAAQ,EAAI,IAErC,GAAN,EAAE,GAAK,EAAK,EAAE,GAAK,EAAK,EAAE,GAAK,EAAK,EAAE,GAAK,EAAK,MACtC,MAGJ,IAAJ,EAAW,KAAK,MAAM,EAAO,GAAQ,GAAK,EAAI,GAAK,EACnD,EAAW,KAAK,KAAK,EAAO,GAAQ,EAEhC,GAAN,EAAW,EACb,GAAQ,MADA,CAIV,IAAK,IAAI,EAAQ,EAAU,GAAS,EAAU,GAAgB,EAAG,CAC/D,IAAM,EAAO,GAAS,EAAO,GACvB,EAAO,EAAO,GAAQ,EAAI,GAC1B,EAAQ,EAER,EAAI,EAAW,EAAG,EAAG,EAAG,EAAM,EAAM,GACpC,EAAI,EAAS,EAAM,EAAM,EAAM,GAC/B,EAAI,EAAQ,EAAG,EAAG,EAAM,EAAM,EAAM,GAGpC,EAAQ,EAAE,GAAK,EAAI,EAAE,GAAK,EAAI,EAAE,GAAK,EAjF9C,EAiFkD,EAAE,GAC7C,EAAQ,EAAK,SAAW,GAAc,GAAQ,GAAQ,GAAQ,KAChE,EAAK,KAAO,EACZ,EAAK,KAAO,EACZ,EAAK,MAAQ,EACb,EAAK,MAAQ,GAGjB,GAAQ,GAEV,GAAQ,GAGZ,GAAQ,EAKV,IAFA,IAAM,EAAU,OAAO,UAAU,EAAK,OAAS,EAAI,KAAK,KAAK,KAAK,IAAI,KAAK,MAAM,EAAK,SAChF,EAAQ,GACL,EAAO,EAAK,KAAM,GAAQ,EAAK,KAAM,GAAQ,EAAK,MACzD,EAAM,KAAK,GAEb,IAAM,EAAQ,EAAU,cAAI,GAAO,SAAC,GAAc,cAAO,WAAW,EAAE,QAApB,OAAyC,EAE3F,MAAO,CACL,IAAK,KAAK,IAAI,EAAM,eAAK,IACzB,IAAK,KAAK,IAAI,EAAM,eAAK,IACzB,MAAK,GC7JK,SAAU,EAAkB,GAChC,MAAoC,EAA9B,OAAE,EAA4B,EAAhB,aAAE,EAAc,EAAL,UAEjC,EAAQ,EACZ,GAAE,mBAAS,GACX,OAAO,iBAAO,GAAO,SAAC,EAAS,GAAc,SAAI,GAAJ,KAEzC,MAAa,EAAV,IAAE,EAAQ,EAAL,IAOZ,GANE,gBAAM,KACJ,EAAE,GAEJ,gBAAM,KACJ,EAAE,EAAO,OAAS,GAEpB,mBAAS,IAAc,EAAY,EAAM,EAAK,CAGxC,MAAU,EAAS,EAAK,EAAK,GAAW,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAnE,MAEb,OADc,iBAAO,GAAO,SAAC,GAAS,UAAQ,GAAO,GAAf,KACzB,KAAI,SAAC,GAAU,eAE9B,OAAO,EAAO,MAAM,EAAK,EAAM,GClBjC,IACM,EAAM,KAAK,KAAK,IAChB,EAAK,KAAK,KAAK,IACf,EAAK,KAAK,KAAK,GAGrB,aAAE,SAAF,IACU,aAAoB,CAAC,EAAG,GAkDhC,OAhDS,EAAF,iBAAP,SAAc,GACR,UACF,KAAK,QAAU,MAAM,KAAK,EAAQ,QAC3B,MAEF,KAAK,QAAQ,SAGf,iBAAP,SAAY,G,aAAA,UAjBQ,GAkBd,IAKA,EALE,EAAI,KAAK,QAAQ,QACnB,EAAK,EACL,EAAK,KAAK,QAAQ,OAAS,EAC3B,EAAQ,KAAK,QAAQ,GACrB,EAAO,KAAK,QAAQ,GA6BpB,OA1BA,EAAO,IACR,GAAD,EAAgB,CAAC,EAAMhV,IAAjB,GAAE,EAAI,KACX,GAAD,EAAW,CAAC,EAAI,IAAb,GAAE,EAAE,OAEL,EAAG,EAAc,EAAO,EAAM,IAEvB,EAGH,EAAC,EAFP,EAAQ,KAAK,MAAM,EAAQ,GAAQ,EAC7B,EAAC,KAAK,KAAK,EAAO,GAAQne,EACE,GACzB,EAAO,IAGV,EAAC,EAFP,EAAQ,KAAK,KAAK,EAAQ,GAAQ,EAClC,EAAO,KAAK,MAAM,EAAO,GAAQ,EACC,IAGhC,EAAO,GACT,EAAE,GAAM,KAAK,MAAM,EAAQ,GAAQ,EAC7BtF,EAAJ,GAAM,KAAK,KAAK,EAAO,GAAQ,EAC3B,KAAD,OAAO,IACH,EAAO,IAChB,EAAE,GAAM,KAAK,KAAK,EAAQ,GAAQ,EAClC,EAAE,GAAM,KAAK,MAAM,EAAO,GAAQ,EAClC,KAAK,OAAO,IAGP,MAGF,kBAAP,SAAa,GACX,YADW,UAtDO,GA2DtB,SAAsB,EAAe,EAAc,GAC/C,IAAE,EAEA,EACA,EACA,EAHA,GAAK,EAMP,GADiC,GAAS,GAA3B,GAAS,MAAzB,GAAQ,IACa,EAAQ,EACxB,MAAG,CAAC,IAGL,EAAU,EAAO,KACnB,EAAI,EAAS,EAAQ,EAAQ,EAAO,GAGrC,GAAiD,KAA9C,EAAO,EAAc,EAAO,EAAM,MAAkB,SAAS,GAC5D,MAAG,GAGP,GAAE,EAAO,EAIL,IAHA,EAAI,KAAK,KAAK,EAAQ,GAC1B,EAAO,KAAK,MAAM,EAAO,GACzB,EAAQ,IAAI,MAAO,EAAI,KAAK,KAAK,EAAO,EAAQ,MACvC,EAAI,GACX,EAAM,IAAM,EAAQ,GAAK,OAM3B,IAHI,EAAI,KAAK,MAAM,EAAQ,GACvB,EAAG,KAAK,KAAK,EAAO,GACxB,EAAQ,IAAI,MAAO,EAAI,KAAK,KAAK,EAAQ,EAAO,MACvC,EAAI,GACX,EAAM,IAAM,EAAQ,GAAK,EAIzB,GACF,EAAM,UAGN,OAAK,EA5CE,CAAa,KAAK,QAAQ,GAAI,KAAK,QAAQ,KAAK,QAAQ,OAAS,GAAI,GAvD1D,IAyDtB,EAnDA,GAgGA,SAAS,EAAc,EAAe,EAAc,GAClD,IAAM,GAAQ,EAAO,GAAS,KAAK,IAAI,EAAG,GACpC,EAAQ,KAAK,MAAM,KAAK,IAAI,GAAQ,KAAK,MACzC,EAAQ,EAAO,KAAK,IAAI,GAAI,GAElC,OAAO,GAAS,GACX,GAAS,EAAM,GAAK,GAAS,EAAK,EAAI,GAAS,EAAK,EAAI,GAAK,KAAK,IAAI,GAAI,IAC1E,KAAK,IAAI,IAAK,IAAU,GAAS,EAAM,GAAK,GAAS,EAAK,EAAI,GAAS,EAAK,EAAI,GCtHvF,SAAS,EAAa,EAAG,EAAM,GAS3B,OAPe,SAAb,EACI,KAAK,KAAK,EAAI,GACE,UAAb,EACH,KAAK,MAAM,EAAI,GAEf,KAAK,MAAM,EAAI,IAEV,EAGD,SAAU,EAAc,EAAK,EAAK,GAE5C,IAAE,EAAU,EAAa,EAAK,EAAU,SACtC,EAAU,EAAa,EAAK,EAAU,QAExC,EAAQ,oBAAU,EAAS,GAC3B,EAAQ,oBAAU,EAAS,GAE3B,IADA,IAAI,EAAQ,GACL,EAAI,EAAS,GAAK,EAAS,GAAQ,EAAU,CAChD,IAAE,EAAY,oBAAU,EAAG,GAC/B,EAAM,KAAK,GAEX,MAAK,CACD,IAAC,EACD,IAAC,EACL,MAAK,GCrBK,SAAU,EAAY,EAAkB,EAAqB,G,MACjE,EAAgD,EAAxC,SAAE,EAAsC,EAA9B,SAAE,EAA4B,EAAzB,IAAE,EAAuB,EAApB,IAAE,EAAkB,EAAL,UAAb,OAAS,MAAG,EAAC,EAC/C,EAAU,gBAAM,GAAa,gBAAM,GAAc,EAAM,EAAc,EACrE,EAAU,gBAAM,GAAa,gBAAM,GAAc,EAAM,EAAc,EAMvE,GAJE,EAAU,IACX,GAAD,EAAqB,CAAC,EAAS,IAAvB,GAAE,EAAO,MAGf,GAAa,EACf,MAAO,CAAC,EAAS,GAMnB,IAHE,IAAI,GAAQ,EAAU,IAAY,EAAY,GAC1C,EAAkB,GAEf,EAAI,EAAG,EAAI,EAAW,IAC7B,EAAM,KAAK,EAAU,EAAO,GAG9B,OAAO,EC7BK,SAAU04B,EAAO5W,EAAa,EAAa,qBACrD,IAAI,EAAM,CACV,IAAK,EACD,IAAC,EACD,MAAG,IAWH,GADI,EAAM,GACF,EAQRjgB,EAAO2Q,KAAKyQ,IAAI,GAAIzQ,KAAKwR,MAAMxR,KAAKmmB,MAAM54B,KAC1C64B,EAAU/2B,EAAO,EAAI2Q,KAAKqmB,KAAKrmB,KAAKsmB,IAAItmB,KAAKmmB,MAAM92B,KAAU,EAC/D,EAAO,EACP,EAAI,EAAO,EAfL,KAec,EAAI,IAEtB,EAAI,EAAO,EAhBN,MAgBgB,GADrBk3B,EAAG,EAAI,KAGL,GAAK,EAAO,EAnBV,KAmBmB,GADnBA,EAAC,EAAI,MAEDA,EAAD,GAAK,GAIhB,IAAIC,EAAKxmB,KAAKqmB,KAAKhX,EAAMkX,GACrBh4B,EAAKyR,KAAKwR,MAAMlC,EAAMiX,GAE1BE,EAAE,IAAM,KAAK,IAAI,EAAK,EAAM,GAC5B,EAAE,IAAM,KAAK,IAAI,EAAK,EAAM,GAG5B,IADA,IAAE,EAAI,OAAO,YAAY,EAAK,GAAM,QAAQ,IACvC,EAAI,GACL,QAAM,KAAK,GACX,GAAC,EACD,IACF,EAAI,OAAO,WAAW,EAAE,QAAQ,KAKpC,OAFA,EAAI,MAAM,KAAK,GAER,EC7CT,SAAS,EAAe,EAAG,GACvB,IAAI,EAAM,EAAE,OAAS,EAOrB,OAAQ,IAAN,EAEK,EAAE,EAAE,OAAS,GACL,IAAN,EAEF,EAAE,GACAzsB,EAAM,GAAM,EAEd,EAAE,KAAK,KAAK,GAAO,GACjB,EAAE,OAAS,GAAM,GAGlB,EAAE,EAAM,GAAK,EAAE,IAAQ,EAIxB,EAAE,GC3Bb,SAAS,EAAQ,GACf,OAAO,IAAI,KAAK,GAAM,cAGxB,SAAS,GAAW,GAChB,OAAK,IAAI,KAAK,EAAM,EAAG,GAAG,UAG9B,SAAS,GAAS,GACd,OAAK,IAAI,KAAK,GAAM,WAWxB,SAAS,GAAW,EAAc,GAC9B,OAAK,IAAI,KAAK,EAAM,EAAO,GAAG,UCZlC0sB,EAAmB,MAAO,GAC1BA,EAAmB,YCLL,SAAgC,GAC1C,IAAI,EAAQ,EAASptB,GACjBqtB,EAAY,eAAK,EAAI,QAI3B,OAHI,IAAc,eAAK,IACrB,EAAM,KAAK,GAEN,KDATD,EAAmB,sBEHL,SAAiB,GACrB,MAAgE,EAA7D,IAAE,EAA2D,EAAxD,IAAE,EAAsD,EAA7C,UAAE,EAA2C,EAAvC,KAAE,EAAqC,EAAzB,aAAE,EAAuB,EAAf,SAAE,EAAa,EAAL,SAC7D,EAAQ,EAAS,EAAK,EAAK,EAAW,GAAM,MAEhD,OAAG,gBAAM,IAAc,gBAAM,GAG3B,EACK,EAAS,EAAK,EAAK,GAAc,MAEnC,EALE,EAAY,EAAK,eAAK,GAAQ,eAAK,OFD9CA,EAAmB,YGJL,SAAuB,GAC3B,MAA0D,EAAvD,IAAE,EAAqD,EAAlD,IAAE,EAAgD,EAAvC,UAAE,EAAqC,EAAzB,aAAE,EAAuB,EAAf,SAAE,EAAa,EAAL,SACvD,EAAQ,EAAO,EAAK,EAAK,GAAW,MAExC,OAAG,gBAAM,IAAc,gBAAM,GAG3B,EACK,EAAS,EAAK,EAAK,GAAc,MAEnC,EALE,EAAY,EAAK,eAAK,GAAQ,eAAK,OHA9CA,EAAmB,QIbL,SAA6B,GACjC,MAA8B,EAA3B,IAAE,EAAyB,EAAtB,IAAE,EAAoB,EAAL,gBAC7B,EAAe,EAAI,aACnB,EAAY,EAAI,UAElB,GAAE,EACF,EAAY,KAAK,MAAM,EAAM,GAAO,OAC/B,CAED,IACE,GADS,EAAM,IADjB,EAAW,EAAgB,EAAK,EAAK,GAAW,IAE9B,EAClB,EAAQ,IACV,GAA8B,KAAK,KAAK,IAGtC,GAAmB,EAAe,IACpC,EAAe,GAIjB,IADA,IAAI,EAAQ,GACL,EAAI,EAAK,EAAI,EAAM,EAAc,GAAK,EAC7C,EAAM,KAAK,GAEb,OAAO,KJTTA,EAAmB,eD2BL,SAAqB,GACzB,MAA8B,EAA3B,IAAE,EAAyB,EAAtB,IAAE,EAAoB,EAAL,gBAC7B,EAAe,EAAI,aACjB,EAAY,EAAI,UAChB,EAAkB,GAEnB,IACC,GAAY,EAAM,GAAO,EAEzB,GAAmB,EAAe,IACpC,EAAe,IAGjB,IAAI,EAAU,EAAQ,GAEtB,GAAE,EpBtBO,QoByBL,IAFA,IAAE,EAAU,EAAQ,GAClB,EAAe,KAAK,KAAK,EpBxBtB,SoByBAx5B,EAAI,EAAS,GAAK,EAAU,EAAc,GAAQ,EACzD,EAAM,KAAK,GAAW,SAEnB,GAAI05B,EAAe,EAEpB,KAAE,EAAgB,KAAK,KAAK,EAAe,GACzC,EAAS,GAAS,GAClB,EAtDV,SAAmB,EAAa,GAC9B,IAAM,EAAU,EAAQ,GAClB,EAAU,EAAQ,GAClB,EAAW,GAAS,GAE1B,OAA6B,IAArB,EAAU,IADD,GAAS,GACqB,GAAY,GAiDzC,CAAU,EAAK,GAC3B,IAAK,EAAI,EAAG,GAAK,EAAU,EAAe,GAAQ,EACpD,EAAM,KAAK,GAAW,EAAS,EAAI,SAEhC,GAAI,EAAe,EAEpB,KACE,GADA,EAAO,IAAI,KAAK,IACJ,cACZ,EAAQ,EAAK,WACb,EAAO,EAAK,UACZ,EAAM,KAAK,KAAK,EAAe,GAC/B,EArDV,SAAiB,EAAa,GAC5B,OAAO,KAAK,MAAM,EAAM,GAAO,GAoDf,CAAQ,EAAK,GACvB,IAAK,EAAI,EAAG,EAAI,EAAQ,EAAK,GAAQ,EACvC,EAAM,KAAK,IAAI,KAAK,EAAM,EAAO,EAAO,GAAG,gBAExC,GAAI,EAAe,EAEpB,CACE,GADA,EAAO,IAAI,KAAK,IACJ,cACZ,EAAQ,EAAK,WACb,EAAM,EAAK,UAHb,IAAE,EAIA,EAAO,EAAK,WACZ,EAAQ,KAAK,KAAK,EAAe,GACjC,EA7DV,SAAkB,EAAa,GAC7B,OAAO,KAAK,MAAM,EAAM,GAAO,GA4Dd,CAAS,EAAK,GACzB,IAAK15B,EAAI,EAAG,GAAK,EAAS,EAAO,GAAQ,EAC3C,EAAM,KAAK,IAAI,KAAK,EAAM,EAAO,EAAK,EAAOA,GAAG,gBAE7C,GAAI,EpB/DE,IoBiEX,KAAM,EA/DV,SAAmB,EAAa,GAC5B,OAAK,KAAK,MAAM,EAAM,GAAP,KA8DA,CAAU,EAAK,GACxB,EAAU,KAAK,KAAK,EpBlEf,KoBmEP,IAAK,EAAI,EAAG,GAAK,EAAS,EAAS,GAAQ,EAC7C,EAAM,KAAK,EpBpEF,IoBoEQ,OAEd,CAED,MAAW,EACX,EpB1EO,MoB2ET,EpB3ES,KoB6EP,IAAE,EpB7EK,IoB6EO,KAAK,MAAM,EpB7ElB,KoB8EL,EAAW,KAAK,MAAM,EAAM,GpB9EvB,KoB+EL,EAAU,KAAK,KAAK,EpB/Ef,KoBgFX,IAAS,EAAI,EAAG,EAAI,EAAW,EAAS,GAAQ,EAC9C,EAAM,KAAK,EpBjFF,IoBiFc,GAG3B,OAAO,KClGTw5B,EAAmB,OKTL,SAA4B,GAChC,IACJ,EADI,EAAsC,EAAlC,KAAE,EAAgC,EAAvB,UAAE,EAAqB,EAAlB,IAAE,EAAgB,EAAb,IAAE,EAAW,EAAL,OAEnC,EAAU,EAAI,EAAM,GACxB,GAAE,EAAM,EACJ,EAAM,KAAK,MAAM,EAAI,EAAM,QAC1B,CACL,IAAM,EAAc,EAAkB,EAAQ,EAAM,GACpD,EAAU,KAAK,MAAM,EAAI,EAAM,IAK/B,IAHA,IAAI,EAAQ,EAAU,EAClB,EAAM,KAAK,KAAK,EAAQ,GACxBG,EAAQ,GACL,EAAI,EAAS,EAAI,EAAU,EAAK,GAAQ,EAC/C,EAAM,KAAK,KAAK,IAAI,EAAM,IAM5B,OAJI,GAAO,GAET,EAAM,QAAQ,GAET,KLVTH,EAAmB,OMXL,SAA4B,GAChC,MAAwB,EAAhB,SAAE,EAAc,EAAL,UACrB,EAAM1mB,KAAK,KAAK,EAAQ,EAAU,EAAI,MAG1C,OADY,EADF,KAAK,MAAM,EAAQ,EAAU,EAAI,MACnB,EAAK,GAAW,MAC7B,KAAI,SAAC,GACZ,IAAE,EAAS,GAAQ,EAAI,GAAK,EAChC,OAAO,KAAK,IAAI,EAAM,GAAY,QNKtC0mB,EAAmB,YFcL,SAAyB,GAC7B,MAAsB,EAAb,UAAE,EAAW,EAAL,OACvB,IAAG,IAAW,EAAO,OACrB,MAAO,GAMP,IAJA,IAAI,EAAS,EAAO,QAAQ,MAAK,SAAC,EAAG,GACrC,OAAO,EAAI,KAEP,EAAQ,GACL,EAAI,EAAG,EAAI,EAAW,IAAK,CAClC,IAAM,EAAI,GAAK,EAAY,GACvB,EAAE,KAAK,EAAe,EAAQ,IAElC,OAAK,KE1BT,EAAmB,aOfL,SAA6B,GACjC,MAA+C,EAA5C,IAAE,EAA0C,EAAvC,IAAE,EAAqC,EAAzB,aAAE,EAAuB,EAAf,SAAE,EAAa,EAAL,SAC5C,EbNM,SAAmB,GACvB,MAA8B,EAA3B,IAAE,EAAyB,EAAtB,IAAE,EAAoB,EAAhB,KAAE,EAAc,EAAL,UAC3B,EAAS,IAAI,EAKnB,OAJE,EAAK,OAAO,CAAC,EAAK,IAChB,GACF,EAAO,KAAK,GAEP,EAAO,MAAM,GaDN,CAAS,GAErB,OAAG,gBAAM,IAAc,gBAAM,GAG3B,EACK,EAAS,EAAK,EAAK,GAAc,MAEnC,EALE,EAAY,EAAK,eAAK,GAAQ,eAAK,OxFE9C,EAAc,MAAO,GACrB,EAAc,WAAY,GAC1B,EAAc,WAAY,GAC1B,EAAc,SAAU,GACxB,EAAc,MAAO,GACrB,EAAc,MAAO,GACrB,EAAc,OAAQ,GACtB,EAAc,UAAW,GACzB,EAAc,WAAY,GAC1B,EAAc,WAAY,I,6BAf1B,WAGA,0BACU,aAAsB,GAyGhC,OAjGE,wBAAG,EAAa,EAAoB,GAQlC,OAPK,KAAK,QAAQ,KAChB,KAAK,QAAQ,GAAO,IAEtB,KAAK,QAAQ,GAAK,KAAK,CACrB,SAAQ,EACR,OAAQ,IAEH,MAQT,0BAAK,EAAa,GAEhB,OADA,KAAK,GAAG,EAAK,GAAU,GAChB,MAQT,0BAAK,G,IAAL,WAAkB,oDAChB,IAAM,EAAS,KAAK,QAAQ,IAAQ,GAC9B,EAAiB,KAAK,QAxCf,MAwCoC,GAG3C,EAAS,SAAC,GAEd,IADA,IAAI,EAAS,EAAG,OACP,EAAI,EAAG,EAAI,EAAQ,IAC1B,GAAK,EAAG,GAAR,CAGM,WAAE,aAAU,SAGhB,EAAG,OAAO,EAAG,GAEK,IAAd,EAAG,eACE,EAAK,QAAQ,GAGtB,IACA,KAGF,EAAS,MAAM,EAAM,KAIzB,EAAO,GACP,EAAO,IAQT,yBAAI,EAAc,GAChB,GAAK,EAIH,GAAK,EAGE,CAKL,IAHA,IAAM,EAAS,KAAK,QAAQ,IAAQ,GAEhC,EAAS,EAAO,OACX,EAAI,EAAG,EAAI,EAAQ,IACtB,EAAO,GAAG,WAAa,IACzB,EAAO,OAAO,EAAG,GACjB,IACA,KAIkB,IAAlB,EAAO,eACF,KAAK,QAAQ,eAff,KAAK,QAAQ,QAJtB,KAAK,QAAU,GAwBjB,OAAO,MAIT,iCACE,OAAO,KAAK,SAEhB,EA1GA,G,2F9IVA,YAEA,UAAe,SAAC,GACd,OAAO,MAAM,QACX,MAAM,QAAQ,GACd,UAAO,EAAO,W,uZuOLlB,WACA,OAEA,SAASI,EAAU/yB,GACjB,IAAIgzB,EAAM,EAIV,OAHA,EAAA1sB,KAAKtG,GAAG,SAAC5F,GACP44B,GAAO54B,EAAQA,KAEV6R,KAAKI,KAAK2mB,GAGnB,SAASC,EAAaC,EAAIC,GACxB,OAAOD,EAAGpsB,EAAIqsB,EAAG5zB,EAAI2zB,EAAG3zB,EAAI4zB,EAAGrsB,EAsCjC,SAASssB,EAAY3F,EAAO4F,EAAQC,QAAA,IAAAA,MAAA,GAClC,IAAMC,EAAmC,CAAC9F,EAAM3mB,EAAG2mB,EAAMluB,EAAG+zB,GAE5D,OADA,EAAAE,KAAKC,cAAcF,EAAQA,EAAQF,GAC5B,CACLvsB,EAAGysB,EAAO,GACVh0B,EAAGg0B,EAAO,IAId,SAASG,EAAUt5B,EAAOmhB,EAAKD,GAC7B,OAAOlhB,GAASmhB,GAAOnhB,GAASkhB,EAqRhC,EAAA2X,eAIA,EAAAU,QAtUF,SAAiBT,EAAIC,GACnB,IAAMS,EAAOb,EAAUG,GACjBW,EAAOd,EAAUI,GACjBW,EAAMb,EAAaC,EAAIC,GAE7B,OADclnB,KAAK8nB,KAAKD,EAAMF,EAAOC,IA+TrC,EAAAG,eA3TF,SAAwBd,EAAIC,GAC1B,IAAMS,EAAOb,EAAUG,GACjBW,EAAOd,EAAUI,GACjBW,EAAMb,EAAaC,EAAIC,GACvBc,EAAQhoB,KAAK8nB,KAAKD,EAAMF,EAAOC,GACrC,OAAOD,EAAOC,EAAO5nB,KAAKioB,IAAID,IAuT9B,EAAAE,eApTF,SAAwBjB,EAAIC,GAC1B,IAAMiB,EAAKlB,EAAGpsB,EACZutB,EAAKnB,EAAG3zB,EACR+0B,EAAKpB,EAAGqB,EACJC,EAAKrB,EAAGrsB,EACZ2tB,EAAKtB,EAAG5zB,EACRm1B,EAAKvB,EAAGoB,EAMV,MAAO,CAAEztB,EAJCutB,EAAKK,EAAKJ,EAAKG,EAIbl1B,EAHF+0B,EAAKE,EAAKJ,EAAKM,EAGVH,EAFLH,EAAKK,EAAKJ,EAAKG,IA2SzB,EAAAG,MAtSF,SAAezB,EAAIC,GACjB,MAAO,CAAErsB,EAAGosB,EAAGpsB,EAAIqsB,EAAGrsB,EAAGvH,EAAG2zB,EAAG3zB,EAAI4zB,EAAG5zB,IAyRtC,EAAA6zB,cACA,EAAAM,YAzOF,SAASkB,EAAiB35B,EAAG45B,GAG3B,IADA,IAAIC,GAAS,EACJ37B,EAAI,EAAG+H,EAAI2zB,EAAQn5B,OAAS,EAAGvC,EAAI07B,EAAQn5B,OAAQwF,EAAI/H,IAAK,CACnE,IAAM47B,EAAKF,EAAQ17B,GAAG2N,EAChBkuB,EAAKH,EAAQ17B,GAAGoG,EAChB01B,EAAKJ,EAAQ3zB,GAAG4F,EAChBouB,EAAKL,EAAQ3zB,GAAG3B,EAEJy1B,EAAK/5B,EAAEsE,GAAM21B,EAAKj6B,EAAEsE,GAAKtE,EAAE6L,IAAOmuB,EAAKF,IAAO95B,EAAEsE,EAAIy1B,IAAQE,EAAKF,GAAMD,IAEvFD,GAAUA,GAGd,OAAOA,EAGT,SAASK,EAAIn1B,GACX,OAAOA,EAAIA,EAGb,SAASo1B,EAAMn0B,EAAGzE,GAChB,OAAOyP,KAAKI,KAAK8oB,EAAIl0B,EAAE6F,EAAItK,EAAEsK,GAAKquB,EAAIl0B,EAAE1B,EAAI/C,EAAE+C,IAOhD,SAAS81B,EAAqBp6B,EAAGq6B,EAAIC,GACnC,IAAMC,EAAKJ,EAAME,EAAIC,GACrB,GAAW,IAAPC,EACF,OAAOJ,EAAMn6B,EAAGq6B,GAElB,IAAIj7B,IAAMY,EAAE6L,EAAIwuB,EAAGxuB,IAAMyuB,EAAGzuB,EAAIwuB,EAAGxuB,IAAM7L,EAAEsE,EAAI+1B,EAAG/1B,IAAMg2B,EAAGh2B,EAAI+1B,EAAG/1B,IAAMi2B,EACxEn7B,EAAI4R,KAAKqP,IAAI,EAAGrP,KAAKsP,IAAI,EAAGlhB,IAC5B,IAAMo7B,EAAaL,EAAMn6B,EAAG,CAAE6L,EAAGwuB,EAAGxuB,EAAIzM,GAAKk7B,EAAGzuB,EAAIwuB,EAAGxuB,GAAIvH,EAAG+1B,EAAG/1B,EAAIlF,GAAKk7B,EAAGh2B,EAAI+1B,EAAG/1B,KACpF,OAAO0M,KAAKI,KAAKopB,GAInB,SAASC,EAA2Bz6B,EAAG45B,GACrC,IAAItZ,EAAMlM,IAEV,EAAA/I,KAAKuuB,GAAS,SAAC70B,GACb,IAAM7D,EAAO8P,KAAKI,KAAK+oB,EAAMp1B,EAAG/E,IAC5BsgB,EAAMpf,IACRof,EAAMpf,MAIV,IAAK,IAAIhD,EAAI,EAAG+H,EAAI2zB,EAAQn5B,OAAS,EAAGvC,EAAI07B,EAAQn5B,OAAQwF,EAAI/H,IAAK,CACnE,IAAM47B,EAAKF,EAAQ17B,GAAG2N,EAChBkuB,EAAKH,EAAQ17B,GAAGoG,EAChB01B,EAAKJ,EAAQ3zB,GAAG4F,EAChBouB,EAAKL,EAAQ3zB,GAAG3B,EAChBpD,EAAOk5B,EAAqBp6B,EAAG,CAAE6L,EAAGiuB,EAAIx1B,EAAGy1B,GAAM,CAAEluB,EAAGmuB,EAAI11B,EAAG21B,IAC/D3Z,EAAMpf,IACRof,EAAMpf,GAIV,OAAOof,EAGT,SAASoa,EAAsBC,EAAOC,GACpC,IAAgB,UAAAD,EAAA,eAAO,CAErB,GADehB,EADL,KACyBiB,GAEjC,OAAO,EAGX,OAAO,EAkKP,EAAAC,iBAzQF,SAA0BC,EAAIT,EAAIC,EAAIS,GACpC,IAAMjE,EACDwD,EAAGzuB,EAAIivB,EAAGjvB,EADTirB,EAEDwD,EAAGh2B,EAAIw2B,EAAGx2B,EAET02B,EACDX,EAAGxuB,EAAIivB,EAAGjvB,EADTmvB,EAEDX,EAAG/1B,EAAIw2B,EAAGx2B,EAET22B,EACDF,EAAGlvB,EAAIyuB,EAAGzuB,EADTovB,EAEDF,EAAGz2B,EAAIg2B,EAAGh2B,EAET42B,EAAQF,EAAOC,EAAOD,EAAOC,EAI/BzI,EAAQ,KACZ,GAJiB0I,EAAQA,EAhBT,MAiBAF,EAAOA,EAAOA,EAAOA,IACrBC,EAAOA,EAAOA,EAAOA,GAES,CAC5C,IAAMh7B,GAAK62B,EAAMmE,EAAOnE,EAAMmE,GAAQC,EAChC97B,GAAK03B,EAAMkE,EAAOlE,EAAMkE,GAAQE,EAClCzC,EAAUx4B,EAAG,EAAG,IAAMw4B,EAAUr5B,EAAG,EAAG,KACxCozB,EAAQ,CACN3mB,EAAGivB,EAAGjvB,EAAI5L,EAAI+6B,EACd12B,EAAGw2B,EAAGx2B,EAAIrE,EAAI+6B,IAIpB,OAAOxI,GA8OP,EAAAmH,mBAeA,EAAAQ,QAdA,EAAAgB,kBAnNF,SAA2Bn1B,EAAGzE,GAC5B,OAAOyP,KAAKI,KAAK8oB,EAAIl0B,EAAE6F,EAAItK,EAAEsK,GAAKquB,EAAIl0B,EAAE1B,EAAI/C,EAAE+C,KAmN9C,EAAA81B,uBACA,EAAAM,wBACA,EAAAU,4BApKF,SAAqCT,EAAOC,GAC1C,GAAIF,EAAsBC,EAAOC,GAC/B,OAAO,EAET,IAAIS,EAAOjnB,IACPknB,EAAOlnB,IAcX,OAbA,EAAA/I,KAAKsvB,GAAO,SAAC51B,GACX,IAAMw2B,EAAWd,EAA2B11B,EAAG61B,GAC3CS,EAAOE,IACTF,EAAOE,MAGX,EAAAlwB,KAAKuvB,GAAO,SAAC71B,GACX,IAAMw2B,EAAWd,EAA2B11B,EAAG41B,GAC3CW,EAAOC,IACTD,EAAOC,MAIJvqB,KAAKsP,IAAI+a,EAAMC,IAkJtB,EAAAE,aA/IF,SAAsBppB,GACpB,IAYIqpB,EAZErU,EAAOhV,EAAMsd,UACb7jB,EAAIub,EAAKrV,KACTzN,EAAI8iB,EAAKnV,KAMTypB,EAAYtU,EAAKpV,KAAOoV,EAAKrV,KAC7B4pB,EAAavU,EAAKlV,KAAOkV,EAAKnV,KAE9BmmB,EAAShmB,EAAMsiB,KAAK,UAOpBkH,EAAWzD,EAAY,CAAEtsB,EAAG,EAAGvH,EAAG,GAJtCm3B,EADErD,EACS,CAACA,EAAO,GAAIA,EAAO,GAAI,EAAGA,EAAO,GAAIA,EAAO,GAAI,EAAG,EAAG,EAAG,GAEzD,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAGtCwD,EAAS/vB,GAAKA,EACd+vB,EAASt3B,GAAKA,EACd,IAAMu3B,EAAY1D,EAAY,CAAEtsB,EAAG6vB,EAAWp3B,EAAG,GAAKm3B,GACtDI,EAAUhwB,GAAKA,EACfgwB,EAAUv3B,GAAKA,EACf,IAAMw3B,EAAc3D,EAAY,CAAEtsB,EAAG,EAAGvH,EAAGq3B,GAAcF,GACzDK,EAAYjwB,GAAKA,EACjBiwB,EAAYx3B,GAAKA,EACjB,IAAMy3B,EAAe5D,EAAY,CAAEtsB,EAAG6vB,EAAWp3B,EAAGq3B,GAAcF,GAClEM,EAAalwB,GAAKA,EAClBkwB,EAAaz3B,GAAKA,EAElB,IAAM03B,EAAS,CAACJ,EAAUC,EAAWC,EAAaC,GAClDC,EAAOC,MAAK,SAACj2B,EAAGzE,GACd,OAAOyE,EAAE1B,EAAI/C,EAAE+C,KAEjB,IAAM2N,EAAO+pB,EAAO,GAAG13B,EACjB4N,EAAO8pB,EAAOA,EAAOv7B,OAAS,GAAG6D,EACjC43B,EAAO,CAACF,EAAO,GAAIA,EAAO,IAC1BG,EAAU,CAACH,EAAO,GAAIA,EAAO,IAC7BI,EAAUF,EAAK,GAAGrwB,EAAIqwB,EAAK,GAAGrwB,EAAIqwB,EAAK,GAAKA,EAAK,GACjDG,EAAWH,EAAK,GAAGrwB,EAAIqwB,EAAK,GAAGrwB,EAAIqwB,EAAK,GAAKA,EAAK,GAClDI,EAAaH,EAAQ,GAAGtwB,EAAIswB,EAAQ,GAAGtwB,EAAIswB,EAAQ,GAAKA,EAAQ,GAChEI,EAAcJ,EAAQ,GAAGtwB,EAAIswB,EAAQ,GAAGtwB,EAAIswB,EAAQ,GAAKA,EAAQ,GACvEH,EAAOC,MAAK,SAACj2B,EAAGzE,GACd,OAAOyE,EAAE6F,EAAItK,EAAEsK,KAEjB,IAAMkG,EAAOiqB,EAAO,GAAGnwB,EACjBmG,EAAOgqB,EAAOA,EAAOv7B,OAAS,GAAGoL,EAgBvC,MAfa,CACX3D,MAAO8J,EAAOD,EACd5J,OAAQ+J,EAAOD,EACfuqB,KAAMzqB,EACN0qB,MAAOzqB,EACP0qB,IAAKzqB,EACL0qB,OAAQzqB,EACRkqB,QAAO,EACPC,SAAQ,EACRC,WAAU,EACVC,YAAW,EACXK,QAAS7qB,GAAQC,EAAOD,GAAQ,EAChC8qB,QAAS5qB,GAAQC,EAAOD,GAAQ,IAwFlC,EAAA6qB,mBA5EF,SAA4Bd,GAC1B,OAAIA,EAAOv7B,OAAS,EACXu7B,EAMX,SAASe,EAAef,EAAQgB,GAK9B,IAJA,IAAI98B,EACAmgB,GAAOjM,IACP7T,EAAQ,EACN08B,EAAWjB,EAAOv7B,OAAS,EACxBvC,EAAI,EAAGA,EAAI++B,EAAU/+B,IAAK,CACjC,IAAMs0B,EAAQwJ,EAAO99B,GACf0qB,EAAO,CAAE3G,MAAO+Z,EAAO,GAAI9Z,IAAK8Z,EAAOiB,IACvC/7B,EAAOk5B,EAAqB5H,EAAO5J,EAAK3G,MAAO2G,EAAK1G,KACtDhhB,EAAOmf,IACTA,EAAMnf,EACNX,EAAQrC,GAIZ,GAAImiB,EAAM2c,EAAW,CACnB,IAAME,EAAQH,EAAef,EAAOvZ,MAAM,EAAGliB,EAAQ,GAAIy8B,GACnDG,EAAQJ,EAAef,EAAOvZ,MAAMliB,EAAOy7B,EAAOv7B,QAASu8B,GACjE98B,EAASg9B,EAAMr3B,OAAOs3B,QAEtBj9B,EAAS,CAAC87B,EAAO,GAAIA,EAAOA,EAAOv7B,OAAS,IAE9C,OAAOP,EA1BA68B,CAAef,EANN,IA+EhB,EAAAoB,UA3CF,SAAmBC,GACjB,IAAMC,EAAO,EAAArJ,MAAMoJ,GACnBC,EAAKrB,MAAK,SAACj2B,EAAGzE,GACZ,OAAOyE,EAAIzE,KAGb,IAAMg8B,EAAOvsB,KAAKwR,MAAM8a,EAAK78B,OAAS,GAEtC,OAAI68B,EAAK78B,OAAS,EACT68B,EAAKC,IAGND,EAAKC,EAAO,GAAKD,EAAKC,IAAS,GAgCvC,EAAAC,QA7BF,SAAiBH,GACf,IAAItF,EAAc,EAIlB,OAHA,EAAA1sB,KAAKgyB,GAAO,SAAC38B,GACXq3B,GAAOr3B,KAEFq3B,EAAMsF,EAAM58B,QAyBnB,EAAAg9B,QAtBF,SAAiBlb,GACf,OAAOvR,KAAKqmB,KAAKrmB,KAAK+lB,IAAIxU,EAAO9hB,QAAUuQ,KAAK0sB,KAAO,GAiCzD,2BAAgC7xB,EAAWvH,EAAW4D,EAAeC,EAAgBrE,QAAA,IAAAA,MAAA,GAGnF,IAFA,IAAMk4B,EAAkC,GAE/B2B,EAAO9xB,EAAG8xB,GAAQ9xB,EAAI3D,EAAOy1B,GAAQ75B,EAC5Ck4B,EAAO72B,KAAK,CAACw4B,EAAMr5B,IAGrB,IAAK,IAAIs5B,EAAOt5B,EAAGs5B,GAAQt5B,EAAI6D,EAAQy1B,GAAQ95B,EAC7Ck4B,EAAO72B,KAAK,CAAC0G,EAAI3D,EAAO01B,IAG1B,IAASD,EAAO9xB,EAAI3D,EAAOy1B,GAAQ9xB,EAAG8xB,GAAQ75B,EAC5Ck4B,EAAO72B,KAAK,CAACw4B,EAAMr5B,EAAI6D,IAGzB,IAASy1B,EAAOt5B,EAAI6D,EAAQy1B,GAAQt5B,EAAGs5B,GAAQ95B,EAC7Ck4B,EAAO72B,KAAK,CAAC0G,EAAG+xB,IAElB,OAAO5B,I,6PCvXT,WACA,OAGA,SAAgB6B,EAAqB/yB,EAAYW,GAC/C,OAAO,EAAAqyB,OAAOhzB,EAAKuf,YAAY,SAACuG,GAAuB,OAAAA,EAASnlB,OAASA,KA8D3E,SAAgBsyB,EAAe/3B,EAASzE,EAASy8B,GAU/C,YAV+C,IAAAA,MAAA,GAC9BhtB,KAAKqP,IACpB,EACArP,KAAKsP,IAAIta,EAAE6F,EAAI7F,EAAEkC,MAAQ81B,EAAQz8B,EAAEsK,EAAItK,EAAE2G,MAAQ81B,GAAUhtB,KAAKqP,IAAIra,EAAE6F,EAAImyB,EAAQz8B,EAAEsK,EAAImyB,IAEzEhtB,KAAKqP,IACpB,EACArP,KAAKsP,IAAIta,EAAE1B,EAAI0B,EAAEmC,OAAS61B,EAAQz8B,EAAE+C,EAAI/C,EAAE4G,OAAS61B,GAAUhtB,KAAKqP,IAAIra,EAAE1B,EAAI05B,EAAQz8B,EAAE+C,EAAI05B,IAtE9F,yBAIA,6BAAkClzB,EAAYW,GAC5C,OAAO,EAAAwyB,KAAKJ,EAAqB/yB,EAAMW,KAGzC,6BAAkCmlB,GAChC,OAAO,EAAAzK,IAAIyK,EAASgD,UAAU,SAACC,GAAqB,OAAAA,EAAQzhB,UAG9D,2BAAgCtH,EAAY6I,GAC1C7I,EAAKuf,WAAWwF,QAAQlc,IAG1B,0BAA+B7I,EAAY6I,GACzC7I,EAAKuf,WAAWwF,SAAQ,SAACe,GACvBA,EAASgD,SAAS/D,SAAQ,SAACgE,GACzBlgB,EAASkgB,UAMf,4BACErK,EACA0U,EACAC,GAEA,OAAO,EAAAC,KAAKF,GAAO,SAACj6B,GAClB,OAAOk6B,EAAQl6B,EAAKlF,IAAI,EAAA2R,QAAS8Y,EAAIzqB,IAAI,EAAA2R,aAK7C,uBAA4B0B,EAAiBisB,GAC3C,IAAM3L,EAAMtgB,EAAMsd,UACd4O,EAAS,EACTC,EAAS,EAET7L,EAAI3gB,KAAOssB,EAAMtsB,KACnBusB,EAAS5L,EAAI3gB,KAAOssB,EAAMtsB,KACjB2gB,EAAI1gB,KAAOqsB,EAAMrsB,OAC1BssB,EAAS5L,EAAI1gB,KAAOqsB,EAAMrsB,MAExBssB,GACFlsB,EAAMsiB,KAAK,IAAKtiB,EAAMsiB,KAAK,KAAO4J,GAGhC5L,EAAIzgB,KAAOosB,EAAMpsB,KACnBssB,EAAS7L,EAAIzgB,KAAOosB,EAAMpsB,KACjBygB,EAAIxgB,KAAOmsB,EAAMnsB,OAC1BqsB,EAAS7L,EAAIxgB,KAAOmsB,EAAMnsB,MAExBqsB,GACFnsB,EAAMsiB,KAAK,IAAKtiB,EAAMsiB,KAAK,KAAO6J,IAOtC,mBAcA,6BAAkC/U,EAAe0U,GAC/C,IAAMxL,EAAMlJ,EAAIkG,UAChB,OAAO,EAAA0O,KAAKF,GAAO,SAACj6B,GAClB,IAAMxB,EAASwB,EAAKyrB,UACpB,OAAOqO,EAAerL,EAAKjwB,EAAQ,GAAK,O,yICpF5C,4BACA,4BACA,4BAGA,4BACA,4BACA,4BAIM+7B,EAAmB,CACvBxY,KAAM,UACNvhB,MAAO,UACP4qB,UAAW,WAGPoP,EAAe,CACnBpW,QAAS,UACT5jB,MAAO,UACPuhB,KAAM,WAGR,wBACEvnB,EACA6L,GAGA,OAAO,IAAIo0B,EADQF,EAAiB//B,IACd6L,GAAKd,QAG7B,mCAAwC/K,EAAMgN,GAC5C,OAAOgzB,EAAahgC,GAAMgN,K,2HCjC5B,WACA,SAWA,wBAA6BkzB,EAAUC,GACrC,IAAKA,EACH,OAAOD,EAVX,IAAgCjsB,EACxBmsB,EACAC,EACAC,EACAC,EASFpgC,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,eACnDD,EAASM,UAAYL,EAAWK,WAE9BrgC,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,SAE3B,aAApBA,EAAWnzB,OACbkzB,EAASlzB,KAAOmzB,EAAWnzB,MAG3B7M,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,kBAC3B,SAApBA,EAAWnzB,KACbkzB,EAAS/G,cAxBiBllB,EAwBqBksB,EAAWhH,aAvBxDiH,EAAY,EAAAK,cACZJ,EAAcpsB,EAASoc,MAAM,KAC7BiQ,EAAgBF,EAAUC,EAAY,IACtCE,EAAgBvf,SAASqf,EAAY,GAAI,IACxC,CAACC,EAAczf,OAAQ0f,EAAgBD,EAAc5/B,QAqBxDw/B,EAAS/G,aAAegH,EAAWhH,cAIf,SAApBgH,EAAWnzB,MAAmBmzB,EAAWO,OAC3CR,EAASQ,KAAOP,EAAWO,MAGzBvgC,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,SACnDD,EAASre,IAAMse,EAAWte,KAExB1hB,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,SACnDD,EAASte,IAAMue,EAAWve,KAExBzhB,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,cACnDD,EAASS,SAAWR,EAAWQ,UAE7BxgC,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,cACnDD,EAASU,SAAWT,EAAWS,UAG7BzgC,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,UACnDD,EAASW,KAAOV,EAAWU,MAEzB1gC,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,eACnDD,EAASY,UAAYX,EAAWW,WAE9B3gC,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,cACnDD,EAASa,SAAWZ,EAAWY,UAE7B5gC,OAAOkB,UAAUC,eAAe1B,KAAKugC,EAAY,UACnDD,EAASt+B,KAAOu+B,EAAWv+B,MAEzBu+B,EAAWa,aACbd,EAASc,WAAab,EAAWa,aAIrC,gCAAqCd,EAAuB99B,GAC1D,IAAM6+B,EAAsB,EAAA5B,OAAOj9B,GAAM,SAACkE,GAAM,SAAA+wB,SAAS/wB,MACnDub,EAAMtP,KAAKsP,IAAG,MAARtP,KAAY0uB,GAClBrf,EAAMrP,KAAKqP,IAAG,MAARrP,KAAY0uB,GAEpBpf,EAAM,EACJ,EAAArY,MAAM02B,EAASre,OACjBqe,EAASre,IAAM,GAERD,EAAM,GACX,EAAApY,MAAM02B,EAASte,OACjBse,EAASte,IAAM,K,uJC/ErB,WAEA,SAAgBsf,EAAQv/B,GACtB,IAAMw/B,EAAwC,IAArBx/B,EAAII,QAAQ,KAAaJ,EAAIy/B,OAAO,GAAKz/B,EAC5DD,EAAM,GAIZ,OAHAA,EAAIgF,KAAKsa,SAASmgB,EAASC,OAAO,EAAG,GAAI,KACzC1/B,EAAIgF,KAAKsa,SAASmgB,EAASC,OAAO,EAAG,GAAI,KACzC1/B,EAAIgF,KAAKsa,SAASmgB,EAASC,OAAO,EAAG,GAAI,KAClC1/B,EAGT,SAAgB2/B,EAAM3gC,GACpB,IAAI4F,EAMJ,OAHiB,KADjBA,GADAA,EAAIiM,KAAKuP,MAAMphB,IACTmB,SAAS,KACTG,SACJsE,EAAI,IAAI5F,GAEH4F,EAhBT,YASA,UAUA,mBAAwB5E,GACtB,MAAO,KAAI2/B,EAAM3/B,EAAI,IAAM2/B,EAAM3/B,EAAI,IAAM2/B,EAAM3/B,EAAI,MAGvD,wBAA6B4/B,EAAM9mB,GACjC,IAAI+mB,EAOJ,OANA,EAAA30B,KAAK00B,GAAM,SAACx+B,GACV,IAAM4kB,EAAM5kB,EACR0X,GAAQkN,EAAI8Z,MAAQhnB,EAAOkN,EAAI+Z,KACjCF,EAAU7Z,EAAI9G,UAGX2gB,GAKI,EAAAG,qBAAuB,SAAClhB,GAC7B,MAAY0gB,EAAQ1gB,GAG1B,OAFoB,IADZ,KACsB,IADnB,KAC6B,IAD1B,MACiC,IAAO,M,6BCtCxD,SAAS,EAAO,GACd,OAAO,KAAK,IAAI,MAAM,KAAM,GAG9B,SAASmhB,EAAO/C,GACZ,OAAK,KAAK,IAAI,MAAM,KAAM,G,2HAW9B,oBAAyB,EAAY,EAAY,EAAY,GACzD,IAAI,EAAK,EAAK,EACV,EAAK,EAAK,EAChB,OAAO,KAAK,KAAK,EAAK,EAAK,EAAK,IAGlC,yBAA8B,EAAY,GACxC,OAAO,KAAK,IAAI,EAAK,GAAM,MAG7B,0BAA+B,EAAgB,GAC3C,IAAI,EAAOgD,EAAO,GACd,EAAO,EAAO,GAGlB,MAAK,CACD,EAAD,EACC,EAAD,EACC,MALOD,EAAO,GAKJ,EACd,OALW,EAAO,GAKH,IAInB,wBAA6B,EAAY,EAAY,EAAY,GAC7D,MAAK,CACD,KAAE,EAAO,CAAC,EAAI,IACd,KAAE,EAAO,CAAC,EAAI,IACd,KAAE,EAAO,CAAC,EAAI,IAClB,KAAM,EAAO,CAAC,EAAI,MAItB,iBAAsB,GACpB,OAAQ,EAAkB,EAAV,KAAK,KAAqB,EAAV,KAAK,M,qoDChD3B,EAYA,EAsBA,E,eAlCZ,SAAY,GAEV,cAEA,YAEA,UANF,CAAY,MAAK,KAYjB,SAAY,GACV,YACA,sBACA,wBACA,gBACA,wBACA,8BACA,cACA,sBACA,4BACA,kBACA,4BACA,8BACA,kBACA,kBAEA,cAhBF,CAAY,MAAS,KAsBrB,SAAY,GAEV,cAEA,cAEA,kBAEA,oBAEA,0BAEA,gBAZF,CAAY,MAAc,KAkBnB,IAUK,EAmBA,EAwBA,EArDC,EACL,EADK,EAEN,EAFM,EAGP,GAON,SAAY,GACV,+BACA,6BAEA,6BACA,2BAEA,wCACA,sCAEA,6BACA,2BAEA,iCAbF,CAAY,MAAgB,KAmB5B,SAAY,GAEV,gCACA,8BACA,8BACA,0BACA,gCAEA,gCACA,8BACA,4BACA,kCAEA,qBACA,2BACA,iCAEA,qBACA,qBAlBF,CAAY,MAAW,KAwBvB,SAAY,GACV,kBACA,sBACA,sBACA,oBAJF,CAAY,MAAa,KAQlB,IAAM,EAAc,CAAC,QAAS,QAAS,QClHxCE,EAA8B,GAO9B,SAAUC,EAAU9hC,GACxB,IAAM+hC,EAAIF,EAAQ7hC,GAElB,IAAK+hC,EACH,MAAM,IAAIC,MAAM,aAAahiC,EAAI,gDAGnC,OAAO+hC,EAQH,SAAUE,EAAejiC,EAAckiC,GAC3CL,EAAQ7hC,GAAQkiC,E,WCGlB,SAAS,EAAS,GACd,MAAkB,iBAAN,IAAmB,MAAM,GAYnC,SAAU,EAAa,EAAkB,EAAkB,EAAe,GAC9E,IAAI,EAAI,EACJ,EAAI,EAER,GAAI,EAAS,CACX,IAAM,EAtCV,SAAwB,GACtB,IAAM,EAAQ,iBAAiB,GAE/B,MAAO,CACL,OACG,EAAI,aAAe,SAAS,EAAM,MAAO,KAC1C,SAAS,EAAM,YAAa,IAC5B,SAAS,EAAM,aAAc,IAC/B,QACG,EAAI,cAAgB,SAAS,EAAM,OAAQ,KAC5C,SAAS,EAAM,WAAY,IAC3B,SAAS,EAAM,cAAe,KA2BnB,CAAe,GAE5B,EAAI,EAAK,MAAQ,EAAK,MAAQ,EAC9B,EAAI,EAAK,OAAS,EAAK,OAAS,EAGhC,MAAK,CACL,MAAO,KAAK,IAAI,EAAS,GAAK,EFmEH,KElE3B,OAAQ,KAAK,IAAI,EAAS,GAAK,EFoEH,M,MrCjHhC,YAME,WAAYr2B,GAAZ,MACE,cAAO,KAHF,EAAA1B,WAAqB,EAIlB,MAAmB0B,EAAL,QAAd0d,OAAO,IAAG,GAAI,E,OACtB,EAAKA,QAAUA,E,EA0CnB,OAnDkC,yBAezB,YAAAoL,KAAP,WACkBvxB,KAAKmmB,SAEnBnmB,KAAK++B,eAAc,IAOhB,YAAAvN,KAAP,WACkBxxB,KAAKmmB,SAEnBnmB,KAAK++B,eAAc,IAOhB,YAAA33B,QAAP,WACEpH,KAAK6xB,MACL7xB,KAAK+G,WAAY,GAQZ,YAAAg4B,cAAP,SAAqB5Y,GACfnmB,KAAKmmB,UAAYA,IAGrBnmB,KAAKmmB,QAAUA,IAEnB,EAnDA,C,MAAkC,S,oDwC6DpB6Y,EAAiC,OAAzB,KAAUC,EAAe,OAAL,OAG5BC,EAAiC,OAAzB,KAAUC,EAAe,OAAL,OAGxBC,EAAiD,SAAnC,SAAcC,EAAqB,SAAL,WAGhDpxB,EAAgB,UAAL,KC3EnBqxB,EAAY,uTA0BZ,SAAUC,EAAmBt3B,EAAwBjJ,EAA2BwgC,GACpF,IAAM3B,EAAY7+B,GAAQ,GAE1B,GAAI,mBAASiJ,IAAW,gBAAM,qBAAW41B,EAAW51B,KAAW,kBAAQu3B,GAErE,OAAO,IADU,mBAAS,YACnB,CAAa,CAClBv3B,MAAOA,EAAMxJ,WACbiiB,OAAQ,CAACzY,KAIb,IAAMyY,EAAS,sBAAYmd,EAAW51B,GAGhC2B,EAAO,cAAI41B,EAAU,OAhC7B,SAAwBliC,GACtB,IAAIsM,EAAO,SAMX,OALI01B,EAAUG,KAAKniC,GACjBsM,EAAO,OACE,mBAAStM,KAClBsM,EAAO,OAEFA,EAyB4B81B,CAAehf,EAAO,KAEzD,OAAO,IADW,mBAAS9W,GACpB,CAAa,oBAClB3B,MAAK,EACLyY,OAAM,GACH8e,IA8BD,SAAUG,EAAQzW,GACtB,OAAOA,EAAM0W,OAAS1W,EAAMjhB,M,WCAxB,SAAU43B,EAActX,EAAwBuX,GACpD,IAAIvW,EAAS,CAAEnJ,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAAK4d,IAAK,CAAErW,EAAG,EAAGvH,EAAG,IAClD8lB,EAAWwX,OACbxW,EAtEE,SAAoCuW,GACxC,IAAI1f,EACAC,EAEJ,OAAQyf,GACN,KAAK3a,EAAU4I,IACb3N,EAAQ,CAAEpW,EAAG,EAAGvH,EAAG,GACnB4d,EAAM,CAAErW,EAAG,EAAGvH,EAAG,GACjB,MACF,KAAK0iB,EAAU6a,MACb5f,EAAQ,CAAEpW,EAAG,EAAGvH,EAAG,GACnB4d,EAAM,CAAErW,EAAG,EAAGvH,EAAG,GACjB,MACF,KAAK0iB,EAAU8a,OACb7f,EAAQ,CAAEpW,EAAG,EAAGvH,EAAG,GACnB4d,EAAM,CAAErW,EAAG,EAAGvH,EAAG,GACjB,MACF,KAAK0iB,EAAU+a,KACb9f,EAAQ,CAAEpW,EAAG,EAAGvH,EAAG,GACnB4d,EAAM,CAAErW,EAAG,EAAGvH,EAAG,GACjB,MACF,QACE2d,EAAQC,EAAM,CAAErW,EAAG,EAAGvH,EAAG,GAG7B,MAAO,CAAE2d,MAAK,EAAEC,IAAG,GA6CR8f,CAA0BL,GAC1BvX,EAAW6X,UACpB7W,EAtCE,SAAsChB,GAC1C,IAAInI,EACAC,EAqBJ,OApBIkI,EAAW8X,cACbjgB,EAAQ,CACNpW,EAAG,EACHvH,EAAG,GAEL4d,EAAM,CACJrW,EAAG,EACHvH,EAAG,KAGL2d,EAAQ,CACNpW,EAAG,EACHvH,EAAG,GAEL4d,EAAM,CACJrW,EAAG,EACHvH,EAAG,IAIA,CAAE2d,MAAK,EAAEC,IAAG,GAeRigB,CAA4B/X,IAG/B,IAAAnI,EAAemJ,EAAV,MAAElJ,EAAQkJ,EAAL,IAClB,MAAO,CACLnJ,MAAOmI,EAAWgY,QAAQngB,GAC1BC,IAAKkI,EAAWgY,QAAQlgB,IAsCtB,SAAUkP,EAAWhG,GACjB,IAAAnJ,EAAemJ,EAAV,MAAElJ,EAAQkJ,EAAL,IAElB,OAAOnJ,EAAMpW,IAAMqW,EAAIrW,EAUnB,SAAUw2B,EAAsBjX,EAAgBmG,GAC5C,IAAAtP,EAAemJ,EAAV,MAAElJ,EAAQkJ,EAAL,IAKlB,OAHuBgG,EAAWhG,IAK3BnJ,EAAM3d,EAAI4d,EAAI5d,IAAMitB,EAAO1lB,EAAIoW,EAAMpW,GAAK,EACtC,GAEC,GAILqW,EAAIrW,EAAIoW,EAAMpW,IAAMoW,EAAM3d,EAAIitB,EAAOjtB,GAAK,GACrC,EAED,EAYP,SAAUg+B,EAAgBh6B,EAAeq5B,GAC7C,OAAO,cAAIr5B,EAAO,CAAC,aAAc,OAAQq5B,GAAY,IAQjD,SAAUY,EAA0BnY,GAEhC,IAAAve,EAA+Bue,EAA9B,EAAE9lB,EAA4B8lB,EAA3B,EAAgBmH,EAAWnH,EAAL,aAC5BoY,EAAal+B,EAAE2d,MAAQ3d,EAAE4d,IACzBD,EAAQmI,EAAW8X,aACrB9X,EAAWgY,QAAQ,CACjBv2B,EAAG22B,EAAa,EAAI,EACpBl+B,EAAG,IAEL8lB,EAAWgY,QAAQ,CACjBv2B,EAAG,EACHvH,EAAGk+B,EAAa,EAAI,IAGpBC,EAAgC,CAACxgB,EAAMpW,EAAI0lB,EAAO1lB,EAAGoW,EAAM3d,EAAIitB,EAAOjtB,GACtEo+B,EAAiC,CAAC,EAAG,GACrCC,EACJ1gB,EAAM3d,EAAIitB,EAAOjtB,EAAI,OAAK00B,MAAMyJ,EAAaC,IAAyD,EAAzC,OAAK1J,MAAMyJ,EAAaC,GACjFE,EAAWD,GAAc92B,EAAEqW,IAAMrW,EAAEoW,OAGzC,MAAO,CACLsP,OAAM,EACNsR,OAJa7xB,KAAKI,KAAK,SAAC6Q,EAAMpW,EAAI0lB,EAAO1lB,EAAM,GAAI,SAACoW,EAAM3d,EAAIitB,EAAOjtB,EAAM,IAK3Eq+B,WAAU,EACVC,SAAQ,GAWN,SAAUE,EAAc3Y,EAA4CrgB,GACxE,OAAI,oBAAUqgB,IACI,IAATA,GAAyB,GAE3B,cAAIA,EAAM,CAACrgB,IASd,SAAUi5B,EAAiBC,EAAwBC,GACvD,OAAO,cAAID,EAAY,WAAYC,GAQ/B,SAAUC,EAAiBnY,EAAciY,GAC7C,OAAO,cAAIA,EAAY,CAAC,QAAS,QAASxB,EAAQzW,IChNpD,iBAaE,WAAYjgB,EAAYR,GAPjB,KAAA1B,WAAqB,EAKlB,KAAAu6B,OAAc,GAGtBthC,KAAKiJ,KAAOA,EACZjJ,KAAKyI,IAAM,kBAAQ,GAAIzI,KAAKmwB,gBAAiB1nB,GAuSjD,OAjSS,YAAAwf,KAAP,WAEOjoB,KAAK8F,YACR9F,KAAK8F,UAAY9F,KAAKuhC,mBAIxB,IAAMviC,EAAOgB,KAAKiJ,KAAKX,UACvBtI,KAAKshC,OAASthC,KAAKwhC,eAAexiC,IAW7B,YAAAsK,OAAP,WACEtJ,KAAKyhC,eAMA,YAAAnf,OAAP,aAQO,YAAAuG,MAAP,WACE7oB,KAAK0hC,mBAMA,YAAAt6B,QAAP,WACEpH,KAAK6oB,QAED7oB,KAAK8F,YACP9F,KAAK8F,UAAUgF,QAAO,GACtB9K,KAAK8F,eAAYrC,GAGnBzD,KAAK+G,WAAY,EACjB/G,KAAKiJ,UAAOxF,EACZzD,KAAKshC,OAAS,IAON,YAAAK,YAAV,SAAsBC,GACZ,IAAArY,EAA6CqY,EAAvC,OAAE5iC,EAAqC4iC,EAAjC,KAAE,EAA+BA,EAAL,QAA1Btb,OAAO,IAAG,EAAAtmB,KAAKyI,IAAI6d,QAAO,EAE1Crd,EAAOjJ,KAAKiJ,KAAK44B,WAAW,CAChCtY,OAAM,EACNjD,QAAO,IAITrd,EAAKjK,KAAKA,GAAQ,IAClB4iC,EAAM34B,KAAOA,EAGbjJ,KAAK8hC,eAAe74B,EAAM24B,GAElB,IAAAG,EAAa/hC,KAAKyI,IAAV,SAQhB,OAPIs5B,GACFA,EAAS94B,EAAM24B,GAIjB5hC,KAAKgiC,cAAc/4B,EAAM24B,GAElB34B,GAID,YAAAs4B,gBAAR,WAEE,OADwBvhC,KAAKiJ,KAAKC,SAAS+4B,EAAMC,MAC1BxY,YAMjB,YAAA+X,YAAR,WACEzhC,KAAKmiC,oBAMC,YAAAA,iBAAR,sBAEE,OAAOniC,KAAKshC,OAAOhd,KACjB,SAACsd,GACC,OAAO,EAAKD,YAAYC,OAQtB,YAAAF,gBAAR,sBAEE,eAAK1hC,KAAKshC,QAAQ,SAACM,GACbA,EAAM34B,OACR,EAAKA,KAAKm5B,WAAWR,EAAM34B,MAC3B24B,EAAM34B,UAAOxF,OAcT,YAAA4+B,eAAV,SAAyBrjC,EAAeiJ,GACtC,IAAM/I,EAAM,GACNojC,EAAiC,GAWvC,OARA,eAAKtjC,GAAM,SAACrC,GACV,IAAMW,EAAQX,EAAEsL,GACX,gBAAM3K,IAAWglC,EAAMhlC,KAC1B4B,EAAIoE,KAAKhG,GACTglC,EAAMhlC,IAAS,MAIZ4B,GAUC,YAAAqjC,UAAV,SAAoBC,EAAcC,EAAcC,EAAgBC,GAE9D,IAAMC,EAAS,GAAc,IAATH,EAAa,EAAIA,GAC/BI,EAAS,GAAc,IAATL,EAAa,EAAIA,GAYrC,MAAO,CACLpiB,MAXY,CACZpW,EAAG44B,EAASF,EACZjgC,EAAGogC,EAASF,GAUZtiB,IAPU,CACVrW,EAAG44B,GAAUF,EAAS,GACtBjgC,EAAGogC,GAAUF,EAAS,MAShB,YAAAxS,cAAV,WACE,MAAO,CACL4R,cAAUt+B,EACV4kB,WAAW,EACX/B,QAAS,GACTwc,OAAQ,KAOF,YAAAC,mBAAV,WAGE,MAAO,CACLn6B,MAAO,CACLknB,SAAU,GACVD,KAAM,OACNmT,WALehjC,KAAKiJ,KAAKyD,WAAWs2B,cAehC,YAAAC,YAAV,SAAsBh6B,EAAY24B,GAChC,IAAMhc,EAAU3c,EAAK4c,aAEfqd,EAAmBtd,EAAQ2C,WAC3BC,EAAavf,EAAKuf,WAIxB,GAAuB,SAFA,cAAI0a,EAAkB,OAAQ,SAEpB1a,EAAW5pB,OAAQ,CAC9C,gBAAMgnB,EAAQ0C,QAEhB1C,EAAQ0C,KAAO,IAEjB,IAAMA,EAAO1C,EAAQ0C,KAEf,EAASE,EAAW,GAAG2a,cAAtBn5B,EAAC,KAAEvH,EAAC,KAEL2gC,EAAUnC,EAAc3Y,EAAMte,GAC9Bq5B,EAAUpC,EAAc3Y,EAAM7lB,IAEpB,IAAZ2gC,IACFxd,EAAQ0C,KAAKte,GAAKhK,KAAKsjC,eAAet5B,EAAGse,EAAM8a,EAASxB,KAG1C,IAAZyB,IACFzd,EAAQ0C,KAAK7lB,GAAKzC,KAAKujC,eAAe9gC,EAAG6lB,EAAM+a,EAASzB,MASpD,YAAA4B,mBAAV,SAA6BC,GAC3B,OAAO,SAACC,GAEN,OAAO,gBAAMD,GAAY,SAAC96B,GAChB,IAAAV,EAAiBU,EAAZ,MAAErL,EAAUqL,EAAL,MAEpB,SAAK,gBAAMrL,IAAU2K,IACZy7B,EAAMz7B,KAAW3K,OA4ClC,EAtTA,GCzBMqmC,EAAoC,GAM7B,EAAW,SAAC/5B,GACvB,OAAO+5B,EAAO,oBAAU/5B,KAQb,EAAgB,SAACA,EAAcg6B,GAC1CD,EAAO,oBAAU/5B,IAASg6B,GCyBb,EA1Cf,WAUE,WAAYC,EAA8Bp7B,GACxCzI,KAAK6jC,QAAUA,EACf7jC,KAAKyI,IAAMA,EACXo7B,EAAQC,UAAU9jC,MA2BtB,OApBY,YAAA+jC,SAAV,SAAmBt7B,GACjB,iBAAOzI,KAAMyI,IAMR,YAAAwf,KAAP,WACEjoB,KAAK+jC,SAAS/jC,KAAKyI,MAMd,YAAArB,QAAP,WAEEpH,KAAK6jC,QAAQG,aAAahkC,MAE1BA,KAAK6jC,QAAU,MAEnB,EAxCA,G,ECFA,yB,+CAoBA,OApB4C,yBAQnC,YAAAI,QAAP,WACMjkC,KAAK8R,UACP9R,KAAK8R,SAAS9R,KAAK6jC,UAMhB,YAAAz8B,QAAP,WACE,YAAMA,QAAO,WACbpH,KAAK8R,SAAW,MAEpB,EApBA,CAA4C,GCWtCoyB,EAA4C,GAwB5C,SAAUC,EAAeC,GAC7B,IAAMC,EAAeH,EAAYE,GACjC,OAAO,cAAIC,EAAc,eAQrB,SAAU73B,EAAe43B,EAAoBE,EAAgC77B,GACjFy7B,EAAYE,GAAc,CACxBE,YAAW,EACX77B,IAAG,GAkBD,SAAU87B,GAAqBzyB,EAA0B+xB,GAC7D,IAAMW,EAAS,IAAI,EAAeX,GAGlC,OAFAW,EAAO1yB,SAAWA,EAClB0yB,EAAO5nC,KAAO,WACP4nC,EClCH,SAAUC,GAAiB1J,EAAiBC,EAAiBgG,EAAgB0D,GACjF,MAAO,CACL16B,EAAG+wB,EAAUiG,EAAS7xB,KAAKw1B,IAAID,GAC/BjiC,EAAGu4B,EAAUgG,EAAS7xB,KAAKioB,IAAIsN,IAc7B,SAAUE,GACd7J,EACAC,EACAgG,EACA6D,EACAC,EACAC,QAAA,IAAAA,MAAA,GAEA,IAAM3kB,EAAQqkB,GAAiB1J,EAASC,EAASgG,EAAQ6D,GACnDxkB,EAAMokB,GAAiB1J,EAASC,EAASgG,EAAQ8D,GAEjDE,EAAaP,GAAiB1J,EAASC,EAAS+J,EAAaF,GAC7DI,EAAWR,GAAiB1J,EAASC,EAAS+J,EAAaD,GAEjE,GAAIA,EAAmBD,GAAiC,EAAV11B,KAAKE,GAAQ,CAEzD,IAAM61B,EAAcT,GAAiB1J,EAASC,EAASgG,EAAQ6D,EAAqB11B,KAAKE,IACnF81B,EAAmBV,GAAiB1J,EAASC,EAAS+J,EAAaF,EAAqB11B,KAAKE,IAC7F+1B,EAAqB,CACzB,CAAC,IAAKhlB,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAGkE,EAAYl7B,EAAGk7B,EAAYziC,GAC1D,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAG3gB,EAAIrW,EAAGqW,EAAI5d,GAC1C,CAAC,IAAKuiC,EAAWh7B,EAAGg7B,EAAWviC,IAUjC,OARIsiC,IACFK,EAAmB9hC,KAAK,CAAC,IAAKyhC,EAAaA,EAAa,EAAG,EAAG,EAAGI,EAAiBn7B,EAAGm7B,EAAiB1iC,IACtG2iC,EAAmB9hC,KAAK,CAAC,IAAKyhC,EAAaA,EAAa,EAAG,EAAG,EAAGE,EAASj7B,EAAGi7B,EAASxiC,KAGxF2iC,EAAmB9hC,KAAK,CAAC,IAAK8c,EAAMpW,EAAGoW,EAAM3d,IAC7C2iC,EAAmB9hC,KAAK,CAAC,MAElB8hC,EAGT,IAAMC,EAAWP,EAAmBD,GAAsB11B,KAAKE,GAAK,EAAI,EAClEi2B,EAAqB,CACzB,CAAC,IAAKllB,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAKu+B,EAAQA,EAAQ,EAAGqE,EAAU,EAAGhlB,EAAIrW,EAAGqW,EAAI5d,GACjD,CAAC,IAAKwiC,EAASj7B,EAAGi7B,EAASxiC,IAQ7B,OANIsiC,GACFO,EAAmBhiC,KAAK,CAAC,IAAKyhC,EAAaA,EAAa,EAAGM,EAAU,EAAGL,EAAWh7B,EAAGg7B,EAAWviC,IAEnG6iC,EAAmBhiC,KAAK,CAAC,IAAK8c,EAAMpW,EAAGoW,EAAM3d,IAC7C6iC,EAAmBhiC,KAAK,CAAC,MAElBgiC,EAaH,SAAUC,GACdxK,EACAC,EACAgG,EACA6D,EACAC,GAEA,IAAM1kB,EAAQqkB,GAAiB1J,EAASC,EAASgG,EAAQ6D,GACnDxkB,EAAMokB,GAAiB1J,EAASC,EAASgG,EAAQ8D,GAEvD,GAAI,wBAAcA,EAAmBD,EAA8B,EAAV11B,KAAKE,IAAS,CACrE,IAAM61B,EAAcT,GAAiB1J,EAASC,EAASgG,EAAQ6D,EAAqB11B,KAAKE,IACzF,MAAO,CACL,CAAC,IAAK+Q,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAGkE,EAAYl7B,EAAGk7B,EAAYziC,GAC1D,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAG5gB,EAAMpW,EAAGoW,EAAM3d,GAC9C,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAGkE,EAAYl7B,EAAGk7B,EAAYziC,GAC1D,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAG5gB,EAAMpW,EAAGoW,EAAM3d,GAC9C,CAAC,MAGL,IAAM4iC,EAAWP,EAAmBD,GAAsB11B,KAAKE,GAAK,EAAI,EACxE,MAAO,CACL,CAAC,IAAK+Q,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAKu+B,EAAQA,EAAQ,EAAGqE,EAAU,EAAGhlB,EAAIrW,EAAGqW,EAAI5d,IAW/C,SAAU+iC,GAASC,EAAuBld,GAC9C,IAEIwY,EACAD,EAFEjQ,EArJR,SAAsBsJ,GACpB,GAAI,kBAAQA,GACV,OAAO,KAGT,IAAIjqB,EAAOiqB,EAAO,GAAGnwB,EACjBmG,EAAOgqB,EAAO,GAAGnwB,EACjBoG,EAAO+pB,EAAO,GAAG13B,EACjB4N,EAAO8pB,EAAO,GAAG13B,EAQrB,OAPA,eAAK03B,GAAQ,SAACxJ,GACZzgB,EAAOA,EAAOygB,EAAM3mB,EAAI2mB,EAAM3mB,EAAIkG,EAClCC,EAAOA,EAAOwgB,EAAM3mB,EAAI2mB,EAAM3mB,EAAImG,EAClCC,EAAOA,EAAOugB,EAAMluB,EAAIkuB,EAAMluB,EAAI2N,EAClCC,EAAOA,EAAOsgB,EAAMluB,EAAIkuB,EAAMluB,EAAI4N,KAG7B,CACLH,KAAI,EACJC,KAAI,EACJC,KAAI,EACJC,KAAI,EACJ0qB,SAAU7qB,EAAOC,GAAQ,EACzB6qB,SAAU5qB,EAAOC,GAAQ,GA+Hfq1B,CADGD,EAAWtL,QAINwL,EAA6Cpd,EAA9B,WAC7Bqd,EAD2Drd,EAAL,SAC1Bod,EAWlC,OATIpd,EAAW8X,cACbU,EAAWlQ,EAAIxgB,KAAOu1B,EACtB9E,EAAajQ,EAAIzgB,KAAOw1B,IAExB7E,EAAWlQ,EAAI1gB,KAAOy1B,EACtB9E,EAAajQ,EAAI3gB,KAAO01B,GAInB,CACL9E,WAFFA,GAAc6E,EAGZ5E,SAJFA,GAAY4E,GAuCR,SAAUE,GAAgBC,EAAqBC,GACnD,IAAMC,EAAcF,EAAYjT,OAC1BoT,EAAWF,EAAYlT,OAM7B,OALA,eAAKmT,GAAa,SAAC9iC,EAAG/D,QACAsE,IAAhBwiC,EAAS9mC,KACX8mC,EAAS9mC,QAAKsE,MAGXwiC,EC5MH,SAAUrP,GAAUt5B,EAAe8iB,EAAeC,GACtD,IAAM5B,EAAMtP,KAAKsP,IAAI2B,EAAOC,GACtB7B,EAAMrP,KAAKqP,IAAI4B,EAAOC,GAE5B,OAAO/iB,GAASmhB,GAAOnhB,GAASkhB,EAmC5B,SAAU0nB,GAAcjnC,EAAQiL,GAKpC,OAJAA,EAAK8jB,SAAQ,SAACpwB,UACLqB,EAAIrB,MAGNqB,EASH,SAAUknC,GAAKC,EAAoBC,EAAyB/hB,QAAzB,IAAA+hB,MAAA,SAAyB,IAAA/hB,MAAA,IAChE,IAAqB,UAAA8hB,EAAA,eAAa,CAA7B,IAAM7kB,EAAM,KACV+C,EAAI/C,KACP8kB,EAAY/iC,KAAKie,GACjB+C,EAAI/C,IAAU,GAGlB,OAAO8kB,EC3DH,SAAUC,GAAoB/d,GAClC,GAAIA,EAAW6X,UAAY7X,EAAW8X,aAEpC,OAAQ9X,EAAWwY,SAAWxY,EAAWuY,YAAcvY,EAAWge,YAIpE,IAAMnmB,EAAQmI,EAAWgY,QAAQ,CAAEv2B,EAAG,EAAGvH,EAAG,IACtC4d,EAAMkI,EAAWgY,QAAQ,CAAEv2B,EAAG,EAAGvH,EAAG,IAE1C,OAAO0M,KAAKI,KAAKJ,KAAKyQ,IAAIS,EAAIrW,EAAIoW,EAAMpW,EAAG,GAAKmF,KAAKyQ,IAAIS,EAAI5d,EAAI2d,EAAM3d,EAAG,IAwBtE,SAAU+jC,GAAoBje,EAAwBoI,GAC1D,IAAMjB,EAASnH,EAAWke,YAC1B,OAAOt3B,KAAKI,KAAK,SAACohB,EAAM3mB,EAAI0lB,EAAO1lB,EAAM,GAAI,SAAC2mB,EAAMluB,EAAIitB,EAAOjtB,EAAM,IASjE,SAAUikC,GAAoBne,EAAwBoI,GAC1D,IAAItyB,GAAS,EAEb,GAAIkqB,EACF,GAAwB,UAApBA,EAAW3e,KAAkB,CACvB,IAAAwW,EAAemI,EAAV,MAAElI,EAAQkI,EAAL,IAClBlqB,EAASu4B,GAAUjG,EAAM3mB,EAAGoW,EAAMpW,EAAGqW,EAAIrW,IAAM4sB,GAAUjG,EAAMluB,EAAG2d,EAAM3d,EAAG4d,EAAI5d,OAC1E,CACL,IAAMkkC,EAAcpe,EAAWqe,OAAOjW,GAEtCtyB,EAASu4B,GAAU+P,EAAY38B,EAAG,EAAG,IAAM4sB,GAAU+P,EAAYlkC,EAAG,EAAG,GAI3E,OAAOpE,EAOH,SAAUwoC,GAAgBte,EAAwBoI,GACtD,IAAMjB,EAASnH,EAAWke,YAC1B,OAAOt3B,KAAK23B,MAAMnW,EAAMluB,EAAIitB,EAAOjtB,EAAGkuB,EAAM3mB,EAAI0lB,EAAO1lB,GASnD,SAAU+8B,GAAqBxe,EAAwB4T,QAAA,IAAAA,MAAA,GACnD,IA2BJ6K,EA3BI5mB,EAAemI,EAAV,MAAElI,EAAQkI,EAAL,IACZliB,EAAQkiB,EAAWoM,WACnBruB,EAASiiB,EAAWqM,YAE1B,GAAIrM,EAAW6X,QAAS,CACd,MAAyB7X,EAAf,WAAE,EAAaA,EAAL,SACtB,EAASA,EAAWke,YACpB,EAASle,EAAWge,YAE1B,MAAO,CACL38B,KAAM,OACNq9B,WAAY,CACVzX,KAAMoV,GAAc,EAAO56B,EAAG,EAAOvH,EAAG,EAAS05B,EAAQ,EAAY,IAEvE6K,SAAU,SAACrkB,GACT,IAAMukB,GAAQ,EAAW,GAAcvkB,EAAQ,EAE/C,MAAO,CACL6M,KAFWoV,GAAc,EAAO56B,EAAG,EAAOvH,EAAG,EAAS05B,EAAQ,EAAY+K,KAK9E7U,MAAO,CACL7C,KAAMoV,GAAc,EAAO56B,EAAG,EAAOvH,EAAG,EAAS05B,EAAQ,EAAY,KAgB3E,OATE6K,EADEze,EAAW8X,aACF,CACT/5B,OAAQA,EAAkB,EAAT61B,GAGR,CACT91B,MAAOA,EAAiB,EAAT81B,GAIZ,CACLvyB,KAAM,OACNq9B,WAAY,CACVj9B,EAAGoW,EAAMpW,EAAImyB,EACb15B,EAAG4d,EAAI5d,EAAI05B,EACX91B,MAAOkiB,EAAW8X,aAAeh6B,EAAiB,EAAT81B,EAAa,EACtD71B,OAAQiiB,EAAW8X,aAAe,EAAI/5B,EAAkB,EAAT61B,GAEjD6K,SAAQ,EACR3U,MAAO,CACLroB,EAAGoW,EAAMpW,EAAImyB,EACb15B,EAAG4d,EAAI5d,EAAI05B,EACX91B,MAAOA,EAAiB,EAAT81B,EACf71B,OAAQA,EAAkB,EAAT61B,ICrHvB,SAASgL,GAAY7oC,EAAe2qB,GAElC,IADA,IAAMme,EAAM,CAAC9oC,EAAI,IACRjC,EAAI,EAAGgrC,EAAM/oC,EAAIM,OAAQvC,EAAIgrC,EAAKhrC,GAAQ,EAAG,CACpD,IAAMs0B,EAAQ1H,EAAMsX,QAAQ,CAC1Bv2B,EAAG1L,EAAIjC,GACPoG,EAAGnE,EAAIjC,EAAI,KAEb+qC,EAAI9jC,KAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,GAE1B,OAAO2kC,EA8IH,SAAUE,GAAkBC,EAAe9P,EAAY+P,GAG3D,IAFA,IAAMC,IAAWhQ,EACXiQ,EAAY,GACTrrC,EAAI,EAAGC,EAAIirC,EAAI3oC,OAAQvC,EAAIC,EAAGD,GAAK,EAC1CqrC,EAAUpkC,KAAK,CAACikC,EAAIlrC,GAAIkrC,EAAIlrC,EAAI,KAGlC,IAIIsrC,EACAC,EACAzpC,EANE0pC,EAvFoB,SAC1B1N,EACA2N,EACAL,EACAD,GAEA,IAEIO,EACAC,EAEAvpB,EACAD,EANEypB,EAAM,GAINC,IAAkBV,EAGxB,GAAIU,EAAe,CACjBzpB,EAAM,CAAClM,IAAUA,KACjBiM,EAAM,EAAEjM,KAAWA,KAEnB,IAAK,IAAIlW,EAAI,EAAGC,EAAI69B,EAAOv7B,OAAQvC,EAAIC,EAAGD,IAAK,CAC7C,IAAMs0B,EAAQwJ,EAAO99B,GACrBoiB,EAAM,OAAKA,IAAI,CAAC,EAAG,GAAIA,EAAKkS,GAC5BnS,EAAM,OAAKA,IAAI,CAAC,EAAG,GAAIA,EAAKmS,GAE9BlS,EAAM,OAAKA,IAAI,CAAC,EAAG,GAAIA,EAAK+oB,EAAW,IACvChpB,EAAM,OAAKA,IAAI,CAAC,EAAG,GAAIA,EAAKgpB,EAAW,IAGhCnrC,EAAI,EAAb,IAAK,IAAWgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CAC3Cs0B,EAAQwJ,EAAO99B,GACrB,GAAIorC,EACFM,EAAY5N,EAAO99B,EAAIA,EAAI,EAAIgrC,EAAM,GACrCW,EAAY7N,GAAQ99B,EAAI,GAAKgrC,OACxB,CACL,GAAU,IAANhrC,GAAWA,IAAMgrC,EAAM,EAAG,CAC5BY,EAAI3kC,KAAKqtB,GACT,SAEAoX,EAAY5N,EAAO99B,EAAI,GACvB2rC,EAAY7N,EAAO99B,EAAI,GAG3B,IAAI6G,EAAsB,CAAC,EAAG,GAC9BA,EAAI,OAAKilC,IAAIjlC,EAAG8kC,EAAWD,GAC3B7kC,EAAI,OAAKgmB,MAAMhmB,EAAGA,EAAG4kC,GAErB,IAAIM,EAAK,OAAKC,SAAS1X,EAAOoX,GAC1BO,EAAK,OAAKD,SAAS1X,EAAOqX,GAExB9R,EAAMkS,EAAKE,EACL,IAARpS,IACFkS,GAAMlS,EACNoS,GAAMpS,GAGR,IAAM/W,EAAK,OAAK+J,MAAM,CAAC,EAAG,GAAIhmB,GAAIklC,GAC5BhpB,EAAK,OAAK8J,MAAM,CAAC,EAAG,GAAIhmB,EAAGolC,GAE7BC,EAAM,OAAKC,IAAI,CAAC,EAAG,GAAI7X,EAAOxR,GAC9BwoB,EAAM,OAAKa,IAAI,CAAC,EAAG,GAAI7X,EAAOvR,GAE9B8oB,IACFK,EAAM,OAAK/pB,IAAI,CAAC,EAAG,GAAI+pB,EAAK9pB,GAC5B8pB,EAAM,OAAK9pB,IAAI,CAAC,EAAG,GAAI8pB,EAAK/pB,GAC5BmpB,EAAM,OAAKnpB,IAAI,CAAC,EAAG,GAAImpB,EAAKlpB,GAC5BkpB,EAAM,OAAKlpB,IAAI,CAAC,EAAG,GAAIkpB,EAAKnpB,IAG9BypB,EAAI3kC,KAAKilC,GACTN,EAAI3kC,KAAKqkC,GAMX,OAHIF,GACFQ,EAAI3kC,KAAK2kC,EAAIpjC,SAERojC,EAckB,CAAaP,EAAW,GAAKD,EAAQD,GACxDH,EAAMK,EAAU9oC,OAChB0pC,EAAK,GAMX,IAASjsC,EAAI,EAAGA,EAAIgrC,EAAM,EAAGhrC,IAC3BsrC,EAAME,EAAqB,EAAJxrC,GACvBurC,EAAMC,EAAqB,EAAJxrC,EAAQ,GAC/B8B,EAAIupC,EAAUrrC,EAAI,GAElBisC,EAAGhlC,KAAK,CAAC,IAAKqkC,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIzpC,EAAE,GAAIA,EAAE,KAUxD,OAPIspC,IACFE,EAAME,EAAiBR,GACvBO,EAAMC,EAAiBR,EAAM,GAC7BlpC,EAAIupC,EAAU,GAEdY,EAAGhlC,KAAK,CAAC,IAAKqkC,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIzpC,EAAE,GAAIA,EAAE,MAEjDmqC,EAOH,SAAUG,GAAYtO,EAAiBuO,GAC3C,OA9MF,SAAsBvO,EAAiBuO,GACrC,IAAMlZ,EAAO,GACb,GAAI2K,EAAOv7B,OAAQ,CACjB4wB,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IACvC,IAAK,IAAIpG,EAAI,EAAG,EAAS89B,EAAOv7B,OAAQvC,EAAI,EAAQA,GAAK,EAAG,CAC1D,IAAMsN,EAAOwwB,EAAO99B,GACpBmzB,EAAKlsB,KAAK,CAAC,IAAKqG,EAAKK,EAAGL,EAAKlH,IAG3BimC,GACFlZ,EAAKlsB,KAAK,CAAC,MAIf,OAAOksB,EAgMAmZ,CAAaxO,EAAQuO,GAOxB,SAAUE,GAAczO,EAAiBuO,EAAsBG,GACnE,IAAM7pC,EAAO,GACP8pC,EAAQ3O,EAAO,GACjB4O,EAAW,KACf,GAAI5O,EAAOv7B,QAAU,EAEnB,OAAO6pC,GAAYtO,EAAQuO,GAE7B,IAAK,IAAIrsC,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACjD,IAAMs0B,EAAQwJ,EAAO99B,GAChB0sC,GAAcA,EAAS/+B,IAAM2mB,EAAM3mB,GAAK++B,EAAStmC,IAAMkuB,EAAMluB,IAChEzD,EAAKsE,KAAKqtB,EAAM3mB,GAChBhL,EAAKsE,KAAKqtB,EAAMluB,GAChBsmC,EAAWpY,GAGf,IAKMqY,EAAa1B,GAAkBtoC,EAAM0pC,EALxBG,GAAa,CAE9B,CAAC,EAAG,GACJ,CAAC,EAAG,KAIN,OADAG,EAAWC,QAAQ,CAAC,IAAKH,EAAM9+B,EAAG8+B,EAAMrmC,IACjCumC,EA8BH,SAAUE,GAAiBjgB,EAAOuG,GACtC,IACI2Z,EACAxhB,EACAyhB,EAHAhC,EAAM,GAkCV,OA7BA,eAAK5X,GAAM,SAAC6Z,EAAS3qC,GAGnB,OAFe2qC,EAAQ,GAERz+B,eACb,IAAK,IACL,IAAK,IACL,IAAK,IACHw8B,EAAI9jC,KAAK6jC,GAAYkC,EAASpgB,IAC9B,MACF,IAAK,IACHkgB,EAAM3Z,EAAK9wB,EAAQ,GACnBipB,EAAM0hB,EACND,EAAangB,EAAMoX,cAEV+I,EAAaD,EAAIA,EAAIvqC,OAAS,KAAO+oB,EAAI,GAAKwhB,EAAIA,EAAIvqC,OAAS,KAAO+oB,EAAI,IAEjFyf,EAAMA,EAAIpjC,OAnQpB,SAA2BmlC,EAAkBxhB,EAAkBsB,GACrD,IAAAoX,EAAuCpX,EAA3B,aAAE6X,EAAyB7X,EAAf,WAAE8X,EAAa9X,EAAL,SAEpC8f,EAAW,CACf/+B,EAAGm/B,EAAI,GACP1mC,EAAG0mC,EAAI,IAEHG,EAAW,CACft/B,EAAG2d,EAAI,GACPllB,EAAGklB,EAAI,IAEHzoB,EAAM,GACNqqC,EAAOlJ,EAAe,IAAM,IAC5BmJ,EAAar6B,KAAKsmB,IAAI6T,EAASC,GAAQR,EAASQ,KAAUxI,EAAWD,GACrEhB,EAAYwJ,EAASC,IAASR,EAASQ,GAAQ,EAAI,EACnDE,EAAOD,EAAar6B,KAAKE,GAAK,EAAI,EAClCq6B,EAAezgB,EAAMsX,QAAQ+I,GAC7BnsC,EAAIqpC,GAAoBvd,EAAOygB,GACrC,GAAIvsC,GAAK,GAEP,GAAIqsC,IAAyB,EAAVr6B,KAAKE,GAAQ,CAC9B,IAAM61B,EAAc,CAClBl7B,GAAIs/B,EAASt/B,EAAI++B,EAAS/+B,GAAK,EAC/BvH,GAAI6mC,EAAS7mC,EAAIsmC,EAAStmC,GAAK,GAE3BknC,EAAqB1gB,EAAMsX,QAAQ2E,GACzChmC,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW6J,EAAmB3/B,EAAG2/B,EAAmBlnC,IAClFvD,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW4J,EAAa1/B,EAAG0/B,EAAajnC,SAEtEvD,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW4J,EAAa1/B,EAAG0/B,EAAajnC,IAG1E,OAAOvD,EAmOkB0qC,CAAkBT,EAAKxhB,EAAKsB,IAG7Cme,EAAI9jC,KAAK6jC,GAAYkC,EAASpgB,IAEhC,MACF,IAAK,IACL,QACEme,EAAI9jC,KAAK+lC,OAvOjB,SAA8B7Z,GAC5B,eAAKA,GAAM,SAAC6Z,EAAS3qC,GAEnB,GAA6B,MADjB2qC,EACJ,GAAGz+B,cAAuB,CAChC,IAAMu+B,EAAM3Z,EAAK9wB,EAAQ,GACnBwD,EAAOstB,EAAK9wB,EAAQ,GACtBwD,GAAkC,MAA1BA,EAAK,GAAG0I,cACdu+B,GAAgC,MAAzBA,EAAI,GAAGv+B,gBAChBu+B,EAAI,GAAK,KAEFA,GAAgC,MAAzBA,EAAI,GAAGv+B,eACnB1I,GAAkC,MAA1BA,EAAK,GAAG0I,gBAClB1I,EAAK,GAAK,SA+NlB2nC,CAAqBzC,GACdA,EC3ST,kBAcE,WAAYp9B,EAAevH,EAAe4D,EAAmBC,QAAjD,IAAA0D,MAAA,QAAe,IAAAvH,MAAA,QAAe,IAAA4D,MAAA,QAAmB,IAAAC,MAAA,GAC3DtG,KAAKgK,EAAIA,EACThK,KAAKyC,EAAIA,EACTzC,KAAKsG,OAASA,EACdtG,KAAKqG,MAAQA,EAiLjB,OAzLgB,EAAAyjC,UAAd,SAAwB55B,EAAcE,EAAcD,EAAcE,GAChE,OAAO,IAAI1E,EAAKuE,EAAME,EAAMD,EAAOD,EAAMG,EAAOD,IAUlD,sBAAW,mBAAI,C,IAAf,WACE,OAAOpQ,KAAKgK,G,gCAGd,sBAAW,mBAAI,C,IAAf,WACE,OAAOhK,KAAKgK,EAAIhK,KAAKqG,O,gCAGvB,sBAAW,mBAAI,C,IAAf,WACE,OAAOrG,KAAKyC,G,gCAGd,sBAAW,mBAAI,C,IAAf,WACE,OAAOzC,KAAKyC,EAAIzC,KAAKsG,Q,gCAGvB,sBAAW,iBAAE,C,IAAb,WACE,MAAO,CAAE0D,EAAGhK,KAAKgK,EAAGvH,EAAGzC,KAAKyC,I,gCAG9B,sBAAW,iBAAE,C,IAAb,WACE,MAAO,CAAEuH,EAAGhK,KAAKmQ,KAAM1N,EAAGzC,KAAKyC,I,gCAGjC,sBAAW,iBAAE,C,IAAb,WACE,MAAO,CAAEuH,EAAGhK,KAAKgK,EAAGvH,EAAGzC,KAAKqQ,O,gCAG9B,sBAAW,iBAAE,C,IAAb,WACE,MAAO,CAAErG,EAAGhK,KAAKmQ,KAAM1N,EAAGzC,KAAKqQ,O,gCAGjC,sBAAW,kBAAG,C,IAAd,WACE,MAAO,CACLrG,EAAGhK,KAAKgK,EAAIhK,KAAKqG,MAAQ,EACzB5D,EAAGzC,KAAKoQ,O,gCAIZ,sBAAW,oBAAK,C,IAAhB,WACE,MAAO,CACLpG,EAAGhK,KAAKmQ,KACR1N,EAAGzC,KAAKyC,EAAIzC,KAAKsG,OAAS,I,gCAG9B,sBAAW,qBAAM,C,IAAjB,WACE,MAAO,CACL0D,EAAGhK,KAAKgK,EAAIhK,KAAKqG,MAAQ,EACzB5D,EAAGzC,KAAKqQ,O,gCAGZ,sBAAW,mBAAI,C,IAAf,WACE,MAAO,CACLrG,EAAGhK,KAAKkQ,KACRzN,EAAGzC,KAAKyC,EAAIzC,KAAKsG,OAAS,I,gCAUvB,YAAAyjC,QAAP,SAAexkB,GACb,OAAOvlB,KAAKgK,IAAMub,EAAKvb,GAAKhK,KAAKyC,IAAM8iB,EAAK9iB,GAAKzC,KAAKqG,QAAUkf,EAAKlf,OAASrG,KAAKsG,SAAWif,EAAKjf,QAO9F,YAAA8rB,MAAP,WACE,OAAO,IAAIzmB,EAAK3L,KAAKgK,EAAGhK,KAAKyC,EAAGzC,KAAKqG,MAAOrG,KAAKsG,SAO5C,YAAAkiC,IAAP,W,IAAW,sDACT,IAAMjjB,EAAOvlB,KAAKoyB,QAQlB,OAPA,eAAK4X,GAAS,SAACtqC,GACb6lB,EAAKvb,EAAImF,KAAKsP,IAAI/e,EAAEsK,EAAGub,EAAKvb,GAC5Bub,EAAK9iB,EAAI0M,KAAKsP,IAAI/e,EAAE+C,EAAG8iB,EAAK9iB,GAC5B8iB,EAAKlf,MAAQ8I,KAAKqP,IAAI9e,EAAEyQ,KAAMoV,EAAKpV,MAAQoV,EAAKvb,EAChDub,EAAKjf,OAAS6I,KAAKqP,IAAI9e,EAAE2Q,KAAMkV,EAAKlV,MAAQkV,EAAK9iB,KAG5C8iB,GAOF,YAAA0kB,MAAP,W,IAAa,sDACX,IAAM1kB,EAAOvlB,KAAKoyB,QAQlB,OAPA,eAAK4X,GAAS,SAACtqC,GACb6lB,EAAKvb,EAAImF,KAAKqP,IAAI9e,EAAEsK,EAAGub,EAAKvb,GAC5Bub,EAAK9iB,EAAI0M,KAAKqP,IAAI9e,EAAE+C,EAAG8iB,EAAK9iB,GAC5B8iB,EAAKlf,MAAQ8I,KAAKsP,IAAI/e,EAAEyQ,KAAMoV,EAAKpV,MAAQoV,EAAKvb,EAChDub,EAAKjf,OAAS6I,KAAKsP,IAAI/e,EAAE2Q,KAAMkV,EAAKlV,MAAQkV,EAAK9iB,KAG5C8iB,GAQF,YAAAuI,IAAP,SAAWkc,EAAelK,GACxB,IAAMz5B,EAAQ2jC,EAAQ3jC,MAChBC,EAAS0jC,EAAQ1jC,OAEvB,OAAQw5B,GACN,KAAK3a,EAAU4I,IACf,KAAK5I,EAAU+kB,SACf,KAAK/kB,EAAUglB,UACb,OAAOx+B,EAAKm+B,UAAU9pC,KAAKkQ,KAAMlQ,KAAKoQ,KAAO9J,EAAQtG,KAAKmQ,KAAMnQ,KAAKqQ,MAEvE,KAAK8U,EAAU6a,MACf,KAAK7a,EAAUilB,UACf,KAAKjlB,EAAUklB,aACb,OAAO1+B,EAAKm+B,UAAU9pC,KAAKkQ,KAAMlQ,KAAKoQ,KAAMpQ,KAAKmQ,KAAO9J,EAAOrG,KAAKqQ,MAEtE,KAAK8U,EAAU8a,OACf,KAAK9a,EAAUmlB,YACf,KAAKnlB,EAAUolB,aACb,OAAO5+B,EAAKm+B,UAAU9pC,KAAKkQ,KAAMlQ,KAAKoQ,KAAMpQ,KAAKmQ,KAAMnQ,KAAKqQ,KAAO/J,GAErE,KAAK6e,EAAU+a,KACf,KAAK/a,EAAUqlB,SACf,KAAKrlB,EAAUslB,YACb,OAAO9+B,EAAKm+B,UAAU9pC,KAAKkQ,KAAO7J,EAAOrG,KAAKoQ,KAAMpQ,KAAKmQ,KAAMnQ,KAAKqQ,MACtE,QAEE,OAAOrQ,OAQN,YAAA0qC,OAAP,SAAcC,GACL,IAAA9P,EAA4B8P,EAAzB,GAAE/P,EAAuB+P,EAAlB,GAAE7P,EAAgB6P,EAAV,GAAEhQ,EAAQgQ,EAAJ,GAE/B,OAAO,IAAIh/B,EAAK3L,KAAKgK,EAAI2wB,EAAM36B,KAAKyC,EAAIo4B,EAAK76B,KAAKqG,MAAQs0B,EAAOC,EAAO56B,KAAKsG,OAASu0B,EAAMC,IAQvF,YAAA8P,OAAP,SAAcrlB,GACZ,MAAO,CACLpW,KAAKqP,KAAKxe,KAAKoQ,KAAOmV,EAAKnV,KAAM,GACjCjB,KAAKqP,IAAIxe,KAAKmQ,KAAOoV,EAAKpV,KAAM,GAChChB,KAAKqP,IAAIxe,KAAKqQ,KAAOkV,EAAKlV,KAAM,GAChClB,KAAKqP,KAAKxe,KAAKkQ,KAAOqV,EAAKrV,KAAM,KAQ9B,YAAA26B,KAAP,WACE,OAAO7qC,KAAKqG,MAAQrG,KAAKsG,QAE7B,EAnMA,G,yBCEA,SAASwkC,GAAYjH,EAA8BkH,GACjD,IAEMC,EAFQnH,EAAQ3gB,MACEtiB,OACGqqC,gBAE3B,OAAMD,EAAS3kC,OAAS0kC,GAAaC,EAAS1kC,QAAUykC,EAGjDC,EAFE,KAqBL,SAAUE,GAAkBrH,GAChC,IACI7R,EACEpxB,EAFQijC,EAAQ3gB,MAEDtiB,OAIrB,OAHIA,IACFoxB,EAAUpxB,EAAO1D,IAAI,YAEhB80B,EAQH,SAAUmZ,GAAoBtH,GAClC,IAEIuH,EADExqC,EADQijC,EAAQ3gB,MACDtiB,OAKrB,OAHIA,IACFwqC,EAAiBxqC,EAAO1D,IAAI,mBAEvBkuC,EAGH,SAAUC,GAAgBxH,GAC9B,IAAM3gB,EAAQ2gB,EAAQ3gB,MAAMgC,OAE5B,QAAIhC,GAASA,EAAMooB,WAAapoB,EAAMqoB,SAAWroB,EAAMooB,UAAUpuC,IAAI,aAAegmB,EAAMqoB,QAAQruC,IAAI,YAWlG,SAAUsuC,GAAOJ,GACrB,OAAOA,GAAkBA,EAAetW,WAAasW,EAAetW,UAAU0W,SAQ1E,SAAUC,GAASL,GACvB,OAAOA,GAAkBA,EAAetW,WAAasW,EAAetW,UAAU2W,WAQ1E,SAAUC,GAAO7H,GACrB,IACMjjC,EADQijC,EAAQ3gB,MACDtiB,OACrB,OAAOA,GAAiC,SAAvBA,EAAO1D,IAAI,QAQxB,SAAUyuC,GAAkB9H,EAA8BkH,GAC9D,IA0JgC9hC,EAAYumB,EACtCuC,EACAoI,EA3JN,GAA2B,SADZ0J,EAAQ3gB,MAAMtiB,OAClB1D,IAAI,QAAoB,CACjC,IAAM0uC,EAvFV,SAAqB/H,EAA8BkH,GACjD,IACMc,EADQhI,EAAQ3gB,MACEtiB,OAClBoqC,EAAWa,EAAUZ,gBAE3B,OAAMD,EAAS3kC,OAAS0kC,GAAaC,EAAS1kC,QAAUykC,EAGjDc,EAAUhZ,KAAK,QAFb,KAiFUiZ,CAAYjI,EAASkH,GACtC,IAAKa,EACH,OAEF,OAoJ8B3iC,EApJL46B,EAAQ56B,KAoJSumB,EApJHoc,EAqJnC7Z,EAAWga,GAAY9iC,GACvBkxB,EAAS6R,GAAaxc,GAChBuC,EAASkK,QAAO,SAAC9wB,GAC3B,IACI8gC,EDxCiB1mB,ECuCfhV,EAAQpF,EAAGoF,MAEjB,GAA0B,SAAtBA,EAAMrT,IAAI,QACZ+uC,EAAcD,GAAaz7B,EAAMsiB,KAAK,aACjC,CACL,IAAMqZ,EAAY37B,EAAM06B,gBACxBgB,ED5CG,CACL,EAFqB1mB,EC6CI2mB,GD3CnBh8B,KAAMqV,EAAKnV,MACjB,CAACmV,EAAKpV,KAAMoV,EAAKnV,MACjB,CAACmV,EAAKpV,KAAMoV,EAAKlV,MACjB,CAACkV,EAAKrV,KAAMqV,EAAKlV,OC0CjB,OAAO,KAAoB8pB,EAAQ8R,MA9JrC,IAAMjB,EAAWF,GAAYjH,EAASkH,GAEtC,OAAKC,EAGEmB,GAAqBtI,EAAQ56B,KAAM+hC,GAFjC,KAQL,SAAUoB,GAAuBvI,EAA8BwI,EAAetB,GAClF,IAAMC,EAAWF,GAAYjH,EAASkH,GAEtC,IAAKC,EACH,OAAO,KAET,IAAM/hC,EAAO46B,EAAQ56B,KACfmX,EAAQksB,GAAgBrjC,EAAMojC,EAAS,CAAEriC,EAAGghC,EAAShhC,EAAGvH,EAAGuoC,EAASvoC,IACpE4d,EAAMisB,GAAgBrjC,EAAMojC,EAAS,CAAEriC,EAAGghC,EAAS76B,KAAM1N,EAAGuoC,EAAS36B,OAO3E,OAAO87B,GAAqBE,EANhB,CACVn8B,KAAMkQ,EAAMpW,EACZoG,KAAMgQ,EAAM3d,EACZ0N,KAAMkQ,EAAIrW,EACVqG,KAAMgQ,EAAI5d,IAUR,SAAUspC,GAAY9iC,GAC1B,IAAMuf,EAAavf,EAAKuf,WACpBtpB,EAAiB,GAUrB,OATA,eAAKspB,GAAY,SAACyC,GAChB,IAAM8G,EAAW9G,EAAK8G,SACtB7yB,EAAMA,EAAI8E,OAAO+tB,MAEf9oB,EAAK2f,OAAS3f,EAAK2f,MAAMhqB,QAC3B,eAAKqK,EAAK2f,OAAO,SAAC2jB,GAChBrtC,EAAMA,EAAI8E,OAAO+nC,GAAYQ,OAG1BrtC,EAuBH,SAAUstC,GAAmBvjC,EAAYwjC,GAC7C,IAAMjkB,EAAavf,EAAKuf,WACpBtpB,EAAiB,GAKrB,OAJA,eAAKspB,GAAY,SAACyC,GAChB,IAAM8G,EAAW9G,EAAKyhB,eAAc,SAACvhC,GAAO,OAAAA,EAAGwhC,SAAH,MAC5CztC,EAAMA,EAAI8E,OAAO+tB,MAEZ7yB,EASH,SAAU0tC,GAAgB5a,EAAkB/pB,GAChD,IACM4kC,EADQ7a,EAAQuB,WACDv0B,KAOrB,OALI,kBAAQ6tC,GACFA,EAAO,GAAG5kC,GAEV4kC,EAAO5kC,GAqBb,SAAUkkC,GAAqBljC,EAAY4nB,GAC/C,IAAMkB,EAAWga,GAAY9iC,GACvB/J,EAAM,GAQZ,OAPA,eAAK6yB,GAAU,SAAC5mB,GACd,IAd0B2hC,EAAMC,EAe1Bb,EADQ/gC,EAAGoF,MACO06B,gBAfE6B,EAgBRjc,GAhBckc,EAgBTb,GAfXh8B,KAAO48B,EAAK38B,MAAQ48B,EAAK58B,KAAO28B,EAAK58B,MAAQ68B,EAAK38B,KAAO08B,EAAKz8B,MAAQ08B,EAAK18B,KAAOy8B,EAAK18B,MAgBjGlR,EAAIoE,KAAK6H,MAGNjM,EAET,SAAS8sC,GAAaxc,GACpB,IAAM2K,EAAS,GAYf,OAXA,eAAK3K,GAAM,SAACwd,GAEV,GAAgB,MADAA,EAAI,GAElB,IAAK,IAAI3wC,EAAI,EAAGA,EAAI2wC,EAAIpuC,OAAQvC,GAAQ,EACtC89B,EAAO72B,KAAK,CAAC0pC,EAAI3wC,GAAI2wC,EAAI3wC,EAAI,SAE1B,CACL,IAAM,EAAS2wC,EAAIpuC,OACnBu7B,EAAO72B,KAAK,CAAC0pC,EAAI,EAAS,GAAIA,EAAI,EAAS,SAGxC7S,EA8BH,SAAU8S,GAAchkC,GAC5B,OAAOA,EAAKgkC,gBAAgB3oB,KAAI,SAAC4oB,GAAwB,OAAAA,EAAA,aAIrD,SAAU,GAAS1U,EAAWC,GAClC,IAAM0U,EAAK1U,EAAGzuB,EAAIwuB,EAAGxuB,EACfojC,EAAK3U,EAAGh2B,EAAI+1B,EAAG/1B,EACrB,OAAO0M,KAAKI,KAAK49B,EAAKA,EAAKC,EAAKA,GAyB5B,SAAUC,GAAQxc,EAAWF,GACjC,OAAOE,EAAI7mB,GAAK2mB,EAAM3mB,GAAK6mB,EAAI1gB,MAAQwgB,EAAM3mB,GAAK6mB,EAAIpuB,GAAKkuB,EAAMluB,GAAKouB,EAAIxgB,KAAOsgB,EAAMluB,EASnF,SAAU6qC,GAAYrkC,GAC1B,IAAM+J,EAAS/J,EAAK+J,OAChBu6B,EAAW,KAIf,OAHIv6B,IACFu6B,EAAWv6B,EAAO4V,MAAMqT,QAAO,SAACkM,GAAQ,OAAAA,IAAA,MAEnCoF,EAcH,SAAUjB,GAAgBrjC,EAAYojC,EAAe1b,GACzD,IAAM6c,EAZR,SAAyBvkC,EAAY0nB,GAEnC,OADc1nB,EAAKyoB,gBACNkV,OAAOjW,GAUA8c,CAAgBxkC,EAAM0nB,GAC1C,OAAO0b,EAAQ3a,gBAAgB6O,QAAQiN,GAenC,SAAUE,GAAYC,EAAmBd,EAAgBe,EAAgB9iB,GAC7E,IAAI+iB,GAAO,EAOX,OANA,eAAKF,GAAS,SAACxwC,GACb,GAAIA,EAAEywC,KAAYf,EAAOe,IAAWzwC,EAAE2tB,KAAY+hB,EAAO/hB,GAEvD,OADA+iB,GAAO,GACA,KAGJA,EAIH,SAAU7lC,GAAgBiB,EAAYhB,GAC1C,IAAIihB,EAAQjgB,EAAKjB,gBAAgBC,GASjC,OARKihB,GAASjgB,EAAK2f,OACjB,eAAK3f,EAAK2f,OAAO,SAAC2jB,GAEhB,GADArjB,EAAQlhB,GAAgBukC,EAAStkC,GAE/B,OAAO,KAINihB,ECvXT,I,GAAA,WAUE,WAAYjgB,GARL,KAAA6kC,QAAqB,GAIrB,KAAA5qB,MAAqB,KAEpB,KAAA6qB,SAAwB,GAG9B/tC,KAAKiJ,KAAOA,EAiIhB,OAxHS,YAAAq5B,MAAP,W,IAAa,sDACX,GAAsB,IAAlB0L,EAAOpvC,OACT,OAAOoB,KAAK+tC,SAASC,EAAO,IACD,IAAlBA,EAAOpvC,SAChBoB,KAAK+tC,SAASC,EAAO,IAAMA,EAAO,KAQ/B,YAAAC,UAAP,SAAiBrxC,GACf,OAAOoD,KAAK8tC,QAAQI,MAAK,SAAC1J,GAAW,OAAAA,EAAO5nC,OAAP,MAOhC,YAAAknC,UAAP,SAAiBU,GACfxkC,KAAK8tC,QAAQxqC,KAAKkhC,IAOb,YAAAR,aAAP,SAAoBQ,GAClB,IAAMsJ,EAAU9tC,KAAK8tC,QACfpvC,EAAQsB,KAAK8tC,QAAQnvC,QAAQ6lC,GAC/B9lC,GAAS,GACXovC,EAAQlmB,OAAOlpB,EAAO,IAOnB,YAAAyvC,gBAAP,WACE,IAAMjrB,EAAQljB,KAAKkjB,MACnB,OAAIA,EACEA,EAAMtiB,kBAAkBwtC,YACXpuC,KAAKiJ,KAAKG,YACJilC,iBAAiBnrB,EAAM8B,QAAS9B,EAAM+B,SAGpD,CACLjb,EAAGkZ,EAAMlZ,EACTvH,EAAGygB,EAAMzgB,GAIR,MAOF,YAAA6rC,gBAAP,WACE,OAAO,cAAItuC,KAAKkjB,MAAO,CAAC,SAAU,WAM7B,YAAAqrB,SAAP,WACE,IAAM5d,EAAQ3wB,KAAKmuC,kBACnB,QAAIxd,GACK3wB,KAAKiJ,KAAKulC,cAAc7d,IAS5B,YAAA8d,UAAP,SAAiB7xC,GACf,IAAM2T,EAAQvQ,KAAKsuC,kBACnB,QAAI/9B,GACKA,EAAMrT,IAAI,UAAYN,GAS1B,YAAA8xC,cAAP,SAAqB9xC,GACnB,IAAM+xC,EAAa1B,GAAcjtC,KAAKiJ,MAChC0nB,EAAQ3wB,KAAKmuC,kBACnB,QAAIxd,KACOge,EAAWT,MAAK,SAACpZ,GACxB,IAAMvP,EAAOuP,EAAUjH,UACvB,OAAIjxB,EACKk4B,EAAU53B,IAAI,UAAYN,GAAQywC,GAAQ9nB,EAAMoL,GAEhD0c,GAAQ9nB,EAAMoL,OAUtB,YAAAvpB,QAAP,WACEpH,KAAKiJ,KAAO,KACZjJ,KAAKkjB,MAAQ,KAEb,eAAKljB,KAAK8tC,QAAQltB,SAAS,SAAC4jB,GAC1BA,EAAOp9B,aAETpH,KAAK8tC,QAAU,KACf9tC,KAAK+tC,SAAW,MAEpB,EA5IA,G,GCDA,WAME,WAAY9kC,EAAYR,GACtBzI,KAAKiJ,KAAOA,EACZjJ,KAAKyI,IAAMA,EA0Bf,OApBS,YAAAwf,KAAP,WACEjoB,KAAK4uC,cAMG,YAAAA,WAAV,aAKU,YAAArnC,YAAV,aAKO,YAAAH,QAAP,WACEpH,KAAKuH,eAET,EAlCA,GCAA,SAASsnC,GAAYC,EAAmBjL,GACtC,IAAMvlC,EAAMwwC,EAAU7hB,MAAM,KACtBmX,EAAa9lC,EAAI,GAEjBkmC,EAASX,EAAQoK,UAAU7J,ITW7B,SAAuBA,EAAoBP,GAC/C,IAAMQ,EAAeH,EAAYE,GAC7BI,EAAS,KAOb,OANIH,KAEFG,EAAS,IAAIF,EADgBD,EAAV,aACMR,EADIQ,EAAL,MAEjBznC,KAAOwnC,EACdI,EAAOvc,QAEFuc,ESpByCuK,CAAa3K,EAAYP,GACzE,IAAKW,EACH,MAAM,IAAI5F,MAAM,4BAA4BwF,GAG9C,MAAO,CACLI,OAAM,EACNwK,WAHiB1wC,EAAI,IAQzB,SAAS2wC,GAAcC,GACb,IAAA1K,EAAuB0K,EAAjB,OAAEF,EAAeE,EAAL,WAC1B,IAAI1K,EAAOwK,GAGT,MAAM,IAAIpQ,MAAM,UAAU4F,EAAO5nC,KAAI,kCAAkCoyC,GAFvExK,EAAOwK,KAMX,IAAMG,GACG,QADHA,GAES,aAFTA,GAGC,MAHDA,GAIM,WAJNA,GAKQ,a,GAoHd,YAcE,WAAYlmC,EAAYmmC,GAAxB,MACE,YAAMnmC,EAAMmmC,IAAM,K,OALZ,EAAAC,eAA8B,GAE9B,EAAAC,WAA0B,GAIhC,EAAKF,MAAQA,E,EA2OjB,OA3PgD,yBAsBvC,YAAAnnB,KAAP,WACEjoB,KAAKuvC,cACL,YAAMtnB,KAAI,YAML,YAAA7gB,QAAP,WACE,YAAMA,QAAO,WACbpH,KAAKovC,MAAQ,KACTpvC,KAAK6jC,UACP7jC,KAAK6jC,QAAQz8B,UACbpH,KAAK6jC,QAAU,MAGjB7jC,KAAKqvC,eAAiB,KACtBrvC,KAAKiJ,KAAO,MAMJ,YAAA2lC,WAAV,sBACE,eAAK5uC,KAAKovC,OAAO,SAACI,EAASC,GACzB,eAAKD,GAAS,SAACvtC,GACb,IAAM6P,EAAW,EAAK49B,kBAAkBD,EAAUxtC,GAC9C6P,GAEF,EAAK69B,UAAU1tC,EAAK2tC,QAAS99B,UAS3B,YAAAvK,YAAV,sBACE,eAAKvH,KAAKovC,OAAO,SAACI,EAASC,GACzB,eAAKD,GAAS,SAACvtC,GACb,IAAM6P,EAAW,EAAK49B,kBAAkBD,EAAUxtC,GAC9C6P,GACF,EAAK+9B,SAAS5tC,EAAK2tC,QAAS99B,UAO5B,YAAAy9B,YAAR,WACE,IAAMtmC,EAAOjJ,KAAKiJ,KACZ46B,EAAU,IAAI,GAAmB56B,GACvCjJ,KAAK6jC,QAAUA,EACf,IAAMuL,EAAQpvC,KAAKovC,MAEnB,eAAKA,GAAO,SAACU,GACX,eAAKA,GAAU,SAAC7tC,GACd,GAAI,qBAAWA,EAAKuiC,QAElBviC,EAAKitC,aAAe,CAClB1K,OAAQD,GAAqBtiC,EAAKuiC,OAAQX,GAC1CmL,WAAY,gBAET,GAAI,mBAAS/sC,EAAKuiC,QAEvBviC,EAAKitC,aAAeL,GAAY5sC,EAAKuiC,OAAQX,QACxC,GAAI,kBAAQ5hC,EAAKuiC,QAAS,CAE/B,IAAMuL,EAAY9tC,EAAKuiC,OACvBviC,EAAKitC,aAAe,GACpB,eAAKa,GAAW,SAACjB,GACf7sC,EAAKitC,aAAa5rC,KAAKurC,GAAYC,EAAWjL,eAShD,YAAAmM,YAAR,SAAoBP,GAClB,IAAMQ,EAAkBjwC,KAAKiwC,gBACvBb,EAAQpvC,KAAKovC,MAEnB,GAAIa,IAAoBR,EACtB,OAAO,EAGT,GAAIA,IAAaN,GAEf,OAAO,EAGT,GAAIM,IAAaN,GAEf,OAAOc,IAAoBd,GAG7B,GAAIM,IAAaN,GAEf,OAAOc,IAAoBd,GAG7B,GAAIM,IAAaN,GACf,OAAOc,IAAoBd,IAAyBc,IAAoBd,GAG1E,GAAIM,IAAaN,GAAqB,CACpC,GAAIC,EAAMD,IAER,OAAOc,IAAoBd,GACtB,GAAIc,IAAoBd,GAE7B,OAAO,EAGX,OAAO,GAID,YAAAe,cAAR,SAAsBT,EAAkBxtC,GACtC,GAAIjC,KAAKgwC,YAAYP,GAAW,CAC9B,IAAM7xC,EAAMoC,KAAKmwC,OAAOV,EAAUxtC,GAElC,QAAIA,EAAKmuC,OAAQpwC,KAAKsvC,WAAW1xC,OAI7BqE,EAAKouC,UACApuC,EAAKouC,SAASrwC,KAAK6jC,UAI9B,OAAO,GAGD,YAAAyM,UAAR,SAAkBb,GAChBzvC,KAAKiwC,gBAAkBR,EACvBzvC,KAAKsvC,WAAa,IAIZ,YAAAiB,aAAR,SAAqBd,EAAkBxtC,GAEjCwtC,IAAaN,IAA0BnvC,KAAKiwC,kBAAoBR,GAClEzvC,KAAKswC,UAAUb,GAEjB,IAAM7xC,EAAMoC,KAAKmwC,OAAOV,EAAUxtC,GAElCjC,KAAKsvC,WAAW1xC,IAAO,GAGjB,YAAAuyC,OAAR,SAAeV,EAAUxtC,GACvB,OAAOwtC,EAAWxtC,EAAK2tC,QAAU3tC,EAAKuiC,QAIhC,YAAAkL,kBAAR,SAA0BD,EAAkBxtC,GAA5C,WACQ4hC,EAAU7jC,KAAK6jC,QACfwL,EAAiBrvC,KAAKqvC,eACtBH,EAAejtC,EAAKitC,aAC1B,GAAIjtC,EAAKuiC,QAAU0K,EAAc,CAC/B,IAAMtxC,EAAMoC,KAAKmwC,OAAOV,EAAUxtC,GAClC,IAAKotC,EAAezxC,GAAM,CAExB,IAAM4yC,EAAiB,SAACttB,GACtB2gB,EAAQ3gB,MAAQA,EACZ,EAAKgtB,cAAcT,EAAUxtC,IAE3B,kBAAQitC,GACV,eAAKA,GAAc,SAACjwC,GAClB4kC,EAAQ3gB,MAAQA,EAChB+rB,GAAchwC,OAGhB4kC,EAAQ3gB,MAAQA,EAChB+rB,GAAcC,IAEhB,EAAKqB,aAAad,EAAUxtC,GACxBA,EAAK6P,WACP+xB,EAAQ3gB,MAAQA,EAChBjhB,EAAK6P,SAAS+xB,KAIhBA,EAAQ3gB,MAAQ,MAIhBjhB,EAAKwuC,SACPpB,EAAezxC,GAAO,mBAAS4yC,EAAgBvuC,EAAKwuC,SAASC,KAAMzuC,EAAKwuC,SAASE,WACxE1uC,EAAK2uC,SAEdvB,EAAezxC,GAAO,mBAAS4yC,EAAgBvuC,EAAK2uC,SAASF,KAAM,CACjEG,QAAS5uC,EAAK2uC,SAASC,QACvBC,SAAU7uC,EAAK2uC,SAASE,WAI1BzB,EAAezxC,GAAO4yC,EAG1B,OAAOnB,EAAezxC,GAExB,OAAO,MAGD,YAAA+xC,UAAR,SAAkBplC,EAAWuH,GAC3B,IAAMi/B,EAAUxmC,EAAU0iB,MAAM,KACb,WAAf8jB,EAAQ,GACV90C,OAAO4O,iBAAiBkmC,EAAQ,GAAIj/B,GACZ,aAAfi/B,EAAQ,GACjB9qC,SAAS4E,iBAAiBkmC,EAAQ,GAAIj/B,GAEtC9R,KAAKiJ,KAAKwB,GAAGF,EAAWuH,IAIpB,YAAA+9B,SAAR,SAAiBtlC,EAAWuH,GAC1B,IAAMi/B,EAAUxmC,EAAU0iB,MAAM,KACb,WAAf8jB,EAAQ,GACV90C,OAAO+0C,oBAAoBD,EAAQ,GAAIj/B,GACf,aAAfi/B,EAAQ,GACjB9qC,SAAS+qC,oBAAoBD,EAAQ,GAAIj/B,GAEzC9R,KAAKiJ,KAAK4oB,IAAItnB,EAAWuH,IAG/B,EA3PA,CAAgD,ICpJ1Cm/B,GAA4B,GAO5B,SAAU9iB,GAAevxB,GAC7B,OAAOq0C,GAAa,oBAAUr0C,IAQ1B,SAAU2P,GAAoB3P,EAAcosB,GAChDioB,GAAa,oBAAUr0C,IAASosB,E,atGZ5B,SAAU,GAAwB,G,MAChC,EAAc,CAClB,MAAO,CACL,QAAS,CACP,KAAM,EAAW,eACjB,EAAG,EAAW,UACd,OAAQ,EAAW,iBACnB,UAAW,EAAW,YACtB,YAAa,EAAW,kBAE1B,OAAQ,CACN,OAAQ,EAAW,uBACnB,UAAW,EAAW,mBAExB,SAAU,CACR,OAAQ,EAAW,yBACnB,UAAW,EAAW,qBAExB,SAAU,CACR,YAAa,EAAW,yBACxB,cAAe,EAAW,6BAG9B,YAAa,CACX,QAAS,CACP,KAAM,EAAW,qBACjB,UAAW,EAAW,kBACtB,OAAQ,EAAW,uBACnB,cAAe,EAAW,yBAC1B,EAAG,EAAW,iBAEhB,OAAQ,CACN,OAAQ,EAAW,6BACnB,cAAe,EAAW,gCAE5B,SAAU,CACR,UAAW,EAAW,0BACtB,OAAQ,EAAW,+BACnB,cAAe,EAAW,kCAE5B,SAAU,CACR,cAAe,EAAW,mCAG9B,KAAM,CACJ,QAAS,CACP,KAAM,EAAW,cACjB,YAAa,EAAW,gBACxB,OAAQ,MAEV,OAAQ,CACN,YAAa,EAAW,uBAE1B,SAAU,CACR,YAAa,EAAW,yBAE1B,SAAU,CACR,YAAa,EAAW,0BAG5B,WAAY,CACV,QAAS,CACP,KAAM,KACN,OAAQ,EAAW,sBACnB,UAAW,EAAW,iBACtB,cAAe,EAAW,yBAE5B,OAAQ,CACN,KAAM,KACN,UAAW,EAAW,wBAExB,SAAU,CACR,KAAM,KACN,UAAW,EAAW,0BAExB,SAAU,CACR,cAAe,EAAW,kCAG9B,SAAU,CACR,QAAS,CACP,KAAM,EAAW,kBACjB,YAAa,EAAW,qBAE1B,OAAQ,CACN,OAAQ,EAAW,0BACnB,UAAW,EAAW,sBAExB,SAAU,CACR,OAAQ,EAAW,4BACnB,UAAW,EAAW,wBAExB,SAAU,CACR,YAAa,EAAW,4BACxB,cAAe,EAAW,gCAG9B,eAAgB,CACd,QAAS,CACP,KAAM,EAAW,wBACjB,OAAQ,EAAW,0BACnB,UAAW,EAAW,qBACtB,cAAe,EAAW,6BAE5B,OAAQ,CACN,OAAQ,EAAW,gCACnB,UAAW,EAAW,2BACtB,cAAe,EAAW,mCAE5B,SAAU,CACR,OAAQ,EAAW,kCACnB,UAAW,EAAW,6BACtB,cAAe,EAAW,qCAE5B,SAAU,CACR,OAAQ,EAAW,kCACnB,UAAW,EAAW,6BACtB,cAAe,EAAW,sCAG9B,KAAM,CACJ,QAAS,CACP,OAAQ,EAAW,gBACnB,UAAW,EAAW,WACtB,cAAe,EAAW,kBAC1B,KAAM,KACN,gBAAiB,IAEnB,OAAQ,CACN,UAAW,EAAW,kBAExB,SAAU,CACR,UAAW,EAAW,oBAExB,SAAU,CACR,cAAe,EAAW,6BAI1B,EAAa,CACjB,MAAO,CACL,YAAY,EACZ,SAAU,SACV,MAAO,CACL,KAAM,EAAW,uBACjB,SAAU,EAAW,sBACrB,WAAY,EAAW,wBACvB,aAAc,SACd,WAAY,EAAW,aAG3B,MAAO,CACL,YAAY,EACZ,cAAc,EACd,UAAU,EACV,OAAQ,GACR,MAAO,CACL,KAAM,EAAW,mBACjB,SAAU,EAAW,kBACrB,WAAY,EAAW,oBACvB,aAAc,SACd,WAAY,EAAW,aAG3B,KAAM,CACJ,MAAO,CACL,UAAW,EAAW,eACtB,OAAQ,EAAW,sBAGvB,SAAU,CACR,MAAO,CACL,UAAW,EAAW,mBACtB,OAAQ,EAAW,yBAErB,WAAW,EACX,OAAQ,EAAW,oBAErB,YAAa,KACb,SAAS,GAEL,EAAiB,CACrB,KAAM,CACJ,KAAM,OACN,MAAO,CACL,OAAQ,EAAW,oBACnB,UAAW,EAAW,eACtB,SAAU,EAAW,mBAGzB,WAAW,EACX,SAAS,GAEL,EAAe,CACnB,MAAO,KACP,OAAQ,CACN,OAAQ,SACR,MAAO,CACL,EAAG,EAAW,uBACd,KAAM,EAAW,oBAGrB,SAAU,CACR,QAAS,EACT,MAAO,CACL,KAAM,EAAW,wBACjB,WAAY,EAAW,WACvB,SAAU,EAAW,uBACrB,WAAY,EAAW,yBACvB,WAAY,EAAW,yBACvB,UAAW,QACX,aAAc,WAGlB,UAAU,EACV,SAAS,EACT,aAAc,IAGhB,MAAO,CACL,WAAY,EAAW,gBACvB,aAAc,EAAW,WACzB,QAAS,OACT,WAAY,EAAW,WAEvB,iBAAkB,GAElB,eAAgB,KAEhB,eAAgB,KAEhB,eAAgB,SAEhB,sBAAuB,EAAI,IAC3B,SAAU,EAAW,qBACrB,SAAU,EAAW,qBACrB,OAAQ,CACN,MAAO,CACL,gBACA,gBACA,gBACA,iBACA,iBACA,kBACA,uBACA,SACA,SACA,SACA,UACA,UACA,WACA,gBACA,QACA,OACA,OACA,SACA,QAEF,KAAM,CAAC,OAAQ,OAAQ,MAAO,UAC9B,KAAM,CAAC,OAAQ,SAAU,OAAQ,eACjC,SAAU,CAAC,OAAQ,cAAe,OAAQ,SAE5C,MAAO,CAAC,EAAG,IACX,WAAY,CACV,SAAU,CACR,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,SAAZ,SAET,OAAQ,CACN,MAAO,EAAY,SAAS,QAE9B,SAAU,CACR,MAAO,EAAY,SAAS,UAE9B,SAAU,CACR,MAAO,SAAC,GACN,IAAM,EAAa,EAAQ,SAAS,WACpC,GAAI,EAAW,SAAW,EAAW,aAAc,CAC3C,MAA2B,GAAS,EAAQ,WAAY,GACxD,GADY,aAAU,YACkB,EAExC,EADI,IACI,KAAK,IAAI,GACjB,EAFI,IAEI,KAAK,IAAI,GACvB,MAAO,CACL,OAAQ,MAAI,UAAU,KAAM,CAAC,CAAC,IAAK,EAAG,MAG1C,OAAO,EAAY,SAAS,YAIlC,cAAe,CACb,QAAS,CACP,MAAO,EAAY,eAAZ,SAET,OAAQ,CACN,MAAO,EAAY,eAAe,QAEpC,SAAU,CACR,MAAO,EAAY,eAAe,UAEpC,SAAU,CACR,MAAO,EAAY,eAAe,WAGtC,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,eAAZ,SAET,OAAQ,CACN,MAAO,EAAY,eAAe,QAEpC,SAAU,CACR,MAAO,EAAY,eAAe,UAEpC,SAAU,CACR,MAAO,EAAY,eAAe,WAGtC,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,eAAZ,SAET,OAAQ,CACN,MAAO,EAAY,eAAe,QAEpC,SAAU,CACR,MAAO,EAAY,eAAe,UAEpC,SAAU,CACR,MAAO,EAAY,eAAe,WAGtC,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,SAAZ,SAET,OAAQ,CACN,MAAO,EAAY,SAAS,QAE9B,SAAU,CACR,MAAO,EAAY,SAAS,UAE9B,SAAU,CACR,MAAO,EAAY,SAAS,WAGhC,QAAS,CACP,QAAS,CACP,MAAO,EAAY,SAAZ,SAET,OAAQ,CACN,MAAO,EAAY,SAAS,QAE9B,SAAU,CACR,MAAO,EAAY,SAAS,UAE9B,SAAU,CACR,MAAO,EAAY,SAAS,YAIlC,KAAM,CACJ,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,IAAK,CACH,QAAS,CACP,MAAK,yCACA,EAAY,KAAZ,SAAwB,CAC3B,SAAU,CAAC,EAAG,MAGlB,OAAQ,CACN,MAAK,yCACA,EAAY,KAAK,QAAM,CAC1B,SAAU,CAAC,EAAG,MAGlB,SAAU,CACR,MAAK,yCACA,EAAY,KAAK,UAAQ,CAC5B,SAAU,CAAC,EAAG,MAGlB,SAAU,CACR,MAAK,yCACA,EAAY,KAAK,UAAQ,CAC5B,SAAU,CAAC,EAAG,OAIpB,KAAM,CACJ,QAAS,CACP,MAAK,yCACA,EAAY,KAAZ,SAAwB,CAC3B,SAAU,CAAC,IAAK,MAGpB,OAAQ,CACN,MAAK,yCACA,EAAY,KAAK,QAAM,CAC1B,SAAU,CAAC,IAAK,MAGpB,SAAU,CACR,MAAK,yCACA,EAAY,KAAK,UAAQ,CAC5B,SAAU,CAAC,IAAK,MAGpB,SAAU,CACR,MAAK,yCACA,EAAY,KAAK,UAAQ,CAC5B,SAAU,CAAC,IAAK,OAItB,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,GAAI,CACF,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,GAAI,CACF,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,IAAK,CACH,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,IAAK,CACH,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,YAI9B,QAAS,CACP,QAAS,CACP,QAAS,CACP,MAAO,EAAY,SAAZ,SAET,OAAQ,CACN,MAAO,EAAY,SAAS,QAE9B,SAAU,CACR,MAAO,EAAY,SAAS,UAE9B,SAAU,CACR,MAAO,EAAY,SAAS,YAIlC,MAAO,CACL,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,MAAZ,SAET,OAAQ,CACN,MAAO,EAAY,MAAM,QAE3B,SAAU,CACR,MAAO,EAAY,MAAM,UAE3B,SAAU,CACR,MAAO,EAAY,MAAM,WAG7B,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,MAAZ,SAET,OAAQ,CACN,MAAO,EAAY,MAAM,QAE3B,SAAU,CACR,MAAO,EAAY,MAAM,UAE3B,SAAU,CACR,MAAO,EAAY,MAAM,WAG7B,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,MAAZ,SAET,OAAQ,CACN,MAAO,EAAY,MAAM,QAE3B,SAAU,CACR,MAAO,EAAY,MAAM,UAE3B,SAAU,CACR,MAAO,EAAY,MAAM,WAG7B,QAAS,CACP,QAAS,CACP,MAAO,EAAY,MAAZ,SAET,OAAQ,CACN,MAAO,EAAY,MAAM,QAE3B,SAAU,CACR,MAAO,EAAY,MAAM,UAE3B,SAAU,CACR,MAAO,EAAY,MAAM,WAG7B,QAAS,CACP,QAAS,CACP,MAAO,EAAY,MAAZ,SAET,OAAQ,CACN,MAAO,EAAY,MAAM,QAE3B,SAAU,CACR,MAAO,EAAY,MAAM,UAE3B,SAAU,CACR,MAAO,EAAY,MAAM,WAG7B,SAAU,CACR,QAAS,CACP,MAAO,EAAY,MAAZ,SAET,OAAQ,CACN,MAAO,EAAY,MAAM,QAE3B,SAAU,CACR,MAAO,EAAY,MAAM,UAE3B,SAAU,CACR,MAAO,EAAY,MAAM,WAG7B,gBAAiB,CACf,QAAS,CACP,MAAO,EAAY,MAAZ,SAET,OAAQ,CACN,MAAO,EAAY,MAAM,QAE3B,SAAU,CACR,MAAO,EAAY,MAAM,UAE3B,SAAU,CACR,MAAO,EAAY,MAAM,WAG7B,gBAAiB,CACf,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,gBAAiB,CACf,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,gBAAiB,CACf,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,iBAAkB,CAChB,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,iBAAkB,CAChB,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,kBAAmB,CACjB,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,uBAAwB,CACtB,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,MAAO,CACL,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,WAGnC,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,YAAZ,SAET,OAAQ,CACN,MAAO,EAAY,YAAY,QAEjC,SAAU,CACR,MAAO,EAAY,YAAY,UAEjC,SAAU,CACR,MAAO,EAAY,YAAY,YAIrC,KAAM,CACJ,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,WAAZ,SAET,OAAQ,CACN,MAAO,EAAY,WAAW,QAEhC,SAAU,CACR,MAAO,EAAY,WAAW,UAEhC,SAAU,CACR,MAAO,EAAY,WAAW,WAGlC,cAAe,CACb,QAAS,CACP,MAAO,EAAY,WAAZ,SAET,OAAQ,CACN,MAAO,EAAY,WAAW,QAEhC,SAAU,CACR,MAAO,EAAY,WAAW,UAEhC,SAAU,CACR,MAAO,EAAY,WAAW,YAIpC,OAAQ,CACN,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,eAAZ,SAET,OAAQ,CACN,MAAO,EAAY,eAAe,QAEpC,SAAU,CACR,MAAO,EAAY,eAAe,UAEpC,SAAU,CACR,MAAO,EAAY,eAAe,WAGtC,IAAK,CACH,QAAS,CACP,MAAO,EAAY,eAAZ,SAET,OAAQ,CACN,MAAO,EAAY,eAAe,QAEpC,SAAU,CACR,MAAO,EAAY,eAAe,UAEpC,SAAU,CACR,MAAO,EAAY,eAAe,YAIxC,KAAM,CACJ,KAAM,CACJ,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,IAAK,CACH,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,OAAQ,CACN,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,WAG5B,IAAK,CACH,QAAS,CACP,MAAO,EAAY,KAAZ,SAET,OAAQ,CACN,MAAO,EAAY,KAAK,QAE1B,SAAU,CACR,MAAO,EAAY,KAAK,UAE1B,SAAU,CACR,MAAO,EAAY,KAAK,aAKhC,WAAY,CACV,KAAM,CACJ,IAAK,kBAAQ,GAAI,EAAY,CAC3B,SAAU,MACV,KAAM,KACN,MAAO,KACP,oBAAqB,KAEvB,OAAQ,kBAAQ,GAAI,EAAY,CAC9B,SAAU,SACV,KAAM,KACN,MAAO,KACP,oBAAqB,KAEvB,KAAM,kBAAQ,GAAI,EAAY,CAC5B,SAAU,OACV,MAAO,CACL,OAAQ,GAEV,MAAO,KACP,KAAM,KACN,SAAU,KACV,KAAM,EACN,oBAAqB,EAAI,IAE3B,MAAO,kBAAQ,GAAI,EAAY,CAC7B,SAAU,QACV,MAAO,CACL,OAAQ,GAEV,MAAO,KACP,KAAM,KACN,SAAU,KACV,KAAM,EACN,oBAAqB,EAAI,IAE3B,OAAQ,kBAAQ,GAAI,EAAY,CAC9B,MAAO,KACP,MAAO,CACL,OAAQ,GAEV,KAAM,kBAAQ,GAAI,EAAgB,CAAE,KAAM,CAAE,KAAM,YAEpD,OAAQ,kBAAQ,GAAI,EAAY,CAC9B,MAAO,KACP,MAAO,CACL,OAAQ,GAEV,KAAM,kBAAQ,GAAI,EAAgB,CAAE,KAAM,CAAE,KAAM,eAGtD,OAAQ,CACN,MAAO,kBAAQ,GAAI,EAAc,CAC/B,OAAQ,aAEV,KAAM,kBAAQ,GAAI,EAAc,CAC9B,OAAQ,aAEV,IAAK,kBAAQ,GAAI,EAAc,CAC7B,OAAQ,eAEV,OAAQ,kBAAQ,GAAI,EAAc,CAChC,OAAQ,eAEV,WAAY,CACV,MAAO,KACP,WAAY,KACZ,MAAO,GACP,KAAM,CACJ,KAAM,QACN,KAAM,EAAW,iBACjB,cAAe,EAAW,gBAC1B,MAAO,CACL,KAAM,EAAW,oBACjB,OAAQ,EAAW,sBACnB,UAAW,EAAW,mBAG1B,MAAO,CACL,MAAO,OACP,QAAS,EACT,UAAW,KACX,MAAO,CACL,KAAM,EAAW,yBACjB,SAAU,EAAW,wBACrB,WAAY,EAAW,0BACvB,aAAc,SACd,WAAY,EAAW,aAG3B,QAAS,CACP,KAAM,EAAW,mBACjB,MAAO,CACL,KAAM,EAAW,uBACjB,OAAQ,EAAW,2BAGvB,UAAU,GAGZ,OAAQ,CAAC,EAAG,EAAG,EAAG,IAEpB,QAAS,CACP,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,QAAQ,EACR,WAAW,EACX,SAAU,OACV,OAAQ,CACN,OAAQ,SACR,OAAQ,OACR,WAAY,GACZ,cAAe,EACf,cAAe,EACf,YAAa,mBACb,UAAW,EACX,EAAG,GAEL,WAAY,CACV,KAAM,CACJ,MAAO,CACL,OAAQ,EAAW,6BACnB,UAAW,EAAW,0BAG1B,KAAM,KACN,eAAgB,CACd,QAAS,EACT,MAAO,CACL,KAAM,sBACN,UAAW,EACX,OAAQ,OAGZ,QAAQ,GAGV,WAAS,KACP,EAAC,GAAG,oBAAsC,CACxC,SAAU,WACV,WAAY,SACZ,OAAQ,EACR,WAAY,0FACZ,gBAAiB,EAAW,0BAC5B,QAAS,EAAW,4BACpB,UAAW,EAAW,uBACtB,aAAiB,EAAW,6BAA4B,KACxD,MAAO,EAAW,qBAClB,SAAa,EAAW,oBAAmB,KAC3C,WAAY,EAAW,WACvB,WAAe,EAAW,sBAAqB,KAC/C,QAAS,iBAEX,EAAC,GAAG,gBAAkC,CACpC,aAAc,OACd,UAAW,QAEb,EAAC,GAAG,eAAiC,CACnC,OAAQ,EACR,cAAe,OACf,QAAS,GAEX,EAAC,GAAG,oBAAsC,CACxC,cAAe,OACf,QAAS,EACT,aAAc,OACd,UAAW,OACX,WAAY,EACZ,YAAa,GAEf,EAAC,GAAG,iBAAmC,CACrC,MAAO,MACP,OAAQ,MACR,aAAc,MACd,QAAS,eACT,YAAa,OAEf,EAAC,GAAG,gBAAkC,CACpC,QAAS,eACT,MAAO,QACP,WAAY,QAEf,IAEH,WAAY,CACV,IAAK,CACH,MAAO,CACL,OAAQ,EAAW,yBACnB,UAAW,EAAW,qBAExB,SAAS,GAEX,KAAM,CACJ,MAAO,CACL,OAAQ,EAAW,0BACnB,SAAU,EAAW,mBACrB,UAAW,EAAW,sBAExB,KAAM,CACJ,SAAU,QACV,YAAY,EACZ,MAAO,CACL,KAAM,EAAW,wBACjB,OAAQ,EAAW,0BACnB,UAAW,EAAW,qBACtB,SAAU,EAAW,uBACrB,UAAW,QACX,WAAY,EAAW,WACvB,aAAc,WAGlB,SAAS,GAEX,KAAM,CACJ,MAAO,CACL,KAAM,EAAW,wBACjB,OAAQ,EAAW,0BACnB,UAAW,EAAW,qBACtB,SAAU,EAAW,uBACrB,aAAc,SACd,UAAW,QACX,WAAY,EAAW,YAEzB,SAAS,GAEX,OAAQ,CACN,KAAK,EACL,MAAO,CACL,UAAW,EAAW,uBACtB,OAAQ,EAAW,4BACnB,KAAM,EAAW,0BACjB,YAAa,EAAW,6BAE1B,SAAS,GAEX,MAAO,CACL,KAAK,EACL,SAAS,GAEX,WAAY,CACV,KAAK,EACL,MAAO,CACL,MAAO,CACL,EAAG,EACH,OAAQ,EAAW,WACnB,UAAW,IAGf,KAAM,CACJ,MAAO,CACL,OAAQ,EAAW,0BACnB,UAAW,EAAW,sBAExB,OAAQ,EAAW,gCAErB,KAAM,CACJ,MAAO,CACL,UAAW,QACX,KAAM,EAAW,wBACjB,OAAQ,EAAW,0BACnB,UAAW,EAAW,qBACtB,SAAU,EAAW,uBACrB,WAAY,EAAW,aAG3B,UAAW,SACX,YAAY,EACZ,SAAS,GAEX,WAAY,CACV,MAAO,CACL,OAAQ,CACN,KAAM,EAAW,0BACjB,YAAa,EAAW,6BAE1B,KAAM,CACJ,UAAW,SACX,aAAc,SACd,KAAM,EAAW,wBACjB,OAAQ,EAAW,0BACnB,UAAW,EAAW,qBACtB,SAAU,EAAW,uBACrB,WAAY,EAAW,aAG3B,SAAS,KAIf,OAAQ,CACN,OAAQ,GACR,MAAO,CACL,KAAM,EAAW,eACjB,SAAU,EAAW,cACrB,WAAY,EAAW,WACvB,OAAQ,EAAW,iBACnB,UAAW,EAAW,aAExB,YAAY,GAEd,YAAa,CACX,MAAO,CACL,KAAM,EAAW,oBACjB,SAAU,EAAW,mBACrB,WAAY,EAAW,WACvB,OAAQ,EAAW,sBACnB,UAAW,EAAW,kBAExB,YAAY,GAEd,UAAW,CACT,YAAa,GACb,OAAQ,GACR,UAAW,CACT,MAAO,CACL,UAAW,EAAW,kBAG1B,YAAY,IuG/uClB,IAAMkoB,GACC,OADDA,GAIA,UAJAA,GAKA,UALAA,GAMA,UANAA,GAOA,UAIAC,GACC,UAUDC,GAAiB,CACrB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WCvBIC,GAAsC,CAC1C/rC,QAJmBgsC,GDoDI,CACvBC,gBAAiB,cAEjBC,WAAYJ,GAAe,GAE3BK,qBAAsBL,GAEtBM,qBA9BqB,CACrB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAYAC,mBAAoB,UAEpBC,qBAAsB,UAEtBC,sBAAuB,UAEvB7O,WAAY,4KAMZ8O,oBAAqBZ,GAErBa,eAAgB,GAEhBC,aAAc,KAGdC,uBAAwBf,GAExBgB,sBAAuB,GAEvBC,wBAAyB,GAEzBC,wBAAyB,SAGzBC,wBAAyBnB,GAEzBoB,mBAAoB,EAEpBC,mBAAoB,GAGpBC,2BAA4BtB,GAE5BuB,sBAAuB,EAEvBC,sBAAuB,GAGvBC,mBAAoBzB,GAEpB0B,kBAAmB,GAEnBC,oBAAqB,GAErBC,oBAAqB,SAGrBC,oBAAqB7B,GAErB8B,eAAgB,GAEhBC,iBAAkB,KAIlBC,yBAA0BhC,GAE1BiC,wBAAyB,GAEzBC,0BAA2B,GAE3BC,0BAA2B,SAG3BC,kBAAmBlC,GAAe,GAElCmC,iBAAkB,EAElBC,uBAAwB,EAExBC,uBAAwB,EAExBC,qBAAsB,EAGtBC,wBAAyBzC,GAEzB0C,uBAAwB,GAExBC,yBAA0B,GAE1BC,yBAA0B,SAG1BC,oBAAqB7C,GAErB8C,iBAAkB,EAElBC,sBAAuB,KAEvBC,gBAAiB,IAEjBC,iBAAkB,GAGlBC,yBAA0BlD,GAE1BmD,wBAAyB,GAEzBC,0BAA2B,GAE3BC,0BAA2B,SAG3BC,uBAvKG,UAyKHC,mBAAoB,GAEpBC,oBAAqB,GAErBC,oBAAqB,EAErBC,yBAA0B1D,GAI1B2D,yBAA0B3D,GAE1B4D,oBAAqB,GAGrBC,0BAA2B7D,GAE3B8D,qBAAsB,GAEtBC,mBAAoB,KAGpBC,wBAAyBhE,GAEzBiE,uBAAwB,GAExBC,yBAA0B,GAE1BC,yBAA0B,SAE1BC,0BAlMI,UAoMJC,qBAAsB,IAGtBC,0BAA2BtE,GAE3BuE,4BAA6B,IAE7BC,uBAAwB,EAExBC,4BAA6B,KAG7BC,+BAAgC,GAIhCC,6BAA8B3E,GAE9B4E,wBAAyB,GAEzBC,0BAA2B,KAG3BC,0BAA2B,qBAC3BC,4BAA6B,IAE7BC,uBAAwB,uBAExBC,6BAA8B,EAG9BC,qBAAsBlF,GAEtBmF,oBAAqB,GAErBC,sBAAuB,GAEvBC,sBAAuB,OAIvBC,eAAgBtF,GAEhBuF,cAAe,GAEfC,gBAAiB,GAEjBC,gBAAiB,SAEjBC,iBAAkB,KAElBC,YAAa,EAGbC,oBAAqB3F,GAErB4F,mBAAoB,GAEpBC,qBAAsB,GAEtBC,qBAAsB,SAEtBC,sBAAuB,KAEvBC,iBAAkB,EAGlBC,gBAAiB,GAEjBC,qBAAsBnG,GAItBoG,eAAgBlG,GAAe,GAE/BmG,iBAAkB,IAElBC,UAAW,EAEXC,YAAa,EAEbC,iBAAkBvG,GAElBwG,mBAAoB,EAGpBC,uBAAwB1G,GAGxB2G,oBAAqB,EAErBC,yBAA0B5G,GAG1B6G,yBAA0B,GAE1BC,2BAA4B,GAG5BC,gBAAiB,EAEjBC,kBAAmB,EAEnBC,uBAAwB/G,GAAe,GAEvCgH,yBAA0B,IAC1BC,qBAAsBlH,GAGtBmH,wBAAyB,EAEzBC,6BAA8BrH,GAE9BsH,+BAAgC,EAGhCC,0BAA2B,EAE3BC,+BAAgCxH,GAEhCyH,iCAAkC,EAGlCC,iCAAkC,GAGlCC,WAAY,EAEZC,gBAAiB1H,GAAe,GAEhC2H,kBAAmB,EAGnBC,iBAAkB,EAGlBC,mBAAoB,EAGpBC,0BAA2B,GAG3BC,cAAe/H,GAAe,GAE9BgI,gBAAiB,IAGjBC,oBAAqBjI,GAAe,GACpCkI,sBAAuB,GAGvBC,sBAAuBnI,GAAe,GACtCoI,wBAAyB,GAGzBC,wBAAyB,GAGzBC,sBAAuBtI,GAAe,GAEtCuI,iBAAkB,EAElBC,wBAAyB,EAGzBC,uBAAwB,EACxBC,4BAA6B5I,GAG7B6I,yBAA0B,EAC1BC,8BAA+B9I,GAG/B+I,gCAAiC,GAGjCC,kBAAmB9I,GAAe,GAElC+I,oBAAqB,IAGrBC,qBAAsB,EAEtBC,0BAA2BnJ,GAC3BoJ,4BAA6B,EAG7BC,uBAAwB,EAExBC,4BAA6BtJ,GAE7BuJ,8BAA+B,EAG/BC,8BAA+B,GAE/BC,4BAA6B,GAG7BC,qBAAsB,EAEtBC,0BAA2BzJ,GAAe,GAE1C0J,4BAA6B,EAC7BC,wBAAyB5J,GAGzB6J,2BAA4B,EAE5BC,gCAAiC/J,GAGjCgK,6BAA8B,EAE9BC,kCAAmCjK,GAEnCkK,oCAAqC,EAGrCC,oCAAqC,MC3ZjC,SAAU3uC,GAASjG,GACvB,OAAO,cAAI4qC,GAAQ,oBAAU5qC,GAAQ4qC,GAAM,SAQvC,SAAU7tB,GAAc/c,EAAenJ,GAC3C+zC,GAAO,oBAAU5qC,IAAU,kBAAQ,GAAI4qC,GAAM,QAAU/zC,GCpBzD,SAASg+C,GAAUn8B,EAASC,EAAS8J,GACnC,IAAMqyB,EAASryB,EAAMsyB,UAAUr8B,GACzBs8B,EAASvyB,EAAMsyB,UAAUp8B,GAE/B,OAAO,wBAAcm8B,EAAQE,GAmB/B,SAASC,GAAa18C,EAAY2xB,EAAc5B,GAC9C,IAAMxG,EAAawG,EAASxG,WACtBgM,EAASxF,EAAS5mB,YAClB2iB,EAASyJ,EAAOtsB,MAChB0+B,EAAcpe,EAAWqe,OAAOjW,GAChCgrB,EAASpnB,EAAOqS,OAAOD,EAAYlkC,GAMzC,OAJe,eAAKzD,GAAM,SAACC,GACzB,IAAM28C,EAAa38C,EAAG,QACtB,OAAO28C,EAAW9wB,GAAQ,IAAM6wB,GAAUC,EAAW9wB,GAAQ,IAAM6wB,MAEpD38C,EAAKA,EAAKJ,OAAS,GAGtC,IAAMi9C,GAAe,mBAAQ,SAAC3yB,GAC5B,GAAIA,EAAM4yB,WACR,OAAO,EAOT,IALA,IAAMC,EAAc7yB,EAAMxI,OACpB9hB,EAASm9C,EAAYn9C,OACvB6f,EAAMyK,EAAMsyB,UAAUO,EAAY,IAClCv9B,EAAMC,EAED/f,EAAQ,EAAGA,EAAQE,EAAQF,IAAS,CAC3C,IAAMpB,EAAQy+C,EAAYr9C,GAEpBs9C,EAAe9yB,EAAMsyB,UAAUl+C,GACjC0+C,EAAev9B,IACjBA,EAAMu9B,GAEJA,EAAex9B,IACjBA,EAAMw9B,GAGV,OAAQx9B,EAAMC,IAAQ7f,EAAS,MAwBjC,SAASq9C,GAAqBltB,GAG5B,IAFA,IACI7F,EACoB,MAR1B,SAAgC6F,GAC9B,IAAMmtB,EAAa,iBAAOntB,EAASmtB,YACnC,OAAO,iBAAOA,GAAY,SAACC,GAAyB,0BAASC,EAAaD,EAAtB,SAIjCE,CAAuBttB,GAElB,eAAY,CAA/B,IAAMotB,EAAS,KACZG,EAAWH,EAAUI,SAASJ,EAAUvyC,MAC9C,GAAI0yC,GAAYA,EAASE,SAAU,CAEjCtzB,EAAQozB,EACR,OAIJ,IAAMhoB,EAASvF,EAAS7mB,YAClBqsB,EAASxF,EAAS5mB,YAExB,OAAO+gB,GAASqL,GAAUD,EAyCtB,SAAUmoB,GAAgB9rB,EAAc3xB,EAAsB+vB,GAClE,GAAoB,IAAhB/vB,EAAKJ,OACP,OAAO,KAGT,IAAM89C,EAAe3tB,EAASnlB,KACxB0qB,EAASvF,EAAS7mB,YAClBqsB,EAASxF,EAAS5mB,YAElB0iB,EAASyJ,EAAOrsB,MAChB6iB,EAASyJ,EAAOtsB,MAElB/I,EAAM,KAGV,GAAqB,YAAjBw9C,GAA+C,UAAjBA,EAA0B,CAQ1D,IANA,IACM/V,EADa5X,EAASxG,WACGqe,OAAOjW,GAChC3mB,EAAIsqB,EAAOsS,OAAOD,EAAY38B,GAC9BvH,EAAI8xB,EAAOqS,OAAOD,EAAYlkC,GAEhCgc,EAAMlM,IACD7T,EAAQ,EAAGA,EAAQM,EAAKJ,OAAQF,IAAS,CAChD,IAAMO,EAAMD,EAAKN,GACXk9C,EAAa38C,EAAG,QAChBwuB,EAAQ,SAACmuB,EAAW/wB,GAAU7gB,EAAM,GAAI,SAAC4xC,EAAW9wB,GAAUroB,EAAM,GACtEgrB,EAAQhP,IACVA,EAAMgP,EACNvuB,EAAMD,GAIV,OAAOC,EAIT,IAAM4pC,EAAQ9pC,EAAK,GACf29C,EAAO39C,EAAKA,EAAKJ,OAAS,GACxBg+C,EAzKR,SAA0BjsB,EAAc5B,GACtC,IAAMxG,EAAawG,EAASxG,WACtB+L,EAASvF,EAAS7mB,YAClBulB,EAAQ6G,EAAO7G,MACfovB,EAAWpvB,EAAMA,EAAM7uB,OAAS,GAChCk+C,EAAWrvB,EAAM,GAInBmvB,EAFgBr0B,EAAWqe,OAAOjW,GAEb3mB,EAIzB,OAHIue,EAAW6X,SAAWwc,GAAU,EAAIC,GAAY,IAClDD,EAASE,GAEJxoB,EAAOknB,UAAUlnB,EAAOsS,OAAOgW,IA4JvBG,CAAiBpsB,EAAO5B,GACjCiuB,EAAclU,EAAK,QAAeje,GAClCoyB,EAAcnU,EAAK,QAAehe,GAClCoyB,EAAaP,EAAI,QAAe9xB,GAChCsyB,EAAW5oB,EAAOioB,UAAY,kBAAQS,GAG5C,GAAI,kBAAQD,GAAc,CACxB,IAASt+C,EAAQ,EAAGA,EAAQM,EAAKJ,OAAQF,IAAS,CAE1Ck9C,GADA/O,EAAS7tC,EAAKN,IACK,QAEzB,GAAI41B,EAAOknB,UAAUI,EAAW/wB,GAAQ,KAAO+xB,GAAUtoB,EAAOknB,UAAUI,EAAW/wB,GAAQ,KAAO+xB,EAAQ,CAC1G,IAAIO,EAMG,CACLj+C,EAAM2tC,EACN,MANK,kBAAQ3tC,KACXA,EAAM,IAERA,EAAIoE,KAAKupC,IAOX,kBAAQ3tC,KACVA,EAAMw8C,GAAax8C,EAAKyxB,EAAO5B,QAE5B,CACL,IAAI7sB,OAAI,EACR,GAAKoyB,EAAOkoB,UAA4B,YAAhBloB,EAAO1qB,KAwBxB,CAEL,IACGgzC,EAAStoB,EAAOknB,UAAU0B,IAAeN,EAAStoB,EAAOknB,UAAUwB,MACnEJ,EAAStoB,EAAO9V,KAAOo+B,EAAStoB,EAAO7V,KAGxC,OAAO,KAMT,IAHA,IAAI2+B,EAAW,EACXC,EAAUr+C,EAAKJ,OAAS,EACxB0+C,OAAS,EACNF,GAAYC,GAAS,CAE1B,IAAM1zC,EAAO3K,EADbs+C,EAAYnuC,KAAKwR,OAAOy8B,EAAWC,GAAW,IACjC,QAA8BxyB,GAC3C,GAAIywB,GAAU3xC,EAAMizC,EAAQtoB,GAC1B,OAAOt1B,EAAKs+C,GAGVhpB,EAAOknB,UAAU7xC,IAAS2qB,EAAOknB,UAAUoB,IAC7CQ,EAAWE,EAAY,EACvBX,EAAO39C,EAAKs+C,GACZp7C,EAAOlD,EAAKs+C,EAAY,KAER,IAAZD,IACFV,EAAO39C,EAAK,IAEdq+C,EAAUC,EAAY,QApDuB,CAEjD,IAAS5+C,EAAQ,EAAGA,EAAQM,EAAKJ,OAAQF,IAAS,CAChD,IAAMmuC,EAEN,GAAIyO,IADEM,GADA/O,EAAS7tC,EAAKN,IACK,SACAmsB,GAAS+xB,EAAQtoB,GAAS,CACjD,IAAI6oB,EAKG,CACLj+C,EAAM2tC,EACN,MANK,kBAAQ3tC,KACXA,EAAM,IAERA,EAAIoE,KAAKupC,QAKFvY,EAAOknB,UAAUI,EAAW/wB,KAAY+xB,IACjDD,EAAO9P,EACP3qC,EAAOlD,EAAKN,EAAQ,IAIpB,kBAAQQ,KACVA,EAAMw8C,GAAax8C,EAAKyxB,EAAO5B,IAmC/B4tB,GAAQz6C,GAGRiN,KAAKsmB,IAAInB,EAAOknB,UAAUmB,EAAI,QAAe9xB,IAAW+xB,GACxDztC,KAAKsmB,IAAInB,EAAOknB,UAAUt5C,EAAI,QAAe2oB,IAAW+xB,KAExDD,EAAOz6C,GAKb,IAAMmmC,EAAWwT,GAAa9sB,EAAS7mB,aAKvC,OAJKhJ,GAAOiQ,KAAKsmB,IAAInB,EAAOknB,UAAUmB,EAAI,QAAe9xB,IAAW+xB,IAAWvU,EAAW,IACxFnpC,EAAMy9C,GAGDz9C,EAWH,SAAUq+C,GAAgBv+C,EAAoB+vB,EAAoBlL,QAAA,IAAAA,MAAA,IACtE,IAMIvmB,EANEs+C,EAAa58C,EAAI,QACjBw+C,EAxOR,SAAyB5B,EAAmB7sB,EAAoBlL,GAC9D,IAAI45B,EAAa55B,EACZA,IAGH45B,EAFqB1uB,EAAS2uB,aAAa,YACfC,YACR,IAEtB,IAAMx1B,EAAS4G,EAAS5G,OACxB,OAAIA,EAAOs1B,GAEFt1B,EAAOs1B,GAAYG,QAAQhC,EAAW6B,IAGxC,iBAAO7B,EAAY6B,GAAc7B,EAAW6B,GAAcA,EA2N5CI,CAAgBjC,EAAY7sB,EAAUlL,GACrDi6B,EAAgB/uB,EAAS+uB,cACvBC,EAAiBhvB,EAAStoB,MAAd,aACd+sB,EAAQ,GAId,SAASwqB,EAAQzwB,EAAU0wB,GACzB,IAAK,gBAAMA,IAA4B,KAAdA,EAAkB,CAEzC,IAAMt0C,EAAO,CACXka,MAAO25B,EACPx+C,KAAM48C,EACN9nB,YAAa90B,EACbpC,KAAM2wB,EACNjwB,MAAO2gD,EACPzgC,MAAOxe,EAAKwe,OAASugC,EACrBzwB,QAAQ,GAGVkG,EAAMlwB,KAAKqG,IAIf,GAAI,mBAASm0C,GAAgB,CACnB,IAAAhb,EAAqBgb,EAAf,OAAEhsC,EAAagsC,EAAL,SACxB,GAAIhsC,EAAU,CAEZ,IAAMosC,EAAiBpb,EAAOxe,KAAI,SAACrc,GACjC,OAAOjJ,EAAI,QAAeiJ,MAEtBQ,EAAMqJ,EAAQ,aAAIosC,GAClBC,EAAU,OAAH,WAAG,CAAH,CACXn/C,KAAMA,EAAI,QACV80B,YAAa90B,EACb6kB,MAAO25B,EACPhgC,MAAOxe,EAAKwe,OAASugC,EACrBzwB,QAAQ,GACL7kB,GAGL+qB,EAAMlwB,KAAK66C,QAGX,IADA,IAAMh2B,EAAS4G,EAAS5G,OACJ,MAAA2a,EAAA,eAAQ,CAAvB,IAAM76B,EAAK,KACd,IAAK,gBAAM2zC,EAAW3zC,IAAS,CAE7B,IAAMihB,EAAQf,EAAOlgB,GAGrB+1C,EAFOre,EAAQzW,GACf5rB,EAAQ4rB,EAAM00B,QAAQhC,EAAW3zC,WAKlC,CACL,IAAMm2C,EAAanC,GAAqBltB,GACnC,gBAAM6sB,EAAWwC,EAAWn2C,UAE/B3K,EA3PN,SAAyBs+C,EAAmBwC,GAC1C,IACM9gD,EAAQs+C,EADAwC,EAAWn2C,OAGzB,OAAI,kBAAQ3K,GACIA,EAAMgnB,KAAI,SAAC+5B,GACvB,OAAOD,EAAWR,QAAQS,MAEfr8B,KAAK,KAEbo8B,EAAWR,QAAQtgD,GAiPdghD,CAAgB1C,EAAYwC,GAEpCJ,EA/ON,SAAwBpC,EAAmB7sB,GACzC,IAAIwvB,EACEC,EAAczvB,EAAS0vB,iBAK7B,GAJID,EAAY5/C,SAEd2/C,EAAYC,EAAY,IAEtBD,EAAW,CACb,IAAMt2C,EAAQs2C,EAAUt2C,MACxB,OAAOs2C,EAAUX,QAAQhC,EAAW3zC,IAItC,OAAO03B,EADYsc,GAAqBltB,IAkO7B2vB,CAAe9C,EAAY7sB,GACpBzxB,IAGlB,OAAOk2B,ECxWT,IAAMmrB,GAA6D,GAQ7D,SAAUrzC,GAA4B1O,EAAcgiD,GACxDD,GAA2B/hD,GAAQgiD,ECFrC,I,GAAA,WAIE,WAAYC,GAEV7+C,KAAK6+C,OAAS7+C,KAAK8+C,cAAcD,GAiKrC,OA1JS,YAAAv8B,OAAP,SAAcu8B,GAEZ,OADA7+C,KAAK6+C,OAAS7+C,KAAK8+C,cAAcD,GAC1B7+C,MAOF,YAAA++C,UAAP,SAAiB3a,GACP,IAAA0J,EAAY9tC,KAAK6+C,OAAV,QAEf,OAAO,eAAK/Q,GAAS,SAACtJ,GAAW,OAAAA,EAAO,KAAP,MAQ5B,YAAA7mC,OAAP,SAAcyiB,EAAcC,GACpB,MAAgBrgB,KAAK6+C,OAAnBj1C,EAAI,OAAEnB,EAAG,MACXu2C,EAAmB,UAATp1C,EAGV7D,EAAQ,OAAH,WAAG,CAAH,CACTqa,MAAK,EACLC,IAAG,GACA5X,GAICw2C,EAAI,wBAAcD,EAAU,QAAUp1C,GAkB5C,OAhBA5J,KAAKuoB,WAAa,IAAI02B,EAAEl5C,GAGxB/F,KAAKuoB,WAAW3e,KAAOA,EAGnBo1C,IAEGh/C,KAAK++C,UAAU,cAClB/+C,KAAKk/C,aAKTl/C,KAAKm/C,cAEEn/C,KAAKuoB,YASP,YAAA62B,OAAP,SAAch/B,EAAcC,GAY1B,OAXArgB,KAAKuoB,WAAWjG,OAAO,CACrBlC,MAAK,EACLC,IAAG,IAMLrgB,KAAKuoB,WAAW82B,cAChBr/C,KAAKm/C,YAAY,CAAC,QAAS,SAAU,cAE9Bn/C,KAAKuoB,YAOP,YAAA+2B,OAAP,SAAcnoB,GAEZ,OADAn3B,KAAK6+C,OAAO/Q,QAAQxqC,KAAK,CAAC,SAAU6zB,IAC7Bn3B,MAOF,YAAAm+B,QAAP,SAAehS,GAEb,OADAnsB,KAAK6+C,OAAO/Q,QAAQxqC,KAAK,CAAC,UAAW6oB,IAC9BnsB,MAQF,YAAAkpB,MAAP,SAAaq2B,EAAYC,GAEvB,OADAx/C,KAAK6+C,OAAO/Q,QAAQxqC,KAAK,CAAC,QAASi8C,EAAIC,IAChCx/C,MAMF,YAAAk/C,UAAP,WAEE,OADAl/C,KAAK6+C,OAAO/Q,QAAQxqC,KAAK,CAAC,cACnBtD,MAMF,YAAAy/C,UAAP,WACE,OAAOz/C,KAAK6+C,QAMP,YAAAntB,cAAP,WACE,OAAO1xB,KAAKuoB,YAON,YAAAu2B,cAAR,SAAsBD,GACpB,2BACEj1C,KAAM,OACNkkC,QAAS,GACTrlC,IAAK,IACFo2C,IAQC,YAAAM,YAAR,SAAoBO,GAApB,WACU5R,EAAY9tC,KAAK6+C,OAAV,QAEf,eAAK/Q,GAAS,SAACtJ,G,MACNJ,EAAuBI,EAAb,GAAKmb,EAAQnb,EAAM,MAAV,MAEP,gBAAMkb,IAAyBA,EAAeE,SAASxb,MAGxE,IAAK7b,YAAW6b,GAAW,QAAIub,OAIvC,EAvKA,G,GCDA,WAUE,WAAY12C,EAAYic,EAAgBlmB,GACtCgB,KAAKiJ,KAAOA,EACZjJ,KAAKklB,OAASA,EACdllB,KAAKhB,KAAOA,EACZgB,KAAK4J,KAAOsb,EAAOtb,KAqDvB,OA/CE,sBAAW,qBAAM,C,IAAjB,WAGE,OAAO5J,KAAKklB,OAAOtkB,Q,gCAIrB,sBAAW,oBAAK,C,IAAhB,WACE,OAAOZ,KAAKklB,OAAO26B,e,gCAIrB,sBAAW,gBAAC,C,IAAZ,WACE,OAAO7/C,KAAKklB,OAAOlb,G,gCAIrB,sBAAW,gBAAC,C,IAAZ,WACE,OAAOhK,KAAKklB,OAAOziB,G,gCAIrB,sBAAW,sBAAO,C,IAAlB,WACE,OAAOzC,KAAKklB,OAAOF,S,gCAIrB,sBAAW,sBAAO,C,IAAlB,WACE,OAAOhlB,KAAKklB,OAAOD,S,gCAQd,YAAAxmB,SAAP,WACE,MAAO,gBAAgBuB,KAAK4J,KAAI,MAO3B,YAAAwoB,MAAP,WACE,OAAO,IAAIxmB,EAAM5L,KAAKiJ,KAAMjJ,KAAKklB,OAAQllB,KAAKhB,OAElD,EAnEA,GCAM,SAAU8gD,GAAcx5B,GAC5B,OAAQ,mBAASA,KAAa,kBAAQA,GASlC,SAAUy5B,GAAaz5B,QAAA,IAAAA,MAAA,GAC3B,IAAI05B,EAAe,kBAAQ15B,GAAWA,EAAU,CAACA,GAEjD,OAAQ05B,EAAaphD,QACnB,KAAK,EACHohD,EAAe,CAAC,EAAG,EAAG,EAAG,GACzB,MACF,KAAK,EACHA,EAAe,IAAIngD,MAAM,GAAGgwB,KAAKmwB,EAAa,IAC9C,MACF,KAAK,EACHA,EAAe,OAAH,iBAAG,CAAIA,EAAiBA,GACpC,MACF,KAAK,EACHA,EAAe,OAAH,iBAAG,CAAIA,EAAY,CAAEA,EAAa,KAC9C,MACF,QAEEA,EAAeA,EAAap/B,MAAM,EAAG,GAIzC,OAAOo/B,ECnCT,kBAaE,WAAYnlB,EAAiBD,EAAmBE,EAAoBH,QAAxD,IAAAE,MAAA,QAAiB,IAAAD,MAAA,QAAmB,IAAAE,MAAA,QAAoB,IAAAH,MAAA,GAClE36B,KAAK66B,IAAMA,EACX76B,KAAK46B,MAAQA,EACb56B,KAAK86B,OAASA,EACd96B,KAAK26B,KAAOA,EA+DhB,OAxDS,YAAA+P,OAAP,SAAcpkB,GACL,IAAAuU,EAA4BvU,EAAzB,GAAEsU,EAAuBtU,EAAlB,GAAEwU,EAAgBxU,EAAV,GAAEqU,EAAQrU,EAAJ,GAO/B,OALAtmB,KAAK66B,KAAOA,EACZ76B,KAAK46B,OAASA,EACd56B,KAAK86B,QAAUA,EACf96B,KAAK26B,MAAQA,EAEN36B,MAQF,YAAAigD,IAAP,SAAW16B,EAAYua,GACb,IAAAz5B,EAAkBkf,EAAb,MAAEjf,EAAWif,EAAL,OAErB,OAAQua,GACN,KAAK3a,EAAU4I,IACf,KAAK5I,EAAU+kB,SACf,KAAK/kB,EAAUglB,UACbnqC,KAAK66B,KAAOv0B,EACZ,MAEF,KAAK6e,EAAU6a,MACf,KAAK7a,EAAUilB,UACf,KAAKjlB,EAAUklB,aACbrqC,KAAK46B,OAASv0B,EACd,MAEF,KAAK8e,EAAU8a,OACf,KAAK9a,EAAUmlB,YACf,KAAKnlB,EAAUolB,aACbvqC,KAAK86B,QAAUx0B,EACf,MAEF,KAAK6e,EAAU+a,KACf,KAAK/a,EAAUqlB,SACf,KAAKrlB,EAAUslB,YACbzqC,KAAK26B,MAAQt0B,EAMjB,OAAOrG,MAMF,YAAA6pB,WAAP,WACE,MAAO,CAAC7pB,KAAK66B,IAAK76B,KAAK46B,MAAO56B,KAAK86B,OAAQ96B,KAAK26B,OAEpD,EAhFA,GCgBc,SAAUulB,GAAcj3C,GACpC,IAAMkb,EAAOlb,EAAKk3C,cAAc,QAC1B/7B,EAASnb,EAAKk3C,cAAc,UAC5B/2B,EAAangB,EAAKk3C,cAAc,cAChCC,EAASn3C,EAAKk3C,cAAc,UAG5B75B,ECfF,SAA2Brd,GAC/B,IAAMqd,EAAUrd,EAAKqd,QAGrB,IAAKw5B,GAAcx5B,GACjB,OAAOy5B,GAAaz5B,GAId,IAAA+5B,EAA0Bp3C,EAAlB,SAAEq3C,EAAgBr3C,EAAL,YAEvBs3C,EAAa,IAAI,GAEvB,eAAKt3C,EAAKgkC,iBAAiB,SAACC,GAClB,IAAApY,EAAoBoY,EAAX,UAAEtjC,EAASsjC,EAAL,KAGvB,GAAItjC,IAASmD,EAAeyzC,MAAQ52C,IAASmD,EAAe0zC,QAA5D,CAIA,IAAMC,EAAa5rB,EAAU6rB,gBACvBC,EAAgB,IAAI,GAAKF,EAAW12C,EAAG02C,EAAWj+C,EAAGi+C,EAAWr6C,MAAOq6C,EAAWp6C,QAExF,GAAIsD,IAASmD,EAAe8zC,KAAM,CAChC,IAAMjW,EAASgW,EAAchW,OAAOyV,GACpCE,EAAW7V,OAAOE,OACb,CAEL,IAAM9K,EAAYoN,EAAGpN,UAIrBygB,EAAWN,IAAIW,EAAe9gB,QAIlC,IAAMghB,EAAoBP,EAAW12B,aAErC,GAAIy2B,EAAa,CACf,IAAMS,EAAgBhB,GAAa92C,EAAK83C,eAExC,MAAO,CACL5xC,KAAKqP,IAAI8hC,EAAY,GAAKS,EAAc,GAAID,EAAkB,IAC9D3xC,KAAKqP,IAAI8hC,EAAY,GAAKS,EAAc,GAAID,EAAkB,IAC9D3xC,KAAKqP,IAAI8hC,EAAY,GAAKS,EAAc,GAAID,EAAkB,IAC9D3xC,KAAKqP,IAAI8hC,EAAY,GAAKS,EAAc,GAAID,EAAkB,KAIlE,OAAOA,EDnCSE,CAAiB/3C,GAGjCA,EAAKg4C,eAAiBh4C,EAAKo3C,SAAS3V,OAAOpkB,GAASokB,OAAOqV,GAAa92C,EAAK83C,gBAE7E93C,EAAKi4C,mBAGL,CAAC/8B,EAAMi8B,EAAQh8B,EAAQgF,GAAY4E,SAAQ,SAACmzB,GACtCA,GACFA,EAAWC,YErBjB,+BAEU,KAAAj5B,OAAS,IAAIk5B,IAEb,KAAAC,WAAa,IAAID,IAqN3B,OA5MS,YAAAE,YAAP,SAAmBt5C,EAAejJ,EAAYwgC,EAAuB5hC,GACnE,IAAI4jD,EAAgBhiB,EAEdiiB,EAAiBzhD,KAAK0hD,aAAa9jD,GACzC,GAAoB,IAAhBoB,EAAKJ,QAAgB6iD,EAAgB,CAEvC,IAAME,EAAaF,EAAev4B,MAC5B04B,EAA6B,CACjCh4C,KAAM+3C,EAAW/3C,MAEf+3C,EAAW7F,aAEb8F,EAAclhC,OAASihC,EAAWjhC,QAEpC8gC,EAAgB,kBAAQI,EAAeH,EAAejiB,SAAUA,GAGlE,IAAMtW,EAAQqW,EAAmBt3B,EAAOjJ,EAAMwiD,GAK9C,OAFAxhD,KAAK2hD,WAAWz4B,EAAOsW,EAAU5hC,GAE1BsrB,GAMF,YAAA24B,KAAP,sBAEE7hD,KAAKshD,WAAWtzB,SAAQ,SAAC8zB,EAAqBC,GAE5C,IAAItjC,EAAMuV,OAAOguB,iBACbxjC,EAAMwV,OAAOiuB,iBACXvhC,EAAS,GAGf,eAAKohC,GAAW,SAAClkD,GACf,IAAMsrB,EAAQ,EAAKqzB,SAAS3+C,GAE5B4gB,EAAM,mBAAS0K,EAAM1K,KAAOrP,KAAKqP,IAAIA,EAAK0K,EAAM1K,KAAOA,EACvDC,EAAM,mBAASyK,EAAMzK,KAAOtP,KAAKsP,IAAIA,EAAKyK,EAAMzK,KAAOA,EAGvD,eAAKyK,EAAMxI,QAAQ,SAACxd,GACbwd,EAAOk/B,SAAS18C,IACnBwd,EAAOpd,KAAKJ,SAMlB,eAAK4+C,GAAW,SAAClkD,GACf,IAAMsrB,EAAQ,EAAKqzB,SAAS3+C,GAExBsrB,EAAMg5B,aACRh5B,EAAMi5B,OAAO,CACX1jC,IAAG,EACHD,IAAG,EACHkC,OAAM,IAECwI,EAAM4yB,YACf5yB,EAAMi5B,OAAO,CACXzhC,OAAM,WAaR,YAAAihC,WAAR,SAAmBz4B,EAAcsW,EAAuB5hC,GAGtD,IAAIwkD,EAAKpiD,KAAK0hD,aAAa9jD,GAEvBwkD,GAAMA,EAAGl5B,MAAMtf,OAASsf,EAAMtf,O3BnDhC,SAAoBsf,EAAcm5B,GACtC,GAAmB,aAAfn5B,EAAMtf,MAAyC,aAAlBy4C,EAASz4C,KAAqB,CAC7D,IAAM3K,EAAM,GACZ,IAAK,IAAME,KAAKkjD,EACVtlD,OAAOkB,UAAUC,eAAe1B,KAAK6lD,EAAUljD,KACjDF,EAAIE,GAAKkjD,EAASljD,IAItB+pB,EAAMi5B,OAAOljD,I2B2CXqjD,CAAUF,EAAGl5B,MAAOA,GACpBk5B,EAAG5iB,SAAWA,IAGd4iB,EAAK,CACHxkD,IAAG,EACHsrB,MAAK,EACLsW,SAAQ,GAGVx/B,KAAKmoB,OAAOviB,IAAIhI,EAAKwkD,IAIvB,IAAML,EAAU/hD,KAAKuiD,WAAWH,GAOhC,GANAA,EAAGL,QAAUA,EAGb/hD,KAAKwiD,qBAAqB5kD,GAGtBmkD,EAAS,CAEX,IAAID,EAAY9hD,KAAKshD,WAAWpkD,IAAI6kD,GAC/BD,IACHA,EAAY,GACZ9hD,KAAKshD,WAAW17C,IAAIm8C,EAASD,IAE/BA,EAAUx+C,KAAK1F,KAQZ,YAAA2+C,SAAP,SAAgB3+C,GACd,IAAI6kD,EAAYziD,KAAK0hD,aAAa9jD,GAClC,IAAK6kD,EAAW,CACd,IAAMx6C,EAAQ,eAAKrK,EAAIqvB,MAAM,MACvB60B,EAAY9hD,KAAKshD,WAAWpkD,IAAI+K,GAClC65C,GAAaA,EAAUljD,SACzB6jD,EAAYziD,KAAK0hD,aAAaI,EAAU,KAG5C,OAAOW,GAAaA,EAAUv5B,OAOzB,YAAAw5B,YAAP,SAAmB9kD,GACjB,IAAM6kD,EAAYziD,KAAK0hD,aAAa9jD,GACpC,GAAI6kD,EAAW,CACL,IAAAV,EAAYU,EAAL,QAETX,EAAY9hD,KAAKshD,WAAWpkD,IAAI6kD,GAGtC,GAAID,GAAaA,EAAUljD,OAAQ,CACjC,IAAMuK,EAAM24C,EAAUnjD,QAAQf,IAEjB,IAATuL,GACF24C,EAAUl6B,OAAOze,EAAK,IAM5BnJ,KAAKmoB,OAAL,OAAmBvqB,IAMd,YAAAirB,MAAP,WACE7oB,KAAKmoB,OAAOU,QACZ7oB,KAAKshD,WAAWz4B,SAOV,YAAA25B,qBAAR,SAA6B5kD,GAA7B,WACEoC,KAAKshD,WAAWtzB,SAAQ,SAAC8zB,EAAqBC,GAC5C,IAAM54C,EAAM24C,EAAUnjD,QAAQf,GAE9B,IAAa,IAATuL,EAQF,OAPA24C,EAAUl6B,OAAOze,EAAK,GAGG,IAArB24C,EAAUljD,QACZ,EAAK0iD,WAAL,OAAuBS,IAGlB,MASL,YAAAQ,WAAR,SAAmBH,GACT,IAAAl5B,EAAoBk5B,EAAf,MAAE5iB,EAAa4iB,EAAL,SACfn6C,EAAUihB,EAAL,MACP24B,EAAO,cAAIriB,EAAU,CAAC,SAG5B,OAAgB,IAATqiB,EAAgB55C,GAAiB,IAAT45C,OAAiBp+C,EAAYo+C,GAOtD,YAAAH,aAAR,SAAqB9jD,GACnB,OAAOoC,KAAKmoB,OAAOjrB,IAAIU,IAE3B,EAzNA,GCoDA,eA8EE,WAAYmI,GAAZ,MACE,YAAM,CAAEogB,QAASpgB,EAAMogB,WAAU,KA7E5B,EAAAqK,GAAa,mBAAS,QAItB,EAAA5H,MAAgB,GAEhB,EAAAJ,WAAyB,GAEzB,EAAAm6B,YAA4B,GAE5B,EAAAj9B,aAA4C,GAsB5C,EAAAoE,aAAuB,EAUpB,EAAAlE,QAAmB,CAC3B5mB,KAAM,GACN2pB,SAAS,GAOH,EAAAi6B,gBR9FD7lD,OAAOmN,KAAKy0C,IQiGX,EAAAkE,UAAuB,IAAI,GAGzB,EAAAC,WAAqB5C,GASvB,EAAA6C,kBAA4B,EAE5B,EAAAC,eAAyB,EAEzB,EAAAC,qBAA+B,EAE/B,EAAAC,iBAAmB,IAAI7B,IAuyCvB,EAAA8B,cAAgB,SAACC,GACvB,IAAMxmD,EAAOwmD,EAAIxmD,KACjB,IAAKA,EAAKgjD,SAAS,KAAM,CAEvB,IAAMr/C,EAAI,EAAK8iD,gBAAgBD,GAE/B,EAAKE,YAAY/iD,GACjB,EAAKunB,KAAKlrB,EAAM2D,KA+BZ,EAAAgjD,iBAAmB,SAACH,GAGlB,IAAAxmD,EAASwmD,EAAL,KACZ,GAAKxmD,EAAKgjD,SAAS,KAAnB,CAIA,IAAMr/C,EAAI,EAAK8iD,gBAAgBD,GAG/B,EAAKt7B,KAAKlrB,EAAM2D,KAh1Cd,IAAAyS,EAWEjN,EAXI,OACNc,EAUEd,EAVI,OACN0jB,EASE1jB,EATa,gBACf4jB,EAQE5jB,EARS,YACX6jB,EAOE7jB,EAPa,gBACf,EAMEA,EANqD,OAAvDwjB,OAAM,IAAG,GAAEnJ,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAAK4d,IAAK,CAAErW,EAAG,EAAGvH,EAAG,IAAK,EACvD6jB,EAKEvgB,EALK,QACPg7C,EAIEh7C,EAJW,cACbU,EAGEV,EAHG,MACL6f,EAEE7f,EAFK,QACP+jB,EACE/jB,EADS,Y,OAGb,EAAKiN,OAASA,EACd,EAAKnM,OAASA,EACd,EAAK4iB,gBAAkBA,EACvB,EAAKE,YAAcA,EACnB,EAAKC,gBAAkBA,EACvB,EAAKL,OAASA,EACd,EAAKjD,QAAUA,EACf,EAAKy6B,cAAgBA,EAErB,EAAKn7B,QAAO,yCAAQ,EAAKA,SAAYA,GACrC,EAAKkE,YAAcA,EAGnB,EAAK05B,YAAc,mBAAS/8C,GAAS,kBAAQ,GAAIiG,GAAS,WAAYjG,GAASiG,GAASjG,GACxF,EAAKwhB,O,EAgtDT,OA7zD0B,yBAqHjB,YAAAw7B,UAAP,SAAiBrC,GACfphD,KAAK8iD,WAAa1B,GAOb,YAAAn5B,KAAP,WAEEjoB,KAAK0jD,oBAGL1jD,KAAK4uC,aAGL5uC,KAAK2jD,0BAGL3jD,KAAK4jD,qBAAuB,IAAI,GAAqB5jD,KAAK4lB,QAAQ2C,YAElEvoB,KAAK6jD,cAIL,IADA,IAAMj7B,EAAQ5oB,KAAK4oB,MACVvsB,EAAI,EAAGA,EAAIusB,EAAMhqB,OAAQvC,IAChCusB,EAAMvsB,GAAG4rB,QASN,YAAA3e,OAAP,SAAcw6C,QAAA,IAAAA,OAAA,GACZ9jD,KAAK8nB,KAAKhb,EAAiB6d,eAE3B3qB,KAAK+jD,MAAMD,GAEX9jD,KAAK8nB,KAAKhb,EAAiBmd,eAEN,IAAjBjqB,KAAKmmB,SAEPnmB,KAAK++B,eAAc,IAQhB,YAAAlW,MAAP,sBACE7oB,KAAK8nB,KAAKhb,EAAiBk3C,cAE3BhkD,KAAKikD,aAAe,GACpBjkD,KAAKkkD,wBAAqBzgD,EAC1BzD,KAAKgjD,eAAgB,EACrBhjD,KAAKijD,qBAAsB,EAI3B,IADA,IAAMz6B,EAAaxoB,KAAKwoB,WACfnsB,EAAI,EAAGA,EAAImsB,EAAW5pB,OAAQvC,IACrCmsB,EAAWnsB,GAAGwsB,QAEhB7oB,KAAKwoB,WAAa,GAGlB,IAAMm6B,EAAc3iD,KAAK2iD,YACzB,IAAStmD,EAAI,EAAGA,EAAIsmD,EAAY/jD,OAAQvC,IACtCsmD,EAAYtmD,GAAGwsB,QAIjB7oB,KAAKkjD,iBAAiBl1B,SAAQ,SAAC9qB,EAAY/D,GACzC,EAAKglD,cAActB,UAAUH,YAAYvjD,MAE3Ca,KAAKkjD,iBAAiBr6B,QAGtB,IAAMD,EAAQ5oB,KAAK4oB,MACnB,IAASvsB,EAAI,EAAGA,EAAIusB,EAAMhqB,OAAQvC,IAChCusB,EAAMvsB,GAAGwsB,QAGX7oB,KAAK8nB,KAAKhb,EAAiBs3C,cAOtB,YAAAh9C,QAAP,WAEEpH,KAAK8nB,KAAKhb,EAAiBu3C,gBAC3B,IAAM3+B,EAAe1lB,KAAK0lB,aAE1B,eAAKA,GAAc,SAACsD,GACdA,GAEFA,EAAY5hB,aAIhBpH,KAAK6oB,QAIL,IADA,IAAM85B,EAAc3iD,KAAK2iD,YAChBtmD,EAAI,EAAGgrC,EAAMsb,EAAY/jD,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACnCsmD,EAAYtmD,GACpB+K,UAGbpH,KAAKypB,gBAAgB3e,QAAO,GAC5B9K,KAAK2pB,YAAY7e,QAAO,GACxB9K,KAAK4pB,gBAAgB9e,QAAO,GAE5B,YAAM1D,QAAO,YASR,YAAA23B,cAAP,SAAqB5Y,GACnB,YAAM4Y,cAAa,UAAC5Y,GAGpB,IADA,IAAMqC,EAAaxoB,KAAKwoB,WACfnsB,EAAI,EAAGgrC,EAAM7e,EAAW5pB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACpCmsB,EAAWnsB,GACnB0iC,cAAc5Y,GAGzB,IAAMw8B,EAAc3iD,KAAK2iD,YACzB,IAAStmD,EAAI,EAAGgrC,EAAMsb,EAAY/jD,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACnCsmD,EAAYtmD,GACpB0iC,cAAc5Y,GAU3B,OAPAnmB,KAAK4pB,gBAAgBhkB,IAAI,UAAWugB,GACpCnmB,KAAK2pB,YAAY/jB,IAAI,UAAWugB,GAChCnmB,KAAKypB,gBAAgB7jB,IAAI,UAAWugB,GAGpCnmB,KAAKoJ,YAAY3B,OAEVzH,MAaF,YAAAhB,KAAP,SAAYA,GAGV,OAFA,cAAIgB,KAAK4lB,QAAS,OAAQ5mB,GAC1BgB,KAAKgjD,eAAgB,EACdhjD,MAOF,YAAAuhB,OAAP,SAAcviB,GAEZ,OADAslD,QAAQC,KAAK,4EACNvkD,KAAKhB,KAAKA,IAiBZ,YAAAi9B,OAAP,SAAch0B,EAAeU,GAC3B,OAAI,qBAAWA,IACb,cAAI3I,KAAK4lB,QAAS,CAAC,UAAW3d,GAAQU,GAC/B3I,QAGJ2I,GAAa,cAAI3I,KAAK4lB,QAAS,CAAC,UAAW3d,YACvCjI,KAAK4lB,QAAQ4+B,QAAQv8C,GAGvBjI,OA6BF,YAAAmkB,KAAP,SAAYlc,EAAyBk5B,GAOnC,OANI,oBAAUl5B,GACZ,cAAIjI,KAAK4lB,QAAS,CAAC,QAAS3d,GAE5B,cAAIjI,KAAK4lB,QAAS,CAAC,OAAQ3d,GAAQk5B,GAG9BnhC,MAmCF,YAAAokB,OAAP,SAAcnc,EAA8Bw8C,GAU1C,OATI,oBAAUx8C,GACZ,cAAIjI,KAAK4lB,QAAS,CAAC,WAAY3d,GACtB,mBAASA,GAClB,cAAIjI,KAAK4lB,QAAS,CAAC,UAAW3d,GAAQw8C,GAGtC,cAAIzkD,KAAK4lB,QAAS,CAAC,WAAY3d,GAG1BjI,MA+BF,YAAAkpB,MAAP,SAAajhB,EAA6Cy8C,GAA1D,WASE,OARI,mBAASz8C,GACX,cAAIjI,KAAK4lB,QAAS,CAAC,SAAU3d,GAAQy8C,GAC5B,mBAASz8C,IAClB,eAAKA,GAAO,SAAC/E,EAAgB/D,GAC3B,cAAI,EAAKymB,QAAS,CAAC,SAAUzmB,GAAI+D,MAI9BlD,MAiBF,YAAAwmB,QAAP,SAAe/d,GAGb,OAFA,cAAIzI,KAAK4lB,QAAS,UAAWnd,GAEtBzI,MAoBF,YAAAopB,WAAP,WACE,OAAOppB,KAAKmgD,cAAc,eAOrB,YAAAwE,MAAP,WAEE,OADAL,QAAQC,KAAK,kFACNvkD,KAAKopB,cAuCP,YAAAb,WAAP,SAAkB3e,EAAiCg7C,GAWjD,OATI,mBAASh7C,GACX,cAAI5J,KAAK4lB,QAAS,aAAc,CAAEhc,KAAI,EAAEnB,IAAKm8C,IAE7C,cAAI5kD,KAAK4lB,QAAS,aAAchc,GAIlC5J,KAAK4jD,qBAAqBthC,OAAOtiB,KAAK4lB,QAAQ2C,YAEvCvoB,KAAK4jD,sBAOP,YAAA36B,MAAP,SAAarf,EAAiCg7C,GAG5C,OAFAN,QAAQC,KAAK,kFAENvkD,KAAKuoB,WAAW3e,EAAMg7C,IAoBxB,YAAAhjB,MAAP,SAA0Ch4B,EAASnB,GAE7CzI,KAAK6kD,eACP7kD,KAAK6kD,cAAcz9C,UAIrB,IAAM8mB,EAAO,EAAStkB,GAEtB,IAAKskB,EACH,MAAM,IAAI0Q,MAAM,UAAUh1B,EAAI,mBAKhC,OAFA5J,KAAK6kD,cAAgB,IAAI32B,EAAKluB,KAAI,yCAAOyI,GAAG,CAAEmB,KAAI,KAE3C5J,MAaF,YAAA2oB,QAAP,SAAem8B,GAEb,OADA,cAAI9kD,KAAK4lB,QAAS,UAAWk/B,GACtB9kD,MAOF,YAAA+kD,cAAP,SAAqBn/B,GAKnB,OAJA5lB,KAAK6oB,QACL,cAAI7oB,KAAK4lB,QAASA,GAElB5lB,KAAK6jD,cACE7jD,MASF,YAAA6+C,OAAP,SAAcjiD,EAAcooD,GAG1B,GAAI/4C,EAAKhO,UAAUrB,GACjB,MAAM,IAAIgiC,MAAM,sCAAqChiC,EAAI,iCAK3D,OADA,cAAIoD,KAAK4lB,QAAShpB,EAAMooD,GACjBhlD,MAeF,YAAAyG,MAAP,SAAaA,GAGX,OAFAzG,KAAKwjD,YAAc,mBAAS/8C,GAAS,kBAAQ,GAAIzG,KAAKwjD,YAAa/8C,GAASiG,GAASjG,GAE9EzG,MAgBF,YAAAgpB,YAAP,SAAmBpsB,EAAc6L,GAC/B,IAAMw8C,EAAmBjlD,KAAK0lB,aAAa9oB,GAEvCqoD,GACFA,EAAiB79C,UAInB,IAAM4hB,EZnsBJ,SAA4BpsB,EAAcqM,EAAYR,GAC1D,IAAMy8C,EAAc/2B,GAAevxB,GACnC,IAAKsoD,EACH,OAAO,KAET,GAAI,wBAAcA,GAAc,CAE9B,IAAM9V,EAAQ,cAAI,gBAAM8V,GAAcz8C,GACtC,OAAO,IAAI,GAAmBQ,EAAMmmC,GAGpC,OAAO,IADK8V,EACGj8C,EAAMR,GYwrBD08C,CAAkBvoD,EAAMoD,KAAMyI,GAKlD,OAJIugB,IACFA,EAAYf,OACZjoB,KAAK0lB,aAAa9oB,GAAQosB,GAErBhpB,MAUF,YAAAolD,kBAAP,SAAyBxoD,GACvB,IAAMqoD,EAAmBjlD,KAAK0lB,aAAa9oB,GAEvCqoD,IACFA,EAAiB79C,UACjBpH,KAAK0lB,aAAa9oB,QAAQ6G,IAcvB,YAAAsE,WAAP,SAAkB/I,GAChBgB,KAAKgjD,eAAgB,EACrBhjD,KAAK8nB,KAAKhb,EAAiBse,oBAE3BprB,KAAKhB,KAAKA,GAGVgB,KAAK+jD,OAAM,GAIX,IADA,IAAMn7B,EAAQ5oB,KAAK4oB,MACVvsB,EAAI,EAAGgrC,EAAMze,EAAMhqB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACnCusB,EAAMvsB,GAEd0L,WAAW/I,GAGlBgB,KAAK8nB,KAAKhb,EAAiBwe,oBAmBtB,YAAAuW,WAAP,SAAkBp5B,GAEhB,IAAM48C,EAAgB,CACpBrmD,KAAMgB,KAAK4lB,QAAQ5mB,KACnBmpB,OAAQ,gBAAMnoB,KAAK4lB,QAAQuC,QAC3BG,KAAM,gBAAMtoB,KAAK4lB,QAAQ0C,MACzBC,WAAY,gBAAMvoB,KAAK4jD,qBAAqBnE,aAC5Cj5B,QAAS,gBAAMxmB,KAAK4lB,QAAQY,SAC5B4B,QAAS,gBAAMpoB,KAAK4lB,QAAQwC,SAC5BO,QAAS3oB,KAAK4lB,QAAQ+C,QACtBxC,QAASnmB,KAAKmmB,SAGVjjB,EAAI,IAAI+I,EAAI,uCAChB+G,OAAQhT,KACR6G,OAAQ7G,KAAK6G,OAEb4iB,gBAAiBzpB,KAAKypB,gBAAgBC,SAAS,CAAE47B,OAAQC,IACzD57B,YAAa3pB,KAAK2pB,YAAYD,SAAS,CAAE47B,OAAQC,IACjD37B,gBAAiB5pB,KAAK4pB,gBAAgBF,SAAS,CAAE47B,OAAQC,IACzD9+C,MAAOzG,KAAKwjD,YACZl9B,QAAStmB,KAAKsmB,SACX7d,GAAG,CACNmd,QAAS,OAAF,WAAE,CAAF,sBACFy/B,GACA,cAAI58C,EAAK,UAAW,QAM3B,OAFAzI,KAAK4oB,MAAMtlB,KAAKJ,GAETA,GAOF,YAAA+F,KAAP,SAAYR,GAEV,OADA67C,QAAQC,KAAK,kFACNvkD,KAAK6hC,WAAWp5B,IAQlB,YAAA25B,WAAP,SAAkBn5B,GAChB,IAAMu8C,EAAc,iBAAOxlD,KAAK4oB,OAAO,SAAC1lB,GAAY,OAAAA,IAAA,KAAY,GAMhE,OAJIsiD,GACFA,EAAYp+C,UAGPo+C,GAUF,YAAA9zB,cAAP,WACE,OAAO1xB,KAAKkkD,oBAOP,YAAAx3C,SAAP,WACE,OAAO1M,KAAKwjD,aAOP,YAAAt7C,UAAP,WAGE,IAAMxF,EAAI1C,KAAKwoB,WAAW,GAC1B,OAAO9lB,EAAIA,EAAEwF,YAAc,MAOtB,YAAAu9C,WAAP,WAEE,IAAMC,EAAS,GACf,OAAO1lD,KAAKwoB,WAAWlE,KAAI,SAAC5hB,GAC1B,IAAM6xB,EAAS7xB,EAAEyF,YACXF,EAAQssB,EAAOtsB,MACrB,IAAKy9C,EAAOz9C,GAEV,OADAy9C,EAAOz9C,IAAS,EACTssB,MAUN,YAAAoxB,eAAP,SAAsBC,GAIpB,IAHA,IAAMp9B,EAAaxoB,KAAKwoB,WAClBL,EAAS,GAEN9rB,EAAI,EAAGgrC,EAAM7e,EAAW5pB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACrD,IAAM0yB,EAAWvG,EAAWnsB,GACtB6sB,EAAoB,MAAZ08B,EAAkB72B,EAAS7mB,YAAc6mB,EAAS5mB,YAC5D+gB,IAAUf,EAAOe,EAAMjhB,SACzBkgB,EAAOe,EAAMjhB,OAASihB,GAI1B,OAAOf,GAQF,YAAAngB,gBAAP,SAAuBC,EAAerK,GACpC,IAAMioD,EAAajoD,GAAYoC,KAAK8lD,YAAY79C,GAEhD,OAAOjI,KAAKmkD,cAActB,UAAUtG,SAASsJ,IAOxC,YAAAhgC,WAAP,WACE,OAAO7lB,KAAK4lB,SAOP,YAAAtd,QAAP,WACE,OAAOtI,KAAKikD,cAQP,YAAA/6C,SAAP,SAAgB5B,GACd,OAAOA,IAAU26B,EAAM8jB,GACnB/lD,KAAKypB,gBACLniB,IAAU26B,EAAM+jB,IAChBhmD,KAAK2pB,aACKsY,EAAMC,KAChBliC,KAAK4pB,kBAQJ,YAAA4kB,cAAP,SAAqB7d,GACnB,OAAO+V,GAAoB1mC,KAAK0xB,gBAAiBf,IAO5C,YAAAs1B,oBAAP,WACE,OAAQ,kBAAQjmD,KAAKwoB,WAAWlE,KAAI,SAAC5hB,GAAgB,OAAAA,EAAA,0BAOhD,YAAA+7C,eAAP,WAEE,IAAMt2B,EAASnoB,KAAKwoB,WAAWlE,KAAI,SAAC5hB,GAAgB,OAAAA,EAAA,oBACpD,OAAOyjC,GAAK,kBAAQhe,KAOf,YAAA/e,UAAP,WACE,OAASpJ,KAAKmkD,cAAoCt9C,QAM7C,YAAAs9C,YAAP,WAGE,IAFA,IAAIjhD,EAAIlD,KAGFkD,EAAE8P,QACJ9P,EAAIA,EAAE8P,OAKV,OAAO9P,GAQF,YAAAgjD,MAAP,SAAalnD,GACX,IAGIgL,EACAvH,EAJE8lB,EAAavoB,KAAK0xB,gBAClBy0B,EAAUnmD,KAAK2lD,eAAe,KAC9BS,EAAUpmD,KAAK2lD,eAAe,KAapC,GATA,eAAK3mD,GAAM,SAAC1B,EAAOM,GACbuoD,EAAQvoD,KACVoM,EAAIm8C,EAAQvoD,GAAKsrB,MAAM5rB,IAErB8oD,EAAQxoD,KACV6E,EAAI2jD,EAAQxoD,GAAKsrB,MAAM5rB,QAItB,gBAAM0M,KAAO,gBAAMvH,GACtB,OAAO8lB,EAAWgY,QAAQ,CAAEv2B,EAAC,EAAEvH,EAAC,KAQ7B,YAAA09C,cAAP,SAAqBvjD,GACnB,OAAO,eAAKoD,KAAK2iD,aAAa,SAACjmD,GAAkB,OAAAA,EAAEE,OAAF,MAQ5C,YAAAypD,YAAP,SAAmB11B,GACjB,IAAMnK,EAAUxmB,KAAKmgD,cAAc,WAInC,OAHI35B,GACFA,EAAQ6/B,YAAY11B,GAEf3wB,MAOF,YAAA8sB,YAAP,WACE,IAAMtG,EAAUxmB,KAAKmgD,cAAc,WAInC,OAHI35B,GACFA,EAAQsG,cAEH9sB,MAOF,YAAAsmD,YAAP,WACE,IAAM9/B,EAAUxmB,KAAKmgD,cAAc,WAInC,OAHI35B,GACFA,EAAQ8/B,cAEHtmD,MAOF,YAAAumD,cAAP,WACE,IAAM//B,EAAUxmB,KAAKmgD,cAAc,WAInC,OAHI35B,GACFA,EAAQ+/B,gBAEHvmD,MAOF,YAAAwmD,gBAAP,WACE,IAAMhgC,EAAUxmB,KAAKmgD,cAAc,WACnC,OAAO35B,GAAWA,EAAQggC,mBAQrB,YAAAjJ,gBAAP,SAAuB5sB,GACrB,IAAMnK,EAAUxmB,KAAKmgD,cAAc,WAEnC,OAAO35B,EAAUA,EAAQ+2B,gBAAgB5sB,GAAS,IAQ7C,YAAA81B,eAAP,SAAsB91B,GAGpB,IAFA,IAAMnI,EAAaxoB,KAAKwoB,WACpBtpB,EAAM,GACD7C,EAAI,EAAGgrC,EAAM7e,EAAW5pB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACrD,IAAM4uB,EAAOzC,EAAWnsB,GAClBqqD,EAAYz7B,EAAKy7B,UACvBz7B,EAAKmP,KAAKssB,GAEV,IADA,IAAI7Z,OAAM,EACDzoC,EAAI,EAAGuiD,EAAUD,EAAU9nD,OAAQwF,EAAIuiD,EAASviD,IAAK,EAE5DyoC,EAAS4P,GAAgB9rB,EADZ+1B,EAAUtiD,GACe6mB,KAEpC/rB,EAAIoE,KAAKupC,IAMf,IAAMjkB,EAAQ5oB,KAAK4oB,MACnB,IAASvsB,EAAI,EAAGgrC,EAAMze,EAAMhqB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CAChD,IACMuqD,EADOh+B,EAAMvsB,GACMoqD,eAAe91B,GACxCzxB,EAAMA,EAAI8E,OAAO4iD,GAGnB,OAAO1nD,GAMF,YAAA+tC,cAAP,WAGE,IAFA,IAAI0B,EAAa,GACXgU,EAAc3iD,KAAK2iD,YAChBtmD,EAAI,EAAGgrC,EAAMsb,EAAY/jD,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACtD,IAAM8kD,EAAawB,EAAYtmD,GAC/BsyC,EAAaA,EAAW3qC,OAAOm9C,EAAWlU,iBAG5C,OAAO0B,GAQF,YAAAkY,WAAP,SAAkB7nD,GACR,IAAAwlD,EAAYxkD,KAAK4lB,QAAV,QAEf,OAAsB,IAAlB,eAAK4+B,GACAxlD,EAIF,iBAAOA,GAAM,SAAC0kC,EAAcv6B,GAKjC,OAHepM,OAAOmN,KAAKs6C,GAGbsC,OAAM,SAAC7+C,GAInB,OAAOU,EAHW67C,EAAQv8C,IAGTy7B,EAAMz7B,GAAQy7B,EAAOv6B,UAUrC,YAAA49C,gBAAP,SAAuB9+C,EAAejJ,GAC5B,IAAAwlD,EAAYxkD,KAAK4lB,QAAV,QACTjd,EAAY,cAAI67C,EAASv8C,GAE/B,OAAI,sBAAYU,GACP3J,EAEFA,EAAKi9B,QAAO,SAACyH,EAAcv6B,GAAgB,OAAAR,EAAU+6B,EAAMz7B,GAAQy7B,EAAxB,OAM7C,YAAAwd,iBAAP,WACQ,MAAmClhD,KAAK0xB,gBAA/Bs1B,EAAQ,QAAOC,EAAM,MAC9B7mC,EAAQpgB,KAAKihD,eAAeiG,GAC5B7mC,EAAMrgB,KAAKihD,eAAekG,GAG5B,kBAAQH,EAAU5mC,IAAU,kBAAQ6mC,EAAQ5mC,GAC9CrgB,KAAKijD,qBAAsB,GAI7BjjD,KAAKijD,qBAAsB,EAC3BjjD,KAAKkkD,mBAAqBlkD,KAAK4jD,qBAAqBxE,OAAOh/B,EAAOC,KAG1D,YAAA0jC,MAAV,SAAgBD,GACd9jD,KAAKonD,oBAAoBtD,GAGzB9jD,KAAKsiD,YAELtiD,KAAK8nB,KAAKhb,EAAiBu6C,cAE3BrnD,KAAKsnD,6BAELtnD,KAAKunD,sBAAsBzD,GAE3B9jD,KAAKwnD,qBAAqB1D,GAE1B9jD,KAAK8nB,KAAKhb,EAAiB6kB,aAE3B3xB,KAAKgjD,eAAgB,GAIf,YAAAsE,2BAAR,WAEE,IAAKtnD,KAAKgT,OAAQ,CAChB,IAAMy0C,EAAa,cAAIznD,KAAKwjD,YAAa,cAEzC,GAAIiE,EAAY,CAETznD,KAAK0nD,2BACR1nD,KAAK0nD,yBAA2B1nD,KAAKypB,gBAAgByJ,SAAS,OAAQ,CACpEb,MAAO,CACLizB,QAAS,MAMT,MAA0BtlD,KAAKqgD,SAA7Br2C,EAAC,IAAEvH,EAAC,IAAE4D,EAAK,QAAEC,EAAM,SAC3BtG,KAAK0nD,yBAAyB70B,KAAK,CACjChD,KAAM43B,EACNz9C,EAAC,EACDvH,EAAC,EACD4D,MAAK,EACLC,OAAM,SAIJtG,KAAK0nD,2BACP1nD,KAAK0nD,yBAAyB58C,QAAO,GACrC9K,KAAK0nD,8BAA2BjkD,KAU9B,YAAA8jD,sBAAV,SAAgCzD,GAE9B9jD,KAAK0jD,oBAEL1jD,KAAKkhD,mBAELlhD,KAAK2nD,eAAe7D,GAEpB9jD,KAAK4nD,WAEL,IAAMvH,EAAWrgD,KAAKqgD,SAChBY,EAAiBjhD,KAAKihD,eAExBnB,GAAc9/C,KAAKsmB,WAErBtmB,KAAKsgD,YAAc,CACjBW,EAAe4G,GAAGplD,EAAI49C,EAASwH,GAAGplD,EAClC49C,EAAS8G,GAAGn9C,EAAIi3C,EAAekG,GAAGn9C,EAClCq2C,EAAS6G,GAAGzkD,EAAIw+C,EAAeiG,GAAGzkD,EAClCw+C,EAAe4G,GAAG79C,EAAIq2C,EAASwH,GAAG79C,IAMtC,IADA,IAAM4e,EAAQ5oB,KAAK4oB,MACVvsB,EAAI,EAAGgrC,EAAMze,EAAMhqB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACnCusB,EAAMvsB,GACdkrD,sBAAsBzD,KAQrB,YAAA0D,qBAAV,SAA+B1D,GAC7B,GAAI9jD,KAAK8pB,YAAa,CACpB,IAAMH,EAAc3pB,KAAK2pB,YACnB,EAAkBod,GAAqB/mC,KAAKkkD,oBAA1Ct6C,EAAI,OAAEyoB,EAAK,QACnB1I,EAAYm+B,QAAQ,CAClBl+C,KAAI,EACJyoB,MAAK,IAKTryB,KAAK+nD,gBAAgBjE,GAErB9jD,KAAKgoD,iBAAiBlE,GAItB,IADA,IAAMl7B,EAAQ5oB,KAAK4oB,MACVvsB,EAAI,EAAGgrC,EAAMze,EAAMhqB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACnCusB,EAAMvsB,GACdmrD,qBAAqB1D,KAapB,YAAAvC,YAAV,SAAsBt5C,EAAejJ,EAAYwgC,EAAuB5hC,GAEtE,IAAMqqD,EAAkB,cAAIjoD,KAAK4lB,QAAQuC,OAAQ,CAAClgB,IAC5CigD,EAAiB,OAAH,WAAG,CAAH,sBAAQD,GAAoBzoB,GAGhD,OAAIx/B,KAAKgT,OACAhT,KAAKgT,OAAOuuC,YAAYt5C,EAAOjJ,EAAMkpD,EAAgBtqD,GAIvDoC,KAAK6iD,UAAUtB,YAAYt5C,EAAOjJ,EAAMkpD,EAAgBtqD,IAOzD,YAAAwpD,oBAAR,SAA4BtD,GAE1B9jD,KAAKmoD,eAELnoD,KAAKooD,mBAELpoD,KAAKqoD,eAAevE,GAEpB9jD,KAAKsoD,YAAYxE,GAIjB,IADA,IAAMl7B,EAAQ5oB,KAAK4oB,MACVvsB,EAAI,EAAGgrC,EAAMze,EAAMhqB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACnCusB,EAAMvsB,GACd+qD,oBAAoBtD,KAQrB,YAAAJ,kBAAR,WACE,IAAI15C,EACAvH,EACA4D,EACAC,EAEJ,GAAItG,KAAKgT,OAAQ,CACf,IAAMuS,EAAOvlB,KAAKgT,OAAOiuC,eAEzBj3C,EAAIub,EAAKvb,EACTvH,EAAI8iB,EAAK9iB,EACT4D,EAAQkf,EAAKlf,MACbC,EAASif,EAAKjf,YAGd0D,EAAI,EACJvH,EAAI,EACJ4D,EAAQrG,KAAK6G,OAAO3J,IAAI,SACxBoJ,EAAStG,KAAK6G,OAAO3J,IAAI,UAGrB,MAAiB8C,KAAKupB,OAApBnJ,EAAK,QAAEC,EAAG,MAGZggC,EAAW,IAAI,GACnBr2C,EAAI3D,EAAQ+Z,EAAMpW,EAClBvH,EAAI6D,EAAS8Z,EAAM3d,EACnB4D,GAASga,EAAIrW,EAAIoW,EAAMpW,GACvB1D,GAAU+Z,EAAI5d,EAAI2d,EAAM3d,IAGrBzC,KAAKqgD,UAAargD,KAAKqgD,SAAStW,QAAQsW,KAE3CrgD,KAAKqgD,SAAW,IAAI,GAClBr2C,EAAI3D,EAAQ+Z,EAAMpW,EAClBvH,EAAI6D,EAAS8Z,EAAM3d,EACnB4D,GAASga,EAAIrW,EAAIoW,EAAMpW,GACvB1D,GAAU+Z,EAAI5d,EAAI2d,EAAM3d,IAI1BzC,KAAKihD,eAAiBjhD,KAAKqgD,WAWvB,YAAAzR,WAAR,WAEE5uC,KAAK4pB,gBAAgBnf,GAAG,IAAKzK,KAAKujD,kBAClCvjD,KAAK2pB,YAAYlf,GAAG,IAAKzK,KAAKujD,kBAC9BvjD,KAAKypB,gBAAgBhf,GAAG,IAAKzK,KAAKujD,kBAElCvjD,KAAK6G,OAAO4D,GAAG,IAAKzK,KAAKmjD,gBAiBnB,YAAAQ,wBAAR,WAEE,IADA,IAAMf,EAAkB5iD,KAAK4iD,gBACpBvmD,EAAI,EAAGgrC,EAAMub,EAAgBhkD,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CAC1D,IAAMksD,EAAiB3F,EAAgBvmD,GACjC6xB,ERn6CHywB,GQm6CiC4J,GAChCr6B,GACFluB,KAAK2iD,YAAYr/C,KAAK,IAAI4qB,EAAKluB,SAK7B,YAAAqjD,gBAAR,SAAwBD,GACd,IAAA7yC,EAAgB6yC,EAAX,MAAExmD,EAASwmD,EAAL,KAEbpkD,EAAOuR,EAAQA,EAAMrT,IAAI,UAAY,KAErCqD,EAAI,IAAI,GAAMP,KAAMojD,EAAKpkD,GAE/B,OADAuB,EAAEqJ,KAAOhN,EACF2D,GAqCD,YAAA+iD,YAAR,SAAoB/iD,GACV,IAAAqJ,EAAerJ,EAAX,KAENowB,EAAQ,CAAE3mB,EAFOzJ,EAAR,EAEIkC,EAFIlC,EAAL,GAmBlB,GAfmB,CACjB,YACA,UACA,YACA,aACA,aACA,aACA,YACA,WACA,cACA,QACA,WACA,eAGaq/C,SAASh2C,GAAO,CAC7B,IAAM4+C,EAAgBxoD,KAAKwuC,cAAc7d,GAEzC,GAAI63B,EAAe,CACjB,IAAMC,EAAO,QAAQ7+C,EACrBrJ,EAAEqJ,KAAO6+C,EACTzoD,KAAK8nB,KAAK2gC,EAAMloD,GACH,eAATqJ,GAAkC,aAATA,IAE3B5J,KAAK+iD,kBAAmB,GAKf,cAATn5C,GAAiC,cAATA,GACtB5J,KAAK+iD,mBAAqByF,GACf,cAAT5+C,IACFrJ,EAAEqJ,KAAO8+C,EAAYC,YACrB3oD,KAAK8nB,KAAK4gC,EAAYC,YAAapoD,IAErCA,EAAEqJ,KAAO8+C,EAAYE,MACrB5oD,KAAK8nB,KAAK4gC,EAAYE,MAAOroD,KACnBP,KAAK+iD,kBAAoByF,IACtB,cAAT5+C,IACFrJ,EAAEqJ,KAAO8+C,EAAYG,YACrB7oD,KAAK8nB,KAAK4gC,EAAYG,YAAatoD,IAErCA,EAAEqJ,KAAO8+C,EAAYI,MACrB9oD,KAAK8nB,KAAK4gC,EAAYI,MAAOvoD,IAG/BP,KAAK+iD,iBAAmByF,GACN,eAAT5+C,GAAkC,aAATA,GAE9B5J,KAAK+iD,mBACM,eAATn5C,IACFrJ,EAAEqJ,KAAO8+C,EAAYC,YACrB3oD,KAAK8nB,KAAK4gC,EAAYC,YAAapoD,IAErCA,EAAEqJ,KAAO8+C,EAAYE,MACrB5oD,KAAK8nB,KAAK4gC,EAAYE,MAAOroD,GAE7BP,KAAK+iD,kBAAmB,KAYxB,YAAAoF,aAAR,WACU,IAAAnpD,EAASgB,KAAK4lB,QAAV,KACZ5lB,KAAKikD,aAAejkD,KAAK6mD,WAAW7nD,IAO9B,YAAAqpD,eAAR,SAAuBvE,GAErB9jD,KAAK+oD,uBAKL,IAHA,IAAMxgC,EAAavoB,KAAK0xB,gBAClBs3B,EAAY,cAAIhpD,KAAK4lB,QAAS,SAAU,IACxC4C,EAAaxoB,KAAKwoB,WACfnsB,EAAI,EAAGgrC,EAAM7e,EAAW5pB,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACrD,IAAM0yB,EAAWvG,EAAWnsB,GAE5B0yB,EAAS5G,OAASnoB,KAAKipD,oBACvB,IAAMxgD,EAAM,CACV8f,WAAU,EACVygC,UAAS,EACThqD,KAAMgB,KAAKikD,aACXx9C,MAAOzG,KAAKwjD,YACZR,cAAehjD,KAAKgjD,cACpBC,oBAAqBjjD,KAAKijD,qBAGxBa,EAEF/0B,EAASzM,OAAO7Z,GAEhBsmB,EAAS9G,KAAKxf,GAKlBzI,KAAKkpD,gBAOC,YAAAH,qBAAR,WAOE,IANA,IAAMjmB,EAAS9iC,KAAKmpD,iBACdC,EAAgBppD,KAAKqpD,mBAErB,EAAwBrpD,KAAK6lB,aAA3B7mB,EAAI,OAAE,IAAAmpB,cAAM,IAAG,KAAE,EACnB87B,EAAejkD,KAAKikD,aAEjB5nD,EAAI,EAAGgrC,EAAMvE,EAAOlkC,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACjD,IAAM4L,EAAQ66B,EAAOzmC,GACfmjC,EAAWrX,EAAOlgB,GAGlBrK,EAAMoC,KAAK8lD,YAAY79C,GAC7BjI,KAAKuhD,YACHt5C,EAEAmhD,EAAcxJ,SAAS33C,GAASjJ,EAAOilD,EACvCzkB,EACA5hC,GAIFoC,KAAKkjD,iBAAiBt9C,IAAIhI,GAAK,KAO3B,YAAA0kD,UAAR,WAEEtiD,KAAKmkD,cAActB,UAAUhB,QAMvB,YAAAoH,kBAAR,WAIE,IAHA,IAAMnmB,EAAS9iC,KAAKmpD,iBAEdhhC,EAAS,GACN9rB,EAAI,EAAGA,EAAIymC,EAAOlkC,OAAQvC,IAAK,CACtC,IAAM4L,EAAQ66B,EAAOzmC,GACrB8rB,EAAOlgB,GAASjI,KAAKgI,gBAAgBC,GAGvC,OAAOkgB,GAGD,YAAAghC,eAAR,WAIE,IAHA,IAAMrmB,EAAS,GACT4iB,EAAS,GACTl9B,EAAaxoB,KAAKwoB,WACfnsB,EAAI,EAAGA,EAAImsB,EAAW5pB,OAAQvC,IAAK,CAG1C8pC,GAFiB3d,EAAWnsB,GACI8sD,iBACXrmB,EAAQ4iB,GAE/B,OAAO5iB,GAGD,YAAAumB,iBAAR,WAIE,IAHA,IAAMvmB,EAAS,GACT4iB,EAAS,GACTl9B,EAAaxoB,KAAKwoB,WACfnsB,EAAI,EAAGA,EAAImsB,EAAW5pB,OAAQvC,IAAK,CAG1C8pC,GAFiB3d,EAAWnsB,GACCitD,iBACXxmB,EAAQ4iB,GAE5B,OAAO5iB,GAOD,YAAAomB,aAAR,WAGElpD,KAAKupD,4BAOC,YAAAA,yBAAR,sBACQC,EAAW,0BAACxpD,KAAKkI,aAAgBlI,KAAKylD,cAAcxpB,QAAO,SAAC17B,GAAM,aAClEgoB,EAAavoB,KAAK0xB,gBAClB+3B,EAAezpD,KAAK4lB,QAAQuC,OAElC,eAAKqhC,GAAU,SAACtgC,GACN,IAAAjhB,EAA0CihB,EAArC,MAAExI,EAAmCwI,EAA7B,OAAE4yB,EAA2B5yB,EAAjB,WAAEwgC,EAAexgC,EAAL,WAG7C,IAAI4yB,GAAc4N,IAEZhpC,IAAW,cAAI+oC,EAAc,CAACxhD,EAAO,UAAW,CAClD,IAAM0hD,EAAQjpC,EAAO9hB,OACjB6uB,OAAK,EAET,GAAc,IAAVk8B,EACFl8B,EAAQ,CAAC,GAAK,OACT,CACL,IACI7G,EAAS,EAYX6G,EnB1sDR,SAAuBlF,GAC3B,GAAIA,EAAW6X,QAAS,CACd,IAAAU,EAAyBvY,EAAf,WAClB,OADiCA,EAAL,SACVuY,GAAyB,EAAV3xB,KAAKE,GAExC,OAAO,EmB2rDOu6C,CAAarhC,GACVA,EAAW8X,aAKN,EADRzZ,EAAU,EAAI+iC,EADD,cAAI,EAAKljD,MAAO,yBAA0B,EAAI,MAEzC,EAAG,EAAImgB,EAAS,GAJ1B,CAAC,EAAG,EAAI,EAAI+iC,GAQd,CADR/iC,EAAS,EAAI+iC,EAAQ,EACJ,EAAI/iC,GAIzBsC,EAAMuE,MAAQA,OAWd,YAAAk6B,eAAR,SAAuB7D,GAGrB,IADA,IAAMnB,EAAc3iD,KAAK2iD,YAChBtmD,EAAI,EAAGA,EAAIsmD,EAAY/jD,OAAQvC,IAAK,CAC3C,IAAM8kD,EAAawB,EAAYtmD,GAE3BynD,EACF3C,EAAW7+B,UAEX6+B,EAAWt4B,QACXs4B,EAAW73C,YAKT,YAAAs+C,SAAR,WACE5nD,KAAK8iD,WAAW9iD,OAOV,YAAAooD,iBAAR,WACE,IAAMhoC,EAAQpgB,KAAKihD,eAAeiG,GAC5B7mC,EAAMrgB,KAAKihD,eAAekG,GAChCnnD,KAAKkkD,mBAAqBlkD,KAAK4jD,qBAAqBjmD,OAAOyiB,EAAOC,IAO5D,YAAA0nC,gBAAR,SAAwBjE,GAetB,IAdA,IAAM+F,EAAc7pD,KAAK4lB,QAAQ+C,QAE3BJ,EAAavoB,KAAK0xB,gBAClBo4B,EAAe,CACnB9/C,EAAGhK,KAAKqgD,SAASr2C,EACjBvH,EAAGzC,KAAKqgD,SAAS59C,EACjByN,KAAMlQ,KAAKqgD,SAASnwC,KACpBE,KAAMpQ,KAAKqgD,SAASjwC,KACpBD,KAAMnQ,KAAKqgD,SAASlwC,KACpBE,KAAMrQ,KAAKqgD,SAAShwC,KACpBhK,MAAOrG,KAAKqgD,SAASh6C,MACrBC,OAAQtG,KAAKqgD,SAAS/5C,QAElBkiB,EAAaxoB,KAAKwoB,WACfnsB,EAAI,EAAGA,EAAImsB,EAAW5pB,OAAQvC,IAAK,CAC1C,IAAM0yB,EAAWvG,EAAWnsB,GAC5B0yB,EAASxG,WAAaA,EACtBwG,EAAS+6B,aAAeA,EACnBD,GAEH96B,EAASpG,SAAQ,GAEnBoG,EAASg1B,MAAMD,KAQX,YAAAkE,iBAAR,SAAyBlE,GAEvB,IAAK,IAAIznD,EAAI,EAAGA,EAAI2D,KAAKitC,gBAAgBruC,OAAQvC,IAAK,CACzC2D,KAAKitC,gBAAgB5wC,GAC5By4B,UAA6BxrB,WAQ7B,YAAAg/C,YAAR,SAAoBxE,GACd9jD,KAAK6kD,gBACHf,EACF9jD,KAAK6kD,cAAcviC,UAEnBtiB,KAAK6kD,cAAch8B,QAEnB7oB,KAAK6kD,cAAc58B,OAEnBjoB,KAAK6kD,cAAcv7C,YAKjB,YAAAu6C,YAAR,WAIE,IAHM,MAAuE7jD,KAAK4lB,QAA1E,IAAA4C,kBAAU,IAAG,KAAE,EAAE,IAAA9C,oBAAY,IAAG,KAAE,EAAE,IAAAkD,aAAK,IAAG,KAAE,EAAE,IAAAH,mBAAW,IAAG,KAAE,EAG/DpsB,EAAI,EAAGA,EAAImsB,EAAW5pB,OAAQvC,IAAK,CAC1C,IAAM0tD,EAAiBvhC,EAAWnsB,GAClC2D,KAAKgqD,eAAeD,GAItB,IAAK,IAAI3lD,EAAI,EAAGA,EAAIshB,EAAa9mB,OAAQwF,IAAK,CAC5C,IAAM6lD,EAAoBvkC,EAAathB,GAC/BwF,EAAcqgD,EAAV,KAAExhD,EAAQwhD,EAAL,IACjBjqD,KAAKgpB,YAAYpf,EAAMnB,GAIzB,IAAK,IAAItJ,EAAI,EAAGA,EAAIypB,EAAMhqB,OAAQO,IAAK,CACrC,IAAM+qD,EAAathC,EAAMzpB,GACzBa,KAAK6hC,WAAWqoB,GAKlB,IADA,IAAMC,EAAsBnqD,KAAKmgD,cAAc,cACtC7jD,EAAI,EAAGA,EAAImsB,EAAY7pB,OAAQtC,IAAK,CAC3C,IAAM8tD,EAAmB3hC,EAAYnsB,GACrC6tD,EAAoB/gC,WAAWghC,KAI3B,YAAAJ,eAAR,SAAuBD,GACb,IAAAngD,EAAmBmgD,EAAf,KAAE,EAAaA,EAAL,IAARthD,OAAG,IAAG,KAAE,EACtB,GAAIzI,KAAK4J,GAAO,CACd,IAAM,EAAW5J,KAAK4J,GAAMnB,GAC5B,eAAKshD,GAAgB,SAAC7mD,EAAG/D,GACnB,qBAAW,EAASA,KACtB,EAASA,GAAG+D,QAUZ,YAAA4iD,YAAR,SAAoB79C,GAClB,OAAUjI,KAAKwwB,GAAE,IAAIvoB,GAEzB,EA7zDA,CAA0B,GAq0DpB,SAAUkE,GAAiBvP,EAAcsxB,GAE7C,GAAKjwB,UAAUrB,EAAKgO,eAAiB,SAAUnC,QAAA,IAAAA,MAAA,IAC7C,IAAM1C,EAAQ,OAAH,WAAG,CAAH,CAETD,UAAW9F,KAAK2pB,YAAYD,WAC5BsF,gBAAiBhvB,KAAK4pB,gBAAgBF,YACnCjhB,GAGCsmB,EAAW,IAAIb,EAAKnoB,GAG1B,OAFA/F,KAAKwoB,WAAWllB,KAAKyrB,GAEdA,GAII,U,GCj5Df,YAkBE,WAAYhpB,GAAZ,WAEID,EAcEC,EAdO,UACTM,EAaEN,EAbG,MACLO,EAYEP,EAZI,OACN,EAWEA,EAXa,QAAfskD,OAAO,IAAG,GAAK,EACf/jC,EAUEvgB,EAVK,QACPg7C,EASEh7C,EATW,cACb,EAQEA,EARiB,SAAnBQ,OAAQ,IAAG,WAAQ,EACnBC,EAOET,EAPQ,WACV,EAMEA,EANiB,aAAnBW,OAAY,IAAG,GAAI,EACnB,EAKEX,EALY,QAAdogB,OAAO,IAAG,GAAI,EACd,EAIEpgB,EAJuG,oBAAzGukD,OAAmB,IAAG,GAAC,UAAW,gBAAiB,gBAAiB,oBAAqB,iBAAgB,EACzG1kC,EAGE7f,EAHK,QACP+jB,EAEE/jB,EAFS,YACXU,EACEV,EADG,MAGDwkD,EAAmB,mBAASzkD,GAAaG,SAASC,eAAeJ,GAAaA,EAG9E0kD,EAAiB,oBAAU,0CACjCD,EAAIE,YAAYD,GAGhB,IAAM3f,EAAO6f,EAAaH,EAAKF,EAAShkD,EAAOC,GAIzCO,EAAS,IAFL63B,EAAUn4B,GAECsF,QAAM,oBACzB/F,UAAW0kD,EACXhkD,WAAU,EACVE,aAAY,GACTmkC,I,OAIL,cAAM,CACJ73B,OAAQ,KACRnM,OAAM,EAEN4iB,gBAAiB5iB,EAAO6iB,SAAS,CAAE47B,OAAQC,IAC3C57B,YAAa9iB,EAAO6iB,SAAS,CAAE47B,OAAQC,IACvC37B,gBAAiB/iB,EAAO6iB,SAAS,CAAE47B,OAAQC,IAC3Cj/B,QAAO,EACPy6B,cAAa,EACb56B,QAAO,EACPP,QAAO,EACPkE,YAAW,EACXrjB,MAAK,KACL,MAyGIkkD,SAAW,oBAAS,WAC1B,EAAKxkD,aACJ,KAzGD,EAAKokD,IAAMA,EACX,EAAK1jD,OAASA,EACd,EAAKR,MAAQwkC,EAAKxkC,MAClB,EAAKC,OAASukC,EAAKvkC,OACnB,EAAK+jD,QAAUA,EACf,EAAK3jD,aAAeA,EACpB,EAAKH,SAAWA,EAChB,EAAKikD,eAAiBA,EAGtB,EAAKI,oBACL,EAAKC,cACL,EAAKC,wBAAwBR,G,EA8FjC,OAhLmC,yBAqFzB,YAAAQ,wBAAR,SAAgCplC,GAAhC,WACE,eAAKA,GAAc,SAACsD,GAClB,EAAKA,YAAYA,OAUd,YAAA+hC,WAAP,SAAkB1kD,EAAeC,GAE/B,OAAItG,KAAKqG,QAAUA,GAASrG,KAAKsG,SAAWA,IAI5CtG,KAAKqG,MAAQA,EACbrG,KAAKsG,OAASA,EACdtG,KAAK6G,OAAOkkD,WAAW1kD,EAAOC,GAG9BtG,KAAKsJ,QAAO,IARHtJ,MAiBJ,YAAAoH,QAAP,W/BhEI,IAAoB,EAClB,E+BgEJ,YAAMA,QAAO,WAEbpH,KAAKgrD,gBACLhrD,KAAK6G,OAAOO,U/BpEU,E+BsEZpH,KAAKwqD,gB/BrEX,EAAS,EAAI,aAGjB,EAAO,YAAY,G+BmEnBxqD,KAAKwqD,eAAiB,MAQjB,YAAAzrB,cAAP,SAAqB5Y,GAInB,OAHA,YAAM4Y,cAAa,UAAC5Y,GACpBnmB,KAAKwqD,eAAe5hD,MAAMqiD,QAAU9kC,EAAU,GAAK,OAE5CnmB,MAMF,YAAAmG,SAAP,WAEE,IAAKnG,KAAK+G,UAAW,CAEb,MAAoB2jD,EAAa1qD,KAAKuqD,KAAK,EAAMvqD,KAAKqG,MAAOrG,KAAKsG,QAAhED,EAAK,QAAEC,EAAM,SACrBtG,KAAK+qD,WAAW1kD,EAAOC,KAInB,YAAAskD,kBAAR,WACE,oBAAU5qD,KAAK6G,OAAO3J,IAAI,MAAO,CAC/B+tD,QAAS,eACTC,cAAe,YAIX,YAAAL,YAAR,WACM7qD,KAAKqqD,SACPpuD,OAAO4O,iBAAiB,SAAU7K,KAAK2qD,WAInC,YAAAK,cAAR,WACMhrD,KAAKqqD,SACPpuD,OAAO+0C,oBAAoB,SAAUhxC,KAAK2qD,WAUhD,EAhLA,CAAmC,ICGnC,cASE,WAAY1hD,GAPL,KAAAkd,SAAmB,EAKhB,KAAAwoB,WAAgC,GAGxC3uC,KAAKiJ,KAAOA,EAgFhB,OA1CS,YAAA4f,MAAP,WAEE,eAAK7oB,KAAK2uC,YAAY,SAACzB,GACrBA,EAAGpY,UAAU1tB,aAIfpH,KAAK2uC,WAAa,IAMb,YAAAvnC,QAAP,WACEpH,KAAK6oB,SAOA,YAAAokB,cAAP,WACE,OAAOjtC,KAAK2uC,YAOP,YAAA5P,cAAP,SAAqB5Y,GACfnmB,KAAKmmB,UAAYA,IAGrBnmB,KAAK2uC,WAAW3gB,SAAQ,SAACkf,GACnB/mB,EACF+mB,EAAGpY,UAAUvD,OAEb2b,EAAGpY,UAAUtD,UAGjBxxB,KAAKmmB,QAAUA,IAEnB,EA1FA,G,GCHA,WAqBI,SAAF,EAAY,GACF,eAAQ,WAAQ,yCAEpB,KAAC,YAAc,EACf,KAAC,OAAS,EACV,KAAC,OAAS,EA2HlB,OAjHS,qBAAP,SAAgB,GACV,OAAG,KAAK,YAAY,QAAQ,IAAQ,GAGhC,2BAAV,SAAyB,EAAa,EAAkB,GAC9C,IAKJ,EACA,EANI,cAEF,EAAQ,EAAO,QAAQ,GACvB,EAAS,EAAO,OA+BtB,OAzBK,GAAU,KAAK,SAAS,MAC3B,EAAM,EACA,EAAC,GACE,EAAS,GAEZ,IAAiB,IAAV,EAAc,EAAI,EAAQ,GAEjC,EAAC,EAAO,IAAU,EAAS,EAAI,EAAS,EAAI,EAAQ,GAE5C,IAAV,EACF,IAAQ,EAAW,GAAO,EAE1B,IAAQ,EAAO,GAAY,EAGzB,IAAU,EAAS,EACrB,IAAS,EAAO,GAAY,EAE5B,IAAS,EAAW,EAAO,EAAS,IAAM,IAGtC,EAAa,IAAb,EAAiB,EAAI,EAAW,GACtC,EAAoB,IAAb,EAAiB,EAAI,EAAW,IAGlC,CACL,IAAG,EACH,KAAI,IAIE,uBAAV,SAAqB,EAA4B,GAAjD,WAEQ,EAAe,KAAK,aAAa,GAGnC,EAAJ,KAAO,GAAkB,SAAC,EAAW,GAG7B,EAAN,KAAO,GAAc,SAAC,EAAkB,GAEtC,EAAK,UAAU,EAAK,EAAQ,EAAW,UAWnC,sBAAV,SAAoB,EAAc,GAShC,OAPA,OAAO,GAAM,SAAC,QACQ,IAAhB,EAAO,KACT,EAAO,GnCpHU,MmCyHd,UAAU,EAAM,IAIf,sBAAV,SAAoB,EAAa,EAAkB,EAAc,KAOzD,yBAAR,SAAqB,GACb,IAAE,EAAF,KAAE,OAAQ,EAAV,KAAU,OAEV,EAAiC,GAGjC,EAAO,GAcb,GAbI,GAAU,KAAK,SAAS,MAC1B,EAAK,KAAK,GAER,GAAU,KAAK,SAAS,MAC1B,EAAK,KAAK,GAGZ,EAAK,SAAQ,SAAC,GAEZ,EAAa,GAAO,cAAc,EAAY,GAAK,MAAK,SAAC,EAAI,GAAO,kBAIjE,GAAU,KAAK,SAAS,KAAM,CAEjC,EAAY,EAAQ,CnC1JD,EmC0Ja,GAGlC,OAAO,GAEX,EArJA,G3DJM,GAA4B,GAM5B,GAAY,SAAC,GACjB,OAAO,GAAW,EAAK,gBAQnB,GAAiB,SAAC,EAAc,GAEpC,GAAI,GAAU,GACZ,MAAM,IAAI,MAAM,gBAAgB,EAAI,cAGtC,GAAW,EAAK,eAAiB,G,W4DtBnC,YAKI,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,KALJ,WAAmC,GACnC,kBAA4B,GAC5B,YAAoB,GAKlB,iCpCVgB,GoCUhB,EAA4B,4BpCTb,GoCSa,EAA0B,Y,OAC1DhD,EAAC,YAAc,EACf,EAAC,WAAa,EAClB,EAAK,QAAU,E,EA8FnB,OAzGmC,0BAc1B,oBAAP,SAAe,GACT,IAAE,EAAmB,QAAQ,GAE3B,EAAY,UAAU,GAEpB,eAGF,EAAkB,EAAU,QAAQ,EAAW,GAAW,EAW5D,OATAnjB,KAAC,SAAW,GACZ,KAAC,gBAAkB,EACvB,KAAK,UAAY,EAEb,KAAC,WAAW,EAAiB,GAE7B,KAAC,gBAAkB,GACnB,KAAC,UAAY,GAEV,GAGG,EAAF,oBAAV,SAAoB,EAAa,EAAkB,EAAc,GAA7D,IAAJ,OACQ,EAAM,KAAK,gBAAgB,GAC3B,EAAY,KAAK,UAAU,EAAM,GAsBnC,OApBA,EAAJ,KAAO,GAAW,SAAC,EAAO,GAClB,IAAF,EAIM,EADY,IAAlB,EAAO,OACD,CACN,IAAK,EAAO,GAAK,EACjB,KAAM,EAAO,GAAK,GAIZ,EAAK,eAAe,EAAK,WAAW,GAAM,GAEpD,OAAO,GAAO,SAAC,GACb,IAAM,EAAQ,EAAE,GACV,EAAW,EAAI,GACf,EAAW,EAAS,QAAQ,GAClC,EAAE,GAAO,EAAK,eAAe,EAAO,EAAU,EAAS,cAGpD,IAGD,2BAAR,SAAuB,EAAc,EAAa,GAC1C,IAAE,EAAF,KAAE,WAAY,EAAd,KAAc,YACZ,QAAK,SAEP,EAAa,EAAO,EAEpB,EAAS,EAAa,EAAc,EACpC,EAAS,EAAc,EAQzB,OAAI,EAAM,GAAQ,GALnB,IAAU,EAAa,EAAM,GAAS,EAAM,GAAK,KAChD,EAAM,GAAK,EAAQ,EAAM,GAC1B,GAAS,EACT,GAAS,IAKJ,EAAF,0BAAR,SAAwB,GAClB,IAAE,EAAmB,KAAK,gBACxB,EAAW,KAAK,SAClB,EAAM,EAAS,GAmBnB,OAjBK,IACH,EAAM,GACN,OAAO,GAAkB,SAAC,EAAM,GAC9B,IAAM,EAAS,cAAc,EAAM,GAC9B,EAAO,QACV,EAAO,KAAK,GAEd,OAAO,GAAQ,SAAC,GACT,EAAI,KACP,EAAI,GAAO,IAEb,EAAI,GAAK,KAAK,SAGlB,EAAS,GAAO,GAGX,GAEX,EAzGA,CAAmC,ICInC,I,GAAA,YAAE,SAAF,I,+CA6CA,OA7CoC,0BAC3B,oBAAP,SAAe,GACb,IAAM,EAAmB,QAAQ,GAG3B,EAAY,UAAU,GAK5B,OAFIA,KAAC,WAAW,EAAkB,GAE3B,GASC,sBAAV,SAAoB,EAAa,EAAkB,GAA/C,IAAJ,OAEQ,EAAiB,KAAK,UAAU,EAAW,GAC7C,OAAG,OAAO,GAAgB,SAAC,EAAc,GAC3C,OAAO,EAAK,YAAY,EAAM,EAAK,WAAW,GAAW,OAKrD,4BAAR,SAAwB,GACd,IAjCU,EAiCV,QAAK,SAEP,ErCjCS,KqCiCC,EAAO,GACvB,OAAkC,EAAO,GApCvB,EAoCE,EAAM,IAnCP,KAAK,SAAW,GAuC7B,wBAAR,SAAoB,EAAe,EAAa,EAAkB,GAA9D,IAAJ,OAEQ,EAAQ,KAAK,eAAe,EAAK,EAAU,GAKjD,OAHI,EAAJ,KAAO,GAAO,SAAC,GACb,EAAK,GAAO,EAAK,gBAAgB,MAE5B,GAEX,EA7CA,CAAoC,ICL9B,GAAQ,Q,GAEd,YACI,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,KAEF,qCAAqB,8BAAc,2BAAW,iC,OAClDmjB,EAAC,YAAc,EACfA,EAAC,OAAS,EACV,EAAC,KAAO,EACZ,EAAK,aAAe,E,EAqGxB,OA7GmC,0BAe1B,oBAAP,SAAe,GACP,IAAE,EAAF,KAAE,OAAQ,EAAV,KAAU,aAIV,EAAI,EAAS,KAAK,aAAa,GAAkB,KAAK,mBAAmB,GAE/E,OAAO,EAAe,KAAK,QAAQ,GAAK,GAGlC,oBAAR,SAAgB,GACV,OAAG,EAAiB,MAAM,GAAG,WAG3B,yBAAR,SAAqB,GACb,IAAE,EAAF,KAAE,OAAQ,EAAV,KAAU,OAGV,EAHA,KAAkB,aAGgB,KAAK,QAAQ,GAAkB,EAGjE,EAAW,IAAI,GACf,EAAW,IAAI,GAEjB,OAAG,EAAiB,KAAI,SAAC,GACrB,OAAC,EAAU,KAAI,SAAC,G,MACd,EAAY,MAAM,EAAM,EAAQ,GAClC,EAAY,MAAM,EAAM,GAEtB,EAAO,EAAE,WAKP,GAFA,EAAJ,UAAU,GAAK,EAAE,GAAK,GAErB,QAAQ,GAAI,CACf,IAAM,EAAQ,GAAK,EAAI,EAAW,EAE7B,EAAM,IAAI,IACb,EAAM,IAAI,EAAM,GAElB,IAAM,EAAS,EAAM,IAAI,GACnB,EAAY,EAAI,EAKtB,OAFA,EAAM,IAAI,EAAM,GAEhB,2CACK,KAAI,MAEN,GAAS,CAAC,EAAQ,GAAU,IAKzB,OAAD,SAKH,EAAF,6BAAR,SAA2B,GAAvB,IAAJ,OACU,EAAF,KAAE,OAAQ,EAAV,KAAU,OAAQ,EAAlB,KAAkB,aAIlB,EAAmB,EAAe,KAAK,QAAQ,GAAkB,EAGjE,EAAQ,IAAI,GAElB,OAAO,EAAiB,KAAI,SAAC,GAC3B,OAAO,EAAU,KACf,SAAC,G,MACS,SACF,EAAiB,EAAK,GAGtB,EAAsB,EAAP,EAAY,EAE5B,EAAM,IAAI,IACb,EAAM,IAAI,EAAQ,EAAc,GAGlC,IAAM,EAAa,EAAM,IAAI,GAI7B,OAFA,EAAM,IAAI,EAAQ,EAAa,GAE/B,2CACK,KAAI,QACG,EAAU,WAMhC,EA7GA,CAAmC,I,GCFnC,YAAE,SAAF,I,+CAyDA,OAzDuC,0BAC9B,oBAAP,SAAe,GACT,IAAE,EAAY,UAAU,GAEpB,EAAF,KAAE,OAAQ,EAAV,KAAU,OAGV,EAAQ,KAAK,iBAAiB,GAG9B,EAAM,KAAK,IAAG,MAAR,KAAY,OAAO,KAAK,GAAO,KAAI,SAAC,GAAQ,gBAEpD,OAAG,MAAM,GAAgB,SAAC,GACtB,OAAC,MAAM,GAAW,SAAC,G,QACjB,EAAS,EAAK,GACd,EAAS,EAAK,GAGZ,GAAJ,UAAU,GAAS,CACX,IAAJ,GAAO,EAAM,EAAM,IAAW,EAEpC,kDACK,KAAI,MACN,GAAS,MAAM,GAAQ,SAAC,GAAc,cAAQ,IAKnD,IAAM,GAAU,EAAM,GAAU,EAChC,kDACK,KAAI,MACN,GAAS,CAAC,EAAQ,EAAS,GAAO,WAOnC,6BAAR,SAAyB,GAArB,IAAJ,OACU,EAAF,KAAE,OAAQ,EAAV,KAAU,OAGV,EAAiB,UAAU,GAAW,SAAC,GAAS,eAGtD,OAAO,YAAY,GAAgB,SAAC,GAAc,SAAK,eAAe,EAApB,OAG5C,2BAAR,SAAuB,EAAmB,GAExC,IAAM,EAAY,MAAM,GAAW,SAAC,GAAS,aAAM,EAAM,EAAZ,OAEvC,EAAgB,UAAU,GAGhC,OAAO,KAAK,IAAG,MAAR,KAAY,IAEvB,EAzDA,CAAuC,ItIMvC,GAAe,QAAS,IACxB,GAAe,SAAU,IACzB,GAAe,QAAS,IACxB,GAAe,YAAa,IuIF5B,IAAMgoC,GAA+B,GAM/B,SAAUC,GAAaxhD,GAC3B,OAAOuhD,GAAevhD,EAAKgB,eAQvB,SAAUsB,GAAkBtC,EAAc4Y,GAC9C2oC,GAAevhD,EAAKgB,eAAiB4X,EClBhC,IAAM1U,GAAsB,CACjCu9C,OAAQ,CACN9oC,SAAU,IACVE,OAAQ,eAEVH,OAAQ,CACNC,SAAU,IACVE,OAAQ,iBAEV6oC,MAAO,CACL/oC,SAAU,IACVE,OAAQ,iBAEV8oC,MAAO,CACLhpC,SAAU,IACVE,OAAQ,eAKN+oC,GAAuB,CAC3B36C,SAAU,SAAC0X,GACT,MAAO,CACL+iC,MAAO,CACL9oC,UAAW+F,EAAWwX,OAAUxX,EAAW8X,aAAe,aAAe,aAAgB,WAE3F/d,OAAQ,CACNE,UAAW+F,EAAW6X,SAAW7X,EAAW8X,aAAe,qBAAuB,MAEpFkrB,MAAO,CACL/oC,UAAW,cAIjBuE,KAAM,CACJukC,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfgN,KAAM,CACJ87B,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfmO,MAAO,CACL06B,OAAQ,CACN7oC,UAAW,WAEb8oC,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfkO,KAAM,CACJ46B,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfuV,QAAS,CACPuzB,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfipC,OAAQ,CACNH,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfkpC,KAAM,CACJJ,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGf5f,MAAO,CACLyoD,OAAQ,CACN7oC,UAAW,UACXzQ,MAAO,KAETu5C,MAAO,CACL9oC,UAAW,WAEbF,OAAQ,CACNE,UAAW,mBAEb+oC,MAAO,CACL/oC,UAAW,cAMXmpC,GAAkC,CACtC5kC,KAAM,WACJ,MAAO,CACLvE,UAAW,YAGfkO,KAAM,WACJ,MAAO,CACLlO,UAAW,YAGfgN,KAAM,WACJ,MAAO,CACLhN,UAAW,YAGf3R,SAAA,SAAS0X,GACP,IAAI/F,EAWJ,OATI+F,EAAWwX,OACbvd,EAAY+F,EAAW8X,aAAe,YAAc,aAEpD7d,EAAY,aACR+F,EAAW6X,SAAW7X,EAAW8X,eAEnC7d,EAAY,YAGT,CACLA,UAAS,IAGbipC,OAAQ,SAACljC,GAOP,MAAO,CACL/F,UANE+F,EAAWwX,OACDxX,EAAW8X,aAAe,YAAc,YAExC,eAMhBtI,QAAS,WACP,MAAO,CACLvV,UAAW,UACXD,SAAU,MAGdmpC,KAAM,WACJ,MAAO,CACLlpC,UAAW,aAsBX,SAAUzU,GAAqB69C,EAAqBrjC,EAAwBsjC,GAChF,IAAIt5B,EAAai5B,GAAqBI,GAEtC,OAAIr5B,IACE,qBAAWA,KACbA,EAAaA,EAAWhK,IAE1BgK,EAAa,kBAAQ,GAAIzkB,GAAqBykB,GAE1Cs5B,GACKt5B,EAAWs5B,GAGft5B,EAWH,SAAUvkB,GAAUuC,EAAwBgiB,EAAwB9pB,GACxE,IAAMzJ,EAAO,cAAIuR,EAAMrT,IAAI,UAAW,OzCpGZ,WyCqGpBslB,EAAY+P,EAAW/P,UACvBspC,EA3CR,SAA4Bv5B,EAAwBvzB,GAClD,MAAO,CACL+S,MAAO,qBAAWwgB,EAAWxgB,OAASwgB,EAAWxgB,MAAM/S,GAAQuzB,EAAWxgB,MAC1E0Q,OAAQ,qBAAW8P,EAAW9P,QAAU8P,EAAW9P,OAAOzjB,GAAQuzB,EAAW9P,OAC7EF,SAAU,qBAAWgQ,EAAWhQ,UAAYgQ,EAAWhQ,SAASvjB,GAAQuzB,EAAWhQ,SACnFzQ,SAAUygB,EAAWzgB,UAsCEi6C,CAAmBx5B,EAAYvzB,GACxD,GAAIwjB,EAAW,CAEb,IAAMwpC,EAAkBZ,GAAa5oC,GACjCwpC,GACFA,EAAgBz7C,EAAOu7C,EAAkBrjD,QAI3C8H,EAAMoY,QAAQlgB,EAAIqqB,QAASg5B,G,iBC3M/B,YA6BE,WAAYrjD,GAAZ,MACE,YAAMA,IAAI,KANJ,EAAAwjD,OAAmB,GAQjB,IAAAC,EAA4DzjD,EAAhD,aAAE3C,EAA8C2C,EAArC,UAAE0jD,EAAmC1jD,EAArB,eAAE,EAAmBA,EAAL,QAAd0d,OAAO,IAAG,GAAI,E,OAC/D,EAAK+lC,aAAeA,EACpB,EAAKpmD,UAAYA,EACjB,EAAKqmD,eAAiBA,EACtB,EAAKhmC,QAAUA,E,EA+ZnB,OAncqC,yBA4C5B,YAAA1e,KAAP,SAAY6rB,EAAkBwwB,QAAA,IAAAA,OAAA,GAC5B9jD,KAAKszB,MAAQA,EACbtzB,KAAKhB,KAAOs0B,EAAMt0B,KAClBgB,KAAKosD,UAAYpsD,KAAKqsD,aAAa/4B,GAGnCtzB,KAAKssD,UAAUh5B,EAAOwwB,IAED,IAAjB9jD,KAAKmmB,SAEPnmB,KAAK++B,eAAc,IAQhB,YAAAzc,OAAP,SAAcgR,GACN,IAAE44B,EAAwBlsD,KAAZ,aAAEuQ,EAAUvQ,KAAL,MAC3B,GAAKuQ,EAAL,CAKAvQ,KAAKszB,MAAQA,EACbtzB,KAAKhB,KAAOs0B,EAAMt0B,KAClBgB,KAAKosD,UAAYpsD,KAAKqsD,aAAa/4B,GAGnCtzB,KAAKusD,aAAah8C,EAAO+iB,GAGzB,IAAM64B,EAAiBnsD,KAAKwsD,oBACtBC,EAAWP,EAAaI,UAAUtsD,KAAKosD,UAAW94B,EAAO64B,GAE/DM,EAAShkD,IAAIzJ,KAAOgB,KAAKhB,KAEzBytD,EAAShkD,IAAI2rB,OAASd,EAGtBtzB,KAAK0sD,eAAen8C,EAAOk8C,EAAU,GAAIzsD,KAAK2sD,cAAc,aAMvD,YAAAvlD,QAAP,WACQ,IAAE8kD,EAAwBlsD,KAAZ,aAAEuQ,EAAUvQ,KAAL,MAE3B,GAAIuQ,EAAO,CACT,IAAMgiB,EAAavyB,KAAK2sD,cAAc,SAClCp6B,EAEFvkB,GAAUuC,EAAOgiB,EAAY,CAC3BhK,WAAY2jC,EAAa3jC,WACzBuK,QAAS,OAAF,WAAE,CAAF,GACFviB,EAAMsiB,UAKbtiB,EAAMzF,QAAO,GAKjB9K,KAAKisD,OAAS,GACdjsD,KAAKksD,kBAAezoD,EACpBzD,KAAK8F,eAAYrC,EACjBzD,KAAKuQ,WAAQ9M,EACbzD,KAAK2oB,aAAUllB,EACfzD,KAAK+uB,cAAWtrB,EAChBzD,KAAK4sD,gBAAanpD,EAClBzD,KAAKszB,WAAQ7vB,EACbzD,KAAKhB,UAAOyE,EACZzD,KAAKmsD,oBAAiB1oD,EACtBzD,KAAK6sD,iBAAcppD,EAEnB,YAAM2D,QAAO,YAOR,YAAA23B,cAAP,SAAqB5Y,GACnB,YAAM4Y,cAAa,UAAC5Y,GAEhBA,GACEnmB,KAAKuQ,OACPvQ,KAAKuQ,MAAMghB,OAETvxB,KAAK4sD,YACP5sD,KAAK4sD,WAAW5+B,SAAQ,SAACprB,GACvBA,EAAM2uB,YAINvxB,KAAKuQ,OACPvQ,KAAKuQ,MAAMihB,OAETxxB,KAAK4sD,YACP5sD,KAAK4sD,WAAW5+B,SAAQ,SAACprB,GACvBA,EAAM4uB,YA0BP,YAAA7F,SAAP,SAAgB8gB,EAAmBqgB,GAAnC,WACQ,EAAoD9sD,KAAlDisD,EAAM,SAAEC,EAAY,eAAE54B,EAAK,QAAE/iB,EAAK,QAAE67C,EAAS,YAE/C1tD,EAAQutD,EAAOttD,QAAQ8tC,GAC7B,GAAIqgB,EAAa,CAEf,GAAIpuD,GAAS,EAEX,OAEFutD,EAAO3oD,KAAKmpC,GACM,WAAdA,GAAwC,aAAdA,GAC5Bl8B,EAAMw8C,cAEH,CACL,IAAe,IAAXruD,EAEF,OAEFutD,EAAOrkC,OAAOlpB,EAAO,GACH,WAAd+tC,GAAwC,aAAdA,GAC5Bl8B,EAAMy8C,SAKV,IAAMC,EAAiBf,EAAaI,UAAUF,EAAW94B,EAAOtzB,KAAKwsD,qBACjEP,EAAOrtD,OAETqtD,EAAOj+B,SAAQ,SAACk/B,GACd,EAAKR,eAAen8C,EAAO08C,EAAgBC,EAAO,SAIpDltD,KAAK0sD,eAAen8C,EAAO08C,EAAgB,QAAS,MAGtDA,EAAeniD,QAAO,GAEtB,IAAMqiD,EAAc,CAClBD,MAAOzgB,EACPqgB,YAAW,EACX96B,QAAShyB,KACTY,OAAQZ,KAAK8F,WAEf9F,KAAK8F,UAAUgiB,KAAK,cAAeqlC,GAEnC,+BAAoBntD,KAAKuQ,MAAO,cAAe48C,IAM1C,YAAAC,YAAP,sBACQnB,EAASjsD,KAAKisD,OAEpB,eAAKA,GAAQ,SAACiB,GACZ,EAAKvhC,SAASuhC,GAAO,MAGvBltD,KAAKisD,OAAS,IAQT,YAAAtf,SAAP,SAAgBF,GACd,OAAOzsC,KAAKisD,OAAOrM,SAASnT,IAOvB,YAAA4gB,UAAP,WACE,OAAOrtD,KAAKisD,QAOP,YAAA3jD,QAAP,WACE,OAAOtI,KAAKhB,MAOP,YAAAu0B,SAAP,WACE,OAAOvzB,KAAKszB,OAOP,YAAAzF,QAAP,WACQ,IAAEtd,EAAsBvQ,KAAjB,MAAE4sD,EAAe5sD,KAAL,WACrBulB,EAAO,CACTvb,EAAG,EACHvH,EAAG,EACHyN,KAAM,EACNE,KAAM,EACND,KAAM,EACNE,KAAM,EACNhK,MAAO,EACPC,OAAQ,GAoBV,OAlBIiK,IACFgV,EAAOhV,EAAM06B,iBAEX2hB,GACFA,EAAW5+B,SAAQ,SAACprB,GAClB,IAAM0qD,EAAY1qD,EAAMqoC,gBACxB1lB,EAAKvb,EAAImF,KAAKsP,IAAI6uC,EAAUtjD,EAAGub,EAAKvb,GACpCub,EAAK9iB,EAAI0M,KAAKsP,IAAI6uC,EAAU7qD,EAAG8iB,EAAK9iB,GACpC8iB,EAAKrV,KAAOf,KAAKsP,IAAI6uC,EAAUp9C,KAAMqV,EAAKrV,MAC1CqV,EAAKnV,KAAOjB,KAAKsP,IAAI6uC,EAAUl9C,KAAMmV,EAAKnV,MAC1CmV,EAAKpV,KAAOhB,KAAKqP,IAAI8uC,EAAUn9C,KAAMoV,EAAKpV,MAC1CoV,EAAKlV,KAAOlB,KAAKqP,IAAI8uC,EAAUj9C,KAAMkV,EAAKlV,SAI9CkV,EAAKlf,MAAQkf,EAAKpV,KAAOoV,EAAKrV,KAC9BqV,EAAKjf,OAASif,EAAKlV,KAAOkV,EAAKnV,KAExBmV,GAGD,YAAAgoC,eAAR,WACE,IAAKvtD,KAAK6sD,YAAa,CACf,IAAET,EAAsCpsD,KAA7B,UAAE+uB,EAA2B/uB,KAAnB,SAAEksD,EAAiBlsD,KAAL,aACnCwtD,EAAcz+B,EAASy+B,YACvBC,EAAmBvB,EAAauB,iBAChCC,EAAaxB,EAAazlD,MAAM2lD,IAAcF,EAAazlD,MAAMgnD,GACvEztD,KAAK6sD,YAAc,kBAAQ,GAAIa,EAAYF,GAG7C,OAAOxtD,KAAK6sD,aAIN,YAAAc,cAAR,SAAsBlhB,EAAmBmhB,GACvC,IAAMf,EAAc7sD,KAAKutD,iBACnBM,EAAW,cAAIhB,EAAa,CAACpgB,EAAW,SAAU,IAClDqhB,EAAaD,EAASD,IAAaC,EACzC,OAAI,qBAAWC,GACNA,EAAW9tD,MAGb8tD,GAID,YAAAnB,cAAR,SAAsBd,GACpB,IAAMljC,EAAU3oB,KAAK2oB,QACrB,OAAIA,EACKA,EAAQkjC,GAGV,MAID,YAAAS,UAAR,SAAkBh5B,EAAkBwwB,QAAA,IAAAA,OAAA,GAC5B,IAAEoI,EAAuClsD,KAA3B,aAAE8F,EAAyB9F,KAAhB,UAAEosD,EAAcpsD,KAAL,UAK1C,GAFAA,KAAKuQ,MAAQ27C,EAAaI,UAAUF,EAAW94B,EAAOxtB,GAElD9F,KAAKuQ,MAAO,CACdvQ,KAAKusD,aAAavsD,KAAKuQ,MAAO+iB,GAE9B,IAAM,EAAOtzB,KAAKuQ,MAAM9H,IAAI7L,KAEvB,EAIM,mBAAS,KAElBoD,KAAKuQ,MAAM9H,IAAI7L,KAAO,CAAC,UAAW,IAHlCoD,KAAKuQ,MAAM9H,IAAI7L,KAAO,CAAC,UAAWoD,KAAKksD,aAAaxP,cAMtD,IAAMmP,EAAc/H,EAAW,QAAU,SACnCvxB,EAAavyB,KAAK2sD,cAAcd,GAClCt5B,GACFvkB,GAAUhO,KAAKuQ,MAAOgiB,EAAY,CAChChK,WAAY2jC,EAAa3jC,WACzBuK,QAAS,OAAF,WAAE,CAAF,GACF9yB,KAAKuQ,MAAMsiB,YAQhB,YAAA25B,kBAAR,WACE,IAAKxsD,KAAKmsD,eAAgB,CACxB,IAAM4B,EAAY/tD,KAAK8F,UAAUkoD,eACjChuD,KAAKmsD,eAAiB,IAAI4B,EAAU,IAGtC,OAAO/tD,KAAKmsD,gBAIN,YAAAI,aAAR,SAAqBh8C,EAAwBvR,GAA7C,YAEEuR,EAAM9H,IAAI2rB,OAASp1B,EAEnBuR,EAAM9H,IAAIupB,QAAUhyB,KAChBuQ,EAAM09C,YACS19C,EAAMrT,IAAI,YAClB8wB,SAAQ,SAAC5K,GAChB,EAAKmpC,aAAanpC,EAAOpkB,OAMvB,YAAA0tD,eAAR,SACE5mB,EACAC,EACAmnB,EACA36B,EACA7zB,GAEA,QAJA,IAAAwuD,MAAA,SAEA,IAAAxuD,MAAA,GAEIonC,EAAYmoB,UAGd,IAFA,IAAMC,EAAWpoB,EAAY5oC,IAAI,YAC3BixD,EAAcpoB,EAAY7oC,IAAI,YAC3Bb,EAAI,EAAGA,EAAI6xD,EAAStvD,OAAQvC,IACnC2D,KAAK0sD,eAAewB,EAAS7xD,GAAI8xD,EAAY9xD,GAAI6wD,EAAO36B,EAAY7zB,EAAQrC,OAEzE,CACL,GAAI6wD,GAAmB,UAAVA,EAAmB,CAC9B,IAAI,EAAOpnB,EAAY5oC,IAAI,QACvB,kBAAQ,KAEV,EAAO,EAAK,IAEd,IAAM0L,EAAQ5I,KAAK2tD,cAAcT,EAAO,GAAQxuD,GAChDqnC,EAAYlT,KAAKjqB,GAEnB,IAAMq9B,EAAWJ,GAAgBC,EAAuBC,GAEpD/lC,KAAK2oB,QACH4J,EAEFvkB,GAAU83B,EAAavT,EAAY,CACjChK,WAAYvoB,KAAKksD,aAAa3jC,WAC9BuK,QAASmT,EACTR,WAAYzlC,KAAKszB,QAEV45B,GACTpnB,EAAYlT,cACZkT,EAAYnd,QAAQsd,EAAU,CAC5B1jB,SAAU,OAGZujB,EAAYjT,KAAKoT,GAGnBH,EAAYjT,KAAKoT,KAKf,YAAAomB,aAAR,SAAqB/4B,GACnB,IAAM/iB,EAAQ,cAAI+iB,EAAO,SACzB,OAAO,kBAAQ/iB,GAASA,EAAM,GAAKA,GAEvC,EAncA,CAAqC,GCL/B69C,GAAgE,GAChEC,GAAqE,GAOrE,SAAUC,GAAiB1kD,GAC/B,OAAOwkD,GAAoBxkD,EAAKgB,eAQ5B,SAAU2jD,GAAsB3kD,EAAcg6B,GAClDwqB,GAAoBxkD,EAAKgB,eAAiBg5B,EAQtC,SAAU4qB,GAAuB5kD,GACrC,OAAOykD,GAA2BzkD,EAAKgB,eAQnC,SAAU6jD,GAA4B7kD,EAAc8kD,GACxDL,GAA2BzkD,EAAKgB,eAAiB8jD,E,aCvC7CC,GAAmB,CAEvBpmC,WAAY,KAEZklC,iBAAkB,KAElBhnD,MAAO,KAOPmoD,eAAA,SAAexC,EAAmByC,GAChC,IAAMt+C,EAAQvQ,KAAK8uD,SAAS1C,GAC5B,OAAI77C,EAAMw+C,UACDx+C,EAAMw+C,UAAUF,GAGlB7uD,KAAKgvD,iBAAiBH,IAO/BC,SAAA,SAAS1C,GACP,IAAM77C,EAAQvQ,KAAKosD,IAAcpsD,KAAKA,KAAKytD,kBAG3C,OAFAl9C,EAAMgY,WAAavoB,KAAKuoB,WAEjBhY,GAMTy+C,iBAAgB,WACd,MAAO,IASTC,UAAA,SAAU7C,EAAmB8C,GAC3B,IAAI3+C,EAAQvQ,KAAK8uD,SAAS1C,GAE1B,IAAK77C,EAAM0+C,UAAW,CACpB,IAAMxB,EAAmBztD,KAAKytD,iBAC9Bl9C,EAAQvQ,KAAK8uD,SAASrB,GAGxB,IAAMhnD,EAAQzG,KAAKyG,MACbqnD,EAAa,cAAIrnD,EAAO,CAAC2lD,EAAW,WAAY,IAChD+C,EAAc5+C,EAAM0+C,UAAUC,GAEpC,OAAO,kBAAQ,GAAIpB,EAAYqB,IAUjC7C,UAAA,SAAUF,EAAmB3jD,EAAgB3C,GAE3C,OADc9F,KAAK8uD,SAAS1C,GACf3kD,KAAKgB,EAAK3C,KAKrBspD,GAAY,CAEhB7mC,WAAY,KAMZ8mC,UAAA,SAAU7/B,GACR,IAAMjH,EAAavoB,KAAKuoB,WACpB+mC,EAAa,aAAgB9/B,GAMjC,OAJE8/B,EADE/mC,EAAW6X,QACA8I,GAAiB3gB,EAAY+mC,G9BgJ1C,SAA4BrmC,EAAOuG,GACvC,IAAM4X,EAAM,GAeZ,OAdA,eAAK5X,GAAM,SAAC6Z,GAEV,OADeA,EAAQ,GACRz+B,eACb,IAAK,IACL,IAAK,IACL,IAAK,IACHw8B,EAAI9jC,KAAK6jC,GAAYkC,EAASpgB,IAC9B,MACF,IAAK,IACL,QACEme,EAAI9jC,KAAK+lC,OAIRjC,E8B9JUmoB,CAAkBhnC,EAAY+mC,IAS/CE,WAAA,SAAW7+B,GAET,OADmB3wB,KAAKuoB,WACNgY,QAAQ5P,IAO5B8+B,YAAA,SAAYt1B,GACV,IAAM5R,EAAavoB,KAAKuoB,WACxB,OAAO4R,EAAO7V,KAAI,SAACqM,GACjB,OAAOpI,EAAWgY,QAAQ5P,OAO9BlpB,KAAA,SAAKgB,EAAgB3C,MAGjB4pD,GAAkB,GAQlB,SAAUC,GAAqBC,EAAqBnnD,GACxD,IAAMkkB,EAAY,qBAAWijC,GACvBC,EAAU,OAAH,WAAG,CAAH,yCACRlB,IACAlmD,GAAG,CACNi0C,aAAckT,IAGhB,OADAF,GAAgB/iC,GAAakjC,EACtBA,EAUH,SAAUpjD,GAAcmjD,EAAqBxD,EAAmB3jD,GACpE,IAAMkkB,EAAY,qBAAWijC,GACvBh0D,EAAU8zD,GAAgB/iC,GAC1BmjC,EAAW,OAAH,WAAG,CAAH,sBACTV,IACA3mD,GAGL,OADA7M,EAAQwwD,GAAa0D,EACdA,EAQH,SAAUljD,GAAgBgjD,GAC9B,IAAMjjC,EAAY,qBAAWijC,GAC7B,OAAOF,GAAgB/iC,GC5KnB,SAAUojC,GAAcC,EAAyBC,GACrD,OAAO,eACL,CAAC,QAAS,QAAS,OAAQ,IAAK,IAAK,aAAc,OAAQ,QAAS,eAAgB,SAAU,gBAC9F,SAACryD,GACC,OAAQ,kBAAQoyD,EAAapyD,GAAMqyD,EAASryD,OCX5C,SAAUsyD,GAAYjoD,GAC1B,OAAI,kBAAQA,GACHA,EAGFA,EAAMglB,MAAM,K,uOCiIrB,I,GAAA,YAgFE,WAAYxkB,GAAZ,MACE,YAAMA,IAAI,KA/EI,EAAAmB,KAAe,OA0BxB,EAAAsyC,WAAwC,GAExC,EAAAnqB,SAAsB,GActB,EAAAo+B,YAAuC,GAEvC,EAAA39B,eAAyC,EAEtC,EAAA49B,gBAAmD,GAQnD,EAAAC,gBAA2C,GAE3C,EAAAC,gBAA0B,EAE1B,EAAAC,kBAA4B,KAM9B,EAAAC,QAAkC,GAElC,EAAAC,SAAqB,GAKrB,EAAAC,WAAqB,EACnB,EAAAzN,qBAA+B,EAUrC,IAAAn9C,EASE2C,EATO,UACTumB,EAQEvmB,EARa,gBACf8f,EAOE9f,EAPQ,WACVzJ,EAMEyJ,EANE,KACJ,EAKEA,EALc,SAAhBkoD,OAAQ,IAAG,GAAK,EAChB,EAIEloD,EAJY,QAAd0d,OAAO,IAAG,GAAI,EACd1f,EAGEgC,EAHG,MACL,EAEEA,EAFS,OAAX0f,OAAM,IAAG,KAAE,EACX,EACE1f,EADY,UAAdugD,OAAS,IAAG,KAAE,E,OAGhB,EAAKljD,UAAYA,EACjB,EAAKkpB,gBAAkBA,EACvB,EAAKzG,WAAaA,EAClB,EAAKvpB,KAAOA,EACZ,EAAK2xD,SAAWA,EAChB,EAAKxqC,QAAUA,EACf,EAAKyqC,UAAYnqD,EACjB,EAAK0hB,OAASA,EACd,EAAK6gC,UAAYA,E,EA4nDrB,OAnuDsC,yBA0H7B,YAAAziC,SAAP,SAAgB9d,GACd,IAAIooD,EAAcpoD,EACb,wBAAcA,KAEjBooD,EAAc,CACZ/tB,OAAQotB,GAAYznD,KAIxB,IAAMq6B,EAAS,cAAI+tB,EAAa,UAQhC,OAPsB,IAAlB/tB,EAAOlkC,SAETkkC,EAAOmG,QAAQ,KACf,cAAI4nB,EAAa,SAAU/tB,IAE7B,cAAI9iC,KAAKowD,gBAAiB,WAAYS,GAE/B7wD,MAkDF,YAAAwd,MAAP,SAAavV,EAAiCQ,GAG5C,OAFAzI,KAAK8wD,iBAAiB,QAAS7oD,EAAOQ,GAE/BzI,MAgDF,YAAAuQ,MAAP,SAAatI,EAAiCQ,GAG5C,OAFAzI,KAAK8wD,iBAAiB,QAAS7oD,EAAOQ,GAE/BzI,MA+CF,YAAA6qC,KAAP,SAAY5iC,EAA0CQ,GAGpD,OAFAzI,KAAK8wD,iBAAiB,OAAQ7oD,EAAOQ,GAE9BzI,MAgDF,YAAAo/C,OAAP,SAAc2R,GACZ,IAAIP,EAAeO,EAWnB,OAVI,mBAASA,IAAc,wBAAcA,MACvCP,EAAU,CAACO,IAEb,eAAKP,GAAS,SAACpR,EAAQ1gD,GAChB,mBAAS0gD,KACZoR,EAAQ9xD,GAAS,CAAEkL,KAAMw1C,OAI7Bp/C,KAAKgxD,aAAeR,EACbxwD,MAgDF,YAAA4I,MAAP,SAAaX,EAA2CgpD,GACtD,GAAI,mBAAShpD,GAAQ,CACnB,IAAM66B,EAASotB,GAAYjoD,GAC3BjI,KAAKkxD,YAAc,CACjBpuB,OAAM,EACNhxB,SAAUm/C,OAEP,CACC,MAA4BhpD,EAAlB6J,GAARgxB,EAAM,SAAU,YAAEr6B,EAAG,MAE3BzI,KAAKkxD,YADHpuB,GAAUhxB,GAAYrJ,EACLR,EAEA,CACjBQ,IAAKR,GAKX,OAAOjI,MA+EF,YAAAwmB,QAAP,SAAeve,EAAiDQ,GAC9D,GAAI,mBAASR,GAAQ,CACnB,IAAM66B,EAASotB,GAAYjoD,GAC3BjI,KAAK89C,cAAgB,CACnBhb,OAAM,EACNhxB,SAAUrJ,QAGZzI,KAAK89C,cAAgB71C,EAGvB,OAAOjI,MA4BF,YAAA2oB,QAAP,SAAelgB,GAEb,OADAzI,KAAKwyB,cAAgB/pB,EACdzI,MAuCF,YAAA4C,MAAP,SACEqF,EACAkpD,EACAC,GAEA,GAAI,mBAASnpD,GAAQ,CACnB,IAAMopD,EAA2B,GAC3BvuB,EAASotB,GAAYjoD,GAC3BopD,EAAYvuB,OAASA,EACjB,qBAAWquB,GACbE,EAAYv/C,SAAWq/C,EACd,wBAAcA,KACvBE,EAAY5oD,IAAM0oD,GAGhBC,IACFC,EAAY5oD,IAAM2oD,GAEpBpxD,KAAKqxD,YAAcA,OAEnBrxD,KAAKqxD,YAAcppD,EAGrB,OAAOjI,MAmCF,YAAAktD,MAAP,SAAazkD,GAEX,OADAzI,KAAKwtD,YAAc/kD,EACZzI,MAOF,YAAAioB,KAAP,SAAYxf,QAAA,IAAAA,MAAA,IACVzI,KAAKsxD,OAAO7oD,GACZzI,KAAKuxD,iBAGLvxD,KAAKkoB,YAAYloB,KAAKhB,MAGtBgB,KAAKwxD,eAOA,YAAAlvC,OAAP,SAAc7Z,QAAA,IAAAA,MAAA,IACJ,IAAAzJ,EAA6CyJ,EAAzC,KAAEu6C,EAAuCv6C,EAA1B,cAAEw6C,EAAwBx6C,EAAL,oBACxC2nD,EAAyCpwD,KAA1B,gBAAEyxD,EAAwBzxD,KAAL,oBAEvC,kBAAQowD,EAAiBqB,IAGnBzyD,IAASgkD,GAAkB,kBAAQhkD,EAAMgB,KAAKhB,MAMvDgB,KAAKsxD,OAAO7oD,IAJZzI,KAAKsxD,OAAO7oD,GACZzI,KAAKkoB,YAAYlpB,IAJjBgB,KAAKioB,KAAKxf,GAWZzI,KAAKwxD,cACLxxD,KAAKijD,oBAAsBA,GAMtB,YAAAc,MAAP,SAAaD,GAAb,gBAAa,IAAAA,OAAA,GACP9jD,KAAKwyB,gBACPxyB,KAAKwyB,cAAgB,kBAAQ,GAAIzkB,GAAqB/N,KAAK4J,KAAM5J,KAAKuoB,YAAavoB,KAAKwyB,gBAG1FxyB,KAAK0xD,iBAAcjuD,EACnBzD,KAAK+xB,SAAW,GAChB/xB,KAAKmwD,YAAc,GACInwD,KAAKwsD,oBACb3jC,QAMf,IAJA,IAAM0nC,EAAoBvwD,KAAKuwD,kBACzB7J,EAAY1mD,KAAK2xD,cAAcpB,GAE/BqB,EAAe,GACZlzD,EAAQ,EAAG,EAASgoD,EAAU9nD,OAAQF,EAAQ,EAAQA,IAAS,CACtE,IAAMmzD,EAAYnL,EAAUhoD,GACtBo1B,EAAc9zB,KAAK8xD,QAAQD,GACjCD,EAAatuD,KAAKwwB,GAClB9zB,KAAK+xD,eAAej+B,EAAap1B,EAAOolD,GAG1C,GAAI9jD,KAAKgyD,oBAAoBlO,GAAW,CAEtC,IAAMh+C,EAAY9F,KAAK8F,UACjB8D,EAAO5J,KAAK4J,KACZ2e,EAAavoB,KAAKuoB,WAClBgK,EAAa,cAAIvyB,KAAKwyB,cAAe,UACrC+B,EAASv0B,KAAKmI,YACd8pD,EAAY1pC,EAAWgY,QAAQ,CACnCv2B,EAAG,EACHvH,EAAG8xB,EAAOrL,MAAMlpB,KAAKkyD,mBNlmBvB,SACJpsD,EACAysB,EACAmqB,EACAn0B,EACA4pC,GAEA,GAAIxG,GAAgCjP,GAAe,CACjD,IAAM0V,EAAazG,GAAgCjP,GAAcn0B,GAC3D/F,EAAY4oC,GAAa,cAAIgH,EAAY,YAAa,KAC5D,GAAI5vC,EAAW,CACb,IAAM/Z,EAAM,OAAH,WAAG,CAAH,yCACJqF,GAAoBu9C,QACpB+G,GACA7/B,GAELzsB,EAAU8sB,cACVpQ,EAAU1c,EAAW2C,EAAK,CACxB8f,WAAU,EACV4pC,UAAS,EACTr/B,QAAS,SMglBXu/B,CAAqBvsD,EAAWysB,EAAY3oB,EAAM2e,EAAY0pC,GAI5DjyD,KAAKqxD,aACPrxD,KAAKsyD,aAAa,kBAAQV,GAAe9N,GAG3C9jD,KAAK0mD,UAAYkL,EAGjB,eAAK5xD,KAAKqwD,iBAAiB,SAACkC,GAE1BA,EAAe5pC,QAAU,EAAK6J,cAC9B+/B,EAAenrD,aAGjBpH,KAAKqwD,gBAAkBrwD,KAAKmwD,YAG5BnwD,KAAKyxD,oBAAmB,sBACnBzxD,KAAKowD,kBAGW,IAAjBpwD,KAAKmmB,SAEPnmB,KAAK++B,eAAc,IAQhB,YAAAlW,MAAP,WACQ,IAAE/iB,EAA6C9F,KAApC,UAAEwyD,EAAkCxyD,KAArB,cAAEmsD,EAAmBnsD,KAAL,eAC5C8F,GACFA,EAAU+iB,QAGR2pC,GACFA,EAAc3pC,QAGZsjC,GACFA,EAAetjC,QAIjB7oB,KAAKgpD,eAAYvlD,EACjBzD,KAAKk8C,WAAa,GAClBl8C,KAAKmoB,OAAS,GACdnoB,KAAKmwD,YAAc,GACnBnwD,KAAKqwD,gBAAkB,GACvBrwD,KAAK+xB,SAAW,GAChB/xB,KAAKwwD,QAAU,GACfxwD,KAAK0mD,UAAY,KACjB1mD,KAAKuwD,kBAAoB,KACzBvwD,KAAKyxD,yBAAsBhuD,EAC3BzD,KAAK0xD,iBAAcjuD,EACnBzD,KAAKywD,SAAW,GAChBzwD,KAAKw+C,iBAAc/6C,EACnBzD,KAAK0wD,WAAY,EACjB1wD,KAAKijD,qBAAsB,GAMtB,YAAA77C,QAAP,WACEpH,KAAK6oB,QACa7oB,KAAK8F,UACbgF,QAAO,GAEb9K,KAAKmsD,iBACPnsD,KAAKmsD,eAAerhD,QAAO,GAC3B9K,KAAKmsD,eAAiB,MAGpBnsD,KAAKwyD,gBACPxyD,KAAKwyD,cAAcprD,UACnBpH,KAAKwyD,cAAgB,MAEvBxyD,KAAKyG,WAAQhD,EACbzD,KAAKksD,kBAAezoD,EAEpB,YAAM2D,QAAO,YAOR,YAAAq3C,eAAP,WACE,OAAOz+C,KAAKw+C,aAMP,YAAAd,aAAP,SAAoB9gD,GAClB,OAAOoD,KAAKk8C,WAAWt/C,IAIlB,YAAAsL,UAAP,WACE,OAAOlI,KAAK09C,aAAa,YAAYv1B,OAAO,IAIvC,YAAAhgB,UAAP,WACE,OAAOnI,KAAK09C,aAAa,YAAYv1B,OAAO,IAMvC,YAAAsqC,mBAAP,WACE,IAAMvzD,EAAM,GAMZ,OALA,eAAKc,KAAKk8C,YAAY,SAACrpB,GACjBupB,EAAYwD,SAAS/sB,EAAKjpB,OAC5B1K,EAAIoE,KAAKuvB,MAGN3zB,GAIF,YAAAwzD,gBAAP,SAAuBC,GACrB,IAAIr1D,EACEu1B,EAAO7yB,KAAK09C,aAAaiV,GAK/B,OAJI9/B,GAAQ,kBAAQA,EAAK1K,UAEvB7qB,EAAQu1B,EAAKnS,OAAO,IAEfpjB,GASF,YAAAs1D,mBAAP,SAA0B//B,EAAiB5zB,GAGzC,IAFA,IAAM+uC,EAAS,GACT7lB,EAAS0K,EAAK1K,OACXzpB,EAAQ,EAAG,EAASypB,EAAOvpB,OAAQF,EAAQ,EAAQA,IAAS,CACnE,IAAMwqB,EAAQf,EAAOzpB,GACfuJ,EAAQihB,EAAMjhB,MAChBihB,EAAMwgC,WACR1b,EAAO1qC,KAAK4lB,EAAMxI,QAElBstB,EAAO1qC,KAAKrE,EAAIgJ,IAIpB,OAAO4qB,EAAKi/B,QAAO,MAAZj/B,EAAgBmb,IAGlB,YAAA6kB,UAAP,SAAiBC,GACf,OAAO9yD,KAAKwwD,QAAQsC,IASf,YAAAC,eAAP,SAAsBC,EAAmBvqD,GAEvC,OADqBzI,KAAK4M,kBACNqiD,UAAU+D,EAAWvqD,IAiBpC,YAAAikC,cAAP,SAAqB/jC,GACnB,OAAO3I,KAAK+xB,SAASkK,QAAO,SAACjK,GAC3B,OAAOrpB,EAAUqpB,OASd,YAAAyC,aAAP,SAAoBz1B,GAElB,IAAM48C,GADN58C,EAAO,kBAAQA,GAAQA,EAAK,GAAKA,GACV,QAGvB,GAAIgB,KAAKywD,SAAS7xD,OAAQ,CAExB,IADA,IAAIq0D,EAAYrX,EAAW57C,KAAKywD,SAAS,IAChC/xD,EAAQ,EAAGA,EAAQsB,KAAKywD,SAAS7xD,OAAQF,IAChDu0D,GAAa,IAAMrX,EAAW57C,KAAKywD,SAAS/xD,IAG9C,OAAOu0D,EAGT,IAMIC,EAOA1iC,EAbE5mB,EAAO5J,KAAK4J,KACZ0qB,EAASt0B,KAAKkI,YACdqsB,EAASv0B,KAAKmI,YACd0iB,EAASyJ,EAAOrsB,OAAS,IAEzBkrD,EAAOvX,EADErnB,EAAOtsB,OAAS,KAI7BirD,EADkB,aAAhB5+B,EAAO1qB,KACF0qB,EAAO5T,OAAO,GAEdk7B,EAAW/wB,GAKlB2F,EADW,aAAT5mB,GAAgC,WAATA,EACpBspD,EACa,SAATtpD,GAA4B,SAATA,GAA4B,SAATA,EAC1CA,EAEGspD,EAAI,IAAIC,EAIlB,IADA,IAAM3U,EAAcx+C,KAAKw+C,YACL,GAAX9/C,EAAQ,EAAY8/C,EAAY5/C,QAAQF,EAAQ,EAAQA,IAAS,CAGxE8xB,EAAQA,EAAE,IAAIorB,EAFK4C,EAAY9/C,GACNuJ,OAK3B,IAAMmrD,EAAcpzD,KAAK6yD,UAAU,SACnC,GAAIO,EAAa,CACf,IAAMC,EAAUD,EAAYC,QACxBA,IACF7iC,EAAQA,EAAE,IAAIorB,EAAWyX,IAQ7B,OAJIrzD,KAAK6yD,UAAU,YACjBriC,EAAQA,EAAE,IAAIxxB,EAAKgL,EAAC,IAAIhL,EAAKyD,GAGxB+tB,GAMF,YAAA24B,eAAP,WACE,IAAMrmB,EAAS,GACT4iB,EAAS,GACP0K,EAAgDpwD,KAAjC,gBAAEqxD,EAA+BrxD,KAApB,YAAE89C,EAAkB99C,KAAL,cAEnD,IAAK,IAAMszD,KAAiBlD,EAC1B,GAAIA,EAAgBlyD,eAAeo1D,GAAgB,CACjD,IAAMC,EAAUnD,EAAgBkD,GAC5BC,EAAQzwB,OACVqD,GAAKotB,EAAQzwB,OAAQA,EAAQ4iB,GACpB6N,EAAQ7yC,QAEjBylB,GAAKotB,EAAQ7yC,OAAQoiB,EAAQ4iB,GAcnC,OATI2L,GAAeA,EAAYvuB,QAC7BqD,GAAKkrB,EAAYvuB,OAAQA,EAAQ4iB,GAI/B,mBAAS5H,IAAkBA,EAAchb,QAC3CqD,GAAK2X,EAAchb,OAAQA,EAAQ4iB,GAG9B5iB,GAOF,YAAA/D,cAAP,SAAqB5Y,GACnB,YAAM4Y,cAAa,UAAC5Y,GAEpB,IADA,IAAM4L,EAAW/xB,KAAK+xB,SACbrzB,EAAQ,EAAG,EAASqzB,EAASnzB,OAAQF,EAAQ,EAAQA,IAAS,CACrDqzB,EAASrzB,GACjBqgC,cAAc5Y,GAEpBA,GACEnmB,KAAK8F,WACP9F,KAAK8F,UAAUyrB,OAEbvxB,KAAKgvB,iBACPhvB,KAAKgvB,gBAAgBuC,SAGnBvxB,KAAK8F,WACP9F,KAAK8F,UAAU0rB,OAEbxxB,KAAKgvB,iBACPhvB,KAAKgvB,gBAAgBwC,SASpB,YAAA83B,eAAP,WAGE,IAFA,IAAMkK,EAAc,GACd9N,EAAS,GACNhnD,EAAQ,EAAG,EAAS09C,EAAYx9C,OAAQF,EAAQ,EAAQA,IAAS,CACxE,IAAM+0D,EAAgBrX,EAAY19C,GAC5B+J,EAAMzI,KAAKowD,gBAAgBqD,GAC7BhrD,GAAOA,EAAIq6B,QACbqD,GAAK19B,EAAIq6B,OAAQ0wB,EAAa9N,GAIlC,OAAO8N,GAMF,YAAArwB,YAAP,WACQ,MAASnjC,KAAKowD,gBAAgB7pC,SAASuc,OAC7C,MAAO,CADC,KAAG,OAQN,YAAA/X,UAAP,WACE,OAAO/qB,KAAK+xB,SAASzN,KAAI,SAAC0N,GAAqB,OAAAA,EAAA,UAO1C,YAAAw6B,kBAAP,WACE,IAAKxsD,KAAKmsD,eAAgB,CACxB,IAAM4B,EAAY/tD,KAAK8F,UAAUkoD,eACjChuD,KAAKmsD,eAAiB,IAAI4B,EAAU,IAEtC,OAAO/tD,KAAKmsD,gBAIP,YAAA/xB,KAAP,SAAYw3B,GACV,IAAK5xD,KAAK0wD,UAIR,IAFA,IAAM,EAAS1wD,KAAKkI,YACd,EAAS,EAAOD,MACbvJ,EAAQ,EAAGA,EAAQkzD,EAAahzD,OAAQF,IAAS,CACxCkzD,EAAalzD,GACrB07B,MAAK,SAACs5B,EAAaC,GACzB,OAAO,EAAOnY,UAAUkY,EAAI,QAAe,IAAW,EAAOlY,UAAUmY,EAAI,QAAe,OAKhG3zD,KAAK0wD,WAAY,GAMT,YAAAc,YAAV,WACE,IAAMj9B,EAASv0B,KAAKmI,YAEhBosB,GAAUv0B,KAAK6yD,UAAU,UAC3B7yD,KAAK4zD,iBAAiBr/B,EAAQv0B,KAAKuwD,oBAO7B,YAAA3jD,gBAAV,WACE,IAAMw/C,EAAYpsD,KAAKosD,UACvB,GAAKx/C,GAAgBw/C,GAWrB,OARKpsD,KAAKksD,eACRlsD,KAAKksD,aAAe,gBAAMt/C,GAAgBw/C,KAG5CpsD,KAAKksD,aAAa3jC,WAAavoB,KAAKuoB,WAEpCvoB,KAAKksD,aAAazlD,MAAQzG,KAAKyG,MAAM+hB,WAAW4jC,IAAc,GAEvDpsD,KAAKksD,cAQJ,YAAA2H,qBAAV,SAA+B50D,GAC7B,IAAMq1B,EAASt0B,KAAKkI,YACdqsB,EAASv0B,KAAKmI,YAUpB,MAAO,CACL6B,EAVQhK,KAAK8zD,gBAAgB70D,EAAIq1B,EAAOrsB,OAAQqsB,GAWhD7xB,EARE8xB,EACEv0B,KAAK8zD,gBAAgB70D,EAAIs1B,EAAOtsB,OAAQssB,GAExCt1B,EAAIwD,EAAIxD,EAAIwD,EAAI,GAMpBsxD,GAAIx/B,EAASA,EAAOrL,MAAMlpB,KAAKkyD,qBAAkBzuD,IAU3C,YAAAipB,cAAV,SAAwBsnC,EAA4BlQ,QAAA,IAAAA,OAAA,GAC1C,IAAAh+C,EAAc9F,KAAL,UAEXi0D,EAAWj0D,KAAKk0D,WAAWF,GAC3B9H,EAAelsD,KAAK4M,kBAEpBolB,EAAU,IAAI,GAAQ,CAC1Bk6B,aAAY,EACZpmD,UAAS,EACTqmD,eAAgBnsD,KAAKwsD,sBAMvB,OAJAx6B,EAAQrJ,QAAU3oB,KAAKwyB,cACvBR,EAAQjD,SAAW/uB,KACnBgyB,EAAQvqB,KAAKwsD,EAAUnQ,GAEhB9xB,GAQC,YAAAkiC,WAAV,SAAqBF,GACnB,IAAMpY,EAAaoY,EAAY,QACzBvrD,EAAiB,CACrBqrB,YAAakgC,EACbh1D,KAAM48C,EACN5xC,EAAGgqD,EAAahqD,EAChBvH,EAAGuxD,EAAavxD,EAChB+a,MAAOw2C,EAAax2C,MACpBqtB,KAAMmpB,EAAanpB,KACnBnC,WAAY1oC,KAAKuoB,WAAW6X,SAG1B4yB,EAAYgB,EAAazjD,OACxByiD,GAAahzD,KAAK4M,oBACrBomD,EAAYhzD,KAAK4M,kBAAkB6gD,kBAErChlD,EAAI8H,MAAQyiD,EAEZ,IAAMvsD,EAAQzG,KAAKyG,MAAM+hB,WAAWxoB,KAAKosD,WACzC3jD,EAAI0rD,aAAe,cAAI1tD,EAAO,CAACusD,EAAW,WAAY,IAAIpqD,MAE1D,IAAMsoD,EAAclxD,KAAKkxD,YASzB,OARIA,IACFzoD,EAAIG,MAAQ5I,KAAKo0D,YAAYlD,EAAatV,IAExC57C,KAAKswD,iBACP7nD,EAAI0xB,OAAS65B,EAAa75B,OAC1B1xB,EAAI4rD,WAAaL,EAAaK,YAGzB5rD,GASC,YAAAspD,eAAV,SAAyBj+B,EAA6Bp1B,EAAeolD,QAAA,IAAAA,OAAA,GAEnE,IADM,IAAEuM,EAA2CrwD,KAA5B,gBAAEmwD,EAA0BnwD,KAAf,YAAE+xB,EAAa/xB,KAAL,SACrCs0D,EAAW,EAAG,EAASxgC,EAAYl1B,OAAQ01D,EAAW,EAAQA,IAAY,CACjF,IAAMN,EAAelgC,EAAYwgC,GAC7B9jC,EAAKxwB,KAAKy0B,aAAau/B,GACvB7D,EAAY3/B,KAEdA,EAAQA,EAAE,IAAI9xB,EAAK,IAAI41D,GAGzB,IAAIj2D,EAASgyD,EAAgB7/B,GAC7B,GAAKnyB,EAGE,CAEL,IAAMk2D,EAAkBv0D,KAAKk0D,WAAWF,GAClCQ,EAAcn2D,EAAOk1B,YACvBvzB,KAAKijD,qBAAuB8M,GAAcwE,EAAiBC,MAC7Dn2D,EAAOsqB,QAAU3oB,KAAKwyB,cAEtBn0B,EAAOikB,OAAOiyC,WAGTlE,EAAgB7/B,QAXvBnyB,EAAS2B,KAAK0sB,cAAcsnC,EAAclQ,GAc5C/xB,EAASzuB,KAAKjF,GACd8xD,EAAY3/B,GAAMnyB,EAGpB,OAAO0zB,GAMC,YAAA0iC,aAAV,WACQ,IAAEpD,EAAkCrxD,KAAvB,YAAEuoB,EAAqBvoB,KAAX,WAAE4J,EAAS5J,KAAL,KAC/B00D,EAAiBnsC,EAAW3e,KAC9B+qD,EAAY,cAAItD,EAAa,CAAC,MAAO,SAgBzC,OAfKsD,IAIDA,EAFqB,UAAnBD,EAEU,QACgB,UAAnBA,EAEG,MACM,aAAT9qD,GAAgC,YAATA,EACpB,WAEA,QAIT+qD,GAMC,YAAAzC,aAAV,WACE,IAAM39B,EAASv0B,KAAKmI,YACZsW,EAAa8V,EAAV,IAAE/V,EAAQ+V,EAAL,IAWhB,OARI9V,GAAO,EACDA,EACCD,GAAO,EAERA,EAEA,GAMJ,YAAAsyC,iBAAR,SAAyB6B,EAAkB1qD,EAA0CQ,GACnF,GAAI,gBAAMR,IAAU,mBAASA,GACvB,mBAASA,IAAU,kBAAQlL,OAAOmN,KAAKjC,GAAQ,CAAC,WAElD,cAAIjI,KAAKowD,gBAAiBuC,EAAU,CAClC7vB,OAAQ76B,EAAMyY,SAGhB,cAAI1gB,KAAKowD,gBAAiBuC,EAAU1qD,OAEjC,CACL,IAAM2sD,EAA2B,GAC7B,mBAAS3sD,GAEX2sD,EAAQl0C,OAAS,CAACzY,GAElB2sD,EAAQ9xB,OAASotB,GAAYjoD,GAG3BQ,IACE,qBAAWA,GACbmsD,EAAQ9iD,SAAWrJ,EAEnBmsD,EAAQl0C,OAASjY,GAIrB,cAAIzI,KAAKowD,gBAAiBuC,EAAUiC,KAIhC,YAAArD,eAAR,sBACUrV,EAAkDl8C,KAAxC,WAAEowD,EAAsCpwD,KAAvB,gBAAEyG,EAAqBzG,KAAhB,MAAEosD,EAAcpsD,KAAL,UACrDA,KAAKw+C,YAAc,GACnB,IAAMkH,EAAS,G,WAGJmP,GACT,GAAIzE,EAAgBlyD,eAAe22D,GAAW,CAC5C,IAAMhW,EAA0BuR,EAAgByE,GAChD,IAAKhW,E,qBAGL,IAAM+V,EAAO,sBACR/V,GAEG/sC,EAAkC8iD,EAA1B,SAAEl0C,EAAwBk0C,EAAlB,OAAE,EAAgBA,EAAL,OAG/BzsC,QAH0B,IAAG,KAAE,GAGf7D,KAAI,SAACrc,GACzB,IAAMihB,EAAQ,EAAKf,OAAOlgB,GAK1B,OAJIihB,EAAM4yB,aAAe4J,EAAOz9C,IAAUm0C,EAAYwD,SAASiV,KAC7D,EAAKrW,YAAYl7C,KAAK4lB,GACtBw8B,EAAOz9C,IAAS,GAEXihB,KAGT0rC,EAAQzsC,OAASA,EAEA,aAAb0sC,GAA6C,IAAlB1sC,EAAOvpB,QAAmC,aAAnBupB,EAAO,GAAGve,KAE9DgrD,EAAQl0C,OAASyH,EAAO,GAAGzH,OACjB5O,GAAa4O,IAEN,SAAbm0C,EACFD,EAAQl0C,OAASja,EAAMquD,MACD,UAAbD,EACTD,EAAQl0C,OAASja,EAAMukB,OAAOohC,IAAc,GACtB,UAAbyI,IACL1sC,EAAOvpB,OAETg2D,EAAQl0C,OAASyH,EAAO,GAAGzH,OAAO9hB,QAAU,GAAK6H,EAAMsuD,SAAWtuD,EAAMuuD,SAExEJ,EAAQl0C,OAASja,EAAMsuD,WAI7B,IAAME,EAAgB,uBAAkBJ,GACxC3Y,EAAW2Y,GAAY,IAAII,EAAcL,KA1C7C,IAAK,IAAMC,KAAYzE,EAAe,C,QAA3ByE,G,qCAgDL,YAAA3sC,YAAR,SAAoBlpB,GAClBgB,KAAK0wD,WAAY,EAMjB,IALQ,IACFwE,EADal1D,KAAK09C,aAAa,YAAvB,OACgBzhB,QAAO,SAAC/S,GAAiB,OAAAA,EAAA,cAEjDisC,EAAen1D,KAAKo1D,UAAUp2D,GAC9Bq2D,EAAe,GACZh5D,EAAI,EAAGgrC,EAAM8tB,EAAav2D,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CAGvD,IAFA,IAAMi5D,EAAUH,EAAa94D,GACvBiC,EAAM,GACH8F,EAAI,EAAGmxD,EAASD,EAAQ12D,OAAQwF,EAAImxD,EAAQnxD,IAAK,CACxD,IAAMw3C,EAAa0Z,EAAQlxD,GACrBuF,EAAO,GAEb,IAAK,IAAMxK,KAAKy8C,EACdjyC,EAAKxK,GAAKy8C,EAAWz8C,GAEvBwK,EAAI,QAAiBiyC,EAGrB,IAAoB,UAAAsZ,EAAA,eAAgB,CAA/B,IAAMhsC,EAAK,KACRjhB,EAAQihB,EAAMjhB,MACpB0B,EAAK1B,GAASihB,EAAMsyB,UAAU7xC,EAAK1B,IAErC3J,EAAIgF,KAAKqG,GAEX0rD,EAAa/xD,KAAKhF,GAGpB,IAAMooD,EAAY1mD,KAAKw1D,WAAWH,GAGlC,OAFAr1D,KAAKuwD,kBAAoB7J,EAElBA,GAID,YAAA8O,WAAR,SAAmB9O,GACjB,IAAMsK,EAAehxD,KAAKgxD,aACtB3yD,EAASqoD,EACb,GAAIsK,EAKF,IAJA,IAAM18B,EAASt0B,KAAKkI,YACdqsB,EAASv0B,KAAKmI,YACd0iB,EAASyJ,EAAOrsB,MAChB6iB,EAASyJ,EAASA,EAAOtsB,MAAQ,KAC9B5L,EAAI,EAAGgrC,EAAM2pB,EAAapyD,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACvD,IAAM+iD,EAAS4R,EAAa30D,GACtB00D,EAAS,oBACblmC,OAAM,EACNC,OAAM,GACHs0B,GAECx1C,EAAOw1C,EAAOx1C,KACpB,GAAa,UAATA,EAAkB,CACpB,IAAM6rD,EAAc,GACpB,GAAInhC,EAAOwnB,YAA8B,aAAhBxnB,EAAO1qB,KAC9B6rD,EAAYnyD,KAAK,SACZ,IAAKixB,EAGV,MAAM,IAAIqK,MAAM,yEAFhB62B,EAAYnyD,KAAK,KAInBytD,EAAU0E,YAAcA,EAExB1E,EAAU2E,WAAa11D,KAAKyG,MAAMkvD,sBAC7B,GAAa,UAAT/rD,EAAkB,CAC3B,IAAM2e,EAAavoB,KAAKuoB,WACxB,IAAKgM,EAAQ,CAEXw8B,EAAUzqD,OAASiiB,EAAWqM,YAC9B,IAAMiW,EAAO7qC,KAAK0yD,gBAAgB,SAAW,EAC7C3B,EAAUlmB,KAAOA,GAGdtiB,EAAW8X,cAAgB,gBAAM0wB,EAAU6E,gBAC9C7E,EAAU6E,cAAe,GAG7B,IACMC,EAAiB,IADJhD,GAAejpD,GACX,CAAemnD,GAEtC1yD,EAASw3D,EAAeC,QAAQz3D,GAEhC2B,KAAKwwD,QAAQ5mD,GAAQisD,EAIzB,OAAOx3D,GAID,YAAA+2D,UAAR,SAAkBp2D,GAKhB,IAJA,IAAMw/C,EAAcx+C,KAAKy+C,iBACnBuK,EAAYhpD,KAAKgpD,UACjB+M,EAAmB,GACnBvC,EAAc,GACX90D,EAAQ,EAAGA,EAAQ8/C,EAAY5/C,OAAQF,IAAS,CACvD,IACMuJ,EADQu2C,EAAY9/C,GACNuJ,MACpBurD,EAAYlwD,KAAK2E,GACb,cAAI+gD,EAAW,CAAC/gD,EAAO,aAEzB8tD,EAAiB9tD,GAAS+gD,EAAU/gD,GAAOyY,QAI/C,OCvlDE,SAAgB1hB,EAAY8jC,EAAkBizB,GAClD,QADkD,IAAAA,MAAA,KAC7CjzB,EACH,MAAO,CAAC9jC,GAEV,IAAMg3D,EAAS,qBAAWh3D,EAAM8jC,GAC1BtH,EAAQ,GACd,GAAsB,IAAlBsH,EAAOlkC,QAAgBm3D,EAAiBjzB,EAAO,IAEjD,IADA,IACoB,MADLizB,EAAiBjzB,EAAO,IACnB,eAAQ,CAAvB,IACGxkC,EAAM03D,EAAO,IADL,MAEV13D,GAEFk9B,EAAMl4B,KAAKhF,QAIf,IAAK,IAAMa,KAAK62D,EACd,GAAIA,EAAO93D,eAAeiB,GAAI,CAC5B,IAAM0yD,EAAYmE,EAAO72D,GACzBq8B,EAAMl4B,KAAKuuD,GAKjB,OAAOr2B,ED+jDE,CAAMx8B,EAAMw0D,EAAauC,IAI1B,YAAAnC,iBAAR,SAAyB1qC,EAAcw9B,GAKrC,IAJA,IAAMuP,EAAa,kBAAQvP,GACrBz+C,EAAQihB,EAAMjhB,MAChBwW,EAAMyK,EAAMzK,IACZD,EAAM0K,EAAM1K,IACP9f,EAAQ,EAAGA,EAAQu3D,EAAWr3D,OAAQF,IAAS,CACtD,IAAMO,EAAMg3D,EAAWv3D,GACjBw3D,EAAS/mD,KAAKsP,IAAIpe,MAAM,KAAMpB,EAAIgJ,IAClCkuD,EAAShnD,KAAKqP,IAAIne,MAAM,KAAMpB,EAAIgJ,IACpCiuD,EAASz3C,IACXA,EAAMy3C,GAEJC,EAAS33C,IACXA,EAAM23C,GAGV,IAAMnN,EAAYhpD,KAAKgpD,UACjBvgD,EAAmB,GACrBgW,EAAMyK,EAAMzK,MAAQ,cAAIuqC,EAAW,CAAC/gD,EAAO,UAE7CQ,EAAIgW,IAAMA,GAERD,EAAM0K,EAAM1K,MAAQ,cAAIwqC,EAAW,CAAC/gD,EAAO,UAE7CQ,EAAI+V,IAAMA,GAGZ0K,EAAMi5B,OAAO15C,IAIP,YAAAkpD,cAAR,SAAsBpB,GAGpB,IAAMhvC,EAASgvC,EAIf,GAHIvwD,KAAK2wD,UACP3wD,KAAKo6B,KAAK7Y,GAERvhB,KAAKswD,eAEP,IAAK,IAAI5xD,EAAQ,EAAG,EAAS6iB,EAAO3iB,OAAQF,EAAQ,EAAQA,IAAS,CACnE,IAAM03D,EAAc70C,EAAO7iB,GAC3BsB,KAAKq2D,oBAAoBD,GACzB,IAAME,EAAW/0C,EAAO7iB,EAAQ,GAC5B43D,IACFt2D,KAAKq2D,oBAAoBC,GACzBF,EAAY,GAAG/B,WAAaiC,EAAS,GAAGn8B,QAK9C,OAAO5Y,GAID,YAAA80C,oBAAR,SAA4Br3D,GAG1B,IAFA,IAAMktD,EAAelsD,KAAK4M,kBACpB2pD,EAAYv2D,KAAK09C,aAAa,SAC3Bh/C,EAAQ,EAAGA,EAAQM,EAAKJ,OAAQF,IAAS,CAChD,IAAMO,EAAMD,EAAKN,GACX+J,EAAMzI,KAAK6zD,qBAAqB50D,GAChCsR,EAAQgmD,EAAYv2D,KAAK4yD,mBAAmB2D,EAAWt3D,GAAO,KAC9Dk7B,EAAS+xB,EAAa0C,eAAer+C,EAAO9H,GAClDxJ,EAAIk7B,OAASA,IAKT,YAAA25B,gBAAR,SAAwBpzC,EAAQwI,GAC9B,IAAIhqB,EAAM,GACV,GAAI,kBAAQwhB,GACV,IAAK,IAAIhiB,EAAQ,EAAGA,EAAQgiB,EAAO9hB,OAAQF,IAAS,CAClD,IAAMpB,EAAQojB,EAAOhiB,GACrBQ,EAAIoE,KAAK4lB,EAAMA,MAAM5rB,SAGvB4B,EAAMgqB,EAAMA,MAAMxI,GAEpB,OAAOxhB,GAID,YAAA4yD,QAAR,SAAgB9yD,GAGd,IAFA,IAAMk9C,EAAal8C,KAAKk8C,WAClBpoB,EAAc,GACXp1B,EAAQ,EAAGA,EAAQM,EAAKJ,OAAQF,IAAS,CAChD,IAAMmuC,EAAS7tC,EAAKN,GACd83D,EAA0B,CAC9BniC,QAASwY,EAAM,QACf1S,OAAQ0S,EAAO1S,OACfk6B,WAAYxnB,EAAOwnB,YAErB,IAAK,IAAMl1D,KAAK+8C,EACd,GAAIA,EAAWh+C,eAAeiB,GAAI,CAChC,IAAM0zB,EAAOqpB,EAAW/8C,GAClBs3D,EAAQ5jC,EAAK4jC,MACb/1C,EAAS1gB,KAAK4yD,mBAAmB//B,EAAMga,GAC7C,GAAI4pB,EAAM73D,OAAS,EAEjB,IAAK,IAAIwF,EAAI,EAAGA,EAAIsc,EAAO9hB,OAAQwF,GAAK,EAAG,CACzC,IAAMsyD,EAAMh2C,EAAOtc,GAEnBoyD,EADaC,EAAMryD,IACD,kBAAQsyD,IAAuB,IAAfA,EAAI93D,OAAe83D,EAAI,GAAKA,OAKhEF,EAAUC,EAAM,IAAwB,IAAlB/1C,EAAO9hB,OAAe8hB,EAAO,GAAKA,EAK9D1gB,KAAK0pC,aAAa8sB,GAClB1iC,EAAYxwB,KAAKkzD,GAGnB,OAAO1iC,GAID,YAAA4V,aAAR,SAAqBitB,GACX,IAEJC,EACAC,EACA53D,EAJI+K,EAAS2sD,EAAR,EAAEl0D,EAAMk0D,EAAL,EAKNpuC,EAAavoB,KAAKuoB,WACxB,GAAI,kBAAQve,IAAM,kBAAQvH,GAAI,CAC5Bm0D,EAAO,GACPC,EAAO,GACP,IAAK,IAAIx6D,EAAI,EAAG+H,EAAI,EAAG0yD,EAAO9sD,EAAEpL,OAAQm4D,EAAOt0D,EAAE7D,OAAQvC,EAAIy6D,GAAQ1yD,EAAI2yD,EAAM16D,GAAK,EAAG+H,GAAK,EAC1FnF,EAAMspB,EAAWgY,QAAQ,CACvBv2B,EAAGA,EAAE3N,GACLoG,EAAGA,EAAE2B,KAEPwyD,EAAKtzD,KAAKrE,EAAI+K,GACd6sD,EAAKvzD,KAAKrE,EAAIwD,QAEX,GAAI,kBAAQA,GAAI,CACrBo0D,EAAO,GACP,IAAK,IAAIn4D,EAAQ,EAAGA,EAAQ+D,EAAE7D,OAAQF,IAAS,CAC7C,IAAMy0D,EAAO1wD,EAAE/D,GACfO,EAAMspB,EAAWgY,QAAQ,CACvBv2B,EAAGA,EACHvH,EAAG0wD,IAEDyD,GAAQA,IAAS33D,EAAI+K,GAClB,kBAAQ4sD,KACXA,EAAO,CAACA,IAEVA,EAAKtzD,KAAKrE,EAAI+K,IAEd4sD,EAAO33D,EAAI+K,EAEb6sD,EAAKvzD,KAAKrE,EAAIwD,SAEX,GAAI,kBAAQuH,GAAI,CACrB4sD,EAAO,GACP,IAASl4D,EAAQ,EAAGA,EAAQsL,EAAEpL,OAAQF,IAAS,CAC7C,IAAMw0D,EAAOlpD,EAAEtL,GACfO,EAAMspB,EAAWgY,QAAQ,CACvBv2B,EAAGkpD,EACHzwD,EAAC,IAECo0D,GAAQA,IAAS53D,EAAIwD,GAClB,kBAAQo0D,KACXA,EAAO,CAACA,IAEVA,EAAKvzD,KAAKrE,EAAIwD,IAEdo0D,EAAO53D,EAAIwD,EAEbm0D,EAAKtzD,KAAKrE,EAAI+K,QAEX,CACL,IAAM2mB,EAAQpI,EAAWgY,QAAQ,CAC/Bv2B,EAAC,EACDvH,EAAC,IAEHm0D,EAAOjmC,EAAM3mB,EACb6sD,EAAOlmC,EAAMluB,EAEfk0D,EAAc3sD,EAAI4sD,EAClBD,EAAcl0D,EAAIo0D,GAIZ,YAAAzC,YAAR,SAAoBlD,EAA0BtV,GACpC,MAA+BsV,EAApB,OAAXpuB,OAAM,IAAG,KAAE,EAAEhxB,EAAkBo/C,EAAV,SAAEzoD,EAAQyoD,EAAL,IAClC,GAAIzoD,EAEF,OAAOA,EAGT,IAAMulC,EAASlL,EAAOxe,KAAI,SAACrc,GACzB,OAAO2zC,EAAW3zC,MAGpB,OAAO6J,EAAQ,aAAIk8B,IAGb,YAAAsjB,OAAR,SAAe7oD,GAAf,WACU8f,EAAuC9f,EAA7B,WAAEzJ,EAA2ByJ,EAAvB,KAAEhC,EAAqBgC,EAAhB,MAAEugD,EAAcvgD,EAAL,UACtC8f,IACFvoB,KAAKuoB,WAAaA,GAEhBvpB,IACFgB,KAAKhB,KAAOA,GAEVgqD,IACFhpD,KAAKgpD,UAAYA,EACjBhpD,KAAKywD,SAAW,GAChB,eAAKzH,GAAW,SAACxpB,EAAUv3B,GACrBu3B,GAAYA,EAAS5hC,KACvB,EAAK6yD,SAASntD,KAAK2E,OAIrBxB,IACFzG,KAAKyG,MAAQzG,KAAK4wD,UAAY,kBAAQ,GAAInqD,EAAOzG,KAAK4wD,WAAanqD,IAI/D,YAAA6rD,aAAR,SAAqBV,EAA8B9N,QAAA,IAAAA,OAAA,GACjD,IAAI0O,EAAgBxyD,KAAKwyD,cAEpBA,IAIHA,EAAgB,IADWlE,GADTtuD,KAAKy0D,gBAEP,CAAuBz0D,MACvCA,KAAKwyD,cAAgBA,GAEvBA,EAAclpD,OAAOsoD,EAAc9N,GAGnC,IAAMkT,EAAYxE,EAAcyE,eAAeC,UAC/C,eAAKl3D,KAAKmwD,aAAa,SAACn+B,EAAkBxB,GACxC,IAAM7K,EAntDZ,SAA0B6K,EAAYwmC,GACpC,IAAMrxC,EAAS,GAQf,OAPA,eAAKqxC,GAAW,SAACp0D,EAAe4xB,GACZA,EAAQvH,MAAM,KAAK,KACnBuD,GAChB7K,EAAOriB,KAAKV,MAIT+iB,EA0sDYwxC,CAAiB3mC,EAAIwmC,GACpC,GAAIrxC,EAAO/mB,OAAQ,CACjBozB,EAAQ46B,WAAajnC,EACrB,IAAK,IAAItpB,EAAI,EAAGA,EAAIspB,EAAO/mB,OAAQvC,IAGjC,IAFA,IACM+6D,EADQzxC,EAAOtpB,GACOg7D,cACnBjzD,EAAI,EAAGA,EAAIgzD,EAAcx4D,OAAQwF,IAAK,CAC7C,IAAMgf,EAAQg0C,EAAchzD,GAC5Bgf,EAAM3a,IAAI7L,KAAO,CAAC,UAAW,SAC7BwmB,EAAM3a,IAAIupB,QAAUA,QActB,YAAAggC,oBAAR,SAA4BlO,GAC1B,OACGA,GACD9jD,KAAKwyB,qBACkC/uB,IAAtC,cAAIzD,KAAKwyB,cAAe,WACtB,cAAIxyB,KAAKwyB,cAAe,gBAAkE/uB,IAArD,cAAIzD,KAAKwyB,cAAe,CAAC,SAAU,gBAGjF,EAnuDA,CAAsC,GEtIhC8kC,GAAyD,MAAIA,UAU7D,SAAU9b,GAAUxpB,EAA0BhoB,EAAWvH,GAC7D,IAAM8zB,EAAS+gC,GAAUtlC,EAAQulC,YAAa,CAAC,CAAC,IAAKvtD,EAAGvH,KACxDuvB,EAAQwlC,UAAUjhC,GAQd,SAAU+oB,GAAOttB,EAA0BylC,GACzC,MAAWzlC,EAAQa,OAAjB7oB,EAAC,IAAEvH,EAAC,IACN8zB,EAAS+gC,GAAUtlC,EAAQulC,YAAa,CAC5C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAKg1D,GACN,CAAC,IAAKztD,EAAGvH,KAEXuvB,EAAQwlC,UAAUjhC,GCPpB,I,GAAA,WAcE,WAAY9tB,GAHL,KAAAyuD,UAAoC,GACnC,KAAAQ,cAAwC,GAGtC,IAAAtW,EAAsB34C,EAAhB,OAAE3C,EAAc2C,EAAL,UAEzBzI,KAAKohD,OAASA,EACdphD,KAAK8F,UAAYA,EAgQrB,OA1PS,YAAAwD,OAAP,SAAckqB,EAAoBxI,EAAyC84B,GAA3E,gBAA2E,IAAAA,OAAA,GACzE9jD,KAAKk3D,UAAY,GACjB,IAAMpxD,EAAY9F,KAAK8F,UACjBqmD,EAAiBnsD,KAAK23D,uBAC5B,GAAInkC,EAAM50B,OAAQ,CAGhB,IAAmB,UAAA40B,EAAA,eAAO,CAArB,IAAM7pB,EAAI,KACTA,GACF3J,KAAK43D,YAAYjuD,EAAMwiD,GAI3BnsD,KAAK4nD,SAASp0B,EAAOxI,GAErBhrB,KAAK63D,gBAAgBrkC,GAErBxzB,KAAKmyB,YAAYqB,GAInB,IAAMkkC,EAAgB13D,KAAK03D,cACrBR,EAAYl3D,KAAKk3D,UACvB,eAAKA,GAAW,SAAC3mD,EAAOigB,GACtB,GAAIjgB,EAAMxJ,iBAEDmwD,EAAU1mC,OACZ,CACL,GAAIknC,EAAclnC,GAAK,CAErB,IAAM,EAAOjgB,EAAMrT,IAAI,QACjB,EAASqT,EAAMrT,IAAI,UACnB,EAAaqT,EAAMrT,IAAI,cACvB46D,EAAeJ,EAAclnC,GAC7B,EAAoBjgB,EAAMrT,IAAI,cACpC46D,EAAalyD,IAAI,OAAQ,GACzBkyD,EAAalyD,IAAI,SAAU,GAC3BkyD,EAAalyD,IAAI,aAAc,GAC/BkyD,EAAalyD,IAAI,aAAc,GAE/B,IAAM,EAAmB,cAAI,EAAmB,UAC1C,EAAkBkyD,EAAaT,cACrC9mD,EAAM8mD,cAAc/yC,KAAI,SAAClB,EAAO1kB,GAC9B,IAAMq5D,EAAe,EAAgBr5D,GACrCq5D,EAAanyD,IAAI,OAAQ,GACzBmyD,EAAanyD,IAAI,SAAU,GAC3BmyD,EAAanyD,IAAI,aAAc,GAC/BmyD,EAAanyD,IAAI,aAAc,GAE/B,IAAMqgC,EAAWJ,GAAgBkyB,EAAc30C,GAC3C,EACFpV,GAAU+pD,EAAc,EAAkB,CACxCjlC,QAASmT,EACT1d,WAAU,IAGZwvC,EAAallC,KAAKoT,MAItB,EAAKixB,UAAU1mC,GAAMsnC,MAChB,CAELhyD,EAAU0iC,IAAIj4B,GAEd,IAAMgiB,EAAa,cAAIhiB,EAAMrT,IAAI,cAAe4mD,EAAW,QAAU,UACjEvxB,GACFvkB,GAAUuC,EAAOgiB,EAAY,CAC3BO,QAAS,OAAF,WAAE,CAAF,GACFviB,EAAMsiB,QAEXtK,WAAYhY,EAAMrT,IAAI,uBAIrBw6D,EAAclnC,OAKzB,eAAKknC,GAAe,SAACM,GACnB,IAAMzlC,EAAa,cAAIylC,EAAY96D,IAAI,cAAe,SAClDq1B,EACFvkB,GAAUgqD,EAAazlC,EAAY,CACjCO,QAAS,KACTvK,WAAYyvC,EAAY96D,IAAI,gBAG9B86D,EAAYltD,QAAO,MAIvB9K,KAAK03D,cAAgBR,EACrB/K,EAAe/kD,WAIV,YAAAyhB,MAAP,WACE7oB,KAAK8F,UAAU+iB,QACf7oB,KAAKk3D,UAAY,GACjBl3D,KAAK03D,cAAgB,IAIhB,YAAAtwD,QAAP,WACEpH,KAAK8F,UAAUsB,UACfpH,KAAKk3D,UAAY,KACjBl3D,KAAK03D,cAAgB,MAGf,YAAAE,YAAR,SAAoBnvD,EAAgB3C,GAC1B,IAcJ8mD,EAdIp8B,EAAwD/nB,EAAtD,GAAEzJ,EAAoDyJ,EAAhD,KAAEqrB,EAA8CrrB,EAAnC,YAAE8f,EAAiC9f,EAAvB,WAAEkgB,EAAqBlgB,EAAd,QAAEwvD,EAAYxvD,EAAL,QACrDyvD,EAAiB,CACrB1nC,GAAE,EACFxxB,KAAI,EACJo1B,OAAQN,EACRvL,WAAU,GAEN4vC,EAAaryD,EAAU4jB,SAAQ,oBACnC9sB,KAAM,QAEN21B,YACmB,IAAjBvyB,KAAK2oB,SAAiC,OAAZA,IAAgC,IAAZA,GAA4B,kBAAQ,GAAI3oB,KAAK2oB,QAASA,IACnGuvC,IAGL,GAAKD,EAAQhK,SAAWgK,EAAQhK,WAAegK,EAAQG,SAAWH,EAAQG,UAAY,CAE9E,MAAoBH,EAAQhtB,gBAA1B5kC,EAAK,QAAEC,EAAM,SACfypB,EAAY,cAAItnB,EAAK,YAAa,QAEpCuB,EAAIvB,EAAIuB,EAGM,WAAd+lB,EACF/lB,GAAQ3D,EAAQ,EACO,UAAd0pB,GAAuC,QAAdA,IAClC/lB,GAAQ3D,GAGVm1C,GAAUyc,EAASjuD,EARTvB,EAAIhG,EAAI6D,EAAS,GAS3BsmD,EAAaqL,EACbE,EAAW3vB,IAAIyvB,QAEfrL,EAAauL,EAAWjlC,SAAS,OAAM,oBACrCb,MAAO,OAAF,WAAE,CAAF,CACHroB,EAAGvB,EAAIuB,EACPvH,EAAGgG,EAAIhG,EACPstB,UAAWtnB,EAAIsnB,UACfC,aAAc,cAAIvnB,EAAK,eAAgB,UACvC4d,KAAM5d,EAAIwvD,SACPxvD,EAAIG,QAENsvD,IAIHzvD,EAAI62C,QACNA,GAAOsN,EAAYnkD,EAAI62C,QAEzBt/C,KAAKk3D,UAAU1mC,GAAM2nC,GAIf,YAAAvQ,SAAR,SAAiBp0B,EAAoBxI,GAArC,WACE,GAAIhrB,KAAKohD,OAAQ,CACf,IAAMiX,EAAU,kBAAQr4D,KAAKohD,QAAUphD,KAAKohD,OAAS,CAACphD,KAAKohD,QAC3D,eAAKiX,GAAS,SAACjX,GACb,IAAMsN,EAAWF,GAAuB,cAAIpN,EAAQ,OAAQ,KAC5D,GAAIsN,EAAU,CACZ,IAAM,EAAc,GACd,EAAiB,GACvB,eAAK,EAAKwI,WAAW,SAACtK,EAAYp8B,GAChC,EAAYltB,KAAKspD,GACjB,EAAetpD,KAAK0nB,EAAOwF,OAG7Bk+B,EAASl7B,EAAO,EAAa,EAAgB,EAAKjK,OAAQ63B,EAAO34C,WAMjE,YAAAovD,gBAAR,SAAwBS,GAAxB,WACE,eAAKA,GAAY,SAACC,GAChB,IAAMhwC,EAAyB,cAAIgwC,EAAW,cAC9C,GAAKA,GAAchwC,EAAnB,CAGA,IAAMmH,EAASnH,EAAWke,YACpBzF,EAASzY,EAAWge,YAC1B,GAAKgyB,EAAUC,UAAf,CAIA,IAAMC,EAAe,cAAIF,EAAW,YAAa,IAC3C/nC,EAAK+nC,EAAU/nC,GACjBhB,EAAOipC,EAAajpC,KACxB,IAAKA,EAAM,CACT,IAAMpP,EAAQqkB,GAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAAQu3B,EAAUphC,OACrE3H,EAAO,CACL,CAAC,IAAKpP,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAK81D,EAAUvuD,EAAGuuD,EAAU91D,IAGjC,IAAM01D,EAAa,EAAKjB,UAAU1mC,GAC7B2nC,EAAWpxD,WACdoxD,EAAWjlC,SAAS,OAAQ,CAC1BwlC,SAAS,EACTrmC,MAAO,OAAF,WAAE,CAAF,CACH7C,KAAI,EACJc,OAAQioC,EAAU/6C,MAAQ+6C,EAAU/6C,MAAQ,cAAI+6C,EAAW,CAAC,QAAS,QAAS,QAC9E1oC,KAAM,MACH4oC,EAAa7vD,OAElB4nB,GAAE,EACF4D,OAAQmkC,EAAUzkC,YAClB90B,KAAMu5D,EAAUv5D,KAChBupB,WAAYgwC,EAAUhwC,mBAMtB,YAAAovC,qBAAR,WAIE,OADiB,IAFC33D,KAAK8F,UACMkoD,eACZ,CAAe,KAI1B,YAAA77B,YAAR,SAAoBqB,GAApB,WACE,eAAKA,GAAO,SAAC7pB,GACX,GAAIA,EAAM,CACR,IAAM6mB,EAAK7mB,EAAK6mB,GACV2nC,EAAa,EAAKjB,UAAU1mC,GAClC,IAAK2nC,EAAWpxD,UAAW,CACzB,IAAM6lD,EAAauL,EAAWjqB,MAAK,SAACqc,GAAQ,eAAAA,EAAIrtD,IAAI,WAChD0vD,IACEjjD,EAAKwjB,SACPy/B,EAAW/5B,KAAK,IAAK+5B,EAAW/5B,KAAK,KAAOlpB,EAAKwjB,SAE/CxjB,EAAKyjB,SACPw/B,EAAW/5B,KAAK,IAAK+5B,EAAW/5B,KAAK,KAAOlpB,EAAKyjB,gBAO/D,EAlRA,GCIA,I,GAAA,WAOE,WAAY2B,GACV/uB,KAAK+uB,SAAWA,EA0XpB,OAvXS,YAAA4pC,cAAP,SAAqBC,GAArB,WACQplC,EAAQ,GACRqlC,EAAY74D,KAAK84D,aAAaF,GAiCpC,OA/BA,eAAKA,GAAe,SAAC9kC,EAA2Bp1B,GAC9C,IAAMq6D,EAAWF,EAAUn6D,GAC3B,IAAKq6D,GAAY,gBAAMjlC,EAAY9pB,IAAM,gBAAM8pB,EAAYrxB,GACzD+wB,EAAMlwB,KAAK,UADb,CAKA,IAAM01D,EAAgB,kBAAQD,EAASd,SAAgCc,EAASd,QAA9B,CAACc,EAASd,SAC5Dc,EAASd,QAAUe,EACnB,IAAMC,EAAQD,EAAap6D,OAC3B,eAAKo6D,GAAc,SAACf,EAAS3D,GAC3B,GAAI,gBAAM2D,IAAwB,KAAZA,EACpBzkC,EAAMlwB,KAAK,UADb,CAKA,IAAMqG,EAAO,OAAH,WAAG,CAAH,sBACLovD,GACA,EAAKG,cAAcH,EAAUjlC,EAAawgC,IAE1C3qD,EAAKomB,YACRpmB,EAAKomB,UAAY,EAAKopC,cAAcxvD,EAAM2qD,EAAU2E,IAGlDtvD,EAAKid,QAAU,IACjBjd,EAAK6uD,UAAY,MAGnBhlC,EAAMlwB,KAAKqG,WAGR6pB,GAGF,YAAAlqB,OAAP,SAAcsvD,EAA+B9U,QAAA,IAAAA,OAAA,GAC3C,IAAMwU,EAAat4D,KAAK24D,cAAcC,GAEhC3B,EAAiBj3D,KAAKo5D,oBACtBpuC,EAAShrB,KAAKq5D,oBAEpBpC,EAAe3tD,OAAOgvD,EAAYttC,EAAQ84B,IAGrC,YAAAj7B,MAAP,WACE,IAAMouC,EAAiBj3D,KAAKi3D,eACxBA,GACFA,EAAepuC,SAIZ,YAAAzhB,QAAP,WACE,IAAM6vD,EAAiBj3D,KAAKi3D,eACxBA,GACFA,EAAe7vD,UAEjBpH,KAAKi3D,eAAiB,MAIjB,YAAAvlC,cAAP,WACE,OAAO1xB,KAAK+uB,SAASxG,YAMb,YAAA+wC,mBAAV,WACE,OAAO,cAAIt5D,KAAK+uB,SAAStoB,MAAO,SAAU,KAUlC,YAAA8yD,iBAAV,SACEC,EACA1lC,EACAp1B,EACA6nB,KAQQ,YAAAmN,iBAAV,SAA2B9M,GACzB,IAAM2B,EAAavoB,KAAK0xB,gBAClB+E,EAASz2B,KAAKy5D,gBAAgB7yC,GACpC,OAAO2B,EAAW8X,aAAe5J,EAAO,GAAKA,EAAO,IAU5C,YAAA7C,eAAV,SAAyBmlC,EAAoBr6D,EAAeu6D,GAC1D,IAAMryC,EAAS5mB,KAAK0zB,iBAAiBqlC,EAASnyC,QAExCwiB,EADappC,KAAK0xB,gBACM2O,aACxBlU,EAAMid,EAAa,IAAM,IACzBjV,EAASiV,EAAa,GAAK,EAC3BzV,EAAc,CAClB3pB,EAAG,EACHvH,EAAG,GAQL,OAJEkxB,EAAYxH,GAFVztB,EAAQ,GAAe,IAAVu6D,EAEIryC,EAASuN,EAETvN,EAASuN,GAAU,EAEjCR,GAUC,YAAAulC,cAAV,SAAwBH,EAAoBjlC,EAA2Bp1B,GACrE,IAAM6pB,EAAavoB,KAAK0xB,gBAClBunC,EAAQF,EAASd,QAAQr5D,OAE/B,SAAS86D,EAAYp8D,EAAO6L,GAC1B,IA/JO7K,EACP43B,EA8JIhzB,EAAI5F,EAaR,OAZI,kBAAQ4F,KACsB,IAA5B61D,EAASd,QAAQr5D,OAEfsE,EAAEtE,QAAU,EACdsE,EAAIA,EAAE5F,EAAMsB,OAAS,IApKpBN,EAsKO4E,EArKdgzB,EAAM,EACV,eAAK53B,GAAK,SAAChB,GACT44B,GAAO54B,KAmKC4F,EAjKHgzB,EAAM53B,EAAIM,QAoKTsE,EAAIA,EAAEiG,IAGHjG,EAGT,IAAMN,EAAQ,CACZq1D,QAASc,EAASd,QAAQv5D,GAC1BsL,EAAG,EACHvH,EAAG,EACH2d,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAClB+a,MAAO,QAGT,GAAIsW,GAAsC,YAAvB9zB,KAAK+uB,SAASnlB,KAAoB,CACnD,IAAM+vD,ExCrBN,SAA6BC,EAAuBC,GACxD,GAAI,mBAASD,IAAO,mBAASC,GAE3B,MAAO,CAACD,EAAIC,GASd,IAPA,IAGIC,EAEA5yB,EALA7qC,GAAK,EACL2N,EAAI,EACJvH,EAAI,EAEJs3D,EAAWH,EAAgBh7D,OAAS,EAEpCO,EAAI,IACC9C,EAAKu9D,EAAgBh7D,QAC5Bk7D,EAASC,EACTA,EAAU19D,EACV8C,GAAK+nC,EAAO0yB,EAAGE,GAAUD,EAAGE,GAAWH,EAAGG,GAAWF,EAAGC,GACxD9vD,IAAM4vD,EAAGE,GAAUF,EAAGG,IAAY7yB,EAClCzkC,IAAMo3D,EAAGC,GAAUD,EAAGE,IAAY7yB,EAGpC,MAAO,CAACl9B,GADR7K,GAAK,GACUsD,EAAItD,GwCCE66D,CAAmBlmC,EAAY9pB,EAAG8pB,EAAYrxB,GAC/DG,EAAMoH,EAAI2vD,EAAS,GACnB/2D,EAAMH,EAAIk3D,EAAS,QAEnB/2D,EAAMoH,EAAI0vD,EAAY5lC,EAAY9pB,EAAGtL,GACrCkE,EAAMH,EAAIi3D,EAAY5lC,EAAYrxB,EAAG/D,GAIvC,IAAM6R,EAAQ,kBAAQujB,EAAYvjB,OAASujB,EAAYvjB,MAAM,GAAKujB,EAAYvjB,MAC9E,GAAc,WAAVA,GAAgC,YAAVA,EAAqB,CAC7C,IAAM8jD,EAAa,cAAIvgC,EAAa,cAC9BqG,EAAS,cAAIrG,EAAa,UAChC,GAAIugC,EAAY,CAEd,IAAM4F,EAAS1xC,EAAWgY,QAAQpG,EAAO,IACnC+/B,EAAS3xC,EAAWgY,QAAQ8zB,EAAW,IAC7CzxD,EAAMoH,GAAKiwD,EAAOjwD,EAAIkwD,EAAOlwD,GAAK,EAClCpH,EAAMH,GAAKw3D,EAAOx3D,EAAIy3D,EAAOz3D,GAAK,OAC7B,GAAc,YAAV8N,EAAqB,CACxB0pD,EAAS1xC,EAAWgY,QAAQpG,EAAO,IACnC+/B,EAAS3xC,EAAWgY,QAAQpG,EAAO,IACzCv3B,EAAMoH,GAAKiwD,EAAOjwD,EAAIkwD,EAAOlwD,GAAK,EAClCpH,EAAMH,GAAKw3D,EAAOx3D,EAAIy3D,EAAOz3D,GAAK,GAIlCs2D,EAASxyC,UAEXvmB,KAAKu5D,iBAAiB32D,EAAOkxB,EAAap1B,EAAOq6D,EAASxyC,UAE5D,IAAMoN,EAAc3zB,KAAK4zB,eAAemlC,EAAUr6D,EAAOu6D,GAKzD,OAJAr2D,EAAMwd,MAAQ,CAAEpW,EAAGpH,EAAMoH,EAAGvH,EAAGG,EAAMH,GACrCG,EAAMoH,GAAK2pB,EAAY3pB,EACvBpH,EAAMH,GAAKkxB,EAAYlxB,EACvBG,EAAM4a,MAAQsW,EAAYtW,MACnB5a,GAUC,YAAAu2D,cAAV,SAAwBxvD,EAAiBjL,EAAeu6D,GACtD,IAAIkB,EAAmB,SAEvB,GADmBn6D,KAAK0xB,gBACT2O,aAAc,CAC3B,IAAMzZ,EAAS5mB,KAAK0zB,iBAAiB/pB,EAAKid,QAExCuzC,EADEvzC,EAAS,EACH,QACY,IAAXA,EACD,SAEA,OAENqyC,EAAQ,GAAe,IAAVv6D,IACD,UAAVy7D,EACFA,EAAQ,OACW,SAAVA,IACTA,EAAQ,UAId,OAAOA,GAOC,YAAApmC,WAAV,SAAqBD,GACnB,IAAM/E,EAAW/uB,KAAK+uB,SAChBnlB,EAAOmlB,EAASnlB,KAChB0qB,EAASvF,EAAS7mB,YAClBqsB,EAASxF,EAAS5mB,YAClBisB,EAASN,EAAW,QAEtBU,EAAUzF,EAAS0F,aAAaX,GASpC,MARa,SAATlqB,GAA4B,SAATA,EAErB4qB,GAAW,IAAIJ,EAAOE,EAAOrsB,OACX,SAAT2B,IAET4qB,GAAW,IAAIJ,EAAOE,EAAOrsB,OAAM,IAAImsB,EAAOG,EAAOtsB,QAGhDusB,GAID,YAAA4kC,kBAAR,WACQ,MAAgEp5D,KAAK+uB,SAAnEC,EAAe,kBAAEqiC,EAAW,cAAEvH,EAAY,eAAEt3B,EAAa,gBAC3DjK,EAAavoB,KAAK+uB,SAASxG,WAE7B0uC,EAAiBj3D,KAAKi3D,eAc1B,OAbKA,IACHA,EAAiB,IAAI,GAAO,CAC1BnxD,UAAWkpB,EACXoyB,OAAQ,cAAIiQ,EAAa,CAAC,MAAO,UAAW,CAC1CznD,KAAM5J,KAAKkgD,kBAGflgD,KAAKi3D,eAAiBA,GAExBA,EAAe1tC,OAASugC,EAExBmN,EAAetuC,UAAU6J,GAAgBzkB,GAAqB,QAASwa,GAEhE0uC,GAGD,YAAA6B,aAAR,SAAqBF,GAArB,WACQ7pC,EAAW/uB,KAAK+uB,SAChBqrC,EAAkBp6D,KAAKs5D,qBACrB1vD,EAAiDmlB,EAA7C,KAAEtoB,EAA2CsoB,EAAtC,MAAEsiC,EAAoCtiC,EAAzB,YAAE5G,EAAuB4G,EAAjB,OAAExG,EAAewG,EAAL,WAC9C,EAA4BsiC,EAA1BvuB,EAAM,SAAEhxB,EAAQ,WAAErJ,EAAG,MACvB4xD,EAAcv3B,EAAOxe,KAAI,SAACrc,GAC9B,OAAOkgB,EAAOlgB,MAGV4wD,EAAwB,GA8C9B,OA7CA,eAAKD,GAAe,SAAC9kC,EAA2Bp1B,GAC9C,IAEI47D,EAFElmC,EAASN,EAAW,QACpBymC,EAAa,EAAKC,aAAapmC,EAAQimC,GAE7C,GAAIvoD,EAAU,CAEZ,IAAM2oD,EAAe33B,EAAOxe,KAAI,SAACrc,GAAkB,OAAAmsB,EAAA,MAEnD,GADAkmC,EAAcxoD,EAAQ,aAAI2oD,GACtB,gBAAMH,GAER,YADAzB,EAAUv1D,KAAK,MAKnB,IAAIy1D,EAAW,OAAH,WAAG,CAAH,oBACVvoC,GAAI,EAAKuD,WAAWD,GACpB90B,KAAMo1B,EACNN,YAAW,EACXvL,WAAU,GACP9f,GACA6xD,GAGCrC,EAAUc,EAASd,QACrB,qBAAWA,GACbc,EAASd,QAAUA,EAAQ7jC,EAAQN,EAAap1B,GACvC,sBAAYu5D,KAErBc,EAASd,QAAUsC,EAAW,IAG5B,qBAAWxB,EAASxyC,YACtBwyC,EAASxyC,SAAWwyC,EAASxyC,SAAS6N,EAAQN,EAAap1B,IAK3Dq6D,EAFW,YAATnvD,GAAuBmvD,EAASnyC,OAAS,IAAM,CAAC,OAAQ,QAAS,QAAQg5B,SAASh2C,GAEzE,kBAAQ,GAAIwwD,EAAiB3zD,EAAMi0D,YAAa3B,GAEhD,kBAAQ,GAAIqB,EAAiB3zD,EAAMkf,OAAQozC,GAGxDF,EAAUv1D,KAAKy1D,MAGVF,GAGD,YAAA2B,aAAR,SAAqBpmC,EAAejM,GAClC,IAAMwyC,EAAa,GAiBnB,OAhBA,eAAKxyC,GAAQ,SAACe,GACZ,IAAI5rB,EAAQ82B,EAAOlL,EAAMjhB,OAEvB3K,EADE,kBAAQA,GACFA,EAAMgnB,KAAI,SAACs2C,GACjB,OAAO1xC,EAAM00B,QAAQgd,MAGf1xC,EAAM00B,QAAQtgD,GAGpB,gBAAMA,IAAoB,KAAVA,EAClBq9D,EAAWr3D,KAAK,MAEhBq3D,EAAWr3D,KAAKhG,MAGbq9D,GAGD,YAAAlB,gBAAR,SAAwB7yC,QAAA,IAAAA,MAAA,GACtB,IAAM2B,EAAavoB,KAAK0xB,gBAExB,OAAOnJ,EAAW8X,aAAe9X,EAAW+N,YAAY1P,EAAQ,GAAK2B,EAAW+N,YAAY,EAAG1P,IAGzF,YAAAyyC,kBAAR,WACE,IAAMtqC,EAAW/uB,KAAK+uB,SAChB/D,EAAS,GAUf,OATA,eAAK+D,EAASohC,aAAa,SAACn+B,EAAkBxB,GAC5CxF,EAAOwF,GAAMwB,EAAQzhB,SAGvB,eAAKwe,EAASy9B,oBAAoB6K,eAAe,SAACj0C,GAChD,IAAMoN,EAAKzB,EAAS0F,aAAarR,EAAMlmB,IAAI,UAAU42B,aACrD9I,EAAOwF,GAAMpN,KAGR4H,GAEX,EAlYA,G,UCzBa6vC,GAAU,SCFjB,GACC,OAUD,GACC,UADD,GAIA,UAJA,GAKA,UALA,GAMA,UANA,GAOA,UAIA,GAAiB,CACrB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WA0BWC,GAAW,CACtBvpB,gBAAiB,UAEjBC,WAAY,GAAe,GAE3BC,qBAAsB,GAEtBC,qBA9BqB,CACrB,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAYAC,mBAAoB,UAEpBC,qBAAsB,UAEtBC,sBAAuB,UAEvB7O,WAAY,4KAMZ8O,oBAAqB,GAErBC,eAAgB,GAEhBC,aAAc,KAGdC,uBAAwB,GAExBC,sBAAuB,GAEvBC,wBAAyB,GAEzBC,wBAAyB,SAGzBC,wBAAyB,GAEzBC,mBAAoB,EAEpBC,mBAAoB,GAGpBC,2BAA4B,GAE5BC,sBAAuB,EAEvBC,sBAAuB,GAGvBC,mBAAoB,GAEpBC,kBAAmB,GAEnBC,oBAAqB,GAErBC,oBAAqB,SAGrBC,oBAAqB,GAErBC,eAAgB,GAEhBC,iBAAkB,KAIlBC,yBAA0B,GAE1BC,wBAAyB,GAEzBC,0BAA2B,GAE3BC,0BAA2B,SAG3BC,kBAAmB,GAAe,GAElCC,iBAAkB,EAElBC,uBAAwB,EAExBC,uBAAwB,EAExBC,qBAAsB,EAGtBC,wBAAyB,GAEzBC,uBAAwB,GAExBC,yBAA0B,GAE1BC,yBAA0B,SAG1BC,oBAAqB,GAErBC,iBAAkB,EAElBC,sBAAuB,KAEvBC,gBAAiB,IAEjBC,iBAAkB,GAGlBC,yBAA0B,GAE1BC,wBAAyB,GAEzBC,0BAA2B,GAE3BC,0BAA2B,SAG3BC,uBAvKG,UAyKHC,mBAAoB,GAEpBC,oBAAqB,GAErBC,oBAAqB,EAErBC,yBAjLI,UAqLJC,yBAA0B,GAE1BC,oBAAqB,GAGrBC,0BAA2B,GAE3BC,qBAAsB,GAEtBC,mBAAoB,KAGpBC,wBAAyB,GAEzBC,uBAAwB,GAExBC,yBAA0B,GAE1BC,yBAA0B,SAE1BC,0BA7MI,UA+MJC,qBAAsB,IAGtBC,0BAA2B,GAE3BC,4BAA6B,IAE7BC,uBAAwB,EAExBC,4BAA6B,KAG7BC,+BAAgC,GAIhCC,6BAA8B,GAE9BC,wBAAyB,GAEzBC,0BAA2B,KAG3BC,0BAA2B,UAC3BC,4BAA6B,IAE7BC,uBAAwB,6BAExBC,6BAA8B,EAG9BC,qBAAsB,GAEtBC,oBAAqB,GAErBC,sBAAuB,GAEvBC,sBAAuB,OAIvBC,eAAgB,GAEhBC,cAAe,GAEfC,gBAAiB,GAEjBC,gBAAiB,SAEjBC,iBAAkB,KAElBC,YAAa,EAGbC,oBAAqB,GAErBC,mBAAoB,GAEpBC,qBAAsB,GAEtBC,qBAAsB,SAEtBC,sBAAuB,KAEvBC,iBAAkB,EAGlBC,gBAAiB,GAEjBC,qBAAsB,GAItBC,eAAgB,GAAe,GAE/BC,iBAAkB,IAElBC,UAAW,EAEXC,YAAa,EAEbC,iBAAkB,GAElBC,mBAAoB,EAGpBC,uBAAwB,GAGxBC,oBAAqB,EAErBC,yBAA0B,GAG1BC,yBAA0B,GAE1BC,2BAA4B,GAG5BC,gBAAiB,EAEjBC,kBAAmB,EAEnBC,uBAAwB,GAAe,GAEvCC,yBAA0B,IAC1BC,qBAAsB,GAGtBC,wBAAyB,EAEzBC,6BAA8B,GAE9BC,+BAAgC,EAGhCC,0BAA2B,EAE3BC,+BAAgC,GAEhCC,iCAAkC,EAGlCC,iCAAkC,GAGlCC,WAAY,EAEZC,gBAAiB,GAAe,GAEhCC,kBAAmB,EAGnBC,iBAAkB,EAGlBC,mBAAoB,EAGpBC,0BAA2B,GAG3BC,cAAe,GAAe,GAE9BC,gBAAiB,IAGjBC,oBAAqB,GAAe,GACpCC,sBAAuB,GAGvBC,sBAAuB,GAAe,GACtCC,wBAAyB,GAGzBC,wBAAyB,GAGzBC,sBAAuB,GAAe,GAEtCC,iBAAkB,EAElBC,wBAAyB,EAGzBC,uBAAwB,EACxBC,4BAA6B,GAG7BC,yBAA0B,EAC1BC,8BAA+B,GAG/BC,gCAAiC,GAGjCC,kBAAmB,GAAe,GAElCC,oBAAqB,IAGrBC,qBAAsB,EAEtBC,0BAA2B,GAC3BC,4BAA6B,EAG7BC,uBAAwB,EAExBC,4BAA6B,GAE7BC,8BAA+B,EAG/BC,8BAA+B,GAE/BC,4BAA6B,GAG7BC,qBAAsB,EAEtBC,0BAA2B,GAAe,GAE1CC,4BAA6B,EAC7BC,wBAAyB,GAGzBC,2BAA4B,EAE5BC,gCAAiC,GAGjCC,6BAA8B,EAE9BC,kCAAmC,GAEnCC,oCAAqC,EAGrCC,oCAAqC,I,oBCzavC,SAAS0f,GAAaz9D,GACpB,OAAIA,IAGGA,SAAyCihB,MAAMjhB,IAGxD,SAAS09D,GAAOrqC,GACd,GAAI,kBAAQA,GAEV,OAAOoqC,GAAapqC,EAAM,GAAGluB,GAE/B,IAAMnF,EAAQqzB,EAAMluB,EACpB,OAAO,kBAAQnF,GAASy9D,GAAaz9D,EAAM,IAAMy9D,GAAaz9D,GA0B1D,SAAU29D,GAAc9gC,EAAuB+gC,EAA+BC,GAClF,QADmD,IAAAD,OAAA,QAA+B,IAAAC,OAAA,IAC7EhhC,EAAOv7B,QAA6B,IAAlBu7B,EAAOv7B,SAAiBu8D,EAE7C,MAAO,GAGT,GAAID,EAAc,CAGhB,IADA,IAAME,EAAW,GACR/+D,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CAE5C2+D,GADCrqC,EAAQwJ,EAAO99B,KAEnB++D,EAAS93D,KAAKqtB,GAGlB,MAAO,CAACyqC,GAGV,IAAM/8D,EAAS,GACX+oC,EAAM,GACV,IAAS/qC,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACjD,IAAMs0B,EACFqqC,GADErqC,EAAQwJ,EAAO99B,IAEf+qC,EAAIxoC,UACe,IAAfwoC,EAAIxoC,QAAiBu8D,IAEzB98D,EAAOiF,KAAK8jC,GAEdA,EAAM,IAGRA,EAAI9jC,KAAKqtB,GAOb,OAHIyW,EAAIxoC,QACNP,EAAOiF,KAAK8jC,GAEP/oC,ECpEH,SAAU2M,GAASvC,EAAgB4yD,EAAmBC,EAAiBC,QAAA,IAAAA,MAAA,IACnE,MAA0C9yD,EAAhC,MAAVG,OAAK,IAAG,KAAE,EAAEurD,EAA8B1rD,EAAlB,aAAE+U,EAAgB/U,EAAX,MAAEoiC,EAASpiC,EAAL,KACvC4pB,EAAQ,OAAH,WAAG,CAAH,sBACN8hC,GACAvrD,GAsBL,OApBI4U,IACE69C,IACGzyD,EAAM0nB,SAET+B,EAAM/B,OAAS9S,IAIf89C,IACG1yD,EAAMinB,OAETwC,EAAMxC,KAAOrS,KAIf+9C,GAAY,gBAAM3yD,EAAM2yD,MAAe,gBAAM1wB,KAE/CxY,EAAMkpC,GAAY1wB,GAGbxY,ECxBH,SAAUmpC,GAAYv8D,GAE1B,IAAM+K,EAAI/K,EAAI+K,EAGd,OAFU,kBAAQ/K,EAAIwD,GAAKxD,EAAIwD,EAAI,CAACxD,EAAIwD,IAE/B6hB,KAAI,SAACm3C,EAAO/8D,GACnB,MAAO,CACLsL,EAAG,kBAAQA,GAAKA,EAAEtL,GAASsL,EAC3BvH,EAAGg5D,MCpBT,IAAMC,GAAc,CAClB30C,KAAM,SAAC/c,EAAWvH,EAAWtF,GAC3B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAI7M,EAAGsF,KAGjBu0B,IAAK,SAAChtB,EAAWvH,EAAWtF,GAC1B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAI7M,EAAGsF,KAGjBk5D,KAAM,SAAC3xD,EAAWvH,EAAWtF,GAC3B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAI7M,EAAGsF,KAGjBqlC,OAAQ,SAAC99B,EAAWvH,EAAWtF,GAC7B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,GACb,CAAC,IAAKtF,EAAI,EAAGA,EAAI,EAAG,EAAG,EAAG,EAAG6M,EAAGvH,GAChC,CAAC,IAAKtF,EAAI,EAAGA,EAAI,EAAG,EAAG,EAAG,EAAG6M,EAAI7M,EAAGsF,KAGxCm5D,GAAI,SAAC5xD,EAAWvH,EAAWtF,GACzB,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAI,KACrB,CAAC,IAAKuH,EAAGvH,EAAI,KACb,CAAC,IAAKuH,EAAGvH,EAAI,KACb,CAAC,IAAKuH,EAAI7M,EAAI,EAAGsF,EAAI,OAGzBo5D,GAAI,SAAC7xD,EAAWvH,EAAWtF,GACzB,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAI,KACrB,CAAC,IAAKuH,EAAGvH,EAAI,KACb,CAAC,IAAKuH,EAAGvH,EAAI,KACb,CAAC,IAAKuH,EAAI7M,EAAI,EAAGsF,EAAI,OAGzBq5D,IAAK,SAAC9xD,EAAWvH,EAAWtF,GAC1B,MAAO,CACL,CAAC,IAAK6M,GAAK7M,EAAI,GAAIsF,EAAI,KACvB,CAAC,IAAKuH,EAAI7M,EAAI,EAAGsF,EAAI,KACrB,CAAC,IAAKuH,EAAI7M,EAAI,EAAGsF,EAAI,KACrB,CAAC,IAAKuH,EAAI7M,EAAI,EAAGsF,EAAI,KACrB,CAAC,IAAKuH,EAAI7M,EAAI,EAAGsF,EAAI,KACrB,CAAC,IAAKuH,EAAI7M,EAAI,EAAGsF,EAAI,OAGzBs5D,IAAK,SAAC/xD,EAAWvH,GAEf,MAAO,CACL,CAAC,IAAKuH,EAAI,EAAGvH,EAAI,KACjB,CAAC,IAAKuH,EAAI,EAAGvH,GACb,CAAC,IAAKuH,EAAGvH,GACT,CAAC,IAAKuH,EAAGvH,EAAI,GACb,CAAC,IAAKuH,EAAGvH,EAAI,GACb,CAAC,IAAKuH,EAAI,IAAKvH,EAAI,MAYnB,SAAUu5D,GAAc9M,EAA2B9C,GAC/C,IAAA5uC,EAAU0xC,EAAL,MACb,MAAO,CACL+M,OAAQP,GAAYtP,GACpBxjD,MAAO,CACLszD,UAAW,EACX/+D,EAAG,EACHmzB,OAAQ9S,ICtDd,SAAS2+C,GACPhiC,EACAuO,EACAZ,EACAN,EACA5+B,GAEA,OAAsB,IAAlBuxB,EAAOv7B,OAEF,CACL,CAAC,IAAKu7B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,EAAImG,EAAMszD,UAAY,GACnD,CAAC,IAAK/hC,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,EAAImG,EAAMszD,UAAY,KAKlDp0B,GAOCY,GAAcvO,EAAOv7B,QACvBu7B,EAAO72B,KAAK,CAAE0G,EAAGmwB,EAAO,GAAGnwB,EAAGvH,EAAG03B,EAAO,GAAG13B,IAE7C+sB,EAAOoZ,GAAczO,GAAQ,EAAOqN,KATpChY,EAAOiZ,GAAYtO,GAAQ,GACvBuO,GACFlZ,EAAKlsB,KAAK,CAAC,OAURksB,GAdP,IAAIA,EAyCN,SAAS4sC,GACPjiC,EACAuO,EACA2zB,EACAv0B,EACAN,EACA5+B,GAEA,GAAIuxB,EAAOv7B,OAAQ,CACjB,IAAMkqC,EAAQ3O,EAAO,GAErB,OAAO,kBAAQ2O,EAAMrmC,GAnCzB,SACE03B,EACAuO,EACA2zB,EACAv0B,EACAN,EACA5+B,GAEA,IAAM0zD,EAAY,GACZC,EAAe,GACrB,eAAKpiC,GAAQ,SAACxJ,GACZ,IAAMtyB,EAASm9D,GAAY7qC,GAC3B2rC,EAAUh5D,KAAKjF,EAAO,IACtBk+D,EAAaj5D,KAAKjF,EAAO,OAG3B,IAAMm+D,EAAUL,GAAcG,EAAW5zB,EAAYZ,EAAQN,EAAY5+B,GACnE6zD,EAAaN,GAAcI,EAAc7zB,EAAYZ,EAAQN,EAAY5+B,GAC/E,OAAIyzD,EACKG,EAEFA,EAAQx4D,OAAOy4D,GAehBC,CAAaviC,EAAwBuO,EAAY2zB,EAASv0B,EAAQN,EAAY5+B,GAC9EuzD,GAAchiC,EAAmBuO,EAAYZ,EAAQN,EAAY5+B,GAEvE,MAAO,GAGgB+mD,GAAqB,OAAQ,CACpDlC,iBAAkB,SAKpB,eAAK,CAAC,OAAQ,MAAO,OAAQ,WAAW,SAACrB,GACvC3/C,GAAc,OAAQ2/C,EAAW,CAC/B3kD,KAAA,SAAKgB,EAAgB3C,GACnB,IACI0hC,EADEM,EAAuB,WAAdskB,EAEf,GAAItkB,EAAQ,CACJ,MAAiB9nC,KAAKuoB,WAApBnI,EAAK,QAAEC,EAAG,MAClBmnB,EAAa,CACX,CAACpnB,EAAMpW,EAAGqW,EAAI5d,GACd,CAAC4d,EAAIrW,EAAGoW,EAAM3d,IAIlB,IAAM4vB,EA9GZ,SAAuB5pB,EAAgBq/B,EAAkBN,GAMvD,IALQ,IAAA60B,EAAuD5zD,EAAhD,QAAEyyD,EAA8CzyD,EAAlC,aAAEigC,EAAgCjgC,EAAtB,WAAE0yD,EAAoB1yD,EAAL,gBACpDk0D,EAAa3xD,GAASvC,GAAK,GAAM,EAAO,aAExC0xB,EAAS8gC,GAAcxyD,EAAI0xB,OAAQ+gC,EAAcC,GACnD3rC,EAAO,GACFnzB,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACjD,IAAMugE,EAAiBziC,EAAO99B,GAC9BmzB,EAAOA,EAAKxrB,OAAOo4D,GAAQQ,EAAgBl0B,EAAY2zB,EAASv0B,EAAQN,EAAYm1B,IAItF,OAFAA,EAAWntC,KAAOA,EAEXmtC,EAkGWE,CAAcp0D,EAAKq/B,EAAQN,GAOzC,OANc1hC,EAAUotB,SAAS,CAC/BtpB,KAAM,OACNyoB,MAAK,EACLz1B,KAAM,UAKVqyD,UAAA,SAAUC,GACR,OAAO8M,GAAc9M,EAAW9C,SAKvB,I,GCpHf,YAQE,WAAY3jD,GAAZ,MACE,YAAMA,IAAI,KARI,EAAAmB,KAAe,OACf,EAAAwiD,UAAoB,OAS1B,MAAiD3jD,EAA7B,aAApByyD,OAAY,IAAG,GAAK,EAAE,EAA2BzyD,EAAL,gBAAtB0yD,OAAe,IAAG,GAAI,E,OACpD,EAAKD,aAAeA,EACpB,EAAKC,gBAAkBA,E,EA+E3B,OA5FkC,yBAsBtB,YAAApJ,eAAV,SAAyBj+B,EAA6Bp1B,EAAeolD,QAAA,IAAAA,OAAA,GAE7D,IAAEuM,EAAsDrwD,KAAvC,gBAAEmwD,EAAqCnwD,KAA1B,YAAE+xB,EAAwB/xB,KAAhB,SAAE8F,EAAc9F,KAAL,UACnDizD,EAAYjzD,KAAKy0B,aAAaX,GAC9BmgC,EAAWj0D,KAAK88D,aAAahpC,GAE/Bz1B,EAASgyD,EAAgB4C,GAC7B,GAAK50D,EAWE,CAEL,IAAMm2D,EAAcn2D,EAAOk1B,YACvBvzB,KAAKijD,qBAAuB8M,GAAcyE,EAAaP,MACzD51D,EAAOsqB,QAAU3oB,KAAKwyB,cAEtBn0B,EAAOikB,OAAO2xC,WAET5D,EAAgB4C,OAnBZ,CACX,IAAM/G,EAAelsD,KAAK4M,mBAE1BvO,EAAS,IAAI,GAAQ,CACnB6tD,aAAY,EACZpmD,UAAS,EACTqmD,eAAgBnsD,KAAKwsD,uBAEhBz9B,SAAW/uB,KAClB3B,EAAOsqB,QAAU3oB,KAAKwyB,cACtBn0B,EAAOoJ,KAAKwsD,EAAUnQ,GAexB,OAHA/xB,EAASzuB,KAAKjF,GACd8xD,EAAY8C,GAAa50D,EAElB0zB,GAOC,YAAAgrC,iBAAV,SAA2BjpC,GAIzB,IAHA,IAAMqG,EAAS,GACTn7B,EAAO,GAEJ3C,EAAI,EAAGgrC,EAAMvT,EAAYl1B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACtD,IAAM4C,EAAM60B,EAAYz3B,GACxB89B,EAAO72B,KAAK,CACV0G,EAAG/K,EAAI+K,EACPvH,EAAGxD,EAAIwD,IAETzD,EAAKsE,KAAKrE,EAAG,SAGf,MAAO,CACLk7B,OAAM,EACNn7B,KAAI,IAIA,YAAA89D,aAAR,SAAqBhpC,GACnB,IAAMmgC,EAAWj0D,KAAKk0D,WAAWpgC,EAAY,IACvC,EAAmB9zB,KAAK+8D,iBAAiBjpC,GAAvCqG,EAAM,SAAEn7B,EAAI,OAQpB,OAPAi1D,EAASngC,YAAcA,EACvBmgC,EAASj1D,KAAOA,EAChBi1D,EAASoI,UAAYr8D,KAAK6yD,UAAU,SACpCoB,EAAS95B,OAASA,EAClB85B,EAASiH,aAAel7D,KAAKk7D,aAC7BjH,EAASkH,gBAAkBn7D,KAAKm7D,gBAEzBlH,GAEX,EA5FA,CAAkC,ICZlC,SAAS,GACP95B,EACAuO,EACAZ,EACAk1B,EACAx1B,GAEA,IAAIhY,EAAO,GAEX,GAAI2K,EAAOv7B,OAAQ,CAGjB,IAFA,IAAM,EAAgB,GAClB,EAAmB,GACdvC,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACjD,IAAMs0B,EAAQwJ,EAAO99B,GACrB,EAAciH,KAAKqtB,EAAM,IACzB,EAAiBrtB,KAAKqtB,EAAM,IAE9B,EAAmB,EAAiBssC,UAEpC,eAAK,CAAC,EAAe,IAAmB,SAACC,EAAYx+D,GACnD,IAAI2qC,EAAU,GACR8zB,EAAeH,EAAgBvN,YAAYyN,GAC3C1kC,EAAK2kC,EAAa,GAEK,IAAzB,EAAcv+D,QAA4C,IAA5B,EAAiBA,OAEjDyqC,EACY,IAAV3qC,EACI,CACE,CAAC,IAAK85B,EAAGxuB,EAAI,GAAKwuB,EAAG/1B,GACrB,CAAC,IAAK+1B,EAAGxuB,EAAI,GAAKwuB,EAAG/1B,IAEvB,CACE,CAAC,IAAK+1B,EAAGxuB,EAAI,GAAKwuB,EAAG/1B,GACrB,CAAC,IAAK+1B,EAAGxuB,EAAI,GAAKwuB,EAAG/1B,KAGzBimC,GACFy0B,EAAa75D,KAAK,CAAE0G,EAAGwuB,EAAGxuB,EAAGvH,EAAG+1B,EAAG/1B,IAGnC4mC,EADEvB,EACQc,GAAcu0B,GAAc,EAAO31B,GAEnCiB,GAAY00B,GAAc,GAElCz+D,EAAQ,IACV2qC,EAAQ,GAAG,GAAK,MAIpB7Z,EAAOA,EAAKxrB,OAAOqlC,MAGrB7Z,EAAKlsB,KAAK,CAAC,MAGb,OAAOksB,EAaH,SAAU,GACd/mB,EACA4yD,EACAvzB,EACAk1B,EACAx1B,GAOA,IALA,IAAMnV,EAAQrnB,GAASvC,EAAK4yD,GAAWA,EAAU,aACzCH,EAAsDzyD,EAA1C,aAAEigC,EAAwCjgC,EAA9B,WAC1B20D,EAAanC,GAD2CxyD,EAAtB,OACCyyD,EADqBzyD,EAAL,iBAGrD+mB,EAAO,GACFnzB,EAAI,EAAGgrC,EAAM+1B,EAAWx+D,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACrD,IAAMghE,EAAaD,EAAW/gE,GAC9BmzB,EAAOA,EAAKxrB,OAAO,GAAQq5D,EAAY30B,EAAYZ,EAAQk1B,EAAiBx1B,IAI9E,OAFAnV,EAAM7C,KAAOA,EAEN6C,EASH,SAAUirC,GAAc/0C,GACpB,IAAAnI,EAAemI,EAAV,MAAElI,EAAQkI,EAAL,IAClB,MAAO,CACL,CAACnI,EAAMpW,EAAGqW,EAAI5d,GACd,CAAC4d,EAAIrW,EAAGoW,EAAM3d,ICtGOktD,GAAqB,OAAQ,CACpDlC,iBAAkB,OAClBuB,iBAAA,SAAiBuO,GAEP,IAAAvzD,EAAUuzD,EAAT,EAAExJ,EAAOwJ,EAAL,GAGb,OAFU,kBAAQA,EAAU96D,GAAK86D,EAAU96D,EAAI,CAACsxD,EAAIwJ,EAAU96D,IAErD6hB,KAAI,SAACk5C,GACZ,MAAO,CACLxzD,EAAGA,EACHvH,EAAG+6D,SAOX/wD,GAAc,OAAQ,OAAQ,CAC5BhF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAMusB,EAAQ,GAAc5pB,GAAK,GAAO,EAAOzI,MAO/C,OANc8F,EAAUotB,SAAS,CAC/BtpB,KAAM,OACNyoB,MAAK,EACLz1B,KAAM,UAKVqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SAACjyD,EAAWvH,EAAWtF,GAC7B,YAD6B,IAAAA,MAAA,KACtB,CAAC,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,OAE/FmG,MAAO,CACLzL,EAAG,EACH0yB,KAPcq/B,EAAL,WAaF,I,GC3Bf,YAcE,WAAYzmD,GAAZ,MACE,YAAMA,IAAI,KAdI,EAAAmB,KAAe,OACf,EAAAwiD,UAAoB,OAEpB,EAAAkE,gBAA0B,EAQ1B,EAAAmN,aAAuB,EAK7B,MAAiEh1D,EAA/C,YAAlBg1D,OAAW,IAAG,GAAI,EAAE,EAA6Ch1D,EAA9B,SAAfkoD,OAAQ,IAAG,GAAI,EAAE,EAA4BloD,EAAL,gBAAvB0yD,OAAe,IAAG,GAAK,E,OACpE,EAAKsC,YAAcA,EACnB,EAAK9M,SAAWA,EAChB,EAAKwK,gBAAkBA,E,EAkC3B,OAtDkC,yBA2BtB,YAAA4B,iBAAV,SAA2BjpC,GAIzB,IAHA,IAAMqG,EAAS,GACTn7B,EAAO,GAEJ3C,EAAI,EAAGgrC,EAAMvT,EAAYl1B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACtD,IAAM4C,EAAM60B,EAAYz3B,GACxB89B,EAAO72B,KAAKrE,EAAIk7B,QAChBn7B,EAAKsE,KAAKrE,EAAG,SAGf,MAAO,CACLk7B,OAAM,EACNn7B,KAAI,IAQE,YAAAkzD,aAAV,WACE,OAAIlyD,KAAKy9D,YACA,YAAMvL,aAAY,WAEZlyD,KAAKmI,YACNsW,KAElB,EAtDA,CAAkC,ICbTkxC,GAAqB,OAAQ,CACpDlC,iBAAkB,OAClBuB,iBAAA,SAAiBuO,GACf,OAAO/B,GAAY+B,MAIvB9wD,GAAc,OAAQ,OAAQ,CAC5BhF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQoC,GAASvC,GAAK,GAAM,EAAO,aACnC+mB,EAAOiZ,GAAYzoC,KAAKyvD,YAAYhnD,EAAI0xB,QAASn6B,KAAKuoB,WAAW6X,SACvE,OAAOt6B,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,OAIVy/B,UAAA,SAAUC,GACR,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,IACH0yB,KAAMq/B,EAAU1xC,WAMT,I,GC1Bf,uE,OACkB,EAAA5T,KAAe,OACf,EAAAwiD,UAAoB,OAC1B,EAAAkE,gBAA0B,E,EACtC,OAJkC,yBAIlC,EAJA,CAAkC,I,YCDlC,uE,OACkB,EAAA1mD,KAAe,UAEvB,EAAA8zD,aAAuC,G,EA2MjD,OA9MqC,yBAQzB,YAAA3L,eAAV,SAAyBj+B,EAA6Bp1B,EAAeolD,QAAA,IAAAA,OAAA,GACnE,IAAMr2B,EAAQztB,KAAK29D,aAAa7pC,GAC1BkN,EAAShhC,KAAK49D,cAEhBC,EAAO,cAAI79D,KAAKkxD,YAAa,CAAC,QAAS,eAQ3C,OAPK,mBAAS2M,KACZA,EAAO78B,EAAS,GAGlBhhC,KAAK89D,8BAA8B98B,EAAQ68B,GAC3C79D,KAAK+9D,cAAcjqC,EAAarG,EAAOuT,EAAQ68B,GAExC,MAMF,YAAAh1C,MAAP,WACE,YAAMA,MAAK,WACX7oB,KAAKg+D,uBACLh+D,KAAK09D,aAAe,IAGd,YAAAC,aAAR,SAAqB3+D,GACnB,IACMi/D,EADYj+D,KAAK09C,aAAa,SACPC,YAAY,GAErCl/B,EAAMlM,IACNiM,GAAOjM,IAeX,OAdAvT,EAAKgvB,SAAQ,SAACkwC,GACZ,IAAM5gE,EAAQ4gE,EAAG,QAAeD,GAC5B3gE,EAAQkhB,IACVA,EAAMlhB,GAEJA,EAAQmhB,IACVA,EAAMnhB,MAINmhB,IAAQD,IACVC,EAAMD,EAAM,GAGP,CAACC,EAAKD,IAGP,YAAAo/C,YAAR,WACE,IAAI58B,EAAShhC,KAAK0yD,gBAAgB,QAKlC,OAJK,mBAAS1xB,KACZA,EAAShhC,KAAKm+D,kBAGTn9B,GAGD,YAAA88B,8BAAR,SAAsC98B,EAAgB68B,GACpD,IAAMO,EAAyBp+D,KAAKq+D,4BAC9BC,EAAKt9B,EAAS68B,EACdU,EAAMH,EAAuBI,WAAW,MAC9CJ,EAAuB/3D,MAAQ+3D,EAAuB93D,OAAc,EAALg4D,EAC/DC,EAAIE,UAAU,EAAG,EAAGL,EAAuB/3D,MAAO+3D,EAAuB93D,QACzEi4D,EAAIG,cAAgBH,EAAII,cAAqB,EAALL,EACxCC,EAAIK,WAAaf,EACjBU,EAAIM,YAAc,QAElBN,EAAIO,YACJP,EAAIQ,KAAKT,GAAKA,EAAIt9B,EAAQ,EAAa,EAAV7xB,KAAKE,IAAQ,GAC1CkvD,EAAIS,YACJT,EAAI1uC,QAGE,YAAAkuC,cAAR,SAAsB/+D,EAAsByuB,EAAiBuT,EAAgB68B,GAErE,MAAiB79D,KAAKuoB,WAApBnI,EAAK,QAAEC,EAAG,MACZha,EAAQrG,KAAKuoB,WAAWoM,WACxBruB,EAAStG,KAAKuoB,WAAWqM,YAIzBqqC,EADYj/D,KAAK09C,aAAa,SACPC,YAAY,GAGzC39C,KAAKg+D,uBACL,IAAMO,EAAMv+D,KAAKk/D,qBAEbzxC,IACFzuB,EAAOA,EAAKi9B,QAAO,SAACiiC,GAClB,OAAOA,EAAG,QAAee,IAAexxC,EAAM,IAAMywC,EAAG,QAAee,IAAexxC,EAAM,OAM/F,IADA,IAAMvE,EAAQlpB,KAAKmoB,OAAO82C,GACR,MAAAjgE,EAAA,eAAM,CAAnB,IAAMC,EAAG,KACN,EAAWe,KAAKk0D,WAAWj1D,GAAzB+K,EAAC,IAAEvH,EAAC,IACN08D,EAAQj2C,EAAMA,MAAMjqB,EAAG,QAAeggE,IAC5Cj/D,KAAKo/D,2BAA4Bp1D,EAAeoW,EAAMpW,EAAIvH,EAAe4d,EAAI5d,EAAGu+B,EAAS68B,EAAMsB,EAAOZ,GAIxG,IAAMc,EAAUd,EAAIe,aAAa,EAAG,EAAGj5D,EAAOC,GAC9CtG,KAAKg+D,uBACLh+D,KAAKu/D,SAASF,GACdd,EAAIiB,aAAaH,EAAS,EAAG,GAC7B,IAAMI,EAAaz/D,KAAK0/D,gBACxBD,EAAW5sC,KAAK,IAAKzS,EAAMpW,GAC3By1D,EAAW5sC,KAAK,IAAKxS,EAAI5d,GACzBg9D,EAAW5sC,KAAK,QAASxsB,GACzBo5D,EAAW5sC,KAAK,SAAUvsB,GAC1Bm5D,EAAW5sC,KAAK,MAAO0rC,EAAI13D,QAC3B44D,EAAW75D,IAAI,SAAU5F,KAAK88D,aAAa99D,KAGrC,YAAAm/D,eAAR,WACE,IAAM53C,EAAWvmB,KAAK09C,aAAa,YAC7Bn1B,EAAavoB,KAAKuoB,WACxB,OAAOpZ,KAAKsP,IACV8J,EAAWoM,YAAgD,EAAlCpO,EAAS4B,OAAO,GAAG6N,MAAMp3B,QAClD2pB,EAAWqM,aAAiD,EAAlCrO,EAAS4B,OAAO,GAAG6N,MAAMp3B,UAI/C,YAAAo/D,qBAAR,WACE,IAAMO,EAAMv+D,KAAKk/D,qBACjBX,EAAIE,UAAU,EAAG,EAAGF,EAAI13D,OAAOR,MAAOk4D,EAAI13D,OAAOP,SAG3C,YAAA44D,mBAAR,WACE,IAAIr4D,EAAS7G,KAAK2/D,aAOlB,OANK94D,IACHA,EAASZ,SAASymB,cAAc,UAChC1sB,KAAK2/D,aAAe94D,GAEtBA,EAAOR,MAAQrG,KAAKuoB,WAAWoM,WAC/B9tB,EAAOP,OAAStG,KAAKuoB,WAAWqM,YACzB/tB,EAAO23D,WAAW,OAGnB,YAAAH,0BAAR,WAKE,OAJKr+D,KAAKo+D,yBACRp+D,KAAKo+D,uBAAyBn4D,SAASymB,cAAc,WAGhD1sB,KAAKo+D,wBAGN,YAAAgB,2BAAR,SAAmCp1D,EAAWvH,EAAWtF,EAAWgiE,EAAeZ,GACjF,IAAMH,EAAyBp+D,KAAKq+D,4BACpCE,EAAIqB,YAAcT,EAClBZ,EAAIsB,UAAUzB,EAAwBp0D,EAAI7M,EAAGsF,EAAItF,IAG3C,YAAAoiE,SAAR,SAAiBO,GAIf,IAHA,IAAMC,EAAY//D,KAAK09C,aAAa,SAC9BsiB,EAASF,EAAI9gE,KACb0+D,EAAe19D,KAAK09D,aACjBrhE,EAAI,EAAGA,EAAI2jE,EAAOphE,OAAQvC,GAAK,EAAG,CACzC,IAAM8iE,EAAQa,EAAO3jE,GACrB,GAAI,mBAAS8iE,GAAQ,CACnB,IAAMc,EAAUvC,EAAayB,GAASzB,EAAayB,GAAS,WAAUrhC,QAAQiiC,EAAUG,SAASf,EAAQ,MACzGa,EAAO3jE,EAAI,GAAK4jE,EAAQ,GACxBD,EAAO3jE,EAAI,GAAK4jE,EAAQ,GACxBD,EAAO3jE,EAAI,GAAK4jE,EAAQ,GACxBD,EAAO3jE,GAAK8iE,KAKV,YAAAO,cAAR,WACE,IAAID,EAAaz/D,KAAKy/D,WACtB,OAAIA,IAIJA,EADkBz/D,KAAK8F,UACAotB,SAAS,CAC9BtpB,KAAM,QACNyoB,MAAO,KAETryB,KAAKy/D,WAAaA,EACXA,IAGD,YAAA3C,aAAR,SAAqBhpC,GACnB,IAAMmgC,EAAWj0D,KAAKk0D,WAAWpgC,EAAY,IAE7C,gDACKmgC,GAAQ,CACXngC,YAAW,EACX90B,KAAMgB,KAAKsI,QAAQwrB,MAIf,YAAAxrB,QAAR,SAAgBwrB,GACd,OAAOA,EAAYxP,KAAI,SAACrlB,GACtB,OAAOA,EAAG,YAGhB,EA9MA,CAAqC,ICC/B,SAAUkhE,GAAc5C,EAAuB6C,QAAA,IAAAA,OAAA,GAC3C,IAMJC,EACAC,EAQAC,EACAC,EAhBIx2D,EAAmBuzD,EAAlB,EAAE96D,EAAgB86D,EAAf,EAAExJ,EAAawJ,EAAX,GAAE1yB,EAAS0yB,EAAL,KAQlB,kBAAQ96D,IACT49D,EAAc59D,EAAV,GAAE69D,EAAQ79D,EAAJ,KAEX49D,EAAOtM,EACPuM,EAAO79D,GAKL,kBAAQuH,IACTu2D,EAAcv2D,EAAV,GAAEw2D,EAAQx2D,EAAJ,KAEXu2D,EAAOv2D,EAAI6gC,EAAO,EAClB21B,EAAOx2D,EAAI6gC,EAAO,GAGpB,IAAM1Q,EAAS,CACb,CAAEnwB,EAAGu2D,EAAM99D,EAAG49D,GACd,CAAEr2D,EAAGu2D,EAAM99D,EAAG69D,IAqBhB,OAlBIF,EAMFjmC,EAAO72B,KAAK,CACV0G,EAAGw2D,EACH/9D,GAAI69D,EAAOD,GAAQ,IAOrBlmC,EAAO72B,KAAK,CAAE0G,EAAGw2D,EAAM/9D,EAAG69D,GAAQ,CAAEt2D,EAAGw2D,EAAM/9D,EAAG49D,IAG3ClmC,EAUH,SAAUsmC,GAAYtmC,EAAiBumC,QAAA,IAAAA,OAAA,GAC3C,IAAMlxC,EAAO,GACPmxC,EAAaxmC,EAAO,GAC1B3K,EAAKlsB,KAAK,CAAC,IAAKq9D,EAAW32D,EAAG22D,EAAWl+D,IACzC,IAAK,IAAIpG,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAC5CmzB,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO99B,GAAG2N,EAAGmwB,EAAO99B,GAAGoG,IAOzC,OAJIi+D,IACFlxC,EAAKlsB,KAAK,CAAC,IAAKq9D,EAAW32D,EAAG22D,EAAWl+D,IACzC+sB,EAAKlsB,KAAK,CAAC,OAENksB,EAWH,SAAUoxC,GAAczmC,EAAiBk6B,EAAqB+L,GAClE,IAAM5wC,EAAO,GA6Bb,OA5BK,gBAAM6kC,GAQA+L,EAET5wC,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,MAIH+sB,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,MAvBH+sB,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK4xD,EAAW,GAAGrqD,EAAGqqD,EAAW,GAAG5xD,GACrC,CAAC,IAAK4xD,EAAW,GAAGrqD,EAAGqqD,EAAW,GAAG5xD,GACrC,CAAC,MAsBE+sB,EClHoBmgC,GAAqB,WAAY,CAC5DlC,iBAAkB,OAClBuB,iBAAA,SAAiBuO,GACf,OAAO4C,GAAc5C,MAKzB9wD,GAAc,WAAY,OAAQ,CAChChF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQoC,GAASvC,GAAK,GAAO,GAC7B+mB,EAAOxvB,KAAKqvD,UAAUoR,GAAYh4D,EAAI0xB,SAS5C,OARcr0B,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,IAEN5yB,KAAM,cAKVqyD,UAAA,SAAUC,GACA,IAAA1xC,EAAqB0xC,EAAhB,MACb,OAD6BA,EAAL,UAEf,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,IACH0yB,KAAMrS,IAKL,CACLy+C,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,EACH0yB,KAAMrS,OCZR,SAAU2gD,GAAepvC,GAC7B,IAAMtoB,EAAQsoB,EAAStoB,MACjB8hB,EAAawG,EAASxG,WACtB+L,EAASvF,EAAS7mB,YAClB24D,EAAUvsC,EAAO5T,OACjBgmC,EAAY33B,EAASwhC,kBACvB5G,EAAgBkX,EAAQjiE,OAC5B,GAAI01B,EAAOkoB,UAAYqkB,EAAQjiE,OAAS,EAAG,CAEzCiiE,EAAQzmC,OACR,IAAMvpB,EAxCV,SAAyBvS,EAAK4qB,GAC5B,IAAMygC,EAAQrrD,EAAIM,OACdkiE,EAAYxiE,EACZ,mBAASwiE,EAAU,MAErBA,EAAYxiE,EAAIgmB,KAAI,SAACphB,GACnB,OAAOgmB,EAAMsyB,UAAUt4C,OAI3B,IADA,IAAImlC,EAAWy4B,EAAU,GAAKA,EAAU,GAC/BzkE,EAAI,EAAGA,EAAIstD,EAAOttD,IAAK,CAC9B,IAAM+qC,EAAM05B,EAAUzkE,GAAKykE,EAAUzkE,EAAI,GACrCgsC,EAAWjB,IACbiB,EAAWjB,GAGf,OAAOiB,EAwBY04B,CAAgBF,EAASvsC,GAC1Cq1B,GAASr1B,EAAO9V,IAAM8V,EAAO7V,KAAO5N,EAChCgwD,EAAQjiE,OAAS+qD,IACnBA,EAAQkX,EAAQjiE,QAIpB,IAAM6uB,EAAQ6G,EAAO7G,MACjBuzC,EAAiB,EAAIrX,EACrBsX,EAAK,GACL14C,EAAW6X,QAGX6gC,EAFE14C,EAAW8X,cAAgBspB,EAAQ,EAEhCljD,EAAMy6D,sBAENz6D,EAAM06D,gBAGT7sC,EAAOkoB,WACTwkB,GAAkBvzC,EAAM,GAAKA,EAAM,IAErCwzC,EAAKx6D,EAAMkvD,kBAEbqL,GAAkBC,EACdlyC,EAAS8jC,UAAU,YAKrBmO,GAlDJ,SAAuBta,EAAW2M,GAChC,GAAIA,EAAS,CACX,IAAM+N,EAAY,kBAAQ1a,GAE1B,OADe,sBAAY0a,EAAW/N,GACxBz0D,OAGhB,OAAO8nD,EAAU9nD,OAyCIyiE,CAAc3a,EAFb33B,EAAS8jC,UAAU,SACXQ,UAOtB,IAAAiO,EAAmC76D,EAArB,eAAE86D,EAAmB96D,EAAL,eAChC+6D,EAAmBl7B,GAAoBvX,EAASxG,YACtD,GAAI+4C,EAAgB,CAClB,IAAMG,EAA2BH,EAAiBE,EAC9CR,EAAiBS,IACnBT,EAAiBS,GAIrB,GAAIF,EAAgB,CAClB,IAAMG,EAA2BH,EAAiBC,EAC9CR,EAAiBU,IACnBV,EAAiBU,GAIrB,OAAOV,ECjFT,I,GAAA,uE,OACkB,EAAAp3D,KAAe,WACf,EAAAwiD,UAAoB,WAC1B,EAAAkE,gBAA0B,E,EAkEtC,OArEsC,yBAU1B,YAAAuD,qBAAV,SAA+B50D,GAC7B,IAGI4rC,EAHEpiC,EAAM,YAAMorD,qBAAoB,UAAC50D,GAIjC0iE,EAAW3hE,KAAK09C,aAAa,QAC/BikB,GACF92B,EAAO7qC,KAAK4yD,mBAAmB+O,EAAU1iE,GAAK,GAI9C4rC,GADwBvE,GADLtmC,KAAKuoB,cAInBvoB,KAAK0xD,cACR1xD,KAAK0xD,YAAcyM,GAAen+D,OAEpC6qC,EAAO7qC,KAAK0xD,aAId,OAFAjpD,EAAIoiC,KAAOA,EAEJpiC,GAOC,YAAA+oD,YAAV,WACE,YAAMA,YAAW,WACjB,IAAMj9B,EAASv0B,KAAKmI,YAEpB,GAA6B,UAAzBnI,KAAKuoB,WAAW3e,KAClB2qB,EAAO4tB,OAAO,CACZ1kB,MAAM,EACNhf,IAAK,EAELD,IAAKrP,KAAKqP,IAAIrP,KAAKqP,IAAIne,MAAM,KAAMk0B,EAAO7T,QAAS6T,EAAO/V,WAEvD,CAEL,IAAMwqC,EAAYhpD,KAAKgpD,UACf/gD,EAA0BssB,EAArB,MAAE9V,EAAmB8V,EAAhB,IAAE/V,EAAc+V,EAAX,IACV,SADqBA,EAAL,OAIvB9V,EAAM,IAAM,cAAIuqC,EAAW,CAAC/gD,EAAO,SACrCssB,EAAO4tB,OAAO,CACZ1jC,IAAK,IAILD,GAAO,IAAM,cAAIwqC,EAAW,CAAC/gD,EAAO,SACtCssB,EAAO4tB,OAAO,CACZ3jC,IAAK,OAMjB,EArEA,CAAsC,I,GCJtC,YAGE,WAAY/V,GAAZ,MACE,YAAMA,IAAI,KAHL,EAAAmB,KAAe,OAKZ,MAAoBnB,EAAL,SAAfkoD,OAAQ,IAAG,GAAI,E,OACvB,EAAKA,SAAWA,E,EAEpB,OATkC,yBASlC,EATA,CAAkC,ICPrB1jD,GAAgB,CAC3B20D,QAAS,SAAC53D,EAAWvH,EAAWtF,GAC9B,IAAM0kE,EAAS1kE,EAAI,EAAKgS,KAAKI,KAAK,GAClC,MAAO,CACL,CAAC,IAAKvF,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAI63D,EAAOp/D,EAAItF,EAAI,GACzB,CAAC,IAAK6M,EAAI63D,EAAOp/D,EAAItF,EAAI,GACzB,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAI63D,EAAOp/D,EAAItF,EAAI,GACzB,CAAC,IAAK6M,EAAI63D,EAAOp/D,EAAItF,EAAI,GACzB,CAAC,OAGL2kE,OAAQ,SAAC93D,EAAWvH,EAAWtF,GAC7B,IAAM4kE,EAAQ5kE,EAAI,IAClB,MAAO,CAAC,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAIs/D,GAAQ,CAAC,IAAK/3D,EAAI7M,EAAGsF,EAAIs/D,GAAQ,CAAC,IAAK/3D,EAAI7M,EAAGsF,EAAIs/D,GAAQ,CAAC,IAAK/3D,EAAI7M,EAAGsF,EAAIs/D,GAAQ,CAAC,OAE/GC,MAAO,SAACh4D,EAAWvH,EAAWtF,GAC5B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAItF,GACjB,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAItF,GACjB,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAItF,GACjB,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAItF,KAGrBmyB,KAAM,SAACtlB,EAAWvH,EAAWtF,GAC3B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,KAGzB8kE,KAAM,SAACj4D,EAAWvH,EAAWtF,GAC3B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAGvH,EAAItF,KAGjB+kE,OAAQ,SAACl4D,EAAWvH,EAAWtF,GAC7B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAI7M,EAAGsF,KAGjBskB,KAAM,SAAC/c,EAAWvH,EAAWtF,GAC3B,MAAO,CACL,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAGvH,EAAItF,MChDNglE,GAAS,CAAC,SAAU,SAAU,SAAU,UAAW,UAAW,WAAY,iBAajF,SAAUC,GACd7xD,EACA9H,EACA3C,EACAktD,EACAqI,GAEA,IAAMzyD,EAAQoC,GAASvC,EAAK4yD,GAAWA,EAAU,KAC3ClhC,EAAS5pB,EAAMk/C,YAAYhnD,EAAI0xB,QACjCkoC,EAAgBloC,EAAO,GAC3B,GAAI1xB,EAAI4zD,QACNgG,EAAgBloC,EAAO,QAClB,GAAIA,EAAOv7B,OAAS,EAAG,CAE5B,IADA,IAAM0R,EAAQxK,EAAU4jB,WACJ,MAAAyQ,EAAA,eAAQ,CAAvB,IAAMxJ,EAAK,KACdrgB,EAAM4iB,SAAS,CACbtpB,KAAM,SACNyoB,MAAO,OAAF,WAAE,CAAF,yCACAzpB,GAAK,CACRqzD,OAAQhvD,GAAc+lD,IAAcA,IACjCriC,KAIT,OAAOrgB,EAGT,OAAOxK,EAAUotB,SAAS,CACxBtpB,KAAM,SACNyoB,MAAO,OAAF,WAAE,CAAF,yCACAzpB,GAAK,CACRqzD,OAAQhvD,GAAc+lD,IAAcA,IACjCqP,KCzCiB1S,GAAqB,QAAS,CACtDlC,iBAAkB,gBAClBuB,iBAAA,SAAiBuO,GACf,OAAO/B,GAAY+B,MAIvB,eAAK4E,IAAQ,SAACnP,GAEZvmD,GAAc,QAAS,UAAUumD,EAAa,CAC5CvrD,KAAA,SAAKgB,EAAgB3C,GACnB,OAAOs8D,GAAWpiE,KAAMyI,EAAK3C,EAAWktD,GAAW,IAErD/D,UAAA,SAAUC,GACA,IAAA1xC,EAAU0xC,EAAL,MACb,MAAO,CACL+M,OAAQhvD,GAAc+lD,IAAcA,EACpCpqD,MAAO,CACLzL,EAAG,IACHmzB,OAAQ9S,EACRqS,KAAM,aAOD,I,GC3Bf,uE,OACkB,EAAAjmB,KAAe,QACf,EAAAwiD,UAAoB,QAC1B,EAAAkE,gBAA0B,E,EAetC,OAlBmC,yBAUvB,YAAA4D,WAAV,SAAqBF,GACnB,IAAMC,EAAW,YAAMC,WAAU,UAACF,GAElC,gDACKC,GAAQ,CACXoI,UAAWr8D,KAAK6yD,UAAU,YAGhC,EAlBA,CAAmC,IC2BPlD,GAAqB,UAAW,CAC1DlC,iBAAkB,UAClBuB,iBAAA,SAAiBuO,GACf,IAAMpjC,EAAS,GAQf,OAPA,eAAKojC,EAAUvzD,GAAe,SAACs4D,EAAM5jE,GACnC,IAAM6jE,EAAOhF,EAAU96D,EAAE/D,GACzBy7B,EAAO72B,KAAK,CACV0G,EAAGs4D,EACH7/D,EAAG8/D,OAGApoC,KAIX1tB,GAAc,UAAW,UAAW,CAClChF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAK,kBAAQ2C,EAAI0xB,QAAS,CACxB,IAAMwiC,EAAa3xD,GAASvC,GAAK,GAAM,GACjC+mB,EAAOxvB,KAAKqvD,UAhDxB,SAAiBl1B,GAMf,IALA,IAAIsP,EAAYtP,EAAO,GACnB99B,EAAI,EAEFmzB,EAAO,CAAC,CAAC,IAAKia,EAAKz/B,EAAGy/B,EAAKhnC,IAE1BpG,EAAI89B,EAAOv7B,QAAQ,CACxB,IAAMlC,EAASy9B,EAAO99B,GAClBK,EAAEsN,IAAMmwB,EAAO99B,EAAI,GAAG2N,GAAKtN,EAAE+F,IAAM03B,EAAO99B,EAAI,GAAGoG,IACnD+sB,EAAKlsB,KAAK,CAAC,IAAK5G,EAAEsN,EAAGtN,EAAE+F,IACnB/F,EAAEsN,IAAMy/B,EAAKz/B,GAAKtN,EAAE+F,IAAMgnC,EAAKhnC,GAAKpG,EAAI89B,EAAOv7B,OAAS,IAC1D6qC,EAAOtP,EAAO99B,EAAI,GAClBmzB,EAAKlsB,KAAK,CAAC,MACXksB,EAAKlsB,KAAK,CAAC,IAAKmmC,EAAKz/B,EAAGy/B,EAAKhnC,IAC7BpG,MAGJA,IASF,OANK,kBAAQ,eAAKmzB,GAAOia,IACvBja,EAAKlsB,KAAK,CAAC,IAAKmmC,EAAKz/B,EAAGy/B,EAAKhnC,IAG/B+sB,EAAKlsB,KAAK,CAAC,MAEJksB,EAsByB,CAAQ/mB,EAAI0xB,SACxC,OAAOr0B,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,OAAF,WAAE,CAAF,sBACAsqC,GAAU,CACbntC,KAAI,IAEN5yB,KAAM,cAIZqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,EACH0yB,KALcq/B,EAAL,WAWF,I,GCnEf,uE,OACkB,EAAAtlD,KAAe,UACf,EAAAwiD,UAAoB,UAC1B,EAAAkE,gBAA0B,E,EAyCtC,OA5CqC,yBAUzB,YAAAuD,qBAAV,SAA+B50D,GAC7B,IAGIujE,EAHE/5D,EAAW,YAAMorD,qBAAoB,UAAC50D,GACxC+K,EAAIvB,EAAIuB,EACRvH,EAAIgG,EAAIhG,EAGZ,IAAM,kBAAQuH,KAAM,kBAAQvH,GAAK,CAC/B,IAAM6xB,EAASt0B,KAAKkI,YACdqsB,EAASv0B,KAAKmI,YAGds6D,EAAW,GAFFnuC,EAAO5T,OAAO9hB,OAGvB8jE,EAAW,GAFFnuC,EAAO7T,OAAO9hB,OAIzB01B,EAAOwnB,YAAcvnB,EAAOunB,YAE9B9xC,EAAI,CAACA,EAAIy4D,EAASz4D,EAAIy4D,EAASz4D,EAAIy4D,EAASz4D,EAAIy4D,GAChDhgE,EAAI,CAACA,EAAIigE,EAASjgE,EAAIigE,EAASjgE,EAAIigE,EAASjgE,EAAIigE,IACvC,kBAAQ14D,IAGjBA,EAAI,EADJw4D,EAAOx4D,GACG,GAAIw4D,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACrC//D,EAAI,CAACA,EAAIigE,EAAU,EAAGjgE,EAAIigE,EAAU,EAAGjgE,EAAIigE,EAAU,EAAGjgE,EAAIigE,EAAU,IAC7D,kBAAQjgE,KAGjBA,EAAI,EADJ+/D,EAAO//D,GACG,GAAI+/D,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACrCx4D,EAAI,CAACA,EAAIy4D,EAAU,EAAGz4D,EAAIy4D,EAAU,EAAGz4D,EAAIy4D,EAAU,EAAGz4D,EAAIy4D,EAAU,IAExEh6D,EAAIuB,EAAIA,EACRvB,EAAIhG,EAAIA,EAEV,OAAOgG,GAEX,EA5CA,CAAqC,I,ICRVknD,GAAqB,SAAU,CACxDlC,iBAAkB,KCOpB,uE,OACkB,EAAA7jD,KAAe,SACf,EAAAwiD,UAAoB,SAC1B,EAAAkE,gBAA0B,E,EA6BtC,OAhCoC,yBAUxB,YAAAuD,qBAAV,SAA+BhnB,GAC7B,IAGIhC,EAHEpiC,EAAM,YAAMorD,qBAAoB,UAAChnB,GAIjC80B,EAAW3hE,KAAK09C,aAAa,QAC/BikB,GACF92B,EAAO7qC,KAAK4yD,mBAAmB+O,EAAU90B,GAAQ,GAIjDhC,GADwBvE,GADLtmC,KAAKuoB,cAInBvoB,KAAK0xD,cACR1xD,KAAK0xD,YAAcyM,GAAen+D,OAEpC6qC,EAAO7qC,KAAK0xD,aAId,OAFAjpD,EAAIoiC,KAAOA,EAEJpiC,GAEX,EAhCA,CAAoC,KCA9B,SAAUk6D,GAASvkC,EAAaC,GACpC,IAAMlE,EAAS,GACfA,EAAO72B,KAAK,CACV0G,EAAGo0B,EAAKp0B,EACRvH,EAAa,EAAT27B,EAAK37B,EAAS,EAAY,EAAP47B,EAAG57B,EAAS,IAGrC03B,EAAO72B,KAAK,CACV0G,EAAGq0B,EAAGr0B,EACNvH,EAAa,EAAT27B,EAAK37B,EAAS,EAAY,EAAP47B,EAAG57B,EAAS,IAErC03B,EAAO72B,KAAK+6B,GAEZ,IAAM8J,EAAM,CAAC,KAKb,OAJA,eAAKhO,GAAQ,SAACxJ,GACZwX,EAAI7kC,KAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,MAGnB0lC,EAUH,SAAUy6B,GAASvkC,EAAW3O,GAClC,IAAMyK,EAAS,GACfA,EAAO72B,KAAK,CACV0G,EAAG0lB,EAAO1lB,EACVvH,EAAGitB,EAAOjtB,IAEZ03B,EAAO72B,KAAK+6B,GAEZ,IAAM8J,EAAM,CAAC,KAKb,OAJA,eAAKhO,GAAQ,SAACxJ,GACZwX,EAAI7kC,KAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,MAGnB0lC,EC3CT17B,GAAc,OAAQ,OAAQ,CAC5BhF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAMusB,EAAQ,GAAc5pB,GAAK,GAAM,EAAOzI,MAO9C,OANc8F,EAAUotB,SAAS,CAC/BtpB,KAAM,OACNyoB,MAAK,EACLz1B,KAAM,UAKVqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SAACjyD,EAAWvH,EAAWtF,GAC7B,YAD6B,IAAAA,MAAA,KACtB,CAAC,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,OAE/FmG,MAAO,CACLzL,EAAG,EACHmzB,OAPc4+B,EAAL,MAQTr/B,KAAM,UCnBdpjB,GAAc,OAAQ,SAAU,CAC9BhF,KAAA,SAAKgB,EAAgB3C,GACnB,IACMusB,EAAQ,GAAc5pB,GAAK,GAAO,EAAMzI,KAAMs9D,GADjCt9D,KAAKuoB,aAQxB,OANcziB,EAAUotB,SAAS,CAC/BtpB,KAAM,OACNyoB,MAAK,EACLz1B,KAAM,UAKVqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SAACjyD,EAAWvH,EAAWtF,GAC7B,YAD6B,IAAAA,MAAA,KACtB,CAAC,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,OAE/FmG,MAAO,CACLzL,EAAG,EACH0yB,KAPcq/B,EAAL,WCfjBziD,GAAc,OAAQ,cAAe,CACnChF,KAAA,SAAKgB,EAAgB3C,GACnB,IACMusB,EAAQ,GAAc5pB,GAAK,GAAM,EAAMzI,KAAMs9D,GADhCt9D,KAAKuoB,aAQxB,OANcziB,EAAUotB,SAAS,CAC/BtpB,KAAM,OACNyoB,MAAK,EACLz1B,KAAM,UAKVqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SAACjyD,EAAWvH,EAAWtF,GAC7B,YAD6B,IAAAA,MAAA,KACtB,CAAC,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,IAAKuH,EAAI7M,EAAGsF,EAAI,GAAI,CAAC,OAE/FmG,MAAO,CACLzL,EAAG,EACHmzB,OAPc4+B,EAAL,MAQTr/B,KAAM,UCEdpjB,GAAc,OAAQ,MAAO,CAC3BhF,KAAA,SAAKgB,EAAgB3C,GACnB,IAII0pB,EAJE5mB,EAAQoC,GAASvC,GAAK,GAAM,EAAO,aAErC0xB,EAAS1xB,EAAI0xB,OACXvwB,EAAOuwB,EAAOv7B,OAAS,EAAI,SAAW,SAE5C,GAAI6J,EAAIigC,WAAY,CAClB,IAAMhZ,EAAS,CAAE1lB,EAAG,EAAGvH,EAAG,GAS1B,MARa,WAATmH,EACF4lB,EAhCR,SAAyB4O,EAAaC,EAAW3O,GAC/C,IAAMyY,EAAMy6B,GAASvkC,EAAI3O,GACnBF,EAAO,CAAC,CAAC,IAAK4O,EAAKp0B,EAAGo0B,EAAK37B,IAEjC,OADA+sB,EAAKlsB,KAAK6kC,GACH3Y,EA4BMqzC,CAAgB1oC,EAAO,GAAIA,EAAO,GAAIzK,IAE7C9mB,EAAMinB,KAAOjnB,EAAM0nB,OACnBd,EA5BR,SAA+B2K,EAAiBzK,GAC9C,IAAMozC,EAAOF,GAASzoC,EAAO,GAAIzK,GAC3BqzC,EAAOH,GAASzoC,EAAO,GAAIzK,GAC3BF,EAAO,CAAC,CAAC,IAAK2K,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IAQ3C,OAPA+sB,EAAKlsB,KAAKy/D,GACVvzC,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IACvC+sB,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IACvC+sB,EAAKlsB,KAAKw/D,GACVtzC,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IACvC+sB,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IACvC+sB,EAAKlsB,KAAK,CAAC,MACJksB,EAiBMwzC,CAAsB7oC,EAAQzK,IAEvCF,EAAOxvB,KAAKqvD,UAAU7/B,GAEf1pB,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,MAIR,GAAa,WAAT5lB,EASF,OAPA4lB,EAAO+V,KADPpL,EAASn6B,KAAKyvD,YAAYt1B,IAEhB,GAAGnwB,EAAImwB,EAAO,GAAGnwB,GAAK,EAC9BmwB,EAAO,GAAG13B,EACV0M,KAAKsmB,IAAI0E,EAAO,GAAGnwB,EAAImwB,EAAO,GAAGnwB,GAAK,EACtCmF,KAAKE,GACK,EAAVF,KAAKE,IAEAvJ,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,MAIR,IAAMyzC,EAAKN,GAASxoC,EAAO,GAAIA,EAAO,IAChC+oC,EAAKP,GAASxoC,EAAO,GAAIA,EAAO,IActC,OAZA3K,EAAO,CACL,CAAC,IAAK2K,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7BwgE,EACA,CAAC,IAAK9oC,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7BygE,EACA,CAAC,MAEH1zC,EAAOxvB,KAAKqvD,UAAU7/B,GACtB5mB,EAAMinB,KAAOjnB,EAAM0nB,OAEZxqB,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,OAMdy/B,UAAA,SAAUC,GACR,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,IACH0yB,KAAMq/B,EAAU1xC,WCpFxB/Q,GAAc,OAAQ,SAAU,CAC9BhF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQoC,GAASvC,GAAK,GAAM,EAAO,aACnC0xB,EAAS1xB,EAAI0xB,OACb3K,EAAOxvB,KAAKqvD,UAZtB,SAAuBjxB,EAAaC,GAClC,IAAM8J,EAAMw6B,GAASvkC,EAAMC,GACrB7O,EAAO,CAAC,CAAC,IAAK4O,EAAKp0B,EAAGo0B,EAAK37B,IAGjC,OADA+sB,EAAKlsB,KAAK6kC,GACH3Y,EAOuB2zC,CAAchpC,EAAO,GAAaA,EAAO,KACrE,OAAOr0B,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,OAIVy/B,UAAA,SAAUC,GACR,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,IACH0yB,KAAMq/B,EAAU1xC,WCHxB/Q,GAAc,OAAQ,MAAO,CAC3BhF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQoC,GAASvC,GAAK,GAAM,EAAO,aACnC0xB,EAAS1xB,EAAI0xB,OACb3K,EAAOxvB,KAAKqvD,UAxBtB,SAAoBjxB,EAAaC,GAC/B,IAAMlE,EAAS,GACfA,EAAO72B,KAAK,CACV0G,EAAGo0B,EAAKp0B,EACRvH,EAAG27B,EAAK37B,GAAK,EANM,EAAI,GAMY47B,EAAG57B,GANnB,EAAI,KAQzB03B,EAAO72B,KAAK,CACV0G,EAAGq0B,EAAGr0B,EACNvH,EAAG27B,EAAK37B,GAAK,EAVM,EAAI,GAUY47B,EAAG57B,GAVnB,EAAI,KAYzB03B,EAAO72B,KAAK+6B,GAEZ,IAAM7O,EAAO,CAAC,CAAC,IAAK4O,EAAKp0B,EAAGo0B,EAAK37B,IAKjC,OAJA,eAAK03B,GAAQ,SAACxJ,GACZnB,EAAKlsB,KAAK,CAAC,IAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,OAG1B+sB,EAOuB4zC,CAAWjpC,EAAO,GAAaA,EAAO,KAClE,OAAOr0B,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,OAIVy/B,UAAA,SAAUC,GACR,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,IACH0yB,KAAMq/B,EAAU1xC,WCtCxB/Q,GAAc,WAAY,SAAU,CAClCsiD,UAAA,SAAUF,GAER,OADAA,EAAWhkB,KAAyB,EAAlBgkB,EAAWhkB,KACtBs1B,GAActR,IAEvBpnD,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQoC,GAASvC,GAAK,GAAO,GAC7B+mB,EAAOxvB,KAAKqvD,UAAUuR,GAAcn4D,EAAI0xB,OAAmB1xB,EAAI4rD,YAAuB,IAQ5F,OAPcvuD,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,IAEN5yB,KAAM,cAIVqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,EACH0yB,KALcq/B,EAAL,WClBjBziD,GAAc,WAAY,cAAe,CACvChF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQoC,GAASvC,GAAK,GAAM,GAC5B+mB,EAAOxvB,KAAKqvD,UAAUoR,GAAYh4D,EAAI0xB,SAS5C,OARcr0B,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,IAEN5yB,KAAM,cAKVqyD,UAAA,SAAUC,GACA,IAAA1xC,EAAqB0xC,EAAhB,MACb,OAD6BA,EAAL,UAEf,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,IACHmzB,OAAQ9S,EACRqS,KAAM,OAKL,CACLosC,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,EACHmzB,OAAQ9S,EACRqS,KAAM,UCZdpjB,GAAc,WAAY,OAAQ,CAChCsiD,UAAA,SAAUF,GACR,OApBM7kD,GADauzD,EAqBE1O,GApBd,EAAEpsD,EAAU86D,EAAT,EAAExJ,EAAOwJ,EAAL,GAEZ,kBAAQ96D,GACHA,EAAE6hB,KAAI,SAACk5C,EAAOr0D,GACnB,MAAO,CACLa,EAAG,kBAAQA,GAAKA,EAAEb,GAAOa,EACzBvH,EAAG+6D,MAMF,CACL,CAAExzD,EAAGA,EAAavH,EAAGsxD,GACrB,CAAE/pD,EAAGA,EAAavH,EAAC,IAfvB,IAAuB86D,EACbvzD,EAAGvH,EAAGsxD,GAsBdtsD,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQoC,GAASvC,GAAK,GAAM,EAAO,aACnC+mB,EAAOxvB,KAAKqvD,UAAUoR,GAAYh4D,EAAI0xB,QAAmB,IAS/D,OARcr0B,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,IAEN5yB,KAAM,cAKVqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SAACjyD,EAAWvH,EAAWtF,GAC7B,MAAO,CACL,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAGvH,EAAItF,KAGjByL,MAAO,CACLzL,EAAG,EACHmzB,OAVc4+B,EAAL,WCtCjBziD,GAAc,WAAY,UAAW,CACnCsiD,UAAA,SAAUF,GAER,OADAA,EAAWhkB,KAAyB,EAAlBgkB,EAAWhkB,KACtBs1B,GAActR,GAAY,IAEnCpnD,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQoC,GAASvC,GAAK,GAAO,GAC7B+mB,EAAOxvB,KAAKqvD,UAAUuR,GAAcn4D,EAAI0xB,OAAmB1xB,EAAI4rD,YAAuB,IAS5F,OARcvuD,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,IAEN5yB,KAAM,cAKVqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,EACH0yB,KALcq/B,EAAL,WCsBjBziD,GAAc,WAAY,OAAQ,CAChCsiD,UAAA,SAAUF,GACR,OA3CJ,SAAuB0O,GACb,IACJ8C,EACAC,EAFIt2D,EAAmBuzD,EAAlB,EAAE96D,EAAgB86D,EAAf,EAAExJ,EAAawJ,EAAX,GAAE1yB,EAAS0yB,EAAL,KAGlB,kBAAQ96D,IACT49D,EAAc59D,EAAV,GAAE69D,EAAQ79D,EAAJ,KAEX49D,EAAOtM,EACPuM,EAAO79D,GAGT,IAAM+9D,EAAQx2D,EAAe6gC,EAAO,EAC9B01B,EAAQv2D,EAAe6gC,EAAO,EAMpC,MAAO,CACL,CAAE7gC,EAAGA,EAAavH,EAAG49D,GACrB,CAAEr2D,EAAGA,EAAavH,EAAG69D,GACrB,CAAEt2D,EAAGu2D,EAAM99D,EAAG49D,GACd,CAAEr2D,EAAGw2D,EAAM/9D,EAAG49D,GACd,CAAEr2D,EAAGu2D,EAAM99D,EAAG69D,GACd,CAAEt2D,EAAGw2D,EAAM/9D,EAAG69D,IAmBP+C,CAAcxU,IAEvBpnD,KAAA,SAAKgB,EAAgB3C,GACnB,IAjBiBq0B,EAiBXvxB,EAAQoC,GAASvC,GAAK,GAAM,GAC5B+mB,EAAOxvB,KAAKqvD,UAjBb,CACL,CAAC,KAFgBl1B,EAkBuB1xB,EAAI0xB,QAhB/B,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,KAoB7B,OARcqD,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,IAEN5yB,KAAM,cAKVqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SAACjyD,EAAWvH,EAAWtF,GAC7B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,KAGzByL,MAAO,CACLzL,EAAG,EACHmzB,OAdc4+B,EAAL,WCFjB,SAASoU,GAAyB76D,EAAgB2jD,GAChD,IAAMjyB,EAAS8gC,GAAcxyD,EAAI0xB,OAAQ1xB,EAAIyyD,aAAczyD,EAAI0yD,iBAC3D3rC,EAAO,GAMX,OALA,eAAK2K,GAAQ,SAACyiC,GACZ,IAAM2G,EAzBV,SAA8BppC,EAAiBiyB,GAC7C,IAAI/tD,EAAS,GASb,OARA,eAAK87B,GAAQ,SAACxJ,EAAcjyB,GAC1B,IAAMspC,EAAY7N,EAAOz7B,EAAQ,GAEjC,GADAL,EAAOiF,KAAKqtB,GACRqX,EAAW,CACb,IAAMw7B,EAzCgB,SAAC7yC,EAAcqX,EAAkBokB,GAC3D,IAII/tD,EAJE2L,EAAI2mB,EAAM3mB,EACVvH,EAAIkuB,EAAMluB,EACVghE,EAAQz7B,EAAUh+B,EAClB05D,EAAQ17B,EAAUvlC,EAGxB,OAAQ2pD,GACN,IAAK,KACH/tD,EAAS,CAAC,CAAE2L,EAAGy5D,EAAOhhE,EAAC,IACvB,MACF,IAAK,KACHpE,EAAS,CAAC,CAAE2L,EAAC,EAAEvH,EAAGihE,IAClB,MACF,IAAK,MACH,IAAMC,GAAWF,EAAQz5D,GAAK,EAC9B3L,EAAS,CACP,CAAE2L,EAAG25D,EAASlhE,EAAC,GACf,CAAEuH,EAAG25D,EAASlhE,EAAGihE,IAEnB,MACF,IAAK,MACH,IAAME,GAAWnhE,EAAIihE,GAAS,EAC9BrlE,EAAS,CACP,CAAE2L,EAAC,EAAEvH,EAAGmhE,GACR,CAAE55D,EAAGy5D,EAAOhhE,EAAGmhE,IAOrB,OAAOvlE,EASsBwlE,CAAoBlzC,EAAOqX,EAAWokB,GAC/D/tD,EAASA,EAAO2F,OAAOw/D,OAGpBnlE,EAeqBylE,CAAqBlH,EAAgBxQ,GAC/D58B,EAAOA,EAAKxrB,OAZhB,SAA4Bm2B,GAC1B,OAAOA,EAAO7V,KAAI,SAACqM,EAAOjyB,GACxB,OAAiB,IAAVA,EAAc,CAAC,IAAKiyB,EAAM3mB,EAAG2mB,EAAMluB,GAAK,CAAC,IAAKkuB,EAAM3mB,EAAG2mB,EAAMluB,MAUjDshE,CAAmBR,OAGxC,yCACKv4D,GAASvC,GAAK,GAAM,EAAO,cAAY,CAC1C+mB,KAAI,ICpER,SAASw0C,GAAW1mE,GAClB,IAAMk+B,EAAS,kBAAQl+B,GAAmBA,EAAV,CAACA,GAE3BmhB,EAAM+c,EAAM,GACZhd,EAAMgd,EAAMA,EAAM58B,OAAS,GAC3BqlE,EAAOzoC,EAAM58B,OAAS,EAAI48B,EAAM,GAAK/c,EAI3C,MAAO,CACLA,IAAG,EACHD,IAAG,EACHylD,KAAI,EACJC,KAPW1oC,EAAM58B,OAAS,EAAI48B,EAAM,GAAKhd,EAQzC2lD,OAPa3oC,EAAM58B,OAAS,EAAI48B,EAAM,GAAKyoC,GAW/C,SAASG,GAAap6D,EAAsBvH,EAAsBooC,GAChE,IACIw5B,EADEC,EAAWz5B,EAAO,EAExB,GAAI,kBAAQpoC,GAAI,CAER,MAAmCuhE,GAAWvhE,GAA5Cgc,EAAG,MAAED,EAAG,MAAE2lD,EAAM,SAAEF,EAAI,OACxB/zD,EAAQlG,EAAes6D,EACvBn0D,EAAQnG,EAAes6D,EAC7BD,EAAc,CACZ,CAACn0D,EAAMsO,GACP,CAACrO,EAAMqO,GACP,CAACxU,EAAawU,GACd,CAACxU,EAP6Bk6D,EAAI,QAQlC,CAACh0D,EAAM+zD,GACP,CAAC/zD,EAAMg0D,GACP,CAAC/zD,EAAM+zD,GACP,CAAC/zD,EAAM8zD,GACP,CAACj6D,EAAai6D,GACd,CAACj6D,EAAayU,GACd,CAACvO,EAAMuO,GACP,CAACtO,EAAMsO,GACP,CAACvO,EAAMi0D,GACP,CAACh0D,EAAMg0D,QAEJ,CAEL1hE,EAAI,gBAAMA,GAAK,GAAMA,EACf,IAA0ByhE,EAA1B,EAAmCF,GAAWh6D,GAC9CoG,GADEqO,EAAG,MAAED,EAAG,MAAE2lD,EAAM,SACX1hE,EAAI6hE,GACXj0D,EAAO5N,EAAI6hE,EACjBD,EAAc,CACZ,CAAC5lD,EAAKrO,GACN,CAACqO,EAAKpO,GACN,CAACoO,EAAKhc,GACN,CAPwBwhE,EAAI,OAOrBxhE,GACP,CAACwhE,EAAM7zD,GACP,CAAC6zD,EAAM5zD,GACP,CAV8B6zD,EAAI,OAU3B7zD,GACP,CAAC6zD,EAAM9zD,GACP,CAAC8zD,EAAMzhE,GACP,CAAC+b,EAAK/b,GACN,CAAC+b,EAAKpO,GACN,CAACoO,EAAKnO,GACN,CAAC8zD,EAAQ/zD,GACT,CAAC+zD,EAAQ9zD,IAIb,OAAOg0D,EAAY//C,KAAI,SAAChmB,GACtB,MAAO,CACL0L,EAAG1L,EAAI,GACPmE,EAAGnE,EAAI,OCpEb,SAASimE,GAAiBjnE,GACxB,IAEMknE,GAFS,kBAAQlnE,GAAmBA,EAAV,CAACA,IAEZ88B,MAAK,SAACj2B,EAAGzE,GAAM,OAAAA,EAAA,KACpC,OjFeI,SAAiB6hB,EAAwBkjD,EAAsBC,GACnE,GAAI,mBAASnjD,GACX,OAAOA,EAAOojD,OAAOF,EAAcC,GAC9B,GAAI,kBAAQnjD,GAAS,CAC1B,IAAMqjD,EAAerjD,EAAO3iB,OAC5B,GAAIgmE,EAAeH,EAEjB,IADA,IAAMv9B,EAAOu9B,EAAeG,EACnBvoE,EAAI,EAAGA,EAAI6qC,EAAM7qC,IACxBklB,EAAOje,KAAKohE,GAKlB,OAAOnjD,EiF5BAojD,CAAOH,EAAQ,EAAGA,EAAOA,EAAO5lE,OAAS,IAIlD,SAASimE,GAAgB76D,EAAWvH,EAAaooC,GAC/C,IAAMi6B,EAAUP,GAAiB9hE,GACjC,MAAO,CACL,CAAEuH,EAAC,EAAEvH,EAAGqiE,EAAQ,IAChB,CAAE96D,EAAC,EAAEvH,EAAGqiE,EAAQ,IAChB,CAAE96D,EAAGA,EAAI6gC,EAAO,EAAGpoC,EAAGqiE,EAAQ,IAC9B,CAAE96D,EAAGA,EAAI6gC,EAAO,EAAGpoC,EAAGqiE,EAAQ,IAC9B,CAAE96D,EAAGA,EAAI6gC,EAAO,EAAGpoC,EAAGqiE,EAAQ,IAC9B,CAAE96D,EAAGA,EAAI6gC,EAAO,EAAGpoC,EAAGqiE,EAAQ,IAC9B,CAAE96D,EAAC,EAAEvH,EAAGqiE,EAAQ,IAChB,CAAE96D,EAAC,EAAEvH,EAAGqiE,EAAQ,KCnBpB,SAASC,GAAa5qC,EAAe0Q,GACnC,IAAMxkC,EAAQ8I,KAAKsmB,IAAI0E,EAAO,GAAGnwB,EAAImwB,EAAO,GAAGnwB,GACzC1D,EAAS6I,KAAKsmB,IAAI0E,EAAO,GAAG13B,EAAI03B,EAAO,GAAG13B,GAE5C4kC,EAAMl4B,KAAKsP,IAAIpY,EAAOC,GAQ1B,OAPIukC,IACFxD,EAAM,gBAAMwD,EAAM,EAAG17B,KAAKsP,IAAIpY,EAAOC,KAEvC+gC,GAAY,EAIL,CACLr9B,GAJemwB,EAAO,GAAGnwB,EAAImwB,EAAO,GAAGnwB,GAAK,EAI/Bq9B,EACb5kC,GAJe03B,EAAO,GAAG13B,EAAI03B,EAAO,GAAG13B,GAAK,EAI/B4kC,EACbhhC,MAAa,EAANghC,EACP/gC,OAAc,EAAN+gC,GHyDZ,eAAK,CAAC,KAAM,KAAM,MAAO,QAAQ,SAAC+kB,GAChC3/C,GAAc,OAAQ2/C,EAAW,CAC/B3kD,KAAA,SAAKgB,EAAgB3C,GACnB,IAAMusB,EAAQixC,GAAyB76D,EAAK2jD,GAO5C,OANctmD,EAAUotB,SAAS,CAC/BtpB,KAAM,OACNyoB,MAAK,EACLz1B,KAAM,UAKVqyD,UAAA,SAAUC,GACR,OAAO8M,GAAc9M,EAAW9C,SIpFtC,evBH6B,CAAC,QAAS,OAAQ,OAAQ,SAAU,SuBG7C,SAAC4G,GACnBvmD,GAAc,QAASumD,EAAW,CAChCvrD,KAAA,SAAKgB,EAAgB3C,GACnB,OAAOs8D,GAAWpiE,KAAMyI,EAAK3C,EAAWktD,GAAW,IAErD/D,UAAA,SAAUC,GACA,IAAA1xC,EAAU0xC,EAAL,MACb,MAAO,CACL+M,OAAQhvD,GAAc+lD,GACtBpqD,MAAO,CACLzL,EAAG,IACHmzB,OAAQ9S,EACRqS,KAAM,aCfhBpjB,GAAc,QAAS,QAAS,CAC9BhF,KAAA,SAAKgB,EAAgB3C,GACX,IAAG+kC,EAAS7/B,GAASvC,GAAK,GAAO,EAAO,KAAjC,EACT0xB,EAASn6B,KAAKyvD,YAAYhnD,EAAI0xB,QAChCkoC,EAAgBloC,EAAO,GAC3B,GAAI1xB,EAAI4zD,QACNgG,EAAgBloC,EAAO,QAClB,GAAIA,EAAOv7B,OAAS,EAAG,CAE5B,IADA,IAAM0R,EAAQxK,EAAU4jB,WACJ,MAAAyQ,EAAA,eAAQ,CAAvB,IAAMxJ,EAAK,KACdrgB,EAAM4iB,SAAS,QAAS,CACtBb,MAAO,CACLroB,EAAI2mB,EAAM3mB,EAAe6gC,EAAO,EAChCpoC,EAAIkuB,EAAMluB,EAAeooC,EACzBxkC,MAAOwkC,EACPvkC,OAAQukC,EACRi1B,IAAKr3D,EAAI8H,MAAM,MAKrB,OAAOD,EAGT,OAAOxK,EAAUotB,SAAS,QAAS,CACjCb,MAAO,CACLroB,EAAIq4D,EAAcr4D,EAAe6gC,EAAO,EACxCpoC,EAAI4/D,EAAc5/D,EAAeooC,EACjCxkC,MAAOwkC,EACPvkC,OAAQukC,EACRi1B,IAAKr3D,EAAI8H,MAAM,OAIrB0+C,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,IACH0yB,KALcq/B,EAAL,WChCjB,eAAKiT,IAAQ,SAACnP,GACZvmD,GAAc,QAASumD,EAAW,CAChCvrD,KAAA,SAAKgB,EAAgB3C,GACnB,OAAOs8D,GAAWpiE,KAAMyI,EAAK3C,EAAWktD,GAAW,IAErD/D,UAAA,SAAUC,GACA,IAAA1xC,EAAU0xC,EAAL,MACb,MAAO,CACL+M,OAAQhvD,GAAc+lD,IAAcA,EACpCpqD,MAAO,CACLzL,EAAG,IACH0yB,KAAMrS,ULmFhB/Q,GAAc,SAAU,MAAO,CAC7BsiD,UAAA,SAAUF,GAER,OAAOuV,GADgBvV,EAAd,EAAcA,EAAX,EAAWA,EAAL,OAGpBpnD,KAAA,SAAKgB,EAAgB3C,GACnB,IA5BgBq0B,EA4BVvxB,EAAQoC,GAASvC,GAAK,GAAM,GAC5B+mB,EAAOxvB,KAAKqvD,UA5Bb,CACL,CAAC,KAFel1B,EA6BuB1xB,EAAI0xB,QA3B9B,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,KACD,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,IAAInwB,EAAGmwB,EAAO,IAAI13B,GAC/B,CAAC,IAAK03B,EAAO,IAAInwB,EAAGmwB,EAAO,IAAI13B,GAC/B,CAAC,IAAK03B,EAAO,IAAInwB,EAAGmwB,EAAO,IAAI13B,GAC/B,CAAC,IAAK03B,EAAO,IAAInwB,EAAGmwB,EAAO,IAAI13B,KAqB/B,OARcqD,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,EACJ5yB,KAAM,cAMZqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAA,SAAOjyD,EAAWvH,EAAWtF,GAC3B,IACMg9B,EAASiqC,GAAap6D,EADZ,CAACvH,EAAI,EAAGA,EAAI,EAAGA,EAAGA,EAAI,EAAGA,EAAI,GACLtF,GACxC,MAAO,CACL,CAAC,IAAKg9B,EAAO,GAAGnwB,EAAI,EAAGmwB,EAAO,GAAG13B,GACjC,CAAC,IAAK03B,EAAO,GAAGnwB,EAAI,EAAGmwB,EAAO,GAAG13B,GACjC,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,KACD,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,IAAInwB,EAAI,EAAGmwB,EAAO,IAAI13B,GACnC,CAAC,IAAK03B,EAAO,IAAInwB,EAAI,EAAGmwB,EAAO,IAAI13B,GACnC,CAAC,IAAK03B,EAAO,IAAInwB,EAAGmwB,EAAO,IAAI13B,GAC/B,CAAC,IAAK03B,EAAO,IAAInwB,EAAGmwB,EAAO,IAAI13B,KAGnCmG,MAAO,CACLzL,EAAG,EACH++D,UAAW,EACX5rC,OA3Bc4+B,EAAL,WC7EjBziD,GAAc,SAAU,SAAU,CAChCsiD,UAAA,SAAUF,GAER,OAAOgW,GADgBhW,EAAd,EAAcA,EAAX,EAAWA,EAAL,OAGpBpnD,KAAA,SAAKgB,EAAgB3C,GACnB,IArBmBq0B,EAqBbvxB,EAAQoC,GAASvC,GAAK,GAAM,GAC5B+mB,EAAOxvB,KAAKqvD,UArBb,CACL,CAAC,KAFkBl1B,EAsBuB1xB,EAAI0xB,QApBjC,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,KACD,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,KAqB7B,OARcqD,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,OAAF,WAAE,CAAF,sBACAzpB,GAAK,CACR4mB,KAAI,EACJ5yB,KAAM,cAMZqyD,UAAA,SAAUC,GACA,IAAA1xC,EAAU0xC,EAAL,MACb,MAAO,CACL+M,OAAA,SAAOjyD,EAAWvH,EAAWtF,GAC3B,IACMg9B,EAAS0qC,GAAgB76D,EADf,CAACvH,EAAI,IAAKA,EAAI,EAAGA,EAAI,EAAGA,EAAI,KACDtF,GAC3C,MAAO,CACL,CAAC,IAAKg9B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,KACD,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,KAGjCmG,MAAO,CACLszD,UAAW,EACX5rC,OAAQ9S,EACRqS,KAAMrS,EACNrgB,EAAG,OC1DXsP,GAAc,UAAW,SAAU,CACjChF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAK,kBAAQ2C,EAAI0xB,QAAS,CACxB,IAAMwiC,EAAa3xD,GAASvC,GAAK,GAAM,GACjC0xB,EAASn6B,KAAKyvD,YAAYhnD,EAAI0xB,QACpC,OAAOr0B,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,OAAF,WAAE,CAAF,sBACAsqC,GACAoI,GAAa5qC,EAAQ1xB,EAAIoiC,OAE9BjuC,KAAM,cAIZqyD,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,EACH0yB,KALcq/B,EAAL,WIjCjB,I,GAAA,yB,+CA0DA,OA1D2C,yBAC/B,YAAAqK,iBAAV,SAA2BC,EAA8B1lC,EAA2Bp1B,EAAe6nB,GACjG,IAAMgC,EAAavoB,KAAK0xB,gBAClB0X,EAAa7gB,EAAW8X,aACxB4L,EAAcnY,EAAYqG,OAC1B6qC,EAASz8C,EAAWgY,QAAQ0L,EAAY,IACxCguB,EAAS1xC,EAAWgY,QAAQ0L,EAAY,IACxCxC,EAAOL,GAAc,EAAI,EACzB/iC,GAAU2+D,EAAOh7D,EAAIiwD,EAAOjwD,GAAK,EAAKy/B,EACtCnjC,GAAW0+D,EAAOviE,EAAIw3D,EAAOx3D,GAAK,EAAKgnC,EAE7C,OAAQljB,GACN,IAAK,QACE6iB,IACHowB,EAAcxvD,GAAK3D,EACnBmzD,EAAc/2D,GAAK6D,GAErBkzD,EAAczpC,UAAY,cAAIypC,EAAe,YAAa,QAC1D,MACF,IAAK,OACCpwB,EACFowB,EAAcxvD,GAAa,EAAR3D,GAEnBmzD,EAAcxvD,GAAK3D,EACnBmzD,EAAc/2D,GAAK6D,GAErBkzD,EAAczpC,UAAY,cAAIypC,EAAe,YAAa,SAC1D,MACF,IAAK,SACCpwB,GACFowB,EAAcxvD,GAAK3D,EACnBmzD,EAAc/2D,GAAK6D,GAEnBkzD,EAAc/2D,GAAc,EAAT6D,EAErBkzD,EAAczpC,UAAY,cAAIypC,EAAe,YAAa,UAC1DA,EAAcxpC,aAAe,cAAIwpC,EAAe,eAAgB,OAChE,MACF,IAAK,SACCpwB,EACFowB,EAAcxvD,GAAK3D,EAEnBmzD,EAAc/2D,GAAK6D,EAErBkzD,EAAczpC,UAAY,cAAIypC,EAAe,YAAa,UAC1D,MACF,IAAK,MACCpwB,IACFowB,EAAcxvD,GAAK3D,EACnBmzD,EAAc/2D,GAAK6D,GAErBkzD,EAAczpC,UAAY,cAAIypC,EAAe,YAAa,UAC1DA,EAAcxpC,aAAe,cAAIwpC,EAAe,eAAgB,YAMxE,EA1DA,CAA2C,ICFrCyL,GAAU91D,KAAKE,GAAK,E,GAK1B,yB,+CA8KA,OA9KwC,yBAM5B,YAAA8pD,cAAV,SAAwBxoC,GACtB,IACIwpC,EADE5xC,EAAavoB,KAAK0xB,gBAExB,GAAIf,EAAMu0C,UACR/K,EAAQxpC,EAAMwG,OAAShoB,KAAKE,GAAK,GAAKshB,EAAMwG,QAAUhoB,KAAKE,GAAK,EAAI,OAAS,aACxE,GAAKkZ,EAAW8X,aAEhB,CACL,IAAM3Q,EAASnH,EAAWke,YACpB7f,EAAS5mB,KAAK0zB,iBAAiB/C,EAAM/J,QAEzCuzC,EADEhrD,KAAKsmB,IAAI9E,EAAM3mB,EAAI0lB,EAAO1lB,GAAK,EACzB,SACC2mB,EAAMwG,MAAQhoB,KAAKE,IAAMshB,EAAMwG,OAAS,EACzCvQ,EAAS,EAAI,OAAS,QAEtBA,EAAS,EAAI,QAAU,YATjCuzC,EAAQ,SAYV,OAAOA,GAUC,YAAAjB,cAAV,SAAwBH,EAAoBjlC,EAA2Bp1B,GACrE,IACIymE,EADAhxC,EAAS,EAEP8jC,EAAUc,EAASd,QAAQv5D,GAC7BsB,KAAKolE,WAAWtxC,GAClBqxC,EAAWnlE,KAAKqlE,eAAevxC,EAAYqG,SAEX,IAA5B4+B,EAASd,QAAQr5D,QAA0B,IAAVF,EACnCA,EAAQ,EACW,IAAVA,IACTy1B,GAAU,GAEZgxC,EAAWnlE,KAAKslE,YAAYxxC,EAAap1B,IAG3C,IAAMkoB,EAAS5mB,KAAK0zB,iBAAiBqlC,EAASnyC,QAAUuN,EAClDoxC,EAAcvlE,KAAKwlE,cAAcL,GACjCM,EAAc1M,EAASmM,UACvBQ,EAAkC1lE,KAAK2lE,eAAeJ,EAAa3+C,EAAQu+C,EAAUM,GAiB3F,OAhB2B,IAAvBC,EAAiBvoE,EAEnBuoE,EAAiBzN,QAAU,IAE3ByN,EAAiBzN,QAAUA,EAC3ByN,EAAiBvuC,MAAQouC,EACzBG,EAAiBloD,MAAQsW,EAAYtW,OAGvCkoD,EAAiBpmB,OAASyZ,EAAS9xC,WAC/BjnB,KAAK4lE,eAAeL,EAAa3+C,EAAQ6+C,GACzC1M,EAASzZ,OACbomB,EAAiBtlD,MAAQ,CACvBpW,EAAGm7D,EAASn7D,EACZvH,EAAG0iE,EAAS1iE,GAEPijE,GAMC,YAAAJ,YAAV,SAAsBxxC,EAA2Bp1B,GAC/C,YAD+C,IAAAA,MAAA,GAC1C,kBAAQo1B,EAAY9pB,IAAO,kBAAQ8pB,EAAYrxB,GAO7C,CACLuH,EAAG,kBAAQ8pB,EAAY9pB,GAAK8pB,EAAY9pB,EAAEtL,GAASo1B,EAAY9pB,EAC/DvH,EAAG,kBAAQqxB,EAAYrxB,GAAKqxB,EAAYrxB,EAAE/D,GAASo1B,EAAYrxB,GARxD,CACLuH,EAAG8pB,EAAY9pB,EACfvH,EAAGqxB,EAAYrxB,IAcX,YAAA+iE,cAAV,SAAwB70C,GACtB,OAAOkW,GAAgB7mC,KAAK0xB,gBAAiBf,IAUrC,YAAAg1C,eAAV,SAAyBxuC,EAAevQ,EAAgB+J,EAAc80C,GACpE,IAAMl9C,EAAavoB,KAAK0xB,gBAClBhC,EAASnH,EAAWke,YACtBtpC,EAAIqpC,GAAoBje,EAAYoI,GACxC,GAAU,IAANxzB,EACF,gDACKuyB,GAAM,CACTvyB,EAAC,IAIL,IAAI0oE,EAAa1uC,EACb5O,EAAW8X,cAAgBljC,EAAIypB,IAAW6+C,EAE5CI,EAAa1uC,EAAsB,EADfhoB,KAAK22D,KAAKl/C,GAAU,EAAIzpB,IAG5CA,GAAQypB,EAGV,MAAO,CACL5c,EAAG0lB,EAAO1lB,EAAI7M,EAAIgS,KAAKw1B,IAAIkhC,GAC3BpjE,EAAGitB,EAAOjtB,EAAItF,EAAIgS,KAAKioB,IAAIyuC,GAC3B1oE,EAAC,IAUK,YAAAyoE,eAAV,SAAyBzuC,EAAevQ,EAAgB6+C,GACtD,IAAInmB,EAASnoB,EAAQ8tC,GAWrB,OAVIQ,IACFnmB,GAAU2lB,IAER3lB,IACEA,EAAS2lB,GACX3lB,GAAkBnwC,KAAKE,GACdiwC,GAAU2lB,KACnB3lB,GAAkBnwC,KAAKE,KAGpBiwC,GAID,YAAA+lB,eAAR,SAAuBlrC,GACrB,IAAM5R,EAAavoB,KAAK0xB,gBAClBi4B,EAAQxvB,EAAOv7B,OACjBsmC,EAAc,CAChBl7B,EAAG,EACHvH,EAAG,GAUL,OARA,eAAK03B,GAAQ,SAACxJ,GACZuU,EAAYl7B,GAAK2mB,EAAM3mB,EACvBk7B,EAAYziC,GAAKkuB,EAAMluB,KAEzByiC,EAAYl7B,GAAK2/C,EACjBzkB,EAAYziC,GAAKknD,EAEjBzkB,EAAc3c,EAAWgY,QAAQ2E,IAK3B,YAAAkgC,WAAR,SAAmBtxC,GACjB,OAAQA,EAAY9pB,EAAepL,OAAS,GAEhD,EA9KA,CAAwC,I,GCFxC,YAGE,WAAYmwB,GAAZ,MACE,YAAMA,IAAS,K,OAHV,EAAAmxB,cAAgB,a,EAwFzB,OAzFsC,yBAO1B,YAAAoZ,mBAAV,WACE,OAAO,cAAIt5D,KAAK+uB,SAAStoB,MAAO,YAAa,KAGrC,YAAAitB,iBAAV,SAA2B9M,GACzB,OAAOA,GAAU,GAGT,YAAAg/C,eAAV,SAAyBzuC,EAAevQ,EAAgBm/C,GACtD,IAAIzmB,EAUJ,OATI14B,EAAS,KACX04B,EAASnoB,GACIhoB,KAAKE,GAAK,IACrBiwC,GAAkBnwC,KAAKE,IAErBiwC,GAAUnwC,KAAKE,GAAK,IACtBiwC,GAAkBnwC,KAAKE,KAGpBiwC,GAGC,YAAA6Z,cAAV,SAAwBxoC,GACtB,IAGIwpC,EAFEzqC,EADa1vB,KAAK0xB,gBACE+U,YAgB1B,OAZE0zB,EADExpC,EAAMwG,OAAShoB,KAAKE,GAAK,GAAKshB,EAAM3mB,GAAK0lB,EAAO1lB,EAC1C,OAEA,QAEKhK,KAAK0zB,iBAAiB/C,EAAM/J,SAC7B,IAEVuzC,EADY,UAAVA,EACM,OAEA,SAGLA,GAGC,YAAAmL,YAAV,SAAsB30C,GACpB,OAAOA,GAGC,YAAA60C,cAAV,SAAwB70C,GACtB,IASIwG,EATE5O,EAAavoB,KAAK0xB,gBAClBs0C,EAAa,CACjBh8D,EAAG,kBAAQ2mB,EAAM3mB,GAAK2mB,EAAM3mB,EAAE,GAAK2mB,EAAM3mB,EACzCvH,EAAGkuB,EAAMluB,EAAE,IAEPwjE,EAAW,CACfj8D,EAAG,kBAAQ2mB,EAAM3mB,GAAK2mB,EAAM3mB,EAAE,GAAK2mB,EAAM3mB,EACzCvH,EAAGkuB,EAAMluB,EAAE,IAGPq+B,EAAa+F,GAAgBte,EAAYy9C,GAC/C,GAAIr1C,EAAMwJ,QAAUxJ,EAAMwJ,OAAO,GAAG13B,IAAMkuB,EAAMwJ,OAAO,GAAG13B,EACxD00B,EAAQ2J,MACH,CACL,IAAIC,EAAW8F,GAAgBte,EAAY09C,GACvCnlC,GAAcC,IAEhBA,GAAgC,EAAV5xB,KAAKE,IAE7B8nB,EAAQ2J,GAAcC,EAAWD,GAAc,EAEjD,OAAO3J,GAGC,YAAAwuC,eAAV,SAAyBxuC,EAAOvQ,EAAQzoB,GACtC,IAAMoqB,EAAavoB,KAAK0xB,gBAClBhC,EAASnH,EAAWke,YACpBtpC,EAAIorB,EAAWge,YAAc3f,EACnC,gDACK6d,GAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGtF,EAAGg6B,IAAM,CACjDA,MAAK,EACLh6B,EAAC,KAGP,EAzFA,CAAsC,ICNtC,IAmBA,cAOE,WAAYsL,QAAA,IAAAA,MAAA,IAFJ,KAAAy9D,OAAiB,GAGf,MAAuBz9D,EAAf,KAAR09D,OAAI,IAAG,IAAC,EAAE,EAAa19D,EAAL,KAAR29D,OAAI,IAAG,IAAC,EAC1BpmE,KAAKmmE,KAAOA,EACZnmE,KAAKomE,KAAOA,EAuEhB,OApES,YAAAC,OAAP,SAAc9gD,GAOZ,IANA,IAAI8gD,GAAS,EACPH,EAASlmE,KAAKkmE,OACdh2D,EAAOf,KAAKuP,MAAM6G,EAAKrV,MACvBC,EAAOhB,KAAKuP,MAAM6G,EAAKpV,MACvBC,EAAOjB,KAAKuP,MAAM6G,EAAKnV,MACvBC,EAAOlB,KAAKuP,MAAM6G,EAAKlV,MACpBhU,EAAI6T,EAAM7T,GAAK8T,EAAM9T,GAAK,EACjC,GAAK6pE,EAAO7pE,IAIZ,GAAIA,IAAM6T,GAAQ7T,IAAM8T,GACtB,IAAK,IAAI/L,EAAIgM,EAAMhM,GAAKiM,EAAMjM,IAC5B,GAAI8hE,EAAO7pE,GAAG+H,GAAI,CAChBiiE,GAAS,EACT,YAIJ,GAAIH,EAAO7pE,GAAG+T,IAAS81D,EAAO7pE,GAAGgU,GAAO,CACtCg2D,GAAS,EACT,YAbFH,EAAO7pE,GAAK,GAiBhB,OAAOgqE,GAGF,YAAAC,QAAP,SAAe/gD,GAOb,IANA,IAAM2gD,EAASlmE,KAAKkmE,OACdh2D,EAAOf,KAAKuP,MAAM6G,EAAKrV,MACvBC,EAAOhB,KAAKuP,MAAM6G,EAAKpV,MACvBC,EAAOjB,KAAKuP,MAAM6G,EAAKnV,MACvBC,EAAOlB,KAAKuP,MAAM6G,EAAKlV,MAEpBhU,EAAI6T,EAAM7T,GAAK8T,EAAM9T,GAAK,EAC5B6pE,EAAO7pE,KACV6pE,EAAO7pE,GAAK,IAGhB,IAASA,EAAI6T,EAAM7T,GAAK8T,EAAM9T,GAAK2D,KAAKmmE,KAAM,CAC5C,IAAK,IAAI/hE,EAAIgM,EAAMhM,GAAKiM,EAAMjM,GAAKpE,KAAKomE,KACtCF,EAAO7pE,GAAG+H,IAAK,EAEjB8hE,EAAO7pE,GAAGgU,IAAQ,EAIpB,GAAkB,IAAdrQ,KAAKomE,KACP,IAAS/pE,EAAI+T,EAAM/T,GAAKgU,EAAMhU,GAAK,EACjC6pE,EAAOh2D,GAAM7T,IAAK,EAClB6pE,EAAO/1D,GAAM9T,IAAK,EAKtB,GAAkB,IAAd2D,KAAKmmE,KACP,IAAS9pE,EAAI6T,EAAM7T,GAAK8T,EAAM9T,GAAK,EACjC6pE,EAAO7pE,GAAG+T,IAAQ,EAClB81D,EAAO7pE,GAAGgU,IAAQ,GAKjB,YAAAjJ,QAAP,WACEpH,KAAKkmE,OAAS,IAElB,EAjFA,GAwIA,SAASK,GAAoB3jE,EAAeoH,EAAWvH,EAAW/D,GAC1D,MAAoBkE,EAAMqoC,gBAAxB5kC,EAAK,QAAEC,EAAM,SACf+rB,EAAQ,CACZroB,EAAC,EACDvH,EAAC,EACDstB,UAAW,UAEb,OAAQrxB,GACN,KAAK,EACH2zB,EAAM5vB,GAAK6D,EAAS,EACpB+rB,EAAMroB,GAAK,EACXqoB,EAAMtC,UAAY,OAClB,MACF,KAAK,EACHsC,EAAM5vB,GAAK6D,EAAS,EACpB+rB,EAAMroB,GAAK,EACXqoB,EAAMtC,UAAY,QAClB,MACF,KAAK,EACHsC,EAAM5vB,GAAK6D,EAAS,EACpB+rB,EAAMroB,GAAK,EACXqoB,EAAMtC,UAAY,QAClB,MACF,KAAK,EACHsC,EAAM5vB,GAAK6D,EAAS,EACpB+rB,EAAMroB,GAAK,EACXqoB,EAAMtC,UAAY,OAClB,MACF,KAAK,EACHsC,EAAM5vB,GAAc,EAAT6D,EAAa,EACxB,MACF,KAAK,EACH+rB,EAAM5vB,GAAc,EAAT6D,EAAa,EACxB,MACF,KAAK,EACH+rB,EAAMroB,GAAK3D,EAAQ,EACnBgsB,EAAMtC,UAAY,OAClB,MACF,KAAK,EACHsC,EAAMroB,GAAK3D,EAAQ,EACnBgsB,EAAMtC,UAAY,QAMtB,OADAntB,EAAMiwB,KAAKR,GACJzvB,EAAMqoC,gBC1IT,SAAUu7B,GACdx0C,EACAO,EACAhK,EACA0pC,EACAroD,GAEQ,IAGJI,EACAvH,EAJI2d,EAAemI,EAAV,MAAElI,EAAQkI,EAAL,IACZliB,EAAQkiB,EAAWoM,WACnBruB,EAASiiB,EAAWqM,YAIb,MAAThrB,GACFI,EAAIoW,EAAMpW,EAAI3D,EAAQ,EACtB5D,EAAIwvD,EAAUxvD,EAAI2d,EAAM3d,EAAIwvD,EAAUxvD,EAAI2d,EAAM3d,GAC9B,MAATmH,GACTI,EAAIioD,EAAUjoD,EAAIoW,EAAMpW,EAAIioD,EAAUjoD,EAAIoW,EAAMpW,EAChDvH,EAAI2d,EAAM3d,EAAI6D,EAAS,GACL,OAATsD,IACL2e,EAAW6X,SACbp2B,EAAIue,EAAWke,YAAYz8B,EAC3BvH,EAAI8lB,EAAWke,YAAYhkC,IAE3BuH,GAAKoW,EAAMpW,EAAIqW,EAAIrW,GAAK,EACxBvH,GAAK2d,EAAM3d,EAAI4d,EAAI5d,GAAK,IAI5B,IAAMgkE,EArFF,SAAyBl2D,EAAwBkmB,EAA0BiwC,GAC/E,IAAIC,EAEG38D,EAAQysB,EAAP,GAAEh0B,EAAKg0B,EAAJ,GA0CX,OAzCAlmB,EAAMq2D,cAAc,CAAC58D,EAAGvH,EAAG,IACZ,MAAXikE,GACFn2D,EAAMinD,UACJ,MAAIF,UAAU/mD,EAAMgnD,YAAa,CAC/B,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAM,GACZ,CAAC,IAAKuH,EAAGvH,MAGbkkE,EAAe,MAAIrP,UAAU/mD,EAAMgnD,YAAa,CAC9C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAK,GACX,CAAC,IAAKuH,EAAGvH,MAES,MAAXikE,GACTn2D,EAAMinD,UACJ,MAAIF,UAAU/mD,EAAMgnD,YAAa,CAC/B,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,EAAG,KACT,CAAC,IAAKuH,EAAGvH,MAGbkkE,EAAe,MAAIrP,UAAU/mD,EAAMgnD,YAAa,CAC9C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,EAAG,KACT,CAAC,IAAKuH,EAAGvH,MAES,OAAXikE,IACTn2D,EAAMinD,UACJ,MAAIF,UAAU/mD,EAAMgnD,YAAa,CAC/B,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAM,KACZ,CAAC,IAAKuH,EAAGvH,MAGbkkE,EAAe,MAAIrP,UAAU/mD,EAAMgnD,YAAa,CAC9C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAK,KACX,CAAC,IAAKuH,EAAGvH,MAGNkkE,EAwCWE,CAAe70C,EAAS,CAAChoB,EAAGvH,GAAImH,GAClDooB,EAAQrJ,QACN,CACE4N,OAAQkwC,GAEVl0C,G,yBC5FJ,SAAS,GAASyzC,EAAsBc,G,MAClC,EAA2B,KAAad,EAAYc,GAAlDhmC,EAAU,aAAEC,EAAQ,WAsB1B,OApBK,wBAAcD,EAAuB,IAAV3xB,KAAKE,KAAayxB,EAAwB,IAAV3xB,KAAKE,KACnEyxB,GAAwB,EAAV3xB,KAAKE,KAEhB,wBAAc0xB,EAAqB,IAAV5xB,KAAKE,KAAa0xB,EAAsB,IAAV5xB,KAAKE,KAC/D0xB,GAAsB,EAAV5xB,KAAKE,IAGA,IAAfy3D,EAAQ,KAEThmC,GAAD,EAAyB,CAACC,EAAUD,IAAzB,GAAEC,EAAQ,MAGnB,wBAAcD,EAAsB,IAAV3xB,KAAKE,MACjCyxB,GAAwB,GAAX3xB,KAAKE,IAGhB,wBAAc0xB,GAAqB,GAAX5xB,KAAKE,MAC/B0xB,EAAqB,IAAV5xB,KAAKE,IAGX,CACLyxB,WAAU,EACVC,SAAQ,GAIZ,SAASgmC,GAAiBv3C,GACxB,IAAIw2C,EAOJ,MANgB,MAAZx2C,EAAK,IAA0B,MAAZA,EAAK,GAC1Bw2C,EAAa,CAACx2C,EAAK,GAAIA,EAAK,IACP,MAAZA,EAAK,IAA0B,MAAZA,EAAK,KACjCw2C,EAAa,CAACx2C,EAAKA,EAAK5wB,OAAS,GAAI4wB,EAAKA,EAAK5wB,OAAS,KAGnDonE,EAaT,SAASgB,GAAWx3C,G,MACdsR,EACAC,EAEEkmC,EAAWz3C,EAAKyM,QAAO,SAACirC,GAC5B,MAAsB,MAAfA,EAAQ,IAA6B,MAAfA,EAAQ,MAGjCC,EAAsBF,EAAS,GAC/BG,EAAqBH,EAASroE,OAAS,EAAIqoE,EAAS,GAAKA,EAAS,GAClEI,EAAa73C,EAAK7wB,QAAQwoE,GAC1BvlD,EAAY4N,EAAK7wB,QAAQyoE,GACzBE,EAAkBP,GAAiBv3C,EAAK63C,EAAa,IACrDE,EAAiBR,GAAiBv3C,EAAK5N,EAAY,IAEnD,EAA2D,GAAS0lD,EAAiBH,GAAvEK,EAAe,aAAYC,EAAa,WACtD,EAAyD,GAASF,EAAgBH,GAApEM,EAAc,aAAYC,EAAY,WAEtD,wBAAcH,EAAiBE,IAAmB,wBAAcD,EAAeE,IACjF7mC,EAAa0mC,EACbzmC,EAAW0mC,IAEX3mC,EAAa3xB,KAAKsP,IAAI+oD,EAAiBE,GACvC3mC,EAAW5xB,KAAKqP,IAAIipD,EAAeE,IAGrC,IAAI3mC,EAASmmC,EAAoB,GAC7BpiC,EAAckiC,EAASA,EAASroE,OAAS,GAAG,GAOhD,OANIoiC,EAAS+D,GACV/D,GAAD,EAAwB,CAAC+D,EAAa/D,IAA/B,GAAE+D,EAAW,MACX/D,IAAW+D,IACpBA,EAAc,GAGT,CACLjE,WAAU,EACVC,SAAQ,EACRC,OAAM,EACN+D,YAAW,GC3Ff,SAAS6iC,GAAYr3D,EAAwBgiB,EAAyB3oB,GACpE,GAAI2G,EAAM09C,UACR,eAAM19C,EAAiB8mD,eAAe,SAACj0C,GACrCwkD,GAAYxkD,EAAOmP,EAAY3oB,UAE5B,CACL,IAAM2b,EAAOhV,EAAMsd,UACb7jB,GAAKub,EAAKrV,KAAOqV,EAAKpV,MAAQ,EAC9B1N,GAAK8iB,EAAKnV,KAAOmV,EAAKlV,MAAQ,EAGpC,GAFAE,EAAMq2D,cAAc,CAAC58D,EAAGvH,EAAG,IAEd,WAATmH,EAAmB,CAErB,IAAM2sB,EAAS,MAAI+gC,UAAU/mD,EAAMgnD,YAAa,CAC9C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAM,KACZ,CAAC,IAAKuH,EAAGvH,KAEX8N,EAAMinD,UAAUjhC,GAChBhmB,EAAMoY,QACJ,CACE4N,OAAQ,MAAI+gC,UAAU/mD,EAAMgnD,YAAa,CACvC,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAK,KACX,CAAC,IAAKuH,EAAGvH,MAGb8vB,QAGFhiB,EAAMoY,QACJ,CACE4N,OAAQ,MAAI+gC,UAAU/mD,EAAMgnD,YAAa,CACvC,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAM,KACZ,CAAC,IAAKuH,EAAGvH,MAEZ,yCAEI8vB,GAAU,CACbzgB,SAAU,WACRvB,EAAMzF,QAAO,QCvCnB,SAAU+8D,GAAmB/nC,GACjC,MAAI,CAAC3a,EAAU4I,IAAK5I,EAAU8a,QAAQ2f,SAAS9f,GACtC,CACL3S,QAAS,EACTC,QAAS0S,IAAc3a,EAAU4I,KAAO,EAAI,EAC5CnlB,MAAO,CACLmnB,UAAW,SACXC,aAAc8P,IAAc3a,EAAU4I,IAAM,SAAW,QAKzD,CAAC5I,EAAU+a,KAAM/a,EAAU6a,OAAO4f,SAAS9f,GACtC,CACL3S,QAAS2S,IAAc3a,EAAU+a,MAAQ,EAAI,EAC7C9S,QAAS,EACTxkB,MAAO,CACLmnB,UAAW+P,IAAc3a,EAAU+a,KAAO,QAAU,OACpDlQ,aAAc,SACdsvB,OAAQnwC,KAAKE,GAAK,IAKjB,GAUH,SAAUy4D,GAAcp4C,EAAevyB,EAAWg6B,GACtD,MAAO,CACLntB,EAAG0lB,EAAO1lB,EAAI7M,EAAIgS,KAAKw1B,IAAIxN,GAC3B10B,EAAGitB,EAAOjtB,EAAItF,EAAIgS,KAAKioB,IAAID,ICjC/B,I,GAAA,yB,+CA0HA,OA1HoC,yBACxB,YAAAhH,cAAV,WACE,OAAO,kBAAQ,GAAI,YAAMA,cAAa,WAAI,CACxCvmB,KAAM,SACNye,WAAW,EACXxE,MAAO,YAAMkf,mBAAkB,cAI5B,YAAAz5B,OAAP,WACE,YAAMA,OAAM,WAERtJ,KAAKyI,IAAI4f,WACXroB,KAAK+nE,eASC,YAAAxlC,UAAV,SAAoBonB,EAAejrD,GACjC,IAIMspE,EAAsB,EAAV74D,KAAKE,GAAUs6C,EAG3BxyB,GAAU,EAAIhoB,KAAKE,GAAM,EAAI24D,EAAWtpE,EAExCupE,EATI,IASU,EAAI,EAAI94D,KAAKioB,IAAI4wC,EAAW,IAE1CE,EAASJ,GATA,CAAE99D,EAAG,GAAKvH,EAAG,IAFlB,GAW+BwlE,EAAQ9wC,GAC3C2J,EAAwB,EAAV3xB,KAAKE,GAAU,EAC7B0xB,EAAsB,EAAV5xB,KAAKE,GAAU,EAEjC,MAAO,CACL+Q,MAAO0nD,GAAcI,EAAQD,EAAQnnC,GACrCzgB,IAAKynD,GAAcI,EAAQD,EAAQlnC,KAI7B,YAAAiB,cAAV,SAAwB/4B,EAAY24B,GAClC5hC,KAAKijC,YAAYh6B,EAAM24B,IAGf,YAAAE,eAAV,SAAyB74B,EAAY24B,KAE3B,YAAAJ,eAAV,SAAyBxiC,GAAzB,WACQ,EAAmBgB,KAAKyI,IAAtBq6B,EAAM,SAAEl5B,EAAI,OACb3B,EAAS66B,EAAJ,GACZ,IAAK76B,EACH,MAAM,IAAI22B,MAAM,0BAGlB,IAAMle,EAAS1gB,KAAKqiC,eAAerjC,EAAMiJ,GACnC0hD,EAAQjpC,EAAO9hB,OAEfM,EAAM,GAsBZ,OArBAwhB,EAAOsN,SAAQ,SAAC1wB,EAAYoB,GAC1B,IAAM+kC,EAAa,CAAC,CAAEx7B,MAAK,EAAE3K,MAAK,EAAEojB,OAAM,IACpCynD,EAAY,iBAAOnpE,EAAM,EAAKwkC,mBAAmBC,IAEjD7B,EAAoB,CACxBh4B,KAAI,EACJ5K,KAAMmpE,EACN5+C,OAAQ,EAAKgZ,UAAUonB,EAAOjrD,GAE9B0pE,YAAa9qE,EACb+qE,YAAapgE,EACbqgE,YAAa5pE,EACb6pE,mBAAoB5e,EAEpB6e,SAAU,KACVC,SAAU,KACVC,SAAU,EACVC,gBAAiB,GAEnBzpE,EAAIoE,KAAKs+B,MAEJ1iC,GAGC,YAAAokC,eAAV,SAAyBt5B,EAAWse,EAAWu2B,EAAiBjd,GAE9D,OAAOid,GAUC,YAAAtb,eAAV,SAAyB9gC,EAAW6lB,EAAWu2B,EAAiBjd,GAE9D,OAAOid,GAMD,YAAAkpB,YAAR,sBACE,eAAK/nE,KAAKshC,QAAQ,SAACM,GACT,IAAAwmC,EAAsBxmC,EAAX,YAAE34B,EAAS24B,EAAL,KACnBlE,EAAY,cAAI,EAAKj1B,IAAIob,MAAO,aAEhClc,EAAS,kBACb,CACE4e,SAAU,CAAC,MAAO,MAClB0xC,QAASv6B,EAAYA,EAAU0qC,GAAeA,GAEhDP,GAAmB1iD,EAAU4I,KAC7B,EAAKtlB,IAAIob,OAGX5a,EAAKmgB,aAAa/C,KAAK1e,OAG7B,EA1HA,CAAoC,G,GCApC,yB,+CA0JA,OA1JkC,yBACtB,YAAAwoB,cAAV,WACE,OAAO,kBAAQ,GAAI,YAAMA,cAAa,WAAI,CACxCvmB,KAAM,OACN64B,KAAM,KACNpa,WAAW,EACXxE,MAAO,YAAMkf,mBAAkB,cAI5B,YAAAz5B,OAAP,WACE,YAAMA,OAAM,WAERtJ,KAAKyI,IAAI4f,WACXroB,KAAK+nE,eAIC,YAAA/lC,cAAV,SAAwB/4B,EAAY24B,GAClC5hC,KAAKijC,YAAYh6B,EAAM24B,IAGf,YAAAE,eAAV,SAAyB74B,EAAY24B,KAE3B,YAAAJ,eAAV,SAAyBxiC,GAAzB,WACU8jC,EAAW9iC,KAAKyI,IAAV,OACRg6B,EAASziC,KAAKyI,IAAV,KAEH4/D,EAAevlC,EAAJ,GAClB,IAAKulC,EACH,MAAM,IAAIzpC,MAAM,0BAGlB,IAAMgqC,EAAY5oE,KAAKqiC,eAAerjC,EAAMqpE,GAEtC1e,EAAQif,EAAUhqE,OACxB6jC,EAAOA,GAAQknB,EAGf,IAAMnnB,EAAOxiC,KAAK6oE,aAAalf,EAAOlnB,GAChCvjC,EAAM,GA8BZ,OA5BA0pE,EAAU56C,SAAQ,SAAC0oC,EAAKh4D,GAEhB,MAAe,EAAKoqE,UAAUpqE,EAAO+jC,GAAnCy7B,EAAG,MAAE6K,EAAG,MAEVtlC,EAAa,CAAC,CAAEx7B,MAAOogE,EAAa/qE,MAAOo5D,EAAKh2C,OAAQkoD,IAExDT,EAAY,iBAAOnpE,EAAM,EAAKwkC,mBAAmBC,IAEjD7B,EAAkB,CACtBh4B,KAAM,EAAKnB,IAAImB,KACf5K,KAAMmpE,EACN5+C,OAAQ,EAAKgZ,UAAUC,EAAMC,EAAMsmC,EAAK7K,GAExCkK,YAAa1R,EACb8R,SAAU9R,EACV2R,YAAW,EACXI,SAAU,KACVH,YAAaS,EACbL,SAAUxK,EACVqK,mBAAoB9lC,EACpBkmC,gBAAiBnmC,EAEjBy2B,MAAOtP,GAGTzqD,EAAIoE,KAAKs+B,MAGJ1iC,GAUC,YAAAokC,eAAV,SAAyBt5B,EAAWse,EAAWu2B,EAAiBjd,GAE9D,OACEA,EAAM8mC,WAAa9mC,EAAM+mC,gBAAkB,GAC3C/mC,EAAM2mC,mBAAqB3mC,EAAM8mC,SAAW9mC,EAAM0mC,YAAc,EAAI1mC,EAAM2mC,oBAAsB3mC,EAAMq3B,MAEtG,yCACKpa,GAAM,CACTj8C,MAAO,KACPihB,MAAO,OAGJg7B,GAUC,YAAAtb,eAAV,SAAyB9gC,EAAW6lB,EAAWu2B,EAAiBjd,GAC9D,OAA0B,IAAtBA,EAAM0mC,YACR,yCACKzpB,GAAM,CACTh7B,MAAO,KACPjhB,MAAO,OAGJi8C,GAMD,YAAAkpB,YAAR,sBACE,eAAK/nE,KAAKshC,QAAQ,SAACM,GACT,IAAAwmC,EAAsBxmC,EAAX,YAAE34B,EAAS24B,EAAL,KACnBlE,EAAY,cAAI,EAAKj1B,IAAIob,MAAO,aAEhClc,EAAS,kBACb,CACE4e,SAAU,CAAC,MAAO,MAClB0xC,QAASv6B,EAAYA,EAAU0qC,GAAeA,GAEhDP,GAAmB1iD,EAAU4I,KAC7B,EAAKtlB,IAAIob,OAGX5a,EAAKmgB,aAAa/C,KAAK1e,OASnB,YAAAkhE,aAAR,SAAqB5P,EAAe+P,GAClC,OAAO75D,KAAKwR,OAAOs4C,EAAQ+P,EAAW,GAAKA,IAQrC,YAAAF,UAAR,SAAkBpqE,EAAesqE,GAI/B,MAAO,CAAE9K,IAHG/uD,KAAKwR,MAAMjiB,EAAQsqE,GAGjBD,IAFFrqE,EAAQsqE,IAIxB,EA1JA,CAAkC,G,GCAlC,yB,+CAwIA,OAxIoC,yBACxB,YAAA74C,cAAV,WACE,OAAO,kBAAQ,GAAI,YAAMA,cAAa,WAAI,CACxCvmB,KAAM,SACNye,WAAW,EACX4gD,YAAa,OAAF,WAAE,CAAF,GACN,YAAMlmC,mBAAkB,YAE7BmmC,SAAU,OAAF,WAAE,CAAF,GACH,YAAMnmC,mBAAkB,eAK1B,YAAAz5B,OAAP,WACE,YAAMA,OAAM,WAERtJ,KAAKyI,IAAI4f,WACXroB,KAAK+nE,eAIC,YAAA/lC,cAAV,SAAwB/4B,EAAY24B,GAClC5hC,KAAKijC,YAAYh6B,EAAM24B,IAGf,YAAAE,eAAV,SAAyB74B,EAAY24B,KAE3B,YAAAJ,eAAV,SAAyBxiC,GAQvB,IAPM,MAAmBgB,KAAKyI,IAAtBq6B,EAAM,SAAEl5B,EAAI,OAGd++D,EAAkB7lC,EAAOlkC,OACzB2pE,EAAqBI,EAErBzpE,EAAM,GACH7C,EAAI,EAAGA,EAAIksE,EAAoBlsE,IAEtC,IADA,IAAMgsE,EAAcvlC,EAAOzmC,GAClB+H,EAAI,EAAGA,EAAIukE,EAAiBvkE,IAAK,CACxC,IAAMqkE,EAAW3lC,EAAO1+B,GAElBw9B,EAAoB,CACxBh4B,KAAI,EACJ5K,KAAI,EACJuqB,OAAQvpB,KAAKuiC,UAAUomC,EAAiBJ,EAAoBlsE,EAAG+H,GAE/DgkE,YAAaC,EACbG,SAAUC,EACVJ,YAAW,EACXI,SAAQ,EACRH,YAAajsE,EACbqsE,SAAUtkE,EACVmkE,mBAAkB,EAClBI,gBAAe,GAEjBzpE,EAAIoE,KAAKs+B,GAGb,OAAO1iC,GAUC,YAAAokC,eAAV,SAAyBt5B,EAAWse,EAAWu2B,EAAiBjd,GAE9D,OAAIA,EAAM8mC,WAAa9mC,EAAM+mC,gBAAkB,EAC7C,yCACK9pB,GAAM,CACTj8C,MAAO,KACPihB,MAAO,OAGJg7B,GAUC,YAAAtb,eAAV,SAAyB9gC,EAAW6lB,EAAWu2B,EAAiBjd,GAE9D,OAA0B,IAAtBA,EAAM0mC,YACR,yCACKzpB,GAAM,CACTh7B,MAAO,KACPjhB,MAAO,OAGJi8C,GAMD,YAAAkpB,YAAR,sBACE,eAAK/nE,KAAKshC,QAAQ,SAACM,EAAmBunC,GAC5B,IAAAb,EAA4F1mC,EAAjF,YAAE8mC,EAA+E9mC,EAAvE,SAAE2mC,EAAqE3mC,EAAnD,mBAAmBwmC,GAAgCxmC,EAAlC,gBAAkCA,EAArB,aAAE4mC,EAAmB5mC,EAAX,SAAE34B,EAAS24B,EAAL,KAG/F,GAAiB,IAAb8mC,EAAgB,CAClB,IAAMhrC,EAAY,cAAI,EAAKj1B,IAAIwgE,YAAa,aACtCthE,EAAS,kBACb,CACE4e,SAAU,CAAC,MAAO,MAClB0xC,QAASv6B,EAAYA,EAAU0qC,GAAeA,GAEhDP,GAAmB1iD,EAAU4I,KAC7B,EAAKtlB,IAAIwgE,aAGXhgE,EAAKmgB,aAAa/C,KAAK1e,GAGzB,GAAI2gE,IAAgBC,EAAqB,EAAG,CACpC7qC,EAAY,cAAI,EAAKj1B,IAAIygE,SAAU,aACnCvhE,EAAS,kBACb,CACE4e,SAAU,CAAC,OAAQ,OACnB0xC,QAASv6B,EAAYA,EAAU8qC,GAAYA,GAE7CX,GAAmB1iD,EAAU6a,OAC7B,EAAKv3B,IAAIygE,UAGXjgE,EAAKmgB,aAAa/C,KAAK1e,QAI/B,EAxIA,CAAoC,G,GCApC,yB,+CA0JA,OA1JoC,yBACxB,YAAAwoB,cAAV,WACE,OAAO,kBAAQ,GAAI,YAAMA,cAAa,WAAI,CACxCvmB,KAAM,SACNye,WAAW,EACXxE,MAAO,YAAMkf,mBAAkB,WAC/Bmc,WAAW,KAIR,YAAA51C,OAAP,WACE,YAAMA,OAAM,WAERtJ,KAAKyI,IAAI4f,WACXroB,KAAK+nE,eAIC,YAAAjmC,eAAV,SAAyB74B,EAAY24B,GAE/B5hC,KAAKyI,IAAIy2C,UACPtd,EAAM0mC,YAAc,GAAM,EAC5Br/D,EAAKsf,aAAa22B,YAAY/gB,QAAQ,KAEtCl1B,EAAKsf,aAAa22B,YAGhBtd,EAAM8mC,SAAW,GAAM,GACzBz/D,EAAKsf,aAAa4V,QAAQ,MAKtB,YAAA6D,cAAV,SAAwB/4B,EAAY24B,GAClC5hC,KAAKijC,YAAYh6B,EAAM24B,IAGf,YAAAJ,eAAV,SAAyBxiC,GAAzB,IAUMqpE,EACAI,EAXN,OACSjmE,EAAKxC,KAAKyI,IAAIq6B,OAAb,GAEF5jC,EAAM,GACRqpE,EAAqB,EACrBI,EAAkB,EAElBS,EAAyB,CAAC,IAC1BC,EAAsB,CAAC,IA2C3B,OAtCIrpE,KAAKyI,IAAIy2C,WACXmpB,EAAc7lE,EACd4mE,EAAeppE,KAAKqiC,eAAerjC,EAAMqpE,GAAaznD,MAAM,EAAG,GAC/D2nD,EAAqBa,EAAaxqE,SAElC6pE,EAAWjmE,EACX6mE,EAAYrpE,KAAKqiC,eAAerjC,EAAMypE,GAAU7nD,MAAM,EAAG,GACzD+nD,EAAkBU,EAAUzqE,QAI9BwqE,EAAap7C,SAAQ,SAACklC,EAAMxwB,GAC1B2mC,EAAUr7C,SAAQ,SAACmlC,EAAMxwB,GACvB,IAAMc,EAAa,CACjB,CAAEx7B,MAAOogE,EAAa/qE,MAAO41D,EAAMxyC,OAAQ0oD,GAC3C,CAAEnhE,MAAOwgE,EAAUnrE,MAAO61D,EAAMzyC,OAAQ2oD,IAGpClB,EAAY,iBAAOnpE,EAAM,EAAKwkC,mBAAmBC,IAEjD7B,EAAoB,CACxBh4B,KAAM,EAAKnB,IAAImB,KACf5K,KAAMmpE,EACN5+C,OAAQ,EAAKgZ,UAAUomC,EAAiBJ,EAAoB7lC,EAAQC,GAEpEylC,YAAalV,EACbsV,SAAUrV,EACVkV,YAAW,EACXI,SAAQ,EACRH,YAAa5lC,EACbgmC,SAAU/lC,EACV4lC,mBAAkB,EAClBI,gBAAe,GAEjBzpE,EAAIoE,KAAKs+B,SAIN1iC,GAUC,YAAAokC,eAAV,SAAyBt5B,EAAWse,EAAWu2B,EAAiBjd,GAG9D,OAA0B,IAAtBA,EAAM0mC,aAAwC,IAAnB1mC,EAAM8mC,SACnC,yCACK7pB,GAAM,CACTj8C,MAAO,KACPihB,MAAO,OAIJg7B,GAUC,YAAAtb,eAAV,SAAyB9gC,EAAW6lB,EAAWu2B,EAAiBjd,GAE9D,OAAOid,GAGD,YAAAkpB,YAAR,sBACE,eAAK/nE,KAAKshC,QAAQ,SAACM,EAAmBunC,GAC5B,IAAAf,EAAgCxmC,EAArB,YAAE4mC,EAAmB5mC,EAAX,SAAE34B,EAAS24B,EAAL,KAC7BlE,EAAY,cAAI,EAAKj1B,IAAIob,MAAO,aAEtC,GAAI,EAAKpb,IAAIy2C,UAAW,CACtB,IAAMv3C,EAAS,kBACb,CACE4e,SAAU,CAAC,MAAO,MAClB0xC,QAASv6B,EAAYA,EAAU0qC,GAAeA,GAEhDP,GAAmB1iD,EAAU4I,KAC7B,EAAKtlB,IAAIob,OAGX5a,EAAKmgB,aAAa/C,KAAK1e,OAClB,CACCA,EAAS,kBACb,CACE4e,SAAU,CAAC,OAAQ,OACnB0xC,QAASv6B,EAAYA,EAAU8qC,GAAYA,GAE7CX,GAAmB1iD,EAAU6a,OAC7B,EAAKv3B,IAAIob,OAGX5a,EAAKmgB,aAAa/C,KAAK1e,QAI/B,EA1JA,CAAoC,G,GCApC,yB,+CAoKA,OApKkC,yBACtB,YAAAq6B,cAAV,SAAwB/4B,EAAY24B,GAClC5hC,KAAKijC,YAAYh6B,EAAM24B,IAGf,YAAAE,eAAV,SAAyB74B,EAAY24B,KAI3B,YAAAzR,cAAV,WACE,OAAO,kBAAQ,GAAI,YAAMA,cAAa,WAAI,CACxCvmB,KAAM,OACNq/D,YAAa,OAAF,WAAE,CAAF,GACN,YAAMlmC,mBAAkB,YAE7BmmC,SAAU,OAAF,WAAE,CAAF,GACH,YAAMnmC,mBAAkB,eAK1B,YAAAz5B,OAAP,WACE,YAAMA,OAAM,WAERtJ,KAAKyI,IAAI4f,WACXroB,KAAK+nE,eAQC,YAAAvmC,eAAV,SAAyBxiC,GAAzB,WACQ,EAA0BgB,KAAKyI,IAAIq6B,OAAlCulC,EAAW,KAAEI,EAAQ,KAEtBvpE,EAAM,GACRqpE,EAAqB,EACrBI,EAAkB,EAElBS,EAAyB,CAAC,IAC1BC,EAAsB,CAAC,IAsC3B,OApCIhB,IACFe,EAAeppE,KAAKqiC,eAAerjC,EAAMqpE,GACzCE,EAAqBa,EAAaxqE,QAEhC6pE,IACFY,EAAYrpE,KAAKqiC,eAAerjC,EAAMypE,GACtCE,EAAkBU,EAAUzqE,QAI9BwqE,EAAap7C,SAAQ,SAACklC,EAAMxwB,GAC1B2mC,EAAUr7C,SAAQ,SAACmlC,EAAMxwB,GACvB,IAAMc,EAAa,CACjB,CAAEx7B,MAAOogE,EAAa/qE,MAAO41D,EAAMxyC,OAAQ0oD,GAC3C,CAAEnhE,MAAOwgE,EAAUnrE,MAAO61D,EAAMzyC,OAAQ2oD,IAEpClB,EAAY,iBAAOnpE,EAAM,EAAKwkC,mBAAmBC,IAEjD7B,EAAkB,CACtBh4B,KAAM,EAAKnB,IAAImB,KACf5K,KAAMmpE,EACN5+C,OAAQ,EAAKgZ,UAAUomC,EAAiBJ,EAAoB7lC,EAAQC,GAEpEylC,YAAalV,EACbsV,SAAUrV,EACVkV,YAAW,EACXI,SAAQ,EACRH,YAAa5lC,EACbgmC,SAAU/lC,EACV4lC,mBAAkB,EAClBI,gBAAe,GAEjBzpE,EAAIoE,KAAKs+B,SAIN1iC,GAGD,YAAA6oE,YAAR,sBACE,eAAK/nE,KAAKshC,QAAQ,SAACM,EAAiBunC,GAC1B,IAAAb,EAA2E1mC,EAAhE,YAAE8mC,EAA8D9mC,EAAtD,SAAE2mC,EAAoD3mC,EAAlC,mBAAEwmC,EAAgCxmC,EAArB,YAAE4mC,EAAmB5mC,EAAX,SAAE34B,EAAS24B,EAAL,KAG9E,GAAiB,IAAb8mC,EAAgB,CAClB,IAAMhrC,EAAY,cAAI,EAAKj1B,IAAIwgE,YAAa,aACtCthE,EAAS,kBACb,CACE4e,SAAU,CAAC,MAAO,MAClB0xC,QAASv6B,EAAYA,EAAU0qC,GAAeA,GAEhDP,GAAmB1iD,EAAU4I,KAC7B,EAAKtlB,IAAIwgE,aAGXhgE,EAAKmgB,aAAa/C,KAAK1e,GAGzB,GAAI2gE,IAAgBC,EAAqB,EAAG,CACpC7qC,EAAY,cAAI,EAAKj1B,IAAIygE,SAAU,aACnCvhE,EAAS,kBACb,CACE4e,SAAU,CAAC,OAAQ,OACnB0xC,QAASv6B,EAAYA,EAAU8qC,GAAYA,GAE7CX,GAAmB1iD,EAAU6a,OAC7B,EAAKv3B,IAAIygE,UAGXjgE,EAAKmgB,aAAa/C,KAAK1e,QAYnB,YAAA27B,eAAV,SAAyBt5B,EAAWse,EAAWu2B,EAAiBjd,GAE9D,OAAIA,EAAM8mC,WAAa9mC,EAAM+mC,gBAAkB,EAC7C,yCACK9pB,GAAM,CACTh7B,MAAO,KACPjhB,MAAO,OAEAg/B,EAAM0mC,cAAgBn5D,KAAKwR,OAAOihB,EAAM2mC,mBAAqB,GAAK,GAE3E,yCACK1pB,GAAM,CACTh7B,MAAO,OAGJg7B,GAUC,YAAAtb,eAAV,SAAyB9gC,EAAW6lB,EAAWu2B,EAAiBjd,GAC9D,OAA0B,IAAtBA,EAAM0mC,YACR,yCACKzpB,GAAM,CACTh7B,MAAO,KACPjhB,MAAO,OAEAg/B,EAAM8mC,WAAav5D,KAAKwR,OAAOihB,EAAM+mC,gBAAkB,GAAK,GACrE,yCACK9pB,GAAM,CACTh7B,MAAO,OAGJg7B,GAEX,EApKA,CAAkC,G,GCGlC,uE,OAuLU,EAAAyqB,iBAAmB,WACrB,EAAKhoC,QAAU,EAAK74B,IAAIse,OAC1B,EAAKjhB,UAAU+iB,QACf,EAAK0gD,UAAU,EAAKjoC,U,EAmH1B,OA7SkC,yBACtB,YAAAU,cAAV,SAAwB/4B,EAAY24B,GAClC5hC,KAAKijC,YAAYh6B,EAAM24B,IAGf,YAAAE,eAAV,SAAyB74B,EAAY24B,KAE9B,YAAA3Z,KAAP,WACE,YAAMA,KAAI,WACVjoB,KAAKiJ,KAAKwB,GAAGqC,EAAiBmd,aAAcjqB,KAAKspE,mBAGzC,YAAAn5C,cAAV,WACE,OAAO,kBAAQ,GAAI,YAAMA,cAAa,WAAI,CACxCvmB,KAAM,OACNmd,KAAM,CACJne,MAAO,CACLszD,UAAW,EACX5rC,OAAQ,QAEVwX,QAAQ,GAEVzf,WAAW,EACXxE,MAAO,YAAMkf,mBAAkB,cAIzB,YAAAvB,eAAV,SAAyBxiC,GAEvB,IADegB,KAAKyI,IAAIq6B,OACZlkC,OACV,MAAM,IAAIggC,MAAM,gDAElB,IAAM1/B,EAAM,GACNsqE,EAAsB,CAC1B5/D,KAAM5J,KAAKyI,IAAImB,KACf5K,KAAI,EACJuqB,OAAQ,KACRo/C,gBAAiB3oE,KAAKypE,UACtBlB,mBAAoB,EACpBG,SAAU,EACVJ,YAAa,EACbG,SAAU,GACVJ,YAAa,GACbG,SAAU,GACVJ,YAAa,IAKf,OAHAlpE,EAAIoE,KAAKkmE,GACTA,EAAUtb,SAAWluD,KAAK0pE,eAAe1qE,EAAM,EAAGE,GAClDc,KAAK2pE,UAAUzqE,GACRA,GAGD,YAAAyqE,UAAR,SAAkBroC,GAAlB,WACEthC,KAAK4pE,cAActoC,GACnBA,EAAOtT,SAAQ,SAAC4T,GAEdA,EAAMrY,OAAS,EAAKgZ,UAAUX,EAAM+mC,gBAAiB/mC,EAAM2mC,mBAAoB3mC,EAAM0mC,YAAa1mC,EAAM8mC,cAIlG,YAAAnmC,UAAV,SAAoBC,EAAcC,EAAcC,EAAgBC,GAC9D,IAAMknC,EAAS,EAAIpnC,EACbqnC,EAAS,EAAItnC,EAEbpiB,EAAQ,CACZpW,EAAG6/D,EAASnnC,EACZjgC,EAAGqnE,EAASnnC,GAOd,MAAO,CACLviB,MAAK,EACLC,IANU,CACVrW,EAAGoW,EAAMpW,EAAI6/D,EACbpnE,EAAG2d,EAAM3d,EAAc,EAATqnE,EAAc,KAQxB,YAAAF,cAAR,SAAsBtoC,GAAtB,WACQyoC,EAAoB,GACtBrrE,EAAQ,EACZ4iC,EAAOtT,SAAQ,SAAC4T,GACV,EAAKooC,OAAOpoC,KACdmoC,EAAMzmE,KAAKs+B,GAEXA,EAAM0mC,YAAc5pE,EACpBA,QAIJqrE,EAAM/7C,SAAQ,SAAC4T,GAEbA,EAAM2mC,mBAAqBwB,EAAMnrE,UAGnC,IADA,IACSvC,EADQ2D,KAAKyI,IAAIq6B,OAAOlkC,OACT,EAAGvC,GAAK,EAAGA,IAGjC,IAFA,IAEoB,MAFA2D,KAAKiqE,iBAAiB3oC,EAAQjlC,GAE9B,eAAa,CAA5B,IAAMulC,EAAK,KACT5hC,KAAKgqE,OAAOpoC,KACfA,EAAMsoC,eAAiBtoC,EAAM0mC,YAE7B1mC,EAAM0mC,YAActoE,KAAKmqE,eAAevoC,EAAMssB,UAE9CtsB,EAAM2mC,mBAAqBwB,EAAMnrE,UAOjC,YAAAqrE,iBAAR,SAAyB3oC,EAAoB8oC,GAC3C,IAAMlrE,EAAkB,GAMxB,OALAoiC,EAAOtT,SAAQ,SAAC4T,GACVA,EAAM8mC,WAAa0B,GACrBlrE,EAAIoE,KAAKs+B,MAGN1iC,GAID,YAAAirE,eAAR,SAAuBjc,GACrB,IAAMplB,EAAQolB,EAAS,GAEvB,OADaA,EAASA,EAAStvD,OAAS,GAC3B0pE,YAAcx/B,EAAMw/B,aAAe,EAAIx/B,EAAMw/B,aAIpD,YAAA0B,OAAR,SAAepoC,GACb,OAAQA,EAAMssB,WAAatsB,EAAMssB,SAAStvD,QAGpC,YAAA6qE,QAAR,WACE,OAAOzpE,KAAKyI,IAAIq6B,OAAOlkC,OAAS,GAI1B,YAAA8qE,eAAR,SAAuB1qE,EAAeorE,EAAe9rE,GAArD,WAEQwkC,EAAS9iC,KAAKyI,IAAIq6B,OAExB,KADeA,EAAOlkC,OACTwrE,GAAb,CAGA,IAAMlrE,EAAM,GAEN+I,EAAQ66B,EAAOsnC,EAAQ,GAEvB1pD,EAAS1gB,KAAKqiC,eAAerjC,EAAMiJ,GAuBzC,OAtBAyY,EAAOsN,SAAQ,SAAC1wB,EAAOoB,GACrB,IAAM+kC,EAAa,CAAC,CAAEx7B,MAAK,EAAE3K,MAAK,EAAEojB,OAAM,IACpC40C,EAAUt2D,EAAKi9B,OAAO,EAAKuH,mBAAmBC,IACpD,GAAI6xB,EAAQ12D,OAAQ,CAClB,IAAMgjC,EAAkB,CACtBh4B,KAAM,EAAKnB,IAAImB,KACf5K,KAAMs2D,EACN/rC,OAAQ,KACR6+C,YAAa9qE,EACbkrE,SAAU,GACVH,YAAapgE,EACbwgE,SAAU,GACVH,YAAa5pE,EACbiqE,gBAAiB,EAAKc,UACtBlB,mBAAoB,EACpBG,SAAU0B,EACVlc,SAAU,EAAKwb,eAAepU,EAAS8U,EAAQ,EAAG9rE,IAEpDY,EAAIoE,KAAKs+B,GACTtjC,EAAIgF,KAAKs+B,OAGN1iC,IAGF,YAAAoK,OAAP,WACE,YAAMA,OAAM,WACRtJ,KAAKyI,IAAI4f,WACXroB,KAAK+nE,eAWD,YAAAA,YAAR,sBACE,eAAK/nE,KAAKshC,QAAQ,SAACM,GACT,IAAAwmC,EAAsBxmC,EAAX,YAAE34B,EAAS24B,EAAL,KACnBlE,EAAY,cAAI,EAAKj1B,IAAIob,MAAO,aAEhClc,EAAS,kBACb,CACE4e,SAAU,CAAC,MAAO,MAClB0xC,QAASv6B,EAAYA,EAAU0qC,GAAeA,GAEhDP,GAAmB1iD,EAAU4I,KAC7B,EAAKtlB,IAAIob,OAGX5a,EAAKmgB,aAAa/C,KAAK1e,OAInB,YAAA4hE,UAAR,SAAkBjoC,GAAlB,WACEA,EAAOtT,SAAQ,SAAC4T,GACd,IAAK,EAAKooC,OAAOpoC,GAAQ,CACvB,IAAMssB,EAAWtsB,EAAMssB,SACvB,EAAKmc,cAAczoC,EAAOssB,QAMxB,YAAAmc,cAAR,SAAsBzoC,EAAiBssB,GAAvC,WAEQ3kC,EADOqY,EAAM34B,KACCg4C,eAEd7gC,EAAQ,CACZpW,EAAGuf,EAAOvf,EAAIuf,EAAOljB,MAAQ,EAC7B5D,EAAG8mB,EAAO9mB,EAAI8mB,EAAOjjB,QAGvB4nD,EAASlgC,SAAQ,SAACs8C,GAChB,IAAMC,EAAYD,EAASrhE,KAAKg4C,eAC1B5gC,EAAM,CACVrW,EAAGugE,EAAUrjB,GAAGl9C,GAAKugE,EAAUpjB,GAAGn9C,EAAIugE,EAAUrjB,GAAGl9C,GAAK,EACxDvH,EAAG8nE,EAAUpjB,GAAG1kD,GAGZ+nE,EAAU,CACdxgE,EAAGoW,EAAMpW,EACTvH,EAAG2d,EAAM3d,GAAK4d,EAAI5d,EAAI2d,EAAM3d,GAAK,GAE7BgoE,EAAU,CACdzgE,EAAGqW,EAAIrW,EACPvH,EAAG+nE,EAAQ/nE,GAEb,EAAKioE,SAAS,CAACtqD,EAAOoqD,EAASC,EAASpqD,QAIpC,YAAA+7C,QAAR,SAAgBjiC,GACd,IAAM3K,EAAO,GAeb,OAdexvB,KAAKyI,IAAIse,KAAK+gB,QAE3BtY,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IACvC+sB,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,EAAG03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,EAAG03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,KAE3F03B,EAAOnM,SAAQ,SAAC2C,EAAOjyB,GACP,IAAVA,EACF8wB,EAAKlsB,KAAK,CAAC,IAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,IAE/B+sB,EAAKlsB,KAAK,CAAC,IAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,OAK9B+sB,GAID,YAAAk7C,SAAR,SAAiBvwC,GACf,IAAM3K,EAAOxvB,KAAKo8D,QAAQjiC,GACpBpT,EAAO/mB,KAAKyI,IAAIse,KAAKne,MAC3B5I,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,iBACL,CAEE7C,KAAI,GAENzI,MAKI,YAAAuc,eAAV,SAAyBt5B,EAAWse,EAAWu2B,EAAiBjd,GAC9D,OAAIA,EAAM8mC,WAAa9mC,EAAM+mC,gBAAkB,EAC7C,yCACK9pB,GAAM,CACTh7B,MAAO,KACPjhB,MAAO,OAGJi8C,GAGC,YAAAtb,eAAV,SAAyB9gC,EAAW6lB,EAAWu2B,EAAiBjd,GAC9D,OAA6B,IAAzBA,EAAMsoC,gBAA8C,IAAtBtoC,EAAM0mC,YACtC,yCACKzpB,GAAM,CACTh7B,MAAO,KACPjhB,MAAO,OAGJi8C,GAEX,EA7SA,CAAkC,G,GCoBlC,YAOE,WAAY51C,GAAZ,MACE,YAAMA,IAAK,K,OAHL,EAAAq5B,MAAQ,IAAI+e,IAKlB,EAAKspB,oBAAsB,EAAK1hE,KAAKC,SAAS+4B,EAAMC,MAAMxY,WAC1D,EAAKkhD,oBAAsB,EAAK3hE,KAAKC,SAAS+4B,EAAM8jB,IAAIr8B,WAExD,EAAKm1B,OAAS,G,EAsmBlB,OAnnBwC,yBAgBtC,sBAAW,mBAAI,C,IAAf,WACE,MAAO,c,gCAGF,YAAA52B,KAAP,aAEO,YAAAm5B,OAAP,sBACQzS,EAAa3uC,KAAKitC,gBAClB49B,EAAoB,SAAC39B,GACjB,IAAApY,EAAqBoY,EAAZ,UAAE49B,EAAU59B,EAAL,MAChBtjC,EAASkhE,EAAL,KACNrkE,EAAQ,EAAKskE,mBAAmBnhE,GAEtCkrB,EAAUxS,OAAO,EAAK0oD,iBAAiBphE,EAAMkhE,EAAOrkE,KAEhDwkE,EAAoB,SAACpsB,GACzB,IAAM3R,EAAK,EAAKg+B,iBAAiBrsB,GAC7B3R,IACFA,EAAGpY,UAAU7M,OAGO,iBAAhB42B,EAAOj1C,MACTsjC,EAAGpY,UAAUxrB,SAGf,EAAKg5B,MAAM18B,IAAIi5C,EAAQ3R,KAIvByB,EAAW/vC,OACb,eAAK+vC,GAAY,SAACzB,GAGc,iBAFRA,EAAL,UAEHhwC,IAAI,QAEhB,EAAK+L,KAAKk7C,cAAc/T,KAAKtjC,EAAiBmd,cAAc,WAC1D4gD,EAAkB39B,MAGpB29B,EAAkB39B,MAItB,eAAKltC,KAAK6+C,QAAQ,SAACA,GACG,iBAAhBA,EAAOj1C,KACT,EAAKX,KAAKk7C,cAAc/T,KAAKtjC,EAAiBmd,cAAc,WAE1DghD,EAAkBpsB,MAGpBosB,EAAkBpsB,OAMnB,YAAAv1C,OAAP,aAOO,YAAAgZ,OAAP,sBAEQ6oD,EAAU,IAAIC,QAEdP,EAAoB,SAAChsB,GACjB,IAAAj1C,EAASi1C,EAAL,KACNp4C,EAAQ,EAAKskE,mBAAmBnhE,GAChCnB,EAAM,EAAKuiE,iBAAiBphE,EAAMi1C,EAAQp4C,GAE1C4kE,EAAU,EAAK/oC,MAAMplC,IAAI2hD,GAG/B,GAAIwsB,EAEFnlC,GAAKz9B,EAAK,CAAC,cAEX4iE,EAAQv2C,UAAUxS,OAAO7Z,GACzB0iE,EAAQvlE,IAAIi5C,GAAQ,OACf,CAEL,IAAM3R,EAAK,EAAKg+B,iBAAiBrsB,GAC7B3R,IACFA,EAAGpY,UAAU7M,OAGO,iBAAhB42B,EAAOj1C,MACTsjC,EAAGpY,UAAUxrB,SAGf,EAAKg5B,MAAM18B,IAAIi5C,EAAQ3R,GACvBi+B,EAAQvlE,IAAIi5C,GAAQ,MAK1B7+C,KAAKiJ,KAAKmnC,KAAKtjC,EAAiBmd,cAAc,WAE5C,eAAK,EAAK40B,QAAQ,SAACA,GACG,iBAAhBA,EAAOj1C,MACTihE,EAAkBhsB,MAMtB,IAAMysB,EAAW,IAAIjqB,IAErB,EAAK/e,MAAMtU,SAAQ,SAAC1wB,EAAwBM,GACtCutE,EAAQzlE,IAAI9H,GACd0tE,EAAS1lE,IAAIhI,EAAKN,GAGlBA,EAAMw3B,UAAU1tB,aAKpB,EAAKk7B,MAAQgpC,KAGf,eAAKtrE,KAAK6+C,QAAQ,SAACA,GACG,iBAAhBA,EAAOj1C,MACTihE,EAAkBhsB,OASjB,YAAAh2B,MAAP,SAAa0iD,QAAA,IAAAA,OAAA,GACX,YAAM1iD,MAAK,WAEX7oB,KAAKsiC,MAAMzZ,QACX7oB,KAAK2qE,oBAAoB9hD,QACzB7oB,KAAK4qE,oBAAoB/hD,QAErB0iD,IACFvrE,KAAK6+C,OAAS,KAIX,YAAAz3C,QAAP,WACEpH,KAAK6oB,OAAM,GAEX7oB,KAAK2qE,oBAAoB7/D,QAAO,GAChC9K,KAAK4qE,oBAAoB9/D,QAAO,IAM3B,YAAAmiC,cAAP,WACE,IAAMC,EAAK,GAMX,OAJAltC,KAAKsiC,MAAMtU,SAAQ,SAAC1wB,GAClB4vC,EAAG5pC,KAAKhG,MAGH4vC,GAGD,YAAAg+B,iBAAR,SAAyBrsB,GACf,IAAAj1C,EAASi1C,EAAL,KAEN3wB,EAAO,aAAoB,qBAAWtkB,IAC5C,GAAIskB,EAAM,CACR,IAAMznB,EAAQzG,KAAK+qE,mBAAmBnhE,GAChCnB,EAAMzI,KAAKgrE,iBAAiBphE,EAAMi1C,EAAQp4C,GAGhD,MAAO,CACLquB,UAHiB,IAAI5G,EAAKzlB,GAI1BnB,MAAOtH,KAAKwrE,MAAM/iE,GAAOw5B,EAAMC,KAAOD,EAAM8jB,GAC5CjmB,UAAW3a,EAAUsmD,KACrB7hE,KAAMmD,EAAe2+D,WACrBZ,MAAOjsB,KAMN,YAAAz1B,WAAP,SAAkBy1B,GAChB7+C,KAAK6+C,OAAOv7C,KAAKu7C,IAQZ,YAAAkgB,IAAP,SAAWlgB,GAMT,OALA7+C,KAAKopB,WAAU,oBACbxf,KAAM,OACHi1C,IAGE7+C,MAQF,YAAA2rE,MAAP,SAAa9sB,GAMX,OALA7+C,KAAKopB,WAAU,oBACbxf,KAAM,SACHi1C,IAGE7+C,MAQF,YAAA+mB,KAAP,SAAY83B,GAMV,OALA7+C,KAAKopB,WAAU,oBACbxf,KAAM,QACHi1C,IAGE7+C,MAQF,YAAAupB,OAAP,SAAcs1B,GAMZ,OALA7+C,KAAKopB,WAAU,oBACbxf,KAAM,UACHi1C,IAGE7+C,MAQF,YAAAqmB,KAAP,SAAYw4B,GAMV,OALA7+C,KAAKopB,WAAU,oBACbxf,KAAM,QACHi1C,IAGE7+C,MAQF,YAAA4rE,WAAP,SAAkB/sB,GAMhB,OALA7+C,KAAKopB,WAAU,oBACbxf,KAAM,cACHi1C,IAGE7+C,MAQF,YAAA6rE,WAAP,SAAkBhtB,GAChB7+C,KAAKopB,WAAU,oBACbxf,KAAM,cACHi1C,KASA,YAAAitB,aAAP,SAAoBjtB,GAClB7+C,KAAKopB,WAAU,oBACbxf,KAAM,gBACHi1C,KAUC,YAAAktB,cAAR,SAAsB5tE,GACpB,IAAMm2B,EAASt0B,KAAKiJ,KAAKf,YAEnBk+C,EAAUpmD,KAAKiJ,KAAK08C,eAAe,KAEnCp/B,EAAqB,qBAAWpoB,GAAKA,EAAE3B,KAAK,KAAM83B,EAAQ8xB,GAAWjoD,EAEvE6L,EAAI,EACJvH,EAAI,EAGR,GAAI,kBAAQ8jB,GAAW,CACd,IAAAylD,EAAczlD,EAAV,GAAE0lD,EAAQ1lD,EAAJ,GAIjB,GAAI,mBAASylD,KAAgC,IAAvBA,EAAKrtE,QAAQ,OAAgB4f,MAAMytD,EAAKprD,MAAM,GAAI,IACtE,OAAO5gB,KAAKksE,qBAAqB3lD,GAGnCvc,EAAIhK,KAAKmsE,mBAAmBH,EAAM13C,GAClC7xB,EAAIzC,KAAKmsE,mBAAmBF,EAAMlvE,OAAO2jB,OAAO0lC,GAAS,SACpD,IAAK,gBAAM7/B,GAEhB,IAAkB,yBAAKA,GAAL,eAAgB,CAA7B,IAAM3oB,EAAG,KACNN,EAAQipB,EAAS3oB,GACnBA,IAAQ02B,EAAOrsB,QACjB+B,EAAIhK,KAAKmsE,mBAAmB7uE,EAAOg3B,IAEjC8xB,EAAQxoD,KACV6E,EAAIzC,KAAKmsE,mBAAmB7uE,EAAO8oD,EAAQxoD,KAKjD,OAAOoC,KAAKiJ,KAAKyoB,gBAAgB6O,QAAQ,CAAEv2B,EAAC,EAAEvH,EAAC,KASzC,YAAA2pE,gBAAR,SAAwBhsD,EAAwBC,GAAhD,IAUMgsD,EAVN,OACQ/3C,EAASt0B,KAAKiJ,KAAKf,YACnBk+C,EAAUpmD,KAAKiJ,KAAK08C,eAAe,KACnCpxB,EAASx3B,OAAO2jB,OAAO0lC,GAAS,GAChCv7B,EAASyJ,EAAOrsB,MAChBqkE,EAAWtsE,KAAKiJ,KAAKX,UACrBikE,EAAc,kBAAQnsD,GAASA,EAAM,GAAKA,EAAMyK,GAChD2hD,EAAY,kBAAQnsD,GAAOA,EAAI,GAAKA,EAAIwK,GACxCvsB,EAAM,GAkBZ,OAfA,eAAKguE,GAAU,SAAC3iE,EAAMR,GAIpB,GAHIQ,EAAKkhB,KAAY0hD,IACnBF,EAAaljE,GAEXA,GAAOkjE,EAAY,CACrB,IAAM17C,EAAQ,EAAKo7C,cAAc,CAACpiE,EAAKkhB,GAASlhB,EAAK4qB,EAAOtsB,SACxD0oB,GACFryB,EAAIgF,KAAKqtB,GAGb,GAAIhnB,EAAKkhB,KAAY2hD,EACnB,OAAO,KAIJluE,GAQD,YAAA6tE,mBAAR,SAA2BzV,EAAsBxtC,GAC/C,IAAI7qB,EACAouE,EAEJ,OAAQ/V,GACN,IAAK,QACHr4D,EAAS,EACT,MACF,IAAK,MACHA,EAAS,EACT,MACF,IAAK,SACHouE,EAASvjD,EAAM4yB,YAAc5yB,EAAMxI,OAAO9hB,OAAS,GAAK,GAAKsqB,EAAMzK,IAAMyK,EAAM1K,KAAO,EACtFngB,EAAS6qB,EAAMA,MAAMujD,GACrB,MAEF,IAAK,MACL,IAAK,MAEDA,EADEvjD,EAAM4yB,WACS,QAAR4a,EAAgB,EAAIxtC,EAAMxI,OAAO9hB,OAAS,EAE1CsqB,EAAMwtC,GAEjBr4D,EAAS6qB,EAAMA,MAAMujD,GACrB,MACF,QACEpuE,EAAS6qB,EAAMA,MAAMwtC,GAGzB,OAAOr4D,GAOD,YAAA6tE,qBAAR,SAA6B3lD,GAC3B,IAAMmmD,EAAWxhE,WAAWqb,EAAS,IAAM,IACrComD,EAAWzhE,WAAWqb,EAAS,IAAM,IACrCgC,EAAavoB,KAAKiJ,KAAKyoB,gBACrBtR,EAAemI,EAAV,MAAElI,EAAQkI,EAAL,IAEZgS,EACDprB,KAAKsP,IAAI2B,EAAMpW,EAAGqW,EAAIrW,GADrBuwB,EAEDprB,KAAKsP,IAAI2B,EAAM3d,EAAG4d,EAAI5d,GAI3B,MAAO,CAAEuH,EAFCue,EAAWoM,WAAa+3C,EAAWnyC,EAEjC93B,EADF8lB,EAAWqM,YAAc+3C,EAAWpyC,IAOxC,YAAA7F,kBAAR,WACE,IAAMnM,EAAavoB,KAAKiJ,KAAKyoB,gBACrBtR,EAAemI,EAAV,MAAElI,EAAQkI,EAAL,IAEZliB,EAAQkiB,EAAWoM,WACnBruB,EAASiiB,EAAWqM,YACpB2F,EAAU,CACdvwB,EAAGmF,KAAKsP,IAAI2B,EAAMpW,EAAGqW,EAAIrW,GACzBvH,EAAG0M,KAAKsP,IAAI2B,EAAM3d,EAAG4d,EAAI5d,IAG3B,MAAO,CACLuH,EAAGuwB,EAAQvwB,EACXvH,EAAG83B,EAAQ93B,EACXyN,KAAMqqB,EAAQvwB,EACdoG,KAAMmqB,EAAQ93B,EACd0N,KAAMoqB,EAAQvwB,EAAI3D,EAClBgK,KAAMkqB,EAAQ93B,EAAI6D,EAClBD,MAAK,EACLC,OAAM,IAUF,YAAA0kE,iBAAR,SAAyBphE,EAAci1C,EAAap4C,GAClD,IAAM8hB,EAAavoB,KAAKiJ,KAAKyoB,gBACzB50B,EAAI,GAER,GAAI,gBAAM+hD,GACR,OAAO,KAGT,GAAa,QAATj1C,EAAgB,CACZ,MAAiBi1C,EAAfz+B,EAAK,QAAEC,EAAG,MACZusD,EAAK5sE,KAAK+rE,cAAc3rD,GACxBysD,EAAK7sE,KAAK+rE,cAAc1rD,GACxBygB,EAAa+F,GAAgBte,EAAYqkD,GAC3C7rC,EAAW8F,GAAgBte,EAAYskD,GACvC/rC,EAAaC,IACfA,EAAqB,EAAV5xB,KAAKE,GAAS0xB,GAG3BjkC,EAAI,CACF4yB,OAAQnH,EAAWke,YACnBzF,OAAQwF,GAAoBje,EAAYqkD,GACxC9rC,WAAU,EACVC,SAAQ,QAEL,GAAa,UAATn3B,EAAkB,CACrB,MAAiBi1C,EAAfz+B,EAAK,QAAEC,EAAG,MAClBvjB,EAAI,CACFsjB,MAAOpgB,KAAK+rE,cAAc3rD,GAC1BC,IAAKrgB,KAAK+rE,cAAc1rD,GACxBqH,IAAKm3B,EAAOn3B,UAET,GAAa,SAAT9d,EAAiB,CACpB,MAAiBi1C,EAAfz+B,EAAK,QAAEC,EAAG,MAClBvjB,EAAI,CACFsjB,MAAOpgB,KAAK+rE,cAAc3rD,GAC1BC,IAAKrgB,KAAK+rE,cAAc1rD,GACxBgG,KAAM,cAAIw4B,EAAQ,OAAQ,YAEvB,GAAa,WAATj1C,EAAmB,CACtB,MAAiBi1C,EAAfz+B,EAAK,QAAEC,EAAG,MAClBvjB,EAAI,CACFsjB,MAAOpgB,KAAK+rE,cAAc3rD,GAC1BC,IAAKrgB,KAAK+rE,cAAc1rD,SAErB,GAAa,SAATzW,EAAiB,CAC1B,IAAMq6C,EAAejkD,KAAKiJ,KAAKX,UACzB,EAAiCu2C,EAA/Bt4B,EAAQ,WAAE0xC,EAAO,UAAK6U,EAAI,mBAA5B,wBACFC,EAAc9U,EACd,qBAAWA,KACb8U,EAAc9U,EAAQhU,IAExBnnD,EAAI,OAAH,WAAG,CAAH,yCACIkD,KAAK+rE,cAAcxlD,IACnBumD,GAAI,CACP7U,QAAS8U,SAEN,GAAa,eAATnjE,EAAuB,CAC1B,MAAyDi1C,EAA7CluB,GAAVpK,EAAQ,WAAO,SAAEQ,EAAI,OAAEV,EAAI,OAAE2mD,EAAU,aAAEltC,EAAS,YAC1DhjC,EAAI,OAAH,WAAG,CAAH,sBACIkD,KAAK+rE,cAAcxlD,IAAS,CAC/B06B,eAAgBjhD,KAAK00B,oBACrB/D,MAAK,EACL5J,KAAI,EACJV,KAAI,EACJ2mD,WAAU,EACVltC,UAAS,SAEN,GAAa,eAATl2B,EAAuB,CAC1B,MAA2Ci1C,EAA7Bt1B,GAAZnJ,EAAK,QAAEC,EAAG,MAAQ,UAAQ4sD,GAAN5mD,EAAI,OAAY,cAC5CvpB,EAAI,CACFq9B,OAAQn6B,KAAKosE,gBAAgBhsD,EAAOC,GACpCkJ,OAAM,EACNlD,KAAI,EACJ4mD,WAAU,QAEP,GAAa,iBAATrjE,EAAyB,CAC5B,MAA+Bi1C,EAAjB,GAAZz+B,EAAK,QAAEC,EAAG,MAAO,SAAE7C,EAAK,QAC1BgL,EAAyBxoB,KAAKiJ,KAAKuf,WACnC,EAAS,GACT,EAAY,SAAZ,EAAa7e,GACZA,IAGDA,EAAKskD,UACNtkD,EAAgB0tD,cAAcrpC,SAAQ,SAAC5K,GAAU,eAElD,EAAO9f,KAAKqG,KAGhB,eAAK6e,GAAY,SAACyC,GACZ,EACE,mBAAS,EAAOA,EAAKrhB,OACvB,eAAKqhB,EAAK8G,UAAU,SAACm7C,GACnB,EAAUA,EAAK38D,UAInB,eAAK0a,EAAK8G,UAAU,SAACm7C,GACnB,EAAUA,EAAK38D,aAIrBzT,EAAI,CACF0gB,MAAK,EACLwN,OAAM,EACN5K,MAAOpgB,KAAK+rE,cAAc3rD,GAC1BC,IAAKrgB,KAAK+rE,cAAc1rD,IAI5B,IAAM5X,EAAM,kBAAQ,GAAIhC,EAAK,yCACxB3J,GAAC,CACJ+9B,IAAKgkB,EAAOhkB,IACZjyB,MAAOi2C,EAAOj2C,MACdukB,QAAS0xB,EAAO1xB,QAChBC,QAASyxB,EAAOzxB,WAMlB,OAJA3kB,EAAI3C,UAAY9F,KAAKmtE,sBAAsB1kE,GAC3CA,EAAIkgB,QAAU3oB,KAAKiJ,KAAK4c,aAAa8C,SAAWlgB,EAAIkgB,SAAW,cAAIk2B,EAAQ,UAAWp2C,EAAIkgB,SAC1FlgB,EAAI+pB,cAAgB,kBAAQ,GAAI1kB,GAAqBrF,EAAI+pB,cAAeqsB,EAAOrsB,eAExE/pB,GAQD,YAAA+iE,MAAR,SAAc3sB,GACZ,OAAO,cAAIA,EAAQ,OAAO,IASpB,YAAAsuB,sBAAR,SAA8BtuB,GAC5B,OAAO7+C,KAAKwrE,MAAM3sB,GAAU7+C,KAAK2qE,oBAAsB3qE,KAAK4qE,qBAGtD,YAAAG,mBAAR,SAA2BnhE,GACzB,OAAO,cAAI5J,KAAKiJ,KAAKyD,WAAY,CAAC,aAAc,aAAc9C,GAAO,KAEzE,EAnnBA,CAAwC,ICxBlC,SAAUwjE,GAAgB3mE,EAAeq5B,GAC7C,OAAO,cAAIr5B,EAAO,CAAC,aAAc,OAAQq5B,EAAW,QAAS,IAWzD,SAAUutC,GAAiB9kD,EAAwBW,EAAciD,EAAamhD,GAClF,IAAM95C,EAAQ,GACRwC,EAAQ9M,EAAMqkD,WAgCpB,OA/BIhlD,EAAW6X,SAEbpK,EAAM1yB,KAAK,CACThG,MAAO,EACP+oB,KAAM,GACNmnD,UAAW,KAGfx3C,EAAMzO,QAAO,SAACkmD,EAAeC,EAAmBC,GAC9C,IAAMC,EAAeF,EAAYpwE,MACjC,GAAIgwE,EACF95C,EAAMlwB,KAAK,CACT62B,OAAQ,CACN5R,EAAWgY,QAAgB,MAARpU,EAAc,CAAEniB,EAAG,EAAGvH,EAAGmrE,GAAiB,CAAE5jE,EAAG4jE,EAAcnrE,EAAG,IACnF8lB,EAAWgY,QAAgB,MAARpU,EAAc,CAAEniB,EAAG,EAAGvH,EAAGmrE,GAAiB,CAAE5jE,EAAG4jE,EAAcnrE,EAAG,YAIvF,GAAIkrE,EAAc,CAChB,IACME,GADWJ,EAAQnwE,MACOswE,GAAgB,EAChDp6C,EAAMlwB,KAAK,CACT62B,OAAQ,CACN5R,EAAWgY,QAAgB,MAARpU,EAAc,CAAEniB,EAAG,EAAGvH,EAAGorE,GAAgB,CAAE7jE,EAAG6jE,EAAaprE,EAAG,IACjF8lB,EAAWgY,QAAgB,MAARpU,EAAc,CAAEniB,EAAG,EAAGvH,EAAGorE,GAAgB,CAAE7jE,EAAG6jE,EAAaprE,EAAG,OAKzF,OAAOirE,IACN13C,EAAM,IACFxC,EAYH,SAAUs6C,GACdvlD,EACA+L,EACAC,EACA+4C,EACAnhD,GAEA,IAAMw9B,EAAQr1B,EAAO5T,OAAO9hB,OACtB40B,EAAQ,GACRwC,EAAQzB,EAAOg5C,WAiCrB,OA/BAv3C,EAAMzO,QAAO,SAACkmD,EAAeC,GAC3B,IAAMK,EAAWN,EAAUA,EAAQnwE,MAAQowE,EAAYpwE,MACjDswE,EAAeF,EAAYpwE,MAC3BuwE,GAAeE,EAAWH,GAAgB,EA0BhD,MAzBY,MAARzhD,EAEFqH,EAAMlwB,KAAK,CACT62B,OAAQ,CACN5R,EAAWgY,QAAQ,CACjBv2B,EAAGsjE,EAAYM,EAAeC,EAC9BprE,EAAG,IAEL8lB,EAAWgY,QAAQ,CACjBv2B,EAAGsjE,EAAYM,EAAeC,EAC9BprE,EAAG,OAKT+wB,EAAMlwB,KAAK,CACT62B,OAAQ,cAAIt6B,MAAM8pD,EAAQ,IAAI,SAAC5pD,EAASoJ,GACtC,OAAOof,EAAWgY,QAAQ,CACxBv2B,EAAGb,EAAMwgD,EACTlnD,EAAG6qE,EAAYM,EAAeC,SAM/BH,IACN13C,EAAM,IACFxC,EASH,SAAUw6C,GAASC,EAAgB9sC,GACvC,IAAM+sC,EAAW,cAAI/sC,EAAY,QACjC,GAAiB,OAAb+sC,EACF,OAAO,EAGT,IAAMC,EAAY,cAAIF,EAAW,QAEjC,aAAsBxqE,IAAbyqE,GAAwC,OAAdC,GCrGrC,IAAMC,GAAW,CAAC,aAGZC,GAA2B,OAAH,WAAG,CAAH,sBACzBvgE,IAAmB,CACtBu9C,OAAQ,O,GAWV,YAQE,WAAYpiD,GAAZ,MACE,YAAMA,IAAK,K,OAHL,EAAAq5B,MAAe,IAAI+e,IAMzB,EAAKitB,cAAgB,EAAKrlE,KAAKC,SAAS+4B,EAAM8jB,IAAIr8B,WAClD,EAAK6kD,cAAgB,EAAKtlE,KAAKC,SAAS+4B,EAAM8jB,IAAIr8B,W,EA+mBtD,OA5nBkC,yBAgBhC,sBAAW,mBAAI,C,IAAf,WACE,MAAO,Q,gCAGF,YAAAzB,KAAP,aAEO,YAAA3e,OAAP,WACEtJ,KAAKsiB,UAMA,YAAA8+B,OAAP,sBACQ74B,EAAavoB,KAAKiJ,KAAKyoB,gBAE7B,eAAK1xB,KAAKitC,iBAAiB,SAACC,GAClB,IAGJi+B,EAHIr2C,EAAsCoY,EAA7B,UAAEpN,EAA2BoN,EAAlB,UAAEtjC,EAAgBsjC,EAAZ,KAAE49B,EAAU59B,EAAL,MACjC/gB,EAA0B2+C,EAAvB,IAAE5hD,EAAqB4hD,EAAhB,MAAEwC,EAAcxC,EAAL,UAI7B,GAAIlhE,IAASmD,EAAe8zC,KACtBt4B,EAAW6X,QACD,MAARjU,EACFg/C,EAAU5iD,EAAW8X,aACjBR,EAActX,EAAYuX,GAC1BY,EAA0BnY,GACb,MAAR4D,IACTg/C,EAAU5iD,EAAW8X,aACjBK,EAA0BnY,GAC1BsX,EAActX,EAAYuX,IAGhCqrC,EAAUtrC,EAActX,EAAYuX,QAEjC,GAAIl2B,IAASmD,EAAeyzC,KACjC,GAAIj4B,EAAW6X,QAAS,CAatB+qC,EAAU,CACR33C,MAZEjL,EAAW8X,aAEH,MAARlU,EACI2hD,GAAmBvlD,EAAY,EAAKtf,KAAKw8C,aAAa,GAAIv8B,EAAOokD,EAAWnhD,GAC5EkhD,GAAiB9kD,EAAYW,EAAOiD,EAAKmhD,GAGrC,MAARnhD,EACIkhD,GAAiB9kD,EAAYW,EAAOiD,EAAKmhD,GACzCQ,GAAmBvlD,EAAY,EAAKtf,KAAKf,YAAaghB,EAAOokD,EAAWnhD,GAK9EuD,OAAQ,EAAKzmB,KAAKyoB,gBAAgB+U,kBAGpC0kC,EAAU,CAAE33C,MAAO65C,GAAiB9kD,EAAYW,EAAOiD,EAAKmhD,IAGhEx4C,EAAUxS,OAAO6oD,OAOd,YAAA7oD,OAAP,WACEtiB,KAAK6+C,OAAS7+C,KAAKiJ,KAAK4c,aAAayC,KAErC,IAAMkmD,EAAe,IAAIntB,IAEzBrhD,KAAKyuE,YAAYD,GACjBxuE,KAAK0uE,YAAYF,GAIjB,IAAMlD,EAAW,IAAIjqB,IAErBrhD,KAAKsiC,MAAMtU,SAAQ,SAACkf,EAAqBtvC,GACnC4wE,EAAa9oE,IAAI9H,GACnB0tE,EAAS1lE,IAAIhI,EAAKsvC,GAGlBA,EAAGpY,UAAU1tB,aAKjBpH,KAAKsiC,MAAQgpC,GAGR,YAAAziD,MAAP,WACE,YAAMA,MAAK,WAEX7oB,KAAKsiC,MAAMzZ,QACX7oB,KAAKsuE,cAAczlD,QACnB7oB,KAAKuuE,cAAc1lD,SAGd,YAAAzhB,QAAP,WACE,YAAMA,QAAO,WAEbpH,KAAKsuE,cAAcxjE,QAAO,GAC1B9K,KAAKuuE,cAAczjE,QAAO,IAMrB,YAAAmiC,cAAP,WACE,IAAMC,EAAK,GAMX,OAJAltC,KAAKsiC,MAAMtU,SAAQ,SAAC1wB,GAClB4vC,EAAG5pC,KAAKhG,MAGH4vC,GAOD,YAAAuhC,YAAR,SAAoBD,GAElB,IAAMtlD,EAAQlpB,KAAKiJ,KAAKf,YAExB,GAAKghB,IAASA,EAAMwgC,WAApB,CAIA,IAAMilB,EAAc1tC,EAAcjhC,KAAK6+C,OAAQ31B,EAAMjhB,OACrD,IAAoB,IAAhB0mE,EAAJ,CAIA,IAAM7uC,EAAYoB,EAAiBytC,EAAaxpD,EAAU8a,QACpD34B,EAAQ26B,EAAM8jB,GAGdx9B,EAAavoB,KAAKiJ,KAAKyoB,gBAEvBk9C,EAAS5uE,KAAK6uE,MAAM,OAAQ3lD,EAAMjhB,OAClC6mE,EAAS9uE,KAAK6uE,MAAM,OAAQ3lD,EAAMjhB,OAExC,GAAIsgB,EAAWwX,OAAQ,CAIrB,GAFI5b,EAAOnkB,KAAKsiC,MAAMplC,IAAI0xE,GAIxB1oC,GADMz9B,EAAMzI,KAAK+uE,eAAe7lD,EAAOylD,EAAa7uC,GAC1CsuC,IACVjqD,EAAK2Q,UAAUxS,OAAO7Z,GACtB+lE,EAAa5oE,IAAIgpE,EAAQzqD,QAGzBA,EAAOnkB,KAAKgvE,eAAe9lD,EAAOylD,EAAarnE,EAAOw4B,EAlB9C,KAmBR9/B,KAAKsiC,MAAM18B,IAAIgpE,EAAQzqD,GACvBqqD,EAAa5oE,IAAIgpE,EAAQzqD,GAM3B,GAFI2C,EAAO9mB,KAAKsiC,MAAMplC,IAAI4xE,GAIxB5oC,GADMz9B,EAAMzI,KAAKivE,eAAe/lD,EAAOylD,EAAa7uC,EA3B5C,KA4BEsuC,IACVtnD,EAAKgO,UAAUxS,OAAO7Z,GACtB+lE,EAAa5oE,IAAIkpE,EAAQhoD,QAGzBA,EAAO9mB,KAAKkvE,eAAehmD,EAAOylD,EAAarnE,EAAOw4B,EAjC9C,QAmCN9/B,KAAKsiC,MAAM18B,IAAIkpE,EAAQhoD,GACvB0nD,EAAa5oE,IAAIkpE,EAAQhoD,SAGxB,GAAIyB,EAAW6X,QAAS,CAE7B,IAAIjc,EA6BA2C,EA3BJ,GAFI3C,EAAOnkB,KAAKsiC,MAAMplC,IAAI0xE,GAEhB,CAKR1oC,GAJMz9B,EAAM8f,EAAW8X,aACnBrgC,KAAK+uE,eAAe7lD,EAAOylD,EAAaxpD,EAAUgqD,QAClDnvE,KAAKovE,iBAAiBlmD,EAAOylD,EAAa7uC,GAEpCsuC,IACVjqD,EAAK2Q,UAAUxS,OAAO7Z,GACtB+lE,EAAa5oE,IAAIgpE,EAAQzqD,OACpB,CAEL,GAAIoE,EAAW8X,aAAc,CAC3B,GAAI,sBAAYsuC,GAEd,OAIAxqD,EAAOnkB,KAAKgvE,eAAe9lD,EAAOylD,EAAarnE,EAAO6d,EAAUgqD,OA5D5D,UA+DNhrD,EAAOnkB,KAAKqvE,iBAAiBnmD,EAAOylD,EAAarnE,EAAOw4B,EA/DlD,KAiER9/B,KAAKsiC,MAAM18B,IAAIgpE,EAAQzqD,GACvBqqD,EAAa5oE,IAAIgpE,EAAQzqD,GAM3B,GAFI2C,EAAO9mB,KAAKsiC,MAAMplC,IAAI4xE,GAEhB,CACR,IAAMrmE,EAGNy9B,GAHMz9B,EAAM8f,EAAW8X,aACnBrgC,KAAKsvE,iBAAiBpmD,EAAOylD,EAAaxpD,EAAUgqD,OA1EhD,KA2EJnvE,KAAKivE,eAAe/lD,EAAOylD,EAAaxpD,EAAUoqD,OA3E9C,KA4EEnB,IACVtnD,EAAKgO,UAAUxS,OAAO7Z,GACtB+lE,EAAa5oE,IAAIkpE,EAAQhoD,OACpB,CAEL,GAAIyB,EAAW8X,aAAc,CAC3B,GAAI,sBAAYsuC,GACd,OAEA7nD,EAAO9mB,KAAKwvE,iBAAiBtmD,EAAOylD,EAAarnE,EAAO6d,EAAUgqD,OArF9D,UAyFNroD,EAAO9mB,KAAKkvE,eAAehmD,EAAOylD,EAAarnE,EAAO6d,EAAUoqD,OAzF1D,KA4FJzoD,IACF9mB,KAAKsiC,MAAM18B,IAAIkpE,EAAQhoD,GACvB0nD,EAAa5oE,IAAIkpE,EAAQhoD,SAQzB,YAAA4nD,YAAR,SAAoBF,GAApB,WAEQpoB,EAAUpmD,KAAKiJ,KAAKw8C,aAE1B,eAAKW,GAAS,SAACl9B,EAAc/f,GAE3B,GAAK+f,IAASA,EAAMwgC,WAApB,CAGQ,IAAAzhD,EAAUihB,EAAL,MACPumD,EAAcxuC,EAAc,EAAK4d,OAAQ52C,GAE/C,IAAoB,IAAhBwnE,EAAuB,CACzB,IAAMnoE,EAAQ26B,EAAM8jB,GAEd6oB,EAAS,EAAKC,MAAM,OAAQ5mE,GAC5B6mE,EAAS,EAAKD,MAAM,OAAQ5mE,GAE5BsgB,EAAa,EAAKtf,KAAKyoB,gBAE7B,GAAInJ,EAAWwX,OAAQ,CACrB,IAAMD,EAAYoB,EAAiBuuC,EAAqB,IAARtmE,EAAYgc,EAAU+a,KAAO/a,EAAU6a,OAKvF,GAFI7b,EAAO,EAAKme,MAAMplC,IAAI0xE,GAIxB1oC,GADMz9B,EAAM,EAAKsmE,eAAe7lD,EAAOumD,EAAa3vC,GAC1CsuC,IACVjqD,EAAK2Q,UAAUxS,OAAO7Z,GACtB+lE,EAAa5oE,IAAIgpE,EAAQzqD,QAGzBA,EAAO,EAAK6qD,eAAe9lD,EAAOumD,EAAanoE,EAAOw4B,EAnB9C,KAoBR,EAAKwC,MAAM18B,IAAIgpE,EAAQzqD,GACvBqqD,EAAa5oE,IAAIgpE,EAAQzqD,GAM3B,GAFI2C,EAAO,EAAKwb,MAAMplC,IAAI4xE,GAIxB5oC,GADMz9B,EAAM,EAAKwmE,eAAe/lD,EAAOumD,EAAa3vC,EA5B5C,KA6BEsuC,IACVtnD,EAAKgO,UAAUxS,OAAO7Z,GACtB+lE,EAAa5oE,IAAIkpE,EAAQhoD,QAGzBA,EAAO,EAAKooD,eAAehmD,EAAOumD,EAAanoE,EAAOw4B,EAlC9C,QAoCN,EAAKwC,MAAM18B,IAAIkpE,EAAQhoD,GACvB0nD,EAAa5oE,IAAIkpE,EAAQhoD,SAGxB,GAAIyB,EAAW6X,QAAS,CAE7B,IAAIjc,EA4BA2C,EA1BJ,GAFI3C,EAAO,EAAKme,MAAMplC,IAAI0xE,GAEhB,CAMR1oC,GALMz9B,EAAM8f,EAAW8X,aACnB,EAAK+uC,iBAAiBlmD,EAAOumD,EAAatqD,EAAUoqD,QACpD,EAAKR,eAAe7lD,EAAOumD,EAAatqD,EAAUgqD,QAG5Cf,IACVjqD,EAAK2Q,UAAUxS,OAAO7Z,GACtB+lE,EAAa5oE,IAAIgpE,EAAQzqD,OACpB,CAEL,GAAIoE,EAAW8X,aAAc,CAC3B,GAAI,sBAAYovC,GACd,OAEAtrD,EAAO,EAAKkrD,iBAAiBnmD,EAAOumD,EAAanoE,EAAO6d,EAAUoqD,OA3D9D,UA8DNprD,EAAO,EAAK6qD,eAAe9lD,EAAOumD,EAAanoE,EAAO6d,EAAUgqD,OA9D1D,KAiER,EAAK7sC,MAAM18B,IAAIgpE,EAAQzqD,GACvBqqD,EAAa5oE,IAAIgpE,EAAQzqD,GAM3B,GAFI2C,EAAO,EAAKwb,MAAMplC,IAAI4xE,GAEhB,CACR,IAAMrmE,EAGNy9B,GAHMz9B,EAAM8f,EAAW8X,aACnB,EAAK4uC,eAAe/lD,EAAOumD,EAAatqD,EAAUoqD,OA1E9C,KA2EJ,EAAKD,iBAAiBpmD,EAAOumD,EAAatqD,EAAUgqD,OA3EhD,KA4EEf,IACVtnD,EAAKgO,UAAUxS,OAAO7Z,GACtB+lE,EAAa5oE,IAAIkpE,EAAQhoD,OACpB,CAEL,GAAIyB,EAAW8X,aAAc,CAC3B,GAAI,sBAAYovC,GACd,OAEA3oD,EAAO,EAAKooD,eAAehmD,EAAOumD,EAAanoE,EAAO6d,EAAUoqD,OArF5D,UAwFNzoD,EAAO,EAAK0oD,iBAAiBtmD,EAAOumD,EAAanoE,EAAO6d,EAAUgqD,OAxF5D,KA2FJroD,IACF,EAAKwb,MAAM18B,IAAIkpE,EAAQhoD,GACvB0nD,EAAa5oE,IAAIkpE,EAAQhoD,YAkB7B,YAAAkoD,eAAR,SACE9lD,EACA21B,EACAv3C,EACAw4B,EACA3T,GAGA,IAAMhI,EAAO,CACX2Q,UAAW,IAAIkK,EAASh/B,KAAK+uE,eAAe7lD,EAAO21B,EAAQ/e,IAC3Dx4B,MAAK,EACLw4B,UAAWA,IAAc3a,EAAUgqD,OAAShqD,EAAUsmD,KAAO3rC,EAC7Dl2B,KAAMmD,EAAe8zC,KACrBiqB,MAAO,CAAE3+C,IAAG,EAAEjD,MAAK,IAKrB,OAHA/E,EAAK2Q,UAAUlvB,IAAI,QAASsjB,EAAMjhB,OAClCkc,EAAK2Q,UAAU7M,OAER9D,GAGD,YAAA+qD,eAAR,SACEhmD,EACA21B,EACAv3C,EACAw4B,EACA3T,GAEA,IAAM1jB,EAAMzI,KAAKivE,eAAe/lD,EAAO21B,EAAQ/e,EAAW3T,GAC1D,GAAI1jB,EAAK,CACP,IAAMqe,EAAO,CACXgO,UAAW,IAAIoK,EAASz2B,GACxBnB,MAAK,EACLw4B,UAAW3a,EAAUsmD,KACrB7hE,KAAMmD,EAAeyzC,KACrBsqB,MAAO,CACL3+C,IAAG,EACHjD,MAAK,EACLokD,UAAW,cAAI7kE,EAAK,aAAa,KAKrC,OAFAqe,EAAKgO,UAAU7M,OAERnB,IAIH,YAAAuoD,iBAAR,SACEnmD,EACA21B,EACAv3C,EACAw4B,EACA3T,GAEA,IAAMhI,EAAO,CACX2Q,UAAW,IAAImK,EAAWj/B,KAAKovE,iBAAiBlmD,EAAO21B,EAAQ/e,IAC/Dx4B,MAAK,EACLw4B,UAAS,EACTl2B,KAAMmD,EAAe8zC,KACrBiqB,MAAO,CAAE3+C,IAAG,EAAEjD,MAAK,IAMrB,OAJA/E,EAAK2Q,UAAUlvB,IAAI,QAASsjB,EAAMjhB,OAElCkc,EAAK2Q,UAAU7M,OAER9D,GAGD,YAAAqrD,iBAAR,SACEtmD,EACA21B,EACAv3C,EACAw4B,EACA3T,GAEA,IAAM1jB,EAAMzI,KAAKsvE,iBAAiBpmD,EAAO21B,EAAQ/e,EAAW3T,GAC5D,GAAI1jB,EAAK,CACP,IAAMqe,EAAO,CACXgO,UAAW,IAAIqK,EAAW12B,GAC1BnB,MAAK,EACLw4B,UAAW3a,EAAUsmD,KACrB7hE,KAAMmD,EAAeyzC,KACrBsqB,MAAO,CACL3+C,IAAG,EACHjD,MAAK,EACLokD,UAAW,cAAI7kE,EAAK,aAAa,KAKrC,OADAqe,EAAKgO,UAAU7M,OACRnB,IAWH,YAAAioD,eAAR,SAAuB7lD,EAAciY,EAAqBrB,GACxD,IAAMh6B,EAAY9F,KAAKuuE,cACjBhmD,EAAavoB,KAAKiJ,KAAKyoB,gBACvBnI,EAASsW,EAActX,EAAYuX,GACnC4vC,EAAYruC,EAAiBnY,EAAOiY,GACpCwuC,EAAelvC,EAAgBzgC,KAAKiJ,KAAKyD,WAAYozB,GAErD8vC,EAAkB,cAAIzuC,EAAY,CAAC,UACrC,kBAAQ,CAAEtd,MAAO,CAAEjb,MAAO,CAAEyd,KAAMqpD,KAAiBvuC,GACnDA,EAEE14B,EAAM,kBAAQ,OAAD,WAAC,CAAD,oBAEf3C,UAAS,GACNyjB,GAAM,CACTyM,MAAO9M,EAAMqkD,WAAWjpD,KAAI,SAACgL,GAAS,MAAC,CAAEkB,GAAI,GAAGlB,EAAKk+C,UAAa5wE,KAAM0yB,EAAKjJ,KAAM/oB,MAAOgyB,EAApD,UACtCugD,eAAgBtnD,EAAW6X,SACkC,EAAzDI,EAAsBjX,EAAQhB,EAAWke,aACzCjG,EAAsBjX,EAAQhB,EAAWke,eAE/CkpC,EACAC,GAEI,EAA6B5vE,KAAK2sD,cAAclkD,GAA9CkgB,EAAO,UAAE6J,EAAa,gBAC9B/pB,EAAI+pB,cAAgBA,EACpB/pB,EAAIkgB,QAAUA,EAGd,IAAMmnD,EAAiBvgD,EAAWhG,GAE5BwmD,EAAsB,cAAItnE,EAAK,sBAAuBqnE,EAAiB,EAAI,EAAI,IACrF,GAAIC,GAAuB,EAAG,CAE5B,IAAMC,EAAchwE,KAAKiJ,KAAKG,YAAYlM,IAAI,SACxC+yE,EAAejwE,KAAKiJ,KAAKG,YAAYlM,IAAI,UAC/CuL,EAAIsnE,oBAAsBA,GAAuBD,EAAiBE,EAAcC,GAGlF,OAAOxnE,GAWD,YAAAwmE,eAAR,SAAuB/lD,EAAciY,EAAqBrB,EAAsB3T,GAC9E,GAAK6hD,GAASvtC,EAAgBzgC,KAAKiJ,KAAKyD,WAAYozB,GAAYqB,GAAhE,CAGA,IAAM+uC,EAAe9C,GAAgBptE,KAAKiJ,KAAKyD,WAAYozB,GAGrDqwC,EAAU,kBACd,CACErqE,UAAW9F,KAAKsuE,eAElB4B,EACA,cAAI/uC,EAAY,QAChBnhC,KAAK2sD,cAAcxrB,IAIrB,OAFAgvC,EAAQ38C,MAAQ65C,GAAiBrtE,KAAKiJ,KAAKyoB,gBAAiBxI,EAAOiD,EAAK,cAAIgkD,EAAS,aAAa,IAE3FA,IAUD,YAAAf,iBAAR,SAAyBlmD,EAAciY,EAAqBrB,GAC1D,IAAMh6B,EAAY9F,KAAKuuE,cACjBhmD,EAAavoB,KAAKiJ,KAAKyoB,gBAEvBsE,EAAQ9M,EAAMqkD,WAAWjpD,KAAI,SAACgL,GAAS,MAAC,CAAEkB,GAAI,GAAGlB,EAAKk+C,UAAa5wE,KAAM0yB,EAAKjJ,KAAM/oB,MAAOgyB,EAApD,UACxCpG,EAAM4yB,YAAc3sC,KAAKsmB,IAAIlN,EAAWwY,SAAWxY,EAAWuY,cAA0B,EAAV3xB,KAAKE,IAEtF2mB,EAAM3yB,MAGR,IAAMqsE,EAAYruC,EAAiBnY,EAAOiY,GACpCwuC,EAAelvC,EAAgBzgC,KAAKiJ,KAAKyD,WAAYyY,EAAUoqD,QAE/DK,EAAkB,cAAIzuC,EAAY,CAAC,UACrC,kBAAQ,CAAEtd,MAAO,CAAEjb,MAAO,CAAEyd,KAAMqpD,KAAiBvuC,GACnDA,EACE14B,EAAM,kBAAQ,OAAD,WAAC,CAAD,oBAEf3C,UAAS,GACN46B,EAA0B1gC,KAAKiJ,KAAKyoB,kBAAgB,CACvDsE,MAAK,EACL65C,eAAgB,IAElBF,EACAC,GAEI,EAA6B5vE,KAAK2sD,cAAclkD,GAA9CkgB,EAAO,UAAE6J,EAAa,gBAI9B,OAHA/pB,EAAIkgB,QAAUA,EACdlgB,EAAI+pB,cAAgBA,EAEb/pB,GAUD,YAAA6mE,iBAAR,SAAyBpmD,EAAciY,EAAqBrB,EAAsB3T,GAChF,GAAK6hD,GAASvtC,EAAgBzgC,KAAKiJ,KAAKyD,WAAYozB,GAAYqB,GAAhE,CAMA,IAAM+uC,EAAe9C,GAAgBptE,KAAKiJ,KAAKyD,WAAYyY,EAAUgqD,QAC/DgB,EAAU,kBACd,CACErqE,UAAW9F,KAAKsuE,cAChB5+C,OAAQ1vB,KAAKiJ,KAAKyoB,gBAAgB+U,aAEpCypC,EACA,cAAI/uC,EAAY,QAChBnhC,KAAK2sD,cAAcxrB,IAEfmsC,EAAY,cAAI6C,EAAS,aAAa,GACtCC,EAAwB,MAARjkD,EAAcnsB,KAAKiJ,KAAKw8C,aAAa,GAAKzlD,KAAKiJ,KAAKf,YAI1E,OAHAioE,EAAQ38C,MAAQs6C,GAAmB9tE,KAAKiJ,KAAKyoB,gBAAiB0+C,EAAelnD,EAAOokD,EAAWnhD,GAGxFgkD,IAGD,YAAAtB,MAAR,SAAcjyE,EAAcgB,GAG1B,OAAUhB,EAAI,IAAIgB,EAAG,IAFFoC,KAAKiJ,KAAKyoB,gBAEO9nB,MAG9B,YAAA+iD,cAAR,SAAsBlkD,GACpB,MAAO,CACLkgB,QAAS3oB,KAAKiJ,KAAK4c,aAAa8C,SAAW,cAAIlgB,EAAK,WACpD+pB,cACE/pB,GAAOA,EAAI+pB,cAAgB,kBAAQ,GAAI67C,GAA0B5lE,EAAI+pB,eAAiB67C,KAG9F,EA5nBA,CAAkC,IC/B5B,SAAUgC,GAAoBC,EAAkB/qD,EAAYua,GAChE,OAAIA,IAAc3a,EAAU4I,IACnB,CAACuiD,EAAWpgE,KAAOogE,EAAWjqE,MAAQ,EAAIkf,EAAKlf,MAAQ,EAAGiqE,EAAWlgE,MAE1E0vB,IAAc3a,EAAU8a,OACnB,CAACqwC,EAAWpgE,KAAOogE,EAAWjqE,MAAQ,EAAIkf,EAAKlf,MAAQ,EAAGiqE,EAAWjgE,KAAOkV,EAAKjf,QAEtFw5B,IAAc3a,EAAU+a,KACnB,CAACowC,EAAWpgE,KAAMogE,EAAWlgE,KAAOkgE,EAAWhqE,OAAS,EAAIif,EAAKjf,OAAS,GAE/Ew5B,IAAc3a,EAAU6a,MACnB,CAACswC,EAAWngE,KAAOoV,EAAKlf,MAAOiqE,EAAWlgE,KAAOkgE,EAAWhqE,OAAS,EAAIif,EAAKjf,OAAS,GAG5Fw5B,IAAc3a,EAAU+kB,UAAYpK,IAAc3a,EAAUqlB,SACvD,CAAC8lC,EAAWzoB,GAAG79C,EAAGsmE,EAAWzoB,GAAGplD,GAErCq9B,IAAc3a,EAAUglB,WAAarK,IAAc3a,EAAUilB,UACxD,CAACkmC,EAAWnpB,GAAGn9C,EAAIub,EAAKlf,MAAOiqE,EAAWnpB,GAAG1kD,GAElDq9B,IAAc3a,EAAUmlB,aAAexK,IAAc3a,EAAUslB,YAC1D,CAAC6lC,EAAWppB,GAAGl9C,EAAGsmE,EAAWppB,GAAGzkD,EAAI8iB,EAAKjf,QAE9Cw5B,IAAc3a,EAAUolB,cAAgBzK,IAAc3a,EAAUklB,aAC3D,CAACimC,EAAWC,GAAGvmE,EAAIub,EAAKlf,MAAOiqE,EAAWC,GAAG9tE,EAAI8iB,EAAKjf,QAGxD,CAAC,EAAG,GC7BP,SAAUkqE,GAAgB39C,EAAiBv1B,EAAY8jC,GAC3D,IAAKvO,EACH,OAAOuO,EAGT,IAAIjkC,EAEJ,GAAI01B,EAAK/gB,UAAY+gB,EAAK/gB,SAASlT,OAAS,EAAG,CAC7C,IAAM6xE,EAAW5wE,MAAMgzB,EAAK/gB,SAASlT,OAAS,GAAGixB,KAAK,IACtD1yB,EAAI01B,EAAKi/B,QAAO,MAAZj/B,EAAI,0BAASv1B,GAAUmzE,IAAUzuD,KAAK,SAE1C7kB,EAAI01B,EAAKi/B,QAAQx0D,GAAO0kB,KAAK,IAG/B,OAAO7kB,GAAKikC,ECfd,SAASsvC,GAAgBpjD,GACvB,IAAM2uC,EAAS3uC,EAAO2uC,OAClB,mBAASA,IAAWhvD,GAAcgvD,KACpC3uC,EAAO2uC,OAAShvD,GAAcgvD,IAU5B,SAAU0U,GAAgB7wC,GAC9B,OAAOA,EAAU8wC,WAAWzrD,EAAU+a,OAASJ,EAAU8wC,WAAWzrD,EAAU6a,OAAS,WAAa,aCGtG,SAAS6wC,GAAgBzoD,EAAiDngB,GACxE,OAAI,oBAAUmgB,IACO,IAAZA,GAA4B,GAG9B,cAAIA,EAAS,CAACngB,GAAQmgB,GAG/B,SAAS0oD,GAAarsB,GACpB,OAAO,cAAIA,EAAc,WAAYt/B,EAAU8a,QAOjD,I,GAAA,YAME,WAAYh3B,GAAZ,MACE,YAAMA,IAAK,K,OAEX,EAAKnD,UAAY,EAAKmD,KAAKC,SAAS+4B,EAAMC,MAAMxY,W,EA6iBpD,OAtjBoC,yBAYlC,sBAAW,mBAAI,C,IAAf,WACE,MAAO,U,gCAGF,YAAAzB,KAAP,aAKO,YAAA3e,OAAP,sBACEtJ,KAAK6+C,OAAS7+C,KAAKiJ,KAAK4c,aAAauC,QAYrC,GAAI,cAAIpoB,KAAK6+C,OAAQ,UAAW,CAC9B,IAAM/pB,EAAY90B,KAAK+wE,wBAAmBttE,OAAWA,OAAWA,EAAWzD,KAAK6+C,QAChF,GAAI/pB,EAAW,CACbA,EAAU7M,OAEV,IAAM3gB,EAAQ26B,EAAMC,KACdpC,EAAYgxC,GAAa9wE,KAAK6+C,QAEpC7+C,KAAK2uC,WAAWrrC,KAAK,CACnBktB,GAAI,gBACJsE,UAAS,EACTxtB,MAAK,EACLw4B,UAAS,EACTl2B,KAAMmD,EAAeikE,OACrBlG,WAAOrnE,UAKXzD,KAAKixE,aA7Bc,SAACliD,EAAoB8D,EAAiB3J,GACzD,IAAM9E,EAAS,EAAK8sD,kBAAkBniD,EAAU8D,EAAM3J,GAElD9E,IACDA,EAAO0Q,UAA6B7M,OACrC,EAAK0mB,WAAWrrC,KAAK8gB,QAgCpB,YAAAg9B,OAAP,sBACEphD,KAAKmxE,WAAanxE,KAAKiJ,KAAKo3C,SAC5B,IAAMlkB,EAAS,cAAIn8B,KAAKiJ,KAAKyD,WAAY,CAAC,aAAc,SAAU,UAAW,CAAC,EAAG,EAAG,EAAG,IAEvF,eAAK1M,KAAK2uC,YAAY,SAACzB,GACb,IAAApY,EAAyBoY,EAAhB,UAAEpN,EAAcoN,EAAL,UACtBkU,EAASuvB,GAAgB7wC,GACzBsxC,EAAU,EAAKC,yBAAyBjwB,GAExCkwB,EAAWx8C,EAAU53B,IAAI,YACzBq0E,EAAYz8C,EAAU53B,IAAI,aAGhC43B,EAAUxS,OAAO,CACfgvD,SAAUniE,KAAKsP,IAAI2yD,EAAQE,SAAUA,GAAY,GACjDC,UAAWpiE,KAAKsP,IAAI2yD,EAAQG,UAAWA,GAAa,KAGtD,IAAM7wB,EAAa5rB,EAAU6rB,gBACvBp7B,EAAO,IAAI,GAAKm7B,EAAW12C,EAAG02C,EAAWj+C,EAAGi+C,EAAWr6C,MAAOq6C,EAAWp6C,QAEzE,EAAW+pE,GAAoB,EAAKpnE,KAAKo3C,SAAU96B,EAAMua,GAAxDlQ,EAAE,KAAE4hD,EAAE,KACP,EAAWnB,GAAoB,EAAKc,WAAY5rD,EAAMua,GAArD2xC,EAAE,KAAEC,EAAE,KAET1nE,EAAI,EACJvH,EAAI,EAGJq9B,EAAU8wC,WAAW,QAAU9wC,EAAU8wC,WAAW,WACtD5mE,EAAI4lB,EACJntB,EAAIivE,IAEJ1nE,EAAIynE,EACJhvE,EAAI+uE,GAIF1xC,EAAUnhC,QAAQ,SAAW,IAC/BqL,GAAKmyB,EAAO,IAEV2D,EAAUnhC,QAAQ,UAAY,IAChCqL,GAAKmyB,EAAO,IAEV2D,EAAUnhC,QAAQ,QAAU,IAC9B8D,GAAK05B,EAAO,IAEV2D,EAAUnhC,QAAQ,WAAa,IACjC8D,GAAK05B,EAAO,IAIdrH,EAAUxS,OAAO,CACftY,EAAC,EACDvH,EAAC,IAGH,EAAK0uE,WAAa,EAAKA,WAAWrjD,IAAIvI,EAAMua,OAOzC,YAAAxd,OAAP,sBACEtiB,KAAK6+C,OAAS7+C,KAAKiJ,KAAK4c,aAAauC,QAGrC,IAAM+iD,EAAgC,GAsDtC,GAAI,cAAInrE,KAAK6+C,OAAQ,UAAW,CAC9B,IAAMruB,EAAK,gBACL66C,EAAUrrE,KAAK2xE,iBAAiBnhD,GACtC,GAAI66C,EAAS,CACX,IAAMuG,EAAY5xE,KAAK6xE,oBAAepuE,OAAWA,OAAWA,EAAWzD,KAAK6+C,QAAQ,GACpF3Y,GAAK0rC,EAAW,CAAC,cACjBvG,EAAQv2C,UAAUxS,OAAOsvD,GAEzBzG,EAAQ36C,IAAM,MACT,CACL,IAAMsE,EAAY90B,KAAK+wE,wBAAmBttE,OAAWA,OAAWA,EAAWzD,KAAK6+C,QAChF,GAAI/pB,EAAW,CACbA,EAAU7M,OAEV,IAAM3gB,EAAQ26B,EAAMC,KACdpC,EAAYgxC,GAAa9wE,KAAK6+C,QAEpC7+C,KAAK2uC,WAAWrrC,KAAK,CACnBktB,GAAE,EACFsE,UAAS,EACTxtB,MAAK,EACLw4B,UAAS,EACTl2B,KAAMmD,EAAeikE,OACrBlG,WAAOrnE,IAIT0nE,EAAQ36C,IAAM,SAKlBxwB,KAAKixE,aApFY,SAACliD,EAAoB8D,EAAiB3J,GACvD,IAAMsH,EAAK,EAAKq+C,MAAM3lD,EAAMjhB,OAEtBojE,EAAU,EAAKsG,iBAAiBnhD,GAGtC,GAAI66C,EAAS,CACX,IAAI5iE,OAAG,EACDg8C,EAAeosB,GAAgB,EAAKhyB,OAAQ31B,EAAMjhB,QAGnC,IAAjBw8C,IACE,cAAIA,EAAc,UACpBh8C,EAAM,EAAKopE,eAAe9iD,EAAU8D,EAAM3J,EAAOu7B,GAAc,GAE3Dv7B,EAAMszB,SAER/zC,EAAM,EAAKqpE,iBAAiB/iD,EAAU8D,EAAM3J,EAAOu7B,GAC1Cv7B,EAAM4yB,aAEfrzC,EAAM,EAAKopE,eAAe9iD,EAAU8D,EAAM3J,EAAOu7B,KAMnDh8C,IAEFy9B,GAAKz9B,EAAK,CAAC,cAEX4iE,EAAQvrC,UAAYgxC,GAAarsB,GAEjC4mB,EAAQv2C,UAAUxS,OAAO7Z,GAGzB0iE,EAAQ36C,IAAM,OAEX,CAEL,IAAMpM,EAAS,EAAK8sD,kBAAkBniD,EAAU8D,EAAM3J,GAElD9E,IACDA,EAAO0Q,UAA6B7M,OACrC,EAAK0mB,WAAWrrC,KAAK8gB,GAGrB+mD,EAAQ36C,IAAM,OA2CpB,IAAMme,EAAa,GACnB,eAAK3uC,KAAKitC,iBAAiB,SAACC,GACtBi+B,EAAQj+B,EAAG1c,IACbme,EAAWrrC,KAAK4pC,GAEhBA,EAAGpY,UAAU1tB,aAKjBpH,KAAK2uC,WAAaA,GAGb,YAAA9lB,MAAP,WACE,YAAMA,MAAK,WACX7oB,KAAK8F,UAAU+iB,SAGV,YAAAzhB,QAAP,WACE,YAAMA,QAAO,WAEbpH,KAAK8F,UAAUgF,QAAO,IAMhB,YAAAinE,cAAR,SAAsB9oE,GAAtB,WACMuf,EAAavf,EAAKuf,WAMtB,OAJA,eAAKvf,EAAK2f,OAAO,SAAC1lB,GAChBslB,EAAaA,EAAWxkB,OAAO,EAAK+tE,cAAc7uE,OAG7CslB,GAOD,YAAAyoD,YAAR,SAAoBe,GAGlB,GAFmBhyE,KAAKiJ,KAAKk7C,gBAAkBnkD,KAAKiJ,KAEpD,CAKA,IAAMuf,EAAaxoB,KAAK+xE,cAAc/xE,KAAKiJ,MAErCgpE,EAA+B,GAErC,eAAKzpD,GAAY,SAACuG,GAChB,IAAMmtB,EAAantB,EAAS0jC,qBAE5B,eAAKvW,GAAY,SAACrpB,GAChB,IAAM3J,EAAQ2J,EAAK0pB,SAAS1pB,EAAKjpB,MAE5Bsf,GAAwB,aAAfA,EAAMtf,OAAuBqoE,EAAO/oD,EAAMjhB,SAIxD+pE,EAAOjjD,EAAU8D,EAAM3J,GAEvB+oD,EAAO/oD,EAAMjhB,QAAS,WAWpB,YAAAipE,kBAAR,SAA0BniD,EAAoB8D,EAAiB3J,GAC7D,IAAI4L,EAEE2vB,EAAeosB,GAAgB7wE,KAAK6+C,OAAQ31B,EAAMjhB,OAClDX,EAAQ26B,EAAMC,KACdpC,EAAYgxC,GAAarsB,GAiB/B,IAdqB,IAAjBA,IACE,cAAIA,EAAc,UACpB3vB,EAAY90B,KAAK+wE,mBAAmBhiD,EAAU8D,EAAM3J,EAAOu7B,GAEvDv7B,EAAMszB,SAER1nB,EAAY90B,KAAKkyE,uBAAuBnjD,EAAU8D,EAAM3J,EAAOu7B,GACtDv7B,EAAM4yB,aAEfhnB,EAAY90B,KAAKmyE,qBAAqBpjD,EAAU8D,EAAM3J,EAAOu7B,KAK/D3vB,EAGF,OAFAA,EAAUlvB,IAAI,QAASsjB,EAAMjhB,OAEtB,CACLuoB,GAAIxwB,KAAK6uE,MAAM3lD,EAAMjhB,OACrB6sB,UAAS,EACTxtB,MAAK,EACLw4B,UAAS,EACTl2B,KAAMmD,EAAeikE,OACrBlG,MAAO,CAAE5hD,MAAK,KAYZ,YAAA6nD,mBAAR,SAA2BhiD,EAAoB8D,EAAiB3J,EAAcu7B,GAE5E,IAAMh8C,EAAMzI,KAAK6xE,eAAe9iD,EAAU8D,EAAM3J,EAAOu7B,GAAc,GACrE,OAAO,IAAIrlB,EAAe32B,IAUpB,YAAAypE,uBAAR,SAA+BnjD,EAAoB8D,EAAiB3J,EAAcu7B,GAChF,IAAMh8C,EAAMzI,KAAK8xE,iBAAiB/iD,EAAU8D,EAAM3J,EAAOu7B,GACzD,OAAO,IAAIplB,EAAiB52B,IAUtB,YAAA0pE,qBAAR,SAA6BpjD,EAAoB8D,EAAiB3J,EAAcu7B,GAC9E,IAAMh8C,EAAMzI,KAAK6xE,eAAe9iD,EAAU8D,EAAM3J,EAAOu7B,GACvD,OAAO,IAAIrlB,EAAe32B,IAUpB,YAAAqpE,iBAAR,SAAyB/iD,EAAoB8D,EAAiB3J,EAAcu7B,GAC1E,IAAMzuB,EAAQ9M,EAAMqkD,WAEd6E,EAAa,eAAKp8C,GAAO,SAAC1G,GAAe,WAAAA,EAAKhyB,SAC9C+0E,EAAa,eAAKr8C,GAAO,SAAC1G,GAAe,WAAAA,EAAKhyB,SAC9Ck2B,EAAQwC,EAAM1R,KAAI,SAACgL,GACf,IAAAhyB,EAAqBgyB,EAAhB,MAAEk+C,EAAcl+C,EAAL,UAClBgjD,EAAYz/C,EAAKi/B,QAAQ5oC,EAAM0d,OAAOtpC,IAAQ0kB,KAAK,IAEzD,MAAO,CACL1kB,MAAOkwE,EACP8E,UAAS,EACT90D,MAAO80D,EACPC,WAAYj1E,MAIX80E,GACH5+C,EAAMlwB,KAAK,CACThG,MAAO4rB,EAAMzK,IACb6zD,UAAWz/C,EAAKi/B,QAAQ5oC,EAAM0d,OAAO,IAAI5kB,KAAK,IAC9CxE,MAAOqV,EAAKi/B,QAAQ5oC,EAAM0d,OAAO,IAAI5kB,KAAK,IAC1CuwD,WAAY,IAGXF,GACH7+C,EAAMlwB,KAAK,CACThG,MAAO4rB,EAAM1K,IACb8zD,UAAWz/C,EAAKi/B,QAAQ5oC,EAAM0d,OAAO,IAAI5kB,KAAK,IAC9CxE,MAAOqV,EAAKi/B,QAAQ5oC,EAAM0d,OAAO,IAAI5kB,KAAK,IAC1CuwD,WAAY,IAKhB/+C,EAAM4G,MAAK,SAACj2B,EAAQzE,GAAW,OAAAyE,EAAE7G,MAAQoC,EAAV,SAI/B,IAAM8yE,EAA6B,CACjC/zD,IAAK,eAAK+U,GAAOl2B,MACjBkhB,IAAK,eAAKgV,GAAOl2B,MACjBmjB,OAAQ,GACRgyD,KAAM,CACJ7oE,KAAMipB,EAAKjpB,MAEb8oE,MAAO,IAGS,SAAd7/C,EAAKjpB,OACP4oE,EAAcE,MAAQ,CACpB9pE,MAAO,CAGLinB,KAAoB,SAAdgD,EAAKjpB,KAAkB5J,KAAKiJ,KAAKyD,WAAWqxC,kBAAet6C,KAKrD,UAAdovB,EAAKjpB,OACP4oE,EAAc/xD,OAAS+S,EAAMlP,KAAI,SAAC3a,GAAS,OAAAA,EAAA,cAG7C,IAAM7D,EAAY9F,KAAK8F,UAIjBs7C,EAASuvB,GAFGG,GAAarsB,IAI3B5gC,EAAQ,cAAI4gC,EAAc,SAgB9B,OAfI5gC,IACFA,EAAQ,kBACN,CACEwC,KAAMsZ,EAAQzW,IAEhBrF,IAKJ2uD,EAAc1sE,UAAYA,EAC1B0sE,EAAcpxB,OAASA,EACvBoxB,EAAc3uD,MAAQA,EACtB2uD,EAAchgD,cAAgB1kB,GAEvB9N,KAAK2yE,eAAeH,EAAe/tB,EAAc,eAWlD,YAAAotB,eAAR,SACE9iD,EACA8D,EACA3J,EACAu7B,EACAj6B,GAEA,IAAM1kB,EAAY9F,KAAK8F,UAEjBg6B,EAAY,cAAI2kB,EAAc,WAAYt/B,EAAU8a,QAGpD2yC,EAAc,cAAI5yE,KAAKiJ,KAAKyD,WAAY,CAAC,aAAc,SAAUozB,EAAW,WAC5E+yC,EAAa,cAAIpuB,EAAc,UAC/BrD,EAASuvB,GAAgB7wC,GAEzBtM,EAAQhJ,ED7bZ,SAA+BooD,EAAqBC,EAAoBC,GAE5E,OAAOA,EAAYxuD,KAAI,SAAC3a,GACtB,IAAM2jB,EAAS,kBAAQ,GAAIslD,EAAaC,EAAYlpE,EAAK2jB,QAIzD,OAHAojD,GAAgBpjD,GAEhB3jB,EAAK2jB,OAASA,EACP3jB,KCubHopE,CAAqBH,EAAaC,EAAYpuB,EAAajxB,OD9e7D,SACJvqB,EACA8lB,EACA8D,EACA+/C,EACAC,GAEA,IAAM3pD,EAAQ2J,EAAK0pB,SAAS1pB,EAAKjpB,MACjC,GAAIsf,EAAM4yB,WAAY,CACpB,IAAM,EAAQ5yB,EAAMjhB,MACd,EAAY8mB,EAAS2uB,aAAa,SAClC,EAAY3uB,EAAS2uB,aAAa,SAClC,EAAez0C,EAAKyD,WAAWqxC,aAC/B,EAAYhvB,EAASxG,WAAW6X,QAEtC,OAAOlX,EAAMqkD,WAAWjpD,KAAI,SAACgL,G,MACnBjJ,EAA4BiJ,EAAxB,KAASijD,EAAejjD,EAAL,MACzB1yB,EAAOypB,EACP/oB,EAAQ4rB,EAAM0d,OAAO2rC,GAGrBS,EAAyE,IAA7D/pE,EAAK89C,gBAAgB,EAAO,OAAG,EAAC,GAAQzpD,EAAK,KAAKsB,OAG9D4e,EAAQgzD,GAAgB,EAAWlzE,EAAO,GAC1CiT,EAAQigE,GAAgB,EAAWlzE,EAAO,SAC5CgwB,EAASyB,EAASgkC,eAAexiD,EAAO,CAC1CiN,MAAK,EACLy1D,UAAS,IAOX,OAFAvC,GAFApjD,EAAS,kBAAQ,GAAIslD,EAAatlD,EAAQulD,IAInC,CAAEriD,GAAIlzB,EAAOV,KAAI,EAAEU,MAAK,EAAEgwB,OAAM,EAAE0lD,UAAS,MAGtD,MAAO,GCycDE,CAAelzE,KAAKiJ,KAAM8lB,EAAU8D,EAAM+/C,EAAaC,GAEvDhvD,EAAQ,cAAI4gC,EAAc,SAC1B5gC,IACFA,EAAQ,kBACN,CACEwC,KAAM6C,EAAQyW,EAAQzW,GAAS,IAEjCrF,IAIJ,IAAMsvD,EAAuBnzE,KAAKqxE,yBAAyBjwB,GAC3D+xB,EAAQrtE,UAAYA,EACpBqtE,EAAQ/xB,OAASA,EACjB+xB,EAAQ3/C,MAAQA,EAChB2/C,EAAQtvD,MAAQA,EAChBsvD,EAAQ3gD,cAAgB1kB,GAExB,IAAMslE,EAAcpzE,KAAK2yE,eAAeQ,EAAS1uB,EAAc3kB,GAC3DszC,EAAYC,UAEdD,EAAY5/C,MAAMypC,UAGpB,IAAMqW,EAAe,cAAIF,EAAa,gBAMtC,OALIE,GAAgBA,GAAgB,IAElCF,EAAYE,aAAetzE,KAAKiJ,KAAKo3C,SAASh6C,MAAQitE,GAGjDF,GASD,YAAAT,eAAR,SAAuBQ,EAAiB1uB,EAA4B3kB,GAClE,IAAMvZ,EAAWuZ,EAAU7S,MAAM,KAAK,GAChCu2B,EAAc,cAAIxjD,KAAKiJ,KAAKyD,WAAY,CAAC,aAAc,SAAU6Z,GAAW,IAElF,OAAO,kBAAQ,GAAIi9B,EAAa2vB,EAAS1uB,IAOnC,YAAAoqB,MAAR,SAAcjxE,GACZ,OAAUoC,KAAKpD,KAAI,IAAIgB,GAOjB,YAAA+zE,iBAAR,SAAyBnhD,GACvB,OAAO,eAAKxwB,KAAK2uC,YAAY,SAACzB,GAAO,OAAAA,EAAG1c,KAAH,MAG/B,YAAA6gD,yBAAR,SAAiCjwB,GACzB,MAA4BphD,KAAKiJ,KAAKo3C,SAA7BkzB,EAAE,QAAU1X,EAAE,SAG7B,MAAkB,aAAXza,EACH,CACEkwB,StH5dmC,IsH4dzBiC,EACVhC,UAAW1V,GAEb,CACEyV,SAAUiC,EACVhC,UtHjemC,IsHiexB1V,IAGrB,EAtjBA,CAAoC,I,GCEpC,YAIE,WAAY5yD,GAAZ,MACE,YAAMA,IAAK,K,OAgKL,EAAAuqE,eAAiB,SAACtwE,GACjB,IAAAub,EAAYvb,EAAT,GAAEsb,EAAOtb,EAAJ,GAEf,EAAKuwE,iBAAiBh1D,EAAKD,GAE3B,EAAKvV,KAAKK,QAAO,IAnKjB,EAAKxD,UAAY,EAAKmD,KAAKC,SAAS+4B,EAAMC,MAAMxY,W,EA0NpD,OAjOoC,yBAUlC,sBAAI,mBAAI,C,IAAR,WACE,MAAO,U,gCAMF,YAAAzB,KAAP,aAKO,YAAA3e,OAAP,WAGE,GAFAtJ,KAAK6+C,OAAS7+C,KAAKiJ,KAAK4c,aAAau6B,OAEjCpgD,KAAK6+C,OAAQ,CACX7+C,KAAKogD,OAEPpgD,KAAKogD,OAASpgD,KAAK0zE,gBAGnB1zE,KAAKogD,OAASpgD,KAAK2zE,eAEnB3zE,KAAKogD,OAAOtrB,UAAUrqB,GAAG,eAAgBzK,KAAKwzE,iBAIhD,IAAM/0D,EAAMze,KAAKogD,OAAOtrB,UAAU53B,IAAI,UAAY,EAC5CshB,EAAMxe,KAAKogD,OAAOtrB,UAAU53B,IAAI,QAAU,EAEhD8C,KAAKyzE,iBAAiBh1D,EAAKD,QAEvBxe,KAAKogD,SAEPpgD,KAAKogD,OAAOtrB,UAAU1tB,UACtBpH,KAAKogD,YAAS38C,IAUb,YAAA29C,OAAP,WACE,GAAIphD,KAAKogD,OAAQ,CACf,IAAM/5C,EAAQrG,KAAKiJ,KAAKg4C,eAAe56C,MAEjCq6C,EAAa1gD,KAAKogD,OAAOtrB,UAAU6rB,gBACnCp7B,EAAO,IAAI,GAAKm7B,EAAW12C,EAAG02C,EAAWj+C,EAAG0M,KAAKsP,IAAIiiC,EAAWr6C,MAAOA,GAAQq6C,EAAWp6C,QAE1F,EAAW+pE,GAAoBrwE,KAAKiJ,KAAKo3C,SAAU96B,EAAMJ,EAAU8a,QAA9DuxC,GAAF,KAAI,MACP,EAAWnB,GAAoBrwE,KAAKiJ,KAAKg4C,eAAgB17B,EAAMJ,EAAU8a,QAAxEwxC,EAAE,KAAI,KAGbzxE,KAAKogD,OAAOtrB,UAAUxS,OAAO,CAC3BtY,EAAGynE,EACHhvE,EAAG+uE,EACHnrE,MAAK,MAQJ,YAAAic,OAAP,WAEEtiB,KAAKsJ,UAMC,YAAAqqE,aAAR,WACE,IAAMlrE,EAAMzI,KAAK4zE,eAEX9+C,EAAY,IAAI,SAAe,oBACnChvB,UAAW9F,KAAK8F,WACb2C,IAKL,OAFAqsB,EAAU7M,OAEH,CACL6M,UAAS,EACTxtB,MAAO26B,EAAMC,KACbpC,UAAW3a,EAAU8a,OACrBr2B,KAAMmD,EAAe8mE,QAOjB,YAAAH,aAAR,WACE,IAAMjrE,EAAMzI,KAAK4zE,eAKjB,OAJA1tC,GAAKz9B,EAAK,CAAC,IAAK,IAAK,QAAS,QAAS,MAAO,UAAW,YAEzDzI,KAAKogD,OAAOtrB,UAAUxS,OAAO7Z,GAEtBzI,KAAKogD,QAMN,YAAAwzB,aAAR,WACE,GAAI,mBAAS5zE,KAAK6+C,QAAS,CAEzB,IAAMi1B,EAAW,OAAH,WAAG,CAAH,CACZ90E,KAAMgB,KAAKsI,WACR,cAAItI,KAAK6+C,OAAQ,WAAY,KAM5Bx4C,EAAQrG,KAAKiJ,KAAKg4C,eAAe56C,MAGjCoC,EAAM,kBAAQ,GAAI,CAAEuB,EALhB,EAKmBvH,EAJnB,EAIsB4D,MAAK,GAAIrG,KAAK6+C,QAG9C,gDAAYp2C,GAAG,CAAEqrE,SAAQ,IAG3B,MAAO,IAMD,YAAAxrE,QAAR,WACE,IAAMtJ,EAAOgB,KAAKiJ,KAAK4c,aAAa7mB,KAC7Bu1B,EAAUv0B,KAAKiJ,KAAKw8C,aAAd,GACPjH,EAAcx+C,KAAKiJ,KAAKw1C,iBAC9B,GAAID,EAAY5/C,OAAQ,CAChB,MAAmB4/C,EAAY,GAA7B,EAAK,QAAE,EAAK,QACpB,OAAOx/C,EAAKuoB,QAAO,SAAC4hB,EAAKxhB,GAIvB,OAHIA,EAAI,KAAW,EAAM,IACvBwhB,EAAI7lC,KAAKqkB,EAAI4M,EAAOtsB,QAEfkhC,IACN,IAGL,OAAOnqC,EAAKslB,KAAI,SAACof,GAAU,OAAAA,EAAMnP,EAAOtsB,QAAb,MAerB,YAAAwrE,iBAAR,SAAyBh1D,EAAaD,GACpC,IAAMxf,EAAOgB,KAAKiJ,KAAK4c,aAAa7mB,KAC9Bs1B,EAASt0B,KAAKiJ,KAAKf,YACnB6rE,EAAW,eAAK/0E,GAEtB,GAAKs1B,GAAWy/C,EAAhB,CAIA,IAAM/pE,EAAIsqB,EAAOrsB,MAGX+rE,EAASh1E,EAAKuoB,QAAO,SAAC4hB,EAAKzF,GAE/B,OADKyF,EAAIyW,SAASlc,EAAM15B,KAAKm/B,EAAI7lC,KAAKogC,EAAM15B,IACrCm/B,IACN,IAEG8qC,EAAa,eAAKD,GAElBE,EAAW/kE,KAAKwR,MAAMlC,GAAOw1D,EAAa,IAC1CE,EAAWhlE,KAAKwR,MAAMnC,GAAOy1D,EAAa,IAE5CG,EAAU,cAAIJ,EAAQ,CAACE,IACvBG,EAAU,cAAIL,EAAQ,CAACG,IAErBz2C,EAAY19B,KAAK4zE,eAAel2C,UAClCA,IACF02C,EAAU12C,EAAU02C,EAASp1E,EAAKk1E,GAAWA,GAC7CG,EAAU32C,EAAU22C,EAASr1E,EAAKm1E,GAAWA,IAI/Cn0E,KAAKogD,OAAOtrB,UAAUxS,OAAO,CAC3B8xD,QAAO,EACPC,QAAO,EACPj0D,MAAO3B,EACP4B,IAAK7B,IAIPxe,KAAKiJ,KAAKgzB,OAAO3H,EAAOrsB,OAAO,SAAC3K,EAAYomC,GAC1C,IAAMv6B,EAAc6qE,EAAOr1E,QAAQrB,GACnC,QAAO6L,GAAO,IAAIytB,GAAUztB,EAAK+qE,EAAUC,QAOxC,YAAAlnC,cAAP,WACE,OAAOjtC,KAAKogD,OAAS,CAACpgD,KAAKogD,QAAU,IAEzC,EAjOA,CAAoC,ICdpC,I,GAAA,uE,OAQU,EAAAk0B,UAAoB,E,EA4qB9B,OAprBqC,yBAanC,sBAAW,mBAAI,C,IAAf,WACE,MAAO,W,gCAGF,YAAArsD,KAAP,aAEQ,YAAAssD,UAAR,WAEE,OAAkB,IADHv0E,KAAKiJ,KAAK4c,aAAaW,SAIjC,YAAAld,OAAP,aAMO,YAAA+8C,YAAP,SAAmB11B,GAEjB,GADA3wB,KAAK2wB,MAAQA,EACR3wB,KAAKu0E,YAAV,CAIA,IAAMtrE,EAAOjJ,KAAKiJ,KACZuqB,EAAQxzB,KAAKu9C,gBAAgB5sB,GACnC,GAAK6C,EAAM50B,OAAX,CAKA,IAAMilB,EAAQ7jB,KAAKw0E,SAAShhD,GACtBihD,EAAY,CAChBzqE,EAAGwpB,EAAM,GAAGxpB,EACZvH,EAAG+wB,EAAM,GAAG/wB,GAGdwG,EAAK6e,KAAK,eAAc,oBACtB0L,MAAK,EACL3P,MAAK,GACF8M,IAGL,IAAMloB,EAAMzI,KAAK00E,gBACTC,EAA6DlsE,EAAvD,OAAEmsE,EAAqDnsE,EAA1C,YAAEie,EAAwCje,EAA1B,eAAEosE,EAAwBpsE,EAAb,YAAE6kB,EAAW7kB,EAAL,OAC1DqsE,EAAY90E,KAAKwzB,MACjBuhD,EAAY/0E,KAAK6jB,MAgDvB,GA/CK,kBAAQkxD,EAAWlxD,IAAW,kBAAQixD,EAAWthD,IAkChDxzB,KAAKwmB,SAAWmuD,IAClB30E,KAAKwmB,QAAQlE,OAAOqO,GACpB3wB,KAAKwmB,QAAQ+K,QAGXvxB,KAAKg1E,qBACPh1E,KAAKg1E,oBAAoBzjD,SAtC3BtoB,EAAK6e,KAAK,iBAAgB,oBACxB0L,MAAK,EACL3P,MAAK,GACF8M,IAGDkkD,IAEG70E,KAAKwmB,SAERxmB,KAAKi1E,gBAEPj1E,KAAKwmB,QAAQlE,OACX,cACE,GACA7Z,EACA,CACE+qB,MAAK,EACL3P,MAAK,GAEP8wD,EAAShkD,EAAQ,KAGrB3wB,KAAKwmB,QAAQ+K,QAGXqjD,GAEF50E,KAAKk1E,qBAAqB1hD,EAAOlG,IAcrCttB,KAAKwzB,MAAQA,EACbxzB,KAAK6jB,MAAQA,EAET6C,EAAgB,CAElB,IAAMyuD,EAA2B,cAAI1sE,EAAK,CAAC,aAAc,WAAW,GACpEzI,KAAKo1E,iBAAiBD,EAA2BxkD,EAAQ8jD,EAAWhsE,SArEpEzI,KAAK8sB,gBAyEF,YAAAA,YAAP,WAEE,GADmB9sB,KAAK00E,gBAAV,OACd,CAKA,IAAMM,EAAsBh1E,KAAKg1E,oBAC7BA,GACFA,EAAoBxjD,OAItB,IAAM6jD,EAAar1E,KAAKq1E,WAClBC,EAAat1E,KAAKs1E,WACpBD,GACFA,EAAW7jD,OAET8jD,GACFA,EAAW9jD,OAGb,IAAMhL,EAAUxmB,KAAKwmB,QACjBA,GACFA,EAAQgL,OAGVxxB,KAAKiJ,KAAK6e,KAAK,eAAgB,IAC/B9nB,KAAK2wB,MAAQ,UAzBX3wB,KAAK2wB,MAAQ,MA+BV,YAAA21B,YAAP,WACEtmD,KAAKs0E,UAAW,EACZt0E,KAAKwmB,SAEPxmB,KAAKwmB,QAAQ+uD,YAAW,IAOrB,YAAAhvB,cAAP,WACEvmD,KAAKs0E,UAAW,EAChB,IAAM7rE,EAAMzI,KAAK00E,gBACb10E,KAAKwmB,SAEPxmB,KAAKwmB,QAAQ+uD,WAAW9sE,EAAIiwD,UAOzB,YAAAlS,gBAAP,WACE,OAAOxmD,KAAKs0E,UAGP,YAAAzrD,MAAP,WACQ,IAAErC,EAAyDxmB,KAAlD,QAAEq1E,EAAgDr1E,KAAtC,WAAEs1E,EAAoCt1E,KAA1B,WAAEg1E,EAAwBh1E,KAAL,oBACxDwmB,IACFA,EAAQgL,OACRhL,EAAQqC,SAGNwsD,GACFA,EAAWxsD,QAGTysD,GACFA,EAAWzsD,QAGTmsD,GACFA,EAAoBnsD,SAIjB,YAAAzhB,QAAP,WACMpH,KAAKwmB,SACPxmB,KAAKwmB,QAAQpf,UAEXpH,KAAKq1E,YACPr1E,KAAKq1E,WAAWjuE,UAEdpH,KAAKs1E,YACPt1E,KAAKs1E,WAAWluE,UAGdpH,KAAKw1E,YACPx1E,KAAKw1E,WAAW1qE,QAAO,GAGzB9K,KAAKwzB,MAAQ,KACbxzB,KAAK6jB,MAAQ,KACb7jB,KAAKg1E,oBAAsB,KAC3Bh1E,KAAKy1E,uBAAyB,KAC9Bz1E,KAAKq1E,WAAa,KAClBr1E,KAAKs1E,WAAa,KAClBt1E,KAAKwmB,QAAU,KACfxmB,KAAKw1E,WAAa,KAClBx1E,KAAKs0E,UAAW,EAChBt0E,KAAK2wB,MAAQ,MAGR,YAAAoO,cAAP,SAAqB5Y,GACnB,GAAInmB,KAAKmmB,UAAYA,EAArB,CAGM,IAAEK,EAAyDxmB,KAAlD,QAAEg1E,EAAgDh1E,KAA7B,oBAAEq1E,EAA2Br1E,KAAjB,WAAEs1E,EAAet1E,KAAL,WACxDmmB,GACEK,GACFA,EAAQ+K,OAENyjD,GACFA,EAAoBzjD,OAElB8jD,GACFA,EAAW9jD,OAET+jD,GACFA,EAAW/jD,SAGT/K,GACFA,EAAQgL,OAENwjD,GACFA,EAAoBxjD,OAElB6jD,GACFA,EAAW7jD,OAET8jD,GACFA,EAAW9jD,QAGfxxB,KAAKmmB,QAAUA,IAGV,YAAAo3B,gBAAP,SAAuB5sB,GACrB,IAAI6C,EAAQxzB,KAAK01E,kBAAkB11E,KAAKiJ,KAAM0nB,GAC9C,GAAI6C,EAAM50B,OAAQ,CAGhB,IAAsB,UADtB40B,EAAQ,kBAAQA,GACM,eACpB,IADG,IACgB,MADH,KACG,eAAS,CAAvB,IAAM7pB,EAAI,KACP,EAAWA,EAAKmqB,YAAd9pB,EAAC,IAAEvH,EAAC,IACZkH,EAAKK,EAAI,kBAAQA,GAAKA,EAAEA,EAAEpL,OAAS,GAAKoL,EACxCL,EAAKlH,EAAI,kBAAQA,GAAKA,EAAEA,EAAE7D,OAAS,GAAK6D,EAM5C,IAAe,IAFIzC,KAAK00E,gBAAV,QAEUlhD,EAAM50B,OAAS,EAAG,CAGxC,IAFA,IAAI+2E,EAAWniD,EAAM,GACjB/U,EAAMtP,KAAKsmB,IAAI9E,EAAMluB,EAAIkzE,EAAS,GAAGlzE,GACrB,MAAA+wB,EAAA,eAAO,CAAtB,IAAMoiD,EAAK,KACRC,EAAY1mE,KAAKsmB,IAAI9E,EAAMluB,EAAImzE,EAAM,GAAGnzE,GAC1CozE,GAAap3D,IACfk3D,EAAWC,EACXn3D,EAAMo3D,GAGVriD,EAAQ,CAACmiD,GAGX,OAhTN,SAAcniD,GAEZ,IADA,IAAMsiD,EAAY,G,WACTp3E,GACP,IAAMiL,EAAO6pB,EAAM90B,GACJ,eAAKo3E,GAAW,SAACC,GAC9B,OACEA,EAAQv4D,QAAU7T,EAAK6T,OACvBu4D,EAAQn5E,OAAS+M,EAAK/M,MACtBm5E,EAAQz4E,QAAUqM,EAAKrM,OACvBy4E,EAAQlyD,QAAUla,EAAKka,UAIzBiyD,EAAUxyE,KAAKqG,IAXVjL,EAAQ,EAAGA,EAAQ80B,EAAM50B,OAAQF,I,EAAjCA,GAcT,OAAOo3E,EAgSI,CAAK,kBAAQtiD,IAGtB,MAAO,IAGF,YAAA4tB,OAAP,aAEO,YAAA9+B,OAAP,WAKE,GAJItiB,KAAK2wB,OACP3wB,KAAKqmD,YAAYrmD,KAAK2wB,OAGpB3wB,KAAKwmB,QAAS,CAGhB,IAAM3f,EAAS7G,KAAKiJ,KAAKG,YAEzBpJ,KAAKwmB,QAAQ5gB,IAAI,SAAU,CACzBwa,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAClB4d,IAAK,CAAErW,EAAGnD,EAAO3J,IAAI,SAAUuF,EAAGoE,EAAO3J,IAAI,eAMzC,YAAAw3E,cAAV,WACE,IAAMzrE,EAAOjJ,KAAKiJ,KACZ41C,EAAS51C,EAAK4c,aAAaW,QAC3B/f,EAAQwC,EAAKyD,WACb0lD,EAAa,cAAI3rD,EAAO,CAAC,aAAc,WAAY,IACnDuvE,EAAY,sBAAY,cAAIn3B,EAAQ,cAAgBuT,EAAW4jB,UAAY,cAAIn3B,EAAQ,aAC7F,OAAO,kBAAQ,GAAIuT,EAAYvT,EAAQ,CACrC6Z,WAASsd,IAAah2E,KAAKs0E,aAIvB,YAAAE,SAAR,SAAiBhhD,GACf,IAAM3P,EAAQ2P,EAAM,GAAG3P,OAAS2P,EAAM,GAAG52B,KAGzC,OAFAoD,KAAK6jB,MAAQA,EAENA,GAGD,YAAAoxD,cAAR,WACE,IAAMpuE,EAAS7G,KAAKiJ,KAAKG,YACnBmgB,EAAS,CACbnJ,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAClB4d,IAAK,CAAErW,EAAGnD,EAAO3J,IAAI,SAAUuF,EAAGoE,EAAO3J,IAAI,YAGzCuL,EAAMzI,KAAK00E,gBACXluD,EAAU,IAAIvY,EAAW,uCAC7B+E,OAAQnM,EAAO3J,IAAI,MAAM+4E,WACzB1sD,OAAM,GACH9gB,GAAG,CACN0d,SAAS,EACTQ,WAAY,QAGdH,EAAQyB,OACRjoB,KAAKwmB,QAAUA,GAGT,YAAA0uD,qBAAR,SAA6B1hD,EAAOlG,GAElC,IADA,IAAM0nD,EAAsBh1E,KAAKk2E,yBACd,MAAA1iD,EAAA,eAAO,CAArB,IAAM7pB,EAAI,KACLK,EAASL,EAAR,EAAElH,EAAMkH,EAAL,EACN0oB,EAAQ,OAAH,WAAG,CAAH,oBACTxC,KAAMlmB,EAAK6T,MACXy+C,OAAQ,SACR4C,YAAal1D,EAAK6T,OACf8P,GAAM,CACTtjB,EAAC,EACDvH,EAAC,IAGHuyE,EAAoB9hD,SAAS,SAAU,CACrCb,MAAK,MAKH,YAAA+iD,iBAAR,SAAyBzkD,EAAcloB,GACrC,IAAM0tE,EAAiB,cAAI1tE,EAAK,CAAC,aAAc,QAAS,KACjC,MAAnB0tE,GACEn2E,KAAKs1E,YACPt1E,KAAKs1E,WAAW9jD,OAElBxxB,KAAKo2E,kBAAkBzlD,EAAOloB,IACF,MAAnB0tE,GACLn2E,KAAKq1E,YACPr1E,KAAKq1E,WAAW7jD,OAElBxxB,KAAKq2E,kBAAkB1lD,EAAOloB,IACF,OAAnB0tE,IACTn2E,KAAKo2E,kBAAkBzlD,EAAOloB,GAC9BzI,KAAKq2E,kBAAkB1lD,EAAOloB,KAK1B,YAAA2tE,kBAAR,SAA0BzlD,EAAc2lD,GACtC,IAAM/tD,EAAavoB,KAAKu2E,oBAAoBv2E,KAAKiJ,MAAMyoB,gBACvD,GAAKgV,GAAoBne,EAAYoI,GAArC,CAGA,IAAIvQ,EACAC,EACJ,GAAIkI,EAAWwX,OACTxX,EAAW8X,cACbjgB,EAAQ,CACNpW,EAAGue,EAAWnI,MAAMpW,EACpBvH,EAAGkuB,EAAMluB,GAEX4d,EAAM,CACJrW,EAAGue,EAAWlI,IAAIrW,EAClBvH,EAAGkuB,EAAMluB,KAGX2d,EAAQ,CACNpW,EAAG2mB,EAAM3mB,EACTvH,EAAG8lB,EAAWlI,IAAI5d,GAEpB4d,EAAM,CACJrW,EAAG2mB,EAAM3mB,EACTvH,EAAG8lB,EAAWnI,MAAM3d,QAGnB,CAEL,IAAM00B,EAAQ0P,GAAgBte,EAAYoI,GACpCjB,EAASnH,EAAWke,YACpBzF,EAASzY,EAAWge,YAC1BlmB,EAAMokB,GAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAAQ7J,GACnD/W,EAAQsP,EAGV,IAAMjnB,EAAM,kBACV,CACE2X,MAAK,EACLC,IAAG,EACHva,UAAW9F,KAAKw2E,6BAElB,cAAIF,EAAY,aAAc,IAC9Bt2E,KAAKy2E,kBAAkB,IAAK9lD,EAAO2lD,WAE9B7tE,EAAImB,KAEX,IAAIyrE,EAAar1E,KAAKq1E,WAClBA,EACFA,EAAW/yD,OAAO7Z,IAElB4sE,EAAa,IAAI,YAAUqB,KAAKjuE,IACrBwf,OAEbotD,EAAW/rE,SACX+rE,EAAW9jD,OACXvxB,KAAKq1E,WAAaA,IAIZ,YAAAgB,kBAAR,SAA0B1lD,EAAc2lD,GACtC,IAAM/tD,EAAavoB,KAAKu2E,oBAAoBv2E,KAAKiJ,MAAMyoB,gBACvD,GAAKgV,GAAoBne,EAAYoI,GAArC,CAGA,IAAIloB,EACAmB,EACJ,GAAI2e,EAAWwX,OAAQ,CACrB,IAAI3f,OAAK,EACLC,OAAG,EACHkI,EAAW8X,cACbjgB,EAAQ,CACNpW,EAAG2mB,EAAM3mB,EACTvH,EAAG8lB,EAAWlI,IAAI5d,GAEpB4d,EAAM,CACJrW,EAAG2mB,EAAM3mB,EACTvH,EAAG8lB,EAAWnI,MAAM3d,KAGtB2d,EAAQ,CACNpW,EAAGue,EAAWnI,MAAMpW,EACpBvH,EAAGkuB,EAAMluB,GAEX4d,EAAM,CACJrW,EAAGue,EAAWlI,IAAIrW,EAClBvH,EAAGkuB,EAAMluB,IAGbgG,EAAM,CACJ2X,MAAK,EACLC,IAAG,GAELzW,EAAO,YAGPnB,EAAM,CACJinB,OAAQnH,EAAWke,YAEnBzF,OAAQwF,GAAoBje,EAAYoI,GACxCmQ,WAAYvY,EAAWuY,WACvBC,SAAUxY,EAAWwY,UAEvBn3B,EAAO,gBAGTnB,EAAM,kBACJ,CACE3C,UAAW9F,KAAKw2E,6BAElB/tE,EACA,cAAI6tE,EAAY,aAAc,IAC9Bt2E,KAAKy2E,kBAAkB,IAAK9lD,EAAO2lD,KAE1B1sE,KAEX,IAAI0rE,EAAat1E,KAAKs1E,WAClBA,EAGC/sD,EAAWwX,QAAqC,WAA3Bu1C,EAAWp4E,IAAI,UACnCqrB,EAAWwX,QAAqC,SAA3Bu1C,EAAWp4E,IAAI,SAEtCo4E,EAAa,IAAI,YAAU1rE,GAAMnB,IACtBwf,OAEXqtD,EAAWhzD,OAAO7Z,IAGpB6sE,EAAa,IAAI,YAAU1rE,GAAMnB,IACtBwf,OAEbqtD,EAAWhsE,SACXgsE,EAAW/jD,OACXvxB,KAAKs1E,WAAaA,IAGZ,YAAAmB,kBAAR,SAA0B7sE,EAAM+mB,EAAc2lD,GAC5C,IAAIK,EAAU,cAAIL,EAAY,CAAC,aAAc,SACvC3B,EAAS,cAAI2B,EAAY,CAAC,aAAc,WACxC9iD,EAAQxzB,KAAKwzB,MAEnB,GAAImjD,EAAS,CACX,IAAM1tE,EAAOjJ,KAAKu2E,oBAAoBv2E,KAAKiJ,MAErC2tE,EAAYpjD,EAAM,GAClBc,EAASrrB,EAAKf,YACdqsB,EAAStrB,EAAKw8C,aAAa,GAC7B7I,OAAM,EACNjB,OAAM,EACV,GAAIg5B,EAAQ,CAEV,IAAMhuC,EAAc3mC,KAAKiJ,KAAKyoB,gBAAgBkV,OAAOjW,GACrDisB,EAAStoB,EAAOsS,OAAOD,EAAY38B,GACnC2xC,EAASpnB,EAAOqS,OAAOD,EAAYlkC,QAEnCm6C,EAASg6B,EAAU53E,KAAKs1B,EAAOrsB,OAC/B0zC,EAASi7B,EAAU53E,KAAKu1B,EAAOtsB,OAGjC,IAAMgwD,EAAmB,MAATruD,EAAegzC,EAASjB,EAOxC,OANI,qBAAWg7B,GACbA,EAAUA,EAAQ/sE,EAAMquD,EAASzkC,EAAO7C,GAExCgmD,EAAQ1e,QAAUA,EAGb,CACL5xC,KAAMswD,KAMJ,YAAAE,cAAR,WACE,IAAK72E,KAAKw1E,WAAY,CACpB,IAAM5rD,EAAkB5pB,KAAKiJ,KAAK2gB,gBAClC5pB,KAAKw1E,WAAa5rD,EAAgBF,SAAS,CACzC9sB,KAAM,eACN87D,SAAS,IAIb,OAAO14D,KAAKw1E,YAIN,YAAAU,uBAAR,WACE,IAAIlB,EAAsBh1E,KAAKg1E,oBAW/B,OAVIA,IAAwBA,EAAoBjuE,WAC9CiuE,EAAoBnsD,QACpBmsD,EAAoBzjD,UAEpByjD,EAAsBh1E,KAAK62E,gBAAgBntD,SAAS,CAClD9sB,KAAM,yBAEYmwD,UACpB/sD,KAAKg1E,oBAAsBA,GAEtBA,GAID,YAAAwB,0BAAR,WACE,IAAIf,EAAyBz1E,KAAKy1E,uBASlC,OARKA,KACHA,EAAyBz1E,KAAK62E,gBAAgBntD,SAAS,CACrD9sB,KAAM,yBACN87D,SAAS,KAEY1L,SACvBhtD,KAAKy1E,uBAAyBA,GAEzBA,GAGD,YAAAqB,0BAAR,SAAkC/nD,EAAU4B,EAAO9M,GACjD,IAAMxlB,EAAS,GAETkS,EADYwe,EAASjpB,UACHgpD,SAASn+B,EAAM3mB,EAAG2mB,EAAMluB,GAChD,GAAI8N,GAASA,EAAMrT,IAAI,YAAcqT,EAAMrT,IAAI,UAAW,CACxD,IACMs2B,EAAQ+pB,GADMhtC,EAAMrT,IAAI,UAAU42B,YACG/E,EAAUlL,GACjD2P,EAAM50B,QACRP,EAAOiF,KAAKkwB,GAIhB,OAAOn1B,GAGD,YAAA04E,0BAAR,SAAkChoD,EAAoB4B,EAAO9M,GAC3D,IAAMxlB,EAAS,GACTqoD,EAAY33B,EAAS23B,UAC3B33B,EAASqL,KAAKssB,GACd,IAAmB,UAAAA,EAAA,eAAW,CAAzB,IACG7Z,EAAS4P,GAAgB9rB,EADlB,KAC+B5B,GAC5C,GAAI8d,EAAQ,CACV,IAAMomB,EAAYlkC,EAAS0F,aAAaoY,GAClC7a,EAAUjD,EAASohC,YAAY8C,GACrC,GAAsB,YAAlBlkC,EAASnlB,MAAsBooB,EAAQ7L,QAAS,CAGlD,IAAMqN,EAAQ+pB,GAAgB1Q,EAAQ9d,EAAUlL,GAC5C2P,EAAM50B,QACRP,EAAOiF,KAAKkwB,KAMpB,OAAOn1B,GAGD,YAAAq3E,kBAAR,SAA0BzsE,EAAM0nB,GAC9B,IAAkC,IAA9B1nB,EAAK4c,aAAaW,QAEpB,MAAO,GAOT,IAJA,IAAInoB,EAAS,GAEPmqB,EAAavf,EAAKuf,WAClB,EAAoBxoB,KAAK00E,gBAAvBjuD,EAAM,SAAE5C,EAAK,QACE,MAAA2E,EAAA,eAAY,CAA9B,IAAMuG,EAAQ,KACjB,GAAIA,EAAS5I,UAAsC,IAA3B4I,EAAS+uB,cAAyB,CAExD,IAAMpB,EAAe3tB,EAASnlB,KAC1BotE,OAAY,GAGdA,EAFE,CAAC,QAAS,OAAQ,WAAWp3B,SAASlD,GAEzB18C,KAAK82E,0BAA0B/nD,EAAU4B,EAAO9M,GACtD,CAAC,OAAQ,OAAQ,OAAQ,WAAW+7B,SAASlD,KAIvC,IAAXj2B,EAFWzmB,KAAK+2E,0BAA0BhoD,EAAU4B,EAAO9M,GAK9C7jB,KAAK82E,0BAA0B/nD,EAAU4B,EAAO9M,IAGlDjlB,QAEfP,EAAOiF,KAAK0zE,IAMlB,IAAwB,UAAA/tE,EAAK2f,MAAL,eAAY,CAA/B,IAAMquD,EAAS,KAClB54E,EAASA,EAAO2F,OAAOhE,KAAK01E,kBAAkBuB,EAAWtmD,IAG3D,OAAOtyB,GAKD,YAAAk4E,oBAAR,SAA4BttE,GAA5B,WACE,OAAIA,EAAKuf,WAAW5pB,OACXqK,EAGF,eAAKA,EAAK2f,OAAO,SAACquD,GAAc,SAAKV,oBAAL,OAE3C,EAprBA,CAAqC,IC+HtB,GAlJf,yB,+CAgJA,OAhJ2B,yBAMlB,YAAAhlD,KAAP,WACE,IAAMtoB,EAAOjJ,KAAK6jC,QAAQ56B,KACpB6b,EAAK9kB,KAAK6jC,QAAQ3gB,MAClB8zD,EAAe/tE,EAAKs0C,gBAAgB,CACxCvzC,EAAG8a,EAAG9a,EACNvH,EAAGqiB,EAAGriB,IAGR,IAAI,kBAAQu0E,EAAch3E,KAAKwzB,SAI/BxzB,KAAKwzB,MAAQwjD,EACTA,EAAap4E,QAAQ,CACvB,IAAM,EAASqK,EAAKf,YAAYD,MAC1B,EAAS+uE,EAAa,GAAGh4E,KAAK,GAEhC,EAAsB,GACpBwpB,EAAavf,EAAKuf,WAaxB,GAZA,eAAKA,GAAY,SAACuG,GAChB,GAAsB,aAAlBA,EAASnlB,MAAyC,WAAlBmlB,EAASnlB,KAAmB,CAC9D,IAAMvL,EAAS0wB,EAAS2d,eAAc,SAAC6d,GAErC,OADgBA,EAAIjiD,UACL,KAAY,KAG7B,EAAW,EAAStE,OAAO3F,OAK3B,EAASO,OAAQ,CACnB,IAAM,EAAaqK,EAAKyoB,gBAEpB,EAAY,EAAS,GAAGnhB,MAAM06B,gBAC9B,EAAW,EAAS,GAAG16B,MAAM06B,gBAC3B,EAAyB,EAE/B,eAAK,GAAU,SAACsf,GACd,IAAMhlC,EAAOglC,EAAIh6C,MAAM06B,gBACnB,EAAW5K,cACT9a,EAAKnV,KAAO,EAAUA,OACxB,EAAYmV,GAEVA,EAAKlV,KAAO,EAASA,OACvB,EAAWkV,KAGTA,EAAKrV,KAAO,EAAUA,OACxB,EAAYqV,GAEVA,EAAKpV,KAAO,EAASA,OACvB,EAAWoV,IAIf,EAAUvb,EAAImF,KAAKsP,IAAI8G,EAAKrV,KAAM,EAAUA,MAC5C,EAAUzN,EAAI0M,KAAKsP,IAAI8G,EAAKnV,KAAM,EAAUA,MAC5C,EAAU/J,MAAQ8I,KAAKqP,IAAI+G,EAAKpV,KAAM,EAAUA,MAAQ,EAAUnG,EAClE,EAAU1D,OAAS6I,KAAKqP,IAAI+G,EAAKlV,KAAM,EAAUA,MAAQ,EAAU5N,KAG7D,IAAAgnB,EAAoCxgB,EAArB,gBAAEg4C,EAAmBh4C,EAAL,eACnCumB,OAAI,EACR,GAAI,EAAWuQ,OAAQ,CACrB,IACMm3C,EADSjuE,EAAKf,YACOs0C,SAAW,EAAI,IACtCtsC,OAAI,EACJE,OAAI,EACJ/J,OAAK,EACLC,OAAM,EACN,EAAW+5B,cACbnwB,EAAO+wC,EAAe/wC,KACtBE,EAAOjB,KAAKsP,IAAI,EAASrO,KAAM,EAAUA,MAAQ8mE,EAAc,EAAS5wE,OACxED,EAAQ46C,EAAe56C,MACvBC,EAAS,EAAUA,OAAuB,EAAd4wE,EAAkB,EAAS5wE,SAEvD4J,EAAOf,KAAKsP,IAAI,EAAUvO,KAAM,EAASA,MAAQgnE,EAAc,EAAU7wE,MACzE+J,EAAOjB,KAAKsP,IAAIwiC,EAAe7wC,KAAM,EAAUA,MAC/C/J,EAAQ,EAAUA,MAAsB,EAAd6wE,EAAkB,EAAU7wE,MACtDC,EAAS26C,EAAe36C,QAE1BkpB,EAAO,CACL,CAAC,IAAKtf,EAAME,GACZ,CAAC,IAAKF,EAAO7J,EAAO+J,GACpB,CAAC,IAAKF,EAAO7J,EAAO+J,EAAO9J,GAC3B,CAAC,IAAK4J,EAAME,EAAO9J,GACnB,CAAC,UAEE,CACL,IAAM6wE,EAAe,eAAK,GACpBC,EAAc,eAAK,GACjBt2C,EAAe0E,GAAS2xC,EAAa5jD,WAAY,GAAvC,WACVwN,EAAayE,GAAS4xC,EAAY7jD,WAAY,GAAtC,SACV7D,EAAS,EAAW+W,YACpBzF,EAAS,EAAWuF,YACpB8wC,EAAe,EAAWtyC,YAAc/D,EAC9CxR,EAAOoV,GAAclV,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAAQF,EAAYC,EAAUs2C,GAGrEr3E,KAAKs3E,YACPt3E,KAAKs3E,WAAWzkD,KAAK,OAAQrD,GAC7BxvB,KAAKs3E,WAAW/lD,QAEhBvxB,KAAKs3E,WAAa7tD,EAAgByJ,SAAS,CACzCtpB,KAAM,OACNhN,KAAM,gBACN87D,SAAS,EACTrmC,MAAO,CACL7C,KAAI,EACJK,KAAM,UACN1R,QAAS,SAUd,YAAAqT,KAAP,WACMxxB,KAAKs3E,YACPt3E,KAAKs3E,WAAW9lD,OAGlBxxB,KAAKwzB,MAAQ,MAKR,YAAApsB,QAAP,WACEpH,KAAKwxB,OACDxxB,KAAKs3E,YACPt3E,KAAKs3E,WAAWxsE,QAAO,GAEzB,YAAM1D,QAAO,YAEjB,EAhJA,CAA2B,GCsDZ,GAxDf,uE,OACU,EAAAmwE,UAAoB,E,EAqD9B,OAtD4B,yBAQnB,YAAAhmD,KAAP,WACE,IAAMsS,EAAU7jC,KAAK6jC,QACf/e,EAAK+e,EAAQ3gB,MACbja,EAAO46B,EAAQ56B,KAErB,IADwBA,EAAKu9C,kBAC7B,CAIA,IAAMgxB,EAAgBx3E,KAAKu3E,UACrBA,GAAa,IAAInmE,KAEvB,GAAImmE,EAAYC,EAAgB,GAAI,CAClC,IAAMC,EAASz3E,KAAK03E,SACdC,EAAS,CAAE3tE,EAAG8a,EAAG9a,EAAGvH,EAAGqiB,EAAGriB,GAC3Bg1E,GAAW,kBAAQA,EAAQE,IAC9B33E,KAAKqmD,YAAYp9C,EAAM0uE,GAEzB33E,KAAKu3E,UAAYA,EACjBv3E,KAAK03E,SAAWC,KAQb,YAAAnmD,KAAP,WACE,IAAMvoB,EAAOjJ,KAAK6jC,QAAQ56B,KACFA,EAAKu9C,oBAK7BxmD,KAAK8sB,YAAY7jB,GACjBjJ,KAAK03E,SAAW,OAGR,YAAArxB,YAAV,SAAsBp9C,EAAY0nB,GAEhC1nB,EAAKo9C,YAAY11B,IAGT,YAAA7D,YAAV,SAAsB7jB,GACpBA,EAAK6jB,eAET,EAtDA,CAA4B,GC0Bb,GAzBf,yB,+CAuBA,OAvB6B,yBAMjB,YAAAu5B,YAAV,SAAsBp9C,EAAY0nB,GAChC,IAAM4c,EAAWD,GAAYrkC,GAC7B,eAAKskC,GAAU,SAAClB,GACd,IAAMurC,EAAetrC,GAAgBrjC,EAAMojC,EAAS1b,GACpD0b,EAAQga,YAAYuxB,OAOd,YAAA9qD,YAAV,SAAsB7jB,GACpB,IAAMskC,EAAWD,GAAYrkC,GAC7B,eAAKskC,GAAU,SAAClB,GACdA,EAAQvf,kBAGd,EAvBA,CAA6B,I,GCD7B,uE,OACU,EAAAyqD,UAAoB,E,EAoF9B,OArF0C,yBAKjC,YAAAnwE,QAAP,WACE,YAAMA,QAAO,WACbpH,KAAKwmB,SAAWxmB,KAAKwmB,QAAQpf,WAOxB,YAAAmqB,KAAP,WACE,IACMzM,EADU9kB,KAAK6jC,QACF3gB,MACbs0D,EAAgBx3E,KAAKu3E,UACrBA,GAAa,IAAInmE,KAEvB,GAAImmE,EAAYC,EAAgB,GAAI,CAClC,IAAMC,EAASz3E,KAAK03E,SACdC,EAAS,CAAE3tE,EAAG8a,EAAG9a,EAAGvH,EAAGqiB,EAAGriB,GAC3Bg1E,GAAW,kBAAQA,EAAQE,IAC9B33E,KAAKqmD,YAAYsxB,GAEnB33E,KAAKu3E,UAAYA,EACjBv3E,KAAK03E,SAAWC,IAQb,YAAAnmD,KAAP,WACExxB,KAAK8sB,cACL9sB,KAAK03E,SAAW,MAGR,YAAArxB,YAAV,SAAsBsxB,GACpB,IAEM/2E,EAFUZ,KAAK6jC,QACF3gB,MACDtiB,OAElB,GAAIA,GAAUA,EAAO1D,IAAI,OAAQ,CAC1B8C,KAAKwmB,SACRxmB,KAAKi1E,gBAEP,IAAM4C,EAAaj3E,EAAO1D,IAAI,OAE9B8C,KAAKwmB,QAAQlE,OAAM,oBACjBuB,MAAOg0D,GACJF,IAEL33E,KAAKwmB,QAAQ+K,SAIP,YAAAzE,YAAV,WACE9sB,KAAKwmB,SAAWxmB,KAAKwmB,QAAQgL,QAGvB,YAAAyjD,cAAR,WACE,IAAMhsE,EAAOjJ,KAAK6jC,QAAQ56B,KACpBpC,EAASoC,EAAKpC,OAEd0iB,EAAS,CACbnJ,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAClB4d,IAAK,CAAErW,EAAGnD,EAAO3J,IAAI,SAAUuF,EAAGoE,EAAO3J,IAAI,YAGzCuJ,EAAQwC,EAAKyD,WACborE,EAAgB,cAAIrxE,EAAO,CAAC,aAAc,UAAW,aAAc,IACnE+f,EAAU,IAAIvY,EAAY,CAC9B+E,OAAQnM,EAAO3J,IAAI,MAAM+4E,WACzB1sD,OAAM,EACNpD,SAAS,EACTQ,WAAY,KACZ6F,UAAWsrD,IAEbtxD,EAAQyB,OACRzB,EAAQ+uD,YAAW,GACnBv1E,KAAKwmB,QAAUA,GAEnB,EArFA,CAA0C,GCqD3B,GAnDf,uE,OAIY,EAAAimB,UAAoB,G,EA6ChC,OAjDiC,yBAgBrB,YAAAE,SAAV,SAAmB3a,GACjB,OAAOA,EAAQ2a,SAAS3sC,KAAKysC,YAMrB,YAAAsrC,gBAAV,SAA0B/lD,EAAkBgmD,GAE1ChmD,EAAQrG,SAAS3rB,KAAKysC,UAAWurC,IAM5B,YAAArsD,SAAP,WACE3rB,KAAKi4E,gBAAe,IAMf,YAAApvD,MAAP,WACE,IAAM5f,EAAOjJ,KAAK6jC,QAAQ56B,KAC1BjJ,KAAKk4E,eAAejvE,IAGZ,YAAAivE,eAAV,SAAyBjvE,GAAzB,WACQ8oB,EAAWya,GAAmBvjC,EAAMjJ,KAAKysC,WAC/C,eAAK1a,GAAU,SAAC5mB,GACd,EAAK4sE,gBAAgB5sE,GAAI,OAG/B,EAjDA,CAAiC,GCGjC,SAASgtE,GAAQ5nE,GACf,OAAO,cAAIA,EAAMrT,IAAI,kBAAmB,QAQ1C,IAsFe,GAtFf,uE,OACY,EAAAk7E,qBAAuB,CAAC,a,EAmFpC,OApF2B,yBAIjB,YAAAC,aAAR,SAAqB1uE,EAAgB8xB,GAKnC,QAJez7B,KAAKo4E,qBACIn8C,QAAO,SAACixB,GAC9B,OAAOzxB,EAAKkR,SAAShjC,EAAMujD,MAEXtuD,QAIZ,YAAA05E,oBAAR,SAA4BxjD,EAAWnrB,EAAgBquE,GACrD,IAAM/uE,EAAOjJ,KAAK6jC,QAAQ56B,KACpBhB,EAAQ6sB,EAAU53B,IAAI,SACtB60B,EAAWga,GAAY9iC,GAC7BjJ,KAAKu4E,uBAAuBxmD,EAAU9pB,EAAO0B,EAAMquE,IAI3C,YAAAQ,kBAAV,SAA4BxmD,EAAkBgmD,GAC5Ch4E,KAAK+3E,gBAAgB/lD,EAASgmD,IAItB,YAAAS,WAAV,SAAqBzmD,EAAkB/pB,EAAe0B,GACpD,IACMuf,EAAQlhB,GADDhI,KAAK6jC,QAAQ56B,KACUhB,GAC9B3K,EAAQsvC,GAAgB5a,EAAS/pB,GACvC,OAAQ,gBAAM3K,IAAUqM,EAAK/M,OAASssB,EAAM00B,QAAQtgD,IAG5C,YAAAi7E,uBAAV,SAAiCxmD,EAAqB9pB,EAAe0B,EAAgBquE,GAArF,WACE,eAAKjmD,GAAU,SAAC5mB,GACV,EAAKstE,WAAWttE,EAAIlD,EAAO0B,IAC7BwB,EAAGwgB,SAAS,EAAK8gB,UAAWurC,OAMxB,YAAAC,eAAV,SAAyBD,GACvB,IAAMhmD,EAAUkZ,GAAkBlrC,KAAK6jC,SACvC,GAAI7R,EAEEqZ,GAAgBrrC,KAAK6jC,UACvB7jC,KAAKw4E,kBAAkBxmD,EAASgmD,OAE7B,CAEL,IAAM5sC,EAAiBD,GAAoBnrC,KAAK6jC,SAEhD,GAAI2H,GAAOJ,GAAiB,CAClB,IAAAzhC,EAAoByhC,EAAhB,KAAEtW,EAAcsW,EAAL,UACvB,GAAIzhC,GAAQmrB,IAAc90B,KAAKq4E,aAAa1uE,EAAMmrB,GAAY,CAC5D,IAAM,EAAQ90B,KAAK6jC,QAAQ3gB,MAAMgC,OAEjC,GAAI,GAAS,EAAMomB,WAAa,EAAMC,SAAW4sC,GAAQ,EAAM7sC,aAAe6sC,GAAQ,EAAM5sC,SAC1F,OAEFvrC,KAAKs4E,oBAAoBxjD,EAAWnrB,EAAMquE,OAS3C,YAAAU,OAAP,WACE,IAAM1mD,EAAUkZ,GAAkBlrC,KAAK6jC,SACvC,GAAI7R,EAAS,CACX,IAAM2a,EAAW3a,EAAQ2a,SAAS3sC,KAAKysC,WACvCzsC,KAAK+3E,gBAAgB/lD,GAAU2a,KAO5B,YAAAgsC,MAAP,WACE34E,KAAKi4E,gBAAe,IAExB,EApFA,CAA2B,ICNZ,GAVf,uE,OACY,EAAAxrC,UAAoB,S,EAOhC,OAR4B,yBAKnB,YAAAmsC,OAAP,WACE54E,KAAK2rB,YAET,EARA,CAA4B,ICyHb,GArHf,uE,OAEU,EAAA2W,MAAqB,G,EAkH/B,OApH0B,yBAIhB,YAAAl6B,cAAR,SAAsBa,EAAM+oB,GAC1B,IAAM+tC,EAAY/tC,EAAQjD,SAAS2uB,aAAa,SAChD,OAAKqiB,EAGS92D,EAAKjB,gBAAgB+3D,EAAUpiB,YAAY,IAFhD,MAMH,YAAAk7B,YAAR,SAAoB7mD,EAAkB8mD,GACpC,IAAMvzD,EAAOyM,EAAQzhB,MAAM06B,gBACrB8tC,EAAWD,EAAYvoE,MAAM06B,gBAQnC,MAPa,CACX,CAAC,IAAK1lB,EAAKpV,KAAMoV,EAAKnV,MACtB,CAAC,IAAK2oE,EAAS7oE,KAAM6oE,EAAS3oE,MAC9B,CAAC,IAAK2oE,EAAS7oE,KAAM6oE,EAAS1oE,MAC9B,CAAC,IAAKkV,EAAKpV,KAAMoV,EAAKlV,MACtB,CAAC,OAKG,YAAA2oE,aAAR,SAAqB1oE,EAAO0hB,EAAkB8mD,GAC5CxoE,EAAM4iB,SAAS,CACbtpB,KAAM,OACNyoB,MAAO,CACLlU,QAAS,GACT0R,KAAMmC,EAAQzhB,MAAMsiB,KAAK,QACzBrD,KAAMxvB,KAAK64E,YAAY7mD,EAAS8mD,OAK9B,YAAAG,cAAR,SAAsBjnD,GAAtB,WACQ/oB,EAAOjJ,KAAK6jC,QAAQ56B,KACpBigB,EAAQlpB,KAAKoI,cAAca,EAAM+oB,GACvC,GAAK9I,EAAL,CAGA,IAAM5rB,EAAQsvC,GAAgB5a,EAAS9I,EAAMjhB,OAC7C,IAAKjI,KAAKsiC,MAAMhlC,GAAQ,CACtB,IAAM,EhHkHN,SAA6B2L,EAAYhB,EAAe3K,GAE5D,OADiByuC,GAAY9iC,GACbgzB,QAAO,SAAC9wB,GACtB,OAAOyhC,GAAgBzhC,EAAIlD,KAAW3K,KgHrHnB47E,CAAmBjwE,EAAMigB,EAAMjhB,MAAO3K,GAEjD,EADY0C,KAAKm5E,UACCzvD,WACxB1pB,KAAKsiC,MAAMhlC,GAAS,EACpB,IAAM,EAAQ,EAASsB,OACvB,eAAK,GAAU,SAACuM,EAAIzM,GAClB,GAAIA,EAAQ,EAAQ,EAAG,CACrB,IAAM06E,EAAS,EAAS16E,EAAQ,GAChC,EAAKs6E,aAAa,EAAO7tE,EAAIiuE,UAM7B,YAAAC,WAAR,SAAmBrnD,GACjB,IAAM9I,EAAQlpB,KAAKoI,cAAcpI,KAAK6jC,QAAQ56B,KAAM+oB,GACpD,GAAK9I,EAAL,CAGA,IAAM5rB,EAAQsvC,GAAgB5a,EAAS9I,EAAMjhB,OACzCjI,KAAKsiC,MAAMhlC,KACb0C,KAAKsiC,MAAMhlC,GAAOwN,SAClB9K,KAAKsiC,MAAMhlC,GAAS,QAOjB,YAAAg8E,KAAP,WACE,IAAMz1C,EAAU7jC,KAAK6jC,QAChB7jC,KAAKm5E,YAERn5E,KAAKm5E,UAAYt1C,EAAQ56B,KAAK2gB,gBAAgBF,SAAS,CACrDgvC,SAAS,KAGb,IAAM1mC,EAAUkZ,GAAkBrH,GAC9B7R,GACFhyB,KAAKi5E,cAAcjnD,IAOvB,YAAAunD,OAAA,WACE,IAAMvnD,EAAUkZ,GAAkBlrC,KAAK6jC,SACnC7R,GACFhyB,KAAKq5E,WAAWrnD,IAOpB,YAAAnJ,MAAA,WACM7oB,KAAKm5E,WACPn5E,KAAKm5E,UAAUtwD,SAOnB,YAAAzhB,QAAA,WACE,YAAMA,QAAO,WACTpH,KAAKm5E,WACPn5E,KAAKm5E,UAAUruE,UAGrB,EApHA,CAA0B,GCsJX,GAhJf,uE,OACU,EAAAk7D,WAAa,KACb,EAAAC,SAAW,KACX,EAAAuT,WAAqB,EAInB,EAAAC,gBAAiB,EAIjB,EAAAC,gBAAiB,E,EAmI7B,OA9IgC,yBAatB,YAAAvrC,gBAAR,WACE,IAAMjrB,EAAQljB,KAAK6jC,QAAQ3gB,MAC3B,MAAO,CACLlZ,EAAGkZ,EAAMlZ,EACTvH,EAAGygB,EAAMzgB,IAON,YAAA2d,MAAP,WACEpgB,KAAK6oB,QACL7oB,KAAKgmE,WAAahmE,KAAKmuC,kBACvBnuC,KAAKw5E,WAAY,GAGX,YAAArtC,qBAAR,WACE,IAAIpa,EAAW,KACf,GAAI2Z,GAAO1rC,KAAK6jC,SACd9R,EAAW4Z,GAAkB3rC,KAAK6jC,QAAS,QACtC,CACL,IAAMmiC,EAAahmE,KAAKgmE,WAClBC,EAAWjmE,KAAKw5E,UAAYx5E,KAAKmuC,kBAAoBnuC,KAAKimE,SAEhE,IAAKD,IAAeC,EAClB,OAGF,IAAMp1C,EAAM,CACV3gB,KAAMf,KAAKsP,IAAIunD,EAAWh8D,EAAGi8D,EAASj8D,GACtCoG,KAAMjB,KAAKsP,IAAIunD,EAAWvjE,EAAGwjE,EAASxjE,GACtC0N,KAAMhB,KAAKqP,IAAIwnD,EAAWh8D,EAAGi8D,EAASj8D,GACtCqG,KAAMlB,KAAKqP,IAAIwnD,EAAWvjE,EAAGwjE,EAASxjE,IAIxCsvB,EAAWoa,GADEnsC,KAAK6jC,QAAQ56B,KACY4nB,GAExC,OAAOkB,GAKF,YAAAkmD,eAAP,SAAsBD,GACpB,GAAIh4E,KAAKy5E,iBAAmBz5E,KAAK05E,eAC/B15E,KAAK25E,iBAAiB3B,OACjB,CACL,IAAM4B,EAAc7tC,GAAY/rC,KAAK6jC,QAAQ56B,MACvC8oB,EAAW/xB,KAAKmsC,uBAClBpa,GAAYA,EAASnzB,OACnBoB,KAAK05E,eACP15E,KAAK65E,yBAAyB9nD,EAAUimD,GAExCh4E,KAAK85E,iBAAiB/nD,EAAUimD,EAAQ4B,GAG1C55E,KAAK6oB,UAKH,YAAAgxD,yBAAR,SAAiC9nD,EAAUimD,GAA3C,WACQ/uE,EAAOjJ,KAAK6jC,QAAQ56B,KACpBskC,EAAWD,GAAYrkC,GACvB0kC,EAAU5b,EAASzN,KAAI,SAACnZ,GAC5B,OAAOA,EAAGooB,WAAWv0B,QAEjB4uC,EAAS3kC,EAAKf,YAAYD,MAC1B6iB,EAAS7hB,EAAKw8C,aAAa,GAAGx9C,MACpC,eAAKslC,GAAU,SAAClB,GACd,IAAMutC,EAAc7tC,GAAYM,GAC1B0tC,EAAiBH,EAAY39C,QAAO,SAAC9wB,GACzC,IAAM0hC,EAAS1hC,EAAGooB,WAAWv0B,KAC7B,OAAO0uC,GAAYC,EAASd,EAAQe,EAAQ9iB,MAE9C,EAAKgvD,iBAAiBC,EAAgB/B,EAAQ4B,OAK1C,YAAAD,iBAAR,SAAyB3B,GAAzB,WAEQzqC,EAAWD,GADJttC,KAAK6jC,QAAQ56B,MAEtByiC,GAAO1rC,KAAK6jC,UAEd,eAAK0J,GAAU,SAAClB,GACd,IAAMutC,EAAc7tC,GAAYM,GAC1B0tC,EAAiB3tC,GAAuB,EAAKvI,QAASwI,EAAS,IACjE0tC,GAAkBA,EAAen7E,OACnC,EAAKk7E,iBAAiBC,EAAgB/B,EAAQ4B,GAE9C,EAAK1B,eAAe7rC,OAMlB,YAAAytC,iBAAV,SAA2B/nD,EAAqBimD,EAAQ4B,GAAxD,WACE,eAAKA,GAAa,SAACzuE,GACZ4mB,EAAS6tB,SAASz0C,GAGrB,EAAK4sE,gBAAgB5sE,EAAI6sE,GAFzB,EAAKD,gBAAgB5sE,GAAI,OAUxB,YAAAkV,IAAP,WACErgB,KAAKw5E,WAAY,EACjBx5E,KAAKimE,SAAWjmE,KAAKmuC,mBAIhB,YAAAtlB,MAAP,sBACQ5f,EAAOjJ,KAAK6jC,QAAQ56B,KAE1B,GAAIjJ,KAAKy5E,eAAgB,CACvB,IAAMlsC,EAAWD,GAAYrkC,GAC7B,eAAKskC,GAAU,SAAClB,GACd,EAAK6rC,eAAe7rC,WAGtBrsC,KAAKk4E,eAAejvE,IAG1B,EA9IA,CAAgC,ICDjB,GAVf,uE,OACY,EAAAwjC,UAAoB,S,EAOhC,OARiC,yBAKxB,YAAAmsC,OAAP,WACE54E,KAAK2rB,YAET,EARA,CAAiC,IC0ClB,GAxCf,yB,+CAsCA,OAtCiC,yBACrB,YAAAssD,eAAV,SAAyBD,GACvB,IAAMhmD,EAAUkZ,GAAkBlrC,KAAK6jC,SACvC,GAAI7R,EAAS,CAEX,IAAKqZ,GAAgBrrC,KAAK6jC,SACxB,OAGEm0C,GACFh4E,KAAK6oB,QACL7oB,KAAK+3E,gBAAgB/lD,GAAS,IACrBhyB,KAAK2sC,SAAS3a,IACvBhyB,KAAK+3E,gBAAgB/lD,GAAS,KAQ7B,YAAA0mD,OAAP,WACE,IAAM1mD,EAAUkZ,GAAkBlrC,KAAK6jC,SACvC,GAAI7R,EAAS,CACX,IAAM2a,EAAW3sC,KAAK2sC,SAAS3a,GAC1B2a,GACH3sC,KAAK6oB,QAEP7oB,KAAK+3E,gBAAgB/lD,GAAU2a,KAO5B,YAAAgsC,MAAP,WACE34E,KAAKi4E,gBAAe,IAExB,EAtCA,CAAiC,ICQlB,GAVf,uE,OACY,EAAAxrC,UAAoB,S,EAOhC,OARkC,yBAKzB,YAAAmsC,OAAP,WACE54E,KAAK2rB,YAET,EARA,CAAkC,ICO5B,SAAUquD,GAAe/wE,GAC7B,IAAM8oB,EAAWga,GAAY9iC,GAC7B,eAAK8oB,GAAU,SAAC5mB,GACVA,EAAGwhC,SAVW,WAWhBxhC,EAAGwgB,SAXa,UAWW,GAEzBxgB,EAAGwhC,SAda,aAelBxhC,EAAGwgB,SAfe,YAeW,MAc7B,SAAUsuD,GAAeloD,EAAqBjgB,EAAyBkmE,GAC3E,eAAKjmD,GAAU,SAAC5mB,GAEV2G,EAAS3G,IACPA,EAAGwhC,SAjCW,aAkChBxhC,EAAGwgB,SAlCa,YAkCa,GAE/BxgB,EAAGwgB,SAnCa,SAmCWqsD,KAEvB7sE,EAAGwhC,SArCS,WAsCdxhC,EAAGwgB,SAtCW,UAsCa,GAE7BxgB,EAAGwgB,SAzCe,WAyCWqsD,OCrC5B,IAAM,GAAkBkC,EAAcC,SAChC,GAAgBD,EAAcE,OAkF5B,GA3Ef,uE,OACY,EAAA3tC,UAAoB,G,EAwEhC,OAzE+B,yBAInB,YAAA8rC,uBAAV,SAAiCxmD,EAAqB9pB,EAAe0B,EAAgBquE,GAArF,WAEEh4E,KAAKi6E,eAAeloD,GADH,SAAC5mB,GAAO,SAAKstE,WAAWttE,EAAIlD,EAApB,KACe+vE,IAIhC,YAAAqC,oBAAV,SAA8BlvE,EAAa2G,GACrCA,EAAS3G,IACPA,EAAGwhC,SAAS,KACdxhC,EAAGwgB,SAAS,IAAiB,GAE/BxgB,EAAGwgB,SAAS,IAAe,IACjBxgB,EAAGwhC,SAAS,KACtBxhC,EAAGwgB,SAAS,IAAiB,IAIvB,YAAAsuD,eAAV,SAAyBloD,EAAqBjgB,EAAoBkmE,GAAlE,WACE,GAAIA,EAGF,eAAKjmD,GAAU,SAAC5mB,GACd,EAAKkvE,oBAAoBlvE,EAAI2G,UAE1B,CAEL,IAAMwoE,EAAiB9tC,GAAmBxsC,KAAK6jC,QAAQ56B,KAAM,IACzD,GAAY,EAEhB,eAAKqxE,GAAgB,SAACnvE,GACpB,IAAK2G,EAAS3G,GAEZ,OADA,GAAY,GACL,KAGP,EAEFnL,KAAK6oB,QAIL,eAAKkJ,GAAU,SAAC5mB,GACV2G,EAAS3G,KACPA,EAAGwhC,SAAS,KACdxhC,EAAGwgB,SAAS,IAAe,GAE7BxgB,EAAGwgB,SAAS,IAAiB,SAQ7B,YAAAosD,gBAAV,SAA0B/lD,EAAkBgmD,GAC1C,IACMjmD,EAAWga,GADJ/rC,KAAK6jC,QAAQ56B,MAE1BjJ,KAAKi6E,eAAeloD,GAAU,SAAC5mB,GAAO,OAAA6mB,IAAA7mB,IAAgB6sE,IAGjD,YAAAuC,UAAP,WACEv6E,KAAK2rB,YAIA,YAAA9C,MAAP,WAEEmxD,GADah6E,KAAK6jC,QAAQ56B,OAG9B,EAzEA,CAA+B,ICQhB,GAjBf,yB,+CAeA,OAf6B,yBACjB,YAAAuvE,kBAAV,SAA4BxmD,EAAkBgmD,GAC5C,IAAM/uE,EAAOjJ,KAAK6jC,QAAQ56B,KACpB82D,EAAY/tC,EAAQjD,SAAS2uB,aAAa,SAChD,GAAKqiB,EAAL,CAGA,IAAM72C,EAAQjgB,EAAKjB,gBAAgB+3D,EAAUpiB,YAAY,IACnDrgD,EAAQsvC,GAAgB5a,EAAS9I,EAAMjhB,OACvC8pB,EAAWga,GAAY9iC,GACvBuxE,EAAoBzoD,EAASkK,QAAO,SAAC9wB,GACzC,OAAOyhC,GAAgBzhC,EAAI+d,EAAMjhB,SAAW3K,KAE9C0C,KAAKi6E,eAAeloD,GAAU,SAAC5mB,GAAO,OAAAqvE,EAAkB56B,SAAlB,KAAgCo4B,KAE1E,EAfA,CAA6B,ICuCd,GAvCf,yB,+CAqCA,OArCyB,yBAEb,YAAAqC,oBAAV,SAA8BlvE,EAAa2G,GACrCA,EAAS3G,IACPA,EAAGwhC,SAAS,KACdxhC,EAAGwgB,SAAS,IAAiB,GAE/BxgB,EAAGwgB,SAAS,IAAe,KAE3BxgB,EAAGwgB,SAAS,IAAiB,GACzBxgB,EAAGwhC,SAAS,KACdxhC,EAAGwgB,SAAS,IAAe,KAKvB,YAAA6sD,kBAAV,SAA4BxmD,EAAkBgmD,GAC5C,IAAM/uE,EAAOjJ,KAAK6jC,QAAQ56B,KACpBigB,EAAQjgB,EAAKf,YACb5K,EAAQsvC,GAAgB5a,EAAS9I,EAAMjhB,OACvC8pB,EAAWga,GAAY9iC,GACvBuxE,EAAoBzoD,EAASkK,QAAO,SAAC9wB,GACzC,OAAOyhC,GAAgBzhC,EAAI+d,EAAMjhB,SAAW3K,KAE9C0C,KAAKi6E,eAAeloD,GAAU,SAAC5mB,GAAO,OAAAqvE,EAAkB56B,SAAlB,KAAgCo4B,IAMjE,YAAAU,OAAP,WACE,IAAM1mD,EAAUkZ,GAAkBlrC,KAAK6jC,SACvC,GAAI7R,EAAS,CACX,IAAM2a,EAAW3a,EAAQ2a,SAAS3sC,KAAKysC,WACvCzsC,KAAKw4E,kBAAkBxmD,GAAU2a,KAGvC,EArCA,CAAyB,ICoBV,GApBf,uE,OACY,EAAAF,UAAoB,S,EAiBhC,OAlBoC,yBAIxB,YAAAyrC,eAAV,SAAyBjvE,GACvB+wE,GAAe/wE,IAMV,YAAAsxE,UAAP,WACEv6E,KAAK2rB,YAGG,YAAAmuD,iBAAV,SAA2B/nD,EAAqBimD,EAAiB4B,GAC/DK,GAAeL,GAAa,SAACzuE,GAAO,OAAA4mB,EAASpzB,QAAQwM,IAAjB,IAA2B6sE,IAEnE,EAlBA,CAAoC,ICwBrB,GAvBf,uE,OACY,EAAAvrC,UAAoB,S,EAoBhC,OArBqC,yBAM5B,YAAA8tC,UAAP,WACEv6E,KAAK2rB,YAGG,YAAAosD,gBAAV,SAA0B/lD,EAAkBgmD,GAG1CiC,GADiBluC,GADJ/rC,KAAK6jC,QAAQ56B,OAED,SAACkC,GAAO,OAAA6mB,IAAA7mB,IAAgB6sE,IAI5C,YAAAnvD,MAAP,WAEEmxD,GADah6E,KAAK6jC,QAAQ56B,OAG9B,EArBA,CAAqC,ICOtB,GAVf,uE,OACY,EAAAwjC,UAAoB,W,EAOhC,OARmC,yBAK1B,YAAAguC,SAAP,WACEz6E,KAAK2rB,YAET,EARA,CAAmC,ICWpB,GAVf,uE,OACY,EAAA8gB,UAAoB,W,EAOhC,OARsC,yBAK7B,YAAAguC,SAAP,WACEz6E,KAAK2rB,YAET,EARA,CAAsC,ICSvB,GAVf,uE,OACY,EAAA8gB,UAAoB,W,EAOhC,OARoC,yBAK3B,YAAAguC,SAAP,WACEz6E,KAAK2rB,YAET,EARA,CAAoC,ICwKrB,GA5Jf,uE,OACY,EAAA8gB,UAAoB,GACpB,EAAAiuC,iBAAmB,G,EAwJ/B,OA1JwB,yBAKZ,YAAAC,mBAAV,WACE,IAAMvvC,EAAiBD,GAAoBnrC,KAAK6jC,SAC5C+2C,EAAoB,KAOxB,OANIpvC,GAAOJ,KACTwvC,EAAO,CACLjxE,KAAMyhC,EAAezhC,KACrB8xB,KAAM2P,EAAetW,YAGlB8lD,GAGC,YAAAC,mBAAV,sBAEQlsC,EAAa1B,GADNjtC,KAAK6jC,QAAQ56B,MAEpB/J,EAAM,GAMZ,OALA,eAAKyvC,GAAY,SAAC7Z,GACZA,EAAU0W,UAAY,EAAKsvC,uBAAuBhmD,IACpD51B,EAAIoE,KAAKwxB,MAGN51B,GAIC,YAAAytC,SAAV,SAAmBlR,EAAa9xB,GAC9B,OAAO8xB,EAAKkR,SAAShjC,EAAM3J,KAAKysC,YAIxB,YAAAsuC,wBAAV,sBACQpsC,EAAa3uC,KAAK66E,qBACxB,eAAKlsC,GAAY,SAAC7Z,GAChBA,EAAUkmD,gBAAgB,EAAKvuC,eAKzB,YAAAquC,uBAAV,SAAiChmD,GAC/B,IAAM7sB,EAAQ6sB,EAAU53B,IAAI,SAC5B,IAAK+K,EACH,OAAO,EAET,GAAIjI,KAAKyI,KAAOzI,KAAKyI,IAAIwyE,eAAgB,CACvC,IAAM,EAAOnmD,EAAU53B,IAAI,QAE3B,IAA+C,IAA3C8C,KAAKyI,IAAIwyE,eAAet8E,QAAQ,GAClC,OAAO,EAGX,IACMuqB,EAAQlhB,GADDhI,KAAK6jC,QAAQ56B,KACUhB,GACpC,OAAOihB,GAASA,EAAM4yB,YAGhB,YAAAo/B,oBAAR,SAA4BvxE,EAAgB8xB,GAC1C,IAAM0/C,EAAen7E,KAAK06E,iBAC1B,OAAIS,EAAav8E,QAIgB,IAHVu8E,EAAal/C,QAAO,SAACixB,GACxC,OAAOzxB,EAAKkR,SAAShjC,EAAMujD,MAETtuD,QAMhB,YAAA45E,kBAAR,SAA0B1jD,EAAW9C,EAAkBgmD,GACrD,IAAM/vE,EAAQ6sB,EAAU53B,IAAI,SAEtBgsB,EAAQlhB,GADDhI,KAAK6jC,QAAQ56B,KACUhB,GAC9B3K,EAAQsvC,GAAgB5a,EAAS/pB,GACjCoe,EAAO6C,EAAM00B,QAAQtgD,GAC3B0C,KAAKo7E,cAActmD,EAAWzO,EAAM2xD,IAI5B,YAAAC,eAAV,SAAyBD,GAAzB,WACQhmD,EAAUkZ,GAAkBlrC,KAAK6jC,SACvC,GAAI7R,EAAS,CAEX,IAAM2c,EAAa3uC,KAAK66E,qBACxB,eAAKlsC,GAAY,SAAC7Z,GAChB,EAAK0jD,kBAAkB1jD,EAAW9C,EAASgmD,UAExC,CAEL,IAAM5sC,EAAiBD,GAAoBnrC,KAAK6jC,SAChD,GAAI2H,GAAOJ,GAAiB,CAClB,IAAAzhC,EAAoByhC,EAAhB,KAAEtW,EAAcsW,EAAL,UACnBprC,KAAK86E,uBAAuBhmD,IAAc90B,KAAKk7E,oBAAoBvxE,EAAMmrB,IAC3E90B,KAAKq7E,aAAavmD,EAAWnrB,EAAMquE,MAOjC,YAAAoD,cAAV,SAAwB3/C,EAAa7+B,EAAco7E,GAAnD,WACQxkD,EAAQiI,EAAK6/C,WACnB,eAAK9nD,GAAO,SAAC7pB,GACPA,EAAK/M,OAASA,GAChB,EAAKy+E,aAAa5/C,EAAM9xB,EAAMquE,OAM1B,YAAAqD,aAAV,SAAuB5/C,EAAa9xB,EAAgBquE,GAClDv8C,EAAK4/C,aAAa1xE,EAAM3J,KAAKysC,UAAWurC,IAMnC,YAAArsD,SAAP,WACE3rB,KAAKi4E,gBAAe,IAMf,YAAAU,MAAP,WACE34E,KAAKi4E,gBAAe,IAMf,YAAAS,OAAP,WACE,IAAM6C,EAAcv7E,KAAK26E,qBACzB,GAAIY,GAAeA,EAAY5xE,KAAM,CAC3B,IAAA8xB,EAAe8/C,EAAX,KAAE5xE,EAAS4xE,EAAL,KACZvD,EAASh4E,KAAK2sC,SAASlR,EAAM9xB,GACnC3J,KAAKq7E,aAAa5/C,EAAM9xB,GAAOquE,KAO5B,YAAAnvD,MAAP,WACE,IAAM0yD,EAAcv7E,KAAK26E,qBACrBY,EACFA,EAAY9/C,KAAKu/C,gBAAgBh7E,KAAKysC,WAEtCzsC,KAAK+6E,2BAGX,EA1JA,CAAwB,GCDT,GAVf,uE,OACY,EAAAtuC,UAAoB,S,EAOhC,OARyB,yBAKhB,YAAAmsC,OAAP,WACE54E,KAAK2rB,YAET,EARA,CAAyB,ICHzB,IAwFe,GA/Ef,uE,OACY,EAAA8gB,UATU,SAUV,EAAAiuC,iBAAmB,CAAC,a,EA2EhC,OA7E4B,yBAIhB,YAAAU,cAAV,SAAwB3/C,EAAa7+B,EAAco7E,GACjDh4E,KAAKi6E,eAAex+C,GAAM,SAAC9xB,GAAS,OAAAA,EAAK/M,OAAL,IAAoBo7E,IAIhD,YAAAqD,aAAV,SAAuB5/C,EAAa9xB,EAAgBquE,GACpCv8C,EAAK6/C,WACnBt7E,KAAKi6E,eAAex+C,GAAM,SAACtwB,GAAO,OAAAA,IAAA,IAAa6sE,IAIzC,YAAAiC,eAAR,SAAuBx+C,EAAa3pB,EAAyBkmE,GAC3D,IAAMxkD,EAAQiI,EAAK6/C,WACnB,GAAItD,EAEF,eAAKxkD,GAAO,SAAC7pB,GACPmI,EAASnI,IACP8xB,EAAKkR,SAAShjC,EA9BJ,aA+BZ8xB,EAAK4/C,aAAa1xE,EA/BN,YA+B6B,GAE3C8xB,EAAK4/C,aAAa1xE,EAhCN,UAgC2B,IAC7B8xB,EAAKkR,SAAShjC,EAjCZ,WAkCZ8xB,EAAK4/C,aAAa1xE,EAnCJ,YAmC2B,UAGxC,CACL,IAAM6xE,EAAc//C,EAAKggD,gBAtCT,UAuCZ,GAAY,EAEhB,eAAKD,GAAa,SAAC7xE,GACjB,IAAKmI,EAASnI,GAEZ,OADA,GAAY,GACL,KAGP,EACF3J,KAAK6oB,QAIL,eAAK2K,GAAO,SAAC7pB,GACPmI,EAASnI,KACP8xB,EAAKkR,SAAShjC,EAtDR,WAuDR8xB,EAAK4/C,aAAa1xE,EAvDV,UAuD+B,GAEzC8xB,EAAK4/C,aAAa1xE,EA1DN,YA0D6B,SAU5C,YAAA4wE,UAAP,WACEv6E,KAAK2rB,YAIA,YAAA9C,MAAP,WACE,ICnEsB4S,EAClBjI,EDkEE+nD,EAAcv7E,KAAK26E,qBACzB,GAAIY,ECpEkB9/C,EDqEV8/C,EAAY9/C,KCpEpBjI,EAAQiI,EAAK6/C,WACnB,eAAK9nD,GAAO,SAAC7pB,GACP8xB,EAAKkR,SAAShjC,EAVA,WAWhB8xB,EAAK4/C,aAAa1xE,EAXF,UAWuB,GAErC8xB,EAAKkR,SAAShjC,EAdE,aAelB8xB,EAAK4/C,aAAa1xE,EAfA,YAeuB,UD+DpC,CAEL,IAAMglC,EAAa3uC,KAAK66E,qBACxB,eAAKlsC,GAAY,SAAC7Z,GAChBA,EAAUkmD,gBAhFI,UAiFdlmD,EAAUkmD,gBAlFM,iBAsFxB,EA7EA,CAA4B,IEAb,GAPf,uE,OACY,EAAAvuC,UAAoB,W,EAIhC,OAL2B,yBAElB,YAAAguC,SAAP,WACEz6E,KAAK2rB,YAET,EALA,CAA2B,ICUZ,GAVf,uE,OACY,EAAA8gB,UAAoB,Y,EAOhC,OAR4B,yBAKnB,YAAAumC,UAAP,WACEhzE,KAAK2rB,YAET,EARA,CAA4B,IC+Kb,GA7Kf,uE,OAEY,EAAAkgB,UAAY,KAEZ,EAAA1R,OAAS,GAET,EAAAuhD,UAAW,EAEX,EAAAC,QAAS,EACT,EAAAC,aAAe,KAEf,EAAAxvB,UAAY,O,EAgKxB,OA3KgC,yBAapB,YAAAje,gBAAV,WACE,IAAMjrB,EAAQljB,KAAK6jC,QAAQ3gB,MAC3B,MAAO,CACLlZ,EAAGkZ,EAAMlZ,EACTvH,EAAGygB,EAAMzgB,IAIH,YAAAo5E,UAAV,SAAoBjyE,GAClB,IAAMW,EAAY,QAAQX,EACpBX,EAAOjJ,KAAK6jC,QAAQ56B,KACpBia,EAAQljB,KAAK6jC,QAAQ3gB,MAC3Bja,EAAK6e,KAAKvd,EAAW,CACnB3J,OAAQZ,KAAK6rC,UACbt7B,MAAOvQ,KAAK6rC,UACZ1R,OAAQn6B,KAAKm6B,OACbnwB,EAAGkZ,EAAMlZ,EACTvH,EAAGygB,EAAMzgB,KAKL,YAAAq5E,WAAR,WACE,IAAM7yE,EAAOjJ,KAAK6jC,QAAQ56B,KACpB8yE,EAAY/7E,KAAKg8E,eAWvB,OAVkB/yE,EAAK2gB,gBAAgBsJ,SAAS,CAC9CtpB,KAAM5J,KAAKosD,UACXxvD,KAAM,OACNq/E,WAAW,EACX5pD,MAAO,OAAF,WAAE,CAAF,CACHxC,KAAM,UACN1R,QAAS,IACN49D,MASC,YAAAjwC,YAAV,WACE,MAAO,IAMF,YAAAva,KAAP,WACMvxB,KAAK6rC,YACP7rC,KAAK6rC,UAAUta,OACfvxB,KAAK67E,UAAU,UAOZ,YAAAz7D,MAAP,WACEpgB,KAAK07E,UAAW,EAEhB17E,KAAK27E,QAAS,EACd37E,KAAKm6B,OAAS,CAACn6B,KAAKmuC,mBACfnuC,KAAK6rC,YACR7rC,KAAK6rC,UAAY7rC,KAAK87E,aAEtB97E,KAAK6rC,UAAUjmC,IAAI,WAAW,IAEhC5F,KAAKk8E,aACLl8E,KAAK67E,UAAU,UAMV,YAAAM,UAAP,WACEn8E,KAAK27E,QAAS,EACd37E,KAAK47E,aAAe57E,KAAKmuC,mBAKpB,YAAAiuC,KAAP,WACE,GAAKp8E,KAAK27E,QAAW37E,KAAK6rC,UAA1B,CAGA,IAAMwwC,EAAer8E,KAAKmuC,kBACpBytC,EAAe57E,KAAK47E,aACpBzuC,EAAKkvC,EAAaryE,EAAI4xE,EAAa5xE,EACnCojC,EAAKivC,EAAa55E,EAAIm5E,EAAan5E,EACnC03B,EAASn6B,KAAKm6B,OACpB,eAAKA,GAAQ,SAACxJ,GACZA,EAAM3mB,GAAKmjC,EACXxc,EAAMluB,GAAK2qC,KAEbptC,KAAKk8E,aACLl8E,KAAK67E,UAAU,UACf77E,KAAK47E,aAAeS,IAGZ,YAAAH,WAAV,WACE,IAAM7pD,EAAQryB,KAAKg8E,eACnBh8E,KAAK6rC,UAAUhZ,KAAKR,IAMf,YAAAiqD,QAAP,WACEt8E,KAAK27E,QAAS,EACd37E,KAAK47E,aAAe,MAMf,YAAAv7D,IAAP,WACErgB,KAAK07E,UAAW,EAChB17E,KAAK67E,UAAU,OACX77E,KAAK6rC,WACP7rC,KAAK6rC,UAAUjmC,IAAI,WAAW,IAO3B,YAAA4rB,KAAP,WACMxxB,KAAK6rC,YACP7rC,KAAK6rC,UAAUra,OACfxxB,KAAK67E,UAAU,UAOZ,YAAAU,OAAP,WAEMv8E,KAAK07E,UAAY17E,KAAK6rC,YACxB7rC,KAAKm6B,OAAO72B,KAAKtD,KAAKmuC,mBACtBnuC,KAAKk8E,aACLl8E,KAAK67E,UAAU,YAOZ,YAAAz0E,QAAP,WACEpH,KAAKm6B,OAAS,GACVn6B,KAAK6rC,WACP7rC,KAAK6rC,UAAU/gC,SAEjB9K,KAAK6rC,UAAY,KACjB7rC,KAAK47E,aAAe,KACpB,YAAMx0E,QAAO,YAEjB,EA3KA,CAAgC,GCsBjB,GAtBf,uE,OACY,EAAAglD,UAAY,S,EAmBxB,OApByB,yBAEb,YAAA4vB,aAAV,WACE,IAAM7hD,EAASn6B,KAAKm6B,OACdkiD,EAAe,eAAKr8E,KAAKm6B,QAC3Bh9B,EAAI,EACJ6M,EAAI,EACJvH,EAAI,EACR,GAAI03B,EAAOv7B,OAAQ,CACjB,IAAMkqC,EAAQ3O,EAAO,GACrBh9B,EAAI,GAAS2rC,EAAOuzC,GAAgB,EACpCryE,GAAKqyE,EAAaryE,EAAI8+B,EAAM9+B,GAAK,EACjCvH,GAAK45E,EAAa55E,EAAIqmC,EAAMrmC,GAAK,EAEnC,MAAO,CACLuH,EAAC,EACDvH,EAAC,EACDtF,EAAC,IAGP,EApBA,CAAyB,ICyBV,GAzBf,uE,OACY,EAAAivD,UAAY,O,EAsBxB,OAvBuB,yBAEX,YAAA7pB,UAAV,WACE,IAAMpI,EAASn6B,KAAKm6B,OACpB,MAAO,CACL/Z,MAAO,eAAK+Z,GACZ9Z,IAAK,eAAK8Z,KAIJ,YAAA6hD,aAAV,WACQ,MAAiBh8E,KAAKuiC,YAApBniB,EAAK,QAAEC,EAAG,MAKlB,MAAO,CACLrW,EALQmF,KAAKsP,IAAI2B,EAAMpW,EAAGqW,EAAIrW,GAM9BvH,EALQ0M,KAAKsP,IAAI2B,EAAM3d,EAAG4d,EAAI5d,GAM9B4D,MALY8I,KAAKsmB,IAAIpV,EAAIrW,EAAIoW,EAAMpW,GAMnC1D,OALa6I,KAAKsmB,IAAIpV,EAAI5d,EAAI2d,EAAM3d,KAQ1C,EAvBA,CAAuB,ICJvB,SAAS+5E,GAAW7rD,GAClBA,EAAM3mB,EAAI,gBAAM2mB,EAAM3mB,EAAG,EAAG,GAC5B2mB,EAAMluB,EAAI,gBAAMkuB,EAAMluB,EAAG,EAAG,GAM9B,IA4Ce,GA5Cf,uE,OACY,EAAA0pB,IAAM,IACN,EAAAswD,QAAS,E,EAwCrB,OA1CsB,yBAGV,YAAAl6C,UAAV,WACE,IAAIniB,EAAQ,KACRC,EAAM,KACJ8Z,EAASn6B,KAAKm6B,OACdhO,EAAMnsB,KAAKmsB,IACXlD,EAAQjpB,KAAK6jC,QAAQ56B,KAAKyoB,gBAC1BgrD,EAAczzD,EAAM2d,OAAO,eAAKzM,IAChCwiD,EAAY1zD,EAAM2d,OAAO,eAAKzM,IA2BpC,OA1BIn6B,KAAKy8E,SAEPD,GAAWE,GACXF,GAAWG,IAED,MAARxwD,GAEF/L,EAAQ6I,EAAMsX,QAAQ,CACpBv2B,EAAG0yE,EAAY1yE,EACfvH,EAAG,IAEL4d,EAAM4I,EAAMsX,QAAQ,CAClBv2B,EAAG2yE,EAAU3yE,EACbvH,EAAG,MAIL2d,EAAQ6I,EAAMsX,QAAQ,CACpBv2B,EAAG,EACHvH,EAAGi6E,EAAYj6E,IAEjB4d,EAAM4I,EAAMsX,QAAQ,CAClBv2B,EAAG,EACHvH,EAAGk6E,EAAUl6E,KAGV,CACL2d,MAAK,EACLC,IAAG,IAGT,EA1CA,CAAsB,IC2BP,GAhCf,yB,+CA8BA,OA9BuB,yBAEX,YAAAyrB,YAAV,WACE,IAAM3R,EAASn6B,KAAKm6B,OACd3K,EAAO,GAWb,OAVI2K,EAAOv7B,SACT,eAAKu7B,GAAQ,SAACxJ,EAAOjyB,GACL,IAAVA,EACF8wB,EAAKlsB,KAAK,CAAC,IAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,IAE/B+sB,EAAKlsB,KAAK,CAAC,IAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,OAGnC+sB,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,KAElC+sB,GAGC,YAAAwsD,aAAV,WACE,MAAO,CACLxsD,KAAMxvB,KAAK8rC,gBAOR,YAAA8wC,SAAP,WACE58E,KAAKu8E,UAET,EA9BA,CAAuB,ICQR,GARf,yB,+CAMA,OAN6B,yBAEjB,YAAAzwC,YAAV,WAEE,OzI2RE,SAAoB3R,EAAiB1C,GACzC,GAAI0C,EAAOv7B,QAAU,EACnB,OAAO6pC,GAAYtO,GAAQ,GAE7B,IAAM2O,EAAQ3O,EAAO,GACf77B,EAAM,GACZ,eAAK67B,GAAQ,SAACxJ,GACZryB,EAAIgF,KAAKqtB,EAAM3mB,GACf1L,EAAIgF,KAAKqtB,EAAMluB,MAEjB,IAAM+sB,EAAO8X,GAAkBhpC,EAAKm5B,EAAG,MAEvC,OADAjI,EAAKyZ,QAAQ,CAAC,IAAKH,EAAM9+B,EAAG8+B,EAAMrmC,IAC3B+sB,EyIvSEqtD,CADQ78E,KAAKm6B,QACK,IAE7B,EANA,CAA6B,IC6Gd,GA1Gf,yB,+CAwGA,OAxG2B,yBACjB,YAAA2iD,UAAR,SAAkBC,GACH/8E,KAAK6jC,QAAQ56B,KACrBG,YAAY0zE,UAAUC,IAMtB,oBAAP,WACE/8E,KAAK88E,UAAU,YAIV,YAAAE,QAAP,WACEh9E,KAAK88E,UAAU,YAGV,YAAAV,KAAP,WACEp8E,KAAK88E,UAAU,SAGV,YAAAG,UAAP,WACEj9E,KAAK88E,UAAU,cAGV,YAAApsC,KAAP,WACE1wC,KAAK88E,UAAU,SAIV,YAAAI,KAAP,WACEl9E,KAAK88E,UAAU,SAIV,YAAAz2D,KAAP,WACErmB,KAAK88E,UAAU,SAMV,YAAAK,QAAP,WACEn9E,KAAK88E,UAAU,aAMV,YAAAM,QAAP,WACEp9E,KAAK88E,UAAU,aAMV,YAAAO,QAAP,WACEr9E,KAAK88E,UAAU,aAMV,YAAAQ,QAAP,WACEt9E,KAAK88E,UAAU,aAKV,YAAAS,SAAP,WACEv9E,KAAK88E,UAAU,cAKV,YAAAU,SAAP,WACEx9E,KAAK88E,UAAU,cAKV,YAAAW,SAAP,WACEz9E,KAAK88E,UAAU,cAKV,YAAAY,SAAP,WACE19E,KAAK88E,UAAU,cAMV,YAAAa,SAAP,WACE39E,KAAK88E,UAAU,cAKV,YAAAc,SAAP,WACE59E,KAAK88E,UAAU,cAEnB,EAxGA,CAA2B,GCgDZ,GAjDf,yB,+CA+CA,OA/CyB,yBACf,YAAAe,WAAR,SAAmB50E,EAAYhB,EAAOg0B,GAAtC,WAEMhzB,EAAKjB,gBAAgBC,IACvBgB,EAAKgzB,OAAOh0B,EAAOg0B,GAEjBhzB,EAAK2f,OAAS3f,EAAK2f,MAAMhqB,QAC3B,eAAKqK,EAAK2f,OAAO,SAAC2jB,GAChB,EAAKsxC,WAAWtxC,EAAStkC,EAAOg0B,OAO/B,YAAAA,OAAP,WACE,IAAMmP,EAAiBD,GAAoBnrC,KAAK6jC,SAChD,GAAIuH,EAAgB,CAClB,IAAMniC,EAAOjJ,KAAK6jC,QAAQ56B,KAClB6rB,EAAcsW,EAAL,UACXnjC,EAAQ6sB,EAAU53B,IAAI,SAE5B,GAAIsuC,GAAOJ,IACT,GAAInjC,EAAO,CACT,IAAM61E,EAAiBhpD,EAAU2mD,gBAAgB,aAC3C,EAAQzzE,GAAgBiB,EAAMhB,GAC9B,EAAkB61E,EAAex5D,KAAI,SAAC3a,GAAS,OAAAA,EAAA,QACjD,EAAM/K,OACRoB,KAAK69E,WAAW50E,EAAMhB,GAAO,SAAC3K,GAC5B,IAAM+oB,EAAO,EAAMu3B,QAAQtgD,GAC3B,OAAQ,EAAMsiD,SAASv5B,MAGzBrmB,KAAK69E,WAAW50E,EAAMhB,EAAO,MAE/BgB,EAAKK,QAAO,SAET,GAAImiC,GAASL,GAAiB,CACnC,IAAM3d,EAAQqH,EAAUipD,WACjB,EAAYtwD,EAAT,GAAE,EAAOA,EAAJ,GACfztB,KAAK69E,WAAW50E,EAAMhB,GAAO,SAAC3K,GAC5B,OAAOA,GAAS,GAAOA,GAAS,KAElC2L,EAAKK,QAAO,MAIpB,EA/CA,CAAyB,GCDzB,SAAS00E,GAAU90D,EAAciD,EAAa8tC,EAAeC,GAC3D,IAAIz7C,EAAMtP,KAAKsP,IAAIw7C,EAAO9tC,GAAM+tC,EAAO/tC,IACnC3N,EAAMrP,KAAKqP,IAAIy7C,EAAO9tC,GAAM+tC,EAAO/tC,IACjC,EAAuBjD,EAAMuE,MAA5BqvB,EAAQ,KAAED,EAAQ,KASzB,GAPIp+B,EAAMq+B,IACRr+B,EAAMq+B,GAEJt+B,EAAMq+B,IACRr+B,EAAMq+B,GAGJp+B,IAAQo+B,GAAYr+B,IAAQq+B,EAC9B,OAAO,KAET,IAAMohC,EAAW/0D,EAAM0d,OAAOnoB,GACxBy/D,EAAWh1D,EAAM0d,OAAOpoB,GAC9B,GAAI0K,EAAM4yB,WAAY,CACpB,IAAMo4B,EAAWhrD,EAAMxI,OAAO/hB,QAAQs/E,GAChC9J,EAAWjrD,EAAMxI,OAAO/hB,QAAQu/E,GAChC,EAAMh1D,EAAMxI,OAAOE,MAAMszD,EAAUC,EAAW,GACpD,OAAO,SAAC72E,GACN,OAAO,EAAIsiD,SAAStiD,IAGtB,OAAO,SAACA,GACN,OAAOA,GAAS2gF,GAAY3gF,GAAS4gF,GAS3C,IA6Ge,GA7Gf,uE,OAMY,EAAAC,KAAiB,CAAC,IAAK,KAEvB,EAAAnY,WAAoB,KAEtB,EAAAwT,WAAqB,E,EAiG/B,OA3G0B,yBAahB,YAAA4E,OAAR,SAAejyD,GACb,OAAOnsB,KAAKm+E,KAAKv+B,SAASzzB,IAMrB,YAAA/L,MAAP,WACE,IAAMyjB,EAAU7jC,KAAK6jC,QACrB7jC,KAAKw5E,WAAY,EACjBx5E,KAAKgmE,WAAaniC,EAAQsK,mBAMrB,YAAAlS,OAAP,WACE,IAAI+pC,EACAqW,EACJ,GAAI3wC,GAAO1rC,KAAK6jC,SAAU,CACxB,IACMte,EADYvlB,KAAK6jC,QAAQ3gB,MAAMtiB,OACdqqC,gBACvB+6B,EAAa,CAAEh8D,EAAGub,EAAKvb,EAAGvH,EAAG8iB,EAAK9iB,GAClC45E,EAAe,CAAEryE,EAAGub,EAAKpV,KAAM1N,EAAG8iB,EAAKlV,UAClC,CACL,IAAKrQ,KAAKw5E,UAER,OAEFxT,EAAahmE,KAAKgmE,WAClBqW,EAAer8E,KAAK6jC,QAAQsK,kBAE9B,KAAIh/B,KAAKsmB,IAAIuwC,EAAWh8D,EAAIqyE,EAAaryE,GAAK,GAAKmF,KAAKsmB,IAAIuwC,EAAWh8D,EAAIqyE,EAAa55E,GAAK,GAA7F,CAIA,IAAMwG,EAAOjJ,KAAK6jC,QAAQ56B,KACpBggB,EAAQhgB,EAAKyoB,gBACb2sD,EAAgBp1D,EAAM2d,OAAOy1C,GAC7BK,EAAczzD,EAAM2d,OAAOo/B,GAEjC,GAAIhmE,KAAKo+E,OAAO,KAAM,CACpB,IAAM9pD,EAASrrB,EAAKf,YACd+zB,EAAS+hD,GAAU1pD,EAAQ,IAAK+pD,EAAe3B,GACrD18E,KAAK69E,WAAW50E,EAAMqrB,EAAOrsB,MAAOg0B,GAGtC,GAAIj8B,KAAKo+E,OAAO,KAAM,CACpB,IAAM7pD,EAAStrB,EAAKw8C,aAAa,GAC3BxpB,EAAS+hD,GAAUzpD,EAAQ,IAAK8pD,EAAe3B,GACrD18E,KAAK69E,WAAW50E,EAAMsrB,EAAOtsB,MAAOg0B,GAEtCj8B,KAAKs+E,SAASr1E,KAMT,YAAAoX,IAAP,WACErgB,KAAKw5E,WAAY,GAMZ,YAAAb,MAAP,WACE,IAAM1vE,EAAOjJ,KAAK6jC,QAAQ56B,KAE1B,GADAjJ,KAAKw5E,WAAY,EACbx5E,KAAKo+E,OAAO,KAAM,CACpB,IAAM9pD,EAASrrB,EAAKf,YACpBlI,KAAK69E,WAAW50E,EAAMqrB,EAAOrsB,MAAO,MAEtC,GAAIjI,KAAKo+E,OAAO,KAAM,CAEpB,IAAM7pD,EAAStrB,EAAKw8C,aAAa,GACjCzlD,KAAK69E,WAAW50E,EAAMsrB,EAAOtsB,MAAO,MAEtCjI,KAAKs+E,SAASr1E,IAMN,YAAA40E,WAAV,SAAqB50E,EAAYhB,EAAeg0B,GAC9ChzB,EAAKgzB,OAAOh0B,EAAOg0B,IAOX,YAAAqiD,SAAV,SAAmBr1E,GACjBA,EAAKK,QAAO,IAEhB,EA3GA,CAA0B,GCNX,GA1Bf,yB,+CAwBA,OAxB4B,yBAOhB,YAAAu0E,WAAV,SAAqB50E,EAAYhB,EAAeg0B,GAC9C,IAAMsR,EAAWD,GAAYrkC,GAC7B,eAAKskC,GAAU,SAAClB,GACdA,EAAQpQ,OAAOh0B,EAAOg0B,OAQhB,YAAAqiD,SAAV,SAAmBr1E,GACjB,IAAMskC,EAAWD,GAAYrkC,GAC7B,eAAKskC,GAAU,SAAClB,GACdA,EAAQ/iC,QAAO,OAGrB,EAxBA,CAA4B,IC4Eb,GAvEf,yB,+CAqEA,OArE4B,yBAInB,YAAA2yB,OAAP,WACE,IAAMmP,EAAiBD,GAAoBnrC,KAAK6jC,SAC1C56B,EAAOjJ,KAAK6jC,QAAQ56B,KACpB8oB,EAAWga,GAAY9iC,GAC7B,GAAIyiC,GAAO1rC,KAAK6jC,SAAU,CACxB,IAAM,EAAe8H,GAAkB3rC,KAAK6jC,QAAS,IACjD,GACF,eAAK9R,GAAU,SAAC5mB,GACV,EAAay0C,SAASz0C,GACxBA,EAAGomB,OAEHpmB,EAAGqmB,eAIJ,GAAI4Z,EAAgB,CACjB,IAAAtW,EAAcsW,EAAL,UACX,EAAQtW,EAAU53B,IAAI,SAE5B,GAAIsuC,GAAOJ,IACT,GAAI,EAAO,CACT,IAAM0yC,EAAiBhpD,EAAU2mD,gBAAgB,aAC3C,EAAQzzE,GAAgBiB,EAAM,GAC9B,EAAQ60E,EAAex5D,KAAI,SAAC3a,GAAS,OAAAA,EAAA,QAE3C,eAAKooB,GAAU,SAAC5mB,GACd,IAAM7N,EAAQsvC,GAAgBzhC,EAAI,GAC5Bkb,EAAO,EAAMu3B,QAAQtgD,GACvB,EAAMqB,QAAQ0nB,IAAS,EACzBlb,EAAGqmB,OAEHrmB,EAAGomB,gBAIJ,GAAIka,GAASL,GAAiB,CACnC,IAAM3d,EAAQqH,EAAUipD,WACjB,EAAYtwD,EAAT,GAAE,EAAOA,EAAJ,GACf,eAAKsE,GAAU,SAAC5mB,GACd,IAAM7N,EAAQsvC,GAAgBzhC,EAAI,GAC9B7N,GAAS,GAAOA,GAAS,EAC3B6N,EAAGomB,OAEHpmB,EAAGqmB,aASN,YAAA3I,MAAP,WACE,IAAMkJ,EAAWga,GAAY/rC,KAAK6jC,QAAQ56B,MAC1C,eAAK8oB,GAAU,SAAC5mB,GACdA,EAAGomB,WAOA,YAAAonD,MAAP,WACE34E,KAAK6oB,SAET,EArEA,CAA4B,GCoEb,GA5Ef,uE,OACY,EAAA01D,UAAW,E,EAyEvB,OA1E4B,yBAKnB,YAAAtiD,OAAP,WAEMyP,GAAO1rC,KAAK6jC,WACV7jC,KAAKu+E,SACPv+E,KAAKw+E,iBAELx+E,KAAKy+E,iBAKH,YAAAD,eAAR,WACE,IAAMv1E,EAAOjJ,KAAK6jC,QAAQ56B,KACpBy1E,EAAe/yC,GAAkB3rC,KAAK6jC,QAAS,IACrD,GAAK66C,EAAL,CAGA,IAAM9wC,EAAS3kC,EAAKf,YAAYD,MAC1B6iB,EAAS7hB,EAAKw8C,aAAa,GAAGx9C,MAC9B0lC,EAAU+wC,EAAap6D,KAAI,SAACnZ,GAChC,OAAOA,EAAGooB,WAAWv0B,QAEjBuuC,EAAWD,GAAYrkC,GAC7B,eAAKskC,GAAU,SAAClB,GACd,IAAMta,EAAWga,GAAYM,GAC7B,eAAKta,GAAU,SAAC5mB,GACd,IAAM0hC,EAAS1hC,EAAGooB,WAAWv0B,KAEzB0uC,GAAYC,EAASd,EAAQe,EAAQ9iB,GACvC3f,EAAGomB,OAEHpmB,EAAGqmB,eAOH,YAAAitD,aAAR,sBAEQlxC,EAAWD,GADJttC,KAAK6jC,QAAQ56B,MAE1B,eAAKskC,GAAU,SAAClB,GACd,IAAMqyC,EAAetyC,GAAuB,EAAKvI,QAASwI,EAAS,IAC7Dta,EAAWga,GAAYM,GACzBqyC,GAEF,eAAK3sD,GAAU,SAAC5mB,GACVuzE,EAAa9+B,SAASz0C,GACxBA,EAAGomB,OAEHpmB,EAAGqmB,cAUN,YAAAmnD,MAAP,WACE,IAAMprC,EAAWD,GAAYttC,KAAK6jC,QAAQ56B,MAC1C,eAAKskC,GAAU,SAAClB,GACd,IAAMta,EAAWga,GAAYM,GAC7B,eAAKta,GAAU,SAAC5mB,GACdA,EAAGomB,cAIX,EA1EA,CAA4B,GCoHb,GA/Gf,uE,OACU,EAAAotD,YAAsB,KACtB,EAAAC,UAAY,CAClBhiF,KAAM,SACNypB,KAAM,SACNw4D,UAAW,CACT70E,EAAG,EACHvH,EAAG,EACHqtB,SAAU,GACVD,KAAM,UACNktD,OAAQ,WAEVz2D,QAAS,CAAC,EAAG,IACb1d,MAAO,CACLinB,KAAM,UACNS,OAAQ,UACRysD,OAAQ,WAEV+B,YAAa,CACXjvD,KAAM,Y,EA0FZ,OA7G2B,yBAuBjB,YAAAkvD,aAAR,WACE,OAAO,kBAAQ/+E,KAAK4+E,UAAW5+E,KAAKyI,MAG9B,YAAAu2E,WAAR,WACE,IAAMr3E,EAAS3H,KAAK++E,eACdzuE,EAAQtQ,KAAK6jC,QAAQ56B,KAAK2gB,gBAAgBF,SAAS,CACvD9sB,KAAM+K,EAAO/K,OAWTqiF,EARY3uE,EAAM4iB,SAAS,CAC/BtpB,KAAM,OACNhN,KAAM,cACNy1B,MAAO,OAAF,WAAE,CAAF,CACHhM,KAAM1e,EAAO0e,MACV1e,EAAOk3E,aAGahxD,UACrBvH,EAAUy5B,GAAap4C,EAAO2e,SAE9B44D,EAAc5uE,EAAM4iB,SAAS,CACjCtpB,KAAM,OACNhN,KAAM,cACNy1B,MAAO,OAAF,WAAE,CAAF,CACHroB,EAAGi1E,EAASj1E,EAAIsc,EAAQ,GACxB7jB,EAAGw8E,EAASx8E,EAAI6jB,EAAQ,GACxBjgB,MAAO44E,EAAS54E,MAAQigB,EAAQ,GAAKA,EAAQ,GAC7ChgB,OAAQ24E,EAAS34E,OAASggB,EAAQ,GAAKA,EAAQ,IAC5C3e,EAAOiB,SAGds2E,EAAYlyB,SAEZ18C,EAAM7F,GAAG,cAAc,WACrBy0E,EAAYrsD,KAAKlrB,EAAOm3E,gBAE1BxuE,EAAM7F,GAAG,cAAc,WACrBy0E,EAAYrsD,KAAKlrB,EAAOiB,UAE1B5I,KAAK2+E,YAAcruE,GAIb,YAAA6uE,cAAR,WACE,IAEMxuD,EAFO3wB,KAAK6jC,QAAQ56B,KACPyoB,gBACC6O,QAAQ,CAAEv2B,EAAG,EAAGvH,EAAG,IACjCk8E,EAAc3+E,KAAK2+E,YACnBp5D,EAAOo5D,EAAY9wD,UACnB0I,EAAS,MAAI+gC,UAAU,KAAM,CACjC,CAAC,IAAK3mC,EAAM3mB,EAAIub,EAAKlf,MAjFL,GAiF4BsqB,EAAMluB,EAAI8iB,EAAKjf,OAhF7C,KAkFhBq4E,EAAYnnB,UAAUjhC,IAMjB,YAAAhF,KAAP,WACOvxB,KAAK2+E,aACR3+E,KAAKg/E,aAEPh/E,KAAKm/E,gBACLn/E,KAAK2+E,YAAYptD,QAMZ,YAAAC,KAAP,WACMxxB,KAAK2+E,aACP3+E,KAAK2+E,YAAYntD,QAOd,YAAApqB,QAAP,WACE,IAAMu3E,EAAc3+E,KAAK2+E,YACrBA,GACFA,EAAY7zE,SAEd,YAAM1D,QAAO,YAEjB,EA7GA,CAA2B,GC2DZ,GA9Df,uE,OAEY,EAAAs0E,UAAW,EAEX,EAAA0D,WAAY,E,EAwDxB,OA5DmB,yBAWV,YAAAh/D,MAAP,WACEpgB,KAAK07E,UAAW,EAChB17E,KAAKgmE,WAAahmE,KAAK6jC,QAAQsK,mBAM1B,YAAAkxC,KAAP,WACE,GAAKr/E,KAAKgmE,WAAV,CAGA,IAAMjM,EAAU/5D,KAAK6jC,QAAQsK,kBACvBllC,EAAOjJ,KAAK6jC,QAAQ56B,KACpBia,EAAQljB,KAAK6jC,QAAQ3gB,MACtBljB,KAAKo/E,UAURn2E,EAAK6e,KAAK,OAAQ,CAChBlnB,OAAQsiB,EAAMtiB,OACdoJ,EAAGkZ,EAAMlZ,EACTvH,EAAGygB,EAAMzgB,IAZP,GAASs3D,EAAS/5D,KAAKgmE,YAjChB,IAkCT/8D,EAAK6e,KAAK,YAAa,CACrBlnB,OAAQsiB,EAAMtiB,OACdoJ,EAAGkZ,EAAMlZ,EACTvH,EAAGygB,EAAMzgB,IAEXzC,KAAKo/E,WAAY,KAchB,YAAA/+D,IAAP,WACE,GAAIrgB,KAAKo/E,UAAW,CAClB,IAAMn2E,EAAOjJ,KAAK6jC,QAAQ56B,KACpB,EAAQjJ,KAAK6jC,QAAQ3gB,MAC3Bja,EAAK6e,KAAK,UAAW,CACnBlnB,OAAQ,EAAMA,OACdoJ,EAAG,EAAMA,EACTvH,EAAG,EAAMA,IAGbzC,KAAK07E,UAAW,EAChB17E,KAAKo/E,WAAY,GAErB,EA5DA,CAAmB,GCoEJ,GApEf,uE,OACU,EAAA1D,UAAW,EACX,EAAA4D,UAAW,EAEX,EAAAtZ,WAAa,KACb,EAAAuZ,YAAc,K,EA6DxB,OAlEmB,yBASV,YAAAn/D,MAAP,WACEpgB,KAAK07E,UAAW,EAChB17E,KAAKgmE,WAAahmE,KAAK6jC,QAAQsK,kBAE/BnuC,KAAKu/E,YAAcv/E,KAAK6jC,QAAQ56B,KAAK0gB,YAAY4tC,aAM5C,YAAA6kB,KAAP,WACE,GAAKp8E,KAAK07E,SAAV,CAGA,IAAM1V,EAAahmE,KAAKgmE,WAClBqW,EAAer8E,KAAK6jC,QAAQsK,kBAKlC,GAJU,GAAS63B,EAAYqW,GA/Bd,IAgCQr8E,KAAKs/E,WAC5Bt/E,KAAKs/E,UAAW,GAEdt/E,KAAKs/E,SAAU,CACjB,IAAMr2E,EAAOjJ,KAAK6jC,QAAQ56B,KACpBstB,EAAS,MAAI+gC,UAAUt3D,KAAKu/E,YAAa,CAC7C,CAAC,IAAKlD,EAAaryE,EAAIg8D,EAAWh8D,EAAGqyE,EAAa55E,EAAIujE,EAAWvjE,KAEnEwG,EAAKwgB,gBAAgB+tC,UAAUjhC,GAC/BttB,EAAK2gB,gBAAgB4tC,UAAUjhC,GAC/BttB,EAAK0gB,YAAY6tC,UAAUjhC,MAOxB,YAAAlW,IAAP,WACMrgB,KAAKs/E,WACPt/E,KAAKs/E,UAAW,GAElBt/E,KAAKu/E,YAAc,KACnBv/E,KAAK07E,UAAW,EAChB17E,KAAKgmE,WAAa,MAMb,YAAA2S,MAAP,WACE34E,KAAK07E,UAAW,EAChB17E,KAAKgmE,WAAa,KAClBhmE,KAAKs/E,UAAW,EAEhB,IAAMr2E,EAAOjJ,KAAK6jC,QAAQ56B,KAC1BA,EAAKwgB,gBAAgB41B,cACrBp2C,EAAK2gB,gBAAgBy1B,cACrBp2C,EAAK0gB,YAAY01B,cACjBr/C,KAAKs/E,UAAW,GAEpB,EAlEA,CAAmB,GCsCJ,GAvCf,uE,OACY,EAAAnB,KAAO,CARL,IACA,KAQF,EAAAqB,UAAY,CAAC,QACb,EAAAC,eAAiB,G,EAkC7B,OArC6B,yBAMjB,YAAArB,OAAV,SAAiBjyD,GACf,OAAOnsB,KAAKm+E,KAAKv+B,SAASzzB,IAGlB,YAAAowB,SAAV,SAAmBpwB,GACjB,IAAMljB,EAAOjJ,KAAK6jC,QAAQ56B,KAC1B,MAAY,MAARkjB,EACKljB,EAAKf,YAELe,EAAKw8C,aAAa,IAIrB,YAAAi6B,SAAR,SAAiBvzD,GACf,IAAMljB,EAAOjJ,KAAK6jC,QAAQ56B,KAC1B,GAAIjJ,KAAKo+E,OAAOjyD,IAAQnsB,KAAKy/E,eAAetzD,GAAM,CAChD,IAAMjD,EAAQlpB,KAAKu8C,SAASpwB,GAC5BljB,EAAKigB,MAAMA,EAAMjhB,MAAOjI,KAAKy/E,eAAetzD,IAC5CnsB,KAAKy/E,eAAetzD,GAAO,OAOxB,YAAAwsD,MAAP,WACE34E,KAAK0/E,SAvCK,KAwCV1/E,KAAK0/E,SAvCK,KAwCG1/E,KAAK6jC,QAAQ56B,KACrBK,QAAO,IAEhB,EArCA,CAA6B,GCqGd,GAtGf,uE,OACY,EAAA08D,WAAoB,KACpB,EAAA0V,UAAW,EACb,EAAAiE,WAAa,G,EAiGvB,OApG6B,yBAOpB,YAAAv/D,MAAP,sBACEpgB,KAAKgmE,WAAahmE,KAAK6jC,QAAQsK,kBAC/BnuC,KAAK07E,UAAW,EAChB,IAAMyC,EAAOn+E,KAAKm+E,KAClB,eAAKA,GAAM,SAAChyD,GACV,IAAMjD,EAAQ,EAAKqzB,SAASpwB,GACpB1N,EAAqByK,EAAlB,IAAE1K,EAAgB0K,EAAb,IAAExI,EAAWwI,EAAL,OACxB,EAAKy2D,WAAWxzD,GAAO,CAAE1N,IAAG,EAAED,IAAG,EAAEkC,OAAM,OAWtC,YAAAL,IAAP,WACErgB,KAAKgmE,WAAa,KAClBhmE,KAAK07E,UAAW,EAChB17E,KAAK2/E,WAAa,IAMb,YAAAnkC,UAAP,sBACE,GAAKx7C,KAAK07E,SAAV,CAGA,IAAM1V,EAAahmE,KAAKgmE,WAClB/8C,EAAQjpB,KAAK6jC,QAAQ56B,KAAKyoB,gBAC1B2qD,EAAer8E,KAAK6jC,QAAQsK,kBAC5BuuC,EAAczzD,EAAM2d,OAAOo/B,GAC3B4Z,EAAgB32D,EAAM2d,OAAOy1C,GAC7BlvC,EAAKyyC,EAAc51E,EAAI0yE,EAAY1yE,EACnCojC,EAAKwyC,EAAcn9E,EAAIi6E,EAAYj6E,EACnCwG,EAAOjJ,KAAK6jC,QAAQ56B,KACpBk1E,EAAOn+E,KAAKm+E,KAClB,eAAKA,GAAM,SAAChyD,GACV,EAAK0zD,aAAa1zD,EAAK,CAAEniB,GAAS,EAANmjC,EAAS1qC,GAAS,EAAN2qC,OAE1CnkC,EAAKK,QAAO,KAIN,YAAAu2E,aAAR,SAAqB1zD,EAAKqhB,GACxB,GAAIxtC,KAAKo+E,OAAOjyD,GAAM,CACpB,IAAMjD,EAAQlpB,KAAKu8C,SAASpwB,GACxBjD,EAAMszB,UACRx8C,KAAK8/E,gBAAgB3zD,EAAKjD,EAAOskB,KAQ/B,YAAAsyC,gBAAR,SAAwB3zD,EAAKjD,EAAOskB,GAClC,IAAMvkC,EAAOjJ,KAAK6jC,QAAQ56B,KACpB,EAAejJ,KAAK2/E,WAAWxzD,GAA7B1N,EAAG,MAAED,EAAG,MACViP,EAAQjP,EAAMC,EACd9hB,EAAI6wC,EAAYrhB,GAAOsB,EAExBztB,KAAKy/E,eAAetzD,KACvBnsB,KAAKy/E,eAAetzD,GAAO,CAEzBsR,KAAMvU,EAAMuU,KACZhf,IAAG,EACHD,IAAG,IAGPvV,EAAKigB,MAAMA,EAAMjhB,MAAO,CAEtBw1B,MAAM,EACNhf,IAAKA,EAAM9hB,EACX6hB,IAAKA,EAAM7hB,KAWR,YAAAg8E,MAAP,WACE,YAAMA,MAAK,WACX34E,KAAKgmE,WAAa,KAClBhmE,KAAK07E,UAAW,GAEpB,EApGA,CAA6B,ICuEd,GAxEf,uE,OACU,EAAAqE,UAAY,I,EAqEtB,OAtE6B,yBAKpB,YAAAC,OAAP,WACEhgF,KAAKigF,KAAKjgF,KAAK+/E,YAGT,YAAAE,KAAR,SAAa/2D,GAAb,WACQi1D,EAAOn+E,KAAKm+E,KAClB,eAAKA,GAAM,SAAChyD,GACV,EAAK+zD,QAAQ/zD,EAAKjD,MAEpBlpB,KAAK6jC,QAAQ56B,KAAKK,QAAO,IAMpB,YAAA62E,QAAP,WACEngF,KAAKigF,MAAM,EAAIjgF,KAAK+/E,YAId,YAAAG,QAAR,SAAgB/zD,EAAKi0D,GACnB,GAAIpgF,KAAKo+E,OAAOjyD,GAAM,CACpB,IAAMjD,EAAQlpB,KAAKu8C,SAASpwB,GACxBjD,EAAMszB,UACRx8C,KAAKqgF,WAAWl0D,EAAKjD,EAAOk3D,KAQ1B,YAAAC,WAAR,SAAmBl0D,EAAKjD,EAAOk3D,GAC7B,IAAMn3E,EAAOjJ,KAAK6jC,QAAQ56B,KAErBjJ,KAAKy/E,eAAetzD,KACvBnsB,KAAKy/E,eAAetzD,GAAO,CAEzBsR,KAAMvU,EAAMuU,KACZhf,IAAKyK,EAAMzK,IACXD,IAAK0K,EAAM1K,MAIf,IAAMghB,EAAWx/B,KAAKy/E,eAAetzD,GAC/BsB,EAAQ+R,EAAShhB,IAAMghB,EAAS/gB,IAC9BA,EAAayK,EAAV,IAAE1K,EAAQ0K,EAAL,IACVvsB,EAAIyjF,EAAS3yD,EACb6yD,EAAQ7hE,EAAM9hB,EACd4jF,EAAQ/hE,EAAM7hB,EAEd8vE,GADW8T,EAAQD,GACC7yD,EACtB8yD,EAAQD,GAAS7T,EAAS,KAAOA,EAAS,KAC5CxjE,EAAKigB,MAAMA,EAAMjhB,MAAO,CAEtBw1B,MAAM,EACNhf,IAAKA,EAAM9hB,EACX6hB,IAAKA,EAAM7hB,KAQnB,EAtEA,CAA6B,IpQqQ7B,SAAS,GAAc,GACrB,OAAO,EAAQ,WAwSjB,SAAS,GAAY,GAEnB,OADA,EAAM,OAAO,iBACN,EAAM,OAAO,cAAc,OAAS,EA/iB7C,GAAc,OAAQ,GAAwB,KAO9C,EAAe,SAAU,IACzB,EAAe,MAAO,IActB,GAAiB,UAAW,IAC5B,GAAiB,WAAY,IAC7B,GAAiB,SAAU,IAC3B,GAAiB,OAAQ,IACzB,GAAiB,QAAS,IAC1B,GAAiB,OAAQ,IACzB,GAAiB,OAAQ,IACzB,GAAiB,OAAQ,IACzB,GAAiB,UAAW,IAmC5B,GAAsB,OAAQ,IAC9B,GAAsB,WAAY,IAClC,GAAsB,MAAO,IAC7B,GAAsB,QAAS,IAU/B,GAA4B,WoMgJtB,SAAkB62B,EAAoB7N,EAAkBqF,EAA6BzB,GACzF,IAAMi3D,EAAS,IAAIC,GACnB,eAAK96D,GAAQ,SAAC/iB,GAIZ,IAHA,IAAMgqD,EAAahqD,EAAMsrC,MAAK,SAAC39B,GAAU,eAAAA,EAAMrT,IAAI,WAC7C,EAAW0vD,EAAW/5B,OAApB7oB,EAAC,IAAEvH,EAAC,IACRi+E,GAAU,EACLrkF,EAAI,EAAGA,GAAK,EAAGA,IAAK,CAC3B,IAAMkpB,EAAOghD,GAAoB3Z,EAAY5iD,EAAGvH,EAAGpG,GACnD,GAAImkF,EAAOna,OAAO9gD,GAAO,CACvBi7D,EAAOla,QAAQ/gD,GACfm7D,GAAU,EACV,OAGCA,GACH99E,EAAMkI,QAAO,MAIjB01E,EAAOp5E,apMlKT,GAA4B,cqQ+BtB,SAAqBosB,EAAoB7N,EAAkBqF,EAA6BzB,GAC5F,IAAM3C,EAAS4M,EAAM,GAAKA,EAAM,GAAG5M,OAAS,EACtC2B,EAAa5C,EAAO,GAAGzoB,IAAI,cAC3B8jC,EAASzY,EAAWge,YACpB7W,EAASnH,EAAWke,YAE1B,GAAI7f,EAAS,EAAG,CAEd,IAEM,EAAuB,GADdoa,EAASpa,GACS,GAC3B,EAAY,CAChBxG,MAAOmI,EAAWnI,MAClBC,IAAKkI,EAAWlI,KAIZ,EAAS,CACb,GACA,IAEFmT,EAAMxF,SAAQ,SAACuqC,GACRA,IAGuB,UAAxBA,EAAUxoC,UAEZ,EAAO,GAAGzsB,KAAKi1D,GAGf,EAAO,GAAGj1D,KAAKi1D,OAInB,EAAOvqC,SAAQ,SAAC0N,EAAMh9B,GAEpB,IAAMiiF,EAA2B,EA5BhB,GA6BbjlD,EAAK98B,OAAS+hF,IAChBjlD,EAAKtB,MAAK,SAACj2B,EAAGzE,GAEZ,OAAOA,EAAE,aAAeyE,EAAE,gBAE5Bu3B,EAAK9T,OAAO+4D,EAA0BjlD,EAAK98B,OAAS+hF,IAItDjlD,EAAKtB,MAAK,SAACj2B,EAAGzE,GAEZ,OAAOyE,EAAE1B,EAAI/C,EAAE+C,KA3JvB,SAAuBm+E,EAAaj7D,EAAQk7D,EAAYC,EAAWpxD,EAAQqxD,GAEzE,IAKI1kF,EALA2kF,GAAc,EACZ5gE,EAAQ0gE,EAAU1gE,MAClBC,EAAMygE,EAAUzgE,IAChB4gE,EAAS9xE,KAAKsP,IAAI2B,EAAM3d,EAAG4d,EAAI5d,GACjCy+E,EAAc/xE,KAAKsmB,IAAIrV,EAAM3d,EAAI4d,EAAI5d,GAGrC4N,EAAO,EACPD,EAAO4jB,OAAOmtD,UACZC,EAAQz7D,EAAOrB,KAAI,SAAC1hB,GAOxB,OANIA,EAAMH,EAAI4N,IACZA,EAAOzN,EAAMH,GAEXG,EAAMH,EAAI2N,IACZA,EAAOxN,EAAMH,GAER,CACLooC,KAAMg2C,EACNQ,QAAS,CAACz+E,EAAMH,EAAIw+E,OAQxB,IALA7wE,GAAQ6wE,EACJ5wE,EAAO4wE,EAASC,IAClBA,EAAc7wE,EAAO4wE,GAGhBD,GAWL,IATAI,EAAMpzD,SAAQ,SAAC6C,GACb,IAAMjwB,GAAUuO,KAAKsP,IAAIpe,MAAM+P,EAAMygB,EAAIwwD,SAAWlyE,KAAKqP,IAAIne,MAAM+P,EAAMygB,EAAIwwD,UAAY,EACzFxwD,EAAIywD,IAAMnyE,KAAKsP,IAAItP,KAAKqP,IAAIpO,EAAMxP,EAASiwB,EAAIga,KAAO,GAAIq2C,EAAcrwD,EAAIga,SAK9Em2C,GAAc,EACd3kF,EAAI+kF,EAAMxiF,OACHvC,KACL,GAAIA,EAAI,EAAG,CACT,IAAMklF,EAAcH,EAAM/kF,EAAI,GACxBw0B,EAAMuwD,EAAM/kF,GACdklF,EAAYD,IAAMC,EAAY12C,KAAOha,EAAIywD,MAE3CC,EAAY12C,MAAQha,EAAIga,KACxB02C,EAAYF,QAAUE,EAAYF,QAAQr9E,OAAO6sB,EAAIwwD,SAGjDE,EAAYD,IAAMC,EAAY12C,KAAOq2C,IACvCK,EAAYD,IAAMJ,EAAcK,EAAY12C,MAE9Cu2C,EAAMx5D,OAAOvrB,EAAG,GAChB2kF,GAAc,GAMtB3kF,EAAI,EAEJ+kF,EAAMpzD,SAAQ,SAACtuB,GACb,IAAI8hF,EAAoBP,EAASJ,EAAa,EAC9CnhF,EAAE2hF,QAAQrzD,SAAQ,WAChBrI,EAAOtpB,GAAGoG,EAAI/C,EAAE4hF,IAAME,EACtBA,GAAqBX,EACrBxkF,UAKJ,IADA,IAAM26D,EAAY,GACO,MAAA4pB,EAAA,eAAa,CAAjC,IAAMh0B,EAAU,KACnBoK,EAAUpK,EAAW1vD,IAAI,OAAS0vD,EAIpCjnC,EAAOqI,SAAQ,SAACprB,GACd,IAAM6+E,EAAQ7+E,EAAMzF,EAAIyF,EAAMzF,EACxBukF,EAASvyE,KAAKyQ,IAAIzQ,KAAKsmB,IAAI7yB,EAAMH,EAAIitB,EAAOjtB,GAAI,GACtD,GAAIg/E,EAAQC,EACV9+E,EAAMoH,EAAI0lB,EAAO1lB,MACZ,CACL,IAAMmjC,EAAKh+B,KAAKI,KAAKkyE,EAAQC,GAM3B9+E,EAAMoH,EALH+2E,EAKOrxD,EAAO1lB,EAAImjC,EAHXzd,EAAO1lB,EAAImjC,EAQzB,IAAMyf,EAAaoK,EAAUp0D,EAAM4tB,IACnCo8B,EAAW/5B,KAAK,IAAKjwB,EAAMoH,GAC3B4iD,EAAW/5B,KAAK,IAAKjwB,EAAMH,GAG3B,IAAMk/E,EAAY,eAAK/0B,EAAWyK,eAAe,SAAC9M,GAAQ,eAAAA,EAAIrtD,IAAI,WAE9DykF,IACFA,EAAU9uD,KAAK,IAAKjwB,EAAMH,GAC1Bk/E,EAAU9uD,KAAK,IAAKjwB,EAAMoH,OAwD1B43E,CAAcj8D,EAAQ+V,EA3CL,GA2CuB,EAAWhM,EAAQhxB,MAK/D,eAAK80B,GAAO,SAAC7pB,GACX,GAAIA,GAAQA,EAAK6uD,UAAW,CAC1B,IAAMnwB,EAAW1+B,EAAKid,OAChBuQ,EAAQxtB,EAAKwtB,MAEb6uC,EAAavhC,GAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAAQ7J,GAC1D0qD,EAAap9C,GAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAASqH,EAAW,EAAGlR,GACzE2qD,EAAQn4E,EAAKK,EAAI,cAAIL,EAAM,UAAW,GACtCo4E,EAAQp4E,EAAKlH,EAAI,cAAIkH,EAAM,UAAW,GACtCs8D,EAAW,CACfj8D,EAAG83E,EA/KI,EA+KI3yE,KAAKw1B,IAAIxN,GACpB10B,EAAGs/E,EAhLI,EAgLI5yE,KAAKioB,IAAID,IAEjB,mBAASxtB,EAAK6uD,aAEjB7uD,EAAK6uD,UAAY,IAEnB7uD,EAAK6uD,UAAUhpC,KAAO,CACpB,KAAKw2C,EAAWh8D,EACbg8D,EAAWvjE,EAAC,KAAKo/E,EAAW73E,EAC5B63E,EAAWp/E,EAAC,IAAIwjE,EAASj8D,EAC5Bi8D,EAASxjE,GACTuf,KAAK,YrQ5Gb,GAA4B,iBoM8HtB,SAAuBwR,EAAoB7N,EAAkBqF,EAA6BzB,GAC9F,IAAMi3D,EAAS,IAAIC,GACnB,eAAK96D,GAAQ,SAAC/iB,IA9GhB,SAAoBA,EAAe49E,EAAgBwB,QAAA,IAAAA,MAtGjC,KAuGhB,IAIIC,EAHE,EAAWr/E,EAAMiwB,OAAf7oB,EAAC,IAAEvH,EAAC,IACN8iB,EAAO3iB,EAAMqoC,gBACbi3C,EAAW/yE,KAAKI,KAAKgW,EAAKlf,MAAQkf,EAAKlf,MAAQkf,EAAKjf,OAASif,EAAKjf,QAEpE/I,EAAI,EACJ4vC,EAAK,EACLC,EAAK,EAMT,GAAIozC,EAAOna,OAAO9gD,GAEhB,OADAi7D,EAAOla,QAAQ/gD,IACR,EAKT,IAHA,IATW48D,EACHC,EAQJ1B,GAAU,EACV2B,EAAQ,EACNC,EAAgB,GACfnzE,KAAKsP,IAAItP,KAAKsmB,IAAI0X,GAAKh+B,KAAKsmB,IAAI2X,IAAO80C,GAAYG,EAAQL,GAIhE,GAhBSG,EAaC5kF,IArBD,EASH6kF,SAcNh1C,KAFA60C,EAXO,EADDG,EAAa,GAARD,GACEhzE,KAAKw1B,IAAIy9C,GAAKA,EAAKjzE,KAAKioB,IAAIgrD,KAa7B,KADZj1C,IAAO80C,EAAK,KAEC70C,KAAOk1C,EAAiBn1C,EAAE,IAAIC,KAG3CxqC,EAAMiwB,KAAK,CAAE7oB,EAAGA,EAAImjC,EAAI1qC,EAAGA,EAAI2qC,IAC3BD,EAAKC,EAAK,GACZxqC,EAAMiwB,KAAK,YAAa,SAE1BwvD,IACI7B,EAAOna,OAAOzjE,EAAMqoC,kBAAkB,CACxCu1C,EAAOla,QAAQ1jE,EAAMqoC,iBACrBy1C,GAAU,EACV4B,EAAiBn1C,EAAE,IAAIC,IAAQ,EAC/B,MAGJ,OAAOszC,GAwEA6B,CADc3/E,EAAMsrC,MAAK,SAAC39B,GAAU,eAAAA,EAAMrT,IAAI,WACvBsjF,IAC1B59E,EAAMkI,QAAO,MAGjB01E,EAAOp5E,apMrIT,GAA4B,kBsQjFtB,SAAuBosB,EAAoB7N,EAAkBqF,EAA6BzB,GAC9F,eAAK5D,GAAQ,SAAC/iB,EAAOlE,GACnB,IAAM4uD,EAAY1qD,EAAMqoC,gBAClBiB,EAAYlhB,EAAOtsB,GAAOmvB,WAE9By/B,EAAUp9C,KAAOg8B,EAAUh8B,MAC3Bo9C,EAAUl9C,KAAO87B,EAAU97B,MAC3Bk9C,EAAUn9C,KAAO+7B,EAAU/7B,MAC3Bm9C,EAAUj9C,KAAO67B,EAAU77B,OAE3BzN,EAAMkI,QAAO,StQwEnB,GAA4B,mBuQ/EtB,SAAwB0oB,EAAoB7N,EAAkBqF,EAA6BzB,GAC/F,eAAK5D,GAAQ,SAAC/iB,GACJ,IAAM4/E,EAAqEj5D,EAA3D,KAAQk5D,EAAmDl5D,EAAzC,KAAQm5D,EAAiCn5D,EAAvB,KAAQo5D,EAAep5D,EAAL,KACxE,EAAkD3mB,EAAMqoC,gBAAtD/6B,EAAI,OAAEE,EAAI,OAAED,EAAI,OAAEE,EAAI,OAAErG,EAAC,IAAEvH,EAAC,IAAE4D,EAAK,QAAEC,EAAM,SAE/Cs8E,EAAS54E,EACT64E,EAASpgF,GACTyN,EAAOsyE,GAAcryE,EAAOqyE,KAE9BI,EAASJ,IAEPpyE,EAAOqyE,GAAcpyE,EAAOoyE,KAE9BI,EAASJ,GAGPvyE,EAAOwyE,EAETE,EAASF,EAAar8E,EACb8J,EAAOuyE,IAEhBE,GAAmBzyE,EAAOuyE,GAGxBtyE,EAAOuyE,EAETE,EAASF,EAAar8E,EACb+J,EAAOsyE,IAEhBE,GAAmBxyE,EAAOsyE,GAGxBC,IAAW54E,GAAK64E,IAAWpgF,GAC7B+4C,GAAU54C,EAAOggF,EAAS54E,EAAG64E,EAASpgF,SvQ+C5C,GAA4B,awQiEtB,SAA8B+wB,EAAoB7N,EAAkBqF,EAA6BzB,GACrG,IAAM3C,EAAS4M,EAAM,GAAKA,EAAM,GAAG5M,OAAS,EACtC2B,EAAyB5C,EAAO,GAAGzoB,IAAI,cACvC8jC,EAASzY,EAAWge,YACpB7W,EAASnH,EAAWke,YAE1B,GAAI7f,EAAS,EAAG,CAEd,IAAM,EAAqB,cAAI4M,EAAM,GAAI,cAAe,IAClD,EAASwN,EAASpa,EAClB,EAAuB,EAAT,EAA0B,EAAb,EAC3B,EAAY,CAChBxG,MAAOmI,EAAWnI,MAClBC,IAAKkI,EAAWlI,KAIZ,EAAwB,CAC5B,GACA,IAEFmT,EAAMxF,SAAQ,SAACuqC,GACRA,IAGDA,EAAUvuD,EAAI0lB,EAAO1lB,EAEvB,EAAO,GAAG1G,KAAKi1D,GAGf,EAAO,GAAGj1D,KAAKi1D,OAInB,EAAOvqC,SAAQ,SAAC0N,EAAMh9B,GAEpB,IAAMiiF,EAA2B,EAAc,EAC3CjlD,EAAK98B,OAAS+hF,IAChBjlD,EAAKtB,MAAK,SAACj2B,EAAGzE,GAGZ,OAAOA,EAAE,gBAAkByE,EAAE,mBAGhBu3B,EAAK9T,OAAO+4D,EAA0BjlD,EAAK98B,OAAS+hF,EAA2B,GACvF3yD,SAAQ,SAAC1xB,GACd,IAAM6M,EAAMwc,EAAOjc,WAAU,SAACC,GAAS,OAAAA,EAAKzM,IAAI,QAAUZ,EAAnB,MACnCqpB,EAAOxc,KACTwc,EAAOxc,GAAK2B,QAAO,GAEnB6a,EAAOiC,OAAOze,EAAK,SApM/B,SACEy3E,EACAj7D,EACAm9D,EACAhC,EACApxD,EACAsR,EACA+/C,GAGAp7D,EAAOyU,MAAK,SAACj2B,EAAGzE,GAAM,OAAAyE,EAAE1B,EAAI/C,EAAN,KAGtB,IAIIrD,EAJE+jB,EAAQ0gE,EAAU1gE,MAClBC,EAAMygE,EAAUzgE,IAChB4gE,EAAS9xE,KAAKsP,IAAI2B,EAAM3d,EAAG4d,EAAI5d,GAC/BsgF,EAAO5zE,KAAKqP,IAAI4B,EAAM3d,EAAG4d,EAAI5d,GAG7B2+E,EAAQz7D,EAAOrB,KAAI,SAAC1hB,GACxB,MAAO,CACLq1D,QAASr1D,EAAMq1D,QACfptB,KAAMi4C,EACNxB,IAAK1+E,EAAMH,EACX4+E,QAAS,CAACz+E,EAAMH,OAIdugF,EAAS7zE,KAAKqP,IAAG,MAARrP,KAAYiyE,EAAM98D,KAAI,SAAC5kB,GAAM,OAAAA,EAAA,QACtCujF,EAAS9zE,KAAKsP,IAAG,MAARtP,KAAYiyE,EAAM98D,KAAI,SAAC5kB,GAAM,OAAAA,EAAA,QAI5C,GAAIqhF,GAIF,IAHA,IAAM3wE,EAAOjB,KAAKsP,IAAIwkE,EAAQF,GAAQ3B,EAAMxiF,OAAS,GAAKkkF,GACpDzyE,EAAOlB,KAAKqP,IAAIpO,EAAOgxE,EAAMxiF,OAASkkF,EAAaE,EAASF,GAC9D9B,GAAc,EACXA,GAIL,IAFAA,GAAc,EACd3kF,EAAI+kF,EAAMxiF,OACHvC,KACL,GAAIA,EAAI,EAAG,CACT,IAAMklF,EAAcH,EAAM/kF,EAAI,GACxBw0B,EAAMuwD,EAAM/kF,GAEdklF,EAAYD,IAAMC,EAAY12C,KAAOha,EAAIywD,MACvCzwD,EAAIywD,IAAMjlF,EAAIymF,EAAczyE,GAE9BkxE,EAAY12C,MAAQha,EAAIga,KACxB02C,EAAYF,QAAUE,EAAYF,QAAQr9E,OAAO6sB,EAAIwwD,SAErDD,EAAMx5D,OAAOvrB,EAAG,IAEhBklF,EAAYD,IAAMzwD,EAAIywD,IAAMC,EAAY12C,KAE1Cm2C,GAAc,SAStB,IAHM3wE,EAAOlB,KAAKqP,IAAIyiE,GAAUG,EAAMxiF,OAAS,GAAKkkF,EAAaE,GAC3D5yE,EAAOjB,KAAKsP,IAAIwkE,EAAQ5yE,GAAQ+wE,EAAMxiF,OAAS,GAAKkkF,GACtD9B,GAAc,EACXA,GAIL,IAFAA,GAAc,EACd3kF,EAAI+kF,EAAMxiF,OACHvC,KACL,GAAIA,EAAI,EAAG,CACHklF,EAAcH,EAAM/kF,EAAI,GACxBw0B,EAAMuwD,EAAM/kF,GAEdklF,EAAYD,IAAMC,EAAY12C,KAAOha,EAAIywD,MACvCC,EAAYD,IAAMlxE,EAAO/T,EAAIymF,EAC/BvB,EAAYD,KAAOC,EAAY12C,MAG/B02C,EAAY12C,MAAQha,EAAIga,KACxB02C,EAAYF,QAAUE,EAAYF,QAAQr9E,OAAO6sB,EAAIwwD,SAErDD,EAAMx5D,OAAOvrB,EAAG,IAElB2kF,GAAc,GAQxB3kF,EAAI,EACJ+kF,EAAMpzD,SAAQ,SAACtuB,GACb,IAAI8hF,EAAoB9hF,EAAE4hF,IAC1B5hF,EAAE2hF,QAAQrzD,SAAQ,WAChBrI,EAAOtpB,GAAGoG,EAAI++E,EACdA,GAAqBsB,EACrBzmF,UAKJ,IADA,IAAM26D,EAAY,GACO,MAAA4pB,EAAA,eAAa,CAAjC,IAAMh0B,EAAU,KACnBoK,EAAUpK,EAAW1vD,IAAI,OAAS0vD,EAIpC,IAAIs2B,GAAU/zE,KAAKqP,IAAG,MAARrP,KAAYwW,EAAOrB,KAAI,SAAChoB,GAAM,OAAAA,EAAA,MAAQ6S,KAAKsP,IAAG,MAARtP,KAAYwW,EAAOrB,KAAI,SAAChoB,GAAM,OAAAA,EAAA,OAAS,EAC3F4mF,EAAS/zE,KAAKqP,IAAI0kE,EAAQliD,GAC1Brb,EAAOqI,SAAQ,SAACprB,GACd,IAAMgqD,EAAaoK,EAAUp0D,EAAM4tB,IAG7BmxD,EAAY/0B,EAAW1e,MAAK,SAAC9qB,GAAU,eAAAA,EAAMlmB,IAAI,WAGvD,GAAIykF,GAAaA,EAAU9uD,KAAK,OAASjwB,EAAMH,EAAG,CAChD,IAAMg/E,EAAQyB,EAASA,EACjBxB,EAASvyE,KAAKyQ,IAAIzQ,KAAKsmB,IAAI7yB,EAAMH,EAAIitB,EAAOjtB,GAAI,GACtD,GAAIg/E,EAAQC,EACV9+E,EAAMoH,EAAI0lB,EAAO1lB,MACZ,CACL,IAAMmjC,EAAKh+B,KAAKI,KAAKkyE,EAAQC,GAM3B9+E,EAAMoH,EALH+2E,EAKOrxD,EAAO1lB,EAAImjC,EAHXzd,EAAO1lB,EAAImjC,GAS3Byf,EAAW/5B,KAAK,IAAKjwB,EAAMoH,GAC3B4iD,EAAW/5B,KAAK,IAAKjwB,EAAMH,GAGvBk/E,IACFA,EAAU9uD,KAAK,IAAKjwB,EAAMH,GAC1Bk/E,EAAU9uD,KAAK,IAAKjwB,EAAMoH,OA2D1B,CAAc2b,EAAQ+V,EAAM,EAAY,EAAWhM,EAAQ,EAAkB,IAAVhxB,MAKvE,eAAK80B,GAAO,SAAC7pB,GACX,GAAIA,GAAQA,EAAK6uD,UAAW,CAClB,IAAArhC,EAAUxtB,EAAL,MAEPq8D,EAAavhC,GAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAAQ7J,GAC1D2qD,EAAQn4E,EAAKK,EAAI,cAAIL,EAAM,UAAW,IAAMwF,KAAKw1B,IAAIxN,GAAS,EAAI,GAAK,GACvE4qD,EAAQp4E,EAAKlH,EAAI,cAAIkH,EAAM,UAAW,IAAMwF,KAAKioB,IAAID,GAAS,EAAI,GAAK,GAEvE8uC,EAAW,CACfj8D,EAAG83E,EAxNI,EAwNI3yE,KAAKw1B,IAAIxN,GACpB10B,EAAGs/E,EAzNI,EAyNI5yE,KAAKioB,IAAID,IAGhBgsD,EAAkBx5E,EAAK6uD,UAAU1wB,OACjCtY,EAAO,GACP2d,EAAK84B,EAASj8D,EAAI0lB,EAAO1lB,EACzBojC,EAAK64B,EAASxjE,EAAIitB,EAAOjtB,EAC3Bs+B,EAAW5xB,KAAKi0E,KAAKh2C,EAAKD,GAO9B,GALIA,EAAK,IACPpM,GAAY5xB,KAAKE,KAIK,IAApB8zE,EAA2B,CACxB,mBAASx5E,EAAK6uD,aAEjB7uD,EAAK6uD,UAAY,IAInB,IAAI6qB,EAAY,GAGXlsD,EAAQ,GAAKA,GAAShoB,KAAKE,GAAK,GAAM8nB,EAAkB,IAAVhoB,KAAKE,KAClD42D,EAASxjE,EAAIujE,EAAWvjE,IAC1B4gF,EAAY,GAKZlsD,GAAS,GAAKA,EAAQhoB,KAAKE,GAAK,GAC9B42D,EAASxjE,EAAIujE,EAAWvjE,IAC1B4gF,EAAY,GAKZlsD,GAAShoB,KAAKE,GAAK,GAAK8nB,EAAQhoB,KAAKE,IACnC22D,EAAWvjE,EAAIwjE,EAASxjE,IAC1B4gF,EAAY,IAKZlsD,GAAShoB,KAAKE,GAAK,GAAM8nB,GAAShoB,KAAKE,IAAM8nB,EAAkB,IAAVhoB,KAAKE,KACxD22D,EAAWvjE,EAAIwjE,EAASxjE,IAC1B4gF,EAAY,GAIhB,IAAMh7C,EAAWzhB,EAAS,EAAI,EAAI,EAAIzX,KAAKqP,IAAIoI,EAAS,EAAI,EAAG,GACzD08D,EAAa7+C,GAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAASqH,EAAUlR,GAErEosD,EAAc9+C,GAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAASpa,EAAS,EAAGma,GAY9EvR,EAAKlsB,KAAK,KAAK0iE,EAAWh8D,EAAC,IAAIg8D,EAAWvjE,GAE1C+sB,EAAKlsB,KAAK,KAAKggF,EAAWt5E,EAAC,IAAIs5E,EAAW7gF,GAE1C+sB,EAAKlsB,KAAK,KAAKosB,EAAO1lB,EAAC,IAAI0lB,EAAOjtB,EAAxB,QAA+C4gF,EAAS,IAAIE,EAAYv5E,EAAC,IAAIu5E,EAAY9gF,GAEnG+sB,EAAKlsB,KAAK,KAAK2iE,EAASj8D,EAAC,IAAIi8D,EAASxjE,OACjC,CACC6gF,EAAa7+C,GACjB/U,EAAO1lB,EACP0lB,EAAOjtB,EACPu+B,GAAUpa,EAAS,EAAI,EAAI,EAAIzX,KAAKqP,IAAIoI,EAAS,EAAI,EAAG,IACxDuQ,GAJF,IAQMqsD,EAAQxd,EAAWh8D,EAAI0lB,EAAO1lB,EAAI,GAAK,EAE7CwlB,EAAKlsB,KAAK,KAAK2iE,EAASj8D,EAAC,IAAIi8D,EAASxjE,GACtC,IAAMghF,GAAUzd,EAAWvjE,EAAIitB,EAAOjtB,IAAMujE,EAAWh8D,EAAI0lB,EAAO1lB,GAC5D05E,GAAUzd,EAASxjE,EAAIitB,EAAOjtB,IAAMwjE,EAASj8D,EAAI0lB,EAAO1lB,GAC1DmF,KAAKsmB,IAAIguD,EAASC,GAAUv0E,KAAKyQ,IAAIzQ,KAAK8lB,GAAI,KAEhDzF,EAAKlsB,KAAI,MAATksB,EACK,CACD,IACAy2C,EAASj8D,EAAY,EAARw5E,EACbvd,EAASxjE,EACT,EAAI6gF,EAAWt5E,EAAIg8D,EAAWh8D,EAC9B,EAAIs5E,EAAW7gF,EAAIujE,EAAWvjE,EAC9BujE,EAAWh8D,EACXg8D,EAAWvjE,IAKjB+sB,EAAKlsB,KAAK,KAAK0iE,EAAWh8D,EAAC,IAAIg8D,EAAWvjE,GAG5CkH,EAAK6uD,UAAUhpC,KAAOA,EAAKxN,KAAK,YxQlOtC,GAAkB,WyQ3FZ,SAAiBzR,EAAwBgiB,EAAyB9pB,GACtE,IAAMu+B,EAAW,CACf28C,YAAa,gBAAMpzE,EAAMsiB,KAAK,gBAAkB,EAAItiB,EAAMsiB,KAAK,eAC/D+wD,cAAe,gBAAMrzE,EAAMsiB,KAAK,kBAAoB,EAAItiB,EAAMsiB,KAAK,iBACnE1U,QAAS,gBAAM5N,EAAMsiB,KAAK,YAAc,EAAItiB,EAAMsiB,KAAK,YAEzDtiB,EAAMsiB,KAAK,CACT8wD,YAAa,EACbC,cAAe,EACfzlE,QAAS,IAEX5N,EAAMoY,QAAQqe,EAAUzU,MzQiF1B,GAAkB,YyQtEZ,SAAkBhiB,EAAwBgiB,EAAyB9pB,GACvE,IAKQga,EAA4B8P,EAAtB,OAAEhQ,EAAoBgQ,EAAZ,SAAExgB,EAAUwgB,EAAL,MAC/BhiB,EAAMoY,QANW,CACfg7D,YAAa,EACbC,cAAe,EACfzlE,QAAS,GAKToE,EACAE,GACA,WACElS,EAAMzF,QAAO,KAEfiH,MzQyDJ,GAAkB,a0Q5FZ,SAAkBigB,EAA0BO,EAAyB9pB,GAEzE+9D,GAAex0C,EAASO,EADU9pB,EAAhB,WAAgBA,EAAL,UAC8B,Q1Q2F7D,GAAkB,c0QnEZ,SAAmBupB,EAA0BO,EAAyB9pB,GAE1E+9D,GAAex0C,EAASO,EADU9pB,EAAhB,WAAgBA,EAAL,UAC8B,S1QkE7D,GAAkB,a0QjFZ,SAAkBupB,EAA0BO,EAAyB9pB,GAEzE+9D,GAAex0C,EAASO,EADU9pB,EAAhB,WAAgBA,EAAL,UAC8B,Q1QgF7D,GAAkB,c2QjGZ,SAAmB8H,EAAwBgiB,EAAyB9pB,GACxE,IAAMooB,EAAMtgB,EAAMsd,UAEZsM,EADkB5pB,EAAMrT,IAAI,UAAf,YACQi9B,OAErBnwB,EAAImwB,EAAO,GAAG13B,EAAI03B,EAAO,GAAG13B,EAAI,EAAIouB,EAAI1gB,KAAO0gB,EAAI3gB,KACnDzN,GAAKouB,EAAIzgB,KAAOygB,EAAIxgB,MAAQ,EAElCE,EAAMq2D,cAAc,CAAC58D,EAAGvH,EAAG,IAE3B,IAAM8zB,EAAS,MAAI+gC,UAAU/mD,EAAMgnD,YAAa,CAC9C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAM,GACZ,CAAC,IAAKuH,EAAGvH,KAEX8N,EAAMinD,UAAUjhC,GAEhBhmB,EAAMoY,QACJ,CACE4N,OAAQ,MAAI+gC,UAAU/mD,EAAMgnD,YAAa,CACvC,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,IAAK,GACX,CAAC,IAAKuH,EAAGvH,MAGb8vB,M3QyEJ,GAAkB,c2Q9DZ,SAAmBhiB,EAAwBgiB,EAAyB9pB,GACxE,IAAMooB,EAAMtgB,EAAMsd,UACViG,EAAgBvjB,EAAMrT,IAAI,UAAf,YACb8M,GAAK6mB,EAAI3gB,KAAO2gB,EAAI1gB,MAAQ,EAC5BgqB,EAASrG,EAAYqG,OAErB13B,EAAI03B,EAAO,GAAG13B,EAAI03B,EAAO,GAAG13B,GAAK,EAAIouB,EAAIxgB,KAAOwgB,EAAIzgB,KAE1DG,EAAMq2D,cAAc,CAAC58D,EAAGvH,EAAG,IAC3B,IAAM8zB,EAAS,MAAI+gC,UAAU/mD,EAAMgnD,YAAa,CAC9C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,EAAG,KACT,CAAC,IAAKuH,EAAGvH,KAEX8N,EAAMinD,UAAUjhC,GAEhBhmB,EAAMoY,QACJ,CACE4N,OAAQ,MAAI+gC,UAAU/mD,EAAMgnD,YAAa,CACvC,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK,EAAG,KACT,CAAC,IAAKuH,EAAGvH,MAGb8vB,M3QuCJ,GAAkB,W4QjGZ,SAAiBP,EAA0BO,EAAyB9pB,GAClE,MAAiCs+B,GAAqBt+B,EAAI8f,WAAY,IAApE3e,EAAI,OAAEq9B,EAAU,aAAED,EAAQ,WAC5B68C,EAAY7xD,EAAQ81B,QAAQ,CAChCl+C,KAAI,EACJyoB,MAAO4U,IAIT48C,EAAUl7D,QAAQqe,EAAQ,yCACrBzU,GAAU,CACbzgB,SAAU,WACJkgB,IAAYA,EAAQ90B,IAAI,cAC1B80B,EAAQpsB,IAAI,YAAa,MAE3Bi+E,EAAU/4E,QAAO,U5QoFvB,GAAkB,WuMjDZ,SAAiByF,EAAwBgiB,EAAyB9pB,GACtEm/D,GAAYr3D,EAAOgiB,EAAY,avMiDjC,GAAkB,YuMtCZ,SAAkBhiB,EAAwBgiB,EAAyB9pB,GACvEm/D,GAAYr3D,EAAOgiB,EAAY,cvMsCjC,GAAkB,mB6QvGZ,SAAyBhiB,EAAegiB,EAAyB9pB,GAC7D,IAAAqqB,EAAYrqB,EAAL,QAETuB,EAAI8oB,EAAQ9oB,EAEZvH,EAAIqwB,EAAQrwB,SAGXqwB,EAAQ9oB,SAER8oB,EAAQrwB,EAEf8N,EAAMsiB,KAAKC,GAEXviB,EAAMoY,QACJ,CACE3e,EAAC,EACDvH,EAAC,GAEH8vB,M7QqFJ,GAAkB,sBsMPZ,SAA2BhiB,EAAegiB,EAAyB9pB,GAC/D,IAAAqqB,EAAwBrqB,EAAjB,QAAE8f,EAAe9f,EAAL,WAErB+mB,EAAOsD,EAAQtD,KACfs0D,EAAet0D,EAAKlL,KAAI,SAAC4iD,GAAY,OAAAA,EAAA,MAErC,EAA4EF,GAAWx3C,GAAzEu0D,EAAa,aAAYC,EAAW,WAAEhjD,EAAM,SAAE+D,EAAW,cACvE,EAAuDiiC,GAAWz2D,EAAMsiB,KAAK,SAA/DoxD,EAAa,aAAYC,EAAW,WAElDx0D,EAASnH,EAAWke,YACpB09C,EAAiBJ,EAAgBE,EACjCG,EAAeJ,EAAcE,EAEnC3zE,EAAMoY,SACJ,SAAChG,GACC,IAAM0hE,EAAoBJ,EAAgBthE,EAAQwhE,EAC5CG,EAAkBJ,EAAcvhE,EAAQyhE,EAC9C,gDACKtxD,GAAO,CACVtD,KAEE,kBAAQs0D,EAAc,CAAC,IAAK,IAAK,IAAK,MAClCv+C,GAAW7V,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAAQqjD,EAAmBC,GAC1D1/C,GAAclV,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAAQqjD,EAAmBC,EAAiBv/C,OAEvF,yCAEIxS,GAAU,CACbzgB,SAAU,WAERvB,EAAMsiB,KAAK,OAAQrD,UtMtB3B,GAAkB,W8QxGZ,SAAiBwC,EAAiBO,EAAyB9pB,GAE/D,IAAM7J,EAASozB,EAAQuyD,iBAEvBvyD,EAAQa,KAAK,WAAY,CAACj0B,IAC1BozB,EAAQrJ,SAAQ,SAAChG,GACf,MAAO,CAEL6hE,gBAAiB,EAAI7hE,GAAS/jB,KAE/B2zB,M9QyGL,EAAc,OAAQ,IACtB,EAAc,SAAU,IACxB,EAAc,OAAQ,IACtB,EAAc,SAAU,IACxB,EAAc,SAAU,IACxB,EAAc,OAAQ,IAYtB,GAA4B,OAAQ,IACpC,GAA4B,SAAU,IACtC,GAA4B,UAAW,IACvC,GAA4B,aAAc,IAC1C,GAA4B,SAAU,IAiDtC,EAAe,UAAW,IAC1B,EAAe,kBAAmB,IAClC,EAAe,gBAAiB,IAChC,EAAe,iBAAkB,IACjC,EAAe,wBAAyB,IACxC,EAAe,uBAAwB,IAEvC,EAAe,oBAAqB,IACpC,EAAe,yBAA0B,IACzC,EAAe,6BAA8B,IAE7C,EAAe,2BAA4B,IAC3C,EAAe,0BAA2B,IAC1C,EAAe,4BAA6B,GAAsB,CAChE,gBAAgB,EAChB,gBAAgB,IAGlB,EAAe,mBAAoB,IACnC,EAAe,0BAA2B,IAC1C,EAAe,yBAA0B,IACzC,EAAe,wBAAyB,IAExC,EAAe,gBAAiB,IAChC,EAAe,cAAe,IAC9B,EAAe,gBAAiB,IAChC,EAAe,iBAAkB,IACjC,EAAe,iBAAkB,IAEjC,EAAe,wBAAyB,GAAe,CACrD,eAAgB,CAAC,YAGnB,EAAe,uBAAwB,GAAe,CACpD,eAAgB,CAAC,UAGnB,EAAe,YAAa,IAC5B,EAAe,cAAe,GAAS,CAAE,IAAK,MAC9C,EAAe,cAAe,GAAS,CAAE,IAAK,MAC9C,EAAe,cAAe,IAC9B,EAAe,YAAa,IAC5B,EAAe,mBAAoB,IAEnC,EAAe,SAAU,IACzB,EAAe,cAAe,IAE9B,EAAe,QAAS,IACxB,EAAe,UAAW,GAAiB,CAAE,KAAM,CAAC,OACpD,EAAe,UAAW,GAAiB,CAAE,KAAM,CAAC,OACpD,EAAe,iBAAkB,IACjC,EAAe,mBAAoB,IACnC,EAAe,mBAAoB,IAEnC,EAAe,iBAAkB,IACjC,EAAe,yBAA0B,IACzC,EAAe,gCAAiC,GAAsB,CAAE,UAAU,IAElF,EAAe,YAAa,IAC5B,EAAe,YAAa,IAE5B,EAAe,kBAAmB,IAClC,EAAe,aAAc,IAC7B,EAAe,eAAgB,GAAc,CAC3C,KAAM,eACN,KAAM,UAWR,GAAoB,UAAW,CAC7B,MAAO,CACL,CAAE,QAAS,iBAAkB,OAAQ,eAAgB,SAAU,CAAE,KAAM,GAAI,SAAS,EAAM,UAAU,IACpG,CAAE,QAAS,iBAAkB,OAAQ,eAAgB,SAAU,CAAE,KAAM,GAAI,SAAS,EAAM,UAAU,KAEtG,IAAK,CACH,CAAE,QAAS,kBAAmB,OAAQ,gBACtC,CAAE,QAAS,aAAc,OAAQ,gBACjC,CAAE,QAAS,gBAAiB,OAAQ,mBAIxC,GAAoB,gBAAiB,CACnC,MAAO,CACL,CACE,QAAS,6BACT,OAAQ,qBACR,SAAU,CAAE,KAAM,GAAI,SAAS,EAAM,UAAU,IAEjD,CACE,QAAS,8BACT,OAAQ,qBACR,SAAU,CAAE,KAAM,GAAI,SAAS,EAAM,UAAU,IAEjD,CACE,QAAS,uBACT,OAAQ,qBACR,SAAU,CAAE,KAAM,GAAI,SAAS,EAAM,UAAU,IAEjD,CACE,QAAS,wBACT,OAAQ,qBACR,SAAU,CAAE,KAAM,GAAI,SAAS,EAAM,UAAU,KAGnD,IAAK,CACH,CAAE,QAAS,8BAA+B,OAAQ,sBAClD,CAAE,QAAS,4BAA6B,OAAQ,sBAChD,CAAE,QAAS,wBAAyB,OAAQ,sBAC5C,CAAE,QAAS,sBAAuB,OAAQ,yBAK9C,GAAoB,iBAAkB,CACpC,MAAO,CAAC,CAAE,QAAS,qBAAsB,OAAQ,0BACjD,IAAK,CAAC,CAAE,QAAS,qBAAsB,OAAQ,2BAIjD,GAAoB,mBAAoB,CACtC,MAAO,CAAC,CAAE,QAAS,gBAAiB,OAAQ,8BAI9C,GAAoB,oBAAqB,CACvC,MAAO,CAAC,CAAE,QAAS,qBAAsB,OAAQ,gCACjD,IAAK,CAAC,CAAE,QAAS,qBAAsB,OAAQ,8BAIjD,GAAoB,yBAA0B,CAC5C,MAAO,CAAC,CAAE,QAAS,qBAAsB,OAAQ,qCACjD,IAAK,CAAC,CAAE,QAAS,qBAAsB,OAAQ,mCAIjD,GAAoB,6BAA8B,CAChD,MAAO,CAAC,CAAE,QAAS,qBAAsB,OAAQ,yCACjD,IAAK,CAAC,CAAE,QAAS,qBAAsB,OAAQ,uCAIjD,GAAoB,gBAAiB,CACnC,MAAO,CAAC,CAAE,QAAS,yBAA0B,OAAQ,CAAC,qBAAsB,2BAC5E,IAAK,CAAC,CAAE,QAAS,yBAA0B,OAAQ,CAAC,oBAAqB,4BAI3E,GAAoB,mBAAoB,CACtC,MAAO,CACL,CAAE,QAAS,yBAA0B,OAAQ,CAAC,kCAAmC,iCAEnF,IAAK,CAAC,CAAE,QAAS,yBAA0B,OAAQ,CAAC,8BAA+B,+BAIrF,GAAoB,uBAAwB,CAC1C,MAAO,CACL,CAAE,QAAS,wBAAyB,OAAQ,CAAC,iCAAkC,iCAEjF,IAAK,CAAC,CAAE,QAAS,wBAAyB,OAAQ,CAAC,6BAA8B,+BAInF,GAAoB,yBAA0B,CAC5C,MAAO,CAAC,CAAE,QAAS,qBAAsB,OAAQ,CAAC,2BAA4B,iCAC9E,IAAK,CAAC,CAAE,QAAS,qBAAsB,OAAQ,CAAC,uBAAwB,+BAI1E,GAAoB,0BAA2B,CAC7C,WAAY,CACV,CAAE,QAAS,kBAAmB,OAAQ,oBACtC,CAAE,QAAS,kBAAmB,OAAQ,eACtC,CAAE,QAAS,kBAAmB,OAAQ,kBACtC,CAAE,QAAS,kBAAmB,OAAQ,qBAExC,MAAO,CACL,CACE,QAAS,iBACT,SAAQ,SAAC,GAEP,OAAQ,EAAQ,UAAU,SAE5B,OAAQ,CAAC,kBAAmB,mBAE9B,CACE,QAAS,iBACT,OAAQ,CAAC,yBAGb,WAAY,CACV,CACE,QAAS,iBACT,OAAQ,CAAC,qBAEX,CACE,QAAS,YACT,OAAQ,CAAC,mBAEX,CACE,QAAS,cACT,OAAQ,CAAC,uCAGb,IAAK,CACH,CAAE,QAAS,eAAgB,OAAQ,CAAC,kBACpC,CAAE,QAAS,eAAgB,OAAQ,CAAC,sBACpC,CACE,QAAS,mBACT,SAAQ,SAAC,GACP,OAAQ,EAAQ,YAElB,OAAQ,CAAC,gCAAiC,gBAAiB,oBAG/D,SAAU,CAAC,CAAE,QAAS,WAAY,OAAQ,CAAC,gCAAiC,sBAG9E,GAAoB,QAAS,CAC3B,WAAY,CACV,CAAE,QAAS,kBAAmB,OAAQ,oBACtC,CAAE,QAAS,kBAAmB,OAAQ,mBAExC,MAAO,CACL,CACE,QAAS,YACT,SAAU,GACV,OAAQ,CAAC,cAAe,kBAAmB,oBAG/C,WAAY,CACV,CACE,QAAS,YACT,SAAU,GACV,OAAQ,CAAC,sBAGb,IAAK,CACH,CACE,QAAS,UACT,SAAU,GACV,OAAQ,CAAC,eAAgB,YAAa,gBAAiB,iBAAkB,uBAG7E,SAAU,CAAC,CAAE,QAAS,qBAAsB,OAAQ,CAAC,cAAe,oBAAqB,wBAG3F,GAAoB,gBAAiB,CACnC,WAAY,CACV,CAAE,QAAS,kBAAmB,OAAQ,oBACtC,CAAE,QAAS,kBAAmB,OAAQ,mBAExC,MAAO,CACL,CACE,QAAS,iBACT,OAAQ,CAAC,kBAAmB,oBAGhC,WAAY,CACV,CACE,QAAS,iBACT,OAAQ,CAAC,qBAEX,CAAE,QAAS,cAAe,OAAQ,CAAC,uCAErC,IAAK,CACH,CACE,QAAS,eACT,OAAQ,CAAC,gBAAiB,iBAAkB,wBAAyB,mCAGzE,SAAU,CACR,CACE,QAAS,WACT,OAAQ,CAAC,4BAKf,GAAoB,UAAW,CAC7B,WAAY,CACV,CAAE,QAAS,kBAAmB,OAAQ,oBACtC,CAAE,QAAS,kBAAmB,OAAQ,mBAExC,MAAO,CACL,CACE,QAAS,YACT,SAAU,GACV,OAAQ,CAAC,gBAAiB,oBAAqB,sBAGnD,WAAY,CACV,CACE,QAAS,YACT,SAAU,GACV,OAAQ,CAAC,wBAGb,IAAK,CACH,CACE,QAAS,UACT,SAAU,GACV,OAAQ,CAAC,iBAAkB,cAAe,kBAAmB,sBAGjE,SAAU,CAAC,CAAE,QAAS,WAAY,OAAQ,CAAC,qBAG7C,GAAoB,yBAA0B,CAC5C,WAAY,CACV,CAAE,QAAS,kBAAmB,OAAQ,oBACtC,CAAE,QAAS,kBAAmB,OAAQ,mBAExC,MAAO,CACL,CAAE,QAAS,YAAa,SAAU,GAAe,OAAQ,mBACzD,CAAE,QAAS,YAAa,SAAU,GAAe,OAAQ,mBAE3D,WAAY,CAAC,CAAE,QAAS,YAAa,OAAQ,uBAC7C,IAAK,CAAC,CAAE,QAAS,UAAW,OAAQ,kBACpC,SAAU,CAAC,CAAE,QAAS,WAAY,OAAQ,qBAI5C,GAAoB,0BAA2B,CAC7C,MAAO,CAAC,CAAE,QAAS,gBAAiB,OAAQ,qCAI9C,GAAoB,gBAAiB,CACnC,WAAY,CACV,CAAE,QAAS,yBAA0B,OAAQ,kBAC7C,CAAE,QAAS,yBAA0B,OAAQ,mBAE/C,MAAO,CAAC,CAAE,QAAS,oBAAqB,OAAQ,CAAC,wBAAyB,0BAI5E,GAAoB,oBAAqB,CACvC,MAAO,CAAC,CAAE,QAAS,sBAAuB,OAAQ,yBAGpD,GAAoB,4BAA6B,CAC/C,MAAO,CAAC,CAAE,QAAS,sBAAuB,OAAQ,4BAIpD,GAAoB,wBAAyB,CAC3C,WAAY,CACV,CAAE,QAAS,yBAA0B,OAAQ,kBAC7C,CAAE,QAAS,yBAA0B,OAAQ,mBAE/C,MAAO,CAAC,CAAE,QAAS,oBAAqB,OAAQ,CAAC,wBAAyB,6BAI5E,GAAoB,gBAAiB,CACnC,MAAO,CAAC,CAAE,QAAS,iBAAkB,OAAQ,uBAC7C,IAAK,CAAC,CAAE,QAAS,kBAAmB,OAAQ,yBAO9C,GAAoB,YAAa,CAC/B,MAAO,CACL,CACE,QAAS,kBACT,SAAQ,SAAC,GACP,OAAO,GAAY,EAAQ,QAE7B,OAAQ,qBACR,SAAU,CAAE,KAAM,IAAK,SAAS,EAAM,UAAU,IAElD,CACE,QAAS,kBACT,SAAQ,SAAC,GACP,OAAQ,GAAY,EAAQ,QAE9B,OAAQ,oBACR,SAAU,CAAE,KAAM,IAAK,SAAS,EAAM,UAAU,OAKtD,GAAoB,kBAAmB,CACrC,MAAO,CAAC,CAAE,QAAS,iBAAkB,OAAQ,yBAC7C,IAAK,CAAC,CAAE,QAAS,kBAAmB,OAAQ,2BA0EvC,IAAM,GAAO,CAClB,UAAS,GACT,OAAM,GACN,KgJ/mBI,SAAeP,EAA0BrP,GAC7C,IAAM4C,EAAOyM,EAAQnE,UACf7jB,GAAKub,EAAKrV,KAAOqV,EAAKpV,MAAQ,EAC9B1N,GAAK8iB,EAAKnV,KAAOmV,EAAKlV,MAAQ,EACpC2hB,EAAQ40C,cAAc,CAAC58D,EAAGvH,EAAG,IAE7B,IAAM8zB,EAAS+gC,GAAUtlC,EAAQulC,YAAa,CAC5C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAKkgB,EAAOA,GACb,CAAC,IAAK3Y,EAAGvH,KAEXuvB,EAAQwlC,UAAUjhC,IhJqmBlB,UAAS,GACT,SAAQ,GACR,iBAAgB,K,8E7HhqBlB,YAEA,UAAe,SAAC,GACd,OAAO,UAAO,EAAK,Y,8EfHrB,YACA,QA0BA,UAxBA,SAAe,EAA0B,GACvC,GAAK,EAIH,GAAE,UAAQ,GACV,IAAK,IAAI,EAAI,EAAG,EAAM,EAAS,OAAQ,EAAI,IAE7B,IADN,EAAK,EAAS,GAAI,GADsB,UAM3C,GAAI,UAAS,GAClB,IAAK,IAAM,KAAK,EACd,GAAI,EAAS,eAAe,KAEd,IADN,EAAK,EAAS,GAAI,GAEtB,Q,0NsLpBG,kBAAkB,aAClB,cAAc,mBACd,aAAa,kBACb,kBAAkB,uBAClB,eAAe,oBACf,cAAc,mBACd,aAAa,kBACb,cAAc,yBACd,cAAc,0B,6BqOQ3B,IAEIkuD,EAAU,aA2Cd3oF,EAAOD,QAAU4oF,G,k7BC6JF,EAjNf,yB,+CA+ME,OA/MsB,yBACpB,EAAF,qCACE,IAAM,EAAQ,YAAM,gBAAe,WAE/B,OAAJ,yCACK,GAAK,CACR,UAAW,EACX,gBAAiB,EACjB,cAAe,EACf,YAAa,KAIf,EAAF,kCACE,OAAO,GAGP,EAAF,kCACM,OAAG,KAOP,EAAF,kCAAe,GACb,YAAe,KAAM,IAGrB,EAAF,mCACE,IAAM,EAAO,KAAK,IAAI,QAChB,EAAY,KAAK,kBAGjB,EADa,wBAAc,EACrB,CAAW,MACjB,EAAgB,EAAY,EAC5B,EAAO,EAAI,EAAI,EACf,EAAO,EAAI,EAAI,EACf,EAAO,EAAI,EAAI,EAAI,MAAQ,EAC3B,EAAO,EAAI,EAAI,EAAI,OAAS,EAC9B,MAAG,CACL,EAAG,EACG,KAAF,EACJ,EAAG,EACH,KAAI,EACE,MAAC,EAAI,MAAQ,EACb,OAAE,EAAI,OAAS,EACf,KAAF,EACE,KAAF,IAIN,EAAF,4BACM,QAAK,KAAK,MAAL,MAAsB,KAAK,eAGpC,EAAF,8BACM,QAAK,KAAK,MAAL,QAIT,EAAF,8BAAW,EAAS,GACd,IACI,EAAE,OAEF,OAAN,IAAM,CAAc,EAAS,GAEvB,EAAD,WAAW,GAChB,EAAQ,UAEF,EAAE,OACF,EAAD,eAKP,EAAF,wBAAK,EAAmC,GAClC,IAAE,EAAO,KAAK,UAElB,GAAI,EAAQ,CAEV,IAAM,EAAO,EAAO,YAAgB,CAAC,KAAM,IAAS,KAAK,gBACzD,IAAK,YAAc,EAAQ,GAGzB,YADA,KAAK,IAAI,cAAc,GAI3B,EAAQ,OAEJ,OAAJ,IAAI,CAAgB,EAAS,MACzB,KAAC,WAAW,EAAS,KAAK,WAC1B,KAAC,SAAS,GACV,EAAI,UACJ,KAAC,cAGL,EAAF,gCACM,IAAE,EAAO,KAAK,gBACZ,EAAS,KAAK,YAGhB,GADA,KAAC,IAAI,kBAAmB,GACxB,EAAQ,CAEV,IAAM,EAAY,EAAO,eACzB,KAAK,IAAI,WAAY,YAAc,EAAM,IAG3C,KAAK,IAAI,cAAc,IAGvB,EAAF,8BACE,KAAK,IAAI,kBAAmB,MAC5B,KAAK,IAAI,WAAY,MACrB,KAAK,IAAI,cAAc,IAOvB,EAAF,4BAAS,GACH,KAAC,WAAW,GACZ,KAAC,cAAc,GACf,KAAC,cAAc,IAQnB,EAAF,wBAAK,GACC,EAAI,QAQR,EAAF,0BAAO,GACD,EAAI,UAIR,EAAF,iCAAc,GACN,MAAqD,KAAK,MAAxD,EAAS,YAAE,EAAO,UAAE,EAAa,gBAAE,EAAW,cAElD,KAAK,WACF,YAAM,IAAgC,IAAhB,EAKzB,KAAK,KAAK,IAJV,EAAQ,YAAc,EACtB,KAAK,KAAK,GACV,EAAQ,YAAc,IAMtB,KAAK,YACH,EAAY,IACT,YAAM,IAAoC,IAAlB,IAC3B,EAAQ,YAAc,GAEhB,KAAH,OAAO,IAGZ,KAAC,cAAc,IAQnB,EAAF,8BAAW,KAMT,EAAF,iCAAc,KAEZ,EAAF,6BAAU,EAAc,GAEtB,IAAM,EAAW,KAAK,WAChB,EAAS,KAAK,SACd,EAAY,KAAK,kBACnB,OAAG,KAAK,iBAAiB,EAAM,EAAM,EAAU,EAAQ,IAI3D,EAAF,oCAAiB,EAAG,EAAG,EAAU,EAAQ,GACvC,OAAO,GAOP,EAAF,qCACM,IAAC,KAAK,WACR,OAAO,EAEL,IAAE,EAAQ,KAAK,MACf,OAAG,EAAK,UAAgB,EAAK,iBAErC,EA/MA,CAAwB,iBC4CT,EA1Cf,YAAE,SAAF,I,+CAwCA,OAxCqB,yBACjB,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WAC/B,OAAJ,yCACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,EAAG,KAIL,EAAF,oCAAiB,EAAG,EAAG,EAAU,EAAQ,GACnC,IAAE,EAAQ,KAAK,OACb,EAAK,EAAM,EACX,EAAK,EAAM,EACX,EAAI,EAAM,EACV,EAAgB,EAAY,EAC5B,EAAc,YAAS,EAAI,EAAI,EAAG,GAEpC,UAAU,EACL,GAAe,EAAI,EAExB,EACK,GAAe,IAEpB,IACK,GAAe,EAAI,GAAiB,GAAe,EAAI,IAKlE,gCAAW,GACT,IAAM,EAAQ,KAAK,OACb,EAAK,EAAM,EACX,EAAK,EAAM,EACX,EAAI,EAAM,EAChB,EAAQ,YACR,EAAQ,IAAI,EAAI,EAAI,EAAG,EAAa,EAAV,KAAK,IAAQ,GACvC,EAAQ,aAEZ,EAxCA,CAAqB,GCArB,SAAS,EAAgB,EAAS,EAAS,EAAI,GAC3C,OAAK,GAAW,EAAK,GAAM,GAAW,EAAK,GAG/C,IA6De,EA7Df,YAAE,SAAF,I,+CA2DA,OA3DsB,yBAClB,EAAF,qCACE,IAAM,EAAQ,YAAM,gBAAe,WAC/B,OAAJ,yCACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,GAAI,EACJ,GAAI,KAIN,EAAF,oCAAiB,EAAG,EAAG,EAAU,EAAQ,GACnC,IAAE,EAAQ,KAAK,OACb,EAAe,EAAY,EAC3B,EAAK,EAAM,EACX,EAAK,EAAM,EACT,EAAW,EAAT,GAAE,EAAO,EAAL,GACR,GAAW,EAAI,IAAO,EAAI,GAC1B,GAAW,EAAI,IAAO,EAAI,GAEhC,OAAI,GAAU,EACL,EAAgB,EAAS,EAAS,EAAK,EAAc,EAAK,IAAiB,EAEhF,EACK,EAAgB,EAAS,EAAS,EAAI,IAAO,IAElD,IAEA,EAAgB,EAAS,EAAS,EAAK,EAAc,EAAK,IAAiB,GAC3E,EAAgB,EAAS,EAAS,EAAK,EAAc,EAAK,IAAiB,IAMjF,gCAAW,GACT,IAAM,EAAQ,KAAK,OACb,EAAK,EAAM,EACX,EAAK,EAAM,EACX,EAAK,EAAM,GACX,EAAK,EAAM,GAGjB,GAFA,EAAQ,YAEJ,EAAQ,QACV,EAAQ,QAAQ,EAAI,EAAI,EAAI,EAAI,EAAG,EAAa,EAAV,KAAK,IAAQ,OAC9C,CAEL,IAAM,EAAI,EAAK,EAAK,EAAK,EACnB,EAAS,EAAK,EAAK,EAAI,EAAK,EAC5B,EAAS,EAAK,EAAK,EAAK,EAAK,EACnC,EAAQ,OACR,EAAQ,UAAU,EAAI,GACtB,EAAQ,MAAM,EAAQ,GACtB,EAAQ,IAAI,EAAG,EAAG,EAAG,EAAa,EAAV,KAAK,IAC7B,EAAQ,UACR,EAAQ,cAGd,EA3DA,CAAsB,GCRtB,SAAS,EAAS,GAChB,OAAO,aAAe,aAAe,YAAS,EAAI,WAA4C,WAA/B,EAAI,SAAS,cAG9E,IAoHe,EApHf,YAAE,SAAF,I,+CAkHA,OAlHyB,yBACrB,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WAC/B,OAAJ,yCACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,MAAO,EACP,OAAQ,KAIV,EAAF,6BAAUpyD,GACJ,KAAC,UAAU,EAAM,MAIrB,EAAF,8BACM,OAAG,GAKP,EAAF,kCACM,OAAG,GAGP,EAAF,mCACE,IAA2B,IAAvB,KAAK,IAAI,UAAoB,CAC/B,IAAM,EAAS,KAAK,IAAI,UACpB,EAEF,EAAO,OAGP,KAAK,WAAW,KAAK,IAAI,cAK7B,EAAF,6BAAU,GAAN,IAAJ,OACQ,EAAQ,KAAK,MACf,eAAS,GAAM,CACX,MAAQ,IAAI,MACZ,SAAS,WAEb,GAAI,EAAK,UACP,OAAO,EAMT,EAAK,KAAK,MAAO,GACjB,EAAK,IAAI,WAAW,GACpB,EAAK,gBACG,IAAF,EAAW,EAAK,IAAI,YACtB,GACF,EAAS,KAAK,IAGZ,MAAM,EAEN,cAAc,YAEpB,KAAK,IAAI,WAAW,QACX,aAAe,OAEnB,EAAM,QACT,EAAM,MAAQ,EAAI,OAEf,EAAM,SACT,EAAM,OAAS,EAAI,SAEZ,EAAS,KAEb,EAAM,QACT,EAAM,MAAQ,OAAO,EAAI,aAAa,WAGnC,EAAM,SACT,EAAM,OAAQ,OAAO,EAAI,aAAa,cAK5C,kCAAa,EAAc,EAAY,GACrC,YAAM,aAAY,UAAC,EAAM,EAAO,GAEnB,QAAT,GAEF,KAAK,UAAU,IAInB,gCAAW,GAET,GAAI,KAAK,IAAI,WAGX,OAFA,KAAK,IAAI,UAAU,QACnB,KAAK,IAAI,UAAW,GAGtB,IAAM,EAAQ,KAAK,OACX,EAAiD,EAAhD,EAAE,EAA8C,EAA7C,EAAE,EAA2C,EAAtC,MAAE,EAAoC,EAA9B,OAAE,EAA4B,EAA1B,GAAE,EAAwB,EAAtB,GAAE,EAAoB,EAAd,OAAE,EAAY,EAAL,QAE9C,EAAM,EAAM,KACd,aAAe,OAAS,EAAS,MAC9B,YAAM,IAAQ,YAAM,IAAQ,YAAM,IAAY,YAAM,GAGvD,EAAQ,UAAU,EAAK,EAAG,EAAG,EAAO,GAFpC,EAAQ,UAAU,EAAK,EAAI,EAAI,EAAQ,EAAS,EAAG,EAAG,EAAO,KAMrE,EAlHA,CAAyB,G,iBCTX,SAAU,EAAO,EAAI,EAAI,EAAI,EAAI,EAAW,EAAG,GACzD,IAAI,EAAOljB,KAAK,IAAIygB,EAAI6hD,GACpB,EAAOtiE,KAAK,IAAI,EAAI,GACpB,EAAOA,KAAK,IAAIqiE,EAAIE,GACpB,EAAO,KAAK,IAAI,EAAI,GACpB,EAAY,EAAY,EAG5B,OAAI,GAAK,EAAO,GAAa,GAAK,EAAO,GAAa,GAAK,EAAO,GAAa,GAAK,EAAO,GAItF,IAAS,YAAY,EAAI,EAAI,EAAI,EAAI,EAAG,IAAM,EAAY,E,YC+FpD,EApGf,yB,+CAkGA,OAlGmB,yBACf,EAAF,qCACE,IAAM,EAAQ,YAAM,gBAAe,WAC/B,OAAJ,yCACK,GAAK,CACR,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,YAAY,EACZ,UAAU,KAIZ,EAAF,6BAAUr/C,GACJ,KAAC,YAIL,EAAF,gCAAa,EAAc,EAAY,GACjC,EAAJ,UAAM,aAAY,UAAC,EAAM,EAAO,GAE5B,KAAC,YAGL,EAAF,8BACM,IAAE,EAAQ,KAAK,OACX,EAAyC,EAAvC,GAAE,EAAqC,EAAnC,GAAE,EAAiC,EAA/B,GAAE,EAA6B,EAA3B,GAAE,EAAyB,EAAf,WAAE,EAAa,EAAL,SACxC,GACI,EAAN,EAAwB,KAAM,EAAO,EAAI,EAAI,EAAI,GAE/C,GACF,IAAsB,KAAM,EAAO,EAAI,EAAI,EAAI,IAIjD,EAAF,oCAAiB,EAAG,EAAG,EAAU,EAAQ,GACvC,IAAK,IAAa,EAChB,OAAO,EAEH,MAAqB,KAAK,OAChC,OAAO,EADG,KAAI,KAAI,KAAI,KACQ,EAAW,EAAG,IAG5C,EAAF,8BAAW,GACT,IAAM,EAAQ,KAAK,OACX,EAAyC,EAAvC,GAAE,EAAqC,EAAnC,GAAE,EAAiC,EAA/B,GAAE,EAA6B,EAA3B,GAAE,EAAyB,EAAf,WAAE,EAAa,EAAL,SACxC,EAAqB,CACvB,GAAI,EACJ,GAAI,GAEF,EAAmB,CACrB,GAAI,EACJ,GAAI,GAGF,GAAc,EAAW,IAC3B,EAAqB,IAA2B,EAAI,EAAI,EAAI,EAAI,EAAM,WAAW,IAE/E,GAAY,EAAS,IACvB,EAAmB,IAA2B,EAAI,EAAI,EAAI,EAAI,EAAM,SAAS,IAG/E,EAAQ,YAER,EAAQ,OAAO,EAAK,EAAmB,GAAI,EAAK,EAAmB,IACnE,EAAQ,OAAO,EAAK,EAAiB,GAAI,EAAK,EAAiB,KAGjE,mCAAc,GACZ,IAAM,EAAkB,KAAK,IAAI,mBAC3B,EAAgB,KAAK,IAAI,iBAC3B,GACF,EAAgB,KAAK,GAEnB,GACF,EAAc,KAAK,IAQvB,sCACQ,MAAqB,KAAK,OAAxB,EAAE,KAAE,EAAE,KAAE,EAAE,KAAE,EAAE,KACtB,OAAO,IAAS,OAAO,EAAI,EAAI,EAAI,IAQrC,8BAAS,GACD,MAAqB,KAAK,OAAxB,EAAE,KAAE,EAAE,KAAE,EAAE,KAAE,EAAE,KACtB,OAAO,IAAS,QAAQ,EAAI,EAAI,EAAI,EAAI,IAE5C,EAlGA,CAAmB,G,wBCEb,EAAU,CAEZ,OAAI,SAAC,EAAG,EAAG,GACP,MAAG,CACL,CAAC,IAAK,EAAI,EAAG,GACb,CAAC,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAI,EAAG,GAC5B,CAAC,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAI,EAAG,KAI9B,OAAI,SAAC,EAAG,EAAG,GACX,MAAO,CAAC,CAAC,IAAK,EAAI,EAAG,EAAI,GAAI,CAAC,IAAK,EAAI,EAAG,EAAI,GAAI,CAAC,IAAK,EAAI,EAAG,EAAI,GAAI,CAAC,IAAK,EAAI,EAAG,EAAI,GAAI,CAAC,OAG7F,QAAK,SAAC,EAAG,EAAG,GACZ,MAAO,CAAC,CAAC,IAAK,EAAI,EAAG,GAAI,CAAC,IAAK,EAAG,EAAI,GAAI,CAAC,IAAK,EAAI,EAAG,GAAI,CAAC,IAAK,EAAG,EAAI,GAAI,CAAC,OAG7E,SAAM,SAAC,EAAG,EAAG,GACT,IAAE,EAAQ,EAAI,KAAK,IAAK,EAAI,EAAK,KAAK,IAC1C,MAAO,CAAC,CAAC,IAAK,EAAI,EAAG,EAAI,GAAQ,CAAC,IAAK,EAAG,EAAI,GAAQ,CAAC,IAAK,EAAI,EAAG,EAAI,GAAQ,CAAC,OAGhF,gBAAa,SAAC,EAAG,EAAG,GAChB,IAAE,EAAQ,EAAI,KAAK,IAAK,EAAI,EAAK,KAAK,IAC1C,MAAO,CAAC,CAAC,IAAK,EAAI,EAAG,EAAI,GAAQ,CAAC,IAAK,EAAI,EAAG,EAAI,GAAQ,CAAC,IAAK,EAAG,EAAI,GAAQ,CAAC,QAuErE,EAnEf,YAAE,SAAF,I,+CAiEA,OAjEqB,yBACjB,EAAF,6BAAU,GACR,KAAK,qBAIL,EAAF,uCAGM,KAAC,IAAI,cAAe,KAIxBqyD,EAAOzmF,UAAU0mF,aAAe,SAArB,EAAc,EAAY,GACjCl1D,EAAOxxB,UAAL,aAAY,UAAC,EAAM,EAAO,IAC2B,IAAvD,CAAC,SAAU,IAAK,IAAK,IAAK,UAAU,QAAQ,IAExC+B,KAAD,qBAMP,EAAF,kCACE,OAAO,GAGP,EAAF,yBAAM,GAEJ,OAAO,gBAAM,EAAM,GAAK,EAAM,OAAS,EAAM,GAG7C,EAAF,8BACM,IAIA,EACA,EALE,EAAQ,KAAK,OACX,EAAS,EAAR,EAAE,EAAM,EAAL,EACN,EAAS,EAAM,QAAU,SACzB,EAAI,KAAK,MAAM,GAcjB,OAXA,YAAW,IAEb,GADM,EAAG,GACK,EAAG,EAAG,GAEd,EAAC,IAAcwvB,IAIrB,GADA,EAAS,EAAO,QAAQ,IACV,EAAG,EAAG,GAGjB,EAKE,GAJL,QAAQ,KAAQ,EAAM,6BACf,OAMTk1D,EAAO,UAAT,oBAAW,GACT,IAAM,EAAO,KAAK,WACZ,EAAc,KAAK,IAAI,eAC7B,YAAS,KAAM,EAAS,CAAE,KAAI,GAAI,IAG7B,UAAU,EACnB,EAjEA,CAAqB,G,4CCtCP,SAAU,EAAc,EAAO,EAAG,GAC5C,IAAI,EAAM,gCAEZ,OADE,EAAI,WAAW,GACV,EAAI,cAAc,EAAG,GCG9B,SAAS,EAAK,GACV,OAAE,KAAK,IAAI,GAHG,KAIP,EAGF,EAAI,GAAK,EAAI,EAItB,SAAS,EAAU,EAAI,EAAI,GACvB,OACC,EAAE,GAAK,EAAG,KAAO,EAAG,GAAK,EAAG,MAAS,EAAG,GAAK,EAAG,KAAO,EAAE,GAAK,EAAG,KAClE,KAAK,IAAI,EAAG,GAAI,EAAG,KAAO,EAAE,IAC5B,EAAE,IAAM,KAAK,IAAI,EAAG,GAAI,EAAG,KAC3B,KAAK,IAAI,EAAG,GAAI,EAAG,KAAO,EAAE,IAC5B,EAAE,IAAM,KAAK,IAAI,EAAG,GAAI,EAAG,IAQjB,SAAU,EAAY,EAAQ,EAAG,GAC3C,IAAE,GAAQ,EACN,EAAI,EAAO,OACf,GAAE,GAAK,EAEH,OAAG,EAEP,IAAG,IAAI,EAAI,EAAG,EAAI,EAAG,IAAK,CACtB,IAAE,EAAK,EAAO,GACZ,EAAK,GAAQ,EAAI,GAAK,GACxB,KAAU,EAAI,EAAI,CAAC,EAAG,IAElB,OAAC,EAKP,EAAK,EAAG,GAAK,GAAK,GAAM,EAAK,EAAG,GAAK,GAAK,GAC1C,EAAK,GAAM,EAAI,EAAG,KAAO,EAAG,GAAK,EAAG,KAAQ,EAAG,GAAK,EAAG,IAAM,EAAG,IAAM,IAEtE,GAAS,GAGb,OAAO,E,sBCrDK,SAAU3lB,EAAI6lB,EAAIC,EAAI1nF,EAAG2jC,EAAYC,EAAUm7B,EAAWlyD,EAAGvH,GACvE,IAAI00B,GAAShoB,KAAK23B,MAAMrkC,EAAIoiF,EAAI76E,EAAI46E,GAAgB,EAAVz1E,KAAKE,KAAqB,EAAVF,KAAKE,IAC/D,GAAE,EAAQ,GAAc,EAAQ,EAC5B,OAAG,EAEP,IAAIshB,EAAQ,CACR3mB,EAAD,EAAK,EAAI,KAAK,IAAI,GACjBvH,EAAD,EAAK,EAAI,KAAK,IAAI,IAErB,OAAK,YAAS,EAAM,EAAG,EAAM,EAAG,EAAG,IAAM,EAAY,E,oBpToIzD,0BACE,OA/HF,SAAgB,GAGZ,IAFA,IAAE,GAAS,EACP,EAAQ,EAAK,OACV,EAAI,EAAG,EAAI,EAAO,IAAK,CAC1B,IACE,EADS,EAAK,GACD,GACf,GAAQ,MAAR,GAAuB,MAAR,GAAuB,MAAR,EAAa,CAC7C,GAAS,EACT,OAGF,OAAK,GAqHP,gBAxCF,SAAyB,GAKrB,IAJA,IAAI,EAAQ,EAAK,OACb,EAAW,GACX,EAAY,GACd,EAAS,GACJ,EAAI,EAAG,EAAI,EAAO,IAAK,CAC9B,IAAM,EAAS,EAAK,GACd,EAAM,EAAO,GACP,MAAR,GAEE,EAAO,SAET,EAAU,KAAK,GACf,EAAS,IAEX,EAAO,KAAK,CAAC,EAAO,GAAI,EAAO,MACd,MAAR,EACL,EAAO,SAET,EAAS,KAAK,GACd,EAAS,IAIX,EAAO,KAAK,CAAC,EAAO,GAAI,EAAO,KAQnC,OAHI,EAAO,OAAS,GAClB,EAAU,KAAK,GAEV,CACL,SAAQ,EACR,UAAS,IAOX,gBAnHF,SAAyB,EAAU,EAAW,EAAG,GAG7C,IAFA,IAAE,GAAQ,EACN,EAAY,EAAY,EACrB,EAAI,EAAG,EAAI,EAAS,OAAQpG,IAAK,CACpC,IAAE,EAAU,EAAS,GACjB,EAAwC,EAA5B,aAAE,EAA0B,EAApB,OAAE,EAAkB,EAAV,SAAE,EAAQ,EAAL,IAEvC,OAAQ,YAAM,EAAI,EAAI,EAAW,EAAI,EAAI,EAAW,EAAI,MAAQ,EAAW,EAAI,OAAS,EAAW,EAAG,GAAtG,CAGA,OAAI,EAAQ,SAER,IAAD,IACC,IAAD,IACKyoF,EAAA,EAAO,EAAS,GAAI,EAAS,GAAI,EAAa,GAAI,EAAa,GAAI,EAAW,EAAG,GACjF,MACJ,IAAD,IAWK,EAVU,IAAS,cACzB,EAAS,GACT,EAAS,GACT,EAAO,GACP,EAAO,GACP,EAAO,GACP,EAAO,GACP,EACA,IAEmB,EAAY,EACzB,MACJ,IAAD,IAaH,EAZkB,IAAU,cAC1B,EAAS,GACT,EAAS,GACT,EAAO,GACP,EAAO,GACP,EAAO,GACP,EAAO,GACP,EAAO,GACP,EAAO,GACP,EACA,IAEmB,EAAY,EACjC,MACF,IAAK,IAEH,IAAM,EAAY,EAAQ,UAClB,EAAoD,EAAlD,GAAE,EAAgD,EAA9C,GAAE,EAA4C,EAA1C,GAAE,EAAwC,EAAtC,GAAE,EAAoC,EAA1B,WAAE,EAAwB,EAAhB,SAAE,EAAc,EAAL,UACjD,EAAI,CAAC,EAAG,EAAG,GACX,EAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC7B,EAAI,EAAK,EAAK,EAAK,EACnB,EAAS,EAAK,EAAK,EAAI,EAAK,EAC5B,EAAS,EAAK,EAAK,EAAK,EAAK,EACnC,YAAe,EAAG,EAAG,EAAE,GAAK,IAC5B,SAAY,EAAG,GAAI,GACnB,QAAW,EAAG,EAAG,CAAC,EAAI,EAAQ,EAAI,IAClC,gBAAmB,EAAG,EAAG,GACzB,EAAQ,EAAM,EAAG,EAAG,EAAG,EAAY,EAAU,EAAW,EAAE,GAAI,EAAE,IAKhE,KACI,OAGR,OAAK,IAkDJ,YqTjIL,SAAS,EAAa,EAAU,EAAG,GAE/B,IADA,IAAE,GAAQ,EACH,EAAI,EAAG,EAAI,EAAS,OAAQ,IAAK,CAGpC,GADA,EAAI,EADO,EAAS,GACI,EAAG,GAEvB,MAGR,OAAK,EAGT,IA4Re,EA5Rf,YAAE,SAAF,I,+CA0RA,OA1RqB,OAAF,YAAE,CAAF,KACf,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WAC/B,OAAJ,yCACK,GAAK,CACF,YAAM,EACN,UAAI,KAIZ,EAAF,6BAAU,GACR,KAAK,YAAY,EAAM,MACvB,KAAK,YAIL,EAAF,gCAAa,EAAc,EAAY,GACjC,EAAJ,UAAM,aAAY,UAAC,EAAM,EAAO,GACnB,SAAT,GACI,KAAD,YAAY,GAGnB,KAAK,YAIL,EAAF,+BAAY,GAEV,KAAK,MAAM,KAAO,IAAc,GAChC,IAAM,EAAS,EAAS,OAAO,GAG/B,KAAK,IAAI,SAAU,GACnB,KAAK,IAAI,cAAe,IACxB,KAAK,IAAI,WAAY,MACrB,KAAK,IAAI,QAAS,MAClB,KAAK,IAAI,SAAU,MACnB,KAAK,IAAI,cAAe,OAGxB,EAAF,iCACM,MAAW,KAAK,IAAI,aAKpB,OAJC,IACG,EAAK,IAAa,KAAK,KAAK,SAC5B,KAAD,IAAI,WAAY,IAEhB,GAGP,EAAF,8BACE,IAAM,EAAQ,KAAK,OACX,EAAyB,EAAf,WAAE,EAAa,EAAL,SAE5B,GAAI,EAAY,CACd,IAAM,EAAU,KAAK,kBACrB,IAAwB,KAAM,EAAO,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,IAE/F,GAAI,EAAU,CACN,EAAU,KAAK,gBACrB,IAAsB,KAAM,EAAO,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,GAAI,EAAQ,GAAG,MAI/F,sCAAiB,EAAG,EAAG,EAAU,EAAQ,GACvC,IAAM,EAAW,KAAK,cAChB,EAAS,KAAK,IAAI,UACpB,GAAQ,EAIZ,GAHI,IACF,EAAQ,EAAS,gBAAgB,EAAU,EAAW,EAAG,KAEtD,GAAS,EACZ,GAAI,EAEF,EAAQ,EAAc,KAAM,EAAG,OAC1B,CACL,IAAM,EAAO,KAAK,KAAK,QACjB,EAAgB,EAAS,gBAAgB,GAE/C,EAAQ,EAAa,EAAc,SAAU,EAAG,IAAM,EAAa,EAAc,UAAW,EAAG,GAGnG,OAAO,GAGT,gCAAW,GACT,IAAM,EAAQ,KAAK,OACb,EAAc,KAAK,IAAI,eAC7B,YAAS,KAAM,EAAS,EAAO,IAGjC,mCAAc,GACZ,IAAM,EAAkB,KAAK,IAAI,mBAC3B,EAAgB,KAAK,IAAI,iBAC3B,GACF,EAAgB,KAAK,GAEnB,GACF,EAAc,KAAK,IAQvB,sCACE,IAAM,EAAc,KAAK,IAAI,eAC7B,OAAK,gBAAM,IAGX,KAAK,kBACL,KAAK,aACE,KAAK,IAAI,gBAJP,GAYX,8BAAS,GACP,IAOI,EACA,EARA,EAAS,KAAK,IAAI,UACjB,IACH,KAAK,kBACL,KAAK,aACL,EAAS,KAAK,IAAI,WAMpB,IAAM,EAAQ,KAAK,IAAI,SACvB,IAAK,GAA4B,IAAlB,EAAO,OACpB,OAAI,EACK,CACL,EAAG,EAAM,GAAG,GACZ,EAAG,EAAM,GAAG,IAGT,KAET,eAAK,GAAQ,SAAC,EAAG,GACX,GAAS,EAAE,IAAM,GAAS,EAAE,KAC9B,GAAQ,EAAQ,EAAE,KAAO,EAAE,GAAK,EAAE,IAClC,EAAQ,MAIZ,IAAM,EAAM,EAAM,GAClB,GAAI,gBAAM,IAAQ,gBAAM,GACtB,OAAO,KAET,IAAM,EAAI,EAAI,OACR,EAAU,EAAM,EAAQ,GAC9B,OAAO,IAAU,QACf,EAAI,EAAI,GACR,EAAI,EAAI,GACR,EAAQ,GACR,EAAQ,GACR,EAAQ,GACR,EAAQ,GACR,EAAQ,GACR,EAAQ,GACR,IAIJ,uCACU,MAAS,KAAK,OAAV,KACZ,KAAK,IAAI,QAAS,EAAS,YAAY,KAGzC,kCACE,IAII,EACA,EACA,EACA,EAPA,EAAc,EACd,EAAa,EAEX,EAAS,GAKT,EAAQ,KAAK,IAAI,SAElB,IAIL,eAAK,GAAO,SAAC,EAAS,GACpB,EAAW,EAAM,EAAI,GACrB,EAAI,EAAQ,OACR,IACF,GACE,IAAU,OACR,EAAQ,EAAI,GACZ,EAAQ,EAAI,GACZ,EAAS,GACT,EAAS,GACT,EAAS,GACT,EAAS,GACT,EAAS,GACT,EAAS,KACN,MAGX,KAAK,IAAI,cAAe,GAEJ,IAAhB,GAKJ,eAAK,GAAO,SAAC,EAAS,GACpB,EAAW,EAAM,EAAI,GACrB,EAAI,EAAQ,OACR,KACF,EAAW,IACF,GAAK,EAAa,EAC3B,EAAW,IAAU,OACnB,EAAQ,EAAI,GACZ,EAAQ,EAAI,GACZ,EAAS,GACT,EAAS,GACT,EAAS,GACT,EAAS,GACT,EAAS,GACT,EAAS,IAGX,GAAc,GAAY,EAC1B,EAAS,GAAK,EAAa,EAC3B,EAAO,KAAK,OAGhB,KAAK,IAAI,SAAU,IA1BjB,KAAK,IAAI,SAAU,MAiCvB,uCACE,IACI,EADE,EAAW,KAAK,cAEtB,GAAI,EAAS,OAAS,EAAG,CACvB,IAAM,EAAa,EAAS,GAAG,aACzB,EAAW,EAAS,GAAG,aACvB,EAAU,EAAS,GAAG,aAC5B,EAAS,GACL,GACF,EAAO,KAAK,CAAC,EAAW,GAAK,EAAQ,GAAI,EAAW,GAAK,EAAQ,KACjE,EAAO,KAAK,CAAC,EAAW,GAAI,EAAW,OAEvC,EAAO,KAAK,CAAC,EAAS,GAAI,EAAS,KACnC,EAAO,KAAK,CAAC,EAAW,GAAI,EAAW,MAG3C,OAAO,GAOT,qCACE,IAEI,EAFE,EAAW,KAAK,cAChB,EAAS,EAAS,OAExB,GAAI,EAAS,EAAG,CACd,IAAM,EAAa,EAAS,EAAS,GAAG,aAClC,EAAW,EAAS,EAAS,GAAG,aAChC,EAAU,EAAS,EAAS,GAAG,WACrC,EAAS,GACL,GACF,EAAO,KAAK,CAAC,EAAS,GAAK,EAAQ,GAAI,EAAS,GAAK,EAAQ,KAC7D,EAAO,KAAK,CAAC,EAAS,GAAI,EAAS,OAEnC,EAAO,KAAK,CAAC,EAAW,GAAI,EAAW,KACvC,EAAO,KAAK,CAAC,EAAS,GAAI,EAAS,MAGvC,OAAO,GAEX,EA1RA,CAAmB,GC3BL,SAAU,EAAW,EAAe,EAAmB,EAAW,EAAW,GACvF,IAAIn7B,EAAQ,EAAO,OACnB,GAAE,EAAQ,EACV,OAAO,EAEP,IAAG,IAAI,EAAI,EAAG,EAAI,EAAQ,EAAG,IAAK,CAM9B,KALO,EAAO,GAAG,GACV,EAAO,GAAG,GACV,EAAO,EAAI,GAAG,GACd,EAAO,EAAI,GAAG,GAEE,EAAW,EAAG,GACvC,OAAO,EAKT,GAAE,EAAS,CACP,IAAE,EAAQ,EAAO,GACf,EAAO,EAAO,EAAQ,GAC5B,GAAI,EAAO,EAAM,GAAI,EAAM,GAAI,EAAK,GAAI,EAAK,GAAI,EAAW,EAAG,GAC7D,OAAO,EAIX,OAAO,EClBT,IAgCe,EAhCf,YAAE,SAAF,I,+CA8BA,OA9BsB,yBAClB,EAAF,oCAAiB,EAAG,EAAG,EAAU,EAAQ,GAC/B,MAAW,KAAK,OAAV,OACV,GAAQ,EAOR,OANA,IACF,EAAQ,EAAW,EAAQ,EAAW,EAAG,GAAG,KAEzC,GAAS,IACZ,EAAQ,EAAY,EAAQ,EAAG,IAE1B,GAGP,EAAF,8BAAW,GACL,IACE,EADQ,KAAK,OACE,OACjB,OAAO,OAAS,GAAhB,CAGJ,EAAQ,YACR,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CACtC,IAAM,EAAQ,EAAO,GACX,IAAN,EACF,EAAQ,OAAO,EAAM,GAAI,EAAM,IAE/B,EAAQ,OAAO,EAAM,GAAI,EAAM,IAGnC,EAAQ,cAEZ,EA9BA,CAAsB,G,iBC4MP,EAzMf,YAAE,SAAF,I,+CAuMA,OAvMuB,yBACnB,EAAF,qCACE,IAAM,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,YAAY,EACZ,UAAU,KAIZ,EAAF,6BAAU,GACJ,KAAC,YAIL,EAAF,gCAAa,EAAc,EAAY,GACjC,EAAJ,UAAM,aAAY,UAAC,EAAM,EAAO,GAChC,KAAK,YAC6B,IAA9B,CAAC,UAAU,QAAQ,IACrB,KAAK,eAIP,EAAF,iCACM,KAAC,IAAI,cAAe,MACpB,KAAC,IAAI,SAAU,OAGnB,EAAF,8BACE,IAAM,EAAQ,KAAK,OACb,EAAmC,KAAK,MAAtC,EAAM,SAAE,EAAU,aAAE,EAAQ,WAC9B,EAAS,EAAO,OAChB,EAAK,EAAO,GAAG,GACf,EAAK,EAAO,GAAG,GACf,EAAK,EAAO,EAAS,GAAG,GACxB,EAAK,EAAO,EAAS,GAAG,GAE1B,GACF,IAAwB,KAAM,EAAO,EAAO,GAAG,GAAI,EAAO,GAAG,GAAI,EAAI,GAEnE,GACF,IAAsB,KAAM,EAAO,EAAO,EAAS,GAAG,GAAI,EAAO,EAAS,GAAG,GAAI,EAAI,IAKvF,EAAF,4BACE,OAAO,GAGP,EAAF,oCAAiB,EAAG,EAAG,EAAU,EAAQ,GAEnC,SAAC,IAAa,IAIX,EADY,KAAK,OAAV,OACY,EAAW,EAAG,GAAG,IAI3C,EAAF,8BACM,OAAG,GAGP,EAAF,8BAAW,GACH,MAAmC,KAAK,OAAtC,EAAM,SAAE,EAAU,aAAE,EAAQ,WAC9B,EAAS,EAAO,OACtB,KAAI,EAAO,OAAS,GAApB,CAGI,IAWI,EAXJ,EAAK,EAAO,GAAG,GACf,EAAK,EAAO,GAAG,GACf,EAAK,EAAO,EAAS,GAAG,GACxB,EAAK,EAAO,EAAS,GAAG,GAExB,MAAc,EAAW,EAE3B,IADM,EAAW,IAA2B,EAAI,EAAI,EAAO,GAAG,GAAI,EAAO,GAAG,GAAI,EAAW,IAC5E,GACf,GAAM,EAAS,GAEb,MAAY,EAAS,EAEjB,IADA,EAAW,IAA2B,EAAO,EAAS,GAAG,GAAI,EAAO,EAAS,GAAG,GAAI,EAAI,EAAI,EAAS,IAC5F,GACT,KAAS,GAGb,EAAI,YACJ,EAAI,OAAO,EAAI,GACf,IAAC,IAAI,EAAI,EAAG,EAAI,EAAS,EAAG,IAAK,CACnC,IAAM,EAAQ,EAAO,GACrB,EAAQ,OAAO,EAAM,GAAI,EAAM,IAEjC,EAAQ,OAAO,EAAI,KAGnB,EAAF,iCAAc,GACZ,IAAM,EAAkB,KAAK,IAAI,mBAC3B,EAAgB,KAAK,IAAI,iBAC3B,GACF,EAAgB,KAAK,GAEnB,GACF,EAAc,KAAK,IAQrB,EAAF,oCACU,MAAW,KAAK,OAAV,OAER,EAAc,KAAK,IAAI,eAC7B,OAAK,gBAAM,IAGX,KAAK,IAAI,cAAe,IAAa,OAAO,IACrC,KAAK,IAAI,gBAHP,GAWX,8BAAS,GACC,IAQJ,EACA,EATI,EAAW,KAAK,OAAV,OAEV,EAAS,KAAK,IAAI,UActB,OAbK,IACH,KAAK,aACL,EAAS,KAAK,IAAI,WAKpB,eAAK,GAAQ,SAAC,EAAG,GACX,GAAS,EAAE,IAAM,GAAS,EAAE,KAC9B,GAAQ,EAAQ,EAAE,KAAO,EAAE,GAAK,EAAE,IAClC,EAAQ,MAGL,IAAS,QAAQ,EAAO,GAAO,GAAI,EAAO,GAAO,GAAI,EAAO,EAAQ,GAAG,GAAI,EAAO,EAAQ,GAAG,GAAI,IAG1G,kCACU,MAAW,KAAK,OAAV,OACd,GAAK,GAA4B,IAAlB,EAAO,OAAtB,CAIA,IAAM,EAAc,KAAK,iBACzB,KAAI,GAAe,GAAnB,CAIA,IAEI,EACA,EAHA,EAAa,EACX,EAAS,GAIf,eAAK,GAAQ,SAAC,EAAG,GACX,EAAO,EAAI,MACb,EAAW,IACF,GAAK,EAAa,EAC3B,EAAW,IAAS,OAAO,EAAE,GAAI,EAAE,GAAI,EAAO,EAAI,GAAG,GAAI,EAAO,EAAI,GAAG,IACvE,GAAc,EACd,EAAS,GAAK,EAAa,EAC3B,EAAO,KAAK,OAGhB,KAAK,IAAI,SAAU,MAOrB,uCACU,MAAW,KAAK,OAAV,OACR,EAAS,GAGf,OAFA,EAAO,KAAK,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,KACrC,EAAO,KAAK,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,KAC9B,GAOT,qCACU,MAAW,KAAK,OAAV,OACR,EAAI,EAAO,OAAS,EACpB,EAAS,GAGf,OAFA,EAAO,KAAK,CAAC,EAAO,EAAI,GAAG,GAAI,EAAO,EAAI,GAAG,KAC7C,EAAO,KAAK,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,KAC9B,GAEX,EAvMA,CAAuB,G,QCAvB,IA4Ee,EA5Ef,YAAE,SAAF,I,+CA0EE,OA1EiB,yBACf,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WAC/B,OAAJ,yCACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,MAAO,EACP,OAAQ,EACR,OAAQ,KAIV,EAAF,oCAAiB,EAAG,EAAG,EAAU,EAAQ,GACnC,IAAE,EAAQ,KAAK,OACb,EAAO,EAAM,EACb,EAAO,EAAM,EACb,EAAQ,EAAM,MACd,EAAS,EAAM,OACf,EAAS,EAAM,OAEjB,GAAC,EAaE,CACC,IAAF,GAAQ,EASN,OARF,IACF,EC9CM,SAAyB,EAAM,EAAM,EAAO,EAAQ,EAAQ,EAAW,EAAG,GAEpF,OACA,EAAO,EAAO,EAAQ,EAAM,EAAO,EAAQ,EAAQ,EAAM,EAAW,EAAG,IACvE,EAAO,EAAO,EAAO,EAAO,EAAQ,EAAO,EAAO,EAAO,EAAS,EAAQ,EAAW,EAAG,IACxF,EAAO,EAAO,EAAQ,EAAQ,EAAO,EAAQ,EAAO,EAAQ,EAAO,EAAQ,EAAW,EAAG,IACzF,EAAO,EAAM,EAAO,EAAS,EAAQ,EAAM,EAAO,EAAQ,EAAW,EAAG,IACxE,EAAM,EAAO,EAAQ,EAAQ,EAAO,EAAQ,EAAQ,IAAM,KAAK,GAAI,EAAI,KAAK,GAAI,EAAW,EAAG,IAC9F,EAAM,EAAO,EAAQ,EAAQ,EAAO,EAAS,EAAQ,EAAQ,EAAG,GAAM,KAAK,GAAI,EAAW,EAAG,IAC7F,EAAM,EAAO,EAAQ,EAAO,EAAS,EAAQ,EAAQ,GAAM,KAAK,GAAI,KAAK,GAAI,EAAW,EAAG,IAC3F,EAAM,EAAO,EAAQ,EAAO,EAAQ,EAAQ,KAAK,GAAI,IAAM,KAAK,GAAI,EAAW,EAAG,GDoCtE,CAAiB,EAAM,EAAM,EAAO,EAAQ,EAAQ,EAAW,EAAG,KAIvE,GAAS,IACZ,EAAQ,EAAc,KAAM,EAAG,IAE1B,EAtBD,MAAY,EAAY,EAExB,OAAF,GAAU,EACL,YAAM,EAAO,EAAW,EAAO,EAAW,EAAQ,EAAW,EAAS,EAAW,EAAG,GAGzF,EACK,YAAM,EAAM,EAAM,EAAO,EAAQ,EAAG,GAEzC,EEzCI,SAAiB,EAAM,EAAM,EAAO,EAAQ,EAAW,EAAG,GACpE,IAAI,EAAY,EAAY,EAE5B,OACA,YAAM,EAAO,EAAW,EAAO,EAAW,EAAO,EAAW,EAAG,IAC7D,OAAF,IAAE,CAAI,EAAO,EAAQ,EAAW,EAAO,EAAW,EAAW,EAAQ,EAAG,IACxE,YAAM,EAAO,EAAW,EAAO,EAAS,EAAW,EAAO,EAAW,EAAG,IACxE,YAAM,EAAO,EAAW,EAAO,EAAW,EAAW,EAAQ,EAAG,GFmCrD,CAAO,EAAM,EAAM,EAAO,EAAQ,EAAW,EAAG,QADzD,GAiBF,EAAF,8BAAW,GACL,IAAE,EAAQ,KAAK,OACb,EAAI,EAAM,EACV,EAAI,EAAM,EACV,EAAQ,EAAM,MACd,EAAS,EAAM,OACf,EAAS,EAAM,OAGjB,GADA,EAAI,YACO,IAAX,EAEI,EAAE,KAAK,EAAG,EAAG,EAAO,OACrB,CACC,MAAmB,YAAY,GAA9B,EAAE,KAAE,EAAE,KAAE,EAAE,KAAE,EAAE,KACf,EAAE,OAAO3/C,EAAI,EAAI,GACjB,EAAE,OAAO,EAAI,EAAQ,EAAI,GACxB,IAAD,GAAM,EAAQ,IAAI,EAAI,EAAQ,EAAI,EAAI,EAAIs0D,GAAK,KAAK,GAAK,EAAG,GAC5D,EAAE,OAAO,EAAI,EAAO,EAAI,EAAS,GAChC,IAAD,GAAM,EAAQ,IAAI,EAAI,EAAQ,EAAI,EAAI,EAAS,EAAI,EAAI,EAAG,KAAK,GAAK,GACpE,EAAE,OAAO,EAAI,EAAI,EAAI,GACpB,IAAD,GAAM,EAAQ,IAAI,EAAI,EAAI,EAAI,EAAS,EAAIymB,EAAI,KAAK,GAAK,EAAG,KAAK,IACjE,EAAE,OAAO,EAAG,EAAI,GACf,IAAD,GAAM,EAAQ,IAAI,EAAI,EAAI,EAAI,EAAI,EAAI,KAAK,GAAc,IAAV,KAAK,IACpD,EAAE,cAGd,EA1EA,CAAmB,G,QG+IJ,EAnJf,yB,+CAiJA,OAjJmB,yBAEjB,uCACE,IAAM,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,KAAM,KACN,SAAU,GACV,WAAY,aACZ,UAAW,SACX,WAAY,SACZ,YAAa,SACb,UAAW,QACX,aAAc,YAKhB,EAAF,kCACE,OAAO,GAIT,+BAAU,GACR,KAAK,gBACD,EAAM,MACR,KAAK,SAAS,EAAM,OAItB,EAAF,mCACE,IAAM,EAAQ,KAAK,MACnB,EAAM,KAAO,uBAAa,IAI1BC,EAAK/mF,UAAU,SAAjB,SAAS,GACH,MAAU,KACV,YAAS,KAAiC,IAAxB,EAAK,QAAQ,QACjC,EAAU,EAAK,MAAM,OAEnB,KAAC,IAAI,UAAW,IAIpB,EAAF,gCAAa,EAAc,EAAY,GACjC,EAAJ,UAAM,aAAY,UAAC,EAAM,EAAO,GAC5B,EAAK,WAAW,SACZ,KAAD,gBAEM,SAAT,GACF,KAAK,SAAS,IAUhB,EAAF,mCACM,IAAE,EAAQ,KAAK,MACb,EAAa,EAAM,WACnB,EAA4B,EAAjB,EAAM,SACnB,OAAG,EAAa,EAAa,EAAsB,IAAX,GAI5C,EAAF,gCAAa,EAAS,EAAS,GACzB,IAOA,EAPE,EAAQ,KAAK,MACb,EAAe,EAAM,aACrB,EAAI,EAAM,EACV,EAAI,EAAM,EACV,EAA4B,EAAjB,EAAM,SACjB,EAAY,KAAK,gBACjB,EAAS,wBAAc,EAAM,KAAM,EAAM,SAAU,EAAM,YAE3D,OAAJ,IAAI,CAAC,GAAS,SAAC,EAAS,GAChB,EAAC,EAAI,GAAS,EAAY,GAAY,EAAS,EAChC,WAAjB,IAA2B,GAAQ,EAAS,GAAY,EAAS,GAAY,GAC5D,QAAjB,IAAwB,GAAQ,EAAS,GACzC,EACM,WAAS,EAAS,EAAG,GAErB,aAAW,EAAS,EAAG,OAMnC,EAAF,6BAAU,EAAS,GACb,IAAE,EAAQ,KAAK,OACb,EAAI,EAAM,EACV,EAAI,EAAM,EACV,EAAU,KAAK,IAAI,WACrB,KACI,KAAD,aAAa,EAAS,EAAS,OAC/B,CACC,MAAO,EAAM,KACf,EACF,EAAQ,SAAS,EAAM,EAAG,GAE1B,EAAQ,WAAWooB,EAAM,EAAG,KAMlC,mCAAc,GACN,MAAqD,KAAK,MAAxD,EAAS,YAAE,EAAO,UAAE,EAAa,gBAAE,EAAW,cAElD,KAAK,YACH,EAAY,IACT,YAAM,IAAoC,IAAlB,IAC3B,EAAQ,YAAc,GAExB,KAAK,OAAO,IAIZ,KAAK,WACF,YAAM,IAAgC,IAAhB,EAKzB,KAAK,KAAK,IAJV,EAAQ,YAAc,EACtB,KAAK,KAAK,GACV,EAAQ,YAAc,IAM1B,KAAK,cAAc,IAIrB,0BAAK,GACH,KAAK,UAAU,GAAS,IAI1B,4BAAO,GACL,KAAK,UAAU,GAAS,IAE5B,EAjJA,CAAmB,I,6BCRnB,gRAAI4+D,EAAQ,6EAKRC,EAAO,UACPC,EAAU,gBACd,SAASC,EAAQ9mF,EAAK+mF,GAElB,IADA,IAAIC,EAAS,GACJjpF,EAAI,EAAGgrC,EAAM/oC,EAAIM,OAAQvC,EAAIgrC,EAAKhrC,IACvCipF,EAAOhiF,KAAKhF,EAAIjC,GAAG2hC,OAAO,EAAGqnD,IAEjC,OAAOC,EAEX,IAAIC,EAAc,SAAUC,GAAW,OAAO,SAAUtiF,EAAGuiF,GACvD,IACI/mF,EADe+mF,EAAKD,GAASlhE,KAAI,SAAUphB,GAAK,OAAOA,EAAE0H,iBACpCjM,QAAQuE,EAAE0H,eACnC,OAAIlM,GAAS,EACFA,EAEJ,OAEX,SAASyB,EAAOulF,GAEZ,IADA,IAAI/lC,EAAO,GACFgmC,EAAK,EAAGA,EAAKvlF,UAAUxB,OAAQ+mF,IACpChmC,EAAKgmC,EAAK,GAAKvlF,UAAUulF,GAE7B,IAAK,IAAIC,EAAK,EAAGC,EAASlmC,EAAMimC,EAAKC,EAAOjnF,OAAQgnF,IAAM,CACtD,IAAI3mF,EAAM4mF,EAAOD,GACjB,IAAK,IAAIhoF,KAAOqB,EAEZymF,EAAQ9nF,GAAOqB,EAAIrB,GAG3B,OAAO8nF,EAEX,IAAII,EAAW,CACX,SACA,SACA,UACA,YACA,WACA,SACA,YAEAC,EAAa,CACb,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,YAEAC,EAAkBZ,EAAQW,EAAY,GAEtCE,EAAc,CACdC,cAFgBd,EAAQU,EAAU,GAGlCA,SAAUA,EACVE,gBAAiBA,EACjBD,WAAYA,EACZI,KAAM,CAAC,KAAM,MACbC,KAAM,SAAUC,GACZ,OAAQA,EACJ,CAAC,KAAM,KAAM,KAAM,MAAMA,EAAa,GAAK,EACrC,GACEA,EAAcA,EAAa,IAAQ,GAAK,EAAI,GAAKA,EAAc,MAG/EC,EAAanmF,EAAO,GAAI8lF,GACxBM,EAAoB,SAAUd,GAC9B,OAAQa,EAAanmF,EAAOmmF,EAAYb,IAExCe,EAAc,SAAUjoF,GACxB,OAAOA,EAAIkoF,QAAQ,oBAAqB,SAExCC,EAAM,SAAUhwB,EAAKrvB,GAGrB,SAFY,IAARA,IAAkBA,EAAM,GAC5BqvB,EAAMiwB,OAAOjwB,GACNA,EAAI93D,OAASyoC,GAChBqvB,EAAM,IAAMA,EAEhB,OAAOA,GAEPkwB,EAAc,CACdC,EAAG,SAAUC,GAAW,OAAOH,OAAOG,EAAQC,YAC9CC,GAAI,SAAUF,GAAW,OAAOJ,EAAII,EAAQC,YAC5CE,GAAI,SAAUH,EAASrB,GACnB,OAAOA,EAAKW,KAAKU,EAAQC,YAE7BpqF,EAAG,SAAUmqF,GAAW,OAAOH,OAAOG,EAAQI,WAC9CC,GAAI,SAAUL,GAAW,OAAOJ,EAAII,EAAQI,WAC5CE,IAAK,SAAUN,EAASrB,GACpB,OAAOA,EAAKS,cAAcY,EAAQI,WAEtCG,KAAM,SAAUP,EAASrB,GACrB,OAAOA,EAAKK,SAASgB,EAAQI,WAEjCI,EAAG,SAAUR,GAAW,OAAOH,OAAOG,EAAQS,WAAa,IAC3DC,GAAI,SAAUV,GAAW,OAAOJ,EAAII,EAAQS,WAAa,IACzDE,IAAK,SAAUX,EAASrB,GACpB,OAAOA,EAAKO,gBAAgBc,EAAQS,aAExCG,KAAM,SAAUZ,EAASrB,GACrB,OAAOA,EAAKM,WAAWe,EAAQS,aAEnCI,GAAI,SAAUb,GACV,OAAOJ,EAAIC,OAAOG,EAAQc,eAAgB,GAAG5pD,OAAO,IAExD6pD,KAAM,SAAUf,GAAW,OAAOJ,EAAII,EAAQc,cAAe,IAC7DjpE,EAAG,SAAUmoE,GAAW,OAAOH,OAAOG,EAAQgB,WAAa,IAAM,KACjEC,GAAI,SAAUjB,GAAW,OAAOJ,EAAII,EAAQgB,WAAa,IAAM,KAC/DE,EAAG,SAAUlB,GAAW,OAAOH,OAAOG,EAAQgB,aAC9CG,GAAI,SAAUnB,GAAW,OAAOJ,EAAII,EAAQgB,aAC5CrrF,EAAG,SAAUqqF,GAAW,OAAOH,OAAOG,EAAQoB,eAC9CC,GAAI,SAAUrB,GAAW,OAAOJ,EAAII,EAAQoB,eAC5C9pF,EAAG,SAAU0oF,GAAW,OAAOH,OAAOG,EAAQsB,eAC9CC,GAAI,SAAUvB,GAAW,OAAOJ,EAAII,EAAQsB,eAC5CE,EAAG,SAAUxB,GACT,OAAOH,OAAOx3E,KAAKuP,MAAMooE,EAAQyB,kBAAoB,OAEzDC,GAAI,SAAU1B,GACV,OAAOJ,EAAIv3E,KAAKuP,MAAMooE,EAAQyB,kBAAoB,IAAK,IAE3DE,IAAK,SAAU3B,GAAW,OAAOJ,EAAII,EAAQyB,kBAAmB,IAChEpkF,EAAG,SAAU2iF,EAASrB,GAClB,OAAOqB,EAAQgB,WAAa,GAAKrC,EAAKU,KAAK,GAAKV,EAAKU,KAAK,IAE9DuC,EAAG,SAAU5B,EAASrB,GAClB,OAAOqB,EAAQgB,WAAa,GACtBrC,EAAKU,KAAK,GAAGwC,cACblD,EAAKU,KAAK,GAAGwC,eAEvBC,GAAI,SAAU9B,GACV,IAAIlgE,EAASkgE,EAAQ+B,oBACrB,OAASjiE,EAAS,EAAI,IAAM,KACxB8/D,EAAwC,IAApCv3E,KAAKwR,MAAMxR,KAAKsmB,IAAI7O,GAAU,IAAazX,KAAKsmB,IAAI7O,GAAU,GAAK,IAE/EkiE,EAAG,SAAUhC,GACT,IAAIlgE,EAASkgE,EAAQ+B,oBACrB,OAASjiE,EAAS,EAAI,IAAM,KACxB8/D,EAAIv3E,KAAKwR,MAAMxR,KAAKsmB,IAAI7O,GAAU,IAAK,GACvC,IACA8/D,EAAIv3E,KAAKsmB,IAAI7O,GAAU,GAAI,KAGnCmiE,EAAa,SAAU7lF,GAAK,OAAQA,EAAI,GACxC8lF,EAAc,CAAC,KAvJK,aAwJpBC,EAAY,CAAC,KAAM/D,GACnBiB,EAAO,CACP,OACAjB,EACA,SAAUhiF,EAAGuiF,GACT,IAAI/uB,EAAMxzD,EAAE0H,cACZ,OAAI8rD,IAAQ+uB,EAAKU,KAAK,GACX,EAEFzvB,IAAQ+uB,EAAKU,KAAK,GAChB,EAEJ,OAGX+C,EAAiB,CACjB,iBACA,4CACA,SAAUhmF,GACN,IAAIimF,GAASjmF,EAAI,IAAIkmF,MAAM,iBAC3B,GAAID,EAAO,CACP,IAAIE,EAAsB,IAAXF,EAAM,GAAUvrE,SAASurE,EAAM,GAAI,IAClD,MAAoB,MAAbA,EAAM,GAAaE,GAAWA,EAEzC,OAAO,IAGXC,EAAa,CACbzC,EAAG,CAAC,MApLgB,aAqLpBG,GAAI,CAAC,MApLO,UAqLZC,GAAI,CAAC,MAtLe,YAsLY/B,EAAM,SAAUhiF,GAAK,OAAO0a,SAAS1a,EAAG,MACxEokF,EAAG,CAAC,QAvLgB,YAuLYyB,GAChCvB,GAAI,CAAC,QAvLO,SAuLauB,GACzBpB,GAAI,CACA,OAzLQ,SA2LR,SAAUzkF,GACN,IACIqmF,IAAS,IADH,IAAIn4E,MACQw2E,eAAe5pD,OAAO,EAAG,GAC/C,QAAS,KAAO96B,EAAI,GAAKqmF,EAAO,EAAIA,GAAQrmF,KAGpDyb,EAAG,CAAC,OAlMgB,iBAkMWlb,EAAW,QAC1CskF,GAAI,CAAC,OAlMO,cAkMYtkF,EAAW,QACnCukF,EAAG,CAAC,OApMgB,aAqMpBC,GAAI,CAAC,OApMO,UAqMZxrF,EAAG,CAAC,SAtMgB,aAuMpB0rF,GAAI,CAAC,SAtMO,UAuMZ/pF,EAAG,CAAC,SAxMgB,aAyMpBiqF,GAAI,CAAC,SAxMO,UAyMZR,KAAM,CAAC,OAvMM,UAwMbS,EAAG,CAAC,cAAe,MAAO,SAAUplF,GAAK,OAAY,KAAJA,IACjDslF,GAAI,CAAC,cA3MO,SA2MmB,SAAUtlF,GAAK,OAAY,IAAJA,IACtDulF,IAAK,CAAC,cA3MQ,UA4Md9rF,EAAGqsF,EACH7B,GAAI6B,EACJ5B,IAAK6B,EACL5B,KAAM4B,EACNxB,IAAK,CAAC,QAASvC,EAAMK,EAAY,oBACjCmC,KAAM,CAAC,QAASxC,EAAMK,EAAY,eAClCphF,EAAGgiF,EACHuC,EAAGvC,EACHyC,GAAIM,EACJJ,EAAGI,GAGHM,EAAc,CACdlkF,QAAS,2BACTmkF,UAAW,SACXC,WAAY,cACZC,SAAU,eACVC,SAAU,qBACVC,QAAS,aACTC,YAAa,uBACbC,UAAW,QACXC,WAAY,WACZC,SAAU,gBAEVC,EAAqB,SAAUC,GAAS,OAAOhqF,EAAOqpF,EAAaW,IAQnE1sE,EAAS,SAAUqpE,EAASxpD,EAAMmoD,GAMlC,QALa,IAATnoD,IAAmBA,EAAOksD,EAAW,cAC5B,IAAT/D,IAAmBA,EAAO,IACP,iBAAZqB,IACPA,EAAU,IAAI11E,KAAK01E,IAEyB,kBAA5C/pF,OAAOkB,UAAUQ,SAASjC,KAAKsqF,IAC/BvoE,MAAMuoE,EAAQsD,WACd,MAAM,IAAIxrD,MAAM,+BAGpB,IAAIyrD,EAAW,GAEf/sD,GAHAA,EAAOksD,EAAYlsD,IAASA,GAGhBmpD,QAAQtB,GAAS,SAAUmF,EAAIC,GAEvC,OADAF,EAAS/mF,KAAKinF,GACP,SAEX,IAAIC,EAAuBrqF,EAAOA,EAAO,GAAImmF,GAAab,GAM1D,OAJAnoD,EAAOA,EAAKmpD,QAAQxB,GAAO,SAAUqF,GACjC,OAAO1D,EAAY0D,GAAIxD,EAAS0D,OAGxB/D,QAAQ,QAAQ,WAAc,OAAO4D,EAASxlF,YAU9D,SAAS4lF,EAAMC,EAASjtE,EAAQgoE,GAE5B,QADa,IAATA,IAAmBA,EAAO,IACR,iBAAXhoE,EACP,MAAM,IAAImhB,MAAM,iCAMpB,GAHAnhB,EAAS+rE,EAAY/rE,IAAWA,EAG5BitE,EAAQ9rF,OAAS,IACjB,OAAO,KAGX,IACI+rF,EAAW,CACXC,MAFQ,IAAIx5E,MAEAw2E,cACZiD,MAAO,EACPC,IAAK,EACLC,KAAM,EACNC,OAAQ,EACRC,OAAQ,EACRC,YAAa,EACbC,KAAM,KACNjC,eAAgB,MAEhBkC,EAAY,GACZf,EAAW,GAEXgB,EAAY5tE,EAAOgpE,QAAQtB,GAAS,SAAUmF,EAAIC,GAElD,OADAF,EAAS/mF,KAAKkjF,EAAY+D,IACnB,SAEPe,EAAkB,GAClBC,EAAiB,GAErBF,EAAY7E,EAAY6E,GAAW5E,QAAQxB,GAAO,SAAUqF,GACxD,IAAI1P,EAAO0O,EAAWgB,GAClBriF,EAAQ2yE,EAAK,GAAI4Q,EAAQ5Q,EAAK,GAAI6Q,EAAgB7Q,EAAK,GAE3D,GAAI0Q,EAAgBrjF,GAChB,MAAM,IAAI22B,MAAM,mBAAqB32B,EAAQ,8BAQjD,OANAqjF,EAAgBrjF,IAAS,EAErBwjF,IACAF,EAAeE,IAAiB,GAEpCL,EAAU9nF,KAAKs3E,GACR,IAAM4Q,EAAQ,OAGzBzuF,OAAOmN,KAAKqhF,GAAgBv9D,SAAQ,SAAU/lB,GAC1C,IAAKqjF,EAAgBrjF,GACjB,MAAM,IAAI22B,MAAM,mBAAqB32B,EAAQ,uCAIrDojF,EAAYA,EAAU5E,QAAQ,QAAQ,WAAc,OAAO4D,EAASxlF,WAEpE,IAAI6mF,EAAUhB,EAAQtB,MAAM,IAAI51E,OAAO63E,EAAW,MAClD,IAAKK,EACD,OAAO,KAIX,IAFA,IAAIlB,EAAuBrqF,EAAOA,EAAO,GAAImmF,GAAab,GAEjDppF,EAAI,EAAGA,EAAIqvF,EAAQ9sF,OAAQvC,IAAK,CACrC,IAAIupF,EAAKwF,EAAU/uF,EAAI,GAAI4L,EAAQ29E,EAAG,GAAI+F,EAAS/F,EAAG,GAClDtoF,EAAQquF,EACNA,EAAOD,EAAQrvF,GAAImuF,IAClBkB,EAAQrvF,GAEf,GAAa,MAATiB,EACA,OAAO,KAEXqtF,EAAS1iF,GAAS3K,EAEA,IAAlBqtF,EAASQ,MAA+B,MAAjBR,EAASI,MAAmC,KAAlBJ,EAASI,KAC1DJ,EAASI,MAAQJ,EAASI,KAAO,GAEV,IAAlBJ,EAASQ,MAAiC,KAAlBR,EAASI,OACtCJ,EAASI,KAAO,GAUpB,IARA,IAAIa,EAAgB,IAAIx6E,KAAKu5E,EAASC,KAAMD,EAASE,MAAOF,EAASG,IAAKH,EAASI,KAAMJ,EAASK,OAAQL,EAASM,OAAQN,EAASO,aAChIW,EAAiB,CACjB,CAAC,QAAS,YACV,CAAC,MAAO,WACR,CAAC,OAAQ,YACT,CAAC,SAAU,cACX,CAAC,SAAU,eAECxkD,GAAPhrC,EAAI,EAASwvF,EAAejtF,QAAQvC,EAAIgrC,EAAKhrC,IAGlD,GAAIivF,EAAgBO,EAAexvF,GAAG,KAClCsuF,EAASkB,EAAexvF,GAAG,MAAQuvF,EAAcC,EAAexvF,GAAG,MACnE,OAAO,KAGf,OAA+B,MAA3BsuF,EAASzB,eACF0C,EAEJ,IAAIx6E,KAAKA,KAAK06E,IAAInB,EAASC,KAAMD,EAASE,MAAOF,EAASG,IAAKH,EAASI,KAAMJ,EAASK,OAASL,EAASzB,eAAgByB,EAASM,OAAQN,EAASO,cAE9J,IAAIa,EAAQ,CACRtuE,OAAQA,EACRgtE,MAAOA,EACPxE,YAAaA,EACbM,kBAAmBA,EACnB2D,mBAAoBA,GAGT6B,a,8EjbtXf,UARc,SAAS,GAKnB,OAAK,U,sPkbNT,OAOA,wBAA6BxqE,GAC3B,QAAKA,MACkB,IAAnBA,EAAO4E,SAA2C,iBAAhB5E,EAAO8E,OAAqB9E,EAAO8E,KAAK3I,SAgBhF,qBAA0B6D,EAAkByqE,GAC1C,IAAM3tF,EAAS,EAAH,eAAOkjB,GAInB,OAHAyqE,EAAOh+D,SAAQ,SAACszD,EAAK5iF,GACnBL,EAAOupB,OAAO05D,EAAM5iF,EAAO,EAAG,SAEzBL,EAAO2jB,KAAK,KAMrB,6BAAkC/Y,GAChC,OAAQA,EACLgkC,gBACAhR,QAAO,SAACiR,GAAO,OAAAA,EAAGtjC,OAAS,EAAAmD,eAAe8zC,QAC1Cv8B,KAAI,SAAC4oB,GAAO,OAAAA,EAAGpY,cAGpB,+BAAoC7rB,GAClC,OAAQA,EACLgkC,gBACAhR,QAAO,SAACiR,GAAO,OAAAA,EAAGtjC,OAAS,EAAAmD,eAAeikE,UAC1C1sD,KAAI,SAAC4oB,GAAO,OAAAA,EAAGpY,cAGpB,yBAA8B7rB,GAO5B,OANkBA,EAAKwgB,gBAAgBwiE,SAAQ,SAAC9gF,GAC9C,GAAIA,EAAGjO,IAAI,QAET,MAAmB,SADNiO,EAAGjO,IAAI,QAAQ+vB,MAAM,KACtB,OAMlB,2BAAgChkB,GAM9B,OALkBA,EAAK2gB,gBAAgBqiE,SAAQ,SAAC9gF,GAC9C,GAAIA,EAAGjO,IAAI,QACT,MAA0B,sBAAnBiO,EAAGjO,IAAI,YAMpB,2BAAmCoB,EAAUo4D,GAE3C,IADA,IAAIr6D,EAAIiC,EAAIM,OACLvC,EAAI,KACLq6D,GAAOp4D,EAAIjC,EAAI,KAGnBA,GAAK,EAEP,OAAOA,GAIT,2BAAgC6vF,EAAaC,GAC3C,QAAID,EAAM77E,KAAO87E,EAAM/7E,MAAQ+7E,EAAM97E,KAAO67E,EAAM97E,SAG9C87E,EAAM/7E,KAAOg8E,EAAMj8E,MAAQi8E,EAAMh8E,KAAO+7E,EAAMh8E,OASpD,sBACE,QAASk8E,UAAUC,UAAUjD,MAAM,gD,yFC/FrC,OAqBA,cAkCE,WACE3gF,EACAoB,EACAyiF,EACAtjE,GAJF,MAME,YAAMvgB,IAAI,K,OACV,EAAKoB,UAAYA,EACjB,EAAKyiF,iBAAmBA,EACxB,EAAKC,kBAAoBvjE,EACzB,EAAKwjE,YAAc,G,EAsCvB,OAlFsD,iBACtC,EAAAjgF,oBAAd,SAAkC3C,EAAcg6B,GAC9C6oD,EAAgBC,uBAAuB9iF,GAAQg6B,GAGnC,EAAA+oD,wBAAd,SAAsCC,EAAkBhjF,EAAcg6B,GAC/D6oD,EAAgBI,qBAAqBD,KACxCH,EAAgBI,qBAAqBD,GAAY,IAEnDH,EAAgBI,qBAAqBD,GAAUhjF,GAAQg6B,GAG3C,EAAAzV,eAAd,SAA6BvkB,EAAcgjF,GACzC,OAAIA,GAAYH,EAAgBI,qBAAqBD,IAAaH,EAAgBG,GAAUhjF,GACnF6iF,EAAgBI,qBAAqBD,GAAUhjF,GAEjD6iF,EAAgBC,uBAAuB9iF,IAIlC,EAAAwkB,oBAAd,SAAkC0+D,EAAkB9jE,KA2B7C,YAAA5hB,QAAP,WACE,EAAAoC,KAAKxJ,KAAKwsF,aAAa,SAACO,GACtBA,OAEF/sF,KAAKwsF,YAAc,GACnBxsF,KAAK6oB,QACL,YAAMzhB,QAAO,YAGL,YAAA4lF,aAAV,WACE,OAAOhtF,KAAK6J,WAGJ,YAAAojF,SAAV,WACE,OAAOjtF,KAAKssF,kBAGJ,YAAAY,qBAAV,WACE,OAAOltF,KAAKusF,mBAGJ,YAAA36D,cAAV,SAAwBm7D,GACtB/sF,KAAKwsF,YAAYlpF,KAAKypF,IAGjB,YAAAzjF,OAAP,aAKU,YAAA8W,MAAV,SAAgB0E,KArDD,EAAA4nE,uBAAyC,GACzC,EAAAG,qBAA2D,GAyD5E,EAlFA,CAlBA,yBAkBsD,S,UAAxBJ,G,6BpSrB9B,kBAEM,EAAU,wBACV,EAAU,kCACV,EAAU,gEACV,EAAiB,8BAcjB,EAAW,SAAC,EAAiB,EAAe,EAAiB,GACjE,OAAO,EAAM,IAAU,EAAI,GAAS,EAAM,IAAU,GAItD,SAAS,EAAQ,GACf,MAAO,IAAI,EAAM,EAAI,IAAM,EAAM,EAAI,IAAM,EAAM,EAAI,IAIvD,IAwCI,EAxCE,EAAU,SAAC,GACf,MAAO,CACL,SAAS,EAAI,OAAO,EAAG,GAAI,IAC3B,SAAS,EAAI,OAAO,EAAG,GAAI,IAC3B,SAAS,EAAI,OAAO,EAAG,GAAI,MAKzB,EAAQ,SAAC,GACb,IAAM,EAAW,KAAK,MAAM,GAAO,SAAS,IAE5C,OAA2B,IAApB,EAAS,OAAe,IAAI,EAAa,GAmC5C,EAAQ,SAAC,GAEb,GAAiB,MAAb,EAAM,IAA+B,IAAjB,EAAM,OAC5B,OAAO,EArEO,IACV,EAuED,KAvEC,EAAI,SAAS,cAAc,MAC/B,MAAQ,oBACV,EAAE,MAAM,QAAU,OAClB,SAAS,KAAK,YAAY,GAsExB,EArEK,GAwEP,EAAI,MAAM,MAAQ,EAElB,IAAI,EAAM,SAAS,YAAY,iBAAiB,EAAK,IAAI,iBAAiB,SAO1E,OAFA,EAAM,EAHU,EAAQ,KAAK,GACI,GAAG,MAAM,WAAW,KAAI,SAAC,GAAM,sBA4DnD,WACb,QAAO,EACP,SAlDe,SAAC,GAChB,IAAM,EAAa,mBAAS,GAAW,EAAkB,MAAM,KAAO,EAEhE,EAAS,cAAI,GAAY,SAAC,GAC9B,OAAO,GAAgC,IAAxB,EAAM,QAAQ,KAAc,EAAM,GAAS,MAI5D,OAAO,SAAC,GACN,OApEa,SAAC,EAAoB,GACpC,IAAM,EAAe,MAAM,OAAO,KAAa,EAAU,EAAI,EAC3D,EAAU,EAAI,EACZ,OAAO,GAEL,EAAQ,EAAO,OAAS,EAExB,EAAO,KAAK,MAAM,EAAQ,GAE1B,EAAO,EAAQ,EAAe,EAE9B,EAAQ,EAAO,GAEf,EAAM,IAAS,EAAQ,EAAQ,EAAO,EAAO,GAEnD,OAAO,EAAQ,CACb,EAAS,EAAO,EAAK,EAAM,GAC3B,EAAS,EAAO,EAAK,EAAM,GAC3B,EAAS,EAAO,EAAK,EAAM,KAkDpB,CAAS,EAAQ,KA0C1B,MAAO,kBAAQ,GACf,cAvCoB,SAAC,GACrB,GA/G+B,uBAAuB,KA+GlC,GAAgB,CAClC,IAAI,EACA,OAAK,EACT,GAAyB,MAArB,EAAc,GAAY,CAE5B,IACM,IADA,EAAM,EAAQ,KAAK,IACN,GAAK,GACxB,EAAQ,EAAI,GAEZ,EAAW,mBAAmB,EAAK,aAC9B,GAAyB,MAArB,EAAc,GAAY,CAGnC,IAAM,EADN,EAAW,mBAEX,GADM,EAAM,EAAQ,KAAK,IACb,GAGd,IAAM,EAAuB,EAAM,MAAM,GAWzC,OAVA,eAAK,GAAY,SAAC,EAAM,GACtB,IAAM,EAAU,EAAK,MAAM,KAC3B,GAAe,EAAQ,GAAE,IAAiB,IAAb,EAAQ,GAAQ,IACzC,IAAW,EAAW,OAAS,IACjC,GAAY,SAIhB,GAAY,IAKd,OAAO,K,8EqSrJT,YACA,QACI,EAAJ,OAGA,SAASU,EAAQl0D,EAAY,EAAY,EAAY,EAAY,GAC7D,IAAIm0D,EAAO,EAAI7vF,EACf,OAAK,EAAO,EAAO,EAAO,EAAK,EAAI,EAAK,EAAI,EAAO,EAAO,EAAI,EAAK,EAAI,EAAI,EAAO,EAAK,EAAI,EAAI,EAGnG,SAAS,EAAa,EAAY,EAAY,EAAY,EAAY,GAClE,IAAI,EAAO,EAAIA,EACjB,OAAO,GAAK,EAAO,GAAQ,EAAK,GAAM,EAAI,EAAO,GAAK,EAAK,GAAM,EAAI,GAAK,EAAK,IAGjF,SAAS,EAAQ,EAAY,EAAY,EAAY,GACjD,IAIE,EACA,EACA,EANE,GAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EACpC,EAAI,EAAI,EAAK,GAAK,EAAK,EAAI,EAC3B,EAAI,EAAI,EAAK,EAAI,EACjB,EAAW,GAKf,GAAE,gBAAc,EAAG,GACd,gBAAc,EAAG,KACd,KAAI,IACA,GAAK,GAAM,GACnB,EAAS,KAAK,OAGb,CACD,IAAE,EAAO,EAAI,EAAI,EAAI,EAAI,EACzB,gBAAc,EAAM,GACtB,EAAS,MAAM,GAAK,EAAI,IACf,EAAO,IAGV,IAAC,GAFD,EAAK,KAAK,KAAK,MAEG,EAAI,IADtB,IAAC,EAAI,IAAa,EAAI,KAElB,GAAK,GAAM,GACnB,EAAS,KAAK,GAEZ,GAAM,GAAK,GAAM,GACnB,EAAS,KAAK,IAIpB,OAAO,EAIT,SAAS,EACP,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAGA,IAAM,EAAK,EAAQ,EAAI,EAAI,EAAI,EAAI,GAC7B,EAAK,EAAQ,EAAI,EAAI,EAAI,EAAI,GAE7B,EAAK,UAAK,QAAQ,EAAI,EAAI,EAAI,EAAI,GAClC,EAAK,UAAK,QAAQ,EAAI,EAAI,EAAI,EAAI,GAClC,EAAK,UAAK,QAAQ,EAAI,EAAI,EAAI,EAAI,GAClC,EAAM,UAAK,QAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC3C,EAAM,UAAK,QAAQ,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C,MAAK,CACL,CAAC,EAAI,EAAI,EAAG,EAAG,EAAG,EAAG,EAAI,EAAG,EAAI,EAAG,EAAI,GACvC,CAAC,EAAI,EAAI,EAAI,EAAG,EAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAI,IA2B3C,UAAe,CACX,QAAK,EACL,IAAF,SAAI,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GAKlF,IAJJ,IAAM,EAAO,CAAC,EAAI,GACZ,EAAO,CAAC,EAAI,GACZ,EAAW,EAAQ,EAAI,EAAI,EAAI,GAC/B,EAAW,EAAQ,EAAI,EAAI,EAAI,GAC5B,EAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,EAAK,KAAK,EAAQ,EAAI,EAAI,EAAI,EAAI,EAAS,KAEzC,IAAK,EAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,EAAK,KAAK,EAAQ,EAAI,EAAI,EAAI,EAAI,EAAS,KAEzC,OAAG,iBAAe,EAAM,IAE5B,OAAF,SAAO,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GAEzF,OAvCJ,SAAS,EACP,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEE,GAAqB,IAAnB,EACF,OAAO,aAAW,CAAC,EAAI,EAAI,EAAI,GAAK,CAAC,EAAI,EAAI,EAAI,IAEjD,IAAI,EAAS,EAAY,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,IACrD,EAAO,EAAO,GACd,EAAQ,EAAO,GAGnB,OAFA,EAAG,KAAK,EAAiB,GACzB,EAAI,KAAK,EAAiB,GACrB,EAAY,MAAM,KAAM,GAAQ,EAAY,MAAM,KAAM,GAoBtD,CAAY,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,IAErD,sBACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,OAAO,eAAa,CAAC,EAAI,EAAI,EAAI,GAAK,CAAC,EAAI,EAAI,EAAI,GAAK,EAAI,EAAI,EAAS,IAE3E,uBACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAQ,KAAK,aAAa,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GACxE,OAAO,WAAS,EAAM,EAAG,EAAM,EAAG,EAAI,IAExC,gBAAiB,EACjB,iBACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,MAAO,CACL,EAAG,EAAQ,EAAI,EAAI,EAAI,EAAI,GAC3B,EAAG,EAAQ,EAAI,EAAI,EAAI,EAAI,KAG/B,gBAAO,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GACrG,OAAO,EAAY,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,IAErD,sBACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAK,EAAa,EAAI,EAAI,EAAI,EAAI,GAClC,EAAK,EAAa,EAAI,EAAI,EAAI,EAAI,GACxC,OAAO,QAAM,KAAK,MAAM,EAAI,O,8ErblLhC,YAEA,UAAe,SAAC,GACd,OAAO,UAAO,EAAO,c,6R+OLvB,SAAY,GAEV,cAEA,YAEA,UANF,CAAY,kBAAK,KAYjB,SAAY,GACV,YACA,sBACA,wBACA,gBACA,wBACA,8BACA,cACA,sBACA,4BACA,kBACA,4BACA,8BACA,kBACA,kBAEA,cAhBF,CAAY,0BAAS,KAsBrB,SAAY,GAEV,cAEA,cAEA,kBAEA,oBAEA,0BAEA,gBAZF,CAAY,oCAAc,KAkBb,gBAAgB,CAC3B,KAAM,EACN,IAAK,EACL,GAAI,GAON,SAAY,GACV,+BACA,6BAEA,6BACA,2BAEA,wCACA,sCAEA,6BACA,2BAEA,iCAbF,CAAY,wCAAgB,KAmB5B,SAAY,GAEV,gCACA,8BACA,8BACA,0BACA,gCAEA,gCACA,8BACA,4BACA,kCAEA,qBACA,2BACA,iCAEA,qBACA,qBAlBF,CAAY,8BAAW,KAwBvB,SAAY,GACV,kBACA,sBACA,sBACA,oBAJF,CAAY,kCAAa,KAQZ,cAAc,CAAC,QAAS,QAAS,QAEjC,eAAe,UAEf,kBAAkB,EAElB,mBAAmB,EAEnB,gCAAgC,K,8EuM1H7C,mBAAiCgT,GAC/BA,EAAMsiB,KAAK,OAAQ,M,yFCHrB,OACA,OAEA,2BACA,QAEA,4BACA,QACA,4BACA,OACA,MACA,OACA,6BACA,MAEA,YAIMw6D,EAAc,CAClBC,OAAQ,YAGJC,EAAgB,CACpB18E,SAAU,UAKZ,yE,OAmDS,EAAAjH,KAAe,S,EAkJxB,OArM8F,iBAC9E,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CW,MAAO,CACLV,SAAS,EACTa,SAAU,CACRb,SAAS,GAEXtC,MAAO,CACLsC,SAAS,IAGbiB,MAAO,CACLqW,MAAM,EACN5Z,MAAO,CACLsC,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,GAEXW,KAAM,CACJX,SAAS,IAGbK,QAAS,CACPL,SAAS,EACTM,QAAQ,EACRC,gBAAgB,EAChBkuD,aAAa,GAEfhyE,MAAO,CACLujB,SAAS,EACTI,SAAU,MACVinE,aAAa,GAEfppE,OAAQ,CACN+B,SAAS,EACTI,SAAU,YAEZb,aAAc,CACZ,CAAE9b,KAAM,WACR,CAAEA,KAAM,iBACR,CAAEA,KAAM,iBACR,CAAEA,KAAM,kBAEV6jF,cAAe,CACbtnE,SAAS,MAQR,YAAA0B,WAAP,WACE,YAAMA,WAAU,WAEZ7nB,KAAK4lB,QAAQ8nE,YAAuC,SAAzB1tF,KAAK4lB,QAAQU,SAC1CtmB,KAAK2tF,gBAAgB,cAIlB,YAAAzjE,YAAP,WACE,IAAMnkB,EAAQ/F,KAAK4lB,QACnB5lB,KAAK43D,cAED53D,KAAK4lB,QAAQ8nE,YAAuC,SAAzB1tF,KAAK4lB,QAAQU,SAC1CtmB,KAAK2tF,gBAAgB,eAEnB5nF,EAAM0nF,cAActnE,UACtBnmB,KAAKytF,cAAgB,IAAI,UAAc,EAAD,UACpCxkF,KAAMjJ,KAAKiJ,KACXhB,MAAOlC,EAAM+kB,OACbo0B,WAAW,EACX18B,WAA+B,IAApBzc,EAAMyc,WACdzc,EAAM0nF,iBAGb,YAAMvjE,YAAW,YAGT,YAAA0jE,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAse,YAAV,SAAsB0zB,GACZ,IAAA/wB,EAAW7qB,KAAK4lB,QAAO,OACzBioE,EAAgB,GAMtB,OALA,EAAArkF,KAAKoyC,GAAY,SAAC58C,GAChB,IAAMrC,EAAI,EAAAy1B,MAAMpzB,GAChBrC,EAAEkuB,GAAUluB,EAAEkuB,GAAQpsB,WACtBovF,EAAcvqF,KAAK3G,MAEdkxF,GAGC,YAAA3kE,MAAV,WACU,IAAAtD,EAAY5lB,KAAI,QAClBmoB,EAAS,GAEfA,EAAOvC,EAAQiF,QAAU,CAAEjhB,KAAM,OAC7B,EAAAlE,IAAIkgB,EAAS,UACf,EAAAkoE,aAAa3lE,EAAOvC,EAAQiF,QAASjF,EAAQiB,OAG/CsB,EAAOvC,EAAQkF,QAAU,GACrB,EAAAplB,IAAIkgB,EAAS,UACf,EAAAkoE,aAAa3lE,EAAOvC,EAAQkF,QAASlF,EAAQwB,OAE/CpnB,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGH,YAAAD,MAAV,aAKU,YAAA8kE,aAAV,SAAuBT,KAIb,YAAAnkE,YAAV,WACU,IAAAvD,EAAY5lB,KAAI,QAClBstF,EAAS,EAAAU,QAAQ,WAAY,OAAQ,CACzCC,eAAgB,CAACroE,EAAQiF,OAAQjF,EAAQkF,QACzClkB,KAAM5G,OAEJ4lB,EAAQ6nE,cAActnE,SACxBnmB,KAAKgsB,UACH,QACA,EAAAjiB,QAAQ,GAAI/J,KAAK0M,WAAY,CAC3BipD,iBAAkB,EAAI,KAI5B31D,KAAK+tF,aAAaT,GAClBttF,KAAKstF,OAASA,EACV1nE,EAAQY,UAAYZ,EAAQY,QAAQsc,QAAUld,EAAQY,QAAQkX,YAChE19B,KAAKkuF,kBAEPluF,KAAKgsB,UAAU,WAAYshE,IAGnB,YAAAY,gBAAV,WACEluF,KAAKstF,OAAO9mE,QAAU,GACtB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAKstF,OAAO9mE,QAAQsc,OAASxW,EAAewW,QAE1CxW,EAAeoR,YACjB19B,KAAKstF,OAAO9mE,QAAQ1U,SAAWwa,EAAeoR,UACzCpR,EAAewW,SAClB9iC,KAAKstF,OAAO9mE,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,QAC5D9qB,KAAK4lB,QAAQq4C,YACfj+D,KAAKstF,OAAO9mE,QAAQsc,OAAOx/B,KAAKtD,KAAK4lB,QAAQq4C,eAM3C,YAAAz7C,UAAV,WACE,YAAMA,UAAS,YACgB,IAA3BxiB,KAAK4lB,QAAQpD,YAEfxiB,KAAKstF,OAAO3kE,SAAU,IAIhB,YAAAxhB,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGV,YAAAv2B,YAAV,WACU,IAAAzvC,EAAWnoB,KAAK2H,OAAM,OACxB,EAAoB3H,KAAK4lB,QAAvBhjB,EAAK,QACPsmB,EAAQf,EADO,UAErB,GAAIvlB,aAAK,EAALA,EAAOujB,QAAS,CAClB,IAAM4I,EAAW,EAAAq/D,kBAAkBpuF,KAAKiJ,KAAM,YAC9CjJ,KAAK8uB,cAAcC,EAAU,EAAF,UACzBnlB,KAAM,SACN8zB,UAAWxU,EAAMwU,WAAa,SAAEpgC,GAAkC,OAAA4rB,EAAMwU,UAAUpgC,KAC/E0C,KAAK4lB,QAAQhjB,UAKd,YAAA+qF,gBAAR,SAAwBU,GAAxB,WACQC,EAAU,UAAkBD,GAClC,EAAA7kF,KAAK8kF,GAAS,SAACnxF,GACMA,EACRoxF,OAAO,OAGxB,EArMA,CAA8F,W,YAuM9F,EAAAC,iBAAiB,SAAUC,I,2MCxN3B,WA+BI,SAAF,EAAY,GA7BI,UAAe,aACf,aAAkB,EAClB,cAAmB,EACnB,cAAmB,EAqB3B,iBAAa,EACb,iBAAa,EAKX,cAAO,QAAK,8CAAsC,iCACtD,KAAC,MAAQ,EACT,KAAC,IAAM,EACP,KAAC,OAAS,EACV,KAAC,eAAiB,yBAAI,GACtB,KAAC,aAAe,EAsNxB,OAhNS,oBAAP,WAEM,KAAC,OAAS,CACZ,GAAI,KAAK,MAAM,EAAI,KAAK,IAAI,GAAK,EACjC,GAAI,KAAK,MAAM,EAAI,KAAK,IAAI,GAAK,GAGnC,KAAK,MAAQ,KAAK,IAAI,KAAK,IAAI,EAAI,KAAK,MAAM,GAC9C,KAAK,OAAS,KAAK,IAAI,KAAK,IAAI,EAAI,KAAK,MAAM,IAO1C,mBAAP,SAAc,GACR,OAAJ,SAAI,CAAG,KAAM,GACT,KAAC,WAGA,uBAAP,SAAkB,EAAiB,G,MAC7B,UAAE,UAAO,QAOT,OAJA,KAAK,UAAU,KAChB,GAAD,SAAC,GAAO,QAGH,EAAQ,GAAW,EAAM,IAG3B,sBAAP,SAAiB,EAAe,G,MAC1B,UAAE,UAAO,QAMb,OAJI,KAAK,UAAU,KAChB,GAAD,SAAC,GAAO,SAGF,EAAQ,IAAU,EAAM,IAU3B,wBAAP,SAAmB,EAAW,EAAW,qBACvC,IAAM,EAAS,KAAK,OACd,EAAkB,CAAC,EAAG,EAAG,GAE/B,OADA,OAAK,cAAc,EAAQ,EAAQ,GAC5B,GAUF,yBAAP,SAAoB,EAAW,EAAW,qBACxC,IAAM,EAAS,KAAK,OACd,EAAW,OAAK,OAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GACpD,EAAkB,CAAC,EAAG,EAAG,GAK3B,OAJA,GAEF,OAAK,cAAc,EAAQ,EAAQ,GAE9B,GAQF,oBAAP,SAAe,GACP,2BAAE,MAAG,MACL,EAAS,KAAK,YAAY,EAAG,EAAG,GAClC,MAAG,CACC,EAAH,EAAO,GACV,EAAG,EAAO,KASP,mBAAP,SAAc,GACZ,IAAM,EAAS,KAAK,aAAa,EAAM,EAAG,EAAM,EAAG,GACnD,OAAO,KAAK,YAAY,CACtB,EAAG,EAAO,GACV,EAAG,EAAO,MASP,mBAAP,SAAc,GACZ,IAAM,EAAS,KAAK,OACd,EAAS,KAAK,OAIhB,OAHJ,MAAI,cAAc,EAAQ,EAAQ,EAAE,EAAO,GAAI,EAAO,IACtD,MAAI,WAAW,EAAQ,EAAQ,GAC3B,EAAJ,IAAI,cAAc,EAAQ,EAAQ,CAAC,EAAO,EAAG,EAAO,IAC7C,MAQF,oBAAP,SAAe,GAMb,MALY,MAAR,EACF,KAAK,YAAc,KAAK,WAExB,KAAK,YAAc,KAAK,WAEnB,MASF,kBAAP,SAAa,EAAY,GACvB,IAAM,EAAS,KAAK,OACd,EAAS,KAAK,OAIpB,OAHA,MAAI,cAAc,EAAQ,EAAQ,EAAE,EAAO,GAAI,EAAO,IACtD,MAAI,UAAU,EAAQ,EAAQ,CAAC,EAAI,IAC/B,EAAJ,IAAI,cAAc,EAAQ,EAAQ,CAAC,EAAO,EAAG,EAAO,IAC7C,MASF,sBAAP,SAAiB,EAAW,GAC1B,IAAM,EAAS,KAAK,OAEpB,OADA,MAAI,cAAc,EAAQ,EAAQ,CAAC,EAAG,IAC/B,MAOF,sBAAP,WAEE,OADA,KAAK,cAAgB,KAAK,aACnB,MAGF,sBAAP,WACE,OAAO,KAAK,QAGP,qBAAP,WACE,OAAO,KAAK,OAGP,sBAAP,WACE,OAAO,KAAK,QAGP,sBAAP,WACE,OAAO,KAAK,QAOP,sBAAP,SAAiB,GACf,MAAe,MAAR,EAAc,KAAK,WAAa,KAAK,YAOvC,wBAAP,SAAmB,GAEjB,KAAK,OAAS,GAAkB,yBAAI,KAAK,iBAc7C,EA3PA,G,ECLA,YAII,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,K,OAJI,UAAkB,EAClB,OAAe,YAK7B,EAAK,U,EA0CT,OAjDuC,yBAU9B,oBAAP,WACM,EAAJ,UAAM,QAAO,WAET,IAAE,EAAQ,KAAK,MACb,EAAM,KAAK,IAEbzuF,KAAC,EAAI,CACDogB,MAAC,EAAM,EACPC,IAAD,EAAI,GAEX,KAAK,EAAI,CACP,MAAO,EAAM,EACb,IAAK,EAAI,IAIJ,EAAF,uBAAP,SAAoB,G,MACZ,MAAG,MAMT,OAHI,KAAK,eACN,GAAD,SAAC,GAAG,QAEC,CACL,EAAG,KAAK,WAAW,EAAG,KACtB,EAAG,KAAK,WAAW,EAAG,OAInB,wBAAP,SAAmB,G,MACb,EAAI,KAAK,UAAU,EAAM,EAAG,KAC5B,EAAI,KAAK,UAAU,EAAM,EAAG,KAMhC,OAJI,KAAK,eACN,GAAD,SAAC,GAAG,QAGC,CAAE,EAAC,EAAE,EAAC,IAEjB,EAjDA,CAAuC,G,ECCvC,YAQI,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,KARI,WAAmB,EACnB,OAAe,QASrB,+CAA6B,yCAA2B,iCAAiB,W,OAEjF,EAAK,WAAa,EACd,EAAC,SAAW,EACZ,EAAC,YAAc,EACf,EAAC,OAAS,EAEV,EAAC,U,EAkFT,OApGmC,yBAqB1B,oBAAP,WACM,EAAJ,UAAM,QAAO,WAET,IAAE,GAAiB,KAAK,SAAW,KAAK,aAAe,EAAI,KAAK,IAAM,EACtE,EAAoB,KAAK,IAAI,KAAK,MAAO,KAAK,QAAU,EAExD,KAAK,QAAU,KAAK,QAAU,GAAK,KAAK,QAAU,IAC9C,GAAkB,KAAK,QAG/B,KAAK,EAAI,KAAK,MAAO,GAAa,EAAI,KAAK,aAAgB,GAC3D,KAAK,EAAI,KAAK,GAAe,EAAV,KAAK,IAExB,KAAK,EAAI,CACP,MAAO,KAAK,WACZ,IAAK,KAAK,UAER,KAAC,EAAI,CACP,MAAO,KAAK,YAAc,EACpB,IAAD,KAAK,YAAc,EAAqB,IAAT,KAAK,IAStC,yBAAP,SAAoB,G,MACZ,MAAG,MACL,KAAK,eACN,GAAD,SAAC,GAAG,QAGN,IAAM,EAAM,KAAK,WAAW,EAAG,KACzBljB,EAAI,KAAK,EAAI,EACb,EAAO,KAAK,WAAW,EAAG,KAE5B,MAAG,CACL,EAAG,KAAK,OAAO,EAAI,KAAK,IAAI,IAAQ,EAAI,GACxC,EAAG,KAAK,OAAO,EAAI,KAAK,IAAI,IAAQ,EAAI,KASrC,wBAAP,SAAmB,G,MACX,EAAI,KAAK,EAAI,KAAK,EAAE,MAEpB,EAAI,OAAK,SAAS,CAAC,EAAG,GAAI,CAAC,EAAM,EAAG,EAAM,GAAI,CAAC,KAAK,OAAO,EAAG,KAAK,OAAO,IAE5E,EAAM,MAAI,QAAQ,EAAG,CAAC,EAAG,IAAI,GAC7B,EAAO,EAAM,KAAK,EAElB,OAAK,OAAO,GAAK,IAEnB,EAAO,OAAK,OAAO,IAIrB,EAAM,EADQ,KAAK,OAAO,OAAK,OAAO,GAAK,GAAQ,GACjC,KAAK,GAAK,EAC5B,IAAM,EAAI,KAAK,EAAI,EACf,EAAO,OAAK,OAAO,GAAK,EAC5B,EAAO,wBAAc,EAAM,GAAK,EAAI,EAEpC,IAAI,EAAI,KAAK,UAAU,EAAK,KACxB,EAAI,KAAK,UAAU,EAAM,KAQ7B,OAPA,EAAI,wBAAc,EAAG,GAAK,EAAI,EAC9B,EAAI,wBAAc,EAAG,GAAK,EAAI,EAE1B,KAAK,eACN,GAAD,SAAC,GAAG,QAGC,CAAE,EAAC,EAAE,EAAC,IAEjB,EApGA,CAAmC,G,ECHnC,YASI,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,KATI,WAAmB,EACnB,OAAe,QAUrB,6CAA2B,wCAA8B,iCAAiB,W,OAClF,EAAK,WAAa,EACd,EAAC,SAAW,EACZ,EAAC,YAAc,EACf,EAAC,OAAS,EAEV,EAAC,U,EAsIT,OAxJmC,yBAqB1B,oBAAP,WAGM,IAFA,EAAJ,UAAM,QAAO,WAEN,KAAK,SAAW,KAAK,YACpB,KAAD,UAAsB,EAAV,KAAK,GAGpB,IAQA,EARE,EAAS6C,KAAK,YAEd,EAAW,EAAO,KAAO,EAAO,KAChC,EAAY,EAAO,KAAO,EAAO,KAEjC,EAAO,KAAK,IAAI,EAAO,MAAQ,EAC/B,EAAM,KAAK,IAAI,EAAO,MAAQ,EAIhC,KAAK,OAAS,EAAY,KAAK,MAAQ,GAEzC,EAAY,KAAK,MAAQ,EACzB,KAAK,aAAe,CAClB,EAAG,KAAK,OAAO,GAAK,GAAM,GAAQ,KAAK,MACvC,EAAG,KAAK,OAAO,GAAK,GAAM,GAAO,EAAY,KAI/C,EAAY,KAAK,OAAS,EACpBA,KAAD,aAAe,CAClB,EAAG,KAAK,OAAO,GAAK,GAAM,GAAQ,EAAY,EAC9C,EAAG,KAAK,OAAO,GAAK,GAAM,GAAO,KAAK,SAItCA,KAAC,YAAc,KAAK,OACnB,KAAK,OAEC,KAAK,OAAS,GAAK,KAAK,QAAU,EAC3C,KAAK,YAAc,EAAY,KAAK,QAC3B,KAAK,QAAU,GAAK,KAAK,OAAS,KAC3C,KAAK,YAAc,GAJb,KAAD,YAAc,EAOjB,KAAC,EAAI,CACP,MAAO,KAAK,WACZ,IAAK,KAAK,UAGR,KAAC,EAAI,CACP,MAAO,KAAK,YAAc,KAAK,YAC/B,IAAK,KAAK,cAIP,sBAAP,WACE,OAAO,KAAK,aAGP,yBAAP,SAAoB2wB,G,MACZ,EAAS,KAAK,YAEd,MAAG,MASL,OAPA,KAAK,eACN,GAAD,SAAC,GAAG,QAGF,OAAK,WAAW,EAAG,KACnB,OAAK,WAAW,EAAG,KAEhB,CACL,EAAG,EAAO,EAAI,KAAK,IAAI,GAAK,EAC5B,EAAG,EAAO,EAAI,KAAK,IAAI,GAAK,IAIzB,wBAAP,SAAmB,GACjB,IAAM,EAAS,KAAK,YACd,EAAkB,CAAC,EAAM,EAAI,EAAO,EAAG,EAAM,EAAI,EAAO,GAExD,EAAa,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACxC,EAAJ,IAAI,WAAW,EAAG,EAAG3wB,KAAK8gC,YAEtB,IAAE,EAAmB,CAAC,EAAG,EAAG,GAC5B,EAAJ,KAAK,cAAc,EAAS,EAAS,GACjC,IAAE,EAAmB,CAAC,EAAQ,GAAI,EAAQ,IAC1C,EAAQ,MAAI,QAAQ,EAAS,EAAQ,KAAK,SAAW,KAAK,YAC1D,wBAAc,EAAiB,EAAV,KAAK,MACtB,EAAE,GAEN,IAAE,EAAS,OAAK,OAAO,GAEvB,EAAW,GAAS,KAAK,SAAW,KAAK,YACzC,EAAO,KAAK,SAAW,KAAK,WAAa,EAAI,GAAY,EAEzD,IAAE,EAAW,KAAK,UAAU,EAAQ,KAClC,EAAM,CAAE,EAAG,EAAG,EAAG,GAGnB,OAFA,IAAI,KAAK,aAAe,EAAW,EACnC,IAAI,KAAK,aAAe,EAAW,EAChC,GAGF,sBAAP,WACE,OAAO,KAAK,cAGN,sBAAR,WACE,IAAM,EAAa,KAAK,WAClB,EAAW,KAAK,SACtB,GAAI,KAAK,IAAI,EAAW,IAAyB,EAAV,KAAK,GAC1C,MAAO,CACL,MAAO,EACP,KAAM,EACN,MAAO,EACP,KAAM,GAMV,IAHA,IAAM,EAAK,CAAC,EAAG,KAAK,IAAI,GAAa,KAAK,IAAI,IACxC,EAAK,CAAC,EAAG,KAAK,IAAI,GAAa,KAAK,IAAI,IAErC,EAAI,KAAK,IAAI,EAAY,GAAW,EAAI,KAAK,IAAI,EAAY,GAAW,GAAK,KAAK,GAAK,GAC9F,EAAG,KAAK,KAAK,IAAI,IACjB,EAAG,KAAK,KAAK,IAAI,IAGnB,MAAO,CACL,KAAM,KAAK,IAAG,MAAR,KAAY,GAClB,KAAM,KAAK,IAAG,MAAR,KAAY,GAClB,KAAM,KAAK,IAAG,MAAR,KAAY,GAClB,KAAM,KAAK,IAAG,MAAR,KAAY,KAGxB,EAxJA,CAAmC,GpOF7B,EAAiD,GAM1C,EAAgB,SAAC,GAC5B,OAAO,EAAe,EAAK,gBAQhB,EAAqB,SAACl3B,EAAc,GAE7C,EAAa,EAAK,eAAiB,GvEbvC,EAAmB,OAAQ,GAC3B,EAAmB,YAAa,GAChC,EAAmB,QAAS,GAC5B,EAAmB,QAAS,I,8E/FN5B,UAJY,SAAS,EAAW,GAC9B,OAAS9L,EAAI,EAAK,GAAK,I,8EGDzB,IAAM,EAAS,KAAK,GAAK,IAMzBjC,EAAA,QAJiB,SAAS,GACxB,OAAO,EAAS,I,gEpBKd6yF,EAAJ,yB,+CAqDE,OArDkB,yBAKhB,EAAF,kCAAe,GACb,YAAe,KAAM,IAGrBA,EAAMzwF,UAAU,aAAlB,WACM,OAAG,GAGP,EAAF,kCACM,OAAG,GAIP,EAAF,8BAAW,EAAS,GACd,IACI,EAAE,OAEF,OAAN,IAAM,CAAc,EAAS,GAE7B,EAAK,WAAW,GAChB,EAAQ,UAER,EAAQ,OACR,EAAK,eAIP,EAAF,wBAAK,EAAmC,GAClC,IAAE,EAAW,KAAK,cAClB,EAAS,SACX,EAAQ,OAGR,YAAoB,EAAS,MAC7B,KAAK,WAAW,EAAS,KAAK,WAC9B,YAAa,EAAS,EAAU,GAChC,EAAQ,WAGV,KAAK,IAAI,kBAAmB,KAAK,iBAEjC,KAAK,IAAI,cAAc,IAGvB,EAAF,8BACE,KAAK,IAAI,kBAAmB,MACxB,KAAC,IAAI,cAAc,IAE3B,EArDA,CAAoB,iBAuDL,O,6B4Z/Df,qzCAYO,SAASN,IACd,IAAIoS,EAAM,IAAI4+E,IAAoB,GAclC,OAZIA,KAAuB1/E,eACzBc,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,GAGXA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,EAUF,SAAS6+E,EAAS7+E,EAAK5L,GAU5B,OATA4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,IACJ4L,EASF,SAASqiB,EAAMjuB,GACpB,IAAI4L,EAAM,IAAI4+E,IAAoB,GAUlC,OATA5+E,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACJ4L,EAUF,SAASwP,EAAKxP,EAAK5L,GAUxB,OATA4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACJ4L,EAiBF,SAAS8+E,EAAWC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,GACjE,IAAIv/E,EAAM,IAAI4+E,IAAoB,GAUlC,OATA5+E,EAAI,GAAK++E,EACT/+E,EAAI,GAAKg/E,EACTh/E,EAAI,GAAKi/E,EACTj/E,EAAI,GAAKk/E,EACTl/E,EAAI,GAAKm/E,EACTn/E,EAAI,GAAKo/E,EACTp/E,EAAI,GAAKq/E,EACTr/E,EAAI,GAAKs/E,EACTt/E,EAAI,GAAKu/E,EACFv/E,EAkBF,SAASnK,EAAImK,EAAK++E,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,EAAKC,GAU/D,OATAv/E,EAAI,GAAK++E,EACT/+E,EAAI,GAAKg/E,EACTh/E,EAAI,GAAKi/E,EACTj/E,EAAI,GAAKk/E,EACTl/E,EAAI,GAAKm/E,EACTn/E,EAAI,GAAKo/E,EACTp/E,EAAI,GAAKq/E,EACTr/E,EAAI,GAAKs/E,EACTt/E,EAAI,GAAKu/E,EACFv/E,EASF,SAASw/E,EAASx/E,GAUvB,OATAA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,EAUF,SAASmvC,EAAUnvC,EAAK5L,GAE7B,GAAI4L,IAAQ5L,EAAG,CACb,IAAIqrF,EAAMrrF,EAAE,GACRsrF,EAAMtrF,EAAE,GACRwL,EAAMxL,EAAE,GACZ4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAKy/E,EACTz/E,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK0/E,EACT1/E,EAAI,GAAKJ,OAETI,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GAGb,OAAO4L,EAUF,SAAS62B,EAAO72B,EAAK5L,GAC1B,IAAIurF,EAAMvrF,EAAE,GACRqrF,EAAMrrF,EAAE,GACRsrF,EAAMtrF,EAAE,GACRsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,GACRwrF,EAAM7/E,EAAMJ,EAAMC,EAAME,EACxB+/E,GAAO9/E,EAAML,EAAME,EAAMC,EACzBigF,EAAMhgF,EAAMJ,EAAMC,EAAME,EAExBkgF,EAAMJ,EAAMC,EAAMH,EAAMI,EAAMH,EAAMI,EAExC,OAAKC,GAILA,EAAM,EAAMA,EACZ//E,EAAI,GAAK4/E,EAAMG,EACf//E,EAAI,KAAOD,EAAM0/E,EAAMC,EAAM5/E,GAAOigF,EACpC//E,EAAI,IAAMJ,EAAM6/E,EAAMC,EAAM//E,GAAOogF,EACnC//E,EAAI,GAAK6/E,EAAME,EACf//E,EAAI,IAAMD,EAAM4/E,EAAMD,EAAM7/E,GAAOkgF,EACnC//E,EAAI,KAAOJ,EAAM+/E,EAAMD,EAAMhgF,GAAOqgF,EACpC//E,EAAI,GAAK8/E,EAAMC,EACf//E,EAAI,KAAOF,EAAM6/E,EAAMF,EAAM5/E,GAAOkgF,EACpC//E,EAAI,IAAML,EAAMggF,EAAMF,EAAM//E,GAAOqgF,EAC5B//E,GAbE,KAuBJ,SAASggF,EAAQhgF,EAAK5L,GAC3B,IAAIurF,EAAMvrF,EAAE,GACRqrF,EAAMrrF,EAAE,GACRsrF,EAAMtrF,EAAE,GACRsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,GAUZ,OATA4L,EAAI,GAAKL,EAAMI,EAAMH,EAAME,EAC3BE,EAAI,GAAK0/E,EAAM5/E,EAAM2/E,EAAM1/E,EAC3BC,EAAI,GAAKy/E,EAAM7/E,EAAM8/E,EAAM//E,EAC3BK,EAAI,GAAKJ,EAAMC,EAAMH,EAAMK,EAC3BC,EAAI,GAAK2/E,EAAM5/E,EAAM2/E,EAAM7/E,EAC3BG,EAAI,GAAK0/E,EAAMhgF,EAAMigF,EAAM//E,EAC3BI,EAAI,GAAKN,EAAMI,EAAMH,EAAME,EAC3BG,EAAI,GAAKy/E,EAAM5/E,EAAM8/E,EAAM7/E,EAC3BE,EAAI,GAAK2/E,EAAMhgF,EAAM8/E,EAAM//E,EACpBM,EASF,SAASigF,EAAY7rF,GAC1B,IAAIurF,EAAMvrF,EAAE,GACRqrF,EAAMrrF,EAAE,GACRsrF,EAAMtrF,EAAE,GACRsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,GACZ,OAAOurF,GAAO5/E,EAAMJ,EAAMC,EAAME,GAAO2/E,IAAQ1/E,EAAML,EAAME,EAAMC,GAAO6/E,GAAO5/E,EAAMJ,EAAMC,EAAME,GAW5F,SAASqgF,EAASlgF,EAAK5L,EAAGzE,GAC/B,IAAIgwF,EAAMvrF,EAAE,GACRqrF,EAAMrrF,EAAE,GACRsrF,EAAMtrF,EAAE,GACRsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,GACR+rF,EAAMxwF,EAAE,GACRiwF,EAAMjwF,EAAE,GACRywF,EAAMzwF,EAAE,GACR0wF,EAAM1wF,EAAE,GACRkwF,EAAMlwF,EAAE,GACR2wF,EAAM3wF,EAAE,GACR4wF,EAAM5wF,EAAE,GACRmwF,EAAMnwF,EAAE,GACR6wF,EAAM7wF,EAAE,GAUZ,OATAqQ,EAAI,GAAKmgF,EAAMR,EAAMC,EAAMlgF,EAAM0gF,EAAMvgF,EACvCG,EAAI,GAAKmgF,EAAMV,EAAMG,EAAMjgF,EAAMygF,EAAMtgF,EACvCE,EAAI,GAAKmgF,EAAMT,EAAME,EAAMhgF,EAAMwgF,EAAMrgF,EACvCC,EAAI,GAAKqgF,EAAMV,EAAME,EAAMngF,EAAM4gF,EAAMzgF,EACvCG,EAAI,GAAKqgF,EAAMZ,EAAMI,EAAMlgF,EAAM2gF,EAAMxgF,EACvCE,EAAI,GAAKqgF,EAAMX,EAAMG,EAAMjgF,EAAM0gF,EAAMvgF,EACvCC,EAAI,GAAKugF,EAAMZ,EAAMG,EAAMpgF,EAAM8gF,EAAM3gF,EACvCG,EAAI,GAAKugF,EAAMd,EAAMK,EAAMngF,EAAM6gF,EAAM1gF,EACvCE,EAAI,GAAKugF,EAAMb,EAAMI,EAAMlgF,EAAM4gF,EAAMzgF,EAChCC,EAWF,SAASyrC,EAAUzrC,EAAK5L,EAAGjB,GAChC,IAAIwsF,EAAMvrF,EAAE,GACRqrF,EAAMrrF,EAAE,GACRsrF,EAAMtrF,EAAE,GACRsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,GACR6F,EAAI9G,EAAE,GACNT,EAAIS,EAAE,GAUV,OATA6M,EAAI,GAAK2/E,EACT3/E,EAAI,GAAKy/E,EACTz/E,EAAI,GAAK0/E,EACT1/E,EAAI,GAAKN,EACTM,EAAI,GAAKL,EACTK,EAAI,GAAKJ,EACTI,EAAI,GAAK/F,EAAI0lF,EAAMjtF,EAAIgN,EAAMG,EAC7BG,EAAI,GAAK/F,EAAIwlF,EAAM/sF,EAAIiN,EAAMG,EAC7BE,EAAI,GAAK/F,EAAIylF,EAAMhtF,EAAIkN,EAAMG,EACtBC,EAWF,SAASuvC,EAAOvvC,EAAK5L,EAAGqsF,GAC7B,IAAId,EAAMvrF,EAAE,GACRqrF,EAAMrrF,EAAE,GACRsrF,EAAMtrF,EAAE,GACRsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,GACR/F,EAAI+Q,KAAKioB,IAAIo5D,GACb9zF,EAAIyS,KAAKw1B,IAAI6rD,GAUjB,OATAzgF,EAAI,GAAKrT,EAAIgzF,EAAMtxF,EAAIqR,EACvBM,EAAI,GAAKrT,EAAI8yF,EAAMpxF,EAAIsR,EACvBK,EAAI,GAAKrT,EAAI+yF,EAAMrxF,EAAIuR,EACvBI,EAAI,GAAKrT,EAAI+S,EAAMrR,EAAIsxF,EACvB3/E,EAAI,GAAKrT,EAAIgT,EAAMtR,EAAIoxF,EACvBz/E,EAAI,GAAKrT,EAAIiT,EAAMvR,EAAIqxF,EACvB1/E,EAAI,GAAKH,EACTG,EAAI,GAAKF,EACTE,EAAI,GAAKD,EACFC,EAWF,SAASmZ,EAAMnZ,EAAK5L,EAAGjB,GAC5B,IAAI8G,EAAI9G,EAAE,GACNT,EAAIS,EAAE,GAUV,OATA6M,EAAI,GAAK/F,EAAI7F,EAAE,GACf4L,EAAI,GAAK/F,EAAI7F,EAAE,GACf4L,EAAI,GAAK/F,EAAI7F,EAAE,GACf4L,EAAI,GAAKtN,EAAI0B,EAAE,GACf4L,EAAI,GAAKtN,EAAI0B,EAAE,GACf4L,EAAI,GAAKtN,EAAI0B,EAAE,GACf4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACJ4L,EAcF,SAAS0gF,EAAgB1gF,EAAK7M,GAUnC,OATA6M,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK7M,EAAE,GACX6M,EAAI,GAAK7M,EAAE,GACX6M,EAAI,GAAK,EACFA,EAcF,SAAS2gF,EAAa3gF,EAAKygF,GAChC,IAAIpyF,EAAI+Q,KAAKioB,IAAIo5D,GACb9zF,EAAIyS,KAAKw1B,IAAI6rD,GAUjB,OATAzgF,EAAI,GAAKrT,EACTqT,EAAI,GAAK3R,EACT2R,EAAI,GAAK,EACTA,EAAI,IAAM3R,EACV2R,EAAI,GAAKrT,EACTqT,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,EAcF,SAAS4gF,EAAY5gF,EAAK7M,GAU/B,OATA6M,EAAI,GAAK7M,EAAE,GACX6M,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK7M,EAAE,GACX6M,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,EAUF,SAAS6gF,EAAU7gF,EAAK5L,GAU7B,OATA4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK,EACTA,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK,EACTA,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK,EACFA,EAWF,SAAS8gF,EAAS9gF,EAAKtL,GAC5B,IAAIuF,EAAIvF,EAAE,GACNhC,EAAIgC,EAAE,GACNgzB,EAAIhzB,EAAE,GACN2wB,EAAI3wB,EAAE,GACNgtE,EAAKznE,EAAIA,EACT0nE,EAAKjvE,EAAIA,EACTquF,EAAKr5D,EAAIA,EACTs5D,EAAK/mF,EAAIynE,EACTuf,EAAKvuF,EAAIgvE,EACTwf,EAAKxuF,EAAIivE,EACTwf,EAAKz5D,EAAIg6C,EACT0f,EAAK15D,EAAIi6C,EACT0f,EAAK35D,EAAIq5D,EACTO,EAAKj8D,EAAIq8C,EACT6f,EAAKl8D,EAAIs8C,EACT6f,EAAKn8D,EAAI07D,EAUb,OATA/gF,EAAI,GAAK,EAAIkhF,EAAKG,EAClBrhF,EAAI,GAAKihF,EAAKO,EACdxhF,EAAI,GAAKmhF,EAAKI,EACdvhF,EAAI,GAAKihF,EAAKO,EACdxhF,EAAI,GAAK,EAAIghF,EAAKK,EAClBrhF,EAAI,GAAKohF,EAAKE,EACdthF,EAAI,GAAKmhF,EAAKI,EACdvhF,EAAI,GAAKohF,EAAKE,EACdthF,EAAI,GAAK,EAAIghF,EAAKE,EACXlhF,EAWF,SAASyhF,EAAezhF,EAAK5L,GAClC,IAAIurF,EAAMvrF,EAAE,GACRqrF,EAAMrrF,EAAE,GACRsrF,EAAMtrF,EAAE,GACRstF,EAAMttF,EAAE,GACRsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRutF,EAAMvtF,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,IACRwtF,EAAMxtF,EAAE,IACRytF,EAAMztF,EAAE,IACR0tF,EAAM1tF,EAAE,IACR2tF,EAAM3tF,EAAE,IACR4tF,EAAM5tF,EAAE,IACR+rF,EAAMR,EAAMhgF,EAAM8/E,EAAM//E,EACxBkgF,EAAMD,EAAM//E,EAAM8/E,EAAMhgF,EACxB0gF,EAAMT,EAAMgC,EAAMD,EAAMhiF,EACxBuiF,EAAMxC,EAAM7/E,EAAM8/E,EAAM//E,EACxBuiF,EAAMzC,EAAMkC,EAAMD,EAAM/hF,EACxBwiF,EAAMzC,EAAMiC,EAAMD,EAAM9hF,EACxBwiF,EAAMviF,EAAMiiF,EAAMhiF,EAAM+hF,EACxBQ,EAAMxiF,EAAMkiF,EAAMhiF,EAAM8hF,EACxBS,EAAMziF,EAAMmiF,EAAMJ,EAAMC,EACxBU,EAAMziF,EAAMiiF,EAAMhiF,EAAM+hF,EACxBzB,EAAMvgF,EAAMkiF,EAAMJ,EAAME,EACxBjC,EAAM9/E,EAAMiiF,EAAMJ,EAAMG,EAExBhC,EAAMI,EAAMN,EAAMD,EAAMS,EAAMD,EAAMmC,EAAMN,EAAMK,EAAMJ,EAAMG,EAAMF,EAAMC,EAE5E,OAAKrC,GAILA,EAAM,EAAMA,EACZ//E,EAAI,IAAML,EAAMkgF,EAAMjgF,EAAMygF,EAAMsB,EAAMY,GAAOxC,EAC/C//E,EAAI,IAAMJ,EAAM0iF,EAAM5iF,EAAMmgF,EAAM8B,EAAMU,GAAOtC,EAC/C//E,EAAI,IAAMN,EAAM2gF,EAAM1gF,EAAM2iF,EAAMX,EAAMS,GAAOrC,EAC/C//E,EAAI,IAAM0/E,EAAMW,EAAMZ,EAAMI,EAAM6B,EAAMa,GAAOxC,EAC/C//E,EAAI,IAAM2/E,EAAME,EAAMH,EAAM4C,EAAMZ,EAAMW,GAAOtC,EAC/C//E,EAAI,IAAMy/E,EAAM6C,EAAM3C,EAAMU,EAAMqB,EAAMU,GAAOrC,EAC/C//E,EAAI,IAAM8hF,EAAMK,EAAMJ,EAAMG,EAAMF,EAAMC,GAAOlC,EAC/C//E,EAAI,IAAM+hF,EAAM3B,EAAMyB,EAAMM,EAAMH,EAAMpC,GAAOG,EAC/C//E,EAAI,IAAM6hF,EAAMK,EAAMJ,EAAM1B,EAAM4B,EAAM7B,GAAOJ,EACxC//E,GAbE,KAwBJ,SAASwiF,EAAWxiF,EAAK1J,EAAOC,GAUrC,OATAyJ,EAAI,GAAK,EAAI1J,EACb0J,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,IAAM,EAAIzJ,EACdyJ,EAAI,GAAK,EACTA,EAAI,IAAM,EACVA,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,EASF,SAASxR,EAAI4F,GAClB,MAAO,QAAUA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAAOA,EAAE,GAAK,IASnI,SAASquF,EAAKruF,GACnB,OAAOgL,KAAKG,MAAMnL,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAW/D,SAASqkC,EAAIz4B,EAAK5L,EAAGzE,GAU1B,OATAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAWF,SAAS0iF,EAAS1iF,EAAK5L,EAAGzE,GAU/B,OATAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAWF,SAAS2iF,EAAe3iF,EAAK5L,EAAGzE,GAUrC,OATAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EACTqQ,EAYF,SAAS4iF,EAAqB5iF,EAAK5L,EAAGzE,EAAGwpB,GAU9C,OATAnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EAChBnZ,EAUF,SAAS6iF,EAAYzuF,EAAGzE,GAC7B,OAAOyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,GAUrJ,SAASmzF,EAAO1uF,EAAGzE,GACxB,IAAIozF,EAAK3uF,EAAE,GACP4uF,EAAK5uF,EAAE,GACP6uF,EAAK7uF,EAAE,GACP8uF,EAAK9uF,EAAE,GACP+uF,EAAK/uF,EAAE,GACPgvF,EAAKhvF,EAAE,GACPivF,EAAKjvF,EAAE,GACPkvF,EAAKlvF,EAAE,GACPmvF,EAAKnvF,EAAE,GACPovF,EAAK7zF,EAAE,GACP8zF,EAAK9zF,EAAE,GACP+zF,EAAK/zF,EAAE,GACPg0F,EAAKh0F,EAAE,GACPi0F,EAAKj0F,EAAE,GACPk0F,EAAKl0F,EAAE,GACPm0F,EAAKn0F,EAAE,GACPo0F,EAAKp0F,EAAE,GACPq0F,EAAKr0F,EAAE,GACX,OAAOyP,KAAKsmB,IAAIq9D,EAAKS,IAAO5E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIq9D,GAAK3jF,KAAKsmB,IAAI89D,KAAQpkF,KAAKsmB,IAAIs9D,EAAKS,IAAO7E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIs9D,GAAK5jF,KAAKsmB,IAAI+9D,KAAQrkF,KAAKsmB,IAAIu9D,EAAKS,IAAO9E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIu9D,GAAK7jF,KAAKsmB,IAAIg+D,KAAQtkF,KAAKsmB,IAAIw9D,EAAKS,IAAO/E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIw9D,GAAK9jF,KAAKsmB,IAAIi+D,KAAQvkF,KAAKsmB,IAAIy9D,EAAKS,IAAOhF,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIy9D,GAAK/jF,KAAKsmB,IAAIk+D,KAAQxkF,KAAKsmB,IAAI09D,EAAKS,IAAOjF,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAI09D,GAAKhkF,KAAKsmB,IAAIm+D,KAAQzkF,KAAKsmB,IAAI29D,EAAKS,IAAOlF,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAI29D,GAAKjkF,KAAKsmB,IAAIo+D,KAAQ1kF,KAAKsmB,IAAI49D,EAAKS,IAAOnF,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAI49D,GAAKlkF,KAAKsmB,IAAIq+D,KAAQ3kF,KAAKsmB,IAAI69D,EAAKS,IAAOpF,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAI69D,GAAKnkF,KAAKsmB,IAAIs+D,IAOvvB,IAAIC,EAAM/D,EAMN9nD,EAAMsqD,G,6BCzwBV,SAASwB,EAAQ12F,GACtB,OAAOA,EAAIA,EAAIA,EAGV,SAAS22F,EAAS32F,GACvB,QAASA,EAAIA,EAAIA,EAAI,EAGhB,SAAS42F,EAAW52F,GACzB,QAASA,GAAK,IAAM,EAAIA,EAAIA,EAAIA,GAAKA,GAAK,GAAKA,EAAIA,EAAI,GAAK,EAT9D,uG,8EtOAA,aA8BoC,SA9B7B,UAMP,IAAM,EAA4B,GAM5B,EAAY,SAAC,GACjB,OAAO,EAAW,EAAK,gBAiBhB,cAAW,iBATG,SAAC,EAAc,GAEpC,GAAI,EAAU,GACZ,MAAM,IAAI,MAAM,gBAAgB,EAAI,cAGtC,EAAW,EAAK,eAAiB,I,yFuO3BnC,2BAEA,OAEA,QACA,2BAqCA,cAqBE,WAAYwI,GAAZ,MACE,cAAO,K,OAbF,EAAAe,OAAkB,GAElB,EAAAC,WAAqB,EAClB,EAAAqtF,YAAsB,EAExB,EAAAC,UAAoB,EACpB,EAAAC,cAAuB,GAQ7B,EAAK1uE,QAAU,EAAKC,WAAW9f,GAC/B,EAAKolB,eAAe,EAAKvF,S,EA8O7B,OAtQwE,iBA2B/D,YAAAuF,eAAP,SAAsBvF,GACpB5lB,KAAKwwB,GAAK5K,EAAQ4K,GAClBxwB,KAAKgK,EAAI4b,EAAQ5b,GAAK,EACtBhK,KAAKyC,EAAImjB,EAAQnjB,GAAK,EACtBzC,KAAKqG,MAAQuf,EAAQvf,MACrBrG,KAAKsG,OAASsf,EAAQtf,OACtBtG,KAAK6G,OAAS+e,EAAQ/e,OACtB7G,KAAKgT,OAAS4S,EAAQ5S,QAGjB,YAAAtL,aAAP,SAAoBe,GAClBzI,KAAK4lB,QAAU,EAAA7b,QAAQ,GAAI/J,KAAK4lB,QAASnd,GACzCzI,KAAKmrB,eAAenrB,KAAK4lB,UAGpB,YAAAiC,WAAP,WACE,OAAO,MAMF,YAAAI,KAAP,WACEjoB,KAAK0tB,UAAY1tB,KAAKu0F,eACtBv0F,KAAKw0F,YAAcx0F,KAAKy0F,iBACxBz0F,KAAKqH,WAAU,SAACC,GACdA,EAAM2gB,WAIH,YAAAkC,UAAP,WACE,OAAO,MAMF,YAAA7gB,OAAP,WAEOtJ,KAAKq0F,WACRr0F,KAAK8F,UAAY9F,KAAKgT,OAAShT,KAAKgT,OAAOlN,UAAU4jB,WAAa1pB,KAAK6G,OAAO6iB,YAEhF1pB,KAAKq0F,UAAW,EAChBr0F,KAAK6nB,aACL7nB,KAAKioB,OACLjoB,KAAKmqB,YAELnqB,KAAKqH,WAAU,SAACC,GACdA,EAAMgC,YAERtJ,KAAK6G,OAAOY,QAMP,YAAAohB,MAAP,WACE7oB,KAAKqH,WAAU,SAACC,GACdA,EAAMF,aAERpH,KAAK8G,OAAS,GACd9G,KAAK8F,UAAU+iB,SAMV,YAAAzhB,QAAP,sBACEpH,KAAKqH,WAAU,SAACC,GACdA,EAAMF,aAER,EAAAoC,KAAKxJ,KAAKs0F,eAAe,SAAC31E,GACxB,EAAKkT,IAAIlT,EAAEpU,UAAWoU,EAAEnU,YAE1BxK,KAAK8F,UAAUgF,QAAO,GACtB9K,KAAK+G,WAAY,GAMZ,YAAAwqB,KAAP,WACEvxB,KAAK8F,UAAU+sB,KAAK,WAAW,GAC/B7yB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAKo0F,YAAa,EAClBp0F,KAAK6G,OAAOY,QAMP,YAAA+pB,KAAP,WACExxB,KAAK8F,UAAU+sB,KAAK,WAAW,GAC/B7yB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAKo0F,YAAa,EAClBp0F,KAAK6G,OAAOY,QAOP,YAAAgC,SAAP,SAAgBnC,GACF,EAAAoC,UAAU1J,KAAK8G,QAAQ,SAAC6C,GAAS,OAAAA,IAASrC,KAC5C,IACJA,EAAM0L,SAAWhT,OACnBsH,EAAM0L,OAAShT,KACfsH,EAAM2gB,QAERjoB,KAAK8G,OAAOxD,KAAKgE,KAQd,YAAAotF,YAAP,SAAmBptF,GACjB,IAAM6B,EAAM,EAAAO,UAAU1J,KAAK8G,QAAQ,SAAC6C,GAAS,OAAAA,IAASrC,KAClD6B,GAAO,GACTnJ,KAAK8G,OAAO8gB,OAAOze,EAAK,IASrB,YAAAwrF,WAAP,SAAkB5uF,EAAc6uF,QAAA,IAAAA,OAAA,GAC9B,IAAMC,EAAc,CAClB7qF,EAAGhK,KAAKgK,EACRvH,EAAGzC,KAAKyC,EACR4D,MAAOrG,KAAKqG,MACZC,OAAQtG,KAAKsG,QAETwuF,EAAW,EAAA/qF,QAAQ,GAAI8qF,EAAa9uF,GAC1C/F,KAAKgK,EAAI8qF,EAAS9qF,EAClBhK,KAAKyC,EAAIqyF,EAASryF,EAClBzC,KAAKqG,MAAQyuF,EAASzuF,MACtBrG,KAAKsG,OAASwuF,EAASxuF,OACvBtG,KAAK0tB,UAAY1tB,KAAKu0F,eACtBv0F,KAAKw0F,YAAcx0F,KAAKy0F,iBACxBz0F,KAAKsJ,SACDsrF,GACF50F,KAAKqH,WAAU,SAACC,GACdA,EAAMytF,qBACNztF,EAAMgC,YAGVtJ,KAAK6G,OAAOY,QAMP,YAAAstF,mBAAP,WACE,IAAMxrE,EAASvpB,KAAKw0F,YACpBx0F,KAAKgK,EAAIhK,KAAKgT,OAAOhJ,EAAIhK,KAAKgT,OAAO3M,MAAQkjB,EAAOnJ,MAAMpW,EAC1DhK,KAAKyC,EAAIzC,KAAKgT,OAAOvQ,EAAIzC,KAAKgT,OAAO1M,OAASijB,EAAOnJ,MAAM3d,EAC3DzC,KAAKqG,MAAQrG,KAAKgT,OAAO3M,OAASkjB,EAAOlJ,IAAIrW,EAAIuf,EAAOnJ,MAAMpW,GAC9DhK,KAAKsG,OAAStG,KAAKgT,OAAO1M,QAAUijB,EAAOlJ,IAAI5d,EAAI8mB,EAAOnJ,MAAM3d,GAChEzC,KAAK0tB,UAAY1tB,KAAKu0F,gBAMjB,YAAAS,kBAAP,WAIE,IAHA,IAAIC,EAAUj1F,KAAKgK,EACfkrF,EAAUl1F,KAAKyC,EACfuQ,EAAShT,KAAKgT,OACXA,GACLiiF,GAAWjiF,EAAOhJ,EAClBkrF,GAAWliF,EAAOvQ,EAClBuQ,EAASA,EAAOA,OAElB,MAAO,CAAEhJ,EAAGirF,EAASxyF,EAAGyyF,IAGnB,YAAAC,cAAP,WACE,IAAMC,EAAiBp1F,KAAKg1F,oBAC5B,OAAO,IAAI,UAAKI,EAAeprF,EAAGorF,EAAe3yF,EAAGzC,KAAKqG,MAAOrG,KAAKsG,SAGhE,YAAAuf,WAAP,SAAkB9f,GAChB,IAAIsvF,EAAc,EACdC,EAAe,EACfvvF,EAAMiN,SACRqiF,EAActvF,EAAMiN,OAAO3M,MAC3BivF,EAAevvF,EAAMiN,OAAO1M,QAE9B,IAAMghB,EAAiB,CACrBtd,EAAG,EACHvH,EAAG,EACH4D,MAAOgvF,EACP/uF,OAAQgvF,GAEV,OAAO,EAAAvrF,QAAQ,GAAIud,EAAgBvhB,IAG9B,YAAAsB,UAAP,SAAiBkC,GACf,EAAAC,KAAKxJ,KAAK8G,OAAQyC,IAGV,YAAApC,YAAV,SAAsBknB,GAAtB,WACQpkB,EAAa,EAAAC,KAAK,EAAA+Z,iBACxB,EAAAza,KAAK6kB,GAAa,SAAC9tB,EAAGpB,GACpB,GAAI,EAAAkL,SAASJ,EAAY9K,IAAM,EAAAmL,WAAW/J,GAAI,CAC5C,IAAMgK,EAAY,EAAA0Z,gBAAgB9kB,IAAMA,EAClCqL,EAAUjK,EAChB,EAAKkK,GAAGF,EAAWC,GACnB,EAAK8pF,cAAchxF,KAAK,CAAE1G,KAAM2N,EAAWC,QAAO,SAKhD,YAAA+pF,aAAR,WACE,OAAO,IAAI,UAAKv0F,KAAKgK,EAAGhK,KAAKyC,EAAGzC,KAAKqG,MAAOrG,KAAKsG,SAG3C,YAAAmuF,eAAR,WACE,GAAIz0F,KAAKgT,OAAQ,CACf,IAAMqiF,EAAcr1F,KAAKgT,OAAO3M,MAC1BivF,EAAet1F,KAAKgT,OAAO1M,OAC3BivF,EAAUv1F,KAAKgT,OAAOhJ,EACtBwrF,EAAUx1F,KAAKgT,OAAOvQ,EAK5B,MAAO,CAAE2d,MAAO,CAAEpW,GAJFhK,KAAKgK,EAAIurF,GAAWF,EAIP5yF,GAHbzC,KAAKyC,EAAI+yF,GAAWF,GAGMj1E,IAAK,CAAErW,GAFnChK,KAAKgK,EAAIhK,KAAKqG,MAAQkvF,GAAWF,EAEW5yF,GAD5CzC,KAAKyC,EAAIzC,KAAKsG,OAASkvF,GAAWF,IAGlD,MAAO,CAAEl1E,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAAK4d,IAAK,CAAErW,EAAG,EAAGvH,EAAG,KAEpD,EAtQA,CAAwE,W,sGC1CxE,2BAEA,OAkBA,cAOE,WAAmBkF,GAAnB,MACE,cAAO,K,OACP,EAAK7B,UAAY6B,EAAO7B,UACxB,EAAKiB,WAAY,EACjB,EAAKY,OAASA,EACd,EAAK6kF,YAAc,G,EAgEvB,OA5EyG,iBAehG,YAAAvkE,KAAP,WACOjoB,KAAKsQ,OACRtQ,KAAKy1F,YAEPz1F,KAAKyxB,WAAWzxB,KAAK2H,SAGhB,YAAA+tF,SAAP,WACE,OAAO11F,KAAKsQ,OAGP,YAAAqlF,UAAP,WACE,OAAO31F,KAAK2H,QAGP,YAAAkmB,QAAP,WACE,OAAO7tB,KAAK01F,WAAW7nE,WAGlB,YAAAhF,MAAP,WACE7oB,KAAKsQ,MAAMuY,SAGN,YAAAvf,OAAP,WACEtJ,KAAKsQ,MAAMuY,QACX7oB,KAAK8xB,YAAY9xB,KAAKsQ,OACtBtQ,KAAKoJ,YAAY3B,QAGZ,YAAA6a,OAAP,SAAc3a,GACZ3H,KAAK2H,OAAS,EAAH,uBAAQ3H,KAAK2H,QAAWA,GACnC3H,KAAKyxB,WAAWzxB,KAAK2H,SAGhB,YAAAP,QAAP,WACE,EAAAoC,KAAKxJ,KAAKwsF,aAAa,SAACO,GACtBA,OAEF/sF,KAAKwsF,YAAc,GACnBxsF,KAAKsQ,MAAMxF,QAAO,GAClB9K,KAAK+G,WAAY,GAGT,YAAA0uF,UAAV,WACEz1F,KAAKsQ,MAAQtQ,KAAK8F,UAAU4jB,YAGpB,YAAAtgB,UAAV,WACE,OAAOpJ,KAAK8F,UAAU5I,IAAI,WAGlB,YAAA00B,cAAV,SAAwBm7D,GACtB/sF,KAAKwsF,YAAYlpF,KAAKypF,IAId,YAAAt7D,WAAV,SAAqB9pB,KAKvB,EA5EA,CAAyG,W,2JCpBzG,WACA,OACA,OAEA,0BAA+B2I,EAAOw9B,GACpC,IACMvX,EAAS,EAAAq/D,IAAIt+B,UADF,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACHxpB,GACvCx9B,EAAMknD,UAAUjhC,IAGlB,qBAA0BuX,EAASvX,GACjC,IAAMqD,EAAWrD,EAAS,EAAAnE,MAAMmE,GAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnE,OAAO,EAAAq/D,IAAIt+B,UAAU19B,EAAUkU,IAGjC,gBAAqB9b,EAAShoB,EAAGvH,EAAG8zB,GAClC,IAAMqD,EAAWrD,EAAS,EAAAnE,MAAMmE,GAAU,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACnEqD,EAAS,GAAK5vB,EACd4vB,EAAS,GAAKn3B,EACduvB,EAAQwlC,UAAU59B,IAGpB,qBAA0B5H,EAAShoB,EAAGvH,GACpC,EAAAkK,KAAK6uC,UAAUxpB,EAAShoB,EAAGvH,IAG7B,kBAAuBuvB,EAAS6jE,GAC9B,EAAAlpF,KAAK2yC,OAAOttB,EAAS6jE,K,8EC3BvB,WAGA,aAQE,WAAYptF,GACV,EAAAtI,OAAOH,KAAMyI,GACbzI,KAAKioB,OAWT,OARS,YAAAA,KAAP,WACEjoB,KAAK2H,OAAS,CACZiC,KAAM5J,KAAK4J,KACX2c,SAAU,CACRuc,OAAQ9iC,KAAKiuF,kBAIrB,EArBA,G,sGCHA,OACA,OACA,wBAEA,QACA,2BAGA,2B,+CAyIA,OAzIgF,iBACpE,YAAAx6D,kBAAV,SAA4BzB,EAAkBtzB,G,QACtC,EAAuBsB,KAAK4lB,QAA1Bhd,EAAK,QAAE80B,EAAS,YAClB5J,EAA8B,GAAG9vB,OAAOguB,EAAQuB,WAAWO,aAC3Dx2B,EAAQ0C,KAAK+9E,SAAS/rD,GAE5B,OAAO,EAAAjoB,QAAQ,GAAInB,EAAO,EAAF,uBACnB5I,KAAK81F,YAAY9jE,IAAQ,CAC5B3L,KAAMqX,EACFA,EACEpgC,GAAK,KAEH,EAAC,EAAAwR,SAAwB,QAAjB,EAAGglB,EAAY,UAAE,eAAEO,QAC3B,EAAA2/B,aAAclgC,EAAY,GAC1B,EAAAiiE,kBAAmB,EACnB,EAAA/jE,QAAO,EACP,EAAAqB,aAAc30B,E,GAEhBA,GAEFpB,EACJuyB,KAAM7vB,KAAKg2F,YAAYhkE,GACvB1B,OAAQtwB,KAAKi2F,cAAcjkE,GAC3BjC,UAAW/vB,KAAKk2F,eAChBlmE,aAAchwB,KAAKm2F,sBAIb,YAAAjwE,kBAAV,WACU,IACA,EADUlmB,KAAKsH,MAAK,MACA,MAApB1E,OAAK,IAAG,KAAE,EAClB,OAAO,EAAP,UACEuqB,QAAS,EACTC,QAAS,EACTgpE,gBAAgB,GACbxzF,IAIG,YAAAuvB,YAAV,SAAsBvvB,EAAeovB,GAEnC,GAD2BhyB,KAAK4lB,QAAO,eACnB,CAClB,IAAMgB,EAAS5mB,KAAK0zB,mBACd2iE,EAAazzF,EAAMirB,UACnByoE,EAAat2F,KAAKu2F,oBAAoBvkE,GAC5C,GAAIskE,EAAWhwF,QAAU+vF,EAAW/vF,OAAQ,CAC1C,IAAMkwF,EAAYF,EAAWlmF,KAAOpQ,KAAK4lB,QAAQwH,QAAUxG,EAC3DhkB,EAAMiwB,KAAK,IAAK2jE,GAChB5zF,EAAMiwB,KAAK,eAAgB,UAC3BjwB,EAAMiwB,KAAK,OAAQ7yB,KAAK4lB,QAAQhd,MAAMinB,SAKlC,YAAAkuD,SAAV,SAAmB/rD,GACjB,OAAO,EAAA90B,IAAI80B,EAAQ1pB,UAAWtI,KAAKsH,MAAMse,QAAQkF,SAGzC,YAAAgrE,YAAV,SAAsB9jE,GACpB,IAOIvvB,EAPEmkB,EAAS5mB,KAAK0zB,mBACdp2B,EAAQ0C,KAAK+9E,SAAS/rD,GACtBzM,EAAOvlB,KAAKu2F,oBAAoBvkE,GAC9B9hB,EAAoCqV,EAAI,KAAlCnV,EAA8BmV,EAAI,KAA5BlV,EAAwBkV,EAAI,KAAtBjf,EAAkBif,EAAI,OAAdlf,EAAUkf,EAAI,MAC1C,EAAiCvlB,KAAK4lB,QAApCuH,EAAO,UAAEC,EAAO,UAAE7G,EAAQ,WAE5BkwE,EAAMn5F,EAAQ,GAAK,EAAI,EAG7B,GAAiB,QAAbipB,EAEF9jB,GADanF,EAAQ,EAAI8S,EAAOC,GACrBuW,EAAS6vE,EAAMrpE,OACrB,GAAiB,WAAb7G,EAAuB,CAEhC9jB,GADanF,EAAQ,EAAI+S,EAAOD,GACrBwW,EAAS6vE,EAAMrpE,OAE1B3qB,EAAI2N,EAAO9J,EAAS,EAAI8mB,EAG1B,MAAO,CAAEpjB,EAdCkG,EAAO7J,EAAQ,EAAI8mB,EAcjB1qB,EAAC,IAGL,YAAAuzF,YAAV,SAAsBhkE,GACZ,IAAAzhB,EAAUyhB,EAAO,MACzB,GAAIhyB,KAAK4lB,QAAQ4nE,aAAyC,QAA1BxtF,KAAK4lB,QAAQW,SAAoB,CAC/D,IAAMmwE,EAAanmF,EAAMsiB,KAAK,QACxB8jE,EAAepmF,EAAMsiB,KAAK,WAAatiB,EAAMsiB,KAAK,WAAa,EAC/DzV,EAAM,EAAA0gB,QAAQ44D,GACdt/E,EAAOjI,KAAKuP,MAAe,KAATtB,EAAI,GAAsB,KAATA,EAAI,GAAsB,KAATA,EAAI,IAAcu5E,EAO5E,OADgB,EAAAC,aALE,CAChB,CAAEx4D,KAAM,EAAGC,GAAI,GAAI7gB,MAAO,SAC1B,CAAE4gB,KAAM,GAAIC,GAAI,IAAK7gB,MAAO,WAC5B,CAAE4gB,KAAM,IAAKC,GAAI,IAAK7gB,MAAO,UAESpG,GAI1C,OADqBpX,KAAK4lB,QAAQhd,MAAMinB,MAIhC,YAAAomE,cAAV,SAAwBjkE,GACtB,IAAMnC,EAAO7vB,KAAKg2F,YAAYhkE,GACxB,EAA4BhyB,KAAK4lB,QAA/BW,EAAQ,WAAEinE,EAAW,cAC7B,MAAoB,QAAbjnE,GAAsBinE,GAAwB,UAAT39D,EAAmB,UAAOpsB,GAG9D,YAAA8yF,oBAAV,SAA8BvkE,GAA9B,WACUzhB,EAAUyhB,EAAO,MACnBmI,EAAS,GACf,EAAA3wB,KAAK+G,EAAMrT,IAAI,UAAUi9B,QAAQ,SAACh8B,GAChCg8B,EAAO72B,KAAK,EAAK2lB,MAAMygB,aAAavrC,OAEtC,IAAM0iE,EAAU1mC,EAAO7V,KAAI,SAACqM,GAAU,OAAAA,EAAM3mB,KACtC6sF,EAAa1nF,KAAKsP,IAAG,MAARtP,KAAY0xD,GACzBi2B,EAAY3nF,KAAKqP,IAAG,MAARrP,KAAY0xD,GACxBiE,EAAU3qC,EAAO7V,KAAI,SAACqM,GAAU,OAAAA,EAAMluB,KACtCs0F,EAAa5nF,KAAKsP,IAAG,MAARtP,KAAY21D,GACzBkyB,EAAa7nF,KAAKqP,IAAG,MAARrP,KAAY21D,GAE/B,OADa,IAAI,UAAK+xB,EAAYE,EAAYD,EAAYD,EAAYG,EAAaD,IAI3E,YAAAb,aAAV,WACE,MAAO,UAGC,YAAAC,gBAAV,WACE,MAAO,UAGC,YAAAviE,eAAV,WAEE,MAAO,CACL5pB,EAAG,EACHvH,EAAG,IAGT,EAzIA,CAAgF,W,YA2IhF,EAAAw0F,uBAAuB,SAAUC,I,yFCnJjC,OAEA,2BACA,QACA,OASA,+B,+CAqDA,OArD6F,iBAC7E,EAAAhxE,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CrC,MAAO,CACLsC,SAAS,GAEXrC,YAAa,CACXqC,SAAS,GAEXG,QAAS,CAAC,EAAG,EAAG,EAAG,GACnBlC,OAAQ,CACN+B,SAAS,GAEXU,MAAO,CACLV,SAAS,GAEXiB,MAAO,CACLjB,SAAS,GAEXK,QAAS,CACPL,SAAS,MAKL,YAAA8C,MAAV,aAIU,YAAAE,YAAV,aAIU,YAAAC,WAAV,sBACQrjB,EAAQ/F,KAAK4lB,QACbje,EAAS,GACTwvF,EAAsB,CAC1BpwE,KAAM,CACJne,MAAO,CACLszD,UAAW,EACX5rC,OAAQ,aAId,EAAA9mB,KAAKzD,EAAMynB,WAAW,SAACzG,GACrB,IAAMyG,EAAY,EAAAtB,aAAa,YAAa,CAC1CtlB,KAAM,EACN6B,IAAK,EAAAsB,QAAQ,GAAIotF,EAAqBpwE,KAExCpf,EAAOrE,KAAKkqB,MAEdxtB,KAAKgsB,UAAU,cAAerkB,IAElC,EArDA,CAA6F,W,mbCTvF,EAAgB,SAAC,EAAcrK,GACjC,OAAE,mBAAS,GACJ,EAEF,EAAM,OAAO,EAAM,MAAM,K,EASlC,WAQI,SAAF,EAAY,GANL,WAAkB,GAClB,YAAkB,GAClB,aAAkB,EAElB,YAAgB,GAMhB,cAAyB,WAAM,UAFpC,KAAK,UAAU,GA2InB,OAnIW,EAAF,kBAAP,W,IAAI,IAAJ,OAAe,kDACT,IAAE,EAAS,EAAO,KAAI,SAAC,EAAO,GAChC,OAAO,EAAK,eAAe,EAAO,EAAK,OAAO,OAGhD,OAAO,KAAK,SAAS,MAAM,KAAM,IAO5B,2BAAP,SAAsB,GAEhB,IAAE,EAAQ,KAAK,OAAO,OAAS,EAE7B,EAAO,KAAK,MAAM,EAAQ,GAC1B,EAAc,EAAQ,EAAU,EAGhC,EAAQ,KAAK,OAAO,GAItB,OAAG,IAHK,IAAS,EAAQ,EAAQ,KAAK,OAAO,EAAO,IAGlC,GAAS,GAM1B,qBAAP,WAMM,IALJ,IAAM,EAAS,KAAK,OACd,EAAQ,KAAK,MAEb,EAAS,KAAK,IAAI,EAAO,OAAQ,EAAM,QACvC,EAAM,GACH,EAAI,EAAG,EAAI,EAAQ,GAAK,EAC/B,EAAI,KAAK,EAAM,IAEjB,OAAO,GAMF,sBAAP,WACE,OAAO,KAAK,OAAO,KAAI,SAAC,GAAU,mBAO3B,EAAF,mBAAP,SAAgB,GACV,OAAG,KAAK,OAAO,KAAK,MAAM,QAAQ,KAO9B,EAAF,0BAAR,W,IAAI,IAAJ,OAAwB,kDAEtB,OAAsB,IAAlB,EAAO,OACF,KAAK,OAGP,EAAO,KAAI,SAAC,EAAO,GACxB,IAAM,EAAQ,EAAK,OAAO,GAE1B,MAAsB,aAAf,EAAM,KAAsB,EAAM,OAAO,GAAK,EAAK,mBAAmB,EAAO,OAK9E,EAAF,oBAAR,SAAkB,GAAd,IAAJ,OACU,+BAAe,4BAAY,6BAAa,6BAAa,aAEzD,KAAC,KAAO,EAER,KAAC,OAAS,EACV,KAAC,OAAS,EACV,KAAC,MAAQ,EAGT,KAAC,SAAW,W,IAAC,sDAIT,GAAF,EAAU,CAEZ,IAAM,EAAM,EAAQ,aAAI,GACxB,IAAK,gBAAM,GACT,MAAO,CAAC,GAKN,OAAC,EAAK,gBAAgB,MAAM,EAAM,KAKpC,+BAAR,SAA2B,EAAc,GAEvC,GAAI,EAAM,aAAe,KAAK,OAAQ,CAEpC,IAAM,EAAM,EAAM,UAAU,GAC5B,OAAO,KAAK,OAAO,EAAM,KAAK,OAAO,QAInC,IAAE,EAAU,EAAM,MAAM,GACxB,OAAG,KAAK,eAAe,IASrB,2BAAR,SAAuB,EAAY,GAGjC,OAAQ,EAAM,SAIV,EAHA,kBAAQ,GACN,EAAM,KAAI,SAAC,GAAW,SAAc,EAAd,MACtB,EAAc,EAAO,IAG/B,EArJA,G,iBCZA,YAGI,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,K,OACN,EAAC,KAAO,QACR,EAAC,MAAQ,CAAC,SAEV,mBAAS,EAAK,UAChB,EAAK,QAAS,GAGhB,EAAK,SAAW,UAAU,SAAS,EAAK,Q,EAS5C,OArBmC,yBAkB1B,2BAAP,SAAsB,GACpB,OAAO,KAAK,SAAS,IAEzB,EArBA,CAAmC,G,ECFnC,YACI,SAAS85F,EAAC,GAAZ,MACE,YAAM,IAAI,K,OACNj0E,EAAC,KAAO,UACRA,EAAC,MAAQ,CAAC,W,EAEhB,OANmC,yBAMrC,EANA,CAAqC,G,ECIrC,YACI,SAAF,EAAY,GAAR,IAAJ,EACE,YAAM,IAAI,K,OACV,EAAK,MAAQ,CAAC,IAAK,KACnB,EAAK,KAAO,W,EAehB,OAnBsC,yBAO3B,EAAF,kBAAP,SAAe,EAAiB,GACxB,kBAAC,OAAQ,OAEX,uBAAM,IAAM,gBAAM,GACb,GAGF,CACL,kBAAQ,GAAK,EAAE,KAAI,SAAC,GAAO,SAAO,MAAP,MAAoB,EAAO,MAAM,GAC5D,kBAAQ,GAAK,EAAE,KAAI,SAAC,GAAO,SAAO,MAAP,MAAoB,EAAO,MAAM,KAGlE,EAnBA,CAAsC,G,ECJtC,YACI,SAASk0E,EAAC,GAAZ,MACE,YAAM,IAAI,K,OACNl0E,EAAC,KAAO,QACRA,EAAC,MAAQ,CAAC,S,EAUhB,OAdiC,yBAU1B,2BAAP,SAAsB,GAChB,IAAE,EAAM,KAAK,OAAO,KAAK,OAAO,OAAS,GAAK,GAC9C,OAAG,KAAK,OAAO,IAEvB,EAdA,CAAmC,G,ECAnC,YACI,SAASm0E,EAAC,GAAZ,MACE,YAAM,IAAI,K,OACNn0E,EAAC,KAAO,OACRA,EAAC,MAAQ,CAAC,Q,EAEhB,OANgC,yBAMlC,EANA,CAAkC,G,QlPI5B,EAAkC,GAMlC,EAAe,SAAC,GACpB,OAAO,EAAc,EAAK,gBAGtB,EAAoB,SAAC,EAAc,GAErC,GAAE,EAAa,GACf,MAAM,IAAI,MAAM,mBAAmB,EAAI,cAGzC,EAAc,EAAK,eAAiB,GvEbtC,EAAkB,QAAS,GAC3B,EAAkB,UAAW,GAC7B,EAAkB,WAAY,GAC9B,EAAkB,QAAS,GAC3B,EAAkB,OAAQ,I,mT7Id1B,UAAe,SAAa,GAOxB,IAAI,EAAI,EAAU,GAClB,OAAe,OAAV,GAA2B,WAAT,GAA8B,aAAT,I,yFoNRhD,SA0B0C,YA1BnC,UAOP,IAAM,EAAkC,GAMlC,EAAe,SAAC,GACpB,OAAO,EAAc,EAAK,gBAYnB,iBAAc,oBATG,SAAC,EAAc,GAErC,GAAE,EAAa,GACf,MAAM,IAAI,MAAM,mBAAmB,EAAI,cAGzC,EAAc,EAAK,eAAiB,GAItC,0B,8E3KzBA,mBAAsC,EAAW,EAAW,GAC1D,YAD0D,UAF1C,MAGT,KAAK,IAAK,EAAI,GAAMrkB,I,gL4OH7B,OACA,QAKA,SAGa,EAAAgP,oBAAsB,CACjCu9C,OAAQ,CACN9oC,SAAU,IACVE,OAAQ,eAEVH,OAAQ,CACNC,SAAU,IACVE,OAAQ,iBAEV6oC,MAAO,CACL/oC,SAAU,IACVE,OAAQ,iBAEV8oC,MAAO,CACLhpC,SAAU,IACVE,OAAQ,eAKZ,IAAM+oC,EAAuB,CAC3B36C,SAAU,SAAC0X,GACT,MAAO,CACL+iC,MAAO,CACL9oC,UAAW+F,EAAWwX,OAAUxX,EAAW8X,aAAe,aAAe,aAAgB,WAE3F/d,OAAQ,CACNE,UAAW+F,EAAW6X,SAAW7X,EAAW8X,aAAe,qBAAuB,MAEpFkrB,MAAO,CACL/oC,UAAW,cAIjBuE,KAAM,CACJukC,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfgN,KAAM,CACJ87B,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfmO,MAAO,CACL06B,OAAQ,CACN7oC,UAAW,WAEb8oC,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfkO,KAAM,CACJ46B,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfuV,QAAS,CACPuzB,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfipC,OAAQ,CACNH,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGfkpC,KAAM,CACJJ,MAAO,CACL9oC,UAAW,WAEb+oC,MAAO,CACL/oC,UAAW,aAGf5f,MAAO,CACLyoD,OAAQ,CACN7oC,UAAW,UACXzQ,MAAO,KAETu5C,MAAO,CACL9oC,UAAW,WAEbF,OAAQ,CACNE,UAAW,mBAEb+oC,MAAO,CACL/oC,UAAW,cAMXmpC,EAAkC,CACtC5kC,KAAM,WACJ,MAAO,CACLvE,UAAW,YAGfkO,KAAM,WACJ,MAAO,CACLlO,UAAW,YAGfgN,KAAM,WACJ,MAAO,CACLhN,UAAW,YAGf3R,SAAA,SAAS0X,GACP,IAAI/F,EAWJ,OATI+F,EAAWwX,OACbvd,EAAY+F,EAAW8X,aAAe,YAAc,aAEpD7d,EAAY,aACR+F,EAAW6X,SAAW7X,EAAW8X,eAEnC7d,EAAY,YAGT,CACLA,UAAS,IAGbipC,OAAQ,SAACljC,GAOP,MAAO,CACL/F,UANE+F,EAAWwX,OACDxX,EAAW8X,aAAe,YAAc,YAExC,eAMhBtI,QAAS,WACP,MAAO,CACLvV,UAAW,UACXD,SAAU,MAGdmpC,KAAM,WACJ,MAAO,CACLlpC,UAAW,aAsBjB,gCAAqCopC,EAAqBrjC,EAAwBsjC,GAChF,IAAIt5B,EAAai5B,EAAqBI,GAEtC,OAAIr5B,IACE,EAAAjoB,WAAWioB,KACbA,EAAaA,EAAWhK,IAE1BgK,EAAa,EAAAxoB,QAAQ,GAAI,EAAA+D,oBAAqBykB,GAE1Cs5B,GACKt5B,EAAWs5B,GAGft5B,GAWT,qBAA0BhiB,EAAwBgiB,EAAwB9pB,GACxE,IAAMzJ,EAAO,EAAA9B,IAAIqT,EAAMrT,IAAI,UAAW,OAAQ,EAAA8P,cACxCwV,EAAY+P,EAAW/P,UACvBspC,EA3CR,SAA4Bv5B,EAAwBvzB,GAClD,MAAO,CACL+S,MAAO,EAAAzH,WAAWioB,EAAWxgB,OAASwgB,EAAWxgB,MAAM/S,GAAQuzB,EAAWxgB,MAC1E0Q,OAAQ,EAAAnY,WAAWioB,EAAW9P,QAAU8P,EAAW9P,OAAOzjB,GAAQuzB,EAAW9P,OAC7EF,SAAU,EAAAjY,WAAWioB,EAAWhQ,UAAYgQ,EAAWhQ,SAASvjB,GAAQuzB,EAAWhQ,SACnFzQ,SAAUygB,EAAWzgB,UAsCEi6C,CAAmBx5B,EAAYvzB,GACxD,GAAIwjB,EAAW,CAEb,IAAMwpC,EAAkB,EAAAZ,aAAa5oC,GACjCwpC,GACFA,EAAgBz7C,EAAOu7C,EAAkBrjD,QAI3C8H,EAAMoY,QAAQlgB,EAAIqqB,QAASg5B,IAa/B,gCACEhmD,EACAysB,EACAmqB,EACAn0B,EACA4pC,GAEA,GAAIxG,EAAgCjP,GAAe,CACjD,IAAM0V,EAAazG,EAAgCjP,GAAcn0B,GAC3D/F,EAAY,EAAA4oC,aAAa,EAAAluD,IAAIk1D,EAAY,YAAa,KAC5D,GAAI5vC,EAAW,CACb,IAAM/Z,EAAM,EAAH,kCACJ,EAAAqF,oBAAoBu9C,QACpB+G,GACA7/B,GAELzsB,EAAU8sB,cACVpQ,EAAU1c,EAAW2C,EAAK,CACxB8f,WAAU,EACV4pC,UAAS,EACTr/B,QAAS,W,0GkLlQjB,OACA,QACA,QACA,4BAEA,SAAgBwJ,EAAQlI,EAAQzrB,GAC9B,IAAK,EAAA2B,WAAW3B,GAAY,CAClB,IAAA/L,EAAc+L,EAAS,KAAjB4uF,EAAQ5uF,EAAS,IAC/B,OAAI,EAAA2B,WAAWitF,GACNA,EAAInjE,EAAOx3B,IAEbw3B,EAAOx3B,KAAU26F,EAE1B,OAAO5uF,EAAUyrB,GARnB,YAWA,iBAOE,WAAY3rB,GAFJ,KAAA+uF,gBAA4B,GAGlC,EAAAr3F,OAAOH,KAAMyI,GA4JjB,OAzJS,YAAAgvF,mBAAP,WACEz3F,KAAKwI,aAAe,IAAI,WAGnB,YAAAD,iBAAP,SAAwBmvF,EAAuBjvF,GAC7CzI,KAAKwI,aAAekvF,EAChBjvF,EAAIkjB,UACN3rB,KAAK23F,oBAAoBlvF,EAAIkjB,UAE3BljB,EAAImvF,eACN53F,KAAK63F,oBAAoBpvF,EAAImvF,gBAI1B,YAAAttE,cAAP,SAAqB2hC,GAArB,WACE,EAAAziD,KAAKyiD,GAAQ,SAACiB,EAAOtjD,GACX,IAAAjB,EAAuBukD,EAAK,UAAjB4qC,EAAY5qC,EAAK,QACpC,EAAKvhC,SAAS,CAAE/hB,KAAI,EAAEjB,UAAS,EAAEmvF,QAAO,QAIrC,YAAAnsE,SAAP,SAAgBljB,GAAhB,WACUmB,EAA6BnB,EAAG,KAA1BE,EAAuBF,EAAG,UAAfqvF,EAAYrvF,EAAG,QACxCzI,KAAKgrB,OAAShrB,KAAK+3F,aACnB/3F,KAAKgmC,YAAchmC,KAAKg4F,kBAExB,EAAAxuF,KAAKxJ,KAAKgrB,QAAQ,SAACza,EAAO7R,GACxB,IAAMu5F,EAAc1nF,EAAMrT,IAAI,UAAU8B,KAExC,GAAIs9B,EADW,EAAAla,QAAQ61E,GAAeA,EAAY,GAAKA,EACnCtvF,GAAY,CAC9B,IAAMuvF,EAAazvF,EAAIG,MAAQH,EAAIG,MAAQ,EAAKuvF,sBAAsBvuF,EAAM2G,GACtE6nF,EAAa,EAAKpyD,YAAYtnC,GAChC2zB,OAAK,EAEPA,EADE,EAAA/nB,WAAW4tF,GACLA,EAAWE,GAEX,EAAA1pE,IAAI,GAAI0pE,EAAYF,GAE9B3nF,EAAMsiB,KAAKR,GACX,EAAKgmE,UAAUzuF,EAAM2G,OAMrBunF,GACF93F,KAAKs4F,eAAe1uF,EAAMkuF,EAASnvF,GAErC3I,KAAK4G,KAAKC,OAAOY,QAGX,YAAAkwF,oBAAR,SAA4BY,GAA5B,WACE,EAAA/uF,KAAK+uF,GAAa,SAAC9vF,GACjB,IACI+B,EADE0iD,EAAQzkD,EAAIykD,MAGhB1iD,EADE,EAAAF,WAAW4iD,GACH,SAAC3sD,GACT,IAAMnC,EAAI8uD,EAAM3sD,GAChB,EAAKiI,aAAamjB,SAASvtB,EAAExB,KAAMwB,EAAEm5F,MAG7B,WACR,EAAK/uF,aAAamjB,SAASuhC,EAAMtwD,KAAMswD,EAAMqqC,MAG7C9uF,EAAIya,MACN,EAAA2B,QAAQ,EAAKje,KAAM,EAAK4xF,aAAa/vF,EAAIya,OAAQ1Y,GAEjDA,QAKE,YAAAqtF,oBAAR,SAA4BY,GAA5B,WACE,EAAAjvF,KAAKivF,GAAa,SAAChwF,GACjB,EAAKD,aAAaiC,GAAMhC,EAAI7L,KAAI,WAAW,SAACmJ,GAC1C0C,EAAIqJ,SAAS/L,EAAO,EAAKa,aAKvB,YAAAmxF,WAAR,sBACQ/sE,EAAS,GACT0tE,EAAQ14F,KAAK4G,KAAKqC,KAAKuf,WAQ7B,OAPA,EAAAhf,KAAKkvF,GAAO,SAACztE,GACX,IAAM0tE,EAAiB1tE,EAAKnlB,UAC5B,EAAK0xF,gBAAgBl0F,KAAKq1F,GACrB1tE,EAAKlkB,WACRikB,EAAO1nB,KAAI,MAAX0nB,EAAeC,EAAKF,gBAGjBC,GAGD,YAAAgtE,gBAAR,WACE,IAAM3lE,EAAQ,GAId,OAHA,EAAA7oB,KAAKxJ,KAAKgrB,QAAQ,SAACza,GACjB8hB,EAAM/uB,KAAK,EAAA8uB,MAAM7hB,EAAMsiB,YAElBR,GAID,YAAAmmE,aAAR,SAAqBt1E,GACnB,IAAM01E,EAAW11E,EAAM+J,MAAM,KAG7B,OAFoBjtB,KAAK4G,KAAKgnF,eAAe,KAAMgL,EAAS,IAEvC,IADHA,EAAS,IAIrB,YAAAT,sBAAR,SAA8BvuF,EAAM2G,GAClC,IAAM9J,EAAQzG,KAAK4G,KAAKH,MAElBoyF,EADe74F,KAAK4G,KAAKgnF,eAAe,OAAQr9E,EAAM3T,MAC1B,QAClC,GAAI6J,EAAMoyF,GAAa,CACrB,IAAIjwF,EAAQnC,EAAMoyF,GAAYjvF,GAI9B,OAHI,EAAAU,WAAW1B,KACbA,EAAQA,EAAM2H,EAAMsiB,SAEfjqB,EAET,MAAO,IAGD,YAAA0vF,eAAR,SAAuB1uF,EAAMkuF,EAASnvF,GAAtC,WACE,EAAAa,KAAKsuF,GAAS,SAAC36F,GACT,EAAKyJ,KAAKzJ,IAGG,EAAA27F,wBAAwB37F,EAAGyM,EAC1C2kF,CAAO,EAAK3nF,KAAM+B,OAMhB,YAAA0vF,UAAR,SAAkBU,EAAmBxoF,GACnC,GAAkB,WAAdwoF,GAAwC,aAAdA,EAA0B,CAEtD,IAAM7qC,EAAW39C,EAAMrT,IAAI,UAAUA,IAAI,YACzCgxD,EAASA,EAAStvD,OAAS,GAAGy5F,UAAU,GACxC9nF,EAAM8nF,UAAU,KAIZ,YAAAW,YAAR,WACE,EAAAxvF,KAAKxJ,KAAKw3F,iBAAiB,SAAC1xF,GACTA,EAAU5I,IAAI,YACtBk9B,MAAK,SAACs5B,EAAMC,GACnB,OAAOD,EAAKulC,OAAStlC,EAAKslC,cAIlC,EApKA,G,iJCpBA,WACA,SAKMC,EAAuB,CAC3B5zF,QAAS,EAAA6zF,0BAQX,mCAAwCv8F,EAAc6J,GACpDyyF,EAAqBt8F,EAAKgO,eAAiB,EAAAb,QAAQ,GAAI,EAAAovF,yBAA0B1yF,IAOnF,8BAAmC7J,GACjC,IAAM6J,EAAQyyF,EAAqBt8F,EAAKgO,eACxC,OAAOnE,GAAgB,EAAA0yF,2B,yFCzBzB,OACA,OAEA,2BACA,QAWA,QACA,SACA,4BACA,MACA,OACA,gCACA,yBACA,4BACA,OACA,OAEA,aACA,QAIMC,EAAW,CACfryE,KAAM,OACN4J,MAAO,SAsCT,yE,OAwCS,EAAA/mB,KAAe,OACZ,EAAAyvF,aAA8B,G,EA+L1C,OAxOoF,iBACpE,EAAAnzE,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5Cg1C,cAAc,EACdpzB,QAAQ,EACRwxD,SAAU,EACVC,UAAW,CACTC,SAAU,QACVC,QAAS,SAEX9oE,MAAO,CACLxK,SAAS,EACT0kB,KAAM,EACNt6B,MAAO,UAET3N,MAAO,CACLujB,SAAS,EACTvc,KAAM,SAERwa,OAAQ,CACN+B,SAAS,EACTI,SAAU,WACVmzE,YAAa,GAEflzE,QAAS,CACPquD,aAAa,EACbluD,WAAY,CACVI,KAAM,CACJne,MAAO,CACL0nB,OAAQ,uBAKhB+oE,aAAc,MASX,YAAAnvE,YAAP,sBACQtE,EAAU5lB,KAAK4lB,QACrB5lB,KAAK43D,cACDhyC,EAAQyzE,eAEV,EAAA7vF,KAAKxJ,KAAKq5F,cAAc,SAACM,GAA6B,OAAAA,EAAYvyF,aAClEpH,KAAKq5F,aAAe,GACpBzzE,EAAQyzE,aAAarrE,SAAQ,SAAC4rE,GAC5B,GAAIA,EAAezzE,QAAS,CAC1B,IAAMwzE,EAAc,IAAI,UAAY,EAAD,uBAC9BC,GAAc,CACjB3wF,KAAM,EAAKA,QAEb,EAAKowF,aAAa/1F,KAAKq2F,QAKzB/zE,EAAQ8nE,YAAkC,SAApB9nE,EAAQU,SAChCtmB,KAAK2tF,gBAAgB,eAEvB,YAAMzjE,YAAW,YAGZ,YAAA9hB,cAAP,WACU,IAAAyxF,EAAgB75F,KAAK4lB,QAAO,YACpC,GAAIi0E,EACF,OAAO75F,KAAKiJ,KAAKjB,gBAAgB6xF,IAI3B,YAAAjM,eAAV,SAAyBzhE,EAAKviB,GAC5B,OAAOwvF,EAASxvF,IAGR,YAAAsf,MAAV,WACE,IAAMnjB,EAAQ/F,KAAK4lB,QACbuC,EAAS,GAEfA,EAAOpiB,EAAM8kB,QAAU,GACnB,EAAAnlB,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM8kB,QAAS9kB,EAAM8gB,OAG3CsB,EAAOpiB,EAAM+kB,QAAU,GACnB,EAAAplB,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM+kB,QAAS/kB,EAAMqhB,OAE3CpnB,KAAKgsB,UAAU,SAAU7D,GACzB,EAAA2xE,qBACE3xE,EAAOpiB,EAAM+kB,QACb,EAAAxG,IAAIve,EAAM/G,MAAQ,IAAI,SAAC2K,GAAS,OAAAA,EAAK5D,EAAM+kB,YAE7C,YAAM5B,MAAK,YAGH,YAAAD,MAAV,aAIU,YAAAzC,QAAV,WAEM,EAAA+V,KAAKv8B,KAAK4lB,QAAQyzE,cAAc,SAACO,GAAmB,OAAAA,EAAezzE,aACrEnmB,KAAK4lB,QAAQY,QAAQouD,aAAc,GAErC,YAAMpuD,QAAO,YAGL,YAAA2C,YAAV,WAEEnpB,KAAK+5F,UAEL/5F,KAAK48E,YAGC,YAAAmd,QAAR,WACE,IAAMh0F,EAAa/F,KAAK4lB,QACxB5lB,KAAK+mB,KAAO,EAAAinE,QAAQ,OAAQ,OAAQ,CAClCpnF,KAAM5G,OAGJ+F,EAAMygB,UAAYzgB,EAAMygB,QAAQsc,QAAU/8B,EAAMygB,QAAQkX,YAC1D19B,KAAKkuF,kBAGPluF,KAAKgsB,UAAU,WAAYhsB,KAAK+mB,OAGxB,YAAA61D,SAAV,WACE,IAAM72E,EAAQ/F,KAAK4lB,QAEf7f,EAAM4qB,QACR5qB,EAAM4qB,MAAQ,EAAA5mB,QAFM,CAAEoc,SAAS,GAEMpgB,EAAM4qB,QAEzC5qB,EAAM4qB,OAAS5qB,EAAM4qB,MAAMxK,UAC7BnmB,KAAK2wB,MAAQ,EAAAq9D,QAAQ,QAAS,QAAS,CACrCpnF,KAAM5G,OAERA,KAAKgsB,UAAU,WAAYhsB,KAAK2wB,SAI1B,YAAAinC,YAAV,WACU,IAAAzvC,EAAWnoB,KAAK2H,OAAM,OACxB,EAAoB3H,KAAK4lB,QAAvBhjB,EAAK,QACPsmB,EAAQf,EADO,UAErB,GAAIvlB,EAAMujB,QAAS,CACjB,IAAM4I,EAAW,EAAAq/D,kBAAkBpuF,KAAKiJ,KAAM,QAC9C,GAAmB,SAAfrG,EAAMgH,KAEM,IAAI,UAAU,EAAD,UACzBX,KAAMjJ,KAAKiJ,KACXrC,KAAM5G,MACHA,KAAK4lB,QAAQhjB,QAEZ0G,cAENtJ,KAAK8uB,cAAcC,EAAU,EAAF,UACzBnlB,KAAM,QACN8zB,UAAWxU,EAAMwU,WAAa,SAAEpgC,GAAkC,OAAA4rB,EAAMwU,UAAUpgC,KAC/E0C,KAAK4lB,QAAQhjB,UAMd,YAAAsrF,gBAAV,WACEluF,KAAK+mB,KAAKP,QAAU,GACpB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAK+mB,KAAKP,QAAQsc,OAASxW,EAAewW,QAExCxW,EAAeoR,YACjB19B,KAAK+mB,KAAKP,QAAQ1U,SAAWwa,EAAeoR,UACvCpR,EAAewW,SAClB9iC,KAAK+mB,KAAKP,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,QAC1D9qB,KAAK4lB,QAAQi0E,aACf75F,KAAK+mB,KAAKP,QAAQsc,OAAOx/B,KAAKtD,KAAK4lB,QAAQi0E,gBAMzC,YAAAr3E,UAAV,WACE,YAAMA,UAAS,WACf,IAAMzc,EAAQ/F,KAAK4lB,QACd7f,EAAMyc,WAKT,EAAAw3E,cAAc,CACZp0E,QAAS5lB,KAAK4lB,QACd3c,KAAMjJ,KAAKiJ,OAEbjJ,KAAK+mB,KAAK4B,QAAU5iB,EAAMyc,YAP1BxiB,KAAK+mB,KAAK4B,SAAU,EAChB3oB,KAAK2wB,QAAO3wB,KAAK2wB,MAAMhI,SAAU,KAU/B,YAAAqB,kBAAV,WACE,YAAMA,kBAAiB,WACvBhqB,KAAK0lB,aAAapiB,KAChB,IAAI,EAAA22F,WAAW,CACbhxF,KAAMjJ,KAAKiJ,QAGfjJ,KAAK0lB,aAAapiB,KAChB,IAAI,EAAA42F,WAAW,CACbjxF,KAAMjJ,KAAKiJ,SAKP,YAAA9B,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGZ,YAAAR,gBAAR,SAAwBU,GAAxB,WACQC,EAAU,UAAkBD,GAClC,EAAA7kF,KAAK8kF,GAAS,SAACnxF,GACMA,EACRoxF,OAAO,OAId,YAAA4L,qBAAR,WAEE,OAAQn6F,KAAK4lB,QAAQi0E,aAAe75F,KAAK4lB,QAAQhjB,MAAMgH,MAAoC,SAA5B5J,KAAK4lB,QAAQhjB,MAAMgH,MAEtF,EAxOA,CAAoF,W,YA0OpF,EAAA4kF,iBAAiB,OAAQ4L,I,yFChTzB,OACA,4BACA,4BACA,4BAEMC,EAAe,CACnBC,IAAK,WACLC,QAAS,WACTvoF,KAAM,WACN8N,OAAQ,UAGV,2B,+CA8FA,OA9FiD,iBAIrC,YAAAmI,KAAV,WACEjoB,KAAKw6F,aAAex6F,KAAKy6F,kBACzB,YAAMxyE,KAAI,YAGF,YAAAyyE,YAAV,WACU,IAAA90E,EAAY5lB,KAAK4G,KAAI,QAC7B,QAAK5G,KAAK26F,gBAAgBx2E,SAIxBnkB,KAAK26F,gBAAgBx2E,KAAKnkB,KAAKmsB,MAC/BvG,EAAW5lB,KAAKmsB,IAAG,QAAQhG,SAC3BP,EAAW5lB,KAAKmsB,IAAG,QAAQvpB,OAC3BgjB,EAAW5lB,KAAKmsB,IAAG,QAAQvpB,MAAMujB,UAO3B,YAAA9lB,MAAV,WAWE,IAXF,WACQu6F,EAAY56F,KAAK4G,KAAKqC,KAAKwgB,gBAAgBwiE,SAAQ,SAAC9gF,GAExD,GAAa,eADAA,EAAGjO,IAAI,SAEJiO,EAAGjO,IAAI,kBAAkBinB,KAAKjnB,IAAI,WAClC,EAAK0J,KAAKgf,QAAW,EAAKuG,IAAG,SACzC,OAAOhhB,KAIP6f,EAAS,GACN3uB,EAAI,EAAGA,EAAIu+F,EAAUh8F,OAAQvC,IACpC2uB,EAAO1nB,KAAKs3F,EAAUv+F,IAExB,IAAMw+F,EAAa,IAAI,UAAW,CAChC7vE,OAAM,IAEF,EAAyBhrB,KAAK26F,gBAAgBx2E,KAAKna,EAAEhK,KAAK4J,MAAxDkxF,EAAW,cAAEC,EAAK,QAC1B,IAAI,UAAW,CACbC,MAAOH,EACPC,YAAW,EACXvxE,OAAQvpB,KAAK4G,KAAK0iB,eAClByxE,MAAK,EACLn0F,KAAM5G,KAAK4G,KACXq0F,MAAO,SAACD,GACN,EAAKE,YAAYF,EAAMG,mBAKnB,YAAAC,QAAV,WACE,IAAMr1F,EAAQ/F,KAAK4G,KAAKgf,QAClBzB,EAAUnkB,KAAKmsB,IAAG,OAClBlkB,EAAWjI,KAAKmsB,IAAG,QACzB,GAAIpmB,EAAMoe,IAASpe,EAAMoe,GAAMva,MAA6B,aAArB7D,EAAMoe,GAAMva,KACjD,MAAO,WAET,IAAMyxF,EAAYr7F,KAAK4G,KAAKqC,KAAKjB,gBAAgB,CAACjC,EAAMkC,KAAS2B,KACjE,OAAOywF,EAAagB,IAGd,YAAAZ,gBAAR,W,QACQa,EAAyB,MAAbt7F,KAAKmsB,IAAc,EAAI,EACnCwiB,EAAiD,QAAvC,EAAG3uC,KAAK4G,KAAKqC,KAAKk3C,cAAc,eAAO,eAAElT,gBACzD,GAAI0B,EACF,OAA4B,QAA5B,EAAOA,EAAW2sD,UAAU,eAAExmE,WAI1B,YAAAomE,YAAR,SAAoBF,GAApB,WACQO,EAAoBv7F,KAAK4G,KAAKqC,KAAKwgB,gBAAgBwiE,SAAQ,SAAC9gF,GAEhE,GAAa,wBADAA,EAAGjO,IAAI,SAEJiO,EAAGjO,IAAI,kBAAkBinB,KAAKjnB,IAAI,WAClC,EAAK0J,KAAKgf,QAAW,EAAKuG,IAAG,SACzC,OAAOhhB,KAGV,GACH,GAAIowF,EAAmB,CACrB,IAAM,EAAaA,EAAkBr+F,IAAI,YACzC,EAAAsM,KAAKwxF,GAAO,SAACl9F,EAAGY,GACe,KAAzBZ,EAAEyS,MAAMsiB,KAAK,SACf,EAAWn0B,GAAOm0B,KAAK,UAAW,MAIxC7yB,KAAK4G,KAAKC,OAAOY,QAErB,EA9FA,CAAiD,W,sGCbjD,OACA,OAEA,2BACA,QACA,4BACA,QAEA,QACA,4BACA,MACA,MACA,OACA,6BACA,QAIM4lF,EAAc,CAClBmO,IAAK,YAGDjO,EAAgB,CACpB18E,SAAU,OAKZ,yE,OAwES,EAAAjH,KAAe,M,EAyMxB,OAjRqF,iBACrE,EAAAsc,kBAAd,WAmEE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAlEN,CAClCW,MAAO,CACLV,SAAS,EACTY,KAAM,CACJZ,SAAS,GAEXtC,MAAO,CACLsC,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXW,KAAM,CACJX,SAAS,GAEXsX,MAAM,GAERrW,MAAO,CACLjB,SAAS,EACTW,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTc,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACLsC,SAAS,EACTgB,QAAS,KAGbX,QAAS,CACPL,SAAS,EACTM,QAAQ,EACRC,gBAAgB,EAChBkuD,aAAa,GAEfhyE,MAAO,CACLujB,SAAS,EACTI,SAAU,OACVinE,aAAa,GAEfppE,OAAQ,CACN+B,SAAS,EACTI,SAAU,YAEZb,aAAc,CACZ,CAAE9b,KAAM,WACR,CAAEA,KAAM,iBACR,CAAEA,KAAM,iBACR,CAAEA,KAAM,kBAEV6jF,cAAe,CACbtnE,SAAS,MAUR,YAAA0B,WAAP,WACE,YAAMA,WAAU,WAChB,IAAM9hB,EAAQ/F,KAAK4lB,QAEf7f,EAAM2nF,YAAgC,SAAlB3nF,EAAMugB,SAC5BtmB,KAAK2tF,gBAAgB,cAIlB,YAAAzjE,YAAP,WACE,IAAMnkB,EAAQ/F,KAAK4lB,QACnB5lB,KAAK43D,cAED7xD,EAAM2nF,YAAgC,SAAlB3nF,EAAMugB,SAC5BtmB,KAAK2tF,gBAAgB,eAEnB5nF,EAAM0nF,cAActnE,UACtBnmB,KAAKytF,cAAgB,IAAI,UAAc,EAAD,UACpCxkF,KAAMjJ,KAAKiJ,KACXhB,MAAOlC,EAAM8kB,OACbrI,WAA+B,IAApBzc,EAAMyc,WACdzc,EAAM0nF,iBAGb,YAAMvjE,YAAW,YAGT,YAAA0jE,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAse,YAAV,SAAsB0zB,GACpB,IAAM6/C,EAAY7/C,EAAaA,EAAWh7B,QAAQq8C,UAAYrhB,EACtD9wB,EAAW9qB,KAAK4lB,QAAO,OACzBioE,EAAgB,GAMtB,OALA,EAAArkF,KAAKiyF,GAAW,SAACz8F,GACf,IAAMrC,EAAI,EAAAy1B,MAAMpzB,GAChBrC,EAAEmuB,GAAUnuB,EAAEmuB,GAAQrsB,WACtBovF,EAAcvqF,KAAK3G,MAEdkxF,GAGC,YAAA3kE,MAAV,WACE,IAAMnjB,EAAQ/F,KAAK4lB,QACbuC,EAAS,GAEfA,EAAOpiB,EAAM+kB,QAAU,CACrBlhB,KAAM,OAEJ,EAAAlE,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM+kB,QAAS/kB,EAAMqhB,OAG3Ce,EAAOpiB,EAAM8kB,QAAU,GACnB,EAAAnlB,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM8kB,QAAS9kB,EAAM8gB,OAE3C7mB,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGH,YAAAD,MAAV,WACEjpB,KAAKgsB,UAAU,aAAc,CAC3B8hB,QAAS,CAAC,CAAC,iBAIL,YAAA3pB,KAAV,WACE,IAAM8H,EAAe,EAAAC,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,MAEDC,EAAe,EAAAF,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,MAGHF,IACFA,EAAa1F,SAAW,QAEtB6F,IACFA,EAAa7F,SAAW,UAE1B,IAAM8F,EAAa,GACnBA,EAAWrsB,KAAK4lB,QAAQiF,QAAUoB,EAClCI,EAAWrsB,KAAK4lB,QAAQkF,QAAUsB,EAElCpsB,KAAKgsB,UAAU,OAAQK,IAIf,YAAAqvE,UAAV,SAAoBF,GAClB,OAAO,MAGC,YAAAryE,YAAV,WACE,IAAMpjB,EAAa/F,KAAK4lB,QAClB41E,EAAM,EAAAxN,QAAQ,WAAY,OAAQ,CACtCC,eAAgB,CAACloF,EAAM+kB,OAAQ/kB,EAAM8kB,QACrCjkB,KAAM5G,OAEJ+F,EAAM0nF,cAActnE,SACtBnmB,KAAKgsB,UACH,QACA,EAAAjiB,QAAQ,GAAI/J,KAAK0M,WAAY,CAC3BipD,iBAAkB,EAAI,KAI5B31D,KAAK07F,UAAUF,GACfx7F,KAAKw7F,IAAMA,EAEPz1F,EAAMygB,UAAYzgB,EAAMygB,QAAQsc,QAAU/8B,EAAMygB,QAAQkX,YAC1D19B,KAAKkuF,kBAGPluF,KAAKgsB,UAAU,WAAYwvE,IAGnB,YAAAh5E,UAAV,WACE,YAAMA,UAAS,YAES,IADVxiB,KAAK4lB,QACTpD,YAERxiB,KAAKw7F,IAAI7yE,SAAU,IAIb,YAAAxhB,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGV,YAAAv2B,YAAV,WACU,IAAAzvC,EAAWnoB,KAAK2H,OAAM,OACxB,EAAoB3H,KAAK4lB,QAAvBhjB,EAAK,QACPsmB,EAAQf,EADO,UAErB,GAAIvlB,aAAK,EAALA,EAAOujB,QAAS,CAClB,IAAM4I,EAAW,EAAAq/D,kBAAkBpuF,KAAKiJ,KAAM,YAC9CjJ,KAAK8uB,cAAcC,EAAU,EAAF,UACzBnlB,KAAM,MACN8zB,UAAWxU,EAAMwU,WAAa,SAAEpgC,GAAkC,OAAA4rB,EAAMwU,UAAUpgC,KAC/E0C,KAAK4lB,QAAQhjB,UAKZ,YAAAsrF,gBAAV,WACEluF,KAAKw7F,IAAIh1E,QAAU,GACnB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAKw7F,IAAIh1E,QAAQsc,OAASxW,EAAewW,QAEvCxW,EAAeoR,YACjB19B,KAAKw7F,IAAIh1E,QAAQ1U,SAAWwa,EAAeoR,UACtCpR,EAAewW,SAClB9iC,KAAKw7F,IAAIh1E,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,QACzD9qB,KAAK4lB,QAAQq4C,YACfj+D,KAAKw7F,IAAIh1E,QAAQsc,OAAOx/B,KAAKtD,KAAK4lB,QAAQq4C,eAM1C,YAAA0vB,gBAAR,SAAwBU,GAAxB,WACQC,EAAU,UAAkBD,GAClC,EAAA7kF,KAAK8kF,GAAS,SAACnxF,GACMA,EACRoxF,OAAO,OAIf,YAAAoN,0BAAP,SAAiCp1E,GAC/B,MAAiB,WAAbA,EACK,CACLK,OAAQ,GAIK,SAAbL,EACK,CACLK,OAAQ,EACRhe,MAAO,CACL0nB,OAAQ,KACR4rC,UAAW,IAKA,UAAb31C,EACK,CACLK,OAAQ,QAFZ,GAMJ,EAjRA,CAAqF,W,YAmRrF,EAAA4nE,iBAAiB,MAAOoN,I,yFC/SxB,OACA,OAEA,4BAEA,2BAEA,OACA,OACA,OACA,YAUA,yE,OAsBS,EAAAhyF,KAAe,gBACf,EAAAiyF,SAAmB,S,EAiE5B,OAtFU,iBACM,EAAA31E,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C9B,OAAQ,CACN+B,SAAS,EACTI,SAAU,aAEZ3jB,MAAO,CACLujB,SAAS,EACTI,SAAU,SACVK,OAAQ,EACR4mE,aAAa,GAEfsO,cAAe,CACb31E,SAAS,EACT41E,UAAW,iBAUV,YAAA9zE,KAAP,WACMjoB,KAAK4lB,QAAQk2E,cAAc31E,UAC7BnmB,KAAK4lB,QAAQY,QAAQG,WAAa,MAEpC,YAAMsB,KAAI,YAGL,YAAAiC,YAAP,WACE,IAAMnkB,EAAQ/F,KAAK4lB,QAEf7f,EAAM+1F,cAAc31E,UACtBnmB,KAAK87F,cAAgB,IAAI,UAAc,EAAD,UACpC7yF,KAAMjJ,KAAKiJ,KACXhB,MAAOlC,EAAMi2F,WACbx5E,WAA+B,IAApBzc,EAAMyc,WACdzc,EAAM+1F,iBAGb,YAAM5xE,YAAW,YAGZ,YAAA9hB,cAAP,WACU,IAAA4zF,EAAeh8F,KAAK4lB,QAAO,WACnC,OAAO5lB,KAAKiJ,KAAKjB,gBAAgBg0F,IAGzB,YAAAjO,aAAV,SAAuBT,GACrBA,EAAOluC,OAAS,CACd,CACEx1C,KAAM,WAKF,YAAAguD,YAAV,WACU,IAAAzvC,EAAWnoB,KAAK2H,OAAM,OACxB,EAAoB3H,KAAK4lB,QAAvBhjB,EAAK,QACPsmB,EAAQf,EADO,UAErB,GAAIvlB,GAASA,EAAMujB,QAAS,CAC1B,IAAM4I,EAAW,EAAAq/D,kBAAkBpuF,KAAKiJ,KAAM,YAC9CjJ,KAAK8uB,cAAcC,EAAU,EAAF,UACzBnlB,KAAM,iBACN8zB,UAAWxU,EAAMwU,WAAa,SAAEpgC,GAAkC,OAAA4rB,EAAMwU,UAAUpgC,KAC/E0C,KAAK4lB,QAAQhjB,UAKZ,YAAAsrF,gBAAV,WACEluF,KAAKstF,OAAO9mE,QAAU,GACtB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAKstF,OAAO9mE,QAAQsc,OAASxW,EAAewW,QAE1CxW,EAAeoR,YACjB19B,KAAKstF,OAAO9mE,QAAQ1U,SAAWwa,EAAeoR,UACzCpR,EAAewW,SAClB9iC,KAAKstF,OAAO9mE,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,OAAQ9qB,KAAK4lB,QAAQo2E,eAI7F,EAxFA,CAEU,W,YAwFV,EAAAxN,iBAAiB,gBAAiByN,I,kIC7GlC,OACA,OACA,SAGA,SAKA,SAAgBC,EAAe5+F,GAE7B,OADmB02B,OAAO12B,EAAM6+F,SAAS,KAAO7+F,EAAMsjB,MAAM,GAAI,GAAKtjB,GACjD,IAJT,EAAA8+F,eAAiB,EAE9B,mBAiDA,iBASE,WAAYx1F,EAAgB6B,GAPrB,KAAA1B,WAAqB,EAQ1B/G,KAAK4G,KAAOA,EACZ5G,KAAKihD,eAAiBjhD,KAAK4G,KAAKqC,KAAKg4C,eACrC,IAAMr7B,EAAU,EAAA7b,QAAQ/J,KAAKkmB,oBAAqBzd,EAAK,IACvDzI,KAAKgxD,aAAaprC,GAClB5lB,KAAK4lB,QAAUA,EACf5lB,KAAKioB,OA0ST,OApSY,YAAAo0E,cAAV,SAAwB12E,EAAkB6W,GAExC,IAAK,IAAIngC,EAAI,EAAGA,EAAIspB,EAAO/mB,OAAQvC,IAGjC,IAFA,IAAMuG,EAAQ+iB,EAAOtpB,GACjBigG,EAAc,EACTl4F,EAAI/H,EAAI,EAAG+H,GAAK,EAAGA,IAAK,CAC/B,IAAMm4F,EAAO52E,EAAOvhB,GAEdo4F,EAAUD,EAAK1uE,UACf4uE,EAAU75F,EAAMirB,UAEtB,GAAI0uE,EAAKr/F,IAAI,UAAUA,IAAI,aACzBo/F,EAAc,EAAApgE,eAAesgE,EAASC,IACjC,EAAAC,KAAKJ,EAAa,IAAI,CACzB15F,EAAM1F,IAAI,UAAU0I,IAAI,WAAW,GACnC,OAKR+f,EAAOqI,SAAQ,SAACprB,GAAU,OAlF9B,SAAsBA,EAAe45B,GACnC,IAAM3L,EAAMjuB,EAAMirB,UAEZ2O,EAAM/5B,GAAKouB,EAAIpuB,GAAK+5B,EAAM/5B,EAAI+5B,EAAMl2B,QAAUuqB,EAAIpuB,EAAIouB,EAAIvqB,QAC9D1D,EAAM1F,IAAI,UAAU0I,IAAI,WAAW,GA8ET+2F,CAAa/5F,EAAO45B,OAItC,YAAAogE,WAAV,SAAqBjzF,KAIX,YAAAse,KAAV,sBACEjoB,KAAK8F,UAAY9F,KAAKsxB,cAActC,gBACpChvB,KAAK4G,KAAKqC,KAAKwB,GAAG,gBAAgB,WAChC,EAAKoe,QACL,EAAKjiB,KAAKC,OAAOY,WAId,YAAA6B,OAAP,WAEEtJ,KAAK6oB,QACL7oB,KAAK68F,gBACL78F,KAAK88F,YACL98F,KAAKupE,aAGA,YAAA1gD,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAA2I,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAAL,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGX,YAAAg2F,eAAR,WACU,IAAAC,EAAeh9F,KAAK4G,KAAKgf,QAAO,WAExC,OADsB5lB,KAAK4G,KAAKqC,KAAag7C,cAAgB,IACzC18B,QAAO,SAAC4hB,EAAK8zD,GAC/B,OAAO9zD,EAAM8zD,EAAiBD,KAC7B,IAIK,YAAAF,UAAV,sBACQ,EAAmF98F,KAAK4lB,QAAtFhd,EAAK,QAAE80B,EAAS,YAAEzW,EAAU,aAAEkG,EAAO,UAAEC,EAAO,UAAEgpE,EAAc,iBAAE8G,EAAY,eAC9EC,EAAan9F,KAAKs7E,WAClBtwD,EAAmB,GACzBmyE,EAAW74E,KAAI,SAAC84E,EAAWj0F,GACzB,IAAMkpB,EAAQ,EAAAtoB,QAAQ,GAAIqzF,EAAWx0F,GAC/By0F,EAAc,EAAKN,iBACjBC,EAAe,EAAKp2F,KAAKgf,QAAO,WAClC03E,EAAUF,EAAUhpE,OAAO4oE,GAAcK,EACzCplC,EAAUv6B,EACZA,EACE0/D,EAAUxgG,KACV,CACEy3B,QAAS+oE,EAAUhpE,OACnBkpE,QAAO,GAETn0F,GAEFi0F,EAAUxgG,KAMR+kF,EALY,EAAK77E,UAAU4jB,SAAS,CACxC9sB,KAAM,YACN8B,MAAOyK,EACPuvD,SAAS,IAEiBxlC,SAAS,OAAQ,CAC3Cb,MAAO,EAAAtoB,QAAQ,GAAIsoB,EAAO,CACxBroB,EAAGozF,EAAUpzF,EAAImjB,EACjB1qB,EAAG26F,EAAU36F,EAAI2qB,EACjB/G,KAAM4xC,MAGV0pB,EAAU/7E,IAAI,KAAM,QAAQw3F,EAAUxgG,KAAI,IAAIuM,GAC9C6hB,EAAO1nB,KAAKq+E,MAEd32D,EAAOgD,SAAQ,SAACzd,GACd,IAAMgtF,EAAW,EAAKt8C,eACtB,EAAKu8C,WAAWjtF,EAAOgtF,MAErBnH,GACFp2F,KAAKohD,OAAOp2B,EAAQmyE,EAAYn9F,KAAKihD,gBAElCi8C,GACHl9F,KAAKq8F,cAAcrxE,EAAQhrB,KAAKihD,gBAElCj2B,EAAOgD,SAAQ,SAACprB,EAAOuG,GACjB8d,GACF,EAAKw2E,YAAY76F,EAAO,EAAAgjE,eAAeu3B,EAAWh0F,GAAKguB,YAKrD,YAAAqmE,WAAR,SAAmB56F,EAAe26F,GAChC,IAAM1sE,EAAMjuB,EAAMirB,UACdxnB,EAAQwqB,EAAIxqB,MAYhB,GAVIwqB,EAAI1gB,KAAOotF,EAASptF,KACtB9J,EAAQk3F,EAASptF,KAAO0gB,EAAI3gB,KACnB2gB,EAAI3gB,KAAOqtF,EAASrtF,OAC7B7J,EAAQwqB,EAAI1gB,KAAOotF,EAASrtF,MAEE,SAA5BtN,EAAMiwB,KAAK,aACbjwB,EAAMiwB,KAAK,IAAK1jB,KAAKqP,IAAIqS,EAAI7mB,EAPZ,EAO4B,IACR,UAA5BpH,EAAMiwB,KAAK,cACpBjwB,EAAMiwB,KAAK,IAAK1jB,KAAKqP,IAAIqS,EAAI1gB,KATZ,EAS+B,IAE9C9J,IAAUwqB,EAAIxqB,MAAO,CACvB,IAAM,EAAO,GACb,CAAC,WAAY,aAAc,cAAc2nB,SAAQ,SAAC7uB,GAChD,EAAKA,GAAKyD,EAAMiwB,KAAK1zB,MAEvB,IAAMu+F,EAAgB96F,EACnBiwB,KAAK,QACL5F,MAAM,MACN3I,KAAI,SAAC/mB,GAAM,SAAAogG,gBAAgBpgG,EAAG8I,EAAO,MACxCzD,EAAMiwB,KAAK,OAAQ6qE,EAAc17E,KAAK,SAKhC,YAAAunD,UAAV,sBACE,GAAIvpE,KAAK4lB,QAAQmB,KAAKZ,QAAS,CAC7B,IAAMy3E,EAAa59F,KAAK8F,UAAU5I,IAAI,YAC9B,EAAW8C,KAAK0xB,gBAAe,OACvCksE,EAAW5vE,SAAQ,SAACmqC,EAAYhvD,GAC9B,IAAMvG,EAAgBu1D,EAAWj7D,IAAI,YAAY,GAC3C2gG,EAAS,EAAKC,UAAU30F,GACxB40F,EAASF,EAAO7zF,EAAI,EAAOA,EAE3Bq+B,EAAW,EAAKziB,QAAQgB,OAAS,EAAI,EAAI,EACzC4I,EAAO,EAAKiZ,YAAY7lC,EAAOi7F,EAAQx1D,GACvCz/B,EAAQ,EAAKgd,QAAQmB,KAC3BoxC,EAAWjlC,SAAS,OAAQ,CAC1Bb,MAAO,EAAF,UACH7C,KAAI,EACJc,OAAQutE,EAAOrgF,OACZ5U,KAIPhG,EAAMiwB,KAAK,IAAKjwB,EAAMiwB,KAAK,MAAQkrE,GAAU11D,EAAWA,SAMtD,YAAAI,YAAR,SAAoB7lC,EAAei7F,EAAmBx1D,GACpD,IAAMP,IAAS9nC,KAAK4lB,QAAQmB,MAAO/mB,KAAK4lB,QAAQmB,KAAK+gB,OAC/C3Q,EAAQ0mE,EAAO1mE,MACf,EAAqBn3B,KAAK0xB,gBAAxBhC,EAAM,SAAEsR,EAAM,SAClBg9D,EAAU,EAAAC,YAAYvuE,EAAQyH,EAAO6J,EAASqH,GAC9CA,EAAW,IACb21D,EAAUH,GAEZ,IAAME,EAASF,EAAO7zF,EAAI0lB,EAAO1lB,EAC3B6mB,EAAMjuB,EAAMirB,UACZqwE,EAAgB,CAAEl0F,EAAG+zF,EAASltE,EAAI1gB,KAAO0gB,EAAI3gB,KAAMzN,EAAGouB,EAAIpuB,EAAIouB,EAAIvqB,OAAS,GAC3E63F,EAAa,CACjB,IAEAD,EAAcl0F,GAEX+zF,EAAS,GAAK,IAAM11D,EAAW,EAAIA,EAAW,EAAI,GACrD61D,EAAcz7F,EACd,EAAIu7F,EAAQh0F,EAAI6zF,EAAO7zF,EACvB,EAAIg0F,EAAQv7F,EAAIo7F,EAAOp7F,EACvBu7F,EAAQh0F,EACRg0F,EAAQv7F,GAEJ27F,EAAe,CAAC,IAAyBJ,EAAQh0F,EAAGg0F,EAAQv7F,GAC5D47F,EAAWv2D,EAASq2D,EAAaC,EAGvC,MAFa,CAAC,IAAKF,EAAcl0F,EAAGk0F,EAAcz7F,GAAGuB,OAAOq6F,GAAUr6F,OAAO,IAAK65F,EAAO7zF,EAAG6zF,EAAOp7F,GAEvFuf,KAAK,MAGT,YAAAsP,YAAV,WACE,OAAOtxB,KAAK4G,KAAKqC,KAAKuf,WAAW,IAGzB,YAAAkJ,cAAV,WACE,IAAMnJ,EAAavoB,KAAKsxB,cAAc/I,WAKtC,MAAO,CAAEmH,OAJMnH,EAAWke,YAITzF,OAFFzY,EAAWge,YAEDzF,WADNvY,EAAWuY,aAItB,YAAAkwB,aAAV,SAAuBprC,GACrB,IAAIgB,EAAShB,EAAQgB,OACboa,EAAWhhC,KAAK0xB,gBAAe,OACnC,EAAA7E,SAASjG,KACXA,EAASoa,EAASk7D,EAAet1E,IAEnChB,EAAQgB,OAASA,GAGX,YAAA62E,YAAR,SAAoB76F,EAAeu0B,GACjC,IAAMntB,EAAIpH,EAAMiwB,KAAK,KACfpwB,EAAIG,EAAMiwB,KAAK,KACf0D,EAAS,EAAAq/D,IAAIt+B,UAAU10D,EAAM20D,YAAa,CAC9C,CAAC,KAAMvtD,GAAIvH,GACX,CAAC,IAAK00B,GACN,CAAC,IAAKntB,EAAGvH,KAEXG,EAAM40D,UAAUjhC,IAGV,YAAA+kD,SAAR,sBACU10D,EAAW5mB,KAAK4lB,QAAO,OACzB,EAAqB5lB,KAAK0xB,gBAAxBhC,EAAM,SAAEsR,EAAM,SAOtB,OANchhC,KAAK89F,UAAUx5E,KAAI,SAACu5E,GAChC,IAAMltE,EAAQ,EAAAstE,YAAYvuE,EAAQmuE,EAAO1mE,MAAO6J,EAASpa,GACnDjd,EAAO,EAAH,uBAAQk0F,GAAWltE,GAE7B,OADA,EAAKisE,WAAWjzF,GACTA,MAMH,YAAAkzF,cAAR,sBACUG,EAAeh9F,KAAK4G,KAAKgf,QAAO,WAClCmM,EAAW/xB,KAAKsxB,cAAcS,SAC9B9I,EAAQjpB,KAAK0xB,gBACXhC,EAAmBzG,EAAK,OAAhB+X,EAAW/X,EAAK,OAC1B6X,EAAe9gC,KAAK0xB,gBAAe,WAGnCxI,EADiBlpB,KAAKsxB,cAAc4qB,WAAW31B,SAAS4B,OACjC,GACvBm2E,EAAap1E,EAAMjhB,MACnBs2F,EAAUxsE,EAASzN,KAAI,SAACimC,GAC5B,IAAMn2B,EAASm2B,EAAIh6C,MAAMrT,IAAI,UACvBsgB,EAAQ4W,EAAO5W,MACfo+B,EAAaxnB,EAAOp1B,KAAK,IAAMo1B,EAAOp1B,KACtC+hC,EAAWD,EAAuB,EAAV3xB,KAAKE,GAAS6Z,EAAMA,MAAM0yB,EAAW0iD,IAC7DnnE,GAAS2J,EAAaC,GAAY,EAClCpQ,EAAQ,EAAAstE,YAAYvuE,EAAQyH,EAAO6J,GACzCF,EAAaC,EAEb,IAAMnkC,EAAOssB,EAAM00B,QAAQhC,EAAWohD,IAChCjtE,EAAYY,EAAM3mB,EAAI0lB,EAAO1lB,EAAI,OAAS,QAEhD,MAAO,CACLA,EAAG2mB,EAAM3mB,EACTvH,EAAGkuB,EAAMluB,EACT+a,MAAK,EACL5gB,KAAI,EACJw3B,OAAQwnB,EAERzkB,MAAO,EAAA0P,gBAAgB,EAAKvV,cAAc/I,WAAYoI,GACtDZ,UAAS,MAGb/vB,KAAK89F,UAAYS,GAErB,EAzTA,G,6LCzDa,EAAAC,UAAY,UAIZ,EAAAC,WAAa,WAIb,EAAAC,WAAa,WAIb,EAAAC,sBAAwB,sBAIxB,EAAAC,UAAY,aAIZ,EAAAC,OAAS,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAIvF,EAAAC,MAAQ,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,M,6BC3BpD,u3DAYO,SAASnhG,IACd,IAAIoS,EAAM,IAAI4+E,IAAoB,GAQlC,OANIA,KAAuB1/E,eACzBc,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,GAGJA,EASF,SAASqiB,EAAMjuB,GACpB,IAAI4L,EAAM,IAAI4+E,IAAoB,GAIlC,OAHA5+E,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACJ4L,EASF,SAASnR,EAAOuF,GACrB,IAAI6F,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACNszB,EAAItzB,EAAE,GACV,OAAOgL,KAAKG,MAAMtF,EAAGvH,EAAGg1B,GAWnB,SAASo3D,EAAW7kF,EAAGvH,EAAGg1B,GAC/B,IAAI1nB,EAAM,IAAI4+E,IAAoB,GAIlC,OAHA5+E,EAAI,GAAK/F,EACT+F,EAAI,GAAKtN,EACTsN,EAAI,GAAK0nB,EACF1nB,EAUF,SAASwP,EAAKxP,EAAK5L,GAIxB,OAHA4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACJ4L,EAYF,SAASnK,EAAImK,EAAK/F,EAAGvH,EAAGg1B,GAI7B,OAHA1nB,EAAI,GAAK/F,EACT+F,EAAI,GAAKtN,EACTsN,EAAI,GAAK0nB,EACF1nB,EAWF,SAASy4B,EAAIz4B,EAAK5L,EAAGzE,GAI1B,OAHAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAWF,SAAS0iF,EAAS1iF,EAAK5L,EAAGzE,GAI/B,OAHAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAWF,SAASkgF,EAASlgF,EAAK5L,EAAGzE,GAI/B,OAHAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAWF,SAASgvF,EAAOhvF,EAAK5L,EAAGzE,GAI7B,OAHAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAUF,SAASylB,EAAKzlB,EAAK5L,GAIxB,OAHA4L,EAAI,GAAKZ,KAAKqmB,KAAKrxB,EAAE,IACrB4L,EAAI,GAAKZ,KAAKqmB,KAAKrxB,EAAE,IACrB4L,EAAI,GAAKZ,KAAKqmB,KAAKrxB,EAAE,IACd4L,EAUF,SAAS4Q,EAAM5Q,EAAK5L,GAIzB,OAHA4L,EAAI,GAAKZ,KAAKwR,MAAMxc,EAAE,IACtB4L,EAAI,GAAKZ,KAAKwR,MAAMxc,EAAE,IACtB4L,EAAI,GAAKZ,KAAKwR,MAAMxc,EAAE,IACf4L,EAWF,SAAS0O,EAAI1O,EAAK5L,EAAGzE,GAI1B,OAHAqQ,EAAI,GAAKZ,KAAKsP,IAAIta,EAAE,GAAIzE,EAAE,IAC1BqQ,EAAI,GAAKZ,KAAKsP,IAAIta,EAAE,GAAIzE,EAAE,IAC1BqQ,EAAI,GAAKZ,KAAKsP,IAAIta,EAAE,GAAIzE,EAAE,IACnBqQ,EAWF,SAASyO,EAAIzO,EAAK5L,EAAGzE,GAI1B,OAHAqQ,EAAI,GAAKZ,KAAKqP,IAAIra,EAAE,GAAIzE,EAAE,IAC1BqQ,EAAI,GAAKZ,KAAKqP,IAAIra,EAAE,GAAIzE,EAAE,IAC1BqQ,EAAI,GAAKZ,KAAKqP,IAAIra,EAAE,GAAIzE,EAAE,IACnBqQ,EAUF,SAAS2O,EAAM3O,EAAK5L,GAIzB,OAHA4L,EAAI,GAAKZ,KAAKuP,MAAMva,EAAE,IACtB4L,EAAI,GAAKZ,KAAKuP,MAAMva,EAAE,IACtB4L,EAAI,GAAKZ,KAAKuP,MAAMva,EAAE,IACf4L,EAWF,SAASmZ,EAAMnZ,EAAK5L,EAAGzE,GAI5B,OAHAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EACTqQ,EAYF,SAASivF,EAAYjvF,EAAK5L,EAAGzE,EAAGwpB,GAIrC,OAHAnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EAChBnZ,EAUF,SAASs4B,EAASlkC,EAAGzE,GAC1B,IAAIsK,EAAItK,EAAE,GAAKyE,EAAE,GACb1B,EAAI/C,EAAE,GAAKyE,EAAE,GACbszB,EAAI/3B,EAAE,GAAKyE,EAAE,GACjB,OAAOgL,KAAKG,MAAMtF,EAAGvH,EAAGg1B,GAUnB,SAASwnE,EAAgB96F,EAAGzE,GACjC,IAAIsK,EAAItK,EAAE,GAAKyE,EAAE,GACb1B,EAAI/C,EAAE,GAAKyE,EAAE,GACbszB,EAAI/3B,EAAE,GAAKyE,EAAE,GACjB,OAAO6F,EAAIA,EAAIvH,EAAIA,EAAIg1B,EAAIA,EAStB,SAASynE,EAAc/6F,GAC5B,IAAI6F,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACNszB,EAAItzB,EAAE,GACV,OAAO6F,EAAIA,EAAIvH,EAAIA,EAAIg1B,EAAIA,EAUtB,SAAS0nE,EAAOpvF,EAAK5L,GAI1B,OAHA4L,EAAI,IAAM5L,EAAE,GACZ4L,EAAI,IAAM5L,EAAE,GACZ4L,EAAI,IAAM5L,EAAE,GACL4L,EAUF,SAASqvF,EAAQrvF,EAAK5L,GAI3B,OAHA4L,EAAI,GAAK,EAAM5L,EAAE,GACjB4L,EAAI,GAAK,EAAM5L,EAAE,GACjB4L,EAAI,GAAK,EAAM5L,EAAE,GACV4L,EAUF,SAASsvF,EAAUtvF,EAAK5L,GAC7B,IAAI6F,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACNszB,EAAItzB,EAAE,GACNkjC,EAAMr9B,EAAIA,EAAIvH,EAAIA,EAAIg1B,EAAIA,EAU9B,OARI4P,EAAM,IAERA,EAAM,EAAIl4B,KAAKI,KAAK83B,IAGtBt3B,EAAI,GAAK5L,EAAE,GAAKkjC,EAChBt3B,EAAI,GAAK5L,EAAE,GAAKkjC,EAChBt3B,EAAI,GAAK5L,EAAE,GAAKkjC,EACTt3B,EAUF,SAASinB,EAAI7yB,EAAGzE,GACrB,OAAOyE,EAAE,GAAKzE,EAAE,GAAKyE,EAAE,GAAKzE,EAAE,GAAKyE,EAAE,GAAKzE,EAAE,GAWvC,SAASsiE,EAAMjyD,EAAK5L,EAAGzE,GAC5B,IAAI43B,EAAKnzB,EAAE,GACPozB,EAAKpzB,EAAE,GACPqzB,EAAKrzB,EAAE,GACPuzB,EAAKh4B,EAAE,GACPi4B,EAAKj4B,EAAE,GACPk4B,EAAKl4B,EAAE,GAIX,OAHAqQ,EAAI,GAAKwnB,EAAKK,EAAKJ,EAAKG,EACxB5nB,EAAI,GAAKynB,EAAKE,EAAKJ,EAAKM,EACxB7nB,EAAI,GAAKunB,EAAKK,EAAKJ,EAAKG,EACjB3nB,EAYF,SAASuvF,EAAKvvF,EAAK5L,EAAGzE,EAAGnC,GAC9B,IAAI+5B,EAAKnzB,EAAE,GACPozB,EAAKpzB,EAAE,GACPqzB,EAAKrzB,EAAE,GAIX,OAHA4L,EAAI,GAAKunB,EAAK/5B,GAAKmC,EAAE,GAAK43B,GAC1BvnB,EAAI,GAAKwnB,EAAKh6B,GAAKmC,EAAE,GAAK63B,GAC1BxnB,EAAI,GAAKynB,EAAKj6B,GAAKmC,EAAE,GAAK83B,GACnBznB,EAcF,SAASwvF,EAAQxvF,EAAK5L,EAAGzE,EAAGhD,EAAGC,EAAGY,GACvC,IAAIiiG,EAAejiG,EAAIA,EACnBkiG,EAAUD,GAAgB,EAAIjiG,EAAI,GAAK,EACvCmiG,EAAUF,GAAgBjiG,EAAI,GAAKA,EACnCoiG,EAAUH,GAAgBjiG,EAAI,GAC9BqiG,EAAUJ,GAAgB,EAAI,EAAIjiG,GAItC,OAHAwS,EAAI,GAAK5L,EAAE,GAAKs7F,EAAU//F,EAAE,GAAKggG,EAAUhjG,EAAE,GAAKijG,EAAUhjG,EAAE,GAAKijG,EACnE7vF,EAAI,GAAK5L,EAAE,GAAKs7F,EAAU//F,EAAE,GAAKggG,EAAUhjG,EAAE,GAAKijG,EAAUhjG,EAAE,GAAKijG,EACnE7vF,EAAI,GAAK5L,EAAE,GAAKs7F,EAAU//F,EAAE,GAAKggG,EAAUhjG,EAAE,GAAKijG,EAAUhjG,EAAE,GAAKijG,EAC5D7vF,EAcF,SAAS8vF,EAAO9vF,EAAK5L,EAAGzE,EAAGhD,EAAGC,EAAGY,GACtC,IAAIuiG,EAAgB,EAAIviG,EACpBwiG,EAAwBD,EAAgBA,EACxCN,EAAejiG,EAAIA,EACnBkiG,EAAUM,EAAwBD,EAClCJ,EAAU,EAAIniG,EAAIwiG,EAClBJ,EAAU,EAAIH,EAAeM,EAC7BF,EAAUJ,EAAejiG,EAI7B,OAHAwS,EAAI,GAAK5L,EAAE,GAAKs7F,EAAU//F,EAAE,GAAKggG,EAAUhjG,EAAE,GAAKijG,EAAUhjG,EAAE,GAAKijG,EACnE7vF,EAAI,GAAK5L,EAAE,GAAKs7F,EAAU//F,EAAE,GAAKggG,EAAUhjG,EAAE,GAAKijG,EAAUhjG,EAAE,GAAKijG,EACnE7vF,EAAI,GAAK5L,EAAE,GAAKs7F,EAAU//F,EAAE,GAAKggG,EAAUhjG,EAAE,GAAKijG,EAAUhjG,EAAE,GAAKijG,EAC5D7vF,EAUF,SAASX,EAAOW,EAAKmZ,GAC1BA,EAAQA,GAAS,EACjB,IAAI/rB,EAAwB,EAApBwxF,MAA0Bx/E,KAAKE,GACnCooB,EAAwB,EAApBk3D,MAA0B,EAC9BqR,EAAS7wF,KAAKI,KAAK,EAAMkoB,EAAIA,GAAKvO,EAItC,OAHAnZ,EAAI,GAAKZ,KAAKw1B,IAAIxnC,GAAK6iG,EACvBjwF,EAAI,GAAKZ,KAAKioB,IAAIj6B,GAAK6iG,EACvBjwF,EAAI,GAAK0nB,EAAIvO,EACNnZ,EAYF,SAASkwF,EAAclwF,EAAK5L,EAAG1H,GACpC,IAAIuN,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACNszB,EAAItzB,EAAE,GACNixB,EAAI34B,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,IAAMg7B,EAAIh7B,EAAE,IAK5C,OAJA24B,EAAIA,GAAK,EACTrlB,EAAI,IAAMtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GAAKg7B,EAAIh7B,EAAE,KAAO24B,EACpDrlB,EAAI,IAAMtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GAAKg7B,EAAIh7B,EAAE,KAAO24B,EACpDrlB,EAAI,IAAMtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,IAAMg7B,EAAIh7B,EAAE,KAAO24B,EAC9CrlB,EAWF,SAAS4mB,EAAc5mB,EAAK5L,EAAG1H,GACpC,IAAIuN,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACNszB,EAAItzB,EAAE,GAIV,OAHA4L,EAAI,GAAK/F,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GAAKg7B,EAAIh7B,EAAE,GACrCsT,EAAI,GAAK/F,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GAAKg7B,EAAIh7B,EAAE,GACrCsT,EAAI,GAAK/F,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GAAKg7B,EAAIh7B,EAAE,GAC9BsT,EAYF,SAASmwF,EAAcnwF,EAAK5L,EAAGM,GAEpC,IAAI07F,EAAK17F,EAAE,GACP27F,EAAK37F,EAAE,GACP47F,EAAK57F,EAAE,GACP67F,EAAK77F,EAAE,GACPuF,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACNszB,EAAItzB,EAAE,GAGNo8F,EAAMH,EAAK3oE,EAAI4oE,EAAK59F,EACpB+9F,EAAMH,EAAKr2F,EAAIm2F,EAAK1oE,EACpBgpE,EAAMN,EAAK19F,EAAI29F,EAAKp2F,EAEpB02F,EAAON,EAAKK,EAAMJ,EAAKG,EACvBG,EAAON,EAAKE,EAAMJ,EAAKM,EACvBG,EAAOT,EAAKK,EAAMJ,EAAKG,EAEvBM,EAAU,EAALP,EAYT,OAXAC,GAAOM,EACPL,GAAOK,EACPJ,GAAOI,EAEPH,GAAQ,EACRC,GAAQ,EACRC,GAAQ,EAER7wF,EAAI,GAAK/F,EAAIu2F,EAAMG,EACnB3wF,EAAI,GAAKtN,EAAI+9F,EAAMG,EACnB5wF,EAAI,GAAK0nB,EAAIgpE,EAAMG,EACZ7wF,EAWF,SAAS+wF,EAAQ/wF,EAAK5L,EAAGzE,EAAG8wF,GACjC,IAAIryF,EAAI,GACJhB,EAAI,GAaR,OAXAgB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAChBvB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAChBvB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAEhBvC,EAAE,GAAKgB,EAAE,GACThB,EAAE,GAAKgB,EAAE,GAAKgR,KAAKw1B,IAAI6rD,GAAOryF,EAAE,GAAKgR,KAAKioB,IAAIo5D,GAC9CrzF,EAAE,GAAKgB,EAAE,GAAKgR,KAAKioB,IAAIo5D,GAAOryF,EAAE,GAAKgR,KAAKw1B,IAAI6rD,GAE9CzgF,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GAClBqQ,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GAClBqQ,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GACXqQ,EAWF,SAASgxF,EAAQhxF,EAAK5L,EAAGzE,EAAG8wF,GACjC,IAAIryF,EAAI,GACJhB,EAAI,GAaR,OAXAgB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAChBvB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAChBvB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAEhBvC,EAAE,GAAKgB,EAAE,GAAKgR,KAAKioB,IAAIo5D,GAAOryF,EAAE,GAAKgR,KAAKw1B,IAAI6rD,GAC9CrzF,EAAE,GAAKgB,EAAE,GACThB,EAAE,GAAKgB,EAAE,GAAKgR,KAAKw1B,IAAI6rD,GAAOryF,EAAE,GAAKgR,KAAKioB,IAAIo5D,GAE9CzgF,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GAClBqQ,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GAClBqQ,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GACXqQ,EAWF,SAASixF,EAAQjxF,EAAK5L,EAAGzE,EAAG8wF,GACjC,IAAIryF,EAAI,GACJhB,EAAI,GAaR,OAXAgB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAChBvB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAChBvB,EAAE,GAAKgG,EAAE,GAAKzE,EAAE,GAEhBvC,EAAE,GAAKgB,EAAE,GAAKgR,KAAKw1B,IAAI6rD,GAAOryF,EAAE,GAAKgR,KAAKioB,IAAIo5D,GAC9CrzF,EAAE,GAAKgB,EAAE,GAAKgR,KAAKioB,IAAIo5D,GAAOryF,EAAE,GAAKgR,KAAKw1B,IAAI6rD,GAC9CrzF,EAAE,GAAKgB,EAAE,GAET4R,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GAClBqQ,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GAClBqQ,EAAI,GAAK5S,EAAE,GAAKuC,EAAE,GACXqQ,EASF,SAASonB,EAAMhzB,EAAGzE,GACvB,IAAI43B,EAAKnzB,EAAE,GACPozB,EAAKpzB,EAAE,GACPqzB,EAAKrzB,EAAE,GACPuzB,EAAKh4B,EAAE,GACPi4B,EAAKj4B,EAAE,GACPk4B,EAAKl4B,EAAE,GAGPuhG,EAFO9xF,KAAKI,KAAK+nB,EAAKA,EAAKC,EAAKA,EAAKC,EAAKA,GACnCroB,KAAKI,KAAKmoB,EAAKA,EAAKC,EAAKA,EAAKC,EAAKA,GAE1CspE,EAASD,GAAOjqE,EAAI7yB,EAAGzE,GAAKuhG,EAChC,OAAO9xF,KAAK8nB,KAAK9nB,KAAKsP,IAAItP,KAAKqP,IAAI0iF,GAAS,GAAI,IAS3C,SAASn/E,EAAKhS,GAInB,OAHAA,EAAI,GAAK,EACTA,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,EASF,SAASxR,EAAI4F,GAClB,MAAO,QAAUA,EAAE,GAAK,KAAOA,EAAE,GAAK,KAAOA,EAAE,GAAK,IAU/C,SAASyuF,EAAYzuF,EAAGzE,GAC7B,OAAOyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,GAU/C,SAASmzF,EAAO1uF,EAAGzE,GACxB,IAAIozF,EAAK3uF,EAAE,GACP4uF,EAAK5uF,EAAE,GACP6uF,EAAK7uF,EAAE,GACPovF,EAAK7zF,EAAE,GACP8zF,EAAK9zF,EAAE,GACP+zF,EAAK/zF,EAAE,GACX,OAAOyP,KAAKsmB,IAAIq9D,EAAKS,IAAO5E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIq9D,GAAK3jF,KAAKsmB,IAAI89D,KAAQpkF,KAAKsmB,IAAIs9D,EAAKS,IAAO7E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIs9D,GAAK5jF,KAAKsmB,IAAI+9D,KAAQrkF,KAAKsmB,IAAIu9D,EAAKS,IAAO9E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIu9D,GAAK7jF,KAAKsmB,IAAIg+D,IAOzP,IAmDD0N,EAnDKh5D,EAAMsqD,EAMNuB,EAAM/D,EAMNmR,EAAMrC,EAMN1/F,EAAOgpC,EAMPg5D,EAAUpC,EAMV53D,EAAMzoC,EAMN0iG,EAASpC,EAcTlxE,GACLmzE,EAAMxjG,IACH,SAAUwG,EAAGo9F,EAAQ36E,EAAQ+iC,EAAOojC,EAAIyU,GAC7C,IAAInlG,EAAGC,EAgBP,IAdKilG,IACHA,EAAS,GAGN36E,IACHA,EAAS,GAITtqB,EADEqtD,EACEx6C,KAAKsP,IAAIkrC,EAAQ43C,EAAS36E,EAAQziB,EAAEvF,QAEpCuF,EAAEvF,OAGHvC,EAAIuqB,EAAQvqB,EAAIC,EAAGD,GAAKklG,EAC3BJ,EAAI,GAAKh9F,EAAE9H,GACX8kG,EAAI,GAAKh9F,EAAE9H,EAAI,GACf8kG,EAAI,GAAKh9F,EAAE9H,EAAI,GACf0wF,EAAGoU,EAAKA,EAAKK,GACbr9F,EAAE9H,GAAK8kG,EAAI,GACXh9F,EAAE9H,EAAI,GAAK8kG,EAAI,GACfh9F,EAAE9H,EAAI,GAAK8kG,EAAI,GAGjB,OAAOh9F,K,6BC/wBX,+EAIM,EAAU,kCACV,EAAU,gEACV,EAAU,kCACV,EAAiB,8BAEvB,SAAS,EAAQ,EAAO,GACpB,IAAI,EAAgB,EAAM,MAAM,GAChC,OAAF,IAAE,CAAG,GAAK,SAAC,GACT,IAAM,EAAU,EAAK,MAAM,KAC3B,EAAS,aAAa,EAAQ,GAAI,EAAQ,OAiKxC,SAAU,EAAW,EAAmC,EAAmB,GAC/E,GAAI,YAAS,GAAQ,CACnB,GAAiB,MAAb,EAAM,IAA2B,MAAb,EAAM,GAAY,CACxC,GAAiB,MAAb,EAAM,GAER,OA5JF,SAA4B,EAAmC,EAAmB,GACpF,IAIE,EACA,EALE,EAAM,EAAQ,KAAK,GACnB,EAAS,WAAW,EAAI,IAAM,KAAQ,KAAK,GAAK,KAChD,EAAQ,EAAI,GACZ,EAAM,EAAQ,UAIhB,GAAS,GAAK,EAAS,GAAS,KAAK,IACnC,EAAI,CACA6F,EAAH,EAAI,KACDvH,EAAH,EAAI,MAET,EAAM,CACJ,EAAG,EAAI,KACP,EAAG,EAAI,OAEC,GAAS,KAAK,IAAM,GAAS,EAAQ,KAAK,IAChD,EAAI,CACN,EAAG,EAAI,KACD,EAAH,EAAI,MAEL,EAAE,CACJ,EAAG,EAAI,KACP,EAAG,EAAI,OAEA,KAAK,IAAM,GAAS,EAAS,IAAS,KAAK,IAChD,EAAI,CACN,EAAG,EAAI,KACP,EAAG,EAAI,MAEL,EAAE,CACJ,EAAG,EAAI,KACP,EAAG,EAAI,QAGL,EAAI,CACA,EAAH,EAAI,KACP,EAAG,EAAI,MAEL,EAAE,CACE,EAAH,EAAI,KACP,EAAG,EAAI,OAIT,IAAI,EAAW,KAAK,IAAI,GACpB,EAAY,EAAW,EAEvB,GAAK,EAAI,EAAI,EAAM,EAAI,GAAY,EAAI,EAAI,EAAM,KAAO,EAAY,GAAK,EAAM,EAC/E,EAAK,GAAY,EAAI,EAAI,EAAM,EAAI,GAAY,EAAI,EAAI,EAAM,KAAQ,EAAY,GAAK,EAAM,EAC5F,EAAW,EAAQ,qBAAqB,EAAM,EAAG,EAAM,EAAG,EAAG,GAEnE,OADA,EAAQ,EAAO,GACR,EAuGM,CAAkB,EAAS,EAAS,GAE7C,GAAiB,MAAb,EAAM,GAER,OAjGF,SAA8B,EAAmC,EAAmB,GACtF,IAAI,EAAM,EAAQ,KAAK,GACnB,EAAK,WAAW,EAAI,IACpB,EAAK,WAAW,EAAI,IACpB,EAAK,WAAW,EAAI,IACpB,EAAQ,EAAI,GAEhB,GAAS,IAAP,EAAU,CACZ,IAAM,EAAS,EAAM,MAAM,GAC3B,OAAO,EAAO,EAAO,OAAS,GAAG,MAAM,KAAK,GAE5C,IAAI,EAAM,EAAQ,UACd,EAAQ,EAAI,KAAO,EAAI,KACvB,EAAS,EAAI,KAAO,EAAI,KACxB,EAAI,KAAK,KAAK,EAAQ,EAAQ,EAAS,GAAU,EACjD,EAAW,EAAQ,qBACvB,EAAI,KAAO,EAAQ,EACnB,EAAI,KAAO,EAAS,EACpB,EACA,EAAI,KAAO,EAAQ,EACnB,EAAI,KAAO,EAAS,EACpB,EAAK,GAGL,OADA,EAAM,EAAO,GACR,EAyEM,CAAoB,EAAS,EAAS,GAE/C,GAAiB,MAAb,EAAM,GAER,OApEF,SAAuB,EAAmC,EAAmB,GAE/E,GAAE,EAAQ,IAAI,kBAAoB,EAAQ,IAAI,mBAAqB,EAC/D,OAAG,EAAQ,IAAI,WAEnB,IAAE,EACA,EACE,EAAM,EAAQ,KAAK,GACrB,EAAS,EAAI,GACX,EAAS,EAAI,GAGjB,SAAO,IAEH,EAAM,EAAQ,cAAc,EAAK,GACjC,EAAI,IAAI,UAAW,GACnB,EAAI,IAAI,gBAAiB,GAG7B,OAAM,GACN,IAAK,IACH,EAAS,SACT,MACF,IAAK,IACH,EAAS,WACT,MACF,IAAK,IACH,EAAS,WACT,MACE,IAAC,IACH,EAAS,YACT,MACE,QACF,EAAS,YAmBX,OAhBA,EAAI,IAAI,MAEL,EAAO,MAAM,aAEZ,cAAc,aAElB,EAAE,IAAM,EAEN,EAAI,SACF,KAEA,SAAS,EAET,MAAM,EAAI,KAGT,EAgBM,CAAa,EAAS,EAAS,GAGtC,OAAG,GAIL,SAAU,EAAY,GACxB,IAAE,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EAoBT,OAnBI,YAAQ,GACY,IAAlB,EAAO,OACT,EAAK,EAAK,EAAK,EAAK,EAAO,GACA,IAAlB,EAAO,QAChB,EAAK,EAAK,EAAO,GACjB,EAAK,EAAK,EAAO,IACU,IAAlB,EAAO,QAChB,EAAK,EAAO,GACZ,EAAK,EAAK,EAAO,GACjB,EAAK,EAAO,KAEZ,EAAK,EAAO,GACZ,EAAK,EAAO,GACZ,EAAK,EAAO,GACZ,EAAK,EAAO,IAGd,EAAK,EAAK,EAAK,EAAK,EAEf,CAAC,EAAI,EAAI,EAAI,K,8EC3NtB,aAqBsB,gBArBH,YACnB,aACI,EAAJ,OACA,SACI,EAAJ,OACI,EAAJ,OACI,EAAJ,OACI,EAAJ,OACI,EAAJ,OAEA,WAAS,OAAQ,WACjB,WAAS,QAAS,WAClBg/F,EAAWC,SAAF,SAAU,WACnBD,EAAWC,SAAF,SAAU,WACnBD,EAAWC,SAAF,WAAY,WACrBD,EAAWC,SAAF,UAAW,WACpBD,EAAWC,SAAF,OAAQ,WACjBD,EAAWC,SAAF,OAAQ,WACjBD,EAAWC,SAAF,OAAQ,WACjBD,EAAWC,SAAF,UAAW,Y,8E1TnBpB,aACA,SA0BA,SAAgB,EAAgB,EAAkB,GAC9C,OAAK,EAAa,EAAa,EAAsB,IAAX,EAlB9C,yBAA8B,EAAc,EAAkB,GAC1D,IAAE,EAAY,EAId,OAHE,WAAS,KACPC,EAAQ,EAAK,MAAM,MAAM,QAE3B,EAAY,EAEP,EAAW,EADA,EAAgB,EAAU,IACD,EAAY,GAElD,GAQT,oBASA,wBAA6B,EAAc,GACvC,IAAI99D,EAAU+9D,EAAYC,sBACxB,EAAQ,EAEV,GAAE,QAAM,IAAkB,KAATx7E,EACb,OAAG,EAIP,GAFAwd,EAAM,OACNA,EAAM,KAAO,EACX,WAAS,IAASxd,EAAK,SAAS,MAAO,CACrC,IAAE,EAAU,EAAK,MAAM,MACvBy7E,EAAOt4F,KAAN,GAAS,SAAC,GACP,MAAe,EAAQ,YAAY,GAAS,MAC9C,EAAQ,IACFnD,EAAA,WAIZ,EAAQ,EAAQ,YAAY,GAAM,MAGlC,OADA,EAAM,UACD,GAGTxK,EAAQ,aAAR,SAA6B,GACnB,iBAAU,eAAY,eAC5B,MAAK,CADmC,YAAW,cACrB,EAAe,EAAQ,KAAM,GAAY,KAAK,KAAK,S,8E2T9DrF,aACM,EAAW,QAEjB,SAAS,EAAW,EAAG,GACnB,MAAK,CACL,EAAE,IAAM,EAAE,GAAK,EAAE,IACjB,EAAE,IAAM,EAAE,GAAK,EAAE,KAIrB,mBAAuC,GACnC,IAAI,EAAY,UAAgB,GAEhC,IAAG,IAAc,EAAU,OAC3B,MAAO,CACL,CAAE,IAAK,EAAG,IAIZ,IADA,IAAE,GAAc,EACT,EAAI,EAAG,EAAI,EAAU,OAAQ,IAAK,CACrC,IAAE,EAAM,EAAU,GAAG,GAErB,KAAS,KAAK,IAAQ,CAAE,IAAK,IAAK,IAAK,KAAM,QAAQ,IAAQ,EAAG,CAClE,GAAc,EACd,OAKF,IAAG,EACH,OAAO,EAGP,IAAI,EAAM,GACR,EAAI,EACJ,EAAI,EACJ,EAAK,EACL,EAAK,EACL,EAAQ,EAGN,EAAQ,EAAU,GACP,MAAb,EAAM,IAA2B,MAAb,EAAM,KAG5B,EAFI,GAAC,EAAM,GAGX,EAFI,GAAC,EAAM,GAGP,IACA,KAAK,CAAE,IAAK,EAAG,IAGZ,EAAI,EAAX,IAAG,IAAe,EAAK,EAAU,OAAQ,EAAI,EAAI,IAAK,CAClD,IAAE,EAAK,EAAU,GACf,EAAY,EAAI,EAAI,GACtB,EAAI,GAEF,GADA,EAAM,EAAG,IACG,cACd,OAAQ,EAEJ,OADA,EAAJ,GAAK,EACC,GACE,IAAH,IACOsB,EAAR,GAAK,EAAG,GACAA,EAAR,GAAK,EAAG,GACA,EAAR,GAAK,EAAG,GACV,EAAE,GAAK,EAAG,GACAA,EAAR,GAAK,EAAG,GACA,EAAR,IAAM,EAAG,GAAK,EAChB,EAAE,IAAM,EAAG,GAAK,EACN,MACJ,IAAH,IACH,EAAE,IAAM,EAAG,GAAK,EACN,MACJ,IAAH,IACO,EAAR,IAAM,EAAG,GAAK,EAChB,MACM,IAAH,IACO,GAAJ,EAAG,GAAK,EACJ,GAAJ,EAAG,GAAK,EACd,MACF,QACE,IAAK,IAAI,EAAI,EAAG,EAAK,EAAG,OAAQ,EAAI,EAAI,IACtCA,EAAE,IAAM,EAAG,IAAO,EAAI,EAAK,EAAI,QAI/B,EAAF,EAAU,GAGZ,OAAI,GACA,IAAD,IACK6M,GAAH,EACG,GAAH,EACG,MACJ,IAAD,IAEK7M,EAAJ,CAAE,IADE,EAAJ,EAAE,GACQ,GACN,MACJ,IAAD,IAEK,EAAJ,CAAE,IAAK,EADH,EAAJ,EAAE,IAEE,MACJ,IAAD,IACK,EAAJ,EAAE,GACE,EAAJ,EAAE,GAGE,IAAF,EAAY,EAAW,CAAE,EAAU,GAAI,EAAU,IAAM,CAAE,EAAU,GAAI,EAAU,KAC/E,EAAJ,CAAE,IAAK,EAAU,GAAI,EAAU,GAAI,EAAG,GAClC,MACJ,IAAD,IACK,EAAJ,EAAE,EAAE,OAAS,GACT,EAAJ,EAAE,EAAE,OAAS,GAGjB,IAAM,EAAS,EAAU,OACnB,EAAY,EAChB,CAAE,EAAU,EAAS,GAAI,EAAU,EAAS,IAC5C,CAAE,EAAU,EAAS,GAAI,EAAU,EAAS,KAC9C,EAAI,CAAE,IAAK,EAAU,GAAI,EAAU,GAAI,EAAE,GAAI,EAAE,GAAI,EAAG,GAC9C,MACJ,IAAD,IACH,EAAK,EAAE,EAAE,OAAS,GAClB,EAAK,EAAE,EAAE,OAAS,GAClB,MACF,QACE,EAAI,EAAE,EAAE,OAAS,GACjB,EAAI,EAAE,EAAE,OAAS,GAErB,EAAI,KAAK,GAGX,OAAO,I,8ECnIT,aACA,QAGAtB,EAAA,QAAe,CAMXg1B,IAAF,SAAI,GAGE,IAFA,IAAE,EAAO,GACP,EAAO,GACJ,EAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CAChC,MAAQ,EAAO,GACfkxE,EAAD,KAAK,EAAM,IACVC,EAAD,KAAK,EAAM,IAEd,OAAG,iBAAe,EAAM,IAO5BpjG,OAAF,SAAO,GACD,OAAG,kBAAgB,IAQvBkyB,QAAF,SAAQ,EAAsB,GACxB,OAAG,kBAAgB,EAAQ,IAS/BC,cAAF,SAAc,EAAsB,EAAW,GACzC,OAAG,oBAAkB,EAAQ,EAAG,IAQpCG,aAAF,SAAa,EAAsB,GAC7B,OAAG,kBAAgB,EAAQ,M,kICrDrB,SAAU+wE,EAAkB16D,EAAe,GAGrD,IAFA,IAAI5qC,EAAI,GAED,EAAI,EAAG,EAAO,EAAI,OAAQ,EAAO,GAAK,EAAI,EAAG,GAAK,EAAG,CACxD,IAAE,EAAI,CAAE,CACJ,GAAF,EAAI,EAAI,GACN,GAAF,EAAI,EAAI,IACX,CACK,GAAF,EAAI,GACF,GAAF,EAAI,EAAI,IACX,CACK,GAAF,EAAI,EAAI,GACN,GAAF,EAAI,EAAI,IACX,CACK,GAAF,EAAI,EAAI,GACN,GAAF,EAAI,EAAI,KAEV,EACG,EAKM,EAAO,IAAM,EACtB,EAAE,GAAK,CACL,GAAI,EAAI,GACE,GAAN,EAAI,IAED,EAAO,IAAM,IACtB,EAAE,GAAK,CACL,GAAI,EAAI,GACR,GAAI,EAAI,IAEF,EAAN,GAAK,CACL,GAAI,EAAI,GACR,GAAI,EAAI,KAhBFwB,EAAN,GAAK,CACK6L,GAAN,EAAI,EAAO,GACLvH,GAAN,EAAI,EAAO,IAkBf,EAAO,IAAM,EACf,EAAE,GAAK,EAAE,GACC,IACV,EAAE,GAAK,CACL,GAAI,EAAI,GACR,GAAI,EAAI,EAAI,KAId,EAAF,KAAK,CAAE,MACL,EAAE,GAAG,EAAI,EAAI,EAAE,GAAG,EAAI,EAAE,GAAG,GAAK,IAChC,EAAE,GAAG,EAAI,EAAI,EAAE,GAAG,EAAI,EAAE,GAAG,GAAK,GACjC,EAAE,GAAG,EAAI,EAAI,EAAE,GAAG,EAAI,EAAE,GAAG,GAAK,GAChC,EAAE,GAAG,EAAI,EAAI,EAAE,GAAG,EAAI,EAAE,GAAG,GAAK,EACjC,EAAE,GAAG,EACL,EAAE,GAAG,IAIP,OAAK,E,YCzDT,IAAM,EAAS,2CACT,EAAe,IAAI,OAAO,WAAa,EAAS,wCAA0C,EAAS,QAAU,EAAS,QAAS,MAC/H,EAAc,IAAI,OAAO,qCAAuC,EAAS,QAAU,EAAS,KAAM,MAG1F,SAAU,EAAgB,GACpC,IAAG,EACC,OAAG,KAGP,GAAE,IAAQ,GACV,OAAO,EAEP,IAAI,EAAc,CACd,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACH,EAAG,GAEC,EAAO,GA6Bb,OA3BE,OAAK,GAAY,QAAQ,GAAc,SAAU,EAAG,EAAG,GACnD,IAAE,EAAS,GACX,EAAO,EAAE,cAYT,GAXA,EAAF,QAAQ,GAAa,SAAU,EAAG,GAClC,GAAK,EAAO,MAAM,MAEP,MAAT,GAAgB,EAAO,OAAS,IAC5B,EAAD,KAAK,CAAE,GAAI,OAAO,EAAO,OAAO,EAAG,KACxC,EAAO,IACP,EAAU,MAAN,EAAY,IAAM,KAEX,MAAT,GAAkC,IAAlB,EAAO,QACzB,EAAK,KAAK,CAAE,EAAG,EAAO,KAEX,MAAT,EACF,EAAK,KAAK,CAAE,GAAI,OAAO,SAEjB,KAAC,EAAO,QAAU,EAAY,KAC1B,EAAH,KAAK,CAAE,GAAI,OAAO,EAAO,OAAO,EAAG,EAAY,MAC/C,EAAY,MAKrB,MAAO,MAGF,E,0CC3DF,SAASqd,EAAOviB,GACrB,OAAQA,ECDH,SAAS2kG,EAAO3kG,GACrB,OAAOA,EAAIA,EAGN,SAAS4kG,EAAQ5kG,GACtB,OAAOA,GAAK,EAAIA,GAGX,SAAS6kG,EAAU7kG,GACxB,QAASA,GAAK,IAAM,EAAIA,EAAIA,IAAMA,GAAK,EAAIA,GAAK,GAAK,E,4nDCP5C8kG,EAAU,SAAS73E,EAAOjqB,GAGnC,SAAS8hG,EAAO9kG,GACd,OAAO4R,KAAKyQ,IAAIriB,EAAGgD,GAKrB,OARAA,GAAKA,EAML8hG,EAAO1kE,SAAWnT,EAEX63E,EATY,CAFN,GAcJC,EAAW,SAAS93E,EAAOjqB,GAGpC,SAAS+hG,EAAQ/kG,GACf,OAAO,EAAI4R,KAAKyQ,IAAI,EAAIriB,EAAGgD,GAK7B,OARAA,GAAKA,EAML+hG,EAAQ3kE,SAAWnT,EAEZ83E,EATa,CAdP,GA0BJC,EAAa,SAAS/3E,EAAOjqB,GAGtC,SAASgiG,EAAUhlG,GACjB,QAASA,GAAK,IAAM,EAAI4R,KAAKyQ,IAAIriB,EAAGgD,GAAK,EAAI4O,KAAKyQ,IAAI,EAAIriB,EAAGgD,IAAM,EAKrE,OARAA,GAAKA,EAMLgiG,EAAU5kE,SAAWnT,EAEd+3E,EATe,CA1BT,GCAXC,EAAKrzF,KAAKE,GACVozF,EAASD,EAAK,EAEX,SAASE,EAAMnlG,GACpB,OAAe,IAANA,EAAW,EAAI,EAAI4R,KAAKw1B,IAAIpnC,EAAIklG,GAGpC,SAASE,EAAOplG,GACrB,OAAO4R,KAAKioB,IAAI75B,EAAIklG,GAGf,SAASG,EAASrlG,GACvB,OAAQ,EAAI4R,KAAKw1B,IAAI69D,EAAKjlG,IAAM,ECX3B,SAASslG,EAAK74F,GACnB,OAA+C,oBAAvCmF,KAAKyQ,IAAI,GAAI,GAAK5V,GAAK,aCA1B,SAAS84F,EAAMvlG,GACpB,OAAOslG,EAAK,GAAKtlG,GAGZ,SAASwlG,EAAOxlG,GACrB,OAAO,EAAIslG,EAAKtlG,GAGX,SAASylG,EAASzlG,GACvB,QAASA,GAAK,IAAM,EAAIslG,EAAK,EAAItlG,GAAK,EAAIslG,EAAKtlG,EAAI,IAAM,ECXpD,SAAS0lG,EAAS1lG,GACvB,OAAO,EAAI4R,KAAKI,KAAK,EAAIhS,EAAIA,GAGxB,SAAS2lG,EAAU3lG,GACxB,OAAO4R,KAAKI,KAAK,KAAMhS,EAAIA,GAGtB,SAAS4lG,EAAY5lG,GAC1B,QAASA,GAAK,IAAM,EAAI,EAAI4R,KAAKI,KAAK,EAAIhS,EAAIA,GAAK4R,KAAKI,KAAK,GAAKhS,GAAK,GAAKA,GAAK,GAAK,ECTxF,IASIg2F,EAAK,OAEF,SAAS6P,EAAS7lG,GACvB,OAAO,EAAI8lG,EAAU,EAAI9lG,GAGpB,SAAS8lG,EAAU9lG,GACxB,OAAQA,GAAKA,GAhBN,EAAI,GAgBYg2F,EAAKh2F,EAAIA,EAAIA,EAd7B,EAAI,GAckCg2F,GAAMh2F,GAf5C,EAAI,IAemDA,EAbvD,EAAI,EAa4DA,EAXhE,GAAK,GAWoEg2F,GAAMh2F,GAZ/E,EAAI,IAYsFA,EAV1F,GAAK,GAU8Fg2F,GAAMh2F,GATzG,GAAK,IAS+GA,EARpH,GAAK,GAWP,SAAS+lG,EAAY/lG,GAC1B,QAASA,GAAK,IAAM,EAAI,EAAI8lG,EAAU,EAAI9lG,GAAK8lG,EAAU9lG,EAAI,GAAK,GAAK,ECpBzE,IAEWgmG,EAAU,SAAS/4E,EAAOpsB,GAGnC,SAASmlG,EAAOhmG,GACd,OAAQA,GAAKA,GAAKA,GAAKa,GAAKb,EAAI,GAAKA,GAKvC,OARAa,GAAKA,EAMLmlG,EAAOC,UAAYh5E,EAEZ+4E,EATY,CAFL,SAcLE,EAAW,SAASj5E,EAAOpsB,GAGpC,SAASqlG,EAAQlmG,GACf,QAASA,EAAIA,IAAMA,EAAI,GAAKa,EAAIb,GAAK,EAKvC,OARAa,GAAKA,EAMLqlG,EAAQD,UAAYh5E,EAEbi5E,EATa,CAdN,SA0BLC,EAAa,SAASl5E,EAAOpsB,GAGtC,SAASslG,EAAUnmG,GACjB,QAASA,GAAK,GAAK,EAAIA,EAAIA,IAAMa,EAAI,GAAKb,EAAIa,IAAMb,GAAK,GAAKA,IAAMa,EAAI,GAAKb,EAAIa,GAAK,GAAK,EAK7F,OARAA,GAAKA,EAMLslG,EAAUF,UAAYh5E,EAEfk5E,EATe,CA1BR,SCEZC,EAAM,EAAIx0F,KAAKE,GAIRu0F,EAAa,SAASp5E,EAAOrmB,EAAGhG,GACzC,IAAIC,EAAI+Q,KAAK22D,KAAK,GAAK3hE,EAAIgL,KAAKqP,IAAI,EAAGra,MAAQhG,GAAKwlG,GAEpD,SAASC,EAAUrmG,GACjB,OAAO4G,EAAI0+F,MAAStlG,GAAM4R,KAAKioB,KAAKh5B,EAAIb,GAAKY,GAM/C,OAHAylG,EAAUC,UAAY,SAAS1/F,GAAK,OAAOqmB,EAAOrmB,EAAGhG,EAAIwlG,IACzDC,EAAUE,OAAS,SAAS3lG,GAAK,OAAOqsB,EAAOrmB,EAAGhG,IAE3CylG,EAVe,CAHR,EACH,IAeFG,EAAc,SAASv5E,EAAOrmB,EAAGhG,GAC1C,IAAIC,EAAI+Q,KAAK22D,KAAK,GAAK3hE,EAAIgL,KAAKqP,IAAI,EAAGra,MAAQhG,GAAKwlG,GAEpD,SAASI,EAAWxmG,GAClB,OAAO,EAAI4G,EAAI0+F,EAAKtlG,GAAKA,GAAK4R,KAAKioB,KAAK75B,EAAIa,GAAKD,GAMnD,OAHA4lG,EAAWF,UAAY,SAAS1/F,GAAK,OAAOqmB,EAAOrmB,EAAGhG,EAAIwlG,IAC1DI,EAAWD,OAAS,SAAS3lG,GAAK,OAAOqsB,EAAOrmB,EAAGhG,IAE5C4lG,EAVgB,CAhBT,EACH,IA4BFC,EAAgB,SAASx5E,EAAOrmB,EAAGhG,GAC5C,IAAIC,EAAI+Q,KAAK22D,KAAK,GAAK3hE,EAAIgL,KAAKqP,IAAI,EAAGra,MAAQhG,GAAKwlG,GAEpD,SAASK,EAAazmG,GACpB,QAASA,EAAQ,EAAJA,EAAQ,GAAK,EACpB4G,EAAI0+F,GAAMtlG,GAAK4R,KAAKioB,KAAKh5B,EAAIb,GAAKY,GAClC,EAAIgG,EAAI0+F,EAAKtlG,GAAK4R,KAAKioB,KAAKh5B,EAAIb,GAAKY,IAAM,EAMnD,OAHA6lG,EAAaH,UAAY,SAAS1/F,GAAK,OAAOqmB,EAAOrmB,EAAGhG,EAAIwlG,IAC5DK,EAAaF,OAAS,SAAS3lG,GAAK,OAAOqsB,EAAOrmB,EAAGhG,IAE9C6lG,EAZkB,CA7BX,EACH,K,8EneJb,IAAM,EAAW,GAAG,SAIpBnoG,EAAA,QAFe,SAAC,EAAY,GAA0B,SAAS,KAAK,KAAW,WAAa,EAAtC,M,6B8EDtD,SAAS,EAAmB,EAAqB,GAC/C,IAAK,IAAM,KAAO,EACZ,EAAI,eAAe,IAAgB,gBAAR,QAAsC,IAAb,EAAI,KACpD,EAAM,GAAO,EAAI,I,iDAK7B,mBAA2C,EAAwB,EAAU,EAAU,GAInF,OAHE,GAAM,EAAK,EAAM,GACjB,GAAM,EAAK,EAAM,GACjB,GAAM,EAAK,EAAM,GACd,I,8EdbT,aAOAA,EAAA,QALmB,SAAS,GAC1B,IAAM,EAAM,UAAS,GACnB,OAAK,EAAI,OAAO,GAAG,cAAgB,EAAI,UAAU,K,6BoaJrD,swDAYO,SAAS8B,IACd,IAAIoS,EAAM,IAAI4+E,IAAoB,GAOlC,OALIA,KAAuB1/E,eACzBc,EAAI,GAAK,EACTA,EAAI,GAAK,GAGJA,EASF,SAASqiB,EAAMjuB,GACpB,IAAI4L,EAAM,IAAI4+E,IAAoB,GAGlC,OAFA5+E,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACJ4L,EAUF,SAAS8+E,EAAW7kF,EAAGvH,GAC5B,IAAIsN,EAAM,IAAI4+E,IAAoB,GAGlC,OAFA5+E,EAAI,GAAK/F,EACT+F,EAAI,GAAKtN,EACFsN,EAUF,SAASwP,EAAKxP,EAAK5L,GAGxB,OAFA4L,EAAI,GAAK5L,EAAE,GACX4L,EAAI,GAAK5L,EAAE,GACJ4L,EAWF,SAASnK,EAAImK,EAAK/F,EAAGvH,GAG1B,OAFAsN,EAAI,GAAK/F,EACT+F,EAAI,GAAKtN,EACFsN,EAWF,SAASy4B,EAAIz4B,EAAK5L,EAAGzE,GAG1B,OAFAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAWF,SAAS0iF,EAAS1iF,EAAK5L,EAAGzE,GAG/B,OAFAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAWF,SAASkgF,EAASlgF,EAAK5L,EAAGzE,GAG/B,OAFAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAWF,SAASgvF,EAAOhvF,EAAK5L,EAAGzE,GAG7B,OAFAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAClBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GACXqQ,EAUF,SAASylB,EAAKzlB,EAAK5L,GAGxB,OAFA4L,EAAI,GAAKZ,KAAKqmB,KAAKrxB,EAAE,IACrB4L,EAAI,GAAKZ,KAAKqmB,KAAKrxB,EAAE,IACd4L,EAUF,SAAS4Q,EAAM5Q,EAAK5L,GAGzB,OAFA4L,EAAI,GAAKZ,KAAKwR,MAAMxc,EAAE,IACtB4L,EAAI,GAAKZ,KAAKwR,MAAMxc,EAAE,IACf4L,EAWF,SAAS0O,EAAI1O,EAAK5L,EAAGzE,GAG1B,OAFAqQ,EAAI,GAAKZ,KAAKsP,IAAIta,EAAE,GAAIzE,EAAE,IAC1BqQ,EAAI,GAAKZ,KAAKsP,IAAIta,EAAE,GAAIzE,EAAE,IACnBqQ,EAWF,SAASyO,EAAIzO,EAAK5L,EAAGzE,GAG1B,OAFAqQ,EAAI,GAAKZ,KAAKqP,IAAIra,EAAE,GAAIzE,EAAE,IAC1BqQ,EAAI,GAAKZ,KAAKqP,IAAIra,EAAE,GAAIzE,EAAE,IACnBqQ,EAUF,SAAS2O,EAAM3O,EAAK5L,GAGzB,OAFA4L,EAAI,GAAKZ,KAAKuP,MAAMva,EAAE,IACtB4L,EAAI,GAAKZ,KAAKuP,MAAMva,EAAE,IACf4L,EAWF,SAASmZ,EAAMnZ,EAAK5L,EAAGzE,GAG5B,OAFAqQ,EAAI,GAAK5L,EAAE,GAAKzE,EAChBqQ,EAAI,GAAK5L,EAAE,GAAKzE,EACTqQ,EAYF,SAASivF,EAAYjvF,EAAK5L,EAAGzE,EAAGwpB,GAGrC,OAFAnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EACvBnZ,EAAI,GAAK5L,EAAE,GAAKzE,EAAE,GAAKwpB,EAChBnZ,EAUF,SAASs4B,EAASlkC,EAAGzE,GAC1B,IAAIsK,EAAItK,EAAE,GAAKyE,EAAE,GACb1B,EAAI/C,EAAE,GAAKyE,EAAE,GACjB,OAAOgL,KAAKG,MAAMtF,EAAGvH,GAUhB,SAASw8F,EAAgB96F,EAAGzE,GACjC,IAAIsK,EAAItK,EAAE,GAAKyE,EAAE,GACb1B,EAAI/C,EAAE,GAAKyE,EAAE,GACjB,OAAO6F,EAAIA,EAAIvH,EAAIA,EASd,SAAS7D,EAAOuF,GACrB,IAAI6F,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACV,OAAOgL,KAAKG,MAAMtF,EAAGvH,GAShB,SAASy8F,EAAc/6F,GAC5B,IAAI6F,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACV,OAAO6F,EAAIA,EAAIvH,EAAIA,EAUd,SAAS08F,EAAOpvF,EAAK5L,GAG1B,OAFA4L,EAAI,IAAM5L,EAAE,GACZ4L,EAAI,IAAM5L,EAAE,GACL4L,EAUF,SAASqvF,EAAQrvF,EAAK5L,GAG3B,OAFA4L,EAAI,GAAK,EAAM5L,EAAE,GACjB4L,EAAI,GAAK,EAAM5L,EAAE,GACV4L,EAUF,SAASsvF,EAAUtvF,EAAK5L,GAC7B,IAAI6F,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GACNkjC,EAAMr9B,EAAIA,EAAIvH,EAAIA,EAStB,OAPI4kC,EAAM,IAERA,EAAM,EAAIl4B,KAAKI,KAAK83B,IAGtBt3B,EAAI,GAAK5L,EAAE,GAAKkjC,EAChBt3B,EAAI,GAAK5L,EAAE,GAAKkjC,EACTt3B,EAUF,SAASinB,EAAI7yB,EAAGzE,GACrB,OAAOyE,EAAE,GAAKzE,EAAE,GAAKyE,EAAE,GAAKzE,EAAE,GAYzB,SAASsiE,EAAMjyD,EAAK5L,EAAGzE,GAC5B,IAAI+3B,EAAItzB,EAAE,GAAKzE,EAAE,GAAKyE,EAAE,GAAKzE,EAAE,GAG/B,OAFAqQ,EAAI,GAAKA,EAAI,GAAK,EAClBA,EAAI,GAAK0nB,EACF1nB,EAYF,SAASuvF,EAAKvvF,EAAK5L,EAAGzE,EAAGnC,GAC9B,IAAI+5B,EAAKnzB,EAAE,GACPozB,EAAKpzB,EAAE,GAGX,OAFA4L,EAAI,GAAKunB,EAAK/5B,GAAKmC,EAAE,GAAK43B,GAC1BvnB,EAAI,GAAKwnB,EAAKh6B,GAAKmC,EAAE,GAAK63B,GACnBxnB,EAUF,SAASX,EAAOW,EAAKmZ,GAC1BA,EAAQA,GAAS,EACjB,IAAI/rB,EAAwB,EAApBwxF,MAA0Bx/E,KAAKE,GAGvC,OAFAU,EAAI,GAAKZ,KAAKw1B,IAAIxnC,GAAK+rB,EACvBnZ,EAAI,GAAKZ,KAAKioB,IAAIj6B,GAAK+rB,EAChBnZ,EAWF,SAASk0F,EAAcl0F,EAAK5L,EAAG1H,GACpC,IAAIuN,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GAGV,OAFA4L,EAAI,GAAKtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAC3BsN,EAAI,GAAKtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EACpBsN,EAWF,SAASm0F,EAAen0F,EAAK5L,EAAG1H,GACrC,IAAIuN,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GAGV,OAFA4L,EAAI,GAAKtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GACjCsT,EAAI,GAAKtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GAC1BsT,EAYF,SAAS4mB,EAAc5mB,EAAK5L,EAAG1H,GACpC,IAAIuN,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GAGV,OAFA4L,EAAI,GAAKtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GACjCsT,EAAI,GAAKtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,GAC1BsT,EAaF,SAASkwF,EAAclwF,EAAK5L,EAAG1H,GACpC,IAAIuN,EAAI7F,EAAE,GACN1B,EAAI0B,EAAE,GAGV,OAFA4L,EAAI,GAAKtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,IACjCsT,EAAI,GAAKtT,EAAE,GAAKuN,EAAIvN,EAAE,GAAKgG,EAAIhG,EAAE,IAC1BsT,EAWF,SAASuvC,EAAOvvC,EAAK5L,EAAGzE,EAAG8wF,GAEhC,IAAIv3D,EAAK90B,EAAE,GAAKzE,EAAE,GACd84B,EAAKr0B,EAAE,GAAKzE,EAAE,GACdykG,EAAOh1F,KAAKioB,IAAIo5D,GAChB4T,EAAOj1F,KAAKw1B,IAAI6rD,GAIpB,OAFAzgF,EAAI,GAAKkpB,EAAKmrE,EAAO5rE,EAAK2rE,EAAOzkG,EAAE,GACnCqQ,EAAI,GAAKkpB,EAAKkrE,EAAO3rE,EAAK4rE,EAAO1kG,EAAE,GAC5BqQ,EASF,SAASonB,EAAMhzB,EAAGzE,GACvB,IAAIkwB,EAAKzrB,EAAE,GACPqtE,EAAKrtE,EAAE,GACPstE,EAAK/xE,EAAE,GACPgyE,EAAKhyE,EAAE,GAEXuhG,EAAM9xF,KAAKI,KAAKqgB,EAAKA,EAAK4hD,EAAKA,GAAMriE,KAAKI,KAAKkiE,EAAKA,EAAKC,EAAKA,GAE9DwvB,EAASD,IAAQrxE,EAAK6hD,EAAKD,EAAKE,GAAMuvB,EAEtC,OAAO9xF,KAAK8nB,KAAK9nB,KAAKsP,IAAItP,KAAKqP,IAAI0iF,GAAS,GAAI,IAS3C,SAASn/E,EAAKhS,GAGnB,OAFAA,EAAI,GAAK,EACTA,EAAI,GAAK,EACFA,EASF,SAASxR,EAAI4F,GAClB,MAAO,QAAUA,EAAE,GAAK,KAAOA,EAAE,GAAK,IAUjC,SAASyuF,EAAYzuF,EAAGzE,GAC7B,OAAOyE,EAAE,KAAOzE,EAAE,IAAMyE,EAAE,KAAOzE,EAAE,GAU9B,SAASmzF,EAAO1uF,EAAGzE,GACxB,IAAIozF,EAAK3uF,EAAE,GACP4uF,EAAK5uF,EAAE,GACPovF,EAAK7zF,EAAE,GACP8zF,EAAK9zF,EAAE,GACX,OAAOyP,KAAKsmB,IAAIq9D,EAAKS,IAAO5E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIq9D,GAAK3jF,KAAKsmB,IAAI89D,KAAQpkF,KAAKsmB,IAAIs9D,EAAKS,IAAO7E,IAAmBx/E,KAAKqP,IAAI,EAAKrP,KAAKsmB,IAAIs9D,GAAK5jF,KAAKsmB,IAAI+9D,IAOpK,IAmDD2N,EAnDK95D,EAAMzoC,EAMNupC,EAAMsqD,EAMNuB,EAAM/D,EAMNmR,EAAMrC,EAMN1/F,EAAOgpC,EAMPg5D,EAAUpC,EAMVqC,EAASpC,EAcTlxE,GACLmzE,EAAMxjG,IACH,SAAUwG,EAAGo9F,EAAQ36E,EAAQ+iC,EAAOojC,EAAIyU,GAC7C,IAAInlG,EAAGC,EAgBP,IAdKilG,IACHA,EAAS,GAGN36E,IACHA,EAAS,GAITtqB,EADEqtD,EACEx6C,KAAKsP,IAAIkrC,EAAQ43C,EAAS36E,EAAQziB,EAAEvF,QAEpCuF,EAAEvF,OAGHvC,EAAIuqB,EAAQvqB,EAAIC,EAAGD,GAAKklG,EAC3BJ,EAAI,GAAKh9F,EAAE9H,GACX8kG,EAAI,GAAKh9F,EAAE9H,EAAI,GACf0wF,EAAGoU,EAAKA,EAAKK,GACbr9F,EAAE9H,GAAK8kG,EAAI,GACXh9F,EAAE9H,EAAI,GAAK8kG,EAAI,GAGjB,OAAOh9F,K,8ExZ7mBX,mBAA8C,GAW1C,OAVa,OAAO,uBACpB,OAAO,6BAEL,OAAK,0BAEL,OAAK,yBACP,SAAS,GACP,OAAO,WAAW,EAAG,MAGX,K,8ECXhB,mBAA6C,IAC5B,OAAO,sBACpB,OAAO,4BAEL,OAAK,yBAEL,OAAK,wBACP,cAEK,K,6BwZNT,SAAgB,EAAU,EAAO,GAC7B,OAAG,GAAU,EAGR,CACD+L,KAAE,KAAK,IAAI,EAAM,KAAM,EAAM,MAC7BE,KAAE,KAAK,IAAI,EAAM,KAAM,EAAM,MAC7BD,KAAE,KAAK,IAAI,EAAM,KAAM,EAAM,MAC7BE,KAAE,KAAK,IAAI,EAAM,KAAM,EAAM,OAN1B,GAAS,E,iDAFpB,cAaA,0BAA+B,EAAe,GAC1C,IAAIg0F,EAAkB9zF,EAAMrT,IAAI,mBAC5BonG,EAAgB/zF,EAAMrT,IAAI,iBAW9B,OARE,IAEEqoB,EAAG,EAAU,EADA,EAAgB,kBAG/B,IAEEA,EAAG,EAAU,EADF,EAAc,kBAGxB,I,uL1O7BT,WAwCA,SAAgBkf,EAAiB1J,EAAiBC,EAAiBgG,EAAgB0D,GACjF,MAAO,CACL16B,EAAG+wB,EAAUiG,EAAS7xB,KAAKw1B,IAAID,GAC/BjiC,EAAGu4B,EAAUgG,EAAS7xB,KAAKioB,IAAIsN,IAHnC,qBAiBA,yBACE3J,EACAC,EACAgG,EACA6D,EACAC,EACAC,QAAA,IAAAA,MAAA,GAEA,IAAM3kB,EAAQqkB,EAAiB1J,EAASC,EAASgG,EAAQ6D,GACnDxkB,EAAMokB,EAAiB1J,EAASC,EAASgG,EAAQ8D,GAEjDE,EAAaP,EAAiB1J,EAASC,EAAS+J,EAAaF,GAC7DI,EAAWR,EAAiB1J,EAASC,EAAS+J,EAAaD,GAEjE,GAAIA,EAAmBD,GAAiC,EAAV11B,KAAKE,GAAQ,CAEzD,IAAM61B,EAAcT,EAAiB1J,EAASC,EAASgG,EAAQ6D,EAAqB11B,KAAKE,IACnF81B,EAAmBV,EAAiB1J,EAASC,EAAS+J,EAAaF,EAAqB11B,KAAKE,IAC7F+1B,EAAqB,CACzB,CAAC,IAAKhlB,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAGkE,EAAYl7B,EAAGk7B,EAAYziC,GAC1D,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAG3gB,EAAIrW,EAAGqW,EAAI5d,GAC1C,CAAC,IAAKuiC,EAAWh7B,EAAGg7B,EAAWviC,IAUjC,OARIsiC,IACFK,EAAmB9hC,KAAK,CAAC,IAAKyhC,EAAaA,EAAa,EAAG,EAAG,EAAGI,EAAiBn7B,EAAGm7B,EAAiB1iC,IACtG2iC,EAAmB9hC,KAAK,CAAC,IAAKyhC,EAAaA,EAAa,EAAG,EAAG,EAAGE,EAASj7B,EAAGi7B,EAASxiC,KAGxF2iC,EAAmB9hC,KAAK,CAAC,IAAK8c,EAAMpW,EAAGoW,EAAM3d,IAC7C2iC,EAAmB9hC,KAAK,CAAC,MAElB8hC,EAGT,IAAMC,EAAWP,EAAmBD,GAAsB11B,KAAKE,GAAK,EAAI,EAClEi2B,EAAqB,CACzB,CAAC,IAAKllB,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAKu+B,EAAQA,EAAQ,EAAGqE,EAAU,EAAGhlB,EAAIrW,EAAGqW,EAAI5d,GACjD,CAAC,IAAKwiC,EAASj7B,EAAGi7B,EAASxiC,IAQ7B,OANIsiC,GACFO,EAAmBhiC,KAAK,CAAC,IAAKyhC,EAAaA,EAAa,EAAGM,EAAU,EAAGL,EAAWh7B,EAAGg7B,EAAWviC,IAEnG6iC,EAAmBhiC,KAAK,CAAC,IAAK8c,EAAMpW,EAAGoW,EAAM3d,IAC7C6iC,EAAmBhiC,KAAK,CAAC,MAElBgiC,GAaT,sBACEvK,EACAC,EACAgG,EACA6D,EACAC,GAEA,IAAM1kB,EAAQqkB,EAAiB1J,EAASC,EAASgG,EAAQ6D,GACnDxkB,EAAMokB,EAAiB1J,EAASC,EAASgG,EAAQ8D,GAEvD,GAAI,EAAAy/D,cAAcz/D,EAAmBD,EAA8B,EAAV11B,KAAKE,IAAS,CACrE,IAAM61B,EAAcT,EAAiB1J,EAASC,EAASgG,EAAQ6D,EAAqB11B,KAAKE,IACzF,MAAO,CACL,CAAC,IAAK+Q,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAGkE,EAAYl7B,EAAGk7B,EAAYziC,GAC1D,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAG5gB,EAAMpW,EAAGoW,EAAM3d,GAC9C,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAGkE,EAAYl7B,EAAGk7B,EAAYziC,GAC1D,CAAC,IAAKu+B,EAAQA,EAAQ,EAAG,EAAG,EAAG5gB,EAAMpW,EAAGoW,EAAM3d,GAC9C,CAAC,MAGL,IAAM4iC,EAAWP,EAAmBD,GAAsB11B,KAAKE,GAAK,EAAI,EACxE,MAAO,CACL,CAAC,IAAK+Q,EAAMpW,EAAGoW,EAAM3d,GACrB,CAAC,IAAKu+B,EAAQA,EAAQ,EAAGqE,EAAU,EAAGhlB,EAAIrW,EAAGqW,EAAI5d,KAWrD,oBAAyBgjC,EAAuBld,GAC9C,IAEIwY,EACAD,EAFEjQ,EArJR,SAAsBsJ,GACpB,GAAI,EAAAvP,QAAQuP,GACV,OAAO,KAGT,IAAIjqB,EAAOiqB,EAAO,GAAGnwB,EACjBmG,EAAOgqB,EAAO,GAAGnwB,EACjBoG,EAAO+pB,EAAO,GAAG13B,EACjB4N,EAAO8pB,EAAO,GAAG13B,EAQrB,OAPA,EAAA+G,KAAK2wB,GAAQ,SAACxJ,GACZzgB,EAAOA,EAAOygB,EAAM3mB,EAAI2mB,EAAM3mB,EAAIkG,EAClCC,EAAOA,EAAOwgB,EAAM3mB,EAAI2mB,EAAM3mB,EAAImG,EAClCC,EAAOA,EAAOugB,EAAMluB,EAAIkuB,EAAMluB,EAAI2N,EAClCC,EAAOA,EAAOsgB,EAAMluB,EAAIkuB,EAAMluB,EAAI4N,KAG7B,CACLH,KAAI,EACJC,KAAI,EACJC,KAAI,EACJC,KAAI,EACJ0qB,SAAU7qB,EAAOC,GAAQ,EACzB6qB,SAAU5qB,EAAOC,GAAQ,GA+Hfq1B,CADGD,EAAWtL,QAINwL,EAA6Cpd,EAA9B,WAC7Bqd,EAD2Drd,EAAL,SAC1Bod,EAWlC,OATIpd,EAAW8X,cACbU,EAAWlQ,EAAIxgB,KAAOu1B,EACtB9E,EAAajQ,EAAIzgB,KAAOw1B,IAExB7E,EAAWlQ,EAAI1gB,KAAOy1B,EACtB9E,EAAajQ,EAAI3gB,KAAO01B,GAInB,CACL9E,WAFFA,GAAc6E,EAGZ5E,SAJFA,GAAY4E,IAYd,8BAAmCi0B,EAAuBC,GACxD,GAAI,EAAA5lC,SAAS2lC,IAAO,EAAA3lC,SAAS4lC,GAE3B,MAAO,CAACD,EAAIC,GASd,IAPA,IAGIC,EAEA5yB,EALA7qC,GAAK,EACL2N,EAAI,EACJvH,EAAI,EAEJs3D,EAAWH,EAAgBh7D,OAAS,EAEpCO,EAAI,IACC9C,EAAKu9D,EAAgBh7D,QAC5Bk7D,EAASC,EACTA,EAAU19D,EACV8C,GAAK+nC,EAAO0yB,EAAGE,GAAUD,EAAGE,GAAWH,EAAGG,GAAWF,EAAGC,GACxD9vD,IAAM4vD,EAAGE,GAAUF,EAAGG,IAAY7yB,EAClCzkC,IAAMo3D,EAAGC,GAAUD,EAAGE,IAAY7yB,EAGpC,MAAO,CAACl9B,GADR7K,GAAK,GACUsD,EAAItD,IAOrB,2BAAgC2mC,EAAqBC,GACnD,IAAMC,EAAcF,EAAYjT,OAC1BoT,EAAWF,EAAYlT,OAM7B,OALA,EAAArpB,KAAKw8B,GAAa,SAAC9iC,EAAG/D,QACAsE,IAAhBwiC,EAAS9mC,KACX8mC,EAAS9mC,QAAKsE,MAGXwiC,I,8E2OtNT,WAeMu+D,EAAc,CAAC,QAAS,UAAW,MAAO,SAEhD,aAQE,WAAY/7F,GACV,IAAM2pD,EAAapyD,KAAKmwB,gBACxB,EAAAhwB,OAAOH,KAAMoyD,EAAY3pD,GACzBzI,KAAK6G,OAAS7G,KAAKiJ,KAAKpC,OACxB7G,KAAKykG,eAAiB,GACtBzkG,KAAK0kG,cAiHT,OA9GY,YAAAv0E,cAAV,WACE,MAAO,CACLw0E,WAAY,YACZC,aAAc,YACdC,SAAU,UACVC,WAAY,aAIR,YAAAC,OAAR,SAAejgF,GACb9kB,KAAKglG,SAASlgF,GACd9kB,KAAKogB,MAAM0E,GACX9kB,KAAKilG,WAAWngF,IAIR,YAAAkgF,SAAV,SAAmBlgF,KAOT,YAAAmgF,WAAV,SAAqBngF,KAIb,YAAAogF,SAAR,SAAiBpgF,GACf9kB,KAAKmlG,WAAWrgF,GAChB9kB,KAAK81D,QAAQhxC,GACb9kB,KAAKolG,aAAatgF,IAIV,YAAAqgF,WAAV,SAAqBrgF,KAKX,YAAAgxC,QAAV,SAAkBhxC,KAKR,YAAAsgF,aAAV,SAAuBtgF,KAIf,YAAAugF,KAAR,SAAavgF,GACX9kB,KAAKslG,OAAOxgF,GACZ9kB,KAAKqgB,IAAIyE,GACT9kB,KAAKulG,SAASzgF,IAIN,YAAAwgF,OAAV,SAAiBxgF,KAKP,YAAAzE,IAAV,SAAcyE,KAKJ,YAAAygF,SAAV,SAAmBzgF,KAIX,YAAA0gF,OAAR,SAAe1gF,GACb9kB,KAAKylG,SAAS3gF,GACd9kB,KAAK24E,MAAM7zD,GACX9kB,KAAK0lG,WAAW5gF,IAIR,YAAA2gF,SAAV,SAAmB3gF,KAKT,YAAA6zD,MAAV,SAAgB7zD,KAKN,YAAA4gF,WAAV,SAAqB5gF,KAIb,YAAA4/E,YAAR,sBACE,EAAAl7F,KAAKg7F,GAAa,SAAC56F,GACjB,IAAMW,EAAY,EAAQX,EAAI,SACxBY,EAAU,EAAAm7F,aAAa,EAAM,IAAI/7F,GACvC,EAAKX,KAAKwB,GAAGF,EAAWC,GACxB,EAAKi6F,eAAenhG,KAAK,CAAEsG,KAAMW,EAAWC,QAAO,QAI/C,YAAAo7F,cAAR,sBACQtR,EAAgBt0F,KAAKykG,eAC3B,EAAAj7F,KAAK8qF,GAAe,SAACuR,GACnB,EAAK58F,KAAK4oB,IAAIg0E,EAAGj8F,KAAMi8F,EAAGr7F,aAIvB,YAAApD,QAAP,WACEpH,KAAK4lG,gBACL5lG,KAAKwlG,UAET,EA9HA,G,2FCjBA,WACA,OACA,QACA,QAEA,SAMMM,EAAiB,aAEvB,2BAuCA,OAlCgB,EAAAxiF,eAAd,SAA6B7c,GAC3B,OAAI,EAAAomB,SAASpmB,GACJ,EAAA6c,eAAe7c,GAEjB,EAAAsD,QAAQ,GAAI,EAAAuZ,iBAAkB7c,IAQhC,YAAA4B,aAAP,SAAoBtC,EAAU6D,GACpB,IAAAnD,EAAUV,EAAK,MACvB,OAAI,EAAA8mB,SAASpmB,GACJ,EAAAsD,QAAQ,GAAI,EAAAuZ,eAAe7c,GAAQ,EAAAiG,SAAS9C,IAE9C,EAAAG,QAAQ,GAAI,EAAAuZ,iBAAkB,EAAA5W,SAAS9C,GAAO,EAAAm8F,sBAAsBn8F,EAAMnD,KAQ5E,YAAAiG,SAAP,SAAgB3G,EAAU6D,GACxB,IAAMo8F,EAAc,EAAAviF,iBAAiBzjB,KAAKqI,aAAatC,EAAO6D,IAE9D,OADgB,EAAAG,QAAQ,GAAI+7F,EAAgBE,IAIvC,YAAAv6E,mBAAP,SAA0B7hB,GACxB,OAAO,EAAA6hB,mBAAmB7hB,IAAS,EAAA6hB,mBAAmB,YAE1D,EAvCA,G,2OCTA,WACA,OA0BA,SAASw6E,EAAgBh9E,EAAO0H,GAC9B,IAAMjB,EAASzG,EAAMwd,YAErB,OADUt3B,KAAKI,KAAKJ,KAAKyQ,IAAI+Q,EAAM3mB,EAAI0lB,EAAO1lB,EAAG,GAAKmF,KAAKyQ,IAAI+Q,EAAMluB,EAAIitB,EAAOjtB,EAAG,IAIrF,SAAS0kC,EAAY7oC,EAAe2qB,GAElC,IADA,IAAMme,EAAM,CAAC9oC,EAAI,IACRjC,EAAI,EAAGgrC,EAAM/oC,EAAIM,OAAQvC,EAAIgrC,EAAKhrC,GAAQ,EAAG,CACpD,IAAMs0B,EAAQ1H,EAAMygB,aAAa,CAC/B1/B,EAAG1L,EAAIjC,GACPoG,EAAGnE,EAAIjC,EAAI,KAEb+qC,EAAI9jC,KAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,GAE1B,OAAO2kC,EAuIT,SAAgBE,EAAkBC,EAAe9P,EAAY+P,GAG3D,IAFA,IAAMC,IAAWhQ,EACXiQ,EAAY,GACTrrC,EAAI,EAAGC,EAAIirC,EAAI3oC,OAAQvC,EAAIC,EAAGD,GAAK,EAC1CqrC,EAAUpkC,KAAK,CAACikC,EAAIlrC,GAAIkrC,EAAIlrC,EAAI,KAGlC,IAIIsrC,EACAC,EACAzpC,EANE0pC,EAAmB,EAAAq+D,aAAax+D,EAAW,GAAKD,EAAQD,GACxDH,EAAMK,EAAU9oC,OAChB0pC,EAAK,GAMX,IAASjsC,EAAI,EAAGA,EAAIgrC,EAAM,EAAGhrC,IAC3BsrC,EAAME,EAAqB,EAAJxrC,GACvBurC,EAAMC,EAAqB,EAAJxrC,EAAQ,GAC/B8B,EAAIupC,EAAUrrC,EAAI,GAElBisC,EAAGhlC,KAAK,CAAC,IAAKqkC,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIzpC,EAAE,GAAIA,EAAE,KAUxD,OAPIspC,IACFE,EAAME,EAAiBR,GACvBO,EAAMC,EAAiBR,EAAM,GAC7BlpC,EAAIupC,EAAU,GAEdY,EAAGhlC,KAAK,CAAC,IAAKqkC,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIzpC,EAAE,GAAIA,EAAE,MAEjDmqC,EAIT,SAAgBG,EAAYtO,EAAuBuO,GACjD,OA1MF,SAAsBvO,EAAuBuO,GAC3C,IAAMlZ,EAAO,GACb,GAAI2K,EAAOv7B,OAAQ,CACjB,IAAK,IAAIvC,EAAI,EAAGuC,EAASu7B,EAAOv7B,OAAQvC,EAAIuC,EAAQvC,GAAK,EAAG,CAC1D,IAAMsN,EAAOwwB,EAAO99B,GACd6qE,EAAgB,IAAN7qE,EAAU,IAAM,IAChCmzB,EAAKlsB,KAAK,CAAC4jE,EAASv9D,EAAKK,EAAGL,EAAKlH,IAG/BimC,GACFlZ,EAAKlsB,KAAK,CAAC,MAIf,OAAOksB,EA4LAmZ,CAAaxO,EAAQuO,GAhHjB,EAAAw9D,aAAe,SAC1B/rE,EACA2N,EACAL,EACAD,GAEA,IAEIO,EACAC,EAEAvpB,EACAD,EANEypB,EAAM,GAINC,IAAkBV,EAGxB,GAAIU,EAAe,CACjBzpB,EAAM,CAAClM,IAAUA,KACjBiM,EAAM,EAAEjM,KAAWA,KAEnB,IAAK,IAAIlW,EAAI,EAAGC,EAAI69B,EAAOv7B,OAAQvC,EAAIC,EAAGD,IAAK,CAC7C,IAAMs0B,EAAQwJ,EAAO99B,GACrBoiB,EAAM,OAAQA,IAAI,CAAC,EAAG,GAAIA,EAAKkS,GAC/BnS,EAAM,OAAQA,IAAI,CAAC,EAAG,GAAIA,EAAKmS,GAEjClS,EAAM,OAAQA,IAAI,CAAC,EAAG,GAAIA,EAAK+oB,EAAW,IAC1ChpB,EAAM,OAAQA,IAAI,CAAC,EAAG,GAAIA,EAAKgpB,EAAW,IAGnCnrC,EAAI,EAAb,IAAK,IAAWgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CAC3Cs0B,EAAQwJ,EAAO99B,GACrB,GAAIorC,EACFM,EAAY5N,EAAO99B,EAAIA,EAAI,EAAIgrC,EAAM,GACrCW,EAAY7N,GAAQ99B,EAAI,GAAKgrC,OACxB,CACL,GAAU,IAANhrC,GAAWA,IAAMgrC,EAAM,EAAG,CAC5BY,EAAI3kC,KAAKqtB,GACT,SAEAoX,EAAY5N,EAAO99B,EAAI,GACvB2rC,EAAY7N,EAAO99B,EAAI,GAG3B,IAAI6G,EAAsB,CAAC,EAAG,GAC9BA,EAAI,OAAQilC,IAAIjlC,EAAG8kC,EAAWD,GAC9B7kC,EAAI,OAAQgmB,MAAMhmB,EAAGA,EAAG4kC,GAExB,IAAIM,EAAK,OAAQC,SAAS1X,EAAOoX,GAC7BO,EAAK,OAAQD,SAAS1X,EAAOqX,GAE3B9R,EAAMkS,EAAKE,EACL,IAARpS,IACFkS,GAAMlS,EACNoS,GAAMpS,GAGR,IAAM/W,EAAK,OAAQ+J,MAAM,CAAC,EAAG,GAAIhmB,GAAIklC,GAC/BhpB,EAAK,OAAQ8J,MAAM,CAAC,EAAG,GAAIhmB,EAAGolC,GAEhCC,EAAM,OAAQC,IAAI,CAAC,EAAG,GAAI7X,EAAOxR,GACjCwoB,EAAM,OAAQa,IAAI,CAAC,EAAG,GAAI7X,EAAOvR,GAEjC8oB,IACFK,EAAM,OAAQ/pB,IAAI,CAAC,EAAG,GAAI+pB,EAAK9pB,GAC/B8pB,EAAM,OAAQ9pB,IAAI,CAAC,EAAG,GAAI8pB,EAAK/pB,GAC/BmpB,EAAM,OAAQnpB,IAAI,CAAC,EAAG,GAAImpB,EAAKlpB,GAC/BkpB,EAAM,OAAQlpB,IAAI,CAAC,EAAG,GAAIkpB,EAAKnpB,IAGjCypB,EAAI3kC,KAAKilC,GACTN,EAAI3kC,KAAKqkC,GAMX,OAHIF,GACFQ,EAAI3kC,KAAK2kC,EAAIpjC,SAERojC,GAIT,sBAkCA,gBAKA,yBAA8B9N,EAAuBuO,EAAqBG,GACxE,IAAM7pC,EAAO,GACP8pC,EAAQ3O,EAAO,GACjB4O,EAAW,KACf,GAAI5O,EAAOv7B,QAAU,EAEnB,OAAO6pC,EAAYtO,EAAQuO,GAE7B,EAAAl/B,KAAK2wB,GAAQ,SAACxJ,GACPoY,GAAcA,EAAS/+B,IAAM2mB,EAAM3mB,GAAK++B,EAAStmC,IAAMkuB,EAAMluB,IAChEzD,EAAKsE,KAAKqtB,EAAM3mB,GAChBhL,EAAKsE,KAAKqtB,EAAMluB,GAChBsmC,EAAWpY,MAGf,IAKMqY,EAAa1B,EAAkBtoC,EAAM0pC,EALxBG,GAAa,CAE9B,CAAC,EAAG,GACJ,CAAC,EAAG,KAIN,OADAG,EAAWC,QAAQ,CAAC,IAAKH,EAAM9+B,EAAG8+B,EAAMrmC,IACjCumC,GAIT,0BAA+B/f,EAAO0H,GACpC,OAAOs1E,EAAgBh9E,EAAO0H,IAIhC,yBAA8B1H,EAAO0H,GACnC,IAAMjB,EAASzG,EAAMwd,YACrB,OAAOt3B,KAAK23B,MAAMnW,EAAMluB,EAAIitB,EAAOjtB,EAAGkuB,EAAM3mB,EAAI0lB,EAAO1lB,IAGzD,6BAAkCif,EAAOuG,GACvC,IAAM4X,EAAM,GAeZ,OAdA,EAAA59B,KAAKgmB,GAAM,SAAC6Z,GAEV,OADeA,EAAQ,GACRz+B,eACb,IAAK,IACL,IAAK,IACL,IAAK,IACHw8B,EAAI9jC,KAAK6jC,EAAYkC,EAASpgB,IAC9B,MACF,IAAK,IACL,QACEme,EAAI9jC,KAAK+lC,OAIRjC,GAGT,4BAAiCne,EAAOuG,GACtC,IACI2Z,EACAxhB,EACAyhB,EAHAhC,EAAM,GAkCV,OA7BA,EAAA59B,KAAKgmB,GAAM,SAAC6Z,EAAS3qC,GAGnB,OAFe2qC,EAAQ,GAERz+B,eACb,IAAK,IACL,IAAK,IACL,IAAK,IACHw8B,EAAI9jC,KAAK6jC,EAAYkC,EAASpgB,IAC9B,MACF,IAAK,IACHkgB,EAAM3Z,EAAK9wB,EAAQ,GACnBipB,EAAM0hB,EACND,EAAangB,EAAMoX,cAEV+I,EAAaD,EAAIA,EAAIvqC,OAAS,KAAO+oB,EAAI,GAAKwhB,EAAIA,EAAIvqC,OAAS,KAAO+oB,EAAI,IAEjFyf,EAAMA,EAAIpjC,OAxPpB,SAA2BmlC,EAAYxhB,EAAYsB,GACzC,IAAAoX,EAAuCpX,EAAK,aAA9B6X,EAAyB7X,EAAK,WAAlB8X,EAAa9X,EAAK,SAE9C8f,EAAW,CACf/+B,EAAGm/B,EAAI,GACP1mC,EAAG0mC,EAAI,IAEHG,EAAW,CACft/B,EAAG2d,EAAI,GACPllB,EAAGklB,EAAI,IAEHzoB,EAAM,GACNqqC,EAAOlJ,EAAe,IAAM,IAC5BmJ,EAAar6B,KAAKsmB,IAAI6T,EAASC,GAAQR,EAASQ,KAAUxI,EAAWD,GACrEhB,EAAYwJ,EAASC,IAASR,EAASQ,GAAQ,EAAI,EACnDE,EAAOD,EAAar6B,KAAKE,GAAK,EAAI,EAClCq6B,EAAezgB,EAAMygB,aAAaJ,GAClCnsC,EAAI8oG,EAAgBh9E,EAAOygB,GACjC,GAAIvsC,GAAK,GAEP,GAAIqsC,IAAyB,EAAVr6B,KAAKE,GAAQ,CAC9B,IAAM61B,EAAc,CAClBl7B,GAAIs/B,EAASt/B,EAAI++B,EAAS/+B,GAAK,EAC/BvH,GAAI6mC,EAAS7mC,EAAIsmC,EAAStmC,GAAK,GAE3BknC,EAAqB1gB,EAAMygB,aAAaxE,GAC9ChmC,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW6J,EAAmB3/B,EAAG2/B,EAAmBlnC,IAClFvD,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW4J,EAAa1/B,EAAG0/B,EAAajnC,SAEtEvD,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW4J,EAAa1/B,EAAG0/B,EAAajnC,IAG1E,OAAOvD,EAwNkB0qC,CAAkBT,EAAKxhB,EAAKsB,IAG7Cme,EAAI9jC,KAAK6jC,EAAYkC,EAASpgB,IAEhC,MACF,IAAK,IACL,QACEme,EAAI9jC,KAAK+lC,OA5NjB,SAA8B7Z,GAC5B,EAAAhmB,KAAKgmB,GAAM,SAAC6Z,EAAS3qC,GAEnB,GAA6B,MADjB2qC,EACJ,GAAGz+B,cAAuB,CAChC,IAAMu+B,EAAM3Z,EAAK9wB,EAAQ,GACnBwD,EAAOstB,EAAK9wB,EAAQ,GACtBwD,GAAkC,MAA1BA,EAAK,GAAG0I,cACdu+B,GAAgC,MAAzBA,EAAI,GAAGv+B,gBAChBu+B,EAAI,GAAK,KAEFA,GAAgC,MAAzBA,EAAI,GAAGv+B,eACnB1I,GAAkC,MAA1BA,EAAK,GAAG0I,gBAClB1I,EAAK,GAAK,SAoNlB2nC,CAAqBzC,GACdA,I,yFCrTT,OAGA,2B,+CAgFA,OAhFwC,iBAC/B,YAAAnf,KAAP,WACE,IAAMliB,EAAQ/F,KAAK4G,KAAKgf,QACxB5lB,KAAK2H,OAAS,CACZiC,KAAM,OACN2c,SAAU,CACRuc,OAAQ,CAAC/8B,EAAM8kB,OAAQ9kB,EAAM+kB,SAE/BowC,aAAcn1D,EAAMm1D,cAElBn1D,EAAMuzF,UACRt5F,KAAKmmG,YAEHpgG,EAAM+hC,SACR9nC,KAAK2H,OAAO4I,MAAQ,CAAEmQ,OAAQ,CAAC,YAE7B3a,EAAM9D,OACRjC,KAAK2H,OAAO4I,MAAQ,CAAEmQ,OAAQ,CAAC3a,EAAM9D,SAEnC8D,EAAM8zF,aAAe9zF,EAAMyX,QAC7Bxd,KAAKomG,cAEHrgG,EAAMwzF,WAAa,EAAAr8F,IAAI6I,EAAO,CAAC,OAAQ,YACzC/F,KAAKqmG,cAIF,YAAAF,UAAP,WACE,IAAMG,EAAYtmG,KAAK4G,KAAKgf,QAAQ0zE,SAC9B3xF,EAAsB,GACxB,EAAA2C,WAAWg8F,GACb3+F,EAAOmK,SAAWw0F,EAElB3+F,EAAO+Y,OAAS,CAAC4lF,GAEnBtmG,KAAK2H,OAAOkjC,KAAOljC,GAGd,YAAAy+F,WAAP,WACE,IAAMrgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAsB,GAI5B,GAHI5B,EAAM8zF,cACRlyF,EAAOm7B,OAAS,CAAC/8B,EAAM8zF,cAErB,EAAAn0F,IAAIK,EAAO,SAAU,CACvB,IAAMyX,EAAQzX,EAAMyX,MAChB,EAAAqP,SAASrP,GACX7V,EAAO+Y,OAAS,CAAClD,GACR,EAAAlT,WAAWkT,GACpB7V,EAAOmK,SAAW0L,EACT,EAAA4E,QAAQ5E,KACbzX,EAAM8zF,YACRlyF,EAAO+Y,OAASlD,EAEZA,EAAM5e,OAAS,IACjB+I,EAAO+Y,OAAS,CAAClD,EAAM,MAM/Bxd,KAAK2H,OAAO6V,MAAQ7V,GAGf,YAAA0+F,WAAP,WACE,IAAMtgG,EAAQ/F,KAAK4G,KAAKgf,QAClB2gF,EAAaxgG,EAAMwzF,WAAa,EAAAr8F,IAAI6I,EAAO,CAAC,OAAQ,UACpD4B,EAAS,CACbm7B,OAAQ,KACRhxB,SAAU,KACVrJ,IAAK,MAEH,EAAA6B,WAAWi8F,IAAexgG,EAAM8zF,aAClClyF,EAAOm7B,OAAS,CAAC/8B,EAAM8zF,aACvBlyF,EAAOmK,SAAWy0F,GAElB5+F,EAAOc,IAAM89F,EAEfvmG,KAAK2H,OAAOiB,MAAQjB,GAExB,EAhFA,CAFA,yBAEwC,S,sGCJxC,OACA,OACA,wBAGA,QAOA,2B,+CAmKA,OAnKiE,iBACrD,YAAAue,kBAAV,WACU,IACA,EADUlmB,KAAKsH,MAAK,MACA,MAApB1E,OAAK,IAAG,KAAE,EAClB,OAAO,EAAP,UACEuqB,QAAS,EACTC,QAAS,GACNxqB,IAIG,YAAAgxB,eAAV,WACE,OAAO5zB,KAAKk0B,6BAA6B,KAAM,IAGvC,YAAAT,kBAAV,SAA4BzB,EAAkBtzB,GAA9C,WACQ,EAAuBsB,KAAK4lB,QAA1Bhd,EAAK,QAAE80B,EAAS,YAClB5J,EAA8B,EAAA52B,IAAI80B,EAAS,oBAAqB,IAEtE,OAAO,EAAA1N,IAAIwP,GAAa,SAAC4P,EAAO8iE,G,MACxBlpG,EAAQ,EAAKygF,SAASr6C,GAC5B,OAAO,EAAP,kCACK,EAAKoyD,YAAYpyD,IAAM,CAC1Brd,KAAMqX,EACFA,EACEpgC,GAAK,KAEH,EAAC,EAAAwR,SAAU40B,EAAMrP,QACjB,EAAA2/B,aAActwB,EACd,EAAAqyD,kBAAmByQ,EACnB,EAAAx0E,QAAO,EACP,EAAAqB,aAAc30B,E,GAEhBA,GAEFpB,EACJyyB,UAAW,SACXC,aAAc,WACXpnB,OAKC,YAAAm1E,SAAV,SAAmBr6C,GACjB,OAAO,EAAAxmC,IAAIwmC,EAAMrP,QAASr0B,KAAKsH,MAAMse,QAAQkF,SAGrC,YAAAgrE,YAAV,SAAsBpyD,GAKpB,MAJY,CACV15B,EAAG,EAAAoY,QAAQshB,EAAM15B,GAAK,EAAA2yC,KAAKjZ,EAAM15B,GAAK05B,EAAM15B,EAC5CvH,EAAG,EAAA2f,QAAQshB,EAAMjhC,GAAK,EAAAk6C,KAAKjZ,EAAMjhC,GAAKihC,EAAMjhC,IAKtC,YAAA6vB,aAAV,SAAuBvD,EAAoBpJ,GAA3C,WACE,GAAK3lB,KAAK4lB,QAAQwwE,eAAlB,CAGA,IAAIqQ,EAAUzmG,KAAK0mG,aAAa/gF,GAEhC,GAAI8gF,EAAS,CACX,IAAM,EAAYzmG,KAAK2mG,mBAAmBhhF,GAC1C,EAAAnc,KAAKmc,GAAQ,SAAC/iB,EAAOlE,GACfA,EAAQ,GACV,EAAKkoG,wBAAwBhkG,EAAO+iB,EAAQjnB,EAAO,OAIzD+nG,EAAUzmG,KAAK0mG,aAAa/gF,KAG1B,EAAAnc,KAAKmc,GAAQ,SAAC/iB,EAAOlE,GACfkE,EAAM1F,IAAI,YACZ,EAAK2pG,iBAAiBjkG,EAAO+iB,EAAQjnB,QAMnC,YAAAyzB,YAAV,aAKQ,YAAAy0E,wBAAR,SAAgChkG,EAAe+iB,EAAkBjnB,EAAeqsC,GAC9E,IAAM+7D,EAAW9mG,KAAK+mG,aAAaroG,EAAOinB,GACpCqhF,EAAgBhnG,KAAKymC,UAAU7jC,GAC/BqkG,EAAiBjnG,KAAKymC,UAAUqgE,GAChCI,EAAQD,EAAej9F,EAAIg9F,EAAch9F,EACzCm9F,EAAQF,EAAexkG,EAAIukG,EAAcvkG,EAClC0M,KAAKI,KAAK23F,EAAQA,EAAQC,EAAQA,GACpCp8D,GACTnoC,EAAMgD,IAAI,WAAW,IAIjB,YAAAihG,iBAAR,SAAyBjkG,EAAe+iB,EAAkBjnB,GAGxD,IADA,IAAM0oG,EAAa,GACV/qG,EAAI,EAAGA,EAAIspB,EAAO/mB,OAAQvC,IAAK,CACtC,IAAM09D,EAAUp0C,EAAOtpB,GACvB,GAAIA,IAAMqC,GAASq7D,EAAQ78D,IAAI,WACX,EAAAmqG,gBAAgBzkG,EAAMirB,UAAWksC,EAAQlsC,YAEzDu5E,EAAW9jG,KAAKy2D,GAKlBqtC,EAAWxoG,OAAS,IACtBwoG,EAAW9jG,KAAKV,GAChBwkG,EAAWhtE,MAAK,SAACj2B,EAAGzE,GAClB,OAAOA,EAAE0Q,KAAOjM,EAAEiM,QAGpB,EAAA5G,KAAK49F,GAAY,SAACxkG,EAAelE,GAC3BA,EAAQ,GACVkE,EAAMgD,IAAI,WAAW,QAOrB,YAAA8gG,aAAR,SAAqB/gF,GACnB,IAAK,IAAItpB,EAAI,EAAGA,EAAIspB,EAAO/mB,OAAQvC,IACjC,GAAIspB,EAAOtpB,GAAGa,IAAI,WAEhB,IADA,IAAMoqG,EAAa3hF,EAAOtpB,GAAGwxB,UACpBzpB,EAAI,EAAGA,EAAIuhB,EAAO/mB,OAAQwF,IACjC,GAAIA,IAAM/H,GAAKspB,EAAOvhB,GAAGlH,IAAI,WAAY,CACvC,IAAMqqG,EAAa5hF,EAAOvhB,GAAGypB,UAE7B,GADqB,EAAAw5E,gBAAgBC,EAAYC,GAE/C,OAAO,EAMjB,OAAO,GAGD,YAAAZ,mBAAR,SAA2BhhF,GACzB,IAAM6hF,EAAc7hF,EAAO/E,QAI3B,OAHA4mF,EAAYptE,MAAK,SAACj2B,EAAGzE,GACnB,OAAOA,EAAEmuB,UAAUxnB,MAAQlC,EAAE0pB,UAAUxnB,SAElC8I,KAAKuP,MAAM8oF,EAAY,GAAG35E,UAAUxnB,QAGrC,YAAA0gG,aAAR,SAAqBroG,EAAeinB,GAClC,IAAK,IAAItpB,EAAIqC,EAAQ,EAAGrC,EAAI,EAAGA,IAC7B,GAAIspB,EAAOtpB,GAAGa,IAAI,WAChB,OAAOyoB,EAAOtpB,IAKZ,YAAAoqC,UAAR,SAAkB7jC,GACV,MAA6BA,EAAMirB,UAAjC3d,EAAI,OAAEC,EAAI,OAAEC,EAAI,OACxB,MAAO,CAAEpG,EAAGkG,GAAQC,EAAOD,GAAQ,EAAGzN,EAAG2N,GADX,OAC0BA,GAAQ,IAEpE,EAnKA,CAAiE,W,YAqKjE,EAAA6mF,uBAAuB,QAASwQ,I,yGCjLhC,YAYa,EAAAC,kBAAoB,CAC/B9kG,MAAO,CACL+kG,UAAW,CACT93E,KAAM,UACNS,OAAQ,UACRqzD,YAAa,KAEfikB,WAAY,CACV/3E,KAAM,UACNS,OAAQ,UACRqzD,YAAa,IAGjBkkB,YAAa,CACXC,OAAQ,GACRlvB,OAzBqB,SAAChwE,GAExB,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAyB/B4pF,QArBsB,SAACn/F,GAEzB,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAqB/Bs8D,SAAU,CAAEve,UAAW,EAAG5rC,OAAQ,WAItC,EAAA9M,cAAc,MAAO,EAAAkkF,oB,yFCjCrB,OACA,OACA,wBACA,QACA,2BAIA,2B,+CAsJA,OAtJuE,iBAC3D,YAAAj0E,kBAAV,SAA4BzB,EAAkBtzB,G,MACtC,EAAuBsB,KAAK4lB,QAA1Bhd,EAAK,QAAE80B,EAAS,YAClB5J,EAA8B,GAAG9vB,OAAOguB,EAAQuB,WAAWO,aAC3Dx2B,EAAQ0C,KAAK+9E,SAAS/rD,GAE5B,OAAO,EAAAjoB,QAAQ,GAAInB,EAAO,EAAF,uBACnB5I,KAAK81F,YAAY9jE,IAAQ,CAC5B3L,KAAMqX,EACFA,EACEpgC,GAAK,KAEH,EAAC,EAAAwR,SAAUglB,EAAY,GAAGO,QAC1B,EAAA2/B,aAAclgC,EAAY,GAC1B,EAAAiiE,kBAAmB,EACnB,EAAA/jE,QAAO,EACP,EAAAqB,aAAc30B,E,GAEhBA,GAEFpB,EACJuyB,KAAM7vB,KAAKg2F,YAAYhkE,GACvB1B,OAAQtwB,KAAKi2F,cAAcjkE,GAC3BjC,UAAW/vB,KAAKk2F,aAAalkE,GAC7BhC,aAAchwB,KAAKgoG,sBAIb,YAAA71E,YAAV,SAAsBvvB,EAAeovB,GAC7B,MAA4BhyB,KAAK4lB,QAA/BwwE,EAAc,iBAAExtF,EAAK,QAC7B,GAAIwtF,EAAgB,CAClB,IAAMxvE,EAAS5mB,KAAK0zB,mBACd2iE,EAAazzF,EAAMirB,UACnByoE,EAAat2F,KAAKu2F,oBAAoBvkE,GAC5C,GAAIskE,EAAWjwF,OAASgwF,EAAWhwF,MAAO,CACxC,IAAM4hG,EAAY3R,EAAWnmF,KAAOnQ,KAAK4lB,QAAQuH,QAAUvG,EAC3DhkB,EAAMiwB,KAAK,IAAKo1E,GAChBrlG,EAAMiwB,KAAK,OAAQjqB,EAAMinB,SAKrB,YAAA3J,kBAAV,WACU,IACA,EADUlmB,KAAKsH,MAAK,MACA,MAApB1E,OAAK,IAAG,KAAE,EAClB,OAAO,EAAP,UACEuqB,QAAS,EACTC,QAAS,EACTgpE,gBAAgB,GACbxzF,IAIG,YAAAm7E,SAAV,SAAmB/rD,GACjB,OAAO,EAAA90B,IAAI80B,EAAQ1pB,UAAWtI,KAAKsH,MAAMse,QAAQiF,SAGzC,YAAAirE,YAAV,SAAsB9jE,GACpB,IAOIhoB,EAPE4c,EAAS5mB,KAAK0zB,mBACdp2B,EAAQ0C,KAAK+9E,SAAS/rD,GACtBzM,EAAOvlB,KAAKu2F,oBAAoBvkE,GAC9B9hB,EAAoCqV,EAAI,KAAlCpV,EAA8BoV,EAAI,KAA5BnV,EAAwBmV,EAAI,KAAtBjf,EAAkBif,EAAI,OAAdlf,EAAUkf,EAAI,MAC1C,EAAiCvlB,KAAK4lB,QAApCuH,EAAO,UAAEC,EAAO,UAAE7G,EAAQ,WAE5BkwE,EAAMn5F,EAAQ,GAAK,EAAI,EAE7B,GAAiB,SAAbipB,EAEFvc,GADa1M,EAAQ,EAAI4S,EAAOC,GACrByW,EAAS6vE,EAAMtpE,OACrB,GAAiB,UAAb5G,EAAsB,CAE/Bvc,GADa1M,EAAQ,EAAI6S,EAAOD,GACrB0W,EAAS6vE,EAAMtpE,OAE1BnjB,EAAIkG,EAAO7J,EAAQ,EAAI8mB,EAGzB,MAAO,CAAEnjB,EAAC,EAAEvH,EAbF2N,EAAO9J,EAAS,EAAI8mB,IAgBtB,YAAA4oE,YAAV,SAAsBhkE,GACZ,IAAAzhB,EAAUyhB,EAAO,MACzB,GAAIhyB,KAAK4lB,QAAQ4nE,aAAyC,UAA1BxtF,KAAK4lB,QAAQW,SAAsB,CACjE,IAAMmwE,EAAanmF,EAAMsiB,KAAK,QACxB8jE,EAAepmF,EAAMsiB,KAAK,WAAatiB,EAAMsiB,KAAK,WAAa,EAC/DzV,EAAM,EAAA0gB,QAAQ44D,GACdt/E,EAAOjI,KAAKuP,MAAe,KAATtB,EAAI,GAAsB,KAATA,EAAI,GAAsB,KAATA,EAAI,IAAcu5E,EAO5E,OADgB,EAAAC,aALE,CAChB,CAAEx4D,KAAM,EAAGC,GAAI,GAAI7gB,MAAO,SAC1B,CAAE4gB,KAAM,GAAIC,GAAI,IAAK7gB,MAAO,WAC5B,CAAE4gB,KAAM,IAAKC,GAAI,IAAK7gB,MAAO,UAESpG,GAI1C,OADqBpX,KAAK4lB,QAAQhd,MAAMinB,MAIhC,YAAAomE,cAAV,SAAwBjkE,GACtB,IAAMnC,EAAO7vB,KAAKg2F,YAAYhkE,GACxB,EAA4BhyB,KAAK4lB,QAA/BW,EAAQ,WAAEinE,EAAW,cAC7B,MAAoB,UAAbjnE,GAAwBinE,GAAwB,UAAT39D,EAAmB,UAAOpsB,GAGhE,YAAAyyF,aAAV,SAAuBlkE,GACrB,IAAM10B,EAAQ0C,KAAK+9E,SAAS/rD,GACpBzL,EAAavmB,KAAK4lB,QAAO,SAWjC,OAAItoB,EAAQ,EALgB,CAC1Bs9B,MAAO,QACPD,KAAM,QACNutC,OAAQ,UAGmB3hD,GAXR,CACnBqU,MAAO,OACPD,KAAM,OACNutC,OAAQ,UAUU3hD,IAGZ,YAAAyhF,gBAAV,WACE,MAAO,UAGC,YAAAzR,oBAAV,SAA8BvkE,GAA9B,WACUzhB,EAAUyhB,EAAO,MACnBmI,EAAS,GACf,EAAA3wB,KAAK+G,EAAMrT,IAAI,UAAUi9B,QAAQ,SAACh8B,GAChCg8B,EAAO72B,KAAK,EAAK2lB,MAAMygB,aAAavrC,OAEtC,IAAM0iE,EAAU1mC,EAAO7V,KAAI,SAACqM,GAAU,OAAAA,EAAM3mB,KACtC6sF,EAAa1nF,KAAKsP,IAAG,MAARtP,KAAY0xD,GACzBi2B,EAAY3nF,KAAKqP,IAAG,MAARrP,KAAY0xD,GACxBiE,EAAU3qC,EAAO7V,KAAI,SAACqM,GAAU,OAAAA,EAAMluB,KACtCs0F,EAAa5nF,KAAKsP,IAAG,MAARtP,KAAY21D,GACzBkyB,EAAa7nF,KAAKqP,IAAG,MAARrP,KAAY21D,GAE/B,OADa,IAAI,UAAK+xB,EAAYE,EAAYD,EAAYD,EAAYG,EAAaD,IAI3E,YAAAnjE,eAAV,WAEE,MAAO,CACL5pB,EAAG,EACHvH,EAAG,IAGT,EAtJA,CAAuE,W,YAwJvE,EAAAw0F,uBAAuB,MAAOiR,I,yFChK9B,OACA,OAGA,2BAEA,OACA,OACA,OACA,YASA,yE,OAuDS,EAAAt+F,KAAe,aACf,EAAAiyF,SAAmB,M,EA0C5B,OAlGsG,iBACtF,EAAA31E,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CW,MAAO,CACLV,SAAS,EACTgiF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTc,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACLsC,SAAS,EACTgB,QAAS,KAGbC,MAAO,CACLjB,SAAS,EACTgiF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTc,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACLsC,SAAS,EACTgB,QAAS,KAGb/C,OAAQ,CACN+B,SAAS,EACTI,SAAU,WACV6G,QAAS,MAQR,YAAAhlB,cAAP,WACU,IAAA4zF,EAAeh8F,KAAK4lB,QAAO,WACnC,OAAO5lB,KAAKiJ,KAAKjB,gBAAgBg0F,IAGzB,YAAAN,UAAV,SAAoBF,GAClBA,EAAIp8C,OAAS,CACX,CACEx1C,KAAM,WAKF,YAAAguD,YAAV,WACU,IAAAzvC,EAAWnoB,KAAK2H,OAAM,OACxB,EAAoB3H,KAAK4lB,QAAvBhjB,EAAK,QACPsmB,EAAQf,EADO,UAErB,GAAIvlB,aAAK,EAALA,EAAOujB,QAAS,CAClB,IAAM4I,EAAW,EAAAq/D,kBAAkBpuF,KAAKiJ,KAAM,YAC9CjJ,KAAK8uB,cAAcC,EAAU,EAAF,UACzBnlB,KAAM,cACN8zB,UAAWxU,EAAMwU,WAAa,SAAEpgC,GAAkC,OAAA4rB,EAAMwU,UAAUpgC,KAC/E0C,KAAK4lB,QAAQhjB,UAKZ,YAAAsrF,gBAAV,WACEluF,KAAKw7F,IAAIh1E,QAAU,GACnB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAKw7F,IAAIh1E,QAAQsc,OAASxW,EAAewW,QAEvCxW,EAAeoR,YACjB19B,KAAKw7F,IAAIh1E,QAAQ1U,SAAWwa,EAAeoR,UACtCpR,EAAewW,SAClB9iC,KAAKw7F,IAAIh1E,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,OAAQ9qB,KAAK4lB,QAAQo2E,eAI1F,EAlGA,CAAsG,W,YAoGtG,EAAAxN,iBAAiB,aAAc4Z,I,0HCtH/B,OAGa,EAAAC,wBAA0B,SAACrpG,EAAkBspG,EAAoBC,GAE5E,IAAIC,EAAQ,EAAAC,QAAQzpG,EAAMspG,GAC1BE,EAAQ,EAAA38E,UAAU28E,GAAO,SAACh1E,GAAU,SAAAlP,IAAIkP,GAAO,SAAC7pB,GAAS,SAAA2a,IAAIikF,GAAU,SAACtgG,GAAU,OAAA0B,EAAK1B,YACvFugG,EAAQ,EAAA38E,UAAU28E,EAAO,EAAAhhF,SACzBghF,EAAQ,EAAA38E,UAAU28E,GAAO,SAACE,GACxB,SAAApkF,IAAIokF,GAAM,SAAChyC,GAET,IAAMxzD,EAAI8wB,OAAO9oB,WAAWwrD,GAC5B,OAAK,EAAAziC,SAAS/wB,IAAMqb,MAAMrb,GACjB,EAEFA,QAIX,IAAMylG,EAAc,EAAA98E,UAAU28E,GAAO,SAACE,GAAmB,SAAAnhF,OAAOmhF,GAAM,SAACxyE,EAAKwgC,GAAQ,OAAAxgC,EAAMwgC,IAAK,MAGzFkyC,EAAU,EAAAtkF,IAAItlB,GAAM,SAAC2K,GAEzB,IAAMzK,EAAM,EAAH,uBAAQyK,GAAI,CAAE0qB,QAAS1qB,EAAMsvD,MAAO0vC,EAAYh/F,EAAK2+F,MAM9D,OALA,EAAA9+F,KAAK++F,GAAU,SAACtgG,GAEd/I,EAAI+I,GAAS0B,EAAK1B,IAAU0gG,EAAYh/F,EAAK2+F,KAAgB,MAGxDppG,KAkBT,OAdA,EAAAsK,KAAK,EAAAi/F,QAAQG,EAASN,IAAa,SAAC90E,GAClC,IAAI0C,EAAM,EACV,EAAA1sB,KAAKgqB,GAAO,SAAC7pB,EAAgBk/F,GAC3B,EAAAr/F,KAAK++F,GAAU,SAACtgG,EAAe6gG,IAEzB5yE,EAAMvsB,EAAK1B,IAAU,GAAM4gG,IAAYr1E,EAAM50B,OAAS,GAAKkqG,IAAaP,EAAS3pG,OAAS,GAAKs3B,EAAM,KACvGvsB,EAAK1B,GAAS,EAAIiuB,GAGpBA,GAAOvsB,EAAK1B,YAKX2gG,I,yFChDT,OACA,OAEA,2BACA,QAEA,OACA,OACA,YACA,4BACA,yBACA,OACA,YAIMxP,EAAW,CACf1oE,KAAM,OACN3J,KAAM,OACN4J,MAAO,SAKT,yE,OA6CS,EAAA/mB,KAAe,O,EAyKxB,OAtNoF,iBACpE,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C4hB,QAAQ,EACRihE,UAAW,CACT5qF,QAAS,KAEX4I,KAAM,CACJZ,SAAS,EACT0kB,KAAM,EACNjiC,MAAO,CACLuV,QAAS,EACTq7E,SAAU,QACVC,QAAS,UAGb9oE,MAAO,CACLxK,SAAS,EACT0kB,KAAM,EACNt6B,MAAO,SAET3N,MAAO,CACLujB,SAAS,EACTvc,KAAM,SAERwa,OAAQ,CACN+B,SAAS,EACTI,SAAU,WACVmzE,YAAa,GAEflzE,QAAS,CACPL,SAAS,EACTM,QAAQ,EACRC,gBAAgB,EAChBC,WAAY,CACV/c,KAAM,KAERgd,OAAQ,OAUP,YAAAiB,WAAP,WACE,YAAMA,WAAU,WAEZ7nB,KAAK4lB,QAAQ8nE,YAAuC,SAAzB1tF,KAAK4lB,QAAQU,SAC1CtmB,KAAK2tF,gBAAgB,cAIlB,YAAAzjE,YAAP,WACElqB,KAAK43D,cAED53D,KAAK4lB,QAAQ8nE,YAAuC,SAAzB1tF,KAAK4lB,QAAQU,SAC1CtmB,KAAK2tF,gBAAgB,eAEvB,YAAMzjE,YAAW,YAGT,YAAA0jE,eAAV,SAAyBzhE,EAAKviB,GAC5B,OAAOwvF,EAASxvF,IAGR,YAAAsf,MAAV,WACE,IAAMnjB,EAAQ/F,KAAK4lB,QACbuC,EAAS,GAEfA,EAAOpiB,EAAM8kB,QAAU,CACrBjhB,KAAM,OAEJ,EAAAlE,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM8kB,QAAS9kB,EAAM8gB,OAG3CsB,EAAOpiB,EAAM+kB,QAAU,GACnB,EAAAplB,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM+kB,QAAS/kB,EAAMqhB,OAE3CpnB,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGH,YAAAD,MAAV,WACE,OAAO,MAGC,YAAAE,YAAV,WACE,IAAMpjB,EAAa/F,KAAK4lB,QAClB8K,EAAO,EAAAs9D,QAAQ,OAAQ,OAAQ,CACnCpnF,KAAM5G,OAERA,KAAK0wB,KAAOA,EAER3qB,EAAMnD,OACR5C,KAAK4C,QAGHmD,EAAMygB,UAAYzgB,EAAMygB,QAAQsc,QAAU/8B,EAAMygB,QAAQkX,YAC1D19B,KAAKkuF,kBAGPluF,KAAKgpG,WAAWt4E,GAChB1wB,KAAKgsB,UAAU,WAAY0E,GAE3B1wB,KAAK+5F,UAEL/5F,KAAK48E,YAIG,YAAAosB,WAAV,SAAqBt4E,KAKX,YAAAu4E,WAAV,SAAqBliF,KAKX,YAAAmiF,YAAV,SAAsBv4E,KAIZ,YAAAopE,QAAV,WACE,IAAMh0F,EAAa/F,KAAK4lB,QAClBujF,EAAa,EAAAp/F,QAAQ,GAAIhE,EAAMghB,MACrC,GAAIoiF,EAAWhjF,QAAS,CACtB,IAAMY,EAAO,EAAAinE,QAAQ,OAAQ,QAAS,CACpCpkF,KAAM,OACNhD,KAAM5G,KACN+mB,KAAMoiF,IAERnpG,KAAKipG,WAAWliF,GAChB/mB,KAAKgsB,UAAU,WAAYjF,GAC3B/mB,KAAK+mB,KAAOA,IAIN,YAAA61D,SAAV,WACE,IAAM72E,EAAQ/F,KAAK4lB,QAEnB,GADoB,EAAA7b,QAAQ,GAAIhE,EAAM4qB,OACtBxK,QAAS,CACvB,IAAMwK,EAAQ,EAAAq9D,QAAQ,QAAS,QAAS,CACtCpnF,KAAM5G,OAERA,KAAKkpG,YAAYv4E,GACjB3wB,KAAKgsB,UAAU,WAAY2E,GAC3B3wB,KAAK2wB,MAAQA,IAIP,YAAAinC,YAAV,WACU,IAAAzvC,EAAWnoB,KAAK2H,OAAM,OACxB,EAAoB3H,KAAK4lB,QAAvBhjB,EAAK,QACPsmB,EAAQf,EADO,UAErB,GAAIvlB,EAAMujB,QAAS,CACjB,IAAM4I,EAAW,EAAAq/D,kBAAkBpuF,KAAKiJ,KAAM,QAC9CjJ,KAAK8uB,cAAcC,EAAU,EAAF,UACzBnlB,KAAM,aACN8zB,UAAWxU,EAAMwU,WAAa,SAAEpgC,GAAkC,OAAA4rB,EAAMwU,UAAUpgC,KAC/E0C,KAAK4lB,QAAQhjB,UAKZ,YAAA4f,UAAV,WACE,YAAMA,UAAS,YAES,IADVxiB,KAAK4lB,QACTpD,YAERxiB,KAAK0wB,KAAK/H,SAAU,EAChB3oB,KAAK+mB,OAAM/mB,KAAK+mB,KAAK4B,SAAU,GAC/B3oB,KAAK2wB,QAAO3wB,KAAK2wB,MAAMhI,SAAU,KAI/B,YAAA/lB,MAAV,aAIU,YAAAsrF,gBAAV,WACEluF,KAAK0wB,KAAKlK,QAAU,GACpB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAK0wB,KAAKlK,QAAQsc,OAASxW,EAAewW,QAExCxW,EAAeoR,YACjB19B,KAAK0wB,KAAKlK,QAAQ1U,SAAWwa,EAAeoR,UACvCpR,EAAewW,SAClB9iC,KAAK0wB,KAAKlK,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,QAC1D9qB,KAAK4lB,QAAQi0E,aACf75F,KAAK0wB,KAAKlK,QAAQsc,OAAOx/B,KAAKtD,KAAK4lB,QAAQi0E,gBAMzC,YAAA1yF,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGZ,YAAAR,gBAAR,SAAwBU,GAAxB,WACQC,EAAU,UAAkBD,GAClC,EAAA7kF,KAAK8kF,GAAS,SAACnxF,GACMA,EACRoxF,OAAO,OAGxB,EAtNA,CAAoF,W,YAwNpF,EAAAC,iBAAiB,OAAQ4a,I,yFChPzB,OACA,OAGA,2BACA,SACA,OACA,OAEA,OAIA,6E,OACY,EAAAC,eAAwB,GAW3B,EAAAz/F,KAAe,cACf,EAAAiyF,SAAmB,O,EAiG5B,OA9GyG,iBAGzF,EAAA31E,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CtjB,MAAO,CACLujB,SAAS,EACTvc,KAAM,WAQL,YAAAie,WAAP,WACE,IAAM1B,EAAU,EAAAjpB,IAAI8C,KAAK4lB,QAAS,CAAC,QAAS,YACtChc,EAAO,EAAA1M,IAAI8C,KAAK4lB,QAAS,CAAC,QAAS,SACnCA,EAAe5lB,KAAK4lB,QACtBO,IACW,SAATvc,IACFgc,EAAQ0jF,UAAYtpG,KAAK4lB,QAAQhjB,OAEtB,SAATgH,IACFgc,EAAQ2jF,UAAYvpG,KAAK4lB,QAAQhjB,QAGrC,YAAMilB,WAAU,YAGX,YAAAzf,cAAP,WACU,IAAA4zF,EAAeh8F,KAAK4lB,QAAO,WACnC,OAAO5lB,KAAKiJ,KAAKjB,gBAAgBg0F,IAGzB,YAAAp5F,MAAV,WACE,IACMA,EADQ5C,KAAK4lB,QACChjB,MAEpB,GAAIA,IAA2B,IAAlBA,EAAMujB,QAQjB,OAPInmB,KAAK+mB,OACP/mB,KAAK+mB,KAAKnkB,OAAQ,GAEhB5C,KAAK2wB,QACP3wB,KAAK2wB,MAAM/tB,OAAQ,QAErB5C,KAAK0wB,KAAK9tB,OAAQ,IAKZ,YAAAomG,WAAV,SAAqBz+C,GACnBA,EAAInL,OAAS,CACX,CACEx1C,KAAM,WAKF,YAAAq/F,WAAV,SAAqB1+C,GACnBA,EAAInL,OAAS,CACX,CACEx1C,KAAM,WAKF,YAAAs/F,YAAV,SAAsB3+C,GACpBA,EAAInL,OAAS,CACX,CACEx1C,KAAM,WAKL,YAAAsgB,YAAP,WACElqB,KAAKwpG,uBACLxpG,KAAK4lB,QAAQ8nE,YAAa,EAC1B,YAAMxjE,YAAW,YAGT,YAAAgkE,gBAAV,WACEluF,KAAK0wB,KAAKlK,QAAU,GACpB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAK0wB,KAAKlK,QAAQsc,OAASxW,EAAewW,QAExCxW,EAAeoR,YACjB19B,KAAK0wB,KAAKlK,QAAQ1U,SAAWwa,EAAeoR,UACvCpR,EAAewW,SAClB9iC,KAAK0wB,KAAKlK,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,OAAQ9qB,KAAK4lB,QAAQo2E,eAK/E,YAAAwN,qBAAV,sBAEE,EAAAhgG,KADuB,CAAC,YAAa,cAChB,SAACjM,GACpB,IAAMkL,EAAM,EAAH,UACPQ,KAAM,EAAKA,KACXrC,KAAM,GACH,EAAKgf,QAAQroB,IAEZu3B,EAAY,EAAA20E,kBAAkB,EAAMlsG,EAAGkL,GACzCqsB,IACFA,EAAUxrB,SACV,EAAK+/F,eAAe/lG,KAAKwxB,QAIjC,EA9GA,CAAyG,W,YAgHzG,EAAA05D,iBAAiB,cAAekb,I,4GC7HhC,YAYa,EAAAC,qBAAuB,CAClC/mG,MAAO,CACL+kG,UAAW,CACT93E,KAAM,UACNS,OAAQ,UACRqzD,YAAa,KAEfikB,WAAY,CACV/3E,KAAM,UACNS,OAAQ,UACRqzD,YAAa,IAGjBkkB,YAAa,CACXC,OAAQ,GACRlvB,OAzBwB,SAAChwE,GAE3B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAyB/B4pF,QArByB,SAACn/F,GAC5B,IAAMuV,EAAUvV,EAAMuV,SAAW,EACjC,MAAO,CAAEA,QAAmB,GAAVA,EAAewlE,YAAuB,GAAVxlE,IAoB5Cs8D,SAAU,CAAEve,UAAW,EAAG5rC,OAAQ,WAItC,EAAA9M,cAAc,SAAU,EAAAmmF,uB,yFCjCxB,OACA,OAGA,2BAEA,OAQA,6E,OACS,EAAA9N,SAAmB,SAWnB,EAAAjyF,KAAe,gB,EAsCxB,OAlDgD,iBAGhC,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CkB,MAAO,CACLvD,MAAO,CACLsC,SAAS,OAMV,YAAAsF,mBAAP,WACE,OAAOzrB,KAAKimB,gBAAgBwF,mBAAmB,WAG1C,YAAArjB,cAAP,WACU,IAAAkgG,EAAetoG,KAAK4lB,QAAO,WACnC,GAAI0iF,EACF,OAAOtoG,KAAKiJ,KAAKjB,gBAAgBsgG,IAI3B,YAAAn/E,YAAV,WACE,YAAMA,YAAW,YAGT,YAAA4kE,aAAV,SAAuBT,GACrBA,EAAOluC,OAAS,CACd,CACEx1C,KAAM,QACNggG,YAAa,MAKT,YAAA1b,gBAAV,WACEluF,KAAKstF,OAAO9mE,QAAU,GACtB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAKstF,OAAO9mE,QAAQsc,OAASxW,EAAewW,QAE1CxW,EAAeoR,YACjB19B,KAAKstF,OAAO9mE,QAAQ1U,SAAWwa,EAAeoR,UACzCpR,EAAewW,SAClB9iC,KAAKstF,OAAO9mE,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,OAAQ9qB,KAAK4lB,QAAQ0iF,eAI7F,EAlDA,CAAgD,W,YAoDhD,EAAA9Z,iBAAiB,gBAAiBqb,I,kHClElC,OACA,yBACA,2BAEA,QAEA,SACA,4BACA,OAEA,OAEa,EAAAC,gBAAkB,iBAY/B,IAAMzc,EAAc,CAClB0c,IAAK,YAGDxc,EAAgB,CACpBwc,IAAK,UAIP,yE,OA2CS,EAAAngG,KAAe,M,EA8KxB,OAzNiF,iBACjE,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C7f,MAAO,IACPC,OAAQ,IACRud,MAAO,CACLsC,SAAS,GAEXrC,YAAa,CACXqC,SAAS,GAEXhgB,UAAU,EACVmgB,QAAS,OACT0a,OAAQ,GACRp+B,MAAO,CACLujB,SAAS,EACTvc,KAAM,QACNqd,YAAY,EACZmvE,gBAAgB,EAChB8G,cAAc,EACdn2E,KAAM,CACJZ,SAAS,EACT2hB,QAAQ,IAGZ1jB,OAAQ,CACN+B,SAAS,EACTI,SAAU,gBAEZC,QAAS,CACPL,SAAS,EACTM,QAAQ,EACRC,gBAAgB,EAChBkuD,aAAa,GAEfo1B,SAAU,CACR15E,OAAQ,QACR4rC,UAAW,MASV,YAAA/xC,UAAP,WACE,YAAMA,UAAS,WACT,MAAmCnqB,KAAK4lB,QAAtCo3E,EAAU,aAAE/+B,EAAU,aAAEj/D,EAAI,OACpB,EAAA8nD,MAAM9nD,GAAM,SAACrC,GAAM,OAAkB,IAAlBA,EAAEqgG,OAEnBh9F,KAAKiJ,KAAKuf,WAAW,GAC7BhC,QAAWy3C,EAAU,IAAI++B,IAI9B,YAAA9yE,YAAP,WACE,YAAMA,YAAW,WACjB,IAAMtE,EAAU5lB,KAAK4lB,QAErB,GAAIA,EAAQhjB,OAASgjB,EAAQhjB,MAAMujB,QAAS,CAEtCnmB,KAAKiqG,gBACPjqG,KAAKiqG,eAAephF,QAEtB,IAAMqhF,EAActkF,EAAQhjB,MAC5B,GAAyB,WAArBsnG,EAAYtgG,KAAmB,CACzB,IAAA5K,EAAiC4mB,EAAO,KAAlCq4C,EAA2Br4C,EAAO,WAAtB,EAAeA,EAAO,WAC1CukF,EAAU,EAAArjD,MAAM9nD,GAAM,SAACrC,GAAM,OAAkB,IAAlBA,EAAE,MAC/BsiE,EAAakrC,EAAU,EAAAL,gBAAkB,EAC/C9pG,KAAKiqG,eAAiB,IAAI,UAAY,EAAD,UACnChhG,KAAMjJ,KAAKiJ,KACX65B,OAAQm7B,EAAa,CAACgB,EAAYhB,GAAc,CAACgB,GACjD+9B,WAAU,EACVmN,QAAO,GACJnqG,KAAK4lB,QAAQhjB,QAElB5C,KAAKiqG,eAAe3gG,aACf,CACL,IAAM8gG,EAAY,EAAAC,YAAYH,EAAYtgG,MAC1C5J,KAAKiqG,eAAiB,IAAIG,EAAUpqG,KAAM4lB,EAAQhjB,OAClD5C,KAAKiqG,eAAe3gG,YAKnB,YAAAghG,cAAP,WACU,IAAAtN,EAAeh9F,KAAK4lB,QAAO,WACnC,GAAIo3E,EACF,OAAOh9F,KAAKiJ,KAAKjB,gBAAgBg1F,IAI3B,YAAApP,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAsf,MAAV,WACE,IAAMnjB,EAAQ/F,KAAK4lB,QACnB,YAAMsD,MAAK,WACX,IAAIf,EAAS,GACbA,EAAOpiB,EAAMi3F,YAAc,GAC3B70E,EAAOpiB,EAAMk4D,YAAc,CAAEr0D,KAAM,OACnCue,EAAS,EAAApe,QAAQ,GAAI/J,KAAK2H,OAAOwgB,OAAQA,GACzCnoB,KAAKgsB,UAAU,SAAU7D,IAGjB,YAAAD,YAAV,SAAsBlpB,GACpB,IAAMpB,EAAMoC,KAAK4lB,QAAQo3E,WAEzB,OADgB,EAAAl2C,MAAM9nD,GAAM,SAACrC,GAAM,OAAW,IAAXA,EAAEiB,MAE5BoB,EAAKslB,KAAI,SAAC3a,G,MAAS,gCACrBA,KAAI,MACN/L,GAA2B,iBAAd+L,EAAK/L,GAAoBo2B,OAAO9oB,WAAWvB,EAAK/L,IAAoB+L,EAAK/L,GAAI,EAC1F,EAAAksG,iBAAkB,EAAI9qG,EAAKJ,OAAM,OAG/BI,EAAKslB,KAAI,SAAC3a,G,MACTrM,EAAQqM,EAAK/L,GAEnB,OAAO,EAAP,uBACK+L,KAAI,MAGN/L,GAAMN,IAAUihB,MAAMjhB,IAAUA,EAAQA,EAAK,QAK1C,YAAA6mB,KAAV,aAIU,YAAA8E,MAAV,WACE,IAAMljB,EAAQ/F,KAAK4lB,QACb2kF,EAAmB,CACvB3gG,KAAM,QACNnB,IAAK,CACHu4B,OAAQj7B,EAAMi7B,OAEd+D,YAAah/B,EAAMg/B,aAAe,IAGtC/kC,KAAKgsB,UAAU,aAAcu+E,IAGrB,YAAAphF,YAAV,WACE,IAEI4gF,EAFEhkG,EAAQ/F,KAAK4lB,QACX5mB,EAAqB+G,EAAK,KAApBi3F,EAAej3F,EAAK,YAIhCgkG,EAFc,EAAAjjD,MAAM9nD,GAAM,SAACrC,GAAM,OAAkB,IAAlBA,EAAEqgG,MAE7B,EAAAhP,QAAQ,WAAY,OAAQ,CAChCpnF,KAAM5G,KACNiuF,eAAgB,CAAC,EAAG,EAAA6b,mBAGhB,EAAA9b,QAAQ,WAAY,OAAQ,CAChCpnF,KAAM5G,KACNiuF,eAAgB,CAAC,EAAGloF,EAAMi3F,eAG1B59C,OAAS,CAAC,CAAEx1C,KAAM,UACtB5J,KAAK+pG,IAAMA,EACPhkG,EAAMnD,OACR5C,KAAK4C,QAEHmD,EAAMygB,UAAYzgB,EAAMygB,QAAQsc,QAAU/8B,EAAMygB,QAAQkX,YAC1D19B,KAAKkuF,kBAEPluF,KAAKgsB,UAAU,WAAY+9E,IAGnB,YAAA7b,gBAAV,WACEluF,KAAK+pG,IAAIvjF,QAAU,GACnB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,OACjB9iC,KAAK+pG,IAAIvjF,QAAQsc,OAASxW,EAAewW,OAEzC9iC,KAAK+pG,IAAIvjF,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQo3E,WAAYh9F,KAAK4lB,QAAQq4C,YAE/D3xC,EAAeoR,YACjB19B,KAAK+pG,IAAIvjF,QAAQ1U,SAAWwa,EAAeoR,UACtCpR,EAAewW,SAClB9iC,KAAK+pG,IAAIvjF,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQo3E,WAAYh9F,KAAK4lB,QAAQq4C,eAK7D,YAAAz7C,UAAV,WACE,YAAMA,UAAS,YAES,IADVxiB,KAAK4lB,QACTpD,YAERxiB,KAAK+pG,IAAIphF,SAAU,IAIb,YAAAS,WAAV,aAIU,YAAAjiB,YAAV,SAAsBknB,GAChBA,EACF,YAAMlnB,YAAW,UAACknB,GAElB,YAAMlnB,YAAW,UAACgnF,IAId,YAAAvrF,MAAR,WAEE5C,KAAK+pG,IAAInnG,OAAQ,GAErB,EAzNA,CAAiF,W,YA2NjF,EAAA4rF,iBAAiB,MAAOgc,I,qMCvPxB,uBAA4B96E,EAAQyH,EAAOh6B,GACzC,MAAO,CACL6M,EAAG0lB,EAAO1lB,EAAI7M,EAAIgS,KAAKw1B,IAAIxN,GAC3B10B,EAAGitB,EAAOjtB,EAAItF,EAAIgS,KAAKioB,IAAID,KAY/B,qBAA0BtG,GACxB,MAAO,CACL7mB,EAAG6mB,EAAI7mB,EAAI6mB,EAAIxqB,MAAQ,EACvB5D,EAAGouB,EAAIpuB,EAAIouB,EAAIvqB,OAAS,IAI5B,0BAA+BnC,EAAQzE,EAAQy8B,GAS7C,YAT6C,IAAAA,MAAA,GAC5BhtB,KAAKqP,IACpB,EACArP,KAAKsP,IAAIta,EAAE6F,EAAI7F,EAAEkC,MAAQ81B,EAAQz8B,EAAEsK,EAAItK,EAAE2G,MAAQ81B,GAAUhtB,KAAKqP,IAAIra,EAAE6F,EAAImyB,EAAQz8B,EAAEsK,EAAImyB,IAEzEhtB,KAAKqP,IACpB,EACArP,KAAKsP,IAAIta,EAAE1B,EAAI0B,EAAEmC,OAAS61B,EAAQz8B,EAAE+C,EAAI/C,EAAE4G,OAAS61B,GAAUhtB,KAAKqP,IAAIra,EAAE1B,EAAI05B,EAAQz8B,EAAE+C,EAAI05B,KAU9F,0BAA+Bh4B,EAAQzE,EAAQy8B,QAAA,IAAAA,MAAA,GAC7C,IAAIsuE,EAAWt7F,KAAKqP,IAClB,EACArP,KAAKsP,IAAIta,EAAE6F,EAAI7F,EAAEkC,MAAQ81B,EAAQz8B,EAAEsK,EAAItK,EAAE2G,MAAQ81B,GAAUhtB,KAAKqP,IAAIra,EAAE6F,EAAImyB,EAAQz8B,EAAEsK,EAAImyB,IAEtFuuE,EAAWv7F,KAAKqP,IAClB,EACArP,KAAKsP,IAAIta,EAAE1B,EAAI0B,EAAEmC,OAAS61B,EAAQz8B,EAAE+C,EAAI/C,EAAE4G,OAAS61B,GAAUhtB,KAAKqP,IAAIra,EAAE1B,EAAI05B,EAAQz8B,EAAE+C,EAAI05B,IAmB5F,OAfIsuE,GAAYtmG,EAAE6F,EAAItK,EAAEsK,IACtBygG,GAAYA,GAEVC,GAAYvmG,EAAE1B,EAAI/C,EAAE+C,IACtBioG,GAAYA,GAIVvmG,EAAE6F,IAAMtK,EAAEsK,GAAK7F,EAAEkC,QAAU3G,EAAE2G,QAC/BokG,EAAW/qG,EAAE2G,OAEXlC,EAAE1B,IAAM/C,EAAE+C,GAAK0B,EAAEmC,SAAW5G,EAAE4G,SAChCokG,EAAWhrG,EAAE4G,QAGR,CAAEmkG,SAAQ,EAAEC,SAAQ,IAQ7B,mBAAwBluE,EAAYjsB,GAClC,OACEisB,EAAMxyB,EAAIuG,EAAMvG,GAChBwyB,EAAMxyB,EAAIwyB,EAAMn2B,MAAQkK,EAAMvG,EAAIuG,EAAMlK,OACxCm2B,EAAM/5B,EAAI8N,EAAM9N,GAChB+5B,EAAM/5B,EAAI+5B,EAAMl2B,OAASiK,EAAM9N,EAAI8N,EAAMjK,QAQhC,EAAAo2F,KAAO,SAAC1yF,EAAWvH,EAAWlC,GACzC,YADyC,IAAAA,MAAA,SAAYyzB,OAAOjlB,QAAW,KACvE,CAAC/E,EAAGvH,GAAGm9C,SAASrtC,KAAYpD,KAAKsmB,IAAIzrB,KAAOmF,KAAKsmB,IAAIhzB,GAAK0M,KAAKsmB,IAAIzrB,EAAIvH,GAAKlC,GAK9E,2BAAgCgoB,EAAYoI,GAC1C,IAAMjB,EAASnH,EAAWke,YAC1B,OAAOt3B,KAAK23B,MAAMnW,EAAMluB,EAAIitB,EAAOjtB,EAAGkuB,EAAM3mB,EAAI0lB,EAAO1lB,IAOzD,0BAA+BmtB,GAC7B,IAAM8tC,EAAU91D,KAAKE,GAAK,EACtBiwC,EAASnoB,EAIb,OAHImoB,EAAS2lB,GAAW3lB,GAAU2lB,KAChC3lB,GAAkBnwC,KAAKE,IAElBiwC,I,yFC5GT,OACA,OAEA,2BACA,QACA,QAEA,yBA0BM+tC,EAAc,CAClBsd,KAAM,YAGFpd,EAAgB,CACpBod,KAAM,UAGR,yE,OA8DS,EAAA/gG,KAAe,O,EAkJxB,OAhNoF,iBACpE,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C7f,MAAO,IACPC,OAAQ,IACRud,MAAO,CACLsC,SAAS,GAEXrC,YAAa,CACXqC,SAAS,GAEXhgB,UAAU,EACVmgB,QAAS,OACT0a,OAAQ,GACR+D,YAAa,EACbniC,MAAO,CACLujB,SAAS,EACTvc,KAAM,QACNqd,YAAY,EACZumE,aAAa,GAEfppE,OAAQ,CACN+B,SAAS,EACTI,SAAU,SAEZC,QAAS,CACPL,SAAS,EACTM,QAAQ,EACRC,gBAAgB,EAChBkuD,aAAa,GAEfizB,YAAa,CACXv3E,OAAQ,QACR4rC,UAAW,GAEbr1C,MAAO,CACLV,SAAS,EACTY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXW,KAAM,CACJX,SAAS,EACTmnD,WAAW,EACX1kE,MAAO,CACLszD,UAAW,KAGft5D,MAAO,CACLgkB,OAAQ,EACRK,YAAY,IAGhBG,MAAO,CACLjB,SAAS,MAQR,YAAAN,WAAP,SAAkB9f,GAChB,IAAM6f,EAAU,YAAMC,WAAU,UAAC9f,GAC3B8hG,EAAc9hG,EAAM6kG,YACpB//E,EAAS9kB,EAAM8kG,cACf//E,EAAS/kB,EAAM+kG,YACrB,OAAO,EAAA/gG,QAAQ,GAAI6b,EAAS,CAAEiiF,YAAW,EAAEh9E,OAAM,EAAEC,OAAM,KAGpD,YAAAigF,eAAP,WACU,IAAAD,EAAgB9qG,KAAK4lB,QAAO,YAChCklF,GACF9qG,KAAKiJ,KAAKjB,gBAAgB8iG,IAIvB,YAAAR,cAAP,WACU,IAAAO,EAAkB7qG,KAAK4lB,QAAO,cAClCilF,GACF7qG,KAAKiJ,KAAKjB,gBAAgB6iG,IAIpB,YAAAjd,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAsf,MAAV,WAEE,IAAMnjB,EAAQ/F,KAAK4lB,QACbuC,EAAS,GACfA,EAAOpiB,EAAM+kG,aAAe,GAC5B3iF,EAAOpiB,EAAM8kG,eAAiB,CAAEjhG,KAAM,OACtC5J,KAAKgsB,UAAU,SAAU7D,IAYjB,YAAAc,MAAV,WACE,IAAMljB,EAAQ/F,KAAK4lB,QACb2kF,EAAc,CAClB3gG,KAAM,QACNnB,IAAK,CACHu4B,OAAQj7B,EAAMi7B,OACd+D,YAAah/B,EAAMg/B,aAAe,IAGtC/kC,KAAKgsB,UAAU,aAAcu+E,IAGrB,YAAAphF,YAAV,WACE,IAAMvD,EAAU5lB,KAAK4lB,QACf+kF,EAAO,EAAA3c,QAAQ,WAAY,OAAQ,CACvCpnF,KAAM5G,KACNiuF,eAAgB,CAACroE,EAAQilF,cAAejlF,EAAQklF,aAChDE,WAAY,CACVL,KAAM,KAGVA,EAAK/nG,MAAQ5C,KAAKirG,eAClBN,EAAKvrD,OAASp/C,KAAKkrG,mBACnBlrG,KAAK2qG,KAAOA,EACR/kF,EAAQY,UAAYZ,EAAQY,QAAQsc,QAAUld,EAAQY,QAAQkX,YAChE19B,KAAKkuF,kBAEPluF,KAAKgsB,UAAU,WAAY2+E,IAGnB,YAAAO,iBAAV,aAIU,YAAAhd,gBAAV,WACEluF,KAAK2qG,KAAKnkF,QAAU,GACpB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAK2qG,KAAKnkF,QAAQsc,OAASxW,EAAewW,QAExCxW,EAAeoR,YACjB19B,KAAK2qG,KAAKnkF,QAAQ1U,SAAWwa,EAAeoR,UACvCpR,EAAewW,SAClB9iC,KAAK2qG,KAAKnkF,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQklF,YAAa9qG,KAAK4lB,QAAQilF,cAAe7qG,KAAK4lB,QAAQq4C,eAK3F,YAAAz7C,UAAV,WACE,YAAMA,UAAS,YAES,IADVxiB,KAAK4lB,QACTpD,YAERxiB,KAAK2qG,KAAKhiF,SAAU,IAId,YAAAS,WAAV,aAIU,YAAAjiB,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGV,YAAA8c,aAAV,WACE,IAAMrlF,EAAU5lB,KAAK4lB,QACrB,IAAKA,EAAQhjB,QAAUgjB,EAAQhjB,MAAMujB,QACnC,OAAO,EAET,IAAMvjB,EAAQ,EAAAmH,QAAQ,GAAI6b,EAAQhjB,OAClC5C,KAAKmrG,mBAAmBvoG,GACxB,IAAMkgC,EAAS,CAACld,EAAQilF,cAAejlF,EAAQklF,aAO/C,OANoB,EAAA5+E,aAAa,QAAS,EAAF,UACtCtlB,KAAM5G,KACN20D,UAAW,QACX7xB,OAAM,GACHlgC,KAKC,YAAAuoG,mBAAR,SAA2BC,GACjB,IAAAN,EAAgB9qG,KAAK4lB,QAAO,YACpC,GAAIwlF,EAAc,CACR,IAAAxkF,EAA0BwkF,EAAY,OAA9BxhG,EAAkBwhG,EAAY,KAAxBnzC,EAAYmzC,EAAY,QACjC,UAATxhG,EACFwhG,EAAaxkF,OAASA,EAAS,EAAIA,GAAU,GAC3B,UAAThd,IACTwhG,EAAaxkF,OAASA,GAAU,EAAIA,EAAS,IAE1CqxC,IAEHmzC,EAAanzC,QAAU,SAAC5xC,EAAM1c,GAAS,SAAGA,EAAK0qB,QAAQy2E,OAI/D,EAhNA,CAAoF,W,YAkNpF,EAAAtc,iBAAiB,OAAQ6c,I,2G9M/PzB,OAYA,oBAAyB5iG,EAAgB4yD,EAAmBC,EAAiBC,QAAA,IAAAA,MAAA,IACnE,MAA0C9yD,EAAhC,MAAVG,OAAK,IAAG,KAAE,EAAEurD,EAA8B1rD,EAAlB,aAAE+U,EAAgB/U,EAAX,MAAEoiC,EAASpiC,EAAL,KACvC4pB,EAAQ,EAAH,uBACN8hC,GACAvrD,GAsBL,OApBI4U,IACE69C,IACGzyD,EAAM0nB,SAET+B,EAAM/B,OAAS9S,IAIf89C,IACG1yD,EAAMinB,OAETwC,EAAMxC,KAAOrS,KAIf+9C,GAAY,EAAAn1D,MAAMwC,EAAM2yD,MAAe,EAAAn1D,MAAMykC,KAE/CxY,EAAMkpC,GAAY1wB,GAGbxY,I,uI+MlCT,OACA,OACA,OAEA,+BACA,QAEA,QACA,yBACA,OACA,gCAEA,QAEMg7D,EAAc,CAClBie,UAAW,YAGP/d,EAAgB,CACpB18E,SAAU,aAGC,EAAA06F,YAAc,YACd,EAAAC,SAAW,YACX,EAAAC,YAAc,YA0B3B,6E,OAES,EAAA7hG,KAAe,Y,EAoRxB,OAtR4C,iBAK5B,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C9B,OAAQ,CACN+B,SAAS,EACTI,SAAU,UAEZ3jB,MAAO,CACLujB,SAAS,EACTiwE,gBAAgB,GAGlBsV,UAAW,CACTvlF,SAAS,GAGXwlF,WAAY,CACVxlF,SAAS,GAGXylF,UAAW,CACTzlF,SAAS,EACTvjB,MAAO,OAETipG,eAAgB,CAEd3vC,UAAW,GAEb11C,QAAS,CACPL,SAAS,EACTM,QAAQ,EACRC,gBAAgB,EAChBkuD,aAAa,MAKZ,YAAA/uD,WAAP,SAAkB9f,GAChB,IAAM6f,EAAU,YAAMC,WAAU,UAAC9f,GAGjC,OAFA/F,KAAK8rG,oBAAoBlmF,GACzB5lB,KAAK+rG,WAAWnmF,GACTA,GAGF,YAAAuE,UAAP,WACE,YAAMA,UAAS,WACf,IAAMvE,EAAU5lB,KAAK4lB,QACjBA,EAAQ8lF,WAAa9lF,EAAQ8lF,UAAUvlF,QACzCnmB,KAAK0rG,UAAY,IAAI,UAAU,CAC7BziG,KAAMjJ,KAAKiJ,KACX65B,OAAQ,CAACld,EAAQiF,OAAQjF,EAAQkF,OAAQ,EAAAygF,aACzC7tE,UAAW9X,EAAQ8lF,UAAUhuE,UAC7B90B,MAAOgd,EAAQ8lF,UAAU9iG,QAElB5I,KAAK0rG,YACd1rG,KAAK0rG,UAAU7iF,QACf7oB,KAAK0rG,UAAY,OAId,YAAAxhF,YAAP,WACE,YAAMA,YAAW,WACjB,IAAMtE,EAAU5lB,KAAK4lB,QACrB5lB,KAAKiJ,KAAKwB,GAAG,kBAAkB,SAAClK,GAE9B,IADQ,IAAAizB,EAAUjzB,EAAC,MACVlE,EAAI,EAAGA,EAAIm3B,EAAM50B,OAAQvC,IAAK,CACrC,IAAMsN,EAAO6pB,EAAMn3B,GACb2C,EAAO,EAAA9B,IAAIyM,EAAM,OAAQ,IAI/B,GAFAA,EAAK/M,KAAOoC,EAAK4mB,EAAQiF,QACzBlhB,EAAKrM,MAAQ0B,EAAK4mB,EAAQkF,SACrBnhB,EAAKrM,OAAS0B,EAAK,EAAAwsG,UAAW,CACjC,IAAM9qF,EAAS1hB,EAAK,EAAAusG,aACpB5hG,EAAKrM,MAAQojB,EAAO,GAAKA,EAAO,GAElCngB,EAAEizB,MAAMn3B,GAAKsN,MAGjB3J,KAAK43D,eAGG,YAAAA,YAAV,WACE,IAAM7oC,EAAW,EAAAq/D,kBAAkBpuF,KAAKiJ,KAAM,YAC1CjJ,KAAK4lB,QAAQhjB,OAAS5C,KAAK4lB,QAAQhjB,MAAMujB,SAC3CnmB,KAAK8uB,cAAcC,EAAU,EAAF,UACzBnlB,KAAM,aACH5J,KAAK4lB,QAAQhjB,SAKZ,YAAAgrF,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAof,YAAV,WACEhpB,KAAKgsB,UAAU,eAAgB,CAAC,CAAEpiB,KAAM,WAAa,CAAEA,KAAM,oBAGrD,YAAAuf,YAAV,WACE,IACMmiF,EAA2B,CAC/B1hG,KAAM,WACN2c,SAAU,CACRuc,OAAQ,CAJI9iC,KAAK4lB,QAIAiF,OAAQ,EAAA0gF,cAE3Bh7F,MAAO,CACLmQ,OAAQ,CAAC,eAGb4qF,EAAU1iG,MAAQ5I,KAAKgsG,cACvBV,EAAU9tF,MAAQxd,KAAKisG,cACvBjsG,KAAKsrG,UAAYA,EACbtrG,KAAK4lB,QAAQY,UAAYxmB,KAAK4lB,QAAQY,QAAQsc,QAAU9iC,KAAK4lB,QAAQY,QAAQkX,YAC/E19B,KAAKkuF,kBAEPluF,KAAKgsB,UAAU,WAAYs/E,IAGnB,YAAApjF,YAAV,SAAsB0zB,G,MACdswD,EAAW,GACXrhF,EAAS7qB,KAAK4lB,QAAQiF,OACtBC,EAAS9qB,KAAK4lB,QAAQkF,OAiB5B,GAhBA,EAAAxG,IAAIs3B,GAAY,SAAC/nB,EAAU1qB,G,MACrB7L,EAAau2B,EAAS/I,GAC1B,GAAI3hB,EAAM,EAAG,CACX,IAAMgjG,EAAYD,EAAS/iG,EAAM,GAAG,EAAAoiG,aAElCjuG,EADE,EAAA8kB,QAAQ+pF,GACF,CAACA,EAAU,GAAIt4E,EAAS/I,GAAUqhF,EAAU,IAE5C,CAACA,EAAWt4E,EAAS/I,GAAUqhF,GAG3CD,EAAS5oG,KAAK,EAAD,uBACRuwB,KAAQ,MACV,EAAA03E,aAAcjuG,EAAK,EACnB,EAAAmuG,aAActiG,EAAG,QAGlBnJ,KAAK4lB,QAAQgmF,WAAa5rG,KAAK4lB,QAAQgmF,UAAUzlF,QAAS,CAC5D,IAAMzF,EAAS,EAAA4D,IAAIs3B,GAAY,SAAC9+C,GAAM,OAAAA,EAAEguB,MAClCshF,EAAa,EAAA7kF,OAAO7G,GAAQ,SAACviB,EAAWL,GAAc,OAAAK,EAAIL,IAAG,GACnEouG,EAAS5oG,OAAI,MACVunB,GAAS7qB,KAAK4lB,QAAQgmF,UAAUhpG,MACjC,EAACkoB,GAAS,KACV,EAAC,EAAAygF,aAAc,CAACa,EAAY,GAC5B,EAAC,EAAAX,aAAcS,EAASttG,OACxB,EAAC,EAAA4sG,WAAW,E,IAGhB,OAAOU,GAGC,YAAAhjF,MAAV,WACU,IAAAtD,EAAY5lB,KAAI,QAClBmoB,EAAS,GAEfA,EAAOvC,EAAQiF,QAAU,CAAEjhB,KAAM,OAC7B,EAAAlE,IAAIkgB,EAAS,UACf,EAAAkoE,aAAa3lE,EAAOvC,EAAQiF,QAASjF,EAAQiB,OAG/CsB,EAAO,EAAAojF,aAAe,GAClB,EAAA7lG,IAAIkgB,EAAS,UACf,EAAAkoE,aAAa3lE,EAAO,EAAAojF,aAAc3lF,EAAQwB,OAE5CpnB,KAAKgsB,UAAU,SAAU7D,IAIjB,YAAAhE,KAAV,WACE,IAAM8H,EAAe,EAAAC,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,MAEDC,EAAe,EAAAF,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,MAEDE,EAAa,GACnBA,EAAWrsB,KAAK4lB,QAAQiF,QAAUoB,EAClCI,EAAW,EAAAk/E,aAAen/E,EAE1BpsB,KAAKgsB,UAAU,OAAQK,IAGf,YAAApD,MAAV,aAIU,YAAA9hB,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGV,YAAAD,gBAAV,WACEluF,KAAKsrG,UAAU9kF,QAAU,GACzB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAKsrG,UAAU9kF,QAAQsc,OAASxW,EAAewW,QAE7CxW,EAAeoR,YACjB19B,KAAKsrG,UAAU9kF,QAAQ1U,SAAWwa,EAAeoR,UAC5CpR,EAAewW,SAClB9iC,KAAKsrG,UAAU9kF,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ,EAAA0gF,gBAMpD,YAAAS,YAAR,WACE,IAAMpjG,EAAQ5I,KAAK4lB,QAAQimF,eACrBF,EAAa3rG,KAAK4lB,QAAQ+lF,WAC1BhkG,EAA8B,GASpC,OARI,EAAA2C,WAAW1B,GACbjB,EAAOmK,SAAW,W,IAAC,sDACjB,OAAO/U,OAAOoD,OAAO,GAAIyI,EAAK,aAAI+2C,GAAO,CAAEgsD,WAAU,KAGvDhkG,EAAOc,IAAM,EAAH,uBAAQG,GAAK,CAAE+iG,WAAU,IAG9BhkG,GAGD,YAAAskG,YAAR,sBACQrmF,EAAU5lB,KAAK4lB,QACf,EAAqB5lB,KAAK4lB,QAC1Bje,EAAc,CAClBm7B,OAAQ,CAFI,SAAQ,SAEK,EAAAyoE,YAAa,EAAAE,cAExC,GAAI,EAAAnhG,WAAWsb,EAAQpI,OACrB7V,EAAOmK,SAAW8T,EAAQpI,UACrB,CACL,IAAI,EAAc,UACd,EAAe,UACf,EAAa,sBACjB,GAAI,EAAAqP,SAASjH,EAAQpI,OACnB,EAAc,EAAe,EAAaoI,EAAQpI,WAC7C,GAAI,EAAA6uF,SAASzmF,EAAQpI,OAAQ,CAC5B,MAA6BoI,EAAQpI,MAAnC8uF,EAAM,SAAEC,EAAO,UAAEtzC,EAAK,QAC9B,EAAcqzC,EACd,EAAeC,EACf,EAAatzC,EAEftxD,EAAOmK,SAAW,SAAClI,EAAMtM,EAAOojB,EAA2BhiB,GACzD,OAAIA,IAAU,EAAKknB,QAAQ5mB,KAAKJ,OACvB,IAAe8hB,EAAO,IAAM,EAAI,EAAc,IAE/C,EAAA0B,QAAQ1B,GAAUA,EAAO,GAAKA,EAAO,GAAKA,IAAW,EAAI,EAAc,GAGnF,OAAO/Y,GAID,YAAAmkG,oBAAR,SAA4BlmF,GAC1B,IAAM4mF,EAAgB5mF,EAAQxB,OAC1BooF,IACFA,EAAcrmF,SAAU,IAKpB,YAAA4lF,WAAR,SAAmBnmF,GACjB,IAAM6mF,EAAc7mF,EAAQmG,KAC5B,GAAI0gF,EAAa,CACf,IAAMC,EAAiBD,EAAcA,EAAY7mF,EAAQkF,QAAU,GACnE4hF,EAAe9sE,MAAQ8sE,EAAe9sE,OAASha,EAAQkF,OACvDlF,EAAQmG,KAAK,EAAAw/E,aAAemB,IAGlC,EAtRA,CAA4C,W,YAwR5C,EAAAle,iBAAiB,YAAame,I,6MC9U9B,OACA,2BACA,QAsEA,SAAgBC,EAAUjwG,EAASkwG,GAEjC,OADAlwG,EAAEmwG,gBAAgBnwG,EAAE4rF,kBAAoBskB,GACjClwG,EAnEI,EAAAowG,OAAS,MAMtB,wBAA6BC,GAC3B,IAAMC,EAAK,iBAAID,GAAO5yE,MAAK,SAACj2B,EAASzE,GAAY,OAAAyE,EAAEimF,UAAY1qF,EAAE0qF,aAEjE,MAAO,CAAC,UAAM3sE,OAAO,EAAA2e,KAAK6wE,GAAK,EAAArO,WAAY,UAAMnhF,OAAO,EAAAk/B,KAAKswD,GAAK,EAAArO,aAOpE,wBAA6B18E,GAC3B,IAAMgrF,EAAOhrF,GAAc,IAAI9Q,KAE/B,MAAO,CACL,UAAMqM,OAAO,IAAIrM,KAAK87F,EAAKtlB,cAAe,EAAG,GAAI,EAAAgX,WACjD,UAAMnhF,OAAO,IAAIrM,KAAK87F,EAAKtlB,cAAe,GAAI,IAAK,EAAAgX,aAOvD,6BAAkC18E,GAEhC,OAAOA,EAAKqlE,aAAeqlB,EAAU,IAAIx7F,KAAK8Q,GAAO,EAAI,EAAA6qF,QAAQxlB,YAMnE,4BAAiCrlE,GAE/B,OAAOA,EAAKqlE,aAAeqlB,EAAU,IAAIx7F,KAAK8Q,GAAO,EAAA6qF,QAAQxlB,YAO/D,mBAAwBrlE,GAEtB,IAAMirF,EAAS,IAAI/7F,KAAK8Q,EAAK0lE,cAAe,EAAG,GAE/C,OAAOz4E,KAAKqmB,OAAOtT,EAAKkoE,UAAY+iB,EAAO/iB,WAAa,EAAA2iB,OAASI,EAAOjmB,SAAW,GAAK,IAO1F,kBAAuBhlE,GACrB,OAAOA,EAAKglE,UAQd,e,yFCpEA,OACA,OAEA,2BAEA,QAEA,SACA,yBAIA,cAOE,WAAYnhF,GAAZ,MACE,YAAMA,IAAM,K,OAgEP,EAAA6D,KAAe,Q,EA4JxB,OApOuF,iBAWvE,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C4a,YAAa,EAAI,EACjBC,SAAU,EAAI,EACdqsE,qBAAsB,CACpBv9E,KAAM,WAERw9E,UAAW,GACXC,UAAW,CACT/mF,SAAU,CAAC,MAAO,QAEpBpC,KAAM,CACJgC,SAAS,EACTS,QAAS,GACTwW,UAAW,GACXmwE,aAAc,EACdvmF,SAAU,CACRb,SAAS,EACTvnB,OAAQ,EACRgK,MAAO,CACL0nB,OAAQ,OACR4rC,UAAW,IAGft5D,MAAO,CACLujB,SAAS,EACTS,OAAQ,EACRhe,MAAO,CACLinB,KAAM,OACNC,SAAU,GACVC,UAAW,SACXC,aAAc,YAIpBw9E,MAAO,CACLrnF,SAAS,EACTsnF,UAAW,EACXC,IAAK,CACHvnF,SAAS,EACT0kB,KAAM,EACNjiC,MAAO,CACLinB,KAAM,YAGVrxB,KAAM,CACJ2nB,SAAS,EACTvd,MAAO,CACLinB,KAAM,YAGVmtD,QAAS,CACP72D,SAAS,EACTvd,MAAO,CACLinB,KAAM,gBAST,YAAA5H,KAAP,WACQ,MAAmBjoB,KAAK4lB,QAAtBtoB,EAAK,QACPqwG,GADc,SACU,IAAIrpF,KAAI,SAAC3nB,GAAc,OAACA,KAAGy9B,MAAK,SAACj2B,EAAWzE,GAAc,OAAAyE,EAAIzE,KAEtF,EAA8FM,KAAK4lB,QAAjG,IAAAnH,WAAG,IAAG,EAAAkvF,EAAY,GAAE,EAAE,IAAAnvF,WAAG,IAAG,EAAAmvF,EAAYA,EAAY/uG,OAAS,GAAE,EAAE,IAAA6e,cAAM,IAAG,WAAC9gB,GAAM,SAAGA,GAAG,EAEzFixG,EAAYnwF,EAAOngB,GAGzB0C,KAAK4lB,QAAQ5mB,KAAO,CAAC,CAAE1B,MAAOA,GAAS,IACvC0C,KAAK4lB,QAAQgoF,UAAYA,EACzB5tG,KAAK4lB,QAAQnH,IAAMA,EACnBze,KAAK4lB,QAAQpH,IAAMA,EACnBxe,KAAK4lB,QAAQnI,OAASA,EACtBzd,KAAK6tG,cACL,YAAM5lF,KAAI,YAMF,YAAA4lF,YAAV,WACE7tG,KAAK8tG,WAAa,IAAI,EAAAC,WAAW,EAAAC,YACjChuG,KAAK8tG,WAAWG,UACdjuG,KAAK4J,KACL,EAAAG,QAAQ,GAAI/J,KAAK4lB,QAAS,CACxBob,OAAQ,GACR7J,MAAO,IACP+2E,aAAc,UAGlBluG,KAAK8tG,WAAWxkG,UAGR,YAAAskF,eAAV,WACE,MAAO,SAGC,YAAA1kE,MAAV,WACQ,MAAuBlpB,KAAK4lB,QAA1BnH,EAAG,MAAED,EAAG,MAAEf,EAAM,SAClB0K,EAAS,CACb7qB,MAAO,IAET,EAAAwwF,aAAa3lE,EAAO7qB,MAAO,CACzBmhB,IAAG,EACHD,IAAG,EACH+e,SAAU9e,EACV+e,SAAUhf,EACVif,MAAM,EACNC,UAAWjgB,EAEXsY,aAAc,KAGhB/1B,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGH,YAAAD,MAAV,WACE,IAAMshF,EAAmB,CACvB3gG,KAAM,QACNnB,IAAK,CACHu4B,OAAQ,EACRF,WAAY9gC,KAAK4lB,QAAQkb,WAAa3xB,KAAKE,GAC3C0xB,SAAU/gC,KAAK4lB,QAAQmb,SAAW5xB,KAAKE,KAG3CrP,KAAKgsB,UAAU,aAAcu+E,IAGrB,YAAApmF,KAAV,WACU,IAQJgqF,EARIhqF,EAASnkB,KAAK4lB,QAAO,KACvByG,EAAkB,CACtB/uB,MAAO,CACLypB,KAAM,KACND,KAAM,KACNE,SAAU,OAKZmnF,EADEhqF,EAAKyC,OAAS,EACFzC,EAAKyC,OAAS5mB,KAAK4lB,QAAQynF,UAAYlpF,EAAK6C,SAASpoB,OAASulB,EAAKvhB,MAAMgkB,OAEzEzC,EAAKyC,OAASzC,EAAK6C,SAASpoB,OAASulB,EAAKvhB,MAAMgkB,OAE5DzC,EAAKvhB,MAAMujB,QACbkG,EAAW/uB,MAAMsF,MAAQ,CACvBgkB,OAAQunF,EACRtvB,UAAW16D,EAAKvhB,MAAMgG,MACtBqe,YAAY,GAGdoF,EAAW/uB,MAAMsF,MAAQ,CACvBgG,MAAO,CACLuV,QAAS,IAIfkO,EAAW,IAAO,EAClBA,EAAkB,QAAIlI,EAAKgC,SAAUkG,EAAkB,MACvDrsB,KAAKgsB,UAAU,OAAQK,IAGf,YAAAlD,YAAV,WACE,IAEM6zD,EAAyB,CAC7BpzE,KAAM,QACN2c,SAAU,CACRuc,OAAQ,CAAC,QAAS,MAEpBvyB,MAAO,CACLmQ,OAAQ,CAAC,UAEXlD,MAAO,CACLkD,OAAQ,CAXS1gB,KAAK4lB,QAAQ4nF,MAAMxwB,QAAQp0E,MAAMinB,MAAQ7vB,KAAKyG,MAAMs3C,gBAezE/9C,KAAKgsB,UAAU,WAAYgxD,IAGnB,YAAA5zD,WAAV,WACU,IAAAkkF,EAActtG,KAAK4lB,QAAO,UAC5BwoF,EAAoB,GAE1B,GAAId,GAAaA,EAAUnnF,QAAS,CAClC,IAAMkoF,EAAaruG,KAAKsuG,kBACxBF,EAAkB9qG,KAAK+qG,GAEzBruG,KAAKgsB,UAAU,cAAeoiF,IAGtB,YAAAE,gBAAV,WACE,IAAMC,EAAgBp/F,KAAKqP,IAAIxe,KAAK4lB,QAAQvf,MAAOrG,KAAK4lB,QAAQtf,QAAU,GAClEgnG,EAActtG,KAAK4lB,QAAO,UAalC,MAZa,CACXhc,KAAM,OACNquD,QAASq1C,EAAUjnF,KACnBwU,KAAK,EACLtU,SAAU+mF,EAAU/mF,SACpB3d,MAAO,CACLinB,KAAMy9E,EAAU9vF,MAChBsS,SAAUw9E,EAAUziE,KAAOyiE,EAAUziE,KAAuB,IAAhB0jE,EAC5Cx+E,UAAW,SACXC,aAAc,YAMV,YAAA7oB,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAEtB,EApOA,CAAuF,W,YAsOvF,EAAAK,iBAAiB,QAASggB,I,yFCtP1B,QACA,OACA,4BAEA,2BACA,2BAEA,OAGA,QAiBMC,EAAoB,CACxBjxF,MAAO,UACP87E,SAAU,EACVoV,aAAa,EACb/9E,MAAO,CACLxK,SAAS,EACT0kB,KAAM,EACNt6B,MAAO,SACP3H,MAAO,CACL0nB,OAAQ,SAGZ1tB,MAAO,CACLujB,SAAS,IAIPwoF,EAAsB,CAC1BnxF,MAAO,WAGHoxF,EAAqB,CACzBzoF,SAAS,EACT0oF,cAAc,EACd/nF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLoD,YAAY,EACZd,SAAS,EACTgB,QAAS,KASb,yE,OAiBS,EAAAvd,KAAe,aAEZ,EAAAwe,QAAiB,G,EAyT7B,OA5UsG,iBAGtF,EAAAlC,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CkB,MAAO,CACL0nF,WAAYF,EACZG,YAAaH,GAEfzF,WAAYsF,EACZO,aAAcL,EACdvqF,OAAQ,CACN+B,SAAS,MASR,YAAA0B,WAAP,W,QACUjC,EAA4B5lB,KAArB,QAAE8lB,EAAmB9lB,KAAL,eAC/B,GAAI4lB,EAAQqpF,kBACVrpF,EAAQwB,MAAM2nF,YAAYF,cAAe,GACX,QAA1B,EAAC/oF,EAAeqjF,kBAAU,eAAE7P,YAC9B1zE,EAAQujF,WAAW7P,SAAW,KAEF,QAA1B,EAACxzE,EAAeqjF,kBAAU,eAAE3rF,QAAO,CAC/B,MAAwB,EAAA8F,iBAAtB7C,EAAM,SAAEyuF,EAAS,YACnBC,EAAcnvG,KAAKovG,wBACnB,EAAcD,EAAYvwG,OAAS6hB,EAAO7hB,OAASswG,EAAYzuF,EAC/D,EAAc,GACpB,EAAAjX,KAAK2lG,GAAa,SAACjsG,EAAGxE,GACpB,EAAY4E,KAAK,EAAY5E,EAAQ,OAEvCknB,EAAQujF,WAAW3rF,MAAQ,IAK1B,YAAAyK,KAAP,WAEE,GADA,YAAMA,KAAI,WACLjoB,KAAKqvG,YAAV,CAGM,MAWFrvG,KAAK4lB,QAVP5mB,EAAI,OACJ+sB,EAAI,OACJlB,EAAM,SACNC,EAAM,SACNmkF,EAAe,kBACf7qF,EAAM,SACN+kF,EAAU,aACV6F,EAAY,eACZ5kG,EAAM,SACNklG,EAAU,aAEZtvG,KAAKygB,OAAS,CAACuuF,EAAaxxF,MAAiB2rF,EAAW3rF,OAExDxd,KAAKuvG,aAEL,IAAMC,EAAW,GACjBA,EAAS1kF,EAAO,IAAM,CAAEkL,MAAOh2B,KAAKutE,YACvBvtE,KAAKyvG,YAAY,UAAWzwG,EAAK,GAAI,EAAF,UAC9C6rB,OAAM,EACNC,OAAQA,EAAO,GACf+uE,YAAaoV,EACbljF,KAAOujF,EAA2CvjF,EAA9B,EAAAhiB,QAAQ,GAAIgiB,EAAMyjF,GACtC3oF,MAAO,CACLV,SAAS,GAEXiB,MAAO,EAAArd,QACL,GACA,CACEwc,SAAU,QACVO,KAAM,CACJX,SAAS,GAEXsX,MAAM,GAERz9B,KAAKonB,MAAM,IAEbZ,QAAS,CACPL,SAAS,GAEX/B,OAAQ,CACN+B,SAAS,GAEX/b,OAAM,GACH++F,IAEA7/F,SACD8a,EAAO+B,SACTnmB,KAAK0vG,eAEP1vG,KAAK2vG,iBAGG,YAAAJ,WAAV,sBACQ,EAAuEvvG,KAAK4lB,QAA1E5mB,EAAI,OAAE6rB,EAAM,SAAEC,EAAM,SAAEjE,EAAK,QAAEL,EAAO,UAAEwoF,EAAY,eAAEjjF,EAAI,OAAE3hB,EAAM,SACzDpK,KAAKyvG,YAAY,UAAazwG,EAAK,GAAI,EAAF,UAClD6rB,OAAM,EACNC,OAAQA,EAAO,GACfiB,KAAI,EACJlF,MAAK,EACLO,MAAO,EAAArd,QACL,GACA,CACE+c,KAAM,CACJX,SAAS,GAEXsX,MAAM,GAERz9B,KAAKonB,MAAM,IAEbZ,QAAS,EAAAzc,QACP,GACA,CACE6qE,aAAa,EACbpqD,OAAQ,CACNC,SAAU,SAACmlF,EAAc9qF,GACvB,EAAK0B,QAAQopF,EAAc9qF,MAIjC0B,GAEFpc,OAAM,GACH4kG,IAEE1lG,UAGC,YAAAkd,QAAV,SAAkBvb,EAAK6Z,GAAvB,WACQ,EAA8B9kB,KAAK4lB,QAAjCiF,EAAM,SAAEC,EAAM,SAAEtE,EAAO,UACzBqpF,EAAa,EAAAz9E,MAAMtN,EAAG0O,MAAM,IAC5Bs8E,EAAa9vG,KAAK+vG,gBAAgBjrF,EAAGjB,MAAO,GAC5C6Z,EAAY,EAAAxgC,IAAIspB,EAAS,aAwB/B,GAvBIspF,GACF,EAAAtmG,KAAKsmG,GAAY,SAACnzG,EAAG+B,GACX,IAAAm7F,EAAgB,EAAKmW,WAAW,GAAGpqF,QAAc,YACnDhpB,EAAOi9F,EAAcl9F,EAAEk9F,GAAe/uE,EAAO,GAG7CnhB,EAAO+zB,EACTA,EAAU/gC,EAAEkuB,GAASluB,EAAEmuB,EAAO,IAAKnuB,EAAEk9F,IACrC,CACEj9F,KAAI,EACJU,MAAOX,EAAEmuB,EAAO,KAGtBhG,EAAG0O,MAAMlwB,KAAK,EAAD,6CACRusG,GAAU,CACb/7E,YAAa,EAAA/pB,QAAQ,GAAI8lG,EAAW/7E,YAAa,CAAEO,QAASy7E,IAC5D9wG,KAAMrC,IACHgN,GAAI,CACP6T,MAAO,EAAA4E,QAAQ,EAAK3B,OAAO,IAAM,EAAKA,OAAO,GAAG/hB,GAAS,EAAK+hB,OAAO,SAKvEzgB,KAAK4lB,QAAQxB,OAAO+B,QAAS,CAC/B,IAAM,EAAiBnmB,KAAKiwG,oBACtBC,EAAalwG,KAAKooB,QAAQ,GAAGlrB,IAAI,SAAS0B,OAASoB,KAAKooB,QAAQ,GAAGlrB,IAAI,SAAS0B,OAEtF,GAAI,EAAeA,SAAWsxG,EAE5B,YADAjlG,EAAIrC,MAAMqiD,QAAU,QAGpBhgD,EAAIrC,MAAMqiD,QAAU,QAGtB,IAAM,EAAW,GACX,EAAY,GAClB,EAAAzhD,KAAKsb,EAAG0O,OAAO,SAAC7pB,GACN,IAAA/M,EAAS+M,EAAI,KAChB,EAAAU,SAAS,EAAUzN,IAAU,EAAAyN,SAAS,EAAgBzN,KACzD,EAAS0G,KAAK1G,GACd,EAAU0G,KAAKqG,OAGnB,EAAAH,KAAKsb,EAAG0O,OAAO,SAAC7pB,EAAMjL,GAChBA,EAAQ,EAAUE,OACpBkmB,EAAG0O,MAAM90B,GAAS,EAAUA,GAE5BomB,EAAG0O,MAAMnwB,WAMP,YAAAqsG,aAAV,sBACQ,EAAqB1vG,KAAK4lB,QAAxBkF,EAAM,SAAE1G,EAAM,SACd3D,EAAWzgB,KAAI,OACjB8F,EAAY9F,KAAK8F,UAAU4jB,WAC3BymF,EAAY/rF,EACZgsF,EAAU,CAAC,SAAU,UAC3B,EAAA5mG,KAAKxJ,KAAKgwG,YAAY,SAAC/kF,EAAMvsB,GAC3B,IAAI0lB,EACJ,GAAI6G,EAAKrF,QAAQi0E,YAAa,CAC5B,IAAMn5E,EAAS,EAAK0uF,wBACpBhrF,EAAS,EAAKisF,mBAAmB3vF,EAAQ0vF,EAAQ1xG,GAAQ+hB,EAAO/hB,GAAQyxG,EAAWrqG,QAEnFse,EAAS,EAAKksF,mBAAmBxlF,EAAOpsB,GAAQ0xG,EAAQ1xG,GAAQ+hB,EAAO/hB,GAAQyxG,EAAWrqG,GAE5F,EAAKsiB,QAAQ9kB,KAAK8gB,MAGpB,EAAA5a,KAAKxJ,KAAKgwG,YAAY,SAAC/kF,EAAMvsB,GACvBusB,EAAKrF,QAAQi0E,YACf,EAAK0W,qBAAqB7xG,EAAOusB,EAAKrF,QAAQi0E,aAE9C,EAAK2W,aAAa9xG,OAKd,YAAA4xG,mBAAV,SAA6B1zG,EAAMq/D,EAAQz+C,EAAO/U,EAAK3C,GACrD,IAWM0tB,EAAQ,CACZ,CACE52B,KAAI,EACJo2E,WAAW,EACX1lD,OAfc,EAAAvjB,QAChB,GACA,CACEkyD,OAAM,EACNrzD,MAAO,CACLzL,EAAG,EACH0yB,KAAMrS,IAGV/U,EAAI6kB,UASAlJ,EAAS,IAAI,EAAA9V,OAAOmiG,SAAS,CACjCjgF,GAAIxwB,KAAK4J,KACT9D,UAAS,EACTkE,EAAG,EACHvH,EAAG,EACH+wB,MAAOA,EACPk9E,kBAAkB,EAClBC,eAAgB,KAChBpjF,SAAU9kB,EAAI4d,OAIhB,OAFAjC,EAAO6D,OACP7D,EAAO9a,SACA8a,GAGC,YAAAisF,mBAAV,SAA6B3vF,EAAQu7C,EAAQz+C,EAAO/U,EAAK3C,GACvD,IAAM8qG,EAAc,GACpB,EAAApnG,KAAKkX,GAAQ,SAACxd,EAAGxE,GACfkyG,EAAYttG,KAAK,CACf1G,KAAMsG,EACN8vE,WAAW,EACX1lD,OAAQ,CACN2uC,OAAM,EACNrzD,MAAO,CACLzL,EAAG,EACH0yB,KAAMrS,EAAM9e,UAKpB,IAAM0lB,EAAS,IAAI,EAAA9V,OAAOmiG,SAAS,CACjCjgF,GAAIxwB,KAAK4J,KACT9D,UAAS,EACTkE,EAAG,EACHvH,EAAG,EACH+wB,MAAOo9E,EACPF,kBAAkB,EAClBC,eAAgB,KAChBpjF,SAAU9kB,EAAI4d,KACd8G,QAAS,IAIX,OAFA/I,EAAO6D,OACP7D,EAAO9a,SACA8a,GAGC,YAAAmsF,qBAAV,SAA+B7xG,EAAOuJ,GAAtC,WACQmc,EAASpkB,KAAKooB,QAAQ1pB,GACtBmyG,EAAgB,GAChBC,EAAe1sF,EAAOlnB,IAAI,SAC5B6zG,GAAY,EAChBD,EAAarmG,GAAG,SAAS,SAACqa,GACxB,IAAM7b,EAAO,EAAK+mG,WAAWtxG,GAAOuK,KAC9BU,EAAOmb,EAAGlkB,OAAO1D,IAAI,kBAAkByM,KACzCA,EAAKqpE,YACW,IAAd+9B,IACF,EAAKC,UAAUtyG,GACfqyG,GAAY,GAEd,EAAAE,KAAKJ,EAAelnG,EAAK/M,MACzBqM,EAAKgzB,OAAOtyB,EAAKrM,OAAO,SAACkF,GACvB,OAAQ,EAAA6H,SAASwmG,EAAeruG,MAElCyG,EAAKK,SACL8a,EAAOi3D,aAAa1xE,EAAM,aAAa,KAEvCya,EAAOi3D,aAAa1xE,EAAM,aAAa,GACvCknG,EAAcvtG,KAAKqG,EAAK/M,MACpBi0G,EAAcjyG,SAAW,EAAKwpB,QAAQ1pB,GAAOxB,IAAI,SAAS0B,QAE5D,EAAKsyG,UAAUxyG,GACfqyG,GAAY,IAEZ9nG,EAAKgzB,OAAOh0B,GAAO,SAACzF,GAClB,OAAQ,EAAA6H,SAASwmG,EAAeruG,MAElCyG,EAAKK,WAGT,EAAKzC,OAAOY,WAIN,YAAA2nG,sBAAV,WACQ,MAA4BpvG,KAAK4lB,QAA/BqpF,EAAe,kBACjBkC,EADuB,OACP,GAChBzwF,EAAS,GAOf,OANA,EAAAlX,KAAK2nG,GAAU,SAACx0G,GACd,IAAMuG,EAAIvG,EAAEsyG,GACP,EAAA5kG,SAASqW,EAAQxd,IACpBwd,EAAOpd,KAAKJ,MAGTwd,GAEX,EA5UA,CAAsG,W,YA8UtG,EAAA8tE,iBAAiB,aAAc4iB,I,8ElYxZ/B,iBAiGE,WAAY,EAAM,GA9Dd,KAAJ,SAAmB,EAKf,KAAJ,OAAsB,KAKlB,KAAJ,cAA6B,KAKzB,KAAJ,eAA8B,KAK1B,KAAJ,eAAyB,KAKzB,uBAA4B,EAKxB,KAAJ,oBAA8B,EAK9B,WAAgB,KAKZ,KAAJ,UAAoB,KAKpB,aAAkB,KAelB,qBAAyB,GAGvB,KAAK,KAAO,EACZ,KAAK,KAAO,EACZ,KAAK,cAAgB,EACrB,KAAK,UAAY,EAAM,UA4B3B,OAtBE,sCACE,KAAK,kBAAmB,EACpB,KAAK,cAAc,gBACrB,KAAK,cAAc,kBAOvB,uCACE,KAAK,oBAAqB,GAG5B,gCAEE,MAAO,gBADM,KAAK,KACS,MAG7B,8BAEA,iCACF,EAjIA,GAmIA,UAAe,G,8EmYrIf,aACI,EAAJ,OACI,EAAJ,KAEA,SAASC,EAAal3E,GAGlB,IAFA,IAAIm3E,EAAQ,GACR3nD,EAAQxvB,EAAOv7B,OACb,EAAI,EAAG,EAAI,EAAQ,EAAG,IAAK,CAC7B,IAAE,EAAQ,EAAO,GACf,EAAO,EAAO,EAAI,GACpB0yG,EAAE,KAAK,CACHlzE,KAAA,CACIp0B,EAAL,EAAM,GACDvH,EAAL,EAAM,IAEL47B,GAAF,CACMr0B,EAAL,EAAK,GACAvH,EAAL,EAAK,MAIZ,GAAE,EAAM,OAAS,EAAG,CAChB,IAAE,EAAQ,EAAO,GACf,EAAO,EAAO,EAAQ,GACxB6uG,EAAE,KAAK,CACHlzE,KAAA,CACIp0B,EAAL,EAAK,GACAvH,EAAL,EAAK,IAEJ47B,GAAF,CACMr0B,EAAL,EAAM,GACDvH,EAAL,EAAM,MAIb,OAAK,EAqBT,SAAS,EAAQ,GACf,IAAM,EAAO,EAAO,KAAI,YAAK,eACvB,EAAO,EAAO,KAAI,YAAK,eAC7B,MAAO,CACL,KAAM,KAAK,IAAI,MAAM,KAAM,GAC3B,KAAM,KAAK,IAAI,MAAM,KAAM,GAC3B,KAAM,KAAK,IAAI,MAAM,KAAM,GACvB,KAAE,KAAK,IAAI,MAAM,KAAM,IAQ/B,mBAA4C,EAAS,GAEjD,GAAE,EAAQ,OAAS,GAAK,EAAQ,OAAS,EACrC,OAAG,EAGP,IAVmB,EAAW,EAU1B,EAAQ,EAAQ,GAChB,EAAQ,EAAQ,GAEpB,GAbmB,EAaF,GAba,EAaN,GAZZ,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,KAanG,OAAO,EAGP,IAAE,GAAO,EAQT,GANA,EAAF,KAAK,GAAS,YACR,aAAiB,EAAS,EAAM,GAAI,EAAM,IAE5C,OADA,GAAO,GACA,KAGP,EACF,OAAO,EAST,GANE,EAAF,KAAK,GAAS,YACR,aAAiB,EAAS,EAAM,GAAI,EAAM,IAE5C,OADM,GAAC,GACA,KAGP,EACF,OAAO,EAGT,IAAM,EAAS,EAAa,GACtB,EAAS,EAAa,GACxB,GAAc,EAOlB,OANA,OAAK,GAAQ,YACX,GAxEJ,SAA8B,EAAO,GACjC,IAAE,GAAc,EAOlB,OANE,EAAF,KAAK,GAAO,YACN,aAAiB,EAAE,KAAM,EAAE,GAAI,EAAK,KAAM,EAAK,IAEjD,OADM,GAAQ,GACP,KAGJ,EAgED,CAAqB,EAAQ,GAE/B,OADA,GAAc,GACP,KAGJ,I,2GhWnHT,aASA,+BAAoC,EAAe,EAAmB,GAClE,IAAIygB,EAAQ,IAAIquF,EAAA,QAAW,EAAW,GACtCruF,EAAI,OAAS,EACbA,EAAI,gBAAgB,KAAK,GACzB5S,EAAI,eAAe,EAAW,GAG9B,IAFA,IAAE,EAAS,EAAM,YAEZ,GAED0C,EAAG,eAAe,EAAW,GAC7BkQ,EAAE,gBAAgB,KAAK,GACvBlQ,EAAK,EAAO,c,6BTrBpB,2iBACA,IAEa,EAFD,EAAQ,KAEO,S,8ExCF3B,2BAAgC,EAAY,GAC1C,IAAM,EAAQ,EAAI,QAAQ,IACX,IAAX,GACF,EAAI,OAAO,EAAO,IAIT,YAA8B,oBAAX,aAAqD,IAApB,OAAO,SACxE,YAAS,kBACT,YAAS,uBACT,YAAS,qBACT,YAAS,qBACT,YAAS,oBACT,YAAS,gBACT,YAAS,iBACT,YAAS,uBAGTnX,EAAQ,SAAR,SAAyB,EAAW,GAElC,GAAI,EAAU,WACZ,OAAO,EAIT,IAFA,IAAI,EAAS,EAAM,YACf,GAAW,EACR,GAAQ,CACb,GAAI,IAAW,EAAW,CACxB,GAAW,EACX,MAEF,EAAS,EAAO,YAElB,OAAO,GAGTA,EAAQ,eAAR,SAA+B,GAE7B,OAAO,EAAQ,IAAI,SAAW,EAAQ,IAAI,U,8EkZrC5C,IAAI,EAAe,KACnB,iCACE,IAAK,EAAc,CACjB,IAAM,EAAS,SAAS,cAAc,UACtC,EAAO,MAAQ,EACX,EAAG,OAAS,EACZ,EAAW,EAAO,WAAW,MAEjC,OAAK,I,8ECTT,YACA,QACI,EAAJ,OAIA,SAAS21G,EAAYv4E,EAAY,EAAY,EAAY,GACrD,IAAIm0D,EAAO,EAAI7vF,EACf,OAAK,EAAO,EAAO,EAAK,EAAI,EAAI,EAAO,EAAK,EAAI,EAAI,EAIxD,SAAS,EAAQ,EAAY,EAAY,GACrC,IAAI,EAAI,EAAK,EAAK,EAAI,EACtB,GAAE,gBAAc,EAAG,GACnB,MAAO,CAAC,IAER,IAAI2B,GAAO,EAAK,GAAM,EACtB,OAAE,GAAO,GAAK,GAAO,EACd,CAAC,GAEH,GAGT,SAAS,EAAa,EAAY,EAAY,EAAY,GACxD,OAAO,GAAK,EAAI,IAAM,EAAK,GAAM,EAAI,GAAK,EAAK,GAIjD,SAAS,EAAgB,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GAE7F,IAAI,EAAK,EAAY,EAAI,EAAI,EAAI3B,GAC7B,EAAK,EAAY,EAAI,EAAI,EAAI,GAG7B,EAAgB,UAAK,QAAQ,EAAI,EAAI,EAAI,EAAI,GAE7C,EAAgB,UAAK,QAAQ,EAAI,EAAI,EAAI,EAAI,GACnD,MAAO,CACL,CAAC,EAAI,EAAI,EAAc,EAAG,EAAc,EAAG,EAAI,GAC/C,CAAC,EAAI,EAAI,EAAc,EAAG,EAAc,EAAG,EAAI,IAyBnD,UAAe,CACX,IAAF,SAAI,EAAY,EAAYk0E,EAAY,EAAY,EAAY,GAC1D,IAAE,EAAW,EAAQ,EAAI,EAAI,GAAI,GAC/B,EAAW,EAAQ,EAAI,EAAI,GAAI,GAE/B,EAAO,CAAC,EAAI,GACZ,EAAO,CAAC,EAAI,GAOd,YANa,IAAb,GACF,EAAK,KAAK,EAAY,EAAI,EAAI,EAAI,SAEnB,IAAb,GACF,EAAK,KAAK,EAAY,EAAI,EAAI,EAAI,IAE7B,iBAAe,EAAM,IAE5B,OAAF,SAAO,EAAY,EAAY,EAAY,EAAY,EAAY,GAC7D,OApCR,SAAS,EACP,EACA,EACA,EACA,EACA,EACA,EACA,GAEE,GAAqB,IAAnB,EACE,OAAI,WAAS,EAAI,EAAI,EAAI,GAAM,WAAS,EAAI,EAAI,EAAI,GAAM,WAAS,EAAI,EAAI,EAAI,IAAO,EAE1F,IAAI,EAAa,EAAgB,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,IACrD,EAAO,EAAW,GAClB,EAAQ,EAAW,GAGvB,OAFA,EAAG,KAAK,EAAiB,GACzB,EAAI,KAAK,EAAiB,GACrB,EAAgB,MAAM,KAAM,GAAQ,EAAgB,MAAM,KAAM,GAmB9D,CAAgB,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,IAE/C,aAAF,SAAa,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GAC3F,OAAG,eAAa,CAAC,EAAI,EAAI,GAAK,CAAC,EAAIC,EAAI,GAAK,EAAI,EAAI,IAExD,cAAF,SAAc,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GAC5F,IAAE,EAAQ,KAAK,aAAa,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,GACxD,OAAG,WAAS,EAAM,EAAG,EAAM,EAAG,EAAI,IAEtC,gBAAe,EACf,QAAF,SAAQ,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GAC9E,MAAO,CACL,EAAG,EAAY,EAAI,EAAI,EAAI,GAC3B,EAAG,EAAY,EAAI,EAAI,EAAI,KAG/B,gBAAO,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GAC7E,OAAO,EAAgB,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,IAEjD,sBAAa,EAAY,EAAY,EAAY,EAAY,EAAY,EAAY,GACnF,IAAM,EAAK,EAAa,EAAI,EAAI,EAAI,GAC9B,EAAK,EAAa,EAAI,EAAI,EAAI,GAC9B,EAAQ,KAAK,MAAM,EAAI,GAC7B,OAAO,QAAM,M,8ECxGjB,aACA,SACI,EAAJ,OAGA,SAAS,EAAW,EAAO,GACzB,MAAO,CAAE,EAAO,IAAM,EAAO,GAAK,EAAM,IAAK,EAAO,IAAM,EAAO,GAAK,EAAM,KAG9E,mBAAoC,GAQhC,IANA,IAAI+/B,EAAW,GACb,EAAe,KACf,EAAa,KACb,EAAiB,KACjB,EAA0B,EACxB9nD,GANJn6B,EAAK,UAAU,IAME5wB,OACV,EAAI,EAAG,EAAI,EAAO,IAAK,CAC1B,IAAE,EAAS,EAAK,GAChB8yG,EAAS,EAAK,EAAI,GAClB,IAAE,EAAU,EAAO,GAEjB,EAAU,CACRxqC,QAAC,EACDn+B,SAAI,EACJiF,SACA2jE,aAAQ,KACRC,WAAM,MAEV,OAAI,GACA,IAAD,IACKC,EAAS,CAAE,EAAO,GAAI,EAAO,IAC7BC,EAAkB,EAClB,MACJ,IAAD,IACK,IAAF,EAAY,UAAa,EAAc,GACrCC,EAAD,UAAgB,EAKvB,GAAY,MAAZ,EAEI11B,EAAS,EAETq1B,EAAO,EAAK,EAA0B,OACvC,CACL,IAAM,EAAM,EAAO,OACb,EAAS,CAAE,EAAO,EAAM,GAAI,EAAO,EAAM,IAE7C,GAAgC,MAAlB,EAAW,KAErB,EAAO,EAAK,GACd,EAAS,KAEH,EAAC,GAAyB,SAAW,IAG7C,EAAG,aAAmB,EAGxB,EAAS,IACT,cAAY,EAAc,EAAS,GAAyB,gBAE5D,EAAS,GAAyB,SAAW,EAAQ,UAEnD,IAAE,EAAY,EAAa,CAAE,EAAW,EAAW,OAAS,GAAI,EAAW,EAAW,OAAS,IAAO,KACtG,EAAG,UAAgB,EAEf,iBACJ,IAAE,IAAK,IAAK,KAAM,SAAS,GACvBK,EAAE,aAAe,CAAE,EAAS,GAAK,EAAa,GAAI,EAAS,GAAK,EAAa,IACnF,EAAQ,WAAa,CAAE,EAAa,GAAK,EAAS,GAAI,EAAa,GAAK,EAAS,SAC5E,GAAgB,MAAZ,EAAiB,CAEpB,MAAK,CAAE,EAAO,GAAI,EAAO,IAEzBA,EAAE,aAAe,CAAE,EAAS,GAAK,EAAG,GAAI,EAAS,GAAK,EAAG,IACzDA,EAAE,WAAa,CAAE,EAAa,GAAK,EAAG,GAAI,EAAa,GAAK,EAAG,SAChE,GAAgB,MAAZ,EAAiB,CAEpB,EAAK,GADL,EAAa,EAAS,EAAI,IACC,aAAc,GACpB,MAAvB,EAAW,SACb,EAAQ,QAAU,IACVA,EAAA,aAAe,CAAE,EAAS,GAAK,EAAG,GAAI,EAAS,GAAK,EAAG,IACvDA,EAAA,WAAa,CAAE,EAAa,GAAK,EAAG,GAAI,EAAa,GAAK,EAAG,MAErE,EAAQ,QAAU,KAClB,EAAQ,aAAe,CAAE,EAAS,GAAK,EAAa,GAAI,EAAS,GAAK,EAAa,IAC3EA,EAAA,WAAa,CAAE,EAAa,GAAK,EAAS,GAAI,EAAa,GAAK,EAAS,UAE9E,GAAgB,MAAZ,EAAiB,CAE1B,IAAM,EAAM,CAAE,EAAO,GAAI,EAAO,IAC1B,EAAM,CAAE,EAAO,GAAI,EAAO,IAC1B,EAAE,aAAe,CAAE,EAAS,GAAK,EAAI,GAAI,EAAS,GAAK,EAAI,IAC3D,EAAE,WAAa,CAAE,EAAa,GAAK,EAAI,GAAI,EAAa,GAAK,EAAI,SAClE,GAAgB,MAAZ,EAAiB,CACpB,MACA,EAAM,GADN,EAAa,EAAS,EAAI,IACE,aAAc,GAC1C,EAAM,CAAE,EAAO,GAAI,EAAO,IACL,MAAvB,EAAW,SACb,EAAQ,QAAU,IAClB,EAAQ,aAAe,CAAE,EAAS,GAAK,EAAI,GAAI,EAAS,GAAK,EAAI,IACjE,EAAQ,WAAa,CAAE,EAAa,GAAK,EAAI,GAAI,EAAa,GAAK,EAAI,MAE/DA,EAAA,QAAU,KACVA,EAAA,aAAe,CAAE,EAAS,GAAK,EAAI,GAAI,EAAS,GAAK,EAAI,IACzDA,EAAA,WAAa,CAAE,EAAa,GAAK,EAAI,GAAI,EAAa,GAAK,EAAI,UAEpE,GAAgB,MAAZ,EAAiB,CACpB,IAAF,EAAI,KACF,kBACJ,wBACA,wBACA,wBACA,wBACA,+BACA,gCACA,8BAEgB,IAAd,IACF,IAAM,GAEF,MAAM,EAAK,KAAK,IAAI,EAAa,GAAK,EACtC,EAAM,EAAK,KAAK,IAAI,EAAa,GAAK,EACtC,EAAE,aAAe,CAAE,EAAM,EAAe,GAAI,EAAM,EAAe,IACjE,MAAM,EAAK,KAAK,IAAI,EAAa,EAAW,GAAK,EACjD,EAAM,EAAK,KAAK,IAAI,EAAa,EAAW,GAAK,EACvD,EAAQ,WAAa,CAAE,EAAS,GAAK,EAAK,EAAS,GAAK,GAE1D,EAAS,KAAK,GAEhB,OAAO,I,guB7QrII,EAAgB,CAC3B,KAAM,OACN,OAAQ,SACR,KAAM,OACN,KAAM,OACN,OAAQ,OACR,KAAM,OACN,SAAU,WACV,QAAS,UACT,MAAO,QACP,QAAS,UACT,IAAK,iBAGM,EAAe,CAC1B,QAAS,UACT,UAAW,OACX,KAAM,OACN,YAAa,eACb,YAAa,SACb,cAAe,iBACf,OAAQ,SACR,EAAG,IACH,EAAG,IACH,EAAG,IACH,GAAI,KACJ,GAAI,KACJ,MAAO,QACP,OAAQ,SACR,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,QAAS,iBACT,SAAU,kBACV,UAAW,eACX,SAAU,mBACV,eAAgB,oBAChB,WAAY,oBACZ,KAAM,OACN,SAAU,YACV,UAAW,aACX,YAAa,eACb,WAAY,cACZ,WAAY,cACZ,WAAY,eACZ,SAAU,aACV,KAAM,IACN,MAAO,QACP,GAAI,KACJ,MAAO,QACP,oBAAqB,uBE3CjB,SAAU,EAAiB,GAC/B,OAAO,SAAS,gBAAgB,6BAA8B,GAQ1D,SAAU,EAAU,GACtB,IAAI,EAAO,EAAc,EAAM,MAC3B,EAAS,EAAM,YACnB,IAAG,EACH,MAAM,IAAI,MAAM,YAAY,EAAM,KAAI,4BAEtC,IAAI,EAAU,EAAiB,GAO/B,GANE,EAAM,IAAI,QACZ,EAAQ,GAAK,EAAM,IAAI,OAEvB,EAAI,IAAI,KAAM,GACd,EAAI,IAAI,QAAS,IAEf,EAAQ,CACN,MAAa,EAAO,IAAI,MACxB,IAII97B,EAAQ,EAAkB,YAChC,EAAO,IAAI,KAAM,IAJX,EAAK,YAAY,GAQ3B,OAAO,EAQH,SAAU,EAAQ,EAAmB,GACvC,IAAI,EAAK,EAAQ,IAAI,MACjB,EAAY,kBAAQ,EAAG,UAAU,KAAK,GAEtC,EAAW,SAAS,yBACxB,EAAQ,SAAQ,SAAC,GACjB,EAAS,YAAY,MAEvB,EAAG,YAAY,G4QnCX,SAAU,EAAa,GACnB,sBACN,GAAE,EAAQ,CAGN,IAFA,IAAE,EAAK,EAAM,IAAI,GACjB,EAAiB,GACZ,EAAI,EAAG,EAAI,EAAG,GAAK,EAC1B,EAAU,KAAQ,EAAO,GAAE,IAAI,EAAO,EAAI,KAGV,KAD9B,EAAQ,EAAU,KAAK,MACb,QAAQ,OACpB,EAAG,aAAa,YAAa,UAAU,EAAS,KAE1C3xB,QAAE,KAAK,kBAAmB,IAKhC,SAAU,EAAQ,EAAO,GAC3B,IAAI,EAAO,EAAM,UACb,EAAK,EAAM,IAAI,MACnB,GAAG,GAEE,GAAI0tD,IAAS7mG,EAAG8mG,aAAa,aAAc,CAC5CC,EAAM,GACNF,EAAC,WAAW,GACZ,IAAE,EAAK,EAAQ,QAAQ,GACvB7mG,EAAD,aAAa,YAAa,QAAQ,EAAE,WALvC,EAAG,gBAAgB,axWrCjB,SAAU,EAAa,EAAe,GAC1C,EAAS,SAAQ,SAAC,GAChB,EAAM,KAAK,MAST,SAAU,EAAe,EAAmB,GAE9C,IAAI,EAAS,EAAQ,IAAI,UAEzB,GAAE,GAAU,EAAO,IAAI,YAAa,CAChC,IAAE,EAAU,EAAO,IAAI,WACrB,EAAS,EAAQ,YACjB,EAAiB,EAAS,EAAO,cAAgB,CAAC,GAClD,EAAK,EAAQ,IAAI,MACnB,GAAe,WAAf,EAGI,GAFc,EAAQ,IAAI,eAEf,CACf,IAAM,EAAa,GAAM,EAAG,WACtB,EAAS,GAAc,EAAW,WACpC,GAAc,GAChB,EAAO,YAAY,QAEZ,GAAM,EAAG,YAClB,EAAG,WAAW,YAAY,QAEvB,GAAmB,SAAf,EACHA,EAAH,aAAa,aAAc,gBACzB,GAAmB,SAAf,EACT,EAAG,aAAa,aAAc,eACzB,GAAmB,WAAf,G4FuBT,SAAiB,EAAqB,GACxC,IAAI,EAAa,EAAQ,WACrB,EAAW,MAAM,KAAK,EAAW,YAAY,QAEjD,SAAC,GAAe,OAAkB,IAAlB,EAAK,UAAL,SAAuB,EAAK,SAAS,iBAGjD,EAAS,EAAS,GAClB,EAAe,EAAS,QAAQ,GAEpC,GAAE,GAEE,KAAe,EACX,EAAK,aAAa,EAAS,QAC5B,GAAI,EAAe,EAAa,CAG/B,MAAa,EAAS,EAAc,GAEtC,EACM8qE,EAAG,aAAa,EAAS,GAGjC,EAAW,YAAY,SAI3B,EAAW,YAAY,G5FjDrB,CAAO,EAAI,EAAe,QAAQ,SAC7B,GAAmB,SAAf,EAAuB,CAC1B,MAAW,EAAQ,IAAI,YACzB,GAAY,EAAS,QACfk8B,EAAA,GAAS,SAAC,EAAa,GACnB,OAAH,EAAS,QAAQ,GAAK,EAAS,QAAQ,GAAK,EAAI,SAGnC,UAAf,EAEL,IACF,EAAG,UAAY,IAEO,WAAf,EACT,EAAa,GACW,SAAf,EACH,EAAE,EAAS,GACO,SAAf,GAEe,QAAf,GACT,EAAQ,KAAK,IrHpDnB,IAuFe,EAvFf,YAAE,SAAF,I,+CAqFA,OArFoB,yBAEhB,EAAF,mCACE,OAAO,GAGPzjB,EAAMzwF,UAAUi0G,UAAY,WACxB,IAAE,EAAU,EAAiB,KAC7BlyG,KAAC,IAAI,KAAM,GACX,IAAE,EAAS,KAAK,YAChB,KAAQ,CACJ,IAAF,EAAa,EAAO,IAAI,MACxB,IAIM,EAAM,EAAkB,YACxBgT,EAAD,IAAI,KAAM,IAJTijE,EAAG,YAAY,GAQvB,OAAG,GAIPyY,EAAMzwF,UAAUm0G,iBAAmB,SAApB,GACX3iF,EAAOxxB,UAAL,iBAAgB,UAAC,GACnB,IAAE,EAAS,KAAK,IAAI,UAEpB,MAAU,EAAO,IAAI,YAAa,CAC9B,MAAU,EAAO,IAAI,WACrB+B,KAAD,WAAW,EAAS,KAQ3B,EAAF,kCAAe,GACb,EAAe,KAAM,IAGrB,EAAF,kCACE,OAAO,GAGP0uF,EAAMzwF,UAAU,aAAlB,WACM,OAAG,GAGP,EAAF,wBAAK,GACC,IAAE,EAAW,KAAK,cAChB,EAAK,KAAK,IAAI,MAChB,KAAK,IAAI,aACP,GACF,EAAG,WAAW,YAAY,IAGvB,GACH,KAAK,YAED,EAAE,KAAM,GACR,KAAD,WAAW,GACZ,EAAS,QACX,EAAa,EAAS,KAU1B,EAAF,8BAAW,EAAe,GACpB,IAAE,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAChB,OAAJ,OAAI,CAAC,GAAe,GAAO,SAAC,EAAO,GAC7B,EAAa,IACf,EAAG,aAAa,EAAa,GAAO,MAGxC,EAAa,OAEjB,EArFA,CAAoB,iB,QgY0OL,EAzOf,YAAE,SAAF,IAAI,IAAJ,0C,OACM,EAAJ,KAAe,MACX,EAAJ,SAAmB,EACf,EAAJ,WAAqB,E,EAoOvB,OAvOwB,yBAKpB,EAAF,qCACE,IAAM,EAAQ,YAAMo0G,gBAAe,WAE/B,OAAJ,yCACK,GAAK,CACR,UAAW,EACX,gBAAiB,EACjB,cAAe,EACf,YAAa,KAKf,EAAF,oCAAiB,GACX,EAAJ,UAAM,iBAAgB,UAAC,GACvB,IAAM,EAAS,KAAK,IAAI,UAEpB,MAAU,EAAO,IAAI,YAAa,CACpC,IAAM,EAAU,EAAO,IAAI,WAC3B,KAAK,KAAK,EAAS,KAIrB,EAAF,kCACE,OAAO,GAGP,EAAF,kCACE,OAAO,GAOP,EAAF,kCAAe,GACT,EAAW,KAAM,IAGrB,EAAF,mCACM,IAAE,EAAK,KAAK,IAAI,MAChB,EAAO,KAEP,KACI,EAAC,EAAG,cACL,CACC,MAAa,wBAAc,KAAK,IAAI,SACtC,IACF,EAAO,EAAW,OAGlB,KAAM,CACA,UAAG,MAAG,UAAO,WACf,EAAY,KAAK,kBACjB,EAAY,EAAY,EACxB,EAAO,EAAI,EACX,EAAO,EAAI,EAGX,MAAC,CACL,EAAG,EACH,EAAG,EACH,KAAI,EACJ,KAAI,EACJ,KAPW,EAAIhsG,EAAQ,EAQvB,KAPW,EAAI,EAAS,EAQxB,MAAO,EAAQ,EACf,OAAQ,EAAS,GAGjB,MAAG,CACL,EAAG,EACH,EAAG,EACH,KAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EACN,MAAO,EACP,OAAQ,IAIV,EAAF,4BACQ,kBAAE,SAAM,cACV,OAAI,GAAQ,GAAa,KAAK,gBAAkB,KAAK,SAGzD,EAAF,8BACQ,kBAAE,WAAQ,gBACZ,OAAI,GAAU,IAAgB,KAAK,WAGvC,EAAF,wBAAK,EAAS,GACR,IAAE,EAAK,KAAK,IAAI,MAChB,KAAK,IAAI,aACP,GACF,EAAG,WAAW,YAAY,IAGvB,GACH,EAAU,MAEZ,EAAQ,KAAM,GACd,KAAK,WAAW,EAAS,GACzB,KAAK,OAAO,EAAS,GACrB,KAAK,cAAc,EAAS,GAC5B,KAAK,UAAU,KAUjB,EAAF,8BAAW,EAAe,KAGxB,EAAF,iCAAc,EAAS,GACjB,IAAE,EAAQ,GAAe,KAAK,OAC1B,SAAM,cAAW,WAAQ,gBAAa,gBAAa,kBAAe,cACpE,EAAK,KAAK,IAAI,MAEhB,KAAK,UAEF,EAEM,SAAU,EACnB,KAAK,UAAU,EAAS,OAAQ,GACvB,cAAe,GAExB,KAAK,UAAU,EAAS,OAAQ,GALhC,KAAK,UAAU,EAAS,OAAQ,GAAQ,GAOtC,GACM,EAAL,aAAa,EAAY,YAAiB,IAI7C,KAAK,WAAa,EAAY,IAC3B,EAEM,WAAY,EACrB,KAAK,UAAU,EAAS,SAAU,GACzB,gBAAiB,GAE1B,KAAK,UAAU,EAAS,SAAU,GAL1B,KAAH,UAAU,EAAS,SAAU,GAAU,GAO1C,GACF,EAAG,aAAa,EAAY,cAAmB,GAE7C,GACF,EAAG,aAAa,EAAY,UAAe,KAK/C,EAAF,6BAAU,EAAS,EAAM,GACnB,IAAE,EAAK,KAAK,IAAI,MAChB,GAAC,EAMD,GADA,EAAI,EAAM,OACV,uBAAuB,KAAK,IAC1B,EAAK,EAAQ,KAAK,WAAY,MAEhC,EAAK,EAAQ,YAAY,IAE3B,EAAG,aAAa,EAAa,GAAO,QAAQ,EAAE,UACzC,GAAI,mBAAmB,KAAK,GAAQ,CACzC,IAAI,KAAK,EAAQ,KAAK,UAAW,MAE/B,EAAK,EAAQ,WAAW,IAE1B,EAAG,aAAa,EAAa,GAAO,QAAQ,EAAE,UAE9C,EAAG,aAAa,EAAa,GAAO,QAjB9B,EAAH,aAAa,EAAa,GAAO,SAqBtC,EAAF,0BAAO,EAAS,GACV,IAAE,EAAQ,KAAK,OACb,OAAE,kBAAe,kBAAe,eAAY,iBAC9C,GAAiB,GAAiB,GAAc,I6FxMlD,SAAoB,EAAO,GAC7B,IAAI,EAAK,EAAM,IAAI,GACf,EAAQ,EAAM,OACd,EAAM,CACN,KAAM,cACN,KAAM,cACN,KAAE,EAAM,WACZ,MAAO,EAAM,aAEb,GAAG,EAAI,IAAO,EAAI,IAAO,EAAI,MAAS,EAAI,MAErC,CACD,MAAK,EAAQ,KAAK,SAAU,GAC3B,IACGmqB,EAAD,EAAQ,UAAU,IAErBrlB,EAAD,aAAa,SAAU,QAAQ,EAAE,UANpC,EAAG,gBAAgB,U7F+LjB,CAAU,KAAM,IAIlB,EAAF,6BAAU,GACJ,IAAE,EAAQ,KAAK,QACX,cAEN,EAAa,OAIf,EAAF,6BAAU,EAAc,GACtB,OAAO,KAAK,cAAc,EAAM,IAGhC,EAAF,iCAAc,EAAc,GAC1B,IAAM,EAAK,KAAK,IAAI,MAEd,EADS,KAAKjO,IAAI,UACJ,IAAI,MAAM,wBACxB,EAAU,EAAO,EAAK,KACtB,EAAU,EAAO,EAAK,IACtB,EAAU,SAAS,iBAAiB,EAAS,GAC/C,aAAW,EAAQ,YAAY,KAUrC,uCACQ,iBAAE,cAAW,oBACnB,OAAI,KAAK,WACA,EAAY,EAEd,GAEX,EAvOA,CAAwB,iBC0BT,EA7Bf,YAAE,SAAF,IAAI,IAAJ,0C,OACE,OAAe,SACX,EAAJ,SAAmB,EACf,EAAJ,WAAqB,E,EAwBvB,OA3BqB,yBAKjB,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,EAAG,KAIL,EAAF,8BAAW,EAAS,GACd,IAAE,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAChB,OAAJ,OAAI,CAAC,GAAe,GAAO,SAAC,EAAO,GAEpB,MAAT,GAAyB,MAAT,EACViO,EAAL,aAAa,IAAI,EAAQ,GACnB,EAAa,IACtB,EAAG,aAAa,EAAa,GAAO,OAI5C,EA3BA,CAAqB,G6FiBN,EAjBf,YAAE,SAAF,IAAI,IAAJ,0C,OACE,OAAe,MACX,EAAJ,SAAmB,EACf,EAAJ,WAAqB,E,EAYrB,OAfgB,yBAKd,EAAF,8BAAW,EAAS,GACd,IAAE,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MACpB,eAAK,GAAe,GAAO,SAAC,EAAO,GAC7B,EAAa,IACf,EAAG,aAAa,EAAa,GAAO,MAGpC,EAAD,UAAY,EAAK,MAExB,EAfA,CAAkB,G5F8BH,EA9Bf,YAAE,SAAF,IAAI,IAAJ,0C,OACE,OAAe,UACX,EAAJ,SAAmB,EACf,EAAJ,WAAqB,E,EAyBvB,OA5BsB,yBAKlB,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,GAAI,EACJ,GAAI,KAIN,EAAF,8BAAW,EAAS,GACd,IAAE,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAChB,OAAJ,OAAI,CAAC,GAAe,GAAO,SAAC,EAAO,GAEpB,MAAT,GAAyB,MAAT,EAClB,EAAG,aAAa,IAAI,EAAQ,GACnB,EAAa,IACtB,EAAG,aAAa,EAAa,GAAO,OAI5C,EA5BA,CAAsB,GCuEP,EAvEf,YAAE,SAAF,IAAI,IAAJ,0C,OACE,OAAe,QACX,EAAJ,SAAmB,EACf,EAAJ,WAAqB,E,EAkEvB,OArEoB,yBAKhB,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,MAAO,EACP,OAAQ,KAIV,EAAF,8BAAW,EAAS,GAAhB,IAAJ,OACQ,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAChB,OAAJ,OAAI,CAAC,GAAe,GAAO,SAAC,EAAO,GACpB,QAAT,EACM,EAAH,UAAU,EAAM,KACZ,EAAa,IACtB,EAAG,aAAa,EAAa,GAAO,OAKxC,EAAF,2BAAQ,EAAc,GAChB,KAAC,MAAM,GAAQ,EACN,QAAT,GACF,KAAK,UAAU,IAIjB,EAAF,6BAAU,GACJ,IAAE,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAChB,sBAAS,GACL,EAAH,aAAa,OAAQ,QACnB,GAAI,aAAgB,OAAe,MACnC,EAAM,QACT,EAAG,aAAa,QAAS,EAAI,OACrB,KAAH,KAAK,QAAS,EAAI,QAEpB,EAAM,SACT,EAAG,aAAa,SAAU,EAAI,QAC9B,KAAK,KAAK,SAAU,EAAI,SAEpB,EAAH,aAAa,OAAQ,EAAI,UACvB,GAAI,aAAe,aAAe,mBAAS,EAAI,WAA4C,WAA/B,EAAI,SAAS,cAE9E,EAAG,aAAa,OAAQ,EAAI,kBACvB,GAAI,aAAe,UAAW,CAC7B,IAAAtE,EAAS,SAAS,cAAc,UAChCA,EAAC,aAAa,QAAS,GAAG,EAAI,OAC9BA,EAAC,aAAa,SAAU,GAAG,EAAI,QAC/B,EAAC,WAAW,MAAM,aAAa,EAAK,EAAG,GACxC,EAAM,QACD,EAAL,aAAa,QAAS,GAAG,EAAI,OAChC,KAAK,KAAK,QAAS,EAAI,QAEpB,EAAM,SACD,EAAL,aAAa,SAAU,GAAG,EAAI,QACjC,KAAK,KAAK,SAAU,EAAI,SAE1B,EAAG,aAAa,OAAQ,EAAO,eAGrC,EArEA,CAAoB,G,iBEyDL,EAzDf,uE,OACE,OAAe,OACf,WAAmB,EACf,EAAJ,WAAqB,E,EAoDvB,OAvDmB,yBAKf,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WAC/B,OAAO,OAAX,WAAW,CAAX,sBACK,GAAK,CACR,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,YAAY,EACZ,UAAU,KAIZ,EAAF,8BAAW,EAAS,GACd,IAAE,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAChB,OAAJ,OAAI,CAAC,GAAe,GAAO,SAAC,EAAO,GAC3B,GAAO,eAAT,GAAkC,aAAT,EACnB,GAAJ,EAAO,CACT,IAAM,EAAK,mBAAS,GAChB,EAAQ,SAAS,EAAO,EAAa,IACrC,EAAQ,gBAAgB,EAAO,EAAa,IAChD,EAAG,aAAa,EAAa,GAAO,QAAQ,EAAE,UAE9C,EAAG,gBAAgB,EAAa,SAEzB,EAAa,IACtB,EAAG,aAAa,EAAa,GAAO,OASxC,EAAF,oCACQ,kBAAE,OAAI,OAAI,OAAI,OACpB,OAAO,EAAA1C,EAAS,OAAO,EAAI,EAAI,EAAI,IAQrC,8BAAS,GACD,kBAAE,OAAI,OAAI,OAAI,OACpB,OAAO,EAAAA,EAAS,QAAQ,EAAI,EAAI,EAAI,EAAI,IAE5C,EAvDA,CAAmB,G0FTb,EAAU,CAEZmuG,OAAF,SAAO,EAAW,EAAW,GACvB,MAAG,CAAC,CAAC,IAAK,EAAG,GAAI,CAAC,KAAM,EAAG,GAAI,CAAC,IAAK,EAAG,EAAG,EAAG,EAAG,EAAO,EAAJ,EAAO,GAAI,CAAC,IAAK,EAAG,EAAG,EAAG,EAAG,EAAQ,GAAJ,EAAO,KAGhGC,OAAF,SAAO,EAAW,EAAW,GACvB,MAAG,CAAC,CAAC,IAAK,EAAI,EAAG,EAAI,GAAI,CAAC,IAAK,EAAI,EAAG,EAAI,GAAI,CAAC,IAAK,EAAI,EAAG,EAAI,GAAI,CAAC,IAAK,EAAI,EAAG,EAAI,GAAI,CAAC,OAG7FC,QAAF,SAAQ,EAAW,EAAW,GACxB,MAAG,CAAC,CAAC,IAAK,EAAI,EAAG,GAAI,CAAC,IAAK,EAAG,EAAI,GAAI,CAAC,IAAK,EAAI,EAAG,GAAI,CAAC,IAAK,EAAG,EAAI,GAAI,CAAC,OAG7EC,SAAF,SAAS,EAAW,EAAW,GACzB,IAAE,EAAQ,EAAI,KAAK,IAAK,EAAI,EAAK,KAAK,IACtC,MAAG,CAAC,CAAC,IAAK,EAAI,EAAG,EAAI,GAAQ,CAAC,IAAK,EAAG,EAAI,GAAQ,CAAC,IAAK,EAAI,EAAG,EAAI,GAAQ,CAAC,OAGhFC,aAAF,SAAa,EAAW,EAAW,GAC7B,IAAE,EAAQ,EAAI,KAAK,IAAK,EAAI,EAAK,KAAK,IACtC,MAAG,CAAC,CAAC,IAAK,EAAI,EAAG,EAAI,GAAQ,CAAC,IAAK,EAAI,EAAG,EAAI,GAAQ,CAAC,IAAK,EAAG,EAAI,GAAQ,CAAC,QAMrE,GACX,IAAF,SAAI,GACE,OAAG,EAAQ,IAGf,SAAF,SAAS,EAAc,GACrB,EAAQ,GAAQ,GAGhB,OAAF,SAAO,UACE,EAAQ,IAGjB,OAAM,WACJ,OAAO,ICcI,EA9Cf,YAAE,SAAF,IAAI,IAAJ,0C,OACE,OAAe,SACX,EAAJ,SAAmB,EACf,EAAJ,WAAqB,E,EAyCrB,OA5CmB,yBAQjBhuB,EAAOzmF,UAAU00G,WAAa,SAArB,GACE,KAAK,IAAI,MACjB,aAAa,IAAK,KAAK,oBAG1B,EAAF,qCACM,IAAE,EAAI,KAAK,WACX,yBAAQ,GACH,EACJ,KAAI,SAAC,GACJ,OAAO,EAAK,KAAK,QAElB,KAAK,IAEH,GAGP,EAAF,8BACM,IAKA,EALE,EAAQ,KAAK,OACX,MAAG,MAELx1G,EAAI,EAAM,GAAK,EAAM,OACrB,EAAS,EAAM,QAAU,SAQ3B,OALF,EADE,qBAAW,GACJ,EAEA,EAAe,IAAI,IAOvB,EAAO,EAAG,EAAG,IAHlB,QAAQ,KAAQ,EAAM,yBACf,OAlCG,iBAAiB,EAsCjC,EA5CA,CAAqB,GtF4EN,EA5Ef,YAAE,SAAF,IAAI,IAAJ,0C,OACM,EAAJ,KAAe,OACX,EAAJ,SAAmB,EACnB,aAAqB,E,EAuEvB,OA1EmB,yBAKf,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,YAAY,EACZ,UAAU,KAIZ,EAAF,8BAAW,EAAS,GAAhB,IAAJ,OACQ,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAChB,OAAJ,OAAI,CAAC,GAAe,GAAO,SAAC,EAAO,GAC3B,GAAO,SAAT,GAAmB,kBAAQ,GACrB,EAAL,aAAa,IAAK,EAAK,YAAY,SACjC,GAAa,eAAT,GAAkC,aAAT,EAC1B,GAAJ,EAAO,CACT,IAAM,EAAK,mBAAS,GAChB,EAAQ,SAAS,EAAO,EAAa,IACrC,EAAQ,gBAAgB,EAAO,EAAa,IAChD,EAAG,aAAa,EAAa,GAAO,QAAQ,EAAE,UAE9C,EAAG,gBAAgB,EAAa,SAEzB,EAAa,IACtB,EAAG,aAAa,EAAa,GAAO,OAKxC,EAAF,+BAAY,GACN,IAAE,EAAW,EACd,KAAI,SAAC,GACJ,OAAO,EAAK,KAAK,QAElB,KAAK,IACJ,OAAC,EAAS,QAAQ,OACb,GAEF,GASP,EAAF,oCACE,IAAM,EAAK,KAAK,IAAI,MACpB,OAAO,EAAK,EAAG,iBAAmB,MAQlC,EAAF,4BAAS,GACH,IAAE,EAAK,KAAK,IAAI,MACd,EAAc,KAAK,iBACnB,EAAQ,EAAK,EAAG,iBAAiB,EAAQ,GAAe,KAC1D,OAAG,EACH,CACE,EAAG,EAAM,EACT,EAAG,EAAM,GAEX,MAER,EA1EA,CAAmB,GEiBJ,EAlBf,uE,OACE,OAAe,UACf,WAAmB,EACf,EAAJ,WAAqB,E,EAarB,OAhBoB,yBAKlB,EAAF,8BAAW,EAAS,GACd,IAAE,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MACpB,eAAK,GAAe,GAAO,SAAC,EAAO,GACpB,WAAT,GAAqB,kBAAQ,IAAU,EAAM,QAAU,EACzD,EAAG,aAAa,SAAU,EAAM,KAAI,SAAC,GAAU,OAAG,EAAM,GAAE,IAAI,EAAf,MAA2B,KAAK,MACtE,EAAa,IACtB,EAAG,aAAa,EAAa,GAAO,OAI5C,EAhBA,CAAsB,G,iBCyIP,EAtIf,YAAE,SAAF,IAAI,IAAJ,0C,OACM,EAAJ,KAAe,WACX,EAAJ,SAAmB,EACnB,aAAqB,E,EAiIvB,OApIuB,yBAKnB,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,YAAY,EACZ,UAAU,KAKZy1G,EAAS30G,UAAU,aAArB,SAAa,EAAc,EAAY,GACjC,EAAJ,UAAM,aAAY,UAAC,EAAM,EAAO,IACE,IAA9B,CAAC,UAAU,QAAQ,IACrB,KAAK,eAIP,EAAF,iCACM,KAAC,IAAI,cAAe,MACpB,KAAC,IAAI,SAAU,OAGnB,EAAF,8BAAW,EAAS,GACd,IAAE,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MACpB,eAAK,GAAe,GAAO,SAAC,EAAO,GACpB,WAAT,GAAqB,kBAAQ,IAAU,EAAM,QAAU,EACzD,EAAG,aAAa,SAAU,EAAM,KAAI,SAAC,GAAU,OAAG,EAAM,GAAE,IAAI,EAAf,MAA2B,KAAK,MACtE,EAAa,IACtB,EAAG,aAAa,EAAa,GAAO,OASxC,EAAF,oCACU,yBAEF,EAAc,KAAK,IAAI,eAC7B,OAAK,gBAAM,IAGX,KAAK,IAAI,cAAe,IAAa,OAAO,IACrC,KAAK,IAAI,gBAHP,GAWT,EAAF,4BAAS,GACC,IAQJ,EACA,EATI,qBAEJ,EAAS,KAAK,IAAI,UAclB,OAbC,IACG,KAAD,aACL,EAAS,KAAK,IAAI,WAKhB,OAAJ,OAAI,CAAC,GAAQ,SAAC,EAAG,GACX,GAAS,EAAE,IAAM,GAAS,EAAE,KAC9B,GAAQ,EAAQ,EAAE,KAAO,EAAE,GAAK,EAAE,IAClC,EAAQ,MAGL,IAAS,QAAQ,EAAO,GAAO,GAAI,EAAO,GAAO,GAAI,EAAO,EAAQ,GAAG,GAAI,EAAO,EAAQ,GAAG,GAAI,IAGxG,EAAF,gCACU,yBACJ,GAAC,GAA4B,IAAlB,EAAO,OAAlB,CAIA,IAAE,EAAc,KAAK,iBACrB,QAAe,GAAf,CAIA,IAEA,EACA,EAHA,EAAa,EACX,EAAS,GAIf,eAAK,GAAQ,SAAC,EAAG,GACX,EAAO,EAAI,MACb,EAAW,IACF,GAAK,EAAa,EAC3B,EAAW,IAAS,OAAO,EAAE,GAAI,EAAE,GAAI,EAAO,EAAI,GAAG,GAAI,EAAO,EAAI,GAAG,IACvE,GAAc,EACd,EAAS,GAAK,EAAa,EAC3B,EAAO,KAAK,OAGhB,KAAK,IAAI,SAAU,MAOnB,EAAF,qCACU,yBACF,EAAS,GAGf,OAFA,EAAO,KAAK,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,KACrC,EAAO,KAAK,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,KAC9B,GAOT,qCACU,yBACF,EAAI,EAAO,OAAS,EACpB,EAAS,GAGf,OAFA,EAAO,KAAK,CAAC,EAAO,EAAI,GAAG,GAAI,EAAO,EAAI,GAAG,KAC7C,EAAO,KAAK,CAAC,EAAO,GAAG,GAAI,EAAO,GAAG,KAC9B,GAEX,EApIA,CAAuB,GCDvB,IAgFe,EAhFf,YAAE,SAAF,IAAI,IAAJ,0C,OACE,OAAe,OACX,EAAJ,SAAmB,EACf,EAAJ,WAAqB,E,EA2EvB,OA9EmB,yBAKf,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,MAAO,EACP,OAAQ,EACR,OAAQ,KAIV,EAAF,8BAAW,EAAS,GAAhB,IAAJ,OACQ,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAEhB,GAAY,EAEV,EAAmB,CAAC,IAAK,IAAK,QAAS,SAAU,UACnD,OAAJ,OAAI,CAAC,GAAe,GAAO,SAAC,EAAO,IACO,IAApC,EAAiB,QAAQ,IAAiB,GAGC,IAApC,EAAiB,QAAQ,IAAgB,EAAa,IAC/D,EAAG,aAAa,EAAa,GAAO,IAH5BkN,EAAL,aAAa,IAAK,EAAK,cAAc,IACxC,GAAY,OAOhB,EAAF,iCAAcknB,GACR,IAAE,EAAI,EAAM,EACV,EAAI,EAAM,EACV,EAAI,EAAM,MACV,EAAI,EAAM,OACV,EAAS,EAAM,OAEjB,IAAC,EACG,MAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,UAAU,EAAC,MAAM,EAAC,OAEzC,IAAE,EmFjDJ,SAAsB,GACxB,IAAE,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,EAoBP,OAnBE,kBAAQ,GACY,IAAlB,EAAO,OACT,EAAK,EAAK,EAAK,EAAK,EAAO,GACA,IAAlB,EAAO,QACV,EAAD,EAAK,EAAO,GACjB,EAAK,EAAK,EAAO,IACU,IAAlB,EAAO,QACVwgF,EAAD,EAAO,GACNv0C,EAAD,EAAK,EAAO,GACXw0C,EAAD,EAAO,KAEZ,EAAK,EAAO,GACN,EAAD,EAAO,GACN,EAAD,EAAO,GACN,EAAD,EAAO,IAGd,EAAK,EAAK,EAAK,EAAK,EAEf,CACL,GAAE,EACF,GAAE,EACE,GAAF,EACE,GAAF,GnFqBQ,CAAY,GAgCtB,OA/BI,kBAAQ,GACY,IAAlB,EAAO,OACT,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAO,GACR,IAAlB,EAAO,QACR31G,EAAN,GAAK,EAAE,GAAK,EAAO,GACbA,EAAN,GAAK,EAAE,GAAK,EAAO,IACM,IAAlB,EAAO,QAChB,EAAE,GAAK,EAAO,GACd,EAAE,GAAK,EAAE,GAAK,EAAO,GACbA,EAAN,GAAK,EAAO,KAENA,EAAN,GAAK,EAAO,GACNA,EAAN,GAAK,EAAO,GACd,EAAE,GAAK,EAAO,GACd,EAAE,GAAK,EAAO,IAGhB,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAEpB,CACR,CAAC,MAAK,EAAI,EAAE,IAAE,IAAI,GAClB,CAAC,MAAK,EAAI,EAAE,GAAK,EAAE,IAAE,MACrB,CAAC,KAAK,EAAE,GAAE,IAAI,EAAE,GAAE,UAAUA,EAAE,GAAE,IAAI,EAAE,IACtC,CAAC,QAAO,EAAI,EAAE,GAAK,EAAE,KACrB,CAAC,KAAK,EAAE,GAAE,IAAI,EAAE,GAAE,WAAW,EAAE,GAAE,IAAI,EAAE,IACvC,CAAC,MAAK,EAAE,GAAK,EAAE,GAAK,GAAC,MACrB,CAAC,KAAK,EAAE,GAAE,IAAI,EAAE,GAAE,WAAW,EAAE,GAAE,KAAK,EAAE,IACxC,CAAC,QAAO,EAAE,GAAK,EAAE,GAAK,IACtB,CAAC,KAAK,EAAE,GAAE,IAAI,EAAE,GAAE,UAAU,EAAE,GAAE,KAAK,EAAE,IACvC,CAAC,MAEM,KAAK,MAElB,EA9EA,CAAmB,G,SGGb,EAAe,CACjB,IAAG,cACH,OAAM,UACN,OAAM,aACR,WAAY,WACZ,QAAS,WAIL,EAA2B,CAC7B,IAAG,mBACH,OAAM,UACR,OAAQ,kBACR,WAAY,aACV,QAAO,WAGL,EAAa,CACf,KAAI,OACN,MAAO,OACP,OAAQ,SACN,MAAK,MACL,IAAG,OA0FQ,EAvFf,YAAE,SAAF,IAAI,IAAJ,0C,OACM,EAAJ,KAAe,OACX,EAAJ,SAAmB,EACnB,aAAqB,E,EAkFvB,OArFmB,yBAKf,EAAF,qCACM,IAAE,EAAQ,YAAM,gBAAe,WACnC,gDACK,GAAK,CACR,EAAG,EACH,EAAG,EACH,KAAM,KACN,SAAU,GACV,WAAY,aACN,UAAK,SACL,WAAM,SACN,YAAO,SACP,UAAK,QACL,aAAQ,YAIhB,EAAF,8BAAW,EAAS,GAAhB,IAAJ,OACQ,EAAQ,KAAK,OACb,EAAK,KAAK,IAAI,MAChB,KAAC,WACL,eAAK,GAAe,GAAO,SAAC,EAAO,GACpB,SAAT,EACF,EAAK,SAAS,GAAG,GACC,WAAT,GAAqB,EAC9B,EAAa,GACJ,EAAa,IACtB,EAAG,aAAa,EAAa,GAAO,MAGpCgO,EAAD,aAAa,cAAe,UAC3B,EAAD,aAAa,QAAS,gDAGzB,EAAF,8BACE,IAAM,EAAK,KAAK,IAAI,MACd,cAAE,iBAAc,cAEhB,EAAU,mBACZ,GAA4B,YAAjB,EAAQ,KAErB,EAAG,aAAa,oBAAqB,EAAyB,IAAiB,cAEzE,EAAH,aAAa,qBAAsB,EAAa,IAAiB,YAGlE,EAAD,aAAa,cAAe,EAAW,IAAc,SAGxD,EAAF,4BAAS,GACH,IAAE,EAAK,KAAK,IAAI,MACd,cAAE,MAAG,yCACP,GAAC,EAEE,IAAK,EAAK,QAAQ,MAAO,CACxB,MAAU,EAAK,MAAM,MACrB,EAAU,EAAQ,OAAS,EAC7B,EAAM,GACJ,OAAN,OAAM,CAAD,GAAS,SAAC,EAAS,GACZ,IAAN,EACe,eAAb,EACF,GAAO,aAAa,EAAC,UAAU,EAAO,OAAO,EAAO,WAC9B,QAAb,EACT,GAAO,aAAa,EAAC,gBAAgB,EAAO,WACtB,WAAb,EACT,GAAO,aAAa,EAAC,WAAW,EAAU,GAAK,EAAC,OAAO,EAAO,WACxC,WAAb,EACT,GAAO,aAAa,EAAC,WAAU,EAnGpB,IAmG4C,OAAO,EAAO,WAC/C,YAAb,IACT,GAAO,aAAa,EAAC,YAAW,EAAU,GArG/B,IAqGkD,OAAO,EAAO,YAG7E,GAAO,aAAa,EAAC,cAAc,EAAO,cAG9C,EAAG,UAAY,OAEf,EAAG,UAAY,OAxBT,EAAH,UAAY,IA2BrB,EArFA,CAAmB,GiF9Bb,EAAU,kCACV,EAAU,gEACV,EAAiB,8BAEvB,SAAS,EAAQ,GACb,IAAI,EAAM,EAAM,MAAM,GACtB,IAAG,EACH,MAAO,GAEP,IAAE,EAAQ,GAUV,OATA,EAAE,MAAK,SAAC,EAAG,GAGP,OAFJ,EAAI,EAAE,MAAM,KACZ,EAAI,EAAE,MAAM,KACL,OAAO,EAAE,IAAM,OAAO,EAAE,OAE/B,OAAF,OAAE,CAAG,GAAK,SAAC,GACT,EAAO,EAAK,MAAM,KAClB,GAAS,iBAAiB,EAAK,GAAE,iBAAiB,EAAK,GAAE,eAEpD,EAwET,IA6Be,EA7Bf,WAOI,SAAF,EAAY,GAJR,KAAJ,IAEI,GAGE,MAAK,KACH,EAAK,mBAAS,aAYpB,MAX6B,MAAzB,EAAI,cAAc,GA/E1B,SAA2B,EAAO,GAC9B,IAGE,EACA,EAJE,EAAM,EAAQ,KAAK,GACnBgsB,EAAQ,cAAI,mBAAS,WAAW,EAAI,KAAgB,EAAV,KAAK,IAC/C,EAAQ,EAAI,GAId,GAAS,GAAK,EAAQ,GAAM,KAAK,IAC/B,EAAI,CACA,EAAH,EACH,EAAG,GAEL,EAAM,CACJ,EAAG,EACG,EAAH,IAEI,GAAM,KAAK,IAAM,GAAS,EAAQ,KAAK,IAC5C,EAAI,CACAntB,EAAH,EACGvH,EAAH,GAEL,EAAM,CACJ,EAAG,EACH,EAAG,IAEI,KAAK,IAAM,GAAS,EAAQ,IAAM,KAAK,IAC5C,EAAI,CACN,EAAG,EACG,EAAH,GAED,EAAE,CACJ,EAAG,EACH,EAAG,KAGD,EAAI,CACN,EAAG,EACH,EAAG,GAED,EAAE,CACJ,EAAG,EACH,EAAG,IAIL,IAAI,EAAW,KAAK,IAAI,GACpB,EAAY,EAAW,EAEvB,GAAK,EAAI,EAAI,EAAM,EAAI,GAAY,EAAI,EAAI,EAAM,KAAO,EAAY,GAAK,EAAM,EAC/E,EAAK,GAAY,EAAI,EAAI,EAAM,EAAI,GAAY,EAAI,EAAI,EAAM,KAAQ,EAAY,GAAK,EAAM,EAChG0I,EAAC,aAAa,KAAM,EAAM,GAC5B,EAAG,aAAa,KAAM,EAAM,GAC5B,EAAG,aAAa,KAAM,GACpB,EAAC,aAAa,KAAM,GACpB,EAAC,UAAY,EAAQ,GA2BnB,CAAkB,EADlB,EAAK,EAAiB,mBAvB5B,SAA6B,EAAO,GAChC,IAAI,EAAM,EAAQ,KAAK,GACnB,EAAK,WAAW,EAAI,IACpB,EAAK,WAAW,EAAI,IACpB,EAAI,WAAW,EAAI,IACnB,EAAQ,EAAI,GAClB,EAAK,aAAa,KAAM,GACtB,EAAG,aAAa,KAAM,GACtB,EAAG,aAAa,IAAK,GACrB,EAAG,UAAY,EAAQ,GAkBrB,CAAoB,EADpB,EAAK,EAAiB,mBAGxB,EAAG,aAAa,KAAM,GACtB,KAAK,GAAK,EACV,KAAK,GAAK,EACV,KAAK,IAAM,EACJ,KAMX,OAHE,2BAAM,EAAM,GACV,OAAO,KAAK,MAAQ,GAExB,EA3BA,GC3FM,EAAW,CACb,YAAW,QACX,cAAa,UACb,WAAU,OACZ,cAAe,KACf,cAAe,MAGX,EAAmB,CACrB,EAAC,OACH,EAAG,OACH,MAAO,OACL,OAAM,QA4DK,EAzDf,WAQI,SAAF,EAAY,GAPR,KAAJ,KAAe,SAGX,KAAJ,IAEI,GAGEnL,KAAC,KAAO,SACR,IAAE,EAAK,EAAiB,UAUxB,OARJ,eAAK,GAAkB,SAAC,EAAG,GACzB,EAAG,aAAa,EAAG,MAEjB,KAAC,GAAK,EACN,KAAC,GAAK,mBAAS,WACf,KAAC,GAAG,GAAK,KAAK,GACd,KAAC,IAAM,EACP,KAAC,aAAa,EAAK,GAChB,KAmCX,OAhCI,EAAF,yBAAM,EAAM,GACN,QAAK,OAAS,EAChB,OAAO,EAET,IAAI,GAAO,EACL,EAAS,KAAK,IAOhB,OANA,OAAJ,OAAI,CAAC,OAAO,KAAK,IAAS,SAAC,GACzB,GAAI,EAAO,KAAU,EAAI,GAEvB,OADA,GAAO,GACA,KAGJ,GAGT,4BAAO,EAAM,GACX,IAAM,EAAS,KAAK,IAGpB,OAFA,EAAO,EAAS,IAAS,EACzB,KAAK,aAAa,EAAQ,KAAK,IACxB,MAGT,kCAAa,EAAQ,GACnB,IAAM,EAAQ,6BACN,EAAO,IAAM,GAAC,iBACd,EAAO,IAAM,GAAC,2BACJ,EAAO,KAAO,EAAO,KAAO,GAAK,GAAC,0BACnC,EAAO,MAAQ,EAAO,MAAQ,QAAM,4BAClC,EAAO,QAAU,EAAO,QAAU,GAAC,cAEtD,EAAG,UAAY,GAEnB,EAvDA,GC2De,EA1Ef,WASI,SAAF,EAAY,EAAO,GAJf,KAAJ,IAEI,GAGE,IAAE,EAAK,EAAiB,UACtB,EAAK,mBAAS,WAChB,EAAD,aAAa,KAAM,GAClB,IAAE,EAAQ,EAAiB,QAC3B,EAAE,aAAa,SAAU,EAAM,QAAU,QACzC,EAAE,aAAa,OAAQ,EAAM,MAAQ,QACrC,EAAD,YAAY,GACX,EAAD,aAAa,WAAY,WACxBmL,EAAD,aAAa,SAAU,sBACtB,KAAC,GAAK,EACN,KAAC,MAAQ,EACT,KAAC,GAAK,EACN,IAAE,EAAM,EAAe,iBAAT,EAA0B,aAAe,YAQvD,OAPJ,KAAK,OAAS,EAAM,QAAU,QAClB,IAAR,EACF,KAAK,gBAAgB,EAAM,IAE3B,KAAK,IAAM,EACX,KAAK,WAAW,EAAM,UAAW,IAE5B,KA0CX,OAvCI,EAAF,2BACE,OAAO,GAGP,EAAF,mCAAgB,EAAM,GAChB,IAAE,EAAS,KAAK,GAEhB,EAAD,aAAa,IAAK,SAAS,GAAK,KAAK,IAAI,KAAK,GAAK,GAAE,YACpD,EAAG,aAAa,OAAQ,GAAG,GAAK,KAAK,IAAI,KAAK,GAAK,IACnD,EAAG,aAAa,OAAQ,MAG5B,EAAF,8BAAW,EAAG,GACR,IAAE,EAAS,KAAK,GAChB,EAAO,KAAK,IAAI,KACd,EAAI,KAAK,IAAI,EAEf,kBAAQ,KACV,EAAO,EACJ,KAAI,SAAC,GACJ,OAAO,EAAQ,KAAK,QAErB,KAAK,KAEN,EAAD,aAAa,IAAK,GACjB,EAAG,YAAY,GACf,GACF,EAAO,aAAa,OAAQ,GAAG,EAAI,IAIvC,4BAAO,GACL,IAAM,EAAQ,KAAK,MACf,EAAM,KACR,EAAM,KAAK,OAAQ,GAEnB,EAAM,aAAa,OAAQ,IAGjC,EAxEA,GC6Be,EA7Bf,WAQI,SAAF,EAAY,GAPR,KAAJ,KAAe,OAGX,KAAJ,IAEI,GAGE,IAAE,EAAK,EAAiB,YAC5B,KAAK,GAAK,EACV,KAAK,GAAK,mBAAS,SACf,EAAD,GAAK,KAAK,GACb,IAAM,EAAU,EAAI,IAAI,GAGpB,OAFJ,EAAG,YAAY,GACX,KAAC,IAAM,EACJ,KAWX,OARE,6BACE,OAAO,GAGT,8BACE,IAAM,EAAK,KAAK,GAChB,EAAG,WAAW,YAAY,IAE9B,EA3BA,GCAM,EAAU,kCA+CD,EA7Cf,WAOI,SAAF,EAAY,GAJR,KAAJ,IAEI,GAGE,IAAE,EAAK,EAAiB,WACxB,EAAD,aAAa,eAAgB,kBAC5B,IAAE,EAAQ,EAAiB,SAC3B,EAAD,YAAY,GACX,IAAE,EAAK,mBAAS,YAChB,EAAD,GAAK,EACJ,KAAC,GAAK,EACN,KAAC,GAAK,EACN,KAAC,IAAM,EACP,IACE,EADM,EAAQ,KAAK,GACN,GACf,EAAE,aAAa,OAAQ,GACvB,IAAE,EAAM,IAAI,MAKZ,SAAK,IACD,EAAH,aAAa,QAAS,GAAG,EAAI,OAC1B,EAAH,aAAa,SAAU,GAAG,EAAI,QAUnC,OAhBK,EAAO,MAAM,aACV,EAAF,YAAc,aAEhB,MAAM,EAKN,EAAI,SACN,KAEA,EAAI,OAAS,EAEb,EAAI,IAAM,EAAI,KAGT,KAMX,OAHE,2BAAM,EAAM,GACV,OAAO,KAAK,MAAQ,GAExB,EA3CA,GCmGe,EAhGf,WAOI,SAAF,EAAY,GACV,IAAM,EAAK,EAAiB,QACtB,EAAK,mBAAS,SAChB,EAAD,GAAK,EACJ,EAAG,YAAY,GACf,KAAC,SAAW,GACZ,KAAC,aAAe,GAChB,KAAC,GAAK,EACN,KAAC,OAAS,EA+ElB,OA5EI,EAAF,wBAAK,EAAM,GAGL,IAFJ,IAAM,EAAW,KAAK,SAClB,EAAS,KACJ,EAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,GAAI,EAAS,GAAG,MAAM,EAAM,GAAO,CACjC,EAAS,EAAS,GAAG,GACrB,MAGA,OAAG,GAGP,EAAF,4BAAS,GAGH,IAFJ,IAAM,EAAW,KAAK,SAClB,EAAO,KACF,EAAI,EAAG,EAAI,EAAS,OAAQ,IACnC,GAAI,EAAS,GAAG,KAAO,EAAI,CACzB,EAAO,EAAS,GAChB,MAGA,OAAG,GAGP,EAAF,uBAAI,GACEnL,KAAC,SAAS,KAAK,GACf,EAAC,OAAS,KAAK,OACf,EAAC,OAAS,MAGd,EAAF,mCAAgB,EAAO,GACjB,IAAE,EAAS,EAAM,QAAU,EAAM,YACjC,GAAAA,KAAK,aAAa,GACpB,OAAO,KAAK,aAAa,GAAQ,GAEnC,IAAM,EAAQ,IAAI,EAAM,EAAO,GAI3B,OAHA,KAAC,aAAa,GAAU,EACxBA,KAAC,GAAG,YAAY,EAAM,IACtBA,KAAC,IAAI,GACF,EAAM,IAGb,EAAF,+BAAY,GACN,IAAE,EAAW,IAAI,EAAS,GAG9B,OAFIA,KAAC,GAAG,YAAY,EAAS,IACzB,KAAC,IAAI,GACF,EAAS,IAGhB,EAAF,4BAAS,EAAO,GACV,IAAE,EAAQ,IAAI,EAAM,EAAO,GAG/B,OAFI,KAAC,GAAG,YAAY,EAAM,IAC1B,KAAK,IAAI,GACF,EAAM,IAGb,EAAF,6BAAU,GACJ,IAAE,EAAS,IAAI,EAAO,GAG1B,OAFA,KAAK,GAAG,YAAY,EAAO,IAC3B,KAAK,IAAI,GACF,EAAO,IAGhB,gCAAW,GACT,IAAM,EAAU,IAAI,EAAQ,GAG5B,OAFA,KAAK,GAAG,YAAY,EAAQ,IAC5B,KAAK,IAAI,GACF,EAAQ,IAGjB,6BAAQ,GACN,IAAM,EAAO,IAAI,EAAK,GAGtB,OAFA,KAAK,GAAG,YAAY,EAAK,IACzB,KAAK,IAAI,GACF,EAAK,IAEhB,EA9FA,GCsFe,EAxFf,YACI,SAAF,EAAY,G,OACV,qDACK,GAAG,CACN,UAAU,EAEV,SAAU,UACV,KA+EJ,OAtFmB,yBAUjB,EAAF,kCACM,OAAG,GAGP,EAAF,kCACE,OAAO,GAIP6L,EAAO5N,UAAU,SAAnB,SAAS,EAAW,EAAW,GACzB,MAAkB,EAAG,QAAmB,EAAG,WAC3C,IAAC,EAAc,EAAO,SAAU,CAElC,IADA,IAAI,EAAkB,EAAO,WACtB,IAAW,EAAc,EAAO,UACrC,EAAkB,EAAO,WAE3B,EAAS,EAEP,OAAG,KAAK,MAAK,SAAC,GAAU,SAAM,IAAI,QAAV,MAI5B,EAAF,+BACE,IAAM,EAAU,EAAiB,OAC3B,EAAU,IAAI,EAAK,GAKzB,OAJI,EAAI,aAAa,QAAS,GAAG,KAAK,IAAI,UAC1C,EAAQ,aAAa,SAAU,GAAG,KAAK,IAAI,WAE3C,KAAK,IAAI,UAAW,GACb,GAOP,EAAF,kCAAe,GACT,IAAE,EAAU,KAAK,IAAI,WACnB,EAAK,KAAK,IAAI,MAChB,GAAe,SAAf,EAAuB,CACnB,MAAW,KAAK,IAAI,YACtB,GAAY,EAAS,QACvB,EAAQ,MAAM,SAAC,EAAa,GAC1B,OAAO,EAAS,QAAQ,GAAK,EAAS,QAAQ,GAAK,EAAI,UAGtD,GAAmB,UAAf,GAET,GAAI,EAAI,CAEN,EAAG,UAAY,GACf,IAAM,EAAS,EAAQ,GAEvB,EAAO,UAAY,GAEnB,EAAG,YAAY,QAEO,WAAf,EACT,EAAa,MACW,SAAf,EACH,EAAE,KAAM,GACU,eAAf,IACT,EAAG,aAAa,QAAS,GAAG,KAAK,IAAI,UACrC,EAAG,aAAa,SAAU,GAAG,KAAK,IAAI,aAKxC,EAAF,0BACM,IAAE,EAAU,KAAK,IAAI,WACnB,EAAW,KAAK,cACtB,EAAQ,KAAM,GACV,EAAS,QACL,EAAO,EAAS,IAG5B,EAtFA,CAAqB,kBxXPR,GAFD,EAAQ,KAEO,S,8ExBO3B,0BAA+B,EAAa,GAC1C,IAAM,EAAM,GACN,EAAM,EAAE,GACR,EAAMkG,EAAE,GACR,EAAMA,EAAE,GAERsL,EAAMtL,EAAE,GACRuL,EAAMvL,EAAE,GACRwL,EAAMxL,EAAE,GACRyL,EAAMzL,EAAE,GACR0L,EAAM1L,EAAE,GACR2L,EAAM3L,EAAE,GAER,EAAMzE,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAM,EAAE,GAad,OAXEqQ,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACrCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACrCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EAErCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACrCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACrCA,EAAE,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EAEvC,EAAI,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACvC,EAAI,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EACvC,EAAI,GAAK,EAAM,EAAM,EAAM,EAAM,EAAM,EAChC,GAQT,wBAA6B,EAAa,GACtC,IAAI,EAAM,GACN,EAAI,EAAE,GACN,EAAI,EAAE,GAGZ,OAFA,EAAI,GAAK,EAAE,GAAK,EAAI,EAAE,GAAK,EAAI,EAAE,GACjC,EAAI,GAAK,EAAE,GAAK,EAAI,EAAE,GAAK,EAAI,EAAE,GAC1B,GAOT,kBAAuB,GACnB,IAAI,EAAM,GACN,EAAM5L,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAMA,EAAE,GACR,EAAM,EAAE,GACR,EAAMA,EAAE,GACR,EAAM,EAAE,GAER,EAAM,EAAM,EAAM,EAAM,EACxB,GAAO,EAAM,EAAM,EAAM,EACzB,EAAM,EAAM,EAAM,EAAM,EAG1B,EAAM,EAAM,EAAM,EAAM,EAAM,EAAM,EAEtC,OAAG,GAGH,EAAI,EAAM,EAEV4L,EAAE,GAAK,EAAM,EACb,EAAE,KAAO,EAAM,EAAM,EAAM,GAAO,EACpC,EAAI,IAAM,EAAM,EAAM,EAAM,GAAO,EACnC,EAAI,GAAK,EAAM,EACf,EAAI,IAAM,EAAM,EAAM,EAAM,GAAO,EACnC,EAAI,KAAO,EAAM,EAAM,EAAM,GAAO,EACpC,EAAI,GAAK,EAAM,EACf,EAAI,KAAO,EAAM,EAAM,EAAM,GAAO,EACpC,EAAI,IAAM,EAAM,EAAM,EAAM,GAAO,EAC5B,GAbE,O,kHiZ9EX,WAaS,0EAJP,EAAApB,cAgQF,IAGMokG,EAAM,MAIC,EAAA11E,cAAgB,CAC3B4tD,OAAQ,CAAE3tF,MARG,IAQYmgB,OAAQ,YACjCu1F,QAAS,CAAE11G,MARE,IAQamgB,OAAQ,SAClCstE,KAAM,CAAEztF,MARG,KAQUmgB,OAAQ,MAC7BqtE,IAAK,CAAExtF,MAAOy1G,EAAKt1F,OAAQ,cAC3Bw1F,KAAM,CAAE31G,MARGy1G,OAQUt1F,OAAQ,cAC7BotE,MAAO,CAAEvtF,MARGy1G,OAQWt1F,OAAQ,WAC/BmtE,KAAM,CAAEttF,MARGy1G,QAQUt1F,OAAQ,U,kGxP/R/B,WAaA,aASE,WAAYxU,GAPL,KAAAkd,SAAmB,EAKhB,KAAAwoB,WAAgC,GAGxC3uC,KAAKiJ,KAAOA,EAgFhB,OA1CS,YAAA4f,MAAP,WAEE,EAAArf,KAAKxJ,KAAK2uC,YAAY,SAACzB,GACrBA,EAAGpY,UAAU1tB,aAIfpH,KAAK2uC,WAAa,IAMb,YAAAvnC,QAAP,WACEpH,KAAK6oB,SAOA,YAAAokB,cAAP,WACE,OAAOjtC,KAAK2uC,YAOP,YAAA5P,cAAP,SAAqB5Y,GACfnmB,KAAKmmB,UAAYA,IAGrBnmB,KAAK2uC,WAAW3gB,SAAQ,SAACkf,GACnB/mB,EACF+mB,EAAGpY,UAAUvD,OAEb2b,EAAGpY,UAAUtD,UAGjBxxB,KAAKmmB,QAAUA,IAEnB,EA1FA,GAAsB,EAAA+sF,c,cyPZtB,IAOIC,EACAC,EARAt9C,EAAUh6D,EAAOD,QAAU,GAU/B,SAASw3G,IACL,MAAM,IAAIz0E,MAAM,mCAEpB,SAAS00E,IACL,MAAM,IAAI10E,MAAM,qCAsBpB,SAAS20E,EAAWC,GAChB,GAAIL,IAAqB5hG,WAErB,OAAOA,WAAWiiG,EAAK,GAG3B,IAAKL,IAAqBE,IAAqBF,IAAqB5hG,WAEhE,OADA4hG,EAAmB5hG,WACZA,WAAWiiG,EAAK,GAE3B,IAEI,OAAOL,EAAiBK,EAAK,GAC/B,MAAMjzG,GACJ,IAEI,OAAO4yG,EAAiB32G,KAAK,KAAMg3G,EAAK,GAC1C,MAAMjzG,GAEJ,OAAO4yG,EAAiB32G,KAAKwD,KAAMwzG,EAAK,MAvCnD,WACG,IAEQL,EADsB,mBAAf5hG,WACYA,WAEA8hG,EAEzB,MAAO9yG,GACL4yG,EAAmBE,EAEvB,IAEQD,EADwB,mBAAjBzgG,aACcA,aAEA2gG,EAE3B,MAAO/yG,GACL6yG,EAAqBE,GAjB5B,GAwED,IAEIG,EAFAC,EAAQ,GACRC,GAAW,EAEXC,GAAc,EAElB,SAASC,IACAF,GAAaF,IAGlBE,GAAW,EACPF,EAAa70G,OACb80G,EAAQD,EAAazvG,OAAO0vG,GAE5BE,GAAc,EAEdF,EAAM90G,QACNk1G,KAIR,SAASA,IACL,IAAIH,EAAJ,CAGA,IAAI/iG,EAAU2iG,EAAWM,GACzBF,GAAW,EAGX,IADA,IAAItsE,EAAMqsE,EAAM90G,OACVyoC,GAAK,CAGP,IAFAosE,EAAeC,EACfA,EAAQ,KACCE,EAAavsE,GACdosE,GACAA,EAAaG,GAAYG,MAGjCH,GAAc,EACdvsE,EAAMqsE,EAAM90G,OAEhB60G,EAAe,KACfE,GAAW,EAnEf,SAAyBrmF,GACrB,GAAI8lF,IAAuBzgG,aAEvB,OAAOA,aAAa2a,GAGxB,IAAK8lF,IAAuBE,IAAwBF,IAAuBzgG,aAEvE,OADAygG,EAAqBzgG,aACdA,aAAa2a,GAExB,IAEW8lF,EAAmB9lF,GAC5B,MAAO/sB,GACL,IAEI,OAAO6yG,EAAmB52G,KAAK,KAAM8wB,GACvC,MAAO/sB,GAGL,OAAO6yG,EAAmB52G,KAAKwD,KAAMstB,KAgD7C0mF,CAAgBpjG,IAiBpB,SAASqjG,EAAKT,EAAKh4E,GACfx7B,KAAKwzG,IAAMA,EACXxzG,KAAKw7B,MAAQA,EAYjB,SAAS04E,KA5BTp+C,EAAQq+C,SAAW,SAAUX,GACzB,IAAI7zD,EAAO,IAAI9/C,MAAMO,UAAUxB,OAAS,GACxC,GAAIwB,UAAUxB,OAAS,EACnB,IAAK,IAAIvC,EAAI,EAAGA,EAAI+D,UAAUxB,OAAQvC,IAClCsjD,EAAKtjD,EAAI,GAAK+D,UAAU/D,GAGhCq3G,EAAMpwG,KAAK,IAAI2wG,EAAKT,EAAK7zD,IACJ,IAAjB+zD,EAAM90G,QAAiB+0G,GACvBJ,EAAWO,IASnBG,EAAKh2G,UAAU81G,IAAM,WACjB/zG,KAAKwzG,IAAInzG,MAAM,KAAML,KAAKw7B,QAE9Bs6B,EAAQjyC,MAAQ,UAChBiyC,EAAQs+C,SAAU,EAClBt+C,EAAQu+C,IAAM,GACdv+C,EAAQw+C,KAAO,GACfx+C,EAAQy+C,QAAU,GAClBz+C,EAAQ0+C,SAAW,GAInB1+C,EAAQrrD,GAAKypG,EACbp+C,EAAQ2+C,YAAcP,EACtBp+C,EAAQ1lB,KAAO8jE,EACfp+C,EAAQjkC,IAAMqiF,EACdp+C,EAAQ4+C,eAAiBR,EACzBp+C,EAAQ6+C,mBAAqBT,EAC7Bp+C,EAAQhuC,KAAOosF,EACfp+C,EAAQ8+C,gBAAkBV,EAC1Bp+C,EAAQ++C,oBAAsBX,EAE9Bp+C,EAAQg/C,UAAY,SAAUl4G,GAAQ,MAAO,IAE7Ck5D,EAAQi/C,QAAU,SAAUn4G,GACxB,MAAM,IAAIgiC,MAAM,qCAGpBk3B,EAAQk/C,IAAM,WAAc,MAAO,KACnCl/C,EAAQm/C,MAAQ,SAAUxe,GACtB,MAAM,IAAI73D,MAAM,mCAEpBk3B,EAAQo/C,MAAQ,WAAa,OAAO,I,iICvLpC,YAYA,wBACE,EACA,EACA,EACA,EACA,EACA,GAEE,IAAE,EACA,EAAI,IACF,EAAiB,CAAC,EAAG,GAEvB,EAAS,GACT,GAAU,EAAS,MACjB,EAAK,EAAS,IAMlB,IAJA,IAAI,EAAe,EAAI,EAErB,EAAW,EAAe,GAErB,EAAI,EAAG,GAAK,EAAQ,IAAK,CAChC,IAAM,EAAK,EAAI,EACT,EAAiB,CAAC,EAAU,MAAM,KAAM,EAAK,OAAO,CAAC,KAAO,EAAU,MAAM,KAAM,EAAK,OAAO,CAAC,OAE/F,EAAK,WAAS,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KACnC,IACP,EAAI,EACJ,EAAI,GAIN,GAAQ,IAAN,EACE,MAAG,CACL,EAAG,EAAK,GACR,EAAG,EAAK,IAGV,GAAQ,IAAN,EAAS,CACP,IAAE,EAAQ,EAAK,OACf,MAAG,CACL,EAAG,EAAK,EAAQ,GAChB,EAAG,EAAK,EAAQ,IAKlB,IAFA,EAAE,IAEK,EAAI,EAAG,EAAI,MACd,EAxDQ,MAuDU,IAAK,CAKvB,IAAE,EAAO,EAAI,EACX,EAAO,EAAI,EAIX,GAFA,EAAK,CAAC,EAAU,MAAM,KAAM,EAAK,OAAO,CAAC,KAAS,EAAU,MAAM,KAAM,EAAK,OAAO,CAAC,MAEhF,WAAS,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KACxC,MAAQ,GAAK,EAAK,EACpB,EAAI,EACJ,EAAI,MACC,CACL,IAAM,EAAK,CAAC,EAAU,MAAM,KAAM,EAAK,OAAO,CAAC,KAAS,EAAU,MAAM,KAAM,EAAK,OAAO,CAAC,MACrF,EAAK,WAAS,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,IACxC,GAAQ,GAAK,EAAK,GACpB,EAAI,EACJ,EAAI,GAEJ,GAAY,IAKhB,MAAK,CACD,EAAD,EAAU,MAAM,KAAM,EAAK,OAAO,CAAC,KAClC,EAAD,EAAU,MAAM,KAAM,EAAK,OAAO,CAAC,OAK1C,sBAA2B,EAAgB,GAGzC,IAFA,IAAI,EAAc,EACZ,EAAQ,EAAK,OACV,EAAI,EAAG,EAAI,EAAO,IAAK,CAC9B,IAAM,EAAI,EAAK,GACT,EAAI,EAAK,GACT,EAAQ,GAAM,EAAI,GAAK,GACvB,EAAQ,GAAM,EAAI,GAAK,GAC7B,GAAe,WAAS,EAAG,EAAG,EAAO,GAEvC,OAAO,EAAc,I,8ECrGvB,YACA,QAGA,SAAS,EAAK,GACZ,OAAO,KAAK,KAAK,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,IAI1C,SAAS1vF,EAAOC,EAAGviB,GAEf,OAAK,EAAK,GAAK,EAAK,IAAM,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,KAAO,EAAK,GAAK,EAAK,IAAM,EAIjF,SAAS,EAAO,EAAGA,GACjB,OAAQ,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,IAAM,EAAI,GAAK,KAAK,KAAK,EAAO,EAAG,IAQpE,SAAgB,EAAY,EAAQ,GAClC,OAAO,EAAO,KAAO,EAAO,IAAM,EAAO,KAAO,EAAO,GADzD,gBAKA,mBAAqC,EAAY,GAC7C,IAAE,EAAK,EAAO,GACZ,EAAK,EAAO,GACV,EAAY,UAAI,UAAS,EAAO,IAAe,EAAV,KAAK,IAC1C,EAAU,EAAO,GACjB,EAAY,EAAO,GAEnB,EAAK,EAAW,GAChB,EAAK,EAAW,GAEhB,EAAK,EAAO,GACZ,EAAK,EAAO,GACZ,EAAM,KAAK,IAAI,IAAc,EAAK,GAAO,EAAO,KAAK,IAAI,IAAc,EAAK,GAAO,EACnF,GAAO,EAAI,KAAK,IAAI,IAAc,EAAK,GAAO,EAAO,KAAK,IAAI,IAAc,EAAK,GAAO,EACxF,EAAU,EAAK,GAAO,EAAK,GAAO,EAAK,GAAO,EAAK,GAErD,EAAS,IACX,GAAM,KAAK,KAAK,GAChB,GAAM,KAAK,KAAK,IAEhB,IAAI,EAAO,EAAK,GAAM,EAAK,GAAM,EAAK,GAAM,EAAK,GAE/C,EAAI,EAAO,KAAK,MAAM,EAAK,GAAM,EAAK,GAAM,GAAQ,GAAQ,EAE5D,IAAY,IACd,IAAM,GAEJ,MAAM,KACR,EAAI,GAIJ,IAAI,EAAM,EAAM,EAAI,EAAK,EAAM,EAAK,EAChC,EAAM,EAAM,GAAK,EAAK,EAAM,EAAK,EAGjC,GAAM,EAAK,GAAM,EAAM,KAAK,IAAI,GAAa,EAAM,KAAK,IAAI,GAAa,EACzE,GAAM,EAAK,GAAM,EAAM,KAAK,IAAI,GAAa,EAAM,KAAK,IAAI,GAAa,EAGzE,EAAI,EAAG,EAAK,GAAO,GAAK,EAAK,GAAO,GAEpCA,EAAI,GAAI,EAAI,EAAK,GAAO,IAAM,EAAI,EAAK,GAAO,GAE9C,EAAQ,EAAO,CAAE,EAAG,GAAK,GAG3B,EAAS,EAAO,EAAG,GAcrB,OAZE,EAAO,EAAG,KAAO,IACnB,EAAS,KAAK,IAEZ,EAAO,EAAG,IAAM,IACd,EAAK,GAEO,IAAd,GAAmB,EAAS,IAC1B,GAAc,EAAI,KAAK,IAEX,IAAd,GAAmB,EAAS,IAC1B,GAAc,EAAI,KAAK,IAEtB,CACL,GAAE,EACF,GAAE,EAEF,GAAI,EAAY,EAAY,CAAE,EAAI,IAAQ,EAAI,EAC9C,GAAI,EAAY,EAAY,CAAE,EAAI,IAAQ,EAAI,EAC9C,WAAY,EACZ,SAAU,EAAQ,EAClB,UAAS,EACT,QAAO,EACP,UAAS,K,6BCpGb,iH,4GCGA,iH,qV5REA,YAAS,uEAAA0I,SAAO,+EAAAupG,iBAAe,+EAAA9xF,iBAK/B,YAAS,gFAAA+xF,kBAAgB,mDAAAl4G,IAAA,oBAAA21D,aAAW,wEAAAwiD,UAGpC,YAAS,sDAAAn4G,IAAA,oBAAAwgD,gBAAc,2EAAA43D,aACvB,YAAS,uEAAApiG,SAGT,YAAS,uDAAAhW,IAAA,oBAAAw0B,iBAAe,oFAAA6jF,sBAAoB,4EAAA3mG,cAG5C,YAAS,kDAAA1R,IAAA,oBAAAq/C,YAAU,+EAAAi5D,iBAAe,uEAAAC,SAIlC,YA4CS,0EA3CP,EAAAC,cA0CsC,yEAxCtC,EAAAC,aAwCiD,yEAvCjD,EAAAC,aAuCsB,8EArCtB,EAAAxnG,kBAqCO,6EApCP,EAAAynG,iBAmDO,sEAjDP,EAAArnG,UAqCM,IAAMwwB,EAAiC,EAAA3wB,KAAzB,KAAU4wB,EAAe,EAAA5wB,KAAL,OACjC,EAAA2wB,WAAU,EAAAC,aAEX,IAAMC,EAAiC,EAAA42E,KAAzB,KAAU32E,EAAe,EAAA22E,KAAL,OACjC,EAAA52E,WAAU,EAAAC,aAEX,IAAUC,EAAiD,EAAA9wB,OAAnC,SAAc+wB,EAAqB,EAAA/wB,OAAL,WACrD,EAAA8wB,iBAAgB,EAAAC,mBAEjB,IAAMpxB,EAAgB,EAAAM,QAAL,KAChB,EAAAN,e,+MU9ET,YACA,SAQA,+BAAoCsa,GAClC,GAAIA,EAAW6X,UAAY7X,EAAW8X,aAEpC,OAAQ9X,EAAWwY,SAAWxY,EAAWuY,YAAcvY,EAAWge,YAIpE,IAAMnmB,EAAQmI,EAAWgY,QAAQ,CAAEv2B,EAAG,EAAGvH,EAAG,IACtC4d,EAAMkI,EAAWgY,QAAQ,CAAEv2B,EAAG,EAAGvH,EAAG,IAE1C,OAAO0M,KAAKI,KAAKJ,KAAKyQ,IAAIS,EAAIrW,EAAIoW,EAAMpW,EAAG,GAAKmF,KAAKyQ,IAAIS,EAAI5d,EAAI2d,EAAM3d,EAAG,KAS5E,wBAA6B8lB,GAC3B,GAAIA,EAAW6X,QAAS,CACd,IAAAU,EAAyBvY,EAAf,WAClB,OADiCA,EAAL,SACVuY,GAAyB,EAAV3xB,KAAKE,GAExC,OAAO,GAUT,+BAAoCkZ,EAAwBoI,GAC1D,IAAMjB,EAASnH,EAAWke,YAC1B,OAAOt3B,KAAKI,KAAK,SAACohB,EAAM3mB,EAAI0lB,EAAO1lB,EAAM,GAAI,SAAC2mB,EAAMluB,EAAIitB,EAAOjtB,EAAM,KASvE,+BAAoC8lB,EAAwBoI,GAC1D,IAAItyB,GAAS,EAEb,GAAIkqB,EACF,GAAwB,UAApBA,EAAW3e,KAAkB,CACvB,IAAAwW,EAAemI,EAAV,MAAElI,EAAQkI,EAAL,IAClBlqB,EAAS,EAAAu4B,UAAUjG,EAAM3mB,EAAGoW,EAAMpW,EAAGqW,EAAIrW,IAAM,EAAA4sB,UAAUjG,EAAMluB,EAAG2d,EAAM3d,EAAG4d,EAAI5d,OAC1E,CACL,IAAMkkC,EAAcpe,EAAWqe,OAAOjW,GAEtCtyB,EAAS,EAAAu4B,UAAU+P,EAAY38B,EAAG,EAAG,IAAM,EAAA4sB,UAAU+P,EAAYlkC,EAAG,EAAG,GAI3E,OAAOpE,GAOT,2BAAgCkqB,EAAwBoI,GACtD,IAAMjB,EAASnH,EAAWke,YAC1B,OAAOt3B,KAAK23B,MAAMnW,EAAMluB,EAAIitB,EAAOjtB,EAAGkuB,EAAM3mB,EAAI0lB,EAAO1lB,IASzD,gCAAqCue,EAAwB4T,QAAA,IAAAA,MAAA,GACnD,IA2BJ6K,EA3BI5mB,EAAemI,EAAV,MAAElI,EAAQkI,EAAL,IACZliB,EAAQkiB,EAAWoM,WACnBruB,EAASiiB,EAAWqM,YAE1B,GAAIrM,EAAW6X,QAAS,CACd,MAAyB7X,EAAf,WAAE,EAAaA,EAAL,SACtB,EAASA,EAAWke,YACpB,EAASle,EAAWge,YAE1B,MAAO,CACL38B,KAAM,OACNq9B,WAAY,CACVzX,KAAM,EAAAoV,cAAc,EAAO56B,EAAG,EAAOvH,EAAG,EAAS05B,EAAQ,EAAY,IAEvE6K,SAAU,SAACrkB,GACT,IAAMukB,GAAQ,EAAW,GAAcvkB,EAAQ,EAE/C,MAAO,CACL6M,KAFW,EAAAoV,cAAc,EAAO56B,EAAG,EAAOvH,EAAG,EAAS05B,EAAQ,EAAY+K,KAK9E7U,MAAO,CACL7C,KAAM,EAAAoV,cAAc,EAAO56B,EAAG,EAAOvH,EAAG,EAAS05B,EAAQ,EAAY,KAgB3E,OATE6K,EADEze,EAAW8X,aACF,CACT/5B,OAAQA,EAAkB,EAAT61B,GAGR,CACT91B,MAAOA,EAAiB,EAAT81B,GAIZ,CACLvyB,KAAM,OACNq9B,WAAY,CACVj9B,EAAGoW,EAAMpW,EAAImyB,EACb15B,EAAG4d,EAAI5d,EAAI05B,EACX91B,MAAOkiB,EAAW8X,aAAeh6B,EAAiB,EAAT81B,EAAa,EACtD71B,OAAQiiB,EAAW8X,aAAe,EAAI/5B,EAAkB,EAAT61B,GAEjD6K,SAAQ,EACR3U,MAAO,CACLroB,EAAGoW,EAAMpW,EAAImyB,EACb15B,EAAG4d,EAAI5d,EAAI05B,EACX91B,MAAOA,EAAiB,EAAT81B,EACf71B,OAAQA,EAAkB,EAAT61B,M,qG0D3IV,EAAAlvB,cAAgB,CAC3B20D,QAAS,SAAC53D,EAAWvH,EAAWtF,GAC9B,IAAM0kE,EAAS1kE,EAAI,EAAKgS,KAAKI,KAAK,GAClC,MAAO,CACL,CAAC,IAAKvF,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAI63D,EAAOp/D,EAAItF,EAAI,GACzB,CAAC,IAAK6M,EAAI63D,EAAOp/D,EAAItF,EAAI,GACzB,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAI63D,EAAOp/D,EAAItF,EAAI,GACzB,CAAC,IAAK6M,EAAI63D,EAAOp/D,EAAItF,EAAI,GACzB,CAAC,OAGL2kE,OAAQ,SAAC93D,EAAWvH,EAAWtF,GAC7B,IAAM4kE,EAAQ5kE,EAAI,IAClB,MAAO,CAAC,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAIs/D,GAAQ,CAAC,IAAK/3D,EAAI7M,EAAGsF,EAAIs/D,GAAQ,CAAC,IAAK/3D,EAAI7M,EAAGsF,EAAIs/D,GAAQ,CAAC,IAAK/3D,EAAI7M,EAAGsF,EAAIs/D,GAAQ,CAAC,OAE/GC,MAAO,SAACh4D,EAAWvH,EAAWtF,GAC5B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAItF,GACjB,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAItF,GACjB,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAItF,GACjB,CAAC,IAAK6M,EAAI7M,EAAGsF,EAAItF,KAGrBmyB,KAAM,SAACtlB,EAAWvH,EAAWtF,GAC3B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,GACrB,CAAC,IAAK6M,EAAI7M,EAAI,EAAGsF,EAAItF,KAGzB8kE,KAAM,SAACj4D,EAAWvH,EAAWtF,GAC3B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAGvH,EAAItF,KAGjB+kE,OAAQ,SAACl4D,EAAWvH,EAAWtF,GAC7B,MAAO,CACL,CAAC,IAAK6M,EAAI7M,EAAGsF,GACb,CAAC,IAAKuH,EAAI7M,EAAGsF,KAGjBskB,KAAM,SAAC/c,EAAWvH,EAAWtF,GAC3B,MAAO,CACL,CAAC,IAAK6M,EAAGvH,EAAItF,GACb,CAAC,IAAK6M,EAAGvH,EAAItF,O,2iBvDrDnB,OAKA,SACA,SACA,4BAGA,SAAS2tC,EAAYjH,EAA8BkH,GACjD,IAEMC,EAFQnH,EAAQ3gB,MACEtiB,OACGqqC,gBAE3B,OAAMD,EAAS3kC,OAAS0kC,GAAaC,EAAS1kC,QAAUykC,EAGjDC,EAFE,KAoIX,SAAgBe,EAAY9iC,GAC1B,IAAMuf,EAAavf,EAAKuf,WACpBtpB,EAAiB,GAUrB,OATA,EAAAsK,KAAKgf,GAAY,SAACyC,GAChB,IAAM8G,EAAW9G,EAAK8G,SACtB7yB,EAAMA,EAAI8E,OAAO+tB,MAEf9oB,EAAK2f,OAAS3f,EAAK2f,MAAMhqB,QAC3B,EAAA4K,KAAKP,EAAK2f,OAAO,SAAC2jB,GAChBrtC,EAAMA,EAAI8E,OAAO+nC,EAAYQ,OAG1BrtC,EAuCT,SAAgB0tC,EAAgB5a,EAAkB/pB,GAChD,IACM4kC,EADQ7a,EAAQuB,WACDv0B,KAOrB,OALI,EAAAojB,QAAQyqB,GACFA,EAAO,GAAG5kC,GAEV4kC,EAAO5kC,GAWnB,SAAgB8tG,EAAcjpE,EAAMC,GAClC,QAASA,EAAK78B,KAAO48B,EAAK38B,MAAQ48B,EAAK58B,KAAO28B,EAAK58B,MAAQ68B,EAAK38B,KAAO08B,EAAKz8B,MAAQ08B,EAAK18B,KAAOy8B,EAAK18B,MASvG,SAAgB+7B,EAAqBljC,EAAY4nB,GAC/C,IAAMkB,EAAWga,EAAY9iC,GACvB/J,EAAM,GAQZ,OAPA,EAAAsK,KAAKuoB,GAAU,SAAC5mB,GACd,IACM+gC,EADQ/gC,EAAGoF,MACO06B,gBACpB8qE,EAAcllF,EAAKqb,IACrBhtC,EAAIoE,KAAK6H,MAGNjM,EAET,SAAS8sC,EAAaxc,GACpB,IAAM2K,EAAS,GAYf,OAXA,EAAA3wB,KAAKgmB,GAAM,SAACwd,GAEV,GAAgB,MADAA,EAAI,GAElB,IAAK,IAAI3wC,EAAI,EAAGA,EAAI2wC,EAAIpuC,OAAQvC,GAAQ,EACtC89B,EAAO72B,KAAK,CAAC0pC,EAAI3wC,GAAI2wC,EAAI3wC,EAAI,SAE1B,CACL,IAAM,EAAS2wC,EAAIpuC,OACnBu7B,EAAO72B,KAAK,CAAC0pC,EAAI,EAAS,GAAIA,EAAI,EAAS,SAGxC7S,EAQT,SAAgB67E,EAAkB/sG,EAAYumB,GAC5C,IAAMuC,EAAWga,EAAY9iC,GACvBkxB,EAAS6R,EAAaxc,GAY5B,OAXYuC,EAASkK,QAAO,SAAC9wB,GAC3B,IACI8gC,EADE17B,EAAQpF,EAAGoF,MAEjB,GAA0B,SAAtBA,EAAMrT,IAAI,QACZ+uC,EAAcD,EAAaz7B,EAAMsiB,KAAK,aACjC,CACL,IAAMqZ,EAAY37B,EAAM06B,gBACxBgB,EAAc,EAAAgqE,SAAS/pE,GAEzB,OAAO,UAAoB/R,EAAQ8R,MAyEvC,SAAgBK,EAAgBrjC,EAAYojC,EAAe1b,GACzD,IAAM6c,EAZR,SAAyBvkC,EAAY0nB,GAEnC,OADc1nB,EAAKyoB,gBACNkV,OAAOjW,GAUA8c,CAAgBxkC,EAAM0nB,GAC1C,OAAO0b,EAAQ3a,gBAAgB6O,QAAQiN,GAtTzC,6BAAkC3J,GAChC,IACI7R,EACEpxB,EAFQijC,EAAQ3gB,MAEDtiB,OAIrB,OAHIA,IACFoxB,EAAUpxB,EAAO1D,IAAI,YAEhB80B,GAQT,+BAAoC6R,GAClC,IAEIuH,EADExqC,EADQijC,EAAQ3gB,MACDtiB,OAKrB,OAHIA,IACFwqC,EAAiBxqC,EAAO1D,IAAI,mBAEvBkuC,GAGT,2BAAgCvH,GAC9B,IAAM3gB,EAAQ2gB,EAAQ3gB,MAAMgC,OAE5B,QAAIhC,GAASA,EAAMooB,WAAapoB,EAAMqoB,SAAWroB,EAAMooB,UAAUpuC,IAAI,aAAegmB,EAAMqoB,QAAQruC,IAAI,aAWxG,kBAAuBkuC,GACrB,OAAOA,GAAkBA,EAAetW,WAAasW,EAAetW,UAAU0W,UAQhF,oBAAyBJ,GACvB,OAAOA,GAAkBA,EAAetW,WAAasW,EAAetW,UAAU2W,YAQhF,kBAAuB5H,GACrB,IACMjjC,EADQijC,EAAQ3gB,MACDtiB,OACrB,OAAOA,GAAiC,SAAvBA,EAAO1D,IAAI,SAQ9B,6BAAkC2mC,EAA8BkH,GAE9D,GAA2B,SADZlH,EAAQ3gB,MAAMtiB,OAClB1D,IAAI,QAAoB,CACjC,IAAM0uC,EAvFV,SAAqB/H,EAA8BkH,GACjD,IACMc,EADQhI,EAAQ3gB,MACEtiB,OAClBoqC,EAAWa,EAAUZ,gBAE3B,OAAMD,EAAS3kC,OAAS0kC,GAAaC,EAAS1kC,QAAUykC,EAGjDc,EAAUhZ,KAAK,QAFb,KAiFUiZ,CAAYjI,EAASkH,GACtC,IAAKa,EACH,OAEF,OAAOoqE,EAAkBnyE,EAAQ56B,KAAM2iC,GAEzC,IAAMZ,EAAWF,EAAYjH,EAASkH,GAEtC,OAAKC,EAGEmB,EAAqBtI,EAAQ56B,KAAM+hC,GAFjC,MAQX,kCAAuCnH,EAA8BwI,EAAetB,GAClF,IAAMC,EAAWF,EAAYjH,EAASkH,GAEtC,IAAKC,EACH,OAAO,KAET,IAAM/hC,EAAO46B,EAAQ56B,KACfmX,EAAQksB,EAAgBrjC,EAAMojC,EAAS,CAAEriC,EAAGghC,EAAShhC,EAAGvH,EAAGuoC,EAASvoC,IACpE4d,EAAMisB,EAAgBrjC,EAAMojC,EAAS,CAAEriC,EAAGghC,EAAS76B,KAAM1N,EAAGuoC,EAAS36B,OAO3E,OAAO87B,EAAqBE,EANhB,CACVn8B,KAAMkQ,EAAMpW,EACZoG,KAAMgQ,EAAM3d,EACZ0N,KAAMkQ,EAAIrW,EACVqG,KAAMgQ,EAAI5d,KAUd,gBAsBA,8BAAmCwG,EAAYhB,EAAe3K,GAE5D,OADiByuC,EAAY9iC,GACbgzB,QAAO,SAAC9wB,GACtB,OAAOyhC,EAAgBzhC,EAAIlD,KAAW3K,MAU1C,8BAAmC2L,EAAYwjC,GAC7C,IAAMjkB,EAAavf,EAAKuf,WACpBtpB,EAAiB,GAKrB,OAJA,EAAAsK,KAAKgf,GAAY,SAACyC,GAChB,IAAM8G,EAAW9G,EAAKyhB,eAAc,SAACvhC,GAAO,OAAAA,EAAGwhC,SAAH,MAC5CztC,EAAMA,EAAI8E,OAAO+tB,MAEZ7yB,GAST,oBAkBA,kBAUA,yBAiCA,sBAsBA,yBAA8B+J,GAC5B,OAAOA,EAAKgkC,gBAAgB3oB,KAAI,SAAC4oB,GAAwB,OAAAA,EAAA,cAI3D,oBAAyB1U,EAAWC,GAClC,IAAM0U,EAAK1U,EAAGzuB,EAAIwuB,EAAGxuB,EACfojC,EAAK3U,EAAGh2B,EAAI+1B,EAAG/1B,EACrB,OAAO0M,KAAKI,KAAK49B,EAAKA,EAAKC,EAAKA,IAIlC,qBAA0BjT,EAAiB1C,GACzC,GAAI0C,EAAOv7B,QAAU,EACnB,OAAO,EAAA6pC,YAAYtO,GAAQ,GAE7B,IAAM2O,EAAQ3O,EAAO,GACf77B,EAAM,GACZ,EAAAkL,KAAK2wB,GAAQ,SAACxJ,GACZryB,EAAIgF,KAAKqtB,EAAM3mB,GACf1L,EAAIgF,KAAKqtB,EAAMluB,MAEjB,IAAM+sB,EAAO,EAAA8X,kBAAkBhpC,EAAKm5B,EAAG,MAEvC,OADAjI,EAAKyZ,QAAQ,CAAC,IAAKH,EAAM9+B,EAAG8+B,EAAMrmC,IAC3B+sB,GAST,mBAAwBqB,EAAWF,GACjC,OAAOE,EAAI7mB,GAAK2mB,EAAM3mB,GAAK6mB,EAAI1gB,MAAQwgB,EAAM3mB,GAAK6mB,EAAIpuB,GAAKkuB,EAAMluB,GAAKouB,EAAIxgB,KAAOsgB,EAAMluB,GASzF,uBAA4BwG,GAC1B,IAAM+J,EAAS/J,EAAK+J,OAChBu6B,EAAW,KAIf,OAHIv6B,IACFu6B,EAAWv6B,EAAO4V,MAAMqT,QAAO,SAACkM,GAAQ,OAAAA,IAAA,MAEnCoF,GAcT,oBAiBA,uBAA4BI,EAAmBd,EAAgBe,EAAgB9iB,GAC7E,IAAI+iB,GAAO,EAOX,OANA,EAAArkC,KAAKmkC,GAAS,SAACxwC,GACb,GAAIA,EAAEywC,KAAYf,EAAOe,IAAWzwC,EAAE2tB,KAAY+hB,EAAO/hB,GAEvD,OADA+iB,GAAO,GACA,KAGJA,GAIT,2BAAgB7lC,EAAgBiB,EAAYhB,GAC1C,IAAIihB,EAAQjgB,EAAKjB,gBAAgBC,GASjC,OARKihB,GAASjgB,EAAK2f,OACjB,EAAApf,KAAKP,EAAK2f,OAAO,SAAC2jB,GAEhB,GADArjB,EAAQlhB,EAAgBukC,EAAStkC,GAE/B,OAAO,KAINihB,I,uHDhYT,WACA,QAOA,aAcE,WAAYlf,EAAevH,EAAe4D,EAAmBC,QAAjD,IAAA0D,MAAA,QAAe,IAAAvH,MAAA,QAAe,IAAA4D,MAAA,QAAmB,IAAAC,MAAA,GAC3DtG,KAAKgK,EAAIA,EACThK,KAAKyC,EAAIA,EACTzC,KAAKsG,OAASA,EACdtG,KAAKqG,MAAQA,EAiLjB,OAzLgB,EAAAyjC,UAAd,SAAwB55B,EAAcE,EAAcD,EAAcE,GAChE,OAAO,IAAI1E,EAAKuE,EAAME,EAAMD,EAAOD,EAAMG,EAAOD,IAUlD,sBAAW,mBAAI,C,IAAf,WACE,OAAOpQ,KAAKgK,G,gCAGd,sBAAW,mBAAI,C,IAAf,WACE,OAAOhK,KAAKgK,EAAIhK,KAAKqG,O,gCAGvB,sBAAW,mBAAI,C,IAAf,WACE,OAAOrG,KAAKyC,G,gCAGd,sBAAW,mBAAI,C,IAAf,WACE,OAAOzC,KAAKyC,EAAIzC,KAAKsG,Q,gCAGvB,sBAAW,iBAAE,C,IAAb,WACE,MAAO,CAAE0D,EAAGhK,KAAKgK,EAAGvH,EAAGzC,KAAKyC,I,gCAG9B,sBAAW,iBAAE,C,IAAb,WACE,MAAO,CAAEuH,EAAGhK,KAAKmQ,KAAM1N,EAAGzC,KAAKyC,I,gCAGjC,sBAAW,iBAAE,C,IAAb,WACE,MAAO,CAAEuH,EAAGhK,KAAKgK,EAAGvH,EAAGzC,KAAKqQ,O,gCAG9B,sBAAW,iBAAE,C,IAAb,WACE,MAAO,CAAErG,EAAGhK,KAAKmQ,KAAM1N,EAAGzC,KAAKqQ,O,gCAGjC,sBAAW,kBAAG,C,IAAd,WACE,MAAO,CACLrG,EAAGhK,KAAKgK,EAAIhK,KAAKqG,MAAQ,EACzB5D,EAAGzC,KAAKoQ,O,gCAIZ,sBAAW,oBAAK,C,IAAhB,WACE,MAAO,CACLpG,EAAGhK,KAAKmQ,KACR1N,EAAGzC,KAAKyC,EAAIzC,KAAKsG,OAAS,I,gCAG9B,sBAAW,qBAAM,C,IAAjB,WACE,MAAO,CACL0D,EAAGhK,KAAKgK,EAAIhK,KAAKqG,MAAQ,EACzB5D,EAAGzC,KAAKqQ,O,gCAGZ,sBAAW,mBAAI,C,IAAf,WACE,MAAO,CACLrG,EAAGhK,KAAKkQ,KACRzN,EAAGzC,KAAKyC,EAAIzC,KAAKsG,OAAS,I,gCAUvB,YAAAyjC,QAAP,SAAexkB,GACb,OAAOvlB,KAAKgK,IAAMub,EAAKvb,GAAKhK,KAAKyC,IAAM8iB,EAAK9iB,GAAKzC,KAAKqG,QAAUkf,EAAKlf,OAASrG,KAAKsG,SAAWif,EAAKjf,QAO9F,YAAA8rB,MAAP,WACE,OAAO,IAAIzmB,EAAK3L,KAAKgK,EAAGhK,KAAKyC,EAAGzC,KAAKqG,MAAOrG,KAAKsG,SAO5C,YAAAkiC,IAAP,W,IAAW,sDACT,IAAMjjB,EAAOvlB,KAAKoyB,QAQlB,OAPA,EAAA5oB,KAAKwgC,GAAS,SAACtqC,GACb6lB,EAAKvb,EAAImF,KAAKsP,IAAI/e,EAAEsK,EAAGub,EAAKvb,GAC5Bub,EAAK9iB,EAAI0M,KAAKsP,IAAI/e,EAAE+C,EAAG8iB,EAAK9iB,GAC5B8iB,EAAKlf,MAAQ8I,KAAKqP,IAAI9e,EAAEyQ,KAAMoV,EAAKpV,MAAQoV,EAAKvb,EAChDub,EAAKjf,OAAS6I,KAAKqP,IAAI9e,EAAE2Q,KAAMkV,EAAKlV,MAAQkV,EAAK9iB,KAG5C8iB,GAOF,YAAA0kB,MAAP,W,IAAa,sDACX,IAAM1kB,EAAOvlB,KAAKoyB,QAQlB,OAPA,EAAA5oB,KAAKwgC,GAAS,SAACtqC,GACb6lB,EAAKvb,EAAImF,KAAKqP,IAAI9e,EAAEsK,EAAGub,EAAKvb,GAC5Bub,EAAK9iB,EAAI0M,KAAKqP,IAAI9e,EAAE+C,EAAG8iB,EAAK9iB,GAC5B8iB,EAAKlf,MAAQ8I,KAAKsP,IAAI/e,EAAEyQ,KAAMoV,EAAKpV,MAAQoV,EAAKvb,EAChDub,EAAKjf,OAAS6I,KAAKsP,IAAI/e,EAAE2Q,KAAMkV,EAAKlV,MAAQkV,EAAK9iB,KAG5C8iB,GAQF,YAAAuI,IAAP,SAAWkc,EAAelK,GACxB,IAAMz5B,EAAQ2jC,EAAQ3jC,MAChBC,EAAS0jC,EAAQ1jC,OAEvB,OAAQw5B,GACN,KAAK,EAAA3a,UAAU4I,IACf,KAAK,EAAA5I,UAAU+kB,SACf,KAAK,EAAA/kB,UAAUglB,UACb,OAAOx+B,EAAKm+B,UAAU9pC,KAAKkQ,KAAMlQ,KAAKoQ,KAAO9J,EAAQtG,KAAKmQ,KAAMnQ,KAAKqQ,MAEvE,KAAK,EAAA8U,UAAU6a,MACf,KAAK,EAAA7a,UAAUilB,UACf,KAAK,EAAAjlB,UAAUklB,aACb,OAAO1+B,EAAKm+B,UAAU9pC,KAAKkQ,KAAMlQ,KAAKoQ,KAAMpQ,KAAKmQ,KAAO9J,EAAOrG,KAAKqQ,MAEtE,KAAK,EAAA8U,UAAU8a,OACf,KAAK,EAAA9a,UAAUmlB,YACf,KAAK,EAAAnlB,UAAUolB,aACb,OAAO5+B,EAAKm+B,UAAU9pC,KAAKkQ,KAAMlQ,KAAKoQ,KAAMpQ,KAAKmQ,KAAMnQ,KAAKqQ,KAAO/J,GAErE,KAAK,EAAA6e,UAAU+a,KACf,KAAK,EAAA/a,UAAUqlB,SACf,KAAK,EAAArlB,UAAUslB,YACb,OAAO9+B,EAAKm+B,UAAU9pC,KAAKkQ,KAAO7J,EAAOrG,KAAKoQ,KAAMpQ,KAAKmQ,KAAMnQ,KAAKqQ,MACtE,QAEE,OAAOrQ,OAQN,YAAA0qC,OAAP,SAAcC,GACL,IAAA9P,EAA4B8P,EAAzB,GAAE/P,EAAuB+P,EAAlB,GAAE7P,EAAgB6P,EAAV,GAAEhQ,EAAQgQ,EAAJ,GAE/B,OAAO,IAAIh/B,EAAK3L,KAAKgK,EAAI2wB,EAAM36B,KAAKyC,EAAIo4B,EAAK76B,KAAKqG,MAAQs0B,EAAOC,EAAO56B,KAAKsG,OAASu0B,EAAMC,IAQvF,YAAA8P,OAAP,SAAcrlB,GACZ,MAAO,CACLpW,KAAKqP,KAAKxe,KAAKoQ,KAAOmV,EAAKnV,KAAM,GACjCjB,KAAKqP,IAAIxe,KAAKmQ,KAAOoV,EAAKpV,KAAM,GAChChB,KAAKqP,IAAIxe,KAAKqQ,KAAOkV,EAAKlV,KAAM,GAChClB,KAAKqP,KAAKxe,KAAKkQ,KAAOqV,EAAKrV,KAAM,KAQ9B,YAAA26B,KAAP,WACE,OAAO7qC,KAAKqG,MAAQrG,KAAKsG,QAE7B,EAnMA,GAAa,EAAAqF,OA0MA,EAAAuqG,cAAgB,SAAC3wF,EAAYgE,GAChC,IAAAnJ,EAAemJ,EAAV,MAAElJ,EAAQkJ,EAAL,IAElB,OAAO,IAAI5d,EACT4Z,EAAKvb,EAAIub,EAAKlf,MAAQ+Z,EAAMpW,EAC5Bub,EAAK9iB,EAAI8iB,EAAKjf,OAAS8Z,EAAM3d,EAC7B8iB,EAAKlf,MAAQ8I,KAAKsmB,IAAIpV,EAAIrW,EAAIoW,EAAMpW,GACpCub,EAAKjf,OAAS6I,KAAKsmB,IAAIpV,EAAI5d,EAAI2d,EAAM3d,KAQzC,oBAAyB8iB,GACvB,MAAO,CACL,CAACA,EAAKrV,KAAMqV,EAAKnV,MACjB,CAACmV,EAAKpV,KAAMoV,EAAKnV,MACjB,CAACmV,EAAKpV,KAAMoV,EAAKlV,MACjB,CAACkV,EAAKrV,KAAMqV,EAAKlV,S,qTtJrOrB,WAsEA,SAAgB,EAAW,EAAW,EAAW,EAAe,GAC9D,MAAO,CACL,EAAC,EACD,EAAC,EACD,MAAK,EACL,OAAM,EACN,KAAM,EACN,KAAM,EACN,KAAM,EAAI,EACV,KAAM,EAAI,GAId,SAAgB,EAAkB,EAAa,EAAa,GAC1D,OAAQ,EAAI,GAAW,EAAM,EAAM,EAUrC,SAAgB,EAAS,EAAW,GAClC,IAAM,EAAK,EAAG,EAAI,EAAG,EACf,EAAK,EAAG,EAAI,EAAG,EACrB,OAAO,KAAK,KAAK,EAAK,EAAK,EAAK,GAYlC,SAAgB,EAAc,EAAY,GACxC,IAAM,EAAO,KAAK,IAAI,EAAK,KAAM,EAAK,MAChC,EAAO,KAAK,IAAI,EAAK,KAAM,EAAK,MAGtC,OAAO,EAAW,EAAM,EAFX,KAAK,IAAI,EAAK,KAAM,EAAK,MAED,EADxB,KAAK,IAAI,EAAK,KAAM,EAAK,MACY,GA/GpD,yBAA8B,GAC5B,IAAI,EAAM,EACN,EAAO,EACP,EAAQ,EACR,EAAS,EAWb,OATI,WAAS,GACX,EAAM,EAAO,EAAQ,EAAS,EACrB,UAAQ,KACjB,EAAM,EAAQ,GACd,EAAS,QAAM,EAAQ,IAAmB,EAAQ,GAArB,EAAQ,GACrC,EAAU,QAAM,EAAQ,IAAmB,EAAQ,GAArB,EAAQ,GACtC,EAAQ,QAAM,EAAQ,IAAmB,EAAb,EAAQ,IAG/B,CAAC,EAAK,EAAO,EAAQ,IAG9B,oBAAyB,GAGvB,IAFA,IAAM,EAAW,EAAU,WAElB,EADM,EAAS,OACF,EAAG,GAAK,EAAG,IAC/B,EAAU,YAAY,EAAS,KAInC,oBAAyB,EAAU,GACjC,QAAS,EAAS,UAAU,MAAM,IAAI,OAAO,UAAU,EAAK,aAG9D,wBAA6B,GACnB,MAAe,EAAV,MAAE,EAAQ,EAAL,IACZ,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GAC7B,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GAC7B,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GAC7B,EAAO,KAAK,IAAI,EAAM,EAAG,EAAI,GACjC,MAAK,CACL,EAAG,EACH,EAAG,EACCH,OACAE,OACAD,OACAE,OACJ,MAAO,EAAO,EACd,OAAQ,EAAO,IAInB,wBAA6B,GAC3B,IAAM,EAAe,EAAO,KAAI,SAAC,GAAU,cACrC,EAAe,EAAO,KAAI,SAAC,GAAU,cACrC,EAAO,KAAK,IAAG,MAAR,KAAY,GACnB,EAAO,KAAK,IAAG,MAAR,KAAY,GACnB,EAAO,KAAK,IAAG,MAAR,KAAY,GACnB,EAAO,KAAK,IAAG,MAAR,KAAY,GACzB,MAAO,CACL,EAAG,EACH,EAAG,EACH,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,KAAI,EACJ,MAAO,EAAO,EACd,OAAQ,EAAO,IAInB,eAaA,sBAIA,0BAA+B,EAAe,EAAgB,GAC5D,MAAO,CACL,EAAG,EAAO,EAAI,KAAK,IAAI,GAAS,EAChC,EAAG,EAAO,EAAI,KAAK,IAAI,GAAS,IAIpC,aAMa,OAAO,SAAC,GACnB,OAAO,IAAI,SAAQ,SAAC,GAClB,WAAW,EAAS,OAIX,OAAO,SAAC,EAAW,GAC9B,OAAC,EAAG,GAAG,SAAS,KAAY,KAAK,IAAI,KAAO,KAAK,IAAI,GAAK,KAAK,IAAI,EAAI,GAAK,KAAK,IAAI,OAAO,QAAS,KAEvG,kBAQA,qBAA0B,EAAY,GACpC,IAAM,EAAO,KAAK,IAAI,EAAK,KAAM,EAAK,MAChC,EAAO,KAAK,IAAI,EAAK,KAAM,EAAK,MAGtC,OAAO,EAAW,EAAM,EAFX,KAAK,IAAI,EAAK,KAAM,EAAK,MAED,EADxB,KAAK,IAAI,EAAK,KAAM,EAAK,MACY,IAGpD,2BAAgB,EAAgB,GAC9B,IAEI,EAFE,EAAY,EAAQ,UACpB,EAAW,GAAa,EAAU,UAExC,GAAK,EAAQ,UAGN,CACL,IAAI,EAAO,IACP,GAAQ,IACR,EAAO,IACP,GAAQ,IACN,EAAY,EAAmB,cACjC,EAAS,OAAS,EACpB,OAAK,GAAU,SAAC,GACd,GAAI,EAAM,IAAI,WAAY,CAExB,GAAI,EAAM,WAA8C,IAAjC,EAAM,IAAI,YAAY,OAC3C,OAAO,EAET,IAAM,EAAM,EAAgB,GAEtB,EAAU,EAAM,cAAc,CAAC,EAAI,KAAM,EAAI,KAAM,IACnD,EAAa,EAAM,cAAc,CAAC,EAAI,KAAM,EAAI,KAAM,IACtD,EAAW,EAAM,cAAc,CAAC,EAAI,KAAM,EAAI,KAAM,IACpD,EAAc,EAAM,cAAc,CAAC,EAAI,KAAM,EAAI,KAAM,IAEvD,EAAU,KAAK,IAAI,EAAQ,GAAI,EAAW,GAAI,EAAS,GAAI,EAAY,IACvE,EAAU,KAAK,IAAI,EAAQ,GAAI,EAAW,GAAI,EAAS,GAAI,EAAY,IACvE,EAAU,KAAK,IAAI,EAAQ,GAAI,EAAW,GAAI,EAAS,GAAI,EAAY,IACvE,EAAU,KAAK,IAAI,EAAQ,GAAI,EAAW,GAAI,EAAS,GAAI,EAAY,IAEzE,EAAU,IACZ,EAAO,GAGL,EAAU,IACZ,EAAO,GAGL,EAAU,IACZ,EAAO,GAGL,EAAU,IACZ,EAAO,QAKb,EAAO,EACP,EAAO,EACP,EAAO,EACP,EAAO,GAET,EAAO,EAAW,EAAM,EAAM,EAAO,EAAM,EAAO,QAjDlD,EAAO,EAAQ,UAmDjB,OAAI,EACK,EAAc,EAAM,GAEpB,GAIX,sBAA2B,EAAmB,GAC5C,GAAK,EAAQ,WAAc,EAAW,UAAtC,CAIA,IAAM,EAAe,EAAW,UAChC,GAAK,EAAL,CAKA,IAAM,EAAU,CACd,KAAM,EAAa,IAAI,QACvB,MAAO,EAAa,QAEtB,EAAQ,QAAQ,QAPd,EAAQ,QAAQ,QAUpB,gBAAqB,GACnB,OAAU,EAAM,MAGlB,wBAA6B,EAAc,EAAY,EAAkB,GACvE,IACM,EAAgB,EADH,EAAS,EAAO,GAE/B,EAAU,EAMd,MALiB,UAAb,EACF,EAAU,EAAI,EACQ,QAAb,IACT,EAAU,EAAI,GAET,CACL,EAAG,EAAkB,EAAM,EAAG,EAAI,EAAG,GACrC,EAAG,EAAkB,EAAM,EAAG,EAAI,EAAG,M,oFmF/NzC,aAGI,EAAJ,MAEA,kBAEG,GAAG,EAAS,iBAAoB,CAC/B,SAAU,WACR,WAAU,UAGV,OAAM,EACN,WACA,oIAGA,gBAAe,2BACf,UAAS,uBACT,aAAY,MACZ,MAAK,kBACL,SAAQ,OACR,WAAU,UAAM,WAChB,WAAU,OACV,QAAO,sBAEX,EAAC,GAAG,EAAS,aAAgB,CACzB,aAAY,OAEhB,EAAC,GAAG,EAAS,YAAe,CACxB,OAAM,MACN,cAAa,OACb,QAAO,OAEX,EAAC,GAAG,EAAS,iBAAoB,CAC7B,cAAa,OACb,aAAY,OAEhB,EAAC,GAAG,EAAS,cAAiB,CAC1B,MAAK,MACL,OAAM,MACN,aAAY,MACZ,QAAO,eACP,YAAW,OAEf,EAAC,GAAG,EAAS,aAAgB,CACzB,QAAO,eACP,MAAK,QACL,WAAU,QAEd,EAAC,GAAG,EAAS,aAAgB,CACzB,SAAQ,WACR,MAAK,MACL,gBAAe,uBAEnB,EAAC,GAAG,EAAS,aAAgB,CACzB,SAAQ,WACR,OAAM,MACN,gBAAe,uBAEnB,I,yFoV3DF,OACA,QAEA,2BAqBA,aAgBE,WAAY5H,GAdL,KAAA8d,SAAmB,MAEnB,KAAAxf,WAAqB,EAa1B,EAAA5G,OAAOH,KAAayI,GACpBzI,KAAKioB,OAsHT,OAnHS,YAAA4F,QAAP,sBACE,GAAI7tB,KAAKuQ,MAAO,CAEd,IAAMgV,EAAOvlB,KAAKuQ,MAAMsd,UACxB,GAAmB,IAAf7tB,KAAKtB,MACP,OAAO,UAAK4mB,eAAeC,GAE7B,IAAM,EAAUvlB,KAAK4G,KAAKH,MAAMqd,YAAYwC,QAQ5C,OAPI,EAAAlE,QAAQ,IACV,EAAA5Y,KAAK,GAAS,SAAC2sG,EAAIz3G,GACa,mBAAnB,EAAQA,KACjB,EAAQA,GAAS,EAAQA,GAAO,EAAKkI,KAAKgf,QAAQxB,OAAOmC,cAIxD,IAAI,UAAKhB,EAAKpV,KAAMoV,EAAKnV,KAAMmV,EAAKlf,MAAOkf,EAAKjf,QAEzD,OAAO,MAGF,YAAAuiB,MAAP,WACM7oB,KAAKuQ,OAEPvQ,KAAKuQ,MAAMsiB,KAAK,OAAQ,KAIrB,YAAAzrB,QAAP,WACMpH,KAAKuQ,OACPvQ,KAAKuQ,MAAMzF,SAEb9K,KAAK+G,WAAY,GAGX,YAAAkhB,KAAR,WACE,IAAMgwC,EAAUj4D,KAAKo2G,cACf,EAAWp2G,KAAK81F,cAAd9rF,EAAC,IAAEvH,EAAC,IACZzC,KAAKuQ,MAAQvQ,KAAK8F,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,EAAA3D,IACL,CACE1kB,EAAC,EACDvH,EAAC,EACD4jB,KAAM4xC,GAERj4D,KAAK4I,MACL,CACEmnB,UAAW/vB,KAAKk2F,mBAKtBl2F,KAAKuQ,MAAM3T,KAAOoD,KAAKpD,MAGf,YAAAk5F,YAAV,WACE,MAAqB,SAAjB91F,KAAKomB,QACA,CAAEpc,EAAGhK,KAAKuuB,WAAY9rB,EAAGzC,KAAKyuB,WACX,WAAjBzuB,KAAKomB,QACP,CAAEpc,EAAGhK,KAAKuuB,WAAavuB,KAAK2uB,aAAe,EAAGlsB,EAAGzC,KAAKyuB,WAEtD,CAAEzkB,EAAGhK,KAAKwuB,YAAa/rB,EAAGzC,KAAKyuB,YAIhC,YAAAynE,aAAV,WACE,MAAqB,SAAjBl2F,KAAKomB,QACA,OACmB,WAAjBpmB,KAAKomB,QACP,SAEA,SAQH,YAAAgwF,YAAR,WACE,IAAM/vG,EAAQrG,KAAK2uB,aACb/lB,EAAQ5I,KAAK4I,MACbmkE,EAAsB/sE,KAAKqmB,KAC3BgwF,EAASr2G,KAAK8F,UAAUotB,SAAS,OAAQ,CAC7Cb,MAAO,EAAF,UACHhM,KAAM,GACNrc,EAAG,EACHvH,EAAG,GACAmG,KAID0tG,EADUvpC,EAAY9/C,MAAM,MACH3I,KAAI,SAACiyF,GAIlC,IAHA,IAAIlwF,EAAO,GACLmwF,EAAQD,EAAYtpF,MAAM,IAC1BwpF,EAAuB,GACpBp6G,EAAI,EAAGA,EAAIm6G,EAAM53G,OAAQvC,IAAK,CACrC,IAAMsN,EAAO6sG,EAAMn6G,GAGnB,GAFAg6G,EAAOxjF,KAAK,OAASxM,GAAQ1c,GACR0sG,EAAOxoF,UAAUxnB,MAAQ,EAC3BA,EAAO,CAExB,GAAU,IAANhK,EACF,MAEFo6G,EAAWnzG,KAAKjH,GAChBgqB,EAAO,IAIX,OAAO,EAAAqwF,UAAUF,EAAOC,MAI1B,OADAJ,EAAOvrG,SACAwrG,EAAet0F,KAAK,OAE/B,EAxIA,G,qLCzBA,WAGa,EAAA20F,iBAAmB,W,IAAC,sDAA+B,gBAACtwF,EAAc1c,EAAWR,GACxF,OAAAytG,EAAWrvF,QAAO,SAACsvF,EAASn5E,GAAc,OAAAA,EAAUm5E,EAASltG,EAAMR,KAAMkd,KAE9D,EAAAywF,iBAAmB,WAAM,gBAACzwF,GAAiB,OAAAA,IAE3C,EAAA0wF,sBAAwB,SAACj4G,GAAuB,gBAACunB,GAC5D,IAAMxnB,EAAMm1B,OAAO3N,GACnB,OAAO9H,MAAM1f,IAAQ,EAAAuH,MAAMtH,GAAaunB,EAAOxnB,EAAI02B,QAAQz2B,KAGhD,EAAAk4G,mBAAqB,SAACC,GAAoB,gBAAC5wF,GACtD,OAAO,EAAAjgB,MAAM6wG,GAAU5wF,EAAUA,EAAI,IAAI4wF,K,yFCV3C,2BACA,OAKA,cAKE,mBACE,cAAO,K,OACP,EAAKC,QAAU,GACf,EAAKC,YAAc,G,EAwDvB,OAhE0C,iBAWjC,YAAAxrF,SAAP,SAAgB/uB,EAAc26F,GAC5Bv3F,KAAKm3G,YAAYv6G,GAAQ26F,EACzBv3F,KAAKo3G,aAGA,YAAAC,SAAP,SAAgBz6G,GACd,OAAOoD,KAAKk3G,QAAQt6G,IAGf,YAAA06G,aAAP,WACE,OAAOt3G,KAAKk3G,SAGP,YAAAruF,MAAP,WACE7oB,KAAKk3G,QAAU,GACfl3G,KAAKm3G,YAAc,GACfn3G,KAAKu3G,eACP5kG,aAAa3S,KAAKu3G,cAClBv3G,KAAKu3G,aAAe,OAIhB,YAAAH,UAAR,sBACQI,EAAax3G,KAAKm3G,YAEpBn3G,KAAKu3G,eACP5kG,aAAa3S,KAAKu3G,cAClBv3G,KAAKu3G,aAAe,MAGtBv3G,KAAKu3G,aAAehmG,YAAW,WAE7B,EAAA/H,KAAKguG,GAAY,SAACjgB,EAAK36F,GACrB,IAAMswD,EAAQsqD,EAAW56G,GACpB,EAAKs6G,QAAQt6G,IAAS,EAAKs6G,QAAQt6G,KAAU26F,IAEhD,EAAK2f,QAAQt6G,GAAQ26F,EAErB,EAAKkgB,cAAc76G,EAAMswD,OAK7B,EAAKiqD,YAAc,KAClB,KAGG,YAAAM,cAAR,SAAsB76G,EAAc26F,GAClCv3F,KAAK8nB,KAAQlrB,EAAI,UAAW,CAC1BA,KAAI,EACJ26F,IAAG,KAGT,EAhEA,CAA0C,W,wHCV1C,WAUa,EAAAmgB,oBAAsB,SACjCzvG,EACAyY,EACA1hB,EACA,EACA24G,G,IADCv3F,EAAK,KAAEC,EAAG,UACX,IAAAs3F,OAAA,GAEA,IAAMC,EAAc,EAAAnP,QAAQzpG,EAAMiJ,GAC5B4vG,EAAYF,EAAWj3F,EAAOE,MAAMF,EAAO9hB,OAASyhB,EAAKK,EAAO9hB,OAASwhB,GAASM,EAAOE,MAAMR,EAAOC,GAE5G,OAAO,EAAAmH,QAAQ,EAAAlD,IAAIuzF,GAAW,SAACv6G,GAAkB,OAAAs6G,EAAYt6G,IAAU,S,6GCpBzE,SAAYyqB,GACV,2BACA,yBACA,+BACA,6BACA,wCACA,sCANF,CAAY,EAAAA,wBAAA,EAAAA,sBAAqB,M,qICAjC,OAEMw2C,EADSt4D,SAASymB,cAAc,UACnB8xC,WAAW,MAajB,EAAAs5C,iBAAmB,EAAAC,SAC9B,SAAC1xF,EAAW2xF,QAAA,IAAAA,MAAA,IACF,IAAAloF,EAA6DkoF,EAAI,SAAvDh1E,EAAmDg1E,EAAI,WAA3CC,EAAuCD,EAAI,WAA/BE,EAA2BF,EAAI,UAApBG,EAAgBH,EAAI,YAEzE,OADAz5C,EAAIy5C,KAAO,CAACE,EAAWC,EAAaF,EAAenoF,EAAQ,KAAMkT,GAAYhhB,KAAK,KAC3Eu8C,EAAI65C,YAAY,EAAAvrF,SAASxG,GAAQA,EAAO,IAAIhgB,SAErD,SAACggB,EAAW2xF,GAAe,OAACA,EAAO,kBAAC3xF,GAAS,EAAA3F,OAAOs3F,IAAOh2F,KAAK,IAAMqE,KAa3D,EAAAs3E,gBAAkB,SAACt3E,EAAWirD,EAAkB0mC,GAC3D,IAGIK,EAFEC,EAAY,EAAAR,iBAAiB,MAAOE,GAOxCK,EAHG,EAAAxrF,SAASxG,GAGDA,EAFA,EAAA5nB,SAAS4nB,GAKtB,IAGIkyF,EACAC,EAJAC,EAAYnnC,EAEVn0E,EAAI,GAIV,GAAI,EAAA26G,iBAAiBzxF,EAAM2xF,IAAS1mC,EAClC,OAAOjrD,EAKT,KAEEkyF,EAAcF,EAASr6E,OAAO,EAzBnB,OA4BXw6E,EAAe,EAAAV,iBAAiBS,EAAaP,IAG1BM,EAAYG,GACzBD,EAAeC,IAYrB,GAPAt7G,EAAEmG,KAAKi1G,GAGPE,GAAaD,IACbH,EAAWA,EAASr6E,OAzCT,KA6CT,OAAO7gC,EAAE6kB,KAAK,IAMlB,KAEEu2F,EAAcF,EAASr6E,OAAO,EAAG,MAGjCw6E,EAAe,EAAAV,iBAAiBS,EAAaP,IAG1BM,EAAYG,IAS/B,GALAt7G,EAAEmG,KAAKi1G,GAEPE,GAAaD,IACbH,EAAWA,EAASr6E,OAAO,IAGzB,OAAO7gC,EAAE6kB,KAAK,IAIlB,OAAU7kB,EAAE6kB,KAAK,IAAG,Q,4HC5GtB,WACA,SACA,SAGM02F,EAAwC,CAC5CpzG,QAAS,EAAAqzG,qBACTC,KAAM,EAAAC,oBAiBR,SAAgBv1F,EAAe1mB,QAAA,IAAAA,MAAA,WAC7B,IAAM6J,EAAQiyG,EAAiB97G,EAAKgO,eACpC,OAAInE,IAIJ69C,QAAQC,KAAK,8EAA+E3nD,GACrF,EAAA+7G,sBAhBT,+BAAoC/7G,EAAc6J,GAChD,IAAMqyG,EAAex1F,IACrBo1F,EAAiB97G,EAAKgO,eAAiB,EAAAb,QAAQ,GAAI+uG,EAAcryG,IAOnE,oB,2MCtBa,EAAAsyG,eAAiB,CAC5B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAGW,EAAAC,eAAiB,CAC5B,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEF,WAGa,EAAAC,0BAA4B,SAAUC,GACjD,OAAIA,GAAmD,QAAjCA,EAAejsF,MAAM,KAAK,GACvC,GAEF,IAGI,EAAAksF,aAAe,SAACpzG,GAC3B,IAAMqzG,EAAerzG,EAAM8d,OAAS9d,EAAM8d,MAAMsC,QAC1CkzF,EAAqBtzG,EAAM+d,aAAe/d,EAAM+d,YAAYqC,QAClE,OAAIizF,GAAgBC,EAEX,GAEF,IAGI,EAAAC,gBAAkB,SAACvzG,GAC9B,OACE,EAAAw2B,KACEx2B,EAAM2f,cAAgB,IACtB,SAACsD,GACC,OAAsB,WAArBA,EAAYpf,MAA0C,cAArBof,EAAYpf,OACA,cAA7Cof,EAAYvgB,KAAOugB,EAAYvgB,IAAImB,SAGjC,EAEF,IAGI,EAAA+uG,qBAAuB,CAClCtyG,MAAO,IACPC,OAAQ,IACRizG,SAAU,CAAC,EAAAJ,aAAc,GAAI,EAAAG,gBAAiB,IAC9ChzF,QAAS,OACTy3B,aA5EY,UA6EZt9B,OAAQ,EAAAs4F,eACR7J,UAAW,EAAA8J,eACXn1F,MAAO,CACLyC,QAAS,CAAC,GAAI,GAAI,GAAI,IACtB0c,WAAY,cACZlT,SAAU,GACVD,KAAM,QACNE,UAAW,OACXC,aAAc,MACd6wD,WAAY,GACZ24B,eAAe,GAEjB11F,YAAa,CACXwC,QAAS,CAAC,GAAI,GAAI,EAAA2yF,0BAA2B,IAC7Cj2E,WAAY,cACZlT,SAAU,GACVD,KAAM,OACNE,UAAW,OACXC,aAAc,MACd6wD,WAAY,GACZ24B,eAAe,GAEjBr1F,KAAM,CACJ1hB,EAAG,CACD0jB,SAAS,EACTI,SAAU,OACV4hF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,EACTY,KAAM,CACJne,MAAO,CACL0nB,OAAQ,sBACR4rC,UAAW,EACXu9C,SAAU,CAAC,EAAG,MAIpB1yF,KAAM,CACJZ,SAAS,EACTvd,MAAO,CACL0nB,OAAQ,sBACR4rC,UAAW,IAGfl1C,SAAU,CACRb,SAAS,EACTvd,MAAO,CACL0nB,OAAQ,mBACR4rC,UAAW,GACXt9D,OAAQ,IAGZgE,MAAO,CACLujB,SAAS,EACTS,OAAQ,EACRi4D,UAAW,CACThvD,KAAM,mBACNC,SAAU,IAEZ7I,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACLsC,SAAS,EACTgB,QAAS,GACTve,MAAO,CACLinB,KAAM,sBACNC,SAAU,GACVE,aAAc,YAIpBhmB,EAAG,CACDmc,SAAS,EACTI,SAAU,SACV4hF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,EACTY,KAAM,CACJne,MAAO,CACL0nB,OAAQ,sBACR4rC,UAAW,EACXu9C,SAAU,CAAC,EAAG,MAIpB1yF,KAAM,CACJZ,SAAS,EACTvd,MAAO,CACL0nB,OAAQ,sBACR4rC,UAAW,IAGfl1C,SAAU,CACRb,SAAS,EACTvd,MAAO,CACLhK,OAAQ,EACR0xB,OAAQ,sBACR4rC,UAAW,KAGft5D,MAAO,CACLujB,SAAS,EACT04D,UAAW,CACThvD,KAAM,mBACNC,SAAU,IAEZlJ,OAAQ,GACRK,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACLsC,SAAS,EACTgB,QAAS,GACTve,MAAO,CAAEinB,KAAM,sBAAuBC,SAAU,MAGpDwiF,OAAQ,CACNoH,eAAe,EAEf5yF,KAAM,CACJC,KAAM,CACJne,MAAO,CACL6wG,SAAU,KACVv9C,UAAW,EACX5rC,OAAQ,yBAIdvJ,KAAM,CACJne,MAAO,CACLszD,UAAW,EACX5rC,OAAQ,wBAGZtJ,SAAU,CACRpe,MAAO,CACLszD,UAAW,EACX5rC,OAAQ,sBACR1xB,OAAQ,EACR+6G,gBAAgB,IAGpB/2G,MAAO,CACLgkB,OAAQ,GACRi4D,UAAW,CACThvD,KAAM,mBACNC,SAAU,IAEZ7I,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACL+C,OAAQ,GACRhe,MAAO,CAAEinB,KAAM,sBAAuBC,SAAU,MAGpDkR,OAAQ,CACNp+B,MAAO,CACLi8E,UAAW,CACThvD,KAAM,mBACNC,SAAU,OAKlB1L,OAAQ,CACNiJ,UAAU,EACV9G,SAAU,SAEVqzF,aAAc,CAAC,GAAI,GAAI,GAAI,IAC3Bz9E,OAAQ,CAAC,EAAG,GAAI,GAAI,KAEtBv5B,MAAO,CACLgkB,OAAQ,GACRi4D,UAAW,CACThvD,KAAM,WAERjnB,MAAO,CACLinB,KAAM,UACNS,OAAQ,UACR4rC,UAAW,IAGf11C,QAAS,CACP,aAAc,CACZqzF,UAAW,gCAEbjzF,OAAQ,IAIV+nB,WAAY,CACVvqB,OAAQ,CACN+X,OAAQ,CAAC,EAAG,GAAI,GAAI,KAEtB29E,iBAAkB,CAChBj2F,MAAO,CACLjb,MAAO,CACLknB,SAAU,GACVD,KAAM,YAGV9I,KAAM,CACJne,MAAO,CACLuV,QAAS,GAEX47F,cAAe,CACb57F,QAAS,KAGb67F,UAAW,CACTpxG,MAAO,CACLknB,SAAU,GACVD,KAAM,UACN1R,QAAS,GAEX47F,cAAe,CACb57F,QAAS,KAGboP,SAAU,CACR3kB,MAAO,CACLknB,SAAU,GACVD,KAAM,UACN1R,QAAS,GAEX47F,cAAe,CACb57F,QAAS,KAGb8/B,UAAW,CACTr1C,MAAO,CACLknB,SAAU,GACVmoF,WAAY,OACZpoF,KAAM,UACN1R,QAAS,GAEX47F,cAAe,CACb57F,QAAS,S,wIC5TnB,WAMM87F,EAA0C,GAMhD,SAAgBlU,EAAsBn8F,EAAgCnD,GACpE,IAAIyzG,EAAwB,CAC1B3gB,UAAW,YACXsO,YAAa,gBACbsS,WAAY,gBAEVC,EAAU,GACD,SAATxwG,IACFswG,EAAgB,CACdnR,UAAW,YACXxP,UAAW,YACX4gB,WAAY,iBAGhB,IAAME,EAAgB,GAetB,OAdA,EAAA7wG,KAAK/C,GAAO,SAACmC,EAAO0xG,G,MAClB,GAAI,EAAA50G,IAAIw0G,EAAeI,GAAW,CAChC,IAAM,EAAYJ,EAAcI,GAChC,EAAA9wG,KAAKZ,GAAO,SAAC1F,EAAG/D,GACd,EAAAyG,IAAIy0G,EAAkB,EAAS,IAAI,CAAO,WAANl7G,EAAiB,UAAkB,YAANA,EAAkB,WAAaA,GAAE,SAAU+D,WAI9Gk3G,EAAU,EAAArwG,QAAQ,GAAIqwG,IAAO,MAAKE,GAAW1xG,EAAK,OAGjD,EAAAgiB,QAAQyvF,KACXD,EAAU,EAAArwG,QAAQ,GAAIqwG,EAAS,CAAE5xF,WAAY6xF,KAExCD,EA7BT,0BAqCA,yBAA8BxwG,EAAcnD,GAC1CwzG,EAAerwG,EAAKgB,eAAiBm7F,EAAsBn8F,EAAMnD,IAOnE,oBAAyBmD,GACvB,OAAOqwG,EAAerwG,EAAKgB,gBAAkB,K,yFCzD/C,OAGA,2B,+CAsEA,OAtEwC,iBAC/B,YAAAqd,KAAP,WACE,IAAMliB,EAAQ/F,KAAK4G,KAAKgf,QACxB5lB,KAAK2H,OAAS,CACZiC,KAAM,OACN2c,SAAU,CACRuc,OAAQ,CAAC/8B,EAAM8kB,OAAQ9kB,EAAM+kB,SAE/BowC,aAAcn1D,EAAMm1D,eAAgB,GAElCn1D,EAAM+hC,SACR9nC,KAAK2H,OAAO4I,MAAQ,CAAEmQ,OAAQ,CAAC,aAE7B1gB,KAAKu6G,yBAA2Bx0G,EAAMyX,QACxCxd,KAAKomG,cAGHrgG,EAAMgjG,WAAchjG,EAAM2qB,MAAQ3qB,EAAM2qB,KAAK9nB,QAC/C5I,KAAKqmG,cAIF,YAAAD,WAAP,WACE,IAAMrgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAgB,GAChB6yG,EAAoBx6G,KAAKu6G,wBAI/B,GAHIC,IACF7yG,EAAOm7B,OAAS03E,GAEd,EAAA90G,IAAIK,EAAO,SAAU,CACvB,IAAMyX,EAAQzX,EAAMyX,MAChB,EAAAqP,SAASrP,GACX7V,EAAO+Y,OAAS,CAAClD,GACR,EAAAlT,WAAWkT,GACpB7V,EAAOmK,SAAW0L,EACT,EAAA4E,QAAQ5E,KACbg9F,EACF7yG,EAAO+Y,OAASlD,EAEZA,EAAM5e,OAAS,IACjB+I,EAAO+Y,OAAS,CAAClD,EAAM,MAK/Bxd,KAAK2H,OAAO6V,MAAQ7V,GAGf,YAAA0+F,WAAP,WACE,IAAMtgG,EAAQ/F,KAAK4G,KAAKgf,QAClB2gF,EAAaxgG,EAAMgjG,UAAYhjG,EAAMgjG,UAAYhjG,EAAM2qB,KAAK9nB,MAC5DjB,EAAgB,GAClB,EAAA2C,WAAWi8F,IAAexgG,EAAM8zF,aAClClyF,EAAOm7B,OAAS,CAAC/8B,EAAM8zF,aACvBlyF,EAAOmK,SAAWy0F,GAElB5+F,EAAOc,IAAM89F,EAEfvmG,KAAK2H,OAAOiB,MAAQjB,GAGd,YAAA4yG,sBAAR,WAGE,IAFA,IAAMx0G,EAAQ/F,KAAK4G,KAAKgf,QAER,MADI,CAAC,aAAc,eACnB,eAAa,CAAxB,IAAMnpB,EAAC,KACV,GAAI,EAAAS,IAAI6I,EAAOtJ,GACb,MAAO,CAACsJ,EAAMtJ,MAItB,EAtEA,CAFA,yBAEwC,S,sGCHxC,OACA,OACA,QACA,QACA,2BACA,QAEA,EAAAgQ,cAAc,OAAQ,WAAY,CAChChF,KAAI,SAACgB,EAAK3C,GAGR,IAFA,IAAMq0B,EAAS,EAAAc,mBAAmBxyB,EAAI0xB,QAChC3K,EAAO,GACJnzB,EAAI,EAAGA,EAAI89B,EAAOv7B,OAAQvC,IAAK,CACtC,IAAM8B,EAAIg8B,EAAO99B,GACXotC,EAAa,IAANptC,EAAU,IAAM,IAC7BmzB,EAAKlsB,KAAK,CAACmmC,EAAMtrC,EAAE6L,EAAG7L,EAAEsE,IAE1B,IAAMmG,EAAQ,EAAAmB,QACZ,GACA,CACEyvF,SAAU,QACVC,QAAS,SAEXhxF,EAAIG,OAYN,OAVc9C,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,EAAA3D,IACL,CACEc,KAAI,EACJc,OAAQ7nB,EAAI+U,OAAS,EAAA8F,iBAAiBy6B,aACtCme,UAAWzzD,EAAIoiC,MAAQ,GAEzBjiC,QAOR,EAAA6D,cAAc,OAAQ,iBAAkB,CACtChF,KAAI,SAACgB,EAAK3C,GACR,IAAMq0B,EAAS,EAAAc,mBAAmBxyB,EAAI0xB,QAKhC3K,EAAO,EAAAoZ,cAAczO,GAAQ,EAJhB,CACjB,CAAC,EAAG,GACJ,CAAC,EAAG,KAaN,OAVcr0B,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,EAAA3D,IACL,CACEc,KAAI,EACJc,OAAQ7nB,EAAI+U,OAAS,EAAA8F,iBAAiBy6B,aACtCme,UAAWzzD,EAAIoiC,MAAQ,GAEzBpiC,EAAIG,YAOZ,+B,+CAcA,OAd4C,iBACnC,YAAAqf,KAAP,WACE,YAAMA,KAAI,WACVjoB,KAAKy6G,cAGC,YAAAA,WAAR,WACgBz6G,KAAK4G,KAAKgf,QACdkiB,OACR9nC,KAAK2H,OAAO4I,MAAQ,CAAEmQ,OAAQ,CAAC,mBAE/B1gB,KAAK2H,OAAO4I,MAAQ,CAAEmQ,OAAQ,CAAC,cAGrC,EAdA,CAA4C,W,sGC3D5C,OACA,wBAqBA,aAKE,WAAYjY,GADL,KAAAmB,KAAe,QAEpB5J,KAAKgrB,OAASviB,EAAIuiB,OAClBhrB,KAAKg7F,MAAQ,GACbh7F,KAAK06G,eACL16G,KAAKm7F,cAAgB,EAAApxF,QAAQ,GAAI/J,KAAKg7F,OA6B1C,OA1BS,YAAA2f,QAAP,SAAepqG,GAEb,OADa,EAAAxG,QAAQ,GAAI6wG,EAASjhF,aAAappB,GAAQ,CAAEA,MAAK,KAIzD,YAAAsqG,aAAP,sBACQ7f,EAAQ,GACRhwE,EAAS,GACf,EAAAxhB,KAAKxJ,KAAKgrB,QAAQ,SAACza,EAAO7R,GACxB,IAAMo8G,EAAO,EAAA/wG,QAAQ,GAAI,EAAKixF,MAAMt8F,GAAQ,EAAKi8G,QAAQpqG,IACtC,IAAfuqG,EAAKz0G,OAA+B,IAAhBy0G,EAAKx0G,SAC3B00F,EAAM13F,KAAKw3G,GACX9vF,EAAO1nB,KAAKiN,OAIhBvQ,KAAKg7F,MAAQA,EACbh7F,KAAKgrB,OAASA,GAGR,YAAA0vF,aAAR,sBACE,EAAAlxG,KAAKxJ,KAAKgrB,QAAQ,SAACza,GACjB,IAAMuqG,EAAO,EAAKH,QAAQpqG,GAC1B,EAAKyqF,MAAM13F,KAAKw3G,OAGtB,EAtCA,G,2FCtBA,WACA,SAGA,SA2BA,aAeE,WAAYryG,GATL,KAAAsyG,cAAwB,GACxB,KAAAC,eAAyB,EACzB,KAAAC,YAAqB,GAErB,KAAAC,gBAA0B,EAM/B,EAAA/6G,OAAOH,KAAMyI,GACbzI,KAAKm7G,kBAAoBn7G,KAAK86F,YAAY,GACtC96F,KAAK+6F,QACP/6F,KAAK+6G,cAAgB/6G,KAAK+6F,MAAM/6F,KAAKm7G,kBAAkBv+G,MAAMgC,QAE/DoB,KAAK+kG,SACL/kG,KAAKo7G,OACLp7G,KAAKqlG,OAoKT,OAjKU,YAAAN,OAAR,WACM/kG,KAAKq7G,SACPr7G,KAAKq7G,QAAQr7G,KAAKg7F,QAId,YAAAsgB,WAAR,WACE,IAAItgB,EAMe,WAJjBA,GADEh7F,KAAKg7F,MAAMpxF,KACL5J,KAAKg7F,QAILpxF,MACRoxF,EAAM6f,eAEJ76G,KAAK+6F,OACP/6F,KAAKu7G,cAEY,UAAfvgB,EAAMpxF,MACRoxF,EAAM6f,eAEJ76G,KAAKw7G,aACPx7G,KAAKw7G,YAAYx7G,KAAKg7F,QAIlB,YAAAqK,KAAR,WACMrlG,KAAKi7F,OACPj7F,KAAKi7F,MAAMj7F,KAAKg7F,QAIZ,YAAAogB,KAAR,WAEE,IADA,IAAIK,EAAmBz7G,KAAK07G,qBACpBD,GACFz7G,KAAKg7G,eAAiBh7G,KAAK+6G,cAAgB,IAG/C/6G,KAAKs7G,aACLG,EAAmBz7G,KAAK07G,mBACxB17G,KAAKg7G,iBAEHh7G,KAAKk7G,gBAAkBl7G,KAAK86F,YAAYl8F,OAAS,IACnDoB,KAAKk7G,kBACLl7G,KAAKm7G,kBAAoBn7G,KAAK86F,YAAY96F,KAAKk7G,iBAC/Cl7G,KAAK+6G,cAAgB/6G,KAAK+6F,MAAQ/6F,KAAK+6F,MAAM/6F,KAAKm7G,kBAAkBv+G,MAAMgC,OAAS,EACnFoB,KAAKg7G,eAAiB,EACtBh7G,KAAKo7G,SAID,YAAAM,iBAAR,WACE,IAAMl0E,EAAa,EAAAm0E,eAAe37G,KAAKm7G,kBAAkBv+G,MACnDg/G,EAAmB57G,KAAKm7G,kBAAkBt8D,OAChD,MAAyB,YAArBrX,EAAWq0E,MACN77G,KAAK87G,mBAAmBt0E,EAAYo0E,GAEtC57G,KAAK+7G,sBAAsBv0E,EAAYo0E,IAGxC,YAAAE,mBAAR,SAA2Bt0E,EAAYqX,GAC7B,IAAAj1C,EAAqB49B,EAAU,KAAzBw0E,EAAex0E,EAAU,WACjCwzD,EAAQh7F,KAAKg7F,MAAMA,MACzB,MAAa,UAATpxF,EACK5J,KAAKi8G,wBAAwBD,EAAYhhB,EAAOn8C,GAE5C,YAATj1C,EACK5J,KAAKk8G,0BAA0BF,EAAYh8G,KAAKupB,OAAQyxE,EAAOn8C,GAE3D,UAATj1C,EACK5J,KAAKm8G,wBAAwBH,EAAYhhB,EAAOn8C,QADzD,GAKM,YAAAo9D,wBAAR,SAAgCD,EAAYhhB,EAAOn8C,GACjD,IAAK,IAAIxiD,EAAI,EAAGA,EAAI2+F,EAAMp8F,OAAS,EAAGvC,IAAK,CAGzC,IAAiC,IAA7B2/G,EAFMhhB,EAAM3+F,GACN2+F,EAAM3+F,EAAI,GACCwiD,GACnB,OAAO,EAGX,OAAO,GAGD,YAAAq9D,0BAAR,SAAkCF,EAAYzyF,EAAQyxE,EAAOn8C,GAC3D,GAAIt1B,EACF,IAAmB,UAAAyxE,EAAA,eAAO,CACxB,IAAyC,IAArCghB,EADS,KACQzyF,EAAQs1B,GAC3B,OAAO,EAIb,OAAO,GAGD,YAAAs9D,wBAAR,SAAgCH,EAAYhhB,EAAOn8C,GACjD,IAAK,IAAIxiD,EAAI,EAAGA,EAAI2+F,EAAMp8F,OAAQvC,IAEhC,IADA,IAAM8H,EAAI62F,EAAM3+F,GACP+H,EAAI,EAAGA,EAAI42F,EAAMp8F,OAAQwF,IAAK,CACrC,GAAIA,IAAM/H,EAER,IAAiC,IAA7B2/G,EAAW73G,EADL62F,EAAM52F,GACKy6C,GACnB,OAAO,EAKf,OAAO,GAGD,YAAAk9D,sBAAR,SAA8Bv0E,EAAYqX,GAChC,IAAAj1C,EAAqB49B,EAAU,KAAzBw0E,EAAex0E,EAAU,WACjCwzD,EAAQh7F,KAAKg7F,MAAMA,MACzB,MAAa,UAATpxF,EACK5J,KAAKo8G,yBAED,YAATxyG,EACK5J,KAAKq8G,yBAAyBL,EAAYh8G,KAAKupB,OAAQyxE,EAAOn8C,QADvE,GAKM,YAAAu9D,uBAAR,WACE,OAAO,GAGD,YAAAC,yBAAR,SAAiCL,EAAYzyF,EAAQyxE,EAAOn8C,GAC1D,GAAIt1B,EACF,IAAmB,UAAAyxE,EAAA,eAAO,CAArB,IAAM8f,EAAI,KACPx9G,EAAQ0+G,EAAWlB,EAAMvxF,EAAQs1B,GACvCi8D,EAAKx9G,MAAQA,EAGjB,OAAO,GAGD,YAAAi+G,YAAR,WAME,IALA,IAAMe,EAAUt8G,KAAK+6F,MAAM/6F,KAAKm7G,kBAAkBv+G,MAAMoD,KAAKg7G,gBAEvDuB,EAAO,EAAAC,SAASF,EAAQ1/G,MACxBiiD,EAASy9D,EAAQz9D,OAASy9D,EAAQz9D,OAAS,GAC3Cm8C,EAAQh7F,KAAKg7F,MAAMA,MAChB3+F,EAAI,EAAGA,EAAI2+F,EAAMp8F,OAAQvC,IAAK,CACrC,IAAMy+G,EAAO9f,EAAM3+F,GAEnB2D,KAAKy8G,WAAW3B,EAAKvqG,MAAOgsG,EAAM19D,EAAQxiD,KAMtC,YAAAogH,WAAR,SAAmBlsG,EAAegsG,EAAM19D,EAAQngD,GAO9C69G,EAAKhsG,EAAOsuC,EAAQngD,EANR,CACVs8F,MAAOh7F,KAAKg7F,MACZzxE,OAAQvpB,KAAKupB,OACb3iB,KAAM5G,KAAK4G,QAKjB,EA3LA,G,6JCjCA,4BACA,4BACA,4BACA,4BACA,4BACA,4BACA,4BASa,EAAA+0G,eAAiB,CAC5Be,YAAW,UACXC,oBAAmB,UACnBC,iBAAgB,UAChBC,aAAY,UACZC,YAAW,UACXC,cAAa,UACbC,iBAAgB,WAGlB,wCAA6CpgH,EAAM4qC,GAEjD,EAAAm0E,eAAe/+G,GAAQ4qC,I,oIC3BzB,4BACA,4BACA,4BACA,4BACA,4BACA,4BACA,4BACA,4BACA,4BACA,4BACA,4BACA,2BACA,4BACA,4BAEa,EAAAg1E,SAAW,CACtBpG,YAAW,UACX6G,aAAY,UACZC,eAAc,UACdC,SAAQ,UACRC,iBAAgB,UAChBC,yBAAwB,UACxBC,iBAAgB,UAChBC,gBAAe,UACfC,2BAA0B,UAC1BC,wBAAuB,UACvBC,uBAAsB,UACtBC,WAAU,UACVC,iBAAgB,UAChB/W,iBAAgB,WAGlB,kCAAuCjqG,EAAM2xF,GAE3C,EAAAiuB,SAAS5/G,GAAQ2xF,I,gHCjCnB,OACA,2BAoCA,SAAgBsvB,EAAcC,EAAOC,GACnC,QAAID,EAAMhjF,OAASijF,EAAMljF,KAAOkjF,EAAMjjF,OAASgjF,EAAMjjF,QAGjDijF,EAAMljF,MAAQmjF,EAAMpjF,MAAQojF,EAAMnjF,MAAQkjF,EAAMnjF,MAtCtD,mBAAyCpqB,EAAesuC,EAAQngD,EAAO+J,GACrE,IAAMuyF,EAAQvyF,EAAIuyF,MAAMA,MAClBjhC,EAAUihC,EAAMt8F,GAChB0oG,EAAa,GAEnB,IAAKrtC,EAAQxpD,MAAMrT,IAAI,SACrB,IAAK,IAAIb,EAAI,EAAGA,EAAI2+F,EAAMp8F,OAAQvC,IAAK,CACrC,IAAMy+G,EAAO9f,EAAM3+F,GACb2hH,EAASlD,EAAKvqG,MACpB,GAAIlU,IAAMqC,IAAUs/G,EAAO9gH,IAAI,SACX2gH,EAAc9jD,EAAS+gD,IAEvC1T,EAAW9jG,KAAKw3G,GAMpB1T,EAAWxoG,OAAS,IACtBwoG,EAAW9jG,KAAKy2D,GAChBqtC,EAAWhtE,MAAK,SAACj2B,EAAGzE,GAClB,OAAOA,EAAEm7B,IAAM12B,EAAE02B,OAGnB,EAAArxB,KAAK49F,GAAY,SAAC0T,EAAW3xG,GAC3B,GAAIA,EAAM,EAAG,CACX,IAAM60G,EAASlD,EAAKvqG,MACpB,UAASytG,GACTA,EAAOp4G,IAAI,SAAS,SAM5B,mB,yGCtCA,OACA,2BAKMmtG,EAAM,MAuDZ,SAASkL,EAAgB95G,EAAGzE,GAC1B,IAAIlC,EACE6B,EAAO8P,KAAKsmB,IAAItxB,EAAIzE,GACpBw+G,EAAS,CACblzB,OAAQ,CA7DG,IACF,MA6DTD,KAAM,CA7DG,KA6DIgoB,GACbjoB,IAAK,CAACioB,EA5DI,SA6DVloB,MAAO,CA7DG,QACD,SA6DTD,KAAM,CA7DG,QA6DIr4E,MAOf,OALA,EAAA/I,KAAK00G,GAAQ,SAACzwF,EAAO7vB,GACfyB,GAAQouB,EAAM,IAAMpuB,EAAOouB,EAAM,KACnCjwB,EAAOI,MAGJJ,EA0BT,SAAS4sF,EAAQloE,EAAY1kB,GAC3B,MAAa,SAATA,EACK0kB,EAAK0lE,cAED,UAATpqF,EACK0kB,EAAKqlE,WAAa,EAEd,QAAT/pF,EACK0kB,EAAKglE,SAAW,EAGZ,SAAT1pF,EACK0kB,EAAK4lE,WAAa,EAGd,WAATtqF,EACK0kB,EAAKgmE,aAAe,OAD7B,EAvGF,mBAAiD33E,EAAOsuC,EAAiCngD,EAAO+J,GAC9F,IACI01G,EADEnjB,EAAQvyF,EAAIuyF,MAAMA,MAGtBmjB,EADEz/G,IAAUs8F,EAAMp8F,OAAS,EACbo8F,EAAMt8F,EAAQ,GAAG6R,MAAMrT,IAAI,kBAAkByM,KAAK/M,KAElDo+F,EAAMt8F,EAAQ,GAAG6R,MAAMrT,IAAI,kBAAkByM,KAAK/M,KAElE,IAAM0/B,EAAU,IAAIlrB,KAAK+sG,GAEnB93F,EAAO9V,EAAMrT,IAAI,kBAAkByM,KAAK/M,KACxCm9D,EAAU,IAAI3oD,KAAKiV,GACnB+3F,EAAYpjB,EAAM,GAAGzqF,MAAMrT,IAAI,kBAAkByM,KAAK/M,KACtDwjB,EAAQ,IAAIhP,KAAKgtG,GACjBC,EAAUrjB,EAAMA,EAAMp8F,OAAS,GAAG2R,MAAMrT,IAAI,kBAAkByM,KAAK/M,KAEnE0hH,EAAeL,EAAgB79F,EADzB,IAAIhP,KAAKitG,IAEfE,EAAYN,EAAgBlkD,EAASz9B,GAE3C,GAAIgiF,IAAiBC,GAOrB,GAAc,IAAV7/G,EAAa,CACf,IAAM8/G,EAAexjB,EAAMt8F,EAAQ,GAAG6R,MAAMrT,IAAI,kBAAkByM,KAAK/M,KAGvE,GAQJ,SAAwBY,EAAMu8D,EAAS+sC,GACrC,IAAM2X,EAAer0B,EAAQrwB,EAASv8D,GAChCkhH,EAAgBt0B,EAAQ0c,EAAUtpG,GACxC,GAAIihH,IAAiBC,EACnB,OAAO,EAET,OAAO,EAfgBC,CAAeL,EAAcvkD,EADjC,IAAI3oD,KAAKotG,IAER,CACV9gF,EAkCZ,SAAgCnb,EAAUq8F,GAMxC,IALA,IAAMv8B,EAAQ,CAAC,OAAQ,QAAS,MAAO,OAAQ,UACzCu0B,EAAa,CAAC,OAAQ,KAAM,KAAM,KAAM,MACxCvqC,EAAagW,EAAM1jF,QAAQ4jB,GAAY,EACvC6Y,EAAWinD,EAAM1jF,QAAQigH,GAC3BlhF,EAAY,GACPrhC,EAAIgwE,EAAYhwE,GAAK++B,EAAU/+B,IACtCqhC,GAAak5E,EAAWv6G,GACpBA,EAAI++B,IACNsC,GAAa,KAGjB,OAAOA,EA9CemhF,CAAuBP,EAAcC,GAEvD,YADAhuG,EAAMsiB,KAAK,OAAQ,UAAMpV,OAAOs8C,EAASr8B,WAZ3C,GAAc,IAAVh/B,GAAeA,IAAUs8F,EAAMp8F,OAAS,EAAG,CAC7C,IAAM8+B,EA2DZ,SAA8BlgC,GAC5B,IAEMkB,EAFQ,CAAC,OAAQ,QAAS,MAAO,OAAQ,UAE3BC,QAAQnB,GAE5B,MAHmB,CAAC,OAAQ,KAAM,KAAM,KAAM,MAEjBkB,GA/DPogH,CAAqBR,GACvC/tG,EAAMsiB,KAAK,OAAQ,UAAMpV,OAAOs8C,EAASr8B,MAuF/C,kBAAuBzb,GAGrB,MAFmB,0CAEDwd,KAAKxd,IADD,iDAC0Bwd,KAAKxd,K,8EC7HvD,WACA,QAOM88F,EAAa,CACjB5/G,EAAG,CAAE0iB,OAAQ,IAAKnjB,MAAO,GACzBjC,EAAG,CAAEolB,OAAQ,IAAKnjB,MAAO,GACzBgB,EAAG,CAAEmiB,OAAQ,IAAKnjB,MAAO,GACzBnB,EAAG,CAAEskB,OAAQ,KAAMnjB,MAAO,IAsC5B,SAASsgH,EAAsBngE,EAAQh9B,GACrC,IACIhjB,EACAogH,EACJ,GAAoB,SAAhBpgE,EAAOnpB,KAAiB,CAE1B,IAAMwpF,EAAQ/vG,KAAKwR,MAAMxR,KAAK+lB,IAAIrT,GAAU1S,KAAK+lB,IAAI,MACrD+pF,EANY,CAAC,IAAK,IAAK,IAAK,KAMXC,EAAQ,GACzBrgH,GAAOgjB,EAAS,aAAQq9F,IAAO3pF,QAAQspB,EAAOsgE,cACzC,GAAItgE,EAAOnpB,KAAM,CACtB,IAAMA,EAAOqpF,EAAWlgE,EAAOnpB,MAC/BupF,EAAWpgE,EAAOnpB,KAClB72B,GAAOgjB,EAAS6T,EAAK7T,QAAQ0T,QAAQspB,EAAOsgE,SAE9C,MAAO,CAAEtgH,IAAG,EAAEogH,SAAQ,GA7CxB,mBAAyC1uG,EAAesuC,EAA6BngD,EAAO+J,GAC1F,GAAK,EAAA/C,IAAI+C,EAAK,SAAY,EAAA/C,IAAI+C,EAAIqyG,KAAM,QAAxC,CAGA,IAAM9f,EAAQvyF,EAAIuyF,MAAMA,MAClBn5E,EAAS3W,WAAWqF,EAAMrT,IAAI,UAAUmpB,MAC9C,GAAe,IAAXxE,EAGJ,GAAIg9B,EAAOnhB,UACTntB,EAAMsiB,KAAK,OAAQgsB,EAAOnhB,UAAU7b,SAGtC,GAAIg9B,EAAOnpB,KAAM,CACT,MAAoBspF,EAAsBngE,EAAQh9B,GAAhDhjB,EAAG,MAAEogH,EAAQ,WACrB1uG,EAAMsiB,KAAK,OAAQh0B,EAAMogH,OACpB,CAGL,IAAMG,EAmCV,SAAwBpkB,GACtB,IAAMokB,EAAU,GAMhB,OALA,EAAA51G,KAAKwxF,GAAO,SAAC8f,GACX,IACMj5F,EAAS3W,WADL4vG,EACkBvqG,MAAMrT,IAAI,UAAUmpB,MAChD+4F,EAAQ97G,KAAKue,MAERu9F,EA1CWC,CAAerkB,GAIzBskB,GAFAL,EA2BV,SAAyBp9F,GACvB,IACMq9F,EAAQ/vG,KAAKwR,MAAMxR,KAAK+lB,IAAIrT,GAAU1S,KAAK+lB,IAAI,MACrD,MAFc,CAAC,IAAK,IAAK,IAAK,KAEjBgqF,EAAQ,GA9BFK,CADF,EAAAhkF,UAAU6jF,IAGNL,EAAWE,GAAUp9F,QAGhChjB,EAAQmgH,EAAsB,CAAEtpF,KAAMupF,EAAUE,QA+C5D,SAA0BtuG,EAAUyuG,GAClC,IAAME,EAAUrwG,KAAKwR,MAAMxR,KAAKmmB,MAAMgqF,IACtC,KAAIzuG,GAAYyuG,GAMT,CACL,IAAMG,EAActwG,KAAKwR,MAAMxR,KAAKmmB,MAAMzkB,IAC1C,OAAO1B,KAAKsmB,IAAIgqF,EAAcD,GAP9B,IAAME,EAAY7uG,EAAWyuG,EAC7B,GAAII,EAAY,EAAG,CACjB,IAAMC,EAAexwG,KAAKwR,MAAMxR,KAAKmmB,MAAMoqF,IAC3C,OAAOvwG,KAAKsmB,IAAIkqF,EAAeH,GAMnC,OAAO,EA5DWI,CAuCpB,SAAgC5kB,GAC9B,GAAIA,EAAMp8F,QAAU,EAAG,CACrB,IAAMuF,EAAI+G,WAAW8vF,EAAM,GAAGzqF,MAAMrT,IAAI,UAAUmpB,MAC5C3mB,EAAIwL,WAAW8vF,EAAM,GAAGzqF,MAAMrT,IAAI,UAAUmpB,MAClD,OAAOlX,KAAKsmB,IAAItxB,EAAIzE,GAEtB,OAAO,EA9CYmgH,CAAuB7kB,GACGskB,IACwBz9F,GAAO,IAC1EtR,EAAMsiB,KAAK,OAAQh0B,EAAMogH,O,yGC/C7B,OACA,2BAqBA,SAAgBa,EAAOC,EAASrhH,EAAOs8F,GAErC,IAAMv3D,EAAa,GACnB,EAAAj6B,KAAKu2G,GAAS,SAACt3G,GACD,UAARA,EACFg7B,EAAWngC,KAAe,IAAV5E,GACC,QAAR+J,EACTg7B,EAAWngC,KAAK5E,IAAUs8F,EAAMp8F,OAAS,GAChC,EAAAq1B,SAASxrB,IAClBg7B,EAAWngC,KAAK5E,IAAU+J,MAG9B,IAAwB,UAAAg7B,EAAA,eAAY,CAClC,IAAkB,IADA,KAEhB,OAAO,EAGX,OAAO,EAhCT,mBAAwClzB,EAAOsuC,EAA4BngD,EAAO+J,GAChF,IAAMuyF,EAAQvyF,EAAIuyF,MAAMA,MAElBglB,EAAUhlB,EAAMp8F,OAAS,GAAM,EACrC,IAAIkhH,EAAOjhE,EAAOohE,KAAMvhH,EAAOs8F,GAA/B,CAIE,IAAMklB,EAAQxhH,EAAQ,GAAM,IACtBshH,GAAWE,GAAWF,IAAYE,IACtC,UAAS3vG,KAKf,Y,8ECjBA,mBAAuCA,EAAesuC,GACpD,IAEIshE,EAFEC,EAAevhE,EAAOuhE,aAAevhE,EAAOuhE,aAAe,MAC3D/5F,EAAO9V,EAAMsiB,KAAK,QAEH,QAAjButF,IACFD,EAAmB95F,EAAK,GAAE,OAEP,UAAjB+5F,IACFD,EAAgB,MAAM95F,EAAKA,EAAKznB,OAAS,IAEtB,WAAjBwhH,IACFD,EAAmB95F,EAAK,GAAE,MAAMA,EAAKA,EAAKznB,OAAS,IAErD2R,EAAM8uC,cACN9uC,EAAMsiB,KAAK,CACTxM,KAAM85F,EACNpwF,UAAW,SACXC,aAAc,U,8ECtBlB,WAEA,aAKE,WAAYvnB,GACV,EAAAtI,OAAOH,KAAMyI,GACbzI,KAAKioB,OAeT,OAZY,YAAAA,KAAV,WACEjoB,KAAK4J,KAAO5J,KAAKo7F,UACbp7F,KAAK06F,eACP16F,KAAKK,SASX,EAtBA,G,sGCFA,4BACA,4BACA,4BACA,OAEA,2B,+CA8BA,OA9BkD,iBACtC,YAAAq6F,YAAV,WACE,SAAK16F,KAAK26F,gBAAgB/3F,QAAU5C,KAAK26F,gBAAgB/3F,MAAM5C,KAAK4J,QAM5D,YAAAvJ,MAAV,WACE,IAAMggH,EAAuBrgH,KAAK4G,KAAKqC,KAAKuf,WAAW,GAAGwG,gBAAgB9xB,IAAI,YAC1E0jF,EAAc,GAClB,EAAAp3E,KAAK62G,GAAsB,SAAC3jH,GAC1BkkF,EAAcA,EAAY58E,OAAOtH,EAAE4jH,cAAc,aAEnD,IAAMtlB,EAAQ,IAAI,UAAW,CAC3BhwE,OAAQ41D,IAEJ,EAAyB5gF,KAAK26F,gBAAgB/3F,MAAM5C,KAAK4J,MAAvDkxF,EAAW,cAAEC,EAAK,QAC1B,IAAI,UAAW,CACbC,MAAK,EACLF,YAAW,EACXC,MAAK,EACLn0F,KAAM5G,KAAK4G,KACX2iB,OAAQvpB,KAAK4G,KAAKqC,KAAKg4C,kBAIjB,YAAAm6C,QAAV,WACE,OAAO,MAEX,EA9BA,CAAkD,W,sGCLlD,OACA,QACA,2BACA,OAEA,QACA,2BAEA,2B,+CA4DA,OA5DqE,iBACzD,YAAA9oE,aAAV,SAAuBvD,EAAoBpJ,GAA3C,I,EAAA,OACQ0W,EAAkB,GAClBG,EAAQ,UAAKlX,eAAetlB,KAAK00B,qBACjC,EAAmB3F,EAASoU,cAA3BtY,EAAM,KAAEC,EAAM,KACfy1F,EAAuC,EAAA9X,QAAQ9iF,GAAQ,SAAC/iB,GAAU,OAAAA,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,MAClGjE,EAAkB,QAAZ,EAAGjB,EAAO,UAAE,eAAEzoB,IAAI,UAE9B,EAAAsM,KAAK,EAAAU,KAAKq2G,GAAYtjD,WAAW,SAACrgB,GAEhC,IADA,IAAMtsC,EAAQ,EAAKkwG,WAAWzxF,EAAUwxF,EAAW3jE,IAC5CtsC,EAAM1R,QAAQ,CACnB,IAAMgE,EAAQ0N,EAAMzL,QACpB,GACE,EAAA47G,iBACE79G,EACAy5B,GACA,SAACqkF,EAAyBC,GACxB,OAAAD,EAAUrsF,QAAQxJ,KAAY81F,EAAWtsF,QAAQxJ,IACjD61F,EAAUrsF,QAAQvJ,KAAY61F,EAAWtsF,QAAQvJ,MAGrDloB,EAAMgD,IAAI,WAAW,OATvB,CAYA,EAAAg7G,YAAYh+G,EAAO45B,GACnB,IACIqkF,OAAQ,EADG,EAAAC,kBAAkBl+G,EAAOy5B,KAGtCz5B,EAAMiwB,KAAK,IAAKjwB,EAAMiwB,KAAK,KAAO,EAAIjM,GACtC,EAAAg6F,YAAYh+G,EAAO45B,GACnBqkF,EAAW,EAAAC,kBAAkBl+G,EAAOy5B,IAElCwkF,EACFj+G,EAAMgD,IAAI,WAAW,GAGvBy2B,EAAM/4B,KAAKV,SAMP,YAAA49G,WAAV,SAAqBzxF,EAAoBpJ,GACvC,IAAMmF,EAASiE,EAASoU,cAAc,GAChCqhC,EAAmB,GAczB,OAXA7+C,EAAOyU,MAAK,SAACj2B,EAAGzE,GACd,OAAOA,EAAExC,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc8d,GAAU3mB,EAAEjH,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc8d,MAEvEnF,EAAO/mB,OAAS,GAClB4lE,EAAOlhE,KAAKqiB,EAAO9gB,SAEjB8gB,EAAO/mB,OAAS,GAClB4lE,EAAOlhE,KAAKqiB,EAAOtiB,OAErBmhE,EAAOlhE,KAAI,MAAXkhE,EAAe7+C,GAER6+C,GAEX,EA5DA,CAAqE,W,YA8DrE,EAAAyyB,uBAAuB,aAAc8pB,I,8ECtErC,WAkBA,aAOE,WAAYt4G,GALL,KAAA1B,WAAqB,EAM1B/G,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK4G,KAAO6B,EAAI7B,KAChB,IAAM0gB,EAAiBtnB,KAAKkmB,oBAC5BlmB,KAAK4lB,QAAU,EAAA7b,QAAQud,EAAgB7e,EAAK,IAC5CzI,KAAKioB,OAsFT,OAnFY,YAAAA,KAAV,sBACEjoB,KAAK8F,UAAY9F,KAAKsxB,cAActC,gBACpChvB,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,QACL,EAAKjiB,KAAKC,OAAOY,WAId,YAAA6B,OAAP,sBACQyoB,EAAW/xB,KAAKsxB,cAAcS,SACpC,EAAAvoB,KAAKuoB,GAAU,SAACw4B,GACd,IAAM6yC,EAAY,EAAKtgC,aAAavS,EAAIh6C,OAClC,EAA8B,EAAKqV,QAAjChd,EAAK,QAAEukB,EAAO,UAAEC,EAAO,UACzBsQ,EAAY,EAAK9X,QAAQ8X,UACzBu6B,EAAUv6B,EAAYA,EAAU0/D,EAAUxgG,MAAQwgG,EAAUxgG,KAClE,EAAKkJ,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAAtoB,QACL,GACA,CACEC,EAAGozF,EAAUpzF,EAAImjB,EACjB1qB,EAAG26F,EAAU36F,EAAI2qB,EACjB/G,KAAM4xC,EACNpoC,KAAMutE,EAAU5/E,MAChBuS,UAAW,OACXC,aAAc,UAEhBpnB,GAEFhM,KAAM,cAKL,YAAAisB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAA2I,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAAL,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGZ,YAAA8mB,QAAP,WACE,OAAO7tB,KAAK8F,UAAU+nB,WAGhB,YAAA3H,kBAAR,WACU,IAAAzf,EAAUzG,KAAK4G,KAAI,MACrBo6G,EAAa,EAAA5uF,MAAM3rB,EAAM7D,MAAMgG,OAErC,cADOo4G,EAAWnxF,KACX,CACL1C,QA/FiB,EAgGjBC,QAAS,EACTxkB,MAAOo4G,IAIH,YAAA1vF,YAAR,WACE,OAAO,EAAA4c,KAAKluC,KAAKiJ,KAAKuf,YAAY,SAACyC,GAAS,MAAc,SAAdA,EAAKrhB,SAGzC,YAAAkzD,aAAV,SAAuBvsD,GACrB,IAAM0wG,EAAe1wG,EAAMrT,IAAI,UAAUi9B,OACnC+mF,EAAYD,EAAaA,EAAariH,OAAS,GAC/C4e,EAAQjN,EAAMsiB,KAAK,UACjBgnE,EAAgB75F,KAAK4G,KAAKgf,QAAO,YACnChpB,EAAO2T,EAAMrT,IAAI,UAAU8B,KAAK,GAAG66F,GACzC,MAAO,CAAE7vF,EAAGk3G,EAAUl3G,EAAGvH,EAAGy+G,EAAUz+G,EAAG+a,MAAK,EAAE5gB,KAAI,IAExD,EAlGA,G,sGCbA,QACA,OAEA,SAAS6yD,EAAYl/C,EAAO0Y,GAC1B,IAAMk0C,EAAe,GACfhjC,EAAS5pB,EAAMrT,IAAI,UAAUi9B,OAInC,OAHA,EAAA3wB,KAAK2wB,GAAQ,SAACh8B,GACZg/D,EAAa75D,KAAK2lB,EAAMygB,aAAavrC,OAEhCg/D,EA8BT,iBAqCE,WAAY10D,GAEV,EAAAsB,QAAQ/J,KAAMA,KAAKC,YAAYimB,kBAAkBzd,GAAMA,GACvDzI,KAAKmhH,QAqKT,OA5MgB,EAAAj7F,kBAAd,SAAgC,G,IAAEg5B,EAAS,YACzC,MAAO,CACL/4B,SAAS,EACT0kB,KAAMqU,EAAY,GAAK,GACvB/3B,QAAS+3B,EAAY,EAAI,GACzBt4B,OAAQs4B,EAAY,GAAK,EACzBkiE,MAAO,CACLj7F,SAAS,EACTk7F,SAAU,GACVz4G,MAAO,CACLinB,KAAM,wBAGVvyB,MAAO,CACL6oB,SAAS,EACTvd,MAAO,CACLknB,SAAU,GACVD,KAAM,uBAER6N,UAAW,SAAC4jF,EAAiBC,GAAoB,OAAK,IAAMA,EAAcD,GAAY/rF,QAAQ,GAAE,MAElG/S,UAAW,EAAAzY,QAAQ,GAAI,EAAA+D,uBAqBnB,YAAAqzG,MAAR,sBACQ75G,EAAQtH,KAAKiJ,KAAKwgB,gBACxBzpB,KAAK8F,UAAYwB,EAAMoiB,WACvB1pB,KAAKyH,OACLzH,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,YAIF,YAAAphB,KAAP,eAMM+5G,EAAYD,EAAYE,EAAYH,EAN1C,OACUpiE,EAAcl/C,KAAI,UAClB0gB,EAAW1gB,KAAKiJ,KAAKjB,gBAAgBhI,KAAKiI,OAAM,OAElD+iB,EADWhrB,KAAKiJ,KAAKuf,WAAW,GACduC,YAIpBm0B,EACFl0B,EAAOgD,SAAQ,SAACwzF,EAAYnlH,GAC1BklH,EAAa7gG,EAAOrkB,GAChBA,IAAM,GACR,EAAKqlH,SAASD,EAAYH,EAAYE,EAAYD,GAEpDD,EAAaC,EACbE,EAAaD,KAGfx2F,EAAOgD,SAAQ,SAACyzF,EAAYplH,GAC1BilH,EAAa5gG,EAAOrkB,GAChBA,IAAM,GACR,EAAKqlH,SAASD,EAAYH,EAAYE,EAAYD,GAEpDA,EAAaD,EACbE,EAAaC,MAKZ,YAAA54F,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,UAIX,YAAA42G,SAAR,SAAiBD,EAAYH,EAAYE,EAAYD,GAC3C,IAAAriE,EAAcl/C,KAAI,UACpBipB,EAAQjpB,KAAKiJ,KAAKuf,WAAW,GAAGD,WAChCo5F,EAAalyD,EAAYgyD,EAAYx4F,GAAOi2B,EAAY,EAAI,GAC5D0iE,EAAanyD,EAAY+xD,EAAYv4F,GAAOi2B,EAAY,EAAI,GAClEl/C,KAAK6hH,cAAcF,EAAYC,GAC/B5hH,KAAK8hH,cAAcH,EAAYL,EAAYM,EAAYL,IAGjD,YAAAM,cAAR,SAAsBF,EAAYC,GAC1B,IAMFznF,EANEhT,EAAYnnB,KAAI,QACd6qC,EAAuC7qC,KAAnC,KAAE4mB,EAAiC5mB,KAA3B,OAAEwiB,EAAyBxiB,KAAhB,UAAEk/C,EAAcl/C,KAAL,UAClCqhH,EAAarhH,KAAKohH,MAAK,SACzBlgC,EAAc0gC,EAAWn/G,EAAIk/G,EAAWl/G,EACxCs/G,EAAaH,EAAW53G,EAAI23G,EAAW33G,EAIzCk1C,GACG6iE,EAAaV,GAAY,EAAIl6F,GAEhCA,EAAUhY,KAAKqP,IAAI,GAAIujG,EAAaV,GAAY,GAChDlnF,EAAS,CACP,CAACwnF,EAAW33G,EAAImd,EAASw6F,EAAWl/G,EAAImkB,GACxC,CAAC+6F,EAAW33G,EAAImd,EAASw6F,EAAWl/G,EAAImkB,EAASikB,GACjD,CAAC+2E,EAAW53G,EAAImd,EAASy6F,EAAWn/G,EAAImkB,EAASikB,EAAO,KAI1D1Q,EAAS,CACP,CAACwnF,EAAW33G,EAAImd,EAASw6F,EAAWl/G,EAAImkB,GACxC,CAAC+6F,EAAW33G,EAAImd,EAASw6F,EAAWl/G,EAAImkB,EAASikB,GACjD,CAAC+2E,EAAW53G,EAAImd,EAAUk6F,EAAUO,EAAWn/G,EAAImkB,EAASikB,GAC5D,CAAC+2E,EAAW53G,EAAImd,EAASy6F,EAAWn/G,EAAImkB,EAASikB,EAAO,GACxD,CAAC+2E,EAAW53G,EAAImd,EAAUk6F,EAAUO,EAAWn/G,EAAImkB,KAIlDs6D,EAAcmgC,GAAY,EAAIl6F,GAEjCA,EAAUhY,KAAKqP,IAAI,GAAI0iE,EAAcmgC,GAAY,GACjDlnF,EAAS,CACP,CAACwnF,EAAW33G,EAAI4c,EAAQ+6F,EAAWl/G,EAAI0kB,GACvC,CAACw6F,EAAW33G,EAAI4c,EAASikB,EAAM82E,EAAWl/G,EAAI0kB,GAC9C,CAACy6F,EAAW53G,EAAI4c,EAASikB,EAAO,EAAG+2E,EAAWn/G,EAAI0kB,KAIpDgT,EAAS,CACP,CAACwnF,EAAW33G,EAAI4c,EAAQ+6F,EAAWl/G,EAAI0kB,GACvC,CAACw6F,EAAW33G,EAAI4c,EAASikB,EAAM82E,EAAWl/G,EAAI0kB,GAC9C,CAACy6F,EAAW53G,EAAI4c,EAASikB,EAAM+2E,EAAWn/G,EAAI0kB,EAAUk6F,GACxD,CAACO,EAAW53G,EAAI4c,EAASikB,EAAO,EAAG+2E,EAAWn/G,EAAI0kB,GAClD,CAACy6F,EAAW53G,EAAI4c,EAAQg7F,EAAWn/G,EAAI0kB,EAAUk6F,IAKvD,IAAMW,EAAWhiH,KAAK8F,UAAUotB,SAAS,UAAW,CAClDt2B,KAAM,QACNy1B,MAAO,EAAF,uBACAryB,KAAKohH,MAAMx4G,OAAK,CACnBuxB,OAAM,OAIQ,IAAd3X,GACFxiB,KAAKiiH,gBAAgBD,IAIjB,YAAAF,cAAR,SAAsBH,EAAYL,EAAYM,EAAYL,GAClD,IAAE12E,EAAuC7qC,KAAnC,KAAE4mB,EAAiC5mB,KAA3B,OAAEwiB,EAAyBxiB,KAAhB,UAAEk/C,EAAcl/C,KAAL,UAEpCqmB,EAAOrmB,KAAK1C,MAAMogC,UAAU4jF,EAAYC,GAExCW,EAAWliH,KAAK8F,UAAUotB,SAAS,OAAQ,CAC/Ct2B,KAAM,QACNy1B,MAAO,EAAF,uBACAryB,KAAK1C,MAAMsL,OAAK,CACnByd,KAAI,EACJrc,EAAGk1C,GAAayiE,EAAW33G,EAAI43G,EAAW53G,GAAK,EAAI23G,EAAW33G,EAAI4c,EAASikB,EAAO,EAClFpoC,EAAGy8C,EAAYyiE,EAAWl/G,EAAImkB,EAASikB,EAAO,GAAK82E,EAAWl/G,EAAIm/G,EAAWn/G,GAAK,EAClFstB,UAAW,SACXC,aAAc,aAIlB,GAAIkvB,EAAW,CACb,IAAM6iE,EAAaH,EAAW53G,EAAI23G,EAAW33G,EAC9Bm4G,EAAcD,EAASr0F,UAAS,MAC/C,GAAIs0F,EAAYJ,EAAY,CAC1B,IAAMK,EAASD,EAAY97F,EAAKznB,OAC1ByjH,EAAOlzG,KAAKqP,IAAI,EAAGrP,KAAKqmB,KAAKusF,EAAaK,GAAU,GACpDE,EAAkBj8F,EAAKzF,MAAM,EAAGyhG,GAAK,MAC3CH,EAASrvF,KAAK,OAAQyvF,KAIR,IAAd9/F,GACFxiB,KAAKiiH,gBAAgBC,IAIjB,YAAAD,gBAAR,SAAwB1xG,GACd,IAAAiS,EAAcxiB,KAAI,UAEpBme,EAAU5N,EAAMsiB,KAAK,WAC3BtiB,EAAMsiB,KAAK,UAAW,GACd,IAAAtQ,EAAa,EAAArlB,IAAIslB,EAAW,SAAU,EAAA1U,oBAAoBu9C,QAAO,SACzE96C,EAAMoY,QAAQ,CAAExK,QAAO,GAAIoE,IAE/B,EA7MA,G,sGC5CA,OACA,QACA,OACA,2BACA,QACA,2BACA,QAIA,2B,+CAiKA,OAjK0C,iBAC9B,YAAAuzE,YAAV,SAAsB9jE,GACpB,IAAMpL,EAAS5mB,KAAK0zB,mBACdp2B,EAAQ0C,KAAK+9E,SAAS/rD,GACtBzM,EAAOvlB,KAAKu2F,oBAAoBvkE,GAC9B9hB,EAA6BqV,EAAI,KAA3BpV,EAAuBoV,EAAI,KAArBnV,EAAiBmV,EAAI,KAAfjf,EAAWif,EAAI,OACnC,EAAuBvlB,KAAK4lB,QAOlC,MAAO,CAAE5b,GAJI1M,EAAQ,EAAI6S,EAAOD,GACf0W,GAFLtpB,EAAQ,GAAK,EAAI,GAFd,UAOHmF,EANF2N,EAAO9J,EAAS,EADF,YAUhB,YAAA4vF,aAAV,SAAuBlkE,GAErB,OADchyB,KAAK+9E,SAAS/rD,GACb,EAAI,OAAS,SAKpB,YAAAgkE,YAAV,SAAsBhkE,GAEpB,OADkBhyB,KAAK4lB,QAAO,MACjBiK,MAKL,YAAAomE,cAAV,SAAwBjkE,KAMd,YAAAG,YAAV,SAAsBvvB,EAAeovB,KAK3B,YAAAM,aAAV,SAAuBvD,EAAoBpJ,GACrC3lB,KAAKuiH,oBAAoB58F,IAC3B3lB,KAAKwiH,cAAczzF,EAAUpJ,GAE/B3lB,KAAKyiH,eAAe1zF,EAAUpJ,IAItB,YAAA48F,oBAAV,SAA8B58F,GAA9B,WACE,OAAO,EAAAmhC,MAAMnhC,GAAQ,SAAC/iB,GACpB,IAAM0qD,EAAY1qD,EAAMirB,UAClBmE,EAAmBpvB,EAAM1F,IAAI,WAGnC,OAFa,EAAKq5F,oBAAoBvkE,GAE1B1rB,QAAUgnD,EAAUhnD,WAK1B,YAAAk8G,cAAV,SAAwBzzF,EAAoBpJ,GAA5C,WACQs7B,EAAiBjhD,KAAK00B,oBACrB7J,EAAUkE,EAASoU,cAAa,GACjC,EAA4BnjC,KAAK4lB,QAA/B+hF,EAAS,YAAEC,EAAU,aACvB8a,EAAgB,EAAAja,QAAQ9iF,GAAQ,SAAC/iB,GAAU,OAAAA,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,MACjF,EAAArhB,KAAKmc,GAAQ,SAAC/iB,GACZ,IAAM+/G,EAAWD,EAAc9/G,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,KAAY,GACrEmH,EAAmBpvB,EAAM1F,IAAI,WAC3BqT,EAAUyhB,EAAO,MACnB4wF,EAAY,EAAAtkF,qBAAqB/tB,EAAMsiB,KAAK,SAC5CqZ,EAAY,EAAKqqD,oBAAoBvkE,GACrCs7B,EAAY,UAAKhoC,eAAe1iB,EAAMirB,YAGxC,EAAAqO,eAAe+kB,EAAgB/U,IAAc,GAC/CtpC,EAAMgD,IAAI,WAAW,GAEnB0nD,EAAUjnD,MAAQ6lC,EAAU7lC,OAElB,EAAAqD,UAAUi5G,GAAU,SAACh5G,GAAS,OAAAA,IAAS/G,OACvC+/G,EAAS/jH,OAAS,GAC5BgE,EAAMgD,IAAI,WAAW,IAIvBhD,EAAMiwB,KAAK,CACT7oB,EAAGkiC,EAAUliC,EAAIkiC,EAAU7lC,MAAQ,EACnC0pB,UAAW,WAEIu9B,EAAUjnD,MAAQ6lC,EAAU7lC,OAASinD,EAAUhnD,OAAS4lC,EAAU5lC,OAGjF1D,EAAMiwB,KAAK,CACTvC,OAAQs3E,aAAU,EAAVA,EAAYt3E,SAItB1tB,EAAMiwB,KAAK,CACThD,KAAM+yF,EAAYhb,aAAU,EAAVA,EAAY/3E,KAAO83E,aAAS,EAATA,EAAW93E,KAChD8zD,YAAai/B,EAAYhb,aAAU,EAAVA,EAAYjkB,YAAcgkB,aAAS,EAATA,EAAWhkB,YAC9DrzD,YAAQ7sB,SAQR,YAAAg/G,eAAV,SAAyB1zF,EAAoBpJ,GAC3C,IAOIi3B,EAPEqE,EAAiBjhD,KAAK00B,oBACtBmuF,EAAiB7iH,KAAK8iH,aAAan9F,GAClCkF,EAAUkE,EAASoU,cAAa,GACjC9G,EAAkB,GAClB0mF,EAAiB,GACjBL,EAAgB,EAAAja,QAAQoa,GAAgB,SAACjgH,GAAU,OAAAA,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,MACnFg2C,EAAU,EAAA16B,KAAK,EAAA7hB,IAAIu+F,GAAgB,SAACjgH,GAAkB,OAAAA,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,OAkB5F,IAfI,EAAAggB,KAAKg2B,GAAW,IAElBjkB,EAASikB,EAAQh8D,QACjB,EAAA2E,KAAKk5G,EAAc9lE,IAAS,SAACh6C,GAAU,OAAAmgH,EAAKz/G,KAAKV,OAE/C,EAAAioC,KAAKg2B,GAAW,IAElBjkB,EAASikB,EAAQx9D,MACjB,EAAAmG,KAAKk5G,EAAc9lE,IAAS,SAACh6C,GAAU,OAAAmgH,EAAKz/G,KAAKV,OAEnD,EAAA4G,KAAKq3D,EAAQ5D,WAAW,SAACvG,GAEvB,EAAAltD,KAAKk5G,EAAchsD,IAAM,SAAC9zD,GAAU,OAAAmgH,EAAKz/G,KAAKV,SAGzCmgH,EAAKnkH,OAAS,GAAG,CACtB,IAAM+oB,EAAMo7F,EAAKl+G,QACb8iB,EAAIzqB,IAAI,aACV,EAAA0jH,YAAYj5F,EAAKs5B,GACb,EAAA6/D,kBAAkBn5F,EAAK0U,GACzB1U,EAAI/hB,IAAI,WAAW,GAEnBy2B,EAAM/4B,KAAKqkB,MAOX,YAAAm7F,aAAR,SAAqBn9F,GACnB,IACMk9F,EAAiB,GACjBG,EAAQ7zG,KAAKqP,IAAIrP,KAAKwR,MAAMgF,EAAO/mB,OAFzB,KAE4C,GAS5D,OARA,EAAA4K,KAAKmc,GAAQ,SAAC/iB,EAAOuG,GACfA,EAAM65G,GAAU,EAClBH,EAAev/G,KAAKV,GAEpBA,EAAMgD,IAAI,WAAW,MAIlBi9G,GAEX,EAjKA,CAA0C,W,YAmK1C,EAAA5rB,uBAAuB,WAAYgsB,I,yFC7KnC,OACA,OAGA,2BAEA,OAQA,6E,OA4BS,EAAAr5G,KAAe,aAEf,EAAAiyF,SAAmB,M,EA0D5B,OAxF6C,iBAC7B,EAAA31E,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CW,MAAO,CACLV,SAAS,EACTW,KAAM,CACJX,SAAS,IAGbiB,MAAO,CACLjB,SAAS,EACTtC,MAAO,CACLsC,SAAS,IAGbvjB,MAAO,CACLujB,SAAS,EACTI,SAAU,QACVinE,aAAa,GAEfppE,OAAQ,CACN+B,SAAS,EACTI,SAAU,YACV6G,QAAS,MASR,YAAAlD,YAAP,WACE,YAAMA,YAAW,WACjB,IAAMusC,EAAQ,EAAAysD,YAAYljH,KAAK4lB,QAAQ5mB,KAAMgB,KAAK4lB,QAAQ0iF,aAAe,GACzEtoG,KAAKiJ,KAAKwB,GAAG,kBAAkB,SAAClK,GACtB,MAAeA,EAAC,MAAhBizB,OAAK,IAAG,KAAE,EACC,EAAA2vF,OAAO3vF,EAAM5S,SAAS,SAACjX,GACxC,OAAO8sD,EAAM93D,QAAQgL,EAAK/M,SACzBqgE,UACQjvC,SAAQ,SAACrkB,EAAMR,GACxB5I,EAAEizB,MAAMrqB,GAAOQ,SAKd,YAAAvB,cAAP,WACU,IAAAkgG,EAAetoG,KAAK4lB,QAAO,WACnC,GAAI0iF,EACF,OAAOtoG,KAAKiJ,KAAKjB,gBAAgBsgG,IAI3B,YAAAp/E,MAAV,WACE,IAAMk6F,EAAc,GACpBA,EAAYpjH,KAAK4lB,QAAQ0iF,YAAc,CACrC5nF,OAAQ,EAAAwiG,YAAYljH,KAAK4lB,QAAQ5mB,KAAMgB,KAAK4lB,QAAQ0iF,aAEjDtoG,KAAK4lB,QAAQmG,KAGhB/rB,KAAK4lB,QAAQmG,KAAO,EAAAhiB,QAAQ,GAAI/J,KAAK4lB,QAAQmG,KAAMq3F,GAFnDpjH,KAAK4lB,QAAQmG,KAAOq3F,EAItB,YAAMl6F,MAAK,YAGH,YAAAwyE,UAAV,SAAoBF,GAClBA,EAAIp8C,OAAS,CACX,CACEx1C,KAAM,QACNggG,YAAa,MAKT,YAAA1b,gBAAV,WACEluF,KAAKw7F,IAAIh1E,QAAU,GACnB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAKw7F,IAAIh1E,QAAQsc,OAASxW,EAAewW,QAEvCxW,EAAeoR,YACjB19B,KAAKw7F,IAAIh1E,QAAQ1U,SAAWwa,EAAeoR,UACtCpR,EAAewW,SAClB9iC,KAAKw7F,IAAIh1E,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,OAAQ9qB,KAAK4lB,QAAQ0iF,eAI1F,EAxFA,CAA6C,W,YA0F7C,EAAA9Z,iBAAiB,aAAc60B,I,yFCxG/B,OACA,OAEA,2BAEA,QAKA,yE,OAyBS,EAAAz5G,KAAe,oB,EAyBxB,OAlDoD,iBACpC,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CW,MAAO,CACLV,SAAS,EACTa,SAAU,CACRb,SAAS,GAEXW,KAAM,CACJX,SAAS,GAEXtC,MAAO,CACLsC,SAAS,EACTuX,UAAW,SAACx6B,GAAM,OAAGA,EAAC,SAExBN,MAAO,CACLujB,SAAS,EACTuX,UAAW,SAACx6B,GAEV,OAAOA,EAAEujF,QADG,MACU,UAQtB,YAAAv+D,YAAV,SAAsB0zB,GACd,MAAqB57C,KAAK4lB,QAAxBiF,EAAM,SAAEC,EAAM,SAChB5C,EAAc,YAAMA,YAAW,UAAC0zB,GAEtC,OAAO,EAAAysD,wBAAwBngF,EAAa4C,EAAQ,CAACD,KAG7C,YAAA3B,MAAV,WACE,IAAMo6F,EAAa,GACXz4F,EAAW7qB,KAAK4lB,QAAO,OAC/B09F,EAAWz4F,GAAU,CACnBuS,UAAW,EACXwC,MAAU/U,EAAM,OAChBpM,IAAK,EACLD,IAAK,EACLkf,UAAW,SAACx6B,GAEV,OAD4B,IAAJA,GAASqyB,QAAQ,GACjB,MAG5Bv1B,KAAK4lB,QAAQmG,KAAO,EAAAhiB,QAAQ,GAAI/J,KAAK4lB,QAAQmG,KAAMu3F,GACnD,YAAMp6F,MAAK,YAEf,EAlDA,CAAoD,W,YAoDpD,EAAAslE,iBAAiB,oBAAqB+0B,I,yFC9DtC,QAIA,2B,+CAAyE,OAA7B,iBAA6B,EAAzE,CAHA,yBAG4C,S,YAE5C,EAAAtsB,uBAAuB,aAAcusB,I,yFCNrC,OACA,QACA,4BAEA,QACA,QACA,QAGA,2B,+CAgCA,OAhCgD,iBACpC,YAAAlxF,aAAV,SAAuBvD,EAAoBpJ,GACzC,YAAM2M,aAAY,UAACvD,EAAUpJ,GAC7B3lB,KAAKyjH,sBAAsB99F,IAGnB,YAAA89F,sBAAV,SAAgC99F,GACtB,IAAA1c,EAASjJ,KAAI,KACf,EAA4BA,KAAK4lB,QAA/B+hF,EAAS,YAAEC,EAAU,aACvB8b,EAAe,EAAAt1B,kBAAkBnlF,EAAM,QACvC06G,EAAQ,EAAAtqD,kBAAkBqqD,GAActpF,MAAK,SAACO,EAAgBC,GAClE,OAAOA,EAAM/M,UAAUvnB,OAASq0B,EAAK9M,UAAUvnB,UAGjD,EAAAkD,KAAKmc,GAAQ,SAAC/iB,GACZ,IAAM0qD,EAAY1qD,EAAMirB,UAClBsM,EAAS,EAAAypF,gBAAgBt2D,EAAUtjD,EAAGsjD,EAAU7qD,EAAG6qD,EAAUjnD,MAAOinD,EAAUhnD,QAC9E8iF,EAAQ,EAAA9kE,IAAIq/F,GAAO,SAACjzF,GAAS,OACjCA,KAAI,EACJg7D,QAAS,EAAAzvD,OAAO9B,GAAQ,SAACxJ,GAAU,QAAED,EAAKo0D,MAAMn0D,EAAM,GAAIA,EAAM,OAAK/xB,WACnEw7B,MAAK,SAACO,EAAMC,GAAU,OAAAD,EAAK+wD,QAAU9wD,EAAM8wD,WAC/C,GAAI,EAAA/uC,KAAKysC,GAAOsC,QAAU,EAAG,CAC3B,IAAMm4B,EAAU,EAAAlnE,KAAKysC,GAAO14D,KAAKmC,KAAK,QAChC+vF,EAAY,EAAAtkF,qBAAqBulF,GACvCjhH,EAAMiwB,KAAK,CACThD,KAAM+yF,EAAYhb,aAAU,EAAVA,EAAY/3E,KAAO83E,aAAS,EAATA,EAAW93E,KAChD8zD,YAAai/B,EAAYhb,EAAWjkB,YAAcgkB,EAAUhkB,YAC5DrzD,OAAQsyF,EAAYhb,aAAU,EAAVA,EAAYt3E,OAASq3E,aAAS,EAATA,EAAWr3E,cAK9D,EAhCA,CAAgD,W,YAkChD,EAAA2mE,uBAAuB,kBAAmB6sB,I,0GC3C1C,YA4Da,EAAAC,mBAAqB,CAChChb,UAAW,CACTjB,OAAQ,GACRlvB,OA7DsB,SAAChwE,GAEzB,MAAO,CAAEuV,QADOvV,EAAMuV,SAAW,IA6D/B4pF,QAzDuB,SAACn/F,GAE1B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAyD/Bs8D,SAAU,CAAEve,UAAW,EAAG5rC,OAAQ,YAEpCipE,UAAW,CACTuO,OAAQ,GACRlvB,OAzDsB,SAAChwE,GAEzB,MAAO,CAAEuV,QADOvV,EAAMuV,SAAW,IAyD/B4pF,QArDuB,SAACn/F,GAE1B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAqD/Bs8D,SAjDwB,SAAC7xE,GAE3B,MAAO,CAAEszD,WADStzD,EAAMszD,WAAa,GACL,KAiDhCi+C,WAAY,CACVrS,OAAQ,GACRlvB,OAhDuB,SAAChwE,GAC1B,IAAM4U,EAAQ5U,EAAMinB,MAAQjnB,EAAMo7G,UAC5BhjF,EAASp4B,EAAMiiC,MAAQjiC,EAAMo4B,OAEnC,MAAO,CACLA,OAAQA,EAAS,EACjB49B,WAAY59B,EACZ69B,YAAarhD,EACb8S,OAAQ9S,EACRomE,cAAe,EACf1nB,UAAW,IAuCX6rC,QArByB,SAACn/F,GAE5B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAWvV,EAAM+6E,aAAe,KAqBpDlJ,SApCyB,SAAC7xE,GAC5B,IAAM4U,EAAQ5U,EAAMinB,MAAQjnB,EAAMo7G,UAC5BhjF,EAASp4B,EAAMiiC,MAAQjiC,EAAMo4B,OAEnC,MAAO,CACLA,OAAQA,EAAS,EACjB49B,WAAY59B,EACZ69B,YAAarhD,EACb8S,OAAQ9S,EACRomE,cAAe,EACf1nB,UAAW,KA4Bbt5D,MAAO,CACL+kG,UAAW,CACT93E,KAAM,UACNS,OAAQ,UACRqzD,YAAa,KAEfikB,WAAY,CACV/3E,KAAM,UACN8zD,YAAa,EACbrzD,OAAQ,aAKd,EAAA9M,cAAc,OAAQ,EAAAugG,qB,yFC7FtB,OACA,OAEA,2BAGA,QAKA,yE,OAeS,EAAAn6G,KAAe,qBACf,EAAAiyF,SAAmB,c,EAwB5B,OAxCqD,iBACrC,EAAA31E,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CkB,MAAO,CACLjB,SAAS,EACTvjB,MAAO,CACLujB,SAAS,EACTuX,UAAW,SAACx6B,GAEV,OAAOA,EAAEujF,QADG,MACU,UAStB,YAAAv+D,YAAV,SAAsB0zB,GACd,MAAqB57C,KAAK4lB,QAAxBiF,EAAM,SAAEC,EAAM,SAEtB,OAAO,EAAAu9E,wBAAwBzsD,EAAY/wB,EAAQ,CAACC,KAG5C,YAAA5B,MAAV,WACE,IAAMo6F,EAAa,GACXx4F,EAAW9qB,KAAK4lB,QAAO,OAC/B09F,EAAWtjH,KAAK4lB,QAAQkF,QAAU,CAChCsS,UAAW,EACXwC,MAAU9U,EAAM,OAChBrM,IAAK,EACLD,IAAK,EACLkf,UAAW,SAACx6B,GAEV,OAD4B,IAAJA,GAASqyB,QAAQ,GACjB,MAG5Bv1B,KAAK4lB,QAAQmG,KAAO,EAAAhiB,QAAQ,GAAIu5G,EAAYtjH,KAAK4lB,QAAQmG,MACzD,YAAM7C,MAAK,YAEf,EAxCA,CAAqD,W,YA0CrD,EAAAslE,iBAAiB,qBAAsBy1B,I,yFCrDvC,OACA,QACA,OACA,2BACA,QACA,2BACA,QAIA,2B,+CA6JA,OA7J6C,iBACjC,YAAAnuB,YAAV,SAAsB9jE,GACpB,IAAMpL,EAAS5mB,KAAK0zB,mBACdp2B,EAAQ0C,KAAK+9E,SAAS/rD,GACtBzM,EAAOvlB,KAAKu2F,oBAAoBvkE,GAC9B9hB,EAA4BqV,EAAI,KAA1BnV,EAAsBmV,EAAI,KAApBlV,EAAgBkV,EAAI,KAAdlf,EAAUkf,EAAI,MAClC,EAAuBvlB,KAAK4lB,QAOlC,MAAO,CAAE5b,EANCkG,EAAO7J,EAAQ,EADV,UAOH5D,GAJCnF,EAAQ,EAAI8S,EAAOC,GACfuW,GAFLtpB,EAAQ,GAAK,EAAI,GAFL,YAYhB,YAAA04F,YAAV,SAAsBhkE,GAGpB,OAFkBhyB,KAAK4lB,QAAO,MAEjBiK,MAKL,YAAAomE,cAAV,SAAwBjkE,KAMd,YAAAG,YAAV,SAAsBvvB,EAAeovB,KAK3B,YAAAM,aAAV,SAAuBvD,EAAoBpJ,GACrC3lB,KAAKuiH,oBAAoB58F,IAC3B3lB,KAAKwiH,cAAczzF,EAAUpJ,GAE/B3lB,KAAKyiH,eAAe1zF,EAAUpJ,IAItB,YAAA48F,oBAAV,SAA8B58F,GAA9B,WACE,OAAO,EAAAmhC,MAAMnhC,GAAQ,SAAC/iB,GACpB,IAAM0qD,EAAY1qD,EAAMirB,UAClBmE,EAAmBpvB,EAAM1F,IAAI,WAGnC,OAFa,EAAKq5F,oBAAoBvkE,GAE1B3rB,OAASinD,EAAUjnD,UAKzB,YAAAm8G,cAAV,SAAwBzzF,EAAoBpJ,GAA5C,WACQs7B,EAAiBjhD,KAAK00B,oBACrB7J,EAAUkE,EAASoU,cAAa,GACjC,EAA4BnjC,KAAK4lB,QAA/B+hF,EAAS,YAAEC,EAAU,aACvB8a,EAAgB,EAAAja,QAAQ9iF,GAAQ,SAAC/iB,GAAU,OAAAA,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,MACjF,EAAArhB,KAAKmc,GAAQ,SAAC/iB,GACZ,IAAM+/G,EAAWD,EAAc9/G,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,KAAY,GACrEmH,EAAmBpvB,EAAM1F,IAAI,WAC3BqT,EAAUyhB,EAAO,MACnB4wF,EAAY,EAAAtkF,qBAAqB/tB,EAAMsiB,KAAK,SAC5CqZ,EAAY,EAAKqqD,oBAAoBvkE,GACrCs7B,EAAY,UAAKhoC,eAAe1iB,EAAMirB,YAGxC,EAAAqO,eAAe+kB,EAAgB/U,IAAc,GAC/CtpC,EAAMgD,IAAI,WAAW,GAEnB0nD,EAAUhnD,OAAS4lC,EAAU5lC,QAGnB,IADA,EAAAoD,UAAUi5G,GAAU,SAACh5G,GAAS,OAAAA,IAAS/G,MAEjDA,EAAMgD,IAAI,WAAW,IAIvBhD,EAAMiwB,KAAK,CACTpwB,EAAGypC,EAAUzpC,EAAIypC,EAAU5lC,OAAS,EACpC0pB,aAAc,WAECs9B,EAAUjnD,MAAQ6lC,EAAU7lC,OAASinD,EAAUhnD,OAAS4lC,EAAU5lC,OAGjF1D,EAAMiwB,KAAK,CACTvC,OAAQs3E,aAAU,EAAVA,EAAYt3E,SAItB1tB,EAAMiwB,KAAK,CACThD,KAAM+yF,EAAYhb,aAAU,EAAVA,EAAY/3E,KAAO83E,aAAS,EAATA,EAAW93E,KAChD8zD,YAAai/B,EAAYhb,aAAU,EAAVA,EAAYjkB,YAAcgkB,aAAS,EAATA,EAAWhkB,YAC9DrzD,YAAQ7sB,SAQR,YAAAg/G,eAAV,SAAyB1zF,EAAoBpJ,GAC3C,IAOIi3B,EAPEqE,EAAiBjhD,KAAK00B,oBACtBmuF,EAAiB7iH,KAAK8iH,aAAan9F,GAClCkF,EAAUkE,EAASoU,cAAa,GACjC9G,EAAkB,GAClB0mF,EAAiB,GACjBL,EAAgB,EAAAja,QAAQoa,GAAgB,SAACjgH,GAAU,OAAAA,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,MACnFg2C,EAAU,EAAA16B,KAAK,EAAA7hB,IAAIu+F,GAAgB,SAACjgH,GAAkB,OAAAA,EAAM1F,IAAI,EAAA2R,QAAQ,EAAA7B,cAAc6d,OAkB5F,IAfI,EAAAggB,KAAKg2B,GAAW,IAElBjkB,EAASikB,EAAQh8D,QACjB,EAAA2E,KAAKk5G,EAAc9lE,IAAS,SAACh6C,GAAU,OAAAmgH,EAAKz/G,KAAKV,OAE/C,EAAAioC,KAAKg2B,GAAW,IAElBjkB,EAASikB,EAAQx9D,MACjB,EAAAmG,KAAKk5G,EAAc9lE,IAAS,SAACh6C,GAAU,OAAAmgH,EAAKz/G,KAAKV,OAEnD,EAAA4G,KAAKq3D,EAAQ5D,WAAW,SAACvG,GAEvB,EAAAltD,KAAKk5G,EAAchsD,IAAM,SAAC9zD,GAAU,OAAAmgH,EAAKz/G,KAAKV,SAGzCmgH,EAAKnkH,OAAS,GAAG,CACtB,IAAM+oB,EAAMo7F,EAAKl+G,QACb8iB,EAAIzqB,IAAI,aACV,EAAA0jH,YAAYj5F,EAAKs5B,GACb,EAAA6/D,kBAAkBn5F,EAAK0U,GACzB1U,EAAI/hB,IAAI,WAAW,GAEnBy2B,EAAM/4B,KAAKqkB,MAOX,YAAAm7F,aAAR,SAAqBn9F,GACnB,IACMk9F,EAAiB,GACjBG,EAAQ7zG,KAAKqP,IAAIrP,KAAKwR,MAAMgF,EAAO/mB,OAFzB,KAE4C,GAS5D,OARA,EAAA4K,KAAKmc,GAAQ,SAAC/iB,EAAOuG,GACfA,EAAM65G,GAAU,EAClBH,EAAev/G,KAAKV,GAEpBA,EAAMgD,IAAI,WAAW,MAIlBi9G,GAEX,EA7JA,CAA6C,W,YA+J7C,EAAA5rB,uBAAuB,cAAeitB,I,2GCzKtC,WACA,QAUS,yEAVa,EAAAhgG,aAUF,uEAVwB,EAAAW,WAE5C,IAIMs/F,EAA6B,EAAAvgG,YAJd,CACnB0pE,OAAQ,aAKV,EAAAntF,OAAO,EAAA+jB,UAAWigG,I,yFCTlB,QAIA,2B,+CAYA,OAZgD,iBACpC,YAAAhyF,YAAV,SAAsBvvB,EAAeovB,GAEnC,GAD2BhyB,KAAK4lB,QAAO,eACnB,CAClB,IAAMywE,EAAazzF,EAAMirB,UACnByoE,EAAat2F,KAAKu2F,oBAAoBvkE,IACxCskE,EAAWhwF,OAAS+vF,EAAW/vF,QAAUgwF,EAAWjwF,MAAQgwF,EAAWhwF,QAEzEzD,EAAM4uB,SAId,EAZA,CAHA,yBAGgD,S,YAchD,EAAAylE,uBAAuB,iBAAkBmtB,I,yFClBzC,OACA,OAEA,2BACA,QAMA,yE,OAyBS,EAAAx6G,KAAe,uB,EAuBxB,OAhDuD,iBACvC,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CtjB,MAAO,CACLujB,SAAS,EACTI,SAAU,SACVK,OAAQ,GAEVQ,MAAO,CACLjB,SAAS,EACTmJ,KAAM,CACJnJ,SAAS,GAEXW,KAAM,CACJX,SAAS,GAEXtC,MAAO,CACLsC,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,OAOP,YAAA+B,YAAV,SAAsB0zB,GACd,MAAqB57C,KAAK4lB,QAAxBiF,EAAM,SAAEC,EAAM,SACtB,OAAO,EAAAu9E,wBAAwBzsD,GAAc,GAAI/wB,EAAQ,CAACC,KAGlD,YAAA5B,MAAV,WACE,IAAMo6F,EAAa,GACXx4F,EAAW9qB,KAAK4lB,QAAO,OAC/B09F,EAAWx4F,GAAU,CACnBsS,UAAW,EACXwC,MAAU9U,EAAM,OAChBrM,IAAK,EACLD,IAAK,EACLkf,UAAW,SAACx6B,GAEV,OAD4B,IAAJA,GAASqyB,QAAQ,GACjB,MAG5Bv1B,KAAK4lB,QAAQmG,KAAO,EAAAhiB,QAAQ,GAAI/J,KAAK4lB,QAAQmG,KAAMu3F,GACnD,YAAMp6F,MAAK,YAEf,EAhDA,CAAuD,W,YAkDvD,EAAAslE,iBAAiB,uBAAwB61B,I,8EC5DzC,WACA,OAaA,aAQE,WAAY57G,GACV,IAAM6e,EAAiBtnB,KAAKkmB,oBAC5BlmB,KAAK4lB,QAAU,EAAA7b,QAAQud,EAAgB7e,EAAK,IAC5CzI,KAAKgK,EAAIhK,KAAK4lB,QAAQ5b,EACtBhK,KAAKyC,EAAIzC,KAAK4lB,QAAQnjB,EACtBzC,KAAKskH,KAAOtkH,KAAK4lB,QAAQ0+F,KACzBtkH,KAAK8F,UAAY9F,KAAK4lB,QAAQ9f,UAuElC,OApEY,YAAAwD,OAAV,WACE,GAAI,EAAAi7G,UAAUvkH,KAAK8F,WAAY,CAC7B9F,KAAKwkH,YAAc,EAAAtS,UAAU,4CAC7BlyG,KAAK8F,UAAU2kD,YAAYzqD,KAAKwkH,aAChC,EAAAp5G,UAAUpL,KAAKwkH,YAAa,CAC1Bj+F,SAAU,WACVk+F,cAAe,SAEjB,IAAMC,EAAW1kH,KAAKskH,KACtBtkH,KAAKwkH,YAAY/5D,YAAYi6D,GAC7B1kH,KAAK2kH,eAAe3kH,KAAKgK,EAAGhK,KAAKyC,KAI9B,YAAAmiH,WAAP,SAAkB3sD,GACZ,EAAA4sD,OAAO5sD,EAAS,mBAClBj4D,KAAKwkH,YAAYM,UAAY,GAC7B9kH,KAAKwkH,YAAY/5D,YAAYwN,IAE7Bj4D,KAAKwkH,YAAYM,UAAY7sD,EAE/Bj4D,KAAK2kH,eAAe3kH,KAAKgK,EAAGhK,KAAKyC,IAG5B,YAAAsiH,eAAP,SAAsB/6G,EAAGvH,GACvBzC,KAAKgK,EAAIA,EACThK,KAAKyC,EAAIA,EACTzC,KAAK2kH,eAAe36G,EAAGvH,IAGlB,YAAA2E,QAAP,WACEpH,KAAK8F,UAAUk/G,YAAYhlH,KAAKwkH,cAGxB,YAAAt+F,kBAAV,WACE,MAAO,CACLlc,EAAG,EACHvH,EAAG,EACH4D,MAAO,EACPC,OAAQ,EACRg+G,KAAM,GACNx+G,UAAW,KACXm/G,OAAQ,SACRC,OAAQ,WAIF,YAAAP,eAAV,SAAyB36G,EAAWvH,GAClC,IAAIwlG,EAAYj+F,EACZwsF,EAAY/zF,EACV4D,EAAQ,EAAA8+G,cAAcnlH,KAAKwkH,aAC3Bl+G,EAAS,EAAA8+G,eAAeplH,KAAKwkH,aACP,WAAxBxkH,KAAK4lB,QAAQq/F,SACfhd,EAAYj+F,EAAI3D,EAAQ,GAEE,WAAxBrG,KAAK4lB,QAAQs/F,SACf1uB,EAAY/zF,EAAI6D,EAAS,GAE3B,EAAA8E,UAAUpL,KAAKwkH,YAAa,CAC1B3pF,IAAQ1rB,KAAKuP,MAAM83E,GAAU,KAC7B77D,KAASxrB,KAAKuP,MAAMupF,GAAU,KAK9B3wC,UAAWjxD,EAAQ,EAAI,OAAS,2BAGtC,EArFA,G,sGCdA,OACA,OACA,OAEA,4BACA,yBAEA,4BAyBMgnF,EAAc,CAClBg4B,KAAM,YAGF93B,EAAgB,CACpB18E,SAAU,QAGZ,yE,OAES,EAAAjH,KAAe,Q,EAoGxB,OAtGuF,iBAMvE,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C8a,OAAQ,GACR+D,YAAa,IACbve,QAAS,CACPL,SAAS,GAEXmnF,UAAW,CACTnnF,SAAS,EACTm/F,WAAY,KACZvpB,UAAW,aACXwpB,WAAY,iBAKX,YAAA19F,WAAP,WACE,YAAMA,WAAU,WAChB29F,EAAWC,YACXzlH,KAAK0lH,eAAiB,mBAAmBF,EAAWC,UACpDzlH,KAAK2lH,6BAMA,YAAAz7F,YAAP,WACE,IAAMpkB,EAAY9F,KAAK6G,OAAO3J,IAAI,aAMlC,GALI8C,KAAKstG,YACPxnG,EAAUk/G,YAAYhlH,KAAKstG,UAAUkX,aACrCxkH,KAAKstG,UAAY,MAGfttG,KAAK4lB,QAAQ0nF,WAAattG,KAAK4lB,QAAQ0nF,UAAUnnF,QAAS,CAC5D,IAAM,EAAYnmB,KAAK6G,OAAO3J,IAAI,aAClC,EAAAkO,UAAU,EAAW,CAAEmb,SAAU,aACjCvmB,KAAKstG,UAAY,IAAI,UAAc,EAAD,UAChCxnG,UAAS,EACTmD,KAAMjJ,KAAKiJ,KACXrC,KAAM5G,KACN0lH,eAAgB1lH,KAAK0lH,gBAClB1lH,KAAK4lB,QAAQ0nF,YAElBttG,KAAKstG,UAAUhkG,SAEXtJ,KAAK4lB,QAAQ0nF,UAAUvR,WACzB/7F,KAAKstG,UAAUvR,YAGnB,YAAM7xE,YAAW,YAGZ,YAAA9iB,QAAP,WACMpH,KAAKstG,WACPttG,KAAKstG,UAAUlmG,UAEjB,YAAMA,QAAO,YAGL,YAAAwmF,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAqf,MAAV,WACE,IAAMljB,EAAQ/F,KAAK4lB,QACb2kF,EAAmB,CACvB3gG,KAAM,QACNnB,IAAK,CACHu4B,OAAQj7B,EAAMi7B,OACd+D,YAAah/B,EAAMg/B,cAGvB/kC,KAAKgsB,UAAU,aAAcu+E,IAGrB,YAAApjG,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAIV,YAAAw3B,0BAAV,WACE,IAAMzb,EAAclqG,KAAK4lB,QAAQhjB,MACjC,GAAIsnG,GAAoC,UAArBA,EAAYtgG,KAAkB,CAC/C,IAAMg8G,EAAoB1b,EAAYthG,OAAS,GAC1Cg9G,EAAiB71F,YACpB61F,EAAiB71F,UAAY,UAE/Bm6E,EAAYthG,MAAQg9G,EACf1b,EAAYtjF,SACfsjF,EAAYtjF,QAAc5mB,KAAK4lB,QAAQmf,YAAc,GAAK,EAAK,IAAG,OAjG1D,EAAA0gF,UAAY,EAqG5B,EAtGA,CAAuF,W,UAAlED,EAwGrB,EAAAh3B,iBAAiB,QAASg3B,I,yFChJ1B,OACA,OAEA,2BACA,QAEA,QACA,4BACA,4BACA,yBACA,QACA,OAEA,IAAMn4B,EAAc,CAClBw4B,QAAS,SAGLt4B,EAAgB,CACpB58D,MAAO,SAuBT,yE,OA2CS,EAAA/mB,KAAe,U,EAiMxB,OA5O6F,iBAC7E,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CsxB,UAAW,EACX2iE,WAAY,CACVj+C,UAAW,EACX0nB,cAAe,EACfD,YAAa,IACbrzD,OAAQ,QAEVzJ,MAAO,CACL4W,MAAM,EACN3W,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,IAGbiB,MAAO,CACLqW,MAAM,EACN3W,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,IAGbK,QAAS,CACPL,SAAS,EAETM,OAAQ,KACR4B,WAAW,EACXusD,aAAa,EACbluD,gBAAgB,GAElB9jB,MAAO,CACLujB,SAAS,GAEX5V,MAAO,YASJ,YAAA2Z,YAAP,WACE,YAAMA,YAAW,WACblqB,KAAK8lH,UACP9lH,KAAK8lH,SAAS1+G,UAEZpH,KAAK+lH,WACP/lH,KAAK+lH,UAAU3+G,UAEbpH,KAAK4lB,QAAQkgG,UAAY9lH,KAAK4lB,QAAQkgG,SAAS3/F,UACjDnmB,KAAK8lH,SAAW,IAAI,UAAS,EAAD,UAC1B78G,KAAMjJ,KAAKiJ,KACX+8G,YAAahmH,KAAK4lB,SACf5lB,KAAK4lB,QAAQkgG,WAElB9lH,KAAK8lH,SAASx8G,UAEZtJ,KAAK4lB,QAAQmgG,WAAa/lH,KAAK4lB,QAAQmgG,UAAU5/F,UACnDnmB,KAAK+lH,UAAY,IAAI,UAAU,EAAD,UAC5B98G,KAAMjJ,KAAKiJ,KACX+8G,YAAahmH,KAAK4lB,SACf5lB,KAAK4lB,QAAQmgG,YAElB/lH,KAAK+lH,UAAUz8G,WAIZ,YAAAlC,QAAP,WACMpH,KAAK8lH,WACP9lH,KAAK8lH,SAAS1+G,UACdpH,KAAK8lH,SAAW,MAEd9lH,KAAK+lH,YACP/lH,KAAK+lH,UAAU3+G,UACfpH,KAAK+lH,UAAY,MAEnB,YAAM3+G,QAAO,YAGP,YAAA6+G,mBAAR,SAA2B3oH,GACzB,OAAI,EAAA8I,MAAM9I,KAEC02B,OAAOzV,MAAMyV,OAAO12B,KAMvB,YAAA4qB,YAAV,SAAsBlpB,GAAtB,WACQ,EAAqBgB,KAAK4lB,QAAxBiF,EAAM,SAAEC,EAAM,SAChBo7F,EAAY,EAAAhpH,IAAI8C,KAAK4lB,QAAS,CAAC,QAAS,QAAS,UACjDugG,EAAY,EAAAjpH,IAAI8C,KAAK4lB,QAAS,CAAC,QAAS,QAAS,UACvD,OAAIsgG,GAAaC,EACKnnH,EACjBi9B,QAAO,SAACtyB,GACP,QAAkB,WAAdu8G,IAA2B,EAAKD,mBAAmBt8G,EAAKkhB,QAG1C,WAAds7F,IAA2B,EAAKF,mBAAmBt8G,EAAKmhB,QAK7DxG,KAAI,SAAC3a,G,MACJ,OAAO,EAAP,uBACKA,KAAI,MACNkhB,GAAuB,WAAdq7F,EAAyBlyF,OAAOrqB,EAAKkhB,IAAW87D,OAAOh9E,EAAKkhB,IAAQ,EAC7EC,GAAuB,WAAdq7F,EAAyBnyF,OAAOrqB,EAAKmhB,IAAW67D,OAAOh9E,EAAKmhB,IAAQ,OAM/E9rB,GAGC,YAAA4uF,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAsf,MAAV,WACE,IAAMnjB,EAAQ/F,KAAK4lB,QACbuC,EAAS,GAEfA,EAAOpiB,EAAM8kB,QAAU,GACnB,EAAAnlB,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM8kB,QAAS9kB,EAAM8gB,OAG3CsB,EAAOpiB,EAAM+kB,QAAU,GACnB,EAAAplB,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM+kB,QAAS/kB,EAAMqhB,OAE3C,IAAMg/F,EAAsB,EAAAl4E,KAAKnoC,EAAM2f,cAAc,SAACsD,GACpD,MAA4B,aAArBA,EAAYpf,QAErB,GAAIw8G,GAAuB,EAAAlpH,IAAIkpH,EAAqB,WAAY,CAC9D,IAAMC,EAAWD,EAAoB39G,IAAI7K,IACrCuqB,EAAOk+F,GACTl+F,EAAOk+F,GAAUzoH,KAAM,EAEvBuqB,EAAOk+F,GAAY,CAAEzoH,KAAK,GAG9BoC,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGH,YAAAD,MAAV,aAIU,YAAAG,WAAV,aAIU,YAAAD,YAAV,WACE,IAAMgR,EAAS,EAAA6zD,QAAQ,QAAS,SAAU,CACxCpnF,KAAM5G,OAGR,GADAA,KAAKm6B,OAASA,EACVn6B,KAAK4lB,QAAQY,SAAWxmB,KAAK4lB,QAAQY,QAAQL,QAAS,CAClD,MAA4BnmB,KAAK4lB,QAAQY,QAAvC6B,EAAS,YAAEo1B,EAAU,aAC7Bz9C,KAAKsmH,iBACLtmH,KAAKgsB,UAAU,UAAW,YACxB3D,UAAS,EACTxE,MAAOwE,EAAYo1B,OAAah6C,GAC7BzD,KAAK4lB,QAAQY,UAGhBxmB,KAAK4lB,QAAQhjB,OACf5C,KAAK4C,QAEP5C,KAAKgsB,UAAU,WAAYmO,IAGnB,YAAAv3B,MAAV,WACE,IAAMmD,EAAQ/F,KAAK4lB,QAEnB,IAA4B,IAAxB7f,EAAMnD,MAAMujB,QAAhB,CAOA,IAAMvjB,EAAQ,EAAAspB,aAAa,QAAS,EAAF,qBAChC4W,OAAQ/8B,EAAMnD,MAAMqF,MAAQ,CAAClC,EAAMnD,MAAMqF,OAAS,CAAClC,EAAM+kB,SACtD/kB,EAAMnD,OAAK,CACdgE,KAAM5G,QAGJA,KAAKm6B,SACPn6B,KAAKm6B,OAAOv3B,MAAQA,QAbhB5C,KAAKm6B,SACPn6B,KAAKm6B,OAAOv3B,OAAQ,IAgBhB,YAAA4f,UAAV,WACE,YAAMA,UAAS,YAES,IADVxiB,KAAK4lB,QACTpD,YAERxiB,KAAKm6B,OAAOxR,SAAU,IAIhB,YAAAxhB,YAAV,SAAsBknB,GAEpB,YAAMlnB,YAAW,UAACknB,GAAe8/D,IAGzB,YAAAm4B,eAAV,WACEtmH,KAAKm6B,OAAO3T,QAAU,GACtB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,OACjB9iC,KAAKm6B,OAAO3T,QAAQsc,OAASxW,EAAewW,OAE5C9iC,KAAKm6B,OAAO3T,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,QAE9DwB,EAAeoR,YACjB19B,KAAKm6B,OAAO3T,QAAQ1U,SAAWwa,EAAeoR,UAC1C19B,KAAK4lB,QAAQq4C,YACfj+D,KAAKm6B,OAAO3T,QAAQsc,OAAOx/B,KAAKtD,KAAK4lB,QAAQq4C,cAIrD,EA5OA,CAA6F,W,YA8O7F,EAAAuwB,iBAAiB,UAAW+3B,I,2GCvR5B,WACA,QAeS,yEAfa,EAAAriG,aAeF,uEAfwB,EAAAW,WAE5C,IASMs/F,EAA6B,EAAAvgG,YATd,CACnB+M,MAAO,QACPo1F,UAAW,YACXS,WAAY,aACZV,SAAU,WACVW,cAAe,iBACfC,aAAc,kBAKhB,EAAAvmH,OAAO,EAAA+jB,UAAWigG,I,6GCVlB,OACA,QAGA,QACA,QAOA,aAiBE,WAAYwC,GACV3mH,KAAK2mH,IAAMA,EAgbf,OA7aE,YAAA1Y,UAAA,SAAUrkG,EAAMgc,GACd5lB,KAAK4J,KAAOA,EACZ5J,KAAK4lB,QAAUA,EACf5lB,KAAKmkB,KAAOyB,EAAQzB,KACpBnkB,KAAKwtG,MAAQ5nF,EAAQ4nF,OAGvB,YAAAlkG,OAAA,WACE,IAAMs9G,EAAQ5mH,KACd,EAAAyM,cAAc,QAAS,QAAS,CAC9BhF,KAAA,SAAKgB,EAAU6H,G,UACbtQ,KAAK6mH,MAAQ,GACb7mH,KAAK6mH,MAAMjhG,QAAUghG,EAAMhhG,QAC3B5lB,KAAK6mH,MAAM1iG,KAAOyiG,EAAMziG,KACxBnkB,KAAK6mH,MAAMrZ,MAAQoZ,EAAMpZ,MACzBxtG,KAAK6mH,MAAMj9G,KAAOg9G,EAAMh9G,KACxB,IAAMi9G,EAAQ7mH,KAAK6mH,MACbj9G,EAAO5J,KAAK6mH,MAAMj9G,KAClB+mB,EAAQloB,EAAI0xB,OAAO,GACnBzK,EAAS1vB,KAAKwvD,WAAW,CAC7BxlD,EAAG,EACHvH,EAAG,IAGC7B,EAASZ,KAAKwvD,WAAW,CAC7BxlD,EAAG2mB,EAAM3mB,GAAK,EACdvH,EAAG,IAGLokH,EAAMn3F,OAASA,EACfm3F,EAAMv2G,MAAQA,EAEd,IAAMnT,EAASuyB,EAAO1lB,EAAIpJ,EAAOoJ,EAA3B7M,EAAiCuyB,EAAOjtB,EAAI7B,EAAO6B,EAEzDzC,KAAK6mH,MAAMC,WAAa33G,KAAKI,KAAKpS,EAAMA,EAAMA,EAAMA,GAE9C,MAA0B6C,KAAK+mH,gBAA7BC,EAAS,YAAEjmF,EAAQ,WACrBkmF,EAAet2F,EAAM3mB,GAAK+2B,EAAWimF,GAAaA,EAExD,OAAQp9G,GACN,IAAK,aACH5J,KAAKknH,aAAaD,GACdjnH,KAAK6mH,MAAM1iG,KAAKgC,UAAmC,QAA5B,EAAInmB,KAAK6mH,MAAM1iG,KAAK6C,gBAAQ,eAAEb,UACvDnmB,KAAKmnH,iBAEP,MACF,IAAK,WACHnnH,KAAKonH,UAAUH,GACXjnH,KAAK6mH,MAAM1iG,KAAKgC,UAAmC,QAA5B,EAAInmB,KAAK6mH,MAAM1iG,KAAK6C,gBAAQ,eAAEb,UACvDnmB,KAAKqnH,kBAEP,MACF,IAAK,gBACL,QACErnH,KAAKonH,UAAUH,GACXjnH,KAAK6mH,MAAM1iG,KAAKgC,UAAmC,QAA5B,EAAInmB,KAAK6mH,MAAM1iG,KAAK6C,gBAAQ,eAAEb,UACvDnmB,KAAKsnH,WAMPtnH,KAAK6mH,MAAMrZ,MAAMrnF,SACnBnmB,KAAKunH,UAAU9+G,EAAK6H,IAIxB82G,UAAA,SAAUH,GACA,IAAAx5F,EAAUztB,KAAK6mH,MAAMjhG,QAAO,MACpC5lB,KAAKwnH,iBAED/5F,GAASA,EAAM7uB,OACjBoB,KAAKynH,iBAELznH,KAAK0nH,gBAAgBT,IAIzBQ,eAAc,WAUZ,IATM,MAAyCznH,KAAK6mH,MAAMjhG,QAAlDnH,EAAG,MAAED,EAAG,MAAEiP,EAAK,QAAEjQ,EAAK,QAAEmqG,EAAU,aACpClnG,EAASjD,GAAS,EAAA8F,iBAAiB7C,OACnC,EAA0BzgB,KAAK+mH,gBAC/Bp/G,EAAS,CACb8W,IAAG,EACHD,IAAG,EACHwoG,UAJe,YAKfjmF,SALyB,YAOlB1kC,EAAI,EAAGA,EAAIoxB,EAAM7uB,OAAQvC,IAAK,CACrC,IAAM+jB,EAAQpgB,KAAK4nH,aAAan6F,EAAMpxB,GAAIsL,GACpC0Y,EAAMrgB,KAAK4nH,aAAan6F,EAAMpxB,EAAI,GAAIsL,GAE5C,GAAI0Y,GAAOD,EAAO,CAChB,IAAMynG,EAAQ7nH,KAAKo8D,QAAQh8C,EAAOC,GAC5BzX,EAAQ,EAAAmB,QAAQ,CAAE8lB,KAAMpP,EAAOpkB,IAAMsrH,GAC3C3nH,KAAK8nH,SAASD,EAAOj/G,MAK3B4+G,eAAc,WACN,MAA0BxnH,KAAK+mH,gBAA7BC,EAAS,YAAEjmF,EAAQ,WACrBgnF,EAAkB/nH,KAAK6mH,MAAMjhG,QAAQwnF,qBACrC59E,EAAOxvB,KAAKo8D,QAAQ4qD,EAAWjmF,GACrC/gC,KAAK8nH,SAASt4F,EAAMu4F,IAGtBL,gBAAA,SAAgB3tD,GACN,IAAAitD,EAAchnH,KAAK+mH,gBAAe,UACpCY,EAAa3nH,KAAK6mH,MAAMc,WACxBK,EAAQhoH,KAAKo8D,QAAQ4qD,EAAWjtD,GACtC/5D,KAAK8nH,SAASE,EAAOL,IAGvBR,eAAc,WAUZ,IATM,MAAqBnnH,KAAK6mH,MAAMjhG,QAA9BnH,EAAG,MAAED,EAAG,MAAE2F,EAAI,OAChB,EAA0BnkB,KAAK+mH,gBAC/Bp/G,EAAS,CACb8W,IAAG,EACHD,IAAG,EACHwoG,UAJe,YAKfjmF,SALyB,YAOrBlwB,GAAY2N,EAAMC,GAAO0F,EAAKiZ,UAC3B/gC,EAAI,EAAGA,EAAI8nB,EAAKiZ,UAAW/gC,IAAK,CACvC,IAAM4rH,EAAaxpG,EAAMpiB,EAAIwU,EACvBsmB,EAAQn3B,KAAK4nH,aAAaK,EAAap3G,EAAW,EAAGlJ,GAC3D3H,KAAKkoH,SAAS/wF,EAAO,CACnBv4B,OAAQulB,EAAK6C,SAASpoB,OACtBgK,MAAOub,EAAK6C,SAASpe,UAK3B0+G,SAAQ,WAWN,IAVA,IAAMnjG,EAAOnkB,KAAK6mH,MAAM1iG,KAClB,EAAenkB,KAAK6mH,MAAMjhG,QAAxBnH,EAAG,MAAED,EAAG,MACV,EAA0Bxe,KAAK+mH,gBAC/Bp/G,EAAS,CACb8W,IAAG,EACHD,IAAG,EACHwoG,UAJe,YAKfjmF,SALyB,YAOrBlwB,GAAY2N,EAAMC,IAAQ0F,EAAKiZ,UAAY,GACxC/gC,EAAI,EAAGA,EAAI8nB,EAAKiZ,UAAW/gC,IAAK,CACvC,IAAM4rH,EAAaxpG,EAAMpiB,EAAIwU,EACvBsmB,EAAQn3B,KAAK4nH,aAAaK,EAAYtgH,GACtCwgH,EAAgB,EAAA/1F,MAAMjO,EAAK6C,SAASpe,OACtCvM,EAAI,GAAM,IACZ8rH,EAAcjsD,UAAYisD,EAAcjsD,UAAY,GAEtDl8D,KAAKkoH,SAAS/wF,EAAO,CACnBv4B,OAAQvC,EAAI,GAAM,EAAI8nB,EAAK6C,SAASpoB,OAASulB,EAAK6C,SAASpoB,OAAS,EACpEgK,MAAOu/G,MAKbd,gBAAe,WAWb,IAVQ,IAAAljG,EAASnkB,KAAK6mH,MAAK,KACrB,EAAe7mH,KAAK6mH,MAAMjhG,QAAxBnH,EAAG,MAAED,EAAG,MACV,EAA0Bxe,KAAK+mH,gBAC/Bp/G,EAAS,CACb8W,IAAG,EACHD,IAAG,EACHwoG,UAJe,YAKfjmF,SALyB,YAOrBlwB,GAAY2N,EAAMC,IAAQ0F,EAAKiZ,UAAY,GACxC/gC,EAAI,EAAGA,EAAI8nB,EAAKiZ,UAAW/gC,IAAK,CACvC,IAAM4rH,EAAaxpG,EAAMpiB,EAAIwU,EACvBsmB,EAAQn3B,KAAK4nH,aAAaK,EAAYtgH,GAC5C3H,KAAKkoH,SAAS/wF,EAAO,CACnBv4B,OAAQulB,EAAK6C,SAASpoB,OACtBgK,MAAOub,EAAK6C,SAASpe,UAK3Bs+G,aAAA,SAAantD,GAcX,IAdF,WACQ,EAA+D/5D,KAAK6mH,MAAMjhG,QAAxEnH,EAAG,MAAED,EAAG,MAAEiP,EAAK,QAAEjQ,EAAK,QAAEmqG,EAAU,aAAEva,EAAoB,uBAC1D3sF,EAASjD,GAAS,EAAA8F,iBAAiB7C,OACnC,EAA0BzgB,KAAK+mH,gBAA7BC,EAAS,YAAEjmF,EAAQ,WACrBp5B,EAAS,CACb8W,IAAG,EACHD,IAAG,EACHwoG,UAAS,EACTjmF,SAAQ,GAEJlwB,GAAYkwB,EAAWimF,GAAa,GACpCpgG,EAAS/V,EAAW,EAGjBxU,EAAI,EAAGA,EAAI,GAAIA,IAAK,CAC3B,IAAM+jB,EAAQ4mG,EAAY3qH,EAAIwU,EACxBg3G,EAAQ7nH,KAAKo8D,QAAQh8C,EAAQwG,EAAS,EAAGxG,EAAQwG,EAASA,EAAS,GAErEhe,EAAQwkG,EACZ,GAAI3/E,GAASA,EAAM7uB,OAAQ,CACzB,IAAMwpH,EAAU36F,EAAMnJ,KAAI,SAAC3a,GACzB,OAAO,EAAKi+G,aAAaj+G,EAAMhC,MAG3BjJ,EAAQ,EAAA2pH,gBAAgBD,EAAShoG,GAEjCkoG,EAAan5G,KAAKsP,IAAI/f,EAAO+uB,EAAM7uB,OAAS,GAClDgK,EAAQ,EAAAmB,QAAQ,GAAI,CAAE8lB,KAAMpP,EAAO6nG,EAAa,IAAMX,IAAeva,OAErExkG,EAAQmxD,GAAW35C,EAAQ,EAAArW,QAAQ,GAAI,CAAE8lB,KAAMrS,GAASmqG,GAAcva,EAGxEptG,KAAK8nH,SAASD,EAAOj/G,KAIzBm+G,cAAa,WACH,IACFwB,EAAa,GAAqB,IAAf,IADPvoH,KAAK6mH,MAAMjhG,QAAO,OAKpC,MAAO,CAAEohG,WAHW,IAAWuB,GAAcp5G,KAAKE,GAAM,IAGpC0xB,UAFD,IAAWwnF,GAAcp5G,KAAKE,GAAM,MAKzDu4G,aAAA,SAAatqH,EAAeqK,GAClB,IAAA8W,EAAkC9W,EAAM,IAAnC6W,EAA6B7W,EAAM,IAA9Bq/G,EAAwBr/G,EAAM,UAAnBo5B,EAAap5B,EAAM,SAChD,GAAIrK,IAAUkhB,EACZ,OAAOuiB,EAET,GAAIzjC,IAAUmhB,EACZ,OAAOuoG,EAET,IAAIrkG,GAASrlB,EAAQmhB,IAAQD,EAAMC,GAC/BD,IAAQC,IACVkE,EAAQ,GAEV,IAAIwU,EAAQxU,GAASoe,EAAWimF,GAAaA,EAI7C,OAHA7vF,EAAQhoB,KAAKqP,IAAI2Y,EAAO6vF,GACxB7vF,EAAQhoB,KAAKsP,IAAI0Y,EAAO4J,IAK1B+mF,SAAA,SAASt4F,EAAc5mB,GACrB5I,KAAK6mH,MAAMv2G,MAAM4iB,SAAS,OAAQ,CAChCb,MAAO,EAAAtoB,QACL,GACA,CACEylB,KAAI,GAEN5mB,MAKNs/G,SAAA,SAAS/wF,EAAegrD,GACd,IAKJnhD,EALI7c,EAASnkB,KAAK6mH,MAAK,KACrBl/G,EAAS,EAAH,uBAAQwc,GAASg+D,GACrBv7D,EAAmBjf,EAAM,OAAjB/I,EAAW+I,EAAM,OAC3B+nB,EAAS1vB,KAAK6mH,MAAMn3F,OASpB84F,GALJxnF,EADEpa,EAAS,EACF5mB,KAAK6mH,MAAMC,WAAa9mH,KAAK6mH,MAAMjhG,QAAQynF,UAAYzmF,EAEvD5mB,KAAK6mH,MAAMC,WAAalgG,GAGdzX,KAAKw1B,IAAIxN,GAASzH,EAAO1lB,EACxCy+G,EAAMznF,EAAS7xB,KAAKioB,IAAID,GAASzH,EAAOjtB,EAExCimH,GAAO1nF,EAASpiC,GAAUuQ,KAAKw1B,IAAIxN,GAASzH,EAAO1lB,EACnD2+G,GAAO3nF,EAASpiC,GAAUuQ,KAAKioB,IAAID,GAASzH,EAAOjtB,EAE5CzC,KAAK6mH,MAAMv2G,MAAM4iB,SAAS,OAAQ,CAC7Cb,MAAO,EAAAtoB,QACL,GACA,CACE6lB,GAAI44F,EACJh3C,GAAIi3C,EACJh3C,GAAIi3C,EACJh3C,GAAIi3C,GAENxmC,EAAMv5E,SAGLhD,IAAI,OAAQ,kBAGnBw2D,QAAA,SAAQ4qD,EAAmBjmF,GAIzB,IAAMrR,EAAS1vB,KAAK6mH,MAAMn3F,OACpB9wB,EAASoB,KAAK6mH,MAAMC,WAOpB8B,EAAQ5oH,KAAK6mH,MAAMjhG,QAAQynF,UAG3Bmb,EAAM5pH,EAASuQ,KAAKw1B,IAAIqiF,GAAat3F,EAAO1lB,EAC5Cy+G,EAAM7pH,EAASuQ,KAAKioB,IAAI4vF,GAAat3F,EAAOjtB,EAC5ComH,GAAOjqH,EAASgqH,GAASz5G,KAAKw1B,IAAIqiF,GAAat3F,EAAO1lB,EACtD8+G,GAAOlqH,EAASgqH,GAASz5G,KAAKioB,IAAI4vF,GAAat3F,EAAOjtB,EACtDimH,EAAM9pH,EAASuQ,KAAKw1B,IAAI5D,GAAYrR,EAAO1lB,EAC3C2+G,EAAM/pH,EAASuQ,KAAKioB,IAAI2J,GAAYrR,EAAOjtB,EAC3CsmH,GAAOnqH,EAASgqH,GAASz5G,KAAKw1B,IAAI5D,GAAYrR,EAAO1lB,EACrDg/G,GAAOpqH,EAASgqH,GAASz5G,KAAKioB,IAAI2J,GAAYrR,EAAOjtB,EAErDwmH,EAAe95G,KAAKsmB,IAAIuxF,EAAYjmF,GAAY5xB,KAAKE,GAAK,EAAI,EACpE,MAAO,CACL,CAAC,IAAKm5G,EAAKC,GACX,CAAC,IAAK7pH,EAAQA,EAAQ,EAAGqqH,EAAc,EAAGP,EAAKC,GAC/C,CAAC,IAAKI,EAAKC,GACX,CAAC,IAAKpqH,EAASgqH,EAAOhqH,EAASgqH,EAAO,EAAGK,EAAc,EAAGJ,EAAKC,GAC/D,CAAC,OAILvB,UAAA,SAAU9+G,GACF,MAA0BzI,KAAK+mH,gBAA7BC,EAAS,YAAEjmF,EAAQ,WACrB,EAAwB/gC,KAAK6mH,MAAMjhG,QAAjCob,EAAM,SAAEqsE,EAAS,YACnB6b,EAAclpH,KAAK6mH,MAAMrZ,MACzB2b,EAAYD,EAAYzb,UACxB2b,EAAWF,EAAYzb,UAAY,IACnCn9F,EAAQtQ,KAAK6mH,MAAMv2G,MACnBqgB,EAAQloB,EAAI0xB,OAAO,GACnBzK,EAAS1vB,KAAKwvD,WAAW,CAC7BxlD,EAAG,EACHvH,EAAG,IAICs3D,EAAUppC,EAAM3mB,GAAK+2B,EAAWimF,GAAaA,EAI7CpmH,EAAS,CACboJ,GAJShK,KAAK6mH,MAAMC,WAAazZ,GAAarsE,EAAS7xB,KAAKw1B,IAAIo1B,GAAW/5D,KAAK6mH,MAAMn3F,OAAO1lB,EAK7FvH,GAJSzC,KAAK6mH,MAAMC,WAAazZ,GAAarsE,EAAS7xB,KAAKioB,IAAI2iC,GAAW/5D,KAAK6mH,MAAMn3F,OAAOjtB,GAsB/F,GAdIymH,EAAY1qH,KAAK2nB,SACnB7V,EAAM4iB,SAAS,SAAU,CACvBb,MAAO,EAAAtoB,QACL,GACA,CACEC,EAAG0lB,EAAO1lB,EACVvH,EAAGitB,EAAOjtB,EACVtF,EAAG+rH,EAAY1qH,KAAKqsC,KAAOq+E,EAAY1qH,KAAKqsC,KAAO,EAAgB,IAAZs+E,GAEzDD,EAAY1qH,KAAKoK,SAKnBsgH,EAAYlsC,QAAQ72D,QAAS,CAC/B,IAAMkjG,EAAS,CAAEr/G,EAAG0lB,EAAO1lB,EAAIpJ,EAAOoJ,EAAGvH,EAAGitB,EAAOjtB,EAAI7B,EAAO6B,GAExD7D,EAASuQ,KAAKI,KAAK85G,EAAOr/G,EAAIq/G,EAAOr/G,EAAIq/G,EAAO5mH,EAAI4mH,EAAO5mH,GACjE4mH,EAAOr/G,GAAK,EAAIpL,EAChByqH,EAAO5mH,GAAK,EAAI7D,EAEhB,IAAM0qH,GAAUn6G,KAAKE,GAAK,EACpBugB,EAAKzgB,KAAKw1B,IAAI2kF,GAAUD,EAAOr/G,EAAImF,KAAKioB,IAAIkyF,GAAUD,EAAO5mH,EAC7D+uE,EAAKriE,KAAKioB,IAAIkyF,GAAUD,EAAOr/G,EAAImF,KAAKw1B,IAAI2kF,GAAUD,EAAO5mH,EAE7D8mH,EAASp6G,KAAKE,GAAK,EACnBoiE,EAAKtiE,KAAKw1B,IAAI4kF,GAAUF,EAAOr/G,EAAImF,KAAKioB,IAAImyF,GAAUF,EAAO5mH,EAC7DivE,EAAKviE,KAAKioB,IAAImyF,GAAUF,EAAOr/G,EAAImF,KAAKw1B,IAAI4kF,GAAUF,EAAO5mH,EAC7D+sB,EAAO,CACX,CAAC,IAAK5uB,EAAOoJ,EAAI4lB,EAAKw5F,EAAUxoH,EAAO6B,EAAI+uE,EAAK43C,GAChD,CAAC,IAAK15F,EAAO1lB,EAAI4lB,EAAKu5F,EAAWz5F,EAAOjtB,EAAI+uE,EAAK23C,GACjD,CAAC,IAAKz5F,EAAO1lB,EAAIynE,EAAK03C,EAAWz5F,EAAOjtB,EAAIivE,EAAKy3C,GACjD,CAAC,IAAKvoH,EAAOoJ,EAAIynE,EAAK23C,EAAUxoH,EAAO6B,EAAIivE,EAAK03C,GAChD,CAAC,MAGH94G,EAAM4iB,SAAS,OAAQ,CACrBb,MAAO,EAAAtoB,QACL,GACA,CACEylB,KAAI,GAEN05F,EAAYlsC,QAAQp0E,SAIxB0H,EAAM4iB,SAAS,SAAU,CACvBb,MAAO,CACLroB,EAAGpJ,EAAOoJ,EACVvH,EAAG7B,EAAO6B,EACVtF,EAAGisH,EACHv5F,KAAMq5F,EAAYlsC,QAAQp0E,MAAMinB,QAGpCvf,EAAM4iB,SAAS,SAAU,CACvBb,MAAO,CACLroB,EAAG0lB,EAAO1lB,EACVvH,EAAGitB,EAAOjtB,EACVtF,EAAGgsH,EACHt5F,KAAMq5F,EAAYlsC,QAAQp0E,MAAMinB,QAKlCq5F,EAAYxb,IAAIvnF,SAElB7V,EAAM4iB,SAAS,SAAU,CACvBb,MAAO,EAAAtoB,QACL,GACA,CACEC,EAAG0lB,EAAO1lB,EACVvH,EAAGitB,EAAOjtB,EACVtF,EAAGisH,EAAW,KAEhBF,EAAYxb,IAAI9kG,aAO9B,EAlcA,GAAa,EAAAmlG,c,yFChBb,OACA,OACA,QACA,2BACA,4BACA,yBAyBM1gB,EAAc,CAClBm8B,SAAU,YAGNj8B,EAAgB,CACpB18E,SAAU,YAGN44G,EAAgB,CAAC,UAAW,WAElC,yE,OAKS,EAAA7/G,KAAe,WAEd,EAAA8/G,WAAY,E,EA8QtB,OArRgG,iBASvF,YAAAC,aAAP,WACE,IAAI5jH,EAAQ/F,KAAK4lB,QACjB7f,EAAM/G,KAAOgB,KAAKkoB,cAClB,IAAMzf,EAAM,CACV6d,QAAS,CAAC,EAAG,EAAG,EAAG,GACnBuE,OAAQ,QACRC,OAAQ,IACRkxE,WAAY,OACZ4tB,QAAS7jH,EAAM8kC,KAAO9kC,EAAM8kC,KAAO7qC,KAAK6pH,UACxCC,SAAU/jH,EAAMgkH,cAChBvsG,MAAOxd,KAAKgqH,gBAAgBjkH,IAAU0jH,GAExC1jH,EAAQ,EAAA2oB,IAAI3oB,EAAO0C,IAGd,YAAAwf,KAAP,WACEjoB,KAAK2pH,eACL,YAAM1hG,KAAI,YAGL,YAAAJ,WAAP,WACU,IAAAy1E,EAAYt9F,KAAK4lB,QAAO,QAChC,IAAK,EAAAqO,SAASqpE,GACZ,MAAM,IAAI1+D,MAAM,uEAIb,YAAAtc,OAAP,SAAc7Z,GACZ,IAAM1C,EAAQ/F,KAAK4lB,QAWnB,GAVI,EAAA6B,OAAOhf,EAAK,aACd1C,EAAMu3F,QAAU70F,EAAI60F,QACpBt9F,KAAK+H,WAAW/H,KAAKkoB,gBAGnBzf,EAAIG,QACN5I,KAAKiqH,qBAAqBxhH,EAAIG,OAC9B5I,KAAKkqH,yBAAyBzhH,EAAIG,QAGhCH,EAAI+U,MAAO,CACb,IAAI5U,OAAK,EACL,EAAAwZ,QAAQ3Z,EAAI+U,QACdxd,KAAK4lB,QAAQpI,MAAQ/U,EAAI+U,MACzB5U,EAAQ,CAAC,CAAEinB,KAAMpnB,EAAI+U,MAAM,IAAM,CAAEqS,KAAMpnB,EAAI+U,MAAM,OAEnDxd,KAAK4lB,QAAQpI,MAAM,GAAK/U,EAAI+U,MAC5B5U,EAAQ,CAAEinB,KAAMpnB,EAAI+U,QAEtBxd,KAAKiqH,qBAAqBrhH,GAGxBH,EAAI6kB,SACNttB,KAAKmqH,cAAc1hH,EAAI6kB,QACvBttB,KAAK4lB,QAAQ0H,OAAS7kB,EAAI6kB,SAIvB,YAAAlmB,QAAP,WACMpH,KAAKoqH,SAAWpqH,KAAKoqH,QAAQxrH,OAAS,IACxC,EAAA4K,KAAKxJ,KAAKoqH,SAAS,SAAC98F,GAClBA,EAAOlmB,aAETpH,KAAKoqH,QAAU,IAEjB,YAAMhjH,QAAO,YAGR,YAAA8iB,YAAP,sBACMlqB,KAAK4lB,QAAQ0H,SAAWttB,KAAKoqH,UAC/BpqH,KAAKoqH,QAAU,GACf,EAAA5gH,KAAKxJ,KAAK4lB,QAAQ0H,QAAQ,SAAC7kB,GACzB,IAAMymD,EAAY,EAAAxgC,IAChB,CACE7nB,OAAQ,EAAKA,OACboC,KAAM,EAAKA,KACXohH,aAAc,EAAKzkG,QAAQgkG,SAE7BnhH,GAEI6kB,EAAS,IAAI,UAAO4hC,GAC1B,EAAKk7D,QAAQ9mH,KAAKgqB,OAGtB,IAAMg9F,EAAoBtqH,KAAKiJ,KAAKuf,WAAW,GAAG1iB,UAC5Cyf,EAAO+kG,EAAkBz8F,UACzB08F,EAAOD,EAAkBp3F,SAAS,OAAQ,CAC9Cb,MAAO,CACLhsB,MAAOkf,EAAKlf,MACZC,OAAQif,EAAKjf,OACb0D,EAAGub,EAAKrV,KACRzN,EAAG8iB,EAAKnV,KACRyf,KAAM,mBAGV7vB,KAAK6G,OAAOY,OAEZ8iH,EAAK9/G,GAAG,cAAc,SAACqa,GACrB,EAAK4kG,WAAY,EACjB,EAAKzgH,KAAK6e,KAAK,sBAAuBhD,MAGxCylG,EAAK9/G,GAAG,cAAc,SAACqa,GACrB,EAAK4kG,WAAY,EACjB,EAAKzgH,KAAK6e,KAAK,sBAAuBhD,MAEtB9kB,KAAK6G,OAAO3J,IAAI,aACxB2N,iBAAiB,cAAc,SAACia,GACpC,EAAK4kG,YACP,EAAKzgH,KAAK6e,KAAK,sBAAuBhD,GACtC,EAAK4kG,WAAY,OAKb,YAAA97B,eAAV,SAAyBzhE,EAAaviB,GACpC,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAqf,MAAV,WACEjpB,KAAKgsB,UAAU,aAAc,CAC3B8hB,QAAS,CAAC,CAAC,iBAIL,YAAA3kB,YAAV,WACE,IAAMpjB,EAAQ/F,KAAK4lB,QACb41E,EAAM,EAAAxN,QAAQ,WAAY,OAAQ,CACtCC,eAAgB,CAACloF,EAAM+kB,OAAQ/kB,EAAM8kB,QACrCjkB,KAAM5G,OAERw7F,EAAIp8C,OAAS,CACX,CACEx1C,KAAM,UAGN,EAAAlE,IAAIK,EAAO,eACby1F,EAAI7yE,QAAU5iB,EAAMyc,WAEtBxiB,KAAKgsB,UAAU,WAAYwvE,IAGnB,YAAAr0F,YAAV,SAAsBknB,GAChBA,EACF,YAAMlnB,YAAW,UAACknB,GAElB,YAAMlnB,YAAW,UAACgnF,IAIZ,YAAA67B,gBAAV,SAA0BjkH,GACxB,IAAIykH,EACJ,GAAIzkH,EAAMyX,MAAO,CAMf,GAJEgtG,EADE,EAAAlgH,WAAWvE,EAAMyX,OACLzX,EAAMyX,MAAMzX,EAAMu3F,SAElBv3F,EAAMyX,MAElB,EAAAqP,SAAS29F,GAAc,CACzB,IAAMhtG,EAAQ,EAAA4U,MAAMq3F,GAEpB,OADAjsG,EAAM,GAAKgtG,EACJhtG,EAEP,OAAOgtG,EAGX,OAAOzkH,EAAMyX,OAGL,YAAA0K,YAAV,WACE,IAAMniB,EAAQ/F,KAAK4lB,QAKnB,MAJa,CACX,CAAEhc,KAAM,UAAWtM,MAAOyI,EAAMu3F,SAChC,CAAE1zF,KAAM,OAAQtM,MAAO,EAAMyI,EAAMu3F,WAK7B,YAAA6sB,cAAV,SAAwBj7D,GACtB,IAAMu7D,EAAev7D,EAAUtwD,OACzB8rH,EAAmB1qH,KAAK2qH,4BAU9B,GARA,EAAAnhH,KAAKxJ,KAAKoqH,SAAS,SAAC98F,EAAQ5uB,GACtBA,EAAQ+rH,EAAe,EACzBn9F,EAAOlmB,UAEPkmB,EAAOhL,OAAO4sC,EAAUxwD,GAAQgsH,EAAiBnoG,SAAUmoG,EAAiBjoG,WAI5EziB,KAAKoqH,QAAQxrH,OAAS6rH,EAExB,IADA,IACSpuH,EADU2D,KAAKoqH,QAAQxrH,OACPvC,EAAIouH,EAAcpuH,IAAK,CAC9C,IAAMoM,EAAM,EAAAsB,QACV,GACA,CACElD,OAAQ7G,KAAK6G,OACboC,KAAMjJ,KAAKiJ,KACXohH,aAAcrqH,KAAK4lB,QAAQgkG,SAE7B16D,EAAU7yD,IAENixB,EAAS,IAAI,UAAO7kB,GAC1BzI,KAAKoqH,QAAQ9mH,KAAKgqB,KAKhB,YAAAu8F,QAAR,WAEE,OADmB7pH,KAAI,QACT,GACL,GAEF,GAGD,YAAAiqH,qBAAR,SAA6BrhH,GAErB,MAAuB5I,KAAK2qH,4BAA1BpoG,EAAQ,WAAEE,EAAM,SAElBmoG,EAAiB,GAEjB77F,EADW/uB,KAAI,KACCwoB,WACtB,EAAAhf,KAAKulB,GAAU,SAAC9D,GACd,GAAkB,aAAdA,EAAKrhB,KAAqB,CAC5B,IAAMmoB,EAAW9G,EAAK8G,SACtB,EAAAvoB,KAAKuoB,GAAU,SAACw4B,GACdqgE,EAAetnH,KAAI,MAAnBsnH,EAAuBrgE,EAAIh6C,cAI7B,EAAA6R,QAAQxZ,GACV,EAAAY,KAAKZ,GAAO,SAACxK,EAAGM,GACdksH,EAAelsH,GAAOiqB,QAAQvqB,EAAGmkB,EAAUE,MAG7CmoG,EAAe,GAAGjiG,QAAQ/f,EAAO2Z,EAAUE,IAIvC,YAAAkoG,0BAAR,WACE,IAAIpoG,EAAW,IACXE,EAAS,gBACPioG,EAAwB1qH,KAAK4lB,QAAQpD,UAS3C,OARIkoG,GAAoBA,EAAiBpoG,SACnCooG,EAAiBpoG,OAAOC,WAC1BA,EAAWmoG,EAAiBpoG,OAAOC,UAEjCmoG,EAAiBpoG,OAAOG,SAC1BA,EAASioG,EAAiBpoG,OAAOG,SAG9B,CAAEF,SAAQ,EAAEE,OAAM,IAGnB,YAAAynG,yBAAR,SAAiCthH,GAAjC,WACM,EAAAwZ,QAAQxZ,GACV,EAAAY,KAAKZ,GAAO,SAACxK,EAAGM,GACVN,EAAEyxB,OACJ,EAAKjK,QAAQpI,MAAM9e,GAASN,EAAEyxB,SAGzBjnB,EAAMinB,OACf7vB,KAAK4lB,QAAQpI,MAAM,GAAK5U,EAAMinB,OAGpC,EArRA,CAAgG,W,YAuRhG,EAAA2+D,iBAAiB,WAAYq8B,I,yFC/T7B,OACA,QACA,4BACA,2BACA,2BAEA,QACA,2BAGA,QAMA,cA4BE,WAAY9kH,GAAZ,MACE,YAAMA,IAAM,K,OANJ,EAAAiqG,WAA0B,GAE1B,EAAA5nF,QAAiB,GACjB,EAAAqjE,cAA0B,CAAC,SAAU,UAI7C,EAAK7lE,QAAU,EAAKC,WAAW9f,GAC/B,EAAK+f,eAAiB,EAAA/b,QAAQ,GAAIhE,GAClC,EAAKkgB,gBAAkB,IAAI,U,EA6c/B,OA7ekG,iBAClF,EAAAC,kBAAd,WACE,MAAO,CACLrC,MAAO,CACLsC,SAAS,EACTC,QAAS,OACTC,KAAM,IAERvC,YAAa,CACXqC,SAAS,EACTE,KAAM,GACND,QAAS,UAwBR,YAAAP,WAAP,SAAkB9f,GAChB,IAAMshB,EAAarnB,KAAK4lB,SAAW,GAC7BA,EAAU,YAAMC,WAAU,UAAC9f,GAE3BuhB,EAAiBtnB,KAAKC,YAAYimB,kBAAkBngB,GAC1D,OAAO,EAAAgE,QAAQ,GAAI6b,EAAS0B,EAAgBD,EAAYthB,IAGnD,YAAAspG,UAAP,WAGE,IAHF,I,IAAA,OACQ,EAA2BrvG,KAAK4lB,QAA9B5mB,EAAI,OAAE6rB,EAAM,SAAEC,EAAM,SAEnBzuB,EAAI,EAAGA,EAAI2D,KAAKyrF,cAAc7sF,OAAQvC,IAAK,CAClD,IAAM4L,EAAQjI,KAAKyrF,cAAcpvF,GACjC,IAAK,EAAAorB,OAAOznB,KAAK4lB,QAAS3d,GACxB,OAAO,EAIX,SAAK,EAAAma,QAAQ0I,IAAWA,EAAOlsB,OAAS,QAInC,EAAAwjB,QAAQpjB,IAAyB,IAAhBA,EAAKJ,WAIH,KAAb,QAAP,EAAAI,EAAK,UAAE,eAAEJ,SAAoC,KAAb,QAAP,EAAAI,EAAK,UAAE,eAAEJ,WAItC,EAAA4K,KAAKxK,GAAM,SAACrC,EAAG+B,GACb,IAAK,EAAA0jB,QAAQzlB,IAAmB,IAAbA,EAAEiC,OAAc,CACjC,IAAMksH,EAAW,EAAKC,YAAYrsH,GAClCM,EAAKN,GAASosH,SAIb9rH,EAAK,GAAG,GAAG6rB,KAAY7rB,EAAK,GAAG,GAAG6rB,QAMlC,YAAA5C,KAAP,WACE,YAAMA,KAAI,WACVjoB,KAAKyG,MAAQzG,KAAKimB,gBAAgBvZ,SAAS1M,KAAK4lB,QAAgB5lB,KAAK4J,MACrE5J,KAAK8oB,YACL9oB,KAAK+oB,mBAGA,YAAArhB,aAAP,SAAoBe,GAClBzI,KAAKkrB,YACLlrB,KAAK4lB,QAAU5lB,KAAK6lB,WAAWpd,GAC/BzI,KAAKmrB,eAAenrB,KAAK4lB,UAGpB,YAAA7d,WAAP,SAAkB/I,GACXA,GAAQA,EAAKJ,OAAS,IAAO,EAAAwjB,QAAQpjB,EAAK,KAG/C,EAAAwK,KAAKxJ,KAAKgwG,YAAY,SAAC1oG,EAAO5I,GAC5B4I,EAAMS,WAAW/I,EAAKN,QAInB,YAAAssH,kBAAP,SAAyBhsH,EAAMN,GACzB,EAAA0jB,QAAQpjB,EAAK,KAGCgB,KAAKgwG,WAAWtxG,GACxBqJ,WAAW/I,IAGb,YAAAksB,UAAV,WACE,EAAA1hB,KAAKxJ,KAAKgwG,YAAY,SAAC1oG,GACrBA,EAAM4jB,eAERlrB,KAAKgwG,WAAa,GAClB,EAAAxmG,KAAKxJ,KAAKooB,SAAS,SAAChE,GAClBA,EAAOhd,aAETpH,KAAKooB,QAAU,IAGP,YAAAqnF,YAAV,SAAsBwb,EAAUjsH,EAAM2I,GACpC,IAAM0hB,EAAYrpB,KAAKspB,eACjBhiB,EAAQ,IAAI2jH,EAAS,EAAD,UACxBpkH,OAAQ7G,KAAK6G,OACbf,UAAW9F,KAAK8F,UAChBkE,EAAGqf,EAAUnZ,KACbzN,EAAG4mB,EAAUjZ,KACb/J,MAAOgjB,EAAUhjB,MACjBC,OAAQ+iB,EAAU/iB,OAClBtH,KAAI,GACD2I,IAGL,OADA3H,KAAKgwG,WAAW1sG,KAAKgE,GACdA,GAIC,YAAA4jH,gBAAV,WACE,IAAMC,EAAgBnrH,KAAKorH,aAAa,GAClCC,EAAiBrrH,KAAKorH,aAAa,GAEzC,OAA4B,GAArBD,EAAc1sG,KAAkC,IAAtB0sG,EAAc3sG,IAAYrP,KAAKqP,IAAI6sG,EAAe7sG,IAAK,GAAK2sG,EAAc3sG,KAGnG,YAAA4I,MAAV,SAAgB1oB,GACd,IAAMysH,EAAgBnrH,KAAKorH,aAAa,GAChChkG,EAAUpnB,KAAK4lB,QAAO,MACxBje,EAAmB,IAAVjJ,EAAc0oB,EAAM0nF,WAAa1nF,EAAM2nF,YAChDuc,EAAatrH,KAAKygB,OAAO/hB,GACzB6sH,EAAc,EAAAn5F,MAAMzqB,GACpB6jH,EAAW,CACf3nG,MAAO,SACPkD,KAAM,SACNnkB,MAAO,OACPokB,SAAU,UAERrf,EAAOwe,SAAWxe,EAAOknG,cAC3B,EAAArlG,KAAK+hH,GAAa,SAAC5jH,EAAQ/K,GACzB,IAAK,EAAAiwB,SAASllB,IAAW,EAAA8f,OAAO+jG,EAAU5uH,GAAO,CAC/C,IAAM09G,EAAWkR,EAAS5uH,GACrB+K,EAAOiB,QACVjB,EAAOiB,MAAQ,IAEjBjB,EAAOiB,MAAM0xG,GAAYgR,MAI1B3jH,EAAOwe,UACVolG,EAAY1nG,MAAMsC,SAAU,EAC5BolG,EAAYvkG,SAASb,SAAU,EAC/BolG,EAAY3oH,MAAMujB,SAAU,EAC5BolG,EAAYxkG,KAAKZ,SAAU,EAC3BolG,EAAYplG,SAAU,GAExB,IAAMslG,EAAoBzrH,KAAK0rH,uBAM/B,OAJc,IAAVhtH,GAAqC,IAAtBysH,EAAc3sG,KAAmC,IAAtB2sG,EAAc1sG,MAC1D8sG,EAAY/sG,IAAMxe,KAAKkrH,mBAGlB,EAAAnhH,QAAQ,GAAI0hH,EAAmBF,IAG9B,YAAAh+C,SAAV,WAwBE,IAvBQ,IAAAnmD,EAAUpnB,KAAK4lB,QAAO,MACxBulG,EAAgBnrH,KAAKorH,aAAa,GAGlCO,EAAc,IADN,EAAApvE,SAAS,UACH,CAClB,EAAAxyC,QACE,GACA,CACE0U,IAAK,EACLD,IAAKxe,KAAKkrH,kBACVztF,MAAM,EACN/c,OAAQyqG,EAAczqG,QAExB,CACE0c,UAAWhW,EAAMgW,aAIjBA,EAAYuuF,EAAY31F,MAAMp3B,OAG9Bm3B,GADM3O,EAAM5I,IAAMmtG,EAAYntG,IAAMxe,KAAKorH,aAAa,GAAG5sG,MACnC4e,EAAY,GAClCpH,EAAQ,GACL35B,EAAI,EAAGA,EAAI+gC,EAAW/gC,IAAK,CAClC,IAAImxE,EAAYnxE,EAAI05B,EACf/B,OAAO43F,UAAUp+C,KACpBA,EAAYtiE,WAAWsiE,EAAUj4C,QAAQ,KAE3CS,EAAM1yB,KAAKkqE,GAEb,OAAOx3C,GAGC,YAAAo1F,aAAV,SAAuB1sH,GACf,MAA0BsB,KAAK4lB,QAA7B5mB,EAAI,OAAE8rB,EAAM,SAAE1D,EAAK,QACrB1G,EAAS,GAOf,OANA,EAAAlX,KAAKxK,EAAKN,IAAQ,SAAC/B,GACjB+jB,EAAOpd,KAAK3G,EAAEmuB,EAAOpsB,QAEvBgiB,EAAO0Z,MAAK,SAACj2B,EAAGzE,GAAM,OAAAyE,EAAIzE,KAGnB,CAAE+e,IAFGiC,EAAO,GAELlC,IADF4I,EAAM5I,IAAM4I,EAAM5I,IAAMkC,EAAOA,EAAO9hB,OAAS,GACxC8hB,OAAM,IAGjB,YAAAqvF,gBAAV,SAA0BzyG,EAAwBoB,GAC1C,MAAmBsB,KAAK4lB,QAAtB5mB,EAAI,OAAE6rB,EAAM,SAEpB,OADmB7rB,EAAKN,GACNu9B,QAAO,SAACt/B,GACxB,OAAOA,EAAEkuB,KAAYvtB,MAIf,YAAAouH,qBAAV,WACQ,MAA0B1rH,KAAK4lB,QAAQwB,MAC7C,MAAO,CAAE3I,IADE,MACGD,IADE,MACG4e,UADQ,cAInB,YAAAuyE,aAAV,e,IAAA,OACU4J,EAAa,EAAAj2F,iBAAgB,SACjC,EAAAlB,QAAQm3F,IACV,EAAA/vG,KAAK+vG,GAAU,SAACpD,EAAIz3G,GACa,mBAApB66G,EAAS76G,KAClB66G,EAAS76G,GAAS66G,EAAS76G,GAAO,EAAKknB,aAI7C,IAMIimG,EACAC,EAPEziG,EAAYrpB,KAAKspB,eACjByiG,EAAwB/rH,KAAKgsH,iBAAiBhsH,KAAKgwG,WAAW,GAAGpqF,QAAQU,SACzE2lG,EAAyBjsH,KAAKgsH,iBAAiBhsH,KAAKgwG,WAAW,GAAGpqF,QAAQU,SAG5E4lG,EAAe,GAGI,QAAvB,EAAIlsH,KAAK4lB,QAAQxB,cAAM,eAAE+B,WACvB0lG,EAAc7rH,KAAKooB,QAAQ,GAAGu4B,gBAC9BmrE,EAAc9rH,KAAKooB,QAAQ,GAAGu4B,gBAC9BurE,EAAeL,EAAYvlH,OAAS6lH,IAItC,IAAMC,EAAgBL,EAAYznG,KAAI,SAAC3a,EAAcjL,GAEnD,OAAc,IAAVA,EACKyQ,KAAKqP,IAAIne,MAAM,KAAM,CAACsJ,EAAOuiH,EAAcD,EAAavtH,KAE1DyQ,KAAKqP,IAAIne,MAAM,KAAM,CAACsJ,EAAMsiH,EAAavtH,QAGlDsB,KAAKgwG,WAAW,GAAGtoG,aAAa,CAC9B4e,QAAS8lG,IAEXpsH,KAAKgwG,WAAW,GAAG1mG,SACnBtJ,KAAKgwG,WAAW,GAAGtoG,aAAa,CAC9B4e,QAAS8lG,IAEXpsH,KAAKgwG,WAAW,GAAG1mG,UAEI,QAAvB,EAAItJ,KAAK4lB,QAAQxB,cAAM,eAAE+B,WACvBnmB,KAAKooB,QAAQ,GAAGikG,YAAY,CAC1BriH,EAAGuvG,EAAS,GACZ92G,EAAG4mB,EAAUjZ,KAjSC,IAmShBpQ,KAAKooB,QAAQ,GAAGikG,YAAY,CAC1BriH,EAAGqf,EAAUlZ,KAAOopG,EAAS,GAAKuS,EAAYzlH,MAC9C5D,EAAG4mB,EAAUjZ,KArSC,MA8SZ,YAAA47G,iBAAR,SAAyB1lG,GACvB,MAAuB,iBAAZA,GAA2C,iBAAZA,EACjC,CAAC0N,OAAO1N,IAEVA,GAGC,YAAAkqF,aAAV,SAAuB9xG,GAAvB,WACQ0lB,EAASpkB,KAAKooB,QAAQ1pB,GACP0lB,EAAOlnB,IAAI,SACnBuN,GAAG,SAAS,WACvB,IAAMd,EAAOya,EAAOlnB,IAAI,SAAS,GAC5ByM,EAAKqpE,WAIR5uD,EAAOi3D,aAAa1xE,EAAM,aAAa,GACvC,EAAKqnG,UAAUtyG,KAJf0lB,EAAOi3D,aAAa1xE,EAAM,aAAa,GACvC,EAAKunG,UAAUxyG,QAQX,YAAAwyG,UAAV,SAAoBxyG,GAClB,IAAM4I,EAAQtH,KAAKgwG,WAAWtxG,GACxBuJ,EAAQjI,KAAK4lB,QAAQkF,OAAOpsB,GAE1BuK,EAAS3B,EAAK,KAChBinE,EAAgBvuE,KAAKssH,kBAAkBrjH,EAAMhB,GAC/CsmE,GACFA,EAAc3oE,IAAI,WAAW,GAE/B5F,KAAKusH,sBAAsBtjH,GAAM,GACjCjJ,KAAK6G,OAAOY,QAGJ,YAAAupG,UAAV,SAAoBtyG,GAClB,IAAM4I,EAAQtH,KAAKgwG,WAAWtxG,GACxBuJ,EAAQjI,KAAK4lB,QAAQkF,OAAOpsB,GAC1BuK,EAAS3B,EAAK,KAChBinE,EAAgBvuE,KAAKssH,kBAAkBrjH,EAAMhB,GAC/CsmE,GACFA,EAAc3oE,IAAI,WAAW,GAE/B5F,KAAKusH,sBAAsBtjH,GAAM,GACjCjJ,KAAK6G,OAAOY,QAGJ,YAAA8kH,sBAAV,SAAgCtjH,EAAMsoB,GACpC,EAAA/nB,KAAKP,EAAKuf,YAAY,SAACyC,GACb,IAAAnlB,EAA+BmlB,EAAI,UAAxB+D,EAAoB/D,EAAI,gBACvCnlB,GACFA,EAAUF,IAAI,UAAW2rB,GAEvBvC,GACFA,EAAgBppB,IAAI,UAAW2rB,OAK3B,YAAA+6F,kBAAV,SAA4BrjH,EAAMhB,GAChC,IAAInC,EACE0mH,EAAUvjH,EAAK05C,YAAY1mB,QAAO,SAACtxB,GACvC,OAAO,EAAA8c,OAAO9c,EAAK,oBAClB,GACH,GAAI6hH,EAAS,CACX,IACMC,EADMD,EACWj+C,cAAcrxE,IAAI,YACzC,EAAAsM,KAAKijH,GAAY,SAAC/pH,GACEA,EAAExF,IAAI,aAAaA,IAAI,WACvB+K,IAChBnC,EAAYpD,MAIlB,OAAOoD,GAGC,YAAAmqG,kBAAV,WACE,IAAM3yG,EAAQ,GAOd,OANA,EAAAkM,KAAKxJ,KAAKooB,SAAS,SAAChE,GAClB,IAAMsoG,EAAiBtoG,EAAOq3D,gBAAgB,aAC9C,EAAAjyE,KAAKkjH,GAAgB,SAAC/iH,GACpBrM,EAAMgG,KAAKqG,EAAK/M,YAGbU,GAGC,YAAAwrB,UAAV,WACE,IAAM/iB,EAAQ/F,KAAK4lB,QACb6H,EAAQztB,KAAK0tB,UAMnB,GALI1tB,KAAK6jB,QACP7jB,KAAK6jB,MAAMzc,UACXpH,KAAK6jB,MAAQ,MAGX,EAAAyK,aAAavoB,EAAM8d,OAAQ,CAC7B,IAAMxd,EAAQrG,KAAKqG,MACbI,EAAQzG,KAAKyG,MACbod,EAAQ,IAAI,UAAgB,CAChC0K,WAAYd,EAAMvd,KAAOzJ,EAAMod,MAAMyC,QAAQ,GAC7CkI,YAAaf,EAAMtd,KAAO1J,EAAMod,MAAMyC,QAAQ,GAC9CmI,UAAWhB,EAAMrd,KAAO3J,EAAMod,MAAMyC,QAAQ,GAC5CD,KAAMtgB,EAAM8d,MAAMwC,KAClBzd,MAAO,EAAA8lB,IAAIjoB,EAAMod,MAAO9d,EAAM8d,MAAMjb,OACpC+lB,aAActoB,EAAQI,EAAMod,MAAMyC,QAAQ,GAAK7f,EAAMod,MAAMyC,QAAQ,GACnExgB,UAAW9F,KAAK8F,UAAU4jB,WAC1BjjB,MAAK,EACL/H,MAAO,EAAA4vB,aAAavoB,EAAM+d,aAAe,EAAI,EAC7Cld,KAAM5G,KACNomB,QAASrgB,EAAM8d,MAAMuC,QACrBxpB,KAAM,UAERoD,KAAK6jB,MAAQA,IAIP,YAAAkF,gBAAV,WACE,IAAMhjB,EAAQ/F,KAAK4lB,QACb6H,EAAQztB,KAAK0tB,UAMnB,GALI1tB,KAAK8jB,cACP9jB,KAAK8jB,YAAY1c,UACjBpH,KAAK8jB,YAAc,MAGjB,EAAAwK,aAAavoB,EAAM+d,aAAc,CACnC,IAAMzd,EAAQrG,KAAKqG,MACbI,EAAQzG,KAAKyG,MACfgoB,EAAY,EAEhB,GAAIzuB,KAAK6jB,MAAO,CACd,IAAMgL,EAAY7uB,KAAK6jB,MAAMgK,UAC7BY,GAAaI,EAAUze,KAAOye,EAAUvoB,OACxCmoB,GAAahoB,EAAMqd,YAAYwC,QAAQ,QAGvCmI,GAAahB,EAAMrd,KAAO3J,EAAMod,MAAMyC,QAAQ,GAGhD,IAAMxC,EAAc,IAAI,UAAgB,CACtCyK,WAAYd,EAAMvd,KAAOzJ,EAAMqd,YAAYwC,QAAQ,GACnDmI,UAAS,EACTD,YAAaf,EAAMtd,KAAO1J,EAAMod,MAAMyC,QAAQ,GAC9CD,KAAMtgB,EAAM+d,YAAYuC,KACxBzd,MAAO,EAAA8lB,IAAIjoB,EAAMqd,YAAa/d,EAAM+d,YAAYlb,OAChD+lB,aAActoB,EAAQI,EAAMqd,YAAYwC,QAAQ,GAAK7f,EAAMqd,YAAYwC,QAAQ,GAC/ExgB,UAAW9F,KAAK8F,UAAU4jB,WAC1BjjB,MAAK,EACL/H,MAAO,EACPkI,KAAM5G,KACNomB,QAASrgB,EAAM+d,YAAYsC,QAC3BxpB,KAAM,gBAERoD,KAAK8jB,YAAcA,IAIb,YAAAwF,aAAV,WACOtpB,KAAK0tB,YACR1tB,KAAK0tB,UAAY,IAAI,UAAK1tB,KAAKgK,EAAGhK,KAAKyC,EAAGzC,KAAKqG,MAAOrG,KAAKsG,SAE7D,IAAIqmH,EAAW3sH,KAAK0tB,UAAUxd,KAC1B08G,EAAW5sH,KAAK0tB,UAAUvd,KAC1B08G,EAAW7sH,KAAK0tB,UAAUtd,KAC1B08G,EAAW9sH,KAAK0tB,UAAUrd,KACxBs+B,EAAa,CAAC3uC,KAAK6jB,MAAO7jB,KAAK8jB,aAoBrC,OAlBA,EAAAta,KAAKmlC,GAAY,SAAC7Z,GAChB,GAAIA,EAAW,CACL,IAAAvO,EAAauO,EAAS,SACxB,EAA6BA,EAAUjH,UAArC3d,EAAI,OAAEC,EAAI,OAAEC,EAAI,OAAEC,EAAI,OAC1BA,GAAQw8G,GAAYx8G,GAAQy8G,GAAyB,QAAbvmG,IAC1CsmG,EAAWx8G,GAETD,GAAQy8G,GAAYz8G,GAAQ08G,GAAyB,WAAbvmG,IAC1CumG,EAAW18G,GAETD,EAAOw8G,GAAYx8G,GAAQy8G,GAAyB,SAAbrmG,IACzComG,EAAWx8G,GAETD,GAAQy8G,GAAYx8G,GAAQy8G,GAAyB,UAAbrmG,IAC1CqmG,EAAW18G,OAIV,IAAI,UAAKy8G,EAAUE,EAAUD,EAAWD,EAAUG,EAAWD,IAG5D,YAAA9B,YAAV,SAAsBrsH,GACd,MAAqBsB,KAAK4lB,QAAxBiF,EAAM,SAAEC,EAAM,SAChBiiG,EAAO,GAGb,OAFAA,EAAKliG,GAAU,OACfkiG,EAAKjiG,EAAOpsB,IAAU,EACf,CAACquH,IAEZ,EA7eA,CAAkG,W,+ECJlG,SAAS,EAAS,EAAmB,EAAW,GAE5C,IAAI,EAAc,EAAQ,iBAC1B,GAAE,EAAa,CACT,MAZV,SAA0B,EAAa,GACnC,GAAE,EAAQ,CACV,IAAM,EAAe,iBAAO,GAC5B,OAAO,uBAAa,EAAc,GAEpC,OAAO,EAOgB,CAAiB,CAAC,EAAG,EAAG,GAAI,GACjD,MAAO,CADI,KAAM,MAGnB,MAAO,CAAC,EAAG,GAGb,SAAS,EAAQ,EAAmB,EAAW,GAE3C,GAAE,EAAQ,UAAY,EAAQ,WAC9B,OAAO,EAIP,IAAG,yBAAe,KAAqC,IAAzB,EAAQ,IAAI,SACtC,OAAG,EAEP,GAAE,EAAQ,IAAI,UAAW,CAEnB,MAAe,EAAS,EAAS,EAAG,GAAnC,EAAI,KAAE,EAAI,KACjB,GAAI,EAAQ,UAAU,EAAM,GAC1B,OAAO,EAIT,IAAE,EAAO,EAAQ,IAAI,gBAIrB,OAHG,IACC,EAAG,EAAQ,iBAEX,GAAK,EAAK,MAAQ,GAAK,EAAK,MAAQ,GAAK,EAAK,MAAQ,GAAK,EAAK,K,mClDnCxE,cAAE,SAAF,I,+CA+MA,OA/MqB,yBACjB,EAAF,mCACE,IAAM,EAAM,YAAM,cAAa,WAW3B,OATA,EAAD,SAAe,SAEdtkH,EAAD,UAAe,EAEdA,EAAD,cAAmB,EAClB,EAAD,gBAAsB,GAErBA,EAAD,UAAe,EACd,EAAD,UAAe,EACX,GAOP,EAAF,kCAAe,GAOM,SAAf,GAAwC,SAAf,GAAwC,eAAf,IACpD,KAAK,IAAI,kBAAmB,CAAC,OACvBzI,KAAD,SAIP6L,EAAO5N,UAAU+uH,aAAe,WAC5B,OAAG,GAGP,EAAF,kCACE,OAAO,KAKP,EAAF,mCACM,IAAE,EAAa,KAAK,IAAI,eAAiB,cAE7C,OAAO,GAAc,EAAI,KAAK,KAAK,GAAc,GAGjD,EAAF,kCACM,MAAG,CACC,OACA,OACN,KAAM,KAAK,IAAI,SACf,KAAM,KAAK,IAAI,YAKjB,EAAF,+BACM,IAAE,EAAU,SAAS,cAAc,UACjC,EAAU,EAAQ,WAAW,MAG/B,OADJ,KAAK,IAAI,UAAW,GACb,GAEP,EAAF,8BAAW,EAAe,GACpB,EAAJ,UAAM,WAAU,UAAC,EAAO,GACpB,IAAE,EAAU,KAAK,IAAI,WACnB,EAAK,KAAK,IAAI,MACd,EAAa,KAAK,gBACpB,EAAD,MAAQ,EAAa,EACpB,EAAD,OAAS,EAAa,EAErB,EAAa,GACf,EAAQ,MAAM,EAAY,IAI5B,EAAF,2BACM,EAAJ,UAAM,MAAK,WACP,KAAC,cACL,IAAM,EAAU,KAAK,IAAI,WACnB,EAAU,KAAK,IAAI,MACrB,EAAI,UAAU,EAAG,EAAG,EAAQ,MAAO,EAAQ,SAG/C,EAAF,4BAAS,EAAW,GAClB,OAAI,KAAK,IAAI,YkDhDX,SAAU,EAAS,EAAuB,EAAW,GAEvD,IAAG,EAAQ,EAAW,EAAG,GACzB,OAAO,KAKP,IAHA,IAAE,EAAQ,KACN,EAAW,EAAU,cAElB,EADK,EAAS,OACF,EAAG,GAAK,EAAG,IAAK,CAC/B,IAAE,EAAQ,EAAS,GACnB,KAAM,UACF,EAAE,EAAS,EAAiB,EAAG,QAChC,GAAI,EAAQ,EAAO,EAAG,GAAI,CACzB,MAAW,EACX,EAAe,EAAS,EAAO,EAAG,GAAjC,EAAI,KAAE,EAAI,KAEb,EAAS,UAAU,EAAM,KAC3B,EAAQ,GAGR,KACF,MAGJ,OAAO,ElDyBI,CAAS,KAAM,EAAG,GAEpB,YAAM,SAAQ,UAAC,EAAG,EAAG,OAG5B,EAAF,uCACM,IAEA,EAFE,EAAW,KAAK,IAAI,mBACpB,EAAa,KAAK,eAGpB,EAAS,QAAU,EAAS,KAAO,KAC/B,EAAG,GAEH,EAAG,YAAgB,MAEfzjG,EAAD,KAAO,KAAK,MAAM,EAAO,MACxB,EAAD,KAAO,KAAK,MAAM,EAAO,MACxB,EAAD,KAAO,KAAK,KAAK,EAAO,MACvB,EAAD,KAAO,KAAK,KAAK,EAAO,MACd,KAAK,IAAI,cAGxB,EAAS,YAAU,EAAQ,KAIjC,OAAO,GAOP,EAAF,kCAAe,GACW,KAAK,IAAI,mBACjB,KAAK,IAMrB,EAAF,iCACM,IAAE,EAAY,KAAK,IAAI,aACvB,IAEF,YAAoB,GACpB,KAAK,IAAI,YAAa,MACtB,KAAK,IAAI,kBAAmB,MAK9B,EAAF,0BACE,IAAM,EAAY,KAAK,IAAI,aACvB,KAAK,IAAI,aAAe,GAGxB,KAAC,cAGL,EAAF,8BACM,IAAE,EAAU,KAAK,IAAI,WACnB,EAAU,KAAK,IAAI,MACnB,EAAW,KAAK,cACtB,EAAQ,UAAU,EAAG,EAAG,EAAQ,MAAO,EAAQ,QAC/C,YAAoB,EAAS,MAC7B,YAAa,EAAS,GAElB,KAAC,IAAI,kBAAmB,KAG5B,EAAF,iCACM,IAAE,EAAU,KAAK,IAAI,WACnB,EAAkB,KAAK,IAAI,mBAC3B,EAAW,KAAK,cAChB,EAAS,KAAK,oBAGhB,IAEIsa,EAAE,UAAU,EAAO,KAAM,EAAO,KAAM,EAAO,KAAO,EAAO,KAAM,EAAO,KAAO,EAAO,MAEtF,EAAE,OACF,EAAE,YACFA,EAAE,KAAK,EAAO,KAAM,EAAO,KAAM,EAAO,KAAO,EAAO,KAAM,EAAO,KAAO,EAAO,MACvF,EAAQ,OACR,YAAoB,EAAS,MAEvB,OAAN,IAAM,CAAO,EAAS,EAAU,GAC1B,EAAE,WAEN,OAAJ,IAAI,CAAC,GAAiB,SAAC,GACjB,EAAQ,IAAI,eAGd,EAAQ,IAAI,cAAc,MAG1B,KAAC,IAAI,kBAAmB,KAI5B,EAAF,gCAAI,IAAJ,OACM,EAAY,KAAK,IAAI,aACpB,IACG,EAAM,aAAsB,WAC5B,EAAK,IAAI,gBACX,EAAK,cAEL,EAAK,WAEP,EAAK,IAAI,YAAa,SAExB,KAAK,IAAI,YAAa,KAI1B,kCACF,EA/MA,CAAqB,kBAiNN,O,8BmD1Nf,YACA,IAAI5/B,EAAkBjE,MAAQA,KAAKiE,gBAAmB,WAClD,IAAK,IAAI7F,EAAI,EAAG/B,EAAI,EAAG6H,EAAK9D,UAAUxB,OAAQvC,EAAI6H,EAAI7H,IAAK+B,GAAKgC,UAAU/D,GAAGuC,OACxE,IAAIzB,EAAI0C,MAAMzB,GAAIe,EAAI,EAA3B,IAA8B9C,EAAI,EAAGA,EAAI6H,EAAI7H,IACzC,IAAK,IAAI8H,EAAI/D,UAAU/D,GAAI+H,EAAI,EAAGC,EAAKF,EAAEvF,OAAQwF,EAAIC,EAAID,IAAKjF,IAC1DhC,EAAEgC,GAAKgF,EAAEC,GACjB,OAAOjH,GAEXJ,OAAOC,eAAenB,EAAS,aAAc,CAAEyB,OAAO,IACtD,IAAI2vH,EACA,SAAqBrwH,EAAM23G,EAAS2Y,GAChCltH,KAAKpD,KAAOA,EACZoD,KAAKu0G,QAAUA,EACfv0G,KAAKktH,GAAKA,EACVltH,KAAK4J,KAAO,WAIpB/N,EAAQoxH,YAAcA,EACtB,IAAIE,EACA,SAAkB5Y,GACdv0G,KAAKu0G,QAAUA,EACfv0G,KAAK4J,KAAO,OACZ5J,KAAKpD,KAAO,OACZoD,KAAKktH,GAAKp3D,EAAQs3D,UAI1BvxH,EAAQsxH,SAAWA,EACnB,IAAIE,EACA,SAA6BzwH,EAAM23G,EAAS2Y,EAAII,GAC5CttH,KAAKpD,KAAOA,EACZoD,KAAKu0G,QAAUA,EACfv0G,KAAKktH,GAAKA,EACVltH,KAAKstH,IAAMA,EACXttH,KAAK4J,KAAO,cAIpB/N,EAAQwxH,oBAAsBA,EAC9B,IAAIE,EACA,WACIvtH,KAAK4J,KAAO,MACZ5J,KAAKstH,KAAM,EACXttH,KAAKpD,KAAO,MACZoD,KAAKu0G,QAAU,KACfv0G,KAAKktH,GAAK,MAIlBrxH,EAAQ0xH,QAAUA,EAClB,IAAIC,EACA,WACIxtH,KAAK4J,KAAO,eACZ5J,KAAKpD,KAAO,eACZoD,KAAKu0G,QAAU,KACfv0G,KAAKktH,GAAK,MAIlBrxH,EAAQ2xH,gBAAkBA,EAG1B,IACIC,EAAqB,gFAErBC,EAAiB,CACjB,CAAC,MAAO,0BACR,CAAC,OAAQ,qBACT,CAAC,WAAY,uBACb,CAAC,gBAAiB,0BAClB,CAAC,YAAa,yBACd,CAAC,UAAW,8BACZ,CAAC,OAAQ,yBACT,CAAC,OAAQ,4BACT,CAAC,SAAU,6BACX,CAAC,gBAAiB,mBAClB,CACI,mBACA,0DAEJ,CAAC,SAAU,oDACX,CAAC,YAAa,iCACd,CAAC,QAAS,6BACV,CAAC,UAAW,+BACZ,CAAC,QAAS,qBACV,CAAC,aAAc,mCACf,CAAC,QAAS,6BACV,CAAC,QAAS,2BACV,CAAC,KAAM,6CACP,CAAC,KAAM,uCACP,CAAC,KAAM,gBACP,CAAC,OAAQ,qCACT,CAAC,UAAW,uBACZ,CAAC,MAAO,0CACR,CAAC,SAAU,gCACX,CAAC,WAAY,oBACb,CAAC,YAAa,yBACd,CAAC,cAAe,mCAChB,CAAC,cAAe,qCAChB,CAAC,YArCoB,iIAuCrBC,EAAuB,CACvB,CAAC,MAAO,kBACR,CAAC,aAAc,WACf,CAAC,gBAAiB,mBAClB,CAAC,iBAAkB,YACnB,CAAC,YAAa,UACd,CAAC,eAAgB,SACjB,CAAC,aAAc,qCACf,CAAC,aAAc,wBACf,CAAC,eAAgB,mCACjB,CAAC,aAAc,iCACf,CAAC,sBAAuB,oBACxB,CAAC,gBAAiB,oBAClB,CAAC,YAAa,oBACd,CAAC,YAAa,oBACd,CAAC,cAAe,oBAChB,CAAC,aAAc,qBACf,CAAC,aAAc,cACf,CAAC,WAAY,WACb,CAAC,SAAU,SACX,CAAC,YAAa,QACd,CAAC,QAAS,iBACV,CAAC,SAAU,6BACX,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,UAiBb,SAASC,EAAeC,GAKpB,MAAe,KAAPA,GACJH,EAAenmG,QAAO,SAAUumG,EAASloC,GACrC,IAAIwuB,EAAUxuB,EAAG,GAAI4F,EAAQ5F,EAAG,GAChC,GAAIkoC,EACA,OAAOA,EAEX,IAAIC,EAAUviC,EAAM7tE,KAAKkwG,GACzB,QAASE,GAAW,CAAC3Z,EAAS2Z,MAC/B,GAOX,SAASC,EAAeH,GACpB,IAAII,EAAcL,EAAeC,GACjC,IAAKI,EACD,OAAO,KAEX,IAAIrxH,EAAOqxH,EAAY,GAAI7kC,EAAQ6kC,EAAY,GAC/C,GAAa,cAATrxH,EACA,OAAO,IAAI2wH,EAEf,IAAIW,EAAe9kC,EAAM,IAAMA,EAAM,GAAGn8D,MAAM,QAAQrM,MAAM,EAAG,GAC3DstG,EACIA,EAAatvH,OA9GI,IA+GjBsvH,EAAejqH,EAAeiqH,EA+B1C,SAA4BvkE,GAExB,IADA,IAAIwkE,EAAS,GACJC,EAAK,EAAGA,EAAKzkE,EAAOykE,IACzBD,EAAO7qH,KAAK,KAEhB,OAAO6qH,EApC6CE,CA/G3B,EA+GuEH,EAAatvH,UAIzGsvH,EAAe,GAEnB,IAAI3Z,EAAU2Z,EAAalsG,KAAK,KAC5BkrG,EAAKoB,EAAST,GACdU,EAAiBd,EAAmB9vG,KAAKkwG,GAC7C,OAAIU,GAAkBA,EAAe,GAC1B,IAAIlB,EAAoBzwH,EAAM23G,EAAS2Y,EAAIqB,EAAe,IAE9D,IAAItB,EAAYrwH,EAAMsxH,EAAalsG,KAAK,KAAMkrG,GAGzD,SAASoB,EAAST,GACd,IAAK,IAAIO,EAAK,EAAGzkE,EAAQgkE,EAAqB/uH,OAAQwvH,EAAKzkE,EAAOykE,IAAM,CACpE,IAAIxoC,EAAK+nC,EAAqBS,GAAKlB,EAAKtnC,EAAG,GAE3C,GAFuDA,EAAG,GACxCjoE,KAAKkwG,GAEnB,OAAOX,EAGf,OAAO,KAGX,SAASsB,IAEL,YADgC,IAAZ14D,GAA2BA,EAAQy+C,QACvC,IAAI4Y,EAASr3D,EAAQy+C,QAAQ3zF,MAAM,IAAM,KA7D7D/kB,EAAQ4yH,OAdR,SAAgBpiC,GACZ,OAAMA,EACK2hC,EAAe3hC,GAEF,oBAAbpmF,UACc,oBAAdmmF,WACe,gBAAtBA,UAAUsiC,QACH,IAAIlB,EAEU,oBAAdphC,UACA4hC,EAAe5hC,UAAUC,WAE7BmiC,KAsBX3yH,EAAQ8yH,YAJR,SAAqBd,GACjB,IAAI7uH,EAAO4uH,EAAeC,GAC1B,OAAO7uH,EAAOA,EAAK,GAAK,MA6B5BnD,EAAQmyH,eAAiBA,EAWzBnyH,EAAQyyH,SAAWA,EAKnBzyH,EAAQ2yH,eAAiBA,I,iGre9MzB,aACA,SACI,EAAJ,MA2CA3yH,EAAA,QAzCgB,SAAV,EAAW,EAAY,GAC3B,GAAI,IAAU,EACZ,OAAO,EAEP,IAAG,IAAU,EACb,OAAO,EAEP,GAAE,UAAS,IAAU,UAAS,GAC9B,OAAO,EAEP,GAAE,UAAY,IAAU,UAAY,GAAQ,CAC5C,GAAI,EAAM,SAAW,EAAM,OACzB,OAAO,EAGL,IADA,OAAM,EACD,EAAI,EAAG,EAAI,EAAM,SACxB,EAAM,EAAQ,EAAM,GAAI,EAAM,KADE,KAM9B,OAAG,EAEP,GAAE,UAAa,IAAU,UAAa,GAAQ,CAC9C,IAAM,EAAY,OAAO,KAAK,GACxB,EAAY,OAAO,KAAK,GAC1B,KAAU,SAAW,EAAU,OACjC,OAAO,EAGL,IADA,GAAM,EACD,EAAI,EAAG,EAAI,EAAU,SAC5B,EAAM,EAAQ,EAAM,EAAU,IAAK,EAAM,EAAU,MADf,KAMlC,OAAG,EAEP,OAAK,I,8Bse1CT,YACA,IAAIoI,EAAkBjE,MAAQA,KAAKiE,gBAAmB,WAClD,IAAK,IAAI7F,EAAI,EAAG/B,EAAI,EAAG6H,EAAK9D,UAAUxB,OAAQvC,EAAI6H,EAAI7H,IAAK+B,GAAKgC,UAAU/D,GAAGuC,OACxE,IAAIzB,EAAI0C,MAAMzB,GAAIe,EAAI,EAA3B,IAA8B9C,EAAI,EAAGA,EAAI6H,EAAI7H,IACzC,IAAK,IAAI8H,EAAI/D,UAAU/D,GAAI+H,EAAI,EAAGC,EAAKF,EAAEvF,OAAQwF,EAAIC,EAAID,IAAKjF,IAC1DhC,EAAEgC,GAAKgF,EAAEC,GACjB,OAAOjH,GAEXJ,OAAOC,eAAenB,EAAS,aAAc,CAAEyB,OAAO,IACtD,IAAI2vH,EACA,SAAqBrwH,EAAM23G,EAAS2Y,GAChCltH,KAAKpD,KAAOA,EACZoD,KAAKu0G,QAAUA,EACfv0G,KAAKktH,GAAKA,GAIlBrxH,EAAQoxH,YAAcA,EACtB,IAAIE,EACA,SAAkB5Y,GACdv0G,KAAKu0G,QAAUA,EACfv0G,KAAKpD,KAAO,OACZoD,KAAKktH,GAAKp3D,EAAQs3D,UAI1BvxH,EAAQsxH,SAAWA,EACnB,IAAII,EACA,WACIvtH,KAAKstH,KAAM,EACXttH,KAAKpD,KAAO,MACZoD,KAAKu0G,QAAU,KACfv0G,KAAKktH,GAAK,MAIlBrxH,EAAQ0xH,QAAUA,EAElB,IAGIG,EAAiB,CACjB,CAAC,MAAO,0BACR,CAAC,OAAQ,qBACT,CAAC,WAAY,uBACb,CAAC,gBAAiB,0BAClB,CAAC,UAAW,uBACZ,CAAC,YAAa,yBACd,CAAC,UAAW,8BACZ,CAAC,OAAQ,yBACT,CAAC,OAAQ,4BACT,CAAC,SAAU,6BACX,CAAC,gBAAiB,mBAClB,CACI,mBACA,0DAEJ,CAAC,SAAU,oDACX,CAAC,YAAa,iCACd,CAAC,QAAS,6BACV,CAAC,UAAW,+BACZ,CAAC,QAAS,qBACV,CAAC,aAAc,mCACf,CAAC,QAAS,6BACV,CAAC,QAAS,2BACV,CAAC,KAAM,6CACP,CAAC,KAAM,uCACP,CAAC,KAAM,gBACP,CAAC,OAAQ,qCACT,CAAC,UAAW,uBACZ,CAAC,MAAO,0CACR,CAAC,SAAU,gCACX,CAAC,WAAY,oBACb,CAAC,YAAa,yBACd,CAAC,cAAe,mCAChB,CAAC,cAAe,qCAChB,CAAC,YAtCoB,iIAwCrBC,EAAuB,CACvB,CAAC,MAAO,kBACR,CAAC,aAAc,WACf,CAAC,gBAAiB,mBAClB,CAAC,iBAAkB,YACnB,CAAC,YAAa,UACd,CAAC,eAAgB,SACjB,CAAC,aAAc,qCACf,CAAC,aAAc,wBACf,CAAC,eAAgB,mCACjB,CAAC,aAAc,iCACf,CAAC,sBAAuB,oBACxB,CAAC,gBAAiB,oBAClB,CAAC,YAAa,oBACd,CAAC,YAAa,oBACd,CAAC,cAAe,oBAChB,CAAC,aAAc,qBACf,CAAC,aAAc,cACf,CAAC,WAAY,WACb,CAAC,SAAU,SACX,CAAC,YAAa,QACd,CAAC,QAAS,iBACV,CAAC,SAAU,6BACX,CAAC,MAAO,OACR,CAAC,OAAQ,QACT,CAAC,OAAQ,SACT,CAAC,aAjEoB,+FA6EzB,SAASK,EAAeH,GAKpB,IAAII,EAAqB,KAAPJ,GACdH,EAAenmG,QAAO,SAAUumG,EAASloC,GACrC,IAAIwuB,EAAUxuB,EAAG,GAAI4F,EAAQ5F,EAAG,GAChC,GAAIkoC,EACA,OAAOA,EAEX,IAAIC,EAAUviC,EAAM7tE,KAAKkwG,GACzB,QAASE,GAAW,CAAC3Z,EAAS2Z,MAC/B,GACP,IAAKE,EACD,OAAO,KAEX,IAAIrxH,EAAOqxH,EAAY,GAAI7kC,EAAQ6kC,EAAY,GAC/C,GAAa,cAATrxH,EACA,OAAO,IAAI2wH,EAEf,IAAIW,EAAe9kC,EAAM,IAAMA,EAAM,GAAGn8D,MAAM,QAAQrM,MAAM,EAAG,GAS/D,OARIstG,EACIA,EAAatvH,OAnGI,IAoGjBsvH,EAAejqH,EAAeiqH,EAyB1C,SAA4BvkE,GAExB,IADA,IAAIwkE,EAAS,GACJC,EAAK,EAAGA,EAAKzkE,EAAOykE,IACzBD,EAAO7qH,KAAK,KAEhB,OAAO6qH,EA9B6CE,CApG3B,EAoGuEH,EAAatvH,UAIzGsvH,EAAe,GAEZ,IAAIjB,EAAYrwH,EAAMsxH,EAAalsG,KAAK,KAAMssG,EAAST,IAGlE,SAASS,EAAST,GACd,IAAK,IAAIO,EAAK,EAAGzkE,EAAQgkE,EAAqB/uH,OAAQwvH,EAAKzkE,EAAOykE,IAAM,CACpE,IAAIxoC,EAAK+nC,EAAqBS,GAAKlB,EAAKtnC,EAAG,GAE3C,GAFuDA,EAAG,GACxCnmD,KAAKouF,GAEnB,OAAOX,EAGf,OAAO,KAGX,SAASsB,IAEL,YADgC,IAAZ14D,GAA2BA,EAAQy+C,QACvC,IAAI4Y,EAASr3D,EAAQy+C,QAAQ3zF,MAAM,IAAM,KA/C7D/kB,EAAQ4yH,OATR,SAAgBpiC,GACZ,OAAMA,EACK2hC,EAAe3hC,GAED,oBAAdD,UACA4hC,EAAe5hC,UAAUC,WAE7BmiC,KAmCX3yH,EAAQmyH,eAAiBA,EAWzBnyH,EAAQyyH,SAAWA,EAKnBzyH,EAAQ2yH,eAAiBA,I,iGxapKzB,aAGA,SAAS,EAAK,GACZ,OAAO,KAAK,KAAK,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,IAI1C,SAAShpG,EAAOC,EAAGviB,GAEf,OAAK,EAAK,GAAK,EAAK,IAAM,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,KAAO,EAAK,GAAK,EAAK,IAAM,EAIjF,SAAS,EAAO,EAAGA,GACjB,OAAQ,EAAE,GAAK,EAAE,GAAK,EAAE,GAAK,EAAE,IAAM,EAAI,GAAK,KAAK,KAAK,EAAO,EAAG,IAIpE,mBAAqC,EAAY,GAC7C,IAAE,EAAK,EAAO,GACZ,EAAK,EAAO,GACV,EAAY,MAAI,WAAS,EAAO,IAAe,EAAV,KAAK,IAC1C,EAAU,EAAO,GACjB,EAAY,EAAO,GAEnB,EAAK,EAAW,GAChB,EAAK,EAAW,GAEhB,EAAK,EAAO,GACZ,EAAK,EAAO,GACZ,EAAM,KAAK,IAAI,IAAc,EAAK,GAAO,EAAO,KAAK,IAAI,IAAc,EAAK,GAAO,EACnF,GAAO,EAAI,KAAK,IAAI,IAAc,EAAK,GAAO,EAAO,KAAK,IAAI,IAAc,EAAK,GAAO,EACxF,EAAU,EAAK,GAAO,EAAK,GAAO,EAAK,GAAO,EAAK,GAErD,EAAS,IACX,GAAM,KAAK,KAAK,GAChB,GAAM,KAAK,KAAK,IAEhB,IAAI,EAAO,EAAK,GAAM,EAAK,GAAM,EAAK,GAAM,EAAK,GAE/C,EAAI,EAAO,KAAK,MAAM,EAAK,GAAM,EAAK,GAAM,GAAQ,GAAQ,EAE5D,IAAY,IACd,IAAM,GAEJ,MAAM,KACR,EAAI,GAIJ,IAAI,EAAM,EAAM,EAAI,EAAK,EAAM,EAAK,EAChC,EAAM,EAAM,GAAK,EAAK,EAAM,EAAK,EAGjC,GAAM,EAAK,GAAM,EAAM,KAAK,IAAI,GAAa,EAAM,KAAK,IAAI,GAAa,EACzE,GAAM,EAAK,GAAM,EAAM,KAAK,IAAI,GAAa,EAAM,KAAK,IAAI,GAAa,EAGzE,EAAI,EAAE,EAAK,GAAO,GAAK,EAAK,GAAO,GAEnCA,EAAI,GAAG,EAAI,EAAK,GAAO,IAAM,EAAI,EAAK,GAAO,GAE7C,EAAQ,EAAO,CAAC,EAAG,GAAI,GAGzB,EAAS,EAAO,EAAG,GAcrB,OAZE,EAAO,EAAG,KAAO,IACnB,EAAS,KAAK,IAEZ,EAAO,EAAG,IAAM,IACd,EAAK,GAEO,IAAd,GAAmB,EAAS,IAC1B,GAAc,EAAI,KAAK,IAEX,IAAd,GAAmB,EAAS,IAC1B,GAAc,EAAI,KAAK,IAEtB,CACL,GAAE,EACF,GAAE,EAEF,GAAI,cAAY,EAAY,CAAC,EAAI,IAAO,EAAI,EAC5C,GAAI,cAAY,EAAY,CAAC,EAAI,IAAO,EAAI,EAC5C,WAAY,EACZ,SAAU,EAAQ,EAClB,UAAS,EACT,QAAO,EACP,UAAS,K,4GyazFb,yBACA,YAAS,uEAAAoC,WAAkB,6EAAAspH,eAC3B,YAAS,2EAAAtpH,WAAsB,4EAAAupH,cAC/B,WAAS,sEAAAvpH,WAAiB,4EAAAwpH,cAG1B,yBAGA,YAAS,iFAAAC,mBACT,aAAS,0EAAAzpH,WAAqB,gFAAA0pH,kBAC9B,aAAS,8EAAA1pH,WAAyB,oFAAA2pH,sBAClC,aAAS,4EAAA3pH,WAAuB,kFAAA4pH,oBAChC,aAAS,0EAAA5pH,WAAqB,gFAAA6pH,kBAC9B,aAAS,0EAAA7pH,WAAqB,gFAAA8pH,kBAG9B,aAAS,0EAAA9pH,WAAqB,gFAAA+pH,kBAC9B,aAAS,4EAAA/pH,WAAuB,kFAAAgqH,oBAChC,aAAS,mFAAAhqH,WAA8B,yFAAAiqH,2BACvC,aAAS,mFAAAjqH,WAA8B,yFAAAkqH,2BAGvC,YAAS,+EAAAhsG,iBAAe,qFAAAD,uBACxB,aAAS,8FAAAksG,gCAA8B,6EAAAC,eACvC,aAAS,wFAAAC,0BACT,YAAS,yFAAAC,2BAAyB,4DAAA1yH,IAAA,oBAAAuuB,sBAElC,aAAS,8EAAAnmB,WAGT,4BAES,EAAAuqH,M,yFC/BT,SAKMC,EAAgB,SAAC1vG,EAAcC,GACnC,IAAM0vG,EAAY1vG,EAAIrW,EAAIoW,EAAMpW,EAC1B6rE,EAAYx1D,EAAI5d,EAAI2d,EAAM3d,EAEhC,OAAI0M,KAAKsmB,IAAIs6F,GAAa5gH,KAAKsmB,IAAIogD,GAC1Bk6C,EAAY,EAAI,QAAU,OAE5Bl6C,EAAY,EAAI,OAAS,MAI5Bm6C,EAAe,SAAC/1D,EAAeC,GACnC,IAAM61D,EAAY5gH,KAAKsmB,IAAIykC,EAAOlwD,EAAIiwD,EAAOjwD,GACvC6rE,EAAY1mE,KAAKsmB,IAAIykC,EAAOz3D,EAAIw3D,EAAOx3D,GAC7C,OAAO0M,KAAKI,KAAKwgH,EAAYA,EAAYl6C,EAAYA,IASjDo6C,EAAgB,SAACC,EAASrpH,GAC9B,GAAKqpH,EAAL,CAKA,IAFA,IAAM/1F,EAAS,GACTkN,EAAM6oF,EAAQtxH,OACXvC,EAAI,EAAGA,EAAIgrC,EAAKhrC,IAAK,CAC5B,IAAM8zH,EAAQD,EAAQ7zH,GAEd2oB,EAAqBmrG,EAAd,QAAElrG,EAAYkrG,EAAL,QAClBx/F,EAAQ9pB,EAAOwnC,iBAAiBrpB,EAASC,GAC/CkV,EAAO72B,KAAKqtB,GAEd,OAAOwJ,IAGT,cAgBE,WAAYlxB,GAAZ,MACE,YAAMA,IAAK,K,OAfL,EAAA27F,aAAe,GAwDf,EAAAwrB,WAAa,SAACtrG,GACpB,IAjFem1C,EAAQC,EAiFjB//B,EAAS81F,EAAcnrG,EAAG+6B,cAAcqwE,QAAS,EAAKrpH,QACvDszB,IAGLrV,EAAGqV,OAASA,EAEZ,EAAKw+C,QAEL,EAAK03C,UAAYj/G,KAAKD,MAEtB,EAAKm/G,YAAcn2F,EACfA,EAAOv7B,OAAS,GAClB,EAAK2xH,cAAgBP,EAAa71F,EAAO,GAAIA,EAAO,IACpD,EAAKzK,QA9FQuqC,EA8FW9/B,EAAO,GA9FV+/B,EA8Fc//B,EAAO,GA3FvC,CAAEnwB,GAFEiwD,EAAOjwD,EAAIkwD,EAAOlwD,GAAK,EAEtBvH,GADDw3D,EAAOx3D,EAAIy3D,EAAOz3D,GAAK,KA+F9B,EAAK+tH,aAAej/G,YAAW,WAG7BuT,EAAGgb,UAAY,OACf,EAAK2wF,UAFa,QAEQ3rG,GAC1B,EAAK+2D,UAHa,QAGQ/2D,GAC1B,EAAK4rG,UAJa,UAvHN,OAgIV,EAAAC,UAAY,SAAC7rG,GACnB,IAAMqV,EAAS81F,EAAcnrG,EAAG+6B,cAAcqwE,QAAS,EAAKrpH,QAC5D,GAAKszB,EAAL,CAGA,EAAKy2F,oBACL9rG,EAAGqV,OAASA,EAEZ,IAAMm2F,EAAc,EAAKA,YACzB,GAAKA,EAIL,GAAIn2F,EAAOv7B,OAAS,EAAG,CAErB,IAAM2xH,EAAgB,EAAKA,cACrBM,EAAkBb,EAAa71F,EAAO,GAAIA,EAAO,IACvDrV,EAAGm7D,KAAO4wC,EAAkBN,EAC5BzrG,EAAG4K,OAAS,EAAKA,OAEjB,EAAK+gG,UAAU,QAAS3rG,GACxB,EAAK+2D,UAAU,QAAS/2D,OACnB,CACL,IAAM2X,EAAStC,EAAO,GAAGnwB,EAAIsmH,EAAY,GAAGtmH,EACtC0yB,EAASvC,EAAO,GAAG13B,EAAI6tH,EAAY,GAAG7tH,EACtCq9B,EAAY,EAAKA,WAAagwF,EAAcQ,EAAY,GAAIn2F,EAAO,IACzE,EAAK2F,UAAYA,EAKjB,IAAM4wF,EAAY,EAAKI,aAAa32F,GAEpCrV,EAAGgb,UAAYA,EACfhb,EAAG2X,OAASA,EACZ3X,EAAG4X,OAASA,EACZ,EAAK+zF,UAAUC,EAAW5rG,GAC1B,EAAK+2D,UAAU60C,EAAW5rG,GAG1B,IAAMisG,EAAe,EAAKC,aACpB7/G,EAAMC,KAAKD,MAEbA,EAAM4/G,EAAe,IACvB,EAAKA,aAAeA,EACpB,EAAKE,eAAiB,EAAKC,eAC3B,EAAKF,aAAe7/G,EACpB,EAAK+/G,eAAiB/2F,MAKpB,EAAAg3F,SAAW,SAACrsG,GAClB,EAAKssG,QAAQtsG,GAGb,IAAMksG,EAAe,EAAKA,aAI1B,GAHY5/G,KAAKD,MAGP6/G,EAAe,IAAK,CAC5B,IACMK,EAAeL,GADA,EAAKD,cAAgB,EAAKV,WAG/C,GAAIgB,EAAe,EAAG,CACpB,IAAMJ,EAAiB,EAAKA,gBAAkB,EAAKX,YAC7CY,EAAiB,EAAKA,eAEtBI,EAAWtB,EAAaiB,EAAe,GAAIC,EAAe,IAAMG,EAElEC,EAAW,KACbxsG,EAAGwsG,SAAWA,EACdxsG,EAAGgb,UAAYgwF,EAAcmB,EAAe,GAAIC,EAAe,IAC/D,EAAKr1C,UAAU,QAAS/2D,KAK9B,EAAK6zD,QAEL,IAAMu3C,EAAUprG,EAAGorG,QAEfA,GAAWA,EAAQtxH,OAAS,GAC9B,EAAKwxH,WAAWtrG,IAtJlB,EAAKje,OAASoC,EAAKG,YAEnB,EAAKmoH,gBAGL,EAAK3sB,aAAe,G,EA6NxB,OArP+C,iBA2B7C,sBAAW,mBAAI,C,IAAf,WACE,MAAO,W,gCAGF,YAAA38E,KAAP,aAEO,YAAA3e,OAAP,aAEO,YAAA83C,OAAP,aAEO,YAAA9+B,OAAP,aAEO,YAAAlb,QAAP,WACEpH,KAAK24E,QACL34E,KAAK6vC,WACL7vC,KAAK4kG,aAAe,MAGd,YAAA2sB,cAAR,WAEEvxH,KAAK6G,OAAO4D,GAAG,aAAczK,KAAKowH,YAClCpwH,KAAK6G,OAAO4D,GAAG,YAAazK,KAAK2wH,WACjC3wH,KAAK6G,OAAO4D,GAAG,WAAYzK,KAAKmxH,WAG1B,YAAAthF,SAAR,WACE7vC,KAAK6G,OAAOgrB,IAAI,aAAc7xB,KAAKowH,YACnCpwH,KAAK6G,OAAOgrB,IAAI,YAAa7xB,KAAK2wH,WAClC3wH,KAAK6G,OAAOgrB,IAAI,WAAY7xB,KAAKmxH,WAsH3B,YAAAt1C,UAAR,SAAkBjyE,EAAMkb,GACT9kB,KAAKiJ,KACb6e,KAAKle,EAAMkb,IAIV,YAAA2rG,UAAR,SAAkB7mH,EAAMkb,GAClB9kB,KAAKwxH,UAAU5nH,KAGnB5J,KAAKg4E,OAAOpuE,GACZ5J,KAAK67E,UAAajyE,EAAI,QAASkb,KAGzB,YAAAssG,QAAR,SAAgBtsG,GAAhB,WACQ8/E,EAAe5kG,KAAK4kG,aAC1B7nG,OAAOmN,KAAK06F,GAAc52E,SAAQ,SAACpkB,GACjC,EAAKiyE,UAAajyE,EAAI,MAAOkb,UACtB8/E,EAAah7F,OAIhB,YAAAouE,OAAR,SAAe04C,GACb1wH,KAAK4kG,aAAa8rB,IAAa,GAGzB,YAAAc,UAAR,SAAkBd,GAChB,OAAO1wH,KAAK4kG,aAAa8rB,IAGnB,YAAA/3C,MAAR,WACE34E,KAAK4wH,oBACL5wH,KAAKqwH,UAAY,EACjBrwH,KAAKswH,YAAc,KACnBtwH,KAAKuwH,cAAgB,EACrBvwH,KAAK8/B,UAAY,KACjB9/B,KAAK0wH,UAAY,KACjB1wH,KAAK+wH,aAAe,EACpB/wH,KAAKixH,eAAiB,KACtBjxH,KAAKgxH,aAAe,EACpBhxH,KAAKkxH,eAAiB,MAGhB,YAAAN,kBAAR,WACM5wH,KAAKwwH,eACP79G,aAAa3S,KAAKwwH,cAClBxwH,KAAKwwH,aAAe,IAIhB,YAAAM,aAAR,SAAqB32F,GACb,IAIFvwB,EAJI8mH,EAA4C1wH,KAAnC,UAAEiJ,EAAiCjJ,KAA7B,KAAEqwH,EAA2BrwH,KAAlB,UAAEswH,EAAgBtwH,KAAL,YAC/C,GAAI0wH,EACF,OAAOA,EAGT,IAAMe,EAAoBxoH,EAAKyoH,YAAYC,IAEtCF,GAAsBA,EAAkB7yH,OAMzCgL,EAFUwH,KAAKD,MACPk/G,EAtRI,KAsRuBL,EAAaM,EAAY,GAAIn2F,EAAO,IAAM,GACtE,QAEA,MAPTvwB,EAAO,QAWT,OADA5J,KAAK0wH,UAAY9mH,EACVA,GAEX,EArPA,CAA+C,EAAAspG,Y,qgEpgB/C/C,YAEA,UAAe,SAAC,GACd,OAAI,UAAM,GAAe,GAClB,EAAM,a,8EwNJf,WACA,SASA,aAqBI,SAAF,EAAY,GACF,eAAQ,WAAQ,yCAEpB,KAAC,YAAc,EACf,KAAC,OAAS,EACV,KAAC,OAAS,EA2HlB,OAjHS,qBAAP,SAAgB,GACV,OAAG,KAAK,YAAY,QAAQ,IAAQ,GAGhC,2BAAV,SAAyB,EAAa,EAAkB,GAC9C,IAKJ,EACA,EANI,cAEF,EAAQ,EAAO,QAAQ,GACvB,EAAS,EAAO,OA+BtB,OAzBK,GAAU,KAAK,SAAS,MAC3B,EAAM,EACA,EAAC,GACE,EAAS,GAEZ,IAAiB,IAAV,EAAc,EAAI,EAAQ,GAEjC,EAAC,EAAO,IAAU,EAAS,EAAI,EAAS,EAAI,EAAQ,GAE5C,IAAV,EACF,IAAQ,EAAW,GAAO,EAE1B,IAAQ,EAAO,GAAY,EAGzB,IAAU,EAAS,EACrB,IAAS,EAAO,GAAY,EAE5B,IAAS,EAAW,EAAO,EAAS,IAAM,IAGtC,EAAa,IAAb,EAAiB,EAAI,EAAW,GACtC,EAAoB,IAAb,EAAiB,EAAI,EAAW,IAGlC,CACL,IAAG,EACH,KAAI,IAIE,uBAAV,SAAqB,EAA4B,GAAjD,WAEQ,EAAe,KAAK,aAAa,GAGnC,EAAF,KAAK,GAAkB,SAAC,EAAW,GAG7B,EAAJ,KAAK,GAAc,SAAC,EAAkB,GAEtC,EAAK,UAAU,EAAK,EAAQ,EAAW,UAWnC,sBAAV,SAAoB,EAAc,GAShC,OAPA,EAAE,KAAK,GAAM,SAAC,QACQ,IAAhB,EAAO,KACT,EAAO,GAAO,gBAKX,EAAE,QAAQ,EAAM,IAIf,sBAAV,SAAoB,EAAa,EAAkB,EAAc,KAOzD,yBAAR,SAAqB,GACb,IAAE,EAAF,KAAE,OAAQ,EAAV,KAAU,OAEV,EAAiC,GAGjC,EAAO,GAcb,GAbI,GAAU,KAAK,SAAS,MAC1B,EAAK,KAAK,GAER,GAAU,KAAK,SAAS,MAC1B,EAAK,KAAK,GAGZ,EAAK,SAAQ,SAAC,GAEZ,EAAa,GAAO,EAAE,YAAY,EAAY,GAAK,MAAK,SAAC,EAAI,GAAO,kBAIjE,GAAU,KAAK,SAAS,KAAM,CAEjC,EAAY,EAAQ,CAAC,YAAW,GAGlC,OAAO,GAEX,EArJA,G,2FnCVa,YAAY,EAGZ,eAAe,GACf,cAAc,GAGd,MAAM,K,8EqNPnB,WAIM,EAAgB,SAAC,EAAc51G,GACjC,OAAE,WAAS,GACJ,EAEF,EAAM,OAAO,EAAM,MAAM,KASlC,aAQI,SAAF,EAAY,GANL,WAAkB,GAClB,YAAkB,GAClB,aAAkB,EAElB,YAAgB,GAMhB,cAAyB,WAAM,UAFpC,KAAK,UAAU,GA2InB,OAnIW,EAAF,kBAAP,W,IAAI,IAAJ,OAAe,kDACT,IAAE,EAAS,EAAO,KAAI,SAAC,EAAO,GAChC,OAAO,EAAK,eAAe,EAAO,EAAK,OAAO,OAGhD,OAAO,KAAK,SAAS,MAAM,KAAM,IAO5B,2BAAP,SAAsB,GAEhB,IAAE,EAAQ,KAAK,OAAO,OAAS,EAE7B,EAAO,KAAK,MAAM,EAAQ,GAC1B,EAAc,EAAQ,EAAU,EAGhC,EAAQ,KAAK,OAAO,GAItB,OAAG,IAHK,IAAS,EAAQ,EAAQ,KAAK,OAAO,EAAO,IAGlC,GAAS,GAM1B,qBAAP,WAMM,IALJ,IAAM,EAAS,KAAK,OACd,EAAQ,KAAK,MAEb,EAAS,KAAK,IAAI,EAAO,OAAQ,EAAM,QACvC,EAAM,GACH,EAAI,EAAG,EAAI,EAAQ,GAAK,EAC/B,EAAI,KAAK,EAAM,IAEjB,OAAO,GAMF,sBAAP,WACE,OAAO,KAAK,OAAO,KAAI,SAAC,GAAU,mBAO3B,EAAF,mBAAP,SAAgB,GACV,OAAG,KAAK,OAAO,KAAK,MAAM,QAAQ,KAO9B,EAAF,0BAAR,W,IAAI,IAAJ,OAAwB,kDAEtB,OAAsB,IAAlB,EAAO,OACF,KAAK,OAGP,EAAO,KAAI,SAAC,EAAO,GACxB,IAAM,EAAQ,EAAK,OAAO,GAE1B,MAAsB,aAAf,EAAM,KAAsB,EAAM,OAAO,GAAK,EAAK,mBAAmB,EAAO,OAK9E,EAAF,oBAAR,SAAkB,GAAd,IAAJ,OACU,+BAAe,4BAAY,6BAAa,6BAAa,aAEzD,KAAC,KAAO,EAER,KAAC,OAAS,EACV,KAAC,OAAS,EACV,KAAC,MAAQ,EAGT,KAAC,SAAW,W,IAAC,sDAIT,GAAF,EAAU,CAEZ,IAAM,EAAM,EAAQ,aAAI,GACxB,IAAK,QAAM,GACT,MAAO,CAAC,GAKN,OAAC,EAAK,gBAAgB,MAAM,EAAM,KAKpC,+BAAR,SAA2B,EAAc,GAEvC,GAAI,EAAM,aAAe,KAAK,OAAQ,CAEpC,IAAM,EAAM,EAAM,UAAU,GAC5B,OAAO,KAAK,OAAO,EAAM,KAAK,OAAO,QAInC,IAAE,EAAU,EAAM,MAAM,GACxB,OAAG,KAAK,eAAe,IASrB,2BAAR,SAAuB,EAAY,GAGjC,OAAQ,EAAM,SAIV,EAHA,UAAQ,GACN,EAAM,KAAI,SAAC,GAAW,SAAc,EAAd,MACtB,EAAc,EAAO,IAG/B,EArJA,G,2F2HjBA,YAES,QAFA,S,mTxjBUT,UAVqB,SAAS,GAO1B,MAAsB,WAAjB,EAAO,IAAgC,OAAV,I,8EZGtC,UAVoB,SAAS,GAOzB,OAAe,OAAV,GAAmC,mBAAV,GAAwB,SAAS,EAAM,U,8EqkBCzE,SAAS,EAAK,GACZ,OAAI,KAAK,IAAI,GAHG,KAIP,EAGF,EAAI,GAAK,EAAI,EAItB,SAAS,EAAU,EAAI,EAAI,GACvB,OACC,EAAE,GAAK,EAAG,KAAO,EAAG,GAAK,EAAG,MAAS,EAAG,GAAK,EAAG,KAAO,EAAE,GAAK,EAAG,KAClE,KAAK,IAAI,EAAG,GAAI,EAAG,KAAO,EAAE,IAC5B,EAAE,IAAM,KAAK,IAAI,EAAG,GAAI,EAAG,KAC3B,KAAK,IAAI,EAAG,GAAI,EAAG,KAAO,EAAE,IAC5B,EAAE,IAAM,KAAK,IAAI,EAAG,GAAI,EAAG,IAQ/B,mBAAoC,EAAQ,EAAG,GAC3C,IAAE,GAAQ,EACN,EAAI,EAAO,OACf,GAAE,GAAK,EAEH,OAAG,EAEP,IAAG,IAAI,EAAI,EAAG,EAAI,EAAG,IAAK,CACtB,IAAE,EAAK,EAAO,GACZ,EAAK,GAAQ,EAAI,GAAK,GACxB,KAAU,EAAI,EAAI,CAAC,EAAG,IAExB,OAAO,EAKP,EAAK,EAAG,GAAK,GAAK,GAAM,EAAK,EAAG,GAAK,GAAK,GAC1C,EAAK,GAAM,EAAI,EAAG,KAAO,EAAG,GAAK,EAAG,KAAQ,EAAG,GAAK,EAAG,IAAM,EAAG,IAAM,IAEtE,GAAS,GAGb,OAAO,I,8ECzCT,IAAM,EAAY,SAAC,EAAe,EAAa,GAAgB,UAAS,GAAO,GAAhB,GAG/D,mBAAyC,EAAW,EAAW,EAAW,GACtE,IACI,EACD,EAAG,EAAI,EAAG,EADT,EAED,EAAG,EAAI,EAAG,EAET,EACD,EAAG,EAAI,EAAG,EADT,EAED,EAAG,EAAI,EAAG,EAET,EACD,EAAG,EAAI,EAAG,EADT,EAED,EAAG,EAAI,EAAG,EAET,EAAgB,EAAO,EAAO,EAAO,EAIvC,EAAsB,KAC1B,GAJyB,EAAQ,EAdf,MAeM,EAAO,EAAO,EAAO,IACrB,EAAO,EAAO,EAAO,GAEC,CAC5C,IAAM,GAAK,EAAM,EAAO,EAAM,GAAQ,EAChC,GAAK,EAAM,EAAO,EAAM,GAAQ,EAClC,EAAU,EAAG,EAAG,IAAM,EAAU,EAAG,EAAG,KACxC,EAAQ,CACN,EAAG,EAAG,EAAI,EAAI,EACd,EAAG,EAAG,EAAI,EAAI,IAIpB,OAAO,I,8EC1CT,IAAM,EAAgC,IAAI,IAO1C,oBAAyB,EAAc,GACrC,EAAM,IAAI,EAAM,IAOlB,qBAA0B,GACxB,OAAO,EAAM,IAAI,K,8EChBnB,mBAAwB,GACpB,IAAI,EAAQ,EAAM,OAElB,MAAK,CACD,EAFE,IAGF,EAHK,IAIL,MAJQ,QAKZ,OALmB,Y,8ECFvB,mBAAwB,GAChB,eAAE,MAAG,MAAG,MACZ,MAAK,CACD,EAAD,EAAI,EACH,EAAD,EAAI,EACH,MAAO,EAAJ,EACP,OAAY,EAAJ,K,8ECTZ,YAGIs0H,EAAS,EAAb,IAEA,mBAAwB,GAKpB,IAJA,IACM,EADM,EAAM,OACZ,OACF,EAAO,GACP,EAAO,GACJ,EAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CAClC,IAAE,EAAQ,EAAO,GACjB,EAAC,KAAK,EAAM,IAChB,EAAK,KAAK,EAAM,IAEZ,4BAAE,MAAG,MACP,EAAO,CACL,KAAE,EACF,KAAE,EACF,KAAE5nH,EAJM,QAKZ,KAAM,EALa,UAQnB,MAAK,CACD,GAFJ,EAAK,iBAAe,EAAO,IAEnB,KACJ,EAAD,EAAK,KACJ,MAAG,EAAK,KAAO,EAAK,KACxB,OAAQ,EAAK,KAAO,EAAK,Q,8EC3B7B,YAIA,mBAAwB,GAKpB,IAJA,IACM,EADM,EAAM,OACZ,OACF,EAAO,GACP,EAAO,GACJ,EAAI,EAAG,EAAI,EAAO,OAAQ,IAAK,CAClC,IAAE,EAAQ,EAAO,GACjB,EAAC,KAAK,EAAM,IAChB,EAAK,KAAK,EAAM,IAElB,OAAO,iBAAe,EAAM,K,8ECZ9B,IAAI6nH,EAAS,EAAb,IAEA,mBAAwB,GACpB,IAAI,EAAQ,EAAM,OACZ,MAAG,MAAG,SAAM,aAAU,eAC1B,EAAO,EAAM,KACZ,IAEH,EAAO,eAAa,IAEpB,IACE,EADE,EAAQ,eAAa,EAAM,GAE/B,GAAG,EAQE,CACG,IAAA9hG,EAAA,EAAAA,UAAW,iBACb,EAAS,gBAAc,EAAM,EAAU,GAEvC,EAAQ,CACN/lB,EAAL,EACKvH,EAAH,EAAI,GAEL,IACgB,QAAd,GAAqC,UAAd,EACjBkuB,EAAF,GAAK,EACY,WAAd,IACT,EAAM,GAAK,EAAQ,IAGnB,IACmB,QAAjB,EACF,EAAM,GAAK,EACe,WAAjB,IACT,EAAM,GAAK,EAAS,IAIpB,EAAG,CACL,EAAG,EAAM,EACH,EAAH,EAAM,EACH,MAAD,EACC,eAjCJ,EAAG,CACC,EAAL,EACK,EAAL,EACK,MAAC,EACP,OAAQ,GAgCV,OAAK,I,8ECpDT,aACA,QACI,EAAJ,OACI,EAAJ,OACI,EAAJ,MAGImxE,EAAS,EAAb,IAsFA,SAAS,EAA6B,EAAS,GACrC,iBAAU,iBAAc,cAC1B,EAAgB,KAAK,IAAI,EAAa,GAAK,EAAS,GAAI,GAAK,KAAK,IAAI,EAAa,GAAK,EAAS,GAAI,GACrG,EAAiB,KAAK,IAAI,EAAa,GAAK,EAAU,GAAI,GAAK,KAAK,IAAI,EAAa,GAAK,EAAU,GAAI,GACxG,EAAa,KAAK,IAAI,EAAS,GAAK,EAAU,GAAI,GAAK,KAAK,IAAI,EAAS,GAAK,EAAU,GAAI,GAE5F,EAAe,KAAK,MACvB,EAAgB,EAAiB,IAAe,EAAI,KAAK,KAAK,GAAiB,KAAK,KAAK,KAI1F,IAAG,GAA2C,IAA3B,KAAK,IAAI,IAAuB,UAAc,EAAc,GAC/E,MAAO,CACL,OAAQ,EACR,OAAQ,GAGV,IAAE,EAAS,KAAK,IAAI,KAAK,MAAM,EAAU,GAAK,EAAa,GAAI,EAAU,GAAK,EAAa,KACzF,EAAS,KAAK,IAAI,KAAK,MAAM,EAAU,GAAK,EAAa,GAAI,EAAU,GAAK,EAAa,KAc3F,OAZA,EAAO,EAAS,KAAK,GAAK,EAAI,KAAK,GAAK,EAAS,EACnD,EAAS,EAAS,KAAK,GAAK,EAAI,KAAK,GAAK,EAAS,EAGrC,CAEZ,OACE,KAAK,IAAI,EAAe,EAAI,IAAY,EAAY,GAAM,EAAI,KAAK,IAAI,EAAe,KAAO,EAAY,GAAK,EAE5G,OACF,KAAK,IAAI,EAAS,EAAe,IAAO,EAAY,GAAM,EAAI,KAAK,IAAI,EAAe,KAAO,EAAY,GAAK,GAKpH,mBAAwB,GACpB,IAAI,EAAQ,EAAM,OACZ,SACF,EADQ,SACa,EAAM,UAAY,EAEvC,EA5HR,SAAoB,EAAU,GAI1B,IAHA,IAAE,EAAO,GACP,EAAO,GACL,EAAoB,GACjB,EAAI,EAAG,EAAI2P,EAAS,OAAQ,IAAK,CACpC,IACI,GADF,EAAU,EAAS,IACjB,aAAc,WAAQ,aAC1B,OAAG,EACH,OAAI,EAAQ,SACR,IAAD,IACK,EAAF,UAAS,IAAI,EAAS,GAAI,EAAS,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IACrF,MACI,IAAD,IACK,EAAF,UAAU,IAAI,EAAS,GAAI,EAAS,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAC5G,MACI,IAAD,IACK,IAAF,EAAY,EAAQ,UAClB,EAAF,UAAe,IACnB,EAAU,GACV,EAAU,GACV,EAAU,GACV,EAAU,GACV,EAAU,UACV,EAAU,WACV,EAAU,UAEZ,MACF,QACE,EAAK,KAAK,EAAa,IACvB,EAAK,KAAK,EAAa,IAGvB5gF,IACF,EAAQ,IAAM,EACd,EAAK,KAAK,EAAI,EAAG,EAAI,EAAI,EAAI,OAC7B,EAAK,KAAK,EAAI,EAAG,EAAI,EAAI,EAAI,SAE3B,IAAkC,MAApB,EAAQ,SAAuC,MAApB,EAAQ,UAAoB,EAAQ,UAAY,EAAQ,WACnG,EAAkB,KAAK,GAKzB,EAAK,EAAK,QAAO,SAAC,GAAS,OAAC,OAAO,MAAR,MAC3B,EAAK,EAAK,QAAO,SAAC,GAAS,OAAC,OAAO,MAAR,MAC3B,IAAE,EAAO,KAAK,IAAI,MAAM,KAAM,GAC5B,EAAO,KAAK,IAAI,MAAM,KAAM,GAC5B,EAAO,KAAK,IAAI,MAAM,KAAM,GAC5B,EAAO,KAAK,IAAI,MAAM,KAAM,GAC9B,GAA+B,IAA7B,EAAkB,OAChB,MAAG,CACL,EAAG,EACH,EAAG,EACG,MAAC,EAAO,EACR,OAAE,EAAO,GAGjB,IAAO,EAAI,EAAG,EAAI,EAAkB,OAAQ,IAAK,CAC7C,IAAE,GACE,GADF,EAAU,EAAkB,IAC1B,cAES,KAAO,EAEtB,GADQ,EAA6B,EAAS,GAC1B,OACX,EAAa,KAAO,IAEvB,GADE,EAA6B,EAAS,GAC1B,QAElB,EAAa,KAAO,EAEtB,GADQ,EAA6B,EAAS,GAC1B,OACX,EAAa,KAAO,IAE7B,GADQ,EAA6B,EAAS,GAC1B,QAGxB,MAAO,CACL,EAAG,EACH,EAAG,EACH,MAAO,EAAO,EACd,OAAQ,EAAO,GA4CX,CADW,EAAM,IAAI,aAAe,UAAc,GAClD,GAAE,MAAG,MACP,EAAO,CACT,KAAM,EACN,KAAM,EACN,KAAM,EAJM,QAKZ,KAAM,EALa,UAQrB,MAAO,CACL,GAFF,EAAO,iBAAe,EAAO,IAEnB,KACR,EAAG,EAAK,KACR,MAAO,EAAK,KAAO,EAAK,KACxB,OAAQ,EAAK,KAAO,EAAK,Q,8ECjJ7B,YACA,SA0CA,SAAS,EAAI,EAAY,EAAY,EAAY,EAAY,EAAmB,GAC5E,OAAK,EAAK1hB,KAAK,IAAI,GAAa,KAAK,IAAI,GAAS,EAAK,KAAK,IAAI,GAAa,KAAK,IAAI,GAAS,EAInG,SAAS,EAAI,EAAY,EAAY,EAAY,EAAY,EAAmB,GAC5E,OAAK,EAAK,KAAK,IAAI,GAAa,KAAK,IAAI,GAAS,EAAK,KAAK,IAAI,GAAa,KAAK,IAAI,GAAS,EAWnG,SAAS,EAAS,EAAY,EAAY,GACtC,MAAK,CACD,EAAD,EAAK,KAAK,IAAI,GACb,EAAD,EAAK,KAAK,IAAI,IAKrB,SAAS,EAAO,EAAW,EAAW,GAClC,IAAI,EAAM,KAAK,IAAI,GACf,EAAM,KAAK,IAAI,GACnB,MAAK,CAAC,EAAI,EAAM,EAAI,EAAK,EAAI,EAAM,EAAI,GAG3C,UAAe,CAYX,IAAF,SAAI,EAAY,EAAY,EAAY,EAAY,EAAmB,EAAoB,GAKrF,IAJA,IAAE,EAtDV,SAAkB,EAAY,EAAY,GACxC,OAAO,KAAK,MAAO,EAAK,EAAM,KAAK,IAAI,IAqDxB,CAAS,EAAI,EAAI,GAC1B,EAAO,IACP,GAAQ,IACN,EAAK,CAAC,EAAY,GACf,EAAe,GAAV,KAAK,GAAQ,GAAe,EAAV,KAAK,GAAQ,GAAK,KAAK,GAAI,CACnD,MAAS,EAAO,EAClB,EAAa,EACX,EAAa,GAAU,EAAS,GAClC,EAAG,KAAK,GAGN,EAAW,GAAU,EAAS,GACtB,EAAP,KAAK,GAKV,IAAK,EAAI,EAAG,EAAI,EAAG,OAAQ,IAAK,CAC5B,MAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAW,EAAG,IACxC,EAAI,IACN,EAAO,GAEL,EAAI,IACN,EAAO,GAIP,IAAE,EA5EV,SAAkB,EAAY,EAAY,GACtC,OAAK,KAAK,KAAK,GAAM,EAAK,KAAK,IAAI,KA2EtB,CAAS,EAAI,EAAI,GAC1B,EAAO,IACP,GAAQ,IACN,EAAK,CAAC,EAAY,GACxB,IAAS,EAAe,GAAV,KAAK,GAAQ,GAAe,EAAV,KAAK,GAAQ,GAAK,KAAK,GAAI,CACzD,IAAM,EAAS,EAAO,EAClB,EAAa,EACX,EAAa,GAAU,EAAS,GAClC,EAAG,KAAK,GAGN,EAAW,GAAU,EAAS,GAChC,EAAG,KAAK,GAKd,IAAS,EAAI,EAAG,EAAI,EAAG,OAAQ,IAAK,CAClC,IAAM,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAW,EAAG,IACxC,EAAI,IACN,EAAO,GAEL,EAAI,IACN,EAAO,GAIX,MAAO,CACL,EAAG,EACH,EAAG,EACH,MAAO,EAAO,EACd,OAAQ,EAAO,IAcjB,OAAF,SAAO,EAAY,EAAY,EAAY,EAAY,EAAmB,EAAoB,KAc5F,aAAF,SACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAGA,IAAM,EAAiB,EAAO,EAAK,EAAI,EAAK,GAAK,GAC1C,EAAU,EAAR,GAAE,EAAM,EAAJ,GAET,EAAgB,UAAQ,aAAa,EAAG,EAAG,EAAI,EAAI,EAAI,GAErD,EAzIV,SAAkB,EAAY,EAAY,EAAY,GAGlD,OAFY,KAAK,MAAM,EAAK,EAAI,EAAK,GAEb,EAAV,KAAK,KAAqB,EAAV,KAAK,IAsIrB,CAAS,EAAI,EAAI,EAAc,EAAG,EAAc,GAE1D,EAAQ,EAEV,EAAgB,EAAS,EAAI,EAAI,GACxB,EAAQ,IAEjB,EAAgB,EAAS,EAAI,EAAI,IAGnC,IAAM,EAAS,EAAO,EAAc,EAAG,EAAc,EAAG,GACxD,MAAO,CACL,EAAG,EAAO,GAAK,EACf,EAAG,EAAO,GAAK,IAGnB,uBACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,EAAe,KAAK,aAAa,EAAI,EAAI,EAAI,EAAI,EAAI,GAC3D,OAAO,WAAS,EAAa,EAAG,EAAa,EAAG,EAAI,IAEtD,iBACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,GAAS,EAAW,GAAc,EAAI,EAC5C,MAAO,CACL,EAAG,EAAI,EAAI,EAAI,EAAI,EAAI,EAAW,GAClC,EAAG,EAAI,EAAI,EAAI,EAAI,EAAI,EAAW,KAGtC,sBACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,IAAM,GAAS,EAAW,GAAc,EAAI,EACtC,EAlPV,SACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,OAAQ,EAAI,EAAK,KAAK,IAAI,GAAa,KAAK,IAAI,GAAS,EAAK,KAAK,IAAI,GAAa,KAAK,IAAI,GAwOhF,CAAc,EAAI,EAAI,EAAI,EAAI,EAAW,EAAY,EAAU,GACpE,EArOV,SACE,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEA,OAAQ,EAAI,EAAK,KAAK,IAAI,GAAa,KAAK,IAAI,GAAS,EAAK,KAAK,IAAI,GAAa,KAAK,IAAI,GA2NhF,CAAc,EAAI,EAAI,EAAI,EAAI,EAAW,EAAY,EAAU,GAC1E,OAAO,QAAM,KAAK,MAAM,EAAI,O,8EClPhC,YAGA,SAAS,EAAS,EAAY,GAC1B,IAAI,EAAO,KAAKsmB,IAAI,GACtB,OAAO,EAAK,EAAI,GAAe,EAAR,EAGzB,UAAe,CASX,IAAF,SAAI,EAAW,EAAW,EAAY,GAChC,MAAG,CACC,EAAH,EAAI,EACD,EAAH,EAAI,EACP,MAAY,EAAL,EACP,OAAa,EAAL,IAWV,OAAF,SAAO,EAAW,EAAW,EAAY,GACvC,OAAO,KAAK,IAAM,GAAK,EAAK,GAAM,KAAK,MAAM,EAAI,EAAK,IAAO,EAAK,EAAI,MAYtE,aAAF,SAAa,EAAW,EAAW,EAAY,EAAY,EAAY,GACjE,IAAE,EAAI,EACJ,EAAI,EAEN,GAAM,IAAN,GAAiB,IAAN,EACP,MAAC,CACL,EAAC,EACD,EAAC,GAeD,IAXA,IAQA,EACA,EATE,EAAY,EAAK,EACjB,EAAY,EAAK,EACjB,EAAK,KAAK,IAAI,GACd,EAAK,KAAK,IAAI,GACd,EAAU,EAAI,EACd,EAAU,EAAI,EAEhB,EAAI,KAAK,GAAK,EAIT,EAAI,EAAG,EAAI,EAAG,IAAK,CACpB,EAAK,EAAI,KAAK,IAAI,GAClB,EAAK,EAAI,KAAK,IAAI,GAElB,OAAO,EAAU,GAAW,cAAK,IAAI,GAAM,GAAK,EAChD,GAAO,EAAU,GAAW,cAAK,IAAI,GAAM,GAAK,EAChD,EAAM,EAAW,EACjB,EAAM,EAAW,EAEjB,EAAK,EAAK,EACV,EAAK,EAAK,EACV,EAAI,KAAK,MAAM,EAAK,GACpB,EAAItmB,KAAK,MAAM,EAAI,GAKzB,GAHgB,EAAI,KAAK,MAAM,EAAM,EAAK,EAAM,IAAO,EAAI,IACjC,KAAK,KAAK,EAAU,EAAU,EAAW,EAAW,EAAW,GAGzF,EAAI,KAAK,IAAI,KAAK,GAAK,EAAG,KAAK,IAAI,EAAG,IAGxC,MAAO,CACL,EAAG,EAAI,EAAS,EAAU,GAC1B,EAAG,EAAI,EAAS,EAAU,KAa5B,cAAF,SAAc,EAAW,EAAW,EAAY,EAAY,EAAY,GACtE,IAAM,EAAe,KAAK,aAAa,EAAG,EAAG,EAAI,EAAI,EAAI,GACzD,OAAO,WAAS,EAAa,EAAG,EAAa,EAAG,EAAI,IAWpD,QAAF,SAAQ,EAAW,EAAW,EAAY,EAAY,GACpD,IAAM,EAAQ,EAAI,KAAK,GAAK,EAC5B,MAAO,CACL,EAAG,EAAI,EAAK,KAAK,IAAI,GACrB,EAAG,EAAI,EAAK,KAAK,IAAI,KAYvB,aAAF,SAAa,EAAW,EAAW,EAAY,EAAY,GACrD,IAAE,EAAQ,EAAI,KAAK,GAAK,EAEtB,EAAe,KAAK,MAAM,EAAK,KAAK,IAAI,IAAS,EAAK,KAAK,IAAI,IAQrE,OAAO,QAAM,M,8ECvJjB,YACA,QACI,EAAJ,MAEM,EAAY,iCACZ,EAAW,aAkCjB,UAhCA,SAAmBhR,GACf,IAAE,EAAO,GAAK,GACd,OAAE,UAAQ,GACH,EAGL,UAASqxB,IACP,EAAG,EAAK,MAAM,GACd,EAAJ,QAAK,GAAM,SAAC,EAAM,GAGV,IADA,EAAC,EAAK,MAAM,IACT,GAAG,OAAS,EAAG,CACd,IAAF,EAAM,EAAK,GAAG,OAAO,GAEnB,EAAH,OAAO,EAAG,EAAG,EAAK,GAAG,OAAO,IAEjC,EAAK,GAAK,EAGN,EAAN,QAAK,GAAM,SAAU2Y,EAAK,GACnB,MAAM,KAET,EAAK,IAAM,MAIf,EAAK,GAAS,KAET,QAtBP,I,8ECXJ,IAAI25D,EAAS,EAAb,IAEA,mBAAwB,GACpB,IAAI,EAAQ,EAAM,OACZ,OAAI,OAAI,OAAI,OAKhB,EAAO,CACL,KALO3yF,KAAK,IAAIygB,EAAI6hD,GAMpB,KALOtiE,KAAK,IAAI,EAAI,GAMpB,KALOA,KAAK,IAAIqiE,EAAIE,GAMxB,KALW,KAAK,IAAI,EAAI,IAQxB,MAAK,CACD,GAFJ,EAAK,iBAAe,EAAO,IAEnB,KACJ,EAAD,EAAK,KACJ,MAAG,EAAK,KAAO,EAAK,KACxB,OAAQ,EAAK,KAAO,EAAK,Q,8ECnB7B,mBAAwB,GACpB,IAAI,EAAQ,EAAM,OACZ,MAAG,MAAG,OAAI,OAChB,MAAK,CACD,EAAD,EAAI,EACH,EAAD,EAAI,EACH,MAAQ,EAAL,EACP,OAAa,EAAL,K,8ErHVZ,YAEM,EAAS,2CACT,EAAe,IAAI,OAAO,WAAa,EAAS,wCAA0C,EAAS,QAAU,EAAS,QAAS,MAC/H,EAAc,IAAI,OAAO,qCAAuC,EAAS,QAAU,EAAS,KAAM,MAGxG,mBAAwC,GACpC,IAAG,EACC,OAAG,KAGP,GAAE,UAAQ,GACV,OAAO,EAEP,IAAI,EAAc,CACd,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACC,EAAD,EACH,EAAG,GAEC,EAAO,GA6Bb,OA3BE,OAAK,GAAY,QAAQ,GAAc,SAAU,EAAG,EAAG,GACnD,IAAE,EAAS,GACX,EAAO,EAAE,cAYT,GAXA,EAAF,QAAQ,GAAa,SAAU,EAAG,GAClC,GAAK,EAAO,MAAM,MAEP,MAAT,GAAgB,EAAO,OAAS,IAC5B,EAAD,KAAK,CAAE,GAAI,OAAO,EAAO,OAAO,EAAG,KACxC,EAAO,IACP,EAAU,MAAN,EAAY,IAAM,KAEX,MAAT,GAAkC,IAAlB,EAAO,QACzB,EAAK,KAAK,CAAE,EAAG,EAAO,KAEX,MAAT,EACF,EAAK,KAAK,CAAE,GAAI,OAAO,SAEjB,KAAC,EAAO,QAAU,EAAY,KAC1B,EAAH,KAAK,CAAE,GAAI,OAAO,EAAO,OAAO,EAAG,EAAY,MAC/C,EAAY,MAKrB,MAAO,MAGF,I,+JsH3DT,YACA,QAGA,SAAS,EAAc,GAInB,IAFA,IAAE,EAAc,EACZ,EAAsB,GACnB,EAAI,EAAG,EAAI,EAAO,OAAS,EAAG,IAAK,CAC1C,IAAM,EAAO,EAAO,GACd,EAAK,EAAO,EAAI,GAChB,EAAS,WAAS,EAAK,GAAI,EAAK,GAAI,EAAG,GAAI,EAAG,IAC9C,EAAM,CACV,KAAI,EACE,GAAJ,EACI,UAEJ,EAAK,KAAK,GACV,GAAW,EAEf,MAAK,CAAE,SAAQ,EAAE,YAAW,GAGhC,2BAAgC,GAC5B,GAAE,EAAO,OAAS,EACd,OAAG,EAGP,IADA,IAAE,EAAc,EACT,EAAI,EAAG,EAAI,EAAO,OAAS,EAAG,IAAK,CACtC,IAAE,EAAO,EAAO,GACd,EAAK,EAAO,EAAI,GAClBogD,GAAW,WAAS,EAAK,GAAI,EAAK,GAAI,EAAG,GAAI,EAAG,IAEpD,OAAK,GAST,2BAAgC,EAAsB,GAElD,GAAE,EAAI,GAAK,EAAI,GAAK,EAAO,OAAS,EAChC,OAAG,KAEH,IAAAlsC,EAA4B,EAAc,GAAxC,EAAQ,WAAE,EAAW,cAE3B,GAAkB,IAAhB,EACE,MAAG,CACC57E,EAAH,EAAO,GAAG,GACPvH,EAAH,EAAO,GAAG,IAMf,IAFA,IAAE,EAAa,EACb,EAAQ,KACH,EAAI,EAAG,EAAI,EAAS,OAAQ,IAAK,CACpC,IAAE,EAAM,EAAS,GACb27B,EAAa,EAAT,KAAE,EAAO,EAAL,GACV,EAAe,EAAI,OAAS,EAC9B,MAAK,GAAc,GAAK,EAAa,EAAc,CAC/C,OAAc,EAAI,GAAc,EAChCzN,EAAE,UAAK,QAAQ,EAAK,GAAI,EAAK,GAAI,EAAG,GAAI,EAAG,GAAI,GAC/C,MAEJohG,GAAU,EAEd,OAAK,GAQT,2BAAgC,EAAsB,GAElD,GAAE,EAAI,GAAK,EAAI,GAAK,EAAO,OAAS,EAChC,OAAG,EAMP,IAJI,IAAAnsC,EAA4B,EAAc,GAAxC,EAAQ,WAAE,EAAW,cAEzB,EAAa,EACb,EAAQ,EACH,EAAI,EAAG,EAAI,EAAS,OAAQ,IAAK,CACpC,IAAE,EAAM,EAAS,GACbxnD,EAAa,EAAT,KAAE,EAAO,EAAL,GACV,EAAe,EAAI,OAAS,EAC9B,MAAK,GAAc,GAAK,EAAa,EAAc,CAC/CjH,EAAE,KAAK,MAAM,EAAG,GAAK,EAAK,GAAI,EAAG,GAAK,EAAK,IAC3C,MAEJ46F,GAAU,EAEd,OAAK,GAGT,6BAAkC,EAAsB,EAAW,GAE/D,IADA,IAAE,EAAc,IACT,EAAI,EAAG,EAAI,EAAO,OAAS,EAAG,IAAK,CACtC,IAAE,EAAQ,EAAO,GACf,EAAY,EAAO,EAAI,GACvB,EAAW,UAAK,cAAcphG,EAAM,GAAI,EAAM,GAAI,EAAU,GAAIqX,EAAU,GAAI,EAAG,GACnF,EAAW,IACPgqF,EAAQ,GAGhB,OAAK,I,ytHte7GT,2BACE,OAAO,OAAS,OAAO,iBAAmB,GAU5C,oBAAyB,EAAY,EAAY,EAAY,GAC3D,IAAM,EAAK,EAAK,EACV,EAAK,EAAK,EAChB,OAAO,KAAK,KAAK,EAAK,EAAK,EAAK,IAYlC,iBAAsB,EAAc,EAAc,EAAe,EAAgB,EAAG,GAClF,OAAO,GAAK,GAAQ,GAAK,EAAO,GAAS,GAAK,GAAQ,GAAK,EAAO,GAGpE,yBAA8B,EAAM,GAClC,QAAS,EAAK,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,MAAQ,EAAK,KAAO,EAAK,OAIvG,uBAA4B,EAAS,GACnC,OAAK,GAAY,EAGV,CACD,KAAE,KAAK,IAAI,EAAQ,KAAM,EAAQ,MACrC,KAAM,KAAK,IAAI,EAAQ,KAAM,EAAQ,MACrC,KAAM,KAAK,IAAI,EAAQ,KAAM,EAAQ,MACjC,KAAE,KAAK,IAAI,EAAQ,KAAM,EAAQ,OAN9B,GAAW,GAetB,uBAA4B,EAAQ,GAClC,OAAO,EAAO,KAAO,EAAO,IAAM,EAAO,KAAO,EAAO,IAGzD,YAAS,kFACT,YAAS,qFACT,YAAS,uFACT,IAAI,EAAJ,MAAS,oFACT,YAAS,iFACT,IAAI,EAAJ,MAAS,qFACT,YAAS,gFACT,IAAI,EAAJ,MAAS,0FACT,YAAS,kGACT,IAAI,EAAJ,MAAS,iG,yF+PjET,OACA,SAGA,SACA,QACA,SAwBA,6E,OAQU,EAAA19C,UAAoB,E,EA4qB9B,OAprBqC,iBAanC,sBAAW,mBAAI,C,IAAf,WACE,MAAO,W,gCAGF,YAAArsD,KAAP,aAEQ,YAAAssD,UAAR,WAEE,OAAkB,IADHv0E,KAAKiJ,KAAK4c,aAAaW,SAIjC,YAAAld,OAAP,aAMO,YAAA+8C,YAAP,SAAmB11B,GAEjB,GADA3wB,KAAK2wB,MAAQA,EACR3wB,KAAKu0E,YAAV,CAIA,IAAMtrE,EAAOjJ,KAAKiJ,KACZuqB,EAAQxzB,KAAKu9C,gBAAgB5sB,GACnC,GAAK6C,EAAM50B,OAAX,CAKA,IAAMilB,EAAQ7jB,KAAKw0E,SAAShhD,GACtBihD,EAAY,CAChBzqE,EAAGwpB,EAAM,GAAGxpB,EACZvH,EAAG+wB,EAAM,GAAG/wB,GAGdwG,EAAK6e,KAAK,eAAc,YACtB0L,MAAK,EACL3P,MAAK,GACF8M,IAGL,IAAMloB,EAAMzI,KAAK00E,gBACTC,EAA6DlsE,EAAvD,OAAEmsE,EAAqDnsE,EAA1C,YAAEie,EAAwCje,EAA1B,eAAEosE,EAAwBpsE,EAAb,YAAE6kB,EAAW7kB,EAAL,OAC1DqsE,EAAY90E,KAAKwzB,MACjBuhD,EAAY/0E,KAAK6jB,MAgDvB,GA/CK,EAAAkmB,QAAQgrC,EAAWlxD,IAAW,EAAAkmB,QAAQ+qC,EAAWthD,IAkChDxzB,KAAKwmB,SAAWmuD,IAClB30E,KAAKwmB,QAAQlE,OAAOqO,GACpB3wB,KAAKwmB,QAAQ+K,QAGXvxB,KAAKg1E,qBACPh1E,KAAKg1E,oBAAoBzjD,SAtC3BtoB,EAAK6e,KAAK,iBAAgB,YACxB0L,MAAK,EACL3P,MAAK,GACF8M,IAGDkkD,IAEG70E,KAAKwmB,SAERxmB,KAAKi1E,gBAEPj1E,KAAKwmB,QAAQlE,OACX,EAAAoM,IACE,GACAjmB,EACA,CACE+qB,MAAK,EACL3P,MAAK,GAEP8wD,EAAShkD,EAAQ,KAGrB3wB,KAAKwmB,QAAQ+K,QAGXqjD,GAEF50E,KAAKk1E,qBAAqB1hD,EAAOlG,IAcrCttB,KAAKwzB,MAAQA,EACbxzB,KAAK6jB,MAAQA,EAET6C,EAAgB,CAElB,IAAMyuD,EAA2B,EAAAj4E,IAAIuL,EAAK,CAAC,aAAc,WAAW,GACpEzI,KAAKo1E,iBAAiBD,EAA2BxkD,EAAQ8jD,EAAWhsE,SArEpEzI,KAAK8sB,gBAyEF,YAAAA,YAAP,WAEE,GADmB9sB,KAAK00E,gBAAV,OACd,CAKA,IAAMM,EAAsBh1E,KAAKg1E,oBAC7BA,GACFA,EAAoBxjD,OAItB,IAAM6jD,EAAar1E,KAAKq1E,WAClBC,EAAat1E,KAAKs1E,WACpBD,GACFA,EAAW7jD,OAET8jD,GACFA,EAAW9jD,OAGb,IAAMhL,EAAUxmB,KAAKwmB,QACjBA,GACFA,EAAQgL,OAGVxxB,KAAKiJ,KAAK6e,KAAK,eAAgB,IAC/B9nB,KAAK2wB,MAAQ,UAzBX3wB,KAAK2wB,MAAQ,MA+BV,YAAA21B,YAAP,WACEtmD,KAAKs0E,UAAW,EACZt0E,KAAKwmB,SAEPxmB,KAAKwmB,QAAQ+uD,YAAW,IAOrB,YAAAhvB,cAAP,WACEvmD,KAAKs0E,UAAW,EAChB,IAAM7rE,EAAMzI,KAAK00E,gBACb10E,KAAKwmB,SAEPxmB,KAAKwmB,QAAQ+uD,WAAW9sE,EAAIiwD,UAOzB,YAAAlS,gBAAP,WACE,OAAOxmD,KAAKs0E,UAGP,YAAAzrD,MAAP,WACQ,IAAErC,EAAyDxmB,KAAlD,QAAEq1E,EAAgDr1E,KAAtC,WAAEs1E,EAAoCt1E,KAA1B,WAAEg1E,EAAwBh1E,KAAL,oBACxDwmB,IACFA,EAAQgL,OACRhL,EAAQqC,SAGNwsD,GACFA,EAAWxsD,QAGTysD,GACFA,EAAWzsD,QAGTmsD,GACFA,EAAoBnsD,SAIjB,YAAAzhB,QAAP,WACMpH,KAAKwmB,SACPxmB,KAAKwmB,QAAQpf,UAEXpH,KAAKq1E,YACPr1E,KAAKq1E,WAAWjuE,UAEdpH,KAAKs1E,YACPt1E,KAAKs1E,WAAWluE,UAGdpH,KAAKw1E,YACPx1E,KAAKw1E,WAAW1qE,QAAO,GAGzB9K,KAAKwzB,MAAQ,KACbxzB,KAAK6jB,MAAQ,KACb7jB,KAAKg1E,oBAAsB,KAC3Bh1E,KAAKy1E,uBAAyB,KAC9Bz1E,KAAKq1E,WAAa,KAClBr1E,KAAKs1E,WAAa,KAClBt1E,KAAKwmB,QAAU,KACfxmB,KAAKw1E,WAAa,KAClBx1E,KAAKs0E,UAAW,EAChBt0E,KAAK2wB,MAAQ,MAGR,YAAAoO,cAAP,SAAqB5Y,GACnB,GAAInmB,KAAKmmB,UAAYA,EAArB,CAGM,IAAEK,EAAyDxmB,KAAlD,QAAEg1E,EAAgDh1E,KAA7B,oBAAEq1E,EAA2Br1E,KAAjB,WAAEs1E,EAAet1E,KAAL,WACxDmmB,GACEK,GACFA,EAAQ+K,OAENyjD,GACFA,EAAoBzjD,OAElB8jD,GACFA,EAAW9jD,OAET+jD,GACFA,EAAW/jD,SAGT/K,GACFA,EAAQgL,OAENwjD,GACFA,EAAoBxjD,OAElB6jD,GACFA,EAAW7jD,OAET8jD,GACFA,EAAW9jD,QAGfxxB,KAAKmmB,QAAUA,IAGV,YAAAo3B,gBAAP,SAAuB5sB,GACrB,IAAI6C,EAAQxzB,KAAK01E,kBAAkB11E,KAAKiJ,KAAM0nB,GAC9C,GAAI6C,EAAM50B,OAAQ,CAGhB,IAAsB,UADtB40B,EAAQ,EAAAhM,QAAQgM,GACM,eACpB,IADG,IACgB,MADH,KACG,eAAS,CAAvB,IAAM7pB,EAAI,KACP,EAAWA,EAAKmqB,YAAd9pB,EAAC,IAAEvH,EAAC,IACZkH,EAAKK,EAAI,EAAAoY,QAAQpY,GAAKA,EAAEA,EAAEpL,OAAS,GAAKoL,EACxCL,EAAKlH,EAAI,EAAA2f,QAAQ3f,GAAKA,EAAEA,EAAE7D,OAAS,GAAK6D,EAM5C,IAAe,IAFIzC,KAAK00E,gBAAV,QAEUlhD,EAAM50B,OAAS,EAAG,CAGxC,IAFA,IAAI+2E,EAAWniD,EAAM,GACjB/U,EAAMtP,KAAKsmB,IAAI9E,EAAMluB,EAAIkzE,EAAS,GAAGlzE,GACrB,MAAA+wB,EAAA,eAAO,CAAtB,IAAMoiD,EAAK,KACRC,EAAY1mE,KAAKsmB,IAAI9E,EAAMluB,EAAImzE,EAAM,GAAGnzE,GAC1CozE,GAAap3D,IACfk3D,EAAWC,EACXn3D,EAAMo3D,GAGVriD,EAAQ,CAACmiD,GAGX,OAhTN,SAAcniD,GAEZ,IADA,IAAMsiD,EAAY,G,WACTp3E,GACP,IAAMiL,EAAO6pB,EAAM90B,GACJ,EAAAwvC,KAAK4nC,GAAW,SAACC,GAC9B,OACEA,EAAQv4D,QAAU7T,EAAK6T,OACvBu4D,EAAQn5E,OAAS+M,EAAK/M,MACtBm5E,EAAQz4E,QAAUqM,EAAKrM,OACvBy4E,EAAQlyD,QAAUla,EAAKka,UAIzBiyD,EAAUxyE,KAAKqG,IAXVjL,EAAQ,EAAGA,EAAQ80B,EAAM50B,OAAQF,I,EAAjCA,GAcT,OAAOo3E,EAgSI3vC,CAAK,EAAA3e,QAAQgM,IAGtB,MAAO,IAGF,YAAA4tB,OAAP,aAEO,YAAA9+B,OAAP,WAKE,GAJItiB,KAAK2wB,OACP3wB,KAAKqmD,YAAYrmD,KAAK2wB,OAGpB3wB,KAAKwmB,QAAS,CAGhB,IAAM3f,EAAS7G,KAAKiJ,KAAKG,YAEzBpJ,KAAKwmB,QAAQ5gB,IAAI,SAAU,CACzBwa,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAClB4d,IAAK,CAAErW,EAAGnD,EAAO3J,IAAI,SAAUuF,EAAGoE,EAAO3J,IAAI,eAMzC,YAAAw3E,cAAV,WACE,IAAMzrE,EAAOjJ,KAAKiJ,KACZ41C,EAAS51C,EAAK4c,aAAaW,QAC3B/f,EAAQwC,EAAKyD,WACb0lD,EAAa,EAAAl1D,IAAIuJ,EAAO,CAAC,aAAc,WAAY,IACnDuvE,EAAY,EAAAi8C,YAAY,EAAA/0H,IAAI2hD,EAAQ,cAAgBuT,EAAW4jB,UAAY,EAAA94E,IAAI2hD,EAAQ,aAC7F,OAAO,EAAA90C,QAAQ,GAAIqoD,EAAYvT,EAAQ,CACrC6Z,WAASsd,IAAah2E,KAAKs0E,aAIvB,YAAAE,SAAR,SAAiBhhD,GACf,IAAM3P,EAAQ2P,EAAM,GAAG3P,OAAS2P,EAAM,GAAG52B,KAGzC,OAFAoD,KAAK6jB,MAAQA,EAENA,GAGD,YAAAoxD,cAAR,WACE,IAAMpuE,EAAS7G,KAAKiJ,KAAKG,YACnBmgB,EAAS,CACbnJ,MAAO,CAAEpW,EAAG,EAAGvH,EAAG,GAClB4d,IAAK,CAAErW,EAAGnD,EAAO3J,IAAI,SAAUuF,EAAGoE,EAAO3J,IAAI,YAGzCuL,EAAMzI,KAAK00E,gBACXluD,EAAU,IAAI,EAAAvY,YAAW,uBAC7B+E,OAAQnM,EAAO3J,IAAI,MAAM+4E,WACzB1sD,OAAM,GACH9gB,GAAG,CACN0d,SAAS,EACTQ,WAAY,QAGdH,EAAQyB,OACRjoB,KAAKwmB,QAAUA,GAGT,YAAA0uD,qBAAR,SAA6B1hD,EAAOlG,GAElC,IADA,IAAM0nD,EAAsBh1E,KAAKk2E,yBACd,MAAA1iD,EAAA,eAAO,CAArB,IAAM7pB,EAAI,KACLK,EAASL,EAAR,EAAElH,EAAMkH,EAAL,EACN0oB,EAAQ,EAAH,qBACTxC,KAAMlmB,EAAK6T,MACXy+C,OAAQ,SACR4C,YAAal1D,EAAK6T,OACf8P,GAAM,CACTtjB,EAAC,EACDvH,EAAC,IAGHuyE,EAAoB9hD,SAAS,SAAU,CACrCb,MAAK,MAKH,YAAA+iD,iBAAR,SAAyBzkD,EAAcloB,GACrC,IAAM0tE,EAAiB,EAAAj5E,IAAIuL,EAAK,CAAC,aAAc,QAAS,KACjC,MAAnB0tE,GACEn2E,KAAKs1E,YACPt1E,KAAKs1E,WAAW9jD,OAElBxxB,KAAKo2E,kBAAkBzlD,EAAOloB,IACF,MAAnB0tE,GACLn2E,KAAKq1E,YACPr1E,KAAKq1E,WAAW7jD,OAElBxxB,KAAKq2E,kBAAkB1lD,EAAOloB,IACF,OAAnB0tE,IACTn2E,KAAKo2E,kBAAkBzlD,EAAOloB,GAC9BzI,KAAKq2E,kBAAkB1lD,EAAOloB,KAK1B,YAAA2tE,kBAAR,SAA0BzlD,EAAc2lD,GACtC,IAAM/tD,EAAavoB,KAAKu2E,oBAAoBv2E,KAAKiJ,MAAMyoB,gBACvD,GAAK,EAAAgV,oBAAoBne,EAAYoI,GAArC,CAGA,IAAIvQ,EACAC,EACJ,GAAIkI,EAAWwX,OACTxX,EAAW8X,cACbjgB,EAAQ,CACNpW,EAAGue,EAAWnI,MAAMpW,EACpBvH,EAAGkuB,EAAMluB,GAEX4d,EAAM,CACJrW,EAAGue,EAAWlI,IAAIrW,EAClBvH,EAAGkuB,EAAMluB,KAGX2d,EAAQ,CACNpW,EAAG2mB,EAAM3mB,EACTvH,EAAG8lB,EAAWlI,IAAI5d,GAEpB4d,EAAM,CACJrW,EAAG2mB,EAAM3mB,EACTvH,EAAG8lB,EAAWnI,MAAM3d,QAGnB,CAEL,IAAM00B,EAAQ,EAAA0P,gBAAgBte,EAAYoI,GACpCjB,EAASnH,EAAWke,YACpBzF,EAASzY,EAAWge,YAC1BlmB,EAAM,EAAAokB,iBAAiB/U,EAAO1lB,EAAG0lB,EAAOjtB,EAAGu+B,EAAQ7J,GACnD/W,EAAQsP,EAGV,IAAMjnB,EAAM,EAAAsB,QACV,CACEqW,MAAK,EACLC,IAAG,EACHva,UAAW9F,KAAKw2E,6BAElB,EAAAt5E,IAAIo5E,EAAY,aAAc,IAC9Bt2E,KAAKy2E,kBAAkB,IAAK9lD,EAAO2lD,WAE9B7tE,EAAImB,KAEX,IAAIyrE,EAAar1E,KAAKq1E,WAClBA,EACFA,EAAW/yD,OAAO7Z,IAElB4sE,EAAa,IAAI,EAAAugC,UAAUl/B,KAAKjuE,IACrBwf,OAEbotD,EAAW/rE,SACX+rE,EAAW9jD,OACXvxB,KAAKq1E,WAAaA,IAIZ,YAAAgB,kBAAR,SAA0B1lD,EAAc2lD,GACtC,IAAM/tD,EAAavoB,KAAKu2E,oBAAoBv2E,KAAKiJ,MAAMyoB,gBACvD,GAAK,EAAAgV,oBAAoBne,EAAYoI,GAArC,CAGA,IAAIloB,EACAmB,EACJ,GAAI2e,EAAWwX,OAAQ,CACrB,IAAI3f,OAAK,EACLC,OAAG,EACHkI,EAAW8X,cACbjgB,EAAQ,CACNpW,EAAG2mB,EAAM3mB,EACTvH,EAAG8lB,EAAWlI,IAAI5d,GAEpB4d,EAAM,CACJrW,EAAG2mB,EAAM3mB,EACTvH,EAAG8lB,EAAWnI,MAAM3d,KAGtB2d,EAAQ,CACNpW,EAAGue,EAAWnI,MAAMpW,EACpBvH,EAAGkuB,EAAMluB,GAEX4d,EAAM,CACJrW,EAAGue,EAAWlI,IAAIrW,EAClBvH,EAAGkuB,EAAMluB,IAGbgG,EAAM,CACJ2X,MAAK,EACLC,IAAG,GAELzW,EAAO,YAGPnB,EAAM,CACJinB,OAAQnH,EAAWke,YAEnBzF,OAAQ,EAAAwF,oBAAoBje,EAAYoI,GACxCmQ,WAAYvY,EAAWuY,WACvBC,SAAUxY,EAAWwY,UAEvBn3B,EAAO,gBAGTnB,EAAM,EAAAsB,QACJ,CACEjE,UAAW9F,KAAKw2E,6BAElB/tE,EACA,EAAAvL,IAAIo5E,EAAY,aAAc,IAC9Bt2E,KAAKy2E,kBAAkB,IAAK9lD,EAAO2lD,KAE1B1sE,KAEX,IAAI0rE,EAAat1E,KAAKs1E,WAClBA,EAGC/sD,EAAWwX,QAAqC,WAA3Bu1C,EAAWp4E,IAAI,UACnCqrB,EAAWwX,QAAqC,SAA3Bu1C,EAAWp4E,IAAI,SAEtCo4E,EAAa,IAAI,EAAAsgC,UAAUhsG,GAAMnB,IACtBwf,OAEXqtD,EAAWhzD,OAAO7Z,IAGpB6sE,EAAa,IAAI,EAAAsgC,UAAUhsG,GAAMnB,IACtBwf,OAEbqtD,EAAWhsE,SACXgsE,EAAW/jD,OACXvxB,KAAKs1E,WAAaA,IAGZ,YAAAmB,kBAAR,SAA0B7sE,EAAM+mB,EAAc2lD,GAC5C,IAAIK,EAAU,EAAAz5E,IAAIo5E,EAAY,CAAC,aAAc,SACvC3B,EAAS,EAAAz3E,IAAIo5E,EAAY,CAAC,aAAc,WACxC9iD,EAAQxzB,KAAKwzB,MAEnB,GAAImjD,EAAS,CACX,IAAM1tE,EAAOjJ,KAAKu2E,oBAAoBv2E,KAAKiJ,MAErC2tE,EAAYpjD,EAAM,GAClBc,EAASrrB,EAAKf,YACdqsB,EAAStrB,EAAKw8C,aAAa,GAC7B7I,OAAM,EACNjB,OAAM,EACV,GAAIg5B,EAAQ,CAEV,IAAMhuC,EAAc3mC,KAAKiJ,KAAKyoB,gBAAgBkV,OAAOjW,GACrDisB,EAAStoB,EAAOsS,OAAOD,EAAY38B,GACnC2xC,EAASpnB,EAAOqS,OAAOD,EAAYlkC,QAEnCm6C,EAASg6B,EAAU53E,KAAKs1B,EAAOrsB,OAC/B0zC,EAASi7B,EAAU53E,KAAKu1B,EAAOtsB,OAGjC,IAAMgwD,EAAmB,MAATruD,EAAegzC,EAASjB,EAOxC,OANI,EAAArxC,WAAWqsE,GACbA,EAAUA,EAAQ/sE,EAAMquD,EAASzkC,EAAO7C,GAExCgmD,EAAQ1e,QAAUA,EAGb,CACL5xC,KAAMswD,KAMJ,YAAAE,cAAR,WACE,IAAK72E,KAAKw1E,WAAY,CACpB,IAAM5rD,EAAkB5pB,KAAKiJ,KAAK2gB,gBAClC5pB,KAAKw1E,WAAa5rD,EAAgBF,SAAS,CACzC9sB,KAAM,eACN87D,SAAS,IAIb,OAAO14D,KAAKw1E,YAIN,YAAAU,uBAAR,WACE,IAAIlB,EAAsBh1E,KAAKg1E,oBAW/B,OAVIA,IAAwBA,EAAoBjuE,WAC9CiuE,EAAoBnsD,QACpBmsD,EAAoBzjD,UAEpByjD,EAAsBh1E,KAAK62E,gBAAgBntD,SAAS,CAClD9sB,KAAM,yBAEYmwD,UACpB/sD,KAAKg1E,oBAAsBA,GAEtBA,GAID,YAAAwB,0BAAR,WACE,IAAIf,EAAyBz1E,KAAKy1E,uBASlC,OARKA,KACHA,EAAyBz1E,KAAK62E,gBAAgBntD,SAAS,CACrD9sB,KAAM,yBACN87D,SAAS,KAEY1L,SACvBhtD,KAAKy1E,uBAAyBA,GAEzBA,GAGD,YAAAqB,0BAAR,SAAkC/nD,EAAU4B,EAAO9M,GACjD,IAAMxlB,EAAS,GAETkS,EADYwe,EAASjpB,UACHgpD,SAASn+B,EAAM3mB,EAAG2mB,EAAMluB,GAChD,GAAI8N,GAASA,EAAMrT,IAAI,YAAcqT,EAAMrT,IAAI,UAAW,CACxD,IAAM42B,EAAcvjB,EAAMrT,IAAI,UAAU42B,YAClCN,EAAQ,EAAA+pB,gBAAgBzpB,EAAa/E,EAAUlL,GACjD2P,EAAM50B,QACRP,EAAOiF,KAAKkwB,GAIhB,OAAOn1B,GAGD,YAAA04E,0BAAR,SAAkChoD,EAAoB4B,EAAO9M,GAC3D,IAAMxlB,EAAS,GACTqoD,EAAY33B,EAAS23B,UAC3B33B,EAASqL,KAAKssB,GACd,IAAmB,UAAAA,EAAA,eAAW,CAAzB,IAAM1nD,EAAI,KACP6tC,EAAS,EAAA4P,gBAAgB9rB,EAAO3xB,EAAM+vB,GAC5C,GAAI8d,EAAQ,CACV,IAAMomB,EAAYlkC,EAAS0F,aAAaoY,GAClC7a,EAAUjD,EAASohC,YAAY8C,GACrC,GAAsB,YAAlBlkC,EAASnlB,MAAsBooB,EAAQ7L,QAAS,CAGlD,IAAMqN,EAAQ,EAAA+pB,gBAAgB1Q,EAAQ9d,EAAUlL,GAC5C2P,EAAM50B,QACRP,EAAOiF,KAAKkwB,KAMpB,OAAOn1B,GAGD,YAAAq3E,kBAAR,SAA0BzsE,EAAM0nB,GAC9B,IAAkC,IAA9B1nB,EAAK4c,aAAaW,QAEpB,MAAO,GAOT,IAJA,IAAInoB,EAAS,GAEPmqB,EAAavf,EAAKuf,WAClB,EAAoBxoB,KAAK00E,gBAAvBjuD,EAAM,SAAE5C,EAAK,QACE,MAAA2E,EAAA,eAAY,CAA9B,IAAMuG,EAAQ,KACjB,GAAIA,EAAS5I,UAAsC,IAA3B4I,EAAS+uB,cAAyB,CAExD,IAAMpB,EAAe3tB,EAASnlB,KAC1BotE,OAAY,GAGdA,EAFE,CAAC,QAAS,OAAQ,WAAWp3B,SAASlD,GAEzB18C,KAAK82E,0BAA0B/nD,EAAU4B,EAAO9M,GACtD,CAAC,OAAQ,OAAQ,OAAQ,WAAW+7B,SAASlD,KAIvC,IAAXj2B,EAFWzmB,KAAK+2E,0BAA0BhoD,EAAU4B,EAAO9M,GAK9C7jB,KAAK82E,0BAA0B/nD,EAAU4B,EAAO9M,IAGlDjlB,QAEfP,EAAOiF,KAAK0zE,IAMlB,IAAwB,UAAA/tE,EAAK2f,MAAL,eAAY,CAA/B,IAAMquD,EAAS,KAClB54E,EAASA,EAAO2F,OAAOhE,KAAK01E,kBAAkBuB,EAAWtmD,IAG3D,OAAOtyB,GAKD,YAAAk4E,oBAAR,SAA4BttE,GAA5B,WACE,OAAIA,EAAKuf,WAAW5pB,OACXqK,EAGF,EAAAilC,KAAKjlC,EAAK2f,OAAO,SAACquD,GAAc,SAAKV,oBAAL,OAE3C,EAprBA,CAvBA,OAuBqC28B,Y,qI5G9BrC,WAUA,qBAA0B51G,EAAe8iB,EAAeC,GACtD,IAAM5B,EAAMtP,KAAKsP,IAAI2B,EAAOC,GACtB7B,EAAMrP,KAAKqP,IAAI4B,EAAOC,GAE5B,OAAO/iB,GAASmhB,GAAOnhB,GAASkhB,GAalC,kBAAuB+C,EAAwBkjD,EAAsBC,GACnE,GAAI,EAAA73C,SAAStL,GACX,OAAOA,EAAOojD,OAAOF,EAAcC,GAC9B,GAAI,EAAAtiD,QAAQb,GAAS,CAC1B,IAAMqjD,EAAerjD,EAAO3iB,OAC5B,GAAIgmE,EAAeH,EAEjB,IADA,IAAMv9B,EAAOu9B,EAAeG,EACnBvoE,EAAI,EAAGA,EAAI6qC,EAAM7qC,IACxBklB,EAAOje,KAAKohE,GAKlB,OAAOnjD,GAST,gBAA8BtiB,EAAQiL,GAKpC,OAJAA,EAAK8jB,SAAQ,SAACpwB,UACLqB,EAAIrB,MAGNqB,GAST,gBAAqBmnC,EAAoBC,EAAyB/hB,QAAzB,IAAA+hB,MAAA,SAAyB,IAAA/hB,MAAA,IAChE,IAAqB,UAAA8hB,EAAA,eAAa,CAA7B,IAAM7kB,EAAM,KACV+C,EAAI/C,KACP8kB,EAAY/iC,KAAKie,GACjB+C,EAAI/C,IAAU,GAGlB,OAAO8kB,I,oIWtET,OACA,QAIA,SAEA,SAASiV,EAAUn8B,EAASC,EAAS8J,GACnC,IAAMqyB,EAASryB,EAAMsyB,UAAUr8B,GACzBs8B,EAASvyB,EAAMsyB,UAAUp8B,GAE/B,OAAO,EAAAmlF,cAAchpD,EAAQE,GAmB/B,SAASC,EAAa18C,EAAY2xB,EAAc5B,GAC9C,IAAMxG,EAAawG,EAASxG,WACtBgM,EAASxF,EAAS5mB,YAClB2iB,EAASyJ,EAAOtsB,MAChB0+B,EAAcpe,EAAWqe,OAAOjW,GAChCgrB,EAASpnB,EAAOqS,OAAOD,EAAYlkC,GAMzC,OAJe,EAAAyrC,KAAKlvC,GAAM,SAACC,GACzB,IAAM28C,EAAa38C,EAAI,EAAA+N,cACvB,OAAO4uC,EAAW9wB,GAAQ,IAAM6wB,GAAUC,EAAW9wB,GAAQ,IAAM6wB,MAEpD38C,EAAKA,EAAKJ,OAAS,GAGtC,IAAMi9C,EAAe,EAAAk8D,SAAQ,SAAC7uF,GAC5B,GAAIA,EAAM4yB,WACR,OAAO,EAOT,IALA,IAAMC,EAAc7yB,EAAMxI,OACpB9hB,EAASm9C,EAAYn9C,OACvB6f,EAAMyK,EAAMsyB,UAAUO,EAAY,IAClCv9B,EAAMC,EAED/f,EAAQ,EAAGA,EAAQE,EAAQF,IAAS,CAC3C,IAAMpB,EAAQy+C,EAAYr9C,GAEpBs9C,EAAe9yB,EAAMsyB,UAAUl+C,GACjC0+C,EAAev9B,IACjBA,EAAMu9B,GAEJA,EAAex9B,IACjBA,EAAMw9B,GAGV,OAAQx9B,EAAMC,IAAQ7f,EAAS,MAwBjC,SAASq9C,EAAqBltB,GAG5B,IAFA,IACI7F,EACoB,MAR1B,SAAgC6F,GAC9B,IAAMmtB,EAAa,EAAAx7B,OAAOqO,EAASmtB,YACnC,OAAO,EAAAjgB,OAAOigB,GAAY,SAACC,GAAyB,SAAA9xC,SAAS,EAAA+xC,YAAaD,EAAtB,SAIjCE,CAAuBttB,GAElB,eAAY,CAA/B,IAAMotB,EAAS,KACZG,EAAWH,EAAUI,SAASJ,EAAUvyC,MAC9C,GAAI0yC,GAAYA,EAASE,SAAU,CAEjCtzB,EAAQozB,EACR,OAIJ,IAAMhoB,EAASvF,EAAS7mB,YAClBqsB,EAASxF,EAAS5mB,YAExB,OAAO+gB,GAASqL,GAAUD,EAyC5B,2BAAgC3D,EAAc3xB,EAAsB+vB,GAClE,GAAoB,IAAhB/vB,EAAKJ,OACP,OAAO,KAGT,IAAM89C,EAAe3tB,EAASnlB,KACxB0qB,EAASvF,EAAS7mB,YAClBqsB,EAASxF,EAAS5mB,YAElB0iB,EAASyJ,EAAOrsB,MAChB6iB,EAASyJ,EAAOtsB,MAElB/I,EAAM,KAGV,GAAqB,YAAjBw9C,GAA+C,UAAjBA,EAA0B,CAQ1D,IANA,IACM/V,EADa5X,EAASxG,WACGqe,OAAOjW,GAChC3mB,EAAIsqB,EAAOsS,OAAOD,EAAY38B,GAC9BvH,EAAI8xB,EAAOqS,OAAOD,EAAYlkC,GAEhCgc,EAAMlM,IACD7T,EAAQ,EAAGA,EAAQM,EAAKJ,OAAQF,IAAS,CAChD,IAAMO,EAAMD,EAAKN,GACXk9C,EAAa38C,EAAI,EAAA+N,cACjBygB,EAAQ,SAACmuB,EAAW/wB,GAAU7gB,EAAM,GAAI,SAAC4xC,EAAW9wB,GAAUroB,EAAM,GACtEgrB,EAAQhP,IACVA,EAAMgP,EACNvuB,EAAMD,GAIV,OAAOC,EAIT,IAAM4pC,EAAQ9pC,EAAK,GACf29C,EAAO39C,EAAKA,EAAKJ,OAAS,GACxBg+C,EAzKR,SAA0BjsB,EAAc5B,GACtC,IAAMxG,EAAawG,EAASxG,WACtB+L,EAASvF,EAAS7mB,YAClBulB,EAAQ6G,EAAO7G,MACfovB,EAAWpvB,EAAMA,EAAM7uB,OAAS,GAChCk+C,EAAWrvB,EAAM,GAInBmvB,EAFgBr0B,EAAWqe,OAAOjW,GAEb3mB,EAIzB,OAHIue,EAAW6X,SAAWwc,GAAU,EAAIC,GAAY,IAClDD,EAASE,GAEJxoB,EAAOknB,UAAUlnB,EAAOsS,OAAOgW,IA4JvBG,CAAiBpsB,EAAO5B,GACjCiuB,EAAclU,EAAM,EAAA97B,cAAc6d,GAClCoyB,EAAcnU,EAAM,EAAA97B,cAAc8d,GAClCoyB,EAAaP,EAAK,EAAA3vC,cAAc6d,GAChCsyB,EAAW5oB,EAAOioB,UAAY,EAAAp6B,QAAQ66B,GAG5C,GAAI,EAAA76B,QAAQ46B,GAAc,CACxB,IAASt+C,EAAQ,EAAGA,EAAQM,EAAKJ,OAAQF,IAAS,CAE1Ck9C,GADA/O,EAAS7tC,EAAKN,IACM,EAAAsO,cAE1B,GAAIsnB,EAAOknB,UAAUI,EAAW/wB,GAAQ,KAAO+xB,GAAUtoB,EAAOknB,UAAUI,EAAW/wB,GAAQ,KAAO+xB,EAAQ,CAC1G,IAAIO,EAMG,CACLj+C,EAAM2tC,EACN,MANK,EAAAzqB,QAAQljB,KACXA,EAAM,IAERA,EAAIoE,KAAKupC,IAOX,EAAAzqB,QAAQljB,KACVA,EAAMw8C,EAAax8C,EAAKyxB,EAAO5B,QAE5B,CACL,IAAI7sB,OAAI,EACR,GAAKoyB,EAAOkoB,UAA4B,YAAhBloB,EAAO1qB,KAwBxB,CAEL,IACGgzC,EAAStoB,EAAOknB,UAAU0B,IAAeN,EAAStoB,EAAOknB,UAAUwB,MACnEJ,EAAStoB,EAAO9V,KAAOo+B,EAAStoB,EAAO7V,KAGxC,OAAO,KAMT,IAHA,IAAI2+B,EAAW,EACXC,EAAUr+C,EAAKJ,OAAS,EACxB0+C,OAAS,EACNF,GAAYC,GAAS,CAE1B,IAAM1zC,EAAO3K,EADbs+C,EAAYnuC,KAAKwR,OAAOy8B,EAAWC,GAAW,IACjB,EAAArwC,cAAc6d,GAC3C,GAAIywB,EAAU3xC,EAAMizC,EAAQtoB,GAC1B,OAAOt1B,EAAKs+C,GAGVhpB,EAAOknB,UAAU7xC,IAAS2qB,EAAOknB,UAAUoB,IAC7CQ,EAAWE,EAAY,EACvBX,EAAO39C,EAAKs+C,GACZp7C,EAAOlD,EAAKs+C,EAAY,KAER,IAAZD,IACFV,EAAO39C,EAAK,IAEdq+C,EAAUC,EAAY,QApDuB,CAEjD,IAAS5+C,EAAQ,EAAGA,EAAQM,EAAKJ,OAAQF,IAAS,CAChD,IAAMmuC,EAEN,GAAIyO,GADEM,GADA/O,EAAS7tC,EAAKN,IACM,EAAAsO,eACD6d,GAAS+xB,EAAQtoB,GAAS,CACjD,IAAI6oB,EAKG,CACLj+C,EAAM2tC,EACN,MANK,EAAAzqB,QAAQljB,KACXA,EAAM,IAERA,EAAIoE,KAAKupC,QAKFvY,EAAOknB,UAAUI,EAAW/wB,KAAY+xB,IACjDD,EAAO9P,EACP3qC,EAAOlD,EAAKN,EAAQ,IAIpB,EAAA0jB,QAAQljB,KACVA,EAAMw8C,EAAax8C,EAAKyxB,EAAO5B,IAmC/B4tB,GAAQz6C,GAGRiN,KAAKsmB,IAAInB,EAAOknB,UAAUmB,EAAK,EAAA3vC,cAAc6d,IAAW+xB,GACxDztC,KAAKsmB,IAAInB,EAAOknB,UAAUt5C,EAAK,EAAA8K,cAAc6d,IAAW+xB,KAExDD,EAAOz6C,GAKb,IAAMmmC,EAAWwT,EAAa9sB,EAAS7mB,aAKvC,OAJKhJ,GAAOiQ,KAAKsmB,IAAInB,EAAOknB,UAAUmB,EAAK,EAAA3vC,cAAc6d,IAAW+xB,IAAWvU,EAAW,IACxFnpC,EAAMy9C,GAGDz9C,GAWT,2BAAgCF,EAAoB+vB,EAAoBlL,QAAA,IAAAA,MAAA,IACtE,IAMIvmB,EANEs+C,EAAa58C,EAAK,EAAAgO,cAClBwwC,EAxOR,SAAyB5B,EAAmB7sB,EAAoBlL,GAC9D,IAAI45B,EAAa55B,EACZA,IAGH45B,EAFqB1uB,EAAS2uB,aAAa,YACfC,YACR,IAEtB,IAAMx1B,EAAS4G,EAAS5G,OACxB,OAAIA,EAAOs1B,GAEFt1B,EAAOs1B,GAAYG,QAAQhC,EAAW6B,IAGxC,EAAAh2B,OAAOm0B,EAAY6B,GAAc7B,EAAW6B,GAAcA,EA2N5CI,CAAgBjC,EAAY7sB,EAAUlL,GACrDi6B,EAAgB/uB,EAAS+uB,cACvBC,EAAiBhvB,EAAStoB,MAAd,aACd+sB,EAAQ,GAId,SAASwqB,EAAQzwB,EAAU0wB,GACzB,IAAK,EAAA73C,MAAM63C,IAA4B,KAAdA,EAAkB,CAEzC,IAAMt0C,EAAO,CACXka,MAAO25B,EACPx+C,KAAM48C,EACN9nB,YAAa90B,EACbpC,KAAM2wB,EACNjwB,MAAO2gD,EACPzgC,MAAOxe,EAAKwe,OAASugC,EACrBzwB,QAAQ,GAGVkG,EAAMlwB,KAAKqG,IAIf,GAAI,EAAA0iG,SAASvuD,GAAgB,CACnB,IAAAhb,EAAqBgb,EAAf,OAAEhsC,EAAagsC,EAAL,SACxB,GAAIhsC,EAAU,CAEZ,IAAMosC,EAAiBpb,EAAOxe,KAAI,SAACrc,GACjC,OAAOjJ,EAAK,EAAAgO,cAAc/E,MAEtBQ,EAAMqJ,EAAQ,aAAIosC,GAClBC,EAAU,EAAH,UACXn/C,KAAMA,EAAK,EAAAgO,cACX8mB,YAAa90B,EACb6kB,MAAO25B,EACPhgC,MAAOxe,EAAKwe,OAASugC,EACrBzwB,QAAQ,GACL7kB,GAGL+qB,EAAMlwB,KAAK66C,QAGX,IADA,IAAMh2B,EAAS4G,EAAS5G,OACJ,MAAA2a,EAAA,eAAQ,CAAvB,IAAM76B,EAAK,KACd,IAAK,EAAA7B,MAAMw1C,EAAW3zC,IAAS,CAE7B,IAAMihB,EAAQf,EAAOlgB,GAGrB+1C,EAFO,EAAAre,QAAQzW,GACf5rB,EAAQ4rB,EAAM00B,QAAQhC,EAAW3zC,WAKlC,CACL,IAAMm2C,EAAanC,EAAqBltB,GACnC,EAAA3oB,MAAMw1C,EAAWwC,EAAWn2C,UAE/B3K,EA3PN,SAAyBs+C,EAAmBwC,GAC1C,IACM9gD,EAAQs+C,EADAwC,EAAWn2C,OAGzB,OAAI,EAAAma,QAAQ9kB,GACIA,EAAMgnB,KAAI,SAAC+5B,GACvB,OAAOD,EAAWR,QAAQS,MAEfr8B,KAAK,KAEbo8B,EAAWR,QAAQtgD,GAiPdghD,CAAgB1C,EAAYwC,GAEpCJ,EA/ON,SAAwBpC,EAAmB7sB,GACzC,IAAIwvB,EACEC,EAAczvB,EAAS0vB,iBAK7B,GAJID,EAAY5/C,SAEd2/C,EAAYC,EAAY,IAEtBD,EAAW,CACb,IAAMt2C,EAAQs2C,EAAUt2C,MACxB,OAAOs2C,EAAUX,QAAQhC,EAAW3zC,IAGtC,IAAMm2C,EAAanC,EAAqBltB,GACxC,OAAO,EAAA4Q,QAAQye,GAiOJM,CAAe9C,EAAY7sB,GACpBzxB,IAGlB,OAAOk2B,I,2InB1WT,OACA,SAGM8L,EAAY,uTA0BlB,8BAAmCr3B,EAAwBjJ,EAA2BwgC,GACpF,IAAM3B,EAAY7+B,GAAQ,GAE1B,GAAI,EAAAi1B,SAAShsB,IAAW,EAAA7B,MAAM,EAAA8rH,WAAWr0F,EAAW51B,KAAW,EAAA2iB,QAAQ4U,GAErE,OAAO,IADU,EAAA+c,SAAS,YACnB,CAAa,CAClBt0C,MAAOA,EAAMxJ,WACbiiB,OAAQ,CAACzY,KAIb,IAAMyY,EAAS,EAAAwiG,YAAYrlF,EAAW51B,GAGhC2B,EAAO,EAAA1M,IAAIsiC,EAAU,OAhC7B,SAAwBliC,GACtB,IAAIsM,EAAO,SAMX,OALI01B,EAAUG,KAAKniC,GACjBsM,EAAO,OACE,EAAAijB,SAASvvB,KAClBsM,EAAO,OAEFA,EAyB4B81B,CAAehf,EAAO,KAEzD,OAAO,IADW,EAAA67B,SAAS3yC,GACpB,CAAa,YAClB3B,MAAK,EACLyY,OAAM,GACH8e,KAWP,qBAA0BtW,EAAcm5B,GACtC,GAAmB,aAAfn5B,EAAMtf,MAAyC,aAAlBy4C,EAASz4C,KAAqB,CAC7D,IAAM3K,EAAM,GACZ,IAAK,IAAME,KAAKkjD,EACVtlD,OAAOkB,UAAUC,eAAe1B,KAAK6lD,EAAUljD,KACjDF,EAAIE,GAAKkjD,EAASljD,IAItB+pB,EAAMi5B,OAAOljD,KAUjB,mBAAwBiqB,GACtB,OAAOA,EAAM0W,OAAS1W,EAAMjhB,Q,yFehF9B,OAGA,SACA,4BACA,4BAGA,SAAS4mC,EAAYC,EAAmBjL,GACtC,IAAMvlC,EAAMwwC,EAAU7hB,MAAM,KACtBmX,EAAa9lC,EAAI,GAEjBkmC,EAASX,EAAQoK,UAAU7J,IAAe,EAAA2K,aAAa3K,EAAYP,GACzE,IAAKW,EACH,MAAM,IAAI5F,MAAM,4BAA4BwF,GAG9C,MAAO,CACLI,OAAM,EACNwK,WAHiB1wC,EAAI,IAQzB,SAAS2wC,EAAcC,GACb,IAAA1K,EAAuB0K,EAAjB,OAAEF,EAAeE,EAAL,WAC1B,IAAI1K,EAAOwK,GAGT,MAAM,IAAIpQ,MAAM,UAAU4F,EAAO5nC,KAAI,kCAAkCoyC,GAFvExK,EAAOwK,KAMX,IAAMG,EACG,QADHA,EAES,aAFTA,EAGC,MAHDA,EAIM,WAJNA,EAKQ,aAoHd,cAcE,WAAYlmC,EAAYmmC,GAAxB,MACE,YAAMnmC,EAAMmmC,IAAM,K,OALZ,EAAAC,eAA8B,GAE9B,EAAAC,WAA0B,GAIhC,EAAKF,MAAQA,E,EA2OjB,OA3PgD,iBAsBvC,YAAAnnB,KAAP,WACEjoB,KAAKuvC,cACL,YAAMtnB,KAAI,YAML,YAAA7gB,QAAP,WACE,YAAMA,QAAO,WACbpH,KAAKovC,MAAQ,KACTpvC,KAAK6jC,UACP7jC,KAAK6jC,QAAQz8B,UACbpH,KAAK6jC,QAAU,MAGjB7jC,KAAKqvC,eAAiB,KACtBrvC,KAAKiJ,KAAO,MAMJ,YAAA2lC,WAAV,sBACE,EAAAplC,KAAKxJ,KAAKovC,OAAO,SAACI,EAASC,GACzB,EAAAjmC,KAAKgmC,GAAS,SAACvtC,GACb,IAAM6P,EAAW,EAAK49B,kBAAkBD,EAAUxtC,GAC9C6P,GAEF,EAAK69B,UAAU1tC,EAAK2tC,QAAS99B,UAS3B,YAAAvK,YAAV,sBACE,EAAAiC,KAAKxJ,KAAKovC,OAAO,SAACI,EAASC,GACzB,EAAAjmC,KAAKgmC,GAAS,SAACvtC,GACb,IAAM6P,EAAW,EAAK49B,kBAAkBD,EAAUxtC,GAC9C6P,GACF,EAAK+9B,SAAS5tC,EAAK2tC,QAAS99B,UAO5B,YAAAy9B,YAAR,WACE,IAAMtmC,EAAOjJ,KAAKiJ,KACZ46B,EAAU,IAAI,UAAmB56B,GACvCjJ,KAAK6jC,QAAUA,EACf,IAAMuL,EAAQpvC,KAAKovC,MAEnB,EAAA5lC,KAAK4lC,GAAO,SAACU,GACX,EAAAtmC,KAAKsmC,GAAU,SAAC7tC,GACd,GAAI,EAAAqI,WAAWrI,EAAKuiC,QAElBviC,EAAKitC,aAAe,CAClB1K,OAAQ,EAAAD,qBAAqBtiC,EAAKuiC,OAAQX,GAC1CmL,WAAY,gBAET,GAAI,EAAAniB,SAAS5qB,EAAKuiC,QAEvBviC,EAAKitC,aAAeL,EAAY5sC,EAAKuiC,OAAQX,QACxC,GAAI,EAAAzhB,QAAQngB,EAAKuiC,QAAS,CAE/B,IAAMuL,EAAY9tC,EAAKuiC,OACvBviC,EAAKitC,aAAe,GACpB,EAAA1lC,KAAKumC,GAAW,SAACjB,GACf7sC,EAAKitC,aAAa5rC,KAAKurC,EAAYC,EAAWjL,eAShD,YAAAmM,YAAR,SAAoBP,GAClB,IAAMQ,EAAkBjwC,KAAKiwC,gBACvBb,EAAQpvC,KAAKovC,MAEnB,GAAIa,IAAoBR,EACtB,OAAO,EAGT,GAAIA,IAAaN,EAEf,OAAO,EAGT,GAAIM,IAAaN,EAEf,OAAOc,IAAoBd,EAG7B,GAAIM,IAAaN,EAEf,OAAOc,IAAoBd,EAG7B,GAAIM,IAAaN,EACf,OAAOc,IAAoBd,GAAyBc,IAAoBd,EAG1E,GAAIM,IAAaN,EAAqB,CACpC,GAAIC,EAAMD,GAER,OAAOc,IAAoBd,EACtB,GAAIc,IAAoBd,EAE7B,OAAO,EAGX,OAAO,GAID,YAAAe,cAAR,SAAsBT,EAAkBxtC,GACtC,GAAIjC,KAAKgwC,YAAYP,GAAW,CAC9B,IAAM7xC,EAAMoC,KAAKmwC,OAAOV,EAAUxtC,GAElC,QAAIA,EAAKmuC,OAAQpwC,KAAKsvC,WAAW1xC,OAI7BqE,EAAKouC,UACApuC,EAAKouC,SAASrwC,KAAK6jC,UAI9B,OAAO,GAGD,YAAAyM,UAAR,SAAkBb,GAChBzvC,KAAKiwC,gBAAkBR,EACvBzvC,KAAKsvC,WAAa,IAIZ,YAAAiB,aAAR,SAAqBd,EAAkBxtC,GAEjCwtC,IAAaN,GAA0BnvC,KAAKiwC,kBAAoBR,GAClEzvC,KAAKswC,UAAUb,GAEjB,IAAM7xC,EAAMoC,KAAKmwC,OAAOV,EAAUxtC,GAElCjC,KAAKsvC,WAAW1xC,IAAO,GAGjB,YAAAuyC,OAAR,SAAeV,EAAUxtC,GACvB,OAAOwtC,EAAWxtC,EAAK2tC,QAAU3tC,EAAKuiC,QAIhC,YAAAkL,kBAAR,SAA0BD,EAAkBxtC,GAA5C,WACQ4hC,EAAU7jC,KAAK6jC,QACfwL,EAAiBrvC,KAAKqvC,eACtBH,EAAejtC,EAAKitC,aAC1B,GAAIjtC,EAAKuiC,QAAU0K,EAAc,CAC/B,IAAMtxC,EAAMoC,KAAKmwC,OAAOV,EAAUxtC,GAClC,IAAKotC,EAAezxC,GAAM,CAExB,IAAM4yC,EAAiB,SAACttB,GACtB2gB,EAAQ3gB,MAAQA,EACZ,EAAKgtB,cAAcT,EAAUxtC,IAE3B,EAAAmgB,QAAQ8sB,GACV,EAAA1lC,KAAK0lC,GAAc,SAACjwC,GAClB4kC,EAAQ3gB,MAAQA,EAChB+rB,EAAchwC,OAGhB4kC,EAAQ3gB,MAAQA,EAChB+rB,EAAcC,IAEhB,EAAKqB,aAAad,EAAUxtC,GACxBA,EAAK6P,WACP+xB,EAAQ3gB,MAAQA,EAChBjhB,EAAK6P,SAAS+xB,KAIhBA,EAAQ3gB,MAAQ,MAIhBjhB,EAAKwuC,SACPpB,EAAezxC,GAAO,EAAA6yC,SAASD,EAAgBvuC,EAAKwuC,SAASC,KAAMzuC,EAAKwuC,SAASE,WACxE1uC,EAAK2uC,SAEdvB,EAAezxC,GAAO,EAAAgzC,SAASJ,EAAgBvuC,EAAK2uC,SAASF,KAAM,CACjEG,QAAS5uC,EAAK2uC,SAASC,QACvBC,SAAU7uC,EAAK2uC,SAASE,WAI1BzB,EAAezxC,GAAO4yC,EAG1B,OAAOnB,EAAezxC,GAExB,OAAO,MAGD,YAAA+xC,UAAR,SAAkBplC,EAAWuH,GAC3B,IAAMi/B,EAAUxmC,EAAU0iB,MAAM,KACb,WAAf8jB,EAAQ,GACV90C,OAAO4O,iBAAiBkmC,EAAQ,GAAIj/B,GACZ,aAAfi/B,EAAQ,GACjB9qC,SAAS4E,iBAAiBkmC,EAAQ,GAAIj/B,GAEtC9R,KAAKiJ,KAAKwB,GAAGF,EAAWuH,IAIpB,YAAA+9B,SAAR,SAAiBtlC,EAAWuH,GAC1B,IAAMi/B,EAAUxmC,EAAU0iB,MAAM,KACb,WAAf8jB,EAAQ,GACV90C,OAAO+0C,oBAAoBD,EAAQ,GAAIj/B,GACf,aAAfi/B,EAAQ,GACjB9qC,SAAS+qC,oBAAoBD,EAAQ,GAAIj/B,GAEzC9R,KAAKiJ,KAAK4oB,IAAItnB,EAAWuH,IAG/B,EA3PA,CAAgD,W,iMTxJhD,E,KAAA,wBACA,OAYMoyB,EAA4C,GAQlD,wBAA6BE,EAAoBP,GAC/C,IAAMQ,EAAeH,EAAYE,GAC7BI,EAAS,KAOb,OANIH,KAEFG,EAAS,IAAIF,EADgBD,EAAV,aACMR,EADIQ,EAAL,MAEjBznC,KAAOwnC,EACdI,EAAOvc,QAEFuc,GAOT,0BAA+BJ,GAC7B,IAAMC,EAAeH,EAAYE,GACjC,OAAO,EAAAlnC,IAAImnC,EAAc,gBAQ3B,0BAA+BD,EAAoBE,EAAgC77B,GACjFy7B,EAAYE,GAAc,CACxBE,YAAW,EACX77B,IAAG,IAQP,4BAAiC27B,UACxBF,EAAYE,IASrB,gCAAqCtyB,EAA0B+xB,GAC7D,IAAMW,EAAS,IAAI,UAAeX,GAGlC,OAFAW,EAAO1yB,SAAWA,EAClB0yB,EAAO5nC,KAAO,WACP4nC,I,yFDtET,2B,+CAoBA,OApB4C,iBAQnC,YAAAP,QAAP,WACMjkC,KAAK8R,UACP9R,KAAK8R,SAAS9R,KAAK6jC,UAMhB,YAAAz8B,QAAP,WACE,YAAMA,QAAO,WACbpH,KAAK8R,SAAW,MAEpB,EApBA,CAHA,0BAG4C,S,2FDJ5C,WAMA,aAUE,WAAY+xB,EAA8Bp7B,GACxCzI,KAAK6jC,QAAUA,EACf7jC,KAAKyI,IAAMA,EACXo7B,EAAQC,UAAU9jC,MA2BtB,OApBY,YAAA+jC,SAAV,SAAmBt7B,GACjB,EAAAtI,OAAOH,KAAMyI,IAMR,YAAAwf,KAAP,WACEjoB,KAAK+jC,SAAS/jC,KAAKyI,MAMd,YAAArB,QAAP,WAEEpH,KAAK6jC,QAAQG,aAAahkC,MAE1BA,KAAK6jC,QAAU,MAEnB,EAxCA,GA0CA,UAAesuF,G,8EShDf,WAIA,SAKA,aAUE,WAAYlpH,GARL,KAAA6kC,QAAqB,GAIrB,KAAA5qB,MAAqB,KAEpB,KAAA6qB,SAAwB,GAG9B/tC,KAAKiJ,KAAOA,EAiIhB,OAxHS,YAAAq5B,MAAP,W,IAAa,sDACX,GAAsB,IAAlB0L,EAAOpvC,OACT,OAAOoB,KAAK+tC,SAASC,EAAO,IACD,IAAlBA,EAAOpvC,SAChBoB,KAAK+tC,SAASC,EAAO,IAAMA,EAAO,KAQ/B,YAAAC,UAAP,SAAiBrxC,GACf,OAAOoD,KAAK8tC,QAAQI,MAAK,SAAC1J,GAAW,OAAAA,EAAO5nC,OAAP,MAOhC,YAAAknC,UAAP,SAAiBU,GACfxkC,KAAK8tC,QAAQxqC,KAAKkhC,IAOb,YAAAR,aAAP,SAAoBQ,GAClB,IAAMsJ,EAAU9tC,KAAK8tC,QACfpvC,EAAQsB,KAAK8tC,QAAQnvC,QAAQ6lC,GAC/B9lC,GAAS,GACXovC,EAAQlmB,OAAOlpB,EAAO,IAOnB,YAAAyvC,gBAAP,WACE,IAAMjrB,EAAQljB,KAAKkjB,MACnB,OAAIA,EACEA,EAAMtiB,kBAAkBwtC,YACXpuC,KAAKiJ,KAAKG,YACJilC,iBAAiBnrB,EAAM8B,QAAS9B,EAAM+B,SAGpD,CACLjb,EAAGkZ,EAAMlZ,EACTvH,EAAGygB,EAAMzgB,GAIR,MAOF,YAAA6rC,gBAAP,WACE,OAAO,EAAApxC,IAAI8C,KAAKkjB,MAAO,CAAC,SAAU,WAM7B,YAAAqrB,SAAP,WACE,IAAM5d,EAAQ3wB,KAAKmuC,kBACnB,QAAIxd,GACK3wB,KAAKiJ,KAAKulC,cAAc7d,IAS5B,YAAA8d,UAAP,SAAiB7xC,GACf,IAAM2T,EAAQvQ,KAAKsuC,kBACnB,QAAI/9B,GACKA,EAAMrT,IAAI,UAAYN,GAS1B,YAAA8xC,cAAP,SAAqB9xC,GACnB,IAAM+xC,EAAa,EAAA1B,cAAcjtC,KAAKiJ,MAChC0nB,EAAQ3wB,KAAKmuC,kBACnB,QAAIxd,KACOge,EAAWT,MAAK,SAACpZ,GACxB,IAAMvP,EAAOuP,EAAUjH,UACvB,OAAIjxB,EACKk4B,EAAU53B,IAAI,UAAYN,GAAQ,EAAAywC,QAAQ9nB,EAAMoL,GAEhD,EAAA0c,QAAQ9nB,EAAMoL,OAUtB,YAAAvpB,QAAP,WACEpH,KAAKiJ,KAAO,KACZjJ,KAAKkjB,MAAQ,KAEb,EAAA1Z,KAAKxJ,KAAK8tC,QAAQltB,SAAS,SAAC4jB,GAC1BA,EAAOp9B,aAETpH,KAAK8tC,QAAU,KACf9tC,KAAK+tC,SAAW,MAEpB,EA5IA,G,0MHTA,WACA,OAGA,SAmBA,SAAS5G,EAAY7oC,EAAe2qB,GAElC,IADA,IAAMme,EAAM,CAAC9oC,EAAI,IACRjC,EAAI,EAAGgrC,EAAM/oC,EAAIM,OAAQvC,EAAIgrC,EAAKhrC,GAAQ,EAAG,CACpD,IAAMs0B,EAAQ1H,EAAMsX,QAAQ,CAC1Bv2B,EAAG1L,EAAIjC,GACPoG,EAAGnE,EAAIjC,EAAI,KAEb+qC,EAAI9jC,KAAKqtB,EAAM3mB,EAAG2mB,EAAMluB,GAE1B,OAAO2kC,EA8IT,SAAgBE,EAAkBC,EAAe9P,EAAY+P,GAG3D,IAFA,IAAMC,IAAWhQ,EACXiQ,EAAY,GACTrrC,EAAI,EAAGC,EAAIirC,EAAI3oC,OAAQvC,EAAIC,EAAGD,GAAK,EAC1CqrC,EAAUpkC,KAAK,CAACikC,EAAIlrC,GAAIkrC,EAAIlrC,EAAI,KAGlC,IAIIsrC,EACAC,EACAzpC,EANE0pC,EAAmB,EAAAq+D,aAAax+D,EAAW,GAAKD,EAAQD,GACxDH,EAAMK,EAAU9oC,OAChB0pC,EAAK,GAMX,IAASjsC,EAAI,EAAGA,EAAIgrC,EAAM,EAAGhrC,IAC3BsrC,EAAME,EAAqB,EAAJxrC,GACvBurC,EAAMC,EAAqB,EAAJxrC,EAAQ,GAC/B8B,EAAIupC,EAAUrrC,EAAI,GAElBisC,EAAGhlC,KAAK,CAAC,IAAKqkC,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIzpC,EAAE,GAAIA,EAAE,KAUxD,OAPIspC,IACFE,EAAME,EAAiBR,GACvBO,EAAMC,EAAiBR,EAAM,GAC7BlpC,EAAIupC,EAAU,GAEdY,EAAGhlC,KAAK,CAAC,IAAKqkC,EAAI,GAAIA,EAAI,GAAIC,EAAI,GAAIA,EAAI,GAAIzpC,EAAE,GAAIA,EAAE,MAEjDmqC,EAOT,SAAgBG,EAAYtO,EAAiBuO,GAC3C,OA9MF,SAAsBvO,EAAiBuO,GACrC,IAAMlZ,EAAO,GACb,GAAI2K,EAAOv7B,OAAQ,CACjB4wB,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IACvC,IAAK,IAAIpG,EAAI,EAAG,EAAS89B,EAAOv7B,OAAQvC,EAAI,EAAQA,GAAK,EAAG,CAC1D,IAAMsN,EAAOwwB,EAAO99B,GACpBmzB,EAAKlsB,KAAK,CAAC,IAAKqG,EAAKK,EAAGL,EAAKlH,IAG3BimC,GACFlZ,EAAKlsB,KAAK,CAAC,MAIf,OAAOksB,EAgMAmZ,CAAaxO,EAAQuO,GAtHjB,EAAAw9D,aAAe,SAC1B/rE,EACA2N,EACAL,EACAD,GAEA,IAEIO,EACAC,EAEAvpB,EACAD,EANEypB,EAAM,GAINC,IAAkBV,EAGxB,GAAIU,EAAe,CACjBzpB,EAAM,CAAClM,IAAUA,KACjBiM,EAAM,EAAEjM,KAAWA,KAEnB,IAAK,IAAIlW,EAAI,EAAGC,EAAI69B,EAAOv7B,OAAQvC,EAAIC,EAAGD,IAAK,CAC7C,IAAMs0B,EAAQwJ,EAAO99B,GACrBoiB,EAAM,EAAAwS,KAAKxS,IAAI,CAAC,EAAG,GAAIA,EAAKkS,GAC5BnS,EAAM,EAAAyS,KAAKzS,IAAI,CAAC,EAAG,GAAIA,EAAKmS,GAE9BlS,EAAM,EAAAwS,KAAKxS,IAAI,CAAC,EAAG,GAAIA,EAAK+oB,EAAW,IACvChpB,EAAM,EAAAyS,KAAKzS,IAAI,CAAC,EAAG,GAAIA,EAAKgpB,EAAW,IAGhCnrC,EAAI,EAAb,IAAK,IAAWgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CAC3Cs0B,EAAQwJ,EAAO99B,GACrB,GAAIorC,EACFM,EAAY5N,EAAO99B,EAAIA,EAAI,EAAIgrC,EAAM,GACrCW,EAAY7N,GAAQ99B,EAAI,GAAKgrC,OACxB,CACL,GAAU,IAANhrC,GAAWA,IAAMgrC,EAAM,EAAG,CAC5BY,EAAI3kC,KAAKqtB,GACT,SAEAoX,EAAY5N,EAAO99B,EAAI,GACvB2rC,EAAY7N,EAAO99B,EAAI,GAG3B,IAAI6G,EAAsB,CAAC,EAAG,GAC9BA,EAAI,EAAA+tB,KAAKkX,IAAIjlC,EAAG8kC,EAAWD,GAC3B7kC,EAAI,EAAA+tB,KAAK/H,MAAMhmB,EAAGA,EAAG4kC,GAErB,IAAIM,EAAK,EAAAnX,KAAKoX,SAAS1X,EAAOoX,GAC1BO,EAAK,EAAArX,KAAKoX,SAAS1X,EAAOqX,GAExB9R,EAAMkS,EAAKE,EACL,IAARpS,IACFkS,GAAMlS,EACNoS,GAAMpS,GAGR,IAAM/W,EAAK,EAAA8R,KAAK/H,MAAM,CAAC,EAAG,GAAIhmB,GAAIklC,GAC5BhpB,EAAK,EAAA6R,KAAK/H,MAAM,CAAC,EAAG,GAAIhmB,EAAGolC,GAE7BC,EAAM,EAAAtX,KAAKuX,IAAI,CAAC,EAAG,GAAI7X,EAAOxR,GAC9BwoB,EAAM,EAAA1W,KAAKuX,IAAI,CAAC,EAAG,GAAI7X,EAAOvR,GAE9B8oB,IACFK,EAAM,EAAAtX,KAAKzS,IAAI,CAAC,EAAG,GAAI+pB,EAAK9pB,GAC5B8pB,EAAM,EAAAtX,KAAKxS,IAAI,CAAC,EAAG,GAAI8pB,EAAK/pB,GAC5BmpB,EAAM,EAAA1W,KAAKzS,IAAI,CAAC,EAAG,GAAImpB,EAAKlpB,GAC5BkpB,EAAM,EAAA1W,KAAKxS,IAAI,CAAC,EAAG,GAAIkpB,EAAKnpB,IAG9BypB,EAAI3kC,KAAKilC,GACTN,EAAI3kC,KAAKqkC,GAMX,OAHIF,GACFQ,EAAI3kC,KAAK2kC,EAAIpjC,SAERojC,GAOT,sBAqCA,gBAQA,yBAA8B9N,EAAiBuO,EAAsBG,GACnE,IAAM7pC,EAAO,GACP8pC,EAAQ3O,EAAO,GACjB4O,EAAW,KACf,GAAI5O,EAAOv7B,QAAU,EAEnB,OAAO6pC,EAAYtO,EAAQuO,GAE7B,IAAK,IAAIrsC,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACjD,IAAMs0B,EAAQwJ,EAAO99B,GAChB0sC,GAAcA,EAAS/+B,IAAM2mB,EAAM3mB,GAAK++B,EAAStmC,IAAMkuB,EAAMluB,IAChEzD,EAAKsE,KAAKqtB,EAAM3mB,GAChBhL,EAAKsE,KAAKqtB,EAAMluB,GAChBsmC,EAAWpY,GAGf,IAKMqY,EAAa1B,EAAkBtoC,EAAM0pC,EALxBG,GAAa,CAE9B,CAAC,EAAG,GACJ,CAAC,EAAG,KAIN,OADAG,EAAWC,QAAQ,CAAC,IAAKH,EAAM9+B,EAAG8+B,EAAMrmC,IACjCumC,GAOT,6BAAkC/f,EAAOuG,GACvC,IAAM4X,EAAM,GAeZ,OAdA,EAAA59B,KAAKgmB,GAAM,SAAC6Z,GAEV,OADeA,EAAQ,GACRz+B,eACb,IAAK,IACL,IAAK,IACL,IAAK,IACHw8B,EAAI9jC,KAAK6jC,EAAYkC,EAASpgB,IAC9B,MACF,IAAK,IACL,QACEme,EAAI9jC,KAAK+lC,OAIRjC,GAOT,4BAAiCne,EAAOuG,GACtC,IACI2Z,EACAxhB,EACAyhB,EAHAhC,EAAM,GAkCV,OA7BA,EAAA59B,KAAKgmB,GAAM,SAAC6Z,EAAS3qC,GAGnB,OAFe2qC,EAAQ,GAERz+B,eACb,IAAK,IACL,IAAK,IACL,IAAK,IACHw8B,EAAI9jC,KAAK6jC,EAAYkC,EAASpgB,IAC9B,MACF,IAAK,IACHkgB,EAAM3Z,EAAK9wB,EAAQ,GACnBipB,EAAM0hB,EACND,EAAangB,EAAMoX,cAEV+I,EAAaD,EAAIA,EAAIvqC,OAAS,KAAO+oB,EAAI,GAAKwhB,EAAIA,EAAIvqC,OAAS,KAAO+oB,EAAI,IAEjFyf,EAAMA,EAAIpjC,OAnQpB,SAA2BmlC,EAAkBxhB,EAAkBsB,GACrD,IAAAoX,EAAuCpX,EAA3B,aAAE6X,EAAyB7X,EAAf,WAAE8X,EAAa9X,EAAL,SAEpC8f,EAAW,CACf/+B,EAAGm/B,EAAI,GACP1mC,EAAG0mC,EAAI,IAEHG,EAAW,CACft/B,EAAG2d,EAAI,GACPllB,EAAGklB,EAAI,IAEHzoB,EAAM,GACNqqC,EAAOlJ,EAAe,IAAM,IAC5BmJ,EAAar6B,KAAKsmB,IAAI6T,EAASC,GAAQR,EAASQ,KAAUxI,EAAWD,GACrEhB,EAAYwJ,EAASC,IAASR,EAASQ,GAAQ,EAAI,EACnDE,EAAOD,EAAar6B,KAAKE,GAAK,EAAI,EAClCq6B,EAAezgB,EAAMsX,QAAQ+I,GAC7BnsC,EAAI,EAAAqpC,oBAAoBvd,EAAOygB,GACrC,GAAIvsC,GAAK,GAEP,GAAIqsC,IAAyB,EAAVr6B,KAAKE,GAAQ,CAC9B,IAAM61B,EAAc,CAClBl7B,GAAIs/B,EAASt/B,EAAI++B,EAAS/+B,GAAK,EAC/BvH,GAAI6mC,EAAS7mC,EAAIsmC,EAAStmC,GAAK,GAE3BknC,EAAqB1gB,EAAMsX,QAAQ2E,GACzChmC,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW6J,EAAmB3/B,EAAG2/B,EAAmBlnC,IAClFvD,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW4J,EAAa1/B,EAAG0/B,EAAajnC,SAEtEvD,EAAIoE,KAAK,CAAC,IAAKnG,EAAGA,EAAG,EAAGssC,EAAM3J,EAAW4J,EAAa1/B,EAAG0/B,EAAajnC,IAG1E,OAAOvD,EAmOkB0qC,CAAkBT,EAAKxhB,EAAKsB,IAG7Cme,EAAI9jC,KAAK6jC,EAAYkC,EAASpgB,IAEhC,MACF,IAAK,IACL,QACEme,EAAI9jC,KAAK+lC,OAvOjB,SAA8B7Z,GAC5B,EAAAhmB,KAAKgmB,GAAM,SAAC6Z,EAAS3qC,GAEnB,GAA6B,MADjB2qC,EACJ,GAAGz+B,cAAuB,CAChC,IAAMu+B,EAAM3Z,EAAK9wB,EAAQ,GACnBwD,EAAOstB,EAAK9wB,EAAQ,GACtBwD,GAAkC,MAA1BA,EAAK,GAAG0I,cACdu+B,GAAgC,MAAzBA,EAAI,GAAGv+B,gBAChBu+B,EAAI,GAAK,KAEFA,GAAgC,MAAzBA,EAAI,GAAGv+B,eACnB1I,GAAkC,MAA1BA,EAAK,GAAG0I,gBAClB1I,EAAK,GAAK,SA+NlB2nC,CAAqBzC,GACdA,I,8EI3ST,iBAME,WAAYn+B,EAAYR,GACtBzI,KAAKiJ,KAAOA,EACZjJ,KAAKyI,IAAMA,EA0Bf,OApBS,YAAAwf,KAAP,WACEjoB,KAAK4uC,cAMG,YAAAA,WAAV,aAKU,YAAArnC,YAAV,aAKO,YAAAH,QAAP,WACEpH,KAAKuH,eAET,EAlCA,G,qIsBGA,IAAM4jD,EAA+B,GAMrC,wBAA6BvhD,GAC3B,OAAOuhD,EAAevhD,EAAKgB,gBAQ7B,6BAAkChB,EAAc4Y,GAC9C2oC,EAAevhD,EAAKgB,eAAiB4X,I,yFE3BvC,OACA,QACA,4BAGA,QAGA,SAkBA,cA6BE,WAAY/Z,GAAZ,MACE,YAAMA,IAAI,KANJ,EAAAwjD,OAAmB,GAQjB,IAAAC,EAA4DzjD,EAAhD,aAAE3C,EAA8C2C,EAArC,UAAE0jD,EAAmC1jD,EAArB,eAAE,EAAmBA,EAAL,QAAd0d,OAAO,IAAG,GAAI,E,OAC/D,EAAK+lC,aAAeA,EACpB,EAAKpmD,UAAYA,EACjB,EAAKqmD,eAAiBA,EACtB,EAAKhmC,QAAUA,E,EA+ZnB,OAncqC,iBA4C5B,YAAA1e,KAAP,SAAY6rB,EAAkBwwB,QAAA,IAAAA,OAAA,GAC5B9jD,KAAKszB,MAAQA,EACbtzB,KAAKhB,KAAOs0B,EAAMt0B,KAClBgB,KAAKosD,UAAYpsD,KAAKqsD,aAAa/4B,GAGnCtzB,KAAKssD,UAAUh5B,EAAOwwB,IAED,IAAjB9jD,KAAKmmB,SAEPnmB,KAAK++B,eAAc,IAQhB,YAAAzc,OAAP,SAAcgR,GACN,IAAE44B,EAAwBlsD,KAAZ,aAAEuQ,EAAUvQ,KAAL,MAC3B,GAAKuQ,EAAL,CAKAvQ,KAAKszB,MAAQA,EACbtzB,KAAKhB,KAAOs0B,EAAMt0B,KAClBgB,KAAKosD,UAAYpsD,KAAKqsD,aAAa/4B,GAGnCtzB,KAAKusD,aAAah8C,EAAO+iB,GAGzB,IAAM64B,EAAiBnsD,KAAKwsD,oBACtBC,EAAWP,EAAaI,UAAUtsD,KAAKosD,UAAW94B,EAAO64B,GAE/DM,EAAShkD,IAAIzJ,KAAOgB,KAAKhB,KAEzBytD,EAAShkD,IAAI2rB,OAASd,EAGtBtzB,KAAK0sD,eAAen8C,EAAOk8C,EAAU,GAAIzsD,KAAK2sD,cAAc,aAMvD,YAAAvlD,QAAP,WACQ,IAAE8kD,EAAwBlsD,KAAZ,aAAEuQ,EAAUvQ,KAAL,MAE3B,GAAIuQ,EAAO,CACT,IAAMgiB,EAAavyB,KAAK2sD,cAAc,SAClCp6B,EAEF,EAAAvkB,UAAUuC,EAAOgiB,EAAY,CAC3BhK,WAAY2jC,EAAa3jC,WACzBuK,QAAS,EAAF,YACFviB,EAAMsiB,UAKbtiB,EAAMzF,QAAO,GAKjB9K,KAAKisD,OAAS,GACdjsD,KAAKksD,kBAAezoD,EACpBzD,KAAK8F,eAAYrC,EACjBzD,KAAKuQ,WAAQ9M,EACbzD,KAAK2oB,aAAUllB,EACfzD,KAAK+uB,cAAWtrB,EAChBzD,KAAK4sD,gBAAanpD,EAClBzD,KAAKszB,WAAQ7vB,EACbzD,KAAKhB,UAAOyE,EACZzD,KAAKmsD,oBAAiB1oD,EACtBzD,KAAK6sD,iBAAcppD,EAEnB,YAAM2D,QAAO,YAOR,YAAA23B,cAAP,SAAqB5Y,GACnB,YAAM4Y,cAAa,UAAC5Y,GAEhBA,GACEnmB,KAAKuQ,OACPvQ,KAAKuQ,MAAMghB,OAETvxB,KAAK4sD,YACP5sD,KAAK4sD,WAAW5+B,SAAQ,SAACprB,GACvBA,EAAM2uB,YAINvxB,KAAKuQ,OACPvQ,KAAKuQ,MAAMihB,OAETxxB,KAAK4sD,YACP5sD,KAAK4sD,WAAW5+B,SAAQ,SAACprB,GACvBA,EAAM4uB,YA0BP,YAAA7F,SAAP,SAAgB8gB,EAAmBqgB,GAAnC,WACQ,EAAoD9sD,KAAlDisD,EAAM,SAAEC,EAAY,eAAE54B,EAAK,QAAE/iB,EAAK,QAAE67C,EAAS,YAE/C1tD,EAAQutD,EAAOttD,QAAQ8tC,GAC7B,GAAIqgB,EAAa,CAEf,GAAIpuD,GAAS,EAEX,OAEFutD,EAAO3oD,KAAKmpC,GACM,WAAdA,GAAwC,aAAdA,GAC5Bl8B,EAAMw8C,cAEH,CACL,IAAe,IAAXruD,EAEF,OAEFutD,EAAOrkC,OAAOlpB,EAAO,GACH,WAAd+tC,GAAwC,aAAdA,GAC5Bl8B,EAAMy8C,SAKV,IAAMC,EAAiBf,EAAaI,UAAUF,EAAW94B,EAAOtzB,KAAKwsD,qBACjEP,EAAOrtD,OAETqtD,EAAOj+B,SAAQ,SAACk/B,GACd,EAAKR,eAAen8C,EAAO08C,EAAgBC,EAAO,SAIpDltD,KAAK0sD,eAAen8C,EAAO08C,EAAgB,QAAS,MAGtDA,EAAeniD,QAAO,GAEtB,IAAMqiD,EAAc,CAClBD,MAAOzgB,EACPqgB,YAAW,EACX96B,QAAShyB,KACTY,OAAQZ,KAAK8F,WAEf9F,KAAK8F,UAAUgiB,KAAK,cAAeqlC,GAEnC,EAAAilE,oBAAoBpyH,KAAKuQ,MAAO,cAAe48C,IAM1C,YAAAC,YAAP,sBACQnB,EAASjsD,KAAKisD,OAEpB,EAAAziD,KAAKyiD,GAAQ,SAACiB,GACZ,EAAKvhC,SAASuhC,GAAO,MAGvBltD,KAAKisD,OAAS,IAQT,YAAAtf,SAAP,SAAgBF,GACd,OAAOzsC,KAAKisD,OAAOrM,SAASnT,IAOvB,YAAA4gB,UAAP,WACE,OAAOrtD,KAAKisD,QAOP,YAAA3jD,QAAP,WACE,OAAOtI,KAAKhB,MAOP,YAAAu0B,SAAP,WACE,OAAOvzB,KAAKszB,OAOP,YAAAzF,QAAP,WACQ,IAAEtd,EAAsBvQ,KAAjB,MAAE4sD,EAAe5sD,KAAL,WACrBulB,EAAO,CACTvb,EAAG,EACHvH,EAAG,EACHyN,KAAM,EACNE,KAAM,EACND,KAAM,EACNE,KAAM,EACNhK,MAAO,EACPC,OAAQ,GAoBV,OAlBIiK,IACFgV,EAAOhV,EAAM06B,iBAEX2hB,GACFA,EAAW5+B,SAAQ,SAACprB,GAClB,IAAM0qD,EAAY1qD,EAAMqoC,gBACxB1lB,EAAKvb,EAAImF,KAAKsP,IAAI6uC,EAAUtjD,EAAGub,EAAKvb,GACpCub,EAAK9iB,EAAI0M,KAAKsP,IAAI6uC,EAAU7qD,EAAG8iB,EAAK9iB,GACpC8iB,EAAKrV,KAAOf,KAAKsP,IAAI6uC,EAAUp9C,KAAMqV,EAAKrV,MAC1CqV,EAAKnV,KAAOjB,KAAKsP,IAAI6uC,EAAUl9C,KAAMmV,EAAKnV,MAC1CmV,EAAKpV,KAAOhB,KAAKqP,IAAI8uC,EAAUn9C,KAAMoV,EAAKpV,MAC1CoV,EAAKlV,KAAOlB,KAAKqP,IAAI8uC,EAAUj9C,KAAMkV,EAAKlV,SAI9CkV,EAAKlf,MAAQkf,EAAKpV,KAAOoV,EAAKrV,KAC9BqV,EAAKjf,OAASif,EAAKlV,KAAOkV,EAAKnV,KAExBmV,GAGD,YAAAgoC,eAAR,WACE,IAAKvtD,KAAK6sD,YAAa,CACf,IAAET,EAAsCpsD,KAA7B,UAAE+uB,EAA2B/uB,KAAnB,SAAEksD,EAAiBlsD,KAAL,aACnCwtD,EAAcz+B,EAASy+B,YACvBC,EAAmBvB,EAAauB,iBAChCC,EAAaxB,EAAazlD,MAAM2lD,IAAcF,EAAazlD,MAAMgnD,GACvEztD,KAAK6sD,YAAc,EAAA9iD,QAAQ,GAAI2jD,EAAYF,GAG7C,OAAOxtD,KAAK6sD,aAIN,YAAAc,cAAR,SAAsBlhB,EAAmBmhB,GACvC,IAAMf,EAAc7sD,KAAKutD,iBACnBM,EAAW,EAAA3wD,IAAI2vD,EAAa,CAACpgB,EAAW,SAAU,IAClDqhB,EAAaD,EAASD,IAAaC,EACzC,OAAI,EAAAvjD,WAAWwjD,GACNA,EAAW9tD,MAGb8tD,GAID,YAAAnB,cAAR,SAAsBd,GACpB,IAAMljC,EAAU3oB,KAAK2oB,QACrB,OAAIA,EACKA,EAAQkjC,GAGV,MAID,YAAAS,UAAR,SAAkBh5B,EAAkBwwB,QAAA,IAAAA,OAAA,GAC5B,IAAEoI,EAAuClsD,KAA3B,aAAE8F,EAAyB9F,KAAhB,UAAEosD,EAAcpsD,KAAL,UAK1C,GAFAA,KAAKuQ,MAAQ27C,EAAaI,UAAUF,EAAW94B,EAAOxtB,GAElD9F,KAAKuQ,MAAO,CACdvQ,KAAKusD,aAAavsD,KAAKuQ,MAAO+iB,GAE9B,IAAM,EAAOtzB,KAAKuQ,MAAM9H,IAAI7L,KAEvB,EAIM,EAAAiwB,SAAS,KAElB7sB,KAAKuQ,MAAM9H,IAAI7L,KAAO,CAAC,UAAW,IAHlCoD,KAAKuQ,MAAM9H,IAAI7L,KAAO,CAAC,UAAWoD,KAAKksD,aAAaxP,cAMtD,IAAMmP,EAAc/H,EAAW,QAAU,SACnCvxB,EAAavyB,KAAK2sD,cAAcd,GAClCt5B,GACF,EAAAvkB,UAAUhO,KAAKuQ,MAAOgiB,EAAY,CAChChK,WAAY2jC,EAAa3jC,WACzBuK,QAAS,EAAF,YACF9yB,KAAKuQ,MAAMsiB,YAQhB,YAAA25B,kBAAR,WACE,IAAKxsD,KAAKmsD,eAAgB,CACxB,IAAM4B,EAAY/tD,KAAK8F,UAAUkoD,eACjChuD,KAAKmsD,eAAiB,IAAI4B,EAAU,IAGtC,OAAO/tD,KAAKmsD,gBAIN,YAAAI,aAAR,SAAqBh8C,EAAwBvR,GAA7C,YAEEuR,EAAM9H,IAAI2rB,OAASp1B,EAEnBuR,EAAM9H,IAAIupB,QAAUhyB,KAChBuQ,EAAM09C,YACS19C,EAAMrT,IAAI,YAClB8wB,SAAQ,SAAC5K,GAChB,EAAKmpC,aAAanpC,EAAOpkB,OAMvB,YAAA0tD,eAAR,SACE5mB,EACAC,EACAmnB,EACA36B,EACA7zB,GAEA,QAJA,IAAAwuD,MAAA,SAEA,IAAAxuD,MAAA,GAEIonC,EAAYmoB,UAGd,IAFA,IAAMC,EAAWpoB,EAAY5oC,IAAI,YAC3BixD,EAAcpoB,EAAY7oC,IAAI,YAC3Bb,EAAI,EAAGA,EAAI6xD,EAAStvD,OAAQvC,IACnC2D,KAAK0sD,eAAewB,EAAS7xD,GAAI8xD,EAAY9xD,GAAI6wD,EAAO36B,EAAY7zB,EAAQrC,OAEzE,CACL,GAAI6wD,GAAmB,UAAVA,EAAmB,CAC9B,IAAI,EAAOpnB,EAAY5oC,IAAI,QACvB,EAAAklB,QAAQ,KAEV,EAAO,EAAK,IAEd,IAAMxZ,EAAQ5I,KAAK2tD,cAAcT,EAAO,GAAQxuD,GAChDqnC,EAAYlT,KAAKjqB,GAEnB,IAAMq9B,EAAW,EAAAJ,gBAAgBC,EAAuBC,GAEpD/lC,KAAK2oB,QACH4J,EAEF,EAAAvkB,UAAU83B,EAAavT,EAAY,CACjChK,WAAYvoB,KAAKksD,aAAa3jC,WAC9BuK,QAASmT,EACTR,WAAYzlC,KAAKszB,QAEV45B,GACTpnB,EAAYlT,cACZkT,EAAYnd,QAAQsd,EAAU,CAC5B1jB,SAAU,OAGZujB,EAAYjT,KAAKoT,GAGnBH,EAAYjT,KAAKoT,KAKf,YAAAomB,aAAR,SAAqB/4B,GACnB,IAAM/iB,EAAQ,EAAArT,IAAIo2B,EAAO,SACzB,OAAO,EAAAlR,QAAQ7R,GAASA,EAAM,GAAKA,GAEvC,EAncA,CAAqC,W,sG/EjBrC,cAME,WAAY9H,GAAZ,MACE,cAAO,KAHF,EAAA1B,WAAqB,EAIlB,MAAmB0B,EAAL,QAAd0d,OAAO,IAAG,GAAI,E,OACtB,EAAKA,QAAUA,E,EA0CnB,OAnDkC,iBAezB,YAAAoL,KAAP,WACkBvxB,KAAKmmB,SAEnBnmB,KAAK++B,eAAc,IAOhB,YAAAvN,KAAP,WACkBxxB,KAAKmmB,SAEnBnmB,KAAK++B,eAAc,IAOhB,YAAA33B,QAAP,WACEpH,KAAK6xB,MACL7xB,KAAK+G,WAAY,GAQZ,YAAAg4B,cAAP,SAAqB5Y,GACfnmB,KAAKmmB,UAAYA,IAGrBnmB,KAAKmmB,QAAUA,IAEnB,EAnDA,CATA,yBASkC,S,sGdTlC,QACA,OACI,EAAJ,KACI,EAAJ,OAGI,EAAJ,OACI,EAAJ,MACI,EAAJ,OAGA,SAaA,kBAAE,SAAF,I,+CA2UA,OA3UyD,iBAChD,0BAAP,WACE,IAAM,EAAM,YAAMgK,cAAa,WAC3B,OAAJ,yBACK,GAAG,CACA,eACA,YACA,EAAH,EACG,EAAH,EACG,MAAC,GACD,cAAS,KACT,aAAQ,eAAe,EAAS,gBAAe,iBAAiB,EAAS,YAAW,sBAAsB,EAAS,WAAU,gBAC7H,QAAG,cAAc,EAAS,gBAAe,iDAC5B,EAAS,aAAY,gEACrB,EAAS,WAAU,4CACnB,EAAS,YAAW,kCAEvC,cAAe,eAAe,EAAS,YAAW,WAC5C,cAAS,eAAe,EAAS,YAAW,WAClD,MAAO,KACP,WAAW,EAKX,OAAQ,KAER,iBAAkB,KAClB,mBAAoB,EAAS,gBAE7B,WAAY,KACZ,OAAQ,GACR,SAAU,QACV,UAAW,KACX,cAAe,aAKZ,mBAAP,WACMnwB,KAAK,IAAI,iBACX,KAAK,uBAEL,KAAK,aACL,KAAK,eAGH,KAAC,iBAIA,kBAAP,WAEM,KAAC,kBACD,KAAC,SAAS,IACV,KAAC,iBAGA,iBAAP,WACE,IAAM,EAAY,KAAK,eAClB,IAAa,KAAK,YAInBA,KAAC,IAAI,WAAW,GAChB,EAAJ,UAAU,EAAW,CACnB,WAAY,YAEd,KAAK,sBAAqB,KAGrB,iBAAP,WACM,IAAE,EAAY,KAAK,eAElB,IAAa,KAAK,YAGnB,KAAC,IAAI,WAAW,GAChB,EAAJ,UAAU,EAAW,CACb,WAAM,WAEd,KAAK,sBAAqB,KAInB,EAAF,sBAAP,WACM,MAAG,CAAE,EAAGA,KAAK9C,IAAI,KAAM,EAAG,KAAK,IAAI,OAGhC,EAAF,sBAAP,SAAmB,GACb,KAAC,IAAI,IAAK,EAAM,GAChB,KAAC,IAAI,IAAK,EAAMuF,GAChB,KAAC,iBAGA,iCAAP,SAA4B,GAC1B,IAAM,EAAU,EAAU,GAAK,OACzB,EAAgB,KAAK,IAAI,iBACzB,EAAgB,KAAK,IAAI,iBAC3B,GACF,YAAU,EAAe,CACvB,QAAO,IAEP,GACF,YAAU,EAAe,CACvB,QAAO,KAKH,0BAAV,WAEE,GADA,YAAM,cAAa,WACf,KAAK,IAAI,iBAAkB,CACzB,KAAK,IAAI,cACX,KAAK,IAAI,aAAa,SAExB,IAAM,EAAY,KAAK,qBACvB,KAAK,IAAI,UAAU,YAAY,GAC/B,KAAK,IAAI,YAAa,GACtB,KAAK,cACL,KAAK,gBAKC,wBAAV,SAAsB,GAxIxB,IAAmB,EAAK,EAClB,EAwIE,KAAK,IAAI,iBACX,KAAK,uBA1IQ,EA6IC,EA7II,EA6IC,CAAC,QAAS,aA5I7B,GAAS,EACX,EAAF,KAAK,GAAM,SAAC,GACN,YAAO,EAAK,GAEd,OADA,GAAS,GACF,KAGJ,GAsID,KAAK,aAGH,SAAO,EAAK,UACd,KAAK,eAGL,EAAJ,UAAM,YAAW,UAAC,IAGV,oBAAV,WACE,KAAK,aAGG,sBAAV,WACM,EAAJ,UAAM,UAAS,WACX,KAAC,mBAGG,0BAAV,WACM,IASA,EATE,EAAI,KAAK,IAAI,KACb,EAAI,KAAK,IAAI,KACb,EAAS,KAAK,IAAI,UAClB,EAAuB,KAAK,YAA1B,EAAO,UAAE,EAAO,UAClB,EAAW,KAAK,IAAI,YACpB,EAAS,KAAK,IAAI,UAClB,EAAY,KAAK,eACjB,EAAO,KAAK,UACV,EAAkB,EAAb,MAAE,EAAW,EAAL,OAEjB,IAEI,EAAK,eAAa,IAEtB,IAAE,EAAQ,gBAAc,EAAG,EAAG,EAAQ,EAAO,EAAQ,EAAU,GAC/D,EAAJ,UAAU,EAAW,CACb,YAAK,EAAM,EAAI,GACf,IAAD,OAAK,EAAM,EAAI,KAElB,KAAC,mBAIC,gCAAR,WACM,IAAE,EAAO,KAAK,qBACZ,EAAsB,KAAK,IAAI,UAC/B,EAA4B,KAAK,IAAI,aACvC,GAAgB,EAAa,aAAe,EAC9C,EAAO,aAAa,EAAM,GAE1B,EAAO,YAAY,GAEjB,KAAC,IAAI,YAAa,GAClB,KAAC,cACD,KAAC,eAGG,EAAF,6BAAR,WACM,MACE,EAAgB,KAAK,IAAI,iBAC/B,GAAI,EAAe,CACjB,IAAM,EAAO,EAAc,KAAK,IAAI,SAAU,KAAK,IAAI,UAErD,EADE,YAAU,GACL,EAEA,YAAU,GAGrB,OAAO,GAIC,EAAF,oBAAR,WACM,IAAE,EAAY,KAAK,eACjB,EAAW,EAAU,uBAAuB,EAAS,aAAa,GAClE,EAAU,EAAU,uBAAuB,EAAS,YAAY,GAClE,KAAC,IAAI,WAAY,GACjB,KAAC,IAAI,UAAW,IAIZ,EAAF,qBAAR,WACM,IAAE,EAAQ,KAAK,IAAI,SACL,KAAK,IAAI,cACV,EACT,KAAD,SAAS,GAER,KAAD,SAAS,KAIR,EAAF,mBAAR,SAAiB,GACX,IAAE,EAAW,KAAK,IAAI,YACtB,IACI,EAAG,UAAY,IAIf,EAAF,0BAAR,WACM,IAAE,EAAmB,KAAK,IAAI,oBAC5B,EAAa,KAAK,IAAI,cAC5B,GAAK,GAAqB,EAGnB,CACL,IAAM,EAAe,eAAa,GAC5B,EAAgB,KAAK,IAAI,iBACzB,EAAgB,KAAK,IAAI,iBACZ,MAAf,GACM,KAAH,eAAe,IAAK,GAErB,IACF,EAAc,SACd,KAAK,IAAI,gBAAiB,QAEJ,MAAf,GACD,KAAH,eAAe,IAAK,GAErB,IACF,EAAc,SACd,KAAK,IAAI,gBAAiB,SAG5B,KAAK,eAAe,IAAK,GACzB,KAAK,eAAe,IAAK,IAE3B,KAAK,qBAAqB,KAAK,IAAI,iBAvBnC,KAAK,mBA2BC,EAAF,yBAAR,SAAuB,EAAc,GAC/B,IAAE,EAAc,KAAK,eAAe,GAClC,EAAQ,KAAK,IAAI,GACV,MAAT,EACF,YAAU,EAAa,CACrB,KAAM,OAAK,GACX,IAAK,OAAK,EAAK,GACf,OAAQ,OAAK,EAAK,UAGpB,YAAU,EAAa,CACrB,IAAK,OAAK,GACV,KAAM,OAAK,EAAK,GAChB,MAAO,OAAK,EAAK,UAMb,EAAF,yBAAR,SAAuB,GACjB,IAAE,EAAa,EAAI,eACjB,EAAa,EAAI,eACjB,EAAY,aAAa,EAAK,cAC9B,EAAY,EAAS,GACvB,EAAc,KAAK,IAAI,GACrB,EAAS,KAAK,IAAI,UAOpB,OANC,IACH,EAAc,YAAU,KAAK,IAAI,IACjC,KAAK,WAAW,EAAW,GAC3B,EAAO,YAAY,GACnB,KAAK,IAAI,EAAS,IAEb,GAGD,wBAAR,WACE,KAAK,gBACL,IAAM,EAAQ,KAAK,IAAI,SACjB,EAAU,KAAK,IAAI,WACnB,EAAU,KAAK,IAAI,WACrB,IACF,OAAK,GAAO,SAAC,GACX,IAAM,EAAQ,UAAU,cAAc,EAAK,OACrC,EAAa,yBACd,GAAI,CACP,MAAK,IAGD,EAAS,aAAW,EAAS,GAC7B,EAAU,YAAU,GAC1B,EAAQ,YAAY,MAEtB,KAAK,oBAAoB,EAAS,KAAK,IAAI,gBAIvC,0BAAR,WACM,KAAK,IAAI,YACX,WAAS,KAAK,IAAI,aAId,4BAAR,WACE,IAAM,EAAgB,KAAK,IAAI,iBACzB,EAAgB,KAAK,IAAI,iBAC/B,GAAiB,EAAc,SAC/B,GAAiB,EAAc,SAC/B,KAAK,IAAI,gBAAiB,MAC1B,KAAK,IAAI,gBAAiB,OAE9B,EA3UA,CAAyD,WA6UzD,UAAe,G,yFZrWf,OACA,OAEI,EAAJ,OAGI,EAAJ,yB,+CAiMA,OAjMgF,iBACvE,0BAAP,WACE,IAAM,EAAM,YAAM,cAAa,WAC/B,gCACK,GAAG,CACN,UAAW,KACX,aAAc,cACd,kBAAkB,EAClB,mBAAoB,GACpB,OAAQ,QAKL,yBAAP,WACE,OAAO,KAAK,IAAI,cAMX,iBAAP,WACoB,KAAK,IAAI,aACjB,MAAM,QAAU,GAC1B,KAAK,IAAI,WAAW,IAKf,iBAAP,WACoB,KAAK,IAAI,aACjB,MAAM,QAAU,OAC1B,KAAK,IAAI,WAAW,IAMf,uBAAP,SAAkB,GAChB,IACM,EAAQ,EAAU,OAAS,OADf,KAAK,eAEb,MAAM,cAAgB,EAC5B,KAAC,IAAI,UAAW,IAEf,oBAAP,WACE,IAAM,EAAY,KAAK,eACjB,EAAI,WAAW,EAAU,MAAM,OAAS,EACxC,EAAI,WAAW,EAAU,MAAM,MAAQ,EACzC,OAAG,aAAW,EAAG,EAAG,EAAU,YAAa,EAAU,eAGpD,kBAAP,WACM,IAAE,EAAY,KAAK,IAAI,aACvB,EAAJ,SAAS,IAGJ,oBAAP,WACE,KAAK,cACL,KAAK,YACDgtB,EAAOxxB,UAAL,QAAO,YAMR,iBAAP,WACM,EAAJ,UAAM,KAAI,WACV,KAAK,gBACL,KAAK,UACD+B,KAAC,cACL,KAAK,cACL,KAAK,YACD,KAAC,cACD,KAAC,eAGG,wBAAV,WACM,KAAC,WAAW,KAAK,IAAI,aAEjB,wBAAV,WACO,KAAK,IAAI,WAIZ,KAAK,OAFL,KAAK,QAMC,oBAAV,aAIU,0BAAV,WACM,MAAY,KAAK,IAAI,aACrB,WAAM,GAAY,CAEd,EAAM,KAAK,YACX,IAAF,EAAS,KAAK,IAAI,UAClB,WAAS,KACX,EAAS,SAAS,eAAe,GACjC,KAAK,IAAI,SAAU,IAErB,EAAO,YAAY,GACnB,KAAK,IAAI,YAAa,QACb,WAAS,KAElB,EAAY,SAAS,eAAe,GACpC,KAAK,IAAI,YAAa,IAEnB,KAAK,IAAI,WACZ,KAAK,IAAI,SAAU,EAAU,aAKvB,wBAAV,WACE,IAAI,EAAQ,KAAK,IAAI,aACf,EAAgB,KAAK,IAAI,iBAI7B,EAHG,EAGK,UAAQ,GAAI,EAAe,GAF3B,EAINA,KAAC,IAAI,YAAa,IAGd,wBAAV,WACM,IAAE,EAAY,KAAK,IAAI,aACvB,GAAC,EAAD,CAGA,IAAE,EAAY,KAAK,eACnB,KAAC,oBAAoB,EAAW,GAChC,IAAE,EAAqB,KAAK,IAAI,sBAChC,MAAsB,WAAS,EAAW,GAAqB,CAC3D,MAAe,EAAU,GAC/B,YAAU,EAAW,MAIf,gCAAV,SAA8B,EAAS,GACjC,EAAJ,KAAK,GAAQ,SAAC,EAAO,GACnB,IAAM,EAAW,EAAQ,uBAAuB,GAChD,OAAK,GAAU,SAAC,GACd,YAAU,EAAI,UAKV,uBAAV,SAAqB,EAAS,GAC5B,IAAM,EAAY,KAAK,IAAI,aAC3B,YAAU,EAAK,EAAU,KAMjB,sBAAV,WACE,IAAM,EAAe,KAAK,IAAI,gBAC9B,OAAO,YAAU,IAOT,sBAAV,aAMU,sBAAV,WACM,IAAE,EAAY,KAAK,IAAI,aACvB,GAAS,EAAU,WAAW,YAAY,IAOtC,wBAAV,aAEU,wBAAV,SAAsB,GAEhB,SAAO,EAAK,eACd,KAAK,cACL,KAAK,eAGP,KAAK,iBAEG,0BAAV,aACF,EAjMA,CAFA,OAEgF,SAmMhF,UAAe,G,yFzBzMf,QACA,OAGM,EAAqB,CACzB,KAAM,GACJ,MAAK,CAAC,IAAK,KACX,OAAM,CAAC,QAAS,OAChB,OAAM,CAAC,UACP,OAAM,CAAC,SAAU,SAAU,aAAc,aAGzC21G,EAAJ,YACI,SAAF,EAAY,GAAZ,MACE,YAAM,IAAI,K,OACN,EAAC,U,EA2KT,OA9KwE,iBAU/D,0BAAP,WACE,MAAO,CACL,GAAI,GACJ,KAAM,GACA,QACA,aAAQ,OACR,QAAG,EACH,QAAG,EACH,SAAG,EACH,SAAG,EACH,kBAAY,EACZ,cAAS,CACb,OAAQ,KACR,OAAQ,CACN,SAAU,IACV,OAAQ,iBAEF,MAAD,CACL,SAAU,IACV,OAAQ,iBAEF,MAAD,CACL,SAAU,IACV,OAAQ,eAGN,OAAE,KACF,WAAM,GACN,SAAG,IAUN,kBAAP,aAMO,mBAAP,SAAc,GAAd,WACQ,EAAa,KAAK,IAAI,cACxB,EAAJ,KAAK,GAAK,SAAC,EAAO,GAChB,IACI,EAAS,EADK,EAAK,IAAI,KAET,IAEZ,WAAS,IAAU,EAAW,KAEtB,EAAD,UAAQ,GAAI,EAAW,GAAO,IAEjC,EAAH,IAAI,EAAM,OAGf,KAAC,YAAY,GACb31G,KAAC,YAAY,IAGT,wBAAV,SAAsB,KAIZ,wBAAV,SAAsB,GAEhB,SAAO,EAAK,aACV,EAAI,QACN,KAAK,OAEGA,KAAH,QAIL,SAAO,EAAK,YACRA,KAAD,WAAW,EAAI,UAMjB,0BAAP,WACM,OAAG,KAAK,WAGP,4BAAP,WACM,OAAG,KAAK,IAAI,iBAGX,sBAAP,WACE,MAAO,CACL,QAAS,KAAK,IAAI,WAClB,QAAS,KAAK,IAAI,aAKf,sBAAP,SAAiB,EAAiB,GAC5B,KAAC,OAAO,CACV,QAAO,EACP,QAAO,KAIJ,wBAAP,SAAmB,GACb,IAAE,EAAW,cAAK,GAClB,KAAC,OAAO,IAIP,wBAAP,WAAI,IAAJ,OACQ,EAAW,GACX,EAAe,KAAK,IAAI,gBACxB,EAAS,EAAmB,GAIlC,OAHA,OAAK,GAAQ,SAAC,GACZ,EAAS,GAAS,EAAK,IAAI,MAEtB,GAGF,mBAAP,WACE,OAAO,GAGF,qBAAP,WACM,OAAG,GAOA,EAAF,eAAP,aAoBQ,oBAAR,sBACQ,EAAa,KAAK,IAAI,cAC5B,OAAK,GAAY,SAAC,EAAO,GACvB,IAAM,EAAM,EAAK,IAAI,GACrB,GAAI,WAAS,GAAM,CACjB,IAAM,EAAS,UAAQ,GAAI,EAAO,GAClC,EAAK,IAAI,EAAM,QAIvB,EA9KA,CAAwE,QAgLxE,UAAe,G,8EM5Lf,UAAe,CACb,WAAY,4KAIV,UAAS,UACT,gBAAe,UACf,eAAc,UACd,UAAS,UACT,YAAW,UACX,oBAAmB,KAAK,GAAK,EAC/B,qBAAsB,KAAK,GAAK,I,6BgCDlC,SAAgB,EAAY,EAAW,EAAW,EAAe,EAAgB,GAO7E,MANW,CACX,KAAM,EAAI,EAAS,EACnB,MAAO,EAAI,EAAQ,EAAS,EAAI,EAAS,MACzC,IAAK,EAAI,EAAS,EAClB,OAAQ,EAAI,EAAS,EAAS,EAAI,EAAS,QAK/C,SAAgB,EACd,EACA,EACA,EACA,EACA,EACA,GAEE,IAAE,EAAK,EACL,EAAK,EACP,OAAM,GACF,IAAC,OACGowB,EAAD,EAAI,EAAQ,EACXC,EAAD,EAAI,EAAS,EACZ,MACJ,IAAC,QACG,EAAD,EAAI,EACH,EAAD,EAAI,EAAS,EACZ,MACJ,IAAC,MACH,EAAK,EAAI,EAAQ,EACjB,EAAK,EAAI,EAAS,EAClB,MACE,IAAC,SAEH,EAAK,EAAI,EAAQ,EACjB,EAAK,EAAI,EACT,MACF,QAEE,EAAK,EAAI,EACT,EAAK,EAAI,EAAS,EAIpB,MAAK,CACD,EAAD,EACC,EAAD,G,2GA/CP,gBAUA,uBAyCA,yBACE,EACA,EACA,EACA,EACA,EACA,EACA,GAEE,IAAI,EAAQ,EAAmB,EAAG,EAAG,EAAQ,EAAO,EAAQ,GAC5D,GAAE,EAAU,CACR,IAAE,EAAW,EAAY,EAAM,EAAG,EAAM,EAAG,EAAO,EAAQ,GAC7C,SAAb,GAEE,EAAS,QACX,EAAM,EAAI,KAAK,IAAI,EAAG,EAAI,EAAQ,IAEhC,EAAS,MACX,EAAM,EAAI,KAAK,IAAI,EAAG,EAAI,EAAS,KAEf,QAAb,GAAmC,WAAb,GAC3B,EAAS,OAEX,EAAM,EAAI,EAAS,GAEjB,EAAS,QAEX,EAAM,EAAI,EAAS,EAAI,EAAS,MAAQ,GAEzB,QAAb,GAAsB,EAAS,MAEjC,EAAM,EAAI,EAAI,GAEC,WAAb,GAAyB,EAAS,SACpC,EAAM,EAAI,EAAI,EAAS,KAIrB,EAAS,MACX,EAAM,EAAI,EAAS,GAEjB,EAAS,SACX,EAAM,EAAI,EAAS,EAAI,EAAS,OAAS,GAE1B,SAAb,GAAuB,EAAS,OAClC,EAAM,EAAI,EAAI,GAEC,UAAb,GAAwB,EAAS,QACnC,EAAM,EAAI,EAAI,EAAQ,IAI5B,OAAO,I,wKkZjHT,OAGA,SAEA,SAASgiG,EAAgB9wG,EAAQ3gB,EAAQqH,GACnCsZ,EAAOtZ,KACTrH,EAAOqH,GAASsZ,EAAOtZ,IAS3B,iBAQE,WAAYQ,GAPL,KAAAd,QAAc,EAQnB3H,KAAK4G,KAAO6B,EAAI7B,KAChB5G,KAAKmsB,IAAM1jB,EAAI0jB,IACfnsB,KAAKioB,OAyIT,OAtIU,YAAAA,KAAR,WACEjoB,KAAK2H,QAAS,EACd,IAAMlB,EAAQzG,KAAK4G,KAAKyB,eACxBrI,KAAKsyH,YAAc7rH,GAASA,EAAM0d,MAAQ1d,EAAM0d,KAAKnkB,KAAKmsB,KACtDnsB,KAAKuyH,aACPvyH,KAAKwyH,gBAID,YAAAA,aAAR,WACExyH,KAAK2H,OAAS,EAAH,YAAQ3H,KAAKyyH,YACxBzyH,KAAK0yH,WAAW,QAAU1yH,KAAK2yH,cAAiB3yH,KAAK2H,OAAOof,KAAO,KACnE/mB,KAAK0yH,WAAW,QAAU1yH,KAAK4yH,cAAiB5yH,KAAK2H,OAAOmf,KAAO,KACnE9mB,KAAK0yH,WAAW,YAAc1yH,KAAK6yH,kBAAqB7yH,KAAK2H,OAAOqf,SAAW,KAC/EhnB,KAAK0yH,WAAW,SAAW1yH,KAAK8yH,eAAkB9yH,KAAK2H,OAAO/E,MAAQ,KACtE5C,KAAK0yH,WAAW,SAAW1yH,KAAK+yH,eAAkB/yH,KAAK2H,OAAOkc,MAAQ,KAEtEwuG,EAAgBryH,KAAKyyH,WAAYzyH,KAAK2H,OAAQ,iBAC9C0qH,EAAgBryH,KAAKyyH,WAAYzyH,KAAK2H,OAAQ,mBAC9C0qH,EAAgBryH,KAAKyyH,WAAYzyH,KAAK2H,OAAQ,oBAGxC,YAAA4qH,UAAR,WAEE,IAAMS,EAAShzH,KAAK4G,KAAKgf,QACnBqtG,EAAcD,EAAUhzH,KAAKmsB,IAAG,QAAU6mG,EAAUhzH,KAAKmsB,IAAG,QAAU,GACtExkB,EAAS,EAAAoC,QAAQ,GAAI/J,KAAKsyH,YAAaW,GAE7C,OADAjzH,KAAKyyH,WAAa9qH,IACdA,EAAOwe,SAML,YAAAwsG,YAAR,WACE3yH,KAAK2H,OAAOof,KAAO/mB,KAAKyyH,WAAW1rG,KAC/B/mB,KAAKyyH,WAAW1rG,KAAKne,QACvB5I,KAAK2H,OAAOof,KAAO,CAAEne,MAAO5I,KAAKyyH,WAAW1rG,KAAKne,QAEnD5I,KAAKkzH,iBAAiB,SAGhB,YAAAN,YAAR,e,UAAA,OACQhqH,EAAkC,QAA7B,EAAuB,QAAvB,EAAG5I,KAAKyyH,WAAW3rG,YAAI,eAAEC,YAAI,eAAEne,MACpCgB,EAAiC,QAA7B,EAAuB,QAAvB,EAAG5J,KAAKyyH,WAAW3rG,YAAI,eAAEC,YAAI,eAAEnd,KACnCupH,EAAqC,QAAvB,EAAGnzH,KAAKyyH,WAAW3rG,YAAI,eAAEqsG,eAEzC,EAAA7oH,WAAW1B,GACb5I,KAAK2H,OAAOmf,KAAO,SAACT,EAAc3nB,EAAeirD,GAC/C,IAAMlhD,EAAMG,EAAMyd,EAAM3nB,EAAOirD,GAC/B,MAAO,CACL5iC,KAAM,CACJnd,KAAI,EACJhB,MAAO,EAAAmB,QAAQ,GAAI,EAAA7M,IAAI,EAAKo1H,YAAa,mBAAoB7pH,IAE/D0qH,eAAc,IAGTvqH,IACT5I,KAAK2H,OAAOmf,KAAO,CACjBC,KAAM,CACJnd,KAAI,EACJhB,MAAK,GAEPuqH,eAAc,GAEhBnzH,KAAKkzH,iBAAiB,UAIlB,YAAAL,gBAAR,WACE7yH,KAAK2H,OAAOqf,SAAWhnB,KAAKyyH,WAAWzrG,SACnChnB,KAAKyyH,WAAWzrG,SAASpe,QAC3B5I,KAAK2H,OAAOqf,SAAW,CAAEpe,MAAO5I,KAAKyyH,WAAWzrG,SAASpe,QAE3D5I,KAAKkzH,iBAAiB,aAGhB,YAAAJ,aAAR,WACE,IAAM,EAA+B9yH,KAAKyyH,WAAW7vH,MAA7CgG,EAAK,QAAKwqH,EAAc,WAA1B,WACAlpB,EAAW,cAAakpB,GAC1BxqH,IACFshG,EAAYthG,MAAQ,EAAH,YAAQ5I,KAAKyyH,WAAW7vH,MAAMgG,QAEjDshG,EAAYthG,MAAQ,EAAAmB,QAAQ,GAAI,EAAA7M,IAAI8C,KAAKsyH,YAAa,eAAgBpoB,EAAYthG,OAClF,IAAM80B,EAAY19B,KAAKqzH,eAAenpB,GACtCA,EAAYxsE,UAAYA,EACxB19B,KAAK2H,OAAO/E,MAAQsnG,GAGd,YAAA6oB,aAAR,WACE,IAAMO,EAAW,cAAatzH,KAAKyyH,WAAW5uG,OACxC,EAA2B7jB,KAAKyyH,WAAW5uG,MAAzCsC,EAAO,UAAEvd,EAAK,QAAEyd,EAAI,OACvBF,GAGHnmB,KAAK2H,OAAO0gB,WAAY,EACpBzf,IACF0qH,EAAY1qH,MAAQA,GAEtB0qH,EAAY1qH,MAAQ,EAAAmB,QAAQ,GAAI,EAAA7M,IAAI8C,KAAK2H,OAAQ,eAAgB2rH,EAAYz0C,WAEzEx4D,IACFitG,EAAYjtG,KAAOA,IATrBrmB,KAAK2H,OAAO0gB,WAAY,EAY1BroB,KAAK2H,OAAOkc,MAAQyvG,GAGd,YAAAZ,WAAR,SAAmB91H,GACjB,SAAIoD,KAAKyyH,WAAW71H,KAASoD,KAAKyyH,WAAW71H,GAAMupB,UAM7C,YAAA+sG,iBAAR,SAAyBtpH,GACvB5J,KAAK2H,OAAOiC,GAAQ,EAAAG,QAAQ,GAAI,EAAA7M,IAAI8C,KAAKsyH,YAAgB1oH,EAAI,UAAW5J,KAAK2H,OAAOiC,KAG5E,YAAAypH,eAAV,SAAyBnpB,GACvB,IAAIxsE,EAAY,EAAAi5E,iBACd,EAAAG,mBACA,EAAAC,sBAAsB7M,EAAYprG,WAClC,EAAAk4G,mBAAmB9M,EAAY+M,SAQjC,OANI/M,EAAYxsE,YACdA,EAAY,EAAAi5E,iBACVj5E,EACAwsE,EAAYxsE,YAGTA,GAEX,EApJA,G,2FChBA,YACA,OACA,QAEA,aAME,WAAYj1B,GACV,EAAAtI,OAAOH,KAAMyI,GACbzI,KAAKmhH,QAwMT,OArMU,YAAAA,MAAR,WACQ,MAAmBnhH,KAAK4G,KAAKgf,QAA3BkF,EAAM,SAAE9rB,EAAI,OACdktG,EAAWlsG,KAAK4G,KAAKshB,YAAYlpB,GACvC,IAAI,EAAA4rB,QAAQshF,IAAc,EAAAj4E,SAASi4E,EAAS,GAAGphF,IAA/C,CAGA,IAAMqpC,EAAen0D,KAAKuzH,kBACpBC,EAAkB,CACtB5pH,KAAM,OACNixB,KAAK,EACLza,MAAOpgB,KAAKyI,IAAI2X,MAChBC,IAAKrgB,KAAKyI,IAAI4X,KAKhB,GAFAmzG,EAAW5qH,MAAQ,EAAAmB,QAAQ,GAAIoqD,EAAaptC,KAAKne,MAAO5I,KAAKyI,IAAI8wF,WACjEi6B,EAAWntG,KAAO,EAAAtc,QAAQ,GAAIoqD,EAAa9tC,KAAMrmB,KAAKyI,IAAI4d,MACtDrmB,KAAKyI,IAAImB,KAAM,CACjB,IAAM6pH,EAAazzH,KAAK0zH,UAAU1zH,KAAKyI,IAAImB,MAErC0zF,EAA+C,KAAjC,EADNt9F,KAAKmI,YACa+gB,MAAMuqG,IAAkB,IAClDrzG,EAAQ,CAAC,KAAMk9E,GACfj9E,EAAM,CAAC,OAAQi9E,GACrBt9F,KAAK2H,OAAS,EAAA+mB,IACZ,CACEtO,MAAK,EACLC,IAAG,GAELmzG,OAEG,CACC,MAAiBxzH,KAAKyI,IAApB,EAAK,QAAE,EAAG,MAClBzI,KAAK2H,OAAS,EAAAyqB,MAAMohG,GACpB,IAAM,EAASxzH,KAAKkI,YACd,EAASlI,KAAKmI,YACd,EAAY,EAAAiqB,MAAM,GAClB,EAAU,EAAAA,MAAM,GACtB,EAAA5oB,KAAK,GAAO,SAAClM,EAAOoB,GACb,EAAA2L,SAAS,EAAAspH,QAAQ,EAAMj1H,IAAS,OAAQ,EAAAu1B,SAAS,EAAMv1B,MAExD,EAAUA,GADE,IAAVA,EAC6C,IAAzB,EAAOwqB,MAAM,EAAM,IAAS,IAEK,KAAhC,EAAM,EAAOA,MAAM,EAAM,KAAU,QAIhE,EAAA1f,KAAK,GAAK,SAAClM,EAAOoB,GACX,EAAA2L,SAAS,EAAAspH,QAAQ,EAAIj1H,IAAS,OAAQ,EAAAu1B,SAAS,EAAIv1B,MAEpD,EAAQA,GADI,IAAVA,EACyC,IAAvB,EAAOwqB,MAAM,EAAI,IAAS,IAEK,KAA9B,EAAM,EAAOA,MAAM,EAAI,KAAU,QAI5DlpB,KAAK2H,OAAOyY,MAAQ,EACpBpgB,KAAK2H,OAAO0Y,IAAM,KAId,YAAAlY,UAAR,WACE,IAAM81E,EAAWj+E,KAAK0zH,UAAU,OAC1Bx1C,EAAWl+E,KAAK0zH,UAAU,OAehC,OAZc,IAFA,EAAAn3E,SAAS,UAET,CACZ,EAAA7tB,IACE,GACA,CACEjQ,IAAwB,WAAnBze,KAAK4G,KAAKgD,KAAoB,EAAIq0E,EACvCz/D,IAAK0/D,EACLzgD,MAAM,EACN/c,OAAQ1gB,KAAK0gB,QAEf1gB,KAAK4G,KAAKe,OAAOwgB,OAAOnoB,KAAK4G,KAAKgf,QAAQkF,WAMxC,YAAA5iB,UAAR,WACE,IAAMwY,EAAS1gB,KAAK4zH,gBACpB,GAAI,EAAA/mG,SAASnM,EAAO,IAWlB,OATc,IADA,EAAA67B,SAAS,OACT,CACZ,EAAA7tB,IACE,GACA,CACEhO,OAAQA,GAEV1gB,KAAK4G,KAAKe,OAAOwgB,OAAOnoB,KAAK4G,KAAKgf,QAAQiF,UAK9C,IAAMpM,EAAMtP,KAAKsP,IAAG,MAARtP,KAAYuR,GAClBlC,EAAMrP,KAAKqP,IAAG,MAARrP,KAAYuR,GAcxB,OAZc,IADA,EAAA67B,SAAS,UACT,CACZ,EAAA7tB,IACE,GACA,CACEjQ,IAAKA,EACLD,IAAKA,EACLif,MAAM,EACN/c,OAAQA,GAEV1gB,KAAK4G,KAAKe,OAAOwgB,OAAOnoB,KAAK4G,KAAKgf,QAAQiF,WAO1C,YAAA6oG,UAAR,SAAkB9pH,GAEhB,OADA5J,KAAK0gB,OAAS1gB,KAAK6zH,iBACN,WAATjqH,EACK,EAAA2xB,UAAUv7B,KAAK0gB,QAEX,SAAT9W,EACK,EAAA+xB,QAAQ37B,KAAK0gB,QAET,QAAT9W,EACKuF,KAAKqP,IAAG,MAARrP,KAAYnP,KAAK0gB,QAEb,QAAT9W,EACKuF,KAAKsP,IAAG,MAARtP,KAAYnP,KAAK0gB,aAD1B,GAKM,YAAAmzG,eAAR,WACE,IAAM9tH,EAAQ/F,KAAK4G,KAAKgf,QAClB3d,EAAQlC,EAAM+kB,OACdpK,EAAS,GACT1hB,EAAOgB,KAAK4G,KAAKshB,YAAYniB,EAAM/G,MAQzC,OAPA,EAAAwK,KAAKxK,GAAM,SAACrC,GACN,EAAAylB,QAAQzlB,EAAEsL,IACZyY,EAAOpd,KAAI,MAAXod,EAAe/jB,EAAEsL,IAEjByY,EAAOpd,KAAK3G,EAAEsL,OAGXyY,GAGD,YAAAkzG,cAAR,WACE,IAAM7tH,EAAQ/F,KAAK4G,KAAKgf,QAClB3d,EAAQlC,EAAM8kB,OACdnK,EAAS,GACT1hB,EAAOgB,KAAK4G,KAAKshB,YAAYniB,EAAM/G,MAQzC,OAPA,EAAAwK,KAAKxK,GAAM,SAACrC,GACN,EAAAylB,QAAQzlB,EAAEsL,IACZyY,EAAOpd,KAAI,MAAXod,EAAe/jB,EAAEsL,IAEjByY,EAAOpd,KAAK3G,EAAEsL,OAGXyY,GAGD,YAAA6yG,gBAAR,WAEE,OADAvzH,KAAK8zH,sBACE,CACL/sG,KAAM,CACJne,MAAO,CACLszD,UAAW,EACX5rC,OAAQ,UACRnS,QAAS,GACTs7F,SAAU,CAAC,EAAG,KAGlBpzF,KAAM,CACJ4xC,QAAS,GACT7qC,SAAU,EACVxkB,MAAO,CACLknB,SAAU,GACVQ,OAAQ,QACR4rC,UAAW,EACXnsC,UAAW/vB,KAAK8zH,0BAMhB,YAAAA,oBAAR,WACE,IAAMC,EAAa/zH,KAAKyI,IAAI4d,KAC5B,GAAI0tG,EAAY,CACd,IAAKA,EAAWxtG,UAAoC,UAAxBwtG,EAAWxtG,SACrC,MAAO,OAET,GAA4B,WAAxBwtG,EAAWxtG,SACb,MAAO,SAET,GAA4B,QAAxBwtG,EAAWxtG,SACb,MAAO,UAIf,EAhNA,G,sGCJA,OAEA,SAGA,aAKE,WAAY9d,GAJL,KAAAd,OAAmB,GAKhB,IAAAf,EAAkB6B,EAAG,KAAZqkE,EAAI,SAAKrkE,EAApB,UACNzI,KAAK4G,KAAOA,EACZ5G,KAAKg0H,aAAelnD,EACpB9sE,KAAKioB,KAAKxf,GAwEd,OArES,YAAAktF,UAAP,WACE,OAAO31F,KAAK2H,QAGJ,YAAAsgB,KAAV,SAAexf,GAAf,WACE,EAAAtI,OAAOH,KAAK2H,OAAQc,GACpBzI,KAAK2H,OAAOmK,SAAW,SAAC4kD,GACtB,OAAO,EAAKu9D,cAAcv9D,KAIpB,YAAAu9D,cAAV,SAAwBv9D,GACtB,IAAMw9D,EAAal0H,KAAKg0H,aAClBvtH,EAAQzG,KAAK4G,KAAKyB,eAClBV,EAAM,cAAkBusH,GAsB9B,OArBAl0H,KAAKm0H,YAAYD,EAAYvsH,GACzBusH,EAAW3tG,WACT,EAAAjc,WAAW4pH,EAAW3tG,UACxB5e,EAAO4e,SAAW2tG,EAAW3tG,SAASmwC,GAEtC/uD,EAAO4e,SAAW2tG,EAAW3tG,UAGjCvmB,KAAKqzH,eAAe1rH,GAChBusH,EAAWtrH,QACT,EAAA0B,WAAW4pH,EAAWtrH,OACxBjB,EAAOk3E,UAAYq1C,EAAWtrH,MAAM8tD,GAEpC/uD,EAAOk3E,UAAYq1C,EAAWtrH,OAGlCjB,EAAOk3E,UAAY,EAAA90E,QAAQ,GAAI,EAAA7M,IAAIuJ,EAAO,eAAgBkB,EAAOk3E,WAC7Dq1C,EAAWjtG,aACbtf,EAAOsf,WAAaitG,EAAWjtG,YAG1Btf,GAGC,YAAAwsH,YAAV,SAAsBpuH,EAAO4B,GAC3B,IACIgiD,EAAQ,EACZ,EAAAngD,KAFe,CAAC,SAAU,UAAW,YAExB,SAAC/M,GACR,EAAAiJ,IAAIK,EAAOtJ,KACbkL,EAAOlL,GAAKsJ,EAAMtJ,GAClBktD,QAIU,IAAVA,GAA0C,WAA3B,EAAAzsD,IAAI6I,EAAO,cAC5B4B,EAAOif,OAAS,IAIV,YAAAysG,eAAV,SAAyB1rH,GACvB,IAAMusH,EAAal0H,KAAKg0H,aACxBrsH,EAAOswD,QAAU,SAACj5D,EAAMN,GAEtB,IAAM2nB,EAAOrnB,EAAKk1H,EAAWpxF,OAAO,IACpC,OAAO,EAAA6zE,iBACL,EAAAG,mBACA,EAAAC,sBAAsBmd,EAAWp1H,WACjC,EAAAk4G,mBAAmBkd,EAAWjd,QAC7Bid,EAAWx2F,UACRw2F,EAAWx2F,UACX,EAAAo5E,mBANC,CAOLzwF,EAAMrnB,EAAMN,KAGpB,EAjFA,G,2FCLA,IAIIinB,EACAqgB,EALJ,OAOA,SAASouF,EAASxtH,EAAM+B,GACjBgd,GACH0uG,EAAiBztH,GAEnB,EAAA4C,KAAKmc,GAAQ,SAAC/iB,GACN,MAAqB0xH,EAAc1xH,EAAO+F,GAChD,GAAI2zB,EADa,YAAK,OACO,CAC3B,IAAMi4F,EA2EH,CAAEp2G,QAAS,EAAG85F,WAAY,IAAKpoF,KAAM,OA1ExCjtB,EAAM2N,MAAMsiB,KAAK0hG,OAmBvB,SAASF,EAAiBztH,G,MACxB+e,EAAS,GACTqgB,EAAc,GACd,IAAM1d,EAAsC,QAAlC,EAAG1hB,EAAKqC,KAAKk3C,cAAc,eAAO,eAAElT,gBAC9C,EAAAzjC,KAAK8e,GAAM,SAACksG,GACV,IAAMrwG,EAAOqwG,EAAoB1/F,UAC3B2/F,EAAW,GACXvrG,EAsBV,SAAkBtiB,EAAMud,GACtB,IAAMpe,EAAQa,EAAKgf,QACfuG,EAAM,IACJ5F,EAAWpC,EAAKjnB,IAAI,YACT,WAAbqpB,GAAsC,QAAbA,IAC3B4F,EAAM,KAER,IAAMmyE,EAAav4F,EAASomB,EAAG,SAC/B,OAAOvlB,EAAKqC,KAAK/L,IAAI,UAAUohG,GA9Bf/hD,CAAS31C,EAAMud,GACvBy8D,EAAcz8D,EAAKjnB,IAAI,iBAAiBA,IAAI,SAASA,IAAI,YAO/D,GANA,EAAAsM,KAAKo3E,GAAa,SAACrwE,GACE,SAAfA,EAAM3G,OACR6qH,EAASnxH,KAAK,CAAEiN,MAAK,IACrBy1B,EAAY1iC,KAAKiN,EAAMsiB,YAGvB3J,EAAO,CAED,MAAiBA,EAAK,MAAf,EAAUA,EAAK,MAC9B,EAAA1f,KAAKirH,GAAU,SAAC7xH,EAAOlE,GACrBkE,EAAMtF,MAAQ,EAAMoB,GACpBkE,EAAM07F,WAAa,EACnB17F,EAAMgH,KAAOsf,EAAMtf,QAGvB+b,EAAOriB,KAAI,MAAXqiB,EAAe8uG,MAgBnB,SAASH,EAAc1xH,EAAO+F,G,MACtB+rH,IAAS,MAAM9xH,EAAM07F,YAAa17F,EAAMtF,MAAK,GAC7Cq3H,EAAM,EAAAviG,MAAMzpB,GAIlB,MAHmB,SAAf/F,EAAMgH,MAAmB,EAAAyiG,SAAS1jG,KAAe,EAAA2B,WAAWqqH,EAAIp9B,OAClEo9B,EAAIp9B,IAAM,IAAInmF,KAAKujH,EAAIp9B,KAAKnN,WAEvB,CAAEsqC,UAAS,EAAEC,IAAG,GAYzB,SAASr4F,EAAQlI,EAAQzrB,GACvB,IAAK,EAAA2B,WAAW3B,GAAY,CAClB,IAAA/L,EAAc+L,EAAS,KAAjB4uF,EAAQ5uF,EAAS,IAC/B,QAAKyrB,EAAOx3B,KAGR,EAAA0N,WAAWitF,GACNA,EAAInjE,EAAOx3B,IAEbw3B,EAAOx3B,KAAU26F,GAE1B,OAAO5uF,EAAUyrB,GAGnB,UAAe,CACbwkD,OAAQw7C,EACR35C,SAAU25C,EACVrsB,QAzFF,SAAmBnhG,EAAM+B,GAClBgd,GACH0uG,EAAiBztH,GAEnB,EAAA4C,KAAKmc,GAAQ,SAAC/iB,EAAOlE,GACb,MAAqB41H,EAAc1xH,EAAO+F,GAChD,GAAI2zB,EADa,YAAK,OACO,CAC3B,IAAM87D,EAAapyD,EAAYtnC,GACzB61H,EAyDH,CAAEp2G,QAAmB,IAzDei6E,EAwDrBj6E,SAAW,IAvD7Bvb,EAAM2N,MAAMsiB,KAAK0hG,U,8EC7BvB,IAII5uG,EACAqgB,EALJ,OACA,QAMA,SAASouF,EAASxtH,EAAM+B,GACjBgd,GACHivG,EAAahuH,GAEf,EAAA4C,KAAKmc,GAAQ,SAAC/iB,EAAOlE,GACnB,IAAM01B,EAASxxB,EAAM1F,IAAI,UACzB,GAAI,EAAAo/B,QAAQlI,EAAQzrB,GAAY,CAC9B,IAAMyvF,EAAapyD,EAAYtnC,GACzBkK,EAAQ,EAAA8lB,IAAI,GAAI0pE,EAAY,CAAEj6E,QAAS,IAC7Cvb,EAAMiwB,KAAKjqB,OAmBjB,SAASgsH,EAAahuH,GACpB+e,EAAS,GACTqgB,EAAc,GACd,IAAM0yD,EAAQ9xF,EAAKqC,KAAK/L,IAAI,YAC5B,EAAAsM,KAAKkvF,GAAO,SAACztE,GACX,IAAM4pG,EAAa5pG,EAAK/tB,IAAI,UACxB23H,GACF,EAAArrH,KAAKqrH,GAAY,SAACjyH,GAChB+iB,EAAOriB,KAAKV,GACZojC,EAAY1iC,KAAKV,EAAMiwB,cAW/B,UAAe,CACb+lD,OAAQw7C,EACR35C,SAAU25C,EACVrsB,QArCF,SAAmBnhG,EAAM+B,GAClBgd,GACHivG,EAAahuH,GAEf,EAAA4C,KAAKmc,GAAQ,SAAC/iB,EAAOlE,GACnB,IAAM01B,EAASxxB,EAAM1F,IAAI,UACzB,GAAI,EAAAo/B,QAAQlI,EAAQzrB,GAAY,CAC9B,IAAMyvF,EAAapyD,EAAYtnC,GACzB61H,EAuBH,CAAEp2G,QAAmB,IAvBei6E,EAsBrBj6E,SAAW,IArB7Bvb,EAAMiwB,KAAK0hG,U,8EC9BjB,WACA,QAEMO,EAAkB,CAAC,SAAU,SAAU,cAE7C,SAASV,EAASxtH,EAAM+B,GACtB,IAAM5C,EAAQa,EAAKgf,QAEnB,GAiCF,SAAsB7f,EAAO4C,GAC3B,IAAMm6B,EAIR,SAA0B/8B,GACxB,IAAM+8B,EAAS,GAMf,OALA,EAAAt5B,KAAKsrH,GAAiB,SAAC5xH,GACjB,EAAAwC,IAAIK,EAAO7C,IACb4/B,EAAOx/B,KAAKJ,MAGT4/B,EAXQiyF,CAAiBhvH,GAChC,OAAQ,EAAAuE,WAAW3B,IAAcm6B,EAAOnkC,QAAQgK,EAAU/L,MAnCtDo4H,CAAajvH,EAAO4C,GAAY,CAClC,IAAM3J,EAAO+G,EAAM/G,KACnB,EAAAwK,KAAKxK,GAAM,SAACrC,GACV,GAAI,EAAA2/B,QAAQ3/B,EAAGgM,GAAY,CACzB,IAAMgoB,EAAQ/pB,EAAKqC,KAAKi9C,MAAMvpD,GAE9BiK,EAAKqC,KAAKwB,GAAG,kBAAkB,SAAClK,GAC9B00H,EAAatsH,EAAWpI,GAAG,MAE7BqG,EAAKqC,KAAKo9C,YAAY11B,QAY9B,SAASskG,EAAatsH,EAAWpI,EAAG6+F,GAClC,IAAM81B,GAAW91B,EACX+1B,EAAc,EAAA/iG,MAAM7xB,EAAEizB,OAC5BjzB,EAAEizB,MAAM5L,OAAO,GACf,EAAApe,KAAK2rH,GAAa,SAACxrH,GACjB,IAAMyqB,EAASzqB,EAAKgnB,MAAM0D,QACtB,EAAAiI,QAAQlI,EAAQzrB,KAAeusH,GACjC30H,EAAEizB,MAAMlwB,KAAKqG,MAoBnB,UAAe,CACbivE,OAAQw7C,EACR35C,SAAU25C,EACVrsB,QApCF,SAAmBnhG,EAAM+B,GACvB/B,EAAKqC,KAAKwB,GAAG,kBAAkB,SAAClK,GAC9B00H,EAAatsH,EAAWpI,GAAG,S,yFCzB/B,2BACA,4BACA,4BACA,4BACA,4BAEA,UAAgBgM,oBAAoB,SAAU,WAC9C,UAAgBA,oBAAoB,YAAa,WACjD,UAAgBA,oBAAoB,WAAY,WAChD,UAAgBA,oBAAoB,oBAAqB,WAEzD,wBACA,UAAe,W,yFCZf,OACA,2BAEA,OAGA,2BACA,SACA,QACA,SAQM6oH,EAA0B,SAAC3sH,QAAA,IAAAA,MAAA,IAC/B,IAAM4sH,EAAI,YACRzrH,KAAM,aACN0rH,aAPkC,GAQlCjvH,MATyB,EAUzBC,OAVyB,EAWzBggB,QAAS,CAAC,EAAG,EAAG,EAAG,IAChB7d,GASL,OALKA,EAAI6d,UACP+uG,EAAK/uG,QACW,eAAd+uG,EAAKzrH,KAAwB,CAnBH,EAmBqB,EAnBrB,EAmByC,GAAK,CAAC,EAnB/C,EAmBmE,EAnBnE,IAsBvByrH,GAGT,yE,OAmCU,EAAAE,WAAa,EAAA3kF,SAAS,EAAKnmB,SAAS5sB,KAAK,GAAO,GAAI,CAC1DgzC,SAAS,I,EA0Jb,OA9LkD,iBAClC,EAAAziB,oBAAd,SAAkC0+D,EAAkB9jE,GAClD,IAAMrhB,EAAgDytH,EAAwBpsG,GACxE,EAAyDrhB,EAAO2e,QAA/DkvG,EAAU,KAAEC,EAAY,KAAEC,EAAa,KAAEC,EAAW,KAE3D,MAAoB,eAAhBhuH,EAAOiC,KACF,IAAI,UACTkjF,EAAW58E,KACX48E,EAAWz8E,KAAO1I,EAAOrB,OAASkvH,EAAaE,EAC/C5oC,EAAWzmF,MACXsB,EAAOrB,OAASkvH,EAAaE,GAGxB,IAAI,UACT5oC,EAAW38E,KAAOxI,EAAOtB,MAAQsvH,EAAcF,EAC/C3oC,EAAW18E,KACXzI,EAAOtB,MAAQsvH,EAAcF,EAC7B3oC,EAAWxmF,SAsBV,YAAAgD,OAAP,sBACQhC,EAAQtH,KAAKgtF,eACb/jF,EAAOjJ,KAAKiJ,KAClBjJ,KAAK2iB,MAAQ,EACb3iB,KAAK41H,YAAc,EACnB,IAAM9jH,EAAW,WACf,IAAMwU,EAAU,EAAKrd,KAAKqd,QAEV,SAAZA,GAAsB,EAAAyjB,QAAQzjB,EAAS,CAAC,EAAG,EAAG,EAAG,MAGhD,EAAKuvG,SAIR,EAAKC,mBAHL,EAAKC,mBACL,EAAKC,eAAe,EAAKC,kBAAkB,MAKzCC,EAAqB,WAEzB,EAAKL,SAAW,GAElB5sH,EAAKwB,GAAG,EAAAqC,iBAAiB6kB,YAAa7f,GACtC9R,KAAK4xB,eAAc,WAAM,OAAA3oB,EAAK4oB,IAAI,EAAA/kB,iBAAiB6kB,YAAa7f,MAChE7I,EAAKwB,GAAG,EAAAqC,iBAAiBmd,aAAcnY,GACvC9R,KAAK4xB,eAAc,WAAM,OAAA3oB,EAAK4oB,IAAI,EAAA/kB,iBAAiBmd,aAAcnY,MACjExK,EAAMmD,GAAG,EAAAsd,sBAAsBqD,mBAAoB8qG,GACnDl2H,KAAK4xB,eAAc,WAAM,OAAAtqB,EAAMuqB,IAAI,EAAA9J,sBAAsBqD,mBAAoB8qG,OAGrE,YAAA91G,MAAV,aAIU,YAAAyI,MAAV,WACM7oB,KAAKm2H,YACPn2H,KAAKm2H,UAAU/uH,UACfpH,KAAKm2H,UAAY,MAEfn2H,KAAK8F,YACP9F,KAAK8F,UAAUgF,QAAO,GACtB9K,KAAK8F,UAAY,MAEnB9F,KAAK61H,SAAW,KAChB71H,KAAKo2H,SAAW,MAGV,YAAAN,gBAAR,WACE,IAAMnuH,EAAgDytH,EAAwBp1H,KAAKktF,wBAC7Ez/D,EAAQztB,KAAKitF,WACbopC,EAA+B,aAAhB1uH,EAAOiC,KACtB8e,EAAa1oB,KAAKiJ,KAAKg4C,eACvB,EAAgCt5C,EAAO2e,QAAtCkvG,EAAU,KAAMG,EAAW,KAC5BpvG,EAAW8vG,EACb,CAAErsH,EAAG0e,EAAWxY,KAAOylH,EAAalzH,EAAGgrB,EAAMrd,KAAOolH,GACpD,CAAExrH,EAAGyjB,EAAMvd,KAAOylH,EAAalzH,EAAGimB,EAAWtY,KAAOolH,GAEnDx1H,KAAKm2H,WAgBRn2H,KAAKm2H,UAAU7zG,OAAO,CACpBuzG,SAAU71H,KAAK61H,SACfO,SAAUp2H,KAAKo2H,SACfR,YAAa51H,KAAK41H,YAClB5rH,EAAGuc,EAASvc,EACZvH,EAAG8jB,EAAS9jB,IAEdzC,KAAKm2H,UAAU7sH,WAtBftJ,KAAK8F,UAAY9F,KAAK6G,OAAO6iB,WAC7B1pB,KAAKm2H,UAAY,IAAI,EAAA1nH,UAAU,CAC7B3I,UAAW9F,KAAK8F,UAChBkE,EAAGuc,EAASvc,EACZvH,EAAG8jB,EAAS9jB,EACZ4zH,aAAY,EACZR,SAAU71H,KAAK61H,SACfO,SAAUp2H,KAAKo2H,SACfR,YAAa51H,KAAK2iB,MAAQ3iB,KAAK61H,WAEjC71H,KAAKm2H,UAAUluG,OACfjoB,KAAKm2H,UAAU7sH,SACftJ,KAAKm2H,UAAUj5H,IAAI,SAAS0I,IAAI,SAlIH,KAmI7B5F,KAAKm2H,UAAU1rH,GAAG,eAAgBzK,KAAKu1H,cAanC,YAAAQ,iBAAR,WACE,IAAMpuH,EAAgDytH,EAAwBp1H,KAAKktF,wBAC7E,EAAyDvlF,EAAO2e,QAA/DkvG,EAAU,KAAEC,EAAY,KAAEC,EAAa,KAAEC,EAAW,KACrDU,EAAwC,aAAhB1uH,EAAOiC,KAC/B8e,EAAa1oB,KAAKiJ,KAAKg4C,eACvB3sB,EAAgBt0B,KAAKiJ,KAAKf,YAC1Bk+C,EAAmBpmD,KAAKiJ,KAAKw8C,aAAaxpB,QAAO,SAAC/S,GAAU,OAAAA,KAElElpB,KAAKs2H,IAAMhiG,EAAO5T,OAAO9hB,OACzBoB,KAAKu2H,UAAY,CAAEtuH,MAAOqsB,EAAOrsB,MAAOyY,OAAQ4T,EAAO5T,QAAU,IACjE1gB,KAAKw2H,WAAapwE,EAClBpmD,KAAKiC,KAAOkN,KAAKwR,OAAO01G,EAAe3tG,EAAWriB,MAAQqiB,EAAWpiB,QAAUqB,EAAO2tH,cACtFt1H,KAAK61H,SAAWQ,EACZ3tG,EAAWriB,MAAQsvH,EAAcF,EACjC/sG,EAAWpiB,OAASkvH,EAAaE,EACrC11H,KAAKo2H,SAAWjnH,KAAKqP,IAAIxe,KAAK61H,SAAW,EAAAY,MAAMz2H,KAAKiC,KAAOqyB,EAAO5T,OAAO9hB,OAAQ,EAAG,GAhKvD,KAmKvB,YAAAq3H,eAAR,WACE,IAAMS,EAAmBvnH,KAAKwR,OAAO3gB,KAAKs2H,IAAMt2H,KAAKiC,MAAQ,EAAAw0H,MAAMz2H,KAAK2iB,MAAO,EAAG,IAElF,MAAO,CAAC+zG,EADevnH,KAAKsP,IAAIi4G,EAAW12H,KAAKiC,KAAMjC,KAAKs2H,OAIrD,YAAAN,eAAR,SAAuB,EAAsC1sH,GAA7D,WAAwBotH,EAAQ,KAAEC,EAAM,KAChChvH,EAAgDytH,EAAwBp1H,KAAKktF,wBAC7ErjF,EAAuB7J,KAAKgtF,eAC1BjhE,EAASliB,EAAU+b,QAAO,KAC5BgxG,EAAqB/sH,EAAUvB,UAC/BsgG,EAAoB,EAAA8O,oBACxB13G,KAAKu2H,UAAUtuH,MACfjI,KAAKu2H,UAAU71G,OACfk2G,EACA,CAACF,EAAUC,GACK,aAAhBhvH,EAAOiC,MAIT5J,KAAKw2H,WAAWxoG,SAAQ,SAACvlB,GACvB,IAAMouH,EAAU,EAAA35H,IAAI6uB,EAAMtjB,EAAIR,QAAU,GACxC,EAAKgB,KAAKigB,MAAMzgB,EAAIR,MAAO,EAAF,qBACvBy1B,UAAWj1B,EAAIi1B,WACZm5F,GAAO,CACVjtH,KAAMnB,EAAImB,KACV6U,IAAKhW,EAAIgW,IACTD,IAAK/V,EAAI+V,UAGTlV,GACFtJ,KAAKiJ,KAAKjK,KAAK4pG,GACf5oG,KAAKiJ,KAAKK,UAEVtJ,KAAKiJ,KAAKlB,WAAW6gG,IAIjB,YAAAn+E,SAAR,SAAiB,G,IAAE9H,EAAK,QAAEizG,EAAW,cACnC51H,KAAK2iB,MAAQA,EACb3iB,KAAK41H,YAAcA,EAEnB,IAAMkB,EAAc92H,KAAKiJ,KAAK4c,aAAa8C,QAC3C3oB,KAAKiJ,KAAK0f,SAAQ,GAClB3oB,KAAKg2H,eAAeh2H,KAAKi2H,kBAAkB,GAC3Cj2H,KAAKiJ,KAAK0f,QAAQmuG,GAElB92H,KAAK81H,mBAET,EA9LA,CAAkD,W,sGCpClD,OACA,2BAEA,OAEA,2BACA,SAKMiB,EAAuB,SAACtuH,QAAA,IAAAA,MAAA,IAC5B,IAAM4sH,EAAI,YACRzrH,KAAM,aACNwW,MAAO,EACPC,IAAK,EACLha,WAAO5C,EACP6C,YAAQ7C,EACR6iB,QAAS,CAAC,EAAG,EAAG,EAAG,GACnByhG,gBAAiB,GACjBiP,gBAAiB,GACjBC,aAAc,GACdp4C,UAAW,GACX/K,SAAU,IACPrrE,GAIAA,EAAI6d,UACP+uG,EAAK/uG,QACW,eAAd+uG,EAAKzrH,KAAwB,CAtBH,EAsBqB,EAtBrB,EAsByC,GAAK,CAAC,EAtB/C,EAsBmE,EAtBnE,IA0BzBnB,EAAInC,SACP+uH,EAAK/uH,OA1BoB,IA4BtBmC,EAAIpC,QACPgvH,EAAKhvH,MA7BoB,IAiC3B,IAAM+Z,EAAQ,EAAAq2G,MAAMtnH,KAAKsP,IAAI42G,EAAKj1G,MAAOi1G,EAAKh1G,KAAM,EAAG,GACjDA,EAAM,EAAAo2G,MAAMtnH,KAAKqP,IAAI62G,EAAKj1G,MAAOi1G,EAAKh1G,KAAM,EAAG,GAIrD,OAHAg1G,EAAKj1G,MAAQA,EACbi1G,EAAKh1G,IAAMA,EAEJg1G,GAGT,yE,OAiCU,EAAAE,WAAgD,EAAA3kF,SAAS,EAAKnmB,SAAS5sB,KAAK,GAAO,GAAI,CAAEgzC,SAAS,I,EAuJ5G,OAxL+C,iBAC/B,EAAAziB,oBAAd,SAAkC0+D,EAAkB9jE,GAClD,IAAMrhB,EAAmCovH,EAAqB/tG,GACxD,EAAyDrhB,EAAO2e,SAAW,CAAC,EAAG,EAAG,EAAG,GAApFkvG,EAAU,KAAEC,EAAY,KAAEC,EAAa,KAAEC,EAAW,KAE3D,MAAoB,eAAhBhuH,EAAOiC,KACI,IAAI,UACfkjF,EAAW58E,KACX48E,EAAWz8E,KAAO1I,EAAOrB,OAASkvH,EAAaE,EAC/C5oC,EAAWzmF,MACXsB,EAAOrB,OAASkvH,EAAaE,GAIxB,IAAI,UACT5oC,EAAW38E,KAAOxI,EAAOtB,MAAQsvH,EAAcF,EAC/C3oC,EAAW18E,KACXzI,EAAOtB,MAAQsvH,EAAcF,EAC7B3oC,EAAWxmF,SAmBV,YAAAgD,OAAP,sBACQhC,EAAQtH,KAAKgtF,eACb/jF,EAAOjJ,KAAKiJ,KAEZtB,EAASovH,EAAqB/2H,KAAKktF,wBACzCltF,KAAKgnD,SAAWr/C,EAAOyY,MACvBpgB,KAAKinD,OAASt/C,EAAO0Y,IACrBrgB,KAAKu2H,eAAY9yH,EAEjB,IAAMqO,EAAW,WACf,IAAMwU,EAAU,EAAKrd,KAAKqd,QAC1B,GAAgB,SAAZA,IAAsB,EAAAyjB,QAAQzjB,EAAS,CAAC,EAAG,EAAG,EAAG,MAGjD,EAAAsE,QAAQtjB,EAAMse,QAAQ5mB,MAG1B,GAAK,EAAKu3H,UAWR,EAAKW,mBAXc,CAEnB,IAAM5iG,EAAgBrrB,EAAKf,YAC3B,EAAKquH,UAAY,CACftuH,MAAOqsB,EAAOrsB,MACdyY,OAAQ4T,EAAO5T,QAAU,IAG3BzX,EAAKjK,KAAK,EAAKm4H,cAAc,EAAKnwE,SAAU,EAAKC,SACjDh+C,EAAKK,WAKTL,EAAKwB,GAAG,EAAAqC,iBAAiB6kB,YAAa7f,GACtC9R,KAAK4xB,eAAc,WAAM,OAAA3oB,EAAK4oB,IAAI,EAAA/kB,iBAAiB6kB,YAAa7f,MAChE7I,EAAKwB,GAAG,EAAAqC,iBAAiBmd,aAAcnY,GACvC9R,KAAK4xB,eAAc,WAAM,OAAA3oB,EAAK4oB,IAAI,EAAA/kB,iBAAiBmd,aAAcnY,OAGzD,YAAAsO,MAAV,aAIU,YAAAyI,MAAV,WACM7oB,KAAKogD,SACPpgD,KAAKogD,OAAOh5C,UACZpH,KAAKogD,OAAS,MAEZpgD,KAAK8F,YACP9F,KAAK8F,UAAUgF,QAAO,GACtB9K,KAAK8F,UAAY,OAIb,YAAAoxH,aAAR,WACOl3H,KAAKogD,QAORpgD,KAAKogD,OAAO99B,OAAOtiB,KAAKo3H,mBACxBp3H,KAAKogD,OAAO92C,WAPZtJ,KAAK8F,UAAY9F,KAAK6G,OAAO6iB,WAC7B1pB,KAAKogD,OAAS,IAAI,EAAA5xC,OAAO,EAAD,uBAAMxO,KAAKo3H,mBAAiB,CAAEtxH,UAAW9F,KAAK8F,aACtE9F,KAAKogD,OAAOn4B,OACZjoB,KAAKogD,OAAO92C,SACZtJ,KAAKogD,OAAO31C,GAAG,eAAgBzK,KAAKu1H,cAOhC,YAAA6B,gBAAR,WACE,IACM1uG,EADO1oB,KAAKiJ,KACMg4C,eAClBxzB,EAAQztB,KAAKitF,WAEb,EAD0C8pC,EAAqB/2H,KAAKktF,yBAE9D,GADJ,IAAA5mE,eAAO,IAAG,GAAC,EAAG,EAAG,EAAG,GAAE,EAAEyhG,EAAe,kBAAEiP,EAAe,kBAAEC,EAAY,eAAEp4C,EAAS,YAAE,IAAA/K,gBAAQ,IAAG,KAAE,EAEjG0hD,EAAwDlvG,EAAO,GAAnDmvG,EAA4CnvG,EAAO,GAArCovG,EAA8BpvG,EAAO,GAAtBqvG,EAAervG,EAAO,GAChE,EAAuBtmB,KAAKq3H,oBAAoBr3H,KAAKgnD,SAAUhnD,KAAKinD,QAAlEmtB,EAAO,UAAEC,EAAO,UAsBxB,MArBiB,CACfrqE,EAAG0e,EAAWxY,KAAOylH,EACrBlzH,EAAGgrB,EAAMrd,KAAOolH,EAChBnvH,MAAOqiB,EAAWriB,MAAQsvH,EAAcF,EACxCnvH,OAAQmnB,EAAMnnB,OAASkvH,EAAaE,EACpCt1G,MAAOpgB,KAAKgnD,SACZ3mC,IAAKrgB,KAAKinD,OACVmtB,QAAO,EACPC,QAAO,EACP0zC,gBAAe,EACfiP,gBAAe,EACfC,aAAY,EACZp4C,UAAS,EACT/K,SAAU,EAAF,qBACNwjD,QAAQ,EACRxvF,QAAQ,GACLgsC,GAAQ,CACX90E,KAAMgB,KAAKu3H,yBAOT,YAAAA,mBAAR,WACQ,MAAmBv3H,KAAKgtF,eAAepnE,QAArC5mB,EAAI,OAAE8rB,EAAM,SAEpB,OAAO,EAAAxG,IAAItlB,GAAM,SAAC2K,GAAS,OAAAA,EAAKmhB,OAG1B,YAAAqsG,cAAR,SAAsB/2G,EAAeC,GACnC,IAAMu2G,EAAW52H,KAAKgtF,eAAe1kF,UAC/B1J,EAAS,EAAAisC,KAAK7qC,KAAKu2H,UAAU71G,QAC7Bg2G,EAAWvnH,KAAKuP,MAAM0B,EAAQxhB,GAC9B+3H,EAASxnH,KAAKqP,IAAIk4G,EAAW,EAAGvnH,KAAKuP,MAAM2B,EAAMzhB,IAEvD,OAAO,EAAA84G,oBAAoB13G,KAAKu2H,UAAUtuH,MAAOjI,KAAKu2H,UAAU71G,OAAQk2G,EAAU,CAACF,EAAUC,KAGvF,YAAAU,oBAAR,SAA4Bj3G,EAAeC,GACnC,MAAwBrgB,KAAKgtF,eAAepnE,QAA1C,IAAA5mB,YAAI,IAAG,KAAE,EAAE6rB,EAAM,SACnBjsB,EAAS,EAAAisC,KAAK7rC,GACd03H,EAAWvnH,KAAKuP,MAAM0B,EAAQxhB,GAC9B+3H,EAASxnH,KAAKqP,IAAIk4G,EAAW,EAAGvnH,KAAKuP,MAAM2B,EAAMzhB,IACjDgqG,EAAU5pG,EAAK4hB,MAAM81G,EAAUC,GAErC,MAAO,CACLviD,QAASw0B,EAAQhqG,OAAS,EAAI,EAAAw9B,KAAKwsE,GAAS/9E,GAAU,GACtDwpD,QAASu0B,EAAQhqG,OAAS,EAAI,EAAA+9C,KAAKisD,GAAS/9E,GAAU,KAIlD,YAAAJ,SAAR,SAAiBgD,GACf,IAAMxkB,EAAOjJ,KAAKiJ,KACZmX,EAAQ,EAAAq2G,MAAMtnH,KAAKsP,IAAIgP,EAAM,GAAIA,EAAM,IAAK,EAAG,GAC/CpN,EAAM,EAAAo2G,MAAMtnH,KAAKqP,IAAIiP,EAAM,GAAIA,EAAM,IAAK,EAAG,GAC7CzuB,EAAOgB,KAAKm3H,cAAc/2G,EAAOC,GACjC,EAAuBrgB,KAAKq3H,oBAAoBj3G,EAAOC,GAArD+zD,EAAO,UAAEC,EAAO,UACxBr0E,KAAKgnD,SAAW5mC,EAChBpgB,KAAKinD,OAAS5mC,EACdrgB,KAAKogD,OAAO99B,OAAO,CACjBlC,MAAK,EACLC,IAAG,EACH+zD,QAAO,EACPC,QAAO,IAETr0E,KAAKogD,OAAO92C,SACZ,IAAMwtH,EAAc7tH,EAAK4c,aAAa8C,QACtC1f,EAAK0f,SAAQ,GACb1f,EAAKjK,KAAKA,GACViK,EAAKK,SACLL,EAAK0f,QAAQmuG,IAEjB,EAxLA,CAA+C,W,sGClD/C,OACA,OACA,2BAEA,2BACA,4BAIA,SAASU,EAAuBxuG,GAC9B,OAAO,EAAP,UACEyuG,MAAM,EACNC,MAAM,EACNpxH,OANmB,GAOnBggB,QAAS,CAAC,EAAG,GAAI,EAAG,GACpBqxG,MAAO,GACJ3uG,GAIP,6E,OAGU,EAAAusG,WAAqC,EAAA3kF,SAAS,EAAKnmB,SAAS5sB,KAAK,GAAO,GAAI,CAAEgzC,SAAS,I,EAuIjG,OA1IiD,iBAYjC,EAAAziB,oBAAd,SAAkC0+D,EAAkB9jE,GAClD,IAAMrhB,EAAqC6vH,EAAuBxuG,GAC5DwsG,EAAa7tH,EAAO2e,QAAQ,GAC5BovG,EAAgB/tH,EAAO2e,QAAQ,GAErC,OAAO,IAAI,UACTwmE,EAAW58E,KACX48E,EAAWz8E,KAAO1I,EAAOrB,OAASkvH,EAAaE,EAC/C5oC,EAAWzmF,MACXsB,EAAOrB,OAASkvH,EAAaE,IAIzB,YAAAkC,WAAR,SAAmBC,GACjB,IAAMrvG,EAAaxoB,KAAKiJ,KAAKuf,WAC7BxoB,KAAKiJ,KAAK0f,QAAQkvG,GAClBrvG,EAAWwF,SAAQ,SAAC/C,GAClBA,EAAKtC,QAAQkvG,OAIP,YAAAz3G,MAAV,aAIQ,YAAA03G,eAAR,sBACE93H,KAAK2H,OAAS6vH,EAAuBx3H,KAAKktF,wBAE1C,IAAM7jE,EAAYrpB,KAAKiJ,KAAKo3C,SACtB,EAA2BrgD,KAAK2H,OAA9B8vH,EAAI,OAAEnxG,EAAO,UAAEqxG,EAAK,QACrBnC,EAAwDlvG,EAAO,GAAnDmvG,EAA4CnvG,EAAO,GAArCovG,EAA8BpvG,EAAO,GAAtBqvG,EAAervG,EAAO,GAChEmH,EAAQztB,KAAKitF,WAEbj3D,EAAQh2B,KAAKutE,WACblnE,EAAQgjB,EAAUhjB,MAAQsvH,EAAcF,EACxCsC,EAAiB,CACrB/tH,EAAGqf,EAAUnZ,KAAOylH,EACpBlzH,EAAGgrB,EAAMo6B,GAAGplD,EAAI+yH,EAChBnvH,MAAK,EACLC,OAAQmnB,EAAMnnB,OAASkvH,EAAaE,EACpC+B,KAAI,EACJzhG,MAAK,EACL2hG,MAAK,EACLK,mBAAoBhiG,EAAM,IAGxBh2B,KAAKi4H,SACF,EAAAluF,QAAQguF,EAAgB/3H,KAAK+3H,kBAChC/3H,KAAK+3H,eAAiBA,EACtB/3H,KAAKi4H,SAAS31G,OAAOy1G,KAGvB/3H,KAAK8F,UAAY9F,KAAK6G,OAAO6iB,WAE7B1pB,KAAKi4H,SAAW,IAAI,UAAS,EAAD,UAC1BnyH,UAAW9F,KAAK8F,WACbiyH,IAEL/3H,KAAKi4H,SAAShwG,OACdjoB,KAAKi4H,SAAS3uH,SACdtJ,KAAKi4H,SAASxtH,GAAG,iBAAiB,WAChC,EAAKytH,gBAAkB,EAAKjvH,KAAK4c,aAAa8C,QAC9C,EAAKivG,YAAW,MAElB53H,KAAKi4H,SAASxtH,GAAG,eAAe,WAC9B,EAAKmtH,WAAW,EAAKM,oBAEvBl4H,KAAKi4H,SAASxtH,GAAG,iBAAkBzK,KAAKu1H,YACxCv1H,KAAKi4H,SAASxtH,GAAG,iBAAkBzK,KAAKyqB,SAAS5sB,KAAKmC,OACtDA,KAAKiJ,KAAKjK,KAAKgB,KAAKm4H,cAAcniG,EAAM,KACxCh2B,KAAK+3H,eAAiBA,IAIlB,YAAAttG,SAAR,SAAiB6E,GACf,IAAMu3B,EAAa7mD,KAAKm4H,cAAc7oG,GACtCtvB,KAAKiJ,KAAKlB,WAAW8+C,IAGf,YAAAsxE,cAAR,SAAsB7oG,GACZ,IAAArnB,EAAUjI,KAAK2H,OAAM,MAE7B,OADiB3H,KAAKgtF,eAAepnE,QAAO,KAChCqW,QAAO,SAACtyB,GAAS,OAAAA,EAAK1B,KAAWqnB,MAGvC,YAAAi+C,SAAR,WACU,IAAAtlE,EAAUjI,KAAK2H,OAAM,MACrB3I,EAASgB,KAAKgtF,eAAepnE,QAAO,KAC5C,OAAO,EAAAugB,KAAKnnC,EAAKslB,KAAI,SAAC3a,GAAS,OAAAA,EAAK1B,QAI/B,YAAAqB,OAAP,sBACEtJ,KAAKo4H,aAAc,EACnBp4H,KAAKiJ,KAAKwB,GAAG,EAAAqC,iBAAiB6d,eAAe,WAC3C,EAAKmtG,oBAEP93H,KAAKiJ,KAAKwB,GAAG,EAAAqC,iBAAiBu6C,cAAc,WAC1C,EAAKywE,oBAEP93H,KAAKiJ,KAAKwB,GAAG,EAAAqC,iBAAiB6kB,aAAa,WACrC,EAAKhqB,OAAO+vH,MAAQ,EAAKU,cAC3B,EAAKH,SAASI,QAAS,EACvB,EAAKJ,SAASK,oBAEhB,EAAKF,aAAc,KAErBp4H,KAAKiJ,KAAKwB,GAAG,EAAAqC,iBAAiBmd,cAAc,WACtC,EAAKtiB,OAAO+vH,MAAQ,EAAKU,cAC3B,EAAKH,SAASI,QAAS,EACvB,EAAKJ,SAASK,oBAEhB,EAAKF,aAAc,MAIb,YAAAvvG,MAAV,WACM7oB,KAAKi4H,WACPj4H,KAAKi4H,SAAS7wH,UACdpH,KAAKi4H,SAAW,MAEdj4H,KAAK8F,YACP9F,KAAK8F,UAAUgF,QAAO,GACtB9K,KAAK8F,UAAY,OAGvB,EA1IA,CAAiD,W,sGCdjD,OACA,4BACA,2BA+BA,cA2BE,WAAY2C,GAAZ,MACE,YACE,EAAAsB,QACE,GACA,CACE4tH,MAAO,EACPF,MAAM,GAERhvH,KAEH,K,OAyOK,EAAA8vH,sBAAwB,SAACh4H,GAC/BA,EAAEi4H,kBACFj4H,EAAEk4H,iBAEF,IAAMzuH,EAAI,EAAA9M,IAAIqD,EAAG,kBAAmBA,EAAEm4H,OAChCvrG,EAAUnjB,EAAI,EAAK2uH,MAEzB,EAAKC,eAAezrG,GAEpB,EAAKwrG,MAAQ3uH,GAGP,EAAA6uH,oBAAsB,WAC5B,EAAKC,mBAEL,EAAKhxG,KAxTY,cAwTO,MAGxB,IAAM9hB,EAAe,EAAKoD,YAAYlM,IAAI,aACtC8I,IACFA,EAAagrC,oBAAoB,YAAa,EAAKunF,uBACnDvyH,EAAagrC,oBAAoB,UAAW,EAAK6nF,qBAEjD7yH,EAAagrC,oBAAoB,aAAc,EAAK6nF,qBAEpD7yH,EAAagrC,oBAAoB,YAAa,EAAKunF,uBACnDvyH,EAAagrC,oBAAoB,WAAY,EAAK6nF,qBAClD7yH,EAAagrC,oBAAoB,cAAe,EAAK6nF,uBAIjD,EAAAE,sBAAwB,SAACx4H,GAE/B,IAAM2iB,EAAQ3iB,EAAEs/C,cAEhB38B,EAAMs1G,kBACNt1G,EAAMu1G,kBAEc,IAAhB,EAAKJ,OACP,EAAKvwG,KAlVY,gBAkVS,OAG1B,EAAKuwG,QAAS,EAEd,EAAKC,kBAAiB,IAGxB,EAAKK,MAAQ,EAAAz7H,IAAIgmB,EAAO,kBAAmBA,EAAMw1G,OAGjD,IAAM1yH,EAAe,EAAKoD,YAAYlM,IAAI,aAC1C8I,EAAa6E,iBAAiB,YAAa,EAAK0tH,uBAChDvyH,EAAa6E,iBAAiB,UAAW,EAAKguH,qBAC9C7yH,EAAa6E,iBAAiB,aAAc,EAAKguH,qBAEjD7yH,EAAa6E,iBAAiB,YAAa,EAAK0tH,uBAChDvyH,EAAa6E,iBAAiB,WAAY,EAAKguH,qBAC/C7yH,EAAa6E,iBAAiB,cAAe,EAAKguH,sB,EAsDtD,OA7XsC,iBAwC1B,YAAA/mG,YAAV,SAAsBxhB,GACd,MAAgCtQ,KAAK2H,OAAnCquB,EAAK,QAAEgiG,EAAkB,qBAE7BhiG,GAASA,EAAMp3B,SACjBoB,KAAK0tE,YAAc1tE,KAAK2H,OAAOquB,MAAM4pB,SAASo4E,GAAsBA,EAAqBhiG,EAAM,GAC/Fh2B,KAAKg5H,iBAAiB1oH,GACtBtQ,KAAK83H,eAAexnH,GACpBtQ,KAAKi5H,iBAAiB3oH,EAAOtQ,KAAK0tE,aAClC1tE,KAAKk5H,cAKF,YAAA52G,OAAP,SAAc7Z,GACZ,YAAM6Z,OAAM,UAAC7Z,GAEbzI,KAAK8nB,KAlFe,iBAkFO9nB,KAAK0tE,cAG3B,YAAAtmE,QAAP,WACE,YAAMA,QAAO,WACbpH,KAAKm5H,eAAe/xH,UACpBpH,KAAKm5H,eAAetnG,MACpB7xB,KAAKo5H,WAAWvnG,MACZ7xB,KAAKq5H,aACPp9H,OAAOq9H,qBAAqBt5H,KAAKq5H,cAI7B,YAAAL,iBAAR,SAAyB1oH,GACjB,MAAmBtQ,KAAK2H,OAAtBrB,EAAM,SAAE0D,EAAC,IAAEvH,EAAC,IAEdtF,EAAKmJ,EAAS,EADN,GAEVtG,KAAKm5H,eACPn5H,KAAKm5H,eAAe72G,OAAO,CACzBtY,EAAGA,EAAI7M,EACPsF,EAAGA,EAAItF,EAAKmJ,GAAU,EALZ,IAK0B,EACpCnJ,EAAC,KAGH6C,KAAKm5H,eAAiB,IAAI,UAAO,CAC/BrzH,UAAWwK,EACXtG,EAAGA,EAAI7M,EACPsF,EAAGA,EAAItF,EAAKmJ,GAAU,EAZZ,IAY0B,EACpCnJ,EAAC,EACDk7H,OAAQr4H,KAAKq4H,SAEfr4H,KAAKm5H,eAAelxG,QAEtBjoB,KAAKm5H,eAAe7vH,UAGd,YAAAiwH,gBAAR,WACQ,MAA0Bv5H,KAAKw5H,SAA7BxvH,EAAC,IAAEvH,EAAC,IAAE4D,EAAK,QAAEC,EAAM,SACrBnJ,EAAImJ,EAAS,EAEnB,OAAID,EAAQ,EAER,IAAI2D,EAAC,KAAKvH,EACV,IAAItF,EAAC,IAAIA,EAAC,WAAW6M,EAAC,KAAIvH,EAAI6D,GAC9B,KAAI0D,EAAI3D,GAAK,MAAK5D,EAAI6D,GACtB,IAAInJ,EAAC,IAAIA,EAAC,YAAW6M,EAAI3D,GAAK,IAAI5D,EAClC,IAAIuH,EAAC,KAAKvH,EAIP,IAGD,YAAAq1H,eAAR,SAAuBxnH,GAAvB,WACQ,EAAiCtQ,KAAK2H,OAApCtB,EAAK,QAAEC,EAAM,SAAE0vB,EAAK,QAAEhsB,EAAC,IAAEvH,EAAC,IAE7BzC,KAAKw5H,WACRx5H,KAAKw5H,SAAW,IAIlBx5H,KAAKw5H,SAASlzH,OAAkB,IAATA,EACvBtG,KAAKw5H,SAASxvH,EAAIA,EAAI1D,EA9IL,GA+IjBtG,KAAKw5H,SAAS/2H,EAAIA,GAAK6D,EAAS,EAAItG,KAAKw5H,SAASlzH,OAAS,GAC3DtG,KAAKw5H,SAASnzH,MAAQA,EAAQrG,KAAKw5H,SAASxvH,EA/I1B,GAiJdhK,KAAKw5H,UAAYx5H,KAAKw5H,SAASjpH,MACjCvQ,KAAKw5H,SAASjpH,MAAMsiB,KAAK,OAAQ7yB,KAAKu5H,mBAEtCv5H,KAAKw5H,SAASjpH,MAAQD,EAAM4iB,SAAS,OAAQ,CAC3Cb,MAAO,CACL7C,KAAMxvB,KAAKu5H,kBACX1pG,KAAM,UACN1R,QAAS,MAKf,IAAMtN,EAAW7Q,KAAKw5H,SAASnzH,OAAS2vB,EAAMp3B,OAAS,GACvDoB,KAAKy5H,YAAc,GACfz5H,KAAKw5H,SAASE,UAAY15H,KAAKw5H,SAASE,SAAS96H,QACnDoB,KAAKw5H,SAASE,SAAS1rG,SAAQ,SAAC3H,GAC9BA,EAAKjf,aAGT,IAAIuyH,GAASpnH,IACbvS,KAAKw5H,SAASE,SAAW1jG,EAAM1R,KAAI,SAACgL,EAAM5wB,GACxC,EAAK+6H,YAAYn2H,KAAK,EAAKk2H,SAASxvH,EAAItL,EAAQmS,GAEhD,IAAMwV,EAAO/V,EAAM4iB,SAAS,OAAQ,CAClCb,MAAO,CACLroB,EAAG,EAAKwvH,SAASxvH,EAAItL,EAAQmS,EAC7BpO,EAAG,EAAK+2H,SAAS/2H,EAAI,EAAK+2H,SAASlzH,OAAS,EAC5C+f,KAAMiJ,EACNS,UAAW,SACXC,aAAc,MACdH,KAAM,UACN1R,QAAS,OAIPoH,EAAOc,EAAKwH,UAUlB,OAPItI,EAAKrV,KAAOypH,GACdtzG,EAAKkL,OACLooG,EAAQp0G,EAAKrV,KAAOqV,EAAKlf,MAAQ,IAEjCggB,EAAKmL,OAGAnL,MAIH,YAAA4yG,iBAAR,SAAyB3oH,EAAek9D,GAChC,MAAoBxtE,KAAK2H,OAAvBquB,EAAK,QAAE1vB,EAAM,SACfuK,EAAW7Q,KAAKw5H,SAASnzH,OAAS2vB,EAAMp3B,OAAS,GACjDF,EAAQ,EAAAgL,UAAUssB,GAAO,SAAC1G,GAAS,OAAAA,IAASk+C,KAC5CxjE,EAAIhK,KAAKw5H,SAASxvH,EAAItL,EAAQmS,EAC9BpO,EAAIzC,KAAK2H,OAAOlF,EAAI6D,EAAS,EAC7BnJ,EAAa,IAATmJ,EAENtG,KAAKo5H,YACPp5H,KAAKo5H,WAAWvmG,KAAK,IAAK7oB,GAC1BhK,KAAKo5H,WAAWvmG,KAAK,IAAKpwB,GAC1BzC,KAAKo5H,WAAWvmG,KAAK,IAAK11B,IAE1B6C,KAAKo5H,WAAa9oH,EAAM4iB,SAAS,SAAU,CACzCb,MAAO,CACLroB,EAAC,EACDvH,EAAC,EACDtF,EAAC,EACD0yB,KAAM,aAKR7vB,KAAK45H,gBACP55H,KAAK45H,eAAe/mG,KAAK,IAAK7oB,GAC9BhK,KAAK45H,eAAe/mG,KAAK,IAAKpwB,EAAa,IAAT6D,EAAgB,IAClDtG,KAAK45H,eAAe/mG,KAAK,OAAQ7yB,KAAK0tE,cAEtC1tE,KAAK45H,eAAiBtpH,EAAM4iB,SAAS,OAAQ,CAC3Cb,MAAO,CACLroB,EAAC,EACDvH,EAAGA,EAAa,IAAT6D,EAAgB,GACvB+f,KAAMrmB,KAAK0tE,YACX39C,UAAW,SACXC,aAAc,MACdH,KAAM,cAON,YAAAgqG,gBAAR,SAAwBC,GACtB,IAAK,IAAIz9H,EAAI,EAAGA,EAAI2D,KAAKy5H,YAAY76H,OAAS,EAAGvC,IAC/C,GAAI2D,KAAKy5H,YAAYp9H,IAAMy9H,GAAeA,GAAe95H,KAAKy5H,YAAYp9H,EAAI,GAC5E,OAAO8S,KAAKsmB,IAAIz1B,KAAKy5H,YAAYp9H,GAAKy9H,GAAe3qH,KAAKsmB,IAAIqkG,EAAc95H,KAAKy5H,YAAYp9H,EAAI,IAC7FA,EACAA,EAAI,GAMN,YAAAu8H,eAAR,SAAuBzrG,GACrB,IAAI2sG,EAAc95H,KAAKo5H,WAAWvmG,KAAK,KAAO1F,EAE1C2sG,EAAc95H,KAAKw5H,SAASxvH,IAC9B8vH,EAAc95H,KAAKw5H,SAASxvH,GAE1B8vH,EAAc95H,KAAKw5H,SAASxvH,EAAIhK,KAAKw5H,SAASnzH,QAChDyzH,EAAc95H,KAAKw5H,SAASxvH,EAAIhK,KAAKw5H,SAASnzH,MAE1CrG,KAAKq4H,SAEHr4H,KAAK2H,OAAO8vH,KAEVz3H,KAAKo5H,WAAWvmG,KAAK,OAAS7yB,KAAKw5H,SAASxvH,EAAIhK,KAAKw5H,SAASnzH,QAChEyzH,EAAc95H,KAAKw5H,SAASxvH,IAG9BhK,KAAKq4H,QAAS,EACdr4H,KAAKs4H,sBAIXt4H,KAAKo5H,WAAWvmG,KAAK,IAAKinG,GAC1B95H,KAAK45H,eAAe/mG,KAAK,IAAKinG,GAE9B,IAAMp7H,EAAQsB,KAAK65H,gBAAgBC,GAC/B95H,KAAK0tE,cAAgB1tE,KAAK2H,OAAOquB,MAAMt3B,KACzCsB,KAAK0tE,YAAc1tE,KAAK2H,OAAOquB,MAAMt3B,GACrCsB,KAAK45H,eAAe/mG,KAAK,OAAQ7yB,KAAK0tE,aACtC1tE,KAAK8nB,KAzRa,iBAyRS9nB,KAAK0tE,cAGlC1tE,KAAKoJ,YAAY3B,QAIX,YAAAqxH,iBAAR,sBACU9iG,EAAUh2B,KAAK2H,OAAM,MACvBkJ,EAAW7Q,KAAKw5H,SAASnzH,OAAS2vB,EAAMp3B,OAAS,GACjDF,EAAQ,EAAAgL,UAAUssB,GAAO,SAAC1G,GAAS,OAAAA,IAAS,EAAKo+C,eACjD1jE,EAAIhK,KAAKw5H,SAASxvH,EAAItL,EAAQmS,EACpC7Q,KAAKo5H,WAAWvmG,KAAK,IAAK7oB,GAC1BhK,KAAK45H,eAAe/mG,KAAK,IAAK7oB,GAC9BhK,KAAKoJ,YAAY3B,QA+DX,YAAAsyH,UAAR,sBACE,OAAO99H,OAAOqV,uBAAsB,WAC5B,MAAmB,EAAK3J,OAAtBgwH,EAAK,QAAE3hG,EAAK,QAId7I,EAHY,EAAKqsG,SAAQ,MAEFxjG,EAAMp3B,QACM,IAAR+4H,EAAgB,IAEjD,EAAKiB,eAAezrG,GAEhB,EAAKkrG,SACP,EAAKgB,YAAc,EAAKU,iBAKvB,YAAAzB,iBAAP,SAAwB0B,QAAA,IAAAA,OAAA,GACtBh6H,KAAKm5H,eAAe72G,OAAO,CACzB+1G,OAAQr4H,KAAKq4H,SAEXr4H,KAAKq4H,QAEPr4H,KAAKq5H,YAAcr5H,KAAK+5H,YACxB/5H,KAAK8nB,KA9XY,gBA8XS,OAGtB9nB,KAAKq5H,cACPp9H,OAAOq9H,qBAAqBt5H,KAAKq5H,aAC7BW,IACFh6H,KAAK84H,mBACL94H,KAAK8nB,KAnYM,cAmYa,QAI9B9nB,KAAKoJ,YAAY3B,QAGX,YAAAyxH,UAAR,sBAEEl5H,KAAKm5H,eAAetnG,IAAI,SACxB7xB,KAAKm5H,eAAe1uH,GAAG,SAAS,WAC9B,EAAK4tH,QAAU,EAAKA,OACpB,EAAKC,sBAIPt4H,KAAKo5H,WAAWvnG,IAAI,aACpB7xB,KAAKo5H,WAAW3uH,GAAG,aAAa,SAACyY,GAC/B,EAAK61G,sBAAsB71G,OAGjC,EA7XA,CAAsC,W,sGCjCtC,OAYA,cAUE,WAAYza,G,OACV,YAAM,EAAAsB,QAAQ,GAAItB,KAAK,KAmG3B,OA9GoC,iBAcxB,YAAAqpB,YAAV,SAAsBxhB,GAAtB,WACEtQ,KAAKi6H,YAAY3pH,GACjBtQ,KAAKk6H,gBACLl6H,KAAKm6H,eAEL7pH,EAAMuhB,IAAI,SACVvhB,EAAM7F,GAAG,SAAS,WAChB,EAAKqd,KAAK,aAIP,YAAA1gB,QAAP,WACEpH,KAAKsQ,MAAMuhB,MACX,YAAMzqB,QAAO,YAGP,YAAA6yH,YAAR,SAAoB3pH,GAClBtQ,KAAKsyG,OAAShiG,EAAM4iB,SAAS,SAAU,CACrCb,MAAO,CACLroB,EAAGhK,KAAK2H,OAAOqC,EACfvH,EAAGzC,KAAK2H,OAAOlF,EACftF,EAAG6C,KAAK2H,OAAOxK,EACf0yB,KAAM,aAIV7vB,KAAKo6H,YAAc9pH,EAAM4iB,SAAS,OAAQ,CACxCb,MAAO,CACL7C,KAAMxvB,KAAKq6H,qBACXxqG,KAAM,aAIV7vB,KAAKs6H,iBAAmBhqH,EAAMoZ,WAC9B,IAAMrjB,EAAS,EAAI,EAAKrG,KAAK2H,OAAOxK,EAC9BmJ,EAAS,GAAMtG,KAAK2H,OAAOxK,EAAIgS,KAAKI,KAAK,GAC/CvP,KAAKu6H,gBAAkBv6H,KAAKs6H,iBAAiBpnG,SAAS,OAAQ,CAC5Db,MAAO,CACLroB,EAAGhK,KAAK2H,OAAOqC,EAAI,KAAkBhK,KAAK2H,OAAOxK,EACjDsF,EAAGzC,KAAK2H,OAAOlF,EAAI6D,EAAS,EAC5BD,MAAK,EACLC,OAAM,EACNupB,KAAM,aAGV7vB,KAAKw6H,iBAAmBx6H,KAAKs6H,iBAAiBpnG,SAAS,OAAQ,CAC7Db,MAAO,CACLroB,EAAGhK,KAAK2H,OAAOqC,EAAK,EAAI,EAAKhK,KAAK2H,OAAOxK,EACzCsF,EAAGzC,KAAK2H,OAAOlF,EAAI6D,EAAS,EAC5BD,MAAK,EACLC,OAAM,EACNupB,KAAM,cAKJ,YAAAqqG,cAAR,WACEl6H,KAAKsyG,OAAOz/E,KAAK,IAAK7yB,KAAK2H,OAAOqC,GAClChK,KAAKsyG,OAAOz/E,KAAK,IAAK7yB,KAAK2H,OAAOlF,GAClCzC,KAAKsyG,OAAOz/E,KAAK,IAAK7yB,KAAK2H,OAAOxK,GAElC6C,KAAKo6H,YAAYvnG,KAAK,OAAQ7yB,KAAKq6H,sBAEnC,IAAMh0H,EAAS,EAAI,EAAKrG,KAAK2H,OAAOxK,EAC9BmJ,EAAS,GAAMtG,KAAK2H,OAAOxK,EAAIgS,KAAKI,KAAK,GAE/CvP,KAAKu6H,gBAAgB1nG,KAAK,IAAK7yB,KAAK2H,OAAOqC,EAAI,KAAkBhK,KAAK2H,OAAOxK,GAC7E6C,KAAKu6H,gBAAgB1nG,KAAK,IAAK7yB,KAAK2H,OAAOlF,EAAI6D,EAAS,GACxDtG,KAAKu6H,gBAAgB1nG,KAAK,QAASxsB,GACnCrG,KAAKu6H,gBAAgB1nG,KAAK,SAAUvsB,GAEpCtG,KAAKw6H,iBAAiB3nG,KAAK,IAAK7yB,KAAK2H,OAAOqC,EAAK,EAAI,EAAKhK,KAAK2H,OAAOxK,GACtE6C,KAAKw6H,iBAAiB3nG,KAAK,IAAK7yB,KAAK2H,OAAOlF,EAAI6D,EAAS,GACzDtG,KAAKw6H,iBAAiB3nG,KAAK,QAASxsB,GACpCrG,KAAKw6H,iBAAiB3nG,KAAK,SAAUvsB,IAG/B,YAAA6zH,aAAR,WACMn6H,KAAK2H,OAAO0wH,QACdr4H,KAAKo6H,YAAY5oG,OACjBxxB,KAAKs6H,iBAAiB/oG,SAEtBvxB,KAAKo6H,YAAY7oG,OACjBvxB,KAAKs6H,iBAAiB9oG,SAKlB,YAAA6oG,mBAAR,WACE,IAAMI,EAAa,GAAMz6H,KAAK2H,OAAOxK,EAAIgS,KAAKI,KAAK,GACnD,MAAO,CACL,CAAC,IAAKvP,KAAK2H,OAAOqC,EAAIywH,EAAatrH,KAAKI,KAAK,GAAK,EAAGvP,KAAK2H,OAAOlF,EAAIg4H,EAAa,GAClF,CAAC,IAAKz6H,KAAK2H,OAAOqC,EAAIywH,EAAatrH,KAAKI,KAAK,GAAIvP,KAAK2H,OAAOlF,GAC7D,CAAC,IAAKzC,KAAK2H,OAAOqC,EAAIywH,EAAatrH,KAAKI,KAAK,GAAK,EAAGvP,KAAK2H,OAAOlF,EAAIg4H,EAAa,KAGxF,EA9GA,CAXA,yBAWoC,S,2JCexBC,E,OAjCZ,OACA,2BACA,OAUA,yBAEA,QACA,2BAIMC,EAAiC,SACrClyH,GAUA,YAVA,IAAAA,MAAA,IAEY,YACVmjG,WAAW,EACXgvB,aAAa,EACbt0G,QAAS,CARW,EAQO,GARP,EAQ4B,IAChDhgB,OAAQmC,EAAImyH,YAAc,GAAK,IAC5BnyH,KAMP,SAAYiyH,GACV,oDACA,8DAFF,CAAYA,EAAA,EAAAA,2BAAA,EAAAA,yBAAwB,KAQpC,6E,OACU,EAAAxtE,MAAQ,WACR,EAAA2tE,UAAW,E,EAqErB,OAvE6C,iBAKpC,YAAAjiD,OAAP,WACE,IAAM5mD,EAAU,EAAAnkB,iBAAiBq9B,kBAAkBlrC,KAAK6jC,SACpD7R,EAAQ2a,SAAS,YACf3sC,KAAK66H,SACP76H,KAAK86H,YAAY9oG,GAEjBhyB,KAAK2rB,SAASqG,GAGhBhyB,KAAK86H,YAAY9oG,IAKd,YAAArG,SAAP,SAAgBqG,GAAhB,WACE,EAAA+oG,eAAe/6H,KAAKgJ,WAAW,SAACW,GAC1BA,IAASqoB,EACNroB,EAAKgjC,SAAS,EAAKugB,QACtBvjD,EAAKgiB,SAAS,EAAKuhC,OAAO,GAG5BvjD,EAAKgiB,SAAS,EAAKuhC,OAAO,MAG9BltD,KAAK66H,UAAW,EAChB76H,KAAKgJ,UAAU8e,KAAK4yG,EAAyBM,eAAgB,CAAEhpG,QAAO,EAAE6oG,UAAU,KAI7E,YAAAC,YAAP,SAAmB9oG,GAAnB,WACQnH,EAAS7qB,KAAKi7H,YACdr+E,EAAS5qB,EAAQ1pB,UAAUuiB,GACjC,EAAAkwG,eAAe/6H,KAAKgJ,WAAW,SAACW,GAC1BA,EAAKrB,UAAUuiB,KAAY+xB,EACxBjzC,EAAKgjC,SAAS,EAAKugB,QACtBvjD,EAAKgiB,SAAS,EAAKuhC,OAAO,GAG5BvjD,EAAKgiB,SAAS,EAAKuhC,OAAO,MAG9BltD,KAAK66H,UAAW,EAChB76H,KAAKgJ,UAAU8e,KAAK4yG,EAAyBQ,oBAAqB,CAAElpG,QAAO,EAAE6oG,UAAU,KAIlF,YAAAM,gBAAP,SAAuBC,EAAkBC,GAAzC,WACQxwG,EAAS7qB,KAAKgJ,UAAUd,YAAYD,MACpCqgG,EAAatoG,KAAKgJ,UAAUy1C,iBAAiB,GAAGx2C,MACtD,EAAA8yH,eAAe/6H,KAAKgJ,WAAW,SAACgpB,GAC9B,IAAMhzB,EAAOgzB,EAAQ1pB,UACrB0pB,EAAQrG,SACN,EAAKuhC,MACLluD,EAAK6rB,KAAYuwG,SAAoC33H,IAApB43H,GAAiCr8H,EAAKspG,KAAgB+yB,QAKrF,YAAAryH,QAAR,WACE,OAAOhJ,KAAK6jC,QAAQ56B,MAGd,YAAAgyH,UAAR,WAEE,OADiBj7H,KAAK6jC,QAAO,KACjB37B,YAAYD,OAE5B,EAvEA,CAA6C,EAAAqE,mBAAhC,EAAAgvH,0BAwEb,EAAA9uH,eAAe,oBAAqB8uH,GAEpC,EAAA/uH,oBAAoB,4BAA6B,CAC/C6T,MAAO,CACL,CACEwvB,QAAS,oBACTpL,OAAQ,2BACRoM,SAAU,CAAEF,KAAM,GAAIG,SAAS,EAAMC,UAAU,IAEjD,CACElB,QAAS,oBACTpL,OAAQ,2BACRoM,SAAU,CAAEF,KAAM,GAAIG,SAAS,EAAMC,UAAU,OAQrD,6E,OAqIU,EAAAyqF,gBAAkB,SAAC,G,IAAEvpG,EAAO,UAAE6oG,EAAQ,WACtCvmG,EAAS,EAAKrrB,KAAKf,YACnB2iB,EAAS,EAAK5hB,KAAKf,YAAYD,MAC/BqgG,EAAa,EAAKr/F,KAAKw1C,iBAAiB,GAAGx2C,MAC3CjJ,EAAOgzB,EAAQ1pB,UACfs0C,EAAS59C,EAAK6rB,GACd2I,EAAQ,EAAK0/C,eAAet2B,GAClC,EAAK9nB,UAAUxS,OAAO,CAAEkR,MAAK,EAAE3P,MAAO,CAAEwC,KAAMiO,EAAOspB,QAAQhB,MAC7D,EAAK9nB,UAAUxrB,SACXuxH,GACF,EAAK/lG,UAAU0mG,WAAWx8H,EAAKspG,IAEjC,EAAKxsE,KAAO8gB,GAGN,EAAA6+E,6BAA+B,SAACC,GAClC,EAAK5mG,WAAa4mG,GACpB,EAAKC,uBAAuBR,gBAAgB,EAAKr/F,KAAM4/F,I,EAG7D,OAzJyD,iBACzC,EAAAttG,oBAAd,SAAkC0+D,EAAkB9jE,GAClD,IAAMrhB,EAAuDgzH,EAA+B3xG,GACtF,EAAgCrhB,EAAO2e,QAAtCkvG,EAAU,KAAIE,EAAa,KAElC,OAAO,IAAI,UAAK5oC,EAAW58E,KAAM48E,EAAW18E,KAAM08E,EAAWzmF,MAAOsB,EAAOrB,OAASkvH,EAAaE,IAOzF,YAAA7sG,MAAV,WACM7oB,KAAK80B,WACP90B,KAAK80B,UAAU1tB,UAEbpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,QAAO,GAExB9K,KAAK80B,UAAY,KACjB90B,KAAK8F,UAAY,MAGZ,YAAAwD,OAAP,sBACQL,EAAOjJ,KAAKiJ,KACZ6I,EAAW,WACf,IAAMwiB,EAAS,EAAKrrB,KAAKf,YACnByxH,EAAQ,EAAAh9E,KAAKroB,EAAOi5C,YAAYC,UAChClnD,EAAU,EAAKrd,KAAKqd,QACrB,EAAAyjB,QAAQ,CAAC,EAAG,EAAG,EAAG,GAAIzjB,KACrB,EAAKwO,UACP,EAAK8mG,mBAEL,EAAKC,kBACL,EAAK/mG,UAAUrqB,GAAG,SAA0BqxH,eAAgB,EAAKL,+BAGnE,EAAK3/F,KAAO69F,EACZ,EAAK7kG,UAAUxS,OAAO,CACpBuB,MAAO,CAAEwC,KAAMiO,EAAOspB,QAAQ,EAAK9hB,SAErC,EAAKhH,UAAUxrB,SACf,EAAKqyH,uBAAuBR,gBAAgBxB,KAKhD1wH,EAAKmb,QAAO,GACZnb,EAAKm8C,kBAAkB,iBACvBn8C,EAAKm8C,kBAAkB,WACvBn8C,EAAK+f,YAAY,6BAGjB/f,EAAKwB,GAAG,EAAAqC,iBAAiB6kB,YAAa7f,GACtC7I,EAAKwB,GAAG,EAAAqC,iBAAiBmd,aAAcnY,GAGvC7I,EAAKwB,GAAGiwH,EAAyBM,eAAgBh7H,KAAKu7H,iBACtDtyH,EAAKwB,GAAGiwH,EAAyBQ,oBAAqBl7H,KAAKu7H,kBAGrD,YAAAI,qBAAR,WACE,IAAM3yG,EAAchpB,KAAKiJ,KAAKyc,aAAa,6BAC3C,OAAOsD,GAAgBA,EAAY6a,QAAQoK,UAAU,sBAG/C,YAAA4tF,gBAAR,WACU,IAAAv1G,EAAYq0G,EAA+B36H,KAAKktF,wBAAuB,QACxEsoC,EAAwDlvG,EAAO,GAAnDmvG,EAA4CnvG,EAAO,GAArCovG,EAA8BpvG,EAAO,GAAtBqvG,EAAervG,EAAO,GAChEkN,EAAQxzB,KAAKkzE,iBACbzlD,EAAQztB,KAAKitF,WACb34D,EAASt0B,KAAKiJ,KAAKf,YACnByxH,EAAQ,EAAAh9E,KAAKroB,EAAOi5C,YAAYC,UACtCxtE,KAAK8F,UAAY9F,KAAK6G,OAAO6iB,WAC7B1pB,KAAK80B,UAAY,IAAI,UAAiB,CACpChvB,UAAW9F,KAAK8F,UAChBkE,EAAGyjB,EAAMzjB,EAAI2rH,EACblzH,EAAGgrB,EAAMhrB,EAAI+yH,EACbnvH,MAAOonB,EAAMpnB,MAAQsvH,EAAcF,EACnCnvH,OAAQmnB,EAAMnnB,OAASkvH,EAAaE,EACpCjvH,MAAOzG,KAAKgtF,eAAe3kF,eAC3BmrB,MAAK,IAEPxzB,KAAK80B,UAAU7M,OACfjoB,KAAK27H,uBAAuBR,gBAAgBxB,IAGtC,YAAAiC,gBAAR,WACE,IAAMpoG,EAAQxzB,KAAKkzE,iBACnBlzE,KAAK80B,UAAUxS,OAAO,CACpBkR,MAAK,KAID,YAAA0/C,eAAR,SAAuBt2B,GACb,IAAA3zC,EAASjJ,KAAI,KACfhB,EAAOiK,EAAKX,UACZy1C,EAAe90C,EAAKyD,WAAWqxC,aAC/BzpB,EAASrrB,EAAKf,YACdqsB,EAAStrB,EAAKw8C,aAAa,GAC3B3pB,EAAO8gB,GAAU,EAAAD,KAAKroB,EAAOi5C,YAAYC,UAEzCzN,EADa92D,EAAKg9C,sBACK/X,MAAK,SAACrb,GAAS,MAAc,UAAdA,EAAKjpB,QAC3C4pB,EAAyB,GAGzBuoG,EAAa9yH,EAAKw1C,iBAAiB,GACnC6pD,EAAayzB,EAAW9zH,MAC1B8zH,GAAcA,EAAWjgF,YAE3BigF,EAAWxuD,WAAWv/C,SAAQ,SAACsB,GACrB,IAAM1yB,EAA2B0yB,EAAI,KAAdhyB,EAAUgyB,EAAI,UACvC9R,EAAQuiD,EAAUjO,QAAQx0D,GAAO0kB,KAAK,KAAO+7B,EACnDvqB,EAAMlwB,KAAK,CACTktB,GAAIlzB,EACJumB,MAAOjnB,EACP4gB,MAAK,EACLkD,OAAQ,QAKd,IAAMs7G,GAAeh9H,aAAI,EAAJA,EAAMi9B,QAAO,SAACyH,GAAU,OAAAA,EAAMpP,EAAOrsB,SAAW6zB,OAAS,GAQ9E,OAPAtI,EAAMxF,SAAQ,SAACrkB,GACb,IAAM+5B,EAAQs4F,EAAa9tF,MAAK,SAAC+tF,GAAa,OAAAA,EAAS3zB,KAAgB3+F,EAAK6mB,MAC5E7mB,EAAK+W,OAAOpd,KAAK,CACfhG,MAAOi3B,EAAOmJ,UAAYnJ,EAAOmJ,UAAUgG,EAAMnP,EAAOtsB,QAAUy7B,EAAMnP,EAAOtsB,YAI5EurB,GAuBX,EAzJA,CAAyD,W,+HCjC7C0oG,EAcAC,EAIPC,E,OAtHL,OACA,2BACA,OAEA,QACA,SACA,4BA8FA,SAAYF,GACV,oDACA,oDACA,kDACA,8DACA,wEACA,4DACA,8DACA,4DACA,0EACA,4DACA,8DAXF,CAAYA,EAAA,EAAAA,gBAAA,EAAAA,cAAa,KAczB,SAAYC,GACV,gCADF,CAAYA,EAAA,EAAAA,SAAA,EAAAA,OAAM,KAIlB,SAAKC,GACH,sBACA,uBACA,qBAHF,CAAKA,MAAO,KAgBZ,IAGA,yE,OACU,EAAAtgG,KAAO,EACP,EAAAC,KAAO,EACP,EAAA5O,QAAU,EACV,EAAAkvG,YAAc,EAuYd,EAAAC,qBAAuB,SAACl5E,GAC9B,IAAMm5E,EAAYC,EAChBp5E,EAAIxiD,QACJ,SAACA,GAAqB,OAAAA,EAAO1D,IAAI,UAAYg/H,EAAcO,gCAE7D,GAAIF,EAAW,CACb,IAAMG,EAAWH,EAAUr/H,IAAI,kBAC/B,EAAKy/H,aAAaD,EAAS/yH,KAAK6mB,MAI5B,EAAAosG,QAAU,SAACx5E,GACT,MAAc,EAAKz7C,OAAM,MAAzBtB,OAAK,IAAG,IAAC,EACTo2B,EAAW2mB,EAAG,OAChBy5E,EACJ1tH,KAAKsP,IAAI,EAAK49G,YAAch2H,EAAO,IAAM,EAAKg2H,YAAc,EAAIltH,KAAKqP,IAAI,GAAI,EAAK69G,YAAch2H,GAAS,IACrGy2H,EACJ3tH,KAAKqP,IAAI,EAAK69G,YAAch2H,EAAO,GAAK,EAAKg2H,YAAc,EAAIltH,KAAKqP,IAAI,GAAI,EAAK69G,YAAch2H,GAAS,GACpG02H,EAAa,EAAAtG,MAAM,EAAKtpG,QAAUsP,EAAQogG,EAAWC,GAEvDC,IAAe,EAAK5vG,UACtB,EAAAquB,UAAU,EAAKwhF,UAAW,EAAK7vG,QAAU4vG,EAAY,GACrD,EAAK5vG,QAAU4vG,I,EASrB,OA1a8C,iBAUrC,YAAA31H,QAAP,WACEpH,KAAKi9H,YACL,YAAM71H,QAAO,YAIR,YAAAo0H,WAAP,SAAkBhrG,GAChBxwB,KAAK28H,aAAansG,IAIb,YAAA0sG,YAAP,WACEl9H,KAAK28H,aAAa38H,KAAKm9H,iBAGf,YAAA1rG,WAAV,SAAqB9pB,G,MACX,EAAeA,EAAM,MAArBlB,OAAK,IAAG,KAAE,EACZ2rD,EAAwC,CAC5CpoD,EAAG,EACHvH,EAAG,EACHohB,MAAO,CACLwC,KAAM,GACN+2G,SAAUhB,EAAQiB,OAClBz0H,MAAO,IAETme,KAAM,CACJu2G,SAAUlB,EAAQmB,MAClBl3H,MAAO,EACPuC,MAAO,IAEToxG,UAAW,CACTsjB,SAAU,EACVF,SAAUhB,EAAQmB,MAClB30H,MAAO,IAET2kB,SAAU,CACR+vG,SAAUlB,EAAQiB,OAClBD,SAAUhB,EAAQmB,MAClB30H,MAAO,IAETq1C,UAAW,CACTr1C,MAAO,IAET+nG,eAAgB,CACd/nG,MAAO,CACLuV,QAAS,EACT0R,KAAM,SAGV2tG,YAAapB,EAAQqB,OAEvBz9H,KAAK2H,OAAS,EAAAoC,QAAQ,GAAqB,QAAnB,EAAEtD,aAAK,EAALA,EAAOkoC,kBAAU,eAAEmrE,iBAAkB1nD,EAAYzqD,GAC3E3H,KAAKm9H,eAAiBn9H,KAAK2H,OAAO+1H,cAG1B,YAAA5rG,YAAV,SAAsBxhB,GAAtB,WACEtQ,KAAK29H,cACC,MAAkB39H,KAAK2H,OAArB6rB,EAAK,QAAExpB,EAAC,IAAEvH,EAAC,IACbm7F,EAAuB,GACvBggC,EAAattH,EAAMoZ,SAAS,CAChC9sB,KAAMs/H,EAAc2B,0BAEtB79H,KAAK+nE,YAAY61D,GACjB59H,KAAKg9H,UAAYY,EAAWl0G,SAAS,CACnC9sB,KAAMs/H,EAAc4B,yBAEtBtqG,WAAOxF,SAAQ,SAACrkB,EAAqBjL,GACnCk/F,EAAWt6F,KAAK,EAAKy6H,WAAW,EAAKf,UAAWrzH,EAAMjL,OAExDsB,KAAKg+H,YAAYJ,GACjB,EAAAxhD,KAAKwhD,EAAY5zH,EAAGvH,GACpBzC,KAAKi+H,UAAU3tH,GACftQ,KAAKkH,WAAW02H,IAGV,YAAA71D,YAAR,SAAoBz3D,GACV,IAAAuT,EAAU7jB,KAAK2H,OAAM,MAC7B,GAAIkc,aAAK,EAALA,EAAOwC,KAAM,CACf,IAAM9V,EAAQD,EAAM4iB,SAAS,CAC3BtpB,KAAM,OACNhN,KAAMs/H,EAAcgC,wBACpB7rG,MAAO,EAAF,UACHhM,KAAMxC,aAAK,EAALA,EAAOwC,KACb0J,UAAW,OACXC,aAAc,QACVnM,aAAK,EAALA,EAAOjb,QAAS,MAGlB2c,EAAOhV,EAAMsd,UAGnB,OAFA7tB,KAAK+7B,MAAQxW,EAAKjf,OAClBtG,KAAK+7B,MAAQlY,EAAMu5G,UAAY,EACxB7sH,IAIH,YAAAwtH,WAAR,SAAmBztH,EAAe3G,EAAqBjL,GAC7C,IAAAiyG,EAAmB3wG,KAAK2H,OAAM,eAChC40H,EAAYjsH,EAAMoZ,SAAS,CAC/B9sB,KAAMs/H,EAAcO,6BACpBrxF,eAAgB,CACdzhC,KAAI,EACJjL,MAAK,KAGHy/H,EAAOn+H,KAAK87B,KACZsiG,EAAOp+H,KAAK+7B,KACZ0rB,EAAa80E,EAAUrpG,SAAS,CACpCt2B,KAAMs/H,EAAcmC,kCACpBz0H,KAAM,OACNyoB,MAAO,EAAF,UACHroB,EAAGhK,KAAK87B,KACRr5B,EAAGzC,KAAK+7B,KACR11B,MAAO,EACPC,OAAQ,GACJqqG,EAAe/nG,OAAS,MAG1Bme,EAAO/mB,KAAKs+H,WAAW/B,EAAW5yH,GACxC3J,KAAKu+H,gBAAgBhC,EAAW5yH,GAChC3J,KAAKw+H,iBAAiBjC,EAAW5yH,GACjC,IAAM80H,EAAgBlC,EAAU1uG,UAmBhC,OAjBA9G,EAAK8L,KAAK,CACR6+C,GAAI3qD,EAAK8L,KAAK,MAAQ4rG,EAAcn4H,SAItCtG,KAAK87B,KAAOqiG,EAAOM,EAAcp4H,MACjCrG,KAAK87B,MAAQ97B,KAAK2H,OAAO61H,aAAe,EAGxC/1E,EAAW50B,KAAK,CACdxsB,MAAOrG,KAAK87B,KAAOqiG,EAAsC,EAA/B12E,EAAW50B,KAAK,aAC1CvsB,OAAQtG,KAAK+7B,KAAOqiG,EAAsC,EAA/B32E,EAAW50B,KAAK,eAI7C7yB,KAAK+7B,KAAOqiG,EAEL7B,GAGD,YAAA+B,WAAR,SAAmBhuH,EAAe3G,GACxB,IAAAod,EAAS/mB,KAAK2H,OAAM,KACtBtB,EAAQ0gB,EAAK1gB,OAAS,EACtBgsB,EAAQ,EAAH,UACTzC,GAAI5vB,KAAK87B,KAAOz1B,EAAQ,EACxBmrE,GAAIxxE,KAAK+7B,KACT01C,GAAIzxE,KAAK87B,KAAOz1B,EAAQ,EACxBqrE,GAAI1xE,KAAK+7B,KACTmgC,UAAW71D,EACXiqB,OAAQ3mB,EAAK6T,QACTuJ,aAAI,EAAJA,EAAMne,QAAS,IAEf2H,EAAQD,EAAM4iB,SAAS,CAC3Bt2B,KAAMs/H,EAAcwC,4BACpB90H,KAAM,OACNyoB,MAAK,IAED9M,EAAOhV,EAAMsd,UAInB,OAHA7tB,KAAK87B,MAAQvW,EAAKlf,MAClBrG,KAAK87B,MAAQ/U,EAAKu2G,UAAY,EAEvB/sH,GAGD,YAAAguH,gBAAR,SAAwBjuH,EAAe3G,GAC7B,IAAAqwG,EAAch6G,KAAK2H,OAAM,UAC3B0e,EAAe,EAAAs3E,gBAAgBh0F,EAAKka,MArLjB,IAqL8Cm2F,EAAUpxG,OAAS,IACpF2H,EAAQD,EAAM4iB,SAAS,CAC3Bt2B,KAAMs/H,EAAcyC,6BACpB/0H,KAAM,OACNyoB,MAAO,EAAF,UACHroB,EAAGhK,KAAK87B,KACRr5B,EAAGzC,KAAK+7B,KACRhM,UAAW,OACXC,aAAc,MACd3J,KAAI,GACA2zF,EAAUpxG,OAAS,MAGrB2c,EAAOhV,EAAMsd,UAInB,OAHA7tB,KAAK+7B,MAAQxW,EAAKjf,OAClBtG,KAAK+7B,MAAQi+E,EAAUojB,UAAY,EAE5B7sH,GAGD,YAAAiuH,iBAAR,SAAyBluH,EAAe3G,GAAxC,I,EAAA,OACQi1H,EAAgBtuH,EAAMoZ,SAAS,CACnC9sB,KAAMs/H,EAAc2C,8BAEhBV,EAAOn+H,KAAK87B,KAiBlB,OAhBW,QAAX,EAAAnyB,EAAK+W,cAAM,SAAEsN,SAAQ,SAAC1wB,EAA+BwhI,GACnD,IAAMC,EAAaH,EAAcl1G,SAAS,CACxC9sB,KAAMs/H,EAAc8C,mCACpB5zF,eAAgB,CACdzhC,KAAI,EACJm1H,WAAU,KAId,EAAKhjG,KAAOqiG,EACZ,EAAKc,oBAAoBF,EAAYzhI,GACrC,EAAK4hI,qBAAqBH,EAAYzhI,MAGxC0C,KAAKm/H,iBAAiBP,GAEfA,GAGD,YAAAK,oBAAR,SAA4B3uH,EAAehT,GACjC,IAAAiwB,EAAavtB,KAAK2H,OAAM,SAChC,GAAIrK,EAAMV,KAAM,CACd,IAAM2T,EAAQD,EAAM4iB,SAAS,CAC3Bt2B,KAAMs/H,EAAckD,4BACpBx1H,KAAM,OACNyoB,MAAO,EAAF,UACHroB,EAAGhK,KAAK87B,KACRr5B,EAAGzC,KAAK+7B,KACRhM,UAAW,OACXC,aAAc,MACd3J,KAAM/oB,EAAMV,MACR2wB,EAAS3kB,OAAS,MAGpB2c,EAAOhV,EAAMsd,UASnB,OARIvwB,EAAM+hI,UACRr/H,KAAK+7B,MAAQxW,EAAKjf,OAClBtG,KAAK+7B,MAAQxO,EAAS6vG,UAAY,IAElCp9H,KAAK87B,MAAQvW,EAAKlf,MAClBrG,KAAK87B,MAAQvO,EAAS+vG,UAAY,GAG7B/sH,IAIH,YAAA2uH,qBAAR,SAA6B5uH,EAAehT,GACpC,MAA0B0C,KAAK2H,OAA7B4lB,EAAQ,WAAE0wB,EAAS,YACrB1tC,EAAQD,EAAM4iB,SAAS,CAC3Bt2B,KAAMs/H,EAAcoD,6BACpB11H,KAAM,OACNyoB,MAAO,EAAF,UACHroB,EAAGhK,KAAK87B,KACRr5B,EAAGzC,KAAK+7B,KACRhM,UAAW,OACXC,aAAc,MACd3J,KAAM/oB,EAAMA,OACR2gD,EAAUr1C,OAAS,MAGrB2c,EAAOhV,EAAMsd,UAInB,OAHA7tB,KAAK+7B,MAAQxW,EAAKjf,OAClBtG,KAAK+7B,MAAQxO,EAAS6vG,UAAY,EAE3B7sH,GAGD,YAAAytH,YAAR,SAAoB1tH,GAClB,IAAM0sH,EAAY1sH,EAAMgwG,cAAc4b,EAAc4B,wBAAwB,GACtElgC,EAAattF,EAAMgwG,cAAc4b,EAAcO,8BACrD,GAAKO,GAAmC,IAAtBp/B,EAAWh/F,OAA7B,CAGA,IAAM2gI,EAAgBvC,EAAUnvG,UAChC7tB,KAAKq8H,YAAckD,EAAcl5H,QAG3B,YAAA84H,iBAAR,SAAyB7uH,GACvB,IAAMkvH,EAAclvH,EAAMgwG,cAAc4b,EAAc8C,oCAChDS,EAAmBD,EAAYl7G,KAAI,SAAC3a,GAAS,iBAAK2b,eAAe3b,EAAKkkB,cAEtE6xG,EADcpvH,EAAMgwG,cAAc4b,EAAcoD,8BACjBh7G,KAAI,SAAC/T,GAAU,iBAAK+U,eAAe/U,EAAMsd,cACxE1d,EAAOhB,KAAKqP,IAAG,MAARrP,KAAYuwH,EAAiBp7G,KAAI,SAACiB,GAAS,OAAAA,EAAKpV,SAE7DqvH,EAAYxxG,SAAQ,SAAC+wG,EAAoBrgI,GACvC,IAAM6mB,EAAOk6G,EAAiB/gI,GACxBihI,EAAYZ,EAAWze,cAAc4b,EAAckD,6BAA6B,GAChFQ,EAAab,EAAWze,cAAc4b,EAAcoD,8BAA8B,GACxF,GAAIK,GAAaC,EAAY,CAC3B,IAAMC,EAAgB,UAAKv6G,eAAeq6G,EAAU9xG,WAC9CiyG,EAAiB,UAAKx6G,eAAes6G,EAAW/xG,WAElDgyG,EAAcv5H,OAASif,EAAKjf,QAC9Bq5H,EAAU9sG,KAAK,IAAK8sG,EAAU9sG,KAAK,MAAQtN,EAAKjf,OAASu5H,EAAcv5H,QAAU,GAE/Ew5H,EAAex5H,OAASif,EAAKjf,QAC/Bs5H,EAAW/sG,KAAK,IAAK+sG,EAAW/sG,KAAK,MAAQtN,EAAKjf,OAASw5H,EAAex5H,QAAU,GAGlFw5H,EAAe3vH,KAAOA,GACxByvH,EAAW/sG,KAAK,IAAK+sG,EAAW/sG,KAAK,KAAO1iB,EAAO2vH,EAAe3vH,WAMlE,YAAA8tH,UAAR,SAAkB3tH,GACV,MAA0BtQ,KAAK2H,OAA7BqC,EAAC,IAAEvH,EAAC,IAAE4D,EAAK,QAAEC,EAAM,SACrBif,EAAOjV,EAAMud,WAEfxnB,GAASC,IACXgK,EAAMw3C,QAAQ,CACZl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAC,EACDvH,EAAC,EACD4D,MAAOA,GAASkf,EAAKlf,MACrBC,OAAQA,GAAUif,EAAKjf,WAMvB,YAAAq2H,aAAR,SAAqBnsG,GAArB,WAEQotE,EADQ59F,KAAK01F,WACM4qB,cAAc4b,EAAcO,8BACjDjsG,IAAOxwB,KAAKm9H,gBACdv/B,EAAW5vE,SAAQ,SAACuuG,GAClB,IAAMwD,EAAcxD,EAAUr/H,IAAI,kBAC9B6iI,GACF,EAAKC,eAAezD,EAAWwD,EAAYp2H,KAAK6mB,KAAOA,EAAK,WAAa,eAG7ExwB,KAAKm9H,eAAiB3sG,IAGtBotE,EAAW5vE,SAAQ,SAACuuG,GAClB,EAAKyD,eAAezD,MAEtBv8H,KAAKm9H,oBAAiB15H,GAExBzD,KAAK8nB,KAAKq0G,EAAOL,eAAgB97H,KAAKm9H,iBAGhC,YAAA6C,eAAR,SAAuBzD,EAAmBrvE,GAClC,MAA2CltD,KAAK2H,OAA9Cof,EAAI,OAAEizF,EAAS,YAAEzsF,EAAQ,WAAE0wB,EAAS,YACtCgiF,EAAY1D,EAAUjc,cAAc4b,EAAcwC,6BAA6B,GAC/EwB,EAAa3D,EAAUjc,cAAc4b,EAAcyC,8BAA8B,GACjFwB,EAAiB5D,EAAUjc,cAAc4b,EAAckD,6BACvDgB,EAAkB7D,EAAUjc,cAAc4b,EAAcoD,8BACxDe,EAAYnzE,GAAYA,EAAK,QAE/B+yE,IACFA,EAAUptG,KAAK9L,EAAKne,OACpBq3H,EAAUptG,KAAK9L,EAAKs5G,IAAc,KAEhCH,IACFA,EAAWrtG,KAAKmnF,EAAUpxG,OAC1Bs3H,EAAWrtG,KAAKmnF,EAAUqmB,IAAc,KAE1CF,EAAenyG,SAAQ,SAACsyG,GACtBA,EAAcztG,KAAKtF,EAAS3kB,OAC5B03H,EAAcztG,KAAKtF,EAAS8yG,IAAc,OAE5CD,EAAgBpyG,SAAQ,SAACuyG,GACvBA,EAAe1tG,KAAKorB,EAAUr1C,OAC9B23H,EAAe1tG,KAAKorB,EAAUoiF,IAAc,QAIxC,YAAAn5H,WAAR,SAAmBoJ,GAAnB,WACEtQ,KAAKi9H,YACL,IAAMD,EAAY1sH,EAAMgwG,cAAc4b,EAAc4B,wBAAwB,GAC5Ed,EAAUvyH,GAAG,YAAazK,KAAKs8H,sBAC/Bt8H,KAAK4xB,eAAc,WACjBorG,EAAUnrG,IAAI,YAAa,EAAKyqG,yBAElCt8H,KAAKwgI,GAAK,IAAI,EAAA10H,GAAGkxH,GACjBh9H,KAAKygI,MAAQ,IAAI,EAAA10H,MAAMixH,GACvBh9H,KAAKygI,MAAMh2H,GAAG,QAASzK,KAAK48H,UAGtB,YAAAK,UAAR,WACMj9H,KAAKwgI,IACPxgI,KAAKwgI,GAAGp5H,UAENpH,KAAKygI,OACPzgI,KAAKygI,MAAMr5H,WA8BP,YAAAu2H,YAAR,WACE39H,KAAK87B,KAAO,EACZ97B,KAAK+7B,KAAO,EACZ/7B,KAAKmtB,QAAU,GAEnB,EA1aA,CAA8C,WA4a9C,SAASqvG,EAAmBxqG,EAAmB0uG,GAE7C,IADA,IAAI/4G,EAAMqK,EACHrK,GAAK,CACV,GAAI+4G,EAAU/4G,GACZ,OAAOA,EAETA,EAAMA,EAAIg5G,a,sGC3jBd,OAEA,2BACA,QAYA,aAOE,WAAYl4H,GAHJ,KAAAm4H,uBAAgC,GAChC,KAAAC,uBAAgC,GAGtC7gI,KAAK4G,KAAO6B,EAAI7B,KAgSpB,OA7RS,YAAAgoB,gBAAP,SAAuBkG,EAAgBlrB,EAAmCk3H,QAAnC,IAAAl3H,MAAA,cAAmC,IAAAk3H,OAAA,GAC3D,UAATl3H,EACEk3H,GACG9gI,KAAK4gI,uBAAuB1yF,MAAK,SAACxxC,GAAM,OAAAA,GAAKo4B,MAIlD90B,KAAK4gI,uBAAuBt9H,KAAKwxB,GAG/BgsG,GACG9gI,KAAK6gI,uBAAuB3yF,MAAK,SAACxxC,GAAM,OAAAA,GAAKo4B,MAIlD90B,KAAK6gI,uBAAuBv9H,KAAKwxB,IAKhC,YAAAisG,qBAAP,SAA4Bn3H,GAC1B,YAD0B,IAAAA,MAAA,UACT,UAATA,EAAmB5J,KAAK6gI,uBAAyB7gI,KAAK4gI,yBAA2B,IAMpF,YAAA/3G,MAAP,WACE7oB,KAAK4gI,uBAAyB,GAG9B5gI,KAAK6gI,uBAAyB,EAAA5kG,OAAOj8B,KAAK6gI,wBAAwB,SAAC/rG,GAAc,OAAAA,EAAU5K,gBAGtF,YAAA82G,qBAAP,WACE,EAAAx3H,KAAKxJ,KAAK6gI,wBAAwB,SAAC/rG,GAC7BA,EAAU5K,aACZ4K,EAAU1tB,aAGdpH,KAAK6gI,uBAAyB,IAGzB,YAAAh3G,WAAP,WACE,IAAM9jB,EAAQ/F,KAAK4G,KAAKgf,QAClBU,EAAUvgB,EAAMugB,QAAUvgB,EAAMugB,QAAUtmB,KAAK4G,KAAKe,OAAOlB,MAAM6f,QACvE,MAAgB,SAAZA,EACK,CAAC,EAAG,EAAG,EAAG,GAEZA,GAIF,YAAAiE,mBAAP,WACE,IAAMjE,EAAUtmB,KAAKihI,uBACrBjhI,KAAK4G,KAAKc,aAAa,CACrB4e,QAAO,IAETtmB,KAAK4G,KAAK0C,UAGL,YAAA8lB,oBAAP,WACOpvB,KAAK4G,KAAK8mB,YACb1tB,KAAK4G,KAAK8mB,UAAY,IAAI,UAAK1tB,KAAK4G,KAAKoD,EAAGhK,KAAK4G,KAAKnE,EAAGzC,KAAK4G,KAAKP,MAAOrG,KAAK4G,KAAKN,SAEtF,IAAIqmH,EAAW3sH,KAAK4G,KAAK8mB,UAAUxd,KAC/B08G,EAAW5sH,KAAK4G,KAAK8mB,UAAUvd,KAC/B08G,EAAW7sH,KAAK4G,KAAK8mB,UAAUtd,KAC/B08G,EAAW9sH,KAAK4G,KAAK8mB,UAAUrd,KAoBnC,OAnBA,EAAA7G,KAAKxJ,KAAK6gI,wBAAwB,SAAC/rG,GACzB,IAAAvO,EAAauO,EAAS,SAC9B,IAAIA,EAAU/tB,UAAd,CAGM,MAA6B+tB,EAAUjH,UAArC3d,EAAI,OAAEC,EAAI,OAAEC,EAAI,OAAEC,EAAI,OAC1BA,GAAQw8G,GAAYx8G,GAAQy8G,GAAyB,QAAbvmG,IAC1CsmG,EAAWx8G,GAETD,GAAQy8G,GAAYz8G,GAAQ08G,GAAyB,WAAbvmG,IAC1CumG,EAAW18G,GAETD,EAAOw8G,GAAYx8G,GAAQy8G,GAAyB,SAAbrmG,IACzComG,EAAWx8G,GAETD,GAAQy8G,GAAYx8G,GAAQy8G,GAAyB,UAAbrmG,IAC1CqmG,EAAW18G,OAGR,IAAI,UAAKy8G,EAAUE,EAAUD,EAAWD,EAAUG,EAAWD,IAG9D,YAAAoU,qBAAR,W,MACQl7H,EAAQ/F,KAAK4G,KAAKgf,QAClB3c,EAAOjJ,KAAK4G,KAAKqC,KACjBogB,EAAYpgB,EAAKg4C,eACf9wC,EAA2BkZ,EAAS,KAA9BhZ,EAAqBgZ,EAAS,KAAxBjZ,EAAeiZ,EAAS,KAAlBnZ,EAASmZ,EAAS,KACtCkwF,EAAWv5G,KAAK4G,KAAKe,OAAOlB,MAAM8yG,SACpC,EAAAn3F,QAAQm3F,IACV,EAAA/vG,KAAK+vG,GAAU,SAACpD,EAAIz3G,GACa,mBAApB66G,EAAS76G,KAClB66G,EAAS76G,GAAS66G,EAAS76G,GAAOqH,OAIxC/F,KAAKu5G,SAAW,EAAAnnF,MAAMmnF,GAEtB,IAAM2nB,EAAkB,CAAC,IAAI,UAAK73G,EAAUnZ,KAAMmZ,EAAUjZ,KAAMiZ,EAAUhjB,MAAOgjB,EAAU/iB,SACnD,eAAX,QAA3B,EAAAtG,KAAK4G,KAAKe,OAAO4gB,kBAAU,eAAE3e,OAC/B5J,KAAKmhI,kBAAkBl4H,EAAMi4H,EAAgB,GAAIA,GAEnD,IAAIrwG,EAAM7wB,KAAKohI,WAAWF,GAC1BlhI,KAAKqhI,WAAWp4H,EAAM4nB,EAAKqwG,GAC3BrwG,EAAM7wB,KAAKohI,WAAWF,GAEtB,IAAMvyF,EAAa3uC,KAAK4gI,uBACxB,EAAAp3H,KAAKmlC,GAAY,SAAC1vC,GAChB,IACMsmB,EADYtmB,EACK4uB,UACvBqzG,EAAgB59H,KAAKiiB,MAGvB,IAAMe,EAAU,CACdlW,GAFFygB,EAAM7wB,KAAKohI,WAAWF,IAET9wH,KAAOpQ,KAAKu5G,SAAS,GAChC1oF,EAAI1gB,KAAOA,EAAOnQ,KAAKu5G,SAAS,GAChC1oF,EAAIxgB,KAAOA,EAAOrQ,KAAKu5G,SAAS,GAChCrpG,EAAO2gB,EAAI3gB,KAAOlQ,KAAKu5G,SAAS,IAG5B+nB,EAAethI,KAAKuhI,UAAUt4H,GAKpC,OAJAqd,EAAQ,IAAMg7G,EAAa,GAC3Bh7G,EAAQ,IAAMg7G,EAAa,GAC3Bh7G,EAAQ,IAAMg7G,EAAa,GAC3Bh7G,EAAQ,IAAMg7G,EAAa,GACpBh7G,GAGD,YAAA66G,kBAAR,SAA0Bl4H,EAAYu4H,EAAYC,GAChD,IAAMn5G,EAAO,EAAAo5G,kBAAkBz4H,GACvBo3B,EAAiBp3B,EAAKyoB,gBAAe,aAC7C,EAAAloB,KAAK8e,GAAM,SAACnE,GACV,GAAiD,IAA7CA,EAAKjnB,IAAI,SAASA,IAAI,YAAY0B,OAAtC,CAGA,IAAM2nB,EAAWpC,EAAKjnB,IAAI,YACpB,EAAgCinB,EAAKw8B,gBAAnCzwC,EAAI,OAAEE,EAAI,OAAE/J,EAAK,QAAEC,EAAM,SAC5B+5B,EASc,WAAb9Z,EACFk7G,EAAOn+H,KAAK,IAAI,UAAKk+H,EAAWtxH,KAAO7J,EAAO+J,EAAM/J,EAAOC,IACrC,SAAbigB,EACTk7G,EAAOn+H,KAAK,IAAI,UAAK4M,EAAMsxH,EAAWnxH,KAAMhK,EAAOC,IAC7B,QAAbigB,GACTk7G,EAAOn+H,KAAK,IAAI,UAAKk+H,EAAWrxH,KAAMC,EAAM/J,EAAOC,IAbpC,SAAbigB,EACFk7G,EAAOn+H,KAAK,IAAI,UAAKk+H,EAAWtxH,KAAO7J,EAAO+J,EAAM/J,EAAOC,IACrC,WAAbigB,EACTk7G,EAAOn+H,KAAK,IAAI,UAAK4M,EAAMsxH,EAAWnxH,KAAMhK,EAAOC,IAC7B,UAAbigB,GACTk7G,EAAOn+H,KAAK,IAAI,UAAKk+H,EAAWrxH,KAAMC,EAAM/J,EAAOC,SAcnD,YAAA+6H,WAAR,SAAmBp4H,EAAMu4H,EAAYC,GACnC,IAAMr5G,EAAU,EAAAu5G,oBAAoB14H,GACpC,EAAAO,KAAK4e,GAAS,SAAChE,GACb,IAAMmC,EAAWnC,EAAOlnB,IAAI,YAAY+vB,MAAM,KAAK,GAC7C,EAAgC7I,EAAOu8B,gBAArCzwC,EAAI,OAAEE,EAAI,OAAE/J,EAAK,QAAEC,EAAM,SAChB,QAAbigB,EACFk7G,EAAOn+H,KAAK,IAAI,UAAK4M,EAAMsxH,EAAWpxH,KAAO9J,EAAQD,EAAOC,IACtC,WAAbigB,EACTk7G,EAAOn+H,KAAK,IAAI,UAAK4M,EAAMsxH,EAAWnxH,KAAMhK,EAAOC,IAC7B,SAAbigB,EACTk7G,EAAOn+H,KAAK,IAAI,UAAKk+H,EAAWtxH,KAAO7J,EAAO+J,EAAM/J,EAAOC,IAE3Dm7H,EAAOn+H,KAAK,IAAI,UAAKk+H,EAAWrxH,KAAMC,EAAM/J,EAAOC,QAKjD,YAAAi7H,UAAR,SAAkBt4H,GAChB,IAAM+sD,EAAS,GACT0iC,EAAQzvF,EAAKuf,WACnB,EAAAhf,KAAKkvF,GAAO,SAACztE,GACPA,EAAK+D,iBACPgnC,EAAO1yD,KAAK2nB,EAAK+D,oBAGrB,IAAI9e,EAAOqC,IACPpC,GAAQoC,IACRnC,EAAOmC,IACPlC,GAAQkC,IACZ,EAAA/I,KAAKwsD,GAAQ,SAAC1lD,GACKA,EAAMpT,IAAI,YAClB8wB,SAAQ,SAAC5K,GAChB,GAAmB,UAAfA,EAAMxZ,MAAqD,IAAjCwZ,EAAMlmB,IAAI,YAAY0B,OAApD,CAGA,IAAM2mB,EAAOnC,EAAMyK,UACftI,EAAKrV,KAAOA,IACdA,EAAOqV,EAAKrV,MAEVqV,EAAKpV,KAAOA,IACdA,EAAOoV,EAAKpV,MAEVoV,EAAKnV,KAAOA,IACdA,EAAOmV,EAAKnV,MAEVmV,EAAKlV,KAAOA,IACdA,EAAOkV,EAAKlV,aAIlB,IAAMqY,EAAazf,EAAKg4C,eAEpB2gF,EAAYzyH,KAAKqP,IAAIrO,EAAOjF,WAAWwd,EAAWvY,MAAO,GACzDyxH,EAAY,IAEdA,GADcl5G,EAAWriB,OAASqiB,EAAWriB,MAAQu7H,IAIvD,IAAIC,EAAW1yH,KAAKqP,IAAItT,WAAWwd,EAAWxY,MAAQA,EAAM,GACxD2xH,EAAW,IAEbA,GADcn5G,EAAWriB,OAASqiB,EAAWriB,MAAQw7H,IAIvD,IAAIC,EAAU3yH,KAAKqP,IAAItT,WAAWwd,EAAWtY,MAAQA,EAAM,GACvD0xH,EAAU,IAEZA,GADcp5G,EAAWpiB,QAAUoiB,EAAWpiB,OAASw7H,IAIzD,IAAIC,EAAa5yH,KAAKqP,IAAInO,EAAOnF,WAAWwd,EAAWrY,MAAO,GAC1D0xH,EAAa,IAEfA,GADcr5G,EAAWpiB,QAAUoiB,EAAWpiB,OAASy7H,IAIzD,MAAO,CAACD,EAASF,EAAWG,EAAYF,IAGlC,YAAAT,WAAR,SAAmBK,GACjB,IAAIvxH,EAAOqC,IACPpC,GAAQoC,IACRnC,EAAOmC,IACPlC,GAAQkC,IAUZ,OARA,EAAA/I,KAAKi4H,GAAQ,SAACl8G,GACZ,IAAMsL,EAAMtL,EACZrV,EAAOf,KAAKsP,IAAIoS,EAAI3gB,KAAMA,GAC1BC,EAAOhB,KAAKqP,IAAIqS,EAAI1gB,KAAMA,GAC1BC,EAAOjB,KAAKsP,IAAIoS,EAAIzgB,KAAMA,GAC1BC,EAAOlB,KAAKqP,IAAIqS,EAAIxgB,KAAMA,MAGrB,CAAEH,KAAI,EAAEC,KAAI,EAAEC,KAAI,EAAEC,KAAI,IA2BnC,EAxSA,G,uHCfA,aAEa,EAAAwoG,mBAAqB,CAChCkP,gBAAiB,CACfl4F,KAAM,WAERkuB,aAAc,UACd13C,MAAO,IACPC,OAAQ,IACRizG,SAAU,CAAC,EAAAJ,aAAc,GAAI,EAAAG,gBAAiB,IAC9ChzF,QAAS,OACTzC,MAAO,CACLyC,QAAS,CAAC,GAAI,GAAI,GAAI,IACtB0c,WAAY,cACZlT,SAAU,GACVmoF,WAAY,OACZpoF,KAAM,yBACNS,OAAQ,mBACRP,UAAW,OACXC,aAAc,MACd6wD,WAAY,GACZ24B,eAAe,GAEjB11F,YAAa,CACXwC,QAAS,CAAC,GAAI,GAAI,EAAA2yF,0BAA2B,IAC7Cj2E,WAAY,cACZlT,SAAU,GACVD,KAAM,4BACNS,OAAQ,mBACRP,UAAW,OACXC,aAAc,MACd6wD,WAAY,GACZ24B,eAAe,GAEjBr1F,KAAM,CACJ1hB,EAAG,CACD0jB,SAAS,EACTI,SAAU,OACV4hF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,EACTY,KAAM,CACJne,MAAO,CACL0nB,OAAQ,4BACR4rC,UAAW,EACXu9C,SAAU,QAIhB1yF,KAAM,CACJZ,SAAS,EACTvd,MAAO,CACL0nB,OAAQ,4BACR4rC,UAAW,IAGfl1C,SAAU,CACRb,SAAS,EACTvd,MAAO,CACL0nB,OAAQ,4BACR4rC,UAAW,GACXt9D,OAAQ,IAGZgE,MAAO,CACLujB,SAAS,EACTS,OAAQ,EACRK,YAAY,EACZC,UAAU,EACV23D,UAAW,CACThvD,KAAM,4BACNC,SAAU,KAGdjM,MAAO,CACLsC,SAAS,EACTgB,QAAS,GACTve,MAAO,CACLinB,KAAM,4BACNC,SAAU,GACVE,aAAc,YAIpBhmB,EAAG,CACDmc,SAAS,EACTI,SAAU,SACV4hF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,EACTY,KAAM,CACJne,MAAO,CACL0nB,OAAQ,4BACR4rC,UAAW,EACXu9C,SAAU,QAIhB1yF,KAAM,CACJZ,SAAS,EACTvd,MAAO,CACL0nB,OAAQ,8BAGZtJ,SAAU,CACRb,SAAS,EACTvd,MAAO,CACLhK,OAAQ,EACR0xB,OAAQ,4BACR4rC,UAAW,KAGft5D,MAAO,CACLujB,SAAS,EACT04D,UAAW,CACThvD,KAAM,4BACNC,SAAU,IAEZlJ,OAAQ,GACRM,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLsC,SAAS,EACTgB,QAAS,GACTve,MAAO,CACLinB,KAAM,4BACNC,SAAU,MAIhBwiF,OAAQ,CACNnK,iBAAiB,EAEjBrhF,KAAM,CACJle,MAAO,CACL6wG,SAAU,KACVv9C,UAAW,EACX5rC,OAAQ,YAGZvJ,KAAM,CACJne,MAAO,CACLszD,UAAW,EACX5rC,OAAQ,YAGZtJ,SAAU,CACRpe,MAAO,CACLszD,UAAW,EACX5rC,OAAQ,UACR1xB,OAAQ,EACR+6G,gBAAgB,IAGpB/2G,MAAO,CACLgkB,OAAQ,GACRi4D,UAAW,CACThvD,KAAM,UACNC,SAAU,IAEZ7I,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACL+C,OAAQ,GACRhe,MAAO,CAAEinB,KAAM,UAAWC,SAAU,MAGxCkR,OAAQ,CACNp+B,MAAO,CACLgkB,OAAQ,GACRi4D,UAAW,CACThvD,KAAM,UACNC,SAAU,OAKlB1L,OAAQ,CACNiJ,UAAU,EACV9G,SAAU,SAEVqzF,aAAc,CAAC,GAAI,GAAI,GAAI,IAC3B/1F,MAAO,CACLsC,SAAS,EACTvd,MAAO,CACLinB,KAAM,YAGVxJ,KAAM,CACJzd,MAAO,CACLinB,KAAM,aAIZjtB,MAAO,CACLgkB,OAAQ,GACRi4D,UAAW,CACThvD,KAAM,6BAERjnB,MAAO,CACLinB,KAAM,4BACNqsC,UAAW,IAGfvtB,WAAY,CACVnoB,QAAS,CACPgG,UAAW,CACT,aAAc,CACZ+kB,gBAAiB,uBACjBsoE,UAAW,+BACXr8F,MAAO,kC,wGCpNjB,WAwCA,4BAAiCwkH,GAC/B,IAAM5nB,EAAU,EAAAhoF,MAAM4vG,GAKtB,OAHK5nB,EAAQh2F,SACXg2F,EAAQh2F,OAAS,IAEZg2F,I,gHC7CI,EAAAjhB,yBAA2B,CACtCh1E,KAAM,CACJna,EAAG,CACDi4H,SAAU,CACRnnC,YAAa,CAAC,CAAEl+F,KAAM,gBACtBm+F,MAAO,CACL2hB,YAAa,CACX,CACE9/G,KAAM,cACNiiD,OAAQ,CACNqjF,WAAY,IAGhB,CACEtlI,KAAM,eACNiiD,OAAQ,CACNsjF,OAAQ,KAGZ,CACEvlI,KAAM,eACNiiD,OAAQ,CACNsjF,OAAQ,KAGZ,CACEvlI,KAAM,iBACNiiD,OAAQ,CACNuhE,aAAc,QAGlB,CACExjH,KAAM,eAKdkjB,OAAQ,CACNg7E,YAAa,CAAC,CAAEl+F,KAAM,gBACtBm+F,MAAO,CACL2hB,YAAa,CACX,CACE9/G,KAAM,kBACNiiD,OAAQ,CACNohE,KAAM,CAAC,SAGX,CACErjH,KAAM,eACNiiD,OAAQ,CACNsjF,OAAQ,KAGZ,CACEvlI,KAAM,eACNiiD,OAAQ,CACNsjF,OAAQ,KAGZ,CACEvlI,KAAM,mBACNiiD,OAAQ,CACNnpB,KAAM,WACNypF,QAAS,EACTiB,aAAc,QAGlB,CACExjH,KAAM,eAKdwlI,SAAU,CACRtnC,YAAa,CAAC,CAAEl+F,KAAM,gBACtBm+F,MAAO,CACL2hB,YAAa,CACX,CACE9/G,KAAM,4BAER,CACEA,KAAM,6BACNiiD,OAAQ,CACNohE,KAAM,CAAC,SAGX,CACErjH,KAAM,eACNiiD,OAAQ,CACNsjF,OAAQ,KAGZ,CACEvlI,KAAM,eACNiiD,OAAQ,CACNsjF,OAAQ,KAGZ,CACEvlI,KAAM,mBAER,CACEA,KAAM,mBAER,CACEA,KAAM,gBAMhB6F,EAAG,CACDqd,OAAQ,CACNg7E,YAAa,CAAC,CAAEl+F,KAAM,uBAAyB,CAAEA,KAAM,iBACvDm+F,MAAO,CACL4hB,oBAAqB,CAAC,CAAE//G,KAAM,mBAAqB,CAAEA,KAAM,aAC3DigH,aAAc,CAAC,CAAEjgH,KAAM,oBAAsB,CAAEA,KAAM,eAGzDqlI,SAAU,CACRnnC,YAAa,CAAC,CAAEl+F,KAAM,uBAAyB,CAAEA,KAAM,iBACvDm+F,MAAO,CACL4hB,oBAAqB,CAAC,CAAE//G,KAAM,mBAAqB,CAAEA,KAAM,aAC3DigH,aAAc,CACZ,CACEjgH,KAAM,iBACNiiD,OAAQ,CACNuhE,aAAc,QAGlB,CAAExjH,KAAM,mB,yFCnIpB,OACA,OACA,OACA,4BACA,SAEA,2BAgBA,aA4BE,WAAY6L,GAAZ,WAhBQ,KAAAkiD,SAAW,EAAAla,UAAS,WAC1B,IAAI,EAAK7pC,KAAKG,UAAd,CAGM,MAAoB,EAAKs7H,gBAAvBh8H,EAAK,QAAEC,EAAM,SAEjB,EAAKD,QAAUA,GAAS,EAAKC,SAAWA,IAI5C,EAAKD,MAAQA,EACb,EAAKC,OAASA,EACd,EAAKM,KAAKc,aAAa,CAAErB,MAAK,EAAEC,OAAM,IACtC,EAAKM,KAAK0C,aACT,KAGO,IAAAtD,EAAuByC,EAAG,aAAZ7B,EAAS6B,EAAG,KAClCzI,KAAKgG,aAAeA,EACpBhG,KAAK4G,KAAOA,EACZ5G,KAAKioB,OAiIT,OA1HS,YAAAo6G,cAAP,WACE,IAAM57H,EAAQ,EAAA6c,iBACVjd,EAAQrG,KAAK4G,KAAKP,MAAQrG,KAAK4G,KAAKP,MAAQI,EAAMJ,MAClDC,EAAStG,KAAK4G,KAAKN,OAAStG,KAAK4G,KAAKN,OAASG,EAAMH,OAOzD,OAJItG,KAAK4G,KAAKT,WACZE,EAAQrG,KAAKgG,aAAas8H,YAActiI,KAAKgG,aAAas8H,YAAcj8H,EACxEC,EAAStG,KAAKgG,aAAau8H,aAAeviI,KAAKgG,aAAau8H,aAAej8H,GAEtE,CAAED,MAAK,EAAEC,OAAM,IAOjB,YAAAk8H,aAAP,WACE,OAAOxiI,KAAK6G,OAAO3J,IAAI,cAMlB,YAAA2K,iBAAP,WACQ,MAAoB7H,KAAKqiI,gBAAvBh8H,EAAK,QAAEC,EAAM,SAErBtG,KAAKqG,MAAQA,EACbrG,KAAKsG,OAASA,EACdtG,KAAK6G,OAAOkkD,WAAW1kD,EAAOC,IAOzB,YAAAwB,kBAAP,WACU,IAAArB,EAAUzG,KAAK4G,KAAI,MACrB67H,EAAc,UAAgBn/G,eAAe7c,GAC7CopB,EAAe,EAAA3yB,IAAIulI,EAAa,wBAClC5yG,GACF7vB,KAAK4qD,kBAAkB,CACrBrZ,gBAAiB1hB,KASf,YAAA+6B,kBAAR,SAA0B83E,GAExB,EAAAt3H,UAAUpL,KAAKwiI,eAAgBE,GAG/B,EAAAt3H,UAAUpL,KAAK6G,OAAO3J,IAAI,MAAO,CAC/B+tD,QAAS,eACTC,cAAe,YAOZ,YAAA9jD,QAAP,WAEMpH,KAAK2iI,iBACP3iI,KAAK2iI,eAAeC,UAAU5iI,KAAKgG,cACnChG,KAAK2iI,eAAeE,aACpB7iI,KAAKgG,aAAe,MAGtBhG,KAAK6G,OAAOO,WAMN,YAAA07H,aAAR,WACuB9iI,KAAK4G,KAAI,WAI5B5G,KAAK2iI,eAAiB,IAAI,UAAe3iI,KAAK2qD,UAC9C3qD,KAAK2iI,eAAeI,QAAQ/iI,KAAKgG,gBAO7B,YAAAiiB,KAAR,WACEjoB,KAAKgjI,cAELhjI,KAAK8iI,eAGL9iI,KAAK4qD,kBAAkB,CAAErkC,SAAU,cAM7B,YAAAy8G,YAAR,WAEQ,MAA4DhjI,KAAK4G,KAA/D,IAAAL,gBAAQ,IAAG,WAAQ,EAAEC,EAAU,aAAE,IAAAE,oBAAY,IAAG,GAAK,EACvD,EAAoB1G,KAAKqiI,gBAAvBh8H,EAAK,QAAEC,EAAM,SAEfq4B,EAA8B,WAAbp4B,EAAwB,EAAAsF,OAAS,EAAAo3H,IAExDjjI,KAAK6G,OAAS,IAAI83B,EAAE,CAClBj4B,aAAY,EACZZ,UAAW9F,KAAKgG,aAChBK,MAAK,EACLC,OAAM,EACNE,WAAU,IAEZxG,KAAKqG,MAAQA,EACbrG,KAAKsG,OAASA,EACdtG,KAAK8H,qBAET,EAjKA,G,0CCtBA,mBAOA,IAAIo7H,EAAW,WACX,GAAmB,oBAAR7hF,IACP,OAAOA,IASX,SAAS8hF,EAAS7kI,EAAKV,GACnB,IAAIS,GAAU,EAQd,OAPAC,EAAIi+B,MAAK,SAAU6mG,EAAO1kI,GACtB,OAAI0kI,EAAM,KAAOxlI,IACbS,EAASK,GACF,MAIRL,EAEX,OAAsB,WAClB,SAASglI,IACLrjI,KAAKsjI,YAAc,GAuEvB,OArEAvmI,OAAOC,eAAeqmI,EAAQplI,UAAW,OAAQ,CAI7Cf,IAAK,WACD,OAAO8C,KAAKsjI,YAAY1kI,QAE5B3B,YAAY,EACZsmI,cAAc,IAMlBF,EAAQplI,UAAUf,IAAM,SAAUU,GAC9B,IAAIc,EAAQykI,EAASnjI,KAAKsjI,YAAa1lI,GACnCwlI,EAAQpjI,KAAKsjI,YAAY5kI,GAC7B,OAAO0kI,GAASA,EAAM,IAO1BC,EAAQplI,UAAU2H,IAAM,SAAUhI,EAAKN,GACnC,IAAIoB,EAAQykI,EAASnjI,KAAKsjI,YAAa1lI,IAClCc,EACDsB,KAAKsjI,YAAY5kI,GAAO,GAAKpB,EAG7B0C,KAAKsjI,YAAYhgI,KAAK,CAAC1F,EAAKN,KAOpC+lI,EAAQplI,UAAR,OAA2B,SAAUL,GACjC,IAAI4lI,EAAUxjI,KAAKsjI,YACf5kI,EAAQykI,EAASK,EAAS5lI,IACzBc,GACD8kI,EAAQ57G,OAAOlpB,EAAO,IAO9B2kI,EAAQplI,UAAUyH,IAAM,SAAU9H,GAC9B,SAAUulI,EAASnjI,KAAKsjI,YAAa1lI,IAKzCylI,EAAQplI,UAAU4qB,MAAQ,WACtB7oB,KAAKsjI,YAAY17G,OAAO,IAO5By7G,EAAQplI,UAAU+vB,QAAU,SAAUlc,EAAUysD,QAChC,IAARA,IAAkBA,EAAM,MAC5B,IAAK,IAAIonB,EAAK,EAAGC,EAAK5lF,KAAKsjI,YAAa39C,EAAKC,EAAGhnF,OAAQ+mF,IAAM,CAC1D,IAAIy9C,EAAQx9C,EAAGD,GACf7zE,EAAStV,KAAK+hE,EAAK6kE,EAAM,GAAIA,EAAM,MAGpCC,EAzEX,GAtBW,GAsGXI,EAA8B,oBAAXxnI,QAA8C,oBAAbgK,UAA4BhK,OAAOgK,WAAaA,SAGpGy9H,OACsB,IAAXC,GAA0BA,EAAOx0H,OAASA,KAC1Cw0H,EAES,oBAATC,MAAwBA,KAAKz0H,OAASA,KACtCy0H,KAEW,oBAAX3nI,QAA0BA,OAAOkT,OAASA,KAC1ClT,OAGJ4nI,SAAS,cAATA,GASPC,EACqC,mBAA1BxyH,sBAIAA,sBAAsBzT,KAAK6lI,GAE/B,SAAU5xH,GAAY,OAAOP,YAAW,WAAc,OAAOO,EAASV,KAAKD,SAAW,IAAO,KAqExG,IAGI4yH,EAAiB,CAAC,MAAO,QAAS,SAAU,OAAQ,QAAS,SAAU,OAAQ,UAE/EC,EAAwD,oBAArBC,iBAInCC,EAA0C,WAM1C,SAASA,IAMLlkI,KAAKmkI,YAAa,EAMlBnkI,KAAKokI,sBAAuB,EAM5BpkI,KAAKqkI,mBAAqB,KAM1BrkI,KAAKskI,WAAa,GAClBtkI,KAAKukI,iBAAmBvkI,KAAKukI,iBAAiB1mI,KAAKmC,MACnDA,KAAKwkI,QAjGb,SAAmB1yH,EAAUC,GACzB,IAAI0yH,GAAc,EAAOC,GAAe,EAAOC,EAAe,EAO9D,SAASC,IACDH,IACAA,GAAc,EACd3yH,KAEA4yH,GACAG,IAUR,SAASC,IACLhB,EAAwBc,GAO5B,SAASC,IACL,IAAIttD,EAAYnmE,KAAKD,MACrB,GAAIszH,EAAa,CAEb,GAAIltD,EAAYotD,EA7CN,EA8CN,OAMJD,GAAe,OAGfD,GAAc,EACdC,GAAe,EACfnzH,WAAWuzH,EAAiB/yH,GAEhC4yH,EAAeptD,EAEnB,OAAOstD,EA6CYj0F,CAAS5wC,KAAKwkI,QAAQ3mI,KAAKmC,MAzC9B,IAyMhB,OAxJAkkI,EAAyBjmI,UAAU8mI,YAAc,SAAUC,IACjDhlI,KAAKskI,WAAW3lI,QAAQqmI,IAC1BhlI,KAAKskI,WAAWhhI,KAAK0hI,GAGpBhlI,KAAKmkI,YACNnkI,KAAKilI,YASbf,EAAyBjmI,UAAUinI,eAAiB,SAAUF,GAC1D,IAAIG,EAAYnlI,KAAKskI,WACjB5lI,EAAQymI,EAAUxmI,QAAQqmI,IAEzBtmI,GACDymI,EAAUv9G,OAAOlpB,EAAO,IAGvBymI,EAAUvmI,QAAUoB,KAAKmkI,YAC1BnkI,KAAKolI,eASblB,EAAyBjmI,UAAUumI,QAAU,WACnBxkI,KAAKqlI,oBAIvBrlI,KAAKwkI,WAWbN,EAAyBjmI,UAAUonI,iBAAmB,WAElD,IAAIC,EAAkBtlI,KAAKskI,WAAWroG,QAAO,SAAU+oG,GACnD,OAAOA,EAASO,eAAgBP,EAASQ,eAQ7C,OADAF,EAAgBt3G,SAAQ,SAAUg3G,GAAY,OAAOA,EAASS,qBACvDH,EAAgB1mI,OAAS,GAQpCslI,EAAyBjmI,UAAUgnI,SAAW,WAGrCxB,IAAazjI,KAAKmkI,aAMvBl+H,SAAS4E,iBAAiB,gBAAiB7K,KAAKukI,kBAChDtoI,OAAO4O,iBAAiB,SAAU7K,KAAKwkI,SACnCR,GACAhkI,KAAKqkI,mBAAqB,IAAIJ,iBAAiBjkI,KAAKwkI,SACpDxkI,KAAKqkI,mBAAmBtB,QAAQ98H,SAAU,CACtCi2C,YAAY,EACZwpF,WAAW,EACXC,eAAe,EACfC,SAAS,MAIb3/H,SAAS4E,iBAAiB,qBAAsB7K,KAAKwkI,SACrDxkI,KAAKokI,sBAAuB,GAEhCpkI,KAAKmkI,YAAa,IAQtBD,EAAyBjmI,UAAUmnI,YAAc,WAGxC3B,GAAczjI,KAAKmkI,aAGxBl+H,SAAS+qC,oBAAoB,gBAAiBhxC,KAAKukI,kBACnDtoI,OAAO+0C,oBAAoB,SAAUhxC,KAAKwkI,SACtCxkI,KAAKqkI,oBACLrkI,KAAKqkI,mBAAmBxB,aAExB7iI,KAAKokI,sBACLn+H,SAAS+qC,oBAAoB,qBAAsBhxC,KAAKwkI,SAE5DxkI,KAAKqkI,mBAAqB,KAC1BrkI,KAAKokI,sBAAuB,EAC5BpkI,KAAKmkI,YAAa,IAStBD,EAAyBjmI,UAAUsmI,iBAAmB,SAAU3+C,GAC5D,IAAIigD,EAAKjgD,EAAGkgD,aAAcA,OAAsB,IAAPD,EAAgB,GAAKA,EAEvC9B,EAAexnG,MAAK,SAAU3+B,GACjD,SAAUkoI,EAAannI,QAAQf,OAG/BoC,KAAKwkI,WAQbN,EAAyB6B,YAAc,WAInC,OAHK/lI,KAAKgmI,YACNhmI,KAAKgmI,UAAY,IAAI9B,GAElBlkI,KAAKgmI,WAOhB9B,EAAyB8B,UAAY,KAC9B9B,EAhMmC,GA0M1C+B,EAAsB,SAAUrlI,EAAQmF,GACxC,IAAK,IAAI4/E,EAAK,EAAGC,EAAK7oF,OAAOmN,KAAKnE,GAAQ4/E,EAAKC,EAAGhnF,OAAQ+mF,IAAM,CAC5D,IAAI/nF,EAAMgoF,EAAGD,GACb5oF,OAAOC,eAAe4D,EAAQhD,EAAK,CAC/BN,MAAOyI,EAAMnI,GACbX,YAAY,EACZipI,UAAU,EACV3C,cAAc,IAGtB,OAAO3iI,GASPulI,EAAe,SAAUvlI,GAOzB,OAHkBA,GAAUA,EAAOwlI,eAAiBxlI,EAAOwlI,cAAcC,aAGnD3C,GAItB4C,EAAYC,EAAe,EAAG,EAAG,EAAG,GAOxC,SAASC,EAAQlpI,GACb,OAAO4N,WAAW5N,IAAU,EAShC,SAASmpI,EAAe/D,GAEpB,IADA,IAAIgE,EAAY,GACP/gD,EAAK,EAAGA,EAAKvlF,UAAUxB,OAAQ+mF,IACpC+gD,EAAU/gD,EAAK,GAAKvlF,UAAUulF,GAElC,OAAO+gD,EAAUn/G,QAAO,SAAUsjB,EAAMtkB,GAEpC,OAAOskB,EAAO27F,EADF9D,EAAO,UAAYn8G,EAAW,aAE3C,GAmCP,SAASogH,EAA0B/lI,GAG/B,IAAIgmI,EAAchmI,EAAOgmI,YAAaC,EAAejmI,EAAOimI,aAS5D,IAAKD,IAAgBC,EACjB,OAAOP,EAEX,IAAI5D,EAASyD,EAAYvlI,GAAQkmI,iBAAiBlmI,GAC9CmmI,EA3CR,SAAqBrE,GAGjB,IAFA,IACIqE,EAAW,GACNphD,EAAK,EAAGqhD,EAFD,CAAC,MAAO,QAAS,SAAU,QAEDrhD,EAAKqhD,EAAYpoI,OAAQ+mF,IAAM,CACrE,IAAIp/D,EAAWygH,EAAYrhD,GACvBroF,EAAQolI,EAAO,WAAan8G,GAChCwgH,EAASxgH,GAAYigH,EAAQlpI,GAEjC,OAAOypI,EAmCQE,CAAYvE,GACvBwE,EAAWH,EAASpsG,KAAOosG,EAASnsG,MACpCusG,EAAUJ,EAASlsG,IAAMksG,EAASjsG,OAKlCz0B,EAAQmgI,EAAQ9D,EAAOr8H,OAAQC,EAASkgI,EAAQ9D,EAAOp8H,QAqB3D,GAlByB,eAArBo8H,EAAO0E,YAOHj4H,KAAKuP,MAAMrY,EAAQ6gI,KAAcN,IACjCvgI,GAASogI,EAAe/D,EAAQ,OAAQ,SAAWwE,GAEnD/3H,KAAKuP,MAAMpY,EAAS6gI,KAAaN,IACjCvgI,GAAUmgI,EAAe/D,EAAQ,MAAO,UAAYyE,KAoDhE,SAA2BvmI,GACvB,OAAOA,IAAWulI,EAAYvlI,GAAQqF,SAASohI,gBA9C1CC,CAAkB1mI,GAAS,CAK5B,IAAI2mI,EAAgBp4H,KAAKuP,MAAMrY,EAAQ6gI,GAAYN,EAC/CY,EAAiBr4H,KAAKuP,MAAMpY,EAAS6gI,GAAWN,EAMpB,IAA5B13H,KAAKsmB,IAAI8xG,KACTlhI,GAASkhI,GAEoB,IAA7Bp4H,KAAKsmB,IAAI+xG,KACTlhI,GAAUkhI,GAGlB,OAAOjB,EAAeQ,EAASpsG,KAAMosG,EAASlsG,IAAKx0B,EAAOC,GAQ9D,IAAImhI,EAGkC,oBAAvBC,mBACA,SAAU9mI,GAAU,OAAOA,aAAkBulI,EAAYvlI,GAAQ8mI,oBAKrE,SAAU9mI,GAAU,OAAQA,aAAkBulI,EAAYvlI,GAAQ+mI,YAC3C,mBAAnB/mI,EAAOitB,SAiBtB,SAAS+5G,EAAehnI,GACpB,OAAK6iI,EAGDgE,EAAqB7mI,GAhH7B,SAA2BA,GACvB,IAAI2kB,EAAO3kB,EAAOitB,UAClB,OAAO04G,EAAe,EAAG,EAAGhhH,EAAKlf,MAAOkf,EAAKjf,QA+GlCuhI,CAAkBjnI,GAEtB+lI,EAA0B/lI,GALtB0lI,EAuCf,SAASC,EAAev8H,EAAGvH,EAAG4D,EAAOC,GACjC,MAAO,CAAE0D,EAAGA,EAAGvH,EAAGA,EAAG4D,MAAOA,EAAOC,OAAQA,GAO/C,IAAIwhI,EAAmC,WAMnC,SAASA,EAAkBlnI,GAMvBZ,KAAK+nI,eAAiB,EAMtB/nI,KAAKgoI,gBAAkB,EAMvBhoI,KAAKioI,aAAe1B,EAAe,EAAG,EAAG,EAAG,GAC5CvmI,KAAKY,OAASA,EA0BlB,OAlBAknI,EAAkB7pI,UAAUiqI,SAAW,WACnC,IAAI3d,EAAOqd,EAAe5nI,KAAKY,QAE/B,OADAZ,KAAKioI,aAAe1d,EACZA,EAAKlkH,QAAUrG,KAAK+nI,gBACxBxd,EAAKjkH,SAAWtG,KAAKgoI,iBAQ7BF,EAAkB7pI,UAAUkqI,cAAgB,WACxC,IAAI5d,EAAOvqH,KAAKioI,aAGhB,OAFAjoI,KAAK+nI,eAAiBxd,EAAKlkH,MAC3BrG,KAAKgoI,gBAAkBzd,EAAKjkH,OACrBikH,GAEJud,EAnD4B,GAsDnCM,EAOA,SAA6BxnI,EAAQynI,GACjC,IA/FoBziD,EACpB57E,EAAUvH,EAAU4D,EAAkBC,EAEtCgiI,EACA/d,EA2FIge,GA9FJv+H,GADoB47E,EA+FiByiD,GA9F9Br+H,EAAGvH,EAAImjF,EAAGnjF,EAAG4D,EAAQu/E,EAAGv/E,MAAOC,EAASs/E,EAAGt/E,OAElDgiI,EAAoC,oBAApBE,gBAAkCA,gBAAkBzrI,OACpEwtH,EAAOxtH,OAAOY,OAAO2qI,EAAOrqI,WAEhCgoI,EAAmB1b,EAAM,CACrBvgH,EAAGA,EAAGvH,EAAGA,EAAG4D,MAAOA,EAAOC,OAAQA,EAClCu0B,IAAKp4B,EACLm4B,MAAO5wB,EAAI3D,EACXy0B,OAAQx0B,EAAS7D,EACjBk4B,KAAM3wB,IAEHugH,GAyFH0b,EAAmBjmI,KAAM,CAAEY,OAAQA,EAAQ2nI,YAAaA,KAK5DE,EAAmC,WAWnC,SAASA,EAAkB32H,EAAUqvC,EAAYunF,GAc7C,GAPA1oI,KAAK2oI,oBAAsB,GAM3B3oI,KAAK4oI,cAAgB,IAAI1F,EACD,mBAAbpxH,EACP,MAAM,IAAI1O,UAAU,2DAExBpD,KAAK6oI,UAAY/2H,EACjB9R,KAAK8oI,YAAc3nF,EACnBnhD,KAAK+oI,aAAeL,EAoHxB,OA5GAD,EAAkBxqI,UAAU8kI,QAAU,SAAUniI,GAC5C,IAAKR,UAAUxB,OACX,MAAM,IAAIwE,UAAU,4CAGxB,GAAuB,oBAAZ4M,SAA6BA,mBAAmBjT,OAA3D,CAGA,KAAM6D,aAAkBulI,EAAYvlI,GAAQoP,SACxC,MAAM,IAAI5M,UAAU,yCAExB,IAAI4lI,EAAehpI,KAAK4oI,cAEpBI,EAAatjI,IAAI9E,KAGrBooI,EAAapjI,IAAIhF,EAAQ,IAAIknI,EAAkBlnI,IAC/CZ,KAAK8oI,YAAY/D,YAAY/kI,MAE7BA,KAAK8oI,YAAYtE,aAQrBiE,EAAkBxqI,UAAU2kI,UAAY,SAAUhiI,GAC9C,IAAKR,UAAUxB,OACX,MAAM,IAAIwE,UAAU,4CAGxB,GAAuB,oBAAZ4M,SAA6BA,mBAAmBjT,OAA3D,CAGA,KAAM6D,aAAkBulI,EAAYvlI,GAAQoP,SACxC,MAAM,IAAI5M,UAAU,yCAExB,IAAI4lI,EAAehpI,KAAK4oI,cAEnBI,EAAatjI,IAAI9E,KAGtBooI,EAAY,OAAQpoI,GACfooI,EAAan+F,MACd7qC,KAAK8oI,YAAY5D,eAAellI,SAQxCyoI,EAAkBxqI,UAAU4kI,WAAa,WACrC7iI,KAAKipI,cACLjpI,KAAK4oI,cAAc//G,QACnB7oB,KAAK8oI,YAAY5D,eAAellI,OAQpCyoI,EAAkBxqI,UAAUsnI,aAAe,WACvC,IAAIpiH,EAAQnjB,KACZA,KAAKipI,cACLjpI,KAAK4oI,cAAc56G,SAAQ,SAAUk7G,GAC7BA,EAAYhB,YACZ/kH,EAAMwlH,oBAAoBrlI,KAAK4lI,OAU3CT,EAAkBxqI,UAAUwnI,gBAAkB,WAE1C,GAAKzlI,KAAKwlI,YAAV,CAGA,IAAIjnE,EAAMv+D,KAAK+oI,aAEXvF,EAAUxjI,KAAK2oI,oBAAoBrkH,KAAI,SAAU4kH,GACjD,OAAO,IAAId,EAAoBc,EAAYtoI,OAAQsoI,EAAYf,oBAEnEnoI,KAAK6oI,UAAUrsI,KAAK+hE,EAAKilE,EAASjlE,GAClCv+D,KAAKipI,gBAOTR,EAAkBxqI,UAAUgrI,YAAc,WACtCjpI,KAAK2oI,oBAAoB/gH,OAAO,IAOpC6gH,EAAkBxqI,UAAUunI,UAAY,WACpC,OAAOxlI,KAAK2oI,oBAAoB/pI,OAAS,GAEtC6pI,EAlJ4B,GAwJnCtD,EAA+B,oBAAZ/5D,QAA0B,IAAIA,QAAY,IAAI83D,EAKjEiG,EAOA,SAASA,EAAer3H,GACpB,KAAM9R,gBAAgBmpI,GAClB,MAAM,IAAI/lI,UAAU,sCAExB,IAAKhD,UAAUxB,OACX,MAAM,IAAIwE,UAAU,4CAExB,IAAI+9C,EAAa+iF,EAAyB6B,cACtCf,EAAW,IAAIyD,EAAkB32H,EAAUqvC,EAAYnhD,MAC3DmlI,EAAUv/H,IAAI5F,KAAMglI,IAK5B,CACI,UACA,YACA,cACFh3G,SAAQ,SAAUugE,GAChB46C,EAAelrI,UAAUswF,GAAU,WAC/B,IAAI3I,EACJ,OAAQA,EAAKu/C,EAAUjoI,IAAI8C,OAAOuuF,GAAQluF,MAAMulF,EAAIxlF,eAI5D,IAAI1B,OAEuC,IAA5BglI,EAASyF,eACTzF,EAASyF,eAEbA,EAGIzqI,a,sQC/5Bf,IAAIgE,EAGJA,EAAK,WACJ,OAAO1C,KADH,GAIL,IAEC0C,EAAIA,GAAK,IAAImhI,SAAS,cAAb,GACR,MAAOtjI,GAEc,YAAlB,oBAAOtE,OAAP,cAAOA,WAAqByG,EAAIzG,QAOrCH,EAAOD,QAAU6G,G,8ECnBjB,WA0CA,iBAME,WAAY+F,GACVzI,KAAK4G,KAAO6B,EAAI7B,KAChB5G,KAAK6G,OAAS4B,EAAI5B,OAClB7G,KAAKs0F,cAAgB,GAuGzB,OApGS,YAAAptF,WAAP,WACElH,KAAKopI,SAASppI,KAAK6G,OAAQ,YAAa,EAAA8+F,aAAa3lG,KAAM,aAC3DA,KAAKopI,SAASppI,KAAK6G,OAAQ,YAAa,EAAA8+F,aAAa3lG,KAAM,WAC3DA,KAAKopI,SAASppI,KAAK6G,OAAQ,UAAW,EAAA8+F,aAAa3lG,KAAM,aACzDA,KAAKopI,SAASppI,KAAK6G,OAAQ,QAAS,EAAA8+F,aAAa3lG,KAAM,aACvDA,KAAKopI,SAASppI,KAAK6G,OAAQ,WAAY,EAAA8+F,aAAa3lG,KAAM,aAC1DA,KAAKopI,SAASppI,KAAK6G,OAAQ,cAAe,EAAA8+F,aAAa3lG,KAAM,aAC7DA,KAAKopI,SAASppI,KAAK6G,OAAQ,QAAS,EAAA8+F,aAAa3lG,KAAM,cAGlD,YAAAuH,YAAP,WACE,IAAM+sF,EAAgBt0F,KAAKs0F,cAC3B,EAAA9qF,KAAK8qF,GAAe,SAACuR,GACnBA,EAAGjlG,OAAOixB,IAAIg0E,EAAGj8F,KAAMi8F,EAAGr7F,aAItB,YAAA4+H,SAAR,SAAiBxoI,EAAiB8vH,EAAmBlmH,GACnD5J,EAAO6J,GAAGimH,EAAWlmH,GACrBxK,KAAKs0F,cAAchxF,KAAK,CAAE1C,OAAM,EAAEgJ,KAAM8mH,EAAWlmH,QAAO,KAGpD,YAAA6+H,SAAR,SAAiBvkH,GACf,IAAMwkH,EAAWtpI,KAAKupI,YAAYzkH,GAC5BlkB,EAAckkB,EAAGlkB,QAElBZ,KAAKwpI,cAAc5oI,IAAWA,EAAOhE,MACxCoD,KAAK4G,KAAKkhB,KAAQlnB,EAAOhE,KAAI,IAAIkoB,EAAGlb,KAAQkb,GAE9C9kB,KAAK4G,KAAKkhB,KAAK,GAAGhD,EAAGlb,KAAQ0/H,GAE7B,IAAMxiI,EAAS9G,KAAK4G,KAAKyC,YACrBvC,EAAOlI,OAAS,GAClBoB,KAAKypI,aAAa3iI,EAAQwiI,EAAUxkH,EAAGlb,OAInC,YAAA8/H,OAAR,SAAe5kH,GACb,IAhEiB6kH,EAAgBC,EAgE3BhpI,EAAckkB,EAAGlkB,OACjB0oI,EAAWtpI,KAAKupI,YAAYzkH,IAE7B9kB,KAAKwpI,cAAc5oI,IAAWA,EAAOhE,OACxCoD,KAAK4G,KAAKkhB,KAAQlnB,EAAOhE,KAAI,IAAIkoB,EAAGlb,KAAQ0/H,IAExCtpI,KAAK6pI,YAtEMF,EAsEoB/oI,EAtEJgpI,EAsEY5pI,KAAK6pI,UArEhDF,GAAUC,GAAUD,IAAWC,KAsEzB5pI,KAAK6pI,WACP7pI,KAAK4G,KAAKkhB,KAAQ9nB,KAAK6pI,UAAUjtI,KAAI,cAAe0sI,GAEtDtpI,KAAK4G,KAAKkhB,KAAQlnB,EAAOhE,KAAI,cAAe0sI,IAE9CtpI,KAAK6pI,UAAYjpI,GAEnBZ,KAAK4G,KAAKkhB,KAAK,YAAawhH,GAE5B,IAAMxiI,EAAS9G,KAAK4G,KAAKyC,YACrBvC,EAAOlI,OAAS,GAClBoB,KAAKypI,aAAa3iI,EAAQwiI,EAAU,cAIhC,YAAAE,cAAR,SAAsBj5H,GAGpB,IAFA,IAAMu5H,EAAY,CAAC,mBAAoB,kBAAmB,cACtD92H,EAASzC,EAAMrT,IAAI,UAChB8V,GAAQ,CACb,IAAM+2H,EAAa/2H,EAAO9V,IAAI,QAC9B,GAAI6sI,GAAc,EAAA1/H,SAASy/H,EAAWC,GACpC,OAAO,EAET/2H,EAASA,EAAO9V,IAAI,UAEtB,OAAO,GAGD,YAAAqsI,YAAR,SAAoBzkH,GAYlB,MAXY,CACVE,QAASF,EAAGE,QACZC,QAASH,EAAGG,QACZjb,EAAG8a,EAAG9a,EACNvH,EAAGqiB,EAAGriB,EACNmE,KAAM5G,KAAK4G,KACX5H,KAAM8lB,EAAG9lB,KAAO8lB,EAAG9lB,KAAKA,KAAO,KAC/B6H,OAAQ7G,KAAK6G,OACbjG,OAAQkkB,EAAGlkB,OACXskB,OAAQJ,IAKJ,YAAA2kH,aAAR,SAAqB3iI,EAAiBwiI,EAAoB/+H,GAA1D,WACE,EAAAf,KAAK1C,GAAQ,SAACQ,GACZ,IAAMie,EAAOje,EAAM6tF,gBACnB,GA9GN,SAAuBxkE,EAAcpL,GACnC,OAAIoL,EAAM3mB,GAAKub,EAAKrV,MAAQygB,EAAM3mB,GAAKub,EAAKpV,MAAQwgB,EAAMluB,GAAK8iB,EAAKnV,MAAQugB,EAAMluB,GAAK8iB,EAAKlV,KA6GpF25H,CAAc,CAAEhgI,EAAGs/H,EAASt/H,EAAGvH,EAAG6mI,EAAS7mI,GAAK8iB,GAAO,CACzDje,EAAMwgB,KAAK,GAAGvd,EAAa++H,GAC3B,IAAMW,EAAY3iI,EAAMR,OACpBmjI,EAAUrrI,OAAS,GACrB,EAAK6qI,aAAaQ,EAAWX,EAAU/+H,QAKjD,EAhHA,G,sGC1CA,SAAS,sEAAAjF,WAAiB,4EAAA4kI,cAC1B,aAAS,yEAAA5kI,WAAoB,+EAAA6kI,iBAC7B,aAAS,0EAAA7kI,WAAqB,gFAAA8kI,kBAC9B,aAAS,qEAAA9kI,WAAgB,2EAAA+kI,aACzB,aAAS,4EAAA/kI,WAAuB,kFAAAglI,oBAChC,aAAS,4EAAAhlI,WAAuB,kFAAAilI,oBAChC,aAAS,mFAAAjlI,WAA8B,yFAAAklI,2BACvC,aAAS,0EAAAllI,WAAqB,gFAAAmlI,kBAC9B,aAAS,sEAAAnlI,WAAiB,4EAAAolI,cAC1B,aAAS,6EAAAplI,WAAwB,mFAAAqlI,qBACjC,aAAS,oFAAArlI,WAA+B,0FAAAslI,4BACxC,aAAS,wEAAAtlI,WAAmB,8EAAAulI,gBAC5B,YAAS,6EAAAvlI,WACT,aAAS,+EAAAA,WAA0B,qFAAAwlI,uBACnC,aAAS,+EAAAxlI,WAA0B,qFAAAylI,uBACnC,aAAS,oFAAAzlI,WACT,aAAS,6EAAAA,WAAwB,mFAAA0lI,qBACjC,aAAS,sFAAA1lI,WAAiC,4FAAA2lI,8BAC1C,aAAS,qEAAA3lI,WAAgB,2EAAA4lI,aACzB,aAAS,gFAAA5lI,WAA2B,sFAAA6lI,wBACpC,aAAS,yEAAA7lI,WAAoB,+EAAA8lI,iBAC7B,aAAS,2EAAA9lI,WAAsB,iFAAA+lI,mBAC/B,aAAS,sEAAA/lI,WAAiB,4EAAAgmI,cAC1B,aAAS,wEAAAhmI,WAAmB,8EAAAimI,gBAC5B,aAAS,6EAAAjmI,WAAwB,mFAAAkmI,qBACjC,aAAS,6EAAAlmI,WAAwB,mFAAAmmI,qBACjC,aAAS,uEAAAnmI,WAAkB,6EAAAomI,eAC3B,aAAS,wEAAApmI,WAAmB,8EAAAqmI,gBAC5B,aAAS,2EAAArmI,WAAsB,iFAAAsmI,mBAC/B,aAAS,yEAAAtmI,WAAoB,+EAAAumI,iBAC7B,aAAS,uEAAAvmI,WAAkB,6EAAAwmI,eAC3B,aAAS,2EAAAxmI,WAAsB,iFAAAymI,mBAC/B,aAAS,yEAAAzmI,WAAoB,+EAAA0mI,iBAC7B,aAAS,wEAAA1mI,WAAmB,8EAAA2mI,gBAC5B,aAAS,wEAAA3mI,WAAmB,8EAAA4mI,gBAC5B,aAAS,0EAAA5mI,WAAqB,gFAAA6mI,kBAC9B,aAAS,uEAAA7mI,WAAkB,6EAAA8mI,eAC3B,aAAS,0EAAA9mI,WAAqB,gFAAA+mI,kBAC9B,aAAS,4EAAA/mI,WAAuB,kFAAAgnI,oBAEhC,0B,yFCxCA,OACA,0BACA,2BAIA,2B,+CAQA,OARkC,iBAGzB,YAAAtlI,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,OAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAAwD,UAAUA,kBAOlF,EARA,CAAkC,W,UAAbwwD,G,yFCNrB,4BACA,4BAEA,UAAe,CACb81D,KAAM,UACNC,KAAM,Y,yFCJR,OACA,OACA,QACA,QACA,4BACA,QAyCA,SAASrwE,EAAQ3zD,EAAK8H,EAAOm8H,GAC3B,IAIIC,EAAgB,GAChBC,EAAmB,GACvB,EAAApjI,KAAKf,EAAI0xB,QAAQ,SAACxJ,GAChBg8G,EAAcrpI,KAAKqtB,EAAM,IACzBi8G,EAAiBtpI,KAAKqtB,EAAM,OAE9Bi8G,EAAmBr8H,EAAMk/C,YAAYm9E,EAAiB3vE,WACtD0vE,EAAgB,EAAA1xG,mBAAmB1qB,EAAMk/C,YAAYk9E,IACrD,IAAMnwE,EAAUkwE,EAAW,EAAA9jG,cAAc+jG,GAAe,EAZrC,CACjB,CAAC,EAAG,GACJ,CAAC,EAAG,KAUuEE,EAAgBF,GACvFlwE,EAAaowE,EAAgBD,GAInC,OAHAnwE,EAAW,GAAG,GAAK,IACND,EAAQx4D,OAAOy4D,GAK9B,SAASowE,EAAgB1yG,GAEvB,IADA,IAAM3K,EAAO,GACJnzB,EAAI,EAAGA,EAAI89B,EAAOv7B,OAAQvC,IAAK,CACtC,IAAM8B,EAAIg8B,EAAO99B,GACXotC,EAAa,IAANptC,EAAU,IAAM,IAC7BmzB,EAAKlsB,KAAK,CAACmmC,EAAMtrC,EAAE6L,EAAG7L,EAAEsE,IAE1B,OAAO+sB,EAGT,SAASs9G,EAActvH,GACrB,MAAO,WAAWA,EAAK,aAvEzB,EAAA/Q,cAAc,OAAQ,WAAY,CAChChF,KAAI,SAACgB,EAAK3C,GACR,IAAMqY,EAAU1V,EAAIG,MAAQH,EAAIG,MAAMuV,QAAU,KAC1CqR,EAAO4sC,EAAQ3zD,EAAKzI,MAAM,GAC1B4I,EAAQ,EAAAmB,QACZ,GACA,CACEyvF,SAAU,QACVC,QAAS,SAEXhxF,EAAIG,OAUN,OARc9C,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,CACL7C,KAAI,EACJK,KAAMi9G,EAAcrkI,EAAI+U,OAAS,EAAA8F,iBAAiBy6B,cAClD5/B,QAASA,GAAW,IAEtBvV,MAAK,OAMX,EAAA6D,cAAc,OAAQ,iBAAkB,CACtChF,KAAI,SAACgB,EAAK3C,GACR,IAAMqY,EAAU1V,EAAIG,MAAQH,EAAIG,MAAMuV,QAAU,KAC1CqR,EAAO4sC,EAAQ3zD,EAAKzI,MAAM,GAQhC,OAPc8F,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,CACL7C,KAAI,EACJK,KAAMi9G,EAAcrkI,EAAI+U,OAAS,EAAA8F,iBAAiBy6B,cAClD5/B,QAASA,GAAW,SA0C5B,+B,+CAcA,OAd4C,iBACnC,YAAA8J,KAAP,WACE,YAAMA,KAAI,WACVjoB,KAAKy6G,cAGC,YAAAA,WAAR,WACgBz6G,KAAK4G,KAAKgf,QACdkiB,OACR9nC,KAAK2H,OAAO4I,MAAQ,CAAEmQ,OAAQ,CAAC,mBAE/B1gB,KAAK2H,OAAO4I,MAAQ,CAAEmQ,OAAQ,CAAC,cAGrC,EAdA,CAA4C,W,+FClF5C,E,KAAA,wBAEA,UAAe,CACb8rH,KAAM,Y,yFCHR,OACA,2BAEMO,EAAe,CAAC,aAAc,aAAc,cAElD,2B,+CAuHA,OAvH4C,iBACnC,YAAA9kH,KAAP,WACEjoB,KAAK4J,KAAO,WACZ,YAAMqe,KAAI,WACV,IAAMliB,EAAQ/F,KAAK4G,KAAKgf,QACpB5lB,KAAKgtI,oBACPhtI,KAAKomG,aAEFpmG,KAAK2H,OAAO6V,QACfxd,KAAK2H,OAAO6V,MAAQ,CAAEkD,OAAQ,CAAC,aAEjC,IAAM4lF,EAAYtmG,KAAKitI,cAAclnI,GACjCugG,GACFtmG,KAAKmmG,UAAUG,GAEjB,IAAMC,EAAavmG,KAAKktI,eAAennI,GACnCwgG,GACFvmG,KAAKqmG,WAAWE,IAIb,YAAAH,WAAP,WACE,IAAMrgG,EAAQ/F,KAAK4G,KAAKgf,QAClBq4C,EAAaj+D,KAAKu6G,sBAAsBx0G,GACxC4B,EAAc,GAChBs2D,IACFt2D,EAAOm7B,OAASm7B,GAEdl4D,EAAMyX,QACJ,EAAAqP,SAAS9mB,EAAMyX,OACjB7V,EAAO+Y,OAAS,CAAC3a,EAAMyX,OACd,EAAAlT,WAAWvE,EAAMyX,OAC1B7V,EAAOmK,SAAW/L,EAAMyX,MACf,EAAA4E,QAAQrc,EAAMyX,OACnBygD,EACFt2D,EAAO+Y,OAAS3a,EAAMyX,MAElBzX,EAAMyX,MAAM5e,OAAS,IACvB+I,EAAO+Y,OAAS,CAAC3a,EAAMyX,MAAM,KAGxB,EAAA6uF,SAAStmG,EAAMyX,SACxB7V,EAAOm7B,OAASm7B,EAChBt2D,EAAOmK,SAAW,SAACnV,GACjB,OAAOoJ,EAAMyX,MAAM7gB,MAIzBqD,KAAK2H,OAAO6V,MAAQ7V,GAGf,YAAAw+F,UAAP,SAAiBG,GACf,IAAMvgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAc,GAChB,EAAA2C,WAAWvE,EAAMugG,KACnB3+F,EAAOm7B,OAAS,CAAC9iC,KAAK2H,OAAO4e,SAASuc,QACtCn7B,EAAOmK,SAAW/L,EAAMugG,IAExB3+F,EAAO+Y,OAAS,CAAC3a,EAAMugG,IAEzBtmG,KAAK2H,OAAOkjC,KAAOljC,GAGd,YAAA0+F,WAAP,SAAkBE,GAChB,IAAMxgG,EAAQ/F,KAAK4G,KAAKgf,QAClBpI,EAAQxd,KAAK2H,OAAO6V,MACpB5U,EAAQ5I,KAAK4G,KAAKgf,QAAQ2gF,GAC1B5+F,EAAc,GAChB,EAAA2C,WAAW1B,IACbjB,EAAOm7B,QAAStlB,aAAK,EAALA,EAAOslB,SAAU,CAAC/8B,EAAM8kB,OAAQ9kB,EAAM+kB,QACtDnjB,EAAOmK,SAAWlJ,GAElBjB,EAAOc,IAAMG,EAGf5I,KAAK2H,OAAOiB,MAAQjB,GAGd,YAAAslI,cAAR,SAAsBlnI,GAEpB,IADA,IACgB,MADG,CAAC,aAAc,WAClB,eAAY,CAAvB,IAAMtJ,EAAC,KACV,GAAI,EAAAS,IAAI6I,EAAOtJ,GACb,OAAOA,IAKL,YAAAywI,eAAR,SAAuBnnI,GAErB,IADA,IACgB,MADG,CAAC,cAAe,WAAY,WAAY,aAC3C,eAAY,CAAvB,IAAMtJ,EAAC,KACV,GAAI,EAAAS,IAAI6I,EAAOtJ,GACb,OAAOA,IAKL,YAAA89G,sBAAR,SAA8Bx0G,GAI5B,IAAgB,UAAAgnI,EAAA,eAAc,CAAzB,IAAMtwI,EAAC,KACV,GAAI,EAAAS,IAAI6I,EAAOtJ,GACb,MAAO,CAACsJ,EAAMtJ,MAKZ,YAAAuwI,iBAAR,WACE,IAAMjnI,EAAQ/F,KAAK4G,KAAKgf,QACxB,GAAI7f,EAAMyX,MACR,OAAO,EAET,IAAgB,UAAAuvH,EAAA,eAAc,CAC5B,GAAIhnI,EADM,MAER,OAAO,EAGX,OAAO,GAEX,EAvHA,CAA4C,W,sGCL5C,4BACA,2BACA,4BAEA,UAAe,CACbymI,KAAM,UACN7nF,MAAO,UACP8nF,KAAM,Y,yFCNR,OAGA,2B,+CAuGA,OAvG6C,iBACpC,YAAAxkH,KAAP,WACE,IAAMliB,EAAQ/F,KAAK4G,KAAKgf,QACnB7f,EAAM8kB,QAAW9kB,EAAM+kB,SAG5B9qB,KAAK2H,OAAS,CACZiC,KAAM,OACN2c,SAAU,CACRuc,OAAQ,CAAC/8B,EAAM8kB,OAAQ9kB,EAAM+kB,SAE/BtE,SAAS,IAGPxmB,KAAKu6G,yBAA2Bv6G,KAAKmtI,oBAAoB,WAC3DntI,KAAKomG,aAEHpmG,KAAKmtI,oBAAoB,SAC3BntI,KAAKmmG,YAEHpgG,EAAMghB,KAAKne,OACb5I,KAAKqmG,aAGHtgG,EAAM+hC,SACR9nC,KAAK2H,OAAO4I,MAAQ,CAAEmQ,OAAQ,CAAC,cAI5B,YAAAylF,UAAP,WACE,IAAMpgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAsB,GACxB5B,EAAMghB,KAAK8jB,KACbljC,EAAO+Y,OAAS,CAAC3a,EAAMghB,KAAK8jB,MAG5BljC,EAAO+Y,OAAS,CAAC,GAEnB1gB,KAAK2H,OAAOkjC,KAAOljC,GAGd,YAAAy+F,WAAP,WACE,IAAMrgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAsB,GACtBs2D,EAAaj+D,KAAKu6G,wBACpBt8C,IACFt2D,EAAOm7B,OAASm7B,GAEdl4D,EAAMghB,KAAKvJ,MACb7V,EAAO+Y,OAAS,CAAC3a,EAAMghB,KAAKvJ,OAGxB,EAAAqP,SAAS9mB,EAAMyX,OACjB7V,EAAO+Y,OAAS,CAAC3a,EAAMyX,OACd,EAAAlT,WAAWvE,EAAMyX,QAC1B7V,EAAOm7B,OAASm7B,EAChBt2D,EAAOmK,SAAW/L,EAAMyX,OACf,EAAA4E,QAAQrc,EAAMyX,SACnBygD,EACFt2D,EAAO+Y,OAAS3a,EAAMyX,MAElBzX,EAAMyX,MAAM5e,OAAS,IACvB+I,EAAO+Y,OAAS,CAAC3a,EAAMyX,MAAM,MAMrCxd,KAAK2H,OAAO6V,MAAQ7V,GAGf,YAAA0+F,WAAP,WACE,IACME,EADQvmG,KAAK4G,KAAKgf,QACCmB,KAAKne,MACxBjB,EAAsB,GACxB,EAAA2C,WAAWi8F,IACb5+F,EAAOm7B,OAAS9iC,KAAK2H,OAAO4e,SAASuc,OACrCn7B,EAAOmK,SAAWy0F,GAElB5+F,EAAOc,IAAM89F,EAEfvmG,KAAK2H,OAAOiB,MAAQjB,GAGd,YAAAwlI,oBAAR,SAA4Bt6G,GAC1B,IAAM9sB,EAAQ/F,KAAK4G,KAAKgf,QACxB,QAAI7f,EAAM8sB,MAEC9sB,EAAMghB,KAAK8L,IAMhB,YAAA0nF,sBAAR,WAGE,IAFA,IAAMx0G,EAAQ/F,KAAK4G,KAAKgf,QAER,MADI,CAAC,aAAc,eACnB,eAAa,CAAxB,IAAMnpB,EAAC,KACV,GAAI,EAAAS,IAAI6I,EAAOtJ,GACb,MAAO,CAACsJ,EAAMtJ,MAItB,EAvGA,CAFA,yBAE6C,S,sGCJ7C,4BACA,4BAEA,UAAe,CACbkoD,MAAO,UACP2tD,OAAQ,Y,yFCJV,OAGA,2B,+CA4FA,OA5F0C,iBACjC,YAAArqF,KAAP,WACE,IAAMliB,EAAQ/F,KAAK4G,KAAKgf,QACxB5lB,KAAK4I,MAAQ7C,EAAMo0G,WACdp0G,EAAM8kB,QAAW9kB,EAAM+kB,SAG5B9qB,KAAK2H,OAAS,CACZiC,KAAM,QACN2c,SAAU,CACRuc,OAAQ,CAAC/8B,EAAM8kB,OAAQ9kB,EAAM+kB,UAGjC9qB,KAAKomG,aACLpmG,KAAKmmG,YAEDpgG,EAAMwK,OACRvQ,KAAKy6G,WAAW10G,EAAMwK,OAEpBxK,EAAMo0G,YACRn6G,KAAKqmG,eAIF,YAAAD,WAAP,WACE,IAAMrgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAsB,GACtBs2D,EAAal4D,EAAMk4D,WACrBA,IACFt2D,EAAOm7B,OAAS,EAAA1gB,QAAQ67C,GAAcA,EAAa,CAACA,IAElDl4D,EAAMyX,OACRxd,KAAKisG,YAAYlmG,EAAO4B,GAErB,EAAAijB,QAAQjjB,KACX3H,KAAK2H,OAAO6V,MAAQ7V,IAIjB,YAAAw+F,UAAP,WACE,IAAMpgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAsB,GACxB5B,EAAMqnI,YACRzlI,EAAOm7B,OAAS,CAAC/8B,EAAMqnI,YAErBrnI,EAAMyxC,YACR7vC,EAAO+Y,OAAS,EAAA0B,QAAQrc,EAAMyxC,WAAazxC,EAAMyxC,UAAY,CAACzxC,EAAMyxC,YAEtEx3C,KAAK2H,OAAOkjC,KAAOljC,GAGd,YAAA8yG,WAAP,SAAkBznD,GAChBhzD,KAAK2H,OAAO4I,MAAQyiD,GAGf,YAAAqzC,WAAP,WACE,IAAMtgG,EAAQ/F,KAAK4G,KAAKgf,QAClB2gF,EAAaxgG,EAAMo0G,WACnBxyG,EAAS,CACbm7B,OAAQ,KACRhxB,SAAU,KACVrJ,IAAK,MAECoiB,EAA+B9kB,EAAK,OAA5B+kB,EAAuB/kB,EAAK,OAApBk4D,EAAel4D,EAAK,WACxC,EAAAuE,WAAWi8F,IAEX5+F,EAAOm7B,OADLm7B,EACc,EAAA77C,QAAQ67C,GACpB,CAACpzC,EAAQC,EAAQmzC,GAAYj6D,OAAOi6D,GACpC,CAACpzC,EAAQC,EAAQmzC,GAEL,CAACpzC,EAAQC,GAE3BnjB,EAAOmK,SAAWy0F,IAElB5+F,EAAOc,IAAM89F,EAER,EAAAngG,MAAMmgG,EAAWpoF,WACpBxW,EAAOc,IAAIk7E,YAAc4iB,EAAWpoF,UAGxCne,KAAK2H,OAAOiB,MAAQjB,GAGd,YAAAskG,YAAR,SAAoBlmG,EAAO4B,GACrB,EAAAklB,SAAS9mB,EAAMyX,OACjB7V,EAAO+Y,OAAS,CAAC3a,EAAMyX,OACd,EAAAlT,WAAWvE,EAAMyX,OAC1B7V,EAAOmK,SAAW/L,EAAMyX,MACf,EAAA4E,QAAQrc,EAAMyX,SACvB7V,EAAO+Y,OAAS3a,EAAMyX,QAG5B,EA5FA,CAFA,yBAE0C,S,sGCH1C,OACA,2BAWA,IAAMuvH,EAAe,CAAC,cAAe,cAIrC,2B,+CAsIA,OAtI8C,iBACrC,YAAA9kH,KAAP,WACE,IAAMliB,EAAQ/F,KAAK4G,KAAKgf,QACxB5lB,KAAK4I,MAAQ7C,EAAM4qB,MAAM/nB,MACpB7C,EAAM8kB,QAAW9kB,EAAM+kB,SAG5B9qB,KAAK2H,OAAS,CACZiC,KAAM,QACN2c,SAAU,CACRuc,OAAQ,CAAC/8B,EAAM8kB,OAAQ9kB,EAAM+kB,SAE/BtE,SAAS,GAGXxmB,KAAKomG,aAEDpmG,KAAKmtI,oBAAoB,SAC3BntI,KAAKmmG,YAEHpgG,EAAM4qB,MAAMpgB,OACdvQ,KAAKy6G,WAAW10G,EAAM4qB,MAAMpgB,OAE1BxK,EAAM4qB,MAAM/nB,OACd5I,KAAKqmG,eAIF,YAAAD,WAAP,WACE,IAAMrgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAsB,GACtB0lI,EAAertI,KAAKu6G,sBAAsBx0G,GAChD,GAAIsnI,EACFrtI,KAAKstI,mBAAmBvnI,EAAO4B,EAAQ0lI,QAEvC,GAAItnI,EAAM4qB,OAAS5qB,EAAM4qB,MAAMnT,MAC7B7V,EAAO+Y,OAAS,CAAC3a,EAAM4qB,MAAMnT,YACxB,GAAIzX,EAAMyX,MACfxd,KAAKisG,YAAYlmG,EAAO4B,OACnB,CACL,IAAMlB,EAAQzG,KAAK4G,KAAK8F,WACxB/E,EAAO+Y,OAAS,CAACja,EAAMs3C,cAGvB,EAAA7zC,KAAKvC,GAAQ/I,OAAS,IACxBoB,KAAK2H,OAAO6V,MAAQ7V,IAIjB,YAAAw+F,UAAP,WACE,IAAMpgG,EAAQ/F,KAAK4G,KAAKgf,QAClBje,EAAsB,GAC5BA,EAAO+Y,OAAS,CAAC3a,EAAM4qB,MAAMka,MAC7B7qC,KAAK2H,OAAOkjC,KAAOljC,GAGd,YAAA8yG,WAAP,SAAkBxmD,GAChB,IAAMtsD,EAAsB,GACxB,EAAAklB,SAASonC,GACXtsD,EAAO+Y,OAAS,CAACuzC,GACR,EAAAo4C,SAASp4C,KAClBtsD,EAAOm7B,OAASmxB,EAASnxB,OACzBn7B,EAAOmK,SAAWmiD,EAASniD,UAE7B9R,KAAK2H,OAAO4I,MAAQ5I,GAGf,YAAA0+F,WAAP,WACE,IAAMtgG,EAAQ/F,KAAK4G,KAAKgf,QAClB2gF,EAAaxgG,EAAM4qB,OAAS5qB,EAAM4qB,MAAM/nB,MACxCjB,EAAS,CACbm7B,OAAQ,KACRhxB,SAAU,KACVrJ,IAAK,MAEDR,EAAQjI,KAAKu6G,sBAAsBx0G,GACrC,EAAAuE,WAAWi8F,IACb5+F,EAAOm7B,OAAS,CAAC/8B,EAAM8kB,OAAQ9kB,EAAM+kB,QACrCnjB,EAAOmK,SAAWy0F,EACdt+F,GACFN,EAAOm7B,OAAOmG,QAAQhhC,IAGxBN,EAAOc,IAAM89F,EAEfvmG,KAAK2H,OAAOiB,MAAQjB,GAGd,YAAA2lI,mBAAR,SAA2BvnI,EAAO4B,EAAQM,GAExC,GADAN,EAAOm7B,OAAS,CAAC76B,GACblC,EAAM4qB,MAAMnT,MAAO,CAGrB,IAFA,IAAMmsC,EAxGZ,SAA0B1hD,EAAOjJ,GAC/B,IAAM0hB,EAAS,GAKf,OAJA,EAAAlX,KAAKxK,GAAM,SAACrC,GACV,IAAMuG,EAAIvG,EAAEsL,GACZyY,EAAOpd,KAAKJ,MAEP,EAAAijC,KAAKzlB,GAkGM6sH,CAAiBtlI,EAAOlC,EAAM/G,MAAMJ,OAC5C8hB,EAAS,GACNrkB,EAAI,EAAGA,EAAIstD,EAAOttD,IACzBqkB,EAAOpd,KAAKyC,EAAM4qB,MAAMnT,OAE1B7V,EAAO+Y,OAASA,OACP3a,EAAMyX,OACfxd,KAAKisG,YAAYlmG,EAAO4B,IAIpB,YAAAskG,YAAR,SAAoBlmG,EAAO4B,GACzB,IAAMM,EAAQjI,KAAKu6G,sBAAsBx0G,GACrC,EAAA8mB,SAAS9mB,EAAMyX,OACjB7V,EAAO+Y,OAAS,CAAC3a,EAAMyX,OACd,EAAAlT,WAAWvE,EAAMyX,OAC1B7V,EAAOmK,SAAW/L,EAAMyX,MACf,EAAA4E,QAAQrc,EAAMyX,SACnBvV,EACFN,EAAO+Y,OAAS3a,EAAMyX,MAElBzX,EAAMyX,MAAM5e,OAAS,IACvB+I,EAAO+Y,OAAS,CAAC3a,EAAMyX,MAAM,OAM7B,YAAA2vH,oBAAR,SAA4Bt6G,GAC1B,IAAM9sB,EAAQ/F,KAAK4G,KAAKgf,QAExB,OADkB7f,EAAM4qB,OAAS,EAAAjrB,IAAIK,EAAM4qB,MAAOkC,IAM5C,YAAA0nF,sBAAR,SAA8Bx0G,GAC5B,IAAgB,UAAAgnI,EAAA,eAAc,CAAzB,IAAMtwI,EAAC,KACV,GAAI,EAAAS,IAAI6I,EAAOtJ,GACb,MAAO,CAACsJ,EAAMtJ,MAItB,EAtIA,CAA8C,W,kHCjB9C,IAGI+wI,EAHJ,OACA,OAgJA,SAASC,EAAmB9qH,EAAO+qH,EAAYzkH,GAG7C,IAFQ,IAAAkR,EAAWuzG,EAAU,OACvBC,EAAW1kH,EAAM7I,MAAMpW,EAAIif,EAAM0L,WAAahS,EAC3CtmB,EAAI,EAAGA,EAAI89B,EAAOv7B,OAAS,EAAGvC,IAAK,CAC1C,IAAM09D,EAAU5/B,EAAO99B,GACjB6F,EAAOi4B,EAAO99B,EAAI,GACxB,GAAIsxI,GAAY5zE,EAAQ/vD,GAAK2jI,GAAYzrI,EAAK8H,EAAG,CAC/C,IAAMvN,GAAKyF,EAAKO,EAAIs3D,EAAQt3D,IAAMP,EAAK8H,EAAI+vD,EAAQ/vD,GAEnD,MAAO,CAAC2jI,EADE5zE,EAAQt3D,EAAIhG,GAAKkxI,EAAW5zE,EAAQ/vD,MAWpD,yBAA8B60C,GAC5B2uF,EAAW3uF,GAGb,EAAA3yC,kBAAkB,mBAnKlB,SAAyBqE,EAAOgiB,GAC9B,IAIMq7G,EAAkB,EAAA7jI,QAAQ,GAAIwoB,EAJjB,CACjB9P,OAAQ,aACRF,SAAU,MAGNwM,EAAWxe,EAAMrT,IAAI,WAAW6xB,SACtCA,EAASC,gBAAgBppB,IAAI,WAAW,GAExC,IAAMlH,EAAQ6R,EAAMrT,IAAI,SAClB+rB,EAAQ8F,EAASxG,WAEjBgM,EADSxF,EAAS5G,OACFqlH,EAAS5nH,QAAQkF,QACjC+iH,EAAY,EAAAz7G,MAAM7hB,EAAMrT,IAAI,YAkHpC,SAAiBqT,EAAO0Y,GACd,IAAA7I,EAAuB6I,EAAK,MAArB5I,EAAgB4I,EAAK,IAAhB3iB,EAAW2iB,EAAK,OACpC1Y,EAAMu3C,QAAQ,CACZl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAGoW,EAAMpW,EACTvH,EAAG4d,EAAI5d,EACP4D,MAAO,EACPC,OAAM,KAzHVwhD,CAAQv3C,EAAO0Y,GACf,IAAM+oF,EAAOzhG,EAAMrT,IAAI,aACjB8V,EAASzC,EAAMrT,IAAI,UAErB2mB,EAAQ,KACJg2E,EAAgB2zC,EAAS5nH,QAAO,YACpCi0E,IACFh2E,EAAQ7Q,EAAOkgB,SAAS,OAAQ,CAC9Bb,MAAO,CACLroB,EAAGif,EAAM7I,MAAMpW,EANL,GAOVvH,EAAG,EACH4jB,KAAMwnH,EAAU7uI,KAAK,GAAG66F,GACxBhqE,KAAMtf,EAAMsiB,KAAK,UACjB/C,SAAU,GACVC,UAAW,QACXC,aAAc,aAIpB,IAAM5C,EAAUvJ,EAAQ,GAAK,EACvByJ,EAASta,EAAOkgB,SAAS,OAAQ,CACrCb,MAAO,CACLroB,EAAGif,EAAM7I,MAAMpW,EAnBH,GAoBZvH,EAAG2qB,EACH/G,KAAM,OAAO3nB,EACbmxB,KAAMtf,EAAMsiB,KAAK,UACjB/C,SAAU,GACVC,UAAW,QACXC,aAAc,YAIlB49G,EAAgB97H,SAAW,WACrBvB,IAAUA,EAAMrT,IAAI,eACtBqT,EAAMu3C,QAAQ,MACdkqD,EAAKlnG,SACLwiB,EAAO3E,QACL,CACExK,QAAS,GAEX,KACA,WACEmP,EAAOxiB,SACF,EAAA1E,MAAMyd,IACTA,EAAM/Y,SAER,IAAMkkB,EAAkBD,EAASC,gBAC5BA,EAAgB9xB,IAAI,YACvB8xB,EAAgBppB,IAAI,WAAW,QAQzC,IAAImM,EAAQ67H,EAAgB77H,MACxB,EAAAzH,WAAWyH,KACbA,EAAQ67H,EAAgB77H,MAAMrT,IAEhC,IAAI+jB,EAASmrH,EAAgBnrH,OACzB,EAAAnY,WAAWmY,KACbA,EAASmrH,EAAgBnrH,OAAO/jB,IAGlCszG,EAAKrpF,QACH,CACEtiB,MAAO4iB,EAAM0L,YAEfi5G,EAAgBrrH,SAChBE,EACAmrH,EAAgB97H,SAChBC,GAED67H,EAAgBE,QAAU,SAACnrH,GAC1B,IAAM4D,EAAWknH,EAAmB9qH,EAAOkrH,EAAW5kH,GACtD,GAAK1C,EAAL,CAEA+G,EAAOuF,KAAK,IAAKtM,EAAS,GA3EZ,IA4Ed+G,EAAOuF,KAAK,IAAKtM,EAAS,GAAK6G,GAC/B,IAAI2gH,EA4DR,SAA2B7kH,EAAOzmB,EAAGwmB,GACnC,IAAM4Z,GAAUpgC,EAAIwmB,EAAM7I,MAAM3d,IAAMwmB,EAAM5I,IAAI5d,EAAIwmB,EAAM7I,MAAM3d,GAChE,OAAOymB,EAAM0d,OAAO/D,GAAQtN,QAAQ,GA9DtBy4G,CAAkBz5G,EAAQhO,EAAS,GAAI0C,GAG/CsL,EAAOmJ,YACTqwG,EAAQx5G,EAAOmJ,UAAUqwG,IAG3BzgH,EAAOuF,KAAK,OAAQk7G,KAEpBzgH,EAAO3E,QAAQilH,EAAgBE,QAAS,CACtCvrH,SAAUqrH,EAAgBrrH,SAC1BE,OAAM,EACN3Q,SAAU87H,EAAgB97H,SAC1BC,MAAK,IAEL8R,GACFA,EAAM8E,QACJ,CACEmlH,QAAS,SAACnrH,GACR,IAAM4D,EAAWknH,EAAmB9qH,EAAOkrH,EAAW5kH,GACjD1C,IACL1C,EAAMgP,KAAK,IAAKtM,EAAS,GAlGjB,IAmGR1C,EAAMgP,KAAK,IAAKtM,EAAS,OAG7BqnH,EAAgBrrH,SAChBE,EACAmrH,EAAgB97H,SAChBC,O,yFC/HN,4BACA,4BAIMk8H,EAAwB,CAC5B,CAAErxI,KAAM,iBAAkB2xF,OAAQ,WAClC,CAAE3xF,KAAM,uBAAwB2xF,OAAQ,YAG1C,UAAe,CACb2/C,UAR0B,GAS1BhkH,YAAa+jH,I,kFCZf,E,KAAA,uBAGA,mBAAuC3mI,GACrC,IAAMqzF,EAAkBrzF,EAAMmkB,qBACxB5kB,EAASS,EAAMT,OAErB,IAAI,UAAoB,CACtBD,KAAMU,EACNqzF,gBAAe,EACfxuE,IAAK,MAGP,IAAI,UAAoB,CACtBvlB,KAAMU,EACNqzF,gBAAe,EACfxuE,IAAK,MAGPtlB,EAAOY,S,8ECXT,UAAe,CACbmC,KAAM,UACNiyG,MAAO,SACPG,WAPF,SAAqBlB,EAAMvxF,EAAQ9gB,GACjC,YADiC,IAAAA,MAAA,CAAwBka,MAAO,KACzD4G,EAAOljB,MAAQoC,EAAIka,S,kFCL5B,E,KAAA,oBASA,UAAe,CACb/Y,KAAM,QACNiyG,MAAO,UACPG,WAVF,SAA0B73G,EAAGzE,GAC3B,IAAMyuI,EAAW,CAAChqI,EAAEo2B,QAASp2B,EAAEq2B,SAAUr2B,EAAEu2B,YAAav2B,EAAEs2B,YACpD2zG,EAAW,CAAC1uI,EAAE66B,QAAS76B,EAAE86B,SAAU96B,EAAEg7B,YAAah7B,EAAE+6B,YACpDp7B,EAAOu7G,EAASrhF,4BAA4B40G,EAAUC,GAC5D,OAAOj/H,KAAKuP,MAAMrf,IAAS,K,kFCN7B,E,KAAA,oBAaA,UAAe,CACbuK,KAAM,QACNiyG,MAAO,UACPG,WAVF,SAAqB73G,EAAGzE,EAAG+I,QAAA,IAAAA,MAAA,CAAwBnL,MAAO,IACxD,IAAM6wI,EAAW,CAAChqI,EAAEo2B,QAASp2B,EAAEq2B,SAAUr2B,EAAEu2B,YAAav2B,EAAEs2B,YACpD2zG,EAAW,CAAC1uI,EAAE66B,QAAS76B,EAAE86B,SAAU96B,EAAEg7B,YAAah7B,EAAE+6B,YACpDp7B,EAAOu7G,EAASrhF,4BAA4B40G,EAAUC,GAC5D,OAAOj/H,KAAKuP,MAAMrf,IAASoJ,EAAInL,S,8ECDjC,UAAe,CACbsM,KAAM,QACNiyG,MAAO,UACPG,WARF,SAA6B73G,EAAGzE,EAAG+I,QAAA,IAAAA,MAAA,CAAgCnL,MAAO,IACxE,IAAM+B,EAAO8P,KAAKsmB,IAAItxB,EAAE22B,OAASp7B,EAAEm7B,KACnC,OAAO1rB,KAAKuP,MAAMrf,IAASoJ,EAAInL,S,8ECEjC,UAAe,CACbsM,KAAM,UACNiyG,MAAO,UACPG,WAPF,SAAsBlB,EAAMvxF,EAAQ9gB,GAClC,YADkC,IAAAA,MAAA,CAAyBka,MAAO,MAC3Dm4F,EAAKz0G,MAAQkjB,EAAOljB,MAAQoC,EAAIka,S,8ECCzC,UAAe,CACb/Y,KAAM,UACNiyG,MAAO,SACPG,WATF,SAA0BlB,EAAMvxF,GAC9B,IACM8kH,EAAe9kH,EAAON,MAAM+X,OADR,EAE1B,OAAO7xB,KAAKsP,IAAI4vH,EAAcvzB,EAAKx9G,U,8ECKrC,UAAe,CACbsM,KAAM,UACNiyG,MAAO,SACPG,WAPF,SAAuBlB,EAAMvxF,EAAQ9gB,GACnC,YADmC,IAAAA,MAAA,CAA0Bka,MAAO,KAC7D4G,EAAOyX,OAASv4B,EAAIka,S,8ECJ7B,YAGA,mBAAmCpS,EAAe7R,EAAO+J,GACvD,IAAMuyF,EAAQvyF,EAAIuyF,MAAMA,MACxB,GAAIt8F,IAAUs8F,EAAMp8F,OAAS,EAA7B,CAGA,IAEQ63F,EAOV,SAAwBqnB,EAAOC,GAC7B,IAAItnB,EAEEhgE,EAAS,CAAEzsB,EAAG+zG,EAAMhjF,QAAU+iF,EAAM/iF,QAASt4B,EAAGs7G,EAAM/iF,QAAU8iF,EAAM9iF,SACtEimE,EAAM9xF,KAAKI,KAAKknB,EAAOzsB,EAAIysB,EAAOzsB,EAAIysB,EAAOh0B,EAAIg0B,EAAOh0B,GACxD6rI,EAAoB,CAAEtkI,EAAG,GAAIvH,EAAG,GAEhC8rI,EAAiBp/H,KAAKI,KAC1B++H,EAAkBtkI,EAAIskI,EAAkBtkI,EAAIskI,EAAkB7rI,EAAI6rI,EAAkB7rI,GAGlF00B,EADQ,EAAAhB,aAAaM,EAAQ63G,IACZrtC,EAAMstC,GAAmB,IAAOp/H,KAAKE,GACtD8nB,EAAQ,IAAGA,EAAQ,IAAMA,GAC7BA,EAeF,SAAqBA,GACnB,GAAIA,EAAQ,IAAMA,GAAS,IACzB,OAAO,IAAMA,EAEf,GAAIA,EAAQ,KAAOA,EAAQ,IACzB,OAAOA,EAAQ,IAEjB,OAAO,IAAMA,EAtBLq3G,CAAYr3G,GAGpB,IAAM+vE,EAAQ/3F,KAAKsmB,IAAIqoF,EAAM/iF,QAAUgjF,EAAMhjF,SACvCosE,EAAQh4F,KAAKsmB,IAAIqoF,EAAM9iF,QAAU+iF,EAAM/iF,SAEzC7D,EAAQ,GACVs/D,EAAM,IACGt/D,EAAQ,KACjBs/D,EAAM,KAGR,MAAO,CAAEA,IAAG,EAAEyQ,MAAK,EAAEC,MAAK,GAhCVsnC,CAFAzzC,EAAMt8F,GACTs8F,EAAMt8F,EAAQ,IACkB,IACvCsnE,EAAaz1D,EAAMrT,IAAI,cACjB,MAARu5F,GACFlmF,EAAMsiB,KAAK,IAAKmzC,EAAWvjE,EAAI,O,8ECbnC,WACA,SAIA,mBAAyC8N,EAAesuC,EAAQngD,EAAO+J,GACrE,IAAMuyF,EAAQvyF,EAAIuyF,MAAMA,MACxB,GAAc,IAAVt8F,EAAJ,CAGA,IAAMq7D,EAAUihC,EAAMt8F,GAChBooG,EAAW9L,EAAMt8F,EAAQ,GAC/B,GAAI,EAAAm/G,cAAc9jD,EAAS+sC,GAAW,CACpC,IAAM90E,EAAUvpB,EAAI7B,KAAKqC,KAAKuf,WAAW,GAAGuJ,SAAS,GAC/CtvB,EAAIqkG,EAASjsE,IAAMk/B,EAAQzzD,OAAS,EAE1C,GAAI7D,EADW,GACEgG,EAAI8gB,OAAOsR,IAAK,CAE/B,IAAMzG,EAAS2lC,EAAQxpD,MAAMrT,IAAI,UAG3BwxI,EA0BZ,SAAsBC,EAAS3jH,GAC7B,IAAIpqB,EAQJ,OAPA,EAAA4I,KAAKwhB,GAAQ,SAACza,GACZ,IAAMnS,EAAImS,EACCnS,EAAElB,IAAI,QACNyxI,IACT/tI,EAASxC,MAGNwC,EAnCeguI,CAFF58G,EAAQ68G,WAAWz6G,GACpBpC,EAAQjH,aACyB7tB,IAAI,OAC9C4xI,EAAUJ,EAAU/zG,KAAO+zG,EAAUroI,MAAQ,EAC7C0oI,EAAUL,EAAU7zG,IAGpB29B,EADYxmC,EAAQ90B,IAAI,mBAAmB8xB,gBACrBkE,SAAS,OAAQ,CAC3Cb,MAAO,CACL7C,KAAM,CACJ,CAAC,IAAKs/G,EAASC,GACf,CAAC,IAAKh1E,EAAQxpD,MAAMsiB,KAAK,KAAMpwB,IAEjC6tB,OAAQ,OACR4rC,UAAW,KAIT8yE,EAAkB,CAAEhlI,EAAGuG,EAAMsiB,KAAK,KAAMpwB,EAAG8N,EAAMsiB,KAAK,MAE5DknC,EAAQxpD,MAAMsiB,KAAK,IAAKpwB,EAxBX,IAyBbu4F,EAAMt8F,GAAS+J,EAAIuyF,MAAM2f,QAAQ5gD,EAAQxpD,OACzCyqF,EAAMt8F,GAAOqoB,KAAOyxC,EACpBwiC,EAAMt8F,GAAOswI,gBAAkBA,O,yFC3CrC,SACA,2BAEA,mBAAmDz+H,EAAOsuC,EAA4BngD,EAAO+J,GAC3F,IAAMuyF,EAAQvyF,EAAIuyF,MAAMA,MACpB,EAAA8kB,OAAOjhE,EAAOohE,KAAMvhH,EAAOs8F,IAITzqF,EAAMsiB,KAAK,UACZtiB,EAAMrT,IAAI,kBAAkByM,KAAK/M,MAElD,UAAS2T,K,yFCXf,OACA,2BAGA,mBAAgDA,EAAesuC,EAAQngD,EAAO+J,GAC5E,IAAMuyF,EAAQvyF,EAAIuyF,MAAMA,MAClBjwD,EAyBR,SAA4BiwD,GAC1B,IAAMi0C,EAAa,EAAAllI,QAAQ,GAAIixF,GAI/B,OAHAi0C,EAAW70G,MAAK,SAACj2B,EAAGzE,GAClB,OAAOA,EAAE2G,MAAQlC,EAAEkC,SAEd8I,KAAKuP,MAAMuwH,EAAW,GAAG5oI,OA9BdsgG,CAAmB3L,GACrC,KAAIt8F,GAAS,GAAb,CAGA,IAAMq7D,EAAUihC,EAAMt8F,GAEhBooG,EAUR,SAAsBpoG,EAAOs8F,GAC3B,IAAK,IAAI3+F,EAAIqC,EAAQ,EAAGrC,EAAI,EAAGA,IAAK,CAClC,IAAMy+G,EAAO9f,EAAM3+F,GACnB,IAAKy+G,EAAKvqG,MAAMrT,IAAI,SAClB,OAAO49G,GAdM/T,CAAaroG,EAAOs8F,GAC/BkM,EAAQJ,EAAS/rE,QAAUg/B,EAAQh/B,QACnCosE,EAAQL,EAAS9rE,QAAU++B,EAAQ/+B,QAC5B7rB,KAAKI,KAAK23F,EAAQA,EAAQC,EAAQA,GACpCp8D,IACT,UAASx6B,GACTA,EAAM3K,IAAI,SAAS,O,yFClBvB,OACA,2BAiEA,SAASspI,EAAgBl0C,EAAO/yF,EAAOpJ,GACrC,IAAmB,UAAAm8F,EAAA,eAAO,CAArB,IAAM8f,EAAI,KAEb,GADUA,EAAKvqG,MAAMrT,IAAI,UAAmB,QACtC+K,KAAWpJ,EACf,OAAOi8G,GAnEb,mBAA+CvqG,EAAesuC,EAAQngD,EAAO+J,GAC3E,IAAMuyF,EAAQvyF,EAAIuyF,MAAMA,MAClBjhC,EAAUihC,EAAMt8F,GAClBq7D,EAAQhzC,MACVgzC,EAAQhzC,KAAKjc,SAGf,IAAM9L,EAAOyJ,EAAI7B,KAAKkf,eAAe9mB,KAC/BmwI,EAAU1mI,EAAI7B,KAAK6B,EAAI7B,KAAKgD,OAASnB,EAAI7B,KAAK6B,EAAI7B,KAAKi1F,UAEvDuzC,EAoBR,SAAuBpwI,EAAMiJ,EAAO+yF,GAClC,IAAMq0C,EAAe,GACrB,EAAA7lI,KAAKxK,GAAM,SAACrC,GACV0yI,EAAa/rI,KAAK3G,EAAEsL,OAEtBonI,EAAaj1G,MAAK,SAACj2B,EAAGzE,GACpB,OAAOyE,EAAIzE,KAEb,IAAM+e,EAAM4wH,EAAa,GACnBC,EAAWJ,EAAgBl0C,EAAO/yF,EAAOwW,GACzCD,EAAM6wH,EAAaA,EAAazwI,OAAS,GACzC2wI,EAAWL,EAAgBl0C,EAAO/yF,EAAOuW,GACzC2lD,EAMR,SAAmB3oC,GACjB,IAAMC,EAAO,EAAArJ,MAAMoJ,GACnBC,EAAKrB,MAAK,SAACj2B,EAAGzE,GACZ,OAAOyE,EAAIzE,KAGb,IAAMg8B,EAAOvsB,KAAKwR,MAAM8a,EAAK78B,OAAS,GAEtC,GAAI68B,EAAK78B,OAAS,EAChB,OAAO68B,EAAKC,GAGd,OAAOD,EAAKC,GAlBGH,CAAU8zG,GACnBG,EAAcN,EAAgBl0C,EAAO/yF,EAAOk8D,GAElD,MAAO,CAAE1lD,IAAK6wH,EAAU9wH,IAAK+wH,EAAUprE,OAAQqrE,GAnC5BC,CAAczwI,EADnB,EAAA9B,IAAIiyI,EAAS,CAAC,QAAS,SAAU,GAAI,EAAAjyI,IAAIiyI,EAAS,CAAC,WAAY,SAAU,KACzCn0C,GAE1C00C,GAAU,EAOd,GANA,EAAAlmI,KAAK4lI,GAAY,SAACt0B,GAEZA,EAAKvqG,MAAMrT,IAAI,YAAc68D,EAAQxpD,MAAMrT,IAAI,YACjDwyI,GAAU,MAGVA,GACF,GAAI31E,EAAQi1E,gBAAiB,CACrB,MAAWj1E,EAAQi1E,gBAAjBhlI,EAAC,IAAEvH,EAAC,IACZ8N,EAAMsiB,KAAK,IAAK7oB,GAChBuG,EAAMsiB,KAAK,IAAKpwB,SAGlB,UAAS8N,K,yFC5Bb,yBACA,4BACA,4BASA,mBAAyCA,EAAesuC,EAA6BngD,EAAO+J,GAC1F,IAAMuyF,EAAQvyF,EAAIuyF,MAAMA,MAClB30E,EAAO9V,EAAMsiB,KAAK,QAEV,QAAQ4M,KAAKpZ,GAEzB,UAAiB9V,EAAOsuC,EAAQngD,EAAOs8F,GAC9B,EAAA20C,OAAOtpH,GAChB,UAAyB9V,EAAOsuC,EAAQngD,EAAOs8F,GAE/C,UAAezqF,EAAOsuC,K,8ECjB1B,mBAAqCtuC,EAAesuC,GAClDtuC,EAAM8uC,cACN9uC,EAAMsiB,KAAK,CACTysB,OAAQ,IAAMT,EAAOsjF,OACrBpyG,UAAW,QACXC,aAAc,a,8ECLlB,mBAAoCzf,EAAesuC,GAIjD,IAHA,IAAMx4B,EAAO9V,EAAMsiB,KAAK,QAClB5wB,EAAOkN,KAAKqmB,KAAKnP,EAAKznB,OAASigD,EAAOqjF,YACxC0N,EAAc,GACTvzI,EAAI,EAAGA,EAAIwiD,EAAOqjF,WAAY7lI,IAAK,CAC1C,IAAMqC,EAAQuD,EAAO5F,EACrBuzI,EAAiBvpH,EAAKzF,MAAM,EAAGliB,GAAM,KAAK2nB,EAAKzF,MAAMliB,GAEvD,IAAMoxB,EAAWvf,EAAMsiB,KAAK,YAC5BtiB,EAAMsiB,KAAK,CACTxM,KAAMupH,EACN/uD,WAAY/wD,EACZC,UAAW,SACXC,aAAc,U,yFCnBlB,4BAEA,OAEA,2B,+CAIA,OAJuC,iBAC3B,YAAAorE,QAAV,WACE,OAAO,EAAAl+F,IAAI8C,KAAK4G,KAAKgf,QAAS,CAAC,QAAS,QAAS,UAErD,EAJA,CAAuC,WAMvC,mBAA6Cte,GAC3C,IAAMqzF,EAAkBrzF,EAAMmkB,qBAC9B,IAAIokH,EAAyB,CAC3BjpI,KAAMU,EACNqzF,gBAAe,M,2GCdnB,WACA,QAWS,yEAXa,EAAAz2E,aAWF,uEAXwB,EAAAW,WAE5C,IAKMs/F,EAA6B,EAAAvgG,YALd,CACnBmD,KAAM,OACN4J,MAAO,UAKT,EAAAxwB,OAAO,EAAA+jB,UAAWigG,I,yFCVlB,OACA,OAEA,QAoDM2rB,EAAgB,CACpBx/G,OAAQ,cACRT,KAAM,UACNqsC,UAAW,GAGP6zE,EAAe,CACnBz/G,OAAQ,OACRT,KAAM,UACNqsC,UAAW,GAGP8zE,EAAiB,CACrB1/G,OAAQ,mBACRT,KAAM,UACNqsC,UAAW,GAcb,aAyBE,WAAYzzD,GArBJ,KAAA0xB,OAAmB,GACnB,KAAAxU,OAAmB,GAEnB,KAAA/oB,KAAO,eAGL,KAAAw1D,WAAa,CACrBjlC,QAAS,EACTC,QAAS,EACTxkB,MAAO,CAAEk/F,OAAQgoC,EAAer1D,SAAUu1D,EAAgBp3D,OAAQm3D,GAClEntI,MAAO,CACLujB,SAAS,EACTiH,SAAU,EACV7G,SAAU,MACV3d,MAAO,CACLinB,KAAM,wBAGVrN,WAAW,GAIXxiB,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK6qC,KAAOpiC,EAAIoiC,MAAQ,EACxB7qC,KAAK2H,OAAS,EAAAoC,QAAQ,GAAI/J,KAAKoyD,WAAY3pD,GAC3CzI,KAAKmhH,QAuNT,OApNS,YAAA73G,OAAP,WACE,IAAMo9C,EAAY1mD,KAAKiwI,eACvBjwI,KAAKkwI,cAAcxpF,GACnB1mD,KAAKiJ,KAAKpC,OAAOY,OACjBzH,KAAKmwI,mBAGA,YAAAtnH,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAKm6B,OAAS,GACdn6B,KAAK2lB,OAAS,IAGN,YAAAsqH,aAAV,WAEE,OADiBjwI,KAAKiJ,KAAKuf,WAAW,GACtBk+B,WAGV,YAAAy6D,MAAR,sBACQ75G,EAAQtH,KAAKiJ,KAAK2gB,gBACxB5pB,KAAK8F,UAAYwB,EAAMoiB,WACvB1pB,KAAKsJ,SACLtJ,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,YAID,YAAAqnH,cAAR,SAAsBxpF,GAAtB,WACE,EAAAl9C,KAAKxJ,KAAK2H,OAAO3I,MAAM,SAAC60B,EAAUu8G,GAChC,EAAA5mI,KAAKk9C,GAAW,SAAC2pF,GACf,IAAMj8G,EAAS,EAAA8Z,KAAKmiG,GAAQ,SAAC1zI,GAAM,SAAA2zI,QAAQ3zI,EAAE03B,QAASR,MACtD,GAAIO,EAAQ,CACV,IAAMm8G,EAAa,EAAK5oI,OAAOiB,MAAMk/F,OAC/Bx3F,EAAQ,EAAKxK,UAAU4jB,SAAS,CAAE9sB,KAAM,EAAKA,OAC7CoN,EAASoqB,EAAM,EAAZ3xB,EAAM2xB,EAAM,EACjB,EAAAhS,QAAQpY,KACVA,EAAIA,EAAE,IAEJ,EAAAoY,QAAQ3f,KACVA,EAAIA,EAAE,IAER,IAAIw5D,EAAS,EAAKt0D,OAAOs0D,OACnB,EAAuB,EAAKt0D,OAA1BwlB,EAAO,UAAEC,EAAO,UACpBuD,OAAK,EACT,GAAI,EAAA9D,SAASovC,IAAWA,EAAO2U,WAAW,YAAa,CACrD,IAAM4/D,EAAWv0E,EAAOj+B,OAAO,GAC/BrN,EAAQrgB,EAAM4iB,SAAS,QAAS,CAC9Bb,MAAO,CACLroB,EAAGA,EAAI,EAAK6gC,KAAO,EAAI1d,EACvB1qB,EAAGA,EAAI,EAAKooC,KAAO,EAAIzd,EACvB0yC,IAAK0wE,EACLnqI,MAAO,EAAKwkC,KACZvkC,OAAQ,EAAKukC,aAIjBoxB,EAAS,EAAApvC,SAASovC,GAAU,EAAAhvD,cAAcgvD,GAAUA,EACpDtrC,EAAQrgB,EAAM4iB,SAAS,CACrBtpB,KAAM,SACNhN,KAAM,eACN4zB,GAAI,SAAS4/G,EACb/9G,MAAO,EAAF,qBACHroB,EAAGA,EAAImjB,EACP1qB,EAAGA,EAAI2qB,EACPjwB,EAAG,EAAK0tC,KAAO,GACZ0lG,GAAU,CACbt0E,OAAM,MAIZ,EAAK9hC,OAAO72B,KAAKqtB,GACjB,EAAK8/G,cAAc9/G,GACnB,EAAK+/G,aAAapgI,EAAO8jB,EAAQg8G,GACjC9/H,EAAM1K,IAAI,OAAQiuB,GAClBvjB,EAAM1K,IAAI,SAAUwuB,WAMpB,YAAAs8G,aAAR,SAAqB5qI,EAAmBsuB,EAAsB11B,GACpD,IAAOq6D,EAAa/4D,KAAK2H,OAAM,MACvC,GAAIoxD,GAAYA,EAAS5yC,QAAS,CACxB,MAAyD4yC,EAAQ,QAAjE5rC,OAAO,IAAG,IAAC,EAAE,EAA4C4rC,EAAQ,QAApD3rC,OAAO,IAAG,IAAC,EAAEsQ,EAA+Bq7B,EAAQ,UAA5BxyC,EAAoBwyC,EAAQ,SAAlB9wD,EAAU8wD,EAAQ,MACrE1yC,EAAO+N,EAAOC,QAAQpsB,GACtBy1B,IACFrX,EAAOqX,EAAUrX,EAAM,CAAEgO,QAASD,EAAOC,SAAW31B,IAEtD,IAAMsL,EAAI,EAAAoY,QAAQgS,EAAOpqB,GAAKoqB,EAAOpqB,EAAE,GAAKoqB,EAAOpqB,EAC7CvH,EAAI,EAAA2f,QAAQgS,EAAO3xB,GAAK2xB,EAAO3xB,EAAE,GAAK2xB,EAAO3xB,EAC7CG,EAAQkD,EAAUotB,SAAS,OAAQ,CACvCt2B,KAAM,eACN4zB,GAAI,SAAS9xB,EACb2zB,MAAO,EAAF,qBACHroB,EAAGA,EAAImjB,EACP1qB,EAAGA,EAAI2qB,EACP/G,KAAMA,GAAQ,IACX0yC,EAASnwD,OAAK,CACjBmnB,UAAW,SACXC,aAA2B,QAAbzJ,EAAqB,SAAW,UAGlDvmB,KAAK2lB,OAAOriB,KAAKV,KAIb,YAAAutI,gBAAR,sBACU/lI,EAAWpK,KAAK2H,OAAM,OAC9B,EAAA6B,KAAKY,GAAQ,SAACb,EAAIgB,GAChB,EAAKzE,UAAU2E,GAAM,EAAK7N,KAAI,IAAI2N,GAAa,SAAChK,GAC9CgJ,EAAGhJ,GACH,IACMowI,EADSpwI,EAAEK,OAAO1D,IAAI,UACFA,IAAI,YAAY,GAC1C,GAAIyzI,EAAY,CACd,IAAM3xI,EAAO2xI,EAAWzzI,IAAI,QACtBszB,EAAKmgH,EAAWzzI,IAAI,MACpByL,EAAY,CAAE6nB,GAAE,EAAExxB,KAAI,GACV,UAAduL,EACE,EAAKqmI,eAAiB,EAAKA,cAAc1zI,IAAI,QAAUszB,GACzD,EAAKogH,cAAgB,KACrB,EAAKjlH,SAAS,WAAYhjB,KAE1B,EAAKioI,cAAgBD,EACrB,EAAKhlH,SAAS,WAAYhjB,IAEL,eAAd4B,EACT,EAAKohB,SAAS,SAAUhjB,GACD,eAAd4B,GACT,EAAKohB,SAAS,WAAYhjB,GAG9B,EAAKM,KAAKpC,OAAOY,UAEnB,EAAKwB,KAAKwB,GAAG,SAAS,SAAClK,GACrB,IAAMK,EAASL,EAAEK,OAAO1D,IAAI,YACvB0D,GAAWA,EAAO1D,IAAI,UAAY,EAAKN,MAAQ,EAAKg0I,iBACvD,EAAKA,cAAgB,KACrB,EAAKjlH,SAAS,oBAMd,YAAAA,SAAR,SAAiBuhC,EAAcvkD,GAA/B,WACgB,WAAVukD,EACGltD,KAAK4wI,eAAiBjoI,EAAU6nB,KAAOxwB,KAAK4wI,cAAc1zI,IAAI,OACjE8C,KAAK6wI,UAAUloI,GAEE,aAAVukD,EACTltD,KAAKm6B,OAAOnM,SAAQ,SAAC7vB,GAAM,SAAK2yI,YAAY3yI,MACzB,aAAV+uD,GACTltD,KAAK+wI,YAAYpoI,IAIb,YAAAkoI,UAAR,SAAkBloI,GAAlB,WACUiwE,EAAW54E,KAAK2H,OAAOiB,MAAK,OACpC,EAAAY,KAAKxJ,KAAKm6B,QAAQ,SAACxJ,GACbA,EAAMzzB,IAAI,QAAUyL,EAAU6nB,GAChC,EAAAhnB,KAAKovE,GAAQ,SAAC11E,EAAG/D,GACfwxB,EAAMkC,KAAK1zB,EAAG+D,MAGhB,EAAK4tI,YAAYngH,OAKf,YAAAmgH,YAAR,SAAoBngH,GACV,IAAAm3E,EAAW9nG,KAAK2H,OAAOiB,MAAK,OAC/B5I,KAAK4wI,eAAiBjgH,EAAMzzB,IAAI,QAAU8C,KAAK4wI,cAAc1zI,IAAI,OACpE,EAAAsM,KAAKs+F,GAAQ,SAAC5kG,EAAG/D,GACfwxB,EAAMkC,KAAK1zB,EAAG+D,OAKZ,YAAA6tI,YAAR,SAAoBpoI,GAApB,WACU8xE,EAAaz6E,KAAK2H,OAAOiB,MAAK,SACtC,EAAAY,KAAKxJ,KAAKm6B,QAAQ,SAACxJ,GACbA,EAAMzzB,IAAI,QAAUyL,EAAU6nB,GAChC,EAAAhnB,KAAKixE,GAAU,SAACv3E,EAAG/D,GACjBwxB,EAAMkC,KAAK1zB,EAAG+D,MAGhB,EAAK4tI,YAAYngH,OAMf,YAAA8/G,cAAR,SAAsBlgI,GACd,MAAsBvQ,KAAK2H,OAAzB6a,EAAS,YAAEqoB,EAAI,OACvB,IAAkB,IAAdroB,EAAqB,CACjB,MAA6DA,EAA3D,IAAAwkB,gBAAQ,IAAG,KAAE,EAAE,IAAAzU,kBAAU,IAAG,IAAAzkB,oBAAoBu9C,OAAM,EAC9D96C,EAAMoY,QAAQ,EAAD,UAETxrB,EAAG62B,OAAOzV,MAAMyoB,EAAS6D,KAAO,GAAKA,EAAO,EAAI7D,EAAS6D,KAAO,GAC7D7D,GAELzU,KAIR,EApPA,G,2FCnFA,MAiBA/O,cAAc,OAAQ,CACpB+1E,UAAW,CACTuO,OAAQ,GACRlvB,OAlBsB,SAAC,GAEzB,MAAO,CAAE1c,WAFuB,QACRrpC,KAAK,cAAgB,GACb,IAiB9Bk1E,QAduB,SAAC,GAE1B,MAAO,CAAE5pF,QAAmB,IAFK,QACX0U,KAAK,YAAc,KAcvC4nD,SAVwB,SAAC,GAE3B,MAAO,CAAEve,WAFyB,QACVrpC,KAAK,cAAgB,GACb,KAUhCsnF,WAAY,CACVrS,OAAQ,GACRlvB,OAAQ,GACRmvB,QAAS,GACTttB,SAAU,O,8EC7Bd,MAaAm1C,wBAAwB,OAVN,CAChBhtH,MAAO,CACL+tB,MAAO,CACLmqE,YAAa,CAAC,CAAEl+F,KAAM,qBACtBm+F,MAAO,CACL6hB,iBAAkB,CAAC,CAAEhgH,KAAM,2BAA6B,CAAEA,KAAM,2B,0HCRxE,4BAMS,EAAAq9F,WANF,UACP,gCAKqB,EAAAC,WALd,UACP,WACA,SACA,4BAIA,EAAA1tF,eAAe,mBAAoB,EAAAwkI,uBACnC,EAAAzkI,oBAAoB,mBAAoB,CACtC6T,MAAO,CACL,CAAEwvB,QAAS,EAAA9iC,iBAAiB6kB,YAAa6S,OAAQ,yBACjD,CAAEoL,QAAS,EAAA9iC,iBAAiBmd,aAAcua,OAAQ,yBAClD,CACEoL,QAAS,iBACTpL,OAAQ,wBACRoM,SAAU,CAAEF,KAAM,GAAIG,SAAS,EAAMC,UAAU,IAEjD,CACElB,QAAS,iBACTpL,OAAQ,wBACRoM,SAAU,CAAEF,KAAM,GAAIG,SAAS,EAAMC,UAAU,OAKrD,EAAAtkC,eAAe,gBAAiB,WAChC,EAAAD,oBAAoB,gBAAiB,CACnC6T,MAAO,CACL,CAAEwvB,QAAS,EAAA9iC,iBAAiB6kB,YAAa6S,OAAQ,sBACjD,CAAEoL,QAAS,EAAA9iC,iBAAiBmd,aAAcua,OAAQ,sBAClD,CACEoL,QAAS,iBACTpL,OAAQ,qBACRoM,SAAU,CAAEF,KAAM,GAAIG,SAAS,EAAMC,UAAU,IAEjD,CACElB,QAAS,iBACTpL,OAAQ,qBACRoM,SAAU,CAAEF,KAAM,GAAIG,SAAS,EAAMC,UAAU,IAEjD,CACElB,QAAS,kBACTpL,OAAQ,qBACRoM,SAAU,CAAEF,KAAM,GAAIG,SAAS,EAAMC,UAAU,IAEjD,CACElB,QAAS,gBACTpL,OAAQ,qBACRoM,SAAU,CAAEF,KAAM,GAAIG,SAAS,EAAMC,UAAU,Q,yFCjDrD,OAIA,cACE,WAAYroC,G,OACV,wBAEEm8F,aAAc,aACXn8F,KACH,KAyBN,OA/BwC,iBAS/B,YAAA2X,MAAP,aAIO,YAAA01C,QAAP,SAAehxC,GACb,IAAMwsF,EAAoB,EAAAr1E,OAAOj8B,KAAKiJ,KAAKuf,YAAY,SAACyC,GAAS,MAAa,QAAbA,EAAKrhB,QAEtE,GAA2B,SADZkb,EAAGlkB,OACP1D,IAAI,QAAoB,CACjC,IAAM,EAAO,EAAAA,IAAI4nB,EAAI,aACrB,EAAAtb,KAAK8nG,GAAO,SAACvqF,GACX,EAAAvd,KAAKud,EAAKgL,UAAU,SAACC,GACnBA,EAAQrG,SAAS,SAAUqG,EAAQhzB,OAAS,cAIhD,EAAAwK,KAAK8nG,GAAO,SAACvqF,GACX,EAAAvd,KAAKud,EAAKgL,UAAU,SAACC,GACnBA,EAAQrG,SAAS,UAAU,UAKrC,EA/BA,CAHA,yBAGwC,S,sGCJxC,OAIA,cACE,WAAYljB,G,OACV,wBACEo8F,SAAU,SACPp8F,KACH,KA2BN,OAhCwC,iBAQ/B,YAAA2X,MAAP,aAIO,YAAAC,IAAP,SAAWyE,GACT,IAAMlkB,EAASkkB,EAAGlkB,OACZ0wG,EAAoB,EAAAr1E,OAAOj8B,KAAKiJ,KAAKuf,YAAY,SAACyC,GAAS,MAAa,QAAbA,EAAKrhB,QACtE,GAA2B,SAAvBhJ,EAAO1D,IAAI,QAAoB,CACjC,IAAM,EAAO,EAAAA,IAAI4nB,EAAI,aACrB,EAAAtb,KAAK8nG,GAAO,SAACvqF,GACX,EAAAvd,KAAKud,EAAKgL,UAAU,SAACC,GACnBA,EAAQrG,SAAS,WAAYqG,EAAQhzB,OAAS,cAKlD,EAAAwK,KAAK8nG,GAAO,SAACvqF,GACX,EAAAvd,KAAKud,EAAKgL,UAAU,SAACC,GACnBA,EAAQrG,SAAS,YAAY,UAMvC,EAhCA,CAHA,yBAGwC,S,iKCJxC,OACA,OAGA,2B,+CAUA,OAV+C,iBAC7C,sBAAW,mBAAI,C,IAAf,WACE,MAAO,oB,gCAGC,YAAA+oD,cAAV,WAEE,IAAMjsE,EAAM,YAAMisE,cAAa,WAC/B,OAAO,EAAP,uBAAYjsE,GAAG,CAAEosE,aAAa,EAAOnuD,gBAAgB,EAAMkuD,aAAa,EAAMnuD,QAAQ,KAE1F,EAVA,CAA+C,EAAAwqH,mBAAlC,EAAAC,4BAWb,EAAA5lI,4BAA4B,mBAAoB4lI,GAEhD,+B,+CA4CA,OA5C2C,iBAGlC,YAAA3/G,KAAP,WACE,IAAM4/G,EAAcnxI,KAAKoxI,WACpB,EAAArnG,QAAQonG,EAAanxI,KAAK03E,YAC7B13E,KAAK03E,SAAWy5D,EAChBnxI,KAAKqmD,YAAY8qF,KAId,YAAA3/G,KAAP,WACqBxxB,KAAKqxI,uBACbvkH,eAGN,YAAAu5B,YAAP,SAAmB11B,GACE3wB,KAAKqxI,uBACbhrF,YAAY11B,IAGjB,YAAAygH,SAAR,WACE,IAAMtsH,EAAK9kB,KAAK6jC,QAAQ3gB,MAExB,OAAO4B,EAAK,CAAE9a,EAAG8a,EAAG9a,EAAGvH,EAAGqiB,EAAGriB,GAAMzC,KAAKsxI,iBAGlC,YAAAA,cAAR,WACE,IAAMroI,EAAOjJ,KAAKgJ,UACZsrB,EAASrrB,EAAKf,YACdqsB,EAAStrB,EAAKw8C,aAAa,GAC3Bl9B,EAAatf,EAAKyoB,gBAClBioG,EAAQ,EAAAh9E,KAAKroB,EAAOi5C,YAAYjwE,MAEtC,OAAOirB,EAAWgY,QAAQ,CAAEv2B,EAAG2vH,EAAOl3H,GAAI8xB,EAAO9G,MAAM,GAAK8G,EAAO9G,MAAM,IAAM,KAGzE,YAAAzkB,QAAR,WACE,OAAOhJ,KAAK6jC,QAAQ56B,MAGd,YAAAooI,qBAAR,WACE,OAAOrxI,KAAKgJ,UAAUm3C,cAAc,qBAExC,EA5CA,CAA2C,EAAA7zC,mBAA9B,EAAA0kI,yB,0HCjBb,OACA,OAUA,2B,+CASA,OAT6C,iBAC3C,sBAAW,mBAAI,C,IAAf,WACE,MAAO,kB,gCAEC,YAAAt8D,cAAV,WAEE,IAAMjsE,EAAM,YAAMisE,cAAa,WAC/B,OAAO,EAAP,uBAAYjsE,GAAG,CAAEie,gBAAgB,EAAMkuD,aAAa,EAAOnuD,QAAQ,KAEvE,EATA,CAA6C,EAAAwqH,mBAAhC,EAAAM,0BAWb,EAAAjmI,4BAA4B,iBAAkBimI,GAE9C,+B,+CAmDA,OAnDiC,iBACxB,YAAAtpH,KAAP,WAEEjoB,KAAKgJ,UAAUo8C,kBAAkB,YAG5B,YAAA7zB,KAAP,WACE,IAAM4/G,EAAcnxI,KAAKoxI,WACrBD,GACFnxI,KAAKqmD,YAAY8qF,IAId,YAAA3/G,KAAP,WACE,IAAMvoB,EAAOjJ,KAAKgJ,UACChJ,KAAKqxI,uBACbvkH,cACX,IAAMqN,EAAqB,EAAA8B,OAAOhzB,EAAKuf,YAAY,SAACyC,GAAS,MAAa,SAAbA,EAAKrhB,QAClE,EAAAJ,KAAK2wB,GAAQ,SAACxJ,GACZ,EAAAnnB,KAAKmnB,EAAMoB,UAAU,SAACC,GACpBA,EAAQrG,SAAS,UAAU,UAK1B,YAAA06B,YAAP,SAAmB11B,GACjB,IAAM1nB,EAAOjJ,KAAKgJ,UACZm4C,EAAanhD,KAAKqxI,uBACxBlwF,EAAWkF,YAAY11B,GACvB,IAAM6C,EAAQ2tB,EAAW5D,gBAAgB5sB,GACnCwJ,EAAqB,EAAA8B,OAAOhzB,EAAKuf,YAAY,SAACyC,GAAS,MAAa,SAAbA,EAAKrhB,QAClE,EAAAJ,KAAK2wB,GAAQ,SAACxJ,GACZ,EAAAnnB,KAAKmnB,EAAMoB,UAAU,SAACC,GACpBA,EAAQrG,SAAS,UAAsE,IAA5D,EAAAjiB,UAAU8pB,GAAO,SAAC7pB,GAAS,OAAAA,EAAK3K,OAASgzB,EAAQhzB,gBAK1E,YAAAoyI,SAAR,WACE,IAAMtsH,EAAK9kB,KAAK6jC,QAAQ3gB,MAExB,OAAO4B,EAAK,CAAE9a,EAAG8a,EAAG9a,EAAGvH,EAAGqiB,EAAGriB,GAAM,MAG7B,YAAAuG,QAAR,WACE,OAAOhJ,KAAK6jC,QAAQ56B,MAGd,YAAAooI,qBAAR,WACE,OAAOrxI,KAAKgJ,UAAUm3C,cAAc,mBAExC,EAnDA,CAAiC,EAAA7zC,mBAqDjC,UAAeklI,G,yFC7Ef,OACA,0BACA,4BAIA,2B,+CAQA,OARqC,iBAG5B,YAAAxqI,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,UAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA2D,UAAaA,kBAOxF,EARA,CAAqC,W,UAAhBurH,G,yFCNrB,OACA,OAEA,2BACA,4BACA,SACA,yBACA,4BAqBA,yE,OA2CS,EAAA7nI,KAAe,U,EAuOxB,OAlR6F,iBAC7E,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CwrH,SAAU,EACVprH,QAAS,CAAC,EAAG,EAAG,EAAG,GACnBE,QAAS,CACPL,SAAS,EACTkC,WAAW,EACX3B,gBAAgB,EAChBkuD,aAAa,EACbnuD,QAAQ,GAEVrC,OAAQ,CACN+B,SAAS,GAEXU,MAAO,CACLV,SAAS,GAEXiB,MAAO,CACLjB,SAAS,GAEX0E,OAAQ,IACRC,OAAQ,IACRloB,MAAO,CACLujB,SAAS,EACTiwE,gBAAgB,EAChBxtF,MAAO,CACL0nB,OAAQ,gBACR4rC,UAAW,EACXpsC,SAAU,KAGd/D,KAAM,CACJ/hB,EAAG,CACDyzB,MAAM,GAERh7B,EAAG,CACDg7B,MAAM,IAGV/X,aAAc,CAAC,CAAE9b,KAAM,eAQpB,YAAAie,WAAP,sBACE,YAAMA,WAAU,WACR,IAAAnC,EAAiB1lB,KAAK4lB,QAAO,aACjCF,GACF,EAAAlc,KAAKkc,GAAc,SAACsD,GACO,cAArBA,EAAYpf,OACd,EAAK+nI,aAAc,EACnB,EAAK/rH,QAAQ8rH,SAAW,MAItB,IAAA1yI,EAASgB,KAAK4lB,QAAO,KACvBgsH,EAAc5xI,KAAK6xI,eAAe7yI,GACxCgB,KAAK8xI,SAAWF,GAGX,YAAA1nH,YAAP,YACE,YAAMA,YAAW,WACblqB,KAAK4lB,QAAQhjB,OAAS5C,KAAK4lB,QAAQhjB,MAAMujB,UAC7B,IAAI,UAAa,EAAD,UAC5Bld,KAAMjJ,KAAKiJ,KACXrC,KAAM5G,MACHA,KAAK4lB,QAAQhjB,QAEZ0G,UAIA,YAAAskF,eAAV,WACE,MAAO,WAGF,YAAAikD,eAAP,SAAsB7yI,EAAMorE,GAC1B,IAAM/gD,EAAYrpB,KAAKspB,eACjB3tB,EAAO,UAASqD,EAAMqqB,EAAUrf,EAAGqf,EAAU5mB,EAAG4mB,EAAUhjB,MAAOgjB,EAAU/iB,QACjFtG,KAAK40F,UAAUj5F,EAAM,GACrB,IAAMi2I,EAAc,GAOpB,OANA5xI,KAAK+xI,YAAYp2I,EAAMi2I,EAAaxnE,GACpCwnE,EAAYx3G,MAAK,SAACj2B,EAAGzE,GACnB,OAAOyE,EAAE6tI,MAAQtyI,EAAEsyI,SAErBhyI,KAAK4lB,QAAQiF,OAAS,IACtB7qB,KAAK4lB,QAAQkF,OAAS,IACf8mH,GAGC,YAAA1pH,YAAV,WACE,OAAOloB,KAAK8xI,UAGJ,YAAA7oH,MAAV,aAIU,YAAAE,YAAV,sBACQ,EAA8BnpB,KAAK4lB,QAAjC5mB,EAAI,OAAEi/D,EAAU,aAAEzgD,EAAK,QACzBo0H,EAAc5xI,KAAK6xI,eAAe7yI,GACxCgB,KAAK8xI,SAAWF,EAChB,IAAMK,EAAWjyI,KAAKiyI,SAASL,GAC/B5xI,KAAKuqH,KAAO,CACV3gH,KAAM,UACN2c,SAAU,CACRuc,OAAQ,CAAC,IAAK,MAEhBtlB,MAAO,CACLslB,OAAQ,CAACm7B,GACTv9C,OAAQlD,GAEV5U,MAAO,CACLk6B,OAAQ,CAAC,SACThxB,SAAU,SAACnV,GACT,IAAMw3D,EAAe,EAAK+9E,mBAAmBv1I,EAAGs1I,GAChD,OAAO,EAAAloI,QAAQ,GAAIoqD,EAAc,EAAKvuC,QAAQusH,aAGlD3rH,QAAS,CACPsc,OAAQ,CAAC,OAAQ,WAGjB9iC,KAAK4lB,QAAQY,SAAWxmB,KAAK4lB,QAAQY,QAAQkX,YAC/C19B,KAAKuqH,KAAK/jG,QAAQ1U,SAAW9R,KAAK4lB,QAAQY,QAAQkX,WAEpD19B,KAAKgsB,UAAU,WAAYhsB,KAAKuqH,OAGxB,YAAAvgG,kBAAV,sBACQooH,EAAiBpyI,KAAK4lB,QAAQF,aAC9BA,EAAe1lB,KAAKiJ,KAAKyc,aAC/B,EAAAlc,KAAK4oI,GAAgB,SAACC,GACpB,IAAMC,EAAM,EAAAC,gBAAgBF,EAAMzoI,MAClC,GAAI0oI,EAAK,CACP,IAAMtpH,EAAc,IAAIspH,EACtB,EAAAvoI,QACE,GACA,CACEd,KAAM,EAAKA,KACXrC,KAAM,EACN+9F,WAAY,iBAEd0tC,EAAM5pI,IACN6pI,EAAIlkH,oBAAoB,EAAKV,UAAW2kH,EAAM5pI,OAGlDid,EAAa2sH,EAAMzoI,MAAQof,OAKvB,YAAAxG,UAAV,WACE,YAAMA,UAAS,WACXxiB,KAAK2xI,cACP3xI,KAAKuqH,KAAK5hG,SAAU,IAId,YAAAxhB,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGZ,YAAAyG,UAAR,SAAkBpyD,EAAMwvG,GAAxB,WACU/zE,EAAej+D,KAAK4lB,QAAO,WACnC,EAAApc,KAAKg5B,GAAM,SAACrlC,GACV,EAAAqM,KAAKrM,EAAE+wD,UAAU,SAACxxD,GAQhB,GAPAA,EAAEs1I,MAAQA,EACNA,EAAQ,IAAGt1I,EAAEsW,OAAS7V,GACrB,EAAAsqB,OAAO/qB,EAAGuhE,KACbvhE,EAAEuhE,GAAc9gE,EAAE8gE,IAEpBvhE,EAAE81I,WAAY,GACD,EAAKxoE,OAAOttE,GACd,CACT,IAAM+1I,EAAetjI,KAAKsmB,IAAI/4B,EAAE80E,GAAK90E,EAAEq3D,IACjC+uB,EAAc,EAAK4vD,iBACnBC,EAAoBF,EAAe,EAAI3vD,EAAcA,EArMhD,EAsMXpmF,EAAE81I,UAtMS,IAsMGG,EACd,IAAMC,EAAS,UACbl2I,EACAA,EAAEm2I,GAzMO,EA0MTn2I,EAAEq3D,GAAK4+E,EACPj2I,EAAEkzB,GA3MO,EA4MTlzB,EAAE80E,GA5MO,GA8MX,EAAKshE,eAAeF,EAAQ30E,EAAYvhE,EAAEuhE,IAC1C,EAAK22B,UAAUg+C,EAAQl2I,EAAEs1I,MAAQ,WAMjC,YAAAD,YAAR,SAAoB/yI,EAAMg8F,EAAO5wB,GAAjC,WACQ5rD,EAAM4rD,GAAgBpqE,KAAK4lB,QAAQ8rH,SACnCroH,EAAYrpB,KAAKspB,eACvB,EAAA9f,KAAKxK,GAAM,SAACrC,GACN,EAAA8qB,OAAO9qB,EAAG,OAASA,EAAEq1I,OAASxzH,GAChCw8E,EAAM13F,KAAK,EAAD,uBACL3G,GAAC,CACJqN,EAAG,CAACrN,EAAEk2I,GAAIl2I,EAAEizB,GAAIjzB,EAAEizB,GAAIjzB,EAAEk2I,IACxBpwI,EAAG,CAAC4mB,EAAU/iB,OAAS3J,EAAE60E,GAAInoD,EAAU/iB,OAAS3J,EAAE60E,GAAInoD,EAAU/iB,OAAS3J,EAAEo3D,GAAI1qC,EAAU/iB,OAAS3J,EAAEo3D,OAGpG,EAAAtsC,OAAO9qB,EAAG,aACZ,EAAKo1I,YAAYp1I,EAAEuxD,SAAU8sC,OAK3B,YAAA83C,eAAR,SAAuBtwG,EAAMuwG,EAAWz1I,GACtC,EAAAkM,KAAKg5B,GAAM,SAACrlC,GACL,EAAAsqB,OAAOtqB,EAAG41I,KACb51I,EAAE41I,GAAaz1I,OAKb,YAAAo1I,eAAR,WACU,IAAA9vI,EAAU5C,KAAK4lB,QAAO,MACtBkK,EAAa9vB,KAAKqI,eAAezF,MAAMgG,MAAK,SAChDiiC,EAAO,EACX,GAAIjoC,GAASA,EAAMujB,QAAS,CAC1B,IAAM66F,EAAkBp+G,EAAMgG,MAC9BiiC,EAAOm2E,GAAcA,EAAWlxF,SAAWkxF,EAAWlxF,SAAWA,EAEnE,OAAO+a,EAAOmoG,GAGR,YAAAhpE,OAAR,SAAehrE,GACb,OAAQA,EAAKkvD,UAAqC,IAAzBlvD,EAAKkvD,SAAStvD,QAGjC,YAAAqzI,SAAR,SAAiBjzI,GAEf,GAAiB,IADIgB,KAAK4lB,QAAO,SAE/B,OAAO,EAGT,IADA,IAAIqtH,GAAS,EACJ52I,EAAI,EAAGA,EAAI2C,EAAKJ,OAAQvC,IAC/B,GAAI2C,EAAK3C,GAAG6xD,SAAU,CACpB+kF,GAAS,EACT,MAGJ,OAAOA,GAGD,YAAAf,mBAAR,SAA2BF,EAAOC,GACxB,IAAAP,EAAa1xI,KAAK4lB,QAAO,SACjC,OAAKqsH,EAMgB,IAAVD,EACF,CACL91E,UAAW,EACX5rC,OAAQ,QACRnS,QAAS6zH,EAAQN,GAGZ,CACLx1E,UAAW,EACX5rC,OAAQ,kBACRnS,QAAS6zH,EAAQN,GAfZ,CACLx1E,UAAW,EACX5rC,OAAQ,kBACRnS,QAAS,KAgBjB,EAlRA,CAA6F,W,YAoR7F,EAAAqwE,iBAAiB,UAAW0kD,I,8EChT5B,aACA,SAKMvwH,GAAS,EAAIxT,KAAKI,KAAK,IAAM,EAEnC,mBAAiC5T,EAAMk3I,EAAI9+E,EAAInkC,EAAI4hD,GACzC,IAAAtjB,EAAavyD,EAAI,SACrB2B,EAAQ3B,EAAK2B,MACjB4wD,EAAS9zB,MAAK,SAACj2B,EAAGzE,GAChB,OAAOA,EAAEpC,MAAQ6G,EAAE7G,SAWrB,IATA,IACI61I,EAAUj1D,EAAUD,EACpB9e,EAAOi0E,EACPC,EAAUC,EACVC,EAJE/wG,EAAO,GAKTnmC,EAAI,EACN+H,EAAI,EAGC/H,EAAI6xD,EAAStvD,QAAQ,CAC1B,IAAMyH,EAAQupB,EAAKijH,EACbvsI,EAASkrE,EAAKzd,EAOpB,IALAmqB,EADAi1D,EAAWjlF,EAAS9pD,KAAK9G,MAEzB2gF,EAAWk1D,EAEXC,EAAOD,EAAWA,GADlBh0E,EAAQhwD,KAAKqP,IAAIlY,EAASD,EAAOA,EAAQC,IAAWhJ,EAAQqlB,IAE5D2wH,EAAWnkI,KAAKqP,IAAI0/D,EAAWk1D,EAAMA,EAAOn1D,GACrC75E,EAAI8pD,EAAStvD,OAAQwF,IAAK,CAO/B,IANAmvI,EAAYrlF,EAAS9pD,GAAG9G,OAER2gF,IAAUA,EAAWs1D,GACjCA,EAAYr1D,IAAUA,EAAWq1D,GACrCH,GAHAD,GAAYI,GAGMJ,EAAWh0E,GAC7Bk0E,EAAWlkI,KAAKqP,IAAI0/D,EAAWk1D,EAAMA,EAAOn1D,IAC7Bq1D,EAAU,CACvBH,GAAYI,EACZ,MAEFD,EAAWD,EAEb,IAAMn1E,EAAM,CAAE5gE,MAAO61I,EAAUK,KAAMntI,EAAQC,EAAQ4nD,SAAUA,EAASttC,MAAMvkB,EAAG+H,IAEjF,GADAo+B,EAAKl/B,KAAK46D,GACNA,EAAIs1E,KAAM,CACZ,IAAM70H,EAAIrhB,EAASgJ,EAAS6sI,EAAY71I,EAAQgJ,EAChD,EAAAktI,KAAKt1E,EAAK20E,EAAI9+E,EAAInkC,EAAImkC,EAAKp1C,GACvBrhB,IACFy2D,GAAMp1C,OAEH,CACL,IAAMyW,EAAI93B,EAAS+I,EAAQ8sI,EAAY71I,EAAQ+I,EAC/C,EAAAua,MAAMs9C,EAAK20E,EAAI9+E,EAAI8+E,EAAKz9G,EAAGo8C,GACvBl0E,IACFu1I,GAAMz9G,GAGV93B,GAAS61I,EACT92I,EAAI+H,EAEN,OAAOo+B,I,4FC/DT,WAEA,gBAAqB7mC,EAAMk3I,EAAI9+E,EAAInkC,EAAI4hD,GACrC,IAAMnrE,EAAQupB,EAAKijH,EACX3kF,EAAoBvyD,EAAI,SAAd2B,EAAU3B,EAAI,MAChCuyD,EAAS9zB,MAAK,SAACj2B,EAAGzE,GAChB,OAAOA,EAAEpC,MAAQ6G,EAAE7G,SAErB,IAAM6B,EAAIkH,EAAQ/I,EACdm2I,EAASZ,EACb,EAAArpI,KAAK0kD,GAAU,SAACxxD,GACdA,EAAEq3D,GAAKA,EACPr3D,EAAE80E,GAAKA,EACP90E,EAAEm2I,GAAKY,EACPA,GAAU/2I,EAAEY,MAAQ6B,EACpBzC,EAAEkzB,GAAKlzB,EAAEm2I,GAAKn2I,EAAEY,MAAQ6B,O,6FCf5B,WAEA,iBAAsBxD,EAAMk3I,EAAI9+E,EAAInkC,EAAI4hD,GACtC,IAAMlrE,EAASkrE,EAAKzd,EACZ7F,EAAoBvyD,EAAI,SAAd2B,EAAU3B,EAAI,MAChCuyD,EAAS9zB,MAAK,SAACj2B,EAAGzE,GAChB,OAAOA,EAAEpC,MAAQ6G,EAAE7G,SAErB,IAAM6B,EAAImH,EAAShJ,EACfo2I,EAAS3/E,EACb,EAAAvqD,KAAK0kD,GAAU,SAACxxD,GACdA,EAAEm2I,GAAKA,EACPn2I,EAAEkzB,GAAKA,EACPlzB,EAAEq3D,GAAK2/E,EACPA,GAAUh3I,EAAEY,MAAQ6B,EACpBzC,EAAE80E,GAAK90E,EAAEq3D,GAAKr3D,EAAEY,MAAQ6B,O,2GCf5B,E,KAAA,wBAEa,EAAAozI,gBAAkB,CAC7BoB,UAAW,Y,yFCHb,4BACA,2BAEA,2BAEA,OACA,SA+CA,2B,+CAqOA,OArOkD,iBAClC,EAAAvlH,oBAAd,SAAkC0+D,EAAkB9jE,GAClD,IAf8BvgB,EAexBd,QAfwB,KAAAc,EAeiDugB,KAfjDvgB,EAAA,IACtB,YACRuB,EAAG,EACHvH,EAAG,EACHmxI,UAAW,CAAEh3I,KAAM,QACnBi3I,UArCuB,IAsCvBC,WArCwB,GAsCxBxtH,QAAS,CAAC,EAAG,EAAG,EAAG,IAChB7d,IAQG,EAA8Bd,EAAO2e,QAApCkvG,EAAU,KAAEE,EAAa,KAChC,GAAI5oC,EACF,OAAO,IAAI,UACTA,EAAW58E,KACX48E,EAAWz8E,KAAO1I,EAAOmsI,WAAate,EAAaE,EACnD5oC,EAAWzmF,MACXsB,EAAOmsI,WAAate,EAAaE,IAmBhC,YAAAt1G,MAAP,SAAa0E,GAAb,WACQ9lB,EAAO8lB,EAAG9lB,KAAKA,KACjBA,EAAKkvD,WACPluD,KAAKi2E,WAAa,CAChBz4D,MAAOsH,EAAGlkB,OAAOiyB,KAAK,QACtBtiB,MAAOuU,EAAGlkB,OACV5B,KAAM,CACJpC,KAAM,EAAAw1B,MAAMpyB,KAAK+zI,YAAYn3I,MAC7BU,MAAO,EAAA80B,MAAMpyB,KAAK+zI,YAAYz2I,QAEhC00I,MAAO,EAAA5/G,MAAMpyB,KAAKg0I,eAEpBh0I,KAAKg0I,eACL,EAAAC,aAAanvH,EAAGlkB,OAAQZ,KAAKiJ,MAAM,WACjC,EAAKqZ,OAAOtjB,QAKR,YAAAsjB,OAAV,SAAiBtjB,GACV,EAAAyoB,OAAOznB,KAAKsiC,MAAOtjC,EAAKpC,QAC3BoD,KAAKsiC,MAAMtjC,EAAKpC,MAAQoC,GAE1B,IAAMk1I,EAAYl0I,KAAK4G,KAAKirI,eAAe7yI,EAAMA,EAAKgzI,OACtDhyI,KAAKiJ,KAAKlB,WAAWmsI,GACrBl0I,KAAKwxD,YAAYxxD,KAAKg0I,cACtBh0I,KAAK+zI,YAAc/0I,EACnBgB,KAAKsJ,UAGA,YAAAA,OAAP,WACE,GAAItJ,KAAK+jB,WAAY,CACnB,IAAMyP,EAAQxzB,KAAKs7E,WACnBt7E,KAAK+jB,WAAWzB,OAAO,CACrBkR,MAAK,IAEPxzB,KAAK+jB,WAAWza,SAChBtJ,KAAKohD,cAELphD,KAAKm0I,eACLn0I,KAAKsiC,MAAQ,GACbtiC,KAAKo0I,oBACLp0I,KAAK8F,UAAY9F,KAAK4G,KAAKC,OAAO6iB,WAC7B1pB,KAAK4zI,YACR5zI,KAAK4zI,UAAY,CACfh3I,KAAM,SAGkB,SAAxBoD,KAAK4zI,UAAUh3I,MACjBoD,KAAKq0I,cAAgB,EAAA5sH,OAAOznB,KAAK4G,KAAKgf,QAAQ5mB,KAAM,QAAUgB,KAAK4G,KAAKgf,QAAQ5mB,KAAKpC,KAAO,OAC5FoD,KAAK+zI,YAAc/zI,KAAK4G,KAAKgf,QAAQ5mB,KACrCgB,KAAKg0I,aAAe,IAEpBh0I,KAAKq0I,cAAgBr0I,KAAK4zI,UAAUh3I,KACpCoD,KAAK+zI,YAAc/zI,KAAK4zI,WAE1B5zI,KAAKyC,EAAIzC,KAAKiJ,KAAKg4C,eAAe5wC,KA/HpB,GAgIdrQ,KAAK+jB,WAAa,IAAI,UAAW,CAC/Bje,UAAW9F,KAAK8F,UAChBkE,EAAG,EACHvH,EAAGzC,KAAKyC,EACR+wB,MAAOxzB,KAAKs7E,aAEdt7E,KAAK+jB,WAAWkE,OAChBjoB,KAAK+jB,WAAWza,SAChBtJ,KAAK4G,KAAKC,OAAOY,OACjBzH,KAAKohD,SAEPphD,KAAKs0I,iBAGG,YAAAzrH,MAAV,aAIQ,YAAAu4B,OAAR,WACE,IAAMo3D,EAAex4G,KAAK8F,UAAU+nB,UAAUxnB,MACxC2D,GAAKhK,KAAK4G,KAAKP,MAAQmyG,GAAgB,EAC7Cx4G,KAAK+jB,WAAWzB,OAAO,CACrBtY,EAAC,EACDvH,EAAGzC,KAAKyC,IAEVzC,KAAK+jB,WAAWza,UAGV,YAAAgyE,SAAR,WACE,IAAI9nD,EAAQ,GACZ,GAAIxzB,KAAK+zI,YAAYn3I,MAAQoD,KAAK+zI,YAAYn3I,OAASoD,KAAKq0I,cAAe,CACzE,IAAME,EAAWv0I,KAAKw0I,cACtBhhH,EAAMlwB,KAAKixI,OACN,CACL/gH,EAAQ,GACR,IAAMihH,EAAU,GAChBz0I,KAAK00I,WAAW10I,KAAK+zI,YAAaU,GAClCjhH,EAAMlwB,KAAKtD,KAAKw0I,eAChB,EAAAhrI,KAAKirI,GAAS,SAACt2I,EAAGO,GAChB80B,EAAMlwB,KAAK,CAAE1F,IAAK+oF,OAAOjoF,EAAQ,GAAI2nB,KAAMloB,EAAEvB,KAAMoC,KAAMb,OAE3Dq1B,EAAMlwB,KAAK,CAAE1F,IAAK+oF,OAAO8tD,EAAQ71I,OAAS,GAAIynB,KAAMrmB,KAAK+zI,YAAYn3I,KAAMoC,KAAMgB,KAAK+zI,cAExF,OAAOvgH,GAGD,YAAAkhH,WAAR,SAAmB11I,EAAMy1I,GACnBz1I,EAAKgU,SACH,EAAAyU,OAAOznB,KAAKsiC,MAAOtjC,EAAKgU,OAAOpW,MACjC63I,EAAQnxI,KAAKtD,KAAKsiC,MAAMtjC,EAAKgU,OAAOpW,OAEpC63I,EAAQnxI,KAAKtE,EAAKgU,QAEpBhT,KAAK00I,WAAW11I,EAAKgU,OAAQyhI,KAMzB,YAAAH,cAAR,sBACEt0I,KAAK8F,UAAU2E,GAAG,SAAS,SAACqa,GAC1B,IAAM6vH,EAAe7vH,EAAGlkB,OAAO1D,IAAI,UACnC,GAAIy3I,GAA8C,eAA9BA,EAAaz3I,IAAI,SAA2B,CAC9D,IAAM,EAAOy3I,EAAaz3I,IAAI,QAC9B,GAAI,EAAK8B,KACP,GAAI,EAAKqnB,OAAS,EAAKguH,cAAe,CAGhC,EAAKL,aAAe,GAFJ,EAGlB,EAAAY,UAAU,EAAKb,YAAYn3I,KAAM,EAAKqM,MAAM,WAC1C,EAAK4rI,WAAW,MAGlB,EAAKA,WAAW,GAElB,EAAKb,aAAe,MACf,IAAI,EAAKD,cAAgB,EAAK/0I,KACnC,OAEA,IAAM81I,EAAgB,EAAA1iH,MAAM,EAAK4hH,cACjC,EAAKA,aAAep2H,SAAS,EAAKhgB,KAC9Bk3I,EAAgB,IAAM,EAAKd,aAC7B,EAAAY,UAAU,EAAKb,YAAYn3I,KAAM,EAAKqM,MAAM,WAC1C,EAAKqZ,OAAO,EAAKtjB,SAGnB,EAAKsjB,OAAO,EAAKtjB,YAQrB,YAAAw1I,YAAR,WACE,IAAM1C,EAAW9xI,KAAK4G,KAAKgf,QAAQ5mB,KAEnC,MAAO,CAAEpB,IAAK,IAAKyoB,KADF,EAAAoB,OAAOqqH,EAAU,QAAUA,EAASl1I,KAAO,OACzBoC,KAAMgB,KAAK4G,KAAKkrI,WAG7C,YAAAsC,kBAAR,WACQ,MAAyBp0I,KAAK4G,KAAKgf,QACnCmvH,EAAc,CAAE9sI,MADJ,aACuByY,OADf,UAE1B1gB,KAAKg1I,cAAgBD,GAGf,YAAAvjF,YAAR,SAAoB9yD,GACV,IAAAuK,EAASjJ,KAAI,KAErB,GAAIA,KAAK8xD,SAAW,EAAArqC,OAAOznB,KAAK8xD,QAAS60B,OAAOjoF,IAAS,CAEvD,IADMu2I,EAAa,EAAA7iH,MAAMpyB,KAAK8xD,QAAQpzD,KACvBgiB,QAAU,EAAApW,WAAW2qI,EAAWv0H,QAAS,CACtD,IAAMA,EAASu0H,EAAWv0H,OAAO1gB,KAAKi2E,WAAYj2E,KAAK+zI,aACvDkB,EAAWv0H,OAASA,EAEtB1gB,KAAKiJ,KAAKuf,WAAW,GAAGhL,MAAMy3H,EAAWhtI,MAAOgtI,EAAWv0H,YACtD,CACL,IAAMu0H,EAAa,EAAA7iH,MAAMpyB,KAAKg1I,eAC9Bh1I,KAAKiJ,KAAKuf,WAAW,GAAGhL,MAAMy3H,EAAWhtI,MAAOgtI,EAAWv0H,QAE7DzX,EAAKK,UAGC,YAAA6qI,aAAR,WACEn0I,KAAK+uB,SAAW/uB,KAAKiJ,KAAKuf,WAAW,GACrC,IAAMa,EAAYrpB,KAAKiJ,KAAKo3C,SACVrgD,KAAK+uB,SAASjpB,UACtBgiD,QAAQ,CAChBl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAGqf,EAAUnZ,KACbzN,EAAG4mB,EAAUjZ,KACb/J,MAAOgjB,EAAUhjB,MACjBC,OAAQ+iB,EAAU/iB,WAKhB,YAAAuuI,WAAR,SAAmB71I,GACjBgB,KAAKiJ,KAAKlB,WAAW/I,EAAKA,MAC1BgB,KAAKwxD,YAAY,GACjBxxD,KAAK+zI,YAAc/zI,KAAK4G,KAAKgf,QAAQ5mB,KACrCgB,KAAKsJ,UAET,EArOA,CAAkD,W,YAuOlD,UAAgBiD,oBAAoB,YAAa2oI,I,yFC5RjD,2BAEA,QAwBA,yE,OAyBU,EAAApgC,UAAgF,GAgKhF,EAAAqgC,wBAA0B,SAAC5Y,EAAmB3jD,GAAoB,kBACxE,IAAMw8D,EAAY7Y,EAAUr/H,IAAI,YAAYgxC,MAAK,SAACvkC,GAAS,MAAsB,oBAAtBA,EAAKzM,IAAI,YAChEk4I,GACFA,EAAUviH,KAAK+lD,EAAS,EAAKy8D,0BAA4B,EAAKC,qBAEhE,EAAKlsI,YAAY3B,S,EAWrB,OAzMwC,iBA2B/B,YAAAL,QAAP,WACEpH,KAAKi9H,YACL,YAAM71H,QAAO,YAGL,YAAAqqB,WAAV,SAAqB9pB,GACnB3H,KAAKgK,EAAIrC,EAAOqC,EAChBhK,KAAKyC,EAAIkF,EAAOlF,EAChBzC,KAAKwzB,MAAQ7rB,EAAO6rB,OAAS,GAC7BxzB,KAAKu1I,YAAc5tI,EAAO4tI,aAAe,CAAC,EAAG,EAAG,EAAG,GACnDv1I,KAAK+nH,gBAAkB,EAAH,UAAK7rD,UAAW,EAAG5rC,OAAQ,WAAe3oB,EAAOogH,iBAAmB,IACxF/nH,KAAKs1I,oBAAsB,EAAH,UAAKzlH,KAAM,QAAYloB,EAAO2tI,qBAAuB,IAC7Et1I,KAAKq1I,0BAA4B,EAAH,UAAKxlH,KAAM,OAAQ1R,QAAS,IAASxW,EAAO0tI,2BAA6B,IACvGr1I,KAAKw1I,UAAY7tI,EAAO6tI,WAAa,IACrCx1I,KAAKy1I,eAAiB,EAAH,UAAKzlH,aAAc,MAAOH,KAAM,UAAW1R,QAAS,KAAUxW,EAAO8tI,gBAAkB,IAC1Gz1I,KAAK6zI,UAAYlsI,EAAOksI,UACxB7zI,KAAK8zI,WAAansI,EAAOmsI,WACzB9zI,KAAKszE,aAAe3rE,EAAO2rE,aAC3BtzE,KAAK6+E,UAAY,EAAH,UAAK7uD,aAAc,MAAOH,KAAM,UAAW1R,QAAS,KAAUxW,EAAOk3E,WAAa,KAGxF,YAAA/sD,YAAV,SAAsBxhB,GAGpBtQ,KAAKi9H,YACLj9H,KAAK01I,YAAYplI,EAHF,EACA,GAIf,EAAA8rE,KAAKp8E,KAAKsQ,MAAOtQ,KAAKgK,EAAGhK,KAAKyC,IAGxB,YAAAizI,YAAR,SAAoBplI,EAAeqlI,EAAgB10D,GAAnD,IAEM6yD,EAFN,OACQ,EAAyD9zI,KAAKu1I,YAA7DK,EAAU,KAAE3pB,EAAY,KAAE4pB,EAAa,KAAE9pB,EAAW,KAIrD+pB,EAAiBxlI,EAAM4iB,SAAS,OAAQ,CAC5C6iH,MAAO,wBACP1jH,MAAO,EAAF,UACHroB,EAAG2rI,EACHlzI,EAAGw+E,EACH56E,MAAO,EACPC,OAAQ,GACLtG,KAAK+nH,mBAIZ/nH,KAAKwzB,MAAMxF,SAAQ,SAACrkB,EAAsBR,GAExC,IAAMozH,EAAoBjsH,EAAMoZ,SAAS,CACvC8G,GAAI,cAAc7mB,EAAK/L,IAEvBoB,KAAM2K,EACNosI,MAAO,aACP1jH,MAAO,CACL0qD,OAAQ,aAMNq4D,EAAiB7Y,EAAUrpG,SAAS,OAAQ,CAChD1C,GAAI,mBAAmB7mB,EAAK/L,IAC5Bm4I,MAAO,kBACP1jH,MAAO,EAAF,qBACHroB,EAAG2rI,EACHlzI,EAAGw+E,EACH56E,MAAO0lH,EAAcE,EACrB3lH,OAAQsvI,EAAaC,GAClB,EAAKP,qBAAmB,CAC3Bv4D,OAAQ,cAGZq4D,EAAUx4I,KAAO,aAGjB,IAAM+kF,EAAiB46C,EAAUrpG,SAAS,OAAQ,CAChD1C,GAAI,aAAa7mB,EAAK/L,IACtBm4I,MAAO,YACP1jH,MAAO,EAAF,qBACHroB,EAAG2rI,EAAS5pB,EACZtpH,EAAGw+E,EAAS20D,EACZvvH,KAAM1c,EAAK0c,MACR,EAAKw4D,WAAS,CACjB9B,OAAQ,cAGZ4E,EAAU/kF,KAAO,aACjB,IAAMo5I,EAAsBr0D,EAAU9zD,UACtCimH,EAAa,EAAKA,YAAckC,EAAc1vI,OAC9C,IAAIutI,EAAY,EAAKA,WAAamC,EAAc3vI,MAC5C,EAAKitE,eACPugE,EAAY1kI,KAAKsP,IAAIo1H,EAAW,EAAKvgE,eAGvC,IAAM2iE,EAAqB,CACzBjsI,EAAG2rI,EACHlzI,EAAGw+E,EACH56E,MAAOwtI,EAAY9nB,EAAcE,EACjC3lH,OAAQwtI,EAAa8B,EAAaC,GAYpC,GAVAT,EAAUviH,KAAK,QAASojH,EAAmB5vI,OAC3C+uI,EAAUviH,KAAK,SAAUojH,EAAmB3vI,QAE5Ci2H,EAAUz0E,QAAQ,CAChBl+C,KAAM,OACNyoB,MAAO4jH,IAETN,GAAUM,EAAmB5vI,MAGzB8C,IAAQ,EAAKqqB,MAAM50B,OAAS,EAAG,CACjC,IAAMs3I,EAAgB5lI,EAAM4iB,SAAS,OAAQ,CAC3Cb,MAAO,EAAF,UACHroB,EAAG2rI,EACHlzI,EAAGw+E,EAAS20D,EACZvvH,KAAM,EAAKmvH,WACR,EAAKC,gBAEVM,MAAO,cAETJ,GAAUO,EAASroH,UAAUxnB,UAKjCyvI,EAAejjH,KAAK,CAClBxsB,MAAOsvI,EACPrvI,OAAQwtI,EAAa8B,EAAaC,KAI9B,YAAA3uI,WAAR,SAAmBoJ,GAAnB,WACQkjB,EAAQxzB,KAAKwzB,MACboqE,EAAattF,EAAMpT,IAAI,YAAY++B,QAAO,SAACtyB,GAAS,MAAsB,eAAtBA,EAAKzM,IAAI,YAC7D4U,EAAW,SAACoR,EAAeq5G,EAAmB4Z,GAA0B,kBAC5E,IAAMv4I,EAAc2+H,EAAUr/H,IAAI,QAC5ByM,EAAO6pB,EAAM0a,MAAK,SAACwoB,GAAQ,OAAAA,EAAI94D,MAAQA,KAC7C,EAAKkqB,KAAKquH,EAAe,CACvBxsI,KAAI,MAIRi0F,EAAW5vE,SAAQ,SAACuuG,GAClB,IAAM6Z,EAAgBtkI,EAAS,EAASyqH,EAAW,eAC7C8Z,EAAmBvkI,EAAS,EAAYyqH,EAAW,kBACnD+Z,EAAqB,EAAKnB,wBAAwB5Y,GAAW,GAC7Dga,EAAqB,EAAKpB,wBAAwB5Y,GAAW,GACnEA,EAAU9xH,GAAG,QAAS2rI,GACtB7Z,EAAU9xH,GAAG,WAAY4rI,GACzB9Z,EAAU9xH,GAAG,aAAc6rI,GAC3B/Z,EAAU9xH,GAAG,aAAc8rI,GAC3B,EAAKzhC,UAAUxxG,KAAK,CAAE1C,OAAQ27H,EAAWr5G,MAAO,QAASpR,SAAUskI,IACnE,EAAKthC,UAAUxxG,KAAK,CAAE1C,OAAQ27H,EAAWr5G,MAAO,WAAYpR,SAAUukI,IACtE,EAAKvhC,UAAUxxG,KAAK,CAAE1C,OAAQ27H,EAAWr5G,MAAO,aAAcpR,SAAUwkI,IACxE,EAAKxhC,UAAUxxG,KAAK,CAAE1C,OAAQ27H,EAAWr5G,MAAO,aAAcpR,SAAUykI,QAYpE,YAAAtZ,UAAR,WACMj9H,KAAK80G,WACP90G,KAAK80G,UAAU9mF,SAAQ,SAAC,G,IAAEptB,EAAM,SAAEsiB,EAAK,QAAEpR,EAAQ,WAC/ClR,EAAOixB,IAAI3O,EAAOpR,MAGtB9R,KAAK80G,UAAY,IAErB,EAzMA,CAAwC,W,6HC1BxC,WACA,QAEMl7E,EAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAEpCnX,EAAS,gBA+Ef,SAAS+zH,EAAaznH,EAAUjpB,GAC9B,IAAMklB,EAAS+D,EAAShE,YAClB0rH,EAAa,GAOnB,OANA,EAAAjtI,KAAKwhB,GAAQ,SAACza,GACZ,IAAMnS,EAAI0H,EAAUotB,SAAS,OAAQ,CACnCb,MAAO,EAAAtoB,QAAQ,GAAIwG,EAAM8hB,MAAO,CAAEqmC,SAAS,MAE7C+9E,EAAWnzI,KAAKlF,MAEXq4I,EAkET,SAASxpD,EAAShkF,GAChB,IAAMogB,EAAYpgB,EAAKg4C,eASvB,MARc,CACZ/wC,KAAMmZ,EAAUnZ,KAChBE,KAAMiZ,EAAUjZ,KAChB2qB,SAAU1R,EAAUlZ,KAAOkZ,EAAUnZ,MAAQ,EAC7C8qB,SAAU3R,EAAUhZ,KAAOgZ,EAAUjZ,MAAQ,EAC7C/J,MAAOgjB,EAAUhjB,MACjBC,OAAQ+iB,EAAU/iB,QAKtB,SAASowI,EAAQnmI,GACf,IAAMif,EAAOjf,EAAMsiB,KAAK,QAClBggH,EAAKrjH,EAAK,GAAG,GACbgiD,EAAKhiD,EAAK,GAAG,GACbI,EAAKJ,EAAK,GAAG,GACbukC,EAAKvkC,EAAK,GAAG,GASnB,MARa,CACXtf,KAAM2iI,EACNziI,KAAM2jD,EACNh5B,SAAUnL,EAAKijH,GAAM,EACrB73G,SAAUw2C,EAAKzd,GAAM,EACrB1tD,MAAO8I,KAAKsmB,IAAI7F,EAAKijH,GACrBvsI,OAAQ6I,KAAKsmB,IAAI+7C,EAAKzd,IA0B1B,SAAS4iF,EAAU5nH,GACMA,EAASC,gBACjBppB,IAAI,WAAW,GAGhC,SAAS4sI,EAAUzjH,GACMA,EAASC,gBACjBppB,IAAI,WAAW,GAlNhC,wBAA6BhF,EAAQqI,EAAM6I,GACzC,IAAMy4G,EAAOmsB,EAAQ91I,GACf6sB,EAAQw/D,EAAShkF,GACjB25B,EAASnV,EAAMpnB,MAAQkkH,EAAKlkH,MAC5Bw8B,EAASpV,EAAMnnB,OAASikH,EAAKjkH,OAC7B6mB,GAAWM,EAAMvd,KAAOq6G,EAAKr6G,MAAQ0yB,EACrCxV,GAAWK,EAAMrd,KAAOm6G,EAAKn6G,MAAQyyB,EAErC+zG,EAAkB,EAAAt/E,UAAU,CAChC,CAAC,IAAK10B,EAAQC,GACd,CAAC,IAAK1V,EAASC,KAGb2B,EAAW9lB,EAAKuf,WAAW,GAC/BmuH,EAAU5nH,GACV,IAAM8nH,EAAgB5tI,EAAKwgB,gBAAgBC,WAC3CmtH,EAAcjxI,IAAI,UAAW,KAC7BixI,EAAc/uF,QAAQ,CACpBl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAGyjB,EAAMvd,KACTzN,EAAGgrB,EAAMrd,KACT/J,MAAOonB,EAAMpnB,MACbC,OAAQmnB,EAAMnnB,UAGlB,IAAMmwI,EAAaD,EAAaznH,EAAU8nH,GAC1C9nH,EAASjpB,UAAUF,IAAI,WAAW,GAClCqD,EAAKpC,OAAOY,OACZqK,IACA7V,OAAOsV,YAAW,WAChB,EAAA/H,KAAKitI,GAAY,SAAClmI,EAAO7R,GACT,IAAVA,EACF6R,EAAMoY,QAAQ,CAAE4N,OAAQqgH,GApCf,IAoC4Cn0H,GAAQ,WAC3Do0H,EAAc/rI,SACd7B,EAAKpC,OAAOY,UAGd8I,EAAMoY,QAAQ,EAAA2uC,UAzCL,QA6Cbq/E,EADA5nH,EAAW9lB,EAAKuf,WAAW,IAE3B,IAAMwC,EAAS+D,EAAShE,YACxB,EAAAvhB,KAAKwhB,GAAQ,SAACza,GACZA,EAAMsiB,KAAK,UAAW,GACtBtiB,EAAMoY,QACJ,CACExK,QAAS,GAnDF,IAsDTsE,MAGJ,IAAM3c,EAAYipB,EAASjpB,UAC3BA,EAAU8sB,cACV9sB,EAAUF,IAAI,WAAW,GACzBE,EAAU+sB,KAAK,SAAU,EAAAT,MAAMwH,IAC/B,EAAAk9G,eAAehxI,EAAW,CACxB,CAAC,IAAKykH,EAAKlkH,MAAQonB,EAAMpnB,MAAOkkH,EAAKjkH,OAASmnB,EAAMnnB,QACpD,CAAC,IAAKikH,EAAKr6G,KAAMq6G,EAAKn6G,QAExB,IAAMmmB,EAAS,EAAAnE,MAAMwH,GACrB7K,EAASjpB,UAAU6iB,QACjB,CACE4N,OAAM,GApEG,IAuEX9T,GACA,WACE+vH,EAAUzjH,MAGd9lB,EAAKpC,OAAOY,SACX,KAeL,qBAA0B7K,EAAMqM,EAAM6I,GACpC,IAAIid,EAAW9lB,EAAKuf,WAAW,GAC/BmuH,EAAU5nH,GACV,IAAIjpB,EAAYipB,EAASjpB,UACzBA,EAAU+sB,KAAK,SAAU,EAAAT,MAAMwH,IAC/B,IAAMi9G,EAAgB5tI,EAAKwgB,gBAAgBC,WAC3CmtH,EAAcjxI,IAAI,UAAW,KAC7B,IAAM6wI,EAAaD,EAAaznH,EAAU8nH,GAC1C/wI,EAAUF,IAAI,WAAW,GACzBqD,EAAKpC,OAAOY,OACZqK,IAEA6kI,EADA5nH,EAAW9lB,EAAKuf,WAAW,IAE3B1iB,EAAYipB,EAASjpB,UACrB,IACMykH,EAAOmsB,EAqCf,SAAyB1rH,EAAQltB,GAC/B,IAAIyS,EAOJ,OANA,EAAA/G,KAAKwhB,GAAQ,SAAC5sB,GACKA,EAAElB,IAAI,UAAU8B,KAAI,OACxBlB,IACXyS,EAAQnS,MAGLmS,EA9COwmI,CAAgBhoH,EAAShE,YAAanuB,IAE9C6wB,EAAQw/D,EAAShkF,GACCnD,EAAU5I,IAAI,UACjBA,IAAI,cACvB4I,EAAUgiD,QAAQ,CAChBl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAGyjB,EAAMvd,KACTzN,EAAGgrB,EAAMrd,KACT/J,MAAOonB,EAAMpnB,MACbC,OAAQmnB,EAAMnnB,UAoEtB,SAAoBR,EAAWklB,EAAQu/F,EAAM98F,GAC3C,IAAMmV,EAAS2nF,EAAKlkH,MAAQonB,EAAMpnB,MAC5Bw8B,EAAS0nF,EAAKjkH,OAASmnB,EAAMnnB,OAC7BswI,EAAkB,EAAAt/E,UAAU,CAChC,CAAC,IAAK10B,EAAQC,GACd,CAAC,IAAK0nF,EAAKr6G,KAAMq6G,EAAKn6G,QAExBtK,EAAU6iB,QAAQ,CAAE4N,OAAQqgH,GAhMb,IAgM0Cn0H,GAAQ,WAC/D3c,EAAUgF,YAEZ,EAAAtB,KAAKwhB,GAAQ,SAACza,GACZA,EAAMoY,QACJ,CACExK,QAAS,GAtMA,IAyMXsE,MAhFJu0H,CAAWH,EAAeJ,EAAYlsB,EAAM98F,GAC5C,IAAMmV,EAASnV,EAAMpnB,MAAQkkH,EAAKlkH,MAC5Bw8B,EAASpV,EAAMnnB,OAASikH,EAAKjkH,OAC7B6mB,GAAWM,EAAMvd,KAAOq6G,EAAKr6G,MAAQ0yB,EACrCxV,GAAWK,EAAMrd,KAAOm6G,EAAKn6G,MAAQyyB,EACrC+zG,EAAkB,EAAAt/E,UAAU,CAChC,CAAC,IAAK10B,EAAQC,GACd,CAAC,IAAK1V,EAASC,KAEjBtnB,EAAU0xD,UAAUo/E,GACpB9wI,EAAUF,IAAI,WAAW,GACzBE,EAAU6iB,QACR,CACE4N,OAAQqD,GAtIG,IAyIbnX,GACA,WACE+vH,EAAUzjH,Q,2GC/IhB,WACA,QAWS,yEAXa,EAAA7K,aAWF,uEAXwB,EAAAW,WAE5C,IAKMs/F,EAA6B,EAAAvgG,YALd,CACnB2mG,KAAM,UACNxmG,WAAY,eAKd,EAAA5jB,OAAO,EAAA+jB,UAAWigG,I,8ECVlB,WAEA,QA8CA,SAASjH,EAAe72F,EAAMyJ,EAAUzpB,EAAOP,GAoB7C,IAnBA,IAAMmxI,EAAYnxI,EAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,CACLhM,KAAM,MACNrc,EAAG,EACHvH,EAAG,EACHqtB,SAAQ,KAGNonH,EAAYD,EAAUppH,UAAUxnB,MAChCgwG,EAASvwG,EAAUotB,SAAS,OAAQ,CACxCb,MAAO,CACLhM,KAAM,GACNrc,EAAG,EACHvH,EAAG,EACHqtB,SAAQ,KAGRvyB,EAAI,GACF45I,EAAkB9wI,EAAQ6wI,EACvB76I,EAAI,EAAGA,EAAIgqB,EAAKznB,OAAQvC,IAAK,CACpC,IAAMsN,EAAO0c,EAAKhqB,GAGlB,GAFAg6G,EAAOxjF,KAAK,OAASt1B,GAAKoM,GACL0sG,EAAOxoF,UAAUxnB,OAClB8wI,EAAiB,CACnC,IAAMl1H,EAAS1kB,EAAEygC,OAAO,EAAGzgC,EAAEqB,OAAS,GACtC,GAAIqjB,EAAOrjB,OAAS,EAClB,OAAOqjB,EAAS,OAMtB,OAFAo0F,EAAOvrG,SACPmsI,EAAUnsI,SACHvN,EAgBT,iBAOE,WAAYkL,GALL,KAAA1B,WAAqB,EAM1B/G,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK4G,KAAO6B,EAAI7B,KAChB,IAAM0gB,EAAiBtnB,KAAKkmB,oBAC5BlmB,KAAK4lB,QAAU,EAAA7b,QAAQud,EAAgB7e,EAAK,IAC5CzI,KAAKioB,OAyJT,OAtJY,YAAAA,KAAV,sBACEjoB,KAAK8F,UAAY9F,KAAKsxB,cAActC,gBACpChvB,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,QACL,EAAKjiB,KAAKC,OAAOY,WAId,YAAA6B,OAAP,sBACQyoB,EAAW/xB,KAAKsxB,cAAcS,SACpC,EAAAvoB,KAAKuoB,GAAU,SAACw4B,GACd,IAAMh6C,EAAQg6C,EAAIh6C,MACZvR,EAAOuR,EAAMrT,IAAI,UAAU8B,KAC3Bo4I,EAtHZ,SAAgBp4I,EAAM0yI,GACpB,OAAQ1yI,EAAKkvD,UAAYlvD,EAAKgzI,OAASN,EAqHhB1nE,CAAOhrE,EAAM,EAAK4H,KAAKgf,QAAQ8rH,UAClD,GAAI1yI,EAAKwzI,UAAW,CAClB,IAAM5pI,EAAQ,EAAAwpB,MAAM,EAAKxM,QAAQhd,OAC3B2d,EAAW,EAAKuvE,YAAYvlF,EAAO6mI,GACnC15G,EAAY,EAAK9X,QAAQ8X,UACzBu6B,EAAUv6B,EAAYA,EAAU1+B,EAAKpC,MAAQoC,EAAKpC,KAClDozB,EAAe,EAAKmmE,gBAAgBihD,GACpCx0I,EAAQ,EAAKkD,UAAUotB,SAAS,OAAQ,CAC5Cb,MAAO,EAAAtoB,QAAQ,GAAInB,EAAO,CACxBoB,EAAGuc,EAASvc,EACZvH,EAAG8jB,EAAS9jB,EACZ4jB,KAAM4xC,EACNpoC,KAAM,QACNE,UAAW,SACXC,aAAY,EACZioF,WAAYm/B,EAAa,IAAM,MAEjCx6I,KAAM,UAER,EAAKu1B,YAAYvvB,EAAO2N,EAAO6mI,QAK9B,YAAAvuH,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAA2I,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAAL,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGZ,YAAA8mB,QAAP,WACE,OAAO7tB,KAAK8F,UAAU+nB,WAGd,YAAAioE,YAAV,SAAsBvlF,EAAO6mI,GAC3B,IAAM1I,EAAYn+H,EAAMsd,UACpB7jB,EAAI,EACJvH,EAAI,EAQR,OAPK20I,GAIHptI,EAAI0kI,EAAUx+H,KAAOw+H,EAAUroI,MAAQ,EACvC5D,EAAIisI,EAAUt+H,KAAOs+H,EAAUpoI,OAAS,IAJxC0D,EAAI0kI,EAAU1kI,EAAI0kI,EAAUroI,MAAQ,EACpC5D,EAAIisI,EAAUjsI,EAAI,GAKb,CAAEuH,EAAC,EAAEvH,EAAC,IAGL,YAAA0zF,gBAAV,SAA0BihD,GACxB,OAAOA,EAAa,SAAW,OAGvB,YAAAjlH,YAAV,SAAsBvvB,EAAO2N,EAAO6mI,GAC9BA,EACFp3I,KAAKq3I,gBAAgBz0I,EAAO2N,GAE5BvQ,KAAKs3I,kBAAkB10I,EAAO2N,IAI1B,YAAA8mI,gBAAR,SAAwBz0I,EAAO2N,GAC7B,IAAMgV,EAAOhV,EAAMsd,UACby/B,EAAY1qD,EAAMirB,UAClB0pH,EAAY,EAAAnlH,MAAMxvB,EAAMiwB,KAAK,SAE7B/C,EAAW3gB,KAAKqP,IAAI5b,EAAMiwB,KAAK,YADlB,EAzMF,GA2MXkI,EAAUxV,EAAKvb,EAAIub,EAAKlf,MAAQ,EAChC20B,EAAUzV,EAAK9iB,EAAI8iB,EAAKjf,OAAS,EACvC1D,EAAMiwB,KAAK,CACT7oB,EAAG+wB,EACHt4B,EAAGu4B,EACHjL,UAAW,SACXC,aAAc,SACd6wD,WAAY/wD,EACZA,SAAQ,IAEV,IAAMnB,EAAepJ,EAAKlf,MAAQmxI,EAClC,GAAIlqF,EAAUjnD,MAAQkf,EAAKlf,OAASinD,EAAUhnD,OAASif,EAAKjf,OAC1D1D,EAAMiwB,KAAK,OAAQ,SAEd,GAAIlE,EAAemB,EACxBltB,EAAMiwB,KAAK,OAAQ,SAGrB,GAAIy6B,EAAUjnD,MAAQkf,EAAKlf,MAAO,CAChC,IAAMkwG,EAxNZ,SAAqB3zG,EAAOyD,EAAOP,GACjC,IAAMgqB,EAAWltB,EAAMiwB,KAAK,YACtBk6C,EAAsBnqE,EAAMiwB,KAAK,QACjCwjF,EAASvwG,EAAUotB,SAAS,OAAQ,CACxCb,MAAO,CACLhM,KAAM,GACNrc,EAAG,EACHvH,EAAG,EACHqtB,SAAQ,KAINwmF,EADUvpC,EAAY9/C,MAAM,MACH3I,KAAI,SAACiyF,GAIlC,IAHA,IAAIlwF,EAAO,GACLmwF,EAAQD,EAAYtpF,MAAM,IAC1BwpF,EAAuB,GACpBp6G,EAAI,EAAGA,EAAIm6G,EAAM53G,OAAQvC,IAAK,CACrC,IAAMsN,EAAO6sG,EAAMn6G,GAGnB,GAFAg6G,EAAOxjF,KAAK,OAASxM,GAAQ1c,GACR0sG,EAAOxoF,UAAUxnB,MAAQ,EAC3BA,EAAO,CAExB,GAAU,IAANhK,EACF,MAEFo6G,EAAWnzG,KAAKjH,GAChBgqB,EAAO,IAIX,OAAO,EAAAqwF,UAAUF,EAAOC,MAI1B,OADAJ,EAAOvrG,SACAwrG,EAAet0F,KAAK,MAsLHo0F,CAAYxzG,EAAO+rB,EAAc3uB,KAAK8F,WAM1D,GALAlD,EAAMiwB,KAAK,CACTguD,WAAYj+E,EAAMiwB,KAAK,YACvBxM,KAAMkwF,IAES3zG,EAAMirB,UACVvnB,OAASif,EAAKjf,OAAQ,CACjC,IAAM+f,EAAO62F,EAAeq6B,EAAWznH,EAAUnB,EAAc3uB,KAAK8F,WACpElD,EAAMiwB,KAAK,OAAQxM,MAKjB,YAAAixH,kBAAR,SAA0B10I,EAAO2N,GAC/B,IACMoe,EADYpe,EAAMsd,UACOxnB,MAAQmxI,EACvC,GAAI50I,EAAMirB,UAAUxnB,MAAQsoB,EAAc,CACxC,IAAMtI,EAAO62F,EAAet6G,EAAMiwB,KAAK,QAASjwB,EAAMiwB,KAAK,YAAalE,EAAc3uB,KAAK8F,WAC3FlD,EAAMiwB,KAAK,OAAQxM,KAIf,YAAAH,kBAAR,WACU,IACF86F,EADYhhH,KAAK4G,KAAI,MACFhE,MAAMgG,MAC/B,MAAO,CACLukB,QAAS,EACTC,QAAS,EACTxkB,MAAO,EAAAwpB,MAAM4uF,KAIT,YAAA1vF,YAAR,WACE,OAAO,EAAA4c,KAAKluC,KAAKiJ,KAAKuf,YAAY,SAACyC,GAAS,MAAc,YAAdA,EAAKrhB,SAErD,EArKA,G,sGCjGA,OAEA,SAKA,2B,+CAYA,OAZsC,iBAO1B,YAAA5C,aAAV,SAAuBjB,GACrB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,YAClB,YAAM5C,aAAY,UAACulI,IATP,EAAArmH,kBAA4D,EAAAuxH,cAAcvxH,kBAW1F,EAZA,CAJA,wBAIsC,S,UAAjBwxH,G,gHCPrB,OAEA,2BAEA,OAQA,yE,OACS,EAAA9tI,KAAe,Y,EAOxB,OARmC,iBAGnB,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CjkB,KAAM,QAGZ,EARA,CAAmC,WAAtB,EAAAw1I,gBAUb,EAAAjpD,iBAAiB,YAAaipD,I,yFCtB9B,OACA,0BACA,2BAKA,2B,+CAQA,OARiC,iBAGxB,YAAAzwI,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,MAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAAuD,UAASA,kBAOhF,EARA,CAAiC,W,UAAZyxH,G,kFCHf1J,EAAwB,CAAC,CAAErxI,KAAM,iBAAkB2xF,O,KAJzD,wBAIiE,UAEjE,UAAe,CACb2/C,UAL0B,GAM1BhkH,YAAa+jH,I,kFCRf,E,KAAA,uBAGA,mBAAuC3mI,GACrC,IAAMqzF,EAAkBrzF,EAAMmkB,qBACxB5kB,EAASS,EAAMT,OAErB,IAAI,UAAoB,CACtBD,KAAMU,EACNqzF,gBAAe,EACfxuE,IAAK,MAGP,IAAI,UAAoB,CACtBvlB,KAAMU,EACNqzF,gBAAe,EACfxuE,IAAK,MAGPtlB,EAAOY,S,2GCnBT,WACA,QAUS,yEAVa,EAAAyc,aAUF,uEAVwB,EAAAW,WAE5C,IAIMs/F,EAA6B,EAAAvgG,YAJd,CACnB43E,IAAK,aAKP,EAAAr7F,OAAO,EAAA+jB,UAAWigG,I,yFCTlB,OACA,0BACA,2BAIA,2B,+CAQA,OARwC,iBAG/B,YAAAn9G,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,aAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA8D,UAAgBA,kBAO9F,EARA,CAAwC,W,UAAnB0xH,G,8ECNrB,YACA,QAEA,EAAAp0H,cAAc,aAAc,EAAAkkF,oB,yFCF5B,QAGA,2B,+CAWA,OAX6C,iBACjC,YAAAv1E,YAAV,SAAsBvvB,EAAeovB,GACnC,GAAIhyB,KAAK4lB,QAAQwwE,eAAgB,CAC/B,IAAMC,EAAazzF,EAAMirB,UACN7tB,KAAKu2F,oBAAoBvkE,GAE7B7hB,MAAQkmF,EAAWlmF,MAChCvN,EAAMgD,IAAI,WAAW,KAI7B,EAXA,CAFA,yBAE6C,S,YAa7C,EAAAqxF,uBAAuB,cAAe4gD,I,yFCjBtC,QAKA,2B,+CAMA,OANiD,iBAGrC,YAAAt1B,oBAAV,SAA8B58F,GAC5B,OAAO,GAEX,EANA,CAJA,0BAIiD,S,YAQjD,EAAAsxE,uBAAuB,mBAAoB6gD,I,yFCb3C,OACA,0BACA,4BAIA,2B,+CAQA,OARwC,iBAG/B,YAAA9wI,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,aAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA8D,UAAgBA,kBAO9F,EARA,CAAwC,W,UAAnB6xH,G,8ECNrB,YACA,QAEA,EAAAv0H,cAAc,aAAc,EAAAkkF,oB,yFCH5B,OACA,0BACA,4BAIA,2B,+CASA,OAT+C,iBAItC,YAAA1gG,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,oBAClB,YAAM5C,aAAY,UAACulI,IANP,EAAArmH,kBACZ,UAAuBA,kBAO3B,EATA,CAA+C,W,UAA1B8xH,G,yFCNrB,OACA,0BACA,4BAIA,2B,+CAQA,OARsC,iBAG7B,YAAAhxI,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,WAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA4D,UAAcA,kBAO1F,EARA,CAAsC,W,UAAjB+xH,G,yFCNrB,OACA,OAEA,2BAEA,4BACA,SAQA,yE,OA0DS,EAAAruI,KAAe,W,EA+BxB,OAzF2C,iBAC3B,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QACL,EAAMmc,kBAAiB,WACvB,CACEtjB,MAAO,CACLujB,SAAS,EACTI,SAAU,SAEZM,MAAO,CACLV,SAAS,EACTgiF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTc,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACLsC,SAAS,EACTgB,QAAS,KAGbC,MAAO,CACLjB,SAAS,EACTgiF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLsC,SAAS,EACTgB,QAAS,MAIf,KAMG,YAAA+C,YAAP,WACElqB,KAAK43D,cAEL,IAAMsgF,EAAc,GACdx/C,EAAQ14F,KAAKiJ,KAAKuf,WACxB,EAAAhf,KAAKkvF,GAAO,SAACztE,GACX,IAAM8G,EAAW9G,EAAK8G,SACtB,EAAAvoB,KAAKuoB,GAAU,SAACw4B,GACd2tF,EAAY50I,KAAKinD,EAAIh6C,aAGzB,EAAA4nI,cAAcD,GACd,YAAMhuH,YAAW,YAGT,YAAA0tC,YAAV,WACM53D,KAAK4lB,QAAQhjB,OAAS5C,KAAK4lB,QAAQhjB,MAAMujB,SAC7B,IAAI,UAAc,EAAD,UAC7Bld,KAAMjJ,KAAKiJ,KACXrC,KAAM5G,MACHA,KAAK4lB,QAAQhjB,QAEZ0G,UAIA,YAAAkZ,UAAV,WACE,YAAMA,UAAS,YAEnB,EAzFA,CAA2C,W,YA2F3C,EAAAgsE,iBAAiB,WAAY4pD,I,yFCzG7B,OAEA,QACA,2BAiCA,iBAQE,WAAY3vI,GANL,KAAA1B,WAAqB,EAO1B/G,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK4G,KAAO6B,EAAI7B,KAChB,IAAM0gB,EAAiBtnB,KAAKkmB,oBAC5BlmB,KAAK4lB,QAAU,EAAA7b,QAAQud,EAAgB7e,EAAK,IACvCzI,KAAK4lB,QAAQyyH,YAChBr4I,KAAK4lB,QAAQyyH,UAAYr4I,KAAK4lB,QAAQhd,OAEnC5I,KAAK4lB,QAAQ0yH,aAChBt4I,KAAK4lB,QAAQ0yH,WAAat4I,KAAK4lB,QAAQhd,OAEzC5I,KAAKioB,OA8MT,OA3MS,YAAAA,KAAP,sBACEjoB,KAAK8F,UAAY9F,KAAKsxB,cAActC,gBACpChvB,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,QACL,EAAKjiB,KAAKC,OAAOY,WAId,YAAA6B,OAAP,sBACQ,EAA2BtJ,KAAKsxB,cAA9BS,EAAQ,WAAExJ,EAAU,aAC5BvoB,KAAKipB,MAAQV,EACb,EAAA/e,KAAKuoB,GAAU,SAACw4B,GACN,IAAAh6C,EAAUg6C,EAAG,MACfm8E,EAAY,EAAK5wC,YAAYvlF,GAC7BmQ,EAAS,EAAKq9D,SAASxtE,GACvBwf,EAAY,EAAKmmE,eACjBvwE,EAAS,GACf,EAAAnc,KAAKk9H,GAAW,SAACplD,EAAKjlF,GACpB,IAAMuM,EAAc,IAANvM,EAAU,EAAKupB,QAAQyyH,UAAY,EAAKzyH,QAAQ0yH,WACxD96H,EAAQ,EAAK+6H,aAAahoI,EAAOlU,GACT,UAA1B,EAAKupB,QAAQW,UAAwB,EAAKX,QAAQ4nE,aAAyB,UAAVhwE,IACnE5U,EAAM0nB,OAAS,MAEjB,IAAMoN,EAAY,EAAK9X,QAAQ8X,UACzBu6B,EAAUv6B,EAAYA,EAAUhd,EAAOrkB,IAAMqkB,EAAOrkB,GACpDuG,EAAQ,EAAKkD,UAAUotB,SAAS,OAAQ,CAC5Cb,MAAO,EAAAtoB,QAAQ,GAAInB,EAAO,CACxBoB,EAAGs3E,EAAIt3E,EACPvH,EAAG6+E,EAAI7+E,EACP4jB,KAAM4xC,EACNpoC,KAAMrS,EACNuS,UAAWA,EAAU1zB,GACrB2zB,aAAc,WAEhBpzB,KAAM,UAER+oB,EAAOriB,KAAKV,GACZ,EAAKinD,YAAYjnD,MAEnB2N,EAAM3K,IAAI,cAAe+f,GACzB,EAAKywE,eAAezwE,EAAO,GAAIA,EAAO,GAAIpV,MAE5CvQ,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA+pB,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAAohB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGZ,YAAA8mB,QAAP,WACE,OAAO7tB,KAAK8F,UAAU+nB,WAGd,YAAA2qH,aAAV,SAAuBjoI,GAAvB,WACQ4pB,EAAS,GAUf,OATA,EAAA3wB,KAAK+G,EAAMrT,IAAI,UAAUi9B,QAAQ,SAACh8B,GAChCg8B,EAAO72B,KAAK,EAAK2lB,MAAMygB,aAAavrC,OAEzB,IAAI,UACfg8B,EAAO,GAAGnwB,EACVmwB,EAAO,GAAG13B,EACV0M,KAAKsmB,IAAI0E,EAAO,GAAGnwB,EAAImwB,EAAO,GAAGnwB,GACjCmF,KAAKsmB,IAAI0E,EAAO,GAAG13B,EAAI03B,EAAO,GAAG13B,KAK7B,YAAAyjB,kBAAR,WACU,IACF86F,EADYhhH,KAAK4G,KAAI,MACFhE,MAAMgG,MAC/B,MAAO,CACL2d,SAAU,QACV4G,QAhJiB,EAiJjBC,QAAS,EACTxkB,MAAO,EAAAwpB,MAAM4uF,GACbxzB,aAAa,EACb4I,gBAAgB,IAIZ,YAAAN,YAAR,SAAoBvlF,GAClB,IAIIqf,EAAI6hD,EAJFlsD,EAAOvlB,KAAKw4I,aAAajoI,GACvBL,EAA6BqV,EAAI,KAA3BpV,EAAuBoV,EAAI,KAArBnV,EAAiBmV,EAAI,KAAfjf,EAAWif,EAAI,OACnC,EAAuBvlB,KAAK4lB,QAA1BuH,EAAO,UACT1qB,EAAI2N,EAAO9J,EAAS,EADF,UAUxB,MAP8B,UAA1BtG,KAAK4lB,QAAQW,UACfqJ,EAAK1f,EAAOid,EACZskD,EAAKthE,EAAOgd,IAEZyC,EAAK1f,EAAOid,EACZskD,EAAKthE,EAAOgd,GAEP,CACL,CAAEnjB,EAAG4lB,EAAIntB,EAAC,GACV,CAAEuH,EAAGynE,EAAIhvE,EAAC,KAIN,YAAAs7E,SAAR,SAAiBxtE,GACP,IAAAsa,EAAW7qB,KAAK4G,KAAKgf,QAAO,OACpC,OAAOrV,EAAMrT,IAAI,UAAU8B,KAAK6rB,IAG1B,YAAAqrE,aAAR,WACE,MAA8B,UAA1Bl2F,KAAK4lB,QAAQW,SACR,CAAC,QAAS,QAEV,CAAC,OAAQ,UAIZ,YAAAgyH,aAAR,SAAqBhoI,EAAO7R,GAC1B,GAAIsB,KAAK4lB,QAAQ4nE,aAAyC,UAA1BxtF,KAAK4lB,QAAQW,SAAsB,CACjE,IAAMmwE,EAAanmF,EAAMsiB,KAAK,QACxB8jE,EAAepmF,EAAMsiB,KAAK,WAAatiB,EAAMsiB,KAAK,WAAa,EAC/DzV,EAAM,EAAA0gB,QAAQ44D,GAQpB,OAlMN,SAAsBx4D,EAAM9mB,GAC1B,IAAI+mB,EAOJ,OANA,EAAA30B,KAAK00B,GAAM,SAACx+B,GACV,IAAM4kB,EAAM5kB,EACR0X,GAAQkN,EAAI8Z,MAAQhnB,EAAOkN,EAAI+Z,KACjCF,EAAU7Z,EAAI9G,UAGX2gB,EAyLay4D,CALE,CAChB,CAAEx4D,KAAM,EAAGC,GAAI,GAAI7gB,MAAO,SAC1B,CAAE4gB,KAAM,GAAIC,GAAI,IAAK7gB,MAAO,WAC5B,CAAE4gB,KAAM,IAAKC,GAAI,IAAK7gB,MAAO,UAJlBrO,KAAKuP,MAAe,KAATtB,EAAI,GAAsB,KAATA,EAAI,GAAsB,KAATA,EAAI,IAAcu5E,GAU9E,OAD+B,IAAVj4F,EAAcsB,KAAK4lB,QAAQyyH,UAAUxoH,KAAO7vB,KAAK4lB,QAAQ0yH,WAAWzoH,MAInF,YAAAg6B,YAAR,SAAoBjnD,GACd5C,KAAK4G,KAAK4b,YAAqC,IAAxBxiB,KAAK4G,KAAK4b,YAGrC5f,EAAMiwB,KAAK,cAAe,GAC1BjwB,EAAMiwB,KAAK,gBAAiB,GAC5BjwB,EAAMgwB,cACNhwB,EAAM+lB,QACJ,CACEg7D,YAAa,EACbC,cAAe,GAEjB,IACA,aACA,OAII,YAAAwS,eAAR,SAAuBqiD,EAAIC,EAAInoI,GAC7B,IAAM6jB,EAAS7jB,EAAMrT,IAAI,UACnBy7I,EAAYvkH,EAAOpqB,EAAE,GACrB4uI,EAAYxkH,EAAOpqB,EAAE,GACrB6uI,EAAa1pI,KAAKsmB,IAAImjH,EAAYD,GAClCjwH,EAAa1oB,KAAKiJ,KAAKg4C,eACvBmgC,EAAQ,CAACq3D,EAAG5qH,UAAW6qH,EAAG7qH,WAC5ByJ,EAAKmhH,EAAG5lH,KAAK,KACb6E,EAAKghH,EAAG7lH,KAAK,KACjB,GAAI7yB,KAAK4lB,QAAQwwE,gBAA4C,UAA1Bp2F,KAAK4lB,QAAQW,SAAsB,CACpE,IAAMurG,EAAc1wC,EAAM,GAAG/6E,MAAQ+6E,EAAM,GAAG/6E,OAC5B+6E,EAAM,GAAGjxE,KAAOixE,EAAM,GAAGlxE,KAAO,GAC/B4hH,EAAc+mB,KAE/BvhH,EAAKqhH,EAAY34I,KAAK4lB,QAAQuH,QAC9BsrH,EAAG5lH,KAAK,OAAQ7yB,KAAK4lB,QAAQyyH,UAAUxoH,MACvC4oH,EAAG5lH,KAAK,YAAa,SACrBuuD,EAAM,GAAKq3D,EAAG5qH,UACd6J,EAAKkhH,EAAY54I,KAAK4lB,QAAQuH,QAC9BurH,EAAG7lH,KAAK,OAAQ7yB,KAAK4lB,QAAQ0yH,WAAWzoH,MACxC6oH,EAAG7lH,KAAK,YAAa,QACrBuuD,EAAM,GAAKs3D,EAAG7qH,WAGduzD,EAAM,GAAGlxE,KAAOwY,EAAWxY,OAC7BonB,EAAK5O,EAAWxY,KArPC,EAsPjBuoI,EAAG5lH,KAAK,YAAa,SAEvB4lH,EAAG5lH,KAAK,IAAKyE,GACbohH,EAAG7lH,KAAK,IAAK6E,GACb13B,KAAK4G,KAAKC,OAAOY,QAGX,YAAA6pB,YAAR,WACE,OAAO,EAAA4c,KAAKluC,KAAKiJ,KAAKuf,YAAY,SAACyC,GAAS,MAAc,aAAdA,EAAKrhB,SAErD,EAjOA,G,kHCpCA,IAIIkvI,EAJJ,OACA,OAKA,SAASC,EAAiBxoI,EAAOgiB,GAC/B,IAAMhN,EAAOhV,EAAMsd,UACbkN,EAAUxV,EAAKrV,KAAOqV,EAAKlf,MAAQ,EACzCkK,EAAMu3C,QAAQ,CACZl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAG+wB,EACHt4B,EAAG8iB,EAAKnV,KACR/J,MAAO,EACPC,OAAQif,EAAKjf,UAGFiK,EAAMrT,IAAI,aAClByrB,QACL,CACEtiB,MAAOkf,EAAKlf,MACZ2D,EAAGub,EAAKrV,MAEVqiB,EAAWhQ,SACXgQ,EAAW9P,QACX,WACElS,EAAMu3C,QAAQ,QAEhBv1B,EAAWxgB,OAUf,SAASinI,EAAiBzoI,EAAOgiB,GAC/B,IAAM0mH,EAcR,SAA2B1oI,GACjB,IACJ3P,EADI4vB,EAAOjgB,EAAK,GAOpB,OALA,EAAA/G,KAAKsvI,GAAY,SAAC16I,GACZA,EAAEoyB,KAAOA,IACX5vB,EAASxC,MAGNwC,EAtBUs4I,CAAkB3oI,GAAOsiB,KAAK,QACzCsmH,EAAS,EAAA/mH,MAAM7hB,EAAMsiB,KAAK,SAChCtiB,EAAMsiB,KAAK,OAAQomH,GACnB1oI,EAAMoY,QACJ,CACE6G,KAAM2pH,GAER5mH,EAAWhQ,SACXgQ,EAAW9P,OACX8P,EAAWzgB,SACX,KAjBJinI,EAAiBK,cAAgB,mBAEjC,yBAA8BpuH,GAC5B8tH,EAAa9tH,GA6BfguH,EAAiBI,cAAgB,mBAEjC,EAAAltI,kBAAkB,mBAAoB6sI,GACtC,EAAA7sI,kBAAkB,mBAAoB8sI,I,yFCpEtC,OACA,0BACA,2BAKA,2B,+CAQA,OARkC,iBAGzB,YAAAhyI,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,OAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAAwD,UAAUA,kBAOlF,EARA,CAAkC,W,UAAbmzH,G,kFCHfpL,EAAwB,CAAC,CAAErxI,KAAM,iBAAkB2xF,O,KAJzD,wBAIiE,UAEjE,UAAe,CACb2/C,UAL0B,GAM1BhkH,YAAa+jH,I,kFCRf,E,KAAA,uBAGA,mBAAuC3mI,GACrC,IAAMqzF,EAAkBrzF,EAAMmkB,qBACxB5kB,EAASS,EAAMT,OAErB,IAAI,UAAoB,CACtBD,KAAMU,EACNqzF,gBAAe,EACfxuE,IAAK,MAGP,IAAI,UAAoB,CACtBvlB,KAAMU,EACNqzF,gBAAe,EACfxuE,IAAK,MAGPtlB,EAAOY,S,2GCnBT,WACA,QAYS,yEAZa,EAAAyc,aAYF,uEAZwB,EAAAW,WAE5C,IAMMs/F,EAA6B,EAAAvgG,YANd,CACnB8M,KAAM,OACN3J,KAAM,OACN4J,MAAO,UAKT,EAAAxwB,OAAO,EAAA+jB,UAAWigG,I,yFCXlB,OACA,0BACA,2BAIA,2B,+CAQA,OARyC,iBAGhC,YAAAn9G,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,cAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA+D,UAAiBA,kBAOhG,EARA,CAAyC,W,UAApBozH,G,oHCNrB,4BACA,4BAEMC,EAAiB,CACrBjwC,UAAW,CAAEgpC,IAAK,WAClB/oC,UAAW,CAAE+oC,IAAK,YAGpB,6BAAkC1rI,EAAMgD,EAAMnB,GAC5C,GAAI7B,EAAKgf,QAAQhc,IAAShD,EAAKgf,QAAQhc,GAAMuc,QAAS,CACpD,IAAMqzH,EAAgBD,EAAe3vI,GAC/BkrB,EAAY,IAAI0kH,EAAclH,IAAI7pI,GAIxC,OAHI+wI,EAAclzH,SAChB1f,EAAKmf,kBAAkB6I,gBAAgBkG,EAAW0kH,EAAclzH,SAE3DwO,K,yFCfX,OAMA,2B,+CAmBA,OAnB2C,iBAC/B,YAAAgoC,aAAV,SAAuBvsD,GACrB,IAAM0wG,EAAe1wG,EAAMrT,IAAI,UAAUi9B,OACnC+mF,EAAYD,EAAaA,EAAariH,OAAS,GAC/C4e,EAAQjN,EAAMsiB,KAAK,UACjBmpE,EAAeh8F,KAAK4G,KAAKgf,QAAO,WAClChpB,EAAO2T,EAAMrT,IAAI,UAAU8B,KAAK,GAAGg9F,GAEnCv5F,EACJ,EAAA8kB,OACE25F,EAAUz+G,GACV,SAACtF,EAAWgH,GACV,OAAOhH,EAAIgH,IAEb,GACE,EAAA0mC,KAAKq2E,EAAUz+G,GAErB,MAAO,CAAEuH,EAAGk3G,EAAUl3G,EAAGvH,EAAC,EAAE+a,MAAK,EAAE5gB,KAAI,IAE3C,EAnBA,CALA,0BAK2C,S,sGCN3C,OAwBA,SAAS68I,EAAazvI,EAAGmwB,EAAQz7B,GAC/B,IAAIg7I,EAAYv/G,EAAO,GACnBw/G,EAAax/G,EAAOA,EAAOv7B,OAAS,GACxC,EAAA4K,KAAK2wB,GAAQ,SAACh8B,GACZ,GAAIA,EAAE6L,IAAMA,EACV,OAAO7L,EAAEsE,EAAE/D,GAETP,EAAE6L,EAAIA,GAAK7L,EAAE6L,EAAI0vI,EAAU1vI,IAC7B0vI,EAAYv7I,GAEVA,EAAE6L,EAAIA,GAAK7L,EAAE6L,EAAI2vI,EAAW3vI,IAC9B2vI,EAAax7I,MAGjB,IAAMZ,GAAKyM,EAAI0vI,EAAU1vI,IAAM2vI,EAAW3vI,EAAI0vI,EAAU1vI,GACxD,OAAO0vI,EAAUj3I,EAAE/D,IAAU,EAAInB,GAAKo8I,EAAWl3I,EAAE/D,GAASnB,EAG9D,SAASq8I,EAAU56I,EAAMgL,GAEvB,IAAI3N,EACJ,IAAKA,EAAI,EAAGA,EAAI2C,EAAKJ,OAAQvC,IAAK,CAChC,IAAMM,EAAIqC,EAAK3C,GACf,GAAIM,EAAEqN,IAAMA,GAAKrN,EAAEqN,EAAIA,EACrB,MAGJ,OAAO3N,EAiBT,iBAQE,WAAYoM,GANL,KAAA1B,WAAqB,EAIpB,KAAA8yI,YAAwB,GAG9B75I,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK4G,KAAO6B,EAAI7B,KAChB,IAAM0gB,EAAiBtnB,KAAKkmB,oBAC5BlmB,KAAK4lB,QAAU,EAAA7b,QAAQud,EAAgB7e,EAAK,IAC5CzI,KAAKioB,OA0NT,OAvNY,YAAAA,KAAV,sBACEjoB,KAAK8F,UAAY9F,KAAKsxB,cAActC,gBACpChvB,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,QACL,EAAKjiB,KAAKC,OAAOY,WAId,YAAA6B,OAAP,sBACQ0yF,EAAah8F,KAAK4G,KAAKgf,QAAQo2E,WAC/B89C,EAAgB95I,KAAKsxB,cAAco1B,UACnCqzF,EAAc,GACpB,EAAAvwI,KAAKswI,GAAe,SAACE,EAAYp9I,GAC/B,IAAMq9I,EAAa,EAAKC,UAAUF,EAAYp9I,GAC1Cq9I,IACFF,EAAYz2I,KAAK,EAAAyG,QAAQ,GAAIiwI,EAAW,GAAIC,IAC5C,EAAKJ,YAAYv2I,KAAK22I,EAAWJ,iBAGrC,IAAMj5D,EAAc,GACpB,EAAAp3E,KAAKuwI,GAAa,SAAC57I,EAAGO,GACd,MAA8B,EAAKknB,QAAjChd,EAAK,QAAEukB,EAAO,UAAEC,EAAO,UACzB+sH,EAAY,EAAKC,YAAY17I,GAC7Bg/B,EAAY,EAAK9X,QAAQ8X,UACzBu6B,EAAUv6B,EAAYA,EAAUv/B,EAAEk2B,QAAQ2nE,IAAe79F,EAAEk2B,QAAQ2nE,GACnE31E,EAAO,EAAKvgB,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,EAAAtoB,QACL,GACA,CACEC,EAAG7L,EAAE6L,EAAImjB,EACT1qB,EAAGtE,EAAEsE,EAAI2qB,EACT/G,KAAM4xC,EACNpoC,KAAM1xB,EAAEqf,MACRsS,SAAUqqH,EACVpqH,UAAW,SACXC,aAAc,OAEhBpnB,GAEFhM,KAAM,UAERgkF,EAAYt9E,KAAK+iB,MAEnBrmB,KAAK4G,KAAKC,OAAOY,QAGZ,YAAAohB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAA2I,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAAL,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGZ,YAAA8mB,QAAP,WACE,OAAO7tB,KAAK8F,UAAU+nB,WAGd,YAAA3H,kBAAV,WACU,IAAAzf,EAAUzG,KAAK4G,KAAI,MACrBo6G,EAAa,EAAA5uF,MAAM3rB,EAAM7D,MAAMgG,OAGrC,OAFAo4G,EAAW1wF,OAAS,YACb0wF,EAAWnxF,KACX,CACL1C,QAAS,EACTC,QAAS,EACTxkB,MAAOo4G,EACPq5B,WAAW,IAIL,YAAAH,UAAV,SAAoB//G,EAAQv9B,GACpB,MAnKV,SAAkBu9B,GAChB,IAAIo3C,GAAah/D,IACbkM,EAAMlM,IACNiM,GAAOjM,IAOX,OANA,EAAA/I,KAAK2wB,GAAQ,SAACh8B,GACZsgB,EAAMtP,KAAKsP,IAAItgB,EAAE6L,EAAGyU,GACpBD,EAAMrP,KAAKqP,IAAIrgB,EAAE6L,EAAGwU,GACpB,IAAMlY,EAAS6I,KAAKsmB,IAAIt3B,EAAEsE,EAAE,GAAKtE,EAAEsE,EAAE,IACrC8uE,EAAYpiE,KAAKqP,IAAI+yD,EAAWjrE,MAE3B,CACLg0I,OAAQ,CAAC77H,EAAKD,GACd+yD,UAAS,GAuJqB0b,CAAS9yD,GAA/BmgH,EAAM,SAAE/oE,EAAS,YAEnBgpE,EAAaD,EAAO,GAAKA,EAAO,GAChCE,EAAqBx6I,KAAKy6I,sBAAsBH,EAAO,GAAIC,EAAYpgH,GAEvE5U,EAAOvlB,KAAK06I,aAAa99I,GACzB+9I,EAAY,CAChBL,OAAM,EACNM,OAAQr1H,EAAKlf,MAAQkf,EAAKjf,OAC1BtH,KAAMw7I,EACNK,UAAU,GAENv0I,EAAStG,KAAK86I,UAjLL,GAiL2BvpE,EAAWvxE,KAAK+6I,QAASJ,EAnLrD,IACI,KAmLlB,GAAe,OAAXr0I,EAAJ,CAGAq0I,EAAUE,UAAW,EACrB,IAAMG,EAAWh7I,KAAK+6I,QAAQJ,GAI9B,OAHAK,EAAIhxI,EAAIgxI,EAAIhxI,EACZgxI,EAAIv4I,EAAIu4I,EAAIjnF,IAAMinF,EAAIxpE,GAAKwpE,EAAIjnF,IAAM,EACrCinF,EAAInB,YAAevzI,EAASif,EAAKjf,OAAU,GACpC00I,IAGD,YAAAP,sBAAR,SAA8BvqI,EAAMqqI,EAAYpgH,GAG9C,IAFA,IAAMqgH,EAAqB,GAElBn+I,EAAI6T,EAAM7T,EAAIk+I,EAAYl+I,GADtB,EACiC,CAC5C,IAAM03D,EAAK0lF,EAAap9I,EAAG89B,EAAQ,GAC7Bq3C,EAAKioE,EAAap9I,EAAG89B,EAAQ,GACnCqgH,EAAmBl3I,KAAK,CACtB0G,EAAG3N,EACHoG,EAAG,CAACsxD,EAAIyd,KAGZ,OAAOgpE,GAGD,YAAAM,UAAR,SAAkBr8H,EAAKD,EAAKihB,EAAMw7G,EAAYlwG,EAAWmwG,GACvD,IAAK,IAAI7+I,EAAI,EAAGA,EAAI6+I,EAAc7+I,IAAK,CACrC,IAAM6rE,GAAUzpD,EAAMD,GAAO,EACvBoH,EAAUq1H,EAChBr1H,EAAQtf,OAAS4hE,EACjBtiD,EAAQvf,MAAQ6hE,EAAStiD,EAAQg1H,OACjC,IAAMO,EAAa17G,EAAK7Z,GAExB,GAAIu1H,IADqB38H,EAAMC,GAAO,EAAIssB,EAExC,OAAOm9B,EAELizE,EACF18H,EAAMypD,EAEN1pD,EAAM0pD,EAGV,OAAO,MAGD,YAAA6yE,QAAR,SAAgBl8F,GAEd,IADQ,IAAAy7F,EAA0Cz7F,EAAM,OAAxCx4C,EAAkCw4C,EAAM,MAAjCv4C,EAA2Bu4C,EAAM,OAAzB7/C,EAAmB6/C,EAAM,KAAnBg8F,EAAah8F,EAAM,SAC/CxiD,EAAI,EAAGA,EAAI2C,EAAKJ,OAAQvC,IAAK,CACpC,IACMw2I,EADI7zI,EAAK3C,GACF2N,EACP4lB,EAAKijH,EAAKxsI,EAChB,GAAIupB,EAAK0qH,EAAO,GACd,MAMF,IAJA,IAAMc,EAAWxB,EAAU56I,EAAM4wB,GAC7ByrH,GAAW9oI,IACX+oI,EAAe,KACf36H,EAAQpO,IACHnO,EAAI/H,EAAG+H,EAAIg3I,EAAUh3I,IAAK,CACjC,IAAMy2B,EAAM77B,EAAKoF,GAAG3B,EAAE,GAChBq4B,EAAS97B,EAAKoF,GAAG3B,EAAE,GAQzB,GAPIq4B,EAASna,IACXA,EAAQma,GAEND,EAAMwgH,IACRA,EAAUxgH,EACVygH,EAAexgH,GAEbna,EAAQ06H,EAAU/0I,EACpB,MAGJ,GAAIqa,EAAQ06H,GAAW/0I,EACrB,QAAIu0I,GAGG,CACL7wI,EAAG6oI,EACH9+E,GAAIsnF,EACJ7pE,GAAI8pE,EACJj1I,MAAK,EACLC,OAAM,GAIZ,OAAO,GAGD,YAAAo0I,aAAR,SAAqBr0H,GACnB,IAAM26F,EAAa,EAAA5uF,MAAMpyB,KAAK4G,KAAKH,MAAM7D,MAAMi8E,WAC/CmiC,EAAWlxF,SA/QM,GAgRjB,IAAMumF,EAASr2G,KAAK8F,UAAUotB,SAAS,OAAQ,CAC7Cb,MAAO,EAAF,UACHhM,KAAI,EACJrc,EAAG,EACHvH,EAAG,GACAu+G,KAGDz7F,EAAO8wF,EAAOxoF,UAEpB,OADAwoF,EAAOvrG,SACAya,GAGD,YAAA+L,YAAR,WACE,OAAO,EAAA4c,KAAKluC,KAAKiJ,KAAKuf,YAAY,SAACyC,GAAS,MAAc,SAAdA,EAAKrhB,SAGzC,YAAAwwI,YAAV,SAAsB17I,GACpB,OAAIsB,KAAK4lB,QAAQy0H,UAlSA,GAmSKr6I,KAAK65I,YAAYn7I,GAnStB,IAwSrB,EAvOA,G,sGCpEA,QAGA,2B,+CAAmE,OAAhB,iBAAgB,EAAnE,CAFA,0BAEmD,S,YAEnD,EAAAu4F,uBAAuB,oBAAqBskD,I,yFCJ5C,QAGA,2B,+CAcA,OAduD,iBAE3C,YAAA/6B,WAAV,SAAqBzxF,EAAoBpJ,GACvC,IAAM6+C,EAAmB,GASzB,OARI7+C,EAAO/mB,OAAS,GAClB4lE,EAAOlhE,KAAKqiB,EAAO9gB,SAEjB8gB,EAAO/mB,OAAS,GAClB4lE,EAAOlhE,KAAKqiB,EAAOtiB,OAErBmhE,EAAOlhE,KAAI,MAAXkhE,EAAe7+C,GAER6+C,GAEX,EAdA,CAFA,0BAEuD,S,YAgBvD,EAAAyyB,uBAAuB,yBAA0BukD,I,8ECpBjD,YACA,SAEA,EAAAh4H,cAAc,cAAe,EAAAugG,qB,yFCH7B,OACA,0BACA,4BAIA,2B,+CASA,OATgD,iBAIvC,YAAA/8G,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,qBAClB,YAAM5C,aAAY,UAACulI,IANP,EAAArmH,kBACZ,UAAwBA,kBAO5B,EATA,CAAgD,W,UAA3Bu1H,G,yFCNrB,OACA,0BACA,2BAKA,2B,+CAQA,OARoC,iBAG3B,YAAAz0I,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,SAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA0D,UAAYA,kBAOtF,EARA,CAAoC,W,UAAfw1H,G,yFCPrB,4BACA,4BAIMzN,EAAwB,CAC5B,CAAErxI,KAAM,iBAAkB2xF,OAAQ,WAClC,CAAE3xF,KAAM,kBAAmB2xF,OAAQ,YAGrC,UAAe,CACb2/C,UAR0B,GAS1BhkH,YAAa+jH,I,kFCZf,E,KAAA,uBAGA,mBAAuC3mI,GACrC,IAAMqzF,EAAkBrzF,EAAMmkB,qBACxB5kB,EAASS,EAAMT,OAErB,IAAI,UAAoB,CACtBD,KAAMU,EACNqzF,gBAAe,EACfxuE,IAAK,MAGP,IAAI,UAAoB,CACtBvlB,KAAMU,EACNqzF,gBAAe,EACfxuE,IAAK,MAGPtlB,EAAOY,S,yFCnBT,OAIA,2B,+CAIA,OAJyC,iBAC7B,YAAA2zF,QAAV,WACE,OAAO,EAAAl+F,IAAI8C,KAAK4G,KAAKgf,QAAS,CAAC,QAAS,YAAa,UAEzD,EAJA,CAHA,0BAGyC,SAMzC,mBAA6Cte,GAC3C,IAAMqzF,EAAkBrzF,EAAMmkB,qBAC9B,IAAIkwH,EAA2B,CAC7B/0I,KAAMU,EACNqzF,gBAAe,M,8ECdnB,MAyBAi1B,wBAAwB,SAtBJ,CAClBhtH,MAAO,CACLi4B,IAAK,CACHigE,YAAa,CAAC,CAAEl+F,KAAM,qBACtBm+F,MAAO,CACL6hB,iBAAkB,CAChB,CAAEhgH,KAAM,oBACR,CACEA,KAAM,yBACNiiD,OAAQ,CACNohE,KAAM,CAAC,MAAO,MAAO,YAGzB,CACErjH,KAAM,mB,yFCjBlB,OACA,0BACA,4BAIA,2B,+CAQA,OAR2C,iBAGlC,YAAAoK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,gBAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAAiE,UAAmBA,kBAOpG,EARA,CAA2C,W,UAAtB01H,G,8ECNrB,YACA,QAEA,EAAAp4H,cAAc,gBAAiB,EAAAmmF,uB,yFCH/B,OACA,0BACA,2BAIA,2B,+CAQA,OAR2C,iBAGlC,YAAA3iG,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,gBAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAAiE,UAAmBA,kBAOpG,EARA,CAA2C,W,UAAtB21H,G,8ECHrB,WAEA,QAEA,SAASpsF,EAAYl/C,EAAO0Y,GAC1B,IAAMk0C,EAAe,GACfhjC,EAAS5pB,EAAMrT,IAAI,UAAUi9B,OAInC,OAHA,EAAA3wB,KAAK2wB,GAAQ,SAACh8B,GACZg/D,EAAa75D,KAAK2lB,EAAMygB,aAAavrC,OAEhCg/D,EAeT,iBAaE,WAAY10D,GATJ,KAAAk7G,MAAkB,GAClB,KAAArS,MAAkB,GAElB,KAAAwqC,WAAkB,GAElB,KAAAC,WAAkB,GAKxB,EAAA57I,OAAOH,KAAMyI,GACbzI,KAAKmhH,QAqPT,OAlPS,YAAA15G,KAAP,sBACQu0I,EAAgBh8I,KAAKi8I,oBAC3B,EAAAzyI,KAAKwyI,GAAe,SAAChxH,EAAQpuB,GACvBouB,EAAOpsB,OAAS,GAClB,EAAKs9I,gBAAgBlxH,EAAQpuB,MAG7BoD,KAAK+7F,UACP/7F,KAAKmwI,kBACInwI,KAAKwiB,WAEdxiB,KAAKm8I,qBAGF,YAAAtzH,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,QAEjB7oB,KAAK2jH,MAAQ,GACb3jH,KAAKsxG,MAAQ,IAGR,YAAAlqG,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,UAIZ,YAAA6gB,SAAP,SAAgBuhC,EAAOvkD,GACP,WAAVukD,GACFltD,KAAK6wI,UAAUloI,GAEH,aAAVukD,GACFltD,KAAKo8I,YAAYzzI,GAEL,aAAVukD,GACFltD,KAAK+wI,YAAYpoI,IAIb,YAAAw4G,MAAR,sBACQ75G,EAAQtH,KAAKiJ,KAAKwgB,gBACxBzpB,KAAK8F,UAAYwB,EAAMoiB,WACvB1pB,KAAKyH,OACLzH,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,YAID,YAAAozH,kBAAR,sBAEUv7H,EAAW1gB,KAAKiJ,KAAKjB,gBAAgBhI,KAAKiI,OAAM,OAElD+iB,EADWhrB,KAAKiJ,KAAKuf,WAAW,GACduC,YAElBirC,EAAS,GAUf,OATA,EAAAxsD,KAAKkX,GAAQ,SAACxd,GACZ8yD,EAAO9yD,GAAK,MAGd,EAAAsG,KAAKwhB,GAAQ,SAACza,GACZ,IACM3S,EADS2S,EAAMrT,IAAI,UAAU8B,KAChB,EAAKiJ,OACxB+tD,EAAOp4D,GAAK0F,KAAKiN,MAEZylD,GAGD,YAAAkmF,gBAAR,SAAwBlxH,EAAQpuB,GAE9B,IAAMy/I,EAAcrxH,EAAO,GAAG6H,KAAK,QACnC7yB,KAAK87I,WAAWl/I,GAAQoD,KAAKs8I,eAAeD,EAAa,QACzDr8I,KAAK+7I,WAAWn/I,GAAQoD,KAAKs8I,eAAeD,EAAa,QAEzD,IADA,IAAMpzH,EAAQjpB,KAAKiJ,KAAKuf,WAAW,GAAGD,WAC7BlsB,EAAI,EAAGA,EAAI2uB,EAAOpsB,OAAS,EAAGvC,IAAK,CAC1C,IAAM09D,EAAUtK,EAAYzkC,EAAO3uB,GAAI4sB,GACjC/mB,EAAOutD,EAAYzkC,EAAO3uB,EAAI,GAAI4sB,GAClC8/E,EAAY,EAAAr6E,IAAI,GAAI1uB,KAAK87I,WAAWl/I,IACpC28F,EAAY,EAAA7qE,IAAI,GAAI1uB,KAAK+7I,WAAWn/I,IACtCoD,KAAK+7F,YACPgN,EAAU5qF,QAAU,EACpBo7E,EAAUp7E,QAAU,GAEtB,IAAMuS,EAAO1wB,KAAK8F,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,EAAA3D,IAAI,GAAWq6E,EAAW,CAC/Bv5E,KAAM,CACJ,CAAC,IAAKuqC,EAAQ,GAAG/vD,EAAG+vD,EAAQ,GAAGt3D,GAC/B,CAAC,IAAKP,EAAK,GAAG8H,EAAG9H,EAAK,GAAGO,GACzB,CAAC,IAAKP,EAAK,GAAG8H,EAAG9H,EAAK,GAAGO,GACzB,CAAC,IAAKs3D,EAAQ,GAAG/vD,EAAG+vD,EAAQ,GAAGt3D,MAGnC7F,KAAM,kBAEFmqB,EAAO/mB,KAAK8F,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,EAAA3D,IAAI,GAAW6qE,EAAW,CAC/B/pE,KAAM,CACJ,CAAC,IAAKuqC,EAAQ,GAAG/vD,EAAG+vD,EAAQ,GAAGt3D,GAC/B,CAAC,IAAKP,EAAK,GAAG8H,EAAG9H,EAAK,GAAGO,MAI7B7F,KAAM,kBAGFg/C,EAAa5wB,EAAO3uB,GAAGa,IAAI,UAAU8B,KAC3C0xB,EAAK9qB,IAAI,OAAQg2C,GACjB70B,EAAKnhB,IAAI,OAAQg2C,GACjB57C,KAAK2jH,MAAMrgH,KAAKotB,GAChB1wB,KAAKsxG,MAAMhuG,KAAKyjB,KAIZ,YAAAu1H,eAAR,SAAuBD,EAAajwF,GAClC,IAAMi0E,EAAej0E,EAAS,QAE9B,GAAIpsD,KAAKqgI,GACP,OAAOrgI,KAAKqgI,GAEd,IAAMlsE,EApJD,CACL40C,UAAW,CACT5qF,QAAS,IAEXo7E,UAAW,CACTr9B,UAAW,EACX/9C,QAAS,KA8I4BkiH,GACnCkc,EAAmB,CAAE1sH,KAAMwsH,GAK/B,MAJkB,SAAdjwF,IACFmwF,EAAc,CAAEjsH,OAAQ+rH,IAGnB,EAAA3tH,IAAIylC,EAAcooF,IAGnB,YAAApM,gBAAR,sBACQ5lI,EAAYvK,KAAK+7F,UACvB/7F,KAAKiJ,KAAKwB,GAAG,YAAYF,GAAa,SAAChK,GACrC,IAAM6zB,EAAS7zB,EAAEK,OAAO1D,IAAI,UAAU8B,KAAK,EAAKiJ,OAChD,EAAK0jB,SAAS,SAAU,CACtB/uB,KAAM,EAAKqL,MACXsvF,IAAKnjE,IAEP,EAAKzI,SAAS,WAAY,CACxB/uB,KAAM,EAAKqL,MACXsvF,IAAK,SAAC56F,GACJ,OAAOA,IAAMy3B,KAGjB,EAAKnrB,KAAKpC,OAAOY,UAGnBzH,KAAKiJ,KAAKwB,GAAG,aAAa,SAAClK,GACW,aAAhCA,EAAE2kB,OAAOtkB,OAAO1D,IAAI,SACtB,EAAKyuB,SAAS,WAAY,CACxB/uB,KAAM,EAAKqL,MACXsvF,IAAK,WACH,OAAO,SAOT,YAAA4kD,kBAAR,WAEQ,MAA0Bn8I,KAAKiJ,KAAKg4C,eAAlCj3C,EAAC,IAAEvH,EAAC,IAAE4D,EAAK,QAAEC,EAAM,SAC3BtG,KAAK8F,UAAUgiD,QAAQ,CACrBl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAC,EACDvH,EAAC,EACD4D,MAAO,EACPC,OAAM,KAGVtG,KAAK8F,UAAUF,IAAI,aAAa,GAChC5F,KAAK8F,UAAU02I,UAAU7zH,QACvB,CACEtiB,MAAK,GAEP,IACA,eACA,cACA,MAII,YAAAwqI,UAAR,SAAkBloI,GAAlB,WACE,EAAAa,KAAKxJ,KAAK2jH,OAAO,SAACjzF,GAChB,IAAMm9G,EAAYn9G,EAAKxzB,IAAI,QACrB27F,EAAag1C,EAAU,EAAK5lI,OAClC,GAAI,EAAAq0B,QAAQuxG,EAAWllI,GAAY,CACjC,IAAMwV,EAAU,EAAK29H,WAAWjjD,GAAY16E,SAAW,EAEvDuS,EAAKkC,cACLlC,EAAK/H,QAAQ,CAAExK,QAAO,GAAI,IAAK,mBAGnC,EAAA3U,KAAKxJ,KAAKsxG,OAAO,SAACvqF,GAChB,IAAM8mH,EAAY9mH,EAAK7pB,IAAI,QACrB27F,EAAag1C,EAAU,EAAK5lI,OAClC,GAAI,EAAAq0B,QAAQuxG,EAAWllI,GAAY,CACjC,IAAMwV,EAAU,EAAK49H,WAAWljD,GAAY16E,SAAW,EAEvD4I,EAAK6L,cACL7L,EAAK4B,QAAQ,CAAExK,QAAO,GAAI,IAAK,oBAK7B,YAAAi+H,YAAR,SAAoBzzI,GAClB,EAAAa,KAAKxJ,KAAK2jH,OAAO,SAACjzF,GAChB,IAAMm9G,EAAYn9G,EAAKxzB,IAAI,QACvB,EAAAo/B,QAAQuxG,EAAWllI,KAErB+nB,EAAKkC,cACLlC,EAAK/H,QACH,CACExK,QAAS,GAEX,IACA,mBAIN,EAAA3U,KAAKxJ,KAAKsxG,OAAO,SAACvqF,GAChB,IAAM8mH,EAAY9mH,EAAK7pB,IAAI,QACvB,EAAAo/B,QAAQuxG,EAAWllI,KAErBoe,EAAK6L,cACL7L,EAAK4B,QACH,CACExK,QAAS,GAEX,IACA,oBAMA,YAAA4yH,YAAR,SAAoBpoI,GAClB3I,KAAK6wI,UAAUloI,IAGT,YAAA2oB,YAAR,WACE,OAAO,EAAA4c,KAAKluC,KAAKiJ,KAAKuf,YAAY,SAACyC,GAAS,MAAc,aAAdA,EAAKrhB,SAErD,EApQA,G,2FC5BA,YACA,QAEA,EAAA4Z,cAAc,gBAAiB,EAAAmmF,uB,yFCH/B,QAKA,2B,+CAMA,OANoD,iBAGxC,YAAA4Y,oBAAV,SAA8B58F,GAC5B,OAAO,GAEX,EANA,CAJA,0BAIoD,S,YAQpD,EAAAsxE,uBAAuB,sBAAuBwlD,I,yFCb9C,OACA,0BACA,4BAIA,2B,+CAQA,OARyC,iBAGhC,YAAAz1I,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,cAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA+D,UAAiBA,kBAOhG,EARA,CAAyC,W,UAApBw2H,G,yFCNrB,OACA,OAEA,2BAEA,4BACA,SAQA,yE,OAcS,EAAA9yI,KAAe,c,EAyCxB,OAvD8C,iBAC9B,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QACL,EAAMmc,kBAAiB,WACvB,CACEtjB,MAAO,CACLujB,SAAS,EACTI,SAAU,UAGd,KAMG,YAAA2D,YAAP,WACElqB,KAAK43D,cAEL,IAAMsgF,EAAc,GACdx/C,EAAQ14F,KAAKiJ,KAAKuf,WACxB,EAAAhf,KAAKkvF,GAAO,SAACztE,GACX,IAAM8G,EAAW9G,EAAK8G,SACtB,EAAAvoB,KAAKuoB,GAAU,SAACw4B,GACd2tF,EAAY50I,KAAKinD,EAAIh6C,aAGzB,EAAA4nI,cAAcD,GACd,YAAMhuH,YAAW,YAGT,YAAA1H,UAAV,WACE,YAAMA,UAAS,WACfxiB,KAAKstF,OAAO3kE,QAAU,CACpB0iC,OAAQ,CACN7oC,UAAW,2BACXD,SAAU,KAEZD,OAAQ,CACNE,UAAW,2BACXD,SAAU,OAKN,YAAAq1C,YAAV,WACM53D,KAAK4lB,QAAQhjB,OAAS5C,KAAK4lB,QAAQhjB,MAAMujB,SAC7B,IAAI,UAAiB,EAAD,UAChCld,KAAMjJ,KAAKiJ,KACXrC,KAAM5G,MACHA,KAAK4lB,QAAQhjB,QAEZ0G,UAGZ,EAvDA,CAA8C,W,YAyD9C,EAAAklF,iBAAiB,cAAemuD,I,yFCvEhC,OAEA,QACA,2BAiCA,iBAQE,WAAYl0I,GANL,KAAA1B,WAAqB,EAO1B/G,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK4G,KAAO6B,EAAI7B,KAChB,IAAM0gB,EAAiBtnB,KAAKkmB,oBAC5BlmB,KAAK4lB,QAAU,EAAA7b,QAAQud,EAAgB7e,EAAK,IACvCzI,KAAK4lB,QAAQg3H,WAChB58I,KAAK4lB,QAAQg3H,SAAW58I,KAAK4lB,QAAQhd,OAElC5I,KAAK4lB,QAAQi3H,cAChB78I,KAAK4lB,QAAQi3H,YAAc78I,KAAK4lB,QAAQhd,OAE1C5I,KAAKioB,OAiNT,OA9MS,YAAAA,KAAP,sBACEjoB,KAAK8F,UAAY9F,KAAKsxB,cAActC,gBACpChvB,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,QACL,EAAKjiB,KAAKC,OAAOY,WAId,YAAA6B,OAAP,sBACQ,EAA2BtJ,KAAKsxB,cAA9B/I,EAAU,aAAEwJ,EAAQ,WAC5B/xB,KAAKipB,MAAQV,EACb,EAAA/e,KAAKuoB,GAAU,SAACw4B,GACd,IAAMh6C,EAAQg6C,EAAIh6C,MACZm2H,EAAY,EAAK5wC,YAAYvlF,GAC7BmQ,EAAS,EAAKq9D,SAASxtE,GACvBusI,EAAc,EAAK90C,kBACnBriF,EAAS,GACf,EAAAnc,KAAKk9H,GAAW,SAACplD,EAAKjlF,GACpB,IAAMuM,EAAc,IAANvM,EAAU,EAAKupB,QAAQg3H,SAAW,EAAKh3H,QAAQi3H,YACvDr/H,EAAQ,EAAK+6H,aAAahoI,EAAOlU,GACT,UAA1B,EAAKupB,QAAQW,UAAwB,EAAKX,QAAQ4nE,aAAyB,UAAVhwE,IACnE5U,EAAM0nB,OAAS,MAEjB,IAAMoN,EAAY,EAAK9X,QAAQ8X,UACzBu6B,EAAUv6B,EAAYA,EAAUhd,EAAOrkB,IAAMqkB,EAAOrkB,GACpDuG,EAAQ,EAAKkD,UAAUotB,SAAS,OAAQ,CAC5Cb,MAAO,EAAAtoB,QAAQ,GAAInB,EAAO,CACxBoB,EAAGs3E,EAAIt3E,EACPvH,EAAG6+E,EAAI7+E,EACP4jB,KAAM4xC,EACNpoC,KAAMrS,EACNuS,UAAW,SACXC,aAAc8sH,EAAYzgJ,KAE5BO,KAAM,UAER+oB,EAAOriB,KAAKV,GACZ,EAAKinD,YAAYjnD,MAEnB2N,EAAM3K,IAAI,cAAe+f,GACzB,EAAKywE,eAAezwE,EAAO,GAAIA,EAAO,GAAIpV,MAE5CvQ,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA+pB,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAAohB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGZ,YAAA8mB,QAAP,WACE,OAAO7tB,KAAK8F,UAAU+nB,WAGd,YAAA2qH,aAAV,SAAuBjoI,GAAvB,WACQ4pB,EAAS,GAUf,OATA,EAAA3wB,KAAK+G,EAAMrT,IAAI,UAAUi9B,QAAQ,SAACh8B,GAChCg8B,EAAO72B,KAAK,EAAK2lB,MAAMygB,aAAavrC,OAEzB,IAAI,UACfg8B,EAAO,GAAGnwB,EACVmwB,EAAO,GAAG13B,EACV0M,KAAKsmB,IAAI0E,EAAO,GAAGnwB,EAAImwB,EAAO,GAAGnwB,GACjCmF,KAAKsmB,IAAI0E,EAAO,GAAG13B,EAAI03B,EAAO,GAAG13B,KAK7B,YAAAyjB,kBAAR,WACU,IACF86F,EADYhhH,KAAK4G,KAAI,MACFhE,MAAMgG,MAC/B,MAAO,CACL2d,SAAU,QACV4G,QAAS,EACTC,QAjJiB,EAkJjBxkB,MAAO,EAAAwpB,MAAM4uF,GACbxzB,aAAa,EACb4I,gBAAgB,IAIZ,YAAAN,YAAR,SAAoBvlF,GAClB,IAIIihE,EAAIE,EAJFnsD,EAAOvlB,KAAKw4I,aAAajoI,GACvBL,EAA4BqV,EAAI,KAA1BnV,EAAsBmV,EAAI,KAApBlV,EAAgBkV,EAAI,KAAdlf,EAAUkf,EAAI,MAChC6H,EAAYptB,KAAK4lB,QAAO,QAC1B5b,EAAIkG,EAAO7J,EAAQ,EASzB,MAP8B,UAA1BrG,KAAK4lB,QAAQW,UACfirD,EAAKphE,EAAOgd,EACZskD,EAAKrhE,EAAO+c,IAEZokD,EAAKphE,EAAOgd,EACZskD,EAAKrhE,EAAO+c,GAEP,CACL,CAAEpjB,EAAGA,EAAGvH,EAAGivE,GACX,CAAE1nE,EAAGA,EAAGvH,EAAG+uE,KAIP,YAAAuM,SAAR,SAAiBxtE,GACP,IAAAua,EAAW9qB,KAAK4G,KAAKgf,QAAO,OACpC,OAAOrV,EAAMrT,IAAI,UAAU8B,KAAK8rB,IAG1B,YAAAk9E,gBAAR,WACE,MAA8B,UAA1BhoG,KAAK4lB,QAAQW,SACR,CAAC,MAAO,UAER,CAAC,SAAU,QAId,YAAAgyH,aAAR,SAAqBhoI,EAAO7R,GAC1B,GAAIsB,KAAK4lB,QAAQ4nE,aAAyC,UAA1BxtF,KAAK4lB,QAAQW,SAAsB,CACjE,IAAMmwE,EAAanmF,EAAMsiB,KAAK,QACxB8jE,EAAepmF,EAAMsiB,KAAK,WAAatiB,EAAMsiB,KAAK,WAAa,EAC/DzV,EAAM,EAAA0gB,QAAQ44D,GAQpB,OAlMN,SAAsBx4D,EAAM9mB,GAC1B,IAAI+mB,EAOJ,OANA,EAAA30B,KAAK00B,GAAM,SAACx+B,GACV,IAAM4kB,EAAM5kB,EACR0X,GAAQkN,EAAI8Z,MAAQhnB,EAAOkN,EAAI+Z,KACjCF,EAAU7Z,EAAI9G,UAGX2gB,EAyLay4D,CALE,CAChB,CAAEx4D,KAAM,EAAGC,GAAI,GAAI7gB,MAAO,SAC1B,CAAE4gB,KAAM,GAAIC,GAAI,IAAK7gB,MAAO,WAC5B,CAAE4gB,KAAM,IAAKC,GAAI,IAAK7gB,MAAO,UAJlBrO,KAAKuP,MAAe,KAATtB,EAAI,GAAsB,KAATA,EAAI,GAAsB,KAATA,EAAI,IAAcu5E,GAU9E,OAD+B,IAAVj4F,EAAcsB,KAAK4lB,QAAQg3H,SAAS/sH,KAAO7vB,KAAK4lB,QAAQi3H,YAAYhtH,MAInF,YAAAg6B,YAAR,SAAoBjnD,GACd5C,KAAK4G,KAAK4b,YAAqC,IAAxBxiB,KAAK4G,KAAK4b,YAGrC5f,EAAMiwB,KAAK,cAAe,GAC1BjwB,EAAMiwB,KAAK,gBAAiB,GAC5BjwB,EAAMgwB,cACNhwB,EAAM+lB,QACJ,CACEg7D,YAAa,EACbC,cAAe,GAEjB,IACA,aACA,OAII,YAAAwS,eAAR,SAAuBqiD,EAAIC,EAAInoI,GAC7B,IAAM6jB,EAAS7jB,EAAMrT,IAAI,UACnB6/I,EAAY3oH,EAAO3xB,EAAE,GACrBu6I,EAAY5oH,EAAO3xB,EAAE,GAGrBw6I,EAFO1sI,EAAMsd,UACI,OAEjBnF,EAAa1oB,KAAKiJ,KAAKg4C,eACvBmgC,EAAQ,CAACq3D,EAAG5qH,UAAW6qH,EAAG7qH,WAC5B0J,EAAKkhH,EAAG5lH,KAAK,KACb8E,EAAK+gH,EAAG7lH,KAAK,KACjB,GAAI7yB,KAAK4lB,QAAQwwE,gBAA4C,UAA1Bp2F,KAAK4lB,QAAQW,SAAsB,CACpE,IAAMurG,EAAc1wC,EAAM,GAAG96E,OAAS86E,EAAM,GAAG96E,QAC7B86E,EAAM,GAAG/wE,KAAO+wE,EAAM,GAAGhxE,KAAO,GAC/B0hH,EAAcmrB,KAE/BtlH,EAAKolH,EAAY/8I,KAAK4lB,QAAQwH,QAC9BsrH,EAAG7lH,KAAK,OAAQ7yB,KAAK4lB,QAAQg3H,SAAS/sH,MACtC6oH,EAAG7lH,KAAK,eAAgB,UACxB0E,EAAKylH,EAAYh9I,KAAK4lB,QAAQwH,QAC9BqrH,EAAG5lH,KAAK,OAAQ7yB,KAAK4lB,QAAQi3H,YAAYhtH,MACzC4oH,EAAG5lH,KAAK,eAAgB,OACxBuuD,EAAM,GAAKq3D,EAAG5qH,UACduzD,EAAM,GAAKs3D,EAAG7qH,WAIduzD,EAAM,GAAG/wE,KAAOqY,EAAWrY,KAvPZ,IAwPjBknB,EAAK7O,EAAWrY,KAAO6sI,EACvBzE,EAAG5lH,KAAK,eAAgB,WAE1B4lH,EAAG5lH,KAAK,IAAK0E,GACbmhH,EAAG7lH,KAAK,IAAK8E,GACb33B,KAAK4G,KAAKC,OAAOY,QAGX,YAAA6pB,YAAR,WACE,OAAO,EAAA4c,KAAKluC,KAAKiJ,KAAKuf,YAAY,SAACyC,GAAS,MAAc,aAAdA,EAAKrhB,SAErD,EApOA,G,kHCpCA,IAIIkvI,EAJJ,OACA,OAKA,SAASqE,EAAyB5sI,EAAOgiB,GACvC,IAAMhN,EAAOhV,EAAMsd,UACbmN,EAAUzV,EAAKnV,KAAOmV,EAAKjf,OAAS,EAC1CiK,EAAMu3C,QAAQ,CACZl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAGub,EAAKrV,KACRzN,EAAGu4B,EACH30B,MAAOkf,EAAKlf,MACZC,OAAQ,KAGGiK,EAAMrT,IAAI,aAClByrB,QACL,CACEriB,OAAQif,EAAKjf,OACb7D,EAAG8iB,EAAKnV,MAEVmiB,EAAWhQ,SACXgQ,EAAW9P,QACX,WACElS,EAAMu3C,QAAQ,QAEhBv1B,EAAWxgB,OAUf,SAASqrI,EAAyB7sI,EAAOgiB,GACvC,IAAM0mH,EAcR,SAA2B1oI,GACjB,IACJ3P,EADI4vB,EAAOjgB,EAAK,GAOpB,OALA,EAAA/G,KAAKsvI,GAAY,SAAC16I,GACZA,EAAEoyB,KAAOA,IACX5vB,EAASxC,MAGNwC,EAtBUs4I,CAAkB3oI,GAAOsiB,KAAK,QACzCsmH,EAAS,EAAA/mH,MAAM7hB,EAAMsiB,KAAK,SAChCtiB,EAAMsiB,KAAK,OAAQomH,GACnB1oI,EAAMoY,QACJ,CACE6G,KAAM2pH,GAER5mH,EAAWhQ,SACXgQ,EAAW9P,OACX8P,EAAWzgB,SACX,KAjBJqrI,EAAyB/D,cAAgB,2BAEzC,yBAA8BpuH,GAC5B8tH,EAAa9tH,GA6BfoyH,EAAyBhE,cAAgB,2BAEzC,EAAAltI,kBAAkB,2BAA4BixI,GAC9C,EAAAjxI,kBAAkB,2BAA4BkxI,I,yFCpE9C,OACA,0BACA,4BAIA,2B,+CASA,OATkD,iBAIzC,YAAAp2I,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,uBAClB,YAAM5C,aAAY,UAACulI,IANP,EAAArmH,kBACZ,UAA0BA,kBAO9B,EATA,CAAkD,W,UAA7Bm3H,G,yFCNrB,OACA,0BACA,4BAIA,2B,+CAaA,OAbiC,iBAGxB,YAAAr2I,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,MAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAAjiC,cAAP,WAEE,OADmBtqG,KAAK8G,OAAO,GAClBwjG,iBAVD,EAAApkF,kBAAuD,UAASA,kBAYhF,EAbA,CAAiC,W,UAAZo3H,G,2GCNrB,WACA,QAUS,yEAVa,EAAAp5H,aAUF,uEAVwB,EAAAW,WAE5C,IAIMs/F,EAA6B,EAAAvgG,YAJd,CACnBmmF,IAAK,aAKP,EAAA5pG,OAAO,EAAA+jB,UAAWigG,I,+HCTlB,QAmBS,8EAnBc,EAAAo5B,kBACvB,gCACA,4BACA,4BAEMC,EAAY,CAChBC,MAAO,UACPC,MAAO,UACP,eAAgB,WAGlB,uBAA4B9zI,GAC1B,GAAK4zI,EAAU5zI,GAIf,OAAO4zI,EAAU5zI,GAHf06C,QAAQC,KAAK,cAAc36C,EAAI,wB,iHCZnC,OACA,2BACA,SACA,QAEA,0BAA+BtM,GAE7B,OADmB02B,OAAO12B,EAAM6+F,SAAS,KAAO7+F,EAAMsjB,MAAM,GAAI,GAAKtjB,GACjD,KAGtB,+B,+CAoFA,OApF2C,iBAE/B,YAAA0zD,aAAV,SAAuBprC,GACrB,YAAMorC,aAAY,UAACprC,GACfA,EAAQgB,OAAS,IACnBhB,EAAQgB,OAAS,IAIX,YAAAg2E,WAAV,SAAqBjzF,GACnBA,EAAKomB,UAAY,UAIT,YAAAw5C,UAAV,aAIU,YAAAnoB,OAAV,SAAiBz7B,EAAkBw3E,GAAnC,WACEx3E,EAAOqI,SAAQ,SAACprB,EAAOuG,GACjBA,EAAM,GACR,EAAAK,KAAKmc,EAAO/E,MAAM,EAAGzX,IAAM,SAACw0I,GAC1B,EAAKC,iBAAiBh7I,EAAO+6I,EAAWxgD,EAAWh0F,WAMjD,YAAA+c,kBAAV,WACU,IACF86F,EADYhhH,KAAK4G,KAAI,MACFhE,MAAMgG,MAC/B,MAAO,CACLukB,QAAS,EACTC,QAAS,EACTxG,OAAQ,OACRhe,MAAO,EAAF,uBACAo4G,GAAU,CACbjxF,UAAW,SACXC,aAAc,aAMV,YAAA4tH,iBAAV,SAA2Bh7I,EAAe25F,EAAca,GAC9C,IAAA1tE,EAAW1vB,KAAK0xB,gBAAe,OACjCyF,EAAQimE,EAAUjmE,MAClBtG,EAAMjuB,EAAMirB,UACZgwH,EAAWthD,EAAK1uE,UAChByzD,EAAM,CAAEt3E,GAAI6mB,EAAI3gB,KAAO2gB,EAAI1gB,MAAQ,EAAG1N,GAAIouB,EAAIzgB,KAAOygB,EAAIxgB,MAAQ,GAGjEytI,EAAO,EAAA1rH,MAAMkvD,GAEby8D,EAAO,EAAA3rH,MAAMkvD,GAEnB,GAAIib,EAAKr/F,IAAI,QAAU0F,EAAM1F,IAAI,MAAO,CAChC,MAAyB,EAAA8gJ,eAAentH,EAAKgtH,GAA3CpzC,EAAQ,WAAEC,EAAQ,WAK1B,GAJID,IACFqzC,EAAK9zI,EAAIs3E,EAAIt3E,EAAIygG,EACjBqzC,EAAKr7I,EAAI6+E,EAAI7+E,EAAI0M,KAAKqN,IAAI2a,GAASszE,GAEjCC,EAAU,CAEZ,IAAIuzC,EAASvzC,EAGXuzC,EAFE38D,EAAI7+E,EAAIitB,EAAOjtB,EAERw7I,EAAS,EAAIA,EAASJ,EAASztI,KAAOygB,EAAIxgB,KAG1C4tI,EAAS,EAAIA,EAASJ,EAASxtI,KAAOwgB,EAAIzgB,KAErD2tI,EAAKt7I,EAAI6+E,EAAI7+E,EAAIw7I,EACjBF,EAAK/zI,EAAIs3E,EAAIt3E,EAAIi0I,EAAS9uI,KAAKqN,IAAI2a,GAGrC,IAEM+mH,EAFQ,EAAA5kH,kBAAkBgoD,EAAKw8D,GACvB,EAAAxkH,kBAAkBgoD,EAAKy8D,GACHD,EAAOC,EAEzCn7I,EAAMiwB,KAAK,IAAKqrH,EAAUl0I,GAC1BpH,EAAMiwB,KAAK,IAAKqrH,EAAUz7I,KAGhC,EApFA,CAA2C,W,8HCV3C,OACA,2BACA,SAGa,EAAAy6I,eAAiB,GAE9B,+B,+CA+LA,OA/L2C,iBAE/B,YAAAlsF,aAAV,SAAuBprC,GACrB,YAAMorC,aAAY,UAACprC,GACfA,EAAQgB,OAAS,IACnBhB,EAAQgB,OAAS,IAIX,YAAAV,kBAAV,WACU,IACF86F,EADYhhH,KAAK4G,KAAI,MACFhE,MAAMgG,MAC/B,MAAO,CACLukB,QAAS,EACTC,QAAS,EACTxG,OAAQ,GACRhe,MAAO,EAAF,uBACAo4G,GAAU,CACbhxF,aAAc,aAMV,YAAAoxB,OAAV,SAAiBz7B,EAAkB6N,EAAoBgJ,GAAvD,WACU9M,EAAW1vB,KAAK0xB,gBAAe,OACjCysH,EAAW,EAAAliH,OAAOtW,GAAQ,SAACrpB,GAAM,OAAAA,EAAEu2B,KAAK,MAAQnD,EAAO1lB,KAE7D,CADkB,EAAAiyB,OAAOtW,GAAQ,SAACrpB,GAAM,OAAAA,EAAEu2B,KAAK,KAAOnD,EAAO1lB,KACjDm0I,GAAUnwH,SAAQ,SAAC0N,EAAM0iH,GACnC,EAAKC,eAAe3iH,GAAO0iH,EAAQ5hH,OAK/B,YAAA6hH,eAAR,SAAuB14H,EAAkBo7D,EAAkBwc,GAA3D,WACQza,EAAc9iF,KAAK0yI,eAAe/sH,GAClC,EAAqB3lB,KAAK0xB,gBAAxBhC,EAAM,SAAEsR,EAAM,SAChBpa,EAAS5mB,KAAK4lB,QAAQgB,OACtBs8D,EAASliD,EAASpa,EAClBs6D,EAAc/xE,KAAKsP,IAAI8+E,EAASj3F,OAAQ6I,KAAKqP,IAAa,EAAT0kE,EAA2B,EAAdJ,EAAiBn9D,EAAO/mB,OAASkkF,IAC/Fw7D,EAAiBnvI,KAAKwR,MAAMugE,EAAc4B,GAE3C9iF,KAAK4lB,QAAQs3E,cAChBv3E,EAAO/E,MAAM09H,GAAgBtwH,SAAQ,SAACprB,GACpCA,EAAM1F,IAAI,UAAU0I,IAAI,WAAW,MAGvC+f,EAAOiC,OAAO02H,EAAgB34H,EAAO/mB,OAAS0/I,GAG9C34H,EAAOyU,MAAK,SAACj2B,EAAGzE,GAAM,OAAAyE,EAAE0pB,UAAUprB,EAAI/C,EAAEmuB,UAAUprB,KAsBlD,IApBA,IACIpG,EADA2kF,GAAc,EAEd3wE,EAAOqf,EAAOjtB,EAAIy+E,EAAc,EAChC9wE,EAAOsf,EAAOjtB,EAAIy+E,EAAc,EAC9BE,EAAQz7D,EAAOrB,KAAI,SAAC1hB,GACxB,IAAM27I,EAAW37I,EAAMirB,UAOvB,OANI0wH,EAASluI,KAAOA,IAClBA,EAAOlB,KAAKsP,IAAI8+E,EAASltF,KAAMkuI,EAASluI,OAEtCkuI,EAASnuI,KAAOA,IAClBA,EAAOjB,KAAKqP,IAAI++E,EAASntF,KAAMmuI,EAASnuI,OAEnC,CACLiW,KAAMzjB,EAAMiwB,KAAK,QACjBgY,KAAMi4C,EACNxB,IAAKi9D,EAAS97I,EACd4+E,QAAS,OAGTj9E,EAAI,EACDA,EAAIg9E,EAAMxiF,QACXwF,IAAMg9E,EAAMxiF,OAAS,EACvBwiF,EAAMh9E,GAAGi9E,QAAQ,GAAKhxE,EAEtB+wE,EAAMh9E,GAAGi9E,QAAQ,GAAKD,EAAMh9E,EAAI,GAAGk9E,IAAMF,EAAMh9E,EAAI,GAAGymC,KAAO,EAE/DzmC,IAEF,KAAO48E,GAQL,IAPAI,EAAMpzD,SAAQ,SAAC6C,GACb,IAAMjwB,EAAS,EAAA+7C,KAAK9rB,EAAIwwD,SACxBxwD,EAAIywD,IAAMnyE,KAAKqP,IAAIpO,EAAMjB,KAAKsP,IAAIoS,EAAIywD,IAAK1gF,EAASiwB,EAAIga,UAG1Dm2C,GAAc,EACd3kF,EAAI+kF,EAAMxiF,OACHvC,KACL,GAAIA,EAAI,EAAG,CACT,IAAMklF,EAAcH,EAAM/kF,EAAI,GACxBw0B,EAAMuwD,EAAM/kF,GAClB,GAAIklF,EAAYD,IAAMC,EAAY12C,KAAOha,EAAIywD,IAAK,CAEhDC,EAAY12C,MAAQha,EAAIga,KACxB02C,EAAYF,QAAUE,EAAYF,QAAQr9E,OAAO6sB,EAAIwwD,SAErD,IAAMzgF,EAAS,EAAA+7C,KAAK4kC,EAAYF,SAC5BE,EAAYD,IAAMC,EAAY12C,KAAOjqC,IACvC2gF,EAAYD,IAAM1gF,EAAS2gF,EAAY12C,MAEzCu2C,EAAMx5D,OAAOvrB,EAAG,GAChB2kF,GAAc,OAGdO,EAAYF,QAAQz5D,QAAQ,EAAG,EAAGiJ,EAAIywD,KAM9CjlF,EAAI,EAEJ+kF,EAAMpzD,SAAQ,SAACtuB,GACb,IAAI8hF,EAAoBsB,EAAc,EACtCpjF,EAAE2hF,QAAQrzD,SAAQ,WAChBrI,EAAOtpB,GAAGw2B,KAAK,IAAKnzB,EAAE4hF,IAAME,GAC5BA,GAAqBsB,EACrBzmF,UAKJ,IAAMmiJ,EAAY,GACZC,EAAe,GACrB94H,EAAOqI,SAAQ,SAACprB,EAAOuG,GACrB,IAAM00F,EAAS,EAAKC,UAAU30F,GAC1B00F,EAAO1mE,OAAS,GAAK0mE,EAAO1mE,OAAShoB,KAAKE,GAC5CovI,EAAan7I,KAAKV,GAElB47I,EAAUl7I,KAAKV,MAGnB,CAAC47I,EAAWC,GAAczwH,SAAQ,SAAC0wH,EAAcC,GAC/C,GAAKD,EAAa9/I,OAAlB,CAGA,IAAIggJ,EAAKD,EAAW,EAAAhiG,KAAK+hG,GAAc7wH,UAAUxd,KAAOqf,EAAOjtB,EAAIitB,EAAOjtB,EAAI,EAAA25B,KAAKsiH,GAAc7wH,UAAUzd,KAC3GwuI,EAAKzvI,KAAKqP,IAAI0kE,EAAQ07D,GACtB,IAAMv2G,EAAWzhB,EAAS,EAAI,EAAI,EAC5Bi4H,EACJ1vI,KAAKqP,IAAIne,MACP,EACA,EAAAikB,IAAIqB,GAAQ,SAAC/iB,GAAU,OAAAA,EAAMirB,UAAUxnB,UAEzCugB,EACAyhB,EACIy2G,EAAK3vI,KAAKqP,IAAI0kE,EAAQ/zE,KAAKsP,KAAKmgI,EAAK17D,GAAU,EAAGxzD,EAAO1lB,GAAKuzF,EAASrtF,KAAO2uI,KAC9EE,EAASD,EAAKA,EACdE,EAASJ,EAAKA,EACpBF,EAAa1wH,SAAQ,SAACprB,EAAOuG,GAC3B,IAAM00F,EAAS,EAAKC,UAAU30F,GACxB0nB,EAAMjuB,EAAMirB,UACZoxH,GAAiBpuH,EAAI3gB,KAAO2gB,EAAIxqB,MAAcwqB,EAAIzgB,KAAOygB,EAAIvqB,OAAS,GACtEo7E,EAASvyE,KAAKyQ,IAAIq/H,EAAcvvH,EAAOjtB,EAAG,GAC1CwjE,EAAW,EAAAg4B,YAAYvuE,EAAQmuE,EAAO1mE,MAAO6J,GAC7Ck+G,GAAmBn+D,EAAU,GAAK,GAAK14C,EAAW,EACxD,GAAIq5C,EAASs9D,EACX16F,QAAQC,KAAK,aAAc3hD,EAAMiwB,KAAK,SACtCjwB,EAAMiwB,KAAK,IAAKozC,EAASj8D,EAAIk1I,OACxB,CAGL,IAAIlzE,EAAOt8C,EAAO1lB,GAAK+2E,EAAU,GAAK,GAAK5xE,KAAKI,MAAM,EAAImyE,EAASs9D,GAAUD,IAE1ErvH,EAAO1lB,IAAMi8D,EAASj8D,GAAKi1I,IAAgBh5E,EAASxjE,GACpDitB,EAAOjtB,IAAMwjE,EAASxjE,GAAKupE,IAAS/F,EAASj8D,KAE9CgiE,EAAO/F,EAASj8D,GAUlBpH,EAAMiwB,KAAK,IAAKm5C,EAAOkzE,YAOvB,YAAAxM,eAAR,SAAuB/sH,GACrB,OAAK3lB,KAAK4lB,QAAQk9D,YAGX9iF,KAAK4lB,QAAQk9D,YAFX,EAAA1mD,KAAKzW,GAAU,EAAAyW,KAAKzW,GAAQkI,UAAUvnB,OAAS,IAI5D,EA/LA,CAA2C,W,8HCP3C,2BAGa,EAAA42I,eAAiB,GAE9B,+B,+CAmCA,OAnCiD,iBAErC,YAAAlsF,aAAV,SAAuBprC,GACrB,YAAMorC,aAAY,UAACprC,GACfA,EAAQgB,OAAS,IACnBhB,EAAQgB,OAAS,IAIX,YAAAV,kBAAV,WACU,IACF86F,EADYhhH,KAAK4G,KAAI,MACFhE,MAAMgG,MAC/B,MAAO,CACLukB,QAAS,EACTC,QAAS,EACTxG,OAAQ,GACRhe,MAAO,EAAF,uBACAo4G,GAAU,CACbhxF,aAAc,aAKV,YAAA4sE,WAAV,SAAqBjzF,GACnB,IAAMid,EAAS5mB,KAAK4lB,QAAQgB,OACL,SAAnBjd,EAAKomB,UACPpmB,EAAKK,GAAK4c,EAAS,EAAI,EAAIA,EAAS,EACR,UAAnBjd,EAAKomB,YACdpmB,EAAKK,GAAK4c,EAAS,EAAI,EAAIA,EAAS,IAM9B,YAAAw6B,OAAV,SAAiBz7B,EAAkB6N,EAAoBgJ,KACzD,EAnCA,CAAiD,W,sGCLjD,OAEA,SAwCA,SAASyhE,EAAYvuE,EAAQyH,EAAOh6B,GAClC,MAAO,CACL6M,EAAG0lB,EAAO1lB,EAAI7M,EAAIgS,KAAKw1B,IAAIxN,GAC3B10B,EAAGitB,EAAOjtB,EAAItF,EAAIgS,KAAKioB,IAAID,IAU/B,iBAUE,WAAY1uB,GATL,KAAA1B,WAAqB,EAU1B/G,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK4lB,QAAU,EAAA7b,QAAQ,GAAI/J,KAAKkmB,oBAAqBzd,GACrDzI,KAAKm/I,eAAen/I,KAAK4lB,SACzB5lB,KAAKioB,OAiYT,OA9XU,YAAAA,KAAR,sBACEjoB,KAAK8F,UAAY9F,KAAKiJ,KAAKuf,WAAW,GAAGwG,gBACzChvB,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,YAIF,YAAAvf,OAAP,sBACE,GAAKtJ,KAAKiJ,OAAQjJ,KAAKiJ,KAAKlC,UAA5B,CAIA,IAAM/H,EAAO,EAAAozB,MAAMpyB,KAAKiJ,KAAKX,WAC7BtI,KAAKo/I,OAAS,CAAC,GAAI,IACnB,IAAMp0H,EAAS,GACT+G,EAAW/xB,KAAKiJ,KAAKuf,WAAW,GAAGuJ,SACzC,EAAAvoB,KAAKuoB,GAAU,SAACw4B,GACdv/B,EAAO1nB,KAAKinD,EAAIh6C,UAElBvQ,KAAKipB,MAAQjpB,KAAKiJ,KAAKuf,WAAW,GAAGD,WAC/B,MAA0CvoB,KAAK4lB,QAA7CukF,EAAO,UAAck1C,EAAc,aACrCriD,EAAah9F,KAAK4lB,QAAQkd,OAAO,GACjC5Z,EAAQlpB,KAAKiJ,KAAK08C,eAAe,KAAKq3C,GACtCttE,EAAS1vB,KAAKipB,MAAMwd,YAClB3F,EAAe9gC,KAAKipB,MAAK,WAC3B+X,EAAShhC,KAAKipB,MAAMq2H,YACpB,EAAoBt/I,KAAKiJ,KAAKg4C,eAA5B56C,EAAK,QAAEC,EAAM,SACrBtG,KAAKqG,MAAQA,EACbrG,KAAKsG,OAASA,EAGd,IAFA,IAAI6wB,EAAQ2J,E,WAEH33B,GACP,IAAMxM,EAAIqC,EAAKmK,GAETo/G,EAAar/F,EAAMA,MAAMvsB,EAAEqgG,IAC3BuiD,EAAcpoH,EAAkB,EAAVhoB,KAAKE,GAASk5G,EACpChjD,EAAcpuC,GAASooH,EAAcpoH,GAAS,EACpDA,EAAQooH,EAER,IAAMC,EAAcvhD,EAAYvuE,EAAQ61C,EAAavkC,EA3GrC,GA4GVy+G,EAAkBxhD,EAAYvuE,EAAQ61C,EAAavkC,EA3GrC,IA6GhBxjB,EA5GY,OA6GhB,GAAmC,IAA/B,EAAKoI,QAAQkd,OAAOlkC,OAAc,CACpC,IAAMq/D,EAAa,EAAKr4C,QAAQkd,OAAO,GAEjCwlF,EADa,EAAKr/G,KAAKuf,WAAW,GAAGL,OAAO81C,GACpB/0C,MAAMvsB,EAAEshE,IACtC,GAAIqqD,EAAY,CACd,IAAMo3B,EAAavwI,KAAKwR,MAAM2nG,GAAct9F,EAAOpsB,OAAS,IAC5D4e,EAAQwN,EAAO00H,GAAY7sH,KAAK,SAIpC,IAAMjwB,EAAmB,CACvB+8I,QAASH,EACTI,YAAaH,EACbI,MAAOljJ,EACPqN,EAAGy1I,EAAgBz1I,EACnBvH,EAAGg9I,EAAgBh9I,EACnBtF,EAAG6jC,EA9He,GA+HlBnR,KAAMrS,EACNsiI,UAAW,KACXC,MAAO,MAGLC,EAAQ,GAQZ,GAPA,EAAAx2I,KAAK,EAAKoc,QAAQkd,QAAQ,SAACtgC,GACrB2nG,GAAW3nG,IAAM,EAAAsnG,gBACnBk2C,EAAM18I,KAAK3G,EAAE0iJ,IAEbW,EAAM18I,KAAK3G,EAAE6F,OAGb,EAAKojB,QAAQ8X,UAAW,CAC1B,IAAIuiH,EAAiB,EAAKr6H,QAAQ8X,UAAU/gC,EAAE0iJ,GAAiB,CAAEhrH,QAAS13B,EAAG6gB,MAAK,GAAIrU,GAClF,EAAA0jB,SAASozH,KACXA,EAAY,CAACA,IAEfD,EAAQC,EAEV,IAAMH,EAAY,EAAKh6I,UAAU4jB,SAAS,CACxCgvC,SAAS,EACTvyC,SAAS,IAEL+5H,EAAoB,CACxBl2I,EAAG,EACHvH,EAAG,EACHqtB,SAAU,EAAKlK,QAAQS,KAAKyJ,SAC5B+wD,WAAY,EAAKj7D,QAAQS,KAAKyJ,SAC9BmoF,WAAY,EAAKryF,QAAQS,KAAK4xF,WAC9BpoF,KAAM,EAAKjK,QAAQS,KAAKwJ,MAGtBswH,EAAYxjJ,EAAE0iJ,GACd,EAAKz5H,QAAQ8X,YACfyiH,EAAYH,EAAM,IAEpB,IAAMI,EAAiB,EAAAhuH,MAAM8tH,IACR,IAAjBF,EAAMphJ,SACRwhJ,EAAenoC,WAAa,KAEF6nC,EAAU5sH,SAAS,OAAQ,CACrDb,MAAO,EAAA3D,IACL,CACEsB,aAA+B,IAAjBgwH,EAAMphJ,OAAe,MAAQ,SAC3CynB,KAAM85H,GAERC,GAEFphJ,KAAMrC,EACNywB,QAA0B,IAAjB4yH,EAAMphJ,OA/KA,EA+KgC,EAC/ChC,KAAM,UAEOA,KAAO,QAED,IAAjBojJ,EAAMphJ,UACkBkhJ,EAAU5sH,SAAS,OAAQ,CACnDb,MAAO,EAAA3D,IACL,CACEsB,aAAc,SACd3J,KAAM25H,EAAM,IAEdE,GAEFlhJ,KAAMrC,EACNywB,SA7La,EA8LbxwB,KAAM,UAEKA,KAAO,SAGtBgG,EAAMk9I,UAAYA,EAGdN,EAAYx1I,EAAI0lB,EAAO1lB,GACzBpH,EAAMm9I,MAAQ,OACd,EAAKX,OAAO,GAAG97I,KAAKV,KAEpBA,EAAMm9I,MAAQ,QACd,EAAKX,OAAO,GAAG97I,KAAKV,K,OA5GfuG,EAAM,EAAGA,EAAMnK,EAAKJ,OAAQuK,I,EAA5BA,GAiHT,IAAMk3I,EAAqBlxI,KAAKwR,MAAMra,EAAStG,KAAK4lB,QAAQi7D,YAE5D,EAAAr3E,KAAKxJ,KAAKo/I,QAAQ,SAAC1jH,GACbA,EAAK98B,OAASyhJ,GAChB3kH,EAAK9T,OAAOy4H,EAAoB3kH,EAAK98B,OAASyhJ,GAGhD3kH,EAAKtB,MAAK,SAACj2B,EAAGzE,GACZ,OAAOyE,EAAE1B,EAAI/C,EAAE+C,KAGjB,EAAK47I,eAAe3iH,MAEtB17B,KAAKiJ,KAAKpC,OAAOY,SAGZ,YAAAohB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAA2I,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAKiJ,KAAKpC,OAAOY,QAGZ,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAKiJ,KAAKpC,OAAOY,QAGZ,YAAAL,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGT,YAAAmf,kBAAV,WACE,MAAO,CACLG,KAAM,CACJwJ,KAAM,sBACNC,SAAU,IAEZ/I,KAAM,CACJm1C,UAAW,GACX5rC,OAAQ,uBAEVuwD,WAAY,GAEZy/D,YAAa,KAKT,YAAAjC,eAAR,SAAuB3iH,GAAvB,IAQMr/B,EARN,OACU4sB,EAAUjpB,KAAI,MAChBiwE,EAAehnD,EAAM2L,YACnBlF,EAAWzG,EAAK,OAClB+X,EAAS/X,EAAMsd,YACf06C,EAASvxD,EAAOjtB,EAAIu+B,EAhRJ,GAgRiChhC,KAAK4lB,QAAQi7D,WAChEG,GAAc,EACdu/D,EAAStwE,EAGT5/D,EAAO,EACPD,EAAO4jB,OAAOmtD,UACd09D,EAAgB,EACdz9D,EAAe1lD,EAAKpX,KAAI,SAAC1hB,GAC7B,IAAM49I,EAAS59I,EAAMH,EACjB+9I,EAASnwI,IACXA,EAAOmwI,GAELA,EAASpwI,IACXA,EAAOowI,GAGT,IACMC,EADY79I,EAAMk9I,UACKjyH,UAAUxnB,MAKvC,OAJIo6I,GAAc5B,IAChBA,EAAgB4B,GAGX,CACL51G,KAAM,EAAKjlB,QAAQi7D,WACnBQ,QAAS,CAACm/D,EAASv/D,OAGnB5wE,EAAO4wE,EAASs/D,IAClBA,EAASlwI,EAAO4wE,GAUlB,KAAOD,GAKL,IAJcI,EAPRpzD,SAAQ,SAAC6C,GACb,IAAMjwB,GAAUuO,KAAKsP,IAAIpe,MAAM+P,EAAMygB,EAAIwwD,SAAWlyE,KAAKqP,IAAIne,MAAM+P,EAAMygB,EAAIwwD,UAAY,EACzFxwD,EAAIywD,IAAMnyE,KAAKsP,IAAItP,KAAKqP,IAAIpO,EAAMxP,EAASiwB,EAAIga,KAAO,GAAI01G,EAAS1vH,EAAIga,SAOzEm2C,GAAc,EACd3kF,EAAI+kF,EAAMxiF,OACHvC,KACL,GAAIA,EAAI,EAAG,CACT,IAAMklF,EAAcH,EAAM/kF,EAAI,GACxBw0B,EAAMuwD,EAAM/kF,GACdklF,EAAYD,IAAMC,EAAY12C,KAAOha,EAAIywD,MAE3CC,EAAY12C,MAAQha,EAAIga,KACxB02C,EAAYF,QAAUE,EAAYF,QAAQr9E,OAAO6sB,EAAIwwD,SAGjDE,EAAYD,IAAMC,EAAY12C,KAAO01G,IACvCh/D,EAAYD,IAAMi/D,EAASh/D,EAAY12C,MAEzCu2C,EAAMx5D,OAAOvrB,EAAG,GAChB2kF,GAAc,GAMtB3kF,EAAI,EACJ+kF,EAAMpzD,SAAQ,SAACtuB,GACb,IAAI8hF,EAAoBP,EACxBvhF,EAAE2hF,QAAQrzD,SAAQ,WAChB0N,EAAKr/B,GAAGoG,EAAI/C,EAAE4hF,IAAME,EAAoB,EAAK57D,QAAQi7D,WAAa,EAClEW,GAAqB,EAAK57D,QAAQi7D,WAClCxkF,UAIJ,IAAMqkJ,EAAc,GACpBhlH,EAAK1N,SAAQ,SAACprB,GACZ,IAAMk9I,EAAY,EAAKa,WAAW/9I,GAClC,EAAKg+I,eAAeh+I,EAAOi8I,EAAeiB,GAC1CY,EAAYp9I,KAAKw8I,OAIb,YAAAa,WAAR,SAAmB/9I,GACT,IAAAqmB,EAAUjpB,KAAI,MAChB0vB,EAASzG,EAAMwd,YACfzF,EAAS/X,EAAMsd,YAEb9jC,EAAiBG,EAAK,EAAnBk9I,EAAcl9I,EAAK,UACxBsrD,EAAW4xF,EAAU5iJ,IAAI,YACzB2jJ,EAAwB,SAAhBj+I,EAAMm9I,MAAmB,GAAK,EAEtCG,EAAY,EAAH,UACbnwH,UAA2B,SAAhBntB,EAAMm9I,MAAmB,QAAU,OAC9C/1I,EACkB,SAAhBpH,EAAMm9I,MACFrwH,EAAO1lB,EAAIg3B,EAAShhC,KAAK4lB,QAAQ06H,YACjC5wH,EAAO1lB,EAAIg3B,EAAShhC,KAAK4lB,QAAQ06H,aACpCtgJ,KAAK4lB,QAAQhd,OAelB,OAZI5I,KAAK4lB,QAAQuH,UACf+yH,EAAUl2I,GAAKhK,KAAK4lB,QAAQuH,QAAU0zH,GAGxC3yF,EAASlgC,SAAQ,SAAC5K,GAChB,IAAMgK,EAAUhK,EAAMlmB,IAAI,WACpBs5F,EAAY/zF,EAAI2qB,EACtBhK,EAAMyP,KAAKqtH,GACX98H,EAAMyP,KAAK,IAAK2jE,MAGlBspD,EAAUvuH,OACHuuH,GAGD,YAAAc,eAAR,SAAuBh+I,EAAkBi8I,EAAe/4I,GACtD,IAAM65I,EAAU,CAAC/8I,EAAM+8I,QAAQ31I,EAAGpH,EAAM+8I,QAAQl9I,GAC1Cm9I,EAAc,CAACh9I,EAAMg9I,YAAY51I,EAAGpH,EAAMg9I,YAAYn9I,GACpDA,EAAiBG,EAAK,EAAnBk9I,EAAcl9I,EAAK,UAC9B,GAAKk9I,EAAL,CACA,IAAM5+B,EAAY,CAAiB,SAAhBt+G,EAAMm9I,MAAmBD,EAAUjyH,UAAU1d,KAAO,EAAI2vI,EAAUjyH,UAAU3d,KAAO,EAAGzN,GAErG03B,EAAS,CAACwlH,EAASC,EAAa1+B,GACpC,GAAI0+B,EAAY,KAAOn9I,EAErB,GACGm9I,EAAY,GAAK5/I,KAAKsG,OAAS,GAAKs5I,EAAY,GAAKn9I,GACrDm9I,EAAY,IAAM5/I,KAAKsG,OAAS,GAAKs5I,EAAY,GAAKn9I,EACvD,CAEA,IAAMw3D,EAAS2lF,EACTlG,EAAYx4B,EAAU,GA/Yf,GAgZPy4B,EAAaz4B,EAAU,GAhZhB,GAiZPhnD,EAAS,CAAiB,SAAhBt3D,EAAMm9I,MAAmBrG,EAAYC,EAAYiG,EAAY,IAE7EzlH,EAAS,CAACwlH,EAAS1lF,EAAQC,EAAQgnD,IACd,UAAhBt+G,EAAMm9I,OAAqB7lF,EAAO,GAAKD,EAAO,IAAwB,SAAhBr3D,EAAMm9I,OAAoB7lF,EAAO,GAAKD,EAAO,MACtG9/B,EAAS,CAACwlH,EAAS1lF,EAAQinD,SAG7B/mF,EAAS,CAACwlH,EAAS,CAACC,EAAY,GAAIn9I,GAAIy+G,GAK5C,IADA,IAAM1xF,EAAO,GACJnzB,EAAI,EAAGA,EAAI89B,EAAOv7B,OAAQvC,IAAK,CACtC,IAAM8B,EAAIg8B,EAAO99B,GACbykJ,EAAU,IACJ,IAANzkJ,IACFykJ,EAAU,KAEZtxH,EAAKlsB,KAAK,CAACw9I,EAAS3iJ,EAAE,GAAIA,EAAE,KAE9B2H,EAAUotB,SAAS,OAAQ,CACzBb,MAAO,CACL7C,KAAI,EACJ0sC,UAAWl8D,KAAK4lB,QAAQmB,KAAKm1C,UAC7B5rC,OAAQtwB,KAAK4lB,QAAQmB,KAAKuJ,YAexB,YAAA6uH,eAAR,SAAuBx3I,GACjBA,EAAO0e,KAAKyJ,WACdnoB,EAAOk5E,WAAoC,EAAvBl5E,EAAO0e,KAAKyJ,WAGtC,EA/YA,G,2FCxDA,MAYAtM,cAAc,MAAO,CACnBqkF,YAAa,CACXC,OAAQ,GACRlvB,OAbqB,SAAChwE,GAExB,MAAO,CAAE+6E,YAAuB,IADhB/6E,EAAMuV,SAAW,KAa/B4pF,QATsB,SAACn/F,GAEzB,MAAO,CAAE+6E,YAAuB,IADhB/6E,EAAMuV,SAAW,KAS/Bs8D,SAAU,CAAEve,UAAW,EAAG5rC,OAAQ,a,yFCjBtC,OACA,0BACA,4BAIA,2B,+CAQA,OAR4C,iBAGnC,YAAAtpB,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,iBAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAAkE,UAAoBA,kBAOtG,EARA,CAA4C,W,UAAvB66H,G,yFCNrB,OACA,OAEA,2BACA,QACA,QACA,QACA,OAGA,aACA,yBAoBA,yE,OAGS,EAAAn3I,KAAe,iBACZ,EAAAy/F,eAAwB,G,EAmOpC,OArOU,iBAIM,EAAAnjF,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CW,MAAO,CACLV,SAAS,EACTgiF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLsC,SAAS,EACTgB,QAAS,KAGbC,MAAO,CACLjB,SAAS,EACTgiF,iBAAiB,EACjBrhF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLsC,SAAS,EACTgB,QAAS,KAGbX,QAAS,CACPL,SAAS,EACTO,gBAAgB,EAChBC,WAAY,CACV/c,KAAM,KACNmd,KAAM,CACJne,MAAO,CACL0nB,OAAQ,UACR4rC,UAAW,EACX/9C,QAAS,MAIfy2D,aAAa,GAEfxwD,OAAQ,CACN+B,SAAS,EACTI,SAAU,iBAEZ/I,MAAO,CACL,qBACA,mBACA,mBACA,mBACA,kBACA,kBAEFkI,aAAc,CAAC,CAAE9b,KAAM,eAIpB,YAAAsgB,YAAP,WACElqB,KAAKwpG,uBACL,YAAMt/E,YAAW,YAGZ,YAAA9iB,QAAP,WACE,EAAAoC,KAAKxJ,KAAKqpG,gBAAgB,SAACv0E,GACzBA,EAAU1tB,aAEZ,YAAMA,QAAO,YAGL,YAAA8hB,MAAV,WACE,IAAMnjB,EAAQ/F,KAAK4lB,QACbuC,EAAS,GAEfA,EAAOpiB,EAAM8kB,QAAU,GACnB,EAAAnlB,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM8kB,QAAS9kB,EAAM8gB,OAG3CsB,EAAOpiB,EAAM+kB,QAAU,GACnB,EAAAplB,IAAIK,EAAO,UACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM+kB,QAAS/kB,EAAMqhB,OAE3CpnB,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGH,YAAAD,MAAV,aAIU,YAAA2kE,eAAV,WACE,MAAO,WAGC,YAAAzkE,YAAV,WACE,GAAInpB,KAAK4lB,QAAQ5mB,KAAKJ,OAAS,EAAG,CAChC,IAAM+I,EAAS,CACbiC,KAAM,gBACN2c,SAAU,CACRuc,OAAQ,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,SAE7CtN,MAAO,CACLslB,OAAQ,CAAC9iC,KAAK4lB,QAAQq4C,YACtBv9C,OAAQ1gB,KAAK4lB,QAAQpI,OAEvB/U,IAAK,CACHu4I,UAAWhhJ,KAAK4lB,QAAQo7H,UACxBhgH,OAAQhhC,KAAK4lB,QAAQob,SAIrBhhC,KAAK4lB,QAAQob,SACfr5B,EAAOq5B,OAAShhC,KAAK4lB,QAAQob,QAG3BhhC,KAAK4lB,QAAQo7H,YACfr5I,EAAOq5I,UAAYhhJ,KAAK4lB,QAAQo7H,WAG9BhhJ,KAAK4lB,QAAQY,UAAYxmB,KAAK4lB,QAAQY,QAAQsc,QAAU9iC,KAAK4lB,QAAQY,QAAQkX,YAC/E19B,KAAKkuF,gBAAgBvmF,GAGvB3H,KAAKgsB,UAAU,WAAYrkB,GAE3B3H,KAAK48E,aAIC,YAAAA,SAAV,WACE,IAAM72E,EAAQ/F,KAAK4lB,QACbq7H,EAAgB,CAAE96H,SAAS,EAAO0kB,KAAM,GAC1C9kC,EAAM4qB,OAAS5qB,EAAM4qB,MAAMxK,QAC7BpgB,EAAM4qB,MAAQ,EAAA5mB,QAAQk3I,EAAel7I,EAAM4qB,OAE3C5qB,EAAM4qB,MAAQswH,EAEhB,IAAMtwH,EAAQ,EAAAq9D,QAAQ,QAAS,QAAS,CACtCpnF,KAAM5G,OAER2wB,EAAMioD,QAAS,EAEf54E,KAAKgsB,UAAU,WAAY2E,IAGnB,YAAAs6E,aAAV,WACE,IAAMllG,EAAQ/F,KAAK4lB,QACbhjB,EAAQmD,EAAMnD,MACpB,QAAIA,IAA2B,IAAlBA,EAAMujB,UAGC,EAAA+F,aAAa,QAAS,EAAF,UACtCtlB,KAAM5G,KACN20D,UAAW,eACX7xB,OAAQ,CAAC/8B,EAAM8kB,OAAQ9kB,EAAM+kB,QAC7BvE,SAAU,SACVK,OAAQ,GACLhkB,KAKG,YAAAwhB,OAAV,WACEpkB,KAAKgsB,UAAU,WAAW,IAGlB,YAAAkiE,gBAAV,SAA0BvmF,GACxBA,EAAO6e,QAAU,GACjB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjBn7B,EAAO6e,QAAQsc,OAASxW,EAAewW,QAErCxW,EAAeoR,YACjB/1B,EAAO6e,QAAQ1U,SAAWwa,EAAeoR,UACpCpR,EAAewW,SAClBn7B,EAAO6e,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,QACvD9qB,KAAK4lB,QAAQq4C,YACft2D,EAAO6e,QAAQsc,OAAOx/B,KAAKtD,KAAK4lB,QAAQq4C,eAMtC,YAAA92D,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGV,YAAAqb,qBAAV,sBACE,EAAAhgG,KAAKxJ,KAAKqpG,gBAAgB,SAACv0E,GACzBA,EAAU1tB,aAGZ,EAAAoC,KADuB,CAAC,SAAU,eACb,SAACjM,GACpB,IAAMkL,EAAM,EAAH,UACPQ,KAAM,EAAKA,KACXrC,KAAM,GACH,EAAKgf,QAAQroB,IAEZu3B,EAAY,EAAA20E,kBAAkB,EAAMlsG,EAAGkL,GACzCqsB,IACFA,EAAUxrB,SACV,EAAK+/F,eAAe/lG,KAAKwxB,QAIjC,EAvOA,CAEU,W,YAuOV,EAAA05D,iBAAiB,iBAAkB0yD,I,yFCxQnC,OACA,OACA,wBAOA,cAUE,WAAYz4I,GAAZ,MACE,YAAMA,IAAI,K,OAVI,EAAAmB,KAAe,UAMvB,EAAA8zD,aAAoB,GAK1B,EAAKsjF,UAAYv4I,EAAIu4I,UACrB,EAAKhgH,OAASv4B,EAAIu4B,O,EAkNtB,OA/N4B,iBAgBhB,YAAA+wB,eAAV,SAAyBj+B,GACvB,IAAMrG,EAAQztB,KAAK29D,aAAa7pC,GAKhC,OAJA9zB,KAAK49D,cACL59D,KAAKmhJ,cACLnhJ,KAAK89D,8BAA8B99D,KAAKghC,QACxChhC,KAAK+9D,cAAcjqC,EAAarG,GACzB,MAGF,YAAA5E,MAAP,WACE7oB,KAAKg+D,uBACL,YAAMn1C,MAAK,YAGL,YAAA80C,aAAR,SAAqB3+D,GACnB,IACMi/D,EADYj+D,KAAK09C,aAAa,SACPC,YAAY,GACrCl/B,EAAMlM,IACNiM,GAAOjM,IAaX,OAZAvT,EAAKgvB,SAAQ,SAACkwC,GACZ,IAAM5gE,EAAQ4gE,EAAgB,QAAED,GAC5B3gE,EAAQkhB,IACVA,EAAMlhB,GAEJA,EAAQmhB,IACVA,EAAMnhB,MAGNmhB,IAAQD,IACVC,EAAMD,EAAM,GAEP,CAACC,EAAKD,IAGP,YAAAo/C,YAAR,WACE,IAAI58B,EAAShhC,KAAKghC,OACbhhC,KAAKghC,SACRA,EAAShhC,KAAK0yD,gBAAgB,QACzB,EAAAz+B,SAAS+M,KACZA,EAAShhC,KAAKm+D,kBAEhBn+D,KAAKghC,OAASA,IAIV,YAAAmgH,YAAR,WACE,IAAItjF,EAAO,EAAA3gE,IAAI8C,KAAKkxD,YAAa,CAAC,QAAS,eACtC,EAAAj9B,SAAS4pC,KACZA,EAAO79D,KAAKghC,OAAS,GAEvBhhC,KAAK69D,KAAOA,GAGN,YAAAM,eAAR,WACE,IAAM53C,EAAWvmB,KAAK09C,aAAa,YAC7Bz0B,EAAQjpB,KAAKuoB,WAKnB,OAJepZ,KAAKsP,IAClBwK,EAAM0L,YAAgD,EAAlCpO,EAAS4B,OAAO,GAAG6N,MAAMp3B,QAC7CqqB,EAAM2L,aAAiD,EAAlCrO,EAAS4B,OAAO,GAAG6N,MAAMp3B,UAK1C,YAAA2gE,SAAR,SAAiBO,GAIf,IAHA,IAAMC,EAAY//D,KAAK09C,aAAa,SAC9BsiB,EAASF,EAAI9gE,KACb0+D,EAAe19D,KAAK09D,aACjBrhE,EAAI,EAAGA,EAAI2jE,EAAOphE,OAAQvC,GAAK,EAAG,CACzC,IAAM8iE,EAAQa,EAAO3jE,GACrB,GAAI8iE,EAAO,CACT,IAAIc,OAAO,EACPvC,EAAayB,GACfc,EAAUvC,EAAayB,IAEvBc,EAAUmhF,EAAUtjH,QAAQiiC,EAAUG,SAASf,EAAQ,MACvDzB,EAAayB,GAASc,GAGxBD,EAAO3jE,EAAI,GAAK4jE,EAAQ,GACxBD,EAAO3jE,EAAI,GAAK4jE,EAAQ,GACxBD,EAAO3jE,EAAI,GAAK4jE,EAAQ,GACxBD,EAAO3jE,GAAK8iE,KAKV,YAAArB,8BAAR,SAAsC3gE,GACpC,IAAIkkJ,EAAerhJ,KAAKshJ,gBACnBD,IACHA,EAAep7I,SAASymB,cAAc,UACtC1sB,KAAKshJ,gBAAkBD,GAEzB,IAAML,EAAYhhJ,KAAKghJ,UAAYhhJ,KAAKghJ,UAAY,EAC9CO,EAAgBpyI,KAAKI,MAAM,EAAMJ,KAAK+lB,IAjHnC,EAAM,IAAQ,GAiHgC/3B,EAAI6jJ,EAlH5C,oBAkHuE,EAAO7jJ,EACvF0gE,EAAO0jF,EAAepkJ,EACtBmhE,EAAKijF,EAAe1jF,EACpBU,EAAM8iF,EAAa7iF,WAAW,MACpC6iF,EAAah7I,MAAQg7I,EAAa/6I,OAAc,EAALg4D,EAC3CC,EAAIE,UAAU,EAAG,EAAG4iF,EAAah7I,MAAOg7I,EAAa/6I,QACrDi4D,EAAIG,cAAgBH,EAAII,cAAqB,EAALL,EACxCC,EAAIK,WAAaf,EACjBU,EAAIM,YAAc,QAElBN,EAAIO,YACJP,EAAIQ,KAAKT,GAAKA,EAAInhE,EAAG,EAAa,EAAVgS,KAAKE,IAAQ,GACrCkvD,EAAIS,YACJT,EAAI1uC,QAGE,YAAAuvC,2BAAR,SAAmCp1D,EAAGvH,EAAGtF,EAAGgiE,EAAOZ,GACjD,IAAM8iF,EAAerhJ,KAAKshJ,gBAC1B/iF,EAAIqB,YAAcT,EAClBZ,EAAIsB,UAAUwhF,EAAcr3I,EAAI7M,EAAGsF,EAAItF,IAGjC,YAAA+hE,mBAAR,WACE,IAAIr4D,EAAS7G,KAAK2/D,aACb94D,IACHA,EAASZ,SAASymB,cAAc,UAChC1sB,KAAK2/D,aAAe94D,GAEtBA,EAAOR,MAAQrG,KAAKuoB,WAAWoM,WAC/B9tB,EAAOP,OAAStG,KAAKuoB,WAAWqM,YAChC,IAAMiP,EAAUh9B,EAAO23D,WAAW,MAElC,OADA36B,EAAQ29G,yBAA2B,UAC5B39G,GAGD,YAAAm6B,qBAAR,WACE,IAAMO,EAAMv+D,KAAKk/D,qBACjBX,EAAIE,UAAU,EAAG,EAAGF,EAAI13D,OAAOR,MAAOk4D,EAAI13D,OAAOP,SAG3C,YAAAo5D,cAAR,WACE,IAAID,EAAaz/D,KAAKy/D,WACtB,GAAIA,EACF,OAAOA,EAGTA,EADkBz/D,KAAK8F,UACAotB,SAAS,CAC9BtpB,KAAM,QACNyoB,MAAO,KAETryB,KAAKy/D,WAAaA,GAGZ,YAAA1B,cAAR,SAAsB/+D,EAAMyuB,GAEpB,MAAiBztB,KAAKuoB,WAApBnI,EAAK,QAAEC,EAAG,MACZha,EAAQrG,KAAKuoB,WAAWoM,WACxBruB,EAAStG,KAAKuoB,WAAWqM,YAIzBqqC,EADYj/D,KAAK09C,aAAa,SACPC,YAAY,GAGzC39C,KAAKg+D,uBACL,IAAMO,EAAMv+D,KAAKk/D,qBAEbzxC,IACFzuB,EAAOA,EAAKi9B,QAAO,SAACiiC,GAClB,OAAOA,EAAgB,QAAEe,IAAexxC,EAAM,IAAMywC,EAAgB,QAAEe,IAAexxC,EAAM,OAM/F,IADA,IAAMvE,EAAQlpB,KAAKmoB,OAAO82C,GACjB5iE,EAAI,EAAGA,EAAI2C,EAAKJ,OAAQvC,IAAK,CACpC,IAAM4C,EAAMD,EAAK3C,GACXoM,EAAMzI,KAAKk0D,WAAWj1D,GACtBkgE,EAAQj2C,EAAMA,MAAMjqB,EAAgB,QAAEggE,IAE5Cj/D,KAAKo/D,2BAA2B32D,EAAIuB,EAAIoW,EAAMpW,EAAGvB,EAAIhG,EAAI4d,EAAI5d,EAAGzC,KAAKghC,OAAShhC,KAAK69D,KAAMsB,EAAOZ,GAIlG,IAAMc,EAAUd,EAAIe,aAAa,EAAG,EAAGj5D,EAAOC,GAC9CtG,KAAKg+D,uBACLh+D,KAAKu/D,SAASF,GACdd,EAAIiB,aAAaH,EAAS,EAAG,IACf,IAAIoiF,OACZ/5H,IAAM62C,EAAI13D,OAAO66I,UAAU,aACjC1hJ,KAAK0/D,gBACL1/D,KAAKy/D,WAAW5sC,KAAK,IAAKzS,EAAMpW,GAChChK,KAAKy/D,WAAW5sC,KAAK,IAAKxS,EAAI5d,GAC9BzC,KAAKy/D,WAAW5sC,KAAK,QAASxsB,GAC9BrG,KAAKy/D,WAAW5sC,KAAK,SAAUvsB,GAC/BtG,KAAKy/D,WAAW5sC,KAAK,MAAO0rC,EAAI13D,QAChC7G,KAAKy/D,WAAW75D,IAAI,SAAU5F,KAAK88D,aAAa99D,KAG1C,YAAA89D,aAAR,SAAqBhpC,GACnB,IAAMmgC,EAAWj0D,KAAKk0D,WAAWpgC,EAAY,IAE7C,OAAO,EAAP,uBACKmgC,GAAQ,CACXngC,YAAW,EACX90B,KAAMgB,KAAKsI,QAAQwrB,MAIf,YAAAxrB,QAAR,SAAgBwrB,GACd,OAAOA,EAAYxP,KAAI,SAACrlB,GACtB,OAAOA,EAAgB,YAG7B,EA/NA,CAA4B,EAAAmN,UAiO5B,EAAAD,iBAAiB,gBAAiBw1I,I,oHC1OlC,4BACA,4BAEMpI,EAAiB,CACrB9xF,WAAY,CAAE6qF,IAAK,WACnBluH,OAAQ,CAAEkuH,IAAK,UAAehsH,QAAS,UAGzC,6BAAkC1f,EAAMgD,EAAMnB,GAC5C,GAAI7B,EAAKgf,QAAQhc,IAAShD,EAAKgf,QAAQhc,GAAMuc,QAAS,CACpD,IAAMqzH,EAAgBD,EAAe3vI,GAC/BkrB,EAAY,IAAI0kH,EAAclH,IAAI7pI,GAIxC,OAHI+wI,EAAclzH,SAChB1f,EAAKmf,kBAAkB6I,gBAAgBkG,EAAW0kH,EAAclzH,SAE3DwO,K,yFCfX,OAiBA,cASE,WAAYrsB,GAAZ,MACE,cAAO,K,OACP,EAAKmd,QAAUnd,EACf,EAAKQ,KAAO,EAAK2c,QAAQ3c,KACzB,EAAKgf,O,EA+ET,OA5F+C,iBAgBtC,YAAAA,KAAP,WACE,IAAMgB,EAAQjpB,KAAK0xB,gBACnB1xB,KAAKqG,MAAQ4iB,EAAM0L,WACnB30B,KAAKsG,OAAS2iB,EAAM2L,YACpB50B,KAAKgK,EAAIif,EAAM7I,MAAMpW,EACrBhK,KAAKyC,EAAIwmB,EAAM5I,IAAI5d,EACnBzC,KAAK8F,UAAY9F,KAAKiJ,KAAKwgB,gBAAgBC,SAAS,KAG/C,YAAApgB,OAAP,WACE,GAA0B,UAAtBtJ,KAAK4lB,QAAQhc,KACf5J,KAAK4hJ,6BACA,GAA0B,UAAtB5hJ,KAAK4lB,QAAQhc,KACtB5J,KAAK6hJ,6BACA,GAAI7hJ,KAAK4lB,QAAQ9T,SAAU,CAChC,IAAMwoD,EAAc,CAClBtwD,EAAGhK,KAAKgK,EACRvH,EAAGzC,KAAKyC,EACR4D,MAAOrG,KAAKqG,MACZC,OAAQtG,KAAKsG,OACbR,UAAW9F,KAAK8F,WAElB9F,KAAK4lB,QAAQ9T,SAASwoD,KAInB,YAAAsnF,sBAAP,WACE5hJ,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,CACLroB,EAAGhK,KAAKgK,EACRvH,EAAGzC,KAAKyC,EACR4D,MAAOrG,KAAKqG,MACZC,OAAQtG,KAAKsG,OACbupB,KAAM7vB,KAAK4lB,QAAQtoB,OAErBV,KAAM,wBAIH,YAAAilJ,sBAAP,WACE7hJ,KAAK8F,UAAUotB,SAAS,QAAS,CAC/Bb,MAAO,CACLroB,EAAGhK,KAAKgK,EACRvH,EAAGzC,KAAKyC,EACR4D,MAAOrG,KAAKqG,MACZC,OAAQtG,KAAKsG,OACbw5D,IAAK9/D,KAAK4lB,QAAQ8B,KAEpB9qB,KAAM,wBAIH,YAAAisB,MAAP,WACM7oB,KAAK8F,YACP9F,KAAK8F,UAAU+iB,QACf7oB,KAAK8nB,KAAK,sBAIP,YAAA1gB,QAAP,WACMpH,KAAK8F,YACP9F,KAAK8F,UAAUgF,SAEf9K,KAAK8nB,KAAK,wBAIN,YAAA4J,cAAR,WACE,IAAInJ,EAMJ,OALA,EAAA/e,KAAKxJ,KAAKiJ,KAAKuf,YAAY,SAACyC,GACR,YAAdA,EAAKrhB,OACP2e,EAAa0C,EAAK1C,eAGfA,GAEX,EA5FA,CAfA,yBAe+C,S,sGCjB/C,OAEA,2BAyBA,aAeE,WAAY9f,GAXL,KAAA1B,WAAqB,EAQlB,KAAA+6I,WAAkB,GAI1B,IAAIx6H,EAAiBtnB,KAAKkmB,oBACtBzd,EAAI7B,KAAKgf,QAAQnf,OAAoC,SAA3BgC,EAAI7B,KAAKgf,QAAQnf,QAC7C6gB,EAAiBtnB,KAAK+hJ,kBAExB/hJ,KAAK4lB,QAAU,EAAA7b,QAAQ,GAAIud,EAAgB7e,GAC3CzI,KAAKiJ,KAAOjJ,KAAK4lB,QAAQ3c,KACzBjJ,KAAKkqB,aAAc,EACnBlqB,KAAKioB,OAkYT,OA/XS,YAAAA,KAAP,WACEjoB,KAAKohD,OAASphD,KAAKgiJ,YACnBhiJ,KAAKqG,MAAQrG,KAAK4lB,QAAQvf,MAAQrG,KAAK4lB,QAAQvf,MAAQrG,KAAKiiJ,kBAC5DjiJ,KAAKsG,OAAStG,KAAK4lB,QAAQtf,OAAStG,KAAK4lB,QAAQtf,OAAStG,KAAKkiJ,mBAC/D,IAAMC,EAAgBniJ,KAAK4lB,QAAQhf,KAAKd,UACxC9F,KAAK8F,UAAYq8I,EAAcz4H,YAG1B,YAAApgB,OAAP,WACE,IAAM6e,EAASnoB,KAAKoiJ,YACdnkF,EAAaj+D,KAAK4lB,QAAQhf,KAAKgf,QAAQq4C,WAC7Cj+D,KAAKqiJ,WAAal6H,EAAO81C,GACnB,MAAej+D,KAAKqiJ,WAAlB5jI,EAAG,MAAED,EAAG,MACRhB,EAAUxd,KAAK4lB,QAAQhf,KAAKgf,QAAO,MACvB,eAAhB5lB,KAAKohD,OACPphD,KAAKsiJ,iBAAiB7jI,EAAKD,EAAKhB,GAEhCxd,KAAKuiJ,eAAe9jI,EAAKD,EAAKhB,GAEhCxd,KAAKwiJ,eACLxiJ,KAAKyiJ,iBACLziJ,KAAK4lB,QAAQhf,KAAKC,OAAOY,QAGpB,YAAA+pB,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4lB,QAAQhf,KAAKC,OAAOY,QAGpB,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4lB,QAAQhf,KAAKC,OAAOY,QAGpB,YAAAohB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGZ,YAAA8mB,QAAP,WACE,IAAM60H,EAAc1iJ,KAAK8F,UAAU+nB,UACnC,OAAO,IAAI,UAAK7tB,KAAKgK,EAAGhK,KAAKyC,EAAGigJ,EAAYr8I,MAAOq8I,EAAYp8I,SAGvD,YAAAi8I,eAAV,SAAyB9jI,EAAKD,EAAKiC,GAAnC,WACQkiI,EAAY3iJ,KAAKqG,MACjBu8I,EAAa5iJ,KAAKsG,OAASma,EAAO7hB,OAClCikJ,EAAoB7iJ,KAAK8F,UAAU4jB,WACnCo5H,EAAa,EAAA1wH,MAAM3R,GAAQw8C,UAC3B8lF,GAAavkI,EAAMC,GAAOgC,EAAO7hB,OAEvC,EAAA4K,KAAKs5I,GAAY,SAACpmJ,EAAGL,GACnB,IAAMoG,EAAImgJ,EAAavmJ,EAEjB2mJ,EAAa,CAAE3kH,GAAI7f,EAAMukI,EAAY1mJ,EAAG+hC,KAAM5f,EAAMukI,GAAa1mJ,EAAI,IAC9D,EAAKyJ,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,CACLroB,EAAG,EACHvH,EAAC,EACD4D,MAAOs8I,EACPr8I,OAAQs8I,EACR/yH,KAAMnzB,EACNyhB,QArHa,EAsHb4+D,OAAQ,WAEVngF,KAAM,WAEHgJ,IAAI,OAAQo9I,GACjB,IAAMC,EAAY,EAAKC,aAAaF,GACpC,EAAKlB,WAAckB,EAAW5kH,KAAI,IAAI4kH,EAAW3kH,IAAQ,CAAE7gC,KAAM,SAAUwB,KAAMikJ,GACjFJ,EAAkB3vH,SAAS,OAAQ,CACjCb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAK,EAAG/sB,EAAImgJ,GACb,CAAC,IAAKD,EAAWlgJ,EAAImgJ,KAEpB,EAAKh9H,QAAQu9H,oBAKtBnjJ,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,UACHhM,KAAM7H,EACNxU,EAAG24I,EAAY,EACflgJ,GA7Ia,EA8IbstB,UAAW,SACXC,aAAc,UACXhwB,KAAK4lB,QAAQS,KAAKzd,OAEvBhM,KAAM,iBAERoD,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,qBACHhM,KAAM5H,EACNzU,EAAG24I,EAAY,EACflgJ,EAAGzC,KAAKsG,OAxJK,EAyJbypB,UAAW,SACXC,aAAc,OACXhwB,KAAK4lB,QAAQS,KAAKzd,OAAK,CAC1BhM,KAAM,mBAIVimJ,EAAkB3vH,SAAS,OAAQ,CACjCb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAK,EAAG,GACT,CAAC,IAAKxvB,KAAKqG,MAAO,GAClB,CAAC,IAAKrG,KAAKqG,MAAOrG,KAAKsG,QACvB,CAAC,IAAK,EAAGtG,KAAKsG,QACd,CAAC,IAAK,EAAG,KAERtG,KAAK4lB,QAAQu9H,kBAKZ,YAAAb,iBAAV,SAA2B7jI,EAAKD,EAAKiC,GAArC,WACQkiI,EAAY3iJ,KAAKqG,MAAQoa,EAAO7hB,OAChCgkJ,EAAa5iJ,KAAKsG,OAClBu8I,EAAoB7iJ,KAAK8F,UAAU4jB,WACnCq5H,GAAavkI,EAAMC,GAAOgC,EAAO7hB,OAEvC,EAAA4K,KAAKiX,GAAQ,SAAC/jB,EAAGL,GACf,IAAM2N,EAAI24I,EAAYtmJ,EAEhB2mJ,EAAa,CAAE5kH,KAAM2kH,EAAY1mJ,EAAGgiC,GAAI0kH,GAAa1mJ,EAAI,IAClD,EAAKyJ,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,CACLroB,EAAC,EACDvH,EAAG,EACH4D,MAAOs8I,EACPr8I,OAAQs8I,EACR/yH,KAAMnzB,EACNyhB,QAAS,GACT4+D,OAAQ,WAEVngF,KAAM,WAEHgJ,IAAI,OAAQo9I,GACjBH,EAAkB3vH,SAAS,OAAQ,CACjCb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAKxlB,EAAI24I,EAAW,GACrB,CAAC,IAAK34I,EAAI24I,EAAWC,KAEpB,EAAKh9H,QAAQu9H,oBAKtBnjJ,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,qBACHhM,KAAM5H,EACNzU,GAnNa,EAoNbvH,EAAGmgJ,EAAa,GACb5iJ,KAAK4lB,QAAQS,KAAKzd,OAAK,CAC1BmnB,UAAW,QACXC,aAAc,WAEhBpzB,KAAM,iBAERoD,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,UACHhM,KAAM7H,EACNxU,EAAGhK,KAAKqG,MA9NK,EA+Nb5D,EAAGmgJ,EAAa,EAChB7yH,UAAW,OACXC,aAAc,UACXhwB,KAAK4lB,QAAQS,KAAKzd,OAEvBhM,KAAM,iBAGRimJ,EAAkB3vH,SAAS,OAAQ,CACjCb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAK,EAAG,GACT,CAAC,IAAKxvB,KAAKqG,MAAO,GAClB,CAAC,IAAKrG,KAAKqG,MAAOrG,KAAKsG,QACvB,CAAC,IAAK,EAAGtG,KAAKsG,QACd,CAAC,IAAK,EAAG,KAERtG,KAAK4lB,QAAQu9H,kBAKZ,YAAAnB,UAAV,WACE,IAAMtb,EAAY1mI,KAAK4lB,QAAQW,SAAS0G,MAAM,KAE9C,OADAjtB,KAAKumB,SAAWmgH,EAAU,GACL,SAAjBA,EAAU,IAAkC,UAAjBA,EAAU,GAChC,WAEF,cAGC,YAAAub,gBAAV,WACE,MAAoB,eAAhBjiJ,KAAKohD,OAEQ,GADGphD,KAAK4lB,QAAQhf,KAAKgf,QAAO,MAGtC,IAGC,YAAAs8H,iBAAV,WACE,MAAoB,aAAhBliJ,KAAKohD,OAES,GADGphD,KAAK4lB,QAAQhf,KAAKgf,QAAO,OAGvC,IAGC,YAAA48H,aAAV,sBACUjpC,EAAav5G,KAAK4lB,QAAQhf,KAAKyB,eAAc,SACjD,EAAA+Z,QAAQm3F,IACV,EAAA/vG,KAAK+vG,GAAU,SAACpD,EAAIz3G,GACa,mBAApB66G,EAAS76G,KAClB66G,EAAS76G,GAAS66G,EAAS76G,GAAO,EAAKknB,QAAQhf,KAAKgf,aAI1D,IAAML,EAAOvlB,KAAK8F,UAAU+nB,UACxB7jB,EAAI,EACJvH,EAAI,EACFikI,EAAY1mI,KAAK4lB,QAAQW,SAAS0G,MAAM,KACxCm2H,EAAYpjJ,KAAK4lB,QAAQhf,KAAKP,MAC9Bg9I,EAAarjJ,KAAK4lB,QAAQhf,KAAKN,OAEhB,SAAjBogI,EAAU,GACZ18H,EAAIuvG,EAAS,GACa,UAAjBmtB,EAAU,GACnB18H,EAAIo5I,EAAY7pC,EAAS,GAAKh0F,EAAKlf,MACT,WAAjBqgI,EAAU,GACnB18H,GAAKo5I,EAAY79H,EAAKlf,OAAS,EACL,SAAjBqgI,EAAU,GACnB18H,EAAIuvG,EAAS,GACa,UAAjBmtB,EAAU,KACnB18H,EAAIhK,KAAK4lB,QAAQhf,KAAKP,MAAQkzG,EAAS,GAAKh0F,EAAKlf,OAG9B,WAAjBqgI,EAAU,GACZjkI,EAAI4gJ,EAAa9pC,EAAS,GAAKh0F,EAAKjf,OACV,QAAjBogI,EAAU,GACnBjkI,EAAIzC,KAAKsjJ,eAAe/pC,GACE,WAAjBmtB,EAAU,GACnBjkI,GAAK4gJ,EAAa99H,EAAKjf,QAAU,EACP,QAAjBogI,EAAU,GACnBjkI,EAAI82G,EAAS,GACa,WAAjBmtB,EAAU,KACnBjkI,EAAI4gJ,EAAa9pC,EAAS,GAAKh0F,EAAKjf,QAGtCtG,KAAKgK,EAAIA,EACThK,KAAKyC,EAAIA,EAETzC,KAAK8F,UAAU01C,UAAUxxC,EAAGvH,IAGpB,YAAAyjB,kBAAV,WACE,MAAO,CACLG,KAAM,CACJzd,MAAO,CACLknB,SAAU,GACVD,KAAM,wBAGVszH,cAAe,CACbjnF,UAAW,EACX5rC,OAAQ,yBAKJ,YAAAyxH,eAAV,WACE,MAAO,CACL17H,KAAM,CACJzd,MAAO,CACLknB,SAAU,GACVD,KAAM,8BAGVszH,cAAe,CACbjnF,UAAW,EACX5rC,OAAQ,+BAKJ,YAAAmyH,eAAV,sBACUxkF,EAAej+D,KAAK4lB,QAAQhf,KAAKgf,QAAO,WAChD5lB,KAAK8F,UAAU2E,GAAG,SAAS,SAACqa,GAClB,IAAAlkB,EAAWkkB,EAAE,OACrB,GAA2B,WAAvBlkB,EAAO1D,IAAI,QAAsB,CACnC,IAAM8lJ,EAAapiJ,EAAO1D,IAAI,QACxBqmJ,EAAgBP,EAAW5kH,KAAI,IAAI4kH,EAAW3kH,GAC9CmlH,EAAe,EAAK1B,WAAWyB,GACX,WAAtBC,EAAahmJ,MACfgmJ,EAAahmJ,KAAO,WACpBoD,EAAOgyB,cACPhyB,EAAO+nB,QACL,CACExK,QArWW,IAuWb,OAGFqlI,EAAahmJ,KAAO,SACpBoD,EAAOgyB,cACPhyB,EAAO+nB,QACL,CACExK,QA/WS,GAiXX,MAGJ,IAAM8lC,EAAe,EAAKw/F,kBACtBx/F,EAAarlD,OAAS,IACxB,EAAKqK,KAAKlB,WAAWk8C,GAErB,EAAKh7C,KAAKigB,MAAM+0C,EAAY,CAC1Bx/C,IAAK,EAAK4jI,WAAW5jI,IACrBD,IAAK,EAAK6jI,WAAW7jI,IACrBif,KAAM,EAAK4kH,WAAW5kH,OAExB,EAAKx0B,KAAKK,eAMR,YAAAm6I,gBAAV,WACE,IAAMx/F,EAAe,GAMrB,OALA,EAAAz6C,KAAKxJ,KAAK8hJ,YAAY,SAAC1jJ,GACP,UAAVA,EAAEZ,MACJymD,EAAa3gD,KAAI,MAAjB2gD,EAAqB7lD,EAAEY,SAGpBilD,GAIC,YAAAi/F,aAAV,SAAuBz1H,GACrB,IAAMi2H,EAAQ,GACR,EAAuB1jJ,KAAK4lB,QAAQhf,KAAKgf,QAAvCq4C,EAAU,aAAEj/D,EAAI,OAOxB,OANA,EAAAwK,KAAKxK,GAAM,SAACrC,GACV,IAAMW,EAAQX,EAAEshE,GACZ3gE,GAASmwB,EAAM2Q,MAAQ9gC,EAAQmwB,EAAM4Q,IACvCqlH,EAAMpgJ,KAAK3G,MAGR+mJ,GAGD,YAAAJ,eAAR,SAAuB/pC,GACrB,OAAIv5G,KAAK4lB,QAAQhf,KAAKkd,YACP9jB,KAAK4lB,QAAQhf,KAAKkd,YAAY+J,UAC/Bxd,KAAO,GACVrQ,KAAK4lB,QAAQhf,KAAKid,MACd7jB,KAAK4lB,QAAQhf,KAAKid,MAAMgK,UACzBxd,KAAO,GAEdkpG,EAAS,IAGV,YAAA6oC,UAAR,WACE,IAAIj6H,EAMJ,OALA,EAAA3e,KAAKxJ,KAAKiJ,KAAKuf,YAAY,SAACyC,GACR,YAAdA,EAAKrhB,OACPue,EAAS8C,EAAK9C,WAGXA,GAEX,EAzZA,G,wHC3BA,WACA,QAYS,yEAZa,EAAAjE,aAYF,uEAZwB,EAAAW,WAE5C,IAMMs/F,EAA6B,EAAAvgG,YANd,CACnB+/H,QAAS,UACTC,YAAa,eACbC,kBAAmB,uBAKrB,EAAA1jJ,OAAO,EAAA+jB,UAAWigG,I,yFCXlB,OACA,0BACA,4BAIA,2B,+CA4BA,OA5BqC,iBAG5B,YAAAn9G,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,UAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAAuX,YAAP,SAAmBl6I,GACE5J,KAAK8G,OAAO,GACzBg9I,YAAYl6I,IAGb,YAAAm6I,YAAP,SAAmB97I,GACEjI,KAAK8G,OAAO,GACzBi9I,YAAY97I,IAGb,YAAA+7I,mBAAP,WACqBhkJ,KAAK8G,OAAO,GACzBk9I,sBAGD,YAAAC,aAAP,WAEE,OADmBjkJ,KAAK8G,OAAO,GAClBm9I,gBAzBD,EAAA/9H,kBAA2D,UAAaA,kBA2BxF,EA5BA,CAAqC,W,UAAhBg+H,G,yFCNrB,OACA,QACA,OAEA,2BAEA,SACA,SAeA,yE,OA6DS,EAAAt6I,KAAe,UACZ,EAAAu6I,SAAqB,GACrB,EAAA96C,eAAwB,G,EAgXpC,OA/a6F,iBAC7E,EAAAnjF,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CkmC,UAAW,OACXhoC,OAAQ,CACN+B,SAAS,EACTI,SAAU,gBAEZC,QAAS,CACPC,QAAQ,EACRC,gBAAgB,EAChBkuD,aAAa,GAEf/tD,MAAO,CACLV,SAAS,EACTi+H,UAAW,SACXt9H,KAAM,CACJX,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,IAGhBG,MAAO,CACLjB,SAAS,EACTi+H,UAAW,SACXt9H,KAAM,CACJX,SAAS,EACTg0C,MAAO,UAETnzC,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLskB,UAAU,EACVD,YAAY,IAGhBzJ,MAAO,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,WAC/D5a,MAAO,CACLujB,SAAS,EACTqnE,aAAa,EACb4I,gBAAgB,EAChBxvE,OAAQ,EACRhe,MAAO,CACL0nB,OAAQ,sBACR4rC,UAAW,IAGfx2C,aAAc,CAAC,CAAE9b,KAAM,eAQpB,YAAAsgB,YAAP,WACElqB,KAAKwpG,uBACL,YAAMt/E,YAAW,YAGZ,YAAA45H,YAAP,SAAmBl6I,GACjB,GAAI5J,KAAK4lB,QAAQwmC,YAAcxiD,EAI/B,GADA5J,KAAK4lB,QAAQwmC,UAAYxiD,EACZ,SAATA,EAAiB,CACnB,IAAMohB,EAAShrB,KAAK8uD,WACpB9uD,KAAKqkJ,aAAar5H,QACb,GAAa,WAATphB,EAAmB,CACtBohB,EAAShrB,KAAK8uD,WACpB9uD,KAAKskJ,aAAat5H,KAIf,YAAA+4H,YAAP,SAAmB97I,GACjB,IAAIjI,KAAK4lB,QAAQwnH,WAAaptI,KAAK4lB,QAAQwnH,YAAcnlI,EAAzD,CAGAjI,KAAK4lB,QAAQwnH,UAAYnlI,EAEzB,IAAMyY,EAAS,EAAAwiG,YAAYljH,KAAK4lB,QAAQ5mB,KAAMiJ,GACxCwW,EAAMtP,KAAKsP,IAAG,MAARtP,KAAYuR,GAClBlC,EAAMrP,KAAKqP,IAAG,MAARrP,KAAYuR,GAElBwI,EAAQ,IADM,EAAAqzB,SAAS,UACf,CAAgB,CAC5B99B,IAAG,EACHD,IAAG,IAECwM,EAAShrB,KAAK8uD,WACW,SAA3B9uD,KAAK4lB,QAAQwmC,UACfpsD,KAAKukJ,gBAAgBv5H,EAAQ9B,EAAOjhB,GACA,WAA3BjI,KAAK4lB,QAAQwmC,WACtBpsD,KAAKwkJ,kBAAkBx5H,EAAQ9B,EAAOjhB,KAInC,YAAA+7I,mBAAP,WACE,IAAMh5H,EAAShrB,KAAK8uD,WACW,SAA3B9uD,KAAK4lB,QAAQwmC,UACfpsD,KAAKykJ,uBAAuBz5H,GACQ,WAA3BhrB,KAAK4lB,QAAQwmC,WACtBpsD,KAAK0kJ,yBAAyB15H,IAI3B,YAAA5jB,QAAP,WACE,EAAAoC,KAAKxJ,KAAKqpG,gBAAgB,SAACv0E,GACzBA,EAAU1tB,aAEZ,YAAMA,QAAO,YAGR,YAAA68I,aAAP,WACU,IAAA7W,EAAcptI,KAAK4lB,QAAO,UAC9BwnH,GACFptI,KAAKiJ,KAAKjB,gBAAgBolI,IAIpB,YAAAx/C,eAAV,WACE,MAAO,IAGC,YAAA3kE,MAAV,aAIU,YAAA7E,OAAV,WACEpkB,KAAKgsB,UAAU,WAAW,IAGlB,YAAA7C,YAAV,WAEE,IAAIw7H,GADJ3kJ,KAAKmkJ,SAAWnkJ,KAAK4kJ,cAEU,SAA3B5kJ,KAAK4lB,QAAQwmC,WACfu4F,EAAa3kJ,KAAK6kJ,UAGlBF,EADe3kJ,KAAK8kJ,YAGtB,GAAI9kJ,KAAK4lB,QAAQkoC,WAAY,CAC3B,IAAMi3F,EAAmB,GACrB,EAAAz6I,WAAWtK,KAAK4lB,QAAQkoC,aAC1Bi3F,EAAYjiH,OAAS,CACnB9iC,KAAK4lB,QAAQq4C,WACbj+D,KAAK4lB,QAAQiF,OACb7qB,KAAK4lB,QAAQkF,OACb9qB,KAAK4lB,QAAQwnH,WAEf2X,EAAYjzI,SAAW9R,KAAK4lB,QAAQkoC,YAC3B,EAAAu+C,SAASrsG,KAAK4lB,QAAQkoC,cAC/Bi3F,EAAYt8I,IAAMzI,KAAK4lB,QAAQkoC,YAEjC62F,EAAW/7I,MAAQm8I,EAEjB/kJ,KAAK4lB,QAAQY,UAAYxmB,KAAK4lB,QAAQY,QAAQsc,QAAU9iC,KAAK4lB,QAAQY,QAAQkX,YAC/E19B,KAAKkuF,gBAAgBy2D,GAGvB3kJ,KAAKgsB,UAAU,WAAY24H,IAGnB,YAAAE,QAAV,WAEE,IAAMh6G,EAAO,CAAC,GAAK,IACf7qC,KAAK4lB,QAAQo/H,YACfn6G,EAAK,GAAK7qC,KAAK4lB,QAAQo/H,UAAU,GAAKhlJ,KAAKmkJ,SAAS,GACpDt5G,EAAK,GAAK7qC,KAAK4lB,QAAQo/H,UAAU,GAAKhlJ,KAAKmkJ,SAAS,IAEtD,IAAM55B,EAAY,CAChB3gH,KAAM,UACN2c,SAAU,CACRuc,OAAQ,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,SAE7CtN,MAAO,CACLslB,OAAQ,CAAC9iC,KAAK4lB,QAAQq4C,YACtBv9C,OAAQ1gB,KAAK4lB,QAAQpI,OAEvBjN,MAAO,CACLmQ,OAAQ,CAAC,SAEX9d,OAAO,GAYT,OAVI5C,KAAK4lB,QAAQwnH,UACf7iB,EAAK1/E,KAAO,CACV/H,OAAQ,CAAC9iC,KAAK4lB,QAAQwnH,WACtB1sH,OAAQmqB,GAGV0/E,EAAK1/E,KAAO,CACVnqB,OAAQ,CAAC,IAGN6pG,GAGC,YAAAu6B,UAAV,WACE,IAAIj6G,EAAO,CAAC,GAAK,IACb7qC,KAAK4lB,QAAQo/H,UACfn6G,EAAO7qC,KAAK4lB,QAAQo/H,WAEpBn6G,EAAK,GAAK7qC,KAAKmkJ,SAAS,GAAKt5G,EAAK,GAAK,GACvCA,EAAK,GAAK7qC,KAAKmkJ,SAAS,GAAKt5G,EAAK,GAAK,IAEzC,IAAMynE,EAAc,CAClB1oG,KAAM,QACN2c,SAAU,CACRuc,OAAQ,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,SAE7CtN,MAAO,CACLslB,OAAQ,CAAC9iC,KAAK4lB,QAAQq4C,YACtBv9C,OAAQ1gB,KAAK4lB,QAAQpI,OAEvBjN,MAAO,CACLmQ,OAAQ,CAAC,eAEX9d,OAAO,GAYT,OAVI5C,KAAK4lB,QAAQwnH,UACf96B,EAAOznE,KAAO,CACZ/H,OAAQ,CAAC9iC,KAAK4lB,QAAQwnH,WACtB1sH,OAAQmqB,GAGVynE,EAAOznE,KAAO,CACZnqB,OAAQ,CAAgD,GAA/CvR,KAAKsP,IAAIze,KAAKmkJ,SAAS,GAAInkJ,KAAKmkJ,SAAS,IAAY,KAG3D7xC,GAGC,YAAApkB,gBAAV,SAA0BvmF,GACxBA,EAAO6e,QAAU,GACjB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjBn7B,EAAO6e,QAAQsc,OAASxW,EAAewW,QAErCxW,EAAeoR,YACjB/1B,EAAO6e,QAAQ1U,SAAWwa,EAAeoR,UACpCpR,EAAewW,SAClBn7B,EAAO6e,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,QACvD9qB,KAAK4lB,QAAQq4C,YACft2D,EAAO6e,QAAQsc,OAAOx/B,KAAKtD,KAAK4lB,QAAQq4C,eAMxC,YAAA2mF,YAAR,WACE,GAA6B,SAAzB5kJ,KAAK4lB,QAAQU,QACf,MAAO,CAAC,EAAG,GAEX,IAAM+C,EAAYrpB,KAAKspB,eACjB,EAAoCtpB,KAAK4lB,QAAvCU,EAAO,UAAEuE,EAAM,SAAEC,EAAM,SAAE9rB,EAAI,OAC/BqH,EAAQgjB,EAAUhjB,MAAQigB,EAAQ,GAAKA,EAAQ,GAC/ChgB,EAAS+iB,EAAU/iB,OAASggB,EAAQ,GAAKA,EAAQ,GAGvD,MAAO,CAACjgB,EAFO,EAAA68G,YAAYlkH,EAAM6rB,GAAQjsB,OAEjB0H,EADT,EAAA48G,YAAYlkH,EAAM8rB,GAAQlsB,SAKrC,YAAAylJ,aAAR,SAAqBr5H,GAArB,WACQm5H,EAAWnkJ,KAAKmkJ,SACtB,EAAA36I,KAAKwhB,GAAQ,SAACza,GACN,MAAiBA,EAAMrT,IAAI,UAAzB8M,EAAC,IAAEvH,EAAC,IAAEooC,EAAI,OACdo6G,EAAoB,EAAPp6G,EAAY17B,KAAKsP,IAAI0lI,EAAS,GAAIA,EAAS,IACvD,EAAKv+H,QAAQwnH,YAChB6X,EAAY,GAEd,IAAMC,EAAY,EAAAC,eAAen7I,EAAGvH,EAAGooC,GACjCu6G,EAAW,EAAA3kF,YAAYz2D,EAAGvH,EAAG0hJ,EAAS,GAAIA,EAAS,GAAIc,GAC7D10I,EAAMqiB,cACNriB,EAAMsiB,KAAK,OAAQqyH,GACnB30I,EAAMoY,QACJ,CACE6G,KAAM41H,GAER,IACA,kBAKE,YAAAd,aAAR,SAAqBt5H,GAArB,WACE,EAAAxhB,KAAKwhB,GAAQ,SAACza,GACZ,IAAM0Y,EAAQ1Y,EAAMrT,IAAI,SAChBi9B,EAAW5pB,EAAMrT,IAAI,UAAS,OAChCmoJ,EAAK,GACX,EAAA77I,KAAK2wB,GAAQ,SAACh8B,GACZknJ,EAAG/hJ,KAAK2lB,EAAMygB,aAAavrC,OAE7B,IAAMonB,EAAOhV,EAAMsd,UACbxnB,EAAQkf,EAAKlf,MACbC,EAASif,EAAKjf,OACdy0B,EAAUxV,EAAKrV,KAAO7J,EAAQ,EAC9B20B,EAAUzV,EAAKnV,KAAO9J,EAAS,EAC/Bg/I,EAAc,EAAK1/H,QAAQwnH,UAAY,EAAI,GAC3C8X,EAAY,EAAAC,eAAepqH,EAASC,EAAU7rB,KAAKsP,IAAIpY,EAAOC,GAAU,EAAKg/I,GAC7EC,EAAa,EAAAC,cAAczqH,EAASC,EAAU7rB,KAAKsP,IAAIpY,EAAOC,GAAU,EAAKg/I,GACnF/0I,EAAMqiB,cACNriB,EAAMoY,QACJ,CACE6G,KAAM01H,GAER,IACA,cACA,WACE30I,EAAMsiB,KAAK,OAAQ0yH,UAMnB,YAAAhB,gBAAR,SAAwBv5H,EAAQ9B,EAAOjhB,GACrC,EAAAuB,KAAKwhB,GAAQ,SAACza,GACZ,IAAMvR,EAAOuR,EAAMrT,IAAI,UAAU8B,KAC3B2jB,EAAQ,GAAiC,GAA3BuG,EAAMA,MAAMlqB,EAAKiJ,IACrCsI,EAAMrT,IAAI,UAAU2tC,KAAOloB,EAC3B,IAAM4C,EAAOhV,EAAMsd,UACbxnB,EAAQkf,EAAKlf,MACbC,EAASif,EAAKjf,OACdy0B,EAAUxV,EAAKrV,KAAO7J,EAAQ,EAC9B20B,EAAUzV,EAAKnV,KAAO9J,EAAS,EAC/BkpB,EAAO,EAAAixC,YAAY1lC,EAASC,EAAS30B,EAAOC,EAAQqc,GAC1DpS,EAAMqiB,cACNriB,EAAMoY,QACJ,CACE6G,KAAMA,GAER,IACA,kBAKE,YAAAg1H,kBAAR,SAA0Bx5H,EAAQ9B,EAAOjhB,GACvC,EAAAuB,KAAKwhB,GAAQ,SAACza,GACZ,IAAMvR,EAAOuR,EAAMrT,IAAI,UAAU8B,KAC3B2jB,EAAQ,GAAiC,GAA3BuG,EAAMA,MAAMlqB,EAAKiJ,IAC/B,EAAiBsI,EAAMrT,IAAI,UAAzB8M,EAAC,IAAEvH,EAAC,IAAEooC,EAAI,OACZrb,EAAO,EAAAg2H,cAAcx7I,EAAGvH,EAAGooC,EAAOloB,GACxCpS,EAAMrT,IAAI,UAAU2tC,KAAOA,EAAOloB,EAClCpS,EAAMqiB,cACNriB,EAAMoY,QACJ,CACE6G,KAAMA,GAER,IACA,kBAKE,YAAAk1H,yBAAR,SAAiC15H,GAAjC,WACEhrB,KAAK4lB,QAAQwnH,UAAY,KACzB,EAAA5jI,KAAKwhB,GAAQ,SAACza,GACN,MAAWA,EAAMrT,IAAI,UAAnB8M,EAAC,IAAEvH,EAAC,IACNooC,EAAsD,GAA/C17B,KAAKsP,IAAI,EAAK0lI,SAAS,GAAI,EAAKA,SAAS,IACtD5zI,EAAMrT,IAAI,UAAU2tC,KAAOA,EAAO,EAClC,IAAMrb,EAAO,EAAAg2H,cAAcx7I,EAAGvH,EAAGooC,EAAO,GACxCt6B,EAAMqiB,cACNriB,EAAMoY,QACJ,CACE6G,KAAMA,GAER,IACA,kBAKE,YAAAi1H,uBAAR,SAA+Bz5H,GAA/B,WACEhrB,KAAK4lB,QAAQwnH,UAAY,KACzB,EAAA5jI,KAAKwhB,GAAQ,SAACza,GACZ,IAAMgV,EAAOhV,EAAMsd,UACbxnB,EAAQkf,EAAKlf,MACbC,EAASif,EAAKjf,OACdy0B,EAAUxV,EAAKrV,KAAO7J,EAAQ,EAC9B20B,EAAUzV,EAAKnV,KAAO9J,EAAS,EAC/BkpB,EAAO,EAAAixC,YAAY1lC,EAASC,EAAS,EAAKmpH,SAAS,GAAI,EAAKA,SAAS,GAAI,GAC/E5zI,EAAMrT,IAAI,UAAU2tC,KAAO,EAC3Bt6B,EAAMqiB,cACNriB,EAAMoY,QACJ,CACE6G,KAAMA,GAER,IACA,kBAKE,YAAAs/B,SAAR,WACE,IAAM/8B,EAAW/xB,KAAKiJ,KAAKuf,WAAW,GAAGuJ,SACnC/G,EAAS,GAIf,OAHA,EAAAxhB,KAAKuoB,GAAU,SAACw4B,GACdv/B,EAAO1nB,KAAKinD,EAAIh6C,UAEXya,GAGC,YAAAw+E,qBAAV,sBACE,EAAAhgG,KAAKxJ,KAAKqpG,gBAAgB,SAACv0E,GACzBA,EAAU1tB,aAEZpH,KAAKqpG,eAAiB,GAEtB,EAAA7/F,KADuB,CAAC,QAAS,WACZ,SAACjM,GACpB,IAAMkL,EAAM,EAAH,UACPQ,KAAM,EAAKA,KACXrC,KAAM,GACH,EAAKgf,QAAQroB,IAEZu3B,EAAY,EAAA20E,kBAAkB,EAAMlsG,EAAGkL,GACzCqsB,IACFA,EAAUxrB,SACV,EAAK+/F,eAAe/lG,KAAKwxB,QAIjC,EA/aA,CAA6F,W,YAib7F,EAAA05D,iBAAiB,UAAWi3D,I,oICvc5B,WACA,OAEA,SAAgBhlF,EAAYmkB,EAAIC,EAAIx+E,EAAOC,EAAQukC,GACjD,IAAMzV,EAAI/uB,EAAQwkC,EACZlsB,EAAIrY,EAASukC,EASnB,MARa,CACX,CAAC,IAAK+5C,EAAKxvD,EAAI,EAAGyvD,EAAKlmE,EAAI,GAC3B,CAAC,IAAKimE,EAAKxvD,EAAI,EAAGyvD,EAAID,EAAKxvD,EAAI,EAAGyvD,EAAKlmE,EAAI,GAC3C,CAAC,IAAKimE,EAAIC,EAAKlmE,EAAI,EAAGimE,EAAKxvD,EAAI,EAAGyvD,EAAKlmE,EAAI,GAC3C,CAAC,IAAKimE,EAAKxvD,EAAI,EAAGyvD,EAAID,EAAKxvD,EAAI,EAAGyvD,EAAKlmE,EAAI,GAC3C,CAAC,IAAKimE,EAAIC,EAAKlmE,EAAI,EAAGimE,EAAKxvD,EAAI,EAAGyvD,EAAKlmE,EAAI,GAC3C,CAAC,MAKL,SAAgB6mI,EAAcx7I,EAAGvH,EAAGooC,GAQlC,MAPa,CACX,CAAC,IAAK7gC,EAAGvH,GACT,CAAC,KAAMooC,EAAM,GACb,CAAC,IAAKA,EAAMA,EAAM,EAAG,EAAG,EAAU,EAAPA,EAAU,GACrC,CAAC,IAAKA,EAAMA,EAAM,EAAG,EAAG,GAAY,EAAPA,EAAW,GACxC,CAAC,MApBL,gBAcA,kBAWA,0BAA+B7gC,EAAGvH,EAAGooC,GAUnC,MARa,CACX,CAAC,IAAK7gC,EAAI6gC,EAAMpoC,GAChB,CAAC,IAAKuH,EAAI6gC,EAAMpoC,EAAIooC,EAAM7gC,EAAGvH,EAAIooC,GACjC,CAAC,IAAK7gC,EAAI6gC,EAAMpoC,EAAIooC,EAAM7gC,EAAI6gC,EAAMpoC,GACpC,CAAC,IAAKuH,EAAI6gC,EAAMpoC,EAAIooC,EAAM7gC,EAAGvH,EAAIooC,GACjC,CAAC,IAAK7gC,EAAI6gC,EAAMpoC,EAAIooC,EAAM7gC,EAAI6gC,EAAMpoC,GACpC,CAAC,OAKL,EAAAgK,cAAc,UAAW,OAAQ,CAC/BhF,KAAI,SAACgB,EAAK3C,GACR,IAAMq0B,EAASn6B,KAAKyvD,YAAYhnD,EAAI0xB,QAC9B9zB,EAAQ8zB,EAAO,GAAGnwB,EAAImwB,EAAO,GAAGnwB,EAChC1D,EAAS6zB,EAAO,GAAG13B,EAAI03B,EAAO,GAAG13B,EAYjC+sB,EAAOixC,EAXGtmC,EAAO,GAAGnwB,EAAI3D,EAAQ,EACtB8zB,EAAO,GAAG13B,EAAI6D,EAAS,EAUID,EAAOC,EAAQmC,EAAIoiC,MAC9D,OAAO/kC,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,EAAAtoB,QACL,GACA,CACEylB,KAAI,EACJK,KAAMpnB,EAAI+U,MACVW,QAAS,GAEX1V,EAAIG,YAMZ,EAAA6D,cAAc,QAAS,aAAc,CACnChF,KAAI,SAACgB,EAAK3C,GACR,IAAM0pB,EAAOg2H,EAAc/8I,EAAIuB,EAAGvB,EAAIhG,EAAGgG,EAAIoiC,MAC7C,OAAO/kC,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,EAAAtoB,QACL,GACA,CACEylB,KAAI,EACJK,KAAMpnB,EAAI+U,MACVW,QAAS,GAEX1V,EAAIG,a,oHCnFZ,4BACA,4BAEM2wI,EAAiB,CACrB32I,MAAO,CAAE0vI,IAAK,WACdluH,OAAQ,CAAEkuH,IAAK,UAAchsH,QAAS,UAGxC,6BAAkC1f,EAAMgD,EAAMnB,GAC5C,GAAI7B,EAAKgf,QAAQhc,IAAShD,EAAKgf,QAAQhc,GAAMuc,QAAS,CACpD,IAAMqzH,EAAgBD,EAAe3vI,GAC/BkrB,EAAY,IAAI0kH,EAAclH,IAAI7pI,GAIxC,OAHI+wI,EAAclzH,SAChB1f,EAAKmf,kBAAkB6I,gBAAgBkG,EAAW0kH,EAAclzH,SAE3DwO,K,8ECfX,WAEA,QAiBA,aAOE,WAAYrsB,GALL,KAAA1B,WAAqB,EAM1B/G,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK4G,KAAO6B,EAAI7B,KAChB,IAAM0gB,EAAiBtnB,KAAKkmB,oBAC5BlmB,KAAK4lB,QAAU,EAAA7b,QAAQud,EAAgB7e,EAAK,IAC5CzI,KAAKioB,OAiHT,OA9GY,YAAAA,KAAV,sBACEjoB,KAAK8F,UAAY9F,KAAKiJ,KAAKuf,WAAW,GAAGwG,gBACzChvB,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,QACL,EAAKjiB,KAAKC,OAAOY,WAId,YAAA6B,OAAP,sBACQyoB,EAAW/xB,KAAKiJ,KAAKuf,WAAW,GAAGuJ,SACzC,EAAAvoB,KAAKuoB,GAAU,SAACw4B,GACN,IAAAh6C,EAAUg6C,EAAG,MACf,EAA8B,EAAK3kC,QAAjChd,EAAK,QAAEukB,EAAO,UAAEC,EAAO,UACzBsQ,EAAY,EAAK9X,QAAQ8X,UACzBu6B,EAAUv6B,EAAYA,EAAU,EAAKgoH,WAAWn1I,IAAU,EAAKm1I,WAAWn1I,GAC1EgW,EAAW,EAAKuvE,YAAYvlF,GAC5BiN,EAAQ,EAAK+6H,aAAahoI,GAC1B3N,EAAQ,EAAKkD,UAAUotB,SAAS,OAAQ,CAC5Cb,MAAO,EAAAtoB,QAAQ,GAAInB,EAAO,CACxBoB,EAAGuc,EAASvc,EAAImjB,EAChB1qB,EAAG8jB,EAAS9jB,EAAI2qB,EAChB/G,KAAM4xC,EACNpoC,KAAMrS,EACNuS,UAAW,SACXC,aAAc,WAEhBpzB,KAAM,UAEJ,EAAKgpB,QAAQwwE,gBACf,EAAKjkE,YAAYvvB,EAAO2N,OAKvB,YAAAsY,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAA2I,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4G,KAAKC,OAAOY,QAGZ,YAAAL,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK+G,WAAY,GAGZ,YAAA8mB,QAAP,WACE,OAAO7tB,KAAK8F,UAAU+nB,WAGhB,YAAA3H,kBAAR,WACU,IACF86F,EADYhhH,KAAK4G,KAAI,MACFhE,MAAMgG,MAC/B,MAAO,CACLukB,QAAS,EACTC,QAAS,EACTxkB,MAAO,EAAAwpB,MAAM4uF,KAIP,YAAA0kC,WAAV,SAAqBn1I,GAGnB,OAFaA,EAAMrT,IAAI,UAAU8B,KACnBgB,KAAK4G,KAAKgf,QAAQq4C,aAIxB,YAAA63B,YAAV,SAAsBvlF,GACpB,IAAMgV,EAAOhV,EAAMsd,UACnB,MAAO,CACL7jB,EAAGub,EAAKrV,KAAOqV,EAAKlf,MAAQ,EAC5B5D,EAAG8iB,EAAKnV,KAAOmV,EAAKjf,OAAS,IAIvB,YAAAiyI,aAAV,SAAuBhoI,GACrB,GAAIvQ,KAAK4lB,QAAQ4nE,YAAa,CAC5B,IAAMkJ,EAAanmF,EAAMsiB,KAAK,QACxB8jE,EAAepmF,EAAMsiB,KAAK,WAAatiB,EAAMsiB,KAAK,WAAa,EAC/DzV,EAAM,EAAA0gB,QAAQ44D,GACdt/E,EAAOjI,KAAKuP,MAAe,KAATtB,EAAI,GAAsB,KAATA,EAAI,GAAsB,KAATA,EAAI,IAAcu5E,EAO5E,OADgB,EAAAC,aALE,CAChB,CAAEx4D,KAAM,EAAGC,GAAI,GAAI7gB,MAAO,SAC1B,CAAE4gB,KAAM,GAAIC,GAAI,IAAK7gB,MAAO,WAC5B,CAAE4gB,KAAM,IAAKC,GAAI,IAAK7gB,MAAO,UAESpG,GAI1C,OADqBpX,KAAK4lB,QAAQhd,MAAMinB,MAIhC,YAAAsC,YAAV,SAAsBvvB,EAAO2N,GAC3B,IAAM8lF,EAAazzF,EAAMirB,UACnByoE,EAAa/lF,EAAMsd,WACrBwoE,EAAWhwF,MAAQiwF,EAAWjwF,OAASgwF,EAAW/vF,OAASgwF,EAAWhwF,SACxE1D,EAAMiwB,KAAK,OAAQ,KAGzB,EA7HA,G,sGCnBA,OACA,2BAyBA,aAiBE,WAAYpqB,GAZL,KAAA1B,WAAqB,EAQlB,KAAA+6I,WAAkB,GAEpB,KAAA6D,kBAAyB,GAG/B,IAAMr+H,EAAiBtnB,KAAKkmB,oBAC5BlmB,KAAK4lB,QAAU,EAAA7b,QAAQ,GAAIud,EAAgB7e,GAC3CzI,KAAKiJ,KAAOjJ,KAAK4lB,QAAQ3c,KACzBjJ,KAAKkqB,aAAc,EACnBlqB,KAAKioB,OAgXT,OA7WS,YAAAA,KAAP,sBACEjoB,KAAKohD,OAASphD,KAAKgiJ,YACnBhiJ,KAAKqG,MAAQrG,KAAK4lB,QAAQvf,MAAQrG,KAAK4lB,QAAQvf,MAAQrG,KAAKiiJ,kBAC5DjiJ,KAAKsG,OAAStG,KAAK4lB,QAAQtf,OAAStG,KAAK4lB,QAAQtf,OAAStG,KAAKkiJ,mBAC/D,IAAMC,EAAgBniJ,KAAK4lB,QAAQhf,KAAKd,UACpC9F,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK8F,UAAYq8I,EAAcz4H,WAC/B1pB,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,QACL,EAAKjD,QAAQhf,KAAKC,OAAOY,WAItB,YAAA6B,OAAP,WACE,IAAM6e,EAASnoB,KAAKiJ,KAAKuf,WAAW,GAAGL,OACjC81C,EAAaj+D,KAAK4lB,QAAQhf,KAAKgf,QAAQq4C,WAC7Cj+D,KAAKqiJ,WAAal6H,EAAO81C,GACnB,MAAej+D,KAAKqiJ,WAAlB5jI,EAAG,MAAED,EAAG,MACRhB,EAAUxd,KAAK4lB,QAAQhf,KAAKgf,QAAO,MACvB,eAAhB5lB,KAAKohD,OACPphD,KAAKsiJ,iBAAiB7jI,EAAKD,EAAKhB,GAEhCxd,KAAKuiJ,eAAe9jI,EAAKD,EAAKhB,GAEhCxd,KAAKwiJ,eACLxiJ,KAAKyiJ,kBAGA,YAAAjxH,KAAP,WACExxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4lB,QAAQhf,KAAKC,OAAOY,QAGpB,YAAA8pB,KAAP,WACEvxB,KAAK8F,UAAUF,IAAI,WAAW,GAC9B5F,KAAK4lB,QAAQhf,KAAKC,OAAOY,QAGpB,YAAAohB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,SAEjB9K,KAAK6vC,WACL7vC,KAAK+G,WAAY,GAGZ,YAAA8mB,QAAP,WACE,IAAM60H,EAAc1iJ,KAAK8F,UAAU+nB,UACnC,OAAO,IAAI,UAAK7tB,KAAKgK,EAAGhK,KAAKyC,EAAGigJ,EAAYr8I,MAAOq8I,EAAYp8I,SAGvD,YAAAi8I,eAAV,SAAyB9jI,EAAaD,EAAaiC,GAAnD,WACQsiI,GAAavkI,EAAMC,IAAQgC,EAAO7hB,OAAS,GAC3CgnJ,EAAY,GAAKnlI,EAAO7hB,OAAS,GACjCinJ,EAAW7lJ,KAAKsG,QAAUma,EAAO7hB,OAAS,GAC5CknJ,EAAgB,QACpB,EAAAt8I,KAAKiX,GAAQ,SAAC/jB,EAAGgC,GAEfonJ,GADgBF,EAAYlnJ,EACD,IAAIhC,EAAC,OAElCsD,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,CACLroB,EAAG,EACHvH,EAAG,EACH4D,MAAOrG,KAAKqG,MACZC,OAAQtG,KAAKsG,OACbupB,KAAMi2H,GAERlpJ,KAAM,WAGR,EAAA4M,KAAKiX,GAAQ,SAAC/jB,EAAGgC,GAEf,IAAMuD,EAAO4jJ,EAAWnnJ,EACxB,EAAKoH,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAK,EAAGvtB,GACT,CAAC,IAAK,EAAKoE,MAAOpE,KAEjB,EAAK2jB,QAAQmgI,iBAIpB,IAAMzoJ,EAAQ6R,KAAKuP,MAAMqkI,EAAYrkJ,GACrC,EAAKoH,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,UACHhM,KAAM/oB,EACNyyB,UAAW,OACXC,aAAc,SACdhmB,EAAG,EAAK3D,MAhJG,EAiJX5D,EAAGR,GACA,EAAK2jB,QAAQS,KAAKzd,OAEvBhM,KAAM,oBAIV,IAEMopJ,EAAW,CAAC,CAAC,KAFD,IAEkB,GAAkB,CAAC,IAAK,EAAG,GAAI,CAAC,KAFlD,GAEmEC,GAAiB,CAAC,MACvGjmJ,KAAK69F,OAAS79F,KAAK8F,UAAUotB,SAAS,OAAQ,CAC5Cb,MAAO,EAAF,UACH7C,KAAMw2H,GACHhmJ,KAAK4lB,QAAQsgI,eAGpBlmJ,KAAK69F,OAAOj4F,IAAI,WAAW,IAGnB,YAAA08I,iBAAV,SAA2B7jI,EAAaD,EAAaiC,GAArD,WACQsiI,GAAavkI,EAAMC,IAAQgC,EAAO7hB,OAAS,GAC3CgnJ,EAAY,GAAKnlI,EAAO7hB,OAAS,GACjCinJ,EAAW7lJ,KAAKqG,OAASoa,EAAO7hB,OAAS,GAC3CknJ,EAAgB,OACpB,EAAAt8I,KAAKiX,GAAQ,SAAC/jB,EAAGgC,GAEfonJ,GADgBF,EAAYlnJ,EACD,IAAIhC,EAAC,OAElCsD,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,CACLroB,EAAG,EACHvH,EAAG,EACH4D,MAAOrG,KAAKqG,MACZC,OAAQtG,KAAKsG,OACbupB,KAAMi2H,GAERlpJ,KAAM,WAGR,EAAA4M,KAAKiX,GAAQ,SAAC/jB,EAAGgC,GAEf,IAAMuD,EAAO4jJ,EAAWnnJ,EACxB,EAAKoH,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAKvtB,EAAM,GACZ,CAAC,IAAKA,EAAM,EAAKqE,UAEhB,EAAKsf,QAAQmgI,eAElBnpJ,KAAM,iBAGR,IAAMU,EAAQ6R,KAAKuP,MAAMqkI,EAAYrkJ,GACrC,EAAKoH,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,UACHhM,KAAM/oB,EACNyyB,UAAW,SACXC,aAAc,MACdhmB,EAAG/H,EACHQ,EAAG,EAAK6D,OA7MG,GA8MR,EAAKsf,QAAQS,KAAKzd,YAK3B,IAEMo9I,EAAW,CAAC,CAAC,IAAK,EAAG,GAAI,CAAC,KAAK,GADlB,IACgD,CAAC,IAAKG,GADtD,IACmF,CAAC,MACvGnmJ,KAAK69F,OAAS79F,KAAK8F,UAAUotB,SAAS,OAAQ,CAC5Cb,MAAO,EAAF,UACH7C,KAAMw2H,GACHhmJ,KAAK4lB,QAAQsgI,eAGpBlmJ,KAAK69F,OAAOj4F,IAAI,WAAW,IAGnB,YAAAo8I,UAAV,WACE,IAAMtb,EAAY1mI,KAAK4lB,QAAQW,SAAS0G,MAAM,KAE9C,OADAjtB,KAAKumB,SAAWmgH,EAAU,GACL,SAAjBA,EAAU,IAAkC,UAAjBA,EAAU,GAChC,WAEF,cAGC,YAAAub,gBAAV,WACE,MAAoB,eAAhBjiJ,KAAKohD,OACOphD,KAAKiJ,KAAKg4C,eAAe56C,MAGlC,IAGC,YAAA67I,iBAAV,WACE,MAAoB,aAAhBliJ,KAAKohD,OACQphD,KAAKiJ,KAAKg4C,eAAe36C,OAGnC,IAGC,YAAAk8I,aAAV,sBACQ95H,EAAa1oB,KAAKiJ,KAAKg4C,eACrBs4D,EAAav5G,KAAK4lB,QAAQhf,KAAKyB,eAAc,SACjD,EAAA+Z,QAAQm3F,IACV,EAAA/vG,KAAK+vG,GAAU,SAACpD,EAAIz3G,GACa,mBAApB66G,EAAS76G,KAClB66G,EAAS76G,GAAS66G,EAAS76G,GAAO,EAAKknB,QAAQhf,KAAKgf,aAI1D,IAAML,EAAOvlB,KAAK8F,UAAU+nB,UACxB7jB,EAAI,EACJvH,EAAI,EACFikI,EAAY1mI,KAAK4lB,QAAQW,SAAS0G,MAAM,KACxCm2H,EAAYpjJ,KAAK4lB,QAAQhf,KAAKP,MAC9Bg9I,EAAarjJ,KAAK4lB,QAAQhf,KAAKN,OAEhB,SAAjBogI,EAAU,GACZ18H,EAAIuvG,EAAS,GACa,UAAjBmtB,EAAU,GACnB18H,EAAIo5I,EAAY7pC,EAAS,GAAKh0F,EAAKlf,MACT,WAAjBqgI,EAAU,GAGjB18H,EADEhK,KAAKqG,QAAUqiB,EAAWriB,MACxBqiB,EAAW1e,GAEVo5I,EAAY79H,EAAKlf,OAAS,EAEP,SAAjBqgI,EAAU,GACnB18H,EAAIuvG,EAAS,GACa,UAAjBmtB,EAAU,KACnB18H,EAAIhK,KAAK4lB,QAAQhf,KAAKP,MAAQkzG,EAAS,GAAKh0F,EAAKlf,OAG9B,WAAjBqgI,EAAU,GACZjkI,EAAI4gJ,EAAa9pC,EAAS,GAAKh0F,EAAKjf,OACV,QAAjBogI,EAAU,GACnBjkI,EAAIzC,KAAKsjJ,eAAe/pC,GACE,WAAjBmtB,EAAU,GAGjBjkI,EADEzC,KAAKsG,SAAWoiB,EAAWpiB,OACzBoiB,EAAWjmB,GAGV4gJ,EAAa99H,EAAKjf,QAAU,EAET,QAAjBogI,EAAU,GACnBjkI,EAAI82G,EAAS,GACa,WAAjBmtB,EAAU,KACnBjkI,EAAI4gJ,EAAa9pC,EAAS,GAAKh0F,EAAKjf,QAGtCtG,KAAKgK,EAAIA,EACThK,KAAKyC,EAAIA,EAETzC,KAAK8F,UAAU01C,UAAUxxC,EAAGvH,IAGpB,YAAAyjB,kBAAV,WACE,MAAO,CACLG,KAAM,CACJzd,MAAO,CACLknB,SAAU,GACVD,KAAM,wBAGVk2H,cAAe,CACb7pF,UAAW,EACX5rC,OAAQ,sBAEV41H,YAAa,CACXr2H,KAAM,mBAERksE,UAAW,cAIL,YAAA0mD,eAAV,sBAQQl4I,GANsC,SAAxCvK,KAAK4lB,QAAQhf,KAAKgf,QAAQwmC,UACjB,UAEA,SAGgB,IAAIpsD,KAAK4lB,QAAQm2E,UAExC9zF,EAAQjI,KAAK4lB,QAAQhf,KAAKgf,QAAQq4C,WAClC,EAAej+D,KAAKqiJ,WAAlB5jI,EAAG,MAAED,EAAG,MAEV4nI,EAAmB,SAACthI,GACxB,IACMnC,GADQmC,EAAG9lB,KAAKA,KAAKiJ,GACJwW,IAAQD,EAAMC,GACrC,EAAK4nI,WAAW1jI,IAElB3iB,KAAKiJ,KAAKwB,GAAGF,EAAW67I,GACxBpmJ,KAAK2lJ,kBAAkBp7I,GAAa,CAClC3J,OAAQZ,KAAKiJ,KACbuB,QAAS47I,GASX,IAAME,EAAoB,WACxB,EAAKzoD,OAAOj4F,IAAI,WAAW,IAE7B5F,KAAK4lB,QAAQhf,KAAKC,OAAO4D,GAAG,aAAc67I,GAC1CtmJ,KAAK2lJ,kBAAkBY,WAAa,CAClC3lJ,OAAQZ,KAAK4lB,QAAQhf,KAAKC,OAC1B2D,QAAS87I,IAIL,YAAAD,WAAR,SAAmB1jI,GAEjB,GADA3iB,KAAK69F,OAAOj4F,IAAI,WAAW,GACP,aAAhB5F,KAAKohD,OAAuB,CAC9B,IAAMkgC,EAAMthF,KAAKsG,OAASqc,GACpBiX,EAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACjC,GAAK0nD,EACdthF,KAAK69F,OAAOjrE,cACZ5yB,KAAK69F,OAAOl1E,QACV,CACE4N,OAAQqD,GAEV,IACA,kBAEG,CACL,IACMA,EADA0nD,EAAMthF,KAAKqG,MAAQsc,GACnBiX,EAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IACjC,GAAK0nD,EACdthF,KAAK69F,OAAOjrE,cACZ5yB,KAAK69F,OAAOl1E,QACV,CACE4N,OAAQqD,GAEV,IACA,gBAKE,YAAA0pH,eAAR,SAAuB/pC,GACrB,OAAIv5G,KAAK4lB,QAAQhf,KAAKkd,YACP9jB,KAAK4lB,QAAQhf,KAAKkd,YAAY+J,UAC/Bxd,KAAO,GACVrQ,KAAK4lB,QAAQhf,KAAKid,MACd7jB,KAAK4lB,QAAQhf,KAAKid,MAAMgK,UACzBxd,KAAO,GAEdkpG,EAAS,IAGV,YAAA1pE,SAAR,WACE,EAAArmC,KAAKxJ,KAAK2lJ,mBAAmB,SAACziI,EAAOtlB,GAC3B,IAAAgD,EAAoBsiB,EAAK,OAAjB1Y,EAAY0Y,EAAK,QACjCtiB,EAAOixB,IAAIj0B,EAAK4M,OAGtB,EAtYA,G,sGCtBA,OACA,0BACA,4BACA,OAOA,cACE,WAAY1E,EAAwBC,G,OAElCA,EAAMQ,SAAW,SACjB,YAAMT,EAAWC,IAAM,KAQ3B,OAZuC,iBAM9B,YAAAiB,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,YAClB2iI,EAAWzmI,UAAY9F,KAAKgG,aAC5B,YAAMgB,aAAY,UAACulI,IAEvB,EAZA,CAAuC,W,YAavC,EAAA/9C,iBAAiB,YAAa,Y,yFCtB9B,OACA,2BACA,4BAEA,4BA+GA,cAME,WAAYzoF,GAAZ,MACE,YAAMA,IAAM,K,OA4BN,EAAAygJ,gBAAkB,SAAC78I,EAAqB88I,EAAsBrjG,EAAiBhjC,GACjFqmI,GACF,EAAKC,UAAUpkI,OAAO,CACpBkR,MAAO,CACL,CACEhW,MAAO7T,EAAK6T,OAAS,MACrB5gB,KAAM+M,EAAKu7E,KACX5nF,MAAOqM,EAAKg9I,SAGhB38I,EAAGo5C,EAAIj2B,QACP1qB,EAAG2gD,EAAIh2B,UAET,EAAKs5H,UAAUn1H,QAEf,EAAKm1H,UAAUl1H,OAEjB,EAAKk1H,UAAUp9I,SACf,EAAKs9I,oBAAsB,EAAKA,mBAAmBj9I,EAAM88I,EAAWrjG,EAAKhjC,IA7CzE,EAAKwmI,mBAAqB7gJ,EAAM8gJ,iBAChC,EAAKC,gBAAkB,EAAA5pJ,IAAI6I,EAAO,mBAAmB,GACrD,EAAK6f,QAAU,EAAA7b,QACb,GACA,CACE1D,MAAO,IACPC,OAAQ,IACRygJ,gBAAgB,GAElBhhJ,EAEA,CACE8gJ,iBAAkB,EAAKC,gBAAkB,EAAKN,gBAAkB,EAAKI,qB,EAgN7E,OApO4C,iBAyBnC,YAAA3+H,KAAP,WACE,YAAMA,KAAI,WACVjoB,KAAKgnJ,iBAGA,YAAA19I,OAAP,WACE,YAAMA,OAAM,WACZtJ,KAAKinJ,WAwBC,YAAAD,cAAR,WACEhnJ,KAAK0mJ,UAAY,IAAI,UAAkB,CACrCr+H,WAAW,EACXlC,SAAS,EACTnT,OAAQhT,KAAK4lB,QAAQ9f,UACrB6uE,QAAQ,EACRuyE,SAAS,EACT1zH,MAAO,KAETxzB,KAAK0mJ,UAAUz+H,QAGT,YAAAg/H,QAAR,WACEjnJ,KAAKmnJ,cAAgBnnJ,KAAK6G,OAAO3J,IAAI,MACjC8C,KAAK4lB,QAAQwhI,UACfpnJ,KAAKqnJ,mBAGLrnJ,KAAK+kG,UAID,YAAAsiD,iBAAR,sBACQ17E,EAAQ,IAAI81E,MAClB91E,EAAMjkD,IAAM1nB,KAAK4lB,QAAQwhI,UAAY,KAAM,IAAIh2I,MAAOg5E,UACtDze,EAAM27E,YAAc,YACpB37E,EAAM47E,OAAS,WACT57E,EAAM67E,cAAgB77E,EAAM87E,eAAiB,GAAK97E,EAAMtlE,MAAQslE,EAAMrlE,SAAW,EACnF,EAAKy+F,SAGL,EAAK2iD,oBAAoB/7E,IAG7BA,EAAMg8E,QAAU,WACdrjG,QAAQxgD,MAAM,2BAA4B,EAAK8hB,QAAQwhI,WAEvD,EAAKriD,WAID,YAAAA,OAAR,WACE/kG,KAAK4nJ,sBACL,IAAMC,EAAY7nJ,KAAKmnJ,cAAc3oF,WAAW,MAG1Ch4D,EAAaxG,KAAK6G,OAAO3J,IAAI,SAAW8C,KAAK6G,OAAO3J,IAAI,MAAMmJ,MACpEwhJ,EAAU3+H,MAAM1iB,EAAYA,GAC5B,UAAUxG,KAAKmnJ,cAAennJ,KAAK4lB,UAG7B,YAAAgiI,oBAAR,WACE,IAEIhvE,EAAQ/Z,EAAaD,EAFnB9uC,EAAW9vB,KAAK4lB,QAAQkiI,UAAUh4H,UAAY,CAAC,GAAI,IACnDi4H,EAAW/nJ,KAAK4lB,QAAQkiI,UAAUC,UAAY,EAAE54I,KAAKE,GAAK,EAAGF,KAAKE,GAAK,GAEzErP,KAAK4lB,QAAQkiI,UAAUlvE,QACzBA,GAAS,EACT/Z,EAAc7+D,KAAK4lB,QAAQkiI,UAAUlvE,OAAO/Z,aAAe,OAC3DD,EAAa5+D,KAAK4lB,QAAQkiI,UAAUlvE,OAAOha,YAAc,IAEzDga,GAAS,EAEX54E,KAAK4lB,QAAU,EAAA7b,QAAQ,GAAI/J,KAAK4lB,QAAS,CACvCoiI,YAAal4H,EAAS,GACtBm4H,YAAan4H,EAAS,GACtBo4H,YAAaH,EAAS,GACtBI,YAAaJ,EAAS,GACtBnvE,OAAM,EACN/Z,YAAW,EACXD,WAAU,KAIN,YAAA8oF,oBAAR,SAA4B/7E,GACpB,MAAwC3rE,KAAKooJ,sBAAsBpoJ,KAAKqoJ,4BAA4B18E,IAAlG28E,EAAe,kBAAEC,EAAgB,mBAGnCC,EAAOviJ,SAASymB,cAAc,UAAU8xC,WAAW,MAEzDgqF,EAAKxkC,UAAYhkH,KAAK4lB,QAAQ2rB,iBAAmB,OACjDi3G,EAAKC,SAAS,EAAG,EAAG,EAAG,GAKvB,IAJA,IAAMC,EAAUF,EAAKlpF,aAAa,EAAG,EAAG,EAAG,GAAGtgE,KAExC2pJ,EAAYJ,EAAiBjpF,aAAa,EAAG,EAAGgpF,EAAgBjiJ,MAAOiiJ,EAAgBhiJ,QACvFsiJ,EAAeL,EAAiBM,gBAAgBF,GAC7CtsJ,EAAI,EAAGA,EAAIssJ,EAAU3pJ,KAAKJ,OAAQvC,GAAK,EAC1CssJ,EAAU3pJ,KAAK3C,EAAI,GAAK,KAE1BusJ,EAAa5pJ,KAAK3C,GAAKqsJ,EAAQ,GAC/BE,EAAa5pJ,KAAK3C,EAAI,GAAKqsJ,EAAQ,GACnCE,EAAa5pJ,KAAK3C,EAAI,GAAKqsJ,EAAQ,GACnCE,EAAa5pJ,KAAK3C,EAAI,GAAKqsJ,EAAQ,KAInCE,EAAa5pJ,KAAK3C,GAAKqsJ,EAAQ,GAC/BE,EAAa5pJ,KAAK3C,EAAI,GAAKqsJ,EAAQ,GACnCE,EAAa5pJ,KAAK3C,EAAI,GAAKqsJ,EAAQ,GACnCE,EAAa5pJ,KAAK3C,EAAI,GAAK,KAI/BksJ,EAAiB/oF,aAAaopF,EAAc,EAAG,GAE7B5oJ,KAAKmnJ,cAAc3oF,WAAW,MACtCqB,UAAUyoF,EAAiB,EAAG,GACxCtoJ,KAAK4lB,QAAU,EAAA7b,QAAQ,GAAI/J,KAAK4lB,QAAS,CAAEkjI,aAAa,IAExD9oJ,KAAK+kG,UAGC,YAAAqjD,sBAAR,SAA8BE,GAC5B,IAAMS,EAAmB9iJ,SAASymB,cAAc,UAEhDq8H,EAAiB1iJ,MAAQrG,KAAK6G,OAAO3J,IAAI,SACzC6rJ,EAAiBziJ,OAAStG,KAAK6G,OAAO3J,IAAI,UAC1C,IAAMqhE,EAAMwqF,EAAiBvqF,WAAW,MAiBxC,OAfAD,EAAIyqF,uBAAwB,EAI5BzqF,EAAIsB,UACFyoF,EACA,EACA,EACAA,EAAgBjiJ,MAChBiiJ,EAAgBhiJ,OAChB,EACA,EACAyiJ,EAAiB1iJ,MACjB0iJ,EAAiBziJ,QAEZ,CACLgiJ,gBAAiBS,EACjBR,iBAAkBhqF,IAId,YAAA8pF,4BAAR,SAAoC18E,GAClC,IAAM28E,EAAkBriJ,SAASymB,cAAc,UAC/C47H,EAAgBjiJ,MAAQslE,EAAMtlE,MAC9BiiJ,EAAgBhiJ,OAASqlE,EAAMrlE,OAC/B,IAAMi4D,EAAM+pF,EAAgB9pF,WAAW,MACvCD,EAAIsB,UAAU8L,EAAO,EAAG,EAAGA,EAAMtlE,MAAOslE,EAAMrlE,QAM9C,IALA,IAAMqiJ,EAAYpqF,EAAIe,aAAa,EAAG,EAAGgpF,EAAgBjiJ,MAAOiiJ,EAAgBhiJ,QAKvEjK,EAAI,EAAGA,EAAIssJ,EAAU3pJ,KAAKJ,OAAQvC,GAJb,EAIyC,CACrE,IAAM+gB,EAAMurI,EAAU3pJ,KAAK3C,GAAKssJ,EAAU3pJ,KAAK3C,EAAI,GAAKssJ,EAAU3pJ,KAAK3C,EAAI,GAC7DssJ,EAAU3pJ,KAAK3C,EAAI,GAErB,KAAO+gB,EAAM,KAEvBurI,EAAU3pJ,KAAK3C,GARA,IASfssJ,EAAU3pJ,KAAK3C,EAAI,GATJ,IAUfssJ,EAAU3pJ,KAAK3C,EAAI,GAVJ,IAWfssJ,EAAU3pJ,KAAK3C,EAAI,GAZH,IAehBssJ,EAAU3pJ,KAAK3C,GAfC,EAgBhBssJ,EAAU3pJ,KAAK3C,EAAI,GAhBH,EAiBhBssJ,EAAU3pJ,KAAK3C,EAAI,GAjBH,EAkBhBssJ,EAAU3pJ,KAAK3C,EAAI,GAjBJ,KAsBnB,OADAkiE,EAAIiB,aAAampF,EAAW,EAAG,GACxBL,GAEX,EApOA,CAA4C,W,sGCpH5C,OAGA,cACE,WAAY7/I,GAAZ,IACQwgJ,EAAS,EAAAl/I,QACb,GACAtB,EACA,CACEygJ,QAAS,kLAIXzgJ,G,OAEF,YAAMwgJ,IAAO,KAEjB,OAd+C,iBAc/C,EAdA,CAFA,KAE+Ch7I,a;;;;;;;+DCa/C,OAGKhS,OAAOktJ,eACVltJ,OAAOktJ,aAEHltJ,OAAOmtJ,gBACPntJ,OAAOotJ,oBACPptJ,OAAOqtJ,iBACPrtJ,OAAOstJ,eACP,WACE,IAAKttJ,OAAOutJ,cAAgBvtJ,OAAO4O,iBACjC,OAAO,KAGT,IAAI4+I,EAAY,MAAChmJ,GACbimJ,EAAU,uBAgDd,OAnCAztJ,OAAO4O,iBACL,WACA,SAA+Bu4C,GAG7B,GACsB,iBAAbA,EAAIpkD,MACXokD,EAAIpkD,KAAKg/B,OAAO,EAAG0rH,EAAQ9qJ,UAAY8qJ,EAFzC,CAQAtmG,EAAIumG,2BAEJ,IAAIn5H,EAAK5S,SAASwlC,EAAIpkD,KAAKg/B,OAAO0rH,EAAQ9qJ,QAAS,IAC9C6qJ,EAAUj5H,KAIfi5H,EAAUj5H,KACVi5H,EAAUj5H,QAAM/sB,OAElB,GAIFxH,OAAO2tJ,eAAiB,SAA0Bp5H,GAC3Ci5H,EAAUj5H,KAIfi5H,EAAUj5H,QAAM/sB,IAxCG,SAAwBqO,GAC3C,IAAI0e,EAAKi5H,EAAU7qJ,OAInB,OAHA6qJ,EAAUnmJ,KAAKwO,GACf7V,OAAOutJ,YAAYE,EAAUl5H,EAAG/xB,SAAS,IAAK,KAEvC+xB,GAhBX,IAyDA,SAA8Bu8D,GAC5B9wF,OAAOsV,WAAWw7E,EAAI,KAMzB9wF,OAAO2tJ,iBACV3tJ,OAAO2tJ,eAEH3tJ,OAAO4tJ,kBACP5tJ,OAAO6tJ,sBACP7tJ,OAAO8tJ,mBACP9tJ,OAAO+tJ,iBAGP,SAAgCn4I,GAC9B5V,OAAO0W,aAAad,KAO5B,IAAIo4I,EAAc,WAChB,IAAIpjJ,EAASZ,SAASymB,cAAc,UACpC,IAAK7lB,IAAWA,EAAO23D,WACrB,OAAO,EAGT,IAAID,EAAM13D,EAAO23D,WAAW,MAC5B,QAAKD,EAAIe,iBAGJf,EAAI2rF,aAIJrqJ,MAAM5B,UAAUs+B,QAGhB18B,MAAM5B,UAAUqF,OAjBL,GA0Bd0kJ,EAAc,WAChB,GAAKiC,EAAL,CAYA,IARA,IAMIE,EAAUC,EANV7rF,EAAMt4D,SAASymB,cAAc,UAAU8xC,WAAW,MAGlD3zB,EAAO,GAKJA,GAAM,CAEX,GADA0zB,EAAIy5C,KAAOntE,EAAKpsC,SAAS,IAAM,gBAC3B8/D,EAAI65C,YAAY,KAAU/xG,QAAU8jJ,GAAY5rF,EAAI65C,YAAY,KAAK/xG,QAAU+jJ,EACjF,OAAOv/G,EAAO,EAGhBs/G,EAAW5rF,EAAI65C,YAAY,KAAU/xG,MACrC+jJ,EAAS7rF,EAAI65C,YAAY,KAAK/xG,MAE9BwkC,IAGF,OAAO,GAzBS,GA6Bdw/G,EAAe,SAAsB/rJ,GACvC,IAAK,IAAI8F,EAAG4F,EAAG3N,EAAIiC,EAAIM,OAAQvC,EAAG+H,EAAI+K,KAAKwR,MAAMxR,KAAKC,SAAW/S,GAAI2N,EAAI1L,IAAMjC,GAAIiC,EAAIjC,GAAKiC,EAAI8F,GAAI9F,EAAI8F,GAAK4F,GAC7G,OAAO1L,GAGLgsJ,EAAY,SAAmBv4H,EAAUnM,GAC3C,GAAKqkI,EAAL,CAIKpqJ,MAAMuiB,QAAQ2P,KACjBA,EAAW,CAACA,IAGdA,EAAS/D,SAAQ,SAAU7iB,EAAI9O,GAC7B,GAAkB,iBAAP8O,GAET,GADA4mB,EAAS11B,GAAK4J,SAASC,eAAeiF,IACjC4mB,EAAS11B,GACZ,KAAM,8CAEH,IAAK8O,EAAGo/I,UAAYp/I,EAAGs/C,YAC5B,KAAM,8DAKV,IAAI+/F,EAAW,CACbxrJ,KAAM,GACNgkC,WAAY,6FACZi1E,WAAY,SACZz6F,MAAO,cAEPwqI,YAAaA,EACbC,YAAa,GAEba,aAAa,EACbv3G,gBAAiB,OAEjB4yG,SAAU,EACVsG,gBAAgB,EAChBr2H,OAAQ,KAERs2H,UAAU,EACVC,UAAW,oBACXC,aAAc,GAEdl6G,KAAM,EACNm6G,eAAgB,EAChBC,MAAO,aAEP5C,aAAc/4I,KAAKE,GAAK,EACxB84I,YAAah5I,KAAKE,GAAK,EACvB07I,YAAa,GACbC,cAAe,EAEfC,SAAS,EAET16I,MAAO,SACP26I,YAAa,EAEbtyE,QAAQ,EACRuyE,YAAY,EACZ1wE,UAAW,EACX5b,YAAa,OACbD,WAAY,GACZwsF,UAAW,IACXC,QAAS,KAETxE,iBAAkB,KAClByE,iBAAkB,MAGdC,EAAmB,GAEzB,GAAI3lI,EACF,IAAK,IAAIhoB,KAAOgoB,EACd,GAAY,cAARhoB,EACF,IAAK,IAAI4tJ,KAAW5lI,EAAQhoB,GACtB4tJ,KAAWhB,IACbA,EAASgB,GAAW5lI,EAAQhoB,GAAK4tJ,SAIjC5tJ,KAAO4sJ,IACTA,EAAS5sJ,GAAOgoB,EAAQhoB,IAWhC,GALI4sJ,EAASxC,YAAcA,IAEzBwC,EAASxC,YAAcA,GAGrBwC,EAASxC,YAAcwC,EAASvC,YAClC3jG,QAAQxgD,MAAM,wCADhB,CAMA,IADA,IAAI2nJ,EAAY,EACPpvJ,EAAI,EAAGA,EAAImuJ,EAASxrJ,KAAKJ,OAAQvC,IACpCovJ,EAAYjB,EAASxrJ,KAAK3C,GAAGsqJ,SAC/B8E,EAAYjB,EAASxrJ,KAAK3C,GAAGsqJ,QAIjC,IAWI+E,GAAa,EAEjB,GAA8B,mBAAnBlB,EAASj6I,MAClB,OAAQi6I,EAASj6I,OACf,IAAK,SAEL,QAEEi6I,EAASj6I,MAAQ,SACjB,MAEF,IAAK,WAEHi6I,EAASj6I,MAAQ,SAAuBo7I,GACtC,OAAO,EAAIx8I,KAAKioB,IAAIu0H,IAEtBD,GAAa,EACb,MAWF,IAAK,UACHlB,EAASj6I,MAAQ,SAAqBo7I,GACpC,IAAMC,EAAaD,GAAU,EAAIx8I,KAAKE,GAAM,GAC5C,OAAO,GAAKF,KAAKw1B,IAAIinH,GAAcz8I,KAAKioB,IAAIw0H,KAE9C,MACF,IAAK,SAIHpB,EAASj6I,MAAQ,SAAqBo7I,GACpC,IAAMC,GAAcD,EAAQx8I,KAAKE,GAAK,IAAO,EAAIF,KAAKE,GAAM,GAC5D,OAAO,GAAKF,KAAKw1B,IAAIinH,GAAcz8I,KAAKioB,IAAIw0H,KAE9C,MAEF,IAAK,mBAIHpB,EAASj6I,MAAQ,SAAuBo7I,GACtC,IAAMC,EAAaD,GAAU,EAAIx8I,KAAKE,GAAM,GAC5C,OAAO,GAAKF,KAAKw1B,IAAIinH,GAAcz8I,KAAKI,KAAK,GAAKJ,KAAKioB,IAAIw0H,KAE7D,MAEF,IAAK,oBACHpB,EAASj6I,MAAQ,SAAuBo7I,GACtC,IAAMC,GAAcD,EAAQx8I,KAAKE,KAAQ,EAAIF,KAAKE,GAAM,GACxD,OAAO,GAAKF,KAAKw1B,IAAIinH,GAAcz8I,KAAKI,KAAK,GAAKJ,KAAKioB,IAAIw0H,KAE7D,MAEF,IAAK,WACL,IAAK,cACHpB,EAASj6I,MAAQ,SAAuBo7I,GACtC,IAAMC,GAAcD,EAAmB,EAAVx8I,KAAKE,GAAU,IAAO,EAAIF,KAAKE,GAAM,GAClE,OAAO,GAAKF,KAAKw1B,IAAIinH,GAAcz8I,KAAKI,KAAK,GAAKJ,KAAKioB,IAAIw0H,KAE7D,MACF,IAAK,gBACHpB,EAASj6I,MAAQ,SAAuBo7I,GACtC,IAAMC,GAAcD,EAAmB,EAAVx8I,KAAKE,GAAU,IAAO,EAAIF,KAAKE,GAAM,GAClE,OAAO,GAAKF,KAAKw1B,IAAIinH,GAAcz8I,KAAKI,KAAK,GAAKJ,KAAKioB,IAAIw0H,KAE7D,MAEF,IAAK,WACHpB,EAASj6I,MAAQ,SAAuBo7I,GACtC,IAAMC,GAAcD,EAAQ,OAAW,EAAIx8I,KAAKE,GAAM,GACtD,OAAO,GAAKF,KAAKw1B,IAAIinH,GAAc,QAAWz8I,KAAKioB,IAAIw0H,KAEzD,MAEF,IAAK,OACHpB,EAASj6I,MAAQ,SAAmBo7I,GAClC,IAAMC,GAAcD,EAAQ,OAAW,EAAIx8I,KAAKE,GAAM,IACtD,OAAMs8I,EAAQ,OAAW,EAAIx8I,KAAKE,GAAM,GAAO,EAAIF,KAAKE,GAAM,IAAM,EAEhE,GAAKF,KAAKw1B,IAAK,EAAIx1B,KAAKE,GAAM,GAAKu8I,GAAc,QAAUz8I,KAAKioB,IAAK,EAAIjoB,KAAKE,GAAM,GAAKu8I,IAGpF,GAAKz8I,KAAKw1B,IAAIinH,GAAc,QAAUz8I,KAAKioB,IAAIw0H,KAQhEpB,EAASrG,SAAWh1I,KAAKqP,IAAIrP,KAAKwR,MAAM6pI,EAASrG,UAAW,GAG5D,IASIr9H,EACF+kI,EACAC,EACAp8H,EACAq8H,EAGEC,EAGAzT,EAnBA71I,EAAI8nJ,EAASrG,SACb8H,EAAgBvpJ,EAAI8nJ,EAASI,aAG7BsB,EAAgB/8I,KAAKsmB,IAAI+0H,EAASrC,YAAcqC,EAAStC,aACzDA,EAAc/4I,KAAKsP,IAAI+rI,EAASrC,YAAaqC,EAAStC,aACtD8C,EAAgBR,EAASQ,cAyB7B,OAAQR,EAAShtI,OACf,IAAK,cACH+6H,EAAe,WACb,OAAO4T,EAAiB,GAAI,KAE9B,MAEF,IAAK,eACH5T,EAAe,WACb,OAAO4T,EAAiB,GAAI,KAE9B,MAEF,QACgC,mBAAnB3B,EAAShtI,QAClB+6H,EAAeiS,EAAShtI,OAM9B,IAAI4uI,EAAiB,KACW,mBAArB5B,EAASa,UAClBe,EAAiB5B,EAASa,SAI5B,IAEIgB,EA0oBAC,EA5oBAC,GAAc,EACdC,EAAW,GAGXC,EAAiC,SAAwCrpG,GAC3E,IAEIp+B,EACAC,EAHApe,EAASu8C,EAAIspG,cACbniC,EAAO1jH,EAAO8lJ,wBAIdvpG,EAAI8sE,SACNlrG,EAAUo+B,EAAI8sE,QAAQ,GAAGlrG,QACzBC,EAAUm+B,EAAI8sE,QAAQ,GAAGjrG,UAEzBD,EAAUo+B,EAAIp+B,QACdC,EAAUm+B,EAAIn+B,SAEhB,IAAI2nI,EAAS5nI,EAAUulG,EAAK5vF,KACxBkyH,EAAS5nI,EAAUslG,EAAK1vF,IAExB7wB,EAAImF,KAAKwR,MAAOisI,GAAU/lJ,EAAOR,MAAQkkH,EAAKlkH,OAAS,GAAM3D,GAC7DD,EAAI0M,KAAKwR,MAAOksI,GAAUhmJ,EAAOP,OAASikH,EAAKjkH,QAAU,GAAM5D,GAEnE,OAAO8pJ,GAAYA,EAASxiJ,IAAMwiJ,EAASxiJ,GAAGvH,IAG5CqqJ,EAAqB,SAA4BnjJ,EAAM88I,EAAWrjG,EAAKhjC,GAEvEA,EADEzW,EACIA,EAAK6mB,IAEJ,IAIPu8H,EAAiB,SAAwB3pG,GAC3C,IAAIw3B,EAAO6xE,EAA+BrpG,GAC1C,GAAIipG,IAAYzxE,MAIZ0xE,GAAe1xE,GAAQA,EAAKjxE,OAAS,EAAAzM,IAAI09E,EAAM,CAAC,OAAQ,iBAA5D,CAGA,IAAKA,EAKH,OAJA4vE,EAAS3D,sBAAiBpjJ,OAAWA,EAAW2/C,EAAKhjC,QACjDoqI,EAAS5xE,QACXk0E,OAAmBrpJ,EAAWA,EAAW2/C,EAAKhjC,IAKlDoqI,EAAS3D,iBAAiBjsE,EAAKjxE,KAAMixE,EAAK6rE,UAAWrjG,EAAKhjC,GACtDoqI,EAAS5xE,QACXk0E,EAAmBlyE,EAAKjxE,KAAMixE,EAAK6rE,UAAWrjG,EAAKhjC,GAErDisI,EAAUzxE,IAGRoyE,EAAiB,SAAwB5pG,GAC3C,IAAIw3B,EAAO6xE,EAA+BrpG,GACrCw3B,IAIL4vE,EAASc,iBAAiB1wE,EAAKjxE,KAAMixE,EAAK6rE,UAAWrjG,GACrDA,EAAIq1E,mBAIFw0B,EAAiB,GACjBC,EAAoB,SAA2BlsH,GACjD,GAAIisH,EAAejsH,GACjB,OAAOisH,EAAejsH,GAIxB,IAAImsH,EAAa,EAATnsH,EAGJzjC,EAAI4vJ,EACJhzH,EAAS,GAMb,IAJe,IAAX6G,GACF7G,EAAO72B,KAAK,CAACosB,EAAO,GAAIA,EAAO,GAAI,IAG9BnyB,KAAK,CAEV,IAAIuhJ,EAAK,EACc,WAAnB0L,EAASj6I,QACXuuI,EAAK0L,EAASj6I,MAAOhT,EAAI4vJ,EAAK,EAAIh+I,KAAKE,KAIzC8qB,EAAO72B,KAAK,CACVosB,EAAO,GAAKsR,EAAS89G,EAAK3vI,KAAKw1B,KAAMpnC,EAAI4vJ,EAAK,EAAIh+I,KAAKE,IACvDqgB,EAAO,GAAKsR,EAAS89G,EAAK3vI,KAAKioB,KAAM75B,EAAI4vJ,EAAK,EAAIh+I,KAAKE,IAAMm7I,EAASU,YACrE3tJ,EAAI4vJ,EAAK,EAAIh+I,KAAKE,KAKvB,OADA49I,EAAejsH,GAAU7G,EAClBA,GAILizH,EAAa,WACf,OAAO5C,EAASK,eAAiB,IAAK,IAAIz5I,MAAOg5E,UAAY4hE,EAAaxB,EAASK,gBA2BjFwC,EAAc,SAAqBnoE,EAAMyhE,EAAQ2G,GAInD,IACIx9H,EArTgB,SAAyB62H,GAC7C,IAAM72H,EAAW3gB,KAAKsP,IACpBtP,KAAKqP,IAAIgsI,EAASxC,YAAcwC,EAASvC,YAActB,EAAU8E,GACjEjB,EAASvC,aAEX,OAAIqE,EACKx8H,EAAW06H,EAASY,UAEtBt7H,EA6SQy9H,CAAgB5G,GAC/B,GAAI72H,GAAY,EACd,OAAO,EAMT,IAAI09H,EAAK,EACL19H,EAAWk4H,IACbwF,EAAK,WAEH,IADA,IAAIA,EAAK,EACFA,EAAK19H,EAAWk4H,GACrBwF,GAAM,EAER,OAAOA,EALJ,IASP,IAAIC,EAAUxnJ,SAASymB,cAAc,UACjCghI,EAAOD,EAAQjvF,WAAW,KAAM,CAAEmvF,oBAAoB,IAE1DD,EAAK11C,KAAOwyC,EAASvyC,WAAa,KAAOnoF,EAAW09H,GAAI/uJ,SAAS,IAAM,MAAQ+rJ,EAASxnH,WAGxF,IAAI4qH,EAAKF,EAAKt1C,YAAYlzB,GAAM7+E,MAAQmnJ,EACpCK,EAAK1+I,KAAKqP,IAAIsR,EAAW09H,EAAIE,EAAKt1C,YAAY,KAAK/xG,MAAOqnJ,EAAKt1C,YAAY,KAAU/xG,OAASmnJ,EAI9FM,EAAWF,EAAU,EAALC,EAChBE,EAAiB,EAALF,EACZG,EAAM7+I,KAAKqmB,KAAKs4H,EAAWprJ,GAC3BurJ,EAAM9+I,KAAKqmB,KAAKu4H,EAAYrrJ,GAChCorJ,EAAWE,EAAMtrJ,EACjBqrJ,EAAYE,EAAMvrJ,EAMlB,IA0CIimJ,EA1CAuF,GAAmBN,EAAK,EAIxBO,EAAwB,IAALN,EAGnBO,EAAMj/I,KAAKqmB,MAAMs4H,EAAW3+I,KAAKsmB,IAAItmB,KAAKioB,IAAIk2H,IAAcS,EAAY5+I,KAAKsmB,IAAItmB,KAAKw1B,IAAI2oH,KAAe5qJ,GACzG2rJ,EAAMl/I,KAAKqmB,MAAMs4H,EAAW3+I,KAAKsmB,IAAItmB,KAAKw1B,IAAI2oH,IAAcS,EAAY5+I,KAAKsmB,IAAItmB,KAAKioB,IAAIk2H,KAAe5qJ,GACzG2D,EAAQgoJ,EAAM3rJ,EACd4D,EAAS8nJ,EAAM1rJ,EAEnB+qJ,EAAQa,aAAa,QAASjoJ,GAC9BonJ,EAAQa,aAAa,SAAUhoJ,GAU/BonJ,EAAKxkI,MAAM,EAAIskI,EAAI,EAAIA,GACvBE,EAAKlyG,UAAWn1C,EAAQmnJ,EAAM,EAAIlnJ,EAASknJ,EAAM,GACjDE,EAAKpuG,QAAQguG,GAIbI,EAAK11C,KAAOwyC,EAASvyC,WAAa,KAAOnoF,EAAW09H,GAAI/uJ,SAAS,IAAM,MAAQ+rJ,EAASxnH,WAQxF0qH,EAAK1pC,UAAY,OACjB0pC,EAAK19H,aAAe,SACpB09H,EAAKxD,SAAShlE,EAAMgpE,EAAkBV,GAAKW,EAA6B,GAAXr+H,GAAkB09H,GAI/E,IACE7E,EAAY+E,EAAKpuF,aAAa,EAAG,EAAGj5D,EAAOC,GAAQtH,KACnD,MAAOuB,GAEP,OAAO,EAGT,GAAI6sJ,IACF,OAAO,EAgBT,IANA,IAEEmB,EACAvkJ,EACAvH,EAJE+rJ,EAAW,GACXC,EAAKJ,EAILK,EAAS,CAACN,EAAM,EAAGC,EAAM,EAAGD,EAAM,EAAGC,EAAM,GACxCI,KAEL,IADAF,EAAKH,EACEG,KAAM,CACX9rJ,EAAIC,EACJisJ,EAAgB,CACd,KAAOlsJ,KAEL,IADAuH,EAAItH,EACGsH,KACL,GAAI2+I,EAAkD,IAAtC4F,EAAK7rJ,EAAID,GAAK4D,GAASooJ,EAAK/rJ,EAAIsH,IAAU,GAAI,CAC5DwkJ,EAASlrJ,KAAK,CAACmrJ,EAAIF,IAEfE,EAAKC,EAAO,KACdA,EAAO,GAAKD,GAEVA,EAAKC,EAAO,KACdA,EAAO,GAAKD,GAEVF,EAAKG,EAAO,KACdA,EAAO,GAAKH,GAEVA,EAAKG,EAAO,KACdA,EAAO,GAAKH,GAOd,MAAMI,EAzIN,GA4JZ,MAAO,CACLnB,GAAIA,EACJgB,SAAUA,EACVE,OAAQA,EACRE,GAAIP,EACJQ,GAAIT,EACJF,gBAAiBA,EACjBC,gBAAiBA,EACjBW,cAAelB,EACfmB,eAAgBlB,EAChB/9H,SAAUA,IA4BVk/H,EAAW,SAAkBP,EAAIF,EAAI3zE,EAAMsK,EAAMyhE,EAAQt+G,EAAUsjH,EAAO2B,EAAWpxG,EAAY1rB,EAAIg0G,GACvG,IAAI10G,EAAW8qD,EAAK9qD,SAChBtS,EAAQgtI,EAAShtI,MACjB6tI,EAAUb,EAASa,QACvB,GAAK7mB,EAYE,CACL,IAAMt2F,EAAO+gH,EAAuBz+H,GACpChT,EAAQ0wB,EAAOA,EAAK1wB,MAAQgtI,EAAShtI,WAZnCA,EADE+6H,EACMA,EAAarzD,EAAMyhE,EAAQ72H,EAAUuY,EAAUsjH,GAE/CnB,EAAShtI,MAIjB6tI,EADEe,EACQA,EAAelnE,EAAMyhE,EAAQ72H,EAAUuY,EAAUsjH,GAEjDnB,EAASa,QAQvB,IAAIqD,EAAS9zE,EAAK8zE,OAEPA,EAAO,GACPA,EAAO,GACZA,EAAO,GAAKA,EAAO,GACnBA,EAAO,GAAKA,EAAO,GAGzB38H,EAAS/D,SAAQ,SAAU7iB,GACzB,GAAIA,EAAGqzD,WAAY,CACjB,IAAID,EAAMpzD,EAAGqzD,WAAW,MACpBgvF,EAAK5yE,EAAK4yE,GAGdjvF,EAAI2wF,OACJ,IAAMl3C,EAAOwyC,EAASvyC,WAAa,KAAOnoF,EAAW09H,GAAI/uJ,SAAS,IAAM,MAAQ+rJ,EAASxnH,WACzFu7B,EAAIr1C,MAAM,EAAIskI,EAAI,EAAIA,GAEtBjvF,EAAIy5C,KAAOA,EACXz5C,EAAIylD,UAAYxmG,EAIhB,IAAI2xI,GAAUV,EAAK7zE,EAAKg0E,GAAK,GAAKlsJ,EAAI8qJ,EAClC4B,GAAUb,EAAK3zE,EAAKi0E,GAAK,GAAKnsJ,EAAI8qJ,EACtCjvF,EAAI/iB,UAAU2zG,EAAQC,GACJ,IAAd9B,GACF/uF,EAAIjf,QAAQguG,GAUd/uF,EAAIvuC,aAAe,SACfw6H,EAAS/vE,WAAajqD,IACxB+tC,EAAIM,YAAc2rF,EAAS3rF,YAC3BN,EAAIK,WAAa4rF,EAAS5rF,YAE5BL,EAAI2rF,SAAShlE,EAAMtK,EAAKszE,gBAAkBV,GAAK5yE,EAAKuzE,gBAA6B,GAAXr+H,GAAkB09H,GAMnFhpB,GACH+mB,EAAiBjoJ,KAAK,CACpBmrJ,GAAIA,EACJF,GAAIA,EACJ3zE,KAAMA,EACNsK,KAAMA,EACNyhE,OAAQA,EACRt+G,SAAUA,EACVsjH,MAAOA,EACP2B,UAAWA,EACXpxG,WAAYA,EACZ1rB,GAAIA,EACJhT,MAAOA,IAIX+gD,EAAI8wF,cACC,CAEL,IAAIC,EAAOrpJ,SAASymB,cAAc,QAC9B6iI,EAAgB,GACpBA,EAAgB,WAAcjC,EAAYn+I,KAAKE,GAAM,IAAM,QAC3C,IAAZurE,EAAK4yE,KACP+B,GAAiB,eAAiB30E,EAAKk0E,cAAgB,EAAtC,aAA8D,EAAIl0E,EAAK4yE,GAAK,KAE/F,IAAIgC,EAAa,CACfjpI,SAAU,WACV0kC,QAAS,QACT+sD,KAAMwyC,EAASvyC,WAAa,IAAMnoF,EAAW8qD,EAAK4yE,GAAK,MAAQhD,EAASxnH,WACxErI,MAAO8zH,EAAK7zE,EAAKg0E,GAAK,GAAKlsJ,EAAIk4E,EAAKszE,gBAAkB,KACtDrzH,KAAM0zH,EAAK3zE,EAAKi0E,GAAK,GAAKnsJ,EAAIk4E,EAAKuzE,gBAAkB,KACrD9nJ,MAAOu0E,EAAKk0E,cAAgB,KAC5BxoJ,OAAQs0E,EAAKm0E,eAAiB,KAC9BluE,WAAY/wD,EAAW,KACvB2/H,WAAY,SACZn4F,UAAWi4F,EACXG,gBAAiBH,EACjBI,YAAaJ,EACbK,gBAAiB,UACjBC,sBAAuB,UACvBC,kBAAmB,WAMrB,IAAK,IAAIC,KAJLvyI,IACFgyI,EAAWhyI,MAAQA,GAErB8xI,EAAKviF,YAAcmY,EACCsqE,EAClBF,EAAK1mJ,MAAMmnJ,GAAWP,EAAWO,GAEnC,GAAI7zG,EACF,IAAK,IAAIC,KAAaD,EACpBozG,EAAKhB,aAAanyG,EAAWD,EAAWC,IAGxCkvG,IACFiE,EAAK3iI,WAAa0+H,GAEpBlgJ,EAAGs/C,YAAY6kG,QAMjBU,EAAa,SAAoBhmJ,EAAGvH,EAAGioJ,EAAUjE,EAAW98I,GAC9D,KAAIK,GAAK6hJ,GAAOppJ,GAAKqpJ,GAAO9hJ,EAAI,GAAKvH,EAAI,GAAzC,CAMA,GAFAqkB,EAAK9c,GAAGvH,IAAK,EAETioJ,EACQ34H,EAAS,GAAGysC,WAAW,MAC7BiqF,SAASz+I,EAAItH,EAAGD,EAAIC,EAAGupJ,EAAeA,GAGxCM,IACFC,EAASxiJ,GAAGvH,GAAK,CAAEkH,KAAMA,EAAM88I,UAAWA,MAiD1CwJ,EAAsB,SAA6BC,EAAKt1E,EAAMsK,EAAMyhE,EAAQt+G,EAAUilH,EAAWpxG,EAAY1rB,GAC/G,IAAIi+H,EAAKt/I,KAAKwR,MAAMuvI,EAAI,GAAKt1E,EAAKg0E,GAAK,GACnCL,EAAKp/I,KAAKwR,MAAMuvI,EAAI,GAAKt1E,EAAKi0E,GAAK,GAC9Bj0E,EAAKg0E,GACLh0E,EAAKi0E,GAId,QAlOe,SAAoBJ,EAAIF,EAAIK,EAAIC,EAAIL,GAInD,IADA,IAAInyJ,EAAImyJ,EAAS5vJ,OACVvC,KAAK,CACV,IAAI+zB,EAAKq+H,EAAKD,EAASnyJ,GAAG,GACtBg0B,EAAKk+H,EAAKC,EAASnyJ,GAAG,GAE1B,GAAI+zB,GAAMy7H,GAAOx7H,GAAMy7H,GAAO17H,EAAK,GAAKC,EAAK,GAC3C,IAAKm6H,EAASC,eACZ,OAAO,OAKX,IAAK3jI,EAAKsJ,GAAIC,GACZ,OAAO,EAGX,OAAO,EA+MF8/H,CAAW1B,EAAIF,EAAIK,EAAIC,EAAIj0E,EAAK4zE,YAKrCQ,EAASP,EAAIF,EAAI3zE,EAAMsK,EAAMyhE,EAAQt+G,EAAU6nH,EAAI,GAAI5C,EAAWpxG,EAAY1rB,GAAI,GAxDnE,SAAoBi+H,EAAIF,EAAIK,EAAIC,EAAIj0E,GACnD,IAEIrc,EAOAkoF,EATA+H,EAAW5zE,EAAK4zE,SAChB9D,EAAWF,EAASE,SASxB,GAPIA,KACFnsF,EAAMxsC,EAAS,GAAGysC,WAAW,OACzB0wF,OACJ3wF,EAAIylD,UAAYwmC,EAASG,WAIvB4B,EAAa,CACf,IAAImC,EAAS9zE,EAAK8zE,OAClBjI,EAAY,CACVz8I,GAAIykJ,EAAKC,EAAO,IAAMhsJ,EACtBD,GAAI8rJ,EAAKG,EAAO,IAAMhsJ,EACtB0yB,GAAIs5H,EAAO,GAAKA,EAAO,GAAK,GAAKhsJ,EACjCic,GAAI+vI,EAAO,GAAKA,EAAO,GAAK,GAAKhsJ,GAKrC,IADA,IAAIrG,EAAImyJ,EAAS5vJ,OACVvC,KAAK,CACV,IAAI+zB,EAAKq+H,EAAKD,EAASnyJ,GAAG,GACtBg0B,EAAKk+H,EAAKC,EAASnyJ,GAAG,GAE1B,KAAI+zB,GAAMy7H,GAAOx7H,GAAMy7H,GAAO17H,EAAK,GAAKC,EAAK,GAA7C,CAKA,IAAM6d,EAAO+gH,EAAuBr0E,EAAKjxE,KAAK6mB,IAC1C0d,IACF0sC,EAAKjxE,KAAK6T,MAAQ0wB,EAAK1wB,OAEzBwyI,EAAW5/H,EAAIC,EAAIq6H,EAAUjE,EAAW7rE,EAAKjxE,OAG3C+gJ,GACFnsF,EAAI8wF,UAoBNe,CAAW3B,EAAIF,EAAIK,EAAIC,EAAIj0E,GAEpB,CACL6zE,GAAIA,EACJF,GAAIA,EACJ8B,IAAK/C,EACL1yE,KAAMA,KAON01E,EAAU,SAAiB3mJ,GAC7B,IAAIu7E,EAAMyhE,EAAQzqG,EAAY1rB,EAC1B3wB,MAAMuiB,QAAQzY,IAChBu7E,EAAOv7E,EAAK,GACZg9I,EAASh9I,EAAK,KAEdu7E,EAAOv7E,EAAKu7E,KACZyhE,EAASh9I,EAAKg9I,OACdzqG,EAAavyC,EAAKuyC,WAClB1rB,EAAK7mB,EAAK6mB,IAEZ,IAAI88H,EAAY,EAAAlnJ,MAAMuD,EAAK2jJ,WAvcE,IAAzB9C,EAASO,aAIT57I,KAAKC,SAAWo7I,EAASO,YAHpB,EAOa,IAAlBmB,EACKhE,EAKL8C,EAAgB,EAEX9C,EAAe/4I,KAAKwR,MAAMxR,KAAKC,SAAW47I,GAAiBkB,EAAiBlB,EAE5E9C,EAAc/4I,KAAKC,SAAW88I,EAqbkBviJ,EAAK2jJ,UAG1D1yE,EAAOyyE,EAAYnoE,EAAMyhE,EAAQ2G,GAMrC,GALI1yE,IACFA,EAAW,KAAIjxE,IAIZixE,EACH,OAAO,EAGT,GAAIwyE,IACF,OAAO,EAMT,IAAK5C,EAASC,eAAgB,CAC5B,IAAIiE,EAAS9zE,EAAK8zE,OAClB,GAAIA,EAAO,GAAKA,EAAO,GAAK,EAAI7C,GAAO6C,EAAO,GAAKA,EAAO,GAAK,EAAI5C,EACjE,OAAO,EAOX,IADA,IAAI3uJ,EAAI4uJ,EAAY,EACb5uJ,KAAK,CACV,IAAIg9B,EAAS+yH,EAAkBnB,EAAY5uJ,GAEvCqtJ,EAASS,UACX9wH,EAAS,GAAGn2B,OAAOm2B,GACnBkwH,EAAalwH,IAMf,IAAK,IAAI99B,EAAI,EAAGA,EAAI89B,EAAOv7B,OAAQvC,IAAK,CACtC,IAAIu5B,EAAMq6H,EAAoB91H,EAAO99B,GAAIu+E,EAAMsK,EAAMyhE,EAAQoF,EAAY5uJ,EAAGmwJ,EAAWpxG,EAAY1rB,GACnG,GAAIoF,EACF,OAAOA,GAWb,OAAO,MAKL26H,EAAY,SAAmB3mJ,EAAM4mJ,EAAYC,GACnD,GAAID,EACF,OAAQz+H,EAASwK,MAAK,SAAUpxB,GAC9B,IAAIi4C,EAAMn9C,SAASyqJ,YAAY,eAE/B,OADAttG,EAAIutG,gBAAgB/mJ,GAAM,EAAM4mJ,EAAYC,GAAU,KAC9CtlJ,EAAGylJ,cAAcxtG,KACxBpjD,MAEH+xB,EAAS/D,SAAQ,SAAU7iB,GACzB,IAAIi4C,EAAMn9C,SAASyqJ,YAAY,eAC/BttG,EAAIutG,gBAAgB/mJ,GAAM,EAAM4mJ,EAAYC,GAAU,IACtDtlJ,EAAGylJ,cAAcxtG,KAChBpjD,OAIHivJ,EAAyB,SAAgCz+H,GAC3D,IAAK,IAAIn0B,EAAI,EAAGA,EAAIkvJ,EAAiB3sJ,OAAQvC,IAAK,CAChD,IAAM6xC,EAAOq9G,EAAiBlvJ,GAC9B,GAAIkvJ,EAAiBlvJ,GAAGm0B,KAAOA,EAC7B,OAAO0d,IAOT9tB,EAAQ,SAAeq6D,GACzB,QAAiBh3E,IAAbg3E,EAAJ,CAsCA,IAAI5zE,EAASkrB,EAAS,GAEtB,GAAIlrB,EAAO23D,WACTqtF,EAAM18I,KAAKqmB,KAAK3uB,EAAOR,MAAQ3D,GAC/BopJ,EAAM38I,KAAKqmB,KAAK3uB,EAAOP,OAAS5D,OAC3B,CACL,IAAI6nH,EAAO1jH,EAAO8lJ,wBAClBd,EAAM18I,KAAKqmB,KAAK+0F,EAAKlkH,MAAQ3D,GAC7BopJ,EAAM38I,KAAKqmB,KAAK+0F,EAAKjkH,OAAS5D,GAKhC,GAAK6tJ,EAAU,kBAAkB,GAAjC,CAcA,IAAI9B,EAAIF,EAAIlyJ,EACZ,GAVAqzB,EAAS86H,EAASp2H,OAAS,CAACo2H,EAASp2H,OAAO,GAAK1xB,EAAG8nJ,EAASp2H,OAAO,GAAK1xB,GAAK,CAACmpJ,EAAM,EAAGC,GAAOJ,EAAa,EAAI,IAGhHK,EAAY58I,KAAKwR,MAAMxR,KAAKI,KAAKs8I,EAAMA,EAAMC,EAAMA,IAInDhlI,EAAO,IAGFjgB,EAAO23D,YAAcgsF,EAAS1B,YAgBjC,IAfA/2H,EAAS/D,SAAQ,SAAU7iB,GACzB,GAAIA,EAAGqzD,WAAY,CACjB,IAAID,EAAMpzD,EAAGqzD,WAAW,MACxBD,EAAIylD,UAAYwmC,EAASj5G,gBACzBgtB,EAAIE,UAAU,EAAG,EAAGotF,GAAOnpJ,EAAI,GAAIopJ,GAAOppJ,EAAI,IAC9C67D,EAAIkqF,SAAS,EAAG,EAAGoD,GAAOnpJ,EAAI,GAAIopJ,GAAOppJ,EAAI,SAE7CyI,EAAG4hE,YAAc,GACjB5hE,EAAGvC,MAAM2oC,gBAAkBi5G,EAASj5G,gBACpCpmC,EAAGvC,MAAM2d,SAAW,cAKxBkoI,EAAK5C,EACE4C,KAGL,IAFA3nI,EAAK2nI,GAAM,GACXF,EAAKzC,EACEyC,KACLznI,EAAK2nI,GAAIF,IAAM,MAGd,CAGL,IAAI/F,EAAOviJ,SAASymB,cAAc,UAAU8xC,WAAW,MAEvDgqF,EAAKxkC,UAAYwmC,EAASj5G,gBAC1Bi3G,EAAKC,SAAS,EAAG,EAAG,EAAG,GACvB,IAQIz+I,EAAGvH,EARHimJ,EAAUF,EAAKlpF,aAAa,EAAG,EAAG,EAAG,GAAGtgE,KAKxC2pJ,EAAY9hJ,EAAO23D,WAAW,MAAMc,aAAa,EAAG,EAAGusF,EAAMnpJ,EAAGopJ,EAAMppJ,GAAG1D,KAI7E,IAFAyvJ,EAAK5C,EAEE4C,KAGL,IAFA3nI,EAAK2nI,GAAM,GACXF,EAAKzC,EACEyC,KAAM,CACX9rJ,EAAIC,EACJisJ,EAAgB,KAAOlsJ,KAErB,IADAuH,EAAItH,EACGsH,KAEL,IADA3N,EAAI,EACGA,KACL,GAAIssJ,EAAoD,IAAxC4F,EAAK7rJ,EAAID,GAAKopJ,EAAMnpJ,GAAK+rJ,EAAK/rJ,EAAIsH,IAAU3N,KAAOqsJ,EAAQrsJ,GAAI,CAC7EyqB,EAAK2nI,GAAIF,IAAM,EACf,MAAMI,GAKO,IAAjB7nI,EAAK2nI,GAAIF,KACXznI,EAAK2nI,GAAIF,IAAM,GAKrB5F,EAAYH,EAAOE,OAAUjlJ,EAI/B,GAAI+mJ,EAAS3D,kBAAoB2D,EAASc,iBAAkB,CAK1D,IAJAiB,GAAc,EAGdkC,EAAK5C,EAAM,EACJ4C,KACLjC,EAASiC,GAAM,GAGbjE,EAAS3D,kBACXhgJ,EAAOgE,iBAAiB,YAAakiJ,GAGnCvC,EAASc,mBACXzkJ,EAAOgE,iBAAiB,QAASmiJ,GACjCnmJ,EAAOgE,iBAAiB,aAAcmiJ,GACtCnmJ,EAAOgE,iBAAiB,YAAY,SAAUtK,GAC5CA,EAAEk4H,oBAEJ5xH,EAAO+B,MAAMioJ,wBAA0B,oBAGzChqJ,EAAOgE,iBAAiB,kBAAkB,SAASimJ,IACjDjqJ,EAAOmqC,oBAAoB,iBAAkB8/G,GAE7CjqJ,EAAOmqC,oBAAoB,YAAa+7G,GACxClmJ,EAAOmqC,oBAAoB,QAASg8G,GACpCX,OAAU5oJ,KAId,GAAK+mJ,EAASW,WA+CP,CAEL,IAAI4F,EAAiBC,EADrB30J,EAAI,EAEkB,IAAlBmuJ,EAAS95G,MACXqgH,EAAkB90J,OAAOsV,WACzBy/I,EAAmB/0J,OAAO0W,eAE1Bo+I,EAAkB90J,OAAOktJ,aACzB6H,EAAmB/0J,OAAO2tJ,gBAG5B,IAMI54G,EAAsB,SAA6BpnC,EAAMqnJ,GAC3Dl/H,EAAS/D,SAAQ,SAAU7iB,GACzBA,EAAG6lC,oBAAoBpnC,EAAMqnJ,KAC5BjxJ,OAGDkxJ,EAAwB,SAASA,IACnClgH,EAAoB,iBAAkBkgH,GACtCF,EAAiBn/I,KAdI,SAA0BjI,EAAMqnJ,GACrDl/H,EAAS/D,SAAQ,SAAU7iB,GACzBA,EAAGN,iBAAiBjB,EAAMqnJ,KACzBjxJ,MAcL6K,CAAiB,iBAAkBqmJ,GAEnC,IAAIr/I,EAAQk/I,GAAgB,SAASt5B,IACnC,GAAIp7H,GAAKmuJ,EAASxrJ,KAAKJ,OAKrB,OAJAoyJ,EAAiBn/I,GACjB0+I,EAAU,iBAAiB,QAC3Bv/G,EAAoB,iBAAkBkgH,GAIxClF,GAAa,IAAI56I,MAAOg5E,UACxB,IAAI+mE,EAAQb,EAAQ9F,EAASxrJ,KAAK3C,IAC9B+0J,GAAYb,EAAU,kBAAkB,EAAM,CAChD5mJ,KAAM6gJ,EAASxrJ,KAAK3C,GACpB80J,MAAOA,IAET,GAAI/D,KAAgBgE,EAMlB,OALAJ,EAAiBn/I,GACjB24I,EAASM,QACTyF,EAAU,kBAAkB,GAC5BA,EAAU,iBAAiB,QAC3Bv/G,EAAoB,iBAAkBkgH,GAGxC70J,IACAwV,EAAQk/I,EAAgBt5B,EAAM+yB,EAAS95G,QACtC85G,EAAS95G,UArGY,CACpB9qB,EAAQwhI,WAEVr1H,EAAS/D,SAAQ,SAAU7iB,GACzB,GAAIA,EAAGqzD,WAAY,CACjB,IAAID,EAAMpzD,EAAGqzD,WAAW,MACxBD,EAAIylD,UAAYwmC,EAASj5G,gBACzBgtB,EAAIE,UAAU,EAAG,EAAGotF,GAAOnpJ,EAAI,GAAIopJ,GAAOppJ,EAAI,IAC9C67D,EAAIkqF,SAAS,EAAG,EAAGoD,GAAOnpJ,EAAI,GAAIopJ,GAAOppJ,EAAI,QAKnD,IADA,IAAM2uJ,EAAgB,GACb,EAAI,EAAG,EAAI7G,EAASxrJ,KAAKJ,OAAQ,IAAK,CAC7C,IAAM0yJ,EAAWhB,EAAQ9F,EAASxrJ,KAAK,IACnCsyJ,GACFD,EAAc/tJ,KAAKguJ,GAGvB,GAAID,EAAczyJ,SAAW4rJ,EAASxrJ,KAAKJ,SACpC0tJ,EAAa,CAWhB,IAVAv6H,EAAS/D,SAAQ,SAAU7iB,GACzB,GAAIA,EAAGqzD,WAAY,CACjB,IAAID,EAAMpzD,EAAGqzD,WAAW,MACxBD,EAAIylD,UAAYwmC,EAASj5G,gBACzBgtB,EAAIE,UAAU,EAAG,EAAGotF,GAAOnpJ,EAAI,GAAIopJ,GAAOppJ,EAAI,IAC9C67D,EAAIkqF,SAAS,EAAG,EAAGoD,GAAOnpJ,EAAI,GAAIopJ,GAAOppJ,EAAI,QAIjD+rJ,EAAK5C,EACE4C,KAGL,IAFA3nI,EAAK2nI,GAAM,GACXF,EAAKzC,EACEyC,KACLznI,EAAK2nI,GAAIF,IAAM,EAGnBjC,GAAc,EACd,IAAK,IAAI,EAAI,EAAG,EAAI9B,EAASxrJ,KAAKJ,OAAQ,IACxC0xJ,EAAQ,EAAD,uBACF9F,EAASxrJ,KAAK,IAAE,CACnBstJ,YAAW,aA1MnB,GAAI9B,EAAS/vE,WAAaA,GAAY1oD,EAAS,GAAGysC,WAAY,CAC5DgsF,EAAS/vE,SAAWA,EACpB,IAAMlc,EAAMxsC,EAAS,GAAGysC,WAAW,MAEnCD,EAAIylD,UAAYwmC,EAASj5G,gBACzBgtB,EAAIE,UAAU,EAAG,EAAG1sC,EAAS,GAAG1rB,MAAO0rB,EAAS,GAAGzrB,QACnDi4D,EAAIkqF,SAAS,EAAG,EAAG12H,EAAS,GAAG1rB,MAAO0rB,EAAS,GAAGzrB,QAElD,IAAK,IAAI,EAAI,EAAG,EAAIilJ,EAAiB3sJ,OAAQ,IAAK,CAChD,IAAMsvC,EAAOq9G,EAAiB,KACzBe,GAAgBA,GAAe,EAAApvJ,IAAIgxC,EAAM,CAAC,OAAQ,OAAQ,kBAK7D8gH,EACE9gH,EAAKugH,GACLvgH,EAAKqgH,GACLrgH,EAAK0sC,KACL1sC,EAAKg3C,KACLh3C,EAAKy4G,OACLz4G,EAAK7F,SACL6F,EAAKy9G,MACLz9G,EAAKo/G,UACLp/G,EAAKgO,WACLhO,EAAK1d,IACL,MAgPZpQ,KAl8BA,SAAS+rI,EAAiB1tI,EAAKD,GAC7B,MACE,QACiB,IAAhBrP,KAAKC,UAAgBmmB,UACtB,KACiB,GAAhBpmB,KAAKC,SAAgB,IAAImmB,UAC1B,MACCpmB,KAAKC,UAAYoP,EAAMC,GAAOA,GAAK8W,UACpC,OA67BN+0H,EAAUL,YAAcA,EACxBK,EAAUtC,YAAcA,EAExB,UAAesC,G,yFCz1Cf,OACA,0BACA,4BAKA,2B,+CAkBA,OAlBkC,iBAGzB,YAAAtjJ,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,OAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAAxhC,eAAP,WAEE,OADmB/qG,KAAK8G,OAAO,GAClBikG,kBAGR,YAAAT,cAAP,WAEE,OADmBtqG,KAAK8G,OAAO,GAClBwjG,iBAfD,EAAApkF,kBAAwD,UAAUA,kBAiBlF,EAlBA,CAAkC,W,UAAbqrI,G,2GCXrB,WACA,QAUS,yEAVa,EAAArtI,aAUF,uEAVwB,EAAAW,WAE5C,IAIMs/F,EAA6B,EAAAvgG,YAJd,CACnB+mF,KAAM,aAKR,EAAAxqG,OAAO,EAAA+jB,UAAWigG,I,yFCTlB,OACA,0BACA,4BAIA,2B,+CAQA,OARoC,iBAG3B,YAAAn9G,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,SAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA0D,UAAYA,kBAOtF,EARA,CAAoC,W,UAAfsrI,G,yFCNrB,OACA,OACA,OASA,OAEA,2BACA,QAEA,OACA,OACA,OACA,OACA,OACA,YAEA,SAASlyD,EAAKn7F,EAAGzE,EAAGy0B,GAClB,OAAQ,EAAIA,GAAUhwB,EAAIgwB,EAASz0B,EAGrC,IAAM2tF,EAAc,CAClBC,OAAQ,YAGJC,EAAgB,CACpB18E,SAAU,UA0CZ,cAuEE,WAAY9K,GAAZ,MACE,YAAMA,IAAM,K,OAVE,EAAA6D,KAAe,SAIvB,EAAA6nJ,yBAAmC,EACnC,EAAAC,oBAA8B,EAC9B,EAAAC,0BAAoC,EACpC,EAAAC,0BAAoC,EA8jCpC,EAAAC,4BAA8B,SAACtxJ,GACrC,IAAMwF,EAAQ,EAAK6f,QAGnB,GADmBrlB,EAAEK,OAAO1D,IAAI,QACjB0zE,WAAW,eAAgB,CACxC,IAAMkhF,EAAavxJ,EAAEK,OAAO1D,IAAI,UAMhC,GALA40J,EAAWlsJ,IAAI,aAAcksJ,EAAW50J,IAAI,cAE5C,EAAK60J,qBACL,EAAKC,gBAEDjsJ,EAAMksJ,cAAe,CACvB,IAAMjzJ,EAAO,EAAKkzJ,sCAAsCJ,GACxD,EAAKK,gCAAgCnzJ,GAGvC,GAAI+G,EAAMqsJ,aAAc,CAChBpzJ,EAAO,EAAKkzJ,sCAAsCJ,GACxD,EAAKO,sBAAsBrzJ,GAC3B,EAAKszJ,yBA7kCT,EAAKC,YAAY,EAAK3sI,SAElB7f,EAAMksJ,eACR,EAAKE,gCAAgC,EAAK7pJ,WAGxCvC,EAAMqsJ,eACR,EAAKxsI,QAAQ5mB,KAAO,EAAKwzJ,sBAAsB,EAAKlqJ,Y,EA0kC1D,OA1pC0F,iBAC1E,EAAA4d,kBAAd,SAAgCngB,GAC9B,IAAM0C,EAAiC,CACrC7F,MAAO,CACLujB,SAAS,EACTqnE,aAAa,GAEfilE,WAAY,CACVtsI,SAAS,EACTgH,QAASpnB,EAAMm5C,UAAY,EAAI,GAC/B9xB,QAASrnB,EAAMm5C,UAAY,GAAK,EAChC/3B,QAAS,EACTJ,KAAM,CACJZ,SAAS,EACTvd,MAAO,CACLszD,UAAW,EACX5rC,OAAQ,wBAGZjK,KAAM,CACJ4xC,QAAS,MACTrvD,MAAO,CACLinB,KAAM,wBAGVvyB,MAAO,CACL6oB,SAAS,EACTvd,MAAO,CACLinB,KAAM,SAER6N,UAAW,SAACg1H,EAAaC,GAAgB,OAAK,IAAMA,EAAeD,GAAan9H,QAAQ,GAAE,OAG9F/O,QAAS,CACPL,SAAS,EACTM,QAAQ,EACR4B,WAAW,EACX3B,gBAAgB,EAChBkuD,aAAa,GAEfpyD,UAAW,EAAAzY,QAAQ,GAAI,EAAA+D,oBAAqB,CAC1Cu9C,OAAQ,CACN9oC,SAAU,OAGd0vI,eAAe,EACfW,YAAa,CACXzsI,SAAS,EACTgH,SAAU,GACVC,SAAU,GACVxkB,MAAO,CACLinB,KAAM,UAGVzL,OAAQ,CACNmC,SAAU,iBAEZb,aAAc,CAAC,CAAE9b,KAAM,WAAa,CAAEA,KAAM,mBAE9C,OAAO,EAAAG,QAAQ,GAAI,EAAMmc,kBAAiB,WAAIzd,IAyBzC,YAAAL,cAAP,WACU,IAAAyiB,EAAW7qB,KAAK4lB,QAAO,OAC/B,GAAIiF,EACF,OAAO7qB,KAAKiJ,KAAKjB,gBAAgB6iB,IAI3B,YAAA5B,MAAV,WACE,IAAMljB,EAAQ/F,KAAK4lB,QACb2kF,EAAc,CAClB3gG,KAAM,OACNkkC,QAAS/nC,EAAMm5C,UACXn5C,EAAMksJ,cACJ,CAAC,CAAC,aAAc,CAAC,QAAS,GAAI,IAC9B,CAAC,CAAC,QAAS,GAAI,IACjBlsJ,EAAMksJ,cACN,GACA,CAAC,CAAC,aAAc,CAAC,QAAS,GAAI,KAGpCjyJ,KAAKgsB,UAAU,aAAcu+E,IAGrB,YAAApmF,KAAV,WACEnkB,KAAKgsB,UAAU,QAAQ,IAGf,YAAA6mI,aAAV,SAAuBC,GACrB,IAAM/sJ,EAAQ/F,KAAK4lB,QAGnBktI,EAAOviJ,MAAQxK,EAAMksJ,cAAgB,sBAAwB,oBAE7Da,EAAOt1I,MAAQ,CACbslB,OAAQ,CAAC/8B,EAAM8kB,QACfnK,OAAQ3a,EAAMyX,QAAU3d,MAAMuiB,QAAQrc,EAAMyX,OAASzX,EAAMyX,MAAQ,CAACzX,EAAMyX,SAGxE,EAAAlT,WAAWvE,EAAMgtJ,aAEnBD,EAAOlqJ,MAAQ,CAAEkJ,SAAU/L,EAAMgtJ,aAGjCD,EAAOlqJ,MAAQ,CAAEH,IAAK1C,EAAMgtJ,aAG9BD,EAAO1zG,OAAS,CACd,CACEx1C,KAAM7D,EAAMksJ,cAAgB,QAAU,eAKlC,YAAAzrI,QAAV,WACE,IAAMzgB,EAAQ/F,KAAK4lB,QAEf7f,EAAMqsJ,cACR,EAAAroJ,QAAQhE,EAAMygB,QAAS,CACrBwsI,YAAa,SAACnvI,EAAO2P,GACnB,IAAIy/H,EAAM9nJ,EAAIqS,EAAO01I,EAErBD,EAAO,EAAA9kJ,gBAAgBglJ,gBACvBhoJ,EAAK,EAAA+mG,UAAU,eAAe+gD,EAAI,YAClC,EAAA7nJ,UAAUD,EAAI,EAAA+C,iBAAiB+kJ,IAC/B,IAAMG,EAASjoJ,EAEf,GAAI0Y,EAAO,CACTovI,EAAO,EAAA9kJ,gBAAgBklJ,YACvBloJ,EAAK,EAAA+mG,UAAU,eAAe+gD,EAAI,YAClC,EAAA7nJ,UAAUD,EAAI,EAAA+C,iBAAiB+kJ,IAC/BG,EAAO3oG,YAAYt/C,GACnB,IAAMmoJ,EAAUnoJ,EAEhB8nJ,EAAO,EAAA9kJ,gBAAgBolJ,aACvBpoJ,EAAK,EAAA+mG,UAAU,gBAAgB+gD,EAAI,aACnC,EAAA7nJ,UAAUD,EAAI,EAAA+C,iBAAiB+kJ,IAC/B,EAAA7nJ,UAAUD,EAAI,CAAE9E,MAAO,OAAQC,OAAQ,SACvCgtJ,EAAQ7oG,YAAYt/C,GACpB+nJ,EAAW/nJ,EAEXA,EAAK,EAAA+mG,UAAU,SAASruF,EAAK,WAC7ByvI,EAAQ7oG,YAAYt/C,GAGtB,GAAIqoB,EAAO,CACTy/H,EAAO,EAAA9kJ,gBAAgBqlJ,WACvBroJ,EAAK,EAAA+mG,UAAU,cAAc+gD,EAAI,WACjC,EAAA7nJ,UAAUD,EAAI,EAAA+C,iBAAiB+kJ,IAC/BG,EAAO3oG,YAAYt/C,GACnB,IAAM,EAASA,EAEfqoB,EACGjM,QAAO,SAACksI,EAAO9pJ,GACT6T,IACHA,EAAQ7T,EAAK6T,OAEf,IAAMk2I,EAAgB,EAAAx2J,IAAIyM,EAAM,2CAGhC,OAFgB,EAAAzM,IAAIyM,EAAM,qCAClBqkB,SAAQ,SAAC2tB,EAAQt/C,GAAM,OAAAo3J,EAAMnwJ,KAAK,CAACowJ,EAAcr3J,GAAIs/C,OACtD83G,IACN,IACFzlI,SAAQ,SAAC,EAAwBtvB,G,IAAvBi1J,EAAY,KAAEh4G,EAAM,KAC7Bs3G,EAAO,EAAA9kJ,gBAAgBylJ,gBACvBzoJ,EAAK,EAAA+mG,UAAU,cAAc+gD,EAAI,gBAAgBv0J,EAAK,UACtD,EAAA0M,UAAUD,EAAI,EAAA+C,iBAAiB+kJ,IAC/B,EAAOxoG,YAAYt/C,GACnB,IAAM0oJ,EAAa1oJ,EAEnB8nJ,EAAO,EAAA9kJ,gBAAgB2lJ,WACvB3oJ,EAAK,EAAA+mG,UAAU,gBAAgB+gD,EAAI,KAAKU,EAAY,WACpD,EAAAvoJ,UAAUD,EAAI,EAAA+C,iBAAiB+kJ,IAC/BY,EAAWppG,YAAYt/C,GAEvB8nJ,EAAO,EAAA9kJ,gBAAgB4lJ,YACvB5oJ,EAAK,EAAA+mG,UAAU,gBAAgB+gD,EAAI,KAAKt3G,EAAM,WAC9C,EAAAvwC,UAAUD,EAAI,EAAA+C,iBAAiB+kJ,IAC/BY,EAAWppG,YAAYt/C,MAQ7B,OAJIqS,GAAS01I,GACX,EAAA9nJ,UAAU8nJ,EAAU,CAAE3hH,gBAAiB/zB,IAGlC41I,KAKb,YAAM5sI,QAAO,YAGL,YAAA2C,YAAV,WACE,IAAMpjB,EAAQ/F,KAAK4lB,QACbktI,EAAS,EAAA9kE,QAAQ,WAAY,OAAQ,CACzCC,eAAgB,CAACloF,EAAMksJ,cAAgB,IAAMlsJ,EAAM8kB,OAAQ9kB,EAAM+kB,QACjElkB,KAAM5G,OAERA,KAAK6yJ,aAAaC,GAClB9yJ,KAAK8yJ,OAASA,EACd9yJ,KAAKgsB,UAAU,WAAY8mI,GACtB/sJ,EAAMqsJ,cACTpyJ,KAAKkuF,mBAIC,YAAAA,gBAAV,WACE,IAAM5hE,EAAiBtsB,KAAK4lB,QAAQY,QAChC8F,EAAewW,SACZ9iC,KAAK8yJ,OAAOtsI,UACfxmB,KAAK8yJ,OAAOtsI,QAAU,IAExBxmB,KAAK8yJ,OAAOtsI,QAAQsc,OAASxW,EAAewW,QAE1CxW,EAAeoR,YACZ19B,KAAK8yJ,OAAOtsI,UACfxmB,KAAK8yJ,OAAOtsI,QAAU,IAExBxmB,KAAK8yJ,OAAOtsI,QAAQ1U,SAAWwa,EAAeoR,UACzCpR,EAAewW,SAClB9iC,KAAK8yJ,OAAOtsI,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQiF,OAAQ7qB,KAAK4lB,QAAQkF,WAK5D,YAAAtI,UAAV,sBACE,YAAMA,UAAS,WACf,IAAMzc,EAAQ/F,KAAK4lB,QACnB,IAAwB,IAApB7f,EAAMyc,UAERxiB,KAAK8yJ,OAAOnqI,SAAU,MACjB,CACL,IAAM,EAAO3oB,KAAKsI,UACZ0rJ,EAAiB,EAAA92J,IAAI6I,EAAO,6BAC5B,EAAqBiuJ,GAAkB,EAAKp1J,QAAU,GAExDoB,KAAKi0J,iCACPthJ,aAAa3S,KAAKi0J,uCACXj0J,KAAKi0J,gCAEdj0J,KAAKi0J,+BAAiC1iJ,YAAW,WAC/C,EAAK2iJ,kBAAkB,GACnBnuJ,EAAMqsJ,cACR,EAAK+B,mBAAmB,UAEnB,EAAKF,iCACXD,GAEHh0J,KAAK8yJ,OAAOnqI,QAAU,EAAA5e,QAAQ,GAAIhE,EAAMyc,UAAW,CACjD6oC,OAAQ,CACN7oC,UAAWzc,EAAMm5C,UAAY,iBAAmB,iBAChD38B,SAAU,EACVxQ,MAAO,SAAC2xB,GAAU,SAAAh6B,UAAU,GAAM,SAAC5M,GAAM,SAAAitC,QAAQjtC,EAAG4mC,MAAU,GAC9D5xB,SAAU,SAACvB,GACT,EAAK6jJ,aAAa7jJ,EAAO,GAAM,KAGnC+6C,MAAO,CACL9oC,UAAW,eAMZ,YAAA0H,YAAP,WACE,IAAMnkB,EAAQ/F,KAAK4lB,QAOnB,GANA5lB,KAAKq0J,cACLr0J,KAAKs0J,mBACDvuJ,EAAMqsJ,cACRpyJ,KAAKu0J,oBAGc,QAAjBxuJ,EAAMugB,QAAmB,CAC3B,IAAMkuI,EAAsBx0J,KAAKy0J,2BAC7BD,GACFx0J,KAAK+lB,kBAAkB6I,gBAAgB4lI,EAAqB,SAAS,GAEvE,IAAME,EAAuB10J,KAAK20J,4BAC9BD,GACF10J,KAAK+lB,kBAAkB6I,gBAAgB8lI,EAAsB,SAAS,IAI1E,YAAMxqI,YAAW,YAEO,IAApBnkB,EAAMyc,YACRxiB,KAAKo0J,eACLp0J,KAAKk0J,oBACDnuJ,EAAMqsJ,cACRpyJ,KAAKm0J,sBAIJn0J,KAAK4xJ,4BACR5xJ,KAAK4xJ,0BAA2B,EAER5xJ,KAAKiJ,KAAKk3C,cAAc,UAAUr6C,UAC1C2E,GAAG,YAAazK,KAAK6xJ,+BAIlC,YAAAnqJ,aAAP,SAAoBe,GAClBA,EAAMzI,KAAKuyJ,YAAY9pJ,GACvB,YAAMf,aAAY,UAACe,GACnBzI,KAAK4xJ,0BAA2B,GAG3B,YAAA7pJ,WAAP,SAAkB/I,GAChB,IAAM+G,EAAQ/F,KAAK4lB,QAOnB,IALwB,IAApB7f,EAAMyc,YACRxiB,KAAKyxJ,yBAA0B,EAC/BzxJ,KAAK0xJ,oBAAqB,GAGxB3rJ,EAAMksJ,cAAe,CACvB,IAAM2C,EAAc50J,KAAK60J,0BAA0B71J,GACnDgB,KAAKmyJ,gCAAgCyC,GAGvC,GAAI7uJ,EAAMqsJ,aAAc,CACtBpzJ,EAAOgB,KAAKwyJ,sBAAsBxzJ,GAC5B41J,EAAc50J,KAAK60J,0BAA0B71J,GACnDgB,KAAKqyJ,sBAAsBuC,GAG7B,YAAM7sJ,WAAU,UAAC/I,GAEjBgB,KAAK+xJ,qBACL/xJ,KAAKgyJ,gBACDjsJ,EAAMqsJ,cACRpyJ,KAAKm0J,sBAIC,YAAAvmE,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAA2oJ,YAAV,SAAsBxsJ,GASpB,OARIA,EAAMqsJ,eACRrsJ,EAAMksJ,eAAgB,GAGpBlsJ,EAAMksJ,gBACR,EAAArsJ,IAAIG,EAAO,QAAQA,EAAM+kB,OAAM,SAAS,GACxC,EAAAllB,IAAIG,EAAO,kBAAkB,IAExBA,GAGC,YAAAuuJ,iBAAV,sBACE,GAAKt0J,KAAKyxJ,wBAAV,CAEA,IAAM1rJ,EAAQ/F,KAAK4lB,QACb,EAOF7f,EAAM0sJ,YAAc,GANtBtlI,EAAO,UACPC,EAAO,UACPjG,EAAO,UACP,IAAAJ,KAAM+tI,OAAc,IAAG,KAAE,EACzB,IAAAzuI,KAAM0uI,OAAc,IAAG,KAAE,EACzB,IAAAz3J,MAAO03J,OAAe,IAAG,KAAE,EAGvBC,EAAkB7jJ,KAAKD,MACvBrL,EAAY9F,KAAKy0J,0BAAyB,GAEhDz0J,KAAKk1J,YAAW,SAAC3kJ,EAAO7R,EAAOy2J,EAAYC,GACzC,GAAI12J,EAAQ,EAAG,CACP,MAA6B6R,EAAMsd,UAAjC3d,EAAI,OAAEC,EAAI,OAAEE,EAAI,OAAED,EAAI,OACxBwf,EAAK7pB,EAAMm5C,UAAYhvC,EAAOC,EAC9BqhE,EAAKzrE,EAAMm5C,WAAan5C,EAAMqsJ,aAAe/hJ,EAAeD,EAE5D,EAAwB,EAAKilJ,yCAAyCvvJ,EAAWpH,GAAO,GAAtF,EAAI,OAAE,EAAI,OAAE,EAAK,QAEnB,EAAY,CAChB,SAACsL,EAAGvH,EAAGskB,EAAMV,EAAM/oB,GACbypB,IACFA,EAAK8L,KACH,EAAA9oB,QAAQ,GAAI+qJ,EAAelsJ,MAAO,CAChCgnB,GAAI5lB,EACJwnE,GAAI/uE,EACJgvE,GAAI1rE,EAAMm5C,UAAYl1C,EAAImjB,EAAUnjB,EAAImjB,EACxCukD,GAAI3rE,EAAMm5C,UAAYz8C,EAAI2qB,EAAU3qB,EAAI2qB,EACxCjP,QAAS,KAGb4I,EAAKnhB,IAAI,kBAAmBqvJ,IAG9B,IAAI9yC,EAAY,EACZmzC,EAAa,EAEXC,EAAW,WACXlvI,IACFA,EAAKwM,KACH,EAAA9oB,QAAQ,GAAIgrJ,EAAensJ,MAAO,CAChCoB,EAAGjE,EAAMm5C,UAAYl1C,EAAImjB,EAAUnjB,EAAImjB,EAAUhG,EAAUmuI,EAAanuI,EACxE1kB,EAAGsD,EAAMm5C,UAAYz8C,EAAI2qB,EAAUjG,EAAU1kB,EAAI2qB,EACjDjP,QAAS,EACTkI,KAAM0uI,EAAe98F,QACrBloC,UAAWhqB,EAAMm5C,UAAY,OAAS,QACtClvB,aAAcjqB,EAAMm5C,UAAY,SAAW,YAG/C74B,EAAKzgB,IAAI,kBAAmBqvJ,GAC5B9yC,EAAY97F,EAAKwH,UAAUxnB,QAIzBmvJ,EAAY,WACZl4J,IACFA,EAAMu1B,KACJ,EAAA9oB,QAAQ,GAAIirJ,EAAgBpsJ,MAAO,CACjCoB,EAAGjE,EAAMm5C,UAAYl1C,EAAImjB,EAAUg1F,EAAYh7F,EAAUnd,EAAImjB,EAAUhG,EACvE1kB,EAAGsD,EAAMm5C,UAAYz8C,EAAI2qB,EAAUjG,EAAU1kB,EAAI2qB,EACjDjP,QAAS,EACTkI,KAAM,EAAA/b,WAAW0qJ,EAAgBt3H,WAC7B33B,EAAMqsJ,aACJ4C,EAAgBt3H,UACd,EAAAxgC,IAAIk4J,EAAY,yBAChB,EAAAl4J,IAAIi4J,EAAY,0BAElBH,EAAgBt3H,UAAU03H,EAAWrvJ,EAAM+kB,QAASqqI,EAAWpvJ,EAAM+kB,SACvE,GACJiF,UAAWhqB,EAAMm5C,UAAY,OAAS,QACtClvB,aAAcjqB,EAAMm5C,UAAY,SAAW,YAG/C5hD,EAAMsI,IAAI,kBAAmBqvJ,GAC7BK,EAAah4J,EAAMuwB,UAAUxnB,QAI7BN,EAAMm5C,WACRq2G,IACAC,MAEAA,IACAD,MAGJ,SAACvrJ,EAAGvH,EAAGskB,EAAMV,EAAM/oB,GACbypB,IACFA,EAAK8L,KACH,EAAA9oB,QAAQ,GAAI+qJ,EAAelsJ,MAAO,CAChCgnB,GAAI5lB,EACJwnE,GAAI/uE,EACJgvE,GAAIznE,EAAImjB,EACRukD,GAAI3rE,EAAMm5C,UAAan5C,EAAMqsJ,aAAe3vJ,EAAI2qB,EAAU3qB,EAAI2qB,EAAW3qB,EAAI2qB,EAC7EjP,QAAS,KAGb4I,EAAKnhB,IAAI,kBAAmBqvJ,IAG9B,IAAI9yC,EAAY,EACZ97F,IACFA,EAAKwM,KACH,EAAA9oB,QAAQ,GAAIgrJ,EAAensJ,MAAO,CAChCoB,EAAGjE,EAAMm5C,UAAYl1C,EAAImjB,EAAUnjB,EAAImjB,EAAUhG,EACjD1kB,EAAGsD,EAAMm5C,UACLn5C,EAAMqsJ,aACJ3vJ,EAAI2qB,EAAUjG,EACd1kB,EAAI2qB,EAAUjG,EAChB1kB,EAAI2qB,EACRjP,QAAS,EACTkI,KAAM0uI,EAAe98F,QACrBloC,UAAW,OACXC,aAAcjqB,EAAMm5C,UAAan5C,EAAMqsJ,aAAe,MAAQ,SAAY,YAG9E/rI,EAAKzgB,IAAI,kBAAmBqvJ,GAC5B9yC,EAAY97F,EAAKwH,UAAUxnB,OAGzB/I,IACFA,EAAMu1B,KACJ,EAAA9oB,QAAQ,GAAIirJ,EAAgBpsJ,MAAO,CACjCoB,EAAGjE,EAAMm5C,UAAYl1C,EAAImjB,EAAUg1F,EAAYh7F,EAAUnd,EAAImjB,EAAUhG,EAAUg7F,EAAYh7F,EAC7F1kB,EAAGsD,EAAMm5C,UACLn5C,EAAMqsJ,aACJ3vJ,EAAI2qB,EAAUjG,EACd1kB,EAAI2qB,EAAUjG,EAChB1kB,EAAI2qB,EACRjP,QAAS,EACTkI,KAAM,EAAA/b,WAAW0qJ,EAAgBt3H,WAC7B33B,EAAMqsJ,aACJ4C,EAAgBt3H,UACd,EAAAxgC,IAAIk4J,EAAY,yBAChB,EAAAl4J,IAAIi4J,EAAY,0BAElBH,EAAgBt3H,UAAU03H,EAAWrvJ,EAAM+kB,QAASqqI,EAAWpvJ,EAAM+kB,SACvE,GACJiF,UAAW,OACXC,aAAcjqB,EAAMm5C,UAAan5C,EAAMqsJ,aAAe,MAAQ,SAAY,YAG9E90J,EAAMsI,IAAI,kBAAmBqvJ,MAKnC,GAAIlvJ,EAAMqsJ,aAAc,CAChB,MAAW,CAACliJ,EAAME,GACxB,CACE,CAFO,KAAI,MAGX,CAACwf,EAAI4hD,IACLxjD,SAAQ,SAAC,EAAQ3xB,G,IAAP2N,EAAC,KAAEvH,EAAC,KAAS,SAAUpG,GAAG2N,EAAGvH,EAAG,GAAQ,EAAKpG,GAAI,GAAQ,EAAKA,GAAI,GAAS,EAAMA,YAE7F,EAAU,GAAGuzB,EAAI4hD,EAAI,EAAM,EAAM,GAGrC4jF,EAAaD,EACbz2J,OAGFoH,EAAU5I,IAAI,YAAY8wB,SAAQ,SAAC5K,GAC7BA,EAAMlmB,IAAI,oBAAsB+3J,IAClC7xI,EAAMyP,KAAK,CAAE1U,QAAS,IACtBrY,EAAUF,IAAIwd,EAAMlmB,IAAI,MAAO,MAC/BqU,YAAW,WAAM,OAAA6R,EAAMtY,WAAU,SAK7B,YAAAopJ,kBAAV,SAA4B3xI,EAAWzQ,GAAvC,WACQ/L,EAAQ/F,KAAK4lB,QACb9f,EAAY9F,KAAKy0J,2BAEjBgB,EAAW,SAACp5J,GAChB,IAAMq5J,EAAW,CAAExlJ,KAAMqC,IAAUpC,MAAOoC,IAAUnC,KAAMmC,IAAUlC,MAAOkC,KAC3E,EAAK2iJ,YAAW,SAAC3kJ,EAAO7R,GACtB,IAAMi3J,EAAU,EAAKN,yCAAyCvvJ,EAAWpH,GAEnEk3J,EAAW,CAAE1lJ,KAAMqC,IAAUpC,MAAOoC,IAAUnC,KAAMmC,IAAUlC,MAAOkC,KACrEsjJ,EAAW,SAACC,GAChB,GAAIA,GAAgC,QAAtBA,EAAO54J,IAAI,QAAmB,CACpC,MAA6B44J,EAAOjoI,UAAlC3d,EAAI,OAAEC,EAAI,OAAEC,EAAI,OAAEC,EAAI,OAC1BH,EAAO0lJ,EAAS1lJ,OAAM0lJ,EAAS1lJ,KAAOA,GACtCC,EAAOylJ,EAASzlJ,OAAMylJ,EAASzlJ,KAAOA,GACtCC,EAAOwlJ,EAASxlJ,OAAMwlJ,EAASxlJ,KAAOA,GACtCC,EAAOulJ,EAASvlJ,OAAMulJ,EAASvlJ,KAAOA,KAK9C,GAFA,EAAA7G,KAAKmsJ,GAAS,SAACG,GAAW,OAAC,EAAA1zI,QAAQ0zI,GAAUD,EAASC,EAAOz5J,IAAMw5J,EAASC,MAG1EF,EAAS1lJ,KAAOwlJ,EAASvlJ,MACzBylJ,EAASzlJ,KAAOulJ,EAASxlJ,MACzB0lJ,EAASxlJ,KAAOslJ,EAASrlJ,MACzBulJ,EAASvlJ,KAAOqlJ,EAAStlJ,KACzB,CACA,IAAM,EAAW,SAAC0lJ,GAChB,GAAIA,EAAQ,CACV,IAAMzjI,EAAQ,CACZlU,QAAS,GAEXoE,EAAWuzI,EAAOntI,QAAQ0J,EAAO9P,GAAYuzI,EAAOjjI,KAAKR,KAG7D,EAAA7oB,KAAKmsJ,GAAS,SAACG,GAAW,OAAC,EAAA1zI,QAAQ0zI,GAAU,EAASA,EAAOz5J,IAAM,EAASy5J,MAC5E,EAAA31J,OAAOu1J,EAAUE,QAKvB7vJ,EAAMqsJ,aAAe,CAAC,EAAG,GAAGpkI,QAAQynI,GAAYA,IAEhDlzI,GAAYzQ,GAAYP,WAAWO,EAAUyQ,IAGrC,YAAAwzI,mBAAV,SAA6BxzI,EAAWzQ,GAAxC,WACQhM,EAAY9F,KAAKy0J,2BAEvBz0J,KAAKk1J,YAAW,SAAC3kJ,EAAO7R,GACtB,IAAMi3J,EAAU,EAAKN,yCAAyCvvJ,EAAWpH,GAEnE+2J,EAAW,SAACK,GAChB,GAAIA,EAAQ,CACV,IAAMzjI,EAAQ,CACZlU,QAAS,GAEXoE,EAAWuzI,EAAOntI,QAAQ0J,EAAO9P,GAAYuzI,EAAOjjI,KAAKR,KAG7D,EAAA7oB,KAAKmsJ,GAAS,SAACG,GAAW,OAAC,EAAA1zI,QAAQ0zI,GAAUA,EAAO9nI,QAAQynI,GAAYA,EAASK,SAGnFvzI,GAAYzQ,GAAYP,WAAWO,EAAUyQ,IAGrC,YAAAwvI,mBAAV,SAA6BjgJ,GAA7B,WAGE,IAAwB,IAFV9R,KAAK4lB,QAETpD,UAAqB,CACvB,MAAsCxiB,KAAKg2J,4BAAzCC,EAAe,kBAAE,EAAc,iBAEvCj2J,KAAKyxJ,yBAA0B,EAC/BzxJ,KAAK+1J,mBAAmBE,GAAiB,WACvC,EAAKxE,yBAA0B,EAC/B,EAAK6C,mBACL,EAAKJ,kBAAkB,EAAgBpiJ,QAKrC,YAAA2iJ,yBAAR,SAAiCyB,QAAA,IAAAA,OAAA,GACvB,IAAAvsI,EAAgB3pB,KAAKiJ,KAAI,YAE7BurJ,EAAsB7qI,EAAYzsB,IAAI,uBAM1C,OALKs3J,GAAuB0B,IAC1B1B,EAAsB7qI,EAAYD,WAClCC,EAAY/jB,IAAI,sBAAuB4uJ,IAGlCA,GAGD,YAAAa,yCAAR,SACEvvJ,EACApH,EACAw3J,QAAA,IAAAA,OAAA,GAEA,IAAMnwJ,EAAQ/F,KAAK4lB,QACb,EACJ7f,EAAM0sJ,YAAc,GADdtsI,EAAO,UAAE,IAAAY,KAAM+tI,OAAc,IAAG,KAAE,EAAE,IAAAzuI,KAAM0uI,OAAc,IAAG,KAAE,EAAE,IAAAz3J,MAAO03J,OAAe,IAAG,KAAE,EAG5FW,EAAU,CACd5uI,UAAMtjB,EACN4iB,UAAM5iB,EACNnG,WAAOmG,GAGT,IAAgB,IAAZ0iB,IAAsBrgB,EACxB,OAAO6vJ,EAGT,IAA+B,IAA3Bb,EAAe3uI,QAAmB,CACpC,IAAM+nB,EAAO,SAAC7xC,GACZ,IAAM85J,EAAS,oBAAoBz3J,EAAK,IAAIrC,EACxC0qB,EAAOjhB,EAAU5I,IAAIi5J,GAKzB,OAJKpvI,GAAQmvI,IACXnvI,EAAOjhB,EAAUotB,SAAS,CAAE1C,GAAI2lI,EAAQvsJ,KAAM,OAAQyoB,MAAO,KAC7DvsB,EAAUF,IAAIuwJ,EAAQpvI,IAEjBA,GAEHA,EAAOhhB,EAAMqsJ,aAAe,CAAC,EAAG,GAAG9tI,IAAI4pB,GAAQA,EAAK,GAC1DynH,EAAQ5uI,KAAOA,EAGjB,IAA+B,IAA3BguI,EAAe5uI,QAAmB,CAC9B+nB,EAAO,SAAC7xC,GACZ,IAAM+5J,EAAS,oBAAoB13J,EAAK,IAAIrC,EACxCgqB,EAAOvgB,EAAU5I,IAAIk5J,GAKzB,OAJK/vI,GAAQ6vI,IACX7vI,EAAOvgB,EAAUotB,SAAS,CAAE1C,GAAI4lI,EAAQxsJ,KAAM,OAAQyoB,MAAO,KAC7DvsB,EAAUF,IAAIwwJ,EAAQ/vI,IAEjBA,GAPT,IASMA,EAAOtgB,EAAMqsJ,aAAe,CAAC,EAAG,GAAG9tI,IAAI4pB,GAAQA,EAAK,GAC1DynH,EAAQtvI,KAAOA,EAGjB,IAAgC,IAA5B2uI,EAAgB7uI,QAAmB,CAC/B+nB,EAAO,SAAC7xC,GACZ,IAAMg6J,EAAU,qBAAqB33J,EAAK,IAAIrC,EAC1CiB,EAAQwI,EAAU5I,IAAIm5J,GAK1B,OAJK/4J,GAAS44J,IACZ54J,EAAQwI,EAAUotB,SAAS,CAAE1C,GAAI6lI,EAASzsJ,KAAM,OAAQyoB,MAAO,KAC/DvsB,EAAUF,IAAIywJ,EAAS/4J,IAElBA,GAPT,IASMA,EAAQyI,EAAMqsJ,aAAe,CAAC,EAAG,GAAG9tI,IAAI4pB,GAAQA,EAAK,GAC3DynH,EAAQr4J,MAAQA,EAGlB,OAAOq4J,GAGD,YAAAK,0BAAR,WACE,IAAMjwJ,EAAQ/F,KAAK4lB,QAEb0wI,EAAiB,EAAAp5J,IAAI6I,EAAO,6BAC5BwwJ,EAAgB,EAAAr5J,IAAI6I,EAAO,4BAIjC,MAAO,CAAEywJ,eAHwD,GAA1CrnJ,KAAKsP,IAAI83I,EAAeD,GAGtBL,gBAFyC,IAA1C9mJ,KAAKqP,IAAI+3I,EAAeD,KAKxC,YAAAjC,YAAV,sBACE,GAAKr0J,KAAK0xJ,mBAAV,CACA,IAmBI+E,EAnBE1wJ,EAAQ/F,KAAK4lB,QACXiF,EAAmB9kB,EAAK,OAAhB+kB,EAAW/kB,EAAK,OAE1BkvJ,EAAkB7jJ,KAAKD,MACrB6d,EAAoBhvB,KAAK02J,eAAc,gBAEzCxiC,EAAanuH,EAAMnD,OAAS,GAC5Bo+G,EAAa,EAAAj3G,QAAQ,EAAD,YAEnB/J,KAAKyG,MAAM7D,OAEhBmD,EAAMnD,MAAMgG,MACZ,CACEuV,QAAS,EACT4R,UAAW,SACXC,aAAc,WAKlBhwB,KAAKk1J,YAAW,SAAC3kJ,EAAO7R,EAAOglC,EAAOrQ,G,MAC9BrB,EAAmBzhB,EAAMrT,IAAI,WACtB,GAATwB,IACF+3J,EAAW/yH,GAGP,MAA6BnzB,EAAMsd,UAAjC3d,EAAI,OAAEC,EAAI,OAAEC,EAAI,OAAEC,EAAI,OACxBusC,EAASlZ,EAAM7Y,GACf8wB,EAASjY,EAAM5Y,GAEjBopG,EAAW1mC,cACbwzB,EAAWnxF,KAAO,EAAK8mI,4BAA4BpmJ,IAGrD,IACI0nD,EADE37B,EAAUoH,EAAMkzH,YAEhBC,IAAU,MACb,EAAA/nJ,SAAU40B,EACX,EAAA1R,QAAO,EACP,EAAAqB,aAAY,EACZ,EAAA2gC,aAAc,GAAGhwD,OAAOguB,EAAQuB,WAAWO,aAAa,GACxD,EAAAiiE,kBAAmB,E,GAGnB99B,EADEi8D,EAAWx2F,UACHw2F,EAAWx2F,UAAUkf,EAAQi6G,EAAYn4J,EAAOi9C,EAAQ86G,EAAS3rI,IAEvEwR,EACQ,CAAC,EAAG,GAAGhY,KAAI,WAAM,SAAGq3B,KAAU35B,KAAKjc,EAAMm5C,UAAY,OAAS,QAE3DtC,EAAM,IAAIjB,EAG3B,IAAM/4C,EAAQ,EAAKk0J,6BAA6B9nI,EAAiBtwB,GAAO,GAClEikB,EAAQ2Z,EAAUA,EAAQwoC,QAAQ,IAAMxoC,EAAQwoC,QAAQ,GAAKxoC,EAAQwoC,QAAQ,IAAM,GACrFliE,IACFA,EAAMiwB,KAAK,EAAD,uBACLmuF,GAAU,CACbh3G,EAAGs1F,EAAKpvF,EAAMC,EAAOpK,EAAMm5C,UAAoB,GAARv8B,GACvClgB,EAAG68F,EAAKlvF,EAAMC,EAAMtK,EAAMm5C,UAAYv8B,EAAQ,IAC9C0D,KAAM4xC,KAGRr1D,EAAMgD,IAAI,kBAAmBqvJ,OAIjCjmI,EAAgB9xB,IAAI,YAAY8wB,SAAQ,SAACprB,GACnCA,EAAM1F,IAAI,oBAAsB+3J,IAClCryJ,EAAMiwB,KAAK,CAAE1U,QAAS,IACtB6Q,EAAgBppB,IAAIhD,EAAM1F,IAAI,MAAO,MACrCqU,YAAW,WAAM,OAAA3O,EAAMkI,kBAKnB,YAAAspJ,aAAV,SAAuBruH,EAAcxjB,EAAWzQ,GAAhD,WACUkd,EAAoBhvB,KAAK02J,eAAc,gBAC/C12J,KAAKk1J,YAAW,SAAC3kJ,EAAO7R,GACtB,IAAKqnC,GAAeA,GAAex1B,EAAO,CACxC,IAAM3N,EAAQ,EAAKk0J,6BAA6B9nI,EAAiBtwB,GACjE,GAAIkE,EAAO,CACT,IAAMspC,EAAY37B,EAAMsd,UAClBy/B,EAAY1qD,EAAMirB,UACxB,GACEy/B,EAAUp9C,MAAQg8B,EAAUh8B,MAC5Bo9C,EAAUn9C,MAAQ+7B,EAAU/7B,MAC5Bm9C,EAAUl9C,MAAQ87B,EAAU97B,MAC5Bk9C,EAAUj9C,MAAQ67B,EAAU77B,KAC5B,CACA,IAAMgiB,EAAQ,CACZlU,QAAS,GAEXoE,EAAW3f,EAAM+lB,QAAQ0J,EAAO9P,GAAY3f,EAAMiwB,KAAKR,SAM/D9P,GAAYzQ,GAAYP,WAAWO,EAAUyQ,IAGrC,YAAAw0I,cAAV,SAAwBhxH,EAAcxjB,EAAWzQ,GAAjD,WACUkd,EAAoBhvB,KAAK02J,eAAc,gBAC/C12J,KAAKk1J,YAAW,SAAC3kJ,EAAO7R,GACtB,IAAKqnC,GAAeA,GAAex1B,EAAO,CACxC,IAAM3N,EAAQ,EAAKk0J,6BAA6B9nI,EAAiBtwB,GACjE,GAAIkE,EAAO,CACT,IAAMyvB,EAAQ,CACZlU,QAAS,GAEXoE,EAAW3f,EAAM+lB,QAAQ0J,EAAO9P,GAAY3f,EAAMiwB,KAAKR,QAK7D9P,GAAYzQ,GAAYP,WAAWO,EAAUyQ,IAGrC,YAAAyvI,cAAV,SAAwBlgJ,GAAxB,WAGE,IAAwB,IAFV9R,KAAK4lB,QAETpD,UAAqB,CACvB,MAAsCxiB,KAAKg2J,4BAAzCC,EAAe,kBAAE,EAAc,iBAEvCj2J,KAAK0xJ,oBAAqB,EAC1B1xJ,KAAK+2J,cAAc,KAAMd,GAAiB,WACxC,EAAKvE,oBAAqB,EAC1B,EAAK2C,cACL,EAAKD,aAAa,KAAM,EAAgBtiJ,QAKtC,YAAAglJ,6BAAR,SAAqChxJ,EAAmBpH,EAAew3J,G,MAGjEtzJ,EAEJ,QALqE,IAAAszJ,OAAA,IAKxC,KAAd,QAAX,EAJUl2J,KAAK4lB,QAIThjB,aAAK,eAAEujB,SACf,OAAOvjB,EAGT,IAAM4xB,EAAU,UAAU91B,EAW1B,QAVAkE,EAAQkD,EAAU5I,IAAIs3B,KACR0hI,IACZtzJ,EAAQkD,EAAUotB,SAAS,CACzB1C,GAAIgE,EACJ5qB,KAAM,OACNyoB,MAAO,KAETvsB,EAAUF,IAAI4uB,EAAS5xB,IAGlBA,GAGC,YAAA2xJ,kBAAV,WACE,GAAKv0J,KAAK2xJ,yBAAV,CAEA,IAEIqF,EACA16H,EAHEv2B,EAAQ/F,KAAK4lB,QAWnB,GAPA5lB,KAAKk1J,YAAW,SAAC3kJ,EAAO7R,EAAOglC,GAChB,GAAThlC,IACFs4J,EAAkBzmJ,EAAMrT,IAAI,UAAU2wB,UACtCyO,EAAU,EAAAp/B,IAAIwmC,EAAO,mBAIrBszH,GAAmB16H,IAAiD,IAAtC,EAAAp/B,IAAI6I,EAAO,uBAAkC,CAC7E,IAAM,EAAY/F,KAAK20J,2BAA0B,GACzC,EAA8Br4H,EAAO,WAAzB,EAAkBA,EAAO,cACrC,EAA2B06H,EAAe,KAApC,EAAqBA,EAAe,KAA9B,EAAeA,EAAe,KAAxB,EAASA,EAAe,KAE5C,EAAe,EAAU95J,IAAI,YACnC,CAAC,EAAG,GAAG8wB,SAAQ,SAAC3xB,GACd,IAAIu2J,EAAc,EAAav2J,GAC1Bu2J,IACHA,EAAc,EAAU1/H,SAAS,CAAEtpB,KAAM,UAE3CgpJ,EAAY//H,KACV,EAAA9oB,QAAQ,GAAI,EAAA7M,IAAI6I,EAAO,qBAAsB,CAC3CsgB,KAAMtgB,EAAMm5C,UAAY,EAAc7iD,GAAKA,EAAI,KAAK,EAAcA,GAAU,EAAcA,GAAE,KAC5F2N,EAAGjE,EAAMm5C,UACL,EAAO,EAAAhiD,IAAI6I,EAAO,uBAClBu5F,EAAK,EAAM,EAAM,EAAW,IAAM,EAAW,GAAK,EAAW,KACjE78F,EAAGsD,EAAMm5C,UACLogD,EAAK,EAAM,EAAM,EAAW,IAAM,EAAW,GAAK,EAAW,MAAQjjG,EAAI,GAAK,GAC9E,EAAO,EAAAa,IAAI6I,EAAO,uBACtBoY,QAAS,EACT4R,UAAWhqB,EAAMm5C,UAAY,QAAU7iD,EAAI,OAAS,QACpD2zB,aAAcjqB,EAAMm5C,WAAa7iD,EAAI,MAAoB,kBAOzD,YAAA83J,mBAAV,SAA6B5xI,EAAWzQ,GACtC,IAAMhM,EAAY9F,KAAK20J,4BACvB,GAAI7uJ,EAAW,CACb,IAAM,EAAeA,EAAU5I,IAAI,YACnC,CAAC,EAAG,GAAG8wB,SAAQ,SAAC3xB,GACd,IAAMu2J,EAAc,EAAav2J,GAEjC,GAAIu2J,EAAa,CACf,IAAMvgI,EAAQ,CACZlU,QAAS,GAEXoE,EAAWqwI,EAAYjqI,QAAQ0J,EAAO9P,GAAYqwI,EAAY//H,KAAKR,OAKzE9P,GAAYzQ,GAAYP,WAAWO,EAAUyQ,IAGrC,YAAA00I,oBAAV,SAA8B10I,EAAWzQ,GACvC,IAAMhM,EAAY9F,KAAK20J,4BACvB,GAAI7uJ,EAAW,CACb,IAAM,EAAeA,EAAU5I,IAAI,YACnC,CAAC,EAAG,GAAG8wB,SAAQ,SAAC3xB,GACd,IAAMu2J,EAAc,EAAav2J,GAEjC,GAAIu2J,EAAa,CACf,IAAMvgI,EAAQ,CACZlU,QAAS,GAEXoE,EAAWqwI,EAAYjqI,QAAQ0J,EAAO9P,GAAYqwI,EAAY//H,KAAKR,OAKzE9P,GAAYzQ,GAAYP,WAAWO,EAAUyQ,IAGrC,YAAA+vI,oBAAV,SAA8BxgJ,GAA9B,WAGE,IAAwB,IAFV9R,KAAK4lB,QAETpD,UAAqB,CACvB,MAAsCxiB,KAAKg2J,4BAAzC,EAAc,iBAAEC,EAAe,kBAEvCj2J,KAAK2xJ,0BAA2B,EAChC3xJ,KAAKi3J,oBAAoBhB,GAAiB,WACxC,EAAKtE,0BAA2B,EAChC,EAAK4C,oBACL,EAAKJ,mBAAmB,EAAgBriJ,QAKtC,YAAA6iJ,0BAAR,SAAkCuB,QAAA,IAAAA,OAAA,GACxB,IAAAvsI,EAAgB3pB,KAAKiJ,KAAI,YAE7ByrJ,EAAuB/qI,EAAYzsB,IAAI,wBAM3C,OALKw3J,GAAwBwB,IAC3BxB,EAAuB/qI,EAAYD,WACnCC,EAAY/jB,IAAI,uBAAwB8uJ,IAGnCA,GAGD,YAAAQ,WAAR,SACEnoE,G,MAKIqoE,EAHEp2J,EAAOgB,KAAKk3J,iBAAiBl3J,KAAKsI,WAClCq+C,EAAU3nD,EAAKJ,OACjBF,EAAQ,EAEO,QAAnB,EAAAsB,KAAK02J,sBAAc,SAAE3kI,SAAS/D,SAAQ,SAACgE,EAASqB,GACtC,IAAA9iB,EAAUyhB,EAAO,MACnBmjI,EAAan2J,EAAKN,GACpBA,EAAQioD,GACVomC,EAAGx8E,EAAO7R,EAAOy2J,EAAYC,EAAY/hI,GAE3C+hI,EAAaD,EACbz2J,QAII,YAAAg4J,aAAR,WACE,OAAO12J,KAAKiJ,KAAKuf,WAAW,IAGtB,YAAAmuI,4BAAR,SAAoCpmJ,GAClC,IAAMmmF,EAAanmF,EAAMsiB,KAAK,QACxB8jE,EAAepmF,EAAMsiB,KAAK,WAAatiB,EAAMsiB,KAAK,WAAa,EAC/DzV,EAAM,EAAA0gB,QAAQ44D,GACdt/E,EAAOjI,KAAKuP,MAAe,KAATtB,EAAI,GAAsB,KAATA,EAAI,GAAsB,KAATA,EAAI,IAAcu5E,EAO5E,OADgB,EAAAC,aALE,CAChB,CAAEx4D,KAAM,EAAGC,GAAI,GAAI7gB,MAAO,SAC1B,CAAE4gB,KAAM,GAAIC,GAAI,IAAK7gB,MAAO,WAC5B,CAAE4gB,KAAM,IAAKC,GAAI,IAAK7gB,MAAO,UAESpG,IAIlC,YAAA+6I,gCAAR,SAAwCnzJ,GACtC,IAAM+G,EAAQ/F,KAAK4lB,QAEbqzC,EAAQj6D,EAAKuoB,QAAO,SAAC0xC,EAAOv1B,GAAU,OAAAu1B,EAAQv1B,EAAM39B,EAAM+kB,UAAS,GAErEqsI,EAAa,EACjBn4J,EAAKgvB,SAAQ,SAAC0V,EAAOhlC,GACnB,IAAMpB,EAAQomC,EAAM39B,EAAM+kB,QAEpBssI,EAAaD,EADL75J,EAAQ27D,EAGtBv1B,EAAkB,WAAI,CACpB8iE,WAAY9nG,EACZ24J,WAAYr4J,EAAKJ,OACjBu4J,WAAU,EACVC,WAAU,EACVn6F,QAASl3D,EAAMm5C,WAGjBi4G,EAAaC,MAIT,YAAAlF,sCAAR,SAA8CJ,GAC5C,IAAMwF,EAAQxF,EACX50J,IAAI,UACJA,IAAI,YACJonB,KAAI,SAACwtI,GAAe,OAACA,EAAW50J,IAAI,gBAIvC,OAFa8C,KAAKsI,UAAU2zB,QAAO,SAACyH,EAAOhlC,GAAU,OAAA44J,EAAM54J,OAKrD,YAAAm2J,0BAAR,SAAkCjsD,GAChC,IAAM7iG,EAAQ/F,KAAK4lB,QAKb2xI,EAFkBv3J,KAAKiJ,KAAKk3C,cAAc,UAAUr6C,UAGvDmmF,SAAQ,SAAC17E,GAAU,MAAqB,eAArBA,EAAMrT,IAAI,WAC7B++B,QAAO,SAAC61H,GAAe,OAAAA,EAAW50J,IAAI,gBACtConB,KAAI,SAACwtI,GAAe,OAAAA,EAAW50J,IAAI,MAAMupF,QAAQ,gBAAiB,OAIrE,OAFoBmiB,EAAQ3sE,QAAO,SAACyH,GAAU,OAAC,EAAAr5B,SAASktJ,EAAkB7zH,EAAM39B,EAAM8kB,aAKhF,YAAAqsI,iBAAR,SAAyBl4J,G,MACjB+G,EAAQ/F,KAAK4lB,QAEnB,GAAgB,QAAhB,EAAI7f,EAAMqe,cAAM,eAAE+B,QAAS,CAEzB,IAEM,EAFkBnmB,KAAKiJ,KAAKk3C,cAAc,UAAUr6C,UAGvDmmF,SAAQ,SAAC17E,GAAU,MAAqB,eAArBA,EAAMrT,IAAI,WAC7B++B,QAAO,SAAC61H,GAAe,OAACA,EAAW50J,IAAI,gBACvConB,KAAI,SAACwtI,GAAe,OAAAA,EAAW50J,IAAI,MAAMupF,QAAQ,gBAAiB,OAIrE,OAFoBznF,EAAKi9B,QAAO,SAACyH,GAAU,SAAAr5B,SAAS,EAAgBq5B,EAAM39B,EAAM8kB,YAIhF,OAAO7qB,KAAKkoB,YAAYniB,EAAM/G,OAI1B,YAAAwzJ,sBAAR,SAA8BxzJ,GAC5B,IAEIw4J,EAFEzxJ,EAAQ/F,KAAK4lB,QAGboxE,EAAa,EAAEzkF,KAAWA,KAsChC,OArCAvT,EAAOA,EAAKuoB,QAAO,SAACqhF,EAASllE,G,MACrBkZ,EAASlZ,EAAM39B,EAAM8kB,QACrB8wB,EAASjY,EAAM39B,EAAM+kB,QACrB6oI,EAAejwH,EAAM39B,EAAMqsJ,cAC5BoF,IAA0BA,EAA2B7D,GAE1D,IAAI8D,EAAW7uD,EAAQ16D,MAAK,SAACupH,GAAa,OAAAA,EAAS1xJ,EAAM8kB,SAAW+xB,KAC/D66G,KACK,MACL1xJ,EAAM8kB,QAAS+xB,EAChB,EAAC72C,EAAM+kB,QAAS,EAChB,EAAc,YAAG,CACf4oI,cAAe,GACf5uF,QAAS,GACTkyB,WAAY,GACZ0gE,iBAAaj0J,EACby7C,UAAWn5C,EAAMm5C,WARrBu4G,E,EAWA7uD,EAAQtlG,KAAKm0J,IAEf,IAAMtuJ,EAAMwqJ,GAAgB6D,EAA2B,EAAI,EAO3D,OANAC,EAAsB,YAAE3yF,QAAQ37D,GAAOwyC,EACnCq7C,EAAW7tF,GAAOwyC,IACpBq7C,EAAW7tF,GAAOwyC,GAEpB87G,EAAsB,YAAE/D,cAAcvqJ,GAAOwqJ,EAEtC/qD,IACN,KAEE56E,SAAQ,SAAC0V,EAAOhlC,GACnBglC,EAAM39B,EAAM+kB,QAAU,EAAA5tB,IAAIwmC,EAAO,sBAAuB,IAAInc,QAAO,SAACowI,EAAQh8G,GAAW,OAACg8G,EAAUh8G,IAAS,GAC3G,EAAA/1C,IAAI89B,EAAO,yBAA0BszD,GACrC,EAAApxF,IAAI89B,EAAO,0BAA2B,EAAAxmC,IAAI8B,EAASN,EAAQ,EAAC,4BAGvDM,GAGD,YAAAqzJ,sBAAR,SAA8BrzJ,GAC5B,IAAMg4F,EAAa,EAAEzkF,KAAWA,KAChCvT,EAAKgvB,SAAQ,SAAC0V,GACZ,IAAMohC,EAAU,EAAA5nE,IAAIwmC,EAAO,uBAC3B,CAAC,EAAG,GAAG1V,SAAQ,SAAC3xB,GACVyoE,EAAQzoE,GAAK26F,EAAW36F,KAC1B26F,EAAW36F,GAAKyoE,EAAQzoE,UAK9B2C,EAAKgvB,SAAQ,SAAC0V,EAAOhlC,GACnB,EAAAkH,IAAI89B,EAAO,yBAA0BszD,GACrC,EAAApxF,IAAI89B,EAAO,0BAA2B,EAAAxmC,IAAI8B,EAASN,EAAQ,EAAC,6BA2BlE,EA1pCA,CAA0F,W,YA4pC1F,EAAA8vF,iBAAiB,SAAUopE,I,8ECtuC3B,MAYAp0I,cAAc,SAAU,CACtBqkF,YAAa,CACXC,OAAQ,GACRlvB,OAbqB,SAAChwE,GAExB,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAa/B4pF,QATsB,SAACn/F,GAEzB,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAS/Bs8D,SAAU,CAAEve,UAAW,EAAG5rC,OAAQ,a,yFCjBtC,OAEA,QAEA,SAgIA,EAAA7jB,cAAc,WAAY,oBAAqB,CAC7CsiD,UAAA,SAAUwO,GAER,OADAA,EAAU1yB,KAAwB,IAAjB0yB,EAAU1yB,KA/H/B,SAAwBpiC,EAAK23D,QAAA,IAAAA,OAAA,GACnB,IAMJC,EACAC,EASAC,EACAC,EAjBIx2D,EAAmBvB,EAAG,EAAnBhG,EAAgBgG,EAAG,EAAhBsrD,EAAatrD,EAAG,GAAZoiC,EAASpiC,EAAG,KAQ1B,EAAA2Z,QAAQ3f,IACV49D,EAAO59D,EAAE,GACT69D,EAAO79D,EAAE,KAET49D,EAAOtM,EACPuM,EAAO79D,GAKL,EAAA2f,QAAQpY,IACVu2D,EAAOv2D,EAAE,GACTw2D,EAAOx2D,EAAE,KAETu2D,EAAOv2D,EAAI6gC,EAAO,EAClB21B,EAAOx2D,EAAI6gC,EAAO,GAGpB,IAAM1Q,EAAS,CACb,CAAEnwB,EAAGu2D,EAAM99D,EAAG49D,GACd,CAAEr2D,EAAGu2D,EAAM99D,EAAG69D,IAqBhB,OAlBIF,EAMFjmC,EAAO72B,KAAK,CACV0G,EAAGw2D,EACH/9D,GAAI69D,EAAOD,GAAQ,IAOrBlmC,EAAO72B,KAAK,CAAE0G,EAAGw2D,EAAM/9D,EAAG69D,GAAQ,CAAEt2D,EAAGw2D,EAAM/9D,EAAG49D,IAG3ClmC,EA8EE09H,CAAet6F,IAExB91D,KAAA,SAAKgB,EAAgB3C,G,MACb8C,EAAQ,EAAAoC,SAASvC,GAAK,GAAO,GAC7B6zB,EAAU,EAAAp/B,IAAIuL,EAAK,oBACnB+mB,EAAOxvB,KAAKqvD,UA/EtB,SAAwB5mD,EAAK6zB,GAC3B,IAAM9M,EAAO,GACL2K,EAAuB1xB,EAAG,OAAlB4rD,EAAe5rD,EAAG,WAElC,GAAI6zB,EAAS,CAEH,IAAAwoC,EAAqCxoC,EAAO,QAAnC06D,EAA4B16D,EAAO,WAAvBo7H,EAAgBp7H,EAAO,YAC9CyyG,GAAW50G,EAAO,GAAG13B,EAAI03B,EAAO,GAAG13B,GAAK,EAExC,EAAcqiE,EAAQ,GAAKA,EAAQ,GACnCgzF,EAAUhzF,EAAQxgD,KAAI,SAACq3B,GAAW,OAAAA,EAAS,EAAc,MACzD+mB,EAAoE,IAAzDs0B,EAAW,IAAMA,EAAW,GAAKA,EAAW,IAAM,IAGnE,GAAK,EAAA5wF,MAAMiuD,GAkBT7kC,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAG04D,GAAWvoC,EAAO,GAAG13B,EAAIssI,GAAW+oB,EAAQ,GAAK/oB,GACpE,CAAC,IAAK50G,EAAO,GAAGnwB,EAAG04D,EAAUqsE,GAC7B,CAAC,IAAK50G,EAAO,GAAGnwB,EAAG04D,EAAUqsE,GAC7B,CAAC,IAAK50G,EAAO,GAAGnwB,EAAG04D,GAAWvoC,EAAO,GAAG13B,EAAIssI,GAAW+oB,EAAQ,GAAK/oB,GACpE,CAAC,MAEHv/G,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAG04D,EAAU,KAAQqsE,GACrC,CAAC,IAAK50G,EAAO,GAAGnwB,EAAG04D,EAAU,MAASvoC,EAAO,GAAG13B,EAAIssI,GAAW+oB,EAAQ,GAAK/oB,GAC5E,CAAC,IAAK50G,EAAO,GAAGnwB,EAAG04D,EAAU,MAASvoC,EAAO,GAAG13B,EAAIssI,GAAW+oB,EAAQ,GAAK/oB,GAC5E,CAAC,IAAK50G,EAAO,GAAGnwB,EAAG04D,EAAU,KAAQqsE,GACrC,CAAC,UA9BmB,CACtB,IAAM,EAAkB2oB,EAAY,GAAKA,EAAY,GAC/CK,EAAcL,EAAYpzI,KAAI,SAAC0zI,GAAe,OAAAA,EAAa,EAAkB,MACnFxoI,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAG04D,GAAWvoC,EAAO,GAAG13B,EAAIssI,GAAW+oB,EAAQ,GAAK/oB,EANxD,MAOZ,CAAC,IAAK50G,EAAO,GAAGnwB,EAAG04D,EAAUqsE,EAPjB,MAQZ,CAAC,IAAK16E,EAAW,GAAGrqD,EAAG04D,EAAUqsE,EARrB,MASZ,CAAC,IAAK16E,EAAW,GAAGrqD,EAAG04D,GAAWrO,EAAW,GAAG5xD,EAAIssI,GAAWgpB,EAAY,GAAKhpB,EATpE,MAUZ,CAAC,MAEHv/G,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAG04D,EAAUqsE,EAbjB,MAcZ,CAAC,IAAK50G,EAAO,GAAGnwB,EAAG04D,GAAWvoC,EAAO,GAAG13B,EAAIssI,GAAW+oB,EAAQ,GAAK/oB,EAdxD,MAeZ,CAAC,IAAK16E,EAAW,GAAGrqD,EAAG04D,GAAWrO,EAAW,GAAG5xD,EAAIssI,GAAWgpB,EAAY,GAAKhpB,EAfpE,MAgBZ,CAAC,IAAK16E,EAAW,GAAGrqD,EAAG04D,EAAUqsE,EAhBrB,MAiBZ,CAAC,YAoBA,EAAA3oI,MAAMiuD,GAST7kC,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,MAbH+sB,EAAKlsB,KACH,CAAC,IAAK62B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK4xD,EAAW,GAAGrqD,EAAGqqD,EAAW,GAAG5xD,GACrC,CAAC,IAAK4xD,EAAW,GAAGrqD,EAAGqqD,EAAW,GAAG5xD,GACrC,CAAC,MAaP,OAAO+sB,EAWuByoI,CAAexvJ,EAAK6zB,IAEhD,OAAOx2B,EAAUotB,SAAS,SAAM,GAC9Bt2B,KAAM,WACNy1B,MAAO,EAAF,uBACAzpB,GAAK,CACR4mB,KAAI,MAEQ,YAAG8M,E,KAGrB2yB,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,EACH0yB,KALcq/B,EAAS,Y,yFCxJ/B,OAEA,QAEA,SAEA,SAASowC,EAAKn7F,EAAGzE,EAAGy0B,GAClB,OAAQ,EAAIA,GAAUhwB,EAAIgwB,EAASz0B,EAwCrC,EAAA+M,cAAc,WAAY,sBAAuB,CAC/ChF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAAQ,EAAAoC,SAASvC,GAAK,GAAO,GAC7B+hB,EAAS,EAAAttB,IAAIuL,EAAK,mBAClB+mB,EAAOxvB,KAAKqvD,UAxCtB,SAAsBl1B,EAAQ,G,IAAE8iC,EAAO,UAAEk6F,EAAU,aAAEC,EAAU,aACvD5nI,EAAO,GACPmxC,EAAaxmC,EAAO,GAEpB20G,GAAW30G,EAAO,GAAGnwB,EAAImwB,EAAO,GAAGnwB,GAAK,EAI9C,GAAIizD,EAAS,CACX,IAAM71B,EAAMgwH,EACZA,EAAaD,EACbA,EAAa/vH,EAGf,IAAM8wH,GAAev3F,EAAW32D,EAAI8kI,GAAWxvC,EAR1B,GADH,IAS2D83D,GAActoB,EAC3Ft/G,EAAKlsB,KAAK,CAAC,IAAK40J,EAAav3F,EAAWl+D,IAExC,IAAK,IAAIpG,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAAK,CACjD,IAAI87J,EAASh+H,EAAO99B,GAAG2N,EACvB,OAAQ3N,GACN,KAAK,EACL,KAAK,EACH87J,GAAUA,EAASrpB,GAAWxvC,EAhBf,GADH,IAiBgD63D,GAAcroB,EAC1E,MAEF,KAAK,EACHqpB,GAAUA,EAASrpB,GAAWxvC,EApBf,GADH,IAqBgD83D,GAActoB,EAG9Et/G,EAAKlsB,KAAK,CAAC,IAAK60J,EAAQh+H,EAAO99B,GAAGoG,IAIpC,OAFA+sB,EAAKlsB,KAAK,CAAC,IAAK40J,EAAav3F,EAAWl+D,IACxC+sB,EAAKlsB,KAAK,CAAC,MACJksB,EAOuB4oI,CAAa3vJ,EAAI0xB,OAAQ3P,IAErD,OAAO1kB,EAAUotB,SAAS,OAAQ,CAChCb,MAAO,EAAF,uBACAzpB,GAAK,CACR4mB,KAAI,OAKVy/B,UAAA,SAAUC,GACA,IAAA1xC,EAAqB0xC,EAAS,MAAvB+jB,EAAc/jB,EAAS,UACtC,MAAO,CACL+M,OAAQgX,EAAY,SAAW,SAC/BrqE,MAAO,CACLzL,EAAG81E,EAAY,IAAM,EACrBpjD,KAAMrS,Q,8ECnEd,WACA,QAEA,SAAS66I,EAAe9nJ,EAAOgiB,GACvB,MAAuDA,GAAc,GAAnE,IAAAhQ,gBAAQ,IAAG,MAAG,EAAExQ,EAAK,QAAE0Q,EAAM,SAAE3Q,EAAQ,WAAEmrD,EAAO,UAElD13C,EAAOhV,EAAMsd,UACbihH,EAAU7xE,EAAU13C,EAAKpV,KAAOoV,EAAKrV,KACrC6+H,GAAWxpH,EAAKnV,KAAOmV,EAAKlV,MAAQ,EAEpC2hG,EAAOzhG,EAAMu3C,QAAQ,CACzBl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAGub,EAAKvb,EACRvH,EAAG8iB,EAAK9iB,EACR4D,MAAOkf,EAAKlf,MACZC,OAAQif,EAAKjf,UAMjB0rG,EAAKx6C,UACH,EAAAo+B,IAAIt+B,UAAU06C,EAAKz6C,YAAa,CAC9B,CAAC,KAAMu3E,GAAUC,GACjB,CAAC,IAAK,EAAG,GACT,CAAC,IAAKD,EAASC,MAInB,IAAMupB,EAAmB,CACvB30E,YAAapzE,EAAMsiB,KAAK,eACxB+wD,cAAerzE,EAAMsiB,KAAK,iBAC1B1U,QAAS5N,EAAMsiB,KAAK,YAEtBtiB,EAAMsiB,KAAK,CACT8wD,YAAa,EACbC,cAAe,EACfzlE,QAAS,IAGX6zF,EAAKrpF,QAtBmB,CACtB4N,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAqBL,CAC5BhU,SAAU,IACVE,OAAM,EACN3Q,SAAQ,WACNvB,EAAMu3C,QAAQ,MACdkqD,EAAKlnG,UAEPiH,MAAK,IAGPxB,EAAMoY,QAAQ2vI,EAAkB,CAAE/1I,SAAQ,EAAEE,OAAM,EAAE1Q,MAAK,IAEzDD,GAAYP,YAAW,WAAM,OAAAO,EAASvB,KAAQgS,EAAWxQ,GAG3DsmJ,EAAejf,cAAgB,iBAC/B,EAAAltI,kBAAkB,iBAAkBmsJ,I,8ECzDpC,WACA,QAEA,SAASE,EAAehoJ,EAAOgiB,GACvB,MAAuDA,GAAc,GAAnE,IAAAhQ,gBAAQ,IAAG,MAAG,EAAExQ,EAAK,QAAE0Q,EAAM,SAAE3Q,EAAQ,WAAEmrD,EAAO,UAElD13C,EAAOhV,EAAMsd,UACbihH,GAAWvpH,EAAKrV,KAAOqV,EAAKpV,MAAQ,EACpC4+H,EAAU9xE,EAAU13C,EAAKlV,KAAOkV,EAAKnV,KAErC4hG,EAAOzhG,EAAMu3C,QAAQ,CACzBl+C,KAAM,OACNyoB,MAAO,CACLroB,EAAGub,EAAKvb,EACRvH,EAAG8iB,EAAK9iB,EACR4D,MAAOkf,EAAKlf,MACZC,OAAQif,EAAKjf,UAMjB0rG,EAAKx6C,UACH,EAAAo+B,IAAIt+B,UAAU06C,EAAKz6C,YAAa,CAC9B,CAAC,KAAMu3E,GAAUC,GACjB,CAAC,IAAK,EAAG,GACT,CAAC,IAAKD,EAASC,MAInB,IAAMupB,EAAmB,CACvB30E,YAAapzE,EAAMsiB,KAAK,eACxB+wD,cAAerzE,EAAMsiB,KAAK,iBAC1B1U,QAAS5N,EAAMsiB,KAAK,YAEtBtiB,EAAMsiB,KAAK,CACT8wD,YAAa,EACbC,cAAe,EACfzlE,QAAS,IAGX6zF,EAAKrpF,QAtBmB,CACtB4N,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAqBL,CAC5BhU,SAAU,IACVE,OAAM,EACN3Q,SAAQ,WACNvB,EAAMu3C,QAAQ,MACdkqD,EAAKlnG,UAEPiH,MAAK,IAGPxB,EAAMoY,QAAQ2vI,EAAkB,CAAE/1I,SAAQ,EAAEE,OAAM,EAAE1Q,MAAK,IAEzDD,GAAYP,YAAW,WAAM,OAAAO,EAASvB,KAAQgS,EAAWxQ,GAG3DwmJ,EAAenf,cAAgB,iBAC/B,EAAAltI,kBAAkB,iBAAkBqsJ,I,yFCzDpC,OACA,0BACA,4BAIA,2B,+CAkBA,OAlByC,iBAGhC,YAAAvxJ,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,cAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAAxhC,eAAP,WAEE,OADmB/qG,KAAK8G,OAAO,GAClBikG,kBAGR,YAAAT,cAAP,WAEE,OADmBtqG,KAAK8G,OAAO,GAClBwjG,iBAfD,EAAApkF,kBAA+D,UAAiBA,kBAiBhG,EAlBA,CAAyC,W,UAApBsyI,G,yFCNrB,OACA,OAUA,yE,OA6BS,EAAA5uJ,KAAe,cACf,EAAAiyF,SAAmB,O,EA4B5B,OA1DyG,iBACzF,EAAA31E,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CW,MAAO,CACLV,SAAS,EACTY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXW,KAAM,CACJX,SAAS,EACTmnD,WAAW,EACX1kE,MAAO,CACLszD,UAAW,KAGft5D,MAAO,CACLgkB,OAAQ,EACRK,YAAY,IAGhBG,MAAO,CACLjB,SAAS,MAQR,YAAA/d,cAAP,WACU,IAAA4zF,EAAeh8F,KAAK4lB,QAAO,WACnC,OAAO5lB,KAAKiJ,KAAKjB,gBAAgBg0F,IAGzB,YAAAkP,iBAAV,WACE,MAAO,CACL,CACEthG,KAAM,WAKF,YAAAskF,gBAAV,WACEluF,KAAK2qG,KAAKnkF,QAAU,GACpB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAK2qG,KAAKnkF,QAAQsc,OAASxW,EAAewW,QAExCxW,EAAeoR,YACjB19B,KAAK2qG,KAAKnkF,QAAQ1U,SAAWwa,EAAeoR,UACvCpR,EAAewW,SAClB9iC,KAAK2qG,KAAKnkF,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQklF,YAAa9qG,KAAK4lB,QAAQilF,cAAe7qG,KAAK4lB,QAAQo2E,eAIvG,EA1DA,CARA,0BAQyG,S,YA4DzG,EAAAxN,iBAAiB,cAAeiqE,I,yFCvEhC,OACA,0BACA,4BAIA,2B,+CAQA,OARyC,iBAGhC,YAAAzxJ,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,cAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA+D,UAAiBA,kBAOhG,EARA,CAAyC,W,UAApBwyI,G,yFCNrB,OACA,OAUA,yE,OA6BS,EAAA9uJ,KAAe,cACf,EAAAiyF,SAAmB,O,EA+B5B,OA7DyG,iBACzF,EAAA31E,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CW,MAAO,CACLV,SAAS,EACTY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXW,KAAM,CACJX,SAAS,EACTmnD,WAAW,EACX1kE,MAAO,CACLszD,UAAW,KAGft5D,MAAO,CACLgkB,OAAQ,EACRK,YAAY,IAGhBG,MAAO,CACLjB,SAAS,MAQR,YAAA/d,cAAP,WACU,IAAAkgG,EAAetoG,KAAK4lB,QAAO,WACnC,GAAI0iF,EACF,OAAOtoG,KAAKiJ,KAAKjB,gBAAgBsgG,IAI3B,YAAA4C,iBAAV,WACE,MAAO,CACL,CACEthG,KAAM,QACNggG,YAAa,KAKT,YAAA1b,gBAAV,WACEluF,KAAK2qG,KAAKnkF,QAAU,GACpB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB9iC,KAAK2qG,KAAKnkF,QAAQsc,OAASxW,EAAewW,QAExCxW,EAAeoR,YACjB19B,KAAK2qG,KAAKnkF,QAAQ1U,SAAWwa,EAAeoR,UACvCpR,EAAewW,SAClB9iC,KAAK2qG,KAAKnkF,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQklF,YAAa9qG,KAAK4lB,QAAQilF,cAAe7qG,KAAK4lB,QAAQ0iF,eAIvG,EA7DA,CARA,0BAQyG,S,YA+DzG,EAAA9Z,iBAAiB,cAAemqE,I,yFCtEhC,OACA,0BACA,4BAIA,2B,+CAuBA,OAvBmC,iBAG1B,YAAA3xJ,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,QAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAAjiC,cAAP,WAEE,OADctqG,KAAK8G,OAAO,GACbwjG,iBAGR,YAAAS,eAAP,WAEE,OADmB/qG,KAAK8G,OAAO,GAClBikG,kBAGR,YAAA3iG,cAAP,WAEE,OADmBpI,KAAK8G,OAAO,GAClBsB,iBApBD,EAAA8d,kBAAyD,UAAWA,kBAsBpF,EAvBA,CAAmC,W,UAAd0yI,G,yFCNrB,OACA,OAEA,2BACA,QACA,QACA,QACA,yBAEA,OAyCA,IAAMx/D,EAAW,CACf1oE,KAAM,OACN3J,KAAM,OACN4J,MAAO,SAGT,yE,OA4GS,EAAA/mB,KAAe,Q,EA0LxB,OAtSwC,iBACxB,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C7f,MAAO,IACPC,OAAQ,IACRud,MAAO,CACLsC,SAAS,GAEXrC,YAAa,CACXqC,SAAS,GAEXhgB,UAAU,EACVmgB,QAAS,OACT0a,OAAQ,GACR8G,QAAQ,EACR/gB,KAAM,CACJZ,SAAS,EACT0kB,KAAM,EACNjiC,MAAO,CACLuV,QAAS,IAGbuS,KAAM,CACJvK,SAAS,EACTvd,MAAO,CACLuV,QAAS,MAGbwS,MAAO,CACLxK,SAAS,EACT0kB,KAAM,EACNt6B,MAAO,QACP3H,MAAO,CACLuV,QAAS,IAGb06I,UAAW,CACT1yI,SAAS,EACTgiF,iBAAiB,EACjBphF,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXW,KAAM,CACJX,SAAS,EACTY,KAAM,CACJne,MAAO,CACL6wG,SAAU,CAAC,EAAG,MAIpB72G,MAAO,CACLujB,SAAS,EACTS,OAAQ,GACRK,YAAY,EACZC,UAAU,GAEZrD,MAAO,CACLsC,SAAS,IAGb2yI,WAAY,CACVr6I,IAAK,EACL0H,SAAS,EAETsX,MAAM,EACN0qE,iBAAiB,EACjBphF,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEX4yI,SAAU,OACVjyI,KAAM,CACJX,SAAS,EACTY,KAAM,CACJne,MAAO,CACL6wG,SAAU,CAAC,EAAG,MAIpB72G,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLsC,SAAS,IAGbvjB,MAAO,CACLujB,SAAS,EACTvc,KAAM,SAERwa,OAAQ,CACN+B,SAAS,EACTI,SAAU,YAEZC,QAAS,CACPL,SAAS,EACTM,QAAQ,EACRC,gBAAgB,MAaf,YAAAuB,KAAP,WACE,IAAMliB,EAAQ/F,KAAK4lB,QACnB7f,EAAM8kB,OAAS9kB,EAAMi3F,WACrBj3F,EAAM+kB,OAAS/kB,EAAM+kG,YACrB,YAAM7iF,KAAI,YAGL,YAAAqiF,cAAP,WACU,IAAAtN,EAAeh9F,KAAK4lB,QAAO,WACnC,OAAO5lB,KAAKiJ,KAAKjB,gBAAgBg1F,IAG5B,YAAA+N,eAAP,WACU,IAAAD,EAAgB9qG,KAAK4lB,QAAO,YACpC,OAAO5lB,KAAKiJ,KAAKjB,gBAAgB8iG,IAG5B,YAAA1iG,cAAP,WACU,IAAAyxF,EAAgB75F,KAAK4lB,QAAO,YACpC,OAAO5lB,KAAKiJ,KAAKjB,gBAAgB6xF,IAGzB,YAAAjM,eAAV,SAAyBzhE,EAAKviB,GAC5B,OAAOwvF,EAASxvF,IAGR,YAAAsf,MAAV,WACE,IAAMnjB,EAAQ/F,KAAK4lB,QACbuC,EAAS,GAEfA,EAAOpiB,EAAMi3F,YAAc,GACvB,EAAAt3F,IAAIK,EAAO,cACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAMi3F,YAAaj3F,EAAM8yJ,WAG/C1wI,EAAOpiB,EAAM+kG,aAAe,GACxB,EAAAplG,IAAIK,EAAO,eACb,EAAA+nF,aAAa3lE,EAAOpiB,EAAM+kG,aAAc/kG,EAAM+yJ,YAEhD94J,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGH,YAAAD,MAAV,WACE,IACMshF,EAAmB,CACvB3gG,KAAM,QACNnB,IAAK,CACHu4B,OAJUhhC,KAAK4lB,QAIDob,SAGlBhhC,KAAKgsB,UAAU,aAAcu+E,IAGrB,YAAApmF,KAAV,WACE,IAAMpe,EAAQ/F,KAAK4lB,QACbqG,EAAe,EAAAC,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,UAEDC,EAAe,EAAAF,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,WAEDE,EAAa,GACnBA,EAAWtmB,EAAMi3F,YAAc/wE,EAC/BI,EAAWtmB,EAAM+kG,aAAe1+E,EAEhCpsB,KAAKgsB,UAAU,OAAQK,IAGf,YAAAlD,YAAV,WACE,IAAMpjB,EAAQ/F,KAAK4lB,QAEnB,GAAI7f,EAAM2qB,KAAKvK,QAAS,CACtB,IAAMuK,EAAO,EAAAs9D,QAAQ,OAAQ,OAAQ,CACnCpnF,KAAM5G,OAERA,KAAKgsB,UAAU,WAAY0E,GAC3B1wB,KAAK0wB,KAAOA,EAGd,GAAI3qB,EAAMghB,MAAQhhB,EAAMghB,KAAKZ,QAAS,CACpC,IAAMY,EAAO,EAAAinE,QAAQ,OAAQ,OAAQ,CACnCpnF,KAAM5G,OAERA,KAAKgsB,UAAU,WAAYjF,GAC3B/mB,KAAK+mB,KAAOA,EAGd,GAAIhhB,EAAM4qB,OAAS5qB,EAAM4qB,MAAMxK,QAAS,CACtC,IAAMwK,EAAQ,EAAAq9D,QAAQ,QAAS,QAAS,CACtCpnF,KAAM5G,OAERA,KAAKgsB,UAAU,WAAY2E,GAC3B3wB,KAAK2wB,MAAQA,EAEX5qB,EAAMnD,OACR5C,KAAK4C,QAEHmD,EAAMygB,UAAYzgB,EAAMygB,QAAQsc,QAAU/8B,EAAMygB,QAAQkX,YAC1D19B,KAAKkuF,mBAIC,YAAAA,gBAAV,WACE,IAAMy2D,EAAa3kJ,KAAK+mB,KAAO/mB,KAAK+mB,KAAO/mB,KAAK0wB,KAChDi0H,EAAWn+H,QAAU,GACrB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB6hH,EAAWn+H,QAAQsc,OAASxW,EAAewW,QAEzCxW,EAAeoR,YACjBinH,EAAWn+H,QAAQ1U,SAAWwa,EAAeoR,UACxCpR,EAAewW,SAClB6hH,EAAWn+H,QAAQsc,OAAS,CAAC9iC,KAAK4lB,QAAQo3E,WAAYh9F,KAAK4lB,QAAQklF,cAEjE9qG,KAAK4lB,QAAQi0E,aACf8qD,EAAWn+H,QAAQsc,OAAOx/B,KAAKtD,KAAK4lB,QAAQi0E,eAKxC,YAAAj3F,MAAV,WACE,IAAMmD,EAAQ/F,KAAK4lB,QAEnB,IAA4B,IAAxB7f,EAAMnD,MAAMujB,QAUd,OATInmB,KAAK2wB,QACP3wB,KAAK2wB,MAAM/tB,OAAQ,GAEjB5C,KAAK+mB,OACP/mB,KAAK+mB,KAAKnkB,OAAQ,QAEhB5C,KAAK0wB,OACP1wB,KAAK0wB,KAAK9tB,OAAQ,IAMtB,IAAMA,EAAQ,EAAAspB,aAAa,QAAS,EAAF,UAChC4W,OAAQ,CAAC/8B,EAAM+kG,aACfriG,IAAK,CACHmB,KAAM,QACNqd,YAAY,GAEdrgB,KAAM5G,MACH+F,EAAMnD,QAGP5C,KAAK2wB,MACP3wB,KAAK2wB,MAAM/tB,MAAQA,EACV5C,KAAK+mB,KACd/mB,KAAK+mB,KAAKnkB,MAAQA,EACT5C,KAAK0wB,OACd1wB,KAAK0wB,KAAK9tB,MAAQA,IAIZ,YAAAwmB,WAAV,aAIU,YAAA5G,UAAV,WACE,YAAMA,UAAS,YAES,IADVxiB,KAAK4lB,QACTpD,YAEJxiB,KAAK0wB,OAAM1wB,KAAK0wB,KAAK/H,SAAU,GAC/B3oB,KAAK+mB,OAAM/mB,KAAK+mB,KAAK4B,SAAU,GAC/B3oB,KAAK2wB,QAAO3wB,KAAK2wB,MAAMhI,SAAU,KAI/B,YAAAxhB,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAEtB,EAtSA,CAAwC,W,YAwSxC,EAAAK,iBAAiB,QAASwqE,I,2GChW1B,WACA,QAYS,yEAZa,EAAA90I,aAYF,uEAZwB,EAAAW,WAE5C,IAMMs/F,EAA6B,EAAAvgG,YANd,CACnB8M,KAAM,OACN3J,KAAM,OACN4J,MAAO,UAKT,EAAAxwB,OAAO,EAAA+jB,UAAWigG,I,8ECXlB,MA4DA3gG,cAAc,QAAS,CACrBulF,UAAW,CACTjB,OAAQ,GACRlvB,OA7DsB,SAAChwE,GAEzB,MAAO,CAAEuV,QADOvV,EAAMuV,SAAW,IA6D/B4pF,QAzDuB,SAACn/F,GAE1B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAyD/Bs8D,SAAU,CAAEve,UAAW,EAAG5rC,OAAQ,YAEpCipE,UAAW,CACTuO,OAAQ,GACRlvB,OAzDsB,SAAChwE,GAEzB,MAAO,CAAEuV,QADOvV,EAAMuV,SAAW,IAyD/B4pF,QArDuB,SAACn/F,GAE1B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAqD/Bs8D,SAjDwB,SAAC7xE,GAE3B,MAAO,CAAEszD,WADStzD,EAAMszD,WAAa,GACL,KAiDhCi+C,WAAY,CACVrS,OAAQ,GACRlvB,OAhDuB,SAAChwE,GAC1B,IAAM4U,EAAQ5U,EAAMinB,MAAQjnB,EAAMo7G,UAC5BhjF,EAASp4B,EAAMiiC,MAAQjiC,EAAMo4B,OAEnC,MAAO,CACLA,OAAQA,EAAS,EACjB49B,WAAY59B,EACZ69B,YAAarhD,EACb8S,OAAQ9S,EACRomE,cAAe,EACf1nB,UAAW,IAuCX6rC,QArByB,SAACn/F,GAE5B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAWvV,EAAM+6E,aAAe,KAqBpDlJ,SApCyB,SAAC7xE,GAC5B,IAAM4U,EAAQ5U,EAAMinB,MAAQjnB,EAAMo7G,UAC5BhjF,EAASp4B,EAAMiiC,MAAQjiC,EAAMo4B,OAEnC,MAAO,CACLA,OAAQA,EAAS,EACjB49B,WAAY59B,EACZ69B,YAAarhD,EACb8S,OAAQ9S,EACRomE,cAAe,EACf1nB,UAAW,Q,yFCvDf,OACA,0BACA,4BAIA,2B,+CAuBA,OAvBoC,iBAG3B,YAAAl1D,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,SAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAA0sB,YAAP,SAAmB37J,EAAesK,GAChC,QADgC,IAAAA,OAAA,GAC5BA,EACF5H,KAAKqH,WAAU,SAACC,GACVA,aAAiB,WACnBA,EAAM2xJ,YAAY37J,UAGjB,CACL,IAAMgK,EAAatH,KAAK8G,OAAO,GAC3BQ,aAAiB,WACnBA,EAAM2xJ,YAAY37J,KAlBV,EAAA4oB,kBAA0D,UAAYA,kBAsBtF,EAvBA,CAAoC,W,UAAfgzI,G,yFCNrB,OACA,OACA,2BACA,OAEA,2BACA,QACA,QAEA,QACA,4BACA,yBACA,OACA,OAEA,IAAM7rE,EAAc,CAClBC,OAAQ,YAGJC,EAAgB,CACpB18E,SAAU,UA0BZ,yE,OAwBS,EAAAjH,KAAe,SACd,EAAAuvJ,wBAAkC,E,EA2R5C,OApT0F,iBAG1E,EAAAjzI,kBAAd,WAiBE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAhBH,CACrCI,QAAS,CAAC,EAAG,EAAG,EAAG,GACnB9D,UAAW,CACT2R,OAAQ,GACR1R,OAAQ,aACRF,SAAU,KAEZ62I,YAAa,CACXl9F,UAAW,GAEb1+C,MAAO,UACPkI,aAAc,GACd4nF,UAAW,CACTnnF,SAAS,MAUR,YAAA0B,WAAP,WACQ,MAAsB7nB,KAAK4lB,QAAzBnH,EAAG,MAAED,EAAG,MAAElhB,EAAK,QACvB,IAAK,EAAA22B,SAASxV,GACZ,MAAM,IAAImgB,MAAM,4EAElB,IAAK,EAAA3K,SAASzV,GACZ,MAAM,IAAIogB,MAAM,4EAElB,IAAK,EAAA3K,SAAS32B,GACZ,MAAM,IAAIshC,MAAM,2EAIb,YAAA3W,KAAP,WACEjoB,KAAK4lB,QAAQ5mB,KAAO,CAAC,IACrB,YAAMipB,KAAI,YAGF,YAAAgB,MAAV,aAIU,YAAAC,MAAV,WACE,IAAMnjB,EAAQ/F,KAAK4lB,QACXnH,EAAa1Y,EAAK,IAAbyY,EAAQzY,EAAK,IACpBoiB,EAAS,CACb7qB,MAAO,IAET,EAAAwwF,aAAa3lE,EAAO7qB,MAAO,CACzBmhB,IAAKtP,KAAKsP,IAAIA,EAAKD,GACnBA,IAAKrP,KAAKqP,IAAIC,EAAKD,KAGrBxe,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGH,YAAA/E,KAAV,WACEnkB,KAAKgsB,UAAU,QAAQ,IAGf,YAAAqtI,aAAV,SAAuBC,GACb,IAASvzJ,EAAU/F,KAAI,QAE/Bs5J,EAAO/oJ,MAAQ,CACbmQ,OAAQ,CAAC,sBAGX44I,EAAO9yI,SAAU,EAEjB,IAAI4yI,EAAcrzJ,EAAMqzJ,YACpB,EAAA9uJ,WAAW8uJ,KAAcA,EAAcA,KACvCA,IACFE,EAAO1wJ,MAAQwwJ,IAIT,YAAAjwI,YAAV,WACE,IAAMmwI,EAAS,EAAAtrE,QAAQ,WAAY,OAAQ,CACzCC,eAAgB,CAAC,EAAG,SACpBrnF,KAAM5G,OAERA,KAAKq5J,aAAaC,GAClB,IAAMjwI,EAAYrpB,KAAKspB,eACjBooC,EAA4D,GAA9CviD,KAAKsP,IAAI4K,EAAUhjB,MAAOgjB,EAAU/iB,QAClDizJ,EAAav5J,KAAK4lB,QAAQ2zI,WAAav5J,KAAK4lB,QAAQ2zI,WAAa7nG,EACvE4nG,EAAOzuH,KAAO,CAAEnqB,OAAQ,CAAC64I,IACzBv5J,KAAKs5J,OAASA,EACdt5J,KAAKgsB,UAAU,WAAYstI,IAGnB,YAAA92I,UAAV,WACE,IAAMzc,EAAQ/F,KAAK4lB,QACnB,IAAwB,IAApB7f,EAAMyc,UAERxiB,KAAKs5J,OAAO3wI,SAAU,MACjB,CACL,IAAMwL,EAAS,EAAAj3B,IAAI6I,EAAO,oBACpB0c,EAAS,EAAAvlB,IAAI6I,EAAO,oBACpBwc,EAAW,EAAArlB,IAAI6I,EAAO,sBAC5B/F,KAAKs5J,OAAO3wI,QAAU,CACpB0iC,OAAQ,CACN7oC,UAAW,eACX2R,OAAM,EACN1R,OAAM,EACNF,SAAQ,MAMN,YAAAqrE,eAAV,SAAyBzhE,EAAaviB,GACpC,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAwf,WAAV,WACE,IAAMglF,EAAoB,GAEpBorD,EAAkBx5J,KAAKy5J,mBAC7BrrD,EAAkB9qG,KAAKk2J,GACvBx5J,KAAKgsB,UAAU,cAAeoiF,IAItB,YAAAsrD,eAAV,WACE,IACMpsD,EADQttG,KAAK4lB,QACU0nF,WAAa,GAC1C,OAAO,EAAAhjG,WAAWgjG,EAAU0lD,cAGpB,YAAAyG,iBAAV,WACE,IAAIz5J,KAAK05J,iBAAT,CAGA,IAGIzhG,EAOAnoC,EACA8uC,EAXE74D,EAAQ/F,KAAK4lB,QACb0nF,EAAiBvnG,EAAMunG,WAAa,GAW1C,GAPEr1C,EADE,EAAA3tD,WAAWgjG,EAAU5vE,WACb4vE,EAAU5vE,UAAU33B,EAAMzI,OAE1B,GAAGyI,EAAMzI,MAOnBwyB,EADqB3gB,KAAKsP,IAAIze,KAAKqG,MAAOrG,KAAKsG,QACpB2xD,EAAQr5D,OAAU,GAC7CggE,EAAazvD,KAAKqP,IAAI,EAAGrP,KAAKqmB,KAAK,KAAQ1F,IAG7C,IAA0B,IAAtBw9E,EAAUnnF,QAAd,CAIA,IAAMqzI,EAAkB,EAAAzvJ,QACtB,CACEnB,MAAO,CACLknB,SAAQ,EACR8uC,WAAU,IAGd,CACE/jC,KAAK,EACLo9B,QAAO,EACPruD,KAAM,OACN2c,SAAU,CAAC,MAAO,OAClB3d,MAAO,CACLuV,aAlBFA,EAmBE0R,KAAM,cACNgvC,YAAa,cACb9uC,UAAW,WAGfu9E,GAKF,cAHOksD,EAAgBrzI,eAChBqzI,EAAgB97H,iBAChB87H,EAAgBhsE,YAChBgsE,KAGC,YAAAryJ,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGb,YAAAjkE,YAAP,W,OAC4B,QAAtB,EAAAlqB,KAAK4lB,QAAQ0nF,iBAAS,eAAEnnF,WAAYnmB,KAAK05J,kBAC3C15J,KAAK25J,mBAEC,IAAA/zI,EAAY5lB,KAAI,QAClBsmB,EAAUV,EAAQU,QAAUV,EAAQU,QAAUtmB,KAAK2H,OAAOlB,MAAM6f,QAStE,GAPIV,EAAQyE,cAA4B,SAAZ/D,GAC1BtmB,KAAKgmB,gBAAgBsE,cAAc1E,EAAQyE,cAG7B,SAAZ/D,GACFtmB,KAAK+lB,kBAAkBwE,qBAErBvqB,KAAK05J,iBAAkB,CACzB,IAAM5zJ,EAAY9F,KAAK6G,OAAO3J,IAAI,aAKlC,GAJI8C,KAAKstG,WACPxnG,EAAUk/G,YAAYhlH,KAAKstG,UAAUkX,aAGnCxkH,KAAK4lB,QAAQ0nF,WAAattG,KAAK4lB,QAAQ0nF,UAAUnnF,QAAS,CAC5D,IAAM,EAAYnmB,KAAK6G,OAAO3J,IAAI,aAClC,EAAAkO,UAAU,EAAW,CAAEmb,SAAU,aACjCvmB,KAAKstG,UAAY,IAAI,UAAgB,EAAD,UAClCxnG,UAAS,EACTmD,KAAMjJ,KAAKiJ,KACXrC,KAAM5G,MACHA,KAAK4lB,QAAQ0nF,YAElBttG,KAAKstG,UAAUhkG,SAEjB,YAAM4gB,YAAW,aAIX,YAAAhC,YAAV,WAEE,MAAO,CAAC,CAAEvlB,EAAG,IAAKrF,MADJ0C,KAAK4lB,QACYtoB,SAG1B,YAAA27J,YAAP,SAAmB37J,GACH0C,KAAK4lB,QACbtoB,MAAQA,EACd0C,KAAK+H,WAAW,KAER,YAAA4xJ,iBAAV,sBACQ5zJ,EAAQ/F,KAAK4lB,QACb+7D,EAAY3hF,KAAKiJ,KAAK2gB,gBAAgBqiE,SAAQ,SAAC9gF,GACnD,MAA0B,oBAAnBA,EAAGjO,IAAI,WACb,GACGslB,EAAiBzc,EAAMyc,WAAa,GACpCo3I,EAAa55J,KAAK65J,2BACpB75J,KAAKm5J,uBACPx3E,EAAUh5D,QAAQixI,EAAYp3I,EAAUD,SAAWpT,KAAKsP,IAAI,EAAG,IAAM+D,EAAU2R,QAAS,MAAM,WAC5F,EAAKglI,wBAAyB,KAGhC,EAAAW,MAAMF,GAAY,SAAC12J,EAAG/D,GAAM,OAAAwiF,EAAU9uD,KAAK1zB,EAAG+D,OAIxC,YAAA22J,yBAAV,WACU,IAAS9zJ,EAAU/F,KAAI,QAGzB+5J,EAAiB,CAAElqI,KAAM,UAAWgvC,YAAa,SACvD,IAA4C,IAAxC,EAAA3hE,IAAI6I,EAAO,yBACb,MAAO,CACL8pB,KAAM,EAAA3yB,IAAI6I,EAAO,uBAAwBg0J,EAAelqI,MACxDgvC,YAAa,EAAA3hE,IAAI6I,EAAO,8BAA+Bg0J,EAAel7F,cAIpE,IAAApgD,EAAa1Y,EAAK,IAAbyY,EAAQzY,EAAK,IAChBzI,EAAUyI,EAAK,MAUvB,KATA0Y,EAAMtP,KAAKsP,IAAIA,EAAKD,MACpBA,EAAMrP,KAAKqP,IAAIC,EAAKD,IAGR,GAEClhB,EAAQmhB,IAAQD,EAAMC,IAGrB,IAAM,CAClB,IAAMu7I,EAAYh6J,KAAK4lB,QAAQpI,MAEzBJ,EAAM,EAAA0gB,QAAQk8H,GAEpB,OADa7qJ,KAAKuP,MAAe,KAATtB,EAAI,GAAsB,KAATA,EAAI,GAAsB,KAATA,EAAI,IAF1C,GAGN,IAzBQ,CAAEyS,KAAM,UAAWgvC,YAAa,SAyBhBk7F,EAExC,OAAOA,GAGF,YAAAryJ,aAAP,SAAoBe,GAClB,YAAMf,aAAY,UAACe,GACnBzI,KAAKm5J,wBAAyB,GAGtB,YAAA7vI,aAAV,WACE,IAAMD,EAAY,YAAMC,aAAY,WAC9B8vI,EAAmBp5J,KAAK4lB,QAAQwzI,YAChCa,EAAcb,EAAYl9F,UAAYk9F,EAAYl9F,UAAY,EAC5DhsD,EAA8BmZ,EAAS,KAAjCjZ,EAAwBiZ,EAAS,KAA3BhjB,EAAkBgjB,EAAS,MAApB/iB,EAAW+iB,EAAS,OACzCwhB,EAAO17B,KAAKsP,IAAIpY,EAAOC,GAAwB,EAAd2zJ,EAGjCjwJ,EAFKkG,EAAO7J,EAAQ,EAEXwkC,EAAO,EAChBpoC,EAFK2N,EAAO9J,EAAS,EAEZukC,EAAO,EACtB,OAAO,IAAI,UAAK7gC,EAAGvH,EAAGooC,EAAMA,IAEhC,EApTA,CAA0F,W,YAsT1F,EAAA2jD,iBAAiB,SAAU0rE,I,yFCpW3B,OAEA,4BAEA,SAOA,cAME,WAAYzxJ,GAAZ,MACE,YAAMA,IAAI,K,OACV,EAAKQ,KAAOR,EAAIQ,KAChB,EAAKrC,KAAO6B,EAAI7B,KAChB,EAAK8+G,eAAiBj9G,EAAIi9G,eAC1B,EAAKy0C,gB,EA0BT,OArC2C,iBAe/B,YAAAC,mBAAV,WACE,IAAMC,EAAqBp0J,SAASymB,cAAc,OAC5C,EAA2B1sB,KAAK4G,KAAKgf,QAAnC,IAAAtoB,aAAK,IAAG,IAAC,EAAEgwG,EAAS,YAC5B,GAAIA,IAAcA,EAAUnnF,QAC1B,OAAOk0I,EAET,IAAMrH,EAAchzJ,KAAK4lB,QAAQotI,YAAY11J,GAO7C,OANI,EAAAunH,OAAOmuC,EAAa,kBACtBqH,EAAmB5vG,YAAYuoG,GAE/BqH,EAAmBv1C,UAAY,EAAAw1C,YAAYtH,EAAuBhzJ,KAAK0lH,gBAGlE20C,GAGC,YAAAF,cAAV,WACEn6J,KAAKskH,KAAOtkH,KAAKo6J,qBACX,MAAgCp6J,KAAKiJ,KAAKg4C,eAAxC/wC,EAAI,OAAEE,EAAI,OAAE/J,EAAK,QAAEC,EAAM,SACjCtG,KAAKgK,EAAIkG,EAAO7J,EAAQ,EACxBrG,KAAKyC,EAAI2N,EAAO9J,EAAS,GAE7B,EArCA,CAA2C,W,gHCN3C,uBAA4BhJ,EAAOqvB,GAGjC,MAAO,iCAAiCA,EAAjC,4PAFa,wFAAwDrvB,EAAK,WAEQ,W,2GCR3F,WACA,QAWS,yEAXa,EAAA4mB,aAWF,uEAXwB,EAAAW,WAE5C,IAKMs/F,EAA6B,EAAAvgG,YALd,CACnB01I,OAAQ,UACRhsD,UAAW,oBAKb,EAAAntG,OAAO,EAAA+jB,UAAWigG,I,8ECVlB,WACA,OACA,QACA,QAEMse,EAAc,EAAAn/G,iBAEdi3I,EAeQ,SAACloI,EAAO5pB,GACdA,EAAI+U,QAAU6U,EAAMxC,OACtBwC,EAAMxC,KAAOpnB,EAAI+U,OAEf,EAAAyW,SAASxrB,EAAI0V,WACfkU,EAAMlU,QAAUkU,EAAMsxD,YAAcl7E,EAAI0V,UApBxCo8I,EAuBU,SAACloI,EAAO5pB,GAChBA,EAAI+U,QAAU6U,EAAM/B,SACtB+B,EAAM/B,OAAS7nB,EAAI+U,OAEjB,EAAAyW,SAASxrB,EAAI0V,WACfkU,EAAMlU,QAAUkU,EAAMuxD,cAAgBn7E,EAAI0V,UAK1Cq8I,EACA,SAACr2J,EAAGzE,EAAGy0B,GACT,OAAQ,EAAIA,GAAUhwB,EAAIgwB,EAASz0B,GAkBjC+6J,EAAe,SAAChyJ,GACpB,IAAMiyJ,EAAe,CACnB7qI,KAAM,OACNS,OAAQmyG,EAAYjlH,MACpBmmE,YAAa,EACbznB,UAAW,GAEP7pC,EAAQ,EAAA3D,IAAI,GAAIgsI,EAAcjyJ,EAAIG,OAExC,OADA2xJ,EAAyBloI,EAAO5pB,GACzB4pB,GAuBT,SAASsoI,EAAsB3wJ,EAAGqkF,EAAOusE,EAAY/2D,GACnD,OAAc,IAAVxV,EACK,CACL,CAACrkF,EAAK,GAAU4wJ,EAAczrJ,KAAKE,GAAK,EAAGw0F,EAAY,GACvD,CAAC75F,EAAK,GAAU4wJ,EAAczrJ,KAAKE,GAAIw0F,GACvC,CAAC75F,EAAI4wJ,EAAa,EAAG/2D,IAGX,IAAVxV,EACK,CACL,CAACrkF,EAAM,GAAU4wJ,EAAczrJ,KAAKE,GAAK,GAAMF,KAAKE,GAAK,GAAIw0F,GAC7D,CAAC75F,EAAM,GAAU4wJ,EAAczrJ,KAAKE,GAAK,GAAMF,KAAKE,GAAK,GAAIw0F,EAAY,GACzE,CAAC75F,EAAI4wJ,EAAa,EAAG,IAGX,IAAVvsE,EACK,CACL,CAACrkF,EAAK,GAAU4wJ,EAAczrJ,KAAKE,GAAK,GAAIw0F,EAAY,GACxD,CAAC75F,EAAK,GAAU4wJ,EAAczrJ,KAAKE,IAAKw0F,GACxC,CAAC75F,EAAI4wJ,EAAa,GAAI/2D,IAGnB,CACL,CAAC75F,EAAM,GAAU4wJ,EAAczrJ,KAAKE,GAAK,GAAMF,KAAKE,GAAK,IAAKw0F,GAC9D,CAAC75F,EAAM,GAAU4wJ,EAAczrJ,KAAKE,GAAK,GAAMF,KAAKE,GAAK,IAAKw0F,EAAY,GAC1E,CAAC75F,EAAI4wJ,EAAa,EAAG,IAezB,SAASC,EAAiB75H,EAAQ85H,EAAYF,EAAYG,EAAOl3D,EAAWjf,EAAIC,GAM9E,IALA,IAAMm2E,EAAsD,EAA7C7rJ,KAAKqmB,KAAO,EAAIwL,EAAU45H,EAAc,GACjDprI,EAAO,GACTyrI,EAASF,EAGNE,EAAoB,GAAV9rJ,KAAKE,IACpB4rJ,GAAoB,EAAV9rJ,KAAKE,GAEjB,KAAO4rJ,EAAS,GACdA,GAAoB,EAAV9rJ,KAAKE,GAIjB,IAAMsrB,EAAOiqD,EAAK5jD,GAFlBi6H,EAAUA,EAAS9rJ,KAAKE,GAAK,EAAKurJ,GAEW,EAAT55H,EAWpCxR,EAAKlsB,KAAK,CAAC,IAAKq3B,EAAMmgI,IAUtB,IADA,IAAII,EAAY,EACPx+J,EAAI,EAAGA,EAAIs+J,IAAUt+J,EAAG,CAC/B,IACM4kF,EAAMq5E,EAAuBj+J,EAAIk+J,EAAc,EADvCl+J,EAAI,EAC6Ck+J,EAAY/2D,GAC3Er0E,EAAKlsB,KAAK,CACR,IACAg+E,EAAI,GAAG,GAAK3mD,GACX2mD,EAAI,GAAG,GAAKw5E,EACbx5E,EAAI,GAAG,GAAK3mD,GACX2mD,EAAI,GAAG,GAAKw5E,EACbx5E,EAAI,GAAG,GAAK3mD,GACX2mD,EAAI,GAAG,GAAKw5E,IAGXp+J,IAAMs+J,EAAS,IACjBE,EAAY55E,EAAI,GAAG,IAiBvB,OAHA9xD,EAAKlsB,KAAK,CAAC,IAAK43J,EAAYvgI,EAAMkqD,EAAK7jD,IACvCxR,EAAKlsB,KAAK,CAAC,IAAKq3B,EAAMkqD,EAAK7jD,IAC3BxR,EAAKlsB,KAAK,CAAC,IAAKq3B,EAAMmgI,IACftrI,EAsDT,EAAA/iB,cAAc,WAAY,oBAAqB,CAC7ChF,KAAA,SAAKgB,EAAU3C,GACb,IACIoK,EAAOqC,IACX,EAAA/I,KAAKf,EAAI0xB,QAAQ,SAACh8B,GACZA,EAAE6L,EAAIkG,IACRA,EAAO/R,EAAE6L,MAGb,IACMmxJ,EAAKn7J,KAAKwvD,WAAW,CAAExlD,EADlB,GACyBvH,EARzB,KASL24J,EAAOp7J,KAAKwvD,WAAW,CAAExlD,EAAGkG,EAAMzN,EAAG,KACrConE,EAASsxF,EAAGnxJ,EAAIoxJ,EAAKpxJ,EACrBg3B,EAAS7xB,KAAKsP,IAAIorD,EAAQuxF,EAAK34J,GAC7BotB,EA5NS,SAACpnB,GACpB,IAAMiyJ,EAAe,CACnBx+F,UAAW,EACXrsC,KAAM4yG,EAAYjlH,MAClBmmE,YAAa,KAETtxD,EAAQ,EAAA3D,IAAI,GAAIgsI,EAAcjyJ,EAAIG,OAKxC,OAJA2xJ,EAAuBloI,EAAO5pB,GAC1BA,EAAI+U,QAAU6U,EAAM/B,SACtB+B,EAAM/B,OAAS+B,EAAM/B,QAAU7nB,EAAI+U,OAE9B6U,EAiNYgpI,CAAa5yJ,GAAI,KAC5B6yJ,EAAQx1J,EAAU4jB,SAAS,CAC/B9sB,KAAM,QACNy1B,MAAO,CACLroB,EAAGmxJ,EAAGnxJ,EACNvH,EAAG04J,EAAG14J,KAGV64J,EAAMxzG,QAAQ,CACZl+C,KAAM,SACNyoB,MAAO,CACLroB,EAAGmxJ,EAAGnxJ,EACNvH,EAAG04J,EAAG14J,EACNtF,EAAG6jC,KAGP,IAAMu6H,EAAaD,EAAMp+J,IAAI,aAoB7B,OA1FJ,SAAsB8M,EAAGvH,EAAG2nE,EAAOoxF,EAAWh+I,EAAOlN,EAAO0hG,EAAMhxE,GAKhE,IAJA,IAAMzb,EAAOysF,EAAKnkF,UACZxnB,EAAQkf,EAAKpV,KAAOoV,EAAKrV,KACzB5J,EAASif,EAAKlV,KAAOkV,EAAKnV,KAEvB/T,EAAI,EAAGA,EAAIm/J,EAAWn/J,IAAK,CAClC,IAAM83B,EAASqnI,GAAa,EAAI,EAAIn/J,GAAKm/J,EAAY,GAC/CC,EAAOnrJ,EAAM4iB,SAAS,OAAQ,CAClCb,MAAO,CACL7C,KAAMqrI,EACJ75H,EACAzb,EAAKnV,KAAO9J,EAAS8jE,EACrB/jE,EAAQ,EACR,EACAA,EAAQm0J,EAAe,GAAI,GAAIrmI,GAC/BnqB,EACAvH,GAEFotB,KAAMrS,EACNW,QAASq8I,EAAe,GAAK,GAAKrmI,MAShCoC,EAAS,EAAA+gC,UAAU,CAAC,CAAC,IAAKjxD,EAAQ,EAAG,KAC3Co1J,EAAK9yI,QACH,CAAE4N,OAAM,GACR,CACEhU,SAAUi4I,EA5BC,IA4BwB,KAAgBrmI,GACnDlkB,QAAQ,KAsCZyrJ,CACEP,EAAGnxJ,EACHmxJ,EAAG14J,EACH,EAAIgG,EAAI0xB,OAAO,GAAG13B,EAClB,EACAotB,EACAyrI,EACAC,EACS,EAATv6H,GAEFl7B,EAAUotB,SAAS,SAAU,CAC3Bt2B,KAAM,OACNy1B,MAAO,EAAA3D,IAAI+rI,EAAahyJ,GAAM,CAC5BuB,EAAGmxJ,EAAGnxJ,EACNvH,EAAG04J,EAAG14J,EACNtF,EAAG6jC,EACHnR,KAAM,kBAGHyrI,EAAM,O,8EC9SjB,WACA,OACA,QAEA,SAASK,EAAaprJ,EAAOgiB,GAC3B,IAAMzsB,EAAYyK,EAAMrT,IAAI,UACtB2zB,EAAM/qB,EAAU+nB,UAChBsG,EAAShlB,KAAKsP,IAAItP,KAAKqP,IAAI,EAAG,EAAAthB,IAAIq1B,EAAY,SAAU,KAAO,GAC/DxgB,EAAQ,EAAA7U,IAAIq1B,EAAY,QAAS,GACjChQ,EAAW,EAAArlB,IAAIq1B,EAAY,WAAY,KACrCzgB,EAAaygB,EAAU,SAEzBu8G,GAAWj+G,EAAI3gB,KAAO2gB,EAAI1gB,MAAQ,EAClC4+H,EAAUl+G,EAAIxgB,KAEdurJ,EAAO91J,EAAUooC,MAAK,SAAC39B,GAAU,MAAqB,QAArBA,EAAMrT,IAAI,WAC3C2+J,EAAoBD,EAAK/oI,KAAK,WACpC+oI,EAAK/oI,KAAK,UAAW,GACrB+oI,EAAKjzI,QAAQ,CAAExK,QAAS09I,GAAqBt5I,EAAW4R,EAAQ,aAAc,KAAMpiB,GACpF,IAAMupJ,EAAQx1J,EAAUooC,MAAK,SAAC39B,GAAU,MAAqB,SAArBA,EAAMrT,IAAI,WAC5C4+J,EAAoB,EAAA1pI,MAAMkpI,EAAMzoI,KAAK,YAAc,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAC5E+jH,EAAkB,EAAAt/E,UAAUwkG,EAAmB,CACnD,CAAC,KAAMhtB,GAAUC,GACjB,CAAC,IAAK,EAAG,GACT,CAAC,IAAKD,EAASC,KAEjBusB,EAAM9jG,UAAUo/E,GAChB0kB,EAAM3yI,QACJ,CAAE4N,OAAQulI,GACVv5I,EACAgQ,EAAW9P,QACX,WAAM,OAAA3Q,GAAYA,EAAShM,EAAW81J,EAAMN,KAC5CvpJ,GAGJ4pJ,EAAaviB,cAAgB,eAC7B,EAAAltI,kBAAkB,eAAgByvJ,I,yFCpClC,OACA,0BACA,4BAIA,2B,+CAQA,OARuC,iBAG9B,YAAA30J,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,YAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA6D,UAAeA,kBAO5F,EARA,CAAuC,W,UAAlB61I,G,yFCNrB,OACA,OAEA,QAaA,yE,OACS,EAAAnyJ,KAAe,Y,EA0DxB,OA3D4C,iBAGnC,YAAAqe,KAAP,WACEjoB,KAAK4lB,QAAQiF,OAAS,QACtB7qB,KAAK4lB,QAAQkF,OAAS,QACtB,YAAM7C,KAAI,YAGF,YAAAC,YAAV,SAAsB0zB,GAAtB,WACQ,EAAoC57C,KAAK4lB,QAAvCo2I,EAAQ,WAAEC,EAAQ,WAAEC,EAAS,YAC/BC,EAAkB,EAAA/pI,MAAMwpB,GAE9B,EAAAunE,OAAOg5C,EAAiBH,GAExB,IAAMt7I,EAAS,EAAAwiG,YAAYi5C,EAAiBH,GACtCvuI,EAAQ,EAAAw/D,SAASvsE,GACjB07I,EAAa3uI,EAAMjP,IAAMiP,EAAMhP,IAEjC49I,EAAYJ,EAKhB,IAJKA,GAAYC,IACfG,EAAYD,EAAaF,IAGtBD,IAAaC,EAAW,CAC3B,IAAMI,EAAoB,EAAA1gI,QAAQlb,GAClC27I,EAAYD,EAAaE,EAE3B,IAAMC,EAAO,GACb,EAAA/yJ,KAAK2yJ,GAAiB,SAACn9J,GACrB,IAAM1B,EAAQ0B,EAAKg9J,GACbQ,EAAM,EAAKC,OAAOn/J,EAAO++J,GACzBK,EAAaF,EAAI,GAAE,IAAIA,EAAI,GAC5B,EAAA/0I,OAAO80I,EAAMG,KAChBH,EAAKG,GAAW,CAAE9/J,KAAM8/J,EAASjvI,MAAO+uI,EAAK7yG,MAAO,EAAG3qD,KAAM,KAE/Du9J,EAAKG,GAAS19J,KAAKsE,KAAKtE,GACxBu9J,EAAKG,GAAS/yG,OAAS,KAGzB,IAAMuiD,EAAW,GAIjB,OAHA,EAAA1iG,KAAK+yJ,GAAM,SAACC,GACVtwD,EAAS5oG,KAAKk5J,MAETtwD,GAGC,YAAAhjF,MAAV,WACE,YAAMA,MAAK,WAEX,IAAMuE,EAAQztB,KAAK2H,OAAOwgB,OAAOsF,MACjCA,EAAMgQ,MAAO,EACbhQ,EAAM7jB,KAAO,UAGP,YAAA6yJ,OAAR,SAAen/J,EAAO2+J,GACpB,IAAMv9J,EAAQyQ,KAAKwR,MAAMrjB,EAAQ2+J,GACjC,MAAO,CAACA,EAAWv9J,EAAOu9J,GAAYv9J,EAAQ,KAElD,EA3DA,CAZA,yBAY4C,S,YA6D5C,EAAA8vF,iBAAiB,YAAamuE,I,yFC7E9B,OACA,0BACA,4BAIA,2B,+CAQA,OARqC,iBAG5B,YAAA31J,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,UAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA2D,UAAaA,kBAOxF,EARA,CAAqC,W,UAAhB02I,G,yFCNrB,QACA,OACA,OAEA,QACA,2BAcMC,EAAU,CACdC,aAAc,SAACz9J,GACb,OAAO8P,KAAKsmB,IAAIp2B,IAAS,EAAI,KAAQ,EAAIA,EAAOA,GAAQ,GAE1D09J,SAAU,SAAC19J,GACT,OAAQ,EAAI8P,KAAKI,KAAe,EAAVJ,KAAKE,IAAWF,KAAKooF,KAAK,GAAMpoF,KAAKyQ,IAAIvgB,EAAM,KAEvE29J,QAAS,SAAC39J,GACR,OAAO8P,KAAKsmB,IAAIp2B,IAAS,EAAI,GAAM,GAErCozG,SAAU,SAACpzG,GACT,OAAO8P,KAAKsmB,IAAIp2B,IAAS,EAAI,EAAI8P,KAAKsmB,IAAIp2B,GAAQ,GAEpD49J,QAAS,SAAC59J,GACR,IAAM6D,EAAI,EAAI7D,EAAOA,EACrB,OAAO8P,KAAKsmB,IAAIp2B,IAAS,EAAK,GAAK,GAAM6D,EAAIA,EAAI,GAEnDg6J,UAAW,SAAC79J,GACV,IAAM6D,EAAI,EAAI7D,EAAOA,EACrB,OAAO8P,KAAKsmB,IAAIp2B,IAAS,EAAK,GAAK,GAAM8P,KAAKyQ,IAAI1c,EAAG,GAAK,GAE5Di6J,QAAS,SAAC99J,GACR,IAAM6D,EAAKiM,KAAKE,GAAK,EAAKF,KAAKw1B,IAAI,GAAMx1B,KAAKE,GAAKhQ,GACnD,OAAO8P,KAAKsmB,IAAIp2B,IAAS,EAAI6D,EAAI,IAIrC,yE,OACS,EAAA0G,KAAe,U,EAkExB,OAnE6F,iBAGpF,YAAAqe,KAAP,WACE,IAAMm1I,EAAoBp9J,KAAK4lB,QAAQiB,MAAQ,EAAAuL,MAAMpyB,KAAK4lB,QAAQiB,OAAS,GAC3E7mB,KAAK4lB,QAAQiF,OAAS,QACtB7qB,KAAK4lB,QAAQkF,OAAS,UACtB9qB,KAAK4lB,QAAQiB,MAAQ,EAAA9c,QAAQ,GAAIqzJ,EAAmB,CAAExzJ,KAAM,WAC5D5J,KAAK4lB,QAAQkiB,QAAS,EACtB,YAAM7f,KAAI,YAGF,YAAAC,YAAV,SAAsB0zB,GAAtB,WACQ,EAA4C57C,KAAK4lB,QAA/Co2I,EAAQ,WAAEC,EAAQ,WAAEC,EAAS,YAAEmB,EAAM,SAEvCC,EAAaT,EADHQ,GAAkB,gBAE5BE,EAAiB,EAAAnrI,MAAMwpB,GAC7B,EAAAunE,OAAOo6C,EAAgBvB,GAEvB,IAAMt7I,EAAS,EAAAwiG,YAAYq6C,EAAgBvB,GACrCvuI,EAAQ,EAAAw/D,SAASvsE,GACjB07I,EAAa3uI,EAAMjP,IAAMiP,EAAMhP,IACjC++I,EAAatB,EACbG,EAAYJ,GACXC,GAAaD,IAChBuB,EAAaruJ,KAAKwR,MAAMy7I,EAAaH,KAElCA,GAAYC,IACfG,EAAYD,EAAaF,GAGtBA,GAAcD,IACjBuB,EAAa,EAAA5hI,QAAQlb,GACrB27I,EAAYD,EAAaF,GAG3B,IAOMuB,EANQ,IADM,EAAAlhH,SAAS,UACf,CAAgB,CAC5B99B,IAAKgP,EAAMhP,IACXD,IAAKiP,EAAMjP,IACX4e,UAAWogI,EACX//H,MAAM,IAEc8vC,WAEhBmwF,EAAY,GAMlB,OALA,EAAAl0J,KAAKi0J,GAAS,SAACr/J,GACb,IAAMu/J,EAAU,EAAKC,uBAAuBvB,EAAWiB,EAAYl/J,EAAGsiB,GACtEg9I,EAAUp6J,KAAK,CAAEhG,MAAOc,EAAEioB,KAAMs3I,QAAO,OAGlCD,GAGD,YAAAE,uBAAR,SACE3B,EACAqB,EACAtzJ,EACA0W,GAEA,IAAIwV,EAAM,EAKV,OAJA,EAAA1sB,KAAKkX,GAAQ,SAACxd,GACZ,IAAM7D,GAAQ2K,EAAEwjE,UAAYtqE,GAAK+4J,EACjC/lI,GAAOonI,EAAWj+J,MAEK,IAAlBqhB,EAAO9hB,OAAe,EAAIs3B,EAAMxV,EAAO9hB,QAElD,EAnEA,CAA6F,W,YAqE7F,EAAA4vF,iBAAiB,UAAWqvE,I,yFCnH5B,OACA,0BACA,4BAIA,2B,+CAaA,OAbmC,iBAG1B,YAAA72J,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,QAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAAjiC,cAAP,WAEE,OADmBtqG,KAAK8G,OAAO,GAClBwjG,iBAVD,EAAApkF,kBAAyD,UAAWA,kBAYpF,EAbA,CAAmC,W,UAAd43I,G,2GCNrB,WACA,QAUS,yEAVa,EAAA55I,aAUF,uEAVwB,EAAAW,WAE5C,IAIMs/F,EAA6B,EAAAvgG,YAJd,CACnByhG,KAAM,aAKR,EAAAllH,OAAO,EAAA+jB,UAAWigG,I,yFCTlB,OAEA,4BACA,SACA,OAgBA,cAME,WAAY17G,GAAZ,MACE,YAAMA,IAAI,K,OACV,EAAKQ,KAAOR,EAAIQ,KAChB,EAAKrC,KAAO6B,EAAI7B,KAChB,EAAK8+G,eAAiBj9G,EAAIi9G,eAC1B,EAAKy0C,gB,EAsHT,OAjI2C,iBAclC,YAAAp+D,UAAP,sBACQgiE,EAAiB/9J,KAAK4lB,QAAQm2E,UACpC/7F,KAAKiJ,KAAKwB,GACR,YAAYszJ,EACZ,EAAAttH,UAAS,SAAClwC,GACR,IAAMy9J,EAAc,EAAKC,mBAAmB,OAAQ19J,EAAEvB,KAAKA,KAAMuB,EAAEvB,KAAKwe,OAClE0gJ,EAAa,EAAKC,uBAAuBH,GAC/C,EAAKp5C,WAAWs5C,KACf,MAEL,IAAME,EAAkBp+J,KAAK4lB,QAAQ2/F,WAAavlH,KAAK4lB,QAAQ2/F,WAAa,aAC5EvlH,KAAKiJ,KAAKwB,GACR,YAAY2zJ,EACZ,EAAA3tH,UAAS,WACP,IAAMytH,EAAa,EAAK9D,qBACxB,EAAKx1C,WAAWs5C,KACf,OAIG,YAAA9D,mBAAV,WACE,IAAI4D,EASAhL,EARJ,GAAIhzJ,KAAK4lB,QAAQqyC,QACf+lG,EAAch+J,KAAK4lB,QAAQqyC,YACtB,CAEL,IAAMj5D,EAAOgB,KAAKq+J,gBAClBL,EAAch+J,KAAKi+J,mBAAmB,QAASj/J,GAK/Cg0J,EADEhzJ,KAAK4lB,QAAQotI,YACDhzJ,KAAK4lB,QAAQotI,YAAYgL,EAAah+J,KAAKs+J,oBAE3Ct+J,KAAKu+J,qBAAqBP,GAE1C,IAAM3D,EAAqBp0J,SAASymB,cAAc,OAOlD,OANI,EAAAm4F,OAAOmuC,EAAa,kBAEtBqH,EAAmB5vG,YAAYuoG,GAE/BqH,EAAmBv1C,UAAYkuC,EAE1BqH,GAGC,YAAAF,cAAV,WACEn6J,KAAKskH,KAAOtkH,KAAKo6J,qBACX,MAAgCp6J,KAAKiJ,KAAKg4C,eAAxC/wC,EAAI,OAAEE,EAAI,OAAE/J,EAAK,QAAEC,EAAM,SACjCtG,KAAKgK,EAAIkG,EAAO7J,EAAQ,EACxBrG,KAAKyC,EAAI2N,EAAO9J,EAAS,GAGnB,YAAA+3J,cAAR,W,MACMplG,EAAQ,EACN,EAA6Bj5D,KAAK4G,KAAKgf,QAArCo3E,EAAU,aAAE/+B,EAAU,aACtBqnD,EAAetlH,KAAK4lB,QAAO,WAUnC,OATA,EAAApc,KAAKxJ,KAAK4G,KAAKgf,QAAQ5mB,MAAM,SAAC2K,GACI,iBAArBA,EAAKqzF,KACd/jC,GAAStvD,EAAKqzF,QAGR,MACPA,GAAa/jC,EACd,EAACgF,GAAaqnD,E,GAKV,YAAA24C,mBAAR,SAA2Br0J,EAAc5K,EAAMwe,GAC7C,IAAM5W,EAAO5G,KAAK4G,KACZ,EAA6BA,EAAKgf,QAAhCo3E,EAAU,aAAE/+B,EAAU,aACxBugG,EAAa53J,EAAKoB,gBAAgBg1F,GAClCqlD,EAAaz7I,EAAKoB,gBAAgBi2D,GAElCwgG,EAA+B,CACnC7hK,KAAMylJ,EAAaA,EAAWzkG,QAAQ5+C,EAAKi/D,IAAe,KAC1D3gE,MAAOkhK,EAAW5gH,QAAQ5+C,EAAKg+F,KASjC,MANa,SAATpzF,IAEF60J,EAAc/hC,SAAW19H,EACzBy/J,EAAcjhJ,MAAQA,GAGjBihJ,GAGD,YAAAF,qBAAR,SAA6Bv/J,GAC3B,IAAM6rC,EAAO7qC,KAAKs+J,mBAGlB,OAFmB,EAAAhE,YAAYt7J,EAAKpC,KAAMoC,EAAK1B,MAAO0C,KAAK0lH,eAAgB76E,IAKrE,YAAAyzH,iBAAR,WACE,IAAMj1I,EAAYrpB,KAAK4G,KAAKqC,KAAKg4C,eAC3B,EAA0BjhD,KAAK4G,KAAKgf,QAAlCob,EAAM,SAAE+D,EAAW,cAG3B,OAFyB51B,KAAKsP,IAAI4K,EAAUhjB,MAAOgjB,EAAU/iB,QAC7B06B,EAAS+D,GAInC,YAAAo5H,uBAAR,SAA+Bn/J,GAC7B,IAAMg0J,EAAchzJ,KAAK4lB,QAAQotI,YAQjC,OANIA,EACWA,EAAYh0J,EAAMgB,KAAKs+J,oBAEvBt+J,KAAKu+J,qBAAqBv/J,IAK7C,EAjIA,CAA2C,W,gHCd3C,uBAA4BpC,EAAMU,EAAOohK,EAAS7zH,GAKhD,MAAO,+BAA+B6zH,EAAO,YAJzBC,uPAAuB9zH,EAAI,OAIiB,KAH7CjuC,EAAO,oGAAoDA,EAAI,eAAiB,KAC/E,sFAAsDU,EAAK,WAEa,W,yFCP9F,OACA,0BACA,4BAIA,2B,+CAQA,OARuC,iBAG9B,YAAA0J,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,YAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA6D,UAAeA,kBAO5F,EARA,CAAuC,W,UAAlB04I,G,yFCNrB,OACA,KAgCAnyJ,cAAc,WAAY,YAAa,CAErChF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM8C,EAjCV,SAAkBH,EAAgB4yD,EAAmBC,GAC3C,IAAA1yD,EAA+BH,EAAG,MAA3B0rD,EAAwB1rD,EAAG,aAAb+U,EAAU/U,EAAG,MACpC4pB,EAAQ,EAAH,uBACN8hC,GACAvrD,GAUL,OARI4U,IACE69C,IACFhpC,EAAM/B,OAAS9S,GAEb89C,IACFjpC,EAAMxC,KAAOrS,IAGV6U,EAmBSrnB,CAASvC,GAAK,GAAO,GAC7B+mB,EAAOxvB,KAAKqvD,UAjBtB,SAAqBl1B,GACnB,IAAM3K,EAAO,GACPmxC,EAAaxmC,EAAO,GAC1B3K,EAAKlsB,KAAK,CAAC,IAAKq9D,EAAW32D,EAAG22D,EAAWl+D,IACzC,IAAK,IAAIpG,EAAI,EAAGgrC,EAAMlN,EAAOv7B,OAAQvC,EAAIgrC,EAAKhrC,IAC5CmzB,EAAKlsB,KAAK,CAAC,IAAK62B,EAAO99B,GAAG2N,EAAGmwB,EAAO99B,GAAGoG,IAIzC,OAFA+sB,EAAKlsB,KAAK,CAAC,IAAKq9D,EAAW32D,EAAG22D,EAAWl+D,IACzC+sB,EAAKlsB,KAAK,CAAC,MACJksB,EAQuBixC,CAAYh4D,EAAI0xB,SACtC5pB,EAAQzK,EAAUotB,SAAS,OAAQ,CACvCb,MAAO,EAAF,uBACAzpB,GAAK,CACR4mB,KAAI,IAEN5yB,KAAM,aAEF+uG,EAAa,EAAAzuG,IAAIuL,EAAIG,MAAO,cAClC,GAAI+iG,GAAcA,EAAWxlF,QAAS,CACpC,IAAMozE,EAAYoS,EAAW/iG,OAAS,GAEtC,GAAIH,EAAI4rD,WAAY,CAClB,IAAIwqG,EAAW,CAEb,CAAC,IAAKp2J,EAAI0xB,OAAO,GAAGnwB,EAAGvB,EAAI0xB,OAAO,GAAG13B,GAErC,CAAC,IAAKgG,EAAI4rD,WAAW,GAAGrqD,EAAGvB,EAAI4rD,WAAW,GAAG5xD,IAE/Co8J,EAAW7+J,KAAKqvD,UAAUwvG,GAC1B/4J,EAAUotB,SAAS,OAAQ,CACzBb,MAAO,EAAF,UACH7C,KAAMqvI,EACNvuI,OAAQ,UACRmpF,SAAU,CAAC,EAAG,GACdv9C,UAAW,GACRq9B,GAEL38F,KAAM,iBAIZ,OAAO2T,M,8EClEX,aAAS,2EAAA2T,aAAW,yEAAAW,Y,yFCHpB,OAEA,2BAEA,SACA,QACA,OAIA,2B,+CAsCA,OAtC4C,iBAChC,YAAAsN,YAAV,SAAsBvvB,EAAeovB,G,QAE7B8sI,EADY9sI,EAAO,MACFnE,UACjB7uB,EAAOgzB,EAAQ1pB,UACfoY,EAAS1hB,EAAK,EAAAusG,aACdrkE,EAAOloC,EAAKgB,KAAKsH,MAAMse,QAAQkF,QAC/BxtB,EAAQ,EAAA8kB,QAAQ1B,GAAUA,EAAO,GAAKA,EACpCgd,EAAc19B,KAAK4lB,QAAO,UAC5BkO,EAA8B,GAAG9vB,OAAOguB,EAAQuB,WAAWO,aAC3DT,EAAeqK,EAAY5J,EAAY,IAAMA,EAAY,GAAY,QAAE,EAAA23E,aAAe,EACtFszD,EAAiBrhI,EACnBA,EACEpgC,IAAK,MAEF,EAAAwR,SAAwB,QAAjB,EAAGglB,EAAY,UAAE,eAAEO,QAC3B,EAAA2/B,aAAclgC,EAAY,GAC1B,EAAAiiE,kBAAmB,EACnB,EAAA/jE,QAAO,EACP,EAAAqB,aAAY,E,GAEdA,GAEF/1B,EACA2uE,GAAQ6yF,EAAS1uJ,KAAO0uJ,EAASzuJ,MAAQ,EACzC2f,EAAe,SAEfkX,EAAO,GACT+kC,EAAO6yF,EAASzuJ,KA9BP,EA+BT2f,EAAe,OAEfi8C,EAAO6yF,EAAS1uJ,KAjCP,EAoCXxN,EAAMiwB,KAAK,IAAKo5C,GAChBrpE,EAAMiwB,KAAK,OAAQksI,GACnBn8J,EAAMiwB,KAAK,eAAgB7C,IAE/B,EAtCA,CAA4C,W,YAwC5C,EAAAinE,uBAAuB,YAAa+nE,I,yFClDpC,OACA,SACA,OAmBA,iBAOE,WAAYv2J,GAFJ,KAAAy3I,UAAoB,GAG1BlgJ,KAAKiJ,KAAOR,EAAIQ,KAChBjJ,KAAK8iC,OAASr6B,EAAIq6B,OAClB9iC,KAAK09B,UAAYj1B,EAAIi1B,UACrB19B,KAAKkgJ,UAAY,EAAAxxH,IAnBZ,CACLmB,KAAM,OACNC,SAAU,GACV+wD,WAAY,GACZvwD,OAAQ,uBAe8B7nB,EAAIG,OAE1C5I,KAAKmhH,QA+DT,OA3DS,YAAA15G,KAAP,sBACE,GAAKzH,KAAKiJ,OAAQjJ,KAAKiJ,KAAKlC,UAA5B,CAGA,IAAM/H,EAAO,EAAAozB,MAAMpyB,KAAKiJ,KAAKX,WAC7BtI,KAAK8F,UAAY9F,KAAKiJ,KAAK2gB,gBAAgBF,WAC3C,IAAMsB,EAAShrB,KAAKiJ,KAAKuf,WAAW,GAAGuJ,SAASzN,KAAI,SAAChnB,GAAU,OAAAA,EAAMiT,SACrE,EAAA/G,KAAKwhB,GAAQ,SAACza,EAAOpH,GACnB,GAAKoH,EAAM9H,IAAI2rB,OAAf,CACA,IAAMC,EAAU9jB,EAAM9H,IAAI2rB,OAAOp1B,KAC3B8/J,EAAWvuJ,EAAMsd,UACjBnN,EAAS2T,EAAQ,EAAAk3E,aACnBrkE,EAAOxmB,EACP,EAAA0B,QAAQ1B,KACVwmB,EAAOxmB,EAAO,GAAKA,EAAO,IAE5BwmB,EAAOA,EAAO,EAAI,IAAIA,EAASA,EAE3B7S,EAAQ,EAAAm3E,YACVtkE,EAAOxmB,EAAO,GAAKA,EAAO,IAE5B,IAAIu+I,EAAgB/3H,EACpB,GAAI,EAAKxJ,UAAW,CAClB,IAAMlgB,EAAQwN,EAAO7hB,GAAK0pB,KAAK,QAC/BosI,EAAgB,EAAKvhI,UAAU,GAAGwJ,EAAQ,CAAE7S,QAASr1B,EAAKmK,GAAMqU,MAAK,GAAIrU,GAE3E,IAAMkd,EAAO,EAAKvgB,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,EAAF,UACHhM,KAAM44I,EACNjvI,aAAc,SACdD,UAAW,SACX/lB,GAAI80J,EAAS5uJ,KAAO4uJ,EAAS3uJ,MAAQ,EACrC1N,GAAIq8J,EAAS1uJ,KAAO0uJ,EAASzuJ,MAAQ,GAClC,EAAK6vI,WAEVtjJ,KAAM,eAEJypB,EAAKwH,UAAUvnB,OAASw4J,EAASx4J,QACnC+f,EAAKzgB,IAAI,WAAW,OAGxB5F,KAAKiJ,KAAKG,YAAY3B,SAGjB,YAAAohB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIX,YAAAs4F,MAAR,sBACEnhH,KAAKiJ,KAAKwB,GAAG,EAAAqC,iBAAiB6d,eAAe,WAC3C,EAAK9B,WAGP7oB,KAAKiJ,KAAKwB,GAAG,EAAAqC,iBAAiBmd,cAAc,WAC1C,EAAKxiB,WAGX,EA5EA,G,sGCzBA,OACA,0BACA,4BAIA,2B,+CAQA,OARqC,iBAG5B,YAAAT,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,UAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA2D,UAAaA,kBAOxF,EARA,CAAqC,W,UAAhBg5I,G,yFCNrB,OACA,2BAwBA,aAQE,WAAYz2J,GALF,KAAA02J,eAA2B,GAE3B,KAAAC,WAAoB,GACpB,KAAAjuD,SAAkB,GAG1BnxG,KAAK4lB,QAAUnd,EACfzI,KAAKiJ,KAAOjJ,KAAK4lB,QAAQ3c,KACzBjJ,KAAKioB,OA2TT,OAxTS,YAAAA,KAAP,WACQ,IAOFo3I,EAPE,EAA2Br/J,KAAK4lB,QAA9B05I,EAAS,YAAEC,EAAS,YACtBt2I,EAAQjpB,KAAKiJ,KAAKyoB,gBAGlB4C,EAASt0B,KAAKiJ,KAAKjB,gBAAgBhI,KAAK4lB,QAAQogG,YAAYn7F,QAC5D0J,EAASv0B,KAAKiJ,KAAKjB,gBAAgBhI,KAAK4lB,QAAQogG,YAAYl7F,QAGlE,GAAIw0I,EAAYhrI,EAAO7V,KAAO6gJ,EAAYhrI,EAAO9V,IAAK,CACpD,IAAMmE,GAAS28I,EAAYhrI,EAAO7V,MAAQ6V,EAAO9V,IAAM8V,EAAO7V,KAC9D4gJ,EAAU,CACR,IAAI,UAAKp2I,EAAM7I,MAAMpW,EAAGif,EAAM5I,IAAI5d,EAAGwmB,EAAM0L,WAAahS,EAAOsG,EAAM2L,aACrE,IAAI,UACF3L,EAAM7I,MAAMpW,EAAIif,EAAM0L,WAAahS,EACnCsG,EAAM5I,IAAI5d,EACVwmB,EAAM0L,YAAc,EAAIhS,GACxBsG,EAAM2L,cAGV,IAAM4qI,EAAmB,CACvBp/I,MAAO,CAAEpW,EAAGif,EAAM7I,MAAMpW,EAAIif,EAAM0L,WAAahS,EAAOlgB,EAAGwmB,EAAM5I,IAAI5d,GACnE4d,IAAK,CAAErW,EAAGif,EAAM7I,MAAMpW,EAAIif,EAAM0L,WAAahS,EAAOlgB,EAAGwmB,EAAM7I,MAAM3d,IAErEzC,KAAKmxG,SAAS7tG,KAAKk8J,QAEnBH,EAAU,CAAC,IAAI,UAAKp2I,EAAM7I,MAAMpW,EAAGif,EAAM5I,IAAI5d,EAAGwmB,EAAM0L,WAAY1L,EAAM2L,cAG1E,GAAI2qI,EAAYhrI,EAAO9V,KAAO8gJ,EAAYhrI,EAAO/V,IAAK,CAC9CmE,GAAS48I,EAAYhrI,EAAO9V,MAAQ8V,EAAO/V,IAAM+V,EAAO9V,KAA9D,IACMghJ,EAAqB,CACzBr/I,MAAO,CAAEpW,EAAGif,EAAM7I,MAAMpW,EAAGvH,EAAGwmB,EAAM7I,MAAM3d,EAAIwmB,EAAM2L,YAAcjS,GAClEtC,IAAK,CAAErW,EAAGif,EAAM5I,IAAIrW,EAAGvH,EAAGwmB,EAAM7I,MAAM3d,EAAIwmB,EAAM2L,YAAcjS,IAEhE3iB,KAAKmxG,SAAS7tG,KAAKm8J,GACnB,IAAMC,EAAc,CAClB9iK,KAAM0iK,GAAahrI,EAAO7V,IAAM,YAAc,WAC9C8G,KAAM,IAAI,UAAK85I,EAAQ,GAAGnvJ,KAAMmvJ,EAAQ,GAAGjvJ,KAAMivJ,EAAQ,GAAGh5J,MAAOg5J,EAAQ,GAAG/4J,QAAU,EAAIqc,IAC5FjkB,MAAO4gK,GAAahrI,EAAO7V,IAAM,EAAI,GAEvCze,KAAKo/J,WAAW97J,KAAKo8J,GACrB,IAAMC,EAAiB,CACrB/iK,KAAM0iK,GAAahrI,EAAO7V,IAAM,eAAiB,cACjD8G,KAAM,IAAI,UACR85I,EAAQ,GAAGnvJ,KACXmvJ,EAAQ,GAAGjvJ,KAAOivJ,EAAQ,GAAG/4J,QAAU,EAAIqc,GAC3C08I,EAAQ,GAAGh5J,MACXg5J,EAAQ,GAAG/4J,OAASqc,GAEtBjkB,MAAO4gK,GAAahrI,EAAO7V,IAAM,EAAI,GAIvC,GAFAze,KAAKo/J,WAAW97J,KAAKq8J,GAEjBN,EAAQzgK,OAAS,EAAG,CACtB,IAAMghK,EAAmB,CACvBhjK,KAAM,YACN2oB,KAAM,IAAI,UAAK85I,EAAQ,GAAGnvJ,KAAMmvJ,EAAQ,GAAGjvJ,KAAMivJ,EAAQ,GAAGh5J,MAAOg5J,EAAQ,GAAG/4J,QAAU,EAAIqc,IAC5FjkB,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKs8J,GACrB,IAAMC,EAAsB,CAC1BjjK,KAAM,eACN2oB,KAAM,IAAI,UACR85I,EAAQ,GAAGnvJ,KACXmvJ,EAAQ,GAAGjvJ,KAAOivJ,EAAQ,GAAG/4J,QAAU,EAAIqc,GAC3C08I,EAAQ,GAAGh5J,MACXg5J,EAAQ,GAAG/4J,OAASqc,GAEtBjkB,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKu8J,SAElB,GAAuB,IAAnBR,EAAQzgK,OACjB,GAAI2gK,GAAahrI,EAAO9V,IAAK,CAC3B,IAAMqhJ,EAAkB,CACtBljK,KAAM,WACN2oB,KAAM85I,EAAQ,GACd3gK,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKw8J,GACfF,EAAmB,CACvBhjK,KAAM,YACN2oB,KAAM85I,EAAQ,GACd3gK,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKs8J,OAChB,CACL,IAAMG,EAAqB,CACzBnjK,KAAM,cACN2oB,KAAM85I,EAAQ,GACd3gK,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKy8J,GACfF,EAAsB,CAC1BjjK,KAAM,eACN2oB,KAAM85I,EAAQ,GACd3gK,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKu8J,QAIvB,GAAIP,GAAahrI,EAAO7V,IACtB,GAAI8gJ,GAAahrI,EAAO9V,IAAK,CACrBmhJ,EAAmB,CACvBhjK,KAAM,YACN2oB,KAAM85I,EAAQ,GACd3gK,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKs8J,OAChB,CACCC,EAAsB,CAC1BjjK,KAAM,eACN2oB,KAAM85I,EAAQ,GACd3gK,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKu8J,QAGvB,GAAIN,GAAahrI,EAAO9V,IAAK,CACrBqhJ,EAAkB,CACtBljK,KAAM,WACN2oB,KAAM85I,EAAQ,GACd3gK,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKw8J,OAChB,CACCC,EAAqB,CACzBnjK,KAAM,cACN2oB,KAAM85I,EAAQ,GACd3gK,MAAO,GAETsB,KAAKo/J,WAAW97J,KAAKy8J,GAK3B//J,KAAK8F,UAAY9F,KAAKiJ,KAAKwgB,gBAAgBC,YAGtC,YAAApgB,OAAP,sBACE,GAAItJ,KAAKo/J,WAAWxgK,OAAS,EAAG,CAC9B,IAAM,EAAeoB,KAAKuzH,kBACpB,EAAcvzH,KAAKggK,eAAehgK,KAAKo/J,YAC7C,EAAA51J,KAAKxJ,KAAKo/J,YAAY,SAACziK,GACb,IAAA+B,EAAU/B,EAAC,MACb2T,EAAQ,EAAKxK,UAAU4jB,WACvB6gG,EAAOj6G,EAAM4iB,SAAS,OAAQ,CAClCb,MAAO,EAAF,UACHroB,EAAGrN,EAAE4oB,KAAKrV,KACVzN,EAAG9F,EAAE4oB,KAAKnV,KACV/J,MAAO1J,EAAE4oB,KAAKlf,MACdC,OAAQ3J,EAAE4oB,KAAKjf,QACZ,EAAY5H,IAEjB9B,KAAM,aAER,GAAI,EAAKgpB,QAAQhjB,OAAS,EAAKgjB,QAAQhjB,MAAMyjB,KAAM,CACjD,IAAM+kF,EAAe,EAAArhG,QAAQ,GAAI,EAAanH,MAAO,EAAKgjB,QAAQhjB,OAC5Dm2D,EAAW,EAAKknG,eAAetjK,EAAGyuG,GACxC96F,EAAM4iB,SAAS,OAAQ,CACrBb,MAAO,EAAF,YACA0mC,GAELn8D,KAAM,mBAIV2tH,EAAK3kH,IAAI,OAAQjJ,GACjB,EAAKwiK,eAAe77J,KAAKgN,MAI3B,IAAM,EAAY,EAAAvG,QAAQ,GAAI,EAAagd,KAAM/mB,KAAK4lB,QAAQ2zE,WAC9D,EAAA/vF,KAAKxJ,KAAKmxG,UAAU,SAACx0G,GACnB,EAAKmJ,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAK7yB,EAAEyjB,MAAMpW,EAAGrN,EAAEyjB,MAAM3d,GACzB,CAAC,IAAK9F,EAAE0jB,IAAIrW,EAAGrN,EAAE0jB,IAAI5d,KAEpB,GAEL7F,KAAM,qBAGVoD,KAAKiJ,KAAKpC,OAAOY,SAId,YAAAohB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,UAIT,YAAAyoH,gBAAV,WACE,MAAO,CACLxsG,KAAM,CACJuJ,OAAQ,UACR4rC,UAAW,GAEbgkG,YAAa,CACX,CAAErwI,KAAM,UAAW1R,QAAS,KAC5B,CAAE0R,KAAM,UAAW1R,QAAS,GAC5B,CAAE0R,KAAM,UAAW1R,QAAS,GAC5B,CAAE0R,KAAM,UAAW1R,QAAS,MAE9Bvb,MAAO,CACL2jB,SAAU,eACVK,OAAQ,GACRhe,MAAO,CACLknB,SAAU,GACVD,KAAM,WAON,YAAAmwI,eAAR,SAAuBZ,GACrB,IACIx2J,EADiB5I,KAAKuzH,kBACD2sC,YACzB,GAAIlgK,KAAK4lB,QAAQs6I,YAAa,CACpB,MAAgBlgK,KAAK4lB,QAAO,YAChC,EAAAxD,QAAQ,GACVxZ,EAAQA,EAAM0b,KAAI,SAAClmB,EAAGM,GACpB,OAAI,EAAYE,OAASF,GAAS,EAAYA,GACrC,EAAYA,GAEdN,KAEA,EAAAkM,WAAW,IACpB,EAAAd,KAAK41J,GAAY,SAACziK,EAAG+B,GACnBkK,EAAMlK,GAAS,EAAY/B,MAKjC,OAAOiM,GAGD,YAAAq3J,eAAR,SAAuB12I,EAAQ6hF,GACrB,IAAA1sG,EAAU6qB,EAAM,MACpBvf,EAAI,EACJvH,EAAI,EACJmG,EAAa,GACbyd,EAAO+kF,EAAa/kF,KACpB,EAAA/b,WAAW+b,GACbA,EAAOA,EAAKkD,GACH,EAAAnH,QAAQiE,KACjBA,EAAOA,EAAK3nB,IAEN,IACF4iF,EADe8pB,EAAY,SACZn+E,MAAM,KACrBd,EAAM5C,EAAO3sB,KAAKqwB,MAAM,KA2C9B,MAzCe,SAAXd,EAAI,IACS,UAAXm1D,EAAI,KACNt3E,EAAIuf,EAAOhE,KAAKpV,KAAOi7F,EAAaxkF,OACpChe,EAAMmnB,UAAY,SAEL,WAAXuxD,EAAI,KACNt3E,EAAIuf,EAAOhE,KAAKrV,KAAOk7F,EAAaxkF,OACpChe,EAAMmnB,UAAY,SAEA,UAAX5D,EAAI,KACE,UAAXm1D,EAAI,KACNt3E,EAAIuf,EAAOhE,KAAKrV,KAAOk7F,EAAaxkF,OACpChe,EAAMmnB,UAAY,QAEL,WAAXuxD,EAAI,KACNt3E,EAAIuf,EAAOhE,KAAKpV,KAAOi7F,EAAaxkF,OACpChe,EAAMmnB,UAAY,UAIP,QAAX5D,EAAI,IACS,UAAXm1D,EAAI,KACN7+E,EAAI8mB,EAAOhE,KAAKlV,KAAO+6F,EAAaxkF,OACpChe,EAAMonB,aAAe,UAER,WAAXsxD,EAAI,KACN7+E,EAAI8mB,EAAOhE,KAAKnV,KAAOg7F,EAAaxkF,OACpChe,EAAMonB,aAAe,QAEH,WAAX7D,EAAI,KACE,UAAXm1D,EAAI,KACN7+E,EAAI8mB,EAAOhE,KAAKnV,KAAOg7F,EAAaxkF,OACpChe,EAAMonB,aAAe,OAER,WAAXsxD,EAAI,KACN7+E,EAAI8mB,EAAOhE,KAAKlV,KAAO+6F,EAAaxkF,OACpChe,EAAMonB,aAAe,YAGzBpnB,EAAQ,EAAAmB,QAAQ,GAAIqhG,EAAaxiG,MAAOA,IAClCi4E,WAAaj4E,EAAMknB,SAClB,EAAP,UACE9lB,EAAC,EACDvH,EAAC,EACD4jB,KAAI,GACDzd,IAGT,EAtUA,G,sGCzBA,OAEA,QACA,SAUA,QAEMu3J,EAAiB,CACrB5oE,IAAK,EAAA6oE,cACLtgJ,OAAQ,EAAAugJ,iBACRC,MAAO,EAAAC,gBACPrrI,IAAK,EAAAsrI,cACLC,KAAM,EAAAC,eACN9gJ,IAAK,EAAA+gJ,cACLC,KAAM,EAAAC,gBAoBR,iBAOE,WAAYp4J,GAgBVzI,KAAK4lB,QAAU,EAAA7b,QAAQ,GAfA,CACrBH,KAAM,SACNhB,MAAO,CACL0nB,OAAQ,UACR4rC,UAAW,EACX/9C,QAAS,GACTq7E,SAAU,QACVC,QAAS,SAEXqnE,gBAAgB,EAChBC,gBAAiB,CACflxI,KAAM,OACN1R,QAAS,KAG8B1V,GAC3CzI,KAAKiJ,KAAOjJ,KAAK4lB,QAAQ3c,KACzBjJ,KAAKioB,OA6IT,OA1IS,YAAAA,KAAP,WAEQ,MAA2BjoB,KAAK4lB,QAAQogG,YAAtCn7F,EAAM,SAAEC,EAAM,SAAE9rB,EAAI,OACtBgiK,EAAMb,EAAengK,KAAK4lB,QAAQhc,QACrCI,GAAE,SAACrN,GAAM,OAAAA,EAAEkuB,MACXpoB,GAAE,SAAC9F,GAAM,OAAAA,EAAEmuB,MACd9qB,KAAKhB,KAAOgB,KAAKkoB,YAAY84I,EAAIhiK,IAEjCgB,KAAK8F,UAAY9F,KAAKiJ,KAAKwgB,gBAAgBC,YAGtC,YAAApgB,OAAP,WACE,IAAM23J,EAAcjhK,KAAKiJ,KAAKjB,gBAAgBhI,KAAK4lB,QAAQogG,YAAYn7F,QACjEq2I,EAAclhK,KAAKiJ,KAAKjB,gBAAgBhI,KAAK4lB,QAAQogG,YAAYl7F,QACjE7B,EAAQjpB,KAAKiJ,KAAKyoB,gBAChByvI,EAAkBnhK,KAAKhB,KAAI,cAE7BoiK,EAAc,EAAA7kH,SAAS,UACvB+9F,EAASt6I,KAAKwxD,YAAYyvG,EAAaE,EAAe,KACtD7sI,EAAS,IAAI8sI,EAAY,CAC7B3iJ,IAAK67H,EAAO77H,IACZD,IAAK87H,EAAO97H,MAGR6iJ,EAASrhK,KAAKwxD,YAAY0vG,EAAaC,EAAe,KACtD5sI,EAAS,IAAI6sI,EAAY,CAC7B3iJ,IAAK4iJ,EAAO5iJ,IACZD,IAAK6iJ,EAAO7iJ,MAId,GAAIxe,KAAK4lB,QAAQk7I,eAAgB,CAC/B,IAAMQ,EAAiBthK,KAAKuhK,kBAAkBjtI,EAAQC,EAAQtL,GAC9DjpB,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bb,MAAO,EAAF,UACH7C,KAAM8xI,GACHthK,KAAK4lB,QAAQm7I,iBAElBnkK,KAAM,eAIV,IAAMu9B,EAASn6B,KAAKwhK,mBAAmBltI,EAAQC,EAAQtL,GAKjDuG,EAAO,EAAAoZ,cAAczO,GAAQ,EAJhB,CACjB,CAAC,EAAG,GACJ,CAAC,EAAG,KAGNn6B,KAAKuQ,MAAQvQ,KAAK8F,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,EAAF,UACH7C,KAAI,GACDxvB,KAAK4lB,QAAQhd,OAElBhM,KAAM,eAIH,YAAAisB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUsB,WAIX,YAAA8gB,YAAR,SAAoBlpB,GAClB,IAAM+mH,EAAY,GACZS,EAAa,GAMnB,OALA,EAAAh9G,KAAKxK,GAAM,SAACrC,GACVopH,EAAUziH,KAAK,CAAE0G,EAAGrN,EAAE,GAAI8F,EAAG9F,EAAE,KAC/B,IA1GQwB,EAAGL,EA0GL2jK,GA1GEtjK,EA0GUa,EAAK0iK,SA1GZ5jK,EA0GsBnB,EAAE,GAzGD,KAA/BwS,KAAKI,KAAMpR,GAAK,EAAIA,GAAML,IA0G7B0oH,EAAWljH,KAAK,CAAE0G,EAAGrN,EAAE,GAAIo3D,GAAIp3D,EAAE,GAAK8kK,EAAMjwF,GAAI70E,EAAE,GAAK8kK,OAElD,CAAEN,cAAep7C,EAAW47C,eAAgBn7C,IAG7C,YAAAg7C,mBAAR,SAA2BltI,EAAQC,EAAQtL,GACzC,IAAMkR,EAAS,GAQf,OAPA,EAAA3wB,KAAKxJ,KAAKhB,KAAKmiK,eAAe,SAACxkK,GAC7B,IAAMimC,EAAStO,EAAOpL,MAAMvsB,EAAEqN,GACxB64B,EAAStO,EAAOrL,MAAMvsB,EAAE8F,GACxBuH,EAAIif,EAAM7I,MAAMpW,EAAIif,EAAM5iB,MAAQu8B,EAClCngC,EAAIwmB,EAAM7I,MAAM3d,EAAIwmB,EAAM3iB,OAASu8B,EACzC1I,EAAO72B,KAAK,CAAE0G,EAAC,EAAEvH,EAAC,OAEb03B,GAGD,YAAAonI,kBAAR,SAA0BjtI,EAAQC,EAAQtL,GACxC,IAAM24I,EAAc,GACdC,EAAc,GACdryI,EAAO,GACb,EAAAhmB,KAAKxJ,KAAKhB,KAAK2iK,gBAAgB,SAAChlK,GAC9B,IAAMimC,EAAStO,EAAOpL,MAAMvsB,EAAEqN,GACxB83J,EAAUvtI,EAAOrL,MAAMvsB,EAAEo3D,IACzBguG,EAAUxtI,EAAOrL,MAAMvsB,EAAE60E,IACzBxnE,EAAIif,EAAM7I,MAAMpW,EAAIif,EAAM5iB,MAAQu8B,EAClCmxB,EAAK9qC,EAAM7I,MAAM3d,EAAIwmB,EAAM3iB,OAASw7J,EACpCtwF,EAAKvoD,EAAM7I,MAAM3d,EAAIwmB,EAAM3iB,OAASy7J,EAC1CH,EAAYt+J,KAAK,CAAE0G,EAAC,EAAEvH,EAAGsxD,IACzB8tG,EAAYv+J,KAAK,CAAE0G,EAAC,EAAEvH,EAAG+uE,OAE3B,IAAK,IAAIn1E,EAAI,EAAGA,EAAIulK,EAAYhjK,OAAQvC,IAAK,CAC3C,IAAMotC,EAAa,IAANptC,EAAU,IAAM,IACvB8B,EAAIyjK,EAAYvlK,GACjBkiB,MAAMpgB,EAAE6L,IAAOuU,MAAMpgB,EAAEsE,IAC1B+sB,EAAKlsB,KAAK,CAACmmC,EAAMtrC,EAAE6L,EAAG7L,EAAEsE,IAG5B,IAAK,IAAI2B,EAAIy9J,EAAYjjK,OAAS,EAAGwF,EAAI,EAAGA,IAAK,CACzCjG,EAAI0jK,EAAYz9J,GACjBma,MAAMpgB,EAAE6L,IAAOuU,MAAMpgB,EAAEsE,IAC1B+sB,EAAKlsB,KAAK,CAAC,IAAKnF,EAAE6L,EAAG7L,EAAEsE,IAG3B,OAAO+sB,GAGD,YAAAgiC,YAAR,SAAoBwwG,EAAWb,EAAeh1I,GAEpC,IAAA1N,EAAaujJ,EAAS,IAAjBxjJ,EAAQwjJ,EAAS,IACxB,EAA2BhiK,KAAK4lB,QAAQogG,YAAtChnH,EAAI,OAAE6rB,EAAM,SAAEC,EAAM,SACtB7iB,EAAgB,MAARkkB,EAActB,EAASC,EAC/Bm3I,EAAU,EAAAC,MAAMljK,EAAMiJ,GAAOA,GAC7Bk6J,EAAU,EAAAC,MAAMpjK,EAAMiJ,GAAOA,GAC7BqrI,GAAY70H,EAAMwjJ,IAAYE,EAAUF,GACxCI,GAAY7jJ,EAAM2jJ,IAAYA,EAAUF,GACxCK,EAAW,EAAAJ,MAAMf,EAAeh1I,GAAKA,GACrCo2I,EAAW,EAAAH,MAAMjB,EAAeh1I,GAAKA,GAC3C,MAAO,CACL1N,IAAK6jJ,EAAWhvB,GAAYivB,EAAWD,GACvC9jJ,IAAK+jJ,EAAWF,GAAYE,EAAWD,KAG7C,EAtKA,G,2FC1CA,MAyBA9+I,cAAc,UAAW,CACvB22F,WAAY,CACVrS,OAAQ,GACRlvB,OA1BuB,SAAChwE,GAE1B,MAAO,CACL0nB,OAFa1nB,EAAM0nB,QAAU,SA0B7BmqD,SApByB,SAAC7xE,GAG5B,MAAO,CACL0nB,OAHa1nB,EAAM0nB,QAAU,OAI7B4rC,UAHgBtzD,EAAMszD,WAAa,IAmBnCsmG,SAZyB,SAAC55J,GAE5B,MAAO,CACL+6E,YAFkB/6E,EAAM+6E,aAAe/6E,EAAMuV,SAAW,S,yFCnB5D,OACA,0BACA,4BAIA,2B,+CAaA,OAboC,iBAG3B,YAAAnX,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,SAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAA0X,aAAP,WAEE,OADmBjkJ,KAAK8G,OAAO,GAClBm9I,gBAVD,EAAA/9H,kBAA0D,UAAYA,kBAYtF,EAbA,CAAoC,W,UAAfu8I,G,yFCNrB,OACA,OAEA,yBACA,4BACA,OACA,OAWA,6E,OA4BS,EAAA74J,KAAe,S,EAiBxB,OA7C0F,iBAC1E,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAE5CsxB,UAAW,CAAC,EAAG,IACf2iE,WAAY,CACV7pF,OAAQ,KACRszD,cAAe,EACfD,YAAa,IAEf/gF,MAAO,CACL2jB,SAAU,SACV3d,MAAO,CACL0nB,OAAQ,OACR4rC,UAAW,IAGf3rD,MAAO,kBAIJ,YAAA0zI,aAAP,WACU,IAAA7W,EAAcptI,KAAK4lB,QAAO,UAC9BwnH,GACFptI,KAAKiJ,KAAKjB,gBAAgBolI,IAMpB,YAAAhpH,OAAV,W,MACE,YAAMA,OAAM,WAERpkB,KAAK4lB,QAAQxB,SAA0C,IAAhCpkB,KAAK4lB,QAAQxB,OAAO+B,SAI/CnmB,KAAKgsB,UAAU,YAAS,MACrBhsB,KAAK4lB,QAAQwnH,YAAY,E,KAIpB,YAAAjmI,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAEtB,EA7CA,CAA0F,W,YA+C1F,EAAAK,iBAAiB,SAAUk0E,I,8EChE3B,YACA,SAIA,EAAAj2J,cAAc,QAAS,eAAgB,CACrChF,KAAA,SAAKgB,EAAgB3C,GACnB,IAAM6qB,EAAQ,EAAAyxC,WAAWpiE,KAAMyI,EAAK3C,EAAW,UAAU,GAEzD,IAAK2C,EAAIG,MAAM0nB,OAAQ,CACrB,IAAMT,EAAOc,EAAMkC,KAAK,QACxBlC,EAAMkC,KAAK,SAAUhD,GAEvB,OAAOc,GAETs+B,UAAA,SAAUC,GAER,MAAO,CACL+M,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,IACH0yB,KALcq/B,EAAS,Y,sIjdd/B,SACA,SAEa,EAAAiT,OAAS,CAAC,SAAU,SAAU,SAAU,UAAW,UAAW,WAAY,iBAC1E,EAAAwgG,cAAgB,CAAC,QAAS,OAAQ,OAAQ,SAAU,QAYjE,sBACEpyJ,EACA9H,EACA3C,EACAktD,EACAqI,GAEA,IAAMzyD,EAAQ,EAAAoC,SAASvC,EAAK4yD,GAAWA,EAAU,KAC3ClhC,EAAS5pB,EAAMk/C,YAAYhnD,EAAI0xB,QACjCkoC,EAAgBloC,EAAO,GAC3B,GAAI1xB,EAAI4zD,QACNgG,EAAgBloC,EAAO,QAClB,GAAIA,EAAOv7B,OAAS,EAAG,CAE5B,IADA,IAAM0R,EAAQxK,EAAU4jB,WACJ,MAAAyQ,EAAA,eAAQ,CAAvB,IAAMxJ,EAAK,KACdrgB,EAAM4iB,SAAS,CACbtpB,KAAM,SACNyoB,MAAO,EAAF,kCACAzpB,GAAK,CACRqzD,OAAQ,EAAAhvD,cAAc+lD,IAAcA,IACjCriC,KAIT,OAAOrgB,EAGT,OAAOxK,EAAUotB,SAAS,CACxBtpB,KAAM,SACNyoB,MAAO,EAAF,kCACAzpB,GAAK,CACRqzD,OAAQ,EAAAhvD,cAAc+lD,IAAcA,IACjCqP,O,8EkdlDT,MA2BA7+C,cAAc,SAAU,CACtB22F,WAAY,CACVrS,OAAQ,GACRlvB,OA5BuB,SAAChwE,GAG1B,MAAO,CACL0nB,OAHa1nB,EAAM0nB,QAAU,OAI7BqzD,YAHkB/6E,EAAM+6E,aAAe/6E,EAAMuV,SAAW,MA2BxDs8D,SApByB,SAAC7xE,GAG5B,MAAO,CACL0nB,OAHa1nB,EAAM0nB,QAAU,OAI7B4rC,UAHgBtzD,EAAMszD,WAAa,IAmBnCsmG,SAZyB,SAAC55J,GAE5B,MAAO,CACL+6E,YAFkB/6E,EAAM+6E,aAAe/6E,EAAMuV,SAAW,S,yFCrB5D,OACA,0BACA,4BAIA,2B,+CAQA,OARoC,iBAG3B,YAAAnX,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,SAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA0D,UAAYA,kBAOtF,EARA,CAAoC,W,UAAf08I,G,kICNrB,OACA,yBACA,2BACA,QACA,QACA,QAEA,OACA,4BACA,4BAEA,OAEA,IAAMv1E,EAAc,CAClBw1E,OAAQ,YAGJt1E,EAAgB,CACpB18E,SAAU,UAGC,EAAAiyJ,YAAc,iBACd,EAAAC,QAAU,aACV,EAAAC,QAAU,aAqDvB,6E,OAIS,EAAAp5J,KAAe,S,EA6OxB,OAjPkD,iBAKlC,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5ClnB,KAAM,GACNg9F,WAAY,EAAA8mE,YACZj4I,OAAQ,EAAAk4I,QACRj4I,OAAQ,EAAAk4I,QACRC,YAAa,CAAC,4BACdC,YAAa,GACb71D,UAAW,EACX81D,WAAY,EACZC,aAAc,GACdj0G,YAAa,CACX9oD,MAAO,EACPwpB,KAAM,UACNqsC,UAAW,GAEb/3C,KAAM,CACJgC,SAAS,EACTI,SAAU,SACV6W,UAAW,EACXM,UAAW,SAACrX,EAAMld,GAAQ,SAAGA,GAC7BP,MAAO,CACLinB,KAAM,sBACNG,aAAc,SACdD,UAAW,SACXD,SAAU,GACV+wD,WAAY,IAEd75D,SAAU,CACRb,SAAS,EACT+1C,UAAW,EACX5rC,OAAQ,OACRmpF,SAAU,CAAC,EAAG,KAGlB5yF,MAAO,CACLV,SAAS,EACTY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,IAGbiB,MAAO,CACLjB,SAAS,EACTsX,MAAM,GAERjX,QAAS,CACPL,SAAS,EACTypB,QAAS,OACTjpB,YAAY,GAEd/jB,MAAO,CACLujB,SAAS,EACTS,OAAQ,EACRhe,MAAO,CACLinB,KAAM,sBACNS,OAAQ,OACR4rC,UAAW,OAMZ,YAAAhyC,YAAP,WACE,YAAMA,YAAW,WACjBlqB,KAAKiJ,KAAKm8C,kBAAkB,kBAGpB,YAAAl8B,MAAV,WACE,IAAMtD,EAAU5lB,KAAK4lB,QACfuC,EAAS,GAEfA,EAAOvC,EAAQkF,QAAU,GACrB,EAAAplB,IAAIkgB,EAAS,UACf,EAAAkoE,aAAa3lE,EAAOvC,EAAQkF,QAASlF,EAAQwB,OAG/Ce,EAAOvC,EAAQiF,QAAU,CACvBjhB,KAAM,OAEJ,EAAAlE,IAAIkgB,EAAS,UACf,EAAAkoE,aAAa3lE,EAAOvC,EAAQiF,QAASjF,EAAQiB,OAE/C7mB,KAAKgsB,UAAU,SAAU7D,GACzB,YAAMe,MAAK,YAGN,YAAArD,WAAP,SAAkB9f,GAChB,IAAM6f,EAAU,YAAMC,WAAU,UAAC9f,GAEjC,OADA/F,KAAKm6J,cAAcv0I,GACZA,GAGF,YAAAuE,UAAP,WACE,YAAMA,UAAS,WACf,IAAMvE,EAAU5lB,KAAK4lB,QACfy9I,EAASz9I,EAAQ5mB,KAAKslB,KAAI,SAAC3nB,GAAM,OAAAA,EAAE0mK,UACnChiF,EAAUz7D,EAAQ5mB,KAAKslB,KAAI,SAAC3nB,GAAM,OAAAA,EAAE0kF,WAC1CrhF,KAAKsjK,WAAa,IAAI,UAAWtjK,KAAKiJ,KAAM,CAC1Co6J,OAAM,EACNxmH,SAAUj3B,EAAQi3B,SAClB/xB,OAAQlF,EAAQkF,OAChBuiF,UAAWznF,EAAQynF,UACnB41D,YAAar9I,EAAQq9I,aAAe,GACpC9+I,KAAMyB,EAAQzB,OAEhBnkB,KAAKujK,aAAe,IAAI,UAAavjK,KAAKiJ,KAAM,CAC9Co4E,QAAO,EACPv2D,OAAQlF,EAAQkF,OAChBq4I,WAAYv9I,EAAQu9I,WACpBC,aAAcx9I,EAAQw9I,cAAgB,GACtCj0G,YAAavpC,EAAQupC,eAIf,YAAAy+B,eAAV,SAAyBzhE,EAAKviB,GAC5B,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAqf,MAAV,WACEjpB,KAAKgsB,UAAU,aAAc,CAC3B8hB,QAAS,CAAC,CAAC,iBAKL,YAAA1pB,OAAV,WACE,IAAMwB,EAAU5lB,KAAK4lB,QACf49I,EAAc59I,EAAQupC,YAAYt/B,KAElC2D,EAAQ,CACZ,CACE52B,KAAM,OACNU,MAAO,OACPgwB,OAAQ,CACN2uC,OAAQ,SACRrzD,MAAO,CACLinB,MARcjK,EAAQ69I,eAAiBzjK,KAAKyG,MAAMga,QAQ9B,MAI1B,CACE7jB,KAAM,MACNU,MAAO,MACPgwB,OAAQ,CACN2uC,OAAQ,OACRrzD,MAAO,CACL0nB,OAAQkzI,EACRtnG,UAAW,MAKbswC,EAAgB,EAAH,UACjBhiF,QAAQ,EACRjE,SAAU,SACViN,MAAK,GACF5N,EAAQxB,QAGbpkB,KAAKgsB,UAAU,UAAWwgF,IAGlB,YAAArjF,YAAV,WACE,IAAMvD,EAAU5lB,KAAK4lB,QACfi9I,EAAS,EAAA70E,QAAQ,WAAY,OAAQ,CACzCC,eAAgB,CAACroE,EAAQiF,OAAQjF,EAAQkF,QACzClkB,KAAM5G,OAER6iK,EAAOzjH,OAAS,CACd,CACEx1C,KAAM,UAGNgc,EAAQhjB,QACVigK,EAAOjgK,MAAQ5C,KAAKirG,gBAEtBjrG,KAAK6iK,OAASA,EACd7iK,KAAKgsB,UAAU,WAAY62I,IAGnB,YAAA17J,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGV,YAAA8c,aAAV,WACE,IAAMrlF,EAAU5lB,KAAK4lB,QACfhjB,EAAQ,EAAAmH,QAAQ,GAAI6b,EAAQhjB,OAClC,OAAsB,IAAlBA,EAAMujB,SAGU,EAAA+F,aAAa,QAAS,EAAF,UACtCtlB,KAAM5G,KACN20D,UAAW,WACX7xB,OAAQ,CAACld,EAAQkF,SACdloB,KAKG,YAAAu3J,cAAV,SAAwBv0I,GACtBA,EAAQgkG,QAAUhkG,EAAQs9I,aAAe,GACzCljK,KAAK0jK,mBAAmB99I,IAGhB,YAAA89I,mBAAV,SAA6B99I,GAC3B,IAAMlF,EAAS,GACfkF,EAAQ5mB,KAAKgvB,SAAQ,SAACrxB,GAAM,OAAA+jB,EAAOpd,KAAK3G,EAAE4rG,SAAShhF,QAAO,SAACpjB,EAAGzE,GAAM,OAAAyE,EAAIzE,IAAG,OAC3EghB,EAAOpd,KAAKsiB,EAAQi3B,UACpBj3B,EAAQwB,MAAM5I,IAAMrP,KAAKqP,IAAIne,MAAM,GAAIqgB,IAG/B,YAAAwH,YAAV,SAAsBy7I,GACpB,IAAM/9I,EAAU5lB,KAAK4lB,QACf5mB,EAAO,GAYb,OAXA2kK,EAAY31I,SAAQ,SAAC6F,EAAU+vI,GAC7B,I,MAASC,EAAW,EAAGA,EAAWhwI,EAAS00E,SAAS3pG,OAAQilK,GAAY,EAAG,CACzE,IAAMvmK,EAAQu2B,EAAS00E,SAASs7D,GAC1Bh5I,EAASgJ,EAAShQ,OAAS,GAAG+/I,EACpC5kK,EAAKsE,OAAI,MACNsiB,EAAQiF,QAASA,EAClB,EAACjF,EAAQkF,QAASxtB,EAClB,EAACsoB,EAAQo2E,YAAa,GAAG6nE,E,QAIxB7kK,GAEX,EAjPA,CAAkD,W,YAmPlD,EAAAwvF,iBAAiB,SAAUs1E,I,2GC/T3B,WACA,QAWS,yEAXa,EAAA5/I,aAWF,uEAXwB,EAAAW,WAE5C,IAKMs/F,EAA6B,EAAAvgG,YALd,CACnBi/I,OAAQ,WACRU,aAAc,kBAKhB,EAAApjK,OAAO,EAAA+jB,UAAWigG,I,yFCTlB,OAEA,2BAkBA,aAKE,WAAYl7G,EAAYR,GACtBzI,KAAKiJ,KAAOA,EACZjJ,KAAKyI,IAAMA,EACXzI,KAAKmhH,QAoHT,OAhHS,YAAA15G,KAAP,WACE,GAAKzH,KAAKiJ,OAAQjJ,KAAKiJ,KAAKlC,UAA5B,CAGA/G,KAAK8F,UAAY9F,KAAKiJ,KAAK0gB,YAAYD,WACvC1pB,KAAK8F,UAAUF,IAAI,OAAQ,cAC3B5F,KAAK8F,UAAUuyF,WAAW,KAG1B,IAFA,IAAMtpE,EAAW/uB,KAAKsxB,cAChBtG,EAAS,EAAA1G,IAAIyK,aAAQ,EAARA,EAAUgD,UAAU,SAACC,GAAY,OAAAA,EAAQzhB,SACnDlU,EAAI,EAAGA,EAAI2D,KAAKyI,IAAI46J,OAAOzkK,OAAQvC,GAAK,EAAG,CAClD,IAAMyiK,EAAW9zI,EAAO3uB,GAAGwxB,UACrBm9E,EAAa8zD,EAASz4J,MAAQ2kB,EAAO3uB,GAAGa,IAAI,UAAU8B,KAAKgB,KAAKyI,IAAIqiB,QAC1E9qB,KAAKkoH,SAAS42C,EAAU9+J,KAAKyI,IAAI46J,OAAOhnK,IAAM,CAAC,EAAG,GAAI2uG,GAExDhrG,KAAKiJ,KAAKpC,OAAOY,SAGT,YAAAygH,SAAV,SAAmBr3F,EAAWwyI,EAAkBr4D,GAK9C,IAJA,IAAMplF,EAAU5lB,KAAKyI,IACfw6J,EAAcr9I,EAAQq9I,YACxBj3F,EAAOn7C,EAAI3gB,KACT+7D,EAAOp7C,EAAIzgB,KAAQygB,EAAIvqB,QAAUsf,EAAQynF,UAAY,GAAM,EACxDhxG,EAAI,EAAGA,EAAIgnK,EAAOzkK,OAAQvC,GAAK,EAAG,CACzC,IAAMgK,GAASg9J,EAAOhnK,GAAKgnK,EAAOhnK,EAAI,IAAMupB,EAAQi3B,SAAWmuD,EAC/DhrG,KAAK8F,UACFotB,SAAS,OAAQ,CAChBt2B,KAAM,cACNy1B,MAAO,CACLhsB,MAAK,EACLC,OAAQuqB,EAAIvqB,OAASsf,EAAQynF,UAC7BrjG,EAAGgiE,EACHvpE,EAAGwpE,EACHp8C,KAAMozI,GAAa5mK,EAAI,GAAK4mK,EAAYrkK,QACxC+kF,YAAa,OAGhB/9E,IAAI,UAAW,GAClBomE,GAAQ3lE,EAEV,GAAIuf,EAAQzB,MAAQyB,EAAQzB,KAAKgC,QAAS,CACxC,IAAM4P,EAAenQ,EAAQi3B,UAAYj3B,EAAQzB,KAAKiZ,UAAY,GAC5D2mI,EAAW,IAAI,UAAKlzI,EAAI7mB,EAAGiiE,EAAMD,EAAMn7C,EAAIvqB,OAASsf,EAAQynF,WAClErtG,KAAKgkK,gBAAgBD,EAAUhuI,EAAci1E,KAKvC,YAAAg5D,gBAAV,SAA0BnzI,EAAWkF,EAAsBi1E,GAMzD,IALA,IAAMplF,EAAU5lB,KAAKyI,IACfw7J,EAAar+I,EAAQzB,KAAKvb,MAC1Bw0B,EAAYxX,EAAQzB,KAAKiZ,UACzB8mI,EAAet+I,EAAQzB,KAAKoC,SAC5B49I,EAAa,EAAAjnK,IAAI+mK,EAAY,aAAc,GAAKA,EAAWn0I,SAAW,EACnEs0I,EAAU,EAAGA,EAAUhnI,EAAWgnI,GAAW,EAAG,CACvD,IAAMp6J,EAAI6mB,EAAI3gB,KAAO6lB,EAAequI,EAAUp5D,EAC1Cq5D,EAAW,GAAGtuI,EAAequI,EAajC,GAZIx+I,EAAQzB,KAAKuZ,YACf2mI,EAAWz+I,EAAQzB,KAAKuZ,UAAU2mI,EAAUD,IAE9CpkK,KAAK8F,UAAUotB,SAAS,OAAQ,CAC9Bt2B,KAAM,OACNy1B,MAAO,EAAF,UACHroB,EAAC,EACDvH,EAAoB,WAAjByhK,EAA4BrzI,EAAIzgB,KAAO+zJ,EAAatzI,EAAIxgB,KAAO8zJ,EAClE99I,KAAM,GAAGg+I,GACNJ,KAGHr+I,EAAQzB,KAAK6C,UAAYpB,EAAQzB,KAAK6C,SAASb,QAAS,CAC1D,IAAMm+I,EAAc1+I,EAAQzB,KAAK6C,SAC7Bo9I,EAAU,GAAKA,IAAYhnI,EAAY,GACzCp9B,KAAK8F,UACFotB,SAAS,OAAQ,CAChBb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAKxlB,EAAG6mB,EAAIzgB,MACb,CAAC,IAAKpG,EAAG6mB,EAAIxgB,QAEZi0J,KAGN1+J,IAAI,UAAW,MAMnB,YAAAijB,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,UAIX,YAAAq2G,MAAR,sBACEnhH,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,WAGP7oB,KAAKiJ,KAAKwB,GAAG,eAAe,WAC1B,EAAKhD,WAID,YAAA6pB,YAAR,WACE,OAAO,EAAA4c,KAAKluC,KAAKiJ,KAAKuf,YAAY,SAACuG,GAAa,MAAkB,aAAlBA,EAASnlB,SAE7D,EA5HA,G,sGCnBA,OAeA,aAKE,WAAYX,EAAYR,GACtBzI,KAAKiJ,KAAOA,EACZjJ,KAAKyI,IAAMA,EACXzI,KAAKmhH,QAgET,OA5DS,YAAA15G,KAAP,WACE,GAAKzH,KAAKiJ,OAAQjJ,KAAKiJ,KAAKlC,UAA5B,CAGA/G,KAAK8F,UAAY9F,KAAKiJ,KAAK2gB,gBAAgBF,WAC3C1pB,KAAK8F,UAAUF,IAAI,OAAQ,gBAE3B,IADA,IAAMolB,EAAS,EAAA1G,IAAItkB,KAAKsxB,cAAcS,UAAU,SAACC,GAAiB,OAAAA,EAAQzhB,SACjElU,EAAI,EAAGA,EAAI2D,KAAKyI,IAAI44E,QAAQziF,OAAQvC,GAAK,EAAG,CACnD,IAAMyiK,EAAW9zI,EAAO3uB,GAAGwxB,UACrBm9E,EAAa8zD,EAASz4J,MAAQ2kB,EAAO3uB,GAAGa,IAAI,UAAU8B,KAAKgB,KAAKyI,IAAIqiB,QAC1E9qB,KAAKukK,WAAWzF,EAAU9+J,KAAKyI,IAAI44E,QAAQhlF,GAAI2uG,GAEjDhrG,KAAKiJ,KAAKpC,OAAOY,SAGT,YAAA88J,WAAV,SAAqB1zI,EAAWwwD,EAAmB2pB,GAAnD,WACQplF,EAAU5lB,KAAKyI,IACfgY,EAASmF,EAAQw9I,aAEvB/hF,EAAQrzD,SAAQ,SAACptB,EAAgBvE,GAC/B,IAAM8yD,EAAcvpC,EAAQupC,YAC5B,EAAKrpD,UAAUotB,SAAS,OAAQ,CAC9Bt2B,KAAM,gBACNy1B,MAAO,EAAF,qBACHhsB,MAAO8oD,EAAY9oD,MACnBC,OAAQuqB,EAAIvqB,OAASsf,EAAQu9I,WAAah0G,EAAY9oD,MAAQ,EAC9D2D,EAAG6mB,EAAI3gB,KAAOtP,EAASoqG,EACvBvoG,EAAGouB,EAAIzgB,KAAQygB,EAAIvqB,QAAUsf,EAAQu9I,WAAa,GAAM,GACrDh0G,GAAW,CACdt/B,KAAMpP,EAAOpkB,EAAIokB,EAAO7hB,SAAWuwD,EAAYt/B,aAMhD,YAAAhH,MAAP,WACM7oB,KAAK8F,WACP9F,KAAK8F,UAAU+iB,SAIZ,YAAAzhB,QAAP,WACMpH,KAAK8F,WACP9F,KAAK8F,UAAUgF,UAIX,YAAAq2G,MAAR,sBACEnhH,KAAKiJ,KAAKwB,GAAG,gBAAgB,WAC3B,EAAKoe,WAGP7oB,KAAKiJ,KAAKwB,GAAG,eAAe,WAC1B,EAAKhD,WAID,YAAA6pB,YAAR,WACE,OAAO,EAAA4c,KAAKluC,KAAKiJ,KAAKuf,YAAY,SAACuG,GAAa,MAAkB,aAAlBA,EAASnlB,SAE7D,EAxEA,G,2FCjBA,MAYA4Z,cAAc,SAAU,CACtBqkF,YAAa,CACXC,OAAQ,GACRlvB,OAbwB,SAAChwE,GAE3B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,GACA+9C,UAAW,IAY1C6rC,QATyB,SAACn/F,GAE5B,MAAO,CAAEuV,QAAmB,IADZvV,EAAMuV,SAAW,KAS/Bs8D,SAAU,O,yFCjBd,OACA,0BACA,4BAGA,OAOA,+B,+CAYA,OAZsC,iBAO1B,YAAAzzE,aAAV,SAAuBjB,GACrB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,WAClB,YAAM5C,aAAY,UAACulI,IATP,EAAArmH,kBAA4D,UAAcA,kBAW1F,EAZA,CAAsC,W,UAAjBs+I,G,yFCZrB,OACA,2BAEA,2BACA,QACA,SACA,OACA,SACA,QACA,yBAuBA,yE,OACS,EAAA56J,KAAe,W,EAsMxB,OAvM2C,iBAG3B,EAAAsc,kBAAd,W,MACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CW,MAAO,CACLE,KAAM,CACJZ,SAAS,GAEXW,KAAM,CACJX,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTc,YAAY,EACZC,UAAU,IAGdE,MAAO,CACLL,KAAM,CACJZ,SAAS,GAEXW,KAAM,CACJX,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTc,YAAY,EACZC,UAAU,IAGd9C,OAAQ,CAAE+B,SAAS,GACnB4F,MAAI,KACF,EAAC,EAAAyyE,WAAY,CACX50F,KAAM,MACNg2B,MAAO,MACPlf,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAE7B,EAAC,EAAA+9E,YAAa,CACZ70F,KAAM,MACNg2B,MAAO,S,GAGXpZ,QAAS,CACPL,SAAS,EACTkC,WAAW,EACX3B,gBAAgB,EAChBkuD,aAAa,EACb/wD,MAAO,WAWH,YAAAqE,YAAV,SAAsBlpB,GACZ,IAAAylK,EAAczkK,KAAK4lB,QAAO,UAC5B8+I,EAAc1kK,KAAK4lB,QAAO,UAGhC,GAAI,EAAAxf,MAAMs+J,GAAY,CACpB,IAAM13D,EAAQ,EAAA1oF,IAAItlB,GAAM,SAAC0kC,GAAoB,iBAAM+mD,MAAM,GAAG/mD,EAAM+gI,GAAc,EAAA7lE,cAChF8lE,EAAY,EAAAC,aAAa33D,GAG3B,OAAO,EAAA43D,qBAAqB5lK,EAAM0lK,EAAWD,IAGrC,YAAAt7I,YAAV,WACQ,MAAkCnpB,KAAK4lB,QAArCq5C,EAAU,aAAEx+C,EAAM,SAAE+F,EAAO,UAC7Bq+I,EAAqB,CACzBj7J,KAAM,UACN2c,SAAU,CACRuc,OAAQ,CAAC,EAAA27D,WAAY,EAAAD,YAEvBjuF,MAAO,CACLmQ,OAAQ,CAAC,qBAEXlD,MAAO,CACLslB,OAAQ,CAACm8B,GACTv+C,OAAQD,GAEV7d,MAAO5C,KAAKirG,gBAGVzkF,IAAYA,EAAQsc,QAAUtc,EAAQkX,YACxC19B,KAAKkuF,gBAAgB22E,GAGvB7kK,KAAKgsB,UAAU,WAAY64I,IAGnB,YAAA32E,gBAAV,SAA0By2D,GACxBA,EAAWn+H,QAAU,GACrB,IAAM8F,EAAsBtsB,KAAK4lB,QAAQY,QACrC8F,EAAewW,SACjB6hH,EAAWn+H,QAAQsc,OAASxW,EAAewW,QAEzCxW,EAAeoR,YACjBinH,EAAWn+H,QAAQ1U,SAAWwa,EAAeoR,UACxCpR,EAAewW,SAClB6hH,EAAWn+H,QAAQsc,OAAS,CAAC,EAAA27D,WAAY,EAAAD,cAKvC,YAAAyM,aAAR,WACE,IACMroG,EADQ5C,KAAK4lB,QACChjB,MACpB,GAAIA,IAA2B,IAAlBA,EAAMujB,QACjB,OAAO,EAED,IAAA84C,EAAej/D,KAAK4lB,QAAO,WAEnC,OAAO,EAAAsG,aAAa,QAAS,EAAF,UACzBtlB,KAAM5G,KACN8iC,OAAQ,CAACm8B,GACT14C,SAAU,MACVK,OAAQ,GACLhkB,KAOG,YAAAqmB,MAAV,WAOEjpB,KAAKgsB,UAAU,aALU,CACvBpiB,KAAM,OACNnB,IAAK,GACLqlC,QAAS,CAAC,CAAC,UAAW,SAQhB,YAAA8/C,eAAV,WACE,MAAO,IAGC,YAAAzpE,KAAV,WACE,IAAM8H,EAAe,EAAAC,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,MAEDC,EAAe,EAAAF,aAAa,OAAQ,CACxCtlB,KAAM5G,KACNmsB,IAAK,MAEDE,EAAa,GACnBA,EAAW,EAAAoyE,YAAcxyE,EACzBI,EAAW,EAAAmyE,WAAapyE,EAExBpsB,KAAKgsB,UAAU,OAAQK,IAGf,YAAAnD,MAAV,WACE,YAAMA,MAAK,WAEX,IAAM47I,EAAY,EAAAC,mBAAmB/kK,KAAK4lB,QAAQ8+I,WAG5Cv8I,EAASnoB,KAAK2H,OAAOwgB,OACrB,EAAqCnoB,KAAK4lB,QAAxC,IAAAo/I,aAAK,IAAG,IAAAlmE,MAAK,EAAE,IAAAmmE,cAAM,IAAG,IAAApmE,OAAM,EAEhC70F,EAAIme,EAAO,EAAAs2E,YACXh8F,EAAI0lB,EAAO,EAAAq2E,WAEjBx0F,EAAE0zB,UAAY,SAACx6B,GACb,IAAMzG,EAAIqoK,EAAU5hK,GACpB,YAAaO,IAANhH,EAAkBwoK,EAAOxoK,GAAK,IAGvCgG,EAAEi7B,UAAY,SAACx6B,GAAM,OAAA8hK,EAAM9hK,IAAM,IAG3B,MAAmBlD,KAAK4lB,QAAtBiB,EAAK,QAAEO,EAAK,QACpBpd,EAAE41B,MAAQ,EAAA1iC,IAAI2pB,EAAO,CAAC,QAAS,QAAS7c,EAAE41B,OAC1Cn9B,EAAEm9B,MAAQ,EAAA1iC,IAAIkqB,EAAO,CAAC,QAAS,QAAS3kB,EAAEm9B,OAE1C5/B,KAAKgsB,UAAU,SAAU7D,IAGjB,YAAAhhB,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAEtB,EAvMA,CAA2C,W,YA0M3C,EAAAK,iBAAiB,WAAY02E,I,4IC1O7B,2BACA,OAEA,QACA,SAMA,SAASC,EAAeT,G,MACftmI,EAAYsmI,EAAS,GAAfrmI,EAAMqmI,EAAS,GAExBU,EAAW,UAAM36E,MAAMrsD,EAAM,EAAAwgE,WAC7BymE,EAAS,UAAM56E,MAAMpsD,EAAI,EAAAugE,WAO7B,OAJIwmE,EAAWC,IACZA,GAAD,EAAqB,CAACD,EAAUC,IAAzB,GAAED,EAAQ,MAGZ,CAACA,EAAUC,GASpB,gCAAqCrmK,EAAkB0lK,EAAqBD,GAM1E,IALA,IAAM78J,EAAM,GAEN,EAAqBu9J,EAAeT,GAAnCU,EAAQ,KAAEC,EAAM,KAEjBn4D,EAAO,IAAI97F,KAAKg0J,G,mBAEdE,EAAa,UAAM7nJ,OAAOyvF,EAAM,EAAAtO,WAEhCl7D,EAAQ,EAAAwK,KAAKlvC,GAAM,SAAC0kC,GAAoB,OAAAA,EAAM+gI,KAAea,KAEnE19J,EAAItE,KAAK,EAAD,iBACL,EAAAk7F,WAAY,EAAAtX,OAAOgmB,GAAK,EACxB,EAAAzO,YAAa,GAAG,EAAA8mE,QAAQr4D,GAAO,EAC/Bu3D,GAAYa,EAAU,EACtB,EAAA5mE,YAAa,IAAIttF,KAAK87F,GAAO,GAC3BxpE,IAIL,EAAAkpE,UAAUM,EAAM,EAAAH,SAdXG,GAAQm4D,G,IAiBf,OAAOz9J,GAMT,8BAAmC88J,GAC3B,MAAqBS,EAAeT,GAAnCU,EAAQ,KAAEC,EAAM,KAEjBG,EAAe,IAAInkH,IAEzB,SAASokH,EAAO1rG,GACd,IAAM8wB,EAAQ9wB,EAAQwtB,WAChB0rB,EAAO,EAAAsyD,QAAQxrG,GAEhByrG,EAAa9/J,IAAImlF,IACpB26E,EAAa5/J,IAAIilF,EAAO,IAG1B26E,EAAatoK,IAAI2tF,GAAOvnF,KAAK2vG,GAK/B,IADA,IAAM/F,EAAO,IAAI97F,KAAKg0J,GACfl4D,GAAQm4D,GAEbI,EAAOv4D,GAGP,EAAAN,UAAUM,EAAe,EAAT,EAAAH,QAIds4D,EAASn4D,GACXu4D,EAAOJ,GAIT,IAAMhnK,EAAiC,GAOvC,OALAmnK,EAAax3I,SAAQ,SAAC9qB,EAAa/D,GACjC,IAAMi2B,EAAIjmB,KAAKqmB,MAAM,EAAA4G,KAAKl5B,GAAK,EAAAy5C,KAAKz5C,IAAM,GAC1C7E,EAAO+2B,GAAKj2B,KAGPd,I,2GClGT,WACA,QAUS,yEAVa,EAAA6lB,aAUF,uEAVwB,EAAAW,WAE5C,IAIMs/F,EAA6B,EAAAvgG,YAJd,CACnB2mG,KAAM,YAKR,EAAApqH,OAAO,EAAA+jB,UAAWigG,I,yFCTlB,OACA,QACA,QACA,SAOA,EAAA13G,cAAc,UAAW,mBAAoB,CAC3ChF,KAAA,SAAKgB,EAAK3C,GACR,IAAK,EAAA8kB,QAAQniB,EAAI0xB,QAAS,CACxB,IAAMA,EAAS1xB,EAAI0xB,OAEf3K,EAAO,CACT,CAAC,IAAK2K,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,MAEH+sB,EAAOxvB,KAAKqvD,UAAU7/B,GAEtB,IAAM6C,EAAQ,EAAH,qBACT/B,OAAQ,OACR4rC,UAAW,EACXrsC,KAAMpnB,EAAI+U,OACP/U,EAAIG,OAAK,CACZ4mB,KAAI,IAGAuI,EAAUjyB,EAAUotB,SAAS,OAAQ,CACzCb,MAAK,IAGDnQ,EAAazZ,EAAIzJ,KAAK,EAAA0/F,YAE5B,GAAI,EAAAgnE,kBAAkBxjJ,GAAO,CAC3B,IAAMm8E,EAAW,CACf,CAAC,IAAKlkE,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,IAG/BqD,EAAUotB,SAAS,OAAQ,CACzBoyB,OAAQ,EACRjzB,MAAO,CACL7C,KAAMxvB,KAAKqvD,UAAUgvC,GACrBniC,UAAW,EACX5rC,OAAQ,aAGR,EAAAq1I,iBAAiBzjJ,IACnBpc,EAAUotB,SAAS,OAAQ,CACzBoyB,OAAQ,EACRjzB,MAAO,CACL7C,KAAMxvB,KAAKqvD,UAAU,CACnB,CAAC,IAAKl1B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,GAC7B,CAAC,IAAK03B,EAAO,GAAGnwB,EAAGmwB,EAAO,GAAG13B,KAE/By5D,UAAW,EACX5rC,OAAQ,aAQhB,OAFAxqB,EAAUs0B,OAEHrC,O,yFCrEb,OACA,0BACA,4BAIA,2B,+CAQA,OARmC,iBAG1B,YAAA/wB,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,QAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAAyD,UAAWA,kBAOpF,EARA,CAAmC,W,UAAd0gG,G,2GCNrB,WACA,QAWS,yEAXa,EAAA1iG,aAWF,uEAXwB,EAAAW,WAE5C,IAKMs/F,EAA6B,EAAAvgG,YALd,CACnB6J,MAAO,QACP6/E,UAAW,oBAKb,EAAAntG,OAAO,EAAA+jB,UAAWigG,I,yFCVlB,OACA,0BACA,4BAIA,2B,+CAQA,OARsC,iBAG7B,YAAAn9G,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,WAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA4D,UAAcA,kBAO1F,EARA,CAAsC,W,UAAjB0/I,G,yFCNrB,OACA,OACA,4BACA,SAQA,yE,OA+BS,EAAAh8J,KAAe,W,EAsDxB,OArFgG,iBAChF,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C2/I,WAAY,UACZx4D,UAAW,GACXlpF,KAAM,CACJgC,SAAS,EACTS,OAAQ,EACRwW,UAAW,GACXmwE,aAAc,EACdvmF,SAAU,CACRb,SAAS,EACTvnB,OAAQ,EACRgK,MAAO,CACL0nB,OAAQ,OACR4rC,UAAW,IAGft5D,MAAO,CACLujB,SAAS,EACTvd,MAAO,CACLinB,KAAM,OACNC,SAAU,GACVC,UAAW,SACXC,aAAc,eASd,YAAA69E,YAAV,WACE7tG,KAAK8tG,WAAa,IAAI,EAAAC,WAAW,EAAAC,YACjChuG,KAAK8tG,WAAWG,UACdjuG,KAAK4J,KACL,EAAAG,QAAQ,GAAI/J,KAAK4lB,QAAS,CACxBob,OAAQ,EACR7J,MAAO,IACP+2E,aAAc,OACd43D,YAAa,OAGjB9lK,KAAK8tG,WAAWxkG,UAGR,YAAA6a,KAAV,WAKEnkB,KAAKgsB,UAAU,OAJS,CACtB1uB,OAAO,EACPyoK,GAAG,KAKG,YAAA38I,WAAV,WACU,IAAAkkF,EAActtG,KAAK4lB,QAAO,UAC5BwoF,EAAoB,GAE1B,GAAId,GAAaA,EAAUnnF,QAAS,CAClC,IAAMkoF,EAAaruG,KAAKsuG,kBACxBF,EAAkB9qG,KAAK+qG,GAEzB,IAAM23D,EAAahmK,KAAKimK,iBAClBC,EAAiB93D,EAAkBpqG,OAAOgiK,GAChDhmK,KAAKgsB,UAAU,cAAek6I,IAGtB,YAAAD,eAAV,WACQ,MAAwCjmK,KAAK4lB,QAA3CpH,EAAG,MAAEC,EAAG,MAAEhB,EAAM,SAAE4vF,EAAS,YAAElpF,EAAI,OAEzC,MAAO,CAAC1F,EAAKD,GAAK8F,KAAI,SAAChnB,EAAOoB,GAC5B,MAAO,CACLkL,KAAM,OACNixB,KAAK,EACLtU,SAAU,CAAC,MAAO,OAClB0xC,QAASx6C,EAAOngB,GAChBsL,MAAO,EAAAmB,QAAQ,GAAIoa,EAAKvhB,MAAMgG,MAAO,CACnCmnB,UAAW,WAEb5C,QAAUzuB,EAAqB2uG,GAAZA,EACnBjgF,QAXa,QAerB,EArFA,CAAgG,W,YAuFhG,EAAAohE,iBAAiB,WAAY23E,I,yFClG7B,OACA,0BACA,4BAIA,2B,+CAQA,OARwC,iBAG/B,YAAAn/J,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,aAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA8D,UAAgBA,kBAO9F,EARA,CAAwC,W,UAAnBkgJ,G,yFCNrB,OACA,OASA,yE,OAoBS,EAAAx8J,KAAe,a,EACxB,OArBsG,iBACtF,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C/B,KAAM,CACJgC,SAAS,EACTS,QAAS,GACTwW,UAAW,GACXmwE,aAAc,EACdvmF,SAAU,CACRb,SAAS,EACTvnB,OAAQ,EACRgK,MAAO,CACL0nB,OAAQ,OACR4rC,UAAW,QAQvB,EArBA,CAPA,0BAOsG,S,YAuBtG,EAAAsyB,iBAAiB,aAAc63E,I,8EChC/B,aAAS,sEAAA/gK,WAAiB,4EAAAghK,cAC1B,aAAS,6EAAAhhK,WAAwB,mFAAAihK,qBACjC,aAAS,0EAAAjhK,WAAqB,gFAAAkhK,kBAC9B,aAAS,qFAAAlhK,WAAgC,2FAAAmhK,6BACzC,aAAS,oFAAAnhK,WAA+B,0FAAAohK,4BACxC,aAAS,uFAAAphK,WAAkC,6FAAAqhK,+BAC3C,aAAS,2EAAArhK,WAAsB,iFAAAshK,mBAC/B,aAAS,0EAAAthK,WAAqB,gFAAAuhK,kBAC9B,aAAS,6EAAAvhK,WAAwB,mFAAAwhK,sB,yFCTjC,OACA,0BACA,2BACA,4BAIA,2B,+CASA,OATkC,iBAGzB,YAAA9/J,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,QAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,oEANH,EAAArmH,kBAAyD,UAAWA,kBAQpF,EATA,CAAkC,W,UAAb6gJ,G,yFCPrB,OACA,0BACA,2BACA,4BAIA,2B,+CASA,OATyC,iBAGhC,YAAA//J,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,gBAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,mFANH,EAAArmH,kBAAiE,UAAmBA,kBAQpG,EATA,CAAyC,W,UAApB8gJ,G,yFCPrB,OACA,0BACA,2BACA,4BAIA,2B,+CASA,OATsC,iBAG7B,YAAAhgK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,aAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,6EANH,EAAArmH,kBAA8D,UAAgBA,kBAQ9F,EATA,CAAsC,W,UAAjB+gJ,G,yFCPrB,OACA,0BACA,2BACA,4BAIA,2B,+CAUA,OAViD,iBAIxC,YAAAjgK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,qBAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,gGAPH,EAAArmH,kBACZ,UAAwBA,kBAQ5B,EAVA,CAAiD,W,UAA5BghJ,G,yFCPrB,OACA,0BACA,2BACA,4BAIA,2B,+CAUA,OAVgD,iBAIvC,YAAAlgK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,oBAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,8FAPH,EAAArmH,kBACZ,UAAuBA,kBAQ3B,EAVA,CAAgD,W,UAA3BihJ,G,yFCPrB,OACA,0BACA,2BACA,4BAIA,2B,+CAUA,OAVmD,iBAI1C,YAAAngK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,uBAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,oGAPH,EAAArmH,kBACZ,UAA0BA,kBAQ9B,EAVA,CAAmD,W,UAA9BkhJ,G,yFCPrB,OACA,0BACA,2BACA,2BAKA,2B,+CASA,OATuC,iBAG9B,YAAApgK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,cAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,+EANH,EAAArmH,kBAA+D,UAAiBA,kBAQhG,EATA,CAAuC,W,UAAlBmhJ,G,yFCRrB,OACA,0BACA,2BACA,2BAIA,2B,+CASA,OATsC,iBAG7B,YAAArgK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,aAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,6EANH,EAAArmH,kBAA8D,UAAgBA,kBAQ9F,EATA,CAAsC,W,UAAjBohJ,G,yFCPrB,OACA,0BACA,2BACA,2BAIA,2B,+CASA,OATyC,iBAGhC,YAAAtgK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,gBAClB,YAAM5C,aAAY,UAACulI,GACnB,WAAQ,EAAO,mFANH,EAAArmH,kBAAiE,UAAmBA,kBAQpG,EATA,CAAyC,W,UAApBqhJ,G,yFCPrB,OACA,0BACA,4BAIA,2B,+CAaA,OAbsC,iBAG7B,YAAAvgK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,WAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAAjqH,OAAP,SAAchlB,EAAesL,GACb5I,KAAK8G,OAAO,GACpBwb,OAAOhlB,EAAOsL,IAVR,EAAAsd,kBAA4D,UAAcA,kBAY1F,EAbA,CAAsC,W,UAAjBshJ,G,yFCNrB,OAWA,aAUE,WAAY/+J,GACV,EAAAtI,OAAOH,KAAMyI,GACbzI,KAAKioB,OAgDT,OA7CS,YAAA7gB,QAAP,WACMpH,KAAKuQ,OACPvQ,KAAKuQ,MAAMnJ,WAIR,YAAAkb,OAAP,SAAc7Z,EAAmB8Z,EAAkBE,GACjD,IAAIglJ,EAAiB,GAGrB,GAFA,EAAAtnK,OAAOH,KAAMyI,GACbzI,KAAKipB,MAAQjpB,KAAKiJ,KAAKuf,WAAW,GAAGD,WACjC9f,EAAInL,MAAO,CACb,IACMi5B,EAAS,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EADrBv2B,KAAKipB,MAAMsX,QAAQ,CAAEv2B,EAAG,EAAGvH,EAAGzC,KAAK1C,QAAS0M,EACjB,EAAG,GACxCy9J,EAAUlxI,OAASA,EAErB,GAAI9tB,EAAIG,MAAO,CACb,IACM8+J,EADa1nK,KAAKuQ,MACE8hB,MACpBA,EAAQ,EAAAtoB,QAAQ,GAAI29J,EAAaj/J,EAAIG,OAC3C6+J,EAAY,EAAA19J,QAAQ,GAAIsoB,EAAOo1I,GAEjCznK,KAAKuQ,MAAMqiB,cACX5yB,KAAKuQ,MAAMoY,QAAQ8+I,EAAWllJ,EAAUE,IAGhC,YAAAwF,KAAV,WACEjoB,KAAKipB,MAAQjpB,KAAKiJ,KAAKuf,WAAW,GAAGD,WACrCvoB,KAAK8F,UAAY9F,KAAKiJ,KAAK2gB,gBAAgBF,WAC3C,IAAM1f,EAAIhK,KAAKipB,MAAMsX,QAAQ,CAAEv2B,EAAG,EAAGvH,EAAGzC,KAAK1C,QAAS0M,EAChD+pD,EAAK/zD,KAAKipB,MAAMyG,OAAOjtB,EAAIzC,KAAKqqH,aAAe,EAAI,EACnD74C,EAAKxxE,KAAKipB,MAAMyG,OAAOjtB,EAAIzC,KAAKqqH,aAAe,EAAI,EACnDzhH,EAAQ,EAAAmB,QAAQ,GAAI,CAAEumB,OAAQ,OAAQ4rC,UAAW,GAAKl8D,KAAK4I,OACjE5I,KAAKuQ,MAAQvQ,KAAK8F,UAAUotB,SAAS,OAAQ,CAC3Cb,MAAO,EAAF,UACH7C,KAAM,CACJ,CAAC,IAAK,EAAGukC,GACT,CAAC,IAAK,EAAGyd,KAER5oE,GAELhM,KAAM,oBAERoD,KAAKuQ,MAAM6rE,KAAKpyE,EAAG,GACnBhK,KAAK6G,OAAOY,QAEhB,EA5DA,G,wHCXA,WACA,QAUS,yEAVa,EAAAyc,aAUF,uEAVwB,EAAAW,WAE5C,IAIMs/F,EAA6B,EAAAvgG,YAJd,CACnB4lG,SAAU,aAKZ,EAAArpH,OAAO,EAAA+jB,UAAWigG,I,yFCTlB,OACA,0BACA,4BAIA,2B,+CAaA,OAb0C,iBAGjC,YAAAn9G,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,eAClB,YAAM5C,aAAY,UAACulI,IAGd,YAAAjqH,OAAP,SAAchlB,GACE0C,KAAK8G,OAAO,GACpBwb,OAAOhlB,IAVD,EAAA4oB,kBAAgE,UAAkBA,kBAYlG,EAbA,CAA0C,W,UAArByhJ,G,yFCNrB,OACA,OAEA,QACA,4BACA,yBAEMl+C,EAAgB,CAAC,UAAW,WAKlC,yE,OAES,EAAA7/G,KAAe,e,EAuExB,OAzE+C,iBAItC,YAAA+/G,aAAP,WACE,IAAI5jH,EAAQ/F,KAAK4lB,QACjB7f,EAAM/G,KAAOgB,KAAKkoB,cAClB,IAAMzf,EAAM,CACV6d,QAAS,CAAC,EAAG,EAAG,EAAG,GACnBuE,OAAQ,QACRC,OAAQ,IACRkxE,WAAY,OACZ8tB,SAAU/jH,EAAMgkH,cAChBvsG,MAAOxd,KAAKgqH,gBAAgBjkH,IAAU0jH,GAExC1jH,EAAQ,EAAA2oB,IAAI3oB,EAAO0C,IAGX,YAAAwgB,MAAV,WACE,IAAMshF,EAAmB,CACvB3gG,KAAM,QACNnB,IAAK,CACHu4B,OAAQ,EACR+D,YAAa/kC,KAAK4nK,aAAa5nK,KAAK4lB,QAAQilB,QAGhD7qC,KAAKgsB,UAAU,aAAcu+E,IAGrB,YAAAnhF,WAAV,aAIU,YAAAD,YAAV,WACE,IAAMpjB,EAAQ/F,KAAK4lB,QACnB5lB,KAAKqlH,KAAO,EAAAr3B,QAAQ,WAAY,OAAQ,CACtCC,eAAgB,CAACloF,EAAM+kB,OAAQ/kB,EAAM8kB,QACrCjkB,KAAM5G,OAERA,KAAKqlH,KAAKjmE,OAAS,CACjB,CACEx1C,KAAM,UAGV5J,KAAKgsB,UAAU,WAAYhsB,KAAKqlH,OAGxB,YAAA7iG,UAAV,WACExiB,KAAKqlH,KAAK18F,QAAU,CAClB0iC,OAAQ,CACN9oC,SAAU,OAKN,YAAApb,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGZ,YAAAy5E,aAAR,SAAqBtqK,GACnB,IAAM+I,EAAQrG,KAAKqG,MACbC,EAAStG,KAAKsG,OACdukC,EAAO17B,KAAKsP,IAAIpY,EAAOC,GAE7B,OAAIhJ,EACK,EAAMA,EAAQutC,EAGnBA,GAAQ,GACH,EAAM,GAAKA,EAEb,EAAM,GAAKA,GAEtB,EAzEA,CAA+C,W,YA2E/C,EAAA2jD,iBAAiB,eAAgBq5E,I,2GCvFjC,WACA,QAUS,yEAVa,EAAA3jJ,aAUF,uEAVwB,EAAAW,WAE5C,IAIMs/F,EAA6B,EAAAvgG,YAJd,CACnBkkJ,aAAc,aAKhB,EAAA3nK,OAAO,EAAA+jB,UAAWigG,I,yFCTlB,OACA,0BACA,4BAIA,2B,+CAQA,OARwC,iBAG/B,YAAAn9G,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,aAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA8D,UAAgBA,kBAO9F,EARA,CAAwC,W,UAAnB6hJ,G,yFCNrB,OACA,OAEA,QACA,2BACA,yBAKM16E,EAAc,CAClBC,OAAQ,YAGJC,EAAgB,CACpB18E,SAAU,UAQZ,yE,OAGS,EAAAjH,KAAe,a,EA4DxB,OA/D6C,iBAKpC,YAAAqe,KAAP,WACEjoB,KAAK2pH,eACL,YAAM1hG,KAAI,YAGF,YAAA2lE,eAAV,SAAyBzhE,EAAaviB,GACpC,MAAY,OAARuiB,EACKkhE,EAAYzjF,GAEd2jF,EAAc3jF,IAGb,YAAAsf,MAAV,WACU,IACFf,EAAS,GAEfA,EAHoBnoB,KAAI,QAGT6qB,QAAU,CAAEjhB,KAAM,OACjC5J,KAAKgsB,UAAU,SAAU7D,IAGjB,YAAAgB,YAAV,WACE,IAAMpjB,EAAQ/F,KAAK4lB,QACb0nE,EAAS,EAAAU,QAAQ,WAAY,OAAQ,CACzCC,eAAgB,CAACloF,EAAM8kB,OAAQ9kB,EAAM+kB,QACrClkB,KAAM5G,OAERA,KAAKgsB,UAAU,WAAYshE,IAGnB,YAAAnmF,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAGZ,YAAAw7B,aAAR,WACE,IAAMlhH,EAAM,CACV6d,QAAS,CAAC,EAAG,EAAG,EAAG,GACnB0hJ,WAAYhoK,KAAK6pH,WAEnB7pH,KAAK4lB,QAAU,EAAA8I,IAAI1uB,KAAK4lB,QAASnd,IAG3B,YAAAohH,QAAR,WACE,IAAM9jH,EAAQ/F,KAAK4lB,QACbqiJ,EAAejoK,KAAKkoK,aAAaniK,EAAM/G,KAAM+G,EAAM8kB,QAEzD,OADc7qB,KAAKqG,MACH4hK,EAjEA,IAoEV,YAAAC,aAAR,SAAqBlpK,EAAMiJ,GACzB,IAAMyY,EAAS,GAOf,OANA,EAAAlX,KAAKxK,GAAM,SAACrC,GACV,IAAMuG,EAAIvG,EAAEsL,GACRyY,EAAO/hB,QAAQuE,GAAK,GACtBwd,EAAOpd,KAAKJ,MAGTwd,EAAO9hB,QAElB,EA/DA,CAA6C,W,YAiE7C,EAAA4vF,iBAAiB,aAAc25E,I,2GCxF/B,WACA,QAeS,yEAfA,EAAAjkJ,aAeW,uEAfW,EAAAW,WAa/B,EAAA1kB,OAAO,EAAA+jB,UAX4B,CACjCkkJ,cAAe,iBACfC,iBAAkB,oBAClBC,kBAAmB,qBACnBC,kBAAmB,qBACnBC,gBAAiB,mBACjBC,mBAAoB,sBACpBC,mBAAoB,sBACpBC,oBAAqB,0B,yFCXvB,OACA,0BACA,4BAIA,2B,+CAQA,OARsC,iBAG7B,YAAA3hK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,WAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA4D,UAAcA,kBAO1F,EARA,CAAsC,W,UAAjB0iJ,G,yFCNrB,OAEA,QACA,2BACA,yBAGMxvE,EAAW,CACf1oE,KAAM,OACN3J,KAAM,QAWR,yE,OAGS,EAAAnd,KAAe,W,EAqBxB,OAxB2C,iBAK/B,YAAAgkF,eAAV,SAAyBzhE,EAAaviB,GACpC,OAAOwvF,EAASxvF,IAGR,YAAAuf,YAAV,WACEnpB,KAAK0wB,KAAO,EAAAs9D,QAAQ,OAAQ,OAAQ,CAClCpnF,KAAM5G,OAERA,KAAKgsB,UAAU,WAAYhsB,KAAK0wB,MAEhC1wB,KAAK+mB,KAAO,EAAAinE,QAAQ,OAAQ,OAAQ,CAClCpnF,KAAM5G,OAERA,KAAKgsB,UAAU,WAAYhsB,KAAK+mB,OAGxB,YAAA5f,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAEtB,EAxBA,CAA2C,W,YA0B3C,EAAAK,iBAAiB,WAAYq6E,I,2GC9C7B,WACA,QAuBS,yEAvBA,EAAA3kJ,aAuBW,uEAvBW,EAAAW,WAqB/B,EAAA1kB,OAAO,EAAA+jB,UAnB4B,CACjC4kJ,YAAa,aACbC,eAAgB,gBAChBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,cAAe,eACfC,iBAAkB,kBAClBC,iBAAkB,kBAClBC,kBAAmB,mBACnBC,YAAa,aACbC,eAAgB,gBAChBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,cAAe,eACfC,iBAAkB,kBAClBC,iBAAkB,kBAClBC,kBAAmB,sB,yFCnBrB,OACA,0BACA,4BAIA,2B,+CAQA,OARsC,iBAG7B,YAAA7iK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,WAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA4D,UAAcA,kBAO1F,EARA,CAAsC,W,UAAjB4jJ,G,yFCNrB,OAEA,QACA,2BACA,yBAGM1wE,EAAW,CACfryE,KAAM,QASR,yE,OAES,EAAAnd,KAAe,W,EAgBxB,OAlB2C,iBAI/B,YAAAgkF,eAAV,SAAyBzhE,EAAaviB,GACpC,OAAOwvF,EAASxvF,IAGR,YAAAuf,YAAV,WACEnpB,KAAK+mB,KAAO,EAAAinE,QAAQ,OAAQ,OAAQ,CAClCpnF,KAAM5G,OAERA,KAAKgsB,UAAU,WAAYhsB,KAAK+mB,OAGxB,YAAA5f,YAAV,WACE,YAAMA,YAAW,UAACgnF,IAEtB,EAlBA,CAA2C,W,YAoB3C,EAAAK,iBAAiB,WAAYu7E,I,2GCrC7B,WACA,QAeS,yEAfA,EAAA7lJ,aAeW,uEAfW,EAAAW,WAa/B,EAAA1kB,OAAO,EAAA+jB,UAX4B,CACjColJ,YAAa,aACbC,eAAgB,gBAChBC,gBAAiB,iBACjBC,gBAAiB,iBACjBC,cAAe,eACfC,iBAAkB,kBAClBC,iBAAkB,kBAClBC,kBAAmB,sB,yFCXrB,OACA,0BACA,4BAOA,2B,+CAQA,OARsC,iBAG7B,YAAA7iK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,WAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA4D,UAAcA,kBAO1F,EARA,CAAsC,W,UAAjB8jJ,G,yFCTrB,QACA,OACA,4BAEA,2BACA,OAYMv7D,EAAoB,CACxBnV,SAAU,EACVoV,aAAa,EACb/9E,MAAO,CACLxK,SAAS,EACT0kB,KAAM,EACNt6B,MAAO,SACP3H,MAAO,CACL0nB,OAAQ,SAGZ1tB,MAAO,CACLujB,SAAS,IAIPyoF,EAAqB,CACzBzoF,SAAS,EACT0oF,cAAc,EACd/nF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLoD,YAAY,EACZd,SAAS,EACTS,OAAQ,KAMZ,yE,OAkBS,EAAAhd,KAAe,W,EA0JxB,OA5KgG,iBAChF,EAAAsc,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5C9B,OAAQ,CACN+B,SAAS,GAEXiB,MAAO,CACL0nF,WAAYF,EACZG,YAAaH,GAGfq7D,YAAa,CACX,EAAAlgK,QAAQ,GAAI0kG,EAAmB,CAAEjxF,MAAO,YACxC,EAAAzT,QAAQ,GAAI0kG,EAAmB,CAAEjxF,MAAO,gBAOvC,YAAAyK,KAAP,sBAEE,GADA,YAAMA,KAAI,WACLjoB,KAAKqvG,YAAV,CAGM,MAA0FrvG,KAAK4lB,QAA7F5mB,EAAI,OAAE+sB,EAAI,OAAElB,EAAM,SAAEC,EAAM,SAAEjE,EAAK,QAAEL,EAAO,UAAEyjJ,EAAW,cAAE7lJ,EAAM,SAAEha,EAAM,SAAEklG,EAAU,aAC3FtvG,KAAKygB,OAAS,CAACwpJ,EAAY,GAAGzsJ,MAAiBysJ,EAAY,GAAGzsJ,OAC9D,IAAMiuG,EAAoBzrH,KAAK0rH,uBAEd1rH,KAAKyvG,YAAY,UAAWzwG,EAAK,GAAI,EAAF,UAClD+sB,KAAI,EACJlB,OAAM,EACNC,OAAQA,EAAO,GACfjE,MAAO,CACLV,SAAS,GAEXiB,MAAO,EAAArd,QACL,GACA0hH,EACA,CACE3kG,KAAM,CACJX,SAAS,GAEXsX,MAAM,GAERz9B,KAAKonB,MAAM,IAEbZ,QAAS,CACPL,SAAS,GAEX/b,OAAM,GACH6/J,EAAY,KAER3gK,SAET,IAAMkmG,EAAW,GACjBA,EAAS1kF,EAAO,IAAM,CAAEkL,MAAOh2B,KAAKutE,YAClBvtE,KAAKyvG,YAAY,UAAWzwG,EAAK,GAAI,EAAF,UACnD6rB,OAAM,EACNC,OAAQA,EAAO,GACfiB,KAAOujF,EAA2CvjF,EAA9B,EAAAhiB,QAAQ,GAAIgiB,EAAMyjF,GACtC06D,WAAYp/I,EAAO,GACnBjE,MAAK,EACLO,MAAO,EAAArd,QACL,GACA0hH,EACA,CACEllG,SAAU,QACVkX,MAAM,GAERz9B,KAAKonB,MAAM,IAEbZ,QAAS,EAAAzc,QACP,GACA,CACE6qE,aAAa,EACbpqD,OAAQ,CACNC,SAAU,SAACmlF,EAAc9qF,GACvB,EAAK0B,QAAQopF,EAAc9qF,MAIjC0B,GAEFpc,OAAM,GACH6/J,EAAY,KAEP3gK,SACN8a,EAAO+B,SACTnmB,KAAK0vG,eAEP1vG,KAAK2vG,iBAGG,YAAAnpF,QAAV,SAAkBvb,EAAK6Z,GAGrB,GAFuB9kB,KAAKiwG,oBAETrxG,SAAWoB,KAAKygB,OAAO7hB,OAA1C,CAIEqM,EAAIrC,MAAMqiD,QAAU,QAEhB,MAAqBjrD,KAAK4lB,QAAxBkF,EAAM,SAAE1G,EAAM,SAChByrF,EAAa,EAAAz9E,MAAMtN,EAAG0O,MAAM,IAC5Bs8E,EAAa9vG,KAAK+vG,gBAAgBjrF,EAAGjB,MAAO,GAAG,GACjDisF,GACE,EAAApmG,UAAUob,EAAG0O,OAAO,SAAC7pB,GAAc,OAAAA,EAAK/M,OAASkuB,EAAO,MAAM,GAChEhG,EAAG0O,MAAMlwB,KAAK,EAAD,uBACRusG,GAAU,CACb/7E,YAAa,EAAA/pB,QAAQ,GAAI8lG,EAAW/7E,YAAa,CAAEO,QAASy7E,IAC5D9wG,KAAM8wG,EACNlzG,KAAMkuB,EAAO,GACbxtB,MAAOwyG,EAAWhlF,EAAO,IACzBtN,MAAOxd,KAAKygB,OAAO,MAIrB2D,EAAO+B,SACT,EAAA3c,KAAKxJ,KAAKooB,SAAS,SAAChE,EAAQ1lB,GAE1B,GADa0lB,EAAOlnB,IAAI,SAAS,GACxB81E,UAAW,CAClB,IAAMm3F,EAAwB,IAAVzrK,EAAc,EAAI,EACtComB,EAAG0O,MAAM5L,OAAOuiJ,EAAa,YAzBjCl/J,EAAIrC,MAAMqiD,QAAU,QA+Bd,YAAAykD,aAAV,sBACQ,EAAqB1vG,KAAK4lB,QAAxBkF,EAAM,SAAE1G,EAAM,SACd3D,EAAWzgB,KAAI,OACjB8F,EAAY9F,KAAK8F,UAAU4jB,WAC3BymF,EAAY/rF,EAClB,EAAA5a,KAAKxJ,KAAKgwG,YAAY,SAACjpF,EAAMroB,GAC3B,IAAMwwD,EAAY,EAAAnlD,QAChB,GACA,CACEkyD,OAAQ,SACRrzD,MAAO,CACLzL,EAAG,EACH0yB,KAAMpP,EAAO/hB,KAGjByxG,EAAU7iF,QAENkG,EAAQ,CACZ,CACE52B,KAAMkuB,EAAOpsB,GACbs0E,WAAW,EACX1lD,OAAQ4hC,IAGN9qC,EAAS,IAAI,EAAA9V,OAAOmiG,SAAS,CACjCjgF,GAAI,EAAK5mB,KACT9D,UAAS,EACTkE,EAAG,EACHvH,EAAG,EACH+wB,MAAOA,EACPk9E,kBAAkB,EAClBC,eAAgB,KAChBpjF,SAAU4iF,EAAU9pF,OAEtBjC,EAAO6D,OACP7D,EAAO9a,SACP,EAAK8e,QAAQ9kB,KAAK8gB,MAGpB,EAAA5a,KAAKxJ,KAAKgwG,YAAY,SAACjpF,EAAMroB,GAC3B,EAAK8xG,aAAa9xG,OAGxB,EA5KA,CAAgG,W,YA8KhG,EAAA8vF,iBAAiB,WAAY47E,I,yFCzO7B,OACA,0BACA,4BAOA,2B,+CAQA,OARwC,iBAG/B,YAAApjK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,aAClB,YAAM5C,aAAY,UAACulI,IALP,EAAArmH,kBAA8D,UAAgBA,kBAO9F,EARA,CAAwC,W,UAAnBmkJ,G,yFCTrB,OACA,0BACA,4BAIA,2B,+CASA,OAT+C,iBAItC,YAAArjK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,oBAClB,YAAM5C,aAAY,UAACulI,IANP,EAAArmH,kBACZ,UAAuBA,kBAO3B,EATA,CAA+C,W,UAA1BokJ,G,yFCNrB,OACA,OAEA,4BACA,4BACA,QAQM77D,EAAoB,CACxBjxF,MAAO,UACP87E,SAAU,EACVoV,aAAa,EACb/9E,MAAO,CACLxK,SAAS,EACT0kB,KAAM,EACNt6B,MAAO,SACP3H,MAAO,CACL0nB,OAAQ,SAGZ1tB,MAAO,CACLujB,SAAS,IAIPwoF,EAAsB,CAC1BnxF,MAAO,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAGvGoxF,EAAqB,CACzBzoF,SAAS,EACT0oF,cAAc,EACd/nF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLoD,YAAY,EACZd,SAAS,EACTgB,QAAS,KAIb,yE,OAiBS,EAAAvd,KAAe,oBACZ,EAAA6hF,cAA0B,CAAC,SAAU,SAAU,oB,EAgH3D,OAhIU,iBACM,EAAAvlE,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CkB,MAAO,CACL0nF,WAAY,EAAA/kG,QAAQ,GAAI6kG,EAAoB,CAAEC,cAAc,IAC5DE,YAAaH,GAEfzF,WAAYsF,EACZO,aAAcL,EACdvqF,OAAQ,CACN+B,SAAS,MAQR,YAAA0B,WAAP,W,QACUjC,EAA4B5lB,KAArB,QAAE8lB,EAAmB9lB,KAAL,eACzBuqK,EAAevqK,KAAKwqK,uBAC1B,GAAI5kJ,EAAQqpF,kBACVrpF,EAAQwB,MAAM2nF,YAAYF,cAAe,GACX,QAA1B,EAAC/oF,EAAeqjF,kBAAU,eAAE7P,YAC9B1zE,EAAQujF,WAAW7P,SAAW,KAEF,QAA1B,EAACxzE,EAAeqjF,kBAAU,eAAE3rF,QAAO,CAC/B,MAAwB,EAAA8F,iBAAtB7C,EAAM,SAAEyuF,EAAS,YACnBC,EAAcnvG,KAAKovG,wBACnB,EAAcD,EAAYvwG,OAAS6hB,EAAO7hB,OAASswG,EAAYzuF,EAC/D,EAAc,GACd,EAAa8pJ,EAAa3rK,OAChC,EAAA4K,KAAK2lG,GAAa,SAACjsG,EAAGxE,GACpB,EAAY4E,KAAK,EAAY5E,EAAQ,OAEvCknB,EAAQujF,WAAW3rF,MAAQ,EAGvB,IAAAA,EAAUxd,KAAK4lB,QAAQopF,aAAY,MAC3ChvG,KAAK4lB,QAAQopF,aAAaxxF,MAAQA,EAAMoD,MAAM,EAAG2pJ,EAAa3rK,SAGtD,YAAA2wG,WAAV,sBACQ,EAAmFvvG,KAAK4lB,QAAtF5mB,EAAI,OAAE6rB,EAAM,SAAEC,EAAM,SAAE2/I,EAAgB,mBAAE5jJ,EAAK,QAAEL,EAAO,UAAEwoF,EAAY,eAAE5kG,EAAM,SACrEpK,KAAKyvG,YAAY,UAAoBzwG,EAAK,GAAI,EAAF,UACzD6rB,OAAM,EACNC,OAAQA,EAAO,GACfw9E,WAAYmiE,EACZ5jJ,MAAK,EACLO,MAAO,EAAArd,QAAQ,GAAI/J,KAAKonB,MAAM,GAAI,CAChCN,KAAM,CACJX,SAAS,GAEXsX,MAAM,IAERrZ,OAAQ,CACN+B,SAAS,GAEXK,QAAS,EAAAzc,QAAQ,GAAIyc,EAAS,CAC5BouD,aAAa,EACbpqD,OAAQ,CACNC,SAAU,SAACmlF,EAAc9qF,GACvB,EAAK0B,QAAQopF,EAAc9qF,OAIjC1a,OAAM,GACH4kG,IAEE1lG,UAGC,YAAAomG,aAAV,sBACQ,EAAqB1vG,KAAK4lB,QAAxBkF,EAAM,SAAE1G,EAAM,SACd3D,EAAWzgB,KAAI,OACjB8F,EAAY9F,KAAK8F,UAAU4jB,WAC3BymF,EAAY/rF,EACZgsF,EAAU,CAAC,SAAU,UAC3B,EAAA5mG,KAAKxJ,KAAKgwG,YAAY,SAAC/kF,EAAMvsB,GAC3B,IAAI0lB,EACJ,GAAI6G,EAAKrF,QAAQi0E,YAAa,CAC5B,IAAMn5E,EAAS,EAAK0uF,wBACpBhrF,EAAS,EAAKisF,mBAAmB3vF,EAAQ0vF,EAAQ1xG,GAAQ+hB,EAAO/hB,GAAQyxG,EAAWrqG,QAC9E,GAAImlB,EAAKrF,QAAQ0iF,WAAY,CAC5B5nF,EAAS,EAAK8pJ,uBACpBpmJ,EAAS,EAAKisF,mBAAmB3vF,EAAQ0vF,EAAQ1xG,GAAQ+hB,EAAO/hB,GAAQyxG,EAAWrqG,QAEnFse,EAAS,EAAKksF,mBAAmBxlF,EAAOpsB,GAAQ0xG,EAAQ1xG,GAAQ+hB,EAAO/hB,GAAQyxG,EAAWrqG,GAE5F,EAAKsiB,QAAQ9kB,KAAK8gB,MAGpB,EAAA5a,KAAKxJ,KAAKgwG,YAAY,SAAC/kF,EAAMvsB,GACvBusB,EAAKrF,QAAQi0E,YACf,EAAK0W,qBAAqB7xG,EAAOusB,EAAKrF,QAAQi0E,aACrC5uE,EAAKrF,QAAQ0iF,WACtB,EAAKiI,qBAAqB7xG,EAAOusB,EAAKrF,QAAQ0iF,YAE9C,EAAKkI,aAAa9xG,OAKd,YAAA8rK,qBAAV,WACQ,MAA6BxqK,KAAK4lB,QAAhC6kJ,EAAgB,mBAClBC,EADwB,OACN,GAClBhqJ,EAAS,GAOf,OANA,EAAAlX,KAAKkhK,GAAY,SAAC/tK,GAChB,IAAMuG,EAAIvG,EAAE8tK,GACP,EAAApgK,SAASqW,EAAQxd,IACpBwd,EAAOpd,KAAKJ,MAGTwd,GAGC,YAAAqqG,YAAV,SAAsBrsH,GACd,MAAuCsB,KAAK4lB,QAA1CiF,EAAM,SAAEC,EAAM,SAAE2/I,EAAgB,mBAClCE,EAAQ,GACdA,EAAM9/I,GAAU,SAChB8/I,EAAM7/I,EAAOpsB,IAAU,EACvBisK,EAAMF,GAAoB,SAC1B,IAAMG,EAAQ,GAId,OAHAA,EAAM//I,GAAU,SAChB+/I,EAAM9/I,EAAOpsB,IAAU,EACvBksK,EAAMH,GAAoB,SACnB,CAACE,EAAOC,IAEnB,EAlIA,CAEU,W,YAkIV,EAAAp8E,iBAAiB,oBAAqBq8E,I,yFC9LtC,OACA,0BACA,4BAIA,2B,+CASA,OAT+C,iBAItC,YAAA7jK,aAAP,SAAoBjB,GAClB,IAAMwmI,EAAa,EAAAxiI,QAAQ,GAAIhE,GAC/BwmI,EAAW3iI,KAAO,oBAClB,YAAM5C,aAAY,UAACulI,IANP,EAAArmH,kBACZ,UAAuBA,kBAO3B,EATA,CAA+C,W,UAA1B4kJ,G,yFCNrB,OACA,OAEA,4BACA,2BACA,QAQMr8D,EAAoB,CACxBjxF,MAAO,UACP87E,SAAU,EACVoV,aAAa,EACb/9E,MAAO,CACLxK,SAAS,EACT0kB,KAAM,EACNt6B,MAAO,SACP3H,MAAO,CACL0nB,OAAQ,SAGZ1tB,MAAO,CACLujB,SAAS,IAIPwoF,EAAsB,CAC1BnxF,MAAO,CAAC,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,UAAW,YAGvGoxF,EAAqB,CACzBzoF,SAAS,EACT0oF,cAAc,EACd/nF,KAAM,CACJX,SAAS,GAEXY,KAAM,CACJZ,SAAS,GAEXa,SAAU,CACRb,SAAS,GAEXvjB,MAAO,CACLujB,SAAS,EACTe,UAAU,EACVD,YAAY,GAEdpD,MAAO,CACLoD,YAAY,EACZd,SAAS,EACTgB,QAAS,KAIb,yE,OAiBS,EAAAvd,KAAe,oBACZ,EAAA6hF,cAA0B,CAAC,SAAU,SAAU,oB,EA2H3D,OA3IU,iBACM,EAAAvlE,kBAAd,WACE,OAAO,EAAAnc,QAAQ,GAAI,EAAMmc,kBAAiB,WAAI,CAC5CkB,MAAO,CACL0nF,WAAY,EAAA/kG,QAAQ,GAAI6kG,EAAoB,CAAEC,cAAc,IAC5DE,YAAaH,GAEfzF,WAAYsF,EACZO,aAAcL,EACdvqF,OAAQ,CACN+B,SAAS,MAQR,YAAA0B,WAAP,W,QACQkjJ,EAAe/qK,KAAKgrK,uBAClBplJ,EAA4B5lB,KAArB,QAAE8lB,EAAmB9lB,KAAL,eAC/B,GAAI4lB,EAAQqpF,kBACVrpF,EAAQwB,MAAM2nF,YAAYF,cAAe,GACX,QAA1B,EAAC/oF,EAAeqjF,kBAAU,eAAE7P,YAC9B1zE,EAAQujF,WAAW7P,SAAW,KAEF,QAA1B,EAACxzE,EAAeqjF,kBAAU,eAAE3rF,QAAO,CAC/B,MAAwB,EAAA8F,iBAAtB7C,EAAM,SAAEyuF,EAAS,YACnBC,EAAcnvG,KAAKovG,wBACnB,EAAcD,EAAYvwG,OAAS6hB,EAAO7hB,OAASswG,EAAYzuF,EAC/D,EAAc,GACd,EAAasqJ,EAAansK,OAChC,EAAA4K,KAAK2lG,GAAa,SAACjsG,EAAGxE,GACpB,EAAY4E,KAAK,EAAY5E,EAAQ,OAEvCknB,EAAQujF,WAAW3rF,MAAQ,EAGvB,IAAAA,EAAUxd,KAAK4lB,QAAQopF,aAAY,MAC3ChvG,KAAK4lB,QAAQopF,aAAaxxF,MAAQA,EAAMoD,MAAM,EAAGmqJ,EAAansK,SAGtD,YAAA2wG,WAAV,sBACQ,EAAmFvvG,KAAK4lB,QAAtF5mB,EAAI,OAAE6rB,EAAM,SAAEC,EAAM,SAAEmgJ,EAAgB,mBAAEpkJ,EAAK,QAAEL,EAAO,UAAEwoF,EAAY,eAAE5kG,EAAM,SACrEpK,KAAKyvG,YAAY,UAAoBzwG,EAAK,GAAI,EAAF,UACzD6rB,OAAM,EACNC,OAAQA,EAAO,GACfkxE,WAAYivE,EACZpkJ,MAAK,EACLO,MAAO,EAAArd,QAAQ,GAAI/J,KAAKonB,MAAM,GAAI,CAChCN,KAAM,CACJX,SAAS,GAEXsX,MAAM,IAERrZ,OAAQ,CACN+B,SAAS,GAEXK,QAAS,EAAAzc,QAAQ,GAAIyc,EAAS,CAC5BouD,aAAa,EACbpqD,OAAQ,CACNC,SAAU,SAACmlF,EAAc9qF,GACvB,EAAK0B,QAAQopF,EAAc9qF,OAIjC1a,OAAM,GACH4kG,IAEE1lG,UAGC,YAAAomG,aAAV,sBACQ,EAAqB1vG,KAAK4lB,QAAxBkF,EAAM,SAAE1G,EAAM,SACd3D,EAAWzgB,KAAI,OACjB8F,EAAY9F,KAAK8F,UAAU4jB,WAC3BymF,EAAY/rF,EACZgsF,EAAU,CAAC,SAAU,UAC3B,EAAA5mG,KAAKxJ,KAAKgwG,YAAY,SAAC/kF,EAAMvsB,GAC3B,IAAI0lB,EACJ,GAAI6G,EAAKrF,QAAQi0E,YAAa,CAC5B,IAAMn5E,EAAS,EAAK0uF,wBACpBhrF,EAAS,EAAKisF,mBAAmB3vF,EAAQ0vF,EAAQ1xG,GAAQ+hB,EAAO/hB,GAAQyxG,EAAWrqG,QAC9E,GAAImlB,EAAKrF,QAAQo2E,WAAY,CAC5Bt7E,EAAS,EAAKsqJ,uBACpB5mJ,EAAS,EAAKisF,mBAAmB3vF,EAAQ0vF,EAAQ1xG,GAAQ+hB,EAAO/hB,GAAQyxG,EAAWrqG,QAEnFse,EAAS,EAAKksF,mBAAmBxlF,EAAOpsB,GAAQ0xG,EAAQ1xG,GAAQ+hB,EAAO/hB,GAAQyxG,EAAWrqG,GAE5F,EAAKsiB,QAAQ9kB,KAAK8gB,MAGpB,EAAA5a,KAAKxJ,KAAKgwG,YAAY,SAAC/kF,EAAMvsB,GACvBusB,EAAKrF,QAAQi0E,YACf,EAAK0W,qBAAqB7xG,EAAOusB,EAAKrF,QAAQi0E,aACrC5uE,EAAKrF,QAAQo2E,WACtB,EAAKuU,qBAAqB7xG,EAAOusB,EAAKrF,QAAQo2E,YAE9C,EAAKwU,aAAa9xG,OAKd,YAAAssK,qBAAV,WACQ,MAA6BhrK,KAAK4lB,QAAhCqlJ,EAAgB,mBAClBP,EADwB,OACN,GAClBhqJ,EAAS,GAOf,OANA,EAAAlX,KAAKkhK,GAAY,SAAC/tK,GAChB,IAAMuG,EAAIvG,EAAEsuK,GACP,EAAA5gK,SAASqW,EAAQxd,IACpBwd,EAAOpd,KAAKJ,MAGTwd,GAGC,YAAAuvF,kBAAV,WACE,IAAM3yG,EAAQ,GAOd,OANA,EAAAkM,KAAKxJ,KAAKooB,SAAS,SAAChE,GAClB,IAAMsoG,EAAiBtoG,EAAOq3D,gBAAgB,aAC9C,EAAAjyE,KAAKkjH,GAAgB,SAAC/iH,GACpBrM,EAAMgG,KAAKqG,EAAK/M,YAGbU,GAGC,YAAAytH,YAAV,SAAsBrsH,GACd,MAAuCsB,KAAK4lB,QAA1CiF,EAAM,SAAEC,EAAM,SAAEmgJ,EAAgB,mBAClCN,EAAQ,GACdA,EAAM9/I,GAAU,SAChB8/I,EAAM7/I,EAAOpsB,IAAU,EACvBisK,EAAMM,GAAoB,SAC1B,IAAML,EAAQ,GAId,OAHAA,EAAM//I,GAAU,SAChB+/I,EAAM9/I,EAAOpsB,IAAU,EACvBksK,EAAMK,GAAoB,SACnB,CAACN,EAAOC,IAEnB,EA7IA,CAEU,W,YA6IV,EAAAp8E,iBAAiB,oBAAqB08E,I,6BCtM/B,SAAS/wI,EAAOn7B,EAAMgL,EAAGvH,EAAG23B,GACjCp7B,EAAOA,EAAKi9B,QAAO,SAAAt/B,GACjB,IAAI8oB,EAAIzb,EAAErN,GAAIuG,EAAIT,EAAE9F,GACpB,OAAY,MAAL8oB,GAAa0lJ,SAAS1lJ,IAAW,MAALviB,GAAaioK,SAASjoK,MAGvDk3B,GACFp7B,EAAKo7B,MAAK,SAACj2B,EAAGzE,GAAJ,OAAUsK,EAAE7F,GAAK6F,EAAEtK,MAS/B,IANA,IAKoB0rK,EAAIC,EAAI1uK,EALtBmB,EAAIkB,EAAKJ,OACT0sK,EAAI,IAAIC,aAAaztK,GACrB0tK,EAAI,IAAID,aAAaztK,GAGvB2tK,EAAK,EAAGC,EAAK,EACRrvK,EAAI,EAAGA,EAAIyB,GAClBnB,EAAIqC,EAAK3C,GACTivK,EAAEjvK,GAAK+uK,GAAMphK,EAAErN,GACf6uK,EAAEnvK,GAAKgvK,GAAM5oK,EAAE9F,GAEf8uK,IAAOL,EAAKK,KADVpvK,EAEFqvK,IAAOL,EAAKK,GAAMrvK,EAIpB,IAAK,IAAIA,EAAI,EAAGA,EAAIyB,IAAKzB,EACvBivK,EAAEjvK,IAAMovK,EACRD,EAAEnvK,IAAMqvK,EAGV,MAAO,CAACJ,EAAGE,EAAGC,EAAIC,GAIb,SAASC,EAAY3sK,EAAMgL,EAAGvH,EAAG8G,GAGtC,IAFA,IAAIqiK,EAAa,EAERvvK,EAAI,EAAGyB,EAAIkB,EAAKJ,OAAQvC,EAAIyB,EAAGzB,IAAK,CAC3C,IAAMM,EAAIqC,EAAK3C,GACT8wC,GAAMnjC,EAAErN,GACRywC,GAAM3qC,EAAE9F,GAEJ,MAANwwC,GAAcg+H,SAASh+H,IAAa,MAANC,GAAc+9H,SAAS/9H,IACvD7jC,EAAG4jC,EAAIC,EAAIw+H,MC3CV,SAASC,EAAc7sK,EAAMgL,EAAGvH,EAAGqpK,EAAIC,GAC5C,IAAIC,EAAM,EACNC,EAAM,EAUV,OARAN,EAAY3sK,EAAMgL,EAAGvH,GAAG,SAAC0qC,EAAIC,GAC3B,IAAM8+H,EAAM9+H,EAAK2+H,EAAQ5+H,GACnBg/H,EAAM/+H,EAAK0+H,EAEjBE,GAAOE,EAAMA,EACbD,GAAOE,EAAMA,KAGR,EAAIH,EAAMC,ECfZ,SAAS90I,EAAMpQ,GACpB,OAAsE,IAA/D5X,KAAK23B,MAAM/f,EAAK,GAAG,GAAKA,EAAK,GAAG,GAAIA,EAAK,GAAG,GAAKA,EAAK,GAAG,IAAY5X,KAAKE,GCE5E,SAAS+8J,EAAUC,EAAMC,EAAMP,GAKpC,IAJA,IAAMzvK,EAAI6S,KAAK+lB,IAAIo3I,EAAOD,GAAQl9J,KAAKo9J,OAAS,EAAI,EAC9CztK,EAAY,EAAIqQ,KAAKyQ,IAAI,IAAKtjB,EAAI,EAAI,GACxC69B,EAAS,CAAC/J,EAAGi8I,GAAOj8I,EAAGk8I,IAAQE,EAAO,EAEnCt+H,EAAK/T,IAAWqyI,EAHmC,MAK1D,OAAOryI,EAEP,SAAS/J,EAAGpmB,GACV,MAAO,CAACA,EAAG+hK,EAAQ/hK,IAGrB,SAASkkC,EAAK/T,GACZqyI,IAIA,IAHA,IDbqBzlJ,ECafjpB,EAAIq8B,EAAOv7B,OACb6tK,GAAQ,EAEHpwK,EAAI,EAAGA,EAAIyB,EAAI,EAAGzB,IAAI,CAC7B,IAAM48B,EAAKkB,EAAO99B,GACdm8B,EAAK2B,EAAO99B,EAAI,GAChBI,EDlBD,GADgBsqB,ECmBF,CAACkS,EAAIT,IDlBZ,GAAG,GAAKzR,EAAK,GAAG,IAAM,GAAIA,EAAK,GAAG,GAAKA,EAAK,GAAG,IAAM,GCmB3D2lJ,EAAKt8I,EAAG3zB,EAAE,IACVq2F,EAAK37D,EAAM,CAAC8B,EAAIx8B,IAChBs2F,EAAK57D,EAAM,CAAC8B,EAAIyzI,IACZv9J,KAAKsmB,IAAIq9D,EAAKC,GAEdj0F,IACNq7B,EAAOvS,OAAOvrB,EAAI,EAAG,EAAGqwK,GACxBD,GAAQ,GAIZ,OAAOA,GClCJ,SAASE,EAAIC,EAAId,EAAIe,EAAKC,GAC/B,IAAMC,EAAQD,EAAMF,EAAKA,EACnBI,EAAQ79J,KAAKsmB,IAAIs3I,GAAS,MAAQ,GAAKF,EAAMD,EAAKd,GAAMiB,EAG9D,MAAO,CAFWjB,EAAKkB,EAAQJ,EAEZI,G,uxCCHN,iBACb,IAEIC,EAFAjjK,EAAI,SAAArN,GAAC,OAAIA,EAAE,IACX8F,EAAI,SAAA9F,GAAC,OAAIA,EAAE,IAGf,SAASsjB,EAAYjhB,GACnB,IAAIlB,EAAI,EACJ0tK,EAAI,EACJ0B,EAAK,EACLC,EAAK,EACLC,EAAM,EACNC,EAAM,EACNhB,EAAOY,GAAUA,EAAO,GAAK16J,IAC7B+5J,EAAOW,GAAUA,EAAO,IAAM16J,IAElCo5J,EAAY3sK,EAAMgL,EAAGvH,GAAG,SAAC0qC,EAAIC,GAC3B,IAAMkgI,EAAKn+J,KAAK+lB,IAAIkY,GAAKmgI,EAAKpgI,EAAKC,IACjCtvC,EACF0tK,IAAMp+H,EAAKo+H,GAAK1tK,EAChBqvK,IAAOI,EAAKJ,GAAMrvK,EAClBuvK,IAAQlgI,EAAKogI,EAAKF,GAAOvvK,EACzBovK,IAAO9/H,EAAKkgI,EAAKJ,GAAMpvK,EACvBsvK,IAAQG,EAAKD,EAAKF,GAAOtvK,EAEpBmvK,IACC9/H,EAAKk/H,IAAMA,EAAOl/H,GAClBA,EAAKm/H,IAAMA,EAAOn/H,OArBF,QAyBXw/H,EAAIQ,EAAK3B,EAAG0B,EAAK1B,EAAG4B,EAAM5B,EAAG6B,EAAM7B,GAzBxB,GAyBnBrnK,EAzBmB,KAyBhBzE,EAzBgB,KA0BxByE,EAAIgL,KAAKooF,IAAIpzF,GACb,IAAM4oF,EAAK,SAAA/iF,GAAC,OAAI7F,EAAIgL,KAAKooF,IAAI73F,EAAIsK,IAC3B+F,EAAMq8J,EAAUC,EAAMC,EAAMv/E,GAOlC,OALAh9E,EAAI5L,EAAIA,EACR4L,EAAIrQ,EAAIA,EACRqQ,EAAIg8J,QAAUh/E,EACdh9E,EAAI2xJ,SAAWmK,EAAc7sK,EAAMgL,EAAGvH,EAAG+oK,EAAGz+E,GAErCh9E,EAeT,OAZAkQ,EAAYgtJ,OAAS,SAAS3uK,GAC5B,OAAO8B,UAAUxB,QAAUquK,EAAS3uK,EAAK2hB,GAAegtJ,GAG1DhtJ,EAAYjW,EAAI,SAAS+iF,GACvB,OAAO3sF,UAAUxB,QAAUoL,EAAI+iF,EAAI9sE,GAAejW,GAGpDiW,EAAYxd,EAAI,SAASsqF,GACvB,OAAO3sF,UAAUxB,QAAU6D,EAAIsqF,EAAI9sE,GAAexd,GAG7Cwd,G,u8BCxDM,iBACb,IAEIgtJ,EAFAjjK,EAAI,SAAArN,GAAC,OAAIA,EAAE,IACX8F,EAAI,SAAA9F,GAAC,OAAIA,EAAE,IAGf,SAASmjB,EAAO9gB,GACd,IAAIlB,EAAI,EACJwtK,EAAI,EACJE,EAAI,EACJ2B,EAAK,EACLK,EAAK,EACLnB,EAAOY,GAAUA,EAAO,GAAK16J,IAC7B+5J,EAAOW,GAAUA,EAAO,IAAM16J,IAElCo5J,EAAY3sK,EAAMgL,EAAGvH,GAAG,SAAC0qC,EAAIC,KACzBtvC,EACFwtK,IAAMn+H,EAAKm+H,GAAKxtK,EAChB0tK,IAAMp+H,EAAKo+H,GAAK1tK,EAChBqvK,IAAOhgI,EAAKC,EAAK+/H,GAAMrvK,EACvB0vK,IAAOrgI,EAAKA,EAAKqgI,GAAM1vK,EAElBmvK,IACC9/H,EAAKk/H,IAAMA,EAAOl/H,GAClBA,EAAKm/H,IAAMA,EAAOn/H,OAlBP,QAsBQw/H,EAAIrB,EAAGE,EAAG2B,EAAIK,GAtBtB,GAsBZC,EAtBY,KAsBDT,EAtBC,KAuBfjgF,EAAK,SAAA/iF,GAAC,OAAIgjK,EAAQhjK,EAAIyjK,GACtB19J,EAAM,CAAC,CAACs8J,EAAMt/E,EAAGs/E,IAAQ,CAACC,EAAMv/E,EAAGu/E,KAOvC,OALAv8J,EAAI5L,EAAI6oK,EACRj9J,EAAIrQ,EAAI+tK,EACR19J,EAAIg8J,QAAUh/E,EACdh9E,EAAI2xJ,SAAWmK,EAAc7sK,EAAMgL,EAAGvH,EAAG+oK,EAAGz+E,GAErCh9E,EAeT,OAZA+P,EAAOmtJ,OAAS,SAAS3uK,GACvB,OAAO8B,UAAUxB,QAAUquK,EAAS3uK,EAAKwhB,GAAUmtJ,GAGrDntJ,EAAO9V,EAAI,SAAS+iF,GAClB,OAAO3sF,UAAUxB,QAAUoL,EAAI+iF,EAAIjtE,GAAU9V,GAG/C8V,EAAOrd,EAAI,SAASsqF,GAClB,OAAO3sF,UAAUxB,QAAU6D,EAAIsqF,EAAIjtE,GAAUrd,GAGxCqd,GCtDF,SAASqkD,EAAO7lE,GACrBA,EAAI87B,MAAK,SAACj2B,EAAGzE,GAAJ,OAAUyE,EAAIzE,KACvB,IAAIrD,EAAIiC,EAAIM,OAAS,EACrB,OAAOvC,EAAI,GAAM,GAAKiC,EAAIjC,EAAI,GAAKiC,EAAIjC,IAAM,EAAIiC,EAAI6Q,KAAKwR,MAAMtkB,I,u8BCMlE,IAEe,aACb,IAAI2N,EAAI,SAAArN,GAAC,OAAIA,EAAE,IACX8F,EAAI,SAAA9F,GAAC,OAAIA,EAAE,IACX+wK,EAAY,GAEhB,SAASpN,EAAMthK,GAQb,IARmB,QACMm7B,EAAOn7B,EAAMgL,EAAGvH,GAAG,GADzB,GACZ2oK,EADY,KACRC,EADQ,KACJI,EADI,KACAC,EADA,KAEb5tK,EAAIstK,EAAGxsK,OACP+uK,EAAKx+J,KAAKqP,IAAI,KAAMkvJ,EAAY5vK,IAChC8vK,EAAO,IAAIrC,aAAaztK,GACxB+vK,EAAY,IAAItC,aAAaztK,GAC7BgwK,EAAgB,IAAIvC,aAAaztK,GAAG+xB,KAAK,GAEtC28I,GAAQ,IAAKA,GAfT,GAe6B,CAGxC,IAFA,IAAM37J,EAAW,CAAC,EAAG88J,EAAK,GAEjBtxK,EAAI,EAAGA,EAAIyB,IAAKzB,EAAG,CAS1B,IARA,IAAM8wC,EAAKi+H,EAAG/uK,GACR0xK,EAAKl9J,EAAS,GACdm9J,EAAKn9J,EAAS,GACd66C,EAAQve,EAAKi+H,EAAG2C,GAAQ3C,EAAG4C,GAAM7gI,EAAM4gI,EAAKC,EAE9CC,EAAI,EAAG3C,EAAI,EAAGE,EAAI,EAAG2B,EAAK,EAAGK,EAAK,EAClCU,EAAQ,EAAI/+J,KAAKsmB,IAAI21I,EAAG1/G,GAAQve,GAAM,GAEjChuC,EAAI4uK,EAAI5uK,GAAK6uK,IAAM7uK,EAAG,CAC7B,IAAMgvK,EAAK/C,EAAGjsK,GACRivK,EAAK/C,EAAGlsK,GACRi2B,EAAIi5I,EAAQl/J,KAAKsmB,IAAI0X,EAAKghI,GAAMD,GAASJ,EAAc3uK,GACvDmvK,EAAMH,EAAK/4I,EAEjB64I,GAAK74I,EACLk2I,GAAKgD,EACL9C,GAAK4C,EAAKh5I,EACV+3I,GAAMiB,EAAKE,EACXd,GAAMW,EAAKG,EAnBa,QAuBX3B,EAAIrB,EAAI2C,EAAGzC,EAAIyC,EAAGd,EAAKc,EAAGT,EAAKS,GAvBpB,GAuBnB9pK,EAvBmB,KAuBhBzE,EAvBgB,KAwB1BkuK,EAAKvxK,GAAK8H,EAAIzE,EAAIytC,EAClB0gI,EAAUxxK,GAAK8S,KAAKsmB,IAAI41I,EAAGhvK,GAAKuxK,EAAKvxK,IAErCkyK,EAAenD,EAAI/uK,EAAI,EAAGwU,GAG5B,GAhDW,IAgDP27J,EACF,MAGF,IAAMgC,EAAiBrqG,EAAO0pG,GAC9B,GAAI1+J,KAAKsmB,IAAI+4I,GArDW,MAqDgB,MAExC,IAAK,IAAWhtE,EAAKpsE,EAAZ/4B,EAAI,EAAWA,EAAIyB,IAAKzB,EAC/BmlG,EAAMqsE,EAAUxxK,IAAM,EAAImyK,GAG1BV,EAAczxK,GAAMmlG,GAAO,EA3DL,OA2DsBpsE,EAAI,EAAIosE,EAAMA,GAAOpsE,EAIrE,OA0CJ,SAAgBg2I,EAAIwC,EAAMnC,EAAIC,GAI5B,IAHA,IAC+BxoK,EADzBpF,EAAIstK,EAAGxsK,OAAQmR,EAAM,GACvB1T,EAAI,EAAGi6H,EAAM,EAAG/5B,EAAO,GAEpBlgG,EAAEyB,IAAKzB,EACZ6G,EAAIkoK,EAAG/uK,GAAKovK,EACRlvE,EAAK,KAAOr5F,EAEdq5F,EAAK,KAAOqxE,EAAKvxK,GAAKkgG,EAAK,MAAS+5B,GAGpCA,EAAM,EACN/5B,EAAK,IAAMmvE,EACXnvE,EAAO,CAACr5F,EAAG0qK,EAAKvxK,IAChB0T,EAAIzM,KAAKi5F,IAKb,OAFAA,EAAK,IAAMmvE,EAEJ37J,EA7DEo+G,CAAOi9C,EAAIwC,EAAMnC,EAAIC,GAe9B,OAZApL,EAAMoN,UAAY,SAASC,GACzB,OAAOvtK,UAAUxB,QAAU8uK,EAAYC,EAAIrN,GAASoN,GAGtDpN,EAAMt2J,EAAI,SAAS+iF,GACjB,OAAO3sF,UAAUxB,QAAUoL,EAAI+iF,EAAIuzE,GAASt2J,GAG9Cs2J,EAAM79J,EAAI,SAASsqF,GACjB,OAAO3sF,UAAUxB,QAAU6D,EAAIsqF,EAAIuzE,GAAS79J,GAGvC69J,GAIT,SAAS+N,EAAQrkK,GACf,OAAQA,EAAI,EAAIA,EAAIA,EAAIA,GAAKA,EAAIA,EAInC,SAASukK,EAAenD,EAAI/uK,EAAGwU,GAC7B,IAAI6lD,EAAM00G,EAAG/uK,GACTs+B,EAAO9pB,EAAS,GAChB+pB,EAAQ/pB,EAAS,GAAK,EAE1B,KAAI+pB,GAASwwI,EAAGxsK,QAIhB,KAAOvC,EAAIs+B,GAASywI,EAAGxwI,GAAS87B,GAASA,EAAM00G,EAAGzwI,IAChD9pB,EAAS,KAAO8pB,EAChB9pB,EAAS,GAAK+pB,IACZA,E,u8BCxGS,iBACb,IAEIqyI,EAFAjjK,EAAI,SAAArN,GAAC,OAAIA,EAAE,IACX8F,EAAI,SAAA9F,GAAC,OAAIA,EAAE,IAGf,SAAS8xK,EAAYzvK,GACnB,IAAIlB,EAAI,EACJwtK,EAAI,EACJE,EAAI,EACJ2B,EAAK,EACLK,EAAK,EACLnB,EAAOY,GAAUA,EAAO,GAAK16J,IAC7B+5J,EAAOW,GAAUA,EAAO,IAAM16J,IAElCo5J,EAAY3sK,EAAMgL,EAAGvH,GAAG,SAAC0qC,EAAIC,GAC3B,IAAMshI,EAAKv/J,KAAK+lB,IAAIiY,KAClBrvC,EACFwtK,IAAMoD,EAAKpD,GAAKxtK,EAChB0tK,IAAMp+H,EAAKo+H,GAAK1tK,EAChBqvK,IAAOuB,EAAKthI,EAAK+/H,GAAMrvK,EACvB0vK,IAAOkB,EAAKA,EAAKlB,GAAM1vK,EAElBmvK,IACC9/H,EAAKk/H,IAAMA,EAAOl/H,GAClBA,EAAKm/H,IAAMA,EAAOn/H,OAnBF,QAuBGw/H,EAAIrB,EAAGE,EAAG2B,EAAIK,GAvBjB,GAuBjBC,EAvBiB,KAuBNT,EAvBM,KAwBpBjgF,EAAK,SAAA/iF,GAAC,OAAIgjK,EAAQ79J,KAAK+lB,IAAIlrB,GAAKyjK,GAChC19J,EAAMq8J,EAAUC,EAAMC,EAAMv/E,GAOhC,OALAh9E,EAAI5L,EAAI6oK,EACRj9J,EAAIrQ,EAAI+tK,EACR19J,EAAIg8J,QAAUh/E,EACdh9E,EAAI2xJ,SAAWmK,EAAc7sK,EAAMgL,EAAGvH,EAAG+oK,EAAGz+E,GAErCh9E,EAeT,OAZA0+J,EAAYxB,OAAS,SAAS3uK,GAC5B,OAAO8B,UAAUxB,QAAUquK,EAAS3uK,EAAKmwK,GAAexB,GAG1DwB,EAAYzkK,EAAI,SAAS+iF,GACvB,OAAO3sF,UAAUxB,QAAUoL,EAAI+iF,EAAI0hF,GAAezkK,GAGpDykK,EAAYhsK,EAAI,SAASsqF,GACvB,OAAO3sF,UAAUxB,QAAU6D,EAAIsqF,EAAI0hF,GAAehsK,GAG7CgsK,G,u8BCrDM,iBACb,IAEIxB,EAFAjjK,EAAI,SAAArN,GAAC,OAAIA,EAAE,IACX8F,EAAI,SAAA9F,GAAC,OAAIA,EAAE,IAGf,SAASgyK,EAAU3vK,GAAK,IASlB3C,EAAG8wC,EAAIC,EAAIqkC,EATO,IACGt3C,EAAOn7B,EAAMgL,EAAGvH,GADnB,GACf2oK,EADe,KACXC,EADW,KACPI,EADO,KACHC,EADG,KAEhB5tK,EAAIstK,EAAGxsK,OAET4uK,EAAK,EACLoB,EAAK,EACLC,EAAK,EACL1B,EAAK,EACLE,EAAM,EAGV,IAAKhxK,EAAI,EAAGA,EAAIyB,GACdqvC,EAAKi+H,EAAG/uK,GACR+wC,EAAKi+H,EAAGhvK,KAERmxK,KADA/7F,EAAKtkC,EAAKA,GACEqgI,GAAMnxK,EAClBuyK,IAAOn9F,EAAKtkC,EAAKyhI,GAAMvyK,EACvBwyK,IAAOp9F,EAAKA,EAAKo9F,GAAMxyK,EACvB8wK,IAAOhgI,EAAKC,EAAK+/H,GAAM9wK,EACvBgxK,IAAQ57F,EAAKrkC,EAAKigI,GAAOhxK,EAG3B,IAAImvK,EAAI,EACJsD,EAAK,EACLzC,EAAOY,GAAUA,EAAO,GAAK16J,IAC7B+5J,EAAOW,GAAUA,EAAO,IAAM16J,IAElCo5J,EAAY3sK,EAAMgL,EAAGvH,GAAG,SAAC0qC,EAAIC,GAC3B0hI,IACAtD,IAAMp+H,EAAKo+H,GAAKsD,EACX7B,IACC9/H,EAAKk/H,IAAMA,EAAOl/H,GAClBA,EAAKm/H,IAAMA,EAAOn/H,OAI1B,IAAM4hI,EAAOF,EAAMrB,EAAKA,EAClB7wK,EAAK6wK,EAAKuB,EAAOH,EAAKA,EACtBzqK,GAAKkpK,EAAMG,EAAKL,EAAKyB,GAAMjyK,EAC3B+C,GAAKytK,EAAK4B,EAAO1B,EAAMuB,GAAMjyK,EAC7BD,GAAKyH,EAAIqpK,EACTzgF,EAAK,SAAA/iF,GAEH,OAAO7F,GADP6F,GAAQyhK,GACOzhK,EAAItK,EAAIsK,EAAItN,EAAIgvK,GAGjC37J,EAAMq8J,EAAUC,EAAMC,EAAMv/E,GAQlC,OANAh9E,EAAI5L,EAAIA,EACR4L,EAAIrQ,EAAIA,EAAI,EAAIyE,EAAIsnK,EACpB17J,EAAIrT,EAAIA,EAAIgD,EAAI+rK,EAAKtnK,EAAIsnK,EAAKA,EAAKC,EACnC37J,EAAIg8J,QAAUh/E,EACdh9E,EAAI2xJ,SAAWmK,EAAc7sK,EAAMgL,EAAGvH,EAAG+oK,EAAGz+E,GAErCh9E,EAeT,OAZA4+J,EAAU1B,OAAS,SAAS3uK,GAC1B,OAAO8B,UAAUxB,QAAUquK,EAAS3uK,EAAKqwK,GAAa1B,GAGxD0B,EAAU3kK,EAAI,SAAS+iF,GACrB,OAAO3sF,UAAUxB,QAAUoL,EAAI+iF,EAAI4hF,GAAa3kK,GAGlD2kK,EAAUlsK,EAAI,SAASsqF,GACrB,OAAO3sF,UAAUxB,QAAU6D,EAAIsqF,EAAI4hF,GAAalsK,GAG3CksK,G,u8BClEM,iBACb,IAGI1B,EAHAjjK,EAAI,SAAArN,GAAC,OAAIA,EAAE,IACX8F,EAAI,SAAA9F,GAAC,OAAIA,EAAE,IACXuiH,EAAQ,EAGZ,SAAS8vD,EAAWhwK,GAElB,GAAc,IAAVkgH,EAAa,CACf,IAAMpiH,EAAIgjB,IAAS9V,EAAEA,GAAGvH,EAAEA,GAAGwqK,OAAOA,EAA1BntJ,CAAkC9gB,GAG5C,OAFAlC,EAAEmyK,aAAe,CAACnyK,EAAE4C,EAAG5C,EAAEqH,UAClBrH,EAAEqH,SAAUrH,EAAE4C,EACd5C,EAET,GAAc,IAAVoiH,EAAa,CACf,IAAMpiH,EAAI8jK,IAAO52J,EAAEA,GAAGvH,EAAEA,GAAGwqK,OAAOA,EAAxBrM,CAAgC5hK,GAG1C,OAFAlC,EAAEmyK,aAAe,CAACnyK,EAAEJ,EAAGI,EAAE4C,EAAG5C,EAAEqH,UACvBrH,EAAEqH,SAAUrH,EAAE4C,SAAU5C,EAAEJ,EAC1BI,EAZe,IAkCpBT,EAAG+H,EAAG9H,EAAG4G,EAAGxG,EAlCQ,IAeCy9B,EAAOn7B,EAAMgL,EAAGvH,GAfjB,GAejB2oK,EAfiB,KAebC,EAfa,KAeTI,EAfS,KAeLC,EAfK,KAgBpB5tK,EAAIstK,EAAGxsK,OACPswK,EAAM,GACNC,EAAM,GACNhwK,EAAI+/G,EAAQ,EAEZssD,EAAI,EAAGsD,EAAK,EACZzC,EAAOY,GAAUA,EAAO,GAAK16J,IAC7B+5J,EAAOW,GAAUA,EAAO,IAAM16J,IAalC,IAXAo5J,EAAY3sK,EAAMgL,EAAGvH,GAAG,SAAC0qC,EAAIC,KACzB0hI,EACFtD,IAAMp+H,EAAKo+H,GAAKsD,EACX7B,IACC9/H,EAAKk/H,IAAMA,EAAOl/H,GAClBA,EAAKm/H,IAAMA,EAAOn/H,OAMrB9wC,EAAI,EAAGA,EAAI8C,IAAK9C,EAAG,CACtB,IAAKC,EAAI,EAAG4G,EAAI,EAAG5G,EAAIwB,IAAKxB,EAC1B4G,GAAKiM,KAAKyQ,IAAIwrJ,EAAG9uK,GAAID,GAAKgvK,EAAG/uK,GAK/B,IAHA4yK,EAAI5rK,KAAKJ,GAETxG,EAAI,IAAI6uK,aAAapsK,GAChBiF,EAAE,EAAGA,EAAEjF,IAAKiF,EAAG,CAClB,IAAK9H,EAAE,EAAG4G,EAAE,EAAG5G,EAAEwB,IAAKxB,EACpB4G,GAAKiM,KAAKyQ,IAAIwrJ,EAAG9uK,GAAID,EAAI+H,GAE3B1H,EAAE0H,GAAKlB,EAETisK,EAAI7rK,KAAK5G,GAEXyyK,EAAI7rK,KAAK4rK,GAET,IAAME,EA6DV,SAA6B74I,GAC3B,IAGIl6B,EAAG+H,EAAGjF,EAAGhC,EAAGI,EAHVO,EAAIy4B,EAAO33B,OAAS,EACpBwwK,EAAO,GAIb,IAAK/yK,EAAI,EAAGA,EAAIyB,IAAKzB,EAAG,CAEtB,IADAc,EAAId,EACC+H,EAAI/H,EAAI,EAAG+H,EAAItG,IAAKsG,EACnB+K,KAAKsmB,IAAIc,EAAOl6B,GAAG+H,IAAM+K,KAAKsmB,IAAIc,EAAOl6B,GAAGc,MAC9CA,EAAIiH,GAIR,IAAKjF,EAAI9C,EAAG8C,EAAIrB,EAAI,IAAKqB,EACvB5B,EAAIg5B,EAAOp3B,GAAG9C,GACdk6B,EAAOp3B,GAAG9C,GAAKk6B,EAAOp3B,GAAGhC,GACzBo5B,EAAOp3B,GAAGhC,GAAKI,EAGjB,IAAK6G,EAAI/H,EAAI,EAAG+H,EAAItG,IAAKsG,EACvB,IAAKjF,EAAIrB,EAAGqB,GAAK9C,EAAG8C,IAClBo3B,EAAOp3B,GAAGiF,IAAOmyB,EAAOp3B,GAAG9C,GAAKk6B,EAAOl6B,GAAG+H,GAAMmyB,EAAOl6B,GAAGA,GAKhE,IAAK+H,EAAItG,EAAI,EAAGsG,GAAK,IAAKA,EAAG,CAE3B,IADA7G,EAAI,EACC4B,EAAIiF,EAAI,EAAGjF,EAAIrB,IAAKqB,EACvB5B,GAAKg5B,EAAOp3B,GAAGiF,GAAKgrK,EAAKjwK,GAE3BiwK,EAAKhrK,IAAMmyB,EAAOz4B,GAAGsG,GAAK7G,GAAKg5B,EAAOnyB,GAAGA,GAG3C,OAAOgrK,EAhGQC,CAAoBF,GAC3BpiF,EAAK,SAAA/iF,GACHA,GAAKyhK,EACL,IAAIhpK,EAAIipK,EAAK0D,EAAK,GAAKA,EAAK,GAAKplK,EAAIolK,EAAK,GAAKplK,EAAIA,EACnD,IAAK3N,EAAI,EAAGA,EAAI8C,IAAK9C,EAAGoG,GAAK2sK,EAAK/yK,GAAK8S,KAAKyQ,IAAI5V,EAAG3N,GACnD,OAAOoG,GAETsN,EAAMq8J,EAAUC,EAAMC,EAAMv/E,GAMlC,OAJAh9E,EAAIk/J,aA0BR,SAAkB9vK,EAAGgF,EAAG6F,EAAGvH,GACzB,IACIpG,EAAG+H,EAAGlB,EAAGxG,EADP+6B,EAAI53B,MAAMV,GAIhB,IAAK9C,EAAI,EAAGA,EAAI8C,IAAK9C,EAAGo7B,EAAEp7B,GAAK,EAG/B,IAAKA,EAAI8C,EAAI,EAAG9C,GAAK,IAAKA,EAIxB,IAHA6G,EAAIiB,EAAE9H,GACNK,EAAI,EACJ+6B,EAAEp7B,IAAM6G,EACHkB,EAAI,EAAGA,GAAK/H,IAAK+H,EACpB1H,IAAML,EAAI,EAAI+H,GAAKA,EACnBqzB,EAAEp7B,EAAE+H,IAAMlB,EAAIiM,KAAKyQ,IAAI5V,EAAG5F,GAAK1H,EAOnC,OAFA+6B,EAAE,IAAMh1B,EAEDg1B,EA/Cc63I,CAASnwK,EAAGiwK,GAAO3D,EAAIC,GAC1C37J,EAAIg8J,QAAUh/E,EACdh9E,EAAI2xJ,SAAWmK,EAAc7sK,EAAMgL,EAAGvH,EAAG+oK,EAAGz+E,GAErCh9E,EAmBT,OAhBAi/J,EAAW/B,OAAS,SAAS3uK,GAC3B,OAAO8B,UAAUxB,QAAUquK,EAAS3uK,EAAK0wK,GAAc/B,GAGzD+B,EAAWhlK,EAAI,SAAS+iF,GACtB,OAAO3sF,UAAUxB,QAAUoL,EAAI+iF,EAAIiiF,GAAchlK,GAGnDglK,EAAWvsK,EAAI,SAASsqF,GACtB,OAAO3sF,UAAUxB,QAAU6D,EAAIsqF,EAAIiiF,GAAcvsK,GAGnDusK,EAAW9vD,MAAQ,SAASphH,GAC1B,OAAOsC,UAAUxB,QAAUsgH,EAAQphH,EAAGkxK,GAAc9vD,GAG/C8vD,G,u8BClGM,iBACb,IAEI/B,EAFAjjK,EAAI,SAAArN,GAAC,OAAIA,EAAE,IACX8F,EAAI,SAAA9F,GAAC,OAAIA,EAAE,IAGf,SAAS4yK,EAAMvwK,GACb,IAAIlB,EAAI,EACJwtK,EAAI,EACJE,EAAI,EACJ2B,EAAK,EACLK,EAAK,EACLgC,EAAK,EACLnD,EAAOY,GAAUA,EAAO,GAAK16J,IAC7B+5J,EAAOW,GAAUA,EAAO,IAAM16J,IAElCo5J,EAAY3sK,EAAMgL,EAAGvH,GAAG,SAAC0qC,EAAIC,GAC3B,IAAMshI,EAAKv/J,KAAK+lB,IAAIiY,GACdmgI,EAAKn+J,KAAK+lB,IAAIkY,KAClBtvC,EACFwtK,IAAMoD,EAAKpD,GAAKxtK,EAChB0tK,IAAM8B,EAAK9B,GAAK1tK,EAChBqvK,IAAOuB,EAAKpB,EAAKH,GAAMrvK,EACvB0vK,IAAOkB,EAAKA,EAAKlB,GAAM1vK,EACvB0xK,IAAOpiI,EAAKoiI,GAAM1xK,EAEbmvK,IACC9/H,EAAKk/H,IAAMA,EAAOl/H,GAClBA,EAAKm/H,IAAMA,EAAOn/H,OAtBR,QA0BLw/H,EAAIrB,EAAGE,EAAG2B,EAAIK,GA1BT,GA0BbrpK,EA1Ba,KA0BVzE,EA1BU,KA2BlByE,EAAIgL,KAAKooF,IAAIpzF,GACb,IAAM4oF,EAAK,SAAA/iF,GAAC,OAAI7F,EAAIgL,KAAKyQ,IAAI5V,EAAGtK,IAC5BqQ,EAAMq8J,EAAUC,EAAMC,EAAMv/E,GAOhC,OALAh9E,EAAI5L,EAAIA,EACR4L,EAAIrQ,EAAIA,EACRqQ,EAAIg8J,QAAUh/E,EACdh9E,EAAI2xJ,SAAWmK,EAAc7sK,EAAMgL,EAAGvH,EAAG+sK,EAAIziF,GAEtCh9E,EAeT,OAZAw/J,EAAMtC,OAAS,SAAS3uK,GACtB,OAAO8B,UAAUxB,QAAUquK,EAAS3uK,EAAKixK,GAAStC,GAGpDsC,EAAMvlK,EAAI,SAAS+iF,GACjB,OAAO3sF,UAAUxB,QAAUoL,EAAI+iF,EAAIwiF,GAASvlK,GAG9CulK,EAAM9sK,EAAI,SAASsqF,GACjB,OAAO3sF,UAAUxB,QAAU6D,EAAIsqF,EAAIwiF,GAAS9sK,GAGvC8sK,I,gICrCT,aAKI,SAAF,EAAY,GAJO,WAAQ,UAKzB,KAAK,GAAK,EAwCd,OAjCSE,EAAA,aAAP,SAAU,GAGR,OAFQ,QAGN,IAAK,aACH,KAAK,aAAa,GAClB,MACF,IAAK,YACH,KAAK,YAAY,GACjB,MACF,IAAK,WACH,KAAK,WAAW,GAChB,MACF,IAAK,cACH,KAAK,cAAc,GACnB,MACF,QACE,SAQI,iBAAV,SAAe,GACb,KAAK,GAAG,KAAK,KAAK,MAAO,IAO7B,EA9CA,GClBA,cAAE,SAAF,IAAI,IAAJ,0C,OACY,QAAgB,M,EA2B5B,OA5ByB,yBAMb,0BAAV,SAAwB3qJ,KAEd,uBAAV,SAAqB,KAEX,wBAAV,SAAsB,GACZ,UAAG,MAEL,EAAS,EAAI,KAAK,KAClB,EAAS,EAAI,KAAK,KAEpB9kB,KAAC,KAAO,EACZ,KAAK,KAAO,EAEZ,KAAK,KAAK,CAAE,EAAC,EAAE,EAAC,EAAE,OAAM,EAAE,OAAM,EAAE,MAAO,KAGjC,yBAAV,SAAuB,GACb,UAAG,MAEX,KAAK,KAAO,EACZ,KAAK,KAAO,GAEhB,EA5BA,CAAyB,G,qOCLlB,IAAM,EAA+B,YAAvB,oBAAO,YAAP,cAAO,eAA4B,YAAY,IAAM,YAAc,KCUxF,cAAE,SAAF,IAAI,IAAJ,0C,OACY,QAAgB,Q,EAwC5B,OAzC2B,yBAQf,0BAAV,SAAwB8kB,GAClB,KAAC,gBAGG,uBAAV,SAAqB,GACnB,KAAK,gBAGG,wBAAV,SAAsB,GACZ,UAAG,OAEP,EAAI,KAAK,YArBA,IAqB0B,EAAI,KAAK,YArBnC,KAsBX,KAAK,gBAIC,yBAAV,SAAuB,GAAvB,WACM,KAAC,eAEG,UAAG,MAEX,KAAK,eAAiB,EAAM,MAC5B,KAAK,YAAc,EACnB,KAAK,YAAc,EAEnB,KAAK,aAAe,OAAO,YAAW,WACpC,EAAK,KAAK,CAAE,EAAC,EAAE,EAAC,EAAE,MAAO,MArClB,MAyCH,yBAAR,WACE,OAAO,aAAa,KAAK,eAE7B,EAzCA,CAA2B,GCD3B,cAAE,SAAF,IAAI,IAAJ,0C,OACY,QAAgB,QAGlB,iBAAyB,EAGzB,KAAa,EAEb,SAAiB,EACjB,SAAiB,EAEjB,OAAe,EACf,OAAe,E,EA0CzB,OAvD2B,yBAef,0BAAV,SAAwB,KAEd,uBAAV,SAAqB,GACf,IAAE,EAAS,KAAK,OACd,EAAS,KAAK,OAEpB,GAAI,EAAM,MAAQ,KAAK,eAvBJ,IAuBqC,CAC9C,UAAG,MAGX,KAAK,KAAK,CAAE,EAAC,EAAE,EAAC,EAAE,OAAM,EAAE,OAAM,EAAE,MAAO,MAInC,wBAAV,SAAsB,GACZ,UAAG,MAEL,EAAK,EAAM,MAEX,EAAS,EAAI,KAAK,KAClB,EAAS,EAAI,KAAK,KAClB,EAAY,EAAK,KAAK,GAGxB9kB,KAAC,OAAS,EAAS,EACnBA,KAAC,OAAS,EAAS,EAGvB,KAAK,eAAiB,GAGd,yBAAV,SAAuB,GACb,UAAG,MAGX,KAAK,OAAS,KAAK,OAAS,EAC5B,KAAK,KAAO,EACZ,KAAK,KAAO,EACZ,KAAK,GAAK,EAAM,OAEpB,EAvDA,CAA2B,GCJrB,EAAM,CACR,IAAC,EACD,MAAG,EACH,MAAK,EACP,ICCF,YAAE,SAAF,IAAI,IAAJ,0C,OACY,QAAgB,M,EA6B5B,OA9ByB,yBAOb,0BAAV,SAAwB,KAEd,uBAAV,SAAqB,GACX,UAAG,MAGT,EAAI,KAAK,YAfE,GAgBX,EAAI,KAAK,YAhBE,GAiBX,EAAM,MAAQ,KAAK,eAnBZ,KAqBP,KAAK,KAAK,CAAE,EAAC,EAAE,EAAC,EAAE,MAAO,KAInB,wBAAV,SAAsB,KAEZ,yBAAV,SAAuB,GACb,UAAG,MAEX,KAAK,eAAiB,EAAM,MAC5B,KAAK,YAAc,EACnB,KAAK,YAAc,GAEvB,EA9BA,CAAyB,ICAzB,cAYI,SAAF,EAAY,EAAmB,sBAA3B,IAAJ,EACE,cAAO,K,OAoDD,eAAe,SAAC,GACtB,EAAK,aAAa,GAEZ,EAAD,QAAQ,GAAG,YAAa,EAAK,aAC5B,EAAD,QAAQ,GAAG,WAAY,EAAK,YACjC,EAAK,QAAQ,GAAG,cAAe,EAAK,eAEpC,EAAK,KAAK,YAAa,GACvB,EAAK,WAAW,IAOV,cAAc,SAAC,GACrB,EAAK,aAAa,GAElB,EAAK,KAAK,YAAa,GACvB,EAAK,WAAW,IAOV,aAAa,SAAC,GACpB,EAAK,aAAa,GAElB,EAAK,KAAK,WAAY,GAEtB,EAAK,QAAQ,IAAI,YAAa,EAAK,aACnC,EAAK,QAAQ,IAAI,WAAY,EAAK,YAClC,EAAK,QAAQ,IAAI,cAAe,EAAK,eAErC,EAAK,WAAW,IAOV,gBAAgB,SAAC,GACvB,EAAK,aAAa,GAElB,EAAK,KAAK,cAAe,GAEzB,EAAK,QAAQ,IAAI,YAAa,EAAK,aACnC,EAAK,QAAQ,IAAI,WAAY,EAAK,YAClC,EAAK,QAAQ,IAAI,cAAe,EAAK,eAErC,EAAK,WAAW,IAtGZ,EAAC,QAAU,EACX,EAAC,QAAU,EAEX,EAAC,kBAEDmjB,EAAC,iB,EAyGT,OA5HwB,yBAyBf,oBAAP,WACM,KAAC,QAAQ,IAAI,aAAc,KAAK,cAEhC,KAAC,OAMG,EAAF,0BAAR,WAAI,IAAJ,OACQ,EAAW,KAAK,QAAQ,UAAY,CAAC,MAAO,QAAS,QAAS,OAEhE,KAAC,SAAW,EAAS,KACvB,SAAC,GAEC,OAAO,IAAI,EFtCmC,EEqCtB,IACR,OAQd,2BAAR,WACM,KAAC,QAAQ,GAAG,aAAc,KAAK,eAG7B,yBAAR,SAAqB,GACX,cACS,KAAK,QAAQ,UAAY,IAE7B,SAAS,IACpB,EAAG,kBA8DC,uBAAR,SAAmB,GACjB,KAAK,SAAS,SAAQ,SAAC,GACrB,EAAC,GAAI,OAGX,EA5HA,CAAwB,WCFlB,E,MAAO,EAcb,cAYI,SAAF,EAAY,GAAR,IAAJ,EACE,cAAO,K,OAND,QAAgB,EA2BhB,QAAQ,SAAC,GACP,eAAQ,WAEV,EAAI,EAAK,gBAAgB,EAAI,EAAQ,GAErC,EAAD,KA/CK,QA+CO,IAOP,EAAJ,QAAU,SAAC,GACT,eAAQ,WAEV,EAAD,MAAQ,EAAM,MACb,EAAD,GAAK,EAAK,MAGA,IAAX,GAA2B,IAAX,GAClB,EAAK,WAAW,IAxCd,EAAC,QAAU,EAEX,EAAC,GAAK,IAAI,EAAG,EAAS,CAAE,SAAU,CAAC,MAAO,WAE1C,EAAC,GAAG,GA5BE,QA4BQ,EAAK,SACnB,EAAC,GAAG,GA5BA,MA4BQ,EAAK,O,EAuEzB,OA1F2B,yBAsBlB,oBAAP,WACM,OAAG,qBAAqB,KAAK,KAE7B,KAAC,GAAG,UAER,KAAK,OAgCC,uBAAR,SAAmB,GAAnB,WACU,WAAQ,WAEhB,KAAK,IAAM,OAAO,uBAAsB,WACtC,IAAM,EAAM,EAAM,MAEd,GAAS,EAAM,EAAK,IA7Eb,IA8EX,GAAI,EAAQ,EAAG,CACb,EAAQ,EAAK,EAAI,GAEjB,IAAM,EAAI,EAAM,EAAK,MACf,EAAS,EAAS,EAAQ,EAC1B,EAAS,EAAS,EAAQ,EAE1B,EAAI,EAAK,gBAAgB,EAAI,EAAQ,GAG3C,EAAK,KApFC,QAoFW,GAEjB,EAAK,MAAQ,EAGb,EAAK,WAAW,QAKd,4BAAR,SAAwB,EAAI,EAAgB,GAE1C,gDAAY,GAAE,CAAE,QAAS,EAAQ,QAAS,KAE9C,EA1FA,CAA2B","file":"g2plot.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"G2Plot\"] = factory();\n\telse\n\t\troot[\"G2Plot\"] = factory();\n})(window, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 192);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isArrayLike = function (value) {\n /**\n * isArrayLike([1, 2, 3]) => true\n * isArrayLike(document.body.children) => true\n * isArrayLike('abc') => true\n * isArrayLike(Function) => false\n */\n return value !== null && typeof value !== 'function' && isFinite(value.length);\n};\nexports.default = isArrayLike;\n//# sourceMappingURL=is-array-like.js.map","import isArrayLike from './is-array-like';\nvar contains = function (arr, value) {\n if (!isArrayLike(arr)) {\n return false;\n }\n return arr.indexOf(value) > -1;\n};\nexport default contains;\n//# sourceMappingURL=contains.js.map","import isArrayLike from './is-array-like';\nvar filter = function (arr, func) {\n if (!isArrayLike(arr)) {\n return arr;\n }\n var result = [];\n for (var index = 0; index < arr.length; index++) {\n var value = arr[index];\n if (func(value, index)) {\n result.push(value);\n }\n }\n return result;\n};\nexport default filter;\n//# sourceMappingURL=filter.js.map","import filter from './filter';\nimport contains from './contains';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to inspect.\n * @param {Array} values The values to exclude.\n * @return {Array} Returns the new array of filtered values.\n * @example\n * difference([2, 1], [2, 3]); // => [1]\n */\nvar difference = function (arr, values) {\n if (values === void 0) { values = []; }\n return filter(arr, function (value) { return !contains(values, value); });\n};\nexport default difference;\n//# sourceMappingURL=difference.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar toString = {}.toString;\nvar isType = function (value, type) { return toString.call(value) === '[object ' + type + ']'; };\nexports.default = isType;\n//# sourceMappingURL=is-type.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * 是否为函数\n * @param {*} fn 对象\n * @return {Boolean} 是否函数\n */\nvar is_type_1 = require(\"./is-type\");\nexports.default = (function (value) {\n return is_type_1.default(value, 'Function');\n});\n//# sourceMappingURL=is-function.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// isFinite,\nvar isNil = function (value) {\n /**\n * isNil(null) => true\n * isNil() => true\n */\n return value === null || value === undefined;\n};\nexports.default = isNil;\n//# sourceMappingURL=is-nil.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar is_type_1 = require(\"./is-type\");\nexports.default = (function (value) {\n return Array.isArray ?\n Array.isArray(value) :\n is_type_1.default(value, 'Array');\n});\n//# sourceMappingURL=is-array.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = (function (value) {\n /**\n * isObject({}) => true\n * isObject([1, 2, 3]) => true\n * isObject(Function) => true\n * isObject(null) => false\n */\n var type = typeof value;\n return value !== null && type === 'object' || type === 'function';\n});\n//# sourceMappingURL=is-object.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar is_array_1 = require(\"./is-array\");\nvar is_object_1 = require(\"./is-object\");\nfunction each(elements, func) {\n if (!elements) {\n return;\n }\n var rst;\n if (is_array_1.default(elements)) {\n for (var i = 0, len = elements.length; i < len; i++) {\n rst = func(elements[i], i);\n if (rst === false) {\n break;\n }\n }\n }\n else if (is_object_1.default(elements)) {\n for (var k in elements) {\n if (elements.hasOwnProperty(k)) {\n rst = func(elements[k], k);\n if (rst === false) {\n break;\n }\n }\n }\n }\n}\nexports.default = each;\n//# sourceMappingURL=each.js.map","import each from './each';\nimport isFunction from './is-function';\nvar keys = Object.keys ? function (obj) { return Object.keys(obj); } : function (obj) {\n var result = [];\n each(obj, function (value, key) {\n if (!(isFunction(obj) && key === 'prototype')) {\n result.push(key);\n }\n });\n return result;\n};\nexport default keys;\n//# sourceMappingURL=keys.js.map","import isNil from './is-nil';\nimport keys from './keys';\nfunction isMatch(obj, attrs) {\n var _keys = keys(attrs);\n var length = _keys.length;\n if (isNil(obj))\n return !length;\n for (var i = 0; i < length; i += 1) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) {\n return false;\n }\n }\n return true;\n}\nexport default isMatch;\n//# sourceMappingURL=is-match.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isObjectLike = function (value) {\n /**\n * isObjectLike({}) => true\n * isObjectLike([1, 2, 3]) => true\n * isObjectLike(Function) => false\n * isObjectLike(null) => false\n */\n return typeof value === 'object' && value !== null;\n};\nexports.default = isObjectLike;\n//# sourceMappingURL=is-object-like.js.map","import isObjectLike from './is-object-like';\nimport isType from './is-type';\nvar isPlainObject = function (value) {\n /**\n * isObjectLike(new Foo) => false\n * isObjectLike([1, 2, 3]) => false\n * isObjectLike({ x: 0, y: 0 }) => true\n * isObjectLike(Object.create(null)) => true\n */\n if (!isObjectLike(value) || !isType(value, 'Object')) {\n return false;\n }\n if (Object.getPrototypeOf(value) === null) {\n return true;\n }\n var proto = value;\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n return Object.getPrototypeOf(value) === proto;\n};\nexport default isPlainObject;\n//# sourceMappingURL=is-plain-object.js.map","import isFunction from './is-function';\nimport isMatch from './is-match';\nimport isArray from './is-array';\nimport isPlainObject from './is-plain-object';\nfunction find(arr, predicate) {\n if (!isArray(arr))\n return null;\n var _predicate;\n if (isFunction(predicate)) {\n _predicate = predicate;\n }\n if (isPlainObject(predicate)) {\n _predicate = function (a) { return isMatch(a, predicate); };\n }\n if (_predicate) {\n for (var i = 0; i < arr.length; i += 1) {\n if (_predicate(arr[i])) {\n return arr[i];\n }\n }\n }\n return null;\n}\nexport default find;\n//# sourceMappingURL=find.js.map","function findIndex(arr, predicate, fromIndex) {\n if (fromIndex === void 0) { fromIndex = 0; }\n for (var i = fromIndex; i < arr.length; i++) {\n if (predicate(arr[i], i)) {\n // 找到终止循环\n return i;\n }\n }\n return -1;\n}\nexport default findIndex;\n//# sourceMappingURL=find-index.js.map","import isNil from './is-nil';\nimport isArray from './is-array';\nvar firstValue = function (data, name) {\n var rst = null;\n for (var i = 0; i < data.length; i++) {\n var obj = data[i];\n var value = obj[name];\n if (!isNil(value)) {\n if (isArray(value)) {\n rst = value[0]; // todo 这里是否应该使用递归,调用 firstValue @绝云\n }\n else {\n rst = value;\n }\n break;\n }\n }\n return rst;\n};\nexport default firstValue;\n//# sourceMappingURL=first-value.js.map","import isArray from './is-array';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to flatten.\n * @return {Array} Returns the new flattened array.\n * @example\n *\n * flatten([1, [2, [3, [4]], 5]]); // => [1, 2, [3, [4]], 5]\n */\nvar flatten = function (arr) {\n if (!isArray(arr)) {\n return [];\n }\n var rst = [];\n for (var i = 0; i < arr.length; i++) {\n rst = rst.concat(arr[i]);\n }\n return rst;\n};\nexport default flatten;\n//# sourceMappingURL=flatten.js.map","import isArray from './is-array';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to flatten.\n * @param {Array} result The array to return.\n * @return {Array} Returns the new flattened array.\n * @example\n *\n * flattenDeep([1, [2, [3, [4]], 5]]); // => [1, 2, 3, 4, 5]\n */\nvar flattenDeep = function (arr, result) {\n if (result === void 0) { result = []; }\n if (!isArray(arr)) {\n result.push(arr);\n }\n else {\n for (var i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], result);\n }\n }\n return result;\n};\nexport default flattenDeep;\n//# sourceMappingURL=flatten-deep.js.map","import isArray from './is-array';\nvar getRange = function (values) {\n // 存在 NaN 时,min,max 判定会出问题\n var filterValues = values.filter(function (v) { return !isNaN(v); });\n if (!filterValues.length) { // 如果没有数值则直接返回0\n return {\n min: 0,\n max: 0,\n };\n }\n if (isArray(values[0])) {\n var tmp = [];\n for (var i = 0; i < values.length; i++) {\n tmp = tmp.concat(values[i]);\n }\n filterValues = tmp;\n }\n var max = Math.max.apply(null, filterValues);\n var min = Math.min.apply(null, filterValues);\n return {\n min: min,\n max: max,\n };\n};\nexport default getRange;\n//# sourceMappingURL=get-range.js.map","var arrPrototype = Array.prototype;\nvar splice = arrPrototype.splice;\nvar indexOf = arrPrototype.indexOf;\nvar pull = function (arr) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n var fromIndex = -1;\n while ((fromIndex = indexOf.call(arr, value)) > -1) {\n splice.call(arr, fromIndex, 1);\n }\n }\n return arr;\n};\nexport default pull;\n//# sourceMappingURL=pull.js.map","import isArrayLike from './is-array-like';\nvar splice = Array.prototype.splice;\nvar pullAt = function pullAt(arr, indexes) {\n if (!isArrayLike(arr)) {\n return [];\n }\n var length = arr ? indexes.length : 0;\n var last = length - 1;\n while (length--) {\n var previous = void 0;\n var index = indexes[length];\n if (length === last || index !== previous) {\n previous = index;\n splice.call(arr, index, 1);\n }\n }\n return arr;\n};\nexport default pullAt;\n//# sourceMappingURL=pull-at.js.map","import each from './each';\nimport isArray from './is-array';\nimport isPlainObject from './is-plain-object';\nvar reduce = function (arr, fn, init) {\n if (!isArray(arr) && !isPlainObject(arr)) {\n return arr;\n }\n var result = init;\n each(arr, function (data, i) {\n result = fn(result, data, i);\n });\n return result;\n};\nexport default reduce;\n//# sourceMappingURL=reduce.js.map","import isArrayLike from './is-array-like';\nimport pullAt from './pull-at';\nvar remove = function (arr, predicate) {\n /**\n * const arr = [1, 2, 3, 4]\n * const evens = remove(arr, n => n % 2 == 0)\n * console.log(arr) // => [1, 3]\n * console.log(evens) // => [2, 4]\n */\n var result = [];\n if (!isArrayLike(arr)) {\n return result;\n }\n var i = -1;\n var indexes = [];\n var length = arr.length;\n while (++i < length) {\n var value = arr[i];\n if (predicate(value, i, arr)) {\n result.push(value);\n indexes.push(i);\n }\n }\n pullAt(arr, indexes);\n return result;\n};\nexport default remove;\n//# sourceMappingURL=remove.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar is_type_1 = require(\"./is-type\");\nexports.default = (function (str) {\n return is_type_1.default(str, 'String');\n});\n//# sourceMappingURL=is-string.js.map","import isArray from './is-array';\nimport isString from './is-string';\nimport isFunction from './is-function';\nfunction sortBy(arr, key) {\n var comparer;\n if (isFunction(key)) {\n comparer = function (a, b) { return key(a) - key(b); };\n }\n else {\n var keys_1 = [];\n if (isString(key)) {\n keys_1.push(key);\n }\n else if (isArray(key)) {\n keys_1 = key;\n }\n comparer = function (a, b) {\n for (var i = 0; i < keys_1.length; i += 1) {\n var prop = keys_1[i];\n if (a[prop] > b[prop]) {\n return 1;\n }\n if (a[prop] < b[prop]) {\n return -1;\n }\n }\n return 0;\n };\n }\n arr.sort(comparer);\n return arr;\n}\nexport default sortBy;\n//# sourceMappingURL=sort-by.js.map","import contains from './contains';\nimport each from './each';\nvar uniq = function (arr) {\n var resultArr = [];\n each(arr, function (item) {\n if (!contains(resultArr, item)) {\n resultArr.push(item);\n }\n });\n return resultArr;\n};\nexport default uniq;\n//# sourceMappingURL=uniq.js.map","import uniq from './uniq';\nvar union = function () {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n return uniq([].concat.apply([], sources));\n};\nexport default union;\n//# sourceMappingURL=union.js.map","import isArray from './is-array';\nimport isNil from './is-nil';\nexport default (function (data, name) {\n var rst = [];\n var tmpMap = {};\n for (var i = 0; i < data.length; i++) {\n var obj = data[i];\n var value = obj[name];\n if (!isNil(value)) {\n // flatten\n if (!isArray(value)) {\n value = [value];\n }\n for (var j = 0; j < value.length; j++) {\n var val = value[j];\n // unique\n if (!tmpMap[val]) {\n rst.push(val);\n tmpMap[val] = true;\n }\n }\n }\n }\n return rst;\n});\n//# sourceMappingURL=values-of-key.js.map","import isArrayLike from './is-array-like';\nexport default function head(o) {\n if (isArrayLike(o)) {\n return o[0];\n }\n return undefined;\n}\n//# sourceMappingURL=head.js.map","import isArrayLike from './is-array-like';\nexport default function last(o) {\n if (isArrayLike(o)) {\n var arr = o;\n return arr[arr.length - 1];\n }\n return undefined;\n}\n//# sourceMappingURL=last.js.map","import isArray from './is-array';\nimport isString from './is-string';\nfunction startsWith(arr, e) {\n return (isArray(arr) || isString(arr)) ? arr[0] === e : false;\n}\nexport default startsWith;\n//# sourceMappingURL=starts-with.js.map","import isArray from './is-array';\nimport isString from './is-string';\nfunction endsWith(arr, e) {\n return (isArray(arr) || isString(arr)) ? arr[arr.length - 1] === e : false;\n}\nexport default endsWith;\n//# sourceMappingURL=ends-with.js.map","/**\n * 只要有一个不满足条件就返回 false\n * @param arr\n * @param func\n */\nvar every = function (arr, func) {\n for (var i = 0; i < arr.length; i++) {\n if (!func(arr[i], i))\n return false;\n }\n return true;\n};\nexport default every;\n//# sourceMappingURL=every.js.map","/**\n * 只要有一个满足条件就返回 true\n * @param arr\n * @param func\n */\nvar some = function (arr, func) {\n for (var i = 0; i < arr.length; i++) {\n if (func(arr[i], i))\n return true;\n }\n return false;\n};\nexport default some;\n//# sourceMappingURL=some.js.map","import isArray from './is-array';\nimport isFunction from './is-function';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction groupBy(data, condition) {\n if (!condition || !isArray(data)) {\n return {};\n }\n var result = {};\n // 兼容方法和 字符串的写法\n var predicate = isFunction(condition) ? condition : function (item) { return item[condition]; };\n var key;\n for (var i = 0; i < data.length; i++) {\n var item = data[i];\n key = predicate(item);\n if (hasOwnProperty.call(result, key)) {\n result[key].push(item);\n }\n else {\n result[key] = [item];\n }\n }\n return result;\n}\nexport default groupBy;\n//# sourceMappingURL=group-by.js.map","import isArray from './is-array';\nimport isFunction from './is-function';\nimport groupBy from './group-by';\nvar groupToMap = function (data, condition) {\n if (!condition) {\n return {\n 0: data,\n };\n }\n if (!isFunction(condition)) {\n var paramsCondition_1 = isArray(condition) ? condition : condition.replace(/\\s+/g, '').split('*');\n condition = function (row) {\n var unique = '_'; // 避免出现数字作为Key的情况,会进行按照数字的排序\n for (var i = 0, l = paramsCondition_1.length; i < l; i++) {\n unique += row[paramsCondition_1[i]] && row[paramsCondition_1[i]].toString();\n }\n return unique;\n };\n }\n var groups = groupBy(data, condition);\n return groups;\n};\nexport default groupToMap;\n//# sourceMappingURL=group-to-map.js.map","import { __extends } from \"tslib\";\nimport { AbstractGroup } from '@antv/g-base';\nimport { each } from '@antv/util';\nimport * as Shape from './shape';\nimport { drawChildren, refreshElement } from './util/draw';\nimport { setClip, setTransform } from './util/svg';\nimport { SVG_ATTR_MAP } from './constant';\nimport { createSVGElement } from './util/dom';\nvar Group = /** @class */ (function (_super) {\n __extends(Group, _super);\n function Group() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // SVG 中分组对应实体标签 \n Group.prototype.isEntityGroup = function () {\n return true;\n };\n Group.prototype.createDom = function () {\n var element = createSVGElement('g');\n this.set('el', element);\n var parent = this.getParent();\n if (parent) {\n var parentNode = parent.get('el');\n if (parentNode) {\n parentNode.appendChild(element);\n }\n else {\n // parentNode maybe null for group\n parentNode = parent.createDom();\n parent.set('el', parentNode);\n parentNode.appendChild(element);\n }\n }\n return element;\n };\n // 覆盖基类的 afterAttrsChange 方法\n Group.prototype.afterAttrsChange = function (targetAttrs) {\n _super.prototype.afterAttrsChange.call(this, targetAttrs);\n var canvas = this.get('canvas');\n // 只有挂载到画布下,才对元素进行实际渲染\n if (canvas && canvas.get('autoDraw')) {\n var context = canvas.get('context');\n this.createPath(context, targetAttrs);\n }\n };\n /**\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n Group.prototype.onCanvasChange = function (changeType) {\n refreshElement(this, changeType);\n };\n Group.prototype.getShapeBase = function () {\n return Shape;\n };\n Group.prototype.getGroupBase = function () {\n return Group;\n };\n Group.prototype.draw = function (context) {\n var children = this.getChildren();\n var el = this.get('el');\n if (this.get('destroyed')) {\n if (el) {\n el.parentNode.removeChild(el);\n }\n }\n else {\n if (!el) {\n this.createDom();\n }\n setClip(this, context);\n this.createPath(context);\n if (children.length) {\n drawChildren(context, children);\n }\n }\n };\n /**\n * 绘制分组的路径\n * @param {Defs} context 上下文\n * @param {ShapeAttrs} targetAttrs 渲染的目标属性\n */\n Group.prototype.createPath = function (context, targetAttrs) {\n var attrs = this.attr();\n var el = this.get('el');\n each(targetAttrs || attrs, function (value, attr) {\n if (SVG_ATTR_MAP[attr]) {\n el.setAttribute(SVG_ATTR_MAP[attr], value);\n }\n });\n setTransform(this);\n };\n return Group;\n}(AbstractGroup));\nexport default Group;\n//# sourceMappingURL=group.js.map","/**\n * 获取封装的事件\n * @protected\n * @param {Object} obj 对象\n * @param {String} action 事件名称\n * @return {Function} 返回事件处理函数\n */\nfunction getWrapBehavior(obj, action) {\n return obj['_wrap_' + action];\n}\nexport default getWrapBehavior;\n//# sourceMappingURL=get-wrap-behavior.js.map","/**\n * 封装事件,便于使用上下文this,和便于解除事件时使用\n * @protected\n * @param {Object} obj 对象\n * @param {String} action 事件名称\n * @return {Function} 返回事件处理函数\n */\nfunction wrapBehavior(obj, action) {\n if (obj['_wrap_' + action]) {\n return obj['_wrap_' + action];\n }\n var method = function (e) {\n obj[action](e);\n };\n obj['_wrap_' + action] = method;\n return method;\n}\nexport default wrapBehavior;\n//# sourceMappingURL=wrap-behavior.js.map","var numColorCache = {};\nfunction numberToColor(num) {\n // 增加缓存\n var color = numColorCache[num];\n if (!color) {\n var str = num.toString(16);\n for (var i = str.length; i < 6; i++) {\n str = '0' + str;\n }\n color = '#' + str;\n numColorCache[num] = color;\n }\n return color;\n}\nexport default numberToColor;\n//# sourceMappingURL=number2color.js.map","import isArray from './is-array';\nfunction parseRadius(radius) {\n var r1 = 0, r2 = 0, r3 = 0, r4 = 0;\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n }\n else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n }\n else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n }\n else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n }\n else {\n r1 = r2 = r3 = r4 = radius;\n }\n return {\n r1: r1,\n r2: r2,\n r3: r3,\n r4: r4\n };\n}\nexport default parseRadius;\n//# sourceMappingURL=parse-radius.js.map","var clamp = function (a, min, max) {\n if (a < min) {\n return min;\n }\n else if (a > max) {\n return max;\n }\n return a;\n};\nexport default clamp;\n//# sourceMappingURL=clamp.js.map","var fixedBase = function (v, base) {\n var str = base.toString();\n var index = str.indexOf('.');\n if (index === -1) {\n return Math.round(v);\n }\n var length = str.substr(index + 1).length;\n if (length > 20) {\n length = 20;\n }\n return parseFloat(v.toFixed(length));\n};\nexport default fixedBase;\n//# sourceMappingURL=fixed-base.js.map","/**\n * 判断是否数字\n * @return {Boolean} 是否数字\n */\nimport isType from './is-type';\nvar isNumber = function (value) {\n return isType(value, 'Number');\n};\nexport default isNumber;\n//# sourceMappingURL=is-number.js.map","import isNumber from './is-number';\nvar isDecimal = function (num) {\n return isNumber(num) && num % 1 !== 0;\n};\nexport default isDecimal;\n//# sourceMappingURL=is-decimal.js.map","import isNumber from './is-number';\nvar isEven = function (num) {\n return isNumber(num) && num % 2 === 0;\n};\nexport default isEven;\n//# sourceMappingURL=is-even.js.map","import isNumber from './is-number';\nvar isInteger = Number.isInteger ? Number.isInteger : function (num) {\n return isNumber(num) && num % 1 === 0;\n};\nexport default isInteger;\n//# sourceMappingURL=is-integer.js.map","import isNumber from './is-number';\nvar isNegative = function (num) {\n return isNumber(num) && num < 0;\n};\nexport default isNegative;\n//# sourceMappingURL=is-negative.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar PRECISION = 0.00001; // numbers less than this is considered as 0\nfunction isNumberEqual(a, b, precision) {\n if (precision === void 0) { precision = PRECISION; }\n return Math.abs((a - b)) < precision;\n}\nexports.default = isNumberEqual;\n;\n//# sourceMappingURL=is-number-equal.js.map","import isNumber from './is-number';\nvar isOdd = function (num) {\n return isNumber(num) && num % 2 !== 0;\n};\nexport default isOdd;\n//# sourceMappingURL=is-odd.js.map","import isNumber from './is-number';\nvar isPositive = function (num) {\n return isNumber(num) && num > 0;\n};\nexport default isPositive;\n//# sourceMappingURL=is-positive.js.map","import each from './each';\nimport isArray from './is-array';\nimport isFunction from './is-function';\n/**\n * @param {Array} arr The array to iterate over.\n * @param {Function} [fn] The iteratee invoked per element.\n * @return {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\nexport default (function (arr, fn) {\n if (!isArray(arr)) {\n return undefined;\n }\n var max = arr[0];\n var maxData;\n if (isFunction(fn)) {\n maxData = fn(arr[0]);\n }\n else {\n maxData = arr[0][fn];\n }\n var data;\n each(arr, function (val) {\n if (isFunction(fn)) {\n data = fn(val);\n }\n else {\n data = val[fn];\n }\n if (data > maxData) {\n max = val;\n maxData = data;\n }\n });\n return max;\n});\n//# sourceMappingURL=max-by.js.map","import each from './each';\nimport isArray from './is-array';\nimport isFunction from './is-function';\n/**\n * @param {Array} arr The array to iterate over.\n * @param {Function} [fn] The iteratee invoked per element.\n * @return {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * minBy(objects, 'n');\n * // => { 'n': 1 }\n */\nexport default (function (arr, fn) {\n if (!isArray(arr)) {\n return undefined;\n }\n var min = arr[0];\n var minData;\n if (isFunction(fn)) {\n minData = fn(arr[0]);\n }\n else {\n minData = arr[0][fn];\n }\n var data;\n each(arr, function (val) {\n if (isFunction(fn)) {\n data = fn(val);\n }\n else {\n data = val[fn];\n }\n if (data < minData) {\n min = val;\n minData = data;\n }\n });\n return min;\n});\n//# sourceMappingURL=min-by.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar mod = function (n, m) {\n return ((n % m) + m) % m;\n};\nexports.default = mod;\n//# sourceMappingURL=mod.js.map","var DEGREE = 180 / Math.PI;\nvar toDegree = function (radian) {\n return DEGREE * radian;\n};\nexport default toDegree;\n//# sourceMappingURL=to-degree.js.map","export default parseInt;\n//# sourceMappingURL=to-integer.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar RADIAN = Math.PI / 180;\nvar toRadian = function (degree) {\n return RADIAN * degree;\n};\nexports.default = toRadian;\n//# sourceMappingURL=to-radian.js.map","import each from './each';\nexport default each;\n//# sourceMappingURL=for-in.js.map","export default (function (obj, key) { return obj.hasOwnProperty(key); });\n//# sourceMappingURL=has.js.map","import has from './has';\nexport default has;\n//# sourceMappingURL=has-key.js.map","import each from './each';\nimport isFunction from './is-function';\n// @ts-ignore\nvar values = Object.values ? function (obj) { return Object.values(obj); } : function (obj) {\n var result = [];\n each(obj, function (value, key) {\n if (!(isFunction(obj) && key === 'prototype')) {\n result.push(value);\n }\n });\n return result;\n};\nexport default values;\n//# sourceMappingURL=values.js.map","import contains from './contains';\nimport values from './values';\nexport default (function (obj, value) { return contains(values(obj), value); });\n//# sourceMappingURL=has-value.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar is_nil_1 = require(\"./is-nil\");\nexports.default = (function (value) {\n if (is_nil_1.default(value))\n return '';\n return value.toString();\n});\n//# sourceMappingURL=to-string.js.map","import toString from './to-string';\nvar lowerCase = function (str) {\n return toString(str).toLowerCase();\n};\nexport default lowerCase;\n//# sourceMappingURL=lower-case.js.map","import toString from './to-string';\nvar lowerFirst = function (value) {\n var str = toString(value);\n return str.charAt(0).toLowerCase() + str.substring(1);\n};\nexport default lowerFirst;\n//# sourceMappingURL=lower-first.js.map","function substitute(str, o) {\n if (!str || !o) {\n return str;\n }\n return str.replace(/\\\\?\\{([^{}]+)\\}/g, function (match, name) {\n if (match.charAt(0) === '\\\\') {\n return match.slice(1);\n }\n return (o[name] === undefined) ? '' : o[name];\n });\n}\nexport default substitute;\n//# sourceMappingURL=substitute.js.map","import toString from './to-string';\nvar upperCase = function (str) {\n return toString(str).toUpperCase();\n};\nexport default upperCase;\n//# sourceMappingURL=upper-case.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar to_string_1 = require(\"./to-string\");\nvar upperFirst = function (value) {\n var str = to_string_1.default(value);\n return str.charAt(0).toUpperCase() + str.substring(1);\n};\nexports.default = upperFirst;\n//# sourceMappingURL=upper-first.js.map","var toString = {}.toString;\nvar getType = function (value) {\n return toString.call(value).replace(/^\\[object /, '').replace(/]$/, '');\n};\nexport default getType;\n//# sourceMappingURL=get-type.js.map","/**\n * 是否是参数类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\nvar isArguments = function (value) {\n return isType(value, 'Arguments');\n};\nexport default isArguments;\n//# sourceMappingURL=is-arguments.js.map","/**\n * 是否是布尔类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\nvar isBoolean = function (value) {\n return isType(value, 'Boolean');\n};\nexport default isBoolean;\n//# sourceMappingURL=is-boolean.js.map","import isType from './is-type';\nvar isDate = function (value) {\n return isType(value, 'Date');\n};\nexport default isDate;\n//# sourceMappingURL=is-date.js.map","/**\n * 是否是参数类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\nvar isError = function (value) {\n return isType(value, 'Error');\n};\nexport default isError;\n//# sourceMappingURL=is-error.js.map","/**\n * 判断是否为有限数\n * @return {Boolean}\n */\nimport isNumber from './is-number';\nexport default function (value) {\n return isNumber(value) && isFinite(value);\n}\n//# sourceMappingURL=is-finite.js.map","var isNull = function (value) {\n return value === null;\n};\nexport default isNull;\n//# sourceMappingURL=is-null.js.map","var objectProto = Object.prototype;\nvar isPrototype = function (value) {\n var Ctor = value && value.constructor;\n var proto = (typeof Ctor === 'function' && Ctor.prototype) || objectProto;\n return value === proto;\n};\nexport default isPrototype;\n//# sourceMappingURL=is-prototype.js.map","import isType from './is-type';\nvar isRegExp = function (str) {\n return isType(str, 'RegExp');\n};\nexport default isRegExp;\n//# sourceMappingURL=is-reg-exp.js.map","var isUndefined = function (value) {\n return value === undefined;\n};\nexport default isUndefined;\n//# sourceMappingURL=is-undefined.js.map","/**\n * 判断是否HTML元素\n * @return {Boolean} 是否HTML元素\n */\nvar isElement = function (o) {\n return o instanceof Element || o instanceof HTMLDocument;\n};\nexport default isElement;\n//# sourceMappingURL=is-element.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction requestAnimationFrame(fn) {\n var method = window.requestAnimationFrame ||\n window.webkitRequestAnimationFrame ||\n // @ts-ignore\n window.mozRequestAnimationFrame ||\n // @ts-ignore\n window.msRequestAnimationFrame ||\n function (f) {\n return setTimeout(f, 16);\n };\n return method(fn);\n}\nexports.default = requestAnimationFrame;\n;\n//# sourceMappingURL=request-animation-frame.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction cancelAnimationFrame(handler) {\n var method = window.cancelAnimationFrame ||\n window.webkitCancelAnimationFrame ||\n // @ts-ignore\n window.mozCancelAnimationFrame ||\n // @ts-ignore\n window.msCancelAnimationFrame ||\n clearTimeout;\n method(handler);\n}\nexports.default = cancelAnimationFrame;\n;\n//# sourceMappingURL=clear-animation-frame.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// FIXME: Mutable param should be forbidden in static lang.\nfunction _mix(dist, obj) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && key !== 'constructor' && obj[key] !== undefined) {\n dist[key] = obj[key];\n }\n }\n}\nfunction mix(dist, src1, src2, src3) {\n if (src1)\n _mix(dist, src1);\n if (src2)\n _mix(dist, src2);\n if (src3)\n _mix(dist, src3);\n return dist;\n}\nexports.default = mix;\n//# sourceMappingURL=mix.js.map","import mix from './mix';\nimport isFunction from './is-function';\nvar augment = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var c = args[0];\n for (var i = 1; i < args.length; i++) {\n var obj = args[i];\n if (isFunction(obj)) {\n obj = obj.prototype;\n }\n mix(c.prototype, obj);\n }\n};\nexport default augment;\n//# sourceMappingURL=augment.js.map","import isArray from './is-array';\nvar clone = function (obj) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n var rst;\n if (isArray(obj)) {\n rst = [];\n for (var i = 0, l = obj.length; i < l; i++) {\n if (typeof obj[i] === 'object' && obj[i] != null) {\n rst[i] = clone(obj[i]);\n }\n else {\n rst[i] = obj[i];\n }\n }\n }\n else {\n rst = {};\n for (var k in obj) {\n if (typeof obj[k] === 'object' && obj[k] != null) {\n rst[k] = clone(obj[k]);\n }\n else {\n rst[k] = obj[k];\n }\n }\n }\n return rst;\n};\nexport default clone;\n//# sourceMappingURL=clone.js.map","function debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this, args = arguments;\n var later = function () {\n timeout = null;\n if (!immediate) {\n func.apply(context, args);\n }\n };\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\nexport default debounce;\n//# sourceMappingURL=debounce.js.map","import isFunction from './is-function';\n/**\n * _.memoize(calColor);\n * _.memoize(calColor, (...args) => args[0]);\n * @param f\n * @param resolver\n */\nexport default (function (f, resolver) {\n if (!isFunction(f)) {\n throw new TypeError('Expected a function');\n }\n var memoized = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n // 使用方法构造 key,如果不存在 resolver,则直接取第一个参数作为 key\n var key = resolver ? resolver.apply(this, args) : args[0];\n var cache = memoized.cache;\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = f.apply(this, args);\n // 缓存起来\n cache.set(key, result);\n return result;\n };\n memoized.cache = new Map();\n return memoized;\n});\n//# sourceMappingURL=memoize.js.map","import isArray from './is-array';\nimport isPlainObject from './is-plain-object';\nvar MAX_MIX_LEVEL = 5;\nfunction _deepMix(dist, src, level, maxLevel) {\n level = level || 0;\n maxLevel = maxLevel || MAX_MIX_LEVEL;\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n var value = src[key];\n if (value !== null && isPlainObject(value)) {\n if (!isPlainObject(dist[key])) {\n dist[key] = {};\n }\n if (level < maxLevel) {\n _deepMix(dist[key], value, level + 1, maxLevel);\n }\n else {\n dist[key] = src[key];\n }\n }\n else if (isArray(value)) {\n dist[key] = [];\n dist[key] = dist[key].concat(value);\n }\n else if (value !== undefined) {\n dist[key] = value;\n }\n }\n }\n}\n// todo 重写\nvar deepMix = function (rst) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n for (var i = 0; i < args.length; i += 1) {\n _deepMix(rst, args[i]);\n }\n return rst;\n};\nexport default deepMix;\n//# sourceMappingURL=deep-mix.js.map","import mix from './mix';\nimport isFunction from './is-function';\nvar extend = function (subclass, superclass, overrides, staticOverrides) {\n // 如果只提供父类构造函数,则自动生成子类构造函数\n if (!isFunction(superclass)) {\n overrides = superclass;\n superclass = subclass;\n subclass = function () { };\n }\n var create = Object.create ?\n function (proto, c) {\n return Object.create(proto, {\n constructor: {\n value: c\n }\n });\n } :\n function (proto, c) {\n function Tmp() { }\n Tmp.prototype = proto;\n var o = new Tmp();\n o.constructor = c;\n return o;\n };\n var superObj = create(superclass.prototype, subclass); // new superclass(),//实例化父类作为子类的prototype\n subclass.prototype = mix(superObj, subclass.prototype); // 指定子类的prototype\n subclass.superclass = create(superclass.prototype, superclass);\n mix(superObj, overrides);\n mix(subclass, staticOverrides);\n return subclass;\n};\nexport default extend;\n//# sourceMappingURL=extend.js.map","import isArrayLike from './is-array-like';\nvar indexOf = function (arr, obj) {\n if (!isArrayLike(arr)) {\n return -1;\n }\n var m = Array.prototype.indexOf;\n if (m) {\n return m.call(arr, obj);\n }\n var index = -1;\n for (var i = 0; i < arr.length; i++) {\n if (arr[i] === obj) {\n index = i;\n break;\n }\n }\n return index;\n};\nexport default indexOf;\n//# sourceMappingURL=index-of.js.map","import isNil from './is-nil';\nimport isArrayLike from './is-array-like';\nimport getType from './get-type';\nimport isPrototype from './is-prototype';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction isEmpty(value) {\n /**\n * isEmpty(null) => true\n * isEmpty() => true\n * isEmpty(true) => true\n * isEmpty(1) => true\n * isEmpty([1, 2, 3]) => false\n * isEmpty('abc') => false\n * isEmpty({ a: 1 }) => false\n */\n if (isNil(value)) {\n return true;\n }\n if (isArrayLike(value)) {\n return !value.length;\n }\n var type = getType(value);\n if (type === 'Map' || type === 'Set') {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !Object.keys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\nexport default isEmpty;\n//# sourceMappingURL=is-empty.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar is_object_like_1 = require(\"./is-object-like\");\nvar is_array_like_1 = require(\"./is-array-like\");\nvar is_string_1 = require(\"./is-string\");\nvar isEqual = function (value, other) {\n if (value === other) {\n return true;\n }\n if (!value || !other) {\n return false;\n }\n if (is_string_1.default(value) || is_string_1.default(other)) {\n return false;\n }\n if (is_array_like_1.default(value) || is_array_like_1.default(other)) {\n if (value.length !== other.length) {\n return false;\n }\n var rst = true;\n for (var i = 0; i < value.length; i++) {\n rst = isEqual(value[i], other[i]);\n if (!rst) {\n break;\n }\n }\n return rst;\n }\n if (is_object_like_1.default(value) || is_object_like_1.default(other)) {\n var valueKeys = Object.keys(value);\n var otherKeys = Object.keys(other);\n if (valueKeys.length !== otherKeys.length) {\n return false;\n }\n var rst = true;\n for (var i = 0; i < valueKeys.length; i++) {\n rst = isEqual(value[valueKeys[i]], other[valueKeys[i]]);\n if (!rst) {\n break;\n }\n }\n return rst;\n }\n return false;\n};\nexports.default = isEqual;\n//# sourceMappingURL=is-equal.js.map","import isFunction from './is-function';\nimport isEqual from './is-equal';\n/**\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [fn] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * isEqualWith(array, other, customizer); // => true\n */\nexport default (function (value, other, fn) {\n if (!isFunction(fn)) {\n return isEqual(value, other);\n }\n return !!fn(value, other);\n});\n//# sourceMappingURL=is-equal-with.js.map","import isArrayLike from './is-array-like';\nvar map = function (arr, func) {\n if (!isArrayLike(arr)) {\n // @ts-ignore\n return arr;\n }\n var result = [];\n for (var index = 0; index < arr.length; index++) {\n var value = arr[index];\n result.push(func(value, index));\n }\n return result;\n};\nexport default map;\n//# sourceMappingURL=map.js.map","import isNil from './is-nil';\nimport isObject from './is-object';\nvar identity = function (v) { return v; };\nexport default (function (object, func) {\n if (func === void 0) { func = identity; }\n var r = {};\n if (isObject(object) && !isNil(object)) {\n Object.keys(object).forEach(function (key) {\n // @ts-ignore\n r[key] = func(object[key], key);\n });\n }\n return r;\n});\n//# sourceMappingURL=map-values.js.map","import isString from './is-string';\n/**\n * https://github.com/developit/dlv/blob/master/index.js\n * @param obj\n * @param key\n * @param defaultValue\n */\nexport default (function (obj, key, defaultValue) {\n var p = 0;\n var keyArr = isString(key) ? key.split('.') : key;\n while (obj && p < keyArr.length) {\n obj = obj[keyArr[p++]];\n }\n return (obj === undefined || p < keyArr.length) ? defaultValue : obj;\n});\n//# sourceMappingURL=get.js.map","import isObject from './is-object';\nimport isString from './is-string';\nimport isNumber from './is-number';\n/**\n * https://github.com/developit/dlv/blob/master/index.js\n * @param obj\n * @param path\n * @param value\n */\nexport default (function (obj, path, value) {\n var o = obj;\n var keyArr = isString(path) ? path.split('.') : path;\n keyArr.forEach(function (key, idx) {\n // 不是最后一个\n if (idx < keyArr.length - 1) {\n if (!isObject(o[key])) {\n o[key] = isNumber(keyArr[idx + 1]) ? [] : {};\n }\n o = o[key];\n }\n else {\n o[key] = value;\n }\n });\n return obj;\n});\n//# sourceMappingURL=set.js.map","import each from './each';\nimport isPlainObject from './is-plain-object';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport default (function (object, keys) {\n if (object === null || !isPlainObject(object)) {\n return {};\n }\n var result = {};\n each(keys, function (key) {\n if (hasOwnProperty.call(object, key)) {\n result[key] = object[key];\n }\n });\n return result;\n});\n//# sourceMappingURL=pick.js.map","export default (function (func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options)\n options = {};\n var later = function () {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout)\n context = args = null;\n };\n var throttled = function () {\n var now = Date.now();\n if (!previous && options.leading === false)\n previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout)\n context = args = null;\n }\n else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n throttled.cancel = function () {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n return throttled;\n});\n//# sourceMappingURL=throttle.js.map","import isArrayLike from './is-array-like';\nexport default (function (value) {\n return isArrayLike(value) ? Array.prototype.slice.call(value) : [];\n});\n//# sourceMappingURL=to-array.js.map","var map = {};\nexport default (function (prefix) {\n prefix = prefix || 'g';\n if (!map[prefix]) {\n map[prefix] = 1;\n }\n else {\n map[prefix] += 1;\n }\n return prefix + map[prefix];\n});\n//# sourceMappingURL=unique-id.js.map","export default (function () { });\n//# sourceMappingURL=noop.js.map","export default (function (v) { return v; });\n//# sourceMappingURL=identity.js.map","import isNil from './is-nil';\nimport isArraylike from './is-array-like';\nexport default function size(o) {\n if (isNil(o)) {\n return 0;\n }\n if (isArraylike(o)) {\n return o.length;\n }\n return Object.keys(o).length;\n}\n//# sourceMappingURL=size.js.map","/**\n * k-v 存储\n */\nvar default_1 = /** @class */ (function () {\n function default_1() {\n this.map = {};\n }\n default_1.prototype.has = function (key) {\n return this.map[key] !== undefined;\n };\n default_1.prototype.get = function (key, def) {\n var v = this.map[key];\n return v === undefined ? def : v;\n };\n default_1.prototype.set = function (key, value) {\n this.map[key] = value;\n };\n default_1.prototype.clear = function () {\n this.map = {};\n };\n default_1.prototype.delete = function (key) {\n delete this.map[key];\n };\n default_1.prototype.size = function () {\n return Object.keys(this.map).length;\n };\n return default_1;\n}());\nexport default default_1;\n//# sourceMappingURL=cache.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * @description 扩展方法,提供 gl-matrix 为提供的方法\n * */\nimport { mat3, vec2 } from 'gl-matrix';\nexport function leftTranslate(out, a, v) {\n var transMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n mat3.fromTranslation(transMat, v);\n return mat3.multiply(out, transMat, a);\n}\nexport function leftRotate(out, a, rad) {\n var rotateMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n mat3.fromRotation(rotateMat, rad);\n return mat3.multiply(out, rotateMat, a);\n}\nexport function leftScale(out, a, v) {\n var scaleMat = [0, 0, 0, 0, 0, 0, 0, 0, 0];\n mat3.fromScaling(scaleMat, v);\n return mat3.multiply(out, scaleMat, a);\n}\nfunction leftMultiply(out, a, a1) {\n return mat3.multiply(out, a1, a);\n}\n/**\n * 根据 actions 来做 transform\n * @param m\n * @param actions\n */\nexport function transform(m, actions) {\n var matrix = m ? [].concat(m) : [1, 0, 0, 0, 1, 0, 0, 0, 1];\n for (var i = 0, len = actions.length; i < len; i++) {\n var action = actions[i];\n switch (action[0]) {\n case 't':\n leftTranslate(matrix, matrix, [action[1], action[2]]);\n break;\n case 's':\n leftScale(matrix, matrix, [action[1], action[2]]);\n break;\n case 'r':\n leftRotate(matrix, matrix, action[1]);\n break;\n case 'm':\n leftMultiply(matrix, matrix, action[1]);\n break;\n default:\n break;\n }\n }\n return matrix;\n}\n/**\n * 向量 v1 到 向量 v2 夹角的方向\n * @param {Array} v1 向量\n * @param {Array} v2 向量\n * @return {Boolean} >= 0 顺时针 < 0 逆时针\n */\nexport function direction(v1, v2) {\n return v1[0] * v2[1] - v2[0] * v1[1];\n}\n/**\n * 二维向量 v1 到 v2 的夹角\n * @param v1\n * @param v2\n * @param direct\n */\nexport function angleTo(v1, v2, direct) {\n var ang = vec2.angle(v1, v2);\n var angleLargeThanPI = direction(v1, v2) >= 0;\n if (direct) {\n if (angleLargeThanPI) {\n return Math.PI * 2 - ang;\n }\n return ang;\n }\n if (angleLargeThanPI) {\n return ang;\n }\n return Math.PI * 2 - ang;\n}\n/**\n * 计算二维向量的垂直向量\n * @param out\n * @param v\n * @param flag\n */\nexport function vertical(out, v, flag) {\n if (flag) {\n out[0] = v[1];\n out[1] = -1 * v[0];\n }\n else {\n out[0] = -1 * v[1];\n out[1] = v[0];\n }\n return out;\n}\n//# sourceMappingURL=ext.js.map","import EventEmitter from '@antv/event-emitter';\nimport { ICanvas } from '../dependents';\nimport { isNil, each, findIndex, deepMix, keys, contains, isFunction } from '@antv/util';\nimport { RecursivePartial, LooseMap } from '../interface/types';\nimport StateManager from '../util/state-manager';\nimport CanvasController from './controller/canvas';\nimport EventController from './controller/event';\nimport { getPlotType } from './global';\nimport Layer from './layer';\nimport ViewLayer from './view-layer';\nimport { CANVAS_EVENT_MAP } from '../util/event';\n\nexport interface PlotConfig {\n forceFit?: boolean;\n width?: number;\n renderer?: string;\n height?: number;\n pixelRatio?: number;\n theme?: LooseMap | string;\n localRefresh?: boolean;\n}\n\ntype LayerCtor = ViewLayer;\n\nexport default class BasePlot<\n T extends PlotConfig = PlotConfig,\n L extends LayerCtor = LayerCtor\n> extends EventEmitter {\n public width: number;\n public height: number;\n public forceFit: boolean;\n public renderer: string;\n public pixelRatio: number;\n public theme: string | object;\n public localRefresh?: boolean;\n public canvas: ICanvas;\n public destroyed: boolean;\n protected layers: Array;\n private canvasController: CanvasController;\n private eventController: EventController;\n protected containerDOM: HTMLElement;\n\n constructor(container: HTMLElement, props: T) {\n super();\n this.containerDOM = typeof container === 'string' ? document.getElementById(container) : container;\n this.forceFit = !isNil(props.forceFit) ? props.forceFit : isNil(props.width) && isNil(props.height);\n this.renderer = props.renderer || 'canvas';\n this.pixelRatio = props.pixelRatio || null;\n this.width = props.width;\n this.height = props.height;\n this.theme = props.theme;\n this.localRefresh = props.localRefresh;\n this.canvasController = new CanvasController({\n containerDOM: this.containerDOM,\n plot: this,\n });\n /** update layer properties */\n this.width = this.canvasController.width;\n this.height = this.canvasController.height;\n this.canvas = this.canvasController.canvas;\n this.layers = [];\n this.destroyed = false;\n\n this.createLayers(props);\n\n /** bind events */\n this.eventController = new EventController({\n plot: this,\n canvas: this.canvasController.canvas,\n });\n\n this.eventController.bindEvents();\n this.parseEvents(props);\n }\n\n /** 生命周期 */\n public destroy() {\n this.eachLayer((layer) => {\n layer.destroy();\n });\n this.canvasController.destroy();\n this.eventController.clearEvents();\n this.layers = [];\n this.destroyed = true;\n }\n\n /**\n * 重新绘制图形\n */\n public repaint(): void {\n this.canvasController.canvas.draw();\n }\n\n public updateConfig(config: RecursivePartial, all: boolean = false) {\n if (all) {\n this.eachLayer((layer) => {\n if (layer instanceof ViewLayer) {\n layer.updateConfig(config);\n }\n });\n } else {\n const layer: any = this.layers[0];\n if (layer instanceof Layer) {\n layer.updateConfig(config);\n }\n }\n\n if (config.width) {\n this.width = config.width as number;\n }\n if (config.height) {\n this.height = config.height as number;\n }\n if (config.theme) {\n this.theme = config.theme;\n }\n\n this.canvasController.updateCanvasSize();\n this.canvasController.updateCanvasTheme();\n }\n\n public changeData(data: any[], all: boolean = false) {\n if (all) {\n this.eachLayer((layer) => {\n if (layer instanceof ViewLayer) {\n layer.changeData(data);\n }\n });\n } else {\n const layer: any = this.layers[0];\n if (layer instanceof ViewLayer) {\n layer.changeData(data);\n }\n }\n }\n\n public getScaleByField(field: string) {\n return this.layers[0].getScaleByField(field);\n }\n\n public getXScale() {\n return this.layers[0].getXScale();\n }\n\n public getYScale() {\n return this.layers[0].getYScale();\n }\n\n public getColorScale() {\n return this.layers[0].getColorScale();\n }\n\n public getPlotTheme() {\n const layer: any = this.layers[0];\n return layer.getPlotTheme();\n }\n\n public getData() {\n const layer: any = this.layers[0];\n return layer.getData();\n }\n\n /**\n * 绑定一个外部的stateManager\n * 先直接传递给各个子 Layer\n *\n * @param stateManager\n * @param cfg\n */\n public bindStateManager(stateManager: StateManager, cfg: any) {\n this.eachLayer((layer) => {\n if (layer instanceof ViewLayer) {\n layer.bindStateManager(stateManager, cfg);\n }\n });\n }\n\n /**\n * 响应状态量更新的快捷方法\n *\n * @param condition\n * @param style\n */\n public setActive(condition: any, style: any) {\n this.eachLayer((layer) => {\n if (layer instanceof ViewLayer) {\n layer.setActive(condition, style);\n }\n });\n }\n\n public setSelected(condition: any, style: any) {\n this.eachLayer((layer) => {\n if (layer instanceof ViewLayer) {\n layer.setSelected(condition, style);\n }\n });\n }\n\n public setDisable(condition: any, style: any) {\n this.eachLayer((layer) => {\n if (layer instanceof ViewLayer) {\n layer.setDisable(condition, style);\n }\n });\n }\n\n public setDefault(condition: any, style: any) {\n this.eachLayer((layer) => {\n if (layer instanceof ViewLayer) {\n layer.setDefault(condition, style);\n }\n });\n }\n\n /**\n * 获取 Plot 的 View\n */\n public getView() {\n // 临时:避免 getLayer 的类型转换问题\n return (this.layers[0] as ViewLayer).view;\n }\n\n /**\n * 获取图形下的图层 Layer,默认第一个 Layer\n * @param idx\n */\n public getLayer(idx: number = 0) {\n return this.layers[idx];\n }\n\n public getCanvas() {\n return this.canvasController.canvas;\n }\n\n public getLayers() {\n return this.layers;\n }\n\n public render() {\n this.eachLayer((layer) => layer.render());\n }\n\n protected eachLayer(cb: (layer: Layer) => void) {\n each(this.layers, cb);\n }\n\n /**\n * add children layer\n * @param layer\n */\n public addLayer(layer: L) {\n const idx = findIndex(this.layers, (item) => item === layer);\n if (idx < 0) {\n this.layers.push(layer);\n }\n }\n\n protected createLayers(props: T & { type?: string; layers?: any }) {\n if (props.layers) {\n // TODO: combo plot\n } else if (props.type) {\n const viewLayerCtr = getPlotType(props.type);\n const viewLayerProps: T = deepMix({}, props, {\n canvas: this.canvasController.canvas,\n x: 0,\n y: 0,\n width: this.width,\n height: this.height,\n });\n const viewLayer = new viewLayerCtr(viewLayerProps);\n this.addLayer(viewLayer);\n }\n }\n\n protected parseEvents(props) {\n const eventsName = keys(CANVAS_EVENT_MAP);\n if (props.events) {\n each(props.events, (e, k) => {\n if (contains(eventsName, k) && isFunction(e)) {\n const eventName = CANVAS_EVENT_MAP[k] || k;\n const handler = e;\n this.on(eventName, handler);\n }\n });\n }\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSamePoint = exports.mergeRegion = exports.intersectRect = exports.inBox = exports.distance = exports.getPixelRatio = void 0;\nfunction getPixelRatio() {\n return window ? window.devicePixelRatio : 1;\n}\nexports.getPixelRatio = getPixelRatio;\n/**\n * 两点之间的距离\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n */\nfunction distance(x1, y1, x2, y2) {\n var dx = x1 - x2;\n var dy = y1 - y2;\n return Math.sqrt(dx * dx + dy * dy);\n}\nexports.distance = distance;\n/**\n * 是否在包围盒内\n * @param {number} minX 包围盒开始的点 x\n * @param {number} minY 包围盒开始的点 y\n * @param {number} width 宽度\n * @param {number} height 高度\n * @param {[type]} x 检测点的 x\n * @param {[type]} y 监测点的 y\n */\nfunction inBox(minX, minY, width, height, x, y) {\n return x >= minX && x <= minX + width && y >= minY && y <= minY + height;\n}\nexports.inBox = inBox;\nfunction intersectRect(box1, box2) {\n return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);\n}\nexports.intersectRect = intersectRect;\n// 合并两个区域\nfunction mergeRegion(region1, region2) {\n if (!region1 || !region2) {\n return region1 || region2;\n }\n return {\n minX: Math.min(region1.minX, region2.minX),\n minY: Math.min(region1.minY, region2.minY),\n maxX: Math.max(region1.maxX, region2.maxX),\n maxY: Math.max(region1.maxY, region2.maxY),\n };\n}\nexports.mergeRegion = mergeRegion;\n/**\n * 判断两个点是否重合,点坐标的格式为 [x, y]\n * @param {Array} point1 第一个点\n * @param {Array} point2 第二个点\n */\nfunction isSamePoint(point1, point2) {\n return point1[0] === point2[0] && point1[1] === point2[1];\n}\nexports.isSamePoint = isSamePoint;\nvar is_nil_1 = require(\"@antv/util/lib/is-nil\");\nObject.defineProperty(exports, \"isNil\", { enumerable: true, get: function () { return is_nil_1.default; } });\nvar is_string_1 = require(\"@antv/util/lib/is-string\");\nObject.defineProperty(exports, \"isString\", { enumerable: true, get: function () { return is_string_1.default; } });\nvar is_function_1 = require(\"@antv/util/lib/is-function\");\nObject.defineProperty(exports, \"isFunction\", { enumerable: true, get: function () { return is_function_1.default; } });\nvar is_array_1 = require(\"@antv/util/lib/is-array\");\nObject.defineProperty(exports, \"isArray\", { enumerable: true, get: function () { return is_array_1.default; } });\nvar each_1 = require(\"@antv/util/lib/each\");\nObject.defineProperty(exports, \"each\", { enumerable: true, get: function () { return each_1.default; } });\nvar to_radian_1 = require(\"@antv/util/lib/to-radian\");\nObject.defineProperty(exports, \"toRadian\", { enumerable: true, get: function () { return to_radian_1.default; } });\nvar mod_1 = require(\"@antv/util/lib/mod\");\nObject.defineProperty(exports, \"mod\", { enumerable: true, get: function () { return mod_1.default; } });\nvar is_number_equal_1 = require(\"@antv/util/lib/is-number-equal\");\nObject.defineProperty(exports, \"isNumberEqual\", { enumerable: true, get: function () { return is_number_equal_1.default; } });\nvar request_animation_frame_1 = require(\"@antv/util/lib/request-animation-frame\");\nObject.defineProperty(exports, \"requestAnimationFrame\", { enumerable: true, get: function () { return request_animation_frame_1.default; } });\nvar clear_animation_frame_1 = require(\"@antv/util/lib/clear-animation-frame\");\nObject.defineProperty(exports, \"clearAnimationFrame\", { enumerable: true, get: function () { return clear_animation_frame_1.default; } });\n//# sourceMappingURL=util.js.map","/** 所有统计图形 */\nconst GLOBAL_PLOT_MAP: Record = {};\n\nexport function registerPlotType(name: string, ctr: any): void {\n GLOBAL_PLOT_MAP[name.toLowerCase()] = ctr;\n}\n\nexport function getPlotType(name: string) {\n return GLOBAL_PLOT_MAP[name.toLowerCase()];\n}\n","export default function addEventListener(target, eventType, callback) {\n if (target) {\n if (typeof target.addEventListener === 'function') {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function () {\n target.removeEventListener(eventType, callback, false);\n },\n };\n // @ts-ignore\n }\n if (typeof target.attachEvent === 'function') {\n // @ts-ignore\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function () {\n // @ts-ignore\n target.detachEvent('on' + eventType, callback);\n },\n };\n }\n }\n}\n//# sourceMappingURL=add-event-listener.js.map","/**\n * 创建DOM 节点\n * @param {String} str Dom 字符串\n * @return {HTMLElement} DOM 节点\n */\nvar TABLE;\nvar TABLE_TR;\nvar FRAGMENT_REG;\nvar CONTAINERS;\nfunction initConstants() {\n TABLE = document.createElement('table');\n TABLE_TR = document.createElement('tr');\n FRAGMENT_REG = /^\\s*<(\\w+|!)[^>]*>/;\n CONTAINERS = {\n tr: document.createElement('tbody'),\n tbody: TABLE,\n thead: TABLE,\n tfoot: TABLE,\n td: TABLE_TR,\n th: TABLE_TR,\n '*': document.createElement('div'),\n };\n}\nexport default function createDom(str) {\n if (!TABLE) {\n initConstants();\n }\n var name = FRAGMENT_REG.test(str) && RegExp.$1;\n if (!name || !(name in CONTAINERS)) {\n name = '*';\n }\n var container = CONTAINERS[name];\n str = str.replace(/(^\\s*)|(\\s*$)/g, '');\n container.innerHTML = '' + str;\n var dom = container.childNodes[0];\n container.removeChild(dom);\n return dom;\n}\n//# sourceMappingURL=create-dom.js.map","/**\n * 获取样式\n * @param {Object} dom DOM节点\n * @param {String} name 样式名\n * @param {Any} defaultValue 默认值\n * @return {String} 属性值\n */\nexport default function getStyle(dom, name, defaultValue) {\n var v;\n try {\n v = window.getComputedStyle ?\n window.getComputedStyle(dom, null)[name] :\n dom.style[name]; // 一般不会走到这个逻辑,dom.style 获取的是标签 style 属性,也不准确\n }\n catch (e) {\n // do nothing\n }\n finally {\n v = v === undefined ? defaultValue : v;\n }\n return v;\n}\n//# sourceMappingURL=get-style.js.map","import getStyle from './get-style';\nexport default function getHeight(el, defaultValue) {\n var height = getStyle(el, 'height', defaultValue);\n if (height === 'auto') {\n height = el.offsetHeight;\n }\n return parseFloat(height);\n}\n//# sourceMappingURL=get-height.js.map","import getStyle from './get-style';\nimport getHeight from './get-height';\nexport default function getOuterHeight(el, defaultValue) {\n var height = getHeight(el, defaultValue);\n var bTop = parseFloat(getStyle(el, 'borderTopWidth')) || 0;\n var pTop = parseFloat(getStyle(el, 'paddingTop')) || 0;\n var pBottom = parseFloat(getStyle(el, 'paddingBottom')) || 0;\n var bBottom = parseFloat(getStyle(el, 'borderBottomWidth')) || 0;\n var mTop = parseFloat(getStyle(el, 'marginTop')) || 0;\n var mBottom = parseFloat(getStyle(el, 'marginBottom')) || 0;\n return height + bTop + bBottom + pTop + pBottom + mTop + mBottom;\n}\n//# sourceMappingURL=get-outer-height.js.map","import getStyle from './get-style';\nexport default function getHeight(el, defaultValue) {\n var width = getStyle(el, 'width', defaultValue);\n if (width === 'auto') {\n width = el.offsetWidth;\n }\n return parseFloat(width);\n}\n//# sourceMappingURL=get-width.js.map","import getStyle from './get-style';\nimport getWidth from './get-width';\nexport default function getOuterWidth(el, defaultValue) {\n var width = getWidth(el, defaultValue);\n var bLeft = parseFloat(getStyle(el, 'borderLeftWidth')) || 0;\n var pLeft = parseFloat(getStyle(el, 'paddingLeft')) || 0;\n var pRight = parseFloat(getStyle(el, 'paddingRight')) || 0;\n var bRight = parseFloat(getStyle(el, 'borderRightWidth')) || 0;\n var mRight = parseFloat(getStyle(el, 'marginRight')) || 0;\n var mLeft = parseFloat(getStyle(el, 'marginLeft')) || 0;\n return width + bLeft + bRight + pLeft + pRight + mLeft + mRight;\n}\n//# sourceMappingURL=get-outer-width.js.map","export default function getRatio() {\n return window.devicePixelRatio ? window.devicePixelRatio : 2;\n}\n//# sourceMappingURL=get-ratio.js.map","export default function modifyCSS(dom, css) {\n if (dom) {\n for (var key in css) {\n if (css.hasOwnProperty(key)) {\n dom.style[key] = css[key];\n }\n }\n }\n return dom;\n}\n//# sourceMappingURL=modify-css.js.map","// dependents是基础依赖,以便按需使用plot\nimport GestureController from '@antv/g2/lib/chart/controller/gesture';\nimport { registerComponentController } from '@antv/g2';\nexport { GestureController };\nregisterComponentController('gesture', GestureController);\n\n// G\nexport { IElement, ICanvas, IGroup, IShape, BBox, Event as GraphicEvent } from '@antv/g-base';\nexport { Canvas } from '@antv/g-canvas';\nexport { Canvas as SVG } from '@antv/g-svg';\n\n// G-Gesture\nexport { GM, Wheel, GestureEvent } from '@antv/g-gesture';\n\n// G2\nexport {\n View,\n registerAnimation,\n registerGeometry,\n Geometry,\n Interaction,\n InteractionAction,\n registerInteraction,\n registerAction,\n registerShape,\n getTheme,\n Util,\n getShapeFactory,\n ComponentController,\n registerComponentController,\n} from '@antv/g2';\nexport { VIEW_LIFE_CIRCLE, COMPONENT_TYPE, FIELD_ORIGIN } from '@antv/g2/lib/constant';\nexport { default as TooltipController } from '@antv/g2/lib/chart/controller/tooltip';\nexport { MarkerSymbols } from '@antv/g2/lib/util/marker';\nexport {\n Datum,\n Data,\n LooseObject,\n Options,\n Point,\n ShapeInfo,\n AttributeOption,\n AdjustOption,\n LabelOption,\n MappingDatum,\n} from '@antv/g2/lib/interface';\nimport GrammarInteraction from '@antv/g2/lib/interaction/grammar-interaction';\nexport { GrammarInteraction };\nimport * as InteractionUtils from '@antv/g2/lib/interaction/action/util';\nexport { InteractionUtils };\nexport { DEFAULT_ANIMATE_CFG, getDefaultAnimateCfg, doAnimate } from '@antv/g2/lib/animate';\nexport { default as Element } from '@antv/g2/lib/geometry/element';\n\n// Component\nimport HtmlTooltip from '@antv/component/lib/tooltip/html';\nimport HtmlTooltipTheme from '@antv/component/lib/tooltip/html-theme';\nimport * as TooltipCssConst from '@antv/component/lib/tooltip/css-const';\nexport { HtmlTooltip, HtmlTooltipTheme, TooltipCssConst };\nexport { GroupComponent, Axis, Legend, Tooltip, Slider, Scrollbar } from '@antv/component';\nexport { GroupComponentCfg, TooltipCfg } from '@antv/component/lib/types';\n\n// Coordinate\nexport { Coordinate } from '@antv/coord';\n\n// Common\nexport const ORIGIN = 'origin';\nexport const _ORIGIN = '_origin';\n","/**\r\n * Common utilities\r\n * @module glMatrix\r\n */\n// Configuration Constants\nexport var EPSILON = 0.000001;\nexport var ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;\nexport var RANDOM = Math.random;\n/**\r\n * Sets the type of array used when creating new vectors and matrices\r\n *\r\n * @param {Float32ArrayConstructor | ArrayConstructor} type Array type, such as Float32Array or Array\r\n */\n\nexport function setMatrixArrayType(type) {\n ARRAY_TYPE = type;\n}\nvar degree = Math.PI / 180;\n/**\r\n * Convert Degree To Radian\r\n *\r\n * @param {Number} a Angle in Degrees\r\n */\n\nexport function toRadian(a) {\n return a * degree;\n}\n/**\r\n * Tests whether or not the arguments have approximately the same value, within an absolute\r\n * or relative tolerance of glMatrix.EPSILON (an absolute tolerance is used for values less\r\n * than or equal to 1.0, and a relative tolerance is used for larger values)\r\n *\r\n * @param {Number} a The first number to test.\r\n * @param {Number} b The second number to test.\r\n * @returns {Boolean} True if the numbers are approximately equal, false otherwise.\r\n */\n\nexport function equals(a, b) {\n return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));\n}\nif (!Math.hypot) Math.hypot = function () {\n var y = 0,\n i = arguments.length;\n\n while (i--) {\n y += arguments[i] * arguments[i];\n }\n\n return Math.sqrt(y);\n};","import { __assign } from \"tslib\";\n/**\n * @fileoverview path 的一些工具\n * @author dxq613@gmail.com\n */\nimport { PathUtil } from '@antv/g-base';\nimport QuadUtil from '@antv/g-math/lib/quadratic';\nimport CubicUtil from '@antv/g-math/lib/cubic';\nimport { inBox } from './util';\nimport inLine from './in-stroke/line';\nimport inArc from './in-stroke/arc';\nimport * as mat3 from 'gl-matrix/mat3';\nimport * as vec3 from 'gl-matrix/vec3';\nfunction hasArc(path) {\n var hasArc = false;\n var count = path.length;\n for (var i = 0; i < count; i++) {\n var params = path[i];\n var cmd = params[0];\n if (cmd === 'C' || cmd === 'A' || cmd === 'Q') {\n hasArc = true;\n break;\n }\n }\n return hasArc;\n}\nfunction isPointInStroke(segments, lineWidth, x, y) {\n var isHit = false;\n var halfWidth = lineWidth / 2;\n for (var i = 0; i < segments.length; i++) {\n var segment = segments[i];\n var currentPoint = segment.currentPoint, params = segment.params, prePoint = segment.prePoint, box = segment.box;\n // 如果在前面已经生成过包围盒,直接按照包围盒计算\n if (box && !inBox(box.x - halfWidth, box.y - halfWidth, box.width + lineWidth, box.height + lineWidth, x, y)) {\n continue;\n }\n switch (segment.command) {\n // L 和 Z 都是直线, M 不进行拾取\n case 'L':\n case 'Z':\n isHit = inLine(prePoint[0], prePoint[1], currentPoint[0], currentPoint[1], lineWidth, x, y);\n break;\n case 'Q':\n var qDistance = QuadUtil.pointDistance(prePoint[0], prePoint[1], params[1], params[2], params[3], params[4], x, y);\n isHit = qDistance <= lineWidth / 2;\n break;\n case 'C':\n var cDistance = CubicUtil.pointDistance(prePoint[0], prePoint[1], params[1], params[2], params[3], params[4], params[5], params[6], x, y);\n isHit = cDistance <= lineWidth / 2;\n break;\n case 'A':\n // 计算点到椭圆圆弧的距离,暂时使用近似算法,后面可以改成切割法求最近距离\n var arcParams = segment.arcParams;\n var cx = arcParams.cx, cy = arcParams.cy, rx = arcParams.rx, ry = arcParams.ry, startAngle = arcParams.startAngle, endAngle = arcParams.endAngle, xRotation = arcParams.xRotation;\n var p = [x, y, 1];\n var m = [1, 0, 0, 0, 1, 0, 0, 0, 1];\n var r = rx > ry ? rx : ry;\n var scaleX = rx > ry ? 1 : rx / ry;\n var scaleY = rx > ry ? ry / rx : 1;\n mat3.translate(m, m, [-cx, -cy]);\n mat3.rotate(m, m, -xRotation);\n mat3.scale(m, m, [1 / scaleX, 1 / scaleY]);\n vec3.transformMat3(p, p, m);\n isHit = inArc(0, 0, r, startAngle, endAngle, lineWidth, p[0], p[1]);\n break;\n default:\n break;\n }\n if (isHit) {\n break;\n }\n }\n return isHit;\n}\n/**\n * 提取出内部的闭合多边形和非闭合的多边形,假设 path 不存在圆弧\n * @param {Array} path 路径\n * @returns {Array} 点的集合\n */\nfunction extractPolygons(path) {\n var count = path.length;\n var polygons = [];\n var polylines = [];\n var points = []; // 防止第一个命令不是 'M'\n for (var i = 0; i < count; i++) {\n var params = path[i];\n var cmd = params[0];\n if (cmd === 'M') {\n // 遇到 'M' 判定是否是新数组,新数组中没有点\n if (points.length) {\n // 如果存在点,则说明没有遇到 'Z',开始了一个新的多边形\n polylines.push(points);\n points = []; // 创建新的点\n }\n points.push([params[1], params[2]]);\n }\n else if (cmd === 'Z') {\n if (points.length) {\n // 存在点\n polygons.push(points);\n points = []; // 开始新的点集合\n }\n // 如果不存在点,同时 'Z',则说明是错误,不处理\n }\n else {\n points.push([params[1], params[2]]);\n }\n }\n // 说明 points 未放入 polygons 或者 polyline\n // 仅当只有一个 M,没有 Z 时会发生这种情况\n if (points.length > 0) {\n polylines.push(points);\n }\n return {\n polygons: polygons,\n polylines: polylines,\n };\n}\nexport default __assign({ hasArc: hasArc,\n extractPolygons: extractPolygons,\n isPointInStroke: isPointInStroke }, PathUtil);\n//# sourceMappingURL=path.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar GraphEvent = /** @class */ (function () {\n function GraphEvent(type, event) {\n /**\n * 是否允许冒泡\n * @type {boolean}\n */\n this.bubbles = true;\n /**\n * 触发对象\n * @type {object}\n */\n this.target = null;\n /**\n * 监听对象\n * @type {object}\n */\n this.currentTarget = null;\n /**\n * 委托对象\n * @type {object}\n */\n this.delegateTarget = null;\n /**\n * 委托事件监听对象的代理对象,即 ev.delegateObject = ev.currentTarget.get('delegateObject')\n * @type {object}\n */\n this.delegateObject = null;\n /**\n * 是否阻止了原生事件\n * @type {boolean}\n */\n this.defaultPrevented = false;\n /**\n * 是否阻止传播(向上冒泡)\n * @type {boolean}\n */\n this.propagationStopped = false;\n /**\n * 触发事件的图形\n * @type {IShape}\n */\n this.shape = null;\n /**\n * 开始触发事件的图形\n * @type {IShape}\n */\n this.fromShape = null;\n /**\n * 事件结束时的触发图形\n * @type {IShape}\n */\n this.toShape = null;\n // 触发事件的路径\n this.propagationPath = [];\n this.type = type;\n this.name = type;\n this.originalEvent = event;\n this.timeStamp = event.timeStamp;\n }\n /**\n * 阻止浏览器默认的行为\n */\n GraphEvent.prototype.preventDefault = function () {\n this.defaultPrevented = true;\n if (this.originalEvent.preventDefault) {\n this.originalEvent.preventDefault();\n }\n };\n /**\n * 阻止冒泡\n */\n GraphEvent.prototype.stopPropagation = function () {\n this.propagationStopped = true;\n };\n GraphEvent.prototype.toString = function () {\n var type = this.type;\n return \"[Event (type=\" + type + \")]\";\n };\n GraphEvent.prototype.save = function () { };\n GraphEvent.prototype.restore = function () { };\n return GraphEvent;\n}());\nexports.default = GraphEvent;\n//# sourceMappingURL=graph-event.js.map","import { __extends } from \"tslib\";\nimport EE from '@antv/event-emitter';\nimport { mix } from '../util/util';\nvar Base = /** @class */ (function (_super) {\n __extends(Base, _super);\n function Base(cfg) {\n var _this = _super.call(this) || this;\n /**\n * 是否被销毁\n * @type {boolean}\n */\n _this.destroyed = false;\n var defaultCfg = _this.getDefaultCfg();\n _this.cfg = mix(defaultCfg, cfg);\n return _this;\n }\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n Base.prototype.getDefaultCfg = function () {\n return {};\n };\n // 实现接口的方法\n Base.prototype.get = function (name) {\n return this.cfg[name];\n };\n // 实现接口的方法\n Base.prototype.set = function (name, value) {\n this.cfg[name] = value;\n };\n // 实现接口的方法\n Base.prototype.destroy = function () {\n this.cfg = {\n destroyed: true,\n };\n this.off();\n this.destroyed = true;\n };\n return Base;\n}(EE));\nexport default Base;\n//# sourceMappingURL=base.js.map","\"use strict\";\n/**\n * @fileoverview 矩阵运算,本来是要引入 gl-matrix, 但是考虑到 g-mobile 对大小有限制,同时 g-webgl 使用的 matrix 不一致\n * 所以,这里仅实现 2D 几个运算,上层自己引入 gl-matrix\n * @author dxq613@gmail.com\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * 3阶矩阵相乘\n * @param {number[]} a 矩阵1\n * @param {number[]} b 矩阵2\n */\nfunction multiplyMatrix(a, b) {\n var out = [];\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a10 = a[3];\n var a11 = a[4];\n var a12 = a[5];\n var a20 = a[6];\n var a21 = a[7];\n var a22 = a[8];\n var b00 = b[0];\n var b01 = b[1];\n var b02 = b[2];\n var b10 = b[3];\n var b11 = b[4];\n var b12 = b[5];\n var b20 = b[6];\n var b21 = b[7];\n var b22 = b[8];\n out[0] = b00 * a00 + b01 * a10 + b02 * a20;\n out[1] = b00 * a01 + b01 * a11 + b02 * a21;\n out[2] = b00 * a02 + b01 * a12 + b02 * a22;\n out[3] = b10 * a00 + b11 * a10 + b12 * a20;\n out[4] = b10 * a01 + b11 * a11 + b12 * a21;\n out[5] = b10 * a02 + b11 * a12 + b12 * a22;\n out[6] = b20 * a00 + b21 * a10 + b22 * a20;\n out[7] = b20 * a01 + b21 * a11 + b22 * a21;\n out[8] = b20 * a02 + b21 * a12 + b22 * a22;\n return out;\n}\nexports.multiplyMatrix = multiplyMatrix;\n/**\n * 3阶矩阵同2阶向量相乘\n * @param {number[]} m 矩阵\n * @param {number[]} v 二阶向量\n */\nfunction multiplyVec2(m, v) {\n var out = [];\n var x = v[0];\n var y = v[1];\n out[0] = m[0] * x + m[3] * y + m[6];\n out[1] = m[1] * x + m[4] * y + m[7];\n return out;\n}\nexports.multiplyVec2 = multiplyVec2;\n/**\n * 矩阵的逆\n * @param {number[]} a 矩阵\n */\nfunction invert(a) {\n var out = [];\n var a00 = a[0];\n var a01 = a[1];\n var a02 = a[2];\n var a10 = a[3];\n var a11 = a[4];\n var a12 = a[5];\n var a20 = a[6];\n var a21 = a[7];\n var a22 = a[8];\n var b01 = a22 * a11 - a12 * a21;\n var b11 = -a22 * a10 + a12 * a20;\n var b21 = a21 * a10 - a11 * a20;\n // Calculate the determinant\n var det = a00 * b01 + a01 * b11 + a02 * b21;\n if (!det) {\n return null;\n }\n det = 1.0 / det;\n out[0] = b01 * det;\n out[1] = (-a22 * a01 + a02 * a21) * det;\n out[2] = (a12 * a01 - a02 * a11) * det;\n out[3] = b11 * det;\n out[4] = (a22 * a00 - a02 * a20) * det;\n out[5] = (-a12 * a00 + a02 * a10) * det;\n out[6] = b21 * det;\n out[7] = (-a21 * a00 + a01 * a20) * det;\n out[8] = (a11 * a00 - a01 * a10) * det;\n return out;\n}\nexports.invert = invert;\n//# sourceMappingURL=matrix.js.map","import { __extends } from \"tslib\";\nimport { each, isEqual, isFunction, isNumber, isObject, isArray, noop, mix, upperFirst, uniqueId } from '@antv/util';\nimport { ext } from '@antv/matrix-util';\nimport { removeFromArray, isParent } from '../util/util';\nimport { multiplyMatrix, multiplyVec2, invert } from '../util/matrix';\nimport Base from './base';\nvar MATRIX = 'matrix';\nvar CLONE_CFGS = ['zIndex', 'capture', 'visible', 'type'];\n// 可以在 toAttrs 中设置,但不属于绘图属性的字段\nvar RESERVED_PORPS = ['repeat'];\nvar DELEGATION_SPLIT = ':';\nvar WILDCARD = '*';\n// 需要考虑数组嵌套数组的场景\n// 数组嵌套对象的场景不考虑\nfunction _cloneArrayAttr(arr) {\n var result = [];\n for (var i = 0; i < arr.length; i++) {\n if (isArray(arr[i])) {\n result.push([].concat(arr[i]));\n }\n else {\n result.push(arr[i]);\n }\n }\n return result;\n}\nfunction getFormatFromAttrs(toAttrs, shape) {\n var fromAttrs = {};\n var attrs = shape.attrs;\n for (var k in toAttrs) {\n fromAttrs[k] = attrs[k];\n }\n return fromAttrs;\n}\nfunction getFormatToAttrs(props, shape) {\n var toAttrs = {};\n var attrs = shape.attr();\n each(props, function (v, k) {\n if (RESERVED_PORPS.indexOf(k) === -1 && !isEqual(attrs[k], v)) {\n toAttrs[k] = v;\n }\n });\n return toAttrs;\n}\nfunction checkExistedAttrs(animations, animation) {\n if (animation.onFrame) {\n return animations;\n }\n var startTime = animation.startTime, delay = animation.delay, duration = animation.duration;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n each(animations, function (item) {\n // 后一个动画开始执行的时间 < 前一个动画的结束时间 && 后一个动画的执行时间 > 前一个动画的延迟\n if (startTime + delay < item.startTime + item.delay + item.duration && duration > item.delay) {\n each(animation.toAttrs, function (v, k) {\n if (hasOwnProperty.call(item.toAttrs, k)) {\n delete item.toAttrs[k];\n delete item.fromAttrs[k];\n }\n });\n }\n });\n return animations;\n}\nvar Element = /** @class */ (function (_super) {\n __extends(Element, _super);\n function Element(cfg) {\n var _this = _super.call(this, cfg) || this;\n /**\n * @protected\n * 图形属性\n * @type {ShapeAttrs}\n */\n _this.attrs = {};\n var attrs = _this.getDefaultAttrs();\n mix(attrs, cfg.attrs);\n _this.attrs = attrs;\n _this.initAttrs(attrs);\n _this.initAnimate(); // 初始化动画\n return _this;\n }\n // override\n Element.prototype.getDefaultCfg = function () {\n return {\n visible: true,\n capture: true,\n zIndex: 0,\n };\n };\n /**\n * @protected\n * 获取默认的属相\n */\n Element.prototype.getDefaultAttrs = function () {\n return {\n matrix: this.getDefaultMatrix(),\n opacity: 1,\n };\n };\n /**\n * @protected\n * 一些方法调用会引起画布变化\n * @param {ChangeType} changeType 改变的类型\n */\n Element.prototype.onCanvasChange = function (changeType) { };\n /**\n * @protected\n * 初始化属性,有些属性需要加工\n * @param {object} attrs 属性值\n */\n Element.prototype.initAttrs = function (attrs) { };\n /**\n * @protected\n * 初始化动画\n */\n Element.prototype.initAnimate = function () {\n this.set('animable', true);\n this.set('animating', false);\n };\n Element.prototype.isGroup = function () {\n return false;\n };\n Element.prototype.getParent = function () {\n return this.get('parent');\n };\n Element.prototype.getCanvas = function () {\n return this.get('canvas');\n };\n Element.prototype.attr = function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var name = args[0], value = args[1];\n if (!name)\n return this.attrs;\n if (isObject(name)) {\n for (var k in name) {\n this.setAttr(k, name[k]);\n }\n this.afterAttrsChange(name);\n return this;\n }\n if (args.length === 2) {\n this.setAttr(name, value);\n this.afterAttrsChange((_a = {},\n _a[name] = value,\n _a));\n return this;\n }\n return this.attrs[name];\n };\n // 是否被裁剪,被裁剪则不显示,不参与拾取\n Element.prototype.isClipped = function (refX, refY) {\n var clip = this.getClip();\n return clip && !clip.isHit(refX, refY);\n };\n /**\n * 内部设置属性值的接口\n * @param {string} name 属性名\n * @param {any} value 属性值\n */\n Element.prototype.setAttr = function (name, value) {\n var originValue = this.attrs[name];\n if (originValue !== value) {\n this.attrs[name] = value;\n this.onAttrChange(name, value, originValue);\n }\n };\n /**\n * @protected\n * 属性值发生改变\n * @param {string} name 属性名\n * @param {any} value 属性值\n * @param {any} originValue 属性值\n */\n Element.prototype.onAttrChange = function (name, value, originValue) {\n if (name === 'matrix') {\n this.set('totalMatrix', null);\n }\n };\n /**\n * 属性更改后需要做的事情\n * @protected\n */\n Element.prototype.afterAttrsChange = function (targetAttrs) {\n this.onCanvasChange('attr');\n };\n Element.prototype.show = function () {\n // 不是高频操作直接使用 set\n this.set('visible', true);\n this.onCanvasChange('show');\n return this;\n };\n Element.prototype.hide = function () {\n // 不是高频操作直接使用 set\n this.set('visible', false);\n this.onCanvasChange('hide');\n return this;\n };\n Element.prototype.setZIndex = function (zIndex) {\n this.set('zIndex', zIndex);\n var parent = this.getParent();\n if (parent) {\n // 改变 zIndex 不应该立即触发渲染 (调用 onCanvasChange('zIndex')),需要经过 sort 再触发\n parent.sort();\n }\n return this;\n };\n Element.prototype.toFront = function () {\n var parent = this.getParent();\n if (!parent) {\n return;\n }\n var children = parent.getChildren();\n var el = this.get('el');\n var index = children.indexOf(this);\n children.splice(index, 1);\n children.push(this);\n this.onCanvasChange('zIndex');\n };\n Element.prototype.toBack = function () {\n var parent = this.getParent();\n if (!parent) {\n return;\n }\n var children = parent.getChildren();\n var el = this.get('el');\n var index = children.indexOf(this);\n children.splice(index, 1);\n children.unshift(this);\n this.onCanvasChange('zIndex');\n };\n Element.prototype.remove = function (destroy) {\n if (destroy === void 0) { destroy = true; }\n var parent = this.getParent();\n if (parent) {\n removeFromArray(parent.getChildren(), this);\n if (!parent.get('clearing')) {\n // 如果父元素正在清理,当前元素不触发 remove\n this.onCanvasChange('remove');\n }\n }\n else {\n this.onCanvasChange('remove');\n }\n if (destroy) {\n this.destroy();\n }\n };\n Element.prototype.resetMatrix = function () {\n this.attr(MATRIX, this.getDefaultMatrix());\n this.onCanvasChange('matrix');\n };\n Element.prototype.getMatrix = function () {\n return this.attr(MATRIX);\n };\n Element.prototype.setMatrix = function (m) {\n this.attr(MATRIX, m);\n this.onCanvasChange('matrix');\n };\n // 获取总的 matrix\n Element.prototype.getTotalMatrix = function () {\n var totalMatrix = this.get('totalMatrix');\n if (!totalMatrix) {\n var currentMatrix = this.attr('matrix');\n var parentMatrix = this.get('parentMatrix');\n if (parentMatrix && currentMatrix) {\n totalMatrix = multiplyMatrix(parentMatrix, currentMatrix);\n }\n else {\n totalMatrix = currentMatrix || parentMatrix;\n }\n this.set('totalMatrix', totalMatrix);\n }\n return totalMatrix;\n };\n // 上层分组设置 matrix\n Element.prototype.applyMatrix = function (matrix) {\n var currentMatrix = this.attr('matrix');\n var totalMatrix = null;\n if (matrix && currentMatrix) {\n totalMatrix = multiplyMatrix(matrix, currentMatrix);\n }\n else {\n totalMatrix = currentMatrix || matrix;\n }\n this.set('totalMatrix', totalMatrix);\n this.set('parentMatrix', matrix);\n };\n /**\n * @protected\n * 获取默认的矩阵\n * @returns {number[]|null} 默认的矩阵\n */\n Element.prototype.getDefaultMatrix = function () {\n return null;\n };\n // 将向量应用设置的矩阵\n Element.prototype.applyToMatrix = function (v) {\n var matrix = this.attr('matrix');\n if (matrix) {\n return multiplyVec2(matrix, v);\n }\n return v;\n };\n // 根据设置的矩阵,将向量转换相对于图形/分组的位置\n Element.prototype.invertFromMatrix = function (v) {\n var matrix = this.attr('matrix');\n if (matrix) {\n var invertMatrix = invert(matrix);\n if (invertMatrix) {\n return multiplyVec2(invertMatrix, v);\n }\n }\n return v;\n };\n // 设置 clip\n Element.prototype.setClip = function (clipCfg) {\n var canvas = this.getCanvas();\n // 应该只设置当前元素的 clip,不应该去修改 clip 本身,方便 clip 被复用\n // TODO: setClip 的传参既 shape 配置,也支持 shape 对象\n // const preShape = this.get('clipShape');\n // if (preShape) {\n // // 将之前的 clipShape 销毁\n // preShape.destroy();\n // }\n var clipShape = null;\n // 如果配置项为 null,则不移除 clipShape\n if (clipCfg) {\n var ShapeBase = this.getShapeBase();\n var shapeType = upperFirst(clipCfg.type);\n var Cons = ShapeBase[shapeType];\n if (Cons) {\n clipShape = new Cons({\n type: clipCfg.type,\n isClipShape: true,\n attrs: clipCfg.attrs,\n canvas: canvas,\n });\n }\n }\n this.set('clipShape', clipShape);\n this.onCanvasChange('clip');\n return clipShape;\n };\n Element.prototype.getClip = function () {\n // 高频率调用的地方直接使用 this.cfg.xxx\n var clipShape = this.cfg.clipShape;\n // 未设置时返回 Null,保证一致性\n if (!clipShape) {\n return null;\n }\n return clipShape;\n };\n Element.prototype.clone = function () {\n var _this = this;\n var originAttrs = this.attrs;\n var attrs = {};\n each(originAttrs, function (i, k) {\n if (isArray(originAttrs[k])) {\n attrs[k] = _cloneArrayAttr(originAttrs[k]);\n }\n else {\n attrs[k] = originAttrs[k];\n }\n });\n var cons = this.constructor;\n // @ts-ignore\n var clone = new cons({ attrs: attrs });\n each(CLONE_CFGS, function (cfgName) {\n clone.set(cfgName, _this.get(cfgName));\n });\n return clone;\n };\n Element.prototype.destroy = function () {\n var destroyed = this.destroyed;\n if (destroyed) {\n return;\n }\n this.attrs = {};\n _super.prototype.destroy.call(this);\n // this.onCanvasChange('destroy');\n };\n /**\n * 是否处于动画暂停状态\n * @return {boolean} 是否处于动画暂停状态\n */\n Element.prototype.isAnimatePaused = function () {\n return this.get('_pause').isPaused;\n };\n /**\n * 执行动画,支持多种函数签名\n * 1. animate(toAttrs: ElementAttrs, duration: number, easing?: string, callback?: () => void, delay?: number)\n * 2. animate(onFrame: OnFrame, duration: number, easing?: string, callback?: () => void, delay?: number)\n * 3. animate(toAttrs: ElementAttrs, cfg: AnimateCfg)\n * 4. animate(onFrame: OnFrame, cfg: AnimateCfg)\n * 各个参数的含义为:\n * toAttrs 动画最终状态\n * onFrame 自定义帧动画函数\n * duration 动画执行时间\n * easing 动画缓动效果\n * callback 动画执行后的回调\n * delay 动画延迟时间\n */\n Element.prototype.animate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n this.set('animating', true);\n var timeline = this.get('timeline');\n if (!timeline) {\n timeline = this.get('canvas').get('timeline');\n this.set('timeline', timeline);\n }\n var animations = this.get('animations') || [];\n // 初始化 tick\n if (!timeline.timer) {\n timeline.initTimer();\n }\n var toAttrs = args[0], duration = args[1], _a = args[2], easing = _a === void 0 ? 'easeLinear' : _a, _b = args[3], callback = _b === void 0 ? noop : _b, _c = args[4], delay = _c === void 0 ? 0 : _c;\n var onFrame;\n var repeat;\n var pauseCallback;\n var resumeCallback;\n var animateCfg;\n // 第二个参数,既可以是动画最终状态 toAttrs,也可以是自定义帧动画函数 onFrame\n if (isFunction(toAttrs)) {\n onFrame = toAttrs;\n toAttrs = {};\n }\n else if (isObject(toAttrs) && toAttrs.onFrame) {\n // 兼容 3.0 中的写法,onFrame 和 repeat 可在 toAttrs 中设置\n onFrame = toAttrs.onFrame;\n repeat = toAttrs.repeat;\n }\n // 第二个参数,既可以是执行时间 duration,也可以是动画参数 animateCfg\n if (isObject(duration)) {\n animateCfg = duration;\n duration = animateCfg.duration;\n easing = animateCfg.easing || 'easeLinear';\n delay = animateCfg.delay || 0;\n // animateCfg 中的设置优先级更高\n repeat = animateCfg.repeat || repeat || false;\n callback = animateCfg.callback || noop;\n pauseCallback = animateCfg.pauseCallback || noop;\n resumeCallback = animateCfg.resumeCallback || noop;\n }\n else {\n // 第四个参数,既可以是回调函数 callback,也可以是延迟时间 delay\n if (isNumber(callback)) {\n delay = callback;\n callback = null;\n }\n // 第三个参数,既可以是缓动参数 easing,也可以是回调函数 callback\n if (isFunction(easing)) {\n callback = easing;\n easing = 'easeLinear';\n }\n else {\n easing = easing || 'easeLinear';\n }\n }\n var formatToAttrs = getFormatToAttrs(toAttrs, this);\n var animation = {\n fromAttrs: getFormatFromAttrs(formatToAttrs, this),\n toAttrs: formatToAttrs,\n duration: duration,\n easing: easing,\n repeat: repeat,\n callback: callback,\n pauseCallback: pauseCallback,\n resumeCallback: resumeCallback,\n delay: delay,\n startTime: timeline.getTime(),\n id: uniqueId(),\n onFrame: onFrame,\n pathFormatted: false,\n };\n // 如果动画元素队列中已经有这个图形了\n if (animations.length > 0) {\n // 先检查是否需要合并属性。若有相同的动画,将该属性从前一个动画中删除,直接用后一个动画中\n animations = checkExistedAttrs(animations, animation);\n }\n else {\n // 否则将图形添加到动画元素队列\n timeline.addAnimator(this);\n }\n animations.push(animation);\n this.set('animations', animations);\n this.set('_pause', { isPaused: false });\n };\n /**\n * 停止动画\n * @param {boolean} toEnd 是否到动画的最终状态\n */\n Element.prototype.stopAnimate = function (toEnd) {\n var _this = this;\n if (toEnd === void 0) { toEnd = true; }\n var animations = this.get('animations');\n each(animations, function (animation) {\n // 将动画执行到最后一帧\n if (toEnd) {\n if (animation.onFrame) {\n _this.attr(animation.onFrame(1));\n }\n else {\n _this.attr(animation.toAttrs);\n }\n }\n if (animation.callback) {\n // 动画停止时的回调\n animation.callback();\n }\n });\n this.set('animating', false);\n this.set('animations', []);\n };\n /**\n * 暂停动画\n */\n Element.prototype.pauseAnimate = function () {\n var timeline = this.get('timeline');\n var animations = this.get('animations');\n var pauseTime = timeline.getTime();\n each(animations, function (animation) {\n animation._paused = true;\n animation._pauseTime = pauseTime;\n if (animation.pauseCallback) {\n // 动画暂停时的回调\n animation.pauseCallback();\n }\n });\n // 记录下是在什么时候暂停的\n this.set('_pause', {\n isPaused: true,\n pauseTime: pauseTime,\n });\n return this;\n };\n /**\n * 恢复动画\n */\n Element.prototype.resumeAnimate = function () {\n var timeline = this.get('timeline');\n var current = timeline.getTime();\n var animations = this.get('animations');\n var pauseTime = this.get('_pause').pauseTime;\n // 之后更新属性需要计算动画已经执行的时长,如果暂停了,就把初始时间调后\n each(animations, function (animation) {\n animation.startTime = animation.startTime + (current - pauseTime);\n animation._paused = false;\n animation._pauseTime = null;\n if (animation.resumeCallback) {\n animation.resumeCallback();\n }\n });\n this.set('_pause', {\n isPaused: false,\n });\n this.set('animations', animations);\n return this;\n };\n /**\n * 触发委托事件\n * @param {string} type 事件类型\n * @param {GraphEvent} eventObj 事件对象\n */\n Element.prototype.emitDelegation = function (type, eventObj) {\n var _this = this;\n var paths = eventObj.propagationPath;\n var events = this.getEvents();\n var relativeShape;\n if (type === 'mouseenter') {\n relativeShape = eventObj.fromShape;\n }\n else if (type === 'mouseleave') {\n relativeShape = eventObj.toShape;\n }\n var _loop_1 = function (i) {\n var element = paths[i];\n // 暂定跟 name 绑定\n var name_1 = element.get('name');\n if (name_1) {\n // 第一个 mouseenter 和 mouseleave 的停止即可,因为后面的都是前面的 Parent\n if (\n // 只有 element 是 Group 或者 Canvas 的时候,才需要判断 isParent\n (element.isGroup() || (element.isCanvas && element.isCanvas())) &&\n relativeShape &&\n isParent(element, relativeShape)) {\n return \"break\";\n }\n if (isArray(name_1)) {\n each(name_1, function (subName) {\n _this.emitDelegateEvent(element, subName, eventObj);\n });\n }\n else {\n this_1.emitDelegateEvent(element, name_1, eventObj);\n }\n }\n };\n var this_1 = this;\n // 至少有一个对象,且第一个对象为 shape\n for (var i = 0; i < paths.length; i++) {\n var state_1 = _loop_1(i);\n if (state_1 === \"break\")\n break;\n }\n };\n Element.prototype.emitDelegateEvent = function (element, name, eventObj) {\n var events = this.getEvents();\n // 事件委托的形式 name:type\n var eventName = name + DELEGATION_SPLIT + eventObj.type;\n if (events[eventName] || events[WILDCARD]) {\n // 对于通配符 *,事件名称 = 委托事件名称\n eventObj.name = eventName;\n eventObj.currentTarget = element;\n eventObj.delegateTarget = this;\n // 将委托事件的监听对象 delegateObject 挂载到事件对象上\n eventObj.delegateObject = element.get('delegateObject');\n this.emit(eventName, eventObj);\n }\n };\n /**\n * 移动元素\n * @param {number} translateX 水平移动距离\n * @param {number} translateY 垂直移动距离\n * @return {IElement} 元素\n */\n Element.prototype.translate = function (translateX, translateY) {\n if (translateX === void 0) { translateX = 0; }\n if (translateY === void 0) { translateY = 0; }\n var matrix = this.getMatrix();\n var newMatrix = ext.transform(matrix, [['t', translateX, translateY]]);\n this.setMatrix(newMatrix);\n return this;\n };\n /**\n * 移动元素到目标位置\n * @param {number} targetX 目标位置的水平坐标\n * @param {number} targetX 目标位置的垂直坐标\n * @return {IElement} 元素\n */\n Element.prototype.move = function (targetX, targetY) {\n var x = this.attr('x') || 0;\n var y = this.attr('y') || 0;\n this.translate(targetX - x, targetY - y);\n return this;\n };\n /**\n * 移动元素到目标位置,等价于 move 方法。由于 moveTo 的语义性更强,因此在文档中推荐使用 moveTo 方法\n * @param {number} targetX 目标位置的 x 轴坐标\n * @param {number} targetY 目标位置的 y 轴坐标\n * @return {IElement} 元素\n */\n Element.prototype.moveTo = function (targetX, targetY) {\n return this.move(targetX, targetY);\n };\n /**\n * 缩放元素\n * @param {number} ratioX 水平缩放比例\n * @param {number} ratioY 垂直缩放比例\n * @return {IElement} 元素\n */\n Element.prototype.scale = function (ratioX, ratioY) {\n var matrix = this.getMatrix();\n var newMatrix = ext.transform(matrix, [['s', ratioX, ratioY || ratioX]]);\n this.setMatrix(newMatrix);\n return this;\n };\n /**\n * 以画布左上角 (0, 0) 为中心旋转元素\n * @param {number} radian 旋转角度(弧度值)\n * @return {IElement} 元素\n */\n Element.prototype.rotate = function (radian) {\n var matrix = this.getMatrix();\n var newMatrix = ext.transform(matrix, [['r', radian]]);\n this.setMatrix(newMatrix);\n return this;\n };\n /**\n * 以起始点为中心旋转元素\n * @param {number} radian 旋转角度(弧度值)\n * @return {IElement} 元素\n */\n Element.prototype.rotateAtStart = function (rotate) {\n var _a = this.attr(), x = _a.x, y = _a.y;\n var matrix = this.getMatrix();\n var newMatrix = ext.transform(matrix, [\n ['t', -x, -y],\n ['r', rotate],\n ['t', x, y],\n ]);\n this.setMatrix(newMatrix);\n return this;\n };\n /**\n * 以任意点 (x, y) 为中心旋转元素\n * @param {number} radian 旋转角度(弧度值)\n * @return {IElement} 元素\n */\n Element.prototype.rotateAtPoint = function (x, y, rotate) {\n var matrix = this.getMatrix();\n var newMatrix = ext.transform(matrix, [\n ['t', -x, -y],\n ['r', rotate],\n ['t', x, y],\n ]);\n this.setMatrix(newMatrix);\n return this;\n };\n return Element;\n}(Base));\nexport default Element;\n//# sourceMappingURL=element.js.map","import { __extends } from \"tslib\";\nimport Element from './element';\nimport { isFunction, isObject, each, removeFromArray, upperFirst, isAllowCapture } from '../util/util';\nvar SHAPE_MAP = {};\nvar INDEX = '_INDEX';\nfunction afterAdd(element) {\n if (element.isGroup()) {\n if (element.isEntityGroup() || element.get('children').length) {\n element.onCanvasChange('add');\n }\n }\n else {\n element.onCanvasChange('add');\n }\n}\n/**\n * 设置 canvas\n * @param {IElement} element 元素\n * @param {ICanvas} canvas 画布\n */\nfunction setCanvas(element, canvas) {\n element.set('canvas', canvas);\n if (element.isGroup()) {\n var children = element.get('children');\n if (children.length) {\n children.forEach(function (child) {\n setCanvas(child, canvas);\n });\n }\n }\n}\n/**\n * 设置 timeline\n * @param {IElement} element 元素\n * @param {Timeline} timeline 时间轴\n */\nfunction setTimeline(element, timeline) {\n element.set('timeline', timeline);\n if (element.isGroup()) {\n var children = element.get('children');\n if (children.length) {\n children.forEach(function (child) {\n setTimeline(child, timeline);\n });\n }\n }\n}\nfunction contains(container, element) {\n var children = container.getChildren();\n return children.indexOf(element) >= 0;\n}\nfunction removeChild(container, element, destroy) {\n if (destroy === void 0) { destroy = true; }\n // 不再调用 element.remove() 方法,会出现循环调用\n if (destroy) {\n element.destroy();\n }\n else {\n element.set('parent', null);\n element.set('canvas', null);\n }\n removeFromArray(container.getChildren(), element);\n}\nfunction getComparer(compare) {\n return function (left, right) {\n var result = compare(left, right);\n return result === 0 ? left[INDEX] - right[INDEX] : result;\n };\n}\nvar Container = /** @class */ (function (_super) {\n __extends(Container, _super);\n function Container() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Container.prototype.isCanvas = function () {\n return false;\n };\n // 根据子节点确定 BBox\n Container.prototype.getBBox = function () {\n // 所有的值可能在画布的可视区外\n var minX = Infinity;\n var maxX = -Infinity;\n var minY = Infinity;\n var maxY = -Infinity;\n var xArr = [];\n var yArr = [];\n // 将可见元素、图形以及不为空的图形分组筛选出来,用于包围盒合并\n var children = this.getChildren().filter(function (child) {\n return child.get('visible') && (!child.isGroup() || (child.isGroup() && child.getChildren().length > 0));\n });\n if (children.length > 0) {\n each(children, function (child) {\n var box = child.getBBox();\n xArr.push(box.minX, box.maxX);\n yArr.push(box.minY, box.maxY);\n });\n minX = Math.min.apply(null, xArr);\n maxX = Math.max.apply(null, xArr);\n minY = Math.min.apply(null, yArr);\n maxY = Math.max.apply(null, yArr);\n }\n else {\n minX = 0;\n maxX = 0;\n minY = 0;\n maxY = 0;\n }\n var box = {\n x: minX,\n y: minY,\n minX: minX,\n minY: minY,\n maxX: maxX,\n maxY: maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n return box;\n };\n // 获取画布的包围盒\n Container.prototype.getCanvasBBox = function () {\n var minX = Infinity;\n var maxX = -Infinity;\n var minY = Infinity;\n var maxY = -Infinity;\n var xArr = [];\n var yArr = [];\n // 将可见元素、图形以及不为空的图形分组筛选出来,用于包围盒合并\n var children = this.getChildren().filter(function (child) {\n return child.get('visible') && (!child.isGroup() || (child.isGroup() && child.getChildren().length > 0));\n });\n if (children.length > 0) {\n each(children, function (child) {\n var box = child.getCanvasBBox();\n xArr.push(box.minX, box.maxX);\n yArr.push(box.minY, box.maxY);\n });\n minX = Math.min.apply(null, xArr);\n maxX = Math.max.apply(null, xArr);\n minY = Math.min.apply(null, yArr);\n maxY = Math.max.apply(null, yArr);\n }\n else {\n minX = 0;\n maxX = 0;\n minY = 0;\n maxY = 0;\n }\n var box = {\n x: minX,\n y: minY,\n minX: minX,\n minY: minY,\n maxX: maxX,\n maxY: maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n return box;\n };\n Container.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n cfg['children'] = [];\n return cfg;\n };\n Container.prototype.onAttrChange = function (name, value, originValue) {\n _super.prototype.onAttrChange.call(this, name, value, originValue);\n if (name === 'matrix') {\n var totalMatrix = this.getTotalMatrix();\n this._applyChildrenMarix(totalMatrix);\n }\n };\n // 不但应用到自己身上还要应用于子元素\n Container.prototype.applyMatrix = function (matrix) {\n var preTotalMatrix = this.getTotalMatrix();\n _super.prototype.applyMatrix.call(this, matrix);\n var totalMatrix = this.getTotalMatrix();\n // totalMatrix 没有发生变化时,这里仅考虑两者都为 null 时\n // 不继续向下传递矩阵\n if (totalMatrix === preTotalMatrix) {\n return;\n }\n this._applyChildrenMarix(totalMatrix);\n };\n // 在子元素上设置矩阵\n Container.prototype._applyChildrenMarix = function (totalMatrix) {\n var children = this.getChildren();\n each(children, function (child) {\n child.applyMatrix(totalMatrix);\n });\n };\n // 兼容老版本的接口\n Container.prototype.addShape = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var type = args[0];\n var cfg = args[1];\n if (isObject(type)) {\n cfg = type;\n }\n else {\n cfg['type'] = type;\n }\n var shapeType = SHAPE_MAP[cfg.type];\n if (!shapeType) {\n shapeType = upperFirst(cfg.type);\n SHAPE_MAP[cfg.type] = shapeType;\n }\n var ShapeBase = this.getShapeBase();\n var shape = new ShapeBase[shapeType](cfg);\n this.add(shape);\n return shape;\n };\n Container.prototype.addGroup = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var groupClass = args[0], cfg = args[1];\n var group;\n if (isFunction(groupClass)) {\n if (cfg) {\n group = new groupClass(cfg);\n }\n else {\n group = new groupClass({\n // canvas,\n parent: this,\n });\n }\n }\n else {\n var tmpCfg = groupClass || {};\n var TmpGroupClass = this.getGroupBase();\n group = new TmpGroupClass(tmpCfg);\n }\n this.add(group);\n return group;\n };\n Container.prototype.getCanvas = function () {\n var canvas;\n if (this.isCanvas()) {\n canvas = this;\n }\n else {\n canvas = this.get('canvas');\n }\n return canvas;\n };\n Container.prototype.getShape = function (x, y, ev) {\n // 如果不支持拾取,则直接返回\n if (!isAllowCapture(this)) {\n return null;\n }\n var children = this.getChildren();\n var shape;\n // 如果容器是 group\n if (!this.isCanvas()) {\n var v = [x, y, 1];\n // 将 x, y 转换成对应于 group 的局部坐标\n v = this.invertFromMatrix(v);\n if (!this.isClipped(v[0], v[1])) {\n shape = this._findShape(children, v[0], v[1], ev);\n }\n }\n else {\n shape = this._findShape(children, x, y, ev);\n }\n return shape;\n };\n Container.prototype._findShape = function (children, x, y, ev) {\n var shape = null;\n for (var i = children.length - 1; i >= 0; i--) {\n var child = children[i];\n if (isAllowCapture(child)) {\n if (child.isGroup()) {\n shape = child.getShape(x, y, ev);\n }\n else if (child.isHit(x, y)) {\n shape = child;\n }\n }\n if (shape) {\n break;\n }\n }\n return shape;\n };\n Container.prototype.add = function (element) {\n var canvas = this.getCanvas();\n var children = this.getChildren();\n var timeline = this.get('timeline');\n var preParent = element.getParent();\n if (preParent) {\n removeChild(preParent, element, false);\n }\n element.set('parent', this);\n if (canvas) {\n setCanvas(element, canvas);\n }\n if (timeline) {\n setTimeline(element, timeline);\n }\n children.push(element);\n afterAdd(element);\n this._applyElementMatrix(element);\n };\n // 将当前容器的矩阵应用到子元素\n Container.prototype._applyElementMatrix = function (element) {\n var totalMatrix = this.getTotalMatrix();\n // 添加图形或者分组时,需要把当前图元的矩阵设置进去\n if (totalMatrix) {\n element.applyMatrix(totalMatrix);\n }\n };\n Container.prototype.getChildren = function () {\n return this.get('children');\n };\n Container.prototype.sort = function () {\n var children = this.getChildren();\n // 稳定排序\n each(children, function (child, index) {\n child[INDEX] = index;\n return child;\n });\n children.sort(getComparer(function (obj1, obj2) {\n return obj1.get('zIndex') - obj2.get('zIndex');\n }));\n this.onCanvasChange('sort');\n };\n Container.prototype.clear = function () {\n this.set('clearing', true);\n if (this.destroyed) {\n return;\n }\n var children = this.getChildren();\n for (var i = children.length - 1; i >= 0; i--) {\n children[i].destroy(); // 销毁子元素\n }\n this.set('children', []);\n this.onCanvasChange('clear');\n this.set('clearing', false);\n };\n Container.prototype.destroy = function () {\n if (this.get('destroyed')) {\n return;\n }\n this.clear();\n _super.prototype.destroy.call(this);\n };\n /**\n * 获取第一个子元素\n * @return {IElement} 第一个元素\n */\n Container.prototype.getFirst = function () {\n return this.getChildByIndex(0);\n };\n /**\n * 获取最后一个子元素\n * @return {IElement} 元素\n */\n Container.prototype.getLast = function () {\n var children = this.getChildren();\n return this.getChildByIndex(children.length - 1);\n };\n /**\n * 根据索引获取子元素\n * @return {IElement} 第一个元素\n */\n Container.prototype.getChildByIndex = function (index) {\n var children = this.getChildren();\n return children[index];\n };\n /**\n * 子元素的数量\n * @return {number} 子元素数量\n */\n Container.prototype.getCount = function () {\n var children = this.getChildren();\n return children.length;\n };\n /**\n * 是否包含对应元素\n * @param {IElement} element 元素\n * @return {boolean}\n */\n Container.prototype.contain = function (element) {\n var children = this.getChildren();\n return children.indexOf(element) > -1;\n };\n /**\n * 移除对应子元素\n * @param {IElement} element 子元素\n * @param {boolean} destroy 是否销毁子元素,默认为 true\n */\n Container.prototype.removeChild = function (element, destroy) {\n if (destroy === void 0) { destroy = true; }\n if (this.contain(element)) {\n element.remove(destroy);\n }\n };\n /**\n * 查找所有匹配的元素\n * @param {ElementFilterFn} fn 匹配函数\n * @return {IElement[]} 元素数组\n */\n Container.prototype.findAll = function (fn) {\n var rst = [];\n var children = this.getChildren();\n each(children, function (element) {\n if (fn(element)) {\n rst.push(element);\n }\n if (element.isGroup()) {\n rst = rst.concat(element.findAll(fn));\n }\n });\n return rst;\n };\n /**\n * 查找元素,找到第一个返回\n * @param {ElementFilterFn} fn 匹配函数\n * @return {IElement|null} 元素,可以为空\n */\n Container.prototype.find = function (fn) {\n var rst = null;\n var children = this.getChildren();\n each(children, function (element) {\n if (fn(element)) {\n rst = element;\n }\n else if (element.isGroup()) {\n rst = element.find(fn);\n }\n if (rst) {\n return false;\n }\n });\n return rst;\n };\n /**\n * 根据 ID 查找元素\n * @param {string} id 元素 id\n * @return {IElement|null} 元素\n */\n Container.prototype.findById = function (id) {\n return this.find(function (element) {\n return element.get('id') === id;\n });\n };\n /**\n * 该方法即将废弃,不建议使用\n * 根据 className 查找元素\n * TODO: 该方式定义暂时只给 G6 3.3 以后的版本使用,待 G6 中的 findByClassName 方法移除后,G 也需要同步移除\n * @param {string} className 元素 className\n * @return {IElement | null} 元素\n */\n Container.prototype.findByClassName = function (className) {\n return this.find(function (element) {\n return element.get('className') === className;\n });\n };\n /**\n * 根据 name 查找元素列表\n * @param {string} name 元素名称\n * @return {IElement[]} 元素\n */\n Container.prototype.findAllByName = function (name) {\n return this.findAll(function (element) {\n return element.get('name') === name;\n });\n };\n return Container;\n}(Element));\nexport default Container;\n//# sourceMappingURL=container.js.map","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(null, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(\"^rgb\\\\(\" + [reI, reI, reI] + \"\\\\)$\"),\n reRgbPercent = new RegExp(\"^rgb\\\\(\" + [reP, reP, reP] + \"\\\\)$\"),\n reRgbaInteger = new RegExp(\"^rgba\\\\(\" + [reI, reI, reI, reN] + \"\\\\)$\"),\n reRgbaPercent = new RegExp(\"^rgba\\\\(\" + [reP, reP, reP, reN] + \"\\\\)$\"),\n reHslPercent = new RegExp(\"^hsl\\\\(\" + [reN, reP, reP] + \"\\\\)$\"),\n reHslaPercent = new RegExp(\"^hsla\\\\(\" + [reN, reP, reP, reN] + \"\\\\)$\");\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy: function(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable: function() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb: function() {\n return this;\n },\n displayable: function() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return \"#\" + hex(this.r) + hex(this.g) + hex(this.b);\n}\n\nfunction rgb_formatRgb() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"rgb(\" : \"rgba(\")\n + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + \", \"\n + Math.max(0, Math.min(255, Math.round(this.b) || 0))\n + (a === 1 ? \")\" : \", \" + a + \")\");\n}\n\nfunction hex(value) {\n value = Math.max(0, Math.min(255, Math.round(value) || 0));\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter: function(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker: function(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb: function() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n displayable: function() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl: function() {\n var a = this.opacity; a = isNaN(a) ? 1 : Math.max(0, Math.min(1, a));\n return (a === 1 ? \"hsl(\" : \"hsla(\")\n + (this.h || 0) + \", \"\n + (this.s || 0) * 100 + \"%, \"\n + (this.l || 0) * 100 + \"%\"\n + (a === 1 ? \")\" : \", \" + a + \")\");\n }\n}));\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default function(a, b) {\n if (!b) b = [];\n var n = a ? Math.min(b.length, a.length) : 0,\n c = b.slice(),\n i;\n return function(t) {\n for (i = 0; i < n; ++i) c[i] = a[i] * (1 - t) + b[i] * t;\n return c;\n };\n}\n\nexport function isNumberArray(x) {\n return ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n","import value from \"./value.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n return (isNumberArray(b) ? numberArray : genericArray)(a, b);\n}\n\nexport function genericArray(a, b) {\n var nb = b ? b.length : 0,\n na = a ? Math.min(nb, a.length) : 0,\n x = new Array(na),\n c = new Array(nb),\n i;\n\n for (i = 0; i < na; ++i) x[i] = value(a[i], b[i]);\n for (; i < nb; ++i) c[i] = b[i];\n\n return function(t) {\n for (i = 0; i < na; ++i) c[i] = x[i](t);\n return c;\n };\n}\n","export default function(a, b) {\n var d = new Date;\n return a = +a, b = +b, function(t) {\n return d.setTime(a * (1 - t) + b * t), d;\n };\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","import value from \"./value.js\";\n\nexport default function(a, b) {\n var i = {},\n c = {},\n k;\n\n if (a === null || typeof a !== \"object\") a = {};\n if (b === null || typeof b !== \"object\") b = {};\n\n for (k in b) {\n if (k in a) {\n i[k] = value(a[k], b[k]);\n } else {\n c[k] = b[k];\n }\n }\n\n return function(t) {\n for (k in i) c[k] = i[k](t);\n return c;\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport rgb from \"./rgb.js\";\nimport {genericArray} from \"./array.js\";\nimport date from \"./date.js\";\nimport number from \"./number.js\";\nimport object from \"./object.js\";\nimport string from \"./string.js\";\nimport constant from \"./constant.js\";\nimport numberArray, {isNumberArray} from \"./numberArray.js\";\n\nexport default function(a, b) {\n var t = typeof b, c;\n return b == null || t === \"boolean\" ? constant(b)\n : (t === \"number\" ? number\n : t === \"string\" ? ((c = color(b)) ? (b = c, rgb) : string)\n : b instanceof color ? rgb\n : b instanceof Date ? date\n : isNumberArray(b) ? numberArray\n : Array.isArray(b) ? genericArray\n : typeof b.valueOf !== \"function\" && typeof b.toString !== \"function\" || isNaN(b) ? object\n : number)(a, b);\n}\n","import { isEqual, isNumber, isFunction } from '@antv/util';\nimport * as d3Timer from 'd3-timer';\nimport * as d3Ease from 'd3-ease';\nimport { interpolate, interpolateArray } from 'd3-interpolate'; // 目前整体动画只需要数值和数组的差值计算\nimport * as PathUtil from '../util/path';\nimport { isColorProp, isGradientColor } from '../util/color';\nvar IDENTITY_MATRIX = [1, 0, 0, 0, 1, 0, 0, 0, 1];\n/**\n * 使用 ratio 进行插值计算来更新属性\n * @param {IElement} shape 元素\n * @param {Animation} animation 动画\n * @param {number} ratio 比例\n * @return {boolean} 动画是否执行完成\n */\nfunction _update(shape, animation, ratio) {\n var cProps = {}; // 此刻属性\n var fromAttrs = animation.fromAttrs, toAttrs = animation.toAttrs;\n if (shape.destroyed) {\n return;\n }\n var interf; // 差值函数\n for (var k in toAttrs) {\n if (!isEqual(fromAttrs[k], toAttrs[k])) {\n if (k === 'path') {\n var toPath = toAttrs[k];\n var fromPath = fromAttrs[k];\n if (toPath.length > fromPath.length) {\n toPath = PathUtil.parsePathString(toAttrs[k]); // 终点状态\n fromPath = PathUtil.parsePathString(fromAttrs[k]); // 起始状态\n fromPath = PathUtil.fillPathByDiff(fromPath, toPath);\n fromPath = PathUtil.formatPath(fromPath, toPath);\n animation.fromAttrs.path = fromPath;\n animation.toAttrs.path = toPath;\n }\n else if (!animation.pathFormatted) {\n toPath = PathUtil.parsePathString(toAttrs[k]);\n fromPath = PathUtil.parsePathString(fromAttrs[k]);\n fromPath = PathUtil.formatPath(fromPath, toPath);\n animation.fromAttrs.path = fromPath;\n animation.toAttrs.path = toPath;\n animation.pathFormatted = true;\n }\n cProps[k] = [];\n for (var i = 0; i < toPath.length; i++) {\n var toPathPoint = toPath[i];\n var fromPathPoint = fromPath[i];\n var cPathPoint = [];\n for (var j = 0; j < toPathPoint.length; j++) {\n if (isNumber(toPathPoint[j]) && fromPathPoint && isNumber(fromPathPoint[j])) {\n interf = interpolate(fromPathPoint[j], toPathPoint[j]);\n cPathPoint.push(interf(ratio));\n }\n else {\n cPathPoint.push(toPathPoint[j]);\n }\n }\n cProps[k].push(cPathPoint);\n }\n }\n else if (k === 'matrix') {\n /*\n 对矩阵进行插值时,需要保证矩阵不为空,为空则使用单位矩阵\n TODO: 二维和三维场景下单位矩阵不同,之后 WebGL 版需要做进一步处理\n */\n var matrixFn = interpolateArray(fromAttrs[k] || IDENTITY_MATRIX, toAttrs[k] || IDENTITY_MATRIX);\n var currentMatrix = matrixFn(ratio);\n cProps[k] = currentMatrix;\n }\n else if (isColorProp(k) && isGradientColor(toAttrs[k])) {\n cProps[k] = toAttrs[k];\n }\n else if (!isFunction(toAttrs[k])) {\n // 非函数类型的值才能做插值\n interf = interpolate(fromAttrs[k], toAttrs[k]);\n cProps[k] = interf(ratio);\n }\n }\n }\n shape.attr(cProps);\n}\n/**\n * 根据自定义帧动画函数 onFrame 来更新属性\n * @param {IElement} shape 元素\n * @param {Animation} animation 动画\n * @param {number} elapsed 动画执行时间(毫秒)\n * @return {boolean} 动画是否执行完成\n */\nfunction update(shape, animation, elapsed) {\n var startTime = animation.startTime, delay = animation.delay;\n // 如果还没有开始执行或暂停,先不更新\n if (elapsed < startTime + delay || animation._paused) {\n return false;\n }\n var ratio;\n var duration = animation.duration;\n var easing = animation.easing;\n // 已执行时间\n elapsed = elapsed - startTime - animation.delay;\n if (animation.repeat) {\n // 如果动画重复执行,则 elapsed > duration,计算 ratio 时需取模\n ratio = (elapsed % duration) / duration;\n ratio = d3Ease[easing](ratio);\n }\n else {\n ratio = elapsed / duration;\n if (ratio < 1) {\n // 动画未执行完\n ratio = d3Ease[easing](ratio);\n }\n else {\n // 动画已执行完\n if (animation.onFrame) {\n shape.attr(animation.onFrame(1));\n }\n else {\n shape.attr(animation.toAttrs);\n }\n return true;\n }\n }\n if (animation.onFrame) {\n var attrs = animation.onFrame(ratio);\n shape.attr(attrs);\n }\n else {\n _update(shape, animation, ratio);\n }\n return false;\n}\nvar Timeline = /** @class */ (function () {\n /**\n * 时间轴构造函数,依赖于画布\n * @param {}\n */\n function Timeline(canvas) {\n /**\n * 执行动画的元素列表\n * @type {IElement[]}\n */\n this.animators = [];\n /**\n * 当前时间\n * @type {number}\n */\n this.current = 0;\n /**\n * 定时器\n * @type {d3Timer.Timer}\n */\n this.timer = null;\n this.canvas = canvas;\n }\n /**\n * 初始化定时器\n */\n Timeline.prototype.initTimer = function () {\n var _this = this;\n var isFinished = false;\n var shape;\n var animations;\n var animation;\n this.timer = d3Timer.timer(function (elapsed) {\n _this.current = elapsed;\n if (_this.animators.length > 0) {\n for (var i = _this.animators.length - 1; i >= 0; i--) {\n shape = _this.animators[i];\n if (shape.destroyed) {\n // 如果已经被销毁,直接移出队列\n _this.removeAnimator(i);\n continue;\n }\n if (!shape.isAnimatePaused()) {\n animations = shape.get('animations');\n for (var j = animations.length - 1; j >= 0; j--) {\n animation = animations[j];\n isFinished = update(shape, animation, elapsed);\n if (isFinished) {\n animations.splice(j, 1);\n isFinished = false;\n if (animation.callback) {\n animation.callback();\n }\n }\n }\n }\n if (animations.length === 0) {\n _this.removeAnimator(i);\n }\n }\n var autoDraw = _this.canvas.get('autoDraw');\n // 非自动渲染模式下,手动调用 canvas.draw() 重新渲染\n if (!autoDraw) {\n _this.canvas.draw();\n }\n }\n });\n };\n /**\n * 增加动画元素\n */\n Timeline.prototype.addAnimator = function (shape) {\n this.animators.push(shape);\n };\n /**\n * 移除动画元素\n */\n Timeline.prototype.removeAnimator = function (index) {\n this.animators.splice(index, 1);\n };\n /**\n * 是否有动画在执行\n */\n Timeline.prototype.isAnimating = function () {\n return !!this.animators.length;\n };\n /**\n * 停止定时器\n */\n Timeline.prototype.stop = function () {\n if (this.timer) {\n this.timer.stop();\n }\n };\n /**\n * 停止时间轴上所有元素的动画,并置空动画元素列表\n * @param {boolean} toEnd 是否到动画的最终状态,用来透传给动画元素的 stopAnimate 方法\n */\n Timeline.prototype.stopAllAnimations = function (toEnd) {\n if (toEnd === void 0) { toEnd = true; }\n this.animators.forEach(function (animator) {\n animator.stopAnimate(toEnd);\n });\n this.animators = [];\n this.canvas.draw();\n };\n /**\n * 获取当前时间\n */\n Timeline.prototype.getTime = function () {\n return this.current;\n };\n return Timeline;\n}());\nexport default Timeline;\n//# sourceMappingURL=timeline.js.map","export var isColorProp = function (prop) { return ['fill', 'stroke', 'fillStyle', 'strokeStyle'].includes(prop); };\nexport var isGradientColor = function (val) { return /^[r,R,L,l]{1}[\\s]*\\(/.test(val); };\n//# sourceMappingURL=color.js.map","/**\n * @fileoverview 事件处理器\n * @author dxq613@gmail.com\n */\nimport GraphEvent from './graph-event';\nimport { each, isParent } from '../util/util';\nvar CLICK_OFFSET = 40;\nvar LEFT_BTN_CODE = 0;\nvar DELEGATION_SPLIT = ':';\nvar EVENTS = [\n 'mousedown',\n 'mouseup',\n 'dblclick',\n 'mouseout',\n 'mouseover',\n 'mousemove',\n 'mouseleave',\n 'mouseenter',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'dragenter',\n 'dragover',\n 'dragleave',\n 'drop',\n 'contextmenu',\n 'mousewheel',\n];\n// 是否有委托事件监听\nfunction hasDelegation(events, type) {\n for (var key in events) {\n if (events.hasOwnProperty(key) && key.indexOf(DELEGATION_SPLIT + type) >= 0) {\n return true;\n }\n }\n return false;\n}\n// 触发目标事件,目标只能是 shape 或 canvas\nfunction emitTargetEvent(target, type, eventObj) {\n eventObj.name = type;\n eventObj.target = target;\n eventObj.currentTarget = target;\n eventObj.delegateTarget = target;\n target.emit(type, eventObj);\n}\n// 事件冒泡, enter 和 leave 需要对 fromShape 和 toShape 进行判同\nfunction bubbleEvent(container, type, eventObj) {\n if (eventObj.bubbles) {\n var relativeShape = void 0;\n var isOverEvent = false;\n if (type === 'mouseenter') {\n relativeShape = eventObj.fromShape;\n isOverEvent = true;\n }\n else if (type === 'mouseleave') {\n isOverEvent = true;\n relativeShape = eventObj.toShape;\n }\n // canvas 上的 mouseenter, mouseleave 事件,仅当进入或者移出 canvas 时触发\n if (container.isCanvas() && isOverEvent) {\n return;\n }\n // 如果相关图形同当前图形在同一个容器内,不触发事件\n if (relativeShape && isParent(container, relativeShape)) {\n // 阻止继续向上冒泡\n eventObj.bubbles = false;\n return;\n }\n // 事件名称可能在委托过程中被修改,因此事件冒泡时需要重新设置事件名称\n eventObj.name = type;\n eventObj.currentTarget = container;\n eventObj.delegateTarget = container;\n container.emit(type, eventObj);\n }\n}\nvar EventController = /** @class */ (function () {\n function EventController(cfg) {\n var _this = this;\n // 正在被拖拽的图形\n this.draggingShape = null;\n this.dragging = false;\n // 当前鼠标/touch所在位置的图形\n this.currentShape = null;\n this.mousedownShape = null;\n this.mousedownPoint = null;\n // 统一处理所有的回调\n this._eventCallback = function (ev) {\n var type = ev.type;\n _this._triggerEvent(type, ev);\n };\n // 在 document 处理拖拽到画布外的事件,处理从图形上移除画布未被捕捉的问题\n this._onDocumentMove = function (ev) {\n var canvas = _this.canvas;\n var el = canvas.get('el');\n if (el !== ev.target) {\n // 不在 canvas 上移动\n if (_this.dragging || _this.currentShape) {\n var pointInfo = _this._getPointInfo(ev);\n // 还在拖拽过程中\n if (_this.dragging) {\n _this._emitEvent('drag', ev, pointInfo, _this.draggingShape);\n }\n // 说明从某个图形直接移动到了画布外面,\n // 修复了 mouseleave 的 bug 后不再出现这种情况\n // if (this.currentShape) {\n // this._emitEvent('mouseleave', ev, pointInfo, this.currentShape, this.currentShape, null);\n // this.currentShape = null;\n // }\n }\n }\n };\n // 在 document 上处理拖拽到外面,释放鼠标时触发 dragend\n this._onDocumentMouseUp = function (ev) {\n var canvas = _this.canvas;\n var el = canvas.get('el');\n if (el !== ev.target) {\n // 不在 canvas 上移动\n if (_this.dragging) {\n var pointInfo = _this._getPointInfo(ev);\n if (_this.draggingShape) {\n // 如果存在拖拽的图形,则也触发 drop 事件\n _this._emitEvent('drop', ev, pointInfo, null);\n }\n _this._emitEvent('dragend', ev, pointInfo, _this.draggingShape);\n _this._afterDrag(_this.draggingShape, pointInfo, ev);\n }\n }\n };\n this.canvas = cfg.canvas;\n }\n EventController.prototype.init = function () {\n this._bindEvents();\n };\n // 注册事件\n EventController.prototype._bindEvents = function () {\n var _this = this;\n var el = this.canvas.get('el');\n each(EVENTS, function (eventName) {\n el.addEventListener(eventName, _this._eventCallback);\n });\n if (document) {\n // 处理移动到外面没有触发 shape mouse leave 的事件\n // 处理拖拽到外部的问题\n document.addEventListener('mousemove', this._onDocumentMove);\n // 处理拖拽过程中在外部释放鼠标的问题\n document.addEventListener('mouseup', this._onDocumentMouseUp);\n }\n };\n // 清理事件\n EventController.prototype._clearEvents = function () {\n var _this = this;\n var el = this.canvas.get('el');\n each(EVENTS, function (eventName) {\n el.removeEventListener(eventName, _this._eventCallback);\n });\n if (document) {\n document.removeEventListener('mousemove', this._onDocumentMove);\n document.removeEventListener('mouseup', this._onDocumentMouseUp);\n }\n };\n EventController.prototype._getEventObj = function (type, event, point, target, fromShape, toShape) {\n var eventObj = new GraphEvent(type, event);\n eventObj.fromShape = fromShape;\n eventObj.toShape = toShape;\n eventObj.x = point.x;\n eventObj.y = point.y;\n eventObj.clientX = point.clientX;\n eventObj.clientY = point.clientY;\n eventObj.propagationPath.push(target);\n // 事件的x,y应该是基于画布左上角的,与canvas的matrix无关\n return eventObj;\n };\n // 根据点获取图形,提取成独立方法,便于后续优化\n EventController.prototype._getShape = function (point, ev) {\n return this.canvas.getShape(point.x, point.y, ev);\n };\n // 获取事件的当前点的信息\n EventController.prototype._getPointInfo = function (ev) {\n var canvas = this.canvas;\n var clientPoint = canvas.getClientByEvent(ev);\n var point = canvas.getPointByEvent(ev);\n return {\n x: point.x,\n y: point.y,\n clientX: clientPoint.x,\n clientY: clientPoint.y,\n };\n };\n // 触发事件\n EventController.prototype._triggerEvent = function (type, ev) {\n var pointInfo = this._getPointInfo(ev);\n // 每次都获取图形有一定成本,后期可以考虑进行缓存策略\n var shape = this._getShape(pointInfo, ev);\n var method = this[\"_on\" + type];\n var leaveCanvas = false;\n if (method) {\n method.call(this, pointInfo, shape, ev);\n }\n else {\n var preShape = this.currentShape;\n // 如果进入、移出画布时存在图形,则要分别触发事件\n if (type === 'mouseenter' || type === 'dragenter' || type === 'mouseover') {\n this._emitEvent(type, ev, pointInfo, null, null, shape); // 先进入画布\n if (shape) {\n this._emitEvent(type, ev, pointInfo, shape, null, shape); // 再触发图形的事件\n }\n if (type === 'mouseenter' && this.draggingShape) {\n // 如果正在拖拽图形, 则触发 dragleave\n this._emitEvent('dragenter', ev, pointInfo, null);\n }\n }\n else if (type === 'mouseleave' || type === 'dragleave' || type === 'mouseout') {\n leaveCanvas = true;\n if (preShape) {\n this._emitEvent(type, ev, pointInfo, preShape, preShape, null); // 先触发图形的事件\n }\n this._emitEvent(type, ev, pointInfo, null, preShape, null); // 再触发离开画布事件\n if (type === 'mouseleave' && this.draggingShape) {\n this._emitEvent('dragleave', ev, pointInfo, null);\n }\n }\n else {\n this._emitEvent(type, ev, pointInfo, shape, null, null); // 一般事件中不需要考虑 from, to\n }\n }\n if (!leaveCanvas) {\n this.currentShape = shape;\n }\n // 当鼠标从画布移动到 shape 或者从 preShape 移动到 shape 时,应用 shape 上的鼠标样式\n if (shape && !shape.get('destroyed')) {\n var canvas = this.canvas;\n var el = canvas.get('el');\n el.style.cursor = shape.attr('cursor') || canvas.get('cursor');\n }\n };\n // 记录下点击的位置、图形,便于拖拽事件、click 事件的判定\n EventController.prototype._onmousedown = function (pointInfo, shape, event) {\n // 只有鼠标左键的 mousedown 事件才会设置 mousedownShape 等属性,避免鼠标右键的 mousedown 事件引起其他事件发生\n if (event.button === LEFT_BTN_CODE) {\n this.mousedownShape = shape;\n this.mousedownPoint = pointInfo;\n this.mousedownTimeStamp = event.timeStamp;\n }\n this._emitEvent('mousedown', event, pointInfo, shape, null, null); // mousedown 不考虑fromShape, toShape\n };\n // mouseleave 和 mouseenter 都是成对存在的\n // mouseenter 和 mouseover 同时触发\n EventController.prototype._emitMouseoverEvents = function (event, pointInfo, fromShape, toShape) {\n var el = this.canvas.get('el');\n if (fromShape !== toShape) {\n if (fromShape) {\n this._emitEvent('mouseout', event, pointInfo, fromShape, fromShape, toShape);\n this._emitEvent('mouseleave', event, pointInfo, fromShape, fromShape, toShape);\n // 当鼠标从 fromShape 移动到画布上时,重置鼠标样式\n if (!toShape || toShape.get('destroyed')) {\n el.style.cursor = this.canvas.get('cursor');\n }\n }\n if (toShape) {\n this._emitEvent('mouseover', event, pointInfo, toShape, fromShape, toShape);\n this._emitEvent('mouseenter', event, pointInfo, toShape, fromShape, toShape);\n }\n }\n };\n // dragover 不等同于 mouseover,而等同于 mousemove\n EventController.prototype._emitDragoverEvents = function (event, pointInfo, fromShape, toShape, isCanvasEmit) {\n if (toShape) {\n if (toShape !== fromShape) {\n if (fromShape) {\n this._emitEvent('dragleave', event, pointInfo, fromShape, fromShape, toShape);\n }\n this._emitEvent('dragenter', event, pointInfo, toShape, fromShape, toShape);\n }\n if (!isCanvasEmit) {\n this._emitEvent('dragover', event, pointInfo, toShape);\n }\n }\n else if (fromShape) {\n // TODO: 此处判断有问题,当 drag 图形时,也会触发一次 dragleave 事件,因为此时 toShape 为 null,这不是所期望的\n // 经过空白区域\n this._emitEvent('dragleave', event, pointInfo, fromShape, fromShape, toShape);\n }\n if (isCanvasEmit) {\n this._emitEvent('dragover', event, pointInfo, toShape);\n }\n };\n // drag 完成后,需要做一些清理工作\n EventController.prototype._afterDrag = function (draggingShape, pointInfo, event) {\n if (draggingShape) {\n draggingShape.set('capture', true); // 恢复可以拾取\n this.draggingShape = null;\n }\n this.dragging = false;\n // drag 完成后,有可能 draggingShape 已经移动到了当前位置,所以不能直接取当前图形\n var shape = this._getShape(pointInfo, event);\n // 拖拽完成后,进行 enter,leave 的判定\n if (shape !== draggingShape) {\n this._emitMouseoverEvents(event, pointInfo, draggingShape, shape);\n }\n this.currentShape = shape; // 更新当前 shape,如果不处理当前图形的 mouseleave 事件可能会出问题\n };\n // 按键抬起时,会终止拖拽、触发点击\n EventController.prototype._onmouseup = function (pointInfo, shape, event) {\n // eevent.button === 0 表示鼠标左键事件,此处加上判断主要是为了避免右键鼠标会触发 mouseup 和 click 事件\n // ref: https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button\n if (event.button === LEFT_BTN_CODE) {\n var draggingShape = this.draggingShape;\n if (this.dragging) {\n // 存在可以拖拽的图形,同时拖拽到其他图形上时触发 drag 事件\n if (draggingShape) {\n this._emitEvent('drop', event, pointInfo, shape);\n }\n this._emitEvent('dragend', event, pointInfo, draggingShape);\n this._afterDrag(draggingShape, pointInfo, event);\n }\n else {\n this._emitEvent('mouseup', event, pointInfo, shape); // 先触发 mouseup 再触发 click\n if (shape === this.mousedownShape) {\n this._emitEvent('click', event, pointInfo, shape);\n }\n this.mousedownShape = null;\n this.mousedownPoint = null;\n }\n }\n };\n // 当触发浏览器的 dragover 事件时,不会再触发 mousemove ,所以这时候的 dragenter, dragleave 事件需要重新处理\n EventController.prototype._ondragover = function (pointInfo, shape, event) {\n event.preventDefault(); // 如果不对 dragover 进行 preventDefault,则不会在 canvas 上触发 drop 事件\n var preShape = this.currentShape;\n this._emitDragoverEvents(event, pointInfo, preShape, shape, true);\n };\n // 大量的图形事件,都通过 mousemove 模拟\n EventController.prototype._onmousemove = function (pointInfo, shape, event) {\n var canvas = this.canvas;\n var preShape = this.currentShape;\n var draggingShape = this.draggingShape;\n // 正在拖拽时\n if (this.dragging) {\n // 正在拖拽中\n if (draggingShape) {\n // 如果拖拽了 shape 会触发 dragenter, dragleave, dragover 和 drag 事件\n this._emitDragoverEvents(event, pointInfo, preShape, shape, false);\n }\n // 如果存在 draggingShape 则会在 draggingShape 上触发 drag 事件,冒泡到 canvas 上\n // 否则在 canvas 上触发 drag 事件\n this._emitEvent('drag', event, pointInfo, draggingShape);\n }\n else {\n var mousedownPoint = this.mousedownPoint;\n if (mousedownPoint) {\n // 当鼠标点击下去,同时移动时,进行 drag 判定\n var mousedownShape = this.mousedownShape;\n var now = event.timeStamp;\n var timeWindow = now - this.mousedownTimeStamp;\n var dx = mousedownPoint.clientX - pointInfo.clientX;\n var dy = mousedownPoint.clientY - pointInfo.clientY;\n var dist = dx * dx + dy * dy;\n if (timeWindow > 120 || dist > CLICK_OFFSET) {\n if (mousedownShape && mousedownShape.get('draggable')) {\n // 设置了 draggable 的 shape 才能触发 drag 相关的事件\n draggingShape = this.mousedownShape; // 拖动鼠标点下时的 shape\n draggingShape.set('capture', false); // 禁止继续拾取,否则无法进行 dragover,dragenter,dragleave,drop的判定\n this.draggingShape = draggingShape;\n this.dragging = true;\n this._emitEvent('dragstart', event, pointInfo, draggingShape);\n // 清理按下鼠标时缓存的值\n this.mousedownShape = null;\n this.mousedownPoint = null;\n }\n else if (!mousedownShape && canvas.get('draggable')) {\n // 设置了 draggable 的 canvas 才能触发 drag 相关的事件\n this.dragging = true;\n this._emitEvent('dragstart', event, pointInfo, null);\n // 清理按下鼠标时缓存的值\n this.mousedownShape = null;\n this.mousedownPoint = null;\n }\n else {\n this._emitMouseoverEvents(event, pointInfo, preShape, shape);\n this._emitEvent('mousemove', event, pointInfo, shape);\n }\n }\n else {\n this._emitMouseoverEvents(event, pointInfo, preShape, shape);\n this._emitEvent('mousemove', event, pointInfo, shape);\n }\n }\n else {\n // 没有按键按下时,则直接触发 mouse over 相关的各种事件\n this._emitMouseoverEvents(event, pointInfo, preShape, shape);\n // 始终触发移动\n this._emitEvent('mousemove', event, pointInfo, shape);\n }\n }\n };\n // 触发事件\n EventController.prototype._emitEvent = function (type, event, pointInfo, shape, fromShape, toShape) {\n var eventObj = this._getEventObj(type, event, pointInfo, shape, fromShape, toShape);\n // 存在 shape 触发,则进行冒泡处理\n if (shape) {\n eventObj.shape = shape;\n // 触发 shape 上的事件\n emitTargetEvent(shape, type, eventObj);\n var parent_1 = shape.getParent();\n // 执行冒泡\n while (parent_1) {\n // 委托事件要先触发\n parent_1.emitDelegation(type, eventObj);\n // 事件冒泡停止,不能妨碍委托事件\n if (!eventObj.propagationStopped) {\n bubbleEvent(parent_1, type, eventObj);\n }\n eventObj.propagationPath.push(parent_1);\n parent_1 = parent_1.getParent();\n }\n }\n else {\n // 如果没有 shape 直接在 canvas 上触发\n var canvas = this.canvas;\n // 直接触发 canvas 上的事件\n emitTargetEvent(canvas, type, eventObj);\n }\n };\n EventController.prototype.destroy = function () {\n // 清理事件\n this._clearEvents();\n // 清理缓存的对象\n this.canvas = null;\n this.currentShape = null;\n this.draggingShape = null;\n this.mousedownPoint = null;\n this.mousedownShape = null;\n this.mousedownTimeStamp = null;\n };\n return EventController;\n}());\nexport default EventController;\n//# sourceMappingURL=event-contoller.js.map","import { __extends } from \"tslib\";\nimport { detect } from 'detect-browser';\nimport Container from './container';\nimport { isBrowser, isNil, isString } from '../util/util';\nimport Timeline from '../animate/timeline';\nimport EventController from '../event/event-contoller';\nvar PX_SUFFIX = 'px';\nvar browser = detect();\nvar isFirefox = browser && browser.name === 'firefox';\nvar Canvas = /** @class */ (function (_super) {\n __extends(Canvas, _super);\n function Canvas(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.initContainer();\n _this.initDom();\n _this.initEvents();\n _this.initTimeline();\n return _this;\n }\n Canvas.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n // set default cursor style for canvas\n cfg['cursor'] = 'default';\n // CSS transform 目前尚未经过长时间验证,为了避免影响上层业务,默认关闭,上层按需开启\n cfg['supportCSSTransform'] = false;\n return cfg;\n };\n /**\n * @protected\n * 初始化容器\n */\n Canvas.prototype.initContainer = function () {\n var container = this.get('container');\n if (isString(container)) {\n container = document.getElementById(container);\n this.set('container', container);\n }\n };\n /**\n * @protected\n * 初始化 DOM\n */\n Canvas.prototype.initDom = function () {\n var el = this.createDom();\n this.set('el', el);\n // 附加到容器\n var container = this.get('container');\n container.appendChild(el);\n // 设置初始宽度\n this.setDOMSize(this.get('width'), this.get('height'));\n };\n /**\n * @protected\n * 初始化绑定的事件\n */\n Canvas.prototype.initEvents = function () {\n var eventController = new EventController({\n canvas: this,\n });\n eventController.init();\n this.set('eventController', eventController);\n };\n /**\n * @protected\n * 初始化时间轴\n */\n Canvas.prototype.initTimeline = function () {\n var timeline = new Timeline(this);\n this.set('timeline', timeline);\n };\n /**\n * @protected\n * 修改画布对应的 DOM 的大小\n * @param {number} width 宽度\n * @param {number} height 高度\n */\n Canvas.prototype.setDOMSize = function (width, height) {\n var el = this.get('el');\n if (isBrowser) {\n el.style.width = width + PX_SUFFIX;\n el.style.height = height + PX_SUFFIX;\n }\n };\n // 实现接口\n Canvas.prototype.changeSize = function (width, height) {\n this.setDOMSize(width, height);\n this.set('width', width);\n this.set('height', height);\n this.onCanvasChange('changeSize');\n };\n /**\n * 获取当前的渲染引擎\n * @return {Renderer} 返回当前的渲染引擎\n */\n Canvas.prototype.getRenderer = function () {\n return this.get('renderer');\n };\n /**\n * 获取画布的 cursor 样式\n * @return {Cursor}\n */\n Canvas.prototype.getCursor = function () {\n return this.get('cursor');\n };\n /**\n * 设置画布的 cursor 样式\n * @param {Cursor} cursor cursor 样式\n */\n Canvas.prototype.setCursor = function (cursor) {\n this.set('cursor', cursor);\n var el = this.get('el');\n if (isBrowser && el) {\n // 直接设置样式,不等待鼠标移动时再设置\n el.style.cursor = cursor;\n }\n };\n // 实现接口\n Canvas.prototype.getPointByEvent = function (ev) {\n var supportCSSTransform = this.get('supportCSSTransform');\n if (supportCSSTransform) {\n // For Firefox <= 38\n if (isFirefox && !isNil(ev.layerX) && ev.layerX !== ev.offsetX) {\n return {\n x: ev.layerX,\n y: ev.layerY,\n };\n }\n if (!isNil(ev.offsetX)) {\n // For IE6+, Firefox >= 39, Chrome, Safari, Opera\n return {\n x: ev.offsetX,\n y: ev.offsetY,\n };\n }\n }\n // should calculate by self for other cases, like Safari in ios\n // TODO: support CSS transform\n var _a = this.getClientByEvent(ev), clientX = _a.x, clientY = _a.y;\n return this.getPointByClient(clientX, clientY);\n };\n // 获取 touch 事件的 clientX 和 clientY 需要单独处理\n Canvas.prototype.getClientByEvent = function (ev) {\n var clientInfo = ev;\n if (ev.touches) {\n if (ev.type === 'touchend') {\n clientInfo = ev.changedTouches[0];\n }\n else {\n clientInfo = ev.touches[0];\n }\n }\n return {\n x: clientInfo.clientX,\n y: clientInfo.clientY,\n };\n };\n // 实现接口\n Canvas.prototype.getPointByClient = function (clientX, clientY) {\n var el = this.get('el');\n var bbox = el.getBoundingClientRect();\n return {\n x: clientX - bbox.left,\n y: clientY - bbox.top,\n };\n };\n // 实现接口\n Canvas.prototype.getClientByPoint = function (x, y) {\n var el = this.get('el');\n var bbox = el.getBoundingClientRect();\n return {\n x: x + bbox.left,\n y: y + bbox.top,\n };\n };\n // 实现接口\n Canvas.prototype.draw = function () { };\n /**\n * @protected\n * 销毁 DOM 容器\n */\n Canvas.prototype.removeDom = function () {\n var el = this.get('el');\n el.parentNode.removeChild(el);\n };\n /**\n * @protected\n * 清理所有的事件\n */\n Canvas.prototype.clearEvents = function () {\n var eventController = this.get('eventController');\n eventController.destroy();\n };\n Canvas.prototype.isCanvas = function () {\n return true;\n };\n Canvas.prototype.getParent = function () {\n return null;\n };\n Canvas.prototype.destroy = function () {\n var timeline = this.get('timeline');\n if (this.get('destroyed')) {\n return;\n }\n this.clear();\n // 同初始化时相反顺序调用\n if (timeline) {\n // 画布销毁时自动停止动画\n timeline.stop();\n }\n this.clearEvents();\n this.removeDom();\n _super.prototype.destroy.call(this);\n };\n return Canvas;\n}(Container));\nexport default Canvas;\n//# sourceMappingURL=canvas.js.map","import { __extends } from \"tslib\";\nimport Container from './container';\nvar AbstractGroup = /** @class */ (function (_super) {\n __extends(AbstractGroup, _super);\n function AbstractGroup() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AbstractGroup.prototype.isGroup = function () {\n return true;\n };\n AbstractGroup.prototype.isEntityGroup = function () {\n return false;\n };\n AbstractGroup.prototype.clone = function () {\n var clone = _super.prototype.clone.call(this);\n // 获取构造函数\n var children = this.getChildren();\n for (var i = 0; i < children.length; i++) {\n var child = children[i];\n clone.add(child.clone());\n }\n return clone;\n };\n return AbstractGroup;\n}(Container));\nexport default AbstractGroup;\n//# sourceMappingURL=group.js.map","import { __extends } from \"tslib\";\nimport Element from './element';\nimport { multiplyVec2 } from '../util/matrix';\nvar AbstractShape = /** @class */ (function (_super) {\n __extends(AbstractShape, _super);\n function AbstractShape(cfg) {\n return _super.call(this, cfg) || this;\n }\n // 是否在包围盒内\n AbstractShape.prototype._isInBBox = function (refX, refY) {\n var bbox = this.getBBox();\n return bbox.minX <= refX && bbox.maxX >= refX && bbox.minY <= refY && bbox.maxY >= refY;\n };\n /**\n * 属性更改后需要做的事情\n * @protected\n * @param {ShapeAttrs} targetAttrs 渲染的图像属性\n */\n AbstractShape.prototype.afterAttrsChange = function (targetAttrs) {\n _super.prototype.afterAttrsChange.call(this, targetAttrs);\n this.clearCacheBBox();\n };\n // 计算包围盒时,需要缓存,这是一个高频的操作\n AbstractShape.prototype.getBBox = function () {\n var bbox = this.get('bbox');\n if (!bbox) {\n bbox = this.calculateBBox();\n this.set('bbox', bbox);\n }\n return bbox;\n };\n // 计算相对于画布的包围盒\n AbstractShape.prototype.getCanvasBBox = function () {\n var canvasBox = this.get('canvasBox');\n if (!canvasBox) {\n canvasBox = this.calculateCanvasBBox();\n this.set('canvasBox', canvasBox);\n }\n return canvasBox;\n };\n AbstractShape.prototype.applyMatrix = function (matrix) {\n _super.prototype.applyMatrix.call(this, matrix);\n // 清理掉缓存的包围盒\n this.set('canvasBox', null);\n };\n /**\n * 计算相对于画布的包围盒,默认等同于 bbox\n * @return {BBox} 包围盒\n */\n AbstractShape.prototype.calculateCanvasBBox = function () {\n var bbox = this.getBBox();\n var totalMatrix = this.getTotalMatrix();\n var minX = bbox.minX, minY = bbox.minY, maxX = bbox.maxX, maxY = bbox.maxY;\n if (totalMatrix) {\n var topLeft = multiplyVec2(totalMatrix, [bbox.minX, bbox.minY]);\n var topRight = multiplyVec2(totalMatrix, [bbox.maxX, bbox.minY]);\n var bottomLeft = multiplyVec2(totalMatrix, [bbox.minX, bbox.maxY]);\n var bottomRight = multiplyVec2(totalMatrix, [bbox.maxX, bbox.maxY]);\n minX = Math.min(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);\n maxX = Math.max(topLeft[0], topRight[0], bottomLeft[0], bottomRight[0]);\n minY = Math.min(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);\n maxY = Math.max(topLeft[1], topRight[1], bottomLeft[1], bottomRight[1]);\n }\n var attrs = this.attrs;\n // 如果存在 shadow 则计算 shadow\n if (attrs.shadowColor) {\n var _a = attrs.shadowBlur, shadowBlur = _a === void 0 ? 0 : _a, _b = attrs.shadowOffsetX, shadowOffsetX = _b === void 0 ? 0 : _b, _c = attrs.shadowOffsetY, shadowOffsetY = _c === void 0 ? 0 : _c;\n var shadowLeft = minX - shadowBlur + shadowOffsetX;\n var shadowRight = maxX + shadowBlur + shadowOffsetX;\n var shadowTop = minY - shadowBlur + shadowOffsetY;\n var shadowBottom = maxY + shadowBlur + shadowOffsetY;\n minX = Math.min(minX, shadowLeft);\n maxX = Math.max(maxX, shadowRight);\n minY = Math.min(minY, shadowTop);\n maxY = Math.max(maxY, shadowBottom);\n }\n return {\n x: minX,\n y: minY,\n minX: minX,\n minY: minY,\n maxX: maxX,\n maxY: maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n };\n /**\n * @protected\n * 清理缓存的 bbox\n */\n AbstractShape.prototype.clearCacheBBox = function () {\n this.set('bbox', null);\n this.set('canvasBox', null);\n };\n // 实现接口\n AbstractShape.prototype.isClipShape = function () {\n return this.get('isClipShape');\n };\n /**\n * @protected\n * 不同的图形自己实现是否在图形内部的逻辑,要判断边和填充区域\n * @param {number} refX 相对于图形的坐标 x\n * @param {number} refY 相对于图形的坐标 Y\n * @return {boolean} 点是否在图形内部\n */\n AbstractShape.prototype.isInShape = function (refX, refY) {\n return false;\n };\n /**\n * 是否仅仅使用 BBox 检测就可以判定拾取到图形\n * 默认是 false,但是有些图形例如 image、marker 等都可直接使用 BBox 的检测而不需要使用图形拾取\n * @return {Boolean} 仅仅使用 BBox 进行拾取\n */\n AbstractShape.prototype.isOnlyHitBox = function () {\n return false;\n };\n // 不同的 Shape 各自实现\n AbstractShape.prototype.isHit = function (x, y) {\n var startArrowShape = this.get('startArrowShape');\n var endArrowShape = this.get('endArrowShape');\n var vec = [x, y, 1];\n vec = this.invertFromMatrix(vec);\n var refX = vec[0], refY = vec[1];\n var inBBox = this._isInBBox(refX, refY);\n // 跳过图形的拾取,在某些图形中可以省略一倍的检测成本\n if (this.isOnlyHitBox()) {\n return inBBox;\n }\n // 被裁减掉的和不在包围盒内的不进行计算\n if (inBBox && !this.isClipped(refX, refY)) {\n // 对图形进行拾取判断\n if (this.isInShape(refX, refY)) {\n return true;\n }\n // 对起始箭头进行拾取判断\n if (startArrowShape && startArrowShape.isHit(refX, refY)) {\n return true;\n }\n // 对结束箭头进行拾取判断\n if (endArrowShape && endArrowShape.isHit(refX, refY)) {\n return true;\n }\n }\n return false;\n };\n return AbstractShape;\n}(Element));\nexport default AbstractShape;\n//# sourceMappingURL=shape.js.map","export { GM } from './gm';\n// 包装的上层 wheel 事件\nexport { Wheel } from './event';\n//# sourceMappingURL=index.js.map","// // defaultTheme 必须首先注册\n// import defaultTheme from './default';\n//\n// import Theme from './theme';\n//\n// export { Theme as default, defaultTheme };\n\n// 全局主题的方法\nexport { getGlobalTheme, registerGlobalTheme } from './global';\n// 图表主题的方法\nexport { getTheme, registerTheme } from './theme';\n// 工具函数\nexport { convertToG2Theme } from './utils';\n","import ViewLayer from '../base/view-layer';\nimport { LooseMap } from '../interface/types';\nimport { each, deepMix, upperFirst } from '@antv/util';\n\ntype IEventmap = LooseMap;\n\ntype Handler = (...__: any[]) => {};\n\nconst eventNames = [\n 'click',\n 'dblclick',\n 'mousemove',\n 'mouseenter',\n 'mouseleave',\n 'mousedown',\n 'mouseup',\n 'contextmenu',\n];\n\nconst mobileEventNames = [\n /*'touchstart',\n 'touchmove',\n 'touchend',\n 'pressstart',\n 'press',\n 'pressend',\n 'swipestart',\n 'swipe',\n 'swipeend',\n 'pinchstart',\n 'pinch',\n 'pinchend',\n 'panstart',\n 'pan',\n 'panend',*/\n];\n\nconst viewComponentMap = {\n axis: 'axis-label',\n label: 'label',\n legend: 'legend-item',\n};\n\nconst canvasComponentMap = {\n title: 'title',\n description: 'description',\n breadcrumb: 'breadcrumb',\n};\n\nconst CANVAS_EVENT_MAP: IEventmap = deepMix(getEventMap(canvasComponentMap), getRegionEventMap('Plot', eventNames));\n\nconst LAYER_EVENT_MAP: IEventmap = getRegionEventMap('Layer', eventNames);\n\n//移动端事件暂时只支持view级\nconst EVENT_MAP: IEventmap = deepMix(\n {},\n getEventMap(viewComponentMap),\n getRegionEventMap('View', eventNames),\n getMobileEventMap()\n);\n\nfunction onEvent(layer: ViewLayer, eventName: string, handler: Handler) {\n layer.view.on(eventName, (ev?: any) => {\n const eventData = {\n x: ev?.x,\n y: ev?.y,\n clientX: ev?.clientX,\n clientY: ev?.clientY,\n target: ev?.target,\n data: ev?.data ? ev.data.data : null,\n plot: layer,\n canvas: layer.canvas,\n gEvent: ev?.gEvent,\n };\n handler(eventData);\n });\n}\n\nexport function getEventMap(map) {\n const eventMap: IEventmap = {};\n each(map, (item, key) => {\n const componentName = upperFirst(key);\n const namePrefix = `on${componentName}`;\n const eventPrefix = `${item}:`;\n each(eventNames, (name) => {\n const eventName = upperFirst(name);\n const eventKey = `${namePrefix}${eventName}`;\n const event = `${eventPrefix}${name}`;\n eventMap[eventKey] = event;\n });\n });\n return eventMap;\n}\n\nexport function getRegionEventMap(prefix, eventList) {\n const eventMap: IEventmap = {};\n const namePrefix = `on`;\n each(eventList, (name) => {\n const eventName = upperFirst(name);\n const eventKey = `${namePrefix}${prefix}${eventName}`;\n eventMap[eventKey] = name;\n });\n return eventMap;\n}\n\nexport function getMobileEventMap() {\n const eventMap: IEventmap = {};\n const namePrefix = `on`;\n each(mobileEventNames, (name) => {\n const eventName = upperFirst(name);\n const eventKey = `${namePrefix}${eventName}`;\n eventMap[eventKey] = name;\n });\n return eventMap;\n}\n\nexport { IEventmap, EVENT_MAP, CANVAS_EVENT_MAP, LAYER_EVENT_MAP, onEvent };\n","import { BBox as BBoxBase } from '@antv/g2/lib/util/bbox';\nexport { DIRECTION } from '@antv/g2/lib/constant';\nexport { Padding, Point, Region } from '@antv/g2/lib/interface';\n\nexport default class BBox extends BBoxBase {\n static fromBBoxObject(bbox: any) {\n return new BBox(bbox.x, bbox.y, bbox.width, bbox.height);\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar util_1 = require(\"./util\");\n// 向量长度\nfunction vMag(v) {\n return Math.sqrt(v[0] * v[0] + v[1] * v[1]);\n}\n// u.v/|u||v|,计算夹角的余弦值\nfunction vRatio(u, v) {\n // 当存在一个向量的长度为 0 时,夹角也为 0,即夹角的余弦值为 1\n return vMag(u) * vMag(v) ? (u[0] * v[0] + u[1] * v[1]) / (vMag(u) * vMag(v)) : 1;\n}\n// 向量角度\nfunction vAngle(u, v) {\n return (u[0] * v[1] < u[1] * v[0] ? -1 : 1) * Math.acos(vRatio(u, v));\n}\n// A 0:rx 1:ry 2:x-axis-rotation 3:large-arc-flag 4:sweep-flag 5: x 6: y\nfunction getArcParams(startPoint, params) {\n var rx = params[1];\n var ry = params[2];\n var xRotation = util_1.mod(util_1.toRadian(params[3]), Math.PI * 2);\n var arcFlag = params[4];\n var sweepFlag = params[5];\n // 弧形起点坐标\n var x1 = startPoint[0];\n var y1 = startPoint[1];\n // 弧形终点坐标\n var x2 = params[6];\n var y2 = params[7];\n var xp = (Math.cos(xRotation) * (x1 - x2)) / 2.0 + (Math.sin(xRotation) * (y1 - y2)) / 2.0;\n var yp = (-1 * Math.sin(xRotation) * (x1 - x2)) / 2.0 + (Math.cos(xRotation) * (y1 - y2)) / 2.0;\n var lambda = (xp * xp) / (rx * rx) + (yp * yp) / (ry * ry);\n if (lambda > 1) {\n rx *= Math.sqrt(lambda);\n ry *= Math.sqrt(lambda);\n }\n var diff = rx * rx * (yp * yp) + ry * ry * (xp * xp);\n var f = diff ? Math.sqrt((rx * rx * (ry * ry) - diff) / diff) : 1;\n if (arcFlag === sweepFlag) {\n f *= -1;\n }\n if (isNaN(f)) {\n f = 0;\n }\n // 旋转前的起点坐标,且当长半轴和短半轴的长度为 0 时,坐标按 (0, 0) 处理\n var cxp = ry ? (f * rx * yp) / ry : 0;\n var cyp = rx ? (f * -ry * xp) / rx : 0;\n // 椭圆圆心坐标\n var cx = (x1 + x2) / 2.0 + Math.cos(xRotation) * cxp - Math.sin(xRotation) * cyp;\n var cy = (y1 + y2) / 2.0 + Math.sin(xRotation) * cxp + Math.cos(xRotation) * cyp;\n // 起始点的单位向量\n var u = [(xp - cxp) / rx, (yp - cyp) / ry];\n // 终止点的单位向量\n var v = [(-1 * xp - cxp) / rx, (-1 * yp - cyp) / ry];\n // 计算起始点和圆心的连线,与 x 轴正方向的夹角\n var theta = vAngle([1, 0], u);\n // 计算圆弧起始点和终止点与椭圆圆心连线的夹角\n var dTheta = vAngle(u, v);\n if (vRatio(u, v) <= -1) {\n dTheta = Math.PI;\n }\n if (vRatio(u, v) >= 1) {\n dTheta = 0;\n }\n if (sweepFlag === 0 && dTheta > 0) {\n dTheta = dTheta - 2 * Math.PI;\n }\n if (sweepFlag === 1 && dTheta < 0) {\n dTheta = dTheta + 2 * Math.PI;\n }\n return {\n cx: cx,\n cy: cy,\n // 弧形的起点和终点相同时,长轴和短轴的长度按 0 处理\n rx: util_1.isSamePoint(startPoint, [x2, y2]) ? 0 : rx,\n ry: util_1.isSamePoint(startPoint, [x2, y2]) ? 0 : ry,\n startAngle: theta,\n endAngle: theta + dTheta,\n xRotation: xRotation,\n arcFlag: arcFlag,\n sweepFlag: sweepFlag,\n };\n}\nexports.default = getArcParams;\n//# sourceMappingURL=arc-params.js.map","import { setTransform, setClip } from './svg';\nimport { sortDom, moveTo } from './dom';\nexport function drawChildren(context, children) {\n children.forEach(function (child) {\n child.draw(context);\n });\n}\n/**\n * 更新元素,包括 group 和 shape\n * @param {IElement} element SVG 元素\n * @param {ChangeType} changeType 更新类型\n */\nexport function refreshElement(element, changeType) {\n // 对于还没有挂载到画布下的元素,canvas 可能为空\n var canvas = element.get('canvas');\n // 只有挂载到画布下,才对元素进行实际渲染\n if (canvas && canvas.get('autoDraw')) {\n var context = canvas.get('context');\n var parent_1 = element.getParent();\n var parentChildren = parent_1 ? parent_1.getChildren() : [canvas];\n var el = element.get('el');\n if (changeType === 'remove') {\n var isClipShape = element.get('isClipShape');\n // 对于 clip,不仅需要将 clipShape 对于的 SVG 元素删除,还需要将上层的 clipPath 元素也删除\n if (isClipShape) {\n var clipPathEl = el && el.parentNode;\n var defsEl = clipPathEl && clipPathEl.parentNode;\n if (clipPathEl && defsEl) {\n defsEl.removeChild(clipPathEl);\n }\n }\n else if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n }\n else if (changeType === 'show') {\n el.setAttribute('visibility', 'visible');\n }\n else if (changeType === 'hide') {\n el.setAttribute('visibility', 'hidden');\n }\n else if (changeType === 'zIndex') {\n moveTo(el, parentChildren.indexOf(element));\n }\n else if (changeType === 'sort') {\n var children_1 = element.get('children');\n if (children_1 && children_1.length) {\n sortDom(element, function (a, b) {\n return children_1.indexOf(a) - children_1.indexOf(b) ? 1 : 0;\n });\n }\n }\n else if (changeType === 'clear') {\n // el maybe null for group\n if (el) {\n el.innerHTML = '';\n }\n }\n else if (changeType === 'matrix') {\n setTransform(element);\n }\n else if (changeType === 'clip') {\n setClip(element, context);\n }\n else if (changeType === 'attr') {\n // 已在 afterAttrsChange 进行了处理,此处 do nothing\n }\n else if (changeType === 'add') {\n element.draw(context);\n }\n }\n}\n//# sourceMappingURL=draw.js.map","import {\n deepMix,\n isEmpty,\n mapValues,\n get,\n each,\n assign,\n isFunction,\n mix,\n map,\n flatten,\n reduce,\n findIndex,\n isString,\n contains,\n hasKey,\n} from '@antv/util';\nimport { View, Geometry, VIEW_LIFE_CIRCLE } from '../dependents';\nimport TextDescription from '../components/description';\nimport BaseLabel, { LabelComponentConfig, getLabelComponent } from '../components/label/base';\nimport { getComponent } from '../components/factory';\nimport Interaction from '../interaction/core';\nimport BaseInteraction, { InteractionCtor } from '../interaction/index';\nimport {\n IValueAxis,\n Axis,\n IDescription,\n IInteractions,\n ITitle,\n Label,\n Legend,\n StateConfig,\n Tooltip,\n DataItem,\n Animation,\n Meta,\n GuideLineConfig,\n CustomTooltipConfig,\n} from '../interface/config';\nimport { G2Config } from '../interface/config';\nimport { EVENT_MAP, onEvent } from '../util/event';\nimport PaddingController from './controller/padding';\nimport StateController from './controller/state';\nimport ThemeController from './controller/theme';\nimport Layer, { LayerConfig } from './layer';\nimport { isTextUsable } from '../util/common';\nimport { LooseMap } from '../interface/types';\nimport BBox, { DIRECTION } from '../util/bbox';\nimport { VIEW_LAYER_LIFE_CYCLE } from './constants';\n\nexport interface ViewConfig {\n renderer?: string;\n data?: DataItem[];\n meta?: LooseMap;\n padding?: number | number[] | string;\n xField?: string;\n yField?: string;\n color?: string | string[] | {};\n xAxis?: Axis;\n yAxis?: Axis;\n label?: Label | any;\n tooltip?: Tooltip;\n legend?: Legend;\n animation?: Animation | boolean;\n theme?: LooseMap | string;\n responsiveTheme?: {} | string;\n interactions?: IInteractions[];\n responsive?: boolean;\n title?: ITitle;\n description?: IDescription;\n guideLine?: GuideLineConfig[];\n events?: {\n [k: string]: ((...args: any[]) => any) | boolean;\n };\n defaultState?: {\n active?: StateConfig;\n inActive?: StateConfig;\n selected?: StateConfig;\n disabled?: StateConfig;\n };\n name?: string;\n}\n\nexport interface ViewLayerConfig extends ViewConfig, LayerConfig {}\n\nexport default abstract class ViewLayer extends Layer {\n public static getDefaultOptions(): Partial {\n return {\n renderer: 'canvas',\n title: {\n visible: false,\n alignTo: 'left',\n text: '',\n },\n description: {\n visible: false,\n text: '',\n alignTo: 'left',\n },\n padding: 'auto',\n legend: {\n visible: true,\n position: 'bottom-center',\n },\n tooltip: {\n visible: true,\n shared: true,\n showCrosshairs: true,\n crosshairs: {\n type: 'x',\n },\n offset: 20,\n },\n xAxis: {\n visible: true,\n grid: {\n visible: false,\n },\n line: {\n visible: true,\n },\n tickLine: {\n visible: true,\n },\n label: {\n visible: true,\n autoRotate: true,\n autoHide: true,\n },\n title: {\n visible: false,\n spacing: 12,\n },\n },\n yAxis: {\n visible: true,\n grid: {\n visible: true,\n },\n line: {\n visible: false,\n },\n tickLine: {\n visible: false,\n },\n label: {\n visible: true,\n autoHide: true,\n autoRotate: false,\n },\n title: {\n autoRotate: true,\n visible: false,\n spacing: 12,\n },\n },\n label: {\n visible: false,\n },\n interactions: [{ type: 'tooltip' }, { type: 'legend-active' }, { type: 'legend-filter' }],\n animation: true,\n };\n }\n public type: string;\n public view: View;\n public theme: any;\n public initialOptions: T;\n public title: TextDescription;\n public description: TextDescription;\n public viewRange: BBox;\n protected paddingController: PaddingController;\n protected stateController: StateController;\n protected themeController: ThemeController;\n public config: G2Config;\n protected interactions: Interaction[] = [];\n protected labels: BaseLabel[] = [];\n\n constructor(props: T) {\n super(props);\n this.options = this.getOptions(props);\n this.initialOptions = deepMix({}, this.options);\n this.paddingController = new PaddingController({\n plot: this,\n });\n this.stateController = new StateController({\n plot: this,\n });\n this.themeController = new ThemeController();\n }\n\n public getOptions(props: Partial): T {\n const curOptions = this.options || {};\n const options = super.getOptions(props);\n // @ts-ignore\n const defaultOptions = this.constructor.getDefaultOptions(props);\n // interactions 需要合并去重下,如果有更新 interactions,需要去掉当前的 interactions 配置\n const interactions = reduce(\n flatten(\n map([options, defaultOptions, hasKey(props, 'interactions') ? props : curOptions], (src) =>\n get(src, 'interactions', [])\n )\n ),\n (result, cur) => {\n const idx = findIndex(result, (item) => item.type === cur.type);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return [...result, cur];\n },\n []\n );\n return deepMix({}, options, defaultOptions, curOptions, props, { interactions });\n }\n\n public beforeInit() {\n this.emit(VIEW_LAYER_LIFE_CYCLE.BEFORE_INIT);\n super.beforeInit();\n }\n\n public init() {\n super.init();\n this.theme = this.themeController.getTheme(this.options, this.type);\n this.config = {\n data: this.processData(this.options.data),\n scales: {},\n legends: {},\n tooltip: {\n showTitle: true,\n },\n axes: {},\n coordinate: { type: 'cartesian' },\n geometries: [],\n annotations: [],\n interactions: [],\n theme: this.theme,\n panelRange: {},\n animate: {} as any,\n views: [],\n };\n\n this.paddingController.clear();\n\n this.drawTitle();\n this.drawDescription();\n // 有些interaction要调整配置项,所以顺序提前\n this.interaction();\n this.coord();\n this.scale();\n this.axis();\n this.tooltip();\n this.legend();\n this.addGeometry();\n this.annotation();\n this.animation();\n\n this.viewRange = this.getViewRange();\n const region = this.viewRangeToRegion(this.viewRange);\n this.view = new View({\n parent: null,\n canvas: this.canvas,\n backgroundGroup: this.container.addGroup(),\n middleGroup: this.container.addGroup(),\n foregroundGroup: this.container.addGroup(),\n padding: this.paddingController.getPadding(),\n theme: this.theme,\n options: this.config,\n limitInPlot: this.isLimitInPlot(),\n region,\n });\n this.applyInteractions();\n this.view.on(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n this.afterRender();\n });\n }\n\n public afterInit() {\n super.afterInit();\n if (!this.view || this.view.destroyed) {\n return;\n }\n if (this.options.padding !== 'auto') {\n this.parseEvents();\n }\n this.emit(VIEW_LAYER_LIFE_CYCLE.AFTER_INIT);\n }\n\n public afterRender() {\n if (!this.view || this.view.destroyed) {\n return;\n }\n const { options } = this;\n const padding = options.padding ? options.padding : this.config.theme.padding;\n /** defaultState */\n if (options.defaultState && padding !== 'auto') {\n this.stateController.defaultStates(options.defaultState);\n }\n /** autopadding */\n if (padding === 'auto') {\n this.paddingController.processAutoPadding();\n }\n if (options.tooltip?.custom?.onChange && options.padding !== 'auto') {\n this.customTooltip();\n }\n }\n\n /** 完整生命周期渲染 */\n public render(): void {\n this.emit(VIEW_LAYER_LIFE_CYCLE.BEFORE_RENDER);\n super.render();\n const { data } = this.options;\n if (!isEmpty(data)) {\n this.view.render();\n }\n this.emit(VIEW_LAYER_LIFE_CYCLE.AFTER_RENDER);\n }\n\n /** 画布重绘 */\n public repaint(): void {\n if (this.canvas) {\n this.canvas.draw();\n }\n }\n\n public getScaleByField(field: string) {\n return this.view.getScaleByField(field);\n }\n\n public getXScale() {\n const { xField } = this.options;\n if (xField) {\n return this.view.getScaleByField(xField);\n }\n }\n\n public getYScale() {\n const { yField } = this.options;\n if (yField) {\n return this.view.getScaleByField(yField);\n }\n }\n\n public getColorScale() {\n const options: any = this.options;\n if (contains(options, 'colorField')) {\n return this.view.getScaleByField(options);\n }\n }\n\n public getShapes() {\n const geometries = this.view.geometries;\n const shapes = {};\n // todo: geometry 类型转译\n each(geometries, (geom) => {\n const { type } = geom;\n shapes[type] = geom.getShapes();\n });\n return shapes;\n }\n\n /** 销毁 */\n public destroy(): void {\n this.doDestroy();\n super.destroy();\n }\n\n /** 更新配置项 */\n public updateConfig(cfg: Partial): void {\n this.doDestroy();\n if (!cfg.padding && this.initialOptions.padding && this.initialOptions.padding === 'auto') {\n cfg.padding = 'auto';\n }\n this.options = this.getOptions(cfg);\n this.processOptions(this.options);\n }\n\n public changeData(data: DataItem[]): void {\n this.emit(VIEW_LAYER_LIFE_CYCLE.BEFORE_CHANGE_DATA);\n const isEmptyBefore = isEmpty(this.options.data);\n this.options.data = this.processData(data);\n\n // 如果之前没有 data\n if (isEmptyBefore) {\n this.options.padding = this.initialOptions.padding || 'auto';\n this.view.data(this.options.data);\n this.view.render();\n } else {\n this.view.changeData(this.options.data);\n }\n\n this.emit(VIEW_LAYER_LIFE_CYCLE.AFTER_CHANGE_DATA);\n }\n\n // plot 不断销毁重建,需要一个api获取最新的plot\n public getPlot() {\n return this.view;\n }\n\n /**\n * 获取已渲染的数据标签组件\n */\n public getLabels() {\n return this.labels;\n }\n\n // 获取对应的G2 Theme\n public getTheme() {\n if (!this.theme) {\n return this.themeController.getTheme(this.options, this.type);\n }\n return this.theme;\n }\n\n public getResponsiveTheme() {\n return this.themeController.getResponsiveTheme(this.type);\n }\n\n // 获取对应的Plot Theme\n public getPlotTheme() {\n return this.themeController.getPlotTheme(this.options, this.type);\n }\n\n public getInteractions() {\n return this.interactions;\n }\n\n // 绑定一个外部的stateManager\n public bindStateManager(stateManager, cfg): void {\n this.stateController.bindStateManager(stateManager, cfg);\n }\n\n // 响应状态量更新的快捷方法\n public setActive(condition, style) {\n this.stateController.setState({ type: 'active', condition, style });\n }\n\n public setSelected(condition, style) {\n this.stateController.setState({ type: 'selected', condition, style });\n }\n\n public setDisable(condition, style) {\n this.stateController.setState({ type: 'disable', condition, style });\n }\n\n public setDefault(condition, style) {\n this.stateController.setState({ type: 'default', condition, style });\n }\n\n // 获取 ViewLayer 的数据项\n public getData(start?: number, end?: number): object[] {\n return this.processData((this.options.data || []).slice(start, end));\n }\n\n protected processData(data?: DataItem[]): DataItem[] | undefined {\n return data;\n }\n\n protected abstract coord(): void;\n\n protected scale(): void {\n /** scale meta配置 */\n // 1. this.config.scales中已有子图形在处理xAxis/yAxis是写入的xField/yField对应的scale信息,这里再检查用户设置的meta,将meta信息合并到默认的scale中\n // 2. 同时xAxis/yAxis中的type优先级更高,覆盖meta中的type配置\n const scaleTypes = mapValues(this.config.scales, (scaleConfig: any) => {\n const type = scaleConfig.type;\n return type ? { type } : {};\n });\n const scales = deepMix({}, this.config.scales, this.options.meta || {}, scaleTypes);\n\n this.setConfig('scales', scales);\n }\n\n protected axis(): void {\n const xAxis_parser = getComponent('axis', {\n plot: this,\n dim: 'x',\n });\n const yAxis_parser = getComponent('axis', {\n plot: this,\n dim: 'y',\n });\n const axesConfig = {};\n axesConfig[this.options.xField] = xAxis_parser;\n axesConfig[this.options.yField] = yAxis_parser;\n /** 存储坐标轴配置项到config */\n this.setConfig('axes', axesConfig);\n }\n\n protected tooltip(): void {\n if (this.options.tooltip.visible === false) {\n this.setConfig('tooltip', false);\n return;\n }\n const tooltipOptions = get(this.options, 'tooltip');\n if (tooltipOptions.custom?.container) {\n tooltipOptions.container = tooltipOptions.custom.container;\n }\n if (tooltipOptions.custom?.customContent) {\n tooltipOptions.customContent = tooltipOptions.custom.customContent;\n }\n this.setConfig('tooltip', deepMix({}, tooltipOptions));\n\n deepMix(this.config.theme.tooltip, this.options.tooltip.domStyles);\n }\n\n private createTooltipContainer() {\n const container = document.createElement('div');\n container.className = 'g2-tooltip';\n return container;\n }\n\n protected customTooltip() {\n const customContentCfg = this.options.tooltip.custom;\n let container;\n if (customContentCfg.container) {\n container = isString(customContentCfg.container)\n ? document.getElementById(customContentCfg.container)\n : customContentCfg.container;\n }\n if (!container) {\n container = this.createTooltipContainer();\n }\n this.view.on('tooltip:show', (ev: CustomTooltipConfig) => {\n if (customContentCfg?.onChange) {\n customContentCfg.onChange(container, ev);\n }\n });\n this.view.hideTooltip();\n this.view.on('tooltip:change', (ev: CustomTooltipConfig) => {\n customContentCfg.onChange(container, ev);\n });\n }\n\n protected getLegendPosition(position: string): any {\n const positionList = position.split('-');\n // G2 4.0 兼容 XXX-center 到 XXX 的场景\n if (positionList && positionList.length > 1 && positionList[1] === 'center') {\n return positionList[0];\n }\n return position;\n }\n\n protected legend(): void {\n if (this.options.legend.visible === false) {\n this.setConfig('legends', false);\n return;\n }\n const options = deepMix({}, this.theme.legend, this.options.legend);\n const legendConfig = {\n position: this.getLegendPosition(get(options, 'position')),\n offsetX: get(options, 'offsetX'),\n offsetY: get(options, 'offsetY'),\n flipPage: get(options, 'flipPage'),\n marker: get(options, 'marker'),\n title: options.title?.visible ? get(options, 'title') : null,\n itemName: get(options, 'text'),\n };\n\n this.setConfig('legends', legendConfig);\n }\n\n protected annotation() {\n const config = [];\n if (this.config.coordinate.type === 'cartesian' && this.options.guideLine) {\n each(this.options.guideLine, (line) => {\n const guideLine = getComponent('guideLine', {\n plot: this,\n cfg: line,\n });\n config.push(guideLine);\n });\n }\n this.setConfig('annotations', config);\n }\n\n protected abstract addGeometry(): void;\n protected abstract geometryParser(dim: string, type: string): string;\n\n protected interaction() {\n const { interactions = [] } = this.options;\n each(interactions, (interaction) => {\n const { type } = interaction;\n if (type === 'slider' || type === 'scrollbar') {\n const axisConfig = {\n label: {\n autoHide: true,\n autoRotate: false,\n },\n };\n this.options.xAxis = deepMix({}, this.options.xAxis, axisConfig);\n }\n this.setConfig('interaction', interaction);\n });\n }\n\n protected animation() {\n if (this.options.animation === false) {\n this.setConfig('animate', false);\n }\n }\n\n protected applyInteractions(): void {\n let range = BBox.fromBBoxObject(this.layerBBox);\n\n // 临时去掉 title/description 的占用\n const titleOrDesc = this.title || this.description;\n const extraBBox = new BBox(range.minX, range.minY, range.width, titleOrDesc ? titleOrDesc.getBBox().maxY : 0);\n range = range.cut(extraBBox, DIRECTION.TOP);\n\n const { interactions = [] } = this.options;\n if (this.interactions) {\n this.interactions.forEach((inst) => {\n inst.destroy();\n });\n }\n this.interactions = [];\n interactions.forEach((interaction) => {\n const Ctor: InteractionCtor | undefined = BaseInteraction.getInteraction(interaction.type, this.type);\n if (Ctor) {\n const inst: BaseInteraction = new Ctor(\n { view: this.view },\n this,\n Ctor.getInteractionRange(range, interaction.cfg),\n interaction.cfg\n );\n inst.render();\n this.interactions.push(inst);\n }\n });\n }\n\n /** 设置G2 config,带有类型推导 */\n protected setConfig(key: K, config: G2Config[K] | boolean): void {\n if (key === 'geometry') {\n this.config.geometries.push(config as G2Config['geometry']);\n return;\n }\n if (key === 'interaction') {\n this.config.interactions.push(config as any);\n return;\n }\n if (config === false) {\n this.config[key] = false;\n return;\n }\n assign(this.config[key], config);\n }\n\n protected parseEvents(eventParser?): void {\n const { options } = this;\n if (options.events) {\n super.parseEvents(options.events);\n const eventmap = eventParser ? eventParser.EVENT_MAP : EVENT_MAP;\n each(options.events, (e, k) => {\n if (isFunction(e)) {\n const eventName = eventmap[k] || k;\n const handler = e;\n onEvent(this, eventName, handler);\n }\n });\n }\n }\n\n protected drawTitle(): void {\n const props = this.options;\n const range = this.layerBBox;\n if (this.title) {\n this.title.destroy();\n this.title = null;\n }\n\n if (isTextUsable(props.title)) {\n const width = this.width;\n const theme = this.config.theme;\n const title = new TextDescription({\n leftMargin: range.minX + theme.title.padding[3],\n rightMargin: range.maxX - theme.title.padding[1],\n topMargin: range.minY + theme.title.padding[0],\n text: props.title.text,\n style: mix(theme.title, props.title.style),\n wrapperWidth: width - theme.title.padding[3] - theme.title.padding[1],\n container: this.container.addGroup() as any,\n theme,\n index: isTextUsable(props.description) ? 0 : 1,\n plot: this,\n alignTo: props.title.alignTo,\n name: 'title',\n });\n this.title = title;\n this.paddingController.registerPadding(title, 'outer');\n }\n }\n\n protected drawDescription(): void {\n const props = this.options;\n const range = this.layerBBox;\n if (this.description) {\n this.description.destroy();\n this.description = null;\n }\n\n if (isTextUsable(props.description)) {\n const width = this.width;\n const theme = this.config.theme;\n let topMargin = 0;\n\n if (this.title) {\n const titleBBox = this.title.getBBox();\n topMargin += titleBBox.minY + titleBBox.height;\n topMargin += theme.description.padding[0];\n } else {\n // 无title的情况下使用title的上padding\n topMargin += range.minY + theme.title.padding[0];\n }\n\n const description = new TextDescription({\n leftMargin: range.minX + theme.description.padding[3],\n topMargin,\n rightMargin: range.maxX - theme.title.padding[1],\n text: props.description.text,\n style: mix(theme.description, props.description.style),\n wrapperWidth: width - theme.description.padding[3] - theme.description.padding[1],\n container: this.container.addGroup() as any,\n theme,\n index: 1,\n plot: this,\n alignTo: props.description.alignTo,\n name: 'description',\n });\n this.description = description;\n this.paddingController.registerPadding(description, 'outer');\n }\n }\n\n protected doRenderLabel(geometry: Geometry, label: Label) {\n each(this.labels, (item) => {\n item.destroy();\n });\n this.labels = [];\n const config: LabelComponentConfig = {\n layer: this,\n container: geometry.labelsContainer,\n geometry,\n label,\n };\n const Ctor = getLabelComponent(label.type);\n if (Ctor) {\n const label = new Ctor(config);\n label.init();\n label.render();\n this.labels.push(label);\n }\n }\n\n /** 抽取destroy和updateConfig共有代码为_destroy方法 */\n private doDestroy() {\n this.doDestroyInteractions();\n this.doDestroyLabels();\n /** 销毁g2.view实例 */\n if (!this.view.destroyed) {\n this.view.destroy();\n }\n }\n\n private doDestroyInteractions() {\n // 移除注册的 interactions\n if (this.interactions) {\n this.interactions.forEach((inst) => {\n inst.destroy();\n });\n }\n this.interactions = [];\n }\n\n private doDestroyLabels() {\n // 移除各 geometry 的 label\n each(this.labels, (label: BaseLabel) => {\n label.destroy();\n });\n this.labels = [];\n }\n\n protected getViewRange() {\n // 有 Range 的 Interaction 参与 ViewMargin 计算\n const { interactions = [] } = this.options;\n // const layerBBox = this.layerBBox;\n const layerBBox = this.paddingController.processOuterPadding();\n interactions.forEach((interaction) => {\n const Ctor: InteractionCtor | undefined = BaseInteraction.getInteraction(interaction.type, this.type);\n const range: BBox | undefined = Ctor && Ctor.getInteractionRange(layerBBox, interaction.cfg);\n let position = '';\n if (range) {\n // 先只考虑 Range 靠边的情况\n if (range.maxY === layerBBox.maxY && range.minY > layerBBox.minY) {\n // margin[2] += range.height;\n position = 'bottom';\n } else if (range.maxX === layerBBox.maxX && range.minX > layerBBox.minX) {\n // margin[1] += range.width;\n position = 'right';\n } else if (range.minX === layerBBox.minX && range.maxX > layerBBox.maxX) {\n // margin[3] += range.width;\n position = 'left';\n } else if (range.minY === layerBBox.minY && range.maxY < layerBBox.maxY) {\n // margin[0] += range.height;\n position = 'top';\n }\n this.paddingController.registerPadding(\n {\n interaction: interaction.type,\n name: interaction.type,\n getBBox: () => {\n return range;\n },\n position,\n },\n 'outer'\n );\n }\n });\n const viewRange = this.paddingController.processOuterPadding();\n return viewRange;\n }\n\n protected isLimitInPlot() {\n const yAxisOptions = this.options.yAxis as IValueAxis;\n if (\n hasKey(yAxisOptions, 'max') ||\n hasKey(yAxisOptions, 'min') ||\n hasKey(yAxisOptions, 'maxLimit') ||\n hasKey(yAxisOptions, 'minLimit')\n ) {\n return true;\n }\n return false;\n }\n\n private viewRangeToRegion(viewRange) {\n const { x, y, width, height } = this;\n const start = { x: 0, y: 0 },\n end = { x: 1, y: 1 };\n start.x = viewRange.minX / (x + width);\n start.y = viewRange.minY / (y + height);\n end.x = viewRange.maxX / (x + width);\n end.y = viewRange.maxY / (y + height);\n\n return {\n start,\n end,\n };\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar g_base_1 = require(\"@antv/g-base\");\nvar util_1 = require(\"@antv/util\");\nvar LOCATION_FIELD_MAP = {\n none: [],\n point: ['x', 'y'],\n region: ['start', 'end'],\n points: ['points'],\n circle: ['center', 'radius', 'startAngle', 'endAngle'],\n};\nvar Component = /** @class */ (function (_super) {\n tslib_1.__extends(Component, _super);\n function Component(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.initCfg();\n return _this;\n }\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n Component.prototype.getDefaultCfg = function () {\n return {\n id: '',\n name: '',\n type: '',\n locationType: 'none',\n offsetX: 0,\n offsetY: 0,\n animate: false,\n capture: true,\n updateAutoRender: false,\n animateOption: {\n appear: null,\n update: {\n duration: 400,\n easing: 'easeQuadInOut',\n },\n enter: {\n duration: 400,\n easing: 'easeQuadInOut',\n },\n leave: {\n duration: 350,\n easing: 'easeQuadIn',\n },\n },\n events: null,\n defaultCfg: {},\n visible: true,\n };\n };\n /**\n * 清理组件的内容,一般配合 render 使用\n * @example\n * axis.clear();\n * axis.render();\n */\n Component.prototype.clear = function () { };\n /**\n * 更新组件\n * @param {object} cfg 更新属性\n */\n Component.prototype.update = function (cfg) {\n var _this = this;\n var defaultCfg = this.get('defaultCfg');\n util_1.each(cfg, function (value, name) {\n var originCfg = _this.get(name);\n var newCfg = value;\n if (originCfg !== value) {\n // 判断两者是否相等,主要是进行 null 的判定\n if (util_1.isObject(value) && defaultCfg[name]) {\n // 新设置的属性与默认值进行合并\n newCfg = util_1.deepMix({}, defaultCfg[name], value);\n }\n _this.set(name, newCfg);\n }\n });\n this.updateInner(cfg);\n this.afterUpdate(cfg);\n };\n // 更新内部\n Component.prototype.updateInner = function (cfg) {\n };\n Component.prototype.afterUpdate = function (cfg) {\n // 更新时考虑显示、隐藏\n if (util_1.hasKey(cfg, 'visible')) {\n if (cfg.visible) {\n this.show();\n }\n else {\n this.hide();\n }\n }\n // 更新时考虑capture\n if (util_1.hasKey(cfg, 'capture')) {\n this.setCapture(cfg.capture);\n }\n };\n Component.prototype.getLayoutBBox = function () {\n return this.getBBox(); // 默认返回 getBBox,不同的组件内部单独实现\n };\n Component.prototype.getLocationType = function () {\n return this.get('locationType');\n };\n Component.prototype.getOffset = function () {\n return {\n offsetX: this.get('offsetX'),\n offsetY: this.get('offsetY'),\n };\n };\n // 默认使用 update\n Component.prototype.setOffset = function (offsetX, offsetY) {\n this.update({\n offsetX: offsetX,\n offsetY: offsetY,\n });\n };\n Component.prototype.setLocation = function (cfg) {\n var location = tslib_1.__assign({}, cfg);\n this.update(location);\n };\n // 实现 ILocation 接口的 getLocation\n Component.prototype.getLocation = function () {\n var _this = this;\n var location = {};\n var locationType = this.get('locationType');\n var fields = LOCATION_FIELD_MAP[locationType];\n util_1.each(fields, function (field) {\n location[field] = _this.get(field);\n });\n return location;\n };\n Component.prototype.isList = function () {\n return false;\n };\n Component.prototype.isSlider = function () {\n return false;\n };\n /**\n * @protected\n * 初始化,用于具体的组件继承\n */\n Component.prototype.init = function () { };\n // 将组件默认的配置项设置合并到传入的配置项\n Component.prototype.initCfg = function () {\n var _this = this;\n var defaultCfg = this.get('defaultCfg');\n util_1.each(defaultCfg, function (value, name) {\n var cfg = _this.get(name);\n if (util_1.isObject(cfg)) {\n var newCfg = util_1.deepMix({}, value, cfg);\n _this.set(name, newCfg);\n }\n });\n };\n return Component;\n}(g_base_1.Base));\nexports.default = Component;\n//# sourceMappingURL=component.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport { difference, each, isNil, keys, mix, pick } from '@antv/util';\nimport { propagationDelegate } from '../util/event';\nimport { applyMatrix2BBox, getMatrixByTranslate } from '../util/matrix';\nimport { getBBoxWithClip, updateClip } from '../util/util';\nimport Component from './component';\nvar STATUS_UPDATE = 'update_status';\nvar COPY_PROPERTIES = ['visible', 'tip', 'delegateObject']; // 更新对象时需要复制的属性\nvar COPY_PROPERTIES_EXCLUDES = ['container', 'group', 'shapesMap', 'isRegister', 'isUpdating', 'destroyed']; // 更新子组件时排除的属性\nvar GroupComponent = /** @class */ (function (_super) {\n __extends(GroupComponent, _super);\n function GroupComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GroupComponent.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { container: null, \n /**\n * @private\n * 缓存图形的 Map\n */\n shapesMap: {}, group: null, capture: true, \n /**\n * @private 组件或者图形是否允许注册\n * @type {false}\n */\n isRegister: false, \n /**\n * @private 是否正在更新\n * @type {false}\n */\n isUpdating: false, \n /**\n * @private\n * 是否初始状态,一旦 render,update 后,这个状态就变成 false, clear 后恢复\n */\n isInit: true });\n };\n GroupComponent.prototype.remove = function () {\n this.clear();\n var group = this.get('group');\n group.remove();\n };\n GroupComponent.prototype.clear = function () {\n var group = this.get('group');\n group.clear();\n this.set('shapesMap', {});\n this.clearOffScreenCache();\n this.set('isInit', true);\n };\n GroupComponent.prototype.getChildComponentById = function (id) {\n var group = this.getElementById(id);\n var inst = group && group.get('component');\n return inst;\n };\n GroupComponent.prototype.getElementById = function (id) {\n return this.get('shapesMap')[id];\n };\n GroupComponent.prototype.getElementByLocalId = function (localId) {\n var id = this.getElementId(localId);\n return this.getElementById(id);\n };\n GroupComponent.prototype.getElementsByName = function (name) {\n var rst = [];\n each(this.get('shapesMap'), function (elem) {\n if (elem.get('name') === name) {\n rst.push(elem);\n }\n });\n return rst;\n };\n GroupComponent.prototype.getContainer = function () {\n return this.get('container');\n };\n GroupComponent.prototype.updateInner = function (cfg) {\n // this.updateInner();\n // this.set('isUpdating', false);\n this.offScreenRender();\n if (this.get('updateAutoRender')) {\n this.render();\n }\n };\n GroupComponent.prototype.render = function () {\n var offScreenGroup = this.get('offScreenGroup');\n if (!offScreenGroup) {\n offScreenGroup = this.offScreenRender();\n }\n var group = this.get('group');\n this.updateElements(offScreenGroup, group);\n this.deleteElements();\n this.applyOffset();\n if (!this.get('eventInitted')) {\n this.initEvent();\n this.set('eventInitted', true);\n }\n this.set('isInit', false);\n };\n GroupComponent.prototype.show = function () {\n var group = this.get('group');\n group.show();\n this.set('visible', true);\n };\n GroupComponent.prototype.hide = function () {\n var group = this.get('group');\n group.hide();\n this.set('visible', false);\n };\n GroupComponent.prototype.setCapture = function (capture) {\n var group = this.get('group');\n group.set('capture', capture);\n this.set('capture', capture);\n };\n GroupComponent.prototype.destroy = function () {\n this.removeEvent();\n this.remove();\n _super.prototype.destroy.call(this);\n };\n GroupComponent.prototype.getBBox = function () {\n return this.get('group').getCanvasBBox();\n };\n GroupComponent.prototype.getLayoutBBox = function () {\n var group = this.get('group');\n // 防止被 clear 了,offScreenBBox 不存在\n var bbox = this.getInnerLayoutBBox();\n var matrix = group.getTotalMatrix();\n if (matrix) {\n bbox = applyMatrix2BBox(matrix, bbox);\n }\n return bbox; // 默认返回 getBBox,不同的组件内部单独实现\n };\n // 复写 on, off, emit 透传到 group\n GroupComponent.prototype.on = function (evt, callback, once) {\n var group = this.get('group');\n group.on(evt, callback, once);\n return this;\n };\n GroupComponent.prototype.off = function (evt, callback) {\n var group = this.get('group');\n group && group.off(evt, callback);\n return this;\n };\n GroupComponent.prototype.emit = function (eventName, eventObject) {\n var group = this.get('group');\n group.emit(eventName, eventObject);\n };\n GroupComponent.prototype.init = function () {\n _super.prototype.init.call(this);\n if (!this.get('group')) {\n this.initGroup();\n }\n this.offScreenRender(); // 绘制离屏 group\n };\n // 获取组件内部布局占的包围盒\n GroupComponent.prototype.getInnerLayoutBBox = function () {\n return this.get('offScreenBBox') || this.get('group').getBBox();\n };\n // 抛出委托对象\n GroupComponent.prototype.delegateEmit = function (eventName, eventObject) {\n var group = this.get('group');\n eventObject.target = group;\n group.emit(eventName, eventObject);\n propagationDelegate(group, eventName, eventObject);\n };\n // 创建离屏的 group ,不添加在 canvas 中\n GroupComponent.prototype.createOffScreenGroup = function () {\n var group = this.get('group');\n var GroupClass = group.getGroupBase(); // 获取分组的构造函数\n var newGroup = new GroupClass({\n delegateObject: this.getDelegateObject(),\n });\n return newGroup;\n };\n // 应用 offset\n GroupComponent.prototype.applyOffset = function () {\n var offsetX = this.get('offsetX');\n var offsetY = this.get('offsetY');\n this.moveElementTo(this.get('group'), {\n x: offsetX,\n y: offsetY,\n });\n };\n GroupComponent.prototype.initGroup = function () {\n var container = this.get('container');\n this.set('group', container.addGroup({\n id: this.get('id'),\n name: this.get('name'),\n capture: this.get('capture'),\n visible: this.get('visible'),\n isComponent: true,\n component: this,\n delegateObject: this.getDelegateObject(),\n }));\n };\n // 离屏渲染\n GroupComponent.prototype.offScreenRender = function () {\n this.clearOffScreenCache();\n var offScreenGroup = this.createOffScreenGroup();\n this.renderInner(offScreenGroup);\n this.set('offScreenGroup', offScreenGroup);\n // 包含包围盒的 bbox\n this.set('offScreenBBox', getBBoxWithClip(offScreenGroup));\n return offScreenGroup;\n };\n /**\n * @protected\n * 在组件上添加分组,主要解决 isReigeter 的问题\n * @param {IGroup} parent 父元素\n * @param {object} cfg 分组的配置项\n */\n GroupComponent.prototype.addGroup = function (parent, cfg) {\n this.appendDelegateObject(parent, cfg);\n var group = parent.addGroup(cfg);\n if (this.get('isRegister')) {\n this.registerElement(group);\n }\n return group;\n };\n /**\n * @protected\n * 在组件上添加图形,主要解决 isReigeter 的问题\n * @param {IGroup} parent 父元素\n * @param {object} cfg 分组的配置项\n */\n GroupComponent.prototype.addShape = function (parent, cfg) {\n this.appendDelegateObject(parent, cfg);\n var shape = parent.addShape(cfg);\n if (this.get('isRegister')) {\n this.registerElement(shape);\n }\n return shape;\n };\n /**\n * 在组件上添加子组件\n *\n * @param parent 父元素\n * @param cfg 子组件配置项\n */\n GroupComponent.prototype.addComponent = function (parent, cfg) {\n var id = cfg.id, Ctor = cfg.component, restCfg = __rest(cfg, [\"id\", \"component\"]);\n // @ts-ignore\n var inst = new Ctor(__assign(__assign({}, restCfg), { id: id, container: parent, updateAutoRender: this.get('updateAutoRender') }));\n inst.init();\n inst.render();\n if (this.get('isRegister')) {\n this.registerElement(inst.get('group'));\n }\n return inst;\n };\n GroupComponent.prototype.initEvent = function () { };\n GroupComponent.prototype.removeEvent = function () {\n var group = this.get('group');\n group.off();\n };\n GroupComponent.prototype.getElementId = function (localId) {\n var id = this.get('id'); // 组件的 Id\n var name = this.get('name'); // 组件的名称\n return id + \"-\" + name + \"-\" + localId;\n };\n GroupComponent.prototype.registerElement = function (element) {\n var id = element.get('id');\n this.get('shapesMap')[id] = element;\n };\n GroupComponent.prototype.unregisterElement = function (element) {\n var id = element.get('id');\n delete this.get('shapesMap')[id];\n };\n // 移动元素\n GroupComponent.prototype.moveElementTo = function (element, point) {\n var matrix = getMatrixByTranslate(point);\n element.attr('matrix', matrix);\n };\n /**\n * 图形元素新出现时的动画,默认图形从透明度 0 到当前透明度\n * @protected\n * @param {string} elmentName 图形元素名称\n * @param {IElement} newElement 新的图形元素\n * @param {object} animateCfg 动画的配置项\n */\n GroupComponent.prototype.addAnimation = function (elmentName, newElement, animateCfg) {\n // 缓存透明度\n var originOpacity = newElement.attr('opacity');\n if (isNil(originOpacity)) {\n originOpacity = 1;\n }\n newElement.attr('opacity', 0);\n newElement.animate({ opacity: originOpacity }, animateCfg);\n };\n /**\n * 图形元素新出现时的动画,默认图形从透明度 0 到当前透明度\n * @protected\n * @param {string} elmentName 图形元素名称\n * @param {IElement} originElement 要删除的图形元素\n * @param {object} animateCfg 动画的配置项\n */\n GroupComponent.prototype.removeAnimation = function (elementName, originElement, animateCfg) {\n originElement.animate({ opacity: 0 }, animateCfg);\n };\n /**\n * 图形元素的更新动画\n * @param {string} elmentName 图形元素名称\n * @param {IElement} originElement 现有的图形元素\n * @param {object} newAttrs 新的图形元素\n * @param {object} animateCfg 动画的配置项\n */\n GroupComponent.prototype.updateAnimation = function (elementName, originElement, newAttrs, animateCfg) {\n originElement.animate(newAttrs, animateCfg);\n };\n // 更新组件的图形\n GroupComponent.prototype.updateElements = function (newGroup, originGroup) {\n var _this = this;\n var animate = this.get('animate');\n var animateOption = this.get('animateOption');\n var children = newGroup.getChildren().slice(0); // 创建一个新数组,防止添加到 originGroup 时, children 变动\n var preElement; // 前面已经匹配到的图形元素,用于\n each(children, function (element) {\n var elementId = element.get('id');\n var originElement = _this.getElementById(elementId);\n var elementName = element.get('name');\n if (originElement) {\n if (element.get('isComponent')) {\n // 嵌套子组件更新\n var childComponent = element.get('component');\n var origChildComponent = originElement.get('component');\n var newCfg = pick(childComponent.cfg, difference(keys(childComponent.cfg), COPY_PROPERTIES_EXCLUDES));\n origChildComponent.update(newCfg);\n originElement.set(STATUS_UPDATE, 'update');\n }\n else {\n var replaceAttrs = _this.getReplaceAttrs(originElement, element);\n // 更新\n if (animate && animateOption.update) {\n // 没有动画\n _this.updateAnimation(elementName, originElement, replaceAttrs, animateOption.update);\n }\n else {\n // originElement.attrs = replaceAttrs; // 直接替换\n originElement.attr(replaceAttrs);\n }\n // 如果是分组,则继续执行\n if (element.isGroup()) {\n _this.updateElements(element, originElement);\n }\n // 复制属性\n each(COPY_PROPERTIES, function (name) {\n originElement.set(name, element.get(name));\n });\n updateClip(originElement, element);\n preElement = originElement;\n // 执行完更新后设置状态位为更新\n originElement.set(STATUS_UPDATE, 'update');\n }\n }\n else {\n // 没有对应的图形,则插入当前图形\n originGroup.add(element); // 应该在 group 加个 insertAt 的方法\n var siblings = originGroup.getChildren(); // 兄弟节点\n siblings.splice(siblings.length - 1, 1); // 先从数组中移除,然后放到合适的位置\n if (preElement) {\n // 前面已经有更新的图形或者插入的图形,则在这个图形后面插入\n var index = siblings.indexOf(preElement);\n siblings.splice(index + 1, 0, element); // 在已经更新的图形元素后面插入\n }\n else {\n siblings.unshift(element);\n }\n _this.registerElement(element); // 注册节点\n element.set(STATUS_UPDATE, 'add'); // 执行完更新后设置状态位为添加\n if (element.get('isComponent')) {\n // 直接新增子组件container属性,实例不变\n var childComponent = element.get('component');\n childComponent.set('container', originGroup);\n }\n else if (element.isGroup()) {\n // 如果元素是新增加的元素,则遍历注册所有的子节点\n _this.registerNewGroup(element);\n }\n preElement = element;\n if (animate) {\n var animateCfg = _this.get('isInit') ? animateOption.appear : animateOption.enter;\n if (animateCfg) {\n _this.addAnimation(elementName, element, animateCfg);\n }\n }\n }\n });\n };\n GroupComponent.prototype.clearUpdateStatus = function (group) {\n var children = group.getChildren();\n each(children, function (el) {\n el.set(STATUS_UPDATE, null); // 清理掉更新状态\n });\n };\n // 清理离屏缓存\n GroupComponent.prototype.clearOffScreenCache = function () {\n var offScreenGroup = this.get('offScreenGroup');\n if (offScreenGroup) {\n // 销毁原先的离线 Group\n offScreenGroup.destroy();\n }\n this.set('offScreenGroup', null);\n this.set('offScreenBBox', null);\n };\n // private updateInner() {\n // const group = this.get('group');\n // const newGroup = this.createOffScreenGroup();\n // this.renderInner(newGroup);\n // this.applyOffset();\n // this.updateElements(newGroup, group);\n // this.deleteElements();\n // newGroup.destroy(); // 销毁虚拟分组\n // }\n // 获取发生委托时的对象,在事件中抛出\n GroupComponent.prototype.getDelegateObject = function () {\n var _a;\n var name = this.get('name');\n var delegateObject = (_a = {},\n _a[name] = this,\n _a.component = this,\n _a);\n return delegateObject;\n };\n // 附加委托信息,用于事件\n GroupComponent.prototype.appendDelegateObject = function (parent, cfg) {\n var parentObject = parent.get('delegateObject');\n if (!cfg.delegateObject) {\n cfg.delegateObject = {};\n }\n mix(cfg.delegateObject, parentObject); // 将父元素上的委托信息复制到自身\n };\n // 获取需要替换的属性,如果原先图形元素存在,而新图形不存在,则设置 undefined\n GroupComponent.prototype.getReplaceAttrs = function (originElement, newElement) {\n var originAttrs = originElement.attr();\n var newAttrs = newElement.attr();\n each(originAttrs, function (v, k) {\n if (newAttrs[k] === undefined) {\n newAttrs[k] = undefined;\n }\n });\n return newAttrs;\n };\n GroupComponent.prototype.registerNewGroup = function (group) {\n var _this = this;\n var children = group.getChildren();\n each(children, function (element) {\n _this.registerElement(element); // 注册节点\n element.set(STATUS_UPDATE, 'add'); // 执行完更新后设置状态位为添加\n if (element.isGroup()) {\n _this.registerNewGroup(element);\n }\n });\n };\n // 移除多余的元素\n GroupComponent.prototype.deleteElements = function () {\n var _this = this;\n var shapesMap = this.get('shapesMap');\n var deleteArray = [];\n // 遍历获取需要删除的图形元素\n each(shapesMap, function (element, id) {\n if (!element.get(STATUS_UPDATE) || element.destroyed) {\n deleteArray.push([id, element]);\n }\n else {\n element.set(STATUS_UPDATE, null); // 清理掉更新状态\n }\n });\n var animate = this.get('animate');\n var animateOption = this.get('animateOption');\n // 删除图形元素\n each(deleteArray, function (item) {\n var id = item[0], element = item[1];\n if (!element.destroyed) {\n var elementName = element.get('name');\n if (animate && animateOption.leave) {\n // 需要动画结束时移除图形\n var callbackAnimCfg = mix({\n callback: function () {\n _this.removeElement(element);\n },\n }, animateOption.leave);\n _this.removeAnimation(elementName, element, callbackAnimCfg);\n }\n else {\n _this.removeElement(element);\n }\n }\n delete shapesMap[id]; // 从缓存中移除\n });\n };\n GroupComponent.prototype.removeElement = function (element) {\n if (element.get('isGroup')) {\n var component = element.get('component');\n if (component) {\n component.destroy();\n }\n }\n element.remove();\n };\n return GroupComponent;\n}(Component));\nexport default GroupComponent;\n//# sourceMappingURL=group-component.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.propagationDelegate = void 0;\nvar graph_event_1 = require(\"@antv/g-base/lib/event/graph-event\");\n/**\n *\n * @param group 分组\n * @param eventName 事件名\n * @param eventObject 事件对象\n */\nfunction propagationDelegate(group, eventName, eventObject) {\n var event = new graph_event_1.default(eventName, eventObject);\n event.target = group;\n event.propagationPath.push(group); // 从当前 group 开始触发 delegation\n group.emitDelegation(eventName, event);\n var parent = group.getParent();\n // 执行冒泡\n while (parent) {\n // 委托事件要先触发\n parent.emitDelegation(eventName, event);\n event.propagationPath.push(parent);\n parent = parent.getParent();\n }\n}\nexports.propagationDelegate = propagationDelegate;\n//# sourceMappingURL=event.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar util_1 = require(\"./util\");\nvar offscreen_1 = require(\"./offscreen\");\n/**\n * 获取文本的高度\n * @param text 文本\n * @param fontSize 字体大小\n * @param lineHeight 行高,可以为空\n */\nfunction getTextHeight(text, fontSize, lineHeight) {\n var lineCount = 1;\n if (util_1.isString(text)) {\n lineCount = text.split('\\n').length;\n }\n if (lineCount > 1) {\n var spaceingY = getLineSpaceing(fontSize, lineHeight);\n return fontSize * lineCount + spaceingY * (lineCount - 1);\n }\n return fontSize;\n}\nexports.getTextHeight = getTextHeight;\n/**\n * 获取行间距如果文本多行,需要获取文本间距\n * @param fontSize 字体大小\n * @param lineHeight 行高\n */\nfunction getLineSpaceing(fontSize, lineHeight) {\n return lineHeight ? lineHeight - fontSize : fontSize * 0.14;\n}\nexports.getLineSpaceing = getLineSpaceing;\n/**\n * 字体宽度\n * @param text 文本\n * @param font 字体\n */\nfunction getTextWidth(text, font) {\n var context = offscreen_1.getOffScreenContext(); // 获取离屏的 ctx 进行计算\n var width = 0;\n // null 或者 undefined 时,宽度为 0\n if (util_1.isNil(text) || text === '') {\n return width;\n }\n context.save();\n context.font = font;\n if (util_1.isString(text) && text.includes('\\n')) {\n var textArr = text.split('\\n');\n util_1.each(textArr, function (subText) {\n var measureWidth = context.measureText(subText).width;\n if (width < measureWidth) {\n width = measureWidth;\n }\n });\n }\n else {\n width = context.measureText(text).width;\n }\n context.restore();\n return width;\n}\nexports.getTextWidth = getTextWidth;\nfunction assembleFont(attrs) {\n var fontSize = attrs.fontSize, fontFamily = attrs.fontFamily, fontWeight = attrs.fontWeight, fontStyle = attrs.fontStyle, fontVariant = attrs.fontVariant;\n return [fontStyle, fontVariant, fontWeight, fontSize + \"px\", fontFamily].join(' ').trim();\n}\nexports.assembleFont = assembleFont;\n//# sourceMappingURL=text.js.map","import { each } from '@antv/util';\nimport { ellipsisString, strLen } from './text';\nvar ELLIPSIS_CODE = '\\u2026';\nvar ELLIPSIS_CODE_LENGTH = 2; // 省略号的长度\n/** 获取最长的 label */\nexport function getMaxLabelWidth(labels) {\n var max = 0;\n each(labels, function (label) {\n var bbox = label.getBBox();\n var width = bbox.width;\n if (max < width) {\n max = width;\n }\n });\n return max;\n}\n/** 获取label长度 */\nexport function getLabelLength(isVertical, label) {\n var bbox = label.getCanvasBBox();\n return isVertical ? bbox.width : bbox.height;\n}\n/* label长度是否超过约束值 */\nexport function testLabel(label, limitLength) {\n return label.getBBox().width < limitLength;\n}\n/** 处理 text shape 的自动省略 */\nexport function ellipsisLabel(isVertical, label, limitLength, position) {\n if (position === void 0) { position = 'tail'; }\n var text = label.attr('text');\n var labelLength = getLabelLength(isVertical, label);\n var codeLength = strLen(text);\n var ellipsised = false;\n if (limitLength < labelLength) {\n var reseveLength = Math.floor((limitLength / labelLength) * codeLength) - ELLIPSIS_CODE_LENGTH; // 计算出来的应该保存的长度\n var newText = void 0;\n if (reseveLength >= 0) {\n newText = ellipsisString(text, reseveLength, position);\n }\n else {\n newText = ELLIPSIS_CODE;\n }\n if (newText) {\n label.attr('text', newText);\n ellipsised = true;\n }\n }\n if (ellipsised) {\n label.set('tip', text);\n }\n else {\n label.set('tip', null);\n }\n return ellipsised;\n}\n//# sourceMappingURL=label.js.map","import { __assign } from \"tslib\";\nimport { get } from '@antv/util';\nimport { ellipsisLabel } from './label';\nimport { applyRotate, applyTranslate } from './matrix';\nimport { formatPadding } from './util';\nexport function renderTag(container, tagCfg) {\n var x = tagCfg.x, y = tagCfg.y, content = tagCfg.content, style = tagCfg.style, id = tagCfg.id, name = tagCfg.name, rotate = tagCfg.rotate, maxLength = tagCfg.maxLength, autoEllipsis = tagCfg.autoEllipsis, isVertical = tagCfg.isVertical, ellipsisPosition = tagCfg.ellipsisPosition, background = tagCfg.background;\n var tagGroup = container.addGroup({\n id: id + \"-group\",\n name: name + \"-group\",\n attrs: {\n x: x,\n y: y,\n }\n });\n // Text shape\n var text = tagGroup.addShape({\n type: 'text',\n id: id,\n name: name,\n attrs: __assign({ x: 0, y: 0, text: content }, style),\n });\n // maxLength 应包含 background 中的 padding 值\n var padding = formatPadding(get(background, 'padding', 0));\n if (maxLength && autoEllipsis) {\n var maxTextLength = maxLength - (padding[1] + padding[3]);\n // 超出自动省略\n ellipsisLabel(!isVertical, text, maxTextLength, ellipsisPosition);\n }\n if (background) {\n // 渲染文本背景\n var backgroundStyle = get(background, 'style', {});\n var _a = text.getCanvasBBox(), minX = _a.minX, minY = _a.minY, width = _a.width, height = _a.height;\n var tagBg = tagGroup.addShape('rect', {\n id: id + \"-bg\",\n name: id + \"-bg\",\n attrs: __assign({ x: minX - padding[3], y: minY - padding[0], width: width + padding[1] + padding[3], height: height + padding[0] + padding[2] }, backgroundStyle),\n });\n tagBg.toBack();\n }\n applyTranslate(tagGroup, x, y);\n applyRotate(tagGroup, rotate, x, y);\n}\n//# sourceMappingURL=graphic.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = {\n fontFamily: \"\\n \\\"-apple-system\\\", BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto,\\\"Helvetica Neue\\\",\\n Helvetica, \\\"PingFang SC\\\", \\\"Hiragino Sans GB\\\", \\\"Microsoft YaHei\\\",\\n SimSun, \\\"sans-serif\\\"\",\n textColor: '#2C3542',\n activeTextColor: '#333333',\n uncheckedColor: '#D8D8D8',\n lineColor: '#416180',\n regionColor: '#CCD7EB',\n verticalAxisRotate: -Math.PI / 4,\n horizontalAxisRotate: Math.PI / 4,\n};\n//# sourceMappingURL=theme.js.map","import { __assign, __extends } from \"tslib\";\nimport { isNumber, isString } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { renderTag } from '../util/graphic';\nimport Theme from '../util/theme';\nimport { getValueByPercent } from '../util/util';\nvar LineAnnotation = /** @class */ (function (_super) {\n __extends(LineAnnotation, _super);\n function LineAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n LineAnnotation.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'annotation', type: 'line', locationType: 'region', start: null, end: null, style: {}, text: null, defaultCfg: {\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'center',\n textBaseline: 'bottom',\n fontFamily: Theme.fontFamily,\n },\n text: {\n position: 'center',\n autoRotate: true,\n content: null,\n offsetX: 0,\n offsetY: 0,\n style: {\n stroke: Theme.lineColor,\n lineWidth: 1,\n },\n },\n } });\n };\n LineAnnotation.prototype.renderInner = function (group) {\n this.renderLine(group);\n if (this.get('text')) {\n this.renderLabel(group);\n }\n };\n // 绘制线\n LineAnnotation.prototype.renderLine = function (group) {\n var start = this.get('start');\n var end = this.get('end');\n var style = this.get('style');\n this.addShape(group, {\n type: 'line',\n id: this.getElementId('line'),\n name: 'annotation-line',\n attrs: __assign({ x1: start.x, y1: start.y, x2: end.x, y2: end.y }, style),\n });\n };\n // 获取 label 的位置\n LineAnnotation.prototype.getLabelPoint = function (start, end, position) {\n var percent;\n if (position === 'start') {\n percent = 0;\n }\n else if (position === 'center') {\n percent = 0.5;\n }\n else if (isString(position) && position.indexOf('%') !== -1) {\n percent = parseInt(position, 10) / 100;\n }\n else if (isNumber(position)) {\n percent = position;\n }\n else {\n percent = 1;\n }\n if (percent > 1 || percent < 0) {\n percent = 1;\n }\n return {\n x: getValueByPercent(start.x, end.x, percent),\n y: getValueByPercent(start.y, end.y, percent),\n };\n };\n // 绘制 label\n LineAnnotation.prototype.renderLabel = function (group) {\n var text = this.get('text');\n var start = this.get('start');\n var end = this.get('end');\n var position = text.position, content = text.content, style = text.style, offsetX = text.offsetX, offsetY = text.offsetY, autoRotate = text.autoRotate, maxLength = text.maxLength, autoEllipsis = text.autoEllipsis, ellipsisPosition = text.ellipsisPosition, background = text.background, _a = text.isVertical, isVertical = _a === void 0 ? false : _a;\n var point = this.getLabelPoint(start, end, position);\n var x = point.x + offsetX;\n var y = point.y + offsetY;\n var cfg = {\n id: this.getElementId('line-text'),\n name: 'annotation-line-text',\n x: x,\n y: y,\n content: content,\n style: style,\n maxLength: maxLength,\n autoEllipsis: autoEllipsis,\n ellipsisPosition: ellipsisPosition,\n background: background,\n isVertical: isVertical,\n };\n // 如果自动旋转\n if (autoRotate) {\n var vector = [end.x - start.x, end.y - start.y];\n cfg.rotate = Math.atan2(vector[1], vector[0]);\n }\n renderTag(group, cfg);\n };\n return LineAnnotation;\n}(GroupComponent));\nexport default LineAnnotation;\n//# sourceMappingURL=line.js.map","import { __assign, __extends } from \"tslib\";\nimport GroupComponent from '../abstract/group-component';\nimport { renderTag } from '../util/graphic';\nimport { applyRotate, applyTranslate } from '../util/matrix';\nimport Theme from '../util/theme';\nvar TextAnnotation = /** @class */ (function (_super) {\n __extends(TextAnnotation, _super);\n function TextAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n TextAnnotation.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'annotation', type: 'text', locationType: 'point', x: 0, y: 0, content: '', rotate: null, style: {}, background: null, maxLength: null, autoEllipsis: true, isVertical: false, ellipsisPosition: 'tail', defaultCfg: {\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'center',\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n },\n } });\n };\n // 复写 setLocation 方法,不需要重新创建 text\n TextAnnotation.prototype.setLocation = function (location) {\n this.set('x', location.x);\n this.set('y', location.y);\n this.resetLocation();\n };\n TextAnnotation.prototype.renderInner = function (group) {\n var _a = this.getLocation(), x = _a.x, y = _a.y;\n var content = this.get('content');\n var style = this.get('style');\n var id = this.getElementId('text');\n var name = this.get('name') + \"-text\";\n var maxLength = this.get('maxLength');\n var autoEllipsis = this.get('autoEllipsis');\n var isVertical = this.get('isVertical');\n var ellipsisPosition = this.get('ellipsisPosition');\n var background = this.get('background');\n var rotate = this.get('rotate');\n var cfg = {\n id: id,\n name: name,\n x: x,\n y: y,\n content: content,\n style: style,\n maxLength: maxLength,\n autoEllipsis: autoEllipsis,\n isVertical: isVertical,\n ellipsisPosition: ellipsisPosition,\n background: background,\n rotate: rotate,\n };\n renderTag(group, cfg);\n };\n TextAnnotation.prototype.resetLocation = function () {\n var textGroup = this.getElementByLocalId('text-group');\n if (textGroup) {\n var _a = this.getLocation(), x = _a.x, y = _a.y;\n var rotate = this.get('rotate');\n applyTranslate(textGroup, x, y);\n applyRotate(textGroup, rotate, x, y);\n }\n };\n return TextAnnotation;\n}(GroupComponent));\nexport default TextAnnotation;\n//# sourceMappingURL=text.js.map","import { __assign, __extends } from \"tslib\";\nimport GroupComponent from '../abstract/group-component';\nimport { getCirclePoint } from '../util/util';\nvar ArcAnnotation = /** @class */ (function (_super) {\n __extends(ArcAnnotation, _super);\n function ArcAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n ArcAnnotation.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'annotation', type: 'arc', locationType: 'circle', center: null, radius: 100, startAngle: -Math.PI / 2, endAngle: (Math.PI * 3) / 2, style: {\n stroke: '#999',\n lineWidth: 1,\n } });\n };\n ArcAnnotation.prototype.renderInner = function (group) {\n this.renderArc(group);\n };\n ArcAnnotation.prototype.getArcPath = function () {\n var _a = this.getLocation(), center = _a.center, radius = _a.radius, startAngle = _a.startAngle, endAngle = _a.endAngle;\n var startPoint = getCirclePoint(center, radius, startAngle);\n var endPoint = getCirclePoint(center, radius, endAngle);\n var largeFlag = endAngle - startAngle > Math.PI ? 1 : 0;\n var path = [['M', startPoint.x, startPoint.y]];\n if (endAngle - startAngle === Math.PI * 2) {\n // 整个圆是分割成两个圆\n var middlePoint = getCirclePoint(center, radius, startAngle + Math.PI);\n path.push(['A', radius, radius, 0, largeFlag, 1, middlePoint.x, middlePoint.y]);\n path.push(['A', radius, radius, 0, largeFlag, 1, endPoint.x, endPoint.y]);\n }\n else {\n path.push(['A', radius, radius, 0, largeFlag, 1, endPoint.x, endPoint.y]);\n }\n return path;\n };\n // 绘制 arc\n ArcAnnotation.prototype.renderArc = function (group) {\n // 也可以 通过 get('center') 类似的方式逐个获取\n var path = this.getArcPath();\n var style = this.get('style');\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('arc'),\n name: 'annotation-arc',\n attrs: __assign({ path: path }, style),\n });\n };\n return ArcAnnotation;\n}(GroupComponent));\nexport default ArcAnnotation;\n//# sourceMappingURL=arc.js.map","import { __assign, __extends } from \"tslib\";\nimport GroupComponent from '../abstract/group-component';\nimport Theme from '../util/theme';\nimport { regionToBBox } from '../util/util';\nvar RegionAnnotation = /** @class */ (function (_super) {\n __extends(RegionAnnotation, _super);\n function RegionAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n RegionAnnotation.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'annotation', type: 'region', locationType: 'region', start: null, end: null, style: {}, defaultCfg: {\n style: {\n lineWidth: 0,\n fill: Theme.regionColor,\n opacity: 0.4,\n },\n } });\n };\n RegionAnnotation.prototype.renderInner = function (group) {\n this.renderRegion(group);\n };\n RegionAnnotation.prototype.renderRegion = function (group) {\n var start = this.get('start');\n var end = this.get('end');\n var style = this.get('style');\n var bbox = regionToBBox({ start: start, end: end });\n this.addShape(group, {\n type: 'rect',\n id: this.getElementId('region'),\n name: 'annotation-region',\n attrs: __assign({ x: bbox.x, y: bbox.y, width: bbox.width, height: bbox.height }, style),\n });\n };\n return RegionAnnotation;\n}(GroupComponent));\nexport default RegionAnnotation;\n//# sourceMappingURL=region.js.map","import { __assign, __extends } from \"tslib\";\nimport GroupComponent from '../abstract/group-component';\nimport { regionToBBox } from '../util/util';\nvar ImageAnnotation = /** @class */ (function (_super) {\n __extends(ImageAnnotation, _super);\n function ImageAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * @protected\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n ImageAnnotation.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'annotation', type: 'image', locationType: 'region', start: null, end: null, src: null, style: {} });\n };\n ImageAnnotation.prototype.renderInner = function (group) {\n this.renderImage(group);\n };\n ImageAnnotation.prototype.getImageAttrs = function () {\n var start = this.get('start');\n var end = this.get('end');\n var style = this.get('style');\n var bbox = regionToBBox({ start: start, end: end });\n var src = this.get('src');\n return __assign({ x: bbox.x, y: bbox.y, img: src, width: bbox.width, height: bbox.height }, style);\n };\n // 绘制图片\n ImageAnnotation.prototype.renderImage = function (group) {\n this.addShape(group, {\n type: 'image',\n id: this.getElementId('image'),\n name: 'annotation-image',\n attrs: this.getImageAttrs(),\n });\n };\n return ImageAnnotation;\n}(GroupComponent));\nexport default ImageAnnotation;\n//# sourceMappingURL=image.js.map","import { __assign, __extends, __rest } from \"tslib\";\nimport { get } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { renderTag } from '../util/graphic';\nimport { applyTranslate } from '../util/matrix';\nimport Theme from '../util/theme';\nvar DataMarkerAnnotation = /** @class */ (function (_super) {\n __extends(DataMarkerAnnotation, _super);\n function DataMarkerAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n DataMarkerAnnotation.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'annotation', type: 'dataMarker', locationType: 'point', x: 0, y: 0, point: {}, line: {}, text: {}, direction: 'upward', autoAdjust: true, coordinateBBox: null, defaultCfg: {\n point: {\n display: true,\n style: {\n r: 3,\n fill: '#FFFFFF',\n stroke: '#1890FF',\n lineWidth: 2,\n },\n },\n line: {\n display: true,\n length: 20,\n style: {\n stroke: Theme.lineColor,\n lineWidth: 1,\n },\n },\n text: {\n content: '',\n display: true,\n style: {\n fill: Theme.textColor,\n opacity: 0.65,\n fontSize: 12,\n textAlign: 'start',\n fontFamily: Theme.fontFamily,\n },\n },\n } });\n };\n DataMarkerAnnotation.prototype.renderInner = function (group) {\n if (get(this.get('line'), 'display')) {\n this.renderLine(group);\n }\n if (get(this.get('text'), 'display')) {\n this.renderText(group);\n }\n if (get(this.get('point'), 'display')) {\n this.renderPoint(group);\n }\n if (this.get('autoAdjust')) {\n this.autoAdjust(group);\n }\n };\n DataMarkerAnnotation.prototype.applyOffset = function () {\n this.moveElementTo(this.get('group'), {\n x: this.get('x') + this.get('offsetX'),\n y: this.get('y') + this.get('offsetY'),\n });\n };\n DataMarkerAnnotation.prototype.renderPoint = function (group) {\n var point = this.getShapeAttrs().point;\n this.addShape(group, {\n type: 'circle',\n id: this.getElementId('point'),\n name: 'annotation-point',\n attrs: point,\n });\n };\n DataMarkerAnnotation.prototype.renderLine = function (group) {\n var line = this.getShapeAttrs().line;\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('line'),\n name: 'annotation-line',\n attrs: line,\n });\n };\n DataMarkerAnnotation.prototype.renderText = function (group) {\n var textAttrs = this.getShapeAttrs().text;\n var x = textAttrs.x, y = textAttrs.y, text = textAttrs.text, style = __rest(textAttrs, [\"x\", \"y\", \"text\"]);\n var _a = this.get('text'), background = _a.background, maxLength = _a.maxLength, autoEllipsis = _a.autoEllipsis, isVertival = _a.isVertival, ellipsisPosition = _a.ellipsisPosition;\n var tagCfg = {\n x: x,\n y: y,\n id: this.getElementId('text'),\n name: 'annotation-text',\n content: text,\n style: style,\n background: background,\n maxLength: maxLength,\n autoEllipsis: autoEllipsis,\n isVertival: isVertival,\n ellipsisPosition: ellipsisPosition,\n };\n renderTag(group, tagCfg);\n };\n DataMarkerAnnotation.prototype.autoAdjust = function (group) {\n var direction = this.get('direction');\n var x = this.get('x');\n var y = this.get('y');\n var lineLength = get(this.get('line'), 'length', 0);\n var coordinateBBox = this.get('coordinateBBox');\n var _a = group.getBBox(), minX = _a.minX, maxX = _a.maxX, minY = _a.minY, maxY = _a.maxY;\n var textGroup = group.findById(this.getElementId('text-group'));\n var textShape = group.findById(this.getElementId('text'));\n var lineShape = group.findById(this.getElementId('line'));\n if (!coordinateBBox) {\n return;\n }\n if (textGroup) {\n if (x + minX <= coordinateBBox.minX) {\n // 左侧超出\n var overflow = coordinateBBox.minX - (x + minX);\n applyTranslate(textGroup, textGroup.attr('x') + overflow, textGroup.attr('y'));\n }\n if (x + maxX >= coordinateBBox.maxX) {\n // 右侧超出\n var overflow = x + maxX - coordinateBBox.maxX;\n applyTranslate(textGroup, textGroup.attr('x') - overflow, textGroup.attr('y'));\n }\n }\n if ((direction === 'upward' && y + minY <= coordinateBBox.minY) ||\n (direction !== 'upward' && y + maxY >= coordinateBBox.maxY)) {\n // 上方或者下方超出\n var textBaseline = void 0;\n var factor = void 0;\n if (direction === 'upward' && y + minY <= coordinateBBox.minY) {\n textBaseline = 'top';\n factor = 1;\n }\n else {\n textBaseline = 'bottom';\n factor = -1;\n }\n textShape.attr('textBaseline', textBaseline);\n if (lineShape) {\n lineShape.attr('path', [\n ['M', 0, 0],\n ['L', 0, lineLength * factor],\n ]);\n }\n applyTranslate(textGroup, textGroup.attr('x'), (lineLength + 2) * factor);\n }\n };\n DataMarkerAnnotation.prototype.getShapeAttrs = function () {\n var lineDisplay = get(this.get('line'), 'display');\n var pointStyle = get(this.get('point'), 'style', {});\n var lineStyle = get(this.get('line'), 'style', {});\n var textStyle = get(this.get('text'), 'style', {});\n var direction = this.get('direction');\n var lineLength = lineDisplay ? get(this.get('line'), 'length', 0) : 0;\n var factor = direction === 'upward' ? -1 : 1;\n return {\n point: __assign({ x: 0, y: 0 }, pointStyle),\n line: __assign({ path: [\n ['M', 0, 0],\n ['L', 0, lineLength * factor],\n ] }, lineStyle),\n text: __assign({ x: 0, y: (lineLength + 2) * factor, text: get(this.get('text'), 'content', ''), textBaseline: direction === 'upward' ? 'bottom' : 'top' }, textStyle),\n };\n };\n return DataMarkerAnnotation;\n}(GroupComponent));\nexport default DataMarkerAnnotation;\n//# sourceMappingURL=data-marker.js.map","import { __assign, __extends } from \"tslib\";\nimport { get } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport Theme from '../util/theme';\nimport { pointsToBBox } from '../util/util';\nimport { renderTag } from '../util/graphic';\nvar DataRegionAnnotation = /** @class */ (function (_super) {\n __extends(DataRegionAnnotation, _super);\n function DataRegionAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n DataRegionAnnotation.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'annotation', type: 'dataRegion', locationType: 'points', points: [], lineLength: 0, region: {}, text: {}, defaultCfg: {\n region: {\n style: {\n lineWidth: 0,\n fill: Theme.regionColor,\n opacity: 0.4,\n },\n },\n text: {\n content: '',\n style: {\n textAlign: 'center',\n textBaseline: 'bottom',\n fontSize: 12,\n fill: Theme.textColor,\n fontFamily: Theme.fontFamily,\n },\n },\n } });\n };\n DataRegionAnnotation.prototype.renderInner = function (group) {\n var regionStyle = get(this.get('region'), 'style', {});\n var textStyle = get(this.get('text'), 'style', {});\n var lineLength = this.get('lineLength') || 0;\n var points = this.get('points');\n if (!points.length) {\n return;\n }\n var bbox = pointsToBBox(points);\n // render region\n var path = [];\n path.push(['M', points[0].x, bbox.minY - lineLength]);\n points.forEach(function (point) {\n path.push(['L', point.x, point.y]);\n });\n path.push(['L', points[points.length - 1].x, points[points.length - 1].y - lineLength]);\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('region'),\n name: 'annotation-region',\n attrs: __assign({ path: path }, regionStyle),\n });\n // render text\n var textCfg = __assign({ id: this.getElementId('text'), name: 'annotation-text', x: (bbox.minX + bbox.maxX) / 2, y: bbox.minY - lineLength }, this.get('text'));\n renderTag(group, textCfg);\n };\n return DataRegionAnnotation;\n}(GroupComponent));\nexport default DataRegionAnnotation;\n//# sourceMappingURL=data-region.js.map","import { __assign, __extends } from \"tslib\";\nimport { clone, each } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { regionToBBox } from '../util/util';\nvar RegionFilterAnnotation = /** @class */ (function (_super) {\n __extends(RegionFilterAnnotation, _super);\n function RegionFilterAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * 默认的配置项\n * @returns {object} 默认的配置项\n */\n RegionFilterAnnotation.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'annotation', type: 'regionFilter', locationType: 'region', start: null, end: null, color: null, shape: [] });\n };\n RegionFilterAnnotation.prototype.renderInner = function (group) {\n var _this = this;\n var start = this.get('start');\n var end = this.get('end');\n // 1. add region layer\n var layer = this.addGroup(group, {\n id: this.getElementId('region-filter'),\n capture: false,\n });\n // 2. clone shape & color it\n each(this.get('shapes'), function (shape, shapeIdx) {\n var type = shape.get('type');\n var attrs = clone(shape.attr());\n _this.adjustShapeAttrs(attrs);\n _this.addShape(layer, {\n id: _this.getElementId(\"shape-\" + type + \"-\" + shapeIdx),\n capture: false,\n type: type,\n attrs: attrs,\n });\n });\n // 3. clip\n var clipBBox = regionToBBox({ start: start, end: end });\n layer.setClip({\n type: 'rect',\n attrs: {\n x: clipBBox.minX,\n y: clipBBox.minY,\n width: clipBBox.width,\n height: clipBBox.height,\n },\n });\n };\n RegionFilterAnnotation.prototype.adjustShapeAttrs = function (attr) {\n var color = this.get('color');\n if (attr.fill) {\n attr.fill = attr.fillStyle = color;\n }\n attr.stroke = attr.strokeStyle = color;\n };\n return RegionFilterAnnotation;\n}(GroupComponent));\nexport default RegionFilterAnnotation;\n//# sourceMappingURL=region-filter.js.map","import { each, mix } from '@antv/util';\n// 获取多个状态量的合并值\nexport function getStatesStyle(item, elementName, stateStyles) {\n var styleName = elementName + \"Style\"; // activeStyle\n var styles = null;\n each(stateStyles, function (v, state) {\n if (item[state] && v[styleName]) {\n if (!styles) {\n styles = {};\n }\n mix(styles, v[styleName]); // 合并样式\n }\n });\n return styles;\n}\n//# sourceMappingURL=state.js.map","import { __assign, __extends } from \"tslib\";\nimport { ext } from '@antv/matrix-util';\nimport { each, filter, isNil, isNumberEqual, mix } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { getMatrixByAngle } from '../util/matrix';\nimport { getStatesStyle } from '../util/state';\nimport Theme from '../util/theme';\nvar AxisBase = /** @class */ (function (_super) {\n __extends(AxisBase, _super);\n function AxisBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AxisBase.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'axis', ticks: [], line: {}, tickLine: {}, subTickLine: null, title: null, \n /**\n * 文本标签的配置项\n */\n label: {}, \n /**\n * 垂直于坐标轴方向的因子,决定文本、title、tickLine 在坐标轴的哪一侧\n */\n verticalFactor: 1, \n // 垂直方向限制的长度,对文本自适应有很大影响\n verticalLimitLength: null, overlapOrder: ['autoRotate', 'autoEllipsis', 'autoHide'], tickStates: {}, defaultCfg: {\n line: {\n // @type {Attrs} 坐标轴线的图形属性,如果设置成null,则不显示轴线\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n },\n tickLine: {\n // @type {Attrs} 标注坐标线的图形属性\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n alignTick: true,\n length: 5,\n displayWithLabel: true,\n },\n subTickLine: {\n // @type {Attrs} 标注坐标线的图形属性\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n count: 4,\n length: 2,\n },\n label: {\n autoRotate: true,\n autoHide: false,\n autoEllipsis: false,\n style: {\n fontSize: 12,\n fill: Theme.textColor,\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n fontWeight: 'normal',\n },\n offset: 10,\n },\n title: {\n autoRotate: true,\n spacing: 5,\n position: 'center',\n style: {\n fontSize: 12,\n fill: Theme.textColor,\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n textAlign: 'center',\n },\n },\n tickStates: {\n active: {\n labelStyle: {\n fontWeight: 500,\n },\n tickLineStyle: {\n lineWidth: 2,\n },\n },\n inactive: {\n labelStyle: {\n fill: Theme.uncheckedColor,\n },\n },\n },\n } });\n };\n /**\n * 绘制组件\n */\n AxisBase.prototype.renderInner = function (group) {\n if (this.get('line')) {\n this.drawLine(group);\n }\n // drawTicks 包括 drawLabels 和 drawTickLines\n this.drawTicks(group);\n if (this.get('title')) {\n this.drawTitle(group);\n }\n };\n // 实现 IList 接口\n AxisBase.prototype.isList = function () {\n return true;\n };\n /**\n * 获取图例项\n * @return {ListItem[]} 列表项集合\n */\n AxisBase.prototype.getItems = function () {\n return this.get('ticks');\n };\n /**\n * 设置列表项\n * @param {ListItem[]} items 列表项集合\n */\n AxisBase.prototype.setItems = function (items) {\n this.update({\n ticks: items,\n });\n };\n /**\n * 更新列表项\n * @param {ListItem} item 列表项\n * @param {object} cfg 列表项\n */\n AxisBase.prototype.updateItem = function (item, cfg) {\n mix(item, cfg);\n this.clear(); // 由于单个图例项变化,会引起全局变化,所以全部更新\n this.render();\n };\n /**\n * 清空列表\n */\n AxisBase.prototype.clearItems = function () {\n var itemGroup = this.getElementByLocalId('label-group');\n itemGroup && itemGroup.clear();\n };\n /**\n * 设置列表项的状态\n * @param {ListItem} item 列表项\n * @param {string} state 状态名\n * @param {boolean} value 状态值, true, false\n */\n AxisBase.prototype.setItemState = function (item, state, value) {\n item[state] = value;\n this.updateTickStates(item); // 应用状态样式\n };\n /**\n * 是否存在指定的状态\n * @param {ListItem} item 列表项\n * @param {boolean} state 状态名\n */\n AxisBase.prototype.hasState = function (item, state) {\n return !!item[state];\n };\n AxisBase.prototype.getItemStates = function (item) {\n var tickStates = this.get('tickStates');\n var rst = [];\n each(tickStates, function (v, k) {\n if (item[k]) {\n // item.selected\n rst.push(k);\n }\n });\n return rst;\n };\n /**\n * 清楚所有列表项的状态\n * @param {string} state 状态值\n */\n AxisBase.prototype.clearItemsState = function (state) {\n var _this = this;\n var items = this.getItemsByState(state);\n each(items, function (item) {\n _this.setItemState(item, state, false);\n });\n };\n /**\n * 根据状态获取图例项\n * @param {string} state [description]\n * @return {ListItem[]} [description]\n */\n AxisBase.prototype.getItemsByState = function (state) {\n var _this = this;\n var items = this.getItems();\n return filter(items, function (item) {\n return _this.hasState(item, state);\n });\n };\n AxisBase.prototype.getSidePoint = function (point, offset) {\n var self = this;\n var vector = self.getSideVector(offset, point);\n return {\n x: point.x + vector[0],\n y: point.y + vector[1],\n };\n };\n AxisBase.prototype.getTextAnchor = function (vector) {\n var align;\n if (isNumberEqual(vector[0], 0)) {\n align = 'center';\n }\n else if (vector[0] > 0) {\n align = 'start';\n }\n else if (vector[0] < 0) {\n align = 'end';\n }\n return align;\n };\n AxisBase.prototype.processOverlap = function (labelGroup) { };\n // 绘制坐标轴线\n AxisBase.prototype.drawLine = function (group) {\n var path = this.getLinePath();\n var line = this.get('line'); // line 的判空在调用 drawLine 之前,不在这里判定\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('line'),\n name: 'axis-line',\n attrs: mix({\n path: path,\n }, line.style),\n });\n };\n AxisBase.prototype.getTickLineItems = function (ticks) {\n var _this = this;\n var tickLineItems = [];\n var tickLine = this.get('tickLine');\n var alignTick = tickLine.alignTick;\n var tickLineLength = tickLine.length;\n var tickSegment = 1;\n var tickCount = ticks.length;\n if (tickCount >= 2) {\n tickSegment = ticks[1].value - ticks[0].value;\n }\n each(ticks, function (tick) {\n var point = tick.point;\n if (!alignTick) {\n // tickLine 不同 tick 对齐时需要调整 point\n point = _this.getTickPoint(tick.value - tickSegment / 2);\n }\n var endPoint = _this.getSidePoint(point, tickLineLength);\n tickLineItems.push({\n startPoint: point,\n tickValue: tick.value,\n endPoint: endPoint,\n tickId: tick.id,\n id: \"tickline-\" + tick.id,\n });\n });\n // 如果 tickLine 不居中对齐,则需要在最后面补充一个 tickLine\n // if (!alignTick && tickCount > 0) {\n // const tick = ticks[tickCount - 1];\n // const point = this.getTickPoint(tick.value + tickSegment / 2);\n // }\n return tickLineItems;\n };\n AxisBase.prototype.getSubTickLineItems = function (tickLineItems) {\n var subTickLineItems = [];\n var subTickLine = this.get('subTickLine');\n var subCount = subTickLine.count;\n var tickLineCount = tickLineItems.length;\n // 刻度线的数量大于 2 时,才绘制子刻度\n if (tickLineCount >= 2) {\n for (var i = 0; i < tickLineCount - 1; i++) {\n var pre = tickLineItems[i];\n var next = tickLineItems[i + 1];\n for (var j = 0; j < subCount; j++) {\n var percent = (j + 1) / (subCount + 1);\n var tickValue = (1 - percent) * pre.tickValue + percent * next.tickValue;\n var point = this.getTickPoint(tickValue);\n var endPoint = this.getSidePoint(point, subTickLine.length);\n subTickLineItems.push({\n startPoint: point,\n endPoint: endPoint,\n tickValue: tickValue,\n id: \"sub-\" + pre.id + \"-\" + j,\n });\n }\n }\n }\n return subTickLineItems;\n };\n AxisBase.prototype.getTickLineAttrs = function (tickItem, type) {\n var tickLineStyle = this.get(type).style;\n var startPoint = tickItem.startPoint, endPoint = tickItem.endPoint;\n var attrs = mix({\n x1: startPoint.x,\n y1: startPoint.y,\n x2: endPoint.x,\n y2: endPoint.y,\n }, tickLineStyle);\n return attrs;\n };\n // 绘制坐标轴刻度线\n AxisBase.prototype.drawTick = function (tickItem, tickLineGroup, type) {\n this.addShape(tickLineGroup, {\n type: 'line',\n id: this.getElementId(tickItem.id),\n name: \"axis-\" + type,\n attrs: this.getTickLineAttrs(tickItem, type),\n });\n };\n // 绘制坐标轴刻度线,包括子刻度线\n AxisBase.prototype.drawTickLines = function (group) {\n var _this = this;\n var ticks = this.get('ticks');\n var subTickLine = this.get('subTickLine');\n var tickLineItems = this.getTickLineItems(ticks);\n var tickLineGroup = this.addGroup(group, {\n name: 'axis-tickline-group',\n id: this.getElementId('tickline-group'),\n });\n var tickCfg = this.get('tickLine');\n each(tickLineItems, function (item) {\n if (tickCfg.displayWithLabel) {\n // 如果跟随 label 显示,则检测是否存在对应的 label\n var labelId = _this.getElementId(\"label-\" + item.tickId);\n if (group.findById(labelId)) {\n _this.drawTick(item, tickLineGroup, 'tickLine');\n }\n }\n else {\n _this.drawTick(item, tickLineGroup, 'tickLine');\n }\n });\n if (subTickLine) {\n var subTickLineItems = this.getSubTickLineItems(tickLineItems);\n each(subTickLineItems, function (item) {\n _this.drawTick(item, tickLineGroup, 'subTickLine');\n });\n }\n };\n // 预处理 ticks 确定位置和补充 id\n AxisBase.prototype.processTicks = function () {\n var _this = this;\n var ticks = this.get('ticks');\n each(ticks, function (tick) {\n tick.point = _this.getTickPoint(tick.value);\n // 补充 tick 的 id,为动画和更新做准备\n if (isNil(tick.id)) {\n // 默认使用 tick.name 作为id\n tick.id = tick.name;\n }\n });\n };\n // 绘制 ticks 包括文本和 tickLine\n AxisBase.prototype.drawTicks = function (group) {\n var _this = this;\n this.processTicks();\n if (this.get('label')) {\n this.drawLabels(group);\n }\n if (this.get('tickLine')) {\n this.drawTickLines(group);\n }\n var ticks = this.get('ticks');\n each(ticks, function (tick) {\n _this.applyTickStates(tick, group);\n });\n };\n // 获取 label 的配置项\n AxisBase.prototype.getLabelAttrs = function (tick, index) {\n var labelCfg = this.get('label');\n var offset = labelCfg.offset, style = labelCfg.style, rotate = labelCfg.rotate, formatter = labelCfg.formatter;\n var point = this.getSidePoint(tick.point, offset);\n var vector = this.getSideVector(offset, point);\n var text = formatter ? formatter(tick.name, tick, index) : tick.name;\n var attrs = mix({\n x: point.x,\n y: point.y,\n text: text,\n textAlign: this.getTextAnchor(vector),\n }, style);\n if (rotate) {\n attrs.matrix = getMatrixByAngle(point, rotate);\n }\n return attrs;\n };\n // 绘制文本\n AxisBase.prototype.drawLabels = function (group) {\n var _this = this;\n var ticks = this.get('ticks');\n var labelGroup = this.addGroup(group, {\n name: 'axis-label-group',\n id: this.getElementId('label-group'),\n });\n each(ticks, function (tick, index) {\n _this.addShape(labelGroup, {\n type: 'text',\n name: 'axis-label',\n id: _this.getElementId(\"label-\" + tick.id),\n attrs: _this.getLabelAttrs(tick, index),\n delegateObject: {\n tick: tick,\n item: tick,\n index: index,\n },\n });\n });\n this.processOverlap(labelGroup);\n };\n // 标题的属性\n AxisBase.prototype.getTitleAttrs = function () {\n var titleCfg = this.get('title');\n var style = titleCfg.style, position = titleCfg.position, offset = titleCfg.offset, _a = titleCfg.spacing, spacing = _a === void 0 ? 0 : _a, autoRotate = titleCfg.autoRotate;\n var titleHeight = style.fontSize;\n var percent = 0.5;\n if (position === 'start') {\n percent = 0;\n }\n else if (position === 'end') {\n percent = 1;\n }\n var point = this.getTickPoint(percent); // 标题对应的坐标轴上的点\n // 如果没有指定 titleOffset 也没有渲染 label,这里需要自动计算 offset\n var titlePoint = this.getSidePoint(point, offset || spacing + titleHeight / 2); // 标题的点\n var attrs = mix({\n x: titlePoint.x,\n y: titlePoint.y,\n text: titleCfg.text,\n }, style);\n var rotate = titleCfg.rotate; // rotate 是角度值\n var angle = rotate;\n if (isNil(rotate) && autoRotate) {\n // 用户没有设定旋转角度,同时设置自动旋转\n var vector = this.getAxisVector(point);\n var v1 = [1, 0]; // 水平方向的向量\n angle = ext.angleTo(vector, v1, true);\n }\n if (angle) {\n var matrix = getMatrixByAngle(titlePoint, angle);\n attrs.matrix = matrix;\n }\n return attrs;\n };\n // 绘制标题\n AxisBase.prototype.drawTitle = function (group) {\n this.addShape(group, {\n type: 'text',\n id: this.getElementId('title'),\n name: 'axis-title',\n attrs: this.getTitleAttrs(),\n });\n };\n AxisBase.prototype.applyTickStates = function (tick, group) {\n var states = this.getItemStates(tick);\n if (states.length) {\n var tickStates = this.get('tickStates');\n // 分别更新 label 和 tickLine\n var labelId = this.getElementId(\"label-\" + tick.id);\n var labelShape = group.findById(labelId);\n if (labelShape) {\n var labelStateStyle = getStatesStyle(tick, 'label', tickStates);\n labelStateStyle && labelShape.attr(labelStateStyle);\n }\n var tickLineId = this.getElementId(\"tickline-\" + tick.id);\n var tickLineShape = group.findById(tickLineId);\n if (tickLineShape) {\n var tickLineStateStyle = getStatesStyle(tick, 'tickLine', tickStates);\n tickLineStateStyle && tickLineShape.attr(tickLineStateStyle);\n }\n }\n };\n AxisBase.prototype.updateTickStates = function (tick) {\n var states = this.getItemStates(tick);\n var tickStates = this.get('tickStates');\n var labelCfg = this.get('label');\n var labelShape = this.getElementByLocalId(\"label-\" + tick.id);\n var tickLineCfg = this.get('tickLine');\n var tickLineShape = this.getElementByLocalId(\"tickline-\" + tick.id);\n if (states.length) {\n if (labelShape) {\n var labelStateStyle = getStatesStyle(tick, 'label', tickStates);\n labelStateStyle && labelShape.attr(labelStateStyle);\n }\n if (tickLineShape) {\n var tickLineStateStyle = getStatesStyle(tick, 'tickLine', tickStates);\n tickLineStateStyle && tickLineShape.attr(tickLineStateStyle);\n }\n }\n else {\n if (labelShape) {\n labelShape.attr(labelCfg.style);\n }\n if (tickLineShape) {\n tickLineShape.attr(tickLineCfg.style);\n }\n }\n };\n return AxisBase;\n}(GroupComponent));\nexport default AxisBase;\n//# sourceMappingURL=base.js.map","import { each } from '@antv/util';\nimport { ellipsisLabel } from '../../util/label';\nfunction ellipseLabels(isVertical, labelGroup, limitLength, position) {\n var children = labelGroup.getChildren();\n var ellipsised = false;\n each(children, function (label) {\n var rst = ellipsisLabel(isVertical, label, limitLength, position);\n ellipsised = ellipsised || rst;\n });\n return ellipsised;\n}\nexport function getDefault() {\n return ellipsisTail;\n}\nexport function ellipsisHead(isVertical, labelGroup, limitLength) {\n return ellipseLabels(isVertical, labelGroup, limitLength, 'head');\n}\nexport function ellipsisTail(isVertical, labelGroup, limitLength) {\n return ellipseLabels(isVertical, labelGroup, limitLength, 'tail');\n}\nexport function ellipsisMiddle(isVertical, labelGroup, limitLength) {\n return ellipseLabels(isVertical, labelGroup, limitLength, 'middle');\n}\n//# sourceMappingURL=auto-ellipsis.js.map","import { getMaxLabelWidth } from '../../util/label';\n// 文本是否旋转\nfunction isRotate(label) {\n var matrix = label.attr('matrix');\n return matrix && matrix[0] !== 1; // 仅在这个场景下判定\n}\n// autohide 不再考虑超出限制\n// function isOutLimit(isVertical: boolean, label: IElement, limitLength: number) {\n// if (!limitLength) {\n// // 如果没限制 limitLength 则直接返回 false\n// return false;\n// }\n// const canvasBBox = label.getCanvasBBox();\n// let isOut = false;\n// if (isVertical) {\n// isOut = canvasBBox.width > limitLength;\n// } else {\n// isOut = canvasBBox.height > limitLength;\n// }\n// return isOut;\n// }\n// 是否重叠\nfunction isOverlap(isVertical, rotated, preBox, curBox, reversed) {\n if (reversed === void 0) { reversed = false; }\n var overlap = false;\n if (isVertical) {\n // 垂直时检测边高\n overlap = Math.abs(preBox.y - curBox.y) < preBox.height;\n }\n else {\n // 水平时检测\n if (rotated) {\n // 如果旋转了,则检测两者 x 之间的间距是否小于前一个的高度\n var height = reversed ? curBox.height : preBox.height;\n overlap = Math.abs(preBox.x - curBox.x) < height;\n }\n else {\n // 检测两者是否 x 方向重合\n var width = reversed ? curBox.width : preBox.width;\n overlap = Math.abs(preBox.x - curBox.x) < width;\n }\n }\n return overlap;\n}\n// 保留第一个或者最后一个\nfunction reserveOne(isVertical, labelsGroup, reversed) {\n var labels = labelsGroup.getChildren().slice(); // 复制数组\n if (!labels.length) {\n return false;\n }\n var hasHide = false;\n if (reversed) {\n // 翻转\n labels.reverse();\n }\n var count = labels.length;\n var first = labels[0];\n var rotated = isRotate(first);\n var preBox = first.getBBox();\n for (var i = 1; i < count; i++) {\n var label = labels[i];\n var curBBox = label.getBBox();\n // 不再考虑超出限制,而仅仅根据是否重叠进行隐藏 isOutLimit(isVertical, label, limitLength) ||\n var isHide = isOverlap(isVertical, rotated, preBox, curBBox, reversed);\n if (isHide) {\n label.hide();\n hasHide = true;\n }\n else {\n preBox = curBBox;\n }\n }\n return hasHide;\n}\nexport function getDefault() {\n return equidistance;\n}\n/**\n * 保证首个 label 可见,即使超过 limitLength 也不隐藏\n * @param {boolean} isVertical 是否垂直\n * @param {IGroup} labelsGroup label 的分组\n */\nexport function reserveFirst(isVertical, labelsGroup) {\n return reserveOne(isVertical, labelsGroup, false);\n}\n/**\n * 保证最后一个 label 可见,即使超过 limitLength 也不隐藏\n * @param {boolean} isVertical 是否垂直\n * @param {IGroup} labelsGroup label 的分组\n */\nexport function reserveLast(isVertical, labelsGroup) {\n return reserveOne(isVertical, labelsGroup, true);\n}\n/**\n * 保证第一个最后一个 label 可见,即使超过 limitLength 也不隐藏\n * @param {boolean} isVertical 是否垂直\n * @param {IGroup} labelsGroup label 的分组\n */\nexport function reserveBoth(isVertical, labelsGroup) {\n var labels = labelsGroup.getChildren().slice(); // 复制数组\n if (labels.length <= 2) {\n // 如果数量小于或等于 2 则直接返回\n return false;\n }\n var hasHide = false;\n var count = labels.length;\n var first = labels[0];\n var last = labels[count - 1];\n var rotated = isRotate(first);\n var preBox = first.getBBox();\n var preLabel = first;\n // 按照先保存第一个的逻辑循环一遍,最后一个不参与循环\n for (var i = 1; i < count - 1; i++) {\n var label = labels[i];\n var curBBox = label.getBBox();\n // 废弃 isOutLimit(isVertical, label, limitLength) ||\n var isHide = isOverlap(isVertical, rotated, preBox, curBBox);\n if (isHide) {\n label.hide();\n hasHide = true;\n }\n else {\n preBox = curBBox;\n preLabel = label;\n }\n }\n var lastBBox = last.getBBox();\n var overlap = isOverlap(isVertical, rotated, preBox, lastBBox); // 不检测超出 limit\n if (overlap) {\n // 发生冲突,则隐藏前一个保留后一个\n preLabel.hide();\n hasHide = true;\n }\n return hasHide;\n}\n/**\n * 保证 label 均匀显示,主要解决文本层叠的问题,对于 limitLength 不处理\n * @param {boolean} isVertical 是否垂直\n * @param {IGroup} labelsGroup label 的分组\n */\nexport function equidistance(isVertical, labelsGroup) {\n var labels = labelsGroup.getChildren().slice(); // 复制数组\n if (labels.length < 2) {\n // 如果数量小于 2 则直接返回,等于 2 时可能也会重合\n return false;\n }\n var hasHide = false;\n var first = labels[0];\n var firstBBox = first.getBBox();\n var second = labels[1];\n var rotated = isRotate(first);\n var count = labels.length;\n var interval = 0; // 不重叠的坐标文本间距个数\n if (isVertical) {\n // 垂直的坐标轴计算垂直方向的间距\n var distance = Math.abs(second.attr('y') - first.attr('y'));\n interval = firstBBox.height / distance;\n }\n else {\n // 水平坐标轴\n if (rotated) {\n var distance = Math.abs(second.attr('x') - first.attr('x'));\n interval = firstBBox.width / distance;\n }\n else {\n var maxWidth = getMaxLabelWidth(labels);\n var distance = Math.abs(second.attr('x') - first.attr('x'));\n interval = maxWidth / distance;\n }\n }\n // interval > 1 时需要对 label 进行隐藏\n if (interval > 1) {\n interval = Math.ceil(interval);\n for (var i = 0; i < count; i++) {\n if (i % interval !== 0) {\n // 仅保留被整除的 label\n labels[i].hide();\n hasHide = true;\n }\n }\n }\n return hasHide;\n}\n//# sourceMappingURL=auto-hide.js.map","import { each } from '@antv/util';\nimport { getMaxLabelWidth } from '../../util/label';\nimport { getMatrixByAngle } from '../../util/matrix';\nimport Theme from '../../util/theme';\n// 统一设置文本的角度\nfunction setLabelsAngle(labels, angle) {\n each(labels, function (label) {\n var x = label.attr('x');\n var y = label.attr('y');\n var matrix = getMatrixByAngle({ x: x, y: y }, angle);\n label.attr('matrix', matrix);\n });\n}\n// 旋转文本\nfunction labelRotate(isVertical, labelsGroup, limitLength, getAngle) {\n var labels = labelsGroup.getChildren();\n if (!labels.length) {\n return false;\n }\n if (!isVertical && labels.length < 2) {\n // 水平时至少有两个时才旋转\n return false;\n }\n var maxWidth = getMaxLabelWidth(labels);\n var isOverlap = false;\n if (isVertical) {\n // limitLength 为 0 或者 null 时不生效\n isOverlap = !!limitLength && maxWidth > limitLength;\n }\n else {\n // 同 limitLength 无关\n var tickWidth = Math.abs(labels[1].attr('x') - labels[0].attr('x'));\n isOverlap = maxWidth > tickWidth;\n }\n if (isOverlap) {\n var angle = getAngle(limitLength, maxWidth);\n setLabelsAngle(labels, angle);\n }\n return isOverlap;\n}\nexport function getDefault() {\n return fixedAngle;\n}\n/**\n * 固定角度旋转文本\n * @param {boolean} isVertical 是否垂直方向\n * @param {IGroup} labelsGroup 文本的 group\n * @param {number} limitLength 限定长度\n * @return {boolean} 是否发生了旋转\n */\nexport function fixedAngle(isVertical, labelsGroup, limitLength) {\n return labelRotate(isVertical, labelsGroup, limitLength, function () {\n return isVertical ? Theme.verticalAxisRotate : Theme.horizontalAxisRotate;\n });\n}\n/**\n * 非固定角度旋转文本\n * @param {boolean} isVertical 是否垂直方向\n * @param {IGroup} labelsGroup 文本的 group\n * @param {number} limitLength 限定长度\n * @return {boolean} 是否发生了旋转\n */\nexport function unfixedAngle(isVertical, labelsGroup, limitLength) {\n return labelRotate(isVertical, labelsGroup, limitLength, function (length, maxWidth) {\n if (!length) {\n // 如果没有设置 limitLength,则使用固定的角度旋转\n return isVertical ? Theme.verticalAxisRotate : Theme.horizontalAxisRotate;\n }\n if (isVertical) {\n // 垂直时不需要判定 limitLength > maxWidth ,因为此时不会 overlap\n return -Math.acos(length / maxWidth);\n }\n else {\n var angle = 0;\n if (length > maxWidth) {\n // 需要判定,asin 的参数 -1, 1\n angle = Math.PI / 4;\n }\n else {\n angle = Math.asin(length / maxWidth);\n if (angle > Math.PI / 4) {\n // 大于 Math.PI / 4 时没意义\n angle = Math.PI / 4;\n }\n }\n return angle;\n }\n });\n}\n//# sourceMappingURL=auto-rotate.js.map","import { __assign, __extends } from \"tslib\";\nimport { vec2 } from '@antv/matrix-util';\nimport { each, isFunction, isNil, isNumberEqual } from '@antv/util';\nimport AxisBase from './base';\nimport * as OverlapUtil from './overlap';\nvar Line = /** @class */ (function (_super) {\n __extends(Line, _super);\n function Line() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Line.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { type: 'line', locationType: 'region', \n /**\n * 起始点, x, y\n * @type {object}\n */\n start: null, \n /**\n * 结束点, x, y\n * @type {object}\n */\n end: null });\n };\n // 获取坐标轴线的 path\n Line.prototype.getLinePath = function () {\n var start = this.get('start');\n var end = this.get('end');\n var path = [];\n path.push(['M', start.x, start.y]);\n path.push(['L', end.x, end.y]);\n return path;\n };\n // 重新计算 layout bbox,考虑到 line 不显示\n Line.prototype.getInnerLayoutBBox = function () {\n var start = this.get('start');\n var end = this.get('end');\n var bbox = _super.prototype.getInnerLayoutBBox.call(this);\n var minX = Math.min(start.x, end.x, bbox.x);\n var minY = Math.min(start.y, end.y, bbox.y);\n var maxX = Math.max(start.x, end.x, bbox.maxX);\n var maxY = Math.max(start.y, end.y, bbox.maxY);\n return {\n x: minX,\n y: minY,\n minX: minX,\n minY: minY,\n maxX: maxX,\n maxY: maxY,\n width: maxX - minX,\n height: maxY - minY,\n };\n };\n Line.prototype.isVertical = function () {\n var start = this.get('start');\n var end = this.get('end');\n return isNumberEqual(start.x, end.x);\n };\n Line.prototype.isHorizontal = function () {\n var start = this.get('start');\n var end = this.get('end');\n return isNumberEqual(start.y, end.y);\n };\n Line.prototype.getTickPoint = function (tickValue) {\n var self = this;\n var start = self.get('start');\n var end = self.get('end');\n var regionX = end.x - start.x;\n var regionY = end.y - start.y;\n return {\n x: start.x + regionX * tickValue,\n y: start.y + regionY * tickValue,\n };\n };\n // 直线坐标轴下任一点的向量方向都相同\n Line.prototype.getSideVector = function (offset) {\n var axisVector = this.getAxisVector();\n var normal = vec2.normalize([0, 0], axisVector);\n var factor = this.get('verticalFactor');\n var verticalVector = [normal[1], normal[0] * -1]; // 垂直方向,逆时针方向\n return vec2.scale([0, 0], verticalVector, offset * factor);\n };\n // 获取坐标轴的向量\n Line.prototype.getAxisVector = function () {\n var start = this.get('start');\n var end = this.get('end');\n return [end.x - start.x, end.y - start.y];\n };\n Line.prototype.processOverlap = function (labelGroup) {\n var _this = this;\n var isVertical = this.isVertical();\n var isHorizontal = this.isHorizontal();\n // 非垂直,或者非水平时不处理遮挡问题\n if (!isVertical && !isHorizontal) {\n return;\n }\n var labelCfg = this.get('label');\n var titleCfg = this.get('title');\n var verticalLimitLength = this.get('verticalLimitLength');\n var labelOffset = labelCfg.offset;\n var limitLength = verticalLimitLength;\n var titleHeight = 0;\n var titleSpacing = 0;\n if (titleCfg) {\n titleHeight = titleCfg.style.fontSize;\n titleSpacing = titleCfg.spacing;\n }\n if (limitLength) {\n limitLength = limitLength - labelOffset - titleSpacing - titleHeight;\n }\n var overlapOrder = this.get('overlapOrder');\n each(overlapOrder, function (name) {\n if (labelCfg[name]) {\n _this.autoProcessOverlap(name, labelCfg[name], labelGroup, limitLength);\n }\n });\n if (titleCfg) {\n // 调整 title 的 offset\n var bbox = labelGroup.getBBox();\n var length_1 = isVertical ? bbox.width : bbox.height;\n if (isNil(titleCfg.offset)) {\n // 如果用户没有设置 offset,则自动计算\n titleCfg.offset = labelOffset + length_1 + titleSpacing + titleHeight / 2;\n }\n }\n };\n Line.prototype.autoProcessOverlap = function (name, value, labelGroup, limitLength) {\n var _this = this;\n var isVertical = this.isVertical();\n var hasAdjusted = false;\n var util = OverlapUtil[name];\n if (value === true) {\n // 默认使用固定角度的旋转方案\n hasAdjusted = util.getDefault()(isVertical, labelGroup, limitLength);\n }\n else if (isFunction(value)) {\n // 用户可以传入回调函数\n hasAdjusted = value(isVertical, labelGroup, limitLength);\n }\n else if (util[value]) {\n // 按照名称执行旋转函数\n hasAdjusted = util[value](isVertical, labelGroup, limitLength);\n }\n if (name === 'autoRotate') {\n // 文本旋转后,文本的对齐方式可能就不合适了\n if (hasAdjusted) {\n var labels = labelGroup.getChildren();\n var verticalFactor_1 = this.get('verticalFactor');\n each(labels, function (label) {\n var textAlign = label.attr('textAlign');\n if (textAlign === 'center') {\n // 居中的文本需要调整旋转度\n var newAlign = verticalFactor_1 > 0 ? 'end' : 'start';\n label.attr('textAlign', newAlign);\n }\n });\n }\n }\n else if (name === 'autoHide') {\n var children = labelGroup.getChildren().slice(0); // 复制数组,删除时不会出错\n each(children, function (label) {\n if (!label.get('visible')) {\n if (_this.get('isRegister')) {\n // 已经注册过了,则删除\n _this.unregisterElement(label);\n }\n label.remove(); // 防止 label 数量太多,所以统一删除\n }\n });\n }\n };\n return Line;\n}(AxisBase));\nexport default Line;\n//# sourceMappingURL=line.js.map","import { __assign, __extends } from \"tslib\";\nimport { vec2 } from '@antv/matrix-util';\nimport AxisBase from './base';\nvar Circle = /** @class */ (function (_super) {\n __extends(Circle, _super);\n function Circle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Circle.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { type: 'circle', locationType: 'circle', center: null, radius: null, startAngle: -Math.PI / 2, endAngle: (Math.PI * 3) / 2 });\n };\n Circle.prototype.getLinePath = function () {\n var center = this.get('center');\n var x = center.x;\n var y = center.y;\n var rx = this.get('radius');\n var ry = rx;\n var startAngle = this.get('startAngle');\n var endAngle = this.get('endAngle');\n var path = [];\n if (Math.abs(endAngle - startAngle) === Math.PI * 2) {\n path = [['M', x, y - ry], ['A', rx, ry, 0, 1, 1, x, y + ry], ['A', rx, ry, 0, 1, 1, x, y - ry], ['Z']];\n }\n else {\n var startPoint = this.getCirclePoint(startAngle);\n var endPoint = this.getCirclePoint(endAngle);\n var large = Math.abs(endAngle - startAngle) > Math.PI ? 1 : 0;\n var sweep = startAngle > endAngle ? 0 : 1;\n path = [\n ['M', x, y],\n ['L', startPoint.x, startPoint.y],\n ['A', rx, ry, 0, large, sweep, endPoint.x, endPoint.y],\n ['L', x, y],\n ];\n }\n return path;\n };\n Circle.prototype.getTickPoint = function (tickValue) {\n var startAngle = this.get('startAngle');\n var endAngle = this.get('endAngle');\n var angle = startAngle + (endAngle - startAngle) * tickValue;\n return this.getCirclePoint(angle);\n };\n // 获取垂直于坐标轴的向量\n Circle.prototype.getSideVector = function (offset, point) {\n var center = this.get('center');\n var vector = [point.x - center.x, point.y - center.y];\n var factor = this.get('verticalFactor');\n var vecLen = vec2.length(vector);\n vec2.scale(vector, vector, (factor * offset) / vecLen);\n return vector;\n };\n // 获取沿坐标轴方向的向量\n Circle.prototype.getAxisVector = function (point) {\n var center = this.get('center');\n var vector = [point.x - center.x, point.y - center.y];\n return [vector[1], -1 * vector[0]]; // 获取顺时针方向的向量\n };\n // 根据圆心和半径获取点\n Circle.prototype.getCirclePoint = function (angle, radius) {\n var center = this.get('center');\n radius = radius || this.get('radius');\n return {\n x: center.x + Math.cos(angle) * radius,\n y: center.y + Math.sin(angle) * radius,\n };\n };\n return Circle;\n}(AxisBase));\nexport default Circle;\n//# sourceMappingURL=circle.js.map","import { __assign, __extends } from \"tslib\";\nimport { isNil } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { getMatrixByAngle } from '../util/matrix';\nimport Theme from '../util/theme';\nimport { formatPadding } from '../util/util';\nvar CrosshairBase = /** @class */ (function (_super) {\n __extends(CrosshairBase, _super);\n function CrosshairBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CrosshairBase.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'crosshair', type: 'base', line: {}, text: null, textBackground: {}, capture: false, defaultCfg: {\n line: {\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n },\n text: {\n position: 'start',\n offset: 10,\n autoRotate: false,\n content: null,\n style: {\n fill: Theme.textColor,\n textAlign: 'center',\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n },\n },\n textBackground: {\n padding: 5,\n style: {\n stroke: Theme.lineColor,\n },\n },\n } });\n };\n CrosshairBase.prototype.renderInner = function (group) {\n if (this.get('line')) {\n this.renderLine(group);\n }\n if (this.get('text')) {\n this.renderText(group);\n this.renderBackground(group);\n }\n };\n CrosshairBase.prototype.renderText = function (group) {\n var text = this.get('text');\n var style = text.style, autoRotate = text.autoRotate, content = text.content;\n if (!isNil(content)) {\n var textPoint = this.getTextPoint();\n var matrix = null;\n if (autoRotate) {\n var angle = this.getRotateAngle();\n matrix = getMatrixByAngle(textPoint, angle);\n }\n this.addShape(group, {\n type: 'text',\n name: 'crosshair-text',\n id: this.getElementId('text'),\n attrs: __assign(__assign(__assign({}, textPoint), { text: content, matrix: matrix }), style),\n });\n }\n };\n CrosshairBase.prototype.renderLine = function (group) {\n var path = this.getLinePath();\n var line = this.get('line');\n var style = line.style;\n this.addShape(group, {\n type: 'path',\n name: 'crosshair-line',\n id: this.getElementId('line'),\n attrs: __assign({ path: path }, style),\n });\n };\n // 绘制文本的背景\n CrosshairBase.prototype.renderBackground = function (group) {\n var textId = this.getElementId('text');\n var textShape = group.findById(textId); // 查找文本\n var textBackground = this.get('textBackground');\n if (textBackground && textShape) {\n var textBBox = textShape.getBBox();\n var padding = formatPadding(textBackground.padding); // 用户传入的 padding 格式不定\n var style = textBackground.style;\n var backgroundShape = this.addShape(group, {\n type: 'rect',\n name: 'crosshair-text-background',\n id: this.getElementId('text-background'),\n attrs: __assign({ x: textBBox.x - padding[3], y: textBBox.y - padding[0], width: textBBox.width + padding[1] + padding[3], height: textBBox.height + padding[0] + padding[2], matrix: textShape.attr('matrix') }, style),\n });\n backgroundShape.toBack();\n }\n };\n return CrosshairBase;\n}(GroupComponent));\nexport default CrosshairBase;\n//# sourceMappingURL=base.js.map","import { __assign, __extends } from \"tslib\";\nimport { getTextPoint } from '../util/util';\nimport CrosshairBase from './base';\nvar LineCrosshair = /** @class */ (function (_super) {\n __extends(LineCrosshair, _super);\n function LineCrosshair() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LineCrosshair.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { type: 'line', locationType: 'region', start: null, end: null });\n };\n // 直线的文本需要同直线垂直\n LineCrosshair.prototype.getRotateAngle = function () {\n var _a = this.getLocation(), start = _a.start, end = _a.end;\n var position = this.get('text').position;\n var angle = Math.atan2(end.y - start.y, end.x - start.x);\n var tangentAngle = position === 'start' ? angle - Math.PI / 2 : angle + Math.PI / 2;\n return tangentAngle;\n };\n LineCrosshair.prototype.getTextPoint = function () {\n var _a = this.getLocation(), start = _a.start, end = _a.end;\n var _b = this.get('text'), position = _b.position, offset = _b.offset;\n return getTextPoint(start, end, position, offset);\n };\n LineCrosshair.prototype.getLinePath = function () {\n var _a = this.getLocation(), start = _a.start, end = _a.end;\n return [\n ['M', start.x, start.y],\n ['L', end.x, end.y],\n ];\n };\n return LineCrosshair;\n}(CrosshairBase));\nexport default LineCrosshair;\n//# sourceMappingURL=line.js.map","import { __assign, __extends } from \"tslib\";\nimport { getCirclePoint } from '../util/util';\nimport CrosshairBase from './base';\nvar LineCrosshair = /** @class */ (function (_super) {\n __extends(LineCrosshair, _super);\n function LineCrosshair() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LineCrosshair.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { type: 'circle', locationType: 'circle', center: null, radius: 100, startAngle: -Math.PI / 2, endAngle: (Math.PI * 3) / 2 });\n };\n LineCrosshair.prototype.getRotateAngle = function () {\n var _a = this.getLocation(), startAngle = _a.startAngle, endAngle = _a.endAngle;\n var position = this.get('text').position;\n var tangentAngle = position === 'start' ? startAngle + Math.PI / 2 : endAngle - Math.PI / 2;\n return tangentAngle;\n };\n LineCrosshair.prototype.getTextPoint = function () {\n var text = this.get('text');\n var position = text.position, offset = text.offset;\n var _a = this.getLocation(), center = _a.center, radius = _a.radius, startAngle = _a.startAngle, endAngle = _a.endAngle;\n var angle = position === 'start' ? startAngle : endAngle;\n var tangentAngle = this.getRotateAngle() - Math.PI;\n var point = getCirclePoint(center, radius, angle);\n // 这个地方其实应该求切线向量然后在乘以 offset,但是太啰嗦了,直接给出结果\n // const tangent = [Math.cos(tangentAngle), Math.sin(tangentAngle)];\n // const offsetVector = vec2.scale([], tangent, offset);\n var offsetX = Math.cos(tangentAngle) * offset;\n var offsetY = Math.sin(tangentAngle) * offset;\n return {\n x: point.x + offsetX,\n y: point.y + offsetY,\n };\n };\n LineCrosshair.prototype.getLinePath = function () {\n var _a = this.getLocation(), center = _a.center, radius = _a.radius, startAngle = _a.startAngle, endAngle = _a.endAngle;\n var path = null;\n if (endAngle - startAngle === Math.PI * 2) {\n // 整圆\n var x = center.x, y = center.y;\n path = [\n ['M', x, y - radius],\n ['A', radius, radius, 0, 1, 1, x, y + radius],\n ['A', radius, radius, 0, 1, 1, x, y - radius],\n ['Z'],\n ];\n }\n else {\n var startPoint = getCirclePoint(center, radius, startAngle);\n var endPoint = getCirclePoint(center, radius, endAngle);\n var large = Math.abs(endAngle - startAngle) > Math.PI ? 1 : 0;\n var sweep = startAngle > endAngle ? 0 : 1;\n path = [\n ['M', startPoint.x, startPoint.y],\n ['A', radius, radius, 0, large, sweep, endPoint.x, endPoint.y],\n ];\n }\n return path;\n };\n return LineCrosshair;\n}(CrosshairBase));\nexport default LineCrosshair;\n//# sourceMappingURL=circle.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar dom_util_1 = require(\"@antv/dom-util\");\nvar util_1 = require(\"@antv/util\");\nvar util_2 = require(\"../util/util\");\nvar component_1 = require(\"./component\");\nvar HtmlComponent = /** @class */ (function (_super) {\n tslib_1.__extends(HtmlComponent, _super);\n function HtmlComponent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HtmlComponent.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return tslib_1.__assign(tslib_1.__assign({}, cfg), { container: null, containerTpl: '
        ', updateAutoRender: true, containerClassName: '', parent: null });\n return cfg;\n };\n HtmlComponent.prototype.getContainer = function () {\n return this.get('container');\n };\n /**\n * 显示组件\n */\n HtmlComponent.prototype.show = function () {\n var container = this.get('container');\n container.style.display = '';\n this.set('visible', true);\n };\n /**\n * 隐藏组件\n */\n HtmlComponent.prototype.hide = function () {\n var container = this.get('container');\n container.style.display = 'none';\n this.set('visible', false);\n };\n /**\n * 是否允许捕捉事件\n * @param capture 事件捕捉\n */\n HtmlComponent.prototype.setCapture = function (capture) {\n var container = this.getContainer();\n var value = capture ? 'auto' : 'none';\n container.style.pointerEvents = value;\n this.set('capture', capture);\n };\n HtmlComponent.prototype.getBBox = function () {\n var container = this.getContainer();\n var x = parseFloat(container.style.left) || 0;\n var y = parseFloat(container.style.top) || 0;\n return util_2.createBBox(x, y, container.clientWidth, container.clientHeight);\n };\n HtmlComponent.prototype.clear = function () {\n var container = this.get('container');\n util_2.clearDom(container);\n };\n HtmlComponent.prototype.destroy = function () {\n this.removeEvent();\n this.removeDom();\n _super.prototype.destroy.call(this);\n };\n /**\n * 复写 init,主要是初始化 DOM 和事件\n */\n HtmlComponent.prototype.init = function () {\n _super.prototype.init.call(this);\n this.initContainer();\n this.initDom();\n this.resetStyles(); // 初始化样式\n this.applyStyles(); // 应用样式\n this.initEvent();\n this.initCapture();\n this.initVisible();\n };\n HtmlComponent.prototype.initCapture = function () {\n this.setCapture(this.get('capture'));\n };\n HtmlComponent.prototype.initVisible = function () {\n if (!this.get('visible')) {\n // 设置初始显示状态\n this.hide();\n }\n else {\n this.show();\n }\n };\n HtmlComponent.prototype.initDom = function () {\n };\n HtmlComponent.prototype.initContainer = function () {\n var container = this.get('container');\n if (util_1.isNil(container)) {\n // 未指定 container 则创建\n container = this.createDom();\n var parent_1 = this.get('parent');\n if (util_1.isString(parent_1)) {\n parent_1 = document.getElementById(parent_1);\n this.set('parent', parent_1);\n }\n parent_1.appendChild(container);\n this.set('container', container);\n }\n else if (util_1.isString(container)) {\n // 用户传入的 id, 作为 container\n container = document.getElementById(container);\n this.set('container', container);\n } // else container 是 DOM\n if (!this.get('parent')) {\n this.set('parent', container.parentNode);\n }\n };\n // 样式需要进行合并,不能单纯的替换,否则使用非常不方便\n HtmlComponent.prototype.resetStyles = function () {\n var style = this.get('domStyles');\n var defaultStyles = this.get('defaultStyles');\n if (!style) {\n style = defaultStyles;\n }\n else {\n style = util_1.deepMix({}, defaultStyles, style);\n }\n this.set('domStyles', style);\n };\n // 应用所有的样式\n HtmlComponent.prototype.applyStyles = function () {\n var domStyles = this.get('domStyles');\n if (!domStyles) {\n return;\n }\n var container = this.getContainer();\n this.applyChildrenStyles(container, domStyles);\n var containerClassName = this.get('containerClassName');\n if (containerClassName && util_2.hasClass(container, containerClassName)) {\n var containerCss = domStyles[containerClassName];\n dom_util_1.modifyCSS(container, containerCss);\n }\n };\n HtmlComponent.prototype.applyChildrenStyles = function (element, styles) {\n util_1.each(styles, function (style, name) {\n var elements = element.getElementsByClassName(name);\n util_1.each(elements, function (el) {\n dom_util_1.modifyCSS(el, style);\n });\n });\n };\n // 应用到单个 DOM\n HtmlComponent.prototype.applyStyle = function (cssName, dom) {\n var domStyles = this.get('domStyles');\n dom_util_1.modifyCSS(dom, domStyles[cssName]);\n };\n /**\n * @protected\n */\n HtmlComponent.prototype.createDom = function () {\n var containerTpl = this.get('containerTpl');\n return dom_util_1.createDom(containerTpl);\n };\n /**\n * @protected\n * 初始化事件\n */\n HtmlComponent.prototype.initEvent = function () { };\n /**\n * @protected\n * 清理 DOM\n */\n HtmlComponent.prototype.removeDom = function () {\n var container = this.get('container');\n container && container.parentNode.removeChild(container);\n };\n /**\n * @protected\n * 清理事件\n */\n HtmlComponent.prototype.removeEvent = function () { };\n HtmlComponent.prototype.updateInner = function (cfg) {\n // 更新样式\n if (util_1.hasKey(cfg, 'domStyles')) {\n this.resetStyles();\n this.applyStyles();\n }\n // 只要属性发生变化,都调整一些位置\n this.resetPosition();\n };\n HtmlComponent.prototype.resetPosition = function () { };\n ;\n return HtmlComponent;\n}(component_1.default));\nexports.default = HtmlComponent;\n//# sourceMappingURL=html-component.js.map","var _a;\nimport Theme from '../util/theme';\n// tooltip 相关 dom 的 css 类名\nimport * as CssConst from './css-const';\nexport default (_a = {},\n // css style for tooltip\n _a[\"\" + CssConst.CONTAINER_CLASS] = {\n position: 'relative'\n },\n _a[\"\" + CssConst.CROSSHAIR_LINE] = {\n position: 'absolute',\n backgroundColor: 'rgba(0, 0, 0, 0.25)',\n },\n _a[\"\" + CssConst.CROSSHAIR_TEXT] = {\n position: 'absolute',\n color: Theme.textColor,\n fontFamily: Theme.fontFamily,\n },\n _a);\n//# sourceMappingURL=html-theme.js.map","export var CONTAINER_CLASS = 'g2-crosshair';\nexport var CROSSHAIR_LINE = CONTAINER_CLASS + \"-line\";\nexport var CROSSHAIR_TEXT = CONTAINER_CLASS + \"-text\";\n//# sourceMappingURL=css-const.js.map","import { __assign, __extends } from \"tslib\";\nimport { createDom, modifyCSS } from '@antv/dom-util';\nimport { substitute, hasKey } from '@antv/util';\nimport { toPx, getTextPoint } from '../util/util';\nimport HtmlComponent from '../abstract/html-component';\nimport * as CssConst from './css-const';\nimport HtmlTheme from './html-theme';\nvar HtmlCrosshair = /** @class */ (function (_super) {\n __extends(HtmlCrosshair, _super);\n function HtmlCrosshair() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HtmlCrosshair.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'crosshair', type: 'html', locationType: 'region', start: { x: 0, y: 0 }, end: { x: 0, y: 0 }, capture: false, text: null, containerTpl: \"
        \", crosshairTpl: \"
        \", textTpl: \"{content}\", domStyles: null, containerClassName: CssConst.CONTAINER_CLASS, defaultStyles: HtmlTheme, defaultCfg: {\n text: {\n position: 'start',\n content: null,\n align: 'center',\n offset: 10\n }\n } });\n };\n HtmlCrosshair.prototype.render = function () {\n this.resetText();\n this.resetPosition();\n };\n // 绘制 crosshair\n HtmlCrosshair.prototype.initCrossHair = function () {\n var container = this.getContainer();\n var crosshairTpl = this.get('crosshairTpl');\n var crosshairEl = createDom(crosshairTpl);\n container.appendChild(crosshairEl);\n this.applyStyle(CssConst.CROSSHAIR_LINE, crosshairEl);\n this.set('crosshairEl', crosshairEl);\n };\n // 获取文本的位置\n HtmlCrosshair.prototype.getTextPoint = function () {\n var _a = this.getLocation(), start = _a.start, end = _a.end;\n var _b = this.get('text'), position = _b.position, offset = _b.offset;\n return getTextPoint(start, end, position, offset);\n };\n // 设置 text\n HtmlCrosshair.prototype.resetText = function () {\n var text = this.get('text');\n var textEl = this.get('textEl');\n if (text) {\n var content = text.content;\n if (!textEl) {\n var container = this.getContainer();\n var textTpl = substitute(this.get('textTpl'), text);\n textEl = createDom(textTpl);\n container.appendChild(textEl);\n this.applyStyle(CssConst.CROSSHAIR_TEXT, textEl);\n this.set('textEl', textEl);\n }\n textEl.innerHTML = content;\n }\n else if (textEl) {\n textEl.remove();\n }\n };\n // 是否垂直\n HtmlCrosshair.prototype.isVertical = function (start, end) {\n return start.x === end.x;\n };\n // 重新调整位置\n HtmlCrosshair.prototype.resetPosition = function () {\n var crosshairEl = this.get('crosshairEl');\n if (!crosshairEl) {\n this.initCrossHair();\n crosshairEl = this.get('crosshairEl');\n }\n var start = this.get('start');\n var end = this.get('end');\n var minX = Math.min(start.x, end.x);\n var minY = Math.min(start.y, end.y);\n if (this.isVertical(start, end)) {\n modifyCSS(crosshairEl, {\n width: '1px',\n height: toPx(Math.abs(end.y - start.y))\n });\n }\n else {\n modifyCSS(crosshairEl, {\n height: '1px',\n width: toPx(Math.abs(end.x - start.x))\n });\n }\n modifyCSS(crosshairEl, {\n top: toPx(minY),\n left: toPx(minX)\n });\n this.alignText();\n };\n HtmlCrosshair.prototype.alignText = function () {\n // 重新设置 text 位置\n var textEl = this.get('textEl');\n if (textEl) {\n var align = this.get('text').align;\n var clientWidth = textEl.clientWidth;\n var point = this.getTextPoint();\n switch (align) {\n case 'center':\n point.x = point.x - clientWidth / 2;\n break;\n case 'right':\n point.x = point.x - clientWidth;\n case 'left':\n break;\n }\n modifyCSS(textEl, {\n top: toPx(point.y),\n left: toPx(point.x)\n });\n }\n };\n HtmlCrosshair.prototype.updateInner = function (cfg) {\n if (hasKey(cfg, 'text')) {\n this.resetText();\n }\n _super.prototype.updateInner.call(this, cfg);\n };\n return HtmlCrosshair;\n}(HtmlComponent));\nexport default HtmlCrosshair;\n//# sourceMappingURL=html.js.map","import { __assign, __extends } from \"tslib\";\nimport { each, isString, mix } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport Theme from '../util/theme';\nvar GridBase = /** @class */ (function (_super) {\n __extends(GridBase, _super);\n function GridBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridBase.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'grid', line: {}, alternateColor: null, capture: false, items: [], closed: false, defaultCfg: {\n line: {\n type: 'line',\n style: {\n lineWidth: 1,\n stroke: Theme.lineColor,\n },\n },\n } });\n };\n /**\n * 获取栅格线的类型\n * @return {string} 栅格线类型\n */\n GridBase.prototype.getLineType = function () {\n var line = this.get('line') || this.get('defaultCfg').line;\n return line.type;\n };\n GridBase.prototype.renderInner = function (group) {\n this.drawGrid(group);\n };\n GridBase.prototype.getAlternatePath = function (prePoints, points) {\n var regionPath = this.getGridPath(prePoints);\n var reversePoints = points.slice(0).reverse();\n var nextPath = this.getGridPath(reversePoints, true);\n var closed = this.get('closed');\n if (closed) {\n regionPath = regionPath.concat(nextPath);\n }\n else {\n nextPath[0][0] = 'L'; // 更新第一个节点\n regionPath = regionPath.concat(nextPath);\n regionPath.push(['Z']);\n }\n return regionPath;\n };\n // 获取路径的配置项\n GridBase.prototype.getPathStyle = function () {\n return this.get('line').style;\n };\n // 绘制栅格\n GridBase.prototype.drawGrid = function (group) {\n var _this = this;\n var line = this.get('line');\n var items = this.get('items');\n var alternateColor = this.get('alternateColor');\n var preItem = null;\n each(items, function (item, index) {\n var id = item.id || index;\n // 绘制栅格线\n if (line) {\n var style = _this.getPathStyle();\n var lineId = _this.getElementId(\"line-\" + id);\n var gridPath = _this.getGridPath(item.points);\n _this.addShape(group, {\n type: 'path',\n name: 'grid-line',\n id: lineId,\n attrs: mix({\n path: gridPath,\n }, style),\n });\n }\n // 如果存在 alternateColor 则绘制矩形\n // 从第二个栅格线开始绘制\n if (alternateColor && index > 0) {\n var regionId = _this.getElementId(\"region-\" + id);\n var isEven = index % 2 === 0;\n if (isString(alternateColor)) {\n // 如果颜色是单值,则是仅绘制偶数时的区域\n if (isEven) {\n _this.drawAlternateRegion(regionId, group, preItem.points, item.points, alternateColor);\n }\n }\n else {\n var color = isEven ? alternateColor[1] : alternateColor[0];\n _this.drawAlternateRegion(regionId, group, preItem.points, item.points, color);\n }\n }\n preItem = item;\n });\n };\n // 绘制栅格线间的间隔\n GridBase.prototype.drawAlternateRegion = function (id, group, prePoints, points, color) {\n var regionPath = this.getAlternatePath(prePoints, points);\n this.addShape(group, {\n type: 'path',\n id: id,\n name: 'grid-region',\n attrs: {\n path: regionPath,\n fill: color,\n },\n });\n };\n return GridBase;\n}(GroupComponent));\nexport default GridBase;\n//# sourceMappingURL=base.js.map","import { __assign, __extends } from \"tslib\";\nimport { each } from '@antv/util';\nimport GridBase from './base';\nfunction distance(x1, y1, x2, y2) {\n var dx = x2 - x1;\n var dy = y2 - y1;\n return Math.sqrt(dx * dx + dy * dy);\n}\nvar Circle = /** @class */ (function (_super) {\n __extends(Circle, _super);\n function Circle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Circle.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { type: 'circle', \n /**\n * 中心点\n * @type {object}\n */\n center: null, \n /**\n * 栅格线是否封闭\n * @type {true}\n */\n closed: true });\n };\n Circle.prototype.getGridPath = function (points, reversed) {\n var lineType = this.getLineType();\n var closed = this.get('closed');\n var path = [];\n if (points.length) {\n // 防止出错\n if (lineType === 'circle') {\n var center = this.get('center');\n var firstPoint = points[0];\n var radius_1 = distance(center.x, center.y, firstPoint.x, firstPoint.y);\n var sweepFlag_1 = reversed ? 0 : 1; // 顺时针还是逆时针\n if (closed) {\n // 封闭时,绘制整个圆\n path.push(['M', center.x, center.y - radius_1]);\n path.push(['A', radius_1, radius_1, 0, 0, sweepFlag_1, center.x, center.y + radius_1]);\n path.push(['A', radius_1, radius_1, 0, 0, sweepFlag_1, center.x, center.y - radius_1]);\n path.push(['Z']);\n }\n else {\n each(points, function (point, index) {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n }\n else {\n path.push(['A', radius_1, radius_1, 0, 0, sweepFlag_1, point.x, point.y]);\n }\n });\n }\n }\n else {\n each(points, function (point, index) {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n }\n else {\n path.push(['L', point.x, point.y]);\n }\n });\n if (closed) {\n path.push(['Z']);\n }\n }\n }\n return path;\n };\n return Circle;\n}(GridBase));\nexport default Circle;\n//# sourceMappingURL=circle.js.map","import { __assign, __extends } from \"tslib\";\nimport { each } from '@antv/util';\nimport GridBase from './base';\nvar Line = /** @class */ (function (_super) {\n __extends(Line, _super);\n function Line() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Line.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { type: 'line' });\n };\n Line.prototype.getGridPath = function (points) {\n var path = [];\n each(points, function (point, index) {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n }\n else {\n path.push(['L', point.x, point.y]);\n }\n });\n return path;\n };\n return Line;\n}(GridBase));\nexport default Line;\n//# sourceMappingURL=line.js.map","import { __assign, __extends } from \"tslib\";\nimport GroupComponent from '../abstract/group-component';\nimport { createBBox, formatPadding } from '../util/util';\nvar LegendBase = /** @class */ (function (_super) {\n __extends(LegendBase, _super);\n function LegendBase() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendBase.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'legend', \n /**\n * 布局方式: horizontal,vertical\n * @type {String}\n */\n layout: 'horizontal', locationType: 'point', x: 0, y: 0, offsetX: 0, offsetY: 0, title: null, background: null });\n };\n LegendBase.prototype.getLayoutBBox = function () {\n var bbox = _super.prototype.getLayoutBBox.call(this);\n var x = this.get('x');\n var y = this.get('y');\n var offsetX = this.get('offsetX');\n var offsetY = this.get('offsetY');\n var maxWidth = this.get('maxWidth');\n var maxHeight = this.get('maxHeight');\n var minX = x + offsetX;\n var minY = y + offsetY;\n var width = bbox.maxX - minX;\n var height = bbox.maxY - minY;\n if (maxWidth) {\n width = Math.min(width, maxWidth);\n }\n if (maxHeight) {\n height = Math.min(height, maxHeight);\n }\n return createBBox(minX, minY, width, height);\n };\n LegendBase.prototype.setLocation = function (cfg) {\n this.set('x', cfg.x);\n this.set('y', cfg.y);\n this.resetLocation();\n };\n LegendBase.prototype.resetLocation = function () {\n var x = this.get('x');\n var y = this.get('y');\n var offsetX = this.get('offsetX');\n var offsetY = this.get('offsetY');\n this.moveElementTo(this.get('group'), {\n x: x + offsetX,\n y: y + offsetY,\n });\n };\n LegendBase.prototype.applyOffset = function () {\n this.resetLocation();\n };\n // 获取当前绘制的点\n LegendBase.prototype.getDrawPoint = function () {\n return this.get('currentPoint');\n };\n LegendBase.prototype.setDrawPoint = function (point) {\n return this.set('currentPoint', point);\n };\n // 复写父类定义的绘制方法\n LegendBase.prototype.renderInner = function (group) {\n this.resetDraw();\n if (this.get('title')) {\n this.drawTitle(group);\n }\n this.drawLegendContent(group);\n if (this.get('background')) {\n this.drawBackground(group);\n }\n // this.resetLocation(); // 在顶层已经在处理偏移时一起处理了\n };\n // 绘制背景\n LegendBase.prototype.drawBackground = function (group) {\n var background = this.get('background');\n var bbox = group.getBBox();\n var padding = formatPadding(background.padding);\n var attrs = __assign({ \n // 背景从 (0,0) 开始绘制\n x: 0, y: 0, width: bbox.width + padding[1] + padding[3], height: bbox.height + padding[0] + padding[2] }, background.style);\n var backgroundShape = this.addShape(group, {\n type: 'rect',\n id: this.getElementId('background'),\n name: 'legend-background',\n attrs: attrs,\n });\n backgroundShape.toBack();\n };\n // 绘制标题,标题在图例项的上面\n LegendBase.prototype.drawTitle = function (group) {\n var currentPoint = this.get('currentPoint');\n var titleCfg = this.get('title');\n var spacing = titleCfg.spacing, style = titleCfg.style, text = titleCfg.text;\n var shape = this.addShape(group, {\n type: 'text',\n id: this.getElementId('title'),\n name: 'legend-title',\n attrs: __assign({ text: text, x: currentPoint.x, y: currentPoint.y }, style),\n });\n var bbox = shape.getBBox();\n // 标题单独在一行\n this.set('currentPoint', { x: currentPoint.x, y: bbox.maxY + spacing });\n };\n // 重置绘制时开始的位置,如果绘制边框,考虑边框的 padding\n LegendBase.prototype.resetDraw = function () {\n var background = this.get('background');\n var currentPoint = { x: 0, y: 0 };\n if (background) {\n var padding = formatPadding(background.padding);\n currentPoint.x = padding[3]; // 左边 padding\n currentPoint.y = padding[0]; // 上面 padding\n }\n this.set('currentPoint', currentPoint); // 设置绘制的初始位置\n };\n return LegendBase;\n}(GroupComponent));\nexport default LegendBase;\n//# sourceMappingURL=base.js.map","import { __assign, __extends } from \"tslib\";\nimport { clamp, each, filter, get, mix } from '@antv/util';\nimport { ellipsisLabel } from '../util/label';\nimport { getMatrixByAngle, getMatrixByTranslate } from '../util/matrix';\nimport { getStatesStyle } from '../util/state';\nimport Theme from '../util/theme';\nimport LegendBase from './base';\nvar Category = /** @class */ (function (_super) {\n __extends(Category, _super);\n function Category() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.currentPageIndex = 1;\n _this.totalPagesCnt = 1;\n _this.pageWidth = 0;\n _this.pageHeight = 0;\n _this.startX = 0;\n _this.startY = 0;\n _this.onNavigationBack = function () {\n var itemGroup = _this.getElementByLocalId('item-group');\n if (_this.currentPageIndex > 1) {\n _this.currentPageIndex -= 1;\n _this.updateNavigation();\n var matrix = _this.getCurrentNavigationMatrix();\n if (_this.get('animate')) {\n itemGroup.animate({\n matrix: matrix,\n }, 100);\n }\n else {\n itemGroup.attr({ matrix: matrix });\n }\n }\n };\n _this.onNavigationAfter = function () {\n var itemGroup = _this.getElementByLocalId('item-group');\n if (_this.currentPageIndex < _this.totalPagesCnt) {\n _this.currentPageIndex += 1;\n _this.updateNavigation();\n var matrix = _this.getCurrentNavigationMatrix();\n if (_this.get('animate')) {\n itemGroup.animate({\n matrix: matrix,\n }, 100);\n }\n else {\n itemGroup.attr({ matrix: matrix });\n }\n }\n };\n return _this;\n }\n Category.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'legend', type: 'category', itemSpacing: 24, maxItemWidth: null, itemWidth: null, itemHeight: null, itemName: {}, itemValue: null, maxWidth: null, maxHeight: null, marker: {}, items: [], itemStates: {}, itemBackground: {}, defaultCfg: {\n title: {\n spacing: 5,\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'start',\n textBaseline: 'top',\n },\n },\n background: {\n padding: 5,\n style: {\n stroke: Theme.lineColor,\n },\n },\n itemBackground: {\n style: {\n opacity: 0,\n fill: '#fff',\n },\n },\n itemName: {\n spacing: 16,\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'start',\n textBaseline: 'middle',\n },\n },\n marker: {\n spacing: 8,\n style: {\n r: 6,\n symbol: 'circle',\n },\n },\n itemValue: {\n alignRight: false,\n formatter: null,\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'start',\n textBaseline: 'middle',\n },\n },\n itemStates: {\n active: {\n nameStyle: {\n opacity: 0.8,\n },\n },\n unchecked: {\n nameStyle: {\n fill: Theme.uncheckedColor,\n },\n markerStyle: {\n fill: Theme.uncheckedColor,\n stroke: Theme.uncheckedColor,\n },\n },\n inactive: {\n nameStyle: {\n fill: Theme.uncheckedColor,\n },\n markerStyle: {\n opacity: 0.2,\n },\n },\n },\n } });\n };\n // 实现 IList 接口\n Category.prototype.isList = function () {\n return true;\n };\n /**\n * 获取图例项\n * @return {ListItem[]} 列表项集合\n */\n Category.prototype.getItems = function () {\n return this.get('items');\n };\n /**\n * 设置列表项\n * @param {ListItem[]} items 列表项集合\n */\n Category.prototype.setItems = function (items) {\n this.update({\n items: items,\n });\n };\n /**\n * 更新列表项\n * @param {ListItem} item 列表项\n * @param {object} cfg 列表项\n */\n Category.prototype.updateItem = function (item, cfg) {\n mix(item, cfg);\n this.clear(); // 由于单个图例项变化,会引起全局变化,所以全部更新\n this.render();\n };\n /**\n * 清空列表\n */\n Category.prototype.clearItems = function () {\n var itemGroup = this.getElementByLocalId('item-group');\n itemGroup && itemGroup.clear();\n };\n /**\n * 设置列表项的状态\n * @param {ListItem} item 列表项\n * @param {string} state 状态名\n * @param {boolean} value 状态值, true, false\n */\n Category.prototype.setItemState = function (item, state, value) {\n item[state] = value;\n var itemElement = this.getElementByLocalId(\"item-\" + item.id);\n if (itemElement) {\n var items = this.getItems();\n var index = items.indexOf(item);\n var offsetGroup = this.createOffScreenGroup(); // 离屏的 group\n var newElement = this.drawItem(item, index, this.getItemHeight(), offsetGroup);\n this.updateElements(newElement, itemElement); // 更新整个分组\n this.clearUpdateStatus(itemElement); // 清理更新状态,防止出现 bug\n }\n };\n /**\n * 是否存在指定的状态\n * @param {ListItem} item 列表项\n * @param {boolean} state 状态名\n */\n Category.prototype.hasState = function (item, state) {\n return !!item[state];\n };\n Category.prototype.getItemStates = function (item) {\n var itemStates = this.get('itemStates');\n var rst = [];\n each(itemStates, function (v, k) {\n if (item[k]) {\n // item.selected\n rst.push(k);\n }\n });\n return rst;\n };\n /**\n * 清楚所有列表项的状态\n * @param {string} state 状态值\n */\n Category.prototype.clearItemsState = function (state) {\n var _this = this;\n var items = this.getItemsByState(state);\n each(items, function (item) {\n _this.setItemState(item, state, false);\n });\n };\n /**\n * 根据状态获取图例项\n * @param {string} state [description]\n * @return {ListItem[]} [description]\n */\n Category.prototype.getItemsByState = function (state) {\n var _this = this;\n var items = this.getItems();\n return filter(items, function (item) {\n return _this.hasState(item, state);\n });\n };\n // 绘制 legend 的选项\n Category.prototype.drawLegendContent = function (group) {\n this.processItems();\n this.drawItems(group);\n };\n // 防止未设置 id\n Category.prototype.processItems = function () {\n var items = this.get('items');\n each(items, function (item) {\n if (!item.id) {\n // 如果没有设置 id,默认使用 name\n item.id = item.name;\n }\n });\n };\n // 绘制所有的图例选项\n Category.prototype.drawItems = function (group) {\n var _this = this;\n var itemContainerGroup = this.addGroup(group, {\n id: this.getElementId('item-container-group'),\n name: 'legend-item-container-group',\n });\n var itemGroup = this.addGroup(itemContainerGroup, {\n id: this.getElementId('item-group'),\n name: 'legend-item-group',\n });\n var itemHeight = this.getItemHeight();\n var itemWidth = this.get('itemWidth');\n var itemSpacing = this.get('itemSpacing');\n var currentPoint = this.get('currentPoint');\n var startX = currentPoint.x;\n var startY = currentPoint.y;\n var layout = this.get('layout');\n var items = this.get('items');\n var wrapped = false;\n var pageWidth = 0;\n var maxWidth = this.get('maxWidth'); // 最大宽度,会导致 layout : 'horizontal' 时自动换行\n var maxHeight = this.get('maxHeight'); // 最大高度,会导致出现分页\n // 暂时不考虑分页\n each(items, function (item, index) {\n var subGroup = _this.drawItem(item, index, itemHeight, itemGroup);\n var bbox = subGroup.getBBox();\n var width = itemWidth || bbox.width;\n if (width > pageWidth) {\n pageWidth = width;\n }\n if (layout === 'horizontal') {\n // 如果水平布局\n if (maxWidth && maxWidth < currentPoint.x + width - startX) {\n // 检测是否换行\n wrapped = true;\n currentPoint.x = startX;\n currentPoint.y += itemHeight;\n }\n _this.moveElementTo(subGroup, currentPoint);\n currentPoint.x += width + itemSpacing;\n }\n else {\n // 如果垂直布局\n if (maxHeight && maxHeight < currentPoint.y + itemHeight - startY) {\n // 换行\n wrapped = true;\n currentPoint.x += pageWidth + itemSpacing;\n currentPoint.y = startY;\n pageWidth = 0;\n }\n _this.moveElementTo(subGroup, currentPoint);\n currentPoint.y += itemHeight; // itemSpacing 仅影响水平间距\n }\n });\n if (wrapped && this.get('flipPage')) {\n this.pageHeight = 0;\n this.pageWidth = 0;\n this.totalPagesCnt = 1;\n this.startX = startX;\n this.startY = startY;\n this.adjustNavigation(group, itemGroup);\n }\n };\n // 获取图例项的高度,如果未定义,则按照 name 的高度计算\n Category.prototype.getItemHeight = function () {\n var itemHeight = this.get('itemHeight');\n if (!itemHeight) {\n var nameCfg = this.get('itemName');\n if (nameCfg) {\n itemHeight = nameCfg.style.fontSize + 8;\n }\n }\n return itemHeight;\n };\n // 绘制 marker\n Category.prototype.drawMarker = function (container, markerCfg, item, itemHeight) {\n var markerAttrs = __assign(__assign(__assign({ x: 0, y: itemHeight / 2 }, markerCfg.style), { symbol: get(item.marker, 'symbol', 'circle') }), get(item.marker, 'style', {}));\n var shape = this.addShape(container, {\n type: 'marker',\n id: this.getElementId(\"item-\" + item.id + \"-marker\"),\n name: 'legend-item-marker',\n attrs: markerAttrs,\n });\n var bbox = shape.getBBox();\n shape.attr('x', bbox.width / 2); // marker 需要左对齐,所以不能占用左侧的空间\n var _a = shape.attr(), stroke = _a.stroke, fill = _a.fill;\n if (stroke) {\n shape.set('isStroke', true);\n }\n if (fill) {\n shape.set('isFill', true);\n }\n return shape;\n };\n // 绘制文本\n Category.prototype.drawItemText = function (container, textName, cfg, item, itemHeight, xPosition, index) {\n var formatter = cfg.formatter;\n var attrs = __assign({ x: xPosition, y: itemHeight / 2, text: formatter ? formatter(item[textName], item, index) : item[textName] }, cfg.style);\n return this.addShape(container, {\n type: 'text',\n id: this.getElementId(\"item-\" + item.id + \"-\" + textName),\n name: \"legend-item-\" + textName,\n attrs: attrs,\n });\n };\n // 绘制图例项\n Category.prototype.drawItem = function (item, index, itemHeight, itemGroup) {\n var groupId = \"item-\" + item.id;\n // 设置单独的 Group 用于 setClip\n var subContainer = this.addGroup(itemGroup, {\n name: 'legend-item-container',\n id: this.getElementId(\"item-container-\" + groupId),\n delegateObject: {\n item: item,\n index: index,\n },\n });\n var subGroup = this.addGroup(subContainer, {\n name: 'legend-item',\n id: this.getElementId(groupId),\n delegateObject: {\n item: item,\n index: index,\n },\n });\n var marker = this.get('marker');\n var itemName = this.get('itemName');\n var itemValue = this.get('itemValue');\n var itemBackground = this.get('itemBackground');\n var itemWidth = this.getLimitItemWidth();\n var curX = 0; // 记录当前 x 的位置\n if (marker) {\n var markerShape = this.drawMarker(subGroup, marker, item, itemHeight);\n curX = markerShape.getBBox().maxX + marker.spacing;\n }\n if (itemName) {\n var nameShape = this.drawItemText(subGroup, 'name', itemName, item, itemHeight, curX, index);\n if (itemWidth) {\n // 设置了 item 的最大宽度限制,并且超出了,进行省略处理\n ellipsisLabel(true, nameShape, clamp(itemWidth - curX, 0, itemWidth));\n }\n curX = nameShape.getBBox().maxX + itemName.spacing;\n }\n if (itemValue) {\n var valueShape = this.drawItemText(subGroup, 'value', itemValue, item, itemHeight, curX, index);\n if (itemWidth) {\n if (itemValue.alignRight) {\n valueShape.attr({\n textAlign: 'right',\n x: itemWidth,\n });\n ellipsisLabel(true, valueShape, clamp(itemWidth - curX, 0, itemWidth), 'head');\n }\n else {\n ellipsisLabel(true, valueShape, clamp(itemWidth - curX, 0, itemWidth));\n }\n }\n }\n // 添加透明的背景,便于拾取和包围盒计算\n if (itemBackground) {\n var bbox = subGroup.getBBox();\n var backShape = this.addShape(subGroup, {\n type: 'rect',\n name: 'legend-item-background',\n id: this.getElementId(groupId + \"-background\"),\n attrs: __assign({ x: 0, y: 0, width: bbox.width, height: itemHeight }, itemBackground.style),\n });\n backShape.toBack();\n }\n this.applyItemStates(item, subGroup);\n return subGroup;\n };\n // 加上分页器并重新排序 items\n Category.prototype.adjustNavigation = function (container, itemGroup) {\n var _this = this;\n var startX = this.startX;\n var startY = this.startY;\n var layout = this.get('layout');\n var subGroups = itemGroup.findAll(function (item) { return item.get('name') === 'legend-item'; });\n var maxWidth = this.get('maxWidth');\n var maxHeight = this.get('maxHeight');\n var itemWidth = this.get('itemWidth');\n var itemSpacing = this.get('itemSpacing');\n var itemHeight = this.getItemHeight();\n var navigation = this.drawNavigation(container, layout, '00/00', 12);\n var navigationBBox = navigation.getBBox();\n var currentPoint = { x: startX, y: startY };\n var pages = 1;\n var widthLimit = 0;\n var pageWidth = 0;\n var maxItemWidth = 0;\n if (layout === 'horizontal') {\n this.pageHeight = itemHeight;\n each(subGroups, function (item) {\n var bbox = item.getBBox();\n var width = itemWidth || bbox.width;\n if ((widthLimit && widthLimit < currentPoint.x + width + itemSpacing) ||\n maxWidth < currentPoint.x + width + itemSpacing + navigationBBox.width) {\n if (pages === 1) {\n widthLimit = currentPoint.x + itemSpacing;\n _this.pageWidth = widthLimit;\n _this.moveElementTo(navigation, {\n x: maxWidth - itemSpacing - navigationBBox.width - navigationBBox.minX,\n y: currentPoint.y + itemHeight / 2 - navigationBBox.height / 2 - navigationBBox.minY,\n });\n }\n pages += 1;\n currentPoint.x = startX;\n currentPoint.y += itemHeight;\n }\n _this.moveElementTo(item, currentPoint);\n item.getParent().setClip({\n type: 'rect',\n attrs: {\n x: currentPoint.x,\n y: currentPoint.y,\n width: width + itemSpacing,\n height: itemHeight,\n },\n });\n currentPoint.x += width + itemSpacing;\n });\n }\n else {\n each(subGroups, function (item) {\n var bbox = item.getBBox();\n if (bbox.width > pageWidth) {\n pageWidth = bbox.width;\n }\n });\n maxItemWidth = pageWidth;\n pageWidth += itemSpacing;\n if (maxWidth) {\n // maxWidth 限制加上\n pageWidth = Math.min(maxWidth, pageWidth);\n maxItemWidth = Math.min(maxWidth, maxItemWidth);\n }\n this.pageWidth = pageWidth;\n this.pageHeight = maxHeight - Math.max(navigationBBox.height, itemHeight);\n var cntPerPage_1 = Math.floor(this.pageHeight / itemHeight);\n each(subGroups, function (item, index) {\n if (index !== 0 && index % cntPerPage_1 === 0) {\n pages += 1;\n currentPoint.x += pageWidth;\n currentPoint.y = startY;\n }\n _this.moveElementTo(item, currentPoint);\n item.getParent().setClip({\n type: 'rect',\n attrs: {\n x: currentPoint.x,\n y: currentPoint.y,\n width: pageWidth,\n height: itemHeight,\n },\n });\n currentPoint.y += itemHeight;\n });\n this.totalPagesCnt = pages;\n this.moveElementTo(navigation, {\n x: startX + maxItemWidth / 2 - navigationBBox.width / 2 - navigationBBox.minX,\n y: maxHeight - navigationBBox.height - navigationBBox.minY,\n });\n }\n if (this.pageHeight && this.pageWidth) {\n // 为了使固定的 clip 生效,clip 设置在 itemContainerGroup 上,itemGroup 需要在翻页时会设置 matrix\n itemGroup.getParent().setClip({\n type: 'rect',\n attrs: {\n x: this.startX,\n y: this.startY,\n width: this.pageWidth,\n height: this.pageHeight,\n },\n });\n }\n this.totalPagesCnt = pages;\n if (this.currentPageIndex > this.totalPagesCnt) {\n this.currentPageIndex = 1;\n }\n this.updateNavigation(navigation);\n // update initial matrix\n itemGroup.attr('matrix', this.getCurrentNavigationMatrix());\n };\n Category.prototype.drawNavigation = function (group, layout, text, size) {\n var currentPoint = { x: 0, y: 0 };\n var subGroup = this.addGroup(group, {\n id: this.getElementId('navigation-group'),\n name: 'legend-navigation',\n });\n var leftArrow = this.drawArrow(subGroup, currentPoint, 'navigation-arrow-left', layout === 'horizontal' ? 'up' : 'left', size);\n leftArrow.on('click', this.onNavigationBack);\n var leftArrowBBox = leftArrow.getBBox();\n currentPoint.x += leftArrowBBox.width + 2;\n var textShape = this.addShape(subGroup, {\n type: 'text',\n id: this.getElementId('navigation-text'),\n name: 'navigation-text',\n attrs: {\n x: currentPoint.x,\n y: currentPoint.y + size / 2,\n text: text,\n fontSize: 12,\n fill: '#ccc',\n textBaseline: 'middle',\n },\n });\n var textBBox = textShape.getBBox();\n currentPoint.x += textBBox.width + 2;\n var rightArrow = this.drawArrow(subGroup, currentPoint, 'navigation-arrow-right', layout === 'horizontal' ? 'down' : 'right', size);\n rightArrow.on('click', this.onNavigationAfter);\n return subGroup;\n };\n Category.prototype.updateNavigation = function (navigation) {\n var text = this.currentPageIndex + \"/\" + this.totalPagesCnt;\n var textShape = navigation ? navigation.getChildren()[1] : this.getElementByLocalId('navigation-text');\n var leftArrow = navigation\n ? navigation.findById(this.getElementId('navigation-arrow-left'))\n : this.getElementByLocalId('navigation-arrow-left');\n var rightArrow = navigation\n ? navigation.findById(this.getElementId('navigation-arrow-right'))\n : this.getElementByLocalId('navigation-arrow-right');\n var origBBox = textShape.getBBox();\n textShape.attr('text', text);\n var newBBox = textShape.getBBox();\n textShape.attr('x', textShape.attr('x') - (newBBox.width - origBBox.width) / 2);\n leftArrow.attr('opacity', this.currentPageIndex === 1 ? 0.45 : 1);\n leftArrow.attr('cursor', this.currentPageIndex === 1 ? 'not-allowed' : 'pointer');\n rightArrow.attr('opacity', this.currentPageIndex === this.totalPagesCnt ? 0.45 : 1);\n rightArrow.attr('cursor', this.currentPageIndex === this.totalPagesCnt ? 'not-allowed' : 'pointer');\n };\n Category.prototype.drawArrow = function (group, currentPoint, name, direction, size) {\n var x = currentPoint.x, y = currentPoint.y;\n var rotateMap = {\n right: (90 * Math.PI) / 180,\n left: ((360 - 90) * Math.PI) / 180,\n up: 0,\n down: (180 * Math.PI) / 180,\n };\n var shape = this.addShape(group, {\n type: 'path',\n id: this.getElementId(name),\n name: name,\n attrs: {\n path: [['M', x + size / 2, y], ['L', x, y + size], ['L', x + size, y + size], ['Z']],\n fill: '#000',\n cursor: 'pointer',\n },\n });\n shape.attr('matrix', getMatrixByAngle({ x: x + size / 2, y: y + size / 2 }, rotateMap[direction]));\n return shape;\n };\n Category.prototype.getCurrentNavigationMatrix = function () {\n var _a = this, currentPageIndex = _a.currentPageIndex, pageWidth = _a.pageWidth, pageHeight = _a.pageHeight;\n var layout = this.get('layout');\n var translate = layout === 'horizontal'\n ? {\n x: 0,\n y: pageHeight * (1 - currentPageIndex),\n }\n : {\n x: pageWidth * (1 - currentPageIndex),\n y: 0,\n };\n return getMatrixByTranslate(translate);\n };\n // 附加状态对应的样式\n Category.prototype.applyItemStates = function (item, subGroup) {\n var states = this.getItemStates(item);\n var hasStates = states.length > 0;\n if (hasStates) {\n var children = subGroup.getChildren();\n var itemStates_1 = this.get('itemStates');\n each(children, function (element) {\n var name = element.get('name');\n var elName = name.split('-')[2]; // marker, name, value\n var statesStyle = getStatesStyle(item, elName, itemStates_1);\n if (statesStyle) {\n element.attr(statesStyle);\n if (elName === 'marker' && !(element.get('isStroke') && element.get('isFill'))) {\n // 如果 marker 是单填充或者单描边的话,就不要额外添加 stroke 或这 fill 属性,否则会影响 unchecked 后的显示\n if (element.get('isStroke')) {\n element.attr('fill', null);\n }\n if (element.get('isFill')) {\n element.attr('stroke', null);\n }\n }\n }\n });\n }\n };\n // 获取 itemWidth 的最终设置\n Category.prototype.getLimitItemWidth = function () {\n var itemWidth = this.get('itemWidth');\n var maxItemWidth = this.get('maxItemWidth');\n if (maxItemWidth) {\n // 设置了最大宽度\n if (itemWidth) {\n maxItemWidth = itemWidth <= maxItemWidth ? itemWidth : maxItemWidth;\n }\n }\n else if (itemWidth) {\n maxItemWidth = itemWidth;\n }\n return maxItemWidth;\n };\n return Category;\n}(LegendBase));\nexport default Category;\n//# sourceMappingURL=category.js.map","import { __assign, __extends } from \"tslib\";\nimport { clone, mix, upperFirst } from '@antv/util';\nimport Theme from '../util/theme';\nimport { getValueByPercent } from '../util/util';\nimport LegendBase from './base';\nvar HANDLER_HEIGHT_RATIO = 1.4;\nvar HANDLER_TRIANGLE_RATIO = 0.4;\nvar ContinueLegend = /** @class */ (function (_super) {\n __extends(ContinueLegend, _super);\n function ContinueLegend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContinueLegend.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { type: 'continue', min: 0, max: 100, value: null, colors: [], track: {}, rail: {}, label: {}, handler: {}, slidable: true, tip: null, step: null, maxWidth: null, maxHeight: null, defaultCfg: {\n label: {\n align: 'rail',\n spacing: 5,\n formatter: null,\n style: {\n fontSize: 12,\n fill: Theme.textColor,\n textBaseline: 'middle',\n fontFamily: Theme.fontFamily,\n },\n },\n handler: {\n size: 10,\n style: {\n fill: '#fff',\n stroke: '#333',\n },\n },\n track: {},\n rail: {\n type: 'color',\n size: 20,\n defaultLength: 100,\n style: {\n fill: '#DCDEE2',\n },\n },\n title: {\n spacing: 5,\n style: {\n fill: Theme.textColor,\n fontSize: 12,\n textAlign: 'start',\n textBaseline: 'top',\n },\n },\n } });\n };\n ContinueLegend.prototype.isSlider = function () {\n return true;\n };\n // 实现 IList 接口\n ContinueLegend.prototype.getValue = function () {\n return this.getCurrentValue();\n };\n ContinueLegend.prototype.getRange = function () {\n return {\n min: this.get('min'),\n max: this.get('max'),\n };\n };\n // 改变 range\n ContinueLegend.prototype.setRange = function (min, max) {\n this.update({\n min: min,\n max: max,\n });\n };\n ContinueLegend.prototype.setValue = function (value) {\n var originValue = this.getValue();\n this.set('value', value);\n var group = this.get('group');\n this.resetTrackClip();\n if (this.get('slidable')) {\n this.resetHandlers(group);\n }\n this.delegateEmit('valuechanged', {\n originValue: originValue,\n value: value,\n });\n };\n ContinueLegend.prototype.initEvent = function () {\n var group = this.get('group');\n this.bindSliderEvent(group);\n this.bindRailEvent(group);\n this.bindTrackEvent(group);\n };\n ContinueLegend.prototype.drawLegendContent = function (group) {\n this.drawRail(group);\n this.drawLabels(group);\n this.fixedElements(group); // 调整各个图形位置,适应宽高的限制\n this.resetTrack(group);\n this.resetTrackClip(group);\n if (this.get('slidable')) {\n this.resetHandlers(group);\n }\n };\n ContinueLegend.prototype.bindSliderEvent = function (group) {\n this.bindHandlersEvent(group);\n };\n ContinueLegend.prototype.bindHandlersEvent = function (group) {\n var _this = this;\n group.on('legend-handler-min:drag', function (ev) {\n var minValue = _this.getValueByCanvasPoint(ev.x, ev.y);\n var currentValue = _this.getCurrentValue();\n var maxValue = currentValue[1];\n if (maxValue < minValue) {\n // 如果小于最小值,则调整最小值\n maxValue = minValue;\n }\n _this.setValue([minValue, maxValue]);\n });\n group.on('legend-handler-max:drag', function (ev) {\n var maxValue = _this.getValueByCanvasPoint(ev.x, ev.y);\n var currentValue = _this.getCurrentValue();\n var minValue = currentValue[0];\n if (minValue > maxValue) {\n // 如果小于最小值,则调整最小值\n minValue = maxValue;\n }\n _this.setValue([minValue, maxValue]);\n });\n };\n ContinueLegend.prototype.bindRailEvent = function (group) { };\n ContinueLegend.prototype.bindTrackEvent = function (group) {\n var _this = this;\n var prePoint = null;\n group.on('legend-track:dragstart', function (ev) {\n prePoint = {\n x: ev.x,\n y: ev.y,\n };\n });\n group.on('legend-track:drag', function (ev) {\n if (!prePoint) {\n return;\n }\n var preValue = _this.getValueByCanvasPoint(prePoint.x, prePoint.y);\n var curValue = _this.getValueByCanvasPoint(ev.x, ev.y);\n var currentValue = _this.getCurrentValue();\n var curDiff = currentValue[1] - currentValue[0];\n var range = _this.getRange();\n var dValue = curValue - preValue;\n if (dValue < 0) {\n // 减小, 同时未出边界\n if (currentValue[0] + dValue > range.min) {\n _this.setValue([currentValue[0] + dValue, currentValue[1] + dValue]);\n }\n else {\n _this.setValue([range.min, range.min + curDiff]);\n }\n // && ||\n }\n else if (dValue > 0) {\n if (dValue > 0 && currentValue[1] + dValue < range.max) {\n _this.setValue([currentValue[0] + dValue, currentValue[1] + dValue]);\n }\n else {\n _this.setValue([range.max - curDiff, range.max]);\n }\n }\n prePoint = {\n x: ev.x,\n y: ev.y,\n };\n });\n group.on('legend-track:dragend', function (ev) {\n prePoint = null;\n });\n };\n ContinueLegend.prototype.drawLabels = function (group) {\n this.drawLabel('min', group);\n this.drawLabel('max', group);\n };\n ContinueLegend.prototype.drawLabel = function (name, group) {\n var labelCfg = this.get('label');\n var style = labelCfg.style;\n var labelAlign = labelCfg.align;\n var value = this.get(name);\n var alignAttrs = this.getLabelAlignAttrs(name, labelAlign);\n var localId = \"label-\" + name;\n this.addShape(group, {\n type: 'text',\n id: this.getElementId(localId),\n name: \"legend-label-\" + name,\n attrs: __assign(__assign({ x: 0, y: 0, text: value }, style), alignAttrs),\n });\n };\n // 获取文本的对齐方式,为了自适应真实操碎了心\n ContinueLegend.prototype.getLabelAlignAttrs = function (name, align) {\n var isVertical = this.isVertical();\n var textAlign = 'center';\n var textBaseline = 'middle';\n if (isVertical) {\n // 垂直布局的所有的文本都左对齐\n textAlign = 'start';\n if (align !== 'rail') {\n if (name === 'min') {\n textBaseline = 'top';\n }\n else {\n textBaseline = 'bottom';\n }\n }\n else {\n textBaseline = 'top';\n }\n }\n else {\n if (align !== 'rail') {\n textBaseline = 'top';\n if (name === 'min') {\n textAlign = 'start';\n }\n else {\n textAlign = 'end';\n }\n }\n else {\n textAlign = 'start';\n textBaseline = 'middle';\n }\n }\n return {\n textAlign: textAlign,\n textBaseline: textBaseline,\n };\n };\n ContinueLegend.prototype.getRailPath = function (x, y, w, h) {\n var railCfg = this.get('rail');\n var size = railCfg.size, defaultLength = railCfg.defaultLength, type = railCfg.type;\n var isVertical = this.isVertical();\n var length = defaultLength;\n var width = w;\n var height = h;\n if (!width) {\n width = isVertical ? size : length;\n }\n if (!height) {\n height = isVertical ? length : size;\n }\n var path = [];\n if (type === 'color') {\n path.push(['M', x, y]);\n path.push(['L', x + width, y]);\n path.push(['L', x + width, y + height]);\n path.push(['L', x, y + height]);\n path.push(['Z']);\n }\n else {\n path.push(['M', x + width, y]);\n path.push(['L', x + width, y + height]);\n path.push(['L', x, y + height]);\n path.push(['Z']);\n }\n return path;\n };\n ContinueLegend.prototype.drawRail = function (group) {\n var railCfg = this.get('rail');\n var style = railCfg.style;\n this.addShape(group, {\n type: 'path',\n id: this.getElementId('rail'),\n name: 'legend-rail',\n attrs: __assign({ path: this.getRailPath(0, 0) }, style),\n });\n };\n // 将传入的颜色转换成渐变色\n ContinueLegend.prototype.getTrackColor = function (colors) {\n var count = colors.length;\n if (!count) {\n return null;\n }\n if (count === 1) {\n return colors[0];\n }\n var color; // 最终形态 l(0) 0:colors[0] 0.5:colors[1] 1:colors[2];\n if (this.isVertical()) {\n // 根据方向设置渐变方向\n color = 'l(90)';\n }\n else {\n color = 'l(0)';\n }\n for (var i = 0; i < count; i++) {\n var percent = i / (count - 1);\n color += \" \" + percent + \":\" + colors[i];\n }\n return color;\n };\n ContinueLegend.prototype.getTrackPath = function (group) {\n var railShape = this.getRailShape(group);\n var path = railShape.attr('path');\n return clone(path);\n };\n ContinueLegend.prototype.getClipTrackAttrs = function (group) {\n var value = this.getCurrentValue();\n var min = value[0], max = value[1];\n var railBBox = this.getRailBBox(group);\n var startPoint = this.getPointByValue(min, group);\n var endPoint = this.getPointByValue(max, group);\n var isVertical = this.isVertical();\n var x;\n var y;\n var width;\n var height;\n if (isVertical) {\n x = railBBox.minX;\n y = startPoint.y;\n width = railBBox.width;\n height = endPoint.y - startPoint.y;\n }\n else {\n x = startPoint.x;\n y = railBBox.minY;\n width = endPoint.x - startPoint.x;\n height = railBBox.height;\n }\n return {\n x: x,\n y: y,\n width: width,\n height: height,\n };\n };\n // 获取 track 的属性,由 path 和 颜色构成\n ContinueLegend.prototype.getTrackAttrs = function (group) {\n var trackCfg = this.get('track');\n var colors = this.get('colors');\n var path = this.getTrackPath(group);\n return mix({\n path: path,\n fill: this.getTrackColor(colors),\n }, trackCfg.style);\n };\n ContinueLegend.prototype.resetTrackClip = function (group) {\n var container = group || this.get('group');\n var trackId = this.getElementId('track');\n var trackShape = container.findById(trackId);\n var clipShape = trackShape.getClip();\n var attrs = this.getClipTrackAttrs(group);\n if (!clipShape) {\n trackShape.setClip({\n type: 'rect',\n attrs: attrs,\n });\n }\n else {\n clipShape.attr(attrs);\n }\n };\n ContinueLegend.prototype.resetTrack = function (group) {\n var trackId = this.getElementId('track');\n var trackShape = group.findById(trackId);\n var trackAttrs = this.getTrackAttrs(group);\n if (trackShape) {\n trackShape.attr(trackAttrs);\n }\n else {\n this.addShape(group, {\n type: 'path',\n id: trackId,\n draggable: this.get('slidable'),\n name: 'legend-track',\n attrs: trackAttrs,\n });\n }\n };\n ContinueLegend.prototype.getPointByValue = function (value, group) {\n var _a = this.getRange(), min = _a.min, max = _a.max;\n var percent = (value - min) / (max - min);\n var bbox = this.getRailBBox(group);\n var isVertcal = this.isVertical();\n var point = { x: 0, y: 0 };\n if (isVertcal) {\n point.x = bbox.minX + bbox.width / 2;\n point.y = getValueByPercent(bbox.minY, bbox.maxY, percent);\n }\n else {\n point.x = getValueByPercent(bbox.minX, bbox.maxX, percent);\n point.y = bbox.minY + bbox.height / 2;\n }\n return point;\n };\n ContinueLegend.prototype.getRailShape = function (group) {\n var container = group || this.get('group');\n return container.findById(this.getElementId('rail'));\n };\n // 获取滑轨的宽高信息\n ContinueLegend.prototype.getRailBBox = function (group) {\n var railShape = this.getRailShape(group);\n var bbox = railShape.getBBox();\n return bbox;\n };\n ContinueLegend.prototype.getRailCanvasBBox = function () {\n var container = this.get('group');\n var railShape = container.findById(this.getElementId('rail'));\n var bbox = railShape.getCanvasBBox();\n return bbox;\n };\n // 是否垂直\n ContinueLegend.prototype.isVertical = function () {\n return this.get('layout') === 'vertical';\n };\n // 用于交互时\n ContinueLegend.prototype.getValueByCanvasPoint = function (x, y) {\n var _a = this.getRange(), min = _a.min, max = _a.max;\n var bbox = this.getRailCanvasBBox(); // 因为 x, y 是画布坐标\n var isVertcal = this.isVertical();\n var step = this.get('step');\n var percent;\n if (isVertcal) {\n // 垂直时计算 y\n percent = (y - bbox.minY) / bbox.height;\n }\n else {\n // 水平时计算 x\n percent = (x - bbox.minX) / bbox.width;\n }\n var value = getValueByPercent(min, max, percent);\n if (step) {\n var count = Math.round((value - min) / step);\n value = min + count * step; // 移动到最近的\n }\n if (value > max) {\n value = max;\n }\n if (value < min) {\n value = min;\n }\n return value;\n };\n // 当前选中的范围\n ContinueLegend.prototype.getCurrentValue = function () {\n var value = this.get('value');\n if (!value) {\n // 如果没有定义,取最大范围\n value = [this.get('min'), this.get('max')];\n }\n return value;\n };\n // 重置滑块 handler\n ContinueLegend.prototype.resetHandlers = function (group) {\n var currentValue = this.getCurrentValue();\n var min = currentValue[0], max = currentValue[1];\n this.resetHandler(group, 'min', min);\n this.resetHandler(group, 'max', max);\n };\n // 获取滑块的 path\n ContinueLegend.prototype.getHandlerPath = function (handlerCfg, point) {\n var isVertical = this.isVertical();\n var path = [];\n var width = handlerCfg.size;\n var x = point.x, y = point.y;\n var height = width * HANDLER_HEIGHT_RATIO;\n var halfWidth = width / 2;\n var oneSixthWidth = width / 6;\n if (isVertical) {\n /**\n * 竖直情况下的滑块 handler,左侧顶点是 x,y\n * /----|\n * -- |\n * -- |\n * \\----|\n */\n var triangleX = x + height * HANDLER_TRIANGLE_RATIO;\n path.push(['M', x, y]);\n path.push(['L', triangleX, y + halfWidth]);\n path.push(['L', x + height, y + halfWidth]);\n path.push(['L', x + height, y - halfWidth]);\n path.push(['L', triangleX, y - halfWidth]);\n path.push(['Z']);\n // 绘制两条横线\n path.push(['M', triangleX, y + oneSixthWidth]);\n path.push(['L', x + height - 2, y + oneSixthWidth]);\n path.push(['M', triangleX, y - oneSixthWidth]);\n path.push(['L', x + height - 2, y - oneSixthWidth]);\n }\n else {\n /**\n * 水平情况下的滑块,上面顶点处是 x,y\n * / \\\n * | | | |\n * | | | |\n * -----\n */\n var triangleY = y + height * HANDLER_TRIANGLE_RATIO;\n path.push(['M', x, y]);\n path.push(['L', x - halfWidth, triangleY]);\n path.push(['L', x - halfWidth, y + height]);\n path.push(['L', x + halfWidth, y + height]);\n path.push(['L', x + halfWidth, triangleY]);\n path.push(['Z']);\n // 绘制两条竖线\n path.push(['M', x - oneSixthWidth, triangleY]);\n path.push(['L', x - oneSixthWidth, y + height - 2]);\n path.push(['M', x + oneSixthWidth, triangleY]);\n path.push(['L', x + oneSixthWidth, y + height - 2]);\n }\n return path;\n };\n // 调整 handler 的位置,如果未存在则绘制\n ContinueLegend.prototype.resetHandler = function (group, name, value) {\n var point = this.getPointByValue(value, group);\n var handlerCfg = this.get('handler');\n var path = this.getHandlerPath(handlerCfg, point);\n var id = this.getElementId(\"handler-\" + name);\n var handlerShape = group.findById(id);\n var isVertical = this.isVertical();\n if (handlerShape) {\n handlerShape.attr('path', path);\n }\n else {\n this.addShape(group, {\n type: 'path',\n name: \"legend-handler-\" + name,\n draggable: true,\n id: id,\n attrs: __assign(__assign({ path: path }, handlerCfg.style), { cursor: isVertical ? 'ns-resize' : 'ew-resize' }),\n });\n }\n };\n // 当设置了 maxWidth, maxHeight 时调整 rail 的宽度,\n // 文本的位置\n ContinueLegend.prototype.fixedElements = function (group) {\n var railShape = group.findById(this.getElementId('rail'));\n var minLabel = group.findById(this.getElementId('label-min'));\n var maxLabel = group.findById(this.getElementId('label-max'));\n var startPoint = this.getDrawPoint();\n if (this.isVertical()) {\n // 横向布局\n this.fixedVertail(minLabel, maxLabel, railShape, startPoint);\n }\n else {\n // 水平布局\n this.fixedHorizontal(minLabel, maxLabel, railShape, startPoint);\n }\n };\n ContinueLegend.prototype.fitRailLength = function (minLabelBBox, maxLabelBBox, railBBox, railShape) {\n var isVertical = this.isVertical();\n var lengthField = isVertical ? 'height' : 'width';\n var labelCfg = this.get('label');\n var labelAlign = labelCfg.align;\n var spacing = labelCfg.spacing;\n var maxLength = this.get(\"max\" + upperFirst(lengthField)); // get('maxWidth')\n if (maxLength) {\n var elementsLength = labelAlign === 'rail'\n ? railBBox[lengthField] + minLabelBBox[lengthField] + maxLabelBBox[lengthField] + spacing * 2\n : railBBox[lengthField];\n var diff = elementsLength - maxLength;\n if (diff > 0) {\n // 大于限制的长度\n this.changeRailLength(railShape, lengthField, railBBox[lengthField] - diff);\n }\n }\n };\n ContinueLegend.prototype.changeRailLength = function (railShape, lengthField, length) {\n var bbox = railShape.getBBox();\n var path;\n if (lengthField === 'height') {\n path = this.getRailPath(bbox.x, bbox.y, bbox.width, length);\n }\n else {\n path = this.getRailPath(bbox.x, bbox.y, length, bbox.height);\n }\n railShape.attr('path', path);\n };\n ContinueLegend.prototype.changeRailPosition = function (railShape, x, y) {\n var bbox = railShape.getBBox();\n var path = this.getRailPath(x, y, bbox.width, bbox.height);\n railShape.attr('path', path);\n };\n ContinueLegend.prototype.fixedHorizontal = function (minLabel, maxLabel, railShape, startPoint) {\n var labelCfg = this.get('label');\n var labelAlign = labelCfg.align;\n var spacing = labelCfg.spacing;\n var railBBox = railShape.getBBox();\n var minLabelBBox = minLabel.getBBox();\n var maxLabelBBox = maxLabel.getBBox();\n var railHeight = railBBox.height; // 取 rail 的高度,作为高度\n this.fitRailLength(minLabelBBox, maxLabelBBox, railBBox, railShape);\n railBBox = railShape.getBBox();\n if (labelAlign === 'rail') {\n // 沿着 rail 方向\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y + railHeight / 2,\n });\n this.changeRailPosition(railShape, startPoint.x + minLabelBBox.width + spacing, startPoint.y);\n maxLabel.attr({\n x: startPoint.x + minLabelBBox.width + railBBox.width + spacing * 2,\n y: startPoint.y + railHeight / 2,\n });\n }\n else if (labelAlign === 'top') {\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y,\n });\n maxLabel.attr({\n x: startPoint.x + railBBox.width,\n y: startPoint.y,\n });\n this.changeRailPosition(railShape, startPoint.x, startPoint.y + minLabelBBox.height + spacing);\n }\n else {\n this.changeRailPosition(railShape, startPoint.x, startPoint.y);\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y + railBBox.height + spacing,\n });\n maxLabel.attr({\n x: startPoint.x + railBBox.width,\n y: startPoint.y + railBBox.height + spacing,\n });\n }\n };\n ContinueLegend.prototype.fixedVertail = function (minLabel, maxLabel, railShape, startPoint) {\n var labelCfg = this.get('label');\n var labelAlign = labelCfg.align;\n var spacing = labelCfg.spacing;\n var railBBox = railShape.getBBox();\n var minLabelBBox = minLabel.getBBox();\n var maxLabelBBox = maxLabel.getBBox();\n this.fitRailLength(minLabelBBox, maxLabelBBox, railBBox, railShape);\n railBBox = railShape.getBBox();\n if (labelAlign === 'rail') {\n // 沿着 rail 方向\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y,\n });\n this.changeRailPosition(railShape, startPoint.x, startPoint.y + minLabelBBox.height + spacing);\n maxLabel.attr({\n x: startPoint.x,\n y: startPoint.y + minLabelBBox.height + railBBox.height + spacing * 2,\n });\n }\n else if (labelAlign === 'right') {\n minLabel.attr({\n x: startPoint.x + railBBox.width + spacing,\n y: startPoint.y,\n });\n this.changeRailPosition(railShape, startPoint.x, startPoint.y);\n maxLabel.attr({\n x: startPoint.x + railBBox.width + spacing,\n y: startPoint.y + railBBox.height,\n });\n }\n else {\n // left\n var maxLabelWidth = Math.max(minLabelBBox.width, maxLabelBBox.width);\n minLabel.attr({\n x: startPoint.x,\n y: startPoint.y,\n });\n this.changeRailPosition(railShape, startPoint.x + maxLabelWidth + spacing, startPoint.y);\n maxLabel.attr({\n x: startPoint.x,\n y: startPoint.y + railBBox.height,\n });\n }\n };\n return ContinueLegend;\n}(LegendBase));\nexport default ContinueLegend;\n//# sourceMappingURL=continuous.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CROSSHAIR_Y = exports.CROSSHAIR_X = exports.NAME_CLASS = exports.VALUE_CLASS = exports.MARKER_CLASS = exports.LIST_ITEM_CLASS = exports.LIST_CLASS = exports.TITLE_CLASS = exports.CONTAINER_CLASS = void 0;\nexports.CONTAINER_CLASS = 'g2-tooltip';\nexports.TITLE_CLASS = 'g2-tooltip-title';\nexports.LIST_CLASS = 'g2-tooltip-list';\nexports.LIST_ITEM_CLASS = 'g2-tooltip-list-item';\nexports.MARKER_CLASS = 'g2-tooltip-marker';\nexports.VALUE_CLASS = 'g2-tooltip-value';\nexports.NAME_CLASS = 'g2-tooltip-name';\nexports.CROSSHAIR_X = 'g2-tooltip-crosshair-x';\nexports.CROSSHAIR_Y = 'g2-tooltip-crosshair-y';\n//# sourceMappingURL=css-const.js.map","\"use strict\";\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar theme_1 = require(\"../util/theme\");\n// tooltip 相关 dom 的 css 类名\nvar CssConst = require(\"./css-const\");\nexports.default = (_a = {},\n // css style for tooltip\n _a[\"\" + CssConst.CONTAINER_CLASS] = {\n position: 'absolute',\n visibility: 'visible',\n // @2018-07-25 by blue.lb 这里去掉浮动,火狐上存在样式错位\n // whiteSpace: 'nowrap',\n zIndex: 8,\n transition: 'visibility 0.2s cubic-bezier(0.23, 1, 0.32, 1), ' +\n 'left 0.4s cubic-bezier(0.23, 1, 0.32, 1), ' +\n 'top 0.4s cubic-bezier(0.23, 1, 0.32, 1)',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n boxShadow: '0px 0px 10px #aeaeae',\n borderRadius: '3px',\n color: 'rgb(87, 87, 87)',\n fontSize: '12px',\n fontFamily: theme_1.default.fontFamily,\n lineHeight: '20px',\n padding: '10px 10px 6px 10px',\n },\n _a[\"\" + CssConst.TITLE_CLASS] = {\n marginBottom: '4px',\n },\n _a[\"\" + CssConst.LIST_CLASS] = {\n margin: '0px',\n listStyleType: 'none',\n padding: '0px',\n },\n _a[\"\" + CssConst.LIST_ITEM_CLASS] = {\n listStyleType: 'none',\n marginBottom: '4px',\n },\n _a[\"\" + CssConst.MARKER_CLASS] = {\n width: '8px',\n height: '8px',\n borderRadius: '50%',\n display: 'inline-block',\n marginRight: '8px',\n },\n _a[\"\" + CssConst.VALUE_CLASS] = {\n display: 'inline-block',\n float: 'right',\n marginLeft: '30px',\n },\n _a[\"\" + CssConst.CROSSHAIR_X] = {\n position: 'absolute',\n width: '1px',\n backgroundColor: 'rgba(0, 0, 0, 0.25)',\n },\n _a[\"\" + CssConst.CROSSHAIR_Y] = {\n position: 'absolute',\n height: '1px',\n backgroundColor: 'rgba(0, 0, 0, 0.25)',\n },\n _a);\n//# sourceMappingURL=html-theme.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar color_util_1 = require(\"@antv/color-util\");\nvar dom_util_1 = require(\"@antv/dom-util\");\nvar util_1 = require(\"@antv/util\");\nvar html_component_1 = require(\"../abstract/html-component\");\nvar util_2 = require(\"../util/util\");\nvar CssConst = require(\"./css-const\");\nvar html_theme_1 = require(\"./html-theme\");\nvar align_1 = require(\"../util/align\");\nfunction hasOneKey(obj, keys) {\n var result = false;\n util_1.each(keys, function (key) {\n if (util_1.hasKey(obj, key)) {\n result = true;\n return false;\n }\n });\n return result;\n}\nvar Tooltip = /** @class */ (function (_super) {\n tslib_1.__extends(Tooltip, _super);\n function Tooltip() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tooltip.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return tslib_1.__assign(tslib_1.__assign({}, cfg), { name: 'tooltip', type: 'html', x: 0, y: 0, items: [], customContent: null, containerTpl: \"
          \", itemTpl: \"
        • \\n \\n {name}:\\n {value}\\n
        • \", xCrosshairTpl: \"
          \", yCrosshairTpl: \"
          \", title: null, showTitle: true, \n /**\n * tooltip 限制的区域\n * @type {Region}\n */\n region: null, \n // crosshair 的限制区域\n crosshairsRegion: null, containerClassName: CssConst.CONTAINER_CLASS, \n // x, y, xy\n crosshairs: null, offset: 10, position: 'right', domStyles: null, defaultStyles: html_theme_1.default });\n };\n // tooltip 渲染时,渲染 title,items 和 corosshairs\n Tooltip.prototype.render = function () {\n if (this.get('customContent')) {\n this.renderCustomContent();\n }\n else {\n this.resetTitle();\n this.renderItems();\n }\n // 绘制完成后,再定位\n this.resetPosition();\n };\n // 复写清空函数,因为有模板的存在,所以默认的写法不合适\n Tooltip.prototype.clear = function () {\n // 由于 crosshair 没有在 container 内,所以需要单独清理\n this.clearCrosshairs();\n this.setTitle(''); // 清空标题\n this.clearItemDoms();\n };\n Tooltip.prototype.show = function () {\n var container = this.getContainer();\n if (!container || this.destroyed) {\n // 防止容器不存在或者被销毁时报错\n return;\n }\n this.set('visible', true);\n dom_util_1.modifyCSS(container, {\n visibility: 'visible',\n });\n this.setCrossHairsVisible(true);\n };\n Tooltip.prototype.hide = function () {\n var container = this.getContainer();\n // relative: https://github.com/antvis/g2/issues/1221\n if (!container || this.destroyed) {\n return;\n }\n this.set('visible', false);\n dom_util_1.modifyCSS(container, {\n visibility: 'hidden',\n });\n this.setCrossHairsVisible(false);\n };\n // 实现 IPointLocation 的接口\n Tooltip.prototype.getLocation = function () {\n return { x: this.get('x'), y: this.get('y') };\n };\n // 实现 IPointLocation 的接口\n Tooltip.prototype.setLocation = function (point) {\n this.set('x', point.x);\n this.set('y', point.y);\n this.resetPosition();\n };\n Tooltip.prototype.setCrossHairsVisible = function (visible) {\n var display = visible ? '' : 'none';\n var xCrosshairDom = this.get('xCrosshairDom');\n var yCrosshairDom = this.get('yCrosshairDom');\n xCrosshairDom &&\n dom_util_1.modifyCSS(xCrosshairDom, {\n display: display,\n });\n yCrosshairDom &&\n dom_util_1.modifyCSS(yCrosshairDom, {\n display: display,\n });\n };\n // 如有 customContent 则根据 customContent 设置 container\n Tooltip.prototype.initContainer = function () {\n _super.prototype.initContainer.call(this);\n if (this.get('customContent')) {\n if (this.get('container')) {\n this.get('container').remove();\n }\n var container = this.getHtmlContentNode();\n this.get('parent').appendChild(container);\n this.set('container', container);\n this.resetStyles();\n this.applyStyles();\n }\n };\n // 更新属性的同时,可能会引起 DOM 的变化,这里对可能引起 DOM 变化的场景做了处理\n Tooltip.prototype.updateInner = function (cfg) {\n if (this.get('customContent')) {\n this.renderCustomContent();\n }\n else {\n // 更新标题\n if (hasOneKey(cfg, ['title', 'showTitle'])) {\n this.resetTitle();\n }\n // 更新内容\n if (util_1.hasKey(cfg, 'items')) {\n this.renderItems();\n }\n }\n _super.prototype.updateInner.call(this, cfg);\n };\n Tooltip.prototype.initDom = function () {\n this.cacheDoms();\n };\n // 清理 DOM\n Tooltip.prototype.removeDom = function () {\n _super.prototype.removeDom.call(this);\n this.clearCrosshairs();\n };\n // 调整位置\n Tooltip.prototype.resetPosition = function () {\n var x = this.get('x');\n var y = this.get('y');\n var offset = this.get('offset');\n var _a = this.getOffset(), offsetX = _a.offsetX, offsetY = _a.offsetY;\n var position = this.get('position');\n var region = this.get('region');\n var container = this.getContainer();\n var bbox = this.getBBox();\n var width = bbox.width, height = bbox.height;\n var limitBox;\n if (region) {\n // 不限制位置\n limitBox = util_2.regionToBBox(region);\n }\n var point = align_1.getAlignPoint(x, y, offset, width, height, position, limitBox);\n dom_util_1.modifyCSS(container, {\n left: util_2.toPx(point.x + offsetX),\n top: util_2.toPx(point.y + offsetY),\n });\n this.resetCrosshairs();\n };\n // 根据 customContent 渲染\n Tooltip.prototype.renderCustomContent = function () {\n var node = this.getHtmlContentNode();\n var parent = this.get('parent');\n var curContainer = this.get('container');\n if (curContainer && curContainer.parentNode === parent) {\n parent.replaceChild(node, curContainer);\n }\n else {\n parent.appendChild(node);\n }\n this.set('container', node);\n this.resetStyles();\n this.applyStyles();\n };\n Tooltip.prototype.getHtmlContentNode = function () {\n var node;\n var customContent = this.get('customContent');\n if (customContent) {\n var elem = customContent(this.get('title'), this.get('items'));\n if (util_1.isElement(elem)) {\n node = elem;\n }\n else {\n node = dom_util_1.createDom(elem);\n }\n }\n return node;\n };\n // 缓存模板设置的各种 DOM\n Tooltip.prototype.cacheDoms = function () {\n var container = this.getContainer();\n var titleDom = container.getElementsByClassName(CssConst.TITLE_CLASS)[0];\n var listDom = container.getElementsByClassName(CssConst.LIST_CLASS)[0];\n this.set('titleDom', titleDom);\n this.set('listDom', listDom);\n };\n // 重置 title\n Tooltip.prototype.resetTitle = function () {\n var title = this.get('title');\n var showTitle = this.get('showTitle');\n if (showTitle && title) {\n this.setTitle(title);\n }\n else {\n this.setTitle('');\n }\n };\n // 设置 title 文本\n Tooltip.prototype.setTitle = function (text) {\n var titleDom = this.get('titleDom');\n if (titleDom) {\n titleDom.innerText = text;\n }\n };\n // 终止 crosshair\n Tooltip.prototype.resetCrosshairs = function () {\n var crosshairsRegion = this.get('crosshairsRegion');\n var crosshairs = this.get('crosshairs');\n if (!crosshairsRegion || !crosshairs) {\n // 不显示 crosshair,都移除,没有设定 region 也都移除掉\n this.clearCrosshairs();\n }\n else {\n var crosshairBox = util_2.regionToBBox(crosshairsRegion);\n var xCrosshairDom = this.get('xCrosshairDom');\n var yCrosshairDom = this.get('yCrosshairDom');\n if (crosshairs === 'x') {\n this.resetCrosshair('x', crosshairBox);\n // 仅显示 x 的 crosshair,y 移除\n if (yCrosshairDom) {\n yCrosshairDom.remove();\n this.set('yCrosshairDom', null);\n }\n }\n else if (crosshairs === 'y') {\n this.resetCrosshair('y', crosshairBox);\n // 仅显示 y 的 crosshair,x 移除\n if (xCrosshairDom) {\n xCrosshairDom.remove();\n this.set('xCrosshairDom', null);\n }\n }\n else {\n this.resetCrosshair('x', crosshairBox);\n this.resetCrosshair('y', crosshairBox);\n }\n this.setCrossHairsVisible(this.get('visible'));\n }\n };\n // 设定 crosshair 的位置,需要区分 x,y\n Tooltip.prototype.resetCrosshair = function (name, bbox) {\n var croshairDom = this.checkCrosshair(name);\n var value = this.get(name);\n if (name === 'x') {\n dom_util_1.modifyCSS(croshairDom, {\n left: util_2.toPx(value),\n top: util_2.toPx(bbox.y),\n height: util_2.toPx(bbox.height),\n });\n }\n else {\n dom_util_1.modifyCSS(croshairDom, {\n top: util_2.toPx(value),\n left: util_2.toPx(bbox.x),\n width: util_2.toPx(bbox.width),\n });\n }\n };\n // 如果 crosshair 对应的 dom 不存在,则创建\n Tooltip.prototype.checkCrosshair = function (name) {\n var domName = name + \"CrosshairDom\";\n var tplName = name + \"CrosshairTpl\";\n var constName = \"CROSSHAIR_\" + name.toUpperCase();\n var styleName = CssConst[constName];\n var croshairDom = this.get(domName);\n var parent = this.get('parent');\n if (!croshairDom) {\n croshairDom = dom_util_1.createDom(this.get(tplName)); // 创建\n this.applyStyle(styleName, croshairDom); // 设置初始样式\n parent.appendChild(croshairDom); // 添加到跟 tooltip 同级的目录下\n this.set(domName, croshairDom);\n }\n return croshairDom;\n };\n Tooltip.prototype.renderItems = function () {\n this.clearItemDoms();\n var items = this.get('items');\n var itemTpl = this.get('itemTpl');\n var listDom = this.get('listDom');\n if (listDom) {\n util_1.each(items, function (item) {\n var color = color_util_1.default.toCSSGradient(item.color);\n var substituteObj = tslib_1.__assign(tslib_1.__assign({}, item), { color: color });\n var domStr = util_1.substitute(itemTpl, substituteObj);\n var itemDom = dom_util_1.createDom(domStr);\n listDom.appendChild(itemDom);\n });\n this.applyChildrenStyles(listDom, this.get('domStyles'));\n }\n };\n Tooltip.prototype.clearItemDoms = function () {\n if (this.get('listDom')) {\n util_2.clearDom(this.get('listDom'));\n }\n };\n Tooltip.prototype.clearCrosshairs = function () {\n var xCrosshairDom = this.get('xCrosshairDom');\n var yCrosshairDom = this.get('yCrosshairDom');\n xCrosshairDom && xCrosshairDom.remove();\n yCrosshairDom && yCrosshairDom.remove();\n this.set('xCrosshairDom', null);\n this.set('yCrosshairDom', null);\n };\n return Tooltip;\n}(html_component_1.default));\nexports.default = Tooltip;\n//# sourceMappingURL=html.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAlignPoint = exports.getPointByPosition = exports.getOutSides = void 0;\n// 检测各边是否超出\nfunction getOutSides(x, y, width, height, limitBox) {\n var hits = {\n left: x < limitBox.x,\n right: x + width > limitBox.x + limitBox.width,\n top: y < limitBox.y,\n bottom: y + height > limitBox.y + limitBox.height,\n };\n return hits;\n}\nexports.getOutSides = getOutSides;\nfunction getPointByPosition(x, y, offset, width, height, position) {\n var px = x;\n var py = y;\n switch (position) {\n case 'left': // left center\n px = x - width - offset;\n py = y - height / 2;\n break;\n case 'right':\n px = x + offset;\n py = y - height / 2;\n break;\n case 'top':\n px = x - width / 2;\n py = y - height - offset;\n break;\n case 'bottom':\n // bottom\n px = x - width / 2;\n py = y + offset;\n break;\n default:\n // auto, 在 top-right\n px = x + offset;\n py = y - height - offset;\n break;\n }\n return {\n x: px,\n y: py,\n };\n}\nexports.getPointByPosition = getPointByPosition;\nfunction getAlignPoint(x, y, offset, width, height, position, limitBox) {\n var point = getPointByPosition(x, y, offset, width, height, position);\n if (limitBox) {\n var outSides = getOutSides(point.x, point.y, width, height, limitBox);\n if (position === 'auto') {\n // 如果是 auto,默认 tooltip 在右上角,仅需要判定右侧和上测冲突即可\n if (outSides.right) {\n point.x = Math.max(0, x - width - offset);\n }\n if (outSides.top) {\n point.y = Math.max(0, y - height - offset);\n }\n }\n else if (position === 'top' || position === 'bottom') {\n if (outSides.left) {\n // 左侧躲避\n point.x = limitBox.x;\n }\n if (outSides.right) {\n // 右侧躲避\n point.x = limitBox.x + limitBox.width - width;\n }\n if (position === 'top' && outSides.top) {\n // 如果上面对齐检测上面,不检测下面\n point.y = y + offset;\n }\n if (position === 'bottom' && outSides.bottom) {\n point.y = y - height - offset;\n }\n }\n else {\n // 检测左右位置\n if (outSides.top) {\n point.y = limitBox.y;\n }\n if (outSides.bottom) {\n point.y = limitBox.y + limitBox.height - height;\n }\n if (position === 'left' && outSides.left) {\n point.x = x + offset;\n }\n if (position === 'right' && outSides.right) {\n point.x = x - width - offset;\n }\n }\n }\n return point;\n}\nexports.getAlignPoint = getAlignPoint;\n//# sourceMappingURL=align.js.map","export var BACKGROUND_STYLE = {\n // fill: 'red',\n opacity: 0,\n};\nexport var LINE_STYLE = {\n stroke: '#C5C5C5',\n strokeOpacity: 0.85,\n};\nexport var AREA_STYLE = {\n fill: '#CACED4',\n opacity: 0.85,\n};\n//# sourceMappingURL=constant.js.map","import { __spreadArrays } from \"tslib\";\nimport { catmullRom2Bezier } from '@antv/path-util';\nimport { Category, Linear } from '@antv/scale';\nimport { each, head, isEqual, map } from '@antv/util';\n/**\n * 点数组转 path\n * @param points\n */\nfunction pointsToPath(points) {\n return map(points, function (p, idx) {\n var command = idx === 0 ? 'M' : 'L';\n var x = p[0], y = p[1];\n return [command, x, y];\n });\n}\n/**\n * 将点连接成路径 path\n * @param points\n */\nexport function getLinePath(points) {\n return pointsToPath(points);\n}\n/**\n * 将点连成平滑的曲线\n * @param points\n */\nexport function getSmoothLinePath(points) {\n if (points.length <= 2) {\n // 两点以内直接绘制成路径\n return getLinePath(points);\n }\n var data = [];\n each(points, function (p) {\n // 当前点和上一个点一样的时候,忽略掉\n if (!isEqual(p, data.slice(data.length - 2))) {\n data.push(p[0], p[1]);\n }\n });\n // const constraint = [ // 范围\n // [ 0, 0 ],\n // [ 1, 1 ],\n // ];\n var path = catmullRom2Bezier(data, false);\n var _a = head(points), x = _a[0], y = _a[1];\n path.unshift(['M', x, y]);\n return path;\n}\n/**\n * 将数据转成 path,利用 scale 的归一化能力\n * @param data\n * @param width\n * @param height\n * @param smooth\n */\nexport function dataToPath(data, width, height, smooth) {\n if (smooth === void 0) { smooth = true; }\n // 利用 scale 来获取 y 上的映射\n var y = new Linear({\n values: data,\n });\n var x = new Category({\n values: map(data, function (v, idx) { return idx; }),\n });\n var points = map(data, function (v, idx) {\n return [x.scale(idx) * width, height - y.scale(v) * height];\n });\n return smooth ? getSmoothLinePath(points) : getLinePath(points);\n}\n/**\n * 线 path 转 area path\n * @param path\n * @param width\n * @param height\n */\nexport function linePathToAreaPath(path, width, height) {\n var areaPath = __spreadArrays(path);\n areaPath.push(['L', width, 0]);\n areaPath.push(['L', 0, height]);\n areaPath.push(['Z']);\n return areaPath;\n}\n//# sourceMappingURL=path.js.map","import { __assign, __extends } from \"tslib\";\nimport GroupComponent from '../abstract/group-component';\nimport { AREA_STYLE, BACKGROUND_STYLE, LINE_STYLE } from './constant';\nimport { dataToPath, linePathToAreaPath } from './path';\nvar Trend = /** @class */ (function (_super) {\n __extends(Trend, _super);\n function Trend() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Trend.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'trend', x: 0, y: 0, width: 200, height: 16, smooth: true, isArea: false, data: [], backgroundStyle: BACKGROUND_STYLE, lineStyle: LINE_STYLE, areaStyle: AREA_STYLE });\n };\n Trend.prototype.renderInner = function (group) {\n var _a = this.cfg, width = _a.width, height = _a.height, data = _a.data, smooth = _a.smooth, isArea = _a.isArea, backgroundStyle = _a.backgroundStyle, lineStyle = _a.lineStyle, areaStyle = _a.areaStyle;\n // 背景\n this.addShape(group, {\n id: this.getElementId('background'),\n type: 'rect',\n attrs: __assign({ x: 0, y: 0, width: width,\n height: height }, backgroundStyle),\n });\n var path = dataToPath(data, width, height, smooth);\n // 线\n this.addShape(group, {\n id: this.getElementId('line'),\n type: 'path',\n attrs: __assign({ path: path }, lineStyle),\n });\n // area\n // 在 path 的基础上,增加两个坐标点\n if (isArea) {\n var areaPath = linePathToAreaPath(path, width, height);\n this.addShape(group, {\n id: this.getElementId('area'),\n type: 'path',\n attrs: __assign({ path: areaPath }, areaStyle),\n });\n }\n };\n Trend.prototype.applyOffset = function () {\n var _a = this.cfg, x = _a.x, y = _a.y;\n // 统一移动到对应的位置\n this.moveElementTo(this.get('group'), {\n x: x,\n y: y,\n });\n };\n return Trend;\n}(GroupComponent));\nexport { Trend };\nexport default Trend;\n//# sourceMappingURL=trend.js.map","/**\n * 一些默认的样式配置\n */\nexport var BACKGROUND_STYLE = {\n fill: '#416180',\n opacity: 0.05,\n};\nexport var FOREGROUND_STYLE = {\n fill: '#5B8FF9',\n opacity: 0.15,\n cursor: 'move',\n};\nexport var DEFAULT_HANDLER_WIDTH = 10;\nexport var HANDLER_STYLE = {\n width: DEFAULT_HANDLER_WIDTH,\n height: 24,\n};\nexport var TEXT_STYLE = {\n textBaseline: 'middle',\n fill: '#000',\n opacity: 0.45,\n};\nexport var SLIDER_CHANGE = 'sliderchange';\n//# sourceMappingURL=constant.js.map","import { __assign, __extends } from \"tslib\";\nimport GroupComponent from '../abstract/group-component';\nvar DEFAULT_STYLE = {\n fill: '#F7F7F7',\n stroke: '#BFBFBF',\n radius: 2,\n opacity: 1,\n cursor: 'ew-resize',\n // 高亮的颜色\n highLightFill: '#FFF',\n};\nvar Handler = /** @class */ (function (_super) {\n __extends(Handler, _super);\n function Handler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Handler.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'handler', x: 0, y: 0, width: 10, height: 24, style: DEFAULT_STYLE });\n };\n Handler.prototype.renderInner = function (group) {\n var _a = this.cfg, width = _a.width, height = _a.height, style = _a.style;\n var fill = style.fill, stroke = style.stroke, radius = style.radius, opacity = style.opacity, cursor = style.cursor;\n // 按钮框框\n this.addShape(group, {\n type: 'rect',\n id: this.getElementId('background'),\n attrs: {\n x: 0,\n y: 0,\n width: width,\n height: height,\n fill: fill,\n stroke: stroke,\n radius: radius,\n opacity: opacity,\n cursor: cursor,\n },\n });\n // 两根竖线\n var x1 = (1 / 3) * width;\n var x2 = (2 / 3) * width;\n var y1 = (1 / 4) * height;\n var y2 = (3 / 4) * height;\n this.addShape(group, {\n id: this.getElementId('line-left'),\n type: 'line',\n attrs: {\n x1: x1,\n y1: y1,\n x2: x1,\n y2: y2,\n stroke: stroke,\n cursor: cursor,\n },\n });\n this.addShape(group, {\n id: this.getElementId('line-right'),\n type: 'line',\n attrs: {\n x1: x2,\n y1: y1,\n x2: x2,\n y2: y2,\n stroke: stroke,\n cursor: cursor,\n },\n });\n };\n Handler.prototype.applyOffset = function () {\n this.moveElementTo(this.get('group'), {\n x: this.get('x'),\n y: this.get('y'),\n });\n };\n Handler.prototype.initEvent = function () {\n this.bindEvents();\n };\n Handler.prototype.bindEvents = function () {\n var _this = this;\n this.get('group').on('mouseenter', function () {\n var highLightFill = _this.get('style').highLightFill;\n _this.getElementByLocalId('background').attr('fill', highLightFill);\n _this.draw();\n });\n this.get('group').on('mouseleave', function () {\n var fill = _this.get('style').fill;\n _this.getElementByLocalId('background').attr('fill', fill);\n _this.draw();\n });\n };\n Handler.prototype.draw = function () {\n var canvas = this.get('container').get('canvas');\n if (canvas) {\n canvas.draw();\n }\n };\n return Handler;\n}(GroupComponent));\nexport { Handler };\nexport default Handler;\n//# sourceMappingURL=handler.js.map","import { __assign, __extends } from \"tslib\";\nimport { clamp, each, get, isArray, isNil, size } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nimport { Trend } from '../trend/trend';\nimport { BACKGROUND_STYLE, DEFAULT_HANDLER_WIDTH, FOREGROUND_STYLE, HANDLER_STYLE, SLIDER_CHANGE, TEXT_STYLE, } from './constant';\nimport { Handler } from './handler';\nvar Slider = /** @class */ (function (_super) {\n __extends(Slider, _super);\n function Slider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.onMouseDown = function (target) { return function (e) {\n _this.currentTarget = target;\n // 取出原生事件\n var event = e.originalEvent;\n // 2. 存储当前点击位置\n event.stopPropagation();\n event.preventDefault();\n // 兼容移动端获取数据\n _this.prevX = get(event, 'touches.0.pageX', event.pageX);\n _this.prevY = get(event, 'touches.0.pageY', event.pageY);\n // 3. 开始滑动的时候,绑定 move 和 up 事件\n var containerDOM = _this.getContainerDOM();\n containerDOM.addEventListener('mousemove', _this.onMouseMove);\n containerDOM.addEventListener('mouseup', _this.onMouseUp);\n containerDOM.addEventListener('mouseleave', _this.onMouseUp);\n // 移动端事件\n containerDOM.addEventListener('touchmove', _this.onMouseMove);\n containerDOM.addEventListener('touchend', _this.onMouseUp);\n containerDOM.addEventListener('touchcancel', _this.onMouseUp);\n }; };\n _this.onMouseMove = function (event) {\n var width = _this.cfg.width;\n var originValue = [_this.get('start'), _this.get('end')];\n // 滑动过程中,计算偏移,更新滑块,然后 emit 数据出去\n event.stopPropagation();\n event.preventDefault();\n var x = get(event, 'touches.0.pageX', event.pageX);\n var y = get(event, 'touches.0.pageY', event.pageY);\n // 横向的 slider 只处理 x\n var offsetX = x - _this.prevX;\n var offsetXRange = _this.adjustOffsetRange(offsetX / width);\n // 更新 start end range 范围\n _this.updateStartEnd(offsetXRange);\n // 更新 ui\n _this.updateUI(_this.getElementByLocalId('foreground'), _this.getElementByLocalId('minText'), _this.getElementByLocalId('maxText'));\n _this.prevX = x;\n _this.prevY = y;\n _this.draw();\n // 因为存储的 start、end 可能不一定是按大小存储的,所以排序一下,对外是 end >= start\n _this.emit(SLIDER_CHANGE, [_this.get('start'), _this.get('end')].sort());\n _this.delegateEmit('valuechanged', {\n originValue: originValue,\n value: [_this.get('start'), _this.get('end')],\n });\n };\n _this.onMouseUp = function () {\n // 结束之后,取消绑定的事件\n if (_this.currentTarget) {\n _this.currentTarget = undefined;\n }\n var containerDOM = _this.getContainerDOM();\n if (containerDOM) {\n containerDOM.removeEventListener('mousemove', _this.onMouseMove);\n containerDOM.removeEventListener('mouseup', _this.onMouseUp);\n // 防止滑动到 canvas 外部之后,状态丢失\n containerDOM.removeEventListener('mouseleave', _this.onMouseUp);\n // 移动端事件\n containerDOM.removeEventListener('touchmove', _this.onMouseMove);\n containerDOM.removeEventListener('touchend', _this.onMouseUp);\n containerDOM.removeEventListener('touchcancel', _this.onMouseUp);\n }\n };\n return _this;\n }\n Slider.prototype.setRange = function (min, max) {\n this.set('minLimit', min);\n this.set('maxLimit', max);\n var oldStart = this.get('start');\n var oldEnd = this.get('end');\n var newStart = clamp(oldStart, min, max);\n var newEnd = clamp(oldEnd, min, max);\n if (!this.get('isInit') && (oldStart !== newStart || oldEnd !== newEnd)) {\n this.setValue([newStart, newEnd]);\n }\n };\n Slider.prototype.getRange = function () {\n return {\n min: this.get('minLimit') || 0,\n max: this.get('maxLimit') || 1,\n };\n };\n Slider.prototype.setValue = function (value) {\n var range = this.getRange();\n if (isArray(value) && value.length === 2) {\n var originValue = [this.get('start'), this.get('end')];\n this.update({\n start: clamp(value[0], range.min, range.max),\n end: clamp(value[1], range.min, range.max),\n });\n if (!this.get('updateAutoRender')) {\n this.render();\n }\n this.delegateEmit('valuechanged', {\n originValue: originValue,\n value: value,\n });\n }\n };\n Slider.prototype.getValue = function () {\n return [this.get('start'), this.get('end')];\n };\n Slider.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'slider', x: 0, y: 0, width: 100, height: 16, backgroundStyle: {}, foregroundStyle: {}, handlerStyle: {}, textStyle: {}, defaultCfg: {\n backgroundStyle: BACKGROUND_STYLE,\n foregroundStyle: FOREGROUND_STYLE,\n handlerStyle: HANDLER_STYLE,\n textStyle: TEXT_STYLE,\n } });\n };\n Slider.prototype.update = function (cfg) {\n var start = cfg.start, end = cfg.end;\n var validCfg = __assign({}, cfg);\n if (!isNil(start)) {\n validCfg.start = clamp(start, 0, 1);\n }\n if (!isNil(end)) {\n validCfg.end = clamp(end, 0, 1);\n }\n _super.prototype.update.call(this, validCfg);\n this.minHandler = this.getChildComponentById(this.getElementId('minHandler'));\n this.maxHandler = this.getChildComponentById(this.getElementId('maxHandler'));\n };\n Slider.prototype.init = function () {\n this.set('start', clamp(this.get('start'), 0, 1));\n this.set('end', clamp(this.get('end'), 0, 1));\n _super.prototype.init.call(this);\n };\n Slider.prototype.renderInner = function (group) {\n var _a = this.cfg, start = _a.start, end = _a.end, width = _a.width, height = _a.height, _b = _a.trendCfg, trendCfg = _b === void 0 ? {} : _b, minText = _a.minText, maxText = _a.maxText, _c = _a.backgroundStyle, backgroundStyle = _c === void 0 ? {} : _c, _d = _a.foregroundStyle, foregroundStyle = _d === void 0 ? {} : _d, _e = _a.textStyle, textStyle = _e === void 0 ? {} : _e, _f = _a.handlerStyle, handlerStyle = _f === void 0 ? {} : _f;\n var min = start * width;\n var max = end * width;\n // 趋势图数据\n if (size(get(trendCfg, 'data'))) {\n this.addComponent(group, __assign({ component: Trend, id: this.getElementId('trend'), x: 0, y: 0, width: width,\n height: height }, trendCfg));\n }\n // 1. 背景\n this.addShape(group, {\n id: this.getElementId('background'),\n type: 'rect',\n attrs: __assign({ x: 0, y: 0, width: width,\n height: height }, backgroundStyle),\n });\n // 2. 左右文字\n var minTextShape = this.addShape(group, {\n id: this.getElementId('minText'),\n type: 'text',\n attrs: __assign({ \n // x: 0,\n y: height / 2, textAlign: 'right', text: minText, silent: false }, textStyle),\n });\n var maxTextShape = this.addShape(group, {\n id: this.getElementId('maxText'),\n type: 'text',\n attrs: __assign({ \n // x: 0,\n y: height / 2, textAlign: 'left', text: maxText, silent: false }, textStyle),\n });\n // 3. 前景 选中背景框\n var foregroundShape = this.addShape(group, {\n id: this.getElementId('foreground'),\n name: 'foreground',\n type: 'rect',\n attrs: __assign({ \n // x: 0,\n y: 0, \n // width: 0,\n height: height }, foregroundStyle),\n });\n // 滑块相关的大小信息\n // const handlerWidth = get(handlerStyle, 'width', 10);\n var handlerHeight = get(handlerStyle, 'height', 24);\n // 4. 左右滑块\n this.minHandler = this.addComponent(group, __assign({ component: Handler, id: this.getElementId('minHandler'), name: 'handler-min', x: 0, y: (height - handlerHeight) / 2, width: width, height: handlerHeight, cursor: 'ew-resize' }, handlerStyle));\n this.maxHandler = this.addComponent(group, __assign({ component: Handler, id: this.getElementId('maxHandler'), name: 'handler-max', x: 0, y: (height - handlerHeight) / 2, width: width, height: handlerHeight, cursor: 'ew-resize' }, handlerStyle));\n this.updateUI(foregroundShape, minTextShape, maxTextShape);\n };\n Slider.prototype.applyOffset = function () {\n this.moveElementTo(this.get('group'), {\n x: this.get('x'),\n y: this.get('y'),\n });\n };\n Slider.prototype.initEvent = function () {\n this.bindEvents();\n };\n Slider.prototype.updateUI = function (foregroundShape, minTextShape, maxTextShape) {\n var _a = this.cfg, start = _a.start, end = _a.end, width = _a.width, minText = _a.minText, maxText = _a.maxText, handlerStyle = _a.handlerStyle;\n var min = start * width;\n var max = end * width;\n // 1. foreground\n foregroundShape.attr('x', min);\n foregroundShape.attr('width', max - min);\n // 滑块相关的大小信息\n var handlerWidth = get(handlerStyle, 'width', DEFAULT_HANDLER_WIDTH);\n // 设置文本\n minTextShape.attr('text', minText);\n maxTextShape.attr('text', maxText);\n var _b = this._dodgeText([min, max], minTextShape, maxTextShape), minAttrs = _b[0], maxAttrs = _b[1];\n // 2. 左侧滑块和文字位置\n if (this.minHandler) {\n this.minHandler.update({\n x: min - handlerWidth / 2,\n });\n if (!this.get('updateAutoRender')) {\n this.minHandler.render();\n }\n }\n each(minAttrs, function (v, k) { return minTextShape.attr(k, v); });\n // 3. 右侧滑块和文字位置\n if (this.maxHandler) {\n this.maxHandler.update({\n x: max - handlerWidth / 2,\n });\n if (!this.get('updateAutoRender')) {\n this.maxHandler.render();\n }\n }\n each(maxAttrs, function (v, k) { return maxTextShape.attr(k, v); });\n };\n Slider.prototype.bindEvents = function () {\n var group = this.get('group');\n group.on('handler-min:mousedown', this.onMouseDown('minHandler'));\n group.on('handler-min:touchstart', this.onMouseDown('minHandler'));\n // 2. 右滑块的滑动\n group.on('handler-max:mousedown', this.onMouseDown('maxHandler'));\n group.on('handler-max:touchstart', this.onMouseDown('maxHandler'));\n // 3. 前景选中区域\n var foreground = group.findById(this.getElementId('foreground'));\n foreground.on('mousedown', this.onMouseDown('foreground'));\n foreground.on('touchstart', this.onMouseDown('foreground'));\n };\n /**\n * 调整 offsetRange,因为一些范围的限制\n * @param offsetRange\n */\n Slider.prototype.adjustOffsetRange = function (offsetRange) {\n var _a = this.cfg, start = _a.start, end = _a.end;\n // 针对不同的滑动组件,处理的方式不同\n switch (this.currentTarget) {\n case 'minHandler': {\n var min = 0 - start;\n var max = 1 - start;\n return Math.min(max, Math.max(min, offsetRange));\n }\n case 'maxHandler': {\n var min = 0 - end;\n var max = 1 - end;\n return Math.min(max, Math.max(min, offsetRange));\n }\n case 'foreground': {\n var min = 0 - start;\n var max = 1 - end;\n return Math.min(max, Math.max(min, offsetRange));\n }\n }\n };\n Slider.prototype.updateStartEnd = function (offsetRange) {\n var _a = this.cfg, start = _a.start, end = _a.end;\n // 操作不同的组件,反馈不一样\n switch (this.currentTarget) {\n case 'minHandler':\n start += offsetRange;\n break;\n case 'maxHandler':\n end += offsetRange;\n break;\n case 'foreground':\n start += offsetRange;\n end += offsetRange;\n break;\n }\n this.set('start', start);\n this.set('end', end);\n };\n /**\n * 调整 text 的位置,自动躲避\n * 根据位置,调整返回新的位置\n * @param range\n */\n Slider.prototype._dodgeText = function (range, minTextShape, maxTextShape) {\n var _a, _b;\n var _c = this.cfg, handlerStyle = _c.handlerStyle, width = _c.width;\n var PADDING = 2;\n var handlerWidth = get(handlerStyle, 'width', DEFAULT_HANDLER_WIDTH);\n var min = range[0], max = range[1];\n var sorted = false;\n // 如果交换了位置,则对应的 min max 也交互\n if (min > max) {\n _a = [max, min], min = _a[0], max = _a[1];\n _b = [maxTextShape, minTextShape], minTextShape = _b[0], maxTextShape = _b[1];\n sorted = true;\n }\n // 避让规则,优先显示在两侧,只有显示不下的时候,才显示在中间\n var minBBox = minTextShape.getBBox();\n var maxBBox = maxTextShape.getBBox();\n var minAttrs = minBBox.width > min - PADDING\n ? { x: min + handlerWidth / 2 + PADDING, textAlign: 'left' }\n : { x: min - handlerWidth / 2 - PADDING, textAlign: 'right' };\n var maxAttrs = maxBBox.width > width - max - PADDING\n ? { x: max - handlerWidth / 2 - PADDING, textAlign: 'right' }\n : { x: max + handlerWidth / 2 + PADDING, textAlign: 'left' };\n return !sorted ? [minAttrs, maxAttrs] : [maxAttrs, minAttrs];\n };\n Slider.prototype.draw = function () {\n var container = this.get('container');\n var canvas = container && container.get('canvas');\n if (canvas) {\n canvas.draw();\n }\n };\n Slider.prototype.getContainerDOM = function () {\n var container = this.get('container');\n var canvas = container && container.get('canvas');\n return canvas && canvas.get('container');\n };\n return Slider;\n}(GroupComponent));\nexport { Slider };\nexport default Slider;\n//# sourceMappingURL=slider.js.map","import { __assign, __extends } from \"tslib\";\nimport { addEventListener } from '@antv/dom-util';\nimport { clamp, get, noop } from '@antv/util';\nimport GroupComponent from '../abstract/group-component';\nvar DEFAULT_STYLE = {\n trackColor: 'rgba(0,0,0,0)',\n thumbColor: 'rgba(0,0,0,0.15)',\n size: 8,\n lineCap: 'round',\n};\nexport var DEFAULT_THEME = {\n // 默认样式\n default: DEFAULT_STYLE,\n // 鼠标 hover 的样式\n hover: {\n thumbColor: 'rgba(0,0,0,0.2)',\n },\n};\nvar Scrollbar = /** @class */ (function (_super) {\n __extends(Scrollbar, _super);\n function Scrollbar() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.clearEvents = noop;\n _this.onStartEvent = function (isMobile) { return function (e) {\n _this.isMobile = isMobile;\n e.originalEvent.preventDefault();\n var clientX = isMobile ? get(e.originalEvent, 'touches.0.clientX') : e.clientX;\n var clientY = isMobile ? get(e.originalEvent, 'touches.0.clientY') : e.clientY;\n // 将开始的点记录下来\n _this.startPos = _this.cfg.isHorizontal ? clientX : clientY;\n _this.bindLaterEvent();\n }; };\n _this.bindLaterEvent = function () {\n var containerDOM = _this.getContainerDOM();\n var events = [];\n if (_this.isMobile) {\n events = [\n addEventListener(containerDOM, 'touchmove', _this.onMouseMove),\n addEventListener(containerDOM, 'touchend', _this.onMouseUp),\n addEventListener(containerDOM, 'touchcancel', _this.onMouseUp),\n ];\n }\n else {\n events = [\n addEventListener(containerDOM, 'mousemove', _this.onMouseMove),\n addEventListener(containerDOM, 'mouseup', _this.onMouseUp),\n // 为了保证划出 canvas containerDom 时还没触发 mouseup\n addEventListener(containerDOM, 'mouseleave', _this.onMouseUp),\n ];\n }\n _this.clearEvents = function () {\n events.forEach(function (e) {\n e.remove();\n });\n };\n };\n // 拖拽滑块的事件回调\n // 这里是 dom 原生事件,绑定在 dom 元素上的\n _this.onMouseMove = function (e) {\n var _a = _this.cfg, isHorizontal = _a.isHorizontal, thumbOffset = _a.thumbOffset;\n e.preventDefault();\n var clientX = _this.isMobile ? get(e, 'touches.0.clientX') : e.clientX;\n var clientY = _this.isMobile ? get(e, 'touches.0.clientY') : e.clientY;\n // 鼠标松开的位置\n var endPos = isHorizontal ? clientX : clientY;\n // 滑块需要移动的距离, 由于这里是对滑块监听,所以移动的距离就是 diffDis, 如果监听对象是 container dom,则需要算比例\n var diff = endPos - _this.startPos;\n // 更新 _startPos\n _this.startPos = endPos;\n _this.updateThumbOffset(thumbOffset + diff);\n };\n _this.onMouseUp = function (e) {\n e.preventDefault();\n _this.clearEvents();\n };\n // 点击滑道的事件回调,移动滑块位置\n _this.onTrackClick = function (e) {\n var _a = _this.cfg, isHorizontal = _a.isHorizontal, x = _a.x, y = _a.y, thumbLen = _a.thumbLen;\n var containerDOM = _this.getContainerDOM();\n var rect = containerDOM.getBoundingClientRect();\n var clientX = e.clientX, clientY = e.clientY;\n var offset = isHorizontal ? clientX - rect.left - x - thumbLen / 2 : clientY - rect.top - y - thumbLen / 2;\n var newOffset = _this.validateRange(offset);\n _this.updateThumbOffset(newOffset);\n };\n _this.onThumbMouseOver = function () {\n var thumbColor = _this.cfg.theme.hover.thumbColor;\n _this.getElementByLocalId('thumb').attr('stroke', thumbColor);\n _this.draw();\n };\n _this.onThumbMouseOut = function () {\n var thumbColor = _this.cfg.theme.default.thumbColor;\n _this.getElementByLocalId('thumb').attr('stroke', thumbColor);\n _this.draw();\n };\n return _this;\n }\n Scrollbar.prototype.setRange = function (min, max) {\n this.set('minLimit', min);\n this.set('maxLimit', max);\n var curValue = this.getValue();\n var newValue = clamp(curValue, min, max);\n if (curValue !== newValue && !this.get('isInit')) {\n this.setValue(newValue);\n }\n };\n Scrollbar.prototype.getRange = function () {\n var min = this.get('minLimit') || 0;\n var max = this.get('maxLimit') || 1;\n return { min: min, max: max };\n };\n Scrollbar.prototype.setValue = function (value) {\n var range = this.getRange();\n var originalValue = this.getValue();\n this.update({\n thumbOffset: (this.get('trackLen') - this.get('thumbLen')) * clamp(value, range.min, range.max),\n });\n this.delegateEmit('valuechange', {\n originalValue: originalValue,\n value: this.getValue(),\n });\n };\n Scrollbar.prototype.getValue = function () {\n return clamp(this.get('thumbOffset') / (this.get('trackLen') - this.get('thumbLen')), 0, 1);\n };\n Scrollbar.prototype.getDefaultCfg = function () {\n var cfg = _super.prototype.getDefaultCfg.call(this);\n return __assign(__assign({}, cfg), { name: 'scrollbar', isHorizontal: true, minThumbLen: 20, thumbOffset: 0, theme: DEFAULT_THEME });\n };\n Scrollbar.prototype.renderInner = function (group) {\n this.renderTrackShape(group);\n this.renderThumbShape(group);\n };\n Scrollbar.prototype.applyOffset = function () {\n this.moveElementTo(this.get('group'), {\n x: this.get('x'),\n y: this.get('y'),\n });\n };\n Scrollbar.prototype.initEvent = function () {\n this.bindEvents();\n };\n // 创建滑道的 shape\n Scrollbar.prototype.renderTrackShape = function (group) {\n var _a = this.cfg, trackLen = _a.trackLen, _b = _a.theme, theme = _b === void 0 ? { default: {} } : _b;\n var _c = theme.default, lineCap = _c.lineCap, trackColor = _c.trackColor, size = _c.size;\n var attrs = this.get('isHorizontal')\n ? {\n x1: 0 + size / 2,\n y1: size / 2,\n x2: trackLen - size / 2,\n y2: size / 2,\n lineWidth: size,\n stroke: trackColor,\n lineCap: lineCap,\n }\n : {\n x1: size / 2,\n y1: 0 + size / 2,\n x2: size / 2,\n y2: trackLen - size / 2,\n lineWidth: size,\n stroke: trackColor,\n lineCap: lineCap,\n };\n return this.addShape(group, {\n id: this.getElementId('track'),\n name: 'track',\n type: 'line',\n attrs: attrs,\n });\n };\n // 创建滑块的 shape\n Scrollbar.prototype.renderThumbShape = function (group) {\n var _a = this.cfg, thumbOffset = _a.thumbOffset, thumbLen = _a.thumbLen, _b = _a.theme, theme = _b === void 0 ? { default: {} } : _b;\n var _c = theme.default, size = _c.size, lineCap = _c.lineCap, thumbColor = _c.thumbColor;\n var attrs = this.get('isHorizontal')\n ? {\n x1: thumbOffset + size / 2,\n y1: size / 2,\n x2: thumbOffset + thumbLen - size / 2,\n y2: size / 2,\n lineWidth: size,\n stroke: thumbColor,\n lineCap: lineCap,\n cursor: 'default',\n }\n : {\n x1: size / 2,\n y1: thumbOffset + size / 2,\n x2: size / 2,\n y2: thumbOffset + thumbLen - size / 2,\n lineWidth: size,\n stroke: thumbColor,\n lineCap: lineCap,\n cursor: 'default',\n };\n return this.addShape(group, {\n id: this.getElementId('thumb'),\n name: 'thumb',\n type: 'line',\n attrs: attrs,\n });\n };\n Scrollbar.prototype.bindEvents = function () {\n var group = this.get('group');\n group.on('mousedown', this.onStartEvent(false));\n group.on('mouseup', this.onMouseUp);\n group.on('touchstart', this.onStartEvent(true));\n group.on('touchend', this.onMouseUp);\n var trackShape = group.findById(this.getElementId('track'));\n trackShape.on('click', this.onTrackClick);\n var thumbShape = group.findById(this.getElementId('thumb'));\n thumbShape.on('mouseover', this.onThumbMouseOver);\n thumbShape.on('mouseout', this.onThumbMouseOut);\n };\n Scrollbar.prototype.getContainerDOM = function () {\n var container = this.get('container');\n var canvas = container && container.get('canvas');\n return canvas && canvas.get('container');\n };\n Scrollbar.prototype.validateRange = function (offset) {\n var _a = this.cfg, thumbLen = _a.thumbLen, trackLen = _a.trackLen;\n var newOffset = offset;\n if (offset + thumbLen > trackLen) {\n newOffset = trackLen - thumbLen;\n }\n else if (offset + thumbLen < thumbLen) {\n newOffset = 0;\n }\n return newOffset;\n };\n Scrollbar.prototype.draw = function () {\n var container = this.get('container');\n var canvas = container && container.get('canvas');\n if (canvas) {\n canvas.draw();\n }\n };\n Scrollbar.prototype.updateThumbOffset = function (offset) {\n var _a = this.cfg, thumbOffset = _a.thumbOffset, isHorizontal = _a.isHorizontal, thumbLen = _a.thumbLen, size = _a.size;\n var newOffset = this.validateRange(offset);\n if (newOffset === thumbOffset) {\n // 如果更新后的 offset 与原值相同,则不改变\n return;\n }\n var thumbShape = this.getElementByLocalId('thumb');\n if (isHorizontal) {\n thumbShape.attr({\n x1: newOffset + size / 2,\n x2: newOffset + thumbLen - size / 2,\n });\n }\n else {\n thumbShape.attr({\n y1: newOffset + size / 2,\n y2: newOffset + thumbLen - size / 2,\n });\n }\n this.emitOffsetChange(newOffset);\n };\n Scrollbar.prototype.emitOffsetChange = function (offset) {\n var _a = this.cfg, originalValue = _a.thumbOffset, trackLen = _a.trackLen, thumbLen = _a.thumbLen;\n this.cfg.thumbOffset = offset;\n // 发送事件\n this.emit('scrollchange', {\n thumbOffset: offset,\n ratio: clamp(offset / (trackLen - thumbLen), 0, 1),\n });\n this.delegateEmit('valuechange', {\n originalValue: originalValue,\n value: offset,\n });\n };\n return Scrollbar;\n}(GroupComponent));\nexport { Scrollbar };\n//# sourceMappingURL=scrollbar.js.map","import Area from './area/index';\nimport Interval from './interval/index';\nimport Line from './line/index';\nimport Point from './point/index';\n/**\n * 将element的配置逻辑拆离出来,并将每类element细分为主体图形、辅助图形、mini图形三种\n * 这样也方便未来更灵活的调用和组装g2的element模块\n */\n\nconst GEOMETRY_MAP = {\n area: Area,\n line: Line,\n point: Point,\n interval: Interval,\n};\n\ntype FirstCtrParam = T extends new (first: infer R) => any ? R : never;\n\ntype MapType = typeof GEOMETRY_MAP;\n\nexport function getGeom(\n name: T,\n type: U,\n cfg: FirstCtrParam\n) {\n const Geom: any = GEOMETRY_MAP[name][type];\n return new Geom(cfg).config;\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar util_1 = require(\"./util\");\nvar vec2 = require(\"gl-matrix/vec2\");\nexports.default = {\n /**\n * 计算线段的包围盒\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @return {object} 包围盒对象\n */\n box: function (x1, y1, x2, y2) {\n return util_1.getBBoxByArray([x1, x2], [y1, y2]);\n },\n /**\n * 线段的长度\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @return {number} 距离\n */\n length: function (x1, y1, x2, y2) {\n return util_1.distance(x1, y1, x2, y2);\n },\n /**\n * 根据比例获取点\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @param {number} t 指定比例\n * @return {object} 包含 x, y 的点\n */\n pointAt: function (x1, y1, x2, y2, t) {\n return {\n x: (1 - t) * x1 + t * x2,\n y: (1 - t) * y1 + t * y2,\n };\n },\n /**\n * 点到线段的距离\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @param {number} x 测试点 x\n * @param {number} y 测试点 y\n * @return {number} 距离\n */\n pointDistance: function (x1, y1, x2, y2, x, y) {\n // 投影距离 x1, y1 的向量,假设 p, p1, p2 三个点,投影点为 a\n // p1a = p1p.p1p2/|p1p2| * (p1p 的单位向量)\n var cross = (x2 - x1) * (x - x1) + (y2 - y1) * (y - y1);\n if (cross < 0) {\n return util_1.distance(x1, y1, x, y);\n }\n var lengthSquare = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);\n if (cross > lengthSquare) {\n return util_1.distance(x2, y2, x, y);\n }\n return this.pointToLine(x1, y1, x2, y2, x, y);\n },\n /**\n * 点到直线的距离,而不是点到线段的距离\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @param {number} x 测试点 x\n * @param {number} y 测试点 y\n * @return {number} 距离\n */\n pointToLine: function (x1, y1, x2, y2, x, y) {\n var d = [x2 - x1, y2 - y1];\n // 如果端点相等,则判定点到点的距离\n if (vec2.exactEquals(d, [0, 0])) {\n return Math.sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1));\n }\n var u = [-d[1], d[0]];\n vec2.normalize(u, u);\n var a = [x - x1, y - y1];\n return Math.abs(vec2.dot(a, u));\n },\n /**\n * 线段的角度\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @return {number} 导数\n */\n tangentAngle: function (x1, y1, x2, y2) {\n return Math.atan2(y2 - y1, x2 - x1);\n },\n};\n//# sourceMappingURL=line.js.map","import { __assign, __rest } from \"tslib\";\nimport { Path } from '../shape';\nvar sin = Math.sin, cos = Math.cos, atan2 = Math.atan2, PI = Math.PI;\nfunction _addDefaultArrow(shape, attrs, x1, y1, x2, y2, isStart) {\n var stroke = attrs.stroke, lineWidth = attrs.lineWidth;\n var x = x1 - x2;\n var y = y1 - y2;\n var rad = atan2(y, x);\n var arrowShape = new Path({\n type: 'path',\n canvas: shape.get('canvas'),\n isArrowShape: true,\n attrs: {\n // 默认箭头的边长为 10,夹角为 60 度\n path: \"M\" + 10 * cos(PI / 6) + \",\" + 10 * sin(PI / 6) + \" L0,0 L\" + 10 * cos(PI / 6) + \",-\" + 10 * sin(PI / 6),\n // 使用 shape stroke 值\n stroke: stroke,\n lineWidth: lineWidth,\n },\n });\n arrowShape.translate(x2, y2);\n arrowShape.rotateAtPoint(x2, y2, rad);\n shape.set(isStart ? 'startArrowShape' : 'endArrowShape', arrowShape);\n}\n/**\n * 箭头 path 的设置要求\n * 1. 箭头顶点坐标需要为 (0, 0)\n * 2. 箭头夹角的中心分割线需要与 X 轴正方向对齐\n */\nfunction _addCustomizedArrow(shape, attrs, x1, y1, x2, y2, isStart) {\n var startArrow = attrs.startArrow, endArrow = attrs.endArrow, stroke = attrs.stroke, lineWidth = attrs.lineWidth;\n var arrowAttrs = isStart ? startArrow : endArrow;\n var d = arrowAttrs.d, arrowFill = arrowAttrs.fill, arrowStroke = arrowAttrs.stroke, arrowLineWidth = arrowAttrs.lineWidth, restAttrs = __rest(arrowAttrs, [\"d\", \"fill\", \"stroke\", \"lineWidth\"]);\n var x = x1 - x2;\n var y = y1 - y2;\n var rad = atan2(y, x);\n if (d) {\n x2 = x2 - cos(rad) * d;\n y2 = y2 - sin(rad) * d;\n }\n var arrowShape = new Path({\n type: 'path',\n canvas: shape.get('canvas'),\n isArrowShape: true,\n attrs: __assign(__assign({}, restAttrs), { \n // 支持单独设置箭头的 stroke 和 lineWidth,若为空则使用 shape 的值\n stroke: arrowStroke || stroke, lineWidth: arrowLineWidth || lineWidth, \n // 箭头是否填充需要手动设置,不会继承自 shape 的值\n fill: arrowFill }),\n });\n arrowShape.translate(x2, y2);\n arrowShape.rotateAtPoint(x2, y2, rad);\n shape.set(isStart ? 'startArrowShape' : 'endArrowShape', arrowShape);\n}\n/**\n * 如果自定义箭头并且有 d 需要做偏移,如果直接画,线条会超出箭头尖端,因此需要根据箭头偏移 d, 返回线需要缩短的距离\n * |----------------\n * |<|--------------\n * |\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 箭头作用点 x\n * @param {number} y2 箭头作用点 y\n * @param {number} d 箭头沿线条方向的偏移距离\n * @return {{dx: number, dy: number}} 返回线条偏移距离\n */\nexport function getShortenOffset(x1, y1, x2, y2, d) {\n var rad = atan2(y2 - y1, x2 - x1);\n return {\n dx: cos(rad) * d,\n dy: sin(rad) * d,\n };\n}\n/**\n * 绘制起始箭头\n * @param {IShape} shape 图形\n * @param {ShapeAttrs} attrs shape 的绘图属性\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 箭头作用点 x\n * @param {number} y2 箭头作用点 y\n */\nexport function addStartArrow(shape, attrs, x1, y1, x2, y2) {\n if (typeof attrs.startArrow === 'object') {\n _addCustomizedArrow(shape, attrs, x1, y1, x2, y2, true);\n }\n else if (attrs.startArrow) {\n _addDefaultArrow(shape, attrs, x1, y1, x2, y2, true);\n }\n else {\n shape.set('startArrowShape', null);\n }\n}\n/**\n * 绘制结束箭头\n * @param {IShape} shape 图形\n * @param {ShapeAttrs} attrs shape 的绘图属性\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 箭头作用点 x\n * @param {number} y2 箭头作用点 y\n */\nexport function addEndArrow(shape, attrs, x1, y1, x2, y2) {\n if (typeof attrs.endArrow === 'object') {\n _addCustomizedArrow(shape, attrs, x1, y1, x2, y2, false);\n }\n else if (attrs.endArrow) {\n _addDefaultArrow(shape, attrs, x1, y1, x2, y2, false);\n }\n else {\n shape.set('startArrowShape', null);\n }\n}\n//# sourceMappingURL=arrow.js.map","import { deepMix, each, map, isArray, get, clone, isNumber } from '@antv/util';\nimport ViewLayer from '../../base/view-layer';\nimport BaseComponent, { BaseComponentConfig } from '../base';\nimport {\n IGroup,\n IShape,\n View,\n Geometry,\n Element,\n Coordinate,\n MappingDatum,\n VIEW_LIFE_CIRCLE,\n getDefaultAnimateCfg,\n doAnimate,\n ORIGIN,\n} from '../../dependents';\nimport { Label, TextStyle } from '../../interface/config';\nimport { LooseMap } from '../../interface/types';\nimport BBox from '../../util/bbox';\n\nexport interface LabelComponentConfig extends BaseComponentConfig {\n layer: ViewLayer;\n geometry: Geometry;\n label: Label;\n}\n\nexport interface LabelComponentCtor {\n new (config: T): LabelComponent;\n}\n\nexport default abstract class LabelComponent extends BaseComponent {\n protected layer: ViewLayer;\n protected view: View;\n protected geometry: Geometry;\n protected coord: Coordinate;\n protected options: L;\n protected labels: IShape[];\n private labelsCfgMap: Record = {};\n private lastLabelsCfgMap: Record = {};\n\n public getGeometry() {\n return this.geometry;\n }\n\n public getLabels() {\n return this.labels;\n }\n\n public show() {\n this.container.show();\n }\n\n public hide() {\n this.container.hide();\n }\n\n protected initConfig(config: LabelComponentConfig) {\n this.layer = config.layer;\n const view = this.layer.view;\n this.view = view;\n this.geometry = config.geometry;\n this.coord = view.getCoordinate();\n this.options = deepMix(this.getDefaultOptions(), config.label);\n\n const callback = () => {\n this.clear();\n this.labelsCfgMap = {};\n this.lastLabelsCfgMap = {};\n this.render();\n };\n view.on(VIEW_LIFE_CIRCLE.AFTER_PAINT, callback);\n this.addDisposable(() => {\n view.off(VIEW_LIFE_CIRCLE.AFTER_PAINT, callback);\n });\n }\n\n protected renderInner(group: IGroup) {\n this.labels = [];\n this.labelsCfgMap = {};\n\n // 绘制 Label 图形\n each(this.geometry.elements, (element: Element, elementIdx: number) => {\n const labels = [].concat(this.drawLabelItem(group, element, elementIdx));\n each(labels, (label, idx) => {\n this.adjustLabel(label, element, idx);\n if (!label.destroyed) {\n this.labels.push(label);\n this.labelsCfgMap[label.get('id')] = clone(label.attrs);\n }\n });\n });\n\n // 执行布局\n this.layoutLabels(this.geometry, this.labels);\n\n // 执行动画:参照 G2 Label 动画\n const lastLabelsCfgMap = this.lastLabelsCfgMap;\n const labelsCfgMap = this.labelsCfgMap;\n const animateCfg = this.geometry.animateOption ? getDefaultAnimateCfg('label', this.coord) : false;\n each(labelsCfgMap, (attrs: TextStyle, id: string) => {\n const shape = group.findById(id) as IShape;\n if (shape) {\n if (lastLabelsCfgMap[id]) {\n const oldAttrs = lastLabelsCfgMap[id];\n // 图形发生更新\n const updateAnimateCfg = get(animateCfg, 'update');\n if (updateAnimateCfg) {\n shape.stopAnimate();\n shape.attr(oldAttrs);\n doAnimate(shape, updateAnimateCfg, {\n toAttrs: {\n ...attrs,\n },\n coordinate: this.coord,\n });\n }\n } else {\n // 新生成的 shape\n const appearAnimateCfg = get(animateCfg, 'appear');\n if (appearAnimateCfg) {\n shape.stopAnimate();\n doAnimate(shape, appearAnimateCfg, {\n toAttrs: {\n ...shape.attr(),\n },\n coordinate: this.coord,\n });\n }\n }\n }\n delete lastLabelsCfgMap[id];\n });\n each(lastLabelsCfgMap, (attrs: TextStyle, id) => {\n // 移除\n const leaveAnimateCfg = get(animateCfg, 'leave');\n if (leaveAnimateCfg) {\n const tempShape = group.addShape('text', {\n attrs,\n id,\n name: 'label',\n });\n tempShape.stopAnimate();\n doAnimate(tempShape, leaveAnimateCfg, {\n toAttrs: null,\n coordinate: this.coord,\n });\n }\n });\n this.lastLabelsCfgMap = this.labelsCfgMap;\n }\n\n protected drawLabelText(group: IGroup, attrs: TextStyle, extraCfgs: LooseMap = {}): IShape {\n return group.addShape('text', {\n attrs,\n ...extraCfgs,\n });\n }\n\n protected drawLabelItem(group: IGroup, element: Element, elementIndex: number): IShape | IShape[] {\n const model = element.getModel();\n const items = [].concat(this.getLabelItemAttrs(element, elementIndex));\n const offset = this.getDefaultOffset();\n const offsetPoint = this.getLabelOffset();\n return map(items, (attrs, index) => {\n const position = {\n x: attrs.x + offsetPoint.x,\n y: attrs.y + offsetPoint.y,\n };\n const dataItem = isArray(model.mappingData) ? model.mappingData[index] : model.mappingData;\n const id = this.getLabelId(dataItem);\n return this.drawLabelText(\n group,\n { ...attrs, ...position },\n {\n id,\n name: 'label',\n offset,\n element,\n [ORIGIN]: dataItem,\n }\n );\n });\n }\n\n /** 获取当前 Label 的 offset */\n protected getDefaultOffset() {\n return Number(this.options.offset);\n }\n\n /** 默认实现:获取当前 Label 的 offset 点:包括 offset、offsetX、offsetY */\n protected getLabelOffset() {\n const { offsetX, offsetY } = this.options;\n return {\n x: isNumber(offsetX) ? offsetX : 0,\n y: isNumber(offsetY) ? offsetY : 0,\n };\n }\n\n /** 通过指定方向和系数获取整体 offset 点 */\n protected getLabelOffsetByDimAndFactor(dim: 'x' | 'y', factor: number) {\n const { offsetX, offsetY } = this.options;\n const offset = this.getDefaultOffset();\n const offsetPoint = {\n x: 0,\n y: 0,\n };\n offsetPoint[dim] = offset * factor;\n if (isNumber(offsetX)) {\n offsetPoint.x += offsetX;\n }\n if (isNumber(offsetY)) {\n offsetPoint.y += offsetY;\n }\n return offsetPoint;\n }\n\n /** 初始化默认全局配置 */\n protected getDefaultOptions(): Partial {\n return {};\n }\n\n /** 获取绘制当前 Label 的属性配置 */\n protected abstract getLabelItemAttrs(element: Element, idx: number): TextStyle | TextStyle[];\n\n /** 在当前 Label 绘制之后的调整 */\n protected abstract adjustLabel(label: IShape, element: Element, datumIdx: number): void;\n\n /** 整理对所有 Labels 的布局调整 */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n protected layoutLabels(geometry: Geometry, labels: IShape[]): void {\n // empty\n }\n\n protected getLabelId(data: MappingDatum): string {\n const origin = data._origin;\n const type = this.geometry.type;\n const xScale = this.geometry.getXScale();\n const yScale = this.geometry.getYScale();\n let labelId = this.geometry.getElementId(data);\n if (type === 'line' || type === 'area') {\n // 折线图以及区域图,一条线会对应一组数据,即多个 labels,为了区分这些 labels,需要在 line id 的前提下加上 x 字段值\n labelId += ` ${origin[xScale.field]}`;\n } else if (type === 'path') {\n // path 路径图,无序,有可能存在相同 x 不同 y 的情况,需要通过 x y 来确定唯一 id\n labelId += ` ${origin[xScale.field]}-${origin[yScale.field]}`;\n }\n\n return labelId;\n }\n\n protected getCoordinateBBox() {\n const { coord } = this;\n const { start, end } = coord;\n return new BBox(Math.min(start.x, end.x), Math.min(start.y, end.y), coord.getWidth(), coord.getHeight());\n }\n}\n\n// Label 组件注册\nconst LABEL_CONFIG_MAP: Record = {};\n\nexport function registerLabelComponent(type: string, component: LabelComponentCtor) {\n LABEL_CONFIG_MAP[type] = component;\n}\n\nexport function getLabelComponent(type: string): LabelComponentCtor {\n return LABEL_CONFIG_MAP[type];\n}\n","var methodCache = {};\n/**\n * 获取计算 ticks 的方法\n * @param key 键值\n * @returns 计算 ticks 的方法\n */\nexport function getTickMethod(key) {\n return methodCache[key];\n}\n/**\n * 注册计算 ticks 的方法\n * @param key 键值\n * @param method 方法\n */\nexport function registerTickMethod(key, method) {\n methodCache[key] = method;\n}\n//# sourceMappingURL=register.js.map","import EE from '@antv/event-emitter';\n\ninterface BaseCfg {\n visible?: boolean;\n}\n\n/**\n * G2 Chart、View、Geometry 以及 Element 等的基类,提供事件以及一些通用的方法。\n */\nexport default class Base extends EE {\n /** 是否可见 */\n public visible: boolean;\n /** 标识对象是否已销毁 */\n public destroyed: boolean = false;\n\n constructor(cfg: BaseCfg) {\n super();\n const { visible = true } = cfg;\n this.visible = visible;\n }\n\n /**\n * 显示。\n */\n public show() {\n const visible = this.visible;\n if (!visible) {\n this.changeVisible(true);\n }\n }\n\n /**\n * 隐藏。\n */\n public hide() {\n const visible = this.visible;\n if (visible) {\n this.changeVisible(false);\n }\n }\n\n /**\n * 销毁。\n */\n public destroy() {\n this.off();\n this.destroyed = true;\n }\n\n /**\n * 显示或者隐藏。\n * @param visible\n * @returns\n */\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n this.visible = visible;\n }\n}\n","import { __extends, __spreadArrays } from \"tslib\";\nimport { indexOf, isNil, isNumber } from '@antv/util';\nimport Base from '../base';\n/**\n * 分类度量\n * @class\n */\nvar Category = /** @class */ (function (_super) {\n __extends(Category, _super);\n function Category() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'cat';\n _this.isCategory = true;\n return _this;\n }\n Category.prototype.translate = function (value) {\n var index = indexOf(this.values, value);\n if (index === -1) {\n return isNumber(value) ? value : NaN;\n }\n return index;\n };\n Category.prototype.scale = function (value) {\n var order = this.translate(value);\n // 分类数据允许 0.5 范围内调整\n // if (order < this.min - 0.5 || order > this.max + 0.5) {\n // return NaN;\n // }\n var percent = this.calcPercent(order, this.min, this.max);\n return this.calcValue(percent, this.rangeMin(), this.rangeMax());\n };\n Category.prototype.invert = function (scaledValue) {\n var domainRange = this.max - this.min;\n var percent = this.calcPercent(scaledValue, this.rangeMin(), this.rangeMax());\n var idx = Math.round(domainRange * percent) + this.min;\n if (idx < this.min || idx > this.max) {\n return NaN;\n }\n return this.values[idx];\n };\n Category.prototype.getText = function (value) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var v = value;\n // value为index\n if (isNumber(value) && !this.values.includes(value)) {\n v = this.values[v];\n }\n return _super.prototype.getText.apply(this, __spreadArrays([v], args));\n };\n // 复写属性\n Category.prototype.initCfg = function () {\n this.tickMethod = 'cat';\n };\n // 设置 min, max\n Category.prototype.setDomain = function () {\n // 用户有可能设置 min\n if (isNil(this.getConfig('min'))) {\n this.min = 0;\n }\n if (isNil(this.getConfig('max'))) {\n var size = this.values.length;\n this.max = size > 1 ? size - 1 : size;\n }\n };\n return Category;\n}(Base));\nexport default Category;\n//# sourceMappingURL=base.js.map","import { isDate, isString, last } from '@antv/util';\nimport fecha from 'fecha';\nimport * as fecha1 from 'fecha';\nimport bisector from './bisector';\nvar FORMAT_METHOD = 'format';\nexport function timeFormat(time, mask) {\n var method = fecha1[FORMAT_METHOD] || fecha[FORMAT_METHOD];\n return method(time, mask);\n}\n/**\n * 转换成时间戳\n * @param value 时间值\n */\nexport function toTimeStamp(value) {\n if (isString(value)) {\n if (value.indexOf('T') > 0) {\n value = new Date(value).getTime();\n }\n else {\n // new Date('2010/01/10') 和 new Date('2010-01-10') 的差别在于:\n // 如果仅有年月日时,前者是带有时区的: Fri Jan 10 2020 02:40:13 GMT+0800 (中国标准时间)\n // 后者会格式化成 Sun Jan 10 2010 08:00:00 GMT+0800 (中国标准时间)\n value = new Date(value.replace(/-/gi, '/')).getTime();\n }\n }\n if (isDate(value)) {\n value = value.getTime();\n }\n return value;\n}\nvar SECOND = 1000;\nvar MINUTE = 60 * SECOND;\nvar HOUR = 60 * MINUTE;\nvar DAY = 24 * HOUR;\nvar MONTH = DAY * 31;\nvar YEAR = DAY * 365;\nexport { SECOND, MINUTE, HOUR, DAY, MONTH, YEAR };\nvar intervals = [\n ['HH:mm:ss', SECOND],\n ['HH:mm:ss', SECOND * 10],\n ['HH:mm:ss', SECOND * 30],\n ['HH:mm', MINUTE],\n ['HH:mm', MINUTE * 10],\n ['HH:mm', MINUTE * 30],\n ['HH', HOUR],\n ['HH', HOUR * 6],\n ['HH', HOUR * 12],\n ['YYYY-MM-DD', DAY],\n ['YYYY-MM-DD', DAY * 4],\n ['YYYY-WW', DAY * 7],\n ['YYYY-MM', MONTH],\n ['YYYY-MM', MONTH * 4],\n ['YYYY-MM', MONTH * 6],\n ['YYYY', DAY * 380],\n];\nexport function getTickInterval(min, max, tickCount) {\n var target = (max - min) / tickCount;\n var idx = bisector(function (o) { return o[1]; })(intervals, target) - 1;\n var interval = intervals[idx];\n if (idx < 0) {\n interval = intervals[0];\n }\n else if (idx >= intervals.length) {\n interval = last(intervals);\n }\n return interval;\n}\n//# sourceMappingURL=time.js.map","import { isNil } from '@antv/util';\n/**\n * 二分右侧查找\n * https://github.com/d3/d3-array/blob/master/src/bisector.js\n */\nexport default function (getter) {\n /**\n * x: 目标值\n * lo: 起始位置\n * hi: 结束位置\n */\n return function (a, x, _lo, _hi) {\n var lo = isNil(_lo) ? 0 : _lo;\n var hi = isNil(_hi) ? a.length : _hi;\n while (lo < hi) {\n var mid = (lo + hi) >>> 1;\n if (getter(a[mid]) > x) {\n hi = mid;\n }\n else {\n lo = mid + 1;\n }\n }\n return lo;\n };\n}\n//# sourceMappingURL=bisector.js.map","import { __extends } from \"tslib\";\nimport { each, isNumber } from '@antv/util';\nimport { timeFormat, toTimeStamp } from '../util/time';\nimport Category from './base';\n/**\n * 时间分类度量\n * @class\n */\nvar TimeCat = /** @class */ (function (_super) {\n __extends(TimeCat, _super);\n function TimeCat() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'timeCat';\n return _this;\n }\n /**\n * @override\n */\n TimeCat.prototype.translate = function (value) {\n value = toTimeStamp(value);\n var index = this.values.indexOf(value);\n if (index === -1) {\n if (isNumber(value) && value < this.values.length) {\n index = value;\n }\n else {\n index = NaN;\n }\n }\n return index;\n };\n /**\n * 由于时间类型数据需要转换一下,所以复写 getText\n * @override\n */\n TimeCat.prototype.getText = function (value, tickIndex) {\n var index = this.translate(value);\n if (index > -1) {\n var result = this.values[index];\n var formatter = this.formatter;\n result = formatter ? formatter(result, tickIndex) : timeFormat(result, this.mask);\n return result;\n }\n return value;\n };\n TimeCat.prototype.initCfg = function () {\n this.tickMethod = 'time-cat';\n this.mask = 'YYYY-MM-DD';\n this.tickCount = 7; // 一般时间数据会显示 7, 14, 30 天的数字\n };\n TimeCat.prototype.setDomain = function () {\n var values = this.values;\n // 针对时间分类类型,会将时间统一转换为时间戳\n each(values, function (v, i) {\n values[i] = toTimeStamp(v);\n });\n values.sort(function (v1, v2) {\n return v1 - v2;\n });\n _super.prototype.setDomain.call(this);\n };\n return TimeCat;\n}(Category));\nexport default TimeCat;\n//# sourceMappingURL=time.js.map","import { __extends } from \"tslib\";\nimport { filter, getRange, head, isNil, last } from '@antv/util';\nimport Base from '../base';\n/**\n * 连续度量的基类\n * @class\n */\nvar Continuous = /** @class */ (function (_super) {\n __extends(Continuous, _super);\n function Continuous() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isContinuous = true;\n return _this;\n }\n Continuous.prototype.scale = function (value) {\n if (isNil(value)) {\n return NaN;\n }\n var rangeMin = this.rangeMin();\n var rangeMax = this.rangeMax();\n var max = this.max;\n var min = this.min;\n if (max === min) {\n return rangeMin;\n }\n var percent = this.getScalePercent(value);\n return rangeMin + percent * (rangeMax - rangeMin);\n };\n Continuous.prototype.init = function () {\n _super.prototype.init.call(this);\n // init 完成后保证 min, max 包含 ticks 的范围\n var ticks = this.ticks;\n var firstTick = head(ticks);\n var lastTick = last(ticks);\n if (firstTick < this.min) {\n this.min = firstTick;\n }\n if (lastTick > this.max) {\n this.max = lastTick;\n }\n // strict-limit 方式\n if (!isNil(this.minLimit)) {\n this.min = firstTick;\n }\n if (!isNil(this.maxLimit)) {\n this.max = lastTick;\n }\n };\n Continuous.prototype.setDomain = function () {\n var _a = getRange(this.values), min = _a.min, max = _a.max;\n if (isNil(this.min)) {\n this.min = min;\n }\n if (isNil(this.max)) {\n this.max = max;\n }\n if (this.min > this.max) {\n this.min = min;\n this.max = max;\n }\n };\n Continuous.prototype.calculateTicks = function () {\n var _this = this;\n var ticks = _super.prototype.calculateTicks.call(this);\n if (!this.nice) {\n ticks = filter(ticks, function (tick) {\n return tick >= _this.min && tick <= _this.max;\n });\n }\n return ticks;\n };\n // 计算原始值值占的百分比\n Continuous.prototype.getScalePercent = function (value) {\n var max = this.max;\n var min = this.min;\n return (value - min) / (max - min);\n };\n Continuous.prototype.getInvertPercent = function (value) {\n return (value - this.rangeMin()) / (this.rangeMax() - this.rangeMin());\n };\n return Continuous;\n}(Base));\nexport default Continuous;\n//# sourceMappingURL=base.js.map","import { __extends } from \"tslib\";\nimport Continuous from './base';\n/**\n * 线性度量\n * @class\n */\nvar Linear = /** @class */ (function (_super) {\n __extends(Linear, _super);\n function Linear() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'linear';\n _this.isLinear = true;\n return _this;\n }\n Linear.prototype.invert = function (value) {\n var percent = this.getInvertPercent(value);\n return this.min + percent * (this.max - this.min);\n };\n Linear.prototype.initCfg = function () {\n this.tickMethod = 'wilkinson-extended';\n this.nice = false;\n };\n return Linear;\n}(Continuous));\nexport default Linear;\n//# sourceMappingURL=linear.js.map","import { each, isNil } from '@antv/util';\n// 求以a为次幂,结果为b的基数,如 x^^a = b;求x\n// 虽然数学上 b 不支持负数,但是这里需要支持 负数\nexport function calBase(a, b) {\n var e = Math.E;\n var value;\n if (b >= 0) {\n value = Math.pow(e, Math.log(b) / a); // 使用换底公式求底\n }\n else {\n value = Math.pow(e, Math.log(-b) / a) * -1; // 使用换底公式求底\n }\n return value;\n}\nexport function log(a, b) {\n if (a === 1) {\n return 1;\n }\n return Math.log(b) / Math.log(a);\n}\nexport function getLogPositiveMin(values, base, max) {\n if (isNil(max)) {\n max = Math.max.apply(null, values);\n }\n var positiveMin = max;\n each(values, function (value) {\n if (value > 0 && value < positiveMin) {\n positiveMin = value;\n }\n });\n if (positiveMin === max) {\n positiveMin = max / base;\n }\n if (positiveMin > 1) {\n positiveMin = 1;\n }\n return positiveMin;\n}\n//# sourceMappingURL=math.js.map","import { __extends } from \"tslib\";\nimport { getLogPositiveMin, log } from '../util/math';\nimport Continuous from './base';\n/**\n * Log 度量,处理非均匀分布\n */\nvar Log = /** @class */ (function (_super) {\n __extends(Log, _super);\n function Log() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'log';\n return _this;\n }\n /**\n * @override\n */\n Log.prototype.invert = function (value) {\n var base = this.base;\n var max = log(base, this.max);\n var rangeMin = this.rangeMin();\n var range = this.rangeMax() - rangeMin;\n var min;\n var positiveMin = this.positiveMin;\n if (positiveMin) {\n if (value === 0) {\n return 0;\n }\n min = log(base, positiveMin / base);\n var appendPercent = (1 / (max - min)) * range; // 0 到 positiveMin的占比\n if (value < appendPercent) {\n // 落到 0 - positiveMin 之间\n return (value / appendPercent) * positiveMin;\n }\n }\n else {\n min = log(base, this.min);\n }\n var percent = (value - rangeMin) / range;\n var tmp = percent * (max - min) + min;\n return Math.pow(base, tmp);\n };\n Log.prototype.initCfg = function () {\n this.tickMethod = 'log';\n this.base = 10;\n this.tickCount = 6;\n this.nice = true;\n };\n // 设置\n Log.prototype.setDomain = function () {\n _super.prototype.setDomain.call(this);\n var min = this.min;\n if (min < 0) {\n throw new Error('When you use log scale, the minimum value must be greater than zero!');\n }\n if (min === 0) {\n this.positiveMin = getLogPositiveMin(this.values, this.base, this.max);\n }\n };\n // 根据当前值获取占比\n Log.prototype.getScalePercent = function (value) {\n var max = this.max;\n var min = this.min;\n if (max === min) {\n return 0;\n }\n // 如果值小于等于0,则按照0处理\n if (value <= 0) {\n return 0;\n }\n var base = this.base;\n var positiveMin = this.positiveMin;\n // 如果min == 0, 则根据比0大的最小值,计算比例关系。这个最小值作为坐标轴上的第二个tick,第一个是0但是不显示\n if (positiveMin) {\n min = (positiveMin * 1) / base;\n }\n var percent;\n // 如果数值小于次小值,那么就计算 value / 次小值 占整体的比例\n if (value < positiveMin) {\n percent = value / positiveMin / (log(base, max) - log(base, min));\n }\n else {\n percent = (log(base, value) - log(base, min)) / (log(base, max) - log(base, min));\n }\n return percent;\n };\n return Log;\n}(Continuous));\nexport default Log;\n//# sourceMappingURL=log.js.map","import { __extends } from \"tslib\";\nimport { calBase } from '../util/math';\nimport Continuous from './base';\n/**\n * Pow 度量,处理非均匀分布\n */\nvar Pow = /** @class */ (function (_super) {\n __extends(Pow, _super);\n function Pow() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'pow';\n return _this;\n }\n /**\n * @override\n */\n Pow.prototype.invert = function (value) {\n var percent = this.getInvertPercent(value);\n var exponent = this.exponent;\n var max = calBase(exponent, this.max);\n var min = calBase(exponent, this.min);\n var tmp = percent * (max - min) + min;\n var factor = tmp >= 0 ? 1 : -1;\n return Math.pow(tmp, exponent) * factor;\n };\n Pow.prototype.initCfg = function () {\n this.tickMethod = 'pow';\n this.exponent = 2;\n this.tickCount = 5;\n this.nice = true;\n };\n // 获取度量计算时,value占的定义域百分比\n Pow.prototype.getScalePercent = function (value) {\n var max = this.max;\n var min = this.min;\n if (max === min) {\n return 0;\n }\n var exponent = this.exponent;\n var percent = (calBase(exponent, value) - calBase(exponent, min)) / (calBase(exponent, max) - calBase(exponent, min));\n return percent;\n };\n return Pow;\n}(Continuous));\nexport default Pow;\n//# sourceMappingURL=pow.js.map","import { __extends } from \"tslib\";\nimport { each, isDate, isNil, isNumber, isString } from '@antv/util';\nimport { timeFormat, toTimeStamp } from '../util/time';\nimport Linear from './linear';\n/**\n * 时间度量\n * @class\n */\nvar Time = /** @class */ (function (_super) {\n __extends(Time, _super);\n function Time() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'time';\n return _this;\n }\n /**\n * @override\n */\n Time.prototype.getText = function (value, index) {\n var numberValue = this.translate(value);\n var formatter = this.formatter;\n return formatter ? formatter(numberValue, index) : timeFormat(numberValue, this.mask);\n };\n /**\n * @override\n */\n Time.prototype.scale = function (value) {\n var v = value;\n if (isString(v) || isDate(v)) {\n v = this.translate(v);\n }\n return _super.prototype.scale.call(this, v);\n };\n /**\n * 将时间转换成数字\n * @override\n */\n Time.prototype.translate = function (v) {\n return toTimeStamp(v);\n };\n Time.prototype.initCfg = function () {\n this.tickMethod = 'time-pretty';\n this.mask = 'YYYY-MM-DD';\n this.tickCount = 7;\n this.nice = false;\n };\n Time.prototype.setDomain = function () {\n var values = this.values;\n // 是否设置了 min, max,而不是直接取 this.min, this.max\n var minConfig = this.getConfig('min');\n var maxConfig = this.getConfig('max');\n // 如果设置了 min,max 则转换成时间戳\n if (!isNil(minConfig) || !isNumber(minConfig)) {\n this.min = this.translate(this.min);\n }\n if (!isNil(maxConfig) || !isNumber(maxConfig)) {\n this.max = this.translate(this.max);\n }\n // 没有设置 min, max 时\n if (values && values.length) {\n // 重新计算最大最小值\n var timeStamps_1 = [];\n var min_1 = Infinity; // 最小值\n var secondMin_1 = min_1; // 次小值\n var max_1 = 0;\n // 使用一个循环,计算min,max,secondMin\n each(values, function (v) {\n var timeStamp = toTimeStamp(v);\n if (isNaN(timeStamp)) {\n throw new TypeError(\"Invalid Time: \" + v + \" in time scale!\");\n }\n if (min_1 > timeStamp) {\n secondMin_1 = min_1;\n min_1 = timeStamp;\n }\n else if (secondMin_1 > timeStamp) {\n secondMin_1 = timeStamp;\n }\n if (max_1 < timeStamp) {\n max_1 = timeStamp;\n }\n timeStamps_1.push(timeStamp);\n });\n // 存在多个值时,设置最小间距\n if (values.length > 1) {\n this.minTickInterval = secondMin_1 - min_1;\n }\n if (isNil(minConfig)) {\n this.min = min_1;\n }\n if (isNil(maxConfig)) {\n this.max = max_1;\n }\n }\n };\n return Time;\n}(Linear));\nexport default Time;\n//# sourceMappingURL=time.js.map","import { __extends } from \"tslib\";\nimport { each, head, last } from '@antv/util';\nimport Continuous from './base';\n/**\n * 分段度量\n */\nvar Quantize = /** @class */ (function (_super) {\n __extends(Quantize, _super);\n function Quantize() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'quantize';\n return _this;\n }\n Quantize.prototype.invert = function (value) {\n var ticks = this.ticks;\n var length = ticks.length;\n var percent = this.getInvertPercent(value);\n var minIndex = Math.floor(percent * (length - 1));\n // 最后一个\n if (minIndex >= length - 1) {\n return last(ticks);\n }\n // 超出左边界, 则取第一个\n if (minIndex < 0) {\n return head(ticks);\n }\n var minTick = ticks[minIndex];\n var nextTick = ticks[minIndex + 1];\n // 比当前值小的 tick 在度量上的占比\n var minIndexPercent = minIndex / (length - 1);\n var maxIndexPercent = (minIndex + 1) / (length - 1);\n return minTick + (percent - minIndexPercent) / (maxIndexPercent - minIndexPercent) * (nextTick - minTick);\n };\n Quantize.prototype.initCfg = function () {\n this.tickMethod = 'r-pretty';\n this.tickCount = 5;\n this.nice = true;\n };\n Quantize.prototype.calculateTicks = function () {\n var ticks = _super.prototype.calculateTicks.call(this);\n if (!this.nice) { // 如果 nice = false ,补充 min, max\n if (last(ticks) !== this.max) {\n ticks.push(this.max);\n }\n if (head(ticks) !== this.min) {\n ticks.unshift(this.min);\n }\n }\n return ticks;\n };\n // 计算当前值在刻度中的占比\n Quantize.prototype.getScalePercent = function (value) {\n var ticks = this.ticks;\n // 超出左边界\n if (value < head(ticks)) {\n return 0;\n }\n // 超出右边界\n if (value > last(ticks)) {\n return 1;\n }\n var minIndex = 0;\n each(ticks, function (tick, index) {\n if (value >= tick) {\n minIndex = index;\n }\n else {\n return false;\n }\n });\n return minIndex / (ticks.length - 1);\n };\n return Quantize;\n}(Continuous));\nexport default Quantize;\n//# sourceMappingURL=quantize.js.map","import { __extends } from \"tslib\";\nimport Quantize from './quantize';\nvar Quantile = /** @class */ (function (_super) {\n __extends(Quantile, _super);\n function Quantile() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'quantile';\n return _this;\n }\n Quantile.prototype.initCfg = function () {\n this.tickMethod = 'quantile';\n this.tickCount = 5;\n this.nice = true;\n };\n return Quantile;\n}(Quantize));\nexport default Quantile;\n//# sourceMappingURL=quantile.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\nvar base_1 = require(\"./attributes/base\");\nexports.Attribute = base_1.default;\n// 所有的 attribute map\nvar ATTRIBUTE_MAP = {};\n/**\n * 通过类型获得 Attribute 类\n * @param type\n */\nvar getAttribute = function (type) {\n return ATTRIBUTE_MAP[type.toLowerCase()];\n};\nexports.getAttribute = getAttribute;\nvar registerAttribute = function (type, ctor) {\n // 注册的时候,需要校验 type 重名,不区分大小写\n if (getAttribute(type)) {\n throw new Error(\"Attribute type '\" + type + \"' existed.\");\n }\n // 存储到 map 中\n ATTRIBUTE_MAP[type.toLowerCase()] = ctor;\n};\nexports.registerAttribute = registerAttribute;\ntslib_1.__exportStar(require(\"./interface\"), exports);\n//# sourceMappingURL=factory.js.map","import { __extends } from \"tslib\";\nimport { isNumber } from '@antv/util';\nimport Base from '../base';\n/**\n * identity scale原则上是定义域和值域一致,scale/invert方法也是一致的\n * 参考R的实现:https://github.com/r-lib/scales/blob/master/R/pal-identity.r\n * 参考d3的实现(做了下转型):https://github.com/d3/d3-scale/blob/master/src/identity.js\n */\nvar Identity = /** @class */ (function (_super) {\n __extends(Identity, _super);\n function Identity() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'identity';\n _this.isIdentity = true;\n return _this;\n }\n Identity.prototype.calculateTicks = function () {\n return this.values;\n };\n Identity.prototype.scale = function (value) {\n // 如果传入的值不等于 identity 的值,则直接返回,用于一维图时的 dodge\n if (this.values[0] !== value && isNumber(value)) {\n return value;\n }\n return this.range[0];\n };\n Identity.prototype.invert = function (value) {\n var range = this.range;\n if (value < range[0] || value > range[1]) {\n return NaN;\n }\n return this.values[0];\n };\n return Identity;\n}(Base));\nexport default Identity;\n//# sourceMappingURL=index.js.map","import { head, indexOf, last, map, size } from '@antv/util';\nexport var DEFAULT_Q = [1, 5, 2, 2.5, 4, 3];\nexport var ALL_Q = [1, 5, 2, 2.5, 4, 3, 1.5, 7, 6, 8, 9];\nvar eps = Number.EPSILON * 100;\n// https://stackoverflow.com/questions/4467539/javascript-modulo-gives-a-negative-result-for-negative-numbers\nfunction mod(n, m) {\n return ((n % m) + m) % m;\n}\nfunction simplicity(q, Q, j, lmin, lmax, lstep) {\n var n = size(Q);\n var i = indexOf(Q, q);\n var v = 0;\n var m = mod(lmin, lstep);\n if ((m < eps || lstep - m < eps) && lmin <= 0 && lmax >= 0) {\n v = 1;\n }\n return 1 - i / (n - 1) - j + v;\n}\nfunction simplicityMax(q, Q, j) {\n var n = size(Q);\n var i = indexOf(Q, q);\n var v = 1;\n return 1 - i / (n - 1) - j + v;\n}\nfunction density(k, m, dmin, dmax, lmin, lmax) {\n var r = (k - 1) / (lmax - lmin);\n var rt = (m - 1) / (Math.max(lmax, dmax) - Math.min(dmin, lmin));\n return 2 - Math.max(r / rt, rt / r);\n}\nfunction densityMax(k, m) {\n if (k >= m) {\n return 2 - (k - 1) / (m - 1);\n }\n return 1;\n}\nfunction coverage(dmin, dmax, lmin, lmax) {\n var range = dmax - dmin;\n return 1 - (0.5 * (Math.pow(dmax - lmax, 2) + Math.pow(dmin - lmin, 2))) / Math.pow(0.1 * range, 2);\n}\nfunction coverageMax(dmin, dmax, span) {\n var range = dmax - dmin;\n if (span > range) {\n var half = (span - range) / 2;\n return 1 - Math.pow(half, 2) / Math.pow(0.1 * range, 2);\n }\n return 1;\n}\nfunction legibility() {\n return 1;\n}\n/**\n * An Extension of Wilkinson's Algorithm for Position Tick Labels on Axes\n * https://www.yuque.com/preview/yuque/0/2019/pdf/185317/1546999150858-45c3b9c2-4e86-4223-bf1a-8a732e8195ed.pdf\n * @param dmin 最小值\n * @param dmax 最大值\n * @param m tick个数\n * @param onlyLoose 是否允许扩展min、max,不绝对强制,例如[3, 97]\n * @param Q nice numbers集合\n * @param w 四个优化组件的权重\n */\nexport default function extended(dmin, dmax, m, onlyLoose, Q, w) {\n if (m === void 0) { m = 5; }\n if (onlyLoose === void 0) { onlyLoose = true; }\n if (Q === void 0) { Q = DEFAULT_Q; }\n if (w === void 0) { w = [0.25, 0.2, 0.5, 0.05]; }\n if (dmin === dmax || m === 1) {\n return {\n min: dmin,\n max: dmax,\n ticks: [dmin],\n };\n }\n var best = {\n score: -2,\n lmin: 0,\n lmax: 0,\n lstep: 0,\n };\n var j = 1;\n while (j < Infinity) {\n for (var _i = 0, Q_1 = Q; _i < Q_1.length; _i++) {\n var q = Q_1[_i];\n var sm = simplicityMax(q, Q, j);\n if (Number.isNaN(sm)) {\n throw new Error('NaN');\n }\n if (w[0] * sm + w[1] + w[2] + w[3] < best.score) {\n j = Infinity;\n break;\n }\n var k = 2;\n while (k < Infinity) {\n var dm = densityMax(k, m);\n if (w[0] * sm + w[1] + w[2] * dm + w[3] < best.score) {\n break;\n }\n var delta = (dmax - dmin) / (k + 1) / j / q;\n var z = Math.ceil(Math.log10(delta));\n while (z < Infinity) {\n var step = j * q * Math.pow(10, z);\n var cm = coverageMax(dmin, dmax, step * (k - 1));\n if (w[0] * sm + w[1] * cm + w[2] * dm + w[3] < best.score) {\n break;\n }\n var minStart = Math.floor(dmax / step) * j - (k - 1) * j;\n var maxStart = Math.ceil(dmin / step) * j;\n if (minStart > maxStart) {\n z = z + 1;\n continue;\n }\n for (var start = minStart; start <= maxStart; start = start + 1) {\n var lmin = start * (step / j);\n var lmax = lmin + step * (k - 1);\n var lstep = step;\n var s = simplicity(q, Q, j, lmin, lmax, lstep);\n var c = coverage(dmin, dmax, lmin, lmax);\n var g = density(k, m, dmin, dmax, lmin, lmax);\n var l = legibility();\n var score = w[0] * s + w[1] * c + w[2] * g + w[3] * l;\n if (score > best.score && (!onlyLoose || (lmin <= dmin && lmax >= dmax))) {\n best.lmin = lmin;\n best.lmax = lmax;\n best.lstep = lstep;\n best.score = score;\n }\n }\n z = z + 1;\n }\n k = k + 1;\n }\n }\n j = j + 1;\n }\n // 步长为浮点数时处理精度\n var toFixed = Number.isInteger(best.lstep) ? 0 : Math.ceil(Math.abs(Math.log10(best.lstep)));\n var range = [];\n for (var tick = best.lmin; tick <= best.lmax; tick += best.lstep) {\n range.push(tick);\n }\n var ticks = toFixed ? map(range, function (x) { return Number.parseFloat(x.toFixed(toFixed)); }) : range;\n return {\n min: Math.min(dmin, head(ticks)),\n max: Math.max(dmax, last(ticks)),\n ticks: ticks,\n };\n}\n//# sourceMappingURL=extended.js.map","import { filter, isNil, isNumber } from '@antv/util';\nimport extended from '../util/extended';\n/**\n * 计算分类 ticks\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function calculateCatTicks(cfg) {\n var values = cfg.values, tickInterval = cfg.tickInterval, tickCount = cfg.tickCount;\n var ticks = values;\n if (isNumber(tickInterval)) {\n return filter(ticks, function (__, i) { return i % tickInterval === 0; });\n }\n var min = cfg.min, max = cfg.max;\n if (isNil(min)) {\n min = 0;\n }\n if (isNil(max)) {\n max = values.length - 1;\n }\n if (isNumber(tickCount) && tickCount < max - min) {\n // 简单过滤,部分情况下小数的倍数也可以是整数\n // tslint:disable-next-line: no-shadowed-variable\n var ticks_1 = extended(min, max, tickCount, false, [1, 2, 5, 3, 4, 7, 6, 8, 9]).ticks;\n var valid = filter(ticks_1, function (tick) { return tick >= min && tick <= max; });\n return valid.map(function (index) { return values[index]; });\n }\n return values.slice(min, max + 1);\n}\n//# sourceMappingURL=cat.js.map","export default function d3Linear(cfg) {\n var min = cfg.min, max = cfg.max, nice = cfg.nice, tickCount = cfg.tickCount;\n var linear = new D3Linear();\n linear.domain([min, max]);\n if (nice) {\n linear.nice(tickCount);\n }\n return linear.ticks(tickCount);\n}\nvar DEFAULT_COUNT = 5;\nvar e10 = Math.sqrt(50);\nvar e5 = Math.sqrt(10);\nvar e2 = Math.sqrt(2);\n// https://github.com/d3/d3-scale\nvar D3Linear = /** @class */ (function () {\n function D3Linear() {\n this._domain = [0, 1];\n }\n D3Linear.prototype.domain = function (domain) {\n if (domain) {\n this._domain = Array.from(domain, Number);\n return this;\n }\n return this._domain.slice();\n };\n D3Linear.prototype.nice = function (count) {\n var _a, _b;\n if (count === void 0) { count = DEFAULT_COUNT; }\n var d = this._domain.slice();\n var i0 = 0;\n var i1 = this._domain.length - 1;\n var start = this._domain[i0];\n var stop = this._domain[i1];\n var step;\n if (stop < start) {\n _a = [stop, start], start = _a[0], stop = _a[1];\n _b = [i1, i0], i0 = _b[0], i1 = _b[1];\n }\n step = tickIncrement(start, stop, count);\n if (step > 0) {\n start = Math.floor(start / step) * step;\n stop = Math.ceil(stop / step) * step;\n step = tickIncrement(start, stop, count);\n }\n else if (step < 0) {\n start = Math.ceil(start * step) / step;\n stop = Math.floor(stop * step) / step;\n step = tickIncrement(start, stop, count);\n }\n if (step > 0) {\n d[i0] = Math.floor(start / step) * step;\n d[i1] = Math.ceil(stop / step) * step;\n this.domain(d);\n }\n else if (step < 0) {\n d[i0] = Math.ceil(start * step) / step;\n d[i1] = Math.floor(stop * step) / step;\n this.domain(d);\n }\n return this;\n };\n D3Linear.prototype.ticks = function (count) {\n if (count === void 0) { count = DEFAULT_COUNT; }\n return d3ArrayTicks(this._domain[0], this._domain[this._domain.length - 1], count || DEFAULT_COUNT);\n };\n return D3Linear;\n}());\nexport { D3Linear };\nfunction d3ArrayTicks(start, stop, count) {\n var reverse;\n var i = -1;\n var n;\n var ticks;\n var step;\n (stop = +stop), (start = +start), (count = +count);\n if (start === stop && count > 0) {\n return [start];\n }\n // tslint:disable-next-line\n if ((reverse = stop < start)) {\n (n = start), (start = stop), (stop = n);\n }\n // tslint:disable-next-line\n if ((step = tickIncrement(start, stop, count)) === 0 || !isFinite(step)) {\n return [];\n }\n if (step > 0) {\n start = Math.ceil(start / step);\n stop = Math.floor(stop / step);\n ticks = new Array((n = Math.ceil(stop - start + 1)));\n while (++i < n) {\n ticks[i] = (start + i) * step;\n }\n }\n else {\n start = Math.floor(start * step);\n stop = Math.ceil(stop * step);\n ticks = new Array((n = Math.ceil(start - stop + 1)));\n while (++i < n) {\n ticks[i] = (start - i) / step;\n }\n }\n if (reverse) {\n ticks.reverse();\n }\n return ticks;\n}\nfunction tickIncrement(start, stop, count) {\n var step = (stop - start) / Math.max(0, count);\n var power = Math.floor(Math.log(step) / Math.LN10);\n var error = step / Math.pow(10, power);\n return power >= 0\n ? (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1) * Math.pow(10, power)\n : -Math.pow(10, -power) / (error >= e10 ? 10 : error >= e5 ? 5 : error >= e2 ? 2 : 1);\n}\n//# sourceMappingURL=d3-linear.js.map","import { fixedBase } from '@antv/util';\nfunction snapMultiple(v, base, snapType) {\n var div;\n if (snapType === 'ceil') {\n div = Math.ceil(v / base);\n }\n else if (snapType === 'floor') {\n div = Math.floor(v / base);\n }\n else {\n div = Math.round(v / base);\n }\n return div * base;\n}\nexport default function intervalTicks(min, max, interval) {\n // 变成 interval 的倍数\n var minTick = snapMultiple(min, interval, 'floor');\n var maxTick = snapMultiple(max, interval, 'ceil');\n // 统一小数位数\n minTick = fixedBase(minTick, interval);\n maxTick = fixedBase(maxTick, interval);\n var ticks = [];\n for (var i = minTick; i <= maxTick; i = i + interval) {\n var tickValue = fixedBase(i, interval); // 防止浮点数加法出现问题\n ticks.push(tickValue);\n }\n return {\n min: minTick,\n max: maxTick,\n ticks: ticks\n };\n}\n//# sourceMappingURL=interval.js.map","import { isNil } from '@antv/util';\n/**\n * 按照给定的 minLimit/maxLimit/tickCount 均匀计算出刻度 ticks\n *\n * @param cfg Scale 配置项\n * @return ticks\n */\nexport default function strictLimit(cfg, defaultMin, defaultMax) {\n var _a;\n var minLimit = cfg.minLimit, maxLimit = cfg.maxLimit, min = cfg.min, max = cfg.max, _b = cfg.tickCount, tickCount = _b === void 0 ? 5 : _b;\n var tickMin = isNil(minLimit) ? (isNil(defaultMin) ? min : defaultMin) : minLimit;\n var tickMax = isNil(maxLimit) ? (isNil(defaultMax) ? max : defaultMax) : maxLimit;\n if (tickMin > tickMax) {\n _a = [tickMin, tickMax], tickMax = _a[0], tickMin = _a[1];\n }\n if (tickCount <= 2) {\n return [tickMin, tickMax];\n }\n var step = (tickMax - tickMin) / (tickCount - 1);\n var ticks = [];\n for (var i = 0; i < tickCount; i++) {\n ticks.push(tickMin + step * i);\n }\n return ticks;\n}\n//# sourceMappingURL=strict-limit.js.map","export default function pretty(min, max, n) {\n if (n === void 0) { n = 5; }\n var res = {\n max: 0,\n min: 0,\n ticks: [],\n };\n /*\n R pretty:\n https://svn.r-project.org/R/trunk/src/appl/pretty.c\n https://www.rdocumentation.org/packages/base/versions/3.5.2/topics/pretty\n */\n var h = 1.5; // high.u.bias\n var h5 = 0.5 + 1.5 * h; // u5.bias\n // 反正我也不会调参,跳过所有判断步骤\n var d = max - min;\n var c = d / n;\n // 当d非常小的时候触发,但似乎没什么用\n // const min_n = Math.floor(n / 3);\n // const shrink_sml = Math.pow(2, 5);\n // if (Math.log10(d) < -2) {\n // c = (_.max([ Math.abs(max), Math.abs(min) ]) * shrink_sml) / min_n;\n // }\n var base = Math.pow(10, Math.floor(Math.log10(c)));\n var toFixed = base < 1 ? Math.ceil(Math.abs(Math.log10(base))) : 0;\n var unit = base;\n if (2 * base - c < h * (c - unit)) {\n unit = 2 * base;\n if (5 * base - c < h5 * (c - unit)) {\n unit = 5 * base;\n if (10 * base - c < h * (c - unit)) {\n unit = 10 * base;\n }\n }\n }\n var nu = Math.ceil(max / unit);\n var ns = Math.floor(min / unit);\n res.max = Math.max(nu * unit, max);\n res.min = Math.min(ns * unit, min);\n var x = Number.parseFloat((ns * unit).toFixed(toFixed));\n while (x < max) {\n res.ticks.push(x);\n x += unit;\n if (toFixed) {\n x = Number.parseFloat(x.toFixed(toFixed));\n }\n }\n res.ticks.push(x);\n return res;\n}\n//# sourceMappingURL=pretty.js.map","/**\n * 计算几分位 https://github.com/simple-statistics/simple-statistics/blob/master/src/quantile_sorted.js\n * @param x 数组\n * @param p 百分比\n */\nfunction quantileSorted(x, p) {\n var idx = x.length * p;\n /*if (x.length === 0) { // 当前场景这些条件不可能命中\n throw new Error('quantile requires at least one value.');\n } else if (p < 0 || p > 1) {\n throw new Error('quantiles must be between 0 and 1');\n } else */\n if (p === 1) {\n // If p is 1, directly return the last element\n return x[x.length - 1];\n }\n else if (p === 0) {\n // If p is 0, directly return the first element\n return x[0];\n }\n else if (idx % 1 !== 0) {\n // If p is not integer, return the next element in array\n return x[Math.ceil(idx) - 1];\n }\n else if (x.length % 2 === 0) {\n // If the list has even-length, we'll take the average of this number\n // and the next value, if there is one\n return (x[idx - 1] + x[idx]) / 2;\n }\n else {\n // Finally, in the simple case of an integer value\n // with an odd-length list, return the x value at the index.\n return x[idx];\n }\n}\nexport default function calculateTicks(cfg) {\n var tickCount = cfg.tickCount, values = cfg.values;\n if (!values || !values.length) {\n return [];\n }\n var sorted = values.slice().sort(function (a, b) {\n return a - b;\n });\n var ticks = [];\n for (var i = 0; i < tickCount; i++) {\n var p = i / (tickCount - 1);\n ticks.push(quantileSorted(sorted, p));\n }\n return ticks;\n}\n//# sourceMappingURL=quantile.js.map","import { DAY, HOUR, MINUTE, MONTH, SECOND, YEAR } from '../util/time';\nfunction getYear(date) {\n return new Date(date).getFullYear();\n}\nfunction createYear(year) {\n return new Date(year, 0, 1).getTime();\n}\nfunction getMonth(date) {\n return new Date(date).getMonth();\n}\nfunction diffMonth(min, max) {\n var minYear = getYear(min);\n var maxYear = getYear(max);\n var minMonth = getMonth(min);\n var maxMonth = getMonth(max);\n return (maxYear - minYear) * 12 + ((maxMonth - minMonth) % 12);\n}\nfunction creatMonth(year, month) {\n return new Date(year, month, 1).getTime();\n}\nfunction diffDay(min, max) {\n return Math.ceil((max - min) / DAY);\n}\nfunction diffHour(min, max) {\n return Math.ceil((max - min) / HOUR);\n}\nfunction diffMinus(min, max) {\n return Math.ceil((max - min) / (60 * 1000));\n}\n/**\n * 计算 time 的 ticks,对 month, year 进行 pretty 处理\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function timePretty(cfg) {\n var min = cfg.min, max = cfg.max, minTickInterval = cfg.minTickInterval;\n var tickInterval = cfg.tickInterval;\n var tickCount = cfg.tickCount;\n var ticks = [];\n // 指定 tickInterval 后 tickCount 不生效,需要重新计算\n if (!tickInterval) {\n tickInterval = (max - min) / tickCount;\n // 如果设置了最小间距,则使用最小间距\n if (minTickInterval && tickInterval < minTickInterval) {\n tickInterval = minTickInterval;\n }\n }\n var minYear = getYear(min);\n // 如果间距大于 1 年,则将开始日期从整年开始\n if (tickInterval > YEAR) {\n var maxYear = getYear(max);\n var yearInterval = Math.ceil(tickInterval / YEAR);\n for (var i = minYear; i <= maxYear + yearInterval; i = i + yearInterval) {\n ticks.push(createYear(i));\n }\n }\n else if (tickInterval > MONTH) {\n // 大于月时\n var monthInterval = Math.ceil(tickInterval / MONTH);\n var mmMoth = getMonth(min);\n var dMonths = diffMonth(min, max);\n for (var i = 0; i <= dMonths + monthInterval; i = i + monthInterval) {\n ticks.push(creatMonth(minYear, i + mmMoth));\n }\n }\n else if (tickInterval > DAY) {\n // 大于天\n var date = new Date(min);\n var year = date.getFullYear();\n var month = date.getMonth();\n var mday = date.getDate();\n var day = Math.ceil(tickInterval / DAY);\n var ddays = diffDay(min, max);\n for (var i = 0; i < ddays + day; i = i + day) {\n ticks.push(new Date(year, month, mday + i).getTime());\n }\n }\n else if (tickInterval > HOUR) {\n // 大于小时\n var date = new Date(min);\n var year = date.getFullYear();\n var month = date.getMonth();\n var day = date.getDate();\n var hour = date.getHours();\n var hours = Math.ceil(tickInterval / HOUR);\n var dHours = diffHour(min, max);\n for (var i = 0; i <= dHours + hours; i = i + hours) {\n ticks.push(new Date(year, month, day, hour + i).getTime());\n }\n }\n else if (tickInterval > MINUTE) {\n // 大于分钟\n var dMinus = diffMinus(min, max);\n var minutes = Math.ceil(tickInterval / MINUTE);\n for (var i = 0; i <= dMinus + minutes; i = i + minutes) {\n ticks.push(min + i * MINUTE);\n }\n }\n else {\n // 小于分钟\n var interval = tickInterval;\n if (interval < SECOND) {\n interval = SECOND;\n }\n var minSecond = Math.floor(min / SECOND) * SECOND;\n var dSeconds = Math.ceil((max - min) / SECOND);\n var seconds = Math.ceil(interval / SECOND);\n for (var i = 0; i < dSeconds + seconds; i = i + seconds) {\n ticks.push(minSecond + i * SECOND);\n }\n }\n return ticks;\n}\n//# sourceMappingURL=time-pretty.js.map","import cat from './cat';\nimport d3Linear from './d3-linear';\nimport linear from './linear';\nimport log from './log';\nimport pow from './pow';\nimport quantile from './quantile';\nimport rPretty from './r-prettry';\nimport { getTickMethod, registerTickMethod } from './register';\nimport time from './time';\nimport timeCat from './time-cat';\nimport timePretty from './time-pretty';\nregisterTickMethod('cat', cat);\nregisterTickMethod('time-cat', timeCat);\nregisterTickMethod('wilkinson-extended', linear);\nregisterTickMethod('r-pretty', rPretty);\nregisterTickMethod('time', time);\nregisterTickMethod('time-pretty', timePretty);\nregisterTickMethod('log', log);\nregisterTickMethod('pow', pow);\nregisterTickMethod('quantile', quantile);\nregisterTickMethod('d3-linear', d3Linear);\nexport { getTickMethod, registerTickMethod };\n//# sourceMappingURL=index.js.map","import { last } from '@antv/util';\nimport catTicks from './cat';\n/**\n * 计算时间分类的 ticks, 保头,保尾\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function calculateTimeCatTicks(cfg) {\n var ticks = catTicks(cfg);\n var lastValue = last(cfg.values);\n if (lastValue !== last(ticks)) {\n ticks.push(lastValue);\n }\n return ticks;\n}\n//# sourceMappingURL=time-cat.js.map","import { head, isNil, last } from '@antv/util';\nimport extended from '../util/extended';\nimport interval from '../util/interval';\nimport strictLimit from '../util/strict-limit';\n/**\n * 计算线性的 ticks,使用 wilkinson extended 方法\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function linear(cfg) {\n var min = cfg.min, max = cfg.max, tickCount = cfg.tickCount, nice = cfg.nice, tickInterval = cfg.tickInterval, minLimit = cfg.minLimit, maxLimit = cfg.maxLimit;\n var ticks = extended(min, max, tickCount, nice).ticks;\n if (!isNil(minLimit) || !isNil(maxLimit)) {\n return strictLimit(cfg, head(ticks), last(ticks));\n }\n if (tickInterval) {\n return interval(min, max, tickInterval).ticks;\n }\n return ticks;\n}\n//# sourceMappingURL=linear.js.map","import { head, isNil, last } from '@antv/util';\nimport interval from '../util/interval';\nimport pretty from '../util/pretty';\nimport strictLimit from '../util/strict-limit';\n/**\n * 计算线性的 ticks,使用 R's pretty 方法\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function linearPretty(cfg) {\n var min = cfg.min, max = cfg.max, tickCount = cfg.tickCount, tickInterval = cfg.tickInterval, minLimit = cfg.minLimit, maxLimit = cfg.maxLimit;\n var ticks = pretty(min, max, tickCount).ticks;\n if (!isNil(minLimit) || !isNil(maxLimit)) {\n return strictLimit(cfg, head(ticks), last(ticks));\n }\n if (tickInterval) {\n return interval(min, max, tickInterval).ticks;\n }\n return ticks;\n}\n//# sourceMappingURL=r-prettry.js.map","import { getTickInterval } from '../util/time';\nexport default function calculateTimeTicks(cfg) {\n var min = cfg.min, max = cfg.max, minTickInterval = cfg.minTickInterval;\n var tickInterval = cfg.tickInterval;\n var tickCount = cfg.tickCount;\n // 指定 tickInterval 后 tickCount 不生效,需要重新计算\n if (tickInterval) {\n tickCount = Math.ceil((max - min) / tickInterval);\n }\n else {\n tickInterval = getTickInterval(min, max, tickCount)[1];\n var count = (max - min) / tickInterval;\n var ratio = count / tickCount;\n if (ratio > 1) {\n tickInterval = tickInterval * Math.ceil(ratio);\n }\n // 如果设置了最小间距,则使用最小间距\n if (minTickInterval && tickInterval < minTickInterval) {\n tickInterval = minTickInterval;\n }\n }\n var ticks = [];\n for (var i = min; i < max + tickInterval; i += tickInterval) {\n ticks.push(i);\n }\n return ticks;\n}\n//# sourceMappingURL=time.js.map","import { getLogPositiveMin, log } from '../util/math';\n/**\n * 计算 log 的 ticks,考虑 min = 0 的场景\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function calculateLogTicks(cfg) {\n var base = cfg.base, tickCount = cfg.tickCount, min = cfg.min, max = cfg.max, values = cfg.values;\n var minTick;\n var maxTick = log(base, max);\n if (min > 0) {\n minTick = Math.floor(log(base, min));\n }\n else {\n var positiveMin = getLogPositiveMin(values, base, max);\n minTick = Math.floor(log(base, positiveMin));\n }\n var count = maxTick - minTick;\n var avg = Math.ceil(count / tickCount);\n var ticks = [];\n for (var i = minTick; i < maxTick + avg; i = i + avg) {\n ticks.push(Math.pow(base, i));\n }\n if (min <= 0) {\n // 最小值 <= 0 时显示 0\n ticks.unshift(0);\n }\n return ticks;\n}\n//# sourceMappingURL=log.js.map","import { calBase } from '../util/math';\nimport pretty from '../util/pretty';\n/**\n * 计算 Pow 的 ticks\n * @param cfg 度量的配置项\n * @returns 计算后的 ticks\n */\nexport default function calculatePowTicks(cfg) {\n var exponent = cfg.exponent, tickCount = cfg.tickCount;\n var max = Math.ceil(calBase(exponent, cfg.max));\n var min = Math.floor(calBase(exponent, cfg.min));\n var ticks = pretty(min, max, tickCount).ticks;\n return ticks.map(function (tick) {\n var factor = tick >= 0 ? 1 : -1;\n return Math.pow(tick, exponent) * factor;\n });\n}\n//# sourceMappingURL=pow.js.map","import { head, isNil, last } from '@antv/util';\nimport d3Linear from '../util/d3-linear';\nimport interval from '../util/interval';\nimport strictLimit from '../util/strict-limit';\nexport default function d3LinearTickMethod(cfg) {\n var min = cfg.min, max = cfg.max, tickInterval = cfg.tickInterval, minLimit = cfg.minLimit, maxLimit = cfg.maxLimit;\n var ticks = d3Linear(cfg);\n if (!isNil(minLimit) || !isNil(maxLimit)) {\n return strictLimit(cfg, head(ticks), last(ticks));\n }\n if (tickInterval) {\n return interval(min, max, tickInterval).ticks;\n }\n return ticks;\n}\n//# sourceMappingURL=d3-linear.js.map","import { vec3 } from '@antv/matrix-util';\nimport { each, clone } from '@antv/util';\n\nfunction magnitude(v) {\n let sum = 0;\n each(v, (value) => {\n sum += value * value;\n });\n return Math.sqrt(sum);\n}\n\nfunction dotProduct2D(va, vb) {\n return va.x * vb.y + va.y * vb.x;\n}\n\nfunction angleTo(va, vb) {\n const magA = magnitude(va);\n const magB = magnitude(vb);\n const dot = dotProduct2D(va, vb);\n const angle = Math.acos(dot / magA / magB);\n return angle;\n}\n\nfunction crossProduct2D(va, vb) {\n const magA = magnitude(va);\n const magB = magnitude(vb);\n const dot = dotProduct2D(va, vb);\n const angle = Math.acos(dot / magA / magB);\n return magA * magB * Math.sin(angle);\n}\n\nfunction crossProduct3D(va, vb) {\n const ax = va.x,\n ay = va.y,\n az = va.z;\n const bx = vb.x,\n by = vb.y,\n bz = vb.z;\n\n const x = ay * bz - az * by;\n const y = az * bx - ax * bz;\n const z = ax * by - ay * bx;\n\n return { x, y, z };\n}\n\nfunction sub2D(va, vb) {\n return { x: va.x - vb.x, y: va.y - vb.y };\n}\n\nfunction applyMatrix(point, matrix, tag = 1) {\n const vector: [number, number, number] = [point.x, point.y, tag];\n vec3.transformMat3(vector, vector, matrix);\n return {\n x: vector[0],\n y: vector[1],\n };\n}\n\nfunction isBetween(value, min, max) {\n return value >= min && value <= max;\n}\n\nconst tolerance = 0.001;\n\nfunction getLineIntersect(p0, p1, p2, p3) {\n const E = {\n x: p2.x - p0.x,\n y: p2.y - p0.y,\n };\n const D0 = {\n x: p1.x - p0.x,\n y: p1.y - p0.y,\n };\n const D1 = {\n x: p3.x - p2.x,\n y: p3.y - p2.y,\n };\n const kross = D0.x * D1.y - D0.y * D1.x;\n const sqrKross = kross * kross;\n const sqrLen0 = D0.x * D0.x + D0.y * D0.y;\n const sqrLen1 = D1.x * D1.x + D1.y * D1.y;\n let point = null;\n if (sqrKross > tolerance * sqrLen0 * sqrLen1) {\n const s = (E.x * D1.y - E.y * D1.x) / kross;\n const t = (E.x * D0.y - E.y * D0.x) / kross;\n if (isBetween(s, 0, 1) && isBetween(t, 0, 1)) {\n point = {\n x: p0.x + s * D0.x,\n y: p0.y + s * D0.y,\n };\n }\n }\n return point;\n}\n\nfunction isPointInPolygon(p, polygon) {\n /** 射线法 */\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n\n const intersect = yi > p.y !== yj > p.y && p.x <= ((xj - xi) * (p.y - yi)) / (yj - yi) + xi;\n if (intersect) {\n inside = !inside;\n }\n }\n return inside;\n}\n\nfunction sqr(v) {\n return v * v;\n}\n\nfunction dist2(a, b) {\n return Math.sqrt(sqr(a.x - b.x) + sqr(a.y - b.y));\n}\n\nfunction distBetweenPoints(a, b) {\n return Math.sqrt(sqr(a.x - b.x) + sqr(a.y - b.y));\n}\n\nfunction distBetweenPointLine(p, p1, p2) {\n const l2 = dist2(p1, p2);\n if (l2 === 0) {\n return dist2(p, p1);\n }\n let t = ((p.x - p1.x) * (p2.x - p1.x) + (p.y - p1.y) * (p2.y - p1.y)) / l2;\n t = Math.max(0, Math.min(1, t));\n const distSquare = dist2(p, { x: p1.x + t * (p2.x - p1.x), y: p1.y + t * (p2.y - p1.y) });\n return Math.sqrt(distSquare);\n}\n\n// todo:待优化 https://blog.csdn.net/WilliamSun0122/article/details/77994526\nfunction minDistBetweenPointPolygon(p, polygon) {\n let min = Infinity;\n /** vertice to vertice */\n each(polygon, (v) => {\n const dist = Math.sqrt(dist2(v, p));\n if (min > dist) {\n min = dist;\n }\n });\n /** vertice to edge */\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const dist = distBetweenPointLine(p, { x: xi, y: yi }, { x: xj, y: yj });\n if (min > dist) {\n min = dist;\n }\n }\n\n return min;\n}\n\nfunction isPolygonIntersection(polyA, polyB) {\n for (const p of polyA) {\n const inside = isPointInPolygon(p, polyB);\n if (inside) {\n return true;\n }\n }\n return false;\n}\n\nfunction minDistBetweenConvexPolygon(polyA, polyB) {\n if (isPolygonIntersection(polyA, polyB)) {\n return 0;\n }\n let minA = Infinity;\n let minB = Infinity;\n each(polyA, (v) => {\n const localMin = minDistBetweenPointPolygon(v, polyB);\n if (minA > localMin) {\n minA = localMin;\n }\n });\n each(polyB, (v) => {\n const localMin = minDistBetweenPointPolygon(v, polyA);\n if (minB > localMin) {\n minB = localMin;\n }\n });\n\n return Math.min(minA, minB);\n}\n\nfunction bboxOnRotate(shape) {\n const bbox = shape.getBBox();\n const x = bbox.minX;\n const y = bbox.minY;\n /*\n * step1: 获得旋转后的shape包围盒\n * 将包围盒对齐到原点,apply旋转矩阵\n * 移回原来的位置\n */\n const bboxWidth = bbox.maxX - bbox.minX;\n const bboxHeight = bbox.maxY - bbox.minY;\n // const matrix = shape.getTotalMatrix();\n const matrix = shape.attr('matrix');\n let ulMatrix;\n if (matrix) {\n ulMatrix = [matrix[0], matrix[1], 0, matrix[3], matrix[4], 0, 0, 0, 1];\n } else {\n ulMatrix = [1, 0, 0, 0, 1, 0, 0, 0, 1];\n }\n const top_left = applyMatrix({ x: 0, y: 0 }, ulMatrix);\n top_left.x += x;\n top_left.y += y;\n const top_right = applyMatrix({ x: bboxWidth, y: 0 }, ulMatrix);\n top_right.x += x;\n top_right.y += y;\n const bottom_left = applyMatrix({ x: 0, y: bboxHeight }, ulMatrix);\n bottom_left.x += x;\n bottom_left.y += y;\n const bottom_right = applyMatrix({ x: bboxWidth, y: bboxHeight }, ulMatrix);\n bottom_right.x += x;\n bottom_right.y += y;\n /** step2:根据旋转后的画布位置重新计算包围盒,以免图形进行旋转后上下颠倒 */\n const points = [top_left, top_right, bottom_left, bottom_right];\n points.sort((a, b) => {\n return a.y - b.y;\n });\n const minY = points[0].y;\n const maxY = points[points.length - 1].y;\n const tops = [points[0], points[1]];\n const bottoms = [points[2], points[3]];\n const topLeft = tops[0].x < tops[1].x ? tops[0] : tops[1];\n const topRight = tops[0].x < tops[1].x ? tops[1] : tops[0];\n const bottomLeft = bottoms[0].x < bottoms[1].x ? bottoms[0] : bottoms[1];\n const bottomRight = bottoms[0].x < bottoms[1].x ? bottoms[1] : bottoms[0];\n points.sort((a, b) => {\n return a.x - b.x;\n });\n const minX = points[0].x;\n const maxX = points[points.length - 1].x;\n const node = {\n width: maxX - minX,\n height: maxY - minY,\n left: minX,\n right: maxX,\n top: minY,\n bottom: maxY,\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n centerX: minX + (maxX - minX) / 2,\n centerY: minY + (maxY - minY) / 2,\n // shape\n };\n return node;\n}\n\n/**\n * 线简化算法\n */\n\nconst THRESHOLD = 2;\n\nfunction lineSimplification(points) {\n if (points.length < 5) {\n return points;\n }\n return DouglasPeucker(points, THRESHOLD);\n}\n\n// https://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm\nfunction DouglasPeucker(points, threshold) {\n let result;\n let max = -Infinity;\n let index = 0;\n const endIndex = points.length - 1;\n for (let i = 1; i < endIndex; i++) {\n const point = points[i];\n const line = { start: points[0], end: points[endIndex] };\n const dist = distBetweenPointLine(point, line.start, line.end);\n if (dist > max) {\n max = dist;\n index = i;\n }\n }\n\n if (max > threshold) {\n const list1 = DouglasPeucker(points.slice(0, index + 1), threshold);\n const list2 = DouglasPeucker(points.slice(index, points.length), threshold);\n result = list1.concat(list2);\n } else {\n result = [points[0], points[points.length - 1]];\n }\n return result;\n}\n\n/** 统计的以后迁出去,暂时先放这里 */\nfunction getMedian(array) {\n const list = clone(array);\n list.sort((a, b) => {\n return a - b;\n });\n\n const half = Math.floor(list.length / 2);\n\n if (list.length % 2) {\n return list[half];\n }\n\n return (list[half - 1] + list[half]) / 2.0;\n}\n\nfunction getMean(array) {\n let sum: number = 0;\n each(array, (num: number) => {\n sum += num;\n });\n return sum / array.length;\n}\n\nfunction sturges(values) {\n return Math.ceil(Math.log(values.length) / Math.LN2) + 1;\n}\n\nexport {\n applyMatrix,\n isBetween,\n getLineIntersect,\n isPointInPolygon,\n distBetweenPoints,\n distBetweenPointLine,\n isPolygonIntersection,\n minDistBetweenConvexPolygon,\n bboxOnRotate,\n dotProduct2D,\n crossProduct2D,\n crossProduct3D,\n sub2D,\n angleTo,\n lineSimplification,\n getMedian,\n getMean,\n sturges,\n dist2,\n};\n\n/**\n * 获取 x/y/width/height指定的BBox边界上的所有点,由step抽样\n * @param x\n * @param y\n * @param width\n * @param height\n * @param step\n */\nexport function getStrokePoints(x: number, y: number, width: number, height: number, step = 2) {\n const points: Array<[number, number]> = [];\n // top\n for (let curX = x; curX <= x + width; curX += step) {\n points.push([curX, y]);\n }\n // right\n for (let curY = y; curY <= y + height; curY += step) {\n points.push([x + width, curY]);\n }\n // bottom\n for (let curX = x + width; curX >= x; curX -= step) {\n points.push([curX, y + height]);\n }\n // left\n for (let curY = y + height; curY >= y; curY -= step) {\n points.push([x, curY]);\n }\n return points;\n}\n","import { head, filter, map, some } from '@antv/util';\nimport { View, Geometry, Element, IShape, IGroup, IElement, MappingDatum, ORIGIN } from '../dependents';\nimport BBox from '../util/bbox';\n\nexport function getAllGeometryByType(view: View, type: string): Geometry[] {\n return filter(view.geometries, (geometry: Geometry) => geometry.type === type);\n}\n\nexport function getGeometryByType(view: View, type: string): Geometry | undefined {\n return head(getAllGeometryByType(view, type));\n}\n\nexport function getGeometryShapes(geometry: Geometry): (IShape | IGroup)[] {\n return map(geometry.elements, (element: Element) => element.shape);\n}\n\nexport function forEachGeometry(view: View, callback: (geometry: Geometry) => void) {\n view.geometries.forEach(callback);\n}\n\nexport function forEachElement(view: View, callback: (element: Element) => void) {\n view.geometries.forEach((geometry: Geometry) => {\n geometry.elements.forEach((element) => {\n callback(element);\n });\n });\n}\n\n/** 检测是否有和已存在的Shape数据`相等`的情况 */\nexport function checkOriginEqual(\n cur: IElement,\n dones: IElement[],\n compare: (a: MappingDatum, b: MappingDatum) => boolean\n) {\n return some(dones, (done) => {\n return compare(done.get(ORIGIN), cur.get(ORIGIN));\n });\n}\n\n/** 将label调整到panel内 */\nexport function moveInPanel(shape: IElement, panel: BBox) {\n const box = shape.getBBox();\n let deltaX = 0;\n let deltaY = 0;\n\n if (box.minX < panel.minX) {\n deltaX = box.minX - panel.minX;\n } else if (box.maxX > panel.maxX) {\n deltaX = box.maxX - panel.maxX;\n }\n if (deltaX) {\n shape.attr('x', shape.attr('x') - deltaX);\n }\n\n if (box.minY < panel.minY) {\n deltaY = box.minY - panel.minY;\n } else if (box.maxY > panel.maxY) {\n deltaY = box.maxY - panel.maxY;\n }\n if (deltaY) {\n shape.attr('y', shape.attr('y') - deltaY);\n }\n}\n\n/**\n * 计算两个矩形之间的堆叠区域面积\n */\nexport function getOverlapArea(a: BBox, b: BBox, margin = 0) {\n const xOverlap = Math.max(\n 0,\n Math.min(a.x + a.width + margin, b.x + b.width + margin) - Math.max(a.x - margin, b.x - margin)\n );\n const yOverlap = Math.max(\n 0,\n Math.min(a.y + a.height + margin, b.y + b.height + margin) - Math.max(a.y - margin, b.y - margin)\n );\n\n return xOverlap * yOverlap;\n}\n\n/** 检测是否和已布局的堆叠 */\nexport function checkShapeOverlap(cur: IElement, dones: IElement[]) {\n const box = cur.getBBox();\n return some(dones, (done) => {\n const target = done.getBBox();\n return getOverlapArea(box, target, 2) > 0;\n });\n}\n","// components parser\nimport AxisParser from './axis/parser';\nimport GuideLine from './guide-line';\nimport LabelParser from './label/parser';\n\n// components state methods\nimport axisState from './axis/state';\nimport labelState from './label/state';\nimport tooltipState from './tooltip/state';\n\ntype FirstArgs = T extends new (first: infer U) => any ? U : never;\n\nconst COMPONENT_MAPPER = {\n axis: AxisParser,\n label: LabelParser,\n guideLine: GuideLine,\n};\n\nconst STATE_MAPPER = {\n tooltip: tooltipState,\n label: labelState,\n axis: axisState,\n};\n\nexport function getComponent(\n name: K,\n cfg: FirstArgs\n) {\n const Components = COMPONENT_MAPPER[name];\n return new Components(cfg).config;\n}\n\nexport function getComponentStateMethod(name, type) {\n return STATE_MAPPER[name][type];\n}\n","import { isNil, isNumber, filter } from '@antv/util';\nimport { timeIntervals } from '../interface/config';\nimport { ScaleConfig } from '@antv/scale';\n\nfunction adjustTimeTickInterval(interval: string) {\n const intervals = timeIntervals;\n const intervalArr = interval.split(' ');\n const basicInterval = intervals[intervalArr[1]];\n const intervalCount = parseInt(intervalArr[0], 10);\n return [basicInterval.format, intervalCount * basicInterval.value];\n}\n\nexport function extractScale(desScale, axisConfig) {\n if (!axisConfig) {\n return desScale;\n }\n\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'tickCount')) {\n desScale.tickCount = axisConfig.tickCount;\n }\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'type')) {\n // fixme: dateTime plot层处理\n if (axisConfig.type !== 'dateTime') {\n desScale.type = axisConfig.type;\n }\n }\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'tickInterval')) {\n if (axisConfig.type === 'time') {\n desScale.tickInterval = adjustTimeTickInterval(axisConfig.tickInterval);\n } else {\n desScale.tickInterval = axisConfig.tickInterval;\n }\n }\n\n if (axisConfig.type === 'time' && axisConfig.mask) {\n desScale.mask = axisConfig.mask;\n }\n\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'min')) {\n desScale.min = axisConfig.min;\n }\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'max')) {\n desScale.max = axisConfig.max;\n }\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'minLimit')) {\n desScale.minLimit = axisConfig.minLimit;\n }\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'maxLimit')) {\n desScale.maxLimit = axisConfig.maxLimit;\n }\n\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'nice')) {\n desScale.nice = axisConfig.nice;\n }\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'formatter')) {\n desScale.formatter = axisConfig.formatter;\n }\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'exponent')) {\n desScale.exponent = axisConfig.exponent;\n }\n if (Object.prototype.hasOwnProperty.call(axisConfig, 'base')) {\n desScale.base = axisConfig.base;\n }\n if (axisConfig.tickMethod) {\n desScale.tickMethod = axisConfig.tickMethod;\n }\n}\n\nexport function trySetScaleMinToZero(desScale: ScaleConfig, data: (number | number[] | string | undefined | null)[]) {\n const validData: number[] = filter(data, (v) => isNumber(v)) as number[];\n const min = Math.min(...validData);\n const max = Math.max(...validData);\n\n if (min > 0) {\n if (isNil(desScale.min)) {\n desScale.min = 0;\n }\n } else if (max < 0) {\n if (isNil(desScale.max)) {\n desScale.max = 0;\n }\n }\n}\n","import { each } from '@antv/util';\n\nexport function rgb2arr(str: string) {\n const colorStr: string = str.indexOf('#') === 0 ? str.substr(1) : str;\n const arr = [];\n arr.push(parseInt(colorStr.substr(0, 2), 16));\n arr.push(parseInt(colorStr.substr(2, 2), 16));\n arr.push(parseInt(colorStr.substr(4, 2), 16));\n return arr;\n}\n\nexport function toHex(value) {\n let v;\n v = Math.round(value);\n v = v.toString(16);\n if (v.length === 1) {\n v = `0${value}`;\n }\n return v;\n}\n\nexport function arr2rgb(arr) {\n return `#${toHex(arr[0]) + toHex(arr[1]) + toHex(arr[2])}`;\n}\n\nexport function mappingColor(band, gray) {\n let reflect;\n each(band, (b) => {\n const map = b;\n if (gray >= map.from && gray < map.to) {\n reflect = map.color;\n }\n });\n return reflect;\n}\n\n// 根据YIQ亮度判断指定颜色取反色是不是白色\n// http://24ways.org/2010/calculating-color-contrast\nexport const isContrastColorWhite = (rgb: string): boolean => {\n const [r, g, b] = rgb2arr(rgb);\n const isDark = (r * 299 + g * 587 + b * 114) / 1000 < 128;\n\n return isDark;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.piMod = exports.getBBoxRange = exports.getBBoxByArray = exports.isNumberEqual = exports.distance = void 0;\nfunction minNum(array) {\n return Math.min.apply(null, array);\n}\nfunction maxNum(array) {\n return Math.max.apply(null, array);\n}\n/**\n * 两点之间的距离\n * @param {number} x1 起始点 x\n * @param {number} y1 起始点 y\n * @param {number} x2 结束点 x\n * @param {number} y2 结束点 y\n * @return {number} 距离\n */\nfunction distance(x1, y1, x2, y2) {\n var dx = x1 - x2;\n var dy = y1 - y2;\n return Math.sqrt(dx * dx + dy * dy);\n}\nexports.distance = distance;\nfunction isNumberEqual(v1, v2) {\n return Math.abs(v1 - v2) < 0.001;\n}\nexports.isNumberEqual = isNumberEqual;\nfunction getBBoxByArray(xArr, yArr) {\n var minX = minNum(xArr);\n var minY = minNum(yArr);\n var maxX = maxNum(xArr);\n var maxY = maxNum(yArr);\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n };\n}\nexports.getBBoxByArray = getBBoxByArray;\nfunction getBBoxRange(x1, y1, x2, y2) {\n return {\n minX: minNum([x1, x2]),\n maxX: maxNum([x1, x2]),\n minY: minNum([y1, y2]),\n maxY: maxNum([y1, y2]),\n };\n}\nexports.getBBoxRange = getBBoxRange;\nfunction piMod(angle) {\n return (angle + Math.PI * 2) % (Math.PI * 2);\n}\nexports.piMod = piMod;\n//# sourceMappingURL=util.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DEFAULT_Y = 0; // 默认的 y 的值\n// 偏移之后,间距\nexports.MARGIN_RATIO = 1 / 2;\nexports.DODGE_RATIO = 1 / 2;\n// 散点分开之后,距离边界的距离\nexports.GAP = 0.05;\n//# sourceMappingURL=constant.js.map","import { IG } from '../dependents';\n\nconst ENGINES: Record = {};\n\n/**\n * 通过名字获取渲染 engine\n * @param name 渲染引擎名字\n * @returns G engine\n */\nexport function getEngine(name: string): IG {\n const G = ENGINES[name];\n\n if (!G) {\n throw new Error(`G engine '${name}' is not exist, please register it at first.`);\n }\n\n return G;\n}\n\n/**\n * 注册渲染引擎\n * @param name\n * @param engine\n */\nexport function registerEngine(name: string, engine: IG) {\n ENGINES[name] = engine;\n}\n","import { toArray } from '@antv/util';\nimport { SHAPE_TO_TAGS } from '../constant';\n/**\n * 创建并返回图形的 svg 元素\n * @param type svg类型\n */\nexport function createSVGElement(type) {\n return document.createElementNS('http://www.w3.org/2000/svg', type);\n}\n/**\n * 创建并返回图形的 dom 元素\n * @param {IShape} shape 图形\n * @return {SVGElement}\n */\nexport function createDom(shape) {\n var type = SHAPE_TO_TAGS[shape.type];\n var parent = shape.getParent();\n if (!type) {\n throw new Error(\"the type \" + shape.type + \" is not supported by svg\");\n }\n var element = createSVGElement(type);\n if (shape.get('id')) {\n element.id = shape.get('id');\n }\n shape.set('el', element);\n shape.set('attrs', {});\n // 对于 defs 下的 dom 节点,parent 为空,通过 context 统一挂载到 defs 节点下\n if (parent) {\n var parentNode = parent.get('el');\n if (parentNode) {\n parentNode.appendChild(element);\n }\n else {\n // parentNode maybe null for group\n parentNode = parent.createDom();\n parent.set('el', parentNode);\n parentNode.appendChild(element);\n }\n }\n return element;\n}\n/**\n * 对 dom 元素进行排序\n * @param {IElement} element 元素\n * @param {sorter} function 排序函数\n */\nexport function sortDom(element, sorter) {\n var el = element.get('el');\n var childList = toArray(el.children).sort(sorter);\n // create empty fragment\n var fragment = document.createDocumentFragment();\n childList.forEach(function (child) {\n fragment.appendChild(child);\n });\n el.appendChild(fragment);\n}\n/**\n * 将 dom 元素移动到父元素下的指定位置\n * @param {SVGElement} element dom 元素\n * @param {number} targetIndex 目标位置(从 0 开始)\n */\nexport function moveTo(element, targetIndex) {\n var parentNode = element.parentNode;\n var siblings = Array.from(parentNode.childNodes).filter(\n // 要求为元素节点,且不能为 defs 节点\n function (node) { return node.nodeType === 1 && node.nodeName.toLowerCase() !== 'defs'; });\n // 获取目标节点\n var target = siblings[targetIndex];\n var currentIndex = siblings.indexOf(element);\n // 如果目标节点存在\n if (target) {\n // 当前索引 > 目标索引,直接插入到目标节点之前即可\n if (currentIndex > targetIndex) {\n parentNode.insertBefore(element, target);\n }\n else if (currentIndex < targetIndex) {\n // 当前索引 < 目标索引\n // 获取目标节点的下一个节点\n var targetNext = siblings[targetIndex + 1];\n // 如果目标节点的下一个节点存在,插入到该节点之前\n if (targetNext) {\n parentNode.insertBefore(element, targetNext);\n }\n else {\n // 如果该节点不存在,则追加到末尾\n parentNode.appendChild(element);\n }\n }\n }\n else {\n parentNode.appendChild(element);\n }\n}\n//# sourceMappingURL=dom.js.map","/* 依赖的模块,在这里统一引入,方便打包优化 */\n\n// G\nexport { ICanvas, IElement, IGroup, IShape } from '@antv/g-base/lib/interfaces';\nexport { PathCommand, BBox, Point, ShapeAttrs } from '@antv/g-base/lib/types';\nexport { Event, AbstractGroup, AbstractShape } from '@antv/g-base';\n// 需要有 G-base 提供 g engine 类型定义\nexport type IG = any;\n\n// adjust\nexport { registerAdjust, getAdjust, Adjust } from '@antv/adjust/lib/factory';\n\n// attr\nexport { getAttribute, Attribute } from '@antv/attr/lib/factory';\nexport { Color } from '@antv/attr';\n\n// coordinate\nexport { getCoordinate, registerCoordinate, Coordinate, CoordinateCfg } from '@antv/coord';\n\n// scale\nexport { getScale, registerScale, Scale, ScaleConfig } from '@antv/scale';\nexport { Tick } from '@antv/scale/lib/types';\n\n// component\nimport {\n Annotation,\n Axis,\n Component,\n Crosshair,\n Grid,\n GroupComponent,\n HtmlComponent,\n Legend,\n Slider,\n Tooltip,\n} from '@antv/component';\nexport { IComponent, IList } from '@antv/component/lib/interfaces';\nexport {\n CategoryLegendCfg,\n CircleAxisCfg,\n LineAxisCfg,\n GroupComponentCfg,\n ListItem,\n AxisLineCfg,\n AxisTickLineCfg,\n AxisSubTickLineCfg,\n AxisTitleCfg,\n AxisLabelCfg,\n GridLineCfg,\n LegendMarkerCfg,\n LegendTitleCfg,\n LegendBackgroundCfg,\n LegendItemNameCfg,\n LegendItemValueCfg,\n ContinueLegendCfg,\n ContinueLegendTrackCfg,\n ContinueLegendRailCfg,\n ContinueLegendLabelCfg,\n ContinueLegendHandlerCfg,\n CrosshairLineCfg,\n CrosshairTextCfg,\n CrosshairTextBackgroundCfg,\n SliderCfg,\n TrendCfg,\n EnhancedTextCfg,\n LineAnnotationTextCfg,\n} from '@antv/component/lib/types';\nexport { HtmlComponent, GroupComponent, Component, Crosshair };\nexport { Annotation };\n// axis\nconst { Line: LineAxis, Circle: CircleAxis } = Axis;\nexport { LineAxis, CircleAxis };\n// grid\nconst { Line: LineGrid, Circle: CircleGrid } = Grid;\nexport { LineGrid, CircleGrid };\n// legend\nconst { Category: CategoryLegend, Continuous: ContinuousLegend } = Legend;\nexport { CategoryLegend, ContinuousLegend };\n// Tooltip\nconst { Html: HtmlTooltip } = Tooltip;\nexport { HtmlTooltip };\n// Slider\nexport { Slider };\n","import { firstValue, get, isEmpty, isNil, isNumber, isString, valuesOfKey } from '@antv/util';\nimport { getScale, Scale } from '../dependents';\nimport { LooseObject, ScaleOption } from '../interface';\n\nconst dateRegex = /^(?:(?!0000)[0-9]{4}([-/.]+)(?:(?:0?[1-9]|1[0-2])\\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\\1(?:29|30)|(?:0?[13578]|1[02])\\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-/.]+)0?2\\2(?:29))(\\s+([01]|([01][0-9]|2[0-3])):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]))?$/;\n\n/**\n * 获取字段对应数据的类型\n * @param field 数据字段名\n * @param data 数据源\n * @returns default type 返回对应的数据类型\n */\nfunction getDefaultType(value: any): string {\n let type = 'linear';\n if (dateRegex.test(value)) {\n type = 'time';\n } else if (isString(value)) {\n type = 'cat';\n }\n return type;\n}\n\n/**\n * @ignore\n * 为指定的 `field` 字段数据创建 scale\n * @param field 字段名\n * @param [data] 数据集,可为空\n * @param [scaleDef] 列定义,可为空\n * @returns scale 返回创建的 Scale 实例\n */\nexport function createScaleByField(field: string | number, data?: LooseObject[] | [], scaleDef?: ScaleOption): Scale {\n const validData = data || [];\n\n if (isNumber(field) || (isNil(firstValue(validData, field)) && isEmpty(scaleDef))) {\n const Identity = getScale('identity');\n return new Identity({\n field: field.toString(),\n values: [field],\n });\n }\n\n const values = valuesOfKey(validData, field);\n\n // 如果已经定义过这个度量\n const type = get(scaleDef, 'type', getDefaultType(values[0]));\n const ScaleCtor = getScale(type);\n return new ScaleCtor({\n field,\n values,\n ...scaleDef,\n });\n}\n\n/**\n * @ignore\n * 同步 scale\n * @todo 是否可以通过 scale.update() 方法进行更新\n * @param scale 需要同步的 scale 实例\n * @param newScale 同步源 Scale\n */\nexport function syncScale(scale: Scale, newScale: Scale) {\n if (scale.type !== 'identity' && newScale.type !== 'identity') {\n const obj = {};\n for (const k in newScale) {\n if (Object.prototype.hasOwnProperty.call(newScale, k)) {\n obj[k] = newScale[k];\n }\n }\n\n scale.change(obj);\n }\n}\n\n/**\n * @ignore\n * get the scale name, if alias exist, return alias, or else field\n * @param scale\n * @returns the name of field\n */\nexport function getName(scale: Scale): string {\n return scale.alias || scale.field;\n}\n","import { get, isBoolean } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale } from '../dependents';\nimport { AxisCfg, AxisOption, Point, Region } from '../interface';\nimport { getName } from './scale';\nimport { vec2 } from '@antv/matrix-util';\n\n/**\n * @ignore\n * get axis relative region ( 0 ~ 1) by direction when coordinate is rect\n * @param direction\n * @returns axis coordinate region\n */\nexport function getLineAxisRelativeRegion(direction: DIRECTION): Region {\n let start;\n let end;\n\n switch (direction) {\n case DIRECTION.TOP:\n start = { x: 0, y: 1 };\n end = { x: 1, y: 1 };\n break;\n case DIRECTION.RIGHT:\n start = { x: 1, y: 0 };\n end = { x: 1, y: 1 };\n break;\n case DIRECTION.BOTTOM:\n start = { x: 0, y: 0 };\n end = { x: 1, y: 0 };\n break;\n case DIRECTION.LEFT:\n start = { x: 0, y: 0 };\n end = { x: 0, y: 1 };\n break;\n default:\n start = end = { x: 0, y: 0 };\n }\n\n return { start, end };\n}\n\n/**\n * @ignore\n * get axis relative region ( 0 ~ 1) by direction when coordinate is polar\n * @param coordinate\n * @returns axis coordinate region\n */\nexport function getCircleAxisRelativeRegion(coordinate: Coordinate) {\n let start;\n let end;\n if (coordinate.isTransposed) {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 1,\n y: 0,\n };\n } else {\n start = {\n x: 0,\n y: 0,\n };\n end = {\n x: 0,\n y: 1,\n };\n }\n\n return { start, end };\n}\n\n/**\n * @ignore\n * get the axis region from coordinate\n * @param coordinate\n * @param direction\n * @returns the axis region (start point, end point)\n */\nexport function getAxisRegion(coordinate: Coordinate, direction: DIRECTION): Region {\n let region = { start: { x: 0, y: 0 }, end: { x: 0, y: 0 } };\n if (coordinate.isRect) {\n region = getLineAxisRelativeRegion(direction);\n } else if (coordinate.isPolar) {\n region = getCircleAxisRelativeRegion(coordinate);\n }\n\n const { start, end } = region;\n return {\n start: coordinate.convert(start),\n end: coordinate.convert(end),\n };\n}\n\n/**\n * @ignore\n * get axis factor\n * @param coordinate\n * @param direction\n * @returns factor\n */\nexport function getAxisFactor(coordinate: Coordinate, direction: DIRECTION): number {\n // rect coordinate, by direction\n if (coordinate.isRect) {\n return coordinate.isTransposed\n ? [DIRECTION.RIGHT, DIRECTION.BOTTOM].includes(direction)\n ? 1\n : -1\n : [DIRECTION.BOTTOM, DIRECTION.RIGHT].includes(direction)\n ? -1\n : 1;\n }\n\n // polar y axis, by angle\n if (coordinate.isPolar) {\n const startAngle = coordinate.x.start;\n return startAngle < 0 ? -1 : 1;\n }\n\n return 1;\n}\n\n/**\n * @ignore\n * whether the axis isVertical\n * @param region\n * @returns isVertical\n */\nexport function isVertical(region: Region): boolean {\n const { start, end } = region;\n\n return start.x === end.x;\n}\n\n/**\n * @ignore\n * get factor by region (real position)\n * @param region\n * @param center\n * @returns factor\n */\nexport function getAxisFactorByRegion(region: Region, center: Point): number {\n const { start, end } = region;\n\n const isAxisVertical = isVertical(region);\n\n // 垂直\n if (isAxisVertical) {\n // 左方,从下到上、右方,从上到下\n if ((start.y - end.y) * (center.x - start.x) > 0) {\n return 1;\n } else {\n return -1;\n }\n } else {\n // 下方,从左到右、上方,从右到做\n if ((end.x - start.x) * (start.y - center.y) > 0) {\n return -1;\n } else {\n return 1;\n }\n }\n}\n\n/**\n * @ignore\n * get the axis cfg from theme\n * @param theme view theme object\n * @param direction axis direction\n * @returns axis theme cfg\n */\nexport function getAxisThemeCfg(theme: object, direction: string): object {\n return get(theme, ['components', 'axis', direction], {});\n}\n\n/**\n * @ignore\n * get circle axis center and radius\n * @param coordinate\n */\nexport function getCircleAxisCenterRadius(coordinate: Coordinate) {\n // @ts-ignore\n const { x, y, circleCenter: center } = coordinate;\n const isReflectY = y.start > y.end;\n const start = coordinate.isTransposed\n ? coordinate.convert({\n x: isReflectY ? 0 : 1,\n y: 0,\n })\n : coordinate.convert({\n x: 0,\n y: isReflectY ? 0 : 1,\n });\n\n const startVector: [number, number] = [start.x - center.x, start.y - center.y];\n const normalVector: [number, number] = [1, 0];\n const startAngle =\n start.y > center.y ? vec2.angle(startVector, normalVector) : vec2.angle(startVector, normalVector) * -1;\n const endAngle = startAngle + (x.end - x.start);\n const radius = Math.sqrt((start.x - center.x) ** 2 + (start.y - center.y) ** 2);\n\n return {\n center,\n radius,\n startAngle,\n endAngle,\n };\n}\n\n/**\n * @ignore\n * 从配置中获取单个字段的 axis 配置\n * @param axes\n * @param field\n * @returns the axis option of field\n */\nexport function getAxisOption(axes: Record | boolean, field: string) {\n if (isBoolean(axes)) {\n return axes === false ? false : {};\n }\n return get(axes, [field]);\n}\n\n/**\n * @ignore\n * 如果配置了 position,则使用配置\n * @param axisOption\n * @param def\n */\nexport function getAxisDirection(axisOption: AxisOption, def: DIRECTION): DIRECTION {\n return get(axisOption, 'position', def);\n}\n\n/**\n * 获取 axis 的 title 文本\n * @param scale\n * @param axisOption\n */\nexport function getAxisTitleText(scale: Scale, axisOption: AxisCfg): string {\n return get(axisOption, ['title', 'text'], getName(scale));\n}\n","import { deepMix, each, every, get, isNil } from '@antv/util';\nimport { LAYER } from '../constant';\nimport { IGroup } from '../dependents';\nimport { AxisCfg, Condition, Datum, FacetCfg, FacetData, FacetDataFilter, Region } from '../interface';\n\nimport View from '../chart/view';\nimport { getAxisOption } from '../util/axis';\n\n/**\n * facet 基类\n * - 定义生命周期,方便自定义 facet\n * - 提供基础的生命流程方法\n *\n * 生命周期:\n *\n * 初始化 init\n * 1. 初始化容器\n * 2. 数据分面,生成分面布局信息\n *\n * 渲染阶段 render\n * 1. view 创建\n * 2. title\n * 3. axis\n *\n * 清除阶段 clear\n * 1. 清除 view\n *\n * 销毁阶段 destroy\n * 1. clear\n * 2. 清除事件\n * 3. 清除 group\n */\nexport abstract class Facet = FacetCfg, F extends FacetData = FacetData> {\n /** 分面所在的 view */\n public view: View;\n /** 分面容器 */\n public container: IGroup;\n /** 是否销毁 */\n public destroyed: boolean = false;\n\n /** 分面的配置项 */\n protected cfg: C;\n /** 分面之后的所有分面数据结构 */\n protected facets: F[] = [];\n\n constructor(view: View, cfg: C) {\n this.view = view;\n this.cfg = deepMix({}, this.getDefaultCfg(), cfg);\n }\n\n /**\n * 初始化过程\n */\n public init() {\n // 初始化容器\n if (!this.container) {\n this.container = this.createContainer();\n }\n\n // 生成分面布局信息\n const data = this.view.getData();\n this.facets = this.generateFacets(data);\n }\n\n /**\n * 渲染分面,由上层 view 调用。包括:\n * - 分面 view\n * - 轴\n * - title\n *\n * 子类可以复写,添加一些其他组件,比如滚动条等\n */\n public render() {\n this.renderViews();\n }\n\n /**\n * 更新 facet\n */\n public update() {\n // 其实不用做任何事情,因为 facet 最终生成的 View 和 Geometry 都在父 view 的更新中处理了\n }\n\n /**\n * 清空,clear 之后如果还需要使用,需要重新调用 init 初始化过程\n * 一般在数据有变更的时候调用,重新进行数据的分面逻辑\n */\n public clear() {\n this.clearFacetViews();\n }\n\n /**\n * 销毁\n */\n public destroy() {\n this.clear();\n\n if (this.container) {\n this.container.remove(true);\n this.container = undefined;\n }\n\n this.destroyed = true;\n this.view = undefined;\n this.facets = [];\n }\n\n /**\n * 根据 facet 生成 view,可以给上层自定义使用\n * @param facet\n */\n protected facetToView(facet: F): View {\n const { region, data, padding = this.cfg.padding } = facet;\n\n const view = this.view.createView({\n region,\n padding,\n });\n\n // 设置分面的数据\n view.data(data || []);\n facet.view = view;\n\n // 前置钩子\n this.beforeEachView(view, facet);\n\n const { eachView } = this.cfg;\n if (eachView) {\n eachView(view, facet);\n }\n\n // 后置钩子\n this.afterEachView(view, facet);\n\n return view;\n }\n\n // 创建容器\n private createContainer(): IGroup {\n const foregroundGroup = this.view.getLayer(LAYER.FORE);\n return foregroundGroup.addGroup();\n }\n\n /**\n * 初始化 view\n */\n private renderViews() {\n this.createFacetViews();\n }\n\n /**\n * 创建 分面 view\n */\n private createFacetViews(): View[] {\n // 使用分面数据 创建分面 view\n return this.facets.map(\n (facet): View => {\n return this.facetToView(facet);\n }\n );\n }\n\n /**\n * 从 view 中清除 facetView\n */\n private clearFacetViews() {\n // 从 view 中移除分面 view\n each(this.facets, (facet) => {\n if (facet.view) {\n this.view.removeView(facet.view);\n facet.view = undefined;\n }\n });\n }\n\n // 其他一些提供给子类使用的方法\n\n /**\n * 获取这个字段对应的所有值,数组\n * @protected\n * @param data 数据\n * @param field 字段名\n * @return 字段对应的值\n */\n protected getFieldValues(data: Datum[], field: string): string[] {\n const rst = [];\n const cache: Record = {};\n\n // 去重、去除 Nil 值\n each(data, (d: Datum) => {\n const value = d[field];\n if (!isNil(value) && !cache[value]) {\n rst.push(value);\n cache[value] = true;\n }\n });\n\n return rst;\n }\n\n /**\n * 获得每个分面的 region,平分区域\n * @param rows row 总数\n * @param cols col 总数\n * @param xIndex x 方向 index\n * @param yIndex y 方向 index\n */\n protected getRegion(rows: number, cols: number, xIndex: number, yIndex: number): Region {\n // x, y 方向均分 100% 宽高\n const xRatio = 1 / (cols === 0 ? 1 : cols);\n const yRatio = 1 / (rows === 0 ? 1 : rows);\n\n const start = {\n x: xRatio * xIndex,\n y: yRatio * yIndex,\n };\n\n const end = {\n x: xRatio * (xIndex + 1),\n y: yRatio * (yIndex + 1),\n };\n\n return {\n start,\n end,\n };\n }\n\n protected getDefaultCfg() {\n return {\n eachView: undefined,\n showTitle: true,\n padding: 10,\n fields: [],\n };\n }\n\n /**\n * 默认的 title 样式,因为有的分面是 title,有的分面配置是 columnTitle、rowTitle\n */\n protected getDefaultTitleCfg() {\n // @ts-ignore\n const fontFamily = this.view.getTheme().fontFamily;\n return {\n style: {\n fontSize: 14,\n fill: '#666',\n fontFamily,\n },\n };\n }\n\n /**\n * 处理 axis 的默认配置\n * @param view\n * @param facet\n */\n protected processAxis(view: View, facet: F) {\n const options = view.getOptions();\n\n const coordinateOption = options.coordinate;\n const geometries = view.geometries;\n\n const coordinateType = get(coordinateOption, 'type', 'rect');\n\n if (coordinateType === 'rect' && geometries.length) {\n if (isNil(options.axes)) {\n // @ts-ignore\n options.axes = {};\n }\n const axes = options.axes;\n\n const [x, y] = geometries[0].getXYFields();\n\n const xOption = getAxisOption(axes, x);\n const yOption = getAxisOption(axes, y);\n\n if (xOption !== false) {\n options.axes[x] = this.getXAxisOption(x, axes, xOption, facet);\n }\n\n if (yOption !== false) {\n options.axes[y] = this.getYAxisOption(y, axes, yOption, facet);\n }\n }\n }\n\n /**\n * 获取分面数据\n * @param conditions\n */\n protected getFacetDataFilter(conditions: Condition[]): FacetDataFilter {\n return (datum: Datum) => {\n // 过滤出全部满足条件的数据\n return every(conditions, (condition) => {\n const { field, value } = condition;\n\n if (!isNil(value) && field) {\n return datum[field] === value;\n }\n return true;\n });\n };\n }\n\n /**\n * @override 开始处理 eachView\n * @param view\n * @param facet\n */\n protected abstract beforeEachView(view: View, facet: F);\n\n /**\n * @override 处理 eachView 之后\n * @param view\n * @param facet\n */\n protected abstract afterEachView(view: View, facet: F);\n\n /**\n * @override 生成分面数据,包含布局\n * @param data\n */\n protected abstract generateFacets(data: Datum[]): F[];\n\n /**\n * 获取 x 轴的配置\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected abstract getXAxisOption(x: string, axes: any, option: AxisCfg, facet: F): object;\n\n /**\n * 获取 y 轴的配置\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected abstract getYAxisOption(y: string, axes: any, option: AxisCfg, facet: F): object;\n}\n","import { lowerCase } from '@antv/util';\nimport { FacetCtor } from '../interface';\nexport { Facet } from './facet';\n\n/**\n * 所有的 Facet 类\n */\nconst Facets: Record = {};\n\n/**\n * 根据 type 获取 facet 类\n * @param type 分面类型\n */\nexport const getFacet = (type: string): FacetCtor => {\n return Facets[lowerCase(type)];\n};\n\n/**\n * 注册一个 Facet 类\n * @param type 分面类型\n * @param ctor 分面类\n */\nexport const registerFacet = (type: string, ctor: FacetCtor) => {\n Facets[lowerCase(type)] = ctor;\n};\n","import { assign } from '@antv/util';\nimport { IAction, IInteractionContext, LooseObject } from '../../interface';\n\n/**\n * Action 的基类\n */\nabstract class Action implements IAction {\n /** Action 名字 */\n public name;\n /** 上下文对象 */\n public context: IInteractionContext;\n /** Action 配置 */\n protected cfg: T;\n /** 配置项的字段,自动负值到 this 上 */\n protected cfgFields: string[];\n\n constructor(context: IInteractionContext, cfg?: T) {\n this.context = context;\n this.cfg = cfg;\n context.addAction(this);\n }\n\n /**\n * 设置配置项传入的值\n * @param cfg\n */\n protected applyCfg(cfg) {\n assign(this, cfg);\n }\n\n /**\n * Inits action,提供给子类用于继承\n */\n public init() {\n this.applyCfg(this.cfg);\n }\n\n /**\n * Destroys action\n */\n public destroy() {\n // 移除 action\n this.context.removeAction(this);\n // 清空\n this.context = null;\n }\n}\n\nexport default Action;\n","import { ActionCallback } from '../../interface';\nimport Action from './base';\n\n/** 回调函数构建的 Action */\nexport default class CallbackAction extends Action {\n /**\n * 回调函数\n */\n public callback: ActionCallback;\n /**\n * 执行\n */\n public execute() {\n if (this.callback) {\n this.callback(this.context);\n }\n }\n /**\n * 销毁\n */\n public destroy() {\n super.destroy();\n this.callback = null;\n }\n}\n","import { ActionCallback, IInteractionContext, LooseObject } from '../../interface';\nimport Action from './base';\nimport CallbackAction from './callback';\nimport { get } from '@antv/util';\n\n/** Action 构造函数 */\ntype ActionConstructor = new (context: IInteractionContext, cfg?: LooseObject) => Action;\n\n/** @ignore */\ninterface ActionOption {\n ActionClass: ActionConstructor;\n cfg: LooseObject;\n}\n\n// Action 类的缓存\nconst ActionCache: Record = {};\n\n/**\n * 根据名称获取 Action 实例\n * @param actionName - action 的名称\n * @param context 上下文\n * @returns Action 实例\n */\nexport function createAction(actionName: string, context: IInteractionContext): Action {\n const actionOption = ActionCache[actionName];\n let action = null;\n if (actionOption) {\n const { ActionClass, cfg } = actionOption;\n action = new ActionClass(context, cfg);\n action.name = actionName;\n action.init();\n }\n return action;\n}\n\n/**\n * 根据 action 的 name 获取定义的类\n * @param actionName action 的 name\n */\nexport function getActionClass(actionName: string) {\n const actionOption = ActionCache[actionName];\n return get(actionOption, 'ActionClass');\n}\n\n/**\n * 注册 Action\n * @param actionName - action 的名称\n * @param ActionClass - 继承自 action 的类\n */\nexport function registerAction(actionName: string, ActionClass: ActionConstructor, cfg?: LooseObject) {\n ActionCache[actionName] = {\n ActionClass,\n cfg,\n };\n}\n\n/**\n * 取消注册 Action\n * @param actionName action 名称\n */\nexport function unregisterAction(actionName: string) {\n delete ActionCache[actionName];\n}\n\n/**\n * 根据回调函数获取 Action 实例\n * @param callback - action 的回调函数\n * @param context 上下文\n * @returns Action 实例\n */\nexport function createCallbackAction(callback: ActionCallback, context: IInteractionContext): CallbackAction {\n const action = new CallbackAction(context);\n action.callback = callback;\n action.name = 'callback';\n return action;\n}\n","import { each, isEmpty, isNumber, isNumberEqual } from '@antv/util';\nimport { Coordinate, IShape } from '../dependents';\nimport { ShapeInfo } from '../interface';\n\n// 获取图形的包围盒\nfunction getPointsBox(points) {\n if (isEmpty(points)) {\n return null;\n }\n\n let minX = points[0].x;\n let maxX = points[0].x;\n let minY = points[0].y;\n let maxY = points[0].y;\n each(points, (point) => {\n minX = minX > point.x ? point.x : minX;\n maxX = maxX < point.x ? point.x : maxX;\n minY = minY > point.y ? point.y : minY;\n maxY = maxY < point.y ? point.y : maxY;\n });\n\n return {\n minX,\n maxX,\n minY,\n maxY,\n centerX: (minX + maxX) / 2,\n centerY: (minY + maxY) / 2,\n };\n}\n\n/**\n * @ignore\n * 根据弧度计算极坐标系下的坐标点\n * @param centerX\n * @param centerY\n * @param radius\n * @param angleInRadian\n * @returns\n */\nexport function polarToCartesian(centerX: number, centerY: number, radius: number, angleInRadian: number) {\n return {\n x: centerX + radius * Math.cos(angleInRadian),\n y: centerY + radius * Math.sin(angleInRadian),\n };\n}\n\n/**\n * @ignore\n * 根据起始角度计算绘制扇形的 path\n * @param centerX\n * @param centerY\n * @param radius\n * @param startAngleInRadian\n * @param endAngleInRadian\n * @returns\n */\nexport function getSectorPath(\n centerX: number,\n centerY: number,\n radius: number,\n startAngleInRadian: number,\n endAngleInRadian: number,\n innerRadius: number = 0\n) {\n const start = polarToCartesian(centerX, centerY, radius, startAngleInRadian);\n const end = polarToCartesian(centerX, centerY, radius, endAngleInRadian);\n\n const innerStart = polarToCartesian(centerX, centerY, innerRadius, startAngleInRadian);\n const innerEnd = polarToCartesian(centerX, centerY, innerRadius, endAngleInRadian);\n\n if (endAngleInRadian - startAngleInRadian === Math.PI * 2) {\n // 整个圆是分割成两个圆\n const middlePoint = polarToCartesian(centerX, centerY, radius, startAngleInRadian + Math.PI);\n const innerMiddlePoint = polarToCartesian(centerX, centerY, innerRadius, startAngleInRadian + Math.PI);\n const circlePathCommands = [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, 1, 1, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 1, end.x, end.y],\n ['M', innerStart.x, innerStart.y],\n ];\n if (innerRadius) {\n circlePathCommands.push(['A', innerRadius, innerRadius, 0, 1, 0, innerMiddlePoint.x, innerMiddlePoint.y]);\n circlePathCommands.push(['A', innerRadius, innerRadius, 0, 1, 0, innerEnd.x, innerEnd.y]);\n }\n\n circlePathCommands.push(['M', start.x, start.y]);\n circlePathCommands.push(['Z']);\n\n return circlePathCommands;\n }\n\n const arcSweep = endAngleInRadian - startAngleInRadian <= Math.PI ? 0 : 1;\n const sectorPathCommands = [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, arcSweep, 1, end.x, end.y],\n ['L', innerEnd.x, innerEnd.y],\n ];\n if (innerRadius) {\n sectorPathCommands.push(['A', innerRadius, innerRadius, 0, arcSweep, 0, innerStart.x, innerStart.y]);\n }\n sectorPathCommands.push(['L', start.x, start.y]);\n sectorPathCommands.push(['Z']);\n\n return sectorPathCommands;\n}\n\n/**\n * @ignore\n * Gets arc path\n * @param centerX\n * @param centerY\n * @param radius\n * @param startAngleInRadian\n * @param endAngleInRadian\n * @returns\n */\nexport function getArcPath(\n centerX: number,\n centerY: number,\n radius: number,\n startAngleInRadian: number,\n endAngleInRadian: number\n) {\n const start = polarToCartesian(centerX, centerY, radius, startAngleInRadian);\n const end = polarToCartesian(centerX, centerY, radius, endAngleInRadian);\n\n if (isNumberEqual(endAngleInRadian - startAngleInRadian, Math.PI * 2)) {\n const middlePoint = polarToCartesian(centerX, centerY, radius, startAngleInRadian + Math.PI);\n return [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, 1, 1, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 1, start.x, start.y],\n ['A', radius, radius, 0, 1, 0, middlePoint.x, middlePoint.y],\n ['A', radius, radius, 0, 1, 0, start.x, start.y],\n ['Z'],\n ];\n }\n const arcSweep = endAngleInRadian - startAngleInRadian <= Math.PI ? 0 : 1;\n return [\n ['M', start.x, start.y],\n ['A', radius, radius, 0, arcSweep, 1, end.x, end.y],\n ];\n}\n\n/**\n * @ignore\n * 从数据模型中的 points 换算角度\n * @param shapeModel\n * @param coordinate\n * @returns\n */\nexport function getAngle(shapeModel: ShapeInfo, coordinate: Coordinate) {\n const points = shapeModel.points;\n const box = getPointsBox(points);\n let endAngle;\n let startAngle;\n const { startAngle: coordStartAngle, endAngle: coordEndAngle } = coordinate;\n const diffAngle = coordEndAngle - coordStartAngle;\n\n if (coordinate.isTransposed) {\n endAngle = box.maxY * diffAngle;\n startAngle = box.minY * diffAngle;\n } else {\n endAngle = box.maxX * diffAngle;\n startAngle = box.minX * diffAngle;\n }\n endAngle += coordStartAngle;\n startAngle += coordStartAngle;\n return {\n startAngle,\n endAngle,\n };\n}\n\n/**\n * @ignore\n * 计算多边形重心: https://en.wikipedia.org/wiki/Centroid#Of_a_polygon\n */\nexport function getPolygonCentroid(xs: number | number[], ys: number | number[]) {\n if (isNumber(xs) && isNumber(ys)) {\n // 普通色块图,xs 和 ys 是数值\n return [xs, ys];\n }\n let i = -1;\n let x = 0;\n let y = 0;\n let former;\n let current = (xs as number[]).length - 1;\n let diff;\n let k = 0;\n while (++i < (xs as number[]).length) {\n former = current;\n current = i;\n k += diff = xs[former] * ys[current] - xs[current] * ys[former];\n x += (xs[former] + xs[current]) * diff;\n y += (ys[former] + ys[current]) * diff;\n }\n k *= 3;\n return [x / k, y / k];\n}\n\n/**\n * @ignore\n * 获取需要替换的属性,如果原先图形元素存在,而新图形不存在,则设置 undefined\n */\nexport function getReplaceAttrs(sourceShape: IShape, targetShape: IShape) {\n const originAttrs = sourceShape.attr();\n const newAttrs = targetShape.attr();\n each(originAttrs, (v, k) => {\n if (newAttrs[k] === undefined) {\n newAttrs[k] = undefined;\n }\n });\n return newAttrs;\n}\n","import { isArray, isString } from '@antv/util';\n\n/**\n * @ignore\n * Determines whether between is\n * @param value\n * @param start\n * @param end\n * @returns true if between\n */\nexport function isBetween(value: number, start: number, end: number): boolean {\n const min = Math.min(start, end);\n const max = Math.max(start, end);\n\n return value >= min && value <= max;\n}\n\n/**\n * @ignore\n * pads the current string/array with a given value (repeated, if needed) so that the resulting reaches a given length.\n * The padding is applied from the end of the current value.\n *\n * @param source\n * @param targetLength\n * @param padValue\n * @returns\n */\nexport function padEnd(source: string | any[], targetLength: number, padValue: any) {\n if (isString(source)) {\n return source.padEnd(targetLength, padValue);\n } else if (isArray(source)) {\n const sourceLength = source.length;\n if (sourceLength < targetLength) {\n const diff = targetLength - sourceLength;\n for (let i = 0; i < diff; i++) {\n source.push(padValue);\n }\n }\n }\n\n return source;\n}\n\n/**\n * @ignore\n * omit keys of an object.\n * @param obj\n * @param keys\n */\nexport function omit(obj: T, keys: string[]): T {\n keys.forEach((key: string) => {\n delete obj[key];\n });\n\n return obj;\n}\n\n/**\n * @ignore\n * @param sourceArray\n * @param targetArray\n * @param map\n */\nexport function uniq(sourceArray: any[], targetArray: any[] = [], map: object = {}) {\n for (const source of sourceArray) {\n if (!map[source]) {\n targetArray.push(source);\n map[source] = true;\n }\n }\n return targetArray;\n}\n","import { Coordinate } from '../dependents';\nimport { Point } from '../interface';\nimport { getSectorPath } from './graphics';\nimport { isBetween } from './helper';\n\n/**\n * @ignore\n * Gets x dimension length\n * @param coordinate\n * @returns x dimension length\n */\nexport function getXDimensionLength(coordinate): number {\n if (coordinate.isPolar && !coordinate.isTransposed) {\n // 极坐标系下 width 为弧长\n return (coordinate.endAngle - coordinate.startAngle) * coordinate.getRadius();\n }\n\n // 直角坐标系\n const start = coordinate.convert({ x: 0, y: 0 });\n const end = coordinate.convert({ x: 1, y: 0 });\n // 坐标系有可能发生 transpose 等变换,所有通过两点之间的距离进行计算\n return Math.sqrt(Math.pow(end.x - start.x, 2) + Math.pow(end.y - start.y, 2));\n}\n\n/**\n * @ignore\n * Determines whether full circle is\n * @param coordinate\n * @returns true if full circle\n */\nexport function isFullCircle(coordinate: Coordinate): boolean {\n if (coordinate.isPolar) {\n const { startAngle, endAngle } = coordinate;\n return endAngle - startAngle === Math.PI * 2;\n }\n return false;\n}\n\n/**\n * @ignore\n * 获取当前点到坐标系圆心的距离\n * @param coordinate 坐标系\n * @param point 当前点\n * @returns distance to center\n */\nexport function getDistanceToCenter(coordinate: Coordinate, point: Point): number {\n const center = coordinate.getCenter() as Point;\n return Math.sqrt((point.x - center.x) ** 2 + (point.y - center.y) ** 2);\n}\n\n/**\n * @ignore\n * 坐标点是否在坐标系中\n * @param coordinate\n * @param point\n */\nexport function isPointInCoordinate(coordinate: Coordinate, point: Point) {\n let result = false;\n\n if (coordinate) {\n if (coordinate.type === 'theta') {\n const { start, end } = coordinate;\n result = isBetween(point.x, start.x, end.x) && isBetween(point.y, start.y, end.y);\n } else {\n const invertPoint = coordinate.invert(point);\n\n result = isBetween(invertPoint.x, 0, 1) && isBetween(invertPoint.y, 0, 1);\n }\n }\n\n return result;\n}\n\n/**\n * @ignore\n * 获取点到圆心的连线与水平方向的夹角\n */\nexport function getAngleByPoint(coordinate: Coordinate, point: Point): number {\n const center = coordinate.getCenter();\n return Math.atan2(point.y - center.y, point.x - center.x);\n}\n\n/**\n * @ignore\n * 获取同坐标系范围相同的剪切区域\n * @param coordinate\n * @returns\n */\nexport function getCoordinateClipCfg(coordinate: Coordinate, margin: number = 0) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n\n if (coordinate.isPolar) {\n const { startAngle, endAngle } = coordinate;\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n\n return {\n type: 'path',\n startState: {\n path: getSectorPath(center.x, center.y, radius + margin, startAngle, startAngle),\n },\n endState: (ratio) => {\n const diff = (endAngle - startAngle) * ratio + startAngle;\n const path = getSectorPath(center.x, center.y, radius + margin, startAngle, diff);\n return {\n path,\n };\n },\n attrs: {\n path: getSectorPath(center.x, center.y, radius + margin, startAngle, endAngle),\n },\n };\n }\n\n let endState;\n if (coordinate.isTransposed) {\n endState = {\n height: height + margin * 2,\n };\n } else {\n endState = {\n width: width + margin * 2,\n };\n }\n\n return {\n type: 'rect',\n startState: {\n x: start.x - margin,\n y: end.y - margin,\n width: coordinate.isTransposed ? width + margin * 2 : 0,\n height: coordinate.isTransposed ? 0 : height + margin * 2,\n },\n endState,\n attrs: {\n x: start.x - margin,\n y: end.y - margin,\n width: width + margin * 2,\n height: height + margin * 2,\n },\n };\n}\n","import { vec2 } from '@antv/matrix-util';\nimport { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position } from '../../../interface';\nimport { getDistanceToCenter } from '../../../util/coordinate';\n\nfunction _points2path(points: Point[], isInCircle: boolean): PathCommand[] {\n const path = [];\n if (points.length) {\n path.push(['M', points[0].x, points[0].y]);\n for (let i = 1, length = points.length; i < length; i += 1) {\n const item = points[i];\n path.push(['L', item.x, item.y]);\n }\n\n if (isInCircle) {\n path.push(['Z']);\n }\n }\n\n return path;\n}\n\nfunction _convertArr(arr: number[], coord: Coordinate): any[] {\n const tmp = [arr[0]];\n for (let i = 1, len = arr.length; i < len; i = i + 2) {\n const point = coord.convert({\n x: arr[i],\n y: arr[i + 1],\n });\n tmp.push(point.x, point.y);\n }\n return tmp;\n}\n\nfunction _convertPolarPath(pre: PathCommand, cur: PathCommand, coord: Coordinate): PathCommand[] {\n const { isTransposed, startAngle, endAngle } = coord;\n\n const prePoint = {\n x: pre[1],\n y: pre[2],\n };\n const curPoint = {\n x: cur[1],\n y: cur[2],\n };\n const rst = [];\n const xDim = isTransposed ? 'y' : 'x';\n const angleRange = Math.abs(curPoint[xDim] - prePoint[xDim]) * (endAngle - startAngle);\n const direction = curPoint[xDim] >= prePoint[xDim] ? 1 : 0; // 圆弧的方向\n const flag = angleRange > Math.PI ? 1 : 0; // 大弧还是小弧标志位\n const convertPoint = coord.convert(curPoint);\n const r = getDistanceToCenter(coord, convertPoint);\n if (r >= 0.5) {\n // 小于1像素的圆在图像上无法识别\n if (angleRange === Math.PI * 2) {\n const middlePoint = {\n x: (curPoint.x + prePoint.x) / 2,\n y: (curPoint.y + prePoint.y) / 2,\n };\n const middleConvertPoint = coord.convert(middlePoint);\n rst.push(['A', r, r, 0, flag, direction, middleConvertPoint.x, middleConvertPoint.y]);\n rst.push(['A', r, r, 0, flag, direction, convertPoint.x, convertPoint.y]);\n } else {\n rst.push(['A', r, r, 0, flag, direction, convertPoint.x, convertPoint.y]);\n }\n }\n return rst;\n}\n\n// 当存在整体的圆时,去除圆前面和后面的线,防止出现直线穿过整个圆的情形\nfunction _filterFullCirleLine(path: PathCommand[]) {\n each(path, (subPath, index) => {\n const cur = subPath;\n if (cur[0].toLowerCase() === 'a') {\n const pre = path[index - 1];\n const next = path[index + 1];\n if (next && next[0].toLowerCase() === 'a') {\n if (pre && pre[0].toLowerCase() === 'l') {\n pre[0] = 'M';\n }\n } else if (pre && pre[0].toLowerCase() === 'a') {\n if (next && next[0].toLowerCase() === 'l') {\n next[0] = 'M';\n }\n }\n }\n });\n}\n\n/**\n * @ignore\n * 计算光滑的贝塞尔曲线\n */\nexport const smoothBezier = (\n points: Position[],\n smooth: number,\n isLoop: boolean,\n constraint: Position[]\n): Position[] => {\n const cps = [];\n\n let prevPoint: Position;\n let nextPoint: Position;\n const hasConstraint = !!constraint;\n let min: Position;\n let max: Position;\n if (hasConstraint) {\n min = [Infinity, Infinity];\n max = [-Infinity, -Infinity];\n\n for (let i = 0, l = points.length; i < l; i++) {\n const point = points[i];\n min = vec2.min([0, 0], min, point) as [number, number];\n max = vec2.max([0, 0], max, point) as [number, number];\n }\n min = vec2.min([0, 0], min, constraint[0]) as [number, number];\n max = vec2.max([0, 0], max, constraint[1]) as [number, number];\n }\n\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (isLoop) {\n prevPoint = points[i ? i - 1 : len - 1];\n nextPoint = points[(i + 1) % len];\n } else {\n if (i === 0 || i === len - 1) {\n cps.push(point);\n continue;\n } else {\n prevPoint = points[i - 1];\n nextPoint = points[i + 1];\n }\n }\n let v: [number, number] = [0, 0];\n v = vec2.sub(v, nextPoint, prevPoint) as [number, number];\n v = vec2.scale(v, v, smooth) as [number, number];\n\n let d0 = vec2.distance(point, prevPoint);\n let d1 = vec2.distance(point, nextPoint);\n\n const sum = d0 + d1;\n if (sum !== 0) {\n d0 /= sum;\n d1 /= sum;\n }\n\n const v1 = vec2.scale([0, 0], v, -d0);\n const v2 = vec2.scale([0, 0], v, d1);\n\n let cp0 = vec2.add([0, 0], point, v1);\n let cp1 = vec2.add([0, 0], point, v2);\n\n if (hasConstraint) {\n cp0 = vec2.max([0, 0], cp0, min);\n cp0 = vec2.min([0, 0], cp0, max);\n cp1 = vec2.max([0, 0], cp1, min);\n cp1 = vec2.min([0, 0], cp1, max);\n }\n\n cps.push(cp0);\n cps.push(cp1);\n }\n\n if (isLoop) {\n cps.push(cps.shift());\n }\n return cps;\n};\n\n/**\n * @ignore\n * 贝塞尔曲线\n */\nexport function catmullRom2bezier(crp: number[], z: boolean, constraint: Position[]): PathCommand[] {\n const isLoop = !!z;\n const pointList = [];\n for (let i = 0, l = crp.length; i < l; i += 2) {\n pointList.push([crp[i], crp[i + 1]]);\n }\n\n const controlPointList = smoothBezier(pointList, 0.4, isLoop, constraint);\n const len = pointList.length;\n const d1 = [];\n\n let cp1: Position;\n let cp2: Position;\n let p: Position;\n\n for (let i = 0; i < len - 1; i++) {\n cp1 = controlPointList[i * 2];\n cp2 = controlPointList[i * 2 + 1];\n p = pointList[i + 1];\n\n d1.push(['C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]]);\n }\n\n if (isLoop) {\n cp1 = controlPointList[len];\n cp2 = controlPointList[len + 1];\n p = pointList[0];\n\n d1.push(['C', cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]]);\n }\n return d1;\n}\n\n/**\n * @ignore\n * 将点连接成路径 path\n */\nexport function getLinePath(points: Point[], isInCircle?: boolean): PathCommand[] {\n return _points2path(points, isInCircle);\n}\n\n/**\n * @ignore\n * 根据关键点获取限定了范围的平滑线\n */\nexport function getSplinePath(points: Point[], isInCircle?: boolean, constaint?: Position[]): PathCommand[] {\n const data = [];\n const first = points[0];\n let prePoint = null;\n if (points.length <= 2) {\n // 两点以内直接绘制成路径\n return getLinePath(points, isInCircle);\n }\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (!prePoint || !(prePoint.x === point.x && prePoint.y === point.y)) {\n data.push(point.x);\n data.push(point.y);\n prePoint = point;\n }\n }\n const constraint = constaint || [\n // 范围\n [0, 0],\n [1, 1],\n ];\n const splinePath = catmullRom2bezier(data, isInCircle, constraint);\n splinePath.unshift(['M', first.x, first.y]);\n return splinePath;\n}\n\n/**\n * @ignore\n * 将归一化后的路径数据转换成坐标\n */\nexport function convertNormalPath(coord, path: PathCommand[]): PathCommand[] {\n const tmp = [];\n each(path, (subPath) => {\n const action = subPath[0];\n switch (action.toLowerCase()) {\n case 'm':\n case 'l':\n case 'c':\n tmp.push(_convertArr(subPath, coord));\n break;\n case 'z':\n default:\n tmp.push(subPath);\n break;\n }\n });\n return tmp;\n}\n\n/**\n * @ignore\n * 将路径转换为极坐标下的真实路径\n */\nexport function convertPolarPath(coord, path: PathCommand[]): PathCommand[] {\n let tmp = [];\n let pre: PathCommand;\n let cur: PathCommand;\n let transposed: boolean;\n let equals: boolean;\n each(path, (subPath, index) => {\n const action = subPath[0];\n\n switch (action.toLowerCase()) {\n case 'm':\n case 'c':\n case 'q':\n tmp.push(_convertArr(subPath, coord));\n break;\n case 'l':\n pre = path[index - 1];\n cur = subPath;\n transposed = coord.isTransposed;\n // 是否半径相同,转换成圆弧\n equals = transposed ? pre[pre.length - 2] === cur[1] : pre[pre.length - 1] === cur[2];\n if (equals) {\n tmp = tmp.concat(_convertPolarPath(pre, cur, coord));\n } else {\n // y 不相等,所以直接转换\n tmp.push(_convertArr(subPath, coord));\n }\n break;\n case 'z':\n default:\n tmp.push(subPath);\n break;\n }\n });\n _filterFullCirleLine(tmp); // 过滤多余的直线\n return tmp;\n}\n","import { each } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Padding, Point, Region } from '../interface';\nimport { parsePadding } from './padding';\n\n/**\n * 用于包围盒计算。\n */\nexport class BBox {\n /** x 轴坐标系 */\n public x: number;\n /** y 轴坐标系 */\n public y: number;\n /** 包围盒高度 */\n public height: number;\n /** 包围盒宽度 */\n public width: number;\n\n public static fromRange(minX: number, minY: number, maxX: number, maxY: number) {\n return new BBox(minX, minY, maxX - minX, maxY - minY);\n }\n\n constructor(x: number = 0, y: number = 0, width: number = 0, height: number = 0) {\n this.x = x;\n this.y = y;\n this.height = height;\n this.width = width;\n }\n\n public get minX(): number {\n return this.x;\n }\n\n public get maxX(): number {\n return this.x + this.width;\n }\n\n public get minY(): number {\n return this.y;\n }\n\n public get maxY(): number {\n return this.y + this.height;\n }\n\n public get tl(): Point {\n return { x: this.x, y: this.y };\n }\n\n public get tr(): Point {\n return { x: this.maxX, y: this.y };\n }\n\n public get bl(): Point {\n return { x: this.x, y: this.maxY };\n }\n\n public get br(): Point {\n return { x: this.maxX, y: this.maxY };\n }\n\n public get top(): Point {\n return {\n x: this.x + this.width / 2,\n y: this.minY,\n };\n }\n\n public get right(): Point {\n return {\n x: this.maxX,\n y: this.y + this.height / 2,\n };\n }\n public get bottom(): Point {\n return {\n x: this.x + this.width / 2,\n y: this.maxY,\n };\n }\n public get left(): Point {\n return {\n x: this.minX,\n y: this.y + this.height / 2,\n };\n }\n // end 计算属性\n\n /**\n * 包围盒是否相等\n * @param {BBox} bbox 包围盒\n * @returns 包围盒是否相等\n */\n public isEqual(bbox: BBox): boolean {\n return this.x === bbox.x && this.y === bbox.y && this.width === bbox.width && this.height === bbox.height;\n }\n\n /**\n * 克隆包围盒\n * @returns 包围盒\n */\n public clone(): BBox {\n return new BBox(this.x, this.y, this.width, this.height);\n }\n\n /**\n * 取并集\n * @param subBBox\n */\n public add(...subBBox: BBox[]): BBox {\n const bbox = this.clone();\n each(subBBox, (b: BBox) => {\n bbox.x = Math.min(b.x, bbox.x);\n bbox.y = Math.min(b.y, bbox.y);\n bbox.width = Math.max(b.maxX, bbox.maxX) - bbox.x;\n bbox.height = Math.max(b.maxY, bbox.maxY) - bbox.y;\n });\n\n return bbox;\n }\n\n /**\n * 取交集\n * @param subBBox\n */\n public merge(...subBBox: BBox[]): BBox {\n const bbox = this.clone();\n each(subBBox, (b: BBox) => {\n bbox.x = Math.max(b.x, bbox.x);\n bbox.y = Math.max(b.y, bbox.y);\n bbox.width = Math.min(b.maxX, bbox.maxX) - bbox.x;\n bbox.height = Math.min(b.maxY, bbox.maxY) - bbox.y;\n });\n\n return bbox;\n }\n\n /**\n * bbox 剪裁\n * @param subBBox\n * @param direction\n */\n public cut(subBBox: BBox, direction: DIRECTION): BBox {\n const width = subBBox.width;\n const height = subBBox.height;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n return BBox.fromRange(this.minX, this.minY + height, this.maxX, this.maxY);\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n return BBox.fromRange(this.minX, this.minY, this.maxX - width, this.maxY);\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n return BBox.fromRange(this.minX, this.minY, this.maxX, this.maxY - height);\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n return BBox.fromRange(this.minX + width, this.minY, this.maxX, this.maxY);\n default:\n // 其他情况不裁剪,原样返回\n return this;\n }\n }\n\n /**\n * 收缩形成新的\n * @param gap\n */\n public shrink(gap: Padding): BBox {\n const [top, right, bottom, left] = gap;\n\n return new BBox(this.x + left, this.y + top, this.width - left - right, this.height - top - bottom);\n }\n\n /**\n * get the gap of two bbox, if not exceed, then 0\n * @param bbox\n * @returns [top, right, bottom, left]\n */\n public exceed(bbox: BBox): Padding {\n return [\n Math.max(-this.minY + bbox.minY, 0),\n Math.max(this.maxX - bbox.maxX, 0),\n Math.max(this.maxY - bbox.maxY, 0),\n Math.max(-this.minX + bbox.minX, 0),\n ];\n }\n\n /**\n * 获取包围盒大小\n * @returns 包围盒大小\n */\n public size(): number {\n return this.width * this.height;\n }\n}\n\n/**\n * 从一个 bbox 的 region 获取 bbox\n * @param bbox\n * @param region\n */\nexport const getRegionBBox = (bbox: BBox, region: Region): BBox => {\n const { start, end } = region;\n\n return new BBox(\n bbox.x + bbox.width * start.x,\n bbox.y + bbox.height * start.y,\n bbox.width * Math.abs(end.x - start.x),\n bbox.height * Math.abs(end.y - start.y)\n );\n};\n\n/**\n * 将 bbox 转换成 points\n * @param bbox\n */\nexport function toPoints(bbox: Partial): any[] {\n return [\n [bbox.minX, bbox.minY],\n [bbox.maxX, bbox.minY],\n [bbox.maxX, bbox.maxY],\n [bbox.minX, bbox.maxY],\n ];\n}\n","import { each, isArray } from '@antv/util';\nimport { View } from '../../chart';\nimport { BBox, PathCommand, Point } from '../../dependents';\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element/';\nimport { catmullRom2bezier, getLinePath } from '../../geometry/shape/util/path';\nimport { toPoints } from '../../util/bbox';\nimport isPolygonsIntersect from '@antv/path-util/lib/is-polygons-intersect';\nimport { ComponentOption, IInteractionContext, LooseObject } from '../../interface';\n\nfunction getMaskBBox(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n const maskBBox = maskShape.getCanvasBBox();\n // 如果 bbox 过小则不返回\n if (!(maskBBox.width >= tolerance || maskBBox.height >= tolerance)) {\n return null;\n }\n return maskBBox;\n}\n\nfunction getMaskPath(context: IInteractionContext, tolerance: number) {\n const event = context.event;\n const maskShape = event.target;\n const maskBBox = maskShape.getCanvasBBox();\n // 如果 bbox 过小则不返回\n if (!(maskBBox.width >= tolerance || maskBBox.height >= tolerance)) {\n return null;\n }\n return maskShape.attr('path');\n}\n\n/**\n * 获取当前事件相关的图表元素\n * @param context 交互的上下文\n * @ignore\n */\nexport function getCurrentElement(context: IInteractionContext): Element {\n const event = context.event;\n let element;\n const target = event.target;\n if (target) {\n element = target.get('element');\n }\n return element;\n}\n\n/**\n * 获取委托对象\n * @param context 上下文\n * @ignore\n */\nexport function getDelegationObject(context: IInteractionContext): LooseObject {\n const event = context.event;\n const target = event.target;\n let delegateObject;\n if (target) {\n delegateObject = target.get('delegateObject');\n }\n return delegateObject;\n}\n\nexport function isElementChange(context: IInteractionContext) {\n const event = context.event.gEvent;\n // 在同一个 element 内部移动,label 和 shape 之间\n if (event && event.fromShape && event.toShape && event.fromShape.get('element') === event.toShape.get('element')) {\n return false;\n }\n return true;\n}\n\n/**\n * 是否是列表组件\n * @param delegateObject 委托对象\n * @ignore\n */\nexport function isList(delegateObject: LooseObject): boolean {\n return delegateObject && delegateObject.component && delegateObject.component.isList();\n}\n\n/**\n * 是否是滑块组件\n * @param delegateObject 委托对象\n * @ignore\n */\nexport function isSlider(delegateObject: LooseObject): boolean {\n return delegateObject && delegateObject.component && delegateObject.component.isSlider();\n}\n\n/**\n * 是否由 mask 触发\n * @param context 上下文\n * @ignore\n */\nexport function isMask(context: IInteractionContext): boolean {\n const event = context.event;\n const target = event.target;\n return target && target.get('name') === 'mask';\n}\n\n/**\n * 获取被遮挡的 elements\n * @param context 上下文\n * @ignore\n */\nexport function getMaskedElements(context: IInteractionContext, tolerance: number): Element[] {\n const target = context.event.target;\n if (target.get('type') === 'path') {\n const maskPath = getMaskPath(context, tolerance);\n if (!maskPath) {\n return;\n }\n return getElementsByPath(context.view, maskPath);\n }\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n return getIntersectElements(context.view, maskBBox);\n}\n\n/**\n * @ignore\n */\nexport function getSiblingMaskElements(context: IInteractionContext, sibling: View, tolerance: number) {\n const maskBBox = getMaskBBox(context, tolerance);\n // 如果 bbox 过小则不返回\n if (!maskBBox) {\n return null;\n }\n const view = context.view;\n const start = getSiblingPoint(view, sibling, { x: maskBBox.x, y: maskBBox.y });\n const end = getSiblingPoint(view, sibling, { x: maskBBox.maxX, y: maskBBox.maxY });\n const box = {\n minX: start.x,\n minY: start.y,\n maxX: end.x,\n maxY: end.y,\n };\n return getIntersectElements(sibling, box);\n}\n\n/**\n * 获取所有的图表元素\n * @param view View/Chart\n * @ignore\n */\nexport function getElements(view: View): Element[] {\n const geometries = view.geometries;\n let rst: Element[] = [];\n each(geometries, (geom: Geometry) => {\n const elements = geom.elements;\n rst = rst.concat(elements);\n });\n if (view.views && view.views.length) {\n each(view.views, (subView) => {\n rst = rst.concat(getElements(subView));\n });\n }\n return rst;\n}\n\n/**\n * 获取所有的图表元素\n * @param view View/Chart\n * @param field 字段名\n * @param value 字段值\n * @ignore\n */\nexport function getElementsByField(view: View, field: string, value: any) {\n const elements = getElements(view);\n return elements.filter((el) => {\n return getElementValue(el, field) === value;\n });\n}\n\n/**\n * 根据状态名获取图表元素\n * @param view View/Chart\n * @param stateName 状态名\n * @ignore\n */\nexport function getElementsByState(view: View, stateName: string): Element[] {\n const geometries = view.geometries;\n let rst: Element[] = [];\n each(geometries, (geom: Geometry) => {\n const elements = geom.getElementsBy((el) => el.hasState(stateName));\n rst = rst.concat(elements);\n });\n return rst;\n}\n\n/**\n * 获取图表元素对应字段的值\n * @param element 图表元素\n * @param field 字段名\n * @ignore\n */\nexport function getElementValue(element: Element, field) {\n const model = element.getModel();\n const record = model.data;\n let value;\n if (isArray(record)) {\n value = record[0][field];\n } else {\n value = record[field];\n }\n return value;\n}\n\n/**\n * 两个包围盒是否相交\n * @param box1 包围盒1\n * @param box2 包围盒2\n * @ignore\n */\nexport function intersectRect(box1, box2) {\n return !(box2.minX > box1.maxX || box2.maxX < box1.minX || box2.minY > box1.maxY || box2.maxY < box1.minY);\n}\n\n/**\n * 获取包围盒内的图表元素\n * @param view View/Chart\n * @param box 包围盒\n * @ignore\n */\nexport function getIntersectElements(view: View, box) {\n const elements = getElements(view);\n const rst = [];\n each(elements, (el) => {\n const shape = el.shape;\n const shapeBBox = shape.getCanvasBBox();\n if (intersectRect(box, shapeBBox)) {\n rst.push(el);\n }\n });\n return rst;\n}\nfunction pathToPoints(path: any[]) {\n const points = [];\n each(path, (seg) => {\n const command = seg[0];\n if (command !== 'A') {\n for (let i = 1; i < seg.length; i = i + 2) {\n points.push([seg[i], seg[i + 1]]);\n }\n } else {\n const length = seg.length;\n points.push([seg[length - 2], seg[length - 1]]);\n }\n });\n return points;\n}\n/**\n * 获取包围盒内的图表元素\n * @param view View/Chart\n * @param path 路径\n * @ignore\n */\nexport function getElementsByPath(view: View, path: any[]) {\n const elements = getElements(view);\n const points = pathToPoints(path);\n const rst = elements.filter((el: Element) => {\n const shape = el.shape;\n let shapePoints;\n if (shape.get('type') === 'path') {\n shapePoints = pathToPoints(shape.attr('path'));\n } else {\n const shapeBBox = shape.getCanvasBBox();\n shapePoints = toPoints(shapeBBox);\n }\n return isPolygonsIntersect(points, shapePoints);\n });\n return rst;\n}\n\n/**\n * 获取当前 View 的所有组件\n * @param view View/Chart\n * @ignore\n */\nexport function getComponents(view) {\n return view.getComponents().map((co: ComponentOption) => co.component);\n}\n\n/** @ignore */\nexport function distance(p1: Point, p2: Point) {\n const dx = p2.x - p1.x;\n const dy = p2.y - p1.y;\n return Math.sqrt(dx * dx + dy * dy);\n}\n\n/** @ignore */\nexport function getSpline(points: Point[], z: boolean): PathCommand[] {\n if (points.length <= 2) {\n return getLinePath(points, false);\n }\n const first = points[0];\n const arr = [];\n each(points, (point) => {\n arr.push(point.x);\n arr.push(point.y);\n });\n const path = catmullRom2bezier(arr, z, null);\n path.unshift(['M', first.x, first.y]);\n return path;\n}\n\n/**\n * 检测点是否在包围盒内\n * @param box 包围盒\n * @param point 点\n * @ignore\n */\nexport function isInBox(box: BBox, point: Point) {\n return box.x <= point.x && box.maxX >= point.x && box.y <= point.y && box.maxY > point.y;\n}\n\n/**\n * 获取同 view 同一级的 views\n * @param view 当前 view\n * @returns 同一级的 views\n * @ignore\n */\nexport function getSilbings(view: View): View[] {\n const parent = view.parent;\n let siblings = null;\n if (parent) {\n siblings = parent.views.filter((sub) => sub !== view);\n }\n return siblings;\n}\n\nfunction point2Normalize(view: View, point: Point): Point {\n const coord = view.getCoordinate();\n return coord.invert(point);\n}\n/**\n * 将 view 上的一点转换成另一个 view 的点\n * @param view 当前的 view\n * @param sibling 同一层级的 view\n * @param point 指定点\n * @ignore\n */\nexport function getSiblingPoint(view: View, sibling: View, point: Point): Point {\n const normalPoint = point2Normalize(view, point);\n return sibling.getCoordinate().convert(normalPoint);\n}\n\n/**\n * 是否在记录中,临时因为所有的 view 中的数据不是引用,而使用的方法\n * 不同 view 上对数据的引用不相等,导致无法直接用 includes\n * 假设 x, y 值相等时是同一条数据,这个假设不完全正确,而改成 isEqual 则成本太高\n * 后面改成同一个引用时可以修改回来\n * @param records\n * @param record\n * @param xFiled\n * @param yField\n * @returns\n * @ignore\n */\nexport function isInRecords(records: object[], record: object, xFiled: string, yField: string) {\n let isIn = false;\n each(records, (r) => {\n if (r[xFiled] === record[xFiled] && r[yField] === record[yField]) {\n isIn = true;\n return false;\n }\n });\n return isIn;\n}\n\n// 级联获取 field 对应的 scale,如果 view 上没有,遍历子 view\nexport function getScaleByField(view: View, field: string) {\n let scale = view.getScaleByField(field);\n if (!scale && view.views) {\n each(view.views, (subView) => {\n scale = getScaleByField(subView, field);\n if (scale) {\n return false; // 终止循环\n }\n });\n }\n return scale;\n}\n","import { each, get } from '@antv/util';\nimport { View } from '../chart';\nimport { BBox, IShape, Point } from '../dependents';\nimport { IAction, IInteractionContext, LooseObject } from '../interface';\nimport { getComponents, isInBox } from './action/util';\n\n/**\n * 交互的上下文\n */\nexport default class Context implements IInteractionContext {\n /** 当前所有的 Action */\n public actions: IAction[] = [];\n /** 当前 View 实例 */\n public view: View;\n /** 当前事件对象 */\n public event: LooseObject = null;\n\n private cacheMap: LooseObject = {};\n\n constructor(view: View) {\n this.view = view;\n }\n\n /**\n * 缓存信息\n * @param params 缓存的字段\n * - 如果一个字段则获取缓存\n * - 两个字段则设置缓存\n */\n public cache(...params) {\n if (params.length === 1) {\n return this.cacheMap[params[0]];\n } else if (params.length === 2) {\n this.cacheMap[params[0]] = params[1];\n }\n }\n\n /**\n * 获取 Action\n * @param name Action 的名称\n */\n public getAction(name: string): IAction {\n return this.actions.find((action) => action.name === name);\n }\n\n /**\n * 获取 Action\n * @param action Action 对象\n */\n public addAction(action: IAction) {\n this.actions.push(action);\n }\n\n /**\n * 移除 Action\n * @param action Action 对象\n */\n public removeAction(action: IAction) {\n const actions = this.actions;\n const index = this.actions.indexOf(action);\n if (index >= 0) {\n actions.splice(index, 1);\n }\n }\n\n /**\n * 获取当前的点\n */\n public getCurrentPoint(): Point {\n const event = this.event;\n if (event) {\n if (event.target instanceof HTMLElement) {\n const canvas = this.view.getCanvas();\n const point = canvas.getPointByClient(event.clientX, event.clientY);\n return point;\n } else {\n return {\n x: event.x,\n y: event.y,\n };\n }\n }\n return null;\n }\n\n /**\n * 获取当前 shape\n * @returns current shape\n */\n public getCurrentShape(): IShape {\n return get(this.event, ['gEvent', 'shape']);\n }\n\n /**\n * 当前的触发是否在 View 内\n */\n public isInPlot() {\n const point = this.getCurrentPoint();\n if (point) {\n return this.view.isPointInPlot(point);\n }\n return false;\n }\n\n /**\n * 是否在指定的图形内\n * @param name shape 的 name\n */\n public isInShape(name) {\n const shape = this.getCurrentShape(); // 不再考虑在 shape 的 parent 内的情况\n if (shape) {\n return shape.get('name') === name;\n }\n return false;\n }\n\n /**\n * 当前的触发是组件内部\n * @param name 组件名,可以为空\n */\n public isInComponent(name?: string) {\n const components = getComponents(this.view);\n const point = this.getCurrentPoint();\n if (point) {\n return !!components.find((component) => {\n const bbox = component.getBBox() as BBox;\n if (name) {\n return component.get('name') === name && isInBox(bbox, point);\n } else {\n return isInBox(bbox, point);\n }\n });\n }\n return false;\n }\n\n /**\n * 销毁\n */\n public destroy() {\n this.view = null;\n this.event = null;\n // 先销毁 action 再清空,一边遍历,一边删除,所以数组需要更新引用\n each(this.actions.slice(), (action) => {\n action.destroy();\n });\n this.actions = null;\n this.cacheMap = null;\n }\n}\n","import { View } from '../chart';\nimport { LooseObject } from '../interface';\n\nexport type InteractonConstructor = new (view: View, cfg: LooseObject) => Interaction;\n\n/**\n * 交互的基类。\n */\nexport default class Interaction {\n /** view 或者 chart */\n protected view: View;\n /** 配置项 */\n protected cfg: LooseObject;\n\n constructor(view: View, cfg: LooseObject) {\n this.view = view;\n this.cfg = cfg;\n }\n\n /**\n * 初始化。\n */\n public init() {\n this.initEvents();\n }\n\n /**\n * 绑定事件\n */\n protected initEvents() {}\n\n /**\n * 销毁事件\n */\n protected clearEvents() {}\n\n /**\n * 销毁。\n */\n public destroy() {\n this.clearEvents();\n }\n}\n","import { each, isArray, isFunction, isString, debounce, throttle } from '@antv/util';\nimport { View } from '../chart';\nimport { ActionCallback, IAction, IInteractionContext, LooseObject } from '../interface';\nimport { createAction, createCallbackAction } from './action/register';\nimport InteractionContext from './context';\nimport Interaction from './interaction';\n\n// 将字符串转换成 action\nfunction parseAction(actionStr: string, context: IInteractionContext): ActionObject {\n const arr = actionStr.split(':');\n const actionName = arr[0];\n // 如果已经初始化过 action ,则直接引用之前的 action\n const action = context.getAction(actionName) || createAction(actionName, context);\n if (!action) {\n throw new Error(`There is no action named ${actionName}`);\n }\n const methodName = arr[1];\n return {\n action,\n methodName,\n };\n}\n\n// 执行 Action\nfunction executeAction(actionObject: ActionObject) {\n const { action, methodName } = actionObject;\n if (action[methodName]) {\n action[methodName]();\n } else {\n throw new Error(`Action(${action.name}) doesn't have a method called ${methodName}`);\n }\n}\n\nconst STEP_NAMES = {\n START: 'start',\n SHOW_ENABLE: 'showEnable',\n END: 'end',\n ROLLBACK: 'rollback',\n PROCESSING: 'processing',\n};\n\n/** 交互环节的定义 */\nexport interface InteractionStep {\n /**\n * 触发事件,支持 view,chart 的各种事件,也支持 document、window 的事件\n */\n trigger: string;\n /**\n * 是否可以触发 action\n * @param context - 交互的上下文\n */\n isEnable?: (context: IInteractionContext) => boolean;\n /**\n * 反馈,支持三种方式:\n * - action:method : action 的名字和方法的组合\n * - [’action1:method1‘, ’action2:method‘]\n * - ActionCallback: 回调函数\n */\n action: string | string[] | ActionCallback;\n /**\n * 回调函数,action 执行后执行\n */\n callback?: (context: IInteractionContext) => void;\n /**\n * @private\n * 不需要用户传入,通过上面的属性计算出来的属性\n */\n actionObject?: ActionObject | ActionObject[];\n /**\n * 在一个环节内是否只允许执行一次\n */\n once?: boolean;\n /**\n * 是否增加节流\n */\n throttle?: ThrottleOption;\n /**\n * 是否延迟\n */\n debounce?: DebounceOption;\n}\n\n// action 执行时支持 debounce 和 throttle,可以参考:https://css-tricks.com/debouncing-throttling-explained-examples/\n/**\n * debounce 的配置\n */\nexport interface DebounceOption {\n /**\n * 等待时间\n */\n wait: number;\n /**\n * 是否马上执行\n */\n immediate?: boolean;\n}\n\n/**\n * throttle 的配置\n */\nexport interface ThrottleOption {\n /**\n * 等待时间\n */\n wait: number;\n /**\n * 马上就执行\n */\n leading?: boolean;\n /**\n * 执行完毕后再执行一次\n */\n trailing?: boolean;\n}\n\n/** 缓存 action 对象,仅用于当前文件 */\ninterface ActionObject {\n /**\n * 缓存的 action\n */\n action: IAction;\n /**\n * action 的方法\n */\n methodName: string;\n}\n\n/** 交互的所有环节 */\nexport interface InteractionSteps {\n /**\n * 显示交互可以进行\n */\n showEnable?: InteractionStep[];\n /**\n * 交互开始\n */\n start?: InteractionStep[];\n /**\n * 交互持续\n */\n processing?: InteractionStep[];\n /**\n * 交互结束\n */\n end?: InteractionStep[];\n /**\n * 交互回滚\n */\n rollback?: InteractionStep[];\n}\n\n/**\n * 支持语法的交互类\n */\nexport default class GrammarInteraction extends Interaction {\n // 存储的交互环节\n private steps: InteractionSteps;\n /** 当前执行到的阶段 */\n public currentStepName: string;\n /**\n * 当前交互的上下文\n */\n public context: IInteractionContext;\n\n private callbackCaches: LooseObject = {};\n // 某个触发和反馈在本环节是否执行或\n private emitCaches: LooseObject = {};\n\n constructor(view: View, steps: InteractionSteps) {\n super(view, steps);\n this.steps = steps;\n }\n\n /**\n * 初始化\n */\n public init() {\n this.initContext();\n super.init();\n }\n\n /**\n * 清理资源\n */\n public destroy() {\n super.destroy(); // 先清理事件\n this.steps = null;\n if (this.context) {\n this.context.destroy();\n this.context = null;\n }\n\n this.callbackCaches = null;\n this.view = null;\n }\n\n /**\n * 绑定事件\n */\n protected initEvents() {\n each(this.steps, (stepArr, stepName) => {\n each(stepArr, (step) => {\n const callback = this.getActionCallback(stepName, step);\n if (callback) {\n // 如果存在 callback,才绑定,有时候会出现无 callback 的情况\n this.bindEvent(step.trigger, callback);\n }\n });\n });\n }\n\n /**\n * 清理绑定的事件\n */\n protected clearEvents() {\n each(this.steps, (stepArr, stepName) => {\n each(stepArr, (step) => {\n const callback = this.getActionCallback(stepName, step);\n if (callback) {\n this.offEvent(step.trigger, callback);\n }\n });\n });\n }\n\n // 初始化上下文,并初始化 action\n private initContext() {\n const view = this.view;\n const context = new InteractionContext(view);\n this.context = context;\n const steps = this.steps;\n // 生成具体的 Action\n each(steps, (subSteps) => {\n each(subSteps, (step) => {\n if (isFunction(step.action)) {\n // 如果传入回调函数,则直接生成 CallbackAction\n step.actionObject = {\n action: createCallbackAction(step.action, context),\n methodName: 'execute',\n };\n } else if (isString(step.action)) {\n // 如果是字符串\n step.actionObject = parseAction(step.action, context);\n } else if (isArray(step.action)) {\n // 如果是数组\n const actionArr = step.action;\n step.actionObject = [];\n each(actionArr, (actionStr) => {\n step.actionObject.push(parseAction(actionStr, context));\n });\n }\n // 如果 action 既不是字符串,也不是函数,则不会生成 actionObject\n });\n });\n }\n\n // 是否允许指定阶段名称执行\n private isAllowStep(stepName: string): boolean {\n const currentStepName = this.currentStepName;\n const steps = this.steps;\n // 相同的阶段允许同时执行\n if (currentStepName === stepName) {\n return true;\n }\n\n if (stepName === STEP_NAMES.SHOW_ENABLE) {\n // 示能在整个过程中都可用\n return true;\n }\n\n if (stepName === STEP_NAMES.PROCESSING) {\n // 只有当前是 start 时,才允许 processing\n return currentStepName === STEP_NAMES.START;\n }\n\n if (stepName === STEP_NAMES.START) {\n // 如果当前是 processing,则无法 start,必须等待 end 后才能执行\n return currentStepName !== STEP_NAMES.PROCESSING;\n }\n\n if (stepName === STEP_NAMES.END) {\n return currentStepName === STEP_NAMES.PROCESSING || currentStepName === STEP_NAMES.START;\n }\n\n if (stepName === STEP_NAMES.ROLLBACK) {\n if (steps[STEP_NAMES.END]) {\n // 如果定义了 end, 只有 end 时才允许回滚\n return currentStepName === STEP_NAMES.END;\n } else if (currentStepName === STEP_NAMES.START) {\n // 如果未定义 end, 则判断是否是开始\n return true;\n }\n }\n return false;\n }\n\n // 具体的指定阶段是否允许执行\n private isAllowExcute(stepName: string, step: InteractionStep): boolean {\n if (this.isAllowStep(stepName)) {\n const key = this.getKey(stepName, step);\n // 如果是在本环节内仅允许触发一次,同时已经触发过,则不允许再触发\n if (step.once && this.emitCaches[key]) {\n return false;\n }\n // 如果是允许的阶段,则验证 isEnable 方法\n if (step.isEnable) {\n return step.isEnable(this.context);\n }\n return true; // 如果没有 isEnable 则允许执行\n }\n return false;\n }\n\n private enterStep(stepName: string) {\n this.currentStepName = stepName;\n this.emitCaches = {}; // 清除所有本环节触发的缓存\n }\n\n // 执行完某个触发和反馈(子环节)\n private afterExecute(stepName: string, step) {\n // show enable 不计入正常的流程,其他情况则设置当前的 step\n if (stepName !== STEP_NAMES.SHOW_ENABLE && this.currentStepName !== stepName) {\n this.enterStep(stepName);\n }\n const key = this.getKey(stepName, step);\n // 一旦执行,则缓存标记为,一直保持到跳出改环节\n this.emitCaches[key] = true;\n }\n // 获取某个环节的唯一的键值\n private getKey(stepName, step) {\n return stepName + step.trigger + step.action;\n }\n\n // 获取 step 的回调函数,如果已经生成,则直接返回,如果未生成,则创建\n private getActionCallback(stepName: string, step: InteractionStep): (e: object) => void {\n const context = this.context;\n const callbackCaches = this.callbackCaches;\n const actionObject = step.actionObject;\n if (step.action && actionObject) {\n const key = this.getKey(stepName, step);\n if (!callbackCaches[key]) {\n // 动态生成执行的方法,执行对应 action 的名称\n const actionCallback = (event) => {\n context.event = event; // 保证检测时的 event\n if (this.isAllowExcute(stepName, step)) {\n // 如果是数组时,则依次执行\n if (isArray(actionObject)) {\n each(actionObject, (obj: ActionObject) => {\n context.event = event; // 可能触发新的事件,保证执行前的 context.event 是正确的\n executeAction(obj);\n });\n } else {\n context.event = event; // 保证执行前的 context.event 是正确的\n executeAction(actionObject);\n }\n this.afterExecute(stepName, step);\n if (step.callback) {\n context.event = event; // 保证执行前的 context.event 是正确的\n step.callback(context);\n }\n } else {\n // 如果未通过验证,则事件不要绑定在上面\n context.event = null;\n }\n };\n // 如果设置了 debounce\n if (step.debounce) {\n callbackCaches[key] = debounce(actionCallback, step.debounce.wait, step.debounce.immediate);\n } else if (step.throttle) {\n // 设置 throttle\n callbackCaches[key] = throttle(actionCallback, step.throttle.wait, {\n leading: step.throttle.leading,\n trailing: step.throttle.trailing,\n });\n } else {\n // 直接设置\n callbackCaches[key] = actionCallback;\n }\n }\n return callbackCaches[key];\n }\n return null;\n }\n\n private bindEvent(eventName, callback) {\n const nameArr = eventName.split(':');\n if (nameArr[0] === 'window') {\n window.addEventListener(nameArr[1], callback);\n } else if (nameArr[0] === 'document') {\n document.addEventListener(nameArr[1], callback);\n } else {\n this.view.on(eventName, callback);\n }\n }\n\n private offEvent(eventName, callback) {\n const nameArr = eventName.split(':');\n if (nameArr[0] === 'window') {\n window.removeEventListener(nameArr[1], callback);\n } else if (nameArr[0] === 'document') {\n document.removeEventListener(nameArr[1], callback);\n } else {\n this.view.off(eventName, callback);\n }\n }\n}\n","import { clone, isPlainObject, lowerCase, mix } from '@antv/util';\nimport { View } from '../chart';\nimport { LooseObject } from '../interface';\nimport GrammarInteraction, { InteractionSteps } from './grammar-interaction';\nimport { InteractonConstructor } from './interaction';\n\nconst Interactions: LooseObject = {};\n\n/**\n * 根据交互行为名字获取对应的交互类\n * @param name 交互名字\n * @returns 交互类\n */\nexport function getInteraction(name: string): InteractionSteps | InteractonConstructor {\n return Interactions[lowerCase(name)];\n}\n\n/**\n * 注册交互行为\n * @param name 交互行为名字\n * @param interaction 交互类\n */\nexport function registerInteraction(name: string, interaction: InteractionSteps | InteractonConstructor) {\n Interactions[lowerCase(name)] = interaction;\n}\n\n/**\n * 创建交互实例\n * @param name 交互名\n * @param view 交互应用的 View 实例\n * @param cfg 交互行为配置\n */\nexport function createInteraction(name: string, view: View, cfg?: LooseObject) {\n const interaciton = getInteraction(name);\n if (!interaciton) {\n return null;\n }\n if (isPlainObject(interaciton)) {\n // 如果不 clone 则会多个 interaction 实例共享 step 的定义\n const steps = mix(clone(interaciton), cfg) as InteractionSteps;\n return new GrammarInteraction(view, steps);\n } else {\n const cls = interaciton as InteractonConstructor;\n return new cls(view, cfg);\n }\n}\n\nexport { default as Interaction } from './interaction';\nexport { Action, registerAction, getActionClass } from './action';\n","const BLACK_COLORS = {\n 100: '#000',\n 95: '#0D0D0D',\n 85: '#262626',\n 65: '#595959',\n 45: '#8C8C8C',\n 25: '#BFBFBF',\n 15: '#D9D9D9',\n 6: '#F0F0F0',\n};\n\nconst WHITE_COLORS = {\n 100: '#FFFFFF',\n 95: '#F2F2F2',\n 85: '#D9D9D9',\n 65: '#A6A6A6',\n 45: '#737373',\n 25: '#404040',\n 15: '#262626',\n 6: '#0F0F0F',\n};\n\nconst QUALITATIVE_10 = [\n '#5B8FF9',\n '#5AD8A6',\n '#5D7092',\n '#F6BD16',\n '#E86452',\n '#6DC8EC',\n '#945FB9',\n '#FF9845',\n '#1E9493',\n '#FF99C3',\n];\n\nconst QUALITATIVE_20 = [\n '#5B8FF9',\n '#CDDDFD',\n '#5AD8A6',\n '#CDF3E4',\n '#5D7092',\n '#CED4DE',\n '#F6BD16',\n '#FCEBB9',\n '#E86452',\n '#F8D0CB',\n '#6DC8EC',\n '#D3EEF9',\n '#945FB9',\n '#DECFEA',\n '#FF9845',\n '#FFE0C7',\n '#1E9493',\n '#BBDEDE',\n '#FF99C3',\n '#FFE0ED',\n];\n\nexport const antvLight = {\n backgroundColor: 'transparent',\n /** 主题色 */\n brandColor: QUALITATIVE_10[0],\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10: QUALITATIVE_10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20: QUALITATIVE_20,\n /** 语义色 */\n paletteSemanticRed: '#F4664A',\n /** 语义色 */\n paletteSemanticGreen: '#30BF78',\n /** 语义色 */\n paletteSemanticYellow: '#FAAD14',\n /** 字体 */\n fontFamily: `\"-apple-system\", \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial,\n \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\",\n \"Noto Color Emoji\"`,\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴线粗细 */\n axisLineBorder: 0.5,\n /** 坐标轴线 lineDash 设置 */\n axisLineDash: null,\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor: BLACK_COLORS[65],\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize: 12,\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight: 12,\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight: 'normal',\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴刻度线长度 */\n axisTickLineLength: 4,\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder: 0.5,\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor: BLACK_COLORS[15],\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength: 2,\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder: 0.5,\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor: BLACK_COLORS[45],\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize: 12,\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight: 12,\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight: 'normal',\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor: BLACK_COLORS[15],\n /** 坐标轴网格线粗细 */\n axisGridBorder: 0.5,\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash: null,\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor: BLACK_COLORS[45],\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize: 12,\n /** 图例标题文本行高 */\n legendTitleTextLineHeight: 21,\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight: 'normal',\n\n /** 图例 marker 颜色 */\n legendMarkerColor: QUALITATIVE_10[0],\n /** 图例 marker 默认半径大小 */\n legendMarkerSize: 4,\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize: 4,\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize: 4,\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize: 5,\n\n /** 图例项文本颜色 */\n legendItemNameFillColor: BLACK_COLORS[65],\n /** 图例项文本字体大小 */\n legendItemNameFontSize: 12,\n /** 图例项文本行高 */\n legendItemNameLineHeight: 12,\n /** 图例项粗细 */\n legendItemNameFontWeight: 'normal',\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor: BLACK_COLORS[15],\n /** 连续图例滑块边框粗细 */\n sliderRailBorder: 0,\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor: null,\n /** 连续图例滑块宽度 */\n sliderRailWidth: 100,\n /** 连续图例滑块高度 */\n sliderRailHeight: 12,\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor: BLACK_COLORS[45],\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize: 12,\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight: 12,\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight: 'normal',\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor: BLACK_COLORS[6],\n /** 连续图例滑块宽度 */\n sliderHandlerWidth: 10,\n /** 连续图例滑块高度 */\n sliderHandlerHeight: 14,\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder: 1,\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor: BLACK_COLORS[25],\n\n // -------------------- Annotation,图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor: BLACK_COLORS[15],\n /** arc 图形标注粗细 */\n annotationArcBorder: 0.5,\n\n /** line 图形标注颜色 */\n annotationLineBorderColor: BLACK_COLORS[25],\n /** line 图形标注粗细 */\n annotationLineBorder: 0.5,\n /** lube 图形标注的虚线间隔 */\n annotationLineDash: null,\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor: BLACK_COLORS[65],\n /** text 图形标注文本字体大小 */\n annotationTextFontSize: 12,\n /** text 图形标注文本行高 */\n annotationTextLineHeight: 12,\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight: 'normal',\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor: WHITE_COLORS[95],\n /** text 图形标注文本边框粗细 */\n annotationTextBorder: 1.5,\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor: BLACK_COLORS[100],\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity: 0.06,\n /** region 图形标注描边粗细 */\n annotationRegionBorder: 0,\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor: null,\n\n /** dataMarker 图形标注线的长度 */\n annotationDataMarkerLineLength: 16,\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor: BLACK_COLORS[25],\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder: 0.5,\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash: null,\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor: 'rgb(255, 255, 255)',\n tooltipContainerFillOpacity: 0.95,\n /** tooltip 内容框阴影 */\n tooltipContainerShadow: '0px 0px 10px #aeaeae',\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius: 3,\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor: BLACK_COLORS[65],\n /** tooltip 文本字体大小 */\n tooltipTextFontSize: 12,\n /** tooltip 文本行高 */\n tooltipTextLineHeight: 12,\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight: 'bold',\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor: BLACK_COLORS[65],\n /** Geometry label 文本字体大小 */\n labelFontSize: 12,\n /** Geometry label 文本行高 */\n labelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n labelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n labelBorderColor: null,\n /** Geometry label 文本描边粗细 */\n labelBorder: 0,\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor: WHITE_COLORS[100],\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize: 12,\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight: 12,\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight: 'normal',\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor: null,\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder: 0,\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder: 0.5,\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor: BLACK_COLORS[25],\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图填充颜色 */\n pointFillColor: QUALITATIVE_10[0],\n /** 点图填充颜色透明度 */\n pointFillOpacity: 0.95,\n /** 点图大小 */\n pointSize: 4,\n /** 点图描边粗细 */\n pointBorder: 1,\n /** 点图描边颜色 */\n pointBorderColor: WHITE_COLORS[100],\n /** 点图描边透明度 */\n pointBorderOpacity: 1,\n\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor: BLACK_COLORS[100],\n\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder: 2,\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor: BLACK_COLORS[100],\n\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity: 0.3,\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity: 0.3,\n\n /** 空心点图大小 */\n hollowPointSize: 4,\n /** 空心点图描边粗细 */\n hollowPointBorder: 1,\n /** 空心点图描边颜色 */\n hollowPointBorderColor: QUALITATIVE_10[0],\n /** 空心点图描边透明度 */\n hollowPointBorderOpacity: 0.95,\n hollowPointFillColor: WHITE_COLORS[100],\n\n /** 空心点图 active 状态下描边粗细 */\n hollowPointActiveBorder: 1,\n /** 空心点图 active 状态下描边颜色 */\n hollowPointActiveBorderColor: BLACK_COLORS[100],\n /** 空心点图 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity: 1,\n\n /** 空心点图 selected 状态下描边粗细 */\n hollowPointSelectedBorder: 2,\n /** 空心点图 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor: BLACK_COLORS[100],\n /** 空心点图 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity: 1,\n\n /** 空心点图 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity: 0.3,\n\n /** 线图粗细 */\n lineBorder: 2,\n /** 线图颜色 */\n lineBorderColor: QUALITATIVE_10[0],\n /** 线图透明度 */\n lineBorderOpacity: 1,\n\n /** 线图 Active 状态下粗细 */\n lineActiveBorder: 3,\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder: 3,\n\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity: 0.3,\n\n /** area 填充颜色 */\n areaFillColor: QUALITATIVE_10[0],\n /** area 填充透明度 */\n areaFillOpacity: 0.25,\n\n /** area 在 active 状态下的填充透明度 */\n areaActiveFillColor: QUALITATIVE_10[0],\n areaActiveFillOpacity: 0.5,\n\n /** area 在 selected 状态下的填充透明度 */\n areaSelectedFillColor: QUALITATIVE_10[0],\n areaSelectedFillOpacity: 0.5,\n\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity: 0.3,\n\n /** hollowArea 颜色 */\n hollowAreaBorderColor: QUALITATIVE_10[0],\n /** hollowArea 边框粗细 */\n hollowAreaBorder: 2,\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity: 1,\n\n /** hollowArea active 状态下的边框粗细 */\n hollowAreaActiveBorder: 3,\n hollowAreaActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowArea selected 状态下的边框粗细 */\n hollowAreaSelectedBorder: 3,\n hollowAreaSelectedBorderColor: BLACK_COLORS[100],\n\n /** hollowArea inactive 状态下的边框透明度 */\n hollowAreaInactiveBorderOpacity: 0.3,\n\n /** interval 填充颜色 */\n intervalFillColor: QUALITATIVE_10[0],\n /** interval 填充透明度 */\n intervalFillOpacity: 0.95,\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder: 1,\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor: BLACK_COLORS[100],\n intervalActiveBorderOpacity: 1,\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder: 2,\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor: BLACK_COLORS[100],\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity: 1,\n\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity: 0.3,\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity: 0.3,\n\n /** interval 边框粗细 */\n hollowIntervalBorder: 2,\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor: QUALITATIVE_10[0],\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity: 1,\n hollowIntervalFillColor: WHITE_COLORS[100],\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder: 2,\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder: 3,\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor: BLACK_COLORS[100],\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity: 1,\n\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity: 0.3,\n};\n","import { deepMix, get, lowerCase } from '@antv/util';\nimport { LooseObject, StyleSheet } from '../interface';\n\nimport { createThemeByStylesheet } from '../util/theme';\nimport { antvLight as DefaultStyleSheet } from './style-sheet/light';\n\nconst defaultTheme = createThemeByStylesheet(DefaultStyleSheet as StyleSheet);\n\n// 所有已经存在的主题\nconst Themes: Record = {\n default: defaultTheme,\n};\n\n/**\n * 获取主题配置信息。\n * @param theme 主题名\n */\nexport function getTheme(theme?: string): LooseObject {\n return get(Themes, lowerCase(theme), Themes.default);\n}\n\n/**\n * 注册新的主题配置信息。\n * @param theme 主题名。\n * @param value 具体的主题配置。\n */\nexport function registerTheme(theme: string, value: LooseObject) {\n Themes[lowerCase(theme)] = deepMix({}, Themes.default, value);\n}\n","import { contains, filter, find, hasKey, isArray, isNil, isNumberEqual, isObject, memoize, values } from '@antv/util';\nimport { FIELD_ORIGIN, GROUP_ATTRS } from '../constant';\nimport { Attribute, Scale } from '../dependents';\nimport Geometry from '../geometry/base';\nimport { Data, Datum, MappingDatum, Point } from '../interface';\nimport { getName } from './scale';\n\nfunction snapEqual(v1: any, v2: any, scale: Scale) {\n const value1 = scale.translate(v1);\n const value2 = scale.translate(v2);\n\n return isNumberEqual(value1, value2);\n}\n\nfunction getXValueByPoint(point: Point, geometry: Geometry): number {\n const coordinate = geometry.coordinate;\n const xScale = geometry.getXScale();\n const range = xScale.range;\n const rangeMax = range[range.length - 1];\n const rangeMin = range[0];\n\n const invertPoint = coordinate.invert(point);\n\n let xValue = invertPoint.x;\n if (coordinate.isPolar && xValue > (1 + rangeMax) / 2) {\n xValue = rangeMin; // 极坐标下,scale 的 range 被做过特殊处理\n }\n return xScale.translate(xScale.invert(xValue));\n}\n\nfunction filterYValue(data: Data, point: Point, geometry: Geometry) {\n const coordinate = geometry.coordinate;\n const yScale = geometry.getYScale();\n const yField = yScale.field;\n const invertPoint = coordinate.invert(point);\n const yValue = yScale.invert(invertPoint.y);\n\n const result = find(data, (obj: Datum) => {\n const originData = obj[FIELD_ORIGIN];\n return originData[yField][0] <= yValue && originData[yField][1] >= yValue;\n });\n return result || data[data.length - 1];\n}\n\nconst getXDistance = memoize((scale: Scale) => {\n if (scale.isCategory) {\n return 1;\n }\n const scaleValues = scale.values; // values 是无序的\n const length = scaleValues.length;\n let min = scale.translate(scaleValues[0]);\n let max = min;\n\n for (let index = 0; index < length; index++) {\n const value = scaleValues[index];\n // 时间类型需要 translate\n const numericValue = scale.translate(value);\n if (numericValue < min) {\n min = numericValue;\n }\n if (numericValue > max) {\n max = numericValue;\n }\n }\n return (max - min) / (length - 1);\n});\n\nfunction getTooltipTitle(originData: Datum, geometry: Geometry, title: string) {\n let titleField = title;\n if (!title) {\n const positionAttr = geometry.getAttribute('position');\n const fields = positionAttr.getFields();\n titleField = fields[0];\n }\n const scales = geometry.scales;\n if (scales[titleField]) {\n // 如果创建了该字段对应的 scale,则通过 scale.getText() 方式取值,因为用户可能对数据进行了格式化\n return scales[titleField].getText(originData[titleField]);\n }\n // 如果没有对应的 scale,则从原始数据中取值,如果原始数据中仍不存在,则直接放回 title 值\n return hasKey(originData, titleField) ? originData[titleField] : titleField;\n}\n\nfunction getAttributesForLegend(geometry: Geometry) {\n const attributes = values(geometry.attributes);\n return filter(attributes, (attribute: Attribute) => contains(GROUP_ATTRS, attribute.type));\n}\n\nfunction getTooltipValueScale(geometry: Geometry) {\n const attributes = getAttributesForLegend(geometry);\n let scale;\n for (const attribute of attributes) {\n const tmpScale = attribute.getScale(attribute.type);\n if (tmpScale && tmpScale.isLinear) {\n // 如果指定字段是非 position 的,同时是连续的\n scale = tmpScale;\n break;\n }\n }\n\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n\n return scale || yScale || xScale;\n}\n\nfunction getTooltipValue(originData: Datum, valueScale: Scale) {\n const field = valueScale.field;\n const value = originData[field];\n\n if (isArray(value)) {\n const texts = value.map((eachValue) => {\n return valueScale.getText(eachValue);\n });\n return texts.join('-');\n }\n return valueScale.getText(value);\n}\n\n// 根据原始数据获取 tooltip item 中 name 值\nfunction getTooltipName(originData: Datum, geometry: Geometry) {\n let nameScale: Scale;\n const groupScales = geometry.getGroupScales();\n if (groupScales.length) {\n // 如果存在分组类型,取第一个分组类型\n nameScale = groupScales[0];\n }\n if (nameScale) {\n const field = nameScale.field;\n return nameScale.getText(originData[field]);\n }\n\n const valueScale = getTooltipValueScale(geometry);\n return getName(valueScale);\n}\n\n/**\n * @ignore\n * Finds data from geometry by point\n * @param point canvas point\n * @param data an item of geometry.dataArray\n * @param geometry\n * @returns\n */\nexport function findDataByPoint(point: Point, data: MappingDatum[], geometry: Geometry) {\n if (data.length === 0) {\n return null;\n }\n\n const geometryType = geometry.type;\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n\n const xField = xScale.field;\n const yField = yScale.field;\n\n let rst = null;\n\n // 热力图采用最小逼近策略查找 point 击中的数据\n if (geometryType === 'heatmap' || geometryType === 'point') {\n // 将 point 画布坐标转换为原始数据值\n const coordinate = geometry.coordinate;\n const invertPoint = coordinate.invert(point); // 转换成归一化的数据\n const x = xScale.invert(invertPoint.x); // 转换为原始值\n const y = yScale.invert(invertPoint.y); // 转换为原始值\n\n let min = Infinity;\n for (let index = 0; index < data.length; index++) {\n const obj = data[index];\n const originData = obj[FIELD_ORIGIN];\n const range = (originData[xField] - x) ** 2 + (originData[yField] - y) ** 2;\n if (range < min) {\n min = range;\n rst = obj;\n }\n }\n\n return rst;\n }\n\n // 其他 Geometry 类型按照 x 字段数据进行查找\n const first = data[0];\n let last = data[data.length - 1];\n const xValue = getXValueByPoint(point, geometry);\n const firstXValue = first[FIELD_ORIGIN][xField];\n const firstYValue = first[FIELD_ORIGIN][yField];\n const lastXValue = last[FIELD_ORIGIN][xField];\n const isYArray = yScale.isLinear && isArray(firstYValue); // 考虑 x 维度相同,y 是数组区间的情况\n\n // 如果 x 的值是数组\n if (isArray(firstXValue)) {\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const originData = record[FIELD_ORIGIN];\n // xValue 在 originData[xField] 的数值区间内\n if (xScale.translate(originData[xField][0]) <= xValue && xScale.translate(originData[xField][1]) >= xValue) {\n if (isYArray) {\n // 层叠直方图场景,x 和 y 都是数组区间\n if (!isArray(rst)) {\n rst = [];\n }\n rst.push(record);\n } else {\n rst = record;\n break;\n }\n }\n }\n if (isArray(rst)) {\n rst = filterYValue(rst, point, geometry);\n }\n } else {\n let next;\n if (!xScale.isLinear && xScale.type !== 'timeCat') {\n // x 轴对应的数据为非线性以及非时间类型的数据采用遍历查找\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const originData = record[FIELD_ORIGIN];\n if (snapEqual(originData[xField], xValue, xScale)) {\n if (isYArray) {\n if (!isArray(rst)) {\n rst = [];\n }\n rst.push(record);\n } else {\n rst = record;\n break;\n }\n } else if (xScale.translate(originData[xField]) <= xValue) {\n last = record;\n next = data[index + 1];\n }\n }\n\n if (isArray(rst)) {\n rst = filterYValue(rst, point, geometry);\n }\n } else {\n // x 轴对应的数据为线性以及时间类型,进行二分查找,性能更好\n if (\n (xValue > xScale.translate(lastXValue) || xValue < xScale.translate(firstXValue)) &&\n (xValue > xScale.max || xValue < xScale.min)\n ) {\n // 不在数据范围内\n return null;\n }\n\n let firstIdx = 0;\n let lastIdx = data.length - 1;\n let middleIdx;\n while (firstIdx <= lastIdx) {\n middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n const item = data[middleIdx][FIELD_ORIGIN][xField];\n if (snapEqual(item, xValue, xScale)) {\n return data[middleIdx];\n }\n\n if (xScale.translate(item) <= xScale.translate(xValue)) {\n firstIdx = middleIdx + 1;\n last = data[middleIdx];\n next = data[middleIdx + 1];\n } else {\n if (lastIdx === 0) {\n last = data[0];\n }\n lastIdx = middleIdx - 1;\n }\n }\n }\n\n if (last && next) {\n // 计算最逼近的\n if (\n Math.abs(xScale.translate(last[FIELD_ORIGIN][xField]) - xValue) >\n Math.abs(xScale.translate(next[FIELD_ORIGIN][xField]) - xValue)\n ) {\n last = next;\n }\n }\n }\n\n const distance = getXDistance(geometry.getXScale()); // 每个分类间的平均间距\n if (!rst && Math.abs(xScale.translate(last[FIELD_ORIGIN][xField]) - xValue) <= distance / 2) {\n rst = last;\n }\n\n return rst;\n}\n\n/**\n * @ignore\n * Gets tooltip items\n * @param data\n * @param geometry\n * @param [title]\n * @returns\n */\nexport function getTooltipItems(data: MappingDatum, geometry: Geometry, title: string = '') {\n const originData = data[FIELD_ORIGIN];\n const tooltipTitle = getTooltipTitle(originData, geometry, title);\n const tooltipOption = geometry.tooltipOption;\n const { defaultColor } = geometry.theme;\n const items = [];\n let name;\n let value;\n\n function addItem(itemName, itemValue) {\n if (!isNil(itemValue) && itemValue !== '') {\n // 值为 null的时候,忽视\n const item = {\n title: tooltipTitle,\n data: originData, // 原始数据\n mappingData: data, // 映射后的数据\n name: itemName,\n value: itemValue,\n color: data.color || defaultColor,\n marker: true,\n };\n\n items.push(item);\n }\n }\n\n if (isObject(tooltipOption)) {\n const { fields, callback } = tooltipOption;\n if (callback) {\n // 用户定义了回调函数\n const callbackParams = fields.map((field: string) => {\n return data[FIELD_ORIGIN][field];\n });\n const cfg = callback(...callbackParams);\n const itemCfg = {\n data: data[FIELD_ORIGIN], // 原始数据\n mappingData: data, // 映射后的数据\n title: tooltipTitle,\n color: data.color || defaultColor,\n marker: true, // 默认展示 marker\n ...cfg,\n };\n\n items.push(itemCfg);\n } else {\n const scales = geometry.scales;\n for (const field of fields) {\n if (!isNil(originData[field])) {\n // 字段数据为null, undefined 时不显示\n const scale = scales[field];\n name = getName(scale);\n value = scale.getText(originData[field]);\n addItem(name, value);\n }\n }\n }\n } else {\n const valueScale = getTooltipValueScale(geometry);\n if (!isNil(originData[valueScale.field])) {\n // 字段数据为null ,undefined时不显示\n value = getTooltipValue(originData, valueScale);\n name = getTooltipName(originData, geometry);\n addItem(name, value);\n }\n }\n return items;\n}\n","import { ControllerCtor } from './base';\n\nconst LOAD_COMPONENT_CONTROLLERS: Record = {};\n\n/**\n * 全局注册组件。\n * @param name 组件名称\n * @param plugin 注册的组件类\n * @returns void\n */\nexport function registerComponentController(name: string, plugin: ControllerCtor) {\n LOAD_COMPONENT_CONTROLLERS[name] = plugin;\n}\n\n/**\n * 删除全局组件。\n * @param name 组件名\n * @returns void\n */\nexport function unregisterComponentController(name: string) {\n delete LOAD_COMPONENT_CONTROLLERS[name];\n}\n\n/**\n * 获取以注册的组件名。\n * @returns string[] 返回已注册的组件名称\n */\nexport function getComponentControllerNames(): string[] {\n return Object.keys(LOAD_COMPONENT_CONTROLLERS);\n}\n\n/**\n * 根据组件名获取组件类。\n * @param name 组件名\n * @returns 返回组件类\n */\nexport function getComponentController(name: string): ControllerCtor {\n return LOAD_COMPONENT_CONTROLLERS[name];\n}\n","import { each, isNil, some } from '@antv/util';\nimport { Coordinate, getCoordinate, Point } from '../../dependents';\nimport { CoordinateOption } from '../../interface';\n\n/**\n * coordinate controller,职责:\n * 1. 创建实例\n * 2. 暂存配置\n */\nexport default class CoordinateController {\n private option: CoordinateOption;\n private coordinate: Coordinate;\n\n constructor(option?: CoordinateOption) {\n // 设置默认值,并存储配置\n this.option = this.wrapperOption(option);\n }\n\n /**\n * 更新配置\n * @param option\n */\n public update(option: CoordinateOption) {\n this.option = this.wrapperOption(option);\n return this;\n }\n\n /**\n * 是否存在某一个 action\n * @param actionName\n */\n public hasAction(actionName: string) {\n const { actions } = this.option;\n\n return some(actions, (action) => action[0] === actionName);\n }\n /**\n * 创建坐标系对象\n * @param start 起始位置\n * @param end 结束位置\n * @return 坐标系实例\n */\n public create(start: Point, end: Point) {\n const { type, cfg } = this.option;\n const isTheta = type === 'theta';\n\n // 1. 起始位置\n const props = {\n start,\n end,\n ...cfg,\n };\n\n // 2. 创建实例\n const C = getCoordinate(isTheta ? 'polar' : type);\n\n this.coordinate = new C(props);\n\n // @ts-ignore FIXME coordinate 包问题导致 type 不正确\n this.coordinate.type = type;\n\n // 3. 添加默认 action\n if (isTheta) {\n // 不存在 transpose,为其自动设置一个 action\n if (!this.hasAction('transpose')) {\n this.transpose();\n }\n }\n\n // 4. 执行 action\n this.execActions();\n\n return this.coordinate;\n }\n\n /**\n * 更新坐标系对象\n * @param start 起始位置\n * @param end 结束位置\n * @return 坐标系实例\n */\n public adjust(start: Point, end: Point) {\n this.coordinate.update({\n start,\n end,\n });\n\n // 更新坐标系大小的时候,需要:\n // 1. 重置 matrix\n // 2. 重新执行作用于 matrix 的 action\n this.coordinate.resetMatrix();\n this.execActions(['scale', 'rotate', 'translate']);\n\n return this.coordinate;\n }\n\n /**\n * 旋转弧度\n * @param angle\n */\n public rotate(angle: number) {\n this.option.actions.push(['rotate', angle]);\n return this;\n }\n\n /**\n * 镜像\n * @param dim\n */\n public reflect(dim: 'x' | 'y') {\n this.option.actions.push(['reflect', dim]);\n return this;\n }\n\n /**\n * scale\n * @param sx\n * @param sy\n */\n public scale(sx: number, sy: number) {\n this.option.actions.push(['scale', sx, sy]);\n return this;\n }\n\n /**\n * 对角变换\n */\n public transpose() {\n this.option.actions.push(['transpose']);\n return this;\n }\n\n /**\n * 获取配置\n */\n public getOption(): CoordinateOption {\n return this.option;\n }\n\n /**\n * 获得 coordinate 实例\n */\n public getCoordinate() {\n return this.coordinate;\n }\n\n /**\n * 包装配置的默认值\n * @param option\n */\n private wrapperOption(option: CoordinateOption): CoordinateOption {\n return {\n type: 'rect',\n actions: [],\n cfg: {},\n ...option,\n };\n }\n\n /**\n * coordinate 实例执行 actions\n * @params includeActions 如果没有指定,则执行全部,否则,执行指定的 action\n */\n private execActions(includeActions?: string[]) {\n const { actions } = this.option;\n\n each(actions, (action) => {\n const [actionName, ...args] = action;\n\n const shouldExec = isNil(includeActions) ? true : includeActions.includes(actionName);\n\n if (shouldExec) {\n this.coordinate[actionName](...args);\n }\n });\n }\n}\n","import { Event as GEvent, IShape } from '../dependents';\nimport { Datum } from '../interface';\nimport View from './view';\n\n/**\n * @todo Whether it can(or necessary to) keep consistent with the structure of G.Event or directly use the structure of G.Event\n * G2 事件的事件包装类,基于 G.Event\n */\nexport default class Event {\n /** 当前 target 归属的 view 实例 */\n public view: View;\n /** 被包装的原声 G 事件 */\n public gEvent: GEvent;\n /** 原始数据 */\n public data?: Datum;\n /** 事件类型 */\n public type: string;\n\n constructor(view: View, gEvent: GEvent, data?: Datum) {\n this.view = view;\n this.gEvent = gEvent;\n this.data = data;\n this.type = gEvent.type;\n }\n\n // below props are proxy props of G.event convenient\n\n /** the real trigger shape of the event */\n public get target(): IShape {\n // @todo G 中事件定义为 object 不正确,这里先 ignore\n // @ts-ignore\n return this.gEvent.target;\n }\n\n /** 获取对应的 dom 原生时间 */\n public get event(): any {\n return this.gEvent.originalEvent;\n }\n\n /** x 画布坐标 */\n public get x(): number {\n return this.gEvent.x;\n }\n\n /** y 画布坐标 */\n public get y(): number {\n return this.gEvent.y;\n }\n\n /** x 窗口坐标 */\n public get clientX(): number {\n return this.gEvent.clientX;\n }\n\n /** y 窗口坐标 */\n public get clientY(): number {\n return this.gEvent.clientY;\n }\n // end for proxy events\n\n /**\n * event string\n * @returns string\n */\n public toString(): string {\n return `[Event (type=${this.type})]`;\n }\n\n /**\n * clone a new event with same attributes\n * @returns [[Event]]\n */\n public clone(): Event {\n return new Event(this.view, this.gEvent, this.data);\n }\n}\n","import { isArray, isNumber } from '@antv/util';\nimport { Padding, ViewPadding } from '../interface';\n\n/**\n * @ignore\n * 是否是自动 padding\n * @param padding\n */\nexport function isAutoPadding(padding: ViewPadding): padding is 'auto' {\n return !isNumber(padding) && !isArray(padding);\n}\n\n/**\n * @ignore\n * padding 的解析逻辑\n * @param padding\n * @return [ top, right, bottom, left ]\n */\nexport function parsePadding(padding: number[] | number = 0): Padding {\n let paddingArray = isArray(padding) ? padding : [padding];\n\n switch (paddingArray.length) {\n case 0:\n paddingArray = [0, 0, 0, 0];\n break;\n case 1:\n paddingArray = new Array(4).fill(paddingArray[0]);\n break;\n case 2:\n paddingArray = [...paddingArray, ...paddingArray];\n break;\n case 3:\n paddingArray = [...paddingArray, paddingArray[1]];\n break;\n default:\n // 其他情况,只去四个\n paddingArray = paddingArray.slice(0, 4);\n break;\n }\n\n return paddingArray as [number, number, number, number];\n}\n","import { DIRECTION } from '../../constant';\nimport { BBox } from '../../dependents';\nimport { Padding } from '../../interface';\n\n/** @ignore */\nexport class PaddingCal {\n private top: number;\n private right: number;\n private bottom: number;\n private left: number;\n\n /**\n * 初始的 padding 数据\n * @param top\n * @param right\n * @param bottom\n * @param left\n */\n constructor(top: number = 0, right: number = 0, bottom: number = 0, left: number = 0) {\n this.top = top;\n this.right = right;\n this.bottom = bottom;\n this.left = left;\n }\n\n /**\n * 四周增加 padding\n * @param padding\n */\n public shrink(padding: Padding): PaddingCal {\n const [top, right, bottom, left] = padding;\n\n this.top += top;\n this.right += right;\n this.bottom += bottom;\n this.left += left;\n\n return this;\n }\n\n /**\n * 在某一个方向增加 padding\n * @param bbox\n * @param direction\n */\n public inc(bbox: BBox, direction: DIRECTION): PaddingCal {\n const { width, height } = bbox;\n\n switch (direction) {\n case DIRECTION.TOP:\n case DIRECTION.TOP_LEFT:\n case DIRECTION.TOP_RIGHT:\n this.top += height;\n break;\n\n case DIRECTION.RIGHT:\n case DIRECTION.RIGHT_TOP:\n case DIRECTION.RIGHT_BOTTOM:\n this.right += width;\n break;\n\n case DIRECTION.BOTTOM:\n case DIRECTION.BOTTOM_LEFT:\n case DIRECTION.BOTTOM_RIGHT:\n this.bottom += height;\n break;\n\n case DIRECTION.LEFT:\n case DIRECTION.LEFT_TOP:\n case DIRECTION.LEFT_BOTTOM:\n this.left += width;\n break;\n default:\n break;\n }\n\n return this;\n }\n\n /**\n * 获得最终的 padding\n */\n public getPadding(): Padding {\n return [this.top, this.right, this.bottom, this.left];\n }\n}\n","import { Controller } from '../controller/base';\nimport View from '../view';\nimport { parsePadding } from '../../util/padding';\nimport { calculatePadding } from './auto';\n\n// 布局函数的定义\n// 布局函数的职责:根据 view 中组件信息,计算出最终的图形 padding 数值,以及最终各个组件的布局和位置\nexport type Layout = (view: View) => void;\n\n/**\n * @ignore\n * G2 默认提供的 layout 函数\n * 内置布局函数处理的逻辑:\n *\n * 1. 如果 padding = 'auto',那么自动根据组件的 direction 来计算 padding 数组\n * 2. 根据 padding 和 direction 去分配对应方向的 padding 数值\n * 3. 移动组件位置\n *\n * 对于组件响应式布局,可以尝试使用约束布局的方式去求解位置信息。\n * @param view\n */\nexport default function defaultLayout(view: View): void {\n const axis = view.getController('axis');\n const legend = view.getController('legend');\n const annotation = view.getController('annotation');\n const slider = view.getController('slider');\n\n // 1. 自动加 auto padding -> absolute padding\n const padding = calculatePadding(view);\n\n // 2. 计算出新的 coordinateBBox\n view.coordinateBBox = view.viewBBox.shrink(padding).shrink(parsePadding(view.appendPadding));\n\n view.adjustCoordinate();\n\n // 3. 根据最新的 coordinate 重新布局组件\n [axis, slider, legend, annotation].forEach((controller: Controller) => {\n if (controller) {\n controller.layout();\n }\n });\n}\n","import { each } from '@antv/util';\nimport { COMPONENT_TYPE } from '../../constant';\nimport { ComponentOption, Padding } from '../../interface';\nimport { BBox } from '../../util/bbox';\nimport { isAutoPadding, parsePadding } from '../../util/padding';\nimport View from '../view';\nimport { PaddingCal } from './padding-cal';\n\n/**\n * @ignore\n * 根据 view 中的组件,计算实际的 padding 数值\n * @param view\n */\nexport function calculatePadding(view: View): Padding {\n const padding = view.padding;\n\n // 如果不是 auto padding,那么直接解析之后返回\n if (!isAutoPadding(padding)) {\n return parsePadding(padding);\n }\n\n // 是 auto padding,根据组件的情况,来计算 padding\n const { viewBBox, autoPadding } = view;\n\n const paddingCal = new PaddingCal();\n\n each(view.getComponents(), (co: ComponentOption) => {\n const { component, type } = co;\n\n // grid, tooltip 不参入 padding 布局\n if (type === COMPONENT_TYPE.GRID || type === COMPONENT_TYPE.TOOLTIP) {\n return;\n }\n\n const bboxObject = component.getLayoutBBox();\n const componentBBox = new BBox(bboxObject.x, bboxObject.y, bboxObject.width, bboxObject.height);\n\n if (type === COMPONENT_TYPE.AXIS) {\n const exceed = componentBBox.exceed(viewBBox);\n paddingCal.shrink(exceed);\n } else {\n // 按照方向计算 padding\n const direction = co.direction;\n\n // const direction =\n // type === COMPONENT_TYPE.AXIS ? getTranslateDirection(co.direction, view.getCoordinate()) : co.direction;\n paddingCal.inc(componentBBox, direction);\n }\n });\n\n const calculatedPadding = paddingCal.getPadding();\n\n if (autoPadding) {\n const appendPadding = parsePadding(view.appendPadding);\n // 取上一次以及当前计算结果的最大区间\n return [\n Math.max(autoPadding[0] - appendPadding[0], calculatedPadding[0]),\n Math.max(autoPadding[1] - appendPadding[1], calculatedPadding[1]),\n Math.max(autoPadding[2] - appendPadding[2], calculatedPadding[2]),\n Math.max(autoPadding[3] - appendPadding[3], calculatedPadding[3]),\n ];\n }\n\n return calculatedPadding;\n}\n","/**\n * view 中缓存 scale 的类\n */\nimport { deepMix, each, get, isNumber, last } from '@antv/util';\nimport { Scale } from '../../dependents';\nimport { Data, LooseObject, ScaleOption } from '../../interface';\nimport { createScaleByField, syncScale } from '../../util/scale';\n\n/** @ignore */\ninterface ScaleMeta {\n readonly key: string;\n readonly scale: Scale;\n scaleDef: ScaleOption;\n syncKey?: string;\n}\n\n/** @ignore */\nexport class ScalePool {\n /** 所有的 scales */\n private scales = new Map();\n /** 需要同步的 scale 分组, key: scaleKeyArray */\n private syncScales = new Map();\n\n /**\n * 创建 scale\n * @param field\n * @param data\n * @param scaleDef\n * @param key\n */\n public createScale(field: string, data: Data, scaleDef: ScaleOption, key: string): Scale {\n let finalScaleDef = scaleDef;\n\n const cacheScaleMeta = this.getScaleMeta(key);\n if (data.length === 0 && cacheScaleMeta) {\n // 在更新过程中数据变为空,同时 key 对应的 scale 已存在则保持 scale 同类型\n const cacheScale = cacheScaleMeta.scale;\n const cacheScaleDef: LooseObject = {\n type: cacheScale.type,\n };\n if (cacheScale.isCategory) {\n // 如果是分类类型,保持 values\n cacheScaleDef.values = cacheScale.values;\n }\n finalScaleDef = deepMix(cacheScaleDef, cacheScaleMeta.scaleDef, scaleDef);\n }\n\n const scale = createScaleByField(field, data, finalScaleDef);\n\n // 缓存起来\n this.cacheScale(scale, scaleDef, key);\n\n return scale;\n }\n\n /**\n * 同步 scale\n */\n public sync() {\n // 对于 syncScales 中每一个 syncKey 下面的 scale 数组进行同步处理\n this.syncScales.forEach((scaleKeys: string[], syncKey: string) => {\n // min, max, values\n let min = Number.MAX_SAFE_INTEGER;\n let max = Number.MIN_SAFE_INTEGER;\n const values = [];\n\n // 1. 遍历求得最大最小值,values 等\n each(scaleKeys, (key: string) => {\n const scale = this.getScale(key);\n\n max = isNumber(scale.max) ? Math.max(max, scale.max) : max;\n min = isNumber(scale.min) ? Math.min(min, scale.min) : min;\n\n // 去重\n each(scale.values, (v: any) => {\n if (!values.includes(v)) {\n values.push(v);\n }\n });\n });\n\n // 2. 同步\n each(scaleKeys, (key: string) => {\n const scale = this.getScale(key);\n\n if (scale.isContinuous) {\n scale.change({\n min,\n max,\n values,\n });\n } else if (scale.isCategory) {\n scale.change({\n values,\n });\n }\n });\n });\n }\n\n /**\n * 缓存一个 scale\n * @param scale\n * @param scaleDef\n * @param key\n */\n private cacheScale(scale: Scale, scaleDef: ScaleOption, key: string) {\n // 1. 缓存到 scales\n\n let sm = this.getScaleMeta(key);\n // 存在则更新,同时检测类型是否一致\n if (sm && sm.scale.type === scale.type) {\n syncScale(sm.scale, scale);\n sm.scaleDef = scaleDef;\n // 更新 scaleDef\n } else {\n sm = {\n key,\n scale,\n scaleDef,\n };\n\n this.scales.set(key, sm);\n }\n\n // 2. 缓存到 syncScales,构造 Record 数据结构\n const syncKey = this.getSyncKey(sm);\n sm.syncKey = syncKey; // 设置 sync 同步的 key\n\n // 因为存在更新 scale 机制,所以在缓存之前,先从原 syncScales 中去除 sync 的缓存引用\n this.removeFromSyncScales(key);\n\n // 存在 sync 标记才进行 sync\n if (syncKey) {\n // 不存在这个 syncKey,则创建一个空数组\n let scaleKeys = this.syncScales.get(syncKey);\n if (!scaleKeys) {\n scaleKeys = [];\n this.syncScales.set(syncKey, scaleKeys);\n }\n scaleKeys.push(key);\n }\n }\n\n /**\n * 通过 key 获取 scale\n * @param key\n */\n public getScale(key: string): Scale {\n let scaleMeta = this.getScaleMeta(key);\n if (!scaleMeta) {\n const field = last(key.split('-'));\n const scaleKeys = this.syncScales.get(field);\n if (scaleKeys && scaleKeys.length) {\n scaleMeta = this.getScaleMeta(scaleKeys[0]);\n }\n }\n return scaleMeta && scaleMeta.scale;\n }\n\n /**\n * 在 view 销毁的时候,删除 scale 实例,防止内存泄露\n * @param key\n */\n public deleteScale(key: string) {\n const scaleMeta = this.getScaleMeta(key);\n if (scaleMeta) {\n const { syncKey } = scaleMeta;\n\n const scaleKeys = this.syncScales.get(syncKey);\n\n // 移除同步的关系\n if (scaleKeys && scaleKeys.length) {\n const idx = scaleKeys.indexOf(key);\n\n if (idx !== -1) {\n scaleKeys.splice(idx, 1);\n }\n }\n }\n\n // 删除 scale 实例\n this.scales.delete(key);\n }\n\n /**\n * 清空\n */\n public clear() {\n this.scales.clear();\n this.syncScales.clear();\n }\n\n /**\n * 删除 sync scale 引用\n * @param key\n */\n private removeFromSyncScales(key: string) {\n this.syncScales.forEach((scaleKeys: string[], syncKey: string) => {\n const idx = scaleKeys.indexOf(key);\n\n if (idx !== -1) {\n scaleKeys.splice(idx, 1);\n\n // 删除空数组值\n if (scaleKeys.length === 0) {\n this.syncScales.delete(syncKey);\n }\n\n return false; // 跳出循环\n }\n });\n }\n\n /**\n * get sync key\n * @param sm\n */\n private getSyncKey(sm: ScaleMeta): string {\n const { scale, scaleDef } = sm;\n const { field } = scale;\n const sync = get(scaleDef, ['sync']);\n\n // 如果 sync = true,则直接使用字段名作为 syncKey\n return sync === true ? field : sync === false ? undefined : sync;\n }\n\n /**\n * 通过 key 获取 scale\n * @param key\n */\n private getScaleMeta(key: string): ScaleMeta {\n return this.scales.get(key);\n }\n}\n","import {\n clone,\n deepMix,\n each,\n filter,\n find,\n flatten,\n get,\n isBoolean,\n isFunction,\n isNil,\n isObject,\n isString,\n isUndefined,\n mix,\n remove,\n set,\n size,\n uniqueId,\n isEqual,\n} from '@antv/util';\nimport { Attribute, Coordinate, Event as GEvent, GroupComponent, ICanvas, IGroup, IShape, Scale } from '../dependents';\nimport {\n AxisOption,\n ComponentOption,\n CoordinateCfg,\n CoordinateOption,\n Data,\n Datum,\n FacetCfgMap,\n FilterCondition,\n GeometryOption,\n LegendOption,\n LooseObject,\n Options,\n Point,\n Region,\n ScaleOption,\n TooltipOption,\n ViewCfg,\n ViewPadding,\n ViewAppendPadding,\n} from '../interface';\n\nimport { GROUP_Z_INDEX, LAYER, PLOT_EVENTS, VIEW_LIFE_CIRCLE } from '../constant';\n\nimport Base from '../base';\nimport { Facet, getFacet } from '../facet';\nimport Geometry from '../geometry/base';\nimport { createInteraction, Interaction } from '../interaction';\nimport { getTheme } from '../theme';\nimport { BBox } from '../util/bbox';\nimport { getCoordinateClipCfg, isFullCircle, isPointInCoordinate } from '../util/coordinate';\nimport { uniq } from '../util/helper';\nimport { findDataByPoint } from '../util/tooltip';\nimport Chart from './chart';\nimport { getComponentController, getComponentControllerNames } from './controller';\nimport Annotation from './controller/annotation';\nimport { Controller } from './controller/base';\nimport CoordinateController from './controller/coordinate';\nimport TooltipComponent from './controller/tooltip';\nimport Event from './event';\nimport defaultLayout, { Layout } from './layout';\nimport { ScalePool } from './util/scale-pool';\nimport { isAutoPadding } from '../util/padding';\n\n/**\n * G2 视图 View 类\n */\nexport class View extends Base {\n /** view id,全局唯一。 */\n public id: string = uniqueId('view');\n /** 父级 view,如果没有父级,则为空。 */\n public parent: View;\n /** 所有的子 view。 */\n public views: View[] = [];\n /** 所有的 geometry 实例。 */\n public geometries: Geometry[] = [];\n /** 所有的组件 controllers。 */\n public controllers: Controller[] = [];\n /** 所有的 Interaction 实例。 */\n public interactions: Record = {};\n\n /** view 区域空间。 */\n public viewBBox: BBox;\n /** 坐标系的位置大小,ViewBBox - padding = coordinateBBox。 */\n public coordinateBBox: BBox;\n /** view 的 padding 大小,传入的配置(不是解析之后的值)。 */\n public padding: ViewPadding;\n /** padding的基础上增加的调整值 */\n public appendPadding: ViewAppendPadding;\n /** G.Canvas 实例。 */\n public canvas: ICanvas;\n /** 存储自动计算的 padding 值 */\n public autoPadding: number[];\n\n /** 三层 Group 图形中的背景层。 */\n public backgroundGroup: IGroup;\n /** 三层 Group 图形中的中间层。 */\n public middleGroup: IGroup;\n /** 三层 Group 图形中的前景层。 */\n public foregroundGroup: IGroup;\n /** 是否对超出坐标系范围的 Geometry 进行剪切 */\n public limitInPlot: boolean = false;\n\n /**\n * 标记 view 的大小位置范围,均是 0 ~ 1 范围,便于开发者使用,起始点为左上角。\n */\n protected region: Region;\n /** 主题配置,存储当前主题配置。 */\n protected themeObject: LooseObject;\n\n // 配置信息存储\n protected options: Options = {\n data: [],\n animate: true, // 默认开启动画\n }; // 初始化为空\n\n /** 过滤之后的数据 */\n protected filteredData: Data;\n\n /** 配置开启的组件插件,默认为全局配置的组件。 */\n private usedControllers: string[] = getComponentControllerNames();\n\n /** 所有的 scales */\n private scalePool: ScalePool = new ScalePool();\n\n /** 布局函数 */\n protected layoutFunc: Layout = defaultLayout;\n /** 生成的坐标系实例,{@link https://github.com/antvis/coord/blob/master/src/coord/base.ts|Coordinate} */\n protected coordinateInstance: Coordinate;\n /** Coordinate 相关的控制器类,负责坐标系实例的创建、更新、变换等 */\n protected coordinateController: CoordinateController;\n /** 分面类实例 */\n protected facetInstance: Facet;\n\n /** 当前鼠标是否在 plot 内(CoordinateBBox) */\n private isPreMouseInPlot: boolean = false;\n /** 默认标识位,用于判定数据是否更新 */\n private isDataChanged: boolean = false;\n /** 用于判断坐标系范围是否发生变化的标志位 */\n private isCoordinateChanged: boolean = false;\n /** 从当前这个 view 创建的 scale key */\n private createdScaleKeys = new Map();\n /** 背景色样式的 shape */\n private backgruondStyleRectShape;\n\n constructor(props: ViewCfg) {\n super({ visible: props.visible });\n\n const {\n parent,\n canvas,\n backgroundGroup,\n middleGroup,\n foregroundGroup,\n region = { start: { x: 0, y: 0 }, end: { x: 1, y: 1 } },\n padding,\n appendPadding,\n theme,\n options,\n limitInPlot,\n } = props;\n\n this.parent = parent;\n this.canvas = canvas;\n this.backgroundGroup = backgroundGroup;\n this.middleGroup = middleGroup;\n this.foregroundGroup = foregroundGroup;\n this.region = region;\n this.padding = padding;\n this.appendPadding = appendPadding;\n // 接受父 view 传入的参数\n this.options = { ...this.options, ...options };\n this.limitInPlot = limitInPlot;\n\n // 初始化 theme\n this.themeObject = isObject(theme) ? deepMix({}, getTheme('default'), theme) : getTheme(theme);\n this.init();\n }\n\n /**\n * 设置 layout 布局函数\n * @param layout 布局函数\n * @returns void\n */\n public setLayout(layout: Layout) {\n this.layoutFunc = layout;\n }\n\n /**\n * 生命周期:初始化\n * @returns voids\n */\n public init() {\n // 计算画布的 viewBBox\n this.calculateViewBBox();\n\n // 事件委托机制\n this.initEvents();\n\n // 初始化组件 controller\n this.initComponentController();\n\n // 创建 coordinate controller\n this.coordinateController = new CoordinateController(this.options.coordinate);\n\n this.initOptions();\n\n // 递归初始化子 view\n const views = this.views;\n for (let i = 0; i < views.length; i++) {\n views[i].init();\n }\n }\n\n /**\n * 生命周期:渲染流程,渲染过程需要处理数据更新的情况。\n * render 函数仅仅会处理 view 和子 view。\n * @param isUpdate 是否触发更新流程。\n */\n public render(isUpdate: boolean = false) {\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_RENDER);\n // 递归渲染\n this.paint(isUpdate);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_RENDER);\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 生命周期:清空图表上所有的绘制内容,但是不销毁图表,chart 仍可使用。\n * @returns void\n */\n public clear() {\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CLEAR);\n // 1. 清空缓存和计算数据\n this.filteredData = [];\n this.coordinateInstance = undefined;\n this.isDataChanged = false; // 复位\n this.isCoordinateChanged = false; // 复位\n\n // 2. 清空 geometries\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n geometries[i].clear();\n }\n this.geometries = [];\n\n // 3. 清空 controllers\n const controllers = this.controllers;\n for (let i = 0; i < controllers.length; i++) {\n controllers[i].clear();\n }\n\n // 4. 删除 scale 缓存\n this.createdScaleKeys.forEach((v: boolean, k: string) => {\n this.getRootView().scalePool.deleteScale(k);\n });\n this.createdScaleKeys.clear();\n\n // 递归处理子 view\n const views = this.views;\n for (let i = 0; i < views.length; i++) {\n views[i].clear();\n }\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CLEAR);\n }\n\n /**\n * 生命周期:销毁,完全无法使用。\n * @returns void\n */\n public destroy() {\n // 销毁前事件,销毁之后已经没有意义了,所以不抛出事件\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_DESTROY);\n const interactions = this.interactions;\n // 销毁 interactions\n each(interactions, (interaction) => {\n if (interaction) {\n // 有可能已经销毁,设置了 undefined\n interaction.destroy();\n }\n });\n\n this.clear();\n\n // 销毁 controller 中的组件\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n controller.destroy();\n }\n\n this.backgroundGroup.remove(true);\n this.middleGroup.remove(true);\n this.foregroundGroup.remove(true);\n\n super.destroy();\n }\n /* end 生命周期函数 */\n\n /**\n * 显示或者隐藏整个 view。\n * @param visible 是否可见\n * @returns View\n */\n public changeVisible(visible: boolean): View {\n super.changeVisible(visible);\n\n const geometries = this.geometries;\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n geometry.changeVisible(visible);\n }\n\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n controller.changeVisible(visible);\n }\n\n this.foregroundGroup.set('visible', visible);\n this.middleGroup.set('visible', visible);\n this.backgroundGroup.set('visible', visible);\n\n // group.set('visible', visible) 不会触发自动刷新\n this.getCanvas().draw();\n\n return this;\n }\n\n /**\n * 装载数据源。\n *\n * ```ts\n * view.data([{ city: '杭州', sale: 100 }, { city: '上海', sale: 110 } ]);\n * ```\n *\n * @param data 数据源,json 数组。\n * @returns View\n */\n public data(data: Data): View {\n set(this.options, 'data', data);\n this.isDataChanged = true;\n return this;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #data(data)}\n */\n public source(data: Data): View {\n console.warn('This method will be removed at G2 V4.1. Please use chart.data() instead.');\n return this.data(data);\n }\n\n /**\n * 设置数据筛选规则。\n *\n * ```ts\n * view.filter('city', (value: any, datum: Datum) => value !== '杭州');\n *\n * // 删除 'city' 字段对应的筛选规则。\n * view.filter('city', null);\n * ```\n *\n * @param field 数据字段\n * @param condition 筛选规则\n * @returns View\n */\n public filter(field: string, condition: FilterCondition | null): View {\n if (isFunction(condition)) {\n set(this.options, ['filters', field], condition);\n return this;\n }\n // condition 为空,则表示删除过滤条件\n if (!condition && get(this.options, ['filters', field])) {\n delete this.options.filters[field];\n }\n\n return this;\n }\n\n /**\n * 开启或者关闭坐标轴。\n *\n * ```ts\n * view.axis(false); // 不展示坐标轴\n * ```\n * @param field 坐标轴开关\n */\n public axis(field: boolean): View;\n /**\n * 对特定的某条坐标轴进行配置。\n *\n * @example\n * ```ts\n * view.axis('city', false); // 不展示 'city' 字段对应的坐标轴\n *\n * // 将 'city' 字段对应的坐标轴的标题隐藏\n * view.axis('city', {\n * title: null,\n * });\n * ```\n *\n * @param field 要配置的坐标轴对应的字段名称\n * @param axisOption 坐标轴具体配置,更详细的配置项可以参考:https://github.com/antvis/component#axis\n */\n public axis(field: string, axisOption: AxisOption): View;\n public axis(field: string | boolean, axisOption?: AxisOption): View {\n if (isBoolean(field)) {\n set(this.options, ['axes'], field);\n } else {\n set(this.options, ['axes', field], axisOption);\n }\n\n return this;\n }\n\n /**\n * 对图例进行整体配置。\n *\n * ```ts\n * view.legend(false); // 关闭图例\n *\n * view.legend({\n * position: 'right',\n * }); // 图例进行整体配置\n * ```\n * @param field\n * @returns View\n */\n public legend(field: LegendOption): View;\n /**\n * 对特定的图例进行配置。\n *\n * @example\n * ```ts\n * view.legend('city', false); // 关闭某个图例,通过数据字段名进行关联\n *\n * // 对特定的图例进行配置\n * view.legend('city', {\n * position: 'right',\n * });\n * ```\n *\n * @param field 图例对应的数据字段名称\n * @param legendOption 图例配置,更详细的配置项可以参考:https://github.com/antvis/component#axis\n * @returns View\n */\n public legend(field: string, legendOption: LegendOption): View;\n public legend(field: string | LegendOption, legendOption?: LegendOption): View {\n if (isBoolean(field)) {\n set(this.options, ['legends'], field);\n } else if (isString(field)) {\n set(this.options, ['legends', field], legendOption);\n } else {\n // 设置全局的 legend 配置\n set(this.options, ['legends'], field);\n }\n\n return this;\n }\n\n /**\n * 批量设置 scale 配置。\n *\n * ```ts\n * view.scale({\n * sale: {\n * min: 0,\n * max: 100,\n * }\n * });\n * ```\n * Scale 的详细配置项可以参考:https://github.com/antvis/scale#api\n * @returns View\n */\n public scale(field: Record): View;\n /**\n * 为特性的数据字段进行 scale 配置。\n *\n * ```ts\n * view.scale('sale', {\n * min: 0,\n * max: 100,\n * });\n * ```\n *\n * @returns View\n */\n public scale(field: string, scaleOption: ScaleOption): View;\n public scale(field: string | Record, scaleOption?: ScaleOption): View {\n if (isString(field)) {\n set(this.options, ['scales', field], scaleOption);\n } else if (isObject(field)) {\n each(field, (v: ScaleOption, k: string) => {\n set(this.options, ['scales', k], v);\n });\n }\n\n return this;\n }\n\n /**\n * tooltip 提示信息配置。\n *\n * ```ts\n * view.tooltip(false); // 关闭 tooltip\n *\n * view.tooltip({\n * shared: true\n * });\n * ```\n *\n * @param cfg Tooltip 配置,更详细的配置项参考:https://github.com/antvis/component#tooltip\n * @returns View\n */\n public tooltip(cfg: boolean | TooltipOption): View {\n set(this.options, 'tooltip', cfg);\n\n return this;\n }\n\n /**\n * 辅助标记配置。\n *\n * ```ts\n * view.annotation().line({\n * start: ['min', 85],\n * end: ['max', 85],\n * style: {\n * stroke: '#595959',\n * lineWidth: 1,\n * lineDash: [3, 3],\n * },\n * });\n * ```\n * 更详细的配置项:https://github.com/antvis/component#annotation\n * @returns [[Annotation]]\n */\n public annotation(): Annotation {\n return this.getController('annotation') as Annotation;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #guide()}\n */\n public guide(): Annotation {\n console.warn('This method will be removed at G2 V4.1. Please use chart.annotation() instead.');\n return this.annotation();\n }\n\n /**\n * 坐标系配置。\n *\n * @example\n * ```ts\n * view.coordinate({\n * type: 'polar',\n * cfg: {\n * radius: 0.85,\n * },\n * actions: [\n * [ 'transpose' ],\n * ],\n * });\n * ```\n *\n * @param option\n * @returns\n */\n public coordinate(option?: CoordinateOption): CoordinateController;\n /**\n * 声明坐标系类型,并进行配置。\n *\n * ```ts\n * // 直角坐标系,并进行转置变换\n * view.coordinate('rect').transpose();\n *\n * // 默认创建直角坐标系\n * view.coordinate();\n * ```\n *\n * @param type 坐标系类型\n * @param [coordinateCfg] 坐标系配置\n * @returns\n */\n public coordinate(type: string, coordinateCfg?: CoordinateCfg): CoordinateController;\n public coordinate(type: string | CoordinateOption, coordinateCfg?: CoordinateCfg): CoordinateController {\n // 提供语法糖,使用更简单\n if (isString(type)) {\n set(this.options, 'coordinate', { type, cfg: coordinateCfg } as CoordinateOption);\n } else {\n set(this.options, 'coordinate', type);\n }\n\n // 更新 coordinate 配置\n this.coordinateController.update(this.options.coordinate);\n\n return this.coordinateController;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #coordinate()}\n */\n public coord(type: string | CoordinateOption, coordinateCfg?: CoordinateCfg): CoordinateController {\n console.warn('This method will be removed at G2 V4.1. Please use chart.coordinate() instead.');\n // @ts-ignore\n return this.coordinate(type, coordinateCfg);\n }\n\n /**\n * view 分面绘制。\n *\n * ```ts\n * view.facet('rect', {\n * rowField: 'province',\n * columnField: 'category',\n * eachView: (innerView: View, facet?: FacetData) => {\n * innerView.line().position('city*sale');\n * },\n * });\n * ```\n *\n * @param type 分面类型\n * @param cfg 分面配置, [[FacetCfgMap]]\n * @returns View\n */\n public facet(type: T, cfg: FacetCfgMap[T]): View {\n // 先销毁掉之前的分面\n if (this.facetInstance) {\n this.facetInstance.destroy();\n }\n\n // 创建新的分面\n const Ctor = getFacet(type);\n\n if (!Ctor) {\n throw new Error(`facet '${type}' is not exist!`);\n }\n\n this.facetInstance = new Ctor(this, { ...cfg, type });\n\n return this;\n }\n\n /*\n * 开启或者关闭动画。\n *\n * ```ts\n * view.animate(false);\n * ```\n *\n * @param status 动画状态,true 表示开始,false 表示关闭\n * @returns View\n */\n public animate(status: boolean): View {\n set(this.options, 'animate', status);\n return this;\n }\n\n /**\n * 更新配置项,用于配置项式声明。\n * @param options 配置项\n */\n public updateOptions(options: Options) {\n this.clear(); // 清空\n mix(this.options, options);\n\n this.initOptions();\n return this;\n }\n\n /**\n * 往 `view.options` 属性中存储配置项。\n * @param name 属性名称\n * @param opt 属性值\n * @returns view\n */\n public option(name: string, opt: any): View {\n // 对于内置的 option,避免覆盖。\n // name 在原型上,说明可能是内置 API,存在 option 被覆盖的风险,不处理\n if (View.prototype[name]) {\n throw new Error(`Can't use built in variable name \"${name}\", please change another one.`);\n }\n\n // 存入到 option 中\n set(this.options, name, opt);\n return this;\n }\n\n /**\n * 设置主题。\n *\n * ```ts\n * view.theme('dark'); // 'dark' 需要事先通过 `registerTheme()` 接口注册完成\n *\n * view.theme({ defaultColor: 'red' });\n * ```\n *\n * @param theme 主题名或者主题配置\n * @returns View\n */\n public theme(theme: string | LooseObject): View {\n this.themeObject = isObject(theme) ? deepMix({}, this.themeObject, theme) : getTheme(theme);\n\n return this;\n }\n\n /* end 一系列传入配置的 API */\n\n /**\n * Call the interaction based on the interaction name\n *\n * ```ts\n * view.interaction('my-interaction', { extra: 'hello world' });\n * ```\n * 详细文档可以参考:https://g2.antv.vision/zh/docs/manual/tutorial/interaction\n * @param name interaction name\n * @param cfg interaction config\n * @returns\n */\n public interaction(name: string, cfg?: LooseObject): View {\n const existInteraction = this.interactions[name];\n // 存在则先销毁已有的\n if (existInteraction) {\n existInteraction.destroy();\n }\n\n // 新建交互实例\n const interaction = createInteraction(name, this, cfg);\n if (interaction) {\n interaction.init();\n this.interactions[name] = interaction;\n }\n return this;\n }\n\n /**\n * 移除当前 View 的 interaction\n * ```ts\n * view.removeInteraction('my-interaction');\n * ```\n * @param name interaction name\n */\n public removeInteraction(name: string) {\n const existInteraction = this.interactions[name];\n // 存在则先销毁已有的\n if (existInteraction) {\n existInteraction.destroy();\n this.interactions[name] = undefined;\n }\n }\n\n /**\n * 修改数据,数据更新逻辑,数据更新仅仅影响当前这一层的 view\n *\n * ```ts\n * view.changeData([{ city: '北京', sale: '200' }]);\n * ```\n *\n * @param data\n * @returns void\n */\n public changeData(data: Data) {\n this.isDataChanged = true;\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_CHANGE_DATA);\n // 1. 保存数据\n this.data(data);\n\n // 2. 渲染\n this.paint(true);\n\n // 3. 遍历子 view 进行 change data\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n // FIXME 子 view 有自己的数据的情况,该如何处理?\n view.changeData(data);\n }\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_CHANGE_DATA);\n }\n\n /* View 管理相关的 API */\n\n /**\n * 创建子 view\n *\n * ```ts\n * const innerView = view.createView({\n * start: { x: 0, y: 0 },\n * end: { x: 0.5, y: 0.5 },\n * padding: 8,\n * });\n * ```\n *\n * @param cfg\n * @returns View\n */\n public createView(cfg?: Partial): View {\n // 子 view 共享 options 配置数据\n const sharedOptions = {\n data: this.options.data,\n scales: clone(this.options.scales),\n axes: clone(this.options.axes),\n coordinate: clone(this.coordinateController.getOption()),\n tooltip: clone(this.options.tooltip),\n legends: clone(this.options.legends),\n animate: this.options.animate,\n visible: this.visible,\n };\n\n const v = new View({\n parent: this,\n canvas: this.canvas,\n // 子 view 共用三层 group\n backgroundGroup: this.backgroundGroup.addGroup({ zIndex: GROUP_Z_INDEX.BG }),\n middleGroup: this.middleGroup.addGroup({ zIndex: GROUP_Z_INDEX.MID }),\n foregroundGroup: this.foregroundGroup.addGroup({ zIndex: GROUP_Z_INDEX.FORE }),\n theme: this.themeObject,\n padding: this.padding,\n ...cfg,\n options: {\n ...sharedOptions,\n ...get(cfg, 'options', {}),\n },\n });\n\n this.views.push(v);\n\n return v;\n }\n\n /**\n * @deprecated\n * This method will be removed at G2 V4.1. Replaced by {@link #createView()}\n */\n public view(cfg?: Partial) {\n console.warn('This method will be removed at G2 V4.1. Please use chart.createView() instead.');\n return this.createView(cfg);\n }\n\n /**\n * 删除一个子 view\n * @param view\n * @return removedView\n */\n public removeView(view: View): View {\n const removedView = remove(this.views, (v: View) => v === view)[0];\n\n if (removedView) {\n removedView.destroy();\n }\n\n return removedView;\n }\n /* end View 管理相关的 API */\n\n // 一些 get 方法\n\n /**\n * 获取当前坐标系实例。\n * @returns [[Coordinate]]\n */\n public getCoordinate() {\n return this.coordinateInstance;\n }\n\n /**\n * 获取当前 view 的主题配置。\n * @returns themeObject\n */\n public getTheme(): LooseObject {\n return this.themeObject;\n }\n\n /**\n * 获得 x 轴字段的 scale 实例。\n * @returns view 中 Geometry 对于的 x scale\n */\n public getXScale(): Scale {\n // 拿第一个 Geometry 的 X scale\n // 隐藏逻辑:一个 view 中的 Geometry 必须 x 字段一致\n const g = this.geometries[0];\n return g ? g.getXScale() : null;\n }\n\n /**\n * 获取 y 轴字段的 scales 实例。\n * @returns view 中 Geometry 对于的 y scale 数组\n */\n public getYScales(): Scale[] {\n // 拿到所有的 Geometry 的 Y scale,然后去重\n const tmpMap = {};\n return this.geometries.map((g: Geometry) => {\n const yScale = g.getYScale();\n const field = yScale.field;\n if (!tmpMap[field]) {\n tmpMap[field] = true;\n return yScale;\n }\n });\n }\n\n /**\n * 获取 x 轴或者 y 轴对应的所有 scale 实例。\n * @param dimType x | y\n * @returns x 轴或者 y 轴对应的所有 scale 实例。\n */\n public getScalesByDim(dimType: 'x' | 'y'): Record {\n const geometries = this.geometries;\n const scales = {};\n\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n const scale = dimType === 'x' ? geometry.getXScale() : geometry.getYScale();\n if (scale && !scales[scale.field]) {\n scales[scale.field] = scale;\n }\n }\n\n return scales;\n }\n\n /**\n * 根据字段名去获取 scale 实例。\n * @param field 数据字段名称\n * @param key id\n */\n public getScaleByField(field: string, key?: string): Scale {\n const defaultKey = key ? key : this.getScaleKey(field);\n // 调用根节点 view 的方法获取\n return this.getRootView().scalePool.getScale(defaultKey);\n }\n\n /**\n * 返回所有配置信息。\n * @returns 所有的 view API 配置。\n */\n public getOptions(): Options {\n return this.options;\n }\n\n /**\n * 获取 view 的数据(过滤后的数据)。\n * @returns 处理过滤器之后的数据。\n */\n public getData() {\n return this.filteredData;\n }\n\n /**\n * 获得绘制的层级 group。\n * @param layer 层级名称。\n * @returns 对应层级的 Group。\n */\n public getLayer(layer: LAYER): IGroup {\n return layer === LAYER.BG\n ? this.backgroundGroup\n : layer === LAYER.MID\n ? this.middleGroup\n : layer === LAYER.FORE\n ? this.foregroundGroup\n : this.foregroundGroup;\n }\n\n /**\n * 对外暴露方法,判断一个点是否在绘图区域(即坐标系范围)内部。\n * @param point 坐标点\n */\n public isPointInPlot(point: Point): boolean {\n return isPointInCoordinate(this.getCoordinate(), point);\n }\n\n /**\n * 获得所有的 legend 对应的 attribute 实例。\n * @returns 维度字段的 Attribute 数组\n */\n public getLegendAttributes(): Attribute[] {\n return (flatten(this.geometries.map((g: Geometry) => g.getGroupAttributes())) as unknown) as Attribute[];\n }\n\n /**\n * 获取所有的分组字段的 scale 实例。\n * @returns 获得分组字段的 scale 实例数组。\n */\n public getGroupScales(): Scale[] {\n // 拿到所有的 Geometry 的 分组字段 scale,然后打平去重\n const scales = this.geometries.map((g: Geometry) => g.getGroupScales());\n return uniq(flatten(scales));\n }\n\n /**\n * 获取 G.Canvas 实例。\n * @returns G.Canvas 画布实例。\n */\n public getCanvas(): ICanvas {\n return ((this.getRootView() as unknown) as Chart).canvas;\n }\n\n /**\n * 获得根节点 view。\n */\n public getRootView(): View {\n let v = this as View;\n\n while (true) {\n if (v.parent) {\n v = v.parent;\n continue;\n }\n break;\n }\n return v;\n }\n\n /**\n * 获取该数据在可视化后,对应的画布坐标点。\n * @param data 原始数据记录\n * @returns 对应的画布坐标点\n */\n public getXY(data: Datum): Point {\n const coordinate = this.getCoordinate();\n const xScales = this.getScalesByDim('x');\n const yScales = this.getScalesByDim('y');\n let x;\n let y;\n\n each(data, (value, key) => {\n if (xScales[key]) {\n x = xScales[key].scale(value);\n }\n if (yScales[key]) {\n y = yScales[key].scale(value);\n }\n });\n\n if (!isNil(x) && !isNil(y)) {\n return coordinate.convert({ x, y });\n }\n }\n\n /**\n * 获取 name 对应的 controller 实例\n * @param name\n */\n public getController(name: string): Controller {\n return find(this.controllers, (c: Controller) => c.name === name);\n }\n\n /**\n * 显示 point 坐标点对应的 tooltip。\n * @param point 画布坐标点\n * @returns View\n */\n public showTooltip(point: Point): View {\n const tooltip = this.getController('tooltip') as TooltipComponent;\n if (tooltip) {\n tooltip.showTooltip(point);\n }\n return this;\n }\n\n /**\n * 隐藏 tooltip。\n * @returns View\n */\n public hideTooltip(): View {\n const tooltip = this.getController('tooltip') as TooltipComponent;\n if (tooltip) {\n tooltip.hideTooltip();\n }\n return this;\n }\n\n /**\n * 将 tooltip 锁定到当前位置不能移动。\n * @returns View\n */\n public lockTooltip(): View {\n const tooltip = this.getController('tooltip') as TooltipComponent;\n if (tooltip) {\n tooltip.lockTooltip();\n }\n return this;\n }\n\n /**\n * 将 tooltip 锁定解除。\n * @returns View\n */\n public unlockTooltip(): View {\n const tooltip = this.getController('tooltip') as TooltipComponent;\n if (tooltip) {\n tooltip.unlockTooltip();\n }\n return this;\n }\n\n /**\n * 是否锁定 tooltip。\n * @returns 是否锁定\n */\n public isTooltipLocked() {\n const tooltip = this.getController('tooltip') as TooltipComponent;\n return tooltip && tooltip.isTooltipLocked();\n }\n\n /**\n * 获取当前 point 对应的 tooltip 数据项。\n * @param point 坐标点\n * @returns tooltip 数据项\n */\n public getTooltipItems(point: Point) {\n const tooltip = this.getController('tooltip') as TooltipComponent;\n\n return tooltip ? tooltip.getTooltipItems(point) : [];\n }\n\n /**\n * 获取逼近的点的数据集合\n * @param point 当前坐标点\n * @returns 数据\n */\n public getSnapRecords(point: Point) {\n const geometries = this.geometries;\n let rst = [];\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geom = geometries[i];\n const dataArray = geom.dataArray;\n geom.sort(dataArray); // 先进行排序,便于 tooltip 查找\n let record;\n for (let j = 0, dataLen = dataArray.length; j < dataLen; j++) {\n const data = dataArray[j];\n record = findDataByPoint(point, data, geom);\n if (record) {\n rst.push(record);\n }\n }\n }\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n const snapRecords = view.getSnapRecords(point);\n rst = rst.concat(snapRecords);\n }\n\n return rst;\n }\n\n /**\n * 获取所有的 pure component 组件,用于布局。\n */\n public getComponents(): ComponentOption[] {\n let components = [];\n const controllers = this.controllers;\n for (let i = 0, len = controllers.length; i < len; i++) {\n const controller = controllers[i];\n components = components.concat(controller.getComponents());\n }\n\n return components;\n }\n\n /**\n * 将 data 数据进行过滤。\n * @param data\n * @returns 过滤之后的数据\n */\n public filterData(data: Data): Data {\n const { filters } = this.options;\n // 不存在 filters,则不需要进行数据过滤\n if (size(filters) === 0) {\n return data;\n }\n\n // 存在过滤器,则逐个执行过滤,过滤器之间是 与 的关系\n return filter(data, (datum: Datum, idx: number) => {\n // 所有的 filter 字段\n const fields = Object.keys(filters);\n\n // 所有的条件都通过,才算通过\n return fields.every((field: string) => {\n const condition = filters[field];\n\n // condition 返回 true,则保留\n return condition(datum[field], datum, idx);\n });\n });\n }\n\n /**\n * 对某一个字段进行过滤\n * @param field\n * @param data\n */\n public filterFieldData(field: string, data: Data): Data {\n const { filters } = this.options;\n const condition = get(filters, field);\n\n if (isUndefined(condition)) {\n return data;\n }\n return data.filter((datum: Datum, idx: number) => condition(datum[field], datum, idx));\n }\n\n /**\n * 调整 coordinate 的坐标范围。\n */\n public adjustCoordinate() {\n const { start: curStart, end: curEnd } = this.getCoordinate();\n const start = this.coordinateBBox.bl;\n const end = this.coordinateBBox.tr;\n\n // 在 defaultLayoutFn 中只会在 coordinateBBox 发生变化的时候会调用 adjustCoorinate(),所以不用担心被置位\n if (isEqual(curStart, start) && isEqual(curEnd, end)) {\n this.isCoordinateChanged = false;\n // 如果大小没有变化则不更新\n return;\n }\n this.isCoordinateChanged = true;\n this.coordinateInstance = this.coordinateController.adjust(start, end);\n }\n\n protected paint(isUpdate: boolean) {\n this.renderDataRecursive(isUpdate);\n\n // 处理 sync scale 的逻辑\n this.syncScale();\n\n this.emit(VIEW_LIFE_CIRCLE.BEFORE_PAINT);\n\n this.renderBackgroundStyleShape();\n\n this.renderLayoutRecursive(isUpdate);\n\n this.renderPaintRecursive(isUpdate);\n\n this.emit(VIEW_LIFE_CIRCLE.AFTER_PAINT);\n\n this.isDataChanged = false; // 渲染完毕复位\n }\n\n /** 渲染背景样式的 shape */\n private renderBackgroundStyleShape() {\n // 只有根节点才处理\n if (!this.parent) {\n const background = get(this.themeObject, 'background');\n // 1. 配置了背景色\n if (background) {\n // 1. 不存在则创建\n if (!this.backgruondStyleRectShape) {\n this.backgruondStyleRectShape = this.backgroundGroup.addShape('rect', {\n attrs: {\n zIndex: -1,\n },\n });\n }\n\n // 2. 有了 shape 之后设置背景,位置(更新的时候)\n const { x, y, width, height } = this.viewBBox;\n this.backgruondStyleRectShape.attr({\n fill: background,\n x,\n y,\n width,\n height,\n });\n } else {\n // 没有配置背景色\n if (this.backgruondStyleRectShape) {\n this.backgruondStyleRectShape.remove(true);\n this.backgruondStyleRectShape = undefined;\n }\n }\n }\n }\n\n /**\n * 替换处理 view 的布局,最终是计算各个 view 的 coordinateBBox 和 coordinateInstance\n * @param isUpdate\n */\n protected renderLayoutRecursive(isUpdate: boolean) {\n // 1. 子 view 大小相对 coordinateBBox,changeSize 的时候需要重新计算\n this.calculateViewBBox();\n // 2. 更新 coordinate\n this.adjustCoordinate();\n // 3. 初始化组件 component\n this.initComponents(isUpdate);\n // 4. 进行布局,计算 coordinateBBox,进行组件布局,update 位置\n this.doLayout();\n // 5. 更新并存储最终的 padding 值\n const viewBBox = this.viewBBox;\n const coordinateBBox = this.coordinateBBox;\n\n if (isAutoPadding(this.padding)) {\n // 用户未设置 padding 时,将自动计算的 padding 保存至 autoPadding 属性中\n this.autoPadding = [\n coordinateBBox.tl.y - viewBBox.tl.y,\n viewBBox.tr.x - coordinateBBox.tr.x,\n viewBBox.bl.y - coordinateBBox.bl.y,\n coordinateBBox.tl.x - viewBBox.tl.x,\n ];\n }\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderLayoutRecursive(isUpdate);\n }\n }\n\n /**\n * 最终递归绘制组件和图形\n * @param isUpdate\n */\n protected renderPaintRecursive(isUpdate: boolean) {\n if (this.limitInPlot) {\n const middleGroup = this.middleGroup;\n const { type, attrs } = getCoordinateClipCfg(this.coordinateInstance);\n middleGroup.setClip({\n type,\n attrs,\n });\n }\n\n // 1. 渲染几何标记\n this.paintGeometries(isUpdate);\n // 2. 绘制组件\n this.renderComponents(isUpdate);\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderPaintRecursive(isUpdate);\n }\n }\n\n // end Get 方法\n\n /**\n * 创建 scale,递归到顶层 view 去创建和缓存 scale\n * @param field\n * @param data\n * @param scaleDef\n * @param key\n */\n protected createScale(field: string, data: Data, scaleDef: ScaleOption, key: string): Scale {\n // 1. 合并 field 对应的 scaleDef,合并原则是底层覆盖顶层(就近原则)\n const currentScaleDef = get(this.options.scales, [field]);\n const mergedScaleDef = { ...currentScaleDef, ...scaleDef };\n\n // 2. 是否存在父 view,在则递归,否则创建\n if (this.parent) {\n return this.parent.createScale(field, data, mergedScaleDef, key);\n }\n\n // 3. 在根节点 view 通过 scalePool 创建\n return this.scalePool.createScale(field, data, mergedScaleDef, key);\n }\n\n /**\n * 递归渲染中的数据处理\n * @param isUpdate\n */\n private renderDataRecursive(isUpdate: boolean) {\n // 1. 处理数据\n this.doFilterData();\n // 2. 创建实例\n this.createCoordinate();\n // 3. 初始化 Geometry\n this.initGeometries(isUpdate);\n // 4. 处理分面逻辑,最终都是生成子 view 和 geometry\n this.renderFacet(isUpdate);\n\n // 同样递归处理子 views\n const views = this.views;\n for (let i = 0, len = views.length; i < len; i++) {\n const view = views[i];\n view.renderDataRecursive(isUpdate);\n }\n }\n\n /**\n * 计算 region,计算实际的像素范围坐标\n * @private\n */\n private calculateViewBBox() {\n let x;\n let y;\n let width;\n let height;\n\n if (this.parent) {\n const bbox = this.parent.coordinateBBox;\n // 存在 parent, 那么就是通过父容器大小计算\n x = bbox.x;\n y = bbox.y;\n width = bbox.width;\n height = bbox.height;\n } else {\n // 顶层容器,从 canvas 中取值 宽高\n x = 0;\n y = 0;\n width = this.canvas.get('width');\n height = this.canvas.get('height');\n }\n\n const { start, end } = this.region;\n\n // 根据 region 计算当前 view 的 bbox 大小。\n const viewBBox = new BBox(\n x + width * start.x,\n y + height * start.y,\n width * (end.x - start.x),\n height * (end.y - start.y)\n );\n\n if (!this.viewBBox || !this.viewBBox.isEqual(viewBBox)) {\n // viewBBox 发生变化的时候进行更新\n this.viewBBox = new BBox(\n x + width * start.x,\n y + height * start.y,\n width * (end.x - start.x),\n height * (end.y - start.y)\n );\n\n // 初始的 coordinate bbox 大小\n this.coordinateBBox = this.viewBBox;\n }\n }\n\n /**\n * 初始化事件机制:G 4.0 底层内置支持 name:event 的机制,那么只要所有组件都有自己的 name 即可。\n *\n * G2 的事件只是获取事件委托,然后在 view 嵌套结构中,形成事件冒泡机制。\n * 当前 view 只委托自己 view 中的 Component 和 Geometry 事件,并向上冒泡\n * @private\n */\n private initEvents() {\n // 三层 group 中的 shape 事件都会通过 G 冒泡上来的\n this.foregroundGroup.on('*', this.onDelegateEvents);\n this.middleGroup.on('*', this.onDelegateEvents);\n this.backgroundGroup.on('*', this.onDelegateEvents);\n\n this.canvas.on('*', this.onCanvasEvent);\n }\n\n private onCanvasEvent = (evt: GEvent): void => {\n const name = evt.name;\n if (!name.includes(':')) {\n // 非委托事件\n const e = this.createViewEvent(evt);\n // 处理 plot 事件\n this.doPlotEvent(e);\n this.emit(name, e);\n }\n };\n\n /**\n * 初始化插件\n */\n private initComponentController() {\n const usedControllers = this.usedControllers;\n for (let i = 0, len = usedControllers.length; i < len; i++) {\n const controllerName = usedControllers[i];\n const Ctor = getComponentController(controllerName);\n if (Ctor) {\n this.controllers.push(new Ctor(this));\n }\n }\n }\n\n private createViewEvent(evt: GEvent) {\n const { shape, name } = evt;\n\n const data = shape ? shape.get('origin') : null;\n // 事件在 view 嵌套中冒泡(暂不提供阻止冒泡的机制)\n const e = new Event(this, evt, data);\n e.type = name;\n return e;\n }\n /**\n * 触发事件之后\n * @param evt\n */\n private onDelegateEvents = (evt: GEvent): void => {\n // 阻止继续冒泡,防止重复事件触发\n // evt.preventDefault();\n const { name } = evt;\n if (!name.includes(':')) {\n return;\n }\n // 事件在 view 嵌套中冒泡(暂不提供阻止冒泡的机制)\n const e = this.createViewEvent(evt);\n\n // 包含有基本事件、组合事件\n this.emit(name, e);\n // const currentTarget = evt.currentTarget as IShape;\n // const inheritNames = currentTarget.get('inheritNames');\n // if (evt.delegateObject || inheritNames) {\n // const events = this.getEvents();\n // each(inheritNames, (subName) => {\n // const eventName = `${subName}:${type}`;\n // if (events[eventName]) {\n // this.emit(eventName, e);\n // }\n // });\n // }\n };\n\n /**\n * 处理 PLOT_EVENTS\n * plot event 需要处理所有的基础事件,并判断是否在画布中,然后再决定是否要 emit。\n * 对于 mouseenter、mouseleave 比较特殊,需要做一下数学比较。\n * @param e\n */\n private doPlotEvent(e: Event) {\n const { type, x, y } = e;\n\n const point = { x, y };\n\n const ALL_EVENTS = [\n 'mousedown',\n 'mouseup',\n 'mousemove',\n 'mouseleave',\n 'mousewheel',\n 'touchstart',\n 'touchmove',\n 'touchend',\n 'touchcancel',\n 'click',\n 'dblclick',\n 'contextmenu',\n ];\n\n if (ALL_EVENTS.includes(type)) {\n const currentInPlot = this.isPointInPlot(point);\n\n if (currentInPlot) {\n const TYPE = `plot:${type}`; // 组合 plot 事件\n e.type = TYPE;\n this.emit(TYPE, e);\n if (type === 'mouseleave' || type === 'touchend') {\n // 在plot 内部却离开画布\n this.isPreMouseInPlot = false;\n }\n }\n\n // 对于 mouseenter, mouseleave 的计算处理\n if (type === 'mousemove' || type === 'touchmove') {\n if (this.isPreMouseInPlot && !currentInPlot) {\n if (type === 'mousemove') {\n e.type = PLOT_EVENTS.MOUSE_LEAVE;\n this.emit(PLOT_EVENTS.MOUSE_LEAVE, e);\n }\n e.type = PLOT_EVENTS.LEAVE;\n this.emit(PLOT_EVENTS.LEAVE, e);\n } else if (!this.isPreMouseInPlot && currentInPlot) {\n if (type === 'mousemove') {\n e.type = PLOT_EVENTS.MOUSE_ENTER;\n this.emit(PLOT_EVENTS.MOUSE_ENTER, e);\n }\n e.type = PLOT_EVENTS.ENTER;\n this.emit(PLOT_EVENTS.ENTER, e);\n }\n // 赋新的状态值\n this.isPreMouseInPlot = currentInPlot;\n } else if (type === 'mouseleave' || type === 'touchend') {\n // 可能不在 currentInPlot 中\n if (this.isPreMouseInPlot) {\n if (type === 'mouseleave') {\n e.type = PLOT_EVENTS.MOUSE_LEAVE;\n this.emit(PLOT_EVENTS.MOUSE_LEAVE, e);\n }\n e.type = PLOT_EVENTS.LEAVE;\n this.emit(PLOT_EVENTS.LEAVE, e);\n\n this.isPreMouseInPlot = false;\n }\n }\n }\n }\n\n // view 生命周期 —— 渲染流程\n\n /**\n * 处理筛选器,筛选数据\n * @private\n */\n private doFilterData() {\n const { data } = this.options;\n this.filteredData = this.filterData(data);\n }\n\n /**\n * 初始化 Geometries\n * @private\n */\n private initGeometries(isUpdate: boolean) {\n // 初始化图形的之前,先创建 / 更新 scales\n this.createOrUpdateScales();\n // 实例化 Geometry,然后 view 将所有的 scale 管理起来\n const coordinate = this.getCoordinate();\n const scaleDefs = get(this.options, 'scales', {});\n const geometries = this.geometries;\n for (let i = 0, len = geometries.length; i < len; i++) {\n const geometry = geometries[i];\n // 保持 scales 引用不要变化\n geometry.scales = this.getGeometryScales();\n const cfg = {\n coordinate, // 使用 coordinate 引用,可以保持 coordinate 的同步更新\n scaleDefs,\n data: this.filteredData,\n theme: this.themeObject,\n isDataChanged: this.isDataChanged,\n isCoordinateChanged: this.isCoordinateChanged,\n };\n\n if (isUpdate) {\n // 数据发生更新\n geometry.update(cfg);\n } else {\n geometry.init(cfg);\n }\n }\n\n // Geometry 初始化之后,生成了 scale,然后进行调整 scale 配置\n this.adjustScales();\n }\n\n /**\n * 根据 Geometry 的所有字段创建 scales\n * 如果存在,则更新,不存在则创建\n */\n private createOrUpdateScales() {\n const fields = this.getScaleFields();\n const groupedFields = this.getGroupedFields();\n\n const { data, scales = {} } = this.getOptions();\n const filteredData = this.filteredData;\n\n for (let i = 0, len = fields.length; i < len; i++) {\n const field = fields[i];\n const scaleDef = scales[field];\n\n // 调用方法,递归去创建\n const key = this.getScaleKey(field);\n this.createScale(\n field,\n // 分组字段的 scale 使用未过滤的数据创建\n groupedFields.includes(field) ? data : filteredData,\n scaleDef,\n key\n );\n\n // 缓存从当前 view 创建的 scale key\n this.createdScaleKeys.set(key, true);\n }\n }\n\n /**\n * 处理 scale 同步逻辑\n */\n private syncScale() {\n // 最终调用 root view 的\n this.getRootView().scalePool.sync();\n }\n\n /**\n * 获得 Geometry 中的 scale 对象\n */\n private getGeometryScales(): Record {\n const fields = this.getScaleFields();\n\n const scales = {};\n for (let i = 0; i < fields.length; i++) {\n const field = fields[i];\n scales[field] = this.getScaleByField(field);\n }\n\n return scales;\n }\n\n private getScaleFields() {\n const fields = [];\n const tmpMap = {};\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n const geometryScales = geometry.getScaleFields();\n uniq(geometryScales, fields, tmpMap);\n }\n return fields;\n }\n\n private getGroupedFields() {\n const fields = [];\n const tmpMap = {};\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n const groupFields = geometry.getGroupFields();\n uniq(groupFields, fields, tmpMap);\n }\n return fields;\n }\n\n /**\n * 调整 scale 配置\n * @private\n */\n private adjustScales() {\n // 调整目前包括:\n // 分类 scale,调整 range 范围\n this.adjustCategoryScaleRange();\n }\n\n /**\n * 调整分类 scale 的 range,防止超出坐标系外面\n * @private\n */\n private adjustCategoryScaleRange() {\n const xyScales = [this.getXScale(), ...this.getYScales()].filter((e) => !!e);\n const coordinate = this.getCoordinate();\n const scaleOptions = this.options.scales;\n\n each(xyScales, (scale: Scale) => {\n const { field, values, isCategory, isIdentity } = scale;\n\n // 分类或者 identity 的 scale 才进行处理\n if (isCategory || isIdentity) {\n // 存在 value 值,且用户没有配置 range 配置\n if (values && !get(scaleOptions, [field, 'range'])) {\n const count = values.length;\n let range;\n\n if (count === 1) {\n range = [0.5, 1]; // 只有一个分类时,防止计算出现 [0.5,0.5] 的状态\n } else {\n let widthRatio = 1;\n let offset = 0;\n\n if (isFullCircle(coordinate)) {\n if (!coordinate.isTransposed) {\n range = [0, 1 - 1 / count];\n } else {\n widthRatio = get(this.theme, 'widthRatio.multiplePie', 1 / 1.3);\n offset = (1 / count) * widthRatio;\n range = [offset / 2, 1 - offset / 2];\n }\n } else {\n offset = 1 / count / 2; // 两边留下分类空间的一半\n range = [offset, 1 - offset]; // 坐标轴最前面和最后面留下空白防止绘制柱状图时\n }\n }\n // 更新 range\n scale.range = range;\n }\n }\n });\n }\n\n /**\n * 根据 options 配置、Geometry 字段配置,自动生成 components\n * @param isUpdate 是否是更新\n * @private\n */\n private initComponents(isUpdate: boolean) {\n // 先全部清空,然后 render\n const controllers = this.controllers;\n for (let i = 0; i < controllers.length; i++) {\n const controller = controllers[i];\n // 更新则走更新逻辑;否则清空载重绘\n if (isUpdate) {\n controller.update();\n } else {\n controller.clear();\n controller.render();\n }\n }\n }\n\n private doLayout() {\n this.layoutFunc(this);\n }\n\n /**\n * 创建坐标系\n * @private\n */\n private createCoordinate() {\n const start = this.coordinateBBox.bl;\n const end = this.coordinateBBox.tr;\n this.coordinateInstance = this.coordinateController.create(start, end);\n }\n\n /**\n * 根据 options 配置自动渲染 geometry\n * @private\n */\n private paintGeometries(isUpdate: boolean) {\n const doAnimation = this.options.animate;\n // geometry 的 paint 阶段\n const coordinate = this.getCoordinate();\n const canvasRegion = {\n x: this.viewBBox.x,\n y: this.viewBBox.y,\n minX: this.viewBBox.minX,\n minY: this.viewBBox.minY,\n maxX: this.viewBBox.maxX,\n maxY: this.viewBBox.maxY,\n width: this.viewBBox.width,\n height: this.viewBBox.height,\n };\n const geometries = this.geometries;\n for (let i = 0; i < geometries.length; i++) {\n const geometry = geometries[i];\n geometry.coordinate = coordinate;\n geometry.canvasRegion = canvasRegion;\n if (!doAnimation) {\n // 如果 view 不执行动画,那么 view 下所有的 geometry 都不执行动画\n geometry.animate(false);\n }\n geometry.paint(isUpdate);\n }\n }\n\n /**\n * 最后的绘制组件\n * @param isUpdate\n */\n private renderComponents(isUpdate: boolean) {\n // 先全部清空,然后 render\n for (let i = 0; i < this.getComponents().length; i++) {\n const co = this.getComponents()[i];\n (co.component as GroupComponent).render();\n }\n }\n\n /**\n * 渲染分面,会在其中进行数据分面,然后进行子 view 创建\n * @param isUpdate\n */\n private renderFacet(isUpdate: boolean) {\n if (this.facetInstance) {\n if (isUpdate) {\n this.facetInstance.update();\n } else {\n this.facetInstance.clear();\n // 计算分面数据\n this.facetInstance.init();\n // 渲染组件和 views\n this.facetInstance.render();\n }\n }\n }\n\n private initOptions() {\n const { geometries = [], interactions = [], views = [], annotations = [] } = this.options;\n\n // 创建 geometry 实例\n for (let i = 0; i < geometries.length; i++) {\n const geometryOption = geometries[i];\n this.createGeometry(geometryOption);\n }\n\n // 创建 interactions 实例\n for (let j = 0; j < interactions.length; j++) {\n const interactionOption = interactions[j];\n const { type, cfg } = interactionOption;\n this.interaction(type, cfg);\n }\n\n // 创建 view 实例\n for (let k = 0; k < views.length; k++) {\n const viewOption = views[k];\n this.createView(viewOption);\n }\n\n // 设置 annotation\n const annotationComponent = this.getController('annotation') as Annotation;\n for (let l = 0; l < annotations.length; l++) {\n const annotationOption = annotations[l];\n annotationComponent.annotation(annotationOption);\n }\n }\n\n private createGeometry(geometryOption: GeometryOption) {\n const { type, cfg = {} } = geometryOption;\n if (this[type]) {\n const geometry = this[type](cfg);\n each(geometryOption, (v, k) => {\n if (isFunction(geometry[k])) {\n geometry[k](v);\n }\n });\n }\n }\n\n /**\n * scale key 的创建方式\n * @param field\n */\n private getScaleKey(field: string): string {\n return `${this.id}-${field}`;\n }\n}\n\n/**\n * 注册 geometry 组件\n * @param name\n * @param Ctor\n * @returns Geometry\n */\nexport function registerGeometry(name: string, Ctor: any) {\n // 语法糖,在 view API 上增加原型方法\n View.prototype[name.toLowerCase()] = function (cfg: any = {}) {\n const props = {\n /** 图形容器 */\n container: this.middleGroup.addGroup(),\n labelsContainer: this.foregroundGroup.addGroup(),\n ...cfg,\n };\n\n const geometry = new Ctor(props);\n this.geometries.push(geometry);\n\n return geometry;\n };\n}\n\nexport default View;\n","import { debounce, each, isString, get } from '@antv/util';\nimport { ChartCfg } from '../interface';\nimport { GROUP_Z_INDEX } from '../constant';\nimport { getEngine } from '../engine';\nimport { createDom, getChartSize, removeDom, modifyCSS } from '../util/dom';\nimport View from './view';\n\n/**\n * Chart 类,是使用 G2 进行绘图的入口。\n */\nexport default class Chart extends View {\n /** Chart 的 DOM 容器 */\n public ele: HTMLElement;\n\n /** 图表宽度 */\n public width: number;\n /** 图表高度 */\n public height: number;\n /** 是否开启局部刷新 */\n public localRefresh: boolean;\n /** 是否自适应 DOM 容器宽高,默认为 false,需要用户手动指定宽高 */\n public autoFit: boolean;\n /** 图表渲染引擎 */\n public renderer: 'canvas' | 'svg';\n\n private wrapperElement: HTMLElement;\n\n // @ts-ignore\n constructor(props: ChartCfg) {\n const {\n container,\n width,\n height,\n autoFit = false,\n padding,\n appendPadding,\n renderer = 'canvas',\n pixelRatio,\n localRefresh = true,\n visible = true,\n defaultInteractions = ['tooltip', 'legend-filter', 'legend-active', 'continuous-filter', 'ellipsis-text'],\n options,\n limitInPlot,\n theme,\n } = props;\n\n const ele: HTMLElement = isString(container) ? document.getElementById(container) : container;\n\n // 生成内部正式绘制的 div 元素\n const wrapperElement = createDom('
          ');\n ele.appendChild(wrapperElement);\n\n // if autoFit, use the container size, to avoid the graph render twice.\n const size = getChartSize(ele, autoFit, width, height);\n\n const G = getEngine(renderer);\n\n const canvas = new G.Canvas({\n container: wrapperElement,\n pixelRatio,\n localRefresh,\n ...size,\n });\n\n // 调用 view 的创建\n super({\n parent: null,\n canvas,\n // create 3 group layers for views.\n backgroundGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.BG }),\n middleGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.MID }),\n foregroundGroup: canvas.addGroup({ zIndex: GROUP_Z_INDEX.FORE }),\n padding,\n appendPadding,\n visible,\n options,\n limitInPlot,\n theme,\n });\n\n this.ele = ele;\n this.canvas = canvas;\n this.width = size.width;\n this.height = size.height;\n this.autoFit = autoFit;\n this.localRefresh = localRefresh;\n this.renderer = renderer;\n this.wrapperElement = wrapperElement;\n\n // 自适应大小\n this.updateCanvasStyle();\n this.bindAutoFit();\n this.initDefaultInteractions(defaultInteractions);\n }\n\n private initDefaultInteractions(interactions) {\n each(interactions, (interaction) => {\n this.interaction(interaction);\n });\n }\n\n /**\n * 改变图表大小,同时重新渲染。\n * @param width 图表宽度\n * @param height 图表高度\n * @returns\n */\n public changeSize(width: number, height: number) {\n // 如果宽高一致,那么 changeSize 不执行任何操作\n if (this.width === width && this.height === height) {\n return this;\n }\n\n this.width = width;\n this.height = height;\n this.canvas.changeSize(width, height);\n\n // 重新渲染\n this.render(true);\n\n return this;\n }\n\n /**\n * 销毁图表,同时解绑事件,销毁创建的 G.Canvas 实例。\n * @returns void\n */\n public destroy() {\n super.destroy();\n\n this.unbindAutoFit();\n this.canvas.destroy();\n\n removeDom(this.wrapperElement);\n this.wrapperElement = null;\n }\n\n /**\n * 显示或隐藏图表\n * @param visible 是否可见,true 表示显示,false 表示隐藏\n * @returns\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible); // 需要更新 visible 变量\n this.wrapperElement.style.display = visible ? '' : 'none';\n\n return this;\n }\n\n /**\n * 自动根据容器大小 resize 画布\n */\n public forceFit() {\n // skip if already destroyed\n if (!this.destroyed) {\n // 注意第二参数用 true,意思是即时 autoFit = false,forceFit() 调用之后一样是适配容器\n const { width, height } = getChartSize(this.ele, true, this.width, this.height);\n this.changeSize(width, height);\n }\n }\n\n private updateCanvasStyle() {\n modifyCSS(this.canvas.get('el'), {\n display: 'inline-block',\n verticalAlign: 'middle',\n });\n }\n\n private bindAutoFit() {\n if (this.autoFit) {\n window.addEventListener('resize', this.onResize);\n }\n }\n\n private unbindAutoFit() {\n if (this.autoFit) {\n window.removeEventListener('resize', this.onResize);\n }\n }\n\n /**\n * when container size changed, change chart size props, and re-render.\n */\n private onResize = debounce(() => {\n this.forceFit();\n }, 300);\n}\n","import { each } from '@antv/util';\nimport { ComponentOption } from '../../interface';\nimport View from '../view';\n\n/** Component controller class type define */\nexport type ControllerCtor = new (view: View) => Controller;\n\n/**\n * Component Controller 规范需要定义的基类\n * 1. 规范的 option 输入\n * 2. 统一的信息获取 API\n * 3. 明确定义的组件事件(名称、数据)\n */\nexport abstract class Controller {\n /** 是否可见 */\n public visible: boolean = true;\n protected view: View;\n /** option 配置,不同组件有自己不同的配置结构 */\n protected option: O;\n /** 所有的 component */\n protected components: ComponentOption[] = [];\n\n constructor(view: View) {\n this.view = view;\n }\n\n public abstract get name(): string;\n\n /**\n * init the component\n */\n public abstract init();\n\n /**\n * render the components\n */\n public abstract render();\n\n /**\n * update the components\n */\n // public abstract update();\n\n /**\n * do layout\n */\n public abstract layout();\n\n /**\n * 组件的更新逻辑\n * - 根据字段为标识,为每一个组件生成一个 id,放到 option 中\n * - 更新的时候按照 id 去做 diff,然后对同的做处理\n * - 创建增加的\n * - 更新已有的\n * - 销毁删除的\n */\n public abstract update();\n\n /**\n * clear\n */\n public clear() {\n // destroy all components\n each(this.components, (co: ComponentOption) => {\n co.component.destroy();\n });\n\n // clear all component instance\n this.components = [];\n }\n\n /**\n * destroy the component\n */\n public destroy() {\n this.clear();\n }\n\n /**\n * get all components\n * @returns components array\n */\n public getComponents(): ComponentOption[] {\n return this.components;\n }\n\n /**\n * change visibility of component\n * @param visible\n */\n public changeVisible(visible: boolean) {\n if (this.visible === visible) {\n return;\n }\n this.components.forEach((co: ComponentOption) => {\n if (visible) {\n co.component.show();\n } else {\n co.component.hide();\n }\n });\n this.visible = visible;\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar _ = require(\"@antv/util\");\nvar constant_1 = require(\"../constant\");\nvar Adjust = /** @class */ (function () {\n function Adjust(cfg) {\n var xField = cfg.xField, yField = cfg.yField, _a = cfg.adjustNames, adjustNames = _a === void 0 ? ['x', 'y'] : _a;\n this.adjustNames = adjustNames;\n this.xField = xField;\n this.yField = yField;\n }\n /**\n * 查看维度是否是 adjust 字段\n * @param dim\n */\n Adjust.prototype.isAdjust = function (dim) {\n return this.adjustNames.indexOf(dim) >= 0;\n };\n Adjust.prototype.getAdjustRange = function (dim, dimValue, values) {\n var yField = this.yField;\n var index = values.indexOf(dimValue);\n var length = values.length;\n var pre;\n var next;\n // 没有 y 字段,但是需要根据 y 调整\n if (!yField && this.isAdjust('y')) {\n pre = 0;\n next = 1;\n }\n else if (length > 1) {\n // 如果以其开头,则取之,否则取他前面一个\n pre = values[index === 0 ? 0 : index - 1];\n // 如果以其结尾,则取之,否则取他后面一个\n next = values[index === length - 1 ? length - 1 : index + 1];\n if (index !== 0) {\n pre += (dimValue - pre) / 2;\n }\n else {\n pre -= (next - dimValue) / 2;\n }\n if (index !== length - 1) {\n next -= (next - dimValue) / 2;\n }\n else {\n next += (dimValue - values[length - 2]) / 2;\n }\n }\n else {\n pre = dimValue === 0 ? 0 : dimValue - 0.5;\n next = dimValue === 0 ? 1 : dimValue + 0.5;\n }\n return {\n pre: pre,\n next: next,\n };\n };\n Adjust.prototype.adjustData = function (groupedDataArray, mergedData) {\n var _this = this;\n // 所有调整维度的值数组\n var dimValuesMap = this.getDimValues(mergedData);\n // 按照每一个分组来进行调整\n _.each(groupedDataArray, function (dataArray, index) {\n // 遍历所有数据集合\n // 每个分组中,分别按照不同的 dim 进行调整\n _.each(dimValuesMap, function (values, dim) {\n // 根据不同的度量分别调整位置\n _this.adjustDim(dim, values, dataArray, index);\n });\n });\n };\n /**\n * 对数据进行分组adjustData\n * @param data 数据\n * @param dim 分组的字段\n * @return 分组结果\n */\n Adjust.prototype.groupData = function (data, dim) {\n // 补齐数据空数据为默认值\n _.each(data, function (record) {\n if (record[dim] === undefined) {\n record[dim] = constant_1.DEFAULT_Y;\n }\n });\n // 按照 dim 维度分组\n return _.groupBy(data, dim);\n };\n /** @override */\n Adjust.prototype.adjustDim = function (dim, values, data, index) { };\n /**\n * 获取可调整度量对应的值\n * @param mergedData 数据\n * @return 值的映射\n */\n Adjust.prototype.getDimValues = function (mergedData) {\n var _a = this, xField = _a.xField, yField = _a.yField;\n var dimValuesMap = {};\n // 所有的维度\n var dims = [];\n if (xField && this.isAdjust('x')) {\n dims.push(xField);\n }\n if (yField && this.isAdjust('y')) {\n dims.push(yField);\n }\n dims.forEach(function (dim) {\n // 在每个维度上,所有的值\n dimValuesMap[dim] = _.valuesOfKey(mergedData, dim).sort(function (v1, v2) { return v1 - v2; });\n });\n // 只有一维的情况下,同时调整 y,赋予默认值\n if (!yField && this.isAdjust('y')) {\n var dim = 'y';\n dimValuesMap[dim] = [constant_1.DEFAULT_Y, 1]; // 默认分布在 y 轴的 0 与 1 之间\n }\n return dimValuesMap;\n };\n return Adjust;\n}());\nexports.default = Adjust;\n//# sourceMappingURL=adjust.js.map","import { __extends } from \"tslib\";\nimport * as _ from '@antv/util';\nimport { DODGE_RATIO, MARGIN_RATIO } from '../constant';\nimport Adjust from './adjust';\nvar Dodge = /** @class */ (function (_super) {\n __extends(Dodge, _super);\n function Dodge(cfg) {\n var _this = _super.call(this, cfg) || this;\n _this.cacheMap = {};\n _this.adjustDataArray = [];\n _this.mergeData = [];\n var _a = cfg.marginRatio, marginRatio = _a === void 0 ? MARGIN_RATIO : _a, _b = cfg.dodgeRatio, dodgeRatio = _b === void 0 ? DODGE_RATIO : _b, dodgeBy = cfg.dodgeBy;\n _this.marginRatio = marginRatio;\n _this.dodgeRatio = dodgeRatio;\n _this.dodgeBy = dodgeBy;\n return _this;\n }\n Dodge.prototype.process = function (groupDataArray) {\n var groupedDataArray = _.clone(groupDataArray);\n // 将数据数组展开一层\n var mergeData = _.flatten(groupedDataArray);\n var dodgeBy = this.dodgeBy;\n // 如果指定了分组 dim 的字段\n var adjustDataArray = dodgeBy ? _.group(mergeData, dodgeBy) : groupedDataArray;\n this.cacheMap = {};\n this.adjustDataArray = adjustDataArray;\n this.mergeData = mergeData;\n this.adjustData(adjustDataArray, mergeData);\n this.adjustDataArray = [];\n this.mergeData = [];\n return groupedDataArray;\n };\n Dodge.prototype.adjustDim = function (dim, values, data, frameIndex) {\n var _this = this;\n var map = this.getDistribution(dim);\n var groupData = this.groupData(data, dim); // 根据值分组\n _.each(groupData, function (group, key) {\n var range;\n // xField 中只有一个值,不需要做 dodge\n if (values.length === 1) {\n range = {\n pre: values[0] - 1,\n next: values[0] + 1,\n };\n }\n else {\n // 如果有多个,则需要获取调整的范围\n range = _this.getAdjustRange(dim, parseFloat(key), values);\n }\n _.each(group, function (d) {\n var value = d[dim];\n var valueArr = map[value];\n var valIndex = valueArr.indexOf(frameIndex);\n d[dim] = _this.getDodgeOffset(range, valIndex, valueArr.length);\n });\n });\n return [];\n };\n Dodge.prototype.getDodgeOffset = function (range, idx, len) {\n var _a = this, dodgeRatio = _a.dodgeRatio, marginRatio = _a.marginRatio;\n var pre = range.pre, next = range.next;\n var tickLength = next - pre;\n var width = (tickLength * dodgeRatio) / len;\n var margin = marginRatio * width;\n var offset = (1 / 2) * (tickLength - len * width - (len - 1) * margin) +\n ((idx + 1) * width + idx * margin) -\n (1 / 2) * width -\n (1 / 2) * tickLength;\n return (pre + next) / 2 + offset;\n };\n Dodge.prototype.getDistribution = function (dim) {\n var groupedDataArray = this.adjustDataArray;\n var cacheMap = this.cacheMap;\n var map = cacheMap[dim];\n if (!map) {\n map = {};\n _.each(groupedDataArray, function (data, index) {\n var values = _.valuesOfKey(data, dim);\n if (!values.length) {\n values.push(0);\n }\n _.each(values, function (val) {\n if (!map[val]) {\n map[val] = [];\n }\n map[val].push(index);\n });\n });\n cacheMap[dim] = map;\n }\n return map;\n };\n return Dodge;\n}(Adjust));\nexport default Dodge;\n//# sourceMappingURL=dodge.js.map","import { __extends } from \"tslib\";\nimport * as _ from '@antv/util';\nimport { GAP } from '../constant';\nimport Adjust from './adjust';\nfunction randomNumber(min, max) {\n return (max - min) * Math.random() + min;\n}\nvar Jitter = /** @class */ (function (_super) {\n __extends(Jitter, _super);\n function Jitter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Jitter.prototype.process = function (groupDataArray) {\n var groupedDataArray = _.clone(groupDataArray);\n // 之前分组之后的数据,然后有合并回去(和分组前可以理解成是一样的)\n var mergeData = _.flatten(groupedDataArray);\n // 返回值\n this.adjustData(groupedDataArray, mergeData);\n return groupedDataArray;\n };\n /**\n * 当前数据分组(index)中,按照维度 dim 进行 jitter 调整\n * @param dim\n * @param values\n * @param dataArray\n */\n Jitter.prototype.adjustDim = function (dim, values, dataArray) {\n var _this = this;\n // 在每一个分组中,将数据再按照 dim 分组,用于散列\n var groupDataArray = this.groupData(dataArray, dim);\n return _.each(groupDataArray, function (data, dimValue) {\n return _this.adjustGroup(data, dim, parseFloat(dimValue), values);\n });\n };\n // 随机出来的字段值\n Jitter.prototype.getAdjustOffset = function (range) {\n var pre = range.pre, next = range.next;\n // 随机的范围\n var margin = (next - pre) * GAP;\n return randomNumber(pre + margin, next - margin);\n };\n // adjust group data\n Jitter.prototype.adjustGroup = function (group, dim, dimValue, values) {\n var _this = this;\n // 调整范围\n var range = this.getAdjustRange(dim, dimValue, values);\n _.each(group, function (data) {\n data[dim] = _this.getAdjustOffset(range); // 获取调整的位置\n });\n return group;\n };\n return Jitter;\n}(Adjust));\nexport default Jitter;\n//# sourceMappingURL=jitter.js.map","import { __assign, __extends } from \"tslib\";\nimport * as _ from '@antv/util';\nimport Adjust from './adjust';\nvar Cache = _.Cache;\nvar Stack = /** @class */ (function (_super) {\n __extends(Stack, _super);\n function Stack(cfg) {\n var _this = _super.call(this, cfg) || this;\n var _a = cfg.adjustNames, adjustNames = _a === void 0 ? ['y'] : _a, _b = cfg.height, height = _b === void 0 ? NaN : _b, _c = cfg.size, size = _c === void 0 ? 10 : _c, _d = cfg.reverseOrder, reverseOrder = _d === void 0 ? false : _d;\n _this.adjustNames = adjustNames;\n _this.height = height;\n _this.size = size;\n _this.reverseOrder = reverseOrder;\n return _this;\n }\n /**\n * 方法入参是经过数据分组、数据数字化之后的二维数组\n * @param groupDataArray 分组之后的数据\n */\n Stack.prototype.process = function (groupDataArray) {\n var _a = this, yField = _a.yField, reverseOrder = _a.reverseOrder;\n // 如果有指定 y 字段,那么按照 y 字段来 stack\n // 否则,按照高度均分\n var d = yField ? this.processStack(groupDataArray) : this.processOneDimStack(groupDataArray);\n return reverseOrder ? this.reverse(d) : d;\n };\n Stack.prototype.reverse = function (groupedDataArray) {\n return groupedDataArray.slice(0).reverse();\n };\n Stack.prototype.processStack = function (groupDataArray) {\n var _a = this, xField = _a.xField, yField = _a.yField, reverseOrder = _a.reverseOrder;\n // 层叠顺序翻转\n var groupedDataArray = reverseOrder ? this.reverse(groupDataArray) : groupDataArray;\n // 用来缓存,正数和负数的堆叠问题\n var positive = new Cache();\n var negative = new Cache();\n return groupedDataArray.map(function (dataArray) {\n return dataArray.map(function (data) {\n var _a;\n var x = _.get(data, xField, 0);\n var y = _.get(data, yField);\n var xKey = x.toString();\n // todo 是否应该取 _origin?因为 y 可能取到的值不正确,比如先 symmetric,再 stack!\n y = _.isArray(y) ? y[1] : y;\n if (!_.isNil(y)) {\n var cache = y >= 0 ? positive : negative;\n if (!cache.has(xKey)) {\n cache.set(xKey, 0);\n }\n var xValue = cache.get(xKey);\n var newXValue = y + xValue;\n // 存起来\n cache.set(xKey, newXValue);\n return __assign(__assign({}, data), (_a = {}, _a[yField] = [xValue, newXValue], _a));\n }\n // 没有修改,则直接返回\n return data;\n });\n });\n };\n Stack.prototype.processOneDimStack = function (groupDataArray) {\n var _this = this;\n var _a = this, xField = _a.xField, height = _a.height, reverseOrder = _a.reverseOrder;\n var yField = 'y';\n // 如果层叠的顺序翻转\n var groupedDataArray = reverseOrder ? this.reverse(groupDataArray) : groupDataArray;\n // 缓存累加数据\n var cache = new Cache();\n return groupedDataArray.map(function (dataArray) {\n return dataArray.map(function (data) {\n var _a;\n var size = _this.size;\n var xValue = data[xField];\n // todo 没有看到这个 stack 计算原理\n var stackHeight = (size * 2) / height;\n if (!cache.has(xValue)) {\n cache.set(xValue, stackHeight / 2); // 初始值大小\n }\n var stackValue = cache.get(xValue);\n // 增加一层 stackHeight\n cache.set(xValue, stackValue + stackHeight);\n return __assign(__assign({}, data), (_a = {}, _a[yField] = stackValue, _a));\n });\n });\n };\n return Stack;\n}(Adjust));\nexport default Stack;\n//# sourceMappingURL=stack.js.map","import { __assign, __extends } from \"tslib\";\nimport * as _ from '@antv/util';\nimport Adjust from './adjust';\nvar Symmetric = /** @class */ (function (_super) {\n __extends(Symmetric, _super);\n function Symmetric() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Symmetric.prototype.process = function (groupDataArray) {\n var mergeData = _.flatten(groupDataArray);\n var _a = this, xField = _a.xField, yField = _a.yField;\n // 每个 x 值对应的 最大值\n var cache = this.getXValuesMaxMap(mergeData);\n // 所有数据的最大的值\n var max = Math.max.apply(Math, Object.keys(cache).map(function (key) { return cache[key]; }));\n return _.map(groupDataArray, function (dataArray) {\n return _.map(dataArray, function (data) {\n var _a, _b;\n var yValue = data[yField];\n var xValue = data[xField];\n // 数组处理逻辑\n if (_.isArray(yValue)) {\n var off_1 = (max - cache[xValue]) / 2;\n return __assign(__assign({}, data), (_a = {}, _a[yField] = _.map(yValue, function (y) { return off_1 + y; }), _a));\n }\n // 非数组处理逻辑\n var offset = (max - yValue) / 2;\n return __assign(__assign({}, data), (_b = {}, _b[yField] = [offset, yValue + offset], _b));\n });\n });\n };\n // 获取每个 x 对应的最大的值\n Symmetric.prototype.getXValuesMaxMap = function (mergeData) {\n var _this = this;\n var _a = this, xField = _a.xField, yField = _a.yField;\n // 根据 xField 的值进行分组\n var groupDataArray = _.groupBy(mergeData, function (data) { return data[xField]; });\n // 获取每个 xField 值中的最大值\n return _.mapValues(groupDataArray, function (dataArray) { return _this.getDimMaxValue(dataArray, yField); });\n };\n Symmetric.prototype.getDimMaxValue = function (mergeData, dim) {\n // 所有的 value 值\n var dimValues = _.map(mergeData, function (data) { return _.get(data, dim, []); });\n // 将数组打平(dim value 有可能是数组,比如 stack 之后的)\n var flattenValues = _.flatten(dimValues);\n // 求出数组的最大值\n return Math.max.apply(Math, flattenValues);\n };\n return Symmetric;\n}(Adjust));\nexport default Symmetric;\n//# sourceMappingURL=symmetric.js.map","import { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\n/** @ignore */\ninterface AnimationMap {\n [key: string]: Animation;\n}\n\ntype Animation = (element: IGroup | IShape, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) => void;\n\nconst ANIMATIONS_MAP: AnimationMap = {};\n\n/**\n * 根据名称获取对应的动画执行函数\n * @param type 动画函数名称\n */\nexport function getAnimation(type: string) {\n return ANIMATIONS_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册动画执行函数\n * @param type 动画执行函数名称\n * @param animation 动画执行函数\n */\nexport function registerAnimation(type: string, animation: Animation) {\n ANIMATIONS_MAP[type.toLowerCase()] = animation;\n}\n","import { deepMix, get, isFunction } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Coordinate, IGroup, IShape } from '../dependents';\nimport { AnimateCfg, Data, Datum, GAnimateCfg, Point } from '../interface';\nimport { AnimateExtraCfg } from './interface';\n\nimport { getAnimation } from './animation';\n\n// 默认的动画参数配置\nexport const DEFAULT_ANIMATE_CFG = {\n appear: {\n duration: 450,\n easing: 'easeQuadOut',\n }, // 初始入场动画配置\n update: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时发生变更的动画配置\n enter: {\n duration: 400,\n easing: 'easeQuadInOut',\n }, // 更新时新增元素的入场动画配置\n leave: {\n duration: 350,\n easing: 'easeQuadIn',\n }, // 更新时销毁动画配置\n};\n\n// 各个 Geometry 默认的动画执行函数\nconst GEOMETRY_ANIMATE_CFG = {\n interval: (coordinate: Coordinate) => {\n return {\n enter: {\n animation: coordinate.isRect ? (coordinate.isTransposed ? 'scale-in-x' : 'scale-in-y') : 'fade-in',\n },\n update: {\n animation: coordinate.isPolar && coordinate.isTransposed ? 'sector-path-update' : null,\n },\n leave: {\n animation: 'fade-out',\n },\n };\n },\n line: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n path: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n point: {\n appear: {\n animation: 'zoom-in',\n },\n enter: {\n animation: 'zoom-in',\n },\n leave: {\n animation: 'zoom-out',\n },\n },\n area: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n polygon: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n schema: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n edge: {\n enter: {\n animation: 'fade-in',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n label: {\n appear: {\n animation: 'fade-in',\n delay: 450,\n },\n enter: {\n animation: 'fade-in',\n },\n update: {\n animation: 'position-update',\n },\n leave: {\n animation: 'fade-out',\n },\n },\n};\n\n// 各个 Geometry 默认的群组出场动画\nconst GEOMETRY_GROUP_APPEAR_ANIMATION = {\n line: () => {\n return {\n animation: 'wave-in',\n };\n },\n area: () => {\n return {\n animation: 'wave-in',\n };\n },\n path: () => {\n return {\n animation: 'fade-in',\n };\n },\n interval(coordinate: Coordinate) {\n let animation;\n\n if (coordinate.isRect) {\n animation = coordinate.isTransposed ? 'grow-in-x' : 'grow-in-y';\n } else {\n animation = 'grow-in-xy';\n if (coordinate.isPolar && coordinate.isTransposed) {\n // pie chart\n animation = 'wave-in';\n }\n }\n return {\n animation,\n };\n },\n schema: (coordinate) => {\n let animation;\n if (coordinate.isRect) {\n animation = coordinate.isTransposed ? 'grow-in-x' : 'grow-in-y';\n } else {\n animation = 'grow-in-xy';\n }\n return {\n animation,\n };\n },\n polygon: () => {\n return {\n animation: 'fade-in',\n duration: 500,\n };\n },\n edge: () => {\n return {\n animation: 'fade-in',\n };\n },\n};\n\n// 解析用户的动画配置\nfunction parseAnimateConfig(animateCfg: AnimateCfg, data: Data | Datum): GAnimateCfg {\n return {\n delay: isFunction(animateCfg.delay) ? animateCfg.delay(data) : animateCfg.delay,\n easing: isFunction(animateCfg.easing) ? animateCfg.easing(data) : animateCfg.easing,\n duration: isFunction(animateCfg.duration) ? animateCfg.duration(data) : animateCfg.duration,\n callback: animateCfg.callback,\n };\n}\n\n/**\n * @ignore\n * 获取 elementName 对应的动画配置,当声明了 `animateType`,则返回 `animateType` 对应的动画配置\n * @param elementName 元素名称\n * @param coordinate 做表弟类型\n * @param animateType 可选,动画类型\n */\nexport function getDefaultAnimateCfg(elementName: string, coordinate: Coordinate, animateType?: string) {\n let animateCfg = GEOMETRY_ANIMATE_CFG[elementName];\n\n if (animateCfg) {\n if (isFunction(animateCfg)) {\n animateCfg = animateCfg(coordinate);\n }\n animateCfg = deepMix({}, DEFAULT_ANIMATE_CFG, animateCfg);\n\n if (animateType) {\n return animateCfg[animateType];\n }\n }\n return animateCfg;\n}\n\n/**\n * @ignore\n * 工具函数\n * 根据用户传入的配置为 shape 执行动画\n * @param shape 执行动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外的信息\n */\nexport function doAnimate(shape: IGroup | IShape, animateCfg: AnimateCfg, cfg: AnimateExtraCfg) {\n const data = get(shape.get('origin'), 'data', FIELD_ORIGIN);\n const animation = animateCfg.animation; // 获取动画执行函数\n const parsedAnimateCfg = parseAnimateConfig(animateCfg, data);\n if (animation) {\n // 用户声明了动画执行函数\n const animateFunction = getAnimation(animation);\n if (animateFunction) {\n animateFunction(shape, parsedAnimateCfg, cfg);\n }\n } else {\n // 没有声明,则根据 toAttrs 做差值动画\n shape.animate(cfg.toAttrs, parsedAnimateCfg);\n }\n}\n\n/**\n * @ignore\n * 执行 Geometry 群组入场动画\n * @param container 执行群组动画的图形元素\n * @param animateCfg 动画配置\n * @param geometryType geometry 类型\n * @param coordinate 坐标系对象\n * @param minYPoint y 轴最小值对应的画布坐标点\n */\nexport function doGroupAppearAnimate(\n container: IGroup,\n animateCfg: AnimateCfg,\n geometryType: string,\n coordinate: Coordinate,\n minYPoint: Point\n) {\n if (GEOMETRY_GROUP_APPEAR_ANIMATION[geometryType]) {\n const defaultCfg = GEOMETRY_GROUP_APPEAR_ANIMATION[geometryType](coordinate);\n const animation = getAnimation(get(defaultCfg, 'animation', ''));\n if (animation) {\n const cfg = {\n ...DEFAULT_ANIMATE_CFG.appear,\n ...defaultCfg,\n ...animateCfg,\n };\n container.stopAnimate(); // 先结束当前 container 动画\n animation(container, cfg, {\n coordinate,\n minYPoint,\n toAttrs: null,\n });\n }\n }\n}\n","import { deepMix, each, get, isArray, isFunction, isString } from '@antv/util';\nimport { doAnimate } from '../../animate';\nimport Base from '../../base';\nimport { BBox, IGroup, IShape } from '../../dependents';\nimport { AnimateOption, Datum, ShapeFactory, ShapeInfo, StateCfg } from '../../interface';\nimport { getReplaceAttrs } from '../../util/graphics';\nimport Geometry from '../base';\n\nimport { propagationDelegate } from '@antv/component/lib/util/event';\n\n/** Element 构造函数传入参数类型 */\ninterface ElementCfg {\n /** 用于创建各种 shape 的工厂对象 */\n shapeFactory: ShapeFactory;\n /** shape 容器 */\n container: IGroup;\n /** 虚拟 group,用户可以不传入 */\n offscreenGroup?: IGroup;\n /** 是否可见 */\n visible?: boolean;\n}\n\n/**\n * Element 图形元素。\n * 定义:在 G2 中,我们会将数据通过图形语法映射成不同的图形,比如点图,数据集中的每条数据会对应一个点,柱状图每条数据对应一个柱子,线图则是一组数据对应一条折线,Element 即一条/一组数据对应的图形元素,它代表一条数据或者一个数据集,在图形层面,它可以是单个 Shape 也可以是多个 Shape,我们称之为图形元素。\n */\nexport default class Element extends Base {\n /** 用于创建各种 shape 的工厂对象 */\n public shapeFactory: ShapeFactory;\n /** shape 容器 */\n public container: IGroup;\n /** 最后创建的图形对象 */\n public shape: IShape | IGroup;\n /** shape 的动画配置 */\n public animate: AnimateOption | boolean;\n\n // 非构造函数属性,需要外部赋值\n /** element 对应的 Geometry 实例 */\n public geometry: Geometry;\n /** 保存 shape 对应的 label */\n public labelShape: IGroup[];\n\n /** 绘制的 shape 类型 */\n private shapeType: string;\n\n /** shape 绘制需要的数据 */\n private model: ShapeInfo;\n /** 原始数据 */\n private data: Datum;\n // 存储当前开启的状态\n private states: string[] = [];\n private statesStyle;\n // 虚拟 Group\n private offscreenGroup: IGroup;\n\n constructor(cfg: ElementCfg) {\n super(cfg);\n\n const { shapeFactory, container, offscreenGroup, visible = true } = cfg;\n this.shapeFactory = shapeFactory;\n this.container = container;\n this.offscreenGroup = offscreenGroup;\n this.visible = visible;\n }\n\n /**\n * 绘制图形。\n * @param model 绘制数据。\n * @param isUpdate 可选,是否是更新发生后的绘制。\n */\n public draw(model: ShapeInfo, isUpdate: boolean = false) {\n this.model = model;\n this.data = model.data; // 存储原始数据\n this.shapeType = this.getShapeType(model);\n\n // 绘制图形\n this.drawShape(model, isUpdate);\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 更新图形。\n * @param model 更新的绘制数据。\n */\n public update(model: ShapeInfo) {\n const { shapeFactory, shape } = this;\n if (!shape) {\n return;\n }\n\n // 更新数据\n this.model = model;\n this.data = model.data;\n this.shapeType = this.getShapeType(model);\n\n // step 1: 更新 shape 携带的信息\n this.setShapeInfo(shape, model);\n\n // step 2: 使用虚拟 Group 重新绘制 shape,然后更新当前 shape\n const offscreenGroup = this.getOffscreenGroup();\n const newShape = shapeFactory.drawShape(this.shapeType, model, offscreenGroup);\n // @ts-ignore\n newShape.cfg.data = this.data;\n // @ts-ignore\n newShape.cfg.origin = model;\n\n // step 3: 同步 shape 样式\n this.syncShapeStyle(shape, newShape, '', this.getAnimateCfg('update'));\n }\n\n /**\n * 销毁 element 实例。\n */\n public destroy() {\n const { shapeFactory, shape } = this;\n\n if (shape) {\n const animateCfg = this.getAnimateCfg('leave');\n if (animateCfg) {\n // 指定了动画配置则执行销毁动画\n doAnimate(shape, animateCfg, {\n coordinate: shapeFactory.coordinate,\n toAttrs: {\n ...shape.attr(),\n },\n });\n } else {\n // 否则直接销毁\n shape.remove(true);\n }\n }\n\n // reset\n this.states = [];\n this.shapeFactory = undefined;\n this.container = undefined;\n this.shape = undefined;\n this.animate = undefined;\n this.geometry = undefined;\n this.labelShape = undefined;\n this.model = undefined;\n this.data = undefined;\n this.offscreenGroup = undefined;\n this.statesStyle = undefined;\n\n super.destroy();\n }\n\n /**\n * 显示或者隐藏 element。\n * @param visible 是否可见。\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible);\n\n if (visible) {\n if (this.shape) {\n this.shape.show();\n }\n if (this.labelShape) {\n this.labelShape.forEach((label: IGroup) => {\n label.show();\n });\n }\n } else {\n if (this.shape) {\n this.shape.hide();\n }\n if (this.labelShape) {\n this.labelShape.forEach((label: IGroup) => {\n label.hide();\n });\n }\n }\n }\n\n /**\n * 设置 Element 的状态。\n *\n * 目前 Element 开放三种状态:\n * 1. active\n * 2. selected\n * 3. inactive\n *\n * 这三种状态相互独立,可以进行叠加。\n *\n * 这三种状态的样式可在 [[Theme]] 主题中或者通过 `geometry.state()` 接口进行配置。\n *\n * ```ts\n * // 激活 active 状态\n * setState('active', true);\n * ```\n *\n * @param stateName 状态名\n * @param stateStatus 是否开启状态\n */\n public setState(stateName: string, stateStatus: boolean) {\n const { states, shapeFactory, model, shape, shapeType } = this;\n\n const index = states.indexOf(stateName);\n if (stateStatus) {\n // 开启状态\n if (index > -1) {\n // 该状态已经开启,则返回\n return;\n }\n states.push(stateName);\n if (stateName === 'active' || stateName === 'selected') {\n shape.toFront();\n }\n } else {\n if (index === -1) {\n // 关闭状态,但是状态未设置过\n return;\n }\n states.splice(index, 1);\n if (stateName === 'active' || stateName === 'selected') {\n shape.toBack();\n }\n }\n\n // 使用虚拟 group 重新绘制 shape,然后对这个 shape 应用状态样式后,更新当前 shape。\n const offscreenShape = shapeFactory.drawShape(shapeType, model, this.getOffscreenGroup());\n if (states.length) {\n // 应用当前状态\n states.forEach((state) => {\n this.syncShapeStyle(shape, offscreenShape, state, null);\n });\n } else {\n // 如果没有状态,则需要恢复至原始状态\n this.syncShapeStyle(shape, offscreenShape, 'reset', null);\n }\n\n offscreenShape.remove(true); // 销毁,减少内存占用\n\n const eventObject = {\n state: stateName,\n stateStatus,\n element: this,\n target: this.container,\n };\n this.container.emit('statechange', eventObject);\n // @ts-ignore\n propagationDelegate(this.shape, 'statechange', eventObject);\n }\n\n /**\n * 清空状量态,恢复至初始状态。\n */\n public clearStates() {\n const states = this.states;\n\n each(states, (state) => {\n this.setState(state, false);\n });\n\n this.states = [];\n }\n\n /**\n * 查询当前 Element 上是否已设置 `stateName` 对应的状态。\n * @param stateName 状态名称。\n * @returns true 表示存在,false 表示不存在。\n */\n public hasState(stateName: string): boolean {\n return this.states.includes(stateName);\n }\n\n /**\n * 获取当前 Element 上所有的状态。\n * @returns 当前 Element 上所有的状态数组。\n */\n public getStates(): string[] {\n return this.states;\n }\n\n /**\n * 获取 Element 对应的原始数据。\n * @returns 原始数据。\n */\n public getData(): Datum {\n return this.data;\n }\n\n /**\n * 获取 Element 对应的图形绘制数据。\n * @returns 图形绘制数据。\n */\n public getModel(): ShapeInfo {\n return this.model;\n }\n\n /**\n * 返回 Element 元素整体的 bbox,包含文本及文本连线(有的话)。\n * @returns 整体包围盒。\n */\n public getBBox(): BBox {\n const { shape, labelShape } = this;\n let bbox = {\n x: 0,\n y: 0,\n minX: 0,\n minY: 0,\n maxX: 0,\n maxY: 0,\n width: 0,\n height: 0,\n };\n if (shape) {\n bbox = shape.getCanvasBBox();\n }\n if (labelShape) {\n labelShape.forEach((label: IGroup) => {\n const labelBBox = label.getCanvasBBox();\n bbox.x = Math.min(labelBBox.x, bbox.x);\n bbox.y = Math.min(labelBBox.y, bbox.y);\n bbox.minX = Math.min(labelBBox.minX, bbox.minX);\n bbox.minY = Math.min(labelBBox.minY, bbox.minY);\n bbox.maxX = Math.max(labelBBox.maxX, bbox.maxX);\n bbox.maxY = Math.max(labelBBox.maxY, bbox.maxY);\n });\n }\n\n bbox.width = bbox.maxX - bbox.minX;\n bbox.height = bbox.maxY - bbox.minY;\n\n return bbox;\n }\n\n private getStatesStyle() {\n if (!this.statesStyle) {\n const { shapeType, geometry, shapeFactory } = this;\n const stateOption = geometry.stateOption;\n const defaultShapeType = shapeFactory.defaultShapeType;\n const stateTheme = shapeFactory.theme[shapeType] || shapeFactory.theme[defaultShapeType];\n this.statesStyle = deepMix({}, stateTheme, stateOption);\n }\n\n return this.statesStyle;\n }\n\n // 从主题中获取对应状态量的样式\n private getStateStyle(stateName: string, shapeKey?: string): StateCfg {\n const statesStyle = this.getStatesStyle();\n const stateCfg = get(statesStyle, [stateName, 'style'], {});\n const shapeStyle = stateCfg[shapeKey] || stateCfg;\n if (isFunction(shapeStyle)) {\n return shapeStyle(this);\n }\n\n return shapeStyle;\n }\n\n // 获取动画配置\n private getAnimateCfg(animateType: string) {\n const animate = this.animate;\n if (animate) {\n return animate[animateType];\n }\n\n return null;\n }\n\n // 绘制图形\n private drawShape(model: ShapeInfo, isUpdate: boolean = false) {\n const { shapeFactory, container, shapeType } = this;\n\n // 自定义 shape 有可能返回空 shape\n this.shape = shapeFactory.drawShape(shapeType, model, container);\n\n if (this.shape) {\n this.setShapeInfo(this.shape, model); // 存储绘图数据\n // @ts-ignore\n const name = this.shape.cfg.name;\n // 附加 element 的 name, name 现在支持数组了,很好用了\n if (!name) {\n // 这个地方如果用户添加了 name, 则附加 name ,否则就添加自己的 name\n // @ts-ignore\n this.shape.cfg.name = ['element', this.shapeFactory.geometryType];\n } else if (isString(name)) {\n // @ts-ignore\n this.shape.cfg.name = ['element', name];\n }\n // 执行入场动画\n const animateType = isUpdate ? 'enter' : 'appear';\n const animateCfg = this.getAnimateCfg(animateType);\n if (animateCfg) {\n doAnimate(this.shape, animateCfg, {\n coordinate: shapeFactory.coordinate,\n toAttrs: {\n ...this.shape.attr(),\n },\n });\n }\n }\n }\n\n // 获取虚拟 Group\n private getOffscreenGroup() {\n if (!this.offscreenGroup) {\n const GroupCtor = this.container.getGroupBase(); // 获取分组的构造函数\n this.offscreenGroup = new GroupCtor({});\n }\n\n return this.offscreenGroup;\n }\n\n // 设置 shape 上需要携带的信息\n private setShapeInfo(shape: IShape | IGroup, data: ShapeInfo) {\n // @ts-ignore\n shape.cfg.origin = data;\n // @ts-ignore\n shape.cfg.element = this;\n if (shape.isGroup()) {\n const children = shape.get('children');\n children.forEach((child) => {\n this.setShapeInfo(child, data);\n });\n }\n }\n\n // 更新当前 shape 的样式\n private syncShapeStyle(\n sourceShape: IGroup | IShape,\n targetShape: IGroup | IShape,\n state: string = '',\n animateCfg,\n index: number = 0\n ) {\n if (sourceShape.isGroup()) {\n const children = sourceShape.get('children');\n const newChildren = targetShape.get('children');\n for (let i = 0; i < children.length; i++) {\n this.syncShapeStyle(children[i], newChildren[i], state, animateCfg, index + i);\n }\n } else {\n if (state && state !== 'reset') {\n let name = sourceShape.get('name');\n if (isArray(name)) {\n // 会附加 element 的 name\n name = name[1];\n }\n const style = this.getStateStyle(state, name || index); // 如果用户没有设置 name,则默认根据索引值\n targetShape.attr(style);\n }\n const newAttrs = getReplaceAttrs(sourceShape as IShape, targetShape as IShape);\n\n if (this.animate) {\n if (animateCfg) {\n // 需要进行动画\n doAnimate(sourceShape, animateCfg, {\n coordinate: this.shapeFactory.coordinate,\n toAttrs: newAttrs,\n shapeModel: this.model,\n });\n } else if (state) {\n sourceShape.stopAnimate();\n sourceShape.animate(newAttrs, {\n duration: 300,\n });\n } else {\n sourceShape.attr(newAttrs);\n }\n } else {\n sourceShape.attr(newAttrs);\n }\n }\n }\n\n private getShapeType(model: ShapeInfo) {\n const shape = get(model, 'shape');\n return isArray(shape) ? shape[0] : shape;\n }\n}\n","import { BBox, IGroup, IShape } from '../../dependents';\nimport { LooseObject } from '../../interface';\nimport { GeometryLabelConstructor } from './base';\nimport { LabelItem } from './interface';\n\n/**\n * label 布局函数定义\n * @param items 存储每个 label 的详细信息\n * @param labels 所有的 labels 图形实例\n * @param shapes 所有 label 对应的图形元素实例\n * @param region 画布区域\n * @param cfg 用于存储各个布局函数开放给用户的配置数据\n */\ntype GeometryLabelsLayoutFn = (\n items: LabelItem[],\n labels: IGroup[],\n shapes: IShape[] | IGroup[],\n region: BBox,\n cfg?: LooseObject\n) => void;\n\nconst GEOMETRY_LABELS_MAP: Record = {};\nconst GEOMETRY_LABELS_LAYOUT_MAP: Record = {};\n\n/**\n * 获取 `type` 对应的 [[GeometryLabel]] 类\n * @param type\n * @returns\n */\nexport function getGeometryLabel(type: string): GeometryLabelConstructor {\n return GEOMETRY_LABELS_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册定义的 GeometryLabel 类\n * @param type GeometryLabel 类型名称\n * @param ctor GeometryLabel 类\n */\nexport function registerGeometryLabel(type: string, ctor: GeometryLabelConstructor) {\n GEOMETRY_LABELS_MAP[type.toLowerCase()] = ctor;\n}\n\n/**\n * 获取 `type` 对应的 [[GeometryLabelsLayoutFn]] label 布局函数\n * @param type 布局函数名称\n * @returns\n */\nexport function getGeometryLabelLayout(type: string): GeometryLabelsLayoutFn {\n return GEOMETRY_LABELS_LAYOUT_MAP[type.toLowerCase()];\n}\n\n/**\n * 注册定义的 label 布局函数\n * @param type label 布局函数名称\n * @param layoutFn label 布局函数\n */\nexport function registerGeometryLabelLayout(type: string, layoutFn: GeometryLabelsLayoutFn) {\n GEOMETRY_LABELS_LAYOUT_MAP[type.toLowerCase()] = layoutFn;\n}\n","import { parsePathString } from '@antv/path-util';\nimport { deepMix, get, upperFirst } from '@antv/util';\nimport { IGroup, IShape, PathCommand } from '../../dependents';\nimport {\n Point,\n RegisterShape,\n RegisterShapeFactory,\n Shape,\n ShapeFactory,\n ShapeInfo,\n ShapeMarkerAttrs,\n ShapeMarkerCfg,\n ShapePoint,\n} from '../../interface';\n\nimport { convertNormalPath, convertPolarPath } from './util/path';\n\n/** ShapeFactory 基类 */\nconst ShapeFactoryBase = {\n /** 坐标系对象 */\n coordinate: null,\n /** 默认绘制的 Shape 类型 */\n defaultShapeType: null,\n /** 主题样式 */\n theme: null,\n /**\n * 获取 shape 绘制需要的关键点\n * @param shapeType shape 类型\n * @param shapePoint 每条数据映射后的坐标点以及 size 数值\n * @returns 图形关键点信息\n */\n getShapePoints(shapeType: string, shapePoint: ShapePoint) {\n const shape = this.getShape(shapeType);\n if (shape.getPoints) {\n return shape.getPoints(shapePoint);\n }\n\n return this.getDefaultPoints(shapePoint);\n },\n /**\n * 根据 shape 类型获取具体的 shape 实例\n * @param shapeType string shape 的类型\n * @returns\n */\n getShape(shapeType: string): Shape {\n const shape = this[shapeType] || this[this.defaultShapeType];\n shape.coordinate = this.coordinate;\n\n return shape;\n },\n /**\n * 获取 shape 的默认关键点\n * @override\n */\n getDefaultPoints() {\n return [];\n },\n /**\n * 获取 shape 对应的缩略图配置信息。\n * @param shapeType shape 类型\n * @param color 颜色\n * @param isInPolar 是否在极坐标系下\n * @returns 返回缩略图 marker 配置。\n */\n getMarker(shapeType: string, markerCfg: ShapeMarkerCfg): ShapeMarkerAttrs {\n let shape = this.getShape(shapeType);\n\n if (!shape.getMarker) {\n const defaultShapeType = this.defaultShapeType;\n shape = this.getShape(defaultShapeType);\n }\n\n const theme = this.theme;\n const shapeStyle = get(theme, [shapeType, 'default'], {});\n const markerStyle = shape.getMarker(markerCfg);\n\n return deepMix({}, shapeStyle, markerStyle);\n },\n /**\n * 绘制 shape\n * @override\n * @param shapeType 绘制的 shape 类型\n * @param cfg 绘制 shape 需要的信息\n * @param element Element 实例\n * @returns\n */\n drawShape(shapeType: string, cfg: ShapeInfo, container: IGroup): IShape | IGroup {\n const shape = this.getShape(shapeType);\n return shape.draw(cfg, container);\n },\n};\n\n/** Shape 基类 */\nconst ShapeBase = {\n /** 坐标系对象 */\n coordinate: null,\n /**\n * 将归一化的 path 转换成坐标系下的 path\n * @param path 归一化的路径\n * @returns\n */\n parsePath(path: string): PathCommand[] {\n const coordinate = this.coordinate;\n let parsedPath = parsePathString(path);\n if (coordinate.isPolar) {\n parsedPath = convertPolarPath(coordinate, parsedPath);\n } else {\n parsedPath = convertNormalPath(coordinate, parsedPath);\n }\n return parsedPath;\n },\n /**\n * 将归一化的坐标转换成画布坐标\n * @param point 归一化的坐标点数据\n * @returns\n */\n parsePoint(point: Point): Point {\n const coordinate = this.coordinate;\n return coordinate.convert(point);\n },\n /**\n * 0~1 points 转 画布 points\n * @param points 节点集合\n * @returns\n */\n parsePoints(points: Point[]): Point[] {\n const coordinate = this.coordinate;\n return points.map((point) => {\n return coordinate.convert(point);\n });\n },\n /**\n * 绘制 shape\n * @override\n */\n draw(cfg: ShapeInfo, container: IGroup) {},\n};\n\nconst ShapeFactoryMap = {};\n\n/**\n * 注册 ShapeFactory。\n * @param factoryName ShapeFactory 名称,对应 Geometry 几何标记名称。\n * @param cfg 注册 ShapeFactory 需要覆写定义的属性。\n * @returns 返回 ShapeFactory 对象。\n */\nexport function registerShapeFactory(factoryName: string, cfg: RegisterShapeFactory): ShapeFactory {\n const className = upperFirst(factoryName);\n const geomObj = {\n ...ShapeFactoryBase,\n ...cfg,\n geometryType: factoryName,\n };\n ShapeFactoryMap[className] = geomObj;\n return geomObj;\n}\n\n/**\n * 注册 Shape。\n * @param factoryName 对应的 ShapeFactory 名称。\n * @param shapeType 注册的 shape 名称。\n * @param cfg 注册 Shape 需要覆写定义的属性。\n * @returns shape 返回注册的 shape 对象。\n */\nexport function registerShape(factoryName: string, shapeType: string, cfg: RegisterShape): Shape {\n const className = upperFirst(factoryName);\n const factory = ShapeFactoryMap[className];\n const shapeObj = {\n ...ShapeBase,\n ...cfg,\n };\n factory[shapeType] = shapeObj;\n return shapeObj;\n}\n\n/**\n * 获取 factoryName 对应的 shapeFactory\n * @param factoryName\n * @returns shape factory\n */\nexport function getShapeFactory(factoryName: string): ShapeFactory {\n const className = upperFirst(factoryName);\n return ShapeFactoryMap[className];\n}\n","import { isEqual, some } from '@antv/util';\nimport { ShapeInfo } from '../../interface';\n\n/**\n * @ignore\n * Determines whether model is change\n * @param currentModel\n * @param preModel\n * @returns\n */\nexport function isModelChange(currentModel: ShapeInfo, preModel: ShapeInfo) {\n return some(\n ['color', 'shape', 'size', 'x', 'y', 'isInCircle', 'data', 'style', 'defaultStyle', 'points', 'mappingData'],\n (key: string) => {\n return !isEqual(currentModel[key], preModel[key]);\n }\n );\n}\n","import { isArray } from '@antv/util';\n\n/** @ignore */\nexport function parseFields(field: string | string[]): string[] {\n if (isArray(field)) {\n return field;\n }\n\n return field.split('*');\n}\n","import { Adjust, getAdjust as getAdjustClass } from '@antv/adjust';\nimport { Attribute, getAttribute as getAttributeClass } from '@antv/attr';\nimport {\n clone,\n deepMix,\n each,\n flatten,\n get,\n isArray,\n isEmpty,\n isEqual,\n isFunction,\n isNil,\n isNumber,\n isObject,\n isPlainObject,\n isString,\n set,\n} from '@antv/util';\nimport { doGroupAppearAnimate, getDefaultAnimateCfg } from '../animate';\nimport Base from '../base';\nimport { FIELD_ORIGIN, GROUP_ATTRS } from '../constant';\nimport { BBox, Coordinate, IGroup, IShape, Scale } from '../dependents';\nimport {\n AdjustOption,\n AdjustType,\n AnimateOption,\n AttributeOption,\n ColorAttrCallback,\n Data,\n Datum,\n GeometryLabelCfg,\n GeometryTooltipOption,\n LabelCallback,\n LabelOption,\n LooseObject,\n MappingDatum,\n ScaleOption,\n ShapeAttrCallback,\n ShapeFactory,\n ShapeInfo,\n ShapeMarkerCfg,\n ShapeMarkerAttrs,\n ShapePoint,\n SizeAttrCallback,\n StateOption,\n StyleCallback,\n StyleOption,\n TooltipCallback,\n} from '../interface';\nimport { uniq } from '../util/helper';\nimport Element from './element';\nimport { getGeometryLabel } from './label';\nimport GeometryLabel from './label/base';\nimport { getShapeFactory } from './shape/base';\nimport { group } from './util/group-data';\nimport { isModelChange } from './util/is-model-change';\nimport { parseFields } from './util/parse-fields';\n\n/** @ignore */\ninterface AttributeInstanceCfg {\n fields?: string[];\n callback?: (...args) => any;\n values?: string[] | number[];\n scales?: Scale[];\n}\n\n/** @ignore */\ninterface AdjustInstanceCfg {\n type: AdjustType;\n adjustNames?: string[];\n xField?: string;\n yField?: string;\n\n dodgeBy?: string;\n marginRatio?: number;\n dodgeRatio?: number;\n\n size?: number;\n height?: number;\n reverseOrder?: boolean;\n}\n\n/** geometry.init() 传入参数 */\nexport interface InitCfg {\n /** 坐标系 */\n coordinate?: Coordinate;\n /** 数据 */\n data?: Data;\n /** 主题对象 */\n theme?: LooseObject;\n /** 列定义 */\n scaleDefs?: Record;\n /** 因为数据使用的引用,所以需要有一个标识位标识数据是否发生了更新 */\n isDataChanged?: boolean;\n isCoordinateChanged?: boolean;\n}\n\n/** Geometry 构造函数参数 */\nexport interface GeometryCfg {\n /** Geometry shape 的容器。 */\n container: IGroup;\n /** 绘制的坐标系对象。 */\n coordinate?: Coordinate;\n /** 绘制数据。 */\n data?: Data;\n /** 需要的 scales。 */\n scales?: Record;\n /** 列定义 */\n scaleDefs?: Record;\n /** Geometry labels 的容器 */\n labelsContainer?: IGroup;\n /** 是否对数据进行排序 */\n sortable?: boolean;\n /** 是否可见 */\n visible?: boolean;\n /** 主题配置 */\n theme?: LooseObject;\n}\n\n// 根据 elementId 查找对应的 label,因为有可能一个 element 对应多个 labels,所以在给 labels 打标识时做了处理\n// 打标规则详见 ./label/base.ts#L263\nfunction filterLabelsById(id: string, labelsMap: Record) {\n const labels = [];\n each(labelsMap, (label: IGroup, labelId: string) => {\n const elementId = labelId.split(' ')[0];\n if (elementId === id) {\n labels.push(label);\n }\n });\n\n return labels;\n}\n\n/**\n * Geometry 几何标记基类,主要负责数据到图形属性的映射以及绘制逻辑。\n */\nexport default class Geometry extends Base {\n /** Geometry 几何标记类型。 */\n public readonly type: string = 'base';\n /** ShapeFactory 对应的类型。 */\n public readonly shapeType: string;\n\n // 在创建 Geometry 实例时可以传入的属性\n /** Coordinate 坐标系实例。 */\n public coordinate: Coordinate;\n /** 用户绘制数据。 */\n public data: Data;\n /** 图形绘制容器。 */\n public readonly container: IGroup;\n /** label 绘制容器。 */\n public readonly labelsContainer: IGroup;\n /** 是否对数据进行排序,默认为 false。 */\n public sortable: boolean;\n /** 当前 Geometry 实例主题。 */\n public theme: LooseObject;\n /** 存储 geometry 需要的 scales,需要外部传入。 */\n public scales: Record;\n /** scale 定义,需要外部传入。 */\n public scaleDefs: Record;\n /** 画布区域,用于 label 布局。 */\n public canvasRegion: BBox;\n\n // 内部产生的属性\n /** Attribute map */\n public attributes: Record = {};\n /** Element map */\n public elements: Element[] = [];\n /**\n * 存储处理后的数据,\n * + init() 及 updateData() 逻辑后, 结构为 Data[];\n * + paint() 逻辑后,结构为 MappingDatum[][]。\n */\n public dataArray: MappingDatum[][];\n /** 存储 tooltip 配置信息。 */\n public tooltipOption: GeometryTooltipOption | boolean;\n /** 存储 label 配置信息。 */\n public labelOption: LabelOption | false;\n /** 状态量相关的配置项 */\n public stateOption: StateOption;\n /** 使用 key-value 结构存储 Element,key 为每个 Element 实例对应的唯一 ID */\n public elementsMap: Record = {};\n /** animate 配置项 */\n public animateOption: AnimateOption | boolean = true;\n /** 图形属性映射配置 */\n protected attributeOption: Record = {};\n /** adjust 配置项 */\n protected adjustOption: AdjustOption[];\n /** style 配置项 */\n protected styleOption: StyleOption;\n /** 每个 Geometry 对应的 Shape 工厂实例,用于创建各个 Shape */\n protected shapeFactory: ShapeFactory;\n /** 存储上一次渲染时的 element 映射表,用于更新逻辑 */\n protected lastElementsMap: Record = {};\n /** 是否生成多个点来绘制图形。 */\n protected generatePoints: boolean = false;\n /** 存储发生图形属性映射前的数据 */\n protected beforeMappingData: Data[] = null;\n /** 存储每个 shape 的默认 size,用于 Interval、Schema 几何标记 */\n protected defaultSize: number;\n\n // 用户通过 geometry 构造函数设置的主题\n private userTheme: LooseObject;\n private adjusts: Record = {};\n private lastAttributeOption;\n private idFields: string[] = [];\n private geometryLabel: GeometryLabel;\n /** 虚拟 Group,用于图形更新 */\n private offscreenGroup: IGroup;\n private groupScales: Scale[];\n private hasSorted: boolean = false;\n protected isCoordinateChanged: boolean = false;\n\n /**\n * 创建 Geometry 实例。\n * @param cfg\n */\n constructor(cfg: GeometryCfg) {\n super(cfg);\n\n const {\n container,\n labelsContainer,\n coordinate,\n data,\n sortable = false,\n visible = true,\n theme,\n scales = {},\n scaleDefs = {},\n } = cfg;\n\n this.container = container;\n this.labelsContainer = labelsContainer;\n this.coordinate = coordinate;\n this.data = data;\n this.sortable = sortable;\n this.visible = visible;\n this.userTheme = theme;\n this.scales = scales;\n this.scaleDefs = scaleDefs;\n }\n\n /**\n * 配置 position 通道映射规则。\n *\n * @example\n * ```typescript\n * // 数据结构: [{ x: 'A', y: 10, color: 'red' }]\n * geometry.position('x*y');\n * geometry.position([ 'x', 'y' ]);\n * geometry.position({\n * fields: [ 'x', 'y' ],\n * });\n * ```\n *\n * @param cfg 映射规则\n * @returns\n */\n public position(cfg: string | string[] | AttributeOption): Geometry {\n let positionCfg = cfg;\n if (!isPlainObject(cfg)) {\n // 字符串字段或者数组字段\n positionCfg = {\n fields: parseFields(cfg),\n };\n }\n\n const fields = get(positionCfg, 'fields');\n if (fields.length === 1) {\n // 默认填充一维 1*xx\n fields.unshift('1');\n set(positionCfg, 'fields', fields);\n }\n set(this.attributeOption, 'position', positionCfg);\n\n return this;\n }\n\n /**\n * 配置 color 通道映射规则。\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.color({\n * fields: [ 'x' ],\n * values: [ '#1890ff', '#5AD8A6' ],\n * });\n * ```\n *\n * @param field 映射规则\n * @returns\n */\n public color(field: AttributeOption): Geometry;\n /**\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 使用 '#1890ff' 颜色渲染图形\n * geometry.color('#1890ff');\n *\n * // 根据 x 字段的数据值进行颜色的映射,这时候 G2 会在内部调用默认的回调函数,读取默认提供的颜色进行数据值到颜色值的映射。\n * geometry.color('x');\n *\n * // 将 'x' 字段的数据值映射至指定的颜色值 colors(可以是字符串也可以是数组),此时用于通常映射分类数据\n * geometry.color('x', [ '#1890ff', '#5AD8A6' ]);\n *\n * // 使用回调函数进行颜色值的自定义;可以使用多个字段使用、*号连接\n * geometry.color('x', (xVal) => {\n * if (xVal === 'a') {\n * return 'red';\n * }\n * return 'blue';\n * });\n *\n * // 指定颜色的渐变路径,用于映射连续的数据\n * geometry.color('x', '#BAE7FF-#1890FF-#0050B3');\n * ```\n *\n * @param field 参与颜色映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, color 映射规则。\n * @returns\n */\n public color(field: string, cfg?: string | string[] | ColorAttrCallback): Geometry;\n public color(field: AttributeOption | string, cfg?: string | string[] | ColorAttrCallback): Geometry {\n this.createAttrOption('color', field, cfg);\n\n return this;\n }\n\n /**\n * 配置 shape 通道映射规则。\n *\n * @example\n *\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.shape({\n * fields: [ 'x' ],\n * });\n * ```\n *\n * @param field 映射规则配置。\n * @returns\n */\n public shape(field: AttributeOption): Geometry;\n /**\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 指定常量,将所有数据值映射到固定的 shape\n * geometry.shape('circle');\n *\n * // 将指定的字段映射到内置的 shapes 数组中\n * geometry.shape('x');\n *\n * // 将指定的字段映射到指定的 shapes 数组中\n * geometry.shape('x', [ 'circle', 'diamond', 'square' ]);\n *\n * // 使用回调函数获取 shape,用于个性化的 shape 定制,可以根据单个或者多个字段确定\n * geometry.shape('x', (xVal) => {\n * if (xVal === 'a') {\n * return 'circle';\n * }\n * return 'diamond';\n * });\n * ```\n *\n * @param field 参与 shape 映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, shape 映射规则。\n * @returns\n */\n public shape(field: string, cfg?: string[] | ShapeAttrCallback): Geometry;\n public shape(field: AttributeOption | string, cfg?: string[] | ShapeAttrCallback): Geometry {\n this.createAttrOption('shape', field, cfg);\n\n return this;\n }\n\n /**\n * 配置 size 通道映射规则。\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n * geometry.size({\n * values: [ 10 ],\n * })\n * ```\n *\n * @param field 映射规则。\n * @returns\n */\n public size(field: AttributeOption): Geometry;\n /**\n *\n * @example\n * ```typescript\n * // data: [{ x: 'A', y: 10, color: 'red' }, { x: 'B', y: 30, color: 'yellow' }]\n *\n * // 直接指定像素大小\n * geometry.size(10);\n *\n * // 指定映射到 size 的字段,使用内置的默认大小范围为 [1, 10]\n * geometry.size('x');\n *\n * // 指定映射到 size 字段外,还提供了 size 的最大值和最小值范围\n * geometry.size('x', [ 5, 30 ]);\n *\n * // 使用回调函数映射 size,用于个性化的 size 定制,可以使用多个字段进行映射\n * geometry.size('x', (xVal) => {\n * if (xVal === 'a') {\n * return 10;\n * }\n * return 5;\n * });\n * ```\n *\n * @param field 参与 size 映射的数据字段,多个字段使用 '*' 连接符进行连接。\n * @param cfg Optional, size 映射规则\n * @returns\n */\n public size(field: number | string, cfg?: [number, number] | SizeAttrCallback): Geometry;\n public size(field: AttributeOption | number | string, cfg?: [number, number] | SizeAttrCallback): Geometry {\n this.createAttrOption('size', field, cfg);\n\n return this;\n }\n\n /**\n * 设置数据调整方式。G2 目前内置了四种类型:\n * 1. dodge\n * 2. stack\n * 3. symmetric\n * 4. jitter\n *\n *\n * **Tip**\n * + 对于 'dodge' 类型,可以额外进行如下属性的配置:\n * ```typescript\n * geometry.adjust('dodge', {\n * marginRatio: 0, // 取 0 到 1 范围的值(相对于每个柱子宽度),用于控制一个分组中柱子之间的间距\n * dodgeBy: 'x', // 该属性只对 'dodge' 类型生效,声明以哪个数据字段为分组依据\n * });\n * ```\n *\n * + 对于 'stack' 类型,可以额外进行如下属性的配置:\n * ```typescript\n * geometry.adjust('stack', {\n * reverseOrder: false, // 用于控制是否对数据进行反序操作\n * });\n * ```\n *\n * @example\n * ```typescript\n * geometry.adjust('stack');\n *\n * geometry.adjust({\n * type: 'stack',\n * reverseOrder: false,\n * });\n *\n * // 组合使用 adjust\n * geometry.adjust([ 'stack', 'dodge' ]);\n *\n * geometry.adjust([\n * { type: 'stack' },\n * { type: 'dodge', dodgeBy: 'x' },\n * ]);\n * ```\n *\n * @param adjustCfg 数据调整配置\n * @returns\n */\n public adjust(adjustCfg: string | string[] | AdjustOption | AdjustOption[]): Geometry {\n let adjusts: any = adjustCfg;\n if (isString(adjustCfg) || isPlainObject(adjustCfg)) {\n adjusts = [adjustCfg];\n }\n each(adjusts, (adjust, index) => {\n if (!isObject(adjust)) {\n adjusts[index] = { type: adjust };\n }\n });\n\n this.adjustOption = adjusts;\n return this;\n }\n\n /**\n * 图形样式配置。\n *\n * @example\n * ```typescript\n * // 配置图形样式\n * style({\n * lineWidth: 2,\n * stroke: '#1890ff',\n * });\n *\n * // 根据具体的数据进行详细配置\n * style({\n * fields: [ 'x', 'y' ], // 数据字段\n * callback: (xVal, yVal) => {\n * const style = { lineWidth: 2, stroke: '#1890ff' };\n * if (xVal === 'a') {\n * style.lineDash = [ 2, 2 ];\n * }\n * return style;\n * },\n * });\n * ```\n *\n * @param field 配置样式属性或者样式规则。\n * @returns\n */\n public style(field: StyleOption | LooseObject): Geometry;\n /**\n * @example\n * ```typescript\n * style('x*y', (xVal, yVal) => {\n * const style = { lineWidth: 2, stroke: '#1890ff' };\n * if (xVal === 'a') {\n * style.lineDash = [ 2, 2 ];\n * }\n * return style;\n * });\n * ```\n *\n * @param field 数据字段或者样式配置规则。\n * @param styleFunc Optional, 样式配置回调函数。\n * @returns\n */\n public style(field: string, styleFunc: StyleCallback): Geometry;\n public style(field: StyleOption | LooseObject | string, styleFunc?: StyleCallback): Geometry {\n if (isString(field)) {\n const fields = parseFields(field);\n this.styleOption = {\n fields,\n callback: styleFunc,\n };\n } else {\n const { fields, callback, cfg } = field as StyleOption;\n if (fields || callback || cfg) {\n this.styleOption = field;\n } else {\n this.styleOption = {\n cfg: field,\n };\n }\n }\n\n return this;\n }\n\n /**\n * 配置 Geometry 显示的 tooltip 内容。\n *\n * `tooltip(false)` 代表关闭 tooltip。\n * `tooltip(true)` 代表开启 tooltip。\n *\n * Geometry 默认允许 tooltip 展示,我们可以使用以下方法对 tooltip 的展示内容进行配置:\n *\n * @example\n * ```typescript\n * // data: [{x: 'a', y: 10}]\n * tooltip({\n * fields: [ 'x' ],\n * });\n * ```\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*268uQ50if60AAAAAAAAAAABkARQnAQ)\n *\n * ```typescript\n * tooltip({\n * fields: [ 'x', 'y' ],\n * });\n * ```\n * ![](https://gw.alipayobjects.com/mdn/rms_2274c3/afts/img/A*A_ujSa8QhtcAAAAAAAAAAABkARQnAQ)\n *\n * tooltip() 方法同样支持数据映射及回调用法:\n *\n * @example\n * ```typescript\n * chart.tooltip({\n * itemTpl: '
        • {x}: {y}
        • ',\n * });\n *\n * chart.line()\n * .position('x*y')\n * .tooltip({\n * fields: [ 'x', 'y' ],\n * callback: (x, y) => {\n * return {\n * x,\n * y,\n * };\n * },\n * });\n * ```\n *\n * 其返回的值必须为对象,该值中的属性同 chart.tooltip() 的 itemTpl 模板相对应,返回的变量可用于 itemTpl 的字符串模板。\n *\n * @param field tooltip 配置信息。\n * @returns\n */\n public tooltip(field: GeometryTooltipOption | boolean): Geometry;\n /**\n * @example\n * ```typescript\n * // data: [{x: 'a', y: 10}]\n *\n * // 等同于 tooltip({ fields: [ 'x' ] })\n * tooltip('x');\n *\n * // 等同于 tooltip({ fields: [ 'x', 'y' ] })\n * tooltip('x*y');\n *\n * // 等同于 tooltip({ fields: [ 'x', 'y' ], callback: (x, y) => { x, y } })\n * tooltip('x*y', (x, y) => {\n * return {\n * x,\n * y,\n * };\n * });\n * ```\n *\n * @param field 参与映射的字段。\n * @param cfg Optional, 回调函数\n * @returns\n */\n public tooltip(field: string, cfg?: TooltipCallback): Geometry;\n public tooltip(field: GeometryTooltipOption | boolean | string, cfg?: TooltipCallback): Geometry {\n if (isString(field)) {\n const fields = parseFields(field);\n this.tooltipOption = {\n fields,\n callback: cfg,\n };\n } else {\n this.tooltipOption = field;\n }\n\n return this;\n }\n\n /**\n * Geometry 动画配置。\n *\n * + `animate(false)` 关闭动画\n * + `animate(true)` 开启动画,默认开启。\n *\n * 我们将动画分为四个场景:\n * 1. appear: 图表第一次加载时的入场动画;\n * 2. enter: 图表绘制完成,发生更新后,产生的新图形的进场动画;\n * 3. update: 图表绘制完成,数据发生变更后,有状态变更的图形的更新动画;\n * 4. leave: 图表绘制完成,数据发生变更后,被销毁图形的销毁动画。\n *\n * @example\n * ```typescript\n * animate({\n * enter: {\n * duration: 1000, // enter 动画执行时间\n * },\n * leave: false, // 关闭 leave 销毁动画\n * });\n * ```\n *\n * @param cfg 动画配置\n * @returns\n */\n public animate(cfg: AnimateOption | boolean): Geometry {\n this.animateOption = cfg;\n return this;\n }\n\n /**\n * Geometry label 配置。\n *\n * @example\n * ```ts\n * // data: [ {x: 1, y: 2, z: 'a'}, {x: 2, y: 2, z: 'b'} ]\n * // 在每个图形上显示 z 字段对应的数值\n * label({\n * fields: [ 'z' ]\n * });\n *\n * label(false); // 不展示 label\n *\n * // 在每个图形上显示 x 字段对应的数值,同时配置文本颜色为红色\n * label('x', {\n * style: {\n * fill: 'red',\n * },\n * })\n *\n * // 以 type 类型的 label 渲染每个图形上显示 x 字段对应的数值,同时格式化文本内容\n * label('x', (xValue) => {\n * return {\n * content: xValue + '%',\n * };\n * }, {\n * type: 'base' // 声明 label 类型\n * })\n * ```\n *\n * @param field\n * @returns label\n */\n public label(field: LabelOption | false | string): Geometry;\n public label(field: string, secondParam: GeometryLabelCfg | LabelCallback): Geometry;\n public label(field: string, secondParam: LabelCallback, thirdParam: GeometryLabelCfg): Geometry;\n public label(\n field: string | LabelOption | false,\n secondParam?: GeometryLabelCfg | LabelCallback,\n thirdParam?: GeometryLabelCfg\n ): Geometry {\n if (isString(field)) {\n const labelOption: LabelOption = {};\n const fields = parseFields(field);\n labelOption.fields = fields;\n if (isFunction(secondParam)) {\n labelOption.callback = secondParam;\n } else if (isPlainObject(secondParam)) {\n labelOption.cfg = secondParam;\n }\n\n if (thirdParam) {\n labelOption.cfg = thirdParam;\n }\n this.labelOption = labelOption;\n } else {\n this.labelOption = field;\n }\n\n return this;\n }\n\n /**\n * 设置状态对应的样式。\n *\n * @example\n * ```ts\n * chart.interval().state({\n * selected: {\n * animate: { duration: 100, easing: 'easeLinear' },\n * style: {\n * lineWidth: 2,\n * stroke: '#000',\n * },\n * },\n * });\n * ```\n *\n * 如果图形 shape 是由多个 shape 组成,即为一个 G.Group 对象,那么针对 group 中的每个 shape,我们需要使用下列方式进行状态样式设置:\n * 如果我们为 group 中的每个 shape 设置了 'name' 属性(shape.set('name', 'xx')),则以 'name' 作为 key,否则默认以索引值(即 shape 的 添加顺序)为 key。\n *\n * ```ts\n * chart.interval().shape('groupShape').state({\n * selected: {\n * style: {\n * 0: { lineWidth: 2 },\n * 1: { fillOpacity: 1 },\n * }\n * }\n * });\n * ```\n *\n * @param cfg 状态样式\n */\n public state(cfg: StateOption) {\n this.stateOption = cfg;\n return this;\n }\n\n /**\n * 初始化 Geomtry 实例:\n * 创建 [[Attribute]] and [[Scale]] 实例,进行数据处理,包括分组、数值化以及数据调整。\n */\n public init(cfg: InitCfg = {}) {\n this.setCfg(cfg);\n this.initAttributes(); // 创建图形属性\n\n // 数据加工:分组 -> 数字化 -> adjust\n this.processData(this.data);\n\n // 调整 scale\n this.adjustScale();\n }\n\n /**\n * Geometry 更新。\n * @param [cfg] 更新的配置\n */\n public update(cfg: InitCfg = {}) {\n const { data, isDataChanged, isCoordinateChanged } = cfg;\n const { attributeOption, lastAttributeOption } = this;\n\n if (!isEqual(attributeOption, lastAttributeOption)) {\n // 映射发生改变,则重新创建图形属性\n this.init(cfg);\n } else if (data && (isDataChanged || !isEqual(data, this.data))) {\n // 数据发生变化\n this.setCfg(cfg);\n this.processData(data); // 数据加工:分组 -> 数字化 -> adjust\n } else {\n // 有可能 coordinate 变化\n this.setCfg(cfg);\n }\n\n // 调整 scale\n this.adjustScale();\n this.isCoordinateChanged = isCoordinateChanged;\n }\n\n /**\n * 将原始数据映射至图形空间,同时创建图形对象。\n */\n public paint(isUpdate: boolean = false) {\n if (this.animateOption) {\n this.animateOption = deepMix({}, getDefaultAnimateCfg(this.type, this.coordinate), this.animateOption);\n }\n\n this.defaultSize = undefined;\n this.elements = [];\n this.elementsMap = {};\n const offscreenGroup = this.getOffscreenGroup();\n offscreenGroup.clear();\n\n const beforeMappingData = this.beforeMappingData;\n const dataArray = this.beforeMapping(beforeMappingData);\n\n const mappingArray = [];\n for (let index = 0, length = dataArray.length; index < length; index++) {\n const eachGroup = dataArray[index];\n const mappingData = this.mapping(eachGroup);\n mappingArray.push(mappingData);\n this.createElements(mappingData, index, isUpdate);\n }\n\n if (this.canDoGroupAnimation(isUpdate)) {\n // 如果用户没有配置 appear.animation,就默认走整体动画\n const container = this.container;\n const type = this.type;\n const coordinate = this.coordinate;\n const animateCfg = get(this.animateOption, 'appear');\n const yScale = this.getYScale();\n const yMinPoint = coordinate.convert({\n x: 0,\n y: yScale.scale(this.getYMinValue()),\n });\n doGroupAppearAnimate(container, animateCfg, type, coordinate, yMinPoint);\n }\n\n // 添加 label\n if (this.labelOption) {\n this.renderLabels(flatten(mappingArray), isUpdate);\n }\n\n this.dataArray = mappingArray;\n\n // 销毁被删除的 elements\n each(this.lastElementsMap, (deletedElement: Element) => {\n // 更新动画配置,用户有可能在更新之前有对动画进行配置操作\n deletedElement.animate = this.animateOption;\n deletedElement.destroy();\n });\n\n this.lastElementsMap = this.elementsMap;\n\n // 缓存,用于更新\n this.lastAttributeOption = {\n ...this.attributeOption,\n };\n\n if (this.visible === false) {\n // 用户在初始化的时候声明 visible: false\n this.changeVisible(false);\n }\n }\n\n /**\n * 清空当前 Geometry,配置项仍保留,但是内部创建的对象全部清空。\n * @override\n */\n public clear() {\n const { container, geometryLabel, offscreenGroup } = this;\n if (container) {\n container.clear();\n }\n\n if (geometryLabel) {\n geometryLabel.clear();\n }\n\n if (offscreenGroup) {\n offscreenGroup.clear();\n }\n\n // 属性恢复至出厂状态\n this.scaleDefs = undefined;\n this.attributes = {};\n this.scales = {};\n this.elementsMap = {};\n this.lastElementsMap = {};\n this.elements = [];\n this.adjusts = {};\n this.dataArray = null;\n this.beforeMappingData = null;\n this.lastAttributeOption = undefined;\n this.defaultSize = undefined;\n this.idFields = [];\n this.groupScales = undefined;\n this.hasSorted = false;\n this.isCoordinateChanged = false;\n }\n\n /**\n * 销毁 Geometry 实例。\n */\n public destroy() {\n this.clear();\n const container = this.container;\n container.remove(true);\n\n if (this.offscreenGroup) {\n this.offscreenGroup.remove(true);\n this.offscreenGroup = null;\n }\n\n if (this.geometryLabel) {\n this.geometryLabel.destroy();\n this.geometryLabel = null;\n }\n this.theme = undefined;\n this.shapeFactory = undefined;\n\n super.destroy();\n }\n\n /**\n * 获取决定分组的图形属性对应的 scale 实例。\n * @returns\n */\n public getGroupScales(): Scale[] {\n return this.groupScales;\n }\n\n /**\n * 根据名字获取图形属性实例。\n */\n public getAttribute(name: string): Attribute {\n return this.attributes[name];\n }\n\n /** 获取 x 轴对应的 scale 实例。 */\n public getXScale(): Scale {\n return this.getAttribute('position').scales[0];\n }\n\n /** 获取 y 轴对应的 scale 实例。 */\n public getYScale(): Scale {\n return this.getAttribute('position').scales[1];\n }\n\n /**\n * 获取决定分组的图形属性实例。\n */\n public getGroupAttributes(): Attribute[] {\n const rst = [];\n each(this.attributes, (attr: Attribute) => {\n if (GROUP_ATTRS.includes(attr.type)) {\n rst.push(attr);\n }\n });\n return rst;\n }\n\n /** 获取图形属性默认的映射值。 */\n public getDefaultValue(attrName: string) {\n let value: any;\n const attr = this.getAttribute(attrName);\n if (attr && isEmpty(attr.scales)) {\n // 获取映射至常量的值\n value = attr.values[0];\n }\n return value;\n }\n\n /**\n * 获取该数据发生图形映射后对应的 Attribute 图形空间数据。\n * @param attr Attribute 图形属性实例。\n * @param obj 需要进行映射的原始数据。\n * @returns\n */\n public getAttributeValues(attr: Attribute, obj: Datum) {\n const params = [];\n const scales = attr.scales;\n for (let index = 0, length = scales.length; index < length; index++) {\n const scale = scales[index];\n const field = scale.field;\n if (scale.isIdentity) {\n params.push(scale.values);\n } else {\n params.push(obj[field]);\n }\n }\n\n return attr.mapping(...params);\n }\n\n public getAdjust(adjustType: string) {\n return this.adjusts[adjustType];\n }\n\n /**\n * 获取 shape 对应的 marker 样式。\n * @param shapeName shape 具体名字\n * @param cfg marker 信息\n * @returns\n */\n public getShapeMarker(shapeName: string, cfg: ShapeMarkerCfg): ShapeMarkerAttrs {\n const shapeFactory = this.getShapeFactory();\n return shapeFactory.getMarker(shapeName, cfg);\n }\n\n /**\n * 根据一定的规则查找 Geometry 的 Elements。\n *\n * ```typescript\n * getElementsBy((element) => {\n * const data = element.getData();\n *\n * return data.a === 'a';\n * });\n * ```\n *\n * @param condition 定义查找规则的回调函数。\n * @returns\n */\n public getElementsBy(condition: (element: Element) => boolean): Element[] {\n return this.elements.filter((element) => {\n return condition(element);\n });\n }\n\n /**\n * 获取数据对应的唯一 id。\n * @param data Element 对应的绘制数据\n * @returns\n */\n public getElementId(data: MappingDatum | MappingDatum[]) {\n data = isArray(data) ? data[0] : data;\n const originData = data[FIELD_ORIGIN];\n\n // 如果用户声明了使用哪些字段作为 id 值\n if (this.idFields.length) {\n let elementId = originData[this.idFields[0]];\n for (let index = 1; index < this.idFields.length; index++) {\n elementId += '-' + originData[this.idFields[index]];\n }\n\n return elementId;\n }\n\n const type = this.type;\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xField = xScale.field || 'x';\n const yField = yScale.field || 'y';\n const yVal = originData[yField];\n let xVal;\n if (xScale.type === 'identity') {\n xVal = xScale.values[0];\n } else {\n xVal = originData[xField];\n }\n\n let id: string;\n if (type === 'interval' || type === 'schema') {\n id = xVal;\n } else if (type === 'line' || type === 'area' || type === 'path') {\n id = type;\n } else {\n id = `${xVal}-${yVal}`;\n }\n\n const groupScales = this.groupScales;\n for (let index = 0, length = groupScales.length; index < length; index++) {\n const groupScale = groupScales[index];\n const field = groupScale.field;\n id = `${id}-${originData[field]}`;\n }\n\n // 用户在进行 dodge 类型的 adjust 调整的时候设置了 dodgeBy 属性\n const dodgeAdjust = this.getAdjust('dodge');\n if (dodgeAdjust) {\n const dodgeBy = dodgeAdjust.dodgeBy;\n if (dodgeBy) {\n id = `${id}-${originData[dodgeBy]}`;\n }\n }\n\n if (this.getAdjust('jitter')) {\n id = `${id}-${data.x}-${data.y}`;\n }\n\n return id;\n }\n\n /**\n * 获取所有需要创建 scale 的字段名称。\n */\n public getScaleFields(): string[] {\n const fields = [];\n const tmpMap = {};\n const { attributeOption, labelOption, tooltipOption } = this;\n // 获取图形属性上的 fields\n for (const attributeType in attributeOption) {\n if (attributeOption.hasOwnProperty(attributeType)) {\n const eachOpt = attributeOption[attributeType];\n if (eachOpt.fields) {\n uniq(eachOpt.fields, fields, tmpMap);\n } else if (eachOpt.values) {\n // 考虑 size(10), shape('circle') 等场景\n uniq(eachOpt.values, fields, tmpMap);\n }\n }\n }\n // 获取 label 上的字段\n if (labelOption && labelOption.fields) {\n uniq(labelOption.fields, fields, tmpMap);\n }\n\n // 获取 tooltip 上的字段\n if (isObject(tooltipOption) && tooltipOption.fields) {\n uniq(tooltipOption.fields, fields, tmpMap);\n }\n\n return fields;\n }\n\n /**\n * 显示或者隐藏 geometry。\n * @param visible\n */\n public changeVisible(visible: boolean) {\n super.changeVisible(visible);\n const elements = this.elements;\n for (let index = 0, length = elements.length; index < length; index++) {\n const element = elements[index];\n element.changeVisible(visible);\n }\n if (visible) {\n if (this.container) {\n this.container.show();\n }\n if (this.labelsContainer) {\n this.labelsContainer.show();\n }\n } else {\n if (this.container) {\n this.container.hide();\n }\n if (this.labelsContainer) {\n this.labelsContainer.hide();\n }\n }\n }\n\n /**\n * 获取当前配置中的所有分组 & 分类的字段。\n * @return fields string[]\n */\n public getGroupFields(): string[] {\n const groupFields = [];\n const tmpMap = {}; // 用于去重过滤\n for (let index = 0, length = GROUP_ATTRS.length; index < length; index++) {\n const attributeName = GROUP_ATTRS[index];\n const cfg = this.attributeOption[attributeName];\n if (cfg && cfg.fields) {\n uniq(cfg.fields, groupFields, tmpMap);\n }\n }\n\n return groupFields;\n }\n\n /**\n * 获得图形的 x y 字段。\n */\n public getXYFields() {\n const [x, y] = this.attributeOption.position.fields;\n return [x, y];\n }\n\n /**\n * 获取该 Geometry 下所有生成的 shapes。\n * @returns shapes\n */\n public getShapes(): (IShape | IGroup)[] {\n return this.elements.map((element: Element) => element.shape);\n }\n\n /**\n * 获取虚拟 Group。\n * @returns\n */\n public getOffscreenGroup() {\n if (!this.offscreenGroup) {\n const GroupCtor = this.container.getGroupBase(); // 获取分组的构造函数\n this.offscreenGroup = new GroupCtor({});\n }\n return this.offscreenGroup;\n }\n\n // 对数据进行排序\n public sort(mappingArray: Data[]) {\n if (!this.hasSorted) {\n // 未发生过排序\n const xScale = this.getXScale();\n const xField = xScale.field;\n for (let index = 0; index < mappingArray.length; index++) {\n const itemArr = mappingArray[index];\n itemArr.sort((obj1: Datum, obj2: Datum) => {\n return xScale.translate(obj1[FIELD_ORIGIN][xField]) - xScale.translate(obj2[FIELD_ORIGIN][xField]);\n });\n }\n }\n\n this.hasSorted = true;\n }\n\n /**\n * 调整度量范围。主要针对发生层叠以及一些特殊需求的 Geometry,比如 Interval 下的柱状图 Y 轴默认从 0 开始。\n */\n protected adjustScale() {\n const yScale = this.getYScale();\n // 如果数据发生过 stack adjust,需要调整下 yScale 的数据范围\n if (yScale && this.getAdjust('stack')) {\n this.updateStackRange(yScale, this.beforeMappingData);\n }\n }\n\n /**\n * 获取当前 Geometry 对应的 Shape 工厂实例。\n */\n protected getShapeFactory() {\n const shapeType = this.shapeType;\n if (!getShapeFactory(shapeType)) {\n return;\n }\n if (!this.shapeFactory) {\n this.shapeFactory = clone(getShapeFactory(shapeType)); // 防止多个 view 共享一个 shapeFactory 实例,导致 coordinate 被篡改\n }\n // 因为这里缓存了 shapeFactory,但是外部可能会变更 coordinate,导致无法重新设置到 shapeFactory 中\n this.shapeFactory.coordinate = this.coordinate;\n // theme 原因同上\n this.shapeFactory.theme = this.theme.geometries[shapeType] || {};\n\n return this.shapeFactory;\n }\n\n /**\n * 获取每个 Shape 对应的关键点数据。\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum): ShapePoint {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const x = this.normalizeValues(obj[xScale.field], xScale);\n let y; // 存在没有 y 的情况\n\n if (yScale) {\n y = this.normalizeValues(obj[yScale.field], yScale);\n } else {\n y = obj.y ? obj.y : 0.1;\n }\n\n return {\n x,\n y,\n y0: yScale ? yScale.scale(this.getYMinValue()) : undefined,\n };\n }\n\n /**\n * 创建 Element 实例。\n * @param mappingDatum Element 对应的绘制数据\n * @param [isUpdate] 是否处于更新阶段\n * @returns element 返回创建的 Element 实例\n */\n protected createElement(mappingDatum: MappingDatum, isUpdate: boolean = false): Element {\n const { container } = this;\n\n const shapeCfg = this.getDrawCfg(mappingDatum); // 获取绘制图形的配置信息\n const shapeFactory = this.getShapeFactory();\n\n const element = new Element({\n shapeFactory,\n container,\n offscreenGroup: this.getOffscreenGroup(),\n });\n element.animate = this.animateOption;\n element.geometry = this;\n element.draw(shapeCfg, isUpdate); // 绘制\n\n return element;\n }\n\n /**\n * 获取每条数据对应的图形绘制数据。\n * @param mappingDatum 映射后的数据\n * @returns draw cfg\n */\n protected getDrawCfg(mappingDatum: MappingDatum): ShapeInfo {\n const originData = mappingDatum[FIELD_ORIGIN]; // 原始数据\n const cfg: ShapeInfo = {\n mappingData: mappingDatum, // 映射后的数据\n data: originData, // 原始数据\n x: mappingDatum.x,\n y: mappingDatum.y,\n color: mappingDatum.color,\n size: mappingDatum.size,\n isInCircle: this.coordinate.isPolar,\n };\n\n let shapeName = mappingDatum.shape;\n if (!shapeName && this.getShapeFactory()) {\n shapeName = this.getShapeFactory().defaultShapeType;\n }\n cfg.shape = shapeName;\n // 获取默认样式\n const theme = this.theme.geometries[this.shapeType];\n cfg.defaultStyle = get(theme, [shapeName, 'default'], {}).style;\n\n const styleOption = this.styleOption;\n if (styleOption) {\n cfg.style = this.getStyleCfg(styleOption, originData);\n }\n if (this.generatePoints) {\n cfg.points = mappingDatum.points;\n cfg.nextPoints = mappingDatum.nextPoints;\n }\n\n return cfg;\n }\n\n /**\n * 创建所有的 Elements。\n * @param mappingData\n * @param [isUpdate]\n * @returns elements\n */\n protected createElements(mappingData: MappingDatum[], index: number, isUpdate: boolean = false): Element[] {\n const { lastElementsMap, elementsMap, elements } = this;\n for (let subIndex = 0, length = mappingData.length; subIndex < length; subIndex++) {\n const mappingDatum = mappingData[subIndex];\n let id = this.getElementId(mappingDatum);\n if (elementsMap[id]) {\n // 存在重复数据,则根据再根据 index 进行区分\n id = `${id}-${index}-${subIndex}`;\n }\n\n let result = lastElementsMap[id];\n if (!result) {\n // 创建新的 element\n result = this.createElement(mappingDatum, isUpdate);\n } else {\n // element 已经创建\n const currentShapeCfg = this.getDrawCfg(mappingDatum);\n const preShapeCfg = result.getModel();\n if (this.isCoordinateChanged || isModelChange(currentShapeCfg, preShapeCfg)) {\n result.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n result.update(currentShapeCfg); // 更新对应的 element\n }\n\n delete lastElementsMap[id];\n }\n\n elements.push(result);\n elementsMap[id] = result;\n }\n\n return elements;\n }\n\n /**\n * 获取渲染的 label 类型。\n */\n protected getLabelType(): string {\n const { labelOption, coordinate, type } = this;\n const coordinateType = coordinate.type;\n let labelType = get(labelOption, ['cfg', 'type']);\n if (!labelType) {\n // 用户未定义,则进行默认的逻辑\n if (coordinateType === 'polar') {\n // 极坐标下使用通用的极坐标文本\n labelType = 'polar';\n } else if (coordinateType === 'theta') {\n // theta 坐标系下使用饼图文本\n labelType = 'pie';\n } else if (type === 'interval' || type === 'polygon') {\n labelType = 'interval';\n } else {\n labelType = 'base';\n }\n }\n\n return labelType;\n }\n\n /**\n * 获取 Y 轴上的最小值。\n */\n protected getYMinValue(): number {\n const yScale = this.getYScale();\n const { min, max } = yScale;\n let value: number;\n\n if (min >= 0) {\n value = min;\n } else if (max <= 0) {\n // 当值全位于负区间时,需要保证 ymin 在区域内,不可为 0\n value = max;\n } else {\n value = 0;\n }\n return value;\n }\n\n // 创建图形属性相关的配置项\n private createAttrOption(attrName: string, field: AttributeOption | string | number, cfg?) {\n if (isNil(field) || isObject(field)) {\n if (isObject(field) && isEqual(Object.keys(field), ['values'])) {\n // shape({ values: [ 'funnel' ] })\n set(this.attributeOption, attrName, {\n fields: field.values,\n });\n } else {\n set(this.attributeOption, attrName, field);\n }\n } else {\n const attrCfg: AttributeOption = {};\n if (isNumber(field)) {\n // size(3)\n attrCfg.values = [field];\n } else {\n attrCfg.fields = parseFields(field);\n }\n\n if (cfg) {\n if (isFunction(cfg)) {\n attrCfg.callback = cfg;\n } else {\n attrCfg.values = cfg;\n }\n }\n\n set(this.attributeOption, attrName, attrCfg);\n }\n }\n\n private initAttributes() {\n const { attributes, attributeOption, theme, shapeType } = this;\n this.groupScales = [];\n const tmpMap = {};\n\n // 遍历每一个 attrOption,各自创建 Attribute 实例\n for (const attrType in attributeOption) {\n if (attributeOption.hasOwnProperty(attrType)) {\n const option: AttributeOption = attributeOption[attrType];\n if (!option) {\n return;\n }\n const attrCfg: AttributeInstanceCfg = {\n ...option,\n };\n const { callback, values, fields = [] } = attrCfg;\n\n // 获取每一个字段对应的 scale\n const scales = fields.map((field) => {\n const scale = this.scales[field];\n if (scale.isCategory && !tmpMap[field] && GROUP_ATTRS.includes(attrType)) {\n this.groupScales.push(scale);\n tmpMap[field] = true;\n }\n return scale;\n });\n\n attrCfg.scales = scales;\n\n if (attrType !== 'position' && scales.length === 1 && scales[0].type === 'identity') {\n // 用户在图形通道上声明了常量字段 color('red'), size(5)\n attrCfg.values = scales[0].values;\n } else if (!callback && !values) {\n // 用户没有指定任何规则,则使用默认的映射规则\n if (attrType === 'size') {\n attrCfg.values = theme.sizes;\n } else if (attrType === 'shape') {\n attrCfg.values = theme.shapes[shapeType] || [];\n } else if (attrType === 'color') {\n if (scales.length) {\n // 根据数值个数使用对应的色板\n attrCfg.values = scales[0].values.length <= 10 ? theme.colors10 : theme.colors20;\n } else {\n attrCfg.values = theme.colors10;\n }\n }\n }\n const AttributeCtor = getAttributeClass(attrType);\n attributes[attrType] = new AttributeCtor(attrCfg);\n }\n }\n }\n\n // 处理数据:分组 -> 数字化 -> adjust 调整\n private processData(data: Data) {\n this.hasSorted = false;\n const { scales } = this.getAttribute('position');\n const categoryScales = scales.filter((scale: Scale) => scale.isCategory);\n\n const groupedArray = this.groupData(data); // 数据分组\n const beforeAdjust = [];\n for (let i = 0, len = groupedArray.length; i < len; i++) {\n const subData = groupedArray[i];\n const arr = [];\n for (let j = 0, subLen = subData.length; j < subLen; j++) {\n const originData = subData[j];\n const item = {};\n // tslint:disable-next-line: forin\n for (const k in originData) {\n item[k] = originData[k];\n }\n item[FIELD_ORIGIN] = originData;\n\n // 将分类数据翻译成数据, 仅对位置相关的度量进行数字化处理\n for (const scale of categoryScales) {\n const field = scale.field;\n item[field] = scale.translate(item[field]);\n }\n arr.push(item);\n }\n beforeAdjust.push(arr);\n }\n\n const dataArray = this.adjustData(beforeAdjust); // 进行 adjust 数据调整\n this.beforeMappingData = dataArray;\n\n return dataArray;\n }\n\n // 调整数据\n private adjustData(dataArray: Data[]): Data[] {\n const adjustOption = this.adjustOption;\n let result = dataArray;\n if (adjustOption) {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xField = xScale.field;\n const yField = yScale ? yScale.field : null;\n for (let i = 0, len = adjustOption.length; i < len; i++) {\n const adjust = adjustOption[i];\n const adjustCfg: AdjustInstanceCfg = {\n xField,\n yField,\n ...adjust,\n };\n const type = adjust.type;\n if (type === 'dodge') {\n const adjustNames = [];\n if (xScale.isCategory || xScale.type === 'identity') {\n adjustNames.push('x');\n } else if (!yScale) {\n adjustNames.push('y');\n } else {\n throw new Error('dodge is not support linear attribute, please use category attribute!');\n }\n adjustCfg.adjustNames = adjustNames;\n // 每个分组内每条柱子的宽度占比,用户不可指定,用户需要通过 columnWidthRatio 指定\n adjustCfg.dodgeRatio = this.theme.columnWidthRatio;\n } else if (type === 'stack') {\n const coordinate = this.coordinate;\n if (!yScale) {\n // 一维的情况下获取高度和默认size\n adjustCfg.height = coordinate.getHeight();\n const size = this.getDefaultValue('size') || 3;\n adjustCfg.size = size;\n }\n // 不进行 transpose 时,用户又没有设置这个参数时,默认从上向下\n if (!coordinate.isTransposed && isNil(adjustCfg.reverseOrder)) {\n adjustCfg.reverseOrder = true;\n }\n }\n const adjustCtor = getAdjustClass(type);\n const adjustInstance = new adjustCtor(adjustCfg);\n\n result = adjustInstance.process(result);\n\n this.adjusts[type] = adjustInstance;\n }\n }\n\n return result;\n }\n\n // 对数据进行分组\n private groupData(data: Data): Data[] {\n const groupScales = this.getGroupScales();\n const scaleDefs = this.scaleDefs;\n const appendConditions = {};\n const groupFields = [];\n for (let index = 0; index < groupScales.length; index++) {\n const scale = groupScales[index];\n const field = scale.field;\n groupFields.push(field);\n if (get(scaleDefs, [field, 'values'])) {\n // 用户通过 view.scale() 接口指定了 values 属性\n appendConditions[field] = scaleDefs[field].values;\n }\n }\n\n return group(data, groupFields, appendConditions);\n }\n\n // 更新发生层叠后的数据对应的度量范围\n private updateStackRange(scale: Scale, dataArray: Data[]) {\n const mergeArray = flatten(dataArray);\n const field = scale.field;\n let min = scale.min;\n let max = scale.max;\n for (let index = 0; index < mergeArray.length; index++) {\n const obj = mergeArray[index];\n const tmpMin = Math.min.apply(null, obj[field]);\n const tmpMax = Math.max.apply(null, obj[field]);\n if (tmpMin < min) {\n min = tmpMin;\n }\n if (tmpMax > max) {\n max = tmpMax;\n }\n }\n const scaleDefs = this.scaleDefs;\n const cfg: LooseObject = {};\n if (min < scale.min && !get(scaleDefs, [field, 'min'])) {\n // 用户如果在列定义中定义了 min,则以用户定义的为准\n cfg.min = min;\n }\n if (max > scale.max && !get(scaleDefs, [field, 'max'])) {\n // 用户如果在列定义中定义了 max\n cfg.max = max;\n }\n\n scale.change(cfg);\n }\n\n // 将数据映射至图形空间前的操作:排序以及关键点的生成\n private beforeMapping(beforeMappingData: Data[]) {\n // 当初加 clone 是因为 points 的引用关系,导致更新失败,可是现在貌似复现不出来了,所以暂时不进行 clone\n // const source = clone(beforeMappingData);\n const source = beforeMappingData;\n if (this.sortable) {\n this.sort(source);\n }\n if (this.generatePoints) {\n // 需要生成关键点\n for (let index = 0, length = source.length; index < length; index++) {\n const currentData = source[index];\n this.generateShapePoints(currentData);\n const nextData = source[index + 1];\n if (nextData) {\n this.generateShapePoints(nextData);\n currentData[0].nextPoints = nextData[0].points;\n }\n }\n }\n\n return source;\n }\n\n // 生成 shape 的关键点\n private generateShapePoints(data: Data) {\n const shapeFactory = this.getShapeFactory();\n const shapeAttr = this.getAttribute('shape');\n for (let index = 0; index < data.length; index++) {\n const obj = data[index];\n const cfg = this.createShapePointsCfg(obj);\n const shape = shapeAttr ? this.getAttributeValues(shapeAttr, obj) : null;\n const points = shapeFactory.getShapePoints(shape, cfg);\n obj.points = points;\n }\n }\n\n // 将数据归一化\n private normalizeValues(values, scale) {\n let rst = [];\n if (isArray(values)) {\n for (let index = 0; index < values.length; index++) {\n const value = values[index];\n rst.push(scale.scale(value));\n }\n } else {\n rst = scale.scale(values);\n }\n return rst;\n }\n\n // 将数据映射至图形空间\n private mapping(data: Data): MappingDatum[] {\n const attributes = this.attributes;\n const mappingData = [];\n for (let index = 0; index < data.length; index++) {\n const record = data[index];\n const newRecord: MappingDatum = {\n _origin: record[FIELD_ORIGIN],\n points: record.points,\n nextPoints: record.nextPoints,\n };\n for (const k in attributes) {\n if (attributes.hasOwnProperty(k)) {\n const attr = attributes[k];\n const names = attr.names;\n const values = this.getAttributeValues(attr, record);\n if (names.length > 1) {\n // position 之类的生成多个字段的属性\n for (let j = 0; j < values.length; j += 1) {\n const val = values[j];\n const name = names[j];\n newRecord[name] = isArray(val) && val.length === 1 ? val[0] : val; // 只有一个值时返回第一个属性值\n }\n } else {\n // values.length === 1 的判断是以下情况,获取用户设置的图形属性值\n // shape('a', ['dot', 'dash']), color('a', ['red', 'yellow'])\n newRecord[names[0]] = values.length === 1 ? values[0] : values;\n }\n }\n }\n\n this.convertPoint(newRecord); // 将 x、y 转换成画布坐标\n mappingData.push(newRecord);\n }\n\n return mappingData;\n }\n\n // 将归一化的坐标值转换成画布坐标\n private convertPoint(mappingRecord: MappingDatum) {\n const { x, y } = mappingRecord;\n\n let rstX;\n let rstY;\n let obj;\n const coordinate = this.coordinate;\n if (isArray(x) && isArray(y)) {\n rstX = [];\n rstY = [];\n for (let i = 0, j = 0, xLen = x.length, yLen = y.length; i < xLen && j < yLen; i += 1, j += 1) {\n obj = coordinate.convert({\n x: x[i],\n y: y[j],\n });\n rstX.push(obj.x);\n rstY.push(obj.y);\n }\n } else if (isArray(y)) {\n rstY = [];\n for (let index = 0; index < y.length; index++) {\n const yVal = y[index];\n obj = coordinate.convert({\n x: x as number,\n y: yVal,\n });\n if (rstX && rstX !== obj.x) {\n if (!isArray(rstX)) {\n rstX = [rstX];\n }\n rstX.push(obj.x);\n } else {\n rstX = obj.x;\n }\n rstY.push(obj.y);\n }\n } else if (isArray(x)) {\n rstX = [];\n for (let index = 0; index < x.length; index++) {\n const xVal = x[index];\n obj = coordinate.convert({\n x: xVal,\n y,\n });\n if (rstY && rstY !== obj.y) {\n if (!isArray(rstY)) {\n rstY = [rstY];\n }\n rstY.push(obj.y);\n } else {\n rstY = obj.y;\n }\n rstX.push(obj.x);\n }\n } else {\n const point = coordinate.convert({\n x,\n y,\n });\n rstX = point.x;\n rstY = point.y;\n }\n mappingRecord.x = rstX;\n mappingRecord.y = rstY;\n }\n\n // 获取 style 配置\n private getStyleCfg(styleOption: StyleOption, originData: Datum) {\n const { fields = [], callback, cfg } = styleOption;\n if (cfg) {\n // 用户直接配置样式属性\n return cfg;\n }\n\n const params = fields.map((field) => {\n return originData[field];\n });\n\n return callback(...params);\n }\n\n private setCfg(cfg: InitCfg) {\n const { coordinate, data, theme, scaleDefs } = cfg;\n if (coordinate) {\n this.coordinate = coordinate;\n }\n if (data) {\n this.data = data;\n }\n if (scaleDefs) {\n this.scaleDefs = scaleDefs;\n this.idFields = [];\n each(scaleDefs, (scaleDef, field) => {\n if (scaleDef && scaleDef.key) {\n this.idFields.push(field);\n }\n });\n }\n if (theme) {\n this.theme = this.userTheme ? deepMix({}, theme, this.userTheme) : theme; // 支持 geometry 层级的主题设置\n }\n }\n\n private renderLabels(mappingArray: MappingDatum[], isUpdate: boolean = false) {\n let geometryLabel = this.geometryLabel;\n\n if (!geometryLabel) {\n // 初次创建\n const labelType = this.getLabelType();\n const GeometryLabelsCtor = getGeometryLabel(labelType);\n geometryLabel = new GeometryLabelsCtor(this);\n this.geometryLabel = geometryLabel;\n }\n geometryLabel.render(mappingArray, isUpdate);\n\n // 将 label 同 element 进行关联\n const labelsMap = geometryLabel.labelsRenderer.shapesMap;\n each(this.elementsMap, (element: Element, id) => {\n const labels = filterLabelsById(id, labelsMap); // element 实例同 label 进行绑定\n if (labels.length) {\n element.labelShape = labels;\n for (let i = 0; i < labels.length; i++) {\n const label = labels[i];\n const labelChildren = label.getChildren();\n for (let j = 0; j < labelChildren.length; j++) {\n const child = labelChildren[j];\n child.cfg.name = ['element', 'label'];\n child.cfg.element = element;\n }\n }\n }\n });\n }\n /**\n * 是否需要进行群组入场动画\n * 规则:\n * 1. 如果发生更新,则不进行\n * 2. 如果用户关闭 geometry 动画,则不进行\n * 3. 如果用户关闭了 appear 动画,则不进行\n * 4. 如果用户配置了 appear.animation,则不进行\n */\n private canDoGroupAnimation(isUpdate: boolean) {\n return (\n !isUpdate &&\n this.animateOption &&\n (get(this.animateOption, 'appear') === undefined ||\n (get(this.animateOption, 'appear') && get(this.animateOption, ['appear', 'animation']) === undefined))\n );\n }\n}\n","import { groupToMap } from '@antv/util';\nimport { Data } from '../../interface';\n\n/** @ignore */\nexport function group(data: Data, fields: string[], appendConditions: Record = {}) {\n if (!fields) {\n return [data];\n }\n const groups = groupToMap(data, fields);\n const array = [];\n if (fields.length === 1 && appendConditions[fields[0]]) {\n const values = appendConditions[fields[0]];\n for (const value of values) {\n const arr = groups[`_${value}`];\n if (arr) {\n // 可能存在用户设置 values ,但是数据中没有对应的字段,则这时候 arr 就为 null\n array.push(arr);\n }\n }\n } else {\n for (const k in groups) {\n if (groups.hasOwnProperty(k)) {\n const eachGroup = groups[k];\n array.push(eachGroup);\n }\n }\n }\n\n return array;\n}\n","import { ext } from '@antv/matrix-util';\nimport { IGroup, IShape } from '../dependents';\n\nconst transform: (m: number[], actions: any[][]) => number[] = ext.transform;\n\nexport { transform };\n\n/**\n * 对元素进行平移操作。\n * @param element 进行变换的元素\n * @param x x 方向位移\n * @param y y 方向位移\n */\nexport function translate(element: IGroup | IShape, x: number, y: number) {\n const matrix = transform(element.getMatrix(), [['t', x, y]]);\n element.setMatrix(matrix);\n}\n\n/**\n * 对元素进行旋转操作。\n * @param element 进行变换的元素\n * @param rotateRadian 旋转弧度\n */\nexport function rotate(element: IGroup | IShape, rotateRadian: number) {\n const { x, y } = element.attr();\n const matrix = transform(element.getMatrix(), [\n ['t', -x, -y],\n ['r', rotateRadian],\n ['t', x, y],\n ]);\n element.setMatrix(matrix);\n}\n\n/**\n * 获取元矩阵。\n * @returns identity matrix\n */\nexport function getIdentityMatrix(): number[] {\n return [1, 0, 0, 0, 1, 0, 0, 0, 1];\n}\n\n/**\n * 围绕图形中心点进行缩放\n * @param element 进行缩放的图形元素\n * @param ratio 缩放比例\n */\nexport function zoom(element: IGroup | IShape, ratio: number) {\n const bbox = element.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n element.applyToMatrix([x, y, 1]);\n\n const matrix = transform(element.getMatrix(), [\n ['t', -x, -y],\n ['s', ratio, ratio],\n ['t', x, y],\n ]);\n element.setMatrix(matrix);\n}\n","import { deepMix, each, get, isArray } from '@antv/util';\nimport { BBox, Coordinate, IGroup, IShape } from '../dependents';\nimport { LabelItem } from '../geometry/label/interface';\nimport { AnimateOption, GeometryLabelLayoutCfg } from '../interface';\n\nimport { doAnimate } from '../animate';\nimport { getGeometryLabelLayout } from '../geometry/label';\nimport { getReplaceAttrs, polarToCartesian } from '../util/graphics';\nimport { rotate, translate } from '../util/transform';\n\n/**\n * Labels 实例创建时,传入构造函数的参数定义\n */\nexport interface LabelsGroupCfg {\n /** label 容器 */\n container: IGroup;\n /** label 布局配置 */\n layout?: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n}\n\n/**\n * Geometry labels 渲染组件\n */\nexport default class Labels {\n /** 用于指定 labels 布局的类型 */\n public layout: GeometryLabelLayoutCfg | GeometryLabelLayoutCfg[];\n /** 图形容器 */\n public container: IGroup;\n /** 动画配置 */\n public animate: AnimateOption | false;\n /** label 绘制的区域 */\n public region: BBox;\n\n /** 存储当前 shape 的映射表,键值为 shape id */\n public shapesMap: Record = {};\n private lastShapesMap: Record = {};\n\n constructor(cfg: LabelsGroupCfg) {\n const { layout, container } = cfg;\n\n this.layout = layout;\n this.container = container;\n }\n\n /**\n * 渲染文本\n */\n public render(items: LabelItem[], shapes: Record, isUpdate: boolean = false) {\n this.shapesMap = {};\n const container = this.container;\n const offscreenGroup = this.createOffscreenGroup(); // 创建虚拟分组\n if (items.length) {\n // 如果 items 空的话就不进行绘制调整操作\n // step 1: 在虚拟 group 中创建 shapes\n for (const item of items) {\n if (item) {\n this.renderLabel(item, offscreenGroup);\n }\n }\n // step 2: 根据布局,调整 labels\n this.doLayout(items, shapes);\n // step 3: 绘制 labelLine\n this.renderLabelLine(items);\n // step 4: 根据用户设置的偏移量调整 label\n this.adjustLabel(items);\n }\n\n // 进行添加、更新、销毁操作\n const lastShapesMap = this.lastShapesMap;\n const shapesMap = this.shapesMap;\n each(shapesMap, (shape, id) => {\n if (shape.destroyed) {\n // label 在布局调整环节被删除了(doLayout)\n delete shapesMap[id];\n } else {\n if (lastShapesMap[id]) {\n // 图形发生更新\n const data = shape.get('data');\n const origin = shape.get('origin');\n const coordinate = shape.get('coordinate');\n const currentShape = lastShapesMap[id]; // 已经在渲染树上的 shape\n const currentAnimateCfg = shape.get('animateCfg');\n currentShape.set('data', data);\n currentShape.set('origin', origin);\n currentShape.set('animateCfg', currentAnimateCfg);\n currentShape.set('coordinate', coordinate);\n\n const updateAnimateCfg = get(currentAnimateCfg, 'update');\n const currentChildren = currentShape.getChildren();\n shape.getChildren().map((child, index) => {\n const currentChild = currentChildren[index] as IShape;\n currentChild.set('data', data);\n currentChild.set('origin', origin);\n currentChild.set('animateCfg', currentAnimateCfg);\n currentChild.set('coordinate', coordinate);\n\n const newAttrs = getReplaceAttrs(currentChild, child);\n if (updateAnimateCfg) {\n doAnimate(currentChild, updateAnimateCfg, {\n toAttrs: newAttrs,\n coordinate,\n });\n } else {\n currentChild.attr(newAttrs);\n }\n });\n\n this.shapesMap[id] = currentShape; // 保存引用\n } else {\n // 新生成的 shape\n container.add(shape);\n\n const animateCfg = get(shape.get('animateCfg'), isUpdate ? 'enter' : 'appear');\n if (animateCfg) {\n doAnimate(shape, animateCfg, {\n toAttrs: {\n ...shape.attr(),\n },\n coordinate: shape.get('coordinate'),\n });\n }\n }\n delete lastShapesMap[id];\n }\n });\n\n // 移除\n each(lastShapesMap, (deleteShape) => {\n const animateCfg = get(deleteShape.get('animateCfg'), 'leave');\n if (animateCfg) {\n doAnimate(deleteShape, animateCfg, {\n toAttrs: null,\n coordinate: deleteShape.get('coordinate'),\n });\n } else {\n deleteShape.remove(true); // 移除\n }\n });\n\n this.lastShapesMap = shapesMap;\n offscreenGroup.destroy();\n }\n\n /** 清楚当前 labels */\n public clear() {\n this.container.clear();\n this.shapesMap = {};\n this.lastShapesMap = {};\n }\n\n /** 销毁 */\n public destroy() {\n this.container.destroy();\n this.shapesMap = null;\n this.lastShapesMap = null;\n }\n\n private renderLabel(cfg: LabelItem, container: IGroup) {\n const { id, data, mappingData, coordinate, animate, content } = cfg;\n const shapeAppendCfg = {\n id,\n data,\n origin: mappingData,\n coordinate,\n };\n const labelGroup = container.addGroup({\n name: 'label',\n // 如果 this.animate === false 或者 cfg.animate === false/null 则不进行动画,否则进行动画配置的合并\n animateCfg:\n this.animate === false || animate === null || animate === false ? false : deepMix({}, this.animate, animate),\n ...shapeAppendCfg,\n });\n let labelShape;\n if ((content.isGroup && content.isGroup()) || (content.isShape && content.isShape())) {\n // 如果 content 是 Group 或者 Shape,根据 textAlign 调整位置后,直接将其加入 labelGroup\n const { width, height } = content.getCanvasBBox();\n const textAlign = get(cfg, 'textAlign', 'left');\n\n let x = cfg.x;\n const y = cfg.y - height / 2;\n\n if (textAlign === 'center') {\n x = x - width / 2;\n } else if (textAlign === 'right' || textAlign === 'end') {\n x = x - width;\n }\n\n translate(content, x, y); // 将 label 平移至 x, y 指定的位置\n labelShape = content;\n labelGroup.add(content);\n } else {\n labelShape = labelGroup.addShape('text', {\n attrs: {\n x: cfg.x,\n y: cfg.y,\n textAlign: cfg.textAlign,\n textBaseline: get(cfg, 'textBaseline', 'middle'),\n text: cfg.content,\n ...cfg.style,\n },\n ...shapeAppendCfg,\n });\n }\n\n if (cfg.rotate) {\n rotate(labelShape, cfg.rotate);\n }\n this.shapesMap[id] = labelGroup;\n }\n\n // 根据type对label布局\n private doLayout(items: LabelItem[], shapes: Record) {\n if (this.layout) {\n const layouts = isArray(this.layout) ? this.layout : [this.layout];\n each(layouts, (layout: GeometryLabelLayoutCfg) => {\n const layoutFn = getGeometryLabelLayout(get(layout, 'type', ''));\n if (layoutFn) {\n const labelShapes = [];\n const geometryShapes = [];\n each(this.shapesMap, (labelShape, id) => {\n labelShapes.push(labelShape);\n geometryShapes.push(shapes[id]);\n });\n\n layoutFn(items, labelShapes, geometryShapes, this.region, layout.cfg);\n }\n });\n }\n }\n\n private renderLabelLine(labelItems: LabelItem[]) {\n each(labelItems, (labelItem) => {\n const coordinate: Coordinate = get(labelItem, 'coordinate');\n if (!labelItem || !coordinate) {\n return;\n }\n const center = coordinate.getCenter();\n const radius = coordinate.getRadius();\n if (!labelItem.labelLine) {\n // labelLine: null | false,关闭 label 对应的 labelLine\n return;\n }\n const labelLineCfg = get(labelItem, 'labelLine', {});\n const id = labelItem.id;\n let path = labelLineCfg.path;\n if (!path) {\n const start = polarToCartesian(center.x, center.y, radius, labelItem.angle);\n path = [\n ['M', start.x, start.y],\n ['L', labelItem.x, labelItem.y],\n ];\n }\n const labelGroup = this.shapesMap[id];\n if (!labelGroup.destroyed) {\n labelGroup.addShape('path', {\n capture: false, // labelLine 默认不参与事件捕获\n attrs: {\n path,\n stroke: labelItem.color ? labelItem.color : get(labelItem, ['style', 'fill'], '#000'),\n fill: null,\n ...labelLineCfg.style,\n },\n id,\n origin: labelItem.mappingData,\n data: labelItem.data,\n coordinate: labelItem.coordinate,\n });\n }\n });\n }\n\n private createOffscreenGroup() {\n const container = this.container;\n const GroupClass = container.getGroupBase(); // 获取分组的构造函数\n const newGroup = new GroupClass({});\n return newGroup;\n }\n\n private adjustLabel(items: LabelItem[]) {\n each(items, (item) => {\n if (item) {\n const id = item.id;\n const labelGroup = this.shapesMap[id];\n if (!labelGroup.destroyed) {\n const labelShape = labelGroup.find((ele) => ele.get('type') === 'text');\n if (labelShape) {\n if (item.offsetX) {\n labelShape.attr('x', labelShape.attr('x') + item.offsetX);\n }\n if (item.offsetY) {\n labelShape.attr('y', labelShape.attr('y') + item.offsetY);\n }\n }\n }\n }\n });\n }\n}\n","import { deepMix, each, get, isArray, isFunction, isNil, isUndefined } from '@antv/util';\n\nimport { FIELD_ORIGIN } from '../../constant';\nimport { Scale } from '../../dependents';\nimport { Datum, LabelOption, MappingDatum, Point } from '../../interface';\nimport { LabelCfg, LabelItem, LabelPointCfg, TextAlign } from './interface';\n\nimport { getDefaultAnimateCfg } from '../../animate';\nimport { getPolygonCentroid } from '../../util/graphics';\n\nimport Labels from '../../component/labels';\nimport Geometry from '../base';\nimport Element from '../element';\n\nexport type GeometryLabelConstructor = new (cfg: any) => GeometryLabel;\n\nfunction avg(arr: number[]) {\n let sum = 0;\n each(arr, (value: number) => {\n sum += value;\n });\n return sum / arr.length;\n}\n\n/**\n * Geometry Label 基类,用于生成 Geometry 下所有 label 的配置项信息\n */\nexport default class GeometryLabel {\n /** geometry 实例 */\n public readonly geometry: Geometry;\n public labelsRenderer: Labels;\n /** 默认的布局 */\n public defaultLayout: string;\n\n constructor(geometry: Geometry) {\n this.geometry = geometry;\n }\n\n public getLabelItems(mapppingArray: MappingDatum[]): LabelItem[] {\n const items = [];\n const labelCfgs = this.getLabelCfgs(mapppingArray);\n // 获取 label 相关的 x,y 的值,获取具体的 x, y,防止存在数组\n each(mapppingArray, (mappingData: MappingDatum, index: number) => {\n const labelCfg = labelCfgs[index];\n if (!labelCfg || isNil(mappingData.x) || isNil(mappingData.y)) {\n items.push(null);\n return;\n }\n\n const labelContent = !isArray(labelCfg.content) ? [labelCfg.content] : labelCfg.content;\n labelCfg.content = labelContent;\n const total = labelContent.length;\n each(labelContent, (content, subIndex) => {\n if (isNil(content) || content === '') {\n items.push(null);\n return;\n }\n\n const item = {\n ...labelCfg,\n ...this.getLabelPoint(labelCfg, mappingData, subIndex),\n };\n if (!item.textAlign) {\n item.textAlign = this.getLabelAlign(item, subIndex, total);\n }\n\n if (item.offset <= 0) {\n item.labelLine = null;\n }\n\n items.push(item);\n });\n });\n return items;\n }\n\n public render(mapppingArray: MappingDatum[], isUpdate: boolean = false) {\n const labelItems = this.getLabelItems(mapppingArray);\n\n const labelsRenderer = this.getLabelsRenderer();\n const shapes = this.getGeometryShapes();\n // 渲染文本\n labelsRenderer.render(labelItems, shapes, isUpdate);\n }\n\n public clear() {\n const labelsRenderer = this.labelsRenderer;\n if (labelsRenderer) {\n labelsRenderer.clear();\n }\n }\n\n public destroy() {\n const labelsRenderer = this.labelsRenderer;\n if (labelsRenderer) {\n labelsRenderer.destroy();\n }\n this.labelsRenderer = null;\n }\n\n // geometry 更新之后,对应的 Coordinate 也会更新,为了获取到最新鲜的 Coordinate,故使用方法获取\n public getCoordinate() {\n return this.geometry.coordinate;\n }\n\n /**\n * 获取 label 的默认配置\n */\n protected getDefaultLabelCfg() {\n return get(this.geometry.theme, 'labels', {});\n }\n\n /**\n * 设置 label 位置\n * @param labelPointCfg\n * @param mappingData\n * @param index\n * @param position\n */\n protected setLabelPosition(\n labelPointCfg: LabelPointCfg,\n mappingData: MappingDatum,\n index: number,\n position: string\n ) {}\n\n /**\n * 获取文本默认偏移量\n * @param offset\n * @returns\n */\n protected getDefaultOffset(offset: number) {\n const coordinate = this.getCoordinate();\n const vector = this.getOffsetVector(offset);\n return coordinate.isTransposed ? vector[0] : vector[1];\n }\n\n /**\n * 获取每个 label 的偏移量\n * @param labelCfg\n * @param index\n * @param total\n * @returns\n */\n protected getLabelOffset(labelCfg: LabelCfg, index: number, total: number) {\n const offset = this.getDefaultOffset(labelCfg.offset);\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const dim = transposed ? 'x' : 'y';\n const factor = transposed ? 1 : -1; // y 方向上越大,像素的坐标越小,所以transposed时将系数变成\n const offsetPoint = {\n x: 0,\n y: 0,\n };\n if (index > 0 || total === 1) {\n // 判断是否小于0\n offsetPoint[dim] = offset * factor;\n } else {\n offsetPoint[dim] = offset * factor * -1;\n }\n return offsetPoint;\n }\n\n /**\n * 获取每个 label 的位置\n * @param labelCfg\n * @param mappingData\n * @param index\n * @returns label point\n */\n protected getLabelPoint(labelCfg: LabelCfg, mappingData: MappingDatum, index: number): LabelPointCfg {\n const coordinate = this.getCoordinate();\n const total = labelCfg.content.length;\n\n function getDimValue(value, idx) {\n let v = value;\n if (isArray(v)) {\n if (labelCfg.content.length === 1) {\n // 如果仅一个 label,多个 y, 取最后一个 y\n if (v.length <= 2) {\n v = v[value.length - 1];\n } else {\n v = avg(v);\n }\n } else {\n v = v[idx];\n }\n }\n return v;\n }\n\n const label = {\n content: labelCfg.content[index],\n x: 0,\n y: 0,\n start: { x: 0, y: 0 },\n color: '#fff',\n };\n // 多边形场景,多用于地图\n if (mappingData && this.geometry.type === 'polygon') {\n const centroid = getPolygonCentroid(mappingData.x, mappingData.y);\n label.x = centroid[0];\n label.y = centroid[1];\n } else {\n label.x = getDimValue(mappingData.x, index);\n label.y = getDimValue(mappingData.y, index);\n }\n\n // 处理漏斗图文本位置\n const shape = isArray(mappingData.shape) ? mappingData.shape[0] : mappingData.shape;\n if (shape === 'funnel' || shape === 'pyramid') {\n const nextPoints = get(mappingData, 'nextPoints');\n const points = get(mappingData, 'points');\n if (nextPoints) {\n // 非漏斗图底部\n const point1 = coordinate.convert(points[1] as Point);\n const point2 = coordinate.convert(nextPoints[1] as Point);\n label.x = (point1.x + point2.x) / 2;\n label.y = (point1.y + point2.y) / 2;\n } else if (shape === 'pyramid') {\n const point1 = coordinate.convert(points[1] as Point);\n const point2 = coordinate.convert(points[2] as Point);\n label.x = (point1.x + point2.x) / 2;\n label.y = (point1.y + point2.y) / 2;\n }\n }\n\n if (labelCfg.position) {\n // 如果 label 支持 position 属性\n this.setLabelPosition(label, mappingData, index, labelCfg.position);\n }\n const offsetPoint = this.getLabelOffset(labelCfg, index, total);\n label.start = { x: label.x, y: label.y };\n label.x += offsetPoint.x;\n label.y += offsetPoint.y;\n label.color = mappingData.color;\n return label;\n }\n\n /**\n * 获取文本的对齐方式\n * @param item\n * @param index\n * @param total\n * @returns\n */\n protected getLabelAlign(item: LabelItem, index: number, total: number): TextAlign {\n let align: TextAlign = 'center';\n const coordinate = this.getCoordinate();\n if (coordinate.isTransposed) {\n const offset = this.getDefaultOffset(item.offset);\n if (offset < 0) {\n align = 'right';\n } else if (offset === 0) {\n align = 'center';\n } else {\n align = 'left';\n }\n if (total > 1 && index === 0) {\n if (align === 'right') {\n align = 'left';\n } else if (align === 'left') {\n align = 'right';\n }\n }\n }\n return align;\n }\n\n /**\n * 获取每一个 label 的唯一 id\n * @param mappingData label 对应的图形的绘制数据\n */\n protected getLabelId(mappingData: MappingDatum) {\n const geometry = this.geometry;\n const type = geometry.type;\n const xScale = geometry.getXScale();\n const yScale = geometry.getYScale();\n const origin = mappingData[FIELD_ORIGIN]; // 原始数据\n\n let labelId = geometry.getElementId(mappingData);\n if (type === 'line' || type === 'area') {\n // 折线图以及区域图,一条线会对应一组数据,即多个 labels,为了区分这些 labels,需要在 line id 的前提下加上 x 字段值\n labelId += ` ${origin[xScale.field]}`;\n } else if (type === 'path') {\n // path 路径图,无序,有可能存在相同 x 不同 y 的情况,需要通过 x y 来确定唯一 id\n labelId += ` ${origin[xScale.field]}-${origin[yScale.field]}`;\n }\n\n return labelId;\n }\n\n // 获取 labels 组件\n private getLabelsRenderer() {\n const { labelsContainer, labelOption, canvasRegion, animateOption } = this.geometry;\n const coordinate = this.geometry.coordinate;\n\n let labelsRenderer = this.labelsRenderer;\n if (!labelsRenderer) {\n labelsRenderer = new Labels({\n container: labelsContainer,\n layout: get(labelOption, ['cfg', 'layout'], {\n type: this.defaultLayout,\n }),\n });\n this.labelsRenderer = labelsRenderer;\n }\n labelsRenderer.region = canvasRegion;\n // 设置动画配置,如果 geometry 的动画关闭了,那么 label 的动画也会关闭\n labelsRenderer.animate = animateOption ? getDefaultAnimateCfg('label', coordinate) : false;\n\n return labelsRenderer;\n }\n\n private getLabelCfgs(mapppingArray: MappingDatum[]): LabelCfg[] {\n const geometry = this.geometry;\n const defaultLabelCfg = this.getDefaultLabelCfg();\n const { type, theme, labelOption, scales, coordinate } = geometry;\n const { fields, callback, cfg } = labelOption as LabelOption;\n const labelScales = fields.map((field: string) => {\n return scales[field];\n });\n\n const labelCfgs: LabelCfg[] = [];\n each(mapppingArray, (mappingData: MappingDatum, index: number) => {\n const origin = mappingData[FIELD_ORIGIN]; // 原始数据\n const originText = this.getLabelText(origin, labelScales);\n let callbackCfg;\n if (callback) {\n // 当同时配置了 callback 和 cfg 时,以 callback 为准\n const originValues = fields.map((field: string) => origin[field]);\n callbackCfg = callback(...originValues);\n if (isNil(callbackCfg)) {\n labelCfgs.push(null);\n return;\n }\n }\n\n let labelCfg = {\n id: this.getLabelId(mappingData), // 进行 ID 标记\n data: origin, // 存储原始数据\n mappingData, // 存储映射后的数据,\n coordinate, // 坐标系\n ...cfg,\n ...callbackCfg,\n };\n\n const content = labelCfg.content;\n if (isFunction(content)) {\n labelCfg.content = content(origin, mappingData, index);\n } else if (isUndefined(content)) {\n // 用户未配置 content,则默认为映射的第一个字段的值\n labelCfg.content = originText[0];\n }\n\n if (isFunction(labelCfg.position)) {\n labelCfg.position = labelCfg.position(origin, mappingData, index);\n }\n\n if (type === 'polygon' || (labelCfg.offset < 0 && !['line', 'point', 'path'].includes(type))) {\n // polygon 或者 offset 小于 0 时,文本展示在图形内部,将其颜色设置为 白色\n labelCfg = deepMix({}, defaultLabelCfg, theme.innerLabels, labelCfg);\n } else {\n labelCfg = deepMix({}, defaultLabelCfg, theme.labels, labelCfg);\n }\n\n labelCfgs.push(labelCfg);\n });\n\n return labelCfgs;\n }\n\n private getLabelText(origin: Datum, scales: Scale[]) {\n const labelTexts = [];\n each(scales, (scale: Scale) => {\n let value = origin[scale.field];\n if (isArray(value)) {\n value = value.map((subVal) => {\n return scale.getText(subVal);\n });\n } else {\n value = scale.getText(value);\n }\n\n if (isNil(value) || value === '') {\n labelTexts.push(null);\n } else {\n labelTexts.push(value);\n }\n });\n return labelTexts;\n }\n\n private getOffsetVector(offset = 0) {\n const coordinate = this.getCoordinate();\n // 如果 x,y 翻转,则偏移 x,否则偏移 y\n return coordinate.isTransposed ? coordinate.applyMatrix(offset, 0) : coordinate.applyMatrix(0, offset);\n }\n\n private getGeometryShapes() {\n const geometry = this.geometry;\n const shapes = {};\n each(geometry.elementsMap, (element: Element, id: string) => {\n shapes[id] = element.shape;\n });\n // 因为有可能 shape 还在进行动画,导致 shape.getBBox() 获取到的值不是最终态,所以需要从 offscreenGroup 获取\n each(geometry.getOffscreenGroup().getChildren(), (child) => {\n const id = geometry.getElementId(child.get('origin').mappingData);\n shapes[id] = child;\n });\n\n return shapes;\n }\n}\n","/* G2 的一个壳子,不包含 Geometry,由开发者自己定义和引入 */\n\nexport const VERSION = '4.0.15';\n\n// 核心基类导出\nexport { Chart, View, Event } from './chart'; // Chart, View 类\nexport { Controller as ComponentController } from './chart/controller/base'; // G2 组件基类\nexport { default as Geometry } from './geometry/base'; // Geometry 基类\nexport { default as GeometryLabel } from './geometry/label/base'; // Geometry Label 基类\nexport { Interaction } from './interaction'; // Interaction 基类\nexport { Facet } from './facet'; // Facet 基类\nexport { default as InteractionAction } from './interaction/action/base'; // Interaction Action 基类\n\n// 注册 ComponentController\nexport { registerComponentController } from './chart';\n\n// 注册 Geometry\nexport { registerGeometry } from './chart';\n\n// 注册 Geometry Shape\nexport { registerShape, registerShapeFactory, getShapeFactory } from './geometry/shape/base';\n\n// 注册 Geometry label 以及 Geometry Label 布局函数\nexport {\n registerGeometryLabel,\n registerGeometryLabelLayout,\n getGeometryLabel,\n getGeometryLabelLayout,\n} from './geometry/label';\n\n// 注册 interaction\nexport { getInteraction, registerInteraction, registerAction, getActionClass } from './interaction';\n\n// 注册 facet\nexport { getFacet, registerFacet } from './facet';\n\n// 注册主题\nexport { getTheme, registerTheme } from './theme';\n\n// G engine 管理相关\nexport { registerEngine, getEngine } from './engine';\n\n// 注册动画函数\nexport { registerAnimation, getAnimation } from './animate/animation';\n\nexport { LAYER, DIRECTION } from './constant';\n\n// 因为 typescript 部分版本不支持 export * as 语法。\nimport * as Types from './interface';\nexport { Types };\n","const WHITE_COLORS = {\n 100: '#000',\n 95: '#0D0D0D',\n 85: '#262626',\n 65: '#595959',\n 45: '#8C8C8C',\n 25: '#BFBFBF',\n 15: '#D9D9D9',\n 6: '#F0F0F0',\n};\n\nconst BLACK_COLORS = {\n 100: '#FFFFFF',\n 95: '#F2F2F2',\n 85: '#D9D9D9',\n 65: '#A6A6A6',\n 45: '#737373',\n 25: '#404040',\n 15: '#262626',\n 6: '#0F0F0F',\n};\n\nconst QUALITATIVE_10 = [\n '#5B8FF9',\n '#5AD8A6',\n '#5D7092',\n '#F6BD16',\n '#E86452',\n '#6DC8EC',\n '#945FB9',\n '#FF9845',\n '#1E9493',\n '#FF99C3',\n];\n\nconst QUALITATIVE_20 = [\n '#5B8FF9',\n '#CDDDFD',\n '#5AD8A6',\n '#CDF3E4',\n '#5D7092',\n '#CED4DE',\n '#F6BD16',\n '#FCEBB9',\n '#E86452',\n '#F8D0CB',\n '#6DC8EC',\n '#D3EEF9',\n '#945FB9',\n '#DECFEA',\n '#FF9845',\n '#FFE0C7',\n '#1E9493',\n '#BBDEDE',\n '#FF99C3',\n '#FFE0ED',\n];\n\nexport const antvDark = {\n backgroundColor: '#141414',\n /** 主题色 */\n brandColor: QUALITATIVE_10[0],\n /** 分类色板 1,在数据量小于等于 10 时使用 */\n paletteQualitative10: QUALITATIVE_10,\n /** 分类色板 2,在数据量大于 10 时使用 */\n paletteQualitative20: QUALITATIVE_20,\n /** 语义色 */\n paletteSemanticRed: '#F4664A',\n /** 语义色 */\n paletteSemanticGreen: '#30BF78',\n /** 语义色 */\n paletteSemanticYellow: '#FAAD14',\n /** 字体 */\n fontFamily: `\"-apple-system\", \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial,\n \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\",\n \"Noto Color Emoji\"`,\n\n // -------------------- 坐标轴 --------------------\n /** 坐标轴线颜色 */\n axisLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴线粗细 */\n axisLineBorder: 0.5,\n /** 坐标轴线 lineDash 设置 */\n axisLineDash: null,\n\n /** 坐标轴标题颜色 */\n axisTitleTextFillColor: BLACK_COLORS[65],\n /** 坐标轴标题文本字体大小 */\n axisTitleTextFontSize: 12,\n /** 坐标轴标题文本行高 */\n axisTitleTextLineHeight: 12,\n /** 坐标轴标题文本字体粗细 */\n axisTitleTextFontWeight: 'normal',\n\n /** 坐标轴刻度线颜色 */\n axisTickLineBorderColor: BLACK_COLORS[25],\n /** 坐标轴刻度线长度 */\n axisTickLineLength: 4,\n /** 坐标轴刻度线粗细 */\n axisTickLineBorder: 0.5,\n\n /** 坐标轴次刻度线颜色 */\n axisSubTickLineBorderColor: BLACK_COLORS[15],\n /** 坐标轴次刻度线长度 */\n axisSubTickLineLength: 2,\n /** 坐标轴次刻度线粗细 */\n axisSubTickLineBorder: 0.5,\n\n /** 坐标轴刻度文本颜色 */\n axisLabelFillColor: BLACK_COLORS[45],\n /** 坐标轴刻度文本字体大小 */\n axisLabelFontSize: 12,\n /** 坐标轴刻度文本行高 */\n axisLabelLineHeight: 12,\n /** 坐标轴刻度文本字体粗细 */\n axisLabelFontWeight: 'normal',\n\n /** 坐标轴网格线颜色 */\n axisGridBorderColor: BLACK_COLORS[15],\n /** 坐标轴网格线粗细 */\n axisGridBorder: 0.5,\n /** 坐标轴网格线虚线设置 */\n axisGridLineDash: null,\n\n // -------------------- 图例 --------------------\n /** 图例标题颜色 */\n legendTitleTextFillColor: BLACK_COLORS[45],\n /** 图例标题文本字体大小 */\n legendTitleTextFontSize: 12,\n /** 图例标题文本行高 */\n legendTitleTextLineHeight: 21,\n /** 图例标题文本字体粗细 */\n legendTitleTextFontWeight: 'normal',\n\n /** 图例 marker 颜色 */\n legendMarkerColor: QUALITATIVE_10[0],\n /** 图例 marker 默认半径大小 */\n legendMarkerSize: 4,\n /** 图例 'circle' marker 半径 */\n legendCircleMarkerSize: 4,\n /** 图例 'square' marker 半径 */\n legendSquareMarkerSize: 4,\n /** 图例 'line' marker 半径 */\n legendLineMarkerSize: 5,\n\n /** 图例项文本颜色 */\n legendItemNameFillColor: BLACK_COLORS[65],\n /** 图例项文本字体大小 */\n legendItemNameFontSize: 12,\n /** 图例项文本行高 */\n legendItemNameLineHeight: 12,\n /** 图例项粗细 */\n legendItemNameFontWeight: 'normal',\n\n /** 连续图例滑块填充色 */\n sliderRailFillColor: BLACK_COLORS[15],\n /** 连续图例滑块边框粗细 */\n sliderRailBorder: 0,\n /** 连续图例滑块边框颜色 */\n sliderRailBorderColor: null,\n /** 连续图例滑块宽度 */\n sliderRailWidth: 100,\n /** 连续图例滑块高度 */\n sliderRailHeight: 12,\n\n /** 连续图例文本颜色 */\n sliderLabelTextFillColor: BLACK_COLORS[45],\n /** 连续图例文本字体大小 */\n sliderLabelTextFontSize: 12,\n /** 连续图例文本行高 */\n sliderLabelTextLineHeight: 12,\n /** 连续图例文本字体粗细 */\n sliderLabelTextFontWeight: 'normal',\n\n /** 连续图例滑块颜色 */\n sliderHandlerFillColor: WHITE_COLORS[6],\n /** 连续图例滑块宽度 */\n sliderHandlerWidth: 10,\n /** 连续图例滑块高度 */\n sliderHandlerHeight: 14,\n /** 连续图例滑块边框粗细 */\n sliderHandlerBorder: 1,\n /** 连续图例滑块边框颜色 */\n sliderHandlerBorderColor: WHITE_COLORS[25],\n\n // -------------------- Annotation,图形标注 --------------------\n /** arc 图形标注描边颜色 */\n annotationArcBorderColor: BLACK_COLORS[15],\n /** arc 图形标注粗细 */\n annotationArcBorder: 0.5,\n\n /** line 图形标注颜色 */\n annotationLineBorderColor: BLACK_COLORS[25],\n /** line 图形标注粗细 */\n annotationLineBorder: 0.5,\n /** lube 图形标注的虚线间隔 */\n annotationLineDash: null,\n\n /** text 图形标注文本颜色 */\n annotationTextFillColor: BLACK_COLORS[65],\n /** text 图形标注文本字体大小 */\n annotationTextFontSize: 12,\n /** text 图形标注文本行高 */\n annotationTextLineHeight: 12,\n /** text 图形标注文本字体粗细 */\n annotationTextFontWeight: 'normal',\n /** text 图形标注文本边框颜色 */\n annotationTextBorderColor: WHITE_COLORS[95],\n /** text 图形标注文本边框粗细 */\n annotationTextBorder: 1.5,\n\n /** region 图形标注填充颜色 */\n annotationRegionFillColor: BLACK_COLORS[100],\n /** region 图形标注填充颜色透明色 */\n annotationRegionFillOpacity: 0.06,\n /** region 图形标注描边粗细 */\n annotationRegionBorder: 0,\n /** region 图形标注描边颜色 */\n annotationRegionBorderColor: null,\n\n /** dataMarker 图形标注线的长度 */\n annotationDataMarkerLineLength: 16,\n\n // -------------------- Tooltip --------------------\n /** tooltip crosshairs 辅助线颜色 */\n tooltipCrosshairsBorderColor: BLACK_COLORS[25],\n /** tooltip crosshairs 辅助线粗细 */\n tooltipCrosshairsBorder: 0.5,\n /** tooltip crosshairs 辅助线虚线间隔 */\n tooltipCrosshairsLineDash: null,\n\n /** tooltip 内容框背景色 */\n tooltipContainerFillColor: '#1f1f1f',\n tooltipContainerFillOpacity: 0.95,\n /** tooltip 内容框阴影 */\n tooltipContainerShadow: '0px 2px 4px rgba(0,0,0,.5)',\n /** tooltip 内容框圆角 */\n tooltipContainerBorderRadius: 3,\n\n /** tooltip 文本颜色 */\n tooltipTextFillColor: BLACK_COLORS[65],\n /** tooltip 文本字体大小 */\n tooltipTextFontSize: 12,\n /** tooltip 文本行高 */\n tooltipTextLineHeight: 12,\n /** tooltip 文本字体粗细 */\n tooltipTextFontWeight: 'bold',\n\n // -------------------- Geometry labels --------------------\n /** Geometry label 文本颜色 */\n labelFillColor: BLACK_COLORS[65],\n /** Geometry label 文本字体大小 */\n labelFontSize: 12,\n /** Geometry label 文本行高 */\n labelLineHeight: 12,\n /** Geometry label 文本字体粗细 */\n labelFontWeight: 'normal',\n /** Geometry label 文本描边颜色 */\n labelBorderColor: null,\n /** Geometry label 文本描边粗细 */\n labelBorder: 0,\n\n /** Geometry innerLabel 文本颜色 */\n innerLabelFillColor: WHITE_COLORS[100],\n /** Geometry innerLabel 文本字体大小 */\n innerLabelFontSize: 12,\n /** Geometry innerLabel 文本行高 */\n innerLabelLineHeight: 12,\n /** Geometry innerLabel 文本字体粗细 */\n innerLabelFontWeight: 'normal',\n /** Geometry innerLabel 文本描边颜色 */\n innerLabelBorderColor: null,\n /** Geometry innerLabel 文本描边粗细 */\n innerLabelBorder: 0,\n\n /** Geometry label 文本连接线粗细 */\n labelLineBorder: 0.5,\n /** Geometry label 文本连接线颜色 */\n labelLineBorderColor: BLACK_COLORS[25],\n\n // -------------------- Geometry 图形样式--------------------\n /** 点图填充颜色 */\n pointFillColor: QUALITATIVE_10[0],\n /** 点图填充颜色透明度 */\n pointFillOpacity: 0.95,\n /** 点图大小 */\n pointSize: 4,\n /** 点图描边粗细 */\n pointBorder: 1,\n /** 点图描边颜色 */\n pointBorderColor: WHITE_COLORS[100],\n /** 点图描边透明度 */\n pointBorderOpacity: 1,\n\n /** 点图 active 状态下描边颜色 */\n pointActiveBorderColor: BLACK_COLORS[100],\n\n /** 点图 selected 状态下描边粗细 */\n pointSelectedBorder: 2,\n /** 点图 selected 状态下描边颜色 */\n pointSelectedBorderColor: BLACK_COLORS[100],\n\n /** 点图 inactive 状态下填充颜色透明度 */\n pointInactiveFillOpacity: 0.3,\n /** 点图 inactive 状态下描边透明度 */\n pointInactiveBorderOpacity: 0.3,\n\n /** 空心点图大小 */\n hollowPointSize: 4,\n /** 空心点图描边粗细 */\n hollowPointBorder: 1,\n /** 空心点图描边颜色 */\n hollowPointBorderColor: QUALITATIVE_10[0],\n /** 空心点图描边透明度 */\n hollowPointBorderOpacity: 0.95,\n hollowPointFillColor: WHITE_COLORS[100],\n\n /** 空心点图 active 状态下描边粗细 */\n hollowPointActiveBorder: 1,\n /** 空心点图 active 状态下描边颜色 */\n hollowPointActiveBorderColor: BLACK_COLORS[100],\n /** 空心点图 active 状态下描边透明度 */\n hollowPointActiveBorderOpacity: 1,\n\n /** 空心点图 selected 状态下描边粗细 */\n hollowPointSelectedBorder: 2,\n /** 空心点图 selected 状态下描边颜色 */\n hollowPointSelectedBorderColor: BLACK_COLORS[100],\n /** 空心点图 selected 状态下描边透明度 */\n hollowPointSelectedBorderOpacity: 1,\n\n /** 空心点图 inactive 状态下描边透明度 */\n hollowPointInactiveBorderOpacity: 0.3,\n\n /** 线图粗细 */\n lineBorder: 2,\n /** 线图颜色 */\n lineBorderColor: QUALITATIVE_10[0],\n /** 线图透明度 */\n lineBorderOpacity: 1,\n\n /** 线图 Active 状态下粗细 */\n lineActiveBorder: 3,\n\n /** 线图 selected 状态下粗细 */\n lineSelectedBorder: 3,\n\n /** 线图 inactive 状态下透明度 */\n lineInactiveBorderOpacity: 0.3,\n\n /** area 填充颜色 */\n areaFillColor: QUALITATIVE_10[0],\n /** area 填充透明度 */\n areaFillOpacity: 0.25,\n\n /** area 在 active 状态下的填充透明度 */\n areaActiveFillColor: QUALITATIVE_10[0],\n areaActiveFillOpacity: 0.5,\n\n /** area 在 selected 状态下的填充透明度 */\n areaSelectedFillColor: QUALITATIVE_10[0],\n areaSelectedFillOpacity: 0.5,\n\n /** area inactive 状态下填充透明度 */\n areaInactiveFillOpacity: 0.3,\n\n /** hollowArea 颜色 */\n hollowAreaBorderColor: QUALITATIVE_10[0],\n /** hollowArea 边框粗细 */\n hollowAreaBorder: 2,\n /** hollowArea 边框透明度 */\n hollowAreaBorderOpacity: 1,\n\n /** hollowArea active 状态下的边框粗细 */\n hollowAreaActiveBorder: 3,\n hollowAreaActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowArea selected 状态下的边框粗细 */\n hollowAreaSelectedBorder: 3,\n hollowAreaSelectedBorderColor: BLACK_COLORS[100],\n\n /** hollowArea inactive 状态下的边框透明度 */\n hollowAreaInactiveBorderOpacity: 0.3,\n\n /** interval 填充颜色 */\n intervalFillColor: QUALITATIVE_10[0],\n /** interval 填充透明度 */\n intervalFillOpacity: 0.95,\n\n /** interval active 状态下边框粗细 */\n intervalActiveBorder: 1,\n /** interval active 状态下边框颜色 */\n intervalActiveBorderColor: BLACK_COLORS[100],\n intervalActiveBorderOpacity: 1,\n\n /** interval selected 状态下边框粗细 */\n intervalSelectedBorder: 2,\n /** interval selected 状态下边框颜色 */\n intervalSelectedBorderColor: BLACK_COLORS[100],\n /** interval selected 状态下边框透明度 */\n intervalSelectedBorderOpacity: 1,\n\n /** interval inactive 状态下边框透明度 */\n intervalInactiveBorderOpacity: 0.3,\n /** interval inactive 状态下填充透明度 */\n intervalInactiveFillOpacity: 0.3,\n\n /** interval 边框粗细 */\n hollowIntervalBorder: 2,\n /** hollowInterval 边框颜色 */\n hollowIntervalBorderColor: QUALITATIVE_10[0],\n /** hollowInterval 边框透明度 */\n hollowIntervalBorderOpacity: 1,\n hollowIntervalFillColor: WHITE_COLORS[100],\n\n /** hollowInterval active 状态下边框粗细 */\n hollowIntervalActiveBorder: 2,\n /** hollowInterval active 状态下边框颜色 */\n hollowIntervalActiveBorderColor: BLACK_COLORS[100],\n\n /** hollowInterval selected 状态下边框粗细 */\n hollowIntervalSelectedBorder: 3,\n /** hollowInterval selected 状态下边框颜色 */\n hollowIntervalSelectedBorderColor: BLACK_COLORS[100],\n /** hollowInterval selected 状态下边框透明度 */\n hollowIntervalSelectedBorderOpacity: 1,\n\n /** hollowInterval inactive 状态下边框透明度 */\n hollowIntervalInactiveBorderOpacity: 0.3,\n};\n","import { isArray } from '@antv/util';\nimport { Point, RangePoint, ShapeVertices } from '../../../interface';\n\nfunction isValueEmpty(value) {\n if (value) {\n return false;\n }\n return value === null || value === undefined || isNaN(value);\n}\n\nfunction isYNil(point: Point[] | RangePoint) {\n if (isArray(point)) {\n // 特殊处理 area 的关键点数据,其关键点结构为 [{x: 0, y: 1}, {x: 0, y: 2}]\n return isValueEmpty(point[1].y);\n }\n const value = point.y;\n return isArray(value) ? isValueEmpty(value[0]) : isValueEmpty(value);\n}\n\n/**\n * @ignore\n * 分割数据,用于处理在一组点数据中,y 对应的数值存在 null/undefined/NaN 的情况\n * 应用于折线图、区域图以及路径图\n *\n * ```typescript\n * // return [[{x: 1, y: 2}, {x: 3, y: 3}]]\n * getPathPoints([{x: 1, y: 2}, {x: 2, y: null}, {x: 3, y: 3}], true);\n * // return [[{x: 1, y: 2}], [{x: 3, y: 3}]]\n * getPathPoints([{x: 1, y: 2}, {x: 2, y: null}, {x: 3, y: 3}], false);\n * // return [[[{ x: 1, y: 10 }, { x: 2, y: 2 }], [{ x: 9, y: 34 }, { x: 1, y: 1 }]]]\n * getPathPoints([\n * [{ x: 1, y: 10 }, { x: 2, y: 2 }],\n * [{ x: 4, y: 2 }, { x: 8, y: NaN }],\n * [{ x: 9, y: 34 }, { x: 1, y: 1 }],\n * ], true);\n * ```\n *\n * @param points 要进行处理点集合\n * @param connectNulls 是否连接空值数据\n * @param showSinglePoint 是否展示孤立点\n * @returns 返回处理后的点集合\n */\nexport function getPathPoints(points: ShapeVertices, connectNulls: boolean = false, showSinglePoint: boolean = true) {\n if (!points.length || (points.length === 1 && !showSinglePoint)) {\n // 空或者只有一个点并配置不展示时\n return [];\n }\n\n if (connectNulls) {\n // 即 y 值为空的场景\n const filtered = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (!isYNil(point)) {\n filtered.push(point);\n }\n }\n return [filtered];\n }\n\n const result = [];\n let tmp = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n if (isYNil(point)) {\n if (tmp.length) {\n if (!(tmp.length === 1 && !showSinglePoint)) {\n // 如果前段数据只有一个字段并且不需要展示时则不加入\n result.push(tmp);\n }\n tmp = [];\n }\n } else {\n tmp.push(point);\n }\n }\n\n if (tmp.length) {\n result.push(tmp);\n }\n return result;\n}\n","import { isNil } from '@antv/util';\nimport { ShapeInfo } from '../../../interface';\n\n/**\n * @ignore\n * 获取 Shape 的图形属性\n * @param cfg\n * @param isStroke 是否需要描边\n * @param isFill 是否需要填充\n * @param [sizeName] 可选,表示图形大小的属性,lineWidth 或者 r\n * @returns\n */\nexport function getStyle(cfg: ShapeInfo, isStroke: boolean, isFill: boolean, sizeName: string = '') {\n const { style = {}, defaultStyle, color, size } = cfg;\n const attrs = {\n ...defaultStyle,\n ...style,\n };\n if (color) {\n if (isStroke) {\n if (!style.stroke) {\n // 如果用户在 style() 中配置了 stroke,则以用户配置的为准\n attrs.stroke = color;\n }\n }\n\n if (isFill) {\n if (!style.fill) {\n // 如果用户在 style() 中配置了 fill\n attrs.fill = color;\n }\n }\n }\n if (sizeName && isNil(style[sizeName]) && !isNil(size)) {\n // 如果用户在 style() 中配置了 lineWidth 或者 r 属性\n attrs[sizeName] = size;\n }\n\n return attrs;\n}\n","import { isArray } from '@antv/util';\nimport { Point, RangePoint } from '../../../interface';\n\n/**\n * @ignore\n * 拆分点数据\n * @example\n * // result: [{x: 20, y: 20}, {x: 20, y: 30}]\n * splitPoints({x: 20,y: [20, 30]});\n * @example\n * // result: [{x: 20, y: 20}, {x: 30, y: 30}]\n * splitPoints({x: [20, 30],y: [20, 30]});\n * @param obj\n */\nexport function splitPoints(obj: RangePoint): Point[] {\n // y 有可能是数组,对应原始数据中 y 为一个区间数据,如 [19, 30],为了统一也将 x 转换为数组\n const x = obj.x;\n const y = isArray(obj.y) ? obj.y : [obj.y];\n\n return y.map((eachY, index) => {\n return {\n x: isArray(x) ? x[index] : x,\n y: eachY,\n };\n });\n}\n","import { ShapeMarkerCfg } from '../../../interface';\n\nconst LineSymbols = {\n line: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n dot: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n dash: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n smooth: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['A', r / 2, r / 2, 0, 1, 1, x, y],\n ['A', r / 2, r / 2, 0, 1, 0, x + r, y],\n ];\n },\n hv: (x: number, y: number, r: number) => {\n return [\n ['M', x - r - 1, y - 2.5],\n ['L', x, y - 2.5],\n ['L', x, y + 2.5],\n ['L', x + r + 1, y + 2.5],\n ];\n },\n vh: (x: number, y: number, r: number) => {\n return [\n ['M', x - r - 1, y + 2.5],\n ['L', x, y + 2.5],\n ['L', x, y - 2.5],\n ['L', x + r + 1, y - 2.5],\n ];\n },\n hvh: (x: number, y: number, r: number) => {\n return [\n ['M', x - (r + 1), y + 2.5],\n ['L', x - r / 2, y + 2.5],\n ['L', x - r / 2, y - 2.5],\n ['L', x + r / 2, y - 2.5],\n ['L', x + r / 2, y + 2.5],\n ['L', x + r + 1, y + 2.5],\n ];\n },\n vhv: (x: number, y: number) => {\n // 宽 13px,高 8px\n return [\n ['M', x - 5, y + 2.5],\n ['L', x - 5, y],\n ['L', x, y],\n ['L', x, y - 3],\n ['L', x, y + 3],\n ['L', x + 6.5, y + 3],\n ];\n },\n};\n\n/**\n * Gets line marker\n * @ignore\n * @param markerCfg\n * @param shapeType\n * @returns 返回 Line 的 marker 配置\n */\nexport function getLineMarker(markerCfg: ShapeMarkerCfg, shapeType: string) {\n const { color } = markerCfg;\n return {\n symbol: LineSymbols[shapeType],\n style: {\n lineWidth: 2,\n r: 6,\n stroke: color,\n },\n };\n}\n","import { each, isArray } from '@antv/util';\nimport { IGroup, ShapeAttrs } from '../../../dependents';\nimport { Point, Position, RangePoint, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\nimport { splitPoints } from '../util/split-points';\nimport { getLineMarker } from './util';\n\nfunction getShapeAttrs(cfg: ShapeInfo, smooth?: boolean, constraint?: Position[]) {\n const { isStack, connectNulls, isInCircle, showSinglePoint } = cfg;\n const shapeAttrs = getStyle(cfg, true, false, 'lineWidth');\n\n const points = getPathPoints(cfg.points, connectNulls, showSinglePoint); // 根据 connectNulls 值处理 points\n let path = [];\n for (let i = 0, len = points.length; i < len; i++) {\n const eachLinePoints = points[i];\n path = path.concat(getPath(eachLinePoints, isInCircle, isStack, smooth, constraint, shapeAttrs));\n }\n shapeAttrs.path = path;\n\n return shapeAttrs;\n}\n\n// 单条 path\nfunction getSinglePath(\n points: Point[],\n isInCircle: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n if (points.length === 1) {\n // 只有一个点时\n return [\n ['M', points[0].x, points[0].y - style.lineWidth / 2],\n ['L', points[0].x, points[0].y],\n ['L', points[0].x, points[0].y + style.lineWidth / 2],\n ];\n }\n\n let path;\n if (!smooth) {\n path = getLinePath(points, false);\n if (isInCircle) {\n path.push(['Z']);\n }\n } else {\n // 直角坐标系下绘制曲线时限制最大值、最小值\n if (isInCircle && points.length) {\n points.push({ x: points[0].x, y: points[0].y });\n }\n path = getSplinePath(points, false, constraint);\n }\n\n return path;\n}\n\nfunction getRangePath(\n points: RangePoint[],\n isInCircle: boolean,\n isStack?: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n const topPoints = [];\n const bottomPoints = [];\n each(points, (point: RangePoint) => {\n const result = splitPoints(point);\n topPoints.push(result[1]); // 上边\n bottomPoints.push(result[0]); // 底边\n });\n\n const topPath = getSinglePath(topPoints, isInCircle, smooth, constraint, style);\n const bottomPath = getSinglePath(bottomPoints, isInCircle, smooth, constraint, style);\n if (isStack) {\n return topPath;\n }\n return topPath.concat(bottomPath);\n}\n\nfunction getPath(\n points: Point[] | RangePoint[],\n isInCircle: boolean,\n isStack?: boolean,\n smooth?: boolean,\n constraint?: Position[],\n style?: ShapeAttrs\n) {\n if (points.length) {\n const first = points[0];\n\n return isArray(first.y)\n ? getRangePath(points as RangePoint[], isInCircle, isStack, smooth, constraint, style)\n : getSinglePath(points as Point[], isInCircle, smooth, constraint, style);\n }\n return [];\n}\n\nconst LineShapeFactory = registerShapeFactory('line', {\n defaultShapeType: 'line',\n});\n\n// 这里因为代码公用,所以直接全部注册\n// 'line' 默认折线;'dot' 点线 ···;'dash' 断线 - - -\neach(['line', 'dot', 'dash', 'smooth'], (shapeType) => {\n registerShape('line', shapeType, {\n draw(cfg: ShapeInfo, container: IGroup) {\n const smooth = shapeType === 'smooth';\n let constraint;\n if (smooth) {\n const { start, end } = this.coordinate;\n constraint = [\n [start.x, end.y],\n [end.x, start.y],\n ];\n }\n\n const attrs = getShapeAttrs(cfg, smooth, constraint);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'line',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return getLineMarker(markerCfg, shapeType);\n },\n });\n});\n\nexport default LineShapeFactory;\n","import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry, { GeometryCfg } from './base';\nimport Element from './element';\n/** 引入对应的 ShapeFactory */\nimport './shape/line';\nimport { isModelChange } from './util/is-model-change';\n\n/** Path 构造函数参数类型 */\nexport interface PathCfg extends GeometryCfg {\n /** 是否连接空值 */\n connectNulls?: boolean;\n /** 单个孤立数据点是否展示 */\n showSinglePoint?: boolean;\n}\n\n/**\n * Path 几何标记。\n * 用于绘制路径图等。\n */\nexport default class Path extends Geometry {\n public readonly type: string = 'path';\n public readonly shapeType: string = 'line';\n /** 是否连接空值 */\n public connectNulls: boolean;\n /** 单个孤立数据点是否展示 */\n public showSinglePoint: boolean;\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { connectNulls = false, showSinglePoint = true } = cfg;\n this.connectNulls = connectNulls;\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 创建所有的 Element 实例,对于 Path、Line、Area,一组数据对应一个 Element。\n * @param mappingData\n * @param [isUpdate]\n * @returns elements\n */\n protected createElements(mappingData: MappingDatum[], index: number, isUpdate: boolean = false): Element[] {\n // Path 的每个 element 对应一组数据\n const { lastElementsMap, elementsMap, elements, container } = this;\n const elementId = this.getElementId(mappingData);\n const shapeCfg = this.getShapeInfo(mappingData);\n\n let result = lastElementsMap[elementId];\n if (!result) {\n const shapeFactory = this.getShapeFactory();\n\n result = new Element({\n shapeFactory,\n container,\n offscreenGroup: this.getOffscreenGroup(),\n });\n result.geometry = this;\n result.animate = this.animateOption;\n result.draw(shapeCfg, isUpdate); // 绘制 shape\n } else {\n // element 已经创建\n const preShapeCfg = result.getModel();\n if (this.isCoordinateChanged || isModelChange(preShapeCfg, shapeCfg)) {\n result.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n result.update(shapeCfg); // 更新对应的 element\n }\n delete lastElementsMap[elementId];\n }\n\n elements.push(result);\n elementsMap[elementId] = result;\n\n return elements;\n }\n\n /**\n * 获取组成一条线(一组数据)的所有点以及数据\n * @param mappingData 映射后的数组\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push({\n x: obj.x,\n y: obj.y,\n });\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n const { points, data } = this.getPointsAndData(mappingData);\n shapeCfg.mappingData = mappingData;\n shapeCfg.data = data;\n shapeCfg.isStack = !!this.getAdjust('stack');\n shapeCfg.points = points;\n shapeCfg.connectNulls = this.connectNulls;\n shapeCfg.showSinglePoint = this.showSinglePoint;\n\n return shapeCfg;\n }\n}\n","import { each } from '@antv/util';\nimport { Coordinate, PathCommand } from '../../../dependents';\nimport { Point, Position, Shape, ShapeInfo } from '../../../interface';\n\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath, getSplinePath } from '../util/path';\n\nfunction getPath(\n points: Point[],\n isInCircle: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n): PathCommand[] {\n let path = [];\n\n if (points.length) {\n const topLinePoints = []; // area 区域上部分\n let bottomLinePoints = []; // area 区域下部分\n for (let i = 0, len = points.length; i < len; i++) {\n const point = points[i];\n topLinePoints.push(point[1]);\n bottomLinePoints.push(point[0]);\n }\n bottomLinePoints = bottomLinePoints.reverse();\n\n each([topLinePoints, bottomLinePoints], (pointsData, index) => {\n let subPath = [];\n const parsedPoints = registeredShape.parsePoints(pointsData);\n const p1 = parsedPoints[0];\n\n if (topLinePoints.length === 1 && bottomLinePoints.length === 1) {\n // 都只有一个点,绘制一条竖线\n subPath =\n index === 0\n ? [\n ['M', p1.x - 0.5, p1.y],\n ['L', p1.x + 0.5, p1.y],\n ]\n : [\n ['L', p1.x + 0.5, p1.y],\n ['L', p1.x - 0.5, p1.y],\n ];\n } else {\n if (isInCircle) {\n parsedPoints.push({ x: p1.x, y: p1.y });\n }\n if (smooth) {\n subPath = getSplinePath(parsedPoints, false, constraint);\n } else {\n subPath = getLinePath(parsedPoints, false);\n }\n if (index > 0) {\n subPath[0][0] = 'L';\n }\n }\n\n path = path.concat(subPath);\n });\n\n path.push(['Z']);\n }\n\n return path;\n}\n\n/**\n * @ignore\n * Gets shape attrs\n * @param cfg\n * @param isStroke\n * @param smooth\n * @param registeredShape\n * @param [constraint]\n * @returns\n */\nexport function getShapeAttrs(\n cfg: ShapeInfo,\n isStroke: boolean,\n smooth: boolean,\n registeredShape: Shape,\n constraint?: Position[]\n) {\n const attrs = getStyle(cfg, isStroke, !isStroke, 'lineWidth');\n const { connectNulls, isInCircle, points, showSinglePoint } = cfg;\n const pathPoints = getPathPoints(points, connectNulls, showSinglePoint); // 根据 connectNulls 配置获取图形关键点\n\n let path = [];\n for (let i = 0, len = pathPoints.length; i < len; i++) {\n const eachPoints = pathPoints[i];\n path = path.concat(getPath(eachPoints, isInCircle, smooth, registeredShape, constraint));\n }\n attrs.path = path;\n\n return attrs;\n}\n\n/**\n * @ignore\n * Gets constraint\n * @param coordinate\n * @returns constraint\n */\nexport function getConstraint(coordinate: Coordinate): Position[] {\n const { start, end } = coordinate;\n return [\n [start.x, end.y],\n [end.x, start.y],\n ];\n}\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getShapeAttrs } from './util';\n\nconst AreaShapeFactory = registerShapeFactory('area', {\n defaultShapeType: 'area',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n // area 基本标记的绘制需要获取上下两边的顶点\n const { x, y0 } = pointInfo;\n const y = isArray(pointInfo.y) ? pointInfo.y : [y0, pointInfo.y];\n\n return y.map((yItem: number) => {\n return {\n x: x as number,\n y: yItem,\n };\n });\n },\n});\n\n// Area 几何标记默认的 shape:填充的区域图\nregisterShape('area', 'area', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getShapeAttrs(cfg, false, false, this);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n fill: color,\n },\n };\n },\n});\n\nexport default AreaShapeFactory;\n","import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum } from '../interface';\nimport Path, { PathCfg } from './path';\nimport './shape/area';\n\n/** Area 几何标记构造函数参数 */\nexport interface AreaCfg extends PathCfg {\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n startOnZero?: boolean;\n}\n\n/**\n * Area 几何标记类。\n * 常用于绘制面积图。\n */\nexport default class Area extends Path {\n public readonly type: string = 'area';\n public readonly shapeType: string = 'area';\n /** 生成图形关键点 */\n public readonly generatePoints: boolean = true;\n /**\n * 面积图是否从 0 基准线开始填充。\n * 1. 默认值为 `true`,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/ZQqwUCczalrKqGgagOVp.png)\n * 2. 当值为 `false` 时,表现如下:\n * ![image](https://gw.alipayobjects.com/zos/rmsportal/yPswkaXvUpCYOdhocGwB.png)\n */\n public readonly startOnZero: boolean = true;\n\n constructor(cfg: AreaCfg) {\n super(cfg);\n\n const { startOnZero = true, sortable = true, showSinglePoint = false } = cfg;\n this.startOnZero = startOnZero; // 默认为 true\n this.sortable = sortable; // Area 默认会对数据按照 x 轴字段进行正向排序\n this.showSinglePoint = showSinglePoint;\n }\n\n /**\n * 获取图形绘制的关键点以及数据\n * @param mappingData 映射后的数据\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push(obj.points);\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n /**\n * 获取 Y 轴上的最小值\n * @returns y 字段最小值\n */\n protected getYMinValue(): number {\n if (this.startOnZero) {\n return super.getYMinValue();\n }\n const yScale = this.getYScale();\n return yScale.min;\n }\n}\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getLinePath } from '../util/path';\nimport { splitPoints } from '../util/split-points';\n\nconst EdgeShapeFactory = registerShapeFactory('edge', {\n defaultShapeType: 'line',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return splitPoints(pointInfo);\n },\n});\n\nregisterShape('edge', 'line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const path = getLinePath(this.parsePoints(cfg.points), this.coordinate.isPolar);\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n\nexport default EdgeShapeFactory;\n","import Geometry from './base';\nimport './shape/edge';\n\n/**\n * Edge 几何标记,用于绘制关系图中的**边**图形,如:\n * 1. 流程图\n * 2. 树\n * 3. 弧长连接图\n * 4. 和弦图\n * 5. 桑基图\n */\nexport default class Edge extends Geometry {\n public readonly type: string = 'edge';\n public readonly shapeType: string = 'edge';\n protected generatePoints: boolean = true;\n}\n","import ColorUtil from '@antv/color-util';\nimport { get, isNumber } from '@antv/util';\nimport { FIELD_ORIGIN } from '../constant';\nimport { Color, IShape } from '../dependents';\nimport { Data, Datum, MappingDatum, ShapeInfo } from '../interface';\nimport Geometry from './base';\n\n/**\n * 用于绘制热力图。\n */\nexport default class Heatmap extends Geometry {\n public readonly type: string = 'heatmap';\n\n private paletteCache: Record = {};\n private grayScaleBlurredCanvas: HTMLCanvasElement;\n private shadowCanvas: HTMLCanvasElement;\n private imageShape: IShape;\n\n protected createElements(mappingData: MappingDatum[], index: number, isUpdate: boolean = false) {\n const range = this.prepareRange(mappingData);\n const radius = this.prepareSize();\n\n let blur = get(this.styleOption, ['style', 'shadowBlur']);\n if (!isNumber(blur)) {\n blur = radius / 2;\n }\n\n this.prepareGreyScaleBlurredCircle(radius, blur);\n this.drawWithRange(mappingData, range, radius, blur);\n\n return null;\n }\n\n /**\n * clear\n */\n public clear() {\n super.clear();\n this.clearShadowCanvasCtx();\n this.paletteCache = {};\n }\n\n private prepareRange(data: MappingDatum[]) {\n const colorAttr = this.getAttribute('color');\n const colorField = colorAttr.getFields()[0];\n\n let min = Infinity;\n let max = -Infinity;\n data.forEach((row) => {\n const value = row[FIELD_ORIGIN][colorField];\n if (value > max) {\n max = value;\n }\n if (value < min) {\n min = value;\n }\n });\n\n if (min === max) {\n min = max - 1;\n }\n\n return [min, max];\n }\n\n private prepareSize() {\n let radius = this.getDefaultValue('size');\n if (!isNumber(radius)) {\n radius = this.getDefaultSize();\n }\n\n return radius;\n }\n\n private prepareGreyScaleBlurredCircle(radius: number, blur: number) {\n const grayScaleBlurredCanvas = this.getGrayScaleBlurredCanvas();\n const r2 = radius + blur;\n const ctx = grayScaleBlurredCanvas.getContext('2d');\n grayScaleBlurredCanvas.width = grayScaleBlurredCanvas.height = r2 * 2;\n ctx.clearRect(0, 0, grayScaleBlurredCanvas.width, grayScaleBlurredCanvas.height);\n ctx.shadowOffsetX = ctx.shadowOffsetY = r2 * 2;\n ctx.shadowBlur = blur;\n ctx.shadowColor = 'black';\n\n ctx.beginPath();\n ctx.arc(-r2, -r2, radius, 0, Math.PI * 2, true);\n ctx.closePath();\n ctx.fill();\n }\n\n private drawWithRange(data: MappingDatum[], range: number[], radius: number, blur: number) {\n // canvas size\n const { start, end } = this.coordinate;\n const width = this.coordinate.getWidth();\n const height = this.coordinate.getHeight();\n\n // value, range, etc\n const colorAttr = this.getAttribute('color');\n const valueField = colorAttr.getFields()[0];\n\n // prepare shadow canvas context\n this.clearShadowCanvasCtx();\n const ctx = this.getShadowCanvasCtx();\n // filter data\n if (range) {\n data = data.filter((row) => {\n return row[FIELD_ORIGIN][valueField] <= range[1] && row[FIELD_ORIGIN][valueField] >= range[0];\n });\n }\n\n // step1. draw points with shadow\n const scale = this.scales[valueField];\n for (const obj of data) {\n const { x, y } = this.getDrawCfg(obj);\n const alpha = scale.scale(obj[FIELD_ORIGIN][valueField]);\n this.drawGrayScaleBlurredCircle((x as number) - start.x, (y as number) - end.y, radius + blur, alpha, ctx);\n }\n\n // step2. convert pixels\n const colored = ctx.getImageData(0, 0, width, height);\n this.clearShadowCanvasCtx();\n this.colorize(colored);\n ctx.putImageData(colored, 0, 0);\n const imageShape = this.getImageShape();\n imageShape.attr('x', start.x);\n imageShape.attr('y', end.y);\n imageShape.attr('width', width);\n imageShape.attr('height', height);\n imageShape.attr('img', ctx.canvas);\n imageShape.set('origin', this.getShapeInfo(data)); // 存储绘图信息数据\n }\n\n private getDefaultSize() {\n const position = this.getAttribute('position');\n const coordinate = this.coordinate;\n return Math.min(\n coordinate.getWidth() / (position.scales[0].ticks.length * 4),\n coordinate.getHeight() / (position.scales[1].ticks.length * 4)\n );\n }\n\n private clearShadowCanvasCtx() {\n const ctx = this.getShadowCanvasCtx();\n ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);\n }\n\n private getShadowCanvasCtx() {\n let canvas = this.shadowCanvas;\n if (!canvas) {\n canvas = document.createElement('canvas');\n this.shadowCanvas = canvas;\n }\n canvas.width = this.coordinate.getWidth();\n canvas.height = this.coordinate.getHeight();\n return canvas.getContext('2d');\n }\n\n private getGrayScaleBlurredCanvas() {\n if (!this.grayScaleBlurredCanvas) {\n this.grayScaleBlurredCanvas = document.createElement('canvas');\n }\n\n return this.grayScaleBlurredCanvas;\n }\n\n private drawGrayScaleBlurredCircle(x: number, y: number, r: number, alpha: number, ctx: CanvasRenderingContext2D) {\n const grayScaleBlurredCanvas = this.getGrayScaleBlurredCanvas();\n ctx.globalAlpha = alpha;\n ctx.drawImage(grayScaleBlurredCanvas, x - r, y - r);\n }\n\n private colorize(img: ImageData) {\n const colorAttr = this.getAttribute('color') as Color;\n const pixels = img.data;\n const paletteCache = this.paletteCache;\n for (let i = 3; i < pixels.length; i += 4) {\n const alpha = pixels[i]; // get gradient color from opacity value\n if (isNumber(alpha)) {\n const palette = paletteCache[alpha] ? paletteCache[alpha] : ColorUtil.rgb2arr(colorAttr.gradient(alpha / 256));\n pixels[i - 3] = palette[0];\n pixels[i - 2] = palette[1];\n pixels[i - 1] = palette[2];\n pixels[i] = alpha;\n }\n }\n }\n\n private getImageShape() {\n let imageShape = this.imageShape;\n if (imageShape) {\n return imageShape;\n }\n const container = this.container;\n imageShape = container.addShape({\n type: 'image',\n attrs: {},\n });\n this.imageShape = imageShape;\n return imageShape;\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n\n return {\n ...shapeCfg,\n mappingData,\n data: this.getData(mappingData),\n };\n }\n\n private getData(mappingData: MappingDatum[]): Data {\n return mappingData.map((obj: Datum) => {\n return obj[FIELD_ORIGIN];\n });\n }\n}\n","import { isArray, isNil } from '@antv/util';\nimport { PathCommand } from '../../../dependents';\nimport { Point, ShapePoint } from '../../../interface';\n\n/**\n * @ignore\n * 根据数据点生成矩形的四个关键点\n * @param pointInfo 数据点信息\n * @param [isPyramid] 是否为尖底漏斗图\n * @returns rect points 返回矩形四个顶点信息\n */\nexport function getRectPoints(pointInfo: ShapePoint, isPyramid = false): Point[] {\n const { x, y, y0, size } = pointInfo;\n // 有 4 种情况,\n // 1. x, y 都不是数组\n // 2. y是数组,x不是\n // 3. x是数组,y不是\n // 4. x, y 都是数组\n let yMin;\n let yMax;\n if (isArray(y)) {\n [yMin, yMax] = y;\n } else {\n yMin = y0;\n yMax = y;\n }\n\n let xMin;\n let xMax;\n if (isArray(x)) {\n [xMin, xMax] = x;\n } else {\n xMin = x - size / 2;\n xMax = x + size / 2;\n }\n\n const points = [\n { x: xMin, y: yMin },\n { x: xMin, y: yMax },\n ];\n\n if (isPyramid) {\n // 绘制尖底漏斗图\n // 金字塔漏斗图的关键点\n // 1\n // | 2\n // 0\n points.push({\n x: xMax,\n y: (yMax + yMin) / 2,\n });\n } else {\n // 矩形的四个关键点,结构如下(左下角顺时针连接)\n // 1 ---- 2\n // | |\n // 0 ---- 3\n points.push({ x: xMax, y: yMax }, { x: xMax, y: yMin });\n }\n\n return points;\n}\n\n/**\n * @ignore\n * 根据矩形关键点绘制 path\n * @param points 关键点数组\n * @param isClosed path 是否需要闭合\n * @returns 返回矩形的 path\n */\nexport function getRectPath(points: Point[], isClosed: boolean = true): PathCommand[] {\n const path = [];\n const firstPoint = points[0];\n path.push(['M', firstPoint.x, firstPoint.y]);\n for (let i = 1, len = points.length; i < len; i++) {\n path.push(['L', points[i].x, points[i].y]);\n }\n // 对于 shape=\"line\" path 不应该闭合,否则会造成 lineCap 绘图属性失效\n if (isClosed) {\n path.push(['L', firstPoint.x, firstPoint.y]); // 需要闭合\n path.push(['z']);\n }\n return path;\n}\n\n/**\n * @ignore\n * 根据 funnel 关键点绘制漏斗图的 path\n * @param points 图形关键点信息\n * @param nextPoints 下一个数据的图形关键点信息\n * @param isPyramid 是否为尖底漏斗图\n * @returns 返回漏斗图的图形 path\n */\nexport function getFunnelPath(points: Point[], nextPoints: Point[], isPyramid: boolean) {\n const path = [];\n if (!isNil(nextPoints)) {\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', nextPoints[1].x, nextPoints[1].y],\n ['L', nextPoints[0].x, nextPoints[0].y],\n ['Z']\n );\n } else if (isPyramid) {\n // 金字塔最底部\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', points[2].x, points[2].y],\n ['L', points[2].x, points[2].y],\n ['Z']\n );\n } else {\n // 漏斗图最底部\n path.push(\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['L', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['Z']\n );\n }\n\n return path;\n}\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getRectPath, getRectPoints } from './util';\n\n/** Interval 的 shape 工厂 */\nconst IntervalShapeFactory = registerShapeFactory('interval', {\n defaultShapeType: 'rect',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return getRectPoints(pointInfo);\n },\n});\n\n/** Inerval 默认 shape,填充的矩形 */\nregisterShape('interval', 'rect', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getRectPath(cfg.points as Point[]));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color, isInPolar } = markerCfg;\n if (isInPolar) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: color,\n },\n };\n }\n\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default IntervalShapeFactory;\n","import { flatten, isString, valuesOfKey } from '@antv/util';\nimport { getXDimensionLength } from '../../util/coordinate';\n\n// 已经排序后的数据查找距离最小的\nfunction findMinDistance(arr, scale) {\n const count = arr.length;\n let sourceArr = arr;\n if (isString(sourceArr[0])) {\n // 日期类型的 values 经常上文本类型,所以需要转换一下\n sourceArr = arr.map((v: string) => {\n return scale.translate(v);\n });\n }\n let distance = sourceArr[1] - sourceArr[0];\n for (let i = 2; i < count; i++) {\n const tmp = sourceArr[i] - sourceArr[i - 1];\n if (distance > tmp) {\n distance = tmp;\n }\n }\n return distance;\n}\n\nfunction getDodgeCount(dataArray, dodgeBy) {\n if (dodgeBy) {\n const mergeData = flatten(dataArray);\n const values = valuesOfKey(mergeData, dodgeBy);\n return values.length;\n }\n\n return dataArray.length;\n}\n\n/** @ignore */\nexport function getDefaultSize(geometry): number {\n const theme = geometry.theme;\n const coordinate = geometry.coordinate;\n const xScale = geometry.getXScale();\n const xValues = xScale.values;\n const dataArray = geometry.beforeMappingData;\n let count: number = xValues.length;\n if (xScale.isLinear && xValues.length > 1) {\n // Linear 类型用户有可能设置了 min, max 范围所以需要根据数据最小区间计算 count\n xValues.sort();\n const interval = findMinDistance(xValues, xScale);\n count = (xScale.max - xScale.min) / interval;\n if (xValues.length > count) {\n count = xValues.length;\n }\n }\n\n const range = xScale.range;\n let normalizedSize = 1 / count;\n let wr = 1;\n if (coordinate.isPolar) {\n if (coordinate.isTransposed && count > 1) {\n // 极坐标下多层环图\n wr = theme.multiplePieWidthRatio;\n } else {\n wr = theme.roseWidthRatio;\n }\n } else {\n if (xScale.isLinear) {\n normalizedSize *= range[1] - range[0];\n }\n wr = theme.columnWidthRatio;\n }\n normalizedSize *= wr;\n if (geometry.getAdjust('dodge')) {\n const dodgeAdjust = geometry.getAdjust('dodge');\n const dodgeBy = dodgeAdjust.dodgeBy;\n const dodgeCount = getDodgeCount(dataArray, dodgeBy);\n\n normalizedSize = normalizedSize / dodgeCount;\n }\n\n // 最大和最小限制\n const { maxColumnWidth, minColumnWidth } = theme;\n const xDimensionLength = getXDimensionLength(geometry.coordinate);\n if (maxColumnWidth) {\n const normalizedMaxColumnWidth = maxColumnWidth / xDimensionLength;\n if (normalizedSize > normalizedMaxColumnWidth) {\n normalizedSize = normalizedMaxColumnWidth;\n }\n }\n\n if (minColumnWidth) {\n const normalizedMinColumnWidth = minColumnWidth / xDimensionLength;\n if (normalizedSize < normalizedMinColumnWidth) {\n normalizedSize = normalizedMinColumnWidth;\n }\n }\n\n return normalizedSize;\n}\n","import { get } from '@antv/util';\nimport { Datum } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/interval';\nimport { getDefaultSize } from './util/shape-size';\n\n/**\n * Interval 几何标记。\n * 用于绘制柱状图、饼图、条形图、玫瑰图等。\n */\nexport default class Interval extends Geometry {\n public readonly type: string = 'interval';\n public readonly shapeType: string = 'interval';\n protected generatePoints: boolean = true;\n\n /**\n * 获取每条数据的 Shape 绘制信息\n * @param obj 经过分组 -> 数字化 -> adjust 调整后的数据记录\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg = super.createShapePointsCfg(obj);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, obj)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n\n /**\n * 调整 y 轴的 scale 范围。\n * 对于 Y 轴为数值轴柱状图,默认从 0 开始 生长。\n */\n protected adjustScale() {\n super.adjustScale();\n const yScale = this.getYScale();\n // 特殊逻辑:饼图需要填充满整个空间\n if (this.coordinate.type === 'theta') {\n yScale.change({\n nice: false,\n min: 0,\n // 发生过 stack 调整,yScale 的 max 被调整过,this.updateStackRange()\n max: Math.max(Math.max.apply(null, yScale.values), yScale.max),\n });\n } else {\n // 柱状图数值轴默认从 0 开始\n const scaleDefs = this.scaleDefs;\n const { field, min, max, type } = yScale;\n if (type !== 'time') {\n // time 类型不做调整\n // 柱状图的 Y 轴要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (min > 0 && !get(scaleDefs, [field, 'min'])) {\n yScale.change({\n min: 0,\n });\n }\n // 柱当柱状图全为负值时也需要从 0 开始生长,但是如果用户设置了则以用户的为准\n if (max <= 0 && !get(scaleDefs, [field, 'max'])) {\n yScale.change({\n max: 0,\n });\n }\n }\n }\n }\n}\n","import Path, { PathCfg } from './path';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/line';\n\n/**\n * Line 几何标记。\n * 常用于折线图的绘制。\n */\nexport default class Line extends Path {\n public type: string = 'line';\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { sortable = true } = cfg; // Line 默认会对数据按照 x 轴字段进行排序\n this.sortable = sortable;\n }\n}\n","/** @ignore */\nexport const MarkerSymbols = {\n hexagon: (x: number, y: number, r: number) => {\n const diffX = (r / 2) * Math.sqrt(3);\n return [\n ['M', x, y - r],\n ['L', x + diffX, y - r / 2],\n ['L', x + diffX, y + r / 2],\n ['L', x, y + r],\n ['L', x - diffX, y + r / 2],\n ['L', x - diffX, y - r / 2],\n ['Z'],\n ];\n },\n bowtie: (x: number, y: number, r: number) => {\n const diffY = r - 1.5;\n return [['M', x - r, y - diffY], ['L', x + r, y + diffY], ['L', x + r, y - diffY], ['L', x - r, y + diffY], ['Z']];\n },\n cross: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y - r],\n ['L', x + r, y + r],\n ['M', x + r, y - r],\n ['L', x - r, y + r],\n ];\n },\n tick: (x: number, y: number, r: number) => {\n return [\n ['M', x - r / 2, y - r],\n ['L', x + r / 2, y - r],\n ['M', x, y - r],\n ['L', x, y + r],\n ['M', x - r / 2, y + r],\n ['L', x + r / 2, y + r],\n ];\n },\n plus: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n hyphen: (x: number, y: number, r: number) => {\n return [\n ['M', x - r, y],\n ['L', x + r, y],\n ];\n },\n line: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n};\n","import { IGroup, IShape } from '../../../dependents';\nimport { ShapeInfo } from '../../../interface';\nimport { MarkerSymbols } from '../../../util/marker';\nimport { getStyle } from '../util/get-style';\n\nexport const SHAPES = ['circle', 'square', 'bowtie', 'diamond', 'hexagon', 'triangle', 'triangle-down'];\nexport const HOLLOW_SHAPES = ['cross', 'tick', 'plus', 'hyphen', 'line'];\n\n/**\n * @ignore\n * Draws points\n * @param shape\n * @param cfg\n * @param container\n * @param shapeName\n * @param isStroke\n * @returns points\n */\nexport function drawPoints(\n shape,\n cfg: ShapeInfo,\n container: IGroup,\n shapeName: string,\n isStroke: boolean\n): IShape | IGroup {\n const style = getStyle(cfg, isStroke, !isStroke, 'r');\n const points = shape.parsePoints(cfg.points);\n let pointPosition = points[0];\n if (cfg.isStack) {\n pointPosition = points[1];\n } else if (points.length > 1) {\n const group = container.addGroup();\n for (const point of points) {\n group.addShape({\n type: 'marker',\n attrs: {\n ...style,\n symbol: MarkerSymbols[shapeName] || shapeName,\n ...point,\n },\n });\n }\n return group;\n }\n\n return container.addShape({\n type: 'marker',\n attrs: {\n ...style,\n symbol: MarkerSymbols[shapeName] || shapeName,\n ...pointPosition,\n },\n });\n}\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape, registerShapeFactory } from '../base';\nimport { splitPoints } from '../util/split-points';\nimport { drawPoints, SHAPES } from './util';\n\nconst PointShapeFactory = registerShapeFactory('point', {\n defaultShapeType: 'hollow-circle',\n getDefaultPoints(pointInfo: ShapePoint): Point[] {\n return splitPoints(pointInfo);\n },\n});\n\neach(SHAPES, (shapeName: string) => {\n // 添加该 shape 对应的 hollow-shape\n registerShape('point', `hollow-${shapeName}`, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, true);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName] || shapeName,\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n },\n });\n});\n\nexport default PointShapeFactory;\n","import { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry from './base';\n/** 引入 Point 对应的 ShapeFactory */\nimport './shape/point';\n\n/**\n * Point 几何标记。\n * 常用于绘制点图。\n */\nexport default class Point extends Geometry {\n public readonly type: string = 'point';\n public readonly shapeType: string = 'point';\n protected generatePoints: boolean = true;\n\n /**\n * 获取一个点的绘制信息。\n * @param mappingDatum\n * @returns draw cfg\n */\n protected getDrawCfg(mappingDatum: MappingDatum): ShapeInfo {\n const shapeCfg = super.getDrawCfg(mappingDatum);\n\n return {\n ...shapeCfg,\n isStack: !!this.getAdjust('stack'), // 层叠点图\n };\n }\n}\n","import { each, isEmpty, isEqual, last } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape, registerShapeFactory } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getPath(points: any[]) {\n let flag: any = points[0];\n let i = 1;\n\n const path = [['M', flag.x, flag.y]];\n\n while (i < points.length) {\n const c: any = points[i];\n if (c.x !== points[i - 1].x || c.y !== points[i - 1].y) {\n path.push(['L', c.x, c.y]);\n if (c.x === flag.x && c.y === flag.y && i < points.length - 1) {\n flag = points[i + 1];\n path.push(['Z']);\n path.push(['M', flag.x, flag.y]);\n i++;\n }\n }\n i++;\n }\n\n if (!isEqual(last(path), flag)) {\n path.push(['L', flag.x, flag.y]);\n }\n\n path.push(['Z']);\n\n return path;\n}\n\nconst PolygonShapeFactory = registerShapeFactory('polygon', {\n defaultShapeType: 'polygon',\n getDefaultPoints(pointInfo: ShapePoint) {\n const points = [];\n each(pointInfo.x as number[], (subX, index) => {\n const subY = pointInfo.y[index];\n points.push({\n x: subX,\n y: subY,\n });\n });\n return points;\n },\n});\n\nregisterShape('polygon', 'polygon', {\n draw(cfg: ShapeInfo, container: IGroup) {\n if (!isEmpty(cfg.points)) {\n const shapeAttrs = getStyle(cfg, true, true);\n const path = this.parsePath(getPath(cfg.points));\n return container.addShape('path', {\n attrs: {\n ...shapeAttrs,\n path,\n },\n name: 'polygon',\n });\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n\nexport default PolygonShapeFactory;\n","import { isArray } from '@antv/util';\nimport { Datum } from '../interface';\nimport Geometry from './base';\n/** 引入 Path 对应的 ShapeFactory */\nimport './shape/polygon';\n\n/**\n * Polygon 几何标记。\n * 常用于绘制色块图、日历图等。\n */\nexport default class Polygon extends Geometry {\n public readonly type: string = 'polygon';\n public readonly shapeType: string = 'polygon';\n protected generatePoints: boolean = true;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param obj\n * @returns\n */\n protected createShapePointsCfg(obj: Datum) {\n const cfg: any = super.createShapePointsCfg(obj);\n let x = cfg.x;\n let y = cfg.y;\n let temp;\n // x y 都是数组时,不做处理\n if (!(isArray(x) && isArray(y))) {\n const xScale = this.getXScale();\n const yScale = this.getYScale();\n const xCount = xScale.values.length;\n const yCount = yScale.values.length;\n const xOffset = (0.5 * 1) / xCount;\n const yOffset = (0.5 * 1) / yCount;\n\n if (xScale.isCategory && yScale.isCategory) {\n // 如果x,y都是分类\n x = [x - xOffset, x - xOffset, x + xOffset, x + xOffset];\n y = [y - yOffset, y + yOffset, y + yOffset, y - yOffset];\n } else if (isArray(x)) {\n // x 是数组\n temp = x;\n x = [temp[0], temp[0], temp[1], temp[1]];\n y = [y - yOffset / 2, y + yOffset / 2, y + yOffset / 2, y - yOffset / 2];\n } else if (isArray(y)) {\n // y 是数组\n temp = y;\n y = [temp[0], temp[1], temp[1], temp[0]];\n x = [x - xOffset / 2, x - xOffset / 2, x + xOffset / 2, x + xOffset / 2];\n }\n cfg.x = x;\n cfg.y = y;\n }\n return cfg;\n }\n}\n","import { registerShapeFactory } from '../base';\n\nconst SchemaShapeFactory = registerShapeFactory('schema', {\n defaultShapeType: '', // 'schema' is for some custom shapes, so will not specify defaultShapeType\n});\n\nexport default SchemaShapeFactory;\n","import { LooseObject } from '../interface';\nimport { getXDimensionLength } from '../util/coordinate';\nimport Geometry from './base';\n/** 引入对应的 ShapeFactory */\nimport './shape/schema';\nimport { getDefaultSize } from './util/shape-size';\n\n/**\n * Schema 几何标记,用于一些自定义图形的绘制,比如箱型图、股票图等。\n */\nexport default class Schema extends Geometry {\n public readonly type: string = 'schema';\n public readonly shapeType: string = 'schema';\n protected generatePoints: boolean = true;\n\n /**\n * 获取 Shape 的关键点数据。\n * @param record\n * @returns\n */\n protected createShapePointsCfg(record: LooseObject) {\n const cfg = super.createShapePointsCfg(record);\n\n // 计算每个 shape 的 size\n let size;\n const sizeAttr = this.getAttribute('size');\n if (sizeAttr) {\n size = this.getAttributeValues(sizeAttr, record)[0];\n // 归一化\n const coordinate = this.coordinate;\n const coordinateWidth = getXDimensionLength(coordinate);\n size = size / coordinateWidth;\n } else {\n if (!this.defaultSize) {\n this.defaultSize = getDefaultSize(this);\n }\n size = this.defaultSize;\n }\n cfg.size = size;\n\n return cfg;\n }\n}\n","import { each } from '@antv/util';\nimport { Point } from '../../../interface';\n\n/**\n * @ignore\n * Gets cpath\n * @param from\n * @param to\n * @returns\n */\nexport function getCPath(from: Point, to: Point) {\n const points = [];\n points.push({\n x: from.x,\n y: (from.y * 1) / 2 + (to.y * 1) / 2,\n });\n\n points.push({\n x: to.x,\n y: (from.y * 1) / 2 + (to.y * 1) / 2,\n });\n points.push(to);\n\n const sub = ['C'];\n each(points, (point) => {\n sub.push(point.x, point.y);\n });\n\n return sub;\n}\n\n/**\n * @ignore\n * Gets qpath\n * @param to\n * @param center\n * @returns\n */\nexport function getQPath(to: Point, center: Point) {\n const points = [];\n points.push({\n x: center.x,\n y: center.y,\n });\n points.push(to);\n\n const sub = ['Q'];\n each(points, (point) => {\n sub.push(point.x, point.y);\n });\n\n return sub;\n}\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\nimport { registerShape } from '../base';\nimport { getShapeAttrs } from './util';\n\n/**\n * 描边但不填充的区域图\n */\nregisterShape('area', 'line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getShapeAttrs(cfg, true, false, this);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getConstraint, getShapeAttrs } from './util';\n\n/**\n * 填充的平滑曲面图\n */\nregisterShape('area', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const coordinate = this.coordinate;\n const attrs = getShapeAttrs(cfg, false, true, this, getConstraint(coordinate));\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n fill: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getConstraint, getShapeAttrs } from './util';\n\n/** 描边的平滑曲面图 */\nregisterShape('area', 'smooth-line', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const coordinate = this.coordinate;\n const attrs = getShapeAttrs(cfg, true, true, this, getConstraint(coordinate));\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'area',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number = 5.5) => {\n return [['M', x - r, y - 4], ['L', x + r, y - 4], ['L', x + r, y + 4], ['L', x - r, y + 4], ['Z']];\n },\n style: {\n r: 5,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { getArcPath } from '../../../util/graphics';\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getCPath, getQPath } from './util';\n\nfunction getArcShapePath(from: Point, to: Point, center: Point) {\n const sub = getQPath(to, center);\n const path = [['M', from.x, from.y]];\n path.push(sub);\n return path;\n}\n\nfunction getArcShapeWeightPath(points: Point[], center: Point) {\n const arc1 = getQPath(points[1], center);\n const arc2 = getQPath(points[3], center);\n const path = [['M', points[0].x, points[0].y]];\n path.push(arc2);\n path.push(['L', points[3].x, points[3].y]);\n path.push(['L', points[2].x, points[2].y]);\n path.push(arc1);\n path.push(['L', points[1].x, points[1].y]);\n path.push(['L', points[0].x, points[0].y]);\n path.push(['Z']);\n return path;\n}\n\n// 弧线包括笛卡尔坐标系下的半圆弧线、极坐标系下以圆心为控制点的二阶曲线、笛卡尔坐标系下带权重的三阶曲线、极坐标系下带权重的以圆心为控制点的二阶曲线\nregisterShape('edge', 'arc', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n\n let points = cfg.points as Point[];\n const type = points.length > 2 ? 'weight' : 'normal';\n let path;\n if (cfg.isInCircle) {\n const center = { x: 0, y: 1 };\n if (type === 'normal') {\n path = getArcShapePath(points[0], points[1], center);\n } else {\n style.fill = style.stroke;\n path = getArcShapeWeightPath(points, center);\n }\n path = this.parsePath(path);\n\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n } else {\n if (type === 'normal') {\n points = this.parsePoints(points);\n path = getArcPath(\n (points[1].x + points[0].x) / 2,\n points[0].y,\n Math.abs(points[1].x - points[0].x) / 2,\n Math.PI,\n Math.PI * 2\n );\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n } else {\n const c1 = getCPath(points[1], points[3]);\n const c2 = getCPath(points[2], points[0]);\n\n path = [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n c1,\n ['L', points[3].x, points[3].y],\n ['L', points[2].x, points[2].y],\n c2,\n ['Z'],\n ];\n path = this.parsePath(path);\n style.fill = style.stroke;\n\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n }\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getCPath } from './util';\n\nfunction getSmoothPath(from: Point, to: Point) {\n const sub = getCPath(from, to);\n const path = [['M', from.x, from.y]];\n\n path.push(sub);\n return path;\n}\n\nregisterShape('edge', 'smooth', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const points = cfg.points;\n const path = this.parsePath(getSmoothPath(points[0] as Point, points[1] as Point));\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nconst CORNER_PERCENT = 1 / 3;\n\nfunction getVHVPath(from: Point, to: Point) {\n const points = [];\n points.push({\n x: from.x,\n y: from.y * (1 - CORNER_PERCENT) + to.y * CORNER_PERCENT,\n });\n points.push({\n x: to.x,\n y: from.y * (1 - CORNER_PERCENT) + to.y * CORNER_PERCENT,\n });\n points.push(to);\n\n const path = [['M', from.x, from.y]];\n each(points, (point) => {\n path.push(['L', point.x, point.y]);\n });\n\n return path;\n}\n\nregisterShape('edge', 'vhv', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const points = cfg.points;\n const path = this.parsePath(getVHVPath(points[0] as Point, points[1] as Point));\n return container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: markerCfg.color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getFunnelPath, getRectPoints } from './util';\n\n/** 漏斗图 */\nregisterShape('interval', 'funnel', {\n getPoints(shapePoint: ShapePoint) {\n shapePoint.size = shapePoint.size * 2; // 漏斗图的 size 是柱状图的两倍\n return getRectPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getFunnelPath(cfg.points as Point[], cfg.nextPoints as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getRectPath } from './util';\n\n/** 描边柱状图 */\nregisterShape('interval', 'hollow-rect', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getRectPath(cfg.points as Point[]));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color, isInPolar } = markerCfg;\n if (isInPolar) {\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n }\n\n return {\n symbol: 'square',\n style: {\n r: 4,\n stroke: color,\n fill: null,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getRectPath } from './util';\n\n// 根据数据点生成 Line 的两个关键点\nfunction getLinePoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0 } = pointInfo;\n\n if (isArray(y)) {\n return y.map((yItem, idx) => {\n return {\n x: isArray(x) ? x[idx] : x,\n y: yItem,\n };\n });\n }\n\n // 起始点从 y0 开始\n return [\n { x: x as number, y: y0 },\n { x: x as number, y },\n ];\n}\n\nregisterShape('interval', 'line', {\n getPoints(shapePoint: ShapePoint) {\n return getLinePoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false, 'lineWidth');\n const path = this.parsePath(getRectPath(cfg.points as Point[], false));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x, y - r],\n ['L', x, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n","import { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\nimport { getFunnelPath, getRectPoints } from './util';\n\n/** 金字塔图,尖底漏斗图 */\nregisterShape('interval', 'pyramid', {\n getPoints(shapePoint: ShapePoint) {\n shapePoint.size = shapePoint.size * 2; // 漏斗图的 size 是柱状图的两倍\n return getRectPoints(shapePoint, true);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, false, true);\n const path = this.parsePath(getFunnelPath(cfg.points as Point[], cfg.nextPoints as Point[], true));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\n// 根据数据点生成 tick shape 的 6 个关键点\nfunction getTickPoints(pointInfo: ShapePoint): Point[] {\n const { x, y, y0, size } = pointInfo;\n let yMin;\n let yMax;\n if (isArray(y)) {\n [yMin, yMax] = y;\n } else {\n yMin = y0;\n yMax = y;\n }\n\n const xMax = (x as number) + size / 2;\n const xMin = (x as number) - size / 2;\n\n // tick 关键点顺序\n // 4 - 1 - 5\n // |\n // 2 - 0 - 3\n return [\n { x: x as number, y: yMin },\n { x: x as number, y: yMax },\n { x: xMin, y: yMin },\n { x: xMax, y: yMin },\n { x: xMin, y: yMax },\n { x: xMax, y: yMax },\n ];\n}\n\n// 根据 tick 关键点绘制 path\nfunction getTickPath(points: Point[]) {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ];\n}\n\n/** I 形状柱状图,常用于 error bar chart */\nregisterShape('interval', 'tick', {\n getPoints(shapePoint: ShapePoint) {\n return getTickPoints(shapePoint);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getTickPath(cfg.points as Point[]));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n },\n name: 'interval',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: (x: number, y: number, r: number) => {\n return [\n ['M', x - r / 2, y - r],\n ['L', x + r / 2, y - r],\n ['M', x, y - r],\n ['L', x, y + r],\n ['M', x - r / 2, y + r],\n ['L', x + r / 2, y + r],\n ];\n },\n style: {\n r: 5,\n stroke: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getPathPoints } from '../util/get-path-points';\nimport { getStyle } from '../util/get-style';\nimport { getLineMarker } from './util';\n\nconst interpolateCallback = (point: Point, nextPoint: Point, shapeType: string) => {\n const x = point.x as number;\n const y = point.y as number;\n const nextX = nextPoint.x as number;\n const nextY = nextPoint.y as number;\n let result;\n\n switch (shapeType) {\n case 'hv':\n result = [{ x: nextX, y }];\n break;\n case 'vh':\n result = [{ x, y: nextY }];\n break;\n case 'hvh':\n const middleX = (nextX + x) / 2;\n result = [\n { x: middleX, y },\n { x: middleX, y: nextY },\n ];\n break;\n case 'vhv':\n const middleY = (y + nextY) / 2;\n result = [\n { x, y: middleY },\n { x: nextX, y: middleY },\n ];\n break;\n default:\n break;\n }\n\n return result;\n};\n\nfunction getInterpolatePoints(points: Point[], shapeType: string) {\n let result = [];\n each(points, (point: Point, index) => {\n const nextPoint = points[index + 1];\n result.push(point);\n if (nextPoint) {\n const interpolatePoint = interpolateCallback(point, nextPoint, shapeType);\n result = result.concat(interpolatePoint);\n }\n });\n return result;\n}\n\n// 插值的图形path,不考虑null\nfunction getInterpolatePath(points: Point[]) {\n return points.map((point, index) => {\n return index === 0 ? ['M', point.x, point.y] : ['L', point.x, point.y];\n });\n}\n\n// 插值的图形\nfunction getInterpolateShapeAttrs(cfg: ShapeInfo, shapeType: string) {\n const points = getPathPoints(cfg.points, cfg.connectNulls, cfg.showSinglePoint); // 根据 connectNulls 值处理 points\n let path = [];\n each(points, (eachLinePoints) => {\n const interpolatePoints = getInterpolatePoints(eachLinePoints, shapeType);\n path = path.concat(getInterpolatePath(interpolatePoints));\n });\n\n return {\n ...getStyle(cfg, true, false, 'lineWidth'),\n path,\n };\n}\n\n// step line\neach(['hv', 'vh', 'hvh', 'vhv'], (shapeType) => {\n registerShape('line', shapeType, {\n draw(cfg: ShapeInfo, container: IGroup) {\n const attrs = getInterpolateShapeAttrs(cfg, shapeType);\n const shape = container.addShape({\n type: 'path',\n attrs,\n name: 'line',\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n return getLineMarker(markerCfg, shapeType);\n },\n });\n});\n","import { isArray, isNil } from '@antv/util';\nimport { IGroup, PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction parseValue(value: number[]) {\n const array = !isArray(value) ? [value] : value;\n\n const min = array[0]; // 最小值\n const max = array[array.length - 1]; // 最大值\n const min1 = array.length > 1 ? array[1] : min;\n const max1 = array.length > 3 ? array[3] : max;\n const median = array.length > 2 ? array[2] : min1;\n\n return {\n min, // 最小值\n max, // 最大值\n min1,\n max1,\n median,\n };\n}\n\nfunction getBoxPoints(x: number | number[], y: number | number[], size: number): Point[] {\n const halfSize = size / 2;\n let pointsArray;\n if (isArray(y)) {\n // 2维\n const { min, max, median, min1, max1 } = parseValue(y);\n const minX = (x as number) - halfSize;\n const maxX = (x as number) + halfSize;\n pointsArray = [\n [minX, max],\n [maxX, max],\n [x as number, max],\n [x as number, max1],\n [minX, min1],\n [minX, max1],\n [maxX, max1],\n [maxX, min1],\n [x as number, min1],\n [x as number, min],\n [minX, min],\n [maxX, min],\n [minX, median],\n [maxX, median],\n ];\n } else {\n // 只有一个维度\n y = isNil(y) ? 0.5 : y;\n const { min, max, median, min1, max1 } = parseValue(x as number[]);\n const minY = y - halfSize;\n const maxY = y + halfSize;\n pointsArray = [\n [min, minY],\n [min, maxY],\n [min, y],\n [min1, y],\n [min1, minY],\n [min1, maxY],\n [max1, maxY],\n [max1, minY],\n [max1, y],\n [max, y],\n [max, minY],\n [max, maxY],\n [median, minY],\n [median, maxY],\n ];\n }\n\n return pointsArray.map((arr) => {\n return {\n x: arr[0],\n y: arr[1],\n };\n });\n}\n\nfunction getBoxPath(points): PathCommand[] {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['L', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ['L', points[4].x, points[4].y], // 封闭 z\n ['Z'],\n ['M', points[8].x, points[8].y],\n ['L', points[9].x, points[9].y],\n ['M', points[10].x, points[10].y],\n ['L', points[11].x, points[11].y],\n ['M', points[12].x, points[12].y],\n ['L', points[13].x, points[13].y],\n ];\n}\n\n// box shape\nregisterShape('schema', 'box', {\n getPoints(shapePoint: ShapePoint) {\n const { x, y, size } = shapePoint;\n return getBoxPoints(x as number, y as number[], size);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, false);\n const path = this.parsePath(getBoxPath(cfg.points));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n name: 'schema',\n },\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol(x: number, y: number, r: number) {\n const yValues = [y - 6, y - 3, y, y + 3, y + 6];\n const points = getBoxPoints(x, yValues, r);\n return [\n ['M', points[0].x + 1, points[0].y],\n ['L', points[1].x - 1, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['M', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['L', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ['L', points[4].x, points[4].y],\n ['Z'],\n ['M', points[8].x, points[8].y],\n ['L', points[9].x, points[9].y],\n ['M', points[10].x + 1, points[10].y],\n ['L', points[11].x - 1, points[11].y],\n ['M', points[12].x, points[12].y],\n ['L', points[13].x, points[13].y],\n ];\n },\n style: {\n r: 6,\n lineWidth: 1,\n stroke: color,\n },\n };\n },\n});\n","import { isArray } from '@antv/util';\nimport { IGroup, PathCommand } from '../../../dependents';\nimport { Point, ShapeInfo, ShapeMarkerCfg, ShapePoint } from '../../../interface';\n\nimport { padEnd } from '../../../util/helper';\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getCandleYValues(value: number | number[]) {\n const array = !isArray(value) ? [value] : value;\n // 从大到小排序\n const sorted = array.sort((a, b) => b - a);\n return padEnd(sorted, 4, sorted[sorted.length - 1]);\n}\n\n// get candle shape's key points\nfunction getCandlePoints(x: number, y: number[], size: number): Point[] {\n const yValues = getCandleYValues(y);\n return [\n { x, y: yValues[0] },\n { x, y: yValues[1] },\n { x: x - size / 2, y: yValues[2] },\n { x: x - size / 2, y: yValues[1] },\n { x: x + size / 2, y: yValues[1] },\n { x: x + size / 2, y: yValues[2] },\n { x, y: yValues[2] },\n { x, y: yValues[3] },\n ];\n}\n\nfunction getCandlePath(points): PathCommand[] {\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['L', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['Z'],\n ['M', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ];\n}\n\n// k line shape\nregisterShape('schema', 'candle', {\n getPoints(shapePoint: ShapePoint) {\n const { x, y, size } = shapePoint;\n return getCandlePoints(x as number, y as number[], size);\n },\n draw(cfg: ShapeInfo, container: IGroup) {\n const style = getStyle(cfg, true, true);\n const path = this.parsePath(getCandlePath(cfg.points));\n const shape = container.addShape('path', {\n attrs: {\n ...style,\n path,\n name: 'schema',\n },\n });\n\n return shape;\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol(x: number, y: number, r: number) {\n const yValues = [y + 7.5, y + 3, y - 3, y - 7.5];\n const points = getCandlePoints(x, yValues, r);\n return [\n ['M', points[0].x, points[0].y],\n ['L', points[1].x, points[1].y],\n ['M', points[2].x, points[2].y],\n ['L', points[3].x, points[3].y],\n ['L', points[4].x, points[4].y],\n ['L', points[5].x, points[5].y],\n ['Z'],\n ['M', points[6].x, points[6].y],\n ['L', points[7].x, points[7].y],\n ];\n },\n style: {\n lineWidth: 1,\n stroke: color,\n fill: color,\n r: 6,\n },\n };\n },\n});\n","import { isEmpty, clamp } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nfunction getRectAttrs(points: any[], size: number) {\n const width = Math.abs(points[0].x - points[2].x);\n const height = Math.abs(points[0].y - points[2].y);\n\n let len = Math.min(width, height);\n if (size) {\n len = clamp(size, 0, Math.min(width, height));\n }\n len = len / 2;\n const centerX = (points[0].x + points[2].x) / 2;\n const centerY = (points[0].y + points[2].y) / 2;\n\n return {\n x: centerX - len,\n y: centerY - len,\n width: len * 2,\n height: len * 2,\n };\n}\n\nregisterShape('polygon', 'square', {\n draw(cfg: ShapeInfo, container: IGroup) {\n if (!isEmpty(cfg.points)) {\n const shapeAttrs = getStyle(cfg, true, true);\n const points = this.parsePoints(cfg.points); // 转换为画布坐标\n return container.addShape('rect', {\n attrs: {\n ...shapeAttrs,\n ...getRectAttrs(points, cfg.size), // 获取 rect 绘图信息\n },\n name: 'polygon',\n });\n }\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'square',\n style: {\n r: 4,\n fill: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape } from '../base';\nimport { drawPoints, HOLLOW_SHAPES } from './util';\n\n// 添加 hollowShape\neach(HOLLOW_SHAPES, (shapeName: string) => {\n registerShape('point', shapeName, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, true);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName],\n style: {\n r: 4.5,\n stroke: color,\n fill: null,\n },\n };\n },\n });\n});\n","import { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { registerShape } from '../base';\nimport { getStyle } from '../util/get-style';\n\nregisterShape('point', 'image', {\n draw(cfg: ShapeInfo, container: IGroup) {\n const { r: size } = getStyle(cfg, false, false, 'r');\n const points = this.parsePoints(cfg.points);\n let pointPosition = points[0];\n if (cfg.isStack) {\n pointPosition = points[1];\n } else if (points.length > 1) {\n const group = container.addGroup();\n for (const point of points) {\n group.addShape('image', {\n attrs: {\n x: (point.x as number) - size / 2,\n y: (point.y as number) - size,\n width: size,\n height: size,\n img: cfg.shape[1],\n },\n });\n }\n\n return group;\n }\n\n return container.addShape('image', {\n attrs: {\n x: (pointPosition.x as number) - size / 2,\n y: (pointPosition.y as number) - size,\n width: size,\n height: size,\n img: cfg.shape[1],\n },\n });\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: 'circle',\n style: {\n r: 4.5,\n fill: color,\n },\n };\n },\n});\n","import { each } from '@antv/util';\nimport { IGroup } from '../../../dependents';\nimport { ShapeInfo, ShapeMarkerCfg } from '../../../interface';\n\nimport { MarkerSymbols } from '../../../util/marker';\nimport { registerShape } from '../base';\nimport { drawPoints, SHAPES } from './util';\n\n// 所有的 SHAPES 都注册一下\neach(SHAPES, (shapeName: string) => {\n registerShape('point', shapeName, {\n draw(cfg: ShapeInfo, container: IGroup) {\n return drawPoints(this, cfg, container, shapeName, false);\n },\n getMarker(markerCfg: ShapeMarkerCfg) {\n const { color } = markerCfg;\n return {\n symbol: MarkerSymbols[shapeName] || shapeName,\n style: {\n r: 4.5,\n fill: color,\n },\n };\n },\n });\n});\n","import { get } from '@antv/util';\n\nimport { MappingDatum, Point } from '../../interface';\nimport GeometryLabel from './base';\nimport { LabelPointCfg } from './interface';\n\n/**\n * 柱状图 label\n */\nexport default class IntervalLabel extends GeometryLabel {\n protected setLabelPosition(labelPointCfg: LabelPointCfg, mappingData: MappingDatum, index: number, position: string) {\n const coordinate = this.getCoordinate();\n const transposed = coordinate.isTransposed;\n const shapePoints = mappingData.points as Point[];\n const point0 = coordinate.convert(shapePoints[0]);\n const point1 = coordinate.convert(shapePoints[2]);\n const flag = transposed ? -1 : 1;\n const width = ((point0.x - point1.x) / 2) * flag;\n const height = ((point0.y - point1.y) / 2) * flag;\n\n switch (position) {\n case 'right':\n if (!transposed) {\n labelPointCfg.x -= width;\n labelPointCfg.y += height;\n }\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'left');\n break;\n case 'left':\n if (transposed) {\n labelPointCfg.x -= width * 2;\n } else {\n labelPointCfg.x += width;\n labelPointCfg.y += height;\n }\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'right');\n break;\n case 'bottom':\n if (transposed) {\n labelPointCfg.x -= width;\n labelPointCfg.y -= height;\n } else {\n labelPointCfg.y += height * 2;\n }\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', 'top');\n break;\n case 'middle':\n if (transposed) {\n labelPointCfg.x -= width;\n } else {\n labelPointCfg.y += height;\n }\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n break;\n case 'top':\n if (transposed) {\n labelPointCfg.x -= width;\n labelPointCfg.y += height;\n }\n labelPointCfg.textAlign = get(labelPointCfg, 'textAlign', 'center');\n labelPointCfg.textBaseline = get(labelPointCfg, 'textBaseline', 'bottom');\n break;\n default:\n break;\n }\n }\n}\n","import { each, isArray } from '@antv/util';\nimport { MappingDatum, Point } from '../../interface';\nimport { getDistanceToCenter } from '../../util/coordinate';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport GeometryLabel from './base';\nimport { LabelCfg, LabelItem, LabelPointCfg } from './interface';\n\nconst HALF_PI = Math.PI / 2;\n\n/**\n * 极坐标下的图形 label\n */\nexport default class PolarLabel extends GeometryLabel {\n /**\n * @override\n * 获取文本的对齐方式\n * @param point\n */\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n let align;\n if (point.labelEmit) {\n align = point.angle <= Math.PI / 2 && point.angle >= -Math.PI / 2 ? 'left' : 'right';\n } else if (!coordinate.isTransposed) {\n align = 'center';\n } else {\n const center = coordinate.getCenter();\n const offset = this.getDefaultOffset(point.offset);\n if (Math.abs(point.x - center.x) < 1) {\n align = 'center';\n } else if (point.angle > Math.PI || point.angle <= 0) {\n align = offset > 0 ? 'left' : 'right';\n } else {\n align = offset > 0 ? 'right' : 'left';\n }\n }\n return align;\n }\n\n /**\n * @override\n * 获取 label 的位置\n * @param labelCfg\n * @param mappingData\n * @param index\n */\n protected getLabelPoint(labelCfg: LabelCfg, mappingData: MappingDatum, index: number): LabelPointCfg {\n let factor = 1;\n let arcPoint;\n const content = labelCfg.content[index];\n if (this.isToMiddle(mappingData)) {\n arcPoint = this.getMiddlePoint(mappingData.points as Point[]);\n } else {\n if (labelCfg.content.length === 1 && index === 0) {\n index = 1;\n } else if (index === 0) {\n factor = -1;\n }\n arcPoint = this.getArcPoint(mappingData, index);\n }\n\n const offset = this.getDefaultOffset(labelCfg.offset) * factor;\n const middleAngle = this.getPointAngle(arcPoint);\n const isLabelEmit = labelCfg.labelEmit;\n const labelPositionCfg: LabelPointCfg = this.getCirclePoint(middleAngle, offset, arcPoint, isLabelEmit);\n if (labelPositionCfg.r === 0) {\n // 如果文本位置位于圆心,则不展示\n labelPositionCfg.content = '';\n } else {\n labelPositionCfg.content = content;\n labelPositionCfg.angle = middleAngle;\n labelPositionCfg.color = mappingData.color;\n }\n\n labelPositionCfg.rotate = labelCfg.autoRotate\n ? this.getLabelRotate(middleAngle, offset, isLabelEmit)\n : labelCfg.rotate;\n labelPositionCfg.start = {\n x: arcPoint.x,\n y: arcPoint.y,\n };\n return labelPositionCfg;\n }\n\n /**\n * 获取圆弧的位置\n */\n protected getArcPoint(mappingData: MappingDatum, index: number = 0): Point {\n if (!isArray(mappingData.x) && !isArray(mappingData.y)) {\n return {\n x: mappingData.x,\n y: mappingData.y,\n };\n }\n\n return {\n x: isArray(mappingData.x) ? mappingData.x[index] : mappingData.x,\n y: isArray(mappingData.y) ? mappingData.y[index] : mappingData.y,\n };\n }\n\n /**\n * 计算坐标线点在极坐标系下角度\n * @param point\n */\n protected getPointAngle(point: Point): number {\n return getAngleByPoint(this.getCoordinate(), point);\n }\n\n /**\n * 获取坐标点与圆心形成的圆的位置信息\n * @param angle\n * @param offset\n * @param point\n * @param isLabelEmit\n */\n protected getCirclePoint(angle: number, offset: number, point: Point, isLabelEmit: boolean) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n let r = getDistanceToCenter(coordinate, point);\n if (r === 0) {\n return {\n ...center,\n r,\n };\n }\n\n let labelAngle = angle;\n if (coordinate.isTransposed && r > offset && !isLabelEmit) {\n const appendAngle = Math.asin(offset / (2 * r));\n labelAngle = angle + appendAngle * 2;\n } else {\n r = r + offset;\n }\n\n return {\n x: center.x + r * Math.cos(labelAngle),\n y: center.y + r * Math.sin(labelAngle),\n r,\n };\n }\n\n /**\n * 获取 label 的旋转角度\n * @param angle\n * @param offset\n * @param isLabelEmit\n */\n protected getLabelRotate(angle: number, offset: number, isLabelEmit: boolean) {\n let rotate = angle + HALF_PI;\n if (isLabelEmit) {\n rotate -= HALF_PI;\n }\n if (rotate) {\n if (rotate > HALF_PI) {\n rotate = rotate - Math.PI;\n } else if (rotate < -HALF_PI) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n // 获取中心的位置\n private getMiddlePoint(points: Point[]) {\n const coordinate = this.getCoordinate();\n const count = points.length;\n let middlePoint = {\n x: 0,\n y: 0,\n };\n each(points, (point: Point) => {\n middlePoint.x += point.x;\n middlePoint.y += point.y;\n });\n middlePoint.x /= count;\n middlePoint.y /= count;\n\n middlePoint = coordinate.convert(middlePoint);\n return middlePoint;\n }\n\n // 是否居中\n private isToMiddle(mappingData: MappingDatum) {\n return (mappingData.x as number[]).length > 2;\n }\n}\n","import { get, isArray } from '@antv/util';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport Geometry from '../base';\nimport { LabelItem } from './interface';\nimport PolarLabel from './polar';\n\n/**\n * 饼图 label\n */\nexport default class PieLabel extends PolarLabel {\n public defaultLayout = 'distribute';\n\n constructor(geometry: Geometry) {\n super(geometry);\n }\n\n protected getDefaultLabelCfg() {\n return get(this.geometry.theme, 'pieLabels', {});\n }\n\n protected getDefaultOffset(offset) {\n return offset || 0;\n }\n\n protected getLabelRotate(angle: number, offset: number, isLabelLimit: boolean) {\n let rotate;\n if (offset < 0) {\n rotate = angle;\n if (rotate > Math.PI / 2) {\n rotate = rotate - Math.PI;\n }\n if (rotate < -Math.PI / 2) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n\n let align;\n if (point.angle <= Math.PI / 2 && point.x >= center.x) {\n align = 'left';\n } else {\n align = 'right';\n }\n const offset = this.getDefaultOffset(point.offset);\n if (offset <= 0) {\n if (align === 'right') {\n align = 'left';\n } else {\n align = 'right';\n }\n }\n return align;\n }\n\n protected getArcPoint(point) {\n return point;\n }\n\n protected getPointAngle(point) {\n const coordinate = this.getCoordinate();\n const startPoint = {\n x: isArray(point.x) ? point.x[0] : point.x,\n y: point.y[0],\n };\n const endPoint = {\n x: isArray(point.x) ? point.x[1] : point.x,\n y: point.y[1],\n };\n let angle;\n const startAngle = getAngleByPoint(coordinate, startPoint);\n if (point.points && point.points[0].y === point.points[1].y) {\n angle = startAngle;\n } else {\n let endAngle = getAngleByPoint(coordinate, endPoint);\n if (startAngle >= endAngle) {\n // 100% pie slice\n endAngle = endAngle + Math.PI * 2;\n }\n angle = startAngle + (endAngle - startAngle) / 2;\n }\n return angle;\n }\n\n protected getCirclePoint(angle, offset, p?) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n const r = coordinate.getRadius() + offset;\n return {\n ...polarToCartesian(center.x, center.y, r, angle),\n angle,\n r,\n };\n }\n}\n","import { each } from '@antv/util';\nimport { BBox, IGroup, IShape } from '../../../dependents';\nimport { LabelItem } from '../interface';\n\nconst MAX_TIMES = 100;\n\n/** @ignore */\ninterface Bitmap {\n [key: number]: {\n [key: number]: boolean;\n };\n}\n\n/** @ignore */\ninterface GreedyCfg {\n readonly xGap?: number;\n readonly yGap?: number;\n}\n\n/**\n * @ignore\n * Greedy 贪婪算法\n */\nclass Greedy {\n public readonly xGap: number;\n /** optimizing for text overlapping detection: use a min text height as gap */\n public readonly yGap: number;\n\n private bitmap: Bitmap = {};\n\n constructor(cfg: GreedyCfg = {}) {\n const { xGap = 1, yGap = 8 } = cfg;\n this.xGap = xGap;\n this.yGap = yGap;\n }\n\n public hasGap(bbox: BBox): boolean {\n let hasGap = true;\n const bitmap = this.bitmap;\n const minX = Math.round(bbox.minX);\n const maxX = Math.round(bbox.maxX);\n const minY = Math.round(bbox.minY);\n const maxY = Math.round(bbox.maxY);\n for (let i = minX; i <= maxX; i += 1) {\n if (!bitmap[i]) {\n bitmap[i] = {};\n continue;\n }\n if (i === minX || i === maxX) {\n for (let j = minY; j <= maxY; j++) {\n if (bitmap[i][j]) {\n hasGap = false;\n break;\n }\n }\n } else {\n if (bitmap[i][minY] || bitmap[i][maxY]) {\n hasGap = false;\n break;\n }\n }\n }\n return hasGap;\n }\n\n public fillGap(bbox: BBox): void {\n const bitmap = this.bitmap;\n const minX = Math.round(bbox.minX);\n const maxX = Math.round(bbox.maxX);\n const minY = Math.round(bbox.minY);\n const maxY = Math.round(bbox.maxY);\n // filling grid\n for (let i = minX; i <= maxX; i += 1) {\n if (!bitmap[i]) {\n bitmap[i] = {};\n }\n }\n for (let i = minX; i <= maxX; i += this.xGap) {\n for (let j = minY; j <= maxY; j += this.yGap) {\n bitmap[i][j] = true;\n }\n bitmap[i][maxY] = true;\n }\n\n // filling y edges\n if (this.yGap !== 1) {\n for (let i = minY; i <= maxY; i += 1) {\n bitmap[minX][i] = true;\n bitmap[maxX][i] = true;\n }\n }\n\n // filling x edges\n if (this.xGap !== 1) {\n for (let i = minX; i <= maxX; i += 1) {\n bitmap[i][minY] = true;\n bitmap[i][maxY] = true;\n }\n }\n }\n\n public destroy(): void {\n this.bitmap = {};\n }\n}\n\nfunction spiralFill(label: IShape, greedy: Greedy, maxTimes: number = MAX_TIMES) {\n const dt = -1;\n const { x, y } = label.attr();\n const bbox = label.getCanvasBBox();\n const maxDelta = Math.sqrt(bbox.width * bbox.width + bbox.height * bbox.height);\n let dxdy;\n let t = -dt;\n let dx = 0;\n let dy = 0;\n const f = (param: number) => {\n const nt = param * 0.1;\n return [nt * Math.cos(nt), nt * Math.sin(nt)];\n };\n\n if (greedy.hasGap(bbox)) {\n greedy.fillGap(bbox);\n return true;\n }\n let canFill = false;\n let times = 0;\n const accessedCache = {};\n while (Math.min(Math.abs(dx), Math.abs(dy)) < maxDelta && times < maxTimes) {\n dxdy = f((t += dt));\n dx = ~~dxdy[0];\n dy = ~~dxdy[1];\n if ((!dx && !dy) || accessedCache[`${dx}-${dy}`]) {\n continue;\n }\n label.attr({ x: x + dx, y: y + dy });\n if (dx + dy < 0) {\n label.attr('textAlign', 'right');\n }\n times++;\n if (greedy.hasGap(label.getCanvasBBox())) {\n greedy.fillGap(label.getCanvasBBox());\n canFill = true;\n accessedCache[`${dx}-${dy}`] = true;\n break;\n }\n }\n return canFill;\n}\n\n/*\n * 根据如下规则尝试放置label\n * 5\n * ------------------\n * | 1 | 0 |\n * 8 —————————4———————— 7\n * | 2 | 3 |\n * ——————————————————\n * 6\n */\nfunction adjustLabelPosition(label: IShape, x: number, y: number, index: number) {\n const { width, height } = label.getCanvasBBox();\n const attrs = {\n x,\n y,\n textAlign: 'center',\n };\n switch (index) {\n case 0:\n attrs.y -= height + 1;\n attrs.x += 1;\n attrs.textAlign = 'left';\n break;\n case 1:\n attrs.y -= height + 1;\n attrs.x -= 1;\n attrs.textAlign = 'right';\n break;\n case 2:\n attrs.y += height + 1;\n attrs.x -= 1;\n attrs.textAlign = 'right';\n break;\n case 3:\n attrs.y += height + 1;\n attrs.x += 1;\n attrs.textAlign = 'left';\n break;\n case 5:\n attrs.y -= height * 2 + 2;\n break;\n case 6:\n attrs.y += height * 2 + 2;\n break;\n case 7:\n attrs.x += width + 1;\n attrs.textAlign = 'left';\n break;\n case 8:\n attrs.x -= width + 1;\n attrs.textAlign = 'right';\n break;\n default:\n break;\n }\n label.attr(attrs);\n return label.getCanvasBBox();\n}\n\n/**\n * @ignore\n * label 防遮挡布局:在不改变 label 位置的情况下对相互重叠的 label 进行调整。\n * 不同于 'overlap' 类型的布局,该布局不会对 label 的位置进行偏移调整。\n * @param labels 参与布局调整的 label 数组集合\n */\nexport function fixedOverlap(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[], region: BBox) {\n const greedy = new Greedy();\n each(labels, (label: IGroup) => {\n const labelShape = label.find((shape) => shape.get('type') === 'text') as IShape;\n if (!spiralFill(labelShape, greedy)) {\n label.remove(true);\n }\n });\n greedy.destroy();\n}\n\n/**\n * @ignore\n * label 防遮挡布局:为了防止 label 之间相互覆盖同时保证尽可能多 的 label 展示,通过尝试将 label 向**四周偏移**来剔除放不下的 label\n * @param labels 参与布局调整的 label 数组集合\n */\nexport function overlap(items: LabelItem[], labels: IGroup[], shapes: IShape[] | IGroup[], region: BBox) {\n const greedy = new Greedy();\n each(labels, (label: IGroup) => {\n const labelShape = label.find((shape) => shape.get('type') === 'text') as IShape;\n const { x, y } = labelShape.attr();\n let canFill = false;\n for (let i = 0; i <= 8; i++) {\n const bbox = adjustLabelPosition(labelShape, x, y, i);\n if (greedy.hasGap(bbox)) {\n greedy.fillGap(bbox);\n canFill = true;\n break;\n }\n }\n if (!canFill) {\n label.remove(true);\n }\n });\n\n greedy.destroy();\n}\n","import { ext } from '@antv/matrix-util';\nimport { Coordinate, IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg, Point } from '../../interface';\n\n/**\n * @ignore\n * 对图形元素进行矩阵变换,同时返回变换前的图形矩阵\n * @param shape 进行矩阵变换的图形\n * @param vector 矩阵变换的中心点\n * @param direct 矩阵变换的类型\n */\nexport function transformShape(shape: IShape | IGroup, vector: [number, number], direct: string): number[] {\n let scaledMatrix;\n\n const [x, y] = vector;\n shape.applyToMatrix([x, y, 1]);\n if (direct === 'x') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 1],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 1],\n ['t', x, y],\n ]);\n } else if (direct === 'y') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 1, 0.01],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 1, 100],\n ['t', x, y],\n ]);\n } else if (direct === 'xy') {\n shape.setMatrix(\n ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ])\n );\n scaledMatrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]);\n }\n return scaledMatrix;\n}\n\n/**\n * 对图形元素进行剪切动画\n * @param element 进行动画的图形元素\n * @param animateCfg 动画配置\n * @param coordinate 当前坐标系\n * @param yMinPoint y 轴的最小值对应的图形坐标点\n * @param type 剪切动画的类型\n */\nexport function doScaleAnimate(\n element: IGroup | IShape,\n animateCfg: GAnimateCfg,\n coordinate: Coordinate,\n yMinPoint: Point,\n type: string\n) {\n const { start, end } = coordinate;\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n let x: number;\n let y: number;\n\n if (type === 'y') {\n x = start.x + width / 2;\n y = yMinPoint.y < start.y ? yMinPoint.y : start.y;\n } else if (type === 'x') {\n x = yMinPoint.x > start.x ? yMinPoint.x : start.x;\n y = start.y + height / 2;\n } else if (type === 'xy') {\n if (coordinate.isPolar) {\n x = coordinate.getCenter().x;\n y = coordinate.getCenter().y;\n } else {\n x = (start.x + end.x) / 2;\n y = (start.y + end.y) / 2;\n }\n }\n\n const endMatrix = transformShape(element, [x, y], type);\n element.animate(\n {\n matrix: endMatrix,\n },\n animateCfg\n );\n}\n","import getArcParams from '@antv/g-canvas/lib/util/arc-params';\nimport { isNumberEqual, isEqual } from '@antv/util';\n\nimport { IShape, PathCommand } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nimport { getArcPath, getSectorPath } from '../../util/graphics';\n\nfunction getAngle(startPoint: number[], arcPath: PathCommand) {\n let { startAngle, endAngle } = getArcParams(startPoint, arcPath);\n\n if (!isNumberEqual(startAngle, -Math.PI * 0.5) && startAngle < -Math.PI * 0.5) {\n startAngle += Math.PI * 2;\n }\n if (!isNumberEqual(endAngle, -Math.PI * 0.5) && endAngle < -Math.PI * 0.5) {\n endAngle += Math.PI * 2;\n }\n\n if (arcPath[5] === 0) {\n // 逆时针,需要将 startAngle 和 endAngle 转置,因为 G2 极坐标系为顺时针方向\n [startAngle, endAngle] = [endAngle, startAngle];\n }\n\n if (isNumberEqual(startAngle, Math.PI * 1.5)) {\n startAngle = Math.PI * -0.5;\n }\n\n if (isNumberEqual(endAngle, Math.PI * -0.5)) {\n endAngle = Math.PI * 1.5;\n }\n\n return {\n startAngle,\n endAngle,\n };\n}\n\nfunction getArcStartPoint(path: PathCommand) {\n let startPoint;\n if (path[0] === 'M' || path[0] === 'L') {\n startPoint = [path[1], path[2]];\n } else if (path[0] === 'a' || path[0] === 'A') {\n startPoint = [path[path.length - 2], path[path.length - 1]];\n }\n\n return startPoint;\n}\n\n/**\n * path 存在以下情况\n * 1. 饼图不为整圆的 path,命令为 M, L, A, L, Z\n * 2. 饼图为整圆的 path,命令为 M, M, A, A, M, Z\n * 3. 环图不为整圆的 path,命令为 M, A, L, A, L, Z\n * 4. 环图为整圆的 path,命令为 M, A, A, M, A, A, M, Z\n * 5. radial-line, 不为整圆时的 path, 命令为 M, A, A, Z\n * 6. radial-line, 为整圆时的 path,命令为 M, A, A, A, A, Z\n * @param path theta 坐标系下圆弧的 path 命令\n */\nfunction getArcInfo(path: PathCommand[]) {\n let startAngle;\n let endAngle;\n\n const arcPaths = path.filter((command) => {\n return command[0] === 'A' || command[0] === 'a';\n });\n\n const firstArcPathCommand = arcPaths[0];\n const lastArcPathCommand = arcPaths.length > 1 ? arcPaths[1] : arcPaths[0];\n const firstIndex = path.indexOf(firstArcPathCommand);\n const lastIndex = path.indexOf(lastArcPathCommand);\n const firstStartPoint = getArcStartPoint(path[firstIndex - 1]);\n const lastStartPoint = getArcStartPoint(path[lastIndex - 1]);\n\n const { startAngle: firstStartAngle, endAngle: firstEndAngle } = getAngle(firstStartPoint, firstArcPathCommand);\n const { startAngle: lastStartAngle, endAngle: lastEndAngle } = getAngle(lastStartPoint, lastArcPathCommand);\n\n if (isNumberEqual(firstStartAngle, lastStartAngle) && isNumberEqual(firstEndAngle, lastEndAngle)) {\n startAngle = firstStartAngle;\n endAngle = firstEndAngle;\n } else {\n startAngle = Math.min(firstStartAngle, lastStartAngle);\n endAngle = Math.max(firstEndAngle, lastEndAngle);\n }\n\n let radius = firstArcPathCommand[1];\n let innerRadius = arcPaths[arcPaths.length - 1][1];\n if (radius < innerRadius) {\n [radius, innerRadius] = [innerRadius, radius];\n } else if (radius === innerRadius) {\n innerRadius = 0;\n }\n\n return {\n startAngle,\n endAngle,\n radius,\n innerRadius,\n };\n}\n\n/**\n * @ignore\n * 饼图更新动画\n * @param shape 文本图形\n * @param animateCfg\n * @param cfg\n */\nexport function sectorPathUpdate(shape: IShape, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n const { toAttrs, coordinate } = cfg;\n // @ts-ignore\n const path = toAttrs.path;\n const pathCommands = path.map((command) => command[0]);\n\n const { startAngle: curStartAngle, endAngle: curEndAngle, radius, innerRadius } = getArcInfo(path);\n const { startAngle: preStartAngle, endAngle: preEndAngle } = getArcInfo(shape.attr('path'));\n\n const center = coordinate.getCenter();\n const diffStartAngle = curStartAngle - preStartAngle;\n const diffEndAngle = curEndAngle - preEndAngle;\n\n shape.animate(\n (ratio) => {\n const onFrameStartAngle = preStartAngle + ratio * diffStartAngle;\n const onFrameEndAngle = preEndAngle + ratio * diffEndAngle;\n return {\n ...toAttrs,\n path:\n // hack, 兼容 /examples/bar/basic/demo/radial-line.ts 动画\n isEqual(pathCommands, ['M', 'A', 'A', 'Z'])\n ? getArcPath(center.x, center.y, radius, onFrameStartAngle, onFrameEndAngle)\n : getSectorPath(center.x, center.y, radius, onFrameStartAngle, onFrameEndAngle, innerRadius),\n };\n },\n {\n ...animateCfg,\n callback: () => {\n // 将 path 保持原始态,否则会影响 setState() 的动画\n shape.attr('path', path);\n },\n }\n );\n}\n","import { ext } from '@antv/matrix-util';\nimport { each } from '@antv/util';\nimport { IGroup, IShape } from '../../dependents';\nimport { GAnimateCfg } from '../../interface';\nimport { AnimateExtraCfg } from '../interface';\n\nfunction doShapeZoom(shape: IShape | IGroup, animateCfg: GAnimateCfg, type: 'zoomIn' | 'zoomOut') {\n if (shape.isGroup()) {\n each((shape as IGroup).getChildren(), (child) => {\n doShapeZoom(child, animateCfg, type);\n });\n } else {\n const bbox = shape.getBBox();\n const x = (bbox.minX + bbox.maxX) / 2;\n const y = (bbox.minY + bbox.maxY) / 2;\n shape.applyToMatrix([x, y, 1]);\n\n if (type === 'zoomIn') {\n // 放大\n const matrix = ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]);\n shape.setMatrix(matrix);\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 100, 100],\n ['t', x, y],\n ]),\n },\n animateCfg\n );\n } else {\n shape.animate(\n {\n matrix: ext.transform(shape.getMatrix(), [\n ['t', -x, -y],\n ['s', 0.01, 0.01],\n ['t', x, y],\n ]),\n },\n {\n ...animateCfg,\n callback: () => {\n shape.remove(true);\n },\n }\n );\n }\n }\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * shape 以自身中心点逐渐放大的进入动画\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomIn(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomIn');\n}\n\n/**\n * @ignore\n * 单个 shape 动画\n * 消失动画,shape 以自身为中心点的逐渐缩小\n * @param shape 参与动画的图形元素\n * @param animateCfg 动画配置\n * @param cfg 额外信息\n */\nexport function zoomOut(shape: IShape | IGroup, animateCfg: GAnimateCfg, cfg: AnimateExtraCfg) {\n doShapeZoom(shape, animateCfg, 'zoomOut');\n}\n","import { DIRECTION } from '../constant';\nimport { Point } from '../dependents';\nimport { FacetTitle } from '../interface';\n\n/**\n * @ignore\n * 获取 facet title 的最佳默认配置,防止\n */\nexport function getFactTitleConfig(direction: DIRECTION): FacetTitle {\n if ([DIRECTION.TOP, DIRECTION.BOTTOM].includes(direction)) {\n return {\n offsetX: 0,\n offsetY: direction === DIRECTION.TOP ? -8 : 8,\n style: {\n textAlign: 'center',\n textBaseline: direction === DIRECTION.TOP ? 'bottom' : 'top',\n },\n };\n }\n\n if ([DIRECTION.LEFT, DIRECTION.RIGHT].includes(direction)) {\n return {\n offsetX: direction === DIRECTION.LEFT ? -8 : 8,\n offsetY: 0,\n style: {\n textAlign: direction === DIRECTION.LEFT ? 'right' : 'left',\n textBaseline: 'middle',\n rotate: Math.PI / 2, // 文本阅读习惯从上往下\n },\n };\n }\n\n return {};\n}\n\n/**\n * @ignore\n * 根据角度,获取 ○ 上的点\n * @param center\n * @param r\n * @param angle\n */\nexport function getAnglePoint(center: Point, r: number, angle: number): Point {\n return {\n x: center.x + r * Math.cos(angle),\n y: center.y + r * Math.sin(angle),\n };\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { AxisCfg, CircleCfg, CircleData, Datum } from '../interface';\n\nimport View from '../chart/view';\nimport { DIRECTION } from '../constant';\nimport { getAnglePoint, getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Circle extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'circle',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 根据总数和当前索引,计算分面的 region\n * @param count\n * @param index\n */\n protected getRegion(count: number, index: number) {\n const r = 1 / 2; // 画布半径\n // 画布圆心\n const center = { x: 0.5, y: 0.5 };\n // 每隔分面间隔的弧度\n const avgAngle = (Math.PI * 2) / count;\n\n // 当前分面所在的弧度\n const angle = (-1 * Math.PI) / 2 + avgAngle * index;\n // TODO 没看懂\n const facetR = r / (1 + 1 / Math.sin(avgAngle / 2));\n // 分面的中心点\n const middle = getAnglePoint(center, r - facetR, angle);\n const startAngle = (Math.PI * 5) / 4; // 右上角\n const endAngle = (Math.PI * 1) / 4; // 左下角\n\n return {\n start: getAnglePoint(middle, facetR, startAngle),\n end: getAnglePoint(middle, facetR, endAngle),\n };\n }\n\n protected afterEachView(view: View, facet: CircleData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: CircleData) {}\n\n protected generateFacets(data: Datum[]): CircleData[] {\n const { fields, type } = this.cfg;\n const [field] = fields;\n if (!field) {\n throw new Error('No `fields` specified!');\n }\n\n const values = this.getFieldValues(data, field);\n const count = values.length;\n\n const rst = [];\n values.forEach((value: any, index: number) => {\n const conditions = [{ field, value, values }];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: CircleData = {\n type,\n data: facetData,\n region: this.getRegion(count, index),\n\n columnValue: value,\n columnField: field,\n columnIndex: index,\n columnValuesLength: count,\n\n rowValue: null,\n rowField: null,\n rowIndex: 0,\n rowValuesLength: 1,\n };\n rst.push(facet);\n });\n return rst;\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: CircleData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, ListCfg, ListData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class List extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'list',\n cols: null, // 默认显示一列\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: ListData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: ListData) {}\n\n protected generateFacets(data: Datum[]): ListData[] {\n const { fields } = this.cfg;\n let { cols } = this.cfg;\n\n const [columnField] = fields;\n if (!columnField) {\n throw new Error('No `fields` specified!');\n }\n\n const colValues = this.getFieldValues(data, columnField);\n\n const count = colValues.length;\n cols = cols || count; // 每行有几列数据\n\n // 总共有几行\n const rows = this.getPageCount(count, cols);\n const rst = [];\n\n colValues.forEach((val, index) => {\n // 当前 index 在那个行列\n const { row, col } = this.getRowCol(index, cols);\n\n const conditions = [{ field: columnField, value: val, values: colValues }];\n\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: ListData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rows, cols, col, row),\n\n columnValue: val,\n rowValue: val,\n columnField,\n rowField: null,\n columnIndex: col,\n rowIndex: row,\n columnValuesLength: cols,\n rowValuesLength: rows,\n\n total: count,\n };\n\n rst.push(facet);\n });\n\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: ListData): object {\n // 当是最后一行或者下面没有 view 时文本不显示\n if (\n facet.rowIndex !== facet.rowValuesLength - 1 &&\n facet.columnValuesLength * facet.rowIndex + facet.columnIndex + 1 + facet.columnValuesLength <= facet.total\n ) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: ListData): object {\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: ListData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n\n /**\n * 计算分页数\n * @param total\n * @param pageSize\n */\n private getPageCount(total: number, pageSize: number): number {\n return Math.floor((total + pageSize - 1) / pageSize);\n }\n\n /**\n * 索引值在哪一页\n * @param index\n * @param pageSize\n */\n private getRowCol(index: number, pageSize: number) {\n const row = Math.floor(index / pageSize);\n const col = index % pageSize;\n\n return { row, col };\n }\n}\n","import { deepMix, each, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MatrixCfg, MatrixData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Matrix extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'matrix',\n showTitle: false,\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n },\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected afterEachView(view: View, facet: MatrixData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: MatrixData) {}\n\n protected generateFacets(data: Datum[]): MatrixData[] {\n const { fields, type } = this.cfg;\n\n // 矩阵中行列相等,等于指定的字段个数\n const rowValuesLength = fields.length;\n const columnValuesLength = rowValuesLength;\n\n const rst = [];\n for (let i = 0; i < columnValuesLength; i++) {\n const columnField = fields[i];\n for (let j = 0; j < rowValuesLength; j++) {\n const rowField = fields[j];\n\n const facet: MatrixData = {\n type,\n data,\n region: this.getRegion(rowValuesLength, columnValuesLength, i, j),\n\n columnValue: columnField,\n rowValue: rowField,\n columnField,\n rowField,\n columnIndex: i,\n rowIndex: j,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n }\n }\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 最后一行显示\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MatrixData): object {\n // 第一列显示\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: MatrixData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, rowValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const formatter = get(this.cfg.columnTitle, 'formatter');\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.columnTitle\n );\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const formatter = get(this.cfg.rowTitle, 'formatter');\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.rowTitle\n );\n\n view.annotation().text(config);\n }\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, MirrorCfg, MirrorData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Mirror extends Facet {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'mirror',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n transpose: false,\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n protected beforeEachView(view: View, facet: MirrorData) {\n // 做一下坐标系转化\n if (this.cfg.transpose) {\n if (facet.columnIndex % 2 === 0) {\n view.coordinate().transpose().reflect('x');\n } else {\n view.coordinate().transpose();\n }\n } else {\n if (facet.rowIndex % 2 !== 0) {\n view.coordinate().reflect('y');\n }\n }\n }\n\n protected afterEachView(view: View, facet: MirrorData) {\n this.processAxis(view, facet);\n }\n\n protected generateFacets(data: Datum[]): MirrorData[] {\n const [f] = this.cfg.fields;\n\n const rst = [];\n let columnValuesLength = 1;\n let rowValuesLength = 1;\n\n let columnValues: string[] = [''];\n let rowValues: string[] = [''];\n\n let columnField;\n let rowField;\n\n if (this.cfg.transpose) {\n columnField = f;\n columnValues = this.getFieldValues(data, columnField).slice(0, 2); // 镜像最多两个\n columnValuesLength = columnValues.length;\n } else {\n rowField = f;\n rowValues = this.getFieldValues(data, rowField).slice(0, 2); // 镜像最多两个\n rowValuesLength = rowValues.length;\n }\n\n // 获取每个维度对应的数据配置片段\n columnValues.forEach((xVal, xIndex) => {\n rowValues.forEach((yVal, yIndex) => {\n const conditions = [\n { field: columnField, value: xVal, values: columnValues },\n { field: rowField, value: yVal, values: rowValues },\n ];\n\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: MirrorData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rowValuesLength, columnValuesLength, xIndex, yIndex),\n\n columnValue: xVal,\n rowValue: yVal,\n columnField,\n rowField,\n columnIndex: xIndex,\n rowIndex: yIndex,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n });\n });\n\n return rst;\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: MirrorData): object {\n // 非最后一行\n // 当是最后一行或者下面没有 view 时文本不显示\n if (facet.columnIndex === 1 || facet.rowIndex === 1) {\n return {\n ...option,\n label: null,\n title: null,\n };\n }\n\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: MirrorData): object {\n // do nothing\n return option;\n }\n\n private renderTitle() {\n each(this.facets, (facet: MirrorData, facetIndex: number) => {\n const { columnValue, rowValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n if (this.cfg.transpose) {\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n } else {\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.title\n );\n\n view.annotation().text(config);\n }\n });\n }\n}\n","import { deepMix, each, filter, get } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { AxisCfg, Datum, RectCfg, RectData } from '../interface';\n\nimport View from '../chart/view';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 矩阵分面\n */\nexport default class Rect extends Facet {\n protected afterEachView(view: View, facet: RectData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: RectData) {\n // do nothing\n }\n\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'rect',\n columnTitle: {\n ...super.getDefaultTitleCfg(),\n },\n rowTitle: {\n ...super.getDefaultTitleCfg(),\n },\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 生成矩阵分面的分面数据\n * @param data\n */\n protected generateFacets(data: Datum[]): RectData[] {\n const [columnField, rowField] = this.cfg.fields;\n\n const rst = [];\n let columnValuesLength = 1;\n let rowValuesLength = 1;\n\n let columnValues: string[] = [''];\n let rowValues: string[] = [''];\n\n if (columnField) {\n columnValues = this.getFieldValues(data, columnField);\n columnValuesLength = columnValues.length;\n }\n if (rowField) {\n rowValues = this.getFieldValues(data, rowField);\n rowValuesLength = rowValues.length;\n }\n\n // 获取每个维度对应的数据配置片段\n columnValues.forEach((xVal, xIndex) => {\n rowValues.forEach((yVal, yIndex) => {\n const conditions = [\n { field: columnField, value: xVal, values: columnValues },\n { field: rowField, value: yVal, values: rowValues },\n ];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: RectData = {\n type: this.cfg.type,\n data: facetData,\n region: this.getRegion(rowValuesLength, columnValuesLength, xIndex, yIndex),\n\n columnValue: xVal,\n rowValue: yVal,\n columnField,\n rowField,\n columnIndex: xIndex,\n rowIndex: yIndex,\n columnValuesLength,\n rowValuesLength,\n };\n rst.push(facet);\n });\n });\n\n return rst;\n }\n\n private renderTitle(): void {\n each(this.facets, (facet: RectData, facetIndex: number) => {\n const { columnIndex, rowIndex, columnValuesLength, columnValue, rowValue, view } = facet;\n\n // top\n if (rowIndex === 0) {\n const formatter = get(this.cfg.columnTitle, 'formatter');\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.columnTitle\n );\n\n view.annotation().text(config);\n }\n // right\n if (columnIndex === columnValuesLength - 1) {\n const formatter = get(this.cfg.rowTitle, 'formatter');\n const config = deepMix(\n {\n position: ['100%', '50%'] as [string, string],\n content: formatter ? formatter(rowValue) : rowValue,\n },\n getFactTitleConfig(DIRECTION.RIGHT),\n this.cfg.rowTitle\n );\n\n view.annotation().text(config);\n }\n });\n }\n\n /**\n * 设置 x 坐标轴的文本、title 是否显示\n * @param x\n * @param axes\n * @param option\n * @param facet\n */\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: RectData): object {\n // 非最后一行\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n title: null,\n label: null,\n };\n } else if (facet.columnIndex !== Math.floor((facet.columnValuesLength - 1) / 2)) {\n // 不是中间列\n return {\n ...option,\n title: null,\n };\n }\n return option;\n }\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: RectData): object {\n if (facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n } else if (facet.rowIndex !== Math.floor((facet.rowValuesLength - 1) / 2)) {\n return {\n ...option,\n title: null,\n };\n }\n return option;\n }\n}\n","/**\n * Create By Bruce Too\n * On 2020-02-10\n */\nimport { assign, deepMix, each, get } from '@antv/util';\nimport View from '../chart/view';\nimport { DIRECTION, VIEW_LIFE_CIRCLE } from '../constant';\nimport { AxisCfg, Condition, Datum, TreeCfg, TreeData } from '../interface';\nimport { getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * Tree Facet\n */\nexport default class Tree extends Facet {\n protected afterEachView(view: View, facet: TreeData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: TreeData) {}\n\n public init() {\n super.init();\n this.view.on(VIEW_LIFE_CIRCLE.AFTER_RENDER, this.afterChartRender);\n }\n\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'tree',\n line: {\n style: {\n lineWidth: 1,\n stroke: '#ddd',\n },\n smooth: false,\n },\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n protected generateFacets(data: Datum[]): TreeData[] {\n const fields = this.cfg.fields;\n if (!fields.length) {\n throw new Error('Please specify for the fields for rootFacet!');\n }\n const rst = [];\n const rootFacet: TreeData = {\n type: this.cfg.type,\n data,\n region: null,\n rowValuesLength: this.getRows(),\n columnValuesLength: 1,\n rowIndex: 0,\n columnIndex: 0,\n rowField: '',\n columnField: '',\n rowValue: '',\n columnValue: '',\n };\n rst.push(rootFacet);\n rootFacet.children = this.getChildFacets(data, 1, rst);\n this.setRegion(rst);\n return rst;\n }\n\n private setRegion(facets: TreeData[]) {\n this.forceColIndex(facets);\n facets.forEach((facet) => {\n // @ts-ignore 允许调整\n facet.region = this.getRegion(facet.rowValuesLength, facet.columnValuesLength, facet.columnIndex, facet.rowIndex);\n });\n }\n\n protected getRegion(rows: number, cols: number, xIndex: number, yIndex: number) {\n const xWidth = 1 / cols; // x轴方向的每个分面的偏移\n const yWidth = 1 / rows; // y轴方向的每个分面的偏移\n\n const start = {\n x: xWidth * xIndex,\n y: yWidth * yIndex,\n };\n\n const end = {\n x: start.x + xWidth,\n y: start.y + (yWidth * 2) / 3, // 预留1/3的空隙,方便添加连接线\n };\n return {\n start,\n end,\n };\n }\n\n private forceColIndex(facets: TreeData[]) {\n const leafs: TreeData[] = [];\n let index = 0;\n facets.forEach((facet) => {\n if (this.isLeaf(facet)) {\n leafs.push(facet);\n // @ts-ignore 允许调整\n facet.columnIndex = index;\n index++;\n }\n });\n\n leafs.forEach((facet) => {\n // @ts-ignore\n facet.columnValuesLength = leafs.length;\n });\n const maxLevel = this.cfg.fields.length;\n for (let i = maxLevel - 1; i >= 0; i--) {\n const levelFacets = this.getFacetsByLevel(facets, i);\n // var yIndex = maxLevel - i;\n for (const facet of levelFacets) {\n if (!this.isLeaf(facet)) {\n facet.originColIndex = facet.columnIndex;\n // @ts-ignore\n facet.columnIndex = this.getRegionIndex(facet.children);\n // @ts-ignore\n facet.columnValuesLength = leafs.length;\n }\n }\n }\n }\n\n // get facet use level\n private getFacetsByLevel(facets: TreeData[], level: number) {\n const rst: TreeData[] = [];\n facets.forEach((facet) => {\n if (facet.rowIndex === level) {\n rst.push(facet);\n }\n });\n return rst;\n }\n\n // if the facet has children , make it's column index in the middle of it's children\n private getRegionIndex(children: TreeData[]) {\n const first = children[0];\n const last = children[children.length - 1];\n return (last.columnIndex - first.columnIndex) / 2 + first.columnIndex;\n }\n\n // is a leaf without children\n private isLeaf(facet: TreeData) {\n return !facet.children || !facet.children.length;\n }\n\n private getRows() {\n return this.cfg.fields.length + 1;\n }\n\n // get child\n private getChildFacets(data: Datum[], level: number, arr: TreeData[]) {\n // [ 'grade', 'class' ]\n const fields = this.cfg.fields;\n const length = fields.length;\n if (length < level) {\n return;\n }\n const rst = [];\n // get fist level except root node\n const field = fields[level - 1];\n // get field value\n const values = this.getFieldValues(data, field);\n values.forEach((value, index) => {\n const conditions = [{ field, value, values } as Condition];\n const subData = data.filter(this.getFacetDataFilter(conditions));\n if (subData.length) {\n const facet: TreeData = {\n type: this.cfg.type,\n data: subData,\n region: null,\n columnValue: value,\n rowValue: '',\n columnField: field,\n rowField: '',\n columnIndex: index,\n rowValuesLength: this.getRows(),\n columnValuesLength: 1,\n rowIndex: level,\n children: this.getChildFacets(subData, level + 1, arr),\n };\n rst.push(facet);\n arr.push(facet);\n }\n });\n return rst;\n }\n\n public render() {\n super.render();\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n private afterChartRender = () => {\n if (this.facets && this.cfg.line) {\n this.container.clear();\n this.drawLines(this.facets);\n }\n };\n\n private renderTitle() {\n each(this.facets, (facet: TreeData) => {\n const { columnValue, view } = facet;\n const formatter = get(this.cfg.title, 'formatter');\n\n const config = deepMix(\n {\n position: ['50%', '0%'] as [string, string],\n content: formatter ? formatter(columnValue) : columnValue,\n },\n getFactTitleConfig(DIRECTION.TOP),\n this.cfg.title\n );\n\n view.annotation().text(config);\n });\n }\n\n private drawLines(facets: TreeData[]) {\n facets.forEach((facet) => {\n if (!this.isLeaf(facet)) {\n const children = facet.children;\n this.addFacetLines(facet, children);\n }\n });\n }\n\n // add lines with it's children\n private addFacetLines(facet: TreeData, children: TreeData[]) {\n const view = facet.view;\n const region = view.coordinateBBox;\n // top, right, bottom, left\n const start = {\n x: region.x + region.width / 2,\n y: region.y + region.height,\n };\n\n children.forEach((subFacet) => {\n const subRegion = subFacet.view.coordinateBBox;\n const end = {\n x: subRegion.bl.x + (subRegion.tr.x - subRegion.bl.x) / 2,\n y: subRegion.tr.y,\n };\n\n const middle1 = {\n x: start.x,\n y: start.y + (end.y - start.y) / 2,\n };\n const middle2 = {\n x: end.x,\n y: middle1.y,\n };\n this.drawLine([start, middle1, middle2, end]);\n });\n }\n\n private getPath(points) {\n const path = [];\n const smooth = this.cfg.line.smooth;\n if (smooth) {\n path.push(['M', points[0].x, points[0].y]);\n path.push(['C', points[1].x, points[1].y, points[2].x, points[2].y, points[3].x, points[3].y]);\n } else {\n points.forEach((point, index) => {\n if (index === 0) {\n path.push(['M', point.x, point.y]);\n } else {\n path.push(['L', point.x, point.y]);\n }\n });\n }\n\n return path;\n }\n\n // draw line width points\n private drawLine(points) {\n const path = this.getPath(points);\n const line = this.cfg.line.style;\n this.container.addShape('path', {\n attrs: assign(\n {\n // @ts-ignore\n path,\n },\n line\n ),\n });\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: TreeData): object {\n if (facet.rowIndex !== facet.rowValuesLength - 1) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: TreeData): object {\n if (facet.originColIndex !== 0 && facet.columnIndex !== 0) {\n return {\n ...option,\n title: null,\n label: null,\n };\n }\n return option;\n }\n}\n","import { contains, deepMix, each, get, isArray, isFunction, isNil, isString, keys, upperFirst } from '@antv/util';\n\nimport { Annotation as AnnotationComponent, IElement, IGroup, Scale } from '../../dependents';\nimport {\n AnnotationBaseOption as BaseOption,\n AnnotationPosition as Position,\n ArcOption,\n ComponentOption,\n Data,\n DataMarkerOption,\n DataRegionOption,\n ImageOption,\n LineOption,\n Point,\n RegionFilterOption,\n RegionOption,\n RegionPositionBaseOption,\n TextOption,\n} from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\nimport { COMPONENT_TYPE, DIRECTION, LAYER, VIEW_LIFE_CIRCLE } from '../../constant';\n\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element';\nimport { getAngleByPoint, getDistanceToCenter } from '../../util/coordinate';\nimport { omit } from '../../util/helper';\nimport View from '../view';\nimport { Controller } from './base';\n\n/**\n * Annotation controller, 主要作用:\n * 1. 创建 Annotation: line、text、arc ...\n * 2. 生命周期: init、layout、render、clear、destroy\n */\nexport default class Annotation extends Controller {\n private foregroundContainer: IGroup;\n private backgroundContainer: IGroup;\n\n /* 组件更新的 cache,组件配置 object : 组件 */\n private cache = new Map();\n\n constructor(view: View) {\n super(view);\n\n this.foregroundContainer = this.view.getLayer(LAYER.FORE).addGroup();\n this.backgroundContainer = this.view.getLayer(LAYER.BG).addGroup();\n\n this.option = [];\n }\n\n public get name(): string {\n return 'annotation';\n }\n\n public init() {}\n\n public layout() {\n const components = this.getComponents();\n const updateComponentFn = (co: ComponentOption) => {\n const { component, extra } = co;\n const { type } = extra;\n const theme = this.getAnnotationTheme(type);\n\n component.update(this.getAnnotationCfg(type, extra, theme));\n };\n const createComponentFn = (option: BaseOption) => {\n const co = this.createAnnotation(option);\n if (co) {\n co.component.init();\n // Note:regionFilter 特殊处理,regionFilter需要取到 Geometry 中的 Shape,需要在 view render 之后处理\n // 其他组件使用外层的统一 render 逻辑\n if (option.type === 'regionFilter') {\n co.component.render();\n }\n // 缓存起来\n this.cache.set(option, co);\n }\n };\n\n if (components.length) {\n each(components, (co: ComponentOption) => {\n const { component } = co;\n\n if (component.get('type') === 'regionFilter') {\n // regionFilter 依赖绘制后的 Geometry Shapes\n this.view.getRootView().once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n updateComponentFn(co);\n });\n } else {\n updateComponentFn(co);\n }\n });\n } else {\n each(this.option, (option: BaseOption) => {\n if (option.type === 'regionFilter') {\n this.view.getRootView().once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n // regionFilter 依赖绘制后的 Geometry Shapes\n createComponentFn(option);\n });\n } else {\n createComponentFn(option);\n }\n });\n }\n }\n\n public render() {\n // 因为 Annotation 不参与布局,但是渲染的位置依赖于坐标系,所以可以将绘制阶段延迟到 layout() 进行\n }\n\n /**\n * 更新\n */\n public update() {\n // 已经处理过的 legend\n const updated = new WeakMap();\n\n const updateComponentFn = (option: BaseOption) => {\n const { type } = option;\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n\n const existCo = this.cache.get(option);\n\n // 存在,则更新\n if (existCo) {\n // 忽略掉一些配置\n omit(cfg, ['container']);\n\n existCo.component.update(cfg);\n updated.set(option, true);\n } else {\n // 不存在,则创建\n const co = this.createAnnotation(option);\n if (co) {\n co.component.init();\n // Note:regionFilter 特殊处理,regionFilter需要取到 Geometry 中的 Shape,需要在 view render 之后处理\n // 其他组件使用外层的统一 render 逻辑\n if (option.type === 'regionFilter') {\n co.component.render();\n }\n // 缓存起来\n this.cache.set(option, co);\n updated.set(option, true);\n }\n }\n };\n\n this.view.once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n // 先看是否有 regionFilter 要更新\n each(this.option, (option: BaseOption) => {\n if (option.type === 'regionFilter') {\n updateComponentFn(option);\n }\n });\n\n // 处理完成之后,销毁删除的\n // 不在处理中的\n const newCache = new Map();\n\n this.cache.forEach((value: ComponentOption, key: BaseOption) => {\n if (updated.has(key)) {\n newCache.set(key, value);\n } else {\n // 不存在,则是所有需要被销毁的组件\n value.component.destroy();\n }\n });\n\n // 更新缓存\n this.cache = newCache;\n });\n\n each(this.option, (option: BaseOption) => {\n if (option.type !== 'regionFilter') {\n updateComponentFn(option);\n }\n });\n }\n\n /**\n * 清空\n * @param includeOption 是否清空 option 配置项\n */\n public clear(includeOption = false) {\n super.clear();\n\n this.cache.clear();\n this.foregroundContainer.clear();\n this.backgroundContainer.clear();\n // clear all option\n if (includeOption) {\n this.option = [];\n }\n }\n\n public destroy() {\n this.clear(true);\n\n this.foregroundContainer.remove(true);\n this.backgroundContainer.remove(true);\n }\n\n /**\n * 复写基类的方法\n */\n public getComponents(): ComponentOption[] {\n const co = [];\n\n this.cache.forEach((value: ComponentOption) => {\n co.push(value);\n });\n\n return co;\n }\n\n private createAnnotation(option: BaseOption) {\n const { type } = option;\n\n const Ctor = AnnotationComponent[upperFirst(type)];\n if (Ctor) {\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n const annotation = new Ctor(cfg);\n\n return {\n component: annotation,\n layer: this.isTop(cfg) ? LAYER.FORE : LAYER.BG,\n direction: DIRECTION.NONE,\n type: COMPONENT_TYPE.ANNOTATION,\n extra: option,\n };\n }\n }\n\n // APIs for creating annotation component\n public annotation(option: any) {\n this.option.push(option);\n }\n\n /**\n * 创建 Arc\n * @param option\n * @returns AnnotationController\n */\n public arc(option: ArcOption) {\n this.annotation({\n type: 'arc',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 image\n * @param option\n * @returns AnnotationController\n */\n public image(option: ImageOption) {\n this.annotation({\n type: 'image',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Line\n * @param option\n * @returns AnnotationController\n */\n public line(option: LineOption) {\n this.annotation({\n type: 'line',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Region\n * @param option\n * @returns AnnotationController\n */\n public region(option: RegionOption) {\n this.annotation({\n type: 'region',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Text\n * @param option\n * @returns AnnotationController\n */\n public text(option: TextOption) {\n this.annotation({\n type: 'text',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataMarker\n * @param option\n * @returns AnnotationController\n */\n public dataMarker(option: DataMarkerOption) {\n this.annotation({\n type: 'dataMarker',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataRegion\n * @param option\n * @returns AnnotationController\n */\n public dataRegion(option: DataRegionOption) {\n this.annotation({\n type: 'dataRegion',\n ...option,\n });\n }\n\n /**\n * 创建 RegionFilter\n * @param option\n * @returns AnnotationController\n */\n public regionFilter(option: RegionFilterOption) {\n this.annotation({\n type: 'regionFilter',\n ...option,\n });\n }\n // end API\n\n /**\n * parse the point position to [x, y]\n * @param p Position\n * @returns { x, y }\n */\n private parsePosition(p: Position): Point {\n const xScale = this.view.getXScale();\n // 转成 object\n const yScales = this.view.getScalesByDim('y');\n\n const position: Position = isFunction(p) ? p.call(null, xScale, yScales) : p;\n\n let x = 0;\n let y = 0;\n\n // 入参是 [24, 24] 这类时\n if (isArray(position)) {\n const [xPos, yPos] = position;\n // 如果数据格式是 ['50%', '50%'] 的格式\n // fix: 原始数据中可能会包含 'xxx5%xxx' 这样的数据,需要判断下 https://github.com/antvis/f2/issues/590\n // @ts-ignore\n if (isString(xPos) && xPos.indexOf('%') !== -1 && !isNaN(xPos.slice(0, -1))) {\n return this.parsePercentPosition(position as [string, string]);\n }\n\n x = this.getNormalizedValue(xPos, xScale);\n y = this.getNormalizedValue(yPos, Object.values(yScales)[0]);\n } else if (!isNil(position)) {\n // 入参是 object 结构,数据点\n for (const key of keys(position)) {\n const value = position[key];\n if (key === xScale.field) {\n x = this.getNormalizedValue(value, xScale);\n }\n if (yScales[key]) {\n y = this.getNormalizedValue(value, yScales[key]);\n }\n }\n }\n\n return this.view.getCoordinate().convert({ x, y });\n }\n\n /**\n * parse all the points between start and end\n * @param start\n * @param end\n * @return Point[]\n */\n private getRegionPoints(start: Position | Data, end: Position | Data): Point[] {\n const xScale = this.view.getXScale();\n const yScales = this.view.getScalesByDim('y');\n const yScale = Object.values(yScales)[0];\n const xField = xScale.field;\n const viewData = this.view.getData();\n const startXValue = isArray(start) ? start[0] : start[xField];\n const endXValue = isArray(end) ? end[0] : end[xField];\n const arr = [];\n\n let startIndex;\n each(viewData, (item, idx) => {\n if (item[xField] === startXValue) {\n startIndex = idx;\n }\n if (idx >= startIndex) {\n const point = this.parsePosition([item[xField], item[yScale.field]]);\n if (point) {\n arr.push(point);\n }\n }\n if (item[xField] === endXValue) {\n return false;\n }\n });\n\n return arr;\n }\n\n /**\n * parse the value position\n * @param val\n * @param scale\n */\n private getNormalizedValue(val: number | string, scale: Scale) {\n let result: number;\n let scaled: number;\n\n switch (val) {\n case 'start':\n result = 0;\n break;\n case 'end':\n result = 1;\n break;\n case 'median': {\n scaled = scale.isCategory ? (scale.values.length - 1) / 2 : (scale.min + scale.max) / 2;\n result = scale.scale(scaled);\n break;\n }\n case 'min':\n case 'max':\n if (scale.isCategory) {\n scaled = val === 'min' ? 0 : scale.values.length - 1;\n } else {\n scaled = scale[val];\n }\n result = scale.scale(scaled);\n break;\n default:\n result = scale.scale(val);\n }\n\n return result;\n }\n\n /**\n * parse percent position\n * @param position\n */\n private parsePercentPosition(position: [string, string]): Point {\n const xPercent = parseFloat(position[0]) / 100;\n const yPercent = parseFloat(position[1]) / 100;\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n const x = coordinate.getWidth() * xPercent + topLeft.x;\n const y = coordinate.getHeight() * yPercent + topLeft.y;\n return { x, y };\n }\n\n /**\n * get coordinate bbox\n */\n private getCoordinateBBox() {\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n\n return {\n x: topLeft.x,\n y: topLeft.y,\n minX: topLeft.x,\n minY: topLeft.y,\n maxX: topLeft.x + width,\n maxY: topLeft.y + height,\n width,\n height,\n };\n }\n\n /**\n * get annotation component config by different type\n * @param type\n * @param option 用户的配置\n * @param theme\n */\n private getAnnotationCfg(type: string, option: any, theme: object): object {\n const coordinate = this.view.getCoordinate();\n let o = {};\n\n if (isNil(option)) {\n return null;\n }\n\n if (type === 'arc') {\n const { start, end } = option as ArcOption;\n const sp = this.parsePosition(start);\n const ep = this.parsePosition(end);\n const startAngle = getAngleByPoint(coordinate, sp);\n let endAngle = getAngleByPoint(coordinate, ep);\n if (startAngle > endAngle) {\n endAngle = Math.PI * 2 + endAngle;\n }\n\n o = {\n center: coordinate.getCenter(),\n radius: getDistanceToCenter(coordinate, sp),\n startAngle,\n endAngle,\n };\n } else if (type === 'image') {\n const { start, end } = option as ImageOption;\n o = {\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n src: option.src,\n };\n } else if (type === 'line') {\n const { start, end } = option as LineOption;\n o = {\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n text: get(option, 'text', null),\n };\n } else if (type === 'region') {\n const { start, end } = option as RegionPositionBaseOption;\n o = {\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n };\n } else if (type === 'text') {\n const filteredData = this.view.getData();\n const { position, content, ...rest } = option as TextOption;\n let textContent = content;\n if (isFunction(content)) {\n textContent = content(filteredData);\n }\n o = {\n ...this.parsePosition(position),\n ...rest,\n content: textContent,\n };\n } else if (type === 'dataMarker') {\n const { position, point, line, text, autoAdjust, direction } = option as DataMarkerOption;\n o = {\n ...this.parsePosition(position),\n coordinateBBox: this.getCoordinateBBox(),\n point,\n line,\n text,\n autoAdjust,\n direction,\n };\n } else if (type === 'dataRegion') {\n const { start, end, region, text, lineLength } = option as DataRegionOption;\n o = {\n points: this.getRegionPoints(start, end),\n region,\n text,\n lineLength,\n };\n } else if (type === 'regionFilter') {\n const { start, end, apply, color } = option as RegionFilterOption;\n const geometries: Geometry[] = this.view.geometries;\n const shapes = [];\n const addShapes = (item?: IElement) => {\n if (!item) {\n return;\n }\n if (item.isGroup()) {\n (item as IGroup).getChildren().forEach((child) => addShapes(child));\n } else {\n shapes.push(item);\n }\n };\n each(geometries, (geom: Geometry) => {\n if (apply) {\n if (contains(apply, geom.type)) {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n } else {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n });\n o = {\n color,\n shapes,\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n };\n }\n // 合并主题,用户配置优先级高于默认主题\n const cfg = deepMix({}, theme, {\n ...o,\n top: option.top,\n style: option.style,\n offsetX: option.offsetX,\n offsetY: option.offsetY,\n });\n cfg.container = this.getComponentContainer(cfg);\n cfg.animate = this.view.getOptions().animate && cfg.animate && get(option, 'animate', cfg.animate); // 如果 view 关闭动画,则不执行\n cfg.animateOption = deepMix({}, DEFAULT_ANIMATE_CFG, cfg.animateOption, option.animateOption);\n\n return cfg;\n }\n\n /**\n * is annotation render on top\n * @param option\n * @return whethe on top\n */\n private isTop(option: any): boolean {\n return get(option, 'top', true);\n }\n\n /**\n * get the container by option.top\n * default is on top\n * @param option\n * @returns the container\n */\n private getComponentContainer(option: any) {\n return this.isTop(option) ? this.foregroundContainer : this.backgroundContainer;\n }\n\n private getAnnotationTheme(type: string) {\n return get(this.view.getTheme(), ['components', 'annotation', type], {});\n }\n}\n","import { get, map } from '@antv/util';\nimport { DIRECTION } from '../constant';\nimport { Coordinate, Scale, Tick } from '../dependents';\n\n/**\n * @ignore\n * get the grid theme by type\n * @param theme\n * @param direction\n * @returns theme object\n */\nexport function getGridThemeCfg(theme: object, direction: DIRECTION): object {\n return get(theme, ['components', 'axis', direction, 'grid'], {});\n}\n\n/**\n * @ignore\n * get axis grid items\n * @param coordinate\n * @param scale\n * @param dim\n * @return items\n */\nexport function getLineGridItems(coordinate: Coordinate, scale: Scale, dim: string, alignTick?: boolean) {\n const items = [];\n const ticks = scale.getTicks();\n if (coordinate.isPolar) {\n // 补全 ticks\n ticks.push({\n value: 1,\n text: '',\n tickValue: '',\n });\n }\n ticks.reduce((preTick: Tick, currentTick: Tick, currentIndex) => {\n const currentValue = currentTick.value;\n if (alignTick) {\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: currentValue } : { x: currentValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: currentValue } : { x: currentValue, y: 1 }),\n ],\n });\n } else {\n if (currentIndex) {\n const preValue = preTick.value;\n const middleValue = (preValue + currentValue) / 2;\n items.push({\n points: [\n coordinate.convert(dim === 'y' ? { x: 0, y: middleValue } : { x: middleValue, y: 0 }),\n coordinate.convert(dim === 'y' ? { x: 1, y: middleValue } : { x: middleValue, y: 1 }),\n ],\n });\n }\n }\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * get\n * @param coordinate\n * @param xScale\n * @param yScale\n * @param dim\n * @returns items\n */\nexport function getCircleGridItems(\n coordinate: Coordinate,\n xScale: Scale,\n yScale: Scale,\n alignTick: boolean,\n dim: string\n) {\n const count = xScale.values.length;\n const items = [];\n const ticks = yScale.getTicks();\n\n ticks.reduce((preTick: Tick, currentTick: Tick) => {\n const preValue = preTick ? preTick.value : currentTick.value; // 只有一项数据时取当前值\n const currentValue = currentTick.value;\n const middleValue = (preValue + currentValue) / 2;\n if (dim === 'x') {\n // 如果是 x 轴作为半径轴,那么只需要取圆弧收尾两个即可\n items.push({\n points: [\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 0,\n }),\n coordinate.convert({\n x: alignTick ? currentValue : middleValue,\n y: 1,\n }),\n ],\n });\n } else {\n items.push({\n points: map(Array(count + 1), (__: any, idx: number) => {\n return coordinate.convert({\n x: idx / count,\n y: alignTick ? currentValue : middleValue,\n });\n }),\n });\n }\n\n return currentTick;\n }, ticks[0]);\n return items;\n}\n\n/**\n * @ignore\n * show grid or not\n * @param axisTheme\n * @param axisOption\n */\nexport function showGrid(axisTheme: any, axisOption: any): boolean {\n const userGrid = get(axisOption, 'grid');\n if (userGrid === null) {\n return false;\n }\n\n const themeGrid = get(axisTheme, 'grid');\n\n return !(userGrid === undefined && themeGrid === null);\n}\n","import { deepMix, each, get, isUndefined } from '@antv/util';\nimport { DIRECTION, COMPONENT_TYPE, LAYER } from '../../constant';\nimport { CircleAxis, CircleGrid, IGroup, LineAxis, LineGrid, Scale } from '../../dependents';\nimport { AxisCfg, AxisOption, ComponentOption } from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\n\nimport {\n getAxisDirection,\n getAxisFactorByRegion,\n getAxisRegion,\n getAxisThemeCfg,\n getAxisTitleText,\n getCircleAxisCenterRadius,\n isVertical,\n} from '../../util/axis';\nimport { getAxisOption } from '../../util/axis';\nimport { getCircleGridItems, getGridThemeCfg, getLineGridItems, showGrid } from '../../util/grid';\nimport { omit } from '../../util/helper';\nimport View from '../view';\nimport { Controller } from './base';\n\ntype Option = Record | boolean;\n\ntype Cache = Map;\n\n// update 组件的时候,忽略的数据更新\nconst OMIT_CFG = ['container'];\n\n// 坐标轴默认动画配置\nconst AXIS_DEFAULT_ANIMATE_CFG = {\n ...DEFAULT_ANIMATE_CFG,\n appear: null,\n};\n\n/**\n * @ignore\n * G2 Axis controller, will:\n * - create component\n * - axis\n * - grid\n * - life circle\n */\nexport default class Axis extends Controller