From: Dan Vanderkam Date: Tue, 26 May 2015 21:03:34 +0000 (-0400) Subject: Generate combined files for distribution X-Git-Tag: v1.1.1~4 X-Git-Url: https://adrianiainlam.tk/git/?a=commitdiff_plain;h=275af9f3172440fde31f0dca10e032be5a3b85f0;p=dygraphs.git Generate combined files for distribution --- diff --git a/dygraph-combined-dev.js b/dygraph-combined-dev.js index 79fa0b9..df62ff5 100644 --- a/dygraph-combined-dev.js +++ b/dygraph-combined-dev.js @@ -1646,6 +1646,7 @@ DygraphCanvasRenderer._errorPlotter = function(e) { DygraphCanvasRenderer._fastCanvasProxy = function(context) { var pendingActions = []; // array of [type, x, y] tuples var lastRoundedX = null; + var lastFlushedX = null; var LINE_TO = 1, MOVE_TO = 2; @@ -1724,6 +1725,9 @@ DygraphCanvasRenderer._fastCanvasProxy = function(context) { context.moveTo(action[1], action[2]); } } + if (pendingActions.length) { + lastFlushedX = pendingActions[pendingActions.length - 1][1]; + } actionCount += pendingActions.length; pendingActions = []; }; @@ -1731,7 +1735,12 @@ DygraphCanvasRenderer._fastCanvasProxy = function(context) { var addAction = function(action, x, y) { var rx = Math.round(x); if (lastRoundedX === null || rx != lastRoundedX) { - flushActions(); + // if there are large gaps on the x-axis, it's essential to keep the + // first and last point as well. + var hasGapOnLeft = (lastRoundedX - lastFlushedX > 1), + hasGapOnRight = (rx - lastRoundedX > 1), + hasGap = hasGapOnLeft || hasGapOnRight; + flushActions(hasGap); lastRoundedX = rx; } pendingActions.push([action, x, y]); @@ -1855,7 +1864,7 @@ DygraphCanvasRenderer._fillPlotter = function(e) { // If the point density is high enough, dropping segments on their way to // the canvas justifies the overhead of doing so. - if (points.length > 2 * g.width_) { + if (points.length > 2 * g.width_ || Dygraph.FORCE_FAST_PROXY) { ctx = DygraphCanvasRenderer._fastCanvasProxy(ctx); } @@ -2150,7 +2159,7 @@ Dygraph.numberValueFormatter = function(x, opts) { * @private */ Dygraph.numberAxisLabelFormatter = function(x, granularity, opts) { - return Dygraph.numberValueFormatter(x, opts); + return Dygraph.numberValueFormatter.call(this, x, opts); }; /** @@ -4034,6 +4043,7 @@ Dygraph.prototype.animateSelection_ = function(direction) { Dygraph.prototype.updateSelection_ = function(opt_animFraction) { /*var defaultPrevented = */ this.cascadeEvents_('select', { + selectedRow: this.lastRow_, selectedX: this.lastx_, selectedPoints: this.selPoints_ }); @@ -4685,7 +4695,7 @@ Dygraph.prototype.renderGraph_ = function(is_initial_draw) { this.canvas_.getContext('2d').clearRect(0, 0, this.width_, this.height_); if (this.getFunctionOption("drawCallback") !== null) { - this.getFunctionOption("drawCallback")(this, is_initial_draw); + this.getFunctionOption("drawCallback").call(this, this, is_initial_draw); } if (is_initial_draw) { this.readyFired_ = true; @@ -5760,6 +5770,10 @@ Dygraph.addAnnotationRule = function() { console.warn("Unable to add default annotation CSS rule; display may be off."); }; +if (typeof exports === "object" && typeof module !== "undefined") { + module.exports = Dygraph; +} + return Dygraph; })(); @@ -6900,15 +6914,41 @@ Dygraph.pow = function(base, exp) { return Math.pow(base, exp); }; +var RGBA_RE = /^rgba?\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})(?:,\s*([01](?:\.\d+)?))?\)$/; + +/** + * Helper for Dygraph.toRGB_ which parses strings of the form: + * rgb(123, 45, 67) + * rgba(123, 45, 67, 0.5) + * @return parsed {r,g,b,a?} tuple or null. + */ +function parseRGBA(rgbStr) { + var bits = RGBA_RE.exec(rgbStr); + if (!bits) return null; + var r = parseInt(bits[1], 10), + g = parseInt(bits[2], 10), + b = parseInt(bits[3], 10); + if (bits[4]) { + return {r: r, g: g, b: b, a: parseFloat(bits[4])}; + } else { + return {r: r, g: g, b: b}; + } +} + /** * Converts any valid CSS color (hex, rgb(), named color) to an RGB tuple. * * @param {!string} colorStr Any valid CSS color string. - * @return {{r:number,g:number,b:number}} Parsed RGB tuple. + * @return {{r:number,g:number,b:number,a:number?}} Parsed RGB tuple. * @private */ Dygraph.toRGB_ = function(colorStr) { - // TODO(danvk): cache color parses to avoid repeated DOM manipulation. + // Strategy: First try to parse colorStr directly. This is fast & avoids DOM + // manipulation. If that fails (e.g. for named colors like 'red'), then + // create a hidden DOM element and parse its computed color. + var rgb = parseRGBA(colorStr); + if (rgb) return rgb; + var div = document.createElement('div'); div.style.backgroundColor = colorStr; div.style.visibility = 'hidden'; @@ -6921,12 +6961,7 @@ Dygraph.toRGB_ = function(colorStr) { rgbStr = div.currentStyle.backgroundColor; } document.body.removeChild(div); - var bits = /^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/.exec(rgbStr); - return { - r: parseInt(bits[1], 10), - g: parseInt(bits[2], 10), - b: parseInt(bits[3], 10) - }; + return parseRGBA(rgbStr); }; /** @@ -8024,7 +8059,7 @@ Dygraph.numericTicks = function(a, b, pixels, opts, dygraph, vals) { for (i = 0; i < ticks.length; i++) { if (ticks[i].label !== undefined) continue; // Use current label. // TODO(danvk): set granularity to something appropriate here. - ticks[i].label = formatter(ticks[i].v, 0, opts, dygraph); + ticks[i].label = formatter.call(dygraph, ticks[i].v, 0, opts, dygraph); } return ticks; @@ -8240,7 +8275,7 @@ Dygraph.getDateAxis = function(start_time, end_time, granularity, opts, dg) { } while (tick_time <= end_time) { ticks.push({ v: tick_time, - label: formatter(tick_date, granularity, opts, dg) + label: formatter.call(dg, tick_date, granularity, opts, dg) }); tick_time += spacing; tick_date = new Date(tick_time); @@ -8255,7 +8290,7 @@ Dygraph.getDateAxis = function(start_time, end_time, granularity, opts, dg) { if (granularity >= Dygraph.DAILY || accessors.getHours(tick_date) % step === 0) { ticks.push({ v: tick_time, - label: formatter(tick_date, granularity, opts, dg) + label: formatter.call(dg, tick_date, granularity, opts, dg) }); } date_array[datefield] += step; @@ -9241,6 +9276,7 @@ var escapeHTML = function(str) { legend.prototype.select = function(e) { var xValue = e.selectedX; var points = e.selectedPoints; + var row = e.selectedRow; var legendMode = e.dygraph.getOption('legend'); if (legendMode === 'never') { @@ -9271,7 +9307,7 @@ legend.prototype.select = function(e) { this.legend_div_.style.top = topLegend + "px"; } - var html = legend.generateLegendHTML(e.dygraph, xValue, points, this.one_em_width_); + var html = legend.generateLegendHTML(e.dygraph, xValue, points, this.one_em_width_, row); this.legend_div_.innerHTML = html; this.legend_div_.style.display = ''; }; @@ -9286,7 +9322,7 @@ legend.prototype.deselect = function(e) { var oneEmWidth = calculateEmWidthInDiv(this.legend_div_); this.one_em_width_ = oneEmWidth; - var html = legend.generateLegendHTML(e.dygraph, undefined, undefined, oneEmWidth); + var html = legend.generateLegendHTML(e.dygraph, undefined, undefined, oneEmWidth, null); this.legend_div_.innerHTML = html; }; @@ -9329,14 +9365,15 @@ legend.prototype.destroy = function() { * Generates HTML for the legend which is displayed when hovering over the * chart. If no selected points are specified, a default legend is returned * (this may just be the empty string). - * @param { Number } [x] The x-value of the selected points. - * @param { [Object] } [sel_points] List of selected points for the given - * x-value. Should have properties like 'name', 'yval' and 'canvasy'. - * @param { Number } [oneEmWidth] The pixel width for 1em in the legend. Only - * relevant when displaying a legend with no selection (i.e. {legend: - * 'always'}) and with dashed lines. - */ -legend.generateLegendHTML = function(g, x, sel_points, oneEmWidth) { + * @param {number} x The x-value of the selected points. + * @param {Object} sel_points List of selected points for the given + * x-value. Should have properties like 'name', 'yval' and 'canvasy'. + * @param {number} oneEmWidth The pixel width for 1em in the legend. Only + * relevant when displaying a legend with no selection (i.e. {legend: + * 'always'}) and with dashed lines. + * @param {number} row The selected row index. + */ +legend.generateLegendHTML = function(g, x, sel_points, oneEmWidth, row) { // TODO(danvk): deprecate this option in place of {legend: 'never'} if (g.getOption('showLabelsOnHighlight') !== true) return ''; @@ -9369,7 +9406,7 @@ legend.generateLegendHTML = function(g, x, sel_points, oneEmWidth) { // TODO(danvk): remove this use of a private API var xOptView = g.optionsViewForAxis_('x'); var xvf = xOptView('valueFormatter'); - html = xvf(x, xOptView, labels[0], g); + html = xvf.call(g, x, xOptView, labels[0], g, row, 0); if (html !== '') { html += ':'; } @@ -9392,7 +9429,7 @@ legend.generateLegendHTML = function(g, x, sel_points, oneEmWidth) { var series = g.getPropertiesForSeries(pt.name); var yOptView = yOptViews[series.axis - 1]; var fmtFunc = yOptView('valueFormatter'); - var yval = fmtFunc(pt.yval, yOptView, pt.name, g); + var yval = fmtFunc.call(g, pt.yval, yOptView, pt.name, g, row, labels.indexOf(pt.name)); var cls = (pt.name == highlightSeries) ? " class='highlight'" : ""; @@ -10534,8 +10571,16 @@ Dygraph.OPTIONS_REFERENCE = // "valueFormatter": { "default": "Depends on the type of your data.", "labels": ["Legend", "Value display/formatting"], - "type": "function(num or millis, opts, dygraph)", - "description": "Function to provide a custom display format for the values displayed on mouseover. This does not affect the values that appear on tick marks next to the axes. To format those, see axisLabelFormatter. This is usually set on a per-axis basis. For date axes, you can call new Date(millis) to get a Date object. opts is a function you can call to access various options (e.g. opts('labelsKMB'))." + "type": "function(num or millis, opts, seriesName, dygraph, row, col)", + "description": "Function to provide a custom display format for the values displayed on mouseover. This does not affect the values that appear on tick marks next to the axes. To format those, see axisLabelFormatter. This is usually set on a per-axis basis. .", + "parameters": [ + ["num_or_millis", "The value to be formatted. This is always a number. For date axes, it's millis since epoch. You can call new Date(millis) to get a Date object."], + ["opts", "This is a function you can call to access various options (e.g. opts('labelsKMB')). It returns per-axis values for the option when available."], + ["seriesName", "The name of the series from which the point came, e.g. 'X', 'Y', 'A', etc."], + ["dygraph", "The dygraph object for which the formatting is being done"], + ["row", "The row of the data from which this point comes. g.getValue(row, 0) will return the x-value for this point."], + ["col", "The column of the data from which this point comes. g.getValue(row, col) will return the original y-value for this point. This can be used to get the full confidence interval for the point, or access un-rolled values for the point."] + ] }, "pixelsPerYLabel": { "default": "", diff --git a/dygraph-combined.js b/dygraph-combined.js index f9bc10c..25f0b99 100644 --- a/dygraph-combined.js +++ b/dygraph-combined.js @@ -1,6 +1,6 @@ /*! @license Copyright 2014 Dan Vanderkam (danvdk@gmail.com) MIT-licensed (http://opensource.org/licenses/MIT) */ -!function(t){"use strict";for(var e,a,i={},r=function(){},n="memory".split(","),o="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");e=n.pop();)t[e]=t[e]||i;for(;a=o.pop();)t[a]=t[a]||r}(this.console=this.console||{}),function(){"use strict";CanvasRenderingContext2D.prototype.installPattern=function(t){if("undefined"!=typeof this.isPatternInstalled)throw"Must un-install old line pattern before installing a new one.";this.isPatternInstalled=!0;var e=[0,0],a=[],i=this.beginPath,r=this.lineTo,n=this.moveTo,o=this.stroke;this.uninstallPattern=function(){this.beginPath=i,this.lineTo=r,this.moveTo=n,this.stroke=o,this.uninstallPattern=void 0,this.isPatternInstalled=void 0},this.beginPath=function(){a=[],i.call(this)},this.moveTo=function(t,e){a.push([[t,e]]),n.call(this,t,e)},this.lineTo=function(t,e){var i=a[a.length-1];i.push([t,e])},this.stroke=function(){if(0===a.length)return void o.call(this);for(var i=0;if;){var x=t[v];f+=e[1]?e[1]:x,f>y?(e=[v,f-y],f=y):e=[(v+1)%t.length,0],v%2===0?r.call(this,f,0):n.call(this,f,0),v=(v+1)%t.length}this.restore(),l=g,h=d}o.call(this),a=[]}},CanvasRenderingContext2D.prototype.uninstallPattern=function(){throw"Must install a line pattern before uninstalling it."}}();var DygraphOptions=function(){return function(){"use strict";var t=function(t){this.dygraph_=t,this.yAxes_=[],this.xAxis_={},this.series_={},this.global_=this.dygraph_.attrs_,this.user_=this.dygraph_.user_attrs_||{},this.labels_=[],this.highlightSeries_=this.get("highlightSeriesOpts")||{},this.reparseSeries()};t.AXIS_STRING_MAPPINGS_={y:0,Y:0,y1:0,Y1:0,y2:1,Y2:1},t.axisToIndex_=function(e){if("string"==typeof e){if(t.AXIS_STRING_MAPPINGS_.hasOwnProperty(e))return t.AXIS_STRING_MAPPINGS_[e];throw"Unknown axis : "+e}if("number"==typeof e){if(0===e||1===e)return e;throw"Dygraphs only supports two y-axes, indexed from 0-1."}if(e)throw"Unknown axis : "+e;return 0},t.prototype.reparseSeries=function(){var e=this.get("labels");if(e){this.labels_=e.slice(1),this.yAxes_=[{series:[],options:{}}],this.xAxis_={options:{}},this.series_={};var a=!this.user_.series;if(a){for(var i=0,r=0;r1&&Dygraph.update(this.yAxes_[1].options,h.y2||{}),Dygraph.update(this.xAxis_.options,h.x||{})}},t.prototype.get=function(t){var e=this.getGlobalUser_(t);return null!==e?e:this.getGlobalDefault_(t)},t.prototype.getGlobalUser_=function(t){return this.user_.hasOwnProperty(t)?this.user_[t]:null},t.prototype.getGlobalDefault_=function(t){return this.global_.hasOwnProperty(t)?this.global_[t]:Dygraph.DEFAULT_ATTRS.hasOwnProperty(t)?Dygraph.DEFAULT_ATTRS[t]:null},t.prototype.getForAxis=function(t,e){var a,i;if("number"==typeof e)a=e,i=0===a?"y":"y2";else{if("y1"==e&&(e="y"),"y"==e)a=0;else if("y2"==e)a=1;else{if("x"!=e)throw"Unknown axis "+e;a=-1}i=e}var r=-1==a?this.xAxis_:this.yAxes_[a];if(r){var n=r.options;if(n.hasOwnProperty(t))return n[t]}if("x"!==e||"logscale"!==t){var o=this.getGlobalUser_(t);if(null!==o)return o}var s=Dygraph.DEFAULT_ATTRS.axes[i];return s.hasOwnProperty(t)?s[t]:this.getGlobalDefault_(t)},t.prototype.getForSeries=function(t,e){if(e===this.dygraph_.getHighlightSeries()&&this.highlightSeries_.hasOwnProperty(t))return this.highlightSeries_[t];if(!this.series_.hasOwnProperty(e))throw"Unknown series: "+e;var a=this.series_[e],i=a.options;return i.hasOwnProperty(t)?i[t]:this.getForAxis(t,a.yAxis)},t.prototype.numAxes=function(){return this.yAxes_.length},t.prototype.axisForSeries=function(t){return this.series_[t].yAxis},t.prototype.axisOptions=function(t){return this.yAxes_[t].options},t.prototype.seriesForAxis=function(t){return this.yAxes_[t].series},t.prototype.seriesNames=function(){return this.labels_};return t}()}(),DygraphLayout=function(){"use strict";var t=function(t){this.dygraph_=t,this.points=[],this.setNames=[],this.annotations=[],this.yAxes_=null,this.xTicks_=null,this.yTicks_=null};return t.prototype.addDataset=function(t,e){this.points.push(e),this.setNames.push(t)},t.prototype.getPlotArea=function(){return this.area_},t.prototype.computePlotArea=function(){var t={x:0,y:0};t.w=this.dygraph_.width_-t.x-this.dygraph_.getOption("rightGap"),t.h=this.dygraph_.height_;var e={chart_div:this.dygraph_.graphDiv,reserveSpaceLeft:function(e){var a={x:t.x,y:t.y,w:e,h:t.h};return t.x+=e,t.w-=e,a},reserveSpaceRight:function(e){var a={x:t.x+t.w-e,y:t.y,w:e,h:t.h};return t.w-=e,a},reserveSpaceTop:function(e){var a={x:t.x,y:t.y,w:t.w,h:e};return t.y+=e,t.h-=e,a},reserveSpaceBottom:function(e){var a={x:t.x,y:t.y+t.h-e,w:t.w,h:e};return t.h-=e,a},chartRect:function(){return{x:t.x,y:t.y,w:t.w,h:t.h}}};this.dygraph_.cascadeEvents_("layout",e),this.area_=t},t.prototype.setAnnotations=function(t){this.annotations=[];for(var e=this.dygraph_.getOption("xValueParser")||function(t){return t},a=0;a=0&&1>i&&this.xticks.push([i,a]);for(this.yticks=[],t=0;t0&&1>=i&&this.yticks.push([t,i,a])},t.prototype._evaluateAnnotations=function(){var t,e={};for(t=0;t=0;i--)a.childNodes[i].className==e&&a.removeChild(a.childNodes[i]);for(var r=document.bgColor,n=this.dygraph_.graphDiv;n!=document;){var o=n.currentStyle.backgroundColor;if(o&&"transparent"!=o){r=o;break}n=n.parentNode}var s=this.area;t({x:0,y:0,w:s.x,h:this.height}),t({x:s.x,y:0,w:this.width-s.x,h:s.y}),t({x:s.x+s.w,y:0,w:this.width-s.x-s.w,h:this.height}),t({x:s.x,y:s.y+s.h,w:this.width-s.x,h:this.height-s.h-s.y})},t._getIteratorPredicate=function(e){return e?t._predicateThatSkipsEmptyPoints:null},t._predicateThatSkipsEmptyPoints=function(t,e){return null!==t[e].yval},t._drawStyledLine=function(e,a,i,r,n,o,s){var l=e.dygraph,h=l.getBooleanOption("stepPlot",e.setName);Dygraph.isArrayLike(r)||(r=null);var p=l.getBooleanOption("drawGapEdgePoints",e.setName),g=e.points,d=e.setName,u=Dygraph.createIterator(g,0,g.length,t._getIteratorPredicate(l.getBooleanOption("connectSeparatedPoints",d))),c=r&&r.length>=2,y=e.drawingContext;y.save(),c&&y.installPattern(r);var _=t._drawSeries(e,u,i,s,n,p,h,a);t._drawPointsOnLine(e,_,o,a,s),c&&y.uninstallPattern(),y.restore()},t._drawSeries=function(t,e,a,i,r,n,o,s){var l,h,p=null,g=null,d=null,u=[],c=!0,y=t.drawingContext;y.beginPath(),y.strokeStyle=s,y.lineWidth=a;for(var _=e.array_,v=e.end_,f=e.predicate_,x=e.start_;v>x;x++){if(h=_[x],f){for(;v>x&&!f(_,x);)x++;if(x==v)break;h=_[x]}if(null===h.canvasy||h.canvasy!=h.canvasy)o&&null!==p&&(y.moveTo(p,g),y.lineTo(h.canvasx,g)),p=g=null;else{if(l=!1,n||!p){e.nextIdx_=x,e.next(),d=e.hasNext?e.peek.canvasy:null;var m=null===d||d!=d;l=!p&&m,n&&(!c&&!p||e.hasNext&&m)&&(l=!0)}null!==p?a&&(o&&(y.moveTo(p,g),y.lineTo(h.canvasx,g)),y.lineTo(h.canvasx,h.canvasy)):y.moveTo(h.canvasx,h.canvasy),(r||l)&&u.push([h.canvasx,h.canvasy,h.idx]),p=h.canvasx,g=h.canvasy}c=!1}return y.stroke(),u},t._drawPointsOnLine=function(t,e,a,i,r){for(var n=t.drawingContext,o=0;o0;a--){var n=e[a];if(n[0]==r){var o=e[a-1];o[1]==n[1]&&o[2]==n[2]&&e.splice(a,1)}}for(var a=0;a2&&!t){var s=0;e[0][0]==r&&s++;for(var l=null,h=null,a=s;ae[h][2]&&(h=a)}}var g=e[l],d=e[h];e.splice(s,e.length-s),h>l?(e.push(g),e.push(d)):l>h?(e.push(d),e.push(g)):e.push(g)}}},s=function(a){o(a);for(var s=0,l=e.length;l>s;s++){var h=e[s];h[0]==i?t.lineTo(h[1],h[2]):h[0]==r&&t.moveTo(h[1],h[2])}n+=e.length,e=[]},l=function(t,i,r){var n=Math.round(i);(null===a||n!=a)&&(s(),a=n),e.push([t,i,r])};return{moveTo:function(t,e){l(r,t,e)},lineTo:function(t,e){l(i,t,e)},stroke:function(){s(!0),t.stroke()},fill:function(){s(!0),t.fill()},beginPath:function(){s(!0),t.beginPath()},closePath:function(){s(!0),t.closePath()},_count:function(){return n}}},t._fillPlotter=function(e){if(!e.singleSeriesName&&0===e.seriesIndex){for(var a=e.dygraph,i=a.getLabels().slice(1),r=i.length;r>=0;r--)a.visibility()[r]||i.splice(r,1);var n=function(){for(var t=0;t=0;r--){var n=i[r];t.lineTo(n[0],n[1])}},_=p-1;_>=0;_--){var v=e.drawingContext,f=i[_];if(a.getBooleanOption("fillGraph",f)){var x=a.getBooleanOption("stepPlot",f),m=u[_],D=a.axisPropertiesForSeries(f),A=1+D.minyval*D.yscale;0>A?A=0:A>1&&(A=1),A=l.h*A+l.y;var w,b=h[_],T=Dygraph.createIterator(b,0,b.length,t._getIteratorPredicate(a.getBooleanOption("connectSeparatedPoints",f))),E=0/0,C=[-1,-1],L=Dygraph.toRGB_(m),P="rgba("+L.r+","+L.g+","+L.b+","+g+")";v.fillStyle=P,v.beginPath();var S,O=!0;b.length>2*a.width_&&(v=t._fastCanvasProxy(v));for(var M,F=[];T.hasNext;)if(M=T.next(),Dygraph.isOK(M.y)||x){if(d){if(!O&&S==M.xval)continue;O=!1,S=M.xval,o=c[M.canvasx];var R;R=void 0===o?A:s?o[0]:o,w=[M.canvasy,R],c[M.canvasx]=x?-1===C[0]?[M.canvasy,A]:[M.canvasy,C[0]]:M.canvasy}else w=isNaN(M.canvasy)&&x?[l.y+l.h,A]:[M.canvasy,A];isNaN(E)?(v.moveTo(M.canvasx,w[1]),v.lineTo(M.canvasx,w[0])):(x?(v.lineTo(M.canvasx,C[0]),v.lineTo(M.canvasx,w[0])):v.lineTo(M.canvasx,w[0]),d&&(F.push([E,C[1]]),F.push(s&&o?[M.canvasx,o[1]]:[M.canvasx,w[1]]))),C=w,E=M.canvasx}else y(v,E,C[1],F),F=[],E=0/0,null===M.y_stacked||isNaN(M.y_stacked)||(c[M.canvasx]=l.h*M.y_stacked+l.y);s=x,w&&M&&(y(v,M.canvasx,w[1],F),F=[]),v.fill()}}}},t}(),Dygraph=function(){"use strict";var t=function(t,e,a,i){this.is_initial_draw_=!0,this.readyFns_=[],void 0!==i?(console.warn("Using deprecated four-argument dygraph constructor"),this.__old_init__(t,e,a,i)):this.__init__(t,e,a)};return t.NAME="Dygraph",t.VERSION="1.1.0",t.__repr__=function(){return"["+t.NAME+" "+t.VERSION+"]"},t.toString=function(){return t.__repr__()},t.DEFAULT_ROLL_PERIOD=1,t.DEFAULT_WIDTH=480,t.DEFAULT_HEIGHT=320,t.ANIMATION_STEPS=12,t.ANIMATION_DURATION=200,t.KMB_LABELS=["K","M","B","T","Q"],t.KMG2_BIG_LABELS=["k","M","G","T","P","E","Z","Y"],t.KMG2_SMALL_LABELS=["m","u","n","p","f","a","z","y"],t.numberValueFormatter=function(e,a){var i=a("sigFigs");if(null!==i)return t.floatFormat(e,i);var r,n=a("digitsAfterDecimal"),o=a("maxNumberWidth"),s=a("labelsKMB"),l=a("labelsKMG2");if(r=0!==e&&(Math.abs(e)>=Math.pow(10,o)||Math.abs(e)=0;c--,u/=h)if(d>=u){r=t.round_(e/u,n)+p[c];break}if(l){var y=String(e.toExponential()).split("e-");2===y.length&&y[1]>=3&&y[1]<=24&&(r=y[1]%3>0?t.round_(y[0]/t.pow(10,y[1]%3),n):Number(y[0]).toFixed(2),r+=g[Math.floor(y[1]/3)-1])}}return r},t.numberAxisLabelFormatter=function(e,a,i){return t.numberValueFormatter(e,i)},t.SHORT_MONTH_NAMES_=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],t.dateAxisLabelFormatter=function(e,a,i){var r=i("labelsUTC"),n=r?t.DateAccessorsUTC:t.DateAccessorsLocal,o=n.getFullYear(e),s=n.getMonth(e),l=n.getDate(e),h=n.getHours(e),p=n.getMinutes(e),g=n.getSeconds(e),d=n.getSeconds(e);if(a>=t.DECADAL)return""+o;if(a>=t.MONTHLY)return t.SHORT_MONTH_NAMES_[s]+" "+o;var u=3600*h+60*p+g+.001*d;return 0===u||a>=t.DAILY?t.zeropad(l)+" "+t.SHORT_MONTH_NAMES_[s]:t.hmsString_(h,p,g)},t.dateAxisFormatter=t.dateAxisLabelFormatter,t.dateValueFormatter=function(e,a){return t.dateString_(e,a("labelsUTC"))},t.Plotters=DygraphCanvasRenderer._Plotters,t.DEFAULT_ATTRS={highlightCircleSize:3,highlightSeriesOpts:null,highlightSeriesBackgroundAlpha:.5,labelsDivWidth:250,labelsDivStyles:{},labelsSeparateLines:!1,labelsShowZeroValues:!0,labelsKMB:!1,labelsKMG2:!1,showLabelsOnHighlight:!0,digitsAfterDecimal:2,maxNumberWidth:6,sigFigs:null,strokeWidth:1,strokeBorderWidth:0,strokeBorderColor:"white",axisTickSize:3,axisLabelFontSize:14,rightGap:5,showRoller:!1,xValueParser:t.dateParser,delimiter:",",sigma:2,errorBars:!1,fractions:!1,wilsonInterval:!0,customBars:!1,fillGraph:!1,fillAlpha:.15,connectSeparatedPoints:!1,stackedGraph:!1,stackedGraphNaNFill:"all",hideOverlayOnMouseOut:!0,legend:"onmouseover",stepPlot:!1,avoidMinZero:!1,xRangePad:0,yRangePad:null,drawAxesAtZero:!1,titleHeight:28,xLabelHeight:18,yLabelWidth:18,drawXAxis:!0,drawYAxis:!0,axisLineColor:"black",axisLineWidth:.3,gridLineWidth:.3,axisLabelColor:"black",axisLabelWidth:50,drawYGrid:!0,drawXGrid:!0,gridLineColor:"rgb(128,128,128)",interactionModel:null,animatedZooms:!1,showRangeSelector:!1,rangeSelectorHeight:40,rangeSelectorPlotStrokeColor:"#808FAB",rangeSelectorPlotFillColor:"#A7B1C4",showInRangeSelector:null,plotter:[t.Plotters.fillPlotter,t.Plotters.errorPlotter,t.Plotters.linePlotter],plugins:[],axes:{x:{pixelsPerLabel:70,axisLabelWidth:60,axisLabelFormatter:t.dateAxisLabelFormatter,valueFormatter:t.dateValueFormatter,drawGrid:!0,drawAxis:!0,independentTicks:!0,ticker:null},y:{axisLabelWidth:50,pixelsPerLabel:30,valueFormatter:t.numberValueFormatter,axisLabelFormatter:t.numberAxisLabelFormatter,drawGrid:!0,drawAxis:!0,independentTicks:!0,ticker:null},y2:{axisLabelWidth:50,pixelsPerLabel:30,valueFormatter:t.numberValueFormatter,axisLabelFormatter:t.numberAxisLabelFormatter,drawAxis:!0,drawGrid:!1,independentTicks:!1,ticker:null}}},t.HORIZONTAL=1,t.VERTICAL=2,t.PLUGINS=[],t.addedAnnotationCSS=!1,t.prototype.__old_init__=function(e,a,i,r){if(null!==i){for(var n=["Date"],o=0;o=0;n--){var o=r[n][0],s=r[n][1];if(s.call(o,i),i.propagationStopped)break}return i.defaultPrevented},t.prototype.getPluginInstance_=function(t){for(var e=0;et||t>=this.axes_.length)return null;var e=this.axes_[t];return[e.computedValueRange[0],e.computedValueRange[1]]},t.prototype.yAxisRanges=function(){for(var t=[],e=0;et||t>this.rawData_.length?null:0>e||e>this.rawData_[t].length?null:this.rawData_[t][e]},t.prototype.createInterface_=function(){var e=this.maindiv_;this.graphDiv=document.createElement("div"),this.graphDiv.style.textAlign="left",this.graphDiv.style.position="relative",e.appendChild(this.graphDiv),this.canvas_=t.createCanvas(),this.canvas_.style.position="absolute",this.hidden_=this.createPlotKitCanvas_(this.canvas_),this.canvas_ctx_=t.getContext(this.canvas_),this.hidden_ctx_=t.getContext(this.hidden_),this.resizeElements_(),this.graphDiv.appendChild(this.hidden_),this.graphDiv.appendChild(this.canvas_),this.mouseEventElement_=this.createMouseEventElement_(),this.layout_=new DygraphLayout(this);var a=this;this.mouseMoveHandler_=function(t){a.mouseMove_(t)},this.mouseOutHandler_=function(e){var i=e.target||e.fromElement,r=e.relatedTarget||e.toElement;t.isNodeContainedBy(i,a.graphDiv)&&!t.isNodeContainedBy(r,a.graphDiv)&&a.mouseOut_(e)},this.addAndTrackEvent(window,"mouseout",this.mouseOutHandler_),this.addAndTrackEvent(this.mouseEventElement_,"mousemove",this.mouseMoveHandler_),this.resizeHandler_||(this.resizeHandler_=function(){a.resize()},this.addAndTrackEvent(window,"resize",this.resizeHandler_))},t.prototype.resizeElements_=function(){this.graphDiv.style.width=this.width_+"px",this.graphDiv.style.height=this.height_+"px";var e=t.getContextPixelRatio(this.canvas_ctx_);this.canvas_.width=this.width_*e,this.canvas_.height=this.height_*e,this.canvas_.style.width=this.width_+"px",this.canvas_.style.height=this.height_+"px",1!==e&&this.canvas_ctx_.scale(e,e);var a=t.getContextPixelRatio(this.hidden_ctx_);this.hidden_.width=this.width_*a,this.hidden_.height=this.height_*a,this.hidden_.style.width=this.width_+"px",this.hidden_.style.height=this.height_+"px",1!==a&&this.hidden_ctx_.scale(a,a)},t.prototype.destroy=function(){this.canvas_ctx_.restore(),this.hidden_ctx_.restore();for(var e=this.plugins_.length-1;e>=0;e--){var a=this.plugins_.pop();a.plugin.destroy&&a.plugin.destroy()}var i=function(t){for(;t.hasChildNodes();)i(t.firstChild),t.removeChild(t.firstChild)};this.removeTrackedEvents_(),t.removeEvent(window,"mouseout",this.mouseOutHandler_),t.removeEvent(this.mouseEventElement_,"mousemove",this.mouseMoveHandler_),t.removeEvent(window,"resize",this.resizeHandler_),this.resizeHandler_=null,i(this.maindiv_);var r=function(t){for(var e in t)"object"==typeof t[e]&&(t[e]=null)};r(this.layout_),r(this.plotter_),r(this)},t.prototype.createPlotKitCanvas_=function(e){var a=t.createCanvas();return a.style.position="absolute",a.style.top=e.style.top,a.style.left=e.style.left,a.width=this.width_,a.height=this.height_,a.style.width=this.width_+"px",a.style.height=this.height_+"px",a},t.prototype.createMouseEventElement_=function(){if(this.isUsingExcanvas_){var t=document.createElement("div");return t.style.position="absolute",t.style.backgroundColor="white",t.style.filter="alpha(opacity=0)",t.style.width=this.width_+"px",t.style.height=this.height_+"px",this.graphDiv.appendChild(t),t}return this.canvas_},t.prototype.setColors_=function(){var e=this.getLabels(),a=e.length-1;this.colors_=[],this.colorsMap_={};for(var i=this.getNumericOption("colorSaturation")||1,r=this.getNumericOption("colorValue")||.5,n=Math.ceil(a/2),o=this.getOption("colors"),s=this.visibility(),l=0;a>l;l++)if(s[l]){var h=e[l+1],p=this.attributes_.getForSeries("color",h); -if(!p)if(o)p=o[l%o.length];else{var g=l%2?n+(l+1)/2:Math.ceil((l+1)/2),d=1*g/(1+a);p=t.hsvToRGB(d,i,r)}this.colors_.push(p),this.colorsMap_[h]=p}},t.prototype.getColors=function(){return this.colors_},t.prototype.getPropertiesForSeries=function(t){for(var e=-1,a=this.getLabels(),i=1;i=o;o++)s=t.zoomAnimationFunction(o,l),h[o-1]=[e[0]*(1-s)+s*a[0],e[1]*(1-s)+s*a[1]];if(null!==i&&null!==r)for(o=1;l>=o;o++){s=t.zoomAnimationFunction(o,l);for(var g=[],d=0;dl;l++){var h=o[l];if(t.isValidPoint(h,!0)){var p=Math.abs(h.canvasx-e);a>p&&(a=p,i=h.idx)}}return i},t.prototype.findClosestPoint=function(e,a){for(var i,r,n,o,s,l,h,p=1/0,g=this.layout_.points.length-1;g>=0;--g)for(var d=this.layout_.points[g],u=0;ui&&(p=i,s=o,l=g,h=o.idx));var c=this.layout_.setNames[l];return{row:h,seriesName:c,point:s}},t.prototype.findStackedPoint=function(e,a){for(var i,r,n=this.findClosestRow(e),o=0;o=h.length)){var p=h[l];if(t.isValidPoint(p)){var g=p.canvasy;if(e>p.canvasx&&l+10){var c=(e-p.canvasx)/u;g+=c*(d.canvasy-p.canvasy)}}}else if(e0){var y=h[l-1];if(t.isValidPoint(y)){var u=p.canvasx-y.canvasx;if(u>0){var c=(p.canvasx-e)/u;g+=c*(y.canvasy-p.canvasy)}}}(0===o||a>g)&&(i=p,r=o)}}}var _=this.layout_.setNames[r];return{row:n,seriesName:_,point:i}},t.prototype.mouseMove_=function(t){var e=this.layout_.points;if(void 0!==e&&null!==e){var a=this.eventToDomCoords(t),i=a[0],r=a[1],n=this.getOption("highlightSeriesOpts"),o=!1;if(n&&!this.isSeriesLocked()){var s;s=this.getBooleanOption("stackedGraph")?this.findStackedPoint(i,r):this.findClosestPoint(i,r),o=this.setSelection(s.row,s.seriesName)}else{var l=this.findClosestRow(i);o=this.setSelection(l)}var h=this.getFunctionOption("highlightCallback");h&&o&&h.call(this,t,this.lastx_,this.selPoints_,this.lastRow_,this.highlightSet_)}},t.prototype.getLeftBoundary_=function(t){if(this.boundaryIds_[t])return this.boundaryIds_[t][0];for(var e=0;ee?r:a-r;if(0>=n)return void(this.fadeLevel&&this.updateSelection_(1));var o=++this.animateId,s=this;t.repeatAndCleanup(function(){s.animateId==o&&(s.fadeLevel+=e,0===s.fadeLevel?s.clearSelection():s.updateSelection_(s.fadeLevel/a))},n,i,function(){})},t.prototype.updateSelection_=function(e){this.cascadeEvents_("select",{selectedX:this.lastx_,selectedPoints:this.selPoints_});var a,i=this.canvas_ctx_;if(this.getOption("highlightSeriesOpts")){i.clearRect(0,0,this.width_,this.height_);var r=1-this.getNumericOption("highlightSeriesBackgroundAlpha");if(r){var n=!0;if(n){if(void 0===e)return void this.animateSelection_(1);r*=e}i.fillStyle="rgba(255,255,255,"+r+")",i.fillRect(0,0,this.width_,this.height_)}this.plotter_._renderLineChart(this.highlightSet_,i)}else if(this.previousVerticalX_>=0){var o=0,s=this.attr_("labels");for(a=1;ao&&(o=l)}var h=this.previousVerticalX_;i.clearRect(h-o-1,0,2*o+2,this.height_)}if(this.isUsingExcanvas_&&this.currentZoomRectArgs_&&t.prototype.drawZoomRect_.apply(this,this.currentZoomRectArgs_),this.selPoints_.length>0){var p=this.selPoints_[0].canvasx;for(i.save(),a=0;a=0){t!=this.lastRow_&&(i=!0),this.lastRow_=t;for(var r=0;r=0&&(i=!0),this.lastRow_=-1;return this.lastx_=this.selPoints_.length?this.selPoints_[0].xval:-1,void 0!==e&&(this.highlightSet_!==e&&(i=!0),this.highlightSet_=e),void 0!==a&&(this.lockedSet_=a),i&&this.updateSelection_(void 0),i},t.prototype.mouseOut_=function(t){this.getFunctionOption("unhighlightCallback")&&this.getFunctionOption("unhighlightCallback").call(this,t),this.getBooleanOption("hideOverlayOnMouseOut")&&!this.lockedSet_&&this.clearSelection()},t.prototype.clearSelection=function(){return this.cascadeEvents_("deselect",{}),this.lockedSet_=!1,this.fadeLevel?void this.animateSelection_(-1):(this.canvas_ctx_.clearRect(0,0,this.width_,this.height_),this.fadeLevel=0,this.selPoints_=[],this.lastx_=-1,this.lastRow_=-1,void(this.highlightSet_=null))},t.prototype.getSelection=function(){if(!this.selPoints_||this.selPoints_.length<1)return-1;for(var t=0;t1&&(a=this.dataHandler_.rollingAverage(a,this.rollPeriod_,this.attributes_)),this.rolledSeries_.push(a)}this.drawGraph_();var i=new Date;this.drawingTimeMs_=i-t},t.PointType=void 0,t.stackPoints_=function(t,e,a,i){for(var r=null,n=null,o=null,s=-1,l=function(e){if(!(s>=e))for(var a=e;aa[1]&&(a[1]=u),u=1;i--)if(this.visibility()[i-1]){if(a){l=e[i];var c=a[0],y=a[1];for(n=null,o=null,r=0;r=c&&null===n&&(n=r),l[r][0]<=y&&(o=r);null===n&&(n=0);for(var _=n,v=!0;v&&_>0;)_--,v=null===l[_][1];null===o&&(o=l.length-1);var f=o;for(v=!0;v&&f0&&(this.setIndexByName_[n[0]]=0);for(var o=0,s=1;s0;){var a=this.readyFns_.pop();a(this)}},t.prototype.computeYAxes_=function(){var e,a,i,r,n;if(void 0!==this.axes_&&this.user_attrs_.hasOwnProperty("valueRange")===!1)for(e=[],i=0;ii;i++)this.axes_[i].valueWindow=e[i]}for(a=0;al;l++){var h=this.axes_[l],p=this.attributes_.getForAxis("logscale",l),g=this.attributes_.getForAxis("includeZero",l),d=this.attributes_.getForAxis("independentTicks",l);if(i=this.attributes_.seriesForAxis(l),e=!0,r=.1,null!==this.getNumericOption("yRangePad")&&(e=!1,r=this.getNumericOption("yRangePad")/this.plotter_.area.h),0===i.length)h.extremeRange=[0,1];else{for(var u,c,y=1/0,_=-1/0,v=0;v0&&(y=0),0>_&&(_=0)),1/0==y&&(y=0),_==-1/0&&(_=1),a=_-y,0===a&&(0!==_?a=Math.abs(_):(_=1,a=1));var f,x;if(p)if(e)f=_+r*a,x=y;else{var m=Math.exp(Math.log(a)*r);f=_*m,x=y/m}else f=_+r*a,x=y-r*a,e&&!this.getBooleanOption("avoidMinZero")&&(0>x&&y>=0&&(x=0),f>0&&0>=_&&(f=0));h.extremeRange=[x,f]}if(h.valueWindow)h.computedValueRange=[h.valueWindow[0],h.valueWindow[1]];else if(h.valueRange){var D=o(h.valueRange[0])?h.extremeRange[0]:h.valueRange[0],A=o(h.valueRange[1])?h.extremeRange[1]:h.valueRange[1];if(!e)if(h.logscale){var m=Math.exp(Math.log(a)*r);D*=m,A/=m}else a=A-D,D-=a*r,A+=a*r;h.computedValueRange=[D,A]}else h.computedValueRange=h.extremeRange;if(d){h.independentTicks=d;var w=this.optionsViewForAxis_("y"+(l?"2":"")),b=w("ticker");h.ticks=b(h.computedValueRange[0],h.computedValueRange[1],this.plotter_.area.h,w,this),n||(n=h)}}if(void 0===n)throw'Configuration Error: At least one axis has to have the "independentTicks" option activated.';for(var l=0;s>l;l++){var h=this.axes_[l];if(!h.independentTicks){for(var w=this.optionsViewForAxis_("y"+(l?"2":"")),b=w("ticker"),T=n.ticks,E=n.computedValueRange[1]-n.computedValueRange[0],C=h.computedValueRange[1]-h.computedValueRange[0],L=[],P=0;P0&&"e"!=t[a-1]&&"E"!=t[a-1]||t.indexOf("/")>=0||isNaN(parseFloat(t))?e=!0:8==t.length&&t>"19700101"&&"20371231">t&&(e=!0),this.setXAxisOptions_(e)},t.prototype.setXAxisOptions_=function(e){e?(this.attrs_.xValueParser=t.dateParser,this.attrs_.axes.x.valueFormatter=t.dateValueFormatter,this.attrs_.axes.x.ticker=t.dateTicker,this.attrs_.axes.x.axisLabelFormatter=t.dateAxisLabelFormatter):(this.attrs_.xValueParser=function(t){return parseFloat(t)},this.attrs_.axes.x.valueFormatter=function(t){return t},this.attrs_.axes.x.ticker=t.numericTicks,this.attrs_.axes.x.axisLabelFormatter=this.attrs_.axes.x.valueFormatter)},t.prototype.parseCSV_=function(e){var a,i,r=[],n=t.detectLineDelimiter(e),o=e.split(n||"\n"),s=this.getStringOption("delimiter");-1==o[0].indexOf(s)&&o[0].indexOf(" ")>=0&&(s=" ");var l=0;"labels"in this.user_attrs_||(l=1,this.attrs_.labels=o[0].split(s),this.attributes_.reparseSeries());for(var h,p=0,g=!1,d=this.attr_("labels").length,u=!1,c=l;c0&&v[0]0;)e=String.fromCharCode(65+(t-1)%26)+e.toLowerCase(),t=Math.floor((t-1)/26);return e},i=e.getNumberOfColumns(),r=e.getNumberOfRows(),n=e.getColumnType(0);if("date"==n||"datetime"==n)this.attrs_.xValueParser=t.dateParser,this.attrs_.axes.x.valueFormatter=t.dateValueFormatter,this.attrs_.axes.x.ticker=t.dateTicker,this.attrs_.axes.x.axisLabelFormatter=t.dateAxisLabelFormatter;else{if("number"!=n)return console.error("only 'date', 'datetime' and 'number' types are supported for column 1 of DataTable input (Got '"+n+"')"),null;this.attrs_.xValueParser=function(t){return parseFloat(t)},this.attrs_.axes.x.valueFormatter=function(t){return t},this.attrs_.axes.x.ticker=t.numericTicks,this.attrs_.axes.x.axisLabelFormatter=this.attrs_.axes.x.valueFormatter}var o,s,l=[],h={},p=!1;for(o=1;i>o;o++){var g=e.getColumnType(o);if("number"==g)l.push(o);else if("string"==g&&this.getBooleanOption("displayAnnotations")){var d=l[l.length-1];h.hasOwnProperty(d)?h[d].push(o):h[d]=[o],p=!0}else console.error("Only 'number' is supported as a dependent type with Gviz. 'string' is only supported if displayAnnotations is true")}var u=[e.getColumnLabel(0)];for(o=0;oo;o++){var v=[];if("undefined"!=typeof e.getValue(o,0)&&null!==e.getValue(o,0)){if(v.push("date"==n||"datetime"==n?e.getValue(o,0).getTime():e.getValue(o,0)),this.getBooleanOption("errorBars"))for(s=0;i-1>s;s++)v.push([e.getValue(o,1+2*s),e.getValue(o,2+2*s)]);else{for(s=0;s0&&v[0]0&&this.setAnnotations(_,!0),this.attributes_.reparseSeries()},t.prototype.cascadeDataDidUpdateEvent_=function(){this.cascadeEvents_("dataDidUpdate",{})},t.prototype.start_=function(){var e=this.file_;if("function"==typeof e&&(e=e()),t.isArrayLike(e))this.rawData_=this.parseArray_(e),this.cascadeDataDidUpdateEvent_(),this.predraw_();else if("object"==typeof e&&"function"==typeof e.getColumnRange)this.parseDataTable_(e),this.cascadeDataDidUpdateEvent_(),this.predraw_();else if("string"==typeof e){var a=t.detectLineDelimiter(e);if(a)this.loadedEvent_(e);else{var i;i=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");var r=this;i.onreadystatechange=function(){4==i.readyState&&(200===i.status||0===i.status)&&r.loadedEvent_(i.responseText)},i.open("GET",e,!0),i.send(null)}}else console.error("Unknown data format: "+typeof e)},t.prototype.updateOptions=function(e,a){"undefined"==typeof a&&(a=!1);var i=e.file,r=t.mapLegacyOptions_(e);"rollPeriod"in r&&(this.rollPeriod_=r.rollPeriod),"dateWindow"in r&&(this.dateWindow_=r.dateWindow,"isZoomedIgnoreProgrammaticZoom"in r||(this.zoomed_x_=null!==r.dateWindow)),"valueRange"in r&&!("isZoomedIgnoreProgrammaticZoom"in r)&&(this.zoomed_y_=null!==r.valueRange);var n=t.isPixelChangingOptionList(this.attr_("labels"),r);t.updateDeep(this.user_attrs_,r),this.attributes_.reparseSeries(),i?(this.cascadeEvents_("dataWillUpdate",{}),this.file_=i,a||this.start_()):a||(n?this.predraw_():this.renderGraph_(!1))},t.mapLegacyOptions_=function(t){var e={};for(var a in t)t.hasOwnProperty(a)&&"file"!=a&&t.hasOwnProperty(a)&&(e[a]=t[a]);var i=function(t,a,i){e.axes||(e.axes={}),e.axes[t]||(e.axes[t]={}),e.axes[t][a]=i},r=function(a,r,n){"undefined"!=typeof t[a]&&(console.warn("Option "+a+" is deprecated. Use the "+n+" option for the "+r+" axis instead. (e.g. { axes : { "+r+" : { "+n+" : ... } } } (see http://dygraphs.com/per-axis.html for more information."),i(r,n,t[a]),delete e[a])};return r("xValueFormatter","x","valueFormatter"),r("pixelsPerXLabel","x","pixelsPerLabel"),r("xAxisLabelFormatter","x","axisLabelFormatter"),r("xTicker","x","ticker"),r("yValueFormatter","y","valueFormatter"),r("pixelsPerYLabel","y","pixelsPerLabel"),r("yAxisLabelFormatter","y","axisLabelFormatter"),r("yTicker","y","ticker"),r("drawXGrid","x","drawGrid"),r("drawXAxis","x","drawAxis"),r("drawYGrid","y","drawGrid"),r("drawYAxis","y","drawAxis"),r("xAxisLabelWidth","x","axisLabelWidth"),r("yAxisLabelWidth","y","axisLabelWidth"),e},t.prototype.resize=function(t,e){if(!this.resize_lock){this.resize_lock=!0,null===t!=(null===e)&&(console.warn("Dygraph.resize() should be called with zero parameters or two non-NULL parameters. Pretending it was zero."),t=e=null);var a=this.width_,i=this.height_;t?(this.maindiv_.style.width=t+"px",this.maindiv_.style.height=e+"px",this.width_=t,this.height_=e):(this.width_=this.maindiv_.clientWidth,this.height_=this.maindiv_.clientHeight),(a!=this.width_||i!=this.height_)&&(this.resizeElements_(),this.predraw_()),this.resize_lock=!1}},t.prototype.adjustRoll=function(t){this.rollPeriod_=t,this.predraw_()},t.prototype.visibility=function(){for(this.getOption("visibility")||(this.attrs_.visibility=[]);this.getOption("visibility").lengtht||t>=a.length?console.warn("invalid series number in setVisibility: "+t):(a[t]=e,this.predraw_())},t.prototype.size=function(){return{width:this.width_,height:this.height_}},t.prototype.setAnnotations=function(e,a){return t.addAnnotationRule(),this.annotations_=e,this.layout_?(this.layout_.setAnnotations(this.annotations_),void(a||this.predraw_())):void console.warn("Tried to setAnnotations before dygraph was ready. Try setting them in a ready() block. See dygraphs.com/tests/annotation.html")},t.prototype.annotations=function(){return this.annotations_},t.prototype.getLabels=function(){var t=this.attr_("labels");return t?t.slice():null},t.prototype.indexFromSetName=function(t){return this.setIndexByName_[t]},t.prototype.ready=function(t){this.is_initial_draw_?this.readyFns_.push(t):t.call(this,this)},t.addAnnotationRule=function(){if(!t.addedAnnotationCSS){var e="border: 1px solid black; background-color: white; text-align: center;",a=document.createElement("style");a.type="text/css",document.getElementsByTagName("head")[0].appendChild(a);for(var i=0;it?"0"+t:""+t},Dygraph.DateAccessorsLocal={getFullYear:function(t){return t.getFullYear()},getMonth:function(t){return t.getMonth()},getDate:function(t){return t.getDate()},getHours:function(t){return t.getHours()},getMinutes:function(t){return t.getMinutes()},getSeconds:function(t){return t.getSeconds()},getMilliseconds:function(t){return t.getMilliseconds()},getDay:function(t){return t.getDay()},makeDate:function(t,e,a,i,r,n,o){return new Date(t,e,a,i,r,n,o)}},Dygraph.DateAccessorsUTC={getFullYear:function(t){return t.getUTCFullYear()},getMonth:function(t){return t.getUTCMonth()},getDate:function(t){return t.getUTCDate()},getHours:function(t){return t.getUTCHours()},getMinutes:function(t){return t.getUTCMinutes()},getSeconds:function(t){return t.getUTCSeconds()},getMilliseconds:function(t){return t.getUTCMilliseconds()},getDay:function(t){return t.getUTCDay()},makeDate:function(t,e,a,i,r,n,o){return new Date(Date.UTC(t,e,a,i,r,n,o))}},Dygraph.hmsString_=function(t,e,a){var i=Dygraph.zeropad,r=i(t)+":"+i(e);return a&&(r+=":"+i(a)),r},Dygraph.dateString_=function(t,e){var a=Dygraph.zeropad,i=e?Dygraph.DateAccessorsUTC:Dygraph.DateAccessorsLocal,r=new Date(t),n=i.getFullYear(r),o=i.getMonth(r),s=i.getDate(r),l=i.getHours(r),h=i.getMinutes(r),p=i.getSeconds(r),g=""+n,d=a(o+1),u=a(s),c=3600*l+60*h+p,y=g+"/"+d+"/"+u;return c&&(y+=" "+Dygraph.hmsString_(l,h,p)),y},Dygraph.round_=function(t,e){var a=Math.pow(10,e);return Math.round(t*a)/a},Dygraph.binarySearch=function(t,e,a,i,r){if((null===i||void 0===i||null===r||void 0===r)&&(i=0,r=e.length-1),i>r)return-1;(null===a||void 0===a)&&(a=0);var n,o=function(t){return t>=0&&tt?a>0&&(n=s-1,o(n)&&e[n]l?0>a&&(n=s+1,o(n)&&e[n]>t)?s:Dygraph.binarySearch(t,e,a,s+1,r):-1},Dygraph.dateParser=function(t){var e,a;if((-1==t.search("-")||-1!=t.search("T")||-1!=t.search("Z"))&&(a=Dygraph.dateStrToMillis(t),a&&!isNaN(a)))return a;if(-1!=t.search("-")){for(e=t.replace("-","/","g");-1!=e.search("-");)e=e.replace("-","/");a=Dygraph.dateStrToMillis(e)}else 8==t.length?(e=t.substr(0,4)+"/"+t.substr(4,2)+"/"+t.substr(6,2),a=Dygraph.dateStrToMillis(e)):a=Dygraph.dateStrToMillis(t);return(!a||isNaN(a))&&console.error("Couldn't parse "+t+" as a date"),a},Dygraph.dateStrToMillis=function(t){return new Date(t).getTime()},Dygraph.update=function(t,e){if("undefined"!=typeof e&&null!==e)for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return t},Dygraph.updateDeep=function(t,e){function a(t){return"object"==typeof Node?t instanceof Node:"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}if("undefined"!=typeof e&&null!==e)for(var i in e)e.hasOwnProperty(i)&&(null===e[i]?t[i]=null:Dygraph.isArrayLike(e[i])?t[i]=e[i].slice():a(e[i])?t[i]=e[i]:"object"==typeof e[i]?(("object"!=typeof t[i]||null===t[i])&&(t[i]={}),Dygraph.updateDeep(t[i],e[i])):t[i]=e[i]);return t},Dygraph.isArrayLike=function(t){var e=typeof t;return"object"!=e&&("function"!=e||"function"!=typeof t.item)||null===t||"number"!=typeof t.length||3===t.nodeType?!1:!0},Dygraph.isDateLike=function(t){return"object"!=typeof t||null===t||"function"!=typeof t.getTime?!1:!0},Dygraph.clone=function(t){for(var e=[],a=0;a=e||Dygraph.requestAnimFrame.call(window,function(){var e=(new Date).getTime(),h=e-o;r=n,n=Math.floor(h/a);var p=n-r,g=n+p>s;g||n>=s?(t(s),i()):(0!==p&&t(n),l())})}()};var t={annotationClickHandler:!0,annotationDblClickHandler:!0,annotationMouseOutHandler:!0,annotationMouseOverHandler:!0,axisLabelColor:!0,axisLineColor:!0,axisLineWidth:!0,clickCallback:!0,drawCallback:!0,drawHighlightPointCallback:!0,drawPoints:!0,drawPointCallback:!0,drawXGrid:!0,drawYGrid:!0,fillAlpha:!0,gridLineColor:!0,gridLineWidth:!0,hideOverlayOnMouseOut:!0,highlightCallback:!0,highlightCircleSize:!0,interactionModel:!0,isZoomedIgnoreProgrammaticZoom:!0,labelsDiv:!0,labelsDivStyles:!0,labelsDivWidth:!0,labelsKMB:!0,labelsKMG2:!0,labelsSeparateLines:!0,labelsShowZeroValues:!0,legend:!0,panEdgeFraction:!0,pixelsPerYLabel:!0,pointClickCallback:!0,pointSize:!0,rangeSelectorPlotFillColor:!0,rangeSelectorPlotStrokeColor:!0,showLabelsOnHighlight:!0,showRoller:!0,strokeWidth:!0,underlayCallback:!0,unhighlightCallback:!0,zoomCallback:!0};Dygraph.isPixelChangingOptionList=function(e,a){var i={};if(e)for(var r=1;re?1/Math.pow(t,-e):Math.pow(t,e)},Dygraph.toRGB_=function(t){var e=document.createElement("div");e.style.backgroundColor=t,e.style.visibility="hidden",document.body.appendChild(e);var a;a=window.getComputedStyle?window.getComputedStyle(e,null).backgroundColor:e.currentStyle.backgroundColor,document.body.removeChild(e);var i=/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/.exec(a);return{r:parseInt(i[1],10),g:parseInt(i[2],10),b:parseInt(i[3],10)}},Dygraph.isCanvasSupported=function(t){var e;try{e=t||document.createElement("canvas"),e.getContext("2d")}catch(a){var i=navigator.appVersion.match(/MSIE (\d\.\d)/),r=-1!=navigator.userAgent.toLowerCase().indexOf("opera");return!i||i[1]<6||r?!1:!0}return!0},Dygraph.parseFloat_=function(t,e,a){var i=parseFloat(t);if(!isNaN(i))return i;if(/^ *$/.test(t))return null;if(/^ *nan *$/i.test(t))return 0/0;var r="Unable to parse '"+t+"' as a number";return void 0!==a&&void 0!==e&&(r+=" on line "+(1+(e||0))+" ('"+a+"') of CSV."),console.error(r),null}}(),function(){"use strict";Dygraph.GVizChart=function(t){this.container=t},Dygraph.GVizChart.prototype.draw=function(t,e){this.container.innerHTML="","undefined"!=typeof this.date_graph&&this.date_graph.destroy(),this.date_graph=new Dygraph(this.container,t,e)},Dygraph.GVizChart.prototype.setSelection=function(t){var e=!1;t.length&&(e=t[0].row),this.date_graph.setSelection(e)},Dygraph.GVizChart.prototype.getSelection=function(){var t=[],e=this.date_graph.getSelection();if(0>e)return t;for(var a=this.date_graph.layout_.points,i=0;ii&&2>r&&void 0!==e.lastx_&&-1!=e.lastx_&&Dygraph.Interaction.treatMouseOpAsClick(e,t,a),a.regionWidth=i,a.regionHeight=r},Dygraph.Interaction.startPan=function(t,e,a){var i,r;a.isPanning=!0;var n=e.xAxisRange();if(e.getOptionForAxis("logscale","x")?(a.initialLeftmostDate=Dygraph.log10(n[0]),a.dateRange=Dygraph.log10(n[1])-Dygraph.log10(n[0])):(a.initialLeftmostDate=n[0],a.dateRange=n[1]-n[0]),a.xUnitsPerPixel=a.dateRange/(e.plotter_.area.w-1),e.getNumericOption("panEdgeFraction")){var o=e.width_*e.getNumericOption("panEdgeFraction"),s=e.xAxisExtremes(),l=e.toDomXCoord(s[0])-o,h=e.toDomXCoord(s[1])+o,p=e.toDataXCoord(l),g=e.toDataXCoord(h);a.boundedDates=[p,g];var d=[],u=e.height_*e.getNumericOption("panEdgeFraction");for(i=0;ia.boundedDates[1]&&(i-=r-a.boundedDates[1],r=i+a.dateRange),e.dateWindow_=e.getOptionForAxis("logscale","x")?[Math.pow(Dygraph.LOG_SCALE,i),Math.pow(Dygraph.LOG_SCALE,r)]:[i,r],a.is2DPan)for(var n=a.dragEndY-a.dragStartY,o=0;oi?Dygraph.VERTICAL:Dygraph.HORIZONTAL,e.drawZoomRect_(a.dragDirection,a.dragStartX,a.dragEndX,a.dragStartY,a.dragEndY,a.prevDragDirection,a.prevEndX,a.prevEndY),a.prevEndX=a.dragEndX,a.prevEndY=a.dragEndY,a.prevDragDirection=a.dragDirection},Dygraph.Interaction.treatMouseOpAsClick=function(t,e,a){for(var i=t.getFunctionOption("clickCallback"),r=t.getFunctionOption("pointClickCallback"),n=null,o=-1,s=Number.MAX_VALUE,l=0;lp)&&(s=p,o=l)}var g=t.getNumericOption("highlightCircleSize")+2;if(g*g>=s&&(n=t.selPoints_[o]),n){var d={cancelable:!0,point:n,canvasx:a.dragEndX,canvasy:a.dragEndY},u=t.cascadeEvents_("pointClick",d);if(u)return;r&&r.call(t,e,n)}var d={cancelable:!0,xval:t.lastx_,pts:t.selPoints_,canvasx:a.dragEndX,canvasy:a.dragEndY};t.cascadeEvents_("click",d)||i&&i.call(t,e,t.lastx_,t.selPoints_)},Dygraph.Interaction.endZoom=function(t,e,a){e.clearZoomRect_(),a.isZooming=!1,Dygraph.Interaction.maybeTreatMouseOpAsClick(t,e,a);var i=e.getArea();if(a.regionWidth>=10&&a.dragDirection==Dygraph.HORIZONTAL){var r=Math.min(a.dragStartX,a.dragEndX),n=Math.max(a.dragStartX,a.dragEndX);r=Math.max(r,i.x),n=Math.min(n,i.x+i.w),n>r&&e.doZoomX_(r,n),a.cancelNextDblclick=!0}else if(a.regionHeight>=10&&a.dragDirection==Dygraph.VERTICAL){var o=Math.min(a.dragStartY,a.dragEndY),s=Math.max(a.dragStartY,a.dragEndY);o=Math.max(o,i.y),s=Math.min(s,i.y+i.h),s>o&&e.doZoomY_(o,s),a.cancelNextDblclick=!0}a.dragStartX=null,a.dragStartY=null},Dygraph.Interaction.startTouch=function(t,e,a){t.preventDefault(),t.touches.length>1&&(a.startTimeForDoubleTapMs=null);for(var i=[],r=0;r=2){a.initialPinchCenter={pageX:.5*(i[0].pageX+i[1].pageX),pageY:.5*(i[0].pageY+i[1].pageY),dataX:.5*(i[0].dataX+i[1].dataX),dataY:.5*(i[0].dataY+i[1].dataY)};var o=180/Math.PI*Math.atan2(a.initialPinchCenter.pageY-i[0].pageY,i[0].pageX-a.initialPinchCenter.pageX);o=Math.abs(o),o>90&&(o=90-o),a.touchDirections={x:67.5>o,y:o>22.5}}a.initialRange={x:e.xAxisRange(),y:e.yAxisRange()}},Dygraph.Interaction.moveTouch=function(t,e,a){a.startTimeForDoubleTapMs=null;var i,r=[];for(i=0;i=2){var c=s[1].pageX-l.pageX;d=(r[1].pageX-o.pageX)/c;var y=s[1].pageY-l.pageY;u=(r[1].pageY-o.pageY)/y}d=Math.min(8,Math.max(.125,d)),u=Math.min(8,Math.max(.125,u));var _=!1;if(a.touchDirections.x&&(e.dateWindow_=[l.dataX-h.dataX+(a.initialRange.x[0]-l.dataX)/d,l.dataX-h.dataX+(a.initialRange.x[1]-l.dataX)/d],_=!0),a.touchDirections.y)for(i=0;1>i;i++){var v=e.axes_[i],f=e.attributes_.getForAxis("logscale",i);f||(v.valueWindow=[l.dataY-h.dataY+(a.initialRange.y[0]-l.dataY)/u,l.dataY-h.dataY+(a.initialRange.y[1]-l.dataY)/u],_=!0)}if(e.drawGraph_(!1),_&&r.length>1&&e.getFunctionOption("zoomCallback")){var x=e.xAxisRange();e.getFunctionOption("zoomCallback").call(e,x[0],x[1],e.yAxisRanges())}},Dygraph.Interaction.endTouch=function(t,e,a){if(0!==t.touches.length)Dygraph.Interaction.startTouch(t,e,a);else if(1==t.changedTouches.length){var i=(new Date).getTime(),r=t.changedTouches[0];a.startTimeForDoubleTapMs&&i-a.startTimeForDoubleTapMs<500&&a.doubleTapX&&Math.abs(a.doubleTapX-r.screenX)<50&&a.doubleTapY&&Math.abs(a.doubleTapY-r.screenY)<50?e.resetZoom():(a.startTimeForDoubleTapMs=i,a.doubleTapX=r.screenX,a.doubleTapY=r.screenY)}};var e=function(t,e,a){return e>t?e-t:t>a?t-a:0},a=function(t,a){var i=Dygraph.findPos(a.canvas_),r={left:i.x,right:i.x+a.canvas_.offsetWidth,top:i.y,bottom:i.y+a.canvas_.offsetHeight},n={x:Dygraph.pageX(t),y:Dygraph.pageY(t)},o=e(n.x,r.left,r.right),s=e(n.y,r.top,r.bottom);return Math.max(o,s)};Dygraph.Interaction.defaultModel={mousedown:function(e,i,r){if(!e.button||2!=e.button){r.initializeMouseDown(e,i,r),e.altKey||e.shiftKey?Dygraph.startPan(e,i,r):Dygraph.startZoom(e,i,r);var n=function(e){if(r.isZooming){var n=a(e,i);t>n?Dygraph.moveZoom(e,i,r):null!==r.dragEndX&&(r.dragEndX=null,r.dragEndY=null,i.clearZoomRect_())}else r.isPanning&&Dygraph.movePan(e,i,r)},o=function(t){r.isZooming?null!==r.dragEndX?Dygraph.endZoom(t,i,r):Dygraph.Interaction.maybeTreatMouseOpAsClick(t,i,r):r.isPanning&&Dygraph.endPan(t,i,r),Dygraph.removeEvent(document,"mousemove",n),Dygraph.removeEvent(document,"mouseup",o),r.destroy()};i.addAndTrackEvent(document,"mousemove",n),i.addAndTrackEvent(document,"mouseup",o)}},willDestroyContextMyself:!0,touchstart:function(t,e,a){Dygraph.Interaction.startTouch(t,e,a)},touchmove:function(t,e,a){Dygraph.Interaction.moveTouch(t,e,a)},touchend:function(t,e,a){Dygraph.Interaction.endTouch(t,e,a)},dblclick:function(t,e,a){if(a.cancelNextDblclick)return void(a.cancelNextDblclick=!1);var i={canvasx:a.dragEndX,canvasy:a.dragEndY};e.cascadeEvents_("dblclick",i)||t.altKey||t.shiftKey||e.resetZoom()}},Dygraph.DEFAULT_ATTRS.interactionModel=Dygraph.Interaction.defaultModel,Dygraph.defaultInteractionModel=Dygraph.Interaction.defaultModel,Dygraph.endZoom=Dygraph.Interaction.endZoom,Dygraph.moveZoom=Dygraph.Interaction.moveZoom,Dygraph.startZoom=Dygraph.Interaction.startZoom,Dygraph.endPan=Dygraph.Interaction.endPan,Dygraph.movePan=Dygraph.Interaction.movePan,Dygraph.startPan=Dygraph.Interaction.startPan,Dygraph.Interaction.nonInteractiveModel_={mousedown:function(t,e,a){a.initializeMouseDown(t,e,a)},mouseup:Dygraph.Interaction.maybeTreatMouseOpAsClick},Dygraph.Interaction.dragIsPanInteractionModel={mousedown:function(t,e,a){a.initializeMouseDown(t,e,a),Dygraph.startPan(t,e,a)},mousemove:function(t,e,a){a.isPanning&&Dygraph.movePan(t,e,a)},mouseup:function(t,e,a){a.isPanning&&Dygraph.endPan(t,e,a)}}}(),function(){"use strict";Dygraph.TickList=void 0,Dygraph.Ticker=void 0,Dygraph.numericLinearTicks=function(t,e,a,i,r,n){var o=function(t){return"logscale"===t?!1:i(t)};return Dygraph.numericTicks(t,e,a,o,r,n)},Dygraph.numericTicks=function(t,e,a,i,r,n){var o,s,l,h,p=i("pixelsPerLabel"),g=[];if(n)for(o=0;o=h/4){for(var y=u;y>=d;y--){var _=Dygraph.PREFERRED_LOG_TICK_VALUES[y],v=Math.log(_/t)/Math.log(e/t)*a,f={v:_};null===c?c={tickValue:_,pixel_coord:v}:Math.abs(v-c.pixel_coord)>=p?c={tickValue:_,pixel_coord:v}:f.label="",g.push(f)}g.reverse()}}if(0===g.length){var x,m,D=i("labelsKMG2");D?(x=[1,2,4,8,16,32,64,128,256],m=16):(x=[1,2,5,10,20,50,100],m=10);var A,w,b,T,E=Math.ceil(a/p),C=Math.abs(e-t)/E,L=Math.floor(Math.log(C)/Math.log(m)),P=Math.pow(m,L);for(s=0;sp));s++);for(w>b&&(A*=-1),o=0;h>=o;o++)l=w+o*A,g.push({v:l})}}var S=i("axisLabelFormatter");for(o=0;o=0?Dygraph.getDateAxis(t,e,n,i,r):[]},Dygraph.SECONDLY=0,Dygraph.TWO_SECONDLY=1,Dygraph.FIVE_SECONDLY=2,Dygraph.TEN_SECONDLY=3,Dygraph.THIRTY_SECONDLY=4,Dygraph.MINUTELY=5,Dygraph.TWO_MINUTELY=6,Dygraph.FIVE_MINUTELY=7,Dygraph.TEN_MINUTELY=8,Dygraph.THIRTY_MINUTELY=9,Dygraph.HOURLY=10,Dygraph.TWO_HOURLY=11,Dygraph.SIX_HOURLY=12,Dygraph.DAILY=13,Dygraph.TWO_DAILY=14,Dygraph.WEEKLY=15,Dygraph.MONTHLY=16,Dygraph.QUARTERLY=17,Dygraph.BIANNUAL=18,Dygraph.ANNUAL=19,Dygraph.DECADAL=20,Dygraph.CENTENNIAL=21,Dygraph.NUM_GRANULARITIES=22,Dygraph.DATEFIELD_Y=0,Dygraph.DATEFIELD_M=1,Dygraph.DATEFIELD_D=2,Dygraph.DATEFIELD_HH=3,Dygraph.DATEFIELD_MM=4,Dygraph.DATEFIELD_SS=5,Dygraph.DATEFIELD_MS=6,Dygraph.NUM_DATEFIELDS=7,Dygraph.TICK_PLACEMENT=[],Dygraph.TICK_PLACEMENT[Dygraph.SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:1,spacing:1e3},Dygraph.TICK_PLACEMENT[Dygraph.TWO_SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:2,spacing:2e3},Dygraph.TICK_PLACEMENT[Dygraph.FIVE_SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:5,spacing:5e3},Dygraph.TICK_PLACEMENT[Dygraph.TEN_SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:10,spacing:1e4},Dygraph.TICK_PLACEMENT[Dygraph.THIRTY_SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:30,spacing:3e4},Dygraph.TICK_PLACEMENT[Dygraph.MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:1,spacing:6e4},Dygraph.TICK_PLACEMENT[Dygraph.TWO_MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:2,spacing:12e4},Dygraph.TICK_PLACEMENT[Dygraph.FIVE_MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:5,spacing:3e5},Dygraph.TICK_PLACEMENT[Dygraph.TEN_MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:10,spacing:6e5},Dygraph.TICK_PLACEMENT[Dygraph.THIRTY_MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:30,spacing:18e5},Dygraph.TICK_PLACEMENT[Dygraph.HOURLY]={datefield:Dygraph.DATEFIELD_HH,step:1,spacing:36e5},Dygraph.TICK_PLACEMENT[Dygraph.TWO_HOURLY]={datefield:Dygraph.DATEFIELD_HH,step:2,spacing:72e5},Dygraph.TICK_PLACEMENT[Dygraph.SIX_HOURLY]={datefield:Dygraph.DATEFIELD_HH,step:6,spacing:216e5},Dygraph.TICK_PLACEMENT[Dygraph.DAILY]={datefield:Dygraph.DATEFIELD_D,step:1,spacing:864e5},Dygraph.TICK_PLACEMENT[Dygraph.TWO_DAILY]={datefield:Dygraph.DATEFIELD_D,step:2,spacing:1728e5},Dygraph.TICK_PLACEMENT[Dygraph.WEEKLY]={datefield:Dygraph.DATEFIELD_D,step:7,spacing:6048e5},Dygraph.TICK_PLACEMENT[Dygraph.MONTHLY]={datefield:Dygraph.DATEFIELD_M,step:1,spacing:2629817280},Dygraph.TICK_PLACEMENT[Dygraph.QUARTERLY]={datefield:Dygraph.DATEFIELD_M,step:3,spacing:216e5*365.2524},Dygraph.TICK_PLACEMENT[Dygraph.BIANNUAL]={datefield:Dygraph.DATEFIELD_M,step:6,spacing:432e5*365.2524},Dygraph.TICK_PLACEMENT[Dygraph.ANNUAL]={datefield:Dygraph.DATEFIELD_Y,step:1,spacing:864e5*365.2524},Dygraph.TICK_PLACEMENT[Dygraph.DECADAL]={datefield:Dygraph.DATEFIELD_Y,step:10,spacing:315578073600},Dygraph.TICK_PLACEMENT[Dygraph.CENTENNIAL]={datefield:Dygraph.DATEFIELD_Y,step:100,spacing:3155780736e3},Dygraph.PREFERRED_LOG_TICK_VALUES=function(){for(var t=[],e=-39;39>=e;e++)for(var a=Math.pow(10,e),i=1;9>=i;i++){var r=a*i;t.push(r)}return t}(),Dygraph.pickDateTickGranularity=function(t,e,a,i){for(var r=i("pixelsPerLabel"),n=0;n=r)return n}return-1},Dygraph.numDateTicks=function(t,e,a){var i=Dygraph.TICK_PLACEMENT[a].spacing;return Math.round(1*(e-t)/i)},Dygraph.getDateAxis=function(t,e,a,i,r){var n=i("axisLabelFormatter"),o=i("labelsUTC"),s=o?Dygraph.DateAccessorsUTC:Dygraph.DateAccessorsLocal,l=Dygraph.TICK_PLACEMENT[a].datefield,h=Dygraph.TICK_PLACEMENT[a].step,p=Dygraph.TICK_PLACEMENT[a].spacing,g=new Date(t),d=[];d[Dygraph.DATEFIELD_Y]=s.getFullYear(g),d[Dygraph.DATEFIELD_M]=s.getMonth(g),d[Dygraph.DATEFIELD_D]=s.getDate(g),d[Dygraph.DATEFIELD_HH]=s.getHours(g),d[Dygraph.DATEFIELD_MM]=s.getMinutes(g),d[Dygraph.DATEFIELD_SS]=s.getSeconds(g),d[Dygraph.DATEFIELD_MS]=s.getMilliseconds(g);var u=d[l]%h;a==Dygraph.WEEKLY&&(u=s.getDay(g)),d[l]-=u;for(var c=l+1;cv&&(v+=p,_=new Date(v));e>=v;)y.push({v:v,label:n(_,a,i,r)}),v+=p,_=new Date(v);else for(t>v&&(d[l]+=h,_=s.makeDate.apply(null,d),v=_.getTime());e>=v;)(a>=Dygraph.DAILY||s.getHours(_)%h===0)&&y.push({v:v,label:n(_,a,i,r)}),d[l]+=h,_=s.makeDate.apply(null,d),v=_.getTime();return y},Dygraph&&Dygraph.DEFAULT_ATTRS&&Dygraph.DEFAULT_ATTRS.axes&&Dygraph.DEFAULT_ATTRS.axes.x&&Dygraph.DEFAULT_ATTRS.axes.y&&Dygraph.DEFAULT_ATTRS.axes.y2&&(Dygraph.DEFAULT_ATTRS.axes.x.ticker=Dygraph.dateTicker,Dygraph.DEFAULT_ATTRS.axes.y.ticker=Dygraph.numericTicks,Dygraph.DEFAULT_ATTRS.axes.y2.ticker=Dygraph.numericTicks)}(),Dygraph.Plugins={},Dygraph.Plugins.Annotations=function(){"use strict";var t=function(){this.annotations_=[]};return t.prototype.toString=function(){return"Annotations Plugin"},t.prototype.activate=function(){return{clearChart:this.clearChart,didDrawChart:this.didDrawChart}},t.prototype.detachLabels=function(){for(var t=0;to.x+o.w||h.canvasyo.y+o.h)){var p=h.annotation,g=6;p.hasOwnProperty("tickHeight")&&(g=p.tickHeight);var d=document.createElement("div");for(var u in r)r.hasOwnProperty(u)&&(d.style[u]=r[u]);p.hasOwnProperty("icon")||(d.className="dygraphDefaultAnnotation"),p.hasOwnProperty("cssClass")&&(d.className+=" "+p.cssClass);var c=p.hasOwnProperty("width")?p.width:16,y=p.hasOwnProperty("height")?p.height:16;if(p.hasOwnProperty("icon")){var _=document.createElement("img");_.src=p.icon,_.width=c,_.height=y,d.appendChild(_)}else h.annotation.hasOwnProperty("shortText")&&d.appendChild(document.createTextNode(h.annotation.shortText));var v=h.canvasx-c/2;d.style.left=v+"px";var f=0;if(p.attachAtBottom){var x=o.y+o.h-y-g;s[v]?x-=s[v]:s[v]=0,s[v]+=g+y,f=x}else f=h.canvasy-y-g;d.style.top=f+"px",d.style.width=c+"px",d.style.height=y+"px",d.title=h.annotation.text,d.style.color=e.colorsMap_[h.name],d.style.borderColor=e.colorsMap_[h.name],p.div=d,e.addAndTrackEvent(d,"click",n("clickHandler","annotationClickHandler",h,this)),e.addAndTrackEvent(d,"mouseover",n("mouseOverHandler","annotationMouseOverHandler",h,this)),e.addAndTrackEvent(d,"mouseout",n("mouseOutHandler","annotationMouseOutHandler",h,this)),e.addAndTrackEvent(d,"dblclick",n("dblClickHandler","annotationDblClickHandler",h,this)),i.appendChild(d),this.annotations_.push(d);var m=t.drawingContext;if(m.save(),m.strokeStyle=e.colorsMap_[h.name],m.beginPath(),p.attachAtBottom){var x=f+y;m.moveTo(h.canvasx,x),m.lineTo(h.canvasx,x+g)}else m.moveTo(h.canvasx,h.canvasy),m.lineTo(h.canvasx,h.canvasy-2-g);m.closePath(),m.stroke(),m.restore()}}},t.prototype.destroy=function(){this.detachLabels()},t}(),Dygraph.Plugins.Axes=function(){"use strict";var t=function(){this.xlabels_=[],this.ylabels_=[]};return t.prototype.toString=function(){return"Axes Plugin"},t.prototype.activate=function(){return{layout:this.layout,clearChart:this.clearChart,willDrawChart:this.willDrawChart}},t.prototype.layout=function(t){var e=t.dygraph;if(e.getOptionForAxis("drawAxis","y")){var a=e.getOptionForAxis("axisLabelWidth","y")+2*e.getOptionForAxis("axisTickSize","y");t.reserveSpaceLeft(a)}if(e.getOptionForAxis("drawAxis","x")){var i;i=e.getOption("xAxisHeight")?e.getOption("xAxisHeight"):e.getOptionForAxis("axisLabelFontSize","x")+2*e.getOptionForAxis("axisTickSize","x"),t.reserveSpaceBottom(i)}if(2==e.numAxes()){if(e.getOptionForAxis("drawAxis","y2")){var a=e.getOptionForAxis("axisLabelWidth","y2")+2*e.getOptionForAxis("axisTickSize","y2");t.reserveSpaceRight(a)}}else e.numAxes()>2&&e.error("Only two y-axes are supported at this time. (Trying to use "+e.numAxes()+")")},t.prototype.detachLabels=function(){function t(t){for(var e=0;e0){var x=i.numAxes(),m=[f("y"),f("y2")];for(l=0;l<_.yticks.length;l++){if(s=_.yticks[l],"function"==typeof s)return;n=v.x;var D=1,A="y1",w=m[0];1==s[0]&&(n=v.x+v.w,D=-1,A="y2",w=m[1]);var b=w("axisLabelFontSize");o=v.y+s[1]*v.h,r=y(s[2],"y",2==x?A:null);var T=o-b/2;0>T&&(T=0),T+b+3>d?r.style.bottom="0":r.style.top=T+"px",0===s[0]?(r.style.left=v.x-w("axisLabelWidth")-w("axisTickSize")+"px",r.style.textAlign="right"):1==s[0]&&(r.style.left=v.x+v.w+w("axisTickSize")+"px",r.style.textAlign="left"),r.style.width=w("axisLabelWidth")+"px",p.appendChild(r),this.ylabels_.push(r)}var E=this.ylabels_[0],b=i.getOptionForAxis("axisLabelFontSize","y"),C=parseInt(E.style.top,10)+b;C>d-b&&(E.style.top=parseInt(E.style.top,10)-b/2+"px")}var L;if(i.getOption("drawAxesAtZero")){var P=i.toPercentXCoord(0);(P>1||0>P||isNaN(P))&&(P=0),L=e(v.x+P*v.w)}else L=e(v.x);h.strokeStyle=i.getOptionForAxis("axisLineColor","y"),h.lineWidth=i.getOptionForAxis("axisLineWidth","y"),h.beginPath(),h.moveTo(L,a(v.y)),h.lineTo(L,a(v.y+v.h)),h.closePath(),h.stroke(),2==i.numAxes()&&(h.strokeStyle=i.getOptionForAxis("axisLineColor","y2"),h.lineWidth=i.getOptionForAxis("axisLineWidth","y2"),h.beginPath(),h.moveTo(a(v.x+v.w),a(v.y)),h.lineTo(a(v.x+v.w),a(v.y+v.h)),h.closePath(),h.stroke())}if(i.getOptionForAxis("drawAxis","x")){if(_.xticks){var w=f("x");for(l=0;l<_.xticks.length;l++){s=_.xticks[l],n=v.x+s[0]*v.w,o=v.y+v.h,r=y(s[1],"x"),r.style.textAlign="center",r.style.top=o+w("axisTickSize")+"px";var S=n-w("axisLabelWidth")/2;S+w("axisLabelWidth")>g&&(S=g-w("axisLabelWidth"),r.style.textAlign="right"),0>S&&(S=0,r.style.textAlign="left"),r.style.left=S+"px",r.style.width=w("axisLabelWidth")+"px",p.appendChild(r),this.xlabels_.push(r)}}h.strokeStyle=i.getOptionForAxis("axisLineColor","x"),h.lineWidth=i.getOptionForAxis("axisLineWidth","x"),h.beginPath();var O;if(i.getOption("drawAxesAtZero")){var P=i.toPercentYCoord(0,0);(P>1||0>P)&&(P=1),O=a(v.y+P*v.h)}else O=a(v.y+v.h);h.moveTo(e(v.x),O),h.lineTo(e(v.x+v.w),O),h.closePath(),h.stroke()}h.restore()}},t}(),Dygraph.Plugins.ChartLabels=function(){"use strict"; -var t=function(){this.title_div_=null,this.xlabel_div_=null,this.ylabel_div_=null,this.y2label_div_=null};t.prototype.toString=function(){return"ChartLabels Plugin"},t.prototype.activate=function(){return{layout:this.layout,didDrawChart:this.didDrawChart}};var e=function(t){var e=document.createElement("div");return e.style.position="absolute",e.style.left=t.x+"px",e.style.top=t.y+"px",e.style.width=t.w+"px",e.style.height=t.h+"px",e};t.prototype.detachLabels_=function(){for(var t=[this.title_div_,this.xlabel_div_,this.ylabel_div_,this.y2label_div_],e=0;e=2);for(o=h.yticks,l.save(),n=0;n=2;for(y&&l.installPattern(_),l.strokeStyle=s.getOptionForAxis("gridLineColor","x"),l.lineWidth=s.getOptionForAxis("gridLineWidth","x"),n=0;n/g,">")};return t.prototype.select=function(e){var a=e.selectedX,i=e.selectedPoints,r=e.dygraph.getOption("legend");if("never"===r)return void(this.legend_div_.style.display="none");if("follow"===r){var n=e.dygraph.plotter_.area,o=e.dygraph.getOption("labelsDivWidth"),s=e.dygraph.getOptionForAxis("axisLabelWidth","y"),l=i[0].x*n.w+20,h=i[0].y*n.h-20;l+o+1>window.scrollX+window.innerWidth&&(l=l-40-o-(s-n.x)),e.dygraph.graphDiv.appendChild(this.legend_div_),this.legend_div_.style.left=s+l+"px",this.legend_div_.style.top=h+"px"}var p=t.generateLegendHTML(e.dygraph,a,i,this.one_em_width_);this.legend_div_.innerHTML=p,this.legend_div_.style.display=""},t.prototype.deselect=function(e){var i=e.dygraph.getOption("legend");"always"!==i&&(this.legend_div_.style.display="none");var r=a(this.legend_div_);this.one_em_width_=r;var n=t.generateLegendHTML(e.dygraph,void 0,void 0,r);this.legend_div_.innerHTML=n},t.prototype.didDrawChart=function(t){this.deselect(t)},t.prototype.predraw=function(t){if(this.is_generated_div_){t.dygraph.graphDiv.appendChild(this.legend_div_);var e=t.dygraph.plotter_.area,a=t.dygraph.getOption("labelsDivWidth");this.legend_div_.style.left=e.x+e.w-a-1+"px",this.legend_div_.style.top=e.y+"px",this.legend_div_.style.width=a+"px"}},t.prototype.destroy=function(){this.legend_div_=null},t.generateLegendHTML=function(t,a,r,n){if(t.getOption("showLabelsOnHighlight")!==!0)return"";var o,s,l,h,p,g=t.getLabels();if("undefined"==typeof a){if("always"!=t.getOption("legend"))return"";for(s=t.getOption("labelsSeparateLines"),o="",l=1;l":" "),p=t.getOption("strokePattern",g[l]),h=e(p,d.color,n),o+=""+h+" "+i(g[l])+"")}return o}var u=t.optionsViewForAxis_("x"),c=u("valueFormatter");o=c(a,u,g[0],t),""!==o&&(o+=":");var y=[],_=t.numAxes();for(l=0;_>l;l++)y[l]=t.optionsViewForAxis_("y"+(l?1+l:""));var v=t.getOption("labelsShowZeroValues");s=t.getOption("labelsSeparateLines");var f=t.getHighlightSeries();for(l=0;l");var d=t.getPropertiesForSeries(x.name),m=y[d.axis-1],D=m("valueFormatter"),A=D(x.yval,m,x.name,t),w=x.name==f?" class='highlight'":"";o+=" "+i(x.name)+": "+A+""}}return o},e=function(t,e,a){var i=/MSIE/.test(navigator.userAgent)&&!window.opera;if(i)return"—";if(!t||t.length<=1)return'
';var r,n,o,s,l,h=0,p=0,g=[];for(r=0;r<=t.length;r++)h+=t[r%t.length];if(l=Math.floor(a/(h-t[0])),l>1){for(r=0;rn;n++)for(r=0;p>r;r+=2)o=g[r%g.length],s=r';return d},t}(),Dygraph.Plugins.RangeSelector=function(){"use strict";var t=function(){this.isIE_=/MSIE/.test(navigator.userAgent)&&!window.opera,this.hasTouchInterface_="undefined"!=typeof TouchEvent,this.isMobileDevice_=/mobile|android/gi.test(navigator.appVersion),this.interfaceCreated_=!1};return t.prototype.toString=function(){return"RangeSelector Plugin"},t.prototype.activate=function(t){return this.dygraph_=t,this.isUsingExcanvas_=t.isUsingExcanvas_,this.getOption_("showRangeSelector")&&this.createInterface_(),{layout:this.reserveSpace_,predraw:this.renderStaticLayer_,didDrawChart:this.renderInteractiveLayer_}},t.prototype.destroy=function(){this.bgcanvas_=null,this.fgcanvas_=null,this.leftZoomHandle_=null,this.rightZoomHandle_=null,this.iePanOverlay_=null},t.prototype.getOption_=function(t,e){return this.dygraph_.getOption(t,e)},t.prototype.setDefaultOption_=function(t,e){this.dygraph_.attrs_[t]=e},t.prototype.createInterface_=function(){this.createCanvases_(),this.isUsingExcanvas_&&this.createIEPanOverlay_(),this.createZoomHandles_(),this.initInteraction_(),this.getOption_("animatedZooms")&&(console.warn("Animated zooms and range selector are not compatible; disabling animatedZooms."),this.dygraph_.updateOptions({animatedZooms:!1},!0)),this.interfaceCreated_=!0,this.addToGraph_()},t.prototype.addToGraph_=function(){var t=this.graphDiv_=this.dygraph_.graphDiv;t.appendChild(this.bgcanvas_),t.appendChild(this.fgcanvas_),t.appendChild(this.leftZoomHandle_),t.appendChild(this.rightZoomHandle_)},t.prototype.removeFromGraph_=function(){var t=this.graphDiv_;t.removeChild(this.bgcanvas_),t.removeChild(this.fgcanvas_),t.removeChild(this.leftZoomHandle_),t.removeChild(this.rightZoomHandle_),this.graphDiv_=null},t.prototype.reserveSpace_=function(t){this.getOption_("showRangeSelector")&&t.reserveSpaceBottom(this.getOption_("rangeSelectorHeight")+4)},t.prototype.renderStaticLayer_=function(){this.updateVisibility_()&&(this.resize_(),this.drawStaticLayer_())},t.prototype.renderInteractiveLayer_=function(){this.updateVisibility_()&&!this.isChangingRange_&&(this.placeZoomHandles_(),this.drawInteractiveLayer_())},t.prototype.updateVisibility_=function(){var t=this.getOption_("showRangeSelector");if(t)this.interfaceCreated_?this.graphDiv_&&this.graphDiv_.parentNode||this.addToGraph_():this.createInterface_();else if(this.graphDiv_){this.removeFromGraph_();var e=this.dygraph_;setTimeout(function(){e.width_=0,e.resize()},1)}return t},t.prototype.resize_=function(){function t(t,e,a){var i=Dygraph.getContextPixelRatio(e);t.style.top=a.y+"px",t.style.left=a.x+"px",t.width=a.w*i,t.height=a.h*i,t.style.width=a.w+"px",t.style.height=a.h+"px",1!=i&&e.scale(i,i)}var e=this.dygraph_.layout_.getPlotArea(),a=0;this.dygraph_.getOptionForAxis("drawAxis","x")&&(a=this.getOption_("xAxisHeight")||this.getOption_("axisLabelFontSize")+2*this.getOption_("axisTickSize")),this.canvasRect_={x:e.x,y:e.y+e.h+a+4,w:e.w,h:this.getOption_("rangeSelectorHeight")},t(this.bgcanvas_,this.bgcanvas_ctx_,this.canvasRect_),t(this.fgcanvas_,this.fgcanvas_ctx_,this.canvasRect_)},t.prototype.createCanvases_=function(){this.bgcanvas_=Dygraph.createCanvas(),this.bgcanvas_.className="dygraph-rangesel-bgcanvas",this.bgcanvas_.style.position="absolute",this.bgcanvas_.style.zIndex=9,this.bgcanvas_ctx_=Dygraph.getContext(this.bgcanvas_),this.fgcanvas_=Dygraph.createCanvas(),this.fgcanvas_.className="dygraph-rangesel-fgcanvas",this.fgcanvas_.style.position="absolute",this.fgcanvas_.style.zIndex=9,this.fgcanvas_.style.cursor="default",this.fgcanvas_ctx_=Dygraph.getContext(this.fgcanvas_)},t.prototype.createIEPanOverlay_=function(){this.iePanOverlay_=document.createElement("div"),this.iePanOverlay_.style.position="absolute",this.iePanOverlay_.style.backgroundColor="white",this.iePanOverlay_.style.filter="alpha(opacity=0)",this.iePanOverlay_.style.display="none",this.iePanOverlay_.style.cursor="move",this.fgcanvas_.appendChild(this.iePanOverlay_)},t.prototype.createZoomHandles_=function(){var t=new Image;t.className="dygraph-rangesel-zoomhandle",t.style.position="absolute",t.style.zIndex=10,t.style.visibility="hidden",t.style.cursor="col-resize",/MSIE 7/.test(navigator.userAgent)?(t.width=7,t.height=14,t.style.backgroundColor="white",t.style.border="1px solid #333333"):(t.width=9,t.height=16,t.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAAXNSR0IArs4c6QAAAAZiS0dEANAAzwDP4Z7KegAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9sHGw0cMqdt1UwAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAaElEQVQoz+3SsRFAQBCF4Z9WJM8KCDVwownl6YXsTmCUsyKGkZzcl7zkz3YLkypgAnreFmDEpHkIwVOMfpdi9CEEN2nGpFdwD03yEqDtOgCaun7sqSTDH32I1pQA2Pb9sZecAxc5r3IAb21d6878xsAAAAAASUVORK5CYII="),this.isMobileDevice_&&(t.width*=2,t.height*=2),this.leftZoomHandle_=t,this.rightZoomHandle_=t.cloneNode(!1)},t.prototype.initInteraction_=function(){var t,e,a,i,r,n,o,s,l,h,p,g,d,u,c=this,y=document,_=0,v=null,f=!1,x=!1,m=!this.isMobileDevice_&&!this.isUsingExcanvas_,D=new Dygraph.IFrameTarp;t=function(t){var e=c.dygraph_.xAxisExtremes(),a=(e[1]-e[0])/c.canvasRect_.w,i=e[0]+(t.leftHandlePos-c.canvasRect_.x)*a,r=e[0]+(t.rightHandlePos-c.canvasRect_.x)*a;return[i,r]},e=function(t){return Dygraph.cancelEvent(t),f=!0,_=t.clientX,v=t.target?t.target:t.srcElement,("mousedown"===t.type||"dragstart"===t.type)&&(Dygraph.addEvent(y,"mousemove",a),Dygraph.addEvent(y,"mouseup",i)),c.fgcanvas_.style.cursor="col-resize",D.cover(),!0},a=function(t){if(!f)return!1;Dygraph.cancelEvent(t);var e=t.clientX-_;if(Math.abs(e)<4)return!0;_=t.clientX;var a,i=c.getZoomHandleStatus_();v==c.leftZoomHandle_?(a=i.leftHandlePos+e,a=Math.min(a,i.rightHandlePos-v.width-3),a=Math.max(a,c.canvasRect_.x)):(a=i.rightHandlePos+e,a=Math.min(a,c.canvasRect_.x+c.canvasRect_.w),a=Math.max(a,i.leftHandlePos+v.width+3));var n=v.width/2;return v.style.left=a-n+"px",c.drawInteractiveLayer_(),m&&r(),!0},i=function(){return f?(f=!1,D.uncover(),Dygraph.removeEvent(y,"mousemove",a),Dygraph.removeEvent(y,"mouseup",i),c.fgcanvas_.style.cursor="default",m||r(),!0):!1},r=function(){try{var e=c.getZoomHandleStatus_();if(c.isChangingRange_=!0,e.isZoomed){var a=t(e);c.dygraph_.doZoomXDates_(a[0],a[1])}else c.dygraph_.resetZoom()}finally{c.isChangingRange_=!1}},n=function(t){if(c.isUsingExcanvas_)return t.srcElement==c.iePanOverlay_;var e=c.leftZoomHandle_.getBoundingClientRect(),a=e.left+e.width/2;e=c.rightZoomHandle_.getBoundingClientRect();var i=e.left+e.width/2;return t.clientX>a&&t.clientX=c.canvasRect_.x+c.canvasRect_.w?(r=c.canvasRect_.x+c.canvasRect_.w,i=r-n):(i+=e,r+=e);var o=c.leftZoomHandle_.width/2;return c.leftZoomHandle_.style.left=i-o+"px",c.rightZoomHandle_.style.left=r-o+"px",c.drawInteractiveLayer_(),m&&h(),!0},l=function(){return x?(x=!1,Dygraph.removeEvent(y,"mousemove",s),Dygraph.removeEvent(y,"mouseup",l),m||h(),!0):!1},h=function(){try{c.isChangingRange_=!0,c.dygraph_.dateWindow_=t(c.getZoomHandleStatus_()),c.dygraph_.drawGraph_(!1)}finally{c.isChangingRange_=!1}},p=function(t){if(!f&&!x){var e=n(t)?"move":"default";e!=c.fgcanvas_.style.cursor&&(c.fgcanvas_.style.cursor=e)}},g=function(t){"touchstart"==t.type&&1==t.targetTouches.length?e(t.targetTouches[0])&&Dygraph.cancelEvent(t):"touchmove"==t.type&&1==t.targetTouches.length?a(t.targetTouches[0])&&Dygraph.cancelEvent(t):i(t)},d=function(t){"touchstart"==t.type&&1==t.targetTouches.length?o(t.targetTouches[0])&&Dygraph.cancelEvent(t):"touchmove"==t.type&&1==t.targetTouches.length?s(t.targetTouches[0])&&Dygraph.cancelEvent(t):l(t)},u=function(t,e){for(var a=["touchstart","touchend","touchmove","touchcancel"],i=0;it;t++){var s=this.getOption_("showInRangeSelector",r[t]);n[t]=s,null!==s&&(o=!0)}if(!o)for(t=0;t1&&(g=h.rollingAverage(g,e.rollPeriod(),p)),l.push(g)}var d=[];for(t=0;t0)&&(v=Math.min(v,x),f=Math.max(f,x))}var m=.25;if(a)for(f=Dygraph.log10(f),f+=f*m,v=Dygraph.log10(v),t=0;tthis.canvasRect_.x||a+10&&t[r][0]>o;)i--,r--}return i>=a?[a,i]:[0,t.length-1]},t.parseFloat=function(t){return null===t?0/0:t}}(),function(){"use strict";Dygraph.DataHandlers.DefaultHandler=function(){};var t=Dygraph.DataHandlers.DefaultHandler;t.prototype=new Dygraph.DataHandler,t.prototype.extractSeries=function(t,e,a){for(var i=[],r=a.get("logscale"),n=0;n=s&&(s=null),i.push([o,s])}return i},t.prototype.rollingAverage=function(t,e){e=Math.min(e,t.length);var a,i,r,n,o,s=[];if(1==e)return t;for(a=0;ai;i++)r=t[i][1],null===r||isNaN(r)||(o++,n+=t[i][1]);s[a]=o?[t[a][0],n/o]:[t[a][0],null]}return s},t.prototype.getExtremeYValues=function(t){for(var e,a=null,i=null,r=0,n=t.length-1,o=r;n>=o;o++)e=t[o][1],null===e||isNaN(e)||((null===i||e>i)&&(i=e),(null===a||a>e)&&(a=e));return[a,i]}}(),function(){"use strict";Dygraph.DataHandlers.DefaultFractionHandler=function(){};var t=Dygraph.DataHandlers.DefaultFractionHandler;t.prototype=new Dygraph.DataHandlers.DefaultHandler,t.prototype.extractSeries=function(t,e,a){for(var i,r,n,o,s,l,h=[],p=100,g=a.get("logscale"),d=0;d=0&&(r-=t[a-e][2][0],n-=t[a-e][2][1]);var s=t[a][0],l=n?r/n:0;i[a]=[s,o*l]}return i}}(),function(){"use strict";Dygraph.DataHandlers.BarsHandler=function(){Dygraph.DataHandler.call(this)},Dygraph.DataHandlers.BarsHandler.prototype=new Dygraph.DataHandler;var t=Dygraph.DataHandlers.BarsHandler;t.prototype.extractSeries=function(){},t.prototype.rollingAverage=function(){},t.prototype.onPointsCreated_=function(t,e){for(var a=0;a=o;o++)if(e=t[o][1],null!==e&&!isNaN(e)){var s=t[o][2][0],l=t[o][2][1];s>e&&(s=e),e>l&&(l=e),(null===i||l>i)&&(i=l),(null===a||a>s)&&(a=s)}return[a,i]},t.prototype.onLineEvaluated=function(t,e,a){for(var i,r=0;r=0){var p=t[s-e];null===p[1]||isNaN(p[1])||(i-=p[2][0],n-=p[1],r-=p[2][1],o-=1)}h[s]=o?[t[s][0],1*n/o,[1*i/o,1*r/o]]:[t[s][0],null,[null,null]]}return h}}(),function(){"use strict";Dygraph.DataHandlers.ErrorBarsHandler=function(){};var t=Dygraph.DataHandlers.ErrorBarsHandler;t.prototype=new Dygraph.DataHandlers.BarsHandler,t.prototype.extractSeries=function(t,e,a){for(var i,r,n,o,s=[],l=a.get("sigma"),h=a.get("logscale"),p=0;pr;r++)n=t[r][1],null===n||isNaN(n)||(l++,s+=n,p+=Math.pow(t[r][2][2],2));l?(h=Math.sqrt(p)/l,g=s/l,d[i]=[t[i][0],g,[g-u*h,g+u*h]]):(o=1==e?t[i][1]:null,d[i]=[t[i][0],o,[o,o]])}return d}}(),function(){"use strict";Dygraph.DataHandlers.FractionsBarsHandler=function(){};var t=Dygraph.DataHandlers.FractionsBarsHandler;t.prototype=new Dygraph.DataHandlers.BarsHandler,t.prototype.extractSeries=function(t,e,a){for(var i,r,n,o,s,l,h,p,g=[],d=100,u=a.get("sigma"),c=a.get("logscale"),y=0;y=0&&(p-=t[n-e][2][2],g-=t[n-e][2][3]);var u=t[n][0],c=g?p/g:0;if(h)if(g){var y=0>c?0:c,_=g,v=l*Math.sqrt(y*(1-y)/_+l*l/(4*_*_)),f=1+l*l/g;i=(y+l*l/(2*g)-v)/f,r=(y+l*l/(2*g)+v)/f,s[n]=[u,y*d,[i*d,r*d]]}else s[n]=[u,0,[0,0]];else o=g?l*Math.sqrt(c*(1-c)/g):1,s[n]=[u,d*c,[d*(c-o),d*(c+o)]]}return s}}(); +!function(t){"use strict";for(var e,a,i={},r=function(){},n="memory".split(","),o="assert,clear,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profiles,profileEnd,show,table,time,timeEnd,timeline,timelineEnd,timeStamp,trace,warn".split(",");e=n.pop();)t[e]=t[e]||i;for(;a=o.pop();)t[a]=t[a]||r}(this.console=this.console||{}),function(){"use strict";CanvasRenderingContext2D.prototype.installPattern=function(t){if("undefined"!=typeof this.isPatternInstalled)throw"Must un-install old line pattern before installing a new one.";this.isPatternInstalled=!0;var e=[0,0],a=[],i=this.beginPath,r=this.lineTo,n=this.moveTo,o=this.stroke;this.uninstallPattern=function(){this.beginPath=i,this.lineTo=r,this.moveTo=n,this.stroke=o,this.uninstallPattern=void 0,this.isPatternInstalled=void 0},this.beginPath=function(){a=[],i.call(this)},this.moveTo=function(t,e){a.push([[t,e]]),n.call(this,t,e)},this.lineTo=function(t,e){var i=a[a.length-1];i.push([t,e])},this.stroke=function(){if(0===a.length)return void o.call(this);for(var i=0;if;){var x=t[v];f+=e[1]?e[1]:x,f>y?(e=[v,f-y],f=y):e=[(v+1)%t.length,0],v%2===0?r.call(this,f,0):n.call(this,f,0),v=(v+1)%t.length}this.restore(),l=g,h=d}o.call(this),a=[]}},CanvasRenderingContext2D.prototype.uninstallPattern=function(){throw"Must install a line pattern before uninstalling it."}}();var DygraphOptions=function(){return function(){"use strict";var t=function(t){this.dygraph_=t,this.yAxes_=[],this.xAxis_={},this.series_={},this.global_=this.dygraph_.attrs_,this.user_=this.dygraph_.user_attrs_||{},this.labels_=[],this.highlightSeries_=this.get("highlightSeriesOpts")||{},this.reparseSeries()};t.AXIS_STRING_MAPPINGS_={y:0,Y:0,y1:0,Y1:0,y2:1,Y2:1},t.axisToIndex_=function(e){if("string"==typeof e){if(t.AXIS_STRING_MAPPINGS_.hasOwnProperty(e))return t.AXIS_STRING_MAPPINGS_[e];throw"Unknown axis : "+e}if("number"==typeof e){if(0===e||1===e)return e;throw"Dygraphs only supports two y-axes, indexed from 0-1."}if(e)throw"Unknown axis : "+e;return 0},t.prototype.reparseSeries=function(){var e=this.get("labels");if(e){this.labels_=e.slice(1),this.yAxes_=[{series:[],options:{}}],this.xAxis_={options:{}},this.series_={};var a=!this.user_.series;if(a){for(var i=0,r=0;r1&&Dygraph.update(this.yAxes_[1].options,h.y2||{}),Dygraph.update(this.xAxis_.options,h.x||{})}},t.prototype.get=function(t){var e=this.getGlobalUser_(t);return null!==e?e:this.getGlobalDefault_(t)},t.prototype.getGlobalUser_=function(t){return this.user_.hasOwnProperty(t)?this.user_[t]:null},t.prototype.getGlobalDefault_=function(t){return this.global_.hasOwnProperty(t)?this.global_[t]:Dygraph.DEFAULT_ATTRS.hasOwnProperty(t)?Dygraph.DEFAULT_ATTRS[t]:null},t.prototype.getForAxis=function(t,e){var a,i;if("number"==typeof e)a=e,i=0===a?"y":"y2";else{if("y1"==e&&(e="y"),"y"==e)a=0;else if("y2"==e)a=1;else{if("x"!=e)throw"Unknown axis "+e;a=-1}i=e}var r=-1==a?this.xAxis_:this.yAxes_[a];if(r){var n=r.options;if(n.hasOwnProperty(t))return n[t]}if("x"!==e||"logscale"!==t){var o=this.getGlobalUser_(t);if(null!==o)return o}var s=Dygraph.DEFAULT_ATTRS.axes[i];return s.hasOwnProperty(t)?s[t]:this.getGlobalDefault_(t)},t.prototype.getForSeries=function(t,e){if(e===this.dygraph_.getHighlightSeries()&&this.highlightSeries_.hasOwnProperty(t))return this.highlightSeries_[t];if(!this.series_.hasOwnProperty(e))throw"Unknown series: "+e;var a=this.series_[e],i=a.options;return i.hasOwnProperty(t)?i[t]:this.getForAxis(t,a.yAxis)},t.prototype.numAxes=function(){return this.yAxes_.length},t.prototype.axisForSeries=function(t){return this.series_[t].yAxis},t.prototype.axisOptions=function(t){return this.yAxes_[t].options},t.prototype.seriesForAxis=function(t){return this.yAxes_[t].series},t.prototype.seriesNames=function(){return this.labels_};return t}()}(),DygraphLayout=function(){"use strict";var t=function(t){this.dygraph_=t,this.points=[],this.setNames=[],this.annotations=[],this.yAxes_=null,this.xTicks_=null,this.yTicks_=null};return t.prototype.addDataset=function(t,e){this.points.push(e),this.setNames.push(t)},t.prototype.getPlotArea=function(){return this.area_},t.prototype.computePlotArea=function(){var t={x:0,y:0};t.w=this.dygraph_.width_-t.x-this.dygraph_.getOption("rightGap"),t.h=this.dygraph_.height_;var e={chart_div:this.dygraph_.graphDiv,reserveSpaceLeft:function(e){var a={x:t.x,y:t.y,w:e,h:t.h};return t.x+=e,t.w-=e,a},reserveSpaceRight:function(e){var a={x:t.x+t.w-e,y:t.y,w:e,h:t.h};return t.w-=e,a},reserveSpaceTop:function(e){var a={x:t.x,y:t.y,w:t.w,h:e};return t.y+=e,t.h-=e,a},reserveSpaceBottom:function(e){var a={x:t.x,y:t.y+t.h-e,w:t.w,h:e};return t.h-=e,a},chartRect:function(){return{x:t.x,y:t.y,w:t.w,h:t.h}}};this.dygraph_.cascadeEvents_("layout",e),this.area_=t},t.prototype.setAnnotations=function(t){this.annotations=[];for(var e=this.dygraph_.getOption("xValueParser")||function(t){return t},a=0;a=0&&1>i&&this.xticks.push([i,a]);for(this.yticks=[],t=0;t0&&1>=i&&this.yticks.push([t,i,a])},t.prototype._evaluateAnnotations=function(){var t,e={};for(t=0;t=0;i--)a.childNodes[i].className==e&&a.removeChild(a.childNodes[i]);for(var r=document.bgColor,n=this.dygraph_.graphDiv;n!=document;){var o=n.currentStyle.backgroundColor;if(o&&"transparent"!=o){r=o;break}n=n.parentNode}var s=this.area;t({x:0,y:0,w:s.x,h:this.height}),t({x:s.x,y:0,w:this.width-s.x,h:s.y}),t({x:s.x+s.w,y:0,w:this.width-s.x-s.w,h:this.height}),t({x:s.x,y:s.y+s.h,w:this.width-s.x,h:this.height-s.h-s.y})},t._getIteratorPredicate=function(e){return e?t._predicateThatSkipsEmptyPoints:null},t._predicateThatSkipsEmptyPoints=function(t,e){return null!==t[e].yval},t._drawStyledLine=function(e,a,i,r,n,o,s){var l=e.dygraph,h=l.getBooleanOption("stepPlot",e.setName);Dygraph.isArrayLike(r)||(r=null);var p=l.getBooleanOption("drawGapEdgePoints",e.setName),g=e.points,d=e.setName,u=Dygraph.createIterator(g,0,g.length,t._getIteratorPredicate(l.getBooleanOption("connectSeparatedPoints",d))),c=r&&r.length>=2,y=e.drawingContext;y.save(),c&&y.installPattern(r);var _=t._drawSeries(e,u,i,s,n,p,h,a);t._drawPointsOnLine(e,_,o,a,s),c&&y.uninstallPattern(),y.restore()},t._drawSeries=function(t,e,a,i,r,n,o,s){var l,h,p=null,g=null,d=null,u=[],c=!0,y=t.drawingContext;y.beginPath(),y.strokeStyle=s,y.lineWidth=a;for(var _=e.array_,v=e.end_,f=e.predicate_,x=e.start_;v>x;x++){if(h=_[x],f){for(;v>x&&!f(_,x);)x++;if(x==v)break;h=_[x]}if(null===h.canvasy||h.canvasy!=h.canvasy)o&&null!==p&&(y.moveTo(p,g),y.lineTo(h.canvasx,g)),p=g=null;else{if(l=!1,n||!p){e.nextIdx_=x,e.next(),d=e.hasNext?e.peek.canvasy:null;var m=null===d||d!=d;l=!p&&m,n&&(!c&&!p||e.hasNext&&m)&&(l=!0)}null!==p?a&&(o&&(y.moveTo(p,g),y.lineTo(h.canvasx,g)),y.lineTo(h.canvasx,h.canvasy)):y.moveTo(h.canvasx,h.canvasy),(r||l)&&u.push([h.canvasx,h.canvasy,h.idx]),p=h.canvasx,g=h.canvasy}c=!1}return y.stroke(),u},t._drawPointsOnLine=function(t,e,a,i,r){for(var n=t.drawingContext,o=0;o0;a--){var i=e[a];if(i[0]==n){var o=e[a-1];o[1]==i[1]&&o[2]==i[2]&&e.splice(a,1)}}for(var a=0;a2&&!t){var s=0;e[0][0]==n&&s++;for(var l=null,h=null,a=s;ae[h][2]&&(h=a)}}var g=e[l],d=e[h];e.splice(s,e.length-s),h>l?(e.push(g),e.push(d)):l>h?(e.push(d),e.push(g)):e.push(g)}}},l=function(a){s(a);for(var l=0,h=e.length;h>l;l++){var p=e[l];p[0]==r?t.lineTo(p[1],p[2]):p[0]==n&&t.moveTo(p[1],p[2])}e.length&&(i=e[e.length-1][1]),o+=e.length,e=[]},h=function(t,r,n){var o=Math.round(r);if(null===a||o!=a){var s=a-i>1,h=o-a>1,p=s||h;l(p),a=o}e.push([t,r,n])};return{moveTo:function(t,e){h(n,t,e)},lineTo:function(t,e){h(r,t,e)},stroke:function(){l(!0),t.stroke()},fill:function(){l(!0),t.fill()},beginPath:function(){l(!0),t.beginPath()},closePath:function(){l(!0),t.closePath()},_count:function(){return o}}},t._fillPlotter=function(e){if(!e.singleSeriesName&&0===e.seriesIndex){for(var a=e.dygraph,i=a.getLabels().slice(1),r=i.length;r>=0;r--)a.visibility()[r]||i.splice(r,1);var n=function(){for(var t=0;t=0;r--){var n=i[r];t.lineTo(n[0],n[1])}},_=p-1;_>=0;_--){var v=e.drawingContext,f=i[_];if(a.getBooleanOption("fillGraph",f)){var x=a.getBooleanOption("stepPlot",f),m=u[_],D=a.axisPropertiesForSeries(f),w=1+D.minyval*D.yscale;0>w?w=0:w>1&&(w=1),w=l.h*w+l.y;var A,b=h[_],T=Dygraph.createIterator(b,0,b.length,t._getIteratorPredicate(a.getBooleanOption("connectSeparatedPoints",f))),E=0/0,C=[-1,-1],L=Dygraph.toRGB_(m),P="rgba("+L.r+","+L.g+","+L.b+","+g+")";v.fillStyle=P,v.beginPath();var S,O=!0;(b.length>2*a.width_||Dygraph.FORCE_FAST_PROXY)&&(v=t._fastCanvasProxy(v));for(var M,R=[];T.hasNext;)if(M=T.next(),Dygraph.isOK(M.y)||x){if(d){if(!O&&S==M.xval)continue;O=!1,S=M.xval,o=c[M.canvasx];var F;F=void 0===o?w:s?o[0]:o,A=[M.canvasy,F],x?-1===C[0]?c[M.canvasx]=[M.canvasy,w]:c[M.canvasx]=[M.canvasy,C[0]]:c[M.canvasx]=M.canvasy}else A=isNaN(M.canvasy)&&x?[l.y+l.h,w]:[M.canvasy,w];isNaN(E)?(v.moveTo(M.canvasx,A[1]),v.lineTo(M.canvasx,A[0])):(x?(v.lineTo(M.canvasx,C[0]),v.lineTo(M.canvasx,A[0])):v.lineTo(M.canvasx,A[0]),d&&(R.push([E,C[1]]),R.push(s&&o?[M.canvasx,o[1]]:[M.canvasx,A[1]]))),C=A,E=M.canvasx}else y(v,E,C[1],R),R=[],E=0/0,null===M.y_stacked||isNaN(M.y_stacked)||(c[M.canvasx]=l.h*M.y_stacked+l.y);s=x,A&&M&&(y(v,M.canvasx,A[1],R),R=[]),v.fill()}}}},t}(),Dygraph=function(){"use strict";var t=function(t,e,a,i){this.is_initial_draw_=!0,this.readyFns_=[],void 0!==i?(console.warn("Using deprecated four-argument dygraph constructor"),this.__old_init__(t,e,a,i)):this.__init__(t,e,a)};return t.NAME="Dygraph",t.VERSION="1.1.0",t.__repr__=function(){return"["+t.NAME+" "+t.VERSION+"]"},t.toString=function(){return t.__repr__()},t.DEFAULT_ROLL_PERIOD=1,t.DEFAULT_WIDTH=480,t.DEFAULT_HEIGHT=320,t.ANIMATION_STEPS=12,t.ANIMATION_DURATION=200,t.KMB_LABELS=["K","M","B","T","Q"],t.KMG2_BIG_LABELS=["k","M","G","T","P","E","Z","Y"],t.KMG2_SMALL_LABELS=["m","u","n","p","f","a","z","y"],t.numberValueFormatter=function(e,a){var i=a("sigFigs");if(null!==i)return t.floatFormat(e,i);var r,n=a("digitsAfterDecimal"),o=a("maxNumberWidth"),s=a("labelsKMB"),l=a("labelsKMG2");if(r=0!==e&&(Math.abs(e)>=Math.pow(10,o)||Math.abs(e)=0;c--,u/=h)if(d>=u){r=t.round_(e/u,n)+p[c];break}if(l){var y=String(e.toExponential()).split("e-");2===y.length&&y[1]>=3&&y[1]<=24&&(r=y[1]%3>0?t.round_(y[0]/t.pow(10,y[1]%3),n):Number(y[0]).toFixed(2),r+=g[Math.floor(y[1]/3)-1])}}return r},t.numberAxisLabelFormatter=function(e,a,i){return t.numberValueFormatter.call(this,e,i)},t.SHORT_MONTH_NAMES_=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],t.dateAxisLabelFormatter=function(e,a,i){var r=i("labelsUTC"),n=r?t.DateAccessorsUTC:t.DateAccessorsLocal,o=n.getFullYear(e),s=n.getMonth(e),l=n.getDate(e),h=n.getHours(e),p=n.getMinutes(e),g=n.getSeconds(e),d=n.getSeconds(e);if(a>=t.DECADAL)return""+o;if(a>=t.MONTHLY)return t.SHORT_MONTH_NAMES_[s]+" "+o;var u=3600*h+60*p+g+.001*d;return 0===u||a>=t.DAILY?t.zeropad(l)+" "+t.SHORT_MONTH_NAMES_[s]:t.hmsString_(h,p,g)},t.dateAxisFormatter=t.dateAxisLabelFormatter,t.dateValueFormatter=function(e,a){return t.dateString_(e,a("labelsUTC"))},t.Plotters=DygraphCanvasRenderer._Plotters,t.DEFAULT_ATTRS={highlightCircleSize:3,highlightSeriesOpts:null,highlightSeriesBackgroundAlpha:.5,labelsDivWidth:250,labelsDivStyles:{},labelsSeparateLines:!1,labelsShowZeroValues:!0,labelsKMB:!1,labelsKMG2:!1,showLabelsOnHighlight:!0,digitsAfterDecimal:2,maxNumberWidth:6,sigFigs:null,strokeWidth:1,strokeBorderWidth:0,strokeBorderColor:"white",axisTickSize:3,axisLabelFontSize:14,rightGap:5,showRoller:!1,xValueParser:t.dateParser,delimiter:",",sigma:2,errorBars:!1,fractions:!1,wilsonInterval:!0,customBars:!1,fillGraph:!1,fillAlpha:.15,connectSeparatedPoints:!1,stackedGraph:!1,stackedGraphNaNFill:"all",hideOverlayOnMouseOut:!0,legend:"onmouseover",stepPlot:!1,avoidMinZero:!1,xRangePad:0,yRangePad:null,drawAxesAtZero:!1,titleHeight:28,xLabelHeight:18,yLabelWidth:18,drawXAxis:!0,drawYAxis:!0,axisLineColor:"black",axisLineWidth:.3,gridLineWidth:.3,axisLabelColor:"black",axisLabelWidth:50,drawYGrid:!0,drawXGrid:!0,gridLineColor:"rgb(128,128,128)",interactionModel:null,animatedZooms:!1,showRangeSelector:!1,rangeSelectorHeight:40,rangeSelectorPlotStrokeColor:"#808FAB",rangeSelectorPlotFillColor:"#A7B1C4",showInRangeSelector:null,plotter:[t.Plotters.fillPlotter,t.Plotters.errorPlotter,t.Plotters.linePlotter],plugins:[],axes:{x:{pixelsPerLabel:70,axisLabelWidth:60,axisLabelFormatter:t.dateAxisLabelFormatter,valueFormatter:t.dateValueFormatter,drawGrid:!0,drawAxis:!0,independentTicks:!0,ticker:null},y:{axisLabelWidth:50,pixelsPerLabel:30,valueFormatter:t.numberValueFormatter,axisLabelFormatter:t.numberAxisLabelFormatter,drawGrid:!0,drawAxis:!0,independentTicks:!0,ticker:null},y2:{axisLabelWidth:50,pixelsPerLabel:30,valueFormatter:t.numberValueFormatter,axisLabelFormatter:t.numberAxisLabelFormatter,drawAxis:!0,drawGrid:!1,independentTicks:!1,ticker:null}}},t.HORIZONTAL=1,t.VERTICAL=2,t.PLUGINS=[],t.addedAnnotationCSS=!1,t.prototype.__old_init__=function(e,a,i,r){if(null!==i){for(var n=["Date"],o=0;o=0;n--){var o=r[n][0],s=r[n][1];if(s.call(o,i),i.propagationStopped)break}return i.defaultPrevented},t.prototype.getPluginInstance_=function(t){for(var e=0;et||t>=this.axes_.length)return null;var e=this.axes_[t];return[e.computedValueRange[0],e.computedValueRange[1]]},t.prototype.yAxisRanges=function(){for(var t=[],e=0;et||t>this.rawData_.length?null:0>e||e>this.rawData_[t].length?null:this.rawData_[t][e]},t.prototype.createInterface_=function(){var e=this.maindiv_;this.graphDiv=document.createElement("div"),this.graphDiv.style.textAlign="left",this.graphDiv.style.position="relative",e.appendChild(this.graphDiv),this.canvas_=t.createCanvas(),this.canvas_.style.position="absolute",this.hidden_=this.createPlotKitCanvas_(this.canvas_),this.canvas_ctx_=t.getContext(this.canvas_),this.hidden_ctx_=t.getContext(this.hidden_),this.resizeElements_(),this.graphDiv.appendChild(this.hidden_),this.graphDiv.appendChild(this.canvas_),this.mouseEventElement_=this.createMouseEventElement_(),this.layout_=new DygraphLayout(this);var a=this;this.mouseMoveHandler_=function(t){a.mouseMove_(t)},this.mouseOutHandler_=function(e){var i=e.target||e.fromElement,r=e.relatedTarget||e.toElement;t.isNodeContainedBy(i,a.graphDiv)&&!t.isNodeContainedBy(r,a.graphDiv)&&a.mouseOut_(e)},this.addAndTrackEvent(window,"mouseout",this.mouseOutHandler_),this.addAndTrackEvent(this.mouseEventElement_,"mousemove",this.mouseMoveHandler_),this.resizeHandler_||(this.resizeHandler_=function(t){a.resize()},this.addAndTrackEvent(window,"resize",this.resizeHandler_))},t.prototype.resizeElements_=function(){this.graphDiv.style.width=this.width_+"px",this.graphDiv.style.height=this.height_+"px";var e=t.getContextPixelRatio(this.canvas_ctx_);this.canvas_.width=this.width_*e,this.canvas_.height=this.height_*e,this.canvas_.style.width=this.width_+"px",this.canvas_.style.height=this.height_+"px",1!==e&&this.canvas_ctx_.scale(e,e);var a=t.getContextPixelRatio(this.hidden_ctx_);this.hidden_.width=this.width_*a,this.hidden_.height=this.height_*a,this.hidden_.style.width=this.width_+"px",this.hidden_.style.height=this.height_+"px",1!==a&&this.hidden_ctx_.scale(a,a)},t.prototype.destroy=function(){this.canvas_ctx_.restore(),this.hidden_ctx_.restore();for(var e=this.plugins_.length-1;e>=0;e--){var a=this.plugins_.pop();a.plugin.destroy&&a.plugin.destroy()}var i=function(t){for(;t.hasChildNodes();)i(t.firstChild),t.removeChild(t.firstChild)};this.removeTrackedEvents_(),t.removeEvent(window,"mouseout",this.mouseOutHandler_),t.removeEvent(this.mouseEventElement_,"mousemove",this.mouseMoveHandler_),t.removeEvent(window,"resize",this.resizeHandler_),this.resizeHandler_=null,i(this.maindiv_);var r=function(t){for(var e in t)"object"==typeof t[e]&&(t[e]=null)};r(this.layout_),r(this.plotter_),r(this)},t.prototype.createPlotKitCanvas_=function(e){var a=t.createCanvas();return a.style.position="absolute",a.style.top=e.style.top,a.style.left=e.style.left,a.width=this.width_,a.height=this.height_,a.style.width=this.width_+"px",a.style.height=this.height_+"px",a},t.prototype.createMouseEventElement_=function(){if(this.isUsingExcanvas_){var t=document.createElement("div");return t.style.position="absolute",t.style.backgroundColor="white",t.style.filter="alpha(opacity=0)",t.style.width=this.width_+"px",t.style.height=this.height_+"px",this.graphDiv.appendChild(t),t}return this.canvas_},t.prototype.setColors_=function(){var e=this.getLabels(),a=e.length-1;this.colors_=[],this.colorsMap_={};for(var i=this.getNumericOption("colorSaturation")||1,r=this.getNumericOption("colorValue")||.5,n=Math.ceil(a/2),o=this.getOption("colors"),s=this.visibility(),l=0;a>l;l++)if(s[l]){ +var h=e[l+1],p=this.attributes_.getForSeries("color",h);if(!p)if(o)p=o[l%o.length];else{var g=l%2?n+(l+1)/2:Math.ceil((l+1)/2),d=1*g/(1+a);p=t.hsvToRGB(d,i,r)}this.colors_.push(p),this.colorsMap_[h]=p}},t.prototype.getColors=function(){return this.colors_},t.prototype.getPropertiesForSeries=function(t){for(var e=-1,a=this.getLabels(),i=1;i=o;o++)s=t.zoomAnimationFunction(o,l),h[o-1]=[e[0]*(1-s)+s*a[0],e[1]*(1-s)+s*a[1]];if(null!==i&&null!==r)for(o=1;l>=o;o++){s=t.zoomAnimationFunction(o,l);for(var g=[],d=0;dl;l++){var h=o[l];if(t.isValidPoint(h,!0)){var p=Math.abs(h.canvasx-e);a>p&&(a=p,i=h.idx)}}return i},t.prototype.findClosestPoint=function(e,a){for(var i,r,n,o,s,l,h,p=1/0,g=this.layout_.points.length-1;g>=0;--g)for(var d=this.layout_.points[g],u=0;ui&&(p=i,s=o,l=g,h=o.idx));var c=this.layout_.setNames[l];return{row:h,seriesName:c,point:s}},t.prototype.findStackedPoint=function(e,a){for(var i,r,n=this.findClosestRow(e),o=0;o=h.length)){var p=h[l];if(t.isValidPoint(p)){var g=p.canvasy;if(e>p.canvasx&&l+10){var c=(e-p.canvasx)/u;g+=c*(d.canvasy-p.canvasy)}}}else if(e0){var y=h[l-1];if(t.isValidPoint(y)){var u=p.canvasx-y.canvasx;if(u>0){var c=(p.canvasx-e)/u;g+=c*(y.canvasy-p.canvasy)}}}(0===o||a>g)&&(i=p,r=o)}}}var _=this.layout_.setNames[r];return{row:n,seriesName:_,point:i}},t.prototype.mouseMove_=function(t){var e=this.layout_.points;if(void 0!==e&&null!==e){var a=this.eventToDomCoords(t),i=a[0],r=a[1],n=this.getOption("highlightSeriesOpts"),o=!1;if(n&&!this.isSeriesLocked()){var s;s=this.getBooleanOption("stackedGraph")?this.findStackedPoint(i,r):this.findClosestPoint(i,r),o=this.setSelection(s.row,s.seriesName)}else{var l=this.findClosestRow(i);o=this.setSelection(l)}var h=this.getFunctionOption("highlightCallback");h&&o&&h.call(this,t,this.lastx_,this.selPoints_,this.lastRow_,this.highlightSet_)}},t.prototype.getLeftBoundary_=function(t){if(this.boundaryIds_[t])return this.boundaryIds_[t][0];for(var e=0;ee?r:a-r;if(0>=n)return void(this.fadeLevel&&this.updateSelection_(1));var o=++this.animateId,s=this;t.repeatAndCleanup(function(t){s.animateId==o&&(s.fadeLevel+=e,0===s.fadeLevel?s.clearSelection():s.updateSelection_(s.fadeLevel/a))},n,i,function(){})},t.prototype.updateSelection_=function(e){this.cascadeEvents_("select",{selectedRow:this.lastRow_,selectedX:this.lastx_,selectedPoints:this.selPoints_});var a,i=this.canvas_ctx_;if(this.getOption("highlightSeriesOpts")){i.clearRect(0,0,this.width_,this.height_);var r=1-this.getNumericOption("highlightSeriesBackgroundAlpha");if(r){var n=!0;if(n){if(void 0===e)return void this.animateSelection_(1);r*=e}i.fillStyle="rgba(255,255,255,"+r+")",i.fillRect(0,0,this.width_,this.height_)}this.plotter_._renderLineChart(this.highlightSet_,i)}else if(this.previousVerticalX_>=0){var o=0,s=this.attr_("labels");for(a=1;ao&&(o=l)}var h=this.previousVerticalX_;i.clearRect(h-o-1,0,2*o+2,this.height_)}if(this.isUsingExcanvas_&&this.currentZoomRectArgs_&&t.prototype.drawZoomRect_.apply(this,this.currentZoomRectArgs_),this.selPoints_.length>0){var p=this.selPoints_[0].canvasx;for(i.save(),a=0;a=0){t!=this.lastRow_&&(i=!0),this.lastRow_=t;for(var r=0;r=0&&(i=!0),this.lastRow_=-1;return this.selPoints_.length?this.lastx_=this.selPoints_[0].xval:this.lastx_=-1,void 0!==e&&(this.highlightSet_!==e&&(i=!0),this.highlightSet_=e),void 0!==a&&(this.lockedSet_=a),i&&this.updateSelection_(void 0),i},t.prototype.mouseOut_=function(t){this.getFunctionOption("unhighlightCallback")&&this.getFunctionOption("unhighlightCallback").call(this,t),this.getBooleanOption("hideOverlayOnMouseOut")&&!this.lockedSet_&&this.clearSelection()},t.prototype.clearSelection=function(){return this.cascadeEvents_("deselect",{}),this.lockedSet_=!1,this.fadeLevel?void this.animateSelection_(-1):(this.canvas_ctx_.clearRect(0,0,this.width_,this.height_),this.fadeLevel=0,this.selPoints_=[],this.lastx_=-1,this.lastRow_=-1,void(this.highlightSet_=null))},t.prototype.getSelection=function(){if(!this.selPoints_||this.selPoints_.length<1)return-1;for(var t=0;t1&&(a=this.dataHandler_.rollingAverage(a,this.rollPeriod_,this.attributes_)),this.rolledSeries_.push(a)}this.drawGraph_();var i=new Date;this.drawingTimeMs_=i-t},t.PointType=void 0,t.stackPoints_=function(t,e,a,i){for(var r=null,n=null,o=null,s=-1,l=function(e){if(!(s>=e))for(var a=e;aa[1]&&(a[1]=u),u=1;i--)if(this.visibility()[i-1]){if(a){l=e[i];var c=a[0],y=a[1];for(n=null,o=null,r=0;r=c&&null===n&&(n=r),l[r][0]<=y&&(o=r);null===n&&(n=0);for(var _=n,v=!0;v&&_>0;)_--,v=null===l[_][1];null===o&&(o=l.length-1);var f=o;for(v=!0;v&&f0&&(this.setIndexByName_[n[0]]=0);for(var o=0,s=1;s0;){var a=this.readyFns_.pop();a(this)}},t.prototype.computeYAxes_=function(){var e,a,i,r,n;if(void 0!==this.axes_&&this.user_attrs_.hasOwnProperty("valueRange")===!1)for(e=[],i=0;ii;i++)this.axes_[i].valueWindow=e[i]}for(a=0;al;l++){var h=this.axes_[l],p=this.attributes_.getForAxis("logscale",l),g=this.attributes_.getForAxis("includeZero",l),d=this.attributes_.getForAxis("independentTicks",l);if(i=this.attributes_.seriesForAxis(l),e=!0,r=.1,null!==this.getNumericOption("yRangePad")&&(e=!1,r=this.getNumericOption("yRangePad")/this.plotter_.area.h),0===i.length)h.extremeRange=[0,1];else{for(var u,c,y=1/0,_=-(1/0),v=0;v0&&(y=0),0>_&&(_=0)),y==1/0&&(y=0),_==-(1/0)&&(_=1),a=_-y,0===a&&(0!==_?a=Math.abs(_):(_=1,a=1));var f,x;if(p)if(e)f=_+r*a,x=y;else{var m=Math.exp(Math.log(a)*r);f=_*m,x=y/m}else f=_+r*a,x=y-r*a,e&&!this.getBooleanOption("avoidMinZero")&&(0>x&&y>=0&&(x=0),f>0&&0>=_&&(f=0));h.extremeRange=[x,f]}if(h.valueWindow)h.computedValueRange=[h.valueWindow[0],h.valueWindow[1]];else if(h.valueRange){var D=o(h.valueRange[0])?h.extremeRange[0]:h.valueRange[0],w=o(h.valueRange[1])?h.extremeRange[1]:h.valueRange[1];if(!e)if(h.logscale){var m=Math.exp(Math.log(a)*r);D*=m,w/=m}else a=w-D,D-=a*r,w+=a*r;h.computedValueRange=[D,w]}else h.computedValueRange=h.extremeRange;if(d){h.independentTicks=d;var A=this.optionsViewForAxis_("y"+(l?"2":"")),b=A("ticker");h.ticks=b(h.computedValueRange[0],h.computedValueRange[1],this.plotter_.area.h,A,this),n||(n=h)}}if(void 0===n)throw'Configuration Error: At least one axis has to have the "independentTicks" option activated.';for(var l=0;s>l;l++){var h=this.axes_[l];if(!h.independentTicks){for(var A=this.optionsViewForAxis_("y"+(l?"2":"")),b=A("ticker"),T=n.ticks,E=n.computedValueRange[1]-n.computedValueRange[0],C=h.computedValueRange[1]-h.computedValueRange[0],L=[],P=0;P0&&"e"!=t[a-1]&&"E"!=t[a-1]||t.indexOf("/")>=0||isNaN(parseFloat(t))?e=!0:8==t.length&&t>"19700101"&&"20371231">t&&(e=!0),this.setXAxisOptions_(e)},t.prototype.setXAxisOptions_=function(e){e?(this.attrs_.xValueParser=t.dateParser,this.attrs_.axes.x.valueFormatter=t.dateValueFormatter,this.attrs_.axes.x.ticker=t.dateTicker,this.attrs_.axes.x.axisLabelFormatter=t.dateAxisLabelFormatter):(this.attrs_.xValueParser=function(t){return parseFloat(t)},this.attrs_.axes.x.valueFormatter=function(t){return t},this.attrs_.axes.x.ticker=t.numericTicks,this.attrs_.axes.x.axisLabelFormatter=this.attrs_.axes.x.valueFormatter)},t.prototype.parseCSV_=function(e){var a,i,r=[],n=t.detectLineDelimiter(e),o=e.split(n||"\n"),s=this.getStringOption("delimiter");-1==o[0].indexOf(s)&&o[0].indexOf(" ")>=0&&(s=" ");var l=0;"labels"in this.user_attrs_||(l=1,this.attrs_.labels=o[0].split(s),this.attributes_.reparseSeries());for(var h,p=0,g=!1,d=this.attr_("labels").length,u=!1,c=l;c0&&v[0]0;)e=String.fromCharCode(65+(t-1)%26)+e.toLowerCase(),t=Math.floor((t-1)/26);return e},i=e.getNumberOfColumns(),r=e.getNumberOfRows(),n=e.getColumnType(0);if("date"==n||"datetime"==n)this.attrs_.xValueParser=t.dateParser,this.attrs_.axes.x.valueFormatter=t.dateValueFormatter,this.attrs_.axes.x.ticker=t.dateTicker,this.attrs_.axes.x.axisLabelFormatter=t.dateAxisLabelFormatter;else{if("number"!=n)return console.error("only 'date', 'datetime' and 'number' types are supported for column 1 of DataTable input (Got '"+n+"')"),null;this.attrs_.xValueParser=function(t){return parseFloat(t)},this.attrs_.axes.x.valueFormatter=function(t){return t},this.attrs_.axes.x.ticker=t.numericTicks,this.attrs_.axes.x.axisLabelFormatter=this.attrs_.axes.x.valueFormatter}var o,s,l=[],h={},p=!1;for(o=1;i>o;o++){var g=e.getColumnType(o);if("number"==g)l.push(o);else if("string"==g&&this.getBooleanOption("displayAnnotations")){var d=l[l.length-1];h.hasOwnProperty(d)?h[d].push(o):h[d]=[o],p=!0}else console.error("Only 'number' is supported as a dependent type with Gviz. 'string' is only supported if displayAnnotations is true")}var u=[e.getColumnLabel(0)];for(o=0;oo;o++){var v=[];if("undefined"!=typeof e.getValue(o,0)&&null!==e.getValue(o,0)){if(v.push("date"==n||"datetime"==n?e.getValue(o,0).getTime():e.getValue(o,0)),this.getBooleanOption("errorBars"))for(s=0;i-1>s;s++)v.push([e.getValue(o,1+2*s),e.getValue(o,2+2*s)]);else{for(s=0;s0&&v[0]0&&this.setAnnotations(_,!0),this.attributes_.reparseSeries()},t.prototype.cascadeDataDidUpdateEvent_=function(){this.cascadeEvents_("dataDidUpdate",{})},t.prototype.start_=function(){var e=this.file_;if("function"==typeof e&&(e=e()),t.isArrayLike(e))this.rawData_=this.parseArray_(e),this.cascadeDataDidUpdateEvent_(),this.predraw_();else if("object"==typeof e&&"function"==typeof e.getColumnRange)this.parseDataTable_(e),this.cascadeDataDidUpdateEvent_(),this.predraw_();else if("string"==typeof e){var a=t.detectLineDelimiter(e);if(a)this.loadedEvent_(e);else{var i;i=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP");var r=this;i.onreadystatechange=function(){4==i.readyState&&(200===i.status||0===i.status)&&r.loadedEvent_(i.responseText)},i.open("GET",e,!0),i.send(null)}}else console.error("Unknown data format: "+typeof e)},t.prototype.updateOptions=function(e,a){"undefined"==typeof a&&(a=!1);var i=e.file,r=t.mapLegacyOptions_(e);"rollPeriod"in r&&(this.rollPeriod_=r.rollPeriod),"dateWindow"in r&&(this.dateWindow_=r.dateWindow,"isZoomedIgnoreProgrammaticZoom"in r||(this.zoomed_x_=null!==r.dateWindow)),"valueRange"in r&&!("isZoomedIgnoreProgrammaticZoom"in r)&&(this.zoomed_y_=null!==r.valueRange);var n=t.isPixelChangingOptionList(this.attr_("labels"),r);t.updateDeep(this.user_attrs_,r),this.attributes_.reparseSeries(),i?(this.cascadeEvents_("dataWillUpdate",{}),this.file_=i,a||this.start_()):a||(n?this.predraw_():this.renderGraph_(!1))},t.mapLegacyOptions_=function(t){var e={};for(var a in t)t.hasOwnProperty(a)&&"file"!=a&&t.hasOwnProperty(a)&&(e[a]=t[a]);var i=function(t,a,i){e.axes||(e.axes={}),e.axes[t]||(e.axes[t]={}),e.axes[t][a]=i},r=function(a,r,n){"undefined"!=typeof t[a]&&(console.warn("Option "+a+" is deprecated. Use the "+n+" option for the "+r+" axis instead. (e.g. { axes : { "+r+" : { "+n+" : ... } } } (see http://dygraphs.com/per-axis.html for more information."),i(r,n,t[a]),delete e[a])};return r("xValueFormatter","x","valueFormatter"),r("pixelsPerXLabel","x","pixelsPerLabel"),r("xAxisLabelFormatter","x","axisLabelFormatter"),r("xTicker","x","ticker"),r("yValueFormatter","y","valueFormatter"),r("pixelsPerYLabel","y","pixelsPerLabel"),r("yAxisLabelFormatter","y","axisLabelFormatter"),r("yTicker","y","ticker"),r("drawXGrid","x","drawGrid"),r("drawXAxis","x","drawAxis"),r("drawYGrid","y","drawGrid"),r("drawYAxis","y","drawAxis"),r("xAxisLabelWidth","x","axisLabelWidth"),r("yAxisLabelWidth","y","axisLabelWidth"),e},t.prototype.resize=function(t,e){if(!this.resize_lock){this.resize_lock=!0,null===t!=(null===e)&&(console.warn("Dygraph.resize() should be called with zero parameters or two non-NULL parameters. Pretending it was zero."),t=e=null);var a=this.width_,i=this.height_;t?(this.maindiv_.style.width=t+"px",this.maindiv_.style.height=e+"px",this.width_=t,this.height_=e):(this.width_=this.maindiv_.clientWidth,this.height_=this.maindiv_.clientHeight),(a!=this.width_||i!=this.height_)&&(this.resizeElements_(),this.predraw_()),this.resize_lock=!1}},t.prototype.adjustRoll=function(t){this.rollPeriod_=t,this.predraw_()},t.prototype.visibility=function(){for(this.getOption("visibility")||(this.attrs_.visibility=[]);this.getOption("visibility").lengtht||t>=a.length?console.warn("invalid series number in setVisibility: "+t):(a[t]=e,this.predraw_())},t.prototype.size=function(){return{width:this.width_,height:this.height_}},t.prototype.setAnnotations=function(e,a){return t.addAnnotationRule(),this.annotations_=e,this.layout_?(this.layout_.setAnnotations(this.annotations_),void(a||this.predraw_())):void console.warn("Tried to setAnnotations before dygraph was ready. Try setting them in a ready() block. See dygraphs.com/tests/annotation.html")},t.prototype.annotations=function(){return this.annotations_},t.prototype.getLabels=function(){var t=this.attr_("labels");return t?t.slice():null},t.prototype.indexFromSetName=function(t){return this.setIndexByName_[t]},t.prototype.ready=function(t){this.is_initial_draw_?this.readyFns_.push(t):t.call(this,this)},t.addAnnotationRule=function(){if(!t.addedAnnotationCSS){var e="border: 1px solid black; background-color: white; text-align: center;",a=document.createElement("style");a.type="text/css",document.getElementsByTagName("head")[0].appendChild(a);for(var i=0;it?"0"+t:""+t},Dygraph.DateAccessorsLocal={getFullYear:function(t){return t.getFullYear()},getMonth:function(t){return t.getMonth()},getDate:function(t){return t.getDate()},getHours:function(t){return t.getHours()},getMinutes:function(t){return t.getMinutes()},getSeconds:function(t){return t.getSeconds()},getMilliseconds:function(t){return t.getMilliseconds()},getDay:function(t){return t.getDay()},makeDate:function(t,e,a,i,r,n,o){return new Date(t,e,a,i,r,n,o)}},Dygraph.DateAccessorsUTC={getFullYear:function(t){return t.getUTCFullYear()},getMonth:function(t){return t.getUTCMonth()},getDate:function(t){return t.getUTCDate()},getHours:function(t){return t.getUTCHours()},getMinutes:function(t){return t.getUTCMinutes()},getSeconds:function(t){return t.getUTCSeconds()},getMilliseconds:function(t){return t.getUTCMilliseconds()},getDay:function(t){return t.getUTCDay()},makeDate:function(t,e,a,i,r,n,o){return new Date(Date.UTC(t,e,a,i,r,n,o))}},Dygraph.hmsString_=function(t,e,a){var i=Dygraph.zeropad,r=i(t)+":"+i(e);return a&&(r+=":"+i(a)),r},Dygraph.dateString_=function(t,e){var a=Dygraph.zeropad,i=e?Dygraph.DateAccessorsUTC:Dygraph.DateAccessorsLocal,r=new Date(t),n=i.getFullYear(r),o=i.getMonth(r),s=i.getDate(r),l=i.getHours(r),h=i.getMinutes(r),p=i.getSeconds(r),g=""+n,d=a(o+1),u=a(s),c=3600*l+60*h+p,y=g+"/"+d+"/"+u;return c&&(y+=" "+Dygraph.hmsString_(l,h,p)),y},Dygraph.round_=function(t,e){var a=Math.pow(10,e);return Math.round(t*a)/a},Dygraph.binarySearch=function(t,e,a,i,r){if((null===i||void 0===i||null===r||void 0===r)&&(i=0,r=e.length-1),i>r)return-1;(null===a||void 0===a)&&(a=0);var n,o=function(t){return t>=0&&tt?a>0&&(n=s-1,o(n)&&e[n]l?0>a&&(n=s+1,o(n)&&e[n]>t)?s:Dygraph.binarySearch(t,e,a,s+1,r):-1},Dygraph.dateParser=function(t){var e,a;if((-1==t.search("-")||-1!=t.search("T")||-1!=t.search("Z"))&&(a=Dygraph.dateStrToMillis(t),a&&!isNaN(a)))return a;if(-1!=t.search("-")){for(e=t.replace("-","/","g");-1!=e.search("-");)e=e.replace("-","/");a=Dygraph.dateStrToMillis(e)}else 8==t.length?(e=t.substr(0,4)+"/"+t.substr(4,2)+"/"+t.substr(6,2),a=Dygraph.dateStrToMillis(e)):a=Dygraph.dateStrToMillis(t);return(!a||isNaN(a))&&console.error("Couldn't parse "+t+" as a date"),a},Dygraph.dateStrToMillis=function(t){return new Date(t).getTime()},Dygraph.update=function(t,e){if("undefined"!=typeof e&&null!==e)for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return t},Dygraph.updateDeep=function(t,e){function a(t){return"object"==typeof Node?t instanceof Node:"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}if("undefined"!=typeof e&&null!==e)for(var i in e)e.hasOwnProperty(i)&&(null===e[i]?t[i]=null:Dygraph.isArrayLike(e[i])?t[i]=e[i].slice():a(e[i])?t[i]=e[i]:"object"==typeof e[i]?(("object"!=typeof t[i]||null===t[i])&&(t[i]={}),Dygraph.updateDeep(t[i],e[i])):t[i]=e[i]);return t},Dygraph.isArrayLike=function(t){var e=typeof t;return"object"!=e&&("function"!=e||"function"!=typeof t.item)||null===t||"number"!=typeof t.length||3===t.nodeType?!1:!0},Dygraph.isDateLike=function(t){return"object"!=typeof t||null===t||"function"!=typeof t.getTime?!1:!0},Dygraph.clone=function(t){for(var e=[],a=0;a=e||Dygraph.requestAnimFrame.call(window,function(){var e=(new Date).getTime(),h=e-o;r=n,n=Math.floor(h/a);var p=n-r,g=n+p>s;g||n>=s?(t(s),i()):(0!==p&&t(n),l())})}()};var e={annotationClickHandler:!0,annotationDblClickHandler:!0,annotationMouseOutHandler:!0,annotationMouseOverHandler:!0,axisLabelColor:!0,axisLineColor:!0,axisLineWidth:!0,clickCallback:!0,drawCallback:!0,drawHighlightPointCallback:!0,drawPoints:!0,drawPointCallback:!0,drawXGrid:!0,drawYGrid:!0,fillAlpha:!0,gridLineColor:!0,gridLineWidth:!0,hideOverlayOnMouseOut:!0,highlightCallback:!0,highlightCircleSize:!0,interactionModel:!0,isZoomedIgnoreProgrammaticZoom:!0,labelsDiv:!0,labelsDivStyles:!0,labelsDivWidth:!0,labelsKMB:!0,labelsKMG2:!0,labelsSeparateLines:!0,labelsShowZeroValues:!0,legend:!0,panEdgeFraction:!0,pixelsPerYLabel:!0,pointClickCallback:!0,pointSize:!0,rangeSelectorPlotFillColor:!0,rangeSelectorPlotStrokeColor:!0,showLabelsOnHighlight:!0,showRoller:!0,strokeWidth:!0,underlayCallback:!0,unhighlightCallback:!0,zoomCallback:!0};Dygraph.isPixelChangingOptionList=function(t,a){var i={};if(t)for(var r=1;re?1/Math.pow(t,-e):Math.pow(t,e)};var a=/^rgba?\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})(?:,\s*([01](?:\.\d+)?))?\)$/;Dygraph.toRGB_=function(e){var a=t(e);if(a)return a;var i=document.createElement("div");i.style.backgroundColor=e,i.style.visibility="hidden",document.body.appendChild(i);var r;return r=window.getComputedStyle?window.getComputedStyle(i,null).backgroundColor:i.currentStyle.backgroundColor,document.body.removeChild(i),t(r)},Dygraph.isCanvasSupported=function(t){var e;try{e=t||document.createElement("canvas"),e.getContext("2d")}catch(a){var i=navigator.appVersion.match(/MSIE (\d\.\d)/),r=-1!=navigator.userAgent.toLowerCase().indexOf("opera");return!i||i[1]<6||r?!1:!0}return!0},Dygraph.parseFloat_=function(t,e,a){var i=parseFloat(t);if(!isNaN(i))return i;if(/^ *$/.test(t))return null;if(/^ *nan *$/i.test(t))return 0/0;var r="Unable to parse '"+t+"' as a number";return void 0!==a&&void 0!==e&&(r+=" on line "+(1+(e||0))+" ('"+a+"') of CSV."),console.error(r),null}}(),function(){"use strict";Dygraph.GVizChart=function(t){this.container=t},Dygraph.GVizChart.prototype.draw=function(t,e){this.container.innerHTML="","undefined"!=typeof this.date_graph&&this.date_graph.destroy(),this.date_graph=new Dygraph(this.container,t,e)},Dygraph.GVizChart.prototype.setSelection=function(t){var e=!1;t.length&&(e=t[0].row),this.date_graph.setSelection(e)},Dygraph.GVizChart.prototype.getSelection=function(){var t=[],e=this.date_graph.getSelection();if(0>e)return t;for(var a=this.date_graph.layout_.points,i=0;ii&&2>r&&void 0!==e.lastx_&&-1!=e.lastx_&&Dygraph.Interaction.treatMouseOpAsClick(e,t,a),a.regionWidth=i,a.regionHeight=r},Dygraph.Interaction.startPan=function(t,e,a){var i,r;a.isPanning=!0;var n=e.xAxisRange();if(e.getOptionForAxis("logscale","x")?(a.initialLeftmostDate=Dygraph.log10(n[0]),a.dateRange=Dygraph.log10(n[1])-Dygraph.log10(n[0])):(a.initialLeftmostDate=n[0],a.dateRange=n[1]-n[0]),a.xUnitsPerPixel=a.dateRange/(e.plotter_.area.w-1),e.getNumericOption("panEdgeFraction")){var o=e.width_*e.getNumericOption("panEdgeFraction"),s=e.xAxisExtremes(),l=e.toDomXCoord(s[0])-o,h=e.toDomXCoord(s[1])+o,p=e.toDataXCoord(l),g=e.toDataXCoord(h);a.boundedDates=[p,g];var d=[],u=e.height_*e.getNumericOption("panEdgeFraction");for(i=0;ia.boundedDates[1]&&(i-=r-a.boundedDates[1],r=i+a.dateRange),e.getOptionForAxis("logscale","x")?e.dateWindow_=[Math.pow(Dygraph.LOG_SCALE,i),Math.pow(Dygraph.LOG_SCALE,r)]:e.dateWindow_=[i,r],a.is2DPan)for(var n=a.dragEndY-a.dragStartY,o=0;oi?Dygraph.VERTICAL:Dygraph.HORIZONTAL,e.drawZoomRect_(a.dragDirection,a.dragStartX,a.dragEndX,a.dragStartY,a.dragEndY,a.prevDragDirection,a.prevEndX,a.prevEndY),a.prevEndX=a.dragEndX,a.prevEndY=a.dragEndY,a.prevDragDirection=a.dragDirection},Dygraph.Interaction.treatMouseOpAsClick=function(t,e,a){for(var i=t.getFunctionOption("clickCallback"),r=t.getFunctionOption("pointClickCallback"),n=null,o=-1,s=Number.MAX_VALUE,l=0;lp)&&(s=p,o=l)}var g=t.getNumericOption("highlightCircleSize")+2;if(g*g>=s&&(n=t.selPoints_[o]),n){var d={cancelable:!0,point:n,canvasx:a.dragEndX,canvasy:a.dragEndY},u=t.cascadeEvents_("pointClick",d);if(u)return;r&&r.call(t,e,n)}var d={cancelable:!0,xval:t.lastx_,pts:t.selPoints_,canvasx:a.dragEndX,canvasy:a.dragEndY};t.cascadeEvents_("click",d)||i&&i.call(t,e,t.lastx_,t.selPoints_)},Dygraph.Interaction.endZoom=function(t,e,a){e.clearZoomRect_(),a.isZooming=!1,Dygraph.Interaction.maybeTreatMouseOpAsClick(t,e,a);var i=e.getArea();if(a.regionWidth>=10&&a.dragDirection==Dygraph.HORIZONTAL){var r=Math.min(a.dragStartX,a.dragEndX),n=Math.max(a.dragStartX,a.dragEndX);r=Math.max(r,i.x),n=Math.min(n,i.x+i.w),n>r&&e.doZoomX_(r,n),a.cancelNextDblclick=!0}else if(a.regionHeight>=10&&a.dragDirection==Dygraph.VERTICAL){var o=Math.min(a.dragStartY,a.dragEndY),s=Math.max(a.dragStartY,a.dragEndY);o=Math.max(o,i.y),s=Math.min(s,i.y+i.h),s>o&&e.doZoomY_(o,s),a.cancelNextDblclick=!0}a.dragStartX=null,a.dragStartY=null},Dygraph.Interaction.startTouch=function(t,e,a){t.preventDefault(),t.touches.length>1&&(a.startTimeForDoubleTapMs=null);for(var i=[],r=0;r=2){a.initialPinchCenter={pageX:.5*(i[0].pageX+i[1].pageX),pageY:.5*(i[0].pageY+i[1].pageY),dataX:.5*(i[0].dataX+i[1].dataX),dataY:.5*(i[0].dataY+i[1].dataY)};var o=180/Math.PI*Math.atan2(a.initialPinchCenter.pageY-i[0].pageY,i[0].pageX-a.initialPinchCenter.pageX);o=Math.abs(o),o>90&&(o=90-o),a.touchDirections={x:67.5>o,y:o>22.5}}a.initialRange={x:e.xAxisRange(),y:e.yAxisRange()}},Dygraph.Interaction.moveTouch=function(t,e,a){a.startTimeForDoubleTapMs=null;var i,r=[];for(i=0;i=2){var c=s[1].pageX-l.pageX;d=(r[1].pageX-o.pageX)/c;var y=s[1].pageY-l.pageY;u=(r[1].pageY-o.pageY)/y}d=Math.min(8,Math.max(.125,d)),u=Math.min(8,Math.max(.125,u));var _=!1;if(a.touchDirections.x&&(e.dateWindow_=[l.dataX-h.dataX+(a.initialRange.x[0]-l.dataX)/d,l.dataX-h.dataX+(a.initialRange.x[1]-l.dataX)/d],_=!0),a.touchDirections.y)for(i=0;1>i;i++){var v=e.axes_[i],f=e.attributes_.getForAxis("logscale",i);f||(v.valueWindow=[l.dataY-h.dataY+(a.initialRange.y[0]-l.dataY)/u,l.dataY-h.dataY+(a.initialRange.y[1]-l.dataY)/u],_=!0)}if(e.drawGraph_(!1),_&&r.length>1&&e.getFunctionOption("zoomCallback")){var x=e.xAxisRange();e.getFunctionOption("zoomCallback").call(e,x[0],x[1],e.yAxisRanges())}},Dygraph.Interaction.endTouch=function(t,e,a){if(0!==t.touches.length)Dygraph.Interaction.startTouch(t,e,a);else if(1==t.changedTouches.length){var i=(new Date).getTime(),r=t.changedTouches[0];a.startTimeForDoubleTapMs&&i-a.startTimeForDoubleTapMs<500&&a.doubleTapX&&Math.abs(a.doubleTapX-r.screenX)<50&&a.doubleTapY&&Math.abs(a.doubleTapY-r.screenY)<50?e.resetZoom():(a.startTimeForDoubleTapMs=i,a.doubleTapX=r.screenX,a.doubleTapY=r.screenY)}};var e=function(t,e,a){return e>t?e-t:t>a?t-a:0},a=function(t,a){var i=Dygraph.findPos(a.canvas_),r={left:i.x,right:i.x+a.canvas_.offsetWidth,top:i.y,bottom:i.y+a.canvas_.offsetHeight},n={x:Dygraph.pageX(t),y:Dygraph.pageY(t)},o=e(n.x,r.left,r.right),s=e(n.y,r.top,r.bottom);return Math.max(o,s)};Dygraph.Interaction.defaultModel={mousedown:function(e,i,r){if(!e.button||2!=e.button){r.initializeMouseDown(e,i,r),e.altKey||e.shiftKey?Dygraph.startPan(e,i,r):Dygraph.startZoom(e,i,r);var n=function(e){if(r.isZooming){var n=a(e,i);t>n?Dygraph.moveZoom(e,i,r):null!==r.dragEndX&&(r.dragEndX=null,r.dragEndY=null,i.clearZoomRect_())}else r.isPanning&&Dygraph.movePan(e,i,r)},o=function(t){r.isZooming?null!==r.dragEndX?Dygraph.endZoom(t,i,r):Dygraph.Interaction.maybeTreatMouseOpAsClick(t,i,r):r.isPanning&&Dygraph.endPan(t,i,r),Dygraph.removeEvent(document,"mousemove",n),Dygraph.removeEvent(document,"mouseup",o),r.destroy()};i.addAndTrackEvent(document,"mousemove",n),i.addAndTrackEvent(document,"mouseup",o)}},willDestroyContextMyself:!0,touchstart:function(t,e,a){Dygraph.Interaction.startTouch(t,e,a)},touchmove:function(t,e,a){Dygraph.Interaction.moveTouch(t,e,a)},touchend:function(t,e,a){Dygraph.Interaction.endTouch(t,e,a)},dblclick:function(t,e,a){if(a.cancelNextDblclick)return void(a.cancelNextDblclick=!1);var i={canvasx:a.dragEndX,canvasy:a.dragEndY};e.cascadeEvents_("dblclick",i)||t.altKey||t.shiftKey||e.resetZoom()}},Dygraph.DEFAULT_ATTRS.interactionModel=Dygraph.Interaction.defaultModel,Dygraph.defaultInteractionModel=Dygraph.Interaction.defaultModel,Dygraph.endZoom=Dygraph.Interaction.endZoom,Dygraph.moveZoom=Dygraph.Interaction.moveZoom,Dygraph.startZoom=Dygraph.Interaction.startZoom,Dygraph.endPan=Dygraph.Interaction.endPan,Dygraph.movePan=Dygraph.Interaction.movePan,Dygraph.startPan=Dygraph.Interaction.startPan,Dygraph.Interaction.nonInteractiveModel_={mousedown:function(t,e,a){a.initializeMouseDown(t,e,a)},mouseup:Dygraph.Interaction.maybeTreatMouseOpAsClick},Dygraph.Interaction.dragIsPanInteractionModel={mousedown:function(t,e,a){a.initializeMouseDown(t,e,a),Dygraph.startPan(t,e,a)},mousemove:function(t,e,a){a.isPanning&&Dygraph.movePan(t,e,a)},mouseup:function(t,e,a){a.isPanning&&Dygraph.endPan(t,e,a)}}}(),function(){"use strict";Dygraph.TickList=void 0,Dygraph.Ticker=void 0,Dygraph.numericLinearTicks=function(t,e,a,i,r,n){var o=function(t){return"logscale"===t?!1:i(t)};return Dygraph.numericTicks(t,e,a,o,r,n)},Dygraph.numericTicks=function(t,e,a,i,r,n){var o,s,l,h,p=i("pixelsPerLabel"),g=[];if(n)for(o=0;o=h/4){for(var y=u;y>=d;y--){var _=Dygraph.PREFERRED_LOG_TICK_VALUES[y],v=Math.log(_/t)/Math.log(e/t)*a,f={v:_};null===c?c={tickValue:_,pixel_coord:v}:Math.abs(v-c.pixel_coord)>=p?c={tickValue:_,pixel_coord:v}:f.label="",g.push(f)}g.reverse()}}if(0===g.length){var x,m,D=i("labelsKMG2");D?(x=[1,2,4,8,16,32,64,128,256],m=16):(x=[1,2,5,10,20,50,100],m=10);var w,A,b,T,E=Math.ceil(a/p),C=Math.abs(e-t)/E,L=Math.floor(Math.log(C)/Math.log(m)),P=Math.pow(m,L);for(s=0;sp));s++);for(A>b&&(w*=-1),o=0;h>=o;o++)l=A+o*w,g.push({v:l})}}var S=i("axisLabelFormatter");for(o=0;o=0?Dygraph.getDateAxis(t,e,o,i,r):[]},Dygraph.SECONDLY=0,Dygraph.TWO_SECONDLY=1,Dygraph.FIVE_SECONDLY=2,Dygraph.TEN_SECONDLY=3,Dygraph.THIRTY_SECONDLY=4,Dygraph.MINUTELY=5,Dygraph.TWO_MINUTELY=6,Dygraph.FIVE_MINUTELY=7,Dygraph.TEN_MINUTELY=8,Dygraph.THIRTY_MINUTELY=9,Dygraph.HOURLY=10,Dygraph.TWO_HOURLY=11,Dygraph.SIX_HOURLY=12,Dygraph.DAILY=13,Dygraph.TWO_DAILY=14,Dygraph.WEEKLY=15,Dygraph.MONTHLY=16,Dygraph.QUARTERLY=17,Dygraph.BIANNUAL=18,Dygraph.ANNUAL=19,Dygraph.DECADAL=20,Dygraph.CENTENNIAL=21,Dygraph.NUM_GRANULARITIES=22,Dygraph.DATEFIELD_Y=0,Dygraph.DATEFIELD_M=1,Dygraph.DATEFIELD_D=2,Dygraph.DATEFIELD_HH=3,Dygraph.DATEFIELD_MM=4,Dygraph.DATEFIELD_SS=5,Dygraph.DATEFIELD_MS=6,Dygraph.NUM_DATEFIELDS=7,Dygraph.TICK_PLACEMENT=[],Dygraph.TICK_PLACEMENT[Dygraph.SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:1,spacing:1e3},Dygraph.TICK_PLACEMENT[Dygraph.TWO_SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:2,spacing:2e3},Dygraph.TICK_PLACEMENT[Dygraph.FIVE_SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:5,spacing:5e3},Dygraph.TICK_PLACEMENT[Dygraph.TEN_SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:10,spacing:1e4},Dygraph.TICK_PLACEMENT[Dygraph.THIRTY_SECONDLY]={datefield:Dygraph.DATEFIELD_SS,step:30,spacing:3e4},Dygraph.TICK_PLACEMENT[Dygraph.MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:1,spacing:6e4},Dygraph.TICK_PLACEMENT[Dygraph.TWO_MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:2,spacing:12e4},Dygraph.TICK_PLACEMENT[Dygraph.FIVE_MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:5,spacing:3e5},Dygraph.TICK_PLACEMENT[Dygraph.TEN_MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:10,spacing:6e5},Dygraph.TICK_PLACEMENT[Dygraph.THIRTY_MINUTELY]={datefield:Dygraph.DATEFIELD_MM,step:30,spacing:18e5},Dygraph.TICK_PLACEMENT[Dygraph.HOURLY]={datefield:Dygraph.DATEFIELD_HH,step:1,spacing:36e5},Dygraph.TICK_PLACEMENT[Dygraph.TWO_HOURLY]={datefield:Dygraph.DATEFIELD_HH,step:2,spacing:72e5},Dygraph.TICK_PLACEMENT[Dygraph.SIX_HOURLY]={datefield:Dygraph.DATEFIELD_HH,step:6,spacing:216e5},Dygraph.TICK_PLACEMENT[Dygraph.DAILY]={datefield:Dygraph.DATEFIELD_D,step:1,spacing:864e5},Dygraph.TICK_PLACEMENT[Dygraph.TWO_DAILY]={datefield:Dygraph.DATEFIELD_D,step:2,spacing:1728e5},Dygraph.TICK_PLACEMENT[Dygraph.WEEKLY]={datefield:Dygraph.DATEFIELD_D,step:7,spacing:6048e5},Dygraph.TICK_PLACEMENT[Dygraph.MONTHLY]={datefield:Dygraph.DATEFIELD_M,step:1,spacing:2629817280},Dygraph.TICK_PLACEMENT[Dygraph.QUARTERLY]={datefield:Dygraph.DATEFIELD_M,step:3,spacing:216e5*365.2524},Dygraph.TICK_PLACEMENT[Dygraph.BIANNUAL]={datefield:Dygraph.DATEFIELD_M,step:6,spacing:432e5*365.2524},Dygraph.TICK_PLACEMENT[Dygraph.ANNUAL]={datefield:Dygraph.DATEFIELD_Y,step:1,spacing:864e5*365.2524},Dygraph.TICK_PLACEMENT[Dygraph.DECADAL]={datefield:Dygraph.DATEFIELD_Y,step:10,spacing:315578073600},Dygraph.TICK_PLACEMENT[Dygraph.CENTENNIAL]={datefield:Dygraph.DATEFIELD_Y,step:100,spacing:3155780736e3},Dygraph.PREFERRED_LOG_TICK_VALUES=function(){for(var t=[],e=-39;39>=e;e++)for(var a=Math.pow(10,e),i=1;9>=i;i++){var r=a*i;t.push(r)}return t}(),Dygraph.pickDateTickGranularity=function(t,e,a,i){for(var r=i("pixelsPerLabel"),n=0;n=r)return n}return-1},Dygraph.numDateTicks=function(t,e,a){var i=Dygraph.TICK_PLACEMENT[a].spacing;return Math.round(1*(e-t)/i)},Dygraph.getDateAxis=function(t,e,a,i,r){var n=i("axisLabelFormatter"),o=i("labelsUTC"),s=o?Dygraph.DateAccessorsUTC:Dygraph.DateAccessorsLocal,l=Dygraph.TICK_PLACEMENT[a].datefield,h=Dygraph.TICK_PLACEMENT[a].step,p=Dygraph.TICK_PLACEMENT[a].spacing,g=new Date(t),d=[];d[Dygraph.DATEFIELD_Y]=s.getFullYear(g),d[Dygraph.DATEFIELD_M]=s.getMonth(g),d[Dygraph.DATEFIELD_D]=s.getDate(g),d[Dygraph.DATEFIELD_HH]=s.getHours(g),d[Dygraph.DATEFIELD_MM]=s.getMinutes(g),d[Dygraph.DATEFIELD_SS]=s.getSeconds(g),d[Dygraph.DATEFIELD_MS]=s.getMilliseconds(g);var u=d[l]%h;a==Dygraph.WEEKLY&&(u=s.getDay(g)),d[l]-=u;for(var c=l+1;cv&&(v+=p,_=new Date(v));e>=v;)y.push({v:v,label:n.call(r,_,a,i,r)}),v+=p,_=new Date(v);else for(t>v&&(d[l]+=h,_=s.makeDate.apply(null,d),v=_.getTime());e>=v;)(a>=Dygraph.DAILY||s.getHours(_)%h===0)&&y.push({v:v,label:n.call(r,_,a,i,r)}),d[l]+=h,_=s.makeDate.apply(null,d),v=_.getTime();return y},Dygraph&&Dygraph.DEFAULT_ATTRS&&Dygraph.DEFAULT_ATTRS.axes&&Dygraph.DEFAULT_ATTRS.axes.x&&Dygraph.DEFAULT_ATTRS.axes.y&&Dygraph.DEFAULT_ATTRS.axes.y2&&(Dygraph.DEFAULT_ATTRS.axes.x.ticker=Dygraph.dateTicker,Dygraph.DEFAULT_ATTRS.axes.y.ticker=Dygraph.numericTicks,Dygraph.DEFAULT_ATTRS.axes.y2.ticker=Dygraph.numericTicks)}(),Dygraph.Plugins={},Dygraph.Plugins.Annotations=function(){"use strict";var t=function(){this.annotations_=[]};return t.prototype.toString=function(){return"Annotations Plugin"},t.prototype.activate=function(t){return{clearChart:this.clearChart,didDrawChart:this.didDrawChart}},t.prototype.detachLabels=function(){for(var t=0;to.x+o.w||h.canvasyo.y+o.h)){var p=h.annotation,g=6;p.hasOwnProperty("tickHeight")&&(g=p.tickHeight);var d=document.createElement("div");for(var u in r)r.hasOwnProperty(u)&&(d.style[u]=r[u]);p.hasOwnProperty("icon")||(d.className="dygraphDefaultAnnotation"),p.hasOwnProperty("cssClass")&&(d.className+=" "+p.cssClass);var c=p.hasOwnProperty("width")?p.width:16,y=p.hasOwnProperty("height")?p.height:16;if(p.hasOwnProperty("icon")){var _=document.createElement("img");_.src=p.icon,_.width=c,_.height=y,d.appendChild(_)}else h.annotation.hasOwnProperty("shortText")&&d.appendChild(document.createTextNode(h.annotation.shortText));var v=h.canvasx-c/2;d.style.left=v+"px";var f=0;if(p.attachAtBottom){var x=o.y+o.h-y-g;s[v]?x-=s[v]:s[v]=0,s[v]+=g+y,f=x}else f=h.canvasy-y-g;d.style.top=f+"px",d.style.width=c+"px",d.style.height=y+"px",d.title=h.annotation.text,d.style.color=e.colorsMap_[h.name],d.style.borderColor=e.colorsMap_[h.name],p.div=d,e.addAndTrackEvent(d,"click",n("clickHandler","annotationClickHandler",h,this)),e.addAndTrackEvent(d,"mouseover",n("mouseOverHandler","annotationMouseOverHandler",h,this)),e.addAndTrackEvent(d,"mouseout",n("mouseOutHandler","annotationMouseOutHandler",h,this)),e.addAndTrackEvent(d,"dblclick",n("dblClickHandler","annotationDblClickHandler",h,this)),i.appendChild(d),this.annotations_.push(d);var m=t.drawingContext;if(m.save(),m.strokeStyle=e.colorsMap_[h.name],m.beginPath(),p.attachAtBottom){var x=f+y;m.moveTo(h.canvasx,x),m.lineTo(h.canvasx,x+g)}else m.moveTo(h.canvasx,h.canvasy),m.lineTo(h.canvasx,h.canvasy-2-g);m.closePath(),m.stroke(),m.restore()}}},t.prototype.destroy=function(){this.detachLabels()},t}(),Dygraph.Plugins.Axes=function(){"use strict";var t=function(){this.xlabels_=[],this.ylabels_=[]};return t.prototype.toString=function(){return"Axes Plugin"},t.prototype.activate=function(t){return{layout:this.layout,clearChart:this.clearChart,willDrawChart:this.willDrawChart}},t.prototype.layout=function(t){var e=t.dygraph;if(e.getOptionForAxis("drawAxis","y")){var a=e.getOptionForAxis("axisLabelWidth","y")+2*e.getOptionForAxis("axisTickSize","y");t.reserveSpaceLeft(a)}if(e.getOptionForAxis("drawAxis","x")){var i;i=e.getOption("xAxisHeight")?e.getOption("xAxisHeight"):e.getOptionForAxis("axisLabelFontSize","x")+2*e.getOptionForAxis("axisTickSize","x"),t.reserveSpaceBottom(i)}if(2==e.numAxes()){if(e.getOptionForAxis("drawAxis","y2")){var a=e.getOptionForAxis("axisLabelWidth","y2")+2*e.getOptionForAxis("axisTickSize","y2");t.reserveSpaceRight(a)}}else e.numAxes()>2&&e.error("Only two y-axes are supported at this time. (Trying to use "+e.numAxes()+")")},t.prototype.detachLabels=function(){function t(t){for(var e=0;e0){var x=i.numAxes(),m=[f("y"),f("y2")];for(l=0;l<_.yticks.length;l++){if(s=_.yticks[l],"function"==typeof s)return;n=v.x;var D=1,w="y1",A=m[0];1==s[0]&&(n=v.x+v.w,D=-1,w="y2",A=m[1]);var b=A("axisLabelFontSize");o=v.y+s[1]*v.h,r=y(s[2],"y",2==x?w:null);var T=o-b/2;0>T&&(T=0),T+b+3>d?r.style.bottom="0":r.style.top=T+"px",0===s[0]?(r.style.left=v.x-A("axisLabelWidth")-A("axisTickSize")+"px",r.style.textAlign="right"):1==s[0]&&(r.style.left=v.x+v.w+A("axisTickSize")+"px",r.style.textAlign="left"),r.style.width=A("axisLabelWidth")+"px",p.appendChild(r),this.ylabels_.push(r)}var E=this.ylabels_[0],b=i.getOptionForAxis("axisLabelFontSize","y"),C=parseInt(E.style.top,10)+b;C>d-b&&(E.style.top=parseInt(E.style.top,10)-b/2+"px")}var L;if(i.getOption("drawAxesAtZero")){var P=i.toPercentXCoord(0);(P>1||0>P||isNaN(P))&&(P=0),L=e(v.x+P*v.w)}else L=e(v.x);h.strokeStyle=i.getOptionForAxis("axisLineColor","y"),h.lineWidth=i.getOptionForAxis("axisLineWidth","y"),h.beginPath(),h.moveTo(L,a(v.y)),h.lineTo(L,a(v.y+v.h)),h.closePath(),h.stroke(),2==i.numAxes()&&(h.strokeStyle=i.getOptionForAxis("axisLineColor","y2"),h.lineWidth=i.getOptionForAxis("axisLineWidth","y2"),h.beginPath(),h.moveTo(a(v.x+v.w),a(v.y)),h.lineTo(a(v.x+v.w),a(v.y+v.h)),h.closePath(),h.stroke())}if(i.getOptionForAxis("drawAxis","x")){if(_.xticks){var A=f("x");for(l=0;l<_.xticks.length;l++){s=_.xticks[l],n=v.x+s[0]*v.w,o=v.y+v.h,r=y(s[1],"x"),r.style.textAlign="center",r.style.top=o+A("axisTickSize")+"px";var S=n-A("axisLabelWidth")/2;S+A("axisLabelWidth")>g&&(S=g-A("axisLabelWidth"),r.style.textAlign="right"),0>S&&(S=0,r.style.textAlign="left"),r.style.left=S+"px",r.style.width=A("axisLabelWidth")+"px", +p.appendChild(r),this.xlabels_.push(r)}}h.strokeStyle=i.getOptionForAxis("axisLineColor","x"),h.lineWidth=i.getOptionForAxis("axisLineWidth","x"),h.beginPath();var O;if(i.getOption("drawAxesAtZero")){var P=i.toPercentYCoord(0,0);(P>1||0>P)&&(P=1),O=a(v.y+P*v.h)}else O=a(v.y+v.h);h.moveTo(e(v.x),O),h.lineTo(e(v.x+v.w),O),h.closePath(),h.stroke()}h.restore()}},t}(),Dygraph.Plugins.ChartLabels=function(){"use strict";var t=function(){this.title_div_=null,this.xlabel_div_=null,this.ylabel_div_=null,this.y2label_div_=null};t.prototype.toString=function(){return"ChartLabels Plugin"},t.prototype.activate=function(t){return{layout:this.layout,didDrawChart:this.didDrawChart}};var e=function(t){var e=document.createElement("div");return e.style.position="absolute",e.style.left=t.x+"px",e.style.top=t.y+"px",e.style.width=t.w+"px",e.style.height=t.h+"px",e};t.prototype.detachLabels_=function(){for(var t=[this.title_div_,this.xlabel_div_,this.ylabel_div_,this.y2label_div_],e=0;e=2);for(o=h.yticks,l.save(),n=0;n=2;for(y&&l.installPattern(_),l.strokeStyle=s.getOptionForAxis("gridLineColor","x"),l.lineWidth=s.getOptionForAxis("gridLineWidth","x"),n=0;n/g,">")};return t.prototype.select=function(e){var a=e.selectedX,i=e.selectedPoints,r=e.selectedRow,n=e.dygraph.getOption("legend");if("never"===n)return void(this.legend_div_.style.display="none");if("follow"===n){var o=e.dygraph.plotter_.area,s=e.dygraph.getOption("labelsDivWidth"),l=e.dygraph.getOptionForAxis("axisLabelWidth","y"),h=i[0].x*o.w+20,p=i[0].y*o.h-20;h+s+1>window.scrollX+window.innerWidth&&(h=h-40-s-(l-o.x)),e.dygraph.graphDiv.appendChild(this.legend_div_),this.legend_div_.style.left=l+h+"px",this.legend_div_.style.top=p+"px"}var g=t.generateLegendHTML(e.dygraph,a,i,this.one_em_width_,r);this.legend_div_.innerHTML=g,this.legend_div_.style.display=""},t.prototype.deselect=function(e){var i=e.dygraph.getOption("legend");"always"!==i&&(this.legend_div_.style.display="none");var r=a(this.legend_div_);this.one_em_width_=r;var n=t.generateLegendHTML(e.dygraph,void 0,void 0,r,null);this.legend_div_.innerHTML=n},t.prototype.didDrawChart=function(t){this.deselect(t)},t.prototype.predraw=function(t){if(this.is_generated_div_){t.dygraph.graphDiv.appendChild(this.legend_div_);var e=t.dygraph.plotter_.area,a=t.dygraph.getOption("labelsDivWidth");this.legend_div_.style.left=e.x+e.w-a-1+"px",this.legend_div_.style.top=e.y+"px",this.legend_div_.style.width=a+"px"}},t.prototype.destroy=function(){this.legend_div_=null},t.generateLegendHTML=function(t,a,r,n,o){if(t.getOption("showLabelsOnHighlight")!==!0)return"";var s,l,h,p,g,d=t.getLabels();if("undefined"==typeof a){if("always"!=t.getOption("legend"))return"";for(l=t.getOption("labelsSeparateLines"),s="",h=1;h":" "),g=t.getOption("strokePattern",d[h]),p=e(g,u.color,n),s+=""+p+" "+i(d[h])+"")}return s}var c=t.optionsViewForAxis_("x"),y=c("valueFormatter");s=y.call(t,a,c,d[0],t,o,0),""!==s&&(s+=":");var _=[],v=t.numAxes();for(h=0;v>h;h++)_[h]=t.optionsViewForAxis_("y"+(h?1+h:""));var f=t.getOption("labelsShowZeroValues");l=t.getOption("labelsSeparateLines");var x=t.getHighlightSeries();for(h=0;h");var u=t.getPropertiesForSeries(m.name),D=_[u.axis-1],w=D("valueFormatter"),A=w.call(t,m.yval,D,m.name,t,o,d.indexOf(m.name)),b=m.name==x?" class='highlight'":"";s+=" "+i(m.name)+": "+A+""}}return s},e=function(t,e,a){var i=/MSIE/.test(navigator.userAgent)&&!window.opera;if(i)return"—";if(!t||t.length<=1)return'
';var r,n,o,s,l,h=0,p=0,g=[];for(r=0;r<=t.length;r++)h+=t[r%t.length];if(l=Math.floor(a/(h-t[0])),l>1){for(r=0;rn;n++)for(r=0;p>r;r+=2)o=g[r%g.length],s=r';return d},t}(),Dygraph.Plugins.RangeSelector=function(){"use strict";var t=function(){this.isIE_=/MSIE/.test(navigator.userAgent)&&!window.opera,this.hasTouchInterface_="undefined"!=typeof TouchEvent,this.isMobileDevice_=/mobile|android/gi.test(navigator.appVersion),this.interfaceCreated_=!1};return t.prototype.toString=function(){return"RangeSelector Plugin"},t.prototype.activate=function(t){return this.dygraph_=t,this.isUsingExcanvas_=t.isUsingExcanvas_,this.getOption_("showRangeSelector")&&this.createInterface_(),{layout:this.reserveSpace_,predraw:this.renderStaticLayer_,didDrawChart:this.renderInteractiveLayer_}},t.prototype.destroy=function(){this.bgcanvas_=null,this.fgcanvas_=null,this.leftZoomHandle_=null,this.rightZoomHandle_=null,this.iePanOverlay_=null},t.prototype.getOption_=function(t,e){return this.dygraph_.getOption(t,e)},t.prototype.setDefaultOption_=function(t,e){this.dygraph_.attrs_[t]=e},t.prototype.createInterface_=function(){this.createCanvases_(),this.isUsingExcanvas_&&this.createIEPanOverlay_(),this.createZoomHandles_(),this.initInteraction_(),this.getOption_("animatedZooms")&&(console.warn("Animated zooms and range selector are not compatible; disabling animatedZooms."),this.dygraph_.updateOptions({animatedZooms:!1},!0)),this.interfaceCreated_=!0,this.addToGraph_()},t.prototype.addToGraph_=function(){var t=this.graphDiv_=this.dygraph_.graphDiv;t.appendChild(this.bgcanvas_),t.appendChild(this.fgcanvas_),t.appendChild(this.leftZoomHandle_),t.appendChild(this.rightZoomHandle_)},t.prototype.removeFromGraph_=function(){var t=this.graphDiv_;t.removeChild(this.bgcanvas_),t.removeChild(this.fgcanvas_),t.removeChild(this.leftZoomHandle_),t.removeChild(this.rightZoomHandle_),this.graphDiv_=null},t.prototype.reserveSpace_=function(t){this.getOption_("showRangeSelector")&&t.reserveSpaceBottom(this.getOption_("rangeSelectorHeight")+4)},t.prototype.renderStaticLayer_=function(){this.updateVisibility_()&&(this.resize_(),this.drawStaticLayer_())},t.prototype.renderInteractiveLayer_=function(){this.updateVisibility_()&&!this.isChangingRange_&&(this.placeZoomHandles_(),this.drawInteractiveLayer_())},t.prototype.updateVisibility_=function(){var t=this.getOption_("showRangeSelector");if(t)this.interfaceCreated_?this.graphDiv_&&this.graphDiv_.parentNode||this.addToGraph_():this.createInterface_();else if(this.graphDiv_){this.removeFromGraph_();var e=this.dygraph_;setTimeout(function(){e.width_=0,e.resize()},1)}return t},t.prototype.resize_=function(){function t(t,e,a){var i=Dygraph.getContextPixelRatio(e);t.style.top=a.y+"px",t.style.left=a.x+"px",t.width=a.w*i,t.height=a.h*i,t.style.width=a.w+"px",t.style.height=a.h+"px",1!=i&&e.scale(i,i)}var e=this.dygraph_.layout_.getPlotArea(),a=0;this.dygraph_.getOptionForAxis("drawAxis","x")&&(a=this.getOption_("xAxisHeight")||this.getOption_("axisLabelFontSize")+2*this.getOption_("axisTickSize")),this.canvasRect_={x:e.x,y:e.y+e.h+a+4,w:e.w,h:this.getOption_("rangeSelectorHeight")},t(this.bgcanvas_,this.bgcanvas_ctx_,this.canvasRect_),t(this.fgcanvas_,this.fgcanvas_ctx_,this.canvasRect_)},t.prototype.createCanvases_=function(){this.bgcanvas_=Dygraph.createCanvas(),this.bgcanvas_.className="dygraph-rangesel-bgcanvas",this.bgcanvas_.style.position="absolute",this.bgcanvas_.style.zIndex=9,this.bgcanvas_ctx_=Dygraph.getContext(this.bgcanvas_),this.fgcanvas_=Dygraph.createCanvas(),this.fgcanvas_.className="dygraph-rangesel-fgcanvas",this.fgcanvas_.style.position="absolute",this.fgcanvas_.style.zIndex=9,this.fgcanvas_.style.cursor="default",this.fgcanvas_ctx_=Dygraph.getContext(this.fgcanvas_)},t.prototype.createIEPanOverlay_=function(){this.iePanOverlay_=document.createElement("div"),this.iePanOverlay_.style.position="absolute",this.iePanOverlay_.style.backgroundColor="white",this.iePanOverlay_.style.filter="alpha(opacity=0)",this.iePanOverlay_.style.display="none",this.iePanOverlay_.style.cursor="move",this.fgcanvas_.appendChild(this.iePanOverlay_)},t.prototype.createZoomHandles_=function(){var t=new Image;t.className="dygraph-rangesel-zoomhandle",t.style.position="absolute",t.style.zIndex=10,t.style.visibility="hidden",t.style.cursor="col-resize",/MSIE 7/.test(navigator.userAgent)?(t.width=7,t.height=14,t.style.backgroundColor="white",t.style.border="1px solid #333333"):(t.width=9,t.height=16,t.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAQCAYAAADESFVDAAAAAXNSR0IArs4c6QAAAAZiS0dEANAAzwDP4Z7KegAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB9sHGw0cMqdt1UwAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAaElEQVQoz+3SsRFAQBCF4Z9WJM8KCDVwownl6YXsTmCUsyKGkZzcl7zkz3YLkypgAnreFmDEpHkIwVOMfpdi9CEEN2nGpFdwD03yEqDtOgCaun7sqSTDH32I1pQA2Pb9sZecAxc5r3IAb21d6878xsAAAAAASUVORK5CYII="),this.isMobileDevice_&&(t.width*=2,t.height*=2),this.leftZoomHandle_=t,this.rightZoomHandle_=t.cloneNode(!1)},t.prototype.initInteraction_=function(){var t,e,a,i,r,n,o,s,l,h,p,g,d,u,c=this,y=document,_=0,v=null,f=!1,x=!1,m=!this.isMobileDevice_&&!this.isUsingExcanvas_,D=new Dygraph.IFrameTarp;t=function(t){var e=c.dygraph_.xAxisExtremes(),a=(e[1]-e[0])/c.canvasRect_.w,i=e[0]+(t.leftHandlePos-c.canvasRect_.x)*a,r=e[0]+(t.rightHandlePos-c.canvasRect_.x)*a;return[i,r]},e=function(t){return Dygraph.cancelEvent(t),f=!0,_=t.clientX,v=t.target?t.target:t.srcElement,("mousedown"===t.type||"dragstart"===t.type)&&(Dygraph.addEvent(y,"mousemove",a),Dygraph.addEvent(y,"mouseup",i)),c.fgcanvas_.style.cursor="col-resize",D.cover(),!0},a=function(t){if(!f)return!1;Dygraph.cancelEvent(t);var e=t.clientX-_;if(Math.abs(e)<4)return!0;_=t.clientX;var a,i=c.getZoomHandleStatus_();v==c.leftZoomHandle_?(a=i.leftHandlePos+e,a=Math.min(a,i.rightHandlePos-v.width-3),a=Math.max(a,c.canvasRect_.x)):(a=i.rightHandlePos+e,a=Math.min(a,c.canvasRect_.x+c.canvasRect_.w),a=Math.max(a,i.leftHandlePos+v.width+3));var n=v.width/2;return v.style.left=a-n+"px",c.drawInteractiveLayer_(),m&&r(),!0},i=function(t){return f?(f=!1,D.uncover(),Dygraph.removeEvent(y,"mousemove",a),Dygraph.removeEvent(y,"mouseup",i),c.fgcanvas_.style.cursor="default",m||r(),!0):!1},r=function(){try{var e=c.getZoomHandleStatus_();if(c.isChangingRange_=!0,e.isZoomed){var a=t(e);c.dygraph_.doZoomXDates_(a[0],a[1])}else c.dygraph_.resetZoom()}finally{c.isChangingRange_=!1}},n=function(t){if(c.isUsingExcanvas_)return t.srcElement==c.iePanOverlay_;var e=c.leftZoomHandle_.getBoundingClientRect(),a=e.left+e.width/2;e=c.rightZoomHandle_.getBoundingClientRect();var i=e.left+e.width/2;return t.clientX>a&&t.clientX=c.canvasRect_.x+c.canvasRect_.w?(r=c.canvasRect_.x+c.canvasRect_.w,i=r-n):(i+=e,r+=e);var o=c.leftZoomHandle_.width/2;return c.leftZoomHandle_.style.left=i-o+"px",c.rightZoomHandle_.style.left=r-o+"px",c.drawInteractiveLayer_(),m&&h(),!0},l=function(t){return x?(x=!1,Dygraph.removeEvent(y,"mousemove",s),Dygraph.removeEvent(y,"mouseup",l),m||h(),!0):!1},h=function(){try{c.isChangingRange_=!0,c.dygraph_.dateWindow_=t(c.getZoomHandleStatus_()),c.dygraph_.drawGraph_(!1)}finally{c.isChangingRange_=!1}},p=function(t){if(!f&&!x){var e=n(t)?"move":"default";e!=c.fgcanvas_.style.cursor&&(c.fgcanvas_.style.cursor=e)}},g=function(t){"touchstart"==t.type&&1==t.targetTouches.length?e(t.targetTouches[0])&&Dygraph.cancelEvent(t):"touchmove"==t.type&&1==t.targetTouches.length?a(t.targetTouches[0])&&Dygraph.cancelEvent(t):i(t)},d=function(t){"touchstart"==t.type&&1==t.targetTouches.length?o(t.targetTouches[0])&&Dygraph.cancelEvent(t):"touchmove"==t.type&&1==t.targetTouches.length?s(t.targetTouches[0])&&Dygraph.cancelEvent(t):l(t)},u=function(t,e){for(var a=["touchstart","touchend","touchmove","touchcancel"],i=0;it;t++){var s=this.getOption_("showInRangeSelector",r[t]);n[t]=s,null!==s&&(o=!0)}if(!o)for(t=0;t1&&(g=h.rollingAverage(g,e.rollPeriod(),p)),l.push(g)}var d=[];for(t=0;t0)&&(v=Math.min(v,x),f=Math.max(f,x))}var m=.25;if(a)for(f=Dygraph.log10(f),f+=f*m,v=Dygraph.log10(v),t=0;tthis.canvasRect_.x||a+10&&t[r][0]>o;)i--,r--}return i>=a?[a,i]:[0,t.length-1]},t.parseFloat=function(t){return null===t?0/0:t}}(),function(){"use strict";Dygraph.DataHandlers.DefaultHandler=function(){};var t=Dygraph.DataHandlers.DefaultHandler;t.prototype=new Dygraph.DataHandler,t.prototype.extractSeries=function(t,e,a){for(var i=[],r=a.get("logscale"),n=0;n=s&&(s=null),i.push([o,s])}return i},t.prototype.rollingAverage=function(t,e,a){e=Math.min(e,t.length);var i,r,n,o,s,l=[];if(1==e)return t;for(i=0;ir;r++)n=t[r][1],null===n||isNaN(n)||(s++,o+=t[r][1]);s?l[i]=[t[i][0],o/s]:l[i]=[t[i][0],null]}return l},t.prototype.getExtremeYValues=function(t,e,a){for(var i,r=null,n=null,o=0,s=t.length-1,l=o;s>=l;l++)i=t[l][1],null===i||isNaN(i)||((null===n||i>n)&&(n=i),(null===r||r>i)&&(r=i));return[r,n]}}(),function(){"use strict";Dygraph.DataHandlers.DefaultFractionHandler=function(){};var t=Dygraph.DataHandlers.DefaultFractionHandler;t.prototype=new Dygraph.DataHandlers.DefaultHandler,t.prototype.extractSeries=function(t,e,a){for(var i,r,n,o,s,l,h=[],p=100,g=a.get("logscale"),d=0;d=0&&(n-=t[i-e][2][0],o-=t[i-e][2][1]);var l=t[i][0],h=o?n/o:0;r[i]=[l,s*h]}return r}}(),function(){"use strict";Dygraph.DataHandlers.BarsHandler=function(){Dygraph.DataHandler.call(this)},Dygraph.DataHandlers.BarsHandler.prototype=new Dygraph.DataHandler;var t=Dygraph.DataHandlers.BarsHandler;t.prototype.extractSeries=function(t,e,a){},t.prototype.rollingAverage=function(t,e,a){},t.prototype.onPointsCreated_=function(t,e){for(var a=0;a=l;l++)if(i=t[l][1],null!==i&&!isNaN(i)){var h=t[l][2][0],p=t[l][2][1];h>i&&(h=i),i>p&&(p=i),(null===n||p>n)&&(n=p),(null===r||r>h)&&(r=h)}return[r,n]},t.prototype.onLineEvaluated=function(t,e,a){for(var i,r=0;r=0){var g=t[l-e];null===g[1]||isNaN(g[1])||(r-=g[2][0],o-=g[1],n-=g[2][1],s-=1)}s?p[l]=[t[l][0],1*o/s,[1*r/s,1*n/s]]:p[l]=[t[l][0],null,[null,null]]}return p}}(),function(){"use strict";Dygraph.DataHandlers.ErrorBarsHandler=function(){};var t=Dygraph.DataHandlers.ErrorBarsHandler;t.prototype=new Dygraph.DataHandlers.BarsHandler,t.prototype.extractSeries=function(t,e,a){for(var i,r,n,o,s=[],l=a.get("sigma"),h=a.get("logscale"),p=0;pr;r++)n=t[r][1],null===n||isNaN(n)||(l++,s+=n,p+=Math.pow(t[r][2][2],2));l?(h=Math.sqrt(p)/l,g=s/l,d[i]=[t[i][0],g,[g-u*h,g+u*h]]):(o=1==e?t[i][1]:null,d[i]=[t[i][0],o,[o,o]])}return d}}(),function(){"use strict";Dygraph.DataHandlers.FractionsBarsHandler=function(){};var t=Dygraph.DataHandlers.FractionsBarsHandler;t.prototype=new Dygraph.DataHandlers.BarsHandler,t.prototype.extractSeries=function(t,e,a){for(var i,r,n,o,s,l,h,p,g=[],d=100,u=a.get("sigma"),c=a.get("logscale"),y=0;y=0&&(p-=t[n-e][2][2],g-=t[n-e][2][3]);var u=t[n][0],c=g?p/g:0;if(h)if(g){var y=0>c?0:c,_=g,v=l*Math.sqrt(y*(1-y)/_+l*l/(4*_*_)),f=1+l*l/g;i=(y+l*l/(2*g)-v)/f,r=(y+l*l/(2*g)+v)/f,s[n]=[u,y*d,[i*d,r*d]]}else s[n]=[u,0,[0,0]];else o=g?l*Math.sqrt(c*(1-c)/g):1,s[n]=[u,d*c,[d*(c-o),d*(c+o)]]}return s}}(); //# sourceMappingURL=dygraph-combined.js.map \ No newline at end of file diff --git a/dygraph-combined.js.map b/dygraph-combined.js.map index ceec584..28603b1 100644 --- a/dygraph-combined.js.map +++ b/dygraph-combined.js.map @@ -1 +1 @@ -{"version":3,"sources":["polyfills/console.js","dashed-canvas.js","dygraph-options.js","dygraph-layout.js","dygraph-canvas.js","dygraph.js","dygraph-utils.js","dygraph-gviz.js","dygraph-interaction-model.js","dygraph-tickers.js","dygraph-plugin-base.js","plugins/annotations.js","plugins/axes.js","plugins/chart-labels.js","plugins/grid.js","plugins/legend.js","plugins/range-selector.js","dygraph-plugin-install.js","datahandler/datahandler.js","datahandler/default.js","datahandler/default-fractions.js","datahandler/bars.js","datahandler/bars-custom.js","datahandler/bars-error.js","datahandler/bars-fractions.js"],"names":["con","prop","method","empty","dummy","properties","split","methods","pop","this","console","CanvasRenderingContext2D","prototype","installPattern","pattern","isPatternInstalled","dashedLineToHistory","segments","realBeginPath","beginPath","realLineTo","lineTo","realMoveTo","moveTo","realStroke","stroke","uninstallPattern","undefined","call","x","y","push","last","length","i","seg","x1","y1","j","x2","y2","save","dx","dy","len","Math","sqrt","rot","atan2","translate","rotate","patternIndex","segment","restore","DygraphOptions","dygraph","dygraph_","yAxes_","xAxis_","series_","global_","attrs_","user_","user_attrs_","labels_","highlightSeries_","get","reparseSeries","AXIS_STRING_MAPPINGS_","Y","Y1","Y2","axisToIndex_","axis","hasOwnProperty","labels","slice","series","options","oldStyleSeries","axisId","idx","seriesName","optionsForSeries","yAxis","error","axis_opts","Dygraph","update","name","result","getGlobalUser_","getGlobalDefault_","DEFAULT_ATTRS","getForAxis","axisIdx","axisString","userAxis","axisOptions","defaultAxisOptions","axes","getForSeries","getHighlightSeries","seriesObj","seriesOptions","numAxes","axisForSeries","seriesForAxis","seriesNames","DygraphLayout","points","setNames","annotations","xTicks_","yTicks_","addDataset","setname","set_xy","getPlotArea","area_","computePlotArea","area","w","width_","getOption","h","height_","e","chart_div","graphDiv","reserveSpaceLeft","px","r","reserveSpaceRight","reserveSpaceTop","reserveSpaceBottom","chartRect","cascadeEvents_","setAnnotations","ann","parse","a","xval","icon","setXTicks","xTicks","setYAxes","yAxes","evaluate","_xAxis","_evaluateLimits","_evaluateLineCharts","_evaluateLineTicks","_evaluateAnnotations","xlimits","xAxisRange","minval","maxval","xrange","scale","getOptionForAxis","xlogrange","log10","xlogscale","minyval","computedValueRange","maxyval","yrange","yscale","ylogrange","ylogscale","isFinite","isNaN","g","calcXNormal_","value","xAxis","logscale","calcYNormal_","NaN","isStacked","isLogscaleForX","setIdx","setName","connectSeparated","axisPropertiesForSeries","attributes_","point","yval","y_stacked","yval_stacked","dataHandler_","onLineEvaluated","tick","label","pos","xticks","toPercentXCoord","v","yticks","ticks","toPercentYCoord","annotated_points","p","k","annotation","removeAllDatasets","setPointsLengths","setPointsOffsets","DygraphCanvasRenderer","element","elementContext","layout","height","width","isIE","isCanvasSupported","isUsingExcanvas_","_createIEClipArea","isAndroid","ctx","canvas_ctx_","rect","clip","hidden_ctx_","clear","context","clearDelay","cancel","clearRect","render","_updatePoints","_renderLineChart","createClipDiv","elem","document","createElement","className","style","backgroundColor","position","left","top","appendChild","childNodes","removeChild","bgColor","bgcolor","currentStyle","parentNode","plotArea","_getIteratorPredicate","connectSeparatedPoints","_predicateThatSkipsEmptyPoints","array","_drawStyledLine","color","strokeWidth","strokePattern","drawPoints","drawPointCallback","pointSize","stepPlot","getBooleanOption","isArrayLike","drawGapPoints","iter","createIterator","stroking","drawingContext","pointsOnLine","_drawSeries","_drawPointsOnLine","isIsolated","prevCanvasX","prevCanvasY","nextCanvasY","first","strokeStyle","lineWidth","arr","array_","limit","end_","predicate","predicate_","start_","canvasy","canvasx","nextIdx_","next","hasNext","peek","isNextCanvasYNullOrNaN","cb","sets","opt_seriesName","opt_ctx","colors","colorsMap_","plotter_attr","plotters","setPlotters","setPlotter","plotter","is_last","seriesIndex","seriesCount","singleSeriesName","allSeriesPoints","_Plotters","linePlotter","_linePlotter","fillPlotter","_fillPlotter","errorPlotter","_errorPlotter","borderWidth","getNumericOption","Circles","DEFAULT","errorBars","fillGraph","warn","newYs","fillAlpha","prevX","prevY","prevYs","rgb","toRGB_","err_color","b","fillStyle","isNullUndefinedOrNaN","y_bottom","y_top","closePath","fill","_fastCanvasProxy","pendingActions","lastRoundedX","LINE_TO","MOVE_TO","actionCount","compressActions","opt_losslessOnly","action","prevAction","splice","startIdx","minIdx","maxIdx","minAction","maxAction","flushActions","opt_noLossyCompression","addAction","rx","round","_count","getLabels","visibility","anySeriesFilled","currBaseline","prevStepPlot","setCount","stackedGraph","getColors","baseline","traceBackPath","baselineX","baselineY","pathBack","pt","axisY","last_x","is_first","isOK","lastY","div","data","opts","opt_fourth_param","is_initial_draw_","readyFns_","__old_init__","__init__","NAME","VERSION","__repr__","toString","DEFAULT_ROLL_PERIOD","DEFAULT_WIDTH","DEFAULT_HEIGHT","ANIMATION_STEPS","ANIMATION_DURATION","KMB_LABELS","KMG2_BIG_LABELS","KMG2_SMALL_LABELS","numberValueFormatter","sigFigs","floatFormat","digits","maxNumberWidth","kmb","kmg2","abs","pow","toExponential","round_","k_labels","m_labels","absx","n","x_parts","String","Number","toFixed","floor","numberAxisLabelFormatter","granularity","SHORT_MONTH_NAMES_","dateAxisLabelFormatter","date","utc","accessors","DateAccessorsUTC","DateAccessorsLocal","year","getFullYear","month","getMonth","day","getDate","hours","getHours","mins","getMinutes","secs","getSeconds","millis","DECADAL","MONTHLY","frac","DAILY","zeropad","hmsString_","dateAxisFormatter","dateValueFormatter","d","dateString_","Plotters","highlightCircleSize","highlightSeriesOpts","highlightSeriesBackgroundAlpha","labelsDivWidth","labelsDivStyles","labelsSeparateLines","labelsShowZeroValues","labelsKMB","labelsKMG2","showLabelsOnHighlight","digitsAfterDecimal","strokeBorderWidth","strokeBorderColor","axisTickSize","axisLabelFontSize","rightGap","showRoller","xValueParser","dateParser","delimiter","sigma","fractions","wilsonInterval","customBars","stackedGraphNaNFill","hideOverlayOnMouseOut","legend","avoidMinZero","xRangePad","yRangePad","drawAxesAtZero","titleHeight","xLabelHeight","yLabelWidth","drawXAxis","drawYAxis","axisLineColor","axisLineWidth","gridLineWidth","axisLabelColor","axisLabelWidth","drawYGrid","drawXGrid","gridLineColor","interactionModel","animatedZooms","showRangeSelector","rangeSelectorHeight","rangeSelectorPlotStrokeColor","rangeSelectorPlotFillColor","showInRangeSelector","plugins","pixelsPerLabel","axisLabelFormatter","valueFormatter","drawGrid","drawAxis","independentTicks","ticker","HORIZONTAL","VERTICAL","PLUGINS","addedAnnotationCSS","file","attrs","new_labels","test","navigator","userAgent","window","opera","readyState","self","setTimeout","mapLegacyOptions_","getElementById","maindiv_","file_","rollPeriod_","rollPeriod","previousVerticalX_","fractions_","dateWindow_","dateWindow","annotations_","zoomed_x_","zoomed_y_","innerHTML","clientHeight","clientWidth","updateDeep","boundaryIds_","setIndexByName_","datasetIndex_","registeredEvents_","eventListeners_","createInterface_","plugins_","concat","pluginInstance","Plugin","pluginDict","plugin","events","pluginOptions","handlers","activate","eventName","plugin_dict","callback","pair","createDragInterface_","extra_props","cancelable","defaultPrevented","preventDefault","propagationStopped","stopPropagation","callback_plugin_pairs","getPluginInstance_","type","isZoomed","maindiv","id","attr_","getStringOption","getFunctionOption","optionsViewForAxis_","opt","axes_","xAxisExtremes","pad","plotter_","numRows","rawData_","right","range","yAxisRange","yAxisRanges","ret","toDomCoords","toDomXCoord","toDomYCoord","xRange","pct","toDataCoords","toDataXCoord","toDataYCoord","logr0","logr1","exponent","LOG_SCALE","yRange","numColumns","getValue","row","col","enclosing","textAlign","canvas_","createCanvas","hidden_","createPlotKitCanvas_","getContext","resizeElements_","mouseEventElement_","createMouseEventElement_","layout_","mouseMoveHandler_","mouseMove_","mouseOutHandler_","target","fromElement","relatedTarget","toElement","isNodeContainedBy","mouseOut_","addAndTrackEvent","resizeHandler_","resize","canvasScale","getContextPixelRatio","hiddenScale","destroy","removeRecursive","node","hasChildNodes","firstChild","removeTrackedEvents_","removeEvent","nullOut","obj","canvas","filter","setColors_","num","colors_","sat","val","half","ceil","colorStr","hue","hsvToRGB","getPropertiesForSeries","series_name","column","visible","createRollInterface_","roller_","display","textAttr","zIndex","size","onchange","adjustRoll","isZooming","isPanning","is2DPan","dragStartX","dragStartY","dragEndX","dragEndY","dragDirection","prevEndX","prevEndY","prevDragDirection","cancelNextDblclick","initialLeftmostDate","xUnitsPerPixel","dateRange","py","boundedDates","boundedValues","tarp","IFrameTarp","initializeMouseDown","event","contextB","returnValue","cancelBubble","canvasPos","findPos","dragGetX_","dragGetY_","cover","draggingDate","draggingValue","dragValueRange","uncover","bindHandler","handler","willDestroyContextMyself","mouseUpHandler","drawZoomRect_","direction","startX","endX","startY","endY","prevDirection","min","fillRect","currentZoomRectArgs_","clearZoomRect_","doZoomX_","lowX","highX","minDate","maxDate","doZoomXDates_","old_window","new_window","that","doAnimatedZoom","doZoomY_","lowY","highY","oldValueRanges","newValueRanges","hi","low","zoomAnimationFunction","frame","numFrames","resetZoom","dirty","dirtyX","dirtyY","valueWindow","clearSelection","drawGraph_","oldWindow","newWindow","packed","gatherDatasets_","rolledSeries_","extremes","computeYAxisRanges_","valueRange","extremeRange","oldXRange","newXRange","oldYRanges","newYRanges","step","steps","windows","valueRanges","thisRange","repeatAndCleanup","getArea","eventToDomCoords","offsetX","offsetY","eventElementPos","pageX","pageY","findClosestRow","domX","minDistX","Infinity","closestRow","isValidPoint","dist","findClosestPoint","domY","closestPoint","closestSeries","minDist","findStackedPoint","boundary","getLeftBoundary_","rowIdx","p1","p2","p0","canvasCoords","selectionChanged","isSeriesLocked","closest","setSelection","lastx_","selPoints_","lastRow_","highlightSet_","animateSelection_","totalSteps","fadeLevel","animateId","start","updateSelection_","thisId","opt_animFraction","selectedX","selectedPoints","alpha","animateBackgroundFade","maxCircleSize","apply","circleSize","opt_locked","changed","setRow","pointIdx","lockedSet_","getSelection","loadedEvent_","parseCSV_","cascadeDataDidUpdateEvent_","predraw_","addXTicks_","xAxisOptionsView","getHandlerClass_","handlerClass","DataHandlers","FractionsBarsHandler","DefaultFractionHandler","CustomBarsHandler","ErrorBarsHandler","DefaultHandler","Date","computeYAxes_","extractSeries","rollingAverage","end","drawingTimeMs_","PointType","stackPoints_","cumulativeYval","seriesExtremes","fillMethod","lastXval","prevPoint","nextPoint","nextPointIdx","updateNextPoint","actualYval","stackedYval","rolledSeries","seriesIdx","sampleIdx","firstIdx","lastIdx","boundaryIds","num_series","high","correctedFirstIdx","isInvalidValue","correctedLastIdx","getExtremeYValues","seriesPoints","seriesToPoints","is_initial_draw","dataIdx","tmp_zoomed_x","renderGraph_","log","readyFired_","fn","valueWindows","index","idxCount","ypadCompat","span","ypad","p_axis","parseFloat","includeZero","extremeMinY","extremeMaxY","minY","maxY","max","maxAxisY","minAxisY","logpad","exp","y0","p_ticks","p_scale","tick_values","y_frac","y_val","detectTypeFromString_","str","isDate","dashPos","indexOf","setXAxisOptions_","dateTicker","numericTicks","vals","line_delimiter","detectLineDelimiter","lines","delim","xParser","line_no","defaultParserSet","expectedCols","outOfOrder","line","inFields","fields","parseFloat_","all_null","sort","parseArray_","num_labels","isDateLike","parsedData","clone","getTime","parseDataTable_","shortTextForAnnotationNum","shortText","fromCharCode","toLowerCase","cols","getNumberOfColumns","rows","getNumberOfRows","indepType","getColumnType","colIdx","annotationCols","hasAnnotations","getColumnLabel","text","getColumnRange","req","XMLHttpRequest","ActiveXObject","caller","onreadystatechange","status","responseText","open","send","updateOptions","input_attrs","block_redraw","requiresNewPoints","isPixelChangingOptionList","my_attrs","set","map","new_opt","resize_lock","old_width","old_height","setVisibility","suppressDraw","addAnnotationRule","indexFromSetName","ready","rule","styleSheetElement","getElementsByTagName","styleSheets","disabled","mysheet","insertRule","cssRules","addRule","err","LN_TEN","DOTTED_LINE","DASHED_LINE","DOT_DASH_LINE","addEvent","addEventListener","attachEvent","removeEventListener","detachEvent","reg","cancelEvent","saturation","red","green","blue","f","q","t","curleft","curtop","offsetParent","copyObj","borderLeft","borderTop","getComputedStyle","computedStyle","parseInt","offsetLeft","offsetTop","body","scrollLeft","scrollTop","de","documentElement","clientX","clientLeft","clientY","clientTop","opt_allowNaNY","opt_precision","toPrecision","getMilliseconds","getDay","makeDate","m","hh","mm","ss","ms","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","getUTCDay","UTC","time","places","shift","binarySearch","arry","validIndex","mid","dateStr","dateStrSlashed","search","dateStrToMillis","replace","substr","o","isNode","Node","nodeType","nodeName","typ","G_vmlCanvasManager","initElement","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","Iterator","nextIdx","found","opt_predicate","requestAnimFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","repeatFn","maxFrames","framePeriodInMillis","cleanupFn","previousFrameNumber","frameNumber","startTime","maxFrameArg","loop","currentTime","delayInMillis","frameDelta","predictOvershootStutter","pixelSafeOptions","annotationClickHandler","annotationDblClickHandler","annotationMouseOutHandler","annotationMouseOverHandler","clickCallback","drawCallback","drawHighlightPointCallback","highlightCallback","isZoomedIgnoreProgrammaticZoom","labelsDiv","panEdgeFraction","pixelsPerYLabel","pointClickCallback","underlayCallback","unhighlightCallback","zoomCallback","seriesNamesDictionary","scanFlatOptions","property","perSeries","radius","arc","PI","tarps","iframes","iframe","offsetWidth","offsetHeight","code","charAt","containee","container","containeeNode","base","rgbStr","bits","exec","opt_canvasElement","ie","appVersion","match","opt_line_no","opt_line","msg","GVizChart","draw","date_graph","selection_array","selection","DRAG_EDGE_MARGIN","Interaction","maybeTreatMouseOpAsClick","regionWidth","regionHeight","treatMouseOpAsClick","startPan","maxXPixelsToDraw","xExtremes","boundedLeftX","boundedRightX","boundedLeftDate","boundedRightDate","maxYPixelsToDraw","yExtremes","boundedTopY","boundedBottomY","boundedTopValue","boundedBottomValue","axis_data","initialTopValue","unitsPerPixel","movePan","pixelsDragged","unitsDragged","boundedValue","maxValue","minValue","endPan","startZoom","zoomMoved","moveZoom","xDelta","yDelta","selectedPoint","closestIdx","closestDistance","MAX_VALUE","distance","pts","endZoom","bottom","startTouch","touches","startTimeForDoubleTapMs","dataX","dataY","initialTouches","initialPinchCenter","touchDirections","initialAngle","initialRange","moveTouch","c_now","c_init","swipe","dataWidth","dataHeight","xScale","yScale","initHalfWidth","initHalfHeight","didZoom","viewWindow","endTouch","changedTouches","now","doubleTapX","screenX","doubleTapY","screenY","distanceFromInterval","distanceFromChart","chartPos","box","defaultModel","mousedown","button","altKey","shiftKey","mousemove","mouseup","touchstart","touchmove","touchend","dblclick","defaultInteractionModel","nonInteractiveModel_","dragIsPanInteractionModel","TickList","Ticker","numericLinearTicks","pixels","nonLogscaleOpts","tickV","nTicks","pixels_per_tick","PREFERRED_LOG_TICK_VALUES","lastDisplayed","tickValue","pixel_coord","reverse","mults","low_val","high_val","spacing","max_ticks","units_per_tick","base_power","base_scale","formatter","chosen","pickDateTickGranularity","getDateAxis","SECONDLY","TWO_SECONDLY","FIVE_SECONDLY","TEN_SECONDLY","THIRTY_SECONDLY","MINUTELY","TWO_MINUTELY","FIVE_MINUTELY","TEN_MINUTELY","THIRTY_MINUTELY","HOURLY","TWO_HOURLY","SIX_HOURLY","TWO_DAILY","WEEKLY","QUARTERLY","BIANNUAL","ANNUAL","CENTENNIAL","NUM_GRANULARITIES","DATEFIELD_Y","DATEFIELD_M","DATEFIELD_D","DATEFIELD_HH","DATEFIELD_MM","DATEFIELD_SS","DATEFIELD_MS","NUM_DATEFIELDS","TICK_PLACEMENT","datefield","power","mult","num_ticks","numDateTicks","start_time","end_time","dg","start_date","date_array","start_date_offset","df","tick_date","tick_time","Plugins","Annotations","clearChart","didDrawChart","detachLabels","containerDiv","annotationStyle","fontSize","overflow","bindEvt","classEventName","annotation_event","xToUsedHeight","tick_height","tickHeight","cssClass","img","src","createTextNode","divTop","attachAtBottom","title","borderColor","Axes","xlabels_","ylabels_","willDrawChart","removeArray","ary","el","halfUp","halfDown","canvasWidth","canvasHeight","makeLabelStyle","lineHeight","labelStyles","makeDiv","txt","prec_axis","labelStyle","inner_div","makeOptionGetter","option","num_axes","getOptions","sgn","getAxisOption","bottomTick","axisX","ChartLabels","chart_labels","title_div_","xlabel_div_","ylabel_div_","y2label_div_","createDivInRect","detachLabels_","els","createRotatedDiv","classes","html","transform","WebkitTransform","MozTransform","OTransform","msTransform","documentMode","class_div","title_rect","fontWeight","x_rect","y_rect","y2_rect","children","Grid","grid","strokeStyles","lineWidths","Legend","legend_div_","is_generated_div_","generateLegendDashHTML","divWidth","userLabelsDiv","messagestyle","background","one_em_width_","select","deselect","predraw","calculateEmWidthInDiv","sizeSpan","setAttribute","oneEmWidth","escapeHTML","xValue","legendMode","yAxisLabelWidth","leftLegend","topLegend","scrollX","innerWidth","generateLegendHTML","sel_points","sepLines","dash","xOptView","xvf","yOptViews","showZeros","highlightSeries","yOptView","fmtFunc","cls","paddingLeft","marginRight","strokePixelLength","segmentLoop","normalizedPattern","RangeSelector","rangeSelector","isIE_","hasTouchInterface_","isMobileDevice_","interfaceCreated_","getOption_","reserveSpace_","renderStaticLayer_","renderInteractiveLayer_","bgcanvas_","fgcanvas_","leftZoomHandle_","rightZoomHandle_","iePanOverlay_","opt_series","setDefaultOption_","createCanvases_","createIEPanOverlay_","createZoomHandles_","initInteraction_","addToGraph_","graphDiv_","removeFromGraph_","updateVisibility_","resize_","drawStaticLayer_","isChangingRange_","placeZoomHandles_","drawInteractiveLayer_","enabled","setElementRect","xAxisLabelHeight","canvasRect_","bgcanvas_ctx_","fgcanvas_ctx_","cursor","Image","border","cloneNode","toXDataWindow","onZoomStart","onZoom","onZoomEnd","doZoom","isMouseInPanZone","onPanStart","onPan","onPanEnd","doPan","onCanvasHover","onZoomHandleTouchEvent","onCanvasTouchEvent","addTouchEvents","topElem","clientXLast","handle","dynamic","zoomHandleStatus","xDataLimits","fact","xDataMin","leftHandlePos","xDataMax","rightHandlePos","srcElement","delX","newPos","getZoomHandleStatus_","halfHandleWidth","xDataWindow","getBoundingClientRect","leftHandleClientX","rightHandleClientX","rangeSize","targetTouches","types","dragStartEvent","drawMiniPlot_","ex","margin","combinedSeriesData","computeCombinedSeriesAndLimits_","yMax","yMin","xFact","yFact","dataPoint","lingrad","createLinearGradient","addColorStop","includeSeries","Array","anySet","include","dataHandler","combinedSeries","sum","count","yVal","extraPercent","yExtra","MIN_VALUE","xWindowLimits","leftPercent","rightPercent","leftCoord","rightCoord","handleTop","leftHandleCanvasPos","rightHandleCanvasPos","DataHandler","X","EXTRAS","boundaryIdStart","item","yraw","onPointsCreated_","computeYInterpolation_","deltaY","deltaX","gradient","growth","getIndexesInWindow_","rawData","logScale","originalData","num_ok","rollingData","den","BarsHandler","yval_minus","yval_plus","prev","variance","stddev","pm","denom"],"mappings":";CAGA,SAAUA,GACR,YAQA,KAPA,GAAIC,GAAMC,EACNC,KACAC,EAAQ,aACRC,EAAa,SAASC,MAAM,KAC5BC,EAAU,wMAE0DD,MAAM,KACvEL,EAAOI,EAAWG,OAAOR,EAAIC,GAAQD,EAAIC,IAASE,CACzD,MAAOD,EAASK,EAAQC,OAAOR,EAAIE,GAAUF,EAAIE,IAAWE,GAC3DK,KAAKC,QAAUD,KAAKC,aCRvB,WACA,YA2CAC,0BAAyBC,UAAUC,eAAiB,SAASC,GAC3D,GAAwC,mBAA7BL,MAAuB,mBAChC,KAAM,+DAERA,MAAKM,oBAAqB,CAE1B,IAAIC,IAAuB,EAAG,GAI1BC,KAGAC,EAAgBT,KAAKU,UACrBC,EAAaX,KAAKY,OAClBC,EAAab,KAAKc,OAClBC,EAAaf,KAAKgB,MAGtBhB,MAAKiB,iBAAmB,WACtBjB,KAAKU,UAAYD,EACjBT,KAAKY,OAASD,EACdX,KAAKc,OAASD,EACdb,KAAKgB,OAASD,EACdf,KAAKiB,iBAAmBC,OACxBlB,KAAKM,mBAAqBY,QAI5BlB,KAAKU,UAAY,WACfF,KACAC,EAAcU,KAAKnB,OAErBA,KAAKc,OAAS,SAASM,EAAGC,GACxBb,EAASc,OAAOF,EAAGC,KACnBR,EAAWM,KAAKnB,KAAMoB,EAAGC,IAE3BrB,KAAKY,OAAS,SAASQ,EAAGC,GACxB,GAAIE,GAAOf,EAASA,EAASgB,OAAS,EACtCD,GAAKD,MAAMF,EAAGC,KAGhBrB,KAAKgB,OAAS,WACZ,GAAwB,IAApBR,EAASgB,OAIX,WADAT,GAAWI,KAAKnB,KAIlB,KAAK,GAAIyB,GAAI,EAAGA,EAAIjB,EAASgB,OAAQC,IAGnC,IAAK,GAFDC,GAAMlB,EAASiB,GACfE,EAAKD,EAAI,GAAG,GAAIE,EAAKF,EAAI,GAAG,GACvBG,EAAI,EAAGA,EAAIH,EAAIF,OAAQK,IAAK,CAEnC,GAAIC,GAAKJ,EAAIG,GAAG,GAAIE,EAAKL,EAAIG,GAAG,EAChC7B,MAAKgC,MAGL,IAAIC,GAAMH,EAAGH,EACTO,EAAMH,EAAGH,EACTO,EAAMC,KAAKC,KAAKJ,EAAGA,EAAKC,EAAGA,GAC3BI,EAAMF,KAAKG,MAAML,EAAID,EAGzBjC,MAAKwC,UAAUb,EAAIC,GACnBf,EAAWM,KAAKnB,KAAM,EAAG,GACzBA,KAAKyC,OAAOH,EAKZ,KAFA,GAAII,GAAenC,EAAoB,GACnCa,EAAI,EACDe,EAAMf,GAAG,CAEd,GAAIuB,GAAUtC,EAAQqC,EAKpBtB,IADEb,EAAoB,GACjBA,EAAoB,GAEpBoC,EAGHvB,EAAIe,GAIN5B,GAAuBmC,EAActB,EAAEe,GACvCf,EAAIe,GAIJ5B,IAAwBmC,EAAa,GAAGrC,EAAQmB,OAAQ,GAKtDkB,EAAe,IAAM,EACvB/B,EAAWQ,KAAKnB,KAAMoB,EAAG,GAEzBP,EAAWM,KAAKnB,KAAMoB,EAAG,GAK3BsB,GAAgBA,EAAa,GAAKrC,EAAQmB,OAG5CxB,KAAK4C,UACLjB,EAAKG,EACLF,EAAKG,EAGThB,EAAWI,KAAKnB,MAChBQ,OASJN,yBAAyBC,UAAUc,iBAAmB,WAEpD,KAAM,yDCpKR,IAAI4B,gBAAiB,WAOrB,MAAO,YAKP,YAmBA,IAAIA,GAAiB,SAASC,GAK5B9C,KAAK+C,SAAWD,EAMhB9C,KAAKgD,UAQLhD,KAAKiD,UACLjD,KAAKkD,WAGLlD,KAAKmD,QAAUnD,KAAK+C,SAASK,OAC7BpD,KAAKqD,MAAQrD,KAAK+C,SAASO,gBAM3BtD,KAAKuD,WAELvD,KAAKwD,iBAAmBxD,KAAKyD,IAAI,2BACjCzD,KAAK0D,gBAUPb,GAAec,uBACbtC,EAAM,EACNuC,EAAM,EACNhC,GAAO,EACPiC,GAAO,EACP9B,GAAO,EACP+B,GAAO,GAOTjB,EAAekB,aAAe,SAASC,GACrC,GAAoB,gBAAV,GAAoB,CAC5B,GAAInB,EAAec,sBAAsBM,eAAeD,GACtD,MAAOnB,GAAec,sBAAsBK,EAE9C,MAAM,kBAAoBA,EAE5B,GAAoB,gBAAV,GAAoB,CAC5B,GAAa,IAATA,GAAuB,IAATA,EAChB,MAAOA,EAET,MAAM,uDAER,GAAIA,EACF,KAAM,kBAAoBA,CAG5B,OAAO,IASTnB,EAAe1C,UAAUuD,cAAgB,WACvC,GAAIQ,GAASlE,KAAKyD,IAAI,SACtB,IAAKS,EAAL,CAIAlE,KAAKuD,QAAUW,EAAOC,MAAM,GAE5BnE,KAAKgD,SAAaoB,UAAaC,aAC/BrE,KAAKiD,QAAWoB,YAChBrE,KAAKkD,UAwBL,IAAIoB,IAAkBtE,KAAKqD,MAAc,MAEzC,IAAIiB,EAAgB,CAGlB,IAAK,GAFDC,GAAS,EAEJC,EAAM,EAAGA,EAAMxE,KAAKuD,QAAQ/B,OAAQgD,IAAO,CAClD,GAAIC,GAAazE,KAAKuD,QAAQiB,GAE1BE,EAAmB1E,KAAKqD,MAAMoB,OAE9BE,EAAQ,EACRX,EAAOU,EAAuB,IACd,iBAAV,KACRC,IAAUJ,EACVvE,KAAKgD,OAAO2B,IAAWP,QAAWK,GAAcJ,QAAUL,IAIvDA,GACHhE,KAAKgD,OAAO,GAAGoB,OAAO9C,KAAKmD,GAG7BzE,KAAKkD,QAAQuB,IAAgBD,IAAKA,EAAKG,MAAOA,EAAON,QAAUK,GAKjE,IAAK,GAAIF,GAAM,EAAGA,EAAMxE,KAAKuD,QAAQ/B,OAAQgD,IAAO,CAClD,GAAIC,GAAazE,KAAKuD,QAAQiB,GAC1BE,EAAmB1E,KAAKkD,QAAQuB,GAAqB,QACrDT,EAAOU,EAAuB,IAElC,IAAoB,gBAAV,GAAoB,CAC5B,IAAK1E,KAAKkD,QAAQe,eAAeD,GAG/B,WAFA/D,SAAQ2E,MAAM,UAAYH,EAAa,wCAChBT,EAAO,wCAGhC,IAAIW,GAAQ3E,KAAKkD,QAAQc,GAAMW,KAC/B3E,MAAKkD,QAAQuB,GAAYE,MAAQA,EACjC3E,KAAKgD,OAAO2B,GAAOP,OAAO9C,KAAKmD,SAInC,KAAK,GAAID,GAAM,EAAGA,EAAMxE,KAAKuD,QAAQ/B,OAAQgD,IAAO,CAClD,GAAIC,GAAazE,KAAKuD,QAAQiB,GAC1BE,EAAmB1E,KAAKqD,MAAMe,OAAOK,OACrCE,EAAQ9B,EAAekB,aAAaW,EAAuB,KAE/D1E,MAAKkD,QAAQuB,IACXD,IAAKA,EACLG,MAAOA,EACPN,QAAUK,GAEP1E,KAAKgD,OAAO2B,GAGf3E,KAAKgD,OAAO2B,GAAOP,OAAO9C,KAAKmD,GAF/BzE,KAAKgD,OAAO2B,IAAYP,QAAWK,GAAcJ,YAOvD,GAAIQ,GAAY7E,KAAKqD,MAAY,QACjCyB,SAAQC,OAAO/E,KAAKgD,OAAO,GAAGqB,QAASQ,EAAa,OAChD7E,KAAKgD,OAAOxB,OAAS,GACvBsD,QAAQC,OAAO/E,KAAKgD,OAAO,GAAGqB,QAASQ,EAAc,QAEvDC,QAAQC,OAAO/E,KAAKiD,OAAOoB,QAASQ,EAAa,SAUnDhC,EAAe1C,UAAUsD,IAAM,SAASuB,GACtC,GAAIC,GAASjF,KAAKkF,eAAeF,EACjC,OAAe,QAAXC,EACKA,EAEFjF,KAAKmF,kBAAkBH,IAGhCnC,EAAe1C,UAAU+E,eAAiB,SAASF,GACjD,MAAIhF,MAAKqD,MAAMY,eAAee,GACrBhF,KAAKqD,MAAM2B,GAEb,MAGTnC,EAAe1C,UAAUgF,kBAAoB,SAASH,GACpD,MAAIhF,MAAKmD,QAAQc,eAAee,GACvBhF,KAAKmD,QAAQ6B,GAElBF,QAAQM,cAAcnB,eAAee,GAChCF,QAAQM,cAAcJ,GAExB,MAWTnC,EAAe1C,UAAUkF,WAAa,SAASL,EAAMhB,GACnD,GAAIsB,GACAC,CAGJ,IAAoB,gBAAV,GACRD,EAAUtB,EACVuB,EAAyB,IAAZD,EAAgB,IAAM,SAC9B,CAEL,GADY,MAARtB,IAAgBA,EAAO,KACf,KAARA,EACFsB,EAAU,MACL,IAAY,MAARtB,EACTsB,EAAU,MACL,CAAA,GAAY,KAARtB,EAGT,KAAM,gBAAkBA,CAFxBsB,GAAU,GAIZC,EAAavB,EAGf,GAAIwB,GAAuB,IAAXF,EAAiBtF,KAAKiD,OAASjD,KAAKgD,OAAOsC,EAG3D,IAAIE,EAAU,CACZ,GAAIC,GAAcD,EAASnB,OAC3B,IAAIoB,EAAYxB,eAAee,GAC7B,MAAOS,GAAYT,GAMvB,GAAe,MAAThB,GAAyB,aAATgB,EAAsB,CAC1C,GAAIC,GAASjF,KAAKkF,eAAeF,EACjC,IAAe,OAAXC,EACF,MAAOA,GAIX,GAAIS,GAAqBZ,QAAQM,cAAcO,KAAKJ,EACpD,OAAIG,GAAmBzB,eAAee,GAC7BU,EAAmBV,GAIrBhF,KAAKmF,kBAAkBH,IAUhCnC,EAAe1C,UAAUyF,aAAe,SAASZ,EAAMZ,GAErD,GAAIA,IAAWpE,KAAK+C,SAAS8C,sBACvB7F,KAAKwD,iBAAiBS,eAAee,GACvC,MAAOhF,MAAKwD,iBAAiBwB,EAIjC,KAAKhF,KAAKkD,QAAQe,eAAeG,GAC/B,KAAM,mBAAqBA,CAG7B,IAAI0B,GAAY9F,KAAKkD,QAAQkB,GACzB2B,EAAgBD,EAAmB,OACvC,OAAIC,GAAc9B,eAAee,GACxBe,EAAcf,GAGhBhF,KAAKqF,WAAWL,EAAMc,EAAiB,QAOhDjD,EAAe1C,UAAU6F,QAAU,WACjC,MAAOhG,MAAKgD,OAAOxB,QAMrBqB,EAAe1C,UAAU8F,cAAgB,SAAS7B,GAChD,MAAOpE,MAAKkD,QAAQkB,GAAQO,OAO9B9B,EAAe1C,UAAUsF,YAAc,SAASd,GAC9C,MAAO3E,MAAKgD,OAAO2B,GAAON,SAM5BxB,EAAe1C,UAAU+F,cAAgB,SAASvB,GAChD,MAAO3E,MAAKgD,OAAO2B,GAAOP,QAM5BvB,EAAe1C,UAAUgG,YAAc,WACrC,MAAOnG,MAAKuD,QAyEd,OAAOV,SC3bHuD,cAAgB,WAGpB,YAkBA,IAAIA,GAAgB,SAAStD,GAC3B9C,KAAK+C,SAAWD,EAYhB9C,KAAKqG,UACLrG,KAAKsG,YACLtG,KAAKuG,eACLvG,KAAKgD,OAAS,KAIdhD,KAAKwG,QAAU,KACfxG,KAAKyG,QAAU,KAuSjB,OA9RAL,GAAcjG,UAAUuG,WAAa,SAASC,EAASC,GACrD5G,KAAKqG,OAAO/E,KAAKsF,GACjB5G,KAAKsG,SAAShF,KAAKqF,IASrBP,EAAcjG,UAAU0G,YAAc,WACpC,MAAO7G,MAAK8G,OAMdV,EAAcjG,UAAU4G,gBAAkB,WACxC,GAAIC,IAEF5F,EAAG,EACHC,EAAG,EAGL2F,GAAKC,EAAIjH,KAAK+C,SAASmE,OAASF,EAAK5F,EAAIpB,KAAK+C,SAASoE,UAAU,YACjEH,EAAKI,EAAIpH,KAAK+C,SAASsE,OAGvB,IAAIC,IACFC,UAAWvH,KAAK+C,SAASyE,SACzBC,iBAAkB,SAASC,GACzB,GAAIC,IACFvG,EAAG4F,EAAK5F,EACRC,EAAG2F,EAAK3F,EACR4F,EAAGS,EACHN,EAAGJ,EAAKI,EAIV,OAFAJ,GAAK5F,GAAKsG,EACVV,EAAKC,GAAKS,EACHC,GAETC,kBAAmB,SAASF,GAC1B,GAAIC,IACFvG,EAAG4F,EAAK5F,EAAI4F,EAAKC,EAAIS,EACrBrG,EAAG2F,EAAK3F,EACR4F,EAAGS,EACHN,EAAGJ,EAAKI,EAGV,OADAJ,GAAKC,GAAKS,EACHC,GAETE,gBAAiB,SAASH,GACxB,GAAIC,IACFvG,EAAG4F,EAAK5F,EACRC,EAAG2F,EAAK3F,EACR4F,EAAGD,EAAKC,EACRG,EAAGM,EAIL,OAFAV,GAAK3F,GAAKqG,EACVV,EAAKI,GAAKM,EACHC,GAETG,mBAAoB,SAASJ,GAC3B,GAAIC,IACFvG,EAAG4F,EAAK5F,EACRC,EAAG2F,EAAK3F,EAAI2F,EAAKI,EAAIM,EACrBT,EAAGD,EAAKC,EACRG,EAAGM,EAGL,OADAV,GAAKI,GAAKM,EACHC,GAETI,UAAW,WACT,OAAQ3G,EAAE4F,EAAK5F,EAAGC,EAAE2F,EAAK3F,EAAG4F,EAAED,EAAKC,EAAGG,EAAEJ,EAAKI,IAGjDpH,MAAK+C,SAASiF,eAAe,SAAUV,GAEvCtH,KAAK8G,MAAQE,GAGfZ,EAAcjG,UAAU8H,eAAiB,SAASC,GAGhDlI,KAAKuG,cAEL,KAAK,GADD4B,GAAQnI,KAAK+C,SAASoE,UAAU,iBAAmB,SAAS/F,GAAK,MAAOA,IACnEK,EAAI,EAAGA,EAAIyG,EAAI1G,OAAQC,IAAK,CACnC,GAAI2G,KACJ,KAAKF,EAAIzG,GAAG4G,MAAqBnH,SAAbgH,EAAIzG,GAAGL,EAEzB,WADAnB,SAAQ2E,MAAM,wCAGhB,IAAIsD,EAAIzG,GAAG6G,QACLJ,EAAIzG,GAAGwC,eAAe,WACtBiE,EAAIzG,GAAGwC,eAAe,WAG1B,WAFAhE,SAAQ2E,MAAM,kEAIhBE,SAAQC,OAAOqD,EAAGF,EAAIzG,IACjB2G,EAAEC,OAAMD,EAAEC,KAAOF,EAAMC,EAAEhH,IAC9BpB,KAAKuG,YAAYjF,KAAK8G,KAI1BhC,EAAcjG,UAAUoI,UAAY,SAASC,GAC3CxI,KAAKwG,QAAUgC,GAIjBpC,EAAcjG,UAAUsI,SAAW,SAAUC,GAC3C1I,KAAKgD,OAAS0F,GAGhBtC,EAAcjG,UAAUwI,SAAW,WACjC3I,KAAK4I,UACL5I,KAAK6I,kBACL7I,KAAK8I,sBACL9I,KAAK+I,qBACL/I,KAAKgJ,wBAGP5C,EAAcjG,UAAU0I,gBAAkB,WACxC,GAAII,GAAUjJ,KAAK+C,SAASmG,YAC5BlJ,MAAK4I,OAAOO,OAASF,EAAQ,GAC7BjJ,KAAK4I,OAAOQ,OAASH,EAAQ,EAC7B,IAAII,GAASJ,EAAQ,GAAKA,EAAQ,EAClCjJ,MAAK4I,OAAOU,MAAoB,IAAXD,EAAe,EAAIA,EAAS,EAE7CrJ,KAAK+C,SAASwG,iBAAiB,WAAY,OAC7CvJ,KAAK4I,OAAOY,UAAY1E,QAAQ2E,MAAMzJ,KAAK4I,OAAOQ,QAAUtE,QAAQ2E,MAAMzJ,KAAK4I,OAAOO,QACtFnJ,KAAK4I,OAAOc,UAAuC,IAA1B1J,KAAK4I,OAAOY,UAAkB,EAAMxJ,KAAK4I,OAAOY,UAAY,EAEvF,KAAK,GAAI/H,GAAI,EAAGA,EAAIzB,KAAKgD,OAAOxB,OAAQC,IAAK,CAC3C,GAAIuC,GAAOhE,KAAKgD,OAAOvB,EACvBuC,GAAK2F,QAAU3F,EAAK4F,mBAAmB,GACvC5F,EAAK6F,QAAU7F,EAAK4F,mBAAmB,GACvC5F,EAAK8F,OAAS9F,EAAK6F,QAAU7F,EAAK2F,QAClC3F,EAAK+F,OAA0B,IAAhB/F,EAAK8F,OAAe,EAAM9F,EAAK8F,OAAS,EAEnD9J,KAAK+C,SAASoE,UAAU,cAC1BnD,EAAKgG,UAAYlF,QAAQ2E,MAAMzF,EAAK6F,SAAW/E,QAAQ2E,MAAMzF,EAAK2F,SAClE3F,EAAKiG,UAAgC,IAAnBjG,EAAKgG,UAAkB,EAAMhG,EAAKgG,UAAY,IAC3DE,SAASlG,EAAKgG,YAAcG,MAAMnG,EAAKgG,aAC1C/J,QAAQ2E,MAAM,QAAUnD,EAAI,gBAAkBuC,EAAKoG,EACrC,+CACApG,EAAK2F,QAAU,MAAQ3F,EAAK6F,QAAU,QAM5DzD,EAAciE,aAAe,SAASC,EAAOC,EAAOC,GAClD,MAAIA,IACO1F,QAAQ2E,MAAMa,GAASxF,QAAQ2E,MAAMc,EAAMpB,SAAWoB,EAAMb,WAE7DY,EAAQC,EAAMpB,QAAUoB,EAAMjB,OAU1ClD,EAAcqE,aAAe,SAASzG,EAAMsG,EAAOE,GACjD,GAAIA,EAAU,CACZ,GAAIpJ,GAAI,GAAQ0D,QAAQ2E,MAAMa,GAASxF,QAAQ2E,MAAMzF,EAAK2F,UAAY3F,EAAKiG,SAC3E,OAAOC,UAAS9I,GAAKA,EAAIsJ,IAEzB,MAAO,IAAQJ,EAAQtG,EAAK2F,SAAW3F,EAAK+F,QAIhD3D,EAAcjG,UAAU2I,oBAAsB,WAI5C,IAAK,GAHD6B,GAAY3K,KAAK+C,SAASoE,UAAU,gBACpCyD,EAAiB5K,KAAK+C,SAASwG,iBAAiB,WAAY,KAEvDsB,EAAS,EAAGA,EAAS7K,KAAKqG,OAAO7E,OAAQqJ,IAAU,CAQ1D,IAAK,GAPDxE,GAASrG,KAAKqG,OAAOwE,GACrBC,EAAU9K,KAAKsG,SAASuE,GACxBE,EAAmB/K,KAAK+C,SAASoE,UAAU,yBAA0B2D,GACrE9G,EAAOhE,KAAK+C,SAASiI,wBAAwBF,GAE7CN,EAAWxK,KAAK+C,SAASkI,YAAYrF,aAAa,WAAYkF,GAEzDjJ,EAAI,EAAGA,EAAIwE,EAAO7E,OAAQK,IAAK,CACtC,GAAIqJ,GAAQ7E,EAAOxE,EAGnBqJ,GAAM9J,EAAIgF,EAAciE,aAAaa,EAAM7C,KAAMrI,KAAK4I,OAAQgC,EAE9D,IAAIO,GAAOD,EAAMC,IACbR,KACFO,EAAME,UAAYhF,EAAcqE,aAC5BzG,EAAMkH,EAAMG,aAAcb,GACjB,OAATW,GAAkBhB,MAAMgB,KAC1BA,EAAOD,EAAMG,eAGJ,OAATF,IACFA,EAAOT,IACFK,IACHG,EAAMC,KAAOT,MAGjBQ,EAAM7J,EAAI+E,EAAcqE,aAAazG,EAAMmH,EAAMX,GAGnDxK,KAAK+C,SAASuI,aAAaC,gBAAgBlF,EAAQrC,EAAMwG,KAI7DpE,EAAcjG,UAAU4I,mBAAqB,WAC3C,GAAItH,GAAG+J,EAAMC,EAAOC,CAEpB,KADA1L,KAAK2L,UACAlK,EAAI,EAAGA,EAAIzB,KAAKwG,QAAQhF,OAAQC,IACnC+J,EAAOxL,KAAKwG,QAAQ/E,GACpBgK,EAAQD,EAAKC,MACbC,EAAM1L,KAAK+C,SAAS6I,gBAAgBJ,EAAKK,GACpCH,GAAO,GAAe,EAANA,GACnB1L,KAAK2L,OAAOrK,MAAMoK,EAAKD,GAK3B,KADAzL,KAAK8L,UACArK,EAAI,EAAGA,EAAIzB,KAAKgD,OAAOxB,OAAQC,IAElC,IAAK,GADDuC,GAAOhE,KAAKgD,OAAOvB,GACdI,EAAI,EAAGA,EAAImC,EAAK+H,MAAMvK,OAAQK,IACrC2J,EAAOxH,EAAK+H,MAAMlK,GAClB4J,EAAQD,EAAKC,MACbC,EAAM1L,KAAK+C,SAASiJ,gBAAgBR,EAAKK,EAAGpK,GACvCiK,EAAM,GAAgB,GAAPA,GAClB1L,KAAK8L,OAAOxK,MAAMG,EAAGiK,EAAKD,KAMlCrF,EAAcjG,UAAU6I,qBAAuB,WAG7C,GAAIvH,GACA8E,IACJ,KAAK9E,EAAI,EAAGA,EAAIzB,KAAKuG,YAAY/E,OAAQC,IAAK,CAC5C,GAAI2G,GAAIpI,KAAKuG,YAAY9E,EACzB8E,GAAY6B,EAAEC,KAAO,IAAMD,EAAEhE,QAAUgE,EAMzC,GAHApI,KAAKiM,oBAGAjM,KAAKuG,aAAgBvG,KAAKuG,YAAY/E,OAK3C,IAAK,GAAIqJ,GAAS,EAAGA,EAAS7K,KAAKqG,OAAO7E,OAAQqJ,IAAU,CAC1D,GAAIxE,GAASrG,KAAKqG,OAAOwE,EACzB,KAAKpJ,EAAI,EAAGA,EAAI4E,EAAO7E,OAAQC,IAAK,CAClC,GAAIyK,GAAI7F,EAAO5E,GACX0K,EAAID,EAAE7D,KAAO,IAAM6D,EAAElH,IACrBmH,KAAK5F,KACP2F,EAAEE,WAAa7F,EAAY4F,GAC3BnM,KAAKiM,iBAAiB3K,KAAK4K,OASnC9F,EAAcjG,UAAUkM,kBAAoB,iBACnCrM,MAAKqG,aACLrG,MAAKsG,eACLtG,MAAKsM,uBACLtM,MAAKuM,iBACZvM,KAAKqG,UACLrG,KAAKsG,YACLtG,KAAKsM,oBACLtM,KAAKuM,qBAGAnG,KClUHoG,sBAAwB,WAE5B,YAoBA,IAAIA,GAAwB,SAAS1J,EAAS2J,EAASC,EAAgBC,GAYrE,GAXA3M,KAAK+C,SAAWD,EAEhB9C,KAAK2M,OAASA,EACd3M,KAAKyM,QAAUA,EACfzM,KAAK0M,eAAiBA,EAEtB1M,KAAK4M,OAAS9J,EAAQuE,QACtBrH,KAAK6M,MAAQ/J,EAAQoE,QAIhBlH,KAAK8M,OAAUhI,QAAQiI,kBAAkB/M,KAAKyM,SAC/C,KAAM,0BAOV,IAJAzM,KAAKgH,KAAO2F,EAAO9F,cAIf7G,KAAK+C,SAASiK,iBAChBhN,KAAKiN,wBAIL,KAAKnI,QAAQoI,YAAa,CACxB,GAAIC,GAAMnN,KAAK+C,SAASqK,WACxBD,GAAIzM,YACJyM,EAAIE,KAAKrN,KAAKgH,KAAK5F,EAAGpB,KAAKgH,KAAK3F,EAAGrB,KAAKgH,KAAKC,EAAGjH,KAAKgH,KAAKI,GAC1D+F,EAAIG,OAEJH,EAAMnN,KAAK+C,SAASwK,YACpBJ,EAAIzM,YACJyM,EAAIE,KAAKrN,KAAKgH,KAAK5F,EAAGpB,KAAKgH,KAAK3F,EAAGrB,KAAKgH,KAAKC,EAAGjH,KAAKgH,KAAKI,GAC1D+F,EAAIG,QAs2BV,OA31BAd,GAAsBrM,UAAUqN,MAAQ,WACtC,GAAIC,EACJ,IAAIzN,KAAK8M,KAEP,IACM9M,KAAK0N,aACP1N,KAAK0N,WAAWC,SAChB3N,KAAK0N,WAAa,MAEpBD,EAAUzN,KAAK0M,eAEjB,MAAOpF,GAIL,OAIJmG,EAAUzN,KAAK0M,eACfe,EAAQG,UAAU,EAAG,EAAG5N,KAAK6M,MAAO7M,KAAK4M,SAU3CJ,EAAsBrM,UAAU0N,OAAS,WAEvC7N,KAAK8N,gBAGL9N,KAAK+N,oBAGPvB,EAAsBrM,UAAU8M,kBAAoB,WAuBlD,QAASe,GAAchH,GACrB,GAAe,IAAXA,EAAKC,GAAsB,IAAXD,EAAKI,EAAzB,CAGA,GAAI6G,GAAOC,SAASC,cAAc,MAClCF,GAAKG,UAAYA,EACjBH,EAAKI,MAAMC,gBAAkBA,EAC7BL,EAAKI,MAAME,SAAW,WACtBN,EAAKI,MAAMG,KAAOxH,EAAK5F,EAAI,KAC3B6M,EAAKI,MAAMI,IAAMzH,EAAK3F,EAAI,KAC1B4M,EAAKI,MAAMxB,MAAQ7F,EAAKC,EAAI,KAC5BgH,EAAKI,MAAMzB,OAAS5F,EAAKI,EAAI,KAC7BI,EAASkH,YAAYT,IA9BvB,IAAK,GAJDG,GAAY,mBACZ5G,EAAWxH,KAAK+C,SAASyE,SAGpB/F,EAAI+F,EAASmH,WAAWnN,OAAO,EAAGC,GAAK,EAAGA,IAC7C+F,EAASmH,WAAWlN,GAAG2M,WAAaA,GACtC5G,EAASoH,YAAYpH,EAASmH,WAAWlN,GAO7C,KAFA,GAAI6M,GAAkBJ,SAASW,QAC3BpC,EAAUzM,KAAK+C,SAASyE,SACrBiF,GAAWyB,UAAU,CAC1B,GAAIY,GAAUrC,EAAQsC,aAAaT,eACnC,IAAIQ,GAAsB,eAAXA,EAA0B,CACvCR,EAAkBQ,CAClB,OAEFrC,EAAUA,EAAQuC,WAkBpB,GAAIC,GAAWjP,KAAKgH,IAEpBgH,IACE5M,EAAE,EAAGC,EAAE,EACP4F,EAAEgI,EAAS7N,EACXgG,EAAEpH,KAAK4M,SAIToB,GACE5M,EAAG6N,EAAS7N,EAAGC,EAAG,EAClB4F,EAAGjH,KAAK6M,MAAQoC,EAAS7N,EACzBgG,EAAG6H,EAAS5N,IAId2M,GACE5M,EAAG6N,EAAS7N,EAAI6N,EAAShI,EAAG5F,EAAG,EAC/B4F,EAAGjH,KAAK6M,MAAQoC,EAAS7N,EAAI6N,EAAShI,EACtCG,EAAGpH,KAAK4M,SAIVoB,GACE5M,EAAG6N,EAAS7N,EACZC,EAAG4N,EAAS5N,EAAI4N,EAAS7H,EACzBH,EAAGjH,KAAK6M,MAAQoC,EAAS7N,EACzBgG,EAAGpH,KAAK4M,OAASqC,EAAS7H,EAAI6H,EAAS5N,KAW3CmL,EAAsB0C,sBAAwB,SAASC,GACrD,MAAOA,GACH3C,EAAsB4C,+BACtB,MAGN5C,EAAsB4C,+BAClB,SAASC,EAAO7K,GAClB,MAA2B,QAApB6K,EAAM7K,GAAK2G,MAQpBqB,EAAsB8C,gBAAkB,SAAShI,EAC7CiI,EAAOC,EAAaC,EAAeC,EACnCC,EAAmBC,GACrB,GAAIxF,GAAI9C,EAAExE,QAEN+M,EAAWzF,EAAE0F,iBAAiB,WAAYxI,EAAEwD,QAE3ChG,SAAQiL,YAAYN,KACvBA,EAAgB,KAGlB,IAAIO,GAAgB5F,EAAE0F,iBAAiB,oBAAqBxI,EAAEwD,SAE1DzE,EAASiB,EAAEjB,OACXyE,EAAUxD,EAAEwD,QACZmF,EAAOnL,QAAQoL,eAAe7J,EAAQ,EAAGA,EAAO7E,OAChDgL,EAAsB0C,sBAClB9E,EAAE0F,iBAAiB,yBAA0BhF,KAEjDqF,EAAWV,GAAkBA,EAAcjO,QAAU,EAErD2L,EAAM7F,EAAE8I,cACZjD,GAAInL,OACAmO,GACFhD,EAAI/M,eAAeqP,EAGrB,IAAIY,GAAe7D,EAAsB8D,YACrChJ,EAAG2I,EAAMT,EAAaI,EAAWF,EAAYM,EAAeH,EAAUN,EAC1E/C,GAAsB+D,kBAClBjJ,EAAG+I,EAAcV,EAAmBJ,EAAOK,GAE3CO,GACFhD,EAAIlM,mBAGNkM,EAAIvK,WAWN4J,EAAsB8D,YAAc,SAAShJ,EACzC2I,EAAMT,EAAaI,EAAWF,EAAYM,EAAeH,EAAUN,GAErE,GAGIiB,GACAtF,EAJAuF,EAAc,KACdC,EAAc,KACdC,EAAc,KAGdN,KACAO,GAAQ,EAERzD,EAAM7F,EAAE8I,cACZjD,GAAIzM,YACJyM,EAAI0D,YAActB,EAClBpC,EAAI2D,UAAYtB,CAOhB,KAAK,GAJDuB,GAAMd,EAAKe,OACXC,EAAQhB,EAAKiB,KACbC,EAAYlB,EAAKmB,WAEZ3P,EAAIwO,EAAKoB,OAAYJ,EAAJxP,EAAWA,IAAK,CAExC,GADAyJ,EAAQ6F,EAAItP,GACR0P,EAAW,CACb,KAAWF,EAAJxP,IAAc0P,EAAUJ,EAAKtP,IAClCA,GAEF,IAAIA,GAAKwP,EAAO,KAChB/F,GAAQ6F,EAAItP,GAMd,GAAsB,OAAlByJ,EAAMoG,SAAoBpG,EAAMoG,SAAWpG,EAAMoG,QAC/CzB,GAA4B,OAAhBY,IAEdtD,EAAIrM,OAAO2P,EAAaC,GACxBvD,EAAIvM,OAAOsK,EAAMqG,QAASb,IAE5BD,EAAcC,EAAc,SACvB,CAEL,GADAF,GAAa,EACTR,IAAkBS,EAAa,CACjCR,EAAKuB,SAAW/P,EAChBwO,EAAKwB,OACLd,EAAcV,EAAKyB,QAAUzB,EAAK0B,KAAKL,QAAU,IAEjD,IAAIM,GAAyC,OAAhBjB,GACzBA,GAAeA,CACnBH,IAAeC,GAAemB,EAC1B5B,KAGIY,IAAUH,GACXR,EAAKyB,SAAWE,KACnBpB,GAAa,GAKC,OAAhBC,EACEjB,IACEK,IACF1C,EAAIrM,OAAO2P,EAAaC,GACxBvD,EAAIvM,OAAOsK,EAAMqG,QAASb,IAG5BvD,EAAIvM,OAAOsK,EAAMqG,QAASrG,EAAMoG,UAGlCnE,EAAIrM,OAAOoK,EAAMqG,QAASrG,EAAMoG,UAE9B5B,GAAcc,IAChBH,EAAa/O,MAAM4J,EAAMqG,QAASrG,EAAMoG,QAASpG,EAAM1G,MAEzDiM,EAAcvF,EAAMqG,QACpBb,EAAcxF,EAAMoG,QAEtBV,GAAQ,EAGV,MADAzD,GAAInM,SACGqP,GAUT7D,EAAsB+D,kBAAoB,SACtCjJ,EAAG+I,EAAcV,EAAmBJ,EAAOK,GAE7C,IAAK,GADDzC,GAAM7F,EAAE8I,eACH5L,EAAM,EAAGA,EAAM6L,EAAa7O,OAAQgD,IAAO,CAClD,GAAIqN,GAAKxB,EAAa7L,EACtB2I,GAAInL,OACJ2N,EAAkBxO,KAAKmG,EAAExE,QACrBwE,EAAExE,QAASwE,EAAEwD,QAASqC,EAAK0E,EAAG,GAAIA,EAAG,GAAItC,EAAOK,EAAWiC,EAAG,IAClE1E,EAAIvK,YAQR4J,EAAsBrM,UAAU2N,cAAgB,WAc9C,IAAK,GADDgE,GAAO9R,KAAK2M,OAAOtG,OACd5E,EAAIqQ,EAAKtQ,OAAQC,KAExB,IAAK,GADD4E,GAASyL,EAAKrQ,GACTI,EAAIwE,EAAO7E,OAAQK,KAAM,CAChC,GAAIqJ,GAAQ7E,EAAOxE,EACnBqJ,GAAMqG,QAAUvR,KAAKgH,KAAKC,EAAIiE,EAAM9J,EAAIpB,KAAKgH,KAAK5F,EAClD8J,EAAMoG,QAAUtR,KAAKgH,KAAKI,EAAI8D,EAAM7J,EAAIrB,KAAKgH,KAAK3F,IAmBxDmL,EAAsBrM,UAAU4N,iBAAmB,SAASgE,EAAgBC,GAC1E,GACIvQ,GAIAqJ,EALAqC,EAAM6E,GAAWhS,KAAK0M,eAGtBoF,EAAO9R,KAAK2M,OAAOtG,OACnBC,EAAWtG,KAAK2M,OAAOrG,QAG3BtG,MAAKiS,OAASjS,KAAK+C,SAASmP,UAG5B,IAAIC,GAAenS,KAAK+C,SAASoE,UAAU,WACvCiL,EAAWD,CACVrN,SAAQiL,YAAYqC,KACvBA,GAAYA,GAGd,IAAIC,KACJ,KAAK5Q,EAAI,EAAGA,EAAI6E,EAAS9E,OAAQC,IAAK,CACpCqJ,EAAUxE,EAAS7E,EACnB,IAAI6Q,GAAatS,KAAK+C,SAASoE,UAAU,UAAW2D,EAChDwH,IAAcH,IAElBE,EAAYvH,GAAWwH,GAGzB,IAAK7Q,EAAI,EAAGA,EAAI2Q,EAAS5Q,OAAQC,IAI/B,IAAK,GAHD8Q,GAAUH,EAAS3Q,GACnB+Q,EAAW/Q,GAAK2Q,EAAS5Q,OAAS,EAE7BK,EAAI,EAAGA,EAAIiQ,EAAKtQ,OAAQK,IAE/B,GADAiJ,EAAUxE,EAASzE,IACfkQ,GAAkBjH,GAAWiH,EAAjC,CAEA,GAAI1L,GAASyL,EAAKjQ,GAGdqK,EAAIqG,CACR,IAAIzH,IAAWuH,GAAa,CAC1B,IAAIG,EAIF,QAHAtG,GAAImG,EAAYvH,GAOpB,GAAIyE,GAAQvP,KAAKiS,OAAOnH,GACpB0E,EAAcxP,KAAK+C,SAASoE,UAAU,cAAe2D,EAEzDqC,GAAInL,OACJmL,EAAI0D,YAActB,EAClBpC,EAAI2D,UAAYtB,EAChBtD,GACE7F,OAAQA,EACRyE,QAASA,EACTsF,eAAgBjD,EAChBoC,MAAOA,EACPC,YAAaA,EACb1M,QAAS9C,KAAK+C,SACdiB,KAAMhE,KAAK+C,SAASiI,wBAAwBF,GAC5CmE,SAAUjP,KAAKgH,KACfyL,YAAa5Q,EACb6Q,YAAaZ,EAAKtQ,OAClBmR,iBAAkBZ,EAClBa,gBAAiBd,IAEnB3E,EAAIvK,YASV4J,EAAsBqG,WACpBC,YAAa,SAASxL,GACpBkF,EAAsBuG,aAAazL,IAGrC0L,YAAa,SAAS1L,GACpBkF,EAAsByG,aAAa3L,IAGrC4L,aAAc,SAAS5L,GACrBkF,EAAsB2G,cAAc7L,KAQxCkF,EAAsBuG,aAAe,SAASzL,GAC5C,GAAI8C,GAAI9C,EAAExE,QACNgI,EAAUxD,EAAEwD,QACZ0E,EAAclI,EAAEkI,YAKhB4D,EAAchJ,EAAEiJ,iBAAiB,oBAAqBvI,GACtD6E,EAAoBvF,EAAEjD,UAAU,oBAAqB2D,IACrDhG,QAAQwO,QAAQC,QAChB9D,EAAgBrF,EAAEjD,UAAU,gBAAiB2D,GAC7C4E,EAAatF,EAAE0F,iBAAiB,aAAchF,GAC9C8E,EAAYxF,EAAEiJ,iBAAiB,YAAavI,EAE5CsI,IAAe5D,GACjBhD,EAAsB8C,gBAAgBhI,EAClC8C,EAAEjD,UAAU,oBAAqB2D,GACjC0E,EAAc,EAAI4D,EAClB3D,EACAC,EACAC,EACAC,GAINpD,EAAsB8C,gBAAgBhI,EAClCA,EAAEiI,MACFC,EACAC,EACAC,EACAC,EACAC,IAUNpD,EAAsB2G,cAAgB,SAAS7L,GAC7C,GAAI8C,GAAI9C,EAAExE,QACNgI,EAAUxD,EAAEwD,QACZ0I,EAAYpJ,EAAE0F,iBAAiB,cAC/B1F,EAAE0F,iBAAiB,aACvB,IAAK0D,EAAL,CAEA,GAAIC,GAAYrJ,EAAE0F,iBAAiB,YAAahF,EAC5C2I,IACFxT,QAAQyT,KAAK,6CAGf,IAUIC,GAVAxG,EAAM7F,EAAE8I,eACRb,EAAQjI,EAAEiI,MACVqE,EAAYxJ,EAAEiJ,iBAAiB,YAAavI,GAC5C+E,EAAWzF,EAAE0F,iBAAiB,WAAYhF,GAC1CzE,EAASiB,EAAEjB,OAEX4J,EAAOnL,QAAQoL,eAAe7J,EAAQ,EAAGA,EAAO7E,OAChDgL,EAAsB0C,sBAClB9E,EAAE0F,iBAAiB,yBAA0BhF,KAKjD+I,EAAQnJ,IACRoJ,EAAQpJ,IACRqJ,GAAU,GAAI,IAEdC,EAAMlP,QAAQmP,OAAO1E,GACrB2E,EACA,QAAUF,EAAIrM,EAAI,IAAMqM,EAAI5J,EAAI,IAAM4J,EAAIG,EAAI,IAAMP,EAAY,GACpEzG,GAAIiH,UAAYF,EAChB/G,EAAIzM,WAQJ,KANA,GAAI2T,GAAuB,SAASjT,GAClC,MAAc,QAANA,GACMF,SAANE,GACA+I,MAAM/I,IAGT6O,EAAKyB,SAAS,CACnB,GAAIxG,GAAQ+E,EAAKwB,QACX5B,GAAYwE,EAAqBnJ,EAAM7J,IACxCwO,IAAa1F,MAAM2J,IAAUO,EAAqBP,GACrDD,EAAQnJ,KAIViJ,GAAUzI,EAAMoJ,SAAUpJ,EAAMqJ,OAC5B1E,IACFiE,EAAQ5I,EAAM7J,GAKZ8I,MAAMwJ,EAAM,MAAKA,EAAM,GAAKzI,EAAM7J,GAClC8I,MAAMwJ,EAAM,MAAKA,EAAM,GAAKzI,EAAM7J,GAEtCsS,EAAM,GAAKrM,EAAE2H,SAAS7H,EAAIuM,EAAM,GAAKrM,EAAE2H,SAAS5N,EAChDsS,EAAM,GAAKrM,EAAE2H,SAAS7H,EAAIuM,EAAM,GAAKrM,EAAE2H,SAAS5N,EAC3C8I,MAAM0J,KACLhE,GACF1C,EAAIrM,OAAO+S,EAAOE,EAAO,IACzB5G,EAAIvM,OAAOsK,EAAMqG,QAASwC,EAAO,IACjC5G,EAAIvM,OAAOsK,EAAMqG,QAASwC,EAAO,MAEjC5G,EAAIrM,OAAO+S,EAAOE,EAAO,IACzB5G,EAAIvM,OAAOsK,EAAMqG,QAASoC,EAAM,IAChCxG,EAAIvM,OAAOsK,EAAMqG,QAASoC,EAAM,KAElCxG,EAAIvM,OAAOiT,EAAOE,EAAO,IACzB5G,EAAIqH,aAENT,EAASJ,EACTE,EAAQ3I,EAAMqG,SAEhBpE,EAAIsH,SAWNjI,EAAsBkI,iBAAmB,SAASjH,GAChD,GAAIkH,MACAC,EAAe,KAEfC,EAAU,EACVC,EAAU,EAEVC,EAAc,EAIdC,EAAkB,SAASC,GAC7B,KAAIN,EAAenT,QAAU,GAA7B,CAGA,IAAK,GAAIC,GAAIkT,EAAenT,OAAS,EAAGC,EAAI,EAAGA,IAAK,CAClD,GAAIyT,GAASP,EAAelT,EAC5B,IAAIyT,EAAO,IAAMJ,EAAS,CACxB,GAAIK,GAAaR,EAAelT,EAAI,EAChC0T,GAAW,IAAMD,EAAO,IAAMC,EAAW,IAAMD,EAAO,IACxDP,EAAeS,OAAO3T,EAAG,IAM/B,IAAK,GAAIA,GAAI,EAAGA,EAAIkT,EAAenT,OAAS,GAAiC,CAC3E,GAAI0T,GAASP,EAAelT,EACxByT,GAAO,IAAMJ,GAAWH,EAAelT,EAAI,GAAG,IAAMqT,EACtDH,EAAeS,OAAO3T,EAAG,GAEzBA,IAKJ,GAAIkT,EAAenT,OAAS,IAAMyT,EAAkB,CAElD,GAAII,GAAW,CACXV,GAAe,GAAG,IAAMG,GAASO,GAErC,KAAK,GADDC,GAAS,KAAMC,EAAS,KACnB9T,EAAI4T,EAAU5T,EAAIkT,EAAenT,OAAQC,IAAK,CACrD,GAAIyT,GAASP,EAAelT,EAC5B,IAAIyT,EAAO,IAAML,EACjB,GAAe,OAAXS,GAA8B,OAAXC,EACrBD,EAAS7T,EACT8T,EAAS9T,MACJ,CACL,GAAIJ,GAAI6T,EAAO,EACX7T,GAAIsT,EAAeW,GAAQ,GAC7BA,EAAS7T,EACAJ,EAAIsT,EAAeY,GAAQ,KACpCA,EAAS9T,IAIf,GAAI+T,GAAYb,EAAeW,GAC3BG,EAAYd,EAAeY,EAC/BZ,GAAeS,OAAOC,EAAUV,EAAenT,OAAS6T,GAC3CE,EAATD,GACFX,EAAerT,KAAKkU,GACpBb,EAAerT,KAAKmU,IACXH,EAASC,GAClBZ,EAAerT,KAAKmU,GACpBd,EAAerT,KAAKkU,IAEpBb,EAAerT,KAAKkU,MAKtBE,EAAe,SAASC,GAC1BX,EAAgBW,EAChB,KAAK,GAAIlU,GAAI,EAAGU,EAAMwS,EAAenT,OAAYW,EAAJV,EAASA,IAAK,CACzD,GAAIyT,GAASP,EAAelT,EACxByT,GAAO,IAAML,EACfpH,EAAQ7M,OAAOsU,EAAO,GAAIA,EAAO,IACxBA,EAAO,IAAMJ,GACtBrH,EAAQ3M,OAAOoU,EAAO,GAAIA,EAAO,IAGrCH,GAAeJ,EAAenT,OAC9BmT,MAGEiB,EAAY,SAASV,EAAQ9T,EAAGC,GAClC,GAAIwU,GAAKzT,KAAK0T,MAAM1U,IACC,OAAjBwT,GAAyBiB,GAAMjB,KACjCc,IACAd,EAAeiB,GAEjBlB,EAAerT,MAAM4T,EAAQ9T,EAAGC,IAGlC,QACEP,OAAQ,SAASM,EAAGC,GAClBuU,EAAUd,EAAS1T,EAAGC,IAExBT,OAAQ,SAASQ,EAAGC,GAClBuU,EAAUf,EAASzT,EAAGC,IAKxBL,OAAW,WAAa0U,GAAa,GAAOjI,EAAQzM,UACpDyT,KAAW,WAAaiB,GAAa,GAAOjI,EAAQgH,QACpD/T,UAAW,WAAagV,GAAa,GAAOjI,EAAQ/M,aACpD8T,UAAW,WAAakB,GAAa,GAAOjI,EAAQ+G,aAEpDuB,OAAQ,WAAa,MAAOhB,MAchCvI,EAAsByG,aAAe,SAAS3L,GAE5C,IAAIA,EAAEqL,kBAGgB,IAAlBrL,EAAEmL,YAAN,CAQA,IAAK,GANDrI,GAAI9C,EAAExE,QACNwD,EAAW8D,EAAE4L,YAAY7R,MAAM,GAK1B1C,EAAI6E,EAAS9E,OAAQC,GAAK,EAAGA,IAC/B2I,EAAE6L,aAAaxU,IAAI6E,EAAS8O,OAAO3T,EAAG,EAG7C,IAAIyU,GAAkB,WACpB,IAAK,GAAIzU,GAAI,EAAGA,EAAI6E,EAAS9E,OAAQC,IACnC,GAAI2I,EAAE0F,iBAAiB,YAAaxJ,EAAS7E,IAAK,OAAO,CAE3D,QAAO,IAGT,IAAKyU,EAiCL,IAAK,GAfDC,GACAC,EAjBApP,EAAOM,EAAE2H,SACT6C,EAAOxK,EAAEsL,gBACTyD,EAAWvE,EAAKtQ,OAEhBoS,EAAYxJ,EAAEiJ,iBAAiB,aAC/BiD,EAAelM,EAAE0F,iBAAiB,gBAClCmC,EAAS7H,EAAEmM,YASXC,KAKAC,EAAgB,SAAStJ,EAAKuJ,EAAWC,EAAWC,GAEtD,GADAzJ,EAAIvM,OAAO8V,EAAWC,GAClBL,EACF,IAAK,GAAI7U,GAAImV,EAASpV,OAAS,EAAGC,GAAK,EAAGA,IAAK,CAC7C,GAAIoV,GAAKD,EAASnV,EAClB0L,GAAIvM,OAAOiW,EAAG,GAAIA,EAAG,MAMlBhM,EAASwL,EAAW,EAAGxL,GAAU,EAAGA,IAAU,CACrD,GAAIsC,GAAM7F,EAAE8I,eACRtF,EAAUxE,EAASuE,EACvB,IAAKT,EAAE0F,iBAAiB,YAAahF,GAArC,CAEA,GAAI+E,GAAWzF,EAAE0F,iBAAiB,WAAYhF,GAC1CyE,EAAQ0C,EAAOpH,GACf7G,EAAOoG,EAAEY,wBAAwBF,GACjCgM,EAAQ,EAAM9S,EAAK2F,QAAU3F,EAAK+F,MAC1B,GAAR+M,EAAaA,EAAQ,EAChBA,EAAQ,IAAKA,EAAQ,GAC9BA,EAAQ9P,EAAKI,EAAI0P,EAAQ9P,EAAK3F,CAE9B,IAQIsS,GARAtN,EAASyL,EAAKjH,GACdoF,EAAOnL,QAAQoL,eAAe7J,EAAQ,EAAGA,EAAO7E,OAChDgL,EAAsB0C,sBAClB9E,EAAE0F,iBAAiB,yBAA0BhF,KAGjD+I,EAAQnJ,IACRqJ,GAAU,GAAI,IAGdC,EAAMlP,QAAQmP,OAAO1E,GACrB2E,EACA,QAAUF,EAAIrM,EAAI,IAAMqM,EAAI5J,EAAI,IAAM4J,EAAIG,EAAI,IAAMP,EAAY,GACpEzG,GAAIiH,UAAYF,EAChB/G,EAAIzM,WACJ,IAAIqW,GAAQC,GAAW,CAInB3Q,GAAO7E,OAAS,EAAI4I,EAAElD,SACxBiG,EAAMX,EAAsBkI,iBAAiBvH,GAa/C,KANA,GAKIjC,GALA0L,KAMG3G,EAAKyB,SAEV,GADAxG,EAAQ+E,EAAKwB,OACR3M,QAAQmS,KAAK/L,EAAM7J,IAAOwO,EAA/B,CASA,GAAIyG,EAAc,CAChB,IAAKU,GAAYD,GAAU7L,EAAM7C,KAC/B,QAEA2O,IAAW,EACXD,EAAS7L,EAAM7C,KAGjB8N,EAAeK,EAAStL,EAAMqG,QAC9B,IAAI2F,EAEFA,GADmBhW,SAAjBiV,EACMW,EAELV,EACOD,EAAa,GAEbA,EAGZxC,GAAUzI,EAAMoG,QAAS4F,GAMrBV,EAAStL,EAAMqG,SAJf1B,EAGgB,KAAdkE,EAAO,IACmB7I,EAAMoG,QAASwF,IAEf5L,EAAMoG,QAASyC,EAAO,IAG1B7I,EAAMoG,YAKhCqC,GADExJ,MAAMe,EAAMoG,UAAYzB,GAChB7I,EAAK3F,EAAI2F,EAAKI,EAAG0P,IAEjB5L,EAAMoG,QAASwF,EAGxB3M,OAAM0J,IAoBT1G,EAAIrM,OAAOoK,EAAMqG,QAASoC,EAAM,IAChCxG,EAAIvM,OAAOsK,EAAMqG,QAASoC,EAAM,MAnB5B9D,GACF1C,EAAIvM,OAAOsK,EAAMqG,QAASwC,EAAO,IACjC5G,EAAIvM,OAAOsK,EAAMqG,QAASoC,EAAM,KAEhCxG,EAAIvM,OAAOsK,EAAMqG,QAASoC,EAAM,IAI9B2C,IACFM,EAAStV,MAAMuS,EAAOE,EAAO,KAG3B6C,EAAStV,KAFP8U,GAAgBD,GAEHjL,EAAMqG,QAAS4E,EAAa,KAE5BjL,EAAMqG,QAASoC,EAAM,OAO1CI,EAASJ,EACTE,EAAQ3I,EAAMqG,YAxEZkF,GAActJ,EAAK0G,EAAOE,EAAO,GAAI6C,GACrCA,KACA/C,EAAQnJ,IACgB,OAApBQ,EAAME,WAAuBjB,MAAMe,EAAME,aAC3CoL,EAAStL,EAAMqG,SAAWvK,EAAKI,EAAI8D,EAAME,UAAYpE,EAAK3F,EAsEhE+U,GAAevG,EACX8D,GAASzI,IACXuL,EAActJ,EAAKjC,EAAMqG,QAASoC,EAAM,GAAIiD,GAC5CA,MAEFzJ,EAAIsH,WAIDjI,KCx4BH1H,QAAU,WAEd,YAgBA,IAAIA,GAAU,SAASqS,EAAKC,EAAMC,EAAMC,GAItCtX,KAAKuX,kBAAmB,EACxBvX,KAAKwX,aAEoBtW,SAArBoW,GAIFrX,QAAQyT,KAAK,sDACb1T,KAAKyX,aAAaN,EAAKC,EAAMC,EAAMC,IAEnCtX,KAAK0X,SAASP,EAAKC,EAAMC,GA0oH7B,OAtoHAvS,GAAQ6S,KAAO,UACf7S,EAAQ8S,QAAU,QAClB9S,EAAQ+S,SAAW,WACjB,MAAO,IAAM/S,EAAQ6S,KAAO,IAAM7S,EAAQ8S,QAAU,KAMtD9S,EAAQgT,SAAW,WACjB,MAAOhT,GAAQ+S,YAIjB/S,EAAQiT,oBAAsB,EAC9BjT,EAAQkT,cAAgB,IACxBlT,EAAQmT,eAAiB,IAGzBnT,EAAQoT,gBAAkB,GAC1BpT,EAAQqT,mBAAqB,IAI7BrT,EAAQsT,YAAe,IAAK,IAAK,IAAK,IAAK,KAC3CtT,EAAQuT,iBAAoB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAC/DvT,EAAQwT,mBAAsB,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAUjExT,EAAQyT,qBAAuB,SAASnX,EAAGiW,GACzC,GAAImB,GAAUnB,EAAK,UAEnB,IAAgB,OAAZmB,EAEF,MAAO1T,GAAQ2T,YAAYrX,EAAGoX,EAGhC,IAMI/M,GANAiN,EAASrB,EAAK,sBACdsB,EAAiBtB,EAAK,kBAEtBuB,EAAMvB,EAAK,aACXwB,EAAOxB,EAAK,aAahB,IALE5L,EAHQ,IAANrK,IACCgB,KAAK0W,IAAI1X,IAAMgB,KAAK2W,IAAI,GAAIJ,IAC5BvW,KAAK0W,IAAI1X,GAAKgB,KAAK2W,IAAI,IAAKL,IACvBtX,EAAE4X,cAAcN,GAEhB,GAAK5T,EAAQmU,OAAO7X,EAAGsX,GAG7BE,GAAOC,EAAM,CACf,GAAI1M,GACA+M,KACAC,IACAP,KACFzM,EAAI,IACJ+M,EAAWpU,EAAQsT,YAEjBS,IACED,GAAK3Y,QAAQyT,KAAK,oDACtBvH,EAAI,KACJ+M,EAAWpU,EAAQuT,gBACnBc,EAAWrU,EAAQwT,kBAKrB,KAAK,GAFDc,GAAOhX,KAAK0W,IAAI1X,GAChBiY,EAAIvU,EAAQiU,IAAI5M,EAAG+M,EAAS1X,QACvBK,EAAIqX,EAAS1X,OAAS,EAAGK,GAAK,EAAGA,IAAKwX,GAAKlN,EAClD,GAAIiN,GAAQC,EAAG,CACb5N,EAAQ3G,EAAQmU,OAAO7X,EAAIiY,EAAGX,GAAUQ,EAASrX,EACjD,OAGJ,GAAIgX,EAAM,CAER,GAAIS,GAAUC,OAAOnY,EAAE4X,iBAAiBnZ,MAAM,KACvB,KAAnByZ,EAAQ9X,QAAgB8X,EAAQ,IAAM,GAAKA,EAAQ,IAAM,KAEzD7N,EADE6N,EAAQ,GAAK,EAAI,EACXxU,EAAQmU,OAAOK,EAAQ,GAC3BxU,EAAQiU,IAAI,GAAKO,EAAQ,GAAK,GAC9BZ,GAEIc,OAAOF,EAAQ,IAAIG,QAAQ,GAErChO,GAAS0N,EAAS/W,KAAKsX,MAAMJ,EAAQ,GAAK,GAAK,KAKrD,MAAO7N,IAOT3G,EAAQ6U,yBAA2B,SAASvY,EAAGwY,EAAavC,GAC1D,MAAOvS,GAAQyT,qBAAqBnX,EAAGiW,IAQzCvS,EAAQ+U,oBAAsB,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAa3G/U,EAAQgV,uBAAyB,SAASC,EAAMH,EAAavC,GAC3D,GAAI2C,GAAM3C,EAAK,aACX4C,EAAYD,EAAMlV,EAAQoV,iBAAmBpV,EAAQqV,mBAErDC,EAAOH,EAAUI,YAAYN,GAC7BO,EAAQL,EAAUM,SAASR,GAC3BS,EAAMP,EAAUQ,QAAQV,GACxBW,EAAQT,EAAUU,SAASZ,GAC3Ba,EAAOX,EAAUY,WAAWd,GAC5Be,EAAOb,EAAUc,WAAWhB,GAC5BiB,EAASf,EAAUc,WAAWhB,EAElC,IAAIH,GAAe9U,EAAQmW,QACzB,MAAO,GAAKb,CACP,IAAIR,GAAe9U,EAAQoW,QAChC,MAAOpW,GAAQ+U,mBAAmBS,GAAS,SAAWF,CAEtD,IAAIe,GAAe,KAART,EAAsB,GAAPE,EAAYE,EAAO,KAAOE,CACpD,OAAa,KAATG,GAAcvB,GAAe9U,EAAQsW,MAEhCtW,EAAQuW,QAAQb,GAAO,SAAW1V,EAAQ+U,mBAAmBS,GAE7DxV,EAAQwW,WAAWZ,EAAOE,EAAME,IAK7ChW,EAAQyW,kBAAoBzW,EAAQgV,uBASpChV,EAAQ0W,mBAAqB,SAASC,EAAGpE,GACvC,MAAOvS,GAAQ4W,YAAYD,EAAGpE,EAAK,eAarCvS,EAAQ6W,SAAWnP,sBAAsBqG,UAIzC/N,EAAQM,eACNwW,oBAAqB,EACrBC,oBAAqB,KACrBC,+BAAgC,GAEhCC,eAAgB,IAChBC,mBAGAC,qBAAqB,EACrBC,sBAAsB,EACtBC,WAAW,EACXC,YAAY,EACZC,uBAAuB,EAEvBC,mBAAoB,EACpB3D,eAAgB,EAChBH,QAAS,KAEThJ,YAAa,EACb+M,kBAAmB,EACnBC,kBAAmB,QAEnBC,aAAc,EACdC,kBAAmB,GACnBC,SAAU,EAEVC,YAAY,EACZC,aAAc/X,EAAQgY,WAEtBC,UAAW,IAEXC,MAAO,EACPxJ,WAAW,EACXyJ,WAAW,EACXC,gBAAgB,EAChBC,YAAY,EACZ1J,WAAW,EACXG,UAAW,IACXzE,wBAAwB,EAExBmH,cAAc,EACd8G,oBAAqB,MACrBC,uBAAuB,EAEvBC,OAAQ,cACRzN,UAAU,EACV0N,cAAc,EACdC,UAAW,EACXC,UAAW,KACXC,gBAAgB,EAGhBC,YAAa,GACbC,aAAc,GACdC,YAAa,GAEbC,WAAW,EACXC,WAAW,EACXC,cAAe,QACfC,cAAe,GACfC,cAAe,GACfC,eAAgB,QAChBC,eAAgB,GAChBC,WAAW,EACXC,WAAW,EACXC,cAAe,mBAEfC,iBAAkB,KAClBC,eAAe,EAGfC,mBAAmB,EACnBC,oBAAqB,GACrBC,6BAA8B,UAC9BC,2BAA4B,UAC5BC,oBAAqB,KAIrBvM,SACEzN,EAAQ6W,SAAS3I,YACjBlO,EAAQ6W,SAASzI,aACjBpO,EAAQ6W,SAAS7I,aAGnBiM,WAGApZ,MACEvE,GACE4d,eAAgB,GAChBZ,eAAgB,GAChBa,mBAAoBna,EAAQgV,uBAC5BoF,eAAgBpa,EAAQ0W,mBACxB2D,UAAU,EACVC,UAAU,EACVC,kBAAkB,EAClBC,OAAQ,MAEVje,GACE+c,eAAgB,GAChBY,eAAgB,GAChBE,eAAgBpa,EAAQyT,qBACxB0G,mBAAoBna,EAAQ6U,yBAC5BwF,UAAU,EACVC,UAAU,EACVC,kBAAkB,EAClBC,OAAQ,MAEVvd,IACEqc,eAAgB,GAChBY,eAAgB,GAChBE,eAAgBpa,EAAQyT,qBACxB0G,mBAAoBna,EAAQ6U,yBAC5ByF,UAAU,EACVD,UAAU,EACVE,kBAAkB,EAClBC,OAAQ,QAOdxa,EAAQya,WAAa,EACrBza,EAAQ0a,SAAW,EAInB1a,EAAQ2a,WAIR3a,EAAQ4a,oBAAqB,EAE7B5a,EAAQ3E,UAAUsX,aAAe,SAASN,EAAKwI,EAAMzb,EAAQ0b,GAI3D,GAAe,OAAX1b,EAAiB,CAEnB,IAAK,GADD2b,IAAc,QACTpe,EAAI,EAAGA,EAAIyC,EAAO1C,OAAQC,IAAKoe,EAAWve,KAAK4C,EAAOzC,GAC/DqD,GAAQC,OAAO6a,GAAS1b,OAAU2b,IAEpC7f,KAAK0X,SAASP,EAAKwI,EAAMC,IAY3B9a,EAAQ3E,UAAUuX,SAAW,SAASP,EAAKwI,EAAMC,GAI/C,GAAI,OAAOE,KAAKC,UAAUC,aAAeC,OAAOC,OACd,mBAAxB,qBACiB,YAAvBhS,SAASiS,WAA0B,CACrC,GAAIC,GAAOpgB,IAEX,YADAqgB,YAAW,WAAaD,EAAK1I,SAASP,EAAKwI,EAAMC,IAAW,KAa9D,IARc,OAAVA,GAA4B1e,SAAV0e,KAAuBA,MAE7CA,EAAQ9a,EAAQwb,kBAAkBV,GAEf,gBAAT,KACRzI,EAAMjJ,SAASqS,eAAepJ,KAG3BA,EAEH,WADAlX,SAAQ2E,MAAM,gDAIhB5E,MAAKgN,iBAAiD,mBAAxB,oBAI9BhN,KAAKwgB,SAAWrJ,EAChBnX,KAAKygB,MAAQd,EACb3f,KAAK0gB,YAAcd,EAAMe,YAAc7b,EAAQiT,oBAC/C/X,KAAK4gB,mBAAqB,GAC1B5gB,KAAK6gB,WAAajB,EAAM3C,YAAa,EACrCjd,KAAK8gB,YAAclB,EAAMmB,YAAc,KAEvC/gB,KAAKghB,gBAGLhhB,KAAKihB,WAAY,EACjBjhB,KAAKkhB,WAAY,EAIjB/J,EAAIgK,UAAY,GAMQ,KAApBhK,EAAI9I,MAAMxB,OAAgB+S,EAAM/S,QAClCsK,EAAI9I,MAAMxB,MAAQ+S,EAAM/S,MAAQ,MAET,KAArBsK,EAAI9I,MAAMzB,QAAiBgT,EAAMhT,SACnCuK,EAAI9I,MAAMzB,OAASgT,EAAMhT,OAAS,MAEX,KAArBuK,EAAI9I,MAAMzB,QAAsC,IAArBuK,EAAIiK,eACjCjK,EAAI9I,MAAMzB,OAAS9H,EAAQmT,eAAiB,KACpB,KAApBd,EAAI9I,MAAMxB,QACZsK,EAAI9I,MAAMxB,MAAQ/H,EAAQkT,cAAgB,OAM9ChY,KAAKkH,OAASiQ,EAAIkK,aAAezB,EAAM/S,OAAS,EAChD7M,KAAKqH,QAAU8P,EAAIiK,cAAgBxB,EAAMhT,QAAU,EAG/CgT,EAAMtJ,eACRsJ,EAAMnM,WAAY,GAgBpBzT,KAAKsD,eACLwB,EAAQC,OAAO/E,KAAKsD,YAAasc,GAGjC5f,KAAKoD,UACL0B,EAAQwc,WAAWthB,KAAKoD,OAAQ0B,EAAQM,eAExCpF,KAAKuhB,gBACLvhB,KAAKwhB,mBACLxhB,KAAKyhB,iBAELzhB,KAAK0hB,qBACL1hB,KAAK2hB,mBAEL3hB,KAAKiL,YAAc,GAAIpI,gBAAe7C,MAGtCA,KAAK4hB,mBAGL5hB,KAAK6hB,WAEL,KAAK,GADD9C,GAAUja,EAAQ2a,QAAQqC,OAAO9hB,KAAKmH,UAAU,YAC3C1F,EAAI,EAAGA,EAAIsd,EAAQvd,OAAQC,IAAK,CAGvC,GACIsgB,GADAC,EAASjD,EAAQtd,EAGnBsgB,GAD8B,mBAArBC,GAAe,SACPA,EAEA,GAAIA,EAGvB,IAAIC,IACFC,OAAQH,EACRI,UACA9d,WACA+d,kBAGEC,EAAWN,EAAeO,SAAStiB,KACvC,KAAK,GAAIuiB,KAAaF,GACfA,EAASpe,eAAese,KAE7BN,EAAWE,OAAOI,GAAaF,EAASE,GAG1CviB,MAAK6hB,SAASvgB,KAAK2gB,GAKrB,IAAK,GAAIxgB,GAAI,EAAGA,EAAIzB,KAAK6hB,SAASrgB,OAAQC,IAAK,CAC7C,GAAI+gB,GAAcxiB,KAAK6hB,SAASpgB,EAChC,KAAK,GAAI8gB,KAAaC,GAAYL,OAChC,GAAKK,EAAYL,OAAOle,eAAese,GAAvC,CACA,GAAIE,GAAWD,EAAYL,OAAOI,GAE9BG,GAAQF,EAAYN,OAAQO,EAC1BF,KAAaviB,MAAK2hB,gBAGtB3hB,KAAK2hB,gBAAgBY,GAAWjhB,KAAKohB,GAFrC1iB,KAAK2hB,gBAAgBY,IAAcG,IAOzC1iB,KAAK2iB,uBAEL3iB,KAAKqR,UASPvM,EAAQ3E,UAAU6H,eAAiB,SAAShD,EAAM4d,GAChD,KAAM5d,IAAQhF,MAAK2hB,iBAAkB,OAAO,CAG5C,IAAIra,IACFxE,QAAS9C,KACT6iB,YAAY,EACZC,kBAAkB,EAClBC,eAAgB,WACd,IAAKzb,EAAEub,WAAY,KAAM,qDACzBvb,GAAEwb,kBAAmB,GAEvBE,oBAAoB,EACpBC,gBAAiB,WACf3b,EAAE0b,oBAAqB,GAG3Ble,GAAQC,OAAOuC,EAAGsb,EAElB,IAAIM,GAAwBljB,KAAK2hB,gBAAgB3c,EACjD,IAAIke,EACF,IAAK,GAAIzhB,GAAIyhB,EAAsB1hB,OAAS,EAAGC,GAAK,EAAGA,IAAK,CAC1D,GAAIygB,GAASgB,EAAsBzhB,GAAG,GAClCghB,EAAWS,EAAsBzhB,GAAG,EAExC,IADAghB,EAASthB,KAAK+gB,EAAQ5a,GAClBA,EAAE0b,mBAAoB,MAG9B,MAAO1b,GAAEwb,kBASXhe,EAAQ3E,UAAUgjB,mBAAqB,SAASC,GAC9C,IAAK,GAAI3hB,GAAI,EAAGA,EAAIzB,KAAK6hB,SAASrgB,OAAQC,IAAK,CAC7C,GAAIyK,GAAIlM,KAAK6hB,SAASpgB,EACtB,IAAIyK,EAAEgW,iBAAkBkB,GACtB,MAAOlX,GAAEgW,OAGb,MAAO,OAYTpd,EAAQ3E,UAAUkjB,SAAW,SAASrf,GACpC,GAAa,OAATA,GAA0B9C,SAAT8C,EACnB,MAAOhE,MAAKihB,WAAajhB,KAAKkhB,SAEhC,IAAa,MAATld,EAAc,MAAOhE,MAAKihB,SAC9B,IAAa,MAATjd,EAAc,MAAOhE,MAAKkhB,SAC9B,MAAM,sBAAwBld,EAAO,+BAMvCc,EAAQ3E,UAAU2X,SAAW,WAC3B,GAAIwL,GAAUtjB,KAAKwgB,SACf+C,EAAMD,GAAWA,EAAQC,GAAMD,EAAQC,GAAKD,CAChD,OAAO,YAAcC,EAAK,KAc5Bze,EAAQ3E,UAAUqjB,MAAQ,SAASxe,EAAMP,GAWvC,MAAOA,GAAazE,KAAKiL,YAAYrF,aAAaZ,EAAMP,GAAczE,KAAKiL,YAAYxH,IAAIuB,IAiB7FF,EAAQ3E,UAAUgH,UAAY,SAASnC,EAAM+M,GAC3C,MAAO/R,MAAKwjB,MAAMxe,EAAM+M,IAW1BjN,EAAQ3E,UAAUkT,iBAAmB,SAASrO,EAAM+M,GAClD,MAA4B/R,MAAKmH,UAAUnC,EAAM+M,IAWnDjN,EAAQ3E,UAAUsjB,gBAAkB,SAASze,EAAM+M,GACjD,MAA4B/R,MAAKmH,UAAUnC,EAAM+M,IAWnDjN,EAAQ3E,UAAU2P,iBAAmB,SAAS9K,EAAM+M,GAClD,MAA6B/R,MAAKmH,UAAUnC,EAAM+M,IAWpDjN,EAAQ3E,UAAUujB,kBAAoB,SAAS1e,EAAM+M,GACnD,MAAmC/R,MAAKmH,UAAUnC,EAAM+M,IAG1DjN,EAAQ3E,UAAUoJ,iBAAmB,SAASvE,EAAMhB,GAClD,MAAOhE,MAAKiL,YAAY5F,WAAWL,EAAMhB,IAQ3Cc,EAAQ3E,UAAUwjB,oBAAsB,SAAS3f,GAC/C,GAAIoc,GAAOpgB,IACX,OAAO,UAAS4jB,GACd,GAAI/e,GAAYub,EAAK9c,YAAYqC,IACjC,OAAId,IAAaA,EAAUb,IAASa,EAAUb,GAAMC,eAAe2f,GAC1D/e,EAAUb,GAAM4f,GAIZ,MAAT5f,GAAwB,aAAR4f,GAGX,EAK4B,mBAA1BxD,GAAK9c,YAAYsgB,GACnBxD,EAAK9c,YAAYsgB,IAG1B/e,EAAYub,EAAKhd,OAAOuC,KACpBd,GAAaA,EAAUb,IAASa,EAAUb,GAAMC,eAAe2f,GAC1D/e,EAAUb,GAAM4f,GAIb,KAAR5f,GAAeoc,EAAKyD,MAAM,GAAG5f,eAAe2f,GACvCxD,EAAKyD,MAAM,GAAGD,GACJ,MAAR5f,GAAgBoc,EAAKyD,MAAM,GAAG5f,eAAe2f,GAC/CxD,EAAKyD,MAAM,GAAGD,GAEhBxD,EAAKoD,MAAMI,MAQtB9e,EAAQ3E,UAAUwgB,WAAa,WAC7B,MAAO3gB,MAAK0gB,aASd5b,EAAQ3E,UAAU+I,WAAa,WAC7B,MAAOlJ,MAAK8gB,YAAc9gB,KAAK8gB,YAAc9gB,KAAK8jB,iBAOpDhf,EAAQ3E,UAAU2jB,cAAgB,WAChC,GAAIC,GAAM/jB,KAAKqT,iBAAiB,aAAerT,KAAKgkB,SAAShd,KAAKC,CAClE,IAAuB,IAAnBjH,KAAKikB,UACP,OAAQ,EAAIF,EAAK,EAAIA,EAEvB,IAAIvV,GAAOxO,KAAKkkB,SAAS,GAAG,GACxBC,EAAQnkB,KAAKkkB,SAASlkB,KAAKkkB,SAAS1iB,OAAS,GAAG,EACpD,IAAIuiB,EAAK,CAEP,GAAIK,GAAQD,EAAQ3V,CACpBA,IAAQ4V,EAAQL,EAChBI,GAASC,EAAQL,EAEnB,OAAQvV,EAAM2V,IAShBrf,EAAQ3E,UAAUkkB,WAAa,SAAS7f,GAEtC,GADmB,mBAAT,KAAsBA,EAAM,GAC5B,EAANA,GAAWA,GAAOxE,KAAK6jB,MAAMriB,OAC/B,MAAO,KAET,IAAIwC,GAAOhE,KAAK6jB,MAAMrf,EACtB,QAASR,EAAK4F,mBAAmB,GAAI5F,EAAK4F,mBAAmB,KAQ/D9E,EAAQ3E,UAAUmkB,YAAc,WAE9B,IAAK,GADDC,MACK9iB,EAAI,EAAGA,EAAIzB,KAAK6jB,MAAMriB,OAAQC,IACrC8iB,EAAIjjB,KAAKtB,KAAKqkB,WAAW5iB,GAE3B,OAAO8iB,IAaTzf,EAAQ3E,UAAUqkB,YAAc,SAASpjB,EAAGC,EAAG2C,GAC7C,OAAShE,KAAKykB,YAAYrjB,GAAIpB,KAAK0kB,YAAYrjB,EAAG2C,KASpDc,EAAQ3E,UAAUskB,YAAc,SAASrjB,GACvC,GAAU,OAANA,EACF,MAAO,KAGT,IAAI4F,GAAOhH,KAAKgkB,SAAShd,KACrB2d,EAAS3kB,KAAKkJ,YAClB,OAAOlC,GAAK5F,GAAKA,EAAIujB,EAAO,KAAOA,EAAO,GAAKA,EAAO,IAAM3d,EAAKC,GASnEnC,EAAQ3E,UAAUukB,YAAc,SAASrjB,EAAG2C,GAC1C,GAAI4gB,GAAM5kB,KAAKgM,gBAAgB3K,EAAG2C,EAElC,IAAY,OAAR4gB,EACF,MAAO,KAET,IAAI5d,GAAOhH,KAAKgkB,SAAShd,IACzB,OAAOA,GAAK3F,EAAIujB,EAAM5d,EAAKI,GAY7BtC,EAAQ3E,UAAU0kB,aAAe,SAASzjB,EAAGC,EAAG2C,GAC9C,OAAShE,KAAK8kB,aAAa1jB,GAAIpB,KAAK+kB,aAAa1jB,EAAG2C,KAQtDc,EAAQ3E,UAAU2kB,aAAe,SAAS1jB,GACxC,GAAU,OAANA,EACF,MAAO,KAGT,IAAI4F,GAAOhH,KAAKgkB,SAAShd,KACrB2d,EAAS3kB,KAAKkJ,YAElB,IAAKlJ,KAAKiL,YAAY5F,WAAW,WAAY,KAEtC,CAGL,GAAIuf,IAAOxjB,EAAI4F,EAAK5F,GAAK4F,EAAKC,EAmB1B+d,EAAQlgB,EAAQ2E,MAAMkb,EAAO,IAC7BM,EAAQngB,EAAQ2E,MAAMkb,EAAO,IAC7BO,EAAWF,EAASJ,GAAOK,EAAQD,GACnC1a,EAAQlI,KAAK2W,IAAIjU,EAAQqgB,UAAWD,EACxC,OAAO5a,GA3BP,MAAOqa,GAAO,IAAMvjB,EAAI4F,EAAK5F,GAAK4F,EAAKC,GAAK0d,EAAO,GAAKA,EAAO,KAqCnE7f,EAAQ3E,UAAU4kB,aAAe,SAAS1jB,EAAG2C,GAC3C,GAAU,OAAN3C,EACF,MAAO,KAGT,IAAI2F,GAAOhH,KAAKgkB,SAAShd,KACrBoe,EAASplB,KAAKqkB,WAAWrgB,EAG7B,IADoB,mBAAV,KAAuBA,EAAO,GACnChE,KAAKiL,YAAY5F,WAAW,WAAYrB,GAEtC,CAEL,GAAI4gB,IAAOvjB,EAAI2F,EAAK3F,GAAK2F,EAAKI,EAsB1B4d,EAAQlgB,EAAQ2E,MAAM2b,EAAO,IAC7BH,EAAQngB,EAAQ2E,MAAM2b,EAAO,IAC7BF,EAAWD,EAASL,GAAOK,EAAQD,GACnC1a,EAAQlI,KAAK2W,IAAIjU,EAAQqgB,UAAWD,EACxC,OAAO5a,GA7BP,MAAO8a,GAAO,IAAMpe,EAAK3F,EAAI2F,EAAKI,EAAI/F,GAAK2F,EAAKI,GAAKge,EAAO,GAAKA,EAAO,KAiD5EtgB,EAAQ3E,UAAU6L,gBAAkB,SAAS3K,EAAG2C,GAC9C,GAAU,OAAN3C,EACF,MAAO,KAEW,oBAAV,KAAuB2C,EAAO,EAExC,IAEI4gB,GAFAQ,EAASplB,KAAKqkB,WAAWrgB,GAGzBwG,EAAWxK,KAAKiL,YAAY5F,WAAW,WAAYrB,EACvD,IAAIwG,EAAU,CACZ,GAAIwa,GAAQlgB,EAAQ2E,MAAM2b,EAAO,IAC7BH,EAAQngB,EAAQ2E,MAAM2b,EAAO,GACjCR,IAAOK,EAAQngB,EAAQ2E,MAAMpI,KAAO4jB,EAAQD,OAK5CJ,IAAOQ,EAAO,GAAK/jB,IAAM+jB,EAAO,GAAKA,EAAO,GAE9C,OAAOR,IAgBT9f,EAAQ3E,UAAUyL,gBAAkB,SAASxK,GAC3C,GAAU,OAANA,EACF,MAAO,KAGT,IACIwjB,GADAD,EAAS3kB,KAAKkJ,aAEdsB,EAAWxK,KAAKiL,YAAY5F,WAAW,WAAY,IACvD,IAAImF,KAAa,EAAM,CACrB,GAAIwa,GAAQlgB,EAAQ2E,MAAMkb,EAAO,IAC7BM,EAAQngB,EAAQ2E,MAAMkb,EAAO,GACjCC,IAAO9f,EAAQ2E,MAAMrI,GAAK4jB,IAAUC,EAAQD,OAK5CJ,IAAOxjB,EAAIujB,EAAO,KAAOA,EAAO,GAAKA,EAAO,GAE9C,OAAOC,IAOT9f,EAAQ3E,UAAUklB,WAAa,WAC7B,MAAKrlB,MAAKkkB,SACHlkB,KAAKkkB,SAAS,GAAKlkB,KAAKkkB,SAAS,GAAG1iB,OAASxB,KAAKwjB,MAAM,UAAUhiB,OAD9C,GAQ7BsD,EAAQ3E,UAAU8jB,QAAU,WAC1B,MAAKjkB,MAAKkkB,SACHlkB,KAAKkkB,SAAS1iB,OADM,GAc7BsD,EAAQ3E,UAAUmlB,SAAW,SAASC,EAAKC,GACzC,MAAU,GAAND,GAAWA,EAAMvlB,KAAKkkB,SAAS1iB,OAAe,KACxC,EAANgkB,GAAWA,EAAMxlB,KAAKkkB,SAASqB,GAAK/jB,OAAe,KAEhDxB,KAAKkkB,SAASqB,GAAKC,IAS5B1gB,EAAQ3E,UAAUyhB,iBAAmB,WAEnC,GAAI6D,GAAYzlB,KAAKwgB,QAErBxgB,MAAKwH,SAAW0G,SAASC,cAAc,OAGvCnO,KAAKwH,SAAS6G,MAAMqX,UAAY,OAChC1lB,KAAKwH,SAAS6G,MAAME,SAAW,WAC/BkX,EAAU/W,YAAY1O,KAAKwH,UAG3BxH,KAAK2lB,QAAU7gB,EAAQ8gB,eACvB5lB,KAAK2lB,QAAQtX,MAAME,SAAW,WAG9BvO,KAAK6lB,QAAU7lB,KAAK8lB,qBAAqB9lB,KAAK2lB,SAE9C3lB,KAAKoN,YAActI,EAAQihB,WAAW/lB,KAAK2lB,SAC3C3lB,KAAKuN,YAAczI,EAAQihB,WAAW/lB,KAAK6lB,SAE3C7lB,KAAKgmB,kBAGLhmB,KAAKwH,SAASkH,YAAY1O,KAAK6lB,SAC/B7lB,KAAKwH,SAASkH,YAAY1O,KAAK2lB,SAC/B3lB,KAAKimB,mBAAqBjmB,KAAKkmB,2BAG/BlmB,KAAKmmB,QAAU,GAAI/f,eAAcpG,KAEjC,IAAI8C,GAAU9C,IAEdA,MAAKomB,kBAAoB,SAAS9e,GAChCxE,EAAQujB,WAAW/e,IAGrBtH,KAAKsmB,iBAAmB,SAAShf,GAI/B,GAAIif,GAASjf,EAAEif,QAAUjf,EAAEkf,YACvBC,EAAgBnf,EAAEmf,eAAiBnf,EAAEof,SACrC5hB,GAAQ6hB,kBAAkBJ,EAAQzjB,EAAQ0E,YACzC1C,EAAQ6hB,kBAAkBF,EAAe3jB,EAAQ0E,WACpD1E,EAAQ8jB,UAAUtf,IAItBtH,KAAK6mB,iBAAiB5G,OAAQ,WAAYjgB,KAAKsmB,kBAC/CtmB,KAAK6mB,iBAAiB7mB,KAAKimB,mBAAoB,YAAajmB,KAAKomB,mBAI5DpmB,KAAK8mB,iBACR9mB,KAAK8mB,eAAiB,WACpBhkB,EAAQikB,UAKV/mB,KAAK6mB,iBAAiB5G,OAAQ,SAAUjgB,KAAK8mB,kBAIjDhiB,EAAQ3E,UAAU6lB,gBAAkB,WAClChmB,KAAKwH,SAAS6G,MAAMxB,MAAQ7M,KAAKkH,OAAS,KAC1ClH,KAAKwH,SAAS6G,MAAMzB,OAAS5M,KAAKqH,QAAU,IAE5C,IAAI2f,GAAcliB,EAAQmiB,qBAAqBjnB,KAAKoN,YACpDpN,MAAK2lB,QAAQ9Y,MAAQ7M,KAAKkH,OAAS8f,EACnChnB,KAAK2lB,QAAQ/Y,OAAS5M,KAAKqH,QAAU2f,EACrChnB,KAAK2lB,QAAQtX,MAAMxB,MAAQ7M,KAAKkH,OAAS,KACzClH,KAAK2lB,QAAQtX,MAAMzB,OAAS5M,KAAKqH,QAAU,KACvB,IAAhB2f,GACFhnB,KAAKoN,YAAY9D,MAAM0d,EAAaA,EAGtC,IAAIE,GAAcpiB,EAAQmiB,qBAAqBjnB,KAAKuN,YACpDvN,MAAK6lB,QAAQhZ,MAAQ7M,KAAKkH,OAASggB,EACnClnB,KAAK6lB,QAAQjZ,OAAS5M,KAAKqH,QAAU6f,EACrClnB,KAAK6lB,QAAQxX,MAAMxB,MAAQ7M,KAAKkH,OAAS,KACzClH,KAAK6lB,QAAQxX,MAAMzB,OAAS5M,KAAKqH,QAAU,KACvB,IAAhB6f,GACFlnB,KAAKuN,YAAYjE,MAAM4d,EAAaA,IASxCpiB,EAAQ3E,UAAUgnB,QAAU,WAC1BnnB,KAAKoN,YAAYxK,UACjB5C,KAAKuN,YAAY3K,SAGjB,KAAK,GAAInB,GAAIzB,KAAK6hB,SAASrgB,OAAS,EAAGC,GAAK,EAAGA,IAAK,CAClD,GAAIyK,GAAIlM,KAAK6hB,SAAS9hB,KAClBmM,GAAEgW,OAAOiF,SAASjb,EAAEgW,OAAOiF,UAGjC,GAAIC,GAAkB,SAASC,GAC7B,KAAOA,EAAKC,iBACVF,EAAgBC,EAAKE,YACrBF,EAAKzY,YAAYyY,EAAKE,YAI1BvnB,MAAKwnB,uBAGL1iB,EAAQ2iB,YAAYxH,OAAQ,WAAYjgB,KAAKsmB,kBAC7CxhB,EAAQ2iB,YAAYznB,KAAKimB,mBAAoB,YAAajmB,KAAKomB,mBAG/DthB,EAAQ2iB,YAAYxH,OAAO,SAAUjgB,KAAK8mB,gBAC1C9mB,KAAK8mB,eAAiB,KAEtBM,EAAgBpnB,KAAKwgB,SAErB,IAAIkH,GAAU,SAASC,GACrB,IAAK,GAAItO,KAAKsO,GACW,gBAAZA,GAAItO,KACbsO,EAAItO,GAAK,MAKfqO,GAAQ1nB,KAAKmmB,SACbuB,EAAQ1nB,KAAKgkB,UACb0D,EAAQ1nB,OAWV8E,EAAQ3E,UAAU2lB,qBAAuB,SAAS8B,GAChD,GAAIxgB,GAAItC,EAAQ8gB,cAWhB,OAVAxe,GAAEiH,MAAME,SAAW,WAInBnH,EAAEiH,MAAMI,IAAMmZ,EAAOvZ,MAAMI,IAC3BrH,EAAEiH,MAAMG,KAAOoZ,EAAOvZ,MAAMG,KAC5BpH,EAAEyF,MAAQ7M,KAAKkH,OACfE,EAAEwF,OAAS5M,KAAKqH,QAChBD,EAAEiH,MAAMxB,MAAQ7M,KAAKkH,OAAS,KAC9BE,EAAEiH,MAAMzB,OAAS5M,KAAKqH,QAAU,KACzBD,GAQTtC,EAAQ3E,UAAU+lB,yBAA2B,WAC3C,GAAIlmB,KAAKgN,iBAAkB,CACzB,GAAIiB,GAAOC,SAASC,cAAc,MAOlC,OANAF,GAAKI,MAAME,SAAW,WACtBN,EAAKI,MAAMC,gBAAkB,QAC7BL,EAAKI,MAAMwZ,OAAS,mBACpB5Z,EAAKI,MAAMxB,MAAQ7M,KAAKkH,OAAS,KACjC+G,EAAKI,MAAMzB,OAAS5M,KAAKqH,QAAU,KACnCrH,KAAKwH,SAASkH,YAAYT,GACnBA,EAEP,MAAOjO,MAAK2lB,SAWhB7gB,EAAQ3E,UAAU2nB,WAAa,WAC7B,GAAI5jB,GAASlE,KAAKgW,YACd+R,EAAM7jB,EAAO1C,OAAS,CAC1BxB,MAAKgoB,WACLhoB,KAAKkS,aASL,KAAK,GAND+V,GAAMjoB,KAAKqT,iBAAiB,oBAAsB,EAClD6U,EAAMloB,KAAKqT,iBAAiB,eAAiB,GAC7C8U,EAAO/lB,KAAKgmB,KAAKL,EAAM,GAEvB9V,EAASjS,KAAKmH,UAAU,UACxB8O,EAAajW,KAAKiW,aACbxU,EAAI,EAAOsmB,EAAJtmB,EAASA,IACvB,GAAKwU,EAAWxU,GAAhB,CAGA,GAAIgK,GAAQvH,EAAOzC,EAAI,GACnB4mB,EAAWroB,KAAKiL,YAAYrF,aAAa,QAAS6F,EACtD;IAAK4c,EACH,GAAIpW,EACFoW,EAAWpW,EAAOxQ,EAAIwQ,EAAOzQ,YACxB,CAEL,GAAIgD,GAAM/C,EAAI,EAAK0mB,GAAQ1mB,EAAI,GAAI,EAAKW,KAAKgmB,MAAM3mB,EAAI,GAAK,GACxD6mB,EAAO,EAAM9jB,GAAO,EAAIujB,EAC5BM,GAAWvjB,EAAQyjB,SAASD,EAAKL,EAAKC,GAG1CloB,KAAKgoB,QAAQ1mB,KAAK+mB,GAClBroB,KAAKkS,WAAWzG,GAAS4c,IAU7BvjB,EAAQ3E,UAAUoW,UAAY,WAC5B,MAAOvW,MAAKgoB,SAYdljB,EAAQ3E,UAAUqoB,uBAAyB,SAASC,GAGlD,IAAK,GAFDjkB,GAAM,GACNN,EAASlE,KAAKgW,YACTvU,EAAI,EAAGA,EAAIyC,EAAO1C,OAAQC,IACjC,GAAIyC,EAAOzC,IAAMgnB,EAAa,CAC5BjkB,EAAM/C,CACN,OAGJ,MAAW,IAAP+C,EAAkB,MAGpBQ,KAAMyjB,EACNC,OAAQlkB,EACRmkB,QAAS3oB,KAAKiW,aAAazR,EAAM,GACjC+K,MAAOvP,KAAKkS,WAAWuW,GACvBzkB,KAAM,EAAIhE,KAAKiL,YAAYhF,cAAcwiB,KAQ7C3jB,EAAQ3E,UAAUyoB,qBAAuB,WAElC5oB,KAAK6oB,UACR7oB,KAAK6oB,QAAU3a,SAASC,cAAc,SACtCnO,KAAK6oB,QAAQzF,KAAO,OACpBpjB,KAAK6oB,QAAQxa,MAAMya,QAAU,OAC7B9oB,KAAKwH,SAASkH,YAAY1O,KAAK6oB,SAGjC,IAAIC,GAAU9oB,KAAK8P,iBAAiB,cAAgB,QAAU,OAE1D9I,EAAOhH,KAAKgkB,SAAShd,KACrB+hB,GAAaxa,SAAY,WACZya,OAAU,GACVva,IAAQzH,EAAK3F,EAAI2F,EAAKI,EAAI,GAAM,KAChCoH,KAASxH,EAAK5F,EAAI,EAAK,KACvB0nB,QAAWA,EAE5B9oB,MAAK6oB,QAAQI,KAAO,IACpBjpB,KAAK6oB,QAAQve,MAAQtK,KAAK0gB,WAC1B,KAAK,GAAI1b,KAAQ+jB,GACXA,EAAS9kB,eAAee,KAC1BhF,KAAK6oB,QAAQxa,MAAMrJ,GAAQ+jB,EAAS/jB,GAIxC,IAAIlC,GAAU9C,IACdA,MAAK6oB,QAAQK,SAAW,WAAapmB,EAAQqmB,WAAWrmB,EAAQ+lB,QAAQve,SAQ1ExF,EAAQ3E,UAAUwiB,qBAAuB,WACvC,GAAIlV,IAEF2b,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,WAAY,KACZC,WAAY,KACZC,SAAU,KACVC,SAAU,KACVC,cAAe,KACfC,SAAU,KACVC,SAAU,KACVC,kBAAmB,KACnBC,oBAAoB,EAGpBC,oBAAqB,KAIrBC,eAAgB,KAKhBC,UAAW,KAIXxiB,GAAI,EACJyiB,GAAI,EAIJC,aAAc,KACdC,cAAe,KAIfC,KAAM,GAAIxlB,GAAQylB,WAGlBC,oBAAqB,SAASC,EAAOrgB,EAAGsgB,GAElCD,EAAM1H,eACR0H,EAAM1H,kBAEN0H,EAAME,aAAc,EACpBF,EAAMG,cAAe,EAGvB,IAAIC,GAAY/lB,EAAQgmB,QAAQ1gB,EAAEub,QAClC+E,GAAShjB,GAAKmjB,EAAUzpB,EACxBspB,EAASP,GAAKU,EAAUxpB,EACxBqpB,EAASnB,WAAazkB,EAAQimB,UAAUN,EAAOC,GAC/CA,EAASlB,WAAa1kB,EAAQkmB,UAAUP,EAAOC,GAC/CA,EAASX,oBAAqB,EAC9BW,EAASJ,KAAKW,SAEhB9D,QAAS,WACP,GAAI1Z,GAAUzN,IAOd,KANIyN,EAAQ2b,WAAa3b,EAAQ4b,aAC/B5b,EAAQ2b,WAAY,EACpB3b,EAAQ8b,WAAa,KACrB9b,EAAQ+b,WAAa,MAGnB/b,EAAQ4b,UAAW,CACrB5b,EAAQ4b,WAAY,EACpB5b,EAAQyd,aAAe,KACvBzd,EAAQyc,UAAY,IACpB,KAAK,GAAIzoB,GAAI,EAAGA,EAAI2e,EAAKyD,MAAMriB,OAAQC,UAC9B2e,GAAKyD,MAAMpiB,GAAG0pB,oBACd/K,GAAKyD,MAAMpiB,GAAG2pB,eAIzB3d,EAAQ6c,KAAKe,YAIb7M,EAAmBxe,KAAKmH,UAAU,oBAGlCiZ,EAAOpgB,KAGPsrB,EAAc,SAASC,GACzB,MAAO,UAASd,GACdc,EAAQd,EAAOrK,EAAM3S,IAIzB,KAAK,GAAI8U,KAAa/D,GACfA,EAAiBva,eAAese,IACrCviB,KAAK6mB,iBAAiB7mB,KAAKimB,mBAAoB1D,EAC3C+I,EAAY9M,EAAiB+D,IAKnC,KAAK/D,EAAiBgN,yBAA0B,CAC9C,GAAIC,GAAiB,WACnBhe,EAAQ0Z,UAGVnnB,MAAK6mB,iBAAiB3Y,SAAU,UAAWud,KA0B/C3mB,EAAQ3E,UAAUurB,cAAgB,SAASC,EAAWC,EAAQC,EAAMC,EACzBC,EAAMC,EAAepC,EACrBC,GACzC,GAAI1c,GAAMnN,KAAKoN,WAGX4e,IAAiBlnB,EAAQya,WAC3BpS,EAAIS,UAAUxL,KAAK6pB,IAAIL,EAAQhC,GAAW5pB,KAAKmmB,QAAQtf,cAAcxF,EACvDe,KAAK0W,IAAI8S,EAAShC,GAAW5pB,KAAKmmB,QAAQtf,cAAcO,GAC7D4kB,GAAiBlnB,EAAQ0a,UAClCrS,EAAIS,UAAU5N,KAAKmmB,QAAQtf,cAAczF,EAAGgB,KAAK6pB,IAAIH,EAAQjC,GAC/C7pB,KAAKmmB,QAAQtf,cAAcI,EAAG7E,KAAK0W,IAAIgT,EAASjC,IAI5D8B,GAAa7mB,EAAQya,WACnBsM,GAAQD,IACVze,EAAIiH,UAAY,yBAChBjH,EAAI+e,SAAS9pB,KAAK6pB,IAAIL,EAAQC,GAAO7rB,KAAKmmB,QAAQtf,cAAcxF,EACnDe,KAAK0W,IAAI+S,EAAOD,GAAS5rB,KAAKmmB,QAAQtf,cAAcO,IAE1DukB,GAAa7mB,EAAQ0a,UAC1BuM,GAAQD,IACV3e,EAAIiH,UAAY,yBAChBjH,EAAI+e,SAASlsB,KAAKmmB,QAAQtf,cAAczF,EAAGgB,KAAK6pB,IAAIH,EAAQC,GAC/C/rB,KAAKmmB,QAAQtf,cAAcI,EAAG7E,KAAK0W,IAAIiT,EAAOD,KAI3D9rB,KAAKgN,mBACPhN,KAAKmsB,sBAAwBR,EAAWC,EAAQC,EAAMC,EAAQC,EAAM,EAAG,EAAG,KAQ9EjnB,EAAQ3E,UAAUisB,eAAiB,WACjCpsB,KAAKmsB,qBAAuB,KAC5BnsB,KAAKoN,YAAYQ,UAAU,EAAG,EAAG5N,KAAKkH,OAAQlH,KAAKqH,UAarDvC,EAAQ3E,UAAUksB,SAAW,SAASC,EAAMC,GAC1CvsB,KAAKmsB,qBAAuB,IAG5B,IAAIK,GAAUxsB,KAAK8kB,aAAawH,GAC5BG,EAAUzsB,KAAK8kB,aAAayH,EAChCvsB,MAAK0sB,cAAcF,EAASC,IAY9B3nB,EAAQ3E,UAAUusB,cAAgB,SAASF,EAASC,GAIlD,GAAIE,GAAa3sB,KAAKkJ,aAClB0jB,GAAcJ,EAASC,EAC3BzsB,MAAKihB,WAAY,CACjB,IAAI4L,GAAO7sB,IACXA,MAAK8sB,eAAeH,EAAYC,EAAY,KAAM,KAAM,WAClDC,EAAKnJ,kBAAkB,iBACzBmJ,EAAKnJ,kBAAkB,gBAAgBviB,KAAK0rB,EACxCL,EAASC,EAASI,EAAKvI,kBAajCxf,EAAQ3E,UAAU4sB,SAAW,SAASC,EAAMC,GAC1CjtB,KAAKmsB,qBAAuB,IAO5B,KAAK,GAFDe,GAAiBltB,KAAKskB,cACtB6I,KACK1rB,EAAI,EAAGA,EAAIzB,KAAK6jB,MAAMriB,OAAQC,IAAK,CAC1C,GAAI2rB,GAAKptB,KAAK+kB,aAAaiI,EAAMvrB,GAC7B4rB,EAAMrtB,KAAK+kB,aAAakI,EAAOxrB,EACnC0rB,GAAe7rB,MAAM+rB,EAAKD,IAG5BptB,KAAKkhB,WAAY,CACjB,IAAI2L,GAAO7sB,IACXA,MAAK8sB,eAAe,KAAM,KAAMI,EAAgBC,EAAgB,WAC9D,GAAIN,EAAKnJ,kBAAkB,gBAAiB,CAC1C,GAAIiB,GAASkI,EAAK3jB,YAClB2jB,GAAKnJ,kBAAkB,gBAAgBviB,KAAK0rB,EACxClI,EAAO,GAAIA,EAAO,GAAIkI,EAAKvI,mBAUrCxf,EAAQwoB,sBAAwB,SAASC,EAAOC,GAC9C,GAAIrhB,GAAI,GACR,QAAQ,EAAM/J,KAAK2W,IAAI5M,GAAIohB,KAAW,EAAMnrB,KAAK2W,IAAI5M,GAAIqhB,KAO3D1oB,EAAQ3E,UAAUstB,UAAY,WAC5B,GAAIC,IAAQ,EAAOC,GAAS,EAAOC,GAAS,CACnB,QAArB5tB,KAAK8gB,cACP4M,GAAQ,EACRC,GAAS,EAGX,KAAK,GAAIlsB,GAAI,EAAGA,EAAIzB,KAAK6jB,MAAMriB,OAAQC,IACK,mBAA/BzB,MAAK6jB,MAAMpiB,GAAc,aAAmD,OAA9BzB,KAAK6jB,MAAMpiB,GAAGosB,cACrEH,GAAQ,EACRE,GAAS,EAOb,IAFA5tB,KAAK8tB,iBAEDJ,EAAO,CACT1tB,KAAKihB,WAAY,EACjBjhB,KAAKkhB,WAAY,CAEjB,IAAIsL,GAAUxsB,KAAKkkB,SAAS,GAAG,GAC3BuI,EAAUzsB,KAAKkkB,SAASlkB,KAAKkkB,SAAS1iB,OAAS,GAAG,EAItD,KAAKxB,KAAK8P,iBAAiB,iBAAkB,CAE3C,IADA9P,KAAK8gB,YAAc,KACdrf,EAAI,EAAGA,EAAIzB,KAAK6jB,MAAMriB,OAAQC,IACC,OAA9BzB,KAAK6jB,MAAMpiB,GAAGosB,mBACT7tB,MAAK6jB,MAAMpiB,GAAGosB,WAQzB,OALA7tB,MAAK+tB,kBACD/tB,KAAK0jB,kBAAkB,iBACzB1jB,KAAK0jB,kBAAkB,gBAAgBviB,KAAKnB,KACxCwsB,EAASC,EAASzsB,KAAKskB,gBAK/B,GAAI0J,GAAU,KAAMC,EAAU,KAAMf,EAAe,KAAMC,EAAe,IAMxE,IALIQ,IACFK,EAAYhuB,KAAKkJ,aACjB+kB,GAAazB,EAASC,IAGpBmB,EAAQ,CACVV,EAAiBltB,KAAKskB,aAEtB,IAAI4J,GAASluB,KAAKmuB,gBAAgBnuB,KAAKouB,cAAe,MAClDC,EAAWH,EAAOG,QAStB,KAHAruB,KAAKsuB,oBAAoBD,GAEzBlB,KACK1rB,EAAI,EAAGA,EAAIzB,KAAK6jB,MAAMriB,OAAQC,IAAK,CACtC,GAAIuC,GAAOhE,KAAK6jB,MAAMpiB,EACtB0rB,GAAe7rB,KAA0B,OAApB0C,EAAKuqB,YACertB,SAApB8C,EAAKuqB,WACNvqB,EAAKuqB,WAAavqB,EAAKwqB,eAI/C,GAAI3B,GAAO7sB,IACXA,MAAK8sB,eAAekB,EAAWC,EAAWf,EAAgBC,EACtD,WACEN,EAAK/L,YAAc,IACnB,KAAK,GAAIrf,GAAI,EAAGA,EAAIorB,EAAKhJ,MAAMriB,OAAQC,IACH,OAA9BorB,EAAKhJ,MAAMpiB,GAAGosB,mBACThB,GAAKhJ,MAAMpiB,GAAGosB,WAGrBhB,GAAKnJ,kBAAkB,iBACzBmJ,EAAKnJ,kBAAkB,gBAAgBviB,KAAK0rB,EACxCL,EAASC,EAASI,EAAKvI,mBAWvCxf,EAAQ3E,UAAU2sB,eAAiB,SAAS2B,EAAWC,EAAWC,EAAYC,EAAYnM,GACxF,GAKIoM,GAAM1T,EALN2T,EAAQ9uB,KAAK8P,iBAAiB,iBAC9BhL,EAAQoT,gBAAkB,EAE1B6W,KACAC,IAGJ,IAAkB,OAAdP,GAAoC,OAAdC,EACxB,IAAKG,EAAO,EAAWC,GAARD,EAAeA,IAC5B1T,EAAOrW,EAAQwoB,sBAAsBuB,EAAMC,GAC3CC,EAAQF,EAAK,IAAMJ,EAAU,IAAI,EAAEtT,GAAQA,EAAKuT,EAAU,GACvCD,EAAU,IAAI,EAAEtT,GAAQA,EAAKuT,EAAU,GAI9D,IAAmB,OAAfC,GAAsC,OAAfC,EACzB,IAAKC,EAAO,EAAWC,GAARD,EAAeA,IAAQ,CACpC1T,EAAOrW,EAAQwoB,sBAAsBuB,EAAMC,EAE3C,KAAK,GADDG,MACKptB,EAAI,EAAGA,EAAI7B,KAAK6jB,MAAMriB,OAAQK,IACrCotB,EAAU3tB,MAAMqtB,EAAW9sB,GAAG,IAAI,EAAEsZ,GAAQA,EAAKyT,EAAW/sB,GAAG,GAC/C8sB,EAAW9sB,GAAG,IAAI,EAAEsZ,GAAQA,EAAKyT,EAAW/sB,GAAG,IAEjEmtB,GAAYH,EAAK,GAAKI,EAI1B,GAAIpC,GAAO7sB,IACX8E,GAAQoqB,iBAAiB,SAASL,GAChC,GAAIG,EAAYxtB,OACd,IAAK,GAAIC,GAAI,EAAGA,EAAIorB,EAAKhJ,MAAMriB,OAAQC,IAAK,CAC1C,GAAIwF,GAAI+nB,EAAYH,GAAMptB,EAC1BorB,GAAKhJ,MAAMpiB,GAAGosB,aAAe5mB,EAAE,GAAIA,EAAE,IAGrC8nB,EAAQvtB,SACVqrB,EAAK/L,YAAciO,EAAQF,IAE7BhC,EAAKkB,cACJe,EAAOhqB,EAAQqT,mBAAqB2W,EAAOrM,IAQhD3d,EAAQ3E,UAAUgvB,QAAU,WAC1B,MAAOnvB,MAAKgkB,SAAShd,MAQvBlC,EAAQ3E,UAAUivB,iBAAmB,SAAS3E,GAC5C,GAAIA,EAAM4E,SAAW5E,EAAM6E,QACzB,OAAS7E,EAAM4E,QAAS5E,EAAM6E,QAE9B,IAAIC,GAAkBzqB,EAAQgmB,QAAQ9qB,KAAKimB,oBACvC1U,EAAUzM,EAAQ0qB,MAAM/E,GAAS8E,EAAgBnuB,EACjDkQ,EAAUxM,EAAQ2qB,MAAMhF,GAAS8E,EAAgBluB,CACrD,QAAQkQ,EAASD,IAUrBxM,EAAQ3E,UAAUuvB,eAAiB,SAASC,GAI1C,IAAK,GAHDC,GAAWC,IACXC,EAAa,GACbhe,EAAO9R,KAAKmmB,QAAQ9f,OACf5E,EAAI,EAAGA,EAAIqQ,EAAKtQ,OAAQC,IAG/B,IAAK,GAFD4E,GAASyL,EAAKrQ,GACdU,EAAMkE,EAAO7E,OACRK,EAAI,EAAOM,EAAJN,EAASA,IAAK,CAC5B,GAAIqJ,GAAQ7E,EAAOxE,EACnB,IAAKiD,EAAQirB,aAAa7kB,GAAO,GAAjC,CACA,GAAI8kB,GAAO5tB,KAAK0W,IAAI5N,EAAMqG,QAAUoe,EACzBC,GAAPI,IACFJ,EAAWI,EACXF,EAAa5kB,EAAM1G,MAKzB,MAAOsrB,IAeThrB,EAAQ3E,UAAU8vB,iBAAmB,SAASN,EAAMO,GAGlD,IAAM,GADFF,GAAM/tB,EAAIC,EAAIgJ,EAAOilB,EAAcC,EAAeN,EADlDO,EAAUR,IAEJhlB,EAAS7K,KAAKmmB,QAAQ9f,OAAO7E,OAAS,EAAIqJ,GAAU,IAAMA,EAElE,IAAK,GADDxE,GAASrG,KAAKmmB,QAAQ9f,OAAOwE,GACxBpJ,EAAI,EAAGA,EAAI4E,EAAO7E,SAAUC,EACnCyJ,EAAQ7E,EAAO5E,GACVqD,EAAQirB,aAAa7kB,KAC1BjJ,EAAKiJ,EAAMqG,QAAUoe,EACrBztB,EAAKgJ,EAAMoG,QAAU4e,EACrBF,EAAO/tB,EAAKA,EAAKC,EAAKA,EACXmuB,EAAPL,IACFK,EAAUL,EACVG,EAAejlB,EACfklB,EAAgBvlB,EAChBilB,EAAa5kB,EAAM1G,KAIzB,IAAIQ,GAAOhF,KAAKmmB,QAAQ7f,SAAS8pB,EACjC,QACE7K,IAAKuK,EACLrrB,WAAYO,EACZkG,MAAOilB,IAgBXrrB,EAAQ3E,UAAUmwB,iBAAmB,SAASX,EAAMO,GAGlD,IAAK,GADDC,GAAcC,EADd7K,EAAMvlB,KAAK0vB,eAAeC,GAErB9kB,EAAS,EAAGA,EAAS7K,KAAKmmB,QAAQ9f,OAAO7E,SAAUqJ,EAAQ,CAClE,GAAI0lB,GAAWvwB,KAAKwwB,iBAAiB3lB,GACjC4lB,EAASlL,EAAMgL,EACflqB,EAASrG,KAAKmmB,QAAQ9f,OAAOwE,EACjC,MAAI4lB,GAAUpqB,EAAO7E,QAArB,CACA,GAAIkvB,GAAKrqB,EAAOoqB,EAChB,IAAK3rB,EAAQirB,aAAaW,GAA1B,CACA,GAAIvG,GAAKuG,EAAGpf,OACZ,IAAIqe,EAAOe,EAAGnf,SAAWkf,EAAS,EAAIpqB,EAAO7E,OAAQ,CAEnD,GAAImvB,GAAKtqB,EAAOoqB,EAAS,EACzB,IAAI3rB,EAAQirB,aAAaY,GAAK,CAC5B,GAAI1uB,GAAK0uB,EAAGpf,QAAUmf,EAAGnf,OACzB,IAAItP,EAAK,EAAG,CACV,GAAI0F,IAAKgoB,EAAOe,EAAGnf,SAAWtP,CAC9BkoB,IAAMxiB,GAAKgpB,EAAGrf,QAAUof,EAAGpf,eAG1B,IAAIqe,EAAOe,EAAGnf,SAAWkf,EAAS,EAAG,CAE1C,GAAIG,GAAKvqB,EAAOoqB,EAAS,EACzB,IAAI3rB,EAAQirB,aAAaa,GAAK,CAC5B,GAAI3uB,GAAKyuB,EAAGnf,QAAUqf,EAAGrf,OACzB,IAAItP,EAAK,EAAG,CACV,GAAI0F,IAAK+oB,EAAGnf,QAAUoe,GAAQ1tB,CAC9BkoB,IAAMxiB,GAAKipB,EAAGtf,QAAUof,EAAGpf,YAKlB,IAAXzG,GAAqBqlB,EAAL/F,KAClBgG,EAAeO,EACfN,EAAgBvlB,KAGpB,GAAI7F,GAAOhF,KAAKmmB,QAAQ7f,SAAS8pB,EACjC,QACE7K,IAAKA,EACL9gB,WAAYO,EACZkG,MAAOilB,IAWXrrB,EAAQ3E,UAAUkmB,WAAa,SAASoE,GAEtC,GAAIpkB,GAASrG,KAAKmmB,QAAQ9f,MAC1B,IAAenF,SAAXmF,GAAmC,OAAXA,EAA5B,CAEA,GAAIwqB,GAAe7wB,KAAKovB,iBAAiB3E,GACrClZ,EAAUsf,EAAa,GACvBvf,EAAUuf,EAAa,GAEvBhV,EAAsB7b,KAAKmH,UAAU,uBACrC2pB,GAAmB,CACvB,IAAIjV,IAAwB7b,KAAK+wB,iBAAkB,CACjD,GAAIC,EAEFA,GADEhxB,KAAK8P,iBAAiB,gBACd9P,KAAKswB,iBAAiB/e,EAASD,GAE/BtR,KAAKiwB,iBAAiB1e,EAASD,GAE3Cwf,EAAmB9wB,KAAKixB,aAAaD,EAAQzL,IAAKyL,EAAQvsB,gBACrD,CACL,GAAID,GAAMxE,KAAK0vB,eAAene,EAC9Buf,GAAmB9wB,KAAKixB,aAAazsB,GAGvC,GAAIie,GAAWziB,KAAK0jB,kBAAkB,oBAClCjB,IAAYqO,GACdrO,EAASthB,KAAKnB,KAAMyqB,EAChBzqB,KAAKkxB,OACLlxB,KAAKmxB,WACLnxB,KAAKoxB,SACLpxB,KAAKqxB,iBASbvsB,EAAQ3E,UAAUqwB,iBAAmB,SAAS3lB,GAC5C,GAAI7K,KAAKuhB,aAAa1W,GAClB,MAAO7K,MAAKuhB,aAAa1W,GAAQ,EAEnC,KAAK,GAAIpJ,GAAI,EAAGA,EAAIzB,KAAKuhB,aAAa/f,OAAQC,IAC5C,GAA6BP,SAAzBlB,KAAKuhB,aAAa9f,GACpB,MAAOzB,MAAKuhB,aAAa9f,GAAG,EAGhC,OAAO,IAIXqD,EAAQ3E,UAAUmxB,kBAAoB,SAAS3F,GAC7C,GAAI4F,GAAa,GACbvW,EAAS,EACU9Z,UAAnBlB,KAAKwxB,YAAyBxxB,KAAKwxB,UAAY,GAC5BtwB,SAAnBlB,KAAKyxB,YAAyBzxB,KAAKyxB,UAAY,EACnD,IAAIC,GAAQ1xB,KAAKwxB,UACb1C,EAAoB,EAAZnD,EAAgB+F,EAAQH,EAAaG,CACjD,IAAa,GAAT5C,EAIF,YAHI9uB,KAAKwxB,WACPxxB,KAAK2xB,iBAAiB,GAK1B,IAAIC,KAAW5xB,KAAKyxB,UAChB5E,EAAO7sB,IACX8E,GAAQoqB,iBACN,WAEMrC,EAAK4E,WAAaG,IAEtB/E,EAAK2E,WAAa7F,EACK,IAAnBkB,EAAK2E,UACP3E,EAAKiB,iBAELjB,EAAK8E,iBAAiB9E,EAAK2E,UAAYD,KAG3CzC,EAAO9T,EAAQ,eAQnBlW,EAAQ3E,UAAUwxB,iBAAmB,SAASE,GAE5C7xB,KAAKgI,eAAe,UAClB8pB,UAAW9xB,KAAKkxB,OAChBa,eAAgB/xB,KAAKmxB,YAKvB,IAAI1vB,GACA0L,EAAMnN,KAAKoN,WACf,IAAIpN,KAAKmH,UAAU,uBAAwB,CACzCgG,EAAIS,UAAU,EAAG,EAAG5N,KAAKkH,OAAQlH,KAAKqH,QACtC,IAAI2qB,GAAQ,EAAMhyB,KAAKqT,iBAAiB,iCACxC,IAAI2e,EAAO,CAIT,GAAIC,IAAwB,CAC5B,IAAIA,EAAuB,CACzB,GAAyB/wB,SAArB2wB,EAGF,WADA7xB,MAAKsxB,kBAAkB,EAGzBU,IAASH,EAEX1kB,EAAIiH,UAAY,oBAAsB4d,EAAQ,IAC9C7kB,EAAI+e,SAAS,EAAG,EAAGlsB,KAAKkH,OAAQlH,KAAKqH,SAKvCrH,KAAKgkB,SAASjW,iBAAiB/N,KAAKqxB,cAAelkB,OAC9C,IAAInN,KAAK4gB,oBAAsB,EAAG,CAEvC,GAAIsR,GAAgB,EAChBhuB,EAASlE,KAAKwjB,MAAM,SACxB,KAAK/hB,EAAI,EAAGA,EAAIyC,EAAO1C,OAAQC,IAAK,CAClC,GAAIkG,GAAI3H,KAAKqT,iBAAiB,sBAAuBnP,EAAOzC,GACxDkG,GAAIuqB,IAAeA,EAAgBvqB,GAEzC,GAAID,GAAK1H,KAAK4gB,kBACdzT,GAAIS,UAAUlG,EAAKwqB,EAAgB,EAAG,EACxB,EAAIA,EAAgB,EAAGlyB,KAAKqH,SAO5C,GAJIrH,KAAKgN,kBAAoBhN,KAAKmsB,sBAChCrnB,EAAQ3E,UAAUurB,cAAcyG,MAAMnyB,KAAMA,KAAKmsB,sBAG/CnsB,KAAKmxB,WAAW3vB,OAAS,EAAG,CAE9B,GAAI+P,GAAUvR,KAAKmxB,WAAW,GAAG5f,OAEjC,KADApE,EAAInL,OACCP,EAAI,EAAGA,EAAIzB,KAAKmxB,WAAW3vB,OAAQC,IAAK,CAC3C,GAAIoV,GAAK7W,KAAKmxB,WAAW1vB,EACzB,IAAKqD,EAAQmS,KAAKJ,EAAGvF,SAArB,CAEA,GAAI8gB,GAAapyB,KAAKqT,iBAAiB,sBAAuBwD,EAAG7R,MAC7Dyd,EAAWziB,KAAK0jB,kBAAkB,6BAA8B7M,EAAG7R,MACnEuK,EAAQvP,KAAKgkB,SAAS/R,OAAO4E,EAAG7R,KAC/Byd,KACHA,EAAW3d,EAAQwO,QAAQC,SAE7BpG,EAAI2D,UAAY9Q,KAAKqT,iBAAiB,cAAewD,EAAG7R,MACxDmI,EAAI0D,YAActB,EAClBpC,EAAIiH,UAAY7E,EAChBkT,EAASthB,KAAKnB,KAAMA,KAAM6W,EAAG7R,KAAMmI,EAAKoE,EAASsF,EAAGvF,QAChD/B,EAAO6iB,EAAYvb,EAAGrS,MAE5B2I,EAAIvK,UAEJ5C,KAAK4gB,mBAAqBrP,IAgB9BzM,EAAQ3E,UAAU8wB,aAAe,SAAS1L,EAAKxT,EAAgBsgB,GAE7DryB,KAAKmxB,aAEL,IAAImB,IAAU,CACd,IAAI/M,KAAQ,GAASA,GAAO,EAAG,CACzBA,GAAOvlB,KAAKoxB,WAAUkB,GAAU,GACpCtyB,KAAKoxB,SAAW7L,CAChB,KAAK,GAAI1a,GAAS,EAAGA,EAAS7K,KAAKmmB,QAAQ9f,OAAO7E,SAAUqJ,EAAQ,CAClE,GAAIxE,GAASrG,KAAKmmB,QAAQ9f,OAAOwE,GAI7B0nB,EAAShN,EAAMvlB,KAAKwwB,iBAAiB3lB,EACzC,IAAI0nB,EAASlsB,EAAO7E,QAAU6E,EAAOksB,GAAQ/tB,KAAO+gB,EAAK,CACvD,GAAIra,GAAQ7E,EAAOksB,EACA,QAAfrnB,EAAMC,MAAenL,KAAKmxB,WAAW7vB,KAAK4J,OAE9C,KAAK,GAAIsnB,GAAW,EAAGA,EAAWnsB,EAAO7E,SAAUgxB,EAAU,CAC3D,GAAItnB,GAAQ7E,EAAOmsB,EACnB,IAAItnB,EAAM1G,KAAO+gB,EAAK,CACD,OAAfra,EAAMC,MACRnL,KAAKmxB,WAAW7vB,KAAK4J,EAEvB,cAMJlL,MAAKoxB,UAAY,IAAGkB,GAAU,GAClCtyB,KAAKoxB,SAAW,EAqBlB,OAjBEpxB,MAAKkxB,OADHlxB,KAAKmxB,WAAW3vB,OACJxB,KAAKmxB,WAAW,GAAG9oB,KAEnB,GAGOnH,SAAnB6Q,IACE/R,KAAKqxB,gBAAkBtf,IAAgBugB,GAAU,GACrDtyB,KAAKqxB,cAAgBtf,GAGJ7Q,SAAfmxB,IACFryB,KAAKyyB,WAAaJ,GAGhBC,GACFtyB,KAAK2xB,iBAAiBzwB,QAEjBoxB,GAQTxtB,EAAQ3E,UAAUymB,UAAY,SAAS6D,GACjCzqB,KAAK0jB,kBAAkB,wBACzB1jB,KAAK0jB,kBAAkB,uBAAuBviB,KAAKnB,KAAMyqB,GAGvDzqB,KAAK8P,iBAAiB,2BAA6B9P,KAAKyyB,YAC1DzyB,KAAK8tB,kBAQThpB,EAAQ3E,UAAU2tB,eAAiB,WAKjC,MAJA9tB,MAAKgI,eAAe,eAEpBhI,KAAKyyB,YAAa,EAEdzyB,KAAKwxB,cACPxxB,MAAKsxB,kBAAkB,KAGzBtxB,KAAKoN,YAAYQ,UAAU,EAAG,EAAG5N,KAAKkH,OAAQlH,KAAKqH,SACnDrH,KAAKwxB,UAAY,EACjBxxB,KAAKmxB,cACLnxB,KAAKkxB,OAAS,GACdlxB,KAAKoxB,SAAW,QAChBpxB,KAAKqxB,cAAgB,QAQvBvsB,EAAQ3E,UAAUuyB,aAAe,WAC/B,IAAK1yB,KAAKmxB,YAAcnxB,KAAKmxB,WAAW3vB,OAAS,EAC/C,MAAO,EAGT,KAAK,GAAIqJ,GAAS,EAAGA,EAAS7K,KAAKmmB,QAAQ9f,OAAO7E,OAAQqJ,IAExD,IAAK,GADDxE,GAASrG,KAAKmmB,QAAQ9f,OAAOwE,GACxB0a,EAAM,EAAGA,EAAMlf,EAAO7E,OAAQ+jB,IACrC,GAAIlf,EAAOkf,GAAKnkB,GAAKpB,KAAKmxB,WAAW,GAAG/vB,EACtC,MAAOiF,GAAOkf,GAAK/gB,GAIzB,OAAO,IAOTM,EAAQ3E,UAAU0F,mBAAqB,WACrC,MAAO7F,MAAKqxB,eAOdvsB,EAAQ3E,UAAU4wB,eAAiB,WACjC,MAAO/wB,MAAKyyB,YAQd3tB,EAAQ3E,UAAUwyB,aAAe,SAASvb,GACxCpX,KAAKkkB,SAAWlkB,KAAK4yB,UAAUxb,GAC/BpX,KAAK6yB,6BACL7yB,KAAK8yB,YAOPhuB,EAAQ3E,UAAU4yB,WAAa,WAE7B,GAAI3O,EAEFA,GADEpkB,KAAK8gB,aACE9gB,KAAK8gB,YAAY,GAAI9gB,KAAK8gB,YAAY,IAEvC9gB,KAAK8jB,eAGf,IAAIkP,GAAmBhzB,KAAK2jB,oBAAoB,KAC5Cnb,EAASwqB,EAAiB,UAC1B5O,EAAM,GACNA,EAAM,GACNpkB,KAAKgkB,SAAShd,KAAKC,EACnB+rB,EACAhzB,KAGJA,MAAKmmB,QAAQ5d,UAAUC,IAOzB1D,EAAQ3E,UAAU8yB,iBAAmB,WACnC,GAAIC,EAgBJ,OAdEA,GADElzB,KAAKwjB,MAAM,eACGxjB,KAAKwjB,MAAM,eAClBxjB,KAAK6gB,WACV7gB,KAAK8P,iBAAiB,aACThL,EAAQquB,aAAaC,qBAErBtuB,EAAQquB,aAAaE,uBAE7BrzB,KAAK8P,iBAAiB,cAChBhL,EAAQquB,aAAaG,kBAC3BtzB,KAAK8P,iBAAiB,aAChBhL,EAAQquB,aAAaI,iBAErBzuB,EAAQquB,aAAaK,gBAaxC1uB,EAAQ3E,UAAU2yB,SAAW,WAC3B,GAAIpB,GAAQ,GAAI+B,KAGhBzzB,MAAKsL,aAAe,IAAKtL,KAAKizB,oBAE9BjzB,KAAKmmB,QAAQpf,kBAGb/G,KAAK0zB,gBAEA1zB,KAAKuX,mBACRvX,KAAKoN,YAAYxK,UACjB5C,KAAKuN,YAAY3K,WAGnB5C,KAAKoN,YAAYpL,OACjBhC,KAAKuN,YAAYvL,OAGjBhC,KAAKgkB,SAAW,GAAIxX,uBAAsBxM,KACAA,KAAK6lB,QACL7lB,KAAKuN,YACLvN,KAAKmmB,SAI/CnmB,KAAK4oB,uBAEL5oB,KAAKgI,eAAe,WAIpBhI,KAAKouB,eAAiB,KACtB,KAAK,GAAI3sB,GAAI,EAAGA,EAAIzB,KAAKqlB,aAAc5jB,IAAK,CAE1C,GAAI2C,GAASpE,KAAKsL,aAAaqoB,cAAc3zB,KAAKkkB,SAAUziB,EAAGzB,KAAKiL,YAChEjL,MAAK0gB,YAAc,IACrBtc,EAASpE,KAAKsL,aAAasoB,eAAexvB,EAAQpE,KAAK0gB,YAAa1gB,KAAKiL,cAG3EjL,KAAKouB,cAAc9sB,KAAK8C,GAI1BpE,KAAK+tB,YAGL,IAAI8F,GAAM,GAAIJ,KACdzzB,MAAK8zB,eAAkBD,EAAMnC,GA0B/B5sB,EAAQivB,UAAY7yB,OAoBpB4D,EAAQkvB,aAAe,SACnB3tB,EAAQ4tB,EAAgBC,EAAgBC,GA0B1C,IAAK,GAzBDC,GAAW,KACXC,EAAY,KACZC,EAAY,KACZC,EAAe,GAGfC,EAAkB,SAAShwB,GAG7B,KAAI+vB,GAAgB/vB,GAIpB,IAAK,GAAI3C,GAAI2C,EAAK3C,EAAIwE,EAAO7E,SAAUK,EAIrC,GADAyyB,EAAY,MACPnqB,MAAM9D,EAAOxE,GAAGsJ,OAA4B,OAAnB9E,EAAOxE,GAAGsJ,KAAe,CACrDopB,EAAe1yB,EACfyyB,EAAYjuB,EAAOxE,EACnB,SAKGJ,EAAI,EAAGA,EAAI4E,EAAO7E,SAAUC,EAAG,CACtC,GAAIyJ,GAAQ7E,EAAO5E,GACf4G,EAAO6C,EAAM7C,IACYnH,UAAzB+yB,EAAe5rB,KACjB4rB,EAAe5rB,GAAQ,EAGzB,IAAIosB,GAAavpB,EAAMC,IACnBhB,OAAMsqB,IAA8B,OAAfA,EACN,QAAdN,EACDM,EAAa,GAGbD,EAAgB/yB,GAGdgzB,EAFEJ,GAAaC,GAA2B,QAAdH,EAEfE,EAAUlpB,MAAQmpB,EAAUnpB,KAAOkpB,EAAUlpB,QACpD9C,EAAOgsB,EAAUhsB,OAASisB,EAAUjsB,KAAOgsB,EAAUhsB,OAClDgsB,GAA2B,OAAdF,EACTE,EAAUlpB,KACdmpB,GAA2B,OAAdH,EACTG,EAAUnpB,KAEV,GAIjBkpB,EAAYnpB,CAGd,IAAIwpB,GAAcT,EAAe5rB,EAC7B+rB,IAAY/rB,IAEdqsB,GAAeD,EACfR,EAAe5rB,GAAQqsB,GAEzBN,EAAW/rB,EAEX6C,EAAMG,aAAeqpB,EAEjBA,EAAcR,EAAe,KAC/BA,EAAe,GAAKQ,GAElBA,EAAcR,EAAe,KAC/BA,EAAe,GAAKQ,KAyB1B5vB,EAAQ3E,UAAUguB,gBAAkB,SAASwG,EAAc5T,GACzD,GAII6T,GAAWC,EACXC,EAAUC,EACVzvB,EAKAlB,EAXA4wB,KACA3uB,KACA4tB,KACA5F,KAOA4G,EAAaN,EAAanzB,OAAS,CAEvC,KAAKozB,EAAYK,EAAYL,GAAa,EAAGA,IAC3C,GAAK50B,KAAKiW,aAAa2e,EAAY,GAAnC,CAKA,GAAI7T,EAAY,CACd3c,EAASuwB,EAAaC,EACtB,IAAIvH,GAAMtM,EAAW,GACjBmU,EAAOnU,EAAW,EAMtB,KAFA+T,EAAW,KACXC,EAAU,KACLF,EAAY,EAAGA,EAAYzwB,EAAO5C,OAAQqzB,IACzCzwB,EAAOywB,GAAW,IAAMxH,GAAoB,OAAbyH,IACjCA,EAAWD,GAETzwB,EAAOywB,GAAW,IAAMK,IAC1BH,EAAUF,EAIG,QAAbC,IAAmBA,EAAW,EAGlC,KAFA,GAAIK,GAAoBL,EACpBM,GAAiB,EACdA,GAAkBD,EAAoB,GAC3CA,IAEAC,EAAkD,OAAjChxB,EAAO+wB,GAAmB,EAG7B,QAAZJ,IAAkBA,EAAU3wB,EAAO5C,OAAS,EAChD,IAAI6zB,GAAmBN,CAEvB,KADAK,GAAiB,EACVA,GAAkBC,EAAmBjxB,EAAO5C,OAAS,GAC1D6zB,IACAD,EAAiD,OAAhChxB,EAAOixB,GAAkB,EAGxCF,KAAoBL,IACtBA,EAAWK,GAETE,IAAqBN,IACvBA,EAAUM,GAGZL,EAAYJ,EAAU,IAAME,EAAUC,GAGtC3wB,EAASA,EAAOD,MAAM2wB,EAAUC,EAAU,OAE1C3wB,GAASuwB,EAAaC,GACtBI,EAAYJ,EAAU,IAAM,EAAGxwB,EAAO5C,OAAO,EAG/C,IAAIiD,GAAazE,KAAKwjB,MAAM,UAAUoR,GAClCV,EAAiBl0B,KAAKsL,aAAagqB,kBAAkBlxB,EACrD2c,EAAY/gB,KAAK8P,iBAAiB,WAAWrL,IAE7C8wB,EAAev1B,KAAKsL,aAAakqB,eAAepxB,EAChDK,EAAYuwB,EAAYJ,EAAU,GAAG,GAErC50B,MAAK8P,iBAAiB,kBACxBxK,EAAUtF,KAAKiL,YAAYhF,cAAcxB,GACTvD,SAA5B+yB,EAAe3uB,KACjB2uB,EAAe3uB,OAEjBR,EAAQkvB,aAAauB,EAActB,EAAe3uB,GAAU4uB,EACvCl0B,KAAK8P,iBAAiB,yBAG7Cue,EAAS5pB,GAAcyvB,EACvB7tB,EAAOuuB,GAAaW,EAGtB,OAASlvB,OAAQA,EAAQgoB,SAAUA,EAAU2G,YAAaA,IAU5DlwB,EAAQ3E,UAAU4tB,WAAa,WAC7B,GAAI2D,GAAQ,GAAI+B,MAGZgC,EAAkBz1B,KAAKuX,gBAC3BvX,MAAKuX,kBAAmB,EAExBvX,KAAKmmB,QAAQ9Z,oBACbrM,KAAK8nB,aACL9nB,KAAKoD,OAAOwM,UAAY,GAAM5P,KAAKqT,iBAAiB,sBAEpD,IAAI6a,GAASluB,KAAKmuB,gBAAgBnuB,KAAKouB,cAAepuB,KAAK8gB,aACvDza,EAAS6nB,EAAO7nB,OAChBgoB,EAAWH,EAAOG,QACtBruB,MAAKuhB,aAAe2M,EAAO8G,YAE3Bh1B,KAAKwhB,kBACL,IAAItd,GAASlE,KAAKwjB,MAAM,SACpBtf,GAAO1C,OAAS,IAClBxB,KAAKwhB,gBAAgBtd,EAAO,IAAM,EAGpC,KAAK,GADDwxB,GAAU,EACLj0B,EAAI,EAAGA,EAAI4E,EAAO7E,OAAQC,IACjCzB,KAAKwhB,gBAAgBtd,EAAOzC,IAAMA,EAC7BzB,KAAKiW,aAAaxU,EAAI,KAC3BzB,KAAKmmB,QAAQzf,WAAWxC,EAAOzC,GAAI4E,EAAO5E,IAC1CzB,KAAKyhB,cAAchgB,GAAKi0B,IAG1B11B,MAAKsuB,oBAAoBD,GACzBruB,KAAKmmB,QAAQ1d,SAASzI,KAAK6jB,OAE3B7jB,KAAK+yB,YAGL,IAAI4C,GAAe31B,KAAKihB,SAMxB,IAJAjhB,KAAKihB,UAAY0U,EACjB31B,KAAKmmB,QAAQxd,WACb3I,KAAK41B,aAAaH,GAEdz1B,KAAKyjB,gBAAgB,cAAe,CACtC,GAAIoQ,GAAM,GAAIJ,KACdxzB,SAAQ41B,IAAI71B,KAAKyjB,gBAAgB,cAAgB,kBAAoBoQ,EAAMnC,GAAS,QAUxF5sB,EAAQ3E,UAAUy1B,aAAe,SAASH,GACxCz1B,KAAKgI,eAAe,cACpBhI,KAAKgkB,SAASxW,QAEVxN,KAAK0jB,kBAAkB,qBAGzB1jB,KAAK0jB,kBAAkB,oBAAoBviB,KAAKnB,KAC5CA,KAAKuN,YAAavN,KAAKmmB,QAAQtf,cAAe7G,KAAMA,KAG1D,IAAIsH,IACFsgB,OAAQ5nB,KAAK6lB,QACbzV,eAAgBpQ,KAAKuN,YAcvB,IAZAvN,KAAKgI,eAAe,gBAAiBV,GACrCtH,KAAKgkB,SAASnW,SACd7N,KAAKgI,eAAe,eAAgBV,GACpCtH,KAAKoxB,SAAW,GAIhBpxB,KAAK2lB,QAAQI,WAAW,MAAMnY,UAAU,EAAG,EAAG5N,KAAKkH,OAAQlH,KAAKqH,SAEjB,OAA3CrH,KAAK0jB,kBAAkB,iBACzB1jB,KAAK0jB,kBAAkB,gBAAgB1jB,KAAMy1B,GAE3CA,EAEF,IADAz1B,KAAK81B,aAAc,EACZ91B,KAAKwX,UAAUhW,OAAS,GAAG,CAChC,GAAIu0B,GAAK/1B,KAAKwX,UAAUzX,KACxBg2B,GAAG/1B,QAeT8E,EAAQ3E,UAAUuzB,cAAgB,WAGhC,GAAIsC,GAAchyB,EAAMiyB,EAAO5e,EAAMxL,CACrC,IAAmB3K,SAAflB,KAAK6jB,OAAuB7jB,KAAKsD,YAAYW,eAAe,iBAAkB,EAEhF,IADA+xB,KACKC,EAAQ,EAAGA,EAAQj2B,KAAK6jB,MAAMriB,OAAQy0B,IACzCD,EAAa10B,KAAKtB,KAAK6jB,MAAMoS,GAAOpI,YASxC,KAFA7tB,KAAK6jB,SAEA7f,EAAO,EAAGA,EAAOhE,KAAKiL,YAAYjF,UAAWhC,IAEhDqT,GAASjN,EAAIpK,MACb8E,EAAQC,OAAOsS,EAAMrX,KAAKiL,YAAYxF,YAAYzB,IAClDhE,KAAK6jB,MAAM7f,GAAQqT,CAWrB,IAHAxL,EAAI7L,KAAKwjB,MAAM,cACX3X,IAAG7L,KAAK6jB,MAAM,GAAG0K,WAAa1iB,GAEb3K,SAAjB80B,EAA4B,CAK9B,GAAIE,GAAW9zB,KAAK6pB,IAAI+J,EAAax0B,OAAQxB,KAAK6jB,MAAMriB,OAExD,KAAKy0B,EAAQ,EAAWC,EAARD,EAAkBA,IAChCj2B,KAAK6jB,MAAMoS,GAAOpI,YAAcmI,EAAaC,GAIjD,IAAKjyB,EAAO,EAAGA,EAAOhE,KAAK6jB,MAAMriB,OAAQwC,IACvC,GAAa,IAATA,EACFqT,EAAOrX,KAAK2jB,oBAAoB,KAAO3f,EAAO,IAAM,KACpD6H,EAAIwL,EAAK,cACLxL,IAAG7L,KAAK6jB,MAAM7f,GAAMuqB,WAAa1iB,OAChC,CACL,GAAIlG,GAAO3F,KAAKsD,YAAYqC,IACxBA,IAAQA,EAAK5D,KACf8J,EAAIlG,EAAK5D,GAAGwsB,WACR1iB,IAAG7L,KAAK6jB,MAAM7f,GAAMuqB,WAAa1iB,MAU7C/G,EAAQ3E,UAAU6F,QAAU,WAC1B,MAAOhG,MAAKiL,YAAYjF,WAU1BlB,EAAQ3E,UAAU6K,wBAA0B,SAAS5G,GAEnD,MAAOpE,MAAK6jB,MAAM7jB,KAAKiL,YAAYhF,cAAc7B,KASnDU,EAAQ3E,UAAUmuB,oBAAsB,SAASD,GAU/C,IAAK,GALD8H,GAAYC,EAAMhyB,EAAQiyB,EAE1BC,EANAjiB,EAAuB,SAAS0T,GAClC,MAAO5d,OAAMosB,WAAWxO,KAEtB/hB,EAAUhG,KAAKiL,YAAYjF,UAMtBvE,EAAI,EAAOuE,EAAJvE,EAAaA,IAAK,CAChC,GAAIuC,GAAOhE,KAAK6jB,MAAMpiB,GAClB+I,EAAWxK,KAAKiL,YAAY5F,WAAW,WAAY5D,GACnD+0B,EAAcx2B,KAAKiL,YAAY5F,WAAW,cAAe5D,GACzD4d,EAAmBrf,KAAKiL,YAAY5F,WAAW,mBAAoB5D,EAyBvE,IAxBA2C,EAASpE,KAAKiL,YAAY/E,cAAczE,GAgBxC00B,GAAa,EACbE,EAAO,GACoC,OAAvCr2B,KAAKqT,iBAAiB,eACxB8iB,GAAa,EAEbE,EAAOr2B,KAAKqT,iBAAiB,aAAerT,KAAKgkB,SAAShd,KAAKI,GAG3C,IAAlBhD,EAAO5C,OAETwC,EAAKwqB,cAAgB,EAAG,OACnB,CAML,IAAK,GAFDiI,GAAaC,EAFbC,EAAO9G,IACP+G,GAAQ/G,IAGHhuB,EAAI,EAAGA,EAAIuC,EAAO5C,OAAQK,IAE5BwsB,EAASpqB,eAAeG,EAAOvC,MAGpC40B,EAAcpI,EAASjqB,EAAOvC,IAAI,GACd,OAAhB40B,IACFE,EAAOv0B,KAAK6pB,IAAIwK,EAAaE,IAE/BD,EAAcrI,EAASjqB,EAAOvC,IAAI,GACd,OAAhB60B,IACFE,EAAOx0B,KAAKy0B,IAAIH,EAAaE,IAK7BJ,KAAgBhsB,IACdmsB,EAAO,IAAGA,EAAO,GACV,EAAPC,IAAUA,EAAO,IAIX/G,KAAR8G,IAAkBA,EAAO,GACzBC,IAAS/G,MAAU+G,EAAO,GAE9BR,EAAOQ,EAAOD,EAED,IAATP,IACW,IAATQ,EACFR,EAAOh0B,KAAK0W,IAAI8d,IAGhBA,EAAO,EACPR,EAAO,GAIX,IAAIU,GAAUC,CACd,IAAIvsB,EACF,GAAI2rB,EACFW,EAAWF,EAAOP,EAAOD,EACzBW,EAAWJ,MACN,CACL,GAAIK,GAAS50B,KAAK60B,IAAI70B,KAAKyzB,IAAIO,GAAQC,EACvCS,GAAWF,EAAOI,EAClBD,EAAWJ,EAAOK,MAGpBF,GAAWF,EAAOP,EAAOD,EACzBW,EAAWJ,EAAON,EAAOD,EAIrBD,IAAen2B,KAAK8P,iBAAiB,kBACxB,EAAXinB,GAAgBJ,GAAQ,IAAGI,EAAW,GACtCD,EAAW,GAAa,GAARF,IAAWE,EAAW,GAG9C9yB,GAAKwqB,cAAgBuI,EAAUD,GAEjC,GAAI9yB,EAAK6pB,YAIP7pB,EAAK4F,oBAAsB5F,EAAK6pB,YAAY,GAAI7pB,EAAK6pB,YAAY,QAC5D,IAAI7pB,EAAKuqB,WAAY,CAE1B,GAAI2I,GAAK7iB,EAAqBrQ,EAAKuqB,WAAW,IAAMvqB,EAAKwqB,aAAa,GAAKxqB,EAAKuqB,WAAW,GACvF3sB,EAAKyS,EAAqBrQ,EAAKuqB,WAAW,IAAMvqB,EAAKwqB,aAAa,GAAKxqB,EAAKuqB,WAAW,EAC3F,KAAK4H,EACH,GAAInyB,EAAKwG,SAAU,CACjB,GAAIwsB,GAAS50B,KAAK60B,IAAI70B,KAAKyzB,IAAIO,GAAQC,EACvCa,IAAMF,EACNp1B,GAAMo1B,MAENZ,GAAOx0B,EAAKs1B,EACZA,GAAMd,EAAOC,EACbz0B,GAAMw0B,EAAOC,CAGjBryB,GAAK4F,oBAAsBstB,EAAIt1B,OAE/BoC,GAAK4F,mBAAqB5F,EAAKwqB,YAIjC,IAAInP,EAAkB,CACpBrb,EAAKqb,iBAAmBA,CACxB,IAAIhI,GAAOrX,KAAK2jB,oBAAoB,KAAOliB,EAAI,IAAM,KACjD6d,EAASjI,EAAK,SAClBrT,GAAK+H,MAAQuT,EAAOtb,EAAK4F,mBAAmB,GACpC5F,EAAK4F,mBAAmB,GACxB5J,KAAKgkB,SAAShd,KAAKI,EACnBiQ,EACArX,MAEHs2B,IAAQA,EAAStyB,IAG1B,GAAe9C,SAAXo1B,EACF,KAAM,6FAKR,KAAK,GAAI70B,GAAI,EAAOuE,EAAJvE,EAAaA,IAAK,CAChC,GAAIuC,GAAOhE,KAAK6jB,MAAMpiB,EAEtB,KAAKuC,EAAKqb,iBAAkB,CAO1B,IAAK,GANDhI,GAAOrX,KAAK2jB,oBAAoB,KAAOliB,EAAI,IAAM,KACjD6d,EAASjI,EAAK,UACd8f,EAAUb,EAAOvqB,MACjBqrB,EAAUd,EAAO1sB,mBAAmB,GAAK0sB,EAAO1sB,mBAAmB,GACnEN,EAAQtF,EAAK4F,mBAAmB,GAAK5F,EAAK4F,mBAAmB,GAC7DytB,KACKlrB,EAAI,EAAGA,EAAIgrB,EAAQ31B,OAAQ2K,IAAK,CACvC,GAAImrB,IAAUH,EAAQhrB,GAAGN,EAAIyqB,EAAO1sB,mBAAmB,IAAMwtB,EACzDG,EAAQvzB,EAAK4F,mBAAmB,GAAK0tB,EAAShuB,CAClD+tB,GAAY/1B,KAAKi2B,GAGnBvzB,EAAK+H,MAAQuT,EAAOtb,EAAK4F,mBAAmB,GACxB5F,EAAK4F,mBAAmB,GACxB5J,KAAKgkB,SAAShd,KAAKI,EACnBiQ,EACArX,KACAq3B,MAW1BvyB,EAAQ3E,UAAUq3B,sBAAwB,SAASC,GACjD,GAAIC,IAAS,EACTC,EAAUF,EAAIG,QAAQ,IACrBD,GAAU,GAAwB,KAAlBF,EAAIE,EAAQ,IAA+B,KAAlBF,EAAIE,EAAQ,IACtDF,EAAIG,QAAQ,MAAQ,GACpBztB,MAAMosB,WAAWkB,IACnBC,GAAS,EACc,GAAdD,EAAIj2B,QAAei2B,EAAM,YAAoB,WAANA,IAEhDC,GAAS,GAGX13B,KAAK63B,iBAAiBH,IAGxB5yB,EAAQ3E,UAAU03B,iBAAmB,SAASH,GACxCA,GACF13B,KAAKoD,OAAOyZ,aAAe/X,EAAQgY,WACnC9c,KAAKoD,OAAOuC,KAAKvE,EAAE8d,eAAiBpa,EAAQ0W,mBAC5Cxb,KAAKoD,OAAOuC,KAAKvE,EAAEke,OAASxa,EAAQgzB,WACpC93B,KAAKoD,OAAOuC,KAAKvE,EAAE6d,mBAAqBna,EAAQgV,yBAGhD9Z,KAAKoD,OAAOyZ,aAAe,SAASzb,GAAK,MAAOm1B,YAAWn1B,IAG3DpB,KAAKoD,OAAOuC,KAAKvE,EAAE8d,eAAiB,SAAS9d,GAAK,MAAOA,IACzDpB,KAAKoD,OAAOuC,KAAKvE,EAAEke,OAASxa,EAAQizB,aACpC/3B,KAAKoD,OAAOuC,KAAKvE,EAAE6d,mBAAqBjf,KAAKoD,OAAOuC,KAAKvE,EAAE8d,iBAqB/Dpa,EAAQ3E,UAAUyyB,UAAY,SAASxb,GACrC,GAGI4gB,GAAMn2B,EAHN0iB,KACA0T,EAAiBnzB,EAAQozB,oBAAoB9gB,GAC7C+gB,EAAQ/gB,EAAKvX,MAAMo4B,GAAkB,MAIrCG,EAAQp4B,KAAKyjB,gBAAgB,YACF,KAA3B0U,EAAM,GAAGP,QAAQQ,IAAgBD,EAAM,GAAGP,QAAQ,MAAS,IAC7DQ,EAAQ,IAGV,IAAI1G,GAAQ,CACN,WAAY1xB,MAAKsD,cAErBouB,EAAQ,EACR1xB,KAAKoD,OAAOc,OAASi0B,EAAM,GAAGt4B,MAAMu4B,GACpCp4B,KAAKiL,YAAYvH,gBAQnB,KAAK,GAJD20B,GAFAC,EAAU,EAGVC,GAAmB,EACnBC,EAAex4B,KAAKwjB,MAAM,UAAUhiB,OACpCi3B,GAAa,EACRh3B,EAAIiwB,EAAOjwB,EAAI02B,EAAM32B,OAAQC,IAAK,CACzC,GAAIi3B,GAAOP,EAAM12B,EAEjB,IADA62B,EAAU72B,EACU,IAAhBi3B,EAAKl3B,QACM,KAAXk3B,EAAK,GAAT,CACA,GAAIC,GAAWD,EAAK74B,MAAMu4B,EAC1B,MAAIO,EAASn3B,OAAS,GAAtB,CAEA,GAAIo3B,KASJ,IARKL,IACHv4B,KAAKw3B,sBAAsBmB,EAAS,IACpCN,EAAUr4B,KAAK0jB,kBAAkB,gBACjC6U,GAAmB,GAErBK,EAAO,GAAKP,EAAQM,EAAS,GAAI34B,MAG7BA,KAAK6gB,WACP,IAAKhf,EAAI,EAAGA,EAAI82B,EAASn3B,OAAQK,IAE/Bm2B,EAAOW,EAAS92B,GAAGhC,MAAM,KACN,GAAfm4B,EAAKx2B,QACPvB,QAAQ2E,MAAM,wEACwB+zB,EAAS92B,GAAK,cACrC,EAAIJ,GAAK,MAAQi3B,EAAO,iCACvCE,EAAO/2B,IAAM,EAAG,IAEhB+2B,EAAO/2B,IAAMiD,EAAQ+zB,YAAYb,EAAK,GAAIv2B,EAAGi3B,GAChC5zB,EAAQ+zB,YAAYb,EAAK,GAAIv2B,EAAGi3B,QAG5C,IAAI14B,KAAK8P,iBAAiB,aAO/B,IALI6oB,EAASn3B,OAAS,GAAK,GACzBvB,QAAQ2E,MAAM,oEACe,EAAInD,GAAK,kCACvBk3B,EAASn3B,OAAS,GAAK,OAASk3B,EAAO,KAEnD72B,EAAI,EAAGA,EAAI82B,EAASn3B,OAAQK,GAAK,EACpC+2B,GAAQ/2B,EAAI,GAAK,IAAMiD,EAAQ+zB,YAAYF,EAAS92B,GAAIJ,EAAGi3B,GACpC5zB,EAAQ+zB,YAAYF,EAAS92B,EAAI,GAAIJ,EAAGi3B,QAE5D,IAAI14B,KAAK8P,iBAAiB,cAE/B,IAAKjO,EAAI,EAAGA,EAAI82B,EAASn3B,OAAQK,IAAK,CACpC,GAAIqmB,GAAMyQ,EAAS92B,EACf,QAAOie,KAAKoI,GACd0Q,EAAO/2B,IAAM,KAAM,KAAM,OAEzBm2B,EAAO9P,EAAIroB,MAAM,KACE,GAAfm4B,EAAKx2B,OACPo3B,EAAO/2B,IAAOiD,EAAQ+zB,YAAYb,EAAK,GAAIv2B,EAAGi3B,GAChC5zB,EAAQ+zB,YAAYb,EAAK,GAAIv2B,EAAGi3B,GAChC5zB,EAAQ+zB,YAAYb,EAAK,GAAIv2B,EAAGi3B,IAE9Cz4B,QAAQyT,KAAK,wFACuCwU,EACvC,cAAgB,EAAEzmB,SAMrC,KAAKI,EAAI,EAAGA,EAAI82B,EAASn3B,OAAQK,IAC/B+2B,EAAO/2B,GAAKiD,EAAQ+zB,YAAYF,EAAS92B,GAAIJ,EAAGi3B,EAiBpD,IAdInU,EAAI/iB,OAAS,GAAKo3B,EAAO,GAAKrU,EAAIA,EAAI/iB,OAAS,GAAG,KACpDi3B,GAAa,GAGXG,EAAOp3B,QAAUg3B,GACnBv4B,QAAQ2E,MAAM,6BAA+BnD,EAAI,KAAOm3B,EAAOp3B,OACjD,2CAA6Cg3B,EAC7C,KAAOE,GAOb,IAANj3B,GAAWzB,KAAKwjB,MAAM,UAAW,CACnC,GAAIsV,IAAW,CACf,KAAKj3B,EAAI,EAAGi3B,GAAYj3B,EAAI+2B,EAAOp3B,OAAQK,IACrC+2B,EAAO/2B,KAAIi3B,GAAW,EAE5B,IAAIA,EAAU,CACZ74B,QAAQyT,KAAK,wEACmBglB,EAAO,yFAGvC,WAGJnU,EAAIjjB,KAAKs3B,KAQX,MALIH,KACFx4B,QAAQyT,KAAK,6DACb6Q,EAAIwU,KAAK,SAAS3wB,EAAE+L,GAAK,MAAO/L,GAAE,GAAK+L,EAAE,MAGpCoQ,GAWTzf,EAAQ3E,UAAU64B,YAAc,SAAS5hB,GAEvC,GAAoB,IAAhBA,EAAK5V,OAEP,MADAvB,SAAQ2E,MAAM,6BACP,IAET,IAAuB,IAAnBwS,EAAK,GAAG5V,OAEV,MADAvB,SAAQ2E,MAAM,wCACP,IAGT,IAAInD,EACJ,IAA6B,OAAzBzB,KAAKwjB,MAAM,UAAoB,CAIjC,IAHAvjB,QAAQyT,KAAK,qFAEb1T,KAAKoD,OAAOc,QAAW,KAClBzC,EAAI,EAAGA,EAAI2V,EAAK,GAAG5V,OAAQC,IAC9BzB,KAAKoD,OAAOc,OAAO5C,KAAK,IAAMG,EAEhCzB,MAAKiL,YAAYvH,oBACZ,CACL,GAAIu1B,GAAaj5B,KAAKwjB,MAAM,SAC5B,IAAIyV,EAAWz3B,QAAU4V,EAAK,GAAG5V,OAG/B,MAFAvB,SAAQ2E,MAAM,sCAAwCq0B,EAAa,qCACf7hB,EAAK,GAAG5V,OAAS,KAC9D,KAIX,GAAIsD,EAAQo0B,WAAW9hB,EAAK,GAAG,IAAK,CAElCpX,KAAKoD,OAAOuC,KAAKvE,EAAE8d,eAAiBpa,EAAQ0W,mBAC5Cxb,KAAKoD,OAAOuC,KAAKvE,EAAEke,OAASxa,EAAQgzB,WACpC93B,KAAKoD,OAAOuC,KAAKvE,EAAE6d,mBAAqBna,EAAQgV,sBAGhD,IAAIqf,GAAar0B,EAAQs0B,MAAMhiB,EAC/B,KAAK3V,EAAI,EAAGA,EAAI2V,EAAK5V,OAAQC,IAAK,CAChC,GAA6B,IAAzB03B,EAAW13B,GAAGD,OAEhB,MADAvB,SAAQ2E,MAAM,QAAU,EAAInD,GAAK,qBAC1B,IAET,IAAyB,OAArB03B,EAAW13B,GAAG,IACsB,kBAA7B03B,GAAW13B,GAAG,GAAU,SAC/B0I,MAAMgvB,EAAW13B,GAAG,GAAG43B,WAEzB,MADAp5B,SAAQ2E,MAAM,mBAAqB,EAAInD,GAAK,kBACrC,IAET03B,GAAW13B,GAAG,GAAK03B,EAAW13B,GAAG,GAAG43B,UAEtC,MAAOF,GAOP,MAHAn5B,MAAKoD,OAAOuC,KAAKvE,EAAE8d,eAAiB,SAAS9d,GAAK,MAAOA,IACzDpB,KAAKoD,OAAOuC,KAAKvE,EAAEke,OAASxa,EAAQizB,aACpC/3B,KAAKoD,OAAOuC,KAAKvE,EAAE6d,mBAAqBna,EAAQ6U,yBACzCvC,GAaXtS,EAAQ3E,UAAUm5B,gBAAkB,SAASliB,GAC3C,GAAImiB,GAA4B,SAASxR,GAIvC,GAAIyR,GAAYjgB,OAAOkgB,aAAa,GAAa1R,EAAM,GAEvD,KADAA,EAAM3lB,KAAKsX,MAAMqO,EAAM,IACfA,EAAM,GACZyR,EAAYjgB,OAAOkgB,aAAa,IAAc1R,EAAM,GAAK,IAAOyR,EAAUE,cAC1E3R,EAAM3lB,KAAKsX,OAAOqO,EAAM,GAAK,GAE/B,OAAOyR,IAGLG,EAAOviB,EAAKwiB,qBACZC,EAAOziB,EAAK0iB,kBAEZC,EAAY3iB,EAAK4iB,cAAc,EACnC,IAAiB,QAAbD,GAAoC,YAAbA,EACzB/5B,KAAKoD,OAAOyZ,aAAe/X,EAAQgY,WACnC9c,KAAKoD,OAAOuC,KAAKvE,EAAE8d,eAAiBpa,EAAQ0W,mBAC5Cxb,KAAKoD,OAAOuC,KAAKvE,EAAEke,OAASxa,EAAQgzB,WACpC93B,KAAKoD,OAAOuC,KAAKvE,EAAE6d,mBAAqBna,EAAQgV,2BAC3C,CAAA,GAAiB,UAAbigB,EAQT,MAFA95B,SAAQ2E,MAAM,kGAC2Cm1B,EAAY,MAC9D,IAPP/5B,MAAKoD,OAAOyZ,aAAe,SAASzb,GAAK,MAAOm1B,YAAWn1B,IAC3DpB,KAAKoD,OAAOuC,KAAKvE,EAAE8d,eAAiB,SAAS9d,GAAK,MAAOA,IACzDpB,KAAKoD,OAAOuC,KAAKvE,EAAEke,OAASxa,EAAQizB,aACpC/3B,KAAKoD,OAAOuC,KAAKvE,EAAE6d,mBAAqBjf,KAAKoD,OAAOuC,KAAKvE,EAAE8d,eAQ7D,GAGIzd,GAAGI,EAHHo4B,KACAC,KACAC,GAAiB,CAErB,KAAK14B,EAAI,EAAOk4B,EAAJl4B,EAAUA,IAAK,CACzB,GAAI2hB,GAAOhM,EAAK4iB,cAAcv4B,EAC9B,IAAY,UAAR2hB,EACF6W,EAAO34B,KAAKG,OACP,IAAY,UAAR2hB,GAAoBpjB,KAAK8P,iBAAiB,sBAAuB,CAE1E,GAAI4lB,GAAUuE,EAAOA,EAAOz4B,OAAS,EAChC04B,GAAej2B,eAAeyxB,GAGjCwE,EAAexE,GAASp0B,KAAKG,GAF7By4B,EAAexE,IAAYj0B,GAI7B04B,GAAiB,MAEjBl6B,SAAQ2E,MAAM,sHAOlB,GAAIV,IAAUkT,EAAKgjB,eAAe,GAClC,KAAK34B,EAAI,EAAGA,EAAIw4B,EAAOz4B,OAAQC,IAC7ByC,EAAO5C,KAAK8V,EAAKgjB,eAAeH,EAAOx4B,KACnCzB,KAAK8P,iBAAiB,eAAcrO,GAAK,EAE/CzB,MAAKoD,OAAOc,OAASA,EACrBy1B,EAAOz1B,EAAO1C,MAEd,IAAI+iB,MACAkU,GAAa,EACblyB,IACJ,KAAK9E,EAAI,EAAOo4B,EAAJp4B,EAAUA,IAAK,CACzB,GAAI8jB,KACJ,IAAoC,mBAAzBnO,GAAKkO,SAAS7jB,EAAG,IACA,OAAxB2V,EAAKkO,SAAS7jB,EAAG,GADrB,CAYA,GAJE8jB,EAAIjkB,KADW,QAAby4B,GAAoC,YAAbA,EAChB3iB,EAAKkO,SAAS7jB,EAAG,GAAG43B,UAEpBjiB,EAAKkO,SAAS7jB,EAAG,IAEvBzB,KAAK8P,iBAAiB,aAyBzB,IAAKjO,EAAI,EAAO83B,EAAO,EAAX93B,EAAcA,IACxB0jB,EAAIjkB,MAAO8V,EAAKkO,SAAS7jB,EAAG,EAAI,EAAII,GAAIuV,EAAKkO,SAAS7jB,EAAG,EAAI,EAAII,SA1B5B,CACvC,IAAKA,EAAI,EAAGA,EAAIo4B,EAAOz4B,OAAQK,IAAK,CAClC,GAAI2jB,GAAMyU,EAAOp4B,EAEjB,IADA0jB,EAAIjkB,KAAK8V,EAAKkO,SAAS7jB,EAAG+jB,IACtB2U,GACAD,EAAej2B,eAAeuhB,IACe,OAA7CpO,EAAKkO,SAAS7jB,EAAGy4B,EAAe1U,GAAK,IAAc,CACrD,GAAItd,KACJA,GAAI9D,OAASgT,EAAKgjB,eAAe5U,GACjCtd,EAAIG,KAAOkd,EAAI,GACfrd,EAAIsxB,UAAYD,EAA0BhzB,EAAY/E,QACtD0G,EAAImyB,KAAO,EACX,KAAK,GAAIluB,GAAI,EAAGA,EAAI+tB,EAAe1U,GAAKhkB,OAAQ2K,IAC1CA,IAAGjE,EAAImyB,MAAQ,MACnBnyB,EAAImyB,MAAQjjB,EAAKkO,SAAS7jB,EAAGy4B,EAAe1U,GAAKrZ,GAEnD5F,GAAYjF,KAAK4G,IAKrB,IAAKrG,EAAI,EAAGA,EAAI0jB,EAAI/jB,OAAQK,IACrBqI,SAASqb,EAAI1jB,MAAK0jB,EAAI1jB,GAAK,MAOhC0iB,EAAI/iB,OAAS,GAAK+jB,EAAI,GAAKhB,EAAIA,EAAI/iB,OAAS,GAAG,KACjDi3B,GAAa,GAEflU,EAAIjjB,KAAKikB,OA1CPtlB,SAAQyT,KAAK,gBAAkBjS,EAClB,4DA4Cbg3B,IACFx4B,QAAQyT,KAAK,mEACb6Q,EAAIwU,KAAK,SAAS3wB,EAAE+L,GAAK,MAAO/L,GAAE,GAAK+L,EAAE,MAE3CnU,KAAKkkB,SAAWK,EAEZhe,EAAY/E,OAAS,GACvBxB,KAAKiI,eAAe1B,GAAa,GAEnCvG,KAAKiL,YAAYvH,iBAOnBoB,EAAQ3E,UAAU0yB,2BAA6B,WAI7C7yB,KAAKgI,eAAe,qBAQtBlD,EAAQ3E,UAAUkR,OAAS,WACzB,GAAI+F,GAAOpX,KAAKygB,KAOhB,IAJmB,kBAARrJ,KACTA,EAAOA,KAGLtS,EAAQiL,YAAYqH,GACtBpX,KAAKkkB,SAAWlkB,KAAKg5B,YAAY5hB,GACjCpX,KAAK6yB,6BACL7yB,KAAK8yB,eACA,IAAmB,gBAAR1b,IACuB,kBAAvBA,GAAKkjB,eAErBt6B,KAAKs5B,gBAAgBliB,GACrBpX,KAAK6yB,6BACL7yB,KAAK8yB,eACA,IAAmB,gBAAR1b,GAAkB,CAElC,GAAI6gB,GAAiBnzB,EAAQozB,oBAAoB9gB,EACjD,IAAI6gB,EACFj4B,KAAK2yB,aAAavb,OACb,CAEL,GAAImjB,EAGFA,GAFEta,OAAOua,eAEH,GAAIA,gBAGJ,GAAIC,eAAc,oBAG1B,IAAIC,GAAS16B,IACbu6B,GAAII,mBAAqB,WACD,GAAlBJ,EAAIpa,aACa,MAAfoa,EAAIK,QACW,IAAfL,EAAIK,SACNF,EAAO/H,aAAa4H,EAAIM,eAK9BN,EAAIO,KAAK,MAAO1jB,GAAM,GACtBmjB,EAAIQ,KAAK,WAGX96B,SAAQ2E,MAAM,8BAAkCwS,KAsBpDtS,EAAQ3E,UAAU66B,cAAgB,SAASC,EAAaC,GAC1B,mBAAlB,KAA+BA,GAAe,EAGxD,IAAIvb,GAAOsb,EAAYtb,KACnBC,EAAQ9a,EAAQwb,kBAAkB2a,EAGlC,eAAgBrb,KAClB5f,KAAK0gB,YAAcd,EAAMe,YAEvB,cAAgBf,KAClB5f,KAAK8gB,YAAclB,EAAMmB,WACnB,kCAAoCnB,KACxC5f,KAAKihB,UAAkC,OAArBrB,EAAMmB,aAGxB,cAAgBnB,MAAW,kCAAoCA,MACjE5f,KAAKkhB,UAAkC,OAArBtB,EAAM2O,WAW1B,IAAI4M,GAAoBr2B,EAAQs2B,0BAA0Bp7B,KAAKwjB,MAAM,UAAW5D,EAEhF9a,GAAQwc,WAAWthB,KAAKsD,YAAasc,GAErC5f,KAAKiL,YAAYvH,gBAEbic,GAGF3f,KAAKgI,eAAe,qBAEpBhI,KAAKygB,MAAQd,EACRub,GAAcl7B,KAAKqR,UAEnB6pB,IACCC,EACFn7B,KAAK8yB,WAEL9yB,KAAK41B,cAAa,KAY1B9wB,EAAQwb,kBAAoB,SAASV,GACnC,GAAIyb,KACJ,KAAK,GAAIlvB,KAAKyT,GACPA,EAAM3b,eAAekI,IACjB,QAALA,GACAyT,EAAM3b,eAAekI,KAAIkvB,EAASlvB,GAAKyT,EAAMzT,GAGnD,IAAImvB,GAAM,SAASt3B,EAAM4f,EAAKtZ,GACvB+wB,EAAS11B,OAAM01B,EAAS11B,SACxB01B,EAAS11B,KAAK3B,KAAOq3B,EAAS11B,KAAK3B,OACxCq3B,EAAS11B,KAAK3B,GAAM4f,GAAOtZ,GAEzBixB,EAAM,SAAS3X,EAAK5f,EAAMw3B,GACF,mBAAf5b,GAAMgE,KACf3jB,QAAQyT,KAAK,UAAYkQ,EAAM,2BAC3B4X,EAAU,mBAAqBx3B,EAAO,mCAChBA,EAAO,QAAUw3B,EAAU,6EAErDF,EAAIt3B,EAAMw3B,EAAS5b,EAAMgE,UAClByX,GAASzX,IAmBpB,OAdA2X,GAAI,kBAAmB,IAAK,kBAC5BA,EAAI,kBAAmB,IAAK,kBAC5BA,EAAI,sBAAuB,IAAK,sBAChCA,EAAI,UAAW,IAAK,UACpBA,EAAI,kBAAmB,IAAK,kBAC5BA,EAAI,kBAAmB,IAAK,kBAC5BA,EAAI,sBAAuB,IAAK,sBAChCA,EAAI,UAAW,IAAK,UACpBA,EAAI,YAAa,IAAK,YACtBA,EAAI,YAAa,IAAK,YACtBA,EAAI,YAAa,IAAK,YACtBA,EAAI,YAAa,IAAK,YACtBA,EAAI,kBAAmB,IAAK,kBAC5BA,EAAI,kBAAmB,IAAK,kBACrBF,GAcTv2B,EAAQ3E,UAAU4mB,OAAS,SAASla,EAAOD,GACzC,IAAI5M,KAAKy7B,YAAT,CAGAz7B,KAAKy7B,aAAc,EAEJ,OAAV5uB,IAA+B,OAAXD,KACvB3M,QAAQyT,KAAK,8GAEb7G,EAAQD,EAAS,KAGnB,IAAI8uB,GAAY17B,KAAKkH,OACjBy0B,EAAa37B,KAAKqH,OAElBwF,IACF7M,KAAKwgB,SAASnS,MAAMxB,MAAQA,EAAQ,KACpC7M,KAAKwgB,SAASnS,MAAMzB,OAASA,EAAS,KACtC5M,KAAKkH,OAAS2F,EACd7M,KAAKqH,QAAUuF,IAEf5M,KAAKkH,OAASlH,KAAKwgB,SAASa,YAC5BrhB,KAAKqH,QAAUrH,KAAKwgB,SAASY,eAG3Bsa,GAAa17B,KAAKkH,QAAUy0B,GAAc37B,KAAKqH,WAGjDrH,KAAKgmB,kBACLhmB,KAAK8yB,YAGP9yB,KAAKy7B,aAAc,IAQrB32B,EAAQ3E,UAAUgpB,WAAa,SAAS3nB,GACtCxB,KAAK0gB,YAAclf,EACnBxB,KAAK8yB,YAMPhuB,EAAQ3E,UAAU8V,WAAa,WAO7B,IAJKjW,KAAKmH,UAAU,gBAClBnH,KAAKoD,OAAO6S,eAGPjW,KAAKmH,UAAU,cAAc3F,OAASxB,KAAKqlB,aAAe,GAC/DrlB,KAAKoD,OAAO6S,WAAW3U,MAAK,EAE9B,OAAOtB,MAAKmH,UAAU,eASxBrC,EAAQ3E,UAAUy7B,cAAgB,SAAS7T,EAAKzd,GAC9C,GAAIlJ,GAAIpB,KAAKiW,YACH,GAAN8R,GAAWA,GAAO3mB,EAAEI,OACtBvB,QAAQyT,KAAK,2CAA6CqU,IAE1D3mB,EAAE2mB,GAAOzd,EACTtK,KAAK8yB,aAUThuB,EAAQ3E,UAAU8oB,KAAO,WACvB,OAASpc,MAAO7M,KAAKkH,OAAQ0F,OAAQ5M,KAAKqH,UAS5CvC,EAAQ3E,UAAU8H,eAAiB,SAASC,EAAK2zB,GAI/C,MAFA/2B,GAAQg3B,oBACR97B,KAAKghB,aAAe9Y,EACflI,KAAKmmB,SAOVnmB,KAAKmmB,QAAQle,eAAejI,KAAKghB,mBAC5B6a,GACH77B,KAAK8yB,iBARL7yB,SAAQyT,KAAK,kIAejB5O,EAAQ3E,UAAUoG,YAAc,WAC9B,MAAOvG,MAAKghB,cASdlc,EAAQ3E,UAAU6V,UAAY,WAC5B,GAAI9R,GAASlE,KAAKwjB,MAAM,SACxB,OAAOtf,GAASA,EAAOC,QAAU,MAOnCW,EAAQ3E,UAAU47B,iBAAmB,SAAS/2B,GAC5C,MAAOhF,MAAKwhB,gBAAgBxc,IAe9BF,EAAQ3E,UAAU67B,MAAQ,SAASvZ,GAC7BziB,KAAKuX,iBACPvX,KAAKwX,UAAUlW,KAAKmhB,GAEpBA,EAASthB,KAAKnB,KAAMA,OAUxB8E,EAAQg3B,kBAAoB,WAE1B,IAAIh3B,EAAQ4a,mBAAZ,CAEA,GAAIuc,GAAO,wEAIPC,EAAoBhuB,SAASC,cAAc,QAC/C+tB,GAAkB9Y,KAAO,WACzBlV,SAASiuB,qBAAqB,QAAQ,GAAGztB,YAAYwtB,EAMrD,KAAK,GAAIz6B,GAAI,EAAGA,EAAIyM,SAASkuB,YAAY56B,OAAQC,IAC/C,IAAIyM,SAASkuB,YAAY36B,GAAG46B,SAA5B,CACA,GAAIC,GAAUpuB,SAASkuB,YAAY36B,EACnC,KACE,GAAI66B,EAAQC,WAAY,CACtB,GAAI/3B,GAAM83B,EAAQE,SAAWF,EAAQE,SAASh7B,OAAS,CACvD86B,GAAQC,WAAW,+BAAiCN,EAAO,KAAMz3B,OACxD83B,GAAQG,SACjBH,EAAQG,QAAQ,4BAA6BR,EAG/C,aADAn3B,EAAQ4a,oBAAqB,GAE7B,MAAMgd,KAKVz8B,QAAQyT,KAAK,oEAGR5O,MC7sHP,WAGA,YAEAA,SAAQqgB,UAAY,GACpBrgB,QAAQ63B,OAASv6B,KAAKyzB,IAAI/wB,QAAQqgB,WAOlCrgB,QAAQ2E,MAAQ,SAASrI,GACvB,MAAOgB,MAAKyzB,IAAIz0B,GAAK0D,QAAQ63B,QAI/B73B,QAAQ83B,aAAe,EAAG,GAE1B93B,QAAQ+3B,aAAe,EAAG,GAE1B/3B,QAAQg4B,eAAiB,EAAG,EAAG,EAAG,GAiBlCh4B,QAAQihB,WAAa,SAAS6B,GAC5B,MAA8CA,GAAO7B,WAAW,OAYlEjhB,QAAQi4B,SAAW,SAAkB9uB,EAAMmV,EAAM2S,GAC3C9nB,EAAK+uB,iBACP/uB,EAAK+uB,iBAAiB5Z,EAAM2S,GAAI,IAEhC9nB,EAAKmV,EAAK2S,GAAM,WAAWA,EAAG9V,OAAOwK,QACrCxc,EAAKgvB,YAAY,KAAK7Z,EAAMnV,EAAKmV,EAAK2S,MAc1CjxB,QAAQ3E,UAAU0mB,iBAAmB,SAAS5Y,EAAMmV,EAAM2S,GACxDjxB,QAAQi4B,SAAS9uB,EAAMmV,EAAM2S,GAC7B/1B,KAAK0hB,kBAAkBpgB,MAAO2M,KAAOA,EAAMmV,KAAOA,EAAM2S,GAAKA,KAY/DjxB,QAAQ2iB,YAAc,SAASxZ,EAAMmV,EAAM2S,GACzC,GAAI9nB,EAAKivB,oBACPjvB,EAAKivB,oBAAoB9Z,EAAM2S,GAAI,OAC9B,CACL,IACE9nB,EAAKkvB,YAAY,KAAK/Z,EAAMnV,EAAKmV,EAAK2S,IACtC,MAAMzuB,IAIR2G,EAAKmV,EAAK2S,GAAM,OAIpBjxB,QAAQ3E,UAAUqnB,qBAAuB,WACvC,GAAIxnB,KAAK0hB,kBACP,IAAK,GAAIld,GAAM,EAAGA,EAAMxE,KAAK0hB,kBAAkBlgB,OAAQgD,IAAO,CAC5D,GAAI44B,GAAMp9B,KAAK0hB,kBAAkBld,EACjCM,SAAQ2iB,YAAY2V,EAAInvB,KAAMmvB,EAAIha,KAAMga,EAAIrH,IAIhD/1B,KAAK0hB,sBAWP5c,QAAQu4B,YAAc,SAAS/1B,GAW7B,MAVAA,GAAIA,EAAIA,EAAI2Y,OAAOwK,MACfnjB,EAAE2b,iBACJ3b,EAAE2b,kBAEA3b,EAAEyb,gBACJzb,EAAEyb,iBAEJzb,EAAEsjB,cAAe,EACjBtjB,EAAEqG,QAAS,EACXrG,EAAEqjB,aAAc,GACT,GAaT7lB,QAAQyjB,SAAW,SAAUD,EAAKgV,EAAYhzB,GAC5C,GAAIizB,GACAC,EACAC,CACJ,IAAmB,IAAfH,EACFC,EAAMjzB,EACNkzB,EAAQlzB,EACRmzB,EAAOnzB,MACF,CACL,GAAI7I,GAAIW,KAAKsX,MAAY,EAAN4O,GACfoV,EAAW,EAANpV,EAAW7mB,EAChByK,EAAI5B,GAAS,EAAIgzB,GACjBK,EAAIrzB,GAAS,EAAKgzB,EAAaI,GAC/BE,EAAItzB,GAAS,EAAKgzB,GAAc,EAAII,GACxC,QAAQj8B,GACN,IAAK,GAAG87B,EAAMI,EAAGH,EAAQlzB,EAAOmzB,EAAOvxB,CAAG,MAC1C,KAAK,GAAGqxB,EAAMrxB,EAAGsxB,EAAQlzB,EAAOmzB,EAAOG,CAAG,MAC1C,KAAK,GAAGL,EAAMrxB,EAAGsxB,EAAQG,EAAGF,EAAOnzB,CAAO,MAC1C,KAAK,GAAGizB,EAAMK,EAAGJ,EAAQtxB,EAAGuxB,EAAOnzB,CAAO,MAC1C,KAAK,GAAGizB,EAAMjzB,EAAOkzB,EAAQtxB,EAAGuxB,EAAOE,CAAG,MAC1C,KAAK,GACL,IAAK,GAAGJ,EAAMjzB,EAAOkzB,EAAQI,EAAGH,EAAOvxB,GAM3C,MAHAqxB,GAAMn7B,KAAKsX,MAAM,IAAM6jB,EAAM,IAC7BC,EAAQp7B,KAAKsX,MAAM,IAAM8jB,EAAQ,IACjCC,EAAOr7B,KAAKsX,MAAM,IAAM+jB,EAAO,IACxB,OAASF,EAAM,IAAMC,EAAQ,IAAMC,EAAO,KAgBnD34B,QAAQgmB,QAAU,SAASnD,GACzB,GAAIkW,GAAU,EAAGC,EAAS,CAC1B,IAAInW,EAAIoW,aAEN,IADA,GAAIC,GAAUrW,IACJ,CAER,GAAIsW,GAAa,IAAKC,EAAY,GAClC,IAAIje,OAAOke,iBAAkB,CAC3B,GAAIC,GAAgBne,OAAOke,iBAAiBH,EAAS,KACrDC,GAAaG,EAAcH,YAAc,IACzCC,EAAYE,EAAcF,WAAa,IAMzC,GAJAL,GAAWQ,SAASJ,EAAY,IAChCH,GAAUO,SAASH,EAAW,IAC9BL,GAAWG,EAAQM,WACnBR,GAAUE,EAAQO,WACbP,EAAQD,aACX,KAEFC,GAAUA,EAAQD,iBAIhBpW,GAAIvmB,IAAGy8B,GAAWlW,EAAIvmB,GACtBumB,EAAItmB,IAAGy8B,GAAUnW,EAAItmB,EAI3B,MAAOsmB,GAAOA,GAAOzZ,SAASswB,MAC5BX,GAAWlW,EAAI8W,WACfX,GAAUnW,EAAI+W,UACd/W,EAAMA,EAAI3Y,UAEZ,QAAQ5N,EAAGy8B,EAASx8B,EAAGy8B,IAWzBh5B,QAAQ0qB,MAAQ,SAASloB,GACvB,GAAIA,EAAEkoB,MACJ,OAASloB,EAAEkoB,OAASloB,EAAEkoB,MAAQ,EAAK,EAAIloB,EAAEkoB,KAEzC;GAAImP,GAAKzwB,SAAS0wB,gBACdzqB,EAAIjG,SAASswB,IACjB,OAAOl3B,GAAEu3B,SACJF,EAAGF,YAActqB,EAAEsqB,aACnBE,EAAGG,YAAc,IAY1Bh6B,QAAQ2qB,MAAQ,SAASnoB,GACvB,GAAIA,EAAEmoB,MACJ,OAASnoB,EAAEmoB,OAASnoB,EAAEmoB,MAAQ,EAAK,EAAInoB,EAAEmoB,KAEzC,IAAIkP,GAAKzwB,SAAS0wB,gBACdzqB,EAAIjG,SAASswB,IACjB,OAAOl3B,GAAEy3B,SACJJ,EAAGD,WAAavqB,EAAEuqB,YAClBC,EAAGK,WAAa,IAWzBl6B,QAAQimB,UAAY,SAASzjB,EAAGmG,GAC9B,MAAO3I,SAAQ0qB,MAAMloB,GAAKmG,EAAQ/F,IAUpC5C,QAAQkmB,UAAY,SAAS1jB,EAAGmG,GAC9B,MAAO3I,SAAQ2qB,MAAMnoB,GAAKmG,EAAQ0c,IAWpCrlB,QAAQmS,KAAO,SAAS7V,GACtB,QAASA,IAAM+I,MAAM/I,IAUvB0D,QAAQirB,aAAe,SAAS7jB,EAAG+yB,GACjC,MAAK/yB,GACU,OAAXA,EAAEf,MAAsB,EAChB,OAARe,EAAE9K,GAAsBF,SAARgL,EAAE9K,GAAwB,EAClC,OAAR8K,EAAE7K,GAAsBH,SAARgL,EAAE7K,GAAwB,EAC1C8I,MAAM+B,EAAE9K,KAAQ69B,GAAiB90B,MAAM+B,EAAE7K,IAAY,GAClD,GALQ,GA0BjByD,QAAQ2T,YAAc,SAASrX,EAAG89B,GAEhC,GAAIhzB,GAAI9J,KAAK6pB,IAAI7pB,KAAKy0B,IAAI,EAAGqI,GAAiB,GAAI,GAkBlD,OAAQ98B,MAAK0W,IAAI1X,GAAK,MAAgB,IAANA,EAC5BA,EAAE4X,cAAc9M,EAAI,GAAK9K,EAAE+9B,YAAYjzB,IAS7CpH,QAAQuW,QAAU,SAASja,GACzB,MAAQ,IAAJA,EAAe,IAAMA,EAAe,GAAKA,GAQ/C0D,QAAQqV,oBACNE,YAAiB,SAASoB,GAAI,MAAOA,GAAEpB,eACvCE,SAAiB,SAASkB,GAAI,MAAOA,GAAElB,YACvCE,QAAiB,SAASgB,GAAI,MAAOA,GAAEhB,WACvCE,SAAiB,SAASc,GAAI,MAAOA,GAAEd,YACvCE,WAAiB,SAASY,GAAI,MAAOA,GAAEZ,cACvCE,WAAiB,SAASU,GAAI,MAAOA,GAAEV,cACvCqkB,gBAAiB,SAAS3jB,GAAI,MAAOA,GAAE2jB,mBACvCC,OAAiB,SAAS5jB,GAAI,MAAOA,GAAE4jB,UACvCC,SAAiB,SAASj+B,EAAGk+B,EAAG9jB,EAAG+jB,EAAIC,EAAIC,EAAIC,GAC7C,MAAO,IAAIlM,MAAKpyB,EAAGk+B,EAAG9jB,EAAG+jB,EAAIC,EAAIC,EAAIC,KASzC76B,QAAQoV,kBACNG,YAAiB,SAASoB,GAAI,MAAOA,GAAEmkB,kBACvCrlB,SAAiB,SAASkB,GAAI,MAAOA,GAAEokB,eACvCplB,QAAiB,SAASgB,GAAI,MAAOA,GAAEqkB,cACvCnlB,SAAiB,SAASc,GAAI,MAAOA,GAAEskB,eACvCllB,WAAiB,SAASY,GAAI,MAAOA,GAAEukB,iBACvCjlB,WAAiB,SAASU,GAAI,MAAOA,GAAEwkB,iBACvCb,gBAAiB,SAAS3jB,GAAI,MAAOA,GAAEykB,sBACvCb,OAAiB,SAAS5jB,GAAI,MAAOA,GAAE0kB,aACvCb,SAAiB,SAASj+B,EAAGk+B,EAAG9jB,EAAG+jB,EAAIC,EAAIC,EAAIC,GAC7C,MAAO,IAAIlM,MAAKA,KAAK2M,IAAI/+B,EAAGk+B,EAAG9jB,EAAG+jB,EAAIC,EAAIC,EAAIC,MAYlD76B,QAAQwW,WAAa,SAASkkB,EAAIC,EAAIC,GACpC,GAAIrkB,GAAUvW,QAAQuW,QAClBkJ,EAAMlJ,EAAQmkB,GAAM,IAAMnkB,EAAQokB,EAItC,OAHIC,KACFnb,GAAO,IAAMlJ,EAAQqkB,IAEhBnb,GAWTzf,QAAQ4W,YAAc,SAAS2kB,EAAMrmB,GACnC,GAAIqB,GAAUvW,QAAQuW,QAClBpB,EAAYD,EAAMlV,QAAQoV,iBAAmBpV,QAAQqV,mBACrDJ,EAAO,GAAI0Z,MAAK4M,GAChBh/B,EAAI4Y,EAAUI,YAAYN,GAC1BwlB,EAAItlB,EAAUM,SAASR,GACvB0B,EAAIxB,EAAUQ,QAAQV,GACtBylB,EAAKvlB,EAAUU,SAASZ,GACxB0lB,EAAKxlB,EAAUY,WAAWd,GAC1B2lB,EAAKzlB,EAAUc,WAAWhB,GAE1BK,EAAO,GAAK/Y,EAEZiZ,EAAQe,EAAQkkB,EAAI,GAEpB/kB,EAAMa,EAAQI,GACdN,EAAY,KAALqkB,EAAiB,GAALC,EAAUC,EAC7Bnb,EAAMnK,EAAO,IAAME,EAAQ,IAAME,CAIrC,OAHIW,KACFoJ,GAAO,IAAMzf,QAAQwW,WAAWkkB,EAAIC,EAAIC,IAEnCnb,GAUTzf,QAAQmU,OAAS,SAAS8O,EAAKuY,GAC7B,GAAIC,GAAQn+B,KAAK2W,IAAI,GAAIunB,EACzB,OAAOl+B,MAAK0T,MAAMiS,EAAMwY,GAAOA,GAgBjCz7B,QAAQ07B,aAAe,SAAStY,EAAKuY,EAAM3nB,EAAKuU,EAAK6H,GAMnD,IALY,OAAR7H,GAAwBnsB,SAARmsB,GACP,OAAT6H,GAA0Bh0B,SAATg0B,KACnB7H,EAAM,EACN6H,EAAOuL,EAAKj/B,OAAS,GAEnB6rB,EAAM6H,EACR,MAAO,IAEG,OAARpc,GAAwB5X,SAAR4X,KAClBA,EAAM,EAER,IAKItU,GALAk8B,EAAa,SAASl8B,GACxB,MAAOA,IAAO,GAAKA,EAAMi8B,EAAKj/B,QAE5Bm/B,EAAMtC,UAAUhR,EAAM6H,GAAQ,EAAG,IACjCzoB,EAAUg0B,EAAKE,EAEnB,OAAIl0B,IAAWyb,EACNyY,EACEl0B,EAAUyb,EACfpP,EAAM,IAERtU,EAAMm8B,EAAM,EACRD,EAAWl8B,IAAQi8B,EAAKj8B,GAAO0jB,GAC1ByY,EAGJ77B,QAAQ07B,aAAatY,EAAKuY,EAAM3nB,EAAKuU,EAAKsT,EAAM,GACpCzY,EAAVzb,EACC,EAANqM,IAEFtU,EAAMm8B,EAAM,EACRD,EAAWl8B,IAAQi8B,EAAKj8B,GAAO0jB,GAC1ByY,EAGJ77B,QAAQ07B,aAAatY,EAAKuY,EAAM3nB,EAAK6nB,EAAM,EAAGzL,GAEhD,IAYTpwB,QAAQgY,WAAa,SAAS8jB,GAC5B,GAAIC,GACAplB,CAQJ,KAA2B,IAAvBmlB,EAAQE,OAAO,MACQ,IAAvBF,EAAQE,OAAO,MAAqC,IAAvBF,EAAQE,OAAO,QAC9CrlB,EAAI3W,QAAQi8B,gBAAgBH,GACxBnlB,IAAMtR,MAAMsR,IAAI,MAAOA,EAG7B,IAA2B,IAAvBmlB,EAAQE,OAAO,KAAY,CAE7B,IADAD,EAAiBD,EAAQI,QAAQ,IAAK,IAAK,KACN,IAA9BH,EAAeC,OAAO,MAC3BD,EAAiBA,EAAeG,QAAQ,IAAK,IAE/CvlB,GAAI3W,QAAQi8B,gBAAgBF,OACD,IAAlBD,EAAQp/B,QAEjBq/B,EAAiBD,EAAQK,OAAO,EAAE,GAAK,IAAML,EAAQK,OAAO,EAAE,GAAK,IAC/DL,EAAQK,OAAO,EAAE,GACrBxlB,EAAI3W,QAAQi8B,gBAAgBF,IAI5BplB,EAAI3W,QAAQi8B,gBAAgBH,EAM9B,SAHKnlB,GAAKtR,MAAMsR,KACdxb,QAAQ2E,MAAM,kBAAoBg8B,EAAU,cAEvCnlB,GAWT3W,QAAQi8B,gBAAkB,SAAStJ,GACjC,MAAO,IAAIhE,MAAKgE,GAAK4B,WAWvBv0B,QAAQC,OAAS,SAASqb,EAAM8gB,GAC9B,GAAiB,mBAAP,IAA4B,OAANA,EAC9B,IAAK,GAAI/0B,KAAK+0B,GACRA,EAAEj9B,eAAekI,KACnBiU,EAAKjU,GAAK+0B,EAAE/0B,GAIlB,OAAOiU,IAWTtb,QAAQwc,WAAa,SAAUlB,EAAM8gB,GAEnC,QAASC,GAAOD,GACd,MACkB,gBAATE,MAAoBF,YAAaE,MAC3B,gBAANF,IAAwC,gBAAfA,GAAEG,UAA6C,gBAAbH,GAAEI,SAIxE,GAAiB,mBAAP,IAA4B,OAANJ,EAC9B,IAAK,GAAI/0B,KAAK+0B,GACRA,EAAEj9B,eAAekI,KACN,OAAT+0B,EAAE/0B,GACJiU,EAAKjU,GAAK,KACDrH,QAAQiL,YAAYmxB,EAAE/0B,IAC/BiU,EAAKjU,GAAK+0B,EAAE/0B,GAAGhI,QACNg9B,EAAOD,EAAE/0B,IAElBiU,EAAKjU,GAAK+0B,EAAE/0B,GACa,gBAAT+0B,GAAE/0B,KACK,gBAAZiU,GAAKjU,IAA+B,OAAZiU,EAAKjU,MACtCiU,EAAKjU,OAEPrH,QAAQwc,WAAWlB,EAAKjU,GAAI+0B,EAAE/0B,KAE9BiU,EAAKjU,GAAK+0B,EAAE/0B,GAKpB,OAAOiU,IAQTtb,QAAQiL,YAAc,SAASmxB,GAC7B,GAAIK,SAAY,EAChB,OACY,UAAPA,IAA4B,YAAPA,GACF,kBAAXL,GAAM,OACT,OAANA,GACoB,gBAAbA,GAAQ,QACA,IAAfA,EAAEG,UAEG,GAEF,GAQTv8B,QAAQo0B,WAAa,SAAUgI,GAC7B,MAAiB,gBAAP,IAAyB,OAANA,GACJ,kBAAdA,GAAS,SACX,GAEF,GASTp8B,QAAQs0B,MAAQ,SAAS8H,GAGvB,IAAK,GADDv5B,MACKlG,EAAI,EAAGA,EAAIy/B,EAAE1/B,OAAQC,IAE1BkG,EAAErG,KADAwD,QAAQiL,YAAYmxB,EAAEz/B,IACjBqD,QAAQs0B,MAAM8H,EAAEz/B,IAEhBy/B,EAAEz/B,GAGb,OAAOkG,IAUT7C,QAAQ8gB,aAAe,WACrB,GAAIgC,GAAS1Z,SAASC,cAAc,UAEhCrB,EAAQ,OAAOgT,KAAKC,UAAUC,aAAeC,OAAOC,KAMxD,OALIpT,IAAuC,mBAAxB,sBACjB8a,EAAS4Z,mBAAmBC,YACM,IAG7B7Z,GAaT9iB,QAAQmiB,qBAAuB,SAASxZ,GACtC,IACE,GAAIi0B,GAAmBzhB,OAAOyhB,iBAC1BC,EAAoBl0B,EAAQm0B,8BACRn0B,EAAQo0B,2BACRp0B,EAAQq0B,0BACRr0B,EAAQs0B,yBACRt0B,EAAQu0B,wBAA0B,CAC1D,OAAyB9gC,UAArBwgC,EACKA,EAAmBC,EAKnB,EAET,MAAOr6B,GACP,MAAO,KAUXxC,QAAQoI,UAAY,WAClB,MAAO,UAAY4S,KAAKC,UAAUC,YAYpClb,QAAQm9B,SAAW,SAAS5yB,EAAOqiB,EAAOlwB,EAAQ2P,GAChDugB,EAAQA,GAAS,EACjBlwB,EAASA,GAAU6N,EAAM7N,OACzBxB,KAAK0R,SAAU,EACf1R,KAAK2R,KAAO,KACZ3R,KAAKqR,OAASqgB,EACd1xB,KAAKgR,OAAS3B,EACdrP,KAAKoR,WAAaD,EAClBnR,KAAKkR,KAAO9O,KAAK6pB,IAAI5c,EAAM7N,OAAQkwB,EAAQlwB,GAC3CxB,KAAKwR,SAAWkgB,EAAQ,EACxB1xB,KAAKyR,QAMP3M,QAAQm9B,SAAS9hC,UAAUsR,KAAO,WAChC,IAAKzR,KAAK0R,QACR,MAAO,KAMT,KAJA,GAAIiW,GAAM3nB,KAAK2R,KAEXuwB,EAAUliC,KAAKwR,SAAW,EAC1B2wB,GAAQ,EACLD,EAAUliC,KAAKkR,MAAM,CAC1B,IAAKlR,KAAKoR,YAAcpR,KAAKoR,WAAWpR,KAAKgR,OAAQkxB,GAAU,CAC7DliC,KAAK2R,KAAO3R,KAAKgR,OAAOkxB,GACxBC,GAAQ,CACR,OAEFD,IAOF,MALAliC,MAAKwR,SAAW0wB,EACXC,IACHniC,KAAK0R,SAAU,EACf1R,KAAK2R,KAAO,MAEPgW,GAkBT7iB,QAAQoL,eAAiB,SAASb,EAAOqiB,EAAOlwB,EAAQ4gC,GACtD,MAAO,IAAIt9B,SAAQm9B,SAAS5yB,EAAOqiB,EAAOlwB,EAAQ4gC,IAOpDt9B,QAAQu9B,iBAAmB,WACzB,MAAOpiB,QAAOqiB,uBACNriB,OAAOsiB,6BACPtiB,OAAOuiB,0BACPviB,OAAOwiB,wBACPxiB,OAAOyiB,yBACP,SAAUjgB,GACRxC,OAAOI,WAAWoC,EAAU,IAAO,QAiB/C3d,QAAQoqB,iBAAmB,SAASyT,EAAUC,EAAWC,EACrDC,GACF,GACIC,GADAC,EAAc,EAEdC,GAAY,GAAIxP,OAAO4F,SAE3B,IADAsJ,EAASK,GACQ,GAAbJ,EAEF,WADAE,IAGF,IAAII,GAAcN,EAAY,GAE9B,QAAUO,KACJH,GAAeJ,GACnB99B,QAAQu9B,iBAAiBlhC,KAAK8e,OAAQ,WAGpC,GAAImjB,IAAc,GAAI3P,OAAO4F,UACzBgK,EAAgBD,EAAcH,CAClCF,GAAsBC,EACtBA,EAAc5gC,KAAKsX,MAAM2pB,EAAgBR,EACzC,IAAIS,GAAaN,EAAcD,EAK3BQ,EAA2BP,EAAcM,EAAcJ,CACvDK,IAA4BP,GAAeE,GAC7CP,EAASO,GACTJ,MAEmB,IAAfQ,GACFX,EAASK,GAEXG,UAOR,IAAIK,IACFC,wBAA0B,EAC1BC,2BAA6B,EAC7BC,2BAA6B,EAC7BC,4BAA8B,EAC9BzlB,gBAAkB,EAClBH,eAAiB,EACjBC,eAAiB,EACjB4lB,eAAiB,EACjBC,cAAgB,EAChBC,4BAA8B,EAC9Br0B,YAAc,EACdC,mBAAqB,EACrB2O,WAAa,EACbD,WAAa,EACbzK,WAAa,EACb2K,eAAiB,EACjBL,eAAiB,EACjBb,uBAAyB,EACzB2mB,mBAAqB,EACrBpoB,qBAAuB,EACvB4C,kBAAoB,EACpBylB,gCAAkC,EAClCC,WAAa,EACbloB,iBAAmB,EACnBD,gBAAkB,EAClBI,WAAa,EACbC,YAAc,EACdH,qBAAuB,EACvBC,sBAAwB,EACxBoB,QAAU,EACV6mB,iBAAmB,EACnBC,iBAAmB,EACnBC,oBAAsB,EACtBz0B,WAAa,EACbiP,4BAA8B,EAC9BD,8BAAgC,EAChCvC,uBAAyB,EACzBO,YAAc,EACdpN,aAAe,EACf80B,kBAAoB,EACpBC,qBAAuB,EACvBC,cAAgB,EAYlB1/B,SAAQs2B,0BAA4B,SAASl3B,EAAQ0b,GAMnD,GAAI6kB,KACJ,IAAIvgC,EACF,IAAK,GAAIzC,GAAI,EAAGA,EAAIyC,EAAO1C,OAAQC,IACjCgjC,EAAsBvgC,EAAOzC,KAAM,CAMvC,IAAIijC,GAAkB,SAASrgC,GAC7B,IAAK,GAAIsgC,KAAYtgC,GACnB,GAAIA,EAAQJ,eAAe0gC,KACtBnB,EAAiBmB,GACpB,OAAO,CAGX,QAAO,EAIT,KAAK,GAAIA,KAAY/kB,GACnB,GAAKA,EAAM3b,eAAe0gC,GAG1B,GAAgB,uBAAZA,GACCF,EAAsBE,KAAc/kB,EAAMxb,QAE7C,GAAIsgC,EAAgB9kB,EAAM+kB,IAAY,OAAO,MACxC,IAAgB,UAAZA,GAAoC,QAAZA,EAAoB,CAErD,GAAIC,GAAYhlB,EAAM+kB,EACtB,KAAK,GAAIvgC,KAAUwgC,GACjB,GAAIA,EAAU3gC,eAAeG,IACzBsgC,EAAgBE,EAAUxgC,IAC5B,OAAO,MAMX,KAAKo/B,EAAiBmB,GAAW,OAAO,CAI5C,QAAO,GAGT7/B,QAAQwO,SACNC,QAAU,SAASnJ,EAAGpF,EAAMmI,EAAKoE,EAASD,EAAS/B,EAAOs1B,GACxD13B,EAAIzM,YACJyM,EAAIiH,UAAY7E,EAChBpC,EAAI23B,IAAIvzB,EAASD,EAASuzB,EAAQ,EAAG,EAAIziC,KAAK2iC,IAAI,GAClD53B,EAAIsH,SA8BR3P,QAAQylB,WAAa,WAEnBvqB,KAAKglC,UAOPlgC,QAAQylB,WAAWpqB,UAAU8qB,MAAQ,WAEnC,IAAK,GADDga,GAAU/2B,SAASiuB,qBAAqB,UACnC16B,EAAI,EAAGA,EAAIwjC,EAAQzjC,OAAQC,IAAK,CACvC,GAAIyjC,GAASD,EAAQxjC,GACjBiK,EAAM5G,QAAQgmB,QAAQoa,GACtB9jC,EAAIsK,EAAItK,EACRC,EAAIqK,EAAIrK,EACRwL,EAAQq4B,EAAOC,YACfv4B,EAASs4B,EAAOE,aAEhBjuB,EAAMjJ,SAASC,cAAc,MACjCgJ,GAAI9I,MAAME,SAAW,WACrB4I,EAAI9I,MAAMG,KAAOpN,EAAI,KACrB+V,EAAI9I,MAAMI,IAAMpN,EAAI,KACpB8V,EAAI9I,MAAMxB,MAAQA,EAAQ,KAC1BsK,EAAI9I,MAAMzB,OAASA,EAAS,KAC5BuK,EAAI9I,MAAM2a,OAAS,IACnB9a,SAASswB,KAAK9vB,YAAYyI,GAC1BnX,KAAKglC,MAAM1jC,KAAK6V,KAOpBrS,QAAQylB,WAAWpqB,UAAUkrB,QAAU,WACrC,IAAK,GAAI5pB,GAAI,EAAGA,EAAIzB,KAAKglC,MAAMxjC,OAAQC,IACrCzB,KAAKglC,MAAMvjC,GAAGuN,WAAWJ,YAAY5O,KAAKglC,MAAMvjC,GAElDzB,MAAKglC,UAQPlgC,QAAQozB,oBAAsB,SAAS9gB,GACrC,IAAK,GAAI3V,GAAI,EAAGA,EAAI2V,EAAK5V,OAAQC,IAAK,CACpC,GAAI4jC,GAAOjuB,EAAKkuB,OAAO7jC,EACvB,IAAa,OAAT4jC,EAEF,MAAM5jC,GAAI,EAAK2V,EAAK5V,QAAmC,OAAvB4V,EAAKkuB,OAAO7jC,EAAI,GACvC,OAEF4jC,CAET,IAAa,OAATA,EAEF,MAAM5jC,GAAI,EAAK2V,EAAK5V,QAAmC,OAAvB4V,EAAKkuB,OAAO7jC,EAAI,GACvC,OAEF4jC,EAIX,MAAO,OAUTvgC,QAAQ6hB,kBAAoB,SAAS4e,EAAWC,GAC9C,GAAkB,OAAdA,GAAoC,OAAdD,EACxB,OAAO,CAGT,KADA,GAAIE,GAAoC,EACjCA,GAAiBA,IAAkBD,GACxCC,EAAgBA,EAAcz2B,UAEhC,OAAQy2B,KAAkBD,GAO5B1gC,QAAQiU,IAAM,SAAS2sB,EAAMzO,GAC3B,MAAU,GAANA,EACK,EAAM70B,KAAK2W,IAAI2sB,GAAOzO,GAExB70B,KAAK2W,IAAI2sB,EAAMzO,IAUxBnyB,QAAQmP,OAAS,SAASoU,GAExB,GAAIlR,GAAMjJ,SAASC,cAAc,MACjCgJ,GAAI9I,MAAMC,gBAAkB+Z,EAC5BlR,EAAI9I,MAAM4H,WAAa,SACvB/H,SAASswB,KAAK9vB,YAAYyI,EAC1B,IAAIwuB,EAEFA,GADE1lB,OAAOke,iBACAle,OAAOke,iBAAiBhnB,EAAK,MAAM7I,gBAGnC6I,EAAIpI,aAAaT,gBAE5BJ,SAASswB,KAAK5vB,YAAYuI,EAC1B,IAAIyuB,GAAO,+CAA+CC,KAAKF,EAC/D,QACEh+B,EAAG02B,SAASuH,EAAK,GAAI,IACrBx7B,EAAGi0B,SAASuH,EAAK,GAAI,IACrBzxB,EAAGkqB,SAASuH,EAAK,GAAI,MAUzB9gC,QAAQiI,kBAAoB,SAAS+4B,GACnC,GAAIle,EACJ,KACEA,EAASke,GAAqB53B,SAASC,cAAc,UACrDyZ,EAAO7B,WAAW,MAEpB,MAAOze,GACL,GAAIy+B,GAAKhmB,UAAUimB,WAAWC,MAAM,iBAChC/lB,EAA+D,IAAtDH,UAAUC,UAAU0Z,cAAc9B,QAAQ,QACvD,QAAMmO,GAAQA,EAAG,GAAK,GAAM,GACnB,GACF,EAET,OAAO,GAaTjhC,QAAQ+zB,YAAc,SAASz3B,EAAG8kC,EAAaC,GAC7C,GAAIje,GAAMqO,WAAWn1B,EACrB,KAAK+I,MAAM+d,GAAM,MAAOA,EAIxB,IAAI,OAAOpI,KAAK1e,GAAI,MAAO,KAG3B,IAAI,aAAa0e,KAAK1e,GAAI,MAAOsJ,IAGjC,IAAI07B,GAAM,oBAAsBhlC,EAAI,eAMpC,OALiBF,UAAbilC,GAA0CjlC,SAAhBglC,IAC5BE,GAAO,aAAe,GAAGF,GAAa,IAAM,MAAQC,EAAW,cAEjElmC,QAAQ2E,MAAMwhC,GAEP,SC7qCT,WAEA,YAQAthC,SAAQuhC,UAAY,SAASb,GAC3BxlC,KAAKwlC,UAAYA,GAOnB1gC,QAAQuhC,UAAUlmC,UAAUmmC,KAAO,SAASlvB,EAAM/S,GAIhDrE,KAAKwlC,UAAUrkB,UAAY,GACI,mBAApBnhB,MAAe,YACxBA,KAAKumC,WAAWpf,UAGlBnnB,KAAKumC,WAAa,GAAIzhC,SAAQ9E,KAAKwlC,UAAWpuB,EAAM/S,IAStDS,QAAQuhC,UAAUlmC,UAAU8wB,aAAe,SAASuV,GAClD,GAAIjhB,IAAM,CACNihB,GAAgBhlC,SAClB+jB,EAAMihB,EAAgB,GAAGjhB,KAE3BvlB,KAAKumC,WAAWtV,aAAa1L,IAQ/BzgB,QAAQuhC,UAAUlmC,UAAUuyB,aAAe,WACzC,GAAI+T,MAEAlhB,EAAMvlB,KAAKumC,WAAW7T,cAE1B,IAAU,EAANnN,EAAS,MAAOkhB,EAGpB,KAAK,GADDpgC,GAASrG,KAAKumC,WAAWpgB,QAAQ9f,OAC5BwE,EAAS,EAAGA,EAASxE,EAAO7E,SAAUqJ,EAC7C47B,EAAUnlC,MAAMikB,IAAKA,EAAKmD,OAAQ7d,EAAS,GAG7C,OAAO47B,OCpET,WAEA,YAOA,IAAIC,GAAmB,GAMvB5hC,SAAQ6hC,eAWR7hC,QAAQ6hC,YAAYC,yBAA2B,SAASnc,EAAOrgB,EAAGqD,GAChEA,EAAQgc,SAAW3kB,QAAQimB,UAAUN,EAAOhd,GAC5CA,EAAQic,SAAW5kB,QAAQkmB,UAAUP,EAAOhd,EAC5C,IAAIo5B,GAAczkC,KAAK0W,IAAIrL,EAAQgc,SAAWhc,EAAQ8b,YAClDud,EAAe1kC,KAAK0W,IAAIrL,EAAQic,SAAWjc,EAAQ+b,WAErC,GAAdqd,GAAkC,EAAfC,GACN5lC,SAAbkJ,EAAE8mB,QAAoC,IAAZ9mB,EAAE8mB,QAC9BpsB,QAAQ6hC,YAAYI,oBAAoB38B,EAAGqgB,EAAOhd,GAGpDA,EAAQo5B,YAAcA,EACtBp5B,EAAQq5B,aAAeA,GAiBzBhiC,QAAQ6hC,YAAYK,SAAW,SAASvc,EAAOrgB,EAAGqD,GAChD,GAAIhM,GAAGuC,CACPyJ,GAAQ4b,WAAY,CACpB,IAAI1E,GAASva,EAAElB,YAWf,IATIkB,EAAEb,iBAAiB,WAAY,MACjCkE,EAAQuc,oBAAsBllB,QAAQ2E,MAAMkb,EAAO,IACnDlX,EAAQyc,UAAYplB,QAAQ2E,MAAMkb,EAAO,IAAM7f,QAAQ2E,MAAMkb,EAAO,MAEpElX,EAAQuc,oBAAsBrF,EAAO,GACrClX,EAAQyc,UAAYvF,EAAO,GAAKA,EAAO,IAEzClX,EAAQwc,eAAiBxc,EAAQyc,WAAa9f,EAAE4Z,SAAShd,KAAKC,EAAI,GAE9DmD,EAAEiJ,iBAAiB,mBAAoB,CACzC,GAAI4zB,GAAmB78B,EAAElD,OAASkD,EAAEiJ,iBAAiB,mBACjD6zB,EAAY98B,EAAE0Z,gBAEdqjB,EAAe/8B,EAAEqa,YAAYyiB,EAAU,IAAMD,EAC7CG,EAAgBh9B,EAAEqa,YAAYyiB,EAAU,IAAMD,EAE9CI,EAAkBj9B,EAAE0a,aAAaqiB,GACjCG,EAAmBl9B,EAAE0a,aAAasiB,EACtC35B,GAAQ2c,cAAgBid,EAAiBC,EAEzC,IAAIjd,MACAkd,EAAmBn9B,EAAE/C,QAAU+C,EAAEiJ,iBAAiB,kBAEtD,KAAK5R,EAAI,EAAGA,EAAI2I,EAAEyZ,MAAMriB,OAAQC,IAAK,CACnCuC,EAAOoG,EAAEyZ,MAAMpiB,EACf,IAAI+lC,GAAYxjC,EAAKwqB,aAEjBiZ,EAAcr9B,EAAEsa,YAAY8iB,EAAU,GAAI/lC,GAAK8lC,EAC/CG,EAAiBt9B,EAAEsa,YAAY8iB,EAAU,GAAI/lC,GAAK8lC,EAElDI,EAAkBv9B,EAAE2a,aAAa0iB,EAAahmC,GAC9CmmC,EAAqBx9B,EAAE2a,aAAa2iB,EAAgBjmC,EAExD4oB,GAAc5oB,IAAMkmC,EAAiBC,GAEvCn6B,EAAQ4c,cAAgBA,EAU1B,IAFA5c,EAAQ6b,SAAU,EAClB7b,EAAQ9H,QACHlE,EAAI,EAAGA,EAAI2I,EAAEyZ,MAAMriB,OAAQC,IAAK,CACnCuC,EAAOoG,EAAEyZ,MAAMpiB,EACf,IAAIomC,MACAziB,EAAShb,EAAEia,WAAW5iB,GAGtB+I,EAAWJ,EAAEa,YAAY5F,WAAW,WAAY5D,EAChD+I,IACFq9B,EAAUC,gBAAkBhjC,QAAQ2E,MAAM2b,EAAO,IACjDyiB,EAAUzc,eAAiBtmB,QAAQ2E,MAAM2b,EAAO,IAAMtgB,QAAQ2E,MAAM2b,EAAO,MAE3EyiB,EAAUC,gBAAkB1iB,EAAO,GACnCyiB,EAAUzc,eAAiBhG,EAAO,GAAKA,EAAO,IAEhDyiB,EAAUE,cAAgBF,EAAUzc,gBAAkBhhB,EAAE4Z,SAAShd,KAAKI,EAAI,GAC1EqG,EAAQ9H,KAAKrE,KAAKumC,IAGd7jC,EAAK6pB,aAAe7pB,EAAKuqB,cAAY9gB,EAAQ6b,SAAU,KAkB/DxkB,QAAQ6hC,YAAYqB,QAAU,SAASvd,EAAOrgB,EAAGqD,GAC/CA,EAAQgc,SAAW3kB,QAAQimB,UAAUN,EAAOhd,GAC5CA,EAAQic,SAAW5kB,QAAQkmB,UAAUP,EAAOhd,EAE5C,IAAI+e,GAAU/e,EAAQuc,qBACnBvc,EAAQgc,SAAWhc,EAAQ8b,YAAc9b,EAAQwc,cAChDxc,GAAQ2c,eACVoC,EAAUpqB,KAAKy0B,IAAIrK,EAAS/e,EAAQ2c,aAAa,IAEnD,IAAIqC,GAAUD,EAAU/e,EAAQyc,SAiBhC,IAhBIzc,EAAQ2c,cACNqC,EAAUhf,EAAQ2c,aAAa,KAEjCoC,GAAqBC,EAAUhf,EAAQ2c,aAAa,GACpDqC,EAAUD,EAAU/e,EAAQyc,WAK9B9f,EAAE0W,YADA1W,EAAEb,iBAAiB,WAAY,MACfnH,KAAK2W,IAAIjU,QAAQqgB,UAAWqH,GAC5BpqB,KAAK2W,IAAIjU,QAAQqgB,UAAWsH,KAE7BD,EAASC,GAIxBhf,EAAQ6b,QAKV,IAAK,GAHD2e,GAAgBx6B,EAAQic,SAAWjc,EAAQ+b,WAGtC/nB,EAAI,EAAGA,EAAI2I,EAAEyZ,MAAMriB,OAAQC,IAAK,CACvC,GAAIuC,GAAOoG,EAAEyZ,MAAMpiB,GACfomC,EAAYp6B,EAAQ9H,KAAKlE,GACzBymC,EAAeD,EAAgBJ,EAAUE,cAEzCI,EAAe16B,EAAQ4c,cAAgB5c,EAAQ4c,cAAc5oB,GAAK,KAGlE2mC,EAAWP,EAAUC,gBAAkBI,CACvCC,KACFC,EAAWhmC,KAAK6pB,IAAImc,EAAUD,EAAa,IAE7C,IAAIE,GAAWD,EAAWP,EAAUzc,cAChC+c,IACEE,EAAWF,EAAa,KAE1BC,GAAuBC,EAAWF,EAAa,GAC/CE,EAAWD,EAAWP,EAAUzc,gBAIlCpnB,EAAK6pB,YADHzjB,EAAEa,YAAY5F,WAAW,WAAY5D,IAClBW,KAAK2W,IAAIjU,QAAQqgB,UAAWkjB,GAC5BjmC,KAAK2W,IAAIjU,QAAQqgB,UAAWijB,KAE5BC,EAAUD,GAKrCh+B,EAAE2jB,YAAW,IAiBfjpB,QAAQ6hC,YAAY2B,OAASxjC,QAAQ6hC,YAAYC,yBAgBjD9hC,QAAQ6hC,YAAY4B,UAAY,SAAS9d,EAAOrgB,EAAGqD,GACjDA,EAAQ2b,WAAY,EACpB3b,EAAQ+6B,WAAY,GAiBtB1jC,QAAQ6hC,YAAY8B,SAAW,SAAShe,EAAOrgB,EAAGqD,GAChDA,EAAQ+6B,WAAY,EACpB/6B,EAAQgc,SAAW3kB,QAAQimB,UAAUN,EAAOhd,GAC5CA,EAAQic,SAAW5kB,QAAQkmB,UAAUP,EAAOhd,EAE5C,IAAIi7B,GAAStmC,KAAK0W,IAAIrL,EAAQ8b,WAAa9b,EAAQgc,UAC/Ckf,EAASvmC,KAAK0W,IAAIrL,EAAQ+b,WAAa/b,EAAQic,SAGnDjc,GAAQkc,cAA0Bgf,EAAS,EAAlBD,EAAuB5jC,QAAQ0a,SAAW1a,QAAQya,WAE3EnV,EAAEshB,cACEje,EAAQkc,cACRlc,EAAQ8b,WACR9b,EAAQgc,SACRhc,EAAQ+b,WACR/b,EAAQic,SACRjc,EAAQqc,kBACRrc,EAAQmc,SACRnc,EAAQoc,UAEZpc,EAAQmc,SAAWnc,EAAQgc,SAC3Bhc,EAAQoc,SAAWpc,EAAQic,SAC3Bjc,EAAQqc,kBAAoBrc,EAAQkc,eAStC7kB,QAAQ6hC,YAAYI,oBAAsB,SAAS38B,EAAGqgB,EAAOhd,GAW3D,IAAK,GAVDo2B,GAAgBz5B,EAAEsZ,kBAAkB,iBACpC2gB,EAAqBj6B,EAAEsZ,kBAAkB,sBAEzCklB,EAAgB,KAGhBC,EAAa,GACbC,EAAkBtvB,OAAOuvB,UAGpBtnC,EAAI,EAAGA,EAAI2I,EAAE+mB,WAAW3vB,OAAQC,IAAK,CAC5C,GAAIyK,GAAI9B,EAAE+mB,WAAW1vB,GACjBunC,EAAW5mC,KAAK2W,IAAI7M,EAAEqF,QAAU9D,EAAQgc,SAAU,GACvCrnB,KAAK2W,IAAI7M,EAAEoF,QAAU7D,EAAQic,SAAU,IACjDvf,MAAM6+B,KACQ,IAAdH,GAA+BC,EAAXE,KACvBF,EAAkBE,EAClBH,EAAapnC,GAKjB,GAAIojC,GAASz6B,EAAEiJ,iBAAiB,uBAAyB,CAKzD,IAJuBwxB,EAASA,GAA5BiE,IACFF,EAAgBx+B,EAAE+mB,WAAW0X,IAG3BD,EAAe,CACjB,GAAIthC,IACFub,YAAY,EACZ3X,MAAO09B,EACPr3B,QAAS9D,EAAQgc,SACjBnY,QAAS7D,EAAQic,UAEf5G,EAAmB1Y,EAAEpC,eAAe,aAAcV,EACtD,IAAIwb,EAEF,MAEEuhB,IACFA,EAAmBljC,KAAKiJ,EAAGqgB,EAAOme,GAItC,GAAIthC,IACFub,YAAY,EACZxa,KAAM+B,EAAE8mB,OACR+X,IAAK7+B,EAAE+mB,WACP5f,QAAS9D,EAAQgc,SACjBnY,QAAS7D,EAAQic,SAEdtf,GAAEpC,eAAe,QAASV,IACzBu8B,GAEFA,EAAc1iC,KAAKiJ,EAAGqgB,EAAOrgB,EAAE8mB,OAAQ9mB,EAAE+mB,aAoB/CrsB,QAAQ6hC,YAAYuC,QAAU,SAASze,EAAOrgB,EAAGqD,GAC/CrD,EAAEgiB,iBACF3e,EAAQ2b,WAAY,EACpBtkB,QAAQ6hC,YAAYC,yBAAyBnc,EAAOrgB,EAAGqD,EAKvD,IAAIwB,GAAW7E,EAAE+kB,SACjB,IAAI1hB,EAAQo5B,aAAe,IACvBp5B,EAAQkc,eAAiB7kB,QAAQya,WAAY,CAC/C,GAAI/Q,GAAOpM,KAAK6pB,IAAIxe,EAAQ8b,WAAY9b,EAAQgc,UAC5CtF,EAAQ/hB,KAAKy0B,IAAIppB,EAAQ8b,WAAY9b,EAAQgc,SACjDjb,GAAOpM,KAAKy0B,IAAIroB,EAAMS,EAAS7N,GAC/B+iB,EAAQ/hB,KAAK6pB,IAAI9H,EAAOlV,EAAS7N,EAAI6N,EAAShI,GACnCkd,EAAP3V,GACFpE,EAAEiiB,SAAS7d,EAAM2V,GAEnB1W,EAAQsc,oBAAqB,MACxB,IAAItc,EAAQq5B,cAAgB,IACxBr5B,EAAQkc,eAAiB7kB,QAAQ0a,SAAU,CACpD,GAAI/Q,GAAMrM,KAAK6pB,IAAIxe,EAAQ+b,WAAY/b,EAAQic,UAC3Cyf,EAAS/mC,KAAKy0B,IAAIppB,EAAQ+b,WAAY/b,EAAQic,SAClDjb,GAAMrM,KAAKy0B,IAAIpoB,EAAKQ,EAAS5N,GAC7B8nC,EAAS/mC,KAAK6pB,IAAIkd,EAAQl6B,EAAS5N,EAAI4N,EAAS7H,GACtC+hC,EAAN16B,GACFrE,EAAE2iB,SAASte,EAAK06B,GAElB17B,EAAQsc,oBAAqB,EAE/Btc,EAAQ8b,WAAa,KACrB9b,EAAQ+b,WAAa,MAMvB1kB,QAAQ6hC,YAAYyC,WAAa,SAAS3e,EAAOrgB,EAAGqD,GAClDgd,EAAM1H,iBACF0H,EAAM4e,QAAQ7nC,OAAS,IAEzBiM,EAAQ67B,wBAA0B,KAIpC,KAAK,GADDD,MACK5nC,EAAI,EAAGA,EAAIgpB,EAAM4e,QAAQ7nC,OAAQC,IAAK,CAC7C,GAAIm8B,GAAInT,EAAM4e,QAAQ5nC,EAEtB4nC,GAAQ/nC,MACNkuB,MAAOoO,EAAEpO,MACTC,MAAOmO,EAAEnO,MACT8Z,MAAOn/B,EAAE0a,aAAa8Y,EAAEpO,OACxBga,MAAOp/B,EAAE2a,aAAa6Y,EAAEnO,SAM5B,GAFAhiB,EAAQg8B,eAAiBJ,EAEH,GAAlBA,EAAQ7nC,OAEViM,EAAQi8B,mBAAqBL,EAAQ,GACrC57B,EAAQk8B,iBAAoBvoC,GAAG,EAAMC,GAAG,OACnC,IAAIgoC,EAAQ7nC,QAAU,EAAG,CAK9BiM,EAAQi8B,oBACNla,MAAO,IAAO6Z,EAAQ,GAAG7Z,MAAQ6Z,EAAQ,GAAG7Z,OAC5CC,MAAO,IAAO4Z,EAAQ,GAAG5Z,MAAQ4Z,EAAQ,GAAG5Z,OAG5C8Z,MAAO,IAAOF,EAAQ,GAAGE,MAAQF,EAAQ,GAAGE,OAC5CC,MAAO,IAAOH,EAAQ,GAAGG,MAAQH,EAAQ,GAAGG,OAI9C,IAAII,GAAe,IAAMxnC,KAAK2iC,GAAK3iC,KAAKG,MACpCkL,EAAQi8B,mBAAmBja,MAAQ4Z,EAAQ,GAAG5Z,MAC9C4Z,EAAQ,GAAG7Z,MAAQ/hB,EAAQi8B,mBAAmBla,MAGlDoa,GAAexnC,KAAK0W,IAAI8wB,GACpBA,EAAe,KAAIA,EAAe,GAAKA,GAE3Cn8B,EAAQk8B,iBACNvoC,EAAmB,KAAfwoC,EACJvoC,EAAIuoC,EAAe,MAKvBn8B,EAAQo8B,cACNzoC,EAAGgJ,EAAElB,aACL7H,EAAG+I,EAAEia,eAOTvf,QAAQ6hC,YAAYmD,UAAY,SAASrf,EAAOrgB,EAAGqD,GAEjDA,EAAQ67B,wBAA0B,IAElC,IAAI7nC,GAAG4nC,IACP,KAAK5nC,EAAI,EAAGA,EAAIgpB,EAAM4e,QAAQ7nC,OAAQC,IAAK,CACzC,GAAIm8B,GAAInT,EAAM4e,QAAQ5nC,EACtB4nC,GAAQ/nC,MACNkuB,MAAOoO,EAAEpO,MACTC,MAAOmO,EAAEnO,QAGb,GAEIsa,GAFAN,EAAiBh8B,EAAQg8B,eAKzBO,EAASv8B,EAAQi8B,kBAEnBK,GADoB,GAAlBV,EAAQ7nC,OACF6nC,EAAQ,IAGd7Z,MAAO,IAAO6Z,EAAQ,GAAG7Z,MAAQ6Z,EAAQ,GAAG7Z,OAC5CC,MAAO,IAAO4Z,EAAQ,GAAG5Z,MAAQ4Z,EAAQ,GAAG5Z,OAMhD,IAAIwa,IACFza,MAAOua,EAAMva,MAAQwa,EAAOxa,MAC5BC,MAAOsa,EAAMta,MAAQua,EAAOva,OAE1Bya,EAAYz8B,EAAQo8B,aAAazoC,EAAE,GAAKqM,EAAQo8B,aAAazoC,EAAE,GAC/D+oC,EAAa18B,EAAQo8B,aAAaxoC,EAAE,GAAKoM,EAAQo8B,aAAaxoC,EAAE,EACpE4oC,GAAMV,MAASU,EAAMza,MAAQplB,EAAE4Z,SAAShd,KAAKC,EAAKijC,EAClDD,EAAMT,MAASS,EAAMxa,MAAQrlB,EAAE4Z,SAAShd,KAAKI,EAAK+iC,CAClD,IAAIC,GAAQC,CAIZ,IAAsB,GAAlBhB,EAAQ7nC,OACV4oC,EAAS,EACTC,EAAS,MACJ,IAAIhB,EAAQ7nC,QAAU,EAAG,CAC9B,GAAI8oC,GAAiBb,EAAe,GAAGja,MAAQwa,EAAOxa,KACtD4a,IAAUf,EAAQ,GAAG7Z,MAAQua,EAAMva,OAAS8a,CAE5C,IAAIC,GAAkBd,EAAe,GAAGha,MAAQua,EAAOva,KACvD4a,IAAUhB,EAAQ,GAAG5Z,MAAQsa,EAAMta,OAAS8a,EAI9CH,EAAShoC,KAAK6pB,IAAI,EAAG7pB,KAAKy0B,IAAI,KAAOuT,IACrCC,EAASjoC,KAAK6pB,IAAI,EAAG7pB,KAAKy0B,IAAI,KAAOwT,GAErC,IAAIG,IAAU,CASd,IARI/8B,EAAQk8B,gBAAgBvoC,IAC1BgJ,EAAE0W,aACAkpB,EAAOT,MAAQU,EAAMV,OAAS97B,EAAQo8B,aAAazoC,EAAE,GAAK4oC,EAAOT,OAASa,EAC1EJ,EAAOT,MAAQU,EAAMV,OAAS97B,EAAQo8B,aAAazoC,EAAE,GAAK4oC,EAAOT,OAASa,GAE5EI,GAAU,GAGR/8B,EAAQk8B,gBAAgBtoC,EAC1B,IAAKI,EAAI,EAAO,EAAJA,EAA2BA,IAAK,CAC1C,GAAIuC,GAAOoG,EAAEyZ,MAAMpiB,GACf+I,EAAWJ,EAAEa,YAAY5F,WAAW,WAAY5D,EAChD+I,KAGFxG,EAAK6pB,aACHmc,EAAOR,MAAQS,EAAMT,OAAS/7B,EAAQo8B,aAAaxoC,EAAE,GAAK2oC,EAAOR,OAASa,EAC1EL,EAAOR,MAAQS,EAAMT,OAAS/7B,EAAQo8B,aAAaxoC,EAAE,GAAK2oC,EAAOR,OAASa,GAE5EG,GAAU,GAQhB,GAHApgC,EAAE2jB,YAAW,GAGTyc,GAAWnB,EAAQ7nC,OAAS,GAAK4I,EAAEsZ,kBAAkB,gBAAiB,CACxE,GAAI+mB,GAAargC,EAAElB,YACnBkB,GAAEsZ,kBAAkB,gBAAgBviB,KAAKiJ,EAAGqgC,EAAW,GAAIA,EAAW,GAAIrgC,EAAEka,iBAOhFxf,QAAQ6hC,YAAY+D,SAAW,SAASjgB,EAAOrgB,EAAGqD,GAChD,GAA6B,IAAzBgd,EAAM4e,QAAQ7nC,OAEhBsD,QAAQ6hC,YAAYyC,WAAW3e,EAAOrgB,EAAGqD,OACpC,IAAmC,GAA/Bgd,EAAMkgB,eAAenpC,OAAa,CAI3C,GAAIopC,IAAM,GAAInX,OAAO4F,UACjBuE,EAAInT,EAAMkgB,eAAe,EACzBl9B,GAAQ67B,yBACRsB,EAAMn9B,EAAQ67B,wBAA0B,KACxC77B,EAAQo9B,YAAczoC,KAAK0W,IAAIrL,EAAQo9B,WAAajN,EAAEkN,SAAW,IACjEr9B,EAAQs9B,YAAc3oC,KAAK0W,IAAIrL,EAAQs9B,WAAanN,EAAEoN,SAAW,GACnE5gC,EAAEqjB,aAEFhgB,EAAQ67B,wBAA0BsB,EAClCn9B,EAAQo9B,WAAajN,EAAEkN,QACvBr9B,EAAQs9B,WAAanN,EAAEoN,UAM7B,IAAIC,GAAuB,SAAS7pC,EAAGoN,EAAM2V,GAC3C,MAAQ3V,GAAJpN,EACKoN,EAAOpN,EACLA,EAAI+iB,EACN/iB,EAAI+iB,EAEJ,GAQP+mB,EAAoB,SAASzgB,EAAOrgB,GACtC,GAAI+gC,GAAWrmC,QAAQgmB,QAAQ1gB,EAAEub,SAC7BylB,GACF58B,KAAM28B,EAAS/pC,EACf+iB,MAAOgnB,EAAS/pC,EAAIgJ,EAAEub,QAAQwf,YAC9B12B,IAAK08B,EAAS9pC,EACd8nC,OAAQgC,EAAS9pC,EAAI+I,EAAEub,QAAQyf,cAG7BvuB,GACFzV,EAAG0D,QAAQ0qB,MAAM/E,GACjBppB,EAAGyD,QAAQ2qB,MAAMhF,IAGfxoB,EAAKgpC,EAAqBp0B,EAAGzV,EAAGgqC,EAAI58B,KAAM48B,EAAIjnB,OAC9CjiB,EAAK+oC,EAAqBp0B,EAAGxV,EAAG+pC,EAAI38B,IAAK28B,EAAIjC,OACjD,OAAO/mC,MAAKy0B,IAAI50B,EAAIC,GAYtB4C,SAAQ6hC,YAAY0E,cAElBC,UAAW,SAAS7gB,EAAOrgB,EAAGqD,GAE5B,IAAIgd,EAAM8gB,QAA0B,GAAhB9gB,EAAM8gB,OAA1B,CAEA99B,EAAQ+c,oBAAoBC,EAAOrgB,EAAGqD,GAElCgd,EAAM+gB,QAAU/gB,EAAMghB,SACxB3mC,QAAQkiC,SAASvc,EAAOrgB,EAAGqD,GAE3B3I,QAAQyjC,UAAU9d,EAAOrgB,EAAGqD,EAM9B,IAAIi+B,GAAY,SAASjhB,GACvB,GAAIhd,EAAQ2b,UAAW,CAErB,GAAI3N,GAAIyvB,EAAkBzgB,EAAOrgB,EACzBs8B,GAAJjrB,EACF3W,QAAQ2jC,SAAShe,EAAOrgB,EAAGqD,GAEF,OAArBA,EAAQgc,WACVhc,EAAQgc,SAAW,KACnBhc,EAAQic,SAAW,KACnBtf,EAAEgiB,sBAGG3e,GAAQ4b,WACjBvkB,QAAQkjC,QAAQvd,EAAOrgB,EAAGqD,IAG1Bk+B,EAAU,SAASlhB,GACjBhd,EAAQ2b,UACe,OAArB3b,EAAQgc,SACV3kB,QAAQokC,QAAQze,EAAOrgB,EAAGqD,GAE1B3I,QAAQ6hC,YAAYC,yBAAyBnc,EAAOrgB,EAAGqD,GAEhDA,EAAQ4b,WACjBvkB,QAAQwjC,OAAO7d,EAAOrgB,EAAGqD,GAG3B3I,QAAQ2iB,YAAYvZ,SAAU,YAAaw9B,GAC3C5mC,QAAQ2iB,YAAYvZ,SAAU,UAAWy9B,GACzCl+B,EAAQ0Z,UAGV/c,GAAEyc,iBAAiB3Y,SAAU,YAAaw9B,GAC1CthC,EAAEyc,iBAAiB3Y,SAAU,UAAWy9B,KAE1CngB,0BAA0B,EAE1BogB,WAAY,SAASnhB,EAAOrgB,EAAGqD,GAC7B3I,QAAQ6hC,YAAYyC,WAAW3e,EAAOrgB,EAAGqD,IAE3Co+B,UAAW,SAASphB,EAAOrgB,EAAGqD,GAC5B3I,QAAQ6hC,YAAYmD,UAAUrf,EAAOrgB,EAAGqD,IAE1Cq+B,SAAU,SAASrhB,EAAOrgB,EAAGqD,GAC3B3I,QAAQ6hC,YAAY+D,SAASjgB,EAAOrgB,EAAGqD,IAIzCs+B,SAAU,SAASthB,EAAOrgB,EAAGqD,GAC3B,GAAIA,EAAQsc,mBAEV,YADAtc,EAAQsc,oBAAqB,EAK/B,IAAIziB,IACFiK,QAAS9D,EAAQgc,SACjBnY,QAAS7D,EAAQic,SAEftf,GAAEpC,eAAe,WAAYV,IAI7BmjB,EAAM+gB,QAAU/gB,EAAMghB,UAG1BrhC,EAAEqjB,cAIN3oB,QAAQM,cAAcoZ,iBAAmB1Z,QAAQ6hC,YAAY0E,aAG7DvmC,QAAQknC,wBAA0BlnC,QAAQ6hC,YAAY0E,aACtDvmC,QAAQokC,QAAUpkC,QAAQ6hC,YAAYuC,QACtCpkC,QAAQ2jC,SAAW3jC,QAAQ6hC,YAAY8B,SACvC3jC,QAAQyjC,UAAYzjC,QAAQ6hC,YAAY4B,UACxCzjC,QAAQwjC,OAASxjC,QAAQ6hC,YAAY2B,OACrCxjC,QAAQkjC,QAAUljC,QAAQ6hC,YAAYqB,QACtCljC,QAAQkiC,SAAWliC,QAAQ6hC,YAAYK,SAEvCliC,QAAQ6hC,YAAYsF,sBAClBX,UAAW,SAAS7gB,EAAOrgB,EAAGqD,GAC5BA,EAAQ+c,oBAAoBC,EAAOrgB,EAAGqD,IAExCk+B,QAAS7mC,QAAQ6hC,YAAYC,0BAI/B9hC,QAAQ6hC,YAAYuF,2BAClBZ,UAAW,SAAS7gB,EAAOrgB,EAAGqD,GAC5BA,EAAQ+c,oBAAoBC,EAAOrgB,EAAGqD,GACtC3I,QAAQkiC,SAASvc,EAAOrgB,EAAGqD,IAE7Bi+B,UAAW,SAASjhB,EAAOrgB,EAAGqD,GACxBA,EAAQ4b,WACVvkB,QAAQkjC,QAAQvd,EAAOrgB,EAAGqD,IAG9Bk+B,QAAS,SAASlhB,EAAOrgB,EAAGqD,GACtBA,EAAQ4b,WACVvkB,QAAQwjC,OAAO7d,EAAOrgB,EAAGqD,QCjrB/B,WACA,YAGA3I,SAAQqnC,SAAWjrC,OAWnB4D,QAAQsnC,OAASlrC,OAGjB4D,QAAQunC,mBAAqB,SAASjkC,EAAG+L,EAAGm4B,EAAQj1B,EAAMvU,EAASk1B,GACjE,GAAIuU,GAAkB,SAAS3oB,GAC7B,MAAY,aAARA,GAA2B,EACxBvM,EAAKuM,GAEd,OAAO9e,SAAQizB,aAAa3vB,EAAG+L,EAAGm4B,EAAQC,EAAiBzpC,EAASk1B,IAItElzB,QAAQizB,aAAe,SAAS3vB,EAAG+L,EAAGm4B,EAAQj1B,EAAMvU,EAASk1B,GAC3D,GAEIv2B,GAAGI,EAAG2qC,EAAOC,EAFbC,EAAuCr1B,EAAK,kBAC5CtL,IAEJ,IAAIisB,EACF,IAAKv2B,EAAI,EAAGA,EAAIu2B,EAAKx2B,OAAQC,IAC3BsK,EAAMzK,MAAMuK,EAAGmsB,EAAKv2B,SAEjB,CAEL,GAAI4V,EAAK,YAAa,CACpBo1B,EAAUrqC,KAAKsX,MAAM4yB,EAASI,EAC9B,IAAIp3B,GAASxQ,QAAQ07B,aAAap4B,EAAGtD,QAAQ6nC,0BAA2B,GACpEp3B,EAASzQ,QAAQ07B,aAAarsB,EAAGrP,QAAQ6nC,0BAA2B,GAC1D,KAAVr3B,IACFA,EAAS,GAEG,IAAVC,IACFA,EAASzQ,QAAQ6nC,0BAA0BnrC,OAAS,EAItD,IAAIorC,GAAgB,IACpB,IAAIr3B,EAASD,GAAUm3B,EAAS,EAAG,CACjC,IAAK,GAAIjoC,GAAM+Q,EAAQ/Q,GAAO8Q,EAAQ9Q,IAAO,CAC3C,GAAIqoC,GAAY/nC,QAAQ6nC,0BAA0BnoC,GAC9CsoC,EAAc1qC,KAAKyzB,IAAIgX,EAAYzkC,GAAKhG,KAAKyzB,IAAI1hB,EAAI/L,GAAKkkC,EAC1D9gC,GAASK,EAAGghC,EACM,QAAlBD,EACFA,GACEC,UAAYA,EACZC,YAAcA,GAGZ1qC,KAAK0W,IAAIg0B,EAAcF,EAAcE,cAAgBJ,EACvDE,GACEC,UAAYA,EACZC,YAAcA,GAGhBthC,EAAKC,MAAQ,GAGjBM,EAAMzK,KAAKkK,GAGbO,EAAMghC,WAKV,GAAqB,IAAjBhhC,EAAMvK,OAAc,CAMtB,GACIwrC,GAAOtH,EADP7sB,EAAOxB,EAAK,aAEZwB,IACFm0B,GAAS,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,IAAK,KACtCtH,EAAO,KAEPsH,GAAS,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,KAC9BtH,EAAO,GAKT,IAgBIp8B,GAAO2jC,EAASC,EAAUC,EAhB1BC,EAAYhrC,KAAKgmB,KAAKkkB,EAASI,GAI/BW,EAAiBjrC,KAAK0W,IAAI3E,EAAI/L,GAAKglC,EAKnCE,EAAalrC,KAAKsX,MAAMtX,KAAKyzB,IAAIwX,GAAkBjrC,KAAKyzB,IAAI6P,IAC5D6H,EAAanrC,KAAK2W,IAAI2sB,EAAM4H,EAOhC,KAAKzrC,EAAI,EAAGA,EAAImrC,EAAMxrC,SACpB8H,EAAQikC,EAAaP,EAAMnrC,GAC3BorC,EAAU7qC,KAAKsX,MAAMtR,EAAIkB,GAASA,EAClC4jC,EAAW9qC,KAAKgmB,KAAKjU,EAAI7K,GAASA,EAClCmjC,EAASrqC,KAAK0W,IAAIo0B,EAAWD,GAAW3jC,EACxC6jC,EAAUb,EAASG,IACfU,EAAUT,IANc7qC,KAY9B,IADIorC,EAAUC,IAAU5jC,GAAS,IAC5B7H,EAAI,EAAQgrC,GAALhrC,EAAaA,IACvB+qC,EAAQS,EAAUxrC,EAAI6H,EACtByC,EAAMzK,MAAOuK,EAAG2gC,KAKtB,GAAIgB,GAA2Cn2B,EAAK,qBAGpD,KAAK5V,EAAI,EAAGA,EAAIsK,EAAMvK,OAAQC,IACLP,SAAnB6K,EAAMtK,GAAGgK,QAEbM,EAAMtK,GAAGgK,MAAQ+hC,EAAUzhC,EAAMtK,GAAGoK,EAAG,EAAGwL,EAAMvU,GAGlD,OAAOiJ,IAKTjH,QAAQgzB,WAAa,SAAS1vB,EAAG+L,EAAGm4B,EAAQj1B,EAAMvU,GAChD,GAAI2qC,GAAS3oC,QAAQ4oC,wBAAwBtlC,EAAG+L,EAAGm4B,EAAQj1B,EAE3D,OAAIo2B,IAAU,EACL3oC,QAAQ6oC,YAAYvlC,EAAG+L,EAAGs5B,EAAQp2B,EAAMvU,OASnDgC,QAAQ8oC,SAAW,EACnB9oC,QAAQ+oC,aAAe,EACvB/oC,QAAQgpC,cAAgB,EACxBhpC,QAAQipC,aAAe,EACvBjpC,QAAQkpC,gBAAmB,EAC3BlpC,QAAQmpC,SAAW,EACnBnpC,QAAQopC,aAAe,EACvBppC,QAAQqpC,cAAgB,EACxBrpC,QAAQspC,aAAe,EACvBtpC,QAAQupC,gBAAkB,EAC1BvpC,QAAQwpC,OAAS,GACjBxpC,QAAQypC,WAAa,GACrBzpC,QAAQ0pC,WAAa,GACrB1pC,QAAQsW,MAAQ,GAChBtW,QAAQ2pC,UAAY,GACpB3pC,QAAQ4pC,OAAS,GACjB5pC,QAAQoW,QAAU,GAClBpW,QAAQ6pC,UAAY,GACpB7pC,QAAQ8pC,SAAW,GACnB9pC,QAAQ+pC,OAAS,GACjB/pC,QAAQmW,QAAU,GAClBnW,QAAQgqC,WAAa,GACrBhqC,QAAQiqC,kBAAoB,GAI5BjqC,QAAQkqC,YAAc,EACtBlqC,QAAQmqC,YAAc,EACtBnqC,QAAQoqC,YAAc,EACtBpqC,QAAQqqC,aAAe,EACvBrqC,QAAQsqC,aAAe,EACvBtqC,QAAQuqC,aAAe,EACvBvqC,QAAQwqC,aAAe,EACvBxqC,QAAQyqC,eAAiB,EAgBzBzqC,QAAQ0qC,kBACR1qC,QAAQ0qC,eAAe1qC,QAAQ8oC,WAAoB6B,UAAW3qC,QAAQuqC,aAAcxgB,KAAQ,EAAGse,QAAS,KACxGroC,QAAQ0qC,eAAe1qC,QAAQ+oC,eAAoB4B,UAAW3qC,QAAQuqC,aAAcxgB,KAAQ,EAAGse,QAAS,KACxGroC,QAAQ0qC,eAAe1qC,QAAQgpC,gBAAoB2B,UAAW3qC,QAAQuqC,aAAcxgB,KAAQ,EAAGse,QAAS,KACxGroC,QAAQ0qC,eAAe1qC,QAAQipC,eAAoB0B,UAAW3qC,QAAQuqC,aAAcxgB,KAAO,GAAIse,QAAS,KACxGroC,QAAQ0qC,eAAe1qC,QAAQkpC,kBAAoByB,UAAW3qC,QAAQuqC,aAAcxgB,KAAO,GAAIse,QAAS,KACxGroC,QAAQ0qC,eAAe1qC,QAAQmpC,WAAoBwB,UAAW3qC,QAAQsqC,aAAcvgB,KAAQ,EAAGse,QAAS,KACxGroC,QAAQ0qC,eAAe1qC,QAAQopC,eAAoBuB,UAAW3qC,QAAQsqC,aAAcvgB,KAAQ,EAAGse,QAAS,MACxGroC,QAAQ0qC,eAAe1qC,QAAQqpC,gBAAoBsB,UAAW3qC,QAAQsqC,aAAcvgB,KAAQ,EAAGse,QAAS,KACxGroC,QAAQ0qC,eAAe1qC,QAAQspC,eAAoBqB,UAAW3qC,QAAQsqC,aAAcvgB,KAAO,GAAIse,QAAS,KACxGroC,QAAQ0qC,eAAe1qC,QAAQupC,kBAAoBoB,UAAW3qC,QAAQsqC,aAAcvgB,KAAO,GAAIse,QAAS,MACxGroC,QAAQ0qC,eAAe1qC,QAAQwpC,SAAoBmB,UAAW3qC,QAAQqqC,aAActgB,KAAQ,EAAGse,QAAS,MACxGroC,QAAQ0qC,eAAe1qC,QAAQypC,aAAoBkB,UAAW3qC,QAAQqqC,aAActgB,KAAQ,EAAGse,QAAS,MACxGroC,QAAQ0qC,eAAe1qC,QAAQ0pC,aAAoBiB,UAAW3qC,QAAQqqC,aAActgB,KAAQ,EAAGse,QAAS,OACxGroC,QAAQ0qC,eAAe1qC,QAAQsW,QAAoBq0B,UAAW3qC,QAAQoqC,YAAcrgB,KAAQ,EAAGse,QAAS,OACxGroC,QAAQ0qC,eAAe1qC,QAAQ2pC,YAAoBgB,UAAW3qC,QAAQoqC,YAAcrgB,KAAQ,EAAGse,QAAS,QACxGroC,QAAQ0qC,eAAe1qC,QAAQ4pC,SAAoBe,UAAW3qC,QAAQoqC,YAAcrgB,KAAQ,EAAGse,QAAS,QACxGroC,QAAQ0qC,eAAe1qC,QAAQoW,UAAoBu0B,UAAW3qC,QAAQmqC,YAAcpgB,KAAQ,EAAGse,QAAS,YACxGroC,QAAQ0qC,eAAe1qC,QAAQ6pC,YAAoBc,UAAW3qC,QAAQmqC,YAAcpgB,KAAQ,EAAGse,QAAS,MAAe,UACvHroC,QAAQ0qC,eAAe1qC,QAAQ8pC,WAAoBa,UAAW3qC,QAAQmqC,YAAcpgB,KAAQ,EAAGse,QAAS,MAAe,UACvHroC,QAAQ0qC,eAAe1qC,QAAQ+pC,SAAoBY,UAAW3qC,QAAQkqC,YAAcngB,KAAQ,EAAGse,QAAS,MAAiB,UACzHroC,QAAQ0qC,eAAe1qC,QAAQmW,UAAoBw0B,UAAW3qC,QAAQkqC,YAAcngB,KAAO,GAAIse,QAAS,cACxGroC,QAAQ0qC,eAAe1qC,QAAQgqC,aAAoBW,UAAW3qC,QAAQkqC,YAAcngB,KAAM,IAAKse,QAAS,cAUxGroC,QAAQ6nC,0BAA4B,WAElC,IAAK,GADD3U,MACK0X,EAAQ,IAAc,IAATA,EAAaA,IAEjC,IAAK,GADDtrB,GAAQhiB,KAAK2W,IAAI,GAAI22B,GAChBC,EAAO,EAAW,GAARA,EAAWA,IAAQ,CACpC,GAAIznB,GAAM9D,EAAQurB,CAClB3X,GAAK12B,KAAK4mB,GAGd,MAAO8P,MAaTlzB,QAAQ4oC,wBAA0B,SAAStlC,EAAG+L,EAAGm4B,EAAQj1B,GAEvD,IAAK,GADDq1B,GAAuCr1B,EAAK,kBACvC5V,EAAI,EAAGA,EAAIqD,QAAQiqC,kBAAmBttC,IAAK,CAClD,GAAImuC,GAAY9qC,QAAQ+qC,aAAaznC,EAAG+L,EAAG1S,EAC3C,IAAI6qC,EAASsD,GAAalD,EACxB,MAAOjrC,GAGX,MAAO,IAUTqD,QAAQ+qC,aAAe,SAASC,EAAYC,EAAUn2B,GACpD,GAAIuzB,GAAUroC,QAAQ0qC,eAAe51B,GAAauzB,OAClD,OAAO/qC,MAAK0T,MAAM,GAAOi6B,EAAWD,GAAc3C,IAYpDroC,QAAQ6oC,YAAc,SAASmC,EAAYC,EAAUn2B,EAAavC,EAAM24B,GACtE,GAAIxC,GACAn2B,EAAK,sBACL2C,EAAM3C,EAAK,aACX4C,EAAYD,EAAMlV,QAAQoV,iBAAmBpV,QAAQqV,mBAErDs1B,EAAY3qC,QAAQ0qC,eAAe51B,GAAa61B,UAChD5gB,EAAO/pB,QAAQ0qC,eAAe51B,GAAaiV,KAC3Cse,EAAUroC,QAAQ0qC,eAAe51B,GAAauzB,QAO9C8C,EAAa,GAAIxc,MAAKqc,GACtBI,IACJA,GAAWprC,QAAQkqC,aAAgB/0B,EAAUI,YAAY41B,GACzDC,EAAWprC,QAAQmqC,aAAgBh1B,EAAUM,SAAS01B,GACtDC,EAAWprC,QAAQoqC,aAAgBj1B,EAAUQ,QAAQw1B,GACrDC,EAAWprC,QAAQqqC,cAAgBl1B,EAAUU,SAASs1B,GACtDC,EAAWprC,QAAQsqC,cAAgBn1B,EAAUY,WAAWo1B,GACxDC,EAAWprC,QAAQuqC,cAAgBp1B,EAAUc,WAAWk1B,GACxDC,EAAWprC,QAAQwqC,cAAgBr1B,EAAUmlB,gBAAgB6Q,EAE7D,IAAIE,GAAoBD,EAAWT,GAAa5gB,CAC5CjV,IAAe9U,QAAQ4pC,SAEzByB,EAAoBl2B,EAAUolB,OAAO4Q,IAGvCC,EAAWT,IAAcU,CACzB,KAAK,GAAIC,GAAKX,EAAY,EAAGW,EAAKtrC,QAAQyqC,eAAgBa,IAExDF,EAAWE,GAAOA,IAAOtrC,QAAQoqC,YAAe,EAAI,CAgBtD,IAAInjC,MACAskC,EAAYp2B,EAAUqlB,SAASnN,MAAM,KAAM+d,GAC3CI,EAAYD,EAAUhX,SAC1B,IAAIzf,GAAe9U,QAAQwpC,OAKzB,IAJgBwB,EAAZQ,IACFA,GAAanD,EACbkD,EAAY,GAAI5c,MAAK6c,IAEHP,GAAbO,GACLvkC,EAAMzK,MAAOuK,EAAGykC,EACH7kC,MAAO+hC,EAAU6C,EAAWz2B,EAAavC,EAAM24B,KAE5DM,GAAanD,EACbkD,EAAY,GAAI5c,MAAK6c,OAQvB,KALgBR,EAAZQ,IACFJ,EAAWT,IAAc5gB,EACzBwhB,EAAYp2B,EAAUqlB,SAASnN,MAAM,KAAM+d,GAC3CI,EAAYD,EAAUhX,WAEJ0W,GAAbO,IACD12B,GAAe9U,QAAQsW,OACvBnB,EAAUU,SAAS01B,GAAaxhB,IAAS,IAC3C9iB,EAAMzK,MAAOuK,EAAGykC,EACH7kC,MAAO+hC,EAAU6C,EAAWz2B,EAAavC,EAAM24B,KAG9DE,EAAWT,IAAc5gB,EACzBwhB,EAAYp2B,EAAUqlB,SAASnN,MAAM,KAAM+d,GAC3CI,EAAYD,EAAUhX,SAG1B,OAAOttB,IAKLjH,SACAA,QAAQM,eACRN,QAAQM,cAAoB,MAC5BN,QAAQM,cAAoB,KAAK,GACjCN,QAAQM,cAAoB,KAAK,GACjCN,QAAQM,cAAoB,KAAM,KACpCN,QAAQM,cAAoB,KAAK,EAAU,OAAIN,QAAQgzB,WACvDhzB,QAAQM,cAAoB,KAAK,EAAU,OAAIN,QAAQizB,aACvDjzB,QAAQM,cAAoB,KAAM,GAAU,OAAIN,QAAQizB,iBCjc1DjzB,QAAQyrC,WCKRzrC,QAAQyrC,QAAQC,YAAc,WAE9B,YAeA,IAAIjqC,GAAc,WAChBvG,KAAKghB,gBAyJP,OAtJAza,GAAYpG,UAAU2X,SAAW,WAC/B,MAAO,sBAGTvR,EAAYpG,UAAUmiB,SAAW,WAC/B,OACEmuB,WAAYzwC,KAAKywC,WACjBC,aAAc1wC,KAAK0wC,eAIvBnqC,EAAYpG,UAAUwwC,aAAe,WACnC,IAAK,GAAIlvC,GAAI,EAAGA,EAAIzB,KAAKghB,aAAaxf,OAAQC,IAAK,CACjD,GAAI2G,GAAIpI,KAAKghB,aAAavf,EACtB2G,GAAE4G,YAAY5G,EAAE4G,WAAWJ,YAAYxG,GAC3CpI,KAAKghB,aAAavf,GAAK,KAEzBzB,KAAKghB,iBAGPza,EAAYpG,UAAUswC,WAAa,WACjCzwC,KAAK2wC,gBAGPpqC,EAAYpG,UAAUuwC,aAAe,SAASppC,GAC5C,GAAI8C,GAAI9C,EAAExE,QAGNuD,EAAS+D,EAAE+b,QAAQla,gBACvB,IAAK5F,GAA4B,IAAlBA,EAAO7E,OA2BtB,IAAK,GAzBDovC,GAAetpC,EAAEsgB,OAAO5Y,WACxB6hC,GACFtiC,SAAY,WACZuiC,SAAY1mC,EAAEjD,UAAU,qBAAuB,KAC/C6hB,OAAU,GACV+nB,SAAY,UAGVC,EAAU,SAASzuB,EAAW0uB,EAAgBp6B,GAChD,MAAO,UAASq6B,GACd,GAAI9oC,GAAIyO,EAAGzK,UACPhE,GAAEnE,eAAese,GACnBna,EAAEma,GAAWna,EAAGyO,EAAIzM,EAAG8mC,GACd9mC,EAAEjD,UAAU8pC,IACrB7mC,EAAEjD,UAAU8pC,GAAgB7oC,EAAGyO,EAAIzM,EAAG8mC,KAMxClqC,EAAOM,EAAExE,QAAQkhB,SAAShd,KAG1BmqC,KAEK1vC,EAAI,EAAGA,EAAI4E,EAAO7E,OAAQC,IAAK,CACtC,GAAIyK,GAAI7F,EAAO5E,EACf,MAAIyK,EAAEqF,QAAUvK,EAAK5F,GAAK8K,EAAEqF,QAAUvK,EAAK5F,EAAI4F,EAAKC,GAChDiF,EAAEoF,QAAUtK,EAAK3F,GAAK6K,EAAEoF,QAAUtK,EAAK3F,EAAI2F,EAAKI,GADpD,CAKA,GAAIgB,GAAI8D,EAAEE,WACNglC,EAAc,CACdhpC,GAAEnE,eAAe,gBACnBmtC,EAAchpC,EAAEipC,WAGlB,IAAIl6B,GAAMjJ,SAASC,cAAc,MACjC,KAAK,GAAInJ,KAAQ6rC,GACXA,EAAgB5sC,eAAee,KACjCmS,EAAI9I,MAAMrJ,GAAQ6rC,EAAgB7rC,GAGjCoD,GAAEnE,eAAe,UACpBkT,EAAI/I,UAAY,4BAEdhG,EAAEnE,eAAe,cACnBkT,EAAI/I,WAAa,IAAMhG,EAAEkpC,SAG3B,IAAIzkC,GAAQzE,EAAEnE,eAAe,SAAWmE,EAAEyE,MAAQ,GAC9CD,EAASxE,EAAEnE,eAAe,UAAYmE,EAAEwE,OAAS,EACrD,IAAIxE,EAAEnE,eAAe,QAAS,CAC5B,GAAIstC,GAAMrjC,SAASC,cAAc,MACjCojC,GAAIC,IAAMppC,EAAEE,KACZipC,EAAI1kC,MAAQA,EACZ0kC,EAAI3kC,OAASA,EACbuK,EAAIzI,YAAY6iC,OACPrlC,GAAEE,WAAWnI,eAAe,cACrCkT,EAAIzI,YAAYR,SAASujC,eAAevlC,EAAEE,WAAWotB,WAEvD,IAAIhrB,GAAOtC,EAAEqF,QAAU1E,EAAQ,CAC/BsK,GAAI9I,MAAMG,KAAOA,EAAO,IACxB,IAAIkjC,GAAS,CACb,IAAItpC,EAAEupC,eAAgB,CACpB,GAAItwC,GAAK2F,EAAK3F,EAAI2F,EAAKI,EAAIwF,EAASwkC,CAChCD,GAAc3iC,GAChBnN,GAAK8vC,EAAc3iC,GAEnB2iC,EAAc3iC,GAAQ,EAExB2iC,EAAc3iC,IAAU4iC,EAAcxkC,EACtC8kC,EAASrwC,MAETqwC,GAASxlC,EAAEoF,QAAU1E,EAASwkC,CAEhCj6B,GAAI9I,MAAMI,IAAMijC,EAAS,KACzBv6B,EAAI9I,MAAMxB,MAAQA,EAAQ,KAC1BsK,EAAI9I,MAAMzB,OAASA,EAAS,KAC5BuK,EAAIy6B,MAAQ1lC,EAAEE,WAAWiuB,KACzBljB,EAAI9I,MAAMkB,MAAQnF,EAAE8H,WAAWhG,EAAElH,MACjCmS,EAAI9I,MAAMwjC,YAAcznC,EAAE8H,WAAWhG,EAAElH,MACvCoD,EAAE+O,IAAMA,EAER/M,EAAEyc,iBAAiB1P,EAAK,QACpB65B,EAAQ,eAAgB,yBAA0B9kC,EAAGlM,OACzDoK,EAAEyc,iBAAiB1P,EAAK,YACpB65B,EAAQ,mBAAoB,6BAA8B9kC,EAAGlM,OACjEoK,EAAEyc,iBAAiB1P,EAAK,WACpB65B,EAAQ,kBAAmB,4BAA6B9kC,EAAGlM,OAC/DoK,EAAEyc,iBAAiB1P,EAAK,WACpB65B,EAAQ,kBAAmB,4BAA6B9kC,EAAGlM,OAE/D4wC,EAAaliC,YAAYyI,GACzBnX,KAAKghB,aAAa1f,KAAK6V,EAEvB,IAAIhK,GAAM7F,EAAE8I,cAIZ,IAHAjD,EAAInL,OACJmL,EAAI0D,YAAczG,EAAE8H,WAAWhG,EAAElH,MACjCmI,EAAIzM,YACC0H,EAAEupC,eAGA,CACL,GAAItwC,GAAIqwC,EAAS9kC,CACjBO,GAAIrM,OAAOoL,EAAEqF,QAASlQ,GACtB8L,EAAIvM,OAAOsL,EAAEqF,QAASlQ,EAAI+vC,OAL1BjkC,GAAIrM,OAAOoL,EAAEqF,QAASrF,EAAEoF,SACxBnE,EAAIvM,OAAOsL,EAAEqF,QAASrF,EAAEoF,QAAU,EAAI8/B,EAMxCjkC,GAAIqH,YACJrH,EAAInM,SACJmM,EAAIvK,aAIR2D,EAAYpG,UAAUgnB,QAAU,WAC9BnnB,KAAK2wC,gBAGApqC,KC3KPzB,QAAQyrC,QAAQuB,KAAO,WAEvB,YAkBA,IAAInsC,GAAO,WACT3F,KAAK+xC,YACL/xC,KAAKgyC,YAmSP,OAhSArsC,GAAKxF,UAAU2X,SAAW,WACxB,MAAO,eAGTnS,EAAKxF,UAAUmiB,SAAW,WACxB,OACE3V,OAAQ3M,KAAK2M,OACb8jC,WAAYzwC,KAAKywC,WACjBwB,cAAejyC,KAAKiyC,gBAIxBtsC,EAAKxF,UAAUwM,OAAS,SAASrF,GAC/B,GAAI8C,GAAI9C,EAAExE,OAEV,IAAIsH,EAAEb,iBAAiB,WAAY,KAAM,CACvC,GAAItC,GAAImD,EAAEb,iBAAiB,iBAAkB,KAAO,EAAIa,EAAEb,iBAAiB,eAAgB,IAC3FjC,GAAEG,iBAAiBR,GAGrB,GAAImD,EAAEb,iBAAiB,WAAY,KAAM,CACvC,GAAInC,EAKFA,GADEgD,EAAEjD,UAAU,eACViD,EAAEjD,UAAU,eAEZiD,EAAEb,iBAAiB,oBAAqB,KAAO,EAAIa,EAAEb,iBAAiB,eAAgB,KAE5FjC,EAAEQ,mBAAmBV,GAGvB,GAAmB,GAAfgD,EAAEpE,WACJ,GAAIoE,EAAEb,iBAAiB,WAAY,MAAO,CACxC,GAAItC,GAAImD,EAAEb,iBAAiB,iBAAkB,MAAQ,EAAIa,EAAEb,iBAAiB,eAAgB,KAC5FjC,GAAEM,kBAAkBX,QAEbmD,GAAEpE,UAAY,GACvBoE,EAAExF,MAAM,8DACYwF,EAAEpE,UAAY,MAItCL,EAAKxF,UAAUwwC,aAAe,WAC5B,QAASuB,GAAYC,GACnB,IAAK,GAAI1wC,GAAI,EAAGA,EAAI0wC,EAAI3wC,OAAQC,IAAK,CACnC,GAAI2wC,GAAKD,EAAI1wC,EACT2wC,GAAGpjC,YAAYojC,EAAGpjC,WAAWJ,YAAYwjC,IAIjDF,EAAYlyC,KAAK+xC,UACjBG,EAAYlyC,KAAKgyC,UACjBhyC,KAAK+xC,YACL/xC,KAAKgyC,aAGPrsC,EAAKxF,UAAUswC,WAAa,WAC1BzwC,KAAK2wC,gBAGPhrC,EAAKxF,UAAU8xC,cAAgB,SAAS3qC,GAUtC,QAAS+qC,GAAOjxC,GAAM,MAAOgB,MAAK0T,MAAM1U,GAAK,GAC7C,QAASkxC,GAASjxC,GAAI,MAAOe,MAAK0T,MAAMzU,GAAK,GAV7C,GAAI+I,GAAI9C,EAAExE,OAEV,IAAKsH,EAAEb,iBAAiB,WAAY,MAC/Ba,EAAEb,iBAAiB,WAAY,MAC/Ba,EAAEb,iBAAiB,WAAY,MAFpC,CAUA,GAKIkC,GAAOrK,EAAGC,EAAGmK,EAAM/J,EALnBgM,EAAUnG,EAAE8I,eACZwgC,EAAetpC,EAAEsgB,OAAO5Y,WACxBujC,EAAcnoC,EAAElD,OAChBsrC,EAAepoC,EAAE/C,QAIjBorC,EAAiB,SAASzuC,GAC5B,OACEuK,SAAU,WACVuiC,SAAU1mC,EAAEb,iBAAiB,oBAAqBvF,GAAQ,KAC1DglB,OAAQ,GACRzZ,MAAOnF,EAAEb,iBAAiB,iBAAkBvF,GAC5C6I,MAAOzC,EAAEb,iBAAiB,iBAAkBvF,GAAQ,KAEpD0uC,WAAY,SACZ3B,SAAU,WAIV4B,GACFvxC,EAAIqxC,EAAe,KACnBpxC,EAAIoxC,EAAe,KACnB1wC,GAAK0wC,EAAe,OAGlBG,EAAU,SAASC,EAAK7uC,EAAM8uC,GAOhC,GAAI37B,GAAMjJ,SAASC,cAAc,OAC7B4kC,EAAaJ,EAAyB,MAAbG,EAAoB,KAAO9uC,EACxD,KAAK,GAAIgB,KAAQ+tC,GACXA,EAAW9uC,eAAee,KAC5BmS,EAAI9I,MAAMrJ,GAAQ+tC,EAAW/tC,GAGjC,IAAIguC,GAAY9kC,SAASC,cAAc,MAMvC,OALA6kC,GAAU5kC,UAAY,yCACyBpK,GACxB8uC,EAAY,uBAAyBA,EAAY,IACxEE,EAAU7xB,UAAY0xB,EACtB17B,EAAIzI,YAAYskC,GACT77B,EAIT1J,GAAQzL,MAER,IAAI2K,GAASvC,EAAE+b,QACXnf,EAAOM,EAAExE,QAAQkhB,SAAShd,KAG1BisC,EAAmB,SAASjvC,GAC9B,MAAO,UAASkvC,GACd,MAAO9oC,GAAEb,iBAAiB2pC,EAAQlvC,IAItC,IAAIoG,EAAEb,iBAAiB,WAAY,KAAM,CACvC,GAAIoD,EAAOb,QAAUa,EAAOb,OAAOtK,OAAS,EAAG,CAC7C,GAAI2xC,GAAW/oC,EAAEpE,UACbotC,GAAcH,EAAiB,KAAMA,EAAiB,MAC1D,KAAKxxC,EAAI,EAAGA,EAAIkL,EAAOb,OAAOtK,OAAQC,IAAK,CAEzC,GADA+J,EAAOmB,EAAOb,OAAOrK,GACD,kBAAV,GAAsB,MAChCL,GAAI4F,EAAK5F,CACT,IAAIiyC,GAAM,EACNP,EAAY,KACZQ,EAAgBF,EAAW,EAChB,IAAX5nC,EAAK,KACPpK,EAAI4F,EAAK5F,EAAI4F,EAAKC,EAClBosC,EAAM,GACNP,EAAY,KACZQ,EAAgBF,EAAW,GAE7B,IAAItC,GAAWwC,EAAc,oBAC7BjyC,GAAI2F,EAAK3F,EAAImK,EAAK,GAAKxE,EAAKI,EAU5BqE,EAAQmnC,EAAQpnC,EAAK,GAAI,IAAiB,GAAZ2nC,EAAgBL,EAAY,KAC1D,IAAIrkC,GAAOpN,EAAIyvC,EAAW,CAChB,GAANriC,IAASA,EAAM,GAEfA,EAAMqiC,EAAW,EAAI0B,EACvB/mC,EAAM4C,MAAM86B,OAAS,IAErB19B,EAAM4C,MAAMI,IAAMA,EAAM,KAEV,IAAZjD,EAAK,IACPC,EAAM4C,MAAMG,KAAQxH,EAAK5F,EAAIkyC,EAAc,kBAAoBA,EAAc,gBAAmB,KAChG7nC,EAAM4C,MAAMqX,UAAY,SACJ,GAAXla,EAAK,KACdC,EAAM4C,MAAMG,KAAQxH,EAAK5F,EAAI4F,EAAKC,EACdqsC,EAAc,gBAAmB,KACrD7nC,EAAM4C,MAAMqX,UAAY,QAE1Bja,EAAM4C,MAAMxB,MAAQymC,EAAc,kBAAoB,KACtD1C,EAAaliC,YAAYjD,GACzBzL,KAAKgyC,SAAS1wC,KAAKmK,GAMrB,GAAI8nC,GAAavzC,KAAKgyC,SAAS,GAE3BlB,EAAW1mC,EAAEb,iBAAiB,oBAAqB,KACnD4/B,EAAS9K,SAASkV,EAAWllC,MAAMI,IAAK,IAAMqiC,CAC9C3H,GAASqJ,EAAe1B,IAC1ByC,EAAWllC,MAAMI,IAAO4vB,SAASkV,EAAWllC,MAAMI,IAAK,IACnDqiC,EAAW,EAAK,MAKxB,GAAI0C,EACJ,IAAIppC,EAAEjD,UAAU,kBAAmB,CACjC,GAAIQ,GAAIyC,EAAEwB,gBAAgB,IACtBjE,EAAI,GAAS,EAAJA,GAASwC,MAAMxC,MAAIA,EAAI,GACpC6rC,EAAQnB,EAAOrrC,EAAK5F,EAAIuG,EAAIX,EAAKC,OAEjCusC,GAAQnB,EAAOrrC,EAAK5F,EAGtBqM,GAAQoD,YAAczG,EAAEb,iBAAiB,gBAAiB,KAC1DkE,EAAQqD,UAAY1G,EAAEb,iBAAiB,gBAAiB,KAExDkE,EAAQ/M,YACR+M,EAAQ3M,OAAO0yC,EAAOlB,EAAStrC,EAAK3F,IACpCoM,EAAQ7M,OAAO4yC,EAAOlB,EAAStrC,EAAK3F,EAAI2F,EAAKI,IAC7CqG,EAAQ+G,YACR/G,EAAQzM,SAGW,GAAfoJ,EAAEpE,YACJyH,EAAQoD,YAAczG,EAAEb,iBAAiB,gBAAiB,MAC1DkE,EAAQqD,UAAY1G,EAAEb,iBAAiB,gBAAiB,MACxDkE,EAAQ/M,YACR+M,EAAQ3M,OAAOwxC,EAAStrC,EAAK5F,EAAI4F,EAAKC,GAAIqrC,EAAStrC,EAAK3F,IACxDoM,EAAQ7M,OAAO0xC,EAAStrC,EAAK5F,EAAI4F,EAAKC,GAAIqrC,EAAStrC,EAAK3F,EAAI2F,EAAKI,IACjEqG,EAAQ+G,YACR/G,EAAQzM,UAIZ,GAAIoJ,EAAEb,iBAAiB,WAAY,KAAM,CACvC,GAAIoD,EAAOhB,OAAQ,CACjB,GAAI2nC,GAAgBL,EAAiB,IACrC,KAAKxxC,EAAI,EAAGA,EAAIkL,EAAOhB,OAAOnK,OAAQC,IAAK,CACzC+J,EAAOmB,EAAOhB,OAAOlK,GACrBL,EAAI4F,EAAK5F,EAAIoK,EAAK,GAAKxE,EAAKC,EAC5B5F,EAAI2F,EAAK3F,EAAI2F,EAAKI,EAUlBqE,EAAQmnC,EAAQpnC,EAAK,GAAI,KACzBC,EAAM4C,MAAMqX,UAAY,SACxBja,EAAM4C,MAAMI,IAAOpN,EAAIiyC,EAAc,gBAAmB,IAExD,IAAI9kC,GAAQpN,EAAIkyC,EAAc,kBAAkB,CAC5C9kC,GAAO8kC,EAAc,kBAAoBf,IAC3C/jC,EAAO+jC,EAAce,EAAc,kBACnC7nC,EAAM4C,MAAMqX,UAAY,SAEf,EAAPlX,IACFA,EAAO,EACP/C,EAAM4C,MAAMqX,UAAY,QAG1Bja,EAAM4C,MAAMG,KAAOA,EAAO,KAC1B/C,EAAM4C,MAAMxB,MAAQymC,EAAc,kBAAoB,KACtD1C,EAAaliC,YAAYjD,GACzBzL,KAAK+xC,SAASzwC,KAAKmK,IAIvBgC,EAAQoD,YAAczG,EAAEb,iBAAiB,gBAAiB,KAC1DkE,EAAQqD,UAAY1G,EAAEb,iBAAiB,gBAAiB,KACxDkE,EAAQ/M,WACR,IAAIoW,EACJ,IAAI1M,EAAEjD,UAAU,kBAAmB,CACjC,GAAIQ,GAAIyC,EAAE4B,gBAAgB,EAAG,IACzBrE,EAAI,GAAS,EAAJA,KAAOA,EAAI,GACxBmP,EAAQw7B,EAAStrC,EAAK3F,EAAIsG,EAAIX,EAAKI,OAEnC0P,GAAQw7B,EAAStrC,EAAK3F,EAAI2F,EAAKI,EAEjCqG,GAAQ3M,OAAOuxC,EAAOrrC,EAAK5F,GAAI0V,GAC/BrJ,EAAQ7M,OAAOyxC,EAAOrrC,EAAK5F,EAAI4F,EAAKC,GAAI6P,GACxCrJ,EAAQ+G,YACR/G,EAAQzM,SAGVyM,EAAQ7K,YAGH+C,KC1TPb,QAAQyrC,QAAQkD,YAAc,WAE9B,YAKA;GAAIC,GAAe,WACjB1zC,KAAK2zC,WAAa,KAClB3zC,KAAK4zC,YAAc,KACnB5zC,KAAK6zC,YAAc,KACnB7zC,KAAK8zC,aAAe,KAGtBJ,GAAavzC,UAAU2X,SAAW,WAChC,MAAO,sBAGT47B,EAAavzC,UAAUmiB,SAAW,WAChC,OACE3V,OAAQ3M,KAAK2M,OAEb+jC,aAAc1wC,KAAK0wC,cAKvB,IAAIqD,GAAkB,SAASpsC,GAC7B,GAAIwP,GAAMjJ,SAASC,cAAc,MAMjC,OALAgJ,GAAI9I,MAAME,SAAW,WACrB4I,EAAI9I,MAAMG,KAAO7G,EAAEvG,EAAI,KACvB+V,EAAI9I,MAAMI,IAAM9G,EAAEtG,EAAI,KACtB8V,EAAI9I,MAAMxB,MAAQlF,EAAEV,EAAI,KACxBkQ,EAAI9I,MAAMzB,OAASjF,EAAEP,EAAI,KAClB+P,EAITu8B,GAAavzC,UAAU6zC,cAAgB,WAKrC,IAAK,GAJDC,IAAQj0C,KAAK2zC,WACL3zC,KAAK4zC,YACL5zC,KAAK6zC,YACL7zC,KAAK8zC,cACRryC,EAAI,EAAGA,EAAIwyC,EAAIzyC,OAAQC,IAAK,CACnC,GAAI2wC,GAAK6B,EAAIxyC,EACR2wC,IACDA,EAAGpjC,YAAYojC,EAAGpjC,WAAWJ,YAAYwjC,GAG/CpyC,KAAK2zC,WAAa,KAClB3zC,KAAK4zC,YAAc,KACnB5zC,KAAK6zC,YAAc,KACnB7zC,KAAK8zC,aAAe,KAGtB,IAAII,GAAmB,SAAS9pC,EAAGghC,EAAKpnC,EAAMmwC,EAASC,GAErD,GAAIj9B,GAAMjJ,SAASC,cAAc,MACjCgJ,GAAI9I,MAAME,SAAW,WAGnB4I,EAAI9I,MAAMG,KAFA,GAARxK,EAEe,MAEAonC,EAAIhqC,EAAI,KAE3B+V,EAAI9I,MAAMI,IAAM28B,EAAI/pC,EAAI,KACxB8V,EAAI9I,MAAMxB,MAAQu+B,EAAInkC,EAAI,KAC1BkQ,EAAI9I,MAAMzB,OAASw+B,EAAIhkC,EAAI,KAC3B+P,EAAI9I,MAAMyiC,SAAY1mC,EAAEjD,UAAU,eAAiB,EAAK,IAExD,IAAI6rC,GAAY9kC,SAASC,cAAc,MACvC6kC,GAAU3kC,MAAME,SAAW,WAC3BykC,EAAU3kC,MAAMxB,MAAQu+B,EAAIhkC,EAAI,KAChC4rC,EAAU3kC,MAAMzB,OAASw+B,EAAInkC,EAAI,KACjC+rC,EAAU3kC,MAAMI,IAAO28B,EAAIhkC,EAAI,EAAIgkC,EAAInkC,EAAI,EAAK,KAChD+rC,EAAU3kC,MAAMG,KAAQ48B,EAAInkC,EAAI,EAAImkC,EAAIhkC,EAAI,EAAK,KACjD4rC,EAAU3kC,MAAMqX,UAAY,QAI5B,IAAIwC,GAAM,WAAqB,GAARlkB,EAAY,IAAM,IAAM,QAC/CgvC,GAAU3kC,MAAMgmC,UAAYnsB,EAC5B8qB,EAAU3kC,MAAMimC,gBAAkBpsB,EAClC8qB,EAAU3kC,MAAMkmC,aAAersB,EAC/B8qB,EAAU3kC,MAAMmmC,WAAatsB,EAC7B8qB,EAAU3kC,MAAMomC,YAAcvsB,EAEQ,mBAA3Bha,UAAqB,cAC5BA,SAASwmC,aAAe,IAI1B1B,EAAU3kC,MAAMwZ,OACZ,0DACS,GAAR7jB,EAAY,IAAM,KAAO,IAC9BgvC,EAAU3kC,MAAMG,KAAO,MACvBwkC,EAAU3kC,MAAMI,IAAM,MAGxB,IAAIkmC,GAAYzmC,SAASC,cAAc,MAMvC,OALAwmC,GAAUvmC,UAAY+lC,EACtBQ,EAAUxzB,UAAYizB,EAEtBpB,EAAUtkC,YAAYimC,GACtBx9B,EAAIzI,YAAYskC,GACT77B,EAwFT,OArFAu8B,GAAavzC,UAAUwM,OAAS,SAASrF,GACvCtH,KAAKg0C,eAEL,IAAI5pC,GAAI9C,EAAExE,QACNqU,EAAM7P,EAAEC,SACZ,IAAI6C,EAAEjD,UAAU,SAAU,CAExB,GAAIytC,GAAattC,EAAEO,gBAAgBuC,EAAEjD,UAAU,eAC/CnH,MAAK2zC,WAAaI,EAAgBa,GAClC50C,KAAK2zC,WAAWtlC,MAAMqX,UAAY,SAClC1lB,KAAK2zC,WAAWtlC,MAAMyiC,SAAY1mC,EAAEjD,UAAU,eAAiB,EAAK,KACpEnH,KAAK2zC,WAAWtlC,MAAMwmC,WAAa,OACnC70C,KAAK2zC,WAAWtlC,MAAM2a,OAAS,EAE/B,IAAI2rB,GAAYzmC,SAASC,cAAc,MACvCwmC,GAAUvmC,UAAY,8BACtBumC,EAAUxzB,UAAY/W,EAAEjD,UAAU,SAClCnH,KAAK2zC,WAAWjlC,YAAYimC,GAC5Bx9B,EAAIzI,YAAY1O,KAAK2zC,YAGvB,GAAIvpC,EAAEjD,UAAU,UAAW,CACzB,GAAI2tC,GAASxtC,EAAEQ,mBAAmBsC,EAAEjD,UAAU,gBAC9CnH,MAAK4zC,YAAcG,EAAgBe,GACnC90C,KAAK4zC,YAAYvlC,MAAMqX,UAAY,SACnC1lB,KAAK4zC,YAAYvlC,MAAMyiC,SAAY1mC,EAAEjD,UAAU,gBAAkB,EAAK,IAEtE,IAAIwtC,GAAYzmC,SAASC,cAAc,MACvCwmC,GAAUvmC,UAAY,+BACtBumC,EAAUxzB,UAAY/W,EAAEjD,UAAU,UAClCnH,KAAK4zC,YAAYllC,YAAYimC,GAC7Bx9B,EAAIzI,YAAY1O,KAAK4zC,aAGvB,GAAIxpC,EAAEjD,UAAU,UAAW,CAKzB,GAAI4tC,GAASztC,EAAEG,iBAAiB,EAEhCzH,MAAK6zC,YAAcK,EACf9pC,EAAG2qC,EACH,EACA,+BACA3qC,EAAEjD,UAAU,WAChBgQ,EAAIzI,YAAY1O,KAAK6zC,aAGvB,GAAIzpC,EAAEjD,UAAU,YAA6B,GAAfiD,EAAEpE,UAAgB,CAE9C,GAAIgvC,GAAU1tC,EAAEM,kBAAkB,EAClC5H,MAAK8zC,aAAeI,EAChB9pC,EAAG4qC,EACH,EACA,gCACA5qC,EAAEjD,UAAU,YAChBgQ,EAAIzI,YAAY1O,KAAK8zC,gBAIzBJ,EAAavzC,UAAUuwC,aAAe,SAASppC,GAC7C,GAAI8C,GAAI9C,EAAExE,OACN9C,MAAK2zC,aACP3zC,KAAK2zC,WAAWsB,SAAS,GAAG9zB,UAAY/W,EAAEjD,UAAU,UAElDnH,KAAK4zC,cACP5zC,KAAK4zC,YAAYqB,SAAS,GAAG9zB,UAAY/W,EAAEjD,UAAU,WAEnDnH,KAAK6zC,cACP7zC,KAAK6zC,YAAYoB,SAAS,GAAGA,SAAS,GAAG9zB,UAAY/W,EAAEjD,UAAU,WAE/DnH,KAAK8zC,eACP9zC,KAAK8zC,aAAamB,SAAS,GAAGA,SAAS,GAAG9zB,UAAY/W,EAAEjD,UAAU,aAItEusC,EAAavzC,UAAUswC,WAAa,aAGpCiD,EAAavzC,UAAUgnB,QAAU,WAC/BnnB,KAAKg0C,iBAIAN,KCjMP5uC,QAAQyrC,QAAQ2E,KAAO,WAUvB,YASA,IAAIC,GAAO,YA+FX,OA5FAA,GAAKh1C,UAAU2X,SAAW,WACxB,MAAO,mBAGTq9B,EAAKh1C,UAAUmiB,SAAW,WACxB,OACE2vB,cAAejyC,KAAKiyC,gBAIxBkD,EAAKh1C,UAAU8xC,cAAgB,SAAS3qC,GAQtC,QAAS+qC,GAAOjxC,GAAM,MAAOgB,MAAK0T,MAAM1U,GAAK,GAC7C,QAASkxC,GAASjxC,GAAI,MAAOe,MAAK0T,MAAMzU,GAAK,GAN7C,GAQID,GAAGC,EAAGI,EAAGsK,EART3B,EAAI9C,EAAExE,QACNqK,EAAM7F,EAAE8I,eACRzD,EAASvC,EAAE+b,QACXnf,EAAOM,EAAExE,QAAQkhB,SAAShd,IAM9B,IAAIoD,EAAEb,iBAAiB,WAAY,KAAM,CAGvC,IAAK,GAFD5D,IAAQ,IAAK,MACbyvC,KAAmBC,KAAiBl2B,KAAehP,KAAeV,KAC7DhO,EAAI,EAAGA,EAAIkE,EAAKnE,OAAQC,IAC/B0d,EAAS1d,GAAK2I,EAAEb,iBAAiB,WAAY5D,EAAKlE,IAC9C0d,EAAS1d,KACX2zC,EAAa3zC,GAAK2I,EAAEb,iBAAiB,gBAAiB5D,EAAKlE,IAC3D4zC,EAAW5zC,GAAK2I,EAAEb,iBAAiB,gBAAiB5D,EAAKlE,IACzDgO,EAAchO,GAAK2I,EAAEb,iBAAiB,kBAAmB5D,EAAKlE,IAC9D0O,EAAS1O,GAAKgO,EAAchO,IAAOgO,EAAchO,GAAGD,QAAU,EAMlE,KAHAuK,EAAQY,EAAOb,OACfqB,EAAInL,OAECP,EAAI,EAAGA,EAAIsK,EAAMvK,OAAQC,IAAK,CACjC,GAAIuC,GAAO+H,EAAMtK,GAAG,EACjB0d,GAASnb,KACNmM,EAASnM,IACXmJ,EAAI/M,eAAeqP,EAAczL,IAEnCmJ,EAAI0D,YAAcukC,EAAapxC,GAC/BmJ,EAAI2D,UAAYukC,EAAWrxC,GAE3B5C,EAAIixC,EAAOrrC,EAAK5F,GAChBC,EAAIixC,EAAStrC,EAAK3F,EAAI0K,EAAMtK,GAAG,GAAKuF,EAAKI,GACzC+F,EAAIzM,YACJyM,EAAIrM,OAAOM,EAAGC,GACd8L,EAAIvM,OAAOQ,EAAI4F,EAAKC,EAAG5F,GACvB8L,EAAIqH,YACJrH,EAAInM,SAEAmP,EAASnM,IACXmJ,EAAIlM,oBAIVkM,EAAIvK,UAIN,GAAIwH,EAAEb,iBAAiB,WAAY,KAAM,CACvCwC,EAAQY,EAAOhB,OACfwB,EAAInL,MACJ,IAAIyN,GAAgBrF,EAAEb,iBAAiB,kBAAmB,KACtD4G,EAAWV,GAAkBA,EAAcjO,QAAU,CAMzD,KALI2O,GACFhD,EAAI/M,eAAeqP,GAErBtC,EAAI0D,YAAczG,EAAEb,iBAAiB,gBAAiB,KACtD4D,EAAI2D,UAAY1G,EAAEb,iBAAiB,gBAAiB,KAC/C9H,EAAI,EAAGA,EAAIsK,EAAMvK,OAAQC,IAC5BL,EAAIixC,EAAOrrC,EAAK5F,EAAI2K,EAAMtK,GAAG,GAAKuF,EAAKC,GACvC5F,EAAIixC,EAAStrC,EAAK3F,EAAI2F,EAAKI,GAC3B+F,EAAIzM,YACJyM,EAAIrM,OAAOM,EAAGC,GACd8L,EAAIvM,OAAOQ,EAAG4F,EAAK3F,GACnB8L,EAAIqH,YACJrH,EAAInM,QAEFmP,IACFhD,EAAIlM,mBAENkM,EAAIvK,YAIRuyC,EAAKh1C,UAAUgnB,QAAU,aAGlBguB,KClHPrwC,QAAQyrC,QAAQ+E,OAAS,WAWzB,YASA,IAAIh4B,GAAS,WACXtd,KAAKu1C,YAAc,KACnBv1C,KAAKw1C,mBAAoB,EAG3Bl4B,GAAOnd,UAAU2X,SAAW,WAC1B,MAAO,gBAIT,IAAI29B,EAcJn4B,GAAOnd,UAAUmiB,SAAW,SAASlY,GACnC,GAAI+M,GACAu+B,EAAWtrC,EAAEjD,UAAU,kBAEvBwuC,EAAgBvrC,EAAEjD,UAAU,YAChC,IAAIwuC,GAAiB,OAASA,EAE1Bx+B,EAD2B,gBAAnB,IAA+Bw+B,YAAyBp8B,QAC1DrL,SAASqS,eAAeo1B,GAExBA,MAEH,CAGL,GAAIC,IACFrnC,SAAY,WACZuiC,SAAY,OACZ9nB,OAAU,GACVnc,MAAS6oC,EAAW,KACpBjnC,IAAO,MACPD,KAASpE,EAAE6e,OAAOpc,MAAQ6oC,EAAW,EAAK,KAC1CG,WAAc,QACdnD,WAAc,SACdhtB,UAAa,OACbqrB,SAAY,SAGdjsC,SAAQC,OAAO6wC,EAAcxrC,EAAEjD,UAAU,oBACzCgQ,EAAMjJ,SAASC,cAAc,OAC7BgJ,EAAI/I,UAAY,gBAChB,KAAK,GAAIpJ,KAAQ4wC,GACf,GAAKA,EAAa3xC,eAAee,GAEjC,IACEmS,EAAI9I,MAAMrJ,GAAQ4wC,EAAa5wC,GAC/B,MAAOsC,GACPrH,QAAQyT,KAAK,gFAMjBtJ,EAAE5C,SAASkH,YAAYyI,GACvBnX,KAAKw1C,mBAAoB,EAM3B,MAHAx1C,MAAKu1C,YAAcp+B,EACnBnX,KAAK81C,cAAgB,IAGnBC,OAAQ/1C,KAAK+1C,OACbC,SAAUh2C,KAAKg2C,SAEfC,QAASj2C,KAAKi2C,QACdvF,aAAc1wC,KAAK0wC,cAKvB,IAAIwF,GAAwB,SAAS/+B,GACnC,GAAIg/B,GAAWjoC,SAASC,cAAc,OACtCgoC,GAASC,aAAa,QAAS,6CAC/Bj/B,EAAIzI,YAAYynC,EAChB,IAAIE,GAAWF,EAAShR,WAExB,OADAhuB,GAAIvI,YAAYunC,GACTE,GAGLC,EAAa,SAAS7e,GACxB,MAAOA,GAAIuJ,QAAQ,KAAM,SAASA,QAAQ,KAAM,UAAUA,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QAsPhG,OAnPA1jB,GAAOnd,UAAU41C,OAAS,SAASzuC,GACjC,GAAIivC,GAASjvC,EAAEwqB,UACXzrB,EAASiB,EAAEyqB,eAEXykB,EAAalvC,EAAExE,QAAQqE,UAAU,SACrC,IAAmB,UAAfqvC,EAEF,YADAx2C,KAAKu1C,YAAYlnC,MAAMya,QAAU,OAInC,IAAmB,WAAf0tB,EAAyB,CAE3B,GAAIxvC,GAAOM,EAAExE,QAAQkhB,SAAShd,KAC1B+U,EAAiBzU,EAAExE,QAAQqE,UAAU,kBACrCsvC,EAAkBnvC,EAAExE,QAAQyG,iBAAiB,iBAAkB,KAK/DmtC,EAAarwC,EAAO,GAAGjF,EAAI4F,EAAKC,EAAI,GACpC0vC,EAAatwC,EAAO,GAAGhF,EAAI2F,EAAKI,EAAI,EAInCsvC,GAAa36B,EAAiB,EAAMkE,OAAO22B,QAAU32B,OAAO42B,aAC/DH,EAAaA,EAAa,GAAS36B,GAAkB06B,EAAkBzvC,EAAK5F,IAG9EkG,EAAExE,QAAQ0E,SAASkH,YAAY1O,KAAKu1C,aACpCv1C,KAAKu1C,YAAYlnC,MAAMG,KAAOioC,EAAkBC,EAAa,KAC7D12C,KAAKu1C,YAAYlnC,MAAMI,IAAMkoC,EAAY,KAG3C,GAAIvC,GAAO92B,EAAOw5B,mBAAmBxvC,EAAExE,QAASyzC,EAAQlwC,EAAQrG,KAAK81C,cACrE91C,MAAKu1C,YAAYp0B,UAAYizB,EAC7Bp0C,KAAKu1C,YAAYlnC,MAAMya,QAAU,IAGnCxL,EAAOnd,UAAU61C,SAAW,SAAS1uC,GACnC,GAAIkvC,GAAalvC,EAAExE,QAAQqE,UAAU,SAClB,YAAfqvC,IACFx2C,KAAKu1C,YAAYlnC,MAAMya,QAAU,OAInC,IAAIutB,GAAaH,EAAsBl2C,KAAKu1C,YAC5Cv1C,MAAK81C,cAAgBO,CAErB,IAAIjC,GAAO92B,EAAOw5B,mBAAmBxvC,EAAExE,QAAS5B,OAAWA,OAAWm1C,EACtEr2C,MAAKu1C,YAAYp0B,UAAYizB,GAG/B92B,EAAOnd,UAAUuwC,aAAe,SAASppC,GACvCtH,KAAKg2C,SAAS1uC,IAYhBgW,EAAOnd,UAAU81C,QAAU,SAAS3uC,GAElC,GAAKtH,KAAKw1C,kBAAV,CAGAluC,EAAExE,QAAQ0E,SAASkH,YAAY1O,KAAKu1C,YACpC,IAAIvuC,GAAOM,EAAExE,QAAQkhB,SAAShd,KAC1B+U,EAAiBzU,EAAExE,QAAQqE,UAAU,iBACzCnH,MAAKu1C,YAAYlnC,MAAMG,KAAOxH,EAAK5F,EAAI4F,EAAKC,EAAI8U,EAAiB,EAAI,KACrE/b,KAAKu1C,YAAYlnC,MAAMI,IAAMzH,EAAK3F,EAAI,KACtCrB,KAAKu1C,YAAYlnC,MAAMxB,MAAQkP,EAAiB,OAOlDuB,EAAOnd,UAAUgnB,QAAU,WACzBnnB,KAAKu1C,YAAc,MAerBj4B,EAAOw5B,mBAAqB,SAAS1sC,EAAGhJ,EAAG21C,EAAYV,GAErD,GAAIjsC,EAAEjD,UAAU,4BAA6B,EAAM,MAAO,EAK1D,IAAIitC,GAAM4C,EAAUv1C,EAAGw1C,EAAMxnC,EACzBvL,EAASkG,EAAE4L,WAEf,IAAkB,mBAAR,GAAqB,CAC7B,GAA6B,UAAzB5L,EAAEjD,UAAU,UACd,MAAO,EAKT,KAFA6vC,EAAW5sC,EAAEjD,UAAU,uBACvBitC,EAAO,GACF3yC,EAAI,EAAGA,EAAIyC,EAAO1C,OAAQC,IAAK,CAClC,GAAI2C,GAASgG,EAAEoe,uBAAuBtkB,EAAOzC,GACxC2C,GAAOukB,UAEC,KAATyrB,IAAaA,GAAS4C,EAAW,QAAU,KAC/CvnC,EAAgBrF,EAAEjD,UAAU,gBAAiBjD,EAAOzC,IACpDw1C,EAAOxB,EAAuBhmC,EAAerL,EAAOmL,MAAO8mC,GAC3DjC,GAAQ,0CAA4ChwC,EAAOmL,MAAQ,MAC/D0nC,EAAO,IAAMX,EAAWpyC,EAAOzC,IAAM,WAE3C,MAAO2yC,GAIT,GAAI8C,GAAW9sC,EAAEuZ,oBAAoB,KACjCwzB,EAAMD,EAAS,iBACnB9C,GAAO+C,EAAI/1C,EAAG81C,EAAUhzC,EAAO,GAAIkG,GACtB,KAATgqC,IACFA,GAAQ,IAGV,IAAIgD,MACAjE,EAAW/oC,EAAEpE,SACjB,KAAKvE,EAAI,EAAO0xC,EAAJ1xC,EAAcA,IAExB21C,EAAU31C,GAAK2I,EAAEuZ,oBAAoB,KAAOliB,EAAI,EAAIA,EAAI,IAE1D,IAAI41C,GAAYjtC,EAAEjD,UAAU,uBAC5B6vC,GAAW5sC,EAAEjD,UAAU,sBACvB,IAAImwC,GAAkBltC,EAAEvE,oBACxB,KAAKpE,EAAI,EAAGA,EAAIs1C,EAAWv1C,OAAQC,IAAK,CACtC,GAAIoV,GAAKkgC,EAAWt1C,EACpB,KAAgB,IAAZoV,EAAG1L,MAAeksC,IACjBvyC,QAAQmS,KAAKJ,EAAGvF,SAArB,CACI0lC,IAAU5C,GAAQ,QAEtB,IAAIhwC,GAASgG,EAAEoe,uBAAuB3R,EAAG7R,MACrCuyC,EAAWH,EAAUhzC,EAAOJ,KAAO,GACnCwzC,EAAUD,EAAS,kBACnBpsC,EAAOqsC,EAAQ3gC,EAAG1L,KAAMosC,EAAU1gC,EAAG7R,KAAMoF,GAE3CqtC,EAAO5gC,EAAG7R,MAAQsyC,EAAmB,qBAAuB,EAGhElD,IAAQ,QAAUqD,EAAM,4BAAmCrzC,EAAOmL,MAAQ,MACtE+mC,EAAWz/B,EAAG7R,MAAQ,qBAAuBmG,EAAO,WAE1D,MAAOipC,IAeTqB,EAAyB,SAAShmC,EAAeF,EAAO8mC,GAEtD,GAAIvpC,GAAQ,OAAOgT,KAAKC,UAAUC,aAAeC,OAAOC,KACxD,IAAIpT,EAAM,MAAO,SAGjB,KAAK2C,GAAiBA,EAAcjO,QAAU,EAC5C,MAAO,iIAEuB+N,EAAQ,WAGxC,IAAI9N,GAAGI,EAAG61C,EAAaC,EAGnBxU,EAFAyU,EAAoB,EAAGC,EAAc,EACrCC,IAKJ,KAAKr2C,EAAI,EAAGA,GAAKgO,EAAcjO,OAAQC,IACrCm2C,GAAqBnoC,EAAchO,EAAEgO,EAAcjO,OAKrD,IADA2hC,EAAO/gC,KAAKsX,MAAM28B,GAAYuB,EAAkBnoC,EAAc,KAC1D0zB,EAAO,EAAG,CAEZ,IAAK1hC,EAAI,EAAGA,EAAIgO,EAAcjO,OAAQC,IACpCq2C,EAAkBr2C,GAAKgO,EAAchO,GAAG40C,CAI1CwB,GAAcC,EAAkBt2C,WAC3B,CAGL,IADA2hC,EAAO,EACF1hC,EAAI,EAAGA,EAAIgO,EAAcjO,OAAQC,IACpCq2C,EAAkBr2C,GAAKgO,EAAchO,GAAGm2C,CAG1CC,GAAcC,EAAkBt2C,OAAO,EAIzC,GAAIy1C,GAAO,EACX,KAAKp1C,EAAI,EAAOshC,EAAJthC,EAAUA,IACpB,IAAKJ,EAAI,EAAOo2C,EAAJp2C,EAAiBA,GAAG,EAE9Bi2C,EAAcI,EAAkBr2C,EAAEq2C,EAAkBt2C,QAGlDm2C,EAFEl2C,EAAIgO,EAAcjO,OAENs2C,GAAmBr2C,EAAE,GAAGq2C,EAAkBt2C,QAG1C,EAEhBy1C,GAAQ,sFAC2BU,EAAc,qBAC/CD,EAAc,6CAA+CnoC,EAC7D,WAGN,OAAO0nC,IAIF35B,KClWPxY,QAAQyrC,QAAQwH,cAAgB,WAGhC,YAEA,IAAIC,GAAgB,WAClBh4C,KAAKi4C,MAAQ,OAAOn4B,KAAKC,UAAUC,aAAeC,OAAOC,MACzDlgB,KAAKk4C,mBAA2C,mBAAhB,YAChCl4C,KAAKm4C,gBAAkB,mBAAmBr4B,KAAKC,UAAUimB,YACzDhmC,KAAKo4C,mBAAoB,EAuyB3B,OApyBAJ,GAAc73C,UAAU2X,SAAW,WACjC,MAAO,wBAGTkgC,EAAc73C,UAAUmiB,SAAW,SAASxf,GAM1C,MALA9C,MAAK+C,SAAWD,EAChB9C,KAAKgN,iBAAmBlK,EAAQkK,iBAC5BhN,KAAKq4C,WAAW,sBAClBr4C,KAAK4hB,oBAGLjV,OAAQ3M,KAAKs4C,cACbrC,QAASj2C,KAAKu4C,mBACd7H,aAAc1wC,KAAKw4C,0BAIvBR,EAAc73C,UAAUgnB,QAAU,WAChCnnB,KAAKy4C,UAAY,KACjBz4C,KAAK04C,UAAY,KACjB14C,KAAK24C,gBAAkB,KACvB34C,KAAK44C,iBAAmB,KACxB54C,KAAK64C,cAAgB,MAOvBb,EAAc73C,UAAUk4C,WAAa,SAASrzC,EAAM8zC,GAClD,MAAO94C,MAAK+C,SAASoE,UAAUnC,EAAM8zC,IAGvCd,EAAc73C,UAAU44C,kBAAoB,SAAS/zC,EAAMsF,GACzDtK,KAAK+C,SAASK,OAAO4B,GAAQsF,GAO/B0tC,EAAc73C,UAAUyhB,iBAAmB,WACzC5hB,KAAKg5C,kBACDh5C,KAAKgN,kBACPhN,KAAKi5C,sBAEPj5C,KAAKk5C,qBACLl5C,KAAKm5C,mBAGDn5C,KAAKq4C,WAAW,mBAClBp4C,QAAQyT,KAAK,kFACb1T,KAAK+C,SAASi4B,eAAevc,eAAe,IAAQ,IAGtDze,KAAKo4C,mBAAoB,EACzBp4C,KAAKo5C,eAOPpB,EAAc73C,UAAUi5C,YAAc,WACpC,GAAI5xC,GAAWxH,KAAKq5C,UAAYr5C,KAAK+C,SAASyE,QAC9CA,GAASkH,YAAY1O,KAAKy4C,WAC1BjxC,EAASkH,YAAY1O,KAAK04C,WAC1BlxC,EAASkH,YAAY1O,KAAK24C,iBAC1BnxC,EAASkH,YAAY1O,KAAK44C,mBAO5BZ,EAAc73C,UAAUm5C,iBAAmB,WACzC,GAAI9xC,GAAWxH,KAAKq5C,SACpB7xC,GAASoH,YAAY5O,KAAKy4C,WAC1BjxC,EAASoH,YAAY5O,KAAK04C,WAC1BlxC,EAASoH,YAAY5O,KAAK24C,iBAC1BnxC,EAASoH,YAAY5O,KAAK44C,kBAC1B54C,KAAKq5C,UAAY,MAOnBrB,EAAc73C,UAAUm4C,cAAgB,SAAShxC,GAC3CtH,KAAKq4C,WAAW,sBAClB/wC,EAAEQ,mBAAmB9H,KAAKq4C,WAAW,uBAAyB,IAQlEL,EAAc73C,UAAUo4C,mBAAqB,WACtCv4C,KAAKu5C,sBAGVv5C,KAAKw5C,UACLx5C,KAAKy5C,qBAOPzB,EAAc73C,UAAUq4C,wBAA0B,WAC3Cx4C,KAAKu5C,sBAAuBv5C,KAAK05C,mBAGtC15C,KAAK25C,oBACL35C,KAAK45C,0BAOP5B,EAAc73C,UAAUo5C,kBAAoB,WAC1C,GAAIM,GAAU75C,KAAKq4C,WAAW,oBAC9B,IAAIwB,EACG75C,KAAKo4C,kBAEEp4C,KAAKq5C,WAAcr5C,KAAKq5C,UAAUrqC,YAC5ChP,KAAKo5C,cAFLp5C,KAAK4hB,uBAIF,IAAI5hB,KAAKq5C,UAAW,CACzBr5C,KAAKs5C,kBACL,IAAIx2C,GAAU9C,KAAK+C,QACnBsd,YAAW,WAAavd,EAAQoE,OAAS,EAAGpE,EAAQikB,UAAa,GAEnE,MAAO8yB,IAOT7B,EAAc73C,UAAUq5C,QAAU,WAChC,QAASM,GAAelyB,EAAQna,EAASJ,GACvC,GAAI2Z,GAAcliB,QAAQmiB,qBAAqBxZ,EAE/Cma,GAAOvZ,MAAMI,IAAMpB,EAAKhM,EAAI,KAC5BumB,EAAOvZ,MAAMG,KAAOnB,EAAKjM,EAAI,KAC7BwmB,EAAO/a,MAAQQ,EAAKpG,EAAI+f,EACxBY,EAAOhb,OAASS,EAAKjG,EAAI4f,EACzBY,EAAOvZ,MAAMxB,MAAQQ,EAAKpG,EAAI,KAC9B2gB,EAAOvZ,MAAMzB,OAASS,EAAKjG,EAAI,KAEb,GAAf4f,GACDvZ,EAAQnE,MAAM0d,EAAaA,GAI/B,GAAI/X,GAAWjP,KAAK+C,SAASojB,QAAQtf,cAEjCkzC,EAAmB,CACnB/5C,MAAK+C,SAASwG,iBAAiB,WAAY,OAC7CwwC,EAAmB/5C,KAAKq4C,WAAW,gBAAmBr4C,KAAKq4C,WAAW,qBAAuB,EAAIr4C,KAAKq4C,WAAW,iBAEnHr4C,KAAKg6C,aACH54C,EAAG6N,EAAS7N,EACZC,EAAG4N,EAAS5N,EAAI4N,EAAS7H,EAAI2yC,EAAmB,EAChD9yC,EAAGgI,EAAShI,EACZG,EAAGpH,KAAKq4C,WAAW,wBAGrByB,EAAe95C,KAAKy4C,UAAWz4C,KAAKi6C,cAAej6C,KAAKg6C,aACxDF,EAAe95C,KAAK04C,UAAW14C,KAAKk6C,cAAel6C,KAAKg6C,cAO1DhC,EAAc73C,UAAU64C,gBAAkB,WACxCh5C,KAAKy4C,UAAY3zC,QAAQ8gB,eACzB5lB,KAAKy4C,UAAUrqC,UAAY,4BAC3BpO,KAAKy4C,UAAUpqC,MAAME,SAAW,WAChCvO,KAAKy4C,UAAUpqC,MAAM2a,OAAS,EAC9BhpB,KAAKi6C,cAAgBn1C,QAAQihB,WAAW/lB,KAAKy4C,WAE7Cz4C,KAAK04C,UAAY5zC,QAAQ8gB,eACzB5lB,KAAK04C,UAAUtqC,UAAY,4BAC3BpO,KAAK04C,UAAUrqC,MAAME,SAAW,WAChCvO,KAAK04C,UAAUrqC,MAAM2a,OAAS,EAC9BhpB,KAAK04C,UAAUrqC,MAAM8rC,OAAS,UAC9Bn6C,KAAKk6C,cAAgBp1C,QAAQihB,WAAW/lB,KAAK04C,YAO/CV,EAAc73C,UAAU84C,oBAAsB,WAC5Cj5C,KAAK64C,cAAgB3qC,SAASC,cAAc,OAC5CnO,KAAK64C,cAAcxqC,MAAME,SAAW,WACpCvO,KAAK64C,cAAcxqC,MAAMC,gBAAkB,QAC3CtO,KAAK64C,cAAcxqC,MAAMwZ,OAAS,mBAClC7nB,KAAK64C,cAAcxqC,MAAMya,QAAU,OACnC9oB,KAAK64C,cAAcxqC,MAAM8rC,OAAS,OAClCn6C,KAAK04C,UAAUhqC,YAAY1O,KAAK64C,gBAOlCb,EAAc73C,UAAU+4C,mBAAqB,WAC3C,GAAI3H,GAAM,GAAI6I,MACd7I,GAAInjC,UAAY,8BAChBmjC,EAAIljC,MAAME,SAAW,WACrBgjC,EAAIljC,MAAM2a,OAAS,GACnBuoB,EAAIljC,MAAM4H,WAAa,SACvBs7B,EAAIljC,MAAM8rC,OAAS,aAEf,SAASr6B,KAAKC,UAAUC,YAC1BuxB,EAAI1kC,MAAQ,EACZ0kC,EAAI3kC,OAAS,GACb2kC,EAAIljC,MAAMC,gBAAkB,QAC5BijC,EAAIljC,MAAMgsC,OAAS,sBAEnB9I,EAAI1kC,MAAQ,EACZ0kC,EAAI3kC,OAAS,GACb2kC,EAAIC,IAAM,kYAQRxxC,KAAKm4C,kBACP5G,EAAI1kC,OAAS,EACb0kC,EAAI3kC,QAAU,GAGhB5M,KAAK24C,gBAAkBpH,EACvBvxC,KAAK44C,iBAAmBrH,EAAI+I,WAAU,IAOxCtC,EAAc73C,UAAUg5C,iBAAmB,WACzC,GAcIoB,GAAeC,EAAaC,EAAQC,EAAWC,EAAQC,EACvDC,EAAYC,EAAOC,EAAUC,EAAOC,EAGpCC,EAAwBC,EAAoBC,EAlB5Ch7B,EAAOpgB,KACPq7C,EAAUntC,SACVotC,EAAc,EACdC,EAAS,KACTnyB,GAAY,EACZC,GAAY,EACZmyB,GAAWx7C,KAAKm4C,kBAAoBn4C,KAAKgN,iBAIzCsd,EAAO,GAAIxlB,SAAQylB,UAUvBgwB,GAAgB,SAASkB,GACvB,GAAIC,GAAct7B,EAAKrd,SAAS+gB,gBAC5B63B,GAAQD,EAAY,GAAKA,EAAY,IAAIt7B,EAAK45B,YAAY/yC,EAC1D20C,EAAWF,EAAY,IAAMD,EAAiBI,cAAgBz7B,EAAK45B,YAAY54C,GAAGu6C,EAClFG,EAAWJ,EAAY,IAAMD,EAAiBM,eAAiB37B,EAAK45B,YAAY54C,GAAGu6C,CACvF,QAAQC,EAAUE,IAGpBtB,EAAc,SAASlzC,GAYrB,MAXAxC,SAAQu4B,YAAY/1B,GACpB8hB,GAAY,EACZkyB,EAAch0C,EAAEu3B,QAChB0c,EAASj0C,EAAEif,OAASjf,EAAEif,OAASjf,EAAE00C,YAClB,cAAX10C,EAAE8b,MAAmC,cAAX9b,EAAE8b,QAE9Bte,QAAQi4B,SAASse,EAAS,YAAaZ,GACvC31C,QAAQi4B,SAASse,EAAS,UAAWX,IAEvCt6B,EAAKs4B,UAAUrqC,MAAM8rC,OAAS,aAC9B7vB,EAAKW,SACE,GAGTwvB,EAAS,SAASnzC,GAChB,IAAK8hB,EACH,OAAO,CAETtkB,SAAQu4B,YAAY/1B,EAEpB,IAAI20C,GAAO30C,EAAEu3B,QAAUyc,CACvB,IAAIl5C,KAAK0W,IAAImjC,GAAQ,EACnB,OAAO,CAETX,GAAch0C,EAAEu3B,OAGhB,IACIqd,GADAT,EAAmBr7B,EAAK+7B,sBAExBZ,IAAUn7B,EAAKu4B,iBACjBuD,EAAST,EAAiBI,cAAgBI,EAC1CC,EAAS95C,KAAK6pB,IAAIiwB,EAAQT,EAAiBM,eAAiBR,EAAO1uC,MAAQ,GAC3EqvC,EAAS95C,KAAKy0B,IAAIqlB,EAAQ97B,EAAK45B,YAAY54C,KAE3C86C,EAAST,EAAiBM,eAAiBE,EAC3CC,EAAS95C,KAAK6pB,IAAIiwB,EAAQ97B,EAAK45B,YAAY54C,EAAIgf,EAAK45B,YAAY/yC,GAChEi1C,EAAS95C,KAAKy0B,IAAIqlB,EAAQT,EAAiBI,cAAgBN,EAAO1uC,MAAQ,GAE5E,IAAIuvC,GAAkBb,EAAO1uC,MAAM,CAQnC,OAPA0uC,GAAOltC,MAAMG,KAAQ0tC,EAASE,EAAmB,KACjDh8B,EAAKw5B,wBAGD4B,GACFb,KAEK,GAGTD,EAAY,WACV,MAAKtxB,IAGLA,GAAY,EACZkB,EAAKe,UACLvmB,QAAQ2iB,YAAY4zB,EAAS,YAAaZ,GAC1C31C,QAAQ2iB,YAAY4zB,EAAS,UAAWX,GACxCt6B,EAAKs4B,UAAUrqC,MAAM8rC,OAAS,UAGzBqB,GACHb,KAEK,IAZE,GAeXA,EAAS,WACP,IACE,GAAIc,GAAmBr7B,EAAK+7B,sBAE5B,IADA/7B,EAAKs5B,kBAAmB,EACnB+B,EAAiBp4B,SAEf,CACL,GAAIg5B,GAAc9B,EAAckB,EAChCr7B,GAAKrd,SAAS2pB,cAAc2vB,EAAY,GAAIA,EAAY,QAHxDj8B,GAAKrd,SAAS0qB,YAKhB,QACArN,EAAKs5B,kBAAmB,IAI5BkB,EAAmB,SAAStzC,GAC1B,GAAI8Y,EAAKpT,iBACL,MAAO1F,GAAE00C,YAAc57B,EAAKy4B,aAE9B,IAAIxrC,GAAO+S,EAAKu4B,gBAAgB2D,wBAC5BC,EAAoBlvC,EAAKmB,KAAOnB,EAAKR,MAAM,CAC/CQ,GAAO+S,EAAKw4B,iBAAiB0D,uBAC7B,IAAIE,GAAqBnvC,EAAKmB,KAAOnB,EAAKR,MAAM,CAChD,OAAQvF,GAAEu3B,QAAU0d,GAAqBj1C,EAAEu3B,QAAU2d,GAIzD3B,EAAa,SAASvzC,GACpB,OAAK+hB,GAAauxB,EAAiBtzC,IAAM8Y,EAAK+7B,uBAAuB94B,UACnEve,QAAQu4B,YAAY/1B,GACpB+hB,GAAY,EACZiyB,EAAch0C,EAAEu3B,QACD,cAAXv3B,EAAE8b,OAEJte,QAAQi4B,SAASse,EAAS,YAAaP,GACvCh2C,QAAQi4B,SAASse,EAAS,UAAWN,KAEhC,IAEF,GAGTD,EAAQ,SAASxzC,GACf,IAAK+hB,EACH,OAAO,CAETvkB,SAAQu4B,YAAY/1B,EAEpB,IAAI20C,GAAO30C,EAAEu3B,QAAUyc,CACvB,IAAIl5C,KAAK0W,IAAImjC,GAAQ,EACnB,OAAO,CAETX,GAAch0C,EAAEu3B,OAGhB,IAAI4c,GAAmBr7B,EAAK+7B,uBACxBN,EAAgBJ,EAAiBI,cACjCE,EAAiBN,EAAiBM,eAClCU,EAAYV,EAAiBF,CAC7BA,GAAgBI,GAAQ77B,EAAK45B,YAAY54C,GAC3Cy6C,EAAgBz7B,EAAK45B,YAAY54C,EACjC26C,EAAiBF,EAAgBY,GACxBV,EAAiBE,GAAQ77B,EAAK45B,YAAY54C,EAAIgf,EAAK45B,YAAY/yC,GACxE80C,EAAiB37B,EAAK45B,YAAY54C,EAAIgf,EAAK45B,YAAY/yC,EACvD40C,EAAgBE,EAAiBU,IAEjCZ,GAAiBI,EACjBF,GAAkBE,EAEpB,IAAIG,GAAkBh8B,EAAKu4B,gBAAgB9rC,MAAM,CASjD,OARAuT,GAAKu4B,gBAAgBtqC,MAAMG,KAAQqtC,EAAgBO,EAAmB,KACtEh8B,EAAKw4B,iBAAiBvqC,MAAMG,KAAQutC,EAAiBK,EAAmB,KACxEh8B,EAAKw5B,wBAGD4B,GACFR,KAEK,GAGTD,EAAW,WACT,MAAK1xB,IAGLA,GAAY,EACZvkB,QAAQ2iB,YAAY4zB,EAAS,YAAaP,GAC1Ch2C,QAAQ2iB,YAAY4zB,EAAS,UAAWN,GAEnCS,GACHR,KAEK,IATE,GAYXA,EAAQ,WACN,IACE56B,EAAKs5B,kBAAmB,EACxBt5B,EAAKrd,SAAS+d,YAAcy5B,EAAcn6B,EAAK+7B,wBAC/C/7B,EAAKrd,SAASgrB,YAAW,GACzB,QACA3N,EAAKs5B,kBAAmB,IAI5BuB,EAAgB,SAAS3zC,GACvB,IAAI8hB,IAAaC,EAAjB,CAGA,GAAI8wB,GAASS,EAAiBtzC,GAAK,OAAS,SACxC6yC,IAAU/5B,EAAKs4B,UAAUrqC,MAAM8rC,SACjC/5B,EAAKs4B,UAAUrqC,MAAM8rC,OAASA,KAIlCe,EAAyB,SAAS5zC,GAClB,cAAVA,EAAE8b,MAAkD,GAA1B9b,EAAEo1C,cAAcl7C,OACxCg5C,EAAYlzC,EAAEo1C,cAAc,KAC9B53C,QAAQu4B,YAAY/1B,GAEH,aAAVA,EAAE8b,MAAiD,GAA1B9b,EAAEo1C,cAAcl7C,OAC9Ci5C,EAAOnzC,EAAEo1C,cAAc,KACzB53C,QAAQu4B,YAAY/1B,GAGtBozC,EAAUpzC,IAId6zC,EAAqB,SAAS7zC,GACd,cAAVA,EAAE8b,MAAkD,GAA1B9b,EAAEo1C,cAAcl7C,OACxCq5C,EAAWvzC,EAAEo1C,cAAc,KAC7B53C,QAAQu4B,YAAY/1B,GAEH,aAAVA,EAAE8b,MAAiD,GAA1B9b,EAAEo1C,cAAcl7C,OAC9Cs5C,EAAMxzC,EAAEo1C,cAAc,KACxB53C,QAAQu4B,YAAY/1B,GAGtByzC,EAASzzC,IAIb8zC,EAAiB,SAASntC,EAAM8nB,GAE9B,IAAK,GADD4mB,IAAS,aAAc,WAAY,YAAa,eAC3Cl7C,EAAI,EAAGA,EAAIk7C,EAAMn7C,OAAQC,IAChC2e,EAAKrd,SAAS8jB,iBAAiB5Y,EAAM0uC,EAAMl7C,GAAIs0B,IAInD/1B,KAAK+4C,kBAAkB,mBAAoBj0C,QAAQ6hC,YAAYuF,2BAC/DlsC,KAAK+4C,kBAAkB,kBAAmB,KAE1C,IAAI6D,GAAiB38B,OAAOC,MAAQ,YAAc,WAClDlgB,MAAK+C,SAAS8jB,iBAAiB7mB,KAAK24C,gBAAiBiE,EAAgBpC,GACrEx6C,KAAK+C,SAAS8jB,iBAAiB7mB,KAAK44C,iBAAkBgE,EAAgBpC,GAElEx6C,KAAKgN,iBACPhN,KAAK+C,SAAS8jB,iBAAiB7mB,KAAK64C,cAAe,YAAagC,IAEhE76C,KAAK+C,SAAS8jB,iBAAiB7mB,KAAK04C,UAAW,YAAamC,GAC5D76C,KAAK+C,SAAS8jB,iBAAiB7mB,KAAK04C,UAAW,YAAauC,IAI1Dj7C,KAAKk4C,qBACPkD,EAAep7C,KAAK24C,gBAAiBuC,GACrCE,EAAep7C,KAAK44C,iBAAkBsC,GACtCE,EAAep7C,KAAK04C,UAAWyC,KAQnCnD,EAAc73C,UAAUs5C,iBAAmB,WACzC,GAAItsC,GAAMnN,KAAKi6C,aACf9sC,GAAIS,UAAU,EAAG,EAAG5N,KAAKg6C,YAAY/yC,EAAGjH,KAAKg6C,YAAY5yC,EACzD,KACEpH,KAAK68C,gBACL,MAAMC,GACN78C,QAAQyT,KAAKopC,GAGf,GAAIC,GAAS,EACb/8C,MAAKi6C,cAAcnpC,UAAY,EAC/B3D,EAAI0D,YAAc,OAClB1D,EAAIzM,YACJyM,EAAIrM,OAAOi8C,EAAQA,GACnB5vC,EAAIvM,OAAOm8C,EAAQ/8C,KAAKg6C,YAAY5yC,EAAE21C,GACtC5vC,EAAIvM,OAAOZ,KAAKg6C,YAAY/yC,EAAE81C,EAAQ/8C,KAAKg6C,YAAY5yC,EAAE21C,GACzD5vC,EAAIvM,OAAOZ,KAAKg6C,YAAY/yC,EAAE81C,EAAQA,GACtC5vC,EAAInM,UAQNg3C,EAAc73C,UAAU08C,cAAgB,WACtC,GAAIzoC,GAAYpU,KAAKq4C,WAAW,8BAC5BxnC,EAAc7Q,KAAKq4C,WAAW,+BAClC,IAAKjkC,GAAcvD,EAAnB,CAIA,GAAIhB,GAAW7P,KAAKq4C,WAAW,YAE3B2E,EAAqBh9C,KAAKi9C,kCAC1B73B,EAAS43B,EAAmBE,KAAOF,EAAmBG,KAGtDhwC,EAAMnN,KAAKi6C,cACX8C,EAAS,GAET7V,EAAYlnC,KAAK+C,SAAS+gB,gBAC1Ba,EAASviB,KAAKy0B,IAAIqQ,EAAU,GAAKA,EAAU,GAAI,OAC/CkW,GAASp9C,KAAKg6C,YAAY/yC,EAAI81C,GAAQp4B,EACtC04B,GAASr9C,KAAKg6C,YAAY5yC,EAAI21C,GAAQ33B,EACtCmtB,EAAcvyC,KAAKg6C,YAAY/yC,EAAI81C,EACnCvK,EAAexyC,KAAKg6C,YAAY5yC,EAAI21C,EAEpClpC,EAAQ,KAAMC,EAAQ,IAE1B3G,GAAIzM,YACJyM,EAAIrM,OAAOi8C,EAAQvK,EACnB,KAAK,GAAI/wC,GAAI,EAAGA,EAAIu7C,EAAmB5lC,KAAK5V,OAAQC,IAAK,CACvD,GAAI67C,GAAYN,EAAmB5lC,KAAK3V,GACpCL,EAAuB,OAAjBk8C,EAAU,IAAiBA,EAAU,GAAKpW,EAAU,IAAIkW,EAAS1yC,IACvErJ,EAAuB,OAAjBi8C,EAAU,GAAgB9K,GAAgB8K,EAAU,GAAKN,EAAmBG,MAAME,EAAS3yC,KAIhGmF,GAAsB,OAAVgE,GAAkBzR,KAAK0T,MAAM1U,IAAMgB,KAAK0T,MAAMjC,MAI3D3J,SAAS9I,IAAM8I,SAAS7I,IACb,OAAVwS,EACD1G,EAAIvM,OAAOQ,EAAGoxC,GAEP3iC,GACP1C,EAAIvM,OAAOQ,EAAG0S,GAEhB3G,EAAIvM,OAAOQ,EAAGC,GACdwS,EAAQzS,EACR0S,EAAQzS,IAGK,OAAVwS,IACGhE,GACF1C,EAAIvM,OAAOQ,EAAG0S,GACd3G,EAAIvM,OAAOQ,EAAGoxC,IAGdrlC,EAAIvM,OAAOiT,EAAO2+B,IAGtB3+B,EAAQC,EAAQ,OAMpB,GAHA3G,EAAIvM,OAAO2xC,EAAaC,GACxBrlC,EAAIqH,YAEAJ,EAAW,CACb,GAAImpC,GAAUv9C,KAAKi6C,cAAcuD,qBAAqB,EAAG,EAAG,EAAGhL,EAC/D+K,GAAQE,aAAa,EAAG,SACxBF,EAAQE,aAAa,EAAGrpC,GACxBpU,KAAKi6C,cAAc7lC,UAAYmpC,EAC/BpwC,EAAIsH,OAGF5D,IACF7Q,KAAKi6C,cAAcppC,YAAcA,EACjC7Q,KAAKi6C,cAAcnpC,UAAY,IAC/B3D,EAAInM,YAWRg3C,EAAc73C,UAAU88C,gCAAkC,WACxD,GAEIx7C,GAFA2I,EAAIpK,KAAK+C,SACTyH,EAAWxK,KAAKq4C,WAAW,YAI3BhzB,EAAajb,EAAEib,aACfnhB,EAASkG,EAAE4L,YACX0nC,EAAgB,GAAIC,OAAMt4B,GAC1Bu4B,GAAS,CACb,KAAKn8C,EAAI,EAAO4jB,EAAJ5jB,EAAgBA,IAAK,CAC/B,GAAIo8C,GAAU79C,KAAKq4C,WAAW,sBAAuBn0C,EAAOzC,GAC5Di8C,GAAcj8C,GAAKo8C,EACH,OAAZA,IAAkBD,GAAS,GAEjC,IAAKA,EACH,IAAKn8C,EAAI,EAAGA,EAAIi8C,EAAcl8C,OAAQC,IAAKi8C,EAAcj8C,IAAK,CAKhE,IAAIkzB,MACAmpB,EAAc1zC,EAAEkB,aAChBjH,EAAU+F,EAAEa,WAChB,KAAKxJ,EAAI,EAAGA,EAAI2I,EAAEib,aAAc5jB,IAC9B,GAAKi8C,EAAcj8C,GAAnB,CACA,GAAI2C,GAAS05C,EAAYnqB,cAAcvpB,EAAE8Z,SAAUziB,EAAG4C,EAClD+F,GAAEuW,aAAe,IACnBvc,EAAS05C,EAAYlqB,eAAexvB,EAAQgG,EAAEuW,aAActc,IAG9DswB,EAAarzB,KAAK8C,GAGpB,GAAI25C,KACJ,KAAKt8C,EAAI,EAAGA,EAAIkzB,EAAa,GAAGnzB,OAAQC,IAAK,CAG3C,IAAK,GAFDu8C,GAAM,EACNC,EAAQ,EACHp8C,EAAI,EAAGA,EAAI8yB,EAAanzB,OAAQK,IAAK,CAC5C,GAAIR,GAAIszB,EAAa9yB,GAAGJ,GAAG,EACjB,QAANJ,GAAc8I,MAAM9I,KACxB48C,IACAD,GAAO38C,GAET08C,EAAez8C,MAAMqzB,EAAa,GAAGlzB,GAAG,GAAIu8C,EAAMC,IAIpD,GAAId,GAAO3jC,OAAOuvB,UACdmU,GAAQ1jC,OAAOuvB,SACnB,KAAKtnC,EAAI,EAAGA,EAAIs8C,EAAev8C,OAAQC,IAAK,CAC1C,GAAIy8C,GAAOH,EAAet8C,GAAG,EAChB,QAATy8C,GAAiBh0C,SAASg0C,MAAW1zC,GAAY0zC,EAAO,KAC1Df,EAAO/6C,KAAK6pB,IAAIkxB,EAAMe,GACtBhB,EAAO96C,KAAKy0B,IAAIqmB,EAAMgB,IAM1B,GAAIC,GAAe,GACnB,IAAI3zC,EAIF,IAHA0yC,EAAOp4C,QAAQ2E,MAAMyzC,GACrBA,GAAQA,EAAKiB,EACbhB,EAAOr4C,QAAQ2E,MAAM0zC,GAChB17C,EAAI,EAAGA,EAAIs8C,EAAev8C,OAAQC,IACrCs8C,EAAet8C,GAAG,GAAKqD,QAAQ2E,MAAMs0C,EAAet8C,GAAG,QAEpD,CACL,GAAI28C,GACAh5B,EAAS83B,EAAOC,CAElBiB,GADEh5B,GAAU5L,OAAO6kC,UACVnB,EAAKiB,EAEL/4B,EAAO+4B,EAElBjB,GAAQkB,EACRjB,GAAQiB,EAGV,OAAQhnC,KAAM2mC,EAAgBZ,KAAMA,EAAMD,KAAMA,IAOlDlF,EAAc73C,UAAUw5C,kBAAoB,WAC1C,GAAIzS,GAAYlnC,KAAK+C,SAAS+gB,gBAC1Bw6B,EAAgBt+C,KAAK+C,SAASmG,aAC9Byb,EAASuiB,EAAU,GAAKA,EAAU,GAClCqX,EAAcn8C,KAAKy0B,IAAI,GAAIynB,EAAc,GAAKpX,EAAU,IAAIviB,GAC5D65B,EAAep8C,KAAKy0B,IAAI,GAAIqQ,EAAU,GAAKoX,EAAc,IAAI35B,GAC7D85B,EAAYz+C,KAAKg6C,YAAY54C,EAAIpB,KAAKg6C,YAAY/yC,EAAEs3C,EACpDG,EAAa1+C,KAAKg6C,YAAY54C,EAAIpB,KAAKg6C,YAAY/yC,GAAG,EAAIu3C,GAC1DG,EAAYv8C,KAAKy0B,IAAI72B,KAAKg6C,YAAY34C,EAAGrB,KAAKg6C,YAAY34C,GAAKrB,KAAKg6C,YAAY5yC,EAAIpH,KAAK24C,gBAAgB/rC,QAAQ,GACjHwvC,EAAkBp8C,KAAK24C,gBAAgB9rC,MAAM,CACjD7M,MAAK24C,gBAAgBtqC,MAAMG,KAAQiwC,EAAYrC,EAAmB,KAClEp8C,KAAK24C,gBAAgBtqC,MAAMI,IAAMkwC,EAAY,KAC7C3+C,KAAK44C,iBAAiBvqC,MAAMG,KAAQkwC,EAAatC,EAAmB,KACpEp8C,KAAK44C,iBAAiBvqC,MAAMI,IAAMzO,KAAK24C,gBAAgBtqC,MAAMI,IAE7DzO,KAAK24C,gBAAgBtqC,MAAM4H,WAAa,UACxCjW,KAAK44C,iBAAiBvqC,MAAM4H,WAAa,WAO3C+hC,EAAc73C,UAAUy5C,sBAAwB,WAC9C,GAAIzsC,GAAMnN,KAAKk6C,aACf/sC,GAAIS,UAAU,EAAG,EAAG5N,KAAKg6C,YAAY/yC,EAAGjH,KAAKg6C,YAAY5yC,EACzD,IAAI21C,GAAS,EACTlwC,EAAQ7M,KAAKg6C,YAAY/yC,EAAI81C,EAC7BnwC,EAAS5M,KAAKg6C,YAAY5yC,EAAI21C,EAC9BtB,EAAmBz7C,KAAKm8C,sBAG5B,IADAhvC,EAAI0D,YAAc,QACb4qC,EAAiBp4B,SAUf,CACL,GAAIu7B,GAAsBx8C,KAAKy0B,IAAIkmB,EAAQtB,EAAiBI,cAAgB77C,KAAKg6C,YAAY54C,GACzFy9C,EAAuBz8C,KAAK6pB,IAAIpf,EAAO4uC,EAAiBM,eAAiB/7C,KAAKg6C,YAAY54C,EAE9F+L,GAAIiH,UAAY,2BAChBjH,EAAI+e,SAAS,EAAG,EAAG0yB,EAAqB5+C,KAAKg6C,YAAY5yC,GACzD+F,EAAI+e,SAAS2yB,EAAsB,EAAG7+C,KAAKg6C,YAAY/yC,EAAI43C,EAAsB7+C,KAAKg6C,YAAY5yC,GAElG+F,EAAIzM,YACJyM,EAAIrM,OAAOi8C,EAAQA,GACnB5vC,EAAIvM,OAAOg+C,EAAqB7B,GAChC5vC,EAAIvM,OAAOg+C,EAAqBhyC,GAChCO,EAAIvM,OAAOi+C,EAAsBjyC,GACjCO,EAAIvM,OAAOi+C,EAAsB9B,GACjC5vC,EAAIvM,OAAOiM,EAAOkwC,GAClB5vC,EAAInM,SAEAhB,KAAKgN,mBACPhN,KAAK64C,cAAcxqC,MAAMxB,MAASgyC,EAAuBD,EAAuB,KAChF5+C,KAAK64C,cAAcxqC,MAAMG,KAAOowC,EAAsB,KACtD5+C,KAAK64C,cAAcxqC,MAAMzB,OAASA,EAAS,KAC3C5M,KAAK64C,cAAcxqC,MAAMya,QAAU,cA9BrC3b,GAAIzM,YACJyM,EAAIrM,OAAOi8C,EAAQA,GACnB5vC,EAAIvM,OAAOm8C,EAAQnwC,GACnBO,EAAIvM,OAAOiM,EAAOD,GAClBO,EAAIvM,OAAOiM,EAAOkwC,GAClB5vC,EAAInM,SACAhB,KAAK64C,gBACP74C,KAAK64C,cAAcxqC,MAAMya,QAAU,SAiCzCkvB,EAAc73C,UAAUg8C,qBAAuB,WAC7C,GAAIC,GAAkBp8C,KAAK24C,gBAAgB9rC,MAAM,EAC7CgvC,EAAgBtlB,WAAWv2B,KAAK24C,gBAAgBtqC,MAAMG,MAAQ4tC,EAC9DL,EAAiBxlB,WAAWv2B,KAAK44C,iBAAiBvqC,MAAMG,MAAQ4tC,CACpE,QACIP,cAAeA,EACfE,eAAgBA,EAChB14B,SAAWw4B,EAAgB,EAAI77C,KAAKg6C,YAAY54C,GAAK26C,EAAiB,EAAI/7C,KAAKg6C,YAAY54C,EAAEpB,KAAKg6C,YAAY/yC,IAI7G+wC,KCjzBPlzC,QAAQ2a,QAAQne,KACdwD,QAAQyrC,QAAQ+E,OAChBxwC,QAAQyrC,QAAQuB,KAChBhtC,QAAQyrC,QAAQwH,cAChBjzC,QAAQyrC,QAAQkD,YAChB3uC,QAAQyrC,QAAQC,YAChB1rC,QAAQyrC,QAAQ2E,MCiClBpwC,QAAQg6C,YAAc,aAOtBh6C,QAAQquB,gBAER,WAEA,YAEA,IAAI5H,GAAUzmB,QAAQg6C,WAOtBvzB,GAAQwzB,EAAI,EAOZxzB,EAAQ3nB,EAAI,EAOZ2nB,EAAQyzB,OAAS,EAiBjBzzB,EAAQprB,UAAUwzB,cAAgB,aAclCpI,EAAQprB,UAAUq1B,eAAiB,SAASpxB,EAAQ0G,EAASm0C,GAQ3D,IAAM,GADF54C,MACM5E,EAAI,EAAGA,EAAI2C,EAAO5C,SAAUC,EAAG,CACvC,GAAIy9C,GAAO96C,EAAO3C,GACd09C,EAAOD,EAAK,GACZ/zC,EAAgB,OAATg0C,EAAgB,KAAO5zB,EAAQgL,WAAW4oB,GACjDj0C,GACF9J,EAAIsJ,IACJrJ,EAAIqJ,IACJrC,KAAOkjB,EAAQgL,WAAW2oB,EAAK,IAC/B/zC,KAAOA,EACPnG,KAAO8F,EACPtG,IAAM/C,EAAIw9C,EAEZ54C,GAAO/E,KAAK4J,GAGd,MADAlL,MAAKo/C,iBAAiBh7C,EAAQiC,GACvBA,GAgBTklB,EAAQprB,UAAUi/C,iBAAmB,aAYrC7zB,EAAQprB,UAAUyzB,eAAiB,aAcnCrI,EAAQprB,UAAUm1B,kBAAoB,aAatC/J,EAAQprB,UAAUoL,gBAAkB,aAapCggB,EAAQprB,UAAUk/C,uBAAyB,SAAS3uB,EAAIC,EAAI4lB,GAC1D,GAAI+I,GAAS3uB,EAAG,GAAKD,EAAG,GACpB6uB,EAAS5uB,EAAG,GAAKD,EAAG,GACpB8uB,EAAWF,EAASC,EACpBE,GAAUlJ,EAAS7lB,EAAG,IAAM8uB,CAChC,OAAO9uB,GAAG,GAAK+uB,GAejBl0B,EAAQprB,UAAUu/C,oBAAsB,SAASt7C,EAAQ2c,GACvD,GAAI+T,GAAW,EAAGC,EAAU3wB,EAAO5C,OAAS,CAC5C,IAAIuf,EAAY,CAOd,IANA,GAAIvc,GAAM,EACN6oB,EAAMtM,EAAW,GACjBmU,EAAOnU,EAAW,GAIfvc,EAAMJ,EAAO5C,OAAS,GAAK4C,EAAOI,GAAK,GAAK6oB,GACjDyH,IACAtwB,GAGF,KADAA,EAAMJ,EAAO5C,OAAS,EACfgD,EAAM,GAAKJ,EAAOI,GAAK,GAAK0wB,GACjCH,IACAvwB,IAGJ,MAAgBuwB,IAAZD,GACOA,EAAUC,IAEV,EAAG3wB,EAAO5C,OAAS,IAWhC+pB,EAAQgL,WAAa,SAASrO,GAE5B,MAAY,QAARA,EACKxd,IAIFwd,MC/PT,WAGA,YAMApjB,SAAQquB,aAAaK,eAAiB,YAGtC,IAAIA,GAAiB1uB,QAAQquB,aAAaK,cAC1CA,GAAerzB,UAAY,GAAI2E,SAAQg6C,YAGvCtrB,EAAerzB,UAAUwzB,cAAgB,SAASgsB,EAASl+C,EAAG4C,GAI5D,IAAM,GAFFD,MACAw7C,EAAWv7C,EAAQZ,IAAI,YACjB5B,EAAI,EAAGA,EAAI89C,EAAQn+C,OAAQK,IAAK,CACxC,GAAIT,GAAIu+C,EAAQ99C,GAAG,GACfqJ,EAAQy0C,EAAQ99C,GAAGJ,EACnBm+C,IAGW,GAAT10C,IACFA,EAAQ,MAGZ9G,EAAO9C,MAAOF,EAAG8J,IAEnB,MAAO9G,IAITovB,EAAerzB,UAAUyzB,eAAiB,SAASisB,EAAcl/B,GAE/DA,EAAave,KAAK6pB,IAAItL,EAAYk/B,EAAar+C,OAC/C,IAEIC,GAAGI,EAAGR,EAAG28C,EAAK8B,EAFdC,IAMJ,IAAkB,GAAdp/B,EACF,MAAOk/B,EAET,KAAKp+C,EAAI,EAAGA,EAAIo+C,EAAar+C,OAAQC,IAAK,CAGxC,IAFAu8C,EAAM,EACN8B,EAAS,EACJj+C,EAAIO,KAAKy0B,IAAI,EAAGp1B,EAAIkf,EAAa,GAAQlf,EAAI,EAARI,EAAWA,IACnDR,EAAIw+C,EAAah+C,GAAG,GACV,OAANR,GAAc8I,MAAM9I,KAExBy+C,IACA9B,GAAO6B,EAAah+C,GAAG,GAGvBk+C,GAAYt+C,GADVq+C,GACiBD,EAAap+C,GAAG,GAAIu8C,EAAM8B,IAE1BD,EAAap+C,GAAG,GAAI,MAI3C,MAAOs+C,IAITvsB,EAAerzB,UAAUm1B,kBAAoB,SAASlxB,GAKpD,IAAM,GAHwB/C,GAA1Bs1B,EAAO,KAAMC,EAAO,KACpB9B,EAAW,EAAGC,EAAU3wB,EAAO5C,OAAS,EAElCK,EAAIizB,EAAeC,GAALlzB,EAAcA,IACpCR,EAAI+C,EAAOvC,GAAG,GACJ,OAANR,GAAc8I,MAAM9I,MAEX,OAATu1B,GAAiBv1B,EAAIu1B,KACvBA,EAAOv1B,IAEI,OAATs1B,GAAqBA,EAAJt1B,KACnBs1B,EAAOt1B,GAGX,QAASs1B,EAAMC,OCrFjB,WAGA,YAMA9xB,SAAQquB,aAAaE,uBAAyB,YAG9C,IAAIA,GAAyBvuB,QAAQquB,aAAaE,sBAClDA,GAAuBlzB,UAAY,GAAI2E,SAAQquB,aAAaK,eAE5DH,EAAuBlzB,UAAUwzB,cAAgB,SAASgsB,EAASl+C,EAAG4C,GAMpE,IAAM,GAHFjD,GAAGC,EAAG6J,EAAO6c,EAAKi4B,EAAK11C,EADvBlG,KAEAurC,EAAO,IACPiQ,EAAWv7C,EAAQZ,IAAI,YACjB5B,EAAI,EAAGA,EAAI89C,EAAQn+C,OAAQK,IACnCT,EAAIu+C,EAAQ99C,GAAG,GACfqJ,EAAQy0C,EAAQ99C,GAAGJ,GACfm+C,GAAsB,OAAV10C,IAGVA,EAAM,IAAM,GAAKA,EAAM,IAAM,KAC/BA,EAAQ,MAIE,OAAVA,GACF6c,EAAM7c,EAAM,GACZ80C,EAAM90C,EAAM,GACA,OAAR6c,GAAiB5d,MAAM4d,GAMzB3jB,EAAO9C,MAAOF,EAAG2mB,GAAOA,EAAKi4B,MAL7B11C,EAAQ01C,EAAMj4B,EAAMi4B,EAAM,EAC1B3+C,EAAIsuC,EAAOrlC,EAEXlG,EAAO9C,MAAOF,EAAGC,GAAK0mB,EAAKi4B,OAK7B57C,EAAO9C,MAAOF,EAAG,MAAQ,KAAM,OAGnC,OAAOgD,IAGTivB,EAAuBlzB,UAAUyzB,eAAiB,SAASisB,EAAcl/B,GAEvEA,EAAave,KAAK6pB,IAAItL,EAAYk/B,EAAar+C,OAC/C,IAEIC,GAFAs+C,KAGAh4B,EAAM,EACNi4B,EAAM,EACNrQ,EAAO,GACX,KAAKluC,EAAI,EAAGA,EAAIo+C,EAAar+C,OAAQC,IAAK,CACxCsmB,GAAO83B,EAAap+C,GAAG,GAAG,GAC1Bu+C,GAAOH,EAAap+C,GAAG,GAAG,GACtBA,EAAIkf,GAAc,IACpBoH,GAAO83B,EAAap+C,EAAIkf,GAAY,GAAG,GACvCq/B,GAAOH,EAAap+C,EAAIkf,GAAY,GAAG,GAGzC,IAAI5G,GAAO8lC,EAAap+C,GAAG,GACvB6I,EAAQ01C,EAAMj4B,EAAMi4B,EAAM,CAC9BD,GAAYt+C,IAAOsY,EAAM41B,EAAOrlC,GAGlC,MAAOy1C,OCtET,WAIA,YAMAj7C,SAAQquB,aAAa8sB,YAAc,WACjCn7C,QAAQg6C,YAAY39C,KAAKnB,OAE3B8E,QAAQquB,aAAa8sB,YAAY9/C,UAAY,GAAI2E,SAAQg6C,WAGzD,IAAImB,GAAcn7C,QAAQquB,aAAa8sB,WAcvCA,GAAY9/C,UAAUwzB,cAAgB,aAatCssB,EAAY9/C,UAAUyzB,eAClB,aAKJqsB,EAAY9/C,UAAUi/C,iBAAmB,SAASh7C,EAAQiC,GACxD,IAAK,GAAI5E,GAAI,EAAGA,EAAI2C,EAAO5C,SAAUC,EAAG,CACtC,GAAIy9C,GAAO96C,EAAO3C,GACdyJ,EAAQ7E,EAAO5E,EACnByJ,GAAMqJ,MAAQ7J,IACdQ,EAAMoJ,SAAW5J,IACjBQ,EAAMg1C,WAAap7C,QAAQg6C,YAAYvoB,WAAW2oB,EAAK,GAAG,IAC1Dh0C,EAAMi1C,UAAYr7C,QAAQg6C,YAAYvoB,WAAW2oB,EAAK,GAAG,MAK7De,EAAY9/C,UAAUm1B,kBAAoB,SAASlxB,GAMjD,IAAM,GALwB/C,GAA1Bs1B,EAAO,KAAMC,EAAO,KAEpB9B,EAAW,EACXC,EAAU3wB,EAAO5C,OAAS,EAEpBK,EAAIizB,EAAeC,GAALlzB,EAAcA,IAEpC,GADAR,EAAI+C,EAAOvC,GAAG,GACJ,OAANR,IAAc8I,MAAM9I,GAAxB,CAEA,GAAIgsB,GAAMjpB,EAAOvC,GAAG,GAAG,GACnBqzB,EAAO9wB,EAAOvC,GAAG,GAAG,EAEpBwrB,GAAMhsB,IAAGgsB,EAAMhsB,GACRA,EAAP6zB,IAAUA,EAAO7zB,IAER,OAATu1B,GAAiB1B,EAAO0B,KAAMA,EAAO1B,IAC5B,OAATyB,GAAuBA,EAANtJ,KAAYsJ,EAAOtJ,GAG1C,OAASsJ,EAAMC,IAIjBqpB,EAAY9/C,UAAUoL,gBAAkB,SAASlF,EAAQrC,EAAMwG,GAE7D,IAAK,GADDU,GACKrJ,EAAI,EAAGA,EAAIwE,EAAO7E,OAAQK,IAEjCqJ,EAAQ7E,EAAOxE,GACfqJ,EAAMqJ,MAAQnO,cAAcqE,aAAazG,EAAMkH,EAAMg1C,WAAY11C,GACjEU,EAAMoJ,SAAWlO,cAAcqE,aAAazG,EAAMkH,EAAMi1C,UAAW31C,OC7FvE,WAGA,YAMA1F,SAAQquB,aAAaG,kBAAoB,YAGzC,IAAIA,GAAoBxuB,QAAQquB,aAAaG,iBAC7CA,GAAkBnzB,UAAY,GAAI2E,SAAQquB,aAAa8sB,YAGvD3sB,EAAkBnzB,UAAUwzB,cAAgB,SAASgsB,EAASl+C,EAAG4C,GAK/D,IAAM,GAFFjD,GAAGC,EAAG6J,EADN9G,KAEAw7C,EAAWv7C,EAAQZ,IAAI,YACjB5B,EAAI,EAAGA,EAAI89C,EAAQn+C,OAAQK,IACnCT,EAAIu+C,EAAQ99C,GAAG,GACfqJ,EAAQy0C,EAAQ99C,GAAGJ,GACfm+C,GAAsB,OAAV10C,IAGVA,EAAM,IAAM,GAAKA,EAAM,IAAM,GAAKA,EAAM,IAAM,KAChDA,EAAQ,MAIE,OAAVA,GACF7J,EAAI6J,EAAM,GAIR9G,EAAO9C,KAHC,OAAND,GAAe8I,MAAM9I,IAGTD,EAAGC,GAAKA,EAAGA,KAFXD,EAAGC,GAAK6J,EAAM,GAAIA,EAAM,OAKxC9G,EAAO9C,MAAOF,EAAG,MAAQ,KAAM,OAGnC,OAAOgD,IAITkvB,EAAkBnzB,UAAUyzB,eACxB,SAASisB,EAAcl/B,GACzBA,EAAave,KAAK6pB,IAAItL,EAAYk/B,EAAar+C,OAC/C,IACIH,GAAGgsB,EAAK6H,EAAMyL,EAAIsd,EAAOx8C,EAAG4sB,EAD5B0xB,IAOJ,KAJA1yB,EAAM,EACNsT,EAAM,EACNzL,EAAO,EACP+oB,EAAQ,EACHx8C,EAAI,EAAGA,EAAIo+C,EAAar+C,OAAQC,IAAK,CAWxC,GAVAJ,EAAIw+C,EAAap+C,GAAG,GACpB4sB,EAAWwxB,EAAap+C,GAAG,GAC3Bs+C,EAAYt+C,GAAKo+C,EAAap+C,GAEpB,OAANJ,GAAe8I,MAAM9I,KACvBgsB,GAAOgB,EAAS,GAChBsS,GAAOt/B,EACP6zB,GAAQ7G,EAAS,GACjB4vB,GAAS,GAEPx8C,EAAIkf,GAAc,EAAG,CACvB,GAAIy/B,GAAOP,EAAap+C,EAAIkf,EACZ,QAAZy/B,EAAK,IAAgBj2C,MAAMi2C,EAAK,MAClC/yB,GAAO+yB,EAAK,GAAG,GACfzf,GAAOyf,EAAK,GACZlrB,GAAQkrB,EAAK,GAAG,GAChBnC,GAAS,GAIX8B,EAAYt+C,GADVw8C,GAEE4B,EAAap+C,GAAG,GAChB,EAAMk/B,EAAMsd,GACV,EAAM5wB,EAAM4wB,EACZ,EAAM/oB,EAAO+oB,KAEA4B,EAAap+C,GAAG,GAAI,MAAQ,KAAM,OAIzD,MAAOs+C,OCxFT,WAGA,YAMAj7C,SAAQquB,aAAaI,iBAAmB,YAGxC,IAAIA,GAAmBzuB,QAAQquB,aAAaI,gBAC5CA,GAAiBpzB,UAAY,GAAI2E,SAAQquB,aAAa8sB,YAGtD1sB,EAAiBpzB,UAAUwzB,cAAgB,SAASgsB,EAASl+C,EAAG4C,GAM9D,IAAM,GAHFjD,GAAGC,EAAGg/C,EAAUn1C,EADhB9G,KAEA4Y,EAAQ3Y,EAAQZ,IAAI,SACpBm8C,EAAWv7C,EAAQZ,IAAI,YACjB5B,EAAI,EAAGA,EAAI89C,EAAQn+C,OAAQK,IACnCT,EAAIu+C,EAAQ99C,GAAG,GACfqJ,EAAQy0C,EAAQ99C,GAAGJ,GACfm+C,GAAsB,OAAV10C,IAGVA,EAAM,IAAM,GAAKA,EAAM,GAAK8R,EAAQ9R,EAAM,IAAM,KAClDA,EAAQ,MAIE,OAAVA,GACF7J,EAAI6J,EAAM,GACA,OAAN7J,GAAe8I,MAAM9I,GAMvB+C,EAAO9C,MAAOF,EAAGC,GAAKA,EAAGA,EAAGA,MAL5Bg/C,EAAWrjC,EAAQ9R,EAAM,GAGzB9G,EAAO9C,MAAOF,EAAGC,GAAKA,EAAIg/C,EAAUh/C,EAAIg/C,EAAUn1C,EAAM,QAK1D9G,EAAO9C,MAAOF,EAAG,MAAQ,KAAM,KAAM,OAGzC,OAAOgD,IAITmvB,EAAiBpzB,UAAUyzB,eACvB,SAASisB,EAAcl/B,EAAYtc,GACrCsc,EAAave,KAAK6pB,IAAItL,EAAYk/B,EAAar+C,OAC/C,IAGIC,GAAGI,EAAGR,EAAGwK,EAAGmyC,EAAK8B,EAAQQ,EAAQD,EAAU/1C,EAH3Cy1C,KACA/iC,EAAQ3Y,EAAQZ,IAAI,QAMxB,KAAKhC,EAAI,EAAGA,EAAIo+C,EAAar+C,OAAQC,IAAK,CAIxC,IAHAu8C,EAAM,EACNqC,EAAW,EACXP,EAAS,EACJj+C,EAAIO,KAAKy0B,IAAI,EAAGp1B,EAAIkf,EAAa,GAAQlf,EAAI,EAARI,EAAWA,IACnDR,EAAIw+C,EAAah+C,GAAG,GACV,OAANR,GAAc8I,MAAM9I,KAExBy+C,IACA9B,GAAO38C,EACPg/C,GAAYj+C,KAAK2W,IAAI8mC,EAAah+C,GAAG,GAAG,GAAI,GAE1Ci+C,IACFQ,EAASl+C,KAAKC,KAAKg+C,GAAYP,EAC/Bx1C,EAAQ0zC,EAAM8B,EACdC,EAAYt+C,IAAOo+C,EAAap+C,GAAG,GAAI6I,GAClCA,EAAQ0S,EAAQsjC,EAAQh2C,EAAQ0S,EAAQsjC,MAK7Cz0C,EAAmB,GAAd8U,EAAmBk/B,EAAap+C,GAAG,GAAK,KAC7Cs+C,EAAYt+C,IAAOo+C,EAAap+C,GAAG,GAAIoK,GAAKA,EAAGA,KAInD,MAAOk0C,OCtFT,WAGA,YAMAj7C,SAAQquB,aAAaC,qBAAuB,YAG5C,IAAIA,GAAuBtuB,QAAQquB,aAAaC,oBAChDA,GAAqBjzB,UAAY,GAAI2E,SAAQquB,aAAa8sB,YAG1D7sB,EAAqBjzB,UAAUwzB,cAAgB,SAASgsB,EAASl+C,EAAG4C,GAOlE,IAAM,GAJFjD,GAAGC,EAAG6J,EAAO6c,EAAKi4B,EAAK11C,EAAOg2C,EAAQD,EADtCj8C,KAEAurC,EAAO,IACP3yB,EAAQ3Y,EAAQZ,IAAI,SACpBm8C,EAAWv7C,EAAQZ,IAAI,YACjB5B,EAAI,EAAGA,EAAI89C,EAAQn+C,OAAQK,IACnCT,EAAIu+C,EAAQ99C,GAAG,GACfqJ,EAAQy0C,EAAQ99C,GAAGJ,GACfm+C,GAAsB,OAAV10C,IAGVA,EAAM,IAAM,GAAKA,EAAM,IAAM,KAC/BA,EAAQ,MAIE,OAAVA,GACF6c,EAAM7c,EAAM,GACZ80C,EAAM90C,EAAM,GACA,OAAR6c,GAAiB5d,MAAM4d,GAQzB3jB,EAAO9C,MAAOF,EAAG2mB,GAAOA,EAAKA,EAAKA,EAAKi4B,MAPvC11C,EAAQ01C,EAAMj4B,EAAMi4B,EAAM,EAC1BM,EAASN,EAAMhjC,EAAQ5a,KAAKC,KAAKiI,GAAS,EAAIA,GAAS01C,GAAO,EAC9DK,EAAW1Q,EAAO2Q,EAClBj/C,EAAIsuC,EAAOrlC,EAEXlG,EAAO9C,MAAOF,EAAGC,GAAKA,EAAIg/C,EAAUh/C,EAAIg/C,EAAUt4B,EAAKi4B,OAKzD57C,EAAO9C,MAAOF,EAAG,MAAQ,KAAM,KAAM,KAAM,OAG/C,OAAOgD,IAITgvB,EAAqBjzB,UAAUyzB,eAC3B,SAASisB,EAAcl/B,EAAYtc,GACrCsc,EAAave,KAAK6pB,IAAItL,EAAYk/B,EAAar+C,OAC/C,IAII6rB,GAAK6H,EAAMzzB,EAAG6+C,EAJdP,KACA/iC,EAAQ3Y,EAAQZ,IAAI,SACpByZ,EAAiB7Y,EAAQZ,IAAI,kBAG7BskB,EAAM,EACNi4B,EAAM,EACNrQ,EAAO,GACX,KAAKluC,EAAI,EAAGA,EAAIo+C,EAAar+C,OAAQC,IAAK,CACxCsmB,GAAO83B,EAAap+C,GAAG,GAAG,GAC1Bu+C,GAAOH,EAAap+C,GAAG,GAAG,GACtBA,EAAIkf,GAAc,IACpBoH,GAAO83B,EAAap+C,EAAIkf,GAAY,GAAG,GACvCq/B,GAAOH,EAAap+C,EAAIkf,GAAY,GAAG,GAGzC,IAAI5G,GAAO8lC,EAAap+C,GAAG,GACvB6I,EAAQ01C,EAAMj4B,EAAMi4B,EAAM,CAC9B,IAAI9iC,EAGF,GAAI8iC,EAAK,CACP,GAAI9zC,GAAY,EAAR5B,EAAY,EAAIA,EAAO+O,EAAI2mC,EAC/BO,EAAKvjC,EAAQ5a,KAAKC,KAAK6J,GAAK,EAAIA,GAAKmN,EAAI2D,EAAQA,GAAS,EAAI3D,EAAIA,IAClEmnC,EAAQ,EAAIxjC,EAAQA,EAAQgjC,CAChC3yB,IAAOnhB,EAAI8Q,EAAQA,GAAS,EAAIgjC,GAAOO,GAAMC,EAC7CtrB,GAAQhpB,EAAI8Q,EAAQA,GAAS,EAAIgjC,GAAOO,GAAMC,EAC9CT,EAAYt+C,IAAOsY,EAAM7N,EAAIyjC,GACvBtiB,EAAMsiB,EAAMza,EAAOya,QAEzBoQ,GAAYt+C,IAAOsY,EAAM,GAAK,EAAG,QAGnCumC,GAASN,EAAMhjC,EAAQ5a,KAAKC,KAAKiI,GAAS,EAAIA,GAAS01C,GAAO,EAC9DD,EAAYt+C,IAAOsY,EAAM41B,EAAOrlC,GACXqlC,GAAQrlC,EAAQg2C,GAAS3Q,GAAQrlC,EAAQg2C,KAIlE,MAAOP"} \ No newline at end of file +{"version":3,"sources":["polyfills/console.js","dashed-canvas.js","dygraph-options.js","dygraph-layout.js","dygraph-canvas.js","dygraph.js","dygraph-utils.js","dygraph-gviz.js","dygraph-interaction-model.js","dygraph-tickers.js","dygraph-plugin-base.js","plugins/annotations.js","plugins/axes.js","plugins/chart-labels.js","plugins/grid.js","plugins/legend.js","plugins/range-selector.js","dygraph-plugin-install.js","datahandler/datahandler.js","datahandler/default.js","datahandler/default-fractions.js","datahandler/bars.js","datahandler/bars-custom.js","datahandler/bars-error.js","datahandler/bars-fractions.js"],"names":["con","prop","method","empty","dummy","properties","split","methods","pop","this","console","CanvasRenderingContext2D","prototype","installPattern","pattern","isPatternInstalled","dashedLineToHistory","segments","realBeginPath","beginPath","realLineTo","lineTo","realMoveTo","moveTo","realStroke","stroke","uninstallPattern","undefined","call","x","y","push","last","length","i","seg","x1","y1","j","x2","y2","save","dx","dy","len","Math","sqrt","rot","atan2","translate","rotate","patternIndex","segment","restore","DygraphOptions","dygraph","dygraph_","yAxes_","xAxis_","series_","global_","attrs_","user_","user_attrs_","labels_","highlightSeries_","get","reparseSeries","AXIS_STRING_MAPPINGS_","Y","Y1","Y2","axisToIndex_","axis","hasOwnProperty","labels","slice","series","options","oldStyleSeries","axisId","idx","seriesName","optionsForSeries","yAxis","error","axis_opts","Dygraph","update","name","result","getGlobalUser_","getGlobalDefault_","DEFAULT_ATTRS","getForAxis","axisIdx","axisString","userAxis","axisOptions","defaultAxisOptions","axes","getForSeries","getHighlightSeries","seriesObj","seriesOptions","numAxes","axisForSeries","seriesForAxis","seriesNames","DygraphLayout","points","setNames","annotations","xTicks_","yTicks_","addDataset","setname","set_xy","getPlotArea","area_","computePlotArea","area","w","width_","getOption","h","height_","e","chart_div","graphDiv","reserveSpaceLeft","px","r","reserveSpaceRight","reserveSpaceTop","reserveSpaceBottom","chartRect","cascadeEvents_","setAnnotations","ann","parse","a","xval","icon","setXTicks","xTicks","setYAxes","yAxes","evaluate","_xAxis","_evaluateLimits","_evaluateLineCharts","_evaluateLineTicks","_evaluateAnnotations","xlimits","xAxisRange","minval","maxval","xrange","scale","getOptionForAxis","xlogrange","log10","xlogscale","minyval","computedValueRange","maxyval","yrange","yscale","ylogrange","ylogscale","isFinite","isNaN","g","calcXNormal_","value","xAxis","logscale","calcYNormal_","NaN","isStacked","isLogscaleForX","setIdx","setName","connectSeparated","axisPropertiesForSeries","attributes_","point","yval","y_stacked","yval_stacked","dataHandler_","onLineEvaluated","tick","label","pos","xticks","toPercentXCoord","v","yticks","ticks","toPercentYCoord","annotated_points","p","k","annotation","removeAllDatasets","setPointsLengths","setPointsOffsets","DygraphCanvasRenderer","element","elementContext","layout","height","width","isIE","isCanvasSupported","isUsingExcanvas_","_createIEClipArea","isAndroid","ctx","canvas_ctx_","rect","clip","hidden_ctx_","clear","context","clearDelay","cancel","clearRect","render","_updatePoints","_renderLineChart","createClipDiv","elem","document","createElement","className","style","backgroundColor","position","left","top","appendChild","childNodes","removeChild","bgColor","bgcolor","currentStyle","parentNode","plotArea","_getIteratorPredicate","connectSeparatedPoints","_predicateThatSkipsEmptyPoints","array","_drawStyledLine","color","strokeWidth","strokePattern","drawPoints","drawPointCallback","pointSize","stepPlot","getBooleanOption","isArrayLike","drawGapPoints","iter","createIterator","stroking","drawingContext","pointsOnLine","_drawSeries","_drawPointsOnLine","isIsolated","prevCanvasX","prevCanvasY","nextCanvasY","first","strokeStyle","lineWidth","arr","array_","limit","end_","predicate","predicate_","start_","canvasy","canvasx","nextIdx_","next","hasNext","peek","isNextCanvasYNullOrNaN","cb","sets","opt_seriesName","opt_ctx","colors","colorsMap_","plotter_attr","plotters","setPlotters","setPlotter","plotter","is_last","seriesIndex","seriesCount","singleSeriesName","allSeriesPoints","_Plotters","linePlotter","_linePlotter","fillPlotter","_fillPlotter","errorPlotter","_errorPlotter","borderWidth","getNumericOption","Circles","DEFAULT","errorBars","fillGraph","warn","newYs","fillAlpha","prevX","prevY","prevYs","rgb","toRGB_","err_color","b","fillStyle","isNullUndefinedOrNaN","y_bottom","y_top","closePath","fill","_fastCanvasProxy","pendingActions","lastRoundedX","lastFlushedX","LINE_TO","MOVE_TO","actionCount","compressActions","opt_losslessOnly","action","prevAction","splice","startIdx","minIdx","maxIdx","minAction","maxAction","flushActions","opt_noLossyCompression","addAction","rx","round","hasGapOnLeft","hasGapOnRight","hasGap","_count","getLabels","visibility","anySeriesFilled","currBaseline","prevStepPlot","setCount","stackedGraph","getColors","baseline","traceBackPath","baselineX","baselineY","pathBack","pt","axisY","last_x","is_first","FORCE_FAST_PROXY","isOK","lastY","div","data","opts","opt_fourth_param","is_initial_draw_","readyFns_","__old_init__","__init__","NAME","VERSION","__repr__","toString","DEFAULT_ROLL_PERIOD","DEFAULT_WIDTH","DEFAULT_HEIGHT","ANIMATION_STEPS","ANIMATION_DURATION","KMB_LABELS","KMG2_BIG_LABELS","KMG2_SMALL_LABELS","numberValueFormatter","sigFigs","floatFormat","digits","maxNumberWidth","kmb","kmg2","abs","pow","toExponential","round_","k_labels","m_labels","absx","n","x_parts","String","Number","toFixed","floor","numberAxisLabelFormatter","granularity","SHORT_MONTH_NAMES_","dateAxisLabelFormatter","date","utc","accessors","DateAccessorsUTC","DateAccessorsLocal","year","getFullYear","month","getMonth","day","getDate","hours","getHours","mins","getMinutes","secs","getSeconds","millis","DECADAL","MONTHLY","frac","DAILY","zeropad","hmsString_","dateAxisFormatter","dateValueFormatter","d","dateString_","Plotters","highlightCircleSize","highlightSeriesOpts","highlightSeriesBackgroundAlpha","labelsDivWidth","labelsDivStyles","labelsSeparateLines","labelsShowZeroValues","labelsKMB","labelsKMG2","showLabelsOnHighlight","digitsAfterDecimal","strokeBorderWidth","strokeBorderColor","axisTickSize","axisLabelFontSize","rightGap","showRoller","xValueParser","dateParser","delimiter","sigma","fractions","wilsonInterval","customBars","stackedGraphNaNFill","hideOverlayOnMouseOut","legend","avoidMinZero","xRangePad","yRangePad","drawAxesAtZero","titleHeight","xLabelHeight","yLabelWidth","drawXAxis","drawYAxis","axisLineColor","axisLineWidth","gridLineWidth","axisLabelColor","axisLabelWidth","drawYGrid","drawXGrid","gridLineColor","interactionModel","animatedZooms","showRangeSelector","rangeSelectorHeight","rangeSelectorPlotStrokeColor","rangeSelectorPlotFillColor","showInRangeSelector","plugins","pixelsPerLabel","axisLabelFormatter","valueFormatter","drawGrid","drawAxis","independentTicks","ticker","HORIZONTAL","VERTICAL","PLUGINS","addedAnnotationCSS","file","attrs","new_labels","test","navigator","userAgent","window","opera","readyState","self","setTimeout","mapLegacyOptions_","getElementById","maindiv_","file_","rollPeriod_","rollPeriod","previousVerticalX_","fractions_","dateWindow_","dateWindow","annotations_","zoomed_x_","zoomed_y_","innerHTML","clientHeight","clientWidth","updateDeep","boundaryIds_","setIndexByName_","datasetIndex_","registeredEvents_","eventListeners_","createInterface_","plugins_","concat","pluginInstance","Plugin","pluginDict","plugin","events","pluginOptions","handlers","activate","eventName","plugin_dict","callback","pair","createDragInterface_","extra_props","cancelable","defaultPrevented","preventDefault","propagationStopped","stopPropagation","callback_plugin_pairs","getPluginInstance_","type","isZoomed","maindiv","id","attr_","getStringOption","getFunctionOption","optionsViewForAxis_","opt","axes_","xAxisExtremes","pad","plotter_","numRows","rawData_","right","range","yAxisRange","yAxisRanges","ret","toDomCoords","toDomXCoord","toDomYCoord","xRange","pct","toDataCoords","toDataXCoord","toDataYCoord","logr0","logr1","exponent","LOG_SCALE","yRange","numColumns","getValue","row","col","enclosing","textAlign","canvas_","createCanvas","hidden_","createPlotKitCanvas_","getContext","resizeElements_","mouseEventElement_","createMouseEventElement_","layout_","mouseMoveHandler_","mouseMove_","mouseOutHandler_","target","fromElement","relatedTarget","toElement","isNodeContainedBy","mouseOut_","addAndTrackEvent","resizeHandler_","resize","canvasScale","getContextPixelRatio","hiddenScale","destroy","removeRecursive","node","hasChildNodes","firstChild","removeTrackedEvents_","removeEvent","nullOut","obj","canvas","filter","setColors_","num","colors_","sat","val","half","ceil","colorStr","hue","hsvToRGB","getPropertiesForSeries","series_name","column","visible","createRollInterface_","roller_","display","textAttr","zIndex","size","onchange","adjustRoll","isZooming","isPanning","is2DPan","dragStartX","dragStartY","dragEndX","dragEndY","dragDirection","prevEndX","prevEndY","prevDragDirection","cancelNextDblclick","initialLeftmostDate","xUnitsPerPixel","dateRange","py","boundedDates","boundedValues","tarp","IFrameTarp","initializeMouseDown","event","contextB","returnValue","cancelBubble","canvasPos","findPos","dragGetX_","dragGetY_","cover","draggingDate","draggingValue","dragValueRange","uncover","bindHandler","handler","willDestroyContextMyself","mouseUpHandler","drawZoomRect_","direction","startX","endX","startY","endY","prevDirection","min","fillRect","currentZoomRectArgs_","clearZoomRect_","doZoomX_","lowX","highX","minDate","maxDate","doZoomXDates_","old_window","new_window","that","doAnimatedZoom","doZoomY_","lowY","highY","oldValueRanges","newValueRanges","hi","low","zoomAnimationFunction","frame","numFrames","resetZoom","dirty","dirtyX","dirtyY","valueWindow","clearSelection","drawGraph_","oldWindow","newWindow","packed","gatherDatasets_","rolledSeries_","extremes","computeYAxisRanges_","valueRange","extremeRange","oldXRange","newXRange","oldYRanges","newYRanges","step","steps","windows","valueRanges","thisRange","repeatAndCleanup","getArea","eventToDomCoords","offsetX","offsetY","eventElementPos","pageX","pageY","findClosestRow","domX","minDistX","Infinity","closestRow","isValidPoint","dist","findClosestPoint","domY","closestPoint","closestSeries","minDist","findStackedPoint","boundary","getLeftBoundary_","rowIdx","p1","p2","p0","canvasCoords","selectionChanged","isSeriesLocked","closest","setSelection","lastx_","selPoints_","lastRow_","highlightSet_","animateSelection_","totalSteps","fadeLevel","animateId","start","updateSelection_","thisId","opt_animFraction","selectedRow","selectedX","selectedPoints","alpha","animateBackgroundFade","maxCircleSize","apply","circleSize","opt_locked","changed","setRow","pointIdx","lockedSet_","getSelection","loadedEvent_","parseCSV_","cascadeDataDidUpdateEvent_","predraw_","addXTicks_","xAxisOptionsView","getHandlerClass_","handlerClass","DataHandlers","FractionsBarsHandler","DefaultFractionHandler","CustomBarsHandler","ErrorBarsHandler","DefaultHandler","Date","computeYAxes_","extractSeries","rollingAverage","end","drawingTimeMs_","PointType","stackPoints_","cumulativeYval","seriesExtremes","fillMethod","lastXval","prevPoint","nextPoint","nextPointIdx","updateNextPoint","actualYval","stackedYval","rolledSeries","seriesIdx","sampleIdx","firstIdx","lastIdx","boundaryIds","num_series","high","correctedFirstIdx","isInvalidValue","correctedLastIdx","getExtremeYValues","seriesPoints","seriesToPoints","is_initial_draw","dataIdx","tmp_zoomed_x","renderGraph_","log","readyFired_","fn","valueWindows","index","idxCount","ypadCompat","span","ypad","p_axis","parseFloat","includeZero","extremeMinY","extremeMaxY","minY","maxY","max","maxAxisY","minAxisY","logpad","exp","y0","p_ticks","p_scale","tick_values","y_frac","y_val","detectTypeFromString_","str","isDate","dashPos","indexOf","setXAxisOptions_","dateTicker","numericTicks","vals","line_delimiter","detectLineDelimiter","lines","delim","xParser","line_no","defaultParserSet","expectedCols","outOfOrder","line","inFields","fields","parseFloat_","all_null","sort","parseArray_","num_labels","isDateLike","parsedData","clone","getTime","parseDataTable_","shortTextForAnnotationNum","shortText","fromCharCode","toLowerCase","cols","getNumberOfColumns","rows","getNumberOfRows","indepType","getColumnType","colIdx","annotationCols","hasAnnotations","getColumnLabel","text","getColumnRange","req","XMLHttpRequest","ActiveXObject","caller","onreadystatechange","status","responseText","open","send","updateOptions","input_attrs","block_redraw","requiresNewPoints","isPixelChangingOptionList","my_attrs","set","map","new_opt","resize_lock","old_width","old_height","setVisibility","suppressDraw","addAnnotationRule","indexFromSetName","ready","rule","styleSheetElement","getElementsByTagName","styleSheets","disabled","mysheet","insertRule","cssRules","addRule","err","exports","module","parseRGBA","rgbStr","bits","RGBA_RE","exec","parseInt","LN_TEN","DOTTED_LINE","DASHED_LINE","DOT_DASH_LINE","addEvent","addEventListener","attachEvent","removeEventListener","detachEvent","reg","cancelEvent","saturation","red","green","blue","f","q","t","curleft","curtop","offsetParent","copyObj","borderLeft","borderTop","getComputedStyle","computedStyle","offsetLeft","offsetTop","body","scrollLeft","scrollTop","de","documentElement","clientX","clientLeft","clientY","clientTop","opt_allowNaNY","opt_precision","toPrecision","getMilliseconds","getDay","makeDate","m","hh","mm","ss","ms","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","getUTCDay","UTC","time","places","shift","binarySearch","arry","validIndex","mid","dateStr","dateStrSlashed","search","dateStrToMillis","replace","substr","o","isNode","Node","nodeType","nodeName","typ","G_vmlCanvasManager","initElement","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","Iterator","nextIdx","found","opt_predicate","requestAnimFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","repeatFn","maxFrames","framePeriodInMillis","cleanupFn","previousFrameNumber","frameNumber","startTime","maxFrameArg","loop","currentTime","delayInMillis","frameDelta","predictOvershootStutter","pixelSafeOptions","annotationClickHandler","annotationDblClickHandler","annotationMouseOutHandler","annotationMouseOverHandler","clickCallback","drawCallback","drawHighlightPointCallback","highlightCallback","isZoomedIgnoreProgrammaticZoom","labelsDiv","panEdgeFraction","pixelsPerYLabel","pointClickCallback","underlayCallback","unhighlightCallback","zoomCallback","seriesNamesDictionary","scanFlatOptions","property","perSeries","radius","arc","PI","tarps","iframes","iframe","offsetWidth","offsetHeight","code","charAt","containee","container","containeeNode","base","opt_canvasElement","ie","appVersion","match","opt_line_no","opt_line","msg","GVizChart","draw","date_graph","selection_array","selection","DRAG_EDGE_MARGIN","Interaction","maybeTreatMouseOpAsClick","regionWidth","regionHeight","treatMouseOpAsClick","startPan","maxXPixelsToDraw","xExtremes","boundedLeftX","boundedRightX","boundedLeftDate","boundedRightDate","maxYPixelsToDraw","yExtremes","boundedTopY","boundedBottomY","boundedTopValue","boundedBottomValue","axis_data","initialTopValue","unitsPerPixel","movePan","pixelsDragged","unitsDragged","boundedValue","maxValue","minValue","endPan","startZoom","zoomMoved","moveZoom","xDelta","yDelta","selectedPoint","closestIdx","closestDistance","MAX_VALUE","distance","pts","endZoom","bottom","startTouch","touches","startTimeForDoubleTapMs","dataX","dataY","initialTouches","initialPinchCenter","touchDirections","initialAngle","initialRange","moveTouch","c_now","c_init","swipe","dataWidth","dataHeight","xScale","yScale","initHalfWidth","initHalfHeight","didZoom","viewWindow","endTouch","changedTouches","now","doubleTapX","screenX","doubleTapY","screenY","distanceFromInterval","distanceFromChart","chartPos","box","defaultModel","mousedown","button","altKey","shiftKey","mousemove","mouseup","touchstart","touchmove","touchend","dblclick","defaultInteractionModel","nonInteractiveModel_","dragIsPanInteractionModel","TickList","Ticker","numericLinearTicks","pixels","nonLogscaleOpts","tickV","nTicks","pixels_per_tick","PREFERRED_LOG_TICK_VALUES","lastDisplayed","tickValue","pixel_coord","reverse","mults","low_val","high_val","spacing","max_ticks","units_per_tick","base_power","base_scale","formatter","chosen","pickDateTickGranularity","getDateAxis","SECONDLY","TWO_SECONDLY","FIVE_SECONDLY","TEN_SECONDLY","THIRTY_SECONDLY","MINUTELY","TWO_MINUTELY","FIVE_MINUTELY","TEN_MINUTELY","THIRTY_MINUTELY","HOURLY","TWO_HOURLY","SIX_HOURLY","TWO_DAILY","WEEKLY","QUARTERLY","BIANNUAL","ANNUAL","CENTENNIAL","NUM_GRANULARITIES","DATEFIELD_Y","DATEFIELD_M","DATEFIELD_D","DATEFIELD_HH","DATEFIELD_MM","DATEFIELD_SS","DATEFIELD_MS","NUM_DATEFIELDS","TICK_PLACEMENT","datefield","power","mult","num_ticks","numDateTicks","start_time","end_time","dg","start_date","date_array","start_date_offset","df","tick_date","tick_time","Plugins","Annotations","clearChart","didDrawChart","detachLabels","containerDiv","annotationStyle","fontSize","overflow","bindEvt","classEventName","annotation_event","xToUsedHeight","tick_height","tickHeight","cssClass","img","src","createTextNode","divTop","attachAtBottom","title","borderColor","Axes","xlabels_","ylabels_","willDrawChart","removeArray","ary","el","halfUp","halfDown","canvasWidth","canvasHeight","makeLabelStyle","lineHeight","labelStyles","makeDiv","txt","prec_axis","labelStyle","inner_div","makeOptionGetter","option","num_axes","getOptions","sgn","getAxisOption","bottomTick","axisX","ChartLabels","chart_labels","title_div_","xlabel_div_","ylabel_div_","y2label_div_","createDivInRect","detachLabels_","els","createRotatedDiv","classes","html","transform","WebkitTransform","MozTransform","OTransform","msTransform","documentMode","class_div","title_rect","fontWeight","x_rect","y_rect","y2_rect","children","Grid","grid","strokeStyles","lineWidths","Legend","legend_div_","is_generated_div_","generateLegendDashHTML","divWidth","userLabelsDiv","messagestyle","background","one_em_width_","select","deselect","predraw","calculateEmWidthInDiv","sizeSpan","setAttribute","oneEmWidth","escapeHTML","xValue","legendMode","yAxisLabelWidth","leftLegend","topLegend","scrollX","innerWidth","generateLegendHTML","sel_points","sepLines","dash","xOptView","xvf","yOptViews","showZeros","highlightSeries","yOptView","fmtFunc","cls","paddingLeft","marginRight","strokePixelLength","segmentLoop","normalizedPattern","RangeSelector","rangeSelector","isIE_","hasTouchInterface_","isMobileDevice_","interfaceCreated_","getOption_","reserveSpace_","renderStaticLayer_","renderInteractiveLayer_","bgcanvas_","fgcanvas_","leftZoomHandle_","rightZoomHandle_","iePanOverlay_","opt_series","setDefaultOption_","createCanvases_","createIEPanOverlay_","createZoomHandles_","initInteraction_","addToGraph_","graphDiv_","removeFromGraph_","updateVisibility_","resize_","drawStaticLayer_","isChangingRange_","placeZoomHandles_","drawInteractiveLayer_","enabled","setElementRect","xAxisLabelHeight","canvasRect_","bgcanvas_ctx_","fgcanvas_ctx_","cursor","Image","border","cloneNode","toXDataWindow","onZoomStart","onZoom","onZoomEnd","doZoom","isMouseInPanZone","onPanStart","onPan","onPanEnd","doPan","onCanvasHover","onZoomHandleTouchEvent","onCanvasTouchEvent","addTouchEvents","topElem","clientXLast","handle","dynamic","zoomHandleStatus","xDataLimits","fact","xDataMin","leftHandlePos","xDataMax","rightHandlePos","srcElement","delX","newPos","getZoomHandleStatus_","halfHandleWidth","xDataWindow","getBoundingClientRect","leftHandleClientX","rightHandleClientX","rangeSize","targetTouches","types","dragStartEvent","drawMiniPlot_","ex","margin","combinedSeriesData","computeCombinedSeriesAndLimits_","yMax","yMin","xFact","yFact","dataPoint","lingrad","createLinearGradient","addColorStop","includeSeries","Array","anySet","include","dataHandler","combinedSeries","sum","count","yVal","extraPercent","yExtra","MIN_VALUE","xWindowLimits","leftPercent","rightPercent","leftCoord","rightCoord","handleTop","leftHandleCanvasPos","rightHandleCanvasPos","DataHandler","X","EXTRAS","rawData","boundaryIdStart","item","yraw","onPointsCreated_","computeYInterpolation_","deltaY","deltaX","gradient","growth","getIndexesInWindow_","logScale","originalData","num_ok","rollingData","den","BarsHandler","yval_minus","yval_plus","prev","variance","stddev","pm","denom"],"mappings":"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"} \ No newline at end of file