From a58b0b2ed51c6a34bfb42bf12f368e91df96deef Mon Sep 17 00:00:00 2001
From: jos
- Graph2d can be provided with two types of data:
+ Graph2d can be provided with two types of data:
- Like the items, groups are regular JavaScript Arrays and Objects.
- Using groups, items can be grouped together.
- Items are filtered per group, and displayed as individual graphs. Groups can contain the properties
- Groups can be applied to a timeline using the method
- Groups can have the following properties:
+ Groups can have the following properties:
';
}
}
@@ -11035,7 +11177,7 @@ return /******/ (function(modules) { // webpackBootstrap
for (var groupId in this.groups) {
if (this.groups.hasOwnProperty(groupId)) {
- if (this.groups[groupId].visible == true) {
+ if (this.groups[groupId].visible == true && (this.linegraphOptions.visibility[groupId] === undefined || this.linegraphOptions.visibility[groupId] == true)) {
this.groups[groupId].drawIcon(x, y, this.svgElements, this.svg, iconWidth, iconHeight);
y += iconHeight + this.options.iconSpacing;
}
@@ -11088,6 +11230,7 @@ return /******/ (function(modules) { // webpackBootstrap
style: 'line', // line, bar
barChart: {
width: 50,
+ handleOverlap: 'overlap',
align: 'center' // left, center, right
},
catmullRom: {
@@ -11105,7 +11248,11 @@ return /******/ (function(modules) { // webpackBootstrap
showMajorLabels: true,
icons: false,
width: '40px',
- visible: true
+ visible: true,
+ customRange: {
+ left: {min:undefined, max:undefined},
+ right: {min:undefined, max:undefined}
+ }
},
legend: {
enabled: false,
@@ -11118,6 +11265,9 @@ return /******/ (function(modules) { // webpackBootstrap
visible: true,
position: 'top-right' // top/bottom - left,right
}
+ },
+ groups: {
+ visibility: {}
}
};
@@ -11127,6 +11277,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.props = {};
this.hammer = null;
this.groups = {};
+ this.abortedGraphUpdate = false;
var me = this;
this.itemsData = null; // DataSet
@@ -11167,17 +11318,6 @@ return /******/ (function(modules) { // webpackBootstrap
this.setOptions(options);
this.groupsUsingDefaultStyles = [0];
- this.body.emitter.on("rangechange",function() {
- if (me.lastStart != 0) {
- var offset = me.body.range.start - me.lastStart;
- var range = me.body.range.end - me.body.range.start;
- if (me.width != 0) {
- var rangePerPixelInv = me.width/range;
- var xOffset = offset * rangePerPixelInv;
- me.svg.style.left = (-me.width - xOffset) + "px";
- }
- }
- });
this.body.emitter.on("rangechanged", function() {
me.lastStart = me.body.range.start;
me.svg.style.left = util.option.asSize(-me.width);
@@ -11208,15 +11348,15 @@ return /******/ (function(modules) { // webpackBootstrap
// data axis
this.options.dataAxis.orientation = 'left';
- this.yAxisLeft = new DataAxis(this.body, this.options.dataAxis, this.svg);
+ this.yAxisLeft = new DataAxis(this.body, this.options.dataAxis, this.svg, this.options.groups);
this.options.dataAxis.orientation = 'right';
- this.yAxisRight = new DataAxis(this.body, this.options.dataAxis, this.svg);
+ this.yAxisRight = new DataAxis(this.body, this.options.dataAxis, this.svg, this.options.groups);
delete this.options.dataAxis.orientation;
// legends
- this.legendLeft = new Legend(this.body, this.options.legend, 'left');
- this.legendRight = new Legend(this.body, this.options.legend, 'right');
+ this.legendLeft = new Legend(this.body, this.options.legend, 'left', this.options.groups);
+ this.legendRight = new Legend(this.body, this.options.legend, 'right', this.options.groups);
this.show();
};
@@ -11227,7 +11367,7 @@ return /******/ (function(modules) { // webpackBootstrap
*/
LineGraph.prototype.setOptions = function(options) {
if (options) {
- var fields = ['sampling','defaultGroup','graphHeight','yAxisOrientation','style','barChart','dataAxis','sort'];
+ var fields = ['sampling','defaultGroup','graphHeight','yAxisOrientation','style','barChart','dataAxis','sort','groups'];
util.selectiveDeepExtend(fields, this.options, options);
util.mergeOptions(this.options, options,'catmullRom');
util.mergeOptions(this.options, options,'drawPoints');
@@ -11389,7 +11529,11 @@ return /******/ (function(modules) { // webpackBootstrap
};
-
+ /**
+ * Update the datapoints
+ * @param [ids]
+ * @private
+ */
LineGraph.prototype._onUpdate = function(ids) {
this._updateUngrouped();
this._updateAllGroupData();
@@ -11467,7 +11611,8 @@ return /******/ (function(modules) { // webpackBootstrap
LineGraph.prototype._updateAllGroupData = function () {
if (this.itemsData != null) {
var groupsContent = {};
- for (var groupId in this.groups) {
+ var groupId;
+ for (groupId in this.groups) {
if (this.groups.hasOwnProperty(groupId)) {
groupsContent[groupId] = [];
}
@@ -11479,7 +11624,7 @@ return /******/ (function(modules) { // webpackBootstrap
groupsContent[item.group].push(item);
}
}
- for (var groupId in this.groups) {
+ for (groupId in this.groups) {
if (this.groups.hasOwnProperty(groupId)) {
this.groups[groupId].setItems(groupsContent[groupId]);
}
@@ -11517,20 +11662,6 @@ return /******/ (function(modules) { // webpackBootstrap
}
}
- // much much slower
- // var datapoints = this.itemsData.get({
- // filter: function (item) {return item.group === undefined;},
- // showInternalIds:true
- // });
- // if (datapoints.length > 0) {
- // var updateQuery = [];
- // for (var i = 0; i < datapoints.length; i++) {
- // updateQuery.push({id:datapoints[i].id, group: UNGROUPED});
- // }
- // this.itemsData.update(updateQuery, true);
- // }
- // var t1 = new Date();
- // var pointInUNGROUPED = this.itemsData.get({filter: function (item) {return item.group == UNGROUPED;}});
if (ungroupedCounter == 0) {
delete this.groups[UNGROUPED];
this.legendLeft.removeGroup(UNGROUPED);
@@ -11538,8 +11669,6 @@ return /******/ (function(modules) { // webpackBootstrap
this.yAxisLeft.removeGroup(UNGROUPED);
this.yAxisRight.removeGroup(UNGROUPED);
}
- // console.log("getting amount ungrouped",new Date() - t1);
- // console.log("putting in ungrouped",new Date() - t0);
}
else {
delete this.groups[UNGROUPED];
@@ -11582,9 +11711,23 @@ return /******/ (function(modules) { // webpackBootstrap
this.svg.style.width = util.option.asSize(3*this.width);
this.svg.style.left = util.option.asSize(-this.width);
}
- if (zoomed == true) {
+
+ if (zoomed == true || this.abortedGraphUpdate == true) {
this._updateGraph();
}
+ else {
+ // move the whole svg while dragging
+ if (this.lastStart != 0) {
+ var offset = this.body.range.start - this.lastStart;
+ var range = this.body.range.end - this.body.range.start;
+ if (this.width != 0) {
+ var rangePerPixelInv = this.width/range;
+ var xOffset = offset * rangePerPixelInv;
+ this.svg.style.left = (-this.width - xOffset) + "px";
+ }
+ }
+
+ }
this.legendLeft.redraw();
this.legendRight.redraw();
@@ -11599,117 +11742,248 @@ return /******/ (function(modules) { // webpackBootstrap
LineGraph.prototype._updateGraph = function () {
// reset the svg elements
DOMutil.prepareElements(this.svgElements);
-
if (this.width != 0 && this.itemsData != null) {
- var group, groupData, preprocessedGroup, i;
- var preprocessedGroupData = [];
- var processedGroupData = [];
- var groupRanges = [];
+ var group, i;
+ var preprocessedGroupData = {};
+ var processedGroupData = {};
+ var groupRanges = {};
var changeCalled = false;
// getting group Ids
var groupIds = [];
for (var groupId in this.groups) {
if (this.groups.hasOwnProperty(groupId)) {
- groupIds.push(groupId);
+ group = this.groups[groupId];
+ if (group.visible == true && (this.options.groups.visibility[groupId] === undefined || this.options.groups.visibility[groupId] == true)) {
+ groupIds.push(groupId);
+ }
}
}
-
- // this is the range of the SVG canvas
- var minDate = this.body.util.toGlobalTime(- this.body.domProps.root.width);
- var maxDate = this.body.util.toGlobalTime(2 * this.body.domProps.root.width);
-
- // first select and preprocess the data from the datasets.
- // the groups have their preselection of data, we now loop over this data to see
- // what data we need to draw. Sorted data is much faster.
- // more optimization is possible by doing the sampling before and using the binary search
- // to find the end date to determine the increment.
if (groupIds.length > 0) {
+ // this is the range of the SVG canvas
+ var minDate = this.body.util.toGlobalTime(- this.body.domProps.root.width);
+ var maxDate = this.body.util.toGlobalTime(2 * this.body.domProps.root.width);
+ var groupsData = {};
+ // fill groups data
+ this._getRelevantData(groupIds, groupsData, minDate, maxDate);
+ // we transform the X coordinates to detect collisions
for (i = 0; i < groupIds.length; i++) {
- group = this.groups[groupIds[i]];
- if (group.visible == true) {
- groupData = [];
- // optimization for sorted data
- if (group.options.sort == true) {
- var guess = Math.max(0,util.binarySearchGeneric(group.itemsData, minDate, 'x', 'before'));
-
- for (var j = guess; j < group.itemsData.length; j++) {
- var item = group.itemsData[j];
- if (item !== undefined) {
- if (item.x > maxDate) {
- groupData.push(item);
- break;
- }
- else {
- groupData.push(item);
- }
- }
- }
- }
- else {
- for (var j = 0; j < group.itemsData.length; j++) {
- var item = group.itemsData[j];
- if (item !== undefined) {
- if (item.x > minDate && item.x < maxDate) {
- groupData.push(item);
- }
- }
- }
- }
- // preprocess, split into ranges and data
- if (groupData.length > 0) {
- preprocessedGroup = this._preprocessData(groupData, group);
- groupRanges.push({min: preprocessedGroup.min, max: preprocessedGroup.max});
- preprocessedGroupData.push(preprocessedGroup.data);
- }
- else {
- groupRanges.push({});
- preprocessedGroupData.push([]);
- }
- }
- else {
- groupRanges.push({});
- preprocessedGroupData.push([]);
- }
+ preprocessedGroupData[groupIds[i]] = this._convertXcoordinates(groupsData[groupIds[i]]);
}
+ // now all needed data has been collected we start the processing.
+ this._getYRanges(groupIds, preprocessedGroupData, groupRanges);
// update the Y axis first, we use this data to draw at the correct Y points
// changeCalled is required to clean the SVG on a change emit.
changeCalled = this._updateYAxis(groupIds, groupRanges);
if (changeCalled == true) {
DOMutil.cleanupElements(this.svgElements);
+ this.abortedGraphUpdate = true;
this.body.emitter.emit("change");
return;
}
+ this.abortedGraphUpdate = false;
- // with the yAxis scaled correctly, use this to get the Y values of the points.
+ // With the yAxis scaled correctly, use this to get the Y values of the points.
for (i = 0; i < groupIds.length; i++) {
group = this.groups[groupIds[i]];
- processedGroupData.push(this._convertYvalues(preprocessedGroupData[i],group))
+ processedGroupData[groupIds[i]] = this._convertYcoordinates(groupsData[groupIds[i]], group);
}
+
// draw the groups
for (i = 0; i < groupIds.length; i++) {
group = this.groups[groupIds[i]];
- if (group.visible == true) {
- if (group.options.style == 'line') {
- this._drawLineGraph(processedGroupData[i], group);
+ if (group.options.style == 'line') {
+ this._drawLineGraph(processedGroupData[groupIds[i]], group);
+ }
+ }
+ this._drawBarGraphs(groupIds, processedGroupData);
+ }
+ }
+
+ // cleanup unused svg elements
+ DOMutil.cleanupElements(this.svgElements);
+ };
+
+
+ LineGraph.prototype._getRelevantData = function (groupIds, groupsData, minDate, maxDate) {
+ // first select and preprocess the data from the datasets.
+ // the groups have their preselection of data, we now loop over this data to see
+ // what data we need to draw. Sorted data is much faster.
+ // more optimization is possible by doing the sampling before and using the binary search
+ // to find the end date to determine the increment.
+ var group, i, j, item;
+ if (groupIds.length > 0) {
+ for (i = 0; i < groupIds.length; i++) {
+ group = this.groups[groupIds[i]];
+ groupsData[groupIds[i]] = [];
+ var dataContainer = groupsData[groupIds[i]];
+ // optimization for sorted data
+ if (group.options.sort == true) {
+ var guess = Math.max(0, util.binarySearchGeneric(group.itemsData, minDate, 'x', 'before'));
+ for (j = guess; j < group.itemsData.length; j++) {
+ item = group.itemsData[j];
+ if (item !== undefined) {
+ if (item.x > maxDate) {
+ dataContainer.push(item);
+ break;
+ }
+ else {
+ dataContainer.push(item);
+ }
+ }
+ }
+ }
+ else {
+ for (j = 0; j < group.itemsData.length; j++) {
+ item = group.itemsData[j];
+ if (item !== undefined) {
+ if (item.x > minDate && item.x < maxDate) {
+ dataContainer.push(item);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ this._applySampling(groupIds, groupsData);
+ };
+
+ LineGraph.prototype._applySampling = function (groupIds, groupsData) {
+ var group;
+ if (groupIds.length > 0) {
+ for (var i = 0; i < groupIds.length; i++) {
+ group = this.groups[groupIds[i]];
+ if (group.options.sampling == true) {
+ var dataContainer = groupsData[groupIds[i]];
+ if (dataContainer.length > 0) {
+ var increment = 1;
+ var amountOfPoints = dataContainer.length;
+
+ // the global screen is used because changing the width of the yAxis may affect the increment, resulting in an endless loop
+ // of width changing of the yAxis.
+ var xDistance = this.body.util.toGlobalScreen(dataContainer[dataContainer.length - 1].x) - this.body.util.toGlobalScreen(dataContainer[0].x);
+ var pointsPerPixel = amountOfPoints / xDistance;
+ increment = Math.min(Math.ceil(0.2 * amountOfPoints), Math.max(1, Math.round(pointsPerPixel)));
+
+ var sampledData = [];
+ for (var j = 0; j < amountOfPoints; j += increment) {
+ sampledData.push(dataContainer[j]);
+
+ }
+ groupsData[groupIds[i]] = sampledData;
+ }
+ }
+ }
+ }
+ };
+
+ LineGraph.prototype._getYRanges = function (groupIds, groupsData, groupRanges) {
+ var groupData, group, i,j;
+ var barCombinedDataLeft = [];
+ var barCombinedDataRight = [];
+ var barCombinedData;
+ if (groupIds.length > 0) {
+ for (i = 0; i < groupIds.length; i++) {
+ groupData = groupsData[groupIds[i]];
+ if (groupData.length > 0) {
+ group = this.groups[groupIds[i]];
+ if (group.options.style == 'line' || group.options.barChart.handleOverlap != "stack") {
+ var yMin = groupData[0].y;
+ var yMax = groupData[0].y;
+ for (j = 0; j < groupData.length; j++) {
+ yMin = yMin > groupData[j].y ? groupData[j].y : yMin;
+ yMax = yMax < groupData[j].y ? groupData[j].y : yMax;
+ }
+ groupRanges[groupIds[i]] = {min: yMin, max: yMax, yAxisOrientation: group.options.yAxisOrientation};
+ }
+ else if (group.options.style == 'bar') {
+ if (group.options.yAxisOrientation == 'left') {
+ barCombinedData = barCombinedDataLeft;
}
else {
- this._drawBarGraph (processedGroupData[i], group);
+ barCombinedData = barCombinedDataRight;
+ }
+
+ groupRanges[groupIds[i]] = {min: 0, max: 0, yAxisOrientation: group.options.yAxisOrientation, ignore: true};
+
+ // combine data
+ for (j = 0; j < groupData.length; j++) {
+ barCombinedData.push({
+ x: groupData[j].x,
+ y: groupData[j].y,
+ groupId: groupIds[i]
+ });
}
}
}
}
+
+ var intersections;
+ if (barCombinedDataLeft.length > 0) {
+ // sort by time and by group
+ barCombinedDataLeft.sort(function (a, b) {
+ if (a.x == b.x) {
+ return a.groupId - b.groupId;
+ } else {
+ return a.x - b.x;
+ }
+ });
+ intersections = {};
+ this._getDataIntersections(intersections, barCombinedDataLeft);
+ groupRanges["__barchartLeft"] = this._getStackedBarYRange(intersections, barCombinedDataLeft);
+ groupRanges["__barchartLeft"].yAxisOrientation = "left";
+ groupIds.push("__barchartLeft");
+ }
+ if (barCombinedDataRight.length > 0) {
+ // sort by time and by group
+ barCombinedDataRight.sort(function (a, b) {
+ if (a.x == b.x) {
+ return a.groupId - b.groupId;
+ } else {
+ return a.x - b.x;
+ }
+ });
+ intersections = {};
+ this._getDataIntersections(intersections, barCombinedDataRight);
+ groupRanges["__barchartRight"] = this._getStackedBarYRange(intersections, barCombinedDataRight);
+ groupRanges["__barchartRight"].yAxisOrientation = "right";
+ groupIds.push("__barchartRight");
+ }
}
+ };
- // cleanup unused svg elements
- DOMutil.cleanupElements(this.svgElements);
+ LineGraph.prototype._getStackedBarYRange = function (intersections, combinedData) {
+ var key;
+ var yMin = combinedData[0].y;
+ var yMax = combinedData[0].y;
+ for (var i = 0; i < combinedData.length; i++) {
+ key = combinedData[i].x;
+ if (intersections[key] === undefined) {
+ yMin = yMin > combinedData[i].y ? combinedData[i].y : yMin;
+ yMax = yMax < combinedData[i].y ? combinedData[i].y : yMax;
+ }
+ else {
+ intersections[key].accumulated += combinedData[i].y;
+ }
+ }
+ for (var xpos in intersections) {
+ if (intersections.hasOwnProperty(xpos)) {
+ yMin = yMin > intersections[xpos].accumulated ? intersections[xpos].accumulated : yMin;
+ yMax = yMax < intersections[xpos].accumulated ? intersections[xpos].accumulated : yMax;
+ }
+ }
+
+ return {min: yMin, max: yMax};
};
+
/**
* this sets the Y ranges for the Y axis. It also determines which of the axis should be shown or hidden.
- * @param {array} groupIds
+ * @param {Array} groupIds
+ * @param {Object} groupRanges
* @private
*/
LineGraph.prototype._updateYAxis = function (groupIds, groupRanges) {
@@ -11717,33 +11991,28 @@ return /******/ (function(modules) { // webpackBootstrap
var yAxisLeftUsed = false;
var yAxisRightUsed = false;
var minLeft = 1e9, minRight = 1e9, maxLeft = -1e9, maxRight = -1e9, minVal, maxVal;
- var orientation = 'left';
-
// if groups are present
if (groupIds.length > 0) {
for (var i = 0; i < groupIds.length; i++) {
- orientation = 'left';
- var group = this.groups[groupIds[i]];
- if (group.visible == true) {
- if (group.options.yAxisOrientation == 'right') {
- orientation = 'right';
- }
-
- minVal = groupRanges[i].min;
- maxVal = groupRanges[i].max;
-
- if (orientation == 'left') {
- yAxisLeftUsed = true;
- minLeft = minLeft > minVal ? minVal : minLeft;
- maxLeft = maxLeft < maxVal ? maxVal : maxLeft;
- }
- else {
- yAxisRightUsed = true;
- minRight = minRight > minVal ? minVal : minRight;
- maxRight = maxRight < maxVal ? maxVal : maxRight;
+ if (groupRanges.hasOwnProperty(groupIds[i])) {
+ if (groupRanges[groupIds[i]].ignore !== true) {
+ minVal = groupRanges[groupIds[i]].min;
+ maxVal = groupRanges[groupIds[i]].max;
+
+ if (groupRanges[groupIds[i]].yAxisOrientation == 'left') {
+ yAxisLeftUsed = true;
+ minLeft = minLeft > minVal ? minVal : minLeft;
+ maxLeft = maxLeft < maxVal ? maxVal : maxLeft;
+ }
+ else {
+ yAxisRightUsed = true;
+ minRight = minRight > minVal ? minVal : minRight;
+ maxRight = maxRight < maxVal ? maxVal : maxRight;
+ }
}
}
}
+
if (yAxisLeftUsed == true) {
this.yAxisLeft.setRange(minLeft, maxLeft);
}
@@ -11777,6 +12046,15 @@ return /******/ (function(modules) { // webpackBootstrap
else {
changeCalled = this.yAxisRight.redraw() || changeCalled;
}
+
+ // clean the accumulated lists
+ if (groupIds.indexOf("__barchartLeft") != -1) {
+ groupIds.splice(groupIds.indexOf("__barchartLeft"),1);
+ }
+ if (groupIds.indexOf("__barchartRight") != -1) {
+ groupIds.splice(groupIds.indexOf("__barchartRight"),1);
+ }
+
return changeCalled;
};
@@ -11808,42 +12086,156 @@ return /******/ (function(modules) { // webpackBootstrap
/**
* draw a bar graph
- * @param datapoints
- * @param group
- */
- LineGraph.prototype._drawBarGraph = function (dataset, group) {
- if (dataset != null) {
- if (dataset.length > 0) {
- var coreDistance;
- var minWidth = 0.1 * group.options.barChart.width;
- var offset = 0;
- var width = group.options.barChart.width;
+ *
+ * @param groupIds
+ * @param processedGroupData
+ */
+ LineGraph.prototype._drawBarGraphs = function (groupIds, processedGroupData) {
+ var combinedData = [];
+ var intersections = {};
+ var coreDistance;
+ var key, drawData;
+ var group;
+ var i,j;
+ var barPoints = 0;
+
+ // combine all barchart data
+ for (i = 0; i < groupIds.length; i++) {
+ group = this.groups[groupIds[i]];
+ if (group.options.style == 'bar') {
+ if (group.visible == true && (this.options.groups.visibility[groupIds[i]] === undefined || this.options.groups.visibility[groupIds[i]] == true)) {
+ for (j = 0; j < processedGroupData[groupIds[i]].length; j++) {
+ combinedData.push({
+ x: processedGroupData[groupIds[i]][j].x,
+ y: processedGroupData[groupIds[i]][j].y,
+ groupId: groupIds[i]
+ });
+ barPoints += 1;
+ }
+ }
+ }
+ }
- if (group.options.barChart.align == 'left') {offset -= 0.5*width;}
- else if (group.options.barChart.align == 'right') {offset += 0.5*width;}
+ if (barPoints == 0) {return;}
- for (var i = 0; i < dataset.length; i++) {
- // dynammically downscale the width so there is no overlap up to 1/10th the original width
- if (i+1 < dataset.length) {coreDistance = Math.abs(dataset[i+1].x - dataset[i].x);}
- if (i > 0) {coreDistance = Math.min(coreDistance,Math.abs(dataset[i-1].x - dataset[i].x));}
- if (coreDistance < width) {width = coreDistance < minWidth ? minWidth : coreDistance;}
+ // sort by time and by group
+ combinedData.sort(function (a, b) {
+ if (a.x == b.x) {
+ return a.groupId - b.groupId;
+ } else {
+ return a.x - b.x;
+ }
+ });
+
+ // get intersections
+ this._getDataIntersections(intersections, combinedData);
- DOMutil.drawBar(dataset[i].x + offset, dataset[i].y, width, group.zeroPosition - dataset[i].y, group.className + ' bar', this.svgElements, this.svg);
+ // plot barchart
+ for (i = 0; i < combinedData.length; i++) {
+ group = this.groups[combinedData[i].groupId];
+ var minWidth = 0.1 * group.options.barChart.width;
+
+ key = combinedData[i].x;
+ var heightOffset = 0;
+ if (intersections[key] === undefined) {
+ if (i+1 < combinedData.length) {coreDistance = Math.abs(combinedData[i+1].x - key);}
+ if (i > 0) {coreDistance = Math.min(coreDistance,Math.abs(combinedData[i-1].x - key));}
+ drawData = this._getSafeDrawData(coreDistance, group, minWidth);
+ }
+ else {
+ var nextKey = i + (intersections[key].amount - intersections[key].resolved);
+ var prevKey = i - (intersections[key].resolved + 1);
+ if (nextKey < combinedData.length) {coreDistance = Math.abs(combinedData[nextKey].x - key);}
+ if (prevKey > 0) {coreDistance = Math.min(coreDistance,Math.abs(combinedData[prevKey].x - key));}
+ drawData = this._getSafeDrawData(coreDistance, group, minWidth);
+ intersections[key].resolved += 1;
+
+ if (group.options.barChart.handleOverlap == 'stack') {
+ heightOffset = intersections[key].accumulated;
+ intersections[key].accumulated += group.zeroPosition - combinedData[i].y;
+ }
+ else if (group.options.barChart.handleOverlap == 'sideBySide') {
+ drawData.width = drawData.width / intersections[key].amount;
+ drawData.offset += (intersections[key].resolved) * drawData.width - (0.5*drawData.width * (intersections[key].amount+1));
+ if (group.options.barChart.align == 'left') {drawData.offset -= 0.5*drawData.width;}
+ else if (group.options.barChart.align == 'right') {drawData.offset += 0.5*drawData.width;}
}
+ }
+ DOMutil.drawBar(combinedData[i].x + drawData.offset, combinedData[i].y - heightOffset, drawData.width, group.zeroPosition - combinedData[i].y, group.className + ' bar', this.svgElements, this.svg);
+ // draw points
+ if (group.options.drawPoints.enabled == true) {
+ DOMutil.drawPoint(combinedData[i].x + drawData.offset, combinedData[i].y - heightOffset, group, this.svgElements, this.svg);
+ }
+ }
+ };
- // draw points
- if (group.options.drawPoints.enabled == true) {
- this._drawPoints(dataset, group, this.svgElements, this.svg, offset);
+ /**
+ * Fill the intersections object with counters of how many datapoints share the same x coordinates
+ * @param intersections
+ * @param combinedData
+ * @private
+ */
+ LineGraph.prototype._getDataIntersections = function (intersections, combinedData) {
+ // get intersections
+ var coreDistance;
+ for (var i = 0; i < combinedData.length; i++) {
+ if (i + 1 < combinedData.length) {
+ coreDistance = Math.abs(combinedData[i + 1].x - combinedData[i].x);
+ }
+ if (i > 0) {
+ coreDistance = Math.min(coreDistance, Math.abs(combinedData[i - 1].x - combinedData[i].x));
+ }
+ if (coreDistance == 0) {
+ if (intersections[combinedData[i].x] === undefined) {
+ intersections[combinedData[i].x] = {amount: 0, resolved: 0, accumulated: 0};
}
+ intersections[combinedData[i].x].amount += 1;
}
}
};
+ /**
+ * Get the width and offset for bargraphs based on the coredistance between datapoints
+ *
+ * @param coreDistance
+ * @param group
+ * @param minWidth
+ * @returns {{width: Number, offset: Number}}
+ * @private
+ */
+ LineGraph.prototype._getSafeDrawData = function (coreDistance, group, minWidth) {
+ var width, offset;
+ if (coreDistance < group.options.barChart.width && coreDistance > 0) {
+ width = coreDistance < minWidth ? minWidth : coreDistance;
+
+ offset = 0; // recalculate offset with the new width;
+ if (group.options.barChart.align == 'left') {
+ offset -= 0.5 * coreDistance;
+ }
+ else if (group.options.barChart.align == 'right') {
+ offset += 0.5 * coreDistance;
+ }
+ }
+ else {
+ // default settings
+ width = group.options.barChart.width;
+ offset = 0;
+ if (group.options.barChart.align == 'left') {
+ offset -= 0.5 * group.options.barChart.width;
+ }
+ else if (group.options.barChart.align == 'right') {
+ offset += 0.5 * group.options.barChart.width;
+ }
+ }
+
+ return {width: width, offset: offset};
+ };
+
/**
* draw a line graph
*
- * @param datapoints
+ * @param dataset
* @param group
*/
LineGraph.prototype._drawLineGraph = function (dataset, group) {
@@ -11889,10 +12281,11 @@ return /******/ (function(modules) { // webpackBootstrap
/**
* draw the data points
*
- * @param dataset
- * @param JSONcontainer
- * @param svg
- * @param group
+ * @param {Array} dataset
+ * @param {Object} JSONcontainer
+ * @param {Object} svg | SVG DOM element
+ * @param {GraphGroup} group
+ * @param {Number} [offset]
*/
LineGraph.prototype._drawPoints = function (dataset, group, JSONcontainer, svg, offset) {
if (offset === undefined) {offset = 0;}
@@ -11912,69 +12305,52 @@ return /******/ (function(modules) { // webpackBootstrap
* @returns {Array}
* @private
*/
- LineGraph.prototype._preprocessData = function (datapoints, group) {
+ LineGraph.prototype._convertXcoordinates = function (datapoints) {
var extractedData = [];
var xValue, yValue;
var toScreen = this.body.util.toScreen;
- var increment = 1;
- var amountOfPoints = datapoints.length;
-
- var yMin = datapoints[0].y;
- var yMax = datapoints[0].y;
-
- // the global screen is used because changing the width of the yAxis may affect the increment, resulting in an endless loop
- // of width changing of the yAxis.
- if (group.options.sampling == true) {
- var xDistance = this.body.util.toGlobalScreen(datapoints[datapoints.length-1].x) - this.body.util.toGlobalScreen(datapoints[0].x);
- var pointsPerPixel = amountOfPoints/xDistance;
- increment = Math.min(Math.ceil(0.2 * amountOfPoints), Math.max(1,Math.round(pointsPerPixel)));
- }
-
- for (var i = 0; i < amountOfPoints; i += increment) {
+ for (var i = 0; i < datapoints.length; i++) {
xValue = toScreen(datapoints[i].x) + this.width - 1;
yValue = datapoints[i].y;
extractedData.push({x: xValue, y: yValue});
- yMin = yMin > yValue ? yValue : yMin;
- yMax = yMax < yValue ? yValue : yMax;
}
- // extractedData.sort(function (a,b) {return a.x - b.x;});
- return {min: yMin, max: yMax, data: extractedData};
+ return extractedData;
};
+
+
/**
- * This uses the DataAxis object to generate the correct Y coordinate on the SVG window. It uses the
- * util function toScreen to get the x coordinate from the timestamp.
+ * This uses the DataAxis object to generate the correct X coordinate on the SVG window. It uses the
+ * util function toScreen to get the x coordinate from the timestamp. It also pre-filters the data and get the minMax ranges for
+ * the yAxis.
*
* @param datapoints
- * @param options
* @returns {Array}
* @private
*/
- LineGraph.prototype._convertYvalues = function (datapoints, group) {
+ LineGraph.prototype._convertYcoordinates = function (datapoints, group) {
var extractedData = [];
var xValue, yValue;
+ var toScreen = this.body.util.toScreen;
var axis = this.yAxisLeft;
var svgHeight = Number(this.svg.style.height.replace("px",""));
-
if (group.options.yAxisOrientation == 'right') {
axis = this.yAxisRight;
}
for (var i = 0; i < datapoints.length; i++) {
- xValue = datapoints[i].x;
+ xValue = toScreen(datapoints[i].x) + this.width - 1;
yValue = Math.round(axis.convertValue(datapoints[i].y));
extractedData.push({x: xValue, y: yValue});
}
group.setZeroPosition(Math.min(svgHeight, axis.convertValue(0)));
- // extractedData.sort(function (a,b) {return a.x - b.x;});
return extractedData;
};
-
/**
* This uses an uniform parametrization of the CatmullRom algorithm:
* "On the Parameterization of Catmull-Rom Curves" by Cem Yuksel et al.
@@ -12130,6 +12506,7 @@ return /******/ (function(modules) { // webpackBootstrap
var util = __webpack_require__(1);
var Component = __webpack_require__(18);
var TimeStep = __webpack_require__(17);
+ var moment = __webpack_require__(40);
/**
* A horizontal time axis
@@ -12192,6 +12569,18 @@ return /******/ (function(modules) { // webpackBootstrap
if (options) {
// copy all options that we know
util.selectiveExtend(['orientation', 'showMinorLabels', 'showMajorLabels'], this.options, options);
+
+ // apply locale to moment.js
+ // TODO: not so nice, this is applied globally to moment.js
+ if ('locale' in options) {
+ if (typeof moment.locale === 'function') {
+ // moment.js 2.8.1+
+ moment.locale(options.locale);
+ }
+ else {
+ moment.lang(options.locale);
+ }
+ }
}
};
@@ -12528,7 +12917,156 @@ return /******/ (function(modules) { // webpackBootstrap
/* 28 */
/***/ function(module, exports, __webpack_require__) {
- var Item = __webpack_require__(29);
+ var Hammer = __webpack_require__(41);
+
+ /**
+ * @constructor Item
+ * @param {Object} data Object containing (optional) parameters type,
+ * start, end, content, group, className.
+ * @param {{toScreen: function, toTime: function}} conversion
+ * Conversion functions from time to screen and vice versa
+ * @param {Object} options Configuration options
+ * // TODO: describe available options
+ */
+ function Item (data, conversion, options) {
+ this.id = null;
+ this.parent = null;
+ this.data = data;
+ this.dom = null;
+ this.conversion = conversion || {};
+ this.options = options || {};
+
+ this.selected = false;
+ this.displayed = false;
+ this.dirty = true;
+
+ this.top = null;
+ this.left = null;
+ this.width = null;
+ this.height = null;
+ }
+
+ /**
+ * Select current item
+ */
+ Item.prototype.select = function() {
+ this.selected = true;
+ if (this.displayed) this.redraw();
+ };
+
+ /**
+ * Unselect current item
+ */
+ Item.prototype.unselect = function() {
+ this.selected = false;
+ if (this.displayed) this.redraw();
+ };
+
+ /**
+ * Set a parent for the item
+ * @param {ItemSet | Group} parent
+ */
+ Item.prototype.setParent = function(parent) {
+ if (this.displayed) {
+ this.hide();
+ this.parent = parent;
+ if (this.parent) {
+ this.show();
+ }
+ }
+ else {
+ this.parent = parent;
+ }
+ };
+
+ /**
+ * Check whether this item is visible inside given range
+ * @returns {{start: Number, end: Number}} range with a timestamp for start and end
+ * @returns {boolean} True if visible
+ */
+ Item.prototype.isVisible = function(range) {
+ // Should be implemented by Item implementations
+ return false;
+ };
+
+ /**
+ * Show the Item in the DOM (when not already visible)
+ * @return {Boolean} changed
+ */
+ Item.prototype.show = function() {
+ return false;
+ };
+
+ /**
+ * Hide the Item from the DOM (when visible)
+ * @return {Boolean} changed
+ */
+ Item.prototype.hide = function() {
+ return false;
+ };
+
+ /**
+ * Repaint the item
+ */
+ Item.prototype.redraw = function() {
+ // should be implemented by the item
+ };
+
+ /**
+ * Reposition the Item horizontally
+ */
+ Item.prototype.repositionX = function() {
+ // should be implemented by the item
+ };
+
+ /**
+ * Reposition the Item vertically
+ */
+ Item.prototype.repositionY = function() {
+ // should be implemented by the item
+ };
+
+ /**
+ * Repaint a delete button on the top right of the item when the item is selected
+ * @param {HTMLElement} anchor
+ * @protected
+ */
+ Item.prototype._repaintDeleteButton = function (anchor) {
+ if (this.selected && this.options.editable.remove && !this.dom.deleteButton) {
+ // create and show button
+ var me = this;
+
+ var deleteButton = document.createElement('div');
+ deleteButton.className = 'delete';
+ deleteButton.title = 'Delete this item';
+
+ Hammer(deleteButton, {
+ preventDefault: true
+ }).on('tap', function (event) {
+ me.parent.removeFromDataSet(me);
+ event.stopPropagation();
+ });
+
+ anchor.appendChild(deleteButton);
+ this.dom.deleteButton = deleteButton;
+ }
+ else if (!this.selected && this.dom.deleteButton) {
+ // remove button
+ if (this.dom.deleteButton.parentNode) {
+ this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton);
+ }
+ this.dom.deleteButton = null;
+ }
+ };
+
+ module.exports = Item;
+
+
+/***/ },
+/* 29 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var Item = __webpack_require__(28);
/**
* @constructor ItemBox
@@ -12670,260 +13208,111 @@ return /******/ (function(modules) { // webpackBootstrap
this.width = dom.box.offsetWidth;
this.height = dom.box.offsetHeight;
- this.dirty = false;
- }
-
- this._repaintDeleteButton(dom.box);
- };
-
- /**
- * Show the item in the DOM (when not already displayed). The items DOM will
- * be created when needed.
- */
- ItemBox.prototype.show = function() {
- if (!this.displayed) {
- this.redraw();
- }
- };
-
- /**
- * Hide the item from the DOM (when visible)
- */
- ItemBox.prototype.hide = function() {
- if (this.displayed) {
- var dom = this.dom;
-
- if (dom.box.parentNode) dom.box.parentNode.removeChild(dom.box);
- if (dom.line.parentNode) dom.line.parentNode.removeChild(dom.line);
- if (dom.dot.parentNode) dom.dot.parentNode.removeChild(dom.dot);
-
- this.top = null;
- this.left = null;
-
- this.displayed = false;
- }
- };
-
- /**
- * Reposition the item horizontally
- * @Override
- */
- ItemBox.prototype.repositionX = function() {
- var start = this.conversion.toScreen(this.data.start),
- align = this.options.align,
- left,
- box = this.dom.box,
- line = this.dom.line,
- dot = this.dom.dot;
-
- // calculate left position of the box
- if (align == 'right') {
- this.left = start - this.width;
- }
- else if (align == 'left') {
- this.left = start;
- }
- else {
- // default or 'center'
- this.left = start - this.width / 2;
- }
-
- // reposition box
- box.style.left = this.left + 'px';
-
- // reposition line
- line.style.left = (start - this.props.line.width / 2) + 'px';
-
- // reposition dot
- dot.style.left = (start - this.props.dot.width / 2) + 'px';
- };
-
- /**
- * Reposition the item vertically
- * @Override
- */
- ItemBox.prototype.repositionY = function() {
- var orientation = this.options.orientation,
- box = this.dom.box,
- line = this.dom.line,
- dot = this.dom.dot;
-
- if (orientation == 'top') {
- box.style.top = (this.top || 0) + 'px';
-
- line.style.top = '0';
- line.style.height = (this.parent.top + this.top + 1) + 'px';
- line.style.bottom = '';
- }
- else { // orientation 'bottom'
- var itemSetHeight = this.parent.itemSet.props.height; // TODO: this is nasty
- var lineHeight = itemSetHeight - this.parent.top - this.parent.height + this.top;
-
- box.style.top = (this.parent.height - this.top - this.height || 0) + 'px';
- line.style.top = (itemSetHeight - lineHeight) + 'px';
- line.style.bottom = '0';
- }
-
- dot.style.top = (-this.props.dot.height / 2) + 'px';
- };
-
- module.exports = ItemBox;
-
-
-/***/ },
-/* 29 */
-/***/ function(module, exports, __webpack_require__) {
-
- var Hammer = __webpack_require__(41);
-
- /**
- * @constructor Item
- * @param {Object} data Object containing (optional) parameters type,
- * start, end, content, group, className.
- * @param {{toScreen: function, toTime: function}} conversion
- * Conversion functions from time to screen and vice versa
- * @param {Object} options Configuration options
- * // TODO: describe available options
- */
- function Item (data, conversion, options) {
- this.id = null;
- this.parent = null;
- this.data = data;
- this.dom = null;
- this.conversion = conversion || {};
- this.options = options || {};
-
- this.selected = false;
- this.displayed = false;
- this.dirty = true;
-
- this.top = null;
- this.left = null;
- this.width = null;
- this.height = null;
- }
-
- /**
- * Select current item
- */
- Item.prototype.select = function() {
- this.selected = true;
- if (this.displayed) this.redraw();
- };
-
- /**
- * Unselect current item
- */
- Item.prototype.unselect = function() {
- this.selected = false;
- if (this.displayed) this.redraw();
- };
-
- /**
- * Set a parent for the item
- * @param {ItemSet | Group} parent
- */
- Item.prototype.setParent = function(parent) {
- if (this.displayed) {
- this.hide();
- this.parent = parent;
- if (this.parent) {
- this.show();
- }
- }
- else {
- this.parent = parent;
- }
- };
-
- /**
- * Check whether this item is visible inside given range
- * @returns {{start: Number, end: Number}} range with a timestamp for start and end
- * @returns {boolean} True if visible
- */
- Item.prototype.isVisible = function(range) {
- // Should be implemented by Item implementations
- return false;
- };
+ this.dirty = false;
+ }
- /**
- * Show the Item in the DOM (when not already visible)
- * @return {Boolean} changed
- */
- Item.prototype.show = function() {
- return false;
+ this._repaintDeleteButton(dom.box);
};
/**
- * Hide the Item from the DOM (when visible)
- * @return {Boolean} changed
+ * Show the item in the DOM (when not already displayed). The items DOM will
+ * be created when needed.
*/
- Item.prototype.hide = function() {
- return false;
+ ItemBox.prototype.show = function() {
+ if (!this.displayed) {
+ this.redraw();
+ }
};
/**
- * Repaint the item
+ * Hide the item from the DOM (when visible)
*/
- Item.prototype.redraw = function() {
- // should be implemented by the item
- };
+ ItemBox.prototype.hide = function() {
+ if (this.displayed) {
+ var dom = this.dom;
- /**
- * Reposition the Item horizontally
- */
- Item.prototype.repositionX = function() {
- // should be implemented by the item
+ if (dom.box.parentNode) dom.box.parentNode.removeChild(dom.box);
+ if (dom.line.parentNode) dom.line.parentNode.removeChild(dom.line);
+ if (dom.dot.parentNode) dom.dot.parentNode.removeChild(dom.dot);
+
+ this.top = null;
+ this.left = null;
+
+ this.displayed = false;
+ }
};
/**
- * Reposition the Item vertically
+ * Reposition the item horizontally
+ * @Override
*/
- Item.prototype.repositionY = function() {
- // should be implemented by the item
+ ItemBox.prototype.repositionX = function() {
+ var start = this.conversion.toScreen(this.data.start);
+ var align = this.options.align;
+ var left;
+ var box = this.dom.box;
+ var line = this.dom.line;
+ var dot = this.dom.dot;
+
+ // calculate left position of the box
+ if (align == 'right') {
+ this.left = start - this.width;
+ }
+ else if (align == 'left') {
+ this.left = start;
+ }
+ else {
+ // default or 'center'
+ this.left = start - this.width / 2;
+ }
+
+ // reposition box
+ box.style.left = this.left + 'px';
+
+ // reposition line
+ line.style.left = (start - this.props.line.width / 2) + 'px';
+
+ // reposition dot
+ dot.style.left = (start - this.props.dot.width / 2) + 'px';
};
/**
- * Repaint a delete button on the top right of the item when the item is selected
- * @param {HTMLElement} anchor
- * @protected
+ * Reposition the item vertically
+ * @Override
*/
- Item.prototype._repaintDeleteButton = function (anchor) {
- if (this.selected && this.options.editable.remove && !this.dom.deleteButton) {
- // create and show button
- var me = this;
-
- var deleteButton = document.createElement('div');
- deleteButton.className = 'delete';
- deleteButton.title = 'Delete this item';
+ ItemBox.prototype.repositionY = function() {
+ var orientation = this.options.orientation;
+ var box = this.dom.box;
+ var line = this.dom.line;
+ var dot = this.dom.dot;
- Hammer(deleteButton, {
- preventDefault: true
- }).on('tap', function (event) {
- me.parent.removeFromDataSet(me);
- event.stopPropagation();
- });
+ if (orientation == 'top') {
+ box.style.top = (this.top || 0) + 'px';
- anchor.appendChild(deleteButton);
- this.dom.deleteButton = deleteButton;
+ line.style.top = '0';
+ line.style.height = (this.parent.top + this.top + 1) + 'px';
+ line.style.bottom = '';
}
- else if (!this.selected && this.dom.deleteButton) {
- // remove button
- if (this.dom.deleteButton.parentNode) {
- this.dom.deleteButton.parentNode.removeChild(this.dom.deleteButton);
- }
- this.dom.deleteButton = null;
+ else { // orientation 'bottom'
+ var itemSetHeight = this.parent.itemSet.props.height; // TODO: this is nasty
+ var lineHeight = itemSetHeight - this.parent.top - this.parent.height + this.top;
+
+ box.style.top = (this.parent.height - this.top - this.height || 0) + 'px';
+ line.style.top = (itemSetHeight - lineHeight) + 'px';
+ line.style.bottom = '0';
}
+
+ dot.style.top = (-this.props.dot.height / 2) + 'px';
};
- module.exports = Item;
+ module.exports = ItemBox;
/***/ },
/* 30 */
/***/ function(module, exports, __webpack_require__) {
- var Item = __webpack_require__(29);
+ var Item = __webpack_require__(28);
/**
* @constructor ItemPoint
@@ -13130,7 +13519,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ function(module, exports, __webpack_require__) {
var Hammer = __webpack_require__(41);
- var Item = __webpack_require__(29);
+ var Item = __webpack_require__(28);
/**
* @constructor ItemRange
@@ -13295,14 +13684,12 @@ return /******/ (function(modules) { // webpackBootstrap
* Reposition the item horizontally
* @Override
*/
- // TODO: delete the old function
ItemRange.prototype.repositionX = function() {
- var props = this.props,
- parentWidth = this.parent.width,
- start = this.conversion.toScreen(this.data.start),
- end = this.conversion.toScreen(this.data.end),
- padding = this.options.padding,
- contentLeft;
+ var parentWidth = this.parent.width;
+ var start = this.conversion.toScreen(this.data.start);
+ var end = this.conversion.toScreen(this.data.end);
+ var contentLeft;
+ var contentWidth;
// limit the width of the this, as browsers cannot draw very wide divs
if (start < -parentWidth) {
@@ -13314,33 +13701,54 @@ return /******/ (function(modules) { // webpackBootstrap
var boxWidth = Math.max(end - start, 1);
if (this.overflow) {
- // when range exceeds left of the window, position the contents at the left of the visible area
- contentLeft = Math.max(-start, 0);
-
this.left = start;
this.width = boxWidth + this.props.content.width;
+ contentWidth = this.props.content.width;
+
// Note: The calculation of width is an optimistic calculation, giving
// a width which will not change when moving the Timeline
- // So no restacking needed, which is nicer for the eye;
+ // So no re-stacking needed, which is nicer for the eye;
}
- else { // no overflow
- // when range exceeds left of the window, position the contents at the left of the visible area
- if (start < 0) {
- contentLeft = Math.min(-start,
- (end - start - props.content.width - 2 * padding));
- // TODO: remove the need for options.padding. it's terrible.
- }
- else {
- contentLeft = 0;
- }
-
+ else {
this.left = start;
this.width = boxWidth;
+ contentWidth = Math.min(end - start, this.props.content.width);
}
this.dom.box.style.left = this.left + 'px';
this.dom.box.style.width = boxWidth + 'px';
- this.dom.content.style.left = contentLeft + 'px';
+
+ switch (this.options.align) {
+ case 'left':
+ this.dom.content.style.left = '0';
+ break;
+
+ case 'right':
+ this.dom.content.style.left = Math.max((boxWidth - contentWidth - 2 * this.options.padding), 0) + 'px';
+ break;
+
+ case 'center':
+ this.dom.content.style.left = Math.max((boxWidth - contentWidth - 2 * this.options.padding) / 2, 0) + 'px';
+ break;
+
+ default: // 'auto'
+ if (this.overflow) {
+ // when range exceeds left of the window, position the contents at the left of the visible area
+ contentLeft = Math.max(-start, 0);
+ }
+ else {
+ // when range exceeds left of the window, position the contents at the left of the visible area
+ if (start < 0) {
+ contentLeft = Math.min(-start,
+ (end - start - this.props.content.width - 2 * this.options.padding));
+ // TODO: remove the need for options.padding. it's terrible.
+ }
+ else {
+ contentLeft = 0;
+ }
+ }
+ this.dom.content.style.left = contentLeft + 'px';
+ }
};
/**
@@ -13426,9 +13834,9 @@ return /******/ (function(modules) { // webpackBootstrap
/* 32 */
/***/ function(module, exports, __webpack_require__) {
- var Emitter = __webpack_require__(46);
+ var Emitter = __webpack_require__(49);
var Hammer = __webpack_require__(41);
- var mousetrap = __webpack_require__(47);
+ var mousetrap = __webpack_require__(50);
var util = __webpack_require__(1);
var hammerUtil = __webpack_require__(43);
var DataSet = __webpack_require__(3);
@@ -13440,10 +13848,12 @@ return /******/ (function(modules) { // webpackBootstrap
var Node = __webpack_require__(36);
var Edge = __webpack_require__(33);
var Popup = __webpack_require__(37);
- var MixinLoader = __webpack_require__(45);
+ var MixinLoader = __webpack_require__(47);
+ var Activator = __webpack_require__(48);
+ var locales = __webpack_require__(45);
// Load custom shapes into CanvasRenderingContext2D
- __webpack_require__(44);
+ __webpack_require__(46);
/**
* @constructor Network
@@ -13602,7 +14012,8 @@ return /******/ (function(modules) { // webpackBootstrap
enabled:false,
levelSeparation: 150,
nodeSpacing: 100,
- direction: "UD" // UD, DU, LR, RL
+ direction: "UD", // UD, DU, LR, RL
+ layout: "hubsize" // hubsize, directed
},
freezeForStabilization: false,
smoothCurves: {
@@ -13616,24 +14027,8 @@ return /******/ (function(modules) { // webpackBootstrap
minVelocity: 0.1, // px/s
stabilize: true, // stabilize before displaying the network
stabilizationIterations: 1000, // maximum number of iteration to stabilize
- labels:{
- add:"Add Node",
- edit:"Edit",
- link:"Add Link",
- del:"Delete selected",
- editNode:"Edit Node",
- editEdge:"Edit Edge",
- back:"Back",
- addDescription:"Click in an empty space to place a new node.",
- linkDescription:"Click on a node and drag the edge to another node to connect them.",
- editEdgeDescription:"Click on the control points and drag them to a node to connect to it.",
- addError:"The function for add does not support two arguments (data,callback).",
- linkError:"The function for connect does not support two arguments (data,callback).",
- editError:"The function for edit does not support two arguments (data, callback).",
- editBoundError:"No edit function has been bound to this button.",
- deleteError:"The function for delete does not support two arguments (data, callback).",
- deleteClusterError:"Clusters cannot be deleted."
- },
+ locale: 'en',
+ locales: locales,
tooltip: {
delay: 300,
fontColor: 'black',
@@ -13694,6 +14089,8 @@ return /******/ (function(modules) { // webpackBootstrap
// other vars
this.freezeSimulation = false;// freeze the simulation
this.cachedFunctions = {};
+ this.stabilized = false;
+ this.stabilizationIterations = null;
// containers for nodes and edges
this.calculationNodes = {};
@@ -13941,6 +14338,8 @@ return /******/ (function(modules) { // webpackBootstrap
if (disableStart === undefined) {
disableStart = false;
}
+ // we set initializing to true to ensure that the hierarchical layout is not performed until both nodes and edges are added.
+ this.initializing = true;
if (data && data.dot && (data.nodes || data.edges)) {
throw new SyntaxError('Data must contain either parameter "dot" or ' +
@@ -13949,7 +14348,6 @@ return /******/ (function(modules) { // webpackBootstrap
// set options
this.setOptions(data && data.options);
-
// set all data
if (data && data.dot) {
// parse DOT file
@@ -13971,31 +14369,33 @@ return /******/ (function(modules) { // webpackBootstrap
this._setNodes(data && data.nodes);
this._setEdges(data && data.edges);
}
-
this._putDataInSector();
- if (!disableStart) {
- // find a stable position or start animating to a stable position
- if (this.constants.stabilize) {
- var me = this;
- setTimeout(function() {me._stabilize(); me.start();},0)
+ if (disableStart == false) {
+ if (this.constants.hierarchicalLayout.enabled == true) {
+ this._resetLevels();
+ this._setupHierarchicalLayout();
}
else {
- this.start();
+ // find a stable position or start animating to a stable position
+ if (this.constants.stabilize) {
+ this._stabilize();
+ }
}
+ this.start();
}
+ this.initializing = false;
};
/**
* Set options
* @param {Object} options
- * @param {Boolean} [initializeView] | set zoom and translation to default.
*/
Network.prototype.setOptions = function (options) {
if (options) {
var prop;
var fields = ['nodes','edges','smoothCurves','hierarchicalLayout','clustering','navigation','keyboard','dataManipulation',
- 'onAdd','onEdit','onEditEdge','onConnect','onDelete'
+ 'onAdd','onEdit','onEditEdge','onConnect','onDelete','clickToUse'
];
util.selectiveNotDeepExtend(fields,this.constants, options);
util.selectiveNotDeepExtend(['color'],this.constants.nodes, options.nodes);
@@ -14090,6 +14490,23 @@ return /******/ (function(modules) { // webpackBootstrap
this.constants.tooltip.color = util.parseColor(options.tooltip.color);
}
}
+
+ if ('clickToUse' in options) {
+ if (options.clickToUse) {
+ this.activator = new Activator(this.frame);
+ this.activator.on('change', this._createKeyBinds.bind(this));
+ }
+ else {
+ if (this.activator) {
+ this.activator.destroy();
+ delete this.activator;
+ }
+ }
+ }
+
+ if (options.labels) {
+ throw new Error('Option "labels" is deprecated. Use options "locale" and "locales" instead.');
+ }
}
// (Re)loading the mixins that can be enabled or disabled in the options.
@@ -14108,7 +14525,6 @@ return /******/ (function(modules) { // webpackBootstrap
this.setSize(this.constants.width, this.constants.height);
this.moving = true;
this.start();
-
};
/**
@@ -14125,7 +14541,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
this.frame = document.createElement('div');
- this.frame.className = 'network-frame';
+ this.frame.className = 'vis network-frame';
this.frame.style.position = 'relative';
this.frame.style.overflow = 'hidden';
@@ -14177,7 +14593,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.mousetrap.reset();
- if (this.constants.keyboard.enabled == true) {
+ if (this.constants.keyboard.enabled && this.isActive()) {
this.mousetrap.bind("up", this._moveUp.bind(me) , "keydown");
this.mousetrap.bind("up", this._yStopMoving.bind(me), "keyup");
this.mousetrap.bind("down", this._moveDown.bind(me) , "keydown");
@@ -14706,16 +15122,6 @@ return /******/ (function(modules) { // webpackBootstrap
this.frame.canvas.width = this.frame.canvas.clientWidth;
this.frame.canvas.height = this.frame.canvas.clientHeight;
- if (this.manipulationDiv !== undefined) {
- this.manipulationDiv.style.width = this.frame.canvas.clientWidth + "px";
- }
- if (this.navigationDivs !== undefined) {
- if (this.navigationDivs['wrapper'] !== undefined) {
- this.navigationDivs['wrapper'].style.width = this.frame.canvas.clientWidth + "px";
- this.navigationDivs['wrapper'].style.height = this.frame.canvas.clientHeight + "px";
- }
- }
-
this.emit('resize', {width:this.frame.canvas.width,height:this.frame.canvas.height});
};
@@ -14777,15 +15183,15 @@ return /******/ (function(modules) { // webpackBootstrap
var data = this.nodesData.get(id);
var node = new Node(data, this.images, this.groups, this.constants);
this.nodes[id] = node; // note: this may replace an existing node
-
if ((node.xFixed == false || node.yFixed == false) && (node.x === null || node.y === null)) {
- var radius = 10 * 0.1*ids.length;
+ var radius = 10 * 0.1*ids.length + 10;
var angle = 2 * Math.PI * Math.random();
if (node.xFixed == false) {node.x = radius * Math.cos(angle);}
if (node.yFixed == false) {node.y = radius * Math.sin(angle);}
}
this.moving = true;
}
+
this._updateNodeIndexList();
if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) {
this._resetLevels();
@@ -14919,15 +15325,14 @@ return /******/ (function(modules) { // webpackBootstrap
var data = edgesData.get(id, {"showInternalIds" : true});
edges[id] = new Edge(data, this, this.constants);
}
-
this.moving = true;
this._updateValueRange(edges);
this._createBezierNodes();
+ this._updateCalculationNodes();
if (this.constants.hierarchicalLayout.enabled == true && this.initializing == false) {
this._resetLevels();
this._setupHierarchicalLayout();
}
- this._updateCalculationNodes();
};
/**
@@ -15316,7 +15721,6 @@ return /******/ (function(modules) { // webpackBootstrap
if (this.constants.freezeForStabilization == true) {
this._restoreFrozenNodes();
}
- this.emit("stabilized",{iterations:count});
};
/**
@@ -15406,17 +15810,13 @@ return /******/ (function(modules) { // webpackBootstrap
if (nodesPresent == true) {
var vminCorrected = this.constants.minVelocity / Math.max(this.scale,0.05);
if (vminCorrected > 0.5*this.constants.maxVelocity) {
- this.moving = true;
+ return true;
}
else {
- this.moving = this._isMoving(vminCorrected);
- if (this.moving == false) {
- this.emit("stabilized",{iterations:null});
- }
- this.moving = this.moving || this.configurePhysics;
-
+ return this._isMoving(vminCorrected);
}
}
+ return false;
};
/**
@@ -15427,12 +15827,21 @@ return /******/ (function(modules) { // webpackBootstrap
Network.prototype._physicsTick = function() {
if (!this.freezeSimulation) {
if (this.moving == true) {
+ var mainMovingStatus = false;
+ var supportMovingStatus = false;
+
this._doInAllActiveSectors("_initializeForceCalculation");
- this._doInAllActiveSectors("_discreteStepNodes");
+ var mainMoving = this._doInAllActiveSectors("_discreteStepNodes");
if (this.constants.smoothCurves.enabled == true && this.constants.smoothCurves.dynamic == true) {
- this._doInSupportSector("_discreteStepNodes");
+ supportMovingStatus = this._doInSupportSector("_discreteStepNodes");
}
- this._findCenter(this._getRange())
+ // gather movement data from all sectors, if one moves, we are NOT stabilzied
+ for (var i = 0; i < mainMoving.length; i++) {mainMovingStatus = mainMoving[0] || mainMovingStatus;}
+
+ // determine if the network has stabilzied
+ this.moving = mainMovingStatus || supportMovingStatus;
+
+ this.stabilizationIterations++;
}
}
};
@@ -15503,6 +15912,21 @@ return /******/ (function(modules) { // webpackBootstrap
}
else {
this._redraw();
+
+ if (this.stabilizationIterations > 0) {
+ // trigger the "stabilized" event.
+ // The event is triggered on the next tick, to prevent the case that
+ // it is fired while initializing the Network, in which case you would not
+ // be able to catch it
+ var me = this;
+ var params = {
+ iterations: me.stabilizationIterations
+ };
+ me.stabilizationIterations = 0;
+ setTimeout(function () {
+ me.emit("stabilized", params);
+ }, 0);
+ }
}
};
@@ -15669,10 +16093,18 @@ return /******/ (function(modules) { // webpackBootstrap
this.redraw();
}
else {
- console.log("This nodeId cannot be found.")
+ console.log("This nodeId cannot be found.");
}
};
+ /**
+ * Returns true when the Timeline is active.
+ * @returns {boolean}
+ */
+ Network.prototype.isActive = function () {
+ return !this.activator || this.activator.active;
+ };
+
module.exports = Network;
@@ -15991,14 +16423,14 @@ return /******/ (function(modules) { // webpackBootstrap
*/
Edge.prototype._getLineWidth = function() {
if (this.selected == true) {
- return Math.min(this.widthSelected, this.options.widthMax)*this.networkScaleInv;
+ return Math.max(Math.min(this.widthSelected, this.options.widthMax), 0.3*this.networkScaleInv);
}
else {
if (this.hover == true) {
- return Math.min(this.options.hoverWidth, this.options.widthMax)*this.networkScaleInv;
+ return Math.max(Math.min(this.options.hoverWidth, this.options.widthMax), 0.3*this.networkScaleInv);
}
else {
- return this.options.width*this.networkScaleInv;
+ return Math.max(this.options.width, 0.3*this.networkScaleInv);
}
}
};
@@ -16623,18 +17055,15 @@ return /******/ (function(modules) { // webpackBootstrap
}
else {
var x, y, dx, dy;
- var radius = this.physics.springLength / 4;
+ var radius = 0.25 * this.physics.springLength;
var node = this.from;
- if (!node.width) {
- node.resize(ctx);
- }
if (node.width > node.height) {
- x = node.x + node.width / 2;
+ x = node.x + 0.5 * node.width;
y = node.y - radius;
}
else {
x = node.x + radius;
- y = node.y - node.height / 2;
+ y = node.y - 0.5 * node.height;
}
dx = x - x3;
dy = y - y3;
@@ -17039,6 +17468,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.radiusFixed = false;
this.level = -1;
this.preassignedLevel = false;
+ this.hierarchyEnumerated = false;
this.imagelist = imagelist;
@@ -17146,9 +17576,9 @@ return /******/ (function(modules) { // webpackBootstrap
if (this.id === undefined) {
throw "Node must have an id";
}
- // console.log(this.options);
+
// copy group properties
- if (this.options.group !== undefined && this.options.group != "") {
+ if (typeof this.options.group === 'number' || (typeof this.options.group === 'string' && this.options.group != '')) {
var groupObj = this.grouplist.get(this.options.group);
for (var prop in groupObj) {
if (groupObj.hasOwnProperty(prop)) {
@@ -17375,9 +17805,10 @@ return /******/ (function(modules) { // webpackBootstrap
* @param {number} vmin the minimum velocity considered as "moving"
* @return {boolean} true if moving, false if it has no velocity
*/
- // TODO: replace this method with calculating the kinetic energy
Node.prototype.isMoving = function(vmin) {
- return (Math.abs(this.vx) > vmin || Math.abs(this.vy) > vmin);
+ var velocity = Math.sqrt(Math.pow(this.vx,2) + Math.pow(this.vy,2));
+ // this.velocity = Math.sqrt(Math.pow(this.vx,2) + Math.pow(this.vy,2))
+ return (velocity > vmin);
};
/**
@@ -17629,7 +18060,7 @@ return /******/ (function(modules) { // webpackBootstrap
var margin = 5;
var textSize = this.getTextSize(ctx);
var diameter = Math.max(textSize.width, textSize.height) + 2 * margin;
- this.options.radius= diameter / 2;
+ this.options.radius = diameter / 2;
this.width = diameter;
this.height = diameter;
@@ -18996,7 +19427,7 @@ return /******/ (function(modules) { // webpackBootstrap
// first check if moment.js is already loaded in the browser window, if so,
// use this instance. Else, load via commonjs.
- module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(48);
+ module.exports = (typeof window !== 'undefined') && window['moment'] || __webpack_require__(51);
/***/ },
@@ -19006,7 +19437,7 @@ return /******/ (function(modules) { // webpackBootstrap
// Only load hammer.js when in a browser environment
// (loading hammer.js in a node.js environment gives errors)
if (typeof window !== 'undefined') {
- module.exports = window['Hammer'] || __webpack_require__(49);
+ module.exports = window['Hammer'] || __webpack_require__(52);
}
else {
module.exports = function () {
@@ -19019,7 +19450,7 @@ return /******/ (function(modules) { // webpackBootstrap
/* 42 */
/***/ function(module, exports, __webpack_require__) {
- var Emitter = __webpack_require__(46);
+ var Emitter = __webpack_require__(49);
var Hammer = __webpack_require__(41);
var util = __webpack_require__(1);
var DataSet = __webpack_require__(3);
@@ -19029,6 +19460,7 @@ return /******/ (function(modules) { // webpackBootstrap
var CurrentTime = __webpack_require__(19);
var CustomTime = __webpack_require__(20);
var ItemSet = __webpack_require__(24);
+ var Activator = __webpack_require__(48);
/**
* Create a timeline visualization
@@ -19071,6 +19503,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.dom.shadowTopRight = document.createElement('div');
this.dom.shadowBottomRight = document.createElement('div');
+ this.dom.root.className = 'vis timeline root';
this.dom.background.className = 'vispanel background';
this.dom.backgroundVertical.className = 'vispanel background vertical';
this.dom.backgroundHorizontal.className = 'vispanel background horizontal';
@@ -19133,7 +19566,9 @@ return /******/ (function(modules) { // webpackBootstrap
events.forEach(function (event) {
var listener = function () {
var args = [event].concat(Array.prototype.slice.call(arguments, 0));
- me.emit.apply(me, args);
+ if (me.isActive()) {
+ me.emit.apply(me, args);
+ }
};
me.hammer.on(event, listener);
me.listeners[event] = listener;
@@ -19162,6 +19597,75 @@ return /******/ (function(modules) { // webpackBootstrap
container.appendChild(this.dom.root);
};
+ /**
+ * Set options. Options will be passed to all components loaded in the Timeline.
+ * @param {Object} [options]
+ * {String} orientation
+ * Vertical orientation for the Timeline,
+ * can be 'bottom' (default) or 'top'.
+ * {String | Number} width
+ * Width for the timeline, a number in pixels or
+ * a css string like '1000px' or '75%'. '100%' by default.
+ * {String | Number} height
+ * Fixed height for the Timeline, a number in pixels or
+ * a css string like '400px' or '75%'. If undefined,
+ * The Timeline will automatically size such that
+ * its contents fit.
+ * {String | Number} minHeight
+ * Minimum height for the Timeline, a number in pixels or
+ * a css string like '400px' or '75%'.
+ * {String | Number} maxHeight
+ * Maximum height for the Timeline, a number in pixels or
+ * a css string like '400px' or '75%'.
+ * {Number | Date | String} start
+ * Start date for the visible window
+ * {Number | Date | String} end
+ * End date for the visible window
+ */
+ Core.prototype.setOptions = function (options) {
+ if (options) {
+ // copy the known options
+ var fields = ['width', 'height', 'minHeight', 'maxHeight', 'autoResize', 'start', 'end', 'orientation', 'clickToUse'];
+ util.selectiveExtend(fields, this.options, options);
+
+ if ('clickToUse' in options) {
+ if (options.clickToUse) {
+ this.activator = new Activator(this.dom.root);
+ }
+ else {
+ if (this.activator) {
+ this.activator.destroy();
+ delete this.activator;
+ }
+ }
+ }
+
+ // enable/disable autoResize
+ this._initAutoResize();
+ }
+
+ // propagate options to all components
+ this.components.forEach(function (component) {
+ component.setOptions(options);
+ });
+
+ // TODO: remove deprecation error one day (deprecated since version 0.8.0)
+ if (options && options.order) {
+ throw new Error('Option order is deprecated. There is no replacement for this feature.');
+ }
+
+ // redraw everything
+ this.redraw();
+ };
+
+ /**
+ * Returns true when the Timeline is active.
+ * @returns {boolean}
+ */
+ Core.prototype.isActive = function () {
+ return !this.activator || this.activator.active;
+ };
+
/**
* Destroy the Core, clean up all DOM elements and event listeners.
*/
@@ -19181,6 +19685,12 @@ return /******/ (function(modules) { // webpackBootstrap
}
this.dom = null;
+ // remove Activator
+ if (this.activator) {
+ this.activator.destroy();
+ delete this.activator;
+ }
+
// cleanup hammer touch events
for (var event in this.listeners) {
if (this.listeners.hasOwnProperty(event)) {
@@ -19267,8 +19777,14 @@ return /******/ (function(modules) { // webpackBootstrap
/**
* Set Core window such that it fits all items
- */
- Core.prototype.fit = function() {
+ * @param {Object} [options] Available options:
+ * `animate: boolean | number`
+ * If true (default), the range is animated
+ * smoothly to the new window.
+ * If a number, the number is taken as duration
+ * for the animation. Default duration is 500 ms.
+ */
+ Core.prototype.fit = function(options) {
// apply the data range as range
var dataRange = this.getItemRange();
@@ -19290,10 +19806,10 @@ return /******/ (function(modules) { // webpackBootstrap
return;
}
- this.range.setRange(start, end);
+ var animate = (options && options.animate !== undefined) ? options.animate : true;
+ this.range.setRange(start, end, animate);
};
-
/**
* Set the visible window. Both parameters are optional, you can change only
* start or only end. Syntax:
@@ -19305,18 +19821,46 @@ return /******/ (function(modules) { // webpackBootstrap
* object with properties start and end.
*
* @param {Date | Number | String | Object} [start] Start date of visible window
- * @param {Date | Number | String} [end] End date of visible window
- */
- Core.prototype.setWindow = function(start, end) {
+ * @param {Date | Number | String} [end] End date of visible window
+ * @param {Object} [options] Available options:
+ * `animate: boolean | number`
+ * If true (default), the range is animated
+ * smoothly to the new window.
+ * If a number, the number is taken as duration
+ * for the animation. Default duration is 500 ms.
+ */
+ Core.prototype.setWindow = function(start, end, options) {
+ var animate = (options && options.animate !== undefined) ? options.animate : true;
if (arguments.length == 1) {
var range = arguments[0];
- this.range.setRange(range.start, range.end);
+ this.range.setRange(range.start, range.end, animate);
}
else {
- this.range.setRange(start, end);
+ this.range.setRange(start, end, animate);
}
};
+ /**
+ * Move the window such that given time is centered on screen.
+ * @param {Date | Number | String} time
+ * @param {Object} [options] Available options:
+ * `animate: boolean | number`
+ * If true (default), the range is animated
+ * smoothly to the new window.
+ * If a number, the number is taken as duration
+ * for the animation. Default duration is 500 ms.
+ */
+ Core.prototype.moveTo = function(time, options) {
+ var interval = this.range.end - this.range.start;
+ var t = util.convert(time, 'Date').valueOf();
+
+ var start = t - interval / 2;
+ var end = t + interval / 2;
+ var animate = (options && options.animate !== undefined) ? options.animate : true;
+
+ this.range.setRange(start, end, animate);
+ };
+
/**
* Get the visible window
* @return {{start: Date, end: Date}} Visible range
@@ -19342,7 +19886,14 @@ return /******/ (function(modules) { // webpackBootstrap
if (!dom) return; // when destroyed
// update class names
- dom.root.className = 'vis timeline root ' + options.orientation;
+ if (options.orientation == 'top') {
+ util.addClassName(dom.root, 'top');
+ util.removeClassName(dom.root, 'bottom');
+ }
+ else {
+ util.removeClassName(dom.root, 'top');
+ util.addClassName(dom.root, 'bottom');
+ }
// update root width and height options
dom.root.style.maxHeight = util.option.asSize(options.maxHeight, '');
@@ -19471,6 +20022,34 @@ return /******/ (function(modules) { // webpackBootstrap
throw new Error('Function repaint is deprecated. Use redraw instead.');
};
+ /**
+ * Set a current time. This can be used for example to ensure that a client's
+ * time is synchronized with a shared server time.
+ * Only applicable when option `showCurrentTime` is true.
+ * @param {Date | String | Number} time A Date, unix timestamp, or
+ * ISO date string.
+ */
+ Core.prototype.setCurrentTime = function(time) {
+ if (!this.currentTime) {
+ throw new Error('Option showCurrentTime must be true');
+ }
+
+ this.currentTime.setCurrentTime(time);
+ };
+
+ /**
+ * Get the current time.
+ * Only applicable when option `showCurrentTime` is true.
+ * @return {Date} Returns the current time.
+ */
+ Core.prototype.getCurrentTime = function() {
+ if (!this.currentTime) {
+ throw new Error('Option showCurrentTime must be true');
+ }
+
+ return this.currentTime.getCurrentTime();
+ };
+
/**
* Convert a position on screen (pixels) to a datetime
* @param {int} x Position on the screen in pixels
@@ -19719,6 +20298,68 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
/* 44 */
+/***/ function(module, exports, __webpack_require__) {
+
+ // English
+ exports['en'] = {
+ current: 'current',
+ time: 'time'
+ };
+ exports['en_EN'] = exports['en'];
+ exports['en_US'] = exports['en'];
+
+ // Dutch
+ exports['nl'] = {
+ custom: 'aangepaste',
+ time: 'tijd'
+ };
+ exports['nl_NL'] = exports['nl'];
+ exports['nl_BE'] = exports['nl'];
+
+
+/***/ },
+/* 45 */
+/***/ function(module, exports, __webpack_require__) {
+
+ // English
+ exports['en'] = {
+ edit: 'Edit',
+ del: 'Delete selected',
+ back: 'Back',
+ addNode: 'Add Node',
+ addEdge: 'Add Edge',
+ editNode: 'Edit Node',
+ editEdge: 'Edit Edge',
+ addDescription: 'Click in an empty space to place a new node.',
+ edgeDescription: 'Click on a node and drag the edge to another node to connect them.',
+ editEdgeDescription: 'Click on the control points and drag them to a node to connect to it.',
+ createEdgeError: 'Cannot link edges to a cluster.',
+ deleteClusterError: 'Clusters cannot be deleted.'
+ };
+ exports['en_EN'] = exports['en'];
+ exports['en_US'] = exports['en'];
+
+ // Dutch
+ exports['nl'] = {
+ edit: 'Wijzigen',
+ del: 'Selectie verwijderen',
+ back: 'Terug',
+ addNode: 'Node toevoegen',
+ addEdge: 'Link toevoegen',
+ editNode: 'Node wijzigen',
+ editEdge: 'Link wijzigen',
+ addDescription: 'Klik op een leeg gebied om een nieuwe node te maken.',
+ edgeDescription: 'Klik op een node en sleep de link naar een andere node om ze te verbinden.',
+ editEdgeDescription: 'Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.',
+ createEdgeError: 'Kan geen link maken naar een cluster.',
+ deleteClusterError: 'Clusters kunnen niet worden verwijderd.'
+ };
+ exports['nl_NL'] = exports['nl'];
+ exports['nl_BE'] = exports['nl'];
+
+
+/***/ },
+/* 46 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -19949,16 +20590,16 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 45 */
+/* 47 */
/***/ function(module, exports, __webpack_require__) {
- var PhysicsMixin = __webpack_require__(56);
- var ClusterMixin = __webpack_require__(50);
- var SectorsMixin = __webpack_require__(51);
- var SelectionMixin = __webpack_require__(52);
- var ManipulationMixin = __webpack_require__(53);
- var NavigationMixin = __webpack_require__(54);
- var HierarchicalLayoutMixin = __webpack_require__(55);
+ var PhysicsMixin = __webpack_require__(59);
+ var ClusterMixin = __webpack_require__(53);
+ var SectorsMixin = __webpack_require__(54);
+ var SelectionMixin = __webpack_require__(55);
+ var ManipulationMixin = __webpack_require__(56);
+ var NavigationMixin = __webpack_require__(57);
+ var HierarchicalLayoutMixin = __webpack_require__(58);
/**
* Load a mixin into the network object
@@ -20077,7 +20718,7 @@ return /******/ (function(modules) { // webpackBootstrap
else {
this.manipulationDiv.style.display = "none";
}
- this.containerElement.insertBefore(this.manipulationDiv, this.frame);
+ this.frame.appendChild(this.manipulationDiv);
}
if (this.editModeDiv === undefined) {
@@ -20090,7 +20731,7 @@ return /******/ (function(modules) { // webpackBootstrap
else {
this.editModeDiv.style.display = "block";
}
- this.containerElement.insertBefore(this.editModeDiv, this.frame);
+ this.frame.appendChild(this.editModeDiv);
}
if (this.closeDiv === undefined) {
@@ -20098,7 +20739,7 @@ return /******/ (function(modules) { // webpackBootstrap
this.closeDiv.className = 'network-manipulation-closeDiv';
this.closeDiv.id = 'network-manipulation-closeDiv';
this.closeDiv.style.display = this.manipulationDiv.style.display;
- this.containerElement.insertBefore(this.closeDiv, this.frame);
+ this.frame.appendChild(this.closeDiv);
}
// load the manipulation functions
@@ -20153,7 +20794,159 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 46 */
+/* 48 */
+/***/ function(module, exports, __webpack_require__) {
+
+ var mousetrap = __webpack_require__(50);
+ var Emitter = __webpack_require__(49);
+ var Hammer = __webpack_require__(41);
+ var util = __webpack_require__(1);
+
+ /**
+ * Turn an element into an clickToUse element.
+ * When not active, the element has a transparent overlay. When the overlay is
+ * clicked, the mode is changed to active.
+ * When active, the element is displayed with a blue border around it, and
+ * the interactive contents of the element can be used. When clicked outside
+ * the element, the elements mode is changed to inactive.
+ * @param {Element} container
+ * @constructor
+ */
+ function Activator(container) {
+ this.active = false;
+
+ this.dom = {
+ container: container
+ };
+
+ this.dom.overlay = document.createElement('div');
+ this.dom.overlay.className = 'overlay';
+
+ this.dom.container.appendChild(this.dom.overlay);
+
+ this.hammer = Hammer(this.dom.overlay, {prevent_default: false});
+ this.hammer.on('tap', this._onTapOverlay.bind(this));
+
+ // block all touch events (except tap)
+ var me = this;
+ var events = [
+ 'touch', 'pinch',
+ 'doubletap', 'hold',
+ 'dragstart', 'drag', 'dragend',
+ 'mousewheel', 'DOMMouseScroll' // DOMMouseScroll is needed for Firefox
+ ];
+ events.forEach(function (event) {
+ me.hammer.on(event, function (event) {
+ event.stopPropagation();
+ });
+ });
+
+ // attach a tap event to the window, in order to deactivate when clicking outside the timeline
+ this.windowHammer = Hammer(window, {prevent_default: false});
+ this.windowHammer.on('tap', function (event) {
+ // deactivate when clicked outside the container
+ if (!_hasParent(event.target, container)) {
+ me.deactivate();
+ }
+ });
+
+ // mousetrap listener only bounded when active)
+ this.escListener = this.deactivate.bind(this);
+ }
+
+ // turn into an event emitter
+ Emitter(Activator.prototype);
+
+ // The currently active activator
+ Activator.current = null;
+
+ /**
+ * Destroy the activator. Cleans up all created DOM and event listeners
+ */
+ Activator.prototype.destroy = function () {
+ this.deactivate();
+
+ // remove dom
+ this.dom.overlay.parentNode.removeChild(this.dom.overlay);
+
+ // cleanup hammer instances
+ this.hammer = null;
+ this.windowHammer = null;
+ // FIXME: cleaning up hammer instances doesn't work (Timeline not removed from memory)
+ };
+
+ /**
+ * Activate the element
+ * Overlay is hidden, element is decorated with a blue shadow border
+ */
+ Activator.prototype.activate = function () {
+ // we allow only one active activator at a time
+ if (Activator.current) {
+ Activator.current.deactivate();
+ }
+ Activator.current = this;
+
+ this.active = true;
+ this.dom.overlay.style.display = 'none';
+ util.addClassName(this.dom.container, 'vis-active');
+
+ this.emit('change');
+ this.emit('activate');
+
+ // ugly hack: bind ESC after emitting the events, as the Network rebinds all
+ // keyboard events on a 'change' event
+ mousetrap.bind('esc', this.escListener);
+ };
+
+ /**
+ * Deactivate the element
+ * Overlay is displayed on top of the element
+ */
+ Activator.prototype.deactivate = function () {
+ this.active = false;
+ this.dom.overlay.style.display = '';
+ util.removeClassName(this.dom.container, 'vis-active');
+ mousetrap.unbind('esc', this.escListener);
+
+ this.emit('change');
+ this.emit('deactivate');
+ };
+
+ /**
+ * Handle a tap event: activate the container
+ * @param event
+ * @private
+ */
+ Activator.prototype._onTapOverlay = function (event) {
+ // activate the container
+ this.activate();
+ event.stopPropagation();
+ };
+
+ /**
+ * Test whether the element has the requested parent element somewhere in
+ * its chain of parent nodes.
+ * @param {HTMLElement} element
+ * @param {HTMLElement} parent
+ * @returns {boolean} Returns true when the parent is found somewhere in the
+ * chain of parent nodes.
+ * @private
+ */
+ function _hasParent(element, parent) {
+ while (element) {
+ if (element === parent) {
+ return true
+ }
+ element = element.parentNode;
+ }
+ return false;
+ }
+
+ module.exports = Activator;
+
+
+/***/ },
+/* 49 */
/***/ function(module, exports, __webpack_require__) {
@@ -20323,7 +21116,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 47 */
+/* 50 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -21128,11 +21921,11 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 48 */
+/* 51 */
/***/ function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(global, module) {//! moment.js
- //! version : 2.8.1
+ //! version : 2.8.2
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
@@ -21143,11 +21936,12 @@ return /******/ (function(modules) { // webpackBootstrap
************************************/
var moment,
- VERSION = '2.8.1',
+ VERSION = '2.8.2',
// the global-scope this is NOT the global object in Node.js
globalScope = typeof global !== 'undefined' ? global : this,
oldGlobalMoment,
round = Math.round,
+ hasOwnProperty = Object.prototype.hasOwnProperty,
i,
YEAR = 0,
@@ -21221,7 +22015,7 @@ return /******/ (function(modules) { // webpackBootstrap
['HH', /(T| )\d\d/]
],
- // timezone chunker "+10:00" > ["10", "00"] or "-1530" > ["-15", "30"]
+ // timezone chunker '+10:00' > ['10', '00'] or '-1530' > ['-15', '30']
parseTimezoneChunker = /([\+\-]|\d\d)/gi,
// getter and setter names
@@ -21426,6 +22220,10 @@ return /******/ (function(modules) { // webpackBootstrap
}
}
+ function hasOwnProp(a, b) {
+ return hasOwnProperty.call(a, b);
+ }
+
function defaultParsingFlags() {
// We need to deep clone this object, and es5 standard is not very
// helpful.
@@ -21446,7 +22244,7 @@ return /******/ (function(modules) { // webpackBootstrap
function printMsg(msg) {
if (moment.suppressDeprecationWarnings === false &&
typeof console !== 'undefined' && console.warn) {
- console.warn("Deprecation warning: " + msg);
+ console.warn('Deprecation warning: ' + msg);
}
}
@@ -21549,16 +22347,16 @@ return /******/ (function(modules) { // webpackBootstrap
function extend(a, b) {
for (var i in b) {
- if (b.hasOwnProperty(i)) {
+ if (hasOwnProp(b, i)) {
a[i] = b[i];
}
}
- if (b.hasOwnProperty('toString')) {
+ if (hasOwnProp(b, 'toString')) {
a.toString = b.toString;
}
- if (b.hasOwnProperty('valueOf')) {
+ if (hasOwnProp(b, 'valueOf')) {
a.valueOf = b.valueOf;
}
@@ -21666,7 +22464,7 @@ return /******/ (function(modules) { // webpackBootstrap
var dur, tmp;
//invert the arguments, but complain about it
if (period !== null && !isNaN(+period)) {
- deprecateSimple(name, "moment()." + name + "(period, number) is deprecated. Please use moment()." + name + "(number, period).");
+ deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');
tmp = val; val = period; period = tmp;
}
@@ -21736,7 +22534,7 @@ return /******/ (function(modules) { // webpackBootstrap
prop;
for (prop in inputObject) {
- if (inputObject.hasOwnProperty(prop)) {
+ if (hasOwnProp(inputObject, prop)) {
normalizedProp = normalizeUnits(prop);
if (normalizedProp) {
normalizedInput[normalizedProp] = inputObject[prop];
@@ -22656,7 +23454,7 @@ return /******/ (function(modules) { // webpackBootstrap
config._pf.iso = true;
for (i = 0, l = isoDates.length; i < l; i++) {
if (isoDates[i][1].exec(string)) {
- // match[5] should be "T" or undefined
+ // match[5] should be 'T' or undefined
config._f = isoDates[i][0] + (match[6] || ' ');
break;
}
@@ -22864,7 +23662,7 @@ return /******/ (function(modules) { // webpackBootstrap
moment = function (input, format, locale, strict) {
var c;
- if (typeof(locale) === "boolean") {
+ if (typeof(locale) === 'boolean') {
strict = locale;
locale = undefined;
}
@@ -22932,7 +23730,7 @@ return /******/ (function(modules) { // webpackBootstrap
moment.utc = function (input, format, locale, strict) {
var c;
- if (typeof(locale) === "boolean") {
+ if (typeof(locale) === 'boolean') {
strict = locale;
locale = undefined;
}
@@ -23019,7 +23817,7 @@ return /******/ (function(modules) { // webpackBootstrap
ret = new Duration(duration);
- if (moment.isDuration(input) && input.hasOwnProperty('_locale')) {
+ if (moment.isDuration(input) && hasOwnProp(input, '_locale')) {
ret._locale = input._locale;
}
@@ -23056,7 +23854,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
moment.lang = deprecate(
- "moment.lang is deprecated. Use moment.locale instead.",
+ 'moment.lang is deprecated. Use moment.locale instead.',
function (key, value) {
return moment.locale(key, value);
}
@@ -23068,7 +23866,7 @@ return /******/ (function(modules) { // webpackBootstrap
moment.locale = function (key, values) {
var data;
if (key) {
- if (typeof(values) !== "undefined") {
+ if (typeof(values) !== 'undefined') {
data = moment.defineLocale(key, values);
}
else {
@@ -23103,7 +23901,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
moment.langData = deprecate(
- "moment.langData is deprecated. Use moment.localeData instead.",
+ 'moment.langData is deprecated. Use moment.localeData instead.',
function (key) {
return moment.localeData(key);
}
@@ -23136,7 +23934,7 @@ return /******/ (function(modules) { // webpackBootstrap
// compare moment object
moment.isMoment = function (obj) {
return obj instanceof Moment ||
- (obj != null && obj.hasOwnProperty('_isAMomentObject'));
+ (obj != null && hasOwnProp(obj, '_isAMomentObject'));
};
// for typechecking Duration objects
@@ -23192,7 +23990,7 @@ return /******/ (function(modules) { // webpackBootstrap
},
toString : function () {
- return this.clone().locale('en').format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
+ return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
},
toDate : function () {
@@ -23575,7 +24373,7 @@ return /******/ (function(modules) { // webpackBootstrap
},
lang : deprecate(
- "moment().lang() is deprecated. Use moment().localeData() instead.",
+ 'moment().lang() is deprecated. Use moment().localeData() instead.',
function (key) {
if (key === undefined) {
return this.localeData();
@@ -23807,8 +24605,8 @@ return /******/ (function(modules) { // webpackBootstrap
locale : moment.fn.locale,
toIsoString : deprecate(
- "toIsoString() is deprecated. Please use toISOString() instead " +
- "(notice the capitals)",
+ 'toIsoString() is deprecated. Please use toISOString() instead ' +
+ '(notice the capitals)',
function () {
return this.toISOString();
}
@@ -23845,6 +24643,8 @@ return /******/ (function(modules) { // webpackBootstrap
}
});
+ moment.duration.fn.toString = moment.duration.fn.toISOString;
+
function makeDurationGetter(name) {
moment.duration.fn[name] = function () {
return this._data[name];
@@ -23852,7 +24652,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
for (i in unitMillisecondFactors) {
- if (unitMillisecondFactors.hasOwnProperty(i)) {
+ if (hasOwnProp(unitMillisecondFactors, i)) {
makeDurationGetter(i.toLowerCase());
}
}
@@ -23926,24 +24726,24 @@ return /******/ (function(modules) { // webpackBootstrap
if (hasModule) {
module.exports = moment;
} else if (true) {
- !(__WEBPACK_AMD_DEFINE_RESULT__ = (function (require, exports, module) {
+ !(__WEBPACK_AMD_DEFINE_RESULT__ = function (require, exports, module) {
if (module.config && module.config() && module.config().noGlobal === true) {
// release the global variable
globalScope.moment = oldGlobalMoment;
}
return moment;
- }.call(exports, __webpack_require__, exports, module)), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
makeGlobal(true);
} else {
makeGlobal();
}
}).call(this);
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(58)(module)))
+ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(64)(module)))
/***/ },
-/* 49 */
+/* 52 */
/***/ function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_RESULT__;/*! Hammer.JS - v1.1.3 - 2014-05-20
@@ -26096,9 +26896,9 @@ return /******/ (function(modules) { // webpackBootstrap
// AMD export
if(true) {
- !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {
+ !(__WEBPACK_AMD_DEFINE_RESULT__ = function() {
return Hammer;
- }.call(exports, __webpack_require__, exports, module)), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
+ }.call(exports, __webpack_require__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
// commonjs export
} else if(typeof module !== 'undefined' && module.exports) {
module.exports = Hammer;
@@ -26110,7 +26910,7 @@ return /******/ (function(modules) { // webpackBootstrap
})(window);
/***/ },
-/* 50 */
+/* 53 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -27253,7 +28053,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 51 */
+/* 54 */
/***/ function(module, exports, __webpack_require__) {
var util = __webpack_require__(1);
@@ -27623,12 +28423,13 @@ return /******/ (function(modules) { // webpackBootstrap
* @private
*/
exports._doInAllActiveSectors = function(runFunction,argument) {
+ var returnValues = [];
if (argument === undefined) {
for (var sector in this.sectors["active"]) {
if (this.sectors["active"].hasOwnProperty(sector)) {
// switch the global references to those of this sector
this._switchToActiveSector(sector);
- this[runFunction]();
+ returnValues.push( this[runFunction]() );
}
}
}
@@ -27639,16 +28440,17 @@ return /******/ (function(modules) { // webpackBootstrap
this._switchToActiveSector(sector);
var args = Array.prototype.splice.call(arguments, 1);
if (args.length > 1) {
- this[runFunction](args[0],args[1]);
+ returnValues.push( this[runFunction](args[0],args[1]) );
}
else {
- this[runFunction](argument);
+ returnValues.push( this[runFunction](argument) );
}
}
}
}
// we revert the global references back to our active sector
this._loadLatestSector();
+ return returnValues;
};
@@ -27662,22 +28464,24 @@ return /******/ (function(modules) { // webpackBootstrap
* @private
*/
exports._doInSupportSector = function(runFunction,argument) {
+ var returnValues = false;
if (argument === undefined) {
this._switchToSupportSector();
- this[runFunction]();
+ returnValues = this[runFunction]();
}
else {
this._switchToSupportSector();
var args = Array.prototype.splice.call(arguments, 1);
if (args.length > 1) {
- this[runFunction](args[0],args[1]);
+ returnValues = this[runFunction](args[0],args[1]);
}
else {
- this[runFunction](argument);
+ returnValues = this[runFunction](argument);
}
}
// we revert the global references back to our active sector
this._loadLatestSector();
+ return returnValues;
};
@@ -27807,7 +28611,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 52 */
+/* 55 */
/***/ function(module, exports, __webpack_require__) {
var Node = __webpack_require__(36);
@@ -28518,7 +29322,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 53 */
+/* 56 */
/***/ function(module, exports, __webpack_require__) {
var util = __webpack_require__(1);
@@ -28587,6 +29391,8 @@ return /******/ (function(modules) { // webpackBootstrap
this.off('select', this.boundFunction);
}
+ var locale = this.constants.locales[this.constants.locale];
+
if (this.edgeBeingEdited !== undefined) {
this.edgeBeingEdited._disableControlNodes();
this.edgeBeingEdited = undefined;
@@ -28608,30 +29414,31 @@ return /******/ (function(modules) { // webpackBootstrap
while (this.manipulationDiv.hasChildNodes()) {
this.manipulationDiv.removeChild(this.manipulationDiv.firstChild);
}
+
// add the icons to the manipulator div
this.manipulationDiv.innerHTML = "" +
"" +
- ""+this.constants.labels['add'] +"" +
+ ""+locale['addNode'] +"" +
"" +
"" +
- ""+this.constants.labels['link'] +"";
+ ""+locale['addEdge'] +"";
if (this._getSelectedNodeCount() == 1 && this.triggerFunctions.edit) {
this.manipulationDiv.innerHTML += "" +
"" +
"" +
- ""+this.constants.labels['editNode'] +"";
+ ""+locale['editNode'] +"";
}
else if (this._getSelectedEdgeCount() == 1 && this._getSelectedNodeCount() == 0) {
this.manipulationDiv.innerHTML += "" +
"" +
"" +
- ""+this.constants.labels['editEdge'] +"";
+ ""+locale['editEdge'] +"";
}
if (this._selectionIsEmpty() == false) {
this.manipulationDiv.innerHTML += "" +
"" +
"" +
- ""+this.constants.labels['del'] +"";
+ ""+locale['del'] +"";
}
@@ -28661,7 +29468,7 @@ return /******/ (function(modules) { // webpackBootstrap
else {
this.editModeDiv.innerHTML = "" +
"" +
- "" + this.constants.labels['edit'] + "";
+ "" + locale['edit'] + "";
var editModeButton = document.getElementById("network-manipulate-editModeButton");
editModeButton.onclick = this._toggleEditMode.bind(this);
}
@@ -28681,13 +29488,15 @@ return /******/ (function(modules) { // webpackBootstrap
this.off('select', this.boundFunction);
}
+ var locale = this.constants.locales[this.constants.locale];
+
// create the toolbar contents
this.manipulationDiv.innerHTML = "" +
"" +
- "" + this.constants.labels['back'] + " " +
+ "" + locale['back'] + " " +
"" +
"" +
- "" + this.constants.labels['addDescription'] + "";
+ "" + locale['addDescription'] + "";
// bind the icon
var backButton = document.getElementById("network-manipulate-back");
@@ -28710,6 +29519,8 @@ return /******/ (function(modules) { // webpackBootstrap
this._unselectAll(true);
this.freezeSimulation = true;
+ var locale = this.constants.locales[this.constants.locale];
+
if (this.boundFunction) {
this.off('select', this.boundFunction);
}
@@ -28720,10 +29531,10 @@ return /******/ (function(modules) { // webpackBootstrap
this.manipulationDiv.innerHTML = "" +
"" +
- "" + this.constants.labels['back'] + " " +
+ "" + locale['back'] + " " +
"" +
"" +
- "" + this.constants.labels['linkDescription'] + "";
+ "" + locale['edgeDescription'] + "";
// bind the icon
var backButton = document.getElementById("network-manipulate-back");
@@ -28760,12 +29571,14 @@ return /******/ (function(modules) { // webpackBootstrap
this.edgeBeingEdited = this._getSelectedEdge();
this.edgeBeingEdited._enableControlNodes();
+ var locale = this.constants.locales[this.constants.locale];
+
this.manipulationDiv.innerHTML = "" +
"" +
- "" + this.constants.labels['back'] + " " +
+ "" + locale['back'] + " " +
"" +
"" +
- "" + this.constants.labels['editEdgeDescription'] + "";
+ "" + locale['editEdgeDescription'] + "";
// bind the icon
var backButton = document.getElementById("network-manipulate-back");
@@ -28851,9 +29664,10 @@ return /******/ (function(modules) { // webpackBootstrap
exports._handleConnect = function(pointer) {
if (this._getSelectedNodeCount() == 0) {
var node = this._getNodeAt(pointer);
+
if (node != null) {
if (node.clusterSize > 1) {
- alert("Cannot create edges to a cluster.")
+ alert(this.constants.locales[this.constants.locale]['createEdgeError'])
}
else {
this._selectObject(node,false);
@@ -28909,7 +29723,7 @@ return /******/ (function(modules) { // webpackBootstrap
var node = this._getNodeAt(pointer);
if (node != null) {
if (node.clusterSize > 1) {
- alert("Cannot create edges to a cluster.")
+ alert(this.constants.locales[this.constants.locale]["createEdgeError"])
}
else {
this._createEdge(connectFromId,node.id);
@@ -28939,7 +29753,7 @@ return /******/ (function(modules) { // webpackBootstrap
});
}
else {
- alert(this.constants.labels['addError']);
+ throw new Error('The function for add does not support two arguments (data,callback)');
this._createManipulatorBar();
this.moving = true;
this.start();
@@ -28973,7 +29787,7 @@ return /******/ (function(modules) { // webpackBootstrap
});
}
else {
- alert(this.constants.labels["linkError"]);
+ throw new Error('The function for connect does not support two arguments (data,callback)');
this.moving = true;
this.start();
}
@@ -29004,7 +29818,7 @@ return /******/ (function(modules) { // webpackBootstrap
});
}
else {
- alert(this.constants.labels["linkError"]);
+ throw new Error('The function for edit does not support two arguments (data, callback)');
this.moving = true;
this.start();
}
@@ -29047,11 +29861,11 @@ return /******/ (function(modules) { // webpackBootstrap
});
}
else {
- alert(this.constants.labels["editError"]);
+ throw new Error('The function for edit does not support two arguments (data, callback)');
}
}
else {
- alert(this.constants.labels["editBoundError"]);
+ throw new Error('No edit function has been bound to this button');
}
};
@@ -29081,7 +29895,7 @@ return /******/ (function(modules) { // webpackBootstrap
});
}
else {
- alert(this.constants.labels["deleteError"])
+ throw new Error('The function for delete does not support two arguments (data, callback)')
}
}
else {
@@ -29093,14 +29907,14 @@ return /******/ (function(modules) { // webpackBootstrap
}
}
else {
- alert(this.constants.labels["deleteClusterError"]);
+ alert(this.constants.locales[this.constants.locale]["deleteClusterError"]);
}
}
};
/***/ },
-/* 54 */
+/* 57 */
/***/ function(module, exports, __webpack_require__) {
var util = __webpack_require__(1);
@@ -29109,8 +29923,8 @@ return /******/ (function(modules) { // webpackBootstrap
exports._cleanNavigation = function() {
// clean up previous navigation items
var wrapper = document.getElementById('network-navigation_wrapper');
- if (wrapper != null) {
- this.containerElement.removeChild(wrapper);
+ if (wrapper && wrapper.parentNode) {
+ wrapper.parentNode.removeChild(wrapper);
}
document.onmouseup = null;
};
@@ -29131,23 +29945,20 @@ return /******/ (function(modules) { // webpackBootstrap
var navigationDivActions = ['_moveUp','_moveDown','_moveLeft','_moveRight','_zoomIn','_zoomOut','zoomExtent'];
this.navigationDivs['wrapper'] = document.createElement('div');
- this.navigationDivs['wrapper'].id = "network-navigation_wrapper";
- this.navigationDivs['wrapper'].style.position = "absolute";
- this.navigationDivs['wrapper'].style.width = this.frame.canvas.clientWidth + "px";
- this.navigationDivs['wrapper'].style.height = this.frame.canvas.clientHeight + "px";
- this.containerElement.insertBefore(this.navigationDivs['wrapper'],this.frame);
+ this.navigationDivs['wrapper'].id = 'network-navigation_wrapper';
+ this.frame.appendChild(this.navigationDivs['wrapper']);
var me = this;
for (var i = 0; i < navigationDivs.length; i++) {
this.navigationDivs[navigationDivs[i]] = document.createElement('div');
- this.navigationDivs[navigationDivs[i]].id = "network-navigation_" + navigationDivs[i];
- this.navigationDivs[navigationDivs[i]].className = "network-navigation " + navigationDivs[i];
+ this.navigationDivs[navigationDivs[i]].id = 'network-navigation_' + navigationDivs[i];
+ this.navigationDivs[navigationDivs[i]].className = 'network-navigation ' + navigationDivs[i];
this.navigationDivs['wrapper'].appendChild(this.navigationDivs[navigationDivs[i]]);
var hammer = Hammer(this.navigationDivs[navigationDivs[i]], {prevent_default: true});
- hammer.on("touch", me[navigationDivActions[i]].bind(me));
+ hammer.on('touch', me[navigationDivActions[i]].bind(me));
}
var hammer = Hammer(document, {prevent_default: false});
- hammer.on("release", me._stopMovement.bind(me));
+ hammer.on('release', me._stopMovement.bind(me));
};
/**
@@ -29173,6 +29984,7 @@ return /******/ (function(modules) { // webpackBootstrap
exports._moveUp = function(event) {
this.yIncrement = this.constants.keyboard.speed.y;
this.start(); // if there is no node movement, the calculation wont be done
+ event.preventDefault();
};
@@ -29183,6 +29995,7 @@ return /******/ (function(modules) { // webpackBootstrap
exports._moveDown = function(event) {
this.yIncrement = -this.constants.keyboard.speed.y;
this.start(); // if there is no node movement, the calculation wont be done
+ event.preventDefault();
};
@@ -29193,6 +30006,7 @@ return /******/ (function(modules) { // webpackBootstrap
exports._moveLeft = function(event) {
this.xIncrement = this.constants.keyboard.speed.x;
this.start(); // if there is no node movement, the calculation wont be done
+ event.preventDefault();
};
@@ -29203,6 +30017,7 @@ return /******/ (function(modules) { // webpackBootstrap
exports._moveRight = function(event) {
this.xIncrement = -this.constants.keyboard.speed.y;
this.start(); // if there is no node movement, the calculation wont be done
+ event.preventDefault();
};
@@ -29213,6 +30028,7 @@ return /******/ (function(modules) { // webpackBootstrap
exports._zoomIn = function(event) {
this.zoomIncrement = this.constants.keyboard.speed.zoom;
this.start(); // if there is no node movement, the calculation wont be done
+ event.preventDefault();
};
@@ -29220,10 +30036,10 @@ return /******/ (function(modules) { // webpackBootstrap
* Zoom out
* @private
*/
- exports._zoomOut = function() {
+ exports._zoomOut = function(event) {
this.zoomIncrement = -this.constants.keyboard.speed.zoom;
this.start(); // if there is no node movement, the calculation wont be done
- util.preventDefault(event);
+ event.preventDefault();
};
@@ -29231,8 +30047,9 @@ return /******/ (function(modules) { // webpackBootstrap
* Stop zooming and unhighlight the zoom controls
* @private
*/
- exports._stopZoom = function() {
+ exports._stopZoom = function(event) {
this.zoomIncrement = 0;
+ event && event.preventDefault();
};
@@ -29240,8 +30057,9 @@ return /******/ (function(modules) { // webpackBootstrap
* Stop moving in the Y direction and unHighlight the up and down
* @private
*/
- exports._yStopMoving = function() {
+ exports._yStopMoving = function(event) {
this.yIncrement = 0;
+ event && event.preventDefault();
};
@@ -29249,13 +30067,14 @@ return /******/ (function(modules) { // webpackBootstrap
* Stop moving in the X direction and unHighlight left and right.
* @private
*/
- exports._xStopMoving = function() {
+ exports._xStopMoving = function(event) {
this.xIncrement = 0;
+ event && event.preventDefault();
};
/***/ },
-/* 55 */
+/* 58 */
/***/ function(module, exports, __webpack_require__) {
exports._resetLevels = function() {
@@ -29264,6 +30083,7 @@ return /******/ (function(modules) { // webpackBootstrap
var node = this.nodes[nodeId];
if (node.preassignedLevel == false) {
node.level = -1;
+ node.hierarchyEnumerated = false;
}
}
}
@@ -29317,7 +30137,7 @@ return /******/ (function(modules) { // webpackBootstrap
// if the user defined some levels but not all, alert and run without hierarchical layout
if (undefinedLevel == true && definedLevel == true) {
- alert("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");
+ throw new Error("To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.");
this.zoomExtent(true,this.constants.clustering.enabled);
if (!this.constants.clustering.enabled) {
this.start();
@@ -29329,7 +30149,13 @@ return /******/ (function(modules) { // webpackBootstrap
// define levels if undefined by the users. Based on hubsize
if (undefinedLevel == true) {
- this._determineLevels(hubsize);
+ if (this.constants.hierarchicalLayout.layout == "hubsize") {
+ this._determineLevels(hubsize);
+ }
+ else {
+ this._determineLevelsDirected();
+ }
+
}
// check the distribution of the nodes per level.
var distribution = this._getDistribution();
@@ -29471,6 +30297,52 @@ return /******/ (function(modules) { // webpackBootstrap
}
};
+ /**
+ * this function allocates nodes in levels based on the recursive branching from the largest hubs.
+ *
+ * @param hubsize
+ * @private
+ */
+ exports._determineLevelsDirected = function() {
+ var nodeId, node;
+
+ // set first node to source
+ for (nodeId in this.nodes) {
+ if (this.nodes.hasOwnProperty(nodeId)) {
+ this.nodes[nodeId].level = 10000;
+ break;
+ }
+ }
+
+ // branch from hubs
+ for (nodeId in this.nodes) {
+ if (this.nodes.hasOwnProperty(nodeId)) {
+ node = this.nodes[nodeId];
+ if (node.level == 10000) {
+ this._setLevelDirected(10000,node.edges,node.id);
+ }
+ }
+ }
+
+
+ // branch from hubs
+ var minLevel = 10000;
+ for (nodeId in this.nodes) {
+ if (this.nodes.hasOwnProperty(nodeId)) {
+ node = this.nodes[nodeId];
+ minLevel = node.level < minLevel ? node.level : minLevel;
+ }
+ }
+
+ // branch from hubs
+ for (nodeId in this.nodes) {
+ if (this.nodes.hasOwnProperty(nodeId)) {
+ node = this.nodes[nodeId];
+ node.level -= minLevel;
+ }
+ }
+ };
+
/**
* Since hierarchical layout does not support:
@@ -29559,7 +30431,7 @@ return /******/ (function(modules) { // webpackBootstrap
}
if (childNode.level == -1 || childNode.level > level) {
childNode.level = level;
- if (edges.length > 1) {
+ if (childNode.edges.length > 1) {
this._setLevel(level+1, childNode.edges, childNode.id);
}
}
@@ -29567,6 +30439,42 @@ return /******/ (function(modules) { // webpackBootstrap
};
+ /**
+ * this function is called recursively to enumerate the barnches of the largest hubs and give each node a level.
+ *
+ * @param level
+ * @param edges
+ * @param parentId
+ * @private
+ */
+ exports._setLevelDirected = function(level, edges, parentId) {
+ this.nodes[parentId].hierarchyEnumerated = true;
+ for (var i = 0; i < edges.length; i++) {
+ var childNode = null;
+ var direction = 1;
+ if (edges[i].toId == parentId) {
+ childNode = edges[i].from;
+ direction = -1;
+ }
+ else {
+ childNode = edges[i].to;
+ }
+ if (childNode.level == -1) {
+ childNode.level = level + direction;
+ }
+ }
+
+ for (var i = 0; i < edges.length; i++) {
+ var childNode = null;
+ if (edges[i].toId == parentId) {childNode = edges[i].from;}
+ else {childNode = edges[i].to;}
+ if (childNode.edges.length > 1 && childNode.hierarchyEnumerated === false) {
+ this._setLevelDirected(childNode.level, childNode.edges, childNode.id);
+ }
+ }
+ };
+
+
/**
* Unfix nodes
*
@@ -29583,13 +30491,13 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 56 */
+/* 59 */
/***/ function(module, exports, __webpack_require__) {
var util = __webpack_require__(1);
- var RepulsionMixin = __webpack_require__(59);
- var HierarchialRepulsionMixin = __webpack_require__(60);
- var BarnesHutMixin = __webpack_require__(61);
+ var RepulsionMixin = __webpack_require__(61);
+ var HierarchialRepulsionMixin = __webpack_require__(62);
+ var BarnesHutMixin = __webpack_require__(63);
/**
* Toggling barnes Hut calculation on and off.
@@ -30297,7 +31205,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 57 */
+/* 60 */
/***/ function(module, exports, __webpack_require__) {
function webpackContext(req) {
@@ -30309,23 +31217,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 58 */
-/***/ function(module, exports, __webpack_require__) {
-
- module.exports = function(module) {
- if(!module.webpackPolyfill) {
- module.deprecate = function() {};
- module.paths = [];
- // module.parent = undefined by default
- module.children = [];
- module.webpackPolyfill = 1;
- }
- return module;
- }
-
-
-/***/ },
-/* 59 */
+/* 61 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -30389,7 +31281,7 @@ return /******/ (function(modules) { // webpackBootstrap
/***/ },
-/* 60 */
+/* 62 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -30548,7 +31440,7 @@ return /******/ (function(modules) { // webpackBootstrap
};
/***/ },
-/* 61 */
+/* 63 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -30952,6 +31844,22 @@ return /******/ (function(modules) { // webpackBootstrap
};
+/***/ },
+/* 64 */
+/***/ function(module, exports, __webpack_require__) {
+
+ module.exports = function(module) {
+ if(!module.webpackPolyfill) {
+ module.deprecate = function() {};
+ module.paths = [];
+ // module.parent = undefined by default
+ module.children = [];
+ module.webpackPolyfill = 1;
+ }
+ return module;
+ }
+
+
/***/ }
/******/ ])
});
diff --git a/dist/vis.map b/dist/vis.map
index defee668..0b559dd1 100644
--- a/dist/vis.map
+++ b/dist/vis.map
@@ -1 +1 @@
-{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DataStep","Range","stack","TimeStep","components","items","Item","ItemBox","ItemPoint","ItemRange","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidRGB","rgb","substr","RGBToHex","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","found","low","high","newLow","newHigh","guess","isVisible","start","console","log","binarySearchGeneric","sidePreference","newGuess","prevValue","nextValue","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","createElement","drawPoint","x","y","group","point","drawPoints","style","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","prototype","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","item","col","cols","getValue","update","updatedIds","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","map","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","keys","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","setOptions","Emitter","_setScale","scale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","end","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","delay","mouseX","mouseY","tooltipTimeout","clearTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","setTimeout","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","LN10","step1","pow","step2","step5","toPrecision","getStep","coreProp","Core","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setItems","_initAutoResize","component","newDataSet","initialLoad","fit","setWindow","setGroups","groups","setSelection","getSelection","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","minimumStep","containerHeight","forcedStepSize","current","autoScale","stepIndex","marginStart","marginEnd","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","first","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","slice","isMajor","now","hours","minutes","seconds","milliseconds","clone","direction","moveable","zoomable","zoomMin","zoomMax","touch","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","changed","_applyRange","newStart","newEnd","getRange","conversion","allowDragging","gesture","deltaX","deltaY","diffRange","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","initDate","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","date","year","getLabelMinor","format","getLabelMajor","destroy","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","parent","backgroundVertical","title","currentTimeTimer","showCustomTime","eventParams","Hammer","drag","prevent_default","setCustomTime","time","getCustomTime","dragging","stopPropagation","svg","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","characterHeight","largestWidth","majorCharWidth","minorCharWidth","convertValue","invertedValue","convertedValue","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","visibleItems","byStart","byEnd","inner","foreground","marker","visibility","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","offsetTop","offsetLeft","ii","repositionY","labelSet","setParent","_checkIfVisible","removeFromDataSet","removeItem","_constructByEndArray","endArray","initialPosByStart","newVisibleItems","initialPosByEnd","_checkIfInvisible","repositionX","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onRemove","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","box","_updateUngrouped","centerContainer","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","getLabelSet","oldItemsData","getItems","_order","getGroups","itemData","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","selected","dragLeftItem","dragRightItem","itemProps","groupFromTarget","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","dataAxis","legend","lastStart","rangePerPixelInv","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","preprocessedGroup","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_preprocessData","_updateYAxis","_convertYvalues","_drawLineGraph","_drawBarGraph","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","_toggleAxisVisiblity","drawIcons","axisUsed","coreDistance","_drawPoints","svgHeight","_catmullRom","_linear","dFill","datapoints","xValue","yValue","extractedData","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","majorLines","majorTexts","minorLines","minorTexts","lineTop","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","insertBefore","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","itemSetHeight","anchor","deleteButton","marginLeft","baseClassName","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fixed","fontColor","fontSize","fontFace","level","highlightColor","edges","widthSelectionMultiplier","hoverWidth","fontFill","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilize","stabilizationIterations","link","editNode","back","addDescription","linkDescription","editEdgeDescription","addError","linkError","editError","editBoundError","deleteError","deleteClusterError","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","hoverObj","controlNodesActive","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","MixinLoader","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","_centerNetwork","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","_createKeyBinds","pinch","_onTap","_onDoubleTap","_onRelease","_onMouseMoveTitle","reset","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","manipulationDiv","navigationDivs","oldNodesData","_updateSelection","angle","_resetLevels","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","draw","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","iterations","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","_doInAllActiveSectors","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","dataArray","allowedToMoveX","allowedToMoveY","focusOnNode","nodePosition","requiredScale","canvasCenter","distanceFromCenter","networkConstants","fromId","toId","widthSelected","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","img","Image","onload","imagelist","grouplist","dynamicEdges","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","fx","fy","vx","vy","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","borderWidthSelected","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","lineCount","yLine","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","attributes","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","listeners","events","args","scrollTop","scrollTopMin","_stopAutoResize","what","dataRange","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","unbind","trigger","__WEBPACK_AMD_DEFINE_RESULT__","global","dfl","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","_d","Duration","duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","month","weeks","week","days","day","hour","minute","second","millisecond","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","method","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","DATE","_overflowDayOfYear","isValid","_isValid","getTime","normalizeLocale","chooseLocale","names","locale","loadLocale","oldLocale","locales","hasModule","code","model","zone","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parts","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dayOfYear","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","meridiem","SS","SSS","SSSS","Z","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","lang","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","getTimezoneOffset","inputString","asFloat","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isSame","localAdjust","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","dates","isoWeeks","toJSON","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","context","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getScale","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocity","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Infinity","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","nodeIds","getSelectedNodes","edgeIds","getSelectedEdges","idArray","RangeError","selectNodes","selectEdges","_clearManipulatorBar","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","getElementById","boundFunction","edgeBeingEdited","selectedControlNode","addNodeButton","_createAddNodeToolbar","addEdgeButton","_createAddEdgeToolbar","editButton","_editNode","_createEditEdgeToolbar","editModeButton","backButton","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","smooth","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivActions","_stopMovement","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","amount","maxCount","_setLevel","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","webpackContext","req","resolve","webpackPolyfill","paths","children","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"vis.map","sources":["./dist/vis.js"],"names":["root","factory","exports","module","define","amd","this","modules","__webpack_require__","moduleId","installedModules","id","loaded","call","m","c","p","util","DOMutil","DataSet","DataView","Graph3d","graph3d","Camera","Filter","Point2d","Point3d","Slider","StepNumber","Timeline","Graph2d","timeline","DataStep","Range","stack","TimeStep","components","items","Item","ItemBox","ItemPoint","ItemRange","Component","CurrentTime","CustomTime","DataAxis","GraphGroup","Group","ItemSet","Legend","LineGraph","TimeAxis","Network","network","Edge","Groups","Images","Node","Popup","dotparser","gephiParser","Graph","Error","moment","hammer","isNumber","object","Number","isString","String","isDate","Date","match","ASPDateRegex","exec","isNaN","parse","isDataTable","google","visualization","DataTable","randomUUID","S4","Math","floor","random","toString","extend","a","i","len","arguments","length","other","prop","hasOwnProperty","selectiveExtend","props","Array","isArray","selectiveDeepExtend","b","TypeError","constructor","Object","undefined","deepExtend","selectiveNotDeepExtend","indexOf","equalArray","convert","type","Boolean","valueOf","isMoment","toDate","getType","toISOString","value","getAbsoluteLeft","elem","getBoundingClientRect","left","window","pageXOffset","getAbsoluteTop","top","pageYOffset","addClassName","className","classes","split","push","join","removeClassName","index","splice","forEach","callback","toArray","array","updateProperty","key","addEventListener","element","action","listener","useCapture","navigator","userAgent","attachEvent","removeEventListener","detachEvent","preventDefault","event","returnValue","getTarget","target","srcElement","nodeType","parentNode","option","asBoolean","defaultValue","asNumber","asString","asSize","asElement","GiveDec","Hex","Value","eval","GiveHex","Dec","parseColor","color","isValidRGB","rgb","substr","RGBToHex","isValidHex","hsv","hexToHSV","lighterColorHSV","h","s","v","min","darkerColorHSV","darkerColorHex","HSVToHex","lighterColorHex","background","border","highlight","hover","hexToRGB","hex","replace","toUpperCase","substring","d","e","f","r","g","red","green","blue","RGBToHSV","minRGB","maxRGB","max","hue","saturation","HSVToRGB","q","t","isOk","test","selectiveBridgeObject","fields","referenceObject","objectTo","create","bridgeObject","mergeOptions","mergeTarget","options","enabled","binarySearch","orderedItems","range","field","field2","maxIterations","iteration","found","low","high","newLow","newHigh","guess","isVisible","start","console","log","binarySearchGeneric","sidePreference","newGuess","prevValue","nextValue","easeInOutQuad","end","duration","change","prepareElements","JSONcontainer","elementType","redundant","used","cleanupElements","removeChild","getSVGElement","svgContainer","shift","document","createElementNS","appendChild","getDOMElement","DOMContainer","insertBefore","createElement","drawPoint","x","y","group","point","drawPoints","style","setAttributeNS","size","drawBar","width","height","rect","data","_options","_data","_fieldId","fieldId","_type","_subscribers","add","prototype","on","subscribers","subscribe","off","filter","unsubscribe","_trigger","params","senderId","concat","subscriber","addedIds","me","_addItem","columns","_getColumnNames","row","rows","getNumberOfRows","item","col","cols","getValue","update","updatedIds","addOrUpdate","_updateItem","get","ids","firstType","returnType","allowedValues","itemId","_getItem","order","_sort","_filterFields","_appendRow","result","getIds","getDataSet","map","mappedItems","filteredItem","name","sort","av","bv","remove","removedId","removedIds","_remove","clear","keys","maxField","itemField","minField","distinct","values","fieldType","count","exists","types","raw","converted","JSON","stringify","dataTable","getNumberOfColumns","getColumnId","getColumnLabel","addRow","setValue","_ids","_onEvent","apply","setData","viewOptions","getArguments","defaultFilter","dataSet","added","updated","removed","container","SyntaxError","containerElement","margin","defaultXCenter","defaultYCenter","xLabel","yLabel","zLabel","filterLabel","legendLabel","STYLE","DOT","showPerspective","showGrid","keepAspectRatio","showShadow","showGrayBottom","showTooltip","verticalRatio","animationInterval","animationPreload","camera","eye","dataPoints","colX","colY","colZ","colValue","colFilter","xMin","xStep","xMax","yMin","yStep","yMax","zMin","zStep","zMax","valueMin","valueMax","xBarWidth","yBarWidth","colorAxis","colorGrid","colorDot","colorDotBorder","setOptions","Emitter","_setScale","scale","z","xCenter","yCenter","zCenter","setArmLocation","_convert3Dto2D","point3d","translation","_convertPointToTranslation","_convertTranslationToScreen","ax","ay","az","cx","getCameraLocation","cy","cz","sinTx","sin","getCameraRotation","cosTx","cos","sinTy","cosTy","sinTz","cosTz","dx","dy","dz","bx","by","ex","ey","ez","getArmLength","xcenter","frame","canvas","clientWidth","ycenter","_setBackgroundColor","backgroundColor","fill","stroke","strokeWidth","borderColor","borderWidth","borderStyle","BAR","BARCOLOR","BARSIZE","DOTLINE","DOTCOLOR","DOTSIZE","GRID","LINE","SURFACE","_getStyleNumber","styleName","_determineColumnIndexes","counter","column","getDistinctValues","distinctValues","getColumnRange","minMax","_dataInitialize","rawData","_onChange","dataFilter","setOnLoadCallback","redraw","withBars","defaultXBarWidth","dataX","defaultYBarWidth","dataY","xRange","defaultXMin","defaultXMax","defaultXStep","yRange","defaultYMin","defaultYMax","defaultYStep","zRange","defaultZMin","defaultZMax","defaultZStep","valueRange","defaultValueMin","defaultValueMax","_getDataPoints","sortNumber","obj","dataMatrix","xIndex","yIndex","trans","screen","bottom","pointRight","pointTop","pointCross","hasChildNodes","firstChild","position","overflow","noCanvas","fontWeight","padding","innerHTML","onmousedown","_onMouseDown","ontouchstart","_onTouchStart","onmousewheel","_onWheel","ontooltip","_onTooltip","onkeydown","setSize","_resizeCanvas","clientHeight","animationStart","slider","play","animationStop","stop","_resizeCenter","charAt","parseFloat","setCameraPosition","pos","horizontal","vertical","setArmRotation","distance","setArmLength","getCameraPosition","getArmRotation","_readData","_redrawFilter","animationAutoStart","cameraPosition","styleNumber","tooltip","showAnimationControls","_redrawSlider","_redrawClear","_redrawAxis","_redrawDataGrid","_redrawDataLine","_redrawDataBar","_redrawDataDot","_redrawInfo","_redrawLegend","ctx","getContext","clearRect","widthMin","widthMax","dotSize","right","lineWidth","font","ymin","ymax","_hsv2rgb","strokeStyle","beginPath","moveTo","lineTo","strokeRect","fillStyle","closePath","gridLineLen","step","getCurrent","next","textAlign","textBaseline","fillText","label","visible","setValues","setPlayInterval","onchange","getIndex","selectValue","setOnChangeCallback","lineStyle","getLabel","getSelectedValue","from","to","prettyStep","text","xText","yText","zText","offset","xOffset","yOffset","xMin2d","xMax2d","gridLenX","gridLenY","textMargin","armAngle","H","S","V","R","G","B","C","Hi","X","abs","parseInt","cross","topSideVisible","zAvg","transBottom","dist","sortDepth","aDiff","subtract","bDiff","crossproduct","crossProduct","radius","arc","PI","j","surface","corners","xWidth","yWidth","surfaces","center","avg","transCenter","diff","leftButtonDown","_onMouseUp","which","button","touchDown","startMouseX","getMouseX","startMouseY","getMouseY","startStart","startEnd","startArmRotation","cursor","onmousemove","_onMouseMove","onmouseup","diffX","diffY","horizontalNew","verticalNew","snapAngle","snapValue","round","parameters","emit","delay","mouseX","mouseY","tooltipTimeout","clearTimeout","_hideTooltip","dataPoint","_dataPointFromXY","_showTooltip","setTimeout","ontouchmove","_onTouchMove","ontouchend","_onTouchEnd","delta","wheelDelta","detail","oldLength","newLength","_insideTriangle","triangle","sign","as","bs","cs","distMax","closestDataPoint","closestDist","triangle1","triangle2","distX","distY","sqrt","content","line","dot","dom","borderRadius","boxShadow","borderLeft","contentWidth","offsetWidth","contentHeight","offsetHeight","lineHeight","dotWidth","dotHeight","clientX","targetTouches","clientY","armLocation","armRotation","armLength","cameraLocation","cameraRotation","calculateCameraOrientation","rot","graph","onLoadCallback","loadInBackground","isLoaded","getLoadedProgress","getColumn","getValues","dataView","progress","sub","sum","prev","bar","MozBorderRadius","slide","onclick","togglePlay","onChangeCallback","playTimeout","playInterval","playLoop","setIndex","playNext","interval","clearInterval","getPlayInterval","setPlayLoop","doLoop","onChange","indexToLeft","startClientX","startSlideX","leftToIndex","_start","_end","_step","precision","_current","setRange","setStep","calculatePrettyStep","log10","LN10","step1","pow","step2","step5","toPrecision","getStep","defaultOptions","autoResize","orientation","maxHeight","minHeight","_create","body","domProps","emitter","bind","snap","toScreen","_toScreen","toGlobalScreen","_toGlobalScreen","toTime","_toTime","toGlobalTime","_toGlobalTime","timeAxis","currentTime","customTime","itemSet","itemsData","groupsData","setItems","Core","newDataSet","initialLoad","setWindow","animate","fit","setGroups","groups","setSelection","focus","getSelection","itemData","middle","getItemRange","dataset","minItem","maxStartItem","maxEndItem","linegraph","getLegend","groupId","isGroupVisible","visibility","minimumStep","containerHeight","customRange","current","autoScale","stepIndex","marginStart","marginEnd","deadSpace","majorSteps","minorSteps","setMinimumStep","setFirst","safeSize","minimumStepValue","orderOfMagnitude","minorStepIdx","magnitudefactor","solutionFound","stepSize","niceStart","niceEnd","roundToMinor","marginRange","rounded","hasNext","previous","slice","isMajor","now","hours","minutes","seconds","milliseconds","clone","direction","moveable","zoomable","zoomMin","zoomMax","touch","animateTimer","_onDragStart","_onDrag","_onDragEnd","_onHold","_onMouseWheel","_onTouch","_onPinch","validateDirection","getPointer","pageX","pageY","hammerUtil","dragging","time","initTime","done","initStart","initEnd","changed","_applyRange","anyChanged","_cancelAnimation","newStart","newEnd","getRange","conversion","allowDragging","gesture","deltaX","deltaY","diffRange","fakeGesture","pointer","pointerDate","_pointerToDate","zoom","touches","initDate","move","EPSILON","orderByStart","orderByEnd","aTime","bTime","force","iMax","axis","collidingItem","jj","collision","nostack","SCALE","DAY","MILLISECOND","SECOND","MINUTE","HOUR","WEEKDAY","MONTH","YEAR","first","setFullYear","getFullYear","setMonth","setDate","setHours","setMinutes","setSeconds","setMilliseconds","getMilliseconds","getSeconds","getMinutes","getHours","getDate","getMonth","setScale","newScale","newStep","setAutoScale","enable","stepYear","stepMonth","stepDay","stepHour","stepMinute","stepSecond","stepMillisecond","date","year","getLabelMinor","format","getLabelMajor","destroy","_isResized","resized","_previousWidth","_previousHeight","showCurrentTime","locales","locale","parent","backgroundVertical","title","currentTimeTimer","setCurrentTime","getCurrentTime","showCustomTime","eventParams","Hammer","drag","prevent_default","setCustomTime","getCustomTime","stopPropagation","svg","linegraphOptions","showMinorLabels","showMajorLabels","icons","majorLinesOffset","minorLinesOffset","labelOffsetX","labelOffsetY","iconWidth","linegraphSVG","DOMelements","lines","labels","conversionFactor","minWidth","stepPixels","stepPixelsForced","lineOffset","master","svgElements","amountOfGroups","addGroup","graphOptions","updateGroup","removeGroup","hide","show","lineContainer","display","_redrawGroupIcons","iconHeight","iconOffset","drawIcon","backgroundHorizontal","changeCalled","activeGroups","_calculateCharSize","minorLabelHeight","minorCharHeight","majorLabelHeight","majorCharHeight","minorLineWidth","minorLineHeight","majorLineWidth","majorLineHeight","_redrawLabels","amountOfSteps","stepDifference","valueAtZero","marginStartPos","maxLabelSize","_redrawLabel","_redrawLine","convertValue","invertedValue","convertedValue","characterHeight","largestWidth","majorCharWidth","minorCharWidth","textMinor","createTextNode","measureCharMinor","textMajor","measureCharMajor","groupsUsingDefaultStyles","usingDefaultStyle","zeroPosition","setZeroPosition","catmullRom","parametrization","alpha","SVGcontainer","path","fillPath","fillHeight","outline","shaded","barWidth","bar1Height","bar2Height","icon","yAxisOrientation","visibleItems","byStart","byEnd","inner","foreground","marker","Element","getLabelWidth","restack","_updateVisibleItems","markerHeight","lastMarkerHeight","dirty","displayed","offsetTop","offsetLeft","ii","repositionY","labelSet","setParent","_checkIfVisible","removeFromDataSet","removeItem","_constructByEndArray","endArray","initialPosByStart","newVisibleItems","initialPosByEnd","_checkIfInvisible","repositionX","align","groupOrder","selectable","editable","updateTime","onAdd","onUpdate","onMove","onMoving","onRemove","itemOptions","itemListeners","_onAdd","_onUpdate","_onRemove","groupListeners","_onAddGroups","_onUpdateGroups","_onRemoveGroups","groupIds","selection","stackDirty","touchParams","UNGROUPED","box","_updateUngrouped","centerContainer","_onSelectItem","_onMultiSelectItem","_onAddItem","addCallback","fn","Function","markDirty","unselect","select","getVisibleItems","rawVisibleItems","_deselect","_orderGroups","visibleInterval","zoomed","lastVisibleInterval","lastWidth","firstGroup","_firstGroup","firstMargin","nonFirstMargin","groupMargin","groupResized","firstGroupIndex","firstGroupId","ungrouped","getLabelSet","oldItemsData","getItems","_order","getGroups","_removeItem","groupData","groupOptions","oldGroupId","oldGroup","itemFromTarget","selected","dragLeftItem","dragRightItem","itemProps","newProps","groupFromTarget","_updateItemProps","_moveToGroup","changes","ctrlKey","srcEvent","shiftKey","oldSelection","newSelection","xAbs","newItem","itemSetFromTarget","side","iconSize","iconSpacing","textArea","drawLegendIcons","getComputedStyle","paddingTop","defaultGroup","sampling","graphHeight","barChart","handleOverlap","dataAxis","legend","abortedGraphUpdate","lastStart","_updateGraph","yAxisLeft","yAxisRight","legendLeft","legendRight","_updateAllGroupData","_updateGroup","groupsContent","ungroupedCounter","rangePerPixelInv","preprocessedGroupData","processedGroupData","groupRanges","minDate","maxDate","_getRelevantData","_convertXcoordinates","_getYRanges","_updateYAxis","_convertYcoordinates","_drawLineGraph","_drawBarGraphs","dataContainer","_applySampling","increment","amountOfPoints","xDistance","pointsPerPixel","ceil","sampledData","barCombinedData","barCombinedDataLeft","barCombinedDataRight","ignore","intersections","_getDataIntersections","_getStackedBarYRange","combinedData","accumulated","xpos","minVal","maxVal","yAxisLeftUsed","yAxisRightUsed","minLeft","minRight","maxLeft","maxRight","_toggleAxisVisiblity","drawIcons","axisUsed","coreDistance","drawData","barPoints","heightOffset","_getSafeDrawData","nextKey","amount","resolved","prevKey","svgHeight","_catmullRom","_linear","dFill","_drawPoints","datapoints","xValue","yValue","extractedData","_catmullRomUniform","p0","p1","p2","p3","bp1","bp2","normalization","d1","d2","d3","A","N","M","d3powA","d2powA","d3pow2A","d2pow2A","d1pow2A","d1powA","majorLines","majorTexts","minorLines","minorTexts","lineTop","lang","parentChanged","foregroundNextSibling","nextSibling","backgroundNextSibling","_repaintLabels","xFirstMajorLabel","cur","_repaintMinorText","_repaintMajorText","_repaintMajorLine","_repaintMinorLine","leftTime","leftText","widthText","arr","pop","childNodes","nodeValue","_repaintDeleteButton","anchor","deleteButton","itemSetHeight","marginLeft","baseClassName","_repaintDragLeft","_repaintDragRight","contentLeft","parentWidth","boxWidth","dragLeft","dragRight","_initializeMixinLoaders","renderRefreshRate","renderTimestep","renderTime","maxPhysicsTicksPerRender","physicsDiscreteStepsize","initializing","triggerFunctions","edit","editEdge","connect","del","nodes","mass","radiusMin","radiusMax","shape","image","fixed","fontColor","fontSize","fontFace","level","highlightColor","edges","widthSelectionMultiplier","hoverWidth","fontFill","arrowScaleFactor","dash","gap","altLength","inheritColor","configurePhysics","physics","barnesHut","theta","gravitationalConstant","centralGravity","springLength","springConstant","damping","repulsion","nodeDistance","hierarchicalRepulsion","clustering","initialMaxNodes","clusterThreshold","reduceToNodes","chainThreshold","clusterEdgeThreshold","sectorThreshold","screenSizeThreshold","fontSizeMultiplier","maxFontSize","forceAmplification","distanceAmplification","edgeGrowth","nodeScaling","maxNodeSizeIncrements","activeAreaBoxSize","clusterLevelDifference","navigation","keyboard","speed","dataManipulation","initiallyVisible","hierarchicalLayout","levelSeparation","nodeSpacing","layout","freezeForStabilization","smoothCurves","dynamic","roundness","dynamicSmoothCurves","maxVelocity","minVelocity","stabilize","stabilizationIterations","dragNetwork","dragNodes","hideEdgesOnDrag","hideNodesOnDrag","constants","hoverObj","controlNodesActive","images","setOnloadCallback","_redraw","xIncrement","yIncrement","zoomIncrement","_loadPhysicsSystem","_loadSectorSystem","_loadClusterSystem","_loadSelectionSystem","_loadHierarchySystem","_setTranslation","freezeSimulation","cachedFunctions","stabilized","calculationNodes","calculationNodeIndices","nodeIndices","canvasTopLeft","canvasBottomRight","pointerPosition","areaCenter","previousScale","nodesData","edgesData","nodesListeners","_addNodes","_updateNodes","_removeNodes","edgesListeners","_addEdges","_updateEdges","_removeEdges","moving","timer","_setupHierarchicalLayout","zoomExtent","startWithClustering","mousetrap","MixinLoader","Activator","_getScriptPath","scripts","getElementsByTagName","src","_getRange","node","minY","maxY","minX","maxX","nodeId","_findCenter","_centerNetwork","initialZoom","disableStart","zoomLevel","numberOfNodes","factor","yDistance","xZoomLevel","yZoomLevel","_updateNodeIndexList","_clearNodeIndexList","idx","dotData","DOTToGraph","gephi","gephiData","parseGephi","_setNodes","_setEdges","_putDataInSector","_resetLevels","_stabilize","onEdit","onEditEdge","onConnect","onDelete","editMode","newColorObj","groupname","clickToUse","activator","_createKeyBinds","_loadNavigationControls","_loadManipulationSystem","_configureSmoothCurves","pinch","_onTap","_onDoubleTap","_onRelease","_onMouseMoveTitle","reset","isActive","_moveUp","_yStopMoving","_moveDown","_moveLeft","_xStopMoving","_moveRight","_zoomIn","_stopZoom","_zoomOut","_createManipulatorBar","_deleteSelected","_getPointer","pinched","_getScale","_handleTouch","_handleDragStart","_getNodeAt","_getTranslation","isSelected","_selectObject","objectId","selectionObj","xFixed","yFixed","_handleOnDrag","_XconvertDOMtoCanvas","_XconvertCanvasToDOM","_YconvertDOMtoCanvas","_YconvertCanvasToDOM","_handleTap","_handleDoubleTap","_handleOnHold","_handleOnRelease","_zoom","scaleOld","preScaleDragPointer","DOMtoCanvas","scaleFrac","tx","ty","updateClustersDefault","postScaleDragPointer","canvasToDOM","popupObj","_checkHidePopup","checkShow","_checkShowPopup","popupTimer","edgeId","_getEdgeAt","_hoverObject","_blurObject","lastPopupNode","getTitle","isOverlappingWith","edge","connected","popup","setPosition","setText","oldNodesData","_updateSelection","angle","_updateCalculationNodes","_reconnectEdges","_updateValueRange","updateLabels","setProperties","properties","oldEdgesData","oldEdge","disconnect","showInternalIds","_createBezierNodes","via","sectors","setValueRange","w","save","translate","_doInAllSectors","restore","offsetX","offsetY","_drawNodes","alwaysShow","setScaleAndPos","inArea","draw","sMax","_drawEdges","_drawControlNodes","_freezeDefinedNodes","_physicsTick","_restoreFrozenNodes","fixedData","_isMoving","vmin","isMoving","_discreteStepNodes","nodesPresent","discreteStepLimited","discreteStep","vminCorrected","mainMovingStatus","supportMovingStatus","_doInAllActiveSectors","mainMoving","_doInSupportSector","_animationStep","_handleNavigation","calculationTime","maxSteps","timeRequired","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","msRequestAnimationFrame","ua","toLowerCase","requiresTimeout","iterations","toggleFreeze","parentEdgeId","internalMultiplier","positionBezierNode","mixin","storePosition","dataArray","allowedToMoveX","allowedToMoveY","focusOnNode","nodePosition","requiredScale","canvasCenter","distanceFromCenter","active","networkConstants","fromId","toId","widthSelected","originalFromId","originalToId","widthFixed","lengthFixed","controlNodesEnabled","controlNodes","positions","connectedNode","_drawLine","_drawArrow","_drawArrowCenter","_drawDashLine","attachEdge","detachEdge","xFrom","yFrom","xTo","yTo","xObj","yObj","_getDistanceToEdge","_getColor","colorObj","_getLineWidth","_line","midpointX","midpointY","_pointOnLine","_label","resize","_circle","_pointOnCircle","networkScaleInv","_getViaCoordinates","xVia","yVia","quadraticCurveTo","measureText","fillRect","mozDash","setLineDash","pattern","lineDashOffset","mozDashOffset","lineCap","dashedLine","percentage","atan2","arrow","edgeSegmentLength","fromBorderDist","distanceToBorder","fromBorderPoint","toBorderDist","toBorderPoint","x1","y1","x2","y2","x3","y3","lastX","lastY","minDistance","_getDistanceToLine","px","py","something","u","nodeIdFrom","nodeIdTo","getControlNodePositions","_enableControlNodes","_disableControlNodes","_getSelectedControlNode","fromDistance","toDistance","_restoreControlNodes","defaultIndex","DEFAULT","load","url","img","Image","onload","imagelist","grouplist","dynamicEdges","reroutedEdges","fontDrawThreshold","horizontalAlignLeft","verticalAlignTop","baseRadiusValue","radiusFixed","preassignedLevel","hierarchyEnumerated","fx","fy","vx","vy","resetCluster","dynamicEdgesLength","clusterSession","clusterSizeWidthFactor","clusterSizeHeightFactor","clusterSizeRadiusFactor","growthIndicator","networkScale","formationScale","clusterSize","containedNodes","containedEdges","clusterSessions","originalLabel","triggerFunction","groupObj","imageObj","_drawDatabase","_resizeDatabase","_drawBox","_resizeBox","_drawCircle","_resizeCircle","_drawEllipse","_resizeEllipse","_drawImage","_resizeImage","_drawText","_resizeText","_drawDot","_resizeShape","_drawSquare","_drawTriangle","_drawTriangleDown","_drawStar","_reset","clearSizeCache","_setForce","_addForce","isFixed","velocity","getDistance","globalAlpha","drawImage","textSize","getTextSize","clusterLineWidth","selectionLineWidth","borderWidthSelected","roundRect","database","diameter","circle","defaultSize","ellipse","_drawShape","radiusMultiplier","baseline","labelUnderNode","lineCount","yLine","inView","clearVelocity","updateVelocity","massBeforeClustering","energyBefore","styleAttr","fontFamily","WebkitBorderRadius","whiteSpace","maxWidth","parseDOT","parseGraph","nextPreview","isAlphaNumeric","regexAlphaNumeric","merge","o","addNode","graphs","attr","addEdge","createEdge","getToken","tokenType","TOKENTYPE","NULL","token","isComment","DELIMITER","c2","DELIMITERS","IDENTIFIER","newSyntaxError","UNKNOWN","chop","strict","parseStatements","parseStatement","subgraph","parseSubgraph","parseEdge","parseAttributeStatement","parseNodeStatement","subgraphs","parseAttributeList","message","maxLength","forEach2","array1","array2","elem1","elem2","convertEdge","dotEdge","graphEdge","graphData","dotNode","graphNode","subEdge","{","}","[","]",";","=",",","->","--","gephiJSON","allowedToMove","gEdges","gNodes","gEdge","source","attributes","gNode","leftContainer","rightContainer","shadowTop","shadowBottom","shadowTopLeft","shadowBottomLeft","shadowTopRight","shadowBottomRight","listeners","events","args","scrollTop","scrollTopMin","_initAutoResize","component","_stopAutoResize","what","dataRange","getWindow","borderRootHeight","borderRootWidth","autoHeight","centerWidth","_updateScrollTop","visibilityTop","visibilityBottom","repaint","_startAutoResize","_onResize","lastHeight","watchTimer","setInterval","initialScrollTop","oldScrollTop","_getScrollTop","newScrollTop","_setScrollTop","eventType","getTouchList","collectEventData","custom","back","editNode","addDescription","edgeDescription","editEdgeDescription","createEdgeError","deleteClusterError","CanvasRenderingContext2D","square","s2","ir","triangleDown","star","n","r2d","kappa","ox","oy","xe","ye","xm","ym","bezierCurveTo","wEllipse","hEllipse","ymb","yeb","xt","yt","xi","yi","xl","yl","xr","yr","dashArray","dashLength","dashCount","slope","distRemaining","dashIndex","PhysicsMixin","ClusterMixin","SectorsMixin","SelectionMixin","ManipulationMixin","NavigationMixin","HierarchicalLayoutMixin","_loadMixin","sourceVariable","mixinFunction","_clearMixin","_loadSelectedForceSolver","_loadPhysicsConfiguration","hubThreshold","activeSector","drawingNode","blockConnectingEdgeSelection","forceAppendSelection","manipulationDiv","editModeDiv","closeDiv","_cleanNavigation","_loadNavigationElements","overlay","_onTapOverlay","windowHammer","_hasParent","deactivate","escListener","activate","unbind","_callbacks","once","self","removeListener","removeAllListeners","callbacks","cb","hasListeners","_addEvent","_characterFromEvent","fromCharCode","_MAP","_KEYCODE_MAP","_stop","tag_name","tagName","contentEditable","_modifiersMatch","modifiers1","modifiers2","_resetSequences","do_not_reset","active_sequences","_sequence_levels","_inside_sequence","_getMatches","character","modifiers","combination","matches","_isModifier","seq","combo","_eventModifiers","altKey","metaKey","_fireCallback","cancelBubble","_handleCharacter","processed_sequence_callback","_handleKey","keyCode","_ignore_next_keyup","_resetSequenceTimer","_reset_timer","_getReverseMap","_REVERSE_MAP","_pickBestAction","_bindSequence","_increaseSequence","_callbackAndReset","_bindSingle","sequence_name","sequence","_SPECIAL_ALIASES","_SHIFT_MAP","_bindMultiple","combinations",8,9,13,16,17,18,20,27,32,33,34,35,36,37,38,39,40,45,46,91,93,224,106,107,109,110,111,186,187,188,189,190,191,192,219,220,221,222,"~","!","@","#","$","%","^","&","*","(",")","_","+",":","\"","<",">","?","|","command","return","escape","_direct_map","trigger","__WEBPACK_AMD_DEFINE_RESULT__","global","dfl","hasOwnProp","defaultParsingFlags","empty","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","printMsg","msg","suppressDeprecationWarnings","warn","deprecate","firstTime","deprecateSimple","deprecations","padToken","func","leftZeroFill","ordinalizeToken","period","localeData","ordinal","Locale","Moment","config","skipOverflow","checkOverflow","copyConfig","_d","Duration","normalizedInput","normalizeObjectUnits","years","quarters","quarter","months","month","weeks","week","days","day","hour","minute","second","millisecond","_milliseconds","_days","_months","_locale","_bubble","val","_isAMomentObject","_i","_f","_l","_strict","_tzm","_isUTC","_offset","_pf","momentProperties","absRound","number","targetLength","forceSign","output","positiveMomentsDifference","base","res","isAfter","momentsDifference","makeAs","isBefore","createAdder","dur","tmp","addOrSubtractDurationFromMoment","mom","isAdding","updateOffset","setTime","rawSetter","rawGetter","rawMonthSetter","input","compareArrays","dontConvert","lengthDiff","diffs","toInt","normalizeUnits","units","lowered","unitAliases","camelFunctions","inputObject","normalizedProp","makeList","setter","getter","method","results","utc","set","argumentForCoercion","coercedNumber","isFinite","daysInMonth","UTC","getUTCDate","weeksInYear","dow","doy","weekOfYear","daysInYear","isLeapYear","_a","DATE","_overflowDayOfYear","isValid","_isValid","getTime","normalizeLocale","chooseLocale","names","loadLocale","oldLocale","hasModule","code","model","zone","local","removeFormattingTokens","makeFormatFunction","formattingTokens","formatTokenFunctions","formatMoment","expandFormat","formatFunctions","invalidDate","replaceLongDateFormatTokens","longDateFormat","localFormattingTokens","lastIndex","getParseRegexForToken","parseTokenOneDigit","parseTokenThreeDigits","parseTokenFourDigits","parseTokenOneToFourDigits","parseTokenSignedNumber","parseTokenSixDigits","parseTokenOneToSixDigits","parseTokenTwoDigits","parseTokenOneToThreeDigits","parseTokenWord","_meridiemParse","parseTokenTimestampMs","parseTokenTimezone","parseTokenT","parseTokenDigits","parseTokenOneOrTwoDigits","parseTokenOrdinal","RegExp","regexpEscape","unescapeFormat","timezoneMinutesFromString","string","possibleTzMatches","tzChunk","parts","parseTimezoneChunker","addTimeToArrayFromToken","datePartArray","monthsParse","_dayOfYear","parseTwoDigitYear","_isPm","isPM","_useUTC","weekdaysParse","_w","invalidWeekday","dayOfYearFromWeekInfo","weekYear","weekday","temp","GG","W","E","_week","gg","dayOfYearFromWeeks","dayOfYear","dateFromConfig","currentDate","yearToUse","currentDateArray","makeUTCDate","getUTCMonth","makeDate","setUTCMinutes","getUTCMinutes","dateFromObject","getUTCFullYear","makeDateFromStringAndFormat","ISO_8601","parseISO","parsedInput","tokens","skipped","stringLength","totalParsedInputLength","matched","p4","makeDateFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","NaN","score","l","isoRegex","isoDates","isoTimes","makeDateFromString","createFromInputFallback","makeDateFromInput","aspNetJsonRegex","ms","setUTCFullYear","parseWeekday","substituteTimeAgo","withoutSuffix","isFuture","relativeTime","posNegDuration","relativeTimeThresholds","firstDayOfWeek","firstDayOfWeekOfYear","adjustedMoment","daysToDayOfWeek","daysToAdd","getUTCDay","makeMoment","invalid","preparse","pickBy","moments","dayOfMonth","unit","makeAccessor","keepTime","daysToYears","yearsToDays","makeDurationGetter","makeGlobal","shouldDeprecate","ender","oldGlobalMoment","globalScope","VERSION","aspNetTimeSpanJsonRegex","isoDurationRegex","isoFormat","unitMillisecondFactors","Milliseconds","Seconds","Minutes","Hours","Days","Months","Years","D","Q","DDD","dayofyear","isoweekday","isoweek","weekyear","isoweekyear","ordinalizeTokens","paddedTokens","MMM","monthsShort","MMMM","dd","weekdaysMin","ddd","weekdaysShort","dddd","weekdays","isoWeek","YY","YYYY","YYYYY","YYYYYY","gggg","ggggg","isoWeekYear","GGGG","GGGGG","isoWeekday","meridiem","SS","SSS","SSSS","Z","ZZ","zoneAbbr","zz","zoneName","unix","lists","DDDD","_monthsShort","monthName","regex","_monthsParse","_weekdays","_weekdaysShort","_weekdaysMin","weekdayName","_weekdaysParse","_longDateFormat","LT","L","LL","LLL","LLLL","isLower","_calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","_relativeTime","future","past","mm","hh","MM","yy","pastFuture","_ordinal","postformat","_invalidDate","ret","parseIso","diffRes","isDuration","inp","version","defaultFormat","relativeTimeThreshold","threshold","limit","defineLocale","_abbr","abbr","langData","flags","parseZone","isDSTShifted","parsingFlags","invalidAt","keepLocalTime","getTimezoneOffset","inputString","asFloat","that","zoneDiff","startOf","humanize","fromNow","sod","isDST","getDay","endOf","isSame","localAdjust","_changeInProgress","hasAlignedHourOffset","isoWeeksInYear","weekInfo","dates","isoWeeks","toJSON","withSuffix","toIsoString","asSeconds","asMilliseconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","require","noGlobal","setup","READY","Event","determineEventTypes","Utils","each","gestures","Detection","register","onTouch","DOCUMENT","EVENT_MOVE","detect","EVENT_END","Instance","defaults","behavior","userSelect","touchAction","touchCallout","contentZooming","userDrag","tapHighlightColor","HAS_POINTEREVENTS","pointerEnabled","msPointerEnabled","HAS_TOUCHEVENTS","IS_MOBILE","NO_MOUSEEVENTS","CALCULATE_INTERVAL","EVENT_TYPES","DIRECTION_DOWN","DIRECTION_LEFT","DIRECTION_UP","DIRECTION_RIGHT","POINTER_MOUSE","POINTER_TOUCH","POINTER_PEN","EVENT_START","EVENT_RELEASE","EVENT_TOUCH","plugins","utils","dest","handler","iterator","context","inStr","find","inArray","hasParent","getCenter","getVelocity","deltaTime","getAngle","touch1","touch2","getDirection","getScale","getRotation","isVertical","setPrefixedCss","toggle","prefixes","toCamelCase","toggleBehavior","falseFn","onselectstart","ondragstart","str","preventMouseEvents","started","shouldDetect","hook","onTouchHandler","ev","triggerType","srcType","isPointer","isMouse","buttons","PointerEvent","matchType","updatePointer","doDetect","touchList","touchListLength","triggerChange","changedLength","changedTouches","evData","identifiers","identifier","pointerType","timeStamp","preventManipulation","stopDetect","pointers","touchlist","pointerEvent","pointerId","pt","MSPOINTER_TYPE_MOUSE","MSPOINTER_TYPE_TOUCH","MSPOINTER_TYPE_PEN","detection","stopped","startDetect","inst","eventData","startEvent","lastEvent","lastCalcEvent","futureCalcEvent","lastCalcData","extendEventData","instOptions","getCalculatedData","recalc","calcEv","calcData","velocityX","velocityY","interimAngle","interimDirection","startEv","lastEv","rotation","eventStartHandler","eventHandlers","createEvent","initEvent","dispatchEvent","state","dispose","eh","dragGesture","dragMaxTouches","triggered","dragMinDistance","startCenter","dragDistanceCorrection","dragLockToAxis","dragLockMinDistance","lastDirection","dragBlockVertical","dragBlockHorizontal","Drag","Gesture","holdGesture","holdTimeout","holdThreshold","Hold","Release","Infinity","Swipe","swipeMinTouches","swipeMaxTouches","swipeVelocityX","swipeVelocityY","tapGesture","sincePrev","didDoubleTap","hasMoved","tapMaxDistance","tapMaxTime","doubleTapInterval","doubleTapDistance","tapAlways","Tap","Touch","preventMouse","transformGesture","scaleThreshold","rotationThreshold","transformMinScale","transformMinRotation","Transform","clusterToFit","maxNumberOfNodes","reposition","maxLevels","forceAggregateHubs","normalizeClusterLevels","increaseClusterLevel","repositionNodes","openCluster","isMovingBeforeClustering","_nodeInActiveArea","_sector","_addSector","decreaseClusterLevel","_expandClusterNode","_updateDynamicEdges","updateClusters","zoomDirection","recursive","doNotStart","amountOfNodes","_collapseSector","_formClusters","_openClusters","_openClustersBySize","_aggregateHubs","handleChains","chainPercentage","_getChainFraction","_reduceAmountOfChains","_getHubSize","_formClustersByHub","openAll","containedNodeId","childNode","_expelChildFromParent","_unselectAll","_releaseContainedEdges","_connectEdgeBackToChild","_validateEdges","othersPresent","childNodeId","_repositionBezierNodes","_formClustersByZoom","_forceClustersByZoom","minLength","_addToCluster","_clusterToSmallestNeighbour","smallestNeighbour","smallestNeighbourNode","neighbour","onlyEqual","_formClusterFromHub","hubNode","absorptionSizeOffset","allowCluster","edgesIdarray","amountOfInitialEdges","_addToContainedEdges","_connectEdgeToCluster","_containCircularEdgesFromNode","massBefore","correction","edgeToId","edgeFromId","k","_addToReroutedEdges","maxLevel","minLevel","clusterLevel","targetLevel","average","averageSquared","hubCounter","largestHub","variance","standardDeviation","fraction","reduceAmount","chains","total","_switchToSector","sectorId","sectorType","_switchToActiveSector","_switchToFrozenSector","_switchToSupportSector","_loadLatestSector","_previousSector","_setActiveSector","newId","_forgetLastSector","_createNewSector","_deleteActiveSector","_deleteFrozenSector","_freezeSector","_activateSector","_mergeThisWithFrozen","_collapseThisToSingleCluster","sector","unqiueIdentifier","previousSector","runFunction","argument","returnValues","_doInAllFrozenSectors","_drawSectorNodes","_drawAllSectorNodes","_getNodesOverlappingWith","overlappingNodes","_getAllNodesOverlappingWith","_pointerToPositionObject","positionObject","_getEdgesOverlappingWith","overlappingEdges","_getAllEdgesOverlappingWith","_addToSelection","_addToHover","_removeFromSelection","doNotTrigger","_unselectClusters","_getSelectedNodeCount","_getSelectedNode","_getSelectedEdge","_getSelectedEdgeCount","_getSelectedObjectCount","_selectionIsEmpty","_clusterInSelection","_selectConnectedEdges","_hoverConnectedEdges","_unselectConnectedEdges","append","highlightEdges","nodeIds","getSelectedNodes","edgeIds","getSelectedEdges","idArray","RangeError","selectNodes","selectEdges","_clearManipulatorBar","_restoreOverloadedFunctions","functionName","_toggleEditMode","toolbar","getElementById","boundFunction","edgeBeingEdited","selectedControlNode","addNodeButton","_createAddNodeToolbar","addEdgeButton","_createAddEdgeToolbar","editButton","_editNode","_createEditEdgeToolbar","editModeButton","backButton","_addNode","_handleConnect","_finishConnect","_selectControlNode","_controlNodeDrag","_releaseControlNode","newNode","_editEdge","alert","smooth","connectFromId","_createEdge","defaultData","finalizedData","sourceNodeId","targetNodeId","selectedNodes","selectedEdges","wrapper","navigationDivs","navigationDivActions","_stopMovement","hubsize","definedLevel","undefinedLevel","_changeConstants","_determineLevels","_determineLevelsDirected","distribution","_getDistribution","_placeNodesByHierarchy","minPos","_placeBranchNodes","maxCount","_setLevel","_setLevelDirected","parentId","parentLevel","nodeMoved","_restoreNodes","graphToggleSmoothCurves","graph_toggleSmooth","graphRepositionNodes","showValueOfRange","graphGenerateOptions","optionsSpecific","radioButton1","radioButton2","checked","backupConstants","optionsDiv","switchConfigurations","radioButton","querySelector","tableId","table","constantsVariableName","valueId","rangeValue","_overWriteGraphConstants","RepulsionMixin","HierarchialRepulsionMixin","BarnesHutMixin","_toggleBarnesHut","barnesHutTree","_initializeForceCalculation","_calculateForces","_calculateGravitationalForces","_calculateNodeForces","_calculateSpringForcesWithSupport","_calculateHierarchicalSpringForces","_calculateSpringForces","supportNodes","supportNodeId","gravity","gravityForce","edgeLength","springForce","combinedClusterSize","node1","node2","node3","_calculateSpringForce","physicsConfiguration","hierarchicalLayoutDirections","parentElement","rangeElement","radioButton3","graph_repositionNodes","graph_generateOptions","nameArray","webpackContext","req","resolve","repulsingForce","a_base","minimumDistance","steepness","springFx","springFy","totalFx","totalFy","correctionFx","correctionFy","nodeCount","_formBarnesHutTree","_getForceContribution","children","NW","NE","SW","SE","parentBranch","childrenCount","centerOfMass","calcSize","MAX_VALUE","sizeDiff","minimumTreeSize","rootSize","halfRootSize","centerX","centerY","_splitBranch","_placeInTree","_updateBranchMass","totalMass","totalMassInv","biggestSize","skipMassUpdate","_placeInRegion","region","containedNode","_insertRegion","childSize","_drawTree","_drawBranch","branch","webpackPolyfill","paths"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;CAyBA,SAA2CA,EAAMC,GAC1B,gBAAZC,UAA0C,gBAAXC,QACxCA,OAAOD,QAAUD,IACQ,kBAAXG,SAAyBA,OAAOC,IAC9CD,OAAOH,GACmB,gBAAZC,SACdA,QAAa,IAAID,IAEjBD,EAAU,IAAIC,KACbK,KAAM,WACT,MAAgB,UAAUC,GAKhB,QAASC,GAAoBC,GAG5B,GAAGC,EAAiBD,GACnB,MAAOC,GAAiBD,GAAUP,OAGnC,IAAIC,GAASO,EAAiBD,IAC7BP,WACAS,GAAIF,EACJG,QAAQ,EAUT,OANAL,GAAQE,GAAUI,KAAKV,EAAOD,QAASC,EAAQA,EAAOD,QAASM,GAG/DL,EAAOS,QAAS,EAGTT,EAAOD,QAvBf,GAAIQ,KAqCJ,OATAF,GAAoBM,EAAIP,EAGxBC,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,GAGjBR,EAAoB,KAK/B,SAASL,EAAQD,EAASM,GAG9BN,EAAQe,KAAOT,EAAoB,GACnCN,EAAQgB,QAAUV,EAAoB,GAGtCN,EAAQiB,QAAUX,EAAoB,GACtCN,EAAQkB,SAAWZ,EAAoB,GAGvCN,EAAQmB,QAAUb,EAAoB,GACtCN,EAAQoB,SACNC,OAAQf,EAAoB,GAC5BgB,OAAQhB,EAAoB,GAC5BiB,QAASjB,EAAoB,GAC7BkB,QAASlB,EAAoB,GAC7BmB,OAAQnB,EAAoB,IAC5BoB,WAAYpB,EAAoB,KAIlCN,EAAQ2B,SAAWrB,EAAoB,IACvCN,EAAQ4B,QAAUtB,EAAoB,IACtCN,EAAQ6B,UACNC,SAAUxB,EAAoB,IAC9ByB,MAAOzB,EAAoB,IAC3B0B,MAAO1B,EAAoB,IAC3B2B,SAAU3B,EAAoB,IAE9B4B,YACEC,OACEC,KAAM9B,EAAoB,IAC1B+B,QAAS/B,EAAoB,IAC7BgC,UAAWhC,EAAoB,IAC/BiC,UAAWjC,EAAoB,KAGjCkC,UAAWlC,EAAoB,IAC/BmC,YAAanC,EAAoB,IACjCoC,WAAYpC,EAAoB,IAChCqC,SAAUrC,EAAoB,IAC9BsC,WAAYtC,EAAoB,IAChCuC,MAAOvC,EAAoB,IAC3BwC,QAASxC,EAAoB,IAC7ByC,OAAQzC,EAAoB,IAC5B0C,UAAW1C,EAAoB,IAC/B2C,SAAU3C,EAAoB,MAKlCN,EAAQkD,QAAU5C,EAAoB,IACtCN,EAAQmD,SACNC,KAAM9C,EAAoB,IAC1B+C,OAAQ/C,EAAoB,IAC5BgD,OAAQhD,EAAoB,IAC5BiD,KAAMjD,EAAoB,IAC1BkD,MAAOlD,EAAoB,IAC3BmD,UAAWnD,EAAoB,IAC/BoD,YAAapD,EAAoB,KAInCN,EAAQ2D,MAAQ,WACd,KAAM,IAAIC,OAAM,+EAIlB5D,EAAQ6D,OAASvD,EAAoB,IACrCN,EAAQ8D,OAASxD,EAAoB,KAKjC,SAASL,OAAQD,QAASM,qBAM9B,GAAIuD,QAASvD,oBAAoB,GAOjCN,SAAQ+D,SAAW,SAASC,GAC1B,MAAQA,aAAkBC,SAA2B,gBAAVD,IAQ7ChE,QAAQkE,SAAW,SAASF,GAC1B,MAAQA,aAAkBG,SAA2B,gBAAVH,IAQ7ChE,QAAQoE,OAAS,SAASJ,GACxB,GAAIA,YAAkBK,MACpB,OAAO,CAEJ,IAAIrE,QAAQkE,SAASF,GAAS,CAEjC,GAAIM,GAAQC,aAAaC,KAAKR,EAC9B,IAAIM,EACF,OAAO,CAEJ,KAAKG,MAAMJ,KAAKK,MAAMV,IACzB,OAAO,EAIX,OAAO,GAQThE,QAAQ2E,YAAc,SAASX,GAC7B,MAA4B,mBAAb,SACVY,OAAoB,eACpBA,OAAOC,cAAuB,WAC9Bb,YAAkBY,QAAOC,cAAcC,WAQ9C9E,QAAQ+E,WAAa,WACnB,GAAIC,GAAK,WACP,MAAOC,MAAKC,MACQ,MAAhBD,KAAKE,UACPC,SAAS,IAGb,OACIJ,KAAOA,IAAO,IACVA,IAAO,IACPA,IAAO,IACPA,IAAO,IACPA,IAAOA,IAAOA,KAWxBhF,QAAQqF,OAAS,SAAUC,GACzB,IAAK,GAAIC,GAAI,EAAGC,EAAMC,UAAUC,OAAYF,EAAJD,EAASA,IAAK,CACpD,GAAII,GAAQF,UAAUF,EACtB,KAAK,GAAIK,KAAQD,GACXA,EAAME,eAAeD,KACvBN,EAAEM,GAAQD,EAAMC,IAKtB,MAAON,IAWTtF,QAAQ8F,gBAAkB,SAAUC,EAAOT,GACzC,IAAKU,MAAMC,QAAQF,GACjB,KAAM,IAAInC,OAAM,uDAGlB,KAAK,GAAI2B,GAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAGpC,IAAK,GAFDI,GAAQF,UAAUF,GAEbzE,EAAI,EAAGA,EAAIiF,EAAML,OAAQ5E,IAAK,CACrC,GAAI8E,GAAOG,EAAMjF,EACb6E,GAAME,eAAeD,KACvBN,EAAEM,GAAQD,EAAMC,IAItB,MAAON,IAWTtF,QAAQkG,oBAAsB,SAAUH,EAAOT,EAAGa,GAEhD,GAAIH,MAAMC,QAAQE,GAChB,KAAM,IAAIC,WAAU,yCAEtB,KAAK,GAAIb,GAAI,EAAGA,EAAIE,UAAUC,OAAQH,IAEpC,IAAK,GADDI,GAAQF,UAAUF,GACbzE,EAAI,EAAGA,EAAIiF,EAAML,OAAQ5E,IAAK,CACrC,GAAI8E,GAAOG,EAAMjF,EACjB,IAAI6E,EAAME,eAAeD,GACvB,GAAIO,EAAEP,IAASO,EAAEP,GAAMS,cAAgBC,OACrBC,SAAZjB,EAAEM,KACJN,EAAEM,OAEAN,EAAEM,GAAMS,cAAgBC,OAC1BtG,QAAQwG,WAAWlB,EAAEM,GAAOO,EAAEP,IAG9BN,EAAEM,GAAQO,EAAEP,OAET,CAAA,GAAII,MAAMC,QAAQE,EAAEP,IACzB,KAAM,IAAIQ,WAAU,yCAEpBd,GAAEM,GAAQO,EAAEP,IAMpB,MAAON,IAWTtF,QAAQyG,uBAAyB,SAAUV,EAAOT,EAAGa,GAEnD,GAAIH,MAAMC,QAAQE,GAChB,KAAM,IAAIC,WAAU,yCAEtB,KAAK,GAAIR,KAAQO,GACf,GAAIA,EAAEN,eAAeD,IACQ,IAAvBG,EAAMW,QAAQd,GAChB,GAAIO,EAAEP,IAASO,EAAEP,GAAMS,cAAgBC,OACrBC,SAAZjB,EAAEM,KACJN,EAAEM,OAEAN,EAAEM,GAAMS,cAAgBC,OAC1BtG,QAAQwG,WAAWlB,EAAEM,GAAOO,EAAEP,IAG9BN,EAAEM,GAAQO,EAAEP,OAET,CAAA,GAAII,MAAMC,QAAQE,EAAEP,IACzB,KAAM,IAAIQ,WAAU,yCAEpBd,GAAEM,GAAQO,EAAEP,GAKpB,MAAON,IASTtF,QAAQwG,WAAa,SAASlB,EAAGa,GAE/B,GAAIH,MAAMC,QAAQE,GAChB,KAAM,IAAIC,WAAU,yCAGtB,KAAK,GAAIR,KAAQO,GACf,GAAIA,EAAEN,eAAeD,GACnB,GAAIO,EAAEP,IAASO,EAAEP,GAAMS,cAAgBC,OACrBC,SAAZjB,EAAEM,KACJN,EAAEM,OAEAN,EAAEM,GAAMS,cAAgBC,OAC1BtG,QAAQwG,WAAWlB,EAAEM,GAAOO,EAAEP,IAG9BN,EAAEM,GAAQO,EAAEP,OAET,CAAA,GAAII,MAAMC,QAAQE,EAAEP,IACzB,KAAM,IAAIQ,WAAU,yCAEpBd,GAAEM,GAAQO,EAAEP,GAIlB,MAAON,IAUTtF,QAAQ2G,WAAa,SAAUrB,EAAGa,GAChC,GAAIb,EAAEI,QAAUS,EAAET,OAAQ,OAAO,CAEjC,KAAK,GAAIH,GAAI,EAAGC,EAAMF,EAAEI,OAAYF,EAAJD,EAASA,IACvC,GAAID,EAAEC,IAAMY,EAAEZ,GAAI,OAAO,CAG3B,QAAO,GAYTvF,QAAQ4G,QAAU,SAAS5C,EAAQ6C,GACjC,GAAIvC,EAEJ,IAAeiC,SAAXvC,EACF,MAAOuC,OAET,IAAe,OAAXvC,EACF,MAAO,KAGT,KAAK6C,EACH,MAAO7C,EAET,IAAsB,gBAAT6C,MAAwBA,YAAgB1C,SACnD,KAAM,IAAIP,OAAM,wBAIlB,QAAQiD,GACN,IAAK,UACL,IAAK,UACH,MAAOC,SAAQ9C,EAEjB,KAAK,SACL,IAAK,SACH,MAAOC,QAAOD,EAAO+C,UAEvB,KAAK,SACL,IAAK,SACH,MAAO5C,QAAOH,EAEhB,KAAK,OACH,GAAIhE,QAAQ+D,SAASC,GACnB,MAAO,IAAIK,MAAKL,EAElB,IAAIA,YAAkBK,MACpB,MAAO,IAAIA,MAAKL,EAAO+C,UAEpB,IAAIlD,OAAOmD,SAAShD,GACvB,MAAO,IAAIK,MAAKL,EAAO+C,UAEzB,IAAI/G,QAAQkE,SAASF,GAEnB,MADAM,GAAQC,aAAaC,KAAKR,GACtBM,EAEK,GAAID,MAAKJ,OAAOK,EAAM,KAGtBT,OAAOG,GAAQiD,QAIxB,MAAM,IAAIrD,OACN,iCAAmC5D,QAAQkH,QAAQlD,GAC/C,gBAGZ,KAAK,SACH,GAAIhE,QAAQ+D,SAASC,GACnB,MAAOH,QAAOG,EAEhB,IAAIA,YAAkBK,MACpB,MAAOR,QAAOG,EAAO+C,UAElB,IAAIlD,OAAOmD,SAAShD,GACvB,MAAOH,QAAOG,EAEhB,IAAIhE,QAAQkE,SAASF,GAEnB,MADAM,GAAQC,aAAaC,KAAKR,GAGjBH,OAFLS,EAEYL,OAAOK,EAAM,IAGbN,EAIhB,MAAM,IAAIJ,OACN,iCAAmC5D,QAAQkH,QAAQlD,GAC/C,gBAGZ,KAAK,UACH,GAAIhE,QAAQ+D,SAASC,GACnB,MAAO,IAAIK,MAAKL,EAEb,IAAIA,YAAkBK,MACzB,MAAOL,GAAOmD,aAEX,IAAItD,OAAOmD,SAAShD,GACvB,MAAOA,GAAOiD,SAASE,aAEpB,IAAInH,QAAQkE,SAASF,GAExB,MADAM,GAAQC,aAAaC,KAAKR,GACtBM,EAEK,GAAID,MAAKJ,OAAOK,EAAM,KAAK6C,cAG3B,GAAI9C,MAAKL,GAAQmD,aAI1B,MAAM,IAAIvD,OACN,iCAAmC5D,QAAQkH,QAAQlD,GAC/C,mBAGZ,KAAK,UACH,GAAIhE,QAAQ+D,SAASC,GACnB,MAAO,SAAWA,EAAS,IAExB,IAAIA,YAAkBK,MACzB,MAAO,SAAWL,EAAO+C,UAAY,IAElC,IAAI/G,QAAQkE,SAASF,GAAS,CACjCM,EAAQC,aAAaC,KAAKR,EAC1B,IAAIoD,EAQJ,OALEA,GAFE9C,EAEM,GAAID,MAAKJ,OAAOK,EAAM,KAAKyC,UAG3B,GAAI1C,MAAKL,GAAQ+C,UAEpB,SAAWK,EAAQ,KAG1B,KAAM,IAAIxD,OACN,iCAAmC5D,QAAQkH,QAAQlD,GAC/C,mBAGZ,SACE,KAAM,IAAIJ,OAAM,iBAAmBiD,EAAO,MAOhD,IAAItC,cAAe,qBAOnBvE,SAAQkH,QAAU,SAASlD,GACzB,GAAI6C,SAAc7C,EAElB,OAAY,UAAR6C,EACY,MAAV7C,EACK,OAELA,YAAkB8C,SACb,UAEL9C,YAAkBC,QACb,SAELD,YAAkBG,QACb,SAELH,YAAkBgC,OACb,QAELhC,YAAkBK,MACb,OAEF,SAEQ,UAARwC,EACA,SAEQ,WAARA,EACA,UAEQ,UAARA,EACA,SAGFA,GAST7G,QAAQqH,gBAAkB,SAASC,GACjC,MAAOA,GAAKC,wBAAwBC,KAAOC,OAAOC,aASpD1H,QAAQ2H,eAAiB,SAASL,GAChC,MAAOA,GAAKC,wBAAwBK,IAAMH,OAAOI,aAQnD7H,QAAQ8H,aAAe,SAASR,EAAMS,GACpC,GAAIC,GAAUV,EAAKS,UAAUE,MAAM,IACD,KAA9BD,EAAQtB,QAAQqB,KAClBC,EAAQE,KAAKH,GACbT,EAAKS,UAAYC,EAAQG,KAAK,OASlCnI,QAAQoI,gBAAkB,SAASd,EAAMS,GACvC,GAAIC,GAAUV,EAAKS,UAAUE,MAAM,KAC/BI,EAAQL,EAAQtB,QAAQqB,EACf,KAATM,IACFL,EAAQM,OAAOD,EAAO,GACtBf,EAAKS,UAAYC,EAAQG,KAAK,OAalCnI,QAAQuI,QAAU,SAASvE,EAAQwE,GACjC,GAAIjD,GACAC,CACJ,IAAIxB,YAAkBgC,OAEpB,IAAKT,EAAI,EAAGC,EAAMxB,EAAO0B,OAAYF,EAAJD,EAASA,IACxCiD,EAASxE,EAAOuB,GAAIA,EAAGvB,OAKzB,KAAKuB,IAAKvB,GACJA,EAAO6B,eAAeN,IACxBiD,EAASxE,EAAOuB,GAAIA,EAAGvB,IAY/BhE,QAAQyI,QAAU,SAASzE,GACzB,GAAI0E,KAEJ,KAAK,GAAI9C,KAAQ5B,GACXA,EAAO6B,eAAeD,IAAO8C,EAAMR,KAAKlE,EAAO4B,GAGrD,OAAO8C,IAUT1I,QAAQ2I,eAAiB,SAAS3E,EAAQ4E,EAAKxB,GAC7C,MAAIpD,GAAO4E,KAASxB,GAClBpD,EAAO4E,GAAOxB,GACP,IAGA,GAYXpH,QAAQ6I,iBAAmB,SAASC,EAASC,EAAQC,EAAUC,GACzDH,EAAQD,kBACStC,SAAf0C,IACFA,GAAa,GAEA,eAAXF,GAA2BG,UAAUC,UAAUzC,QAAQ,YAAc,IACvEqC,EAAS,kBAGXD,EAAQD,iBAAiBE,EAAQC,EAAUC,IAE3CH,EAAQM,YAAY,KAAOL,EAAQC,IAWvChJ,QAAQqJ,oBAAsB,SAASP,EAASC,EAAQC,EAAUC,GAC5DH,EAAQO,qBAES9C,SAAf0C,IACFA,GAAa,GAEA,eAAXF,GAA2BG,UAAUC,UAAUzC,QAAQ,YAAc,IACvEqC,EAAS,kBAGXD,EAAQO,oBAAoBN,EAAQC,EAAUC,IAG9CH,EAAQQ,YAAY,KAAOP,EAAQC,IAOvChJ,QAAQuJ,eAAiB,SAAUC,GAC5BA,IACHA,EAAQ/B,OAAO+B,OAEbA,EAAMD,eACRC,EAAMD,iBAGNC,EAAMC,aAAc,GASxBzJ,QAAQ0J,UAAY,SAASF,GAEtBA,IACHA,EAAQ/B,OAAO+B,MAGjB,IAAIG,EAcJ,OAZIH,GAAMG,OACRA,EAASH,EAAMG,OAERH,EAAMI,aACbD,EAASH,EAAMI,YAGMrD,QAAnBoD,EAAOE,UAA4C,GAAnBF,EAAOE,WAEzCF,EAASA,EAAOG,YAGXH,GAGT3J,QAAQ+J,UAQR/J,QAAQ+J,OAAOC,UAAY,SAAU5C,EAAO6C,GAK1C,MAJoB,kBAAT7C,KACTA,EAAQA,KAGG,MAATA,EACe,GAATA,EAGH6C,GAAgB,MASzBjK,QAAQ+J,OAAOG,SAAW,SAAU9C,EAAO6C,GAKzC,MAJoB,kBAAT7C,KACTA,EAAQA,KAGG,MAATA,EACKnD,OAAOmD,IAAU6C,GAAgB,KAGnCA,GAAgB,MASzBjK,QAAQ+J,OAAOI,SAAW,SAAU/C,EAAO6C,GAKzC,MAJoB,kBAAT7C,KACTA,EAAQA,KAGG,MAATA,EACKjD,OAAOiD,GAGT6C,GAAgB,MASzBjK,QAAQ+J,OAAOK,OAAS,SAAUhD,EAAO6C,GAKvC,MAJoB,kBAAT7C,KACTA,EAAQA,KAGNpH,QAAQkE,SAASkD,GACZA,EAEApH,QAAQ+D,SAASqD,GACjBA,EAAQ,KAGR6C,GAAgB,MAU3BjK,QAAQ+J,OAAOM,UAAY,SAAUjD,EAAO6C,GAK1C,MAJoB,kBAAT7C,KACTA,EAAQA,KAGHA,GAAS6C,GAAgB,MAKlCjK,QAAQsK,QAAU,SAASC,KACzB,GAAIC,MAiBJ,OAdEA,OADS,KAAPD,IACM,GACM,KAAPA,IACC,GACM,KAAPA,IACC,GACM,KAAPA,IACC,GACM,KAAPA,IACC,GACM,KAAPA,IACC,GAEAE,KAAKF,MAKjBvK,QAAQ0K,QAAU,SAASC,GACzB,GAAIH,EAiBJ,OAdEA,GADQ,IAAPG,EACO,IACM,IAAPA,EACC,IACM,IAAPA,EACC,IACM,IAAPA,EACC,IACM,IAAPA,EACC,IACM,IAAPA,EACC,IAEA,GAAKA,GAWjB3K,QAAQ4K,WAAa,SAASC,GAC5B,GAAIhK,EACJ,IAAIb,QAAQkE,SAAS2G,GAAQ,CAC3B,GAAI7K,QAAQ8K,WAAWD,GAAQ,CAC7B,GAAIE,GAAMF,EAAMG,OAAO,GAAGA,OAAO,EAAEH,EAAMnF,OAAO,GAAGuC,MAAM,IACzD4C,GAAQ7K,QAAQiL,SAASF,EAAI,GAAGA,EAAI,GAAGA,EAAI,IAE7C,GAAI/K,QAAQkL,WAAWL,GAAQ,CAC7B,GAAIM,GAAMnL,QAAQoL,SAASP,GACvBQ,GAAmBC,EAAEH,EAAIG,EAAEC,EAAU,IAARJ,EAAII,EAASC,EAAEvG,KAAKwG,IAAI,EAAU,KAARN,EAAIK,IAC3DE,GAAmBJ,EAAEH,EAAIG,EAAEC,EAAEtG,KAAKwG,IAAI,EAAU,KAARN,EAAIK,GAAUA,EAAQ,GAANL,EAAIK,GAC5DG,EAAkB3L,QAAQ4L,SAASF,EAAeJ,EAAGI,EAAeJ,EAAGI,EAAeF,GACtFK,EAAkB7L,QAAQ4L,SAASP,EAAgBC,EAAED,EAAgBE,EAAEF,EAAgBG,EAE3F3K,IACEiL,WAAYjB,EACZkB,OAAOJ,EACPK,WACEF,WAAWD,EACXE,OAAOJ,GAETM,OACEH,WAAWD,EACXE,OAAOJ,QAKX9K,IACEiL,WAAWjB,EACXkB,OAAOlB,EACPmB,WACEF,WAAWjB,EACXkB,OAAOlB,GAEToB,OACEH,WAAWjB,EACXkB,OAAOlB,QAMbhK,MACAA,EAAEiL,WAAajB,EAAMiB,YAAc,QACnCjL,EAAEkL,OAASlB,EAAMkB,QAAUlL,EAAEiL,WAEzB9L,QAAQkE,SAAS2G,EAAMmB,WACzBnL,EAAEmL,WACAD,OAAQlB,EAAMmB,UACdF,WAAYjB,EAAMmB,YAIpBnL,EAAEmL,aACFnL,EAAEmL,UAAUF,WAAajB,EAAMmB,WAAanB,EAAMmB,UAAUF,YAAcjL,EAAEiL,WAC5EjL,EAAEmL,UAAUD,OAASlB,EAAMmB,WAAanB,EAAMmB,UAAUD,QAAUlL,EAAEkL,QAGlE/L,QAAQkE,SAAS2G,EAAMoB,OACzBpL,EAAEoL,OACAF,OAAQlB,EAAMoB,MACdH,WAAYjB,EAAMoB,QAIpBpL,EAAEoL,SACFpL,EAAEoL,MAAMH,WAAajB,EAAMoB,OAASpB,EAAMoB,MAAMH,YAAcjL,EAAEiL,WAChEjL,EAAEoL,MAAMF,OAASlB,EAAMoB,OAASpB,EAAMoB,MAAMF,QAAUlL,EAAEkL,OAI5D,OAAOlL,IASTb,QAAQkM,SAAW,SAASC,GAC1BA,EAAMA,EAAIC,QAAQ,IAAI,IAAIC,aAE1B,IAAI/G,GAAItF,QAAQsK,QAAQ6B,EAAIG,UAAU,EAAG,IACrCnG,EAAInG,QAAQsK,QAAQ6B,EAAIG,UAAU,EAAG,IACrCzL,EAAIb,QAAQsK,QAAQ6B,EAAIG,UAAU,EAAG,IACrCC,EAAIvM,QAAQsK,QAAQ6B,EAAIG,UAAU,EAAG,IACrCE,EAAIxM,QAAQsK,QAAQ6B,EAAIG,UAAU,EAAG,IACrCG,EAAIzM,QAAQsK,QAAQ6B,EAAIG,UAAU,EAAG,IAErCI,EAAS,GAAJpH,EAAUa,EACfwG,EAAS,GAAJ9L,EAAU0L,EACfpG,EAAS,GAAJqG,EAAUC,CAEnB,QAAQC,EAAEA,EAAEC,EAAEA,EAAExG,EAAEA,IAGpBnG,QAAQiL,SAAW,SAAS2B,EAAIC,EAAMC,GACpC,GAAIxH,GAAItF,QAAQ0K,QAAQzF,KAAKC,MAAM0H,EAAM,KACrCzG,EAAInG,QAAQ0K,QAAQkC,EAAM,IAC1B/L,EAAIb,QAAQ0K,QAAQzF,KAAKC,MAAM2H,EAAQ,KACvCN,EAAIvM,QAAQ0K,QAAQmC,EAAQ,IAC5BL,EAAIxM,QAAQ0K,QAAQzF,KAAKC,MAAM4H,EAAO,KACtCL,EAAIzM,QAAQ0K,QAAQoC,EAAO,IAE3BX,EAAM7G,EAAIa,EAAItF,EAAI0L,EAAIC,EAAIC,CAC9B,OAAO,IAAMN,GAafnM,QAAQ+M,SAAW,SAASH,EAAIC,EAAMC,GACpCF,GAAQ,IAAKC,GAAY,IAAKC,GAAU,GACxC,IAAIE,GAAS/H,KAAKwG,IAAImB,EAAI3H,KAAKwG,IAAIoB,EAAMC,IACrCG,EAAShI,KAAKiI,IAAIN,EAAI3H,KAAKiI,IAAIL,EAAMC,GAGzC,IAAIE,GAAUC,EACZ,OAAQ3B,EAAE,EAAEC,EAAE,EAAEC,EAAEwB,EAIpB,IAAIT,GAAKK,GAAKI,EAAUH,EAAMC,EAASA,GAAME,EAAUJ,EAAIC,EAAQC,EAAKF,EACpEtB,EAAKsB,GAAKI,EAAU,EAAMF,GAAME,EAAU,EAAI,EAC9CG,EAAM,IAAI7B,EAAIiB,GAAGU,EAASD,IAAS,IACnCI,GAAcH,EAASD,GAAQC,EAC/B7F,EAAQ6F,CACZ,QAAQ3B,EAAE6B,EAAI5B,EAAE6B,EAAW5B,EAAEpE,IAY/BpH,QAAQqN,SAAW,SAAS/B,EAAGC,EAAGC,GAChC,GAAIkB,GAAGC,EAAGxG,EAENZ,EAAIN,KAAKC,MAAU,EAAJoG,GACfmB,EAAQ,EAAJnB,EAAQ/F,EACZzE,EAAI0K,GAAK,EAAID,GACb+B,EAAI9B,GAAK,EAAIiB,EAAIlB,GACjBgC,EAAI/B,GAAK,GAAK,EAAIiB,GAAKlB,EAE3B,QAAQhG,EAAI,GACV,IAAK,GAAGmH,EAAIlB,EAAGmB,EAAIY,EAAGpH,EAAIrF,CAAG,MAC7B,KAAK,GAAG4L,EAAIY,EAAGX,EAAInB,EAAGrF,EAAIrF,CAAG,MAC7B,KAAK,GAAG4L,EAAI5L,EAAG6L,EAAInB,EAAGrF,EAAIoH,CAAG,MAC7B,KAAK,GAAGb,EAAI5L,EAAG6L,EAAIW,EAAGnH,EAAIqF,CAAG,MAC7B,KAAK,GAAGkB,EAAIa,EAAGZ,EAAI7L,EAAGqF,EAAIqF,CAAG,MAC7B,KAAK,GAAGkB,EAAIlB,EAAGmB,EAAI7L,EAAGqF,EAAImH,EAG5B,OAAQZ,EAAEzH,KAAKC,MAAU,IAAJwH,GAAUC,EAAE1H,KAAKC,MAAU,IAAJyH,GAAUxG,EAAElB,KAAKC,MAAU,IAAJiB,KAGrEnG,QAAQ4L,SAAW,SAASN,EAAGC,EAAGC,GAChC,GAAIT,GAAM/K,QAAQqN,SAAS/B,EAAGC,EAAGC,EACjC,OAAOxL,SAAQiL,SAASF,EAAI2B,EAAG3B,EAAI4B,EAAG5B,EAAI5E,IAG5CnG,QAAQoL,SAAW,SAASe,GAC1B,GAAIpB,GAAM/K,QAAQkM,SAASC,EAC3B,OAAOnM,SAAQ+M,SAAShC,EAAI2B,EAAG3B,EAAI4B,EAAG5B,EAAI5E,IAG5CnG,QAAQkL,WAAa,SAASiB,GAC5B,GAAIqB,GAAO,qCAAqCC,KAAKtB,EACrD,OAAOqB,IAGTxN,QAAQ8K,WAAa,SAASC,GAC5BA,EAAMA,EAAIqB,QAAQ,IAAI,GACtB,IAAIoB,GAAO,wCAAwCC,KAAK1C,EACxD,OAAOyC,IAUTxN,QAAQ0N,sBAAwB,SAASC,EAAQC,GAC/C,GAA8B,gBAAnBA,GAA6B,CAEtC,IAAK,GADDC,GAAWvH,OAAOwH,OAAOF,GACpBrI,EAAI,EAAGA,EAAIoI,EAAOjI,OAAQH,IAC7BqI,EAAgB/H,eAAe8H,EAAOpI,KACC,gBAA9BqI,GAAgBD,EAAOpI,MAChCsI,EAASF,EAAOpI,IAAMvF,QAAQ+N,aAAaH,EAAgBD,EAAOpI,KAIxE,OAAOsI,GAGP,MAAO,OAWX7N,QAAQ+N,aAAe,SAASH,GAC9B,GAA8B,gBAAnBA,GAA6B,CACtC,GAAIC,GAAWvH,OAAOwH,OAAOF,EAC7B,KAAK,GAAIrI,KAAKqI,GACRA,EAAgB/H,eAAeN,IACA,gBAAtBqI,GAAgBrI,KACzBsI,EAAStI,GAAKvF,QAAQ+N,aAAaH,EAAgBrI,IAIzD,OAAOsI,GAGP,MAAO,OAcX7N,QAAQgO,aAAe,SAAUC,EAAaC,EAASnE,GACrD,GAAwBxD,SAApB2H,EAAQnE,GACV,GAA8B,iBAAnBmE,GAAQnE,GACjBkE,EAAYlE,GAAQoE,QAAUD,EAAQnE,OAEnC,CACHkE,EAAYlE,GAAQoE,SAAU,CAC9B,KAAKvI,OAAQsI,GAAQnE,GACfmE,EAAQnE,GAAQlE,eAAeD,QACjCqI,EAAYlE,GAAQnE,MAAQsI,EAAQnE,GAAQnE,SAiBtD5F,QAAQgO,aAAe,SAAUC,EAAaC,EAASnE,GACrD,GAAwBxD,SAApB2H,EAAQnE,GACV,GAA8B,iBAAnBmE,GAAQnE,GACjBkE,EAAYlE,GAAQoE,QAAUD,EAAQnE,OAEnC,CACHkE,EAAYlE,GAAQoE,SAAU,CAC9B,KAAKvI,OAAQsI,GAAQnE,GACfmE,EAAQnE,GAAQlE,eAAeD,QACjCqI,EAAYlE,GAAQnE,MAAQsI,EAAQnE,GAAQnE,SA2BtD5F,QAAQoO,aAAe,SAASC,EAAcC,EAAOC,EAAOC,GAC1D,GAUIpH,GAVAsB,EAAQ2F,EAERI,EAAgB,IAChBC,EAAY,EACZC,GAAQ,EACRC,EAAM,EACNC,EAAOnG,EAAMhD,OACboJ,EAASF,EACTG,EAAUF,EACVG,EAAQ/J,KAAKC,MAAM,IAAK2J,EAAKD,GAGjC,IAAY,GAARC,EACFG,EAAQ,OAEL,IAAY,GAARH,EAELG,EADEtG,EAAMsG,GAAOC,UAAUX,GAChB,EAGD,OAGP,CAGH,IAFAO,GAAQ,EAEQ,GAATF,GAA8BF,EAAZC,GACvBtH,EAAmBb,SAAXiI,EAAuB9F,EAAMsG,GAAOT,GAAS7F,EAAMsG,GAAOT,GAAOC,GAErE9F,EAAMsG,GAAOC,UAAUX,GACzBK,GAAQ,GAGJvH,EAAQkH,EAAMY,MAChBJ,EAAS7J,KAAKC,MAAM,IAAK2J,EAAKD,IAG9BG,EAAU9J,KAAKC,MAAM,IAAK2J,EAAKD,IAG7BA,GAAOE,GAAUD,GAAQE,GAC3BC,EAAQ,GACRL,GAAQ,IAGRE,EAAOE,EAASH,EAAME,EACtBE,EAAQ/J,KAAKC,MAAM,IAAK2J,EAAKD,MAGjCF,GAEEA,IAAaD,GACfU,QAAQC,IAAI,+CAGhB,MAAOJ,IAoBThP,QAAQqP,oBAAsB,SAAShB,EAAc1E,EAAQ4E,EAAOe,GAClE,GASIC,GACAC,EAAWpI,EAAOqI,EAVlBhB,EAAgB,IAChBC,EAAY,EACZhG,EAAQ2F,EACRM,GAAQ,EACRC,EAAM,EACNC,EAAOnG,EAAMhD,OACboJ,EAASF,EACTG,EAAUF,EACVG,EAAQ/J,KAAKC,MAAM,IAAK2J,EAAKD,GAIjC,IAAY,GAARC,EAAYG,EAAQ,OACnB,IAAY,GAARH,EACPzH,EAAQsB,EAAMsG,GAAOT,GAEnBS,EADE5H,GAASuC,EACF,EAGD,OAGP,CAEH,IADAkF,GAAQ,EACQ,GAATF,GAA8BF,EAAZC,GACvBc,EAAY9G,EAAMzD,KAAKiI,IAAI,EAAE8B,EAAQ,IAAIT,GACzCnH,EAAQsB,EAAMsG,GAAOT,GACrBkB,EAAY/G,EAAMzD,KAAKwG,IAAI/C,EAAMhD,OAAO,EAAEsJ,EAAQ,IAAIT,GAElDnH,GAASuC,GAAsBA,EAAZ6F,GAAsBpI,EAAQuC,GAAkBA,EAARvC,GAAkBqI,EAAY9F,GAC3FgF,GAAQ,EACJvH,GAASuC,IACW,UAAlB2F,EACc3F,EAAZ6F,GAAsBpI,EAAQuC,IAChCqF,EAAQ/J,KAAKiI,IAAI,EAAE8B,EAAQ,IAIjBrF,EAARvC,GAAkBqI,EAAY9F,IAChCqF,EAAQ/J,KAAKwG,IAAI/C,EAAMhD,OAAO,EAAEsJ,EAAQ,OAMlCrF,EAARvC,EACF0H,EAAS7J,KAAKC,MAAM,IAAK2J,EAAKD,IAG9BG,EAAU9J,KAAKC,MAAM,IAAK2J,EAAKD,IAEjCW,EAAWtK,KAAKC,MAAM,IAAK2J,EAAKD,IAE5BA,GAAOE,GAAUD,GAAQE,GAC3BC,EAAQ,GACRL,GAAQ,IAGRE,EAAOE,EAASH,EAAME,EACtBE,EAAQ/J,KAAKC,MAAM,IAAK2J,EAAKD,MAGjCF,GAEEA,IAAaD,GACfU,QAAQC,IAAI,+CAGhB,MAAOJ,IAYThP,QAAQ0P,cAAgB,SAAUnC,EAAG2B,EAAOS,EAAKC,GAC/C,GAAIC,GAASF,EAAMT,CAEnB,OADA3B,IAAKqC,EAAS,EACN,EAAJrC,EAAcsC,EAAO,EAAEtC,EAAEA,EAAI2B,GACjC3B,KACQsC,EAAO,GAAKtC,GAAGA,EAAE,GAAK,GAAK2B,KAKjC,SAASjP,EAAQD,GASrBA,EAAQ8P,gBAAkB,SAASC,GAEjC,IAAK,GAAIC,KAAeD,GAClBA,EAAclK,eAAemK,KAC/BD,EAAcC,GAAaC,UAAYF,EAAcC,GAAaE,KAClEH,EAAcC,GAAaE,UAYjClQ,EAAQmQ,gBAAkB,SAASJ,GAEjC,IAAK,GAAIC,KAAeD,GACtB,GAAIA,EAAclK,eAAemK,IAC3BD,EAAcC,GAAaC,UAAW,CACxC,IAAK,GAAI1K,GAAI,EAAGA,EAAIwK,EAAcC,GAAaC,UAAUvK,OAAQH,IAC/DwK,EAAcC,GAAaC,UAAU1K,GAAGuE,WAAWsG,YAAYL,EAAcC,GAAaC,UAAU1K,GAEtGwK,GAAcC,GAAaC,eAgBnCjQ,EAAQqQ,cAAgB,SAAUL,EAAaD,EAAeO,GAC5D,GAAIxH,EAqBJ,OAnBIiH,GAAclK,eAAemK,GAE3BD,EAAcC,GAAaC,UAAUvK,OAAS,GAChDoD,EAAUiH,EAAcC,GAAaC,UAAU,GAC/CF,EAAcC,GAAaC,UAAUM,UAIrCzH,EAAU0H,SAASC,gBAAgB,6BAA8BT,GACjEM,EAAaI,YAAY5H,KAK3BA,EAAU0H,SAASC,gBAAgB,6BAA8BT,GACjED,EAAcC,IAAgBE,QAAUD,cACxCK,EAAaI,YAAY5H,IAE3BiH,EAAcC,GAAaE,KAAKhI,KAAKY,GAC9BA,GAcT9I,EAAQ2Q,cAAgB,SAAUX,EAAaD,EAAea,EAAcC,GAC1E,GAAI/H,EA+BJ,OA7BIiH,GAAclK,eAAemK,GAE3BD,EAAcC,GAAaC,UAAUvK,OAAS,GAChDoD,EAAUiH,EAAcC,GAAaC,UAAU,GAC/CF,EAAcC,GAAaC,UAAUM,UAIrCzH,EAAU0H,SAASM,cAAcd,GACZzJ,SAAjBsK,EACFD,EAAaC,aAAa/H,EAAS+H,GAGnCD,EAAaF,YAAY5H,KAM7BA,EAAU0H,SAASM,cAAcd,GACjCD,EAAcC,IAAgBE,QAAUD,cACnB1J,SAAjBsK,EACFD,EAAaC,aAAa/H,EAAS+H,GAGnCD,EAAaF,YAAY5H,IAG7BiH,EAAcC,GAAaE,KAAKhI,KAAKY,GAC9BA,GAkBT9I,EAAQ+Q,UAAY,SAASC,EAAGC,EAAGC,EAAOnB,EAAeO,GACvD,GAAIa,EAgBJ,OAfsC,UAAlCD,EAAMhD,QAAQkD,WAAWC,OAC3BF,EAAQnR,EAAQqQ,cAAc,SAASN,EAAcO,GACrDa,EAAMG,eAAe,KAAM,KAAMN,GACjCG,EAAMG,eAAe,KAAM,KAAML,GACjCE,EAAMG,eAAe,KAAM,IAAK,GAAMJ,EAAMhD,QAAQkD,WAAWG,MAC/DJ,EAAMG,eAAe,KAAM,QAASJ,EAAMnJ,UAAY,YAGtDoJ,EAAQnR,EAAQqQ,cAAc,OAAON,EAAcO,GACnDa,EAAMG,eAAe,KAAM,IAAKN,EAAI,GAAIE,EAAMhD,QAAQkD,WAAWG,MACjEJ,EAAMG,eAAe,KAAM,IAAKL,EAAI,GAAIC,EAAMhD,QAAQkD,WAAWG,MACjEJ,EAAMG,eAAe,KAAM,QAASJ,EAAMhD,QAAQkD,WAAWG,MAC7DJ,EAAMG,eAAe,KAAM,SAAUJ,EAAMhD,QAAQkD,WAAWG,MAC9DJ,EAAMG,eAAe,KAAM,QAASJ,EAAMnJ,UAAY,WAEjDoJ,GAUTnR,EAAQwR,QAAU,SAAUR,EAAGC,EAAGQ,EAAOC,EAAQ3J,EAAWgI,EAAeO,GAEvE,GAAIqB,GAAO3R,EAAQqQ,cAAc,OAAON,EAAeO,EACvDqB,GAAKL,eAAe,KAAM,IAAKN,EAAI,GAAMS,GACzCE,EAAKL,eAAe,KAAM,IAAKL,GAC/BU,EAAKL,eAAe,KAAM,QAASG,GACnCE,EAAKL,eAAe,KAAM,SAAUI,GACpCC,EAAKL,eAAe,KAAM,QAASvJ,KAMnC,SAAS9H,EAAQD,EAASM,GA0C9B,QAASW,GAAS2Q,EAAM1D,GActB,IAZI0D,GAAS5L,MAAMC,QAAQ2L,IAAU7Q,EAAK4D,YAAYiN,KACpD1D,EAAU0D,EACVA,EAAO,MAGTxR,KAAKyR,SAAW3D,MAChB9N,KAAK0R,SACL1R,KAAK2R,SAAW3R,KAAKyR,SAASG,SAAW,KACzC5R,KAAK6R,SAID7R,KAAKyR,SAAShL,KAChB,IAAK,GAAI0H,KAASnO,MAAKyR,SAAShL,KAC9B,GAAIzG,KAAKyR,SAAShL,KAAKhB,eAAe0I,GAAQ,CAC5C,GAAInH,GAAQhH,KAAKyR,SAAShL,KAAK0H,EAE7BnO,MAAK6R,MAAM1D,GADA,QAATnH,GAA4B,WAATA,GAA+B,WAATA,EACvB,OAGAA,EAO5B,GAAIhH,KAAKyR,SAASjL,QAChB,KAAM,IAAIhD,OAAM,sDAGlBxD,MAAK8R,gBAGDN,GACFxR,KAAK+R,IAAIP,GA7Eb,GAAI7Q,GAAOT,EAAoB,EA0F/BW,GAAQmR,UAAUC,GAAK,SAAS7I,EAAOhB,GACrC,GAAI8J,GAAclS,KAAK8R,aAAa1I,EAC/B8I,KACHA,KACAlS,KAAK8R,aAAa1I,GAAS8I,GAG7BA,EAAYpK,MACVM,SAAUA,KAKdvH,EAAQmR,UAAUG,UAAYtR,EAAQmR,UAAUC,GAOhDpR,EAAQmR,UAAUI,IAAM,SAAShJ,EAAOhB,GACtC,GAAI8J,GAAclS,KAAK8R,aAAa1I,EAChC8I,KACFlS,KAAK8R,aAAa1I,GAAS8I,EAAYG,OAAO,SAAUzJ,GACtD,MAAQA,GAASR,UAAYA,MAMnCvH,EAAQmR,UAAUM,YAAczR,EAAQmR,UAAUI,IASlDvR,EAAQmR,UAAUO,SAAW,SAAUnJ,EAAOoJ,EAAQC,GACpD,GAAa,KAATrJ,EACF,KAAM,IAAI5F,OAAM,yBAGlB,IAAI0O,KACA9I,KAASpJ,MAAK8R,eAChBI,EAAcA,EAAYQ,OAAO1S,KAAK8R,aAAa1I,KAEjD,KAAOpJ,MAAK8R,eACdI,EAAcA,EAAYQ,OAAO1S,KAAK8R,aAAa,MAGrD,KAAK,GAAI3M,GAAI,EAAGA,EAAI+M,EAAY5M,OAAQH,IAAK,CAC3C,GAAIwN,GAAaT,EAAY/M,EACzBwN,GAAWvK,UACbuK,EAAWvK,SAASgB,EAAOoJ,EAAQC,GAAY,QAYrD5R,EAAQmR,UAAUD,IAAM,SAAUP,EAAMiB,GACtC,GACIpS,GADAuS,KAEAC,EAAK7S,IAET,IAAI4F,MAAMC,QAAQ2L,GAEhB,IAAK,GAAIrM,GAAI,EAAGC,EAAMoM,EAAKlM,OAAYF,EAAJD,EAASA,IAC1C9E,EAAKwS,EAAGC,SAAStB,EAAKrM,IACtByN,EAAS9K,KAAKzH,OAGb,IAAIM,EAAK4D,YAAYiN,GAGxB,IAAK,GADDuB,GAAU/S,KAAKgT,gBAAgBxB,GAC1ByB,EAAM,EAAGC,EAAO1B,EAAK2B,kBAAyBD,EAAND,EAAYA,IAAO,CAElE,IAAK,GADDG,MACKC,EAAM,EAAGC,EAAOP,EAAQzN,OAAcgO,EAAND,EAAYA,IAAO,CAC1D,GAAIlF,GAAQ4E,EAAQM,EACpBD,GAAKjF,GAASqD,EAAK+B,SAASN,EAAKI,GAGnChT,EAAKwS,EAAGC,SAASM,GACjBR,EAAS9K,KAAKzH,OAGb,CAAA,KAAImR,YAAgBtL,SAMvB,KAAM,IAAI1C,OAAM,mBAJhBnD,GAAKwS,EAAGC,SAAStB,GACjBoB,EAAS9K,KAAKzH,GAUhB,MAJIuS,GAAStN,QACXtF,KAAKuS,SAAS,OAAQxQ,MAAO6Q,GAAWH,GAGnCG,GAST/R,EAAQmR,UAAUwB,OAAS,SAAUhC,EAAMiB,GACzC,GAAIG,MACAa,KACAZ,EAAK7S,KACL4R,EAAUiB,EAAGlB,SAEb+B,EAAc,SAAUN,GAC1B,GAAI/S,GAAK+S,EAAKxB,EACViB,GAAGnB,MAAMrR,IAEXA,EAAKwS,EAAGc,YAAYP,GACpBK,EAAW3L,KAAKzH,KAIhBA,EAAKwS,EAAGC,SAASM,GACjBR,EAAS9K,KAAKzH,IAIlB,IAAIuF,MAAMC,QAAQ2L,GAEhB,IAAK,GAAIrM,GAAI,EAAGC,EAAMoM,EAAKlM,OAAYF,EAAJD,EAASA,IAC1CuO,EAAYlC,EAAKrM,QAGhB,IAAIxE,EAAK4D,YAAYiN,GAGxB,IAAK,GADDuB,GAAU/S,KAAKgT,gBAAgBxB,GAC1ByB,EAAM,EAAGC,EAAO1B,EAAK2B,kBAAyBD,EAAND,EAAYA,IAAO,CAElE,IAAK,GADDG,MACKC,EAAM,EAAGC,EAAOP,EAAQzN,OAAcgO,EAAND,EAAYA,IAAO,CAC1D,GAAIlF,GAAQ4E,EAAQM,EACpBD,GAAKjF,GAASqD,EAAK+B,SAASN,EAAKI,GAGnCK,EAAYN,OAGX,CAAA,KAAI5B,YAAgBtL,SAKvB,KAAM,IAAI1C,OAAM,mBAHhBkQ,GAAYlC,GAad,MAPIoB,GAAStN,QACXtF,KAAKuS,SAAS,OAAQxQ,MAAO6Q,GAAWH,GAEtCgB,EAAWnO,QACbtF,KAAKuS,SAAS,UAAWxQ,MAAO0R,GAAahB,GAGxCG,EAASF,OAAOe,IAsCzB5S,EAAQmR,UAAU4B,IAAM,WACtB,GAGIvT,GAAIwT,EAAK/F,EAAS0D,EAHlBqB,EAAK7S,KAIL8T,EAAYnT,EAAKmG,QAAQzB,UAAU,GACtB,WAAbyO,GAAsC,UAAbA,GAE3BzT,EAAKgF,UAAU,GACfyI,EAAUzI,UAAU,GACpBmM,EAAOnM,UAAU,IAEG,SAAbyO,GAEPD,EAAMxO,UAAU,GAChByI,EAAUzI,UAAU,GACpBmM,EAAOnM,UAAU,KAIjByI,EAAUzI,UAAU,GACpBmM,EAAOnM,UAAU,GAInB,IAAI0O,EACJ,IAAIjG,GAAWA,EAAQiG,WAAY,CACjC,GAAIC,IAAiB,YAAa,QAAS,SAG3C,IAFAD,EAA0D,IAA7CC,EAAc1N,QAAQwH,EAAQiG,YAAoB,QAAUjG,EAAQiG,WAE7EvC,GAASuC,GAAcpT,EAAKmG,QAAQ0K,GACtC,KAAM,IAAIhO,OAAM,6BAA+B7C,EAAKmG,QAAQ0K,GAAQ,sDACV1D,EAAQrH,KAAO,IAE3E,IAAkB,aAAdsN,IAA8BpT,EAAK4D,YAAYiN,GACjD,KAAM,IAAIhO,OAAM,6EAKlBuQ,GADOvC,GAC6B,aAAtB7Q,EAAKmG,QAAQ0K,GAAwB,YAGtC,OAIf,IAEgB4B,GAAMa,EAAQ9O,EAAGC,EAF7BqB,EAAOqH,GAAWA,EAAQrH,MAAQzG,KAAKyR,SAAShL,KAChD4L,EAASvE,GAAWA,EAAQuE,OAC5BtQ,IAGJ,IAAUoE,QAAN9F,EAEF+S,EAAOP,EAAGqB,SAAS7T,EAAIoG,GACnB4L,IAAWA,EAAOe,KACpBA,EAAO,UAGN,IAAWjN,QAAP0N,EAEP,IAAK1O,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IACrCiO,EAAOP,EAAGqB,SAASL,EAAI1O,GAAIsB,KACtB4L,GAAUA,EAAOe,KACpBrR,EAAM+F,KAAKsL,OAMf,KAAKa,IAAUjU,MAAK0R,MACd1R,KAAK0R,MAAMjM,eAAewO,KAC5Bb,EAAOP,EAAGqB,SAASD,EAAQxN,KACtB4L,GAAUA,EAAOe,KACpBrR,EAAM+F,KAAKsL,GAYnB,IALItF,GAAWA,EAAQqG,OAAehO,QAAN9F,GAC9BL,KAAKoU,MAAMrS,EAAO+L,EAAQqG,OAIxBrG,GAAWA,EAAQP,OAAQ,CAC7B,GAAIA,GAASO,EAAQP,MACrB,IAAUpH,QAAN9F,EACF+S,EAAOpT,KAAKqU,cAAcjB,EAAM7F,OAGhC,KAAKpI,EAAI,EAAGC,EAAMrD,EAAMuD,OAAYF,EAAJD,EAASA,IACvCpD,EAAMoD,GAAKnF,KAAKqU,cAActS,EAAMoD,GAAIoI,GAM9C,GAAkB,aAAdwG,EAA2B,CAC7B,GAAIhB,GAAU/S,KAAKgT,gBAAgBxB,EACnC,IAAUrL,QAAN9F,EAEFwS,EAAGyB,WAAW9C,EAAMuB,EAASK,OAI7B,KAAKjO,EAAI,EAAGA,EAAIpD,EAAMuD,OAAQH,IAC5B0N,EAAGyB,WAAW9C,EAAMuB,EAAShR,EAAMoD,GAGvC,OAAOqM,GAEJ,GAAkB,UAAduC,EAAwB,CAC/B,GAAIQ,KACJ,KAAKpP,EAAI,EAAGA,EAAIpD,EAAMuD,OAAQH,IAC5BoP,EAAOxS,EAAMoD,GAAG9E,IAAM0B,EAAMoD,EAE9B,OAAOoP,GAIP,GAAUpO,QAAN9F,EAEF,MAAO+S,EAIP,IAAI5B,EAAM,CAER,IAAKrM,EAAI,EAAGC,EAAMrD,EAAMuD,OAAYF,EAAJD,EAASA,IACvCqM,EAAK1J,KAAK/F,EAAMoD,GAElB,OAAOqM,GAIP,MAAOzP,IAcflB,EAAQmR,UAAUwC,OAAS,SAAU1G,GACnC,GAII3I,GACAC,EACA/E,EACA+S,EACArR,EARAyP,EAAOxR,KAAK0R,MACZW,EAASvE,GAAWA,EAAQuE,OAC5B8B,EAAQrG,GAAWA,EAAQqG,MAC3B1N,EAAOqH,GAAWA,EAAQrH,MAAQzG,KAAKyR,SAAShL,KAMhDoN,IAEJ,IAAIxB,EAEF,GAAI8B,EAAO,CAETpS,IACA,KAAK1B,IAAMmR,GACLA,EAAK/L,eAAepF,KACtB+S,EAAOpT,KAAKkU,SAAS7T,EAAIoG,GACrB4L,EAAOe,IACTrR,EAAM+F,KAAKsL,GAOjB,KAFApT,KAAKoU,MAAMrS,EAAOoS,GAEbhP,EAAI,EAAGC,EAAMrD,EAAMuD,OAAYF,EAAJD,EAASA,IACvC0O,EAAI1O,GAAKpD,EAAMoD,GAAGnF,KAAK2R,cAKzB,KAAKtR,IAAMmR,GACLA,EAAK/L,eAAepF,KACtB+S,EAAOpT,KAAKkU,SAAS7T,EAAIoG,GACrB4L,EAAOe,IACTS,EAAI/L,KAAKsL,EAAKpT,KAAK2R,gBAQ3B,IAAIwC,EAAO,CAETpS,IACA,KAAK1B,IAAMmR,GACLA,EAAK/L,eAAepF,IACtB0B,EAAM+F,KAAK0J,EAAKnR,GAMpB,KAFAL,KAAKoU,MAAMrS,EAAOoS,GAEbhP,EAAI,EAAGC,EAAMrD,EAAMuD,OAAYF,EAAJD,EAASA,IACvC0O,EAAI1O,GAAKpD,EAAMoD,GAAGnF,KAAK2R,cAKzB,KAAKtR,IAAMmR,GACLA,EAAK/L,eAAepF,KACtB+S,EAAO5B,EAAKnR,GACZwT,EAAI/L,KAAKsL,EAAKpT,KAAK2R,WAM3B,OAAOkC,IAOThT,EAAQmR,UAAUyC,WAAa,WAC7B,MAAOzU,OAaTa,EAAQmR,UAAU7J,QAAU,SAAUC,EAAU0F,GAC9C,GAGIsF,GACA/S,EAJAgS,EAASvE,GAAWA,EAAQuE,OAC5B5L,EAAOqH,GAAWA,EAAQrH,MAAQzG,KAAKyR,SAAShL,KAChD+K,EAAOxR,KAAK0R,KAIhB,IAAI5D,GAAWA,EAAQqG,MAIrB,IAAK,GAFDpS,GAAQ/B,KAAK4T,IAAI9F,GAEZ3I,EAAI,EAAGC,EAAMrD,EAAMuD,OAAYF,EAAJD,EAASA,IAC3CiO,EAAOrR,EAAMoD,GACb9E,EAAK+S,EAAKpT,KAAK2R,UACfvJ,EAASgL,EAAM/S,OAKjB,KAAKA,IAAMmR,GACLA,EAAK/L,eAAepF,KACtB+S,EAAOpT,KAAKkU,SAAS7T,EAAIoG,KACpB4L,GAAUA,EAAOe,KACpBhL,EAASgL,EAAM/S,KAkBzBQ,EAAQmR,UAAU0C,IAAM,SAAUtM,EAAU0F,GAC1C,GAIIsF,GAJAf,EAASvE,GAAWA,EAAQuE,OAC5B5L,EAAOqH,GAAWA,EAAQrH,MAAQzG,KAAKyR,SAAShL,KAChDkO,KACAnD,EAAOxR,KAAK0R,KAIhB,KAAK,GAAIrR,KAAMmR,GACTA,EAAK/L,eAAepF,KACtB+S,EAAOpT,KAAKkU,SAAS7T,EAAIoG,KACpB4L,GAAUA,EAAOe,KACpBuB,EAAY7M,KAAKM,EAASgL,EAAM/S,IAUtC,OAJIyN,IAAWA,EAAQqG,OACrBnU,KAAKoU,MAAMO,EAAa7G,EAAQqG,OAG3BQ,GAUT9T,EAAQmR,UAAUqC,cAAgB,SAAUjB,EAAM7F,GAChD,GAAIqH,KAEJ,KAAK,GAAIzG,KAASiF,GACZA,EAAK3N,eAAe0I,IAAoC,IAAzBZ,EAAOjH,QAAQ6H,KAChDyG,EAAazG,GAASiF,EAAKjF,GAI/B,OAAOyG,IAST/T,EAAQmR,UAAUoC,MAAQ,SAAUrS,EAAOoS,GACzC,GAAIxT,EAAKmD,SAASqQ,GAAQ,CAExB,GAAIU,GAAOV,CACXpS,GAAM+S,KAAK,SAAU5P,EAAGa,GACtB,GAAIgP,GAAK7P,EAAE2P,GACPG,EAAKjP,EAAE8O,EACX,OAAQE,GAAKC,EAAM,EAAWA,EAALD,EAAW,GAAK,QAGxC,CAAA,GAAqB,kBAAVZ,GAOd,KAAM,IAAInO,WAAU,uCALpBjE,GAAM+S,KAAKX,KAgBftT,EAAQmR,UAAUiD,OAAS,SAAU5U,EAAIoS,GACvC,GACItN,GAAGC,EAAK8P,EADRC,IAGJ,IAAIvP,MAAMC,QAAQxF,GAChB,IAAK8E,EAAI,EAAGC,EAAM/E,EAAGiF,OAAYF,EAAJD,EAASA,IACpC+P,EAAYlV,KAAKoV,QAAQ/U,EAAG8E,IACX,MAAb+P,GACFC,EAAWrN,KAAKoN,OAKpBA,GAAYlV,KAAKoV,QAAQ/U,GACR,MAAb6U,GACFC,EAAWrN,KAAKoN,EAQpB,OAJIC,GAAW7P,QACbtF,KAAKuS,SAAS,UAAWxQ,MAAOoT,GAAa1C,GAGxC0C,GASTtU,EAAQmR,UAAUoD,QAAU,SAAU/U,GACpC,GAAIM,EAAKgD,SAAStD,IAAOM,EAAKmD,SAASzD,IACrC,GAAIL,KAAK0R,MAAMrR,GAEb,aADOL,MAAK0R,MAAMrR,GACXA,MAGN,IAAIA,YAAc6F,QAAQ,CAC7B,GAAI+N,GAAS5T,EAAGL,KAAK2R,SACrB,IAAIsC,GAAUjU,KAAK0R,MAAMuC,GAEvB,aADOjU,MAAK0R,MAAMuC,GACXA,EAGX,MAAO,OAQTpT,EAAQmR,UAAUqD,MAAQ,SAAU5C,GAClC,GAAIoB,GAAM3N,OAAOoP,KAAKtV,KAAK0R,MAM3B,OAJA1R,MAAK0R,SAEL1R,KAAKuS,SAAS,UAAWxQ,MAAO8R,GAAMpB,GAE/BoB,GAQThT,EAAQmR,UAAUlF,IAAM,SAAUqB,GAChC,GAAIqD,GAAOxR,KAAK0R,MACZ5E,EAAM,KACNyI,EAAW,IAEf,KAAK,GAAIlV,KAAMmR,GACb,GAAIA,EAAK/L,eAAepF,GAAK,CAC3B,GAAI+S,GAAO5B,EAAKnR,GACZmV,EAAYpC,EAAKjF,EACJ,OAAbqH,KAAuB1I,GAAO0I,EAAYD,KAC5CzI,EAAMsG,EACNmC,EAAWC,GAKjB,MAAO1I,IAQTjM,EAAQmR,UAAU3G,IAAM,SAAU8C,GAChC,GAAIqD,GAAOxR,KAAK0R,MACZrG,EAAM,KACNoK,EAAW,IAEf,KAAK,GAAIpV,KAAMmR,GACb,GAAIA,EAAK/L,eAAepF,GAAK,CAC3B,GAAI+S,GAAO5B,EAAKnR,GACZmV,EAAYpC,EAAKjF,EACJ,OAAbqH,KAAuBnK,GAAmBoK,EAAZD,KAChCnK,EAAM+H,EACNqC,EAAWD,GAKjB,MAAOnK,IAUTxK,EAAQmR,UAAU0D,SAAW,SAAUvH,GACrC,GAIIhJ,GAJAqM,EAAOxR,KAAK0R,MACZiE,KACAC,EAAY5V,KAAKyR,SAAShL,MAAQzG,KAAKyR,SAAShL,KAAK0H,IAAU,KAC/D0H,EAAQ,CAGZ,KAAK,GAAIrQ,KAAQgM,GACf,GAAIA,EAAK/L,eAAeD,GAAO,CAC7B,GAAI4N,GAAO5B,EAAKhM,GACZwB,EAAQoM,EAAKjF,GACb2H,GAAS,CACb,KAAK3Q,EAAI,EAAO0Q,EAAJ1Q,EAAWA,IACrB,GAAIwQ,EAAOxQ,IAAM6B,EAAO,CACtB8O,GAAS,CACT,OAGCA,GAAqB3P,SAAVa,IACd2O,EAAOE,GAAS7O,EAChB6O,KAKN,GAAID,EACF,IAAKzQ,EAAI,EAAGA,EAAIwQ,EAAOrQ,OAAQH,IAC7BwQ,EAAOxQ,GAAKxE,EAAK6F,QAAQmP,EAAOxQ,GAAIyQ,EAIxC,OAAOD,IAST9U,EAAQmR,UAAUc,SAAW,SAAUM,GACrC,GAAI/S,GAAK+S,EAAKpT,KAAK2R,SAEnB,IAAUxL,QAAN9F,GAEF,GAAIL,KAAK0R,MAAMrR,GAEb,KAAM,IAAImD,OAAM,iCAAmCnD,EAAK,uBAK1DA,GAAKM,EAAKgE,aACVyO,EAAKpT,KAAK2R,UAAYtR,CAGxB,IAAI8L,KACJ,KAAK,GAAIgC,KAASiF,GAChB,GAAIA,EAAK3N,eAAe0I,GAAQ,CAC9B,GAAIyH,GAAY5V,KAAK6R,MAAM1D,EAC3BhC,GAAEgC,GAASxN,EAAK6F,QAAQ4M,EAAKjF,GAAQyH,GAKzC,MAFA5V,MAAK0R,MAAMrR,GAAM8L,EAEV9L,GAUTQ,EAAQmR,UAAUkC,SAAW,SAAU7T,EAAI0V,GACzC,GAAI5H,GAAOnH,EAGPgP,EAAMhW,KAAK0R,MAAMrR,EACrB,KAAK2V,EACH,MAAO,KAIT,IAAIC,KACJ,IAAIF,EACF,IAAK5H,IAAS6H,GACRA,EAAIvQ,eAAe0I,KACrBnH,EAAQgP,EAAI7H,GACZ8H,EAAU9H,GAASxN,EAAK6F,QAAQQ,EAAO+O,EAAM5H,SAMjD,KAAKA,IAAS6H,GACRA,EAAIvQ,eAAe0I,KACrBnH,EAAQgP,EAAI7H,GACZ8H,EAAU9H,GAASnH,EAIzB,OAAOiP,IAWTpV,EAAQmR,UAAU2B,YAAc,SAAUP,GACxC,GAAI/S,GAAK+S,EAAKpT,KAAK2R,SACnB,IAAUxL,QAAN9F,EACF,KAAM,IAAImD,OAAM,6CAA+C0S,KAAKC,UAAU/C,GAAQ,IAExF,IAAIjH,GAAInM,KAAK0R,MAAMrR,EACnB,KAAK8L,EAEH,KAAM,IAAI3I,OAAM,uCAAyCnD,EAAK,SAIhE,KAAK,GAAI8N,KAASiF,GAChB,GAAIA,EAAK3N,eAAe0I,GAAQ,CAC9B,GAAIyH,GAAY5V,KAAK6R,MAAM1D,EAC3BhC,GAAEgC,GAASxN,EAAK6F,QAAQ4M,EAAKjF,GAAQyH,GAIzC,MAAOvV,IASTQ,EAAQmR,UAAUgB,gBAAkB,SAAUoD,GAE5C,IAAK,GADDrD,MACKM,EAAM,EAAGC,EAAO8C,EAAUC,qBAA4B/C,EAAND,EAAYA,IACnEN,EAAQM,GAAO+C,EAAUE,YAAYjD,IAAQ+C,EAAUG,eAAelD,EAExE,OAAON,IAUTlS,EAAQmR,UAAUsC,WAAa,SAAU8B,EAAWrD,EAASK,GAG3D,IAAK,GAFDH,GAAMmD,EAAUI,SAEXnD,EAAM,EAAGC,EAAOP,EAAQzN,OAAcgO,EAAND,EAAYA,IAAO,CAC1D,GAAIlF,GAAQ4E,EAAQM,EACpB+C,GAAUK,SAASxD,EAAKI,EAAKD,EAAKjF,MAItCtO,EAAOD,QAAUiB,GAKb,SAAShB,EAAQD,EAASM,GAe9B,QAASY,GAAU0Q,EAAM1D,GACvB9N,KAAK0R,MAAQ,KACb1R,KAAK0W,QACL1W,KAAKyR,SAAW3D,MAChB9N,KAAK2R,SAAW,KAChB3R,KAAK8R,eAEL,IAAIe,GAAK7S,IACTA,MAAK4I,SAAW,WACdiK,EAAG8D,SAASC,MAAM/D,EAAIxN,YAGxBrF,KAAK6W,QAAQrF,GAzBf,GAAI7Q,GAAOT,EAAoB,GAC3BW,EAAUX,EAAoB,EAkClCY,GAASkR,UAAU6E,QAAU,SAAUrF,GACrC,GAAIqC,GAAK1O,EAAGC,CAEZ,IAAIpF,KAAK0R,MAAO,CAEV1R,KAAK0R,MAAMY,aACbtS,KAAK0R,MAAMY,YAAY,IAAKtS,KAAK4I,UAInCiL,IACA,KAAK,GAAIxT,KAAML,MAAK0W,KACd1W,KAAK0W,KAAKjR,eAAepF,IAC3BwT,EAAI/L,KAAKzH,EAGbL,MAAK0W,QACL1W,KAAKuS,SAAS,UAAWxQ,MAAO8R,IAKlC,GAFA7T,KAAK0R,MAAQF,EAETxR,KAAK0R,MAAO,CAQd,IANA1R,KAAK2R,SAAW3R,KAAKyR,SAASG,SACzB5R,KAAK0R,OAAS1R,KAAK0R,MAAM5D,SAAW9N,KAAK0R,MAAM5D,QAAQ8D,SACxD,KAGJiC,EAAM7T,KAAK0R,MAAM8C,QAAQnC,OAAQrS,KAAKyR,UAAYzR,KAAKyR,SAASY,SAC3DlN,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IACrC9E,EAAKwT,EAAI1O,GACTnF,KAAK0W,KAAKrW,IAAM,CAElBL,MAAKuS,SAAS,OAAQxQ,MAAO8R,IAGzB7T,KAAK0R,MAAMO,IACbjS,KAAK0R,MAAMO,GAAG,IAAKjS,KAAK4I,YAuC9B9H,EAASkR,UAAU4B,IAAM,WACvB,GAGIC,GAAK/F,EAAS0D,EAHdqB,EAAK7S,KAIL8T,EAAYnT,EAAKmG,QAAQzB,UAAU,GACtB,WAAbyO,GAAsC,UAAbA,GAAsC,SAAbA,GAEpDD,EAAMxO,UAAU,GAChByI,EAAUzI,UAAU,GACpBmM,EAAOnM,UAAU,KAIjByI,EAAUzI,UAAU,GACpBmM,EAAOnM,UAAU,GAInB,IAAIyR,GAAcnW,EAAKsE,UAAWjF,KAAKyR,SAAU3D,EAG7C9N,MAAKyR,SAASY,QAAUvE,GAAWA,EAAQuE,SAC7CyE,EAAYzE,OAAS,SAAUe,GAC7B,MAAOP,GAAGpB,SAASY,OAAOe,IAAStF,EAAQuE,OAAOe,IAKtD,IAAI2D,KAOJ,OANW5Q,SAAP0N,GACFkD,EAAajP,KAAK+L,GAEpBkD,EAAajP,KAAKgP,GAClBC,EAAajP,KAAK0J,GAEXxR,KAAK0R,OAAS1R,KAAK0R,MAAMkC,IAAIgD,MAAM5W,KAAK0R,MAAOqF,IAWxDjW,EAASkR,UAAUwC,OAAS,SAAU1G,GACpC,GAAI+F,EAEJ,IAAI7T,KAAK0R,MAAO,CACd,GACIW,GADA2E,EAAgBhX,KAAKyR,SAASY,MAK9BA,GAFAvE,GAAWA,EAAQuE,OACjB2E,EACO,SAAU5D,GACjB,MAAO4D,GAAc5D,IAAStF,EAAQuE,OAAOe,IAItCtF,EAAQuE,OAIV2E,EAGXnD,EAAM7T,KAAK0R,MAAM8C,QACfnC,OAAQA,EACR8B,MAAOrG,GAAWA,EAAQqG,YAI5BN,KAGF,OAAOA,IAQT/S,EAASkR,UAAUyC,WAAa,WAE9B,IADA,GAAIwC,GAAUjX,KACPiX,YAAmBnW,IACxBmW,EAAUA,EAAQvF,KAEpB,OAAOuF,IAAW,MAYpBnW,EAASkR,UAAU2E,SAAW,SAAUvN,EAAOoJ,EAAQC,GACrD,GAAItN,GAAGC,EAAK/E,EAAI+S,EACZS,EAAMrB,GAAUA,EAAOzQ,MACvByP,EAAOxR,KAAK0R,MACZwF,KACAC,KACAC,IAEJ,IAAIvD,GAAOrC,EAAM,CACf,OAAQpI,GACN,IAAK,MAEH,IAAKjE,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IACrC9E,EAAKwT,EAAI1O,GACTiO,EAAOpT,KAAK4T,IAAIvT,GACZ+S,IACFpT,KAAK0W,KAAKrW,IAAM,EAChB6W,EAAMpP,KAAKzH,GAIf,MAEF,KAAK,SAGH,IAAK8E,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IACrC9E,EAAKwT,EAAI1O,GACTiO,EAAOpT,KAAK4T,IAAIvT,GAEZ+S,EACEpT,KAAK0W,KAAKrW,GACZ8W,EAAQrP,KAAKzH,IAGbL,KAAK0W,KAAKrW,IAAM,EAChB6W,EAAMpP,KAAKzH,IAITL,KAAK0W,KAAKrW,WACLL,MAAK0W,KAAKrW,GACjB+W,EAAQtP,KAAKzH,GAQnB,MAEF,KAAK,SAEH,IAAK8E,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IACrC9E,EAAKwT,EAAI1O,GACLnF,KAAK0W,KAAKrW,WACLL,MAAK0W,KAAKrW,GACjB+W,EAAQtP,KAAKzH,IAOjB6W,EAAM5R,QACRtF,KAAKuS,SAAS,OAAQxQ,MAAOmV,GAAQzE,GAEnC0E,EAAQ7R,QACVtF,KAAKuS,SAAS,UAAWxQ,MAAOoV,GAAU1E,GAExC2E,EAAQ9R,QACVtF,KAAKuS,SAAS,UAAWxQ,MAAOqV,GAAU3E,KAMhD3R,EAASkR,UAAUC,GAAKpR,EAAQmR,UAAUC,GAC1CnR,EAASkR,UAAUI,IAAMvR,EAAQmR,UAAUI,IAC3CtR,EAASkR,UAAUO,SAAW1R,EAAQmR,UAAUO,SAGhDzR,EAASkR,UAAUG,UAAYrR,EAASkR,UAAUC,GAClDnR,EAASkR,UAAUM,YAAcxR,EAASkR,UAAUI,IAEpDvS,EAAOD,QAAUkB,GAIb,SAASjB,EAAQD,EAASM,GAwB9B,QAASa,GAAQsW,EAAW7F,EAAM1D,GAChC,KAAM9N,eAAgBe,IACpB,KAAM,IAAIuW,aAAY,mDAIxBtX,MAAKuX,iBAAmBF,EACxBrX,KAAKqR,MAAQ,QACbrR,KAAKsR,OAAS,QACdtR,KAAKwX,OAAS,GACdxX,KAAKyX,eAAiB,MACtBzX,KAAK0X,eAAiB,MAEtB1X,KAAK2X,OAAS,IACd3X,KAAK4X,OAAS,IACd5X,KAAK6X,OAAS,IACd7X,KAAK8X,YAAc,OACnB9X,KAAK+X,YAAc,QAEnB/X,KAAKiR,MAAQlQ,EAAQiX,MAAMC,IAC3BjY,KAAKkY,iBAAkB,EACvBlY,KAAKmY,UAAW,EAChBnY,KAAKoY,iBAAkB,EACvBpY,KAAKqY,YAAa,EAClBrY,KAAKsY,gBAAiB,EACtBtY,KAAKuY,aAAc,EACnBvY,KAAKwY,cAAgB,GAErBxY,KAAKyY,kBAAoB,IACzBzY,KAAK0Y,kBAAmB,EAExB1Y,KAAK2Y,OAAS,GAAI1X,GAClBjB,KAAK4Y,IAAM,GAAIxX,GAAQ,EAAG,EAAG,IAE7BpB,KAAKoW,UAAY,KACjBpW,KAAK6Y,WAAa,KAGlB7Y,KAAK8Y,KAAO3S,OACZnG,KAAK+Y,KAAO5S,OACZnG,KAAKgZ,KAAO7S,OACZnG,KAAKiZ,SAAW9S,OAChBnG,KAAKkZ,UAAY/S,OAEjBnG,KAAKmZ,KAAO,EACZnZ,KAAKoZ,MAAQjT,OACbnG,KAAKqZ,KAAO,EACZrZ,KAAKsZ,KAAO,EACZtZ,KAAKuZ,MAAQpT,OACbnG,KAAKwZ,KAAO,EACZxZ,KAAKyZ,KAAO,EACZzZ,KAAK0Z,MAAQvT,OACbnG,KAAK2Z,KAAO,EACZ3Z,KAAK4Z,SAAW,EAChB5Z,KAAK6Z,SAAW,EAChB7Z,KAAK8Z,UAAY,EACjB9Z,KAAK+Z,UAAY,EAIjB/Z,KAAKga,UAAY,UACjBha,KAAKia,UAAY,UACjBja,KAAKka,SAAW,UAChBla,KAAKma,eAAiB,UAGtBna,KAAK0N,SAGL1N,KAAKoa,WAAWtM,GAGZ0D,GACFxR,KAAK6W,QAAQrF,GA/FjB,GAAI6I,GAAUna,EAAoB,IAC9BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BS,EAAOT,EAAoB,GAC3BkB,EAAUlB,EAAoB,GAC9BiB,EAAUjB,EAAoB,GAC9Be,EAASf,EAAoB,GAC7BgB,EAAShB,EAAoB,GAC7BmB,EAASnB,EAAoB,IAC7BoB,EAAapB,EAAoB,GA2FrCma,GAAQtZ,EAAQiR,WAKhBjR,EAAQiR,UAAUsI,UAAY,WAC5Bta,KAAKua,MAAQ,GAAInZ,GAAQ,GAAKpB,KAAKqZ,KAAOrZ,KAAKmZ,MAC7C,GAAKnZ,KAAKwZ,KAAOxZ,KAAKsZ,MACtB,GAAKtZ,KAAK2Z,KAAO3Z,KAAKyZ,OAGpBzZ,KAAKoY,kBACHpY,KAAKua,MAAM3J,EAAI5Q,KAAKua,MAAM1J,EAE5B7Q,KAAKua,MAAM1J,EAAI7Q,KAAKua,MAAM3J,EAI1B5Q,KAAKua,MAAM3J,EAAI5Q,KAAKua,MAAM1J,GAK9B7Q,KAAKua,MAAMC,GAAKxa,KAAKwY,cAIrBxY,KAAKua,MAAMvT,MAAQ,GAAKhH,KAAK6Z,SAAW7Z,KAAK4Z,SAG7C,IAAIa,IAAWza,KAAKqZ,KAAOrZ,KAAKmZ,MAAQ,EAAInZ,KAAKua,MAAM3J,EACnD8J,GAAW1a,KAAKwZ,KAAOxZ,KAAKsZ,MAAQ,EAAItZ,KAAKua,MAAM1J,EACnD8J,GAAW3a,KAAK2Z,KAAO3Z,KAAKyZ,MAAQ,EAAIzZ,KAAKua,MAAMC,CACvDxa,MAAK2Y,OAAOiC,eAAeH,EAASC,EAASC,IAU/C5Z,EAAQiR,UAAU6I,eAAiB,SAASC,GAC1C,GAAIC,GAAc/a,KAAKgb,2BAA2BF,EAClD,OAAO9a,MAAKib,4BAA4BF,IAW1Cha,EAAQiR,UAAUgJ,2BAA6B,SAASF,GACtD,GAAII,GAAKJ,EAAQlK,EAAI5Q,KAAKua,MAAM3J,EAC9BuK,EAAKL,EAAQjK,EAAI7Q,KAAKua,MAAM1J,EAC5BuK,EAAKN,EAAQN,EAAIxa,KAAKua,MAAMC,EAE5Ba,EAAKrb,KAAK2Y,OAAO2C,oBAAoB1K,EACrC2K,EAAKvb,KAAK2Y,OAAO2C,oBAAoBzK,EACrC2K,EAAKxb,KAAK2Y,OAAO2C,oBAAoBd,EAGrCiB,EAAQ5W,KAAK6W,IAAI1b,KAAK2Y,OAAOgD,oBAAoB/K,GACjDgL,EAAQ/W,KAAKgX,IAAI7b,KAAK2Y,OAAOgD,oBAAoB/K,GACjDkL,EAAQjX,KAAK6W,IAAI1b,KAAK2Y,OAAOgD,oBAAoB9K,GACjDkL,EAAQlX,KAAKgX,IAAI7b,KAAK2Y,OAAOgD,oBAAoB9K,GACjDmL,EAAQnX,KAAK6W,IAAI1b,KAAK2Y,OAAOgD,oBAAoBnB,GACjDyB,EAAQpX,KAAKgX,IAAI7b,KAAK2Y,OAAOgD,oBAAoBnB,GAGjD0B,EAAKH,GAASC,GAASb,EAAKI,GAAMU,GAASf,EAAKG,IAAOS,GAASV,EAAKI,GACrEW,EAAKV,GAASM,GAASX,EAAKI,GAAMM,GAASE,GAASb,EAAKI,GAAMU,GAASf,EAAKG,KAAQO,GAASK,GAASd,EAAKI,GAAMS,GAASd,EAAGG,IAC9He,EAAKR,GAASG,GAASX,EAAKI,GAAMM,GAASE,GAASb,EAAKI,GAAMU,GAASf,EAAKG,KAAQI,GAASQ,GAASd,EAAKI,GAAMS,GAASd,EAAGG,GAEhI,OAAO,IAAIja,GAAQ8a,EAAIC,EAAIC,IAU7Brb,EAAQiR,UAAUiJ,4BAA8B,SAASF,GACvD,GAQIsB,GACAC,EATAC,EAAKvc,KAAK4Y,IAAIhI,EAChB4L,EAAKxc,KAAK4Y,IAAI/H,EACd4L,EAAKzc,KAAK4Y,IAAI4B,EACd0B,EAAKnB,EAAYnK,EACjBuL,EAAKpB,EAAYlK,EACjBuL,EAAKrB,EAAYP,CAgBnB,OAXIxa,MAAKkY,iBACPmE,GAAMH,EAAKK,IAAOE,EAAKL,GACvBE,GAAMH,EAAKK,IAAOC,EAAKL,KAGvBC,EAAKH,IAAOO,EAAKzc,KAAK2Y,OAAO+D,gBAC7BJ,EAAKH,IAAOM,EAAKzc,KAAK2Y,OAAO+D,iBAKxB,GAAIvb,GACTnB,KAAK2c,QAAUN,EAAKrc,KAAK4c,MAAMC,OAAOC,YACtC9c,KAAK+c,QAAUT,EAAKtc,KAAK4c,MAAMC,OAAOC,cAO1C/b,EAAQiR,UAAUgL,oBAAsB,SAASC,GAC/C,GAAIC,GAAO,QACPC,EAAS,OACTC,EAAc,CAElB,IAAgC,gBAAtB,GACRF,EAAOD,EACPE,EAAS,OACTC,EAAc,MAEX,IAAgC,gBAAtB,GACgBjX,SAAzB8W,EAAgBC,OAAuBA,EAAOD,EAAgBC,MACnC/W,SAA3B8W,EAAgBE,SAAyBA,EAASF,EAAgBE,QAClChX,SAAhC8W,EAAgBG,cAA2BA,EAAcH,EAAgBG,iBAE1E,IAAyBjX,SAApB8W,EAIR,KAAM,qCAGRjd,MAAK4c,MAAM3L,MAAMgM,gBAAkBC,EACnCld,KAAK4c,MAAM3L,MAAMoM,YAAcF,EAC/Bnd,KAAK4c,MAAM3L,MAAMqM,YAAcF,EAAc,KAC7Cpd,KAAK4c,MAAM3L,MAAMsM,YAAc,SAKjCxc,EAAQiX,OACNwF,IAAK,EACLC,SAAU,EACVC,QAAS,EACTzF,IAAM,EACN0F,QAAU,EACVC,SAAU,EACVC,QAAS,EACTC,KAAO,EACPC,KAAM,EACNC,QAAU,GASZjd,EAAQiR,UAAUiM,gBAAkB,SAASC,GAC3C,OAAQA,GACN,IAAK,MAAW,MAAOnd,GAAQiX,MAAMC,GACrC,KAAK,WAAa,MAAOlX,GAAQiX,MAAM2F,OACvC,KAAK,YAAe,MAAO5c,GAAQiX,MAAM4F,QACzC,KAAK,WAAa,MAAO7c,GAAQiX,MAAM6F,OACvC,KAAK,OAAW,MAAO9c,GAAQiX,MAAM+F,IACrC,KAAK,OAAW,MAAOhd,GAAQiX,MAAM8F,IACrC,KAAK,UAAa,MAAO/c,GAAQiX,MAAMgG,OACvC,KAAK,MAAW,MAAOjd,GAAQiX,MAAMwF,GACrC,KAAK,YAAe,MAAOzc,GAAQiX,MAAMyF,QACzC,KAAK,WAAa,MAAO1c,GAAQiX,MAAM0F,QAGzC,MAAO,IAQT3c,EAAQiR,UAAUmM,wBAA0B,SAAS3M,GACnD,GAAIxR,KAAKiR,QAAUlQ,EAAQiX,MAAMC,KAC/BjY,KAAKiR,QAAUlQ,EAAQiX,MAAM2F,SAC7B3d,KAAKiR,QAAUlQ,EAAQiX,MAAM+F,MAC7B/d,KAAKiR,QAAUlQ,EAAQiX,MAAM8F,MAC7B9d,KAAKiR,QAAUlQ,EAAQiX,MAAMgG,SAC7Bhe,KAAKiR,QAAUlQ,EAAQiX,MAAMwF,IAE7Bxd,KAAK8Y,KAAO,EACZ9Y,KAAK+Y,KAAO,EACZ/Y,KAAKgZ,KAAO,EACZhZ,KAAKiZ,SAAW9S,OAEZqL,EAAK6E,qBAAuB,IAC9BrW,KAAKkZ,UAAY,OAGhB,CAAA,GAAIlZ,KAAKiR,QAAUlQ,EAAQiX,MAAM4F,UACpC5d,KAAKiR,QAAUlQ,EAAQiX,MAAM6F,SAC7B7d,KAAKiR,QAAUlQ,EAAQiX,MAAMyF,UAC7Bzd,KAAKiR,QAAUlQ,EAAQiX,MAAM0F,QAY7B,KAAM,kBAAoB1d,KAAKiR,MAAQ,GAVvCjR,MAAK8Y,KAAO,EACZ9Y,KAAK+Y,KAAO,EACZ/Y,KAAKgZ,KAAO,EACZhZ,KAAKiZ,SAAW,EAEZzH,EAAK6E,qBAAuB,IAC9BrW,KAAKkZ,UAAY,KAQvBnY,EAAQiR,UAAUmB,gBAAkB,SAAS3B,GAC3C,MAAOA,GAAKlM,QAIdvE,EAAQiR,UAAUqE,mBAAqB,SAAS7E,GAC9C,GAAI4M,GAAU,CACd,KAAK,GAAIC,KAAU7M,GAAK,GAClBA,EAAK,GAAG/L,eAAe4Y,IACzBD,GAGJ,OAAOA,IAITrd,EAAQiR,UAAUsM,kBAAoB,SAAS9M,EAAM6M,GAEnD,IAAK,GADDE,MACKpZ,EAAI,EAAGA,EAAIqM,EAAKlM,OAAQH,IACgB,IAA3CoZ,EAAejY,QAAQkL,EAAKrM,GAAGkZ,KACjCE,EAAezW,KAAK0J,EAAKrM,GAAGkZ,GAGhC,OAAOE,IAITxd,EAAQiR,UAAUwM,eAAiB,SAAShN,EAAK6M,GAE/C,IAAK,GADDI,IAAUpT,IAAImG,EAAK,GAAG6M,GAAQvR,IAAI0E,EAAK,GAAG6M,IACrClZ,EAAI,EAAGA,EAAIqM,EAAKlM,OAAQH,IAC3BsZ,EAAOpT,IAAMmG,EAAKrM,GAAGkZ,KAAWI,EAAOpT,IAAMmG,EAAKrM,GAAGkZ,IACrDI,EAAO3R,IAAM0E,EAAKrM,GAAGkZ,KAAWI,EAAO3R,IAAM0E,EAAKrM,GAAGkZ,GAE3D,OAAOI,IAST1d,EAAQiR,UAAU0M,gBAAkB,SAAUC,GAC5C,GAAI9L,GAAK7S,IAOT,IAJIA,KAAKiX,SACPjX,KAAKiX,QAAQ7E,IAAI,IAAKpS,KAAK4e,WAGbzY,SAAZwY,EAAJ,CAGI/Y,MAAMC,QAAQ8Y,KAChBA,EAAU,GAAI9d,GAAQ8d,GAGxB,IAAInN,EACJ,MAAImN,YAAmB9d,IAAW8d,YAAmB7d,IAInD,KAAM,IAAI0C,OAAM,uCAGlB,IANEgO,EAAOmN,EAAQ/K,MAME,GAAfpC,EAAKlM,OAAT,CAGAtF,KAAKiX,QAAU0H,EACf3e,KAAKoW,UAAY5E,EAGjBxR,KAAK4e,UAAY,WACf/L,EAAGgE,QAAQhE,EAAGoE,UAEhBjX,KAAKiX,QAAQhF,GAAG,IAAKjS,KAAK4e,WAS1B5e,KAAK8Y,KAAO,IACZ9Y,KAAK+Y,KAAO,IACZ/Y,KAAKgZ,KAAO,IACZhZ,KAAKiZ,SAAW,QAChBjZ,KAAKkZ,UAAY,SAKb1H,EAAK,GAAG/L,eAAe,WACDU,SAApBnG,KAAK6e,aACP7e,KAAK6e,WAAa,GAAI3d,GAAOyd,EAAS3e,KAAKkZ,UAAWlZ,MACtDA,KAAK6e,WAAWC,kBAAkB,WAAYjM,EAAGkM,WAKrD,IAAIC,GAAWhf,KAAKiR,OAASlQ,EAAQiX,MAAMwF,KACzCxd,KAAKiR,OAASlQ,EAAQiX,MAAMyF,UAC5Bzd,KAAKiR,OAASlQ,EAAQiX,MAAM0F,OAG9B,IAAIsB,EAAU,CACZ,GAA8B7Y,SAA1BnG,KAAKif,iBACPjf,KAAK8Z,UAAY9Z,KAAKif,qBAEnB,CACH,GAAIC,GAAQlf,KAAKse,kBAAkB9M,EAAKxR,KAAK8Y,KAC7C9Y,MAAK8Z,UAAaoF,EAAM,GAAKA,EAAM,IAAO,EAG5C,GAA8B/Y,SAA1BnG,KAAKmf,iBACPnf,KAAK+Z,UAAY/Z,KAAKmf,qBAEnB,CACH,GAAIC,GAAQpf,KAAKse,kBAAkB9M,EAAKxR,KAAK+Y,KAC7C/Y,MAAK+Z,UAAaqF,EAAM,GAAKA,EAAM,IAAO,GAK9C,GAAIC,GAASrf,KAAKwe,eAAehN,EAAKxR,KAAK8Y,KACvCkG,KACFK,EAAOhU,KAAOrL,KAAK8Z,UAAY,EAC/BuF,EAAOvS,KAAO9M,KAAK8Z,UAAY,GAEjC9Z,KAAKmZ,KAA6BhT,SAArBnG,KAAKsf,YAA6Btf,KAAKsf,YAAcD,EAAOhU,IACzErL,KAAKqZ,KAA6BlT,SAArBnG,KAAKuf,YAA6Bvf,KAAKuf,YAAcF,EAAOvS,IACrE9M,KAAKqZ,MAAQrZ,KAAKmZ,OAAMnZ,KAAKqZ,KAAOrZ,KAAKmZ,KAAO,GACpDnZ,KAAKoZ,MAA+BjT,SAAtBnG,KAAKwf,aAA8Bxf,KAAKwf,cAAgBxf,KAAKqZ,KAAKrZ,KAAKmZ,MAAM,CAE3F,IAAIsG,GAASzf,KAAKwe,eAAehN,EAAKxR,KAAK+Y,KACvCiG,KACFS,EAAOpU,KAAOrL,KAAK+Z,UAAY,EAC/B0F,EAAO3S,KAAO9M,KAAK+Z,UAAY,GAEjC/Z,KAAKsZ,KAA6BnT,SAArBnG,KAAK0f,YAA6B1f,KAAK0f,YAAcD,EAAOpU,IACzErL,KAAKwZ,KAA6BrT,SAArBnG,KAAK2f,YAA6B3f,KAAK2f,YAAcF,EAAO3S,IACrE9M,KAAKwZ,MAAQxZ,KAAKsZ,OAAMtZ,KAAKwZ,KAAOxZ,KAAKsZ,KAAO,GACpDtZ,KAAKuZ,MAA+BpT,SAAtBnG,KAAK4f,aAA8B5f,KAAK4f,cAAgB5f,KAAKwZ,KAAKxZ,KAAKsZ,MAAM,CAE3F,IAAIuG,GAAS7f,KAAKwe,eAAehN,EAAKxR,KAAKgZ,KAM3C,IALAhZ,KAAKyZ,KAA6BtT,SAArBnG,KAAK8f,YAA6B9f,KAAK8f,YAAcD,EAAOxU,IACzErL,KAAK2Z,KAA6BxT,SAArBnG,KAAK+f,YAA6B/f,KAAK+f,YAAcF,EAAO/S,IACrE9M,KAAK2Z,MAAQ3Z,KAAKyZ,OAAMzZ,KAAK2Z,KAAO3Z,KAAKyZ,KAAO,GACpDzZ,KAAK0Z,MAA+BvT,SAAtBnG,KAAKggB,aAA8BhgB,KAAKggB,cAAgBhgB,KAAK2Z,KAAK3Z,KAAKyZ,MAAM,EAErEtT,SAAlBnG,KAAKiZ,SAAwB,CAC/B,GAAIgH,GAAajgB,KAAKwe,eAAehN,EAAKxR,KAAKiZ,SAC/CjZ,MAAK4Z,SAAqCzT,SAAzBnG,KAAKkgB,gBAAiClgB,KAAKkgB,gBAAkBD,EAAW5U,IACzFrL,KAAK6Z,SAAqC1T,SAAzBnG,KAAKmgB,gBAAiCngB,KAAKmgB,gBAAkBF,EAAWnT,IACrF9M,KAAK6Z,UAAY7Z,KAAK4Z,WAAU5Z,KAAK6Z,SAAW7Z,KAAK4Z,SAAW,GAItE5Z,KAAKsa,eAUPvZ,EAAQiR,UAAUoO,eAAiB,SAAU5O,GA0BzC,QAAS6O,GAAWnb,EAAGa,GACrB,MAAOb,GAAIa,EAzBf,GAAI6K,GAAGC,EAAG1L,EAAGqV,EAAG8F,EAAKvP,EAEjB8H,IAEJ,IAAI7Y,KAAKiR,QAAUlQ,EAAQiX,MAAM8F,MAC/B9d,KAAKiR,QAAUlQ,EAAQiX,MAAMgG,QAAS,CAKtC,GAAIkB,MACAE,IACJ,KAAKja,EAAI,EAAGA,EAAInF,KAAKmT,gBAAgB3B,GAAOrM,IAC1CyL,EAAIY,EAAKrM,GAAGnF,KAAK8Y,OAAS,EAC1BjI,EAAIW,EAAKrM,GAAGnF,KAAK+Y,OAAS,EAED,KAArBmG,EAAM5Y,QAAQsK,IAChBsO,EAAMpX,KAAK8I,GAEY,KAArBwO,EAAM9Y,QAAQuK,IAChBuO,EAAMtX,KAAK+I,EAOfqO,GAAMpK,KAAKuL,GACXjB,EAAMtK,KAAKuL,EAGX,IAAIE,KACJ,KAAKpb,EAAI,EAAGA,EAAIqM,EAAKlM,OAAQH,IAAK,CAChCyL,EAAIY,EAAKrM,GAAGnF,KAAK8Y,OAAS,EAC1BjI,EAAIW,EAAKrM,GAAGnF,KAAK+Y,OAAS,EAC1ByB,EAAIhJ,EAAKrM,GAAGnF,KAAKgZ,OAAS,CAE1B,IAAIwH,GAAStB,EAAM5Y,QAAQsK,GACvB6P,EAASrB,EAAM9Y,QAAQuK,EAEA1K,UAAvBoa,EAAWC,KACbD,EAAWC,MAGb,IAAI1F,GAAU,GAAI1Z,EAClB0Z,GAAQlK,EAAIA,EACZkK,EAAQjK,EAAIA,EACZiK,EAAQN,EAAIA,EAEZ8F,KACAA,EAAIvP,MAAQ+J,EACZwF,EAAII,MAAQva,OACZma,EAAIK,OAASxa,OACbma,EAAIM,OAAS,GAAIxf,GAAQwP,EAAGC,EAAG7Q,KAAKyZ,MAEpC8G,EAAWC,GAAQC,GAAUH,EAE7BzH,EAAW/Q,KAAKwY,GAIlB,IAAK1P,EAAI,EAAGA,EAAI2P,EAAWjb,OAAQsL,IACjC,IAAKC,EAAI,EAAGA,EAAI0P,EAAW3P,GAAGtL,OAAQuL,IAChC0P,EAAW3P,GAAGC,KAChB0P,EAAW3P,GAAGC,GAAGgQ,WAAcjQ,EAAI2P,EAAWjb,OAAO,EAAKib,EAAW3P,EAAE,GAAGC,GAAK1K,OAC/Eoa,EAAW3P,GAAGC,GAAGiQ,SAAcjQ,EAAI0P,EAAW3P,GAAGtL,OAAO,EAAKib,EAAW3P,GAAGC,EAAE,GAAK1K,OAClFoa,EAAW3P,GAAGC,GAAGkQ,WACdnQ,EAAI2P,EAAWjb,OAAO,GAAKuL,EAAI0P,EAAW3P,GAAGtL,OAAO,EACnDib,EAAW3P,EAAE,GAAGC,EAAE,GAClB1K;KAOV,KAAKhB,EAAI,EAAGA,EAAIqM,EAAKlM,OAAQH,IAC3B4L,EAAQ,GAAI3P,GACZ2P,EAAMH,EAAIY,EAAKrM,GAAGnF,KAAK8Y,OAAS,EAChC/H,EAAMF,EAAIW,EAAKrM,GAAGnF,KAAK+Y,OAAS,EAChChI,EAAMyJ,EAAIhJ,EAAKrM,GAAGnF,KAAKgZ,OAAS,EAEV7S,SAAlBnG,KAAKiZ,WACPlI,EAAM/J,MAAQwK,EAAKrM,GAAGnF,KAAKiZ,WAAa,GAG1CqH,KACAA,EAAIvP,MAAQA,EACZuP,EAAIM,OAAS,GAAIxf,GAAQ2P,EAAMH,EAAGG,EAAMF,EAAG7Q,KAAKyZ,MAChD6G,EAAII,MAAQva,OACZma,EAAIK,OAASxa,OAEb0S,EAAW/Q,KAAKwY,EAIpB,OAAOzH,IAST9X,EAAQiR,UAAUtE,OAAS,WAEzB,KAAO1N,KAAKuX,iBAAiByJ,iBAC3BhhB,KAAKuX,iBAAiBvH,YAAYhQ,KAAKuX,iBAAiB0J,WAG1DjhB,MAAK4c,MAAQxM,SAASM,cAAc,OACpC1Q,KAAK4c,MAAM3L,MAAMiQ,SAAW,WAC5BlhB,KAAK4c,MAAM3L,MAAMkQ,SAAW,SAG5BnhB,KAAK4c,MAAMC,OAASzM,SAASM,cAAe,UAC5C1Q,KAAK4c,MAAMC,OAAO5L,MAAMiQ,SAAW,WACnClhB,KAAK4c,MAAMtM,YAAYtQ,KAAK4c,MAAMC,OAGhC,IAAIuE,GAAWhR,SAASM,cAAe,MACvC0Q,GAASnQ,MAAMxG,MAAQ,MACvB2W,EAASnQ,MAAMoQ,WAAc,OAC7BD,EAASnQ,MAAMqQ,QAAW,OAC1BF,EAASG,UAAa,mDACtBvhB,KAAK4c,MAAMC,OAAOvM,YAAY8Q,GAGhCphB,KAAK4c,MAAMvK,OAASjC,SAASM,cAAe,OAC5C1Q,KAAK4c,MAAMvK,OAAOpB,MAAMiQ,SAAW,WACnClhB,KAAK4c,MAAMvK,OAAOpB,MAAM2P,OAAS,MACjC5gB,KAAK4c,MAAMvK,OAAOpB,MAAM7J,KAAO,MAC/BpH,KAAK4c,MAAMvK,OAAOpB,MAAMI,MAAQ,OAChCrR,KAAK4c,MAAMtM,YAAYtQ,KAAK4c,MAAMvK,OAGlC,IAAIQ,GAAK7S,KACLwhB,EAAc,SAAUpY,GAAQyJ,EAAG4O,aAAarY,IAChDsY,EAAe,SAAUtY,GAAQyJ,EAAG8O,cAAcvY,IAClDwY,EAAe,SAAUxY,GAAQyJ,EAAGgP,SAASzY,IAC7C0Y,EAAY,SAAU1Y,GAAQyJ,EAAGkP,WAAW3Y,GAGhDzI,GAAK8H,iBAAiBzI,KAAK4c,MAAMC,OAAQ,UAAWmF,WACpDrhB,EAAK8H,iBAAiBzI,KAAK4c,MAAMC,OAAQ,YAAa2E,GACtD7gB,EAAK8H,iBAAiBzI,KAAK4c,MAAMC,OAAQ,aAAc6E,GACvD/gB,EAAK8H,iBAAiBzI,KAAK4c,MAAMC,OAAQ,aAAc+E,GACvDjhB,EAAK8H,iBAAiBzI,KAAK4c,MAAMC,OAAQ,YAAaiF,GAGtD9hB,KAAKuX,iBAAiBjH,YAAYtQ,KAAK4c,QAWzC7b,EAAQiR,UAAUiQ,QAAU,SAAS5Q,EAAOC,GAC1CtR,KAAK4c,MAAM3L,MAAMI,MAAQA,EACzBrR,KAAK4c,MAAM3L,MAAMK,OAASA,EAE1BtR,KAAKkiB,iBAMPnhB,EAAQiR,UAAUkQ,cAAgB,WAChCliB,KAAK4c,MAAMC,OAAO5L,MAAMI,MAAQ,OAChCrR,KAAK4c,MAAMC,OAAO5L,MAAMK,OAAS,OAEjCtR,KAAK4c,MAAMC,OAAOxL,MAAQrR,KAAK4c,MAAMC,OAAOC,YAC5C9c,KAAK4c,MAAMC,OAAOvL,OAAStR,KAAK4c,MAAMC,OAAOsF,aAG7CniB,KAAK4c,MAAMvK,OAAOpB,MAAMI,MAASrR,KAAK4c,MAAMC,OAAOC,YAAc,GAAU,MAM7E/b,EAAQiR,UAAUoQ,eAAiB,WACjC,IAAKpiB,KAAK4c,MAAMvK,SAAWrS,KAAK4c,MAAMvK,OAAOgQ,OAC3C,KAAM,wBAERriB,MAAK4c,MAAMvK,OAAOgQ,OAAOC,QAO3BvhB,EAAQiR,UAAUuQ,cAAgB,WAC3BviB,KAAK4c,MAAMvK,QAAWrS,KAAK4c,MAAMvK,OAAOgQ,QAE7CriB,KAAK4c,MAAMvK,OAAOgQ,OAAOG,QAU3BzhB,EAAQiR,UAAUyQ,cAAgB,WAG9BziB,KAAK2c,QAD0D,MAA7D3c,KAAKyX,eAAeiL,OAAO1iB,KAAKyX,eAAenS,OAAO,GAEtDqd,WAAW3iB,KAAKyX,gBAAkB,IAChCzX,KAAK4c,MAAMC,OAAOC,YAGP6F,WAAW3iB,KAAKyX,gBAK/BzX,KAAK+c,QAD0D,MAA7D/c,KAAK0X,eAAegL,OAAO1iB,KAAK0X,eAAepS,OAAO,GAEtDqd,WAAW3iB,KAAK0X,gBAAkB,KAC/B1X,KAAK4c,MAAMC,OAAOsF,aAAeniB,KAAK4c,MAAMvK,OAAO8P,cAGzCQ,WAAW3iB,KAAK0X,iBAoBnC3W,EAAQiR,UAAU4Q,kBAAoB,SAASC,GACjC1c,SAAR0c,IAImB1c,SAAnB0c,EAAIC,YAA6C3c,SAAjB0c,EAAIE,UACtC/iB,KAAK2Y,OAAOqK,eAAeH,EAAIC,WAAYD,EAAIE,UAG5B5c,SAAjB0c,EAAII,UACNjjB,KAAK2Y,OAAOuK,aAAaL,EAAII,UAG/BjjB,KAAK+e,WASPhe,EAAQiR,UAAUmR,kBAAoB,WACpC,GAAIN,GAAM7iB,KAAK2Y,OAAOyK,gBAEtB,OADAP,GAAII,SAAWjjB,KAAK2Y,OAAO+D,eACpBmG,GAMT9hB,EAAQiR,UAAUqR,UAAY,SAAS7R,GAErCxR,KAAK0e,gBAAgBlN,EAAMxR,KAAKiR,OAK9BjR,KAAK6Y,WAFH7Y,KAAK6e,WAEW7e,KAAK6e,WAAWuB,iBAIhBpgB,KAAKogB,eAAepgB,KAAKoW,WAI7CpW,KAAKsjB,iBAOPviB,EAAQiR,UAAU6E,QAAU,SAAUrF,GACpCxR,KAAKqjB,UAAU7R,GACfxR,KAAK+e,SAGD/e,KAAKujB,oBAAsBvjB,KAAK6e,YAClC7e,KAAKoiB,kBAQTrhB,EAAQiR,UAAUoI,WAAa,SAAUtM,GACvC,GAAI0V,GAAiBrd,MAIrB,IAFAnG,KAAKuiB,gBAEWpc,SAAZ2H,EAAuB,CAczB,GAZsB3H,SAAlB2H,EAAQuD,QAA2BrR,KAAKqR,MAAQvD,EAAQuD,OACrClL,SAAnB2H,EAAQwD,SAA2BtR,KAAKsR,OAASxD,EAAQwD,QAErCnL,SAApB2H,EAAQ2M,UAA2Bza,KAAKyX,eAAiB3J,EAAQ2M,SAC7CtU,SAApB2H,EAAQ4M,UAA2B1a,KAAK0X,eAAiB5J,EAAQ4M,SAEzCvU,SAAxB2H,EAAQgK,cAA+B9X,KAAK8X,YAAchK,EAAQgK,aAC1C3R,SAAxB2H,EAAQiK,cAA+B/X,KAAK+X,YAAcjK,EAAQiK,aAC/C5R,SAAnB2H,EAAQ6J,SAA0B3X,KAAK2X,OAAS7J,EAAQ6J,QACrCxR,SAAnB2H,EAAQ8J,SAA0B5X,KAAK4X,OAAS9J,EAAQ8J,QACrCzR,SAAnB2H,EAAQ+J,SAA0B7X,KAAK6X,OAAS/J,EAAQ+J,QAEtC1R,SAAlB2H,EAAQmD,MAAqB,CAC/B,GAAIwS,GAAczjB,KAAKie,gBAAgBnQ,EAAQmD,MAC3B,MAAhBwS,IACFzjB,KAAKiR,MAAQwS,GAGQtd,SAArB2H,EAAQqK,WAA6BnY,KAAKmY,SAAWrK,EAAQqK,UACjChS,SAA5B2H,EAAQoK,kBAAiClY,KAAKkY,gBAAkBpK,EAAQoK,iBACjD/R,SAAvB2H,EAAQuK,aAA6BrY,KAAKqY,WAAavK,EAAQuK,YAC3ClS,SAApB2H,EAAQ4V,UAA6B1jB,KAAKuY,YAAczK,EAAQ4V,SAC9Bvd,SAAlC2H,EAAQ6V,wBAAqC3jB,KAAK2jB,sBAAwB7V,EAAQ6V,uBACtDxd,SAA5B2H,EAAQsK,kBAAiCpY,KAAKoY,gBAAkBtK,EAAQsK,iBAC9CjS,SAA1B2H,EAAQ0K,gBAA+BxY,KAAKwY,cAAgB1K,EAAQ0K,eAEtCrS,SAA9B2H,EAAQ2K,oBAAiCzY,KAAKyY,kBAAoB3K,EAAQ2K,mBAC7CtS,SAA7B2H,EAAQ4K,mBAAiC1Y,KAAK0Y,iBAAmB5K,EAAQ4K,kBAC1CvS,SAA/B2H,EAAQyV,qBAAiCvjB,KAAKujB,mBAAqBzV,EAAQyV,oBAErDpd,SAAtB2H,EAAQgM,YAAyB9Z,KAAKif,iBAAmBnR,EAAQgM,WAC3C3T,SAAtB2H,EAAQiM,YAAyB/Z,KAAKmf,iBAAmBrR,EAAQiM,WAEhD5T,SAAjB2H,EAAQqL,OAAoBnZ,KAAKsf,YAAcxR,EAAQqL,MACrChT,SAAlB2H,EAAQsL,QAAqBpZ,KAAKwf,aAAe1R,EAAQsL,OACxCjT,SAAjB2H,EAAQuL,OAAoBrZ,KAAKuf,YAAczR,EAAQuL,MACtClT,SAAjB2H,EAAQwL,OAAoBtZ,KAAK0f,YAAc5R,EAAQwL,MACrCnT,SAAlB2H,EAAQyL,QAAqBvZ,KAAK4f,aAAe9R,EAAQyL,OACxCpT,SAAjB2H,EAAQ0L,OAAoBxZ,KAAK2f,YAAc7R,EAAQ0L,MACtCrT,SAAjB2H,EAAQ2L,OAAoBzZ,KAAK8f,YAAchS,EAAQ2L,MACrCtT,SAAlB2H,EAAQ4L,QAAqB1Z,KAAKggB,aAAelS,EAAQ4L,OACxCvT,SAAjB2H,EAAQ6L,OAAoB3Z,KAAK+f,YAAcjS,EAAQ6L,MAClCxT,SAArB2H,EAAQ8L,WAAwB5Z,KAAKkgB,gBAAkBpS,EAAQ8L,UAC1CzT,SAArB2H,EAAQ+L,WAAwB7Z,KAAKmgB,gBAAkBrS,EAAQ+L,UAEpC1T,SAA3B2H,EAAQ0V,iBAA8BA,EAAiB1V,EAAQ0V,gBAE5Crd,SAAnBqd,GACFxjB,KAAK2Y,OAAOqK,eAAeQ,EAAeV,WAAYU,EAAeT,UACrE/iB,KAAK2Y,OAAOuK,aAAaM,EAAeP,YAGxCjjB,KAAK2Y,OAAOqK,eAAe,EAAK,IAChChjB,KAAK2Y,OAAOuK,aAAa,MAI7BljB,KAAKgd,oBAAoBlP,GAAWA,EAAQmP,iBAE5Cjd,KAAKiiB,QAAQjiB,KAAKqR,MAAOrR,KAAKsR,QAG1BtR,KAAKoW,WACPpW,KAAK6W,QAAQ7W,KAAKoW,WAIhBpW,KAAKujB,oBAAsBvjB,KAAK6e,YAClC7e,KAAKoiB,kBAOTrhB,EAAQiR,UAAU+M,OAAS,WACzB,GAAwB5Y,SAApBnG,KAAK6Y,WACP,KAAM,mCAGR7Y,MAAKkiB,gBACLliB,KAAKyiB,gBACLziB,KAAK4jB,gBACL5jB,KAAK6jB,eACL7jB,KAAK8jB,cAED9jB,KAAKiR,QAAUlQ,EAAQiX,MAAM8F,MAC/B9d,KAAKiR,QAAUlQ,EAAQiX,MAAMgG,QAC7Bhe,KAAK+jB,kBAEE/jB,KAAKiR,QAAUlQ,EAAQiX,MAAM+F,KACpC/d,KAAKgkB,kBAEEhkB,KAAKiR,QAAUlQ,EAAQiX,MAAMwF,KACpCxd,KAAKiR,QAAUlQ,EAAQiX,MAAMyF,UAC7Bzd,KAAKiR,QAAUlQ,EAAQiX,MAAM0F,QAC7B1d,KAAKikB,iBAILjkB,KAAKkkB,iBAGPlkB,KAAKmkB,cACLnkB,KAAKokB,iBAMPrjB,EAAQiR,UAAU6R,aAAe,WAC/B,GAAIhH,GAAS7c,KAAK4c,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAE5BD,GAAIE,UAAU,EAAG,EAAG1H,EAAOxL,MAAOwL,EAAOvL,SAO3CvQ,EAAQiR,UAAUoS,cAAgB,WAChC,GAAIvT,EAEJ,IAAI7Q,KAAKiR,QAAUlQ,EAAQiX,MAAM4F,UAC/B5d,KAAKiR,QAAUlQ,EAAQiX,MAAM6F,QAAS,CAEtC,GAEI2G,GAAUC,EAFVC,EAAmC,IAAzB1kB,KAAK4c,MAAME,WAGrB9c,MAAKiR,QAAUlQ,EAAQiX,MAAM6F,SAC/B2G,EAAWE,EAAU,EACrBD,EAAWC,EAAU,EAAc,EAAVA,IAGzBF,EAAW,GACXC,EAAW,GAGb,IAAInT,GAASzM,KAAKiI,IAA8B,IAA1B9M,KAAK4c,MAAMuF,aAAqB,KAClD3a,EAAMxH,KAAKwX,OACXmN,EAAQ3kB,KAAK4c,MAAME,YAAc9c,KAAKwX,OACtCpQ,EAAOud,EAAQF,EACf7D,EAASpZ,EAAM8J,EAGrB,GAAIuL,GAAS7c,KAAK4c,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAI5B,IAHAD,EAAIO,UAAY,EAChBP,EAAIQ,KAAO,aAEP7kB,KAAKiR,QAAUlQ,EAAQiX,MAAM4F,SAAU,CAEzC,GAAIkH,GAAO,EACPC,EAAOzT,CACX,KAAKT,EAAIiU,EAAUC,EAAJlU,EAAUA,IAAK,CAC5B,GAAIxE,IAAKwE,EAAIiU,IAASC,EAAOD,GAGzB/X,EAAU,IAAJV,EACN5B,EAAQzK,KAAKglB,SAASjY,EAAK,EAAG,EAElCsX,GAAIY,YAAcxa,EAClB4Z,EAAIa,YACJb,EAAIc,OAAO/d,EAAMI,EAAMqJ,GACvBwT,EAAIe,OAAOT,EAAOnd,EAAMqJ,GACxBwT,EAAIlH,SAGNkH,EAAIY,YAAejlB,KAAKga,UACxBqK,EAAIgB,WAAWje,EAAMI,EAAKid,EAAUnT,GAiBtC,GAdItR,KAAKiR,QAAUlQ,EAAQiX,MAAM6F,UAE/BwG,EAAIY,YAAejlB,KAAKga,UACxBqK,EAAIiB,UAAatlB,KAAKka,SACtBmK,EAAIa,YACJb,EAAIc,OAAO/d,EAAMI,GACjB6c,EAAIe,OAAOT,EAAOnd,GAClB6c,EAAIe,OAAOT,EAAQF,EAAWD,EAAU5D,GACxCyD,EAAIe,OAAOhe,EAAMwZ,GACjByD,EAAIkB,YACJlB,EAAInH,OACJmH,EAAIlH,UAGFnd,KAAKiR,QAAUlQ,EAAQiX,MAAM4F,UAC/B5d,KAAKiR,QAAUlQ,EAAQiX,MAAM6F,QAAS,CAEtC,GAAI2H,GAAc,EACdC,EAAO,GAAInkB,GAAWtB,KAAK4Z,SAAU5Z,KAAK6Z,UAAW7Z,KAAK6Z,SAAS7Z,KAAK4Z,UAAU,GAAG,EAKzF,KAJA6L,EAAK3W,QACD2W,EAAKC,aAAe1lB,KAAK4Z,UAC3B6L,EAAKE,QAECF,EAAKlW,OACXsB,EAAI+P,GAAU6E,EAAKC,aAAe1lB,KAAK4Z,WAAa5Z,KAAK6Z,SAAW7Z,KAAK4Z,UAAYtI,EAErF+S,EAAIa,YACJb,EAAIc,OAAO/d,EAAOoe,EAAa3U,GAC/BwT,EAAIe,OAAOhe,EAAMyJ,GACjBwT,EAAIlH,SAEJkH,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYtlB,KAAKga,UACrBqK,EAAIyB,SAASL,EAAKC,aAActe,EAAO,EAAIoe,EAAa3U,GAExD4U,EAAKE,MAGPtB,GAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,KACnB,IAAIE,GAAQ/lB,KAAK+X,WACjBsM,GAAIyB,SAASC,EAAOpB,EAAO/D,EAAS5gB,KAAKwX,UAO7CzW,EAAQiR,UAAUsR,cAAgB,WAGhC,GAFAtjB,KAAK4c,MAAMvK,OAAOkP,UAAY,GAE1BvhB,KAAK6e,WAAY,CACnB,GAAI/Q,IACFkY,QAAWhmB,KAAK2jB,uBAEdtB,EAAS,GAAIhhB,GAAOrB,KAAK4c,MAAMvK,OAAQvE,EAC3C9N,MAAK4c,MAAMvK,OAAOgQ,OAASA,EAG3BriB,KAAK4c,MAAMvK,OAAOpB,MAAMqQ,QAAU,OAGlCe,EAAO4D,UAAUjmB,KAAK6e,WAAWlJ,QACjC0M,EAAO6D,gBAAgBlmB,KAAKyY,kBAG5B,IAAI5F,GAAK7S,KACLmmB,EAAW,WACb,GAAIle,GAAQoa,EAAO+D,UAEnBvT,GAAGgM,WAAWwH,YAAYpe,GAC1B4K,EAAGgG,WAAahG,EAAGgM,WAAWuB,iBAE9BvN,EAAGkM,SAELsD,GAAOiE,oBAAoBH,OAG3BnmB,MAAK4c,MAAMvK,OAAOgQ,OAASlc,QAO/BpF,EAAQiR,UAAU4R,cAAgB,WACEzd,SAA7BnG,KAAK4c,MAAMvK,OAAOgQ,QACrBriB,KAAK4c,MAAMvK,OAAOgQ,OAAOtD,UAQ7Bhe,EAAQiR,UAAUmS,YAAc,WAC9B,GAAInkB,KAAK6e,WAAY,CACnB,GAAIhC,GAAS7c,KAAK4c,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAE5BD,GAAIQ,KAAO,aACXR,EAAIkC,UAAY,OAChBlC,EAAIiB,UAAY,OAChBjB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,KAEnB,IAAIjV,GAAI5Q,KAAKwX,OACT3G,EAAI7Q,KAAKwX,MACb6M,GAAIyB,SAAS9lB,KAAK6e,WAAW2H,WAAa,KAAOxmB,KAAK6e,WAAW4H,mBAAoB7V,EAAGC,KAQ5F9P,EAAQiR,UAAU8R,YAAc,WAC9B,GAEE4C,GAAMC,EAAIlB,EAAMmB,EAChBC,EAAMC,EAAOC,EAAOC,EACpBC,EAAQC,EAASC,EACjBC,EAAQC,EALNxK,EAAS7c,KAAK4c,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAQ1BD,GAAIQ,KAAO,GAAK7kB,KAAK2Y,OAAO+D,eAAiB,UAG7C,IAAI4K,GAAW,KAAQtnB,KAAKua,MAAM3J,EAC9B2W,EAAW,KAAQvnB,KAAKua,MAAM1J,EAC9B2W,EAAa,EAAIxnB,KAAK2Y,OAAO+D,eAC7B+K,EAAWznB,KAAK2Y,OAAOyK,iBAAiBN,UAU5C,KAPAuB,EAAIO,UAAY,EAChBgC,EAAoCzgB,SAAtBnG,KAAKwf,aACnBiG,EAAO,GAAInkB,GAAWtB,KAAKmZ,KAAMnZ,KAAKqZ,KAAMrZ,KAAKoZ,MAAOwN,GACxDnB,EAAK3W,QACD2W,EAAKC,aAAe1lB,KAAKmZ,MAC3BsM,EAAKE,QAECF,EAAKlW,OAAO,CAClB,GAAIqB,GAAI6U,EAAKC,YAET1lB,MAAKmY,UACPuO,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQwP,EAAG5Q,KAAKsZ,KAAMtZ,KAAKyZ,OAC1DkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQwP,EAAG5Q,KAAKwZ,KAAMxZ,KAAKyZ,OACxD4K,EAAIY,YAAcjlB,KAAKia,UACvBoK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,WAGJuJ,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQwP,EAAG5Q,KAAKsZ,KAAMtZ,KAAKyZ,OAC1DkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQwP,EAAG5Q,KAAKsZ,KAAKgO,EAAUtnB,KAAKyZ,OACjE4K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,SAEJuJ,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQwP,EAAG5Q,KAAKwZ,KAAMxZ,KAAKyZ,OAC1DkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQwP,EAAG5Q,KAAKwZ,KAAK8N,EAAUtnB,KAAKyZ,OACjE4K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,UAGN4J,EAASliB,KAAKgX,IAAI4L,GAAY,EAAKznB,KAAKsZ,KAAOtZ,KAAKwZ,KACpDqN,EAAO7mB,KAAK6a,eAAe,GAAIzZ,GAAQwP,EAAGmW,EAAO/mB,KAAKyZ,OAClD5U,KAAKgX,IAAe,EAAX4L,GAAgB,GAC3BpD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,MACnBgB,EAAKhW,GAAK2W,GAEH3iB,KAAK6W,IAAe,EAAX+L,GAAgB,GAChCpD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYtlB,KAAKga,UACrBqK,EAAIyB,SAAS,KAAOL,EAAKC,aAAe,KAAMmB,EAAKjW,EAAGiW,EAAKhW,GAE3D4U,EAAKE,OAWP,IAPAtB,EAAIO,UAAY,EAChBgC,EAAoCzgB,SAAtBnG,KAAK4f,aACnB6F,EAAO,GAAInkB,GAAWtB,KAAKsZ,KAAMtZ,KAAKwZ,KAAMxZ,KAAKuZ,MAAOqN,GACxDnB,EAAK3W,QACD2W,EAAKC,aAAe1lB,KAAKsZ,MAC3BmM,EAAKE,QAECF,EAAKlW,OACPvP,KAAKmY,UACPuO,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKmZ,KAAMsM,EAAKC,aAAc1lB,KAAKyZ,OAC1EkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKqZ,KAAMoM,EAAKC,aAAc1lB,KAAKyZ,OACxE4K,EAAIY,YAAcjlB,KAAKia,UACvBoK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,WAGJuJ,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKmZ,KAAMsM,EAAKC,aAAc1lB,KAAKyZ,OAC1EkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKmZ,KAAKoO,EAAU9B,EAAKC,aAAc1lB,KAAKyZ,OACjF4K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,SAEJuJ,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKqZ,KAAMoM,EAAKC,aAAc1lB,KAAKyZ,OAC1EkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKqZ,KAAKkO,EAAU9B,EAAKC,aAAc1lB,KAAKyZ,OACjF4K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,UAGN2J,EAASjiB,KAAK6W,IAAI+L,GAAa,EAAKznB,KAAKmZ,KAAOnZ,KAAKqZ,KACrDwN,EAAO7mB,KAAK6a,eAAe,GAAIzZ,GAAQ0lB,EAAOrB,EAAKC,aAAc1lB,KAAKyZ,OAClE5U,KAAKgX,IAAe,EAAX4L,GAAgB,GAC3BpD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,MACnBgB,EAAKhW,GAAK2W,GAEH3iB,KAAK6W,IAAe,EAAX+L,GAAgB,GAChCpD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYtlB,KAAKga,UACrBqK,EAAIyB,SAAS,KAAOL,EAAKC,aAAe,KAAMmB,EAAKjW,EAAGiW,EAAKhW,GAE3D4U,EAAKE,MAaP,KATAtB,EAAIO,UAAY,EAChBgC,EAAoCzgB,SAAtBnG,KAAKggB,aACnByF,EAAO,GAAInkB,GAAWtB,KAAKyZ,KAAMzZ,KAAK2Z,KAAM3Z,KAAK0Z,MAAOkN,GACxDnB,EAAK3W,QACD2W,EAAKC,aAAe1lB,KAAKyZ,MAC3BgM,EAAKE,OAEPmB,EAASjiB,KAAKgX,IAAI4L,GAAa,EAAKznB,KAAKmZ,KAAOnZ,KAAKqZ,KACrD0N,EAASliB,KAAK6W,IAAI+L,GAAa,EAAKznB,KAAKsZ,KAAOtZ,KAAKwZ,MAC7CiM,EAAKlW,OAEXmX,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQ0lB,EAAOC,EAAOtB,EAAKC,eAC1DrB,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOsB,EAAK9V,EAAI4W,EAAYd,EAAK7V,GACrCwT,EAAIlH,SAEJkH,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYtlB,KAAKga,UACrBqK,EAAIyB,SAASL,EAAKC,aAAe,IAAKgB,EAAK9V,EAAI,EAAG8V,EAAK7V,GAEvD4U,EAAKE,MAEPtB,GAAIO,UAAY,EAChB8B,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQ0lB,EAAOC,EAAO/mB,KAAKyZ,OAC1DkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQ0lB,EAAOC,EAAO/mB,KAAK2Z,OACxD0K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,SAGJkH,EAAIO,UAAY,EAEhBwC,EAASpnB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKmZ,KAAMnZ,KAAKsZ,KAAMtZ,KAAKyZ,OACpE4N,EAASrnB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKqZ,KAAMrZ,KAAKsZ,KAAMtZ,KAAKyZ,OACpE4K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOiC,EAAOxW,EAAGwW,EAAOvW,GAC5BwT,EAAIe,OAAOiC,EAAOzW,EAAGyW,EAAOxW,GAC5BwT,EAAIlH,SAEJiK,EAASpnB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKmZ,KAAMnZ,KAAKwZ,KAAMxZ,KAAKyZ,OACpE4N,EAASrnB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKqZ,KAAMrZ,KAAKwZ,KAAMxZ,KAAKyZ,OACpE4K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOiC,EAAOxW,EAAGwW,EAAOvW,GAC5BwT,EAAIe,OAAOiC,EAAOzW,EAAGyW,EAAOxW,GAC5BwT,EAAIlH,SAGJkH,EAAIO,UAAY,EAEhB8B,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKmZ,KAAMnZ,KAAKsZ,KAAMtZ,KAAKyZ,OAClEkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKmZ,KAAMnZ,KAAKwZ,KAAMxZ,KAAKyZ,OAChE4K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,SAEJuJ,EAAO1mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKqZ,KAAMrZ,KAAKsZ,KAAMtZ,KAAKyZ,OAClEkN,EAAK3mB,KAAK6a,eAAe,GAAIzZ,GAAQpB,KAAKqZ,KAAMrZ,KAAKwZ,KAAMxZ,KAAKyZ,OAChE4K,EAAIY,YAAcjlB,KAAKga,UACvBqK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOuB,EAAG/V,EAAG+V,EAAG9V,GACpBwT,EAAIlH,QAGJ,IAAIxF,GAAS3X,KAAK2X,MACdA,GAAOrS,OAAS,IAClB6hB,EAAU,GAAMnnB,KAAKua,MAAM1J,EAC3BiW,GAAS9mB,KAAKmZ,KAAOnZ,KAAKqZ,MAAQ,EAClC0N,EAASliB,KAAKgX,IAAI4L,GAAY,EAAKznB,KAAKsZ,KAAO6N,EAASnnB,KAAKwZ,KAAO2N,EACpEN,EAAO7mB,KAAK6a,eAAe,GAAIzZ,GAAQ0lB,EAAOC,EAAO/mB,KAAKyZ,OACtD5U,KAAKgX,IAAe,EAAX4L,GAAgB,GAC3BpD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,OAEZhhB,KAAK6W,IAAe,EAAX+L,GAAgB,GAChCpD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYtlB,KAAKga,UACrBqK,EAAIyB,SAASnO,EAAQkP,EAAKjW,EAAGiW,EAAKhW,GAIpC,IAAI+G,GAAS5X,KAAK4X,MACdA,GAAOtS,OAAS,IAClB4hB,EAAU,GAAMlnB,KAAKua,MAAM3J,EAC3BkW,EAASjiB,KAAK6W,IAAI+L,GAAa,EAAKznB,KAAKmZ,KAAO+N,EAAUlnB,KAAKqZ,KAAO6N,EACtEH,GAAS/mB,KAAKsZ,KAAOtZ,KAAKwZ,MAAQ,EAClCqN,EAAO7mB,KAAK6a,eAAe,GAAIzZ,GAAQ0lB,EAAOC,EAAO/mB,KAAKyZ,OACtD5U,KAAKgX,IAAe,EAAX4L,GAAgB,GAC3BpD,EAAIuB,UAAY,SAChBvB,EAAIwB,aAAe,OAEZhhB,KAAK6W,IAAe,EAAX+L,GAAgB,GAChCpD,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,WAGnBxB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,UAErBxB,EAAIiB,UAAYtlB,KAAKga,UACrBqK,EAAIyB,SAASlO,EAAQiP,EAAKjW,EAAGiW,EAAKhW,GAIpC,IAAIgH,GAAS7X,KAAK6X,MACdA,GAAOvS,OAAS,IAClB2hB,EAAS,GACTH,EAASjiB,KAAKgX,IAAI4L,GAAa,EAAKznB,KAAKmZ,KAAOnZ,KAAKqZ,KACrD0N,EAASliB,KAAK6W,IAAI+L,GAAa,EAAKznB,KAAKsZ,KAAOtZ,KAAKwZ,KACrDwN,GAAShnB,KAAKyZ,KAAOzZ,KAAK2Z,MAAQ,EAClCkN,EAAO7mB,KAAK6a,eAAe,GAAIzZ,GAAQ0lB,EAAOC,EAAOC,IACrD3C,EAAIuB,UAAY,QAChBvB,EAAIwB,aAAe,SACnBxB,EAAIiB,UAAYtlB,KAAKga,UACrBqK,EAAIyB,SAASjO,EAAQgP,EAAKjW,EAAIqW,EAAQJ,EAAKhW,KAU/C9P,EAAQiR,UAAUgT,SAAW,SAAS0C,EAAGC,EAAGC,GAC1C,GAAIC,GAAGC,EAAGC,EAAGC,EAAGC,EAAIC,CAMpB,QAJAF,EAAIJ,EAAID,EACRM,EAAKpjB,KAAKC,MAAM4iB,EAAE,IAClBQ,EAAIF,GAAK,EAAInjB,KAAKsjB,IAAMT,EAAE,GAAM,EAAK,IAE7BO,GACN,IAAK,GAAGJ,EAAIG,EAAGF,EAAII,EAAGH,EAAI,CAAG,MAC7B,KAAK,GAAGF,EAAIK,EAAGJ,EAAIE,EAAGD,EAAI,CAAG,MAC7B,KAAK,GAAGF,EAAI,EAAGC,EAAIE,EAAGD,EAAIG,CAAG,MAC7B,KAAK,GAAGL,EAAI,EAAGC,EAAII,EAAGH,EAAIC,CAAG,MAC7B,KAAK,GAAGH,EAAIK,EAAGJ,EAAI,EAAGC,EAAIC,CAAG,MAC7B,KAAK,GAAGH,EAAIG,EAAGF,EAAI,EAAGC,EAAIG,CAAG,MAE7B,SAASL,EAAI,EAAGC,EAAI,EAAGC,EAAI,EAG7B,MAAO,OAASK,SAAW,IAAFP,GAAS,IAAMO,SAAW,IAAFN,GAAS,IAAMM,SAAW,IAAFL,GAAS,KAQpFhnB,EAAQiR,UAAU+R,gBAAkB,WAClC,GAEEhT,GAAO4T,EAAOnd,EAAK6gB,EACnBljB,EACAmjB,EAAgBhD,EAAWL,EAAaL,EACxC1Z,EAAGC,EAAGC,EAAGmd,EALP1L,EAAS7c,KAAK4c,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAO1B,MAAwBne,SAApBnG,KAAK6Y,YAA4B7Y,KAAK6Y,WAAWvT,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IAAK,CAC3C,GAAIub,GAAQ1gB,KAAKgb,2BAA2Bhb,KAAK6Y,WAAW1T,GAAG4L,OAC3D4P,EAAS3gB,KAAKib,4BAA4ByF,EAE9C1gB,MAAK6Y,WAAW1T,GAAGub,MAAQA,EAC3B1gB,KAAK6Y,WAAW1T,GAAGwb,OAASA,CAG5B,IAAI6H,GAAcxoB,KAAKgb,2BAA2Bhb,KAAK6Y,WAAW1T,GAAGyb,OACrE5gB,MAAK6Y,WAAW1T,GAAGsjB,KAAOzoB,KAAKkY,gBAAkBsQ,EAAYljB,UAAYkjB,EAAYhO,EAIvF,GAAIkO,GAAY,SAAUxjB,EAAGa,GAC3B,MAAOA,GAAE0iB,KAAOvjB,EAAEujB,KAIpB,IAFAzoB,KAAK6Y,WAAW/D,KAAK4T,GAEjB1oB,KAAKiR,QAAUlQ,EAAQiX,MAAMgG,SAC/B,IAAK7Y,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IAMtC,GALA4L,EAAQ/Q,KAAK6Y,WAAW1T,GACxBwf,EAAQ3kB,KAAK6Y,WAAW1T,GAAG0b,WAC3BrZ,EAAQxH,KAAK6Y,WAAW1T,GAAG2b,SAC3BuH,EAAQroB,KAAK6Y,WAAW1T,GAAG4b,WAEb5a,SAAV4K,GAAiC5K,SAAVwe,GAA+Bxe,SAARqB,GAA+BrB,SAAVkiB,EAAqB,CAE1F,GAAIroB,KAAKsY,gBAAkBtY,KAAKqY,WAAY,CAK1C,GAAIsQ,GAAQvnB,EAAQwnB,SAASP,EAAM3H,MAAO3P,EAAM2P,OAC5CmI,EAAQznB,EAAQwnB,SAASphB,EAAIkZ,MAAOiE,EAAMjE,OAC1CoI,EAAe1nB,EAAQ2nB,aAAaJ,EAAOE,GAC3CzjB,EAAM0jB,EAAaxjB,QAGvBgjB,GAAkBQ,EAAatO,EAAI,MAGnC8N,IAAiB,CAGfA,IAEFC,GAAQxX,EAAMA,MAAMyJ,EAAImK,EAAM5T,MAAMyJ,EAAIhT,EAAIuJ,MAAMyJ,EAAI6N,EAAMtX,MAAMyJ,GAAK,EACvEtP,EAAoE,KAA/D,GAAKqd,EAAOvoB,KAAKyZ,MAAQzZ,KAAKua,MAAMC,EAAKxa,KAAKwY,eACnDrN,EAAI,EAEAnL,KAAKqY,YACPjN,EAAIvG,KAAKwG,IAAI,EAAKyd,EAAalY,EAAIxL,EAAO,EAAG,GAC7CkgB,EAAYtlB,KAAKglB,SAAS9Z,EAAGC,EAAGC,GAChC6Z,EAAcK,IAGdla,EAAI,EACJka,EAAYtlB,KAAKglB,SAAS9Z,EAAGC,EAAGC,GAChC6Z,EAAcjlB,KAAKga,aAIrBsL,EAAY,OACZL,EAAcjlB,KAAKga,WAErB4K,EAAY,GAEZP,EAAIO,UAAYA,EAChBP,EAAIiB,UAAYA,EAChBjB,EAAIY,YAAcA,EAClBZ,EAAIa,YACJb,EAAIc,OAAOpU,EAAM4P,OAAO/P,EAAGG,EAAM4P,OAAO9P,GACxCwT,EAAIe,OAAOT,EAAMhE,OAAO/P,EAAG+T,EAAMhE,OAAO9P,GACxCwT,EAAIe,OAAOiD,EAAM1H,OAAO/P,EAAGyX,EAAM1H,OAAO9P,GACxCwT,EAAIe,OAAO5d,EAAImZ,OAAO/P,EAAGpJ,EAAImZ,OAAO9P,GACpCwT,EAAIkB,YACJlB,EAAInH,OACJmH,EAAIlH,cAKR,KAAKhY,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IACtC4L,EAAQ/Q,KAAK6Y,WAAW1T,GACxBwf,EAAQ3kB,KAAK6Y,WAAW1T,GAAG0b,WAC3BrZ,EAAQxH,KAAK6Y,WAAW1T,GAAG2b,SAEb3a,SAAV4K,IAEA6T,EADE5kB,KAAKkY,gBACK,GAAKnH,EAAM2P,MAAMlG,EAGjB,IAAMxa,KAAK4Y,IAAI4B,EAAIxa,KAAK2Y,OAAO+D,iBAIjCvW,SAAV4K,GAAiC5K,SAAVwe,IAEzB4D,GAAQxX,EAAMA,MAAMyJ,EAAImK,EAAM5T,MAAMyJ,GAAK,EACzCtP,EAAoE,KAA/D,GAAKqd,EAAOvoB,KAAKyZ,MAAQzZ,KAAKua,MAAMC,EAAKxa,KAAKwY,eAEnD6L,EAAIO,UAAYA,EAChBP,EAAIY,YAAcjlB,KAAKglB,SAAS9Z,EAAG,EAAG,GACtCmZ,EAAIa,YACJb,EAAIc,OAAOpU,EAAM4P,OAAO/P,EAAGG,EAAM4P,OAAO9P,GACxCwT,EAAIe,OAAOT,EAAMhE,OAAO/P,EAAG+T,EAAMhE,OAAO9P,GACxCwT,EAAIlH,UAGQhX,SAAV4K,GAA+B5K,SAARqB,IAEzB+gB,GAAQxX,EAAMA,MAAMyJ,EAAIhT,EAAIuJ,MAAMyJ,GAAK,EACvCtP,EAAoE,KAA/D,GAAKqd,EAAOvoB,KAAKyZ,MAAQzZ,KAAKua,MAAMC,EAAKxa,KAAKwY,eAEnD6L,EAAIO,UAAYA,EAChBP,EAAIY,YAAcjlB,KAAKglB,SAAS9Z,EAAG,EAAG,GACtCmZ,EAAIa,YACJb,EAAIc,OAAOpU,EAAM4P,OAAO/P,EAAGG,EAAM4P,OAAO9P,GACxCwT,EAAIe,OAAO5d,EAAImZ,OAAO/P,EAAGpJ,EAAImZ,OAAO9P,GACpCwT,EAAIlH,YAWZpc,EAAQiR,UAAUkS,eAAiB,WACjC,GAEI/e,GAFA0X,EAAS7c,KAAK4c,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAG5B,MAAwBne,SAApBnG,KAAK6Y,YAA4B7Y,KAAK6Y,WAAWvT,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IAAK,CAC3C,GAAIub,GAAQ1gB,KAAKgb,2BAA2Bhb,KAAK6Y,WAAW1T,GAAG4L,OAC3D4P,EAAS3gB,KAAKib,4BAA4ByF,EAC9C1gB,MAAK6Y,WAAW1T,GAAGub,MAAQA,EAC3B1gB,KAAK6Y,WAAW1T,GAAGwb,OAASA,CAG5B,IAAI6H,GAAcxoB,KAAKgb,2BAA2Bhb,KAAK6Y,WAAW1T,GAAGyb,OACrE5gB,MAAK6Y,WAAW1T,GAAGsjB,KAAOzoB,KAAKkY,gBAAkBsQ,EAAYljB,UAAYkjB,EAAYhO,EAIvF,GAAIkO,GAAY,SAAUxjB,EAAGa,GAC3B,MAAOA,GAAE0iB,KAAOvjB,EAAEujB,KAEpBzoB,MAAK6Y,WAAW/D,KAAK4T,EAGrB,IAAIhE,GAAmC,IAAzB1kB,KAAK4c,MAAME,WACzB,KAAK3X,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IAAK,CAC3C,GAAI4L,GAAQ/Q,KAAK6Y,WAAW1T,EAE5B,IAAInF,KAAKiR,QAAUlQ,EAAQiX,MAAM2F,QAAS,CAGxC,GAAI+I,GAAO1mB,KAAK6a,eAAe9J,EAAM6P,OACrCyD,GAAIO,UAAY,EAChBP,EAAIY,YAAcjlB,KAAKia,UACvBoK,EAAIa,YACJb,EAAIc,OAAOuB,EAAK9V,EAAG8V,EAAK7V,GACxBwT,EAAIe,OAAOrU,EAAM4P,OAAO/P,EAAGG,EAAM4P,OAAO9P,GACxCwT,EAAIlH,SAIN,GAAIhM,EAEFA,GADEnR,KAAKiR,QAAUlQ,EAAQiX,MAAM6F,QACxB6G,EAAQ,EAAI,EAAEA,GAAW3T,EAAMA,MAAM/J,MAAQhH,KAAK4Z,WAAa5Z,KAAK6Z,SAAW7Z,KAAK4Z,UAGpF8K,CAGT,IAAIsE,EAEFA,GADEhpB,KAAKkY,gBACE/G,GAAQJ,EAAM2P,MAAMlG,EAGpBrJ,IAASnR,KAAK4Y,IAAI4B,EAAIxa,KAAK2Y,OAAO+D,gBAEhC,EAATsM,IACFA,EAAS,EAGX,IAAIjc,GAAKtC,EAAO4S,CACZrd,MAAKiR,QAAUlQ,EAAQiX,MAAM4F,UAE/B7Q,EAAqE,KAA9D,GAAKgE,EAAMA,MAAM/J,MAAQhH,KAAK4Z,UAAY5Z,KAAKua,MAAMvT,OAC5DyD,EAAQzK,KAAKglB,SAASjY,EAAK,EAAG,GAC9BsQ,EAAcrd,KAAKglB,SAASjY,EAAK,EAAG,KAE7B/M,KAAKiR,QAAUlQ,EAAQiX,MAAM6F,SACpCpT,EAAQzK,KAAKka,SACbmD,EAAcrd,KAAKma,iBAInBpN,EAA+E,KAAxE,GAAKgE,EAAMA,MAAMyJ,EAAIxa,KAAKyZ,MAAQzZ,KAAKua,MAAMC,EAAKxa,KAAKwY,eAC9D/N,EAAQzK,KAAKglB,SAASjY,EAAK,EAAG,GAC9BsQ,EAAcrd,KAAKglB,SAASjY,EAAK,EAAG,KAItCsX,EAAIO,UAAY,EAChBP,EAAIY,YAAc5H,EAClBgH,EAAIiB,UAAY7a,EAChB4Z,EAAIa,YACJb,EAAI4E,IAAIlY,EAAM4P,OAAO/P,EAAGG,EAAM4P,OAAO9P,EAAGmY,EAAQ,EAAW,EAARnkB,KAAKqkB,IAAM,GAC9D7E,EAAInH,OACJmH,EAAIlH,YAQRpc,EAAQiR,UAAUiS,eAAiB,WACjC,GAEI9e,GAAGgkB,EAAGC,EAASC,EAFfxM,EAAS7c,KAAK4c,MAAMC,OACpBwH,EAAMxH,EAAOyH,WAAW,KAG5B,MAAwBne,SAApBnG,KAAK6Y,YAA4B7Y,KAAK6Y,WAAWvT,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IAAK,CAC3C,GAAIub,GAAQ1gB,KAAKgb,2BAA2Bhb,KAAK6Y,WAAW1T,GAAG4L,OAC3D4P,EAAS3gB,KAAKib,4BAA4ByF,EAC9C1gB,MAAK6Y,WAAW1T,GAAGub,MAAQA,EAC3B1gB,KAAK6Y,WAAW1T,GAAGwb,OAASA,CAG5B,IAAI6H,GAAcxoB,KAAKgb,2BAA2Bhb,KAAK6Y,WAAW1T,GAAGyb,OACrE5gB,MAAK6Y,WAAW1T,GAAGsjB,KAAOzoB,KAAKkY,gBAAkBsQ,EAAYljB,UAAYkjB,EAAYhO,EAIvF,GAAIkO,GAAY,SAAUxjB,EAAGa,GAC3B,MAAOA,GAAE0iB,KAAOvjB,EAAEujB,KAEpBzoB,MAAK6Y,WAAW/D,KAAK4T,EAGrB,IAAIY,GAAStpB,KAAK8Z,UAAY,EAC1ByP,EAASvpB,KAAK+Z,UAAY,CAC9B,KAAK5U,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IAAK,CAC3C,GAGI4H,GAAKtC,EAAO4S,EAHZtM,EAAQ/Q,KAAK6Y,WAAW1T,EAIxBnF,MAAKiR,QAAUlQ,EAAQiX,MAAMyF,UAE/B1Q,EAAqE,KAA9D,GAAKgE,EAAMA,MAAM/J,MAAQhH,KAAK4Z,UAAY5Z,KAAKua,MAAMvT,OAC5DyD,EAAQzK,KAAKglB,SAASjY,EAAK,EAAG,GAC9BsQ,EAAcrd,KAAKglB,SAASjY,EAAK,EAAG,KAE7B/M,KAAKiR,QAAUlQ,EAAQiX,MAAM0F,SACpCjT,EAAQzK,KAAKka,SACbmD,EAAcrd,KAAKma,iBAInBpN,EAA+E,KAAxE,GAAKgE,EAAMA,MAAMyJ,EAAIxa,KAAKyZ,MAAQzZ,KAAKua,MAAMC,EAAKxa,KAAKwY,eAC9D/N,EAAQzK,KAAKglB,SAASjY,EAAK,EAAG,GAC9BsQ,EAAcrd,KAAKglB,SAASjY,EAAK,EAAG,KAIlC/M,KAAKiR,QAAUlQ,EAAQiX,MAAM0F,UAC/B4L,EAAUtpB,KAAK8Z,UAAY,IAAO/I,EAAMA,MAAM/J,MAAQhH,KAAK4Z,WAAa5Z,KAAK6Z,SAAW7Z,KAAK4Z,UAAY,GAAM,IAC/G2P,EAAUvpB,KAAK+Z,UAAY,IAAOhJ,EAAMA,MAAM/J,MAAQhH,KAAK4Z,WAAa5Z,KAAK6Z,SAAW7Z,KAAK4Z,UAAY,GAAM,IAIjH,IAAI/G,GAAK7S,KACL8a,EAAU/J,EAAMA,MAChBvJ,IACDuJ,MAAO,GAAI3P,GAAQ0Z,EAAQlK,EAAI0Y,EAAQxO,EAAQjK,EAAI0Y,EAAQzO,EAAQN,KACnEzJ,MAAO,GAAI3P,GAAQ0Z,EAAQlK,EAAI0Y,EAAQxO,EAAQjK,EAAI0Y,EAAQzO,EAAQN,KACnEzJ,MAAO,GAAI3P,GAAQ0Z,EAAQlK,EAAI0Y,EAAQxO,EAAQjK,EAAI0Y,EAAQzO,EAAQN,KACnEzJ,MAAO,GAAI3P,GAAQ0Z,EAAQlK,EAAI0Y,EAAQxO,EAAQjK,EAAI0Y,EAAQzO,EAAQN,KAElEoG,IACD7P,MAAO,GAAI3P,GAAQ0Z,EAAQlK,EAAI0Y,EAAQxO,EAAQjK,EAAI0Y,EAAQvpB,KAAKyZ,QAChE1I,MAAO,GAAI3P,GAAQ0Z,EAAQlK,EAAI0Y,EAAQxO,EAAQjK,EAAI0Y,EAAQvpB,KAAKyZ,QAChE1I,MAAO,GAAI3P,GAAQ0Z,EAAQlK,EAAI0Y,EAAQxO,EAAQjK,EAAI0Y,EAAQvpB,KAAKyZ,QAChE1I,MAAO,GAAI3P,GAAQ0Z,EAAQlK,EAAI0Y,EAAQxO,EAAQjK,EAAI0Y,EAAQvpB,KAAKyZ,OAInEjS,GAAIW,QAAQ,SAAUmY,GACpBA,EAAIK,OAAS9N,EAAGgI,eAAeyF,EAAIvP,SAErC6P,EAAOzY,QAAQ,SAAUmY,GACvBA,EAAIK,OAAS9N,EAAGgI,eAAeyF,EAAIvP,QAIrC,IAAIyY,KACDH,QAAS7hB,EAAKiiB,OAAQroB,EAAQsoB,IAAI9I,EAAO,GAAG7P,MAAO6P,EAAO,GAAG7P,SAC7DsY,SAAU7hB,EAAI,GAAIA,EAAI,GAAIoZ,EAAO,GAAIA,EAAO,IAAK6I,OAAQroB,EAAQsoB,IAAI9I,EAAO,GAAG7P,MAAO6P,EAAO,GAAG7P,SAChGsY,SAAU7hB,EAAI,GAAIA,EAAI,GAAIoZ,EAAO,GAAIA,EAAO,IAAK6I,OAAQroB,EAAQsoB,IAAI9I,EAAO,GAAG7P,MAAO6P,EAAO,GAAG7P,SAChGsY,SAAU7hB,EAAI,GAAIA,EAAI,GAAIoZ,EAAO,GAAIA,EAAO,IAAK6I,OAAQroB,EAAQsoB,IAAI9I,EAAO,GAAG7P,MAAO6P,EAAO,GAAG7P,SAChGsY,SAAU7hB,EAAI,GAAIA,EAAI,GAAIoZ,EAAO,GAAIA,EAAO,IAAK6I,OAAQroB,EAAQsoB,IAAI9I,EAAO,GAAG7P,MAAO6P,EAAO,GAAG7P,QAKnG,KAHAA,EAAMyY,SAAWA,EAGZL,EAAI,EAAGA,EAAIK,EAASlkB,OAAQ6jB,IAAK,CACpCC,EAAUI,EAASL,EACnB,IAAIQ,GAAc3pB,KAAKgb,2BAA2BoO,EAAQK,OAC1DL,GAAQX,KAAOzoB,KAAKkY,gBAAkByR,EAAYrkB,UAAYqkB,EAAYnP,EAwB5E,IAjBAgP,EAAS1U,KAAK,SAAU5P,EAAGa,GACzB,GAAI6jB,GAAO7jB,EAAE0iB,KAAOvjB,EAAEujB,IACtB,OAAImB,GAAaA,EAGb1kB,EAAEmkB,UAAY7hB,EAAY,EAC1BzB,EAAEsjB,UAAY7hB,EAAY,GAGvB,IAIT6c,EAAIO,UAAY,EAChBP,EAAIY,YAAc5H,EAClBgH,EAAIiB,UAAY7a,EAEX0e,EAAI,EAAGA,EAAIK,EAASlkB,OAAQ6jB,IAC/BC,EAAUI,EAASL,GACnBE,EAAUD,EAAQC,QAClBhF,EAAIa,YACJb,EAAIc,OAAOkE,EAAQ,GAAG1I,OAAO/P,EAAGyY,EAAQ,GAAG1I,OAAO9P,GAClDwT,EAAIe,OAAOiE,EAAQ,GAAG1I,OAAO/P,EAAGyY,EAAQ,GAAG1I,OAAO9P,GAClDwT,EAAIe,OAAOiE,EAAQ,GAAG1I,OAAO/P,EAAGyY,EAAQ,GAAG1I,OAAO9P,GAClDwT,EAAIe,OAAOiE,EAAQ,GAAG1I,OAAO/P,EAAGyY,EAAQ,GAAG1I,OAAO9P,GAClDwT,EAAIe,OAAOiE,EAAQ,GAAG1I,OAAO/P,EAAGyY,EAAQ,GAAG1I,OAAO9P,GAClDwT,EAAInH,OACJmH,EAAIlH,YAUVpc,EAAQiR,UAAUgS,gBAAkB,WAClC,GAEEjT,GAAO5L,EAFL0X,EAAS7c,KAAK4c,MAAMC,OACtBwH,EAAMxH,EAAOyH,WAAW,KAG1B,MAAwBne,SAApBnG,KAAK6Y,YAA4B7Y,KAAK6Y,WAAWvT,QAAU,GAA/D,CAIA,IAAKH,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IAAK,CAC3C,GAAIub,GAAQ1gB,KAAKgb,2BAA2Bhb,KAAK6Y,WAAW1T,GAAG4L,OAC3D4P,EAAS3gB,KAAKib,4BAA4ByF,EAE9C1gB,MAAK6Y,WAAW1T,GAAGub,MAAQA,EAC3B1gB,KAAK6Y,WAAW1T,GAAGwb,OAASA,EAc9B,IAVI3gB,KAAK6Y,WAAWvT,OAAS,IAC3ByL,EAAQ/Q,KAAK6Y,WAAW,GAExBwL,EAAIO,UAAY,EAChBP,EAAIY,YAAc,OAClBZ,EAAIa,YACJb,EAAIc,OAAOpU,EAAM4P,OAAO/P,EAAGG,EAAM4P,OAAO9P,IAIrC1L,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IACtC4L,EAAQ/Q,KAAK6Y,WAAW1T,GACxBkf,EAAIe,OAAOrU,EAAM4P,OAAO/P,EAAGG,EAAM4P,OAAO9P,EAItC7Q,MAAK6Y,WAAWvT,OAAS,GAC3B+e,EAAIlH,WASRpc,EAAQiR,UAAUyP,aAAe,SAASrY,GAWxC,GAVAA,EAAQA,GAAS/B,OAAO+B,MAIpBpJ,KAAK6pB,gBACP7pB,KAAK8pB,WAAW1gB,GAIlBpJ,KAAK6pB,eAAiBzgB,EAAM2gB,MAAyB,IAAhB3gB,EAAM2gB,MAAiC,IAAjB3gB,EAAM4gB,OAC5DhqB,KAAK6pB,gBAAmB7pB,KAAKiqB,UAAlC,CAGAjqB,KAAKkqB,YAAcC,UAAU/gB,GAC7BpJ,KAAKoqB,YAAcC,UAAUjhB,GAE7BpJ,KAAKsqB,WAAa,GAAIrmB,MAAKjE,KAAK8O,OAChC9O,KAAKuqB,SAAW,GAAItmB,MAAKjE,KAAKuP,KAC9BvP,KAAKwqB,iBAAmBxqB,KAAK2Y,OAAOyK,iBAEpCpjB,KAAK4c,MAAM3L,MAAMwZ,OAAS,MAK1B,IAAI5X,GAAK7S,IACTA,MAAK0qB,YAAc,SAAUthB,GAAQyJ,EAAG8X,aAAavhB,IACrDpJ,KAAK4qB,UAAc,SAAUxhB,GAAQyJ,EAAGiX,WAAW1gB,IACnDzI,EAAK8H,iBAAiB2H,SAAU,YAAayC,EAAG6X,aAChD/pB,EAAK8H,iBAAiB2H,SAAU,UAAWyC,EAAG+X,WAC9CjqB,EAAKwI,eAAeC,KAStBrI,EAAQiR,UAAU2Y,aAAe,SAAUvhB,GACzCA,EAAQA,GAAS/B,OAAO+B,KAGxB,IAAIyhB,GAAQlI,WAAWwH,UAAU/gB,IAAUpJ,KAAKkqB,YAC5CY,EAAQnI,WAAW0H,UAAUjhB,IAAUpJ,KAAKoqB,YAE5CW,EAAgB/qB,KAAKwqB,iBAAiB1H,WAAa+H,EAAQ,IAC3DG,EAAchrB,KAAKwqB,iBAAiBzH,SAAW+H,EAAQ,IAEvDG,EAAY,EACZC,EAAYrmB,KAAK6W,IAAIuP,EAAY,IAAM,EAAIpmB,KAAKqkB,GAIhDrkB,MAAKsjB,IAAItjB,KAAK6W,IAAIqP,IAAkBG,IACtCH,EAAgBlmB,KAAKsmB,MAAOJ,EAAgBlmB,KAAKqkB,IAAOrkB,KAAKqkB,GAAK,MAEhErkB,KAAKsjB,IAAItjB,KAAKgX,IAAIkP,IAAkBG,IACtCH,GAAiBlmB,KAAKsmB,MAAOJ,EAAelmB,KAAKqkB,GAAK,IAAQ,IAAOrkB,KAAKqkB,GAAK,MAI7ErkB,KAAKsjB,IAAItjB,KAAK6W,IAAIsP,IAAgBE,IACpCF,EAAcnmB,KAAKsmB,MAAOH,EAAcnmB,KAAKqkB,IAAOrkB,KAAKqkB,IAEvDrkB,KAAKsjB,IAAItjB,KAAKgX,IAAImP,IAAgBE,IACpCF,GAAenmB,KAAKsmB,MAAOH,EAAanmB,KAAKqkB,GAAK,IAAQ,IAAOrkB,KAAKqkB,IAGxElpB,KAAK2Y,OAAOqK,eAAe+H,EAAeC,GAC1ChrB,KAAK+e,QAGL,IAAIqM,GAAaprB,KAAKmjB,mBACtBnjB,MAAKqrB,KAAK,uBAAwBD,GAElCzqB,EAAKwI,eAAeC,IAStBrI,EAAQiR,UAAU8X,WAAa,SAAU1gB,GACvCpJ,KAAK4c,MAAM3L,MAAMwZ,OAAS,OAC1BzqB,KAAK6pB,gBAAiB,EAGtBlpB,EAAKsI,oBAAoBmH,SAAU,YAAapQ,KAAK0qB,aACrD/pB,EAAKsI,oBAAoBmH,SAAU,UAAapQ,KAAK4qB,WACrDjqB,EAAKwI,eAAeC,IAOtBrI,EAAQiR,UAAU+P,WAAa,SAAU3Y,GACvC,GAAIkiB,GAAQ,IACRC,EAASpB,UAAU/gB,GAASzI,EAAKsG,gBAAgBjH,KAAK4c,OACtD4O,EAASnB,UAAUjhB,GAASzI,EAAK4G,eAAevH,KAAK4c,MAEzD,IAAK5c,KAAKuY,YAAV,CASA,GALIvY,KAAKyrB,gBACPC,aAAa1rB,KAAKyrB,gBAIhBzrB,KAAK6pB,eAEP,WADA7pB,MAAK2rB,cAIP,IAAI3rB,KAAK0jB,SAAW1jB,KAAK0jB,QAAQkI,UAAW,CAE1C,GAAIA,GAAY5rB,KAAK6rB,iBAAiBN,EAAQC,EAC1CI,KAAc5rB,KAAK0jB,QAAQkI,YAEzBA,EACF5rB,KAAK8rB,aAAaF,GAGlB5rB,KAAK2rB,oBAIN,CAEH,GAAI9Y,GAAK7S,IACTA,MAAKyrB,eAAiBM,WAAW,WAC/BlZ,EAAG4Y,eAAiB,IAGpB,IAAIG,GAAY/Y,EAAGgZ,iBAAiBN,EAAQC,EACxCI,IACF/Y,EAAGiZ,aAAaF,IAEjBN,MAOPvqB,EAAQiR,UAAU2P,cAAgB,SAASvY,GACzCpJ,KAAKiqB,WAAY,CAEjB,IAAIpX,GAAK7S,IACTA,MAAKgsB,YAAc,SAAU5iB,GAAQyJ,EAAGoZ,aAAa7iB,IACrDpJ,KAAKksB,WAAc,SAAU9iB,GAAQyJ,EAAGsZ,YAAY/iB,IACpDzI,EAAK8H,iBAAiB2H,SAAU,YAAayC,EAAGmZ,aAChDrrB,EAAK8H,iBAAiB2H,SAAU,WAAYyC,EAAGqZ,YAE/ClsB,KAAKyhB,aAAarY,IAMpBrI,EAAQiR,UAAUia,aAAe,SAAS7iB,GACxCpJ,KAAK2qB,aAAavhB,IAMpBrI,EAAQiR,UAAUma,YAAc,SAAS/iB,GACvCpJ,KAAKiqB,WAAY,EAEjBtpB,EAAKsI,oBAAoBmH,SAAU,YAAapQ,KAAKgsB,aACrDrrB,EAAKsI,oBAAoBmH,SAAU,WAAcpQ,KAAKksB,YAEtDlsB,KAAK8pB,WAAW1gB,IASlBrI,EAAQiR,UAAU6P,SAAW,SAASzY,GAC/BA,IACHA,EAAQ/B,OAAO+B,MAGjB,IAAIgjB,GAAQ,CAYZ,IAXIhjB,EAAMijB,WACRD,EAAQhjB,EAAMijB,WAAW,IAChBjjB,EAAMkjB,SAGfF,GAAShjB,EAAMkjB,OAAO,GAMpBF,EAAO,CACT,GAAIG,GAAYvsB,KAAK2Y,OAAO+D,eACxB8P,EAAYD,GAAa,EAAIH,EAAQ,GAEzCpsB,MAAK2Y,OAAOuK,aAAasJ,GACzBxsB,KAAK+e,SAEL/e,KAAK2rB,eAIP,GAAIP,GAAaprB,KAAKmjB,mBACtBnjB,MAAKqrB,KAAK,uBAAwBD,GAKlCzqB,EAAKwI,eAAeC,IAUtBrI,EAAQiR,UAAUya,gBAAkB,SAAU1b,EAAO2b,GAKnD,QAASC,GAAM/b,GACb,MAAOA,GAAI,EAAI,EAAQ,EAAJA,EAAQ,GAAK,EALlC,GAAI1L,GAAIwnB,EAAS,GACf3mB,EAAI2mB,EAAS,GACbjsB,EAAIisB,EAAS,GAMXE,EAAKD,GAAM5mB,EAAE6K,EAAI1L,EAAE0L,IAAMG,EAAMF,EAAI3L,EAAE2L,IAAM9K,EAAE8K,EAAI3L,EAAE2L,IAAME,EAAMH,EAAI1L,EAAE0L,IACrEic,EAAKF,GAAMlsB,EAAEmQ,EAAI7K,EAAE6K,IAAMG,EAAMF,EAAI9K,EAAE8K,IAAMpQ,EAAEoQ,EAAI9K,EAAE8K,IAAME,EAAMH,EAAI7K,EAAE6K,IACrEkc,EAAKH,GAAMznB,EAAE0L,EAAInQ,EAAEmQ,IAAMG,EAAMF,EAAIpQ,EAAEoQ,IAAM3L,EAAE2L,EAAIpQ,EAAEoQ,IAAME,EAAMH,EAAInQ,EAAEmQ,GAGzE,SAAc,GAANgc,GAAiB,GAANC,GAAWD,GAAMC,GAC3B,GAANA,GAAiB,GAANC,GAAWD,GAAMC,GACtB,GAANF,GAAiB,GAANE,GAAWF,GAAME,IAUjC/rB,EAAQiR,UAAU6Z,iBAAmB,SAAUjb,EAAGC,GAChD,GAAI1L,GACF4nB,EAAU,IACVnB,EAAY,KACZoB,EAAmB,KACnBC,EAAc,KACdxD,EAAS,GAAItoB,GAAQyP,EAAGC,EAE1B,IAAI7Q,KAAKiR,QAAUlQ,EAAQiX,MAAMwF,KAC/Bxd,KAAKiR,QAAUlQ,EAAQiX,MAAMyF,UAC7Bzd,KAAKiR,QAAUlQ,EAAQiX,MAAM0F,QAE7B,IAAKvY,EAAInF,KAAK6Y,WAAWvT,OAAS,EAAGH,GAAK,EAAGA,IAAK,CAChDymB,EAAY5rB,KAAK6Y,WAAW1T,EAC5B,IAAIqkB,GAAYoC,EAAUpC,QAC1B,IAAIA,EACF,IAAK,GAAIre,GAAIqe,EAASlkB,OAAS,EAAG6F,GAAK,EAAGA,IAAK,CAE7C,GAAIie,GAAUI,EAASre,GACnBke,EAAUD,EAAQC,QAClB6D,GAAa7D,EAAQ,GAAG1I,OAAQ0I,EAAQ,GAAG1I,OAAQ0I,EAAQ,GAAG1I,QAC9DwM,GAAa9D,EAAQ,GAAG1I,OAAQ0I,EAAQ,GAAG1I,OAAQ0I,EAAQ,GAAG1I,OAClE,IAAI3gB,KAAKysB,gBAAgBhD,EAAQyD,IAC/BltB,KAAKysB,gBAAgBhD,EAAQ0D,GAE7B,MAAOvB,QAQf,KAAKzmB,EAAI,EAAGA,EAAInF,KAAK6Y,WAAWvT,OAAQH,IAAK,CAC3CymB,EAAY5rB,KAAK6Y,WAAW1T,EAC5B,IAAI4L,GAAQ6a,EAAUjL,MACtB,IAAI5P,EAAO,CACT,GAAIqc,GAAQvoB,KAAKsjB,IAAIvX,EAAIG,EAAMH,GAC3Byc,EAAQxoB,KAAKsjB,IAAItX,EAAIE,EAAMF,GAC3B4X,EAAQ5jB,KAAKyoB,KAAKF,EAAQA,EAAQC,EAAQA,IAEzB,OAAhBJ,GAA+BA,EAAPxE,IAA8BsE,EAAPtE,IAClDwE,EAAcxE,EACduE,EAAmBpB,IAO3B,MAAOoB,IAQTjsB,EAAQiR,UAAU8Z,aAAe,SAAUF,GACzC,GAAI2B,GAASC,EAAMC,CAEdztB,MAAK0jB,SAiCR6J,EAAUvtB,KAAK0jB,QAAQgK,IAAIH,QAC3BC,EAAQxtB,KAAK0jB,QAAQgK,IAAIF,KACzBC,EAAQztB,KAAK0jB,QAAQgK,IAAID,MAlCzBF,EAAUnd,SAASM,cAAc,OACjC6c,EAAQtc,MAAMiQ,SAAW,WACzBqM,EAAQtc,MAAMqQ,QAAU,OACxBiM,EAAQtc,MAAMtF,OAAS,oBACvB4hB,EAAQtc,MAAMxG,MAAQ,UACtB8iB,EAAQtc,MAAMvF,WAAa,wBAC3B6hB,EAAQtc,MAAM0c,aAAe,MAC7BJ,EAAQtc,MAAM2c,UAAY,qCAE1BJ,EAAOpd,SAASM,cAAc,OAC9B8c,EAAKvc,MAAMiQ,SAAW,WACtBsM,EAAKvc,MAAMK,OAAS,OACpBkc,EAAKvc,MAAMI,MAAQ,IACnBmc,EAAKvc,MAAM4c,WAAa,oBAExBJ,EAAMrd,SAASM,cAAc,OAC7B+c,EAAIxc,MAAMiQ,SAAW,WACrBuM,EAAIxc,MAAMK,OAAS,IACnBmc,EAAIxc,MAAMI,MAAQ,IAClBoc,EAAIxc,MAAMtF,OAAS,oBACnB8hB,EAAIxc,MAAM0c,aAAe,MAEzB3tB,KAAK0jB,SACHkI,UAAW,KACX8B,KACEH,QAASA,EACTC,KAAMA,EACNC,IAAKA,KAUXztB,KAAK2rB,eAEL3rB,KAAK0jB,QAAQkI,UAAYA,EAEvB2B,EAAQhM,UADsB,kBAArBvhB,MAAKuY,YACMvY,KAAKuY,YAAYqT,EAAU7a,OAG3B,6BACM6a,EAAU7a,MAAMH,EAAI,gCACpBgb,EAAU7a,MAAMF,EAAI,gCACpB+a,EAAU7a,MAAMyJ,EAAI,qBAIhD+S,EAAQtc,MAAM7J,KAAQ,IACtBmmB,EAAQtc,MAAMzJ,IAAQ,IACtBxH,KAAK4c,MAAMtM,YAAYid,GACvBvtB,KAAK4c,MAAMtM,YAAYkd,GACvBxtB,KAAK4c,MAAMtM,YAAYmd,EAGvB,IAAIK,GAAgBP,EAAQQ,YACxBC,EAAkBT,EAAQU,aAC1BC,EAAgBV,EAAKS,aACrBE,EAAcV,EAAIM,YAClBK,EAAgBX,EAAIQ,aAEpB7mB,EAAOwkB,EAAUjL,OAAO/P,EAAIkd,EAAe,CAC/C1mB,GAAOvC,KAAKwG,IAAIxG,KAAKiI,IAAI1F,EAAM,IAAKpH,KAAK4c,MAAME,YAAc,GAAKgR,GAElEN,EAAKvc,MAAM7J,KAASwkB,EAAUjL,OAAO/P,EAAI,KACzC4c,EAAKvc,MAAMzJ,IAAUokB,EAAUjL,OAAO9P,EAAIqd,EAAc,KACxDX,EAAQtc,MAAM7J,KAAQA,EAAO,KAC7BmmB,EAAQtc,MAAMzJ,IAASokB,EAAUjL,OAAO9P,EAAIqd,EAAaF,EAAiB,KAC1EP,EAAIxc,MAAM7J,KAAWwkB,EAAUjL,OAAO/P,EAAIud,EAAW,EAAK,KAC1DV,EAAIxc,MAAMzJ,IAAWokB,EAAUjL,OAAO9P,EAAIud,EAAY,EAAK,MAO7DrtB,EAAQiR,UAAU2Z,aAAe,WAC/B,GAAI3rB,KAAK0jB,QAAS,CAChB1jB,KAAK0jB,QAAQkI,UAAY,IAEzB,KAAK,GAAIpmB,KAAQxF,MAAK0jB,QAAQgK,IAC5B,GAAI1tB,KAAK0jB,QAAQgK,IAAIjoB,eAAeD,GAAO,CACzC,GAAI0B,GAAOlH,KAAK0jB,QAAQgK,IAAIloB,EACxB0B,IAAQA,EAAKwC,YACfxC,EAAKwC,WAAWsG,YAAY9I,MAetCijB,UAAY,SAAS/gB,GACnB,MAAI,WAAaA,GAAcA,EAAMilB,QAC9BjlB,EAAMklB,cAAc,IAAMllB,EAAMklB,cAAc,GAAGD,SAAW,GAQrEhE,UAAY,SAASjhB,GACnB,MAAI,WAAaA,GAAcA,EAAMmlB,QAC9BnlB,EAAMklB,cAAc,IAAMllB,EAAMklB,cAAc,GAAGC,SAAW,GAGrE1uB,EAAOD,QAAUmB,GAKb,SAASlB,EAAQD,EAASM,GAE9B,GAAIkB,GAAUlB,EAAoB,EAYlCe,QAAS,WACPjB,KAAKwuB,YAAc,GAAIptB,GACvBpB,KAAKyuB,eACLzuB,KAAKyuB,YAAY3L,WAAa,EAC9B9iB,KAAKyuB,YAAY1L,SAAW,EAC5B/iB,KAAK0uB,UAAY,IAEjB1uB,KAAK2uB,eAAiB,GAAIvtB,GAC1BpB,KAAK4uB,eAAkB,GAAIxtB,GAAQ,GAAIyD,KAAKqkB,GAAI,EAAG,GAEnDlpB,KAAK6uB,8BASP5tB,OAAO+Q,UAAU4I,eAAiB,SAAShK,EAAGC,EAAG2J,GAC/Cxa,KAAKwuB,YAAY5d,EAAIA,EACrB5Q,KAAKwuB,YAAY3d,EAAIA,EACrB7Q,KAAKwuB,YAAYhU,EAAIA,EAErBxa,KAAK6uB,8BAWP5tB,OAAO+Q,UAAUgR,eAAiB,SAASF,EAAYC,GAClC5c,SAAf2c,IACF9iB,KAAKyuB,YAAY3L,WAAaA,GAGf3c,SAAb4c,IACF/iB,KAAKyuB,YAAY1L,SAAWA,EACxB/iB,KAAKyuB,YAAY1L,SAAW,IAAG/iB,KAAKyuB,YAAY1L,SAAW,GAC3D/iB,KAAKyuB,YAAY1L,SAAW,GAAIle,KAAKqkB,KAAIlpB,KAAKyuB,YAAY1L,SAAW,GAAIle,KAAKqkB,MAGjE/iB,SAAf2c,GAAyC3c,SAAb4c,IAC9B/iB,KAAK6uB,8BAQT5tB,OAAO+Q,UAAUoR,eAAiB,WAChC,GAAI0L,KAIJ,OAHAA,GAAIhM,WAAa9iB,KAAKyuB,YAAY3L,WAClCgM,EAAI/L,SAAW/iB,KAAKyuB,YAAY1L,SAEzB+L,GAOT7tB,OAAO+Q,UAAUkR,aAAe,SAAS5d,GACxBa,SAAXb,IAGJtF,KAAK0uB,UAAYppB,EAKbtF,KAAK0uB,UAAY,MAAM1uB,KAAK0uB,UAAY,KACxC1uB,KAAK0uB,UAAY,IAAK1uB,KAAK0uB,UAAY,GAE3C1uB,KAAK6uB,+BAOP5tB,OAAO+Q,UAAU0K,aAAe,WAC9B,MAAO1c,MAAK0uB,WAOdztB,OAAO+Q,UAAUsJ,kBAAoB,WACnC,MAAOtb,MAAK2uB,gBAOd1tB,OAAO+Q,UAAU2J,kBAAoB,WACnC,MAAO3b,MAAK4uB,gBAOd3tB,OAAO+Q,UAAU6c,2BAA6B,WAE5C7uB,KAAK2uB,eAAe/d,EAAI5Q,KAAKwuB,YAAY5d,EAAI5Q,KAAK0uB,UAAY7pB,KAAK6W,IAAI1b,KAAKyuB,YAAY3L,YAAcje,KAAKgX,IAAI7b,KAAKyuB,YAAY1L,UAChI/iB,KAAK2uB,eAAe9d,EAAI7Q,KAAKwuB,YAAY3d,EAAI7Q,KAAK0uB,UAAY7pB,KAAKgX,IAAI7b,KAAKyuB,YAAY3L,YAAcje,KAAKgX,IAAI7b,KAAKyuB,YAAY1L,UAChI/iB,KAAK2uB,eAAenU,EAAIxa,KAAKwuB,YAAYhU,EAAIxa,KAAK0uB,UAAY7pB,KAAK6W,IAAI1b,KAAKyuB,YAAY1L,UAGxF/iB,KAAK4uB,eAAehe,EAAI/L,KAAKqkB,GAAG,EAAIlpB,KAAKyuB,YAAY1L,SACrD/iB,KAAK4uB,eAAe/d,EAAI,EACxB7Q,KAAK4uB,eAAepU,GAAKxa,KAAKyuB,YAAY3L,YAG5CjjB,EAAOD,QAAUqB,QAIb,SAASpB,EAAQD,EAASM,GAW9B,QAASgB,GAAQsQ,EAAM6M,EAAQ0Q,GAC7B/uB,KAAKwR,KAAOA,EACZxR,KAAKqe,OAASA,EACdre,KAAK+uB,MAAQA,EAEb/uB,KAAKiI,MAAQ9B,OACbnG,KAAKgH,MAAQb,OAGbnG,KAAK2V,OAASoZ,EAAMzQ,kBAAkB9M,EAAKoC,MAAO5T,KAAKqe,QAGvDre,KAAK2V,OAAOb,KAAK,SAAU5P,EAAGa,GAC5B,MAAOb,GAAIa,EAAI,EAAQA,EAAJb,EAAQ,GAAK,IAG9BlF,KAAK2V,OAAOrQ,OAAS,GACvBtF,KAAKqmB,YAAY,GAInBrmB,KAAK6Y,cAEL7Y,KAAKM,QAAS,EACdN,KAAKgvB,eAAiB7oB,OAElB4oB,EAAMrW,kBACR1Y,KAAKM,QAAS,EACdN,KAAKivB,oBAGLjvB,KAAKM,QAAS,EAxClB,GAAIQ,GAAWZ,EAAoB,EAiDnCgB,GAAO8Q,UAAUkd,SAAW,WAC1B,MAAOlvB,MAAKM,QAQdY,EAAO8Q,UAAUmd,kBAAoB,WAInC,IAHA,GAAI/pB,GAAMpF,KAAK2V,OAAOrQ,OAElBH,EAAI,EACDnF,KAAK6Y,WAAW1T,IACrBA,GAGF,OAAON,MAAKsmB,MAAMhmB,EAAIC,EAAM,MAQ9BlE,EAAO8Q,UAAUwU,SAAW,WAC1B,MAAOxmB,MAAK+uB,MAAMjX,aAQpB5W,EAAO8Q,UAAUod,UAAY,WAC3B,MAAOpvB,MAAKqe,QAOdnd,EAAO8Q,UAAUyU,iBAAmB,WAClC,MAAmBtgB,UAAfnG,KAAKiI,MACA9B,OAEFnG,KAAK2V,OAAO3V,KAAKiI,QAO1B/G,EAAO8Q,UAAUqd,UAAY,WAC3B,MAAOrvB,MAAK2V,QAQdzU,EAAO8Q,UAAUuB,SAAW,SAAStL,GACnC,GAAIA,GAASjI,KAAK2V,OAAOrQ,OACvB,KAAM,2BAER,OAAOtF,MAAK2V,OAAO1N,IASrB/G,EAAO8Q,UAAUoO,eAAiB,SAASnY,GAIzC,GAHc9B,SAAV8B,IACFA,EAAQjI,KAAKiI,OAED9B,SAAV8B,EACF,QAEF,IAAI4Q,EACJ,IAAI7Y,KAAK6Y,WAAW5Q,GAClB4Q,EAAa7Y,KAAK6Y,WAAW5Q,OAE1B,CACH,GAAIoE,KACJA,GAAEgS,OAASre,KAAKqe,OAChBhS,EAAErF,MAAQhH,KAAK2V,OAAO1N,EAEtB,IAAIqnB,GAAW,GAAIxuB,GAASd,KAAKwR,MAAMa,OAAQ,SAAUe,GAAO,MAAQA,GAAK/G,EAAEgS,SAAWhS,EAAErF,SAAW4M,KACvGiF,GAAa7Y,KAAK+uB,MAAM3O,eAAekP,GAEvCtvB,KAAK6Y,WAAW5Q,GAAS4Q,EAG3B,MAAOA,IAQT3X,EAAO8Q,UAAU8M,kBAAoB,SAAS1W,GAC5CpI,KAAKgvB,eAAiB5mB,GASxBlH,EAAO8Q,UAAUqU,YAAc,SAASpe,GACtC,GAAIA,GAASjI,KAAK2V,OAAOrQ,OACvB,KAAM,2BAERtF,MAAKiI,MAAQA,EACbjI,KAAKgH,MAAQhH,KAAK2V,OAAO1N,IAO3B/G,EAAO8Q,UAAUid,iBAAmB,SAAShnB,GAC7B9B,SAAV8B,IACFA,EAAQ,EAEV,IAAI2U,GAAQ5c,KAAK+uB,MAAMnS,KAEvB,IAAI3U,EAAQjI,KAAK2V,OAAOrQ,OAAQ,CAC9B,CAAqBtF,KAAKogB,eAAenY,GAIlB9B,SAAnByW,EAAM2S,WACR3S,EAAM2S,SAAWnf,SAASM,cAAc,OACxCkM,EAAM2S,SAASte,MAAMiQ,SAAW,WAChCtE,EAAM2S,SAASte,MAAMxG,MAAQ,OAC7BmS,EAAMtM,YAAYsM,EAAM2S,UAE1B,IAAIA,GAAWvvB,KAAKmvB,mBACpBvS,GAAM2S,SAAShO,UAAY,wBAA0BgO,EAAW,IAEhE3S,EAAM2S,SAASte,MAAM2P,OAAS,OAC9BhE,EAAM2S,SAASte,MAAM7J,KAAO,MAE5B,IAAIyL,GAAK7S,IACT+rB,YAAW,WAAYlZ,EAAGoc,iBAAiBhnB,EAAM,IAAM,IACvDjI,KAAKM,QAAS,MAGdN,MAAKM,QAAS,EAGS6F,SAAnByW,EAAM2S,WACR3S,EAAM5M,YAAY4M,EAAM2S,UACxB3S,EAAM2S,SAAWppB,QAGfnG,KAAKgvB,gBACPhvB,KAAKgvB,kBAIXnvB,EAAOD,QAAUsB,GAKb,SAASrB,GAObsB,QAAU,SAAUyP,EAAGC,GACrB7Q,KAAK4Q,EAAUzK,SAANyK,EAAkBA,EAAI,EAC/B5Q,KAAK6Q,EAAU1K,SAAN0K,EAAkBA,EAAI,GAGjChR,EAAOD,QAAUuB,SAKb,SAAStB,GAQb,QAASuB,GAAQwP,EAAGC,EAAG2J,GACrBxa,KAAK4Q,EAAUzK,SAANyK,EAAkBA,EAAI,EAC/B5Q,KAAK6Q,EAAU1K,SAAN0K,EAAkBA,EAAI,EAC/B7Q,KAAKwa,EAAUrU,SAANqU,EAAkBA,EAAI,EASjCpZ,EAAQwnB,SAAW,SAAS1jB,EAAGa,GAC7B,GAAIypB,GAAM,GAAIpuB,EAId,OAHAouB,GAAI5e,EAAI1L,EAAE0L,EAAI7K,EAAE6K,EAChB4e,EAAI3e,EAAI3L,EAAE2L,EAAI9K,EAAE8K,EAChB2e,EAAIhV,EAAItV,EAAEsV,EAAIzU,EAAEyU,EACTgV,GASTpuB,EAAQ2Q,IAAM,SAAS7M,EAAGa,GACxB,GAAI0pB,GAAM,GAAIruB,EAId,OAHAquB,GAAI7e,EAAI1L,EAAE0L,EAAI7K,EAAE6K,EAChB6e,EAAI5e,EAAI3L,EAAE2L,EAAI9K,EAAE8K,EAChB4e,EAAIjV,EAAItV,EAAEsV,EAAIzU,EAAEyU,EACTiV,GASTruB,EAAQsoB,IAAM,SAASxkB,EAAGa,GACxB,MAAO,IAAI3E,IACF8D,EAAE0L,EAAI7K,EAAE6K,GAAK,GACb1L,EAAE2L,EAAI9K,EAAE8K,GAAK,GACb3L,EAAEsV,EAAIzU,EAAEyU,GAAK,IAWxBpZ,EAAQ2nB,aAAe,SAAS7jB,EAAGa,GACjC,GAAI+iB,GAAe,GAAI1nB,EAMvB,OAJA0nB,GAAalY,EAAI1L,EAAE2L,EAAI9K,EAAEyU,EAAItV,EAAEsV,EAAIzU,EAAE8K,EACrCiY,EAAajY,EAAI3L,EAAEsV,EAAIzU,EAAE6K,EAAI1L,EAAE0L,EAAI7K,EAAEyU,EACrCsO,EAAatO,EAAItV,EAAE0L,EAAI7K,EAAE8K,EAAI3L,EAAE2L,EAAI9K,EAAE6K,EAE9BkY,GAQT1nB,EAAQ4Q,UAAU1M,OAAS,WACzB,MAAOT,MAAKyoB,KACJttB,KAAK4Q,EAAI5Q,KAAK4Q,EACd5Q,KAAK6Q,EAAI7Q,KAAK6Q,EACd7Q,KAAKwa,EAAIxa,KAAKwa,IAIxB3a,EAAOD,QAAUwB,GAKb,SAASvB,EAAQD,EAASM,GAa9B,QAASmB,GAAOgW,EAAWvJ,GACzB,GAAkB3H,SAAdkR,EACF,KAAM,qCAKR,IAHArX,KAAKqX,UAAYA,EACjBrX,KAAKgmB,QAAWlY,GAA8B3H,QAAnB2H,EAAQkY,QAAwBlY,EAAQkY,SAAU,EAEzEhmB,KAAKgmB,QAAS,CAChBhmB,KAAK4c,MAAQxM,SAASM,cAAc,OAEpC1Q,KAAK4c,MAAM3L,MAAMI,MAAQ,OACzBrR,KAAK4c,MAAM3L,MAAMiQ,SAAW,WAC5BlhB,KAAKqX,UAAU/G,YAAYtQ,KAAK4c,OAEhC5c,KAAK4c,MAAM8S,KAAOtf,SAASM,cAAc,SACzC1Q,KAAK4c,MAAM8S,KAAKjpB,KAAO,SACvBzG,KAAK4c,MAAM8S,KAAK1oB,MAAQ,OACxBhH,KAAK4c,MAAMtM,YAAYtQ,KAAK4c,MAAM8S,MAElC1vB,KAAK4c,MAAM0F,KAAOlS,SAASM,cAAc,SACzC1Q,KAAK4c,MAAM0F,KAAK7b,KAAO,SACvBzG,KAAK4c,MAAM0F,KAAKtb,MAAQ,OACxBhH,KAAK4c,MAAMtM,YAAYtQ,KAAK4c,MAAM0F,MAElCtiB,KAAK4c,MAAM+I,KAAOvV,SAASM,cAAc,SACzC1Q,KAAK4c,MAAM+I,KAAKlf,KAAO,SACvBzG,KAAK4c,MAAM+I,KAAK3e,MAAQ,OACxBhH,KAAK4c,MAAMtM,YAAYtQ,KAAK4c,MAAM+I,MAElC3lB,KAAK4c,MAAM+S,IAAMvf,SAASM,cAAc,SACxC1Q,KAAK4c,MAAM+S,IAAIlpB,KAAO,SACtBzG,KAAK4c,MAAM+S,IAAI1e,MAAMiQ,SAAW,WAChClhB,KAAK4c,MAAM+S,IAAI1e,MAAMtF,OAAS,gBAC9B3L,KAAK4c,MAAM+S,IAAI1e,MAAMI,MAAQ,QAC7BrR,KAAK4c,MAAM+S,IAAI1e,MAAMK,OAAS,MAC9BtR,KAAK4c,MAAM+S,IAAI1e,MAAM0c,aAAe,MACpC3tB,KAAK4c,MAAM+S,IAAI1e,MAAM2e,gBAAkB,MACvC5vB,KAAK4c,MAAM+S,IAAI1e,MAAMtF,OAAS,oBAC9B3L,KAAK4c,MAAM+S,IAAI1e,MAAMgM,gBAAkB,UACvCjd,KAAK4c,MAAMtM,YAAYtQ,KAAK4c,MAAM+S,KAElC3vB,KAAK4c,MAAMiT,MAAQzf,SAASM,cAAc,SAC1C1Q,KAAK4c,MAAMiT,MAAMppB,KAAO,SACxBzG,KAAK4c,MAAMiT,MAAM5e,MAAMuG,OAAS,MAChCxX,KAAK4c,MAAMiT,MAAM7oB,MAAQ,IACzBhH,KAAK4c,MAAMiT,MAAM5e,MAAMiQ,SAAW,WAClClhB,KAAK4c,MAAMiT,MAAM5e,MAAM7J,KAAO,SAC9BpH,KAAK4c,MAAMtM,YAAYtQ,KAAK4c,MAAMiT,MAGlC;GAAIhd,GAAK7S,IACTA,MAAK4c,MAAMiT,MAAMrO,YAAc,SAAUpY,GAAQyJ,EAAG4O,aAAarY,IACjEpJ,KAAK4c,MAAM8S,KAAKI,QAAU,SAAU1mB,GAAQyJ,EAAG6c,KAAKtmB,IACpDpJ,KAAK4c,MAAM0F,KAAKwN,QAAU,SAAU1mB,GAAQyJ,EAAGkd,WAAW3mB,IAC1DpJ,KAAK4c,MAAM+I,KAAKmK,QAAU,SAAU1mB,GAAQyJ,EAAG8S,KAAKvc,IAGtDpJ,KAAKgwB,iBAAmB7pB,OAExBnG,KAAK2V,UACL3V,KAAKiI,MAAQ9B,OAEbnG,KAAKiwB,YAAc9pB,OACnBnG,KAAKkwB,aAAe,IACpBlwB,KAAKmwB,UAAW,EA3ElB,GAAIxvB,GAAOT,EAAoB,EAiF/BmB,GAAO2Q,UAAU0d,KAAO,WACtB,GAAIznB,GAAQjI,KAAKomB,UACbne,GAAQ,IACVA,IACAjI,KAAKowB,SAASnoB,KAOlB5G,EAAO2Q,UAAU2T,KAAO,WACtB,GAAI1d,GAAQjI,KAAKomB,UACbne,GAAQjI,KAAK2V,OAAOrQ,OAAS,IAC/B2C,IACAjI,KAAKowB,SAASnoB,KAOlB5G,EAAO2Q,UAAUqe,SAAW,WAC1B,GAAIvhB,GAAQ,GAAI7K,MAEZgE,EAAQjI,KAAKomB,UACbne,GAAQjI,KAAK2V,OAAOrQ,OAAS,GAC/B2C,IACAjI,KAAKowB,SAASnoB,IAEPjI,KAAKmwB,WAEZloB,EAAQ,EACRjI,KAAKowB,SAASnoB,GAGhB,IAAIsH,GAAM,GAAItL,MACV2lB,EAAQra,EAAMT,EAIdwhB,EAAWzrB,KAAKiI,IAAI9M,KAAKkwB,aAAetG,EAAM,GAG9C/W,EAAK7S,IACTA,MAAKiwB,YAAclE,WAAW,WAAYlZ,EAAGwd,YAAcC,IAM7DjvB,EAAO2Q,UAAU+d,WAAa,WACH5pB,SAArBnG,KAAKiwB,YACPjwB,KAAKsiB,OAELtiB,KAAKwiB,QAOTnhB,EAAO2Q,UAAUsQ,KAAO,WAElBtiB,KAAKiwB,cAETjwB,KAAKqwB,WAEDrwB,KAAK4c,QACP5c,KAAK4c,MAAM0F,KAAKtb,MAAQ,UAO5B3F,EAAO2Q,UAAUwQ,KAAO,WACtB+N,cAAcvwB,KAAKiwB,aACnBjwB,KAAKiwB,YAAc9pB,OAEfnG,KAAK4c,QACP5c,KAAK4c,MAAM0F,KAAKtb,MAAQ,SAQ5B3F,EAAO2Q,UAAUsU,oBAAsB,SAASle,GAC9CpI,KAAKgwB,iBAAmB5nB,GAO1B/G,EAAO2Q,UAAUkU,gBAAkB,SAASoK,GAC1CtwB,KAAKkwB,aAAeI,GAOtBjvB,EAAO2Q,UAAUwe,gBAAkB,WACjC,MAAOxwB,MAAKkwB,cASd7uB,EAAO2Q,UAAUye,YAAc,SAASC,GACtC1wB,KAAKmwB,SAAWO,GAOlBrvB,EAAO2Q,UAAU2e,SAAW,WACIxqB,SAA1BnG,KAAKgwB,kBACPhwB,KAAKgwB,oBAOT3uB,EAAO2Q,UAAU+M,OAAS,WACxB,GAAI/e,KAAK4c,MAAO,CAEd5c,KAAK4c,MAAM+S,IAAI1e,MAAMzJ,IAAOxH,KAAK4c,MAAMuF,aAAa,EAChDniB,KAAK4c,MAAM+S,IAAI1B,aAAa,EAAK,KACrCjuB,KAAK4c,MAAM+S,IAAI1e,MAAMI,MAASrR,KAAK4c,MAAME,YACrC9c,KAAK4c,MAAM8S,KAAK5S,YAChB9c,KAAK4c,MAAM0F,KAAKxF,YAChB9c,KAAK4c,MAAM+I,KAAK7I,YAAc,GAAO,IAGzC,IAAI1V,GAAOpH,KAAK4wB,YAAY5wB,KAAKiI,MACjCjI,MAAK4c,MAAMiT,MAAM5e,MAAM7J,KAAO,EAAS,OAS3C/F,EAAO2Q,UAAUiU,UAAY,SAAStQ,GACpC3V,KAAK2V,OAASA,EAEV3V,KAAK2V,OAAOrQ,OAAS,EACvBtF,KAAKowB,SAAS,GAEdpwB,KAAKiI,MAAQ9B,QAOjB9E,EAAO2Q,UAAUoe,SAAW,SAASnoB,GACnC,KAAIA,EAAQjI,KAAK2V,OAAOrQ,QAOtB,KAAM,2BANNtF,MAAKiI,MAAQA,EAEbjI,KAAK+e,SACL/e,KAAK2wB,YAWTtvB,EAAO2Q,UAAUoU,SAAW,WAC1B,MAAOpmB,MAAKiI,OAQd5G,EAAO2Q,UAAU4B,IAAM,WACrB,MAAO5T,MAAK2V,OAAO3V,KAAKiI,QAI1B5G,EAAO2Q,UAAUyP,aAAe,SAASrY,GAEvC,GAAIygB,GAAiBzgB,EAAM2gB,MAAyB,IAAhB3gB,EAAM2gB,MAAiC,IAAjB3gB,EAAM4gB,MAChE,IAAKH,EAAL,CAEA7pB,KAAK6wB,aAAeznB,EAAMilB,QAC1BruB,KAAK8wB,YAAcnO,WAAW3iB,KAAK4c,MAAMiT,MAAM5e,MAAM7J,MAErDpH,KAAK4c,MAAM3L,MAAMwZ,OAAS,MAK1B,IAAI5X,GAAK7S,IACTA,MAAK0qB,YAAc,SAAUthB,GAAQyJ,EAAG8X,aAAavhB,IACrDpJ,KAAK4qB,UAAc,SAAUxhB,GAAQyJ,EAAGiX,WAAW1gB,IACnDzI,EAAK8H,iBAAiB2H,SAAU,YAAapQ,KAAK0qB,aAClD/pB,EAAK8H,iBAAiB2H,SAAU,UAAapQ,KAAK4qB,WAClDjqB,EAAKwI,eAAeC,KAItB/H,EAAO2Q,UAAU+e,YAAc,SAAU3pB,GACvC,GAAIiK,GAAQsR,WAAW3iB,KAAK4c,MAAM+S,IAAI1e,MAAMI,OACxCrR,KAAK4c,MAAMiT,MAAM/S,YAAc,GAC/BlM,EAAIxJ,EAAO,EAEXa,EAAQpD,KAAKsmB,MAAMva,EAAIS,GAASrR,KAAK2V,OAAOrQ,OAAO,GAIvD,OAHY,GAAR2C,IAAWA,EAAQ,GACnBA,EAAQjI,KAAK2V,OAAOrQ,OAAO,IAAG2C,EAAQjI,KAAK2V,OAAOrQ,OAAO,GAEtD2C,GAGT5G,EAAO2Q,UAAU4e,YAAc,SAAU3oB,GACvC,GAAIoJ,GAAQsR,WAAW3iB,KAAK4c,MAAM+S,IAAI1e,MAAMI,OACxCrR,KAAK4c,MAAMiT,MAAM/S,YAAc,GAE/BlM,EAAI3I,GAASjI,KAAK2V,OAAOrQ,OAAO,GAAK+L,EACrCjK,EAAOwJ,EAAI,CAEf,OAAOxJ,IAKT/F,EAAO2Q,UAAU2Y,aAAe,SAAUvhB,GACxC,GAAIwgB,GAAOxgB,EAAMilB,QAAUruB,KAAK6wB,aAC5BjgB,EAAI5Q,KAAK8wB,YAAclH,EAEvB3hB,EAAQjI,KAAK+wB,YAAYngB,EAE7B5Q,MAAKowB,SAASnoB,GAEdtH,EAAKwI,kBAIP9H,EAAO2Q,UAAU8X,WAAa,WAC5B9pB,KAAK4c,MAAM3L,MAAMwZ,OAAS,OAG1B9pB,EAAKsI,oBAAoBmH,SAAU,YAAapQ,KAAK0qB,aACrD/pB,EAAKsI,oBAAoBmH,SAAU,UAAWpQ,KAAK4qB,WAEnDjqB,EAAKwI,kBAGPtJ,EAAOD,QAAUyB,GAKb,SAASxB,GA2Bb,QAASyB,GAAWwN,EAAOS,EAAKkW,EAAMmB,GAEpC5mB,KAAKgxB,OAAS,EACdhxB,KAAKixB,KAAO,EACZjxB,KAAKkxB,MAAQ,EACblxB,KAAK4mB,YAAa,EAClB5mB,KAAKmxB,UAAY,EAEjBnxB,KAAKoxB,SAAW,EAChBpxB,KAAKqxB,SAASviB,EAAOS,EAAKkW,EAAMmB,GAYlCtlB,EAAW0Q,UAAUqf,SAAW,SAASviB,EAAOS,EAAKkW,EAAMmB,GACzD5mB,KAAKgxB,OAASliB,EAAQA,EAAQ,EAC9B9O,KAAKixB,KAAO1hB,EAAMA,EAAM,EAExBvP,KAAKsxB,QAAQ7L,EAAMmB,IASrBtlB,EAAW0Q,UAAUsf,QAAU,SAAS7L,EAAMmB,GAC/BzgB,SAATsf,GAA8B,GAARA,IAGPtf,SAAfygB,IACF5mB,KAAK4mB,WAAaA,GAGlB5mB,KAAKkxB,MADHlxB,KAAK4mB,cAAe,EACTtlB,EAAWiwB,oBAAoB9L,GAE/BA,IAUjBnkB,EAAWiwB,oBAAsB,SAAU9L,GACzC,GAAI+L,GAAQ,SAAU5gB,GAAI,MAAO/L,MAAKmK,IAAI4B,GAAK/L,KAAK4sB,MAGhDC,EAAQ7sB,KAAK8sB,IAAI,GAAI9sB,KAAKsmB,MAAMqG,EAAM/L,KACtCmM,EAAQ,EAAI/sB,KAAK8sB,IAAI,GAAI9sB,KAAKsmB,MAAMqG,EAAM/L,EAAO,KACjDoM,EAAQ,EAAIhtB,KAAK8sB,IAAI,GAAI9sB,KAAKsmB,MAAMqG,EAAM/L,EAAO,KAGjDmB,EAAa8K,CASjB,OARI7sB,MAAKsjB,IAAIyJ,EAAQnM,IAAS5gB,KAAKsjB,IAAIvB,EAAanB,KAAOmB,EAAagL,GACpE/sB,KAAKsjB,IAAI0J,EAAQpM,IAAS5gB,KAAKsjB,IAAIvB,EAAanB,KAAOmB,EAAaiL,GAGtD,GAAdjL,IACFA,EAAa,GAGRA,GAOTtlB,EAAW0Q,UAAU0T,WAAa,WAChC,MAAO/C,YAAW3iB,KAAKoxB,SAASU,YAAY9xB,KAAKmxB,aAOnD7vB,EAAW0Q,UAAU+f,QAAU,WAC7B,MAAO/xB,MAAKkxB,OAOd5vB,EAAW0Q,UAAUlD,MAAQ,WAC3B9O,KAAKoxB,SAAWpxB,KAAKgxB,OAAShxB,KAAKgxB,OAAShxB,KAAKkxB,OAMnD5vB,EAAW0Q,UAAU2T,KAAO,WAC1B3lB,KAAKoxB,UAAYpxB,KAAKkxB,OAOxB5vB,EAAW0Q,UAAUzC,IAAM,WACzB,MAAQvP,MAAKoxB,SAAWpxB,KAAKixB,MAG/BpxB,EAAOD,QAAU0B,GAKb,SAASzB,EAAQD,EAASM,GAsB9B,QAASqB,GAAU8V,EAAWtV,EAAO+L,GACnC,KAAM9N,eAAgBuB,IACpB,KAAM,IAAI+V,aAAY,mDAGxB,IAAIzE,GAAK7S,IACTA,MAAKgyB,gBACHljB,MAAO,KACPS,IAAO,KAEP0iB,YAAY,EAEZC,YAAa,SACb7gB,MAAO,KACPC,OAAQ,KACR6gB,UAAW,KACXC,UAAW,MAEbpyB,KAAK8N,QAAUnN,EAAKyF,cAAepG,KAAKgyB,gBAGxChyB,KAAKqyB,QAAQhb,GAGbrX,KAAK8B,cAEL9B,KAAKsyB,MACH5E,IAAK1tB,KAAK0tB,IACV6E,SAAUvyB,KAAK2F,MACf6sB,SACEvgB,GAAIjS,KAAKiS,GAAGwgB,KAAKzyB,MACjBoS,IAAKpS,KAAKoS,IAAIqgB,KAAKzyB,MACnBqrB,KAAMrrB,KAAKqrB,KAAKoH,KAAKzyB,OAEvBW,MACE+xB,KAAM,KACNC,SAAU9f,EAAG+f,UAAUH,KAAK5f,GAC5BggB,eAAgBhgB,EAAGigB,gBAAgBL,KAAK5f,GACxCkgB,OAAQlgB,EAAGmgB,QAAQP,KAAK5f,GACxBogB,aAAepgB,EAAGqgB,cAAcT,KAAK5f,KAKzC7S,KAAKkO,MAAQ,GAAIvM,GAAM3B,KAAKsyB,MAC5BtyB,KAAK8B,WAAWgG,KAAK9H,KAAKkO,OAC1BlO,KAAKsyB,KAAKpkB,MAAQlO,KAAKkO,MAGvBlO,KAAKmzB,SAAW,GAAItwB,GAAS7C,KAAKsyB,MAClCtyB,KAAK8B,WAAWgG,KAAK9H,KAAKmzB,UAC1BnzB,KAAKsyB,KAAK3xB,KAAK+xB,KAAO1yB,KAAKmzB,SAAST,KAAKD,KAAKzyB,KAAKmzB,UAGnDnzB,KAAKozB,YAAc,GAAI/wB,GAAYrC,KAAKsyB,MACxCtyB,KAAK8B,WAAWgG,KAAK9H,KAAKozB,aAI1BpzB,KAAKqzB,WAAa,GAAI/wB,GAAWtC,KAAKsyB,MACtCtyB,KAAK8B,WAAWgG,KAAK9H,KAAKqzB,YAG1BrzB,KAAKszB,QAAU,GAAI5wB,GAAQ1C,KAAKsyB,MAChCtyB,KAAK8B,WAAWgG,KAAK9H,KAAKszB,SAE1BtzB,KAAKuzB,UAAY,KACjBvzB,KAAKwzB,WAAa,KAGd1lB,GACF9N,KAAKoa,WAAWtM,GAId/L,EACF/B,KAAKyzB,SAAS1xB,GAGd/B,KAAK+e,SAnGT,GAEIpe,IAFUT,EAAoB,IACrBA,EAAoB,IACtBA,EAAoB,IAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/ByB,EAAQzB,EAAoB,IAC5BwzB,EAAOxzB,EAAoB,IAC3B2C,EAAW3C,EAAoB,IAC/BmC,EAAcnC,EAAoB,IAClCoC,EAAapC,EAAoB,IACjCwC,EAAUxC,EAAoB,GA8FlCqB,GAASyQ,UAAY,GAAI0hB,GAMzBnyB,EAASyQ,UAAUyhB,SAAW,SAAS1xB,GACrC,GAGI4xB,GAHAC,EAAiC,MAAlB5zB,KAAKuzB,SAuBxB,IAfEI,EAJG5xB,EAGIA,YAAiBlB,IAAWkB,YAAiBjB,GACvCiB,EAIA,GAAIlB,GAAQkB,GACvB0E,MACEqI,MAAO,OACPS,IAAK,UAVI,KAgBfvP,KAAKuzB,UAAYI,EACjB3zB,KAAKszB,SAAWtzB,KAAKszB,QAAQG,SAASE,GAClCC,EACF,GAA0BztB,QAAtBnG,KAAK8N,QAAQgB,OAA0C3I,QAApBnG,KAAK8N,QAAQyB,IAAkB,CACpE,GAAIT,GAA8B3I,QAAtBnG,KAAK8N,QAAQgB,MAAqB9O,KAAK8N,QAAQgB,MAAQ,KAC/DS,EAA4BpJ,QAApBnG,KAAK8N,QAAQyB,IAAqBvP,KAAK8N,QAAQyB,IAAM,IAEjEvP,MAAK6zB,UAAU/kB,EAAOS,GAAMukB,SAAS,QAGrC9zB,MAAK+zB,KAAKD,SAAS,KASzBvyB,EAASyQ,UAAUgiB,UAAY,SAASC,GAEtC,GAAIN,EAKFA,GAJGM,EAGIA,YAAkBpzB,IAAWozB,YAAkBnzB,GACzCmzB,EAIA,GAAIpzB,GAAQozB,GAPZ,KAUfj0B,KAAKwzB,WAAaG,EAClB3zB,KAAKszB,QAAQU,UAAUL,IAmBzBpyB,EAASyQ,UAAUkiB,aAAe,SAASrgB,EAAK/F,GAC9C9N,KAAKszB,SAAWtzB,KAAKszB,QAAQY,aAAargB,GAEtC/F,GAAWA,EAAQqmB,OACrBn0B,KAAKm0B,MAAMtgB,EAAK/F,IAQpBvM,EAASyQ,UAAUoiB,aAAe,WAChC,MAAOp0B,MAAKszB,SAAWtzB,KAAKszB,QAAQc,oBAetC7yB,EAASyQ,UAAUmiB,MAAQ,SAAS9zB,EAAIyN,GACtC,GAAK9N,KAAKuzB,WAAmBptB,QAAN9F,EAAvB,CAEA,GAAIwT,GAAMjO,MAAMC,QAAQxF,GAAMA,GAAMA,GAGhCkzB,EAAYvzB,KAAKuzB,UAAU9e,aAAab,IAAIC,GAC9CpN,MACEqI,MAAO,OACPS,IAAK,UAKLT,EAAQ,KACRS,EAAM,IAcV,IAbAgkB,EAAUprB,QAAQ,SAAUksB,GAC1B,GAAIlpB,GAAIkpB,EAASvlB,MAAMnI,UACnByF,EAAI,OAASioB,GAAWA,EAAS9kB,IAAI5I,UAAY0tB,EAASvlB,MAAMnI,WAEtD,OAAVmI,GAAsBA,EAAJ3D,KACpB2D,EAAQ3D,IAGE,OAARoE,GAAgBnD,EAAImD,KACtBA,EAAMnD,KAII,OAAV0C,GAA0B,OAARS,EAAc,CAElC,GAAI+kB,IAAUxlB,EAAQS,GAAO,EACzB+gB,EAAWzrB,KAAKiI,IAAK9M,KAAKkO,MAAMqB,IAAMvP,KAAKkO,MAAMY,MAAwB,KAAfS,EAAMT,IAEhEglB,EAAWhmB,GAA+B3H,SAApB2H,EAAQgmB,QAAyBhmB,EAAQgmB,SAAU,CAC7E9zB,MAAKkO,MAAMmjB,SAASiD,EAAShE,EAAW,EAAGgE,EAAShE,EAAW,EAAGwD,MAUtEvyB,EAASyQ,UAAUuiB,aAAe,WAEhC,GAAIC,GAAUx0B,KAAKuzB,UAAU9e,aAC3BpJ,EAAM,KACNyB,EAAM,IAER,IAAI0nB,EAAS,CAEX,GAAIC,GAAUD,EAAQnpB,IAAI,QAC1BA,GAAMopB,EAAU9zB,EAAK6F,QAAQiuB,EAAQ3lB,MAAO,QAAQnI,UAAY,IAKhE,IAAI+tB,GAAeF,EAAQ1nB,IAAI,QAC3B4nB,KACF5nB,EAAMnM,EAAK6F,QAAQkuB,EAAa5lB,MAAO,QAAQnI,UAEjD,IAAIguB,GAAaH,EAAQ1nB,IAAI,MACzB6nB,KAEA7nB,EADS,MAAPA,EACInM,EAAK6F,QAAQmuB,EAAWplB,IAAK,QAAQ5I,UAGrC9B,KAAKiI,IAAIA,EAAKnM,EAAK6F,QAAQmuB,EAAWplB,IAAK,QAAQ5I,YAK/D,OACE0E,IAAa,MAAPA,EAAe,GAAIpH,MAAKoH,GAAO,KACrCyB,IAAa,MAAPA,EAAe,GAAI7I,MAAK6I,GAAO,OAKzCjN,EAAOD,QAAU2B,GAKb,SAAS1B,EAAQD,EAASM,GAsB9B,QAASsB,GAAS6V,EAAWtV,EAAO+L,EAASmmB,GAC3C,GAAIphB,GAAK7S,IACTA,MAAKgyB,gBACHljB,MAAO,KACPS,IAAO,KAEP0iB,YAAY,EAEZC,YAAa,SACb7gB,MAAO,KACPC,OAAQ,KACR6gB,UAAW,KACXC,UAAW,MAEbpyB,KAAK8N,QAAUnN,EAAKyF,cAAepG,KAAKgyB,gBAGxChyB,KAAKqyB,QAAQhb,GAGbrX,KAAK8B,cAEL9B,KAAKsyB,MACH5E,IAAK1tB,KAAK0tB,IACV6E,SAAUvyB,KAAK2F,MACf6sB,SACEvgB,GAAIjS,KAAKiS,GAAGwgB,KAAKzyB,MACjBoS,IAAKpS,KAAKoS,IAAIqgB,KAAKzyB,MACnBqrB,KAAMrrB,KAAKqrB,KAAKoH,KAAKzyB,OAEvBW,MACE+xB,KAAM,KACNC,SAAU9f,EAAG+f,UAAUH,KAAK5f,GAC5BggB,eAAgBhgB,EAAGigB,gBAAgBL,KAAK5f,GACxCkgB,OAAQlgB,EAAGmgB,QAAQP,KAAK5f,GACxBogB,aAAepgB,EAAGqgB,cAAcT,KAAK5f,KAKzC7S,KAAKkO,MAAQ,GAAIvM,GAAM3B,KAAKsyB,MAC5BtyB,KAAK8B,WAAWgG,KAAK9H,KAAKkO,OAC1BlO,KAAKsyB,KAAKpkB,MAAQlO,KAAKkO,MAGvBlO,KAAKmzB,SAAW,GAAItwB,GAAS7C,KAAKsyB,MAClCtyB,KAAK8B,WAAWgG,KAAK9H,KAAKmzB,UAC1BnzB,KAAKsyB,KAAK3xB,KAAK+xB,KAAO1yB,KAAKmzB,SAAST,KAAKD,KAAKzyB,KAAKmzB,UAGnDnzB,KAAKozB,YAAc,GAAI/wB,GAAYrC,KAAKsyB,MACxCtyB,KAAK8B,WAAWgG,KAAK9H,KAAKozB,aAI1BpzB,KAAKqzB,WAAa,GAAI/wB,GAAWtC,KAAKsyB,MACtCtyB,KAAK8B,WAAWgG,KAAK9H,KAAKqzB,YAG1BrzB,KAAK40B,UAAY,GAAIhyB,GAAU5C,KAAKsyB,MACpCtyB,KAAK8B,WAAWgG,KAAK9H,KAAK40B,WAE1B50B,KAAKuzB,UAAY,KACjBvzB,KAAKwzB,WAAa,KAGd1lB,GACF9N,KAAKoa,WAAWtM,GAIdmmB,GACFj0B,KAAKg0B,UAAUC,GAIblyB,EACF/B,KAAKyzB,SAAS1xB,GAGd/B,KAAK+e,SApGT,GAEIpe,IAFUT,EAAoB,IACrBA,EAAoB,IACtBA,EAAoB,IAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/ByB,EAAQzB,EAAoB,IAC5BwzB,EAAOxzB,EAAoB,IAC3B2C,EAAW3C,EAAoB,IAC/BmC,EAAcnC,EAAoB,IAClCoC,EAAapC,EAAoB,IACjC0C,EAAY1C,EAAoB,GA+FpCsB,GAAQwQ,UAAY,GAAI0hB,GAMxBlyB,EAAQwQ,UAAUyhB,SAAW,SAAS1xB,GACpC,GAGI4xB,GAHAC,EAAiC,MAAlB5zB,KAAKuzB,SAwBxB,IAhBEI,EAJG5xB,EAGIA,YAAiBlB,IAAWkB,YAAiBjB,GACvCiB,EAIA,GAAIlB,GAAQkB,GACvB0E,MACEqI,MAAO,OACPS,IAAK,UAVI,KAgBfvP,KAAKuzB,UAAYI,EACjB3zB,KAAK40B,WAAa50B,KAAK40B,UAAUnB,SAASE,GAEtCC,IAAgB,SAAW5zB,MAAK8N,SAAW,OAAS9N,MAAK8N,SAAU,CACrE9N,KAAK+zB,KAEL,IAAIjlB,GAAS,SAAW9O,MAAK8N,QAAWnN,EAAK6F,QAAQxG,KAAK8N,QAAQgB,MAAO,QAAU,KAC/ES,EAAS,OAASvP,MAAK8N,QAAanN,EAAK6F,QAAQxG,KAAK8N,QAAQyB,IAAK,QAAU,IAEjFvP,MAAK6zB,UAAU/kB,EAAOS,KAQ1B/N,EAAQwQ,UAAUgiB,UAAY,SAASC,GAErC,GAAIN,EAKFA,GAJGM,EAGIA,YAAkBpzB,IAAWozB,YAAkBnzB,GACzCmzB,EAIA,GAAIpzB,GAAQozB,GAPZ,KAUfj0B,KAAKwzB,WAAaG,EAClB3zB,KAAK40B,UAAUZ,UAAUL,IAS3BnyB,EAAQwQ,UAAU6iB,UAAY,SAASC,EAASzjB,EAAOC,GAGrD,MAFenL,UAAXkL,IAAuBA,EAAS,IACrBlL,SAAXmL,IAAuBA,EAAS,IACGnL,SAAnCnG,KAAK40B,UAAUX,OAAOa,GACjB90B,KAAK40B,UAAUX,OAAOa,GAASD,UAAUxjB,EAAMC,GAG/C,qBAAwBwjB,GASnCtzB,EAAQwQ,UAAU+iB,eAAiB,SAASD,GAC1C,MAAuC3uB,UAAnCnG,KAAK40B,UAAUX,OAAOa,GAChB90B,KAAK40B,UAAUX,OAAOa,GAAS9O,UAAkE7f,SAAtDnG,KAAK40B,UAAU9mB,QAAQmmB,OAAOe,WAAWF,IAA+E,GAArD90B,KAAK40B,UAAU9mB,QAAQmmB,OAAOe,WAAWF,KAGxJ,GAWXtzB,EAAQwQ,UAAUuiB,aAAe,WAC/B,GAAIlpB,GAAM,KACNyB,EAAM,IAGV,KAAK,GAAIgoB,KAAW90B,MAAK40B,UAAUX,OACjC,GAAIj0B,KAAK40B,UAAUX,OAAOxuB,eAAeqvB,IACO,GAA1C90B,KAAK40B,UAAUX,OAAOa,GAAS9O,QACjC,IAAK,GAAI7gB,GAAI,EAAGA,EAAInF,KAAK40B,UAAUX,OAAOa,GAASvB,UAAUjuB,OAAQH,IAAK,CACxE,GAAIiO,GAAOpT,KAAK40B,UAAUX,OAAOa,GAASvB,UAAUpuB,GAChD6B,EAAQrG,EAAK6F,QAAQ4M,EAAKxC,EAAG,QAAQjK,SACzC0E,GAAa,MAAPA,EAAcrE,EAAQqE,EAAMrE,EAAQA,EAAQqE,EAClDyB,EAAa,MAAPA,EAAc9F,EAAcA,EAAN8F,EAAc9F,EAAQ8F,EAM1D,OACEzB,IAAa,MAAPA,EAAe,GAAIpH,MAAKoH,GAAO,KACrCyB,IAAa,MAAPA,EAAe,GAAI7I,MAAK6I,GAAO,OAMzCjN,EAAOD,QAAU4B,GAKb,SAAS3B,GA4Bb,QAAS6B,GAASoN,EAAOS,EAAK0lB,EAAaC,EAAiBC,GAE1Dn1B,KAAKo1B,QAAU,EAEfp1B,KAAKq1B,WAAY,EACjBr1B,KAAKs1B,UAAY,EACjBt1B,KAAKylB,KAAO,EACZzlB,KAAKua,MAAQ,EAEbva,KAAKu1B,YACLv1B,KAAKw1B,UACLx1B,KAAKy1B,UAAY,EAEjBz1B,KAAK01B,YAAc,EAAO,EAAM,EAAI,IACpC11B,KAAK21B,YAAc,IAAO,GAAM,EAAI,GAEpC31B,KAAKqxB,SAASviB,EAAOS,EAAK0lB,EAAaC,EAAiBC,GAe1DzzB,EAASsQ,UAAUqf,SAAW,SAASviB,EAAOS,EAAK0lB,EAAaC,EAAiBC,GAC/En1B,KAAKgxB,OAA6B7qB,SAApBgvB,EAAY9pB,IAAoByD,EAAQqmB,EAAY9pB,IAClErL,KAAKixB,KAA2B9qB,SAApBgvB,EAAYroB,IAAoByC,EAAM4lB,EAAYroB,IAE1DgC,GAASS,IACXvP,KAAKgxB,OAASliB,EAAQ,IACtB9O,KAAKixB,KAAO1hB,EAAM,GAGhBvP,KAAKq1B,WACPr1B,KAAK41B,eAAeX,EAAaC,GAEnCl1B,KAAK61B,SAASV,IAOhBzzB,EAASsQ,UAAU4jB,eAAiB,SAASX,EAAaC,GAExD,GAAI/jB,GAAOnR,KAAKixB,KAAOjxB,KAAKgxB,OACxB8E,EAAkB,IAAP3kB,EACX4kB,EAAmBd,GAAea,EAAWZ,GAC7Cc,EAAmBnxB,KAAKsmB,MAAMtmB,KAAKmK,IAAI8mB,GAAUjxB,KAAK4sB,MAEtDwE,EAAe,GACfC,EAAkBrxB,KAAK8sB,IAAI,GAAGqE,GAE9BlnB,EAAQ,CACW,GAAnBknB,IACFlnB,EAAQknB,EAIV,KAAK,GADDG,IAAgB,EACXhxB,EAAI2J,EAAOjK,KAAKsjB,IAAIhjB,IAAMN,KAAKsjB,IAAI6N,GAAmB7wB,IAAK,CAClE+wB,EAAkBrxB,KAAK8sB,IAAI,GAAGxsB,EAC9B,KAAK,GAAIgkB,GAAI,EAAGA,EAAInpB,KAAK21B,WAAWrwB,OAAQ6jB,IAAK,CAC/C,GAAIiN,GAAWF,EAAkBl2B,KAAK21B,WAAWxM,EACjD,IAAIiN,GAAYL,EAAkB,CAChCI,GAAgB,EAChBF,EAAe9M,CACf,QAGJ,GAAqB,GAAjBgN,EACF,MAGJn2B,KAAKs1B,UAAYW,EACjBj2B,KAAKua,MAAQ2b,EACbl2B,KAAKylB,KAAOyQ,EAAkBl2B,KAAK21B,WAAWM,IAShDv0B,EAASsQ,UAAU6jB,SAAW,SAASV,GACjBhvB,SAAhBgvB,IACFA,KAEF,IAAIkB,GAAgClwB,SAApBgvB,EAAY9pB,IAAoBrL,KAAKgxB,OAAuB,EAAbhxB,KAAKua,MAAYva,KAAK21B,WAAW31B,KAAKs1B,WAAcH,EAAY9pB,IAC3HirB,EAA8BnwB,SAApBgvB,EAAYroB,IAAoB9M,KAAKixB,KAAQjxB,KAAKua,MAAQva,KAAK21B,WAAW31B,KAAKs1B,WAAcH,EAAYroB,GAEvH9M,MAAKw1B,UAAgCrvB,SAApBgvB,EAAYroB,IAAoB9M,KAAKu2B,aAAaD,GAAWnB,EAAYroB,IAC1F9M,KAAKu1B,YAAkCpvB,SAApBgvB,EAAY9pB,IAAoBrL,KAAKu2B,aAAaF,GAAalB,EAAY9pB,IAC9FrL,KAAKy1B,UAAYz1B,KAAKu2B,aAAaD,GAAWA,EAAUt2B,KAAKu2B,aAAaF,GAAaA,EACvFr2B,KAAKw2B,YAAcx2B,KAAKw1B,UAAYx1B,KAAKu1B,YAEzCv1B,KAAKo1B,QAAUp1B,KAAKw1B,WAItB9zB,EAASsQ,UAAUukB,aAAe,SAASvvB,GACzC,GAAIyvB,GAAUzvB,EAASA,GAAShH,KAAKua,MAAQva,KAAK21B,WAAW31B,KAAKs1B,WAClE,OAAItuB,IAAShH,KAAKua,MAAQva,KAAK21B,WAAW31B,KAAKs1B,YAAc,GAAOt1B,KAAKua,MAAQva,KAAK21B,WAAW31B,KAAKs1B,WAC7FmB,EAAWz2B,KAAKua,MAAQva,KAAK21B,WAAW31B,KAAKs1B,WAG7CmB,GASX/0B,EAASsQ,UAAU0kB,QAAU,WAC3B,MAAQ12B,MAAKo1B,SAAWp1B,KAAKu1B,aAM/B7zB,EAASsQ,UAAU2T,KAAO,WACxB,GAAI+J,GAAO1vB,KAAKo1B,OAChBp1B,MAAKo1B,SAAWp1B,KAAKylB,KAGjBzlB,KAAKo1B,SAAW1F,IAClB1vB,KAAKo1B,QAAUp1B,KAAKixB,OAOxBvvB,EAASsQ,UAAU2kB,SAAW,WAC5B32B,KAAKo1B,SAAWp1B,KAAKylB,KACrBzlB,KAAKw1B,WAAax1B,KAAKylB,KACvBzlB,KAAKw2B,YAAcx2B,KAAKw1B,UAAYx1B,KAAKu1B,aAS3C7zB,EAASsQ,UAAU0T,WAAa,WAE9B,IAAK,GADDoM,GAAc,GAAKjuB,OAAO7D,KAAKo1B,SAAStD,YAAY,GAC/C3sB,EAAI2sB,EAAYxsB,OAAO,EAAGH,EAAI,EAAGA,IAAK,CAC7C,GAAsB,KAAlB2sB,EAAY3sB,GAGX,CAAA,GAAsB,KAAlB2sB,EAAY3sB,IAA+B,KAAlB2sB,EAAY3sB,GAAW,CACvD2sB,EAAcA,EAAY8E,MAAM,EAAEzxB,EAClC,OAGA,MAPA2sB,EAAcA,EAAY8E,MAAM,EAAEzxB,GAWtC,MAAO2sB,IAWTpwB,EAASsQ,UAAU0gB,KAAO,aAS1BhxB,EAASsQ,UAAU6kB,QAAU,WAC3B,MAAQ72B,MAAKo1B,SAAWp1B,KAAKua,MAAQva,KAAK01B,WAAW11B,KAAKs1B,aAAe,GAG3Ez1B,EAAOD,QAAU8B,GAKb,SAAS7B,EAAQD,EAASM,GAe9B,QAASyB,GAAM2wB,EAAMxkB,GACnB,GAAIgpB,GAAMrzB,IAASszB,MAAM,GAAGC,QAAQ,GAAGC,QAAQ,GAAGC,aAAa,EAC/Dl3B,MAAK8O,MAAQgoB,EAAIK,QAAQplB,IAAI,OAAQ,IAAIpL,UACzC3G,KAAKuP,IAAMunB,EAAIK,QAAQplB,IAAI,OAAQ,GAAGpL,UAEtC3G,KAAKsyB,KAAOA,EAGZtyB,KAAKgyB,gBACHljB,MAAO,KACPS,IAAK,KACL6nB,UAAW,aACXC,UAAU,EACVC,UAAU,EACVjsB,IAAK,KACLyB,IAAK,KACLyqB,QAAS,GACTC,QAAS,UAEXx3B,KAAK8N,QAAUnN,EAAKsE,UAAWjF,KAAKgyB,gBAEpChyB,KAAK2F,OACH8xB,UAEFz3B,KAAK03B,aAAe,KAGpB13B,KAAKsyB,KAAKE,QAAQvgB,GAAG,YAAajS,KAAK23B,aAAalF,KAAKzyB,OACzDA,KAAKsyB,KAAKE,QAAQvgB,GAAG,OAAajS,KAAK43B,QAAQnF,KAAKzyB,OACpDA,KAAKsyB,KAAKE,QAAQvgB,GAAG,UAAajS,KAAK63B,WAAWpF,KAAKzyB,OAGvDA,KAAKsyB,KAAKE,QAAQvgB,GAAG,OAAQjS,KAAK83B,QAAQrF,KAAKzyB,OAG/CA,KAAKsyB,KAAKE,QAAQvgB,GAAG,aAAmBjS,KAAK+3B,cAActF,KAAKzyB,OAChEA,KAAKsyB,KAAKE,QAAQvgB,GAAG,iBAAmBjS,KAAK+3B,cAActF,KAAKzyB,OAGhEA,KAAKsyB,KAAKE,QAAQvgB,GAAG,QAASjS,KAAKg4B,SAASvF,KAAKzyB,OACjDA,KAAKsyB,KAAKE,QAAQvgB,GAAG,QAASjS,KAAKi4B,SAASxF,KAAKzyB,OAEjDA,KAAKoa,WAAWtM,GAsClB,QAASoqB,GAAmBd,GAC1B,GAAiB,cAAbA,GAA0C,YAAbA,EAC/B,KAAM,IAAIpxB,WAAU,sBAAwBoxB,EAAY,yCAib5D,QAASe,GAAYV,EAAO/uB,GAC1B,OACEkI,EAAG6mB,EAAMW,MAAQz3B,EAAKsG,gBAAgByB,GACtCmI,EAAG4mB,EAAMY,MAAQ13B,EAAK4G,eAAemB,IAnhBzC,GAAI/H,GAAOT,EAAoB,GAC3Bo4B,EAAap4B,EAAoB,IACjCuD,EAASvD,EAAoB,IAC7BkC,EAAYlC,EAAoB,GAuDpCyB,GAAMqQ,UAAY,GAAI5P,GAkBtBT,EAAMqQ,UAAUoI,WAAa,SAAUtM,GACrC,GAAIA,EAAS,CAEX,GAAIP,IAAU,YAAa,MAAO,MAAO,UAAW,UAAW,WAAY,WAAY,WACvF5M,GAAK+E,gBAAgB6H,EAAQvN,KAAK8N,QAASA,IAEvC,SAAWA,IAAW,OAASA,KAEjC9N,KAAKqxB,SAASvjB,EAAQgB,MAAOhB,EAAQyB,OA2B3C5N,EAAMqQ,UAAUqf,SAAW,SAASviB,EAAOS,EAAKukB,GAc5C,QAASnO,KACP,IAAK9S,EAAGlN,MAAM8xB,MAAMc,SAAU,CAC5B,GAAIzB,IAAM,GAAI7yB,OAAO0C,UACjB6xB,EAAO1B,EAAM2B,EACbC,EAAOF,EAAOhpB,EACdrE,EAAKutB,GAAmB,OAAX1H,EAAmBA,EAASrwB,EAAK2O,cAAckpB,EAAMG,EAAW3H,EAAQxhB,GACrFpD,EAAKssB,GAAiB,OAATzH,EAAmBA,EAAStwB,EAAK2O,cAAckpB,EAAMI,EAAS3H,EAAMzhB,EAErFqpB,GAAUhmB,EAAGimB,YAAY3tB,EAAGiB,GAC5B2sB,EAAaA,GAAcF,EACvBA,GACFhmB,EAAGyf,KAAKE,QAAQnH,KAAK,eAAgBvc,MAAO,GAAI7K,MAAK4O,EAAG/D,OAAQS,IAAK,GAAItL,MAAK4O,EAAGtD,OAG/EmpB,EACEK,GACFlmB,EAAGyf,KAAKE,QAAQnH,KAAK,gBAAiBvc,MAAO,GAAI7K,MAAK4O,EAAG/D,OAAQS,IAAK,GAAItL,MAAK4O,EAAGtD,OAMpFsD,EAAG6kB,aAAe3L,WAAWpG,EAAM,KAnC3C,GAAIqL,GAAkB7qB,QAAT2I,EAAqBnO,EAAK6F,QAAQsI,EAAO,QAAQnI,UAAY,KACtEsqB,EAAgB9qB,QAAPoJ,EAAqB5O,EAAK6F,QAAQ+I,EAAK,QAAQ5I,UAAc,IAI1E,IAFA3G,KAAKg5B,mBAEDlF,EAAS,CACX,GAAIjhB,GAAK7S,KACL24B,EAAY34B,KAAK8O,MACjB8pB,EAAU54B,KAAKuP,IACfC,EAA8B,gBAAZskB,GAAuBA,EAAU,IACnD2E,GAAW,GAAIx0B,OAAO0C,UACtBoyB,GAAa,CA6BjB,OAAOpT,KAGP,GAAIkT,GAAU74B,KAAK84B,YAAY9H,EAAQC,EACvC,IAAI4H,EAAS,CACX,GAAIrmB,IAAU1D,MAAO,GAAI7K,MAAKjE,KAAK8O,OAAQS,IAAK,GAAItL,MAAKjE,KAAKuP,KAC9DvP,MAAKsyB,KAAKE,QAAQnH,KAAK,cAAe7Y,GACtCxS,KAAKsyB,KAAKE,QAAQnH,KAAK,eAAgB7Y,KAS7C7Q,EAAMqQ,UAAUgnB,iBAAmB,WAC7Bh5B,KAAK03B,eACPhM,aAAa1rB,KAAK03B,cAClB13B,KAAK03B,aAAe,OAaxB/1B,EAAMqQ,UAAU8mB,YAAc,SAAShqB,EAAOS,GAC5C,GAIIqa,GAJAqP,EAAqB,MAATnqB,EAAiBnO,EAAK6F,QAAQsI,EAAO,QAAQnI,UAAY3G,KAAK8O,MAC1EoqB,EAAmB,MAAP3pB,EAAiB5O,EAAK6F,QAAQ+I,EAAK,QAAQ5I,UAAc3G,KAAKuP,IAC1EzC,EAA2B,MAApB9M,KAAK8N,QAAQhB,IAAenM,EAAK6F,QAAQxG,KAAK8N,QAAQhB,IAAK,QAAQnG,UAAY,KACtF0E,EAA2B,MAApBrL,KAAK8N,QAAQzC,IAAe1K,EAAK6F,QAAQxG,KAAK8N,QAAQzC,IAAK,QAAQ1E,UAAY,IAI1F,IAAItC,MAAM40B,IAA0B,OAAbA,EACrB,KAAM,IAAIz1B,OAAM,kBAAoBsL,EAAQ,IAE9C,IAAIzK,MAAM60B,IAAsB,OAAXA,EACnB,KAAM,IAAI11B,OAAM,gBAAkB+L,EAAM,IAyC1C,IArCa0pB,EAATC,IACFA,EAASD,GAIC,OAAR5tB,GACaA,EAAX4tB,IACFrP,EAAQve,EAAM4tB,EACdA,GAAYrP,EACZsP,GAAUtP,EAGC,MAAP9c,GACEosB,EAASpsB,IACXosB,EAASpsB,IAOL,OAARA,GACEosB,EAASpsB,IACX8c,EAAQsP,EAASpsB,EACjBmsB,GAAYrP,EACZsP,GAAUtP,EAGC,MAAPve,GACaA,EAAX4tB,IACFA,EAAW5tB,IAOU,OAAzBrL,KAAK8N,QAAQypB,QAAkB,CACjC,GAAIA,GAAU5U,WAAW3iB,KAAK8N,QAAQypB,QACxB,GAAVA,IACFA,EAAU,GAEcA,EAArB2B,EAASD,IACPj5B,KAAKuP,IAAMvP,KAAK8O,QAAWyoB,GAE9B0B,EAAWj5B,KAAK8O,MAChBoqB,EAASl5B,KAAKuP,MAIdqa,EAAQ2N,GAAW2B,EAASD,GAC5BA,GAAYrP,EAAO,EACnBsP,GAAUtP,EAAO,IAMvB,GAA6B,OAAzB5pB,KAAK8N,QAAQ0pB,QAAkB,CACjC,GAAIA,GAAU7U,WAAW3iB,KAAK8N,QAAQ0pB,QACxB,GAAVA,IACFA,EAAU,GAEP0B,EAASD,EAAYzB,IACnBx3B,KAAKuP,IAAMvP,KAAK8O,QAAW0oB,GAE9ByB,EAAWj5B,KAAK8O,MAChBoqB,EAASl5B,KAAKuP,MAIdqa,EAASsP,EAASD,EAAYzB,EAC9ByB,GAAYrP,EAAO,EACnBsP,GAAUtP,EAAO,IAKvB,GAAIiP,GAAW74B,KAAK8O,OAASmqB,GAAYj5B,KAAKuP,KAAO2pB,CAKrD,OAHAl5B,MAAK8O,MAAQmqB,EACbj5B,KAAKuP,IAAM2pB,EAEJL,GAOTl3B,EAAMqQ,UAAUmnB,SAAW,WACzB,OACErqB,MAAO9O,KAAK8O,MACZS,IAAKvP,KAAKuP,MAUd5N,EAAMqQ,UAAUonB,WAAa,SAAU/nB,GACrC,MAAO1P,GAAMy3B,WAAWp5B,KAAK8O,MAAO9O,KAAKuP,IAAK8B,IAWhD1P,EAAMy3B,WAAa,SAAUtqB,EAAOS,EAAK8B,GACvC,MAAa,IAATA,GAAe9B,EAAMT,GAAS,GAE9BmY,OAAQnY,EACRyL,MAAOlJ,GAAS9B,EAAMT,KAKtBmY,OAAQ,EACR1M,MAAO,IAUb5Y,EAAMqQ,UAAU2lB,aAAe,WAExB33B,KAAK8N,QAAQupB,UAIbr3B,KAAK2F,MAAM8xB,MAAM4B,gBAEtBr5B,KAAK2F,MAAM8xB,MAAM3oB,MAAQ9O,KAAK8O,MAC9B9O,KAAK2F,MAAM8xB,MAAMloB,IAAMvP,KAAKuP,IAC5BvP,KAAK2F,MAAM8xB,MAAMc,UAAW,EAExBv4B,KAAKsyB,KAAK5E,IAAIhuB,OAChBM,KAAKsyB,KAAK5E,IAAIhuB,KAAKuR,MAAMwZ,OAAS,UAStC9oB,EAAMqQ,UAAU4lB,QAAU,SAAUxuB,GAElC,GAAKpJ,KAAK8N,QAAQupB,SAAlB,CACA,GAAID,GAAYp3B,KAAK8N,QAAQspB,SAI7B,IAHAc,EAAkBd,GAGbp3B,KAAK2F,MAAM8xB,MAAM4B,cAAtB,CACA,GAAIjN,GAAsB,cAAbgL,EAA6BhuB,EAAMkwB,QAAQC,OAASnwB,EAAMkwB,QAAQE,OAC3ElJ,EAAYtwB,KAAK2F,MAAM8xB,MAAMloB,IAAMvP,KAAK2F,MAAM8xB,MAAM3oB,MACpDuC,EAAsB,cAAb+lB,EAA6Bp3B,KAAKsyB,KAAKC,SAAS9I,OAAOpY,MAAQrR,KAAKsyB,KAAKC,SAAS9I,OAAOnY,OAClGmoB,GAAarN,EAAQ/a,EAAQif,CACjCtwB,MAAK84B,YAAY94B,KAAK2F,MAAM8xB,MAAM3oB,MAAQ2qB,EAAWz5B,KAAK2F,MAAM8xB,MAAMloB,IAAMkqB,GAC5Ez5B,KAAKsyB,KAAKE,QAAQnH,KAAK,eACrBvc,MAAO,GAAI7K,MAAKjE,KAAK8O,OACrBS,IAAO,GAAItL,MAAKjE,KAAKuP,UASzB5N,EAAMqQ,UAAU6lB,WAAa,WAEtB73B,KAAK8N,QAAQupB,UAIbr3B,KAAK2F,MAAM8xB,MAAM4B,gBAEtBr5B,KAAK2F,MAAM8xB,MAAMc,UAAW,EACxBv4B,KAAKsyB,KAAK5E,IAAIhuB,OAChBM,KAAKsyB,KAAK5E,IAAIhuB,KAAKuR,MAAMwZ,OAAS,QAIpCzqB,KAAKsyB,KAAKE,QAAQnH,KAAK,gBACrBvc,MAAO,GAAI7K,MAAKjE,KAAK8O,OACrBS,IAAO,GAAItL,MAAKjE,KAAKuP,SAUzB5N,EAAMqQ,UAAU+lB,cAAgB,SAAS3uB,GAEvC,GAAMpJ,KAAK8N,QAAQwpB,UAAYt3B,KAAK8N,QAAQupB,SAA5C,CAGA,GAAIjL,GAAQ,CAYZ,IAXIhjB,EAAMijB,WACRD,EAAQhjB,EAAMijB,WAAa,IAClBjjB,EAAMkjB,SAGfF,GAAShjB,EAAMkjB,OAAS,GAMtBF,EAAO,CAKT,GAAI7R,EAEFA,GADU,EAAR6R,EACM,EAAKA,EAAQ,EAGb,GAAK,EAAKA,EAAQ,EAI5B,IAAIkN,GAAUhB,EAAWoB,YAAY15B,KAAMoJ,GACvCuwB,EAAUxB,EAAWmB,EAAQ7P,OAAQzpB,KAAKsyB,KAAK5E,IAAIjE,QACnDmQ,EAAc55B,KAAK65B,eAAeF,EAEtC35B,MAAK85B,KAAKvf,EAAOqf,GAKnBxwB,EAAMD,mBAORxH,EAAMqQ,UAAUgmB,SAAW,WACzBh4B,KAAK2F,MAAM8xB,MAAM3oB,MAAQ9O,KAAK8O,MAC9B9O,KAAK2F,MAAM8xB,MAAMloB,IAAMvP,KAAKuP,IAC5BvP,KAAK2F,MAAM8xB,MAAM4B,eAAgB,EACjCr5B,KAAK2F,MAAM8xB,MAAMhO,OAAS,MAO5B9nB,EAAMqQ,UAAU8lB,QAAU,WACxB93B,KAAK2F,MAAM8xB,MAAM4B,eAAgB,GAQnC13B,EAAMqQ,UAAUimB,SAAW,SAAU7uB,GAEnC,GAAMpJ,KAAK8N,QAAQwpB,UAAYt3B,KAAK8N,QAAQupB,WAE5Cr3B,KAAK2F,MAAM8xB,MAAM4B,eAAgB,EAE7BjwB,EAAMkwB,QAAQS,QAAQz0B,OAAS,GAAG,CAC/BtF,KAAK2F,MAAM8xB,MAAMhO,SACpBzpB,KAAK2F,MAAM8xB,MAAMhO,OAAS0O,EAAW/uB,EAAMkwB,QAAQ7P,OAAQzpB,KAAKsyB,KAAK5E,IAAIjE,QAG3E,IAAIlP,GAAQ,EAAInR,EAAMkwB,QAAQ/e,MAC1Byf,EAAWh6B,KAAK65B,eAAe75B,KAAK2F,MAAM8xB,MAAMhO,QAGhDwP,EAAW7Q,SAAS4R,GAAYh6B,KAAK2F,MAAM8xB,MAAM3oB,MAAQkrB,GAAYzf,GACrE2e,EAAS9Q,SAAS4R,GAAYh6B,KAAK2F,MAAM8xB,MAAMloB,IAAMyqB,GAAYzf,EAGrEva,MAAKqxB,SAAS4H,EAAUC,KAU5Bv3B,EAAMqQ,UAAU6nB,eAAiB,SAAUF,GACzC,GAAIP,GACAhC,EAAYp3B,KAAK8N,QAAQspB,SAI7B,IAFAc,EAAkBd,GAED,cAAbA,EAA2B,CAC7B,GAAI/lB,GAAQrR,KAAKsyB,KAAKC,SAAS9I,OAAOpY,KAEtC,OADA+nB,GAAap5B,KAAKo5B,WAAW/nB,GACtBsoB,EAAQ/oB,EAAIwoB,EAAW7e,MAAQ6e,EAAWnS,OAGjD,GAAI3V,GAAStR,KAAKsyB,KAAKC,SAAS9I,OAAOnY,MAEvC,OADA8nB,GAAap5B,KAAKo5B,WAAW9nB,GACtBqoB,EAAQ9oB,EAAIuoB,EAAW7e,MAAQ6e,EAAWnS,QA4BrDtlB,EAAMqQ,UAAU8nB,KAAO,SAASvf,EAAOkP,GAEvB,MAAVA,IACFA,GAAUzpB,KAAK8O,MAAQ9O,KAAKuP,KAAO,EAIrC,IAAI0pB,GAAWxP,GAAUzpB,KAAK8O,MAAQ2a,GAAUlP,EAC5C2e,EAASzP,GAAUzpB,KAAKuP,IAAMka,GAAUlP,CAE5Cva,MAAKqxB,SAAS4H,EAAUC,IAS1Bv3B,EAAMqQ,UAAUioB,KAAO,SAAS7N,GAE9B,GAAIxC,GAAQ5pB,KAAKuP,IAAMvP,KAAK8O,MAGxBmqB,EAAWj5B,KAAK8O,MAAQ8a,EAAOwC,EAC/B8M,EAASl5B,KAAKuP,IAAMqa,EAAOwC,CAI/BpsB,MAAK8O,MAAQmqB,EACbj5B,KAAKuP,IAAM2pB,GAObv3B,EAAMqQ,UAAUmT,OAAS,SAASA,GAChC,GAAIsE,IAAUzpB,KAAK8O,MAAQ9O,KAAKuP,KAAO,EAEnCqa,EAAOH,EAAStE,EAGhB8T,EAAWj5B,KAAK8O,MAAQ8a,EACxBsP,EAASl5B,KAAKuP,IAAMqa,CAExB5pB,MAAKqxB,SAAS4H,EAAUC,IAG1Br5B,EAAOD,QAAU+B,GAKb,SAAS9B,EAAQD,GAGrB,GAAIs6B,GAAU,IAMdt6B,GAAQu6B,aAAe,SAASp4B,GAC9BA,EAAM+S,KAAK,SAAU5P,EAAGa,GACtB,MAAOb,GAAEsM,KAAK1C,MAAQ/I,EAAEyL,KAAK1C,SASjClP,EAAQw6B,WAAa,SAASr4B,GAC5BA,EAAM+S,KAAK,SAAU5P,EAAGa,GACtB,GAAIs0B,GAAS,OAASn1B,GAAEsM,KAAQtM,EAAEsM,KAAKjC,IAAMrK,EAAEsM,KAAK1C,MAChDwrB,EAAS,OAASv0B,GAAEyL,KAAQzL,EAAEyL,KAAKjC,IAAMxJ,EAAEyL,KAAK1C,KAEpD,OAAOurB,GAAQC,KAenB16B,EAAQgC,MAAQ,SAASG,EAAOyV,EAAQ+iB,GACtC,GAAIp1B,GAAGq1B,CAEP,IAAID,EAEF,IAAKp1B,EAAI,EAAGq1B,EAAOz4B,EAAMuD,OAAYk1B,EAAJr1B,EAAUA,IACzCpD,EAAMoD,GAAGqC,IAAM,IAKnB,KAAKrC,EAAI,EAAGq1B,EAAOz4B,EAAMuD,OAAYk1B,EAAJr1B,EAAUA,IAAK,CAC9C,GAAIiO,GAAOrR,EAAMoD,EACjB,IAAiB,OAAbiO,EAAK5L,IAAc,CAErB4L,EAAK5L,IAAMgQ,EAAOijB,IAElB,GAAG,CAID,IAAK,GADDC,GAAgB,KACXvR,EAAI,EAAGwR,EAAK54B,EAAMuD,OAAYq1B,EAAJxR,EAAQA,IAAK,CAC9C,GAAI5jB,GAAQxD,EAAMonB,EAClB,IAAkB,OAAd5jB,EAAMiC,KAAgBjC,IAAU6N,GAAQxT,EAAQg7B,UAAUxnB,EAAM7N,EAAOiS,EAAOpE,MAAO,CACvFsnB,EAAgBn1B,CAChB,QAIiB,MAAjBm1B,IAEFtnB,EAAK5L,IAAMkzB,EAAclzB,IAAMkzB,EAAcppB,OAASkG,EAAOpE,KAAK2P,gBAE7D2X,MAYf96B,EAAQi7B,QAAU,SAAS94B,EAAOyV,GAChC,GAAIrS,GAAGq1B,CAGP,KAAKr1B,EAAI,EAAGq1B,EAAOz4B,EAAMuD,OAAYk1B,EAAJr1B,EAAUA,IACzCpD,EAAMoD,GAAGqC,IAAMgQ,EAAOijB,MAc1B76B,EAAQg7B,UAAY,SAAS11B,EAAGa,EAAGyR,GACjC,MAAStS,GAAEkC,KAAOoQ,EAAOsL,WAAaoX,EAAkBn0B,EAAEqB,KAAOrB,EAAEsL,OAC9DnM,EAAEkC,KAAOlC,EAAEmM,MAAQmG,EAAOsL,WAAaoX,EAAWn0B,EAAEqB,MACpDlC,EAAEsC,IAAMgQ,EAAOuL,SAAWmX,EAAyBn0B,EAAEyB,IAAMzB,EAAEuL,QAC7DpM,EAAEsC,IAAMtC,EAAEoM,OAASkG,EAAOuL,SAAWmX,EAAan0B,EAAEyB,MAMvD,SAAS3H,EAAQD,EAASM,GA8B9B,QAAS2B,GAASiN,EAAOS,EAAK0lB,GAE5Bj1B,KAAKo1B,QAAU,GAAInxB,MACnBjE,KAAKgxB,OAAS,GAAI/sB,MAClBjE,KAAKixB,KAAO,GAAIhtB,MAEhBjE,KAAKq1B,WAAa,EAClBr1B,KAAKua,MAAQ1Y,EAASi5B,MAAMC,IAC5B/6B,KAAKylB,KAAO,EAGZzlB,KAAKqxB,SAASviB,EAAOS,EAAK0lB,GAvC5B,GAAIxxB,GAASvD,EAAoB,GA2CjC2B,GAASi5B,OACPE,YAAa,EACbC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNJ,IAAK,EACLK,QAAS,EACTC,MAAO,EACPC,KAAM,GAcRz5B,EAASmQ,UAAUqf,SAAW,SAASviB,EAAOS,EAAK0lB,GACjD,KAAMnmB,YAAiB7K,OAAWsL,YAAetL,OAC/C,KAAO,+CAGTjE,MAAKgxB,OAAmB7qB,QAAT2I,EAAsB,GAAI7K,MAAK6K,EAAMnI,WAAa,GAAI1C,MACrEjE,KAAKixB,KAAe9qB,QAAPoJ,EAAoB,GAAItL,MAAKsL,EAAI5I,WAAa,GAAI1C,MAE3DjE,KAAKq1B,WACPr1B,KAAK41B,eAAeX,IAOxBpzB,EAASmQ,UAAUupB,MAAQ,WACzBv7B,KAAKo1B,QAAU,GAAInxB,MAAKjE,KAAKgxB,OAAOrqB,WACpC3G,KAAKu2B,gBAOP10B,EAASmQ,UAAUukB,aAAe,WAIhC,OAAQv2B,KAAKua,OACX,IAAK1Y,GAASi5B,MAAMQ,KAClBt7B,KAAKo1B,QAAQoG,YAAYx7B,KAAKylB,KAAO5gB,KAAKC,MAAM9E,KAAKo1B,QAAQqG,cAAgBz7B,KAAKylB,OAClFzlB,KAAKo1B,QAAQsG,SAAS,EACxB,KAAK75B,GAASi5B,MAAMO,MAAcr7B,KAAKo1B,QAAQuG,QAAQ,EACvD,KAAK95B,GAASi5B,MAAMC,IACpB,IAAKl5B,GAASi5B,MAAMM,QAAcp7B,KAAKo1B,QAAQwG,SAAS,EACxD,KAAK/5B,GAASi5B,MAAMK,KAAcn7B,KAAKo1B,QAAQyG,WAAW,EAC1D,KAAKh6B,GAASi5B,MAAMI,OAAcl7B,KAAKo1B,QAAQ0G,WAAW,EAC1D,KAAKj6B,GAASi5B,MAAMG,OAAcj7B,KAAKo1B,QAAQ2G,gBAAgB,GAIjE,GAAiB,GAAb/7B,KAAKylB,KAEP,OAAQzlB,KAAKua,OACX,IAAK1Y,GAASi5B,MAAME,YAAch7B,KAAKo1B,QAAQ2G,gBAAgB/7B,KAAKo1B,QAAQ4G,kBAAoBh8B,KAAKo1B,QAAQ4G,kBAAoBh8B,KAAKylB,KAAQ,MAC9I,KAAK5jB,GAASi5B,MAAMG,OAAcj7B,KAAKo1B,QAAQ0G,WAAW97B,KAAKo1B,QAAQ6G,aAAej8B,KAAKo1B,QAAQ6G,aAAej8B,KAAKylB,KAAO,MAC9H,KAAK5jB,GAASi5B,MAAMI,OAAcl7B,KAAKo1B,QAAQyG,WAAW77B,KAAKo1B,QAAQ8G,aAAel8B,KAAKo1B,QAAQ8G,aAAel8B,KAAKylB,KAAO,MAC9H,KAAK5jB,GAASi5B,MAAMK,KAAcn7B,KAAKo1B,QAAQwG,SAAS57B,KAAKo1B,QAAQ+G,WAAan8B,KAAKo1B,QAAQ+G,WAAan8B,KAAKylB,KAAO,MACxH,KAAK5jB,GAASi5B,MAAMM,QACpB,IAAKv5B,GAASi5B,MAAMC,IAAc/6B,KAAKo1B,QAAQuG,QAAS37B,KAAKo1B,QAAQgH,UAAU,GAAMp8B,KAAKo1B,QAAQgH,UAAU,GAAKp8B,KAAKylB,KAAO,EAAI,MACjI,KAAK5jB,GAASi5B,MAAMO,MAAcr7B,KAAKo1B,QAAQsG,SAAS17B,KAAKo1B,QAAQiH,WAAar8B,KAAKo1B,QAAQiH,WAAar8B,KAAKylB,KAAQ,MACzH,KAAK5jB,GAASi5B,MAAMQ,KAAct7B,KAAKo1B,QAAQoG,YAAYx7B,KAAKo1B,QAAQqG,cAAgBz7B,KAAKo1B,QAAQqG,cAAgBz7B,KAAKylB,QAUhI5jB,EAASmQ,UAAU0kB,QAAU,WAC3B,MAAQ12B,MAAKo1B,QAAQzuB,WAAa3G,KAAKixB,KAAKtqB,WAM9C9E,EAASmQ,UAAU2T,KAAO,WACxB,GAAI+J,GAAO1vB,KAAKo1B,QAAQzuB,SAIxB,IAAI3G,KAAKo1B,QAAQiH,WAAa,EAC5B,OAAQr8B,KAAKua,OACX,IAAK1Y,GAASi5B,MAAME,YAElBh7B,KAAKo1B,QAAU,GAAInxB,MAAKjE,KAAKo1B,QAAQzuB,UAAY3G,KAAKylB,KAAO,MAC/D,KAAK5jB,GAASi5B,MAAMG,OAAcj7B,KAAKo1B,QAAU,GAAInxB,MAAKjE,KAAKo1B,QAAQzuB,UAAwB,IAAZ3G,KAAKylB,KAAc,MACtG,KAAK5jB,GAASi5B,MAAMI,OAAcl7B,KAAKo1B,QAAU,GAAInxB,MAAKjE,KAAKo1B,QAAQzuB,UAAwB,IAAZ3G,KAAKylB,KAAc,GAAK,MAC3G,KAAK5jB,GAASi5B,MAAMK,KAClBn7B,KAAKo1B,QAAU,GAAInxB,MAAKjE,KAAKo1B,QAAQzuB,UAAwB,IAAZ3G,KAAKylB,KAAc,GAAK,GAEzE,IAAIva,GAAIlL,KAAKo1B,QAAQ+G,UACrBn8B,MAAKo1B,QAAQwG,SAAS1wB,EAAKA,EAAIlL,KAAKylB,KACpC,MACF,KAAK5jB,GAASi5B,MAAMM,QACpB,IAAKv5B,GAASi5B,MAAMC,IAAc/6B,KAAKo1B,QAAQuG,QAAQ37B,KAAKo1B,QAAQgH,UAAYp8B,KAAKylB,KAAO,MAC5F,KAAK5jB,GAASi5B,MAAMO,MAAcr7B,KAAKo1B,QAAQsG,SAAS17B,KAAKo1B,QAAQiH,WAAar8B,KAAKylB,KAAO,MAC9F,KAAK5jB,GAASi5B,MAAMQ,KAAct7B,KAAKo1B,QAAQoG,YAAYx7B,KAAKo1B,QAAQqG,cAAgBz7B,KAAKylB,UAK/F,QAAQzlB,KAAKua,OACX,IAAK1Y,GAASi5B,MAAME,YAAch7B,KAAKo1B,QAAU,GAAInxB,MAAKjE,KAAKo1B,QAAQzuB,UAAY3G,KAAKylB,KAAO,MAC/F,KAAK5jB,GAASi5B,MAAMG,OAAcj7B,KAAKo1B,QAAQ0G,WAAW97B,KAAKo1B,QAAQ6G,aAAej8B,KAAKylB,KAAO,MAClG,KAAK5jB,GAASi5B,MAAMI,OAAcl7B,KAAKo1B,QAAQyG,WAAW77B,KAAKo1B,QAAQ8G,aAAel8B,KAAKylB,KAAO,MAClG,KAAK5jB,GAASi5B,MAAMK,KAAcn7B,KAAKo1B,QAAQwG,SAAS57B,KAAKo1B,QAAQ+G,WAAan8B,KAAKylB,KAAO,MAC9F,KAAK5jB,GAASi5B,MAAMM,QACpB,IAAKv5B,GAASi5B,MAAMC,IAAc/6B,KAAKo1B,QAAQuG,QAAQ37B,KAAKo1B,QAAQgH,UAAYp8B,KAAKylB,KAAO,MAC5F,KAAK5jB,GAASi5B,MAAMO,MAAcr7B,KAAKo1B,QAAQsG,SAAS17B,KAAKo1B,QAAQiH,WAAar8B,KAAKylB,KAAO,MAC9F,KAAK5jB,GAASi5B,MAAMQ,KAAct7B,KAAKo1B,QAAQoG,YAAYx7B,KAAKo1B,QAAQqG,cAAgBz7B,KAAKylB,MAKjG,GAAiB,GAAbzlB,KAAKylB,KAEP,OAAQzlB,KAAKua,OACX,IAAK1Y,GAASi5B,MAAME,YAAiBh7B,KAAKo1B,QAAQ4G,kBAAoBh8B,KAAKylB,MAAMzlB,KAAKo1B,QAAQ2G,gBAAgB,EAAK,MACnH,KAAKl6B,GAASi5B,MAAMG,OAAiBj7B,KAAKo1B,QAAQ6G,aAAej8B,KAAKylB,MAAMzlB,KAAKo1B,QAAQ0G,WAAW,EAAK,MACzG,KAAKj6B,GAASi5B,MAAMI,OAAiBl7B,KAAKo1B,QAAQ8G,aAAel8B,KAAKylB,MAAMzlB,KAAKo1B,QAAQyG,WAAW,EAAK,MACzG,KAAKh6B,GAASi5B,MAAMK,KAAiBn7B,KAAKo1B,QAAQ+G,WAAan8B,KAAKylB,MAAMzlB,KAAKo1B,QAAQwG,SAAS,EAAK,MACrG,KAAK/5B,GAASi5B,MAAMM,QACpB,IAAKv5B,GAASi5B,MAAMC,IAAiB/6B,KAAKo1B,QAAQgH,UAAYp8B,KAAKylB,KAAK,GAAGzlB,KAAKo1B,QAAQuG,QAAQ,EAAI,MACpG,KAAK95B,GAASi5B,MAAMO,MAAiBr7B,KAAKo1B,QAAQiH,WAAar8B,KAAKylB,MAAMzlB,KAAKo1B,QAAQsG,SAAS,EAAK,MACrG,KAAK75B,GAASi5B,MAAMQ,MAMpBt7B,KAAKo1B,QAAQzuB,WAAa+oB,IAC5B1vB,KAAKo1B,QAAU,GAAInxB,MAAKjE,KAAKixB,KAAKtqB,aAStC9E,EAASmQ,UAAU0T,WAAa,WAC9B,MAAO1lB,MAAKo1B,SAgBdvzB,EAASmQ,UAAUsqB,SAAW,SAASC,EAAUC,GAC/Cx8B,KAAKua,MAAQgiB,EAETC,EAAU,IACZx8B,KAAKylB,KAAO+W,GAGdx8B,KAAKq1B,WAAY,GAOnBxzB,EAASmQ,UAAUyqB,aAAe,SAAUC,GAC1C18B,KAAKq1B,UAAYqH,GAQnB76B,EAASmQ,UAAU4jB,eAAiB,SAASX,GAC3C,GAAmB9uB,QAAf8uB,EAAJ,CAIA,GAAI0H,GAAiB,QACjBC,EAAiB,OACjBC,EAAiB,MACjBC,EAAiB,KACjBC,EAAiB,IACjBC,EAAiB,IACjBC,EAAiB,CAGR,KAATN,EAAgB1H,IAAqBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMQ,KAAat7B,KAAKylB,KAAO,KACjF,IAATkX,EAAe1H,IAAsBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMQ,KAAat7B,KAAKylB,KAAO,KACjF,IAATkX,EAAe1H,IAAsBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMQ,KAAat7B,KAAKylB,KAAO,KACjF,GAATkX,EAAc1H,IAAuBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMQ,KAAat7B,KAAKylB,KAAO,IACjF,GAATkX,EAAc1H,IAAuBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMQ,KAAat7B,KAAKylB,KAAO,IACjF,EAATkX,EAAa1H,IAAwBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMQ,KAAat7B,KAAKylB,KAAO,GAC1FkX,EAAW1H,IAA0Bj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMQ,KAAat7B,KAAKylB,KAAO,GAChF,EAAVmX,EAAc3H,IAAuBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMO,MAAar7B,KAAKylB,KAAO,GAC1FmX,EAAY3H,IAAyBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMO,MAAar7B,KAAKylB,KAAO,GAClF,EAARoX,EAAY5H,IAAyBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMC,IAAa/6B,KAAKylB,KAAO,GAClF,EAARoX,EAAY5H,IAAyBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMC,IAAa/6B,KAAKylB,KAAO,GAC1FoX,EAAU5H,IAA2Bj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMC,IAAa/6B,KAAKylB,KAAO,GAC1FoX,EAAQ,EAAI5H,IAAyBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMM,QAAap7B,KAAKylB,KAAO,GACjF,EAATqX,EAAa7H,IAAwBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMK,KAAan7B,KAAKylB,KAAO,GAC1FqX,EAAW7H,IAA0Bj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMK,KAAan7B,KAAKylB,KAAO,GAC/E,GAAXsX,EAAgB9H,IAAqBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMI,OAAal7B,KAAKylB,KAAO,IAC/E,GAAXsX,EAAgB9H,IAAqBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMI,OAAal7B,KAAKylB,KAAO,IAC/E,EAAXsX,EAAe9H,IAAsBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMI,OAAal7B,KAAKylB,KAAO,GAC1FsX,EAAa9H,IAAwBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMI,OAAal7B,KAAKylB,KAAO,GAC/E,GAAXuX,EAAgB/H,IAAqBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMG,OAAaj7B,KAAKylB,KAAO,IAC/E,GAAXuX,EAAgB/H,IAAqBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMG,OAAaj7B,KAAKylB,KAAO,IAC/E,EAAXuX,EAAe/H,IAAsBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMG,OAAaj7B,KAAKylB,KAAO,GAC1FuX,EAAa/H,IAAwBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAMG,OAAaj7B,KAAKylB,KAAO,GAC1E,IAAhBwX,EAAsBhI,IAAej1B,KAAKua,MAAQ1Y,EAASi5B,MAAME,YAAah7B,KAAKylB,KAAO,KAC1E,IAAhBwX,EAAsBhI,IAAej1B,KAAKua,MAAQ1Y,EAASi5B,MAAME,YAAah7B,KAAKylB,KAAO,KAC1E,GAAhBwX,EAAqBhI,IAAgBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAME,YAAah7B,KAAKylB,KAAO,IAC1E,GAAhBwX,EAAqBhI,IAAgBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAME,YAAah7B,KAAKylB,KAAO,IAC1E,EAAhBwX,EAAoBhI,IAAiBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAME,YAAah7B,KAAKylB,KAAO,GAC1FwX,EAAkBhI,IAAmBj1B,KAAKua,MAAQ1Y,EAASi5B,MAAME,YAAah7B,KAAKylB,KAAO,KAShG5jB,EAASmQ,UAAU0gB,KAAO,SAASwK,GACjC,GAAI/F,GAAQ,GAAIlzB,MAAKi5B,EAAKv2B,UAE1B,IAAI3G,KAAKua,OAAS1Y,EAASi5B,MAAMQ,KAAM,CACrC,GAAI6B,GAAOhG,EAAMsE,cAAgB52B,KAAKsmB,MAAMgM,EAAMkF,WAAa,GAC/DlF,GAAMqE,YAAY32B,KAAKsmB,MAAMgS,EAAOn9B,KAAKylB,MAAQzlB,KAAKylB,MACtD0R,EAAMuE,SAAS,GACfvE,EAAMwE,QAAQ,GACdxE,EAAMyE,SAAS,GACfzE,EAAM0E,WAAW,GACjB1E,EAAM2E,WAAW,GACjB3E,EAAM4E,gBAAgB,OAEnB,IAAI/7B,KAAKua,OAAS1Y,EAASi5B,MAAMO,MAChClE,EAAMiF,UAAY,IACpBjF,EAAMwE,QAAQ,GACdxE,EAAMuE,SAASvE,EAAMkF,WAAa,IAIlClF,EAAMwE,QAAQ,GAGhBxE,EAAMyE,SAAS,GACfzE,EAAM0E,WAAW,GACjB1E,EAAM2E,WAAW,GACjB3E,EAAM4E,gBAAgB,OAEnB,IAAI/7B,KAAKua,OAAS1Y,EAASi5B,MAAMC,IAAK,CAEzC,OAAQ/6B,KAAKylB,MACX,IAAK,GACL,IAAK,GACH0R,EAAMyE,SAA6C,GAApC/2B,KAAKsmB,MAAMgM,EAAMgF,WAAa,IAAW,MAC1D,SACEhF,EAAMyE,SAA6C,GAApC/2B,KAAKsmB,MAAMgM,EAAMgF,WAAa,KAEjDhF,EAAM0E,WAAW,GACjB1E,EAAM2E,WAAW,GACjB3E,EAAM4E,gBAAgB,OAEnB,IAAI/7B,KAAKua,OAAS1Y,EAASi5B,MAAMM,QAAS,CAE7C,OAAQp7B,KAAKylB,MACX,IAAK,GACL,IAAK,GACH0R,EAAMyE,SAA6C,GAApC/2B,KAAKsmB,MAAMgM,EAAMgF,WAAa,IAAW,MAC1D,SACEhF,EAAMyE,SAA4C,EAAnC/2B,KAAKsmB,MAAMgM,EAAMgF,WAAa,IAEjDhF,EAAM0E,WAAW,GACjB1E,EAAM2E,WAAW,GACjB3E,EAAM4E,gBAAgB,OAEnB,IAAI/7B,KAAKua,OAAS1Y,EAASi5B,MAAMK,KAAM,CAC1C,OAAQn7B,KAAKylB,MACX,IAAK,GACH0R,EAAM0E,WAAiD,GAAtCh3B,KAAKsmB,MAAMgM,EAAM+E,aAAe,IAAW,MAC9D,SACE/E,EAAM0E,WAAiD,GAAtCh3B,KAAKsmB,MAAMgM,EAAM+E,aAAe,KAErD/E,EAAM2E,WAAW,GACjB3E,EAAM4E,gBAAgB,OACjB,IAAI/7B,KAAKua,OAAS1Y,EAASi5B,MAAMI,OAAQ,CAE9C,OAAQl7B,KAAKylB,MACX,IAAK,IACL,IAAK,IACH0R,EAAM0E,WAAgD,EAArCh3B,KAAKsmB,MAAMgM,EAAM+E,aAAe,IACjD/E,EAAM2E,WAAW,EACjB,MACF,KAAK,GACH3E,EAAM2E,WAAiD,GAAtCj3B,KAAKsmB,MAAMgM,EAAM8E,aAAe,IAAW,MAC9D,SACE9E,EAAM2E,WAAiD,GAAtCj3B,KAAKsmB,MAAMgM,EAAM8E,aAAe,KAErD9E,EAAM4E,gBAAgB,OAEnB,IAAI/7B,KAAKua,OAAS1Y,EAASi5B,MAAMG,OAEpC,OAAQj7B,KAAKylB,MACX,IAAK,IACL,IAAK,IACH0R,EAAM2E,WAAgD,EAArCj3B,KAAKsmB,MAAMgM,EAAM8E,aAAe,IACjD9E,EAAM4E,gBAAgB,EACtB,MACF,KAAK,GACH5E,EAAM4E,gBAA6D,IAA7Cl3B,KAAKsmB,MAAMgM,EAAM6E,kBAAoB,KAAe,MAC5E,SACE7E,EAAM4E,gBAA4D,IAA5Cl3B,KAAKsmB,MAAMgM,EAAM6E,kBAAoB,UAG5D,IAAIh8B,KAAKua,OAAS1Y,EAASi5B,MAAME,YAAa,CACjD,GAAIvV,GAAOzlB,KAAKylB,KAAO,EAAIzlB,KAAKylB,KAAO,EAAI,CAC3C0R,GAAM4E,gBAAgBl3B,KAAKsmB,MAAMgM,EAAM6E,kBAAoBvW,GAAQA,GAGrE,MAAO0R,IAQTt1B,EAASmQ,UAAU6kB,QAAU,WAC3B,OAAQ72B,KAAKua,OACX,IAAK1Y,GAASi5B,MAAME,YAClB,MAA0C,IAAlCh7B,KAAKo1B,QAAQ4G,iBACvB,KAAKn6B,GAASi5B,MAAMG,OAClB,MAAqC,IAA7Bj7B,KAAKo1B,QAAQ6G,YACvB,KAAKp6B,GAASi5B,MAAMI,OAClB,MAAmC,IAA3Bl7B,KAAKo1B,QAAQ+G,YAAkD,GAA7Bn8B,KAAKo1B,QAAQ8G,YAEzD,KAAKr6B,GAASi5B,MAAMK,KAClB,MAAmC,IAA3Bn7B,KAAKo1B,QAAQ+G,UACvB,KAAKt6B,GAASi5B,MAAMM,QACpB,IAAKv5B,GAASi5B,MAAMC,IAClB,MAAkC,IAA1B/6B,KAAKo1B,QAAQgH,SACvB,KAAKv6B,GAASi5B,MAAMO,MAClB,MAAmC,IAA3Br7B,KAAKo1B,QAAQiH,UACvB,KAAKx6B,GAASi5B,MAAMQ,KAClB,OAAO,CACT,SACE,OAAO,IAWbz5B,EAASmQ,UAAUorB,cAAgB,SAASF,GAK1C,OAJY/2B,QAAR+2B,IACFA,EAAOl9B,KAAKo1B,SAGNp1B,KAAKua,OACX,IAAK1Y,GAASi5B,MAAME,YAAc,MAAOv3B,GAAOy5B,GAAMG,OAAO,MAC7D,KAAKx7B,GAASi5B,MAAMG,OAAc,MAAOx3B,GAAOy5B,GAAMG,OAAO,IAC7D,KAAKx7B,GAASi5B,MAAMI,OAAc,MAAOz3B,GAAOy5B,GAAMG,OAAO,QAC7D,KAAKx7B,GAASi5B,MAAMK,KAAc,MAAO13B,GAAOy5B,GAAMG,OAAO,QAC7D,KAAKx7B,GAASi5B,MAAMM,QAAc,MAAO33B,GAAOy5B,GAAMG,OAAO,QAC7D,KAAKx7B,GAASi5B,MAAMC,IAAc,MAAOt3B,GAAOy5B,GAAMG,OAAO,IAC7D,KAAKx7B,GAASi5B,MAAMO,MAAc,MAAO53B,GAAOy5B,GAAMG,OAAO,MAC7D,KAAKx7B,GAASi5B,MAAMQ,KAAc,MAAO73B,GAAOy5B,GAAMG,OAAO,OAC7D,SAAkC,MAAO,KAW7Cx7B,EAASmQ,UAAUsrB,cAAgB,SAASJ,GAM1C,OALY/2B,QAAR+2B,IACFA,EAAOl9B,KAAKo1B,SAINp1B,KAAKua,OACX,IAAK1Y,GAASi5B,MAAME,YAAY,MAAOv3B,GAAOy5B,GAAMG,OAAO,WAC3D,KAAKx7B,GAASi5B,MAAMG,OAAY,MAAOx3B,GAAOy5B,GAAMG,OAAO,eAC3D,KAAKx7B,GAASi5B,MAAMI,OACpB,IAAKr5B,GAASi5B,MAAMK,KAAY,MAAO13B,GAAOy5B,GAAMG,OAAO,aAC3D,KAAKx7B,GAASi5B,MAAMM,QACpB,IAAKv5B,GAASi5B,MAAMC,IAAY,MAAOt3B,GAAOy5B,GAAMG,OAAO,YAC3D,KAAKx7B,GAASi5B,MAAMO,MAAY,MAAO53B,GAAOy5B,GAAMG,OAAO,OAC3D,KAAKx7B,GAASi5B,MAAMQ,KAAY,MAAO,EACvC,SAAgC,MAAO,KAI3Cz7B,EAAOD,QAAUiC,GAKb,SAAShC,GAOb,QAASuC,KACPpC,KAAK8N,QAAU,KACf9N,KAAK2F,MAAQ,KAQfvD,EAAU4P,UAAUoI,WAAa,SAAStM,GACpCA,GACFnN,KAAKsE,OAAOjF,KAAK8N,QAASA,IAQ9B1L,EAAU4P,UAAU+M,OAAS,WAE3B,OAAO,GAMT3c,EAAU4P,UAAUurB,QAAU,aAU9Bn7B,EAAU4P,UAAUwrB,WAAa,WAC/B,GAAIC,GAAWz9B,KAAK2F,MAAM+3B,iBAAmB19B,KAAK2F,MAAM0L,OACpDrR,KAAK2F,MAAMg4B,kBAAoB39B,KAAK2F,MAAM2L,MAK9C,OAHAtR,MAAK2F,MAAM+3B,eAAiB19B,KAAK2F,MAAM0L,MACvCrR,KAAK2F,MAAMg4B,gBAAkB39B,KAAK2F,MAAM2L,OAEjCmsB,GAGT59B,EAAOD,QAAUwC,GAKb,SAASvC,EAAQD,EAASM,GAe9B,QAASmC,GAAaiwB,EAAMxkB,GAC1B9N,KAAKsyB,KAAOA,EAGZtyB,KAAKgyB,gBACH4L,iBAAiB,EAEjBC,QAASA,EACTC,OAAQ,MAEV99B,KAAK8N,QAAUnN,EAAKsE,UAAWjF,KAAKgyB,gBACpChyB,KAAKinB,OAAS,EAEdjnB,KAAKqyB,UAELryB,KAAKoa,WAAWtM,GA5BlB,GAAInN,GAAOT,EAAoB,GAC3BkC,EAAYlC,EAAoB,IAChCuD,EAASvD,EAAoB,IAC7B29B,EAAU39B,EAAoB,GA4BlCmC,GAAY2P,UAAY,GAAI5P,GAM5BC,EAAY2P,UAAUqgB,QAAU,WAC9B,GAAI1C,GAAMvf,SAASM,cAAc,MACjCif,GAAIhoB,UAAY,cAChBgoB,EAAI1e,MAAMiQ,SAAW,WACrByO,EAAI1e,MAAMzJ,IAAM,MAChBmoB,EAAI1e,MAAMK,OAAS,OAEnBtR,KAAK2vB,IAAMA,GAMbttB,EAAY2P,UAAUurB,QAAU,WAC9Bv9B,KAAK8N,QAAQ8vB,iBAAkB,EAC/B59B,KAAK+e,SAEL/e,KAAKsyB,KAAO,MAQdjwB,EAAY2P,UAAUoI,WAAa,SAAStM,GACtCA,GAEFnN,EAAK+E,iBAAiB,kBAAmB,SAAU,WAAY1F,KAAK8N,QAASA,IAQjFzL,EAAY2P,UAAU+M,OAAS,WAC7B,GAAI/e,KAAK8N,QAAQ8vB,gBAAiB,CAChC,GAAIG,GAAS/9B,KAAKsyB,KAAK5E,IAAIsQ,kBACvBh+B,MAAK2vB,IAAIjmB,YAAcq0B,IAErB/9B,KAAK2vB,IAAIjmB,YACX1J,KAAK2vB,IAAIjmB,WAAWsG,YAAYhQ,KAAK2vB,KAEvCoO,EAAOztB,YAAYtQ,KAAK2vB,KAExB3vB,KAAK8O,QAGP,IAAIgoB,GAAM,GAAI7yB,OAAK,GAAIA,OAAO0C,UAAY3G,KAAKinB,QAC3CrW,EAAI5Q,KAAKsyB,KAAK3xB,KAAKgyB,SAASmE,GAE5BgH,EAAS99B,KAAK8N,QAAQ+vB,QAAQ79B,KAAK8N,QAAQgwB,QAC3CG,EAAQH,EAAO1I,QAAU,IAAM0I,EAAOtF,KAAO,KAAO/0B,EAAOqzB,GAAKuG,OAAO,8BAC3EY,GAAQA,EAAMvb,OAAO,GAAGzW,cAAgBgyB,EAAM/xB,UAAU,GAExDlM,KAAK2vB,IAAI1e,MAAM7J,KAAOwJ,EAAI,KAC1B5Q,KAAK2vB,IAAIsO,MAAQA,MAIbj+B,MAAK2vB,IAAIjmB,YACX1J,KAAK2vB,IAAIjmB,WAAWsG,YAAYhQ,KAAK2vB,KAEvC3vB,KAAKwiB,MAGP,QAAO,GAMTngB,EAAY2P,UAAUlD,MAAQ,WAG5B,QAAS0E,KACPX,EAAG2P,MAGH,IAAIjI,GAAQ1H,EAAGyf,KAAKpkB,MAAMkrB,WAAWvmB,EAAGyf,KAAKC,SAAS9I,OAAOpY,OAAOkJ,MAChE+V,EAAW,EAAI/V,EAAQ,EACZ,IAAX+V,IAAiBA,EAAW,IAC5BA,EAAW,MAAMA,EAAW,KAEhCzd,EAAGkM,SAGHlM,EAAGqrB,iBAAmBnS,WAAWvY,EAAQ8c,GAd3C,GAAIzd,GAAK7S,IAiBTwT,MAMFnR,EAAY2P,UAAUwQ,KAAO,WACGrc,SAA1BnG,KAAKk+B,mBACPxS,aAAa1rB,KAAKk+B,wBACXl+B,MAAKk+B,mBAUhB77B,EAAY2P,UAAUmsB,eAAiB,SAAS3F,GAC9C,GAAIrrB,GAAIxM,EAAK6F,QAAQgyB,EAAM,QAAQ7xB,UAC/BmwB,GAAM,GAAI7yB,OAAO0C,SACrB3G,MAAKinB,OAAS9Z,EAAI2pB,EAClB92B,KAAK+e,UAOP1c,EAAY2P,UAAUosB,eAAiB,WACrC,MAAO,IAAIn6B,OAAK,GAAIA,OAAO0C,UAAY3G,KAAKinB,SAG9CpnB,EAAOD,QAAUyC,GAKb,SAASxC,EAAQD,EAASM,GAiB9B,QAASoC,GAAYgwB,EAAMxkB,GACzB9N,KAAKsyB,KAAOA,EAGZtyB,KAAKgyB,gBACHqM,gBAAgB,EAChBR,QAASA,EACTC,OAAQ,MAEV99B,KAAK8N,QAAUnN,EAAKsE,UAAWjF,KAAKgyB,gBAEpChyB,KAAKqzB,WAAa,GAAIpvB,MACtBjE,KAAKs+B,eAGLt+B,KAAKqyB,UAELryB,KAAKoa,WAAWtM,GAhClB,GAAIywB,GAASr+B,EAAoB,IAC7BS,EAAOT,EAAoB,GAC3BkC,EAAYlC,EAAoB,IAChCuD,EAASvD,EAAoB,IAC7B29B,EAAU39B,EAAoB,GA+BlCoC,GAAW0P,UAAY,GAAI5P,GAO3BE,EAAW0P,UAAUoI,WAAa,SAAStM,GACrCA,GAEFnN,EAAK+E,iBAAiB,iBAAkB,SAAU,WAAY1F,KAAK8N,QAASA,IAQhFxL,EAAW0P,UAAUqgB,QAAU,WAC7B,GAAI1C,GAAMvf,SAASM,cAAc,MACjCif,GAAIhoB,UAAY,aAChBgoB,EAAI1e,MAAMiQ,SAAW,WACrByO,EAAI1e,MAAMzJ,IAAM,MAChBmoB,EAAI1e,MAAMK,OAAS,OACnBtR,KAAK2vB,IAAMA,CAEX,IAAI6O,GAAOpuB,SAASM,cAAc,MAClC8tB,GAAKvtB,MAAMiQ,SAAW,WACtBsd,EAAKvtB,MAAMzJ,IAAM,MACjBg3B,EAAKvtB,MAAM7J,KAAO,QAClBo3B,EAAKvtB,MAAMK,OAAS,OACpBktB,EAAKvtB,MAAMI,MAAQ,OACnBse,EAAIrf,YAAYkuB,GAGhBx+B,KAAK0D,OAAS66B,EAAO5O,GACnB8O,iBAAiB,IAEnBz+B,KAAK0D,OAAOuO,GAAG,YAAajS,KAAK23B,aAAalF,KAAKzyB,OACnDA,KAAK0D,OAAOuO,GAAG,OAAajS,KAAK43B,QAAQnF,KAAKzyB,OAC9CA,KAAK0D,OAAOuO,GAAG,UAAajS,KAAK63B,WAAWpF,KAAKzyB,QAMnDsC,EAAW0P,UAAUurB,QAAU,WAC7Bv9B,KAAK8N,QAAQuwB,gBAAiB,EAC9Br+B,KAAK+e,SAEL/e,KAAK0D,OAAOg5B,QAAO,GACnB18B,KAAK0D,OAAS,KAEd1D,KAAKsyB,KAAO,MAOdhwB,EAAW0P,UAAU+M,OAAS,WAC5B,GAAI/e,KAAK8N,QAAQuwB,eAAgB,CAC/B,GAAIN,GAAS/9B,KAAKsyB,KAAK5E,IAAIsQ,kBACvBh+B,MAAK2vB,IAAIjmB,YAAcq0B,IAErB/9B,KAAK2vB,IAAIjmB,YACX1J,KAAK2vB,IAAIjmB,WAAWsG,YAAYhQ,KAAK2vB,KAEvCoO,EAAOztB,YAAYtQ,KAAK2vB,KAG1B,IAAI/e,GAAI5Q,KAAKsyB,KAAK3xB,KAAKgyB,SAAS3yB,KAAKqzB,YAEjCyK,EAAS99B,KAAK8N,QAAQ+vB,QAAQ79B,KAAK8N,QAAQgwB,QAC3CG,EAAQH,EAAOtF,KAAO,KAAO/0B,EAAOzD,KAAKqzB,YAAYgK,OAAO,8BAChEY,GAAQA,EAAMvb,OAAO,GAAGzW,cAAgBgyB,EAAM/xB,UAAU,GAExDlM,KAAK2vB,IAAI1e,MAAM7J,KAAOwJ,EAAI,KAC1B5Q,KAAK2vB,IAAIsO,MAAQA,MAIbj+B,MAAK2vB,IAAIjmB,YACX1J,KAAK2vB,IAAIjmB,WAAWsG,YAAYhQ,KAAK2vB,IAIzC,QAAO,GAOTrtB,EAAW0P,UAAU0sB,cAAgB,SAASlG,GAC5Cx4B,KAAKqzB,WAAa1yB,EAAK6F,QAAQgyB,EAAM,QACrCx4B,KAAK+e,UAOPzc,EAAW0P,UAAU2sB,cAAgB,WACnC,MAAO,IAAI16B,MAAKjE,KAAKqzB,WAAW1sB;EAQlCrE,EAAW0P,UAAU2lB,aAAe,SAASvuB,GAC3CpJ,KAAKs+B,YAAY/F,UAAW,EAC5Bv4B,KAAKs+B,YAAYjL,WAAarzB,KAAKqzB,WAEnCjqB,EAAMw1B,kBACNx1B,EAAMD,kBAQR7G,EAAW0P,UAAU4lB,QAAU,SAAUxuB,GACvC,GAAKpJ,KAAKs+B,YAAY/F,SAAtB,CAEA,GAAIgB,GAASnwB,EAAMkwB,QAAQC,OACvB3oB,EAAI5Q,KAAKsyB,KAAK3xB,KAAKgyB,SAAS3yB,KAAKs+B,YAAYjL,YAAckG,EAC3Df,EAAOx4B,KAAKsyB,KAAK3xB,KAAKoyB,OAAOniB,EAEjC5Q,MAAK0+B,cAAclG,GAGnBx4B,KAAKsyB,KAAKE,QAAQnH,KAAK,cACrBmN,KAAM,GAAIv0B,MAAKjE,KAAKqzB,WAAW1sB,aAGjCyC,EAAMw1B,kBACNx1B,EAAMD,mBAQR7G,EAAW0P,UAAU6lB,WAAa,SAAUzuB,GACrCpJ,KAAKs+B,YAAY/F,WAGtBv4B,KAAKsyB,KAAKE,QAAQnH,KAAK,eACrBmN,KAAM,GAAIv0B,MAAKjE,KAAKqzB,WAAW1sB,aAGjCyC,EAAMw1B,kBACNx1B,EAAMD,mBAGRtJ,EAAOD,QAAU0C,GAKb,SAASzC,EAAQD,EAASM,GAe9B,QAASqC,GAAU+vB,EAAMxkB,EAAS+wB,EAAKC,GACrC9+B,KAAKK,GAAKM,EAAKgE,aACf3E,KAAKsyB,KAAOA,EAEZtyB,KAAKgyB,gBACHE,YAAa,OACb6M,iBAAiB,EACjBC,iBAAiB,EACjBC,OAAO,EACPC,iBAAkB,EAClBC,iBAAkB,EAClBC,aAAc,GACdC,aAAc,EACdC,UAAW,GACXjuB,MAAO,OACP2U,SAAS,EACTmP,aACE/tB,MAAOiE,IAAIlF,OAAW2G,IAAI3G,QAC1Bwe,OAAQtZ,IAAIlF,OAAW2G,IAAI3G,UAI/BnG,KAAK8+B,iBAAmBA,EACxB9+B,KAAKu/B,aAAeV,EACpB7+B,KAAK2F,SACL3F,KAAKw/B,aACHC,SACAC,WAGF1/B,KAAK0tB,OAEL1tB,KAAKkO,OAASY,MAAM,EAAGS,IAAI,GAE3BvP,KAAK8N,QAAUnN,EAAKsE,UAAWjF,KAAKgyB,gBACpChyB,KAAK2/B,iBAAmB,EAExB3/B,KAAKoa,WAAWtM,GAChB9N,KAAKqR,MAAQxN,QAAQ,GAAK7D,KAAK8N,QAAQuD,OAAOrF,QAAQ,KAAK,KAC3DhM,KAAK4/B,SAAW5/B,KAAKqR,MACrBrR,KAAKsR,OAAStR,KAAKu/B,aAAatR,aAEhCjuB,KAAK6/B,WAAa,GAClB7/B,KAAK8/B,iBAAmB,GACxB9/B,KAAK+/B,WAAa,EAClB//B,KAAKggC,QAAS,EACdhgC,KAAKigC,eAGLjgC,KAAKi0B,UACLj0B,KAAKkgC,eAAiB,EAGtBlgC,KAAKqyB,UAlEP,GAAI1xB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BkC,EAAYlC,EAAoB,IAChCwB,EAAWxB,EAAoB,GAkEnCqC,GAASyP,UAAY,GAAI5P,GAIzBG,EAASyP,UAAUmuB,SAAW,SAASpa,EAAOqa,GACvCpgC,KAAKi0B,OAAOxuB,eAAesgB,KAC9B/lB,KAAKi0B,OAAOlO,GAASqa,GAEvBpgC,KAAKkgC,gBAAkB,GAGzB39B,EAASyP,UAAUquB,YAAc,SAASta,EAAOqa,GAC/CpgC,KAAKi0B,OAAOlO,GAASqa,GAGvB79B,EAASyP,UAAUsuB,YAAc,SAASva,GACpC/lB,KAAKi0B,OAAOxuB,eAAesgB,WACtB/lB,MAAKi0B,OAAOlO,GACnB/lB,KAAKkgC,gBAAkB,IAK3B39B,EAASyP,UAAUoI,WAAa,SAAUtM,GACxC,GAAIA,EAAS,CACX,GAAIiR,IAAS,CACT/e,MAAK8N,QAAQokB,aAAepkB,EAAQokB,aAAuC/rB,SAAxB2H,EAAQokB,cAC7DnT,GAAS,EAEX,IAAIxR,IACF,cACA,kBACA,kBACA,QACA,mBACA,mBACA,eACA,eACA,YACA,QACA,UACA,cAEF5M,GAAK+E,gBAAgB6H,EAAQvN,KAAK8N,QAASA,GAE3C9N,KAAK4/B,SAAW/7B,QAAQ,GAAK7D,KAAK8N,QAAQuD,OAAOrF,QAAQ,KAAK,KAEhD,GAAV+S,GAAkB/e,KAAK0tB,IAAI9Q,QAC7B5c,KAAKugC,OACLvgC,KAAKwgC,UASXj+B,EAASyP,UAAUqgB,QAAU,WAC3BryB,KAAK0tB,IAAI9Q,MAAQxM,SAASM,cAAc,OACxC1Q,KAAK0tB,IAAI9Q,MAAM3L,MAAMI,MAAQrR,KAAK8N,QAAQuD,MAC1CrR,KAAK0tB,IAAI9Q,MAAM3L,MAAMK,OAAStR,KAAKsR,OAEnCtR,KAAK0tB,IAAI+S,cAAgBrwB,SAASM,cAAc,OAChD1Q,KAAK0tB,IAAI+S,cAAcxvB,MAAMI,MAAQ,OACrCrR,KAAK0tB,IAAI+S,cAAcxvB,MAAMK,OAAStR,KAAKsR,OAG3CtR,KAAK6+B,IAAMzuB,SAASC,gBAAgB,6BAA6B,OACjErQ,KAAK6+B,IAAI5tB,MAAMiQ,SAAW,WAC1BlhB,KAAK6+B,IAAI5tB,MAAMzJ,IAAM,MACrBxH,KAAK6+B,IAAI5tB,MAAMK,OAAS,OACxBtR,KAAK6+B,IAAI5tB,MAAMI,MAAQ,OACvBrR,KAAK6+B,IAAI5tB,MAAMyvB,QAAU,QACzB1gC,KAAK0tB,IAAI9Q,MAAMtM,YAAYtQ,KAAK6+B,MAGlCt8B,EAASyP,UAAU2uB,kBAAoB,WACrC//B,EAAQ8O,gBAAgB1P,KAAKigC,YAE7B,IAAIrvB,GACA0uB,EAAYt/B,KAAK8N,QAAQwxB,UACzBsB,EAAa,GACbC,EAAa,EACbhwB,EAAIgwB,EAAa,GAAMD,CAGzBhwB,GAD8B,QAA5B5Q,KAAK8N,QAAQokB,YACX2O,EAGA7gC,KAAKqR,MAAQiuB,EAAYuB,CAG/B,KAAK,GAAI/L,KAAW90B,MAAKi0B,OACnBj0B,KAAKi0B,OAAOxuB,eAAeqvB,KACO,GAAhC90B,KAAKi0B,OAAOa,GAAS9O,SAAkE7f,SAA9CnG,KAAK8+B,iBAAiB9J,WAAWF,IAAuE,GAA7C90B,KAAK8+B,iBAAiB9J,WAAWF,KACvI90B,KAAKi0B,OAAOa,GAASgM,SAASlwB,EAAGC,EAAG7Q,KAAKigC,YAAajgC,KAAK6+B,IAAKS,EAAWsB,GAC3E/vB,GAAK+vB,EAAaC,GAKxBjgC,GAAQmP,gBAAgB/P,KAAKigC,cAM/B19B,EAASyP,UAAUwuB,KAAO,WACnBxgC,KAAK0tB,IAAI9Q,MAAMlT,aACc,QAA5B1J,KAAK8N,QAAQokB,YACflyB,KAAKsyB,KAAK5E,IAAItmB,KAAKkJ,YAAYtQ,KAAK0tB,IAAI9Q,OAGxC5c,KAAKsyB,KAAK5E,IAAI/I,MAAMrU,YAAYtQ,KAAK0tB,IAAI9Q,QAIxC5c,KAAK0tB,IAAI+S,cAAc/2B,YAC1B1J,KAAKsyB,KAAK5E,IAAIqT,qBAAqBzwB,YAAYtQ,KAAK0tB,IAAI+S,gBAO5Dl+B,EAASyP,UAAUuuB,KAAO,WACpBvgC,KAAK0tB,IAAI9Q,MAAMlT,YACjB1J,KAAK0tB,IAAI9Q,MAAMlT,WAAWsG,YAAYhQ,KAAK0tB,IAAI9Q,OAG7C5c,KAAK0tB,IAAI+S,cAAc/2B,YACzB1J,KAAK0tB,IAAI+S,cAAc/2B,WAAWsG,YAAYhQ,KAAK0tB,IAAI+S,gBAU3Dl+B,EAASyP,UAAUqf,SAAW,SAAUviB,EAAOS,GAC7CvP,KAAKkO,MAAMY,MAAQA,EACnB9O,KAAKkO,MAAMqB,IAAMA,GAOnBhN,EAASyP,UAAU+M,OAAS,WAC1B,GAAIiiB,IAAe,EACfC,EAAe,CACnB,KAAK,GAAInM,KAAW90B,MAAKi0B,OACnBj0B,KAAKi0B,OAAOxuB,eAAeqvB,KACO,GAAhC90B,KAAKi0B,OAAOa,GAAS9O,SAAkE7f,SAA9CnG,KAAK8+B,iBAAiB9J,WAAWF,IAAuE,GAA7C90B,KAAK8+B,iBAAiB9J,WAAWF,IACvImM,IAIN,IAA2B,GAAvBjhC,KAAKkgC,gBAAuC,GAAhBe,EAC9BjhC,KAAKugC,WAEF,CACHvgC,KAAKwgC,OACLxgC,KAAKsR,OAASzN,OAAO7D,KAAKu/B,aAAatuB,MAAMK,OAAOtF,QAAQ,KAAK,KAGjEhM,KAAK0tB,IAAI+S,cAAcxvB,MAAMK,OAAStR,KAAKsR,OAAS,KACpDtR,KAAKqR,MAAgC,GAAxBrR,KAAK8N,QAAQkY,QAAkBniB,QAAQ,GAAK7D,KAAK8N,QAAQuD,OAAOrF,QAAQ,KAAK,KAAO,CAEjG,IAAIrG,GAAQ3F,KAAK2F,MACbiX,EAAQ5c,KAAK0tB,IAAI9Q,KAGrBA,GAAMjV,UAAY,WAGlB3H,KAAKkhC,oBAEL,IAAIhP,GAAclyB,KAAK8N,QAAQokB,YAC3B6M,EAAkB/+B,KAAK8N,QAAQixB,gBAC/BC,EAAkBh/B,KAAK8N,QAAQkxB,eAGnCr5B,GAAMw7B,iBAAmBpC,EAAkBp5B,EAAMy7B,gBAAkB,EACnEz7B,EAAM07B,iBAAmBrC,EAAkBr5B,EAAM27B,gBAAkB,EAEnE37B,EAAM47B,eAAiBvhC,KAAKsyB,KAAK5E,IAAIqT,qBAAqBhT,YAAc/tB,KAAK+/B,WAAa//B,KAAKqR,MAAQ,EAAIrR,KAAK8N,QAAQqxB,iBACxHx5B,EAAM67B,gBAAkB,EACxB77B,EAAM87B,eAAiBzhC,KAAKsyB,KAAK5E,IAAIqT,qBAAqBhT,YAAc/tB,KAAK+/B,WAAa//B,KAAKqR,MAAQ,EAAIrR,KAAK8N,QAAQoxB,iBACxHv5B,EAAM+7B,gBAAkB,EAGL,QAAfxP,GACFtV,EAAM3L,MAAMzJ,IAAM,IAClBoV,EAAM3L,MAAM7J,KAAO,IACnBwV,EAAM3L,MAAM2P,OAAS,GACrBhE,EAAM3L,MAAMI,MAAQrR,KAAKqR,MAAQ,KACjCuL,EAAM3L,MAAMK,OAAStR,KAAKsR,OAAS,OAGnCsL,EAAM3L,MAAMzJ,IAAM,GAClBoV,EAAM3L,MAAM2P,OAAS,IACrBhE,EAAM3L,MAAM7J,KAAO,IACnBwV,EAAM3L,MAAMI,MAAQrR,KAAKqR,MAAQ,KACjCuL,EAAM3L,MAAMK,OAAStR,KAAKsR,OAAS,MAErC0vB,EAAehhC,KAAK2hC,gBACM,GAAtB3hC,KAAK8N,QAAQmxB,OACfj/B,KAAK2gC,oBAGT,MAAOK,IAOTz+B,EAASyP,UAAU2vB,cAAgB,WACjC/gC,EAAQ8O,gBAAgB1P,KAAKw/B,YAAYC,OACzC7+B,EAAQ8O,gBAAgB1P,KAAKw/B,YAAYE,OAEzC,IAAIxN,GAAclyB,KAAK8N,QAAqB,YAGxCmnB,EAAcj1B,KAAKggC,OAAShgC,KAAK2F,MAAM27B,iBAAmB,GAAKthC,KAAK8/B,iBACpEra,EAAO,GAAI/jB,GAAS1B,KAAKkO,MAAMY,MAAO9O,KAAKkO,MAAMqB,IAAK0lB,EAAaj1B,KAAK0tB,IAAI9Q,MAAMqR,aAAcjuB,KAAK8N,QAAQqnB,YAAYn1B,KAAK8N,QAAQokB,aAC1IlyB,MAAKylB,KAAOA,CAGZ,IAAIoa,IAAc7/B,KAAK0tB,IAAI9Q,MAAMqR,aAAgBxI,EAAKgQ,WAAaz1B,KAAK0tB,IAAI9Q,MAAMqR,aAAexI,EAAK+Q,gBAAoB/Q,EAAK+Q,YAAc/Q,EAAKgQ,WAAahQ,EAAKA,KACpKzlB,MAAK6/B,WAAaA,CAElB,IAAI+B,GAAgB5hC,KAAKsR,OAASuuB,EAC9BgC,EAAiB,CAErB,IAAmB,GAAf7hC,KAAKggC,OAAiB,CACxBH,EAAa7/B,KAAK8/B,iBAClB+B,EAAiBh9B,KAAKsmB,MAAOnrB,KAAK0tB,IAAI9Q,MAAMqR,aAAe4R,EAAc+B,EACzE,KAAK,GAAIz8B,GAAI,EAAO,GAAM08B,EAAV18B,EAA0BA,IACxCsgB,EAAKkR,UAEPiL,GAAgB5hC,KAAKsR,OAASuuB,MAG9B+B,IAAiB,GAInB5hC,MAAK8hC,YAAcrc,EAAK+P,SACxB,IAAIuM,GAAiB,EAGjBj1B,EAAM,CAEV9M,MAAKgiC,aAAe,CAEpB,KADA,GAAInxB,GAAI,EACD/D,EAAMjI,KAAKsmB,MAAMyW,IAAgB,CACtCnc,EAAKE,OACL9U,EAAIhM,KAAKsmB,MAAMre,EAAM+yB,GACrBkC,EAAiBj1B,EAAM+yB,CACvB,IAAIhJ,GAAUpR,EAAKoR,WAEf72B,KAAK8N,QAAyB,iBAAgB,GAAX+oB,GAAmC,GAAf72B,KAAKggC,QAAsD,GAAnChgC,KAAK8N,QAAyB,kBAC/G9N,KAAKiiC,aAAapxB,EAAI,EAAG4U,EAAKC,aAAcwM,EAAa,cAAelyB,KAAK2F,MAAMy7B,iBAGjFvK,GAAW72B,KAAK8N,QAAyB,iBAAoB,GAAf9N,KAAKggC,QAChB,GAAnChgC,KAAK8N,QAAyB,iBAA6B,GAAf9N,KAAKggC,QAA8B,GAAXnJ,GAClEhmB,GAAK,GACP7Q,KAAKiiC,aAAapxB,EAAI,EAAG4U,EAAKC,aAAcwM,EAAa,cAAelyB,KAAK2F,MAAM27B,iBAErFthC,KAAKkiC,YAAYrxB,EAAGqhB,EAAa,wBAAyBlyB,KAAK8N,QAAQoxB,iBAAkBl/B,KAAK2F,MAAM87B,iBAGpGzhC,KAAKkiC,YAAYrxB,EAAGqhB,EAAa,wBAAyBlyB,KAAK8N,QAAQqxB,iBAAkBn/B,KAAK2F,MAAM47B,gBAGtGz0B,IAIA9M,KAAK2/B,iBADY,GAAf3/B,KAAKggC,OACiBnvB,GAAK7Q,KAAK8hC,YAAcrc,EAAK2P,SAG7Bp1B,KAAK0tB,IAAI9Q,MAAMqR,aAAexI,EAAK+Q,WAG7D,IAAIvP,GAA+B,GAAtBjnB,KAAK8N,QAAQmxB,MAAgBj/B,KAAK8N,QAAQwxB,UAAYt/B,KAAK8N,QAAQsxB,aAAe,GAAKp/B,KAAK8N,QAAQsxB,aAAe,EAEhI,OAAIp/B,MAAKgiC,aAAgBhiC,KAAKqR,MAAQ4V,GAAmC,GAAxBjnB,KAAK8N,QAAQkY,SAC5DhmB,KAAKqR,MAAQrR,KAAKgiC,aAAe/a,EACjCjnB,KAAK8N,QAAQuD,MAAQrR,KAAKqR,MAAQ,KAClCzQ,EAAQmP,gBAAgB/P,KAAKw/B,YAAYC,OACzC7+B,EAAQmP,gBAAgB/P,KAAKw/B,YAAYE,QACzC1/B,KAAK+e,UACE,GAGA/e,KAAKgiC,aAAgBhiC,KAAKqR,MAAQ4V,GAAmC,GAAxBjnB,KAAK8N,QAAQkY,SAAmBhmB,KAAKqR,MAAQrR,KAAK4/B,UACtG5/B,KAAKqR,MAAQxM,KAAKiI,IAAI9M,KAAK4/B,SAAS5/B,KAAKgiC,aAAe/a,GACxDjnB,KAAK8N,QAAQuD,MAAQrR,KAAKqR,MAAQ,KAClCzQ,EAAQmP,gBAAgB/P,KAAKw/B,YAAYC,OACzC7+B,EAAQmP,gBAAgB/P,KAAKw/B,YAAYE,QACzC1/B,KAAK+e,UACE,IAGPne,EAAQmP,gBAAgB/P,KAAKw/B,YAAYC,OACzC7+B,EAAQmP,gBAAgB/P,KAAKw/B,YAAYE,SAClC,IAIXn9B,EAASyP,UAAUmwB,aAAe,SAAUn7B,GAC1C,GAAIo7B,GAAgBpiC,KAAK8hC,YAAc96B,EACnCq7B,EAAiBD,EAAgBpiC,KAAK2/B,gBAC1C,OAAO0C,IAYT9/B,EAASyP,UAAUiwB,aAAe,SAAUpxB,EAAGgW,EAAMqL,EAAavqB,EAAW26B,GAE3E,GAAIvc,GAAQnlB,EAAQ2P,cAAc,MAAMvQ,KAAKw/B,YAAYE,OAAQ1/B,KAAK0tB,IAAI9Q,MAC1EmJ,GAAMpe,UAAYA,EAClBoe,EAAMxE,UAAYsF,EACC,QAAfqL,GACFnM,EAAM9U,MAAM7J,KAAO,IAAMpH,KAAK8N,QAAQsxB,aAAe,KACrDrZ,EAAM9U,MAAM2U,UAAY,UAGxBG,EAAM9U,MAAM0T,MAAQ,IAAM3kB,KAAK8N,QAAQsxB,aAAe,KACtDrZ,EAAM9U,MAAM2U,UAAY,QAG1BG,EAAM9U,MAAMzJ,IAAMqJ,EAAI,GAAMyxB,EAAkBtiC,KAAK8N,QAAQuxB,aAAe,KAE1ExY,GAAQ,EAER,IAAI0b,GAAe19B,KAAKiI,IAAI9M,KAAK2F,MAAM68B,eAAexiC,KAAK2F,MAAM88B,eAC7DziC,MAAKgiC,aAAenb,EAAKvhB,OAASi9B,IACpCviC,KAAKgiC,aAAenb,EAAKvhB,OAASi9B,IAYtChgC,EAASyP,UAAUkwB,YAAc,SAAUrxB,EAAGqhB,EAAavqB,EAAWsf,EAAQ5V,GAC5E,GAAmB,GAAfrR,KAAKggC,OAAgB,CACvB,GAAIxS,GAAO5sB,EAAQ2P,cAAc,MAAMvQ,KAAKw/B,YAAYC,MAAOz/B,KAAK0tB,IAAI+S,cACxEjT,GAAK7lB,UAAYA,EACjB6lB,EAAKjM,UAAY,GAEE,QAAf2Q,EACF1E,EAAKvc,MAAM7J,KAAQpH,KAAKqR,MAAQ4V,EAAU,KAG1CuG,EAAKvc,MAAM0T,MAAS3kB,KAAKqR,MAAQ4V,EAAU,KAG7CuG,EAAKvc,MAAMI,MAAQA,EAAQ,KAC3Bmc,EAAKvc,MAAMzJ,IAAMqJ,EAAI,OAazBtO,EAASyP,UAAUkvB,mBAAqB,WAEtC,KAAM,mBAAqBlhC,MAAK2F,OAAQ,CACtC,GAAI+8B,GAAYtyB,SAASuyB,eAAe,KACpCC,EAAmBxyB,SAASM,cAAc,MAC9CkyB,GAAiBj7B,UAAY,sBAC7Bi7B,EAAiBtyB,YAAYoyB,GAC7B1iC,KAAK0tB,IAAI9Q,MAAMtM,YAAYsyB,GAE3B5iC,KAAK2F,MAAMy7B,gBAAkBwB,EAAiBzgB,aAC9CniB,KAAK2F,MAAM88B,eAAiBG,EAAiB9lB,YAE7C9c,KAAK0tB,IAAI9Q,MAAM5M,YAAY4yB,GAG7B,KAAM,mBAAqB5iC,MAAK2F,OAAQ,CACtC,GAAIk9B,GAAYzyB,SAASuyB,eAAe,KACpCG,EAAmB1yB,SAASM,cAAc,MAC9CoyB,GAAiBn7B,UAAY,sBAC7Bm7B,EAAiBxyB,YAAYuyB,GAC7B7iC,KAAK0tB,IAAI9Q,MAAMtM,YAAYwyB,GAE3B9iC,KAAK2F,MAAM27B,gBAAkBwB,EAAiB3gB,aAC9CniB,KAAK2F,MAAM68B,eAAiBM,EAAiBhmB,YAE7C9c,KAAK0tB,IAAI9Q,MAAM5M,YAAY8yB,KAU/BvgC,EAASyP,UAAU0gB,KAAO,SAASwK,GACjC,MAAOl9B,MAAKylB,KAAKiN,KAAKwK,IAGxBr9B,EAAOD,QAAU2C,GAKb,SAAS1C,EAAQD,EAASM,GAW9B,QAASsC,GAAYsO,EAAOgkB,EAAShnB,EAASi1B,GAC5C/iC,KAAKK,GAAKy0B,CACV,IAAIvnB,IAAU,WAAW,QAAQ,OAAO,mBAAmB,WAAW,aAAa,SAAS,aAC5FvN,MAAK8N,QAAUnN,EAAK2M,sBAAsBC,EAAOO,GACjD9N,KAAKgjC,kBAAwC78B,SAApB2K,EAAMnJ,UAC/B3H,KAAK+iC,yBAA2BA,EAChC/iC,KAAKijC,aAAe,EACpBjjC,KAAKwT,OAAO1C,GACkB,GAA1B9Q,KAAKgjC,oBACPhjC,KAAK+iC,yBAAyB,IAAM,GAEtC/iC,KAAKuzB,aACLvzB,KAAKgmB,QAA4B7f,SAAlB2K,EAAMkV,SAAwB,EAAOlV,EAAMkV,QArB5D,GAAIrlB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,EAuBlCsC,GAAWwP,UAAUyhB,SAAW,SAAS1xB,GAC1B,MAATA,GACF/B,KAAKuzB,UAAYxxB,EACQ,GAArB/B,KAAK8N,QAAQgH,MACf9U,KAAKuzB,UAAUze,KAAK,SAAU5P,EAAEa,GAAI,MAAOb,GAAE0L,EAAI7K,EAAE6K,KAIrD5Q,KAAKuzB,cAIT/wB,EAAWwP,UAAUkxB,gBAAkB,SAASrgB,GAC9C7iB,KAAKijC,aAAepgB,GAGtBrgB,EAAWwP,UAAUoI,WAAa,SAAStM,GACzC,GAAgB3H,SAAZ2H,EAAuB,CACzB,GAAIP,IAAU,WAAW,QAAQ,OAAO,mBAAmB,WAC3D5M,GAAKmF,oBAAoByH,EAAQvN,KAAK8N,QAASA,GAE/CnN,EAAKiN,aAAa5N,KAAK8N,QAASA,EAAQ,cACxCnN,EAAKiN,aAAa5N,KAAK8N,QAASA,EAAQ,cACxCnN,EAAKiN,aAAa5N,KAAK8N,QAASA,EAAQ,UAEpCA,EAAQq1B,YACuB,gBAAtBr1B,GAAQq1B,YACbr1B,EAAQq1B,WAAWC,kBACqB,WAAtCt1B,EAAQq1B,WAAWC,gBACrBpjC,KAAK8N,QAAQq1B,WAAWE,MAAQ,EAEa,WAAtCv1B,EAAQq1B,WAAWC,gBAC1BpjC,KAAK8N,QAAQq1B,WAAWE,MAAQ,GAGhCrjC,KAAK8N,QAAQq1B,WAAWC,gBAAkB,cAC1CpjC,KAAK8N,QAAQq1B,WAAWE,MAAQ,OAQ5C7gC,EAAWwP,UAAUwB,OAAS,SAAS1C,GACrC9Q,KAAK8Q,MAAQA,EACb9Q,KAAKutB,QAAUzc,EAAMyc,SAAW,QAChCvtB,KAAK2H,UAAYmJ,EAAMnJ,WAAa3H,KAAK2H,WAAa,aAAe3H,KAAK+iC,yBAAyB,GAAK,GACxG/iC,KAAKgmB,QAA4B7f,SAAlB2K,EAAMkV,SAAwB,EAAOlV,EAAMkV,QAC1DhmB,KAAKoa,WAAWtJ,EAAMhD,UAGxBtL,EAAWwP,UAAU8uB,SAAW,SAASlwB,EAAGC,EAAGlB,EAAe2zB,EAAchE,EAAWsB,GACrF,GACI2C,GAAMC,EADNC,EAA0B,GAAb7C,EAGb8C,EAAU9iC,EAAQqP,cAAc,OAAQN,EAAe2zB,EAO3D,IANAI,EAAQxyB,eAAe,KAAM,IAAKN,GAClC8yB,EAAQxyB,eAAe,KAAM,IAAKL,EAAI4yB,GACtCC,EAAQxyB,eAAe,KAAM,QAASouB,GACtCoE,EAAQxyB,eAAe,KAAM,SAAU,EAAEuyB,GACzCC,EAAQxyB,eAAe,KAAM,QAAS,WAEZ,QAAtBlR,KAAK8N,QAAQmD,MACfsyB,EAAO3iC,EAAQqP,cAAc,OAAQN,EAAe2zB,GACpDC,EAAKryB,eAAe,KAAM,QAASlR,KAAK2H,WACxC47B,EAAKryB,eAAe,KAAM,IAAK,IAAMN,EAAI,IAAIC,EAAE,MAAQD,EAAI0uB,GAAa,IAAIzuB,GACzC,GAA/B7Q,KAAK8N,QAAQ61B,OAAO51B,UACtBy1B,EAAW5iC,EAAQqP,cAAc,OAAQN,EAAe2zB,GACjB,OAAnCtjC,KAAK8N,QAAQ61B,OAAOzR,YACtBsR,EAAStyB,eAAe,KAAM,IAAK,IAAIN,EAAE,MAAQC,EAAI4yB,GACnD,IAAI7yB,EAAE,IAAIC,EAAE,MAAOD,EAAI0uB,GAAa,IAAIzuB,EAAE,MAAOD,EAAI0uB,GAAa,KAAOzuB,EAAI4yB,IAG/ED,EAAStyB,eAAe,KAAM,IAAK,IAAIN,EAAE,IAAIC,EAAE,KACzCD,EAAE,KAAOC,EAAI4yB,GAAc,MACzB7yB,EAAI0uB,GAAa,KAAOzuB,EAAI4yB,GAClC,KAAM7yB,EAAI0uB,GAAa,IAAIzuB,GAE/B2yB,EAAStyB,eAAe,KAAM,QAASlR,KAAK2H,UAAY,cAGnB,GAAnC3H,KAAK8N,QAAQkD,WAAWjD,SAC1BnN,EAAQ+P,UAAUC,EAAI,GAAM0uB,EAAUzuB,EAAG7Q,KAAM2P,EAAe2zB,OAG7D,CACH,GAAIM,GAAW/+B,KAAKsmB,MAAM,GAAMmU,GAC5BuE,EAAah/B,KAAKsmB,MAAM,GAAMyV,GAC9BkD,EAAaj/B,KAAKsmB,MAAM,IAAOyV,GAE/B3Z,EAASpiB,KAAKsmB,OAAOmU,EAAa,EAAIsE,GAAW,EAErDhjC,GAAQwQ,QAAQR,EAAI,GAAIgzB,EAAW3c,EAAYpW,EAAI4yB,EAAaI,EAAa,EAAGD,EAAUC,EAAY7jC,KAAK2H,UAAY,OAAQgI,EAAe2zB,GAC9I1iC,EAAQwQ,QAAQR,EAAI,IAAIgzB,EAAW3c,EAAS,EAAGpW,EAAI4yB,EAAaK,EAAa,EAAGF,EAAUE,EAAY9jC,KAAK2H,UAAY,OAAQgI,EAAe2zB,KAUlJ9gC,EAAWwP,UAAU6iB,UAAY,SAASyK,EAAWsB,GACnD,GAAI/B,GAAMzuB,SAASC,gBAAgB,6BAA6B,MAEhE,OADArQ,MAAK8gC,SAAS,EAAE,GAAIF,KAAc/B,EAAIS,EAAUsB,IACxCmD,KAAMlF,EAAK9Y,MAAO/lB,KAAKutB,QAAS2E,YAAYlyB,KAAK8N,QAAQk2B,mBAGnEnkC,EAAOD,QAAU4C,GAKb,SAAS3C,EAAQD,EAASM,GAY9B,QAASuC,GAAOqyB,EAAStjB,EAAM8hB,GAC7BtzB,KAAK80B,QAAUA,EAEf90B,KAAKszB,QAAUA,EAEftzB,KAAK0tB,OACL1tB,KAAK2F,OACHogB,OACE1U,MAAO,EACPC,OAAQ,IAGZtR,KAAK2H,UAAY,KAEjB3H,KAAK+B,SACL/B,KAAKikC,gBACLjkC,KAAKiO,cACHi2B,WACAC,UAGFnkC,KAAKqyB,UAELryB,KAAK6W,QAAQrF,GAjCf,GAAI7Q,GAAOT,EAAoB,GAC3B0B,EAAQ1B,EAAoB,IAC5BiC,EAAYjC,EAAoB,GAsCpCuC,GAAMuP,UAAUqgB,QAAU,WACxB,GAAItM,GAAQ3V,SAASM,cAAc,MACnCqV,GAAMpe,UAAY,SAClB3H,KAAK0tB,IAAI3H,MAAQA,CAEjB,IAAIqe,GAAQh0B,SAASM,cAAc,MACnC0zB,GAAMz8B,UAAY,QAClBoe,EAAMzV,YAAY8zB,GAClBpkC,KAAK0tB,IAAI0W,MAAQA,CAEjB,IAAIC,GAAaj0B,SAASM,cAAc,MACxC2zB,GAAW18B,UAAY,QACvB08B,EAAW,kBAAoBrkC,KAC/BA,KAAK0tB,IAAI2W,WAAaA,EAEtBrkC,KAAK0tB,IAAIhiB,WAAa0E,SAASM,cAAc,OAC7C1Q,KAAK0tB,IAAIhiB,WAAW/D,UAAY,QAEhC3H,KAAK0tB,IAAI+M,KAAOrqB,SAASM,cAAc,OACvC1Q,KAAK0tB,IAAI+M,KAAK9yB,UAAY,QAK1B3H,KAAK0tB,IAAI4W,OAASl0B,SAASM,cAAc,OACzC1Q,KAAK0tB,IAAI4W,OAAOrzB,MAAM+jB,WAAa,SACnCh1B,KAAK0tB,IAAI4W,OAAO/iB,UAAY,IAC5BvhB,KAAK0tB,IAAIhiB,WAAW4E,YAAYtQ,KAAK0tB,IAAI4W,SAO3C7hC,EAAMuP,UAAU6E,QAAU,SAASrF,GAEjC,GAAI+b,GAAU/b,GAAQA,EAAK+b,OACvBA,aAAmBgX,SACrBvkC,KAAK0tB,IAAI0W,MAAM9zB,YAAYid,GAG3BvtB,KAAK0tB,IAAI0W,MAAM7iB,UADIpb,SAAZonB,GAAqC,OAAZA,EACLA,EAGAvtB,KAAK80B,SAAW,GAI7C90B,KAAK0tB,IAAI3H,MAAMkY,MAAQzsB,GAAQA,EAAKysB,OAAS,GAExCj+B,KAAK0tB,IAAI0W,MAAMnjB,WAIlBtgB,EAAKqH,gBAAgBhI,KAAK0tB,IAAI0W,MAAO,UAHrCzjC,EAAK+G,aAAa1H,KAAK0tB,IAAI0W,MAAO,SAOpC,IAAIz8B,GAAY6J,GAAQA,EAAK7J,WAAa,IACtCA,IAAa3H,KAAK2H,YAChB3H,KAAK2H,YACPhH,EAAKqH,gBAAgBhI,KAAK0tB,IAAI3H,MAAOpe,GACrChH,EAAKqH,gBAAgBhI,KAAK0tB,IAAI2W,WAAY18B,GAC1ChH,EAAKqH,gBAAgBhI,KAAK0tB,IAAIhiB,WAAY/D,GAC1ChH,EAAKqH,gBAAgBhI,KAAK0tB,IAAI+M,KAAM9yB,IAEtChH,EAAK+G,aAAa1H,KAAK0tB,IAAI3H,MAAOpe,GAClChH,EAAK+G,aAAa1H,KAAK0tB,IAAI2W,WAAY18B,GACvChH,EAAK+G,aAAa1H,KAAK0tB,IAAIhiB,WAAY/D,GACvChH,EAAK+G,aAAa1H,KAAK0tB,IAAI+M,KAAM9yB,KAQrClF,EAAMuP,UAAUwyB,cAAgB,WAC9B,MAAOxkC,MAAK2F,MAAMogB,MAAM1U,OAW1B5O,EAAMuP,UAAU+M,OAAS,SAAS7Q,EAAOsJ,EAAQitB,GAC/C,GAAIhH,IAAU,CAEdz9B,MAAKikC,aAAejkC,KAAK0kC,oBAAoB1kC,KAAKiO,aAAcjO,KAAKikC,aAAc/1B,EAInF,IAAIy2B,GAAe3kC,KAAK0tB,IAAI4W,OAAOniB,YAC/BwiB,IAAgB3kC,KAAK4kC,mBACvB5kC,KAAK4kC,iBAAmBD,EAExBhkC,EAAKwH,QAAQnI,KAAK+B,MAAO,SAAUqR,GACjCA,EAAKyxB,OAAQ,EACTzxB,EAAK0xB,WAAW1xB,EAAK2L,WAG3B0lB,GAAU,GAIRzkC,KAAKszB,QAAQxlB,QAAQlM,MACvBA,EAAMA,MAAM5B,KAAKikC,aAAczsB,EAAQitB,GAGvC7iC,EAAMi5B,QAAQ76B,KAAKikC,aAAczsB,EAInC,IAAIlG,GACA2yB,EAAejkC,KAAKikC,YACxB,IAAIA,EAAa3+B,OAAQ,CACvB,GAAI+F,GAAM44B,EAAa,GAAGz8B,IACtBsF,EAAMm3B,EAAa,GAAGz8B,IAAMy8B,EAAa,GAAG3yB,MAKhD,IAJA3Q,EAAKwH,QAAQ87B,EAAc,SAAU7wB,GACnC/H,EAAMxG,KAAKwG,IAAIA,EAAK+H,EAAK5L,KACzBsF,EAAMjI,KAAKiI,IAAIA,EAAMsG,EAAK5L,IAAM4L,EAAK9B,UAEnCjG,EAAMmM,EAAOijB,KAAM,CAErB,GAAIxT,GAAS5b,EAAMmM,EAAOijB,IAC1B3tB,IAAOma,EACPtmB,EAAKwH,QAAQ87B,EAAc,SAAU7wB,GACnCA,EAAK5L,KAAOyf,IAGhB3V,EAASxE,EAAM0K,EAAOpE,KAAK2P,SAAW,MAGtCzR,GAASkG,EAAOijB,KAAOjjB,EAAOpE,KAAK2P,QAErCzR,GAASzM,KAAKiI,IAAIwE,EAAQtR,KAAK2F,MAAMogB,MAAMzU,OAG3C,IAAI+yB,GAAarkC,KAAK0tB,IAAI2W,UAC1BrkC,MAAKwH,IAAM68B,EAAWU,UACtB/kC,KAAKoH,KAAOi9B,EAAWW,WACvBhlC,KAAKqR,MAAQgzB,EAAWtW,YACxB0P,EAAU98B,EAAK4H,eAAevI,KAAM,SAAUsR,IAAWmsB,EAGzDA,EAAU98B,EAAK4H,eAAevI,KAAK2F,MAAMogB,MAAO,QAAS/lB,KAAK0tB,IAAI0W,MAAMtnB,cAAgB2gB,EACxFA,EAAU98B,EAAK4H,eAAevI,KAAK2F,MAAMogB,MAAO,SAAU/lB,KAAK0tB,IAAI0W,MAAMjiB,eAAiBsb,EAG1Fz9B,KAAK0tB,IAAIhiB,WAAWuF,MAAMK,OAAUA,EAAS,KAC7CtR,KAAK0tB,IAAI2W,WAAWpzB,MAAMK,OAAUA,EAAS,KAC7CtR,KAAK0tB,IAAI3H,MAAM9U,MAAMK,OAASA,EAAS,IAGvC,KAAK,GAAInM,GAAI,EAAG8/B,EAAKjlC,KAAKikC,aAAa3+B,OAAY2/B,EAAJ9/B,EAAQA,IAAK,CAC1D,GAAIiO,GAAOpT,KAAKikC,aAAa9+B,EAC7BiO,GAAK8xB,cAGP,MAAOzH,IAMTh7B,EAAMuP,UAAUwuB,KAAO,WAChBxgC,KAAK0tB,IAAI3H,MAAMrc,YAClB1J,KAAKszB,QAAQ5F,IAAIyX,SAAS70B,YAAYtQ,KAAK0tB,IAAI3H,OAG5C/lB,KAAK0tB,IAAI2W,WAAW36B,YACvB1J,KAAKszB,QAAQ5F,IAAI2W,WAAW/zB,YAAYtQ,KAAK0tB,IAAI2W,YAG9CrkC,KAAK0tB,IAAIhiB,WAAWhC,YACvB1J,KAAKszB,QAAQ5F,IAAIhiB,WAAW4E,YAAYtQ,KAAK0tB,IAAIhiB,YAG9C1L,KAAK0tB,IAAI+M,KAAK/wB,YACjB1J,KAAKszB,QAAQ5F,IAAI+M,KAAKnqB,YAAYtQ,KAAK0tB,IAAI+M,OAO/Ch4B,EAAMuP,UAAUuuB,KAAO,WACrB,GAAIxa,GAAQ/lB,KAAK0tB,IAAI3H,KACjBA,GAAMrc,YACRqc,EAAMrc,WAAWsG,YAAY+V,EAG/B,IAAIse,GAAarkC,KAAK0tB,IAAI2W,UACtBA,GAAW36B,YACb26B,EAAW36B,WAAWsG,YAAYq0B,EAGpC,IAAI34B,GAAa1L,KAAK0tB,IAAIhiB,UACtBA,GAAWhC,YACbgC,EAAWhC,WAAWsG,YAAYtE,EAGpC,IAAI+uB,GAAOz6B,KAAK0tB,IAAI+M,IAChBA,GAAK/wB,YACP+wB,EAAK/wB,WAAWsG,YAAYyqB,IAQhCh4B,EAAMuP,UAAUD,IAAM,SAASqB,GAI7B,GAHApT,KAAK+B,MAAMqR,EAAK/S,IAAM+S,EACtBA,EAAKgyB,UAAUplC,MAEwB,IAAnCA,KAAKikC,aAAa39B,QAAQ8M,GAAa,CACzC,GAAIlF,GAAQlO,KAAKszB,QAAQhB,KAAKpkB,KAC9BlO,MAAKqlC,gBAAgBjyB,EAAMpT,KAAKikC,aAAc/1B,KAQlDzL,EAAMuP,UAAUiD,OAAS,SAAS7B,SACzBpT,MAAK+B,MAAMqR,EAAK/S,IACvB+S,EAAKgyB,UAAUplC,KAAKszB,QAGpB,IAAIrrB,GAAQjI,KAAKikC,aAAa39B,QAAQ8M,EACzB,KAATnL,GAAajI,KAAKikC,aAAa/7B,OAAOD,EAAO,IASnDxF,EAAMuP,UAAUszB,kBAAoB,SAASlyB,GAC3CpT,KAAKszB,QAAQiS,WAAWnyB,EAAK/S,KAM/BoC,EAAMuP,UAAUmC,MAAQ,WACtB,GAAI7L,GAAQ3H,EAAK0H,QAAQrI,KAAK+B,MAC9B/B,MAAKiO,aAAai2B,QAAU57B,EAC5BtI,KAAKiO,aAAak2B,MAAQnkC,KAAKwlC,qBAAqBl9B,GAEpD1G,EAAMu4B,aAAan6B,KAAKiO,aAAai2B,SACrCtiC,EAAMw4B,WAAWp6B,KAAKiO,aAAak2B,QASrC1hC,EAAMuP,UAAUwzB,qBAAuB,SAASl9B,GAG9C,IAAK,GAFDm9B,MAEKtgC,EAAI,EAAGA,EAAImD,EAAMhD,OAAQH,IAC5BmD,EAAMnD,YAAchD,IACtBsjC,EAAS39B,KAAKQ,EAAMnD,GAGxB,OAAOsgC,IAWThjC,EAAMuP,UAAU0yB,oBAAsB,SAASz2B,EAAcg2B,EAAc/1B,GACzE,GAAIw3B,GAEAvgC,EADAwgC,IAKJ,IAAI1B,EAAa3+B,OAAS,EACxB,IAAKH,EAAI,EAAGA,EAAI8+B,EAAa3+B,OAAQH,IACnCnF,KAAKqlC,gBAAgBpB,EAAa9+B,GAAIwgC,EAAiBz3B,EAMzDw3B,GAD4B,GAA1BC,EAAgBrgC,OACE3E,EAAKqN,aAAaC,EAAai2B,QAASh2B,EAAO,OAAO,SAGtDD,EAAai2B,QAAQ59B,QAAQq/B,EAAgB,GAInE,IAAIC,GAAkBjlC,EAAKqN,aAAaC,EAAak2B,MAAOj2B,EAAO,OAAO,MAG1E,IAAyB,IAArBw3B,EAAyB,CAC3B,IAAKvgC,EAAIugC,EAAmBvgC,GAAK,IAC3BnF,KAAK6lC,kBAAkB53B,EAAai2B,QAAQ/+B,GAAIwgC,EAAiBz3B,GADnC/I,KAGpC,IAAKA,EAAIugC,EAAoB,EAAGvgC,EAAI8I,EAAai2B,QAAQ5+B,SACnDtF,KAAK6lC,kBAAkB53B,EAAai2B,QAAQ/+B,GAAIwgC,EAAiBz3B,GADN/I,MAMnE,GAAuB,IAAnBygC,EAAuB,CACzB,IAAKzgC,EAAIygC,EAAiBzgC,GAAK,IACzBnF,KAAK6lC,kBAAkB53B,EAAak2B,MAAMh/B,GAAIwgC,EAAiBz3B,GADnC/I,KAGlC,IAAKA,EAAIygC,EAAkB,EAAGzgC,EAAI8I,EAAak2B,MAAM7+B,SAC/CtF,KAAK6lC,kBAAkB53B,EAAak2B,MAAMh/B,GAAIwgC,EAAiBz3B,GADR/I,MAK/D,MAAOwgC,IAeTljC,EAAMuP,UAAU6zB,kBAAoB,SAASzyB,EAAM6wB,EAAc/1B,GAC/D,MAAIkF,GAAKvE,UAAUX,IACZkF,EAAK0xB,WAAW1xB,EAAKotB,OAC1BptB,EAAK0yB,cAC6B,IAA9B7B,EAAa39B,QAAQ8M,IACvB6wB,EAAan8B,KAAKsL,IAEb,IAGHA,EAAK0xB,WAAW1xB,EAAKmtB,QAClB,IAeX99B,EAAMuP,UAAUqzB,gBAAkB,SAASjyB,EAAM6wB,EAAc/1B,GACzDkF,EAAKvE,UAAUX,IACZkF,EAAK0xB,WAAW1xB,EAAKotB,OAE1BptB,EAAK0yB,cACL7B,EAAan8B,KAAKsL,IAGdA,EAAK0xB,WAAW1xB,EAAKmtB,QAI7B1gC,EAAOD,QAAU6C,GAKb,SAAS5C,EAAQD,EAASM,GAwB9B,QAASwC,GAAQ4vB,EAAMxkB,GACrB9N,KAAKsyB,KAAOA,EAEZtyB,KAAKgyB,gBACHvrB,KAAM,KACNyrB,YAAa,SACb6T,MAAO,OACPnkC,OAAO,EACPokC,WAAY,KAEZC,YAAY,EACZC,UACEC,YAAY,EACZ9F,aAAa,EACbtuB,KAAK,EACLkD,QAAQ,GAGVmxB,MAAO,SAAUhzB,EAAMhL,GACrBA,EAASgL,IAEXizB,SAAU,SAAUjzB,EAAMhL,GACxBA,EAASgL,IAEXkzB,OAAQ,SAAUlzB,EAAMhL,GACtBA,EAASgL,IAEXmzB,SAAU,KACVC,SAAU,SAAUpzB,EAAMhL,GACxBA,EAASgL,IAGXoE,QACEpE,MACE0P,WAAY,GACZC,SAAU,IAEZ0X,KAAM,IAERnZ,QAAS,GAIXthB,KAAK8N,QAAUnN,EAAKsE,UAAWjF,KAAKgyB,gBAGpChyB,KAAKymC,aACHhgC,MAAOqI,MAAO,OAAQS,IAAK,SAG7BvP,KAAKo5B,YACHzG,SAAUL,EAAK3xB,KAAKgyB,SACpBI,OAAQT,EAAK3xB,KAAKoyB,QAEpB/yB,KAAK0tB,OACL1tB,KAAK2F,SACL3F,KAAK0D,OAAS,IAEd,IAAImP,GAAK7S,IACTA,MAAKuzB,UAAY,KACjBvzB,KAAKwzB,WAAa,KAGlBxzB,KAAK0mC,eACH30B,IAAO,SAAU3I,EAAOoJ,GACtBK,EAAG8zB,OAAOn0B,EAAOzQ,QAEnByR,OAAU,SAAUpK,EAAOoJ,GACzBK,EAAG+zB,UAAUp0B,EAAOzQ,QAEtBkT,OAAU,SAAU7L,EAAOoJ,GACzBK,EAAGg0B,UAAUr0B,EAAOzQ,SAKxB/B,KAAK8mC,gBACH/0B,IAAO,SAAU3I,EAAOoJ,GACtBK,EAAGk0B,aAAav0B,EAAOzQ,QAEzByR,OAAU,SAAUpK,EAAOoJ,GACzBK,EAAGm0B,gBAAgBx0B,EAAOzQ,QAE5BkT,OAAU,SAAU7L,EAAOoJ,GACzBK,EAAGo0B,gBAAgBz0B,EAAOzQ,SAI9B/B,KAAK+B,SACL/B,KAAKi0B,UACLj0B,KAAKknC,YAELlnC,KAAKmnC,aACLnnC,KAAKonC,YAAa,EAElBpnC,KAAKqnC,eAGLrnC,KAAKqyB,UAELryB,KAAKoa,WAAWtM,GA1HlB,GAAIywB,GAASr+B,EAAoB,IAC7BS,EAAOT,EAAoB,GAC3BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BkC,EAAYlC,EAAoB,IAChCuC,EAAQvC,EAAoB,IAC5B+B,EAAU/B,EAAoB,IAC9BgC,EAAYhC,EAAoB,IAChCiC,EAAYjC,EAAoB,IAGhConC,EAAY,eAkHhB5kC,GAAQsP,UAAY,GAAI5P,GAGxBM,EAAQqT,OACNwxB,IAAKtlC,EACLiM,MAAO/L,EACP4O,MAAO7O,GAMTQ,EAAQsP,UAAUqgB,QAAU,WAC1B,GAAIzV,GAAQxM,SAASM,cAAc,MACnCkM,GAAMjV,UAAY,UAClBiV,EAAM,oBAAsB5c,KAC5BA,KAAK0tB,IAAI9Q,MAAQA,CAGjB,IAAIlR,GAAa0E,SAASM,cAAc,MACxChF,GAAW/D,UAAY,aACvBiV,EAAMtM,YAAY5E,GAClB1L,KAAK0tB,IAAIhiB,WAAaA,CAGtB,IAAI24B,GAAaj0B,SAASM,cAAc,MACxC2zB,GAAW18B,UAAY,aACvBiV,EAAMtM,YAAY+zB,GAClBrkC,KAAK0tB,IAAI2W,WAAaA,CAGtB,IAAI5J,GAAOrqB,SAASM,cAAc,MAClC+pB,GAAK9yB,UAAY,OACjB3H,KAAK0tB,IAAI+M,KAAOA,CAGhB,IAAI0K,GAAW/0B,SAASM,cAAc,MACtCy0B,GAASx9B,UAAY,WACrB3H,KAAK0tB,IAAIyX,SAAWA,EAGpBnlC,KAAKwnC,mBAMLxnC,KAAK0D,OAAS66B,EAAOv+B,KAAKsyB,KAAK5E,IAAI+Z,iBACjChJ,iBAAiB,IAInBz+B,KAAK0D,OAAOuO,GAAG,QAAajS,KAAKg4B,SAASvF,KAAKzyB,OAC/CA,KAAK0D,OAAOuO,GAAG,YAAajS,KAAK23B,aAAalF,KAAKzyB,OACnDA,KAAK0D,OAAOuO,GAAG,OAAajS,KAAK43B,QAAQnF,KAAKzyB,OAC9CA,KAAK0D,OAAOuO,GAAG,UAAajS,KAAK63B,WAAWpF,KAAKzyB,OAGjDA,KAAK0D,OAAOuO,GAAG,MAAQjS,KAAK0nC,cAAcjV,KAAKzyB,OAG/CA,KAAK0D,OAAOuO,GAAG,OAAQjS,KAAK2nC,mBAAmBlV,KAAKzyB,OAGpDA,KAAK0D,OAAOuO,GAAG,YAAajS,KAAK4nC,WAAWnV,KAAKzyB,OAGjDA,KAAKwgC,QAkEP99B,EAAQsP,UAAUoI,WAAa,SAAStM,GACtC,GAAIA,EAAS,CAEX,GAAIP,IAAU,OAAQ,QAAS,cAAe,UAAW,QAAS,aAAc,aAChF5M,GAAK+E,gBAAgB6H,EAAQvN,KAAK8N,QAASA,GAEvC,UAAYA,KACgB,gBAAnBA,GAAQ0J,QACjBxX,KAAK8N,QAAQ0J,OAAOijB,KAAO3sB,EAAQ0J,OACnCxX,KAAK8N,QAAQ0J,OAAOpE,KAAK0P,WAAahV,EAAQ0J,OAC9CxX,KAAK8N,QAAQ0J,OAAOpE,KAAK2P,SAAWjV,EAAQ0J,QAEX,gBAAnB1J,GAAQ0J,SACtB7W,EAAK+E,iBAAiB,QAAS1F,KAAK8N,QAAQ0J,OAAQ1J,EAAQ0J,QACxD,QAAU1J,GAAQ0J,SACe,gBAAxB1J,GAAQ0J,OAAOpE,MACxBpT,KAAK8N,QAAQ0J,OAAOpE,KAAK0P,WAAahV,EAAQ0J,OAAOpE,KACrDpT,KAAK8N,QAAQ0J,OAAOpE,KAAK2P,SAAWjV,EAAQ0J,OAAOpE,MAEb,gBAAxBtF,GAAQ0J,OAAOpE,MAC7BzS,EAAK+E,iBAAiB,aAAc,YAAa1F,KAAK8N,QAAQ0J,OAAOpE,KAAMtF,EAAQ0J,OAAOpE,SAM9F,YAActF,KACgB,iBAArBA,GAAQo4B,UACjBlmC,KAAK8N,QAAQo4B,SAASC,WAAcr4B,EAAQo4B,SAC5ClmC,KAAK8N,QAAQo4B,SAAS7F,YAAcvyB,EAAQo4B,SAC5ClmC,KAAK8N,QAAQo4B,SAASn0B,IAAcjE,EAAQo4B,SAC5ClmC,KAAK8N,QAAQo4B,SAASjxB,OAAcnH,EAAQo4B,UAET,gBAArBp4B,GAAQo4B,UACtBvlC,EAAK+E,iBAAiB,aAAc,cAAe,MAAO,UAAW1F,KAAK8N,QAAQo4B,SAAUp4B,EAAQo4B,UAKxG,IAAI2B,GAAc,SAAWhzB,GAC3B,GAAIA,IAAQ/G,GAAS,CACnB,GAAIg6B,GAAKh6B,EAAQ+G,EACjB,MAAMizB,YAAcC,WAClB,KAAM,IAAIvkC,OAAM,UAAYqR,EAAO,uBAAyBA,EAAO,mBAErE7U,MAAK8N,QAAQ+G,GAAQizB,IAEtBrV,KAAKzyB,OACP,QAAS,WAAY,WAAY,SAAU,YAAYmI,QAAQ0/B,GAGhE7nC,KAAKgoC,cAOTtlC,EAAQsP,UAAUg2B,UAAY,WAC5BhoC,KAAKknC,YACLlnC,KAAKonC,YAAa,GAMpB1kC,EAAQsP,UAAUurB,QAAU,WAC1Bv9B,KAAKugC,OACLvgC,KAAKyzB,SAAS,MACdzzB,KAAKg0B,UAAU,MAEfh0B,KAAK0D,OAAS,KAEd1D,KAAKsyB,KAAO,KACZtyB,KAAKo5B,WAAa,MAMpB12B,EAAQsP,UAAUuuB,KAAO,WAEnBvgC,KAAK0tB,IAAI9Q,MAAMlT,YACjB1J,KAAK0tB,IAAI9Q,MAAMlT,WAAWsG,YAAYhQ,KAAK0tB,IAAI9Q,OAI7C5c,KAAK0tB,IAAI+M,KAAK/wB,YAChB1J,KAAK0tB,IAAI+M,KAAK/wB,WAAWsG,YAAYhQ,KAAK0tB,IAAI+M,MAI5Cz6B,KAAK0tB,IAAIyX,SAASz7B,YACpB1J,KAAK0tB,IAAIyX,SAASz7B,WAAWsG,YAAYhQ,KAAK0tB,IAAIyX,WAQtDziC,EAAQsP,UAAUwuB,KAAO,WAElBxgC,KAAK0tB,IAAI9Q,MAAMlT,YAClB1J,KAAKsyB,KAAK5E,IAAIjE,OAAOnZ,YAAYtQ,KAAK0tB,IAAI9Q,OAIvC5c,KAAK0tB,IAAI+M,KAAK/wB,YACjB1J,KAAKsyB,KAAK5E,IAAIlmB,IAAI8I,YAAYtQ,KAAK0tB,IAAI+M,MAIpCz6B,KAAK0tB,IAAIyX,SAASz7B,YACrB1J,KAAKsyB,KAAK5E,IAAItmB,KAAKkJ,YAAYtQ,KAAK0tB,IAAIyX,WAW5CziC,EAAQsP,UAAUkiB,aAAe,SAASrgB,GACxC,GAAI1O,GAAG8/B,EAAI5kC,EAAI+S,CAMf,KAJWjN,QAAP0N,IAAkBA,MACjBjO,MAAMC,QAAQgO,KAAMA,GAAOA,IAG3B1O,EAAI,EAAG8/B,EAAKjlC,KAAKmnC,UAAU7hC,OAAY2/B,EAAJ9/B,EAAQA,IAC9C9E,EAAKL,KAAKmnC,UAAUhiC,GACpBiO,EAAOpT,KAAK+B,MAAM1B,GACd+S,GAAMA,EAAK60B,UAKjB,KADAjoC,KAAKmnC,aACAhiC,EAAI,EAAG8/B,EAAKpxB,EAAIvO,OAAY2/B,EAAJ9/B,EAAQA,IACnC9E,EAAKwT,EAAI1O,GACTiO,EAAOpT,KAAK+B,MAAM1B,GACd+S,IACFpT,KAAKmnC,UAAUr/B,KAAKzH,GACpB+S,EAAK80B,WASXxlC,EAAQsP,UAAUoiB,aAAe,WAC/B,MAAOp0B,MAAKmnC,UAAUz0B,YAOxBhQ,EAAQsP,UAAUm2B,gBAAkB,WAClC,GAAIj6B,GAAQlO,KAAKsyB,KAAKpkB,MAAMirB,WACxB/xB,EAAQpH,KAAKsyB,KAAK3xB,KAAKgyB,SAASzkB,EAAMY,OACtC6V,EAAQ3kB,KAAKsyB,KAAK3xB,KAAKgyB,SAASzkB,EAAMqB,KAEtCsE,IACJ,KAAK,GAAIihB,KAAW90B,MAAKi0B,OACvB,GAAIj0B,KAAKi0B,OAAOxuB,eAAeqvB,GAM7B,IAAK,GALDhkB,GAAQ9Q,KAAKi0B,OAAOa,GACpBsT,EAAkBt3B,EAAMmzB,aAInB9+B,EAAI,EAAGA,EAAIijC,EAAgB9iC,OAAQH,IAAK,CAC/C,GAAIiO,GAAOg1B,EAAgBjjC,EAEtBiO,GAAKhM,KAAOud,GAAWvR,EAAKhM,KAAOgM,EAAK/B,MAAQjK,GACnDyM,EAAI/L,KAAKsL,EAAK/S,IAMtB,MAAOwT,IAQTnR,EAAQsP,UAAUq2B,UAAY,SAAShoC,GAErC,IAAK,GADD8mC,GAAYnnC,KAAKmnC,UACZhiC,EAAI,EAAG8/B,EAAKkC,EAAU7hC,OAAY2/B,EAAJ9/B,EAAQA,IAC7C,GAAIgiC,EAAUhiC,IAAM9E,EAAI,CACtB8mC,EAAUj/B,OAAO/C,EAAG,EACpB,SASNzC,EAAQsP,UAAU+M,OAAS,WACzB,GAAIvH,GAASxX,KAAK8N,QAAQ0J,OACtBtJ,EAAQlO,KAAKsyB,KAAKpkB,MAClBlE,EAASrJ,EAAKgJ,OAAOK,OACrB8D,EAAU9N,KAAK8N,QACfokB,EAAcpkB,EAAQokB,YACtBuL,GAAU,EACV7gB,EAAQ5c,KAAK0tB,IAAI9Q,MACjBspB,EAAWp4B,EAAQo4B,SAASC,YAAcr4B,EAAQo4B,SAAS7F,WAG/DzjB,GAAMjV,UAAY,WAAau+B,EAAW,YAAc,IAGxDzI,EAAUz9B,KAAKsoC,gBAAkB7K,CAIjC,IAAI8K,GAAkBr6B,EAAMqB,IAAMrB,EAAMY,MACpC05B,EAAUD,GAAmBvoC,KAAKyoC,qBAAyBzoC,KAAK2F,MAAM0L,OAASrR,KAAK2F,MAAM+iC,SAC1FF,KAAQxoC,KAAKonC,YAAa,GAC9BpnC,KAAKyoC,oBAAsBF,EAC3BvoC,KAAK2F,MAAM+iC,UAAY1oC,KAAK2F,MAAM0L,KAGlC,IAAIozB,GAAUzkC,KAAKonC,WACfuB,EAAa3oC,KAAK4oC,cAClBC,GACEz1B,KAAMoE,EAAOpE,KACbqnB,KAAMjjB,EAAOijB,MAEfqO,GACE11B,KAAMoE,EAAOpE,KACbqnB,KAAMjjB,EAAOpE,KAAK2P,SAAW,GAE/BzR,EAAS,EACT8gB,EAAY5a,EAAOijB,KAAOjjB,EAAOpE,KAAK2P,QA4B1C,OA3BApiB,GAAKwH,QAAQnI,KAAKi0B,OAAQ,SAAUnjB,GAClC,GAAIi4B,GAAej4B,GAAS63B,EAAcE,EAAcC,EACpDE,EAAel4B,EAAMiO,OAAO7Q,EAAO66B,EAAatE,EACpDhH,GAAUuL,GAAgBvL,EAC1BnsB,GAAUR,EAAMQ,SAElBA,EAASzM,KAAKiI,IAAIwE,EAAQ8gB,GAC1BpyB,KAAKonC,YAAa,EAGlBxqB,EAAM3L,MAAMK,OAAUtH,EAAOsH,GAG7BtR,KAAK2F,MAAM6B,IAAMoV,EAAMmoB,UACvB/kC,KAAK2F,MAAMyB,KAAOwV,EAAMooB,WACxBhlC,KAAK2F,MAAM0L,MAAQuL,EAAMmR,YACzB/tB,KAAK2F,MAAM2L,OAASA,EAGpBtR,KAAK0tB,IAAI+M,KAAKxpB,MAAMzJ,IAAMwC,EAAuB,OAAfkoB,EAC7BlyB,KAAKsyB,KAAKC,SAAS/qB,IAAI8J,OAAStR,KAAKsyB,KAAKC,SAAS5mB,OAAOnE,IAC1DxH,KAAKsyB,KAAKC,SAAS/qB,IAAI8J,OAAStR,KAAKsyB,KAAKC,SAASkV,gBAAgBn2B,QACxEtR,KAAK0tB,IAAI+M,KAAKxpB,MAAM7J,KAAO,IAG3Bq2B,EAAUz9B,KAAKw9B,cAAgBC,GAUjC/6B,EAAQsP,UAAU42B,YAAc,WAC9B,GAAIK,GAA+C,OAA5BjpC,KAAK8N,QAAQokB,YAAwB,EAAKlyB,KAAKknC,SAAS5hC,OAAS,EACpF4jC,EAAelpC,KAAKknC,SAAS+B,GAC7BN,EAAa3oC,KAAKi0B,OAAOiV,IAAiBlpC,KAAKi0B,OAAOqT,EAE1D,OAAOqB,IAAc,MAQvBjmC,EAAQsP,UAAUw1B,iBAAmB,WACnC,GAAI2B,GAAYnpC,KAAKi0B,OAAOqT,EAE5B,IAAItnC,KAAKwzB,WAEH2V,IACFA,EAAU5I,aACHvgC,MAAKi0B,OAAOqT,QAKrB,KAAK6B,EAAW,CACd,GAAI9oC,GAAK,KACLmR,EAAO,IACX23B,GAAY,GAAI1mC,GAAMpC,EAAImR,EAAMxR,MAChCA,KAAKi0B,OAAOqT,GAAa6B,CAEzB,KAAK,GAAIl1B,KAAUjU,MAAK+B,MAClB/B,KAAK+B,MAAM0D,eAAewO,IAC5Bk1B,EAAUp3B,IAAI/R,KAAK+B,MAAMkS,GAI7Bk1B,GAAU3I,SAShB99B,EAAQsP,UAAUo3B,YAAc,WAC9B,MAAOppC,MAAK0tB,IAAIyX,UAOlBziC,EAAQsP,UAAUyhB,SAAW,SAAS1xB,GACpC,GACI8R,GADAhB,EAAK7S,KAELqpC,EAAerpC,KAAKuzB,SAGxB,IAAKxxB,EAGA,CAAA,KAAIA,YAAiBlB,IAAWkB,YAAiBjB,IAIpD,KAAM,IAAIkF,WAAU,kDAHpBhG,MAAKuzB,UAAYxxB,MAHjB/B,MAAKuzB,UAAY,IAoBnB,IAXI8V,IAEF1oC,EAAKwH,QAAQnI,KAAK0mC,cAAe,SAAUt+B,EAAUgB,GACnDigC,EAAaj3B,IAAIhJ,EAAOhB,KAI1ByL,EAAMw1B,EAAa70B,SACnBxU,KAAK6mC,UAAUhzB,IAGb7T,KAAKuzB,UAAW,CAElB,GAAIlzB,GAAKL,KAAKK,EACdM,GAAKwH,QAAQnI,KAAK0mC,cAAe,SAAUt+B,EAAUgB,GACnDyJ,EAAG0gB,UAAUthB,GAAG7I,EAAOhB,EAAU/H,KAInCwT,EAAM7T,KAAKuzB,UAAU/e,SACrBxU,KAAK2mC,OAAO9yB,GAGZ7T,KAAKwnC,qBAQT9kC,EAAQsP,UAAUs3B,SAAW,WAC3B,MAAOtpC,MAAKuzB,WAOd7wB,EAAQsP,UAAUgiB,UAAY,SAASC,GACrC,GACIpgB,GADAhB,EAAK7S,IAgBT,IAZIA,KAAKwzB,aACP7yB,EAAKwH,QAAQnI,KAAK8mC,eAAgB,SAAU1+B,EAAUgB,GACpDyJ,EAAG2gB,WAAWlhB,YAAYlJ,EAAOhB,KAInCyL,EAAM7T,KAAKwzB,WAAWhf,SACtBxU,KAAKwzB,WAAa,KAClBxzB,KAAKinC,gBAAgBpzB,IAIlBogB,EAGA,CAAA,KAAIA,YAAkBpzB,IAAWozB,YAAkBnzB,IAItD,KAAM,IAAIkF,WAAU,kDAHpBhG,MAAKwzB,WAAaS,MAHlBj0B,MAAKwzB,WAAa,IASpB,IAAIxzB,KAAKwzB,WAAY,CAEnB,GAAInzB,GAAKL,KAAKK,EACdM,GAAKwH,QAAQnI,KAAK8mC,eAAgB,SAAU1+B,EAAUgB,GACpDyJ,EAAG2gB,WAAWvhB,GAAG7I,EAAOhB,EAAU/H,KAIpCwT,EAAM7T,KAAKwzB,WAAWhf,SACtBxU,KAAK+mC,aAAalzB,GAIpB7T,KAAKwnC,mBAGLxnC,KAAKupC,SAELvpC,KAAKsyB,KAAKE,QAAQnH,KAAK,WAOzB3oB,EAAQsP,UAAUw3B,UAAY,WAC5B,MAAOxpC,MAAKwzB,YAOd9wB,EAAQsP,UAAUuzB,WAAa,SAASllC,GACtC,GAAI+S,GAAOpT,KAAKuzB,UAAU3f,IAAIvT,GAC1Bm0B,EAAUx0B,KAAKuzB,UAAU9e,YAEzBrB,IAEFpT,KAAK8N,QAAQ04B,SAASpzB,EAAM,SAAUA,GAChCA,GAGFohB,EAAQvf,OAAO5U,MAWvBqC,EAAQsP,UAAU40B,UAAY,SAAS/yB,GACrC,GAAIhB,GAAK7S,IAET6T,GAAI1L,QAAQ,SAAU9H,GACpB,GAAIg0B,GAAWxhB,EAAG0gB,UAAU3f,IAAIvT,EAAIwS,EAAG4zB,aACnCrzB,EAAOP,EAAG9Q,MAAM1B,GAChBoG,EAAO4tB,EAAS5tB,MAAQoM,EAAG/E,QAAQrH,OAAS4tB,EAAS9kB,IAAM,QAAU,OAErEtJ,EAAcvD,EAAQqT,MAAMtP,EAchC,IAZI2M,IAEGnN,GAAiBmN,YAAgBnN,GAMpC4M,EAAGc,YAAYP,EAAMihB,IAJrBxhB,EAAG42B,YAAYr2B,GACfA,EAAO,QAONA,EAAM,CAET,IAAInN,EAKC,KAEG,IAAID,WAFK,iBAARS,EAEa,4HAIA,sBAAwBA,EAAO,IAVnD2M,GAAO,GAAInN,GAAYouB,EAAUxhB,EAAGumB,WAAYvmB,EAAG/E,SACnDsF,EAAK/S,GAAKA,EACVwS,EAAGC,SAASM,MAalBpT,KAAKupC,SACLvpC,KAAKonC,YAAa,EAClBpnC,KAAKsyB,KAAKE,QAAQnH,KAAK,WAQzB3oB,EAAQsP,UAAU20B,OAASjkC,EAAQsP,UAAU40B,UAO7ClkC,EAAQsP,UAAU60B,UAAY,SAAShzB,GACrC,GAAIgC,GAAQ,EACRhD,EAAK7S,IACT6T,GAAI1L,QAAQ,SAAU9H,GACpB,GAAI+S,GAAOP,EAAG9Q,MAAM1B,EAChB+S,KACFyC,IACAhD,EAAG42B,YAAYr2B,MAIfyC,IAEF7V,KAAKupC,SACLvpC,KAAKonC,YAAa,EAClBpnC,KAAKsyB,KAAKE,QAAQnH,KAAK,YAQ3B3oB,EAAQsP,UAAUu3B,OAAS,WAGzB5oC,EAAKwH,QAAQnI,KAAKi0B,OAAQ,SAAUnjB,GAClCA,EAAMqD,WASVzR,EAAQsP,UAAUg1B,gBAAkB,SAASnzB,GAC3C7T,KAAK+mC,aAAalzB,IAQpBnR,EAAQsP,UAAU+0B,aAAe,SAASlzB,GACxC,GAAIhB,GAAK7S,IAET6T,GAAI1L,QAAQ,SAAU9H,GACpB,GAAIqpC,GAAY72B,EAAG2gB,WAAW5f,IAAIvT,GAC9ByQ,EAAQ+B,EAAGohB,OAAO5zB,EAEtB,IAAKyQ,EA6BHA,EAAM+F,QAAQ6yB,OA7BJ,CAEV,GAAIrpC,GAAMinC,EACR,KAAM,IAAI9jC,OAAM,qBAAuBnD,EAAK,qBAG9C,IAAIspC,GAAezjC,OAAOwH,OAAOmF,EAAG/E,QACpCnN,GAAKsE,OAAO0kC,GACVr4B,OAAQ,OAGVR,EAAQ,GAAIrO,GAAMpC,EAAIqpC,EAAW72B,GACjCA,EAAGohB,OAAO5zB,GAAMyQ,CAGhB,KAAK,GAAImD,KAAUpB,GAAG9Q,MACpB,GAAI8Q,EAAG9Q,MAAM0D,eAAewO,GAAS,CACnC,GAAIb,GAAOP,EAAG9Q,MAAMkS,EAChBb,GAAK5B,KAAKV,OAASzQ,GACrByQ,EAAMiB,IAAIqB,GAKhBtC,EAAMqD,QACNrD,EAAM0vB,UAQVxgC,KAAKsyB,KAAKE,QAAQnH,KAAK,WAQzB3oB,EAAQsP,UAAUi1B,gBAAkB,SAASpzB,GAC3C,GAAIogB,GAASj0B,KAAKi0B,MAClBpgB,GAAI1L,QAAQ,SAAU9H,GACpB,GAAIyQ,GAAQmjB,EAAO5zB,EAEfyQ,KACFA,EAAMyvB,aACCtM,GAAO5zB,MAIlBL,KAAKgoC,YAELhoC,KAAKsyB,KAAKE,QAAQnH,KAAK,WAQzB3oB,EAAQsP,UAAUs2B,aAAe,WAC/B,GAAItoC,KAAKwzB,WAAY,CAEnB,GAAI0T,GAAWlnC,KAAKwzB,WAAWhf,QAC7BL,MAAOnU,KAAK8N,QAAQk4B,aAGlBnN,GAAWl4B,EAAK4F,WAAW2gC,EAAUlnC,KAAKknC,SAC9C,IAAIrO,EAAS,CAEX,GAAI5E,GAASj0B,KAAKi0B,MAClBiT,GAAS/+B,QAAQ,SAAU2sB,GACzBb,EAAOa,GAASyL,SAIlB2G,EAAS/+B,QAAQ,SAAU2sB,GACzBb,EAAOa,GAAS0L,SAGlBxgC,KAAKknC,SAAWA,EAGlB,MAAOrO,GAGP,OAAO,GASXn2B,EAAQsP,UAAUc,SAAW,SAASM,GACpCpT,KAAK+B,MAAMqR,EAAK/S,IAAM+S,CAGtB,IAAI0hB,GAAU90B,KAAKwzB,WAAapgB,EAAK5B,KAAKV,MAAQw2B,EAC9Cx2B,EAAQ9Q,KAAKi0B,OAAOa,EACpBhkB,IAAOA,EAAMiB,IAAIqB,IASvB1Q,EAAQsP,UAAU2B,YAAc,SAASP,EAAMihB,GAC7C,GAAIuV,GAAax2B,EAAK5B,KAAKV,KAQ3B,IANAsC,EAAK5B,KAAO6iB,EACRjhB,EAAK0xB,WACP1xB,EAAK2L,SAIH6qB,GAAcx2B,EAAK5B,KAAKV,MAAO,CACjC,GAAI+4B,GAAW7pC,KAAKi0B,OAAO2V,EACvBC,IAAUA,EAAS50B,OAAO7B,EAE9B,IAAI0hB,GAAU90B,KAAKwzB,WAAapgB,EAAK5B,KAAKV,MAAQw2B,EAC9Cx2B,EAAQ9Q,KAAKi0B,OAAOa,EACpBhkB,IAAOA,EAAMiB,IAAIqB,KAUzB1Q,EAAQsP,UAAUy3B,YAAc,SAASr2B,GAEvCA,EAAKmtB,aAGEvgC,MAAK+B,MAAMqR,EAAK/S,GAGvB,IAAI4H,GAAQjI,KAAKmnC,UAAU7gC,QAAQ8M,EAAK/S,GAC3B,KAAT4H,GAAajI,KAAKmnC,UAAUj/B,OAAOD,EAAO,EAG9C,IAAI6sB,GAAU90B,KAAKwzB,WAAapgB,EAAK5B,KAAKV,MAAQw2B,EAC9Cx2B,EAAQ9Q,KAAKi0B,OAAOa,EACpBhkB,IAAOA,EAAMmE,OAAO7B,IAS1B1Q,EAAQsP,UAAUwzB,qBAAuB,SAASl9B,GAGhD,IAAK,GAFDm9B,MAEKtgC,EAAI,EAAGA,EAAImD,EAAMhD,OAAQH,IAC5BmD,EAAMnD,YAAchD,IACtBsjC,EAAS39B,KAAKQ,EAAMnD,GAGxB,OAAOsgC,IAYT/iC,EAAQsP,UAAUgmB,SAAW,SAAU5uB,GAErCpJ,KAAKqnC,YAAYj0B,KAAO1Q,EAAQonC,eAAe1gC,IAQjD1G,EAAQsP,UAAU2lB,aAAe,SAAUvuB,GACzC,GAAKpJ,KAAK8N,QAAQo4B,SAASC,YAAenmC,KAAK8N,QAAQo4B,SAAS7F,YAAhE,CAIA,GAEI16B,GAFAyN,EAAOpT,KAAKqnC,YAAYj0B,MAAQ,KAChCP,EAAK7S,IAGT,IAAIoT,GAAQA,EAAK22B,SAAU,CACzB,GAAIC,GAAe5gC,EAAMG,OAAOygC,aAC5BC,EAAgB7gC,EAAMG,OAAO0gC,aAE7BD,IACFrkC,GACEyN,KAAM42B,GAGJn3B,EAAG/E,QAAQo4B,SAASC,aACtBxgC,EAAMmJ,MAAQsE,EAAK5B,KAAK1C,MAAMnI,WAE5BkM,EAAG/E,QAAQo4B,SAAS7F,aAClB,SAAWjtB,GAAK5B,OAAM7L,EAAMmL,MAAQsC,EAAK5B,KAAKV,OAGpD9Q,KAAKqnC,YAAY6C,WAAavkC,IAEvBskC,GACPtkC,GACEyN,KAAM62B,GAGJp3B,EAAG/E,QAAQo4B,SAASC,aACtBxgC,EAAM4J,IAAM6D,EAAK5B,KAAKjC,IAAI5I,WAExBkM,EAAG/E,QAAQo4B,SAAS7F,aAClB,SAAWjtB,GAAK5B,OAAM7L,EAAMmL,MAAQsC,EAAK5B,KAAKV,OAGpD9Q,KAAKqnC,YAAY6C,WAAavkC,IAG9B3F,KAAKqnC,YAAY6C,UAAYlqC,KAAKo0B,eAAe1f,IAAI,SAAUrU,GAC7D,GAAI+S,GAAOP,EAAG9Q,MAAM1B,GAChBsF,GACFyN,KAAMA,EAWR,OARIP,GAAG/E,QAAQo4B,SAASC,aAClB,SAAW/yB,GAAK5B,OAAM7L,EAAMmJ,MAAQsE,EAAK5B,KAAK1C,MAAMnI,WACpD,OAASyM,GAAK5B,OAAQ7L,EAAM4J,IAAM6D,EAAK5B,KAAKjC,IAAI5I,YAElDkM,EAAG/E,QAAQo4B,SAAS7F,aAClB,SAAWjtB,GAAK5B,OAAM7L,EAAMmL,MAAQsC,EAAK5B,KAAKV,OAG7CnL,IAIXyD,EAAMw1B,qBASVl8B,EAAQsP,UAAU4lB,QAAU,SAAUxuB,GACpC,GAAIpJ,KAAKqnC,YAAY6C,UAAW,CAC9B,GAAIr3B,GAAK7S,KACLkO,EAAQlO,KAAKsyB,KAAKpkB,MAClBwkB,EAAO1yB,KAAKsyB,KAAK3xB,KAAK+xB,MAAQ,KAC9B6G,EAASnwB,EAAMkwB,QAAQC,OACvBhf,EAASva,KAAK2F,MAAM0L,OAASnD,EAAMqB,IAAMrB,EAAMY,OAC/CmY,EAASsS,EAAShf,CAGtBva,MAAKqnC,YAAY6C,UAAU/hC,QAAQ,SAAUxC,GAC3C,GAAIwkC,KAEJ,IAAI,SAAWxkC,GAAO,CACpB,GAAImJ,GAAQ,GAAI7K,MAAK0B,EAAMmJ,MAAQmY,EACnCkjB,GAASr7B,MAAQ4jB,EAAOA,EAAK5jB,GAASA,EAGxC,GAAI,OAASnJ,GAAO,CAClB,GAAI4J,GAAM,GAAItL,MAAK0B,EAAM4J,IAAM0X,EAC/BkjB,GAAS56B,IAAMmjB,EAAOA,EAAKnjB,GAAOA,EAGpC,GAAI,SAAW5J,GAAO,CAEpB,GAAImL,GAAQpO,EAAQ0nC,gBAAgBhhC,EACpC+gC,GAASr5B,MAAQA,GAASA,EAAMgkB,QAGlC,GAAIjiB,EAAG/E,QAAQy4B,SAAU,CACvB,GAAIlS,GAAW1zB,EAAKsE,UAAWU,EAAMyN,KAAK5B,KAAM24B,EAEhDt3B,GAAG/E,QAAQy4B,SAASlS,EAAU,SAAUA,GAClCA,GACFxhB,EAAGw3B,iBAAiB1kC,EAAMyN,KAAMihB,SAKpCxhB,GAAGw3B,iBAAiB1kC,EAAMyN,KAAM+2B,KAMpCnqC,KAAKonC,YAAa,EAClBpnC,KAAKsyB,KAAKE,QAAQnH,KAAK,UAEvBjiB,EAAMw1B,oBAUVl8B,EAAQsP,UAAUq4B,iBAAmB,SAASj3B,EAAMzN,GAC9C,SAAWA,KAAOyN,EAAK5B,KAAK1C,MAAQnJ,EAAMmJ,OAC1C,OAASnJ,KAASyN,EAAK5B,KAAKjC,IAAQ5J,EAAM4J,KAC1C,SAAW5J,IAASyN,EAAK5B,KAAKV,OAASnL,EAAMmL,OAC/C9Q,KAAKsqC,aAAal3B,EAAMzN,EAAMmL,QAUlCpO,EAAQsP,UAAUs4B,aAAe,SAASl3B,EAAM0hB,GAC9C,GAAIhkB,GAAQ9Q,KAAKi0B,OAAOa,EACxB,IAAIhkB,GAASA,EAAMgkB,SAAW1hB,EAAK5B,KAAKV,MAAO,CAC7C,GAAI+4B,GAAWz2B,EAAK2qB,MACpB8L,GAAS50B,OAAO7B,GAChBy2B,EAAS11B,QACTrD,EAAMiB,IAAIqB,GACVtC,EAAMqD,QAENf,EAAK5B,KAAKV,MAAQA,EAAMgkB,UAS5BpyB,EAAQsP,UAAU6lB,WAAa,SAAUzuB,GACvC,GAAIpJ,KAAKqnC,YAAY6C,UAAW,CAE9B,GAAIK,MACA13B,EAAK7S,KACLw0B,EAAUx0B,KAAKuzB,UAAU9e,aAEzBy1B,EAAYlqC,KAAKqnC,YAAY6C,SACjClqC,MAAKqnC,YAAY6C,UAAY,KAC7BA,EAAU/hC,QAAQ,SAAUxC,GAC1B,GAAItF,GAAKsF,EAAMyN,KAAK/S,GAChBg0B,EAAWxhB,EAAG0gB,UAAU3f,IAAIvT,EAAIwS,EAAG4zB,aAEnC5N,GAAU,CACV,UAAWlzB,GAAMyN,KAAK5B,OACxBqnB,EAAWlzB,EAAMmJ,OAASnJ,EAAMyN,KAAK5B,KAAK1C,MAAMnI,UAChD0tB,EAASvlB,MAAQnO,EAAK6F,QAAQb,EAAMyN,KAAK5B,KAAK1C,MACtC0lB,EAAQ/iB,SAAShL,MAAQ+tB,EAAQ/iB,SAAShL,KAAKqI,OAAS,SAE9D,OAASnJ,GAAMyN,KAAK5B,OACtBqnB,EAAUA,GAAalzB,EAAM4J,KAAO5J,EAAMyN,KAAK5B,KAAKjC,IAAI5I,UACxD0tB,EAAS9kB,IAAM5O,EAAK6F,QAAQb,EAAMyN,KAAK5B,KAAKjC,IACpCilB,EAAQ/iB,SAAShL,MAAQ+tB,EAAQ/iB,SAAShL,KAAK8I,KAAO,SAE5D,SAAW5J,GAAMyN,KAAK5B,OACxBqnB,EAAUA,GAAalzB,EAAMmL,OAASnL,EAAMyN,KAAK5B,KAAKV,MACtDujB,EAASvjB,MAAQnL,EAAMyN,KAAK5B,KAAKV,OAI/B+nB,GACFhmB,EAAG/E,QAAQw4B,OAAOjS,EAAU,SAAUA,GAChCA,GAEFA,EAASG,EAAQ7iB,UAAYtR,EAC7BkqC,EAAQziC,KAAKusB,KAIbxhB,EAAGw3B,iBAAiB1kC,EAAMyN,KAAMzN,GAEhCkN,EAAGu0B,YAAa,EAChBv0B,EAAGyf,KAAKE,QAAQnH,KAAK,eAOzBkf,EAAQjlC,QACVkvB,EAAQhhB,OAAO+2B,GAGjBnhC,EAAMw1B,oBASVl8B,EAAQsP,UAAU01B,cAAgB,SAAUt+B,GAC1C,GAAKpJ,KAAK8N,QAAQm4B,WAAlB,CAEA,GAAIuE,GAAWphC,EAAMkwB,QAAQmR,UAAYrhC,EAAMkwB,QAAQmR,SAASD,QAC5DE,EAAWthC,EAAMkwB,QAAQmR,UAAYrhC,EAAMkwB,QAAQmR,SAASC,QAChE,IAAIF,GAAWE,EAEb,WADA1qC,MAAK2nC,mBAAmBv+B,EAI1B,IAAIuhC,GAAe3qC,KAAKo0B,eAEpBhhB,EAAO1Q,EAAQonC,eAAe1gC,GAC9B+9B,EAAY/zB,GAAQA,EAAK/S,MAC7BL,MAAKk0B,aAAaiT,EAElB,IAAIyD,GAAe5qC,KAAKo0B,gBAIpBwW,EAAatlC,OAAS,GAAKqlC,EAAarlC,OAAS,IACnDtF,KAAKsyB,KAAKE,QAAQnH,KAAK,UACrBtpB,MAAO/B,KAAKo0B,iBAIhBhrB,EAAMw1B,oBAQRl8B,EAAQsP,UAAU41B,WAAa,SAAUx+B,GACvC,GAAKpJ,KAAK8N,QAAQm4B,YACbjmC,KAAK8N,QAAQo4B,SAASn0B,IAA3B,CAEA,GAAIc,GAAK7S,KACL0yB,EAAO1yB,KAAKsyB,KAAK3xB,KAAK+xB,MAAQ,KAC9Btf,EAAO1Q,EAAQonC,eAAe1gC,EAElC,IAAIgK,EAAM,CAIR,GAAIihB,GAAWxhB,EAAG0gB,UAAU3f,IAAIR,EAAK/S,GACrCL,MAAK8N,QAAQu4B,SAAShS,EAAU,SAAUA,GACpCA,GACFxhB,EAAG0gB,UAAU/f,OAAO6gB,SAIrB,CAEH,GAAIwW,GAAOlqC,EAAKsG,gBAAgBjH,KAAK0tB,IAAI9Q,OACrChM,EAAIxH,EAAMkwB,QAAQ7P,OAAO2O,MAAQyS,EACjC/7B,EAAQ9O,KAAKsyB,KAAK3xB,KAAKoyB,OAAOniB,GAC9Bk6B,GACFh8B,MAAO4jB,EAAOA,EAAK5jB,GAASA,EAC5Bye,QAAS,WAIX,IAA0B,UAAtBvtB,KAAK8N,QAAQrH,KAAkB,CACjC,GAAI8I,GAAMvP,KAAKsyB,KAAK3xB,KAAKoyB,OAAOniB,EAAI5Q,KAAK2F,MAAM0L,MAAQ,EACvDy5B,GAAQv7B,IAAMmjB,EAAOA,EAAKnjB,GAAOA,EAGnCu7B,EAAQ9qC,KAAKuzB,UAAU3hB,SAAWjR,EAAKgE,YAEvC,IAAImM,GAAQpO,EAAQ0nC,gBAAgBhhC,EAChC0H,KACFg6B,EAAQh6B,MAAQA,EAAMgkB,SAIxB90B,KAAK8N,QAAQs4B,MAAM0E,EAAS,SAAU13B,GAChCA,GACFP,EAAG0gB,UAAUxhB,IAAI+4B,QAYzBpoC,EAAQsP,UAAU21B,mBAAqB,SAAUv+B,GAC/C,GAAKpJ,KAAK8N,QAAQm4B,WAAlB,CAEA,GAAIkB,GACA/zB,EAAO1Q,EAAQonC,eAAe1gC,EAElC,IAAIgK,EAAM,CAER+zB,EAAYnnC,KAAKo0B,cACjB,IAAInsB,GAAQk/B,EAAU7gC,QAAQ8M,EAAK/S,GACtB,KAAT4H,EAEFk/B,EAAUr/B,KAAKsL,EAAK/S,IAIpB8mC,EAAUj/B,OAAOD,EAAO,GAE1BjI,KAAKk0B,aAAaiT,GAElBnnC,KAAKsyB,KAAKE,QAAQnH,KAAK,UACrBtpB,MAAO/B,KAAKo0B,iBAGdhrB,EAAMw1B,qBAUVl8B,EAAQonC,eAAiB,SAAS1gC,GAEhC,IADA,GAAIG,GAASH,EAAMG,OACZA,GAAQ,CACb,GAAIA,EAAO9D,eAAe,iBACxB,MAAO8D,GAAO,gBAEhBA,GAASA,EAAOG,WAGlB,MAAO,OASThH,EAAQ0nC,gBAAkB,SAAShhC,GAEjC,IADA,GAAIG,GAASH,EAAMG,OACZA,GAAQ,CACb,GAAIA,EAAO9D,eAAe,kBACxB,MAAO8D,GAAO,iBAEhBA,GAASA,EAAOG,WAGlB,MAAO,OASThH,EAAQqoC,kBAAoB,SAAS3hC,GAEnC,IADA,GAAIG,GAASH,EAAMG,OACZA,GAAQ,CACb,GAAIA,EAAO9D,eAAe,oBACxB,MAAO8D,GAAO,mBAEhBA,GAASA,EAAOG,WAGlB,MAAO,OAGT7J,EAAOD,QAAU8C,GAKb,SAAS7C,EAAQD,EAASM,GAS9B,QAASyC,GAAO2vB,EAAMxkB,EAASk9B,EAAMlM,GACnC9+B,KAAKsyB,KAAOA,EACZtyB,KAAKgyB,gBACHjkB,SAAS,EACTkxB,OAAO,EACPgM,SAAU,GACVC,YAAa,EACb9jC,MACE4e,SAAS,EACT9E,SAAU,YAEZyD,OACEqB,SAAS,EACT9E,SAAU,aAGdlhB,KAAKgrC,KAAOA,EACZhrC,KAAK8N,QAAUnN,EAAKsE,UAAUjF,KAAKgyB,gBACnChyB,KAAK8+B,iBAAmBA,EAExB9+B,KAAKigC,eACLjgC,KAAK0tB,OACL1tB,KAAKi0B,UACLj0B,KAAKkgC,eAAiB,EACtBlgC,KAAKqyB,UAELryB,KAAKoa,WAAWtM;CAjClB,GAAInN,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BkC,EAAYlC,EAAoB,GAkCpCyC,GAAOqP,UAAY,GAAI5P,GAGvBO,EAAOqP,UAAUmuB,SAAW,SAASpa,EAAOqa,GACrCpgC,KAAKi0B,OAAOxuB,eAAesgB,KAC9B/lB,KAAKi0B,OAAOlO,GAASqa,GAEvBpgC,KAAKkgC,gBAAkB,GAGzBv9B,EAAOqP,UAAUquB,YAAc,SAASta,EAAOqa,GAC7CpgC,KAAKi0B,OAAOlO,GAASqa,GAGvBz9B,EAAOqP,UAAUsuB,YAAc,SAASva,GAClC/lB,KAAKi0B,OAAOxuB,eAAesgB,WACtB/lB,MAAKi0B,OAAOlO,GACnB/lB,KAAKkgC,gBAAkB,IAI3Bv9B,EAAOqP,UAAUqgB,QAAU,WACzBryB,KAAK0tB,IAAI9Q,MAAQxM,SAASM,cAAc,OACxC1Q,KAAK0tB,IAAI9Q,MAAMjV,UAAY,SAC3B3H,KAAK0tB,IAAI9Q,MAAM3L,MAAMiQ,SAAW,WAChClhB,KAAK0tB,IAAI9Q,MAAM3L,MAAMzJ,IAAM,OAC3BxH,KAAK0tB,IAAI9Q,MAAM3L,MAAMyvB,QAAU,QAE/B1gC,KAAK0tB,IAAIyd,SAAW/6B,SAASM,cAAc,OAC3C1Q,KAAK0tB,IAAIyd,SAASxjC,UAAY,aAC9B3H,KAAK0tB,IAAIyd,SAASl6B,MAAMiQ,SAAW,WACnClhB,KAAK0tB,IAAIyd,SAASl6B,MAAMzJ,IAAM,MAE9BxH,KAAK6+B,IAAMzuB,SAASC,gBAAgB,6BAA6B,OACjErQ,KAAK6+B,IAAI5tB,MAAMiQ,SAAW,WAC1BlhB,KAAK6+B,IAAI5tB,MAAMzJ,IAAM,MACrBxH,KAAK6+B,IAAI5tB,MAAMI,MAAQrR,KAAK8N,QAAQm9B,SAAW,EAAI,KAEnDjrC,KAAK0tB,IAAI9Q,MAAMtM,YAAYtQ,KAAK6+B,KAChC7+B,KAAK0tB,IAAI9Q,MAAMtM,YAAYtQ,KAAK0tB,IAAIyd,WAMtCxoC,EAAOqP,UAAUuuB,KAAO,WAElBvgC,KAAK0tB,IAAI9Q,MAAMlT,YACjB1J,KAAK0tB,IAAI9Q,MAAMlT,WAAWsG,YAAYhQ,KAAK0tB,IAAI9Q,QAQnDja,EAAOqP,UAAUwuB,KAAO,WAEjBxgC,KAAK0tB,IAAI9Q,MAAMlT,YAClB1J,KAAKsyB,KAAK5E,IAAIjE,OAAOnZ,YAAYtQ,KAAK0tB,IAAI9Q,QAI9Cja,EAAOqP,UAAUoI,WAAa,SAAStM,GACrC,GAAIP,IAAU,UAAU,cAAc,QAAQ,OAAO,QACrD5M,GAAKmF,oBAAoByH,EAAQvN,KAAK8N,QAASA,IAGjDnL,EAAOqP,UAAU+M,OAAS,WACxB,GAAIkiB,GAAe,CACnB,KAAK,GAAInM,KAAW90B,MAAKi0B,OACnBj0B,KAAKi0B,OAAOxuB,eAAeqvB,KACO,GAAhC90B,KAAKi0B,OAAOa,GAAS9O,SAAkE7f,SAA9CnG,KAAK8+B,iBAAiB9J,WAAWF,IAAuE,GAA7C90B,KAAK8+B,iBAAiB9J,WAAWF,IACvImM,IAKN,IAAuC,GAAnCjhC,KAAK8N,QAAQ9N,KAAKgrC,MAAMhlB,SAA2C,GAAvBhmB,KAAKkgC,gBAA+C,GAAxBlgC,KAAK8N,QAAQC,SAAoC,GAAhBkzB,EAC3GjhC,KAAKugC,WAEF,CACHvgC,KAAKwgC,OACmC,YAApCxgC,KAAK8N,QAAQ9N,KAAKgrC,MAAM9pB,UAA8D,eAApClhB,KAAK8N,QAAQ9N,KAAKgrC,MAAM9pB,UAC5ElhB,KAAK0tB,IAAI9Q,MAAM3L,MAAM7J,KAAO,MAC5BpH,KAAK0tB,IAAI9Q,MAAM3L,MAAM2U,UAAY,OACjC5lB,KAAK0tB,IAAIyd,SAASl6B,MAAM2U,UAAY,OACpC5lB,KAAK0tB,IAAIyd,SAASl6B,MAAM7J,KAAQpH,KAAK8N,QAAQm9B,SAAW,GAAM,KAC9DjrC,KAAK0tB,IAAIyd,SAASl6B,MAAM0T,MAAQ,GAChC3kB,KAAK6+B,IAAI5tB,MAAM7J,KAAO,MACtBpH,KAAK6+B,IAAI5tB,MAAM0T,MAAQ,KAGvB3kB,KAAK0tB,IAAI9Q,MAAM3L,MAAM0T,MAAQ,MAC7B3kB,KAAK0tB,IAAI9Q,MAAM3L,MAAM2U,UAAY,QACjC5lB,KAAK0tB,IAAIyd,SAASl6B,MAAM2U,UAAY,QACpC5lB,KAAK0tB,IAAIyd,SAASl6B,MAAM0T,MAAS3kB,KAAK8N,QAAQm9B,SAAW,GAAM,KAC/DjrC,KAAK0tB,IAAIyd,SAASl6B,MAAM7J,KAAO,GAC/BpH,KAAK6+B,IAAI5tB,MAAM0T,MAAQ,MACvB3kB,KAAK6+B,IAAI5tB,MAAM7J,KAAO,IAGgB,YAApCpH,KAAK8N,QAAQ9N,KAAKgrC,MAAM9pB,UAA8D,aAApClhB,KAAK8N,QAAQ9N,KAAKgrC,MAAM9pB,UAC5ElhB,KAAK0tB,IAAI9Q,MAAM3L,MAAMzJ,IAAM,EAAI3D,OAAO7D,KAAKsyB,KAAK5E,IAAIjE,OAAOxY,MAAMzJ,IAAIwE,QAAQ,KAAK,KAAO,KACzFhM,KAAK0tB,IAAI9Q,MAAM3L,MAAM2P,OAAS,KAG9B5gB,KAAK0tB,IAAI9Q,MAAM3L,MAAM2P,OAAS,EAAI/c,OAAO7D,KAAKsyB,KAAK5E,IAAIjE,OAAOxY,MAAMzJ,IAAIwE,QAAQ,KAAK,KAAO,KAC5FhM,KAAK0tB,IAAI9Q,MAAM3L,MAAMzJ,IAAM,IAGH,GAAtBxH,KAAK8N,QAAQmxB,OACfj/B,KAAK0tB,IAAI9Q,MAAM3L,MAAMI,MAAQrR,KAAK0tB,IAAIyd,SAASpd,YAAc,GAAK,KAClE/tB,KAAK0tB,IAAIyd,SAASl6B,MAAM0T,MAAQ,GAChC3kB,KAAK0tB,IAAIyd,SAASl6B,MAAM7J,KAAO,GAC/BpH,KAAK6+B,IAAI5tB,MAAMI,MAAQ,QAGvBrR,KAAK0tB,IAAI9Q,MAAM3L,MAAMI,MAAQrR,KAAK8N,QAAQm9B,SAAW,GAAKjrC,KAAK0tB,IAAIyd,SAASpd,YAAc,GAAK,KAC/F/tB,KAAKorC,kBAGP,IAAI7d,GAAU,EACd,KAAK,GAAIuH,KAAW90B,MAAKi0B,OACnBj0B,KAAKi0B,OAAOxuB,eAAeqvB,KACO,GAAhC90B,KAAKi0B,OAAOa,GAAS9O,SAAkE7f,SAA9CnG,KAAK8+B,iBAAiB9J,WAAWF,IAAuE,GAA7C90B,KAAK8+B,iBAAiB9J,WAAWF,KACvIvH,GAAWvtB,KAAKi0B,OAAOa,GAASvH,QAAU,UAIhDvtB,MAAK0tB,IAAIyd,SAAS5pB,UAAYgM,EAC9BvtB,KAAK0tB,IAAIyd,SAASl6B,MAAMid,WAAe,IAAOluB,KAAK8N,QAAQm9B,SAAYjrC,KAAK8N,QAAQo9B,YAAe,OAIvGvoC,EAAOqP,UAAUo5B,gBAAkB,WACjC,GAAIprC,KAAK0tB,IAAI9Q,MAAMlT,WAAY,CAC7B9I,EAAQ8O,gBAAgB1P,KAAKigC,YAC7B,IAAI3e,GAAUja,OAAOgkC,iBAAiBrrC,KAAK0tB,IAAI9Q,OAAO0uB,WAClDzK,EAAah9B,OAAOyd,EAAQtV,QAAQ,KAAK,KACzC4E,EAAIiwB,EACJvB,EAAYt/B,KAAK8N,QAAQm9B,SACzBrK,EAAa,IAAO5gC,KAAK8N,QAAQm9B,SACjCp6B,EAAIgwB,EAAa,GAAMD,EAAa,CAExC5gC,MAAK6+B,IAAI5tB,MAAMI,MAAQiuB,EAAY,EAAIuB,EAAa,IAEpD,KAAK,GAAI/L,KAAW90B,MAAKi0B,OACnBj0B,KAAKi0B,OAAOxuB,eAAeqvB,KACO,GAAhC90B,KAAKi0B,OAAOa,GAAS9O,SAAkE7f,SAA9CnG,KAAK8+B,iBAAiB9J,WAAWF,IAAuE,GAA7C90B,KAAK8+B,iBAAiB9J,WAAWF,KACvI90B,KAAKi0B,OAAOa,GAASgM,SAASlwB,EAAGC,EAAG7Q,KAAKigC,YAAajgC,KAAK6+B,IAAKS,EAAWsB,GAC3E/vB,GAAK+vB,EAAa5gC,KAAK8N,QAAQo9B,aAKrCtqC,GAAQmP,gBAAgB/P,KAAKigC,eAIjCpgC,EAAOD,QAAU+C,GAKb,SAAS9C,EAAQD,EAASM,GAoB9B,QAAS0C,GAAU0vB,EAAMxkB,GACvB9N,KAAKK,GAAKM,EAAKgE,aACf3E,KAAKsyB,KAAOA,EAEZtyB,KAAKgyB,gBACHgS,iBAAkB,OAClBuH,aAAc,UACdz2B,MAAM,EACN02B,UAAU,EACVC,YAAa,QACb9H,QACE51B,SAAS,EACTmkB,YAAa,UAEfjhB,MAAO,OACPy6B,UACEr6B,MAAO,GACPs6B,cAAe,UACf5F,MAAO,UAET5C,YACEp1B,SAAS,EACTq1B,gBAAiB,cACjBC,MAAO,IAETryB,YACEjD,SAAS,EACToD,KAAM,EACNF,MAAO,UAET26B,UACE7M,iBAAiB,EACjBC,iBAAiB,EACjBC,OAAO,EACP5tB,MAAO,OACP2U,SAAS,EACTmP,aACE/tB,MAAOiE,IAAIlF,OAAW2G,IAAI3G,QAC1Bwe,OAAQtZ,IAAIlF,OAAW2G,IAAI3G,UAG/B0lC,QACE99B,SAAS,EACTkxB,OAAO,EACP73B,MACE4e,SAAS,EACT9E,SAAU,YAEZyD,OACEqB,SAAS,EACT9E,SAAU,cAGd+S,QACEe,gBAKJh1B,KAAK8N,QAAUnN,EAAKsE,UAAWjF,KAAKgyB,gBACpChyB,KAAK0tB,OACL1tB,KAAK2F,SACL3F,KAAK0D,OAAS,KACd1D,KAAKi0B,UACLj0B,KAAK8rC,oBAAqB,CAE1B,IAAIj5B,GAAK7S,IACTA,MAAKuzB,UAAY,KACjBvzB,KAAKwzB,WAAa,KAGlBxzB,KAAK0mC,eACH30B,IAAO,SAAU3I,EAAOoJ,GACtBK,EAAG8zB,OAAOn0B,EAAOzQ,QAEnByR,OAAU,SAAUpK,EAAOoJ,GACzBK,EAAG+zB,UAAUp0B,EAAOzQ,QAEtBkT,OAAU,SAAU7L,EAAOoJ,GACzBK,EAAGg0B,UAAUr0B,EAAOzQ,SAKxB/B,KAAK8mC,gBACH/0B,IAAO,SAAU3I,EAAOoJ,GACtBK,EAAGk0B,aAAav0B,EAAOzQ,QAEzByR,OAAU,SAAUpK,EAAOoJ,GACzBK,EAAGm0B,gBAAgBx0B,EAAOzQ,QAE5BkT,OAAU,SAAU7L,EAAOoJ,GACzBK,EAAGo0B,gBAAgBz0B,EAAOzQ,SAI9B/B,KAAK+B,SACL/B,KAAKmnC,aACLnnC,KAAK+rC,UAAY/rC,KAAKsyB,KAAKpkB,MAAMY,MACjC9O,KAAKqnC,eAELrnC,KAAKigC,eACLjgC,KAAKoa,WAAWtM,GAChB9N,KAAK+iC,0BAA4B,GAEjC/iC,KAAKsyB,KAAKE,QAAQvgB,GAAG,eAAgB,WACnCY,EAAGk5B,UAAYl5B,EAAGyf,KAAKpkB,MAAMY,MAC7B+D,EAAGgsB,IAAI5tB,MAAM7J,KAAOzG,EAAKgJ,OAAOK,QAAQ6I,EAAGxB,OAC3CwB,EAAGm5B,aAAap1B,MAAM/D,KAIxB7S,KAAKqyB,UACLryB,KAAKsyB,KAAKE,QAAQnH,KAAK,UAnIzB,GAAI1qB,GAAOT,EAAoB,GAC3BU,EAAUV,EAAoB,GAC9BW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BkC,EAAYlC,EAAoB,IAChCqC,EAAWrC,EAAoB,IAC/BsC,EAAatC,EAAoB,IACjCyC,EAASzC,EAAoB,IAE7BonC,EAAY,eA6HhB1kC,GAAUoP,UAAY,GAAI5P,GAK1BQ,EAAUoP,UAAUqgB,QAAU,WAC5B,GAAIzV,GAAQxM,SAASM,cAAc,MACnCkM,GAAMjV,UAAY,YAClB3H,KAAK0tB,IAAI9Q,MAAQA,EAGjB5c,KAAK6+B,IAAMzuB,SAASC,gBAAgB,6BAA6B,OACjErQ,KAAK6+B,IAAI5tB,MAAMiQ,SAAW,WAC1BlhB,KAAK6+B,IAAI5tB,MAAMK,QAAU,GAAKtR,KAAK8N,QAAQ29B,aAAaz/B,QAAQ,KAAK,IAAM,KAC3EhM,KAAK6+B,IAAI5tB,MAAMyvB,QAAU,QACzB9jB,EAAMtM,YAAYtQ,KAAK6+B,KAGvB7+B,KAAK8N,QAAQ89B,SAAS1Z,YAAc,OACpClyB,KAAKisC,UAAY,GAAI1pC,GAASvC,KAAKsyB,KAAMtyB,KAAK8N,QAAQ89B,SAAU5rC,KAAK6+B,IAAK7+B,KAAK8N,QAAQmmB,QAEvFj0B,KAAK8N,QAAQ89B,SAAS1Z,YAAc,QACpClyB,KAAKksC,WAAa,GAAI3pC,GAASvC,KAAKsyB,KAAMtyB,KAAK8N,QAAQ89B,SAAU5rC,KAAK6+B,IAAK7+B,KAAK8N,QAAQmmB,cACjFj0B,MAAK8N,QAAQ89B,SAAS1Z,YAG7BlyB,KAAKmsC,WAAa,GAAIxpC,GAAO3C,KAAKsyB,KAAMtyB,KAAK8N,QAAQ+9B,OAAQ,OAAQ7rC,KAAK8N,QAAQmmB,QAClFj0B,KAAKosC,YAAc,GAAIzpC,GAAO3C,KAAKsyB,KAAMtyB,KAAK8N,QAAQ+9B,OAAQ,QAAS7rC,KAAK8N,QAAQmmB,QAEpFj0B,KAAKwgC,QAOP59B,EAAUoP,UAAUoI,WAAa,SAAStM,GACxC,GAAIA,EAAS,CACX,GAAIP,IAAU,WAAW,eAAe,cAAc,mBAAmB,QAAQ,WAAW,WAAW,OAAO,SAC9G5M,GAAKmF,oBAAoByH,EAAQvN,KAAK8N,QAASA,GAC/CnN,EAAKiN,aAAa5N,KAAK8N,QAASA,EAAQ,cACxCnN,EAAKiN,aAAa5N,KAAK8N,QAASA,EAAQ,cACxCnN,EAAKiN,aAAa5N,KAAK8N,QAASA,EAAQ,UACxCnN,EAAKiN,aAAa5N,KAAK8N,QAASA,EAAQ,UAEpCA,EAAQq1B,YACuB,gBAAtBr1B,GAAQq1B,YACbr1B,EAAQq1B,WAAWC,kBACqB,WAAtCt1B,EAAQq1B,WAAWC,gBACrBpjC,KAAK8N,QAAQq1B,WAAWE,MAAQ,EAEa,WAAtCv1B,EAAQq1B,WAAWC,gBAC1BpjC,KAAK8N,QAAQq1B,WAAWE,MAAQ,GAGhCrjC,KAAK8N,QAAQq1B,WAAWC,gBAAkB,cAC1CpjC,KAAK8N,QAAQq1B,WAAWE,MAAQ,KAMpCrjC,KAAKisC,WACkB9lC,SAArB2H,EAAQ89B,WACV5rC,KAAKisC,UAAU7xB,WAAWpa,KAAK8N,QAAQ89B,UACvC5rC,KAAKksC,WAAW9xB,WAAWpa,KAAK8N,QAAQ89B,WAIxC5rC,KAAKmsC,YACgBhmC,SAAnB2H,EAAQ+9B,SACV7rC,KAAKmsC,WAAW/xB,WAAWpa,KAAK8N,QAAQ+9B,QACxC7rC,KAAKosC,YAAYhyB,WAAWpa,KAAK8N,QAAQ+9B,SAIzC7rC,KAAKi0B,OAAOxuB,eAAe6hC,IAC7BtnC,KAAKi0B,OAAOqT,GAAWltB,WAAWtM,GAGlC9N,KAAK0tB,IAAI9Q,OACX5c,KAAKgsC,gBAOTppC,EAAUoP,UAAUuuB,KAAO,WAErBvgC,KAAK0tB,IAAI9Q,MAAMlT,YACjB1J,KAAK0tB,IAAI9Q,MAAMlT,WAAWsG,YAAYhQ,KAAK0tB,IAAI9Q,QAQnDha,EAAUoP,UAAUwuB,KAAO,WAEpBxgC,KAAK0tB,IAAI9Q,MAAMlT,YAClB1J,KAAKsyB,KAAK5E,IAAIjE,OAAOnZ,YAAYtQ,KAAK0tB,IAAI9Q,QAS9Cha,EAAUoP,UAAUyhB,SAAW,SAAS1xB,GACtC,GACE8R,GADEhB,EAAK7S,KAEPqpC,EAAerpC,KAAKuzB,SAGtB,IAAKxxB,EAGA,CAAA,KAAIA,YAAiBlB,IAAWkB,YAAiBjB,IAIpD,KAAM,IAAIkF,WAAU,kDAHpBhG,MAAKuzB,UAAYxxB,MAHjB/B,MAAKuzB,UAAY,IAoBnB,IAXI8V,IAEF1oC,EAAKwH,QAAQnI,KAAK0mC,cAAe,SAAUt+B,EAAUgB,GACnDigC,EAAaj3B,IAAIhJ,EAAOhB,KAI1ByL,EAAMw1B,EAAa70B,SACnBxU,KAAK6mC,UAAUhzB,IAGb7T,KAAKuzB,UAAW,CAElB,GAAIlzB,GAAKL,KAAKK,EACdM,GAAKwH,QAAQnI,KAAK0mC,cAAe,SAAUt+B,EAAUgB,GACnDyJ,EAAG0gB,UAAUthB,GAAG7I,EAAOhB,EAAU/H,KAInCwT,EAAM7T,KAAKuzB,UAAU/e,SACrBxU,KAAK2mC,OAAO9yB,GAEd7T,KAAKwnC,mBACLxnC,KAAKgsC,eACLhsC,KAAK+e,UAOPnc,EAAUoP,UAAUgiB,UAAY,SAASC,GACvC,GACEpgB,GADEhB,EAAK7S,IAgBT,IAZIA,KAAKwzB,aACP7yB,EAAKwH,QAAQnI,KAAK8mC,eAAgB,SAAU1+B,EAAUgB,GACpDyJ,EAAG2gB,WAAWlhB,YAAYlJ,EAAOhB,KAInCyL,EAAM7T,KAAKwzB,WAAWhf,SACtBxU,KAAKwzB,WAAa,KAClBxzB,KAAKinC,gBAAgBpzB,IAIlBogB,EAGA,CAAA,KAAIA,YAAkBpzB,IAAWozB,YAAkBnzB,IAItD,KAAM,IAAIkF,WAAU,kDAHpBhG,MAAKwzB,WAAaS,MAHlBj0B,MAAKwzB,WAAa,IASpB,IAAIxzB,KAAKwzB,WAAY,CAEnB,GAAInzB,GAAKL,KAAKK,EACdM,GAAKwH,QAAQnI,KAAK8mC,eAAgB,SAAU1+B,EAAUgB,GACpDyJ,EAAG2gB,WAAWvhB,GAAG7I,EAAOhB,EAAU/H,KAIpCwT,EAAM7T,KAAKwzB,WAAWhf,SACtBxU,KAAK+mC,aAAalzB,GAEpB7T,KAAK4mC,aASPhkC,EAAUoP,UAAU40B,UAAY,WAC9B5mC,KAAKwnC,mBACLxnC,KAAKqsC,sBACLrsC,KAAKgsC,eACLhsC,KAAK+e,UAEPnc,EAAUoP,UAAU20B,OAAkB,SAAU9yB,GAAM7T,KAAK4mC,UAAU/yB,IACrEjR,EAAUoP,UAAU60B,UAAkB,SAAUhzB,GAAM7T,KAAK4mC,UAAU/yB,IACrEjR,EAAUoP,UAAUg1B,gBAAmB,SAAUE,GAC/C,IAAK,GAAI/hC,GAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAAK,CACxC,GAAI2L,GAAQ9Q,KAAKwzB,WAAW5f,IAAIszB,EAAS/hC,GACzCnF,MAAKssC,aAAax7B,EAAOo2B,EAAS/hC,IAGpCnF,KAAKgsC,eACLhsC,KAAK+e,UAEPnc,EAAUoP,UAAU+0B,aAAe,SAAUG,GAAWlnC,KAAKgnC,gBAAgBE,IAE7EtkC,EAAUoP,UAAUi1B,gBAAkB,SAAUC,GAC9C,IAAK,GAAI/hC,GAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAC9BnF,KAAKi0B,OAAOxuB,eAAeyhC,EAAS/hC,MACkB,SAArDnF,KAAKi0B,OAAOiT,EAAS/hC,IAAI2I,QAAQk2B,kBACnChkC,KAAKksC,WAAW5L,YAAY4G,EAAS/hC,IACrCnF,KAAKosC,YAAY9L,YAAY4G,EAAS/hC,IACtCnF,KAAKosC,YAAYrtB,WAGjB/e,KAAKisC,UAAU3L,YAAY4G,EAAS/hC,IACpCnF,KAAKmsC,WAAW7L,YAAY4G,EAAS/hC,IACrCnF,KAAKmsC,WAAWptB,gBAEX/e,MAAKi0B,OAAOiT,EAAS/hC,IAGhCnF,MAAKwnC,mBACLxnC,KAAKgsC,eACLhsC,KAAK+e,UAUPnc,EAAUoP,UAAUs6B,aAAe,SAAUx7B,EAAOgkB,GAC7C90B,KAAKi0B,OAAOxuB,eAAeqvB,IAY9B90B,KAAKi0B,OAAOa,GAASthB,OAAO1C,GACyB,SAAjD9Q,KAAKi0B,OAAOa,GAAShnB,QAAQk2B,kBAC/BhkC,KAAKksC,WAAW7L,YAAYvL,EAAS90B,KAAKi0B,OAAOa,IACjD90B,KAAKosC,YAAY/L,YAAYvL,EAAS90B,KAAKi0B,OAAOa,MAGlD90B,KAAKisC,UAAU5L,YAAYvL,EAAS90B,KAAKi0B,OAAOa,IAChD90B,KAAKmsC,WAAW9L,YAAYvL,EAAS90B,KAAKi0B,OAAOa,OAlBnD90B,KAAKi0B,OAAOa,GAAW,GAAItyB,GAAWsO,EAAOgkB,EAAS90B,KAAK8N,QAAS9N,KAAK+iC,0BACpB,SAAjD/iC,KAAKi0B,OAAOa,GAAShnB,QAAQk2B,kBAC/BhkC,KAAKksC,WAAW/L,SAASrL,EAAS90B,KAAKi0B,OAAOa,IAC9C90B,KAAKosC,YAAYjM,SAASrL,EAAS90B,KAAKi0B,OAAOa,MAG/C90B,KAAKisC,UAAU9L,SAASrL,EAAS90B,KAAKi0B,OAAOa,IAC7C90B,KAAKmsC,WAAWhM,SAASrL,EAAS90B,KAAKi0B,OAAOa,MAclD90B,KAAKmsC,WAAWptB,SAChB/e,KAAKosC,YAAYrtB,UAGnBnc,EAAUoP,UAAUq6B,oBAAsB,WACxC,GAAsB,MAAlBrsC,KAAKuzB,UAAmB,CAC1B,GACIuB,GADAyX,IAEJ,KAAKzX,IAAW90B,MAAKi0B,OACfj0B,KAAKi0B,OAAOxuB,eAAeqvB,KAC7ByX,EAAczX,MAGlB,KAAK,GAAI7gB,KAAUjU,MAAKuzB,UAAU7hB,MAChC,GAAI1R,KAAKuzB,UAAU7hB,MAAMjM,eAAewO,GAAS,CAC/C,GAAIb,GAAOpT,KAAKuzB,UAAU7hB,MAAMuC,EAChCb,GAAKxC,EAAIjQ,EAAK6F,QAAQ4M,EAAKxC,EAAE,QAC7B27B,EAAcn5B,EAAKtC,OAAOhJ,KAAKsL,GAGnC,IAAK0hB,IAAW90B,MAAKi0B,OACfj0B,KAAKi0B,OAAOxuB,eAAeqvB,IAC7B90B,KAAKi0B,OAAOa,GAASrB,SAAS8Y,EAAczX,MAWpDlyB,EAAUoP,UAAUw1B,iBAAmB,WACrC,GAAsB,MAAlBxnC,KAAKuzB,UAAmB,CAE1B,GAAIziB,IAASzQ,GAAIinC,EAAW/Z,QAASvtB,KAAK8N,QAAQy9B,aAClDvrC,MAAKssC,aAAax7B,EAAOw2B,EACzB,IAAIkF,GAAmB,CACvB,IAAIxsC,KAAKuzB,UACP,IAAK,GAAItf,KAAUjU,MAAKuzB,UAAU7hB,MAChC,GAAI1R,KAAKuzB,UAAU7hB,MAAMjM,eAAewO,GAAS,CAC/C,GAAIb,GAAOpT,KAAKuzB,UAAU7hB,MAAMuC,EACpB9N,SAARiN,IACEA,EAAK3N,eAAe,SACHU,SAAfiN,EAAKtC,QACPsC,EAAKtC,MAAQw2B,GAIfl0B,EAAKtC,MAAQw2B,EAEfkF,EAAmBp5B,EAAKtC,OAASw2B,EAAYkF,EAAmB,EAAIA,GAMpD,GAApBA,UACKxsC,MAAKi0B,OAAOqT,GACnBtnC,KAAKmsC,WAAW7L,YAAYgH,GAC5BtnC,KAAKosC,YAAY9L,YAAYgH,GAC7BtnC,KAAKisC,UAAU3L,YAAYgH,GAC3BtnC,KAAKksC,WAAW5L,YAAYgH,eAIvBtnC,MAAKi0B,OAAOqT,GACnBtnC,KAAKmsC,WAAW7L,YAAYgH,GAC5BtnC,KAAKosC,YAAY9L,YAAYgH,GAC7BtnC,KAAKisC,UAAU3L,YAAYgH,GAC3BtnC,KAAKksC,WAAW5L,YAAYgH,EAG9BtnC,MAAKmsC,WAAWptB,SAChB/e,KAAKosC,YAAYrtB,UAQnBnc,EAAUoP,UAAU+M,OAAS,WAC3B,GAAI0e,IAAU,CAEdz9B,MAAK6+B,IAAI5tB,MAAMK,QAAU,GAAKtR,KAAK8N,QAAQ29B,aAAaz/B,QAAQ,KAAK,IAAM,MACpD7F,SAAnBnG,KAAK0oC,WAA2B1oC,KAAKqR,OAASrR,KAAK0oC,WAAa1oC,KAAKqR,SACvEosB,GAAU,GAGZA,EAAUz9B,KAAKw9B,cAAgBC,CAE/B,IAAI8K,GAAkBvoC,KAAKsyB,KAAKpkB,MAAMqB,IAAMvP,KAAKsyB,KAAKpkB,MAAMY,MACxD05B,EAAUD,GAAmBvoC,KAAKyoC,qBAAyBzoC,KAAKqR,OAASrR,KAAK0oC,SAclF,IAbA1oC,KAAKyoC,oBAAsBF,EAC3BvoC,KAAK0oC,UAAY1oC,KAAKqR,MAGtBrR,KAAKqR,MAAQrR,KAAK0tB,IAAI9Q,MAAMmR,YAIb,GAAX0P,IACFz9B,KAAK6+B,IAAI5tB,MAAMI,MAAQ1Q,EAAKgJ,OAAOK,OAAO,EAAEhK,KAAKqR,OACjDrR,KAAK6+B,IAAI5tB,MAAM7J,KAAOzG,EAAKgJ,OAAOK,QAAQhK,KAAKqR,QAGnC,GAAVm3B,GAA6C,GAA3BxoC,KAAK8rC,mBACzB9rC,KAAKgsC,mBAIL,IAAsB,GAAlBhsC,KAAK+rC,UAAgB,CACvB,GAAI9kB,GAASjnB,KAAKsyB,KAAKpkB,MAAMY,MAAQ9O,KAAK+rC,UACtC79B,EAAQlO,KAAKsyB,KAAKpkB,MAAMqB,IAAMvP,KAAKsyB,KAAKpkB,MAAMY,KAClD,IAAkB,GAAd9O,KAAKqR,MAAY,CACnB,GAAIo7B,GAAmBzsC,KAAKqR,MAAMnD,EAC9BgZ,EAAUD,EAASwlB,CACvBzsC,MAAK6+B,IAAI5tB,MAAM7J,MAASpH,KAAKqR,MAAQ6V,EAAW,MAStD,MAHAlnB,MAAKmsC,WAAWptB,SAChB/e,KAAKosC,YAAYrtB,SAEV0e,GAOT76B,EAAUoP,UAAUg6B,aAAe,WAGjC,GADAprC,EAAQ8O,gBAAgB1P,KAAKigC,aACX,GAAdjgC,KAAKqR,OAAgC,MAAlBrR,KAAKuzB,UAAmB,CAC7C,GAAIziB,GAAO3L,EACPunC,KACAC,KACAC,KACA5L,GAAe,EAGfkG,IACJ,KAAK,GAAIpS,KAAW90B,MAAKi0B,OACnBj0B,KAAKi0B,OAAOxuB,eAAeqvB,KAC7BhkB,EAAQ9Q,KAAKi0B,OAAOa,GACC,GAAjBhkB,EAAMkV,SAAgE7f,SAA5CnG,KAAK8N,QAAQmmB,OAAOe,WAAWF,IAAqE,GAA3C90B,KAAK8N,QAAQmmB,OAAOe,WAAWF,IACpHoS,EAASp/B,KAAKgtB,GAIpB,IAAIoS,EAAS5hC,OAAS,EAAG,CAEvB,GAAIunC,GAAU7sC,KAAKsyB,KAAK3xB,KAAKsyB,cAAejzB,KAAKsyB,KAAKC,SAAS7yB,KAAK2R,OAChEy7B,EAAU9sC,KAAKsyB,KAAK3xB,KAAKsyB,aAAa,EAAIjzB,KAAKsyB,KAAKC,SAAS7yB,KAAK2R,OAClEmiB,IAIJ,KAFAxzB,KAAK+sC,iBAAiB7F,EAAU1T,EAAYqZ,EAASC,GAEhD3nC,EAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAC/BunC,EAAsBxF,EAAS/hC,IAAMnF,KAAKgtC,qBAAqBxZ,EAAW0T,EAAS/hC,IAQrF,IALAnF,KAAKitC,YAAY/F,EAAUwF,EAAuBE,GAIlD5L,EAAehhC,KAAKktC,aAAahG,EAAU0F,GACvB,GAAhB5L,EAIF,MAHApgC,GAAQmP,gBAAgB/P,KAAKigC,aAC7BjgC,KAAK8rC,oBAAqB,MAC1B9rC,MAAKsyB,KAAKE,QAAQnH,KAAK,SAMzB,KAHArrB,KAAK8rC,oBAAqB,EAGrB3mC,EAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAC/B2L,EAAQ9Q,KAAKi0B,OAAOiT,EAAS/hC,IAC7BwnC,EAAmBzF,EAAS/hC,IAAMnF,KAAKmtC,qBAAqB3Z,EAAW0T,EAAS/hC,IAAK2L,EAKvF,KAAK3L,EAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAC/B2L,EAAQ9Q,KAAKi0B,OAAOiT,EAAS/hC,IACF,QAAvB2L,EAAMhD,QAAQmD,OAChBjR,KAAKotC,eAAeT,EAAmBzF,EAAS/hC,IAAK2L,EAGzD9Q,MAAKqtC,eAAenG,EAAUyF,IAKlC/rC,EAAQmP,gBAAgB/P,KAAKigC,cAI/Br9B,EAAUoP,UAAU+6B,iBAAmB,SAAU7F,EAAU1T,EAAYqZ,EAASC,GAM9E,GAAIh8B,GAAO3L,EAAGgkB,EAAG/V,CACjB,IAAI8zB,EAAS5hC,OAAS,EACpB,IAAKH,EAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAAK,CACpC2L,EAAQ9Q,KAAKi0B,OAAOiT,EAAS/hC,IAC7BquB,EAAW0T,EAAS/hC,MACpB,IAAImoC,GAAgB9Z,EAAW0T,EAAS/hC,GAExC,IAA0B,GAAtB2L,EAAMhD,QAAQgH,KAAc,CAC9B,GAAIlG,GAAQ/J,KAAKiI,IAAI,EAAGnM,EAAKsO,oBAAoB6B,EAAMyiB,UAAWsZ,EAAS,IAAK,UAChF,KAAK1jB,EAAIva,EAAOua,EAAIrY,EAAMyiB,UAAUjuB,OAAQ6jB,IAE1C,GADA/V,EAAOtC,EAAMyiB,UAAUpK,GACVhjB,SAATiN,EAAoB,CACtB,GAAIA,EAAKxC,EAAIk8B,EAAS,CACpBQ,EAAcxlC,KAAKsL,EACnB,OAGAk6B,EAAcxlC,KAAKsL,QAMzB,KAAK+V,EAAI,EAAGA,EAAIrY,EAAMyiB,UAAUjuB,OAAQ6jB,IACtC/V,EAAOtC,EAAMyiB,UAAUpK,GACVhjB,SAATiN,GACEA,EAAKxC,EAAIi8B,GAAWz5B,EAAKxC,EAAIk8B,GAC/BQ,EAAcxlC,KAAKsL,GAQ/BpT,KAAKutC,eAAerG,EAAU1T,IAGhC5wB,EAAUoP,UAAUu7B,eAAiB,SAAUrG,EAAU1T,GACvD,GAAI1iB,EACJ,IAAIo2B,EAAS5hC,OAAS,EACpB,IAAK,GAAIH,GAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAEnC,GADA2L,EAAQ9Q,KAAKi0B,OAAOiT,EAAS/hC,IACC,GAA1B2L,EAAMhD,QAAQ09B,SAAkB,CAClC,GAAI8B,GAAgB9Z,EAAW0T,EAAS/hC,GACxC,IAAImoC,EAAchoC,OAAS,EAAG,CAC5B,GAAIkoC,GAAY,EACZC,EAAiBH,EAAchoC,OAI/BooC,EAAY1tC,KAAKsyB,KAAK3xB,KAAKkyB,eAAeya,EAAcA,EAAchoC,OAAS,GAAGsL,GAAK5Q,KAAKsyB,KAAK3xB,KAAKkyB,eAAeya,EAAc,GAAG18B,GACtI+8B,EAAiBF,EAAiBC,CACtCF,GAAY3oC,KAAKwG,IAAIxG,KAAK+oC,KAAK,GAAMH,GAAiB5oC,KAAKiI,IAAI,EAAGjI,KAAKsmB,MAAMwiB,IAG7E,KAAK,GADDE,MACK1kB,EAAI,EAAOskB,EAAJtkB,EAAoBA,GAAKqkB,EACvCK,EAAY/lC,KAAKwlC,EAAcnkB,GAGjCqK,GAAW0T,EAAS/hC,IAAM0oC,KAOpCjrC,EAAUoP,UAAUi7B,YAAc,SAAU/F,EAAU1T,EAAYoZ,GAChE,GAAIlD,GAAW54B,EAAO3L,EAAEgkB,EAGpB2kB,EAFAC,KACAC,IAEJ,IAAI9G,EAAS5hC,OAAS,EAAG,CACvB,IAAKH,EAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAE/B,GADAukC,EAAYlW,EAAW0T,EAAS/hC,IAC5BukC,EAAUpkC,OAAS,EAErB,GADAwL,EAAQ9Q,KAAKi0B,OAAOiT,EAAS/hC,IACF,QAAvB2L,EAAMhD,QAAQmD,OAA2D,SAAxCH,EAAMhD,QAAQ49B,SAASC,cAA0B,CACpF,GAAIryB,GAAOowB,EAAU,GAAG74B,EACpB2I,EAAOkwB,EAAU,GAAG74B,CACxB,KAAKsY,EAAI,EAAGA,EAAIugB,EAAUpkC,OAAQ6jB,IAChC7P,EAAOA,EAAOowB,EAAUvgB,GAAGtY,EAAI64B,EAAUvgB,GAAGtY,EAAIyI,EAChDE,EAAOA,EAAOkwB,EAAUvgB,GAAGtY,EAAI64B,EAAUvgB,GAAGtY,EAAI2I,CAElDozB,GAAY1F,EAAS/hC,KAAOkG,IAAKiO,EAAMxM,IAAK0M,EAAMwqB,iBAAkBlzB,EAAMhD,QAAQk2B,sBAE/E,IAA2B,OAAvBlzB,EAAMhD,QAAQmD,MAWrB,IATE68B,EADoC,QAAlCh9B,EAAMhD,QAAQk2B,iBACE+J,EAGAC,EAGpBpB,EAAY1F,EAAS/hC,KAAOkG,IAAK,EAAGyB,IAAK,EAAGk3B,iBAAkBlzB,EAAMhD,QAAQk2B,iBAAkBiK,QAAQ,GAGjG9kB,EAAI,EAAGA,EAAIugB,EAAUpkC,OAAQ6jB,IAChC2kB,EAAgBhmC,MACd8I,EAAG84B,EAAUvgB,GAAGvY,EAChBC,EAAG64B,EAAUvgB,GAAGtY,EAChBikB,QAASoS,EAAS/hC,IAO5B,IAAI+oC,EACAH,GAAoBzoC,OAAS,IAE/ByoC,EAAoBj5B,KAAK,SAAU5P,EAAGa,GACpC,MAAIb,GAAE0L,GAAK7K,EAAE6K,EACJ1L,EAAE4vB,QAAU/uB,EAAE+uB,QAEd5vB,EAAE0L,EAAI7K,EAAE6K,IAGnBs9B,KACAluC,KAAKmuC,sBAAsBD,EAAeH,GAC1CnB,EAA4B,eAAI5sC,KAAKouC,qBAAqBF,EAAeH,GACzEnB,EAA4B,eAAE5I,iBAAmB,OACjDkD,EAASp/B,KAAK,mBAEZkmC,EAAqB1oC,OAAS,IAEhC0oC,EAAqBl5B,KAAK,SAAU5P,EAAGa,GACrC,MAAIb,GAAE0L,GAAK7K,EAAE6K,EACJ1L,EAAE4vB,QAAU/uB,EAAE+uB,QAEd5vB,EAAE0L,EAAI7K,EAAE6K,IAGnBs9B,KACAluC,KAAKmuC,sBAAsBD,EAAeF,GAC1CpB,EAA6B,gBAAI5sC,KAAKouC,qBAAqBF,EAAeF,GAC1EpB,EAA6B,gBAAE5I,iBAAmB,QAClDkD,EAASp/B,KAAK,sBAKpBlF,EAAUoP,UAAUo8B,qBAAuB,SAAUF,EAAeG,GAIlE,IAAK,GAHD7lC,GACA8Q,EAAO+0B,EAAa,GAAGx9B,EACvB2I,EAAO60B,EAAa,GAAGx9B,EAClB1L,EAAI,EAAGA,EAAIkpC,EAAa/oC,OAAQH,IACvCqD,EAAM6lC,EAAalpC,GAAGyL,EACKzK,SAAvB+nC,EAAc1lC,IAChB8Q,EAAOA,EAAO+0B,EAAalpC,GAAG0L,EAAIw9B,EAAalpC,GAAG0L,EAAIyI,EACtDE,EAAOA,EAAO60B,EAAalpC,GAAG0L,EAAIw9B,EAAalpC,GAAG0L,EAAI2I,GAGtD00B,EAAc1lC,GAAK8lC,aAAeD,EAAalpC,GAAG0L,CAGtD,KAAK,GAAI09B,KAAQL,GACXA,EAAczoC,eAAe8oC,KAC/Bj1B,EAAOA,EAAO40B,EAAcK,GAAMD,YAAcJ,EAAcK,GAAMD,YAAch1B,EAClFE,EAAOA,EAAO00B,EAAcK,GAAMD,YAAcJ,EAAcK,GAAMD,YAAc90B,EAItF,QAAQnO,IAAKiO,EAAMxM,IAAK0M,IAU1B5W,EAAUoP,UAAUk7B,aAAe,SAAUhG,EAAU0F,GACrD,GAGoE4B,GAAQC,EAHxEzN,GAAe,EACf0N,GAAgB,EAChBC,GAAiB,EACjBC,EAAU,IAAKC,EAAW,IAAKC,EAAU,KAAMC,EAAW,IAE9D,IAAI7H,EAAS5hC,OAAS,EAAG,CACvB,IAAK,GAAIH,GAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAC/BynC,EAAYnnC,eAAeyhC,EAAS/hC,KAClCynC,EAAY1F,EAAS/hC,IAAI8oC,UAAW,IACtCO,EAAS5B,EAAY1F,EAAS/hC,IAAIkG,IAClCojC,EAAS7B,EAAY1F,EAAS/hC,IAAI2H,IAEe,QAA7C8/B,EAAY1F,EAAS/hC,IAAI6+B,kBAC3B0K,GAAgB,EAChBE,EAAUA,EAAUJ,EAASA,EAASI,EACtCE,EAAoBL,EAAVK,EAAmBL,EAASK,IAGtCH,GAAiB,EACjBE,EAAWA,EAAWL,EAASA,EAASK,EACxCE,EAAsBN,EAAXM,EAAoBN,EAASM,GAM3B,IAAjBL,GACF1uC,KAAKisC,UAAU5a,SAASud,EAASE,GAEb,GAAlBH,GACF3uC,KAAKksC,WAAW7a,SAASwd,EAAUE,GAsCvC,MAlCA/N,GAAehhC,KAAKgvC,qBAAqBN,EAAgB1uC,KAAKisC,YAAejL,EAC7EA,EAAehhC,KAAKgvC,qBAAqBL,EAAgB3uC,KAAKksC,aAAelL,EAEvD,GAAlB2N,GAA2C,GAAjBD,GAC5B1uC,KAAKisC,UAAUgD,WAAY,EAC3BjvC,KAAKksC,WAAW+C,WAAY,IAG5BjvC,KAAKisC,UAAUgD,WAAY,EAC3BjvC,KAAKksC,WAAW+C,WAAY,GAG9BjvC,KAAKksC,WAAWlM,QAAU0O,EAEI,GAA1B1uC,KAAKksC,WAAWlM,QACWhgC,KAAKisC,UAAUlM,WAAtB,GAAlB4O,EAAqD3uC,KAAKksC,WAAW76B,MAChB,EAEzD2vB,EAAehhC,KAAKisC,UAAUltB,UAAYiiB,EAC1ChhC,KAAKksC,WAAWpM,iBAAmB9/B,KAAKisC,UAAUpM,WAClDmB,EAAehhC,KAAKksC,WAAWntB,UAAYiiB,GAG3CA,EAAehhC,KAAKksC,WAAWntB,UAAYiiB,EAIH,IAAtCkG,EAAS5gC,QAAQ,mBACnB4gC,EAASh/B,OAAOg/B,EAAS5gC,QAAQ,kBAAkB,GAEV,IAAvC4gC,EAAS5gC,QAAQ,oBACnB4gC,EAASh/B,OAAOg/B,EAAS5gC,QAAQ,mBAAmB,GAG/C06B,GAWTp+B,EAAUoP,UAAUg9B,qBAAuB,SAAUE,EAAUzU,GAC7D,GAAI5B,IAAU,CAad,OAZgB,IAAZqW,EACEzU,EAAK/M,IAAI9Q,MAAMlT,aACjB+wB,EAAK8F,OACL1H,GAAU,GAIP4B,EAAK/M,IAAI9Q,MAAMlT,aAClB+wB,EAAK+F,OACL3H,GAAU,GAGPA,GAUTj2B,EAAUoP,UAAUq7B,eAAiB,SAAUnG,EAAUyF,GACvD,GAEIwC,GACA3mC,EAAK4mC,EACLt+B,EACA3L,EAAEgkB,EALFklB,KACAH,KAKAmB,EAAY,CAGhB,KAAKlqC,EAAI,EAAGA,EAAI+hC,EAAS5hC,OAAQH,IAE/B,GADA2L,EAAQ9Q,KAAKi0B,OAAOiT,EAAS/hC,IACF,OAAvB2L,EAAMhD,QAAQmD,OACK,GAAjBH,EAAMkV,UAAoE7f,SAAhDnG,KAAK8N,QAAQmmB,OAAOe,WAAWkS,EAAS/hC,KAAoE,GAA/CnF,KAAK8N,QAAQmmB,OAAOe,WAAWkS,EAAS/hC,KACjI,IAAKgkB,EAAI,EAAGA,EAAIwjB,EAAmBzF,EAAS/hC,IAAIG,OAAQ6jB,IACtDklB,EAAavmC,MACX8I,EAAG+7B,EAAmBzF,EAAS/hC,IAAIgkB,GAAGvY,EACtCC,EAAG87B,EAAmBzF,EAAS/hC,IAAIgkB,GAAGtY,EACtCikB,QAASoS,EAAS/hC,KAEpBkqC,GAAa,CAMrB,IAAiB,GAAbA,EAeJ,IAZAhB,EAAav5B,KAAK,SAAU5P,EAAGa,GAC7B,MAAIb,GAAE0L,GAAK7K,EAAE6K,EACJ1L,EAAE4vB,QAAU/uB,EAAE+uB,QAEd5vB,EAAE0L,EAAI7K,EAAE6K,IAKnB5Q,KAAKmuC,sBAAsBD,EAAeG,GAGrClpC,EAAI,EAAGA,EAAIkpC,EAAa/oC,OAAQH,IAAK,CACxC2L,EAAQ9Q,KAAKi0B,OAAOoa,EAAalpC,GAAG2vB,QACpC,IAAI8K,GAAW,GAAM9uB,EAAMhD,QAAQ49B,SAASr6B,KAE5C7I,GAAM6lC,EAAalpC,GAAGyL,CACtB,IAAI0+B,GAAe,CACnB,IAA2BnpC,SAAvB+nC,EAAc1lC,GACZrD,EAAE,EAAIkpC,EAAa/oC,SAAS6pC,EAAetqC,KAAKsjB,IAAIkmB,EAAalpC,EAAE,GAAGyL,EAAIpI,IAC1ErD,EAAI,IAAwBgqC,EAAetqC,KAAKwG,IAAI8jC,EAAatqC,KAAKsjB,IAAIkmB,EAAalpC,EAAE,GAAGyL,EAAIpI,KACpG4mC,EAAWpvC,KAAKuvC,iBAAiBJ,EAAcr+B,EAAO8uB,OAEnD,CACH,GAAI4P,GAAUrqC,GAAK+oC,EAAc1lC,GAAKinC,OAASvB,EAAc1lC,GAAKknC,UAC9DC,EAAUxqC,GAAK+oC,EAAc1lC,GAAKknC,SAAW,EAC7CF,GAAUnB,EAAa/oC,SAAS6pC,EAAetqC,KAAKsjB,IAAIkmB,EAAamB,GAAS5+B,EAAIpI,IAClFmnC,EAAU,IAAsBR,EAAetqC,KAAKwG,IAAI8jC,EAAatqC,KAAKsjB,IAAIkmB,EAAasB,GAAS/+B,EAAIpI,KAC5G4mC,EAAWpvC,KAAKuvC,iBAAiBJ,EAAcr+B,EAAO8uB,GACtDsO,EAAc1lC,GAAKknC,UAAY,EAEa,SAAxC5+B,EAAMhD,QAAQ49B,SAASC,eACzB2D,EAAepB,EAAc1lC,GAAK8lC,YAClCJ,EAAc1lC,GAAK8lC,aAAex9B,EAAMmyB,aAAeoL,EAAalpC,GAAG0L,GAExB,cAAxCC,EAAMhD,QAAQ49B,SAASC,gBAC9ByD,EAAS/9B,MAAQ+9B,EAAS/9B,MAAQ68B,EAAc1lC,GAAKinC,OACrDL,EAASnoB,QAAWinB,EAAc1lC,GAAa,SAAI4mC,EAAS/9B,MAAS,GAAI+9B,EAAS/9B,OAAS68B,EAAc1lC,GAAKinC,OAAO,GACjF,QAAhC3+B,EAAMhD,QAAQ49B,SAAS3F,MAAwBqJ,EAASnoB,QAAU,GAAImoB,EAAS/9B,MAC1C,SAAhCP,EAAMhD,QAAQ49B,SAAS3F,QAAmBqJ,EAASnoB,QAAU,GAAImoB,EAAS/9B,QAGvFzQ,EAAQwQ,QAAQi9B,EAAalpC,GAAGyL,EAAIw+B,EAASnoB,OAAQonB,EAAalpC,GAAG0L,EAAIy+B,EAAcF,EAAS/9B,MAAOP,EAAMmyB,aAAeoL,EAAalpC,GAAG0L,EAAGC,EAAMnJ,UAAY,OAAQ3H,KAAKigC,YAAajgC,KAAK6+B,KAExJ,GAApC/tB,EAAMhD,QAAQkD,WAAWjD,SAC3BnN,EAAQ+P,UAAU09B,EAAalpC,GAAGyL,EAAIw+B,EAASnoB,OAAQonB,EAAalpC,GAAG0L,EAAIy+B,EAAcx+B,EAAO9Q,KAAKigC,YAAajgC,KAAK6+B,OAW7Hj8B,EAAUoP,UAAUm8B,sBAAwB,SAAUD,EAAeG,GAGnE,IAAK,GADDc,GACKhqC,EAAI,EAAGA,EAAIkpC,EAAa/oC,OAAQH,IACnCA,EAAI,EAAIkpC,EAAa/oC,SACvB6pC,EAAetqC,KAAKsjB,IAAIkmB,EAAalpC,EAAI,GAAGyL,EAAIy9B,EAAalpC,GAAGyL,IAE9DzL,EAAI,IACNgqC,EAAetqC,KAAKwG,IAAI8jC,EAActqC,KAAKsjB,IAAIkmB,EAAalpC,EAAI,GAAGyL,EAAIy9B,EAAalpC,GAAGyL,KAErE,GAAhBu+B,IACuChpC,SAArC+nC,EAAcG,EAAalpC,GAAGyL,KAChCs9B,EAAcG,EAAalpC,GAAGyL,IAAM6+B,OAAQ,EAAGC,SAAU,EAAGpB,YAAa,IAE3EJ,EAAcG,EAAalpC,GAAGyL,GAAG6+B,QAAU,IAcjD7sC,EAAUoP,UAAUu9B,iBAAmB,SAAUJ,EAAcr+B,EAAO8uB,GACpE,GAAIvuB,GAAO4V,CAwBX,OAvBIkoB,GAAer+B,EAAMhD,QAAQ49B,SAASr6B,OAAS89B,EAAe,GAChE99B,EAAuBuuB,EAAfuP,EAA0BvP,EAAWuP,EAE7CloB,EAAS,EAC2B,QAAhCnW,EAAMhD,QAAQ49B,SAAS3F,MACzB9e,GAAU,GAAMkoB,EAEuB,SAAhCr+B,EAAMhD,QAAQ49B,SAAS3F,QAC9B9e,GAAU,GAAMkoB,KAKlB99B,EAAQP,EAAMhD,QAAQ49B,SAASr6B,MAC/B4V,EAAS,EAC2B,QAAhCnW,EAAMhD,QAAQ49B,SAAS3F,MACzB9e,GAAU,GAAMnW,EAAMhD,QAAQ49B,SAASr6B,MAEA,SAAhCP,EAAMhD,QAAQ49B,SAAS3F,QAC9B9e,GAAU,GAAMnW,EAAMhD,QAAQ49B,SAASr6B,SAInCA,MAAOA,EAAO4V,OAAQA,IAUhCrkB,EAAUoP,UAAUo7B,eAAiB,SAAU5Y,EAAS1jB,GACtD,GAAe,MAAX0jB,GACEA,EAAQlvB,OAAS,EAAG,CACtB,GAAIi+B,GAAMp3B,EACNyjC,EAAY/rC,OAAO7D,KAAK6+B,IAAI5tB,MAAMK,OAAOtF,QAAQ,KAAK,IAa1D,IAZAu3B,EAAO3iC,EAAQqP,cAAc,OAAQjQ,KAAKigC,YAAajgC,KAAK6+B,KAC5D0E,EAAKryB,eAAe,KAAM,QAASJ,EAAMnJ,WAIvCwE,EADsC,GAApC2E,EAAMhD,QAAQq1B,WAAWp1B,QACvB/N,KAAK6vC,YAAYrb,EAAS1jB,GAG1B9Q,KAAK8vC,QAAQtb,GAIiB,GAAhC1jB,EAAMhD,QAAQ61B,OAAO51B,QAAiB,CACxC,GACIgiC,GADAvM,EAAW5iC,EAAQqP,cAAc,OAAOjQ,KAAKigC,YAAajgC,KAAK6+B,IAGjEkR,GADsC,OAApCj/B,EAAMhD,QAAQ61B,OAAOzR,YACf,IAAMsC,EAAQ,GAAG5jB,EAAI,MAAgBzE,EAAI,IAAMqoB,EAAQA,EAAQlvB,OAAS,GAAGsL,EAAI,KAG/E,IAAM4jB,EAAQ,GAAG5jB,EAAI,IAAMg/B,EAAY,IAAMzjC,EAAI,IAAMqoB,EAAQA,EAAQlvB,OAAS,GAAGsL,EAAI,IAAMg/B,EAEvGpM,EAAStyB,eAAe,KAAM,QAASJ,EAAMnJ,UAAY,SACzD67B,EAAStyB,eAAe,KAAM,IAAK6+B,GAGrCxM,EAAKryB,eAAe,KAAM,IAAK,IAAM/E,GAGG,GAApC2E,EAAMhD,QAAQkD,WAAWjD,SAC3B/N,KAAKgwC,YAAYxb,EAAS1jB,EAAO9Q,KAAKigC,YAAajgC,KAAK6+B,OAehEj8B,EAAUoP,UAAUg+B,YAAc,SAAUxb,EAAS1jB,EAAOnB,EAAekvB,EAAK5X,GAC/D9gB,SAAX8gB,IAAuBA,EAAS,EACpC,KAAK,GAAI9hB,GAAI,EAAGA,EAAIqvB,EAAQlvB,OAAQH,IAClCvE,EAAQ+P,UAAU6jB,EAAQrvB,GAAGyL,EAAIqW,EAAQuN,EAAQrvB,GAAG0L,EAAGC,EAAOnB,EAAekvB,IAejFj8B,EAAUoP,UAAUg7B,qBAAuB,SAAUiD,GAKnD,IAAK,GAHDC,GAAQC,EADRC,KAEAzd,EAAW3yB,KAAKsyB,KAAK3xB,KAAKgyB,SAErBxtB,EAAI,EAAGA,EAAI8qC,EAAW3qC,OAAQH,IACrC+qC,EAASvd,EAASsd,EAAW9qC,GAAGyL,GAAK5Q,KAAKqR,MAAQ,EAClD8+B,EAASF,EAAW9qC,GAAG0L,EACvBu/B,EAActoC,MAAM8I,EAAGs/B,EAAQr/B,EAAGs/B,GAGpC,OAAOC,IAcTxtC,EAAUoP,UAAUm7B,qBAAuB,SAAU8C,EAAYn/B,GAC/D,GACIo/B,GAAQC,EADRC,KAEAzd,EAAW3yB,KAAKsyB,KAAK3xB,KAAKgyB,SAC1B8H,EAAOz6B,KAAKisC,UACZ2D,EAAY/rC,OAAO7D,KAAK6+B,IAAI5tB,MAAMK,OAAOtF,QAAQ,KAAK,IACpB,UAAlC8E,EAAMhD,QAAQk2B,mBAChBvJ,EAAOz6B,KAAKksC,WAGd,KAAK,GAAI/mC,GAAI,EAAGA,EAAI8qC,EAAW3qC,OAAQH,IACrC+qC,EAASvd,EAASsd,EAAW9qC,GAAGyL,GAAK5Q,KAAKqR,MAAQ,EAClD8+B,EAAStrC,KAAKsmB,MAAMsP,EAAK0H,aAAa8N,EAAW9qC,GAAG0L,IACpDu/B,EAActoC,MAAM8I,EAAGs/B,EAAQr/B,EAAGs/B,GAKpC,OAFAr/B,GAAMoyB,gBAAgBr+B,KAAKwG,IAAIukC,EAAWnV,EAAK0H,aAAa,KAErDiO,GAUTxtC,EAAUoP,UAAUq+B,mBAAqB,SAAS7+B,GAMhD,IAAK,GAJD8+B,GAAIC,EAAIC,EAAIC,EAAIC,EAAKC,EACrBxkC,EAAItH,KAAKsmB,MAAM3Z,EAAK,GAAGZ,GAAK,IAAM/L,KAAKsmB,MAAM3Z,EAAK,GAAGX,GAAK,IAC1D+/B,EAAgB,EAAE,EAClBtrC,EAASkM,EAAKlM,OACTH,EAAI,EAAOG,EAAS,EAAbH,EAAgBA,IAE9BmrC,EAAW,GAALnrC,EAAUqM,EAAK,GAAKA,EAAKrM,EAAE,GACjCorC,EAAK/+B,EAAKrM,GACVqrC,EAAKh/B,EAAKrM,EAAE,GACZsrC,EAAcnrC,EAARH,EAAI,EAAcqM,EAAKrM,EAAE,GAAKqrC,EAUpCE,GAAQ9/B,IAAM0/B,EAAG1/B,EAAI,EAAE2/B,EAAG3/B,EAAI4/B,EAAG5/B,GAAIggC,EAAgB//B,IAAMy/B,EAAGz/B,EAAI,EAAE0/B,EAAG1/B,EAAI2/B,EAAG3/B,GAAI+/B,GAClFD,GAAQ//B,GAAM2/B,EAAG3/B,EAAI,EAAE4/B,EAAG5/B,EAAI6/B,EAAG7/B,GAAIggC,EAAgB//B,GAAM0/B,EAAG1/B,EAAI,EAAE2/B,EAAG3/B,EAAI4/B,EAAG5/B,GAAI+/B,GAGlFzkC,GAAK,IACHukC,EAAI9/B,EAAI,IACR8/B,EAAI7/B,EAAI,IACR8/B,EAAI//B,EAAI,IACR+/B,EAAI9/B,EAAI,IACR2/B,EAAG5/B,EAAI,IACP4/B,EAAG3/B,EAAI,GAGX,OAAO1E,IAaTvJ,EAAUoP,UAAU69B,YAAc,SAASr+B,EAAMV,GAC/C,GAAIuyB,GAAQvyB,EAAMhD,QAAQq1B,WAAWE,KACrC,IAAa,GAATA,GAAwBl9B,SAAVk9B,EAChB,MAAOrjC,MAAKqwC,mBAAmB7+B,EAO/B,KAAK,GAJD8+B,GAAIC,EAAIC,EAAIC,EAAIC,EAAKC,EAAKE,EAAGC,EAAGC,EAAIC,EAAGjpB,EAAGkpB,EAAGC,EAC7CC,EAAQC,EAAQC,EAASC,EAASC,EAASC,EAC3CrlC,EAAItH,KAAKsmB,MAAM3Z,EAAK,GAAGZ,GAAK,IAAM/L,KAAKsmB,MAAM3Z,EAAK,GAAGX,GAAK,IAC1DvL,EAASkM,EAAKlM,OACTH,EAAI,EAAOG,EAAS,EAAbH,EAAgBA,IAE9BmrC,EAAW,GAALnrC,EAAUqM,EAAK,GAAKA,EAAKrM,EAAE,GACjCorC,EAAK/+B,EAAKrM,GACVqrC,EAAKh/B,EAAKrM,EAAE,GACZsrC,EAAcnrC,EAARH,EAAI,EAAcqM,EAAKrM,EAAE,GAAKqrC,EAEpCK,EAAKhsC,KAAKyoB,KAAKzoB,KAAK8sB,IAAI2e,EAAG1/B,EAAI2/B,EAAG3/B,EAAE,GAAK/L,KAAK8sB,IAAI2e,EAAGz/B,EAAI0/B,EAAG1/B,EAAE,IAC9DigC,EAAKjsC,KAAKyoB,KAAKzoB,KAAK8sB,IAAI4e,EAAG3/B,EAAI4/B,EAAG5/B,EAAE,GAAK/L,KAAK8sB,IAAI4e,EAAG1/B,EAAI2/B,EAAG3/B,EAAE,IAC9DkgC,EAAKlsC,KAAKyoB,KAAKzoB,KAAK8sB,IAAI6e,EAAG5/B,EAAI6/B,EAAG7/B,EAAE,GAAK/L,KAAK8sB,IAAI6e,EAAG3/B,EAAI4/B,EAAG5/B,EAAE,IAiB9DsgC,EAAUtsC,KAAK8sB,IAAIof,EAAK1N,GACxBgO,EAAUxsC,KAAK8sB,IAAIof,EAAG,EAAE1N,GACxB+N,EAAUvsC,KAAK8sB,IAAImf,EAAKzN,GACxBiO,EAAUzsC,KAAK8sB,IAAImf,EAAG,EAAEzN,GACxBmO,EAAU3sC,KAAK8sB,IAAIkf,EAAKxN,GACxBkO,EAAU1sC,KAAK8sB,IAAIkf,EAAG,EAAExN,GAExB2N,EAAI,EAAEO,EAAU,EAAEC,EAASJ,EAASE,EACpCvpB,EAAI,EAAEspB,EAAU,EAAEF,EAASC,EAASE,EACpCL,EAAI,EAAEO,GAAUA,EAASJ,GACrBH,EAAI,IAAIA,EAAI,EAAIA,GACpBC,EAAI,EAAEC,GAAUA,EAASC,GACrBF,EAAI,IAAIA,EAAI,EAAIA,GAEpBR,GAAQ9/B,IAAM0gC,EAAUhB,EAAG1/B,EAAIogC,EAAET,EAAG3/B,EAAI2gC,EAAUf,EAAG5/B,GAAKqgC,EACxDpgC,IAAMygC,EAAUhB,EAAGz/B,EAAImgC,EAAET,EAAG1/B,EAAI0gC,EAAUf,EAAG3/B,GAAKogC,GAEpDN,GAAQ//B,GAAMygC,EAAUd,EAAG3/B,EAAImX,EAAEyoB,EAAG5/B,EAAI0gC,EAAUb,EAAG7/B,GAAKsgC,EACxDrgC,GAAMwgC,EAAUd,EAAG1/B,EAAIkX,EAAEyoB,EAAG3/B,EAAIygC,EAAUb,EAAG5/B,GAAKqgC,GAEvC,GAATR,EAAI9/B,GAAmB,GAAT8/B,EAAI7/B,IAAS6/B,EAAMH,GACxB,GAATI,EAAI//B,GAAmB,GAAT+/B,EAAI9/B,IAAS8/B,EAAMH,GACrCrkC,GAAK,IACHukC,EAAI9/B,EAAI,IACR8/B,EAAI7/B,EAAI,IACR8/B,EAAI//B,EAAI,IACR+/B,EAAI9/B,EAAI,IACR2/B,EAAG5/B,EAAI,IACP4/B,EAAG3/B,EAAI,GAGX,OAAO1E,IAUXvJ,EAAUoP,UAAU89B,QAAU,SAASt+B,GAGrC,IAAK,GADDrF,GAAI,GACChH,EAAI,EAAGA,EAAIqM,EAAKlM,OAAQH,IAE7BgH,GADO,GAALhH,EACGqM,EAAKrM,GAAGyL,EAAI,IAAMY,EAAKrM,GAAG0L,EAG1B,IAAMW,EAAKrM,GAAGyL,EAAI,IAAMY,EAAKrM,GAAG0L,CAGzC,OAAO1E,IAGTtM,EAAOD,QAAUgD,GAKb,SAAS/C,EAAQD,EAASM,GAe9B,QAAS2C,GAAUyvB,EAAMxkB,GACvB9N,KAAK0tB,KACH2W,WAAY,KACZoN,cACAC,cACAC,cACAC,cACA/hC,WACE4hC,cACAC,cACAC,cACAC,gBAGJ5xC,KAAK2F,OACHuI,OACEY,MAAO,EACPS,IAAK,EACL0lB,YAAa,GAEf4c,QAAS,GAGX7xC,KAAKgyB,gBACHE,YAAa,SAEb6M,iBAAiB,EACjBC,iBAAiB,GAEnBh/B,KAAK8N,QAAUnN,EAAKsE,UAAWjF,KAAKgyB,gBAEpChyB,KAAKsyB,KAAOA,EAGZtyB,KAAKqyB,UAELryB,KAAKoa,WAAWtM,GAjDlB,GAAInN,GAAOT,EAAoB,GAC3BkC,EAAYlC,EAAoB,IAChC2B,EAAW3B,EAAoB,IAC/BuD,EAASvD,EAAoB,GAiDjC2C,GAASmP,UAAY,GAAI5P,GAUzBS,EAASmP,UAAUoI,WAAa,SAAStM,GACnCA,IAEFnN,EAAK+E,iBAAiB,cAAe,kBAAmB,mBAAoB1F,KAAK8N,QAASA,GAItF,UAAYA,KACe,kBAAlBrK,GAAOq6B,OAEhBr6B,EAAOq6B,OAAOhwB,EAAQgwB,QAGtBr6B,EAAOquC,KAAKhkC,EAAQgwB,WAS5Bj7B,EAASmP,UAAUqgB,QAAU,WAC3BryB,KAAK0tB,IAAI2W,WAAaj0B,SAASM,cAAc,OAC7C1Q,KAAK0tB,IAAIhiB,WAAa0E,SAASM,cAAc,OAE7C1Q,KAAK0tB,IAAI2W,WAAW18B,UAAY,sBAChC3H,KAAK0tB,IAAIhiB,WAAW/D,UAAY,uBAMlC9E,EAASmP,UAAUurB,QAAU,WAEvBv9B,KAAK0tB,IAAI2W,WAAW36B,YACtB1J,KAAK0tB,IAAI2W,WAAW36B,WAAWsG,YAAYhQ,KAAK0tB,IAAI2W,YAElDrkC,KAAK0tB,IAAIhiB,WAAWhC,YACtB1J,KAAK0tB,IAAIhiB,WAAWhC,WAAWsG,YAAYhQ,KAAK0tB,IAAIhiB,YAGtD1L,KAAKsyB,KAAO,MAOdzvB,EAASmP,UAAU+M,OAAS,WAC1B,GAAIjR,GAAU9N,KAAK8N,QACfnI,EAAQ3F,KAAK2F,MACb0+B,EAAarkC,KAAK0tB,IAAI2W,WACtB34B,EAAa1L,KAAK0tB,IAAIhiB,WAGtBqyB,EAAiC,OAAvBjwB,EAAQokB,YAAwBlyB,KAAKsyB,KAAK5E,IAAIlmB,IAAMxH,KAAKsyB,KAAK5E,IAAI9M,OAC5EmxB,EAAiB1N,EAAW36B,aAAeq0B,CAG/C/9B,MAAKkhC,oBAGL,IACInC,IADc/+B,KAAK8N,QAAQokB,YACTlyB,KAAK8N,QAAQixB,iBAC/BC,EAAkBh/B,KAAK8N,QAAQkxB,eAGnCr5B,GAAMw7B,iBAAmBpC,EAAkBp5B,EAAMy7B,gBAAkB,EACnEz7B,EAAM07B,iBAAmBrC,EAAkBr5B,EAAM27B,gBAAkB,EACnE37B,EAAM2L,OAAS3L,EAAMw7B,iBAAmBx7B,EAAM07B,iBAC9C17B,EAAM0L,MAAQgzB,EAAWtW,YAEzBpoB,EAAM67B,gBAAkBxhC,KAAKsyB,KAAKC,SAAS7yB,KAAK4R,OAAS3L,EAAM07B,kBACnC,OAAvBvzB,EAAQokB,YAAuBlyB,KAAKsyB,KAAKC,SAAS3R,OAAOtP,OAAStR,KAAKsyB,KAAKC,SAAS/qB,IAAI8J,QAC9F3L,EAAM47B,eAAiB,EACvB57B,EAAM+7B,gBAAkB/7B,EAAM67B,gBAAkB77B,EAAM07B,iBACtD17B,EAAM87B,eAAiB,CAGvB,IAAIuQ,GAAwB3N,EAAW4N,YACnCC,EAAwBxmC,EAAWumC,WAsBvC,OArBA5N,GAAW36B,YAAc26B,EAAW36B,WAAWsG,YAAYq0B,GAC3D34B,EAAWhC,YAAcgC,EAAWhC,WAAWsG,YAAYtE,GAE3D24B,EAAWpzB,MAAMK,OAAStR,KAAK2F,MAAM2L,OAAS,KAE9CtR,KAAKmyC,iBAGDH,EACFjU,EAAOttB,aAAa4zB,EAAY2N,GAGhCjU,EAAOztB,YAAY+zB,GAEjB6N,EACFlyC,KAAKsyB,KAAK5E,IAAIsQ,mBAAmBvtB,aAAa/E,EAAYwmC,GAG1DlyC,KAAKsyB,KAAK5E,IAAIsQ,mBAAmB1tB,YAAY5E,GAGxC1L,KAAKw9B,cAAgBuU,GAO9BlvC,EAASmP,UAAUmgC,eAAiB,WAClC,GAAIjgB,GAAclyB,KAAK8N,QAAQokB,YAG3BpjB,EAAQnO,EAAK6F,QAAQxG,KAAKsyB,KAAKpkB,MAAMY,MAAO,UAC5CS,EAAM5O,EAAK6F,QAAQxG,KAAKsyB,KAAKpkB,MAAMqB,IAAK,UACxC0lB,EAAcj1B,KAAKsyB,KAAK3xB,KAAKoyB,OAA2C,GAAnC/yB,KAAK2F,MAAM88B,gBAAkB,KAAS97B,UACtE3G,KAAKsyB,KAAK3xB,KAAKoyB,OAAO,GAAGpsB,UAC9B8e,EAAO,GAAI5jB,GAAS,GAAIoC,MAAK6K,GAAQ,GAAI7K,MAAKsL,GAAM0lB,EACxDj1B,MAAKylB,KAAOA,CAKZ,IAAIiI,GAAM1tB,KAAK0tB,GACfA,GAAI7d,UAAU4hC,WAAa/jB,EAAI+jB,WAC/B/jB,EAAI7d,UAAU6hC,WAAahkB,EAAIgkB,WAC/BhkB,EAAI7d,UAAU8hC,WAAajkB,EAAIikB,WAC/BjkB,EAAI7d,UAAU+hC,WAAalkB,EAAIkkB,WAC/BlkB,EAAI+jB,cACJ/jB,EAAIgkB,cACJhkB,EAAIikB,cACJjkB,EAAIkkB,cAEJnsB,EAAK8V,OAGL,KAFA,GAAI6W,GAAmBjsC,OACnB2G,EAAM,EACH2Y,EAAKiR,WAAmB,IAAN5pB,GAAY,CACnCA,GACA,IAAIulC,GAAM5sB,EAAKC,aACX9U,EAAI5Q,KAAKsyB,KAAK3xB,KAAKgyB,SAAS0f,GAC5Bxb,EAAUpR,EAAKoR,SAIf72B,MAAK8N,QAAQixB,iBACf/+B,KAAKsyC,kBAAkB1hC,EAAG6U,EAAK2X,gBAAiBlL,GAG9C2E,GAAW72B,KAAK8N,QAAQkxB,iBACtBpuB,EAAI,IACkBzK,QAApBisC,IACFA,EAAmBxhC,GAErB5Q,KAAKuyC,kBAAkB3hC,EAAG6U,EAAK6X,gBAAiBpL,IAElDlyB,KAAKwyC,kBAAkB5hC,EAAGshB,IAG1BlyB,KAAKyyC,kBAAkB7hC,EAAGshB,GAG5BzM,EAAKE,OAIP,GAAI3lB,KAAK8N,QAAQkxB,gBAAiB,CAChC,GAAI0T,GAAW1yC,KAAKsyB,KAAK3xB,KAAKoyB,OAAO,GACjC4f,EAAWltB,EAAK6X,cAAcoV,GAC9BE,EAAYD,EAASrtC,QAAUtF,KAAK2F,MAAM68B,gBAAkB,IAAM,IAE9Cr8B,QAApBisC,GAA6CA,EAAZQ,IACnC5yC,KAAKuyC,kBAAkB,EAAGI,EAAUzgB,GAKxCvxB,EAAKwH,QAAQnI,KAAK0tB,IAAI7d,UAAW,SAAUgjC,GACzC,KAAOA,EAAIvtC,QAAQ,CACjB,GAAI4B,GAAO2rC,EAAIC,KACX5rC,IAAQA,EAAKwC,YACfxC,EAAKwC,WAAWsG,YAAY9I,OAapCrE,EAASmP,UAAUsgC,kBAAoB,SAAU1hC,EAAGiW,EAAMqL,GAExD,GAAInM,GAAQ/lB,KAAK0tB,IAAI7d,UAAU+hC,WAAWzhC,OAE1C,KAAK4V,EAAO,CAEV,GAAIwH,GAAUnd,SAASuyB,eAAe,GACtC5c,GAAQ3V,SAASM,cAAc,OAC/BqV,EAAMzV,YAAYid,GAClBxH,EAAMpe,UAAY,aAClB3H,KAAK0tB,IAAI2W,WAAW/zB,YAAYyV,GAElC/lB,KAAK0tB,IAAIkkB,WAAW9pC,KAAKie,GAEzBA,EAAMgtB,WAAW,GAAGC,UAAYnsB,EAEhCd,EAAM9U,MAAMzJ,IAAsB,OAAf0qB,EAAyBlyB,KAAK2F,MAAM07B,iBAAmB,KAAQ,IAClFtb,EAAM9U,MAAM7J,KAAOwJ,EAAI,MAWzB/N,EAASmP,UAAUugC,kBAAoB,SAAU3hC,EAAGiW,EAAMqL,GAExD,GAAInM,GAAQ/lB,KAAK0tB,IAAI7d,UAAU6hC,WAAWvhC,OAE1C,KAAK4V,EAAO,CAEV,GAAIwH,GAAUnd,SAASuyB,eAAe9b,EACtCd,GAAQ3V,SAASM,cAAc,OAC/BqV,EAAMpe,UAAY,aAClBoe,EAAMzV,YAAYid,GAClBvtB,KAAK0tB,IAAI2W,WAAW/zB,YAAYyV,GAElC/lB,KAAK0tB,IAAIgkB,WAAW5pC,KAAKie,GAEzBA,EAAMgtB,WAAW,GAAGC,UAAYnsB,EAGhCd,EAAM9U,MAAMzJ,IAAsB,OAAf0qB,EAAwB,IAAOlyB,KAAK2F,MAAMw7B,iBAAoB,KACjFpb,EAAM9U,MAAM7J,KAAOwJ,EAAI,MASzB/N,EAASmP,UAAUygC,kBAAoB,SAAU7hC,EAAGshB,GAElD,GAAI1E,GAAOxtB,KAAK0tB,IAAI7d,UAAU8hC,WAAWxhC,OAEpCqd,KAEHA,EAAOpd,SAASM,cAAc,OAC9B8c,EAAK7lB,UAAY,sBACjB3H,KAAK0tB,IAAIhiB,WAAW4E,YAAYkd,IAElCxtB,KAAK0tB,IAAIikB,WAAW7pC,KAAK0lB,EAEzB,IAAI7nB,GAAQ3F,KAAK2F,KAEf6nB,GAAKvc,MAAMzJ,IADM,OAAf0qB,EACevsB,EAAM07B,iBAAmB,KAGzBrhC,KAAKsyB,KAAKC,SAAS/qB,IAAI8J,OAAS,KAEnDkc,EAAKvc,MAAMK,OAAS3L,EAAM67B,gBAAkB,KAC5ChU,EAAKvc,MAAM7J,KAAQwJ,EAAIjL,EAAM47B,eAAiB,EAAK,MASrD1+B,EAASmP,UAAUwgC,kBAAoB,SAAU5hC,EAAGshB,GAElD,GAAI1E,GAAOxtB,KAAK0tB,IAAI7d,UAAU4hC,WAAWthC,OAEpCqd,KAEHA,EAAOpd,SAASM,cAAc,OAC9B8c,EAAK7lB,UAAY,sBACjB3H,KAAK0tB,IAAIhiB,WAAW4E,YAAYkd,IAElCxtB,KAAK0tB,IAAI+jB,WAAW3pC,KAAK0lB,EAEzB,IAAI7nB,GAAQ3F,KAAK2F,KAEf6nB,GAAKvc,MAAMzJ,IADM,OAAf0qB,EACe,IAGAlyB,KAAKsyB,KAAKC,SAAS/qB,IAAI8J,OAAS,KAEnDkc,EAAKvc,MAAM7J,KAAQwJ,EAAIjL,EAAM87B,eAAiB,EAAK,KACnDjU,EAAKvc,MAAMK,OAAS3L,EAAM+7B,gBAAkB,MAQ9C7+B,EAASmP,UAAUkvB,mBAAqB,WAKjClhC,KAAK0tB,IAAIkV,mBACZ5iC,KAAK0tB,IAAIkV,iBAAmBxyB,SAASM,cAAc,OACnD1Q,KAAK0tB,IAAIkV,iBAAiBj7B,UAAY,qBACtC3H,KAAK0tB,IAAIkV,iBAAiB3xB,MAAMiQ,SAAW,WAE3ClhB,KAAK0tB,IAAIkV,iBAAiBtyB,YAAYF,SAASuyB,eAAe,MAC9D3iC,KAAK0tB,IAAI2W,WAAW/zB,YAAYtQ,KAAK0tB,IAAIkV,mBAE3C5iC,KAAK2F,MAAMy7B,gBAAkBphC,KAAK0tB,IAAIkV,iBAAiBzgB,aACvDniB,KAAK2F,MAAM88B,eAAiBziC,KAAK0tB,IAAIkV,iBAAiB9lB,YAGjD9c,KAAK0tB,IAAIoV,mBACZ9iC,KAAK0tB,IAAIoV,iBAAmB1yB,SAASM,cAAc,OACnD1Q,KAAK0tB,IAAIoV,iBAAiBn7B,UAAY,qBACtC3H,KAAK0tB,IAAIoV,iBAAiB7xB,MAAMiQ,SAAW,WAE3ClhB,KAAK0tB,IAAIoV,iBAAiBxyB,YAAYF,SAASuyB,eAAe,MAC9D3iC,KAAK0tB,IAAI2W,WAAW/zB,YAAYtQ,KAAK0tB,IAAIoV,mBAE3C9iC,KAAK2F,MAAM27B,gBAAkBthC,KAAK0tB,IAAIoV,iBAAiB3gB,aACvDniB,KAAK2F,MAAM68B,eAAiBxiC,KAAK0tB,IAAIoV,iBAAiBhmB,aASxDja,EAASmP,UAAU0gB,KAAO,SAASwK,GACjC,MAAOl9B,MAAKylB,KAAKiN,KAAKwK,IAGxBr9B,EAAOD,QAAUiD,GAKb,SAAShD,EAAQD,EAASM,GAa9B,QAAS8B,GAAMwP,EAAM4nB,EAAYtrB,GAC/B9N,KAAKK,GAAK,KACVL,KAAK+9B,OAAS,KACd/9B,KAAKwR,KAAOA,EACZxR,KAAK0tB,IAAM,KACX1tB,KAAKo5B,WAAaA,MAClBp5B,KAAK8N,QAAUA,MAEf9N,KAAK+pC,UAAW,EAChB/pC,KAAK8kC,WAAY,EACjB9kC,KAAK6kC,OAAQ,EAEb7kC,KAAKwH,IAAM,KACXxH,KAAKoH,KAAO,KACZpH,KAAKqR,MAAQ,KACbrR,KAAKsR,OAAS,KA1BhB,GAAIitB,GAASr+B,EAAoB,GAgCjC8B,GAAKgQ,UAAUk2B,OAAS,WACtBloC,KAAK+pC,UAAW,EACZ/pC,KAAK8kC,WAAW9kC,KAAK+e,UAM3B/c,EAAKgQ,UAAUi2B,SAAW,WACxBjoC,KAAK+pC,UAAW,EACZ/pC,KAAK8kC,WAAW9kC,KAAK+e,UAO3B/c,EAAKgQ,UAAUozB,UAAY,SAASrH,GAC9B/9B,KAAK8kC,WACP9kC,KAAKugC,OACLvgC,KAAK+9B,OAASA,EACV/9B,KAAK+9B,QACP/9B,KAAKwgC,QAIPxgC,KAAK+9B,OAASA,GASlB/7B,EAAKgQ,UAAUnD,UAAY,WAEzB,OAAO,GAOT7M,EAAKgQ,UAAUwuB,KAAO,WACpB,OAAO,GAOTx+B,EAAKgQ,UAAUuuB,KAAO,WACpB,OAAO,GAMTv+B,EAAKgQ,UAAU+M,OAAS,aAOxB/c,EAAKgQ,UAAU8zB,YAAc,aAO7B9jC,EAAKgQ,UAAUkzB,YAAc,aAS7BljC,EAAKgQ,UAAUihC,qBAAuB,SAAUC,GAC9C,GAAIlzC,KAAK+pC,UAAY/pC,KAAK8N,QAAQo4B,SAASjxB,SAAWjV,KAAK0tB,IAAIylB,aAAc,CAE3E,GAAItgC,GAAK7S,KAELmzC,EAAe/iC,SAASM,cAAc,MAC1CyiC,GAAaxrC,UAAY,SACzBwrC,EAAalV,MAAQ,mBAErBM,EAAO4U,GACLhqC,gBAAgB,IACf8I,GAAG,MAAO,SAAU7I,GACrByJ,EAAGkrB,OAAOuH,kBAAkBzyB,GAC5BzJ,EAAMw1B,oBAGRsU,EAAO5iC,YAAY6iC,GACnBnzC,KAAK0tB,IAAIylB,aAAeA,OAEhBnzC,KAAK+pC,UAAY/pC,KAAK0tB,IAAIylB,eAE9BnzC,KAAK0tB,IAAIylB,aAAazpC,YACxB1J,KAAK0tB,IAAIylB,aAAazpC,WAAWsG,YAAYhQ,KAAK0tB,IAAIylB,cAExDnzC,KAAK0tB,IAAIylB,aAAe,OAI5BtzC,EAAOD,QAAUoC,GAKb,SAASnC,EAAQD,EAASM,GAc9B,QAAS+B,GAASuP,EAAM4nB,EAAYtrB,GAalC,GAZA9N,KAAK2F,OACH8nB,KACEpc,MAAO,EACPC,OAAQ,GAEVkc,MACEnc,MAAO,EACPC,OAAQ,IAKRE,GACgBrL,QAAdqL,EAAK1C,MACP,KAAM,IAAItL,OAAM,oCAAsCgO,EAI1DxP,GAAKzB,KAAKP,KAAMwR,EAAM4nB,EAAYtrB,GA/BpC,GAAI9L,GAAO9B,EAAoB,GAkC/B+B,GAAQ+P,UAAY,GAAIhQ,GAAM,KAAM,KAAM,MAO1CC,EAAQ+P,UAAUnD,UAAY,SAASX,GAGrC,GAAIoiB,IAAYpiB,EAAMqB,IAAMrB,EAAMY,OAAS,CAC3C,OAAQ9O,MAAKwR,KAAK1C,MAAQZ,EAAMY,MAAQwhB,GAActwB,KAAKwR,KAAK1C,MAAQZ,EAAMqB,IAAM+gB,GAMtFruB,EAAQ+P,UAAU+M,OAAS,WACzB,GAAI2O,GAAM1tB,KAAK0tB,GA2Bf,IA1BKA,IAEH1tB,KAAK0tB,OACLA,EAAM1tB,KAAK0tB,IAGXA,EAAI6Z,IAAMn3B,SAASM,cAAc,OAGjCgd,EAAIH,QAAUnd,SAASM,cAAc,OACrCgd,EAAIH,QAAQ5lB,UAAY,UACxB+lB,EAAI6Z,IAAIj3B,YAAYod,EAAIH,SAGxBG,EAAIF,KAAOpd,SAASM,cAAc,OAClCgd,EAAIF,KAAK7lB,UAAY,OAGrB+lB,EAAID,IAAMrd,SAASM,cAAc,OACjCgd,EAAID,IAAI9lB,UAAY,MAGpB+lB,EAAI6Z,IAAI,iBAAmBvnC,OAIxBA,KAAK+9B,OACR,KAAM,IAAIv6B,OAAM,yCAElB,KAAKkqB,EAAI6Z,IAAI79B,WAAY,CACvB,GAAI26B,GAAarkC,KAAK+9B,OAAOrQ,IAAI2W,UACjC,KAAKA,EAAY,KAAM,IAAI7gC,OAAM,sEACjC6gC,GAAW/zB,YAAYod,EAAI6Z,KAE7B,IAAK7Z,EAAIF,KAAK9jB,WAAY,CACxB,GAAIgC,GAAa1L,KAAK+9B,OAAOrQ,IAAIhiB,UACjC,KAAKA,EAAY,KAAM,IAAIlI,OAAM,sEACjCkI,GAAW4E,YAAYod,EAAIF,MAE7B,IAAKE,EAAID,IAAI/jB,WAAY,CACvB,GAAI+wB,GAAOz6B,KAAK+9B,OAAOrQ,IAAI+M,IAC3B,KAAK/uB,EAAY,KAAM,IAAIlI,OAAM,gEACjCi3B,GAAKnqB,YAAYod,EAAID,KAKvB,GAHAztB,KAAK8kC,WAAY,EAGb9kC,KAAKwR,KAAK+b,SAAWvtB,KAAKutB,QAAS,CAErC,GADAvtB,KAAKutB,QAAUvtB,KAAKwR,KAAK+b,QACrBvtB,KAAKutB,kBAAmBgX,SAC1B7W,EAAIH,QAAQhM,UAAY,GACxBmM,EAAIH,QAAQjd,YAAYtQ,KAAKutB,aAE1B,CAAA,GAAyBpnB,QAArBnG,KAAKwR,KAAK+b,QAIjB,KAAM,IAAI/pB,OAAM,sCAAwCxD,KAAKwR,KAAKnR,GAHlEqtB,GAAIH,QAAQhM,UAAYvhB,KAAKutB,QAM/BvtB,KAAK6kC,OAAQ,EAIX7kC,KAAKwR,KAAKysB,OAASj+B,KAAKi+B,QAC1BvQ,EAAI6Z,IAAItJ,MAAQj+B,KAAKwR,KAAKysB,MAC1Bj+B,KAAKi+B,MAAQj+B,KAAKwR,KAAKysB,MAIzB,IAAIt2B,IAAa3H,KAAKwR,KAAK7J,UAAW,IAAM3H,KAAKwR,KAAK7J,UAAY,KAC7D3H,KAAK+pC,SAAW,YAAc,GAC/B/pC,MAAK2H,WAAaA,IACpB3H,KAAK2H,UAAYA,EACjB+lB,EAAI6Z,IAAI5/B,UAAY,WAAaA,EACjC+lB,EAAIF,KAAK7lB,UAAY,YAAcA,EACnC+lB,EAAID,IAAI9lB,UAAa,WAAaA,EAElC3H,KAAK6kC,OAAQ,GAIX7kC,KAAK6kC,QACP7kC,KAAK2F,MAAM8nB,IAAInc,OAASoc,EAAID,IAAIQ,aAChCjuB,KAAK2F,MAAM8nB,IAAIpc,MAAQqc,EAAID,IAAIM,YAC/B/tB,KAAK2F,MAAM6nB,KAAKnc,MAAQqc,EAAIF,KAAKO,YACjC/tB,KAAKqR,MAAQqc,EAAI6Z,IAAIxZ,YACrB/tB,KAAKsR,OAASoc,EAAI6Z,IAAItZ,aAEtBjuB,KAAK6kC,OAAQ,GAGf7kC,KAAKizC,qBAAqBvlB,EAAI6Z,MAOhCtlC,EAAQ+P,UAAUwuB,KAAO,WAClBxgC,KAAK8kC,WACR9kC,KAAK+e,UAOT9c,EAAQ+P,UAAUuuB,KAAO,WACvB,GAAIvgC,KAAK8kC,UAAW,CAClB,GAAIpX,GAAM1tB,KAAK0tB,GAEXA,GAAI6Z,IAAI79B,YAAcgkB,EAAI6Z,IAAI79B,WAAWsG,YAAY0d,EAAI6Z,KACzD7Z,EAAIF,KAAK9jB,YAAagkB,EAAIF,KAAK9jB,WAAWsG,YAAY0d,EAAIF,MAC1DE,EAAID,IAAI/jB,YAAcgkB,EAAID,IAAI/jB,WAAWsG,YAAY0d,EAAID,KAE7DztB,KAAKwH,IAAM,KACXxH,KAAKoH,KAAO,KAEZpH,KAAK8kC,WAAY,IAQrB7iC,EAAQ+P,UAAU8zB,YAAc,WAC9B,GAAIh3B,GAAQ9O,KAAKo5B,WAAWzG,SAAS3yB,KAAKwR,KAAK1C,OAC3Ci3B,EAAQ/lC,KAAK8N,QAAQi4B,MAErBwB,EAAMvnC,KAAK0tB,IAAI6Z,IACf/Z,EAAOxtB,KAAK0tB,IAAIF,KAChBC,EAAMztB,KAAK0tB,IAAID,GAIjBztB,MAAKoH,KADM,SAAT2+B,EACUj3B,EAAQ9O,KAAKqR,MAET,QAAT00B,EACKj3B,EAIAA,EAAQ9O,KAAKqR,MAAQ,EAInCk2B,EAAIt2B,MAAM7J,KAAOpH,KAAKoH,KAAO,KAG7BomB,EAAKvc,MAAM7J,KAAQ0H,EAAQ9O,KAAK2F,MAAM6nB,KAAKnc,MAAQ,EAAK,KAGxDoc,EAAIxc,MAAM7J,KAAQ0H,EAAQ9O,KAAK2F,MAAM8nB,IAAIpc,MAAQ,EAAK,MAOxDpP,EAAQ+P,UAAUkzB,YAAc,WAC9B,GAAIhT,GAAclyB,KAAK8N,QAAQokB,YAC3BqV,EAAMvnC,KAAK0tB,IAAI6Z,IACf/Z,EAAOxtB,KAAK0tB,IAAIF,KAChBC,EAAMztB,KAAK0tB,IAAID,GAEnB,IAAmB,OAAfyE,EACFqV,EAAIt2B,MAAMzJ,KAAWxH,KAAKwH,KAAO,GAAK,KAEtCgmB,EAAKvc,MAAMzJ,IAAS,IACpBgmB,EAAKvc,MAAMK,OAAUtR,KAAK+9B,OAAOv2B,IAAMxH,KAAKwH,IAAM,EAAK,KACvDgmB,EAAKvc,MAAM2P,OAAS,OAEjB,CACH,GAAIwyB,GAAgBpzC,KAAK+9B,OAAOzK,QAAQ3tB,MAAM2L,OAC1C4c,EAAaklB,EAAgBpzC,KAAK+9B,OAAOv2B,IAAMxH,KAAK+9B,OAAOzsB,OAAStR,KAAKwH,GAE7E+/B,GAAIt2B,MAAMzJ,KAAWxH,KAAK+9B,OAAOzsB,OAAStR,KAAKwH,IAAMxH,KAAKsR,QAAU,GAAK,KACzEkc,EAAKvc,MAAMzJ,IAAU4rC,EAAgBllB,EAAc,KACnDV,EAAKvc,MAAM2P,OAAS,IAGtB6M,EAAIxc,MAAMzJ,KAAQxH,KAAK2F,MAAM8nB,IAAInc,OAAS,EAAK,MAGjDzR,EAAOD,QAAUqC,GAKb,SAASpC,EAAQD,EAASM,GAc9B,QAASgC,GAAWsP,EAAM4nB,EAAYtrB,GAcpC,GAbA9N,KAAK2F,OACH8nB,KACEjmB,IAAK,EACL6J,MAAO,EACPC,OAAQ,GAEVic,SACEjc,OAAQ,EACR+hC,WAAY,IAKZ7hC,GACgBrL,QAAdqL,EAAK1C,MACP,KAAM,IAAItL,OAAM,oCAAsCgO,EAI1DxP,GAAKzB,KAAKP,KAAMwR,EAAM4nB,EAAYtrB,GAhCpC,GAAI9L,GAAO9B,EAAoB,GAmC/BgC,GAAU8P,UAAY,GAAIhQ,GAAM,KAAM,KAAM,MAO5CE,EAAU8P,UAAUnD,UAAY,SAASX,GAGvC,GAAIoiB,IAAYpiB,EAAMqB,IAAMrB,EAAMY,OAAS,CAC3C;MAAQ9O,MAAKwR,KAAK1C,MAAQZ,EAAMY,MAAQwhB,GAActwB,KAAKwR,KAAK1C,MAAQZ,EAAMqB,IAAM+gB,GAMtFpuB,EAAU8P,UAAU+M,OAAS,WAC3B,GAAI2O,GAAM1tB,KAAK0tB,GAwBf,IAvBKA,IAEH1tB,KAAK0tB,OACLA,EAAM1tB,KAAK0tB,IAGXA,EAAI3c,MAAQX,SAASM,cAAc,OAInCgd,EAAIH,QAAUnd,SAASM,cAAc,OACrCgd,EAAIH,QAAQ5lB,UAAY,UACxB+lB,EAAI3c,MAAMT,YAAYod,EAAIH,SAG1BG,EAAID,IAAMrd,SAASM,cAAc,OACjCgd,EAAI3c,MAAMT,YAAYod,EAAID,KAG1BC,EAAI3c,MAAM,iBAAmB/Q,OAI1BA,KAAK+9B,OACR,KAAM,IAAIv6B,OAAM,yCAElB,KAAKkqB,EAAI3c,MAAMrH,WAAY,CACzB,GAAI26B,GAAarkC,KAAK+9B,OAAOrQ,IAAI2W,UACjC,KAAKA,EACH,KAAM,IAAI7gC,OAAM,sEAElB6gC,GAAW/zB,YAAYod,EAAI3c,OAK7B,GAHA/Q,KAAK8kC,WAAY,EAGb9kC,KAAKwR,KAAK+b,SAAWvtB,KAAKutB,QAAS,CAErC,GADAvtB,KAAKutB,QAAUvtB,KAAKwR,KAAK+b,QACrBvtB,KAAKutB,kBAAmBgX,SAC1B7W,EAAIH,QAAQhM,UAAY,GACxBmM,EAAIH,QAAQjd,YAAYtQ,KAAKutB,aAE1B,CAAA,GAAyBpnB,QAArBnG,KAAKwR,KAAK+b,QAIjB,KAAM,IAAI/pB,OAAM,sCAAwCxD,KAAKwR,KAAKnR,GAHlEqtB,GAAIH,QAAQhM,UAAYvhB,KAAKutB,QAM/BvtB,KAAK6kC,OAAQ,EAIX7kC,KAAKwR,KAAKysB,OAASj+B,KAAKi+B,QAC1BvQ,EAAI3c,MAAMktB,MAAQj+B,KAAKwR,KAAKysB,MAC5Bj+B,KAAKi+B,MAAQj+B,KAAKwR,KAAKysB,MAIzB,IAAIt2B,IAAa3H,KAAKwR,KAAK7J,UAAW,IAAM3H,KAAKwR,KAAK7J,UAAY,KAC7D3H,KAAK+pC,SAAW,YAAc,GAC/B/pC,MAAK2H,WAAaA,IACpB3H,KAAK2H,UAAYA,EACjB+lB,EAAI3c,MAAMpJ,UAAa,aAAeA,EACtC+lB,EAAID,IAAI9lB,UAAa,WAAaA,EAElC3H,KAAK6kC,OAAQ,GAIX7kC,KAAK6kC,QACP7kC,KAAKqR,MAAQqc,EAAI3c,MAAMgd,YACvB/tB,KAAKsR,OAASoc,EAAI3c,MAAMkd,aACxBjuB,KAAK2F,MAAM8nB,IAAIpc,MAAQqc,EAAID,IAAIM,YAC/B/tB,KAAK2F,MAAM8nB,IAAInc,OAASoc,EAAID,IAAIQ,aAChCjuB,KAAK2F,MAAM4nB,QAAQjc,OAASoc,EAAIH,QAAQU,aAGxCP,EAAIH,QAAQtc,MAAMoiC,WAAa,EAAIrzC,KAAK2F,MAAM8nB,IAAIpc,MAAQ,KAG1Dqc,EAAID,IAAIxc,MAAMzJ,KAAQxH,KAAKsR,OAAStR,KAAK2F,MAAM8nB,IAAInc,QAAU,EAAK,KAClEoc,EAAID,IAAIxc,MAAM7J,KAAQpH,KAAK2F,MAAM8nB,IAAIpc,MAAQ,EAAK,KAElDrR,KAAK6kC,OAAQ,GAGf7kC,KAAKizC,qBAAqBvlB,EAAI3c,QAOhC7O,EAAU8P,UAAUwuB,KAAO,WACpBxgC,KAAK8kC,WACR9kC,KAAK+e,UAOT7c,EAAU8P,UAAUuuB,KAAO,WACrBvgC,KAAK8kC,YACH9kC,KAAK0tB,IAAI3c,MAAMrH,YACjB1J,KAAK0tB,IAAI3c,MAAMrH,WAAWsG,YAAYhQ,KAAK0tB,IAAI3c,OAGjD/Q,KAAKwH,IAAM,KACXxH,KAAKoH,KAAO,KAEZpH,KAAK8kC,WAAY,IAQrB5iC,EAAU8P,UAAU8zB,YAAc,WAChC,GAAIh3B,GAAQ9O,KAAKo5B,WAAWzG,SAAS3yB,KAAKwR,KAAK1C,MAE/C9O,MAAKoH,KAAO0H,EAAQ9O,KAAK2F,MAAM8nB,IAAIpc,MAGnCrR,KAAK0tB,IAAI3c,MAAME,MAAM7J,KAAOpH,KAAKoH,KAAO,MAO1ClF,EAAU8P,UAAUkzB,YAAc,WAChC,GAAIhT,GAAclyB,KAAK8N,QAAQokB,YAC3BnhB,EAAQ/Q,KAAK0tB,IAAI3c,KAGnBA,GAAME,MAAMzJ,IADK,OAAf0qB,EACgBlyB,KAAKwH,IAAM,KAGVxH,KAAK+9B,OAAOzsB,OAAStR,KAAKwH,IAAMxH,KAAKsR,OAAU,MAItEzR,EAAOD,QAAUsC,GAKb,SAASrC,EAAQD,EAASM,GAe9B,QAASiC,GAAWqP,EAAM4nB,EAAYtrB,GASpC,GARA9N,KAAK2F,OACH4nB,SACElc,MAAO,IAGXrR,KAAKmhB,UAAW,EAGZ3P,EAAM,CACR,GAAkBrL,QAAdqL,EAAK1C,MACP,KAAM,IAAItL,OAAM,oCAAsCgO,EAAKnR,GAE7D,IAAgB8F,QAAZqL,EAAKjC,IACP,KAAM,IAAI/L,OAAM,kCAAoCgO,EAAKnR,IAI7D2B,EAAKzB,KAAKP,KAAMwR,EAAM4nB,EAAYtrB,GA/BpC,GAAIywB,GAASr+B,EAAoB,IAC7B8B,EAAO9B,EAAoB,GAiC/BiC,GAAU6P,UAAY,GAAIhQ,GAAM,KAAM,KAAM,MAE5CG,EAAU6P,UAAUshC,cAAgB,aAOpCnxC,EAAU6P,UAAUnD,UAAY,SAASX,GAEvC,MAAQlO,MAAKwR,KAAK1C,MAAQZ,EAAMqB,KAASvP,KAAKwR,KAAKjC,IAAMrB,EAAMY,OAMjE3M,EAAU6P,UAAU+M,OAAS,WAC3B,GAAI2O,GAAM1tB,KAAK0tB,GAoBf,IAnBKA,IAEH1tB,KAAK0tB,OACLA,EAAM1tB,KAAK0tB,IAGXA,EAAI6Z,IAAMn3B,SAASM,cAAc,OAIjCgd,EAAIH,QAAUnd,SAASM,cAAc,OACrCgd,EAAIH,QAAQ5lB,UAAY,UACxB+lB,EAAI6Z,IAAIj3B,YAAYod,EAAIH,SAGxBG,EAAI6Z,IAAI,iBAAmBvnC,OAIxBA,KAAK+9B,OACR,KAAM,IAAIv6B,OAAM,yCAElB,KAAKkqB,EAAI6Z,IAAI79B,WAAY,CACvB,GAAI26B,GAAarkC,KAAK+9B,OAAOrQ,IAAI2W,UACjC,KAAKA,EACH,KAAM,IAAI7gC,OAAM,sEAElB6gC,GAAW/zB,YAAYod,EAAI6Z,KAK7B,GAHAvnC,KAAK8kC,WAAY,EAGb9kC,KAAKwR,KAAK+b,SAAWvtB,KAAKutB,QAAS,CAErC,GADAvtB,KAAKutB,QAAUvtB,KAAKwR,KAAK+b,QACrBvtB,KAAKutB,kBAAmBgX,SAC1B7W,EAAIH,QAAQhM,UAAY,GACxBmM,EAAIH,QAAQjd,YAAYtQ,KAAKutB,aAE1B,CAAA,GAAyBpnB,QAArBnG,KAAKwR,KAAK+b,QAIjB,KAAM,IAAI/pB,OAAM,sCAAwCxD,KAAKwR,KAAKnR,GAHlEqtB,GAAIH,QAAQhM,UAAYvhB,KAAKutB,QAM/BvtB,KAAK6kC,OAAQ,EAIX7kC,KAAKwR,KAAKysB,OAASj+B,KAAKi+B,QAC1BvQ,EAAI6Z,IAAItJ,MAAQj+B,KAAKwR,KAAKysB,MAC1Bj+B,KAAKi+B,MAAQj+B,KAAKwR,KAAKysB,MAIzB,IAAIt2B,IAAa3H,KAAKwR,KAAK7J,UAAa,IAAM3H,KAAKwR,KAAK7J,UAAa,KAChE3H,KAAK+pC,SAAW,YAAc,GAC/B/pC,MAAK2H,WAAaA,IACpB3H,KAAK2H,UAAYA,EACjB+lB,EAAI6Z,IAAI5/B,UAAY3H,KAAKszC,cAAgB3rC,EAEzC3H,KAAK6kC,OAAQ,GAIX7kC,KAAK6kC,QAEP7kC,KAAKmhB,SAA6D,WAAlD9Z,OAAOgkC,iBAAiB3d,EAAIH,SAASpM,SAErDnhB,KAAK2F,MAAM4nB,QAAQlc,MAAQrR,KAAK0tB,IAAIH,QAAQQ,YAC5C/tB,KAAKsR,OAAStR,KAAK0tB,IAAI6Z,IAAItZ,aAE3BjuB,KAAK6kC,OAAQ,GAGf7kC,KAAKizC,qBAAqBvlB,EAAI6Z,KAC9BvnC,KAAKuzC,mBACLvzC,KAAKwzC,qBAOPrxC,EAAU6P,UAAUwuB,KAAO,WACpBxgC,KAAK8kC,WACR9kC,KAAK+e,UAQT5c,EAAU6P,UAAUuuB,KAAO,WACzB,GAAIvgC,KAAK8kC,UAAW,CAClB,GAAIyC,GAAMvnC,KAAK0tB,IAAI6Z,GAEfA,GAAI79B,YACN69B,EAAI79B,WAAWsG,YAAYu3B,GAG7BvnC,KAAKwH,IAAM,KACXxH,KAAKoH,KAAO,KAEZpH,KAAK8kC,WAAY,IAQrB3iC,EAAU6P,UAAU8zB,YAAc,WAChC,GAGI2N,GACA3lB,EAJA4lB,EAAc1zC,KAAK+9B,OAAO1sB,MAC1BvC,EAAQ9O,KAAKo5B,WAAWzG,SAAS3yB,KAAKwR,KAAK1C,OAC3CS,EAAMvP,KAAKo5B,WAAWzG,SAAS3yB,KAAKwR,KAAKjC,MAKhCmkC,EAAT5kC,IACFA,GAAS4kC,GAEPnkC,EAAM,EAAImkC,IACZnkC,EAAM,EAAImkC,EAEZ,IAAIC,GAAW9uC,KAAKiI,IAAIyC,EAAMT,EAAO,EAoBrC,QAlBI9O,KAAKmhB,UACPnhB,KAAKoH,KAAO0H,EACZ9O,KAAKqR,MAAQsiC,EAAW3zC,KAAK2F,MAAM4nB,QAAQlc,MAC3Cyc,EAAe9tB,KAAK2F,MAAM4nB,QAAQlc,QAOlCrR,KAAKoH,KAAO0H,EACZ9O,KAAKqR,MAAQsiC,EACb7lB,EAAejpB,KAAKwG,IAAIkE,EAAMT,EAAO9O,KAAK2F,MAAM4nB,QAAQlc,QAG1DrR,KAAK0tB,IAAI6Z,IAAIt2B,MAAM7J,KAAOpH,KAAKoH,KAAO,KACtCpH,KAAK0tB,IAAI6Z,IAAIt2B,MAAMI,MAAQsiC,EAAW,KAE9B3zC,KAAK8N,QAAQi4B,OACnB,IAAK,OACH/lC,KAAK0tB,IAAIH,QAAQtc,MAAM7J,KAAO,GAC9B,MAEF,KAAK,QACHpH,KAAK0tB,IAAIH,QAAQtc,MAAM7J,KAAOvC,KAAKiI,IAAK6mC,EAAW7lB,EAAe,EAAI9tB,KAAK8N,QAAQwT,QAAU,GAAK,IAClG,MAEF,KAAK,SACHthB,KAAK0tB,IAAIH,QAAQtc,MAAM7J,KAAOvC,KAAKiI,KAAK6mC,EAAW7lB,EAAe,EAAI9tB,KAAK8N,QAAQwT,SAAW,EAAG,GAAK,IACtG,MAEF,SAGImyB,EAFEzzC,KAAKmhB,SAEOtc,KAAKiI,KAAKgC,EAAO,GAInB,EAARA,EACYjK,KAAKwG,KAAKyD,EACnBS,EAAMT,EAAQ9O,KAAK2F,MAAM4nB,QAAQlc,MAAQ,EAAIrR,KAAK8N,QAAQwT,SAIjD,EAGlBthB,KAAK0tB,IAAIH,QAAQtc,MAAM7J,KAAOqsC,EAAc,OAQlDtxC,EAAU6P,UAAUkzB,YAAc,WAChC,GAAIhT,GAAclyB,KAAK8N,QAAQokB,YAC3BqV,EAAMvnC,KAAK0tB,IAAI6Z,GAGjBA,GAAIt2B,MAAMzJ,IADO,OAAf0qB,EACclyB,KAAKwH,IAAM,KAGVxH,KAAK+9B,OAAOzsB,OAAStR,KAAKwH,IAAMxH,KAAKsR,OAAU,MAQpEnP,EAAU6P,UAAUuhC,iBAAmB,WACrC,GAAIvzC,KAAK+pC,UAAY/pC,KAAK8N,QAAQo4B,SAASC,aAAenmC,KAAK0tB,IAAIkmB,SAAU,CAE3E,GAAIA,GAAWxjC,SAASM,cAAc,MACtCkjC,GAASjsC,UAAY,YACrBisC,EAAS5J,aAAehqC,KAGxBu+B,EAAOqV,GACLzqC,gBAAgB,IACf8I,GAAG,OAAQ,cAIdjS,KAAK0tB,IAAI6Z,IAAIj3B,YAAYsjC,GACzB5zC,KAAK0tB,IAAIkmB,SAAWA,OAEZ5zC,KAAK+pC,UAAY/pC,KAAK0tB,IAAIkmB,WAE9B5zC,KAAK0tB,IAAIkmB,SAASlqC,YACpB1J,KAAK0tB,IAAIkmB,SAASlqC,WAAWsG,YAAYhQ,KAAK0tB,IAAIkmB,UAEpD5zC,KAAK0tB,IAAIkmB,SAAW,OAQxBzxC,EAAU6P,UAAUwhC,kBAAoB,WACtC,GAAIxzC,KAAK+pC,UAAY/pC,KAAK8N,QAAQo4B,SAASC,aAAenmC,KAAK0tB,IAAImmB,UAAW,CAE5E,GAAIA,GAAYzjC,SAASM,cAAc,MACvCmjC,GAAUlsC,UAAY,aACtBksC,EAAU5J,cAAgBjqC,KAG1Bu+B,EAAOsV,GACL1qC,gBAAgB,IACf8I,GAAG,OAAQ,cAIdjS,KAAK0tB,IAAI6Z,IAAIj3B,YAAYujC,GACzB7zC,KAAK0tB,IAAImmB,UAAYA,OAEb7zC,KAAK+pC,UAAY/pC,KAAK0tB,IAAImmB,YAE9B7zC,KAAK0tB,IAAImmB,UAAUnqC,YACrB1J,KAAK0tB,IAAImmB,UAAUnqC,WAAWsG,YAAYhQ,KAAK0tB,IAAImmB,WAErD7zC,KAAK0tB,IAAImmB,UAAY,OAIzBh0C,EAAOD,QAAUuC,GAKb,SAAStC,EAAQD,EAASM,GAkC9B,QAAS4C,GAASuU,EAAW7F,EAAM1D,GACjC,KAAM9N,eAAgB8C,IACpB,KAAM,IAAIwU,aAAY,mDAGxBtX,MAAK8zC,0BAGL9zC,KAAKuX,iBAAmBF,EAGxBrX,KAAK+zC,kBAAoB,GACzB/zC,KAAKg0C,eAAiB,IAAOh0C,KAAK+zC,kBAClC/zC,KAAKi0C,WAAa,GAAMj0C,KAAKg0C,eAC7Bh0C,KAAKk0C,yBAA2B,EAChCl0C,KAAKm0C,wBAA0B,GAE/Bn0C,KAAKo0C,cAAe,EAEpBp0C,KAAKq0C,kBAAoBtiC,IAAI,KAAKuiC,KAAK,KAAKC,SAAS,KAAKC,QAAQ,KAAKC,IAAI,MAG3Ez0C,KAAKgyB,gBACH0iB,OACEC,KAAM,EACNC,UAAW,GACXC,UAAW,GACX7rB,OAAQ,GACR8rB,MAAO,UACPC,MAAO5uC,OACPqe,SAAU,GACVC,SAAU,GACVuwB,OAAO,EACPC,UAAW,QACXC,SAAU,GACVC,SAAU,UACVC,MAAO,GACP3qC,OACIkB,OAAQ,UACRD,WAAY,UACdE,WACED,OAAQ,UACRD,WAAY,WAEdG,OACEF,OAAQ,UACRD,WAAY,YAGhB2R,YAAa,UACbJ,gBAAiB,UACjBo4B,eAAgB,UAChBvkC,MAAO3K,OACPmX,YAAa,GAEfg4B,OACE9wB,SAAU,EACVC,SAAU,GACVpT,MAAO,EACPkkC,yBAA0B,EAC1BC,WAAY,IACZvkC,MAAO,OACPxG,OACEA,MAAM,UACNmB,UAAU,UACVC,MAAO,WAETopC,UAAW,UACXC,SAAU,GACVC,SAAU,QACVM,SAAU,QACVC,iBAAkB,EAClBC,MACErwC,OAAQ,GACRswC,IAAK,EACLC,UAAW1vC,QAEb2vC,aAAc,QAEhBC,kBAAiB,EACjBC,SACEC,WACEloC,SAAS,EACTmoC,MAAO,EAAI,GACXC,sBAAuB,KACvBC,eAAgB,GAChBC,aAAc,GACdC,eAAgB,IAChBC,QAAS,KAEXC,WACEJ,eAAgB,EAChBC,aAAc,IACdC,eAAgB,IAChBG,aAAc,IACdF,QAAS,KAEXG,uBACE3oC,SAAS,EACTqoC,eAAgB,EAChBC,aAAc,IACdC,eAAgB,IAChBG,aAAc,IACdF,QAAS,KAEXA,QAAS,KACTH,eAAgB,KAChBC,aAAc,KACdC,eAAgB,MAElBK,YACE5oC,SAAS,EACT6oC,gBAAiB,IACjBC,iBAAiB,IACjBC,cAAc,IACdC,eAAgB,GAChBC,qBAAsB,GACtBC,gBAAiB,IACjBC,oBAAqB,GACrBC,mBAAoB,EACpBC,YAAa,IACbC,mBAAoB,GACpBC,sBAAuB,GACvBC,WAAY,GACZC,aAAcnmC,MAAQ,EACRC,OAAQ,EACR0X,OAAQ,GACtByuB,sBAAuB,IACvBC,kBAAmB,GACnBC,uBAAwB,GAE1BC,YACE7pC,SAAS,GAEX8pC,UACE9pC,SAAS,EACT+pC,OAAQlnC,EAAG,GAAIC,EAAG,GAAIipB,KAAM,MAE9Bie,kBACEhqC,SAAS,EACTiqC,kBAAkB,GAEpBC,oBACElqC,SAAQ,EACRmqC,gBAAiB,IACjBC,YAAa,IACb/gB,UAAW,KACXghB,OAAQ,WAEVC,wBAAwB,EACxBC,cACEvqC,SAAS,EACTwqC,SAAS,EACT9xC,KAAM,aACN+xC,UAAW,IAEbC,qBAAqB,EACrBC,YAAc,GACdC,YAAc,GACdC,WAAW,EACXC,wBAAyB,IACzB/a,OAAQ,KACRD,QAASA,EACTna,SACE4H,MAAO,IACP2pB,UAAW,QACXC,SAAU,GACVC,SAAU,UACV1qC,OACEkB,OAAQ,OACRD,WAAY,YAGhBotC,aAAa,EACbC,WAAW,EACXzhB,UAAU,EACVzrB,OAAO,EACPmtC,iBAAiB,EACjBC,iBAAiB,EACjB5nC,MAAQ,OACRC,OAAS,OACT20B,YAAY,GAEdjmC,KAAKk5C,UAAYv4C,EAAKsE,UAAWjF,KAAKgyB,gBAEtChyB,KAAKm5C,UAAYzE,SAASY,UAC1Bt1C,KAAKo5C,oBAAqB,CAG1B,IAAIr2C,GAAU/C,IACdA,MAAKi0B,OAAS,GAAIhxB,GAClBjD,KAAKq5C,OAAS,GAAIn2C,GAClBlD,KAAKq5C,OAAOC,kBAAkB,WAC5Bv2C,EAAQw2C,YAIVv5C,KAAKw5C,WAAa,EAClBx5C,KAAKy5C,WAAa,EAClBz5C,KAAK05C,cAAgB,EAIrB15C,KAAK25C,qBAEL35C,KAAKqyB,UAELryB,KAAK45C,oBAEL55C,KAAK65C,qBAEL75C,KAAK85C,uBAEL95C,KAAK+5C,uBAGL/5C,KAAKg6C,gBAAgBh6C,KAAK4c,MAAME,YAAc,EAAG9c,KAAK4c,MAAMuF,aAAe,GAC3EniB,KAAKsa,UAAU,GACfta,KAAKoa,WAAWtM,GAGhB9N,KAAKi6C,kBAAmB,EACxBj6C,KAAKk6C,mBACLl6C,KAAKm6C,YAAa,EAClBn6C,KAAK64C,wBAA0B,KAG/B74C,KAAKo6C,oBACLp6C,KAAKq6C,0BACLr6C,KAAKs6C,eACLt6C,KAAK00C,SACL10C,KAAKs1C,SAGLt1C,KAAKu6C,eAAqB3pC,EAAK,EAAEC,EAAK,GACtC7Q,KAAKw6C,mBAAqB5pC,EAAK,EAAEC,EAAK,GACtC7Q,KAAKy6C,iBAAmB7pC,EAAK,EAAEC,EAAK,GACpC7Q,KAAK06C,cACL16C,KAAKua,MAAQ,EACbva,KAAK26C,cAAgB36C,KAAKua,MAG1Bva,KAAK46C,UAAY,KACjB56C,KAAK66C,UAAY,KAGjB76C,KAAK86C,gBACH/oC,IAAO,SAAU3I,EAAOoJ,GACtBzP,EAAQg4C,UAAUvoC,EAAOzQ,OACzBgB,EAAQ+L,SAEV0E,OAAU,SAAUpK,EAAOoJ,GACzBzP,EAAQi4C,aAAaxoC,EAAOzQ,OAC5BgB,EAAQ+L,SAEVmG,OAAU,SAAU7L,EAAOoJ,GACzBzP,EAAQk4C,aAAazoC,EAAOzQ,OAC5BgB,EAAQ+L,UAGZ9O,KAAKk7C,gBACHnpC,IAAO,SAAU3I,EAAOoJ,GACtBzP,EAAQo4C,UAAU3oC,EAAOzQ,OACzBgB,EAAQ+L,SAEV0E,OAAU,SAAUpK,EAAOoJ,GACzBzP,EAAQq4C,aAAa5oC,EAAOzQ,OAC5BgB,EAAQ+L,SAEVmG,OAAU,SAAU7L,EAAOoJ,GACzBzP,EAAQs4C,aAAa7oC,EAAOzQ,OAC5BgB,EAAQ+L,UAKZ9O,KAAKs7C,QAAS,EACdt7C,KAAKu7C,MAAQp1C,OAGbnG,KAAK6W,QAAQrF,EAAKxR,KAAKk5C,UAAUvC,WAAW5oC,SAAW/N,KAAKk5C,UAAUjB,mBAAmBlqC,SAGzF/N,KAAKo0C,cAAe,EAC6B,GAA7Cp0C,KAAKk5C,UAAUjB,mBAAmBlqC,QACpC/N,KAAKw7C,2BAI2B,GAA5Bx7C,KAAKk5C,UAAUN,WACjB54C,KAAKy7C,YAAW,EAAKz7C,KAAKk5C,UAAUvC,WAAW5oC,SAK/C/N,KAAKk5C,UAAUvC,WAAW5oC,SAC5B/N,KAAK07C,sBAxUT,GAAIrhC,GAAUna,EAAoB,IAC9Bq+B,EAASr+B,EAAoB,IAC7By7C,EAAYz7C,EAAoB,IAChCS,EAAOT,EAAoB,GAC3Bo4B,EAAap4B,EAAoB,IACjCW,EAAUX,EAAoB,GAC9BY,EAAWZ,EAAoB,GAC/BmD,EAAYnD,EAAoB,IAChCoD,EAAcpD,EAAoB,IAClC+C,EAAS/C,EAAoB,IAC7BgD,EAAShD,EAAoB,IAC7BiD,EAAOjD,EAAoB,IAC3B8C,EAAO9C,EAAoB,IAC3BkD,EAAQlD,EAAoB,IAC5B07C,EAAc17C,EAAoB,IAClC27C,EAAY37C,EAAoB,IAChC29B,EAAU39B,EAAoB,GAGlCA,GAAoB,IA0TpBma,EAAQvX,EAAQkP,WAShBlP,EAAQkP,UAAU8pC,eAAiB,WAIjC,IAAK,GAHDC,GAAU3rC,SAAS4rC,qBAAsB,UAGpC72C,EAAI,EAAGA,EAAI42C,EAAQz2C,OAAQH,IAAK,CACvC,GAAI82C,GAAMF,EAAQ52C,GAAG82C,IACjB/3C,EAAQ+3C,GAAO,qBAAqB73C,KAAK63C,EAC7C,IAAI/3C,EAEF,MAAO+3C,GAAI/vC,UAAU,EAAG+vC,EAAI32C,OAASpB,EAAM,GAAGoB,QAIlD,MAAO,OAQTxC,EAAQkP,UAAUkqC,UAAY,WAC5B,GAAsDC,GAAlDC,EAAO,IAAKC,EAAO,KAAMC,EAAO,IAAKC,EAAO,IAChD,KAAK,GAAIC,KAAUx8C,MAAK00C,MAClB10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GACdF,EAAQH,EAAM,IAAIG,EAAOH,EAAKvrC,GAC9B2rC,EAAQJ,EAAM,IAAII,EAAOJ,EAAKvrC,GAC9BwrC,EAAQD,EAAM,IAAIC,EAAOD,EAAKtrC,GAC9BwrC,EAAQF,EAAM,IAAIE,EAAOF,EAAKtrC,GAMtC,OAHY,MAARyrC,GAAuB,MAARC,GAAwB,KAARH,GAAuB,MAARC,IAChDD,EAAO,EAAGC,EAAO,EAAGC,EAAO,EAAGC,EAAO,IAE/BD,KAAMA,EAAMC,KAAMA,EAAMH,KAAMA,EAAMC,KAAMA,IASpDv5C,EAAQkP,UAAUyqC,YAAc,SAASvuC,GACvC,OAAQ0C,EAAI,IAAO1C,EAAMquC,KAAOruC,EAAMouC,MAC9BzrC,EAAI,IAAO3C,EAAMmuC,KAAOnuC,EAAMkuC,QASxCt5C,EAAQkP,UAAU0qC,eAAiB,SAASxuC,GAC1C,GAAIub,GAASzpB,KAAKy8C,YAAYvuC,EAE9Bub,GAAO7Y,GAAK5Q,KAAKua,MACjBkP,EAAO5Y,GAAK7Q,KAAKua,MACjBkP,EAAO7Y,GAAK,GAAM5Q,KAAK4c,MAAMC,OAAOC,YACpC2M,EAAO5Y,GAAK,GAAM7Q,KAAK4c,MAAMC,OAAOsF,aAEpCniB,KAAKg6C,iBAAiBvwB,EAAO7Y,GAAG6Y,EAAO5Y,IAUzC/N,EAAQkP,UAAUypC,WAAa,SAASkB,EAAaC,GAC/Bz2C,SAAhBw2C,IACFA,GAAc,GAEKx2C,SAAjBy2C,IACFA,GAAe,EAGjB,IACIC,GADA3uC,EAAQlO,KAAKk8C,WAGjB,IAAmB,GAAfS,EAAqB,CACvB,GAAIG,GAAgB98C,KAAKs6C,YAAYh1C,MAIjCu3C,GAH+B,GAA/B78C,KAAKk5C,UAAUZ,aACwB,GAArCt4C,KAAKk5C,UAAUvC,WAAW5oC,SAC5B+uC,GAAiB98C,KAAKk5C,UAAUvC,WAAWC,gBAC/B,UAAYkG,EAAgB,WAAa,SAGzC,QAAUA,EAAgB,QAAU,SAIT,GAArC98C,KAAKk5C,UAAUvC,WAAW5oC,SAC1B+uC,GAAiB98C,KAAKk5C,UAAUvC,WAAWC,gBACjC,YAAckG,EAAgB,YAAc,cAG5C,YAAcA,EAAgB,aAAe,SAK7D,IAAIC,GAASl4C,KAAKwG,IAAIrL,KAAK4c,MAAMC,OAAOC,YAAc,IAAK9c,KAAK4c,MAAMC,OAAOsF,aAAe,IAC5F06B,IAAaE,MAEV,CACH,GAAIrP,GAA4D,KAA/C7oC,KAAKsjB,IAAIja,EAAMouC,MAAQz3C,KAAKsjB,IAAIja,EAAMquC,OACnDS,EAA4D,KAA/Cn4C,KAAKsjB,IAAIja,EAAMkuC,MAAQv3C,KAAKsjB,IAAIja,EAAMmuC,OAEnDY,EAAaj9C,KAAK4c,MAAMC,OAAOC,YAAc4wB,EAC7CwP,EAAal9C,KAAK4c,MAAMC,OAAOsF,aAAe66B,CAElDH,GAA2BK,GAAdD,EAA4BA,EAAaC,EAGpDL,EAAY,IACdA,EAAY,GAId78C,KAAKsa,UAAUuiC,GACf78C,KAAK08C,eAAexuC,GACA,GAAhB0uC,IACF58C,KAAKs7C,QAAS,EACdt7C,KAAK8O,UASThM,EAAQkP,UAAUmrC,qBAAuB,WACvCn9C,KAAKo9C,qBACL,KAAK,GAAIC,KAAOr9C,MAAK00C,MACf10C,KAAK00C,MAAMjvC,eAAe43C,IAC5Br9C,KAAKs6C,YAAYxyC,KAAKu1C,IAiB5Bv6C,EAAQkP,UAAU6E,QAAU,SAASrF,EAAMorC,GAOzC,GANqBz2C,SAAjBy2C,IACFA,GAAe,GAGjB58C,KAAKo0C,cAAe,EAEhB5iC,GAAQA,EAAKic,MAAQjc,EAAKkjC,OAASljC,EAAK8jC,OAC1C,KAAM,IAAIh+B,aAAY,iGAOxB,IAFAtX,KAAKoa,WAAW5I,GAAQA,EAAK1D,SAEzB0D,GAAQA,EAAKic,KAEf,GAAGjc,GAAQA,EAAKic,IAAK,CACnB,GAAI6vB,GAAUj6C,EAAUk6C,WAAW/rC,EAAKic,IAExC,YADAztB,MAAK6W,QAAQymC,QAIZ,IAAI9rC,GAAQA,EAAKgsC,OAEpB,GAAGhsC,GAAQA,EAAKgsC,MAAO,CACrB,GAAIC,GAAYn6C,EAAYo6C,WAAWlsC,EAAKgsC,MAE5C,YADAx9C,MAAK6W,QAAQ4mC,QAKfz9C,MAAK29C,UAAUnsC,GAAQA,EAAKkjC,OAC5B10C,KAAK49C,UAAUpsC,GAAQA,EAAK8jC,MAE9Bt1C,MAAK69C,mBACe,GAAhBjB,IAC+C,GAA7C58C,KAAKk5C,UAAUjB,mBAAmBlqC,SACpC/N,KAAK89C,eACL99C,KAAKw7C,4BAIDx7C,KAAKk5C,UAAUN,WACjB54C,KAAK+9C,aAGT/9C,KAAK8O,SAEP9O,KAAKo0C,cAAe,GAOtBtxC,EAAQkP,UAAUoI,WAAa,SAAUtM,GACvC,GAAIA,EAAS,CACX,GAAItI,GAEA+H,GAAU,QAAQ,QAAQ,eAAe,qBAAqB,aAAa,aAAa,WAAW,mBACrG,QAAQ,SAAS,aAAa,YAAY,WAAW,aAMvD,IAJA5M,EAAK0F,uBAAuBkH,EAAOvN,KAAKk5C,UAAWprC,GACnDnN,EAAK0F,wBAAwB,SAASrG,KAAKk5C,UAAUxE,MAAO5mC,EAAQ4mC,OACpE/zC,EAAK0F,wBAAwB,QAAQ,UAAUrG,KAAKk5C,UAAU5D,MAAOxnC,EAAQwnC,OAEzExnC,EAAQkoC,UACVr1C,EAAKiN,aAAa5N,KAAKk5C,UAAUlD,QAASloC,EAAQkoC,QAAQ,aAC1Dr1C,EAAKiN,aAAa5N,KAAKk5C,UAAUlD,QAASloC,EAAQkoC,QAAQ,aAEtDloC,EAAQkoC,QAAQU,uBAAuB,CACzC12C,KAAKk5C,UAAUjB,mBAAmBlqC,SAAU,EAC5C/N,KAAKk5C,UAAUlD,QAAQU,sBAAsB3oC,SAAU,EACvD/N,KAAKk5C,UAAUlD,QAAQC,UAAUloC,SAAU,CAC3C,KAAKvI,IAAQsI,GAAQkoC,QAAQU,sBACvB5oC,EAAQkoC,QAAQU,sBAAsBjxC,eAAeD,KACvDxF,KAAKk5C,UAAUlD,QAAQU,sBAAsBlxC,GAAQsI,EAAQkoC,QAAQU,sBAAsBlxC,IAiDnG,GA3CIsI,EAAQs4B,QAAQpmC,KAAKq0C,iBAAiBtiC,IAAMjE,EAAQs4B,OACpDt4B,EAAQkwC,SAASh+C,KAAKq0C,iBAAiBC,KAAOxmC,EAAQkwC,QACtDlwC,EAAQmwC,aAAaj+C,KAAKq0C,iBAAiBE,SAAWzmC,EAAQmwC,YAC9DnwC,EAAQowC,YAAYl+C,KAAKq0C,iBAAiBG,QAAU1mC,EAAQowC,WAC5DpwC,EAAQqwC,WAAWn+C,KAAKq0C,iBAAiBI,IAAM3mC,EAAQqwC,UAE3Dx9C,EAAKiN,aAAa5N,KAAKk5C,UAAWprC,EAAQ,gBAC1CnN,EAAKiN,aAAa5N,KAAKk5C,UAAWprC,EAAQ,sBAC1CnN,EAAKiN,aAAa5N,KAAKk5C,UAAWprC,EAAQ,cAC1CnN,EAAKiN,aAAa5N,KAAKk5C,UAAWprC,EAAQ,cAC1CnN,EAAKiN,aAAa5N,KAAKk5C,UAAWprC,EAAQ,YAC1CnN,EAAKiN,aAAa5N,KAAKk5C,UAAWprC,EAAQ,oBAGtCA,EAAQiqC,mBACV/3C,KAAKo+C,SAAWp+C,KAAKk5C,UAAUnB,iBAAiBC,kBAK9ClqC,EAAQwnC,QACkBnvC,SAAxB2H,EAAQwnC,MAAM7qC,QACZ9J,EAAKmD,SAASgK,EAAQwnC,MAAM7qC,QAC9BzK,KAAKk5C,UAAU5D,MAAM7qC,SACrBzK,KAAKk5C,UAAU5D,MAAM7qC,MAAMA,MAAQqD,EAAQwnC,MAAM7qC,MACjDzK,KAAKk5C,UAAU5D,MAAM7qC,MAAMmB,UAAYkC,EAAQwnC,MAAM7qC,MACrDzK,KAAKk5C,UAAU5D,MAAM7qC,MAAMoB,MAAQiC,EAAQwnC,MAAM7qC,QAGftE,SAA9B2H,EAAQwnC,MAAM7qC,MAAMA,QAA0BzK,KAAKk5C,UAAU5D,MAAM7qC,MAAMA,MAAQqD,EAAQwnC,MAAM7qC,MAAMA,OACnEtE,SAAlC2H,EAAQwnC,MAAM7qC,MAAMmB,YAA0B5L,KAAKk5C,UAAU5D,MAAM7qC,MAAMmB,UAAYkC,EAAQwnC,MAAM7qC,MAAMmB,WAC3EzF,SAA9B2H,EAAQwnC,MAAM7qC,MAAMoB,QAA0B7L,KAAKk5C,UAAU5D,MAAM7qC,MAAMoB,MAAQiC,EAAQwnC,MAAM7qC,MAAMoB,SAIxGiC,EAAQwnC,MAAML,WACW9uC,SAAxB2H,EAAQwnC,MAAM7qC,QACZ9J,EAAKmD,SAASgK,EAAQwnC,MAAM7qC,OAAmBzK,KAAKk5C,UAAU5D,MAAML,UAAYnnC,EAAQwnC,MAAM7qC,MAC3DtE,SAA9B2H,EAAQwnC,MAAM7qC,MAAMA,QAAsBzK,KAAKk5C,UAAU5D,MAAML,UAAYnnC,EAAQwnC,MAAM7qC,MAAMA,SAK1GqD,EAAQ4mC,OACN5mC,EAAQ4mC,MAAMjqC,MAAO,CACvB,GAAI4zC,GAAc19C,EAAK6J,WAAWsD,EAAQ4mC,MAAMjqC,MAChDzK,MAAKk5C,UAAUxE,MAAMjqC,MAAMiB,WAAa2yC,EAAY3yC,WACpD1L,KAAKk5C,UAAUxE,MAAMjqC,MAAMkB,OAAS0yC,EAAY1yC,OAChD3L,KAAKk5C,UAAUxE,MAAMjqC,MAAMmB,UAAUF,WAAa2yC,EAAYzyC,UAAUF,WACxE1L,KAAKk5C,UAAUxE,MAAMjqC,MAAMmB,UAAUD,OAAS0yC,EAAYzyC,UAAUD,OACpE3L,KAAKk5C,UAAUxE,MAAMjqC,MAAMoB,MAAMH,WAAa2yC,EAAYxyC,MAAMH,WAChE1L,KAAKk5C,UAAUxE,MAAMjqC,MAAMoB,MAAMF,OAAS0yC,EAAYxyC,MAAMF,OAGhE,GAAImC,EAAQmmB,OACV,IAAK,GAAIqqB,KAAaxwC,GAAQmmB,OAC5B,GAAInmB,EAAQmmB,OAAOxuB,eAAe64C,GAAY,CAC5C,GAAIxtC,GAAQhD,EAAQmmB,OAAOqqB,EAC3Bt+C,MAAKi0B,OAAOliB,IAAIusC,EAAWxtC,GAKjC,GAAIhD,EAAQ4V,QAAS,CACnB,IAAKle,IAAQsI,GAAQ4V,QACf5V,EAAQ4V,QAAQje,eAAeD,KACjCxF,KAAKk5C,UAAUx1B,QAAQle,GAAQsI,EAAQ4V,QAAQle,GAG/CsI,GAAQ4V,QAAQjZ,QAClBzK,KAAKk5C,UAAUx1B,QAAQjZ,MAAQ9J,EAAK6J,WAAWsD,EAAQ4V,QAAQjZ,QAiBnE,GAbI,cAAgBqD,KACdA,EAAQywC,YACVv+C,KAAKw+C,UAAY,GAAI3C,GAAU77C,KAAK4c,OACpC5c,KAAKw+C,UAAUvsC,GAAG,SAAUjS,KAAKy+C,gBAAgBhsB,KAAKzyB,QAGlDA,KAAKw+C,YACPx+C,KAAKw+C,UAAUjhB,gBACRv9B,MAAKw+C,YAKd1wC,EAAQ4xB,OACV,KAAM,IAAIl8B,OAAM,8EAMpBxD,KAAK25C,qBAEL35C,KAAK0+C,0BAEL1+C,KAAK2+C,0BAEL3+C,KAAK4+C,yBAIL5+C,KAAKy+C,kBACLz+C,KAAKiiB,QAAQjiB,KAAKk5C,UAAU7nC,MAAOrR,KAAKk5C,UAAU5nC,QAClDtR,KAAKs7C,QAAS,EACdt7C,KAAK8O,SAUPhM,EAAQkP,UAAUqgB,QAAU,WAE1B,KAAOryB,KAAKuX,iBAAiByJ,iBAC3BhhB,KAAKuX,iBAAiBvH,YAAYhQ,KAAKuX,iBAAiB0J,WAY1D,IATAjhB,KAAK4c,MAAQxM,SAASM,cAAc,OACpC1Q,KAAK4c,MAAMjV,UAAY,oBACvB3H,KAAK4c,MAAM3L,MAAMiQ,SAAW,WAC5BlhB,KAAK4c,MAAM3L,MAAMkQ,SAAW,SAG5BnhB,KAAK4c,MAAMC,OAASzM,SAASM,cAAe,UAC5C1Q,KAAK4c,MAAMC,OAAO5L,MAAMiQ,SAAW,WACnClhB,KAAK4c,MAAMtM,YAAYtQ,KAAK4c,MAAMC,SAC7B7c,KAAK4c,MAAMC,OAAOyH,WAAY,CACjC,GAAIlD,GAAWhR,SAASM,cAAe,MACvC0Q,GAASnQ,MAAMxG,MAAQ,MACvB2W,EAASnQ,MAAMoQ,WAAc,OAC7BD,EAASnQ,MAAMqQ,QAAW,OAC1BF,EAASG,UAAa,mDACtBvhB,KAAK4c,MAAMC,OAAOvM,YAAY8Q,GAGhC,GAAIvO,GAAK7S,IACTA,MAAKw+B,QACLx+B,KAAK6+C,SACL7+C,KAAK0D,OAAS66B,EAAOv+B,KAAK4c,MAAMC,QAC9B4hB,iBAAiB,IAEnBz+B,KAAK0D,OAAOuO,GAAG,MAAaY,EAAGisC,OAAOrsB,KAAK5f,IAC3C7S,KAAK0D,OAAOuO,GAAG,YAAaY,EAAGksC,aAAatsB,KAAK5f,IACjD7S,KAAK0D,OAAOuO,GAAG,OAAaY,EAAGilB,QAAQrF,KAAK5f,IAC5C7S,KAAK0D,OAAOuO,GAAG,QAAaY,EAAGolB,SAASxF,KAAK5f,IAC7C7S,KAAK0D,OAAOuO,GAAG,QAAaY,EAAGmlB,SAASvF,KAAK5f,IAC7C7S,KAAK0D,OAAOuO,GAAG,YAAaY,EAAG8kB,aAAalF,KAAK5f,IACjD7S,KAAK0D,OAAOuO,GAAG,OAAaY,EAAG+kB,QAAQnF,KAAK5f,IAC5C7S,KAAK0D,OAAOuO,GAAG,UAAaY,EAAGglB,WAAWpF,KAAK5f,IAC/C7S,KAAK0D,OAAOuO,GAAG,UAAaY,EAAGmsC,WAAWvsB,KAAK5f,IAC/C7S,KAAK0D,OAAOuO,GAAG,aAAaY,EAAGklB,cAActF,KAAK5f,IAClD7S,KAAK0D,OAAOuO,GAAG,iBAAiBY,EAAGklB,cAActF,KAAK5f,IACtD7S,KAAK0D,OAAOuO,GAAG,YAAaY,EAAGosC,kBAAkBxsB,KAAK5f,IAGtD7S,KAAKuX,iBAAiBjH,YAAYtQ,KAAK4c,QASzC9Z,EAAQkP,UAAUysC,gBAAkB,WAClC,GAAI5rC,GAAK7S,IACTA,MAAK27C,UAAYA,EAEjB37C,KAAK27C,UAAUuD,QAEXl/C,KAAKk5C,UAAUrB,SAAS9pC,SAAW/N,KAAKm/C,aAC1Cn/C,KAAK27C,UAAUlpB,KAAK,KAAQzyB,KAAKo/C,QAAQ3sB,KAAK5f,GAAQ,WACtD7S,KAAK27C,UAAUlpB,KAAK,KAAQzyB,KAAKq/C,aAAa5sB,KAAK5f,GAAK,SACxD7S,KAAK27C,UAAUlpB,KAAK,OAAQzyB,KAAKs/C,UAAU7sB,KAAK5f,GAAM,WACtD7S,KAAK27C,UAAUlpB,KAAK,OAAQzyB,KAAKq/C,aAAa5sB,KAAK5f,GAAK,SACxD7S,KAAK27C,UAAUlpB,KAAK,OAAQzyB,KAAKu/C,UAAU9sB,KAAK5f,GAAM,WACtD7S,KAAK27C,UAAUlpB,KAAK,OAAQzyB,KAAKw/C,aAAa/sB,KAAK5f,GAAK,SACxD7S,KAAK27C,UAAUlpB,KAAK,QAAQzyB,KAAKy/C,WAAWhtB,KAAK5f,GAAK,WACtD7S,KAAK27C,UAAUlpB,KAAK,QAAQzyB,KAAKw/C,aAAa/sB,KAAK5f,GAAK,SACxD7S,KAAK27C,UAAUlpB,KAAK,IAAQzyB,KAAK0/C,QAAQjtB,KAAK5f,GAAQ,WACtD7S,KAAK27C,UAAUlpB,KAAK,IAAQzyB,KAAK2/C,UAAUltB,KAAK5f,GAAQ,SACxD7S,KAAK27C,UAAUlpB,KAAK,IAAQzyB,KAAK4/C,SAASntB,KAAK5f,GAAO,WACtD7S,KAAK27C,UAAUlpB,KAAK,IAAQzyB,KAAK2/C,UAAUltB,KAAK5f,GAAQ,SACxD7S,KAAK27C,UAAUlpB,KAAK,IAAQzyB,KAAK0/C,QAAQjtB,KAAK5f,GAAQ,WACtD7S,KAAK27C,UAAUlpB,KAAK,IAAQzyB,KAAK2/C,UAAUltB,KAAK5f,GAAQ,SACxD7S,KAAK27C,UAAUlpB,KAAK,IAAQzyB,KAAK4/C,SAASntB,KAAK5f,GAAO,WACtD7S,KAAK27C,UAAUlpB,KAAK,IAAQzyB,KAAK2/C,UAAUltB,KAAK5f,GAAQ,SACxD7S,KAAK27C,UAAUlpB,KAAK,SAASzyB,KAAK0/C,QAAQjtB,KAAK5f,GAAO,WACtD7S,KAAK27C,UAAUlpB,KAAK,SAASzyB,KAAK2/C,UAAUltB,KAAK5f,GAAO,SACxD7S,KAAK27C,UAAUlpB,KAAK,WAAWzyB,KAAK4/C,SAASntB,KAAK5f,GAAI,WACtD7S,KAAK27C,UAAUlpB,KAAK,WAAWzyB,KAAK2/C,UAAUltB,KAAK5f,GAAK,UAGX,GAA3C7S,KAAKk5C,UAAUnB,iBAAiBhqC,UAClC/N,KAAK27C,UAAUlpB,KAAK,SAASzyB,KAAK6/C,sBAAsBptB,KAAK5f,IAC7D7S,KAAK27C,UAAUlpB,KAAK,MAAMzyB,KAAK8/C,gBAAgBrtB,KAAK5f,MAUxD/P,EAAQkP,UAAU+tC,YAAc,SAAUtoB,GACxC,OACE7mB,EAAG6mB,EAAMW,MAAQz3B,EAAKsG,gBAAgBjH,KAAK4c,MAAMC,QACjDhM,EAAG4mB,EAAMY,MAAQ13B,EAAK4G,eAAevH,KAAK4c,MAAMC,UASpD/Z,EAAQkP,UAAUgmB,SAAW,SAAU5uB,GACrCpJ,KAAKw+B,KAAK7E,QAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,QACnDzpB,KAAKw+B,KAAKwhB,SAAU,EACpBhgD,KAAK6+C,MAAMtkC,MAAQva,KAAKigD,YAExBjgD,KAAKkgD,aAAalgD,KAAKw+B,KAAK7E,UAO9B72B,EAAQkP,UAAU2lB,aAAe,WAC/B33B,KAAKmgD,oBAUPr9C,EAAQkP,UAAUmuC,iBAAmB,WACnC,GAAI3hB,GAAOx+B,KAAKw+B,KACZ2d,EAAOn8C,KAAKogD,WAAW5hB,EAAK7E,QAQhC,IALA6E,EAAKjG,UAAW,EAChBiG,EAAK2I,aACL3I,EAAKzjB,YAAc/a,KAAKqgD,kBACxB7hB,EAAKge,OAAS,KAEF,MAARL,EAAc,CAChB3d,EAAKge,OAASL,EAAK97C,GAEd87C,EAAKmE,cACRtgD,KAAKugD,cAAcpE,GAAK,EAI1B,KAAK,GAAIqE,KAAYxgD,MAAKygD,aAAa/L,MACrC,GAAI10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+6C,GAAW,CACpD,GAAI58C,GAAS5D,KAAKygD,aAAa/L,MAAM8L,GACjCr1C,GACF9K,GAAIuD,EAAOvD,GACX87C,KAAMv4C,EAGNgN,EAAGhN,EAAOgN,EACVC,EAAGjN,EAAOiN,EACV6vC,OAAQ98C,EAAO88C,OACfC,OAAQ/8C,EAAO+8C,OAGjB/8C,GAAO88C,QAAS,EAChB98C,EAAO+8C,QAAS,EAEhBniB,EAAK2I,UAAUr/B,KAAKqD,MAW5BrI,EAAQkP,UAAU4lB,QAAU,SAAUxuB,GACpCpJ,KAAK4gD,cAAcx3C,IAUrBtG,EAAQkP,UAAU4uC,cAAgB,SAASx3C,GACzC,IAAIpJ,KAAKw+B,KAAKwhB,QAAd,CAIA,GAAIrmB,GAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,QAEzC5W,EAAK7S,KACLw+B,EAAOx+B,KAAKw+B,KACZ2I,EAAY3I,EAAK2I,SACrB,IAAIA,GAAaA,EAAU7hC,QAAsC,GAA5BtF,KAAKk5C,UAAUH,UAAmB,CAErE,GAAIxf,GAASI,EAAQ/oB,EAAI4tB,EAAK7E,QAAQ/oB,EAClC4oB,EAASG,EAAQ9oB,EAAI2tB,EAAK7E,QAAQ9oB,CAGtCs2B,GAAUh/B,QAAQ,SAAUgD,GAC1B,GAAIgxC,GAAOhxC,EAAEgxC,IAERhxC,GAAEu1C,SACLvE,EAAKvrC,EAAIiC,EAAGguC,qBAAqBhuC,EAAGiuC,qBAAqB31C,EAAEyF,GAAK2oB,IAG7DpuB,EAAEw1C,SACLxE,EAAKtrC,EAAIgC,EAAGkuC,qBAAqBluC,EAAGmuC,qBAAqB71C,EAAE0F,GAAK2oB,MAM/Dx5B,KAAKs7C,SACRt7C,KAAKs7C,QAAS,EACdt7C,KAAK8O,aAIP,IAAkC,GAA9B9O,KAAKk5C,UAAUJ,YAAqB,CAEtC,GAAIjuB,GAAQ8O,EAAQ/oB,EAAI5Q,KAAKw+B,KAAK7E,QAAQ/oB,EACtCka,EAAQ6O,EAAQ9oB,EAAI7Q,KAAKw+B,KAAK7E,QAAQ9oB,CAE1C7Q,MAAKg6C,gBACHh6C,KAAKw+B,KAAKzjB,YAAYnK,EAAIia,EAC1B7qB,KAAKw+B,KAAKzjB,YAAYlK,EAAIia,GAE5B9qB,KAAKu5C,aAWXz2C,EAAQkP,UAAU6lB,WAAa,WAC7B73B,KAAKw+B,KAAKjG,UAAW,CACrB,IAAI4O,GAAYnnC,KAAKw+B,KAAK2I,SACtBA,IAAaA,EAAU7hC,QACzB6hC,EAAUh/B,QAAQ,SAAUgD,GAE1BA,EAAEgxC,KAAKuE,OAASv1C,EAAEu1C,OAClBv1C,EAAEgxC,KAAKwE,OAASx1C,EAAEw1C,SAEpB3gD,KAAKs7C,QAAS,EACdt7C,KAAK8O,SAGL9O,KAAKu5C,WASTz2C,EAAQkP,UAAU8sC,OAAS,SAAU11C,GACnC,GAAIuwB,GAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,OAC7CzpB,MAAKy6C,gBAAkB9gB,EACvB35B,KAAKihD,WAAWtnB,IASlB72B,EAAQkP,UAAU+sC,aAAe,SAAU31C,GACzC,GAAIuwB,GAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,OAC7CzpB,MAAKkhD,iBAAiBvnB,IAQxB72B,EAAQkP,UAAU8lB,QAAU,SAAU1uB,GACpC,GAAIuwB,GAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,OAC7CzpB,MAAKy6C,gBAAkB9gB,EACvB35B,KAAKmhD,cAAcxnB,IAQrB72B,EAAQkP,UAAUgtC,WAAa,SAAU51C,GACvC,GAAIuwB,GAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,OAC7CzpB,MAAKohD,iBAAiBznB,IAQxB72B,EAAQkP,UAAUimB,SAAW,SAAU7uB,GACrC,GAAIuwB,GAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,OAE7CzpB,MAAKw+B,KAAKwhB,SAAU,EACd,SAAWhgD,MAAK6+C,QACpB7+C,KAAK6+C,MAAMtkC,MAAQ,EAIrB,IAAIA,GAAQva,KAAK6+C,MAAMtkC,MAAQnR,EAAMkwB,QAAQ/e,KAC7Cva,MAAKqhD,MAAM9mC,EAAOof,IAUpB72B,EAAQkP,UAAUqvC,MAAQ,SAAS9mC,EAAOof,GACxC,GAA+B,GAA3B35B,KAAKk5C,UAAU5hB,SAAkB,CACnC,GAAIgqB,GAAWthD,KAAKigD,WACR,MAAR1lC,IACFA,EAAQ,MAENA,EAAQ,KACVA,EAAQ,GAGV,IAAIgnC,GAAsB,IACRp7C,UAAdnG,KAAKw+B,MACmB,GAAtBx+B,KAAKw+B,KAAKjG,WACZgpB,EAAsBvhD,KAAKwhD,YAAYxhD,KAAKw+B,KAAK7E,SAIrD,IAAI5e,GAAc/a,KAAKqgD,kBAEnBoB,EAAYlnC,EAAQ+mC,EACpBI,GAAM,EAAID,GAAa9nB,EAAQ/oB,EAAImK,EAAYnK,EAAI6wC,EACnDE,GAAM,EAAIF,GAAa9nB,EAAQ9oB,EAAIkK,EAAYlK,EAAI4wC,CASvD,IAPAzhD,KAAK06C,YAAc9pC,EAAM5Q,KAAK6gD,qBAAqBlnB,EAAQ/oB,GACxCC,EAAM7Q,KAAK+gD,qBAAqBpnB,EAAQ9oB,IAE3D7Q,KAAKsa,UAAUC,GACfva,KAAKg6C,gBAAgB0H,EAAIC,GACzB3hD,KAAK4hD,wBAEsB,MAAvBL,EAA6B,CAC/B,GAAIM,GAAuB7hD,KAAK8hD,YAAYP,EAC5CvhD,MAAKw+B,KAAK7E,QAAQ/oB,EAAIixC,EAAqBjxC,EAC3C5Q,KAAKw+B,KAAK7E,QAAQ9oB,EAAIgxC,EAAqBhxC,EAY7C,MATA7Q,MAAKu5C,UAEUh/B,EAAX+mC,EACFthD,KAAKqrB,KAAK,QAAS+L,UAAU,MAG7Bp3B,KAAKqrB,KAAK,QAAS+L,UAAU,MAGxB7c,IAYXzX,EAAQkP,UAAU+lB,cAAgB,SAAS3uB,GAEzC,GAAIgjB,GAAQ,CAYZ,IAXIhjB,EAAMijB,WACRD,EAAQhjB,EAAMijB,WAAW,IAChBjjB,EAAMkjB,SAGfF,GAAShjB,EAAMkjB,OAAO,GAMpBF,EAAO,CAGT,GAAI7R,GAAQva,KAAKigD,YACbnmB,EAAO1N,EAAQ,EACP,GAARA,IACF0N,GAAe,EAAIA,GAErBvf,GAAU,EAAIuf,CAGd,IAAIR,GAAUhB,EAAWoB,YAAY15B,KAAMoJ,GACvCuwB,EAAU35B,KAAK+/C,YAAYzmB,EAAQ7P,OAGvCzpB,MAAKqhD,MAAM9mC,EAAOof,GAIpBvwB,EAAMD,kBASRrG,EAAQkP,UAAUitC,kBAAoB,SAAU71C,GAC9C,GAAIkwB,GAAUhB,EAAWoB,YAAY15B,KAAMoJ,GACvCuwB,EAAU35B,KAAK+/C,YAAYzmB,EAAQ7P,OAGnCzpB,MAAK+hD,UACP/hD,KAAKgiD,gBAAgBroB,EAKvB,IAAI9mB,GAAK7S,KACLiiD,EAAY,WACdpvC,EAAGqvC,gBAAgBvoB,GAarB,IAXI35B,KAAKmiD,YACP5xB,cAAcvwB,KAAKmiD,YAEhBniD,KAAKw+B,KAAKjG,WACbv4B,KAAKmiD,WAAap2B,WAAWk2B,EAAWjiD,KAAKk5C,UAAUx1B,QAAQ4H,QAOrC,GAAxBtrB,KAAKk5C,UAAUrtC,MAAe,CAEhC,IAAK,GAAIu2C,KAAUpiD,MAAKm5C,SAAS7D,MAC3Bt1C,KAAKm5C,SAAS7D,MAAM7vC,eAAe28C,KACrCpiD,KAAKm5C,SAAS7D,MAAM8M,GAAQv2C,OAAQ,QAC7B7L,MAAKm5C,SAAS7D,MAAM8M,GAK/B,IAAI9hC,GAAMtgB,KAAKogD,WAAWzmB,EACf,OAAPrZ,IACFA,EAAMtgB,KAAKqiD,WAAW1oB,IAEb,MAAPrZ,GACFtgB,KAAKsiD,aAAahiC,EAIpB,KAAK,GAAIk8B,KAAUx8C,MAAKm5C,SAASzE,MAC3B10C,KAAKm5C,SAASzE,MAAMjvC,eAAe+2C,KACjCl8B,YAAend,IAAQmd,EAAIjgB,IAAMm8C,GAAUl8B,YAAetd,IAAe,MAAPsd,KACpEtgB,KAAKuiD,YAAYviD,KAAKm5C,SAASzE,MAAM8H,UAC9Bx8C,MAAKm5C,SAASzE,MAAM8H,GAIjCx8C,MAAK+e,WAYTjc,EAAQkP,UAAUkwC,gBAAkB,SAAUvoB,GAC5C,GAOIt5B,GAPAigB,GACFlZ,KAAQpH,KAAK6gD,qBAAqBlnB,EAAQ/oB,GAC1CpJ,IAAQxH,KAAK+gD,qBAAqBpnB,EAAQ9oB,GAC1C8T,MAAQ3kB,KAAK6gD,qBAAqBlnB,EAAQ/oB,GAC1CgQ,OAAQ5gB,KAAK+gD,qBAAqBpnB,EAAQ9oB,IAIxC2xC,EAAgBxiD,KAAK+hD,QAEzB,IAAqB57C,QAAjBnG,KAAK+hD,SAAuB,CAE9B,GAAIrN,GAAQ10C,KAAK00C,KACjB,KAAKr0C,IAAMq0C,GACT,GAAIA,EAAMjvC,eAAepF,GAAK,CAC5B,GAAI87C,GAAOzH,EAAMr0C,EACjB,IAAwB8F,SAApBg2C,EAAKsG,YAA4BtG,EAAKuG,kBAAkBpiC,GAAM,CAChEtgB,KAAK+hD,SAAW5F,CAChB,SAMR,GAAsBh2C,SAAlBnG,KAAK+hD,SAAwB,CAE/B,GAAIzM,GAAQt1C,KAAKs1C,KACjB,KAAKj1C,IAAMi1C,GACT,GAAIA,EAAM7vC,eAAepF,GAAK,CAC5B,GAAIsiD,GAAOrN,EAAMj1C,EACjB,IAAIsiD,EAAKC,WAAkCz8C,SAApBw8C,EAAKF,YACxBE,EAAKD,kBAAkBpiC,GAAM,CAC/BtgB,KAAK+hD,SAAWY,CAChB,SAMR,GAAI3iD,KAAK+hD,UAEP,GAAI/hD,KAAK+hD,UAAYS,EAAe,CAClC,GAAI3vC,GAAK7S,IACJ6S,GAAGgwC,QACNhwC,EAAGgwC,MAAQ,GAAIz/C,GAAMyP,EAAG+J,MAAO/J,EAAGqmC,UAAUx1B,UAM9C7Q,EAAGgwC,MAAMC,YAAYnpB,EAAQ/oB,EAAI,EAAG+oB,EAAQ9oB,EAAI,GAChDgC,EAAGgwC,MAAME,QAAQlwC,EAAGkvC,SAASU,YAC7B5vC,EAAGgwC,MAAMriB,YAIPxgC,MAAK6iD,OACP7iD,KAAK6iD,MAAMtiB,QAYjBz9B,EAAQkP,UAAUgwC,gBAAkB,SAAUroB,GACvC35B,KAAK+hD,UAAa/hD,KAAKogD,WAAWzmB,KACrC35B,KAAK+hD,SAAW57C,OACZnG,KAAK6iD,OACP7iD,KAAK6iD,MAAMtiB,SAajBz9B,EAAQkP,UAAUiQ,QAAU,SAAS5Q,EAAOC,GAC1CtR,KAAK4c,MAAM3L,MAAMI,MAAQA,EACzBrR,KAAK4c,MAAM3L,MAAMK,OAASA,EAE1BtR,KAAK4c,MAAMC,OAAO5L,MAAMI,MAAQ,OAChCrR,KAAK4c,MAAMC,OAAO5L,MAAMK,OAAS,OAEjCtR,KAAK4c,MAAMC,OAAOxL,MAAQrR,KAAK4c,MAAMC,OAAOC,YAC5C9c,KAAK4c,MAAMC,OAAOvL,OAAStR,KAAK4c,MAAMC,OAAOsF,aAE7CniB,KAAKqrB,KAAK,UAAWha,MAAMrR,KAAK4c,MAAMC,OAAOxL,MAAMC,OAAOtR,KAAK4c,MAAMC,OAAOvL,UAQ9ExO,EAAQkP,UAAU2rC,UAAY,SAASjJ,GACrC,GAAIsO,GAAehjD,KAAK46C,SAExB,IAAIlG,YAAiB7zC,IAAW6zC,YAAiB5zC,GAC/Cd,KAAK46C,UAAYlG,MAEd,IAAIA,YAAiB9uC,OACxB5F,KAAK46C,UAAY,GAAI/5C,GACrBb,KAAK46C,UAAU7oC,IAAI2iC,OAEhB,CAAA,GAAKA,EAIR,KAAM,IAAI1uC,WAAU,4BAHpBhG,MAAK46C,UAAY,GAAI/5C,GAgBvB,GAVImiD,GAEFriD,EAAKwH,QAAQnI,KAAK86C,eAAgB,SAAU1yC,EAAUgB,GACpD45C,EAAa5wC,IAAIhJ,EAAOhB,KAK5BpI,KAAK00C,SAED10C,KAAK46C,UAAW,CAElB,GAAI/nC,GAAK7S,IACTW,GAAKwH,QAAQnI,KAAK86C,eAAgB,SAAU1yC,EAAUgB,GACpDyJ,EAAG+nC,UAAU3oC,GAAG7I,EAAOhB,IAIzB,IAAIyL,GAAM7T,KAAK46C,UAAUpmC,QACzBxU,MAAK+6C,UAAUlnC,GAEjB7T,KAAKijD,oBAQPngD,EAAQkP,UAAU+oC,UAAY,SAASlnC,GAErC,IAAK,GADDxT,GACK8E,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IAAK,CAC9C9E,EAAKwT,EAAI1O,EACT,IAAIqM,GAAOxR,KAAK46C,UAAUhnC,IAAIvT,GAC1B87C,EAAO,GAAIh5C,GAAKqO,EAAMxR,KAAKq5C,OAAQr5C,KAAKi0B,OAAQj0B,KAAKk5C,UAEzD,IADAl5C,KAAK00C,MAAMr0C,GAAM87C,IACG,GAAfA,EAAKuE,QAAkC,GAAfvE,EAAKwE,QAAgC,OAAXxE,EAAKvrC,GAAyB,OAAXurC,EAAKtrC,GAAa,CAC1F,GAAImY,GAAS,EAASnV,EAAIvO,OAAS,GAC/B49C,EAAQ,EAAIr+C,KAAKqkB,GAAKrkB,KAAKE,QACZ,IAAfo3C,EAAKuE,SAAkBvE,EAAKvrC,EAAIoY,EAASnkB,KAAKgX,IAAIqnC,IACnC,GAAf/G,EAAKwE,SAAkBxE,EAAKtrC,EAAImY,EAASnkB,KAAK6W,IAAIwnC,IAExDljD,KAAKs7C,QAAS,EAGhBt7C,KAAKm9C,uBAC4C,GAA7Cn9C,KAAKk5C,UAAUjB,mBAAmBlqC,SAAwC,GAArB/N,KAAKo0C,eAC5Dp0C,KAAK89C,eACL99C,KAAKw7C,4BAEPx7C,KAAKmjD,0BACLnjD,KAAKojD,kBACLpjD,KAAKqjD,kBAAkBrjD,KAAK00C,OAC5B10C,KAAKsjD,gBAQPxgD,EAAQkP,UAAUgpC,aAAe,SAASnnC,GAGxC,IAAK,GAFD6gC,GAAQ10C,KAAK00C,MACbkG,EAAY56C,KAAK46C,UACZz1C,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAI9E,GAAKwT,EAAI1O,GACTg3C,EAAOzH,EAAMr0C,GACbmR,EAAOopC,EAAUhnC,IAAIvT,EACrB87C,GAEFA,EAAKoH,cAAc/xC,EAAMxR,KAAKk5C,YAI9BiD,EAAO,GAAIh5C,GAAKqgD,WAAYxjD,KAAKq5C,OAAQr5C,KAAKi0B,OAAQj0B,KAAKk5C,WAC3DxE,EAAMr0C,GAAM87C,GAGhBn8C,KAAKs7C,QAAS,EACmC,GAA7Ct7C,KAAKk5C,UAAUjB,mBAAmBlqC,SAAwC,GAArB/N,KAAKo0C,eAC5Dp0C,KAAK89C,eACL99C,KAAKw7C,4BAEPx7C,KAAKm9C,uBACLn9C,KAAKojD,kBACLpjD,KAAKqjD,kBAAkB3O,IAQzB5xC,EAAQkP,UAAUipC,aAAe,SAASpnC,GAExC,IAAK,GADD6gC,GAAQ10C,KAAK00C,MACRvvC,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAI9E,GAAKwT,EAAI1O,SACNuvC,GAAMr0C,GAEfL,KAAKm9C,uBAC4C,GAA7Cn9C,KAAKk5C,UAAUjB,mBAAmBlqC,SAAwC,GAArB/N,KAAKo0C,eAC5Dp0C,KAAK89C,eACL99C,KAAKw7C,4BAEPx7C,KAAKmjD,0BACLnjD,KAAKojD,kBACLpjD,KAAKijD,mBACLjjD,KAAKqjD,kBAAkB3O,IASzB5xC,EAAQkP,UAAU4rC,UAAY,SAAStI,GACrC,GAAImO,GAAezjD,KAAK66C,SAExB,IAAIvF,YAAiBz0C,IAAWy0C,YAAiBx0C,GAC/Cd,KAAK66C,UAAYvF,MAEd,IAAIA,YAAiB1vC,OACxB5F,KAAK66C,UAAY,GAAIh6C,GACrBb,KAAK66C,UAAU9oC,IAAIujC,OAEhB,CAAA,GAAKA,EAIR,KAAM,IAAItvC,WAAU,4BAHpBhG,MAAK66C,UAAY,GAAIh6C,GAgBvB,GAVI4iD,GAEF9iD,EAAKwH,QAAQnI,KAAKk7C,eAAgB,SAAU9yC,EAAUgB,GACpDq6C,EAAarxC,IAAIhJ,EAAOhB,KAK5BpI,KAAKs1C,SAEDt1C,KAAK66C,UAAW,CAElB,GAAIhoC,GAAK7S,IACTW,GAAKwH,QAAQnI,KAAKk7C,eAAgB,SAAU9yC,EAAUgB,GACpDyJ,EAAGgoC,UAAU5oC,GAAG7I,EAAOhB,IAIzB,IAAIyL,GAAM7T,KAAK66C,UAAUrmC,QACzBxU,MAAKm7C,UAAUtnC,GAGjB7T,KAAKojD,mBAQPtgD,EAAQkP,UAAUmpC,UAAY,SAAUtnC,GAItC,IAAK,GAHDyhC,GAAQt1C,KAAKs1C,MACbuF,EAAY76C,KAAK66C,UAEZ11C,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAI9E,GAAKwT,EAAI1O,GAETu+C,EAAUpO,EAAMj1C,EAChBqjD,IACFA,EAAQC,YAGV,IAAInyC,GAAOqpC,EAAUjnC,IAAIvT,GAAKujD,iBAAoB,GAClDtO,GAAMj1C,GAAM,GAAI2C,GAAKwO,EAAMxR,KAAMA,KAAKk5C,WAExCl5C,KAAKs7C,QAAS,EACdt7C,KAAKqjD,kBAAkB/N,GACvBt1C,KAAK6jD,qBACL7jD,KAAKmjD,0BAC4C,GAA7CnjD,KAAKk5C,UAAUjB,mBAAmBlqC,SAAwC,GAArB/N,KAAKo0C,eAC5Dp0C,KAAK89C,eACL99C,KAAKw7C,6BAST14C,EAAQkP,UAAUopC,aAAe,SAAUvnC,GAGzC,IAAK,GAFDyhC,GAAQt1C,KAAKs1C,MACbuF,EAAY76C,KAAK66C,UACZ11C,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAI9E,GAAKwT,EAAI1O,GAETqM,EAAOqpC,EAAUjnC,IAAIvT,GACrBsiD,EAAOrN,EAAMj1C,EACbsiD,IAEFA,EAAKgB,aACLhB,EAAKY,cAAc/xC,EAAMxR,KAAKk5C,WAC9ByJ,EAAKnO,YAILmO,EAAO,GAAI3/C,GAAKwO,EAAMxR,KAAMA,KAAKk5C,WACjCl5C,KAAKs1C,MAAMj1C,GAAMsiD,GAIrB3iD,KAAK6jD,qBAC4C,GAA7C7jD,KAAKk5C,UAAUjB,mBAAmBlqC,SAAwC,GAArB/N,KAAKo0C,eAC5Dp0C,KAAK89C,eACL99C,KAAKw7C,4BAEPx7C,KAAKs7C,QAAS,EACdt7C,KAAKqjD,kBAAkB/N,IAQzBxyC,EAAQkP,UAAUqpC,aAAe,SAAUxnC,GAEzC,IAAK,GADDyhC,GAAQt1C,KAAKs1C,MACRnwC,EAAI,EAAGC,EAAMyO,EAAIvO,OAAYF,EAAJD,EAASA,IAAK,CAC9C,GAAI9E,GAAKwT,EAAI1O,GACTw9C,EAAOrN,EAAMj1C,EACbsiD,KACc,MAAZA,EAAKmB,WACA9jD,MAAK+jD,QAAiB,QAAS,MAAEpB,EAAKmB,IAAIzjD,IAEnDsiD,EAAKgB,mBACErO,GAAMj1C,IAIjBL,KAAKs7C,QAAS,EACdt7C,KAAKqjD,kBAAkB/N,GAC0B,GAA7Ct1C,KAAKk5C,UAAUjB,mBAAmBlqC,SAAwC,GAArB/N,KAAKo0C,eAC5Dp0C,KAAK89C,eACL99C,KAAKw7C,4BAEPx7C,KAAKmjD,2BAOPrgD,EAAQkP,UAAUoxC,gBAAkB,WAClC,GAAI/iD,GACAq0C,EAAQ10C,KAAK00C,MACbY,EAAQt1C,KAAKs1C,KACjB,KAAKj1C,IAAMq0C,GACLA,EAAMjvC,eAAepF,KACvBq0C,EAAMr0C,GAAIi1C,SAId,KAAKj1C,IAAMi1C,GACT,GAAIA,EAAM7vC,eAAepF,GAAK,CAC5B,GAAIsiD,GAAOrN,EAAMj1C,EACjBsiD,GAAKj8B,KAAO,KACZi8B,EAAKh8B,GAAK,KACVg8B,EAAKnO,YAaX1xC,EAAQkP,UAAUqxC,kBAAoB,SAAS/iC,GAC7C,GAAIjgB,GAGAuZ,EAAWzT,OACX0T,EAAW1T,MACf,KAAK9F,IAAMigB,GACT,GAAIA,EAAI7a,eAAepF,GAAK,CAC1B,GAAI2G,GAAQsZ,EAAIjgB,GAAIkT,UACNpN,UAAVa,IACF4S,EAAyBzT,SAAbyT,EAA0B5S,EAAQnC,KAAKwG,IAAIrE,EAAO4S,GAC9DC,EAAyB1T,SAAb0T,EAA0B7S,EAAQnC,KAAKiI,IAAI9F,EAAO6S,IAMpE,GAAiB1T,SAAbyT,GAAuCzT,SAAb0T,EAC5B,IAAKxZ,IAAMigB,GACLA,EAAI7a,eAAepF,IACrBigB,EAAIjgB,GAAI2jD,cAAcpqC,EAAUC,IAUxC/W,EAAQkP,UAAU+M,OAAS,WACzB/e,KAAKiiB,QAAQjiB,KAAKk5C,UAAU7nC,MAAOrR,KAAKk5C,UAAU5nC,QAClDtR,KAAKu5C,WAOPz2C,EAAQkP,UAAUunC,QAAU,WAC1B,GAAIl1B,GAAMrkB,KAAK4c,MAAMC,OAAOyH,WAAW,MAEnC2/B,EAAIjkD,KAAK4c,MAAMC,OAAOxL,MACtBnG,EAAIlL,KAAK4c,MAAMC,OAAOvL,MAC1B+S,GAAIE,UAAU,EAAG,EAAG0/B,EAAG/4C,GAGvBmZ,EAAI6/B,OACJ7/B,EAAI8/B,UAAUnkD,KAAK+a,YAAYnK,EAAG5Q,KAAK+a,YAAYlK,GACnDwT,EAAI9J,MAAMva,KAAKua,MAAOva,KAAKua,OAE3Bva,KAAKu6C,eACH3pC,EAAK5Q,KAAK6gD,qBAAqB,GAC/BhwC,EAAK7Q,KAAK+gD,qBAAqB,IAEjC/gD,KAAKw6C,mBACH5pC,EAAK5Q,KAAK6gD,qBAAqB7gD,KAAK4c,MAAMC,OAAOC,aACjDjM,EAAK7Q,KAAK+gD,qBAAqB/gD,KAAK4c,MAAMC,OAAOsF,eAInDniB,KAAKokD,gBAAgB,sBAAsB//B,IACjB,GAAtBrkB,KAAKw+B,KAAKjG,UAA4CpyB,SAAvBnG,KAAKw+B,KAAKjG,UAA4D,GAAlCv4B,KAAKk5C,UAAUF,kBACpFh5C,KAAKokD,gBAAgB,aAAa//B,IAGV,GAAtBrkB,KAAKw+B,KAAKjG,UAA4CpyB,SAAvBnG,KAAKw+B,KAAKjG,UAA4D,GAAlCv4B,KAAKk5C,UAAUD,kBACpFj5C,KAAKokD,gBAAgB,aAAa//B,GAAI,GAGT,GAA3BrkB,KAAKo5C,oBACPp5C,KAAKokD,gBAAgB,oBAAoB//B,GAO3CA,EAAIggC,WASNvhD,EAAQkP,UAAUgoC,gBAAkB,SAASsK,EAASC,GAC3Bp+C,SAArBnG,KAAK+a,cACP/a,KAAK+a,aACHnK,EAAG,EACHC,EAAG,IAIS1K,SAAZm+C,IACFtkD,KAAK+a,YAAYnK,EAAI0zC,GAEPn+C,SAAZo+C,IACFvkD,KAAK+a,YAAYlK,EAAI0zC,GAGvBvkD,KAAKqrB,KAAK,gBAQZvoB,EAAQkP,UAAUquC,gBAAkB,WAClC,OACEzvC,EAAG5Q,KAAK+a,YAAYnK,EACpBC,EAAG7Q,KAAK+a,YAAYlK,IASxB/N,EAAQkP,UAAUsI,UAAY,SAASC,GACrCva,KAAKua,MAAQA,GAQfzX,EAAQkP,UAAUiuC,UAAY,WAC5B,MAAOjgD,MAAKua,OAUdzX,EAAQkP,UAAU6uC,qBAAuB,SAASjwC,GAChD,OAAQA,EAAI5Q,KAAK+a,YAAYnK,GAAK5Q,KAAKua,OAUzCzX,EAAQkP,UAAU8uC,qBAAuB,SAASlwC,GAChD,MAAOA,GAAI5Q,KAAKua,MAAQva,KAAK+a,YAAYnK,GAU3C9N,EAAQkP,UAAU+uC,qBAAuB,SAASlwC,GAChD,OAAQA,EAAI7Q,KAAK+a,YAAYlK,GAAK7Q,KAAKua,OAUzCzX,EAAQkP,UAAUgvC,qBAAuB,SAASnwC,GAChD,MAAOA,GAAI7Q,KAAKua,MAAQva,KAAK+a,YAAYlK,GAU3C/N,EAAQkP,UAAU8vC,YAAc,SAASj/B,GACvC,OAAQjS,EAAE5Q,KAAK8gD,qBAAqBj+B,EAAIjS,GAAGC,EAAE7Q,KAAKghD,qBAAqBn+B,EAAIhS,KAS7E/N,EAAQkP,UAAUwvC,YAAc,SAAS3+B,GACvC,OAAQjS,EAAE5Q,KAAK6gD,qBAAqBh+B,EAAIjS,GAAGC,EAAE7Q,KAAK+gD,qBAAqBl+B,EAAIhS,KAU7E/N,EAAQkP,UAAUwyC,WAAa,SAASngC,EAAIogC,GACvBt+C,SAAfs+C,IACFA,GAAa,EAIf,IAAI/P,GAAQ10C,KAAK00C,MACb3K,IAEJ,KAAK,GAAI1pC,KAAMq0C,GACTA,EAAMjvC,eAAepF,KACvBq0C,EAAMr0C,GAAIqkD,eAAe1kD,KAAKua,MAAMva,KAAKu6C,cAAcv6C,KAAKw6C,mBACxD9F,EAAMr0C,GAAIigD,aACZvW,EAASjiC,KAAKzH,IAGVq0C,EAAMr0C,GAAIskD,UAAYF,IACxB/P,EAAMr0C,GAAIukD,KAAKvgC,GAOvB,KAAK,GAAIlZ,GAAI,EAAG05C,EAAO9a,EAASzkC,OAAYu/C,EAAJ15C,EAAUA,KAC5CupC,EAAM3K,EAAS5+B,IAAIw5C,UAAYF,IACjC/P,EAAM3K,EAAS5+B,IAAIy5C,KAAKvgC,IAW9BvhB,EAAQkP,UAAU8yC,WAAa,SAASzgC,GACtC,GAAIixB,GAAQt1C,KAAKs1C,KACjB,KAAK,GAAIj1C,KAAMi1C,GACb,GAAIA,EAAM7vC,eAAepF,GAAK,CAC5B,GAAIsiD,GAAOrN,EAAMj1C,EACjBsiD,GAAKrmB,SAASt8B,KAAKua,OACfooC,EAAKC,WACPtN,EAAMj1C,GAAIukD,KAAKvgC,KAYvBvhB,EAAQkP,UAAU+yC,kBAAoB,SAAS1gC,GAC7C,GAAIixB,GAAQt1C,KAAKs1C,KACjB,KAAK,GAAIj1C,KAAMi1C,GACTA,EAAM7vC,eAAepF,IACvBi1C,EAAMj1C,GAAI0kD,kBAAkB1gC,IASlCvhB,EAAQkP,UAAU+rC,WAAa,WACgB,GAAzC/9C,KAAKk5C,UAAUb,wBACjBr4C,KAAKglD,qBAKP,KADA,GAAInvC,GAAQ,EACL7V,KAAKs7C,QAAUzlC,EAAQ7V,KAAKk5C,UAAUL,yBAC3C74C,KAAKilD,eACLpvC,GAEF7V,MAAKy7C,YAAW,GAAM,GACuB,GAAzCz7C,KAAKk5C,UAAUb,wBACjBr4C,KAAKklD,uBAUTpiD,EAAQkP,UAAUgzC,oBAAsB,WACtC,GAAItQ,GAAQ10C,KAAK00C,KACjB,KAAK,GAAIr0C,KAAMq0C,GACTA,EAAMjvC,eAAepF,IACJ,MAAfq0C,EAAMr0C,GAAIuQ,GAA4B,MAAf8jC,EAAMr0C,GAAIwQ,IACnC6jC,EAAMr0C,GAAI8kD,UAAUv0C,EAAI8jC,EAAMr0C,GAAIqgD,OAClChM,EAAMr0C,GAAI8kD,UAAUt0C,EAAI6jC,EAAMr0C,GAAIsgD,OAClCjM,EAAMr0C,GAAIqgD,QAAS,EACnBhM,EAAMr0C,GAAIsgD,QAAS,IAW3B79C,EAAQkP,UAAUkzC,oBAAsB,WACtC,GAAIxQ,GAAQ10C,KAAK00C,KACjB,KAAK,GAAIr0C,KAAMq0C,GACTA,EAAMjvC,eAAepF,IACM,MAAzBq0C,EAAMr0C,GAAI8kD,UAAUv0C,IACtB8jC,EAAMr0C,GAAIqgD,OAAShM,EAAMr0C,GAAI8kD,UAAUv0C,EACvC8jC,EAAMr0C,GAAIsgD,OAASjM,EAAMr0C,GAAI8kD,UAAUt0C;EAa/C/N,EAAQkP,UAAUozC,UAAY,SAASC,GACrC,GAAI3Q,GAAQ10C,KAAK00C,KACjB,KAAK,GAAIr0C,KAAMq0C,GACb,GAAIA,EAAMjvC,eAAepF,IAAOq0C,EAAMr0C,GAAIilD,SAASD,GACjD,OAAO,CAGX,QAAO,GAUTviD,EAAQkP,UAAUuzC,mBAAqB,WACrC,GAEI/I,GAFAlsB,EAAWtwB,KAAKm0C,wBAChBO,EAAQ10C,KAAK00C,MAEb8Q,GAAe,CAEnB,IAAIxlD,KAAKk5C,UAAUR,YAAc,EAC/B,IAAK8D,IAAU9H,GACTA,EAAMjvC,eAAe+2C,KACvB9H,EAAM8H,GAAQiJ,oBAAoBn1B,EAAUtwB,KAAKk5C,UAAUR,aAC3D8M,GAAe,OAKnB,KAAKhJ,IAAU9H,GACTA,EAAMjvC,eAAe+2C,KACvB9H,EAAM8H,GAAQkJ,aAAap1B,GAC3Bk1B,GAAe,EAKrB,IAAoB,GAAhBA,EAAsB,CACxB,GAAIG,GAAgB3lD,KAAKk5C,UAAUP,YAAc9zC,KAAKiI,IAAI9M,KAAKua,MAAM,IACrE,OAAIorC,GAAgB,GAAI3lD,KAAKk5C,UAAUR,aAC9B,EAGA14C,KAAKolD,UAAUO,GAG1B,OAAO,GAQT7iD,EAAQkP,UAAUizC,aAAe,WAC/B,IAAKjlD,KAAKi6C,kBACW,GAAfj6C,KAAKs7C,OAAgB,CACvB,GAAIsK,IAAmB,EACnBC,GAAsB,CAE1B7lD,MAAK8lD,sBAAsB,8BAC3B,IAAIC,GAAa/lD,KAAK8lD,sBAAsB,qBACD,IAAvC9lD,KAAKk5C,UAAUZ,aAAavqC,SAA0D,GAAvC/N,KAAKk5C,UAAUZ,aAAaC,UAC7EsN,EAAsB7lD,KAAKgmD,mBAAmB,sBAGhD,KAAK,GAAI7gD,GAAI,EAAGA,EAAI4gD,EAAWzgD,OAAQH,IAAMygD,EAAmBG,EAAW,IAAMH,CAGjF5lD,MAAKs7C,OAASsK,GAAoBC,EAElC7lD,KAAK64C,4BAYX/1C,EAAQkP,UAAUi0C,eAAiB,WAEjCjmD,KAAKu7C,MAAQp1C,OAEbnG,KAAKkmD,oBAGLlmD,KAAK8O,OAGL,IAAIq3C,GAAkBliD,KAAK6yB,MACvBsvB,EAAW,CACfpmD,MAAKilD,cAEL,KADA,GAAIoB,GAAepiD,KAAK6yB,MAAQqvB,EACzBE,EAAe,IAAKrmD,KAAKg0C,eAAiBh0C,KAAKi0C,aAAemS,EAAWpmD,KAAKk0C,0BACnFl0C,KAAKilD,eACLoB,EAAepiD,KAAK6yB,MAAQqvB,EAC5BC,GAGF,IAAInS,GAAahwC,KAAK6yB,KACtB92B,MAAKu5C,UACLv5C,KAAKi0C,WAAahwC,KAAK6yB,MAAQmd,GAIX,mBAAX5sC,UACTA,OAAOi/C,sBAAwBj/C,OAAOi/C,uBAAyBj/C,OAAOk/C,0BACvCl/C,OAAOm/C,6BAA+Bn/C,OAAOo/C,yBAM9E3jD,EAAQkP,UAAUlD,MAAQ,WACxB,GAAmB,GAAf9O,KAAKs7C,QAAqC,GAAnBt7C,KAAKw5C,YAAsC,GAAnBx5C,KAAKy5C,YAAyC,GAAtBz5C,KAAK05C,eAC9E,IAAK15C,KAAKu7C,MAAO,CACf,GAAImL,GAAK59C,UAAUC,UAAU49C,cAEzBC,GAAkB,CACQ,KAA1BF,EAAGpgD,QAAQ,YACbsgD,GAAkB,EAEa,IAAxBF,EAAGpgD,QAAQ,WACdogD,EAAGpgD,QAAQ,WAAa,KAC1BsgD,GAAkB,GAKpB5mD,KAAKu7C,MADgB,GAAnBqL,EACWv/C,OAAO0kB,WAAW/rB,KAAKimD,eAAexzB,KAAKzyB,MAAOA,KAAKg0C,gBAGvD3sC,OAAOi/C,sBAAsBtmD,KAAKimD,eAAexzB,KAAKzyB,MAAOA,KAAKg0C,qBAOnF,IAFAh0C,KAAKu5C,UAEDv5C,KAAK64C,wBAA0B,EAAG,CAKpC,GAAIhmC,GAAK7S,KACLwS,GACFq0C,WAAYh0C,EAAGgmC,wBAEjBhmC,GAAGgmC,wBAA0B,EAC7B9sB,WAAW,WACTlZ,EAAGwY,KAAK,aAAc7Y,IACrB,KAWT1P,EAAQkP,UAAUk0C,kBAAoB,WACpC,GAAuB,GAAnBlmD,KAAKw5C,YAAsC,GAAnBx5C,KAAKy5C,WAAiB,CAChD,GAAI1+B,GAAc/a,KAAKqgD,iBACvBrgD,MAAKg6C,gBAAgBj/B,EAAYnK,EAAE5Q,KAAKw5C,WAAYz+B,EAAYlK,EAAE7Q,KAAKy5C,YAEzE,GAA0B,GAAtBz5C,KAAK05C,cAAoB,CAC3B,GAAIjwB,IACF7Y,EAAG5Q,KAAK4c,MAAMC,OAAOC,YAAc,EACnCjM,EAAG7Q,KAAK4c,MAAMC,OAAOsF,aAAe,EAEtCniB,MAAKqhD,MAAMrhD,KAAKua,OAAO,EAAIva,KAAK05C,eAAgBjwB,KAQpD3mB,EAAQkP,UAAU80C,aAAe,WACF,GAAzB9mD,KAAKi6C,iBACPj6C,KAAKi6C,kBAAmB,GAGxBj6C,KAAKi6C,kBAAmB,EACxBj6C,KAAK8O,UAWThM,EAAQkP,UAAU4sC,uBAAyB,SAAShC,GAIlD,GAHqBz2C,SAAjBy2C,IACFA,GAAe,GAE0B,GAAvC58C,KAAKk5C,UAAUZ,aAAavqC,SAA0D,GAAvC/N,KAAKk5C,UAAUZ,aAAaC,QAAiB,CAC9Fv4C,KAAK6jD,oBAEL,KAAK,GAAIrH,KAAUx8C,MAAK+jD,QAAiB,QAAS,MAC5C/jD,KAAK+jD,QAAiB,QAAS,MAAEt+C,eAAe+2C,IACwBr2C,SAAtEnG,KAAKs1C,MAAMt1C,KAAK+jD,QAAiB,QAAS,MAAEvH,GAAQuK,qBAC/C/mD,MAAK+jD,QAAiB,QAAS,MAAEvH,OAK3C,CAEHx8C,KAAK+jD,QAAiB,QAAS,QAC/B,KAAK,GAAI3B,KAAUpiD,MAAKs1C,MAClBt1C,KAAKs1C,MAAM7vC,eAAe28C,KAC5BpiD,KAAKs1C,MAAM8M,GAAQ0B,IAAM,MAM/B9jD,KAAKmjD,0BACAvG,IACH58C,KAAKs7C,QAAS,EACdt7C,KAAK8O,UAWThM,EAAQkP,UAAU6xC,mBAAqB,WACrC,GAA2C,GAAvC7jD,KAAKk5C,UAAUZ,aAAavqC,SAA0D,GAAvC/N,KAAKk5C,UAAUZ,aAAaC,QAC7E,IAAK,GAAI6J,KAAUpiD,MAAKs1C,MACtB,GAAIt1C,KAAKs1C,MAAM7vC,eAAe28C,GAAS,CACrC,GAAIO,GAAO3iD,KAAKs1C,MAAM8M,EACtB,IAAgB,MAAZO,EAAKmB,IAAa,CACpB,GAAItH,GAAS,UAAU9pC,OAAOiwC,EAAKtiD,GACnCL,MAAK+jD,QAAiB,QAAS,MAAEvH,GAAU,GAAIr5C,IACtC9C,GAAGm8C,EACF7H,KAAK,EACLG,MAAM,SACNC,MAAM,GACNiS,mBAAmB,SACbhnD,KAAKk5C,WACrByJ,EAAKmB,IAAM9jD,KAAK+jD,QAAiB,QAAS,MAAEvH,GAC5CmG,EAAKmB,IAAIiD,aAAepE,EAAKtiD,GAC7BsiD,EAAKsE,wBAYfnkD,EAAQkP,UAAU8hC,wBAA0B,WAC1C,IAAK,GAAIoT,KAAStL,GACZA,EAAYn2C,eAAeyhD,KAC7BpkD,EAAQkP,UAAUk1C,GAAStL,EAAYsL,KAQ7CpkD,EAAQkP,UAAUm1C,cAAgB,WAChC,GAAIC,KACJ,KAAK,GAAI5K,KAAUx8C,MAAK00C,MACtB,GAAI10C,KAAK00C,MAAMjvC,eAAe+2C,GAAS,CACrC,GAAIL,GAAOn8C,KAAK00C,MAAM8H,GAClB6K,GAAkBrnD,KAAK00C,MAAMgM,OAC7B4G,GAAkBtnD,KAAK00C,MAAMiM,QAC7B3gD,KAAK46C,UAAUlpC,MAAM8qC,GAAQ5rC,GAAK/L,KAAKsmB,MAAMgxB,EAAKvrC,IAAM5Q,KAAK46C,UAAUlpC,MAAM8qC,GAAQ3rC,GAAKhM,KAAKsmB,MAAMgxB,EAAKtrC,KAC5Gu2C,EAAUt/C,MAAMzH,GAAGm8C,EAAO5rC,EAAE/L,KAAKsmB,MAAMgxB,EAAKvrC,GAAGC,EAAEhM,KAAKsmB,MAAMgxB,EAAKtrC,GAAGw2C,eAAeA,EAAeC,eAAeA,IAIvHtnD,KAAK46C,UAAUpnC,OAAO4zC,IAUxBtkD,EAAQkP,UAAUu1C,YAAc,SAAU/K,EAAQK,GAChD,GAAI78C,KAAK00C,MAAMjvC,eAAe+2C,GAAS,CACnBr2C,SAAd02C,IACFA,EAAY78C,KAAKigD,YAEnB,IAAIuH,IAAe52C,EAAG5Q,KAAK00C,MAAM8H,GAAQ5rC,EAAGC,EAAG7Q,KAAK00C,MAAM8H,GAAQ3rC,GAE9D42C,EAAgB5K,CACpB78C,MAAKsa,UAAUmtC,EAEf,IAAIC,GAAe1nD,KAAKwhD,aAAa5wC,EAAE,GAAM5Q,KAAK4c,MAAMC,OAAOxL,MAAMR,EAAE,GAAM7Q,KAAK4c,MAAMC,OAAOvL,SAC3FyJ,EAAc/a,KAAKqgD,kBAEnBsH,GAAsB/2C,EAAE82C,EAAa92C,EAAI42C,EAAa52C,EAChCC,EAAE62C,EAAa72C,EAAI22C,EAAa32C,EAE1D7Q,MAAKg6C,gBAAgBj/B,EAAYnK,EAAI62C,EAAgBE,EAAmB/2C,EACnDmK,EAAYlK,EAAI42C,EAAgBE,EAAmB92C,GACxE7Q,KAAK+e,aAGLhQ,SAAQC,IAAI,iCAQhBlM,EAAQkP,UAAUmtC,SAAW,WAC3B,OAAQn/C,KAAKw+C,WAAax+C,KAAKw+C,UAAUoJ,QAG3C/nD,EAAOD,QAAUkD,GAKb,SAASjD,EAAQD,EAASM,GAoB9B,QAAS8C,GAAMwgD,EAAYzgD,EAAS8kD,GAClC,IAAK9kD,EACH,KAAM,qBAER,IAAIwK,IAAU,QAAQ,WAClB2rC,EAAYv4C,EAAK2M,sBAAsBC,EAAOs6C,EAClD7nD,MAAK8N,QAAUorC,EAAU5D,MACzBt1C,KAAKg2C,QAAUkD,EAAUlD,QACzBh2C,KAAK8N,QAAsB,aAAI+5C,EAA+B,aAG9D7nD,KAAK+C,QAAUA,EAGf/C,KAAKK,GAAS8F,OACdnG,KAAK8nD,OAAS3hD,OACdnG,KAAK+nD,KAAS5hD,OACdnG,KAAKi+B,MAAS93B,OACdnG,KAAKgoD,cAAgBhoD,KAAK8N,QAAQuD,MAAQrR,KAAK8N,QAAQynC,yBACvDv1C,KAAKgH,MAASb,OACdnG,KAAK+pC,UAAW,EAChB/pC,KAAK6L,OAAQ,EAEb7L,KAAK0mB,KAAO,KACZ1mB,KAAK2mB,GAAK,KACV3mB,KAAK8jD,IAAM,KAIX9jD,KAAKioD,kBACLjoD,KAAKkoD,gBAELloD,KAAK4iD,WAAY,EAEjB5iD,KAAKmoD,YAAc,EACnBnoD,KAAKooD,aAAc,EAEnBpoD,KAAKujD,cAAcC,GAEnBxjD,KAAKqoD,qBAAsB,EAC3BroD,KAAKsoD,cAAgB5hC,KAAK,KAAMC,GAAG,KAAM4hC,cACzCvoD,KAAKwoD,cAAgB,KA3DvB,GAAI7nD,GAAOT,EAAoB,GAC3BiD,EAAOjD,EAAoB,GAkE/B8C,GAAKgP,UAAUuxC,cAAgB,SAASC,GACtC,GAAKA,EAAL,CAIA,GAAIj2C,IAAU,QAAQ,WAAW,WAAW,YAAY,WAAW,QACjE,2BAA2B,aAAa,mBAAmB,OAyC7D,QAvCA5M,EAAKmF,oBAAoByH,EAAQvN,KAAK8N,QAAS01C,GAEvBr9C,SAApBq9C,EAAW98B,OAA+B1mB,KAAK8nD,OAAStE,EAAW98B,MACjDvgB,SAAlBq9C,EAAW78B,KAA+B3mB,KAAK+nD,KAAOvE,EAAW78B,IAE/CxgB,SAAlBq9C,EAAWnjD,KAA+BL,KAAKK,GAAKmjD,EAAWnjD,IAC1C8F,SAArBq9C,EAAWz9B,QAA+B/lB,KAAK+lB,MAAQy9B,EAAWz9B,OAE7C5f,SAArBq9C,EAAWvlB,QAA6Bj+B,KAAKi+B,MAAQulB,EAAWvlB,OAC3C93B,SAArBq9C,EAAWx8C,QAA6BhH,KAAKgH,MAAQw8C,EAAWx8C,OAC1Cb,SAAtBq9C,EAAWl+C,SAA6BtF,KAAKg2C,QAAQK,aAAemN,EAAWl+C,QAG/Ca,SAAhCq9C,EAAW9N,mBAAuC11C,KAAK8N,QAAQ4nC,iBAAmB8N,EAAW9N,kBAEjEvvC,SAA5Bq9C,EAAW1N,eAAmC91C,KAAK8N,QAAQgoC,aAAe0N,EAAW1N,cAEhE3vC,SAArBq9C,EAAW/4C,QACbzK,KAAK8N,QAAQgoC,cAAe,EACxBn1C,EAAKmD,SAAS0/C,EAAW/4C,QAC3BzK,KAAK8N,QAAQrD,MAAMA,MAAQ+4C,EAAW/4C,MACtCzK,KAAK8N,QAAQrD,MAAMmB,UAAY43C,EAAW/4C,QAGXtE,SAA3Bq9C,EAAW/4C,MAAMA,QAA0BzK,KAAK8N,QAAQrD,MAAMA,MAAQ+4C,EAAW/4C,MAAMA,OACxDtE,SAA/Bq9C,EAAW/4C,MAAMmB,YAA0B5L,KAAK8N,QAAQrD,MAAMmB,UAAY43C,EAAW/4C,MAAMmB,WAChEzF,SAA3Bq9C,EAAW/4C,MAAMoB,QAA0B7L,KAAK8N,QAAQrD,MAAMoB,MAAQ23C,EAAW/4C,MAAMoB,SAK/F7L,KAAKw0C,UAELx0C,KAAKmoD,WAAanoD,KAAKmoD,YAAoChiD,SAArBq9C,EAAWnyC,MACjDrR,KAAKooD,YAAcpoD,KAAKooD,aAAsCjiD,SAAtBq9C,EAAWl+C,OAEnDtF,KAAKgoD,cAAgBhoD,KAAK8N,QAAQuD,MAAOrR,KAAK8N,QAAQynC,yBAG9Cv1C,KAAK8N,QAAQmD,OACnB,IAAK,OAAiBjR,KAAK4kD,KAAO5kD,KAAKyoD,SAAW,MAClD,KAAK,QAAiBzoD,KAAK4kD,KAAO5kD,KAAK0oD,UAAY,MACnD,KAAK,eAAiB1oD,KAAK4kD,KAAO5kD,KAAK2oD,gBAAkB,MACzD,KAAK,YAAiB3oD,KAAK4kD,KAAO5kD,KAAK4oD,aAAe,MACtD,SAAsB5oD,KAAK4kD,KAAO5kD,KAAKyoD,aAO3CzlD,EAAKgP,UAAUwiC,QAAU,WACvBx0C,KAAK2jD,aAEL3jD,KAAK0mB,KAAO1mB,KAAK+C,QAAQ2xC,MAAM10C,KAAK8nD,SAAW,KAC/C9nD,KAAK2mB,GAAK3mB,KAAK+C,QAAQ2xC,MAAM10C,KAAK+nD,OAAS,KAC3C/nD,KAAK4iD,UAAa5iD,KAAK0mB,MAAQ1mB,KAAK2mB,GAEhC3mB,KAAK4iD,WACP5iD,KAAK0mB,KAAKmiC,WAAW7oD,MACrBA,KAAK2mB,GAAGkiC,WAAW7oD,QAGfA,KAAK0mB,MACP1mB,KAAK0mB,KAAKoiC,WAAW9oD,MAEnBA,KAAK2mB,IACP3mB,KAAK2mB,GAAGmiC,WAAW9oD,QAQzBgD,EAAKgP,UAAU2xC,WAAa,WACtB3jD,KAAK0mB,OACP1mB,KAAK0mB,KAAKoiC,WAAW9oD,MACrBA,KAAK0mB,KAAO,MAEV1mB,KAAK2mB,KACP3mB,KAAK2mB,GAAGmiC,WAAW9oD,MACnBA,KAAK2mB,GAAK,MAGZ3mB,KAAK4iD,WAAY,GAQnB5/C,EAAKgP,UAAUywC,SAAW,WACxB,MAA6B,kBAAfziD,MAAKi+B,MAAuBj+B,KAAKi+B,QAAUj+B,KAAKi+B,OAQhEj7B,EAAKgP,UAAUuB,SAAW,WACxB,MAAOvT,MAAKgH,OASdhE,EAAKgP,UAAUgyC,cAAgB,SAAS34C,EAAKyB,GAC3C,IAAK9M,KAAKmoD,YAA6BhiD,SAAfnG,KAAKgH,MAAqB,CAChD,GAAIuT,IAASva,KAAK8N,QAAQ2W,SAAWzkB,KAAK8N,QAAQ0W,WAAa1X,EAAMzB,EACrErL,MAAK8N,QAAQuD,OAAQrR,KAAKgH,MAAQqE,GAAOkP,EAAQva,KAAK8N,QAAQ0W,SAC9DxkB,KAAKgoD,cAAgBhoD,KAAK8N,QAAQuD,MAAOrR,KAAK8N,QAAQynC,2BAU1DvyC,EAAKgP,UAAU4yC,KAAO,WACpB,KAAM,uCAQR5hD,EAAKgP,UAAU0wC,kBAAoB,SAASpiC,GAC1C,GAAItgB,KAAK4iD,UAAW,CAClB,GAAI71B,GAAU,GACVg8B,EAAQ/oD,KAAK0mB,KAAK9V,EAClBo4C,EAAQhpD,KAAK0mB,KAAK7V,EAClBo4C,EAAMjpD,KAAK2mB,GAAG/V,EACds4C,EAAMlpD,KAAK2mB,GAAG9V,EACds4C,EAAO7oC,EAAIlZ,KACXgiD,EAAO9oC,EAAI9Y,IAEXihB,EAAOzoB,KAAKqpD,mBAAmBN,EAAOC,EAAOC,EAAKC,EAAKC,EAAMC,EAEjE,OAAer8B,GAAPtE,EAGR,OAAO,GAIXzlB,EAAKgP,UAAUs3C,UAAY,WACzB,GAAIC,GAAWvpD,KAAK8N,QAAQrD,KAgB5B,OAfiC,MAA7BzK,KAAK8N,QAAQgoC,aACfyT,GACE39C,UAAW5L,KAAK2mB,GAAG7Y,QAAQrD,MAAMmB,UAAUD,OAC3CE,MAAO7L,KAAK2mB,GAAG7Y,QAAQrD,MAAMoB,MAAMF,OACnClB,MAAOzK,KAAK2mB,GAAG7Y,QAAQrD,MAAMkB,SAGK,QAA7B3L,KAAK8N,QAAQgoC,cAAuD,GAA7B91C,KAAK8N,QAAQgoC,gBAC3DyT,GACE39C,UAAW5L,KAAK0mB,KAAK5Y,QAAQrD,MAAMmB,UAAUD,OAC7CE,MAAO7L,KAAK0mB,KAAK5Y,QAAQrD,MAAMoB,MAAMF,OACrClB,MAAOzK,KAAK0mB,KAAK5Y,QAAQrD,MAAMkB,SAId,GAAjB3L,KAAK+pC,SAA4Bwf,EAAS39C,UACvB,GAAd5L,KAAK6L,MAAuB09C,EAAS19C,MACT09C,EAAS9+C,OAWhDzH,EAAKgP,UAAUy2C,UAAY,SAASpkC,GAKlC,GAHAA,EAAIY,YAAcjlB,KAAKspD,YACvBjlC,EAAIO,UAAc5kB,KAAKwpD,gBAEnBxpD,KAAK0mB,MAAQ1mB,KAAK2mB,GAAI,CAExB,GAGI5V,GAHA+yC,EAAM9jD,KAAKypD,MAAMplC,EAIrB,IAAIrkB,KAAK+lB,MAAO,CACd,GAAyC,GAArC/lB,KAAK8N,QAAQwqC,aAAavqC,SAA0B,MAAP+1C,EAAa,CAC5D,GAAI4F,GAAY,IAAK,IAAK1pD,KAAK0mB,KAAK9V,EAAIkzC,EAAIlzC,GAAK,IAAK5Q,KAAK2mB,GAAG/V,EAAIkzC,EAAIlzC,IAClE+4C,EAAY,IAAK,IAAK3pD,KAAK0mB,KAAK7V,EAAIizC,EAAIjzC,GAAK,IAAK7Q,KAAK2mB,GAAG9V,EAAIizC,EAAIjzC,GACtEE,IAASH,EAAE84C,EAAW74C,EAAE84C,OAGxB54C,GAAQ/Q,KAAK4pD,aAAa,GAE5B5pD,MAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAOhV,EAAMH,EAAGG,EAAMF,QAG3C,CACH,GAAID,GAAGC,EACHmY,EAAShpB,KAAKg2C,QAAQK,aAAe,EACrC8F,EAAOn8C,KAAK0mB,IACXy1B,GAAK9qC,OACR8qC,EAAK2N,OAAOzlC,GAEV83B,EAAK9qC,MAAQ8qC,EAAK7qC,QACpBV,EAAIurC,EAAKvrC,EAAIurC,EAAK9qC,MAAQ,EAC1BR,EAAIsrC,EAAKtrC,EAAImY,IAGbpY,EAAIurC,EAAKvrC,EAAIoY,EACbnY,EAAIsrC,EAAKtrC,EAAIsrC,EAAK7qC,OAAS,GAE7BtR,KAAK+pD,QAAQ1lC,EAAKzT,EAAGC,EAAGmY,GACxBjY,EAAQ/Q,KAAKgqD,eAAep5C,EAAGC,EAAGmY,EAAQ,IAC1ChpB,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAOhV,EAAMH,EAAGG,EAAMF,KAUhD7N,EAAKgP,UAAUw3C,cAAgB,WAC7B,MAAqB,IAAjBxpD,KAAK+pC,SACCllC,KAAKiI,IAAIjI,KAAKwG,IAAIrL,KAAKgoD,cAAehoD,KAAK8N,QAAQ2W,UAAW,GAAIzkB,KAAKiqD,iBAG7D,GAAdjqD,KAAK6L,MACAhH,KAAKiI,IAAIjI,KAAKwG,IAAIrL,KAAK8N,QAAQ0nC,WAAYx1C,KAAK8N,QAAQ2W,UAAW,GAAIzkB,KAAKiqD,iBAG5EplD,KAAKiI,IAAI9M,KAAK8N,QAAQuD,MAAO,GAAIrR,KAAKiqD,kBAKnDjnD,EAAKgP,UAAUk4C,mBAAqB,WAClC,GAAIC,GAAO,KACPC,EAAO,KACPrN,EAAS/8C,KAAK8N,QAAQwqC,aAAaE,UACnC/xC,EAAOzG,KAAK8N,QAAQwqC,aAAa7xC,KAEjCyV,EAAKrX,KAAKsjB,IAAInoB,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GACpCuL,EAAKtX,KAAKsjB,IAAInoB,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,EA2JxC,OA1JY,YAARpK,GAA8B,iBAARA,EACpB5B,KAAKsjB,IAAInoB,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAAK/L,KAAKsjB,IAAInoB,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,IACjE7Q,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,EACpB7Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GACxBu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS5gC,EAC9BiuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS5gC,GAEvBnc,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,IAC7Bu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS5gC,EAC9BiuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS5gC,GAGzBnc,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,IACzB7Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GACxBu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS5gC,EAC9BiuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS5gC,GAEvBnc,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,IAC7Bu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS5gC,EAC9BiuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS5gC,IAGtB,YAAR1V,IACF0jD,EAAYpN,EAAS5gC,EAAdD,EAAmBlc,KAAK0mB,KAAK9V,EAAIu5C,IAGnCtlD,KAAKsjB,IAAInoB,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAAK/L,KAAKsjB,IAAInoB,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,KACtE7Q,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,EACpB7Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GACxBu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS7gC,GAEvBlc,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,IAC7Bu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS7gC,GAGzBlc,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,IACzB7Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GACxBu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS7gC,GAEvBlc,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,IAC7Bu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS7gC,IAGtB,YAARzV,IACF2jD,EAAYrN,EAAS7gC,EAAdC,EAAmBnc,KAAK0mB,KAAK7V,EAAIu5C,IAI7B,iBAAR3jD,EACH5B,KAAKsjB,IAAInoB,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAAK/L,KAAKsjB,IAAInoB,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,IACrEs5C,EAAOnqD,KAAK0mB,KAAK9V,EAEfw5C,EADEpqD,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,EACjB7Q,KAAK2mB,GAAG9V,GAAK,EAAEksC,GAAU5gC,EAGzBnc,KAAK2mB,GAAG9V,GAAK,EAAEksC,GAAU5gC,GAG3BtX,KAAKsjB,IAAInoB,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAAK/L,KAAKsjB,IAAInoB,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,KAExEs5C,EADEnqD,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,EACjB5Q,KAAK2mB,GAAG/V,GAAK,EAAEmsC,GAAU7gC,EAGzBlc,KAAK2mB,GAAG/V,GAAK,EAAEmsC,GAAU7gC,EAElCkuC,EAAOpqD,KAAK0mB,KAAK7V,GAGJ,cAARpK,GAEL0jD,EADEnqD,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,EACjB5Q,KAAK2mB,GAAG/V,GAAK,EAAEmsC,GAAU7gC,EAGzBlc,KAAK2mB,GAAG/V,GAAK,EAAEmsC,GAAU7gC,EAElCkuC,EAAOpqD,KAAK0mB,KAAK7V,GAEF,YAARpK,GACP0jD,EAAOnqD,KAAK0mB,KAAK9V,EAEfw5C,EADEpqD,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,EACjB7Q,KAAK2mB,GAAG9V,GAAK,EAAEksC,GAAU5gC,EAGzBnc,KAAK2mB,GAAG9V,GAAK,EAAEksC,GAAU5gC,GAI9BtX,KAAKsjB,IAAInoB,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAAK/L,KAAKsjB,IAAInoB,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,GACjE7Q,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,EACpB7Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAExBu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS5gC,EAC9BiuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS5gC,EAC9BguC,EAAOnqD,KAAK2mB,GAAG/V,EAAIu5C,EAAOnqD,KAAK2mB,GAAG/V,EAAIu5C,GAE/BnqD,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,IAE7Bu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS5gC,EAC9BiuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS5gC,EAC9BguC,EAAOnqD,KAAK2mB,GAAG/V,EAAIu5C,EAAOnqD,KAAK2mB,GAAG/V,EAAGu5C,GAGhCnqD,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,IACzB7Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAExBu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS5gC,EAC9BiuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS5gC,EAC9BguC,EAAOnqD,KAAK2mB,GAAG/V,EAAIu5C,EAAOnqD,KAAK2mB,GAAG/V,EAAIu5C,GAE/BnqD,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,IAE7Bu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS5gC,EAC9BiuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS5gC,EAC9BguC,EAAOnqD,KAAK2mB,GAAG/V,EAAIu5C,EAAOnqD,KAAK2mB,GAAG/V,EAAIu5C,IAInCtlD,KAAKsjB,IAAInoB,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAAK/L,KAAKsjB,IAAInoB,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,KACtE7Q,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,EACpB7Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAExBu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK2mB,GAAG9V,EAAIu5C,EAAOpqD,KAAK2mB,GAAG9V,EAAIu5C,GAE/BpqD,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,IAE7Bu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK2mB,GAAG9V,EAAIu5C,EAAOpqD,KAAK2mB,GAAG9V,EAAIu5C,GAGjCpqD,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,IACzB7Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAExBu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK2mB,GAAG9V,EAAIu5C,EAAOpqD,KAAK2mB,GAAG9V,EAAIu5C,GAE/BpqD,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,IAE7Bu5C,EAAOnqD,KAAK0mB,KAAK9V,EAAImsC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK0mB,KAAK7V,EAAIksC,EAAS7gC,EAC9BkuC,EAAOpqD,KAAK2mB,GAAG9V,EAAIu5C,EAAOpqD,KAAK2mB,GAAG9V,EAAIu5C,MAOtCx5C,EAAEu5C,EAAMt5C,EAAEu5C,IAQpBpnD,EAAKgP,UAAUy3C,MAAQ,SAAUplC,GAI/B,GAFAA,EAAIa,YACJb,EAAIc,OAAOnlB,KAAK0mB,KAAK9V,EAAG5Q,KAAK0mB,KAAK7V,GACO,GAArC7Q,KAAK8N,QAAQwqC,aAAavqC,QAAiB,CAC7C,GAAyC,GAArC/N,KAAK8N,QAAQwqC,aAAaC,QAAkB,CAC9C,GAAIuL,GAAM9jD,KAAKkqD,oBACf,OAAa,OAATpG,EAAIlzC,GACNyT,EAAIe,OAAOplB,KAAK2mB,GAAG/V,EAAG5Q,KAAK2mB,GAAG9V,GAC9BwT,EAAIlH,SACG,OAKPkH,EAAIgmC,iBAAiBvG,EAAIlzC,EAAEkzC,EAAIjzC,EAAE7Q,KAAK2mB,GAAG/V,EAAG5Q,KAAK2mB,GAAG9V,GACpDwT,EAAIlH,SACG2mC,GAMT,MAFAz/B,GAAIgmC,iBAAiBrqD,KAAK8jD,IAAIlzC,EAAE5Q,KAAK8jD,IAAIjzC,EAAE7Q,KAAK2mB,GAAG/V,EAAG5Q,KAAK2mB,GAAG9V,GAC9DwT,EAAIlH,SACGnd,KAAK8jD,IAMd,MAFAz/B,GAAIe,OAAOplB,KAAK2mB,GAAG/V,EAAG5Q,KAAK2mB,GAAG9V,GAC9BwT,EAAIlH,SACG,MAYXna,EAAKgP,UAAU+3C,QAAU,SAAU1lC,EAAKzT,EAAGC,EAAGmY,GAE5C3E,EAAIa,YACJb,EAAI4E,IAAIrY,EAAGC,EAAGmY,EAAQ,EAAG,EAAInkB,KAAKqkB,IAAI,GACtC7E,EAAIlH,UAWNna,EAAKgP,UAAU63C,OAAS,SAAUxlC,EAAKwC,EAAMjW,EAAGC,GAC9C,GAAIgW,EAAM,CAERxC,EAAIQ,MAAS7kB,KAAK0mB,KAAKqjB,UAAY/pC,KAAK2mB,GAAGojB,SAAY,QAAU,IAC7D/pC,KAAK8N,QAAQonC,SAAW,MAAQl1C,KAAK8N,QAAQqnC,SACjD9wB,EAAIiB,UAAYtlB,KAAK8N,QAAQ2nC,QAC7B,IAAIpkC,GAAQgT,EAAIimC,YAAYzjC,GAAMxV,MAC9BC,EAAStR,KAAK8N,QAAQonC,SACtB9tC,EAAOwJ,EAAIS,EAAQ,EACnB7J,EAAMqJ,EAAIS,EAAS,CAEvB+S,GAAIkmC,SAASnjD,EAAMI,EAAK6J,EAAOC,GAG/B+S,EAAIiB,UAAYtlB,KAAK8N,QAAQmnC,WAAa,QAC1C5wB,EAAIuB,UAAY,OAChBvB,EAAIwB,aAAe,MACnBxB,EAAIyB,SAASe,EAAMzf,EAAMI,KAa7BxE,EAAKgP,UAAU42C,cAAgB,SAASvkC,GAERA,EAAIY,YAAb,GAAjBjlB,KAAK+pC,SAAuC/pC,KAAK8N,QAAQrD,MAAMmB,UAC5C,GAAd5L,KAAK6L,MAAkC7L,KAAK8N,QAAQrD,MAAMoB,MACnB7L,KAAK8N,QAAQrD,MAAMA,MAEnE4Z,EAAIO,UAAY5kB,KAAKwpD,eAErB,IAAI1F,GAAM,IAEV,IAAoB39C,SAAhBke,EAAImmC,SAA6CrkD,SAApBke,EAAIomC,YAA2B,CAE9D,GAAIC,IAAW,EAEbA,GAD+BvkD,SAA7BnG,KAAK8N,QAAQ6nC,KAAKrwC,QAAkDa,SAA1BnG,KAAK8N,QAAQ6nC,KAAKC,KACnD51C,KAAK8N,QAAQ6nC,KAAKrwC,OAAOtF,KAAK8N,QAAQ6nC,KAAKC,MAG3C,EAAE,GAIgB,mBAApBvxB,GAAIomC,aACbpmC,EAAIomC,YAAYC,GAChBrmC,EAAIsmC,eAAiB,IAGrBtmC,EAAImmC,QAAUE,EACdrmC,EAAIumC,cAAgB,GAItB9G,EAAM9jD,KAAKypD,MAAMplC,GAGc,mBAApBA,GAAIomC,aACbpmC,EAAIomC,aAAa,IACjBpmC,EAAIsmC,eAAiB,IAGrBtmC,EAAImmC,SAAW,GACfnmC,EAAIumC,cAAgB,OAKtBvmC,GAAIa,YACJb,EAAIwmC,QAAU,QACsB1kD,SAAhCnG,KAAK8N,QAAQ6nC,KAAKE,UAEpBxxB,EAAIymC,WAAW9qD,KAAK0mB,KAAK9V,EAAE5Q,KAAK0mB,KAAK7V,EAAE7Q,KAAK2mB,GAAG/V,EAAE5Q,KAAK2mB,GAAG9V,GACpD7Q,KAAK8N,QAAQ6nC,KAAKrwC,OAAOtF,KAAK8N,QAAQ6nC,KAAKC,IAAI51C,KAAK8N,QAAQ6nC,KAAKE,UAAU71C,KAAK8N,QAAQ6nC,KAAKC,MAE9DzvC,SAA7BnG,KAAK8N,QAAQ6nC,KAAKrwC,QAAkDa,SAA1BnG,KAAK8N,QAAQ6nC,KAAKC,IAEnEvxB,EAAIymC,WAAW9qD,KAAK0mB,KAAK9V,EAAE5Q,KAAK0mB,KAAK7V,EAAE7Q,KAAK2mB,GAAG/V,EAAE5Q,KAAK2mB,GAAG9V,GACpD7Q,KAAK8N,QAAQ6nC,KAAKrwC,OAAOtF,KAAK8N,QAAQ6nC,KAAKC,OAIhDvxB,EAAIc,OAAOnlB,KAAK0mB,KAAK9V,EAAG5Q,KAAK0mB,KAAK7V,GAClCwT,EAAIe,OAAOplB,KAAK2mB,GAAG/V,EAAG5Q,KAAK2mB,GAAG9V,IAEhCwT,EAAIlH,QAIN,IAAInd,KAAK+lB,MAAO,CACd,GAAIhV,EACJ,IAAyC,GAArC/Q,KAAK8N,QAAQwqC,aAAavqC,SAA0B,MAAP+1C,EAAa,CAC5D,GAAI4F,GAAY,IAAK,IAAK1pD,KAAK0mB,KAAK9V,EAAIkzC,EAAIlzC,GAAK,IAAK5Q,KAAK2mB,GAAG/V,EAAIkzC,EAAIlzC,IAClE+4C,EAAY,IAAK,IAAK3pD,KAAK0mB,KAAK7V,EAAIizC,EAAIjzC,GAAK,IAAK7Q,KAAK2mB,GAAG9V,EAAIizC,EAAIjzC,GACtEE,IAASH,EAAE84C,EAAW74C,EAAE84C,OAGxB54C,GAAQ/Q,KAAK4pD,aAAa,GAE5B5pD,MAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAOhV,EAAMH,EAAGG,EAAMF,KAUhD7N,EAAKgP,UAAU43C,aAAe,SAAUmB,GACtC,OACEn6C,GAAI,EAAIm6C,GAAc/qD,KAAK0mB,KAAK9V,EAAIm6C,EAAa/qD,KAAK2mB,GAAG/V,EACzDC,GAAI,EAAIk6C,GAAc/qD,KAAK0mB,KAAK7V,EAAIk6C,EAAa/qD,KAAK2mB,GAAG9V,IAa7D7N,EAAKgP,UAAUg4C,eAAiB,SAAUp5C,EAAGC,EAAGmY,EAAQ+hC,GACtD,GAAI7H,GAA6B,GAApB6H,EAAa,EAAE,GAASlmD,KAAKqkB,EAC1C,QACEtY,EAAGA,EAAIoY,EAASnkB,KAAKgX,IAAIqnC,GACzBryC,EAAGA,EAAImY,EAASnkB,KAAK6W,IAAIwnC,KAW7BlgD,EAAKgP,UAAU22C,iBAAmB,SAAStkC,GACzC,GAAItT,EAOJ,IALqB,GAAjB/Q,KAAK+pC,UAAqB1lB,EAAIY,YAAcjlB,KAAK8N,QAAQrD,MAAMmB,UAAWyY,EAAIiB,UAAYtlB,KAAK8N,QAAQrD,MAAMmB,WAC1F,GAAd5L,KAAK6L,OAAgBwY,EAAIY,YAAcjlB,KAAK8N,QAAQrD,MAAMoB,MAAWwY,EAAIiB,UAAYtlB,KAAK8N,QAAQrD,MAAMoB,QACnFwY,EAAIY,YAAcjlB,KAAK8N,QAAQrD,MAAMA,MAAW4Z,EAAIiB,UAAYtlB,KAAK8N,QAAQrD,MAAMA,OACjH4Z,EAAIO,UAAY5kB,KAAKwpD,gBAEjBxpD,KAAK0mB,MAAQ1mB,KAAK2mB,GAAI,CAExB,GAAIm9B,GAAM9jD,KAAKypD,MAAMplC,GAEjB6+B,EAAQr+C,KAAKmmD,MAAOhrD,KAAK2mB,GAAG9V,EAAI7Q,KAAK0mB,KAAK7V,EAAK7Q,KAAK2mB,GAAG/V,EAAI5Q,KAAK0mB,KAAK9V,GACrEtL,GAAU,GAAK,EAAItF,KAAK8N,QAAQuD,OAASrR,KAAK8N,QAAQ4nC,gBAE1D,IAAyC,GAArC11C,KAAK8N,QAAQwqC,aAAavqC,SAA0B,MAAP+1C,EAAa,CAC5D,GAAI4F,GAAY,IAAK,IAAK1pD,KAAK0mB,KAAK9V,EAAIkzC,EAAIlzC,GAAK,IAAK5Q,KAAK2mB,GAAG/V,EAAIkzC,EAAIlzC,IAClE+4C,EAAY,IAAK,IAAK3pD,KAAK0mB,KAAK7V,EAAIizC,EAAIjzC,GAAK,IAAK7Q,KAAK2mB,GAAG9V,EAAIizC,EAAIjzC,GACtEE,IAASH,EAAE84C,EAAW74C,EAAE84C,OAGxB54C,GAAQ/Q,KAAK4pD,aAAa,GAG5BvlC,GAAI4mC,MAAMl6C,EAAMH,EAAGG,EAAMF,EAAGqyC,EAAO59C,GACnC+e,EAAInH,OACJmH,EAAIlH,SAGAnd,KAAK+lB,OACP/lB,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAOhV,EAAMH,EAAGG,EAAMF,OAG3C,CAEH,GAAID,GAAGC,EACHmY,EAAS,IAAOnkB,KAAKiI,IAAI,IAAI9M,KAAKg2C,QAAQK,cAC1C8F,EAAOn8C,KAAK0mB,IACXy1B,GAAK9qC,OACR8qC,EAAK2N,OAAOzlC,GAEV83B,EAAK9qC,MAAQ8qC,EAAK7qC,QACpBV,EAAIurC,EAAKvrC,EAAiB,GAAburC,EAAK9qC,MAClBR,EAAIsrC,EAAKtrC,EAAImY,IAGbpY,EAAIurC,EAAKvrC,EAAIoY,EACbnY,EAAIsrC,EAAKtrC,EAAkB,GAAdsrC,EAAK7qC,QAEpBtR,KAAK+pD,QAAQ1lC,EAAKzT,EAAGC,EAAGmY,EAGxB,IAAIk6B,GAAQ,GAAMr+C,KAAKqkB,GACnB5jB,GAAU,GAAK,EAAItF,KAAK8N,QAAQuD,OAASrR,KAAK8N,QAAQ4nC,gBAC1D3kC,GAAQ/Q,KAAKgqD,eAAep5C,EAAGC,EAAGmY,EAAQ,IAC1C3E,EAAI4mC,MAAMl6C,EAAMH,EAAGG,EAAMF,EAAGqyC,EAAO59C,GACnC+e,EAAInH,OACJmH,EAAIlH,SAGAnd,KAAK+lB,QACPhV,EAAQ/Q,KAAKgqD,eAAep5C,EAAGC,EAAGmY,EAAQ,IAC1ChpB,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAOhV,EAAMH,EAAGG,EAAMF,MAclD7N,EAAKgP,UAAU02C,WAAa,SAASrkC,GAEd,GAAjBrkB,KAAK+pC,UAAqB1lB,EAAIY,YAAcjlB,KAAK8N,QAAQrD,MAAMmB,UAAWyY,EAAIiB,UAAYtlB,KAAK8N,QAAQrD,MAAMmB,WAC1F,GAAd5L,KAAK6L,OAAgBwY,EAAIY,YAAcjlB,KAAK8N,QAAQrD,MAAMoB,MAAWwY,EAAIiB,UAAYtlB,KAAK8N,QAAQrD,MAAMoB,QACnFwY,EAAIY,YAAcjlB,KAAK8N,QAAQrD,MAAMA,MAAW4Z,EAAIiB,UAAYtlB,KAAK8N,QAAQrD,MAAMA,OAEjH4Z,EAAIO,UAAY5kB,KAAKwpD,eAErB,IAAItG,GAAO59C,CAEX,IAAItF,KAAK0mB,MAAQ1mB,KAAK2mB,GAAI,CACxBu8B,EAAQr+C,KAAKmmD,MAAOhrD,KAAK2mB,GAAG9V,EAAI7Q,KAAK0mB,KAAK7V,EAAK7Q,KAAK2mB,GAAG/V,EAAI5Q,KAAK0mB,KAAK9V,EACrE,IASIkzC,GATA5nC,EAAMlc,KAAK2mB,GAAG/V,EAAI5Q,KAAK0mB,KAAK9V,EAC5BuL,EAAMnc,KAAK2mB,GAAG9V,EAAI7Q,KAAK0mB,KAAK7V,EAC5Bq6C,EAAoBrmD,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAE7CgvC,EAAiBnrD,KAAK0mB,KAAK0kC,iBAAiB/mC,EAAK6+B,EAAQr+C,KAAKqkB,IAC9DmiC,GAAmBH,EAAoBC,GAAkBD,EACzDnC,EAAQ,EAAoB/oD,KAAK0mB,KAAK9V,GAAK,EAAIy6C,GAAmBrrD,KAAK2mB,GAAG/V,EAC1Eo4C,EAAQ,EAAoBhpD,KAAK0mB,KAAK7V,GAAK,EAAIw6C,GAAmBrrD,KAAK2mB,GAAG9V,CAGrC,IAArC7Q,KAAK8N,QAAQwqC,aAAaC,SAAwD,GAArCv4C,KAAK8N,QAAQwqC,aAAavqC,QACzE+1C,EAAM9jD,KAAK8jD,IAEiC,GAArC9jD,KAAK8N,QAAQwqC,aAAavqC,UACjC+1C,EAAM9jD,KAAKkqD,sBAG4B,GAArClqD,KAAK8N,QAAQwqC,aAAavqC,SAA4B,MAAT+1C,EAAIlzC,IACnDsyC,EAAQr+C,KAAKmmD,MAAOhrD,KAAK2mB,GAAG9V,EAAIizC,EAAIjzC,EAAK7Q,KAAK2mB,GAAG/V,EAAIkzC,EAAIlzC,GACzDsL,EAAMlc,KAAK2mB,GAAG/V,EAAIkzC,EAAIlzC,EACtBuL,EAAMnc,KAAK2mB,GAAG9V,EAAIizC,EAAIjzC,EACtBq6C,EAAoBrmD,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAE/C,IAGI8sC,GAAIC,EAHJoC,EAAetrD,KAAK2mB,GAAGykC,iBAAiB/mC,EAAK6+B,GAC7CqI,GAAiBL,EAAoBI,GAAgBJ,CA6BzD,IA1ByC,GAArClrD,KAAK8N,QAAQwqC,aAAavqC,SAA4B,MAAT+1C,EAAIlzC,GACpDq4C,GAAO,EAAIsC,GAAiBzH,EAAIlzC,EAAI26C,EAAgBvrD,KAAK2mB,GAAG/V,EAC5Ds4C,GAAO,EAAIqC,GAAiBzH,EAAIjzC,EAAI06C,EAAgBvrD,KAAK2mB,GAAG9V,IAG3Do4C,GAAO,EAAIsC,GAAiBvrD,KAAK0mB,KAAK9V,EAAI26C,EAAgBvrD,KAAK2mB,GAAG/V,EAClEs4C,GAAO,EAAIqC,GAAiBvrD,KAAK0mB,KAAK7V,EAAI06C,EAAgBvrD,KAAK2mB,GAAG9V,GAGpEwT,EAAIa,YACJb,EAAIc,OAAO4jC,EAAMC,GACwB,GAArChpD,KAAK8N,QAAQwqC,aAAavqC,SAA4B,MAAT+1C,EAAIlzC,EACnDyT,EAAIgmC,iBAAiBvG,EAAIlzC,EAAEkzC,EAAIjzC,EAAEo4C,EAAKC,GAGtC7kC,EAAIe,OAAO6jC,EAAKC,GAElB7kC,EAAIlH,SAGJ7X,GAAU,GAAK,EAAItF,KAAK8N,QAAQuD,OAASrR,KAAK8N,QAAQ4nC,iBACtDrxB,EAAI4mC,MAAMhC,EAAKC,EAAKhG,EAAO59C,GAC3B+e,EAAInH,OACJmH,EAAIlH,SAGAnd,KAAK+lB,MAAO,CACd,GAAIhV,EACJ,IAAyC,GAArC/Q,KAAK8N,QAAQwqC,aAAavqC,SAA0B,MAAP+1C,EAAa,CAC5D,GAAI4F,GAAY,IAAK,IAAK1pD,KAAK0mB,KAAK9V,EAAIkzC,EAAIlzC,GAAK,IAAK5Q,KAAK2mB,GAAG/V,EAAIkzC,EAAIlzC,IAClE+4C,EAAY,IAAK,IAAK3pD,KAAK0mB,KAAK7V,EAAIizC,EAAIjzC,GAAK,IAAK7Q,KAAK2mB,GAAG9V,EAAIizC,EAAIjzC,GACtEE,IAASH,EAAE84C,EAAW74C,EAAE84C,OAGxB54C,GAAQ/Q,KAAK4pD,aAAa,GAE5B5pD,MAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAOhV,EAAMH,EAAGG,EAAMF,QAG3C,CAEH,GACID,GAAGC,EAAGo6C,EADN9O,EAAOn8C,KAAK0mB,KAEZsC,EAAS,IAAOnkB,KAAKiI,IAAI,IAAI9M,KAAKg2C,QAAQK,aACzC8F,GAAK9qC,OACR8qC,EAAK2N,OAAOzlC,GAEV83B,EAAK9qC,MAAQ8qC,EAAK7qC,QACpBV,EAAIurC,EAAKvrC,EAAiB,GAAburC,EAAK9qC,MAClBR,EAAIsrC,EAAKtrC,EAAImY,EACbiiC,GACEr6C,EAAGA,EACHC,EAAGsrC,EAAKtrC,EACRqyC,MAAO,GAAMr+C,KAAKqkB,MAIpBtY,EAAIurC,EAAKvrC,EAAIoY,EACbnY,EAAIsrC,EAAKtrC,EAAkB,GAAdsrC,EAAK7qC,OAClB25C,GACEr6C,EAAGurC,EAAKvrC,EACRC,EAAGA,EACHqyC,MAAO,GAAMr+C,KAAKqkB,KAGtB7E,EAAIa,YAEJb,EAAI4E,IAAIrY,EAAGC,EAAGmY,EAAQ,EAAG,EAAInkB,KAAKqkB,IAAI,GACtC7E,EAAIlH,QAGJ,IAAI7X,IAAU,GAAK,EAAItF,KAAK8N,QAAQuD,OAASrR,KAAK8N,QAAQ4nC,gBAC1DrxB,GAAI4mC,MAAMA,EAAMr6C,EAAGq6C,EAAMp6C,EAAGo6C,EAAM/H,MAAO59C,GACzC+e,EAAInH,OACJmH,EAAIlH,SAGAnd,KAAK+lB,QACPhV,EAAQ/Q,KAAKgqD,eAAep5C,EAAGC,EAAGmY,EAAQ,IAC1ChpB,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAOhV,EAAMH,EAAGG,EAAMF,MAmBlD7N,EAAKgP,UAAUq3C,mBAAqB,SAAUmC,EAAGC,EAAIC,EAAGC,EAAIC,EAAGC,GAC7D,GAAI7rD,KAAK0mB,MAAQ1mB,KAAK2mB,GAAI,CACxB,GAAyC,GAArC3mB,KAAK8N,QAAQwqC,aAAavqC,QAAiB,CAC7C,GAAIo8C,GAAMC,CACV,IAAyC,GAArCpqD,KAAK8N,QAAQwqC,aAAavqC,SAAwD,GAArC/N,KAAK8N,QAAQwqC,aAAaC,QACzE4R,EAAOnqD,KAAK8jD,IAAIlzC,EAChBw5C,EAAOpqD,KAAK8jD,IAAIjzC,MAEb,CACH,GAAIizC,GAAM9jD,KAAKkqD,oBACfC,GAAOrG,EAAIlzC,EACXw5C,EAAOtG,EAAIjzC,EAEb,GACIoS,GACA9d,EAAEgI,EAAEyD,EAAEC,EAAGi7C,EAAOC,EAFhBC,EAAc,GAGlB,KAAK7mD,EAAI,EAAO,GAAJA,EAAQA,IAClBgI,EAAI,GAAIhI,EACRyL,EAAI/L,KAAK8sB,IAAI,EAAExkB,EAAE,GAAGq+C,EAAM,EAAEr+C,GAAG,EAAIA,GAAIg9C,EAAOtlD,KAAK8sB,IAAIxkB,EAAE,GAAGu+C,EAC5D76C,EAAIhM,KAAK8sB,IAAI,EAAExkB,EAAE,GAAGs+C,EAAM,EAAEt+C,GAAG,EAAIA,GAAIi9C,EAAOvlD,KAAK8sB,IAAIxkB,EAAE,GAAGw+C,EACxDxmD,EAAI,IACN8d,EAAWjjB,KAAKisD,mBAAmBH,EAAMC,EAAMn7C,EAAEC,EAAG+6C,EAAGC,GACvDG,EAAyBA,EAAX/oC,EAAyBA,EAAW+oC,GAEpDF,EAAQl7C,EAAGm7C,EAAQl7C,CAErB,OAAOm7C,GAGP,MAAOhsD,MAAKisD,mBAAmBT,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,GAIhD,GAAIj7C,GAAGC,EAAGqL,EAAIC,EACV6M,EAAS,IAAOhpB,KAAKg2C,QAAQK,aAC7B8F,EAAOn8C,KAAK0mB,IAWhB,OAVIy1B,GAAK9qC,MAAQ8qC,EAAK7qC,QACpBV,EAAIurC,EAAKvrC,EAAI,GAAMurC,EAAK9qC,MACxBR,EAAIsrC,EAAKtrC,EAAImY,IAGbpY,EAAIurC,EAAKvrC,EAAIoY,EACbnY,EAAIsrC,EAAKtrC,EAAI,GAAMsrC,EAAK7qC,QAE1B4K,EAAKtL,EAAIg7C,EACTzvC,EAAKtL,EAAIg7C,EACFhnD,KAAKsjB,IAAItjB,KAAKyoB,KAAKpR,EAAGA,EAAKC,EAAGA,GAAM6M,IAI/ChmB,EAAKgP,UAAUi6C,mBAAqB,SAAST,EAAGC,EAAGC,EAAGC,EAAGC,EAAGC,GAC1D,GAAIK,GAAKR,EAAGF,EACVW,EAAKR,EAAGF,EACRW,EAAYF,EAAGA,EAAKC,EAAGA,EACvBE,IAAOT,EAAKJ,GAAMU,GAAML,EAAKJ,GAAMU,GAAMC,CAEvCC,GAAI,EACNA,EAAI,EAEO,EAAJA,IACPA,EAAI,EAGN,IAAIz7C,GAAI46C,EAAKa,EAAIH,EACfr7C,EAAI46C,EAAKY,EAAIF,EACbjwC,EAAKtL,EAAIg7C,EACTzvC,EAAKtL,EAAIg7C,CAQX,OAAOhnD,MAAKyoB,KAAKpR,EAAGA,EAAKC,EAAGA,IAQ9BnZ,EAAKgP,UAAUsqB,SAAW,SAAS/hB,GACjCva,KAAKiqD,gBAAkB,EAAI1vC,GAI7BvX,EAAKgP,UAAUk2B,OAAS,WACtBloC,KAAK+pC,UAAW,GAGlB/mC,EAAKgP,UAAUi2B,SAAW,WACxBjoC,KAAK+pC,UAAW,GAGlB/mC,EAAKgP,UAAUi1C,mBAAqB,WACjB,OAAbjnD,KAAK8jD,KAA8B,OAAd9jD,KAAK0mB,MAA6B,OAAZ1mB,KAAK2mB,KAClD3mB,KAAK8jD,IAAIlzC,EAAI,IAAO5Q,KAAK0mB,KAAK9V,EAAI5Q,KAAK2mB,GAAG/V,GAC1C5Q,KAAK8jD,IAAIjzC,EAAI,IAAO7Q,KAAK0mB,KAAK7V,EAAI7Q,KAAK2mB,GAAG9V,KAQ9C7N,EAAKgP,UAAU+yC,kBAAoB,SAAS1gC,GAC1C,GAAgC,GAA5BrkB,KAAKqoD,oBAA6B,CACpC,GAA+B,OAA3BroD,KAAKsoD,aAAa5hC,MAA0C,OAAzB1mB,KAAKsoD,aAAa3hC,GAAa,CACpE,GAAI2lC,GAAa,cAAc55C,OAAO1S,KAAKK,IACvCksD,EAAW,YAAY75C,OAAO1S,KAAKK,IACnC64C,GACYxE,OAAO5jC,MAAM,GAAIkY,OAAO,GACxBgtB,SAASO,QAAQ,GACjBI,YAAac,sBAAuB,EAAGD,aAAcnmC,MAAM,EAAGC,OAAQ,EAAG0X,OAAO,IAEhGhpB,MAAKsoD,aAAa5hC,KAAO,GAAIvjB,IAC1B9C,GAAGisD,EACFxX,MAAM,MACJrqC,OAAOiB,WAAW,UAAWC,OAAO,UAAWC,WAAYF,WAAW,mBAClEwtC,GACVl5C,KAAKsoD,aAAa3hC,GAAK,GAAIxjB,IACxB9C,GAAGksD,EACFzX,MAAM,MACNrqC,OAAOiB,WAAW,UAAWC,OAAO,UAAWC,WAAYF,WAAW,mBAChEwtC,GAG2B,GAAnCl5C,KAAKsoD,aAAa5hC,KAAKqjB,UAAsD,GAAjC/pC,KAAKsoD,aAAa3hC,GAAGojB,WACnE/pC,KAAKsoD,aAAaC,UAAYvoD,KAAKwsD,wBAAwBnoC,GAC3DrkB,KAAKsoD,aAAa5hC,KAAK9V,EAAI5Q,KAAKsoD,aAAaC,UAAU7hC,KAAK9V,EAC5D5Q,KAAKsoD,aAAa5hC,KAAK7V,EAAI7Q,KAAKsoD,aAAaC,UAAU7hC,KAAK7V,EAC5D7Q,KAAKsoD,aAAa3hC,GAAG/V,EAAI5Q,KAAKsoD,aAAaC,UAAU5hC,GAAG/V,EACxD5Q,KAAKsoD,aAAa3hC,GAAG9V,EAAI7Q,KAAKsoD,aAAaC,UAAU5hC,GAAG9V,GAG1D7Q,KAAKsoD,aAAa5hC,KAAKk+B,KAAKvgC,GAC5BrkB,KAAKsoD,aAAa3hC,GAAGi+B,KAAKvgC,OAG1BrkB,MAAKsoD,cAAgB5hC,KAAK,KAAMC,GAAG,KAAM4hC,eAQ7CvlD,EAAKgP,UAAUy6C,oBAAsB,WACnCzsD,KAAKqoD,qBAAsB,GAO7BrlD,EAAKgP,UAAU06C,qBAAuB,WACpC1sD,KAAKqoD,qBAAsB,GAU7BrlD,EAAKgP,UAAU26C,wBAA0B,SAAS/7C,EAAEC,GAClD,GAAI03C,GAAYvoD,KAAKsoD,aAAaC,UAC9BqE,EAAe/nD,KAAKyoB,KAAKzoB,KAAK8sB,IAAI/gB,EAAI23C,EAAU7hC,KAAK9V,EAAE,GAAK/L,KAAK8sB,IAAI9gB,EAAI03C,EAAU7hC,KAAK7V,EAAE,IAC1Fg8C,EAAehoD,KAAKyoB,KAAKzoB,KAAK8sB,IAAI/gB,EAAI23C,EAAU5hC,GAAG/V,EAAI,GAAK/L,KAAK8sB,IAAI9gB,EAAI03C,EAAU5hC,GAAG9V,EAAI,GAE9F,OAAmB,IAAf+7C,GACF5sD,KAAKwoD,cAAgBxoD,KAAK0mB,KAC1B1mB,KAAK0mB,KAAO1mB,KAAKsoD,aAAa5hC,KACvB1mB,KAAKsoD,aAAa5hC,MAEL,GAAbmmC,GACP7sD,KAAKwoD,cAAgBxoD,KAAK2mB,GAC1B3mB,KAAK2mB,GAAK3mB,KAAKsoD,aAAa3hC,GACrB3mB,KAAKsoD,aAAa3hC,IAGlB,MASX3jB,EAAKgP,UAAU86C,qBAAuB,WACG,GAAnC9sD,KAAKsoD,aAAa5hC,KAAKqjB,WACzB/pC,KAAK0mB,KAAO1mB,KAAKwoD,cACjBxoD,KAAKwoD,cAAgB,KACrBxoD,KAAKsoD,aAAa5hC,KAAKuhB,YAEY,GAAjCjoC,KAAKsoD,aAAa3hC,GAAGojB,WACvB/pC,KAAK2mB,GAAK3mB,KAAKwoD,cACfxoD,KAAKwoD,cAAgB,KACrBxoD,KAAKsoD,aAAa3hC,GAAGshB,aAUzBjlC,EAAKgP,UAAUw6C,wBAA0B,SAASnoC,GAChD,GASIy/B,GATAZ,EAAQr+C,KAAKmmD,MAAOhrD,KAAK2mB,GAAG9V,EAAI7Q,KAAK0mB,KAAK7V,EAAK7Q,KAAK2mB,GAAG/V,EAAI5Q,KAAK0mB,KAAK9V,GACrEsL,EAAMlc,KAAK2mB,GAAG/V,EAAI5Q,KAAK0mB,KAAK9V,EAC5BuL,EAAMnc,KAAK2mB,GAAG9V,EAAI7Q,KAAK0mB,KAAK7V,EAC5Bq6C,EAAoBrmD,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAC7CgvC,EAAiBnrD,KAAK0mB,KAAK0kC,iBAAiB/mC,EAAK6+B,EAAQr+C,KAAKqkB,IAC9DmiC,GAAmBH,EAAoBC,GAAkBD,EACzDnC,EAAQ,EAAoB/oD,KAAK0mB,KAAK9V,GAAK,EAAIy6C,GAAmBrrD,KAAK2mB,GAAG/V,EAC1Eo4C,EAAQ,EAAoBhpD,KAAK0mB,KAAK7V,GAAK,EAAIw6C,GAAmBrrD,KAAK2mB,GAAG9V,CAGrC,IAArC7Q,KAAK8N,QAAQwqC,aAAaC,SAAwD,GAArCv4C,KAAK8N,QAAQwqC,aAAavqC,QACzE+1C,EAAM9jD,KAAK8jD,IAEiC,GAArC9jD,KAAK8N,QAAQwqC,aAAavqC,UACjC+1C,EAAM9jD,KAAKkqD,sBAG4B,GAArClqD,KAAK8N,QAAQwqC,aAAavqC,SAA4B,MAAT+1C,EAAIlzC,IACnDsyC,EAAQr+C,KAAKmmD,MAAOhrD,KAAK2mB,GAAG9V,EAAIizC,EAAIjzC,EAAK7Q,KAAK2mB,GAAG/V,EAAIkzC,EAAIlzC,GACzDsL,EAAMlc,KAAK2mB,GAAG/V,EAAIkzC,EAAIlzC,EACtBuL,EAAMnc,KAAK2mB,GAAG9V,EAAIizC,EAAIjzC,EACtBq6C,EAAoBrmD,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAE/C,IAGI8sC,GAAIC,EAHJoC,EAAetrD,KAAK2mB,GAAGykC,iBAAiB/mC,EAAK6+B,GAC7CqI,GAAiBL,EAAoBI,GAAgBJ,CAYzD,OATyC,IAArClrD,KAAK8N,QAAQwqC,aAAavqC,SAA4B,MAAT+1C,EAAIlzC,GACnDq4C,GAAO,EAAIsC,GAAiBzH,EAAIlzC,EAAI26C,EAAgBvrD,KAAK2mB,GAAG/V,EAC5Ds4C,GAAO,EAAIqC,GAAiBzH,EAAIjzC,EAAI06C,EAAgBvrD,KAAK2mB,GAAG9V,IAG5Do4C,GAAO,EAAIsC,GAAiBvrD,KAAK0mB,KAAK9V,EAAI26C,EAAgBvrD,KAAK2mB,GAAG/V,EAClEs4C,GAAO,EAAIqC,GAAiBvrD,KAAK0mB,KAAK7V,EAAI06C,EAAgBvrD,KAAK2mB,GAAG9V,IAG5D6V,MAAM9V,EAAEm4C,EAAMl4C,EAAEm4C,GAAOriC,IAAI/V,EAAEq4C,EAAIp4C,EAAEq4C,KAG7CrpD,EAAOD,QAAUoD,GAIb,SAASnD,EAAQD,EAASM,GAQ9B,QAAS+C,KACPjD,KAAKqV,QACLrV,KAAK+sD,aAAe,EARtB,GAAIpsD,GAAOT,EAAoB,EAe/B+C,GAAO+pD,UACJrhD,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aACxIC,OAAQ,UAAWD,WAAY,UAAWE,WAAYD,OAAQ,UAAWD,WAAY,WAAYG,OAAQF,OAAQ,UAAWD,WAAY,aAO3IzI,EAAO+O,UAAUqD,MAAQ,WACvBrV,KAAKi0B,UACLj0B,KAAKi0B,OAAO3uB,OAAS,WAEnB,GAAIH,GAAI,CACR,KAAM,GAAIzE,KAAKV,MACTA,KAAKyF,eAAe/E,IACtByE,GAGJ,OAAOA,KAWXlC,EAAO+O,UAAU4B,IAAM,SAAU0qC,GAC/B,GAAIxtC,GAAQ9Q,KAAKi0B,OAAOqqB,EACxB,IAAan4C,QAAT2K,EAAoB,CAEtB,GAAI7I,GAAQjI,KAAK+sD,aAAe9pD,EAAO+pD,QAAQ1nD,MAC/CtF,MAAK+sD,eACLj8C,KACAA,EAAMrG,MAAQxH,EAAO+pD,QAAQ/kD,GAC7BjI,KAAKi0B,OAAOqqB,GAAaxtC,EAG3B,MAAOA,IAUT7N,EAAO+O,UAAUD,IAAM,SAAUusC,EAAWrtC,GAK1C,MAJAjR,MAAKi0B,OAAOqqB,GAAartC,EACrBA,EAAMxG,QACRwG,EAAMxG,MAAQ9J,EAAK6J,WAAWyG,EAAMxG,QAE/BwG,GAGTpR,EAAOD,QAAUqD,GAKb,SAASpD,GAMb,QAASqD,KACPlD,KAAKq5C,UAELr5C,KAAKoI,SAAWjC,OAQlBjD,EAAO8O,UAAUsnC,kBAAoB,SAASlxC,GAC5CpI,KAAKoI,SAAWA,GAQlBlF,EAAO8O,UAAUi7C,KAAO,SAASC,GAC/B,GAAIC,GAAMntD,KAAKq5C,OAAO6T,EACtB,IAAW/mD,QAAPgnD,EAAkB,CAEpB,GAAI9T,GAASr5C,IACbmtD,GAAM,GAAIC,OACVptD,KAAKq5C,OAAO6T,GAAOC,EACnBA,EAAIE,OAAS,WACPhU,EAAOjxC,UACTixC,EAAOjxC,SAASpI,OAGpBmtD,EAAIlR,IAAMiR,EAGZ,MAAOC,IAGTttD,EAAOD,QAAUsD,GAKb,SAASrD,EAAQD,EAASM,GA6B9B,QAASiD,GAAKqgD,EAAY8J,EAAWC,EAAW1F,GAC9C,GAAI3O,GAAYv4C,EAAK2M,uBAAuB,SAASu6C,EACrD7nD,MAAK8N,QAAUorC,EAAUxE,MAEzB10C,KAAK+pC,UAAW,EAChB/pC,KAAK6L,OAAQ,EAEb7L,KAAKs1C,SACLt1C,KAAKwtD,gBACLxtD,KAAKytD,iBAELztD,KAAK0tD,kBAAoB,EAGzB1tD,KAAKK,GAAK8F,OACVnG,KAAK4Q,EAAI,KACT5Q,KAAK6Q,EAAI,KACT7Q,KAAK0gD,QAAS,EACd1gD,KAAK2gD,QAAS,EACd3gD,KAAK2tD,qBAAsB,EAC3B3tD,KAAK4tD,kBAAsB,EAC3B5tD,KAAK6tD,gBAAkBhG,EAAiBnT,MAAM1rB,OAC9ChpB,KAAK8tD,aAAc,EACnB9tD,KAAKo1C,MAAQ,GACbp1C,KAAK+tD,kBAAmB,EACxB/tD,KAAKguD,qBAAsB,EAG3BhuD,KAAKstD,UAAYA,EACjBttD,KAAKutD,UAAYA,EAGjBvtD,KAAKiuD,GAAK,EACVjuD,KAAKkuD,GAAK,EACVluD,KAAKmuD,GAAK,EACVnuD,KAAKouD,GAAK,EACVpuD,KAAKu2C,QAAUsR,EAAiB7R,QAAQO,QACxCv2C,KAAKmlD,WAAav0C,EAAE,KAAKC,EAAE,MAG3B7Q,KAAKujD,cAAcC,EAAYtK,GAG/Bl5C,KAAKquD,eACLruD,KAAKsuD,mBAAqB,EAC1BtuD,KAAKuuD,eAAiB,EACtBvuD,KAAKwuD,uBAA0B3G,EAAiBlR,WAAWa,YAAYnmC,MACvErR,KAAKyuD,wBAA0B5G,EAAiBlR,WAAWa,YAAYlmC,OACvEtR,KAAK0uD,wBAA0B7G,EAAiBlR,WAAWa,YAAYxuB,OACvEhpB,KAAKy3C,sBAAwBoQ,EAAiBlR,WAAWc,sBACzDz3C,KAAK2uD,gBAAkB,EAGvB3uD,KAAKiqD,gBAAkB,EACvBjqD,KAAK4uD,aAAe,EACpB5uD,KAAKu6C,eAAiB3pC,EAAK,KAAMC,EAAK,MACtC7Q,KAAKw6C,mBAAqB5pC,EAAM,IAAKC,EAAM,KAC3C7Q,KAAK+mD,aAAe,KApFtB,GAAIpmD,GAAOT,EAAoB,EA0F/BiD,GAAK6O,UAAUq8C,aAAe,WAE5BruD,KAAK6uD,eAAiB1oD,OACtBnG,KAAK8uD,YAAc,EACnB9uD,KAAK+uD,kBACL/uD,KAAKgvD,kBACLhvD,KAAKivD,oBAOP9rD,EAAK6O,UAAU62C,WAAa,SAASlG,GACH,IAA5B3iD,KAAKs1C,MAAMhvC,QAAQq8C,IACrB3iD,KAAKs1C,MAAMxtC,KAAK66C,GAEqB,IAAnC3iD,KAAKwtD,aAAalnD,QAAQq8C,IAC5B3iD,KAAKwtD,aAAa1lD,KAAK66C,GAEzB3iD,KAAKsuD,mBAAqBtuD,KAAKwtD,aAAaloD,QAO9CnC,EAAK6O,UAAU82C,WAAa,SAASnG,GACnC,GAAI16C,GAAQjI,KAAKs1C,MAAMhvC,QAAQq8C,EAClB,KAAT16C,IACFjI,KAAKs1C,MAAMptC,OAAOD,EAAO,GACzBjI,KAAKwtD,aAAatlD,OAAOD,EAAO,IAElCjI,KAAKsuD,mBAAqBtuD,KAAKwtD,aAAaloD,QAS9CnC,EAAK6O,UAAUuxC,cAAgB,SAASC,EAAYtK,GAClD,GAAKsK,EAAL,CAIA,GAAIj2C,IAAU,cAAc,sBAAsB,QAAQ,QAAQ,SAAS,YACzE,WAAW,WAAW,QAAQ,OAmBhC,IAjBA5M,EAAKmF,oBAAoByH,EAAQvN,KAAK8N,QAAS01C,GAE/CxjD,KAAKkvD,cAAgB/oD,OAECA,SAAlBq9C,EAAWnjD,KAA0BL,KAAKK,GAAKmjD,EAAWnjD,IACrC8F,SAArBq9C,EAAWz9B,QAA0B/lB,KAAK+lB,MAAQy9B,EAAWz9B,MAAO/lB,KAAKkvD,cAAgB1L,EAAWz9B,OAC/E5f,SAArBq9C,EAAWvlB,QAA0Bj+B,KAAKi+B,MAAQulB,EAAWvlB,OAC5C93B,SAAjBq9C,EAAW5yC,IAA0B5Q,KAAK4Q,EAAI4yC,EAAW5yC,GACxCzK,SAAjBq9C,EAAW3yC,IAA0B7Q,KAAK6Q,EAAI2yC,EAAW3yC,GACpC1K,SAArBq9C,EAAWx8C,QAA0BhH,KAAKgH,MAAQw8C,EAAWx8C,OACxCb,SAArBq9C,EAAWpO,QAA0Bp1C,KAAKo1C,MAAQoO,EAAWpO,MAAOp1C,KAAK+tD,kBAAmB,GAGzD5nD,SAAnCq9C,EAAWmK,sBAAoC3tD,KAAK2tD,oBAAsBnK,EAAWmK,qBAClDxnD,SAAnCq9C,EAAWoK,mBAAoC5tD,KAAK4tD,iBAAsBpK,EAAWoK,kBAClDznD,SAAnCq9C,EAAW2L,kBAAoCnvD,KAAKmvD,gBAAsB3L,EAAW2L,iBAEzEhpD,SAAZnG,KAAKK,GACP,KAAM,sBAIR,IAAkC,gBAAvBL,MAAK8N,QAAQgD,OAAqD,gBAAvB9Q,MAAK8N,QAAQgD,OAA4C,IAAtB9Q,KAAK8N,QAAQgD,MAAc,CAClH,GAAIs+C,GAAWpvD,KAAKutD,UAAU35C,IAAI5T,KAAK8N,QAAQgD,MAC/C,KAAK,GAAItL,KAAQ4pD,GACXA,EAAS3pD,eAAeD,KAC1BxF,KAAK8N,QAAQtI,GAAQ4pD,EAAS5pD,IAUpC,GAH0BW,SAAtBq9C,EAAWx6B,SAA+BhpB,KAAK6tD,gBAAkB7tD,KAAK8N,QAAQkb,QACzD7iB,SAArBq9C,EAAW/4C,QAA+BzK,KAAK8N,QAAQrD,MAAQ9J,EAAK6J,WAAWg5C,EAAW/4C,QAEpEtE,SAAtBnG,KAAK8N,QAAQinC,OAA2C,IAArB/0C,KAAK8N,QAAQinC,MAAY,CAC9D,IAAI/0C,KAAKstD,UAIP,KAAM,uBAHNttD,MAAKqvD,SAAWrvD,KAAKstD,UAAUL,KAAKjtD,KAAK8N,QAAQinC,OAkBrD,OAXA/0C,KAAK0gD,OAAS1gD,KAAK0gD,QAA4Bv6C,SAAjBq9C,EAAW5yC,IAAoB4yC,EAAW6D,eACxErnD,KAAK2gD,OAAS3gD,KAAK2gD,QAA4Bx6C,SAAjBq9C,EAAW3yC,IAAoB2yC,EAAW8D,eACxEtnD,KAAK8tD,YAAc9tD,KAAK8tD,aAAsC3nD,SAAtBq9C,EAAWx6B,OAEzB,SAAtBhpB,KAAK8N,QAAQgnC,QACf90C,KAAK8N,QAAQ8mC,UAAYsE,EAAUxE,MAAMlwB,SACzCxkB,KAAK8N,QAAQ+mC,UAAYqE,EAAUxE,MAAMjwB,UAKnCzkB,KAAK8N,QAAQgnC,OACnB,IAAK,WAAiB90C,KAAK4kD,KAAO5kD,KAAKsvD,cAAetvD,KAAK8pD,OAAS9pD,KAAKuvD,eAAiB,MAC1F,KAAK,MAAiBvvD,KAAK4kD,KAAO5kD,KAAKwvD,SAAUxvD,KAAK8pD,OAAS9pD,KAAKyvD,UAAY,MAChF,KAAK,SAAiBzvD,KAAK4kD,KAAO5kD,KAAK0vD,YAAa1vD,KAAK8pD,OAAS9pD,KAAK2vD,aAAe,MACtF,KAAK,UAAiB3vD,KAAK4kD,KAAO5kD,KAAK4vD,aAAc5vD,KAAK8pD,OAAS9pD,KAAK6vD,cAAgB,MAExF,KAAK,QAAiB7vD,KAAK4kD,KAAO5kD,KAAK8vD,WAAY9vD,KAAK8pD,OAAS9pD,KAAK+vD,YAAc,MACpF,KAAK,OAAiB/vD,KAAK4kD,KAAO5kD,KAAKgwD,UAAWhwD,KAAK8pD,OAAS9pD,KAAKiwD,WAAa,MAClF,KAAK,MAAiBjwD,KAAK4kD,KAAO5kD,KAAKkwD,SAAUlwD,KAAK8pD,OAAS9pD,KAAKmwD,YAAc,MAClF,KAAK,SAAiBnwD,KAAK4kD,KAAO5kD,KAAKowD,YAAapwD,KAAK8pD,OAAS9pD,KAAKmwD,YAAc,MACrF,KAAK,WAAiBnwD,KAAK4kD,KAAO5kD,KAAKqwD,cAAerwD,KAAK8pD,OAAS9pD,KAAKmwD,YAAc,MACvF,KAAK,eAAiBnwD,KAAK4kD,KAAO5kD,KAAKswD,kBAAmBtwD,KAAK8pD,OAAS9pD,KAAKmwD,YAAc,MAC3F,KAAK,OAAiBnwD,KAAK4kD,KAAO5kD,KAAKuwD,UAAWvwD,KAAK8pD,OAAS9pD,KAAKmwD,YAAc,MACnF,SAAsBnwD,KAAK4kD,KAAO5kD,KAAK4vD,aAAc5vD,KAAK8pD,OAAS9pD,KAAK6vD,eAG1E7vD,KAAKwwD,WAMPrtD,EAAK6O,UAAUk2B,OAAS,WACtBloC,KAAK+pC,UAAW,EAChB/pC,KAAKwwD,UAMPrtD,EAAK6O,UAAUi2B,SAAW,WACxBjoC,KAAK+pC,UAAW,EAChB/pC,KAAKwwD,UAOPrtD,EAAK6O,UAAUy+C,eAAiB,WAC9BzwD,KAAKwwD,UAOPrtD,EAAK6O,UAAUw+C,OAAS,WACtBxwD,KAAKqR,MAAQlL,OACbnG,KAAKsR,OAASnL,QAQhBhD,EAAK6O,UAAUywC,SAAW,WACxB,MAA6B,kBAAfziD,MAAKi+B,MAAuBj+B,KAAKi+B,QAAUj+B,KAAKi+B,OAShE96B,EAAK6O,UAAUo5C,iBAAmB,SAAU/mC,EAAK6+B,GAC/C,GAAI5lC,GAAc,CAMlB,QAJKtd,KAAKqR,OACRrR,KAAK8pD,OAAOzlC,GAGNrkB,KAAK8N,QAAQgnC,OACnB,IAAK,SACL,IAAK,MACH,MAAO90C,MAAK8N,QAAQkb,OAAQ1L,CAE9B,KAAK,UACH,GAAIpY,GAAIlF,KAAKqR,MAAQ,EACjBtL,EAAI/F,KAAKsR,OAAS,EAClB2yC,EAAKp/C,KAAK6W,IAAIwnC,GAASh+C,EACvBgG,EAAKrG,KAAKgX,IAAIqnC,GAASn9C,CAC3B,OAAOb,GAAIa,EAAIlB,KAAKyoB,KAAK22B,EAAIA,EAAI/4C,EAAIA,EAMvC,KAAK,MACL,IAAK,QACL,IAAK,OACL,QACE,MAAIlL,MAAKqR,MACAxM,KAAKwG,IACRxG,KAAKsjB,IAAInoB,KAAKqR,MAAQ,EAAIxM,KAAKgX,IAAIqnC,IACnCr+C,KAAKsjB,IAAInoB,KAAKsR,OAAS,EAAIzM,KAAK6W,IAAIwnC,KAAW5lC,EAI5C,IAYfna,EAAK6O,UAAU0+C,UAAY,SAASzC,EAAIC,GACtCluD,KAAKiuD,GAAKA,EACVjuD,KAAKkuD,GAAKA,GASZ/qD,EAAK6O,UAAU2+C,UAAY,SAAS1C,EAAIC,GACtCluD,KAAKiuD,IAAMA,EACXjuD,KAAKkuD,IAAMA,GAOb/qD,EAAK6O,UAAU0zC,aAAe,SAASp1B,GACrC,IAAKtwB,KAAK0gD,OAAQ,CAChB,GAAIxkC,GAAOlc,KAAKu2C,QAAUv2C,KAAKmuD,GAC3BjzC,GAAQlb,KAAKiuD,GAAK/xC,GAAMlc,KAAK8N,QAAQ6mC,IACzC30C,MAAKmuD,IAAMjzC,EAAKoV,EAChBtwB,KAAK4Q,GAAM5Q,KAAKmuD,GAAK79B,EAGvB,IAAKtwB,KAAK2gD,OAAQ,CAChB,GAAIxkC,GAAOnc,KAAKu2C,QAAUv2C,KAAKouD,GAC3BjzC,GAAQnb,KAAKkuD,GAAK/xC,GAAMnc,KAAK8N,QAAQ6mC,IACzC30C,MAAKouD,IAAMjzC,EAAKmV,EAChBtwB,KAAK6Q,GAAM7Q,KAAKouD,GAAK99B,IAWzBntB,EAAK6O,UAAUyzC,oBAAsB,SAASn1B,EAAUooB,GACtD,GAAK14C,KAAK0gD,OAQR1gD,KAAKiuD,GAAK,MARM,CAChB,GAAI/xC,GAAOlc,KAAKu2C,QAAUv2C,KAAKmuD,GAC3BjzC,GAAQlb,KAAKiuD,GAAK/xC,GAAMlc,KAAK8N,QAAQ6mC,IACzC30C,MAAKmuD,IAAMjzC,EAAKoV,EAChBtwB,KAAKmuD,GAAMtpD,KAAKsjB,IAAInoB,KAAKmuD,IAAMzV,EAAiB14C,KAAKmuD,GAAK,EAAKzV,GAAeA,EAAe14C,KAAKmuD,GAClGnuD,KAAK4Q,GAAM5Q,KAAKmuD,GAAK79B,EAMvB,GAAKtwB,KAAK2gD,OAQR3gD,KAAKkuD,GAAK,MARM,CAChB,GAAI/xC,GAAOnc,KAAKu2C,QAAUv2C,KAAKouD,GAC3BjzC,GAAQnb,KAAKkuD,GAAK/xC,GAAMnc,KAAK8N,QAAQ6mC,IACzC30C,MAAKouD,IAAMjzC,EAAKmV,EAChBtwB,KAAKouD,GAAMvpD,KAAKsjB,IAAInoB,KAAKouD,IAAM1V,EAAiB14C,KAAKouD,GAAK,EAAK1V,GAAeA,EAAe14C,KAAKouD,GAClGpuD,KAAK6Q,GAAM7Q,KAAKouD,GAAK99B,IAWzBntB,EAAK6O,UAAU4+C,QAAU,WACvB,MAAQ5wD,MAAK0gD,QAAU1gD,KAAK2gD,QAQ9Bx9C,EAAK6O,UAAUszC,SAAW,SAASD,GACjC,GAAIwL,GAAWhsD,KAAKyoB,KAAKzoB,KAAK8sB,IAAI3xB,KAAKmuD,GAAG,GAAKtpD,KAAK8sB,IAAI3xB,KAAKouD,GAAG,GAEhE,OAAQyC,GAAWxL,GAOrBliD,EAAK6O,UAAUsuC,WAAa,WAC1B,MAAOtgD,MAAK+pC,UAOd5mC,EAAK6O,UAAUuB,SAAW,WACxB,MAAOvT,MAAKgH,OASd7D,EAAK6O,UAAU8+C,YAAc,SAASlgD,EAAGC,GACvC,GAAIqL,GAAKlc,KAAK4Q,EAAIA,EACduL,EAAKnc,KAAK6Q,EAAIA,CAClB,OAAOhM,MAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,IAUlChZ,EAAK6O,UAAUgyC,cAAgB,SAAS34C,EAAKyB,GAC3C,IAAK9M,KAAK8tD,aAA8B3nD,SAAfnG,KAAKgH,MAC5B,GAAI8F,GAAOzB,EACTrL,KAAK8N,QAAQkb,QAAShpB,KAAK8N,QAAQ8mC,UAAY50C,KAAK8N,QAAQ+mC,WAAa,MAEtE,CACH,GAAIt6B,IAASva,KAAK8N,QAAQ+mC,UAAY70C,KAAK8N,QAAQ8mC,YAAc9nC,EAAMzB,EACvErL,MAAK8N,QAAQkb,QAAShpB,KAAKgH,MAAQqE,GAAOkP,EAAQva,KAAK8N,QAAQ8mC,UAGnE50C,KAAK6tD,gBAAkB7tD,KAAK8N,QAAQkb,QAQtC7lB,EAAK6O,UAAU4yC,KAAO,WACpB,KAAM,wCAQRzhD,EAAK6O,UAAU83C,OAAS,WACtB,KAAM,0CAQR3mD,EAAK6O,UAAU0wC,kBAAoB,SAASpiC,GAC1C,MAAQtgB,MAAKoH,KAAoBkZ,EAAIqE,OAC7B3kB,KAAKoH,KAAOpH,KAAKqR,MAAQiP,EAAIlZ,MAC7BpH,KAAKwH,IAAoB8Y,EAAIM,QAC7B5gB,KAAKwH,IAAMxH,KAAKsR,OAASgP,EAAI9Y,KAGvCrE,EAAK6O,UAAU+9C,aAAe,WAG5B,IAAK/vD,KAAKqR,QAAUrR,KAAKsR,OAAQ,CAC/B,GAAID,GAAOC,CACX,IAAItR,KAAKgH,MAAO,CACdhH,KAAK8N,QAAQkb,OAAQhpB,KAAK6tD,eAC1B,IAAItzC,GAAQva,KAAKqvD,SAAS/9C,OAAStR,KAAKqvD,SAASh+C,KACnClL,UAAVoU,GACFlJ,EAAQrR,KAAK8N,QAAQkb,QAAShpB,KAAKqvD,SAASh+C,MAC5CC,EAAStR,KAAK8N,QAAQkb,OAAQzO,GAASva,KAAKqvD,SAAS/9C,SAGrDD,EAAQ,EACRC,EAAS,OAIXD,GAAQrR,KAAKqvD,SAASh+C,MACtBC,EAAStR,KAAKqvD,SAAS/9C,MAEzBtR,MAAKqR,MAASA,EACdrR,KAAKsR,OAASA,EAEdtR,KAAK2uD,gBAAkB,EACnB3uD,KAAKqR,MAAQ,GAAKrR,KAAKsR,OAAS,IAClCtR,KAAKqR,OAAUxM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAA0Bz3C,KAAKwuD,uBAClFxuD,KAAKsR,QAAUzM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKyuD,wBACjFzuD,KAAK8N,QAAQkb,QAASnkB,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAK0uD,wBACxF1uD,KAAK2uD,gBAAkB3uD,KAAKqR,MAAQA,KAM1ClO,EAAK6O,UAAU89C,WAAa,SAAUzrC,GACpCrkB,KAAK+vD,aAAa1rC,GAElBrkB,KAAKoH,KAASpH,KAAK4Q,EAAI5Q,KAAKqR,MAAQ,EACpCrR,KAAKwH,IAASxH,KAAK6Q,EAAI7Q,KAAKsR,OAAS,CAErC,IAAIsG,EACJ,IAA2B,GAAvB5X,KAAKqvD,SAASh+C,MAAa,CAE7B,GAAIrR,KAAK8uD,YAAc,EAAG,CACxB,GAAIlqC,GAAc5kB,KAAK8uD,YAAc,EAAK,GAAK,CAC/ClqC,IAAa5kB,KAAKiqD,gBAClBrlC,EAAY/f,KAAKwG,IAAI,GAAMrL,KAAKqR,MAAMuT,GAEtCP,EAAI0sC,YAAc,GAClB1sC,EAAI2sC,UAAUhxD,KAAKqvD,SAAUrvD,KAAKoH,KAAOwd,EAAW5kB,KAAKwH,IAAMod,EAAW5kB,KAAKqR,MAAQ,EAAEuT,EAAW5kB,KAAKsR,OAAS,EAAEsT,GAItHP,EAAI0sC,YAAc,EAClB1sC,EAAI2sC,UAAUhxD,KAAKqvD,SAAUrvD,KAAKoH,KAAMpH,KAAKwH,IAAKxH,KAAKqR,MAAOrR,KAAKsR,QACnEsG,EAAS5X,KAAK6Q,EAAI7Q,KAAKsR,OAAS,MAIhCsG,GAAS5X,KAAK6Q,CAGhB7Q,MAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAO/lB,KAAK4Q,EAAGgH,EAAQzR,OAAW,QAI1DhD,EAAK6O,UAAUy9C,WAAa,SAAUprC,GACpC,IAAKrkB,KAAKqR,MAAO,CACf,GAAImG,GAAS,EACTy5C,EAAWjxD,KAAKkxD,YAAY7sC,EAChCrkB,MAAKqR,MAAQ4/C,EAAS5/C,MAAQ,EAAImG,EAClCxX,KAAKsR,OAAS2/C,EAAS3/C,OAAS,EAAIkG,EAEpCxX,KAAKqR,OAAuE,GAA7DxM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAA+Bz3C,KAAKwuD,uBACvFxuD,KAAKsR,QAAuE,GAA7DzM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAA+Bz3C,KAAKyuD,wBACvFzuD,KAAK2uD,gBAAkB3uD,KAAKqR,OAAS4/C,EAAS5/C,MAAQ,EAAImG,KAM9DrU,EAAK6O,UAAUw9C,SAAW,SAAUnrC,GAClCrkB,KAAKyvD,WAAWprC,GAEhBrkB,KAAKoH,KAAOpH,KAAK4Q,EAAI5Q,KAAKqR,MAAQ,EAClCrR,KAAKwH,IAAMxH,KAAK6Q,EAAI7Q,KAAKsR,OAAS,CAElC;GAAI6/C,GAAmB,IACnB7zC,EAActd,KAAK8N,QAAQwP,YAC3B8zC,EAAqBpxD,KAAK8N,QAAQujD,qBAAuB,EAAIrxD,KAAK8N,QAAQwP,WAE9E+G,GAAIY,YAAcjlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUD,OAAS3L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMF,OAAS3L,KAAK8N,QAAQrD,MAAMkB,OAGtI3L,KAAK8uD,YAAc,IACrBzqC,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIitC,UAAUtxD,KAAKoH,KAAK,EAAEid,EAAIO,UAAW5kB,KAAKwH,IAAI,EAAE6c,EAAIO,UAAW5kB,KAAKqR,MAAM,EAAEgT,EAAIO,UAAW5kB,KAAKsR,OAAO,EAAE+S,EAAIO,UAAW5kB,KAAK8N,QAAQkb,QACzI3E,EAAIlH,UAENkH,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIiB,UAAYtlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUF,WAAa1L,KAAK8N,QAAQrD,MAAMiB,WAE7F2Y,EAAIitC,UAAUtxD,KAAKoH,KAAMpH,KAAKwH,IAAKxH,KAAKqR,MAAOrR,KAAKsR,OAAQtR,KAAK8N,QAAQkb,QACzE3E,EAAInH,OACJmH,EAAIlH,SAEJnd,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAO/lB,KAAK4Q,EAAG5Q,KAAK6Q,IAI5C1N,EAAK6O,UAAUu9C,gBAAkB,SAAUlrC,GACzC,IAAKrkB,KAAKqR,MAAO,CACf,GAAImG,GAAS,EACTy5C,EAAWjxD,KAAKkxD,YAAY7sC,GAC5BlT,EAAO8/C,EAAS5/C,MAAQ,EAAImG,CAChCxX,MAAKqR,MAAQF,EACbnR,KAAKsR,OAASH,EAGdnR,KAAKqR,OAAUxM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKwuD,uBACjFxuD,KAAKsR,QAAUzM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKyuD,wBACjFzuD,KAAK8N,QAAQkb,QAASnkB,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAK0uD,wBACxF1uD,KAAK2uD,gBAAkB3uD,KAAKqR,MAAQF,IAIxChO,EAAK6O,UAAUs9C,cAAgB,SAAUjrC,GACvCrkB,KAAKuvD,gBAAgBlrC,GACrBrkB,KAAKoH,KAAOpH,KAAK4Q,EAAI5Q,KAAKqR,MAAQ,EAClCrR,KAAKwH,IAAMxH,KAAK6Q,EAAI7Q,KAAKsR,OAAS,CAElC,IAAI6/C,GAAmB,IACnB7zC,EAActd,KAAK8N,QAAQwP,YAC3B8zC,EAAqBpxD,KAAK8N,QAAQujD,qBAAuB,EAAIrxD,KAAK8N,QAAQwP,WAE9E+G,GAAIY,YAAcjlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUD,OAAS3L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMF,OAAS3L,KAAK8N,QAAQrD,MAAMkB,OAGtI3L,KAAK8uD,YAAc,IACrBzqC,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIktC,SAASvxD,KAAK4Q,EAAI5Q,KAAKqR,MAAM,EAAI,EAAEgT,EAAIO,UAAW5kB,KAAK6Q,EAAgB,GAAZ7Q,KAAKsR,OAAa,EAAE+S,EAAIO,UAAW5kB,KAAKqR,MAAQ,EAAEgT,EAAIO,UAAW5kB,KAAKsR,OAAS,EAAE+S,EAAIO,WACpJP,EAAIlH,UAENkH,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIiB,UAAYtlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUF,WAAa1L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMH,WAAa1L,KAAK8N,QAAQrD,MAAMiB,WAChJ2Y,EAAIktC,SAASvxD,KAAK4Q,EAAI5Q,KAAKqR,MAAM,EAAGrR,KAAK6Q,EAAgB,GAAZ7Q,KAAKsR,OAAYtR,KAAKqR,MAAOrR,KAAKsR,QAC/E+S,EAAInH,OACJmH,EAAIlH,SAEJnd,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAO/lB,KAAK4Q,EAAG5Q,KAAK6Q,IAI5C1N,EAAK6O,UAAU29C,cAAgB,SAAUtrC,GACvC,IAAKrkB,KAAKqR,MAAO,CACf,GAAImG,GAAS,EACTy5C,EAAWjxD,KAAKkxD,YAAY7sC,GAC5BmtC,EAAW3sD,KAAKiI,IAAImkD,EAAS5/C,MAAO4/C,EAAS3/C,QAAU,EAAIkG,CAC/DxX,MAAK8N,QAAQkb,OAASwoC,EAAW,EAEjCxxD,KAAKqR,MAAQmgD,EACbxxD,KAAKsR,OAASkgD,EAKdxxD,KAAK8N,QAAQkb,QAAuE,GAA7DnkB,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAA+Bz3C,KAAK0uD,wBAC/F1uD,KAAK2uD,gBAAkB3uD,KAAK8N,QAAQkb,OAAQ,GAAIwoC,IAIpDruD,EAAK6O,UAAU09C,YAAc,SAAUrrC,GACrCrkB,KAAK2vD,cAActrC,GACnBrkB,KAAKoH,KAAOpH,KAAK4Q,EAAI5Q,KAAKqR,MAAQ,EAClCrR,KAAKwH,IAAMxH,KAAK6Q,EAAI7Q,KAAKsR,OAAS,CAElC,IAAI6/C,GAAmB,IACnB7zC,EAActd,KAAK8N,QAAQwP,YAC3B8zC,EAAqBpxD,KAAK8N,QAAQujD,qBAAuB,EAAIrxD,KAAK8N,QAAQwP,WAE9E+G,GAAIY,YAAcjlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUD,OAAS3L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMF,OAAS3L,KAAK8N,QAAQrD,MAAMkB,OAGtI3L,KAAK8uD,YAAc,IACrBzqC,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIotC,OAAOzxD,KAAK4Q,EAAG5Q,KAAK6Q,EAAG7Q,KAAK8N,QAAQkb,OAAO,EAAE3E,EAAIO,WACrDP,EAAIlH,UAENkH,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIiB,UAAYtlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUF,WAAa1L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMH,WAAa1L,KAAK8N,QAAQrD,MAAMiB,WAChJ2Y,EAAIotC,OAAOzxD,KAAK4Q,EAAG5Q,KAAK6Q,EAAG7Q,KAAK8N,QAAQkb,QACxC3E,EAAInH,OACJmH,EAAIlH,SAEJnd,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAO/lB,KAAK4Q,EAAG5Q,KAAK6Q,IAG5C1N,EAAK6O,UAAU69C,eAAiB,SAAUxrC,GACxC,IAAKrkB,KAAKqR,MAAO,CACf,GAAI4/C,GAAWjxD,KAAKkxD,YAAY7sC,EAEhCrkB,MAAKqR,MAAyB,IAAjB4/C,EAAS5/C,MACtBrR,KAAKsR,OAA2B,EAAlB2/C,EAAS3/C,OACnBtR,KAAKqR,MAAQrR,KAAKsR,SACpBtR,KAAKqR,MAAQrR,KAAKsR,OAEpB,IAAIogD,GAAc1xD,KAAKqR,KAGvBrR,MAAKqR,OAAUxM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKwuD,uBACjFxuD,KAAKsR,QAAUzM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKyuD,wBACjFzuD,KAAK8N,QAAQkb,QAAUnkB,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAK0uD,wBACzF1uD,KAAK2uD,gBAAkB3uD,KAAKqR,MAAQqgD,IAIxCvuD,EAAK6O,UAAU49C,aAAe,SAAUvrC,GACtCrkB,KAAK6vD,eAAexrC,GACpBrkB,KAAKoH,KAAOpH,KAAK4Q,EAAI5Q,KAAKqR,MAAQ,EAClCrR,KAAKwH,IAAMxH,KAAK6Q,EAAI7Q,KAAKsR,OAAS,CAElC,IAAI6/C,GAAmB,IACnB7zC,EAActd,KAAK8N,QAAQwP,YAC3B8zC,EAAqBpxD,KAAK8N,QAAQujD,qBAAuB,EAAIrxD,KAAK8N,QAAQwP,WAE9E+G,GAAIY,YAAcjlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUD,OAAS3L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMF,OAAS3L,KAAK8N,QAAQrD,MAAMkB,OAGtI3L,KAAK8uD,YAAc,IACrBzqC,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIstC,QAAQ3xD,KAAKoH,KAAK,EAAEid,EAAIO,UAAW5kB,KAAKwH,IAAI,EAAE6c,EAAIO,UAAW5kB,KAAKqR,MAAM,EAAEgT,EAAIO,UAAW5kB,KAAKsR,OAAO,EAAE+S,EAAIO,WAC/GP,EAAIlH,UAENkH,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIiB,UAAYtlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUF,WAAa1L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMH,WAAa1L,KAAK8N,QAAQrD,MAAMiB,WAEhJ2Y,EAAIstC,QAAQ3xD,KAAKoH,KAAMpH,KAAKwH,IAAKxH,KAAKqR,MAAOrR,KAAKsR,QAClD+S,EAAInH,OACJmH,EAAIlH,SACJnd,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAO/lB,KAAK4Q,EAAG5Q,KAAK6Q,IAG5C1N,EAAK6O,UAAUk+C,SAAW,SAAU7rC,GAClCrkB,KAAK4xD,WAAWvtC,EAAK,WAGvBlhB,EAAK6O,UAAUq+C,cAAgB,SAAUhsC,GACvCrkB,KAAK4xD,WAAWvtC,EAAK,aAGvBlhB,EAAK6O,UAAUs+C,kBAAoB,SAAUjsC,GAC3CrkB,KAAK4xD,WAAWvtC,EAAK,iBAGvBlhB,EAAK6O,UAAUo+C,YAAc,SAAU/rC,GACrCrkB,KAAK4xD,WAAWvtC,EAAK,WAGvBlhB,EAAK6O,UAAUu+C,UAAY,SAAUlsC,GACnCrkB,KAAK4xD,WAAWvtC,EAAK,SAGvBlhB,EAAK6O,UAAUm+C,aAAe,WAC5B,IAAKnwD,KAAKqR,MAAO,CACfrR,KAAK8N,QAAQkb,OAAQhpB,KAAK6tD,eAC1B,IAAI18C,GAAO,EAAInR,KAAK8N,QAAQkb,MAC5BhpB,MAAKqR,MAAQF,EACbnR,KAAKsR,OAASH,EAGdnR,KAAKqR,OAAUxM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKwuD,uBACjFxuD,KAAKsR,QAAUzM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKyuD,wBACjFzuD,KAAK8N,QAAQkb,QAAsE,GAA7DnkB,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAA+Bz3C,KAAK0uD,wBAC9F1uD,KAAK2uD,gBAAkB3uD,KAAKqR,MAAQF,IAIxChO,EAAK6O,UAAU4/C,WAAa,SAAUvtC,EAAKywB,GACzC90C,KAAKmwD,aAAa9rC,GAElBrkB,KAAKoH,KAAOpH,KAAK4Q,EAAI5Q,KAAKqR,MAAQ,EAClCrR,KAAKwH,IAAMxH,KAAK6Q,EAAI7Q,KAAKsR,OAAS,CAElC,IAAI6/C,GAAmB,IACnB7zC,EAActd,KAAK8N,QAAQwP,YAC3B8zC,EAAqBpxD,KAAK8N,QAAQujD,qBAAuB,EAAIrxD,KAAK8N,QAAQwP,YAC1Eu0C,EAAmB,CAGvB,QAAQ/c,GACN,IAAK,MAAiB+c,EAAmB,CAAG,MAC5C,KAAK,SAAiBA,EAAmB,CAAG,MAC5C,KAAK,WAAiBA,EAAmB,CAAG,MAC5C,KAAK,eAAiBA,EAAmB,CAAG,MAC5C,KAAK,OAAiBA,EAAmB,EAG3CxtC,EAAIY,YAAcjlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUD,OAAS3L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMF,OAAS3L,KAAK8N,QAAQrD,MAAMkB,OAEtI3L,KAAK8uD,YAAc,IACrBzqC,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIywB,GAAO90C,KAAK4Q,EAAG5Q,KAAK6Q,EAAG7Q,KAAK8N,QAAQkb,OAAQ6oC,EAAmBxtC,EAAIO,WACvEP,EAAIlH,UAENkH,EAAIO,WAAa5kB,KAAK+pC,SAAWqnB,EAAqB9zC,IAAiBtd,KAAK8uD,YAAc,EAAKqC,EAAmB,GAClH9sC,EAAIO,WAAa5kB,KAAKiqD,gBACtB5lC,EAAIO,UAAY/f,KAAKwG,IAAIrL,KAAKqR,MAAMgT,EAAIO,WAExCP,EAAIiB,UAAYtlB,KAAK+pC,SAAW/pC,KAAK8N,QAAQrD,MAAMmB,UAAUF,WAAa1L,KAAK6L,MAAQ7L,KAAK8N,QAAQrD,MAAMoB,MAAMH,WAAa1L,KAAK8N,QAAQrD,MAAMiB,WAChJ2Y,EAAIywB,GAAO90C,KAAK4Q,EAAG5Q,KAAK6Q,EAAG7Q,KAAK8N,QAAQkb,QACxC3E,EAAInH,OACJmH,EAAIlH,SAEAnd,KAAK+lB,OACP/lB,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAO/lB,KAAK4Q,EAAG5Q,KAAK6Q,EAAI7Q,KAAKsR,OAAS,EAAGnL,OAAW,OAAM,IAIpFhD,EAAK6O,UAAUi+C,YAAc,SAAU5rC,GACrC,IAAKrkB,KAAKqR,MAAO,CACf,GAAImG,GAAS,EACTy5C,EAAWjxD,KAAKkxD,YAAY7sC,EAChCrkB,MAAKqR,MAAQ4/C,EAAS5/C,MAAQ,EAAImG,EAClCxX,KAAKsR,OAAS2/C,EAAS3/C,OAAS,EAAIkG,EAGpCxX,KAAKqR,OAAUxM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKwuD,uBACjFxuD,KAAKsR,QAAUzM,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAKyuD,wBACjFzuD,KAAK8N,QAAQkb,QAASnkB,KAAKwG,IAAIrL,KAAK8uD,YAAc,EAAG9uD,KAAKy3C,uBAAyBz3C,KAAK0uD,wBACxF1uD,KAAK2uD,gBAAkB3uD,KAAKqR,OAAS4/C,EAAS5/C,MAAQ,EAAImG,KAI9DrU,EAAK6O,UAAUg+C,UAAY,SAAU3rC,GACnCrkB,KAAKiwD,YAAY5rC,GACjBrkB,KAAKoH,KAAOpH,KAAK4Q,EAAI5Q,KAAKqR,MAAQ,EAClCrR,KAAKwH,IAAMxH,KAAK6Q,EAAI7Q,KAAKsR,OAAS,EAElCtR,KAAK6pD,OAAOxlC,EAAKrkB,KAAK+lB,MAAO/lB,KAAK4Q,EAAG5Q,KAAK6Q,IAI5C1N,EAAK6O,UAAU63C,OAAS,SAAUxlC,EAAKwC,EAAMjW,EAAGC,EAAGk1B,EAAO+rB,EAAUC,GAClE,GAAIlrC,GAAQhjB,OAAO7D,KAAK8N,QAAQonC,UAAYl1C,KAAK4uD,aAAe5uD,KAAK0tD,kBAAmB,CACtFrpC,EAAIQ,MAAQ7kB,KAAK+pC,SAAW,QAAU,IAAM/pC,KAAK8N,QAAQonC,SAAW,MAAQl1C,KAAK8N,QAAQqnC,SACzF9wB,EAAIiB,UAAYtlB,KAAK8N,QAAQmnC,WAAa,QAC1C5wB,EAAIuB,UAAYmgB,GAAS,SACzB1hB,EAAIwB,aAAeisC,GAAY,QAE/B,IAAIryB,GAAQ5Y,EAAKhf,MAAM,MACnBmqD,EAAYvyB,EAAMn6B,OAClB4vC,EAAYrxC,OAAO7D,KAAK8N,QAAQonC,UAAY,EAC5C+c,EAAQphD,GAAK,EAAImhD,GAAa,EAAI9c,CAChB,IAAlB6c,IACFE,EAAQphD,GAAK,EAAImhD,IAAc,EAAI9c,GAGrC,KAAK,GAAI/vC,GAAI,EAAO6sD,EAAJ7sD,EAAeA,IAC7Bkf,EAAIyB,SAAS2Z,EAAMt6B,GAAIyL,EAAGqhD,GAC1BA,GAAS/c,IAMf/xC,EAAK6O,UAAUk/C,YAAc,SAAS7sC,GACpC,GAAmBle,SAAfnG,KAAK+lB,MAAqB,CAC5B1B,EAAIQ,MAAQ7kB,KAAK+pC,SAAW,QAAU,IAAM/pC,KAAK8N,QAAQonC,SAAW,MAAQl1C,KAAK8N,QAAQqnC,QAMzF,KAAK,GAJD1V,GAAQz/B,KAAK+lB,MAAMle,MAAM,MACzByJ,GAAUzN,OAAO7D,KAAK8N,QAAQonC,UAAY,GAAKzV,EAAMn6B,OACrD+L,EAAQ,EAEHlM,EAAI,EAAGq1B,EAAOiF,EAAMn6B,OAAYk1B,EAAJr1B,EAAUA,IAC7CkM,EAAQxM,KAAKiI,IAAIuE,EAAOgT,EAAIimC,YAAY7qB,EAAMt6B,IAAIkM,MAGpD,QAAQA,MAASA,EAAOC,OAAUA,GAGlC,OAAQD,MAAS,EAAGC,OAAU,IAUlCnO,EAAK6O,UAAU2yC,OAAS,WACtB,MAAmBx+C,UAAfnG,KAAKqR,MACDrR,KAAK4Q,EAAI5Q,KAAKqR,MAAOrR,KAAKiqD,iBAAoBjqD,KAAKu6C,cAAc3pC,GACjE5Q,KAAK4Q,EAAI5Q,KAAKqR,MAAOrR,KAAKiqD,gBAAoBjqD,KAAKw6C,kBAAkB5pC,GACrE5Q,KAAK6Q,EAAI7Q,KAAKsR,OAAOtR,KAAKiqD,iBAAoBjqD,KAAKu6C,cAAc1pC,GACjE7Q,KAAK6Q,EAAI7Q,KAAKsR,OAAOtR,KAAKiqD,gBAAoBjqD,KAAKw6C,kBAAkB3pC,GAGpE,GAQX1N,EAAK6O,UAAUkgD,OAAS,WACtB,MAAQlyD,MAAK4Q,GAAK5Q,KAAKu6C,cAAc3pC,GAC7B5Q,KAAK4Q,EAAI5Q,KAAKw6C,kBAAkB5pC,GAChC5Q,KAAK6Q,GAAK7Q,KAAKu6C,cAAc1pC,GAC7B7Q,KAAK6Q,EAAI7Q,KAAKw6C,kBAAkB3pC,GAW1C1N,EAAK6O,UAAU0yC,eAAiB,SAASnqC,EAAMggC,EAAcC,GAC3Dx6C,KAAKiqD,gBAAkB,EAAI1vC,EAC3Bva,KAAK4uD,aAAer0C,EACpBva,KAAKu6C,cAAgBA,EACrBv6C,KAAKw6C,kBAAoBA,GAS3Br3C,EAAK6O,UAAUsqB,SAAW,SAAS/hB,GACjCva,KAAKiqD,gBAAkB,EAAI1vC,EAC3Bva,KAAK4uD,aAAer0C,GAQtBpX,EAAK6O,UAAUmgD,cAAgB,WAC7BnyD,KAAKmuD,GAAK,EACVnuD,KAAKouD,GAAK,GASZjrD,EAAK6O,UAAUogD,eAAiB,SAASC,GACvC,GAAIC,GAAetyD,KAAKmuD,GAAKnuD,KAAKmuD,GAAKkE,CAEvCryD,MAAKmuD,GAAKtpD,KAAKyoB,KAAKglC,EAAatyD,KAAK8N,QAAQ6mC,MAC9C2d,EAAetyD,KAAKouD,GAAKpuD,KAAKouD,GAAKiE,EAEnCryD,KAAKouD,GAAKvpD,KAAKyoB,KAAKglC,EAAatyD,KAAK8N,QAAQ6mC,OAGhD90C,EAAOD,QAAUuD,GAKb,SAAStD,GAWb,QAASuD,GAAMiU,EAAWzG,EAAGC,EAAGgW,EAAM5V,GAElCjR,KAAKqX,UADHA,EACeA,EAGAjH,SAASkiB,KAIdnsB,SAAV8K,IACe,gBAANL,IACTK,EAAQL,EACRA,EAAIzK,QACqB,gBAAT0gB,IAChB5V,EAAQ4V,EACRA,EAAO1gB,QAGP8K,GACEgkC,UAAW,QACXC,SAAU,GACVC,SAAU,UACV1qC,OACEkB,OAAQ,OACRD,WAAY,aAMpB1L,KAAK4Q,EAAI,EACT5Q,KAAK6Q,EAAI,EACT7Q,KAAKshB,QAAU,EAELnb,SAANyK,GAAyBzK,SAAN0K,GACrB7Q,KAAK8iD,YAAYlyC,EAAGC,GAET1K,SAAT0gB,GACF7mB,KAAK+iD,QAAQl8B,GAIf7mB,KAAK4c,MAAQxM,SAASM,cAAc,MACpC,IAAI6hD,GAAYvyD,KAAK4c,MAAM3L,KAC3BshD,GAAUrxC,SAAW,WACrBqxC,EAAUv9B,WAAa,SACvBu9B,EAAU5mD,OAAS,aAAesF,EAAMxG,MAAMkB,OAC9C4mD,EAAU9nD,MAAQwG,EAAMgkC,UACxBsd,EAAUrd,SAAWjkC,EAAMikC,SAAW,KACtCqd,EAAUC,WAAavhD,EAAMkkC,SAC7Bod,EAAUjxC,QAAUthB,KAAKshB,QAAU,KACnCixC,EAAUt1C,gBAAkBhM,EAAMxG,MAAMiB,WACxC6mD,EAAU5kC,aAAe,MACzB4kC,EAAU3iC,gBAAkB,MAC5B2iC,EAAUE,mBAAqB,MAC/BF,EAAU3kC,UAAY,wCACtB2kC,EAAUG,WAAa,SACvB1yD,KAAKqX,UAAU/G,YAAYtQ,KAAK4c,OAOlCxZ,EAAM4O,UAAU8wC,YAAc,SAASlyC,EAAGC,GACxC7Q,KAAK4Q,EAAIwX,SAASxX,GAClB5Q,KAAK6Q,EAAIuX,SAASvX,IAOpBzN,EAAM4O,UAAU+wC,QAAU,SAASl8B,GACjC7mB,KAAK4c,MAAM2E,UAAYsF,GAOzBzjB,EAAM4O,UAAUwuB,KAAO,SAAUA,GAK/B,GAJar6B,SAATq6B,IACFA,GAAO,GAGLA,EAAM,CACR,GAAIlvB,GAAStR,KAAK4c,MAAMuF,aACpB9Q,EAASrR,KAAK4c,MAAME,YACpBqV,EAAYnyB,KAAK4c,MAAMlT,WAAWyY,aAClCwwC,EAAW3yD,KAAK4c,MAAMlT,WAAWoT,YAEjCtV,EAAOxH,KAAK6Q,EAAIS,CAChB9J,GAAM8J,EAAStR,KAAKshB,QAAU6Q,IAChC3qB,EAAM2qB,EAAY7gB,EAAStR,KAAKshB,SAE9B9Z,EAAMxH,KAAKshB,UACb9Z,EAAMxH,KAAKshB,QAGb,IAAIla,GAAOpH,KAAK4Q,CACZxJ,GAAOiK,EAAQrR,KAAKshB,QAAUqxC,IAChCvrD,EAAOurD,EAAWthD,EAAQrR,KAAKshB,SAE7Bla,EAAOpH,KAAKshB,UACdla,EAAOpH,KAAKshB,SAGdthB,KAAK4c,MAAM3L,MAAM7J,KAAOA,EAAO,KAC/BpH,KAAK4c,MAAM3L,MAAMzJ,IAAMA,EAAM,KAC7BxH,KAAK4c,MAAM3L,MAAM+jB,WAAa,cAG9Bh1B,MAAKugC,QAOTn9B,EAAM4O,UAAUuuB,KAAO,WACrBvgC,KAAK4c,MAAM3L,MAAM+jB,WAAa,UAGhCn1B,EAAOD,QAAUwD,GAKb,SAASvD,EAAQD,GAarB,QAASgzD,GAAUphD,GAEjB,MADAic,GAAMjc,EACCqhD,IAoCT,QAASt3B,KACPtzB,EAAQ,EACRxH,EAAIgtB,EAAI/K,OAAO,GAQjB,QAASiD,KACP1d,IACAxH,EAAIgtB,EAAI/K,OAAOza,GAOjB,QAAS6qD,KACP,MAAOrlC,GAAI/K,OAAOza,EAAQ,GAS5B,QAAS8qD,GAAetyD,GACtB,MAAOuyD,GAAkB3lD,KAAK5M,GAShC,QAASwyD,GAAO/tD,EAAGa,GAKjB,GAJKb,IACHA,MAGEa,EACF,IAAK,GAAI8O,KAAQ9O,GACXA,EAAEN,eAAeoP,KACnB3P,EAAE2P,GAAQ9O,EAAE8O,GAIlB,OAAO3P,GAeT,QAASuR,GAAS6J,EAAKijB,EAAMv8B,GAG3B,IAFA,GAAIsO,GAAOiuB,EAAK17B,MAAM,KAClBqrD,EAAI5yC,EACDhL,EAAKhQ,QAAQ,CAClB,GAAIkD,GAAM8M,EAAKnF,OACXmF,GAAKhQ,QAEF4tD,EAAE1qD,KACL0qD,EAAE1qD,OAEJ0qD,EAAIA,EAAE1qD,IAIN0qD,EAAE1qD,GAAOxB,GAWf,QAASmsD,GAAQpkC,EAAOotB,GAOtB,IANA,GAAIh3C,GAAGC,EACHgwB,EAAU,KAGVg+B,GAAUrkC,GACVrvB,EAAOqvB,EACJrvB,EAAKq+B,QACVq1B,EAAOtrD,KAAKpI,EAAKq+B,QACjBr+B,EAAOA,EAAKq+B,MAId,IAAIr+B,EAAKg1C,MACP,IAAKvvC,EAAI,EAAGC,EAAM1F,EAAKg1C,MAAMpvC,OAAYF,EAAJD,EAASA,IAC5C,GAAIg3C,EAAK97C,KAAOX,EAAKg1C,MAAMvvC,GAAG9E,GAAI,CAChC+0B,EAAU11B,EAAKg1C,MAAMvvC,EACrB,OAiBN,IAZKiwB,IAEHA,GACE/0B,GAAI87C,EAAK97C,IAEP0uB,EAAMotB,OAER/mB,EAAQi+B,KAAOJ,EAAM79B,EAAQi+B,KAAMtkC,EAAMotB,QAKxCh3C,EAAIiuD,EAAO9tD,OAAS,EAAGH,GAAK,EAAGA,IAAK,CACvC,GAAIoH,GAAI6mD,EAAOjuD,EAEVoH,GAAEmoC,QACLnoC,EAAEmoC,UAE4B,IAA5BnoC,EAAEmoC,MAAMpuC,QAAQ8uB,IAClB7oB,EAAEmoC,MAAM5sC,KAAKstB,GAKb+mB,EAAKkX,OACPj+B,EAAQi+B,KAAOJ,EAAM79B,EAAQi+B,KAAMlX,EAAKkX,OAS5C,QAASC,GAAQvkC,EAAO4zB,GAKtB,GAJK5zB,EAAMumB,QACTvmB,EAAMumB,UAERvmB,EAAMumB,MAAMxtC,KAAK66C,GACb5zB,EAAM4zB,KAAM,CACd,GAAI0Q,GAAOJ,KAAUlkC,EAAM4zB,KAC3BA,GAAK0Q,KAAOJ,EAAMI,EAAM1Q,EAAK0Q,OAajC,QAASE,GAAWxkC,EAAOrI,EAAMC,EAAIlgB,EAAM4sD,GACzC,GAAI1Q,IACFj8B,KAAMA,EACNC,GAAIA,EACJlgB,KAAMA,EAQR,OALIsoB,GAAM4zB,OACRA,EAAK0Q,KAAOJ,KAAUlkC,EAAM4zB,OAE9BA,EAAK0Q,KAAOJ,EAAMtQ,EAAK0Q,SAAYA,GAE5B1Q,EAOT,QAAS6Q,KAKP,IAJAC,EAAYC,EAAUC,KACtBC,EAAQ,GAGI,KAALnzD,GAAiB,KAALA,GAAkB,MAALA,GAAkB,MAALA,GAC3CklB,GAGF,GAAG,CACD,GAAIkuC,IAAY,CAGhB,IAAS,KAALpzD,EAAU,CAGZ,IADA,GAAI0E,GAAI8C,EAAQ,EACQ,KAAjBwlB,EAAI/K,OAAOvd,IAA8B,KAAjBsoB,EAAI/K,OAAOvd,IACxCA,GAEF,IAAqB,MAAjBsoB,EAAI/K,OAAOvd,IAA+B,IAAjBsoB,EAAI/K,OAAOvd,GAAU,CAEhD,KAAY,IAAL1E,GAAgB,MAALA,GAChBklB,GAEFkuC,IAAY,GAGhB,GAAS,KAALpzD,GAA6B,KAAjBqyD,IAAsB,CAEpC,KAAY,IAALryD,GAAgB,MAALA,GAChBklB,GAEFkuC,IAAY,EAEd,GAAS,KAALpzD,GAA6B,KAAjBqyD,IAAsB,CAEpC,KAAY,IAALryD,GAAS,CACd,GAAS,KAALA,GAA6B,KAAjBqyD,IAAsB,CAEpCntC,IACAA,GACA,OAGAA,IAGJkuC,GAAY,EAId,KAAY,KAALpzD,GAAiB,KAALA,GAAkB,MAALA,GAAkB,MAALA,GAC3CklB,UAGGkuC,EAGP,IAAS,IAALpzD,EAGF,YADAgzD,EAAYC,EAAUI,UAKxB,IAAIC,GAAKtzD,EAAIqyD,GACb,IAAIkB,EAAWD,GAKb,MAJAN,GAAYC,EAAUI,UACtBF,EAAQG,EACRpuC,QACAA,IAKF,IAAIquC,EAAWvzD,GAIb,MAHAgzD,GAAYC,EAAUI,UACtBF,EAAQnzD,MACRklB,IAMF,IAAIotC,EAAetyD,IAAW,KAALA,EAAU,CAIjC,IAHAmzD,GAASnzD,EACTklB,IAEOotC,EAAetyD,IACpBmzD,GAASnzD,EACTklB,GAYF,OAVa,SAATiuC,EACFA,GAAQ,EAEQ,QAATA,EACPA,GAAQ,EAEAvvD,MAAMR,OAAO+vD,MACrBA,EAAQ/vD,OAAO+vD,SAEjBH,EAAYC,EAAUO,YAKxB,GAAS,KAALxzD,EAAU,CAEZ,IADAklB,IACY,IAALllB,IAAiB,KAALA,GAAkB,KAALA,GAA6B,KAAjBqyD,MAC1Cc,GAASnzD,EACA,KAALA,GACFklB,IAEFA,GAEF,IAAS,KAALllB,EACF,KAAMyzD,GAAe,2BAIvB,OAFAvuC,UACA8tC,EAAYC,EAAUO,YAMxB,IADAR,EAAYC,EAAUS,QACV,IAAL1zD,GACLmzD,GAASnzD,EACTklB,GAEF,MAAM,IAAIrO,aAAY,yBAA2B88C,EAAKR,EAAO,IAAM,KAOrE,QAASf,KACP,GAAI9jC,KAwBJ,IAtBAwM,IACAi4B,IAGa,UAATI,IACF7kC,EAAMslC,QAAS,EACfb,MAIW,SAATI,GAA6B,WAATA,KACtB7kC,EAAMtoB,KAAOmtD,EACbJ,KAIEC,GAAaC,EAAUO,aACzBllC,EAAM1uB,GAAKuzD,EACXJ,KAIW,KAATI,EACF,KAAMM,GAAe,2BAQvB,IANAV,IAGAc,EAAgBvlC,GAGH,KAAT6kC,EACF,KAAMM,GAAe,2BAKvB,IAHAV,IAGc,KAAVI,EACF,KAAMM,GAAe,uBASvB,OAPAV,WAGOzkC,GAAMotB,WACNptB,GAAM4zB,WACN5zB,GAAMA,MAENA,EAOT,QAASulC,GAAiBvlC,GACxB,KAAiB,KAAV6kC,GAAyB,KAATA,GACrBW,EAAexlC,GACF,KAAT6kC,GACFJ,IAWN,QAASe,GAAexlC,GAEtB,GAAIylC,GAAWC,EAAc1lC,EAC7B,IAAIylC,EAIF,WAFAE,GAAU3lC,EAAOylC,EAMnB,IAAInB,GAAOsB,EAAwB5lC,EACnC,KAAIskC,EAAJ,CAKA,GAAII,GAAaC,EAAUO,WACzB,KAAMC,GAAe,sBAEvB,IAAI7zD,GAAKuzD,CAGT,IAFAJ,IAEa,KAATI,EAAc,CAGhB,GADAJ,IACIC,GAAaC,EAAUO,WACzB,KAAMC,GAAe,sBAEvBnlC,GAAM1uB,GAAMuzD,EACZJ,QAIAoB,GAAmB7lC,EAAO1uB,IAS9B,QAASo0D,GAAe1lC,GACtB,GAAIylC,GAAW,IAgBf,IAba,YAATZ,IACFY,KACAA,EAAS/tD,KAAO,WAChB+sD,IAGIC,GAAaC,EAAUO,aACzBO,EAASn0D,GAAKuzD,EACdJ,MAKS,KAATI,EAAc,CAehB,GAdAJ,IAEKgB,IACHA,MAEFA,EAASz2B,OAAShP,EAClBylC,EAASrY,KAAOptB,EAAMotB,KACtBqY,EAAS7R,KAAO5zB,EAAM4zB,KACtB6R,EAASzlC,MAAQA,EAAMA,MAGvBulC,EAAgBE,GAGH,KAATZ,EACF,KAAMM,GAAe,2BAEvBV,WAGOgB,GAASrY,WACTqY,GAAS7R,WACT6R,GAASzlC,YACTylC,GAASz2B,OAGXhP,EAAM8lC,YACT9lC,EAAM8lC,cAER9lC,EAAM8lC,UAAU/sD,KAAK0sD,GAGvB,MAAOA,GAYT,QAASG,GAAyB5lC,GAEhC,MAAa,QAAT6kC,GACFJ,IAGAzkC,EAAMotB,KAAO2Y,IACN,QAES,QAATlB,GACPJ,IAGAzkC,EAAM4zB,KAAOmS,IACN,QAES,SAATlB,GACPJ,IAGAzkC,EAAMA,MAAQ+lC,IACP,SAGF,KAQT,QAASF,GAAmB7lC,EAAO1uB,GAEjC,GAAI87C,IACF97C,GAAIA,GAEFgzD,EAAOyB,GACPzB,KACFlX,EAAKkX,KAAOA,GAEdF,EAAQpkC,EAAOotB,GAGfuY,EAAU3lC,EAAO1uB,GAQnB,QAASq0D,GAAU3lC,EAAOrI,GACxB,KAAgB,MAATktC,GAA0B,MAATA,GAAe,CACrC,GAAIjtC,GACAlgB,EAAOmtD,CACXJ,IAEA,IAAIgB,GAAWC,EAAc1lC,EAC7B,IAAIylC,EACF7tC,EAAK6tC,MAEF,CACH,GAAIf,GAAaC,EAAUO,WACzB,KAAMC,GAAe,kCAEvBvtC,GAAKitC,EACLT,EAAQpkC,GACN1uB,GAAIsmB,IAEN6sC,IAIF,GAAIH,GAAOyB,IAGPnS,EAAO4Q,EAAWxkC,EAAOrI,EAAMC,EAAIlgB,EAAM4sD,EAC7CC,GAAQvkC,EAAO4zB,GAEfj8B,EAAOC,GASX,QAASmuC,KAGP,IAFA,GAAIzB,GAAO,KAEK,KAATO,GAAc,CAGnB,IAFAJ,IACAH,KACiB,KAAVO,GAAyB,KAATA,GAAc,CACnC,GAAIH,GAAaC,EAAUO,WACzB,KAAMC,GAAe,0BAEvB,IAAIr/C,GAAO++C,CAGX,IADAJ,IACa,KAATI,EACF,KAAMM,GAAe,wBAIvB,IAFAV,IAEIC,GAAaC,EAAUO,WACzB,KAAMC,GAAe,2BAEvB,IAAIltD,GAAQ4sD,CACZn9C,GAAS48C,EAAMx+C,EAAM7N,GAErBwsD,IACY,KAARI,GACFJ,IAIJ,GAAa,KAATI,EACF,KAAMM,GAAe,qBAEvBV,KAGF,MAAOH,GAQT,QAASa,GAAea,GACtB,MAAO,IAAIz9C,aAAYy9C,EAAU,UAAYX,EAAKR,EAAO,IAAM,WAAa3rD,EAAQ,KAStF,QAASmsD,GAAMvtC,EAAMmuC,GACnB,MAAQnuC,GAAKvhB,QAAU0vD,EAAanuC,EAAQA,EAAKjc,OAAO,EAAG,IAAM,MASnE,QAASqqD,GAASC,EAAQC,EAAQrtB,GAC5BotB,YAAkBtvD,OACpBsvD,EAAO/sD,QAAQ,SAAUitD,GACnBD,YAAkBvvD,OACpBuvD,EAAOhtD,QAAQ,SAAUktD,GACvBvtB,EAAGstB,EAAOC,KAIZvtB,EAAGstB,EAAOD,KAKVA,YAAkBvvD,OACpBuvD,EAAOhtD,QAAQ,SAAUktD,GACvBvtB,EAAGotB,EAAQG,KAIbvtB,EAAGotB,EAAQC,GAWjB,QAAS5X,GAAY/rC,GA+BjB,QAAS8jD,GAAYC,GACnB,GAAIC,IACF9uC,KAAM6uC,EAAQ7uC,KACdC,GAAI4uC,EAAQ5uC,GAId,OAFAssC,GAAMuC,EAAWD,EAAQlC,MACzBmC,EAAUvkD,MAAyB,MAAhBskD,EAAQ9uD,KAAgB,QAAU,OAC9C+uD,EApCX,GAAIlY,GAAUsV,EAASphD,GACnBikD,GACF/gB,SACAY,SACAxnC,WAkFF,OA9EIwvC,GAAQ5I,OACV4I,EAAQ5I,MAAMvsC,QAAQ,SAAUutD,GAC9B,GAAIC,IACFt1D,GAAIq1D,EAAQr1D,GACZ0lB,MAAOhiB,OAAO2xD,EAAQ3vC,OAAS2vC,EAAQr1D,IAEzC4yD,GAAM0C,EAAWD,EAAQrC,MACrBsC,EAAU5gB,QACZ4gB,EAAU7gB,MAAQ,SAEpB2gB,EAAU/gB,MAAM5sC,KAAK6tD,KAKrBrY,EAAQhI,OAgBVgI,EAAQhI,MAAMntC,QAAQ,SAAUotD,GAC9B,GAAI7uC,GAAMC,CAERD,GADE6uC,EAAQ7uC,eAAgBxgB,QACnBqvD,EAAQ7uC,KAAKguB,OAIlBr0C,GAAIk1D,EAAQ7uC,MAKdC,EADE4uC,EAAQ5uC,aAAczgB,QACnBqvD,EAAQ5uC,GAAG+tB,OAIdr0C,GAAIk1D,EAAQ5uC,IAIZ4uC,EAAQ7uC,eAAgBxgB,SAAUqvD,EAAQ7uC,KAAK4uB,OACjDigB,EAAQ7uC,KAAK4uB,MAAMntC,QAAQ,SAAUytD,GACnC,GAAIJ,GAAYF,EAAYM,EAC5BH,GAAUngB,MAAMxtC,KAAK0tD,KAIzBP,EAASvuC,EAAMC,EAAI,SAAUD,EAAMC,GACjC,GAAIivC,GAAUrC,EAAWkC,EAAW/uC,EAAKrmB,GAAIsmB,EAAGtmB,GAAIk1D,EAAQ9uD,KAAM8uD,EAAQlC,MACtEmC,EAAYF,EAAYM,EAC5BH,GAAUngB,MAAMxtC,KAAK0tD,KAGnBD,EAAQ5uC,aAAczgB,SAAUqvD,EAAQ5uC,GAAG2uB,OAC7CigB,EAAQ5uC,GAAG2uB,MAAMntC,QAAQ,SAAUytD,GACjC,GAAIJ,GAAYF,EAAYM,EAC5BH,GAAUngB,MAAMxtC,KAAK0tD,OAOzBlY,EAAQ+V,OACVoC,EAAU3nD,QAAUwvC,EAAQ+V,MAGvBoC,EAnyBT,GAAI/B,IACFC,KAAO,EACPG,UAAY,EACZG,WAAY,EACZE,QAAU,GAIRH,GACF6B,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EACLC,KAAK,EAELC,MAAM,EACNC,MAAM,GAGJ5oC,EAAM,GACNxlB,EAAQ,EACRxH,EAAI,GACJmzD,EAAQ,GACRH,EAAYC,EAAUC,KAmCtBX,EAAoB,iBA2uBxBpzD,GAAQgzD,SAAWA,EACnBhzD,EAAQ29C,WAAaA,GAKjB,SAAS19C,EAAQD,GAGrB,QAAS89C,GAAW4Y,EAAWxoD,GAC7B,GAAIwnC,MACAZ,IACJ10C,MAAK8N,SACHwnC,OACEQ,cAAc,GAEhBpB,OACE6hB,eAAe,EACf/rD,YAAY,IAIArE,SAAZ2H,IACF9N,KAAK8N,QAAQ4mC,MAAqB,cAAI5mC,EAAQyoD,eAAgB,EAC9Dv2D,KAAK8N,QAAQ4mC,MAAkB,WAAO5mC,EAAQtD,YAAgB,EAC9DxK,KAAK8N,QAAQwnC,MAAoB,aAAKxnC,EAAQgoC,cAAgB,EAKhE,KAAK,GAFD0gB,GAASF,EAAUhhB,MACnBmhB,EAASH,EAAU5hB,MACdvvC,EAAI,EAAGA,EAAIqxD,EAAOlxD,OAAQH,IAAK,CACtC,GAAIw9C,MACA+T,EAAQF,EAAOrxD,EACnBw9C,GAAS,GAAI+T,EAAMr2D,GACnBsiD,EAAW,KAAI+T,EAAMC,OACrBhU,EAAS,GAAI+T,EAAMntD,OACnBo5C,EAAiB,WAAI+T,EAAME,WAG3BjU,EAAY,MAAI+T,EAAMjsD,MACtBk4C,EAAmB,aAAsBx8C,SAAlBw8C,EAAY,OAAkB,EAAQ3iD,KAAK8N,QAAQgoC,aAC1ER,EAAMxtC,KAAK66C,GAGb,IAAK,GAAIx9C,GAAI,EAAGA,EAAIsxD,EAAOnxD,OAAQH,IAAK,CACtC,GAAIg3C,MACA0a,EAAQJ,EAAOtxD,EACnBg3C,GAAS,GAAI0a,EAAMx2D,GACnB87C,EAAiB,WAAI0a,EAAMD,WAC3Bza,EAAQ,EAAI0a,EAAMjmD,EAClBurC,EAAQ,EAAI0a,EAAMhmD,EAClBsrC,EAAY,MAAI0a,EAAM9wC,MAEpBo2B,EAAY,MADuB,GAAjCn8C,KAAK8N,QAAQ4mC,MAAMlqC,WACLqsD,EAAMpsD,MAGUtE,SAAhB0wD,EAAMpsD,OAAuBiB,WAAWmrD,EAAMpsD,MAAOkB,OAAOkrD,EAAMpsD,OAAStE,OAE7Fg2C,EAAa,OAAI0a,EAAM1lD,KACvBgrC,EAAqB,eAAIn8C,KAAK8N,QAAQ4mC,MAAM6hB,cAC5Cpa,EAAqB,eAAIn8C,KAAK8N,QAAQ4mC,MAAM6hB,cAC5C7hB,EAAM5sC,KAAKq0C,GAGb,OAAQzH,MAAMA,EAAOY,MAAMA,GAG7B11C,EAAQ89C,WAAaA,GAIjB,SAAS79C,EAAQD,EAASM,GAI9BL,EAAOD,QAA6B,mBAAXyH,SAA2BA,OAAe,QAAKnH,EAAoB,KAKxF,SAASL,EAAQD,EAASM,GAK5BL,EAAOD,QADa,mBAAXyH,QACQA,OAAe,QAAKnH,EAAoB,IAGxC,WACf,KAAMsD,OAAM,+DAOZ,SAAS3D,EAAQD,EAASM,GAqB9B,QAASwzB,MAnBT,GAAIrZ,GAAUna,EAAoB,IAC9Bq+B,EAASr+B,EAAoB,IAC7BS,EAAOT,EAAoB,GAQ3B27C,GAPU37C,EAAoB,GACnBA,EAAoB,GACvBA,EAAoB,IACjBA,EAAoB,IACjBA,EAAoB,IACrBA,EAAoB,IACvBA,EAAoB,IAClBA,EAAoB,IAYpCma,GAAQqZ,EAAK1hB,WASb0hB,EAAK1hB,UAAUqgB,QAAU,SAAUhb,GACjCrX,KAAK0tB,OAEL1tB,KAAK0tB,IAAIhuB,KAAuB0Q,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIhiB,WAAuB0E,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIsQ,mBAAuB5tB,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIqT,qBAAuB3wB,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAI+Z,gBAAuBr3B,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIopC,cAAuB1mD,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIqpC,eAAuB3mD,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIjE,OAAuBrZ,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAItmB,KAAuBgJ,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAI/I,MAAuBvU,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIlmB,IAAuB4I,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAI9M,OAAuBxQ,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIspC,UAAuB5mD,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIupC,aAAuB7mD,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIwpC,cAAuB9mD,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAIypC,iBAAuB/mD,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAI0pC,eAAuBhnD,SAASM,cAAc,OACvD1Q,KAAK0tB,IAAI2pC,kBAAuBjnD,SAASM,cAAc,OAEvD1Q,KAAK0tB,IAAIhuB,KAAKiI,UAA4B,oBAC1C3H,KAAK0tB,IAAIhiB,WAAW/D,UAAsB,sBAC1C3H,KAAK0tB,IAAIsQ,mBAAmBr2B,UAAc,+BAC1C3H,KAAK0tB,IAAIqT,qBAAqBp5B,UAAY,iCAC1C3H,KAAK0tB,IAAI+Z,gBAAgB9/B,UAAiB,kBAC1C3H,KAAK0tB,IAAIopC,cAAcnvD,UAAmB,gBAC1C3H,KAAK0tB,IAAIqpC,eAAepvD,UAAkB,iBAC1C3H,KAAK0tB,IAAIlmB,IAAIG,UAA6B,eAC1C3H,KAAK0tB,IAAI9M,OAAOjZ,UAA0B,kBAC1C3H,KAAK0tB,IAAItmB,KAAKO,UAA4B,UAC1C3H,KAAK0tB,IAAIjE,OAAO9hB,UAA0B,UAC1C3H,KAAK0tB,IAAI/I,MAAMhd,UAA2B,UAC1C3H,KAAK0tB,IAAIspC,UAAUrvD,UAAuB,aAC1C3H,KAAK0tB,IAAIupC,aAAatvD,UAAoB,gBAC1C3H,KAAK0tB,IAAIwpC,cAAcvvD,UAAmB,aAC1C3H,KAAK0tB,IAAIypC,iBAAiBxvD,UAAgB,gBAC1C3H,KAAK0tB,IAAI0pC,eAAezvD,UAAkB,aAC1C3H,KAAK0tB,IAAI2pC,kBAAkB1vD,UAAe,gBAE1C3H,KAAK0tB,IAAIhuB,KAAK4Q,YAAYtQ,KAAK0tB,IAAIhiB,YACnC1L,KAAK0tB,IAAIhuB,KAAK4Q,YAAYtQ,KAAK0tB,IAAIsQ,oBACnCh+B,KAAK0tB,IAAIhuB,KAAK4Q,YAAYtQ,KAAK0tB,IAAIqT,sBACnC/gC,KAAK0tB,IAAIhuB,KAAK4Q,YAAYtQ,KAAK0tB,IAAI+Z,iBACnCznC,KAAK0tB,IAAIhuB,KAAK4Q,YAAYtQ,KAAK0tB,IAAIopC,eACnC92D,KAAK0tB,IAAIhuB,KAAK4Q,YAAYtQ,KAAK0tB,IAAIqpC,gBACnC/2D,KAAK0tB,IAAIhuB,KAAK4Q,YAAYtQ,KAAK0tB,IAAIlmB,KACnCxH,KAAK0tB,IAAIhuB,KAAK4Q,YAAYtQ,KAAK0tB,IAAI9M,QAEnC5gB,KAAK0tB,IAAI+Z,gBAAgBn3B,YAAYtQ,KAAK0tB,IAAIjE,QAC9CzpB,KAAK0tB,IAAIopC,cAAcxmD,YAAYtQ,KAAK0tB,IAAItmB,MAC5CpH,KAAK0tB,IAAIqpC,eAAezmD,YAAYtQ,KAAK0tB,IAAI/I,OAE7C3kB,KAAK0tB,IAAI+Z,gBAAgBn3B,YAAYtQ,KAAK0tB,IAAIspC,WAC9Ch3D,KAAK0tB,IAAI+Z,gBAAgBn3B,YAAYtQ,KAAK0tB,IAAIupC,cAC9Cj3D,KAAK0tB,IAAIopC,cAAcxmD,YAAYtQ,KAAK0tB,IAAIwpC,eAC5Cl3D,KAAK0tB,IAAIopC,cAAcxmD,YAAYtQ,KAAK0tB,IAAIypC,kBAC5Cn3D,KAAK0tB,IAAIqpC,eAAezmD,YAAYtQ,KAAK0tB,IAAI0pC,gBAC7Cp3D,KAAK0tB,IAAIqpC,eAAezmD,YAAYtQ,KAAK0tB,IAAI2pC,mBAE7Cr3D,KAAKiS,GAAG,cAAejS,KAAK+e,OAAO0T,KAAKzyB,OACxCA,KAAKiS,GAAG,SAAUjS,KAAK+e,OAAO0T,KAAKzyB,OACnCA,KAAKiS,GAAG,QAASjS,KAAKg4B,SAASvF,KAAKzyB,OACpCA,KAAKiS,GAAG,QAASjS,KAAKi4B,SAASxF,KAAKzyB,OACpCA,KAAKiS,GAAG,YAAajS,KAAK23B,aAAalF,KAAKzyB,OAC5CA,KAAKiS,GAAG,OAAQjS,KAAK43B,QAAQnF,KAAKzyB,OAIlCA,KAAK0D,OAAS66B,EAAOv+B,KAAK0tB,IAAIhuB,MAC5B++B,iBAAiB,IAEnBz+B,KAAKs3D,YAEL,IAAIzkD,GAAK7S,KACLu3D,GACF,QAAS,QACT,MAAO,YAAa,OACpB,YAAa,OAAQ,UACrB,aAAc,iBAgChB,IA9BAA,EAAOpvD,QAAQ,SAAUiB,GACvB,GAAIR,GAAW,WACb,GAAI4uD,IAAQpuD,GAAOsJ,OAAO9M,MAAMoM,UAAU4kB,MAAMr2B,KAAK8E,UAAW,GAC5DwN,GAAGssC,YACLtsC,EAAGwY,KAAKzU,MAAM/D,EAAI2kD,GAGtB3kD,GAAGnP,OAAOuO,GAAG7I,EAAOR,GACpBiK,EAAGykD,UAAUluD,GAASR,IAIxB5I,KAAK2F,OACHjG,QACAgM,cACA+7B,mBACAqvB,iBACAC,kBACAttC,UACAriB,QACAud,SACAnd,OACAoZ,UACAjV,UACA8rD,UAAW,EACXC,aAAc,GAEhB13D,KAAKy3B,UAGApgB,EAAW,KAAM,IAAI7T,OAAM,wBAChC6T,GAAU/G,YAAYtQ,KAAK0tB,IAAIhuB,OA4BjCg0B,EAAK1hB,UAAUoI,WAAa,SAAUtM,GACpC,GAAIA,EAAS,CAEX,GAAIP,IAAU,QAAS,SAAU,YAAa,YAAa,aAAc,QAAS,MAAO,cAAe,aACxG5M,GAAK+E,gBAAgB6H,EAAQvN,KAAK8N,QAASA,GAEvC,cAAgBA,KACdA,EAAQywC,WACVv+C,KAAKw+C,UAAY,GAAI3C,GAAU77C,KAAK0tB,IAAIhuB,MAGpCM,KAAKw+C,YACPx+C,KAAKw+C,UAAUjhB,gBACRv9B,MAAKw+C,YAMlBx+C,KAAK23D,kBASP,GALA33D,KAAK8B,WAAWqG,QAAQ,SAAUyvD,GAChCA,EAAUx9C,WAAWtM,KAInBA,GAAWA,EAAQqG,MACrB,KAAM,IAAI3Q,OAAM,wEAIlBxD,MAAK+e,UAOP2U,EAAK1hB,UAAUmtC,SAAW,WACxB,OAAQn/C,KAAKw+C,WAAax+C,KAAKw+C,UAAUoJ,QAM3Cl0B,EAAK1hB,UAAUurB,QAAU,WAEvBv9B,KAAKqV,QAGLrV,KAAKoS,MAGLpS,KAAK63D,kBAGD73D,KAAK0tB,IAAIhuB,KAAKgK,YAChB1J,KAAK0tB,IAAIhuB,KAAKgK,WAAWsG,YAAYhQ,KAAK0tB,IAAIhuB,MAEhDM,KAAK0tB,IAAM,KAGP1tB,KAAKw+C,YACPx+C,KAAKw+C,UAAUjhB,gBACRv9B,MAAKw+C,UAId,KAAK,GAAIp1C,KAASpJ,MAAKs3D,UACjBt3D,KAAKs3D,UAAU7xD,eAAe2D,UACzBpJ,MAAKs3D,UAAUluD,EAG1BpJ,MAAKs3D,UAAY,KACjBt3D,KAAK0D,OAAS,KAGd1D,KAAK8B,WAAWqG,QAAQ,SAAUyvD,GAChCA,EAAUr6B,YAGZv9B,KAAKsyB,KAAO,MAQdoB,EAAK1hB,UAAU0sB,cAAgB,SAAUlG,GACvC,IAAKx4B,KAAKqzB,WACR,KAAM,IAAI7vB,OAAM,yDAGlBxD,MAAKqzB,WAAWqL,cAAclG,IAOhC9E,EAAK1hB,UAAU2sB,cAAgB,WAC7B,IAAK3+B,KAAKqzB,WACR,KAAM,IAAI7vB,OAAM,yDAGlB,OAAOxD,MAAKqzB,WAAWsL,iBAQzBjL,EAAK1hB,UAAUm2B,gBAAkB,WAC/B,MAAOnoC,MAAKszB,SAAWtzB,KAAKszB,QAAQ6U,uBAetCzU,EAAK1hB,UAAUqD,MAAQ,SAASyiD,KAEzBA,GAAQA,EAAK/1D,QAChB/B,KAAKyzB,SAAS,QAIXqkC,GAAQA,EAAK7jC,SAChBj0B,KAAKg0B,UAAU,QAIZ8jC,GAAQA,EAAKhqD,WAChB9N,KAAK8B,WAAWqG,QAAQ,SAAUyvD,GAChCA,EAAUx9C,WAAWw9C,EAAU5lC,kBAGjChyB,KAAKoa,WAAWpa,KAAKgyB,kBAazB0B,EAAK1hB,UAAU+hB,IAAM,SAASjmB,GAE5B,GAAIiqD,GAAY/3D,KAAKu0B,eAGjBzlB,EAAQipD,EAAU1sD,IAClBkE,EAAMwoD,EAAUjrD,GACpB,IAAa,MAATgC,GAAwB,MAAPS,EAAa,CAChC,GAAI+gB,GAAY/gB,EAAI5I,UAAYmI,EAAMnI,SACtB,IAAZ2pB,IAEFA,EAAW,OAEbxhB,EAAQ,GAAI7K,MAAK6K,EAAMnI,UAAuB,IAAX2pB,GACnC/gB,EAAM,GAAItL,MAAKsL,EAAI5I,UAAuB,IAAX2pB,GAIjC,GAAc,OAAVxhB,GAA0B,OAARS,EAAtB,CAIA,GAAIukB,GAAWhmB,GAA+B3H,SAApB2H,EAAQgmB,QAAyBhmB,EAAQgmB,SAAU,CAC7E9zB,MAAKkO,MAAMmjB,SAASviB,EAAOS,EAAKukB,KAsBlCJ,EAAK1hB,UAAU6hB,UAAY,SAAS/kB,EAAOS,EAAKzB,GAC9C,GAAIgmB,GAAWhmB,GAA+B3H,SAApB2H,EAAQgmB,QAAyBhmB,EAAQgmB,SAAU,CAC7E,IAAwB,GAApBzuB,UAAUC,OAAa,CACzB,GAAI4I,GAAQ7I,UAAU,EACtBrF,MAAKkO,MAAMmjB,SAASnjB,EAAMY,MAAOZ,EAAMqB,IAAKukB,OAG5C9zB,MAAKkO,MAAMmjB,SAASviB,EAAOS,EAAKukB,IAcpCJ,EAAK1hB,UAAUmT,OAAS,SAASqT,EAAM1qB,GACrC,GAAIwiB,GAAWtwB,KAAKkO,MAAMqB,IAAMvP,KAAKkO,MAAMY,MACvC3B,EAAIxM,EAAK6F,QAAQgyB,EAAM,QAAQ7xB,UAE/BmI,EAAQ3B,EAAImjB,EAAW,EACvB/gB,EAAMpC,EAAImjB,EAAW,EACrBwD,EAAWhmB,GAA+B3H,SAApB2H,EAAQgmB,QAAyBhmB,EAAQgmB,SAAU,CAE7E9zB,MAAKkO,MAAMmjB,SAASviB,EAAOS,EAAKukB,IAOlCJ,EAAK1hB,UAAUgmD,UAAY,WACzB,GAAI9pD,GAAQlO,KAAKkO,MAAMirB,UACvB,QACErqB,MAAO,GAAI7K,MAAKiK,EAAMY,OACtBS,IAAK,GAAItL,MAAKiK,EAAMqB,OAQxBmkB,EAAK1hB,UAAU+M,OAAS,WACtB,GAAI0e,IAAU,EACZ3vB,EAAU9N,KAAK8N,QACfnI,EAAQ3F,KAAK2F,MACb+nB,EAAM1tB,KAAK0tB,GAEb,IAAKA,EAAL,CAG2B,OAAvB5f,EAAQokB,aACVvxB,EAAK+G,aAAagmB,EAAIhuB,KAAM,OAC5BiB,EAAKqH,gBAAgB0lB,EAAIhuB,KAAM,YAG/BiB,EAAKqH,gBAAgB0lB,EAAIhuB,KAAM,OAC/BiB,EAAK+G,aAAagmB,EAAIhuB,KAAM,WAI9BguB,EAAIhuB,KAAKuR,MAAMkhB,UAAYxxB,EAAKgJ,OAAOK,OAAO8D,EAAQqkB,UAAW,IACjEzE,EAAIhuB,KAAKuR,MAAMmhB,UAAYzxB,EAAKgJ,OAAOK,OAAO8D,EAAQskB,UAAW,IACjE1E,EAAIhuB,KAAKuR,MAAMI,MAAQ1Q,EAAKgJ,OAAOK,OAAO8D,EAAQuD,MAAO,IAGzD1L,EAAMgG,OAAOvE,MAAUsmB,EAAI+Z,gBAAgB1Z,YAAcL,EAAI+Z,gBAAgB3qB,aAAe,EAC5FnX,EAAMgG,OAAOgZ,MAAShf,EAAMgG,OAAOvE,KACnCzB,EAAMgG,OAAOnE,KAAUkmB,EAAI+Z,gBAAgBxZ,aAAeP,EAAI+Z,gBAAgBtlB,cAAgB,EAC9Fxc,EAAMgG,OAAOiV,OAASjb,EAAMgG,OAAOnE,GACnC,IAAIywD,GAAkBvqC,EAAIhuB,KAAKuuB,aAAeP,EAAIhuB,KAAKyiB,aACnD+1C,EAAkBxqC,EAAIhuB,KAAKquB,YAAcL,EAAIhuB,KAAKod,WAItDnX,GAAM8jB,OAAOnY,OAASoc,EAAIjE,OAAOwE,aACjCtoB,EAAMyB,KAAKkK,OAAWoc,EAAItmB,KAAK6mB,aAC/BtoB,EAAMgf,MAAMrT,OAAUoc,EAAI/I,MAAMsJ,aAChCtoB,EAAM6B,IAAI8J,OAAYoc,EAAIlmB,IAAI2a,eAAoBxc,EAAMgG,OAAOnE,IAC/D7B,EAAMib,OAAOtP,OAASoc,EAAI9M,OAAOuB,eAAiBxc,EAAMgG,OAAOiV,MAM/D,IAAIoN,GAAgBnpB,KAAKiI,IAAInH,EAAMyB,KAAKkK,OAAQ3L,EAAM8jB,OAAOnY,OAAQ3L,EAAMgf,MAAMrT,QAC7E6mD,EAAaxyD,EAAM6B,IAAI8J,OAAS0c,EAAgBroB,EAAMib,OAAOtP,OAC/D2mD,EAAmBtyD,EAAMgG,OAAOnE,IAAM7B,EAAMgG,OAAOiV,MACrD8M,GAAIhuB,KAAKuR,MAAMK,OAAS3Q,EAAKgJ,OAAOK,OAAO8D,EAAQwD,OAAQ6mD,EAAa,MAGxExyD,EAAMjG,KAAK4R,OAASoc,EAAIhuB,KAAKuuB,aAC7BtoB,EAAM+F,WAAW4F,OAAS3L,EAAMjG,KAAK4R,OAAS2mD,CAC9C,IAAI/iC,GAAkBvvB,EAAMjG,KAAK4R,OAAS3L,EAAM6B,IAAI8J,OAAS3L,EAAMib,OAAOtP,OACxE2mD,CACFtyD,GAAM8hC,gBAAgBn2B,OAAU4jB,EAChCvvB,EAAMmxD,cAAcxlD,OAAY4jB,EAChCvvB,EAAMoxD,eAAezlD,OAAW3L,EAAMmxD,cAAcxlD,OAGpD3L,EAAMjG,KAAK2R,MAAQqc,EAAIhuB,KAAKquB,YAC5BpoB,EAAM+F,WAAW2F,MAAQ1L,EAAMjG,KAAK2R,MAAQ6mD,EAC5CvyD,EAAMyB,KAAKiK,MAAQqc,EAAIopC,cAAch6C,cAAkBnX,EAAMgG,OAAOvE,KACpEzB,EAAMmxD,cAAczlD,MAAQ1L,EAAMyB,KAAKiK,MACvC1L,EAAMgf,MAAMtT,MAAQqc,EAAIqpC,eAAej6C,cAAgBnX,EAAMgG,OAAOgZ,MACpEhf,EAAMoxD,eAAe1lD,MAAQ1L,EAAMgf,MAAMtT,KACzC,IAAI+mD,GAAczyD,EAAMjG,KAAK2R,MAAQ1L,EAAMyB,KAAKiK,MAAQ1L,EAAMgf,MAAMtT,MAAQ6mD,CAC5EvyD,GAAM8jB,OAAOpY,MAAiB+mD,EAC9BzyD,EAAM8hC,gBAAgBp2B,MAAQ+mD,EAC9BzyD,EAAM6B,IAAI6J,MAAoB+mD,EAC9BzyD,EAAMib,OAAOvP,MAAiB+mD,EAG9B1qC,EAAIhiB,WAAWuF,MAAMK,OAAmB3L,EAAM+F,WAAW4F,OAAS,KAClEoc,EAAIsQ,mBAAmB/sB,MAAMK,OAAW3L,EAAM+F,WAAW4F,OAAS,KAClEoc,EAAIqT,qBAAqB9vB,MAAMK,OAAS3L,EAAM8hC,gBAAgBn2B,OAAS,KACvEoc,EAAI+Z,gBAAgBx2B,MAAMK,OAAc3L,EAAM8hC,gBAAgBn2B,OAAS,KACvEoc,EAAIopC,cAAc7lD,MAAMK,OAAgB3L,EAAMmxD,cAAcxlD,OAAS,KACrEoc,EAAIqpC,eAAe9lD,MAAMK,OAAe3L,EAAMoxD,eAAezlD,OAAS,KAEtEoc,EAAIhiB,WAAWuF,MAAMI,MAAmB1L,EAAM+F,WAAW2F,MAAQ,KACjEqc,EAAIsQ,mBAAmB/sB,MAAMI,MAAW1L,EAAM8hC,gBAAgBp2B,MAAQ,KACtEqc,EAAIqT,qBAAqB9vB,MAAMI,MAAS1L,EAAM+F,WAAW2F,MAAQ,KACjEqc,EAAI+Z,gBAAgBx2B,MAAMI,MAAc1L,EAAM8jB,OAAOpY,MAAQ,KAC7Dqc,EAAIlmB,IAAIyJ,MAAMI,MAA0B1L,EAAM6B,IAAI6J,MAAQ,KAC1Dqc,EAAI9M,OAAO3P,MAAMI,MAAuB1L,EAAMib,OAAOvP,MAAQ,KAG7Dqc,EAAIhiB,WAAWuF,MAAM7J,KAAiB,IACtCsmB,EAAIhiB,WAAWuF,MAAMzJ,IAAiB,IACtCkmB,EAAIsQ,mBAAmB/sB,MAAM7J,KAASzB,EAAMyB,KAAKiK,MAAQ,KACzDqc,EAAIsQ,mBAAmB/sB,MAAMzJ,IAAS,IACtCkmB,EAAIqT,qBAAqB9vB,MAAM7J,KAAO,IACtCsmB,EAAIqT,qBAAqB9vB,MAAMzJ,IAAO7B,EAAM6B,IAAI8J,OAAS,KACzDoc,EAAI+Z,gBAAgBx2B,MAAM7J,KAAYzB,EAAMyB,KAAKiK,MAAQ,KACzDqc,EAAI+Z,gBAAgBx2B,MAAMzJ,IAAY7B,EAAM6B,IAAI8J,OAAS,KACzDoc,EAAIopC,cAAc7lD,MAAM7J,KAAc,IACtCsmB,EAAIopC,cAAc7lD,MAAMzJ,IAAc7B,EAAM6B,IAAI8J,OAAS,KACzDoc,EAAIqpC,eAAe9lD,MAAM7J,KAAczB,EAAMyB,KAAKiK,MAAQ1L,EAAM8jB,OAAOpY,MAAS,KAChFqc,EAAIqpC,eAAe9lD,MAAMzJ,IAAa7B,EAAM6B,IAAI8J,OAAS,KACzDoc,EAAIlmB,IAAIyJ,MAAM7J,KAAwBzB,EAAMyB,KAAKiK,MAAQ,KACzDqc,EAAIlmB,IAAIyJ,MAAMzJ,IAAwB,IACtCkmB,EAAI9M,OAAO3P,MAAM7J,KAAqBzB,EAAMyB,KAAKiK,MAAQ,KACzDqc,EAAI9M,OAAO3P,MAAMzJ,IAAsB7B,EAAM6B,IAAI8J,OAAS3L,EAAM8hC,gBAAgBn2B,OAAU,KAI1FtR,KAAKq4D,kBAGL,IAAIpxC,GAASjnB,KAAK2F,MAAM8xD,SACG,WAAvB3pD,EAAQokB,cACVjL,GAAUpiB,KAAKiI,IAAI9M,KAAK2F,MAAM8hC,gBAAgBn2B,OAAStR,KAAK2F,MAAM8jB,OAAOnY,OACvEtR,KAAK2F,MAAMgG,OAAOnE,IAAMxH,KAAK2F,MAAMgG,OAAOiV,OAAQ,IAEtD8M,EAAIjE,OAAOxY,MAAM7J,KAAO,IACxBsmB,EAAIjE,OAAOxY,MAAMzJ,IAAOyf,EAAS,KACjCyG,EAAItmB,KAAK6J,MAAM7J,KAAS,IACxBsmB,EAAItmB,KAAK6J,MAAMzJ,IAASyf,EAAS,KACjCyG,EAAI/I,MAAM1T,MAAM7J,KAAQ,IACxBsmB,EAAI/I,MAAM1T,MAAMzJ,IAAQyf,EAAS,IAGjC,IAAIqxC,GAAwC,GAAxBt4D,KAAK2F,MAAM8xD,UAAiB,SAAW,GACvDc,EAAmBv4D,KAAK2F,MAAM8xD,WAAaz3D,KAAK2F,MAAM+xD,aAAe,SAAW,EACpFhqC,GAAIspC,UAAU/lD,MAAM+jB,WAAsBsjC,EAC1C5qC,EAAIupC,aAAahmD,MAAM+jB,WAAmBujC,EAC1C7qC,EAAIwpC,cAAcjmD,MAAM+jB,WAAkBsjC,EAC1C5qC,EAAIypC,iBAAiBlmD,MAAM+jB,WAAeujC,EAC1C7qC,EAAI0pC,eAAenmD,MAAM+jB,WAAiBsjC,EAC1C5qC,EAAI2pC,kBAAkBpmD,MAAM+jB,WAAcujC,EAG1Cv4D,KAAK8B,WAAWqG,QAAQ,SAAUyvD,GAChCn6B,EAAUm6B,EAAU74C,UAAY0e,IAE9BA,GAEFz9B,KAAK+e,WAKT2U,EAAK1hB,UAAUwmD,QAAU,WACvB,KAAM,IAAIh1D,OAAM,wDAUlBkwB,EAAK1hB,UAAUmsB,eAAiB,SAAS3F,GACvC,IAAKx4B,KAAKozB,YACR,KAAM,IAAI5vB,OAAM,sCAGlBxD,MAAKozB,YAAY+K,eAAe3F,IAQlC9E,EAAK1hB,UAAUosB,eAAiB,WAC9B,IAAKp+B,KAAKozB,YACR,KAAM,IAAI5vB,OAAM,sCAGlB,OAAOxD,MAAKozB,YAAYgL,kBAU1B1K,EAAK1hB,UAAUghB,QAAU,SAASpiB,GAChC,GAAIwoB,GAAap5B,KAAKkO,MAAMkrB,WAAWp5B,KAAK2F,MAAM8jB,OAAOpY,MACzD,OAAO,IAAIpN,MAAK2M,EAAIwoB,EAAW7e,MAAQ6e,EAAWnS,SAWpDyM,EAAK1hB,UAAUkhB,cAAgB,SAAStiB,GACtC,GAAIwoB,GAAap5B,KAAKkO,MAAMkrB,WAAWp5B,KAAK2F,MAAMjG,KAAK2R,MACvD,OAAO,IAAIpN,MAAK2M,EAAIwoB,EAAW7e,MAAQ6e,EAAWnS,SAWpDyM,EAAK1hB,UAAU4gB,UAAY,SAAS4F,GAClC,GAAIY,GAAap5B,KAAKkO,MAAMkrB,WAAWp5B,KAAK2F,MAAM8jB,OAAOpY,MACzD,QAAQmnB,EAAK7xB,UAAYyyB,EAAWnS,QAAUmS,EAAW7e,OAa3DmZ,EAAK1hB,UAAU8gB,gBAAkB,SAAS0F,GACxC,GAAIY,GAAap5B,KAAKkO,MAAMkrB,WAAWp5B,KAAK2F,MAAMjG,KAAK2R,MACvD,QAAQmnB,EAAK7xB,UAAYyyB,EAAWnS,QAAUmS,EAAW7e,OAQ3DmZ,EAAK1hB,UAAU2lD,gBAAkB,WACA,GAA3B33D,KAAK8N,QAAQmkB,WACfjyB,KAAKy4D,mBAGLz4D,KAAK63D,mBASTnkC,EAAK1hB,UAAUymD,iBAAmB,WAChC,GAAI5lD,GAAK7S,IAETA,MAAK63D,kBAEL73D,KAAK04D,UAAY,WACf,MAA6B,IAAzB7lD,EAAG/E,QAAQmkB,eAEbpf,GAAGglD,uBAIDhlD,EAAG6a,IAAIhuB,OAEJmT,EAAG6a,IAAIhuB,KAAKod,aAAejK,EAAGlN,MAAM+iC,WACtC71B,EAAG6a,IAAIhuB,KAAKyiB,cAAgBtP,EAAGlN,MAAMgzD,cACtC9lD,EAAGlN,MAAM+iC,UAAY71B,EAAG6a,IAAIhuB,KAAKod,YACjCjK,EAAGlN,MAAMgzD,WAAa9lD,EAAG6a,IAAIhuB,KAAKyiB,aAElCtP,EAAGwY,KAAK,aAMd1qB,EAAK8H,iBAAiBpB,OAAQ,SAAUrH,KAAK04D,WAE7C14D,KAAK44D,WAAaC,YAAY74D,KAAK04D,UAAW,MAOhDhlC,EAAK1hB,UAAU6lD,gBAAkB,WAC3B73D,KAAK44D,aACProC,cAAcvwB,KAAK44D,YACnB54D,KAAK44D,WAAazyD,QAIpBxF,EAAKsI,oBAAoB5B,OAAQ,SAAUrH,KAAK04D,WAChD14D,KAAK04D,UAAY,MAQnBhlC,EAAK1hB,UAAUgmB,SAAW,WACxBh4B,KAAKy3B,MAAM4B,eAAgB,GAQ7B3F,EAAK1hB,UAAUimB,SAAW,WACxBj4B,KAAKy3B,MAAM4B,eAAgB,GAQ7B3F,EAAK1hB,UAAU2lB,aAAe,WAC5B33B,KAAKy3B,MAAMqhC,iBAAmB94D,KAAK2F,MAAM8xD,WAQ3C/jC,EAAK1hB,UAAU4lB,QAAU,SAAUxuB,GAGjC,GAAKpJ,KAAKy3B,MAAM4B,cAAhB,CAEA,GAAIjN,GAAQhjB,EAAMkwB,QAAQE,OAEtBu/B,EAAe/4D,KAAKg5D,gBACpBC,EAAej5D,KAAKk5D,cAAcl5D,KAAKy3B,MAAMqhC,iBAAmB1sC,EAEhE6sC,IAAgBF,GAClB/4D,KAAK+e,WAUT2U,EAAK1hB,UAAUknD,cAAgB,SAAUzB,GAGvC,MAFAz3D,MAAK2F,MAAM8xD,UAAYA,EACvBz3D,KAAKq4D,mBACEr4D,KAAK2F,MAAM8xD,WAQpB/jC,EAAK1hB,UAAUqmD,iBAAmB,WAEhC,GAAIX,GAAe7yD,KAAKwG,IAAIrL,KAAK2F,MAAM8hC,gBAAgBn2B,OAAStR,KAAK2F,MAAM8jB,OAAOnY,OAAQ,EAc1F,OAbIomD,IAAgB13D,KAAK2F,MAAM+xD,eAGG,UAA5B13D,KAAK8N,QAAQokB,cACflyB,KAAK2F,MAAM8xD,WAAcC,EAAe13D,KAAK2F,MAAM+xD,cAErD13D,KAAK2F,MAAM+xD,aAAeA,GAIxB13D,KAAK2F,MAAM8xD,UAAY,IAAGz3D,KAAK2F,MAAM8xD,UAAY,GACjDz3D,KAAK2F,MAAM8xD,UAAYC,IAAc13D,KAAK2F,MAAM8xD,UAAYC,GAEzD13D,KAAK2F,MAAM8xD,WAQpB/jC,EAAK1hB,UAAUgnD,cAAgB,WAC7B,MAAOh5D,MAAK2F,MAAM8xD,WAGpB53D,EAAOD,QAAU8zB,GAKb,SAAS7zB,EAAQD,EAASM,GAE9B,GAAIq+B,GAASr+B,EAAoB,GAOjCN,GAAQ85B,YAAc,SAAShxB,EAASU,GACtC,GAAI+vD,GAAY,KAMZp/B,EAAUwE,EAAOn1B,MAAMgwD,aAAahwD,EAAO+vD,GAC3C7/B,EAAUiF,EAAOn1B,MAAMiwD,iBAAiBr5D,KAAMm5D,EAAWp/B,EAAS3wB,EAWtE,OAPI/E,OAAMi1B,EAAQ7P,OAAO2O,SACvBkB,EAAQ7P,OAAO2O,MAAQhvB,EAAMgvB,OAE3B/zB,MAAMi1B,EAAQ7P,OAAO4O,SACvBiB,EAAQ7P,OAAO4O,MAAQjvB,EAAMivB,OAGxBiB,IAML,SAASz5B,EAAQD,GAGrBA,EAAY,IACVw1B,QAAS,UACToD,KAAM,QAER54B,EAAe,MAAIA,EAAY,GAC/BA,EAAe,MAAIA,EAAY,GAG/BA,EAAY,IACV05D,OAAQ,aACR9gC,KAAM,QAER54B,EAAe,MAAIA,EAAY,GAC/BA,EAAe,MAAIA,EAAY,IAK3B,SAASC,EAAQD,GAGrBA,EAAY,IACV00C,KAAM,OACNG,IAAK,kBACL8kB,KAAM,OACNpG,QAAS,WACTG,QAAS,WACTkG,SAAU,YACVjlB,SAAU,YACVklB,eAAgB,+CAChBC,gBAAiB,qEACjBC,oBAAqB,wEACrBC,gBAAiB,kCACjBC,mBAAoB,+BAEtBj6D,EAAe,MAAIA,EAAY,GAC/BA,EAAe,MAAIA,EAAY,GAG/BA,EAAY,IACV00C,KAAM,WACNG,IAAK,uBACL8kB,KAAM,QACNpG,QAAS,iBACTG,QAAS,iBACTkG,SAAU,gBACVjlB,SAAU,gBACVklB,eAAgB,uDAChBC,gBAAiB,6EACjBC,oBAAqB,kFACrBC,gBAAiB,wCACjBC,mBAAoB,2CAEtBj6D,EAAe,MAAIA,EAAY,GAC/BA,EAAe,MAAIA,EAAY,IAK3B,WAKoC,mBAA7Bk6D,4BAKTA,yBAAyB9nD,UAAUy/C,OAAS,SAAS7gD,EAAGC,EAAGvE,GACzDtM,KAAKklB,YACLllB,KAAKipB,IAAIrY,EAAGC,EAAGvE,EAAG,EAAG,EAAEzH,KAAKqkB,IAAI,IASlC4wC,yBAAyB9nD,UAAU+nD,OAAS,SAASnpD,EAAGC,EAAGvE,GACzDtM,KAAKklB,YACLllB,KAAKuR,KAAKX,EAAItE,EAAGuE,EAAIvE,EAAO,EAAJA,EAAW,EAAJA,IASjCwtD,yBAAyB9nD,UAAU0a,SAAW,SAAS9b,EAAGC,EAAGvE,GAE3DtM,KAAKklB,WAEL,IAAI/Z,GAAQ,EAAJmB,EACJ0tD,EAAK7uD,EAAI,EACT8uD,EAAKp1D,KAAKyoB,KAAK,GAAK,EAAIniB,EACxBD,EAAIrG,KAAKyoB,KAAKniB,EAAIA,EAAI6uD,EAAKA,EAE/Bh6D,MAAKmlB,OAAOvU,EAAGC,GAAK3F,EAAI+uD,IACxBj6D,KAAKolB,OAAOxU,EAAIopD,EAAInpD,EAAIopD,GACxBj6D,KAAKolB,OAAOxU,EAAIopD,EAAInpD,EAAIopD,GACxBj6D,KAAKolB,OAAOxU,EAAGC,GAAK3F,EAAI+uD,IACxBj6D,KAAKulB,aASPu0C,yBAAyB9nD,UAAUkoD,aAAe,SAAStpD,EAAGC,EAAGvE,GAE/DtM,KAAKklB,WAEL,IAAI/Z,GAAQ,EAAJmB,EACJ0tD,EAAK7uD,EAAI,EACT8uD,EAAKp1D,KAAKyoB,KAAK,GAAK,EAAIniB,EACxBD,EAAIrG,KAAKyoB,KAAKniB,EAAIA,EAAI6uD,EAAKA,EAE/Bh6D,MAAKmlB,OAAOvU,EAAGC,GAAK3F,EAAI+uD,IACxBj6D,KAAKolB,OAAOxU,EAAIopD,EAAInpD,EAAIopD,GACxBj6D,KAAKolB,OAAOxU,EAAIopD,EAAInpD,EAAIopD,GACxBj6D,KAAKolB,OAAOxU,EAAGC,GAAK3F,EAAI+uD,IACxBj6D,KAAKulB,aASPu0C,yBAAyB9nD,UAAUmoD,KAAO,SAASvpD,EAAGC,EAAGvE,GAEvDtM,KAAKklB,WAEL,KAAK,GAAIk1C,GAAI,EAAO,GAAJA,EAAQA,IAAK,CAC3B,GAAIpxC,GAAUoxC,EAAI,IAAM,EAAS,IAAJ9tD,EAAc,GAAJA,CACvCtM,MAAKolB,OACDxU,EAAIoY,EAASnkB,KAAK6W,IAAQ,EAAJ0+C,EAAQv1D,KAAKqkB,GAAK,IACxCrY,EAAImY,EAASnkB,KAAKgX,IAAQ,EAAJu+C,EAAQv1D,KAAKqkB,GAAK,KAI9ClpB,KAAKulB,aAMPu0C,yBAAyB9nD,UAAUs/C,UAAY,SAAS1gD,EAAGC,EAAGozC,EAAG/4C,EAAGoB,GAClE,GAAI+tD,GAAMx1D,KAAKqkB,GAAG,GACE;EAAhB+6B,EAAM,EAAI33C,IAAYA,EAAM23C,EAAI,GAChB,EAAhB/4C,EAAM,EAAIoB,IAAYA,EAAMpB,EAAI,GACpClL,KAAKklB,YACLllB,KAAKmlB,OAAOvU,EAAEtE,EAAEuE,GAChB7Q,KAAKolB,OAAOxU,EAAEqzC,EAAE33C,EAAEuE,GAClB7Q,KAAKipB,IAAIrY,EAAEqzC,EAAE33C,EAAEuE,EAAEvE,EAAEA,EAAM,IAAJ+tD,EAAY,IAAJA,GAAQ,GACrCr6D,KAAKolB,OAAOxU,EAAEqzC,EAAEpzC,EAAE3F,EAAEoB,GACpBtM,KAAKipB,IAAIrY,EAAEqzC,EAAE33C,EAAEuE,EAAE3F,EAAEoB,EAAEA,EAAE,EAAM,GAAJ+tD,GAAO,GAChCr6D,KAAKolB,OAAOxU,EAAEtE,EAAEuE,EAAE3F,GAClBlL,KAAKipB,IAAIrY,EAAEtE,EAAEuE,EAAE3F,EAAEoB,EAAEA,EAAM,GAAJ+tD,EAAW,IAAJA,GAAQ,GACpCr6D,KAAKolB,OAAOxU,EAAEC,EAAEvE,GAChBtM,KAAKipB,IAAIrY,EAAEtE,EAAEuE,EAAEvE,EAAEA,EAAM,IAAJ+tD,EAAY,IAAJA,GAAQ,IAMrCP,yBAAyB9nD,UAAU2/C,QAAU,SAAS/gD,EAAGC,EAAGozC,EAAG/4C,GAC7D,GAAIovD,GAAQ,SACRC,EAAMtW,EAAI,EAAKqW,EACfE,EAAMtvD,EAAI,EAAKovD,EACfG,EAAK7pD,EAAIqzC,EACTyW,EAAK7pD,EAAI3F,EACTyvD,EAAK/pD,EAAIqzC,EAAI,EACb2W,EAAK/pD,EAAI3F,EAAI,CAEjBlL,MAAKklB,YACLllB,KAAKmlB,OAAOvU,EAAGgqD,GACf56D,KAAK66D,cAAcjqD,EAAGgqD,EAAKJ,EAAIG,EAAKJ,EAAI1pD,EAAG8pD,EAAI9pD,GAC/C7Q,KAAK66D,cAAcF,EAAKJ,EAAI1pD,EAAG4pD,EAAIG,EAAKJ,EAAIC,EAAIG,GAChD56D,KAAK66D,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACjD16D,KAAK66D,cAAcF,EAAKJ,EAAIG,EAAI9pD,EAAGgqD,EAAKJ,EAAI5pD,EAAGgqD,IAQjDd,yBAAyB9nD,UAAUu/C,SAAW,SAAS3gD,EAAGC,EAAGozC,EAAG/4C,GAC9D,GAAImB,GAAI,EAAE,EACNyuD,EAAW7W,EACX8W,EAAW7vD,EAAImB,EAEfiuD,EAAQ,SACRC,EAAMO,EAAW,EAAKR,EACtBE,EAAMO,EAAW,EAAKT,EACtBG,EAAK7pD,EAAIkqD,EACTJ,EAAK7pD,EAAIkqD,EACTJ,EAAK/pD,EAAIkqD,EAAW,EACpBF,EAAK/pD,EAAIkqD,EAAW,EACpBC,EAAMnqD,GAAK3F,EAAI6vD,EAAS,GACxBE,EAAMpqD,EAAI3F,CAEdlL,MAAKklB,YACLllB,KAAKmlB,OAAOs1C,EAAIG,GAEhB56D,KAAK66D,cAAcJ,EAAIG,EAAKJ,EAAIG,EAAKJ,EAAIG,EAAIC,EAAID,GACjD16D,KAAK66D,cAAcF,EAAKJ,EAAIG,EAAI9pD,EAAGgqD,EAAKJ,EAAI5pD,EAAGgqD,GAE/C56D,KAAK66D,cAAcjqD,EAAGgqD,EAAKJ,EAAIG,EAAKJ,EAAI1pD,EAAG8pD,EAAI9pD,GAC/C7Q,KAAK66D,cAAcF,EAAKJ,EAAI1pD,EAAG4pD,EAAIG,EAAKJ,EAAIC,EAAIG,GAEhD56D,KAAKolB,OAAOq1C,EAAIO,GAEhBh7D,KAAK66D,cAAcJ,EAAIO,EAAMR,EAAIG,EAAKJ,EAAIU,EAAKN,EAAIM,GACnDj7D,KAAK66D,cAAcF,EAAKJ,EAAIU,EAAKrqD,EAAGoqD,EAAMR,EAAI5pD,EAAGoqD,GAEjDh7D,KAAKolB,OAAOxU,EAAGgqD,IAOjBd,yBAAyB9nD,UAAUi5C,MAAQ,SAASr6C,EAAGC,EAAGqyC,EAAO59C,GAE/D,GAAI41D,GAAKtqD,EAAItL,EAAST,KAAKgX,IAAIqnC,GAC3BiY,EAAKtqD,EAAIvL,EAAST,KAAK6W,IAAIwnC,GAI3BkY,EAAKxqD,EAAa,GAATtL,EAAeT,KAAKgX,IAAIqnC,GACjCmY,EAAKxqD,EAAa,GAATvL,EAAeT,KAAK6W,IAAIwnC,GAGjCoY,EAAKJ,EAAK51D,EAAS,EAAIT,KAAKgX,IAAIqnC,EAAQ,GAAMr+C,KAAKqkB,IACnDqyC,EAAKJ,EAAK71D,EAAS,EAAIT,KAAK6W,IAAIwnC,EAAQ,GAAMr+C,KAAKqkB,IAGnDsyC,EAAKN,EAAK51D,EAAS,EAAIT,KAAKgX,IAAIqnC,EAAQ,GAAMr+C,KAAKqkB,IACnDuyC,EAAKN,EAAK71D,EAAS,EAAIT,KAAK6W,IAAIwnC,EAAQ,GAAMr+C,KAAKqkB,GAEvDlpB,MAAKklB,YACLllB,KAAKmlB,OAAOvU,EAAGC,GACf7Q,KAAKolB,OAAOk2C,EAAIC,GAChBv7D,KAAKolB,OAAOg2C,EAAIC,GAChBr7D,KAAKolB,OAAOo2C,EAAIC,GAChBz7D,KAAKulB,aASPu0C,yBAAyB9nD,UAAU84C,WAAa,SAASl6C,EAAEC,EAAE66C,EAAGC,EAAG+P,GAC5DA,IAAWA,GAAW,GAAG,IACd,GAAZC,IAAeA,EAAa,KAChC,IAAIC,GAAYF,EAAUp2D,MAC1BtF,MAAKmlB,OAAOvU,EAAGC,EAKf,KAJA,GAAIqL,GAAMwvC,EAAG96C,EAAIuL,EAAMwvC,EAAG96C,EACtBgrD,EAAQ1/C,EAAGD,EACX4/C,EAAgBj3D,KAAKyoB,KAAMpR,EAAGA,EAAKC,EAAGA,GACtC4/C,EAAU,EAAGnX,GAAK,EACfkX,GAAe,IAAI,CACxB,GAAIH,GAAaD,EAAUK,IAAYH,EACnCD,GAAaG,IAAeH,EAAaG,EAC7C,IAAI1iD,GAAQvU,KAAKyoB,KAAMquC,EAAWA,GAAc,EAAIE,EAAMA,GACnD,GAAH3/C,IAAM9C,GAASA,GACnBxI,GAAKwI,EACLvI,GAAKgrD,EAAMziD,EACXpZ,KAAK4kD,EAAO,SAAW,UAAUh0C,EAAEC,GACnCirD,GAAiBH,EACjB/W,GAAQA,MAUV,SAAS/kD,EAAQD,EAASM,GAE9B,GAAI87D,GAAe97D,EAAoB,IACnC+7D,EAAe/7D,EAAoB,IACnCg8D,EAAeh8D,EAAoB,IACnCi8D,EAAiBj8D,EAAoB,IACrCk8D,EAAoBl8D,EAAoB,IACxCm8D,EAAkBn8D,EAAoB,IACtCo8D,EAA0Bp8D,EAAoB,GAQlDN,GAAQ28D,WAAa,SAAUC,GAC7B,IAAK,GAAIC,KAAiBD,GACpBA,EAAe/2D,eAAeg3D,KAChCz8D,KAAKy8D,GAAiBD,EAAeC,KAY3C78D,EAAQ88D,YAAc,SAAUF,GAC9B,IAAK,GAAIC,KAAiBD,GACpBA,EAAe/2D,eAAeg3D,KAChCz8D,KAAKy8D,GAAiBt2D,SAW5BvG,EAAQ+5C,mBAAqB,WAC3B35C,KAAKu8D,WAAWP,GAChBh8D,KAAK28D,2BACkC,GAAnC38D,KAAKk5C,UAAUnD,kBACjB/1C,KAAK48D,6BAUTh9D,EAAQi6C,mBAAqB,WAC3B75C,KAAKuuD,eAAiB,EACtBvuD,KAAK68D,aAAe,EACpB78D,KAAKu8D,WAAWN,IASlBr8D,EAAQg6C,kBAAoB,WAC1B55C,KAAK+jD,WACL/jD,KAAK88D,cAAgB,WACrB98D,KAAK+jD,QAAgB,UACrB/jD,KAAK+jD,QAAgB,OAAE,YAAcrP,SACnCY,SACAgF,eACAuU,eAAkB,EAClBkO,YAAe52D,QACjBnG,KAAK+jD,QAAgB,UACrB/jD,KAAK+jD,QAAiB,SAAKrP,SACzBY,SACAgF,eACAuU,eAAkB,EAClBkO,YAAe52D,QAEjBnG,KAAKs6C,YAAct6C,KAAK+jD,QAAgB,OAAE,WAAwB,YAElE/jD,KAAKu8D,WAAWL,IASlBt8D,EAAQk6C,qBAAuB,WAC7B95C,KAAKygD,cAAgB/L,SAAWY,UAEhCt1C,KAAKu8D,WAAWJ,IASlBv8D,EAAQ++C,wBAA0B,WAEhC3+C,KAAKg9D,8BAA+B,EACpCh9D,KAAKi9D,sBAAuB,EAEmB,GAA3Cj9D,KAAKk5C,UAAUnB,iBAAiBhqC,SAEL5H,SAAzBnG,KAAKk9D,kBACPl9D,KAAKk9D,gBAAkB9sD,SAASM,cAAc,OAC9C1Q,KAAKk9D,gBAAgBv1D,UAAY,0BACjC3H,KAAKk9D,gBAAgB78D,GAAK,0BAExBL,KAAKk9D,gBAAgBjsD,MAAMyvB,QADR,GAAjB1gC,KAAKo+C,SAC8B,QAGA,OAEvCp+C,KAAK4c,MAAMtM,YAAYtQ,KAAKk9D,kBAGL/2D,SAArBnG,KAAKm9D,cACPn9D,KAAKm9D,YAAc/sD,SAASM,cAAc,OAC1C1Q,KAAKm9D,YAAYx1D,UAAY,gCAC7B3H,KAAKm9D,YAAY98D,GAAK,gCAEpBL,KAAKm9D,YAAYlsD,MAAMyvB,QADJ,GAAjB1gC,KAAKo+C,SAC0B,OAGA,QAEnCp+C,KAAK4c,MAAMtM,YAAYtQ,KAAKm9D,cAGRh3D,SAAlBnG,KAAKo9D,WACPp9D,KAAKo9D,SAAWhtD,SAASM,cAAc,OACvC1Q,KAAKo9D,SAASz1D,UAAY,gCAC1B3H,KAAKo9D,SAAS/8D,GAAK,gCACnBL,KAAKo9D,SAASnsD,MAAMyvB,QAAU1gC,KAAKk9D,gBAAgBjsD,MAAMyvB,QACzD1gC,KAAK4c,MAAMtM,YAAYtQ,KAAKo9D,WAI9Bp9D,KAAKu8D,WAAWH,GAGhBp8D,KAAK6/C,yBAGwB15C,SAAzBnG,KAAKk9D,kBAEPl9D,KAAK6/C,wBAEL7/C,KAAKuX,iBAAiBvH,YAAYhQ,KAAKk9D,iBACvCl9D,KAAKuX,iBAAiBvH,YAAYhQ,KAAKm9D,aACvCn9D,KAAKuX,iBAAiBvH,YAAYhQ,KAAKo9D,UAEvCp9D,KAAKk9D,gBAAkB/2D,OACvBnG,KAAKm9D,YAAch3D,OACnBnG,KAAKo9D,SAAWj3D,OAEhBnG,KAAK08D,YAAYN,KAWvBx8D,EAAQ8+C,wBAA0B,WAChC1+C,KAAKu8D,WAAWF,GAGhBr8D,KAAKq9D,mBACoC,GAArCr9D,KAAKk5C,UAAUtB,WAAW7pC,SAC5B/N,KAAKs9D,2BAUT19D,EAAQm6C,qBAAuB,WAC7B/5C,KAAKu8D,WAAWD,KAMd,SAASz8D,EAAQD,EAASM,GAiB9B,QAAS27C,GAAUxkC,GACjBrX,KAAK4nD,QAAS,EAEd5nD,KAAK0tB,KACHrW,UAAWA,GAGbrX,KAAK0tB,IAAI6vC,QAAUntD,SAASM,cAAc,OAC1C1Q,KAAK0tB,IAAI6vC,QAAQ51D,UAAY,UAE7B3H,KAAK0tB,IAAIrW,UAAU/G,YAAYtQ,KAAK0tB,IAAI6vC,SAExCv9D,KAAK0D,OAAS66B,EAAOv+B,KAAK0tB,IAAI6vC,SAAU9+B,iBAAiB,IACzDz+B,KAAK0D,OAAOuO,GAAG,MAAOjS,KAAKw9D,cAAc/qC,KAAKzyB,MAG9C,IAAI6S,GAAK7S,KACLu3D,GACF,QAAS,QACT,YAAa,OACb,YAAa,OAAQ,UACrB,aAAc,iBAEhBA,GAAOpvD,QAAQ,SAAUiB,GACvByJ,EAAGnP,OAAOuO,GAAG7I,EAAO,SAAUA,GAC5BA,EAAMw1B,sBAKV5+B,KAAKy9D,aAAel/B,EAAOl3B,QAASo3B,iBAAiB,IACrDz+B,KAAKy9D,aAAaxrD,GAAG,MAAO,SAAU7I,GAE/Bs0D,EAAWt0D,EAAMG,OAAQ8N,IAC5BxE,EAAG8qD,eAKP39D,KAAK49D,YAAc59D,KAAK29D,WAAWlrC,KAAKzyB,MAiF1C,QAAS09D,GAAWh1D,EAASq1B,GAC3B,KAAOr1B,GAAS,CACd,GAAIA,IAAYq1B,EACd,OAAO,CAETr1B,GAAUA,EAAQgB,WAEpB,OAAO,EA9IT,GAAIiyC,GAAYz7C,EAAoB,IAChCma,EAAUna,EAAoB,IAC9Bq+B,EAASr+B,EAAoB,IAC7BS,EAAOT,EAAoB,EAuD/Bma,GAAQwhC,EAAU7pC,WAGlB6pC,EAAUzmB,QAAU,KAKpBymB,EAAU7pC,UAAUurB,QAAU,WAC5Bv9B,KAAK29D,aAGL39D,KAAK0tB,IAAI6vC,QAAQ7zD,WAAWsG,YAAYhQ,KAAK0tB,IAAI6vC,SAGjDv9D,KAAK0D,OAAS,KACd1D,KAAKy9D,aAAe,MAQtB5hB,EAAU7pC,UAAU6rD,SAAW,WAEzBhiB,EAAUzmB,SACZymB,EAAUzmB,QAAQuoC,aAEpB9hB,EAAUzmB,QAAUp1B,KAEpBA,KAAK4nD,QAAS,EACd5nD,KAAK0tB,IAAI6vC,QAAQtsD,MAAMyvB,QAAU,OACjC//B,EAAK+G,aAAa1H,KAAK0tB,IAAIrW,UAAW,cAEtCrX,KAAKqrB,KAAK,UACVrrB,KAAKqrB,KAAK,YAIVswB,EAAUlpB,KAAK,MAAOzyB,KAAK49D,cAO7B/hB,EAAU7pC,UAAU2rD,WAAa,WAC/B39D,KAAK4nD,QAAS,EACd5nD,KAAK0tB,IAAI6vC,QAAQtsD,MAAMyvB,QAAU,GACjC//B,EAAKqH,gBAAgBhI,KAAK0tB,IAAIrW,UAAW,cACzCskC,EAAUmiB,OAAO,MAAO99D,KAAK49D,aAE7B59D,KAAKqrB,KAAK,UACVrrB,KAAKqrB,KAAK,eAQZwwB,EAAU7pC,UAAUwrD,cAAgB,SAAUp0D,GAE5CpJ,KAAK69D,WACLz0D,EAAMw1B,mBAsBR/+B,EAAOD,QAAUi8C,GAKb,SAASh8C,GAeb,QAASwa,GAAQiG,GACf,MAAIA,GAAY4mC,EAAM5mC,GAAtB,OAWF,QAAS4mC,GAAM5mC,GACb,IAAK,GAAI9X,KAAO6R,GAAQrI,UACtBsO,EAAI9X,GAAO6R,EAAQrI,UAAUxJ,EAE/B,OAAO8X,GAxBTzgB,EAAOD,QAAUya,EAoCjBA,EAAQrI,UAAUC,GAClBoI,EAAQrI,UAAUvJ,iBAAmB,SAASW,EAAO0+B,GAInD,MAHA9nC,MAAK+9D,WAAa/9D,KAAK+9D,gBACtB/9D,KAAK+9D,WAAW30D,GAASpJ,KAAK+9D,WAAW30D,QACvCtB,KAAKggC,GACD9nC,MAaTqa,EAAQrI,UAAUgsD,KAAO,SAAS50D,EAAO0+B,GAIvC,QAAS71B,KACPgsD,EAAK7rD,IAAIhJ,EAAO6I,GAChB61B,EAAGlxB,MAAM5W,KAAMqF,WALjB,GAAI44D,GAAOj+D,IAUX,OATAA,MAAK+9D,WAAa/9D,KAAK+9D,eAOvB9rD,EAAG61B,GAAKA,EACR9nC,KAAKiS,GAAG7I,EAAO6I,GACRjS,MAaTqa,EAAQrI,UAAUI,IAClBiI,EAAQrI,UAAUksD,eAClB7jD,EAAQrI,UAAUmsD,mBAClB9jD,EAAQrI,UAAU/I,oBAAsB,SAASG,EAAO0+B,GAItD,GAHA9nC,KAAK+9D,WAAa/9D,KAAK+9D,eAGnB,GAAK14D,UAAUC,OAEjB,MADAtF,MAAK+9D,cACE/9D,IAIT,IAAIo+D,GAAYp+D,KAAK+9D,WAAW30D,EAChC,KAAKg1D,EAAW,MAAOp+D,KAGvB,IAAI,GAAKqF,UAAUC,OAEjB,aADOtF,MAAK+9D,WAAW30D,GAChBpJ,IAKT,KAAK,GADDq+D,GACKl5D,EAAI,EAAGA,EAAIi5D,EAAU94D,OAAQH,IAEpC,GADAk5D,EAAKD,EAAUj5D,GACXk5D,IAAOv2B,GAAMu2B,EAAGv2B,KAAOA,EAAI,CAC7Bs2B,EAAUl2D,OAAO/C,EAAG,EACpB,OAGJ,MAAOnF,OAWTqa,EAAQrI,UAAUqZ,KAAO,SAASjiB,GAChCpJ,KAAK+9D,WAAa/9D,KAAK+9D,cACvB,IAAIvG,MAAU5gC,MAAMr2B,KAAK8E,UAAW,GAChC+4D,EAAYp+D,KAAK+9D,WAAW30D,EAEhC,IAAIg1D,EAAW,CACbA,EAAYA,EAAUxnC,MAAM,EAC5B,KAAK,GAAIzxB,GAAI,EAAGC,EAAMg5D,EAAU94D,OAAYF,EAAJD,IAAWA,EACjDi5D,EAAUj5D,GAAGyR,MAAM5W,KAAMw3D,GAI7B,MAAOx3D,OAWTqa,EAAQrI,UAAUslD,UAAY,SAASluD,GAErC,MADApJ,MAAK+9D,WAAa/9D,KAAK+9D,eAChB/9D,KAAK+9D,WAAW30D,QAWzBiR,EAAQrI,UAAUssD,aAAe,SAASl1D,GACxC,QAAUpJ,KAAKs3D,UAAUluD,GAAO9D,SAM9B,SAASzF,GA8MX,QAAS0+D,GAAU36D,EAAQ6C,EAAM2B,GAC7B,MAAIxE,GAAO6E,iBACA7E,EAAO6E,iBAAiBhC,EAAM2B,GAAU,OAGnDxE,GAAOoF,YAAY,KAAOvC,EAAM2B,GASpC,QAASo2D,GAAoBpyD,GAGzB,MAAc,YAAVA,EAAE3F,KACK1C,OAAO06D,aAAaryD,EAAE2d,OAI7B20C,EAAKtyD,EAAE2d,OACA20C,EAAKtyD,EAAE2d,OAGd40C,EAAavyD,EAAE2d,OACR40C,EAAavyD,EAAE2d,OAInBhmB,OAAO06D,aAAaryD,EAAE2d,OAAO48B,cASxC,QAASiY,GAAMxyD,GACX,GAAI1D,GAAU0D,EAAE7C,QAAU6C,EAAE5C,WACxBq1D,EAAWn2D,EAAQo2D,OAGvB,QAAK,IAAMp2D,EAAQf,UAAY,KAAKrB,QAAQ,eAAiB,IAClD,EAIQ,SAAZu4D,GAAmC,UAAZA,GAAoC,YAAZA,GAA2Bn2D,EAAQq2D,iBAA8C,QAA3Br2D,EAAQq2D,gBAUxH,QAASC,GAAgBC,EAAYC,GACjC,MAAOD,GAAWnqD,OAAO/M,KAAK,OAASm3D,EAAWpqD,OAAO/M,KAAK,KASlE,QAASo3D,GAAgBC,GACrBA,EAAeA,KAEf,IACI52D,GADA62D,GAAmB,CAGvB,KAAK72D,IAAO82D,GACJF,EAAa52D,GACb62D,GAAmB,EAGvBC,EAAiB92D,GAAO,CAGvB62D,KACDE,GAAmB,GAe3B,QAASC,GAAYC,EAAWC,EAAW/2D,EAAQsM,EAAQ0qD,GACvD,GAAIx6D,GACAiD,EACAw3D,IAGJ,KAAK7B,EAAW0B,GACZ,QAUJ,KANc,SAAV92D,GAAqBk3D,EAAYJ,KACjCC,GAAaD,IAKZt6D,EAAI,EAAGA,EAAI44D,EAAW0B,GAAWn6D,SAAUH,EAC5CiD,EAAW21D,EAAW0B,GAAWt6D,GAI7BiD,EAAS03D,KAAOR,EAAiBl3D,EAAS03D,MAAQ13D,EAASgtC,OAM3DzsC,GAAUP,EAASO,SAOT,YAAVA,GAAwBq2D,EAAgBU,EAAWt3D,EAASs3D,cAIxDzqD,GAAU7M,EAAS23D,OAASJ,GAC5B5B,EAAW0B,GAAWv3D,OAAO/C,EAAG,GAGpCy6D,EAAQ93D,KAAKM,GAIrB,OAAOw3D,GASX,QAASI,GAAgB5zD,GACrB,GAAIszD,KAkBJ,OAhBItzD,GAAEs+B,UACFg1B,EAAU53D,KAAK,SAGfsE,EAAE6zD,QACFP,EAAU53D,KAAK,OAGfsE,EAAEo+B,SACFk1B,EAAU53D,KAAK,QAGfsE,EAAE8zD,SACFR,EAAU53D,KAAK,QAGZ43D,EAaX,QAASS,GAAc/3D,EAAUgE,GACzBhE,EAASgE,MAAO,IACZA,EAAEjD,gBACFiD,EAAEjD,iBAGFiD,EAAEwyB,iBACFxyB,EAAEwyB,kBAGNxyB,EAAE/C,aAAc,EAChB+C,EAAEg0D,cAAe,GAWzB,QAASC,GAAiBZ,EAAWrzD,GAGjC,IAAIwyD,EAAMxyD,GAAV,CAIA,GACIjH,GADAi5D,EAAYoB,EAAYC,EAAWO,EAAgB5zD,GAAIA,EAAE3F,MAEzD24D,KACAkB,GAA8B,CAGlC,KAAKn7D,EAAI,EAAGA,EAAIi5D,EAAU94D,SAAUH,EAO5Bi5D,EAAUj5D,GAAG26D,KACbQ,GAA8B,EAG9BlB,EAAahB,EAAUj5D,GAAG26D,KAAO,EACjCK,EAAc/B,EAAUj5D,GAAGiD,SAAUgE,IAMpCk0D,GAAgCf,GACjCY,EAAc/B,EAAUj5D,GAAGiD,SAAUgE,EAOzCA,GAAE3F,MAAQ84D,GAAqBM,EAAYJ,IAC3CN,EAAgBC,IAUxB,QAASmB,GAAWn0D,GAIhBA,EAAE2d,MAA0B,gBAAX3d,GAAE2d,MAAoB3d,EAAE2d,MAAQ3d,EAAEo0D,OAEnD,IAAIf,GAAYjB,EAAoBpyD,EAGpC,IAAKqzD,EAIL,MAAc,SAAVrzD,EAAE3F,MAAmBg6D,GAAsBhB,OAC3CgB,GAAqB,OAIzBJ,GAAiBZ,EAAWrzD,GAShC,QAASyzD,GAAYr3D,GACjB,MAAc,SAAPA,GAAyB,QAAPA,GAAwB,OAAPA,GAAuB,QAAPA,EAW9D,QAASk4D,KACLh1C,aAAai1C,GACbA,EAAe50C,WAAWozC,EAAiB,KAS/C,QAASyB,KACL,IAAKC,EAAc,CACfA,IACA,KAAK,GAAIr4D,KAAOk2D,GAIRl2D,EAAM,IAAY,IAANA,GAIZk2D,EAAKj5D,eAAe+C,KACpBq4D,EAAanC,EAAKl2D,IAAQA,GAItC,MAAOq4D,GAUX,QAASC,GAAgBt4D,EAAKk3D,EAAW/2D,GAcrC,MAVKA,KACDA,EAASi4D,IAAiBp4D,GAAO,UAAY,YAKnC,YAAVG,GAAwB+2D,EAAUp6D,SAClCqD,EAAS,WAGNA,EAYX,QAASo4D,GAAchB,EAAOzqD,EAAMlN,EAAUO,GAI1C22D,EAAiBS,GAAS,EAIrBp3D,IACDA,EAASm4D,EAAgBxrD,EAAK,OAUlC,IA2BInQ,GA3BA67D,EAAoB,WAChBzB,EAAmB52D,IACjB22D,EAAiBS,GACnBW,KAUJO,EAAoB,SAAS70D,GACzB+zD,EAAc/3D,EAAUgE,GAKT,UAAXzD,IACA83D,EAAqBjC,EAAoBpyD,IAK7C2f,WAAWozC,EAAiB,IAOpC,KAAKh6D,EAAI,EAAGA,EAAImQ,EAAKhQ,SAAUH,EAC3B+7D,EAAY5rD,EAAKnQ,GAAIA,EAAImQ,EAAKhQ,OAAS,EAAI07D,EAAoBC,EAAmBt4D,EAAQo3D,EAAO56D,GAczG,QAAS+7D,GAAYvB,EAAav3D,EAAUO,EAAQw4D,EAAe/rB,GAG/DuqB,EAAcA,EAAY3zD,QAAQ,OAAQ,IAE1C,IACI7G,GACAqD,EACA8M,EAHA8rD,EAAWzB,EAAY93D,MAAM,KAI7B63D,IAIJ,IAAI0B,EAAS97D,OAAS,EAClB,MAAOy7D,GAAcpB,EAAayB,EAAUh5D,EAAUO,EAO1D,KAFA2M,EAAuB,MAAhBqqD,GAAuB,KAAOA,EAAY93D,MAAM,KAElD1C,EAAI,EAAGA,EAAImQ,EAAKhQ,SAAUH,EAC3BqD,EAAM8M,EAAKnQ,GAGPk8D,EAAiB74D,KACjBA,EAAM64D,EAAiB74D,IAMvBG,GAAoB,YAAVA,GAAwB24D,EAAW94D,KAC7CA,EAAM84D,EAAW94D,GACjBk3D,EAAU53D,KAAK,UAIf+3D,EAAYr3D,IACZk3D,EAAU53D,KAAKU,EAMvBG,GAASm4D,EAAgBt4D,EAAKk3D,EAAW/2D,GAIpCo1D,EAAWv1D,KACZu1D,EAAWv1D,OAIfg3D,EAAYh3D,EAAKk3D,EAAW/2D,GAASw4D,EAAexB,GAQpD5B,EAAWv1D,GAAK24D,EAAgB,UAAY,SACxC/4D,SAAUA,EACVs3D,UAAWA,EACX/2D,OAAQA,EACRm3D,IAAKqB,EACL/rB,MAAOA,EACP2qB,MAAOJ,IAYf,QAAS4B,GAAcC,EAAcp5D,EAAUO,GAC3C,IAAK,GAAIxD,GAAI,EAAGA,EAAIq8D,EAAal8D,SAAUH,EACvC+7D,EAAYM,EAAar8D,GAAIiD,EAAUO,GAjhB/C,IAAK,GAlDDk4D,GA6BAF,EArIAjC,GACI+C,EAAG,YACHC,EAAG,MACHC,GAAI,QACJC,GAAI,QACJC,GAAI,OACJC,GAAI,MACJC,GAAI,WACJC,GAAI,MACJC,GAAI,QACJC,GAAI,SACJC,GAAI,WACJC,GAAI,MACJC,GAAI,OACJC,GAAI,OACJC,GAAI,KACJC,GAAI,QACJC,GAAI,OACJC,GAAI,MACJC,GAAI,MACJC,GAAI,OACJC,GAAI,OACJC,IAAK,QAWTnE,GACIoE,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAM,IACNC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KAaTxC,GACIyC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,EAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,EAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAM,IACNC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,MAST5D,GACI13D,OAAU,MACVu7D,QAAW,OACXC,SAAU,QACVC,OAAU,OAiBdrH,KAOAsH,KAQA/F,KAcAmB,GAAqB,EAQrBlB,GAAmB,EAMdp6D,EAAI,EAAO,GAAJA,IAAUA,EACtBu5D,EAAK,IAAMv5D,GAAK,IAAMA,CAM1B,KAAKA,EAAI,EAAQ,GAALA,IAAUA,EAClBu5D,EAAKv5D,EAAI,IAAMA,CA8gBnBo5D,GAAUnuD,SAAU,WAAYmwD,GAChChC,EAAUnuD,SAAU,UAAWmwD,GAC/BhC,EAAUnuD,SAAU,QAASmwD,EAE7B,IAAI5kB,IAiBAlpB,KAAM,SAASnd,EAAMlN,EAAUO,GAG3B,MAFA44D,GAAcjsD,YAAgB1P,OAAQ0P,GAAQA,GAAOlN,EAAUO,GAC/D08D,EAAY/vD,EAAO,IAAM3M,GAAUP,EAC5BpI,MAoBX89D,OAAQ,SAASxoD,EAAM3M,GAKnB,MAJI08D,GAAY/vD,EAAO,IAAM3M,WAClB08D,GAAY/vD,EAAO,IAAM3M,GAChC3I,KAAKyyB,KAAKnd,EAAM,aAAe3M,IAE5B3I,MAUXslE,QAAS,SAAShwD,EAAM3M,GAEpB,MADA08D,GAAY/vD,EAAO,IAAM3M,KAClB3I,MAUXk/C,MAAO,WAGH,MAFA6e,MACAsH,KACOrlE,MAIjBH,GAAOD,QAAU+7C,GAMb,SAAS97C,EAAQD,EAASM,GAE9B,GAAIqlE,IAA0D,SAASC,EAAQ3lE,IAM/E,SAAWsG,GA0RP,QAASs/D,GAAIvgE,EAAGa,EAAGtF,GACf,OAAQ4E,UAAUC,QACd,IAAK,GAAG,MAAY,OAALJ,EAAYA,EAAIa,CAC/B,KAAK,GAAG,MAAY,OAALb,EAAYA,EAAS,MAALa,EAAYA,EAAItF,CAC/C,SAAS,KAAM,IAAI+C,OAAM,iBAIjC,QAASkiE,GAAWxgE,EAAGa,GACnB,MAAON,IAAelF,KAAK2E,EAAGa,GAGlC,QAAS4/D,KAGL,OACIC,OAAQ,EACRC,gBACAC,eACA3kD,SAAW,GACX4kD,cAAgB,EAChBC,WAAY,EACZC,aAAe,KACfC,eAAgB,EAChBC,iBAAkB,EAClBC,KAAK,GAIb,QAASC,GAASC,GACV7iE,GAAO8iE,+BAAgC,GAChB,mBAAZx3D,UAA2BA,QAAQy3D,MAC9Cz3D,QAAQy3D,KAAK,wBAA0BF,GAI/C,QAASG,GAAUH,EAAKx+B,GACpB,GAAI4+B,IAAY,CAChB,OAAOzhE,GAAO,WAKV,MAJIyhE,KACAL,EAASC,GACTI,GAAY,GAET5+B,EAAGlxB,MAAM5W,KAAMqF,YACvByiC,GAGP,QAAS6+B,GAAgB9xD,EAAMyxD,GACtBM,GAAa/xD,KACdwxD,EAASC,GACTM,GAAa/xD,IAAQ,GAI7B,QAASgyD,GAASC,EAAMjxD,GACpB,MAAO,UAAU3Q,GACb,MAAO6hE,GAAaD,EAAKvmE,KAAKP,KAAMkF,GAAI2Q,IAGhD,QAASmxD,GAAgBF,EAAMG,GAC3B,MAAO,UAAU/hE,GACb,MAAOlF,MAAKknE,aAAaC,QAAQL,EAAKvmE,KAAKP,KAAMkF,GAAI+hE,IAmB7D,QAASG,MAIT,QAASC,GAAOC,EAAQC,GAChBA,KAAiB,GACjBC,EAAcF,GAElBG,EAAWznE,KAAMsnE,GACjBtnE,KAAK0nE,GAAK,GAAIzjE,OAAMqjE,EAAOI,IAI/B,QAASC,GAASn4D,GACd,GAAIo4D,GAAkBC,EAAqBr4D,GACvCs4D,EAAQF,EAAgBzqC,MAAQ,EAChC4qC,EAAWH,EAAgBI,SAAW,EACtCC,EAASL,EAAgBM,OAAS,EAClCC,EAAQP,EAAgBQ,MAAQ,EAChCC,EAAOT,EAAgBU,KAAO,EAC9BvxC,EAAQ6wC,EAAgBW,MAAQ,EAChCvxC,EAAU4wC,EAAgBY,QAAU,EACpCvxC,EAAU2wC,EAAgBa,QAAU,EACpCvxC,EAAe0wC,EAAgBc,aAAe,CAGlD1oE,MAAK2oE,eAAiBzxC,EACR,IAAVD,EACU,IAAVD,EACQ,KAARD,EAGJ/2B,KAAK4oE,OAASP,EACF,EAARF,EAIJnoE,KAAK6oE,SAAWZ,EACD,EAAXF,EACQ,GAARD,EAEJ9nE,KAAK0R,SAEL1R,KAAK8oE,QAAUrlE,GAAOyjE,aAEtBlnE,KAAK+oE,UAQT,QAAS9jE,GAAOC,EAAGa,GACf,IAAK,GAAIZ,KAAKY,GACN2/D,EAAW3/D,EAAGZ,KACdD,EAAEC,GAAKY,EAAEZ,GAYjB,OARIugE,GAAW3/D,EAAG,cACdb,EAAEF,SAAWe,EAAEf,UAGf0gE,EAAW3/D,EAAG,aACdb,EAAEyB,QAAUZ,EAAEY,SAGXzB,EAGX,QAASuiE,GAAW9gD,EAAID,GACpB,GAAIvhB,GAAGK,EAAMwjE,CAiCb,IA/BqC,mBAA1BtiD,GAAKuiD,mBACZtiD,EAAGsiD,iBAAmBviD,EAAKuiD,kBAER,mBAAZviD,GAAKwiD,KACZviD,EAAGuiD,GAAKxiD,EAAKwiD,IAEM,mBAAZxiD,GAAKyiD,KACZxiD,EAAGwiD,GAAKziD,EAAKyiD,IAEM,mBAAZziD,GAAK0iD,KACZziD,EAAGyiD,GAAK1iD,EAAK0iD,IAEW,mBAAjB1iD,GAAK2iD,UACZ1iD,EAAG0iD,QAAU3iD,EAAK2iD,SAEG,mBAAd3iD,GAAK4iD,OACZ3iD,EAAG2iD,KAAO5iD,EAAK4iD,MAEQ,mBAAhB5iD,GAAK6iD,SACZ5iD,EAAG4iD,OAAS7iD,EAAK6iD,QAEO,mBAAjB7iD,GAAK8iD,UACZ7iD,EAAG6iD,QAAU9iD,EAAK8iD,SAEE,mBAAb9iD,GAAK+iD,MACZ9iD,EAAG8iD,IAAM/iD,EAAK+iD,KAEU,mBAAjB/iD,GAAKoiD,UACZniD,EAAGmiD,QAAUpiD,EAAKoiD,SAGlBY,GAAiBpkE,OAAS,EAC1B,IAAKH,IAAKukE,IACNlkE,EAAOkkE,GAAiBvkE,GACxB6jE,EAAMtiD,EAAKlhB,GACQ,mBAARwjE,KACPriD,EAAGnhB,GAAQwjE,EAKvB,OAAOriD,GAGX,QAASgjD,GAASC,GACd,MAAa,GAATA,EACO/kE,KAAK+oC,KAAKg8B,GAEV/kE,KAAKC,MAAM8kE,GAM1B,QAAS7C,GAAa6C,EAAQC,EAAcC,GAIxC,IAHA,GAAIC,GAAS,GAAKllE,KAAKsjB,IAAIyhD,GACvBj9C,EAAOi9C,GAAU,EAEdG,EAAOzkE,OAASukE,GACnBE,EAAS,IAAMA,CAEnB,QAAQp9C,EAAQm9C,EAAY,IAAM,GAAM,KAAOC,EAGnD,QAASC,GAA0BC,EAAM1kE,GACrC,GAAI2kE,IAAOhzC,aAAc,EAAG+wC,OAAQ,EAUpC,OARAiC,GAAIjC,OAAS1iE,EAAM2iE,QAAU+B,EAAK/B,QACC,IAA9B3iE,EAAM43B,OAAS8sC,EAAK9sC,QACrB8sC,EAAK9yC,QAAQplB,IAAIm4D,EAAIjC,OAAQ,KAAKkC,QAAQ5kE,MACxC2kE,EAAIjC,OAGViC,EAAIhzC,cAAgB3xB,GAAU0kE,EAAK9yC,QAAQplB,IAAIm4D,EAAIjC,OAAQ,KAEpDiC,EAGX,QAASE,GAAkBH,EAAM1kE,GAC7B,GAAI2kE,EAUJ,OATA3kE,GAAQ8kE,EAAO9kE,EAAO0kE,GAClBA,EAAKK,SAAS/kE,GACd2kE,EAAMF,EAA0BC,EAAM1kE,IAEtC2kE,EAAMF,EAA0BzkE,EAAO0kE,GACvCC,EAAIhzC,cAAgBgzC,EAAIhzC,aACxBgzC,EAAIjC,QAAUiC,EAAIjC,QAGfiC,EAIX,QAASK,GAAYnzC,EAAWviB,GAC5B,MAAO,UAAUm0D,EAAK/B,GAClB,GAAIuD,GAAKC,CAUT,OARe,QAAXxD,GAAoB5iE,OAAO4iE,KAC3BN,EAAgB9xD,EAAM,YAAcA,EAAQ,uDAAyDA,EAAO,qBAC5G41D,EAAMzB,EAAKA,EAAM/B,EAAQA,EAASwD,GAGtCzB,EAAqB,gBAARA,IAAoBA,EAAMA,EACvCwB,EAAM/mE,GAAO+L,SAASw5D,EAAK/B,GAC3ByD,EAAgC1qE,KAAMwqE,EAAKpzC,GACpCp3B,MAIf,QAAS0qE,GAAgCC,EAAKn7D,EAAUo7D,EAAUC,GAC9D,GAAI3zC,GAAe1nB,EAASm5D,cACxBN,EAAO74D,EAASo5D,MAChBX,EAASz4D,EAASq5D,OACtBgC,GAA+B,MAAhBA,GAAuB,EAAOA,EAEzC3zC,GACAyzC,EAAIjD,GAAGoD,SAASH,EAAIjD,GAAKxwC,EAAe0zC,GAExCvC,GACA0C,GAAUJ,EAAK,OAAQK,GAAUL,EAAK,QAAUtC,EAAOuC,GAEvD3C,GACAgD,GAAeN,EAAKK,GAAUL,EAAK,SAAW1C,EAAS2C,GAEvDC,GACApnE,GAAOonE,aAAaF,EAAKtC,GAAQJ,GAKzC,QAASpiE,GAAQqlE,GACb,MAAiD,mBAA1ChlE,OAAO8L,UAAUhN,SAASzE,KAAK2qE,GAG1C,QAASlnE,GAAOknE,GACZ,MAAiD,kBAA1ChlE,OAAO8L,UAAUhN,SAASzE,KAAK2qE,IAClCA,YAAiBjnE,MAIzB,QAASknE,GAAcjW,EAAQC,EAAQiW,GACnC,GAGIjmE,GAHAC,EAAMP,KAAKwG,IAAI6pD,EAAO5vD,OAAQ6vD,EAAO7vD,QACrC+lE,EAAaxmE,KAAKsjB,IAAI+sC,EAAO5vD,OAAS6vD,EAAO7vD,QAC7CgmE,EAAQ,CAEZ,KAAKnmE,EAAI,EAAOC,EAAJD,EAASA,KACZimE,GAAelW,EAAO/vD,KAAOgwD,EAAOhwD,KACnCimE,GAAeG,EAAMrW,EAAO/vD,MAAQomE,EAAMpW,EAAOhwD,MACnDmmE,GAGR,OAAOA,GAAQD,EAGnB,QAASG,GAAeC,GACpB,GAAIA,EAAO,CACP,GAAIC,GAAUD,EAAM9kB,cAAc36C,QAAQ,QAAS,KACnDy/D,GAAQE,GAAYF,IAAUG,GAAeF,IAAYA,EAE7D,MAAOD,GAGX,QAAS5D,GAAqBgE,GAC1B,GACIC,GACAtmE,EAFAoiE,IAIJ,KAAKpiE,IAAQqmE,GACLnG,EAAWmG,EAAarmE,KACxBsmE,EAAiBN,EAAehmE,GAC5BsmE,IACAlE,EAAgBkE,GAAkBD,EAAYrmE,IAK1D,OAAOoiE,GAGX,QAASmE,GAAS59D,GACd,GAAI0H,GAAOm2D,CAEX,IAA8B,IAA1B79D,EAAM7H,QAAQ,QACduP,EAAQ,EACRm2D,EAAS,UAER,CAAA,GAA+B,IAA3B79D,EAAM7H,QAAQ,SAKnB,MAJAuP,GAAQ,GACRm2D,EAAS,QAMbvoE,GAAO0K,GAAS,SAAUkvB,EAAQp1B,GAC9B,GAAI9C,GAAG8mE,EACHC,EAASzoE,GAAOqlE,QAAQ36D,GACxBg+D,IAYJ,IAVsB,gBAAX9uC,KACPp1B,EAAQo1B,EACRA,EAASl3B,GAGb8lE,EAAS,SAAU9mE,GACf,GAAI3E,GAAIiD,KAAS2oE,MAAMC,IAAIL,EAAQ7mE,EACnC,OAAO+mE,GAAO3rE,KAAKkD,GAAOqlE,QAAStoE,EAAG68B,GAAU,KAGvC,MAATp1B,EACA,MAAOgkE,GAAOhkE,EAGd,KAAK9C,EAAI,EAAO0Q,EAAJ1Q,EAAWA,IACnBgnE,EAAQrkE,KAAKmkE,EAAO9mE,GAExB,OAAOgnE,IAKnB,QAASZ,GAAMe,GACX,GAAIC,IAAiBD,EACjBtlE,EAAQ,CAUZ,OARsB,KAAlBulE,GAAuBC,SAASD,KAE5BvlE,EADAulE,GAAiB,EACT1nE,KAAKC,MAAMynE,GAEX1nE,KAAK+oC,KAAK2+B,IAInBvlE,EAGX,QAASylE,GAAYtvC,EAAM+qC,GACvB,MAAO,IAAIjkE,MAAKA,KAAKyoE,IAAIvvC,EAAM+qC,EAAQ,EAAG,IAAIyE,aAGlD,QAASC,GAAYzvC,EAAM0vC,EAAKC,GAC5B,MAAOC,IAAWtpE,IAAQ05B,EAAM,GAAI,GAAK0vC,EAAMC,IAAOD,EAAKC,GAAK1E,KAGpE,QAAS4E,GAAW7vC,GAChB,MAAO8vC,GAAW9vC,GAAQ,IAAM,IAGpC,QAAS8vC,GAAW9vC,GAChB,MAAQA,GAAO,IAAM,GAAKA,EAAO,MAAQ,GAAMA,EAAO,MAAQ,EAGlE,QAASqqC,GAAchnE,GACnB,GAAI2gB,EACA3gB,GAAE0sE,IAAyB,KAAnB1sE,EAAEipE,IAAItoD,WACdA,EACI3gB,EAAE0sE,GAAG7xC,IAAS,GAAK76B,EAAE0sE,GAAG7xC,IAAS,GAAKA,GACtC76B,EAAE0sE,GAAGC,IAAQ,GAAK3sE,EAAE0sE,GAAGC,IAAQV,EAAYjsE,EAAE0sE,GAAG5xC,IAAO96B,EAAE0sE,GAAG7xC,KAAU8xC,GACtE3sE,EAAE0sE,GAAG/xC,IAAQ,GAAK36B,EAAE0sE,GAAG/xC,IAAQ,GAAKA,GACpC36B,EAAE0sE,GAAGhyC,IAAU,GAAK16B,EAAE0sE,GAAGhyC,IAAU,GAAKA,GACxC16B,EAAE0sE,GAAGjyC,IAAU,GAAKz6B,EAAE0sE,GAAGjyC,IAAU,GAAKA,GACxCz6B,EAAE0sE,GAAGlyC,IAAe,GAAKx6B,EAAE0sE,GAAGlyC,IAAe,IAAMA,GACnD,GAEAx6B,EAAEipE,IAAI2D,qBAAkC9xC,GAAXna,GAAmBA,EAAWgsD,MAC3DhsD,EAAWgsD,IAGf3sE,EAAEipE,IAAItoD,SAAWA,GAIzB,QAASksD,GAAQ7sE,GAgBb,MAfkB,OAAdA,EAAE8sE,WACF9sE,EAAE8sE,UAAYjpE,MAAM7D,EAAEknE,GAAG6F,YACrB/sE,EAAEipE,IAAItoD,SAAW,IAChB3gB,EAAEipE,IAAI7D,QACNplE,EAAEipE,IAAIxD,eACNzlE,EAAEipE,IAAIzD,YACNxlE,EAAEipE,IAAIvD,gBACN1lE,EAAEipE,IAAItD,gBAEP3lE,EAAE6oE,UACF7oE,EAAE8sE,SAAW9sE,EAAE8sE,UACa,IAAxB9sE,EAAEipE,IAAI1D,eACwB,IAA9BvlE,EAAEipE,IAAI5D,aAAavgE,SAGxB9E,EAAE8sE,SAGb,QAASE,GAAgBhlE,GACrB,MAAOA,GAAMA,EAAIm+C,cAAc36C,QAAQ,IAAK,KAAOxD,EAMvD,QAASilE,GAAaC,GAGlB,IAFA,GAAWvkD,GAAGxD,EAAMmY,EAAQj2B,EAAxB1C,EAAI,EAEDA,EAAIuoE,EAAMpoE,QAAQ,CAKrB,IAJAuC,EAAQ2lE,EAAgBE,EAAMvoE,IAAI0C,MAAM,KACxCshB,EAAIthB,EAAMvC,OACVqgB,EAAO6nD,EAAgBE,EAAMvoE,EAAI,IACjCwgB,EAAOA,EAAOA,EAAK9d,MAAM,KAAO,KACzBshB,EAAI,GAAG,CAEV,GADA2U,EAAS6vC,EAAW9lE,EAAM+uB,MAAM,EAAGzN,GAAGphB,KAAK,MAEvC,MAAO+1B,EAEX,IAAInY,GAAQA,EAAKrgB,QAAU6jB,GAAKgiD,EAActjE,EAAO8d,GAAM,IAASwD,EAAI,EAEpE,KAEJA,KAEJhkB,IAEJ,MAAO,MAGX,QAASwoE,GAAW94D,GAChB,GAAI+4D,GAAY,IAChB,KAAK/vC,GAAQhpB,IAASg5D,GAClB,IACID,EAAYnqE,GAAOq6B,UACjB,WAAkC,GAAI1xB,GAAI,GAAI5I,OAAM,gCAAiE,MAA7B4I,GAAE0hE,KAAO,mBAA0B1hE,KAE7H3I,GAAOq6B,OAAO8vC,GAChB,MAAOxhE,IAEb,MAAOyxB,IAAQhpB,GAInB,QAASw1D,GAAOa,EAAO6C,GACnB,MAAOA,GAAMxE,OAAS9lE,GAAOynE,GAAO8C,KAAKD,EAAMvE,SAAW,GACtD/lE,GAAOynE,GAAO+C,QAoMtB,QAASC,GAAuBhD,GAC5B,MAAIA,GAAMhnE,MAAM,YACLgnE,EAAMl/D,QAAQ,WAAY,IAE9Bk/D,EAAMl/D,QAAQ,MAAO,IAGhC,QAASmiE,GAAmB9wC,GACxB,GAA4Cl4B,GAAGG,EAA3CgD,EAAQ+0B,EAAOn5B,MAAMkqE,GAEzB,KAAKjpE,EAAI,EAAGG,EAASgD,EAAMhD,OAAYA,EAAJH,EAAYA,IAEvCmD,EAAMnD,GADNkpE,GAAqB/lE,EAAMnD,IAChBkpE,GAAqB/lE,EAAMnD,IAE3B+oE,EAAuB5lE,EAAMnD,GAIhD,OAAO,UAAUwlE,GACb,GAAIZ,GAAS,EACb,KAAK5kE,EAAI,EAAOG,EAAJH,EAAYA,IACpB4kE,GAAUzhE,EAAMnD,YAAc4iC,UAAWz/B,EAAMnD,GAAG5E,KAAKoqE,EAAKttC,GAAU/0B,EAAMnD,EAEhF,OAAO4kE,IAKf,QAASuE,GAAa9tE,EAAG68B,GACrB,MAAK78B,GAAE6sE,WAIPhwC,EAASkxC,EAAalxC,EAAQ78B,EAAE0mE,cAE3BsH,GAAgBnxC,KACjBmxC,GAAgBnxC,GAAU8wC,EAAmB9wC,IAG1CmxC,GAAgBnxC,GAAQ78B,IATpBA,EAAE0mE,aAAauH,cAY9B,QAASF,GAAalxC,EAAQS,GAG1B,QAAS4wC,GAA4BxD,GACjC,MAAOptC,GAAO6wC,eAAezD,IAAUA,EAH3C,GAAI/lE,GAAI,CAOR,KADAypE,GAAsBC,UAAY,EAC3B1pE,GAAK,GAAKypE,GAAsBvhE,KAAKgwB,IACxCA,EAASA,EAAOrxB,QAAQ4iE,GAAuBF,GAC/CE,GAAsBC,UAAY,EAClC1pE,GAAK,CAGT,OAAOk4B,GAUX,QAASyxC,GAAsBlb,EAAO0T,GAClC,GAAIpiE,GAAGmvD,EAASiT,EAAO+B,OACvB,QAAQzV,GACR,IAAK,IACD,MAAOmb,GACX,KAAK,OACD,MAAOC,GACX,KAAK,OACL,IAAK,OACL,IAAK,OACD,MAAO3a,GAAS4a,GAAuBC,EAC3C,KAAK,IACL,IAAK,IACL,IAAK,IACD,MAAOC,GACX,KAAK,SACL,IAAK,QACL,IAAK,QACL,IAAK,QACD,MAAO9a,GAAS+a,GAAsBC,EAC1C,KAAK,IACD,GAAIhb,EACA,MAAO0a,GAGf,KAAK,KACD,GAAI1a,EACA,MAAOib,GAGf,KAAK,MACD,GAAIjb,EACA,MAAO2a,GAGf,KAAK,MACD,MAAOO,GACX,KAAK,MACL,IAAK,OACL,IAAK,KACL,IAAK,MACL,IAAK,OACD,MAAOC,GACX,KAAK,IACL,IAAK,IACD,MAAOlI,GAAOwB,QAAQ2G,cAC1B,KAAK,IACD,MAAOC,GACX,KAAK,IACL,IAAK,KACD,MAAOC,GACX,KAAK,IACD,MAAOC,GACX,KAAK,OACD,MAAOC,GACX,KAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACD,MAAOxb,GAASib,GAAsBQ,EAC1C,KAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACD,MAAOA,GACX,KAAK,KACD,MAAOC,GACX,SAEI,MADA7qE,GAAI,GAAI8qE,QAAOC,GAAaC,GAAetc,EAAM5nD,QAAQ,KAAM,KAAM,OAK7E,QAASmkE,GAA0BC,GAC/BA,EAASA,GAAU,EACnB,IAAIC,GAAqBD,EAAOlsE,MAAMyrE,QAClCW,EAAUD,EAAkBA,EAAkB/qE,OAAS,OACvDirE,GAASD,EAAU,IAAIpsE,MAAMssE,MAA0B,IAAK,EAAG,GAC/Dx5C,IAAuB,GAAXu5C,EAAM,IAAWhF,EAAMgF,EAAM,GAE7C,OAAoB,MAAbA,EAAM,IAAcv5C,EAAUA,EAIzC,QAASy5C,GAAwB7c,EAAOsX,EAAO5D,GAC3C,GAAIpiE,GAAGwrE,EAAgBpJ,EAAO4F,EAE9B,QAAQtZ,GAER,IAAK,IACY,MAATsX,IACAwF,EAAcr1C,IAA8B,GAApBkwC,EAAML,GAAS,GAE3C,MAEJ,KAAK,IACL,IAAK,KACY,MAATA,IACAwF,EAAcr1C,IAASkwC,EAAML,GAAS,EAE1C,MACJ,KAAK,MACL,IAAK,OACDhmE,EAAIoiE,EAAOwB,QAAQ6H,YAAYzF,GAEtB,MAALhmE,EACAwrE,EAAcr1C,IAASn2B,EAEvBoiE,EAAOmC,IAAIxD,aAAeiF,CAE9B,MAEJ,KAAK,IACL,IAAK,KACY,MAATA,IACAwF,EAAcvD,IAAQ5B,EAAML,GAEhC,MACJ,KAAK,KACY,MAATA,IACAwF,EAAcvD,IAAQ5B,EAAMnjD,SAAS8iD,EAAO,KAEhD,MAEJ,KAAK,MACL,IAAK,OACY,MAATA,IACA5D,EAAOsJ,WAAarF,EAAML,GAG9B,MAEJ,KAAK,KACDwF,EAAcp1C,IAAQ73B,GAAOotE,kBAAkB3F,EAC/C,MACJ,KAAK,OACL,IAAK,QACL,IAAK,SACDwF,EAAcp1C,IAAQiwC,EAAML,EAC5B,MAEJ,KAAK,IACL,IAAK,IACD5D,EAAOwJ,MAAQxJ,EAAOwB,QAAQiI,KAAK7F,EACnC,MAEJ,KAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KACDwF,EAAcv1C,IAAQowC,EAAML,EAC5B,MAEJ,KAAK,IACL,IAAK,KACDwF,EAAcx1C,IAAUqwC,EAAML,EAC9B,MAEJ,KAAK,IACL,IAAK,KACDwF,EAAcz1C,IAAUswC,EAAML,EAC9B,MAEJ,KAAK,IACL,IAAK,KACL,IAAK,MACL,IAAK,OACDwF,EAAc11C,IAAeuwC,EAAuB,KAAhB,KAAOL,GAC3C,MAEJ,KAAK,IACD5D,EAAOI,GAAK,GAAIzjE,MAAyB,IAApB0e,WAAWuoD,GAChC,MAEJ,KAAK,IACL,IAAK,KACD5D,EAAO0J,SAAU,EACjB1J,EAAOgC,KAAO6G,EAA0BjF,EACxC,MAEJ,KAAK,KACL,IAAK,MACL,IAAK,OACDhmE,EAAIoiE,EAAOwB,QAAQmI,cAAc/F,GAExB,MAALhmE,GACAoiE,EAAO4J,GAAK5J,EAAO4J,OACnB5J,EAAO4J,GAAM,EAAIhsE,GAEjBoiE,EAAOmC,IAAI0H,eAAiBjG,CAEhC,MAEJ,KAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,KACL,IAAK,IACL,IAAK,IACL,IAAK,IACDtX,EAAQA,EAAMhpD,OAAO,EAAG,EAE5B,KAAK,OACL,IAAK,OACL,IAAK,QACDgpD,EAAQA,EAAMhpD,OAAO,EAAG,GACpBsgE,IACA5D,EAAO4J,GAAK5J,EAAO4J,OACnB5J,EAAO4J,GAAGtd,GAAS2X,EAAML,GAE7B,MACJ,KAAK,KACL,IAAK,KACD5D,EAAO4J,GAAK5J,EAAO4J,OACnB5J,EAAO4J,GAAGtd,GAASnwD,GAAOotE,kBAAkB3F,IAIpD,QAASkG,GAAsB9J,GAC3B,GAAIrjB,GAAGotB,EAAUjJ,EAAMkJ,EAASzE,EAAKC,EAAKyE,CAE1CttB,GAAIqjB,EAAO4J,GACC,MAARjtB,EAAEutB,IAAqB,MAAPvtB,EAAEwtB,GAAoB,MAAPxtB,EAAEytB,GACjC7E,EAAM,EACNC,EAAM,EAMNuE,EAAW5L,EAAIxhB,EAAEutB,GAAIlK,EAAO4F,GAAG5xC,IAAOyxC,GAAWtpE,KAAU,EAAG,GAAG05B,MACjEirC,EAAO3C,EAAIxhB,EAAEwtB,EAAG,GAChBH,EAAU7L,EAAIxhB,EAAEytB,EAAG,KAEnB7E,EAAMvF,EAAOwB,QAAQ6I,MAAM9E,IAC3BC,EAAMxF,EAAOwB,QAAQ6I,MAAM7E,IAE3BuE,EAAW5L,EAAIxhB,EAAE2tB,GAAItK,EAAO4F,GAAG5xC,IAAOyxC,GAAWtpE,KAAUopE,EAAKC,GAAK3vC,MACrEirC,EAAO3C,EAAIxhB,EAAEA,EAAG,GAEL,MAAPA,EAAE93C,GAEFmlE,EAAUrtB,EAAE93C,EACE0gE,EAAVyE,KACElJ,GAINkJ,EAFc,MAAPrtB,EAAE73C,EAEC63C,EAAE73C,EAAIygE,EAGNA,GAGlB0E,EAAOM,GAAmBR,EAAUjJ,EAAMkJ,EAASxE,EAAKD,GAExDvF,EAAO4F,GAAG5xC,IAAQi2C,EAAKp0C,KACvBmqC,EAAOsJ,WAAaW,EAAKO,UAO7B,QAASC,GAAezK,GACpB,GAAIniE,GAAG+3B,EAAkB80C,EAAaC,EAAzB/G,IAEb,KAAI5D,EAAOI,GAAX,CA6BA,IAzBAsK,EAAcE,EAAiB5K,GAG3BA,EAAO4J,IAAyB,MAAnB5J,EAAO4F,GAAGC,KAAqC,MAApB7F,EAAO4F,GAAG7xC,KAClD+1C,EAAsB9J,GAItBA,EAAOsJ,aACPqB,EAAYxM,EAAI6B,EAAO4F,GAAG5xC,IAAO02C,EAAY12C,KAEzCgsC,EAAOsJ,WAAa5D,EAAWiF,KAC/B3K,EAAOmC,IAAI2D,oBAAqB,GAGpClwC,EAAOi1C,GAAYF,EAAW,EAAG3K,EAAOsJ,YACxCtJ,EAAO4F,GAAG7xC,IAAS6B,EAAKk1C,cACxB9K,EAAO4F,GAAGC,IAAQjwC,EAAKyvC,cAQtBxnE,EAAI,EAAO,EAAJA,GAAyB,MAAhBmiE,EAAO4F,GAAG/nE,KAAcA,EACzCmiE,EAAO4F,GAAG/nE,GAAK+lE,EAAM/lE,GAAK6sE,EAAY7sE,EAI1C,MAAW,EAAJA,EAAOA,IACVmiE,EAAO4F,GAAG/nE,GAAK+lE,EAAM/lE,GAAsB,MAAhBmiE,EAAO4F,GAAG/nE,GAAqB,IAANA,EAAU,EAAI,EAAKmiE,EAAO4F,GAAG/nE,EAGrFmiE,GAAOI,IAAMJ,EAAO0J,QAAUmB,GAAcE,IAAUz7D,MAAM,KAAMs0D,GAG/C,MAAf5D,EAAOgC,MACPhC,EAAOI,GAAG4K,cAAchL,EAAOI,GAAG6K,gBAAkBjL,EAAOgC,OAInE,QAASkJ,GAAelL,GACpB,GAAIM,EAEAN,GAAOI,KAIXE,EAAkBC,EAAqBP,EAAO4B,IAC9C5B,EAAO4F,IACHtF,EAAgBzqC,KAChByqC,EAAgBM,MAChBN,EAAgBU,IAChBV,EAAgBW,KAChBX,EAAgBY,OAChBZ,EAAgBa,OAChBb,EAAgBc,aAGpBqJ,EAAezK,IAGnB,QAAS4K,GAAiB5K,GACtB,GAAIxwC,GAAM,GAAI7yB,KACd,OAAIqjE,GAAO0J,SAEHl6C,EAAI27C,iBACJ37C,EAAIs7C,cACJt7C,EAAI61C,eAGA71C,EAAI2E,cAAe3E,EAAIuF,WAAYvF,EAAIsF,WAKvD,QAASs2C,GAA4BpL,GACjC,GAAIA,EAAO6B,KAAO1lE,GAAOkvE,SAErB,WADAC,IAAStL,EAIbA,GAAO4F,MACP5F,EAAOmC,IAAI7D,OAAQ,CAGnB,IACIzgE,GAAG0tE,EAAaC,EAAQlf,EAAOmf,EAD/B3C,EAAS,GAAK9I,EAAO4B,GAErB8J,EAAe5C,EAAO9qE,OACtB2tE,EAAyB,CAI7B,KAFAH,EAASvE,EAAajH,EAAO6B,GAAI7B,EAAOwB,SAAS5kE,MAAMkqE,QAElDjpE,EAAI,EAAGA,EAAI2tE,EAAOxtE,OAAQH,IAC3ByuD,EAAQkf,EAAO3tE,GACf0tE,GAAezC,EAAOlsE,MAAM4qE,EAAsBlb,EAAO0T,SAAgB,GACrEuL,IACAE,EAAU3C,EAAOxlE,OAAO,EAAGwlE,EAAO9pE,QAAQusE,IACtCE,EAAQztE,OAAS,GACjBgiE,EAAOmC,IAAI3D,YAAYh+D,KAAKirE,GAEhC3C,EAASA,EAAOx5C,MAAMw5C,EAAO9pE,QAAQusE,GAAeA,EAAYvtE,QAChE2tE,GAA0BJ,EAAYvtE,QAGtC+oE,GAAqBza,IACjBif,EACAvL,EAAOmC,IAAI7D,OAAQ,EAGnB0B,EAAOmC,IAAI5D,aAAa/9D,KAAK8rD,GAEjC6c,EAAwB7c,EAAOif,EAAavL,IAEvCA,EAAO+B,UAAYwJ,GACxBvL,EAAOmC,IAAI5D,aAAa/9D,KAAK8rD,EAKrC0T,GAAOmC,IAAI1D,cAAgBiN,EAAeC,EACtC7C,EAAO9qE,OAAS,GAChBgiE,EAAOmC,IAAI3D,YAAYh+D,KAAKsoE,GAI5B9I,EAAOwJ,OAASxJ,EAAO4F,GAAG/xC,IAAQ,KAClCmsC,EAAO4F,GAAG/xC,KAAS,IAGnBmsC,EAAOwJ,SAAU,GAA6B,KAApBxJ,EAAO4F,GAAG/xC,MACpCmsC,EAAO4F,GAAG/xC,IAAQ,GAGtB42C,EAAezK,GACfE,EAAcF,GAGlB,QAAS4I,IAAe/kE,GACpB,MAAOA,GAAEa,QAAQ,sCAAuC,SAAUknE,EAAS3iC,EAAIC,EAAIC,EAAI0iC,GACnF,MAAO5iC,IAAMC,GAAMC,GAAM0iC,IAKjC,QAASlD,IAAa9kE,GAClB,MAAOA,GAAEa,QAAQ,yBAA0B,QAI/C,QAASonE,IAA2B9L,GAChC,GAAI+L,GACAC,EAEAC,EACApuE,EACAquE,CAEJ,IAAyB,IAArBlM,EAAO6B,GAAG7jE,OAGV,MAFAgiE,GAAOmC,IAAIvD,eAAgB,OAC3BoB,EAAOI,GAAK,GAAIzjE,MAAKwvE,KAIzB,KAAKtuE,EAAI,EAAGA,EAAImiE,EAAO6B,GAAG7jE,OAAQH,IAC9BquE,EAAe,EACfH,EAAa5L,KAAeH,GAC5B+L,EAAW5J,IAAM9D,IACjB0N,EAAWlK,GAAK7B,EAAO6B,GAAGhkE,GAC1ButE,EAA4BW,GAEvBhG,EAAQgG,KAKbG,GAAgBH,EAAW5J,IAAI1D,cAG/ByN,GAAqD,GAArCH,EAAW5J,IAAI5D,aAAavgE,OAE5C+tE,EAAW5J,IAAIiK,MAAQF,GAEJ,MAAfD,GAAsCA,EAAfC,KACvBD,EAAcC,EACdF,EAAaD,GAIrBpuE,GAAOqiE,EAAQgM,GAAcD,GAIjC,QAAST,IAAStL,GACd,GAAIniE,GAAGwuE,EACHvD,EAAS9I,EAAO4B,GAChBhlE,EAAQ0vE,GAASxvE,KAAKgsE,EAE1B,IAAIlsE,EAAO,CAEP,IADAojE,EAAOmC,IAAIrD,KAAM,EACZjhE,EAAI,EAAGwuE,EAAIE,GAASvuE,OAAYquE,EAAJxuE,EAAOA,IACpC,GAAI0uE,GAAS1uE,GAAG,GAAGf,KAAKgsE,GAAS,CAE7B9I,EAAO6B,GAAK0K,GAAS1uE,GAAG,IAAMjB,EAAM,IAAM,IAC1C,OAGR,IAAKiB,EAAI,EAAGwuE,EAAIG,GAASxuE,OAAYquE,EAAJxuE,EAAOA,IACpC,GAAI2uE,GAAS3uE,GAAG,GAAGf,KAAKgsE,GAAS,CAC7B9I,EAAO6B,IAAM2K,GAAS3uE,GAAG,EACzB,OAGJirE,EAAOlsE,MAAMyrE,MACbrI,EAAO6B,IAAM,KAEjBuJ,EAA4BpL,OAE5BA,GAAOgG,UAAW,EAK1B,QAASyG,IAAmBzM,GACxBsL,GAAStL,GACLA,EAAOgG,YAAa,UACbhG,GAAOgG,SACd7pE,GAAOuwE,wBAAwB1M,IAIvC,QAAS2M,IAAkB3M,GACvB,GAAuB4L,GAAnBhI,EAAQ5D,EAAO4B,EACfgC,KAAU/kE,EACVmhE,EAAOI,GAAK,GAAIzjE,MACTD,EAAOknE,GACd5D,EAAOI,GAAK,GAAIzjE,OAAMinE,GAC6B,QAA3CgI,EAAUgB,GAAgB9vE,KAAK8mE,IACvC5D,EAAOI,GAAK,GAAIzjE,OAAMivE,EAAQ,IACN,gBAAVhI,GACd6I,GAAmBzM,GACZzhE,EAAQqlE,IACf5D,EAAO4F,GAAKhC,EAAMt0C,MAAM,GACxBm7C,EAAezK,IACU,gBAAZ,GACbkL,EAAelL,GACU,gBAAZ,GAEbA,EAAOI,GAAK,GAAIzjE,MAAKinE,GAErBznE,GAAOuwE,wBAAwB1M,GAIvC,QAAS+K,IAASxhE,EAAGrQ,EAAG2L,EAAGjB,EAAGgmC,EAAG/lC,EAAGgpE,GAGhC,GAAIj3C,GAAO,GAAIj5B,MAAK4M,EAAGrQ,EAAG2L,EAAGjB,EAAGgmC,EAAG/lC,EAAGgpE,EAMtC,OAHQ,MAAJtjE,GACAqsB,EAAK1B,YAAY3qB,GAEdqsB,EAGX,QAASi1C,IAAYthE,GACjB,GAAIqsB,GAAO,GAAIj5B,MAAKA,KAAKyoE,IAAI91D,MAAM,KAAMvR,WAIzC,OAHQ,MAAJwL,GACAqsB,EAAKk3C,eAAevjE,GAEjBqsB,EAGX,QAASm3C,IAAanJ,EAAOptC,GACzB,GAAqB,gBAAVotC,GACP,GAAK7mE,MAAM6mE,IAKP,GADAA,EAAQptC,EAAOmzC,cAAc/F,GACR,gBAAVA,GACP,MAAO,UALXA,GAAQ9iD,SAAS8iD,EAAO,GAShC,OAAOA,GASX,QAASoJ,IAAkBlE,EAAQxG,EAAQ2K,EAAeC,EAAU12C,GAChE,MAAOA,GAAO22C,aAAa7K,GAAU,IAAK2K,EAAenE,EAAQoE,GAGrE,QAASC,IAAaC,EAAgBH,EAAez2C,GACjD,GAAItuB,GAAW/L,GAAO+L,SAASklE,GAAgBvsD,MAC3C8O,EAAU9L,GAAM3b,EAASod,GAAG,MAC5BoK,EAAU7L,GAAM3b,EAASod,GAAG,MAC5BmK,EAAQ5L,GAAM3b,EAASod,GAAG,MAC1By7C,EAAOl9C,GAAM3b,EAASod,GAAG,MACzBq7C,EAAS98C,GAAM3b,EAASod,GAAG,MAC3Bk7C,EAAQ38C,GAAM3b,EAASod,GAAG,MAE1B4qC,EAAOvgC,EAAU09C,GAAuBxpE,IAAM,IAAK8rB,IACnC,IAAZD,IAAkB,MAClBA,EAAU29C,GAAuBn0E,IAAM,KAAMw2B,IACnC,IAAVD,IAAgB,MAChBA,EAAQ49C,GAAuBzpE,IAAM,KAAM6rB,IAClC,IAATsxC,IAAe,MACfA,EAAOsM,GAAuBxoE,IAAM,KAAMk8D,IAC/B,IAAXJ,IAAiB,MACjBA,EAAS0M,GAAuBzjC,IAAM,KAAM+2B,IAClC,IAAVH,IAAgB,OAAS,KAAMA,EAKvC,OAHAtQ,GAAK,GAAK+c,EACV/c,EAAK,IAAMkd,EAAiB,EAC5Bld,EAAK,GAAK15B,EACHw2C,GAAkB19D,SAAU4gD,GAgBvC,QAASuV,IAAWpC,EAAKiK,EAAgBC,GACrC,GAEIC,GAFAvlE,EAAMslE,EAAuBD,EAC7BG,EAAkBF,EAAuBlK,EAAIrC,KAajD,OATIyM,GAAkBxlE,IAClBwlE,GAAmB,GAGDxlE,EAAM,EAAxBwlE,IACAA,GAAmB,GAGvBD,EAAiBrxE,GAAOknE,GAAK54D,IAAIgjE,EAAiB,MAE9C3M,KAAMvjE,KAAK+oC,KAAKknC,EAAehD,YAAc,GAC7C30C,KAAM23C,EAAe33C,QAK7B,QAAS00C,IAAmB10C,EAAMirC,EAAMkJ,EAASuD,EAAsBD,GACnE,GAA6CI,GAAWlD,EAApD3lE,EAAIgmE,GAAYh1C,EAAM,EAAG,GAAG83C,WAOhC,OALA9oE,GAAU,IAANA,EAAU,EAAIA,EAClBmlE,EAAqB,MAAXA,EAAkBA,EAAUsD,EACtCI,EAAYJ,EAAiBzoE,GAAKA,EAAI0oE,EAAuB,EAAI,IAAUD,EAAJzoE,EAAqB,EAAI,GAChG2lE,EAAY,GAAK1J,EAAO,IAAMkJ,EAAUsD,GAAkBI,EAAY,GAGlE73C,KAAM20C,EAAY,EAAI30C,EAAOA,EAAO,EACpC20C,UAAWA,EAAY,EAAKA,EAAY9E,EAAW7vC,EAAO,GAAK20C,GAQvE,QAASoD,IAAW5N,GAChB,GAAI4D,GAAQ5D,EAAO4B,GACf7rC,EAASiqC,EAAO6B,EAIpB,OAFA7B,GAAOwB,QAAUxB,EAAOwB,SAAWrlE,GAAOyjE,WAAWI,EAAO8B,IAE9C,OAAV8B,GAAmB7tC,IAAWl3B,GAAuB,KAAV+kE,EACpCznE,GAAO0xE,SAASnP,WAAW,KAGjB,gBAAVkF,KACP5D,EAAO4B,GAAKgC,EAAQ5D,EAAOwB,QAAQsM,SAASlK,IAG5CznE,GAAOmD,SAASskE,GACT,GAAI7D,GAAO6D,GAAO,IAClB7tC,EACHx3B,EAAQw3B,GACR+1C,GAA2B9L,GAE3BoL,EAA4BpL,GAGhC2M,GAAkB3M,GAGf,GAAID,GAAOC,KAyCtB,QAAS+N,IAAOvtC,EAAIwtC,GAChB,GAAIpL,GAAK/kE,CAIT,IAHuB,IAAnBmwE,EAAQhwE,QAAgBO,EAAQyvE,EAAQ,MACxCA,EAAUA,EAAQ,KAEjBA,EAAQhwE,OACT,MAAO7B,KAGX,KADAymE,EAAMoL,EAAQ,GACTnwE,EAAI,EAAGA,EAAImwE,EAAQhwE,SAAUH,EAC1BmwE,EAAQnwE,GAAG2iC,GAAIoiC,KACfA,EAAMoL,EAAQnwE,GAGtB,OAAO+kE,GAsqBX,QAASe,IAAeN,EAAK3jE,GACzB,GAAIuuE,EAGJ,OAAqB,gBAAVvuE,KACPA,EAAQ2jE,EAAIzD,aAAayJ,YAAY3pE,GAEhB,gBAAVA,IACA2jE,GAIf4K,EAAa1wE,KAAKwG,IAAIs/D,EAAIztC,OAClBuvC,EAAY9B,EAAIxtC,OAAQn2B,IAChC2jE,EAAIjD,GAAG,OAASiD,EAAIpB,OAAS,MAAQ,IAAM,SAASviE,EAAOuuE,GACpD5K,GAGX,QAASK,IAAUL,EAAK6K,GACpB,MAAO7K,GAAIjD,GAAG,OAASiD,EAAIpB,OAAS,MAAQ,IAAMiM,KAGtD,QAASzK,IAAUJ,EAAK6K,EAAMxuE,GAC1B,MAAa,UAATwuE,EACOvK,GAAeN,EAAK3jE,GAEpB2jE,EAAIjD,GAAG,OAASiD,EAAIpB,OAAS,MAAQ,IAAMiM,GAAMxuE,GAIhE,QAASyuE,IAAaD,EAAME,GACxB,MAAO,UAAU1uE,GACb,MAAa,OAATA,GACA+jE,GAAU/qE,KAAMw1E,EAAMxuE,GACtBvD,GAAOonE,aAAa7qE,KAAM01E,GACnB11E,MAEAgrE,GAAUhrE,KAAMw1E,IAkCnC,QAASG,IAAatN,GAElB,MAAc,KAAPA,EAAa,OAGxB,QAASuN,IAAa9N,GAGlB,MAAe,QAARA,EAAiB,IAiL5B,QAAS+N,IAAmBhhE,GACxBpR,GAAO+L,SAASs4B,GAAGjzB,GAAQ,WACvB,MAAO7U,MAAK0R,MAAMmD,IA0D1B,QAASihE,IAAWC,GAEK,mBAAVC,SAGXC,GAAkBC,GAAYzyE,OAE1ByyE,GAAYzyE,OADZsyE,EACqBtP,EACb,uGAGAhjE,IAEaA,IAz4E7B,IAtVA,GAAIA,IAIAwyE,GAGA9wE,GANAgxE,GAAU,QAEVD,GAAgC,mBAAX1Q,GAAyBA,EAASxlE,KAEvDmrB,GAAQtmB,KAAKsmB,MACb1lB,GAAiBS,OAAO8L,UAAUvM,eAGlC61B,GAAO,EACPD,GAAQ,EACR8xC,GAAO,EACPhyC,GAAO,EACPD,GAAS,EACTD,GAAS,EACTD,GAAc,EAGd6C,MAGA6rC,MAGAmE,GAA+B,mBAAXhuE,IAA0BA,EAAOD,QAGrDs0E,GAAkB,sBAClBkC,GAA0B,uDAI1BC,GAAmB,gIAGnBjI,GAAmB,mKACnBQ,GAAwB,yCAGxBkB,GAA2B,QAC3BP,GAA6B,UAC7BL,GAA4B,UAC5BG,GAA2B,gBAC3BQ,GAAmB,MACnBL,GAAiB,mHACjBG,GAAqB,uBACrBC,GAAc,KACdF,GAAwB,yBACxBK,GAAoB,UAGpBhB,GAAqB,KACrBO,GAAsB,OACtBN,GAAwB,QACxBC,GAAuB,QACvBG,GAAsB,aACtBD,GAAyB,WAIzByE,GAAW,4IAEX0C,GAAY,uBAEZzC,KACK,eAAgB,0BAChB,aAAc,sBACd,eAAgB,oBAChB,aAAc,iBACd,WAAY,gBAIjBC,KACK,gBAAiB,6BACjB,WAAY,wBACZ,QAAS,mBACT,KAAM,cAIXtD,GAAuB,kBAIvB+F,IADyB,0CAA0C1uE,MAAM,MAErE2uE,aAAiB,EACjBC,QAAY,IACZC,QAAY,IACZC,MAAU,KACVC,KAAS,MACTC,OAAW,OACXC,MAAU,UAGdnL,IACIwI,GAAK,cACLhpE,EAAI,SACJ3K,EAAI,SACJ0K,EAAI,OACJiB,EAAI,MACJ4qE,EAAI,OACJ9yB,EAAI,OACJwtB,EAAI,UACJvgC,EAAI,QACJ8lC,EAAI,UACJnmE,EAAI,OACJomE,IAAM,YACN7qE,EAAI,UACJslE,EAAI,aACJE,GAAI,WACJJ,GAAI,eAGR5F,IACIsL,UAAY,YACZC,WAAa,aACbC,QAAU,UACVC,SAAW,WACXC,YAAc,eAIlB9I,MAGAmG,IACIxpE,EAAG,GACH3K,EAAG,GACH0K,EAAG,GACHiB,EAAG,GACH+kC,EAAG,IAIPqmC,GAAmB,gBAAgB1vE,MAAM,KACzC2vE,GAAe,kBAAkB3vE,MAAM,KAEvCwmE,IACIn9B,EAAO,WACH,MAAOlxC,MAAKkoE,QAAU,GAE1BuP,IAAO,SAAUp6C,GACb,MAAOr9B,MAAKknE,aAAawQ,YAAY13E,KAAMq9B,IAE/Cs6C,KAAO,SAAUt6C,GACb,MAAOr9B,MAAKknE,aAAae,OAAOjoE,KAAMq9B,IAE1C05C,EAAO,WACH,MAAO/2E,MAAKk9B,QAEhB+5C,IAAO,WACH,MAAOj3E,MAAK8xE,aAEhB3lE,EAAO,WACH,MAAOnM,MAAKsoE,OAEhBsP,GAAO,SAAUv6C,GACb,MAAOr9B,MAAKknE,aAAa2Q,YAAY73E,KAAMq9B,IAE/Cy6C,IAAO,SAAUz6C,GACb,MAAOr9B,MAAKknE,aAAa6Q,cAAc/3E,KAAMq9B,IAEjD26C,KAAO,SAAU36C,GACb,MAAOr9B,MAAKknE,aAAa+Q,SAASj4E,KAAMq9B,IAE5C4mB,EAAO,WACH,MAAOjkD,MAAKooE,QAEhBqJ,EAAO,WACH,MAAOzxE,MAAKk4E,WAEhBC,GAAO,WACH,MAAOpR,GAAa/mE,KAAKm9B,OAAS,IAAK,IAE3Ci7C,KAAO,WACH,MAAOrR,GAAa/mE,KAAKm9B,OAAQ,IAErCk7C,MAAQ,WACJ,MAAOtR,GAAa/mE,KAAKm9B,OAAQ,IAErCm7C,OAAS,WACL,GAAIznE,GAAI7Q,KAAKm9B,OAAQxQ,EAAO9b,GAAK,EAAI,IAAM,GAC3C,OAAO8b,GAAOo6C,EAAaliE,KAAKsjB,IAAItX,GAAI,IAE5C+gE,GAAO,WACH,MAAO7K,GAAa/mE,KAAKqxE,WAAa,IAAK,IAE/CkH,KAAO,WACH,MAAOxR,GAAa/mE,KAAKqxE,WAAY,IAEzCmH,MAAQ,WACJ,MAAOzR,GAAa/mE,KAAKqxE,WAAY,IAEzCG,GAAO,WACH,MAAOzK,GAAa/mE,KAAKy4E,cAAgB,IAAK,IAElDC,KAAO,WACH,MAAO3R,GAAa/mE,KAAKy4E,cAAe,IAE5CE,MAAQ,WACJ,MAAO5R,GAAa/mE,KAAKy4E,cAAe,IAE5CrsE,EAAI,WACA,MAAOpM,MAAKsxE,WAEhBI,EAAI,WACA,MAAO1xE,MAAK44E,cAEhB1zE,EAAO,WACH,MAAOlF,MAAKknE,aAAa2R,SAAS74E,KAAK+2B,QAAS/2B,KAAKg3B,WAAW,IAEpEga,EAAO,WACH,MAAOhxC,MAAKknE,aAAa2R,SAAS74E,KAAK+2B,QAAS/2B,KAAKg3B,WAAW,IAEpEtP,EAAO,WACH,MAAO1nB,MAAK+2B,SAEhB7rB,EAAO,WACH,MAAOlL,MAAK+2B,QAAU,IAAM,IAEhCv2B,EAAO,WACH,MAAOR,MAAKg3B,WAEhB7rB,EAAO,WACH,MAAOnL,MAAKi3B,WAEhBtP,EAAO,WACH,MAAO4jD,GAAMvrE,KAAKk3B,eAAiB,MAEvC4hD,GAAO,WACH,MAAO/R,GAAawE,EAAMvrE,KAAKk3B,eAAiB,IAAK,IAEzD6hD,IAAO,WACH,MAAOhS,GAAa/mE,KAAKk3B,eAAgB,IAE7C8hD,KAAO,WACH,MAAOjS,GAAa/mE,KAAKk3B,eAAgB,IAE7C+hD,EAAO,WACH,GAAI/zE,IAAKlF,KAAKguE,OACVjoE,EAAI,GAKR,OAJQ,GAAJb,IACAA,GAAKA,EACLa,EAAI,KAEDA,EAAIghE,EAAawE,EAAMrmE,EAAI,IAAK,GAAK,IAAM6hE,EAAawE,EAAMrmE,GAAK,GAAI,IAElFg0E,GAAO,WACH,GAAIh0E,IAAKlF,KAAKguE,OACVjoE,EAAI,GAKR,OAJQ,GAAJb,IACAA,GAAKA,EACLa,EAAI,KAEDA,EAAIghE,EAAawE,EAAMrmE,EAAI,IAAK,GAAK6hE,EAAawE,EAAMrmE,GAAK,GAAI,IAE5EsV,EAAI,WACA,MAAOxa,MAAKm5E,YAEhBC,GAAK,WACD,MAAOp5E,MAAKq5E,YAEhBnxD,EAAO,WACH,MAAOloB,MAAKs5E,QAEhBtC,EAAI,WACA,MAAOh3E,MAAKgoE,YAIpBpB,MAEA2S,IAAS,SAAU,cAAe,WAAY,gBAAiB,eAqE5DhC,GAAiBjyE,QACpBH,GAAIoyE,GAAiBzkC,MACrBu7B,GAAqBlpE,GAAI,KAAO6hE,EAAgBqH,GAAqBlpE,IAAIA,GAE7E,MAAOqyE,GAAalyE,QAChBH,GAAIqyE,GAAa1kC,MACjBu7B,GAAqBlpE,GAAIA,IAAK0hE,EAASwH,GAAqBlpE,IAAI,EAEpEkpE,IAAqBmL,KAAO3S,EAASwH,GAAqB4I,IAAK,GA2a/DhyE,EAAOmiE,EAAOp1D,WAEVq6D,IAAM,SAAU/E,GACZ,GAAI9hE,GAAML,CACV,KAAKA,IAAKmiE,GACN9hE,EAAO8hE,EAAOniE,GACM,kBAATK,GACPxF,KAAKmF,GAAKK,EAEVxF,KAAK,IAAMmF,GAAKK,GAK5BqjE,QAAU,wFAAwFhhE,MAAM,KACxGogE,OAAS,SAAUznE,GACf,MAAOR,MAAK6oE,QAAQroE,EAAE0nE,UAG1BuR,aAAe,kDAAkD5xE,MAAM,KACvE6vE,YAAc,SAAUl3E,GACpB,MAAOR,MAAKy5E,aAAaj5E,EAAE0nE,UAG/ByI,YAAc,SAAU+I,GACpB,GAAIv0E,GAAGwlE,EAAKgP,CAMZ,KAJK35E,KAAK45E,eACN55E,KAAK45E,iBAGJz0E,EAAI,EAAO,GAAJA,EAAQA,IAQhB,GANKnF,KAAK45E,aAAaz0E,KACnBwlE,EAAMlnE,GAAO2oE,KAAK,IAAMjnE,IACxBw0E,EAAQ,IAAM35E,KAAKioE,OAAO0C,EAAK,IAAM,KAAO3qE,KAAK03E,YAAY/M,EAAK,IAClE3qE,KAAK45E,aAAaz0E,GAAK,GAAI6qE,QAAO2J,EAAM3tE,QAAQ,IAAK,IAAK,MAG1DhM,KAAK45E,aAAaz0E,GAAGkI,KAAKqsE,GAC1B,MAAOv0E,IAKnB00E,UAAY,2DAA2DhyE,MAAM,KAC7EowE,SAAW,SAAUz3E,GACjB,MAAOR,MAAK65E,UAAUr5E,EAAE8nE,QAG5BwR,eAAiB,8BAA8BjyE,MAAM,KACrDkwE,cAAgB,SAAUv3E,GACtB,MAAOR,MAAK85E,eAAet5E,EAAE8nE,QAGjCyR,aAAe,uBAAuBlyE,MAAM,KAC5CgwE,YAAc,SAAUr3E,GACpB,MAAOR,MAAK+5E,aAAav5E,EAAE8nE,QAG/B2I,cAAgB,SAAU+I,GACtB,GAAI70E,GAAGwlE,EAAKgP,CAMZ,KAJK35E,KAAKi6E,iBACNj6E,KAAKi6E,mBAGJ90E,EAAI,EAAO,EAAJA,EAAOA,IAQf,GANKnF,KAAKi6E,eAAe90E,KACrBwlE,EAAMlnE,IAAQ,IAAM,IAAI6kE,IAAInjE,GAC5Bw0E,EAAQ,IAAM35E,KAAKi4E,SAAStN,EAAK,IAAM,KAAO3qE,KAAK+3E,cAAcpN,EAAK,IAAM,KAAO3qE,KAAK63E,YAAYlN,EAAK,IACzG3qE,KAAKi6E,eAAe90E,GAAK,GAAI6qE,QAAO2J,EAAM3tE,QAAQ,IAAK,IAAK,MAG5DhM,KAAKi6E,eAAe90E,GAAGkI,KAAK2sE,GAC5B,MAAO70E,IAKnB+0E,iBACIC,GAAK,SACLC,EAAI,aACJC,GAAK,eACLC,IAAM,kBACNC,KAAO,yBAEX5L,eAAiB,SAAUnmE,GACvB,GAAIuhE,GAAS/pE,KAAKk6E,gBAAgB1xE,EAOlC,QANKuhE,GAAU/pE,KAAKk6E,gBAAgB1xE,EAAIyD,iBACpC89D,EAAS/pE,KAAKk6E,gBAAgB1xE,EAAIyD,eAAeD,QAAQ,mBAAoB,SAAUg9D,GACnF,MAAOA,GAAIpyC,MAAM,KAErB52B,KAAKk6E,gBAAgB1xE,GAAOuhE,GAEzBA,GAGXgH,KAAO,SAAU7F,GAGb,MAAiD,OAAxCA,EAAQ,IAAIvkB,cAAcjkC,OAAO,IAG9C+sD,eAAiB,gBACjBoJ,SAAW,SAAU9hD,EAAOC,EAASwjD,GACjC,MAAIzjD,GAAQ,GACDyjD,EAAU,KAAO,KAEjBA,EAAU,KAAO,MAIhCC,WACIC,QAAU,gBACVC,QAAU,mBACVC,SAAW,eACXC,QAAU,oBACVC,SAAW,sBACXC,SAAW,KAEfC,SAAW,SAAUxyE,EAAKmiE,GACtB,GAAIZ,GAAS/pE,KAAKy6E,UAAUjyE,EAC5B,OAAyB,kBAAXuhE,GAAwBA,EAAOnzD,MAAM+zD,GAAOZ,GAG9DkR,eACIC,OAAS,QACTC,KAAO,SACPhwE,EAAI,gBACJ3K,EAAI,WACJ46E,GAAK,aACLlwE,EAAI,UACJmwE,GAAK,WACLlvE,EAAI,QACJyrE,GAAK,UACL1mC,EAAI,UACJoqC,GAAK,YACLzqE,EAAI,SACJ0qE,GAAK,YAGT9G,aAAe,SAAU7K,EAAQ2K,EAAenE,EAAQoE,GACpD,GAAIzK,GAAS/pE,KAAKi7E,cAAc7K,EAChC,OAA0B,kBAAXrG,GACXA,EAAOH,EAAQ2K,EAAenE,EAAQoE,GACtCzK,EAAO/9D,QAAQ,MAAO49D,IAG9B4R,WAAa,SAAU5xD,EAAMmgD,GACzB,GAAI1sC,GAASr9B,KAAKi7E,cAAcrxD,EAAO,EAAI,SAAW,OACtD,OAAyB,kBAAXyT,GAAwBA,EAAO0sC,GAAU1sC,EAAOrxB,QAAQ,MAAO+9D,IAGjF5C,QAAU,SAAUyC,GAChB,MAAO5pE,MAAKy7E,SAASzvE,QAAQ,KAAM49D,IAEvC6R,SAAW,KAEXrG,SAAW,SAAUhF,GACjB,MAAOA,IAGXsL,WAAa,SAAUtL,GACnB,MAAOA,IAGXhI,KAAO,SAAUuC,GACb,MAAOoC,IAAWpC,EAAK3qE,KAAK2xE,MAAM9E,IAAK7sE,KAAK2xE,MAAM7E,KAAK1E,MAG3DuJ,OACI9E,IAAM,EACNC,IAAM,GAGV6O,aAAc,eACdlN,YAAa,WACT,MAAOzuE,MAAK27E,gBAgwBpBl4E,GAAS,SAAUynE,EAAO7tC,EAAQS,EAAQu2B,GACtC,GAAI5zD,EAiBJ,OAfuB,iBAAb,KACN4zD,EAASv2B,EACTA,EAAS33B,GAIb1F,KACAA,EAAEwoE,kBAAmB,EACrBxoE,EAAEyoE,GAAKgC,EACPzqE,EAAE0oE,GAAK9rC,EACP58B,EAAE2oE,GAAKtrC,EACPr9B,EAAE4oE,QAAUhV,EACZ5zD,EAAE8oE,QAAS,EACX9oE,EAAEgpE,IAAM9D,IAEDuP,GAAWz0E,IAGtBgD,GAAO8iE,6BAA8B,EAErC9iE,GAAOuwE,wBAA0BvN,EAC7B,4LAIA,SAAUa,GACNA,EAAOI,GAAK,GAAIzjE,MAAKqjE,EAAO4B,MA0BpCzlE,GAAO4H,IAAM,WACT,GAAImsD,MAAU5gC,MAAMr2B,KAAK8E,UAAW,EAEpC,OAAOgwE,IAAO,WAAY7d,IAG9B/zD,GAAOqJ,IAAM,WACT,GAAI0qD,MAAU5gC,MAAMr2B,KAAK8E,UAAW,EAEpC,OAAOgwE,IAAO,UAAW7d,IAI7B/zD,GAAO2oE,IAAM,SAAUlB,EAAO7tC,EAAQS,EAAQu2B,GAC1C,GAAI5zD,EAkBJ,OAhBuB,iBAAb,KACN4zD,EAASv2B,EACTA,EAAS33B,GAIb1F,KACAA,EAAEwoE,kBAAmB,EACrBxoE,EAAEuwE,SAAU,EACZvwE,EAAE8oE,QAAS,EACX9oE,EAAE2oE,GAAKtrC,EACPr9B,EAAEyoE,GAAKgC,EACPzqE,EAAE0oE,GAAK9rC,EACP58B,EAAE4oE,QAAUhV,EACZ5zD,EAAEgpE,IAAM9D,IAEDuP,GAAWz0E,GAAG2rE,OAIzB3oE,GAAO61E,KAAO,SAAUpO,GACpB,MAAOznE,IAAe,IAARynE,IAIlBznE,GAAO+L,SAAW,SAAU07D,EAAO1iE,GAC/B,GAGImkB,GACAivD,EACAC,EACAC,EANAtsE,EAAW07D,EAEXhnE,EAAQ,IA+DZ,OAzDIT,IAAOs4E,WAAW7Q,GAClB17D,GACI2kE,GAAIjJ,EAAMvC,cACVx8D,EAAG++D,EAAMtC,MACT13B,EAAGg6B,EAAMrC,SAEW,gBAAVqC,IACd17D,KACIhH,EACAgH,EAAShH,GAAO0iE,EAEhB17D,EAAS0nB,aAAeg0C,IAElBhnE,EAAQkyE,GAAwBhyE,KAAK8mE,KAC/Cv+C,EAAqB,MAAbzoB,EAAM,GAAc,GAAK,EACjCsL,GACIqB,EAAG,EACH1E,EAAGo/D,EAAMrnE,EAAMipE,KAASxgD,EACxBzhB,EAAGqgE,EAAMrnE,EAAMi3B,KAASxO,EACxBnsB,EAAG+qE,EAAMrnE,EAAMg3B,KAAWvO,EAC1BxhB,EAAGogE,EAAMrnE,EAAM+2B,KAAWtO,EAC1BwnD,GAAI5I,EAAMrnE,EAAM82B,KAAgBrO,KAE1BzoB,EAAQmyE,GAAiBjyE,KAAK8mE,KACxCv+C,EAAqB,MAAbzoB,EAAM,GAAc,GAAK,EACjC23E,EAAW,SAAUG,GAIjB,GAAI9R,GAAM8R,GAAOr5D,WAAWq5D,EAAIhwE,QAAQ,IAAK,KAE7C,QAAQ3H,MAAM6lE,GAAO,EAAIA,GAAOv9C,GAEpCnd,GACIqB,EAAGgrE,EAAS33E,EAAM,IAClBgtC,EAAG2qC,EAAS33E,EAAM,IAClBiI,EAAG0vE,EAAS33E,EAAM,IAClBgH,EAAG2wE,EAAS33E,EAAM,IAClB1D,EAAGq7E,EAAS33E,EAAM,IAClBiH,EAAG0wE,EAAS33E,EAAM,IAClB+/C,EAAG43B,EAAS33E,EAAM,MAEK,gBAAbsL,KACT,QAAUA,IAAY,MAAQA,MACnCssE,EAAU1R,EAAkB3mE,GAAO+L,EAASkX,MAAOjjB,GAAO+L,EAASmX,KAEnEnX,KACAA,EAAS2kE,GAAK2H,EAAQ5kD,aACtB1nB,EAAS0hC,EAAI4qC,EAAQ7T,QAGzB2T,EAAM,GAAIjU,GAASn4D,GAEf/L,GAAOs4E,WAAW7Q,IAAUxF,EAAWwF,EAAO,aAC9C0Q,EAAI9S,QAAUoC,EAAMpC,SAGjB8S,GAIXn4E,GAAOw4E,QAAU9F,GAGjB1yE,GAAOy4E,cAAgB5F,GAGvB7yE,GAAOkvE,SAAW,aAIlBlvE,GAAOimE,iBAAmBA,GAI1BjmE,GAAOonE,aAAe,aAGtBpnE,GAAO04E,sBAAwB,SAAUC,EAAWC,GAChD,MAAI1H,IAAuByH,KAAej2E,GAC/B,EAEPk2E,IAAUl2E,EACHwuE,GAAuByH,IAElCzH,GAAuByH,GAAaC,GAC7B,IAGX54E,GAAOquC,KAAO20B,EACV,wDACA,SAAUj+D,EAAKxB,GACX,MAAOvD,IAAOq6B,OAAOt1B,EAAKxB,KAOlCvD,GAAOq6B,OAAS,SAAUt1B,EAAKmN,GAC3B,GAAInE,EAcJ,OAbIhJ,KAEIgJ,EADmB,mBAAb,GACC/N,GAAO64E,aAAa9zE,EAAKmN,GAGzBlS,GAAOyjE,WAAW1+D,GAGzBgJ,IACA/N,GAAO+L,SAASs5D,QAAUrlE,GAAOqlE,QAAUt3D,IAI5C/N,GAAOqlE,QAAQyT,OAG1B94E,GAAO64E,aAAe,SAAUznE,EAAMc,GAClC,MAAe,QAAXA,GACAA,EAAO6mE,KAAO3nE,EACTgpB,GAAQhpB,KACTgpB,GAAQhpB,GAAQ,GAAIuyD,IAExBvpC,GAAQhpB,GAAMw3D,IAAI12D,GAGlBlS,GAAOq6B,OAAOjpB,GAEPgpB,GAAQhpB,WAGRgpB,IAAQhpB,GACR,OAIfpR,GAAOg5E,SAAWhW,EACd,gEACA,SAAUj+D,GACN,MAAO/E,IAAOyjE,WAAW1+D;GAKjC/E,GAAOyjE,WAAa,SAAU1+D,GAC1B,GAAIs1B,EAMJ,IAJIt1B,GAAOA,EAAIsgE,SAAWtgE,EAAIsgE,QAAQyT,QAClC/zE,EAAMA,EAAIsgE,QAAQyT,QAGjB/zE,EACD,MAAO/E,IAAOqlE,OAGlB,KAAKjjE,EAAQ2C,GAAM,CAGf,GADAs1B,EAAS6vC,EAAWnlE,GAEhB,MAAOs1B,EAEXt1B,IAAOA,GAGX,MAAOilE,GAAajlE,IAIxB/E,GAAOmD,SAAW,SAAU0Z,GACxB,MAAOA,aAAe+mD,IACV,MAAP/mD,GAAeolD,EAAWplD,EAAK,qBAIxC7c,GAAOs4E,WAAa,SAAUz7D,GAC1B,MAAOA,aAAeqnD,GAG1B,KAAKxiE,GAAIo0E,GAAMj0E,OAAS,EAAGH,IAAK,IAAKA,GACjC4mE,EAASwN,GAAMp0E,IAGnB1B,IAAO+nE,eAAiB,SAAUC,GAC9B,MAAOD,GAAeC,IAG1BhoE,GAAO0xE,QAAU,SAAUuH,GACvB,GAAIl8E,GAAIiD,GAAO2oE,IAAIqH,IAQnB,OAPa,OAATiJ,EACAz3E,EAAOzE,EAAEipE,IAAKiT,GAGdl8E,EAAEipE,IAAItD,iBAAkB,EAGrB3lE,GAGXiD,GAAOk5E,UAAY,WACf,MAAOl5E,IAAOmT,MAAM,KAAMvR,WAAWs3E,aAGzCl5E,GAAOotE,kBAAoB,SAAU3F,GACjC,MAAOK,GAAML,IAAUK,EAAML,GAAS,GAAK,KAAO,MAQtDjmE,EAAOxB,GAAOqkC,GAAKu/B,EAAOr1D,WAEtBmlB,MAAQ,WACJ,MAAO1zB,IAAOzD,OAGlB2G,QAAU,WACN,OAAQ3G,KAAK0nE,GAA4B,KAArB1nE,KAAKwpE,SAAW,IAGxC8P,KAAO,WACH,MAAOz0E,MAAKC,OAAO9E,KAAO,MAG9BgF,SAAW,WACP,MAAOhF,MAAKm3B,QAAQ2G,OAAO,MAAMT,OAAO,qCAG5Cx2B,OAAS,WACL,MAAO7G,MAAKwpE,QAAU,GAAIvlE,OAAMjE,MAAQA,KAAK0nE,IAGjD3gE,YAAc,WACV,GAAIvG,GAAIiD,GAAOzD,MAAMosE,KACrB,OAAI,GAAI5rE,EAAE28B,QAAU38B,EAAE28B,QAAU,KACrBmxC,EAAa9tE,EAAG,gCAEhB8tE,EAAa9tE,EAAG,mCAI/B6H,QAAU,WACN,GAAI7H,GAAIR,IACR,QACIQ,EAAE28B,OACF38B,EAAE0nE,QACF1nE,EAAE08B,OACF18B,EAAEu2B,QACFv2B,EAAEw2B,UACFx2B,EAAEy2B,UACFz2B,EAAE02B,iBAIVm2C,QAAU,WACN,MAAOA,GAAQrtE,OAGnB48E,aAAe,WACX,MAAI58E,MAAKktE,GACEltE,KAAKqtE,WAAalC,EAAcnrE,KAAKktE,IAAKltE,KAAKupE,OAAS9lE,GAAO2oE,IAAIpsE,KAAKktE,IAAMzpE,GAAOzD,KAAKktE,KAAK7kE,WAAa,GAGhH,GAGXw0E,aAAe,WACX,MAAO53E,MAAWjF,KAAKypE,MAG3BqT,UAAW,WACP,MAAO98E,MAAKypE,IAAItoD,UAGpBirD,IAAM,SAAU2Q,GACZ,MAAO/8E,MAAKguE,KAAK,EAAG+O,IAGxB9O,MAAQ,SAAU8O,GASd,MARI/8E,MAAKupE,SACLvpE,KAAKguE,KAAK,EAAG+O,GACb/8E,KAAKupE,QAAS,EAEVwT,GACA/8E,KAAK+R,IAAI/R,KAAK0nE,GAAGsV,oBAAqB,MAGvCh9E,MAGXq9B,OAAS,SAAU4/C,GACf,GAAIlT,GAASuE,EAAatuE,KAAMi9E,GAAex5E,GAAOy4E,cACtD,OAAOl8E,MAAKknE,aAAawU,WAAW3R,IAGxCh4D,IAAMw4D,EAAY,EAAG,OAErB3hD,SAAW2hD,EAAY,GAAI,YAE3B3gD,KAAO,SAAUshD,EAAOO,EAAOyR,GAC3B,GAEItzD,GAAMmgD,EAFNoT,EAAO9S,EAAOa,EAAOlrE,MACrBo9E,EAAyC,KAA7Bp9E,KAAKguE,OAASmP,EAAKnP,OA6BnC,OA1BAvC,GAAQD,EAAeC,GAET,SAAVA,GAA8B,UAAVA,GAEpB7hD,EAAmD,OAA3C5pB,KAAKysE,cAAgB0Q,EAAK1Q,eAElC1C,EAAwC,IAA7B/pE,KAAKm9B,OAASggD,EAAKhgD,SAAiBn9B,KAAKkoE,QAAUiV,EAAKjV,SAGnE6B,IAAY/pE,KAAOyD,GAAOzD,MAAMq9E,QAAQ,UAC/BF,EAAO15E,GAAO05E,GAAME,QAAQ,WAAazzD,EAElDmgD,GACgE,KADpD/pE,KAAKguE,OAASvqE,GAAOzD,MAAMq9E,QAAQ,SAASrP,QAC/CmP,EAAKnP,OAASvqE,GAAO05E,GAAME,QAAQ,SAASrP,SAAiBpkD,EACxD,SAAV6hD,IACA1B,GAAkB,MAGtBngD,EAAQ5pB,KAAOm9E,EACfpT,EAAmB,WAAV0B,EAAqB7hD,EAAO,IACvB,WAAV6hD,EAAqB7hD,EAAO,IAClB,SAAV6hD,EAAmB7hD,EAAO,KAChB,QAAV6hD,GAAmB7hD,EAAOwzD,GAAY,MAC5B,SAAV3R,GAAoB7hD,EAAOwzD,GAAY,OACvCxzD,GAEDszD,EAAUnT,EAASJ,EAASI,IAGvCrjD,KAAO,SAAU8R,EAAM+7C,GACnB,MAAO9wE,IAAO+L,UAAUmX,GAAI3mB,KAAM0mB,KAAM8R,IAAOsF,OAAO99B,KAAK89B,UAAUw/C,UAAU/I,IAGnFgJ,QAAU,SAAUhJ,GAChB,MAAOv0E,MAAK0mB,KAAKjjB,KAAU8wE,IAG/ByG,SAAW,SAAUxiD,GAGjB,GAAI1B,GAAM0B,GAAQ/0B,KACd+5E,EAAMnT,EAAOvzC,EAAK92B,MAAMq9E,QAAQ,OAChCzzD,EAAO5pB,KAAK4pB,KAAK4zD,EAAK,QAAQ,GAC9BngD,EAAgB,GAAPzT,EAAY,WACV,GAAPA,EAAY,WACL,EAAPA,EAAW,UACJ,EAAPA,EAAW,UACJ,EAAPA,EAAW,UACJ,EAAPA,EAAW,WAAa,UAChC,OAAO5pB,MAAKq9B,OAAOr9B,KAAKknE,aAAa8T,SAAS39C,EAAQr9B,QAG1DitE,WAAa,WACT,MAAOA,GAAWjtE,KAAKm9B,SAG3BsgD,MAAQ,WACJ,MAAQz9E,MAAKguE,OAAShuE,KAAKm3B,QAAQ+wC,MAAM,GAAG8F,QACxChuE,KAAKguE,OAAShuE,KAAKm3B,QAAQ+wC,MAAM,GAAG8F,QAG5C1F,IAAM,SAAU4C,GACZ,GAAI5C,GAAMtoE,KAAKupE,OAASvpE,KAAK0nE,GAAGuN,YAAcj1E,KAAK0nE,GAAGgW,QACtD,OAAa,OAATxS,GACAA,EAAQmJ,GAAanJ,EAAOlrE,KAAKknE,cAC1BlnE,KAAK+R,IAAIm5D,EAAQ5C,EAAK,MAEtBA,GAIfJ,MAAQuN,GAAa,SAAS,GAE9B4H,QAAU,SAAU5R,GAIhB,OAHAA,EAAQD,EAAeC,IAIvB,IAAK,OACDzrE,KAAKkoE,MAAM,EAEf,KAAK,UACL,IAAK,QACDloE,KAAKk9B,KAAK,EAEd,KAAK,OACL,IAAK,UACL,IAAK,MACDl9B,KAAK+2B,MAAM,EAEf,KAAK,OACD/2B,KAAKg3B,QAAQ,EAEjB,KAAK,SACDh3B,KAAKi3B,QAAQ,EAEjB,KAAK,SACDj3B,KAAKk3B,aAAa,GAgBtB,MAXc,SAAVu0C,EACAzrE,KAAKsxE,QAAQ,GACI,YAAV7F,GACPzrE,KAAK44E,WAAW,GAIN,YAAVnN,GACAzrE,KAAKkoE,MAAqC,EAA/BrjE,KAAKC,MAAM9E,KAAKkoE,QAAU,IAGlCloE,MAGX29E,MAAO,SAAUlS,GAEb,MADAA,GAAQD,EAAeC,GAChBzrE,KAAKq9E,QAAQ5R,GAAO15D,IAAI,EAAc,YAAV05D,EAAsB,OAASA,GAAQ7iD,SAAS,EAAG,OAG1FuhD,QAAS,SAAUe,EAAOO,GAEtB,MADAA,GAAyB,mBAAVA,GAAwBA,EAAQ,eACvCzrE,KAAKm3B,QAAQkmD,QAAQ5R,IAAUhoE,GAAOynE,GAAOmS,QAAQ5R,IAGjEnB,SAAU,SAAUY,EAAOO,GAEvB,MADAA,GAAyB,mBAAVA,GAAwBA,EAAQ,eACvCzrE,KAAKm3B,QAAQkmD,QAAQ5R,IAAUhoE,GAAOynE,GAAOmS,QAAQ5R,IAGjEmS,OAAQ,SAAU1S,EAAOO,GAErB,MADAA,GAAQA,GAAS,MACTzrE,KAAKm3B,QAAQkmD,QAAQ5R,MAAYpB,EAAOa,EAAOlrE,MAAMq9E,QAAQ5R,IAGzEpgE,IAAKo7D,EACI,mGACA,SAAUlhE,GAEN,MADAA,GAAQ9B,GAAOmT,MAAM,KAAMvR,WACZrF,KAARuF,EAAevF,KAAOuF,IAI1CuH,IAAK25D,EACG,mGACA,SAAUlhE,GAEN,MADAA,GAAQ9B,GAAOmT,MAAM,KAAMvR,WACpBE,EAAQvF,KAAOA,KAAOuF,IAczCyoE,KAAO,SAAU9C,EAAO6R,GACpB,GACIc,GADA52D,EAASjnB,KAAKwpE,SAAW,CAE7B,OAAa,OAAT0B,EA0BOlrE,KAAKupE,OAAStiD,EAASjnB,KAAK0nE,GAAGsV,qBAzBjB,gBAAV9R,KACPA,EAAQiF,EAA0BjF,IAElCrmE,KAAKsjB,IAAI+iD,GAAS,KAClBA,EAAgB,GAARA,IAEPlrE,KAAKupE,QAAUwT,IAChBc,EAAc79E,KAAK0nE,GAAGsV,qBAE1Bh9E,KAAKwpE,QAAU0B,EACflrE,KAAKupE,QAAS,EACK,MAAfsU,GACA79E,KAAK4oB,SAASi1D,EAAa,KAE3B52D,IAAWikD,KACN6R,GAAiB/8E,KAAK89E,kBACvBpT,EAAgC1qE,KACxByD,GAAO+L,SAASyX,EAASikD,EAAO,KAAM,GAAG,GACzClrE,KAAK89E,oBACb99E,KAAK89E,mBAAoB,EACzBr6E,GAAOonE,aAAa7qE,MAAM,GAC1BA,KAAK89E,kBAAoB,OAM9B99E,OAGXm5E,SAAW,WACP,MAAOn5E,MAAKupE,OAAS,MAAQ,IAGjC8P,SAAW,WACP,MAAOr5E,MAAKupE,OAAS,6BAA+B,IAGxDoT,UAAY,WAMR,MALI38E,MAAKspE,KACLtpE,KAAKguE,KAAKhuE,KAAKspE,MACW,gBAAZtpE,MAAKkpE,IACnBlpE,KAAKguE,KAAKhuE,KAAKkpE,IAEZlpE,MAGX+9E,qBAAuB,SAAU7S,GAQ7B,MAHIA,GAJCA,EAIOznE,GAAOynE,GAAO8C,OAHd,GAMJhuE,KAAKguE,OAAS9C,GAAS,KAAO,GAG1CuB,YAAc,WACV,MAAOA,GAAYzsE,KAAKm9B,OAAQn9B,KAAKkoE,UAGzC4J,UAAY,SAAU5G,GAClB,GAAI4G,GAAY3mD,IAAO1nB,GAAOzD,MAAMq9E,QAAQ,OAAS55E,GAAOzD,MAAMq9E,QAAQ,SAAW,OAAS,CAC9F,OAAgB,OAATnS,EAAgB4G,EAAY9xE,KAAK+R,IAAKm5D,EAAQ4G,EAAY,MAGrE9J,QAAU,SAAUkD,GAChB,MAAgB,OAATA,EAAgBrmE,KAAK+oC,MAAM5tC,KAAKkoE,QAAU,GAAK,GAAKloE,KAAKkoE,MAAoB,GAAbgD,EAAQ,GAASlrE,KAAKkoE,QAAU,IAG3GmJ,SAAW,SAAUnG,GACjB,GAAI/tC,GAAO4vC,GAAW/sE,KAAMA,KAAKknE,aAAayK,MAAM9E,IAAK7sE,KAAKknE,aAAayK,MAAM7E,KAAK3vC,IACtF,OAAgB,OAAT+tC,EAAgB/tC,EAAOn9B,KAAK+R,IAAKm5D,EAAQ/tC,EAAO,MAG3Ds7C,YAAc,SAAUvN,GACpB,GAAI/tC,GAAO4vC,GAAW/sE,KAAM,EAAG,GAAGm9B,IAClC,OAAgB,OAAT+tC,EAAgB/tC,EAAOn9B,KAAK+R,IAAKm5D,EAAQ/tC,EAAO,MAG3DirC,KAAO,SAAU8C,GACb,GAAI9C,GAAOpoE,KAAKknE,aAAakB,KAAKpoE,KAClC,OAAgB,OAATkrE,EAAgB9C,EAAOpoE,KAAK+R,IAAqB,GAAhBm5D,EAAQ9C,GAAW,MAG/D8P,QAAU,SAAUhN,GAChB,GAAI9C,GAAO2E,GAAW/sE,KAAM,EAAG,GAAGooE,IAClC,OAAgB,OAAT8C,EAAgB9C,EAAOpoE,KAAK+R,IAAqB,GAAhBm5D,EAAQ9C,GAAW,MAG/DkJ,QAAU,SAAUpG,GAChB,GAAIoG,IAAWtxE,KAAKsoE,MAAQ,EAAItoE,KAAKknE,aAAayK,MAAM9E,KAAO,CAC/D,OAAgB,OAAT3B,EAAgBoG,EAAUtxE,KAAK+R,IAAIm5D,EAAQoG,EAAS,MAG/DsH,WAAa,SAAU1N,GAInB,MAAgB,OAATA,EAAgBlrE,KAAKsoE,OAAS,EAAItoE,KAAKsoE,IAAItoE,KAAKsoE,MAAQ,EAAI4C,EAAQA,EAAQ,IAGvF8S,eAAiB,WACb,MAAOpR,GAAY5sE,KAAKm9B,OAAQ,EAAG,IAGvCyvC,YAAc,WACV,GAAIqR,GAAWj+E,KAAKknE,aAAayK,KACjC,OAAO/E,GAAY5sE,KAAKm9B,OAAQ8gD,EAASpR,IAAKoR,EAASnR,MAG3Dl5D,IAAM,SAAU63D,GAEZ,MADAA,GAAQD,EAAeC,GAChBzrE,KAAKyrE,MAGhBY,IAAM,SAAUZ,EAAOzkE,GAKnB,MAJAykE,GAAQD,EAAeC,GACI,kBAAhBzrE,MAAKyrE,IACZzrE,KAAKyrE,GAAOzkE,GAEThH,MAMX89B,OAAS,SAAUt1B,GACf,MAAIA,KAAQrC,EACDnG,KAAK8oE,QAAQyT,OAEpBv8E,KAAK8oE,QAAUrlE,GAAOyjE,WAAW1+D,GAC1BxI,OAIf8xC,KAAO20B,EACH,oEACA,SAAUj+D,GACN,MAAIA,KAAQrC,EACDnG,KAAKknE,cAEZlnE,KAAK8oE,QAAUrlE,GAAOyjE,WAAW1+D,GAC1BxI,QAKnBknE,WAAa,WACT,MAAOlnE,MAAK8oE,WA8CpBrlE,GAAOqkC,GAAG4gC,YAAcjlE,GAAOqkC,GAAG5Q,aAAeu+C,GAAa,gBAAgB,GAC9EhyE,GAAOqkC,GAAG2gC,OAAShlE,GAAOqkC,GAAG7Q,QAAUw+C,GAAa,WAAW,GAC/DhyE,GAAOqkC,GAAG0gC,OAAS/kE,GAAOqkC,GAAG9Q,QAAUy+C,GAAa,WAAW,GAK/DhyE,GAAOqkC,GAAGygC,KAAO9kE,GAAOqkC,GAAG/Q,MAAQ0+C,GAAa,SAAS,GAEzDhyE,GAAOqkC,GAAG5K,KAAOu4C,GAAa,QAAQ,GACtChyE,GAAOqkC,GAAGo2C,MAAQzX,EAAU,kDAAmDgP,GAAa,QAAQ,IACpGhyE,GAAOqkC,GAAG3K,KAAOs4C,GAAa,YAAY,GAC1ChyE,GAAOqkC,GAAGggC,MAAQrB,EAAU,kDAAmDgP,GAAa,YAAY,IAGxGhyE,GAAOqkC,GAAGugC,KAAO5kE,GAAOqkC,GAAGwgC,IAC3B7kE,GAAOqkC,GAAGmgC,OAASxkE,GAAOqkC,GAAGogC,MAC7BzkE,GAAOqkC,GAAGqgC,MAAQ1kE,GAAOqkC,GAAGsgC,KAC5B3kE,GAAOqkC,GAAGq2C,SAAW16E,GAAOqkC,GAAGowC,QAC/Bz0E,GAAOqkC,GAAGigC,SAAWtkE,GAAOqkC,GAAGkgC,QAG/BvkE,GAAOqkC,GAAGs2C,OAAS36E,GAAOqkC,GAAG/gC,YAkB7B9B,EAAOxB,GAAO+L,SAASs4B,GAAK6/B,EAAS31D,WAEjC+2D,QAAU,WACN,GAII9xC,GAASD,EAASD,EAJlBG,EAAel3B,KAAK2oE,cACpBN,EAAOroE,KAAK4oE,MACZX,EAASjoE,KAAK6oE,QACdr3D,EAAOxR,KAAK0R,MACao2D,EAAQ,CAIrCt2D,GAAK0lB,aAAeA,EAAe,IAEnCD,EAAU0yC,EAASzyC,EAAe,KAClC1lB,EAAKylB,QAAUA,EAAU,GAEzBD,EAAU2yC,EAAS1yC,EAAU,IAC7BzlB,EAAKwlB,QAAUA,EAAU,GAEzBD,EAAQ4yC,EAAS3yC,EAAU,IAC3BxlB,EAAKulB,MAAQA,EAAQ,GAErBsxC,GAAQsB,EAAS5yC,EAAQ,IAGzB+wC,EAAQ6B,EAASgM,GAAYtN,IAC7BA,GAAQsB,EAASiM,GAAY9N,IAI7BG,GAAU0B,EAAStB,EAAO,IAC1BA,GAAQ,GAGRP,GAAS6B,EAAS1B,EAAS,IAC3BA,GAAU,GAEVz2D,EAAK62D,KAAOA,EACZ72D,EAAKy2D,OAASA,EACdz2D,EAAKs2D,MAAQA,GAGjB3/C,IAAM,WAYF,MAXAnoB,MAAK2oE,cAAgB9jE,KAAKsjB,IAAInoB,KAAK2oE,eACnC3oE,KAAK4oE,MAAQ/jE,KAAKsjB,IAAInoB,KAAK4oE,OAC3B5oE,KAAK6oE,QAAUhkE,KAAKsjB,IAAInoB,KAAK6oE,SAE7B7oE,KAAK0R,MAAMwlB,aAAeryB,KAAKsjB,IAAInoB,KAAK0R,MAAMwlB,cAC9Cl3B,KAAK0R,MAAMulB,QAAUpyB,KAAKsjB,IAAInoB,KAAK0R,MAAMulB,SACzCj3B,KAAK0R,MAAMslB,QAAUnyB,KAAKsjB,IAAInoB,KAAK0R,MAAMslB,SACzCh3B,KAAK0R,MAAMqlB,MAAQlyB,KAAKsjB,IAAInoB,KAAK0R,MAAMqlB,OACvC/2B,KAAK0R,MAAMu2D,OAASpjE,KAAKsjB,IAAInoB,KAAK0R,MAAMu2D,QACxCjoE,KAAK0R,MAAMo2D,MAAQjjE,KAAKsjB,IAAInoB,KAAK0R,MAAMo2D,OAEhC9nE,MAGXmoE,MAAQ,WACJ,MAAOwB,GAAS3pE,KAAKqoE,OAAS,IAGlC1hE,QAAU,WACN,MAAO3G,MAAK2oE,cACG,MAAb3oE,KAAK4oE,MACJ5oE,KAAK6oE,QAAU,GAAM,OACK,QAA3B0C,EAAMvrE,KAAK6oE,QAAU,KAG3ByU,SAAW,SAAUe,GACjB,GAAItU,GAAS0K,GAAaz0E,MAAOq+E,EAAYr+E,KAAKknE,aAMlD,OAJImX,KACAtU,EAAS/pE,KAAKknE,aAAasU,YAAYx7E,KAAM+pE,IAG1C/pE,KAAKknE,aAAawU,WAAW3R,IAGxCh4D,IAAM,SAAUm5D,EAAOlC,GAEnB,GAAIwB,GAAM/mE,GAAO+L,SAAS07D,EAAOlC,EAQjC,OANAhpE,MAAK2oE,eAAiB6B,EAAI7B,cAC1B3oE,KAAK4oE,OAAS4B,EAAI5B,MAClB5oE,KAAK6oE,SAAW2B,EAAI3B,QAEpB7oE,KAAK+oE,UAEE/oE,MAGX4oB,SAAW,SAAUsiD,EAAOlC,GACxB,GAAIwB,GAAM/mE,GAAO+L,SAAS07D,EAAOlC,EAQjC,OANAhpE,MAAK2oE,eAAiB6B,EAAI7B,cAC1B3oE,KAAK4oE,OAAS4B,EAAI5B,MAClB5oE,KAAK6oE,SAAW2B,EAAI3B,QAEpB7oE,KAAK+oE,UAEE/oE,MAGX4T,IAAM,SAAU63D,GAEZ,MADAA,GAAQD,EAAeC,GAChBzrE,KAAKyrE,EAAM9kB,cAAgB,QAGtC/5B,GAAK,SAAU6+C,GACX,GAAIpD,GAAMJ,CAIV,IAHAwD,EAAQD,EAAeC,GAEvBpD,EAAOroE,KAAK4oE,MAAQ5oE,KAAK2oE,cAAgB,MAC3B,UAAV8C,GAA+B,SAAVA,EAErB,MADAxD,GAASjoE,KAAK6oE,QAA8B,GAApB8M,GAAYtN,GACnB,UAAVoD,EAAoBxD,EAASA,EAAS,EAG7C,QADAI,GAAQuN,GAAY51E,KAAK6oE,QAAU,IAC3B4C,GACJ,IAAK,OAAQ,MAAOpD,GAAO,CAC3B,KAAK,MAAO,MAAOA,EACnB,KAAK,OAAQ,MAAc,IAAPA,CACpB,KAAK,SAAU,MAAc,IAAPA,EAAY,EAClC,KAAK,SAAU,MAAc,IAAPA,EAAY,GAAK,EACvC,KAAK,cAAe,MAAc,IAAPA,EAAY,GAAK,GAAK,GACjD,SAAS,KAAM,IAAI7kE,OAAM,gBAAkBioE,KAKvD35B,KAAOruC,GAAOqkC,GAAGgK,KACjBhU,OAASr6B,GAAOqkC,GAAGhK,OAEnBwgD,YAAc7X,EACV,sFAEA,WACI,MAAOzmE,MAAK+G,gBAIpBA,YAAc,WAEV,GAAI+gE,GAAQjjE,KAAKsjB,IAAInoB,KAAK8nE,SACtBG,EAASpjE,KAAKsjB,IAAInoB,KAAKioE,UACvBI,EAAOxjE,KAAKsjB,IAAInoB,KAAKqoE,QACrBtxC,EAAQlyB,KAAKsjB,IAAInoB,KAAK+2B,SACtBC,EAAUnyB,KAAKsjB,IAAInoB,KAAKg3B,WACxBC,EAAUpyB,KAAKsjB,IAAInoB,KAAKi3B,UAAYj3B,KAAKk3B,eAAiB,IAE9D,OAAKl3B,MAAKu+E,aAMFv+E,KAAKu+E,YAAc,EAAI,IAAM,IACjC,KACCzW,EAAQA,EAAQ,IAAM,KACtBG,EAASA,EAAS,IAAM,KACxBI,EAAOA,EAAO,IAAM,KACnBtxC,GAASC,GAAWC,EAAW,IAAM,KACtCF,EAAQA,EAAQ,IAAM,KACtBC,EAAUA,EAAU,IAAM,KAC1BC,EAAUA,EAAU,IAAM,IAXpB,OAcfiwC,WAAa,WACT,MAAOlnE,MAAK8oE,WAIpBrlE,GAAO+L,SAASs4B,GAAG9iC,SAAWvB,GAAO+L,SAASs4B,GAAG/gC,WAQjD,KAAK5B,KAAKoxE,IACF7Q,EAAW6Q,GAAwBpxE,KACnC0wE,GAAmB1wE,GAAEwhD,cAI7BljD,IAAO+L,SAASs4B,GAAG02C,eAAiB,WAChC,MAAOx+E,MAAK4sB,GAAG,OAEnBnpB,GAAO+L,SAASs4B,GAAGy2C,UAAY,WAC3B,MAAOv+E,MAAK4sB,GAAG,MAEnBnpB,GAAO+L,SAASs4B,GAAG22C,UAAY,WAC3B,MAAOz+E,MAAK4sB,GAAG,MAEnBnpB,GAAO+L,SAASs4B,GAAG42C,QAAU,WACzB,MAAO1+E,MAAK4sB,GAAG,MAEnBnpB,GAAO+L,SAASs4B,GAAG62C,OAAS,WACxB,MAAO3+E,MAAK4sB,GAAG,MAEnBnpB,GAAO+L,SAASs4B,GAAG82C,QAAU,WACzB,MAAO5+E,MAAK4sB,GAAG,UAEnBnpB,GAAO+L,SAASs4B,GAAG+2C,SAAW,WAC1B,MAAO7+E,MAAK4sB,GAAG,MAEnBnpB,GAAO+L,SAASs4B,GAAGg3C,QAAU,WACzB,MAAO9+E,MAAK4sB,GAAG,MASnBnpB,GAAOq6B,OAAO,MACVqpC,QAAU,SAAUyC,GAChB,GAAI7jE,GAAI6jE,EAAS,GACbG,EAAuC,IAA7BwB,EAAM3B,EAAS,IAAM,IAAa,KACrC,IAAN7jE,EAAW,KACL,IAANA,EAAW,KACL,IAANA,EAAW,KAAO,IACvB,OAAO6jE,GAASG,KA4BpB8D,GACAhuE,EAAOD,QAAU6D,IAEf8hE,EAAgC,SAAUwZ,EAASn/E,EAASC,GAM1D,MALIA,GAAOynE,QAAUznE,EAAOynE,UAAYznE,EAAOynE,SAAS0X,YAAa,IAEjE9I,GAAYzyE,OAASwyE,IAGlBxyE,IACTlD,KAAKX,EAASM,EAAqBN,EAASC,KAAS0lE,IAAkCp/D,IAActG,EAAOD,QAAU2lE,IACxHuQ,IAAW,MAIhBv1E,KAAKP,QAEqBO,KAAKX,EAAU,WAAa,MAAOI,SAAYE,EAAoB,IAAIL,KAIhG,SAASA,EAAQD,EAASM,GAE9B,GAAIqlE,IAMJ,SAAUl+D,EAAQlB,GAChB,YA2OF,SAAS84E,KACF1gD,EAAO2gD,QAKVC,EAAMC,sBAGNC,EAAMC,KAAK/gD,EAAOghD,SAAU,SAASjmD,GACjCkmD,EAAUC,SAASnmD,KAIvB6lD,EAAMO,QAAQnhD,EAAOohD,SAAUC,EAAYJ,EAAUK,QACrDV,EAAMO,QAAQnhD,EAAOohD,SAAUG,EAAWN,EAAUK,QAGpDthD,EAAO2gD,OAAQ,GAxOnB,GAAI3gD,GAAS,QAASA,GAAO71B,EAASoF,GAClC,MAAO,IAAIywB,GAAOwhD,SAASr3E,EAASoF,OAUxCywB,GAAO43C,QAAU,QAgBjB53C,EAAOyhD,UAOHC,UAQIC,WAAY,OASZC,YAAa,QAUbC,aAAc,OAQdC,eAAgB,OAShBC,SAAU,OAaVC,kBAAmB,kBAU3BhiD,EAAOohD,SAAWvvE,SAOlBmuB,EAAOiiD,kBAAoB13E,UAAU23E,gBAAkB33E,UAAU43E,iBAOjEniD,EAAOoiD,gBAAmB,gBAAkBt5E,GAO5Ck3B,EAAOqiD,UAAY,6CAA6CvzE,KAAKvE,UAAUC,WAO/Ew1B,EAAOsiD,eAAkBtiD,EAAOoiD,iBAAmBpiD,EAAOqiD,WAAcriD,EAAOiiD,kBAQ/EjiD,EAAOuiD,mBAAqB,EAU5B,IAAIC,MASAC,EAAiBziD,EAAOyiD,eAAiB,OACzCC,EAAiB1iD,EAAO0iD,eAAiB,OACzCC,EAAe3iD,EAAO2iD,aAAe,KACrCC,EAAkB5iD,EAAO4iD,gBAAkB,QAS3CC,EAAgB7iD,EAAO6iD,cAAgB,QACvCC,EAAgB9iD,EAAO8iD,cAAgB,QACvCC,EAAc/iD,EAAO+iD,YAAc,MASnCC,EAAchjD,EAAOgjD,YAAc,QACnC3B,EAAarhD,EAAOqhD,WAAa,OACjCE,EAAYvhD,EAAOuhD,UAAY,MAC/B0B,EAAgBjjD,EAAOijD,cAAgB,UACvCC,EAAcljD,EAAOkjD,YAAc,OASvCljD,GAAO2gD,OAAQ,EAOf3gD,EAAOmjD,QAAUnjD,EAAOmjD,YAQxBnjD,EAAOghD,SAAWhhD,EAAOghD,YAkCzB,IAAIF,GAAQ9gD,EAAOojD,OAUf18E,OAAQ,SAAgB28E,EAAM3lC,EAAKgX,GAC/B,IAAI,GAAIzqD,KAAOyzC,IACPA,EAAIx2C,eAAe+C,IAASo5E,EAAKp5E,KAASrC,GAAa8sD,IAG3D2uB,EAAKp5E,GAAOyzC,EAAIzzC,GAEpB,OAAOo5E,IAUX3vE,GAAI,SAAYvJ,EAASjC,EAAMo7E,GAC3Bn5E,EAAQD,iBAAiBhC,EAAMo7E,GAAS,IAU5CzvE,IAAK,SAAa1J,EAASjC,EAAMo7E,GAC7Bn5E,EAAQO,oBAAoBxC,EAAMo7E,GAAS,IAa/CvC,KAAM,SAAch/D,EAAKwhE,EAAUC,GAC/B,GAAI58E,GAAGC,CAGP,IAAG,WAAakb,GACZA,EAAInY,QAAQ25E,EAAUC,OAEnB,IAAGzhE,EAAIhb,SAAWa,GACrB,IAAIhB,EAAI,EAAGC,EAAMkb,EAAIhb,OAAYF,EAAJD,EAASA,IAClC,GAAG28E,EAASvhF,KAAKwhF,EAASzhE,EAAInb,GAAIA,EAAGmb,MAAS,EAC1C,WAKR,KAAInb,IAAKmb,GACL,GAAGA,EAAI7a,eAAeN,IAClB28E,EAASvhF,KAAKwhF,EAASzhE,EAAInb,GAAIA,EAAGmb,MAAS,EAC3C,QAahB0hE,MAAO,SAAe/lC,EAAKgmC,GACvB,MAAOhmC,GAAI31C,QAAQ27E,GAAQ,IAU/BC,QAAS,SAAiBjmC,EAAKgmC,GAC3B,GAAGhmC,EAAI31C,QAAS,CACZ,GAAI2B,GAAQg0C,EAAI31C,QAAQ27E,EACxB,OAAkB,KAAVh6E,GAAgB,EAAQA,EAEhC,IAAI,GAAI9C,GAAI,EAAGC,EAAM62C,EAAI32C,OAAYF,EAAJD,EAASA,IACtC,GAAG82C,EAAI92C,KAAO88E,EACV,MAAO98E,EAGf,QAAO,GAUfkD,QAAS,SAAiBiY,GACtB,MAAO1a,OAAMoM,UAAU4kB,MAAMr2B,KAAK+f,EAAK,IAU3C6hE,UAAW,SAAmBhmC,EAAMpe,GAChC,KAAMoe,GAAM,CACR,GAAGA,GAAQpe,EACP,OAAO,CAEXoe,GAAOA,EAAKzyC,WAEhB,OAAO,GASX04E,UAAW,SAAmBroD,GAC1B,GAAI3B,MACAC,KACAhK,KACAE,KACAljB,EAAMxG,KAAKwG,IACXyB,EAAMjI,KAAKiI,GAGf,OAAsB,KAAnBitB,EAAQz0B,QAEH8yB,MAAO2B,EAAQ,GAAG3B,MAClBC,MAAO0B,EAAQ,GAAG1B,MAClBhK,QAAS0L,EAAQ,GAAG1L,QACpBE,QAASwL,EAAQ,GAAGxL,UAI5B8wD,EAAMC,KAAKvlD,EAAS,SAAStC,GACzBW,EAAMtwB,KAAK2vB,EAAMW,OACjBC,EAAMvwB,KAAK2vB,EAAMY,OACjBhK,EAAQvmB,KAAK2vB,EAAMpJ,SACnBE,EAAQzmB,KAAK2vB,EAAMlJ,YAInB6J,OAAQ/sB,EAAIuL,MAAM/R,KAAMuzB,GAAStrB,EAAI8J,MAAM/R,KAAMuzB,IAAU,EAC3DC,OAAQhtB,EAAIuL,MAAM/R,KAAMwzB,GAASvrB,EAAI8J,MAAM/R,KAAMwzB,IAAU,EAC3DhK,SAAUhjB,EAAIuL,MAAM/R,KAAMwpB,GAAWvhB,EAAI8J,MAAM/R,KAAMwpB,IAAY,EACjEE,SAAUljB,EAAIuL,MAAM/R,KAAM0pB,GAAWzhB,EAAI8J,MAAM/R,KAAM0pB,IAAY,KAYzE8zD,YAAa,SAAqBC,EAAW/oD,EAAQC,GACjD,OACI5oB,EAAG/L,KAAKsjB,IAAIoR,EAAS+oD,IAAc,EACnCzxE,EAAGhM,KAAKsjB,IAAIqR,EAAS8oD,IAAc,IAW3CC,SAAU,SAAkBC,EAAQC,GAChC,GAAI7xE,GAAI6xE,EAAOp0D,QAAUm0D,EAAOn0D,QAC5Bxd,EAAI4xE,EAAOl0D,QAAUi0D,EAAOj0D,OAEhC,OAA0B,KAAnB1pB,KAAKmmD,MAAMn6C,EAAGD,GAAW/L,KAAKqkB,IAUzCw5D,aAAc,SAAsBF,EAAQC,GACxC,GAAI7xE,GAAI/L,KAAKsjB,IAAIq6D,EAAOn0D,QAAUo0D,EAAOp0D,SACrCxd,EAAIhM,KAAKsjB,IAAIq6D,EAAOj0D,QAAUk0D,EAAOl0D,QAEzC,OAAG3d,IAAKC,EACG2xE,EAAOn0D,QAAUo0D,EAAOp0D,QAAU,EAAI4yD,EAAiBE,EAE3DqB,EAAOj0D,QAAUk0D,EAAOl0D,QAAU,EAAI2yD,EAAeF,GAUhElwB,YAAa,SAAqB0xB,EAAQC,GACtC,GAAI7xE,GAAI6xE,EAAOp0D,QAAUm0D,EAAOn0D,QAC5Bxd,EAAI4xE,EAAOl0D,QAAUi0D,EAAOj0D,OAEhC,OAAO1pB,MAAKyoB,KAAM1c,EAAIA,EAAMC,EAAIA,IAWpC8xE,SAAU,SAAkB7zE,EAAOS,GAE/B,MAAGT,GAAMxJ,QAAU,GAAKiK,EAAIjK,QAAU,EAC3BtF,KAAK8wD,YAAYvhD,EAAI,GAAIA,EAAI,IAAMvP,KAAK8wD,YAAYhiD,EAAM,GAAIA,EAAM,IAExE,GAUX8zE,YAAa,SAAqB9zE,EAAOS,GAErC,MAAGT,GAAMxJ,QAAU,GAAKiK,EAAIjK,QAAU,EAC3BtF,KAAKuiF,SAAShzE,EAAI,GAAIA,EAAI,IAAMvP,KAAKuiF,SAASzzE,EAAM,GAAIA,EAAM,IAElE,GASX+zE,WAAY,SAAoBzrD,GAC5B,MAAOA,IAAa8pD,GAAgB9pD,GAAa4pD,GAWrD8B,eAAgB,SAAwBp6E,EAASlD,EAAMwB,EAAO+7E,GAC1D,GAAIC,IAAY,GAAI,SAAU,MAAO,IAAK,KAC1Cx9E,GAAO65E,EAAM4D,YAAYz9E,EAEzB,KAAI,GAAIL,GAAI,EAAGA,EAAI69E,EAAS19E,OAAQH,IAAK,CACrC,GAAIzE,GAAI8E,CAOR,IALGw9E,EAAS79E,KACRzE,EAAIsiF,EAAS79E,GAAKzE,EAAEk2B,MAAM,EAAG,GAAG3qB,cAAgBvL,EAAEk2B,MAAM,IAIzDl2B,IAAKgI,GAAQuI,MAAO,CACnBvI,EAAQuI,MAAMvQ,IAAgB,MAAVqiF,GAAkBA,IAAW/7E,GAAS,EAC1D,UAeZk8E,eAAgB,SAAwBx6E,EAAS/C,EAAOo9E,GACpD,GAAIp9E,GAAU+C,GAAYA,EAAQuI,MAAlC,CAKAouE,EAAMC,KAAK35E,EAAO,SAASqB,EAAOxB,GAC9B65E,EAAMyD,eAAep6E,EAASlD,EAAMwB,EAAO+7E,IAG/C,IAAII,GAAUJ,GAAU,WACpB,OAAO,EAIY,SAApBp9E,EAAMu6E,aACLx3E,EAAQ06E,cAAgBD,GAGP,QAAlBx9E,EAAM26E,WACL53E,EAAQ26E,YAAcF,KAU9BF,YAAa,SAAqBK,GAC9B,MAAOA,GAAIt3E,QAAQ,eAAgB,SAASb,GACxC,MAAOA,GAAE,GAAGc,kBAapBkzE,EAAQ5gD,EAAOn1B,OAQfm6E,oBAAoB,EAQpBC,SAAS,EAQTC,cAAc,EAWdxxE,GAAI,SAAYvJ,EAASjC,EAAMo7E,EAAS6B,GACpC,GAAI3tE,GAAQtP,EAAKoB,MAAM,IACvBw3E,GAAMC,KAAKvpE,EAAO,SAAStP,GACvB44E,EAAMptE,GAAGvJ,EAASjC,EAAMo7E,GACxB6B,GAAQA,EAAKj9E,MAarB2L,IAAK,SAAa1J,EAASjC,EAAMo7E,EAAS6B,GACtC,GAAI3tE,GAAQtP,EAAKoB,MAAM,IACvBw3E,GAAMC,KAAKvpE,EAAO,SAAStP,GACvB44E,EAAMjtE,IAAI1J,EAASjC,EAAMo7E,GACzB6B,GAAQA,EAAKj9E,MAarBi5E,QAAS,SAAiBh3E,EAASywD,EAAW0oB,GAC1C,GAAI5jB,GAAOj+D,KAEP2jF,EAAiB,SAAwBC,GACzC,GAGIC,GAHAC,EAAUF,EAAGn9E,KAAKkgD,cAClBo9B,EAAYxlD,EAAOiiD,kBACnBwD,EAAU3E,EAAM2C,MAAM8B,EAAS,QAKhCE,IAAW/lB,EAAKslB,qBAITS,GAAW7qB,GAAaooB,GAA6B,IAAdqC,EAAG55D,QAChDi0C,EAAKslB,oBAAqB,EAC1BtlB,EAAKwlB,cAAe,GACdM,GAAa5qB,GAAaooB,EAChCtjB,EAAKwlB,aAA+B,IAAfG,EAAGK,SAAiBC,EAAaC,UAAU9C,EAAeuC,GAExEI,GAAW7qB,GAAaooB,IAC/BtjB,EAAKslB,oBAAqB,EAC1BtlB,EAAKwlB,cAAe,GAIrBM,GAAa5qB,GAAa2mB,GACzBoE,EAAaE,cAAcjrB,EAAWyqB,GAIvC3lB,EAAKwlB,eACJI,EAAc5lB,EAAKomB,SAAS9jF,KAAK09D,EAAM2lB,EAAIzqB,EAAWzwD,EAASm5E,IAKhEgC,GAAe/D,IACd7hB,EAAKslB,oBAAqB,EAC1BtlB,EAAKwlB,cAAe,EACpBS,EAAahlC,SAId6kC,GAAa5qB,GAAa2mB,GACzBoE,EAAaE,cAAcjrB,EAAWyqB,IAK9C,OADA5jF,MAAKiS,GAAGvJ,EAASq4E,EAAY5nB,GAAYwqB,GAClCA,GAaXU,SAAU,SAAkBT,EAAIzqB,EAAWzwD,EAASm5E,GAChD,GAAIyC,GAAYtkF,KAAKo5D,aAAawqB,EAAIzqB,GAClCorB,EAAkBD,EAAUh/E,OAC5Bu+E,EAAc1qB,EACdqrB,EAAgBF,EAAUhf,QAC1Bmf,EAAgBF,CAGjBprB,IAAaooB,EACZiD,EAAgB/C,EAEVtoB,GAAa2mB,IACnB0E,EAAgBhD,EAGhBiD,EAAgBH,EAAUh/E,QAAWs+E,EAAiB,eAAIA,EAAGc,eAAep/E,OAAS,IAMtFm/E,EAAgB,GAAKzkF,KAAKwjF,UACzBK,EAAcjE,GAIlB5/E,KAAKwjF,SAAU,CAGf,IAAImB,GAAS3kF,KAAKq5D,iBAAiB3wD,EAASm7E,EAAaS,EAAWV,EA4BpE,OAxBGzqB,IAAa2mB,GACZ+B,EAAQthF,KAAKi/E,EAAWmF,GAIzBH,IACCG,EAAOF,cAAgBA,EACvBE,EAAOxrB,UAAYqrB,EAEnB3C,EAAQthF,KAAKi/E,EAAWmF,GAExBA,EAAOxrB,UAAY0qB,QACZc,GAAOF,eAIfZ,GAAe/D,IACd+B,EAAQthF,KAAKi/E,EAAWmF,GAIxB3kF,KAAKwjF,SAAU,GAGZK,GAUXzE,oBAAqB,WACjB,GAAIrpE,EAgCJ,OA7BQA,GAFLwoB,EAAOiiD,kBACHn5E,EAAO68E,cAEF,cACA,cACA,+CAIA,gBACA,gBACA,oDAGF3lD,EAAOsiD,gBAET,aACA,YACA,yBAIA,uBACA,sBACA,gCAIRE,EAAYQ,GAAexrE,EAAM,GACjCgrE,EAAYnB,GAAc7pE,EAAM,GAChCgrE,EAAYjB,GAAa/pE,EAAM,GACxBgrE,GAUX3nB,aAAc,SAAsBwqB,EAAIzqB,GAEpC,GAAG56B,EAAOiiD,kBACN,MAAO0D,GAAa9qB,cAIxB,IAAGwqB,EAAG7pD,QAAS,CACX,GAAGo/B,GAAaymB,EACZ,MAAOgE,GAAG7pD,OAGd,IAAI6qD,MACAlyE,KAAYA,OAAO2sE,EAAMh3E,QAAQu7E,EAAG7pD,SAAUslD,EAAMh3E,QAAQu7E,EAAGc,iBAC/DJ,IASJ,OAPAjF,GAAMC,KAAK5sE,EAAQ,SAAS+kB,GACrB4nD,EAAM6C,QAAQ0C,EAAantD,EAAMotD,eAAgB,GAChDP,EAAUx8E,KAAK2vB,GAEnBmtD,EAAY98E,KAAK2vB,EAAMotD,cAGpBP,EAKX,MADAV,GAAGiB,WAAa,GACRjB,IAYZvqB,iBAAkB,SAA0B3wD,EAASywD,EAAWp/B,EAAS6pD,GAErE,GAAIkB,GAAczD,CAOlB,OANGhC,GAAM2C,MAAM4B,EAAGn9E,KAAM,UAAYy9E,EAAaC,UAAU/C,EAAewC,GACtEkB,EAAc1D,EACR8C,EAAaC,UAAU7C,EAAasC,KAC1CkB,EAAcxD,IAId73D,OAAQ41D,EAAM+C,UAAUroD,GACxBgrD,UAAW9gF,KAAK6yB,MAChBvtB,OAAQq6E,EAAGr6E,OACXwwB,QAASA,EACTo/B,UAAWA,EACX2rB,YAAaA,EACbr6C,SAAUm5C,EAMVz6E,eAAgB,WACZ,GAAIshC,GAAWzqC,KAAKyqC,QACpBA,GAASu6C,qBAAuBv6C,EAASu6C,sBACzCv6C,EAASthC,gBAAkBshC,EAASthC,kBAMxCy1B,gBAAiB,WACb5+B,KAAKyqC,SAAS7L,mBAQlBqmD,WAAY,WACR,MAAOzF,GAAUyF,iBAa7Bf,EAAe3lD,EAAO2lD,cAMtBgB,YAOA9rB,aAAc,WACV,GAAI+rB,KAKJ,OAHA9F,GAAMC,KAAKt/E,KAAKklF,SAAU,SAASvrD,GAC/BwrD,EAAUr9E,KAAK6xB,KAEZwrD,GASXf,cAAe,SAAuBjrB,EAAWisB,GAC1CjsB,GAAa2mB,GAAc3mB,GAAa2mB,GAAsC,IAAzBsF,EAAanB,cAC1DjkF,MAAKklF,SAASE,EAAaC,YAElCD,EAAaP,WAAaO,EAAaC,UACvCrlF,KAAKklF,SAASE,EAAaC,WAAaD,IAUhDjB,UAAW,SAAmBW,EAAalB,GACvC,IAAIA,EAAGkB,YACH,OAAO,CAGX,IAAIQ,GAAK1B,EAAGkB,YACR/uE,IAKJ,OAHAA,GAAMqrE,GAAkBkE,KAAQ1B,EAAG2B,sBAAwBnE,GAC3DrrE,EAAMsrE,GAAkBiE,KAAQ1B,EAAG4B,sBAAwBnE,GAC3DtrE,EAAMurE,GAAgBgE,KAAQ1B,EAAG6B,oBAAsBnE,GAChDvrE,EAAM+uE,IAOjB5lC,MAAO,WACHl/C,KAAKklF,cAWT1F,EAAYjhD,EAAOmnD,WAEnBnG,YAGAnqD,QAAS,KAITuB,SAAU,KAGVgvD,SAAS,EAQTC,YAAa,SAAqBC,EAAMC,GAEjC9lF,KAAKo1B,UAIRp1B,KAAK2lF,SAAU,EAGf3lF,KAAKo1B,SACDywD,KAAMA,EACNE,WAAY1G,EAAMp6E,UAAW6gF,GAC7BE,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,gBACAtxE,KAAM,IAGV7U,KAAK6/E,OAAOiG,KAShBjG,OAAQ,SAAgBiG,GACpB,GAAI9lF,KAAKo1B,UAAWp1B,KAAK2lF,QAAzB,CAKAG,EAAY9lF,KAAKomF,gBAAgBN,EAGjC,IAAID,GAAO7lF,KAAKo1B,QAAQywD,KACpBQ,EAAcR,EAAK/3E,OAmBvB,OAhBAuxE,GAAMC,KAAKt/E,KAAKu/E,SAAU,SAAwBjmD,IAE1Ct5B,KAAK2lF,SAAWE,EAAK93E,SAAWs4E,EAAY/sD,EAAQzkB,OACpDykB,EAAQuoD,QAAQthF,KAAK+4B,EAASwsD,EAAWD,IAE9C7lF,MAGAA,KAAKo1B,UACJp1B,KAAKo1B,QAAQ4wD,UAAYF,GAG1BA,EAAU3sB,WAAa2mB,GACtB9/E,KAAKilF,aAGFa,IASXb,WAAY,WAGRjlF,KAAK22B,SAAW0oD,EAAMp6E,UAAWjF,KAAKo1B,SAGtCp1B,KAAKo1B,QAAU,KACfp1B,KAAK2lF,SAAU,GAYnBW,kBAAmB,SAA2B1C,EAAIn6D,EAAQ64D,EAAW/oD,EAAQC,GACzE,GAAI6Y,GAAMryC,KAAKo1B,QACXmxD,GAAS,EACTC,EAASn0C,EAAI4zC,cACbQ,EAAWp0C,EAAI8zC,YAEhBK,IAAU5C,EAAGmB,UAAYyB,EAAOzB,UAAYxmD,EAAOuiD,qBAClDr3D,EAAS+8D,EAAO/8D,OAChB64D,EAAYsB,EAAGmB,UAAYyB,EAAOzB,UAClCxrD,EAASqqD,EAAGn6D,OAAO4E,QAAUm4D,EAAO/8D,OAAO4E,QAC3CmL,EAASoqD,EAAGn6D,OAAO8E,QAAUi4D,EAAO/8D,OAAO8E,QAC3Cg4D,GAAS,IAGV3C,EAAGzqB,WAAasoB,GAAemC,EAAGzqB,WAAaqoB,KAC9CnvC,EAAI6zC,gBAAkBtC,KAGtBvxC,EAAI4zC,eAAiBM,KACrBE,EAAS51B,SAAWwuB,EAAMgD,YAAYC,EAAW/oD,EAAQC,GACzDitD,EAASvjC,MAAQm8B,EAAMkD,SAAS94D,EAAQm6D,EAAGn6D,QAC3Cg9D,EAASrvD,UAAYioD,EAAMqD,aAAaj5D,EAAQm6D,EAAGn6D,QAEnD4oB,EAAI4zC,cAAgB5zC,EAAI6zC,iBAAmBtC,EAC3CvxC,EAAI6zC,gBAAkBtC,GAG1BA,EAAG8C,UAAYD,EAAS51B,SAASjgD,EACjCgzE,EAAG+C,UAAYF,EAAS51B,SAAShgD,EACjC+yE,EAAGgD,aAAeH,EAASvjC,MAC3B0gC,EAAGiD,iBAAmBJ,EAASrvD,WASnCgvD,gBAAiB,SAAyBxC,GACtC,GAAIvxC,GAAMryC,KAAKo1B,QACX0xD,EAAUz0C,EAAI0zC,WACdgB,EAAS10C,EAAI2zC,WAAac,GAG3BlD,EAAGzqB,WAAasoB,GAAemC,EAAGzqB,WAAaqoB,KAC9CsF,EAAQ/sD,WACRslD,EAAMC,KAAKsE,EAAG7pD,QAAS,SAAStC,GAC5BqvD,EAAQ/sD,QAAQjyB,MACZumB,QAASoJ,EAAMpJ,QACfE,QAASkJ,EAAMlJ,YAK3B,IAAI+zD,GAAYsB,EAAGmB,UAAY+B,EAAQ/B,UACnCxrD,EAASqqD,EAAGn6D,OAAO4E,QAAUy4D,EAAQr9D,OAAO4E,QAC5CmL,EAASoqD,EAAGn6D,OAAO8E,QAAUu4D,EAAQr9D,OAAO8E,OAkBhD,OAhBAvuB,MAAKsmF,kBAAkB1C,EAAImD,EAAOt9D,OAAQ64D,EAAW/oD,EAAQC,GAE7D6lD,EAAMp6E,OAAO2+E,GACTmC,WAAYe,EAEZxE,UAAWA,EACX/oD,OAAQA,EACRC,OAAQA,EAERvW,SAAUo8D,EAAMvuB,YAAYg2B,EAAQr9D,OAAQm6D,EAAGn6D,QAC/Cy5B,MAAOm8B,EAAMkD,SAASuE,EAAQr9D,OAAQm6D,EAAGn6D,QACzC2N,UAAWioD,EAAMqD,aAAaoE,EAAQr9D,OAAQm6D,EAAGn6D,QACjDlP,MAAO8kE,EAAMsD,SAASmE,EAAQ/sD,QAAS6pD,EAAG7pD,SAC1CitD,SAAU3H,EAAMuD,YAAYkE,EAAQ/sD,QAAS6pD,EAAG7pD,WAG7C6pD,GASXnE,SAAU,SAAkBnmD,GAExB,GAAIxrB,GAAUwrB,EAAQ0mD,YAyBtB,OAxBGlyE,GAAQwrB,EAAQzkB,QAAU1O,IACzB2H,EAAQwrB,EAAQzkB,OAAQ,GAI5BwqE,EAAMp6E,OAAOs5B,EAAOyhD,SAAUlyE,GAAS,GAGvCwrB,EAAQrxB,MAAQqxB,EAAQrxB,OAAS,IAGjCjI,KAAKu/E,SAASz3E,KAAKwxB,GAGnBt5B,KAAKu/E,SAASzqE,KAAK,SAAS5P,EAAGa,GAC3B,MAAGb,GAAE+C,MAAQlC,EAAEkC,MACJ,GAER/C,EAAE+C,MAAQlC,EAAEkC,MACJ,EAEJ,IAGJjI,KAAKu/E,UAmBpBhhD,GAAOwhD,SAAW,SAASr3E,EAASoF,GAChC,GAAImwD,GAAOj+D,IAIXi/E,KAMAj/E,KAAK0I,QAAUA,EAOf1I,KAAK+N,SAAU,EAQfsxE,EAAMC,KAAKxxE,EAAS,SAAS9G,EAAO6N,SACzB/G,GAAQ+G,GACf/G,EAAQuxE,EAAM4D,YAAYpuE,IAAS7N,IAGvChH,KAAK8N,QAAUuxE,EAAMp6E,OAAOo6E,EAAMp6E,UAAWs5B,EAAOyhD,UAAWlyE,OAG5D9N,KAAK8N,QAAQmyE,UACZZ,EAAM6D,eAAeljF,KAAK0I,QAAS1I,KAAK8N,QAAQmyE,UAAU,GAQ9DjgF,KAAKinF,kBAAoB9H,EAAMO,QAAQh3E,EAAS64E,EAAa,SAASqC,GAC/D3lB,EAAKlwD,SAAW61E,EAAGzqB,WAAaooB,EAC/B/B,EAAUoG,YAAY3nB,EAAM2lB,GACtBA,EAAGzqB,WAAasoB,GACtBjC,EAAUK,OAAO+D,KASzB5jF,KAAKknF,kBAGT3oD,EAAOwhD,SAAS/tE,WASZC,GAAI,SAAiBstE,EAAUsC,GAC3B,GAAI5jB,GAAOj+D,IAIX,OAHAm/E,GAAMltE,GAAGgsD,EAAKv1D,QAAS62E,EAAUsC,EAAS,SAASp7E,GAC/Cw3D,EAAKipB,cAAcp/E,MAAOwxB,QAAS7yB,EAAMo7E,QAASA,MAE/C5jB,GAUX7rD,IAAK,SAAkBmtE,EAAUsC,GAC7B,GAAI5jB,GAAOj+D,IAQX,OANAm/E,GAAM/sE,IAAI6rD,EAAKv1D,QAAS62E,EAAUsC,EAAS,SAASp7E,GAChD,GAAIwB,GAAQo3E,EAAM6C,SAAU5oD,QAAS7yB,EAAMo7E,QAASA,GACjD55E,MAAU,GACTg2D,EAAKipB,cAAch/E,OAAOD,EAAO,KAGlCg2D,GAUXqH,QAAS,SAAsBhsC,EAASwsD,GAEhCA,IACAA,KAIJ,IAAI18E,GAAQm1B,EAAOohD,SAASwH,YAAY,QACxC/9E,GAAMg+E,UAAU9tD,GAAS,GAAM,GAC/BlwB,EAAMkwB,QAAUwsD,CAIhB,IAAIp9E,GAAU1I,KAAK0I,OAMnB,OALG22E,GAAM8C,UAAU2D,EAAUv8E,OAAQb,KACjCA,EAAUo9E,EAAUv8E,QAGxBb,EAAQ2+E,cAAcj+E,GACfpJ,MASX08B,OAAQ,SAAgB4qD,GAEpB,MADAtnF,MAAK+N,QAAUu5E,EACRtnF,MAQXunF,QAAS,WACL,GAAIpiF,GAAGqiF,CAMP,KAHAnI,EAAM6D,eAAeljF,KAAK0I,QAAS1I,KAAK8N,QAAQmyE,UAAU,GAGtD96E,EAAI,GAAKqiF,EAAKxnF,KAAKknF,gBAAgB/hF,IACnCk6E,EAAMjtE,IAAIpS,KAAK0I,QAAS8+E,EAAGluD,QAASkuD,EAAG3F,QAQ3C,OALA7hF,MAAKknF,iBAGL/H,EAAM/sE,IAAIpS,KAAK0I,QAASq4E,EAAYQ,GAAcvhF,KAAKinF,mBAEhD,OAqDf,SAAUpyE,GAGN,QAAS4yE,GAAY7D,EAAIiC,GACrB,GAAIxzC,GAAMmtC,EAAUpqD,OAGpB,MAAGywD,EAAK/3E,QAAQ45E,eAAiB,GAC7B9D,EAAG7pD,QAAQz0B,OAASugF,EAAK/3E,QAAQ45E,gBAIrC,OAAO9D,EAAGzqB,WACN,IAAKooB,GACDoG,GAAY,CACZ,MAEJ,KAAK/H,GAGD,GAAGgE,EAAG3gE,SAAW4iE,EAAK/3E,QAAQ85E,iBAC1Bv1C,EAAIx9B,MAAQA,EACZ,MAGJ,IAAIgzE,GAAcx1C,EAAI0zC,WAAWt8D,MAGjC,IAAG4oB,EAAIx9B,MAAQA,IACXw9B,EAAIx9B,KAAOA,EACRgxE,EAAK/3E,QAAQg6E,wBAA0BlE,EAAG3gE,SAAW,GAAG,CAIvD,GAAI85B,GAASl4C,KAAKsjB,IAAI09D,EAAK/3E,QAAQ85E,gBAAkBhE,EAAG3gE,SACxD4kE,GAAYzvD,OAASwrD,EAAGrqD,OAASwjB,EACjC8qC,EAAYxvD,OAASurD,EAAGpqD,OAASujB,EACjC8qC,EAAYx5D,SAAWu1D,EAAGrqD,OAASwjB,EACnC8qC,EAAYt5D,SAAWq1D,EAAGpqD,OAASujB,EAGnC6mC,EAAKpE,EAAU4G,gBAAgBxC,IAKpCvxC,EAAI2zC,UAAU+B,gBACXlC,EAAK/3E,QAAQi6E,gBACXlC,EAAK/3E,QAAQk6E,qBAAuBpE,EAAG3gE,YAE3C2gE,EAAGmE,gBAAiB,EAIxB,IAAIE,GAAgB51C,EAAI2zC,UAAU5uD,SAC/BwsD,GAAGmE,gBAAkBE,IAAkBrE,EAAGxsD,YAErCwsD,EAAGxsD,UADJioD,EAAMwD,WAAWoF,GACArE,EAAGpqD,OAAS,EAAK0nD,EAAeF,EAEhC4C,EAAGrqD,OAAS,EAAK0nD,EAAiBE,GAKtDwG,IACA9B,EAAKvgB,QAAQzwD,EAAO,QAAS+uE,GAC7B+D,GAAY,GAIhB9B,EAAKvgB,QAAQzwD,EAAM+uE,GACnBiC,EAAKvgB,QAAQzwD,EAAO+uE,EAAGxsD,UAAWwsD,EAElC,IAAIf,GAAaxD,EAAMwD,WAAWe,EAAGxsD,YAGjCyuD,EAAK/3E,QAAQo6E,mBAAqBrF,GACjCgD,EAAK/3E,QAAQq6E,sBAAwBtF,IACtCe,EAAGz6E,gBAEP,MAEJ,KAAKq4E,GACEmG,GAAa/D,EAAGa,eAAiBoB,EAAK/3E,QAAQ45E,iBAC7C7B,EAAKvgB,QAAQzwD,EAAO,MAAO+uE,GAC3B+D,GAAY,EAEhB,MAEJ,KAAK7H,GACD6H,GAAY,GAzFxB,GAAIA,IAAY,CA8FhBppD,GAAOghD,SAAS6I,MACZvzE,KAAMA,EACN5M,MAAO,GACP45E,QAAS4F,EACTzH,UAOI4H,gBAAiB,GAWjBE,wBAAwB,EAQxBJ,eAAgB,EAUhBS,qBAAqB,EAQrBD,mBAAmB,EASnBH,gBAAgB,EAShBC,oBAAqB,MAG9B,QAgBHzpD,EAAOghD,SAAS8I,SACZxzE,KAAM,UACN5M,MAAO,KACP45E,QAAS,SAAwB+B,EAAIiC,GACjCA,EAAKvgB,QAAQtlE,KAAK6U,KAAM+uE,KAqBhC,SAAU/uE,GAGN,QAASyzE,GAAY1E,EAAIiC,GACrB,GAAI/3E,GAAU+3E,EAAK/3E,QACfsnB,EAAUoqD,EAAUpqD,OAExB,QAAOwuD,EAAGzqB,WACN,IAAKooB,GACD71D,aAAa6vB,GAGbnmB,EAAQvgB,KAAOA,EAIf0mC,EAAQxvB,WAAW,WACZqJ,GAAWA,EAAQvgB,MAAQA,GAC1BgxE,EAAKvgB,QAAQzwD,EAAM+uE,IAExB91E,EAAQy6E,YACX,MAEJ,KAAK3I,GACEgE,EAAG3gE,SAAWnV,EAAQ06E,eACrB98D,aAAa6vB,EAEjB,MAEJ,KAAKimC,GACD91D,aAAa6vB,IA7BzB,GAAIA,EAkCJhd,GAAOghD,SAASkJ,MACZ5zE,KAAMA,EACN5M,MAAO,GACP+3E,UAMIuI,YAAa,IAQbC,cAAe,GAEnB3G,QAASyG,IAEd,QAeH/pD,EAAOghD,SAASmJ,SACZ7zE,KAAM,UACN5M,MAAO0gF,IACP9G,QAAS,SAAwB+B,EAAIiC,GAC9BjC,EAAGzqB,WAAaqoB,GACfqE,EAAKvgB,QAAQtlE,KAAK6U,KAAM+uE,KAyCpCrlD,EAAOghD,SAASqJ,OACZ/zE,KAAM,QACN5M,MAAO,GACP+3E,UAMI6I,gBAAiB,EAOjBC,gBAAiB,EAQjBC,eAAgB,GAQhBC,eAAgB,IAGpBnH,QAAS,SAAsB+B,EAAIiC,GAC/B,GAAGjC,EAAGzqB,WAAaqoB,EAAe,CAC9B,GAAIznD,GAAU6pD,EAAG7pD,QAAQz0B,OACrBwI,EAAU+3E,EAAK/3E,OAGnB,IAAGisB,EAAUjsB,EAAQ+6E,iBACjB9uD,EAAUjsB,EAAQg7E,gBAClB,QAKDlF,EAAG8C,UAAY54E,EAAQi7E,gBACtBnF,EAAG+C,UAAY74E,EAAQk7E,kBAEvBnD,EAAKvgB,QAAQtlE,KAAK6U,KAAM+uE,GACxBiC,EAAKvgB,QAAQtlE,KAAK6U,KAAO+uE,EAAGxsD,UAAWwsD,OA2BvD,SAAU/uE,GAGN,QAASo0E,GAAWrF,EAAIiC,GACpB,GAGIqD,GACAC,EAJAr7E,EAAU+3E,EAAK/3E,QACfsnB,EAAUoqD,EAAUpqD,QACpB1F,EAAO8vD,EAAU7oD,QAIrB,QAAOitD,EAAGzqB,WACN,IAAKooB,GACD6H,GAAW,CACX,MAEJ,KAAKxJ,GACDwJ,EAAWA,GAAaxF,EAAG3gE,SAAWnV,EAAQu7E,cAC9C,MAEJ,KAAKvJ,IACGT,EAAM2C,MAAM4B,EAAGn5C,SAAShkC,KAAM,WAAam9E,EAAGtB,UAAYx0E,EAAQw7E,aAAeF,IAEjFF,EAAYx5D,GAAQA,EAAKs2D,WAAapC,EAAGmB,UAAYr1D,EAAKs2D,UAAUjB,UACpEoE,GAAe,EAGZz5D,GAAQA,EAAK7a,MAAQA,GACnBq0E,GAAaA,EAAYp7E,EAAQy7E,mBAClC3F,EAAG3gE,SAAWnV,EAAQ07E,oBACtB3D,EAAKvgB,QAAQ,YAAase,GAC1BuF,GAAe,KAIfA,GAAgBr7E,EAAQ27E,aACxBr0D,EAAQvgB,KAAOA,EACfgxE,EAAKvgB,QAAQlwC,EAAQvgB,KAAM+uE,MAnC/C,GAAIwF,IAAW,CA0Cf7qD,GAAOghD,SAASmK,KACZ70E,KAAMA,EACN5M,MAAO,IACP45E,QAASoH,EACTjJ,UAOIsJ,WAAY,IAQZD,eAAgB,GAQhBI,WAAW,EAQXD,kBAAmB,GAQnBD,kBAAmB,OAG5B,OAeHhrD,EAAOghD,SAASoK,OACZ90E,KAAM,QACN5M,OAAQ0gF,IACR3I,UASI72E,gBAAgB,EAQhBygF,cAAc,GAElB/H,QAAS,SAAsB+B,EAAIiC,GAC/B,MAAGA,GAAK/3E,QAAQ87E,cAAgBhG,EAAGkB,aAAe1D,MAC9CwC,GAAGqB,cAIJY,EAAK/3E,QAAQ3E,gBACZy6E,EAAGz6E,sBAGJy6E,EAAGzqB,WAAasoB,GACfoE,EAAKvgB,QAAQ,QAASse,OA4ClC,SAAU/uE,GAGN,QAASg1E,GAAiBjG,EAAIiC,GAC1B,OAAOjC,EAAGzqB,WACN,IAAKooB,GACDoG,GAAY,CACZ,MAEJ,KAAK/H,GAED,GAAGgE,EAAG7pD,QAAQz0B,OAAS,EACnB,MAGJ,IAAIwkF,GAAiBjlF,KAAKsjB,IAAI,EAAIy7D,EAAGrpE,OACjCwvE,EAAoBllF,KAAKsjB,IAAIy7D,EAAGoD,SAIpC,IAAG8C,EAAiBjE,EAAK/3E,QAAQk8E,mBAC7BD,EAAoBlE,EAAK/3E,QAAQm8E,qBACjC,MAIJzK,GAAUpqD,QAAQvgB,KAAOA,EAGrB8yE,IACA9B,EAAKvgB,QAAQzwD,EAAO,QAAS+uE,GAC7B+D,GAAY,GAGhB9B,EAAKvgB,QAAQzwD,EAAM+uE,GAGhBmG,EAAoBlE,EAAK/3E,QAAQm8E,sBAChCpE,EAAKvgB,QAAQ,SAAUse,GAIxBkG,EAAiBjE,EAAK/3E,QAAQk8E,oBAC7BnE,EAAKvgB,QAAQ,QAASse,GACtBiC,EAAKvgB,QAAQ,SAAWse,EAAGrpE,MAAQ,EAAI,KAAO,OAAQqpE,GAE1D,MAEJ,KAAKpC,GACEmG,GAAa/D,EAAGa,cAAgB,IAC/BoB,EAAKvgB,QAAQzwD,EAAO,MAAO+uE,GAC3B+D,GAAY,IAlD5B,GAAIA,IAAY,CAwDhBppD,GAAOghD,SAAS2K,WACZr1E,KAAMA,EACN5M,MAAO,GACP+3E,UAOIgK,kBAAmB,IAQnBC,qBAAsB,GAG1BpI,QAASgI,IAEd,aAQGtkB,EAAgC,WAC9B,MAAOhnC,IACTh+B,KAAKX,EAASM,EAAqBN,EAASC,KAAS0lE,IAAkCp/D,IAActG,EAAOD,QAAU2lE,KASzHl+D,SAIC,SAASxH,EAAQD,GAYrBA,EAAQ87C,oBAAsB,WAE7B17C,KAAKmqF,aAAanqF,KAAKk5C,UAAUvC,WAAWC,iBAAiB,GAG7D52C,KAAKsjD,eAIDtjD,KAAK44C,WACP54C,KAAK+9C,aAEP/9C,KAAK8O,SASNlP,EAAQuqF,aAAe,SAASC,EAAkBC,GAOhD,IANA,GAAIvtC,GAAgB98C,KAAKs6C,YAAYh1C,OAEjCglF,EAAY,GACZl1C,EAAQ,EAGL0H,EAAgBstC,GAA4BE,EAARl1C,GACrCA,EAAQ,GAAK,GACfp1C,KAAKuqF,oBAAmB,GACxBvqF,KAAKwqF,0BAGLxqF,KAAKyqF,uBAGP3tC,EAAgB98C,KAAKs6C,YAAYh1C,OACjC8vC,GAAS,CAIPA,GAAQ,GAAmB,GAAdi1C,GACfrqF,KAAK0qF,kBAEP1qF,KAAKmjD,2BASPvjD,EAAQ+qF,YAAc,SAASxuC,GAC7B,GAAIyuC,GAA2B5qF,KAAKs7C,MACpC,IAAIa,EAAK2S,YAAc9uD,KAAKk5C,UAAUvC,WAAWM,iBAAmBj3C,KAAK6qF,kBAAkB1uC,KACrE,WAAlBn8C,KAAK8qF,WAAqD,GAA3B9qF,KAAKs6C,YAAYh1C,QAAc,CAEhEtF,KAAK+qF,WAAW5uC,EAIhB,KAHA,GAAI/G,GAAQ,EAGJp1C,KAAKs6C,YAAYh1C,OAAStF,KAAKk5C,UAAUvC,WAAWC,iBAA6B,GAARxB,GAC/Ep1C,KAAKgrF,uBACL51C,GAAS,MAKXp1C,MAAKirF,mBAAmB9uC,GAAK,GAAM,GAGnCn8C,KAAKm9C,uBACLn9C,KAAKkrF,sBACLlrF,KAAKmjD,0BACLnjD,KAAKsjD,cAIHtjD,MAAKs7C,QAAUsvC,GACjB5qF,KAAK8O,SAQTlP,EAAQgiD,sBAAwB,WACW,GAArC5hD,KAAKk5C,UAAUvC,WAAW5oC,SAC5B/N,KAAKmrF,eAAe,GAAE,GAAM,IAUhCvrF,EAAQ6qF,qBAAuB,WAC7BzqF,KAAKmrF,eAAe,IAAG,GAAM,IAS/BvrF,EAAQorF,qBAAuB,WAC7BhrF,KAAKmrF,eAAe,GAAE,GAAM,IAgB9BvrF,EAAQurF,eAAiB,SAASC,EAAcC,EAAU9wD,EAAM+wD,GAC9D,GAAIV,GAA2B5qF,KAAKs7C,OAChCiwC,EAAgBvrF,KAAKs6C,YAAYh1C,MAGjCtF,MAAK26C,cAAgB36C,KAAKua,OAA0B,GAAjB6wE,GACrCprF,KAAKwrF,kBAIHxrF,KAAK26C,cAAgB36C,KAAKua,OAA0B,IAAjB6wE,EAGrCprF,KAAKyrF,cAAclxD,IAEZv6B,KAAK26C,cAAgB36C,KAAKua,OAA0B,GAAjB6wE,KAC7B,GAAT7wD,EAGFv6B,KAAK0rF,cAAcL,EAAU9wD,GAI7Bv6B,KAAK2rF,uBAGT3rF,KAAKm9C,uBAGDn9C,KAAKs6C,YAAYh1C,QAAUimF,IAAkBvrF,KAAK26C,cAAgB36C,KAAKua,OAA0B,IAAjB6wE,KAClFprF,KAAK4rF,eAAerxD,GACpBv6B,KAAKm9C,yBAIHn9C,KAAK26C,cAAgB36C,KAAKua,OAA0B,IAAjB6wE,KACrCprF,KAAK6rF,eACL7rF,KAAKm9C,wBAGPn9C,KAAK26C,cAAgB36C,KAAKua,MAG1Bva,KAAKkrF,sBACLlrF,KAAKsjD,eAGDtjD,KAAKs6C,YAAYh1C,OAASimF,IAC5BvrF,KAAKuuD,gBAAkB,EAEvBvuD,KAAKwqF,2BAGW,GAAdc,GAAsCnlF,SAAfmlF,IAErBtrF,KAAKs7C,QAAUsvC,GACjB5qF,KAAK8O,QAIT9O,KAAKmjD,2BAMPvjD,EAAQisF,aAAe,WAErB,GAAIC,GAAkB9rF,KAAK+rF,mBACvBD,GAAkB9rF,KAAKk5C,UAAUvC,WAAWI,gBAC9C/2C,KAAKgsF,sBAAsB,EAAIhsF,KAAKk5C,UAAUvC,WAAWI,eAAiB+0C,IAW9ElsF,EAAQgsF,eAAiB,SAASrxD,GAChCv6B,KAAKisF,cACLjsF,KAAKksF,mBAAmB3xD,GAAM,IAQhC36B,EAAQ2qF,mBAAqB,SAASe,GACpC,GAAIV,GAA2B5qF,KAAKs7C,OAChCiwC,EAAgBvrF,KAAKs6C,YAAYh1C,MAErCtF,MAAK4rF,gBAAe,GAGpB5rF,KAAKm9C,uBACLn9C,KAAKkrF,sBACLlrF,KAAKsjD,eAGDtjD,KAAKs6C,YAAYh1C,QAAUimF,IAC7BvrF,KAAKuuD,gBAAkB,IAGP,GAAd+8B,GAAsCnlF,SAAfmlF,IAErBtrF,KAAKs7C,QAAUsvC,GACjB5qF,KAAK8O,SAUXlP,EAAQ+rF,oBAAsB,WAC5B,IAAK,GAAInvC,KAAUx8C,MAAK00C,MACtB,GAAI10C,KAAK00C,MAAMjvC,eAAe+2C,GAAS,CACrC,GAAIL,GAAOn8C,KAAK00C,MAAM8H,EACD,IAAjBL,EAAK+V,WACF/V,EAAK9qC,MAAMrR,KAAKua,MAAQva,KAAKk5C,UAAUvC,WAAWO,oBAAsBl3C,KAAK4c,MAAMC,OAAOC,aAC1Fq/B,EAAK7qC,OAAOtR,KAAKua,MAAQva,KAAKk5C,UAAUvC,WAAWO,oBAAsBl3C,KAAK4c,MAAMC,OAAOsF,eAC9FniB,KAAK2qF,YAAYxuC,KAc3Bv8C,EAAQ8rF,cAAgB,SAASL,EAAU9wD,GACzC,IAAK,GAAIp1B,GAAI,EAAGA,EAAInF,KAAKs6C,YAAYh1C,OAAQH,IAAK,CAChD,GAAIg3C,GAAOn8C,KAAK00C,MAAM10C,KAAKs6C,YAAYn1C,GACvCnF,MAAKirF,mBAAmB9uC,EAAKkvC,EAAU9wD,GACvCv6B,KAAKmjD,4BAeTvjD,EAAQqrF,mBAAqB,SAASvhF,EAAY2hF,EAAW9wD,EAAO4xD,GAElE,GAAIziF,EAAWolD,YAAc,IAEvBplD,EAAWolD,YAAc9uD,KAAKk5C,UAAUvC,WAAWM,kBACrDk1C,GAAU,GAEZd,EAAYc,GAAU,EAAOd,EAGzB3hF,EAAWmlD,eAAiB7uD,KAAKua,OAAkB,GAATggB,GAE5C,IAAK,GAAI6xD,KAAmB1iF,GAAWqlD,eACrC,GAAIrlD,EAAWqlD,eAAetpD,eAAe2mF,GAAkB,CAC7D,GAAIC,GAAY3iF,EAAWqlD,eAAeq9B,EAI7B,IAAT7xD,GACE8xD,EAAU99B,gBAAkB7kD,EAAWulD,gBAAgBvlD,EAAWulD,gBAAgB3pD,OAAO,IACtF6mF,IACLnsF,KAAKssF,sBAAsB5iF,EAAW0iF,EAAgBf,EAAU9wD,EAAM4xD,GAIpEnsF,KAAK6qF,kBAAkBnhF,IACzB1J,KAAKssF,sBAAsB5iF,EAAW0iF,EAAgBf,EAAU9wD,EAAM4xD,KAwBpFvsF,EAAQ0sF,sBAAwB,SAAS5iF,EAAY0iF,EAAiBf,EAAW9wD,EAAO4xD,GACtF,GAAIE,GAAY3iF,EAAWqlD,eAAeq9B,EAG1C,IAAIC,EAAUx9B,eAAiB7uD,KAAKua,OAAkB,GAATggB,EAAe,CAE1Dv6B,KAAKusF,eAGLvsF,KAAK00C,MAAM03C,GAAmBC,EAG9BrsF,KAAKwsF,uBAAuB9iF,EAAW2iF,GAGvCrsF,KAAKysF,wBAAwB/iF,EAAW2iF,GAGxCrsF,KAAK0sF,eAAehjF,GAGpBA,EAAWoE,QAAQ6mC,MAAQ03C,EAAUv+E,QAAQ6mC,KAC7CjrC,EAAWolD,aAAeu9B,EAAUv9B,YACpCplD,EAAWoE,QAAQonC,SAAWrwC,KAAKwG,IAAIrL,KAAKk5C,UAAUvC,WAAWS,YAAap3C,KAAKk5C,UAAUxE,MAAMQ,SAAWl1C,KAAKk5C,UAAUvC,WAAWQ,mBAAmBztC,EAAWolD,aACtKplD,EAAW4kD,mBAAqB5kD,EAAW8jD,aAAaloD,OAGxD+mF,EAAUz7E,EAAIlH,EAAWkH,EAAIlH,EAAWilD,iBAAmB,GAAM9pD,KAAKE,UACtEsnF,EAAUx7E,EAAInH,EAAWmH,EAAInH,EAAWilD,iBAAmB,GAAM9pD,KAAKE,gBAG/D2E,GAAWqlD,eAAeq9B,EAGjC,IAAIO,IAAgB,CACpB,KAAK,GAAIC,KAAeljF,GAAWqlD,eACjC,GAAIrlD,EAAWqlD,eAAetpD,eAAemnF,IACvCljF,EAAWqlD,eAAe69B,GAAar+B,gBAAkB89B,EAAU99B,eAAgB,CACrFo+B,GAAgB,CAChB,OAKe,GAAjBA,GACFjjF,EAAWulD,gBAAgBnc,MAG7B9yC,KAAK6sF,uBAAuBR,GAI5BA,EAAU99B,eAAiB,EAG3B7kD,EAAW+mD,iBAGXzwD,KAAKs7C,QAAS,EAIC,GAAb+vC,GACFrrF,KAAKirF,mBAAmBoB,EAAUhB,EAAU9wD,EAAM4xD,IAWtDvsF,EAAQitF,uBAAyB,SAAS1wC,GACxC,IAAK,GAAIh3C,GAAI,EAAGA,EAAIg3C,EAAKqR,aAAaloD,OAAQH,IAC5Cg3C,EAAKqR,aAAaroD,GAAG8hD,sBAczBrnD,EAAQ6rF,cAAgB,SAASlxD,GAClB,GAATA,EACFv6B,KAAK8sF,sBAGL9sF,KAAK+sF,wBAUTntF,EAAQktF,oBAAsB,WAC5B,GAAI5wE,GAAGC,EAAG7W,EACN0nF,EAAYhtF,KAAKk5C,UAAUvC,WAAWK,qBAAqBh3C,KAAKua,KAIpE,KAAK,GAAI6nC,KAAUpiD,MAAKs1C,MACtB,GAAIt1C,KAAKs1C,MAAM7vC,eAAe28C,GAAS,CACrC,GAAIO,GAAO3iD,KAAKs1C,MAAM8M,EACtB,IAAIO,EAAKC,WACHD,EAAKoF,MAAQpF,EAAKmF,SACpB5rC,EAAMymC,EAAKh8B,GAAG/V,EAAI+xC,EAAKj8B,KAAK9V,EAC5BuL,EAAMwmC,EAAKh8B,GAAG9V,EAAI8xC,EAAKj8B,KAAK7V,EAC5BvL,EAAST,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAGrB6wE,EAAT1nF,GAAoB,CAEtB,GAAIoE,GAAai5C,EAAKj8B,KAClB2lE,EAAY1pC,EAAKh8B,EACjBg8B,GAAKh8B,GAAG7Y,QAAQ6mC,KAAOgO,EAAKj8B,KAAK5Y,QAAQ6mC,OAC3CjrC,EAAai5C,EAAKh8B,GAClB0lE,EAAY1pC,EAAKj8B,MAGiB,GAAhC2lE,EAAU/9B,mBACZtuD,KAAKitF,cAAcvjF,EAAW2iF,GAAU,GAEA,GAAjC3iF,EAAW4kD,oBAClBtuD,KAAKitF,cAAcZ,EAAU3iF,GAAW,MAetD9J,EAAQmtF,qBAAuB,WAC7B,IAAK,GAAIvwC,KAAUx8C,MAAK00C,MAEtB,GAAI10C,KAAK00C,MAAMjvC,eAAe+2C,GAAS,CACrC,GAAI6vC,GAAYrsF,KAAK00C,MAAM8H,EAG3B,IAAoC,GAAhC6vC,EAAU/9B,oBAA4D,GAAjC+9B,EAAU7+B,aAAaloD,OAAa,CAC3E,GAAIq9C,GAAO0pC,EAAU7+B,aAAa,GAC9B9jD,EAAci5C,EAAKoF,MAAQskC,EAAUhsF,GAAML,KAAK00C,MAAMiO,EAAKmF,QAAU9nD,KAAK00C,MAAMiO,EAAKoF,KAGrFskC,GAAUhsF,IAAMqJ,EAAWrJ,KACzBqJ,EAAWoE,QAAQ6mC,KAAO03C,EAAUv+E,QAAQ6mC,KAC9C30C,KAAKitF,cAAcvjF,EAAW2iF,GAAU,GAGxCrsF,KAAKitF,cAAcZ,EAAU3iF,GAAW,OAgBpD9J,EAAQstF,4BAA8B,SAAS/wC,GAG7C,IAAK,GAFDgxC,GAAoB,GACpBC,EAAwB,KACnBjoF,EAAI,EAAGA,EAAIg3C,EAAKqR,aAAaloD,OAAQH,IAC5C,GAA6BgB,SAAzBg2C,EAAKqR,aAAaroD,GAAkB,CACtC,GAAIkoF,GAAY,IACZlxC,GAAKqR,aAAaroD,GAAG2iD,QAAU3L,EAAK97C,GACtCgtF,EAAYlxC,EAAKqR,aAAaroD,GAAGuhB,KAE1By1B,EAAKqR,aAAaroD,GAAG4iD,MAAQ5L,EAAK97C,KACzCgtF,EAAYlxC,EAAKqR,aAAaroD,GAAGwhB,IAIlB,MAAb0mE,GAAqBF,EAAoBE,EAAUp+B,gBAAgB3pD,SACrE6nF,EAAoBE,EAAUp+B,gBAAgB3pD,OAC9C8nF,EAAwBC,GAKb,MAAbA,GAAkDlnF,SAA7BnG,KAAK00C,MAAM24C,EAAUhtF,KAC5CL,KAAKitF,cAAcI,EAAWlxC,GAAM,IAYxCv8C,EAAQssF,mBAAqB,SAAS3xD,EAAO+yD,GAE3C,IAAK,GAAI9wC,KAAUx8C,MAAK00C,MAElB10C,KAAK00C,MAAMjvC,eAAe+2C,IAC5Bx8C,KAAKutF,oBAAoBvtF,KAAK00C,MAAM8H,GAAQjiB,EAAM+yD,IAcxD1tF,EAAQ2tF,oBAAsB,SAASC,EAASjzD,EAAO+yD,EAAWG,GAKhE,GAJ6BtnF,SAAzBsnF,IACFA,EAAuB,GAGpBD,EAAQl/B,oBAAsBtuD,KAAK68D,cAA6B,GAAbywB,GACrDE,EAAQl/B,oBAAsBtuD,KAAK68D,cAA6B,GAAbywB,EAAoB,CASxE,IAAK,GAPDpxE,GAAGC,EAAG7W,EACN0nF,EAAYhtF,KAAKk5C,UAAUvC,WAAWK,qBAAqBh3C,KAAKua,MAChEmzE,GAAe,EAGfC,KACAC,EAAuBJ,EAAQhgC,aAAaloD,OACvC6jB,EAAI,EAAOykE,EAAJzkE,EAA0BA,IACxCwkE,EAAa7lF,KAAK0lF,EAAQhgC,aAAarkC,GAAG9oB,GAK5C,IAAa,GAATk6B,EAEF,IADAmzD,GAAe,EACVvkE,EAAI,EAAOykE,EAAJzkE,EAA0BA,IAAK,CACzC,GAAIw5B,GAAO3iD,KAAKs1C,MAAMq4C,EAAaxkE,GACnC,IAAahjB,SAATw8C,GACEA,EAAKC,WACHD,EAAKoF,MAAQpF,EAAKmF,SACpB5rC,EAAMymC,EAAKh8B,GAAG/V,EAAI+xC,EAAKj8B,KAAK9V,EAC5BuL,EAAMwmC,EAAKh8B,GAAG9V,EAAI8xC,EAAKj8B,KAAK7V,EAC5BvL,EAAST,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAErB6wE,EAAT1nF,GAAoB,CACtBooF,GAAe,CACf,QASZ,IAAMnzD,GAASmzD,GAAiBnzD,EAE9B,IAAKpR,EAAI,EAAOykE,EAAJzkE,EAA0BA,IAGpC,GAFAw5B,EAAO3iD,KAAKs1C,MAAMq4C,EAAaxkE,IAElBhjB,SAATw8C,EAAoB,CACtB,GAAI0pC,GAAYrsF,KAAK00C,MAAOiO,EAAKmF,QAAU0lC,EAAQntF,GAAMsiD,EAAKoF,KAAOpF,EAAKmF,OAErEukC,GAAU7+B,aAAaloD,QAAWtF,KAAK68D,aAAe4wB,GACtDpB,EAAUhsF,IAAMmtF,EAAQntF,IAC3BL,KAAKitF,cAAcO,EAAQnB,EAAU9xD,MAkBjD36B,EAAQqtF,cAAgB,SAASvjF,EAAY2iF,EAAW9xD,GAEtD7wB,EAAWqlD,eAAes9B,EAAUhsF,IAAMgsF,CAG1C,KAAK,GAAIlnF,GAAI,EAAGA,EAAIknF,EAAU7+B,aAAaloD,OAAQH,IAAK,CACtD,GAAIw9C,GAAO0pC,EAAU7+B,aAAaroD,EAC9Bw9C,GAAKoF,MAAQr+C,EAAWrJ,IAAMsiD,EAAKmF,QAAUp+C,EAAWrJ,GAC1DL,KAAK6tF,qBAAqBnkF,EAAW2iF,EAAU1pC,GAG/C3iD,KAAK8tF,sBAAsBpkF,EAAW2iF,EAAU1pC,GAIpD0pC,EAAU7+B,gBAGVxtD,KAAK+tF,8BAA8BrkF,EAAW2iF,SAIvCrsF,MAAK00C,MAAM23C,EAAUhsF,GAG5B,IAAI2tF,GAAatkF,EAAWoE,QAAQ6mC,IACpC03C,GAAU99B,eAAiBvuD,KAAKuuD,eAChC7kD,EAAWoE,QAAQ6mC,MAAQ03C,EAAUv+E,QAAQ6mC,KAC7CjrC,EAAWolD,aAAeu9B,EAAUv9B,YACpCplD,EAAWoE,QAAQonC,SAAWrwC,KAAKwG,IAAIrL,KAAKk5C,UAAUvC,WAAWS,YAAap3C,KAAKk5C,UAAUxE,MAAMQ,SAAWl1C,KAAKk5C,UAAUvC,WAAWQ,mBAAmBztC,EAAWolD,aAGlKplD,EAAWulD,gBAAgBvlD,EAAWulD,gBAAgB3pD,OAAS,IAAMtF,KAAKuuD,gBAC5E7kD,EAAWulD,gBAAgBnnD,KAAK9H,KAAKuuD,gBAMrC7kD,EAAWmlD,eAFA,GAATt0B,EAE0B,EAGAv6B,KAAKua,MAInC7Q,EAAW+mD,iBAGX/mD,EAAWqlD,eAAes9B,EAAUhsF,IAAIwuD,eAAiBnlD,EAAWmlD,eAGpEw9B,EAAUl6B,gBAGVzoD,EAAW0oD,eAAe47B,GAG1BhuF,KAAKs7C,QAAS,GAUhB17C,EAAQsrF,oBAAsB,WAC5B,IAAK,GAAI/lF,GAAI,EAAGA,EAAInF,KAAKs6C,YAAYh1C,OAAQH,IAAK,CAChD,GAAIg3C,GAAOn8C,KAAK00C,MAAM10C,KAAKs6C,YAAYn1C,GACvCg3C,GAAKmS,mBAAqBnS,EAAKqR,aAAaloD,MAG5C,IAAI2oF,GAAa,CACjB,IAAI9xC,EAAKmS,mBAAqB,EAC5B,IAAK,GAAInlC,GAAI,EAAGA,EAAIgzB,EAAKmS,mBAAqB,EAAGnlC,IAG/C,IAAK,GAFD+kE,GAAW/xC,EAAKqR,aAAarkC,GAAG4+B,KAChComC,EAAahyC,EAAKqR,aAAarkC,GAAG2+B,OAC7BsmC,EAAIjlE,EAAE,EAAGilE,EAAIjyC,EAAKmS,mBAAoB8/B,KACxCjyC,EAAKqR,aAAa4gC,GAAGrmC,MAAQmmC,GAAY/xC,EAAKqR,aAAa4gC,GAAGtmC,QAAUqmC,GACxEhyC,EAAKqR,aAAa4gC,GAAGtmC,QAAUomC,GAAY/xC,EAAKqR,aAAa4gC,GAAGrmC,MAAQomC,KAC3EF,GAAc,EAKtB9xC,GAAKmS,oBAAsB2/B,IAa/BruF,EAAQiuF,qBAAuB,SAASnkF,EAAY2iF,EAAW1pC,GAEvDj5C,EAAWslD,eAAevpD,eAAe4mF,EAAUhsF,MACvDqJ,EAAWslD,eAAeq9B,EAAUhsF,QAGtCqJ,EAAWslD,eAAeq9B,EAAUhsF,IAAIyH,KAAK66C,SAGtC3iD,MAAKs1C,MAAMqN,EAAKtiD,GAGvB,KAAK,GAAI8E,GAAI,EAAGA,EAAIuE,EAAW8jD,aAAaloD,OAAQH,IAClD,GAAIuE,EAAW8jD,aAAaroD,GAAG9E,IAAMsiD,EAAKtiD,GAAI,CAC5CqJ,EAAW8jD,aAAatlD,OAAO/C,EAAE,EACjC,SAcNvF,EAAQkuF,sBAAwB,SAASpkF,EAAY2iF,EAAW1pC,GAE1DA,EAAKoF,MAAQpF,EAAKmF,OACpB9nD,KAAK6tF,qBAAqBnkF,EAAY2iF,EAAW1pC,IAG7CA,EAAKoF,MAAQskC,EAAUhsF,IACzBsiD,EAAKuF,aAAapgD,KAAKukF,EAAUhsF,IACjCsiD,EAAKh8B,GAAKjd,EACVi5C,EAAKoF,KAAOr+C,EAAWrJ,KAIvBsiD,EAAKsF,eAAengD,KAAKukF,EAAUhsF,IACnCsiD,EAAKj8B,KAAOhd,EACZi5C,EAAKmF,OAASp+C,EAAWrJ,IAG3BL,KAAKquF,oBAAoB3kF,EAAW2iF,EAAU1pC,KAalD/iD,EAAQmuF,8BAAgC,SAASrkF,EAAY2iF,GAE3D,IAAK,GAAIlnF,GAAI,EAAGA,EAAIuE,EAAW8jD,aAAaloD,OAAQH,IAAK,CACvD,GAAIw9C,GAAOj5C,EAAW8jD,aAAaroD,EAE/Bw9C;EAAKoF,MAAQpF,EAAKmF,QACpB9nD,KAAK6tF,qBAAqBnkF,EAAY2iF,EAAW1pC,KAcvD/iD,EAAQyuF,oBAAsB,SAAS3kF,EAAY2iF,EAAW1pC,GAGtDj5C,EAAW+jD,cAAchoD,eAAe4mF,EAAUhsF,MACtDqJ,EAAW+jD,cAAc4+B,EAAUhsF,QAErCqJ,EAAW+jD,cAAc4+B,EAAUhsF,IAAIyH,KAAK66C,GAG5Cj5C,EAAW8jD,aAAa1lD,KAAK66C,IAY/B/iD,EAAQ6sF,wBAA0B,SAAS/iF,EAAY2iF,GACrD,GAAI3iF,EAAW+jD,cAAchoD,eAAe4mF,EAAUhsF,IAAK,CACzD,IAAK,GAAI8E,GAAI,EAAGA,EAAIuE,EAAW+jD,cAAc4+B,EAAUhsF,IAAIiF,OAAQH,IAAK,CACtE,GAAIw9C,GAAOj5C,EAAW+jD,cAAc4+B,EAAUhsF,IAAI8E,EAC9Cw9C,GAAKsF,eAAetF,EAAKsF,eAAe3iD,OAAO,IAAM+mF,EAAUhsF,IACjEsiD,EAAKsF,eAAenV,MACpB6P,EAAKmF,OAASukC,EAAUhsF,GACxBsiD,EAAKj8B,KAAO2lE,IAGZ1pC,EAAKuF,aAAapV,MAClB6P,EAAKoF,KAAOskC,EAAUhsF,GACtBsiD,EAAKh8B,GAAK0lE,GAIZA,EAAU7+B,aAAa1lD,KAAK66C,EAG5B,KAAK,GAAIx5B,GAAI,EAAGA,EAAIzf,EAAW8jD,aAAaloD,OAAQ6jB,IAClD,GAAIzf,EAAW8jD,aAAarkC,GAAG9oB,IAAMsiD,EAAKtiD,GAAI,CAC5CqJ,EAAW8jD,aAAatlD,OAAOihB,EAAE,EACjC,cAKCzf,GAAW+jD,cAAc4+B,EAAUhsF,MAa9CT,EAAQ8sF,eAAiB,SAAShjF,GAChC,IAAK,GAAIvE,GAAI,EAAGA,EAAIuE,EAAW8jD,aAAaloD,OAAQH,IAAK,CACvD,GAAIw9C,GAAOj5C,EAAW8jD,aAAaroD,EAC/BuE,GAAWrJ,IAAMsiD,EAAKoF,MAAQr+C,EAAWrJ,IAAMsiD,EAAKmF,QACtDp+C,EAAW8jD,aAAatlD,OAAO/C,EAAE,KAcvCvF,EAAQ4sF,uBAAyB,SAAS9iF,EAAY2iF,GACpD,IAAK,GAAIlnF,GAAI,EAAGA,EAAIuE,EAAWslD,eAAeq9B,EAAUhsF,IAAIiF,OAAQH,IAAK,CACvE,GAAIw9C,GAAOj5C,EAAWslD,eAAeq9B,EAAUhsF,IAAI8E,EAGnDnF,MAAKs1C,MAAMqN,EAAKtiD,IAAMsiD,EAGtB0pC,EAAU7+B,aAAa1lD,KAAK66C,GAC5Bj5C,EAAW8jD,aAAa1lD,KAAK66C,SAGxBj5C,GAAWslD,eAAeq9B,EAAUhsF,KAa7CT,EAAQ0jD,aAAe,WACrB,GAAI9G,EAEJ,KAAKA,IAAUx8C,MAAK00C,MAClB,GAAI10C,KAAK00C,MAAMjvC,eAAe+2C,GAAS,CACrC,GAAIL,GAAOn8C,KAAK00C,MAAM8H,EAClBL,GAAK2S,YAAc,IACrB3S,EAAKp2B,MAAQ,IAAIrT,OAAO3O,OAAOo4C,EAAK2S,aAAa,MAMvD,IAAKtS,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GACM,GAApBL,EAAK2S,cAEL3S,EAAKp2B,MADoB5f,SAAvBg2C,EAAK+S,cACM/S,EAAK+S,cAGLnrD,OAAOo4C,EAAK97C,OAuBnCT,EAAQ4qF,uBAAyB,WAC/B,GAGIhuC,GAHA8xC,EAAW,EACXC,EAAW,IACXC,EAAe,CAInB,KAAKhyC,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BgyC,EAAexuF,KAAK00C,MAAM8H,GAAQyS,gBAAgB3pD,OACnCkpF,EAAXF,IAA0BA,EAAWE,GACrCD,EAAWC,IAAeD,EAAWC,GAI7C,IAAIF,EAAWC,EAAWvuF,KAAKk5C,UAAUvC,WAAWgB,uBAAwB,CAC1E,GAAI4zC,GAAgBvrF,KAAKs6C,YAAYh1C,OACjCmpF,EAAcH,EAAWtuF,KAAKk5C,UAAUvC,WAAWgB,sBAEvD,KAAK6E,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,IACxBx8C,KAAK00C,MAAM8H,GAAQyS,gBAAgB3pD,OAASmpF,GAC9CzuF,KAAKktF,4BAA4BltF,KAAK00C,MAAM8H,GAIlDx8C,MAAKm9C,uBACLn9C,KAAKkrF,sBAEDlrF,KAAKs6C,YAAYh1C,QAAUimF,IAC7BvrF,KAAKuuD,gBAAkB,KAe7B3uD,EAAQirF,kBAAoB,SAAS1uC,GACnC,MACEt3C,MAAKsjB,IAAIg0B,EAAKvrC,EAAI5Q,KAAK06C,WAAW9pC,IAAM5Q,KAAKk5C,UAAUvC,WAAWe,kBAAkB13C,KAAKua,OAEzF1V,KAAKsjB,IAAIg0B,EAAKtrC,EAAI7Q,KAAK06C,WAAW7pC,IAAM7Q,KAAKk5C,UAAUvC,WAAWe,kBAAkB13C,KAAKua,OAU7F3a,EAAQ8qF,gBAAkB,WACxB,IAAK,GAAIvlF,GAAI,EAAGA,EAAInF,KAAKs6C,YAAYh1C,OAAQH,IAAK,CAChD,GAAIg3C,GAAOn8C,KAAK00C,MAAM10C,KAAKs6C,YAAYn1C,GACvC,IAAoB,GAAfg3C,EAAKuE,QAAkC,GAAfvE,EAAKwE,OAAkB,CAClD,GAAI33B,GAAS,EAAShpB,KAAKs6C,YAAYh1C,OAAST,KAAKwG,IAAI,IAAI8wC,EAAKruC,QAAQ6mC,MACtEuO,EAAQ,EAAIr+C,KAAKqkB,GAAKrkB,KAAKE,QACZ,IAAfo3C,EAAKuE,SAAkBvE,EAAKvrC,EAAIoY,EAASnkB,KAAKgX,IAAIqnC,IACnC,GAAf/G,EAAKwE,SAAkBxE,EAAKtrC,EAAImY,EAASnkB,KAAK6W,IAAIwnC,IACtDljD,KAAK6sF,uBAAuB1wC,MAYlCv8C,EAAQqsF,YAAc,WAMpB,IAAK,GALDyC,GAAU,EACVC,EAAiB,EACjBC,EAAa,EACbC,EAAa,EAER1pF,EAAI,EAAGA,EAAInF,KAAKs6C,YAAYh1C,OAAQH,IAAK,CAEhD,GAAIg3C,GAAOn8C,KAAK00C,MAAM10C,KAAKs6C,YAAYn1C,GACnCg3C,GAAKmS,mBAAqBugC,IAC5BA,EAAa1yC,EAAKmS,oBAEpBogC,GAAWvyC,EAAKmS,mBAChBqgC,GAAkB9pF,KAAK8sB,IAAIwqB,EAAKmS,mBAAmB,GACnDsgC,GAAc,EAEhBF,GAAoBE,EACpBD,GAAkCC,CAElC,IAAIE,GAAWH,EAAiB9pF,KAAK8sB,IAAI+8D,EAAQ,GAE7CK,EAAoBlqF,KAAKyoB,KAAKwhE,EAElC9uF,MAAK68D,aAAeh4D,KAAKC,MAAM4pF,EAAU,EAAEK,GAGvC/uF,KAAK68D,aAAegyB,IACtB7uF,KAAK68D,aAAegyB,IAexBjvF,EAAQosF,sBAAwB,SAASgD,GACvChvF,KAAK68D,aAAe,CACpB,IAAIoyB,GAAepqF,KAAKC,MAAM9E,KAAKs6C,YAAYh1C,OAAS0pF,EACxD,KAAK,GAAIxyC,KAAUx8C,MAAK00C,MAClB10C,KAAK00C,MAAMjvC,eAAe+2C,IACiB,GAAzCx8C,KAAK00C,MAAM8H,GAAQ8R,oBAA2BtuD,KAAK00C,MAAM8H,GAAQgR,aAAaloD,QAAU,GACtF2pF,EAAe,IACjBjvF,KAAKutF,oBAAoBvtF,KAAK00C,MAAM8H,IAAQ,GAAK,EAAK,GACtDyyC,GAAgB,IAa1BrvF,EAAQmsF,kBAAoB,WAC1B,GAAImD,GAAS,EACTC,EAAQ,CACZ,KAAK,GAAI3yC,KAAUx8C,MAAK00C,MAClB10C,KAAK00C,MAAMjvC,eAAe+2C,KACiB,GAAzCx8C,KAAK00C,MAAM8H,GAAQ8R,oBAA2BtuD,KAAK00C,MAAM8H,GAAQgR,aAAaloD,QAAU,IAC1F4pF,GAAU,GAEZC,GAAS,EAGb,OAAOD,GAAOC,IAMZ,SAAStvF,EAAQD,EAASM,GAE9B,GAAIS,GAAOT,EAAoB,EAgB/BN,GAAQi+C,iBAAmB,WACzB79C,KAAK+jD,QAAgB,OAAE/jD,KAAK8qF,WAAWp2C,MAAQ10C,KAAK00C,MACpD10C,KAAK+jD,QAAgB,OAAE/jD,KAAK8qF,WAAWx1C,MAAQt1C,KAAKs1C,MACpDt1C,KAAK+jD,QAAgB,OAAE/jD,KAAK8qF,WAAWxwC,YAAct6C,KAAKs6C,aAa5D16C,EAAQwvF,gBAAkB,SAASC,EAAUC,GACxBnpF,SAAfmpF,GAA0C,UAAdA,EAC9BtvF,KAAKuvF,sBAAsBF,GAG3BrvF,KAAKwvF,sBAAsBH,IAY/BzvF,EAAQ2vF,sBAAwB,SAASF,GACvCrvF,KAAKs6C,YAAct6C,KAAK+jD,QAAgB,OAAEsrC,GAAuB,YACjErvF,KAAK00C,MAAc10C,KAAK+jD,QAAgB,OAAEsrC,GAAiB,MAC3DrvF,KAAKs1C,MAAct1C,KAAK+jD,QAAgB,OAAEsrC,GAAiB,OAU7DzvF,EAAQ6vF,uBAAyB,WAC/BzvF,KAAKs6C,YAAct6C,KAAK+jD,QAAiB,QAAe,YACxD/jD,KAAK00C,MAAc10C,KAAK+jD,QAAiB,QAAS,MAClD/jD,KAAKs1C,MAAct1C,KAAK+jD,QAAiB,QAAS,OAWpDnkD,EAAQ4vF,sBAAwB,SAASH,GACvCrvF,KAAKs6C,YAAct6C,KAAK+jD,QAAgB,OAAEsrC,GAAuB,YACjErvF,KAAK00C,MAAc10C,KAAK+jD,QAAgB,OAAEsrC,GAAiB,MAC3DrvF,KAAKs1C,MAAct1C,KAAK+jD,QAAgB,OAAEsrC,GAAiB,OAU7DzvF,EAAQ8vF,kBAAoB,WAC1B1vF,KAAKovF,gBAAgBpvF,KAAK8qF,YAU5BlrF,EAAQkrF,QAAU,WAChB,MAAO9qF,MAAK88D,aAAa98D,KAAK88D,aAAax3D,OAAO,IAUpD1F,EAAQ+vF,gBAAkB,WACxB,GAAI3vF,KAAK88D,aAAax3D,OAAS,EAC7B,MAAOtF,MAAK88D,aAAa98D,KAAK88D,aAAax3D,OAAO,EAGlD,MAAM,IAAIU,WAAU,iEAaxBpG,EAAQgwF,iBAAmB,SAASC,GAClC7vF,KAAK88D,aAAah1D,KAAK+nF,IAUzBjwF,EAAQkwF,kBAAoB,WAC1B9vF,KAAK88D,aAAahqB,OAWpBlzC,EAAQmwF,iBAAmB,SAASF,GAElC7vF,KAAK+jD,QAAgB,OAAE8rC,IAAUn7C,SACAY,SACAgF,eACAuU,eAAkB7uD,KAAKua,MACvBwiD,YAAe52D,QAGhDnG,KAAK+jD,QAAgB,OAAE8rC,GAAoB,YAAI,GAAI1sF,OAC9C9C,GAAGwvF,EACFplF,OACEiB,WAAY,UACZC,OAAQ,iBAEJ3L,KAAKk5C,WACjBl5C,KAAK+jD,QAAgB,OAAE8rC,GAAoB,YAAE/gC,YAAc,GAW7DlvD,EAAQowF,oBAAsB,SAASX,SAC9BrvF,MAAK+jD,QAAgB,OAAEsrC,IAWhCzvF,EAAQqwF,oBAAsB,SAASZ,SAC9BrvF,MAAK+jD,QAAgB,OAAEsrC,IAWhCzvF,EAAQswF,cAAgB,SAASb,GAE/BrvF,KAAK+jD,QAAgB,OAAEsrC,GAAYrvF,KAAK+jD,QAAgB,OAAEsrC,GAG1DrvF,KAAKgwF,oBAAoBX,IAW3BzvF,EAAQuwF,gBAAkB,SAASd,GAEjCrvF,KAAK+jD,QAAgB,OAAEsrC,GAAYrvF,KAAK+jD,QAAgB,OAAEsrC,GAG1DrvF,KAAKiwF,oBAAoBZ,IAa3BzvF,EAAQwwF,qBAAuB,SAASf,GAEtC,IAAK,GAAI7yC,KAAUx8C,MAAK00C,MAClB10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5Bx8C,KAAK+jD,QAAgB,OAAEsrC,GAAiB,MAAE7yC,GAAUx8C,KAAK00C,MAAM8H,GAKnE,KAAK,GAAI4F,KAAUpiD,MAAKs1C,MAClBt1C,KAAKs1C,MAAM7vC,eAAe28C,KAC5BpiD,KAAK+jD,QAAgB,OAAEsrC,GAAiB,MAAEjtC,GAAUpiD,KAAKs1C,MAAM8M,GAKnE,KAAK,GAAIj9C,GAAI,EAAGA,EAAInF,KAAKs6C,YAAYh1C,OAAQH,IAC3CnF,KAAK+jD,QAAgB,OAAEsrC,GAAuB,YAAEvnF,KAAK9H,KAAKs6C,YAAYn1C,KAW1EvF,EAAQywF,6BAA+B,WACrCrwF,KAAKmqF,aAAa,GAAE,IAUtBvqF,EAAQmrF,WAAa,SAAS5uC,GAE5B,GAAIm0C,GAAStwF,KAAK8qF,gBAWX9qF,MAAK00C,MAAMyH,EAAK97C,GAEvB,IAAIkwF,GAAmB5vF,EAAKgE,YAG5B3E,MAAKkwF,cAAcI,GAGnBtwF,KAAK+vF,iBAAiBQ,GAGtBvwF,KAAK4vF,iBAAiBW,GAGtBvwF,KAAKovF,gBAAgBpvF,KAAK8qF,WAG1B9qF,KAAK00C,MAAMyH,EAAK97C,IAAM87C,GAUxBv8C,EAAQ4rF,gBAAkB,WAExB,GAAI8E,GAAStwF,KAAK8qF,SAGlB,IAAc,WAAVwF,IAC8B,GAA3BtwF,KAAKs6C,YAAYh1C,QACpBtF,KAAK+jD,QAAgB,OAAEusC,GAAqB,YAAEj/E,MAAMrR,KAAKua,MAAQva,KAAKk5C,UAAUvC,WAAWO,oBAAsBl3C,KAAK4c,MAAMC,OAAOC,aACnI9c,KAAK+jD,QAAgB,OAAEusC,GAAqB,YAAEh/E,OAAOtR,KAAKua,MAAQva,KAAKk5C,UAAUvC,WAAWO,oBAAsBl3C,KAAK4c,MAAMC,OAAOsF,cAAe,CACnJ,GAAIquE,GAAiBxwF,KAAK2vF,iBAG1B3vF,MAAKqwF,+BAILrwF,KAAKowF,qBAAqBI,GAI1BxwF,KAAKgwF,oBAAoBM,GAGzBtwF,KAAKmwF,gBAAgBK,GAGrBxwF,KAAKovF,gBAAgBoB,GAGrBxwF,KAAK8vF,oBAGL9vF,KAAKm9C,uBAGLn9C,KAAKmjD,4BAeXvjD,EAAQkmD,sBAAwB,SAAS2qC,EAAYC,GACnD,GAAIC,KACJ,IAAiBxqF,SAAbuqF,EACF,IAAK,GAAIJ,KAAUtwF,MAAK+jD,QAAgB,OAClC/jD,KAAK+jD,QAAgB,OAAEt+C,eAAe6qF,KAExCtwF,KAAKuvF,sBAAsBe,GAC3BK,EAAa7oF,KAAM9H,KAAKywF,WAK5B,KAAK,GAAIH,KAAUtwF,MAAK+jD,QAAgB,OACtC,GAAI/jD,KAAK+jD,QAAgB,OAAEt+C,eAAe6qF,GAAS,CAEjDtwF,KAAKuvF,sBAAsBe,EAC3B,IAAI94B,GAAO5xD,MAAMoM,UAAU9J,OAAO3H,KAAK8E,UAAW,EAEhDsrF,GAAa7oF,KADX0vD,EAAKlyD,OAAS,EACGtF,KAAKywF,GAAaj5B,EAAK,GAAGA,EAAK,IAG/Bx3D,KAAKywF,GAAaC,IAO7C,MADA1wF,MAAK0vF,oBACEiB,GAaT/wF,EAAQomD,mBAAqB,SAASyqC,EAAYC,GAChD,GAAIC,IAAe,CACnB,IAAiBxqF,SAAbuqF,EACF1wF,KAAKyvF,yBACLkB,EAAe3wF,KAAKywF,SAEjB,CACHzwF,KAAKyvF,wBACL,IAAIj4B,GAAO5xD,MAAMoM,UAAU9J,OAAO3H,KAAK8E,UAAW,EAEhDsrF,GADEn5B,EAAKlyD,OAAS,EACDtF,KAAKywF,GAAaj5B,EAAK,GAAGA,EAAK,IAG/Bx3D,KAAKywF,GAAaC,GAKrC,MADA1wF,MAAK0vF,oBACEiB,GAaT/wF,EAAQgxF,sBAAwB,SAASH,EAAYC,GACnD,GAAiBvqF,SAAbuqF,EACF,IAAK,GAAIJ,KAAUtwF,MAAK+jD,QAAgB,OAClC/jD,KAAK+jD,QAAgB,OAAEt+C,eAAe6qF,KAExCtwF,KAAKwvF,sBAAsBc,GAC3BtwF,KAAKywF,UAKT,KAAK,GAAIH,KAAUtwF,MAAK+jD,QAAgB,OACtC,GAAI/jD,KAAK+jD,QAAgB,OAAEt+C,eAAe6qF,GAAS,CAEjDtwF,KAAKwvF,sBAAsBc,EAC3B,IAAI94B,GAAO5xD,MAAMoM,UAAU9J,OAAO3H,KAAK8E,UAAW,EAC9CmyD,GAAKlyD,OAAS,EAChBtF,KAAKywF,GAAaj5B,EAAK,GAAGA,EAAK,IAG/Bx3D,KAAKywF,GAAaC,GAK1B1wF,KAAK0vF,qBAaP9vF,EAAQwkD,gBAAkB,SAASqsC,EAAYC,GAC7C,GAAIl5B,GAAO5xD,MAAMoM,UAAU9J,OAAO3H,KAAK8E,UAAW,EACjCc,UAAbuqF,GACF1wF,KAAK8lD,sBAAsB2qC,GAC3BzwF,KAAK4wF,sBAAsBH,IAGvBj5B,EAAKlyD,OAAS,GAChBtF,KAAK8lD,sBAAsB2qC,EAAYj5B,EAAK,GAAGA,EAAK,IACpDx3D,KAAK4wF,sBAAsBH,EAAYj5B,EAAK,GAAGA,EAAK,MAGpDx3D,KAAK8lD,sBAAsB2qC,EAAYC,GACvC1wF,KAAK4wF,sBAAsBH,EAAYC,KAY7C9wF,EAAQw9C,oBAAsB,WAC5B,GAAIkzC,GAAStwF,KAAK8qF,SAClB9qF,MAAK+jD,QAAgB,OAAEusC,GAAqB,eAC5CtwF,KAAKs6C,YAAct6C,KAAK+jD,QAAgB,OAAEusC,GAAqB,aAWjE1wF,EAAQixF,iBAAmB,SAASxsE,EAAIirE,GACtC,GAAsDnzC,GAAlDC,EAAO,IAAKC,EAAO,KAAMC,EAAO,IAAKC,EAAO,IAChD,KAAK,GAAI+zC,KAAUtwF,MAAK+jD,QAAQurC,GAC9B,GAAItvF,KAAK+jD,QAAQurC,GAAY7pF,eAAe6qF,IACcnqF,SAApDnG,KAAK+jD,QAAQurC,GAAYgB,GAAqB,YAAiB,CAEjEtwF,KAAKovF,gBAAgBkB,EAAOhB,GAE5BlzC,EAAO,IAAKC,EAAO,KAAMC,EAAO,IAAKC,EAAO,IAC5C,KAAK,GAAIC,KAAUx8C,MAAK00C,MAClB10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GAClBL,EAAK2N,OAAOzlC,GACRi4B,EAAOH,EAAKvrC,EAAI,GAAMurC,EAAK9qC,QAAQirC,EAAOH,EAAKvrC,EAAI,GAAMurC,EAAK9qC,OAC9DkrC,EAAOJ,EAAKvrC,EAAI,GAAMurC,EAAK9qC,QAAQkrC,EAAOJ,EAAKvrC,EAAI,GAAMurC,EAAK9qC,OAC9D+qC,EAAOD,EAAKtrC,EAAI,GAAMsrC,EAAK7qC,SAAS8qC,EAAOD,EAAKtrC,EAAI,GAAMsrC,EAAK7qC,QAC/D+qC,EAAOF,EAAKtrC,EAAI,GAAMsrC,EAAK7qC,SAAS+qC,EAAOF,EAAKtrC,EAAI,GAAMsrC,EAAK7qC,QAGvE6qC,GAAOn8C,KAAK+jD,QAAQurC,GAAYgB,GAAqB,YACrDn0C,EAAKvrC,EAAI,IAAO2rC,EAAOD,GACvBH,EAAKtrC,EAAI,IAAOwrC,EAAOD,GACvBD,EAAK9qC,MAAQ,GAAK8qC,EAAKvrC,EAAI0rC,GAC3BH,EAAK7qC,OAAS,GAAK6qC,EAAKtrC,EAAIurC,GAC5BD,EAAKnzB,OAASnkB,KAAKyoB,KAAKzoB,KAAK8sB,IAAI,GAAIwqB,EAAK9qC,MAAM,GAAKxM,KAAK8sB,IAAI,GAAIwqB,EAAK7qC,OAAO,IAC9E6qC,EAAK7f,SAASt8B,KAAKua,OACnB4hC,EAAKuT,YAAYrrC,KAMzBzkB,EAAQkxF,oBAAsB,SAASzsE,GACrCrkB,KAAK6wF,iBAAiBxsE,EAAI,UAC1BrkB,KAAK6wF,iBAAiBxsE,EAAI,UAC1BrkB,KAAK0vF,sBAMH,SAAS7vF,EAAQD,EAASM,GAE9B,GAAIiD,GAAOjD,EAAoB,GAS/BN,GAAQmxF,yBAA2B,SAASntF,EAAQotF,GAClD,GAAIt8C,GAAQ10C,KAAK00C,KACjB,KAAK,GAAI8H,KAAU9H,GACbA,EAAMjvC,eAAe+2C,IACnB9H,EAAM8H,GAAQkG,kBAAkB9+C,IAClCotF,EAAiBlpF,KAAK00C,IAY9B58C,EAAQqxF,4BAA8B,SAAUrtF,GAC9C,GAAIotF,KAEJ,OADAhxF,MAAK8lD,sBAAsB,2BAA2BliD,EAAOotF,GACtDA,GAWTpxF,EAAQsxF,yBAA2B,SAASv3D,GAC1C,GAAI/oB,GAAI5Q,KAAK6gD,qBAAqBlnB,EAAQ/oB,GACtCC,EAAI7Q,KAAK+gD,qBAAqBpnB,EAAQ9oB,EAE1C,QACEzJ,KAAQwJ,EACRpJ,IAAQqJ,EACR8T,MAAQ/T,EACRgQ,OAAQ/P,IAYZjR,EAAQwgD,WAAa,SAAUzmB,GAE7B,GAAIw3D,GAAiBnxF,KAAKkxF,yBAAyBv3D,GAC/Cq3D,EAAmBhxF,KAAKixF,4BAA4BE,EAIxD,OAAIH,GAAiB1rF,OAAS,EACpBtF,KAAK00C,MAAMs8C,EAAiBA,EAAiB1rF,OAAS,IAGvD,MAWX1F,EAAQwxF,yBAA2B,SAAUxtF,EAAQytF,GACnD,GAAI/7C,GAAQt1C,KAAKs1C,KACjB,KAAK,GAAI8M,KAAU9M,GACbA,EAAM7vC,eAAe28C,IACnB9M,EAAM8M,GAAQM,kBAAkB9+C,IAClCytF,EAAiBvpF,KAAKs6C,IAa9BxiD,EAAQ0xF,4BAA8B,SAAU1tF,GAC9C,GAAIytF,KAEJ,OADArxF,MAAK8lD,sBAAsB,2BAA2BliD,EAAOytF,GACtDA,GAWTzxF,EAAQyiD,WAAa,SAAS1oB,GAC5B,GAAIw3D,GAAiBnxF,KAAKkxF,yBAAyBv3D,GAC/C03D,EAAmBrxF,KAAKsxF,4BAA4BH,EAExD,OAAIE,GAAiB/rF,OAAS,EACrBtF,KAAKs1C,MAAM+7C,EAAiBA,EAAiB/rF,OAAS,IAGtD,MAWX1F,EAAQ2xF,gBAAkB,SAASjxE,GAC7BA,YAAend,GACjBnD,KAAKygD,aAAa/L,MAAMp0B,EAAIjgB,IAAMigB,EAGlCtgB,KAAKygD,aAAanL,MAAMh1B,EAAIjgB,IAAMigB,GAUtC1gB,EAAQ4xF,YAAc,SAASlxE,GACzBA,YAAend,GACjBnD,KAAKm5C,SAASzE,MAAMp0B,EAAIjgB,IAAMigB,EAG9BtgB,KAAKm5C,SAAS7D,MAAMh1B,EAAIjgB,IAAMigB,GAWlC1gB,EAAQ6xF,qBAAuB,SAASnxE,GAClCA,YAAend,SACVnD,MAAKygD,aAAa/L,MAAMp0B,EAAIjgB,UAG5BL,MAAKygD,aAAanL,MAAMh1B,EAAIjgB,KAUvCT,EAAQ2sF,aAAe,SAASmF,GACTvrF,SAAjBurF,IACFA,GAAe,EAEjB,KAAI,GAAIl1C,KAAUx8C,MAAKygD,aAAa/L,MAC/B10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,IACxCx8C,KAAKygD,aAAa/L,MAAM8H,GAAQvU,UAGpC,KAAI,GAAIma,KAAUpiD,MAAKygD,aAAanL,MAC/Bt1C,KAAKygD,aAAanL,MAAM7vC,eAAe28C,IACxCpiD,KAAKygD,aAAanL,MAAM8M,GAAQna,UAIpCjoC,MAAKygD,cAAgB/L,SAASY,UAEV,GAAhBo8C,GACF1xF,KAAKqrB,KAAK,SAAUrrB,KAAKo0B,iBAU7Bx0B,EAAQ+xF,kBAAoB,SAASD,GACdvrF,SAAjBurF,IACFA,GAAe,EAGjB,KAAK,GAAIl1C,KAAUx8C,MAAKygD,aAAa/L,MAC/B10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,IACrCx8C,KAAKygD,aAAa/L,MAAM8H,GAAQsS,YAAc,IAChD9uD,KAAKygD,aAAa/L,MAAM8H,GAAQvU,WAChCjoC,KAAKyxF,qBAAqBzxF,KAAKygD,aAAa/L,MAAM8H,IAKpC,IAAhBk1C,GACF1xF,KAAKqrB,KAAK,SAAUrrB,KAAKo0B,iBAW7Bx0B,EAAQgyF,sBAAwB,WAC9B,GAAI/7E,GAAQ,CACZ,KAAK,GAAI2mC,KAAUx8C,MAAKygD,aAAa/L,MAC/B10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,KACzC3mC,GAAS,EAGb,OAAOA,IASTjW,EAAQiyF,iBAAmB,WACzB,IAAK,GAAIr1C,KAAUx8C,MAAKygD,aAAa/L,MACnC,GAAI10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,GACzC,MAAOx8C,MAAKygD,aAAa/L,MAAM8H,EAGnC,OAAO,OAST58C,EAAQkyF,iBAAmB,WACzB,IAAK,GAAI1vC,KAAUpiD,MAAKygD,aAAanL,MACnC,GAAIt1C,KAAKygD,aAAanL,MAAM7vC,eAAe28C,GACzC,MAAOpiD,MAAKygD,aAAanL,MAAM8M,EAGnC,OAAO,OAUTxiD,EAAQmyF,sBAAwB,WAC9B,GAAIl8E,GAAQ,CACZ,KAAK,GAAIusC,KAAUpiD,MAAKygD,aAAanL,MAC/Bt1C,KAAKygD,aAAanL,MAAM7vC,eAAe28C,KACzCvsC,GAAS,EAGb,OAAOA,IAUTjW,EAAQoyF,wBAA0B,WAChC,GAAIn8E,GAAQ,CACZ,KAAI,GAAI2mC,KAAUx8C,MAAKygD,aAAa/L,MAC/B10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,KACxC3mC,GAAS,EAGb,KAAI,GAAIusC,KAAUpiD,MAAKygD,aAAanL,MAC/Bt1C,KAAKygD,aAAanL,MAAM7vC,eAAe28C,KACxCvsC,GAAS,EAGb,OAAOA,IASTjW,EAAQqyF,kBAAoB,WAC1B,IAAI,GAAIz1C,KAAUx8C,MAAKygD,aAAa/L,MAClC,GAAG10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,GACxC,OAAO,CAGX,KAAI,GAAI4F,KAAUpiD,MAAKygD,aAAanL,MAClC,GAAGt1C,KAAKygD,aAAanL,MAAM7vC,eAAe28C,GACxC,OAAO,CAGX,QAAO,GAUTxiD,EAAQsyF,oBAAsB,WAC5B,IAAI,GAAI11C,KAAUx8C,MAAKygD,aAAa/L,MAClC,GAAG10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,IACpCx8C,KAAKygD,aAAa/L,MAAM8H,GAAQsS,YAAc,EAChD,OAAO,CAIb,QAAO,GASTlvD,EAAQuyF,sBAAwB,SAASh2C,GACvC,IAAK,GAAIh3C,GAAI,EAAGA,EAAIg3C,EAAKqR,aAAaloD,OAAQH,IAAK,CACjD,GAAIw9C,GAAOxG,EAAKqR,aAAaroD,EAC7Bw9C,GAAKza,SACLloC,KAAKuxF,gBAAgB5uC,KAUzB/iD,EAAQwyF,qBAAuB,SAASj2C,GACtC,IAAK,GAAIh3C,GAAI,EAAGA,EAAIg3C,EAAKqR,aAAaloD,OAAQH,IAAK,CACjD,GAAIw9C,GAAOxG,EAAKqR,aAAaroD,EAC7Bw9C,GAAK92C,OAAQ,EACb7L,KAAKwxF,YAAY7uC,KAWrB/iD,EAAQyyF,wBAA0B,SAASl2C,GACzC,IAAK,GAAIh3C,GAAI,EAAGA,EAAIg3C,EAAKqR,aAAaloD,OAAQH,IAAK,CACjD,GAAIw9C,GAAOxG,EAAKqR,aAAaroD,EAC7Bw9C,GAAK1a,WACLjoC,KAAKyxF,qBAAqB9uC,KAgB9B/iD,EAAQ2gD,cAAgB,SAAS38C,EAAQ0uF,EAAQZ,EAAca,GACxCpsF,SAAjBurF,IACFA,GAAe,GAEMvrF,SAAnBosF,IACFA,GAAiB,GAGa,GAA5BvyF,KAAKiyF,qBAA0C,GAAVK,GAAgD,GAA7BtyF,KAAKi9D,sBAC/Dj9D,KAAKusF,cAAa,GAGG,GAAnB3oF,EAAOmmC,UACTnmC,EAAOskC,SACPloC,KAAKuxF,gBAAgB3tF,GACjBA,YAAkBT,IAA6C,GAArCnD,KAAKg9D,8BAA2D,GAAlBu1B,GAC1EvyF,KAAKmyF,sBAAsBvuF,KAI7BA,EAAOqkC,WACPjoC,KAAKyxF,qBAAqB7tF,IAGR,GAAhB8tF,GACF1xF,KAAKqrB,KAAK,SAAUrrB,KAAKo0B,iBAY7Bx0B,EAAQ2iD,YAAc,SAAS3+C,GACT,GAAhBA,EAAOiI,QACTjI,EAAOiI,OAAQ,EACf7L,KAAKqrB,KAAK,YAAY8wB,KAAKv4C,EAAOvD,OAWtCT,EAAQ0iD,aAAe,SAAS1+C,GACV,GAAhBA,EAAOiI,QACTjI,EAAOiI,OAAQ,EACf7L,KAAKwxF,YAAY5tF,GACbA,YAAkBT,IACpBnD,KAAKqrB,KAAK,aAAa8wB,KAAKv4C,EAAOvD,MAGnCuD,YAAkBT,IACpBnD,KAAKoyF,qBAAqBxuF,IAa9BhE,EAAQsgD,aAAe,aAUvBtgD,EAAQqhD,WAAa,SAAStnB,GAC5B,GAAIwiB,GAAOn8C,KAAKogD,WAAWzmB,EAC3B,IAAY,MAARwiB,EACFn8C,KAAKugD,cAAcpE,GAAK,OAErB,CACH,GAAIwG,GAAO3iD,KAAKqiD,WAAW1oB,EACf,OAARgpB,EACF3iD,KAAKugD,cAAcoC,GAAK,GAGxB3iD,KAAKusF,eAGTvsF,KAAKqrB,KAAK,QAASrrB,KAAKo0B,gBACxBp0B,KAAKu5C,WAUP35C,EAAQshD,iBAAmB,SAASvnB,GAClC,GAAIwiB,GAAOn8C,KAAKogD,WAAWzmB,EACf,OAARwiB,GAAyBh2C,SAATg2C,IAElBn8C,KAAK06C,YAAe9pC,EAAM5Q,KAAK6gD,qBAAqBlnB,EAAQ/oB,GACxCC,EAAM7Q,KAAK+gD,qBAAqBpnB,EAAQ9oB,IAC5D7Q,KAAK2qF,YAAYxuC,IAEnBn8C,KAAKqrB,KAAK,cAAerrB,KAAKo0B,iBAUhCx0B,EAAQuhD,cAAgB,SAASxnB,GAC/B,GAAIwiB,GAAOn8C,KAAKogD,WAAWzmB,EAC3B,IAAY,MAARwiB,EACFn8C,KAAKugD,cAAcpE,GAAK,OAErB,CACH,GAAIwG,GAAO3iD,KAAKqiD,WAAW1oB,EACf,OAARgpB,GACF3iD,KAAKugD,cAAcoC,GAAK,GAG5B3iD,KAAKu5C,WASP35C,EAAQwhD,iBAAmB,aAW3BxhD,EAAQw0B,aAAe,WACrB,GAAIo+D,GAAUxyF,KAAKyyF,mBACfC,EAAU1yF,KAAK2yF,kBACnB,QAAQj+C,MAAM89C,EAASl9C,MAAMo9C,IAS/B9yF,EAAQ6yF,iBAAmB,WACzB,GAAIG,KACJ,KAAI,GAAIp2C,KAAUx8C,MAAKygD,aAAa/L,MAC/B10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,IACxCo2C,EAAQ9qF,KAAK00C,EAGjB,OAAOo2C,IASThzF,EAAQ+yF,iBAAmB,WACzB,GAAIC,KACJ,KAAI,GAAIxwC,KAAUpiD,MAAKygD,aAAanL,MAC/Bt1C,KAAKygD,aAAanL,MAAM7vC,eAAe28C,IACxCwwC,EAAQ9qF,KAAKs6C,EAGjB,OAAOwwC,IASThzF,EAAQs0B,aAAe,SAASiT,GAC9B,GAAIhiC,GAAGq1B,EAAMn6B,CAEb,KAAK8mC,GAAkChhC,QAApBghC,EAAU7hC,OAC3B,KAAM,qCAKR,KAFAtF,KAAKusF,cAAa,GAEbpnF,EAAI,EAAGq1B,EAAO2M,EAAU7hC,OAAYk1B,EAAJr1B,EAAUA,IAAK,CAClD9E,EAAK8mC,EAAUhiC,EAEf,IAAIg3C,GAAOn8C,KAAK00C,MAAMr0C,EACtB,KAAK87C,EACH,KAAM,IAAI02C,YAAW,iBAAmBxyF,EAAK,cAE/CL,MAAKugD,cAAcpE,GAAK,GAAK,GAG/BptC,QAAQC,IAAI,+DAEZhP,KAAK+e,UAUPnf,EAAQkzF,YAAc,SAAS3rD,EAAWorD,GACxC,GAAIptF,GAAGq1B,EAAMn6B,CAEb,KAAK8mC,GAAkChhC,QAApBghC,EAAU7hC,OAC3B,KAAM,qCAKR,KAFAtF,KAAKusF,cAAa,GAEbpnF,EAAI,EAAGq1B,EAAO2M,EAAU7hC,OAAYk1B,EAAJr1B,EAAUA,IAAK,CAClD9E,EAAK8mC,EAAUhiC,EAEf,IAAIg3C,GAAOn8C,KAAK00C,MAAMr0C,EACtB,KAAK87C,EACH,KAAM,IAAI02C,YAAW,iBAAmBxyF,EAAK,cAE/CL,MAAKugD,cAAcpE,GAAK,GAAK,EAAKo2C,GAEpCvyF,KAAK+e,UASPnf,EAAQmzF,YAAc,SAAS5rD,GAC7B,GAAIhiC,GAAGq1B,EAAMn6B,CAEb,KAAK8mC,GAAkChhC,QAApBghC,EAAU7hC,OAC3B,KAAM,qCAKR,KAFAtF,KAAKusF,cAAa,GAEbpnF,EAAI,EAAGq1B,EAAO2M,EAAU7hC,OAAYk1B,EAAJr1B,EAAUA,IAAK,CAClD9E,EAAK8mC,EAAUhiC,EAEf,IAAIw9C,GAAO3iD,KAAKs1C,MAAMj1C,EACtB,KAAKsiD,EACH,KAAM,IAAIkwC,YAAW,iBAAmBxyF,EAAK,cAE/CL,MAAKugD,cAAcoC,GAAK,GAAK,EAAK4vC,gBAEpCvyF,KAAK+e,UAOPnf,EAAQqjD,iBAAmB,WACzB,IAAI,GAAIzG,KAAUx8C,MAAKygD,aAAa/L,MAC/B10C,KAAKygD,aAAa/L,MAAMjvC,eAAe+2C,KACnCx8C,KAAK00C,MAAMjvC,eAAe+2C,UACtBx8C,MAAKygD,aAAa/L,MAAM8H,GAIrC,KAAI,GAAI4F,KAAUpiD,MAAKygD,aAAanL,MAC/Bt1C,KAAKygD,aAAanL,MAAM7vC,eAAe28C,KACnCpiD,KAAKs1C,MAAM7vC,eAAe28C,UACtBpiD,MAAKygD,aAAanL,MAAM8M,MASnC,SAASviD,EAAQD,EAASM,GAE9B,GAAIS,GAAOT,EAAoB,GAC3BiD,EAAOjD,EAAoB,IAC3B8C,EAAO9C,EAAoB,GAO/BN,GAAQozF,qBAAuB,WAC7B,KAAOhzF,KAAKk9D,gBAAgBl8C,iBAC1BhhB,KAAKk9D,gBAAgBltD,YAAYhQ,KAAKk9D,gBAAgBj8C,aAW1DrhB,EAAQqzF,4BAA8B,WACpC,IAAK,GAAIC,KAAgBlzF,MAAKk6C,gBACxBl6C,KAAKk6C,gBAAgBz0C,eAAeytF,KACtClzF,KAAKkzF,GAAgBlzF,KAAKk6C,gBAAgBg5C,KAUhDtzF,EAAQuzF,gBAAkB,WACxBnzF,KAAKo+C,UAAYp+C,KAAKo+C,QACtB,IAAIg1C,GAAUhjF,SAASijF,eAAe,2BAClCj2B,EAAWhtD,SAASijF,eAAe,iCACnCl2B,EAAc/sD,SAASijF,eAAe,gCACrB,IAAjBrzF,KAAKo+C,UACPg1C,EAAQniF,MAAMyvB,QAAQ,QACtB08B,EAASnsD,MAAMyvB,QAAQ,QACvBy8B,EAAYlsD,MAAMyvB,QAAQ,OAC1B08B,EAASttC,QAAU9vB,KAAKmzF,gBAAgB1gE,KAAKzyB,QAG7CozF,EAAQniF,MAAMyvB,QAAQ,OACtB08B,EAASnsD,MAAMyvB,QAAQ,OACvBy8B,EAAYlsD,MAAMyvB,QAAQ,QAC1B08B,EAASttC,QAAU,MAErB9vB,KAAK6/C,yBAQPjgD,EAAQigD,sBAAwB,WAE1B7/C,KAAKszF,eACPtzF,KAAKoS,IAAI,SAAUpS,KAAKszF,cAG1B,IAAIx1D,GAAS99B,KAAKk5C,UAAUrb,QAAQ79B,KAAKk5C,UAAUpb,OAmBnD,IAjB6B33B,SAAzBnG,KAAKuzF,kBACPvzF,KAAKuzF,gBAAgB7mC,uBACrB1sD,KAAKuzF,gBAAkBptF,OACvBnG,KAAKwzF,oBAAsB,KAC3BxzF,KAAKo5C,oBAAqB,GAI5Bp5C,KAAKizF,8BAGLjzF,KAAKi6C,kBAAmB,EAGxBj6C,KAAKg9D,8BAA+B,EACpCh9D,KAAKi9D,sBAAuB,EAEP,GAAjBj9D,KAAKo+C,SAAkB,CACzB,KAAOp+C,KAAKk9D,gBAAgBl8C,iBAC1BhhB,KAAKk9D,gBAAgBltD,YAAYhQ,KAAKk9D,gBAAgBj8C,WAIxDjhB,MAAKk9D,gBAAgB37C,UAAY,oHAEcuc,EAAgB,QAAG,mLAGnBA,EAAgB,QAAG,iBAC9B,GAAhC99B,KAAK4xF,yBAAgC5xF,KAAKq0C,iBAAiBC,KAC7Dt0C,KAAKk9D,gBAAgB37C,WAAa,+JAGauc,EAAiB,SAAG,iBAE5B,GAAhC99B,KAAK+xF,yBAAgE,GAAhC/xF,KAAK4xF,0BACjD5xF,KAAKk9D,gBAAgB37C,WAAa,+JAGWuc,EAAiB,SAAG,kBAEnC,GAA5B99B,KAAKiyF,sBACPjyF,KAAKk9D,gBAAgB37C,WAAa,+JAGauc,EAAY,IAAG,iBAKhE,IAAI21D,GAAgBrjF,SAASijF,eAAe,6BAC5CI,GAAc3jE,QAAU9vB,KAAK0zF,sBAAsBjhE,KAAKzyB,KACxD,IAAI2zF,GAAgBvjF,SAASijF,eAAe,iCAE5C,IADAM,EAAc7jE,QAAU9vB,KAAK4zF,sBAAsBnhE,KAAKzyB,MACpB,GAAhCA,KAAK4xF,yBAAgC5xF,KAAKq0C,iBAAiBC,KAAM,CACnE,GAAIu/C,GAAazjF,SAASijF,eAAe,8BACzCQ,GAAW/jE,QAAU9vB,KAAK8zF,UAAUrhE,KAAKzyB,UAEtC,IAAoC,GAAhCA,KAAK+xF,yBAAgE,GAAhC/xF,KAAK4xF,wBAA8B,CAC/E,GAAIiC,GAAazjF,SAASijF,eAAe,8BACzCQ,GAAW/jE,QAAU9vB,KAAK+zF,uBAAuBthE,KAAKzyB,MAExD,GAAgC,GAA5BA,KAAKiyF,oBAA8B,CACrC,GAAI9+C,GAAe/iC,SAASijF,eAAe,4BAC3ClgD,GAAarjB,QAAU9vB,KAAK8/C,gBAAgBrtB,KAAKzyB,MAEnD,GAAIo9D,GAAWhtD,SAASijF,eAAe,gCACvCj2B,GAASttC,QAAU9vB,KAAKmzF,gBAAgB1gE,KAAKzyB,MAE7CA,KAAKszF,cAAgBtzF,KAAK6/C,sBAAsBptB,KAAKzyB,MACrDA,KAAKiS,GAAG,SAAUjS,KAAKszF,mBAEpB,CACHtzF,KAAKm9D,YAAY57C,UAAY,qIAEkBuc,EAAa,KAAI,gBAChE,IAAIk2D,GAAiB5jF,SAASijF,eAAe,oCAC7CW,GAAelkE,QAAU9vB,KAAKmzF,gBAAgB1gE,KAAKzyB,QAWvDJ,EAAQ8zF,sBAAwB,WAE9B1zF,KAAKgzF,uBACDhzF,KAAKszF,eACPtzF,KAAKoS,IAAI,SAAUpS,KAAKszF,cAG1B,IAAIx1D,GAAS99B,KAAKk5C,UAAUrb,QAAQ79B,KAAKk5C,UAAUpb,OAGnD99B,MAAKk9D,gBAAgB37C,UAAY,kHAEcuc,EAAa,KAAI,wMAGaA,EAAuB,eAAI,gBAGxG,IAAIm2D,GAAa7jF,SAASijF,eAAe,0BACzCY,GAAWnkE,QAAU9vB,KAAK6/C,sBAAsBptB,KAAKzyB,MAGrDA,KAAKszF,cAAgBtzF,KAAKk0F,SAASzhE,KAAKzyB,MACxCA,KAAKiS,GAAG,SAAUjS,KAAKszF,gBASzB1zF,EAAQg0F,sBAAwB,WAE9B5zF,KAAKgzF,uBACLhzF,KAAKusF,cAAa,GAClBvsF,KAAKi6C,kBAAmB,CAExB,IAAInc,GAAS99B,KAAKk5C,UAAUrb,QAAQ79B,KAAKk5C,UAAUpb,OAE/C99B,MAAKszF,eACPtzF,KAAKoS,IAAI,SAAUpS,KAAKszF,eAG1BtzF,KAAKusF,eACLvsF,KAAKi9D,sBAAuB,EAC5Bj9D,KAAKg9D,8BAA+B,EAEpCh9D,KAAKk9D,gBAAgB37C,UAAY,kHAEgBuc,EAAa,KAAI,wMAGaA,EAAwB,gBAAI,gBAG3G,IAAIm2D,GAAa7jF,SAASijF,eAAe,0BACzCY,GAAWnkE,QAAU9vB,KAAK6/C,sBAAsBptB,KAAKzyB,MAGrDA,KAAKszF,cAAgBtzF,KAAKm0F,eAAe1hE,KAAKzyB,MAC9CA,KAAKiS,GAAG,SAAUjS,KAAKszF,eAGvBtzF,KAAKk6C,gBAA8B,aAAIl6C,KAAKkgD,aAC5ClgD,KAAKk6C,gBAAkC,iBAAIl6C,KAAKohD,iBAChDphD,KAAKkgD,aAAelgD,KAAKm0F,eACzBn0F,KAAKohD,iBAAmBphD,KAAKo0F,eAG7Bp0F,KAAKu5C,WAQP35C,EAAQm0F,uBAAyB,WAE/B/zF,KAAKgzF,uBACLhzF,KAAKo5C,oBAAqB,EAEtBp5C,KAAKszF,eACPtzF,KAAKoS,IAAI,SAAUpS,KAAKszF,eAG1BtzF,KAAKuzF,gBAAkBvzF,KAAK8xF,mBAC5B9xF,KAAKuzF,gBAAgB9mC,qBAErB,IAAI3uB,GAAS99B,KAAKk5C,UAAUrb,QAAQ79B,KAAKk5C,UAAUpb,OAEnD99B,MAAKk9D,gBAAgB37C,UAAY,kHAEcuc,EAAa,KAAI,wMAGaA,EAA4B,oBAAI,gBAG7G,IAAIm2D,GAAa7jF,SAASijF,eAAe,0BACzCY,GAAWnkE,QAAU9vB,KAAK6/C,sBAAsBptB,KAAKzyB,MAGrDA,KAAKk6C,gBAA8B,aAASl6C,KAAKkgD,aACjDlgD,KAAKk6C,gBAAkC,iBAAKl6C,KAAKohD,iBACjDphD,KAAKk6C,gBAA4B,WAAWl6C,KAAKihD,WACjDjhD,KAAKk6C,gBAAkC,iBAAKl6C,KAAKmgD,iBACjDngD,KAAKk6C,gBAA+B,cAAQl6C,KAAK4gD,cACjD5gD,KAAKkgD,aAAmBlgD,KAAKq0F,mBAC7Br0F,KAAKihD,WAAmB,aACxBjhD,KAAK4gD,cAAmB5gD,KAAKs0F,iBAC7Bt0F,KAAKmgD,iBAAmB,aACxBngD,KAAKohD,iBAAmBphD,KAAKu0F,oBAG7Bv0F,KAAKu5C,WAaP35C,EAAQy0F,mBAAqB,SAAS16D,GACpC35B,KAAKuzF,gBAAgBjrC,aAAa5hC,KAAKuhB,WACvCjoC,KAAKuzF,gBAAgBjrC,aAAa3hC,GAAGshB,WACrCjoC,KAAKwzF,oBAAsBxzF,KAAKuzF,gBAAgB5mC,wBAAwB3sD,KAAK6gD,qBAAqBlnB,EAAQ/oB,GAAG5Q,KAAK+gD,qBAAqBpnB,EAAQ9oB,IAC9G,OAA7B7Q,KAAKwzF,sBACPxzF,KAAKwzF,oBAAoBtrD,SACzBloC,KAAKi6C,kBAAmB,GAE1Bj6C,KAAKu5C,WASP35C,EAAQ00F,iBAAmB,SAASlrF,GAClC,GAAIuwB,GAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,OACZ,QAA7BzpB,KAAKwzF,qBAA6DrtF,SAA7BnG,KAAKwzF,sBAC5CxzF,KAAKwzF,oBAAoB5iF,EAAI5Q,KAAK6gD,qBAAqBlnB,EAAQ/oB,GAC/D5Q,KAAKwzF,oBAAoB3iF,EAAI7Q,KAAK+gD,qBAAqBpnB,EAAQ9oB,IAEjE7Q,KAAKu5C,WAGP35C,EAAQ20F,oBAAsB,SAAS56D,GACrC,GAAI66D,GAAUx0F,KAAKogD,WAAWzmB,EACf,OAAX66D,GACqD,GAAnDx0F,KAAKuzF,gBAAgBjrC,aAAa5hC,KAAKqjB,WACzC/pC,KAAKy0F,UAAUD,EAAQn0F,GAAIL,KAAKuzF,gBAAgB5sE,GAAGtmB,IACnDL,KAAKuzF,gBAAgBjrC,aAAa5hC,KAAKuhB,YAEY,GAAjDjoC,KAAKuzF,gBAAgBjrC,aAAa3hC,GAAGojB,WACvC/pC,KAAKy0F,UAAUz0F,KAAKuzF,gBAAgB7sE,KAAKrmB,GAAIm0F,EAAQn0F,IACrDL,KAAKuzF,gBAAgBjrC,aAAa3hC,GAAGshB,aAIvCjoC,KAAKuzF,gBAAgBzmC,uBAEvB9sD,KAAKi6C,kBAAmB,EACxBj6C,KAAKu5C,WASP35C,EAAQu0F,eAAiB,SAASx6D,GAChC,GAAoC,GAAhC35B,KAAK4xF,wBAA8B,CACrC,GAAIz1C,GAAOn8C,KAAKogD,WAAWzmB,EAEf,OAARwiB,IACEA,EAAK2S,YAAc,EACrB4lC,MAAM10F,KAAKk5C,UAAUrb,QAAQ79B,KAAKk5C,UAAUpb,QAAyB,kBAGrE99B,KAAKugD,cAAcpE,GAAK,GAExBn8C,KAAK+jD,QAAiB,QAAS,MAAc,WAAI,GAAI5gD,IAAM9C,GAAG,oBAAoBL,KAAKk5C,WACvFl5C,KAAK+jD,QAAiB,QAAS,MAAc,WAAEnzC,EAAIurC,EAAKvrC,EACxD5Q,KAAK+jD,QAAiB,QAAS,MAAc,WAAElzC,EAAIsrC,EAAKtrC,EACxD7Q,KAAK+jD,QAAiB,QAAS,MAAiB,cAAI,GAAI5gD,IAAM9C,GAAG,uBAAuBL,KAAKk5C,WAC7Fl5C,KAAK+jD,QAAiB,QAAS,MAAiB,cAAEnzC,EAAIurC,EAAKvrC,EAC3D5Q,KAAK+jD,QAAiB,QAAS,MAAiB,cAAElzC,EAAIsrC,EAAKtrC,EAC3D7Q,KAAK+jD,QAAiB,QAAS,MAAiB,cAAEgD,aAAe,iBAGjE/mD,KAAKs1C,MAAsB,eAAI,GAAItyC,IAAM3C,GAAG,iBAAiBqmB,KAAKy1B,EAAK97C,GAAGsmB,GAAG3mB,KAAK+jD,QAAiB,QAAS,MAAc,WAAE1jD,IAAKL,KAAMA,KAAKk5C,WAC5Il5C,KAAKs1C,MAAsB,eAAE5uB,KAAOy1B,EACpCn8C,KAAKs1C,MAAsB,eAAEsN,WAAY,EACzC5iD,KAAKs1C,MAAsB,eAAEq/C,QAAS,EACtC30F,KAAKs1C,MAAsB,eAAEvL,UAAW,EACxC/pC,KAAKs1C,MAAsB,eAAE3uB,GAAK3mB,KAAK+jD,QAAiB,QAAS,MAAc,WAC/E/jD,KAAKs1C,MAAsB,eAAEwO,IAAM9jD,KAAK+jD,QAAiB,QAAS,MAAiB,cAEnF/jD,KAAKk6C,gBAA+B,cAAIl6C,KAAK4gD,cAC7C5gD,KAAK4gD,cAAgB,SAASx3C,GAC5B,GAAIuwB,GAAU35B,KAAK+/C,YAAY32C,EAAMkwB,QAAQ7P,OAC7CzpB,MAAK+jD,QAAiB,QAAS,MAAc,WAAEnzC,EAAI5Q,KAAK6gD,qBAAqBlnB,EAAQ/oB,GACrF5Q,KAAK+jD,QAAiB,QAAS,MAAc,WAAElzC,EAAI7Q,KAAK+gD,qBAAqBpnB,EAAQ9oB,GACrF7Q,KAAK+jD,QAAiB,QAAS,MAAiB,cAAEnzC,EAAI,IAAO5Q,KAAK6gD,qBAAqBlnB,EAAQ/oB,GAAK5Q,KAAKs1C,MAAsB,eAAE5uB,KAAK9V,GACtI5Q,KAAK+jD,QAAiB,QAAS,MAAiB,cAAElzC,EAAI7Q,KAAK+gD,qBAAqBpnB,EAAQ9oB,IAG1F7Q,KAAKs7C,QAAS,EACdt7C,KAAK8O,YAMblP,EAAQw0F,eAAiB,SAASz6D,GAChC,GAAoC,GAAhC35B,KAAK4xF,wBAA8B,CAGrC5xF,KAAK4gD,cAAgB5gD,KAAKk6C,gBAA+B,oBAClDl6C,MAAKk6C,gBAA+B,aAG3C,IAAI06C,GAAgB50F,KAAKs1C,MAAsB,eAAEwS,aAG1C9nD,MAAKs1C,MAAsB,qBAC3Bt1C,MAAK+jD,QAAiB,QAAS,MAAc,iBAC7C/jD,MAAK+jD,QAAiB,QAAS,MAAiB,aAEvD,IAAI5H,GAAOn8C,KAAKogD,WAAWzmB,EACf,OAARwiB,IACEA,EAAK2S,YAAc,EACrB4lC,MAAM10F,KAAKk5C,UAAUrb,QAAQ79B,KAAKk5C,UAAUpb,QAAyB,kBAGrE99B,KAAK60F,YAAYD,EAAcz4C,EAAK97C,IACpCL,KAAK6/C,0BAGT7/C,KAAKusF,iBAQT3sF,EAAQs0F,SAAW,WACjB,GAAIl0F,KAAKiyF,qBAAwC,GAAjBjyF,KAAKo+C,SAAkB,CACrD,GAAI+yC,GAAiBnxF,KAAKkxF,yBAAyBlxF,KAAKy6C,iBACpDq6C,GAAez0F,GAAGM,EAAKgE,aAAaiM,EAAEugF,EAAe/pF,KAAKyJ,EAAEsgF,EAAe3pF,IAAIue,MAAM,MAAMshC,gBAAe,EAAKC,gBAAe,EAClI,IAAItnD,KAAKq0C,iBAAiBtiC,IAAK,CAC7B,GAAwC,GAApC/R,KAAKq0C,iBAAiBtiC,IAAIzM,OAU5B,KAAM,IAAI9B,OAAM,sEAThB,IAAIqP,GAAK7S,IACTA,MAAKq0C,iBAAiBtiC,IAAI+iF,EAAa,SAASC,GAC9CliF,EAAG+nC,UAAU7oC,IAAIgjF,GACjBliF,EAAGgtC,wBACHhtC,EAAGyoC,QAAS,EACZzoC,EAAG/D,cAWP9O,MAAK46C,UAAU7oC,IAAI+iF,GACnB90F,KAAK6/C,wBACL7/C,KAAKs7C,QAAS,EACdt7C,KAAK8O,UAWXlP,EAAQi1F,YAAc,SAASG,EAAaC,GAC1C,GAAqB,GAAjBj1F,KAAKo+C,SAAkB,CACzB,GAAI02C,IAAepuE,KAAKsuE,EAAcruE,GAAGsuE,EACzC,IAAIj1F,KAAKq0C,iBAAiBG,QAAS,CACjC,GAA4C,GAAxCx0C,KAAKq0C,iBAAiBG,QAAQlvC,OAShC,KAAM,IAAI9B,OAAM,0EARhB,IAAIqP,GAAK7S,IACTA,MAAKq0C,iBAAiBG,QAAQsgD,EAAa,SAASC,GAClDliF,EAAGgoC,UAAU9oC,IAAIgjF,GACjBliF,EAAGyoC,QAAS,EACZzoC,EAAG/D,cAUP9O,MAAK66C,UAAU9oC,IAAI+iF,GACnB90F,KAAKs7C,QAAS,EACdt7C,KAAK8O,UAUXlP,EAAQ60F,UAAY,SAASO,EAAaC,GACxC,GAAqB,GAAjBj1F,KAAKo+C,SAAkB,CACzB,GAAI02C,IAAez0F,GAAIL,KAAKuzF,gBAAgBlzF,GAAIqmB,KAAKsuE,EAAcruE,GAAGsuE,EACtE,IAAIj1F,KAAKq0C,iBAAiBE,SAAU,CAClC,GAA6C,GAAzCv0C,KAAKq0C,iBAAiBE,SAASjvC,OASjC,KAAM,IAAI9B,OAAM,wEARhB,IAAIqP,GAAK7S,IACTA,MAAKq0C,iBAAiBE,SAASugD,EAAa,SAASC,GACnDliF,EAAGgoC,UAAUrnC,OAAOuhF,GACpBliF,EAAGyoC,QAAS,EACZzoC,EAAG/D,cAUP9O,MAAK66C,UAAUrnC,OAAOshF,GACtB90F,KAAKs7C,QAAS,EACdt7C,KAAK8O,UAUXlP,EAAQk0F,UAAY,WAClB,IAAI9zF,KAAKq0C,iBAAiBC,MAAyB,GAAjBt0C,KAAKo+C,SA4BrC,KAAM,IAAI56C,OAAM,iDA3BhB,IAAI24C,GAAOn8C,KAAK6xF,mBACZrgF,GAAQnR,GAAG87C,EAAK97C,GAClB0lB,MAAOo2B,EAAKp2B,MACZjV,MAAOqrC,EAAKruC,QAAQgD,MACpBgkC,MAAOqH,EAAKruC,QAAQgnC,MACpBrqC,OACEiB,WAAWywC,EAAKruC,QAAQrD,MAAMiB,WAC9BC,OAAOwwC,EAAKruC,QAAQrD,MAAMkB,OAC1BC,WACEF,WAAWywC,EAAKruC,QAAQrD,MAAMmB,UAAUF,WACxCC,OAAOwwC,EAAKruC,QAAQrD,MAAMmB,UAAUD,SAG1C,IAAyC,GAArC3L,KAAKq0C,iBAAiBC,KAAKhvC,OAU7B,KAAM,IAAI9B,OAAM,wEAThB,IAAIqP,GAAK7S,IACTA,MAAKq0C,iBAAiBC,KAAK9iC,EAAM,SAAUujF,GACzCliF,EAAG+nC,UAAUpnC,OAAOuhF,GACpBliF,EAAGgtC,wBACHhtC,EAAGyoC,QAAS,EACZzoC,EAAG/D,WAoBXlP,EAAQkgD,gBAAkB,WACxB,IAAK9/C,KAAKiyF,qBAAwC,GAAjBjyF,KAAKo+C,SACpC,GAAKp+C,KAAKkyF,sBA4BRwC,MAAM10F,KAAKk5C,UAAUrb,QAAQ79B,KAAKk5C,UAAUpb,QAA4B,wBA5BzC,CAC/B,GAAIo3D,GAAgBl1F,KAAKyyF,mBACrB0C,EAAgBn1F,KAAK2yF,kBACzB,IAAI3yF,KAAKq0C,iBAAiBI,IAAK,CAC7B,GAAI5hC,GAAK7S,KACLwR,GAAQkjC,MAAOwgD,EAAe5/C,MAAO6/C,EACzC,MAAIn1F,KAAKq0C,iBAAiBI,IAAInvC,OAAS,GAUrC,KAAM,IAAI9B,OAAM,0EAThBxD,MAAKq0C,iBAAiBI,IAAIjjC,EAAM,SAAUujF,GACxCliF,EAAGgoC,UAAU5lC,OAAO8/E,EAAcz/C,OAClCziC,EAAG+nC,UAAU3lC,OAAO8/E,EAAcrgD,OAClC7hC,EAAG05E,eACH15E,EAAGyoC,QAAS,EACZzoC,EAAG/D,cAQP9O,MAAK66C,UAAU5lC,OAAOkgF,GACtBn1F,KAAK46C,UAAU3lC,OAAOigF,GACtBl1F,KAAKusF,eACLvsF,KAAKs7C,QAAS,EACdt7C,KAAK8O,WAYT,SAASjP,EAAQD,EAASM,GAE9B,GACIq+B,IADOr+B,EAAoB,GAClBA,EAAoB,IAEjCN,GAAQy9D,iBAAmB,WAEzB,GAAI+3B,GAAUhlF,SAASijF,eAAe,6BAClC+B,IAAWA,EAAQ1rF,YACrB0rF,EAAQ1rF,WAAWsG,YAAYolF,GAEjChlF,SAASwa,UAAY,MAWvBhrB,EAAQ09D,wBAA0B,WAChCt9D,KAAKq9D,mBAELr9D,KAAKq1F,iBACL,IAAIA,IAAkB,KAAK,OAAO,OAAO,QAAQ,SAAS,UAAU,eAChEC,GAAwB,UAAU,YAAY,YAAY,aAAa,UAAU,WAAW,aAEhGt1F,MAAKq1F,eAAwB,QAAIjlF,SAASM,cAAc,OACxD1Q,KAAKq1F,eAAwB,QAAEh1F,GAAK,6BACpCL,KAAK4c,MAAMtM,YAAYtQ,KAAKq1F,eAAwB,QAGpD,KAAK,GADDxiF,GAAK7S,KACAmF,EAAI,EAAGA,EAAIkwF,EAAe/vF,OAAQH,IAAK,CAC9CnF,KAAKq1F,eAAeA,EAAelwF,IAAMiL,SAASM,cAAc,OAChE1Q,KAAKq1F,eAAeA,EAAelwF,IAAI9E,GAAK,sBAAwBg1F,EAAelwF,GACnFnF,KAAKq1F,eAAeA,EAAelwF,IAAIwC,UAAY,sBAAwB0tF,EAAelwF,GAC1FnF,KAAKq1F,eAAwB,QAAE/kF,YAAYtQ,KAAKq1F,eAAeA,EAAelwF,IAC9E,IAAIzB,GAAS66B,EAAOv+B,KAAKq1F,eAAeA,EAAelwF,KAAMs5B,iBAAiB,GAC9E/6B,GAAOuO,GAAG,QAASY,EAAGyiF,EAAqBnwF,IAAIstB,KAAK5f,IAEtD,GAAInP,GAAS66B,EAAOnuB,UAAWquB,iBAAiB,GAChD/6B,GAAOuO,GAAG,UAAWY,EAAG0iF,cAAc9iE,KAAK5f,KAQ7CjT,EAAQ21F,cAAgB,WACtBv1F,KAAKw/C,eACLx/C,KAAKq/C,eACLr/C,KAAK2/C,aAYP//C,EAAQw/C,QAAU,SAASh2C,GACzBpJ,KAAKy5C,WAAaz5C,KAAKk5C,UAAUrB,SAASC,MAAMjnC,EAChD7Q,KAAK8O,QACL1F,EAAMD,kBAQRvJ,EAAQ0/C,UAAY,SAASl2C,GAC3BpJ,KAAKy5C,YAAcz5C,KAAKk5C,UAAUrB,SAASC,MAAMjnC,EACjD7Q,KAAK8O,QACL1F,EAAMD,kBAQRvJ,EAAQ2/C,UAAY,SAASn2C,GAC3BpJ,KAAKw5C,WAAax5C,KAAKk5C,UAAUrB,SAASC,MAAMlnC,EAChD5Q,KAAK8O,QACL1F,EAAMD,kBAQRvJ,EAAQ6/C,WAAa,SAASr2C,GAC5BpJ,KAAKw5C,YAAcx5C,KAAKk5C,UAAUrB,SAASC,MAAMjnC,EACjD7Q,KAAK8O,QACL1F,EAAMD,kBAQRvJ,EAAQ8/C,QAAU,SAASt2C,GACzBpJ,KAAK05C,cAAgB15C,KAAKk5C,UAAUrB,SAASC,MAAMhe,KACnD95B,KAAK8O,QACL1F,EAAMD,kBAQRvJ,EAAQggD,SAAW,SAASx2C,GAC1BpJ,KAAK05C,eAAiB15C,KAAKk5C,UAAUrB,SAASC,MAAMhe,KACpD95B,KAAK8O,QACL1F,EAAMD,kBAQRvJ,EAAQ+/C,UAAY,SAASv2C,GAC3BpJ,KAAK05C,cAAgB,EACrBtwC,GAASA,EAAMD,kBAQjBvJ,EAAQy/C,aAAe,SAASj2C,GAC9BpJ,KAAKy5C,WAAa,EAClBrwC,GAASA,EAAMD,kBAQjBvJ,EAAQ4/C,aAAe,SAASp2C,GAC9BpJ,KAAKw5C,WAAa,EAClBpwC,GAASA,EAAMD,mBAMb,SAAStJ,EAAQD,GAErBA,EAAQk+C,aAAe,WACrB,IAAK,GAAItB,KAAUx8C,MAAK00C,MACtB,GAAI10C,KAAK00C,MAAMjvC,eAAe+2C,GAAS,CACrC,GAAIL,GAAOn8C,KAAK00C,MAAM8H,EACO,IAAzBL,EAAK4R,mBACP5R,EAAK/G,MAAQ,GACb+G,EAAK6R,qBAAsB,KAYnCpuD,EAAQ47C,yBAA2B,WACjC,GAAiD,GAA7Cx7C,KAAKk5C,UAAUjB,mBAAmBlqC,SAAmB/N,KAAKs6C,YAAYh1C,OAAS,EAAG,CACjC,MAA/CtF,KAAKk5C,UAAUjB,mBAAmB7gB,WAAoE,MAA/Cp3B,KAAKk5C,UAAUjB,mBAAmB7gB,UAC3Fp3B,KAAKk5C,UAAUjB,mBAAmBC,iBAAmB,GAGrDl4C,KAAKk5C,UAAUjB,mBAAmBC,gBAAkBrzC,KAAKsjB,IAAInoB,KAAKk5C,UAAUjB,mBAAmBC,iBAG9C,MAA/Cl4C,KAAKk5C,UAAUjB,mBAAmB7gB,WAAoE,MAA/Cp3B,KAAKk5C,UAAUjB,mBAAmB7gB,UAChD,GAAvCp3B,KAAKk5C,UAAUZ,aAAavqC,UAC9B/N,KAAKk5C,UAAUZ,aAAa7xC,KAAO,YAIM,GAAvCzG,KAAKk5C,UAAUZ,aAAavqC,UAC9B/N,KAAKk5C,UAAUZ,aAAa7xC,KAAO,aAIvC,IACI01C,GAAMK,EADNg5C,EAAU,EAEVC,GAAe,EACfC,GAAiB,CAErB,KAAKl5C,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GACA,IAAdL,EAAK/G,MACPqgD,GAAe,EAGfC,GAAiB,EAEfF,EAAUr5C,EAAK7G,MAAMhwC,SACvBkwF,EAAUr5C,EAAK7G,MAAMhwC,QAM3B,IAAsB,GAAlBowF,GAA0C,GAAhBD,EAC5B,KAAM,IAAIjyF,OAAM,wHAQhBxD,MAAK21F,mBAGiB,GAAlBD,IAC8C,WAA5C11F,KAAKk5C,UAAUjB,mBAAmBG,OACpCp4C,KAAK41F,iBAAiBJ,GAGtBx1F,KAAK61F,2BAKT,IAAIC,GAAe91F,KAAK+1F,kBAGxB/1F,MAAKg2F,uBAAuBF,GAG5B91F,KAAK8O,UAYXlP,EAAQo2F,uBAAyB,SAASF,GACxC,GAAIt5C,GAAQL,CAGZ,KAAK,GAAI/G,KAAS0gD,GAChB,GAAIA,EAAarwF,eAAe2vC,GAE9B,IAAKoH,IAAUs5C,GAAa1gD,GAAOV,MAC7BohD,EAAa1gD,GAAOV,MAAMjvC,eAAe+2C,KAC3CL,EAAO25C,EAAa1gD,GAAOV,MAAM8H,GACkB,MAA/Cx8C,KAAKk5C,UAAUjB,mBAAmB7gB,WAAoE,MAA/Cp3B,KAAKk5C,UAAUjB,mBAAmB7gB,UACvF+kB,EAAKuE,SACPvE,EAAKvrC,EAAIklF,EAAa1gD,GAAO6gD,OAC7B95C,EAAKuE,QAAS,EAEdo1C,EAAa1gD,GAAO6gD,QAAUH,EAAa1gD,GAAO+C,aAIhDgE,EAAKwE,SACPxE,EAAKtrC,EAAIilF,EAAa1gD,GAAO6gD,OAC7B95C,EAAKwE,QAAS,EAEdm1C,EAAa1gD,GAAO6gD,QAAUH,EAAa1gD,GAAO+C,aAGtDn4C,KAAKk2F,kBAAkB/5C,EAAK7G,MAAM6G,EAAK97C,GAAGy1F,EAAa35C,EAAK/G,OAOpEp1C,MAAK+9C,cAUPn+C,EAAQm2F,iBAAmB,WACzB,GACIv5C,GAAQL,EAAM/G,EADd0gD,IAKJ;IAAKt5C,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GAClBL,EAAKuE,QAAS,EACdvE,EAAKwE,QAAS,EACqC,MAA/C3gD,KAAKk5C,UAAUjB,mBAAmB7gB,WAAoE,MAA/Cp3B,KAAKk5C,UAAUjB,mBAAmB7gB,UAC3F+kB,EAAKtrC,EAAI7Q,KAAKk5C,UAAUjB,mBAAmBC,gBAAgBiE,EAAK/G,MAGhE+G,EAAKvrC,EAAI5Q,KAAKk5C,UAAUjB,mBAAmBC,gBAAgBiE,EAAK/G,MAEjCjvC,SAA7B2vF,EAAa35C,EAAK/G,SACpB0gD,EAAa35C,EAAK/G,QAAU3F,OAAQ,EAAGiF,SAAWuhD,OAAO,EAAG99C,YAAY,IAE1E29C,EAAa35C,EAAK/G,OAAO3F,QAAU,EACnCqmD,EAAa35C,EAAK/G,OAAOV,MAAM8H,GAAUL,EAK7C,IAAIg6C,GAAW,CACf,KAAK/gD,IAAS0gD,GACRA,EAAarwF,eAAe2vC,IAC1B+gD,EAAWL,EAAa1gD,GAAO3F,SACjC0mD,EAAWL,EAAa1gD,GAAO3F,OAMrC,KAAK2F,IAAS0gD,GACRA,EAAarwF,eAAe2vC,KAC9B0gD,EAAa1gD,GAAO+C,aAAeg+C,EAAW,GAAKn2F,KAAKk5C,UAAUjB,mBAAmBE,YACrF29C,EAAa1gD,GAAO+C,aAAgB29C,EAAa1gD,GAAO3F,OAAS,EACjEqmD,EAAa1gD,GAAO6gD,OAASH,EAAa1gD,GAAO+C,YAAe,IAAO29C,EAAa1gD,GAAO3F,OAAS,GAAKqmD,EAAa1gD,GAAO+C,YAIjI,OAAO29C,IAUTl2F,EAAQg2F,iBAAmB,SAASJ,GAClC,GAAIh5C,GAAQL,CAGZ,KAAKK,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GACdL,EAAK7G,MAAMhwC,QAAUkwF,IACvBr5C,EAAK/G,MAAQ,GAMnB,KAAKoH,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GACA,GAAdL,EAAK/G,OACPp1C,KAAKo2F,UAAU,EAAEj6C,EAAK7G,MAAM6G,EAAK97C,MAYzCT,EAAQi2F,yBAA2B,WACjC,GAAIr5C,GAAQL,CAGZ,KAAKK,IAAUx8C,MAAK00C,MAClB,GAAI10C,KAAK00C,MAAMjvC,eAAe+2C,GAAS,CACrCx8C,KAAK00C,MAAM8H,GAAQpH,MAAQ,GAC3B,OAKJ,IAAKoH,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GACA,KAAdL,EAAK/G,OACPp1C,KAAKq2F,kBAAkB,IAAMl6C,EAAK7G,MAAM6G,EAAK97C,IAOnD,IAAIkuF,GAAW,GACf,KAAK/xC,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GAClB+xC,EAAWpyC,EAAK/G,MAAQm5C,EAAWpyC,EAAK/G,MAAQm5C,EAKpD,KAAK/xC,IAAUx8C,MAAK00C,MACd10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5BL,EAAOn8C,KAAK00C,MAAM8H,GAClBL,EAAK/G,OAASm5C,IAepB3uF,EAAQ+1F,iBAAmB,WACzB31F,KAAKk5C,UAAUvC,WAAW5oC,SAAU,EACpC/N,KAAKk5C,UAAUlD,QAAQC,UAAUloC,SAAU,EAC3C/N,KAAKk5C,UAAUlD,QAAQU,sBAAsB3oC,SAAU,EACvD/N,KAAK28D,2BACsC,GAAvC38D,KAAKk5C,UAAUZ,aAAavqC,UAC9B/N,KAAKk5C,UAAUZ,aAAaC,SAAU,GAExCv4C,KAAK4+C,0BAcPh/C,EAAQs2F,kBAAoB,SAAS5gD,EAAOghD,EAAUR,EAAcS,GAClE,IAAK,GAAIpxF,GAAI,EAAGA,EAAImwC,EAAMhwC,OAAQH,IAAK,CACrC,GAAIknF,GAAY,IAEdA,GADE/2C,EAAMnwC,GAAG4iD,MAAQuuC,EACPhhD,EAAMnwC,GAAGuhB,KAGT4uB,EAAMnwC,GAAGwhB,EAIvB,IAAI6vE,IAAY,CACmC,OAA/Cx2F,KAAKk5C,UAAUjB,mBAAmB7gB,WAAoE,MAA/Cp3B,KAAKk5C,UAAUjB,mBAAmB7gB,UACvFi1D,EAAU3rC,QAAU2rC,EAAUj3C,MAAQmhD,IACxClK,EAAU3rC,QAAS,EACnB2rC,EAAUz7E,EAAIklF,EAAazJ,EAAUj3C,OAAO6gD,OAC5CO,GAAY,GAIVnK,EAAU1rC,QAAU0rC,EAAUj3C,MAAQmhD,IACxClK,EAAU1rC,QAAS,EACnB0rC,EAAUx7E,EAAIilF,EAAazJ,EAAUj3C,OAAO6gD,OAC5CO,GAAY,GAIC,GAAbA,IACFV,EAAazJ,EAAUj3C,OAAO6gD,QAAUH,EAAazJ,EAAUj3C,OAAO+C,YAClEk0C,EAAU/2C,MAAMhwC,OAAS,GAC3BtF,KAAKk2F,kBAAkB7J,EAAU/2C,MAAM+2C,EAAUhsF,GAAGy1F,EAAazJ,EAAUj3C,UAenFx1C,EAAQw2F,UAAY,SAAShhD,EAAOE,EAAOghD,GACzC,IAAK,GAAInxF,GAAI,EAAGA,EAAImwC,EAAMhwC,OAAQH,IAAK,CACrC,GAAIknF,GAAY,IAEdA,GADE/2C,EAAMnwC,GAAG4iD,MAAQuuC,EACPhhD,EAAMnwC,GAAGuhB,KAGT4uB,EAAMnwC,GAAGwhB,IAEA,IAAnB0lE,EAAUj3C,OAAei3C,EAAUj3C,MAAQA,KAC7Ci3C,EAAUj3C,MAAQA,EACdi3C,EAAU/2C,MAAMhwC,OAAS,GAC3BtF,KAAKo2F,UAAUhhD,EAAM,EAAGi3C,EAAU/2C,MAAO+2C,EAAUhsF,OAe3DT,EAAQy2F,kBAAoB,SAASjhD,EAAOE,EAAOghD,GACjDt2F,KAAK00C,MAAM4hD,GAAUtoC,qBAAsB,CAC3C,KAAK,GAAI7oD,GAAI,EAAGA,EAAImwC,EAAMhwC,OAAQH,IAAK,CACrC,GAAIknF,GAAY,KACZj1D,EAAY,CACZke,GAAMnwC,GAAG4iD,MAAQuuC,GACnBjK,EAAY/2C,EAAMnwC,GAAGuhB,KACrB0Q,EAAY,IAGZi1D,EAAY/2C,EAAMnwC,GAAGwhB,GAEA,IAAnB0lE,EAAUj3C,QACZi3C,EAAUj3C,MAAQA,EAAQhe,GAI9B,IAAK,GAAIjyB,GAAI,EAAGA,EAAImwC,EAAMhwC,OAAQH,IAAK,CACrC,GAAIknF,GAAY,IACgBA,GAA5B/2C,EAAMnwC,GAAG4iD,MAAQuuC,EAAuBhhD,EAAMnwC,GAAGuhB,KACnC4uB,EAAMnwC,GAAGwhB,GACvB0lE,EAAU/2C,MAAMhwC,OAAS,GAAK+mF,EAAUr+B,uBAAwB,GAClEhuD,KAAKq2F,kBAAkBhK,EAAUj3C,MAAOi3C,EAAU/2C,MAAO+2C,EAAUhsF,MAWzET,EAAQ62F,cAAgB,WACtB,IAAK,GAAIj6C,KAAUx8C,MAAK00C,MAClB10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5Bx8C,KAAK00C,MAAM8H,GAAQkE,QAAS,EAC5B1gD,KAAK00C,MAAM8H,GAAQmE,QAAS,KAQ9B,SAAS9gD,EAAQD,EAASM,GAuf9B,QAASw2F,KACP12F,KAAKk5C,UAAUZ,aAAavqC,SAAW/N,KAAKk5C,UAAUZ,aAAavqC,OACnE,IAAI4oF,GAAqBvmF,SAASijF,eAAe,qBACCsD,GAAmB1lF,MAAMvF,WAAhC,GAAvC1L,KAAKk5C,UAAUZ,aAAavqC,QAAwD,UACR,UAEhF/N,KAAK4+C,wBAAuB,GAO9B,QAASg4C,KACP,IAAK,GAAIp6C,KAAUx8C,MAAKo6C,iBAClBp6C,KAAKo6C,iBAAiB30C,eAAe+2C,KACvCx8C,KAAKo6C,iBAAiBoC,GAAQ2R,GAAK,EAAInuD,KAAKo6C,iBAAiBoC,GAAQ4R,GAAK,EAC1EpuD,KAAKo6C,iBAAiBoC,GAAQyR,GAAK,EAAIjuD,KAAKo6C,iBAAiBoC,GAAQ0R,GAAK,EAG7B,IAA7CluD,KAAKk5C,UAAUjB,mBAAmBlqC,SACpC/N,KAAKw7C,2BACLq7C,EAAiBt2F,KAAKP,KAAM,aAAc,EAAG,8CAC7C62F,EAAiBt2F,KAAKP,KAAM,aAAc,EAAG,0BAC7C62F,EAAiBt2F,KAAKP,KAAM,aAAc,EAAG,0BAC7C62F,EAAiBt2F,KAAKP,KAAM,aAAc,EAAG,wBAC7C62F,EAAiBt2F,KAAKP,KAAM,eAAgB,EAAG,oBAG/CA,KAAK0qF,kBAEP1qF,KAAKs7C,QAAS,EACdt7C,KAAK8O,QAMP,QAASgoF,KACP,GAAIhpF,GAAU,gDACVipF,KACAC,EAAe5mF,SAASijF,eAAe,wBACvC4D,EAAe7mF,SAASijF,eAAe,uBAC3C,IAA4B,GAAxB2D,EAAaE,QAAiB,CAMhC,GALIl3F,KAAKk5C,UAAUlD,QAAQC,UAAUE,uBAAyBn2C,KAAKm3F,gBAAgBnhD,QAAQC,UAAUE,uBAAwB4gD,EAAgBjvF,KAAK,0BAA4B9H,KAAKk5C,UAAUlD,QAAQC,UAAUE,uBAC3Mn2C,KAAKk5C,UAAUlD,QAAQI,gBAAkBp2C,KAAKm3F,gBAAgBnhD,QAAQC,UAAUG,gBAAyC2gD,EAAgBjvF,KAAK,mBAAqB9H,KAAKk5C,UAAUlD,QAAQI,gBAC1Lp2C,KAAKk5C,UAAUlD,QAAQK,cAAgBr2C,KAAKm3F,gBAAgBnhD,QAAQC,UAAUI,cAA2C0gD,EAAgBjvF,KAAK,iBAAmB9H,KAAKk5C,UAAUlD,QAAQK,cACxLr2C,KAAKk5C,UAAUlD,QAAQM,gBAAkBt2C,KAAKm3F,gBAAgBnhD,QAAQC,UAAUK,gBAAyCygD,EAAgBjvF,KAAK,mBAAqB9H,KAAKk5C,UAAUlD,QAAQM,gBAC1Lt2C,KAAKk5C,UAAUlD,QAAQO,SAAWv2C,KAAKm3F,gBAAgBnhD,QAAQC,UAAUM,SAAgDwgD,EAAgBjvF,KAAK,YAAc9H,KAAKk5C,UAAUlD,QAAQO,SACzJ,GAA1BwgD,EAAgBzxF,OAAa,CAC/BwI,EAAU,kBACVA,GAAW,wBACX,KAAK,GAAI3I,GAAI,EAAGA,EAAI4xF,EAAgBzxF,OAAQH,IAC1C2I,GAAWipF,EAAgB5xF,GACvBA,EAAI4xF,EAAgBzxF,OAAS,IAC/BwI,GAAW,KAGfA,IAAW,KAET9N,KAAKk5C,UAAUZ,aAAavqC,SAAW/N,KAAKm3F,gBAAgB7+C,aAAavqC,UAC7C,GAA1BgpF,EAAgBzxF,OAAcwI,EAAU,kBACtCA,GAAW,KACjBA,GAAW,iBAAmB9N,KAAKk5C,UAAUZ,aAAavqC,SAE7C,iDAAXD,IACFA,GAAW,UAGV,IAA4B,GAAxBmpF,EAAaC,QAAiB,CAQrC,GAPAppF,EAAU,kBACVA,GAAW,wCACP9N,KAAKk5C,UAAUlD,QAAQQ,UAAUC,cAAgBz2C,KAAKm3F,gBAAgBnhD,QAAQQ,UAAUC,cAAgBsgD,EAAgBjvF,KAAK,iBAAmB9H,KAAKk5C,UAAUlD,QAAQQ,UAAUC,cACjLz2C,KAAKk5C,UAAUlD,QAAQI,gBAAkBp2C,KAAKm3F,gBAAgBnhD,QAAQQ,UAAUJ,gBAAwB2gD,EAAgBjvF,KAAK,mBAAqB9H,KAAKk5C,UAAUlD,QAAQI,gBACzKp2C,KAAKk5C,UAAUlD,QAAQK,cAAgBr2C,KAAKm3F,gBAAgBnhD,QAAQQ,UAAUH,cAA0B0gD,EAAgBjvF,KAAK,iBAAmB9H,KAAKk5C,UAAUlD,QAAQK,cACvKr2C,KAAKk5C,UAAUlD,QAAQM,gBAAkBt2C,KAAKm3F,gBAAgBnhD,QAAQQ,UAAUF,gBAAwBygD,EAAgBjvF,KAAK,mBAAqB9H,KAAKk5C,UAAUlD,QAAQM,gBACzKt2C,KAAKk5C,UAAUlD,QAAQO,SAAWv2C,KAAKm3F,gBAAgBnhD,QAAQQ,UAAUD,SAA+BwgD,EAAgBjvF,KAAK,YAAc9H,KAAKk5C,UAAUlD,QAAQO,SACxI,GAA1BwgD,EAAgBzxF,OAAa,CAC/BwI,GAAW,gBACX,KAAK,GAAI3I,GAAI,EAAGA,EAAI4xF,EAAgBzxF,OAAQH,IAC1C2I,GAAWipF,EAAgB5xF,GACvBA,EAAI4xF,EAAgBzxF,OAAS,IAC/BwI,GAAW,KAGfA,IAAW,KAEiB,GAA1BipF,EAAgBzxF,SAAcwI,GAAW,KACzC9N,KAAKk5C,UAAUZ,cAAgBt4C,KAAKm3F,gBAAgB7+C,eACtDxqC,GAAW,mBAAqB9N,KAAKk5C,UAAUZ,cAEjDxqC,GAAW,SAER,CAOH,GANAA,EAAU,kBACN9N,KAAKk5C,UAAUlD,QAAQU,sBAAsBD,cAAgBz2C,KAAKm3F,gBAAgBnhD,QAAQU,sBAAsBD,cAAgBsgD,EAAgBjvF,KAAK,iBAAmB9H,KAAKk5C,UAAUlD,QAAQU,sBAAsBD,cACrNz2C,KAAKk5C,UAAUlD,QAAQI,gBAAkBp2C,KAAKm3F,gBAAgBnhD,QAAQU,sBAAsBN,gBAAwB2gD,EAAgBjvF,KAAK,mBAAqB9H,KAAKk5C,UAAUlD,QAAQI,gBACrLp2C,KAAKk5C,UAAUlD,QAAQK,cAAgBr2C,KAAKm3F,gBAAgBnhD,QAAQU,sBAAsBL,cAA0B0gD,EAAgBjvF,KAAK,iBAAmB9H,KAAKk5C,UAAUlD,QAAQK,cACnLr2C,KAAKk5C,UAAUlD,QAAQM,gBAAkBt2C,KAAKm3F,gBAAgBnhD,QAAQU,sBAAsBJ,gBAAwBygD,EAAgBjvF,KAAK,mBAAqB9H,KAAKk5C,UAAUlD,QAAQM,gBACrLt2C,KAAKk5C,UAAUlD,QAAQO,SAAWv2C,KAAKm3F,gBAAgBnhD,QAAQU,sBAAsBH,SAA+BwgD,EAAgBjvF,KAAK,YAAc9H,KAAKk5C,UAAUlD,QAAQO,SACpJ,GAA1BwgD,EAAgBzxF,OAAa,CAC/BwI,GAAW,oCACX,KAAK,GAAI3I,GAAI,EAAGA,EAAI4xF,EAAgBzxF,OAAQH,IAC1C2I,GAAWipF,EAAgB5xF,GACvBA,EAAI4xF,EAAgBzxF,OAAS,IAC/BwI,GAAW,KAGfA,IAAW,MAOb,GALAA,GAAW,wBACXipF,KACI/2F,KAAKk5C,UAAUjB,mBAAmB7gB,WAAap3B,KAAKm3F,gBAAgBl/C,mBAAmB7gB,WAAkC2/D,EAAgBjvF,KAAK,cAAgB9H,KAAKk5C,UAAUjB,mBAAmB7gB,WAChMvyB,KAAKsjB,IAAInoB,KAAKk5C,UAAUjB,mBAAmBC,kBAAoBl4C,KAAKm3F,gBAAgBl/C,mBAAmBC,iBAAkB6+C,EAAgBjvF,KAAK,oBAAsB9H,KAAKk5C,UAAUjB,mBAAmBC,iBACtMl4C,KAAKk5C,UAAUjB,mBAAmBE,aAAen4C,KAAKm3F,gBAAgBl/C,mBAAmBE,aAAgC4+C,EAAgBjvF,KAAK,gBAAkB9H,KAAKk5C,UAAUjB,mBAAmBE,aACxK,GAA1B4+C,EAAgBzxF,OAAa,CAC/B,IAAK,GAAIH,GAAI,EAAGA,EAAI4xF,EAAgBzxF,OAAQH,IAC1C2I,GAAWipF,EAAgB5xF,GACvBA,EAAI4xF,EAAgBzxF,OAAS,IAC/BwI,GAAW,KAGfA,IAAW,QAGXA,IAAW,eAEbA,IAAW,KAIb9N,KAAKo3F,WAAW71E,UAAYzT,EAO9B,QAASupF,KACP,GAAIxjF,IAAO,iBAAkB,gBAAiB,iBAC1CyjF,EAAclnF,SAASmnF,cAAc,6CAA6CvwF,MAClFwwF,EAAU,SAAWF,EAAc,SACnCG,EAAQrnF,SAASijF,eAAemE,EACpCC,GAAMxmF,MAAMyvB,QAAU,OACtB,KAAK,GAAIv7B,GAAI,EAAGA,EAAI0O,EAAIvO,OAAQH,IAC1B0O,EAAI1O,IAAMqyF,IACZC,EAAQrnF,SAASijF,eAAex/E,EAAI1O,IACpCsyF,EAAMxmF,MAAMyvB,QAAU,OAG1B1gC,MAAKy2F,gBACc,KAAfa,GACFt3F,KAAKk5C,UAAUjB,mBAAmBlqC,SAAU,EAC5C/N,KAAKk5C,UAAUlD,QAAQU,sBAAsB3oC,SAAU,EACvD/N,KAAKk5C,UAAUlD,QAAQC,UAAUloC,SAAU,GAErB,KAAfupF,EAC0C,GAA7Ct3F,KAAKk5C,UAAUjB,mBAAmBlqC,UACpC/N,KAAKk5C,UAAUjB,mBAAmBlqC,SAAU,EAC5C/N,KAAKk5C,UAAUlD,QAAQU,sBAAsB3oC,SAAU,EACvD/N,KAAKk5C,UAAUlD,QAAQC,UAAUloC,SAAU,EAC3C/N,KAAKk5C,UAAUZ,aAAavqC,SAAU,EACtC/N,KAAKw7C,6BAIPx7C,KAAKk5C,UAAUjB,mBAAmBlqC,SAAU,EAC5C/N,KAAKk5C,UAAUlD,QAAQU,sBAAsB3oC,SAAU,EACvD/N,KAAKk5C,UAAUlD,QAAQC,UAAUloC,SAAU,GAE7C/N,KAAK28D,0BACL,IAAIg6B,GAAqBvmF,SAASijF,eAAe,qBACCsD,GAAmB1lF,MAAMvF,WAAhC,GAAvC1L,KAAKk5C,UAAUZ,aAAavqC,QAAwD,UACR,UAChF/N,KAAKs7C,QAAS,EACdt7C,KAAK8O,QAWP,QAAS+nF,GAAkBx2F,EAAGqU,EAAIgjF,GAChC,GAAIC,GAAUt3F,EAAK,SACfu3F,EAAaxnF,SAASijF,eAAehzF,GAAI2G,KAEzC0N,aAAe9O,QACjBwK,SAASijF,eAAesE,GAAS3wF,MAAQ0N,EAAI0T,SAASwvE,IACtD53F,KAAK63F,yBAAyBH,EAAsBhjF,EAAI0T,SAASwvE,OAGjExnF,SAASijF,eAAesE,GAAS3wF,MAAQohB,SAAS1T,GAAOiO,WAAWi1E,GACpE53F,KAAK63F,yBAAyBH,EAAuBtvE,SAAS1T,GAAOiO,WAAWi1E,MAGrD,gCAAzBF,GACuB,sCAAzBA,GACyB,kCAAzBA,IACA13F,KAAKw7C,2BAEPx7C,KAAKs7C,QAAS,EACdt7C,KAAK8O,QAlsBP,GAAInO,GAAOT,EAAoB,GAC3B43F,EAAiB53F,EAAoB,IACrC63F,EAA4B73F,EAAoB,IAChD83F,EAAiB93F,EAAoB,GAOzCN,GAAQq4F,iBAAmB,WACzBj4F,KAAKk5C,UAAUlD,QAAQC,UAAUloC,SAAW/N,KAAKk5C,UAAUlD,QAAQC,UAAUloC,QAC7E/N,KAAK28D,2BACL38D,KAAKs7C,QAAS,EACdt7C,KAAK8O,SASPlP,EAAQ+8D,yBAA2B,WAEe,GAA5C38D,KAAKk5C,UAAUlD,QAAQC,UAAUloC,SACnC/N,KAAK08D,YAAYo7B,GACjB93F,KAAK08D,YAAYq7B,GAEjB/3F,KAAKk5C,UAAUlD,QAAQI,eAAiBp2C,KAAKk5C,UAAUlD,QAAQC,UAAUG,eACzEp2C,KAAKk5C,UAAUlD,QAAQK,aAAer2C,KAAKk5C,UAAUlD,QAAQC,UAAUI,aACvEr2C,KAAKk5C,UAAUlD,QAAQM,eAAiBt2C,KAAKk5C,UAAUlD,QAAQC,UAAUK,eACzEt2C,KAAKk5C,UAAUlD,QAAQO,QAAUv2C,KAAKk5C,UAAUlD,QAAQC,UAAUM,QAElEv2C,KAAKu8D,WAAWy7B,IAE+C,GAAxDh4F,KAAKk5C,UAAUlD,QAAQU,sBAAsB3oC,SACpD/N,KAAK08D,YAAYs7B,GACjBh4F,KAAK08D,YAAYo7B,GAEjB93F,KAAKk5C,UAAUlD,QAAQI,eAAiBp2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBN,eACrFp2C,KAAKk5C,UAAUlD,QAAQK,aAAer2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBL,aACnFr2C,KAAKk5C,UAAUlD,QAAQM,eAAiBt2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBJ,eACrFt2C,KAAKk5C,UAAUlD,QAAQO,QAAUv2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBH,QAE9Ev2C,KAAKu8D,WAAWw7B,KAGhB/3F,KAAK08D,YAAYs7B,GACjBh4F,KAAK08D,YAAYq7B,GACjB/3F,KAAKk4F,cAAgB/xF,OAErBnG,KAAKk5C,UAAUlD,QAAQI,eAAiBp2C,KAAKk5C,UAAUlD,QAAQQ,UAAUJ,eACzEp2C,KAAKk5C,UAAUlD,QAAQK,aAAer2C,KAAKk5C,UAAUlD,QAAQQ,UAAUH,aACvEr2C,KAAKk5C,UAAUlD,QAAQM,eAAiBt2C,KAAKk5C,UAAUlD,QAAQQ,UAAUF,eACzEt2C,KAAKk5C,UAAUlD,QAAQO,QAAUv2C,KAAKk5C,UAAUlD,QAAQQ,UAAUD,QAElEv2C,KAAKu8D,WAAWu7B,KAUpBl4F,EAAQu4F,4BAA8B,WAEL,GAA3Bn4F,KAAKs6C,YAAYh1C,OACnBtF,KAAK00C,MAAM10C,KAAKs6C,YAAY,IAAIoW,UAAU,EAAG,IAIzC1wD,KAAKs6C,YAAYh1C,OAAStF,KAAKk5C,UAAUvC,WAAWE,kBAAyD,GAArC72C,KAAKk5C,UAAUvC,WAAW5oC,SACpG/N,KAAKmqF,aAAanqF,KAAKk5C,UAAUvC,WAAWG,eAAe,GAI7D92C,KAAKo4F,qBAUTx4F,EAAQw4F,iBAAmB,WAKzBp4F,KAAKq4F,gCACLr4F,KAAKs4F,uBAEDt4F,KAAKk5C,UAAUlD,QAAQM,eAAiB,IACC,GAAvCt2C,KAAKk5C,UAAUZ,aAAavqC,SAA0D,GAAvC/N,KAAKk5C,UAAUZ,aAAaC,QAC7Ev4C,KAAKu4F,oCAGuD,GAAxDv4F,KAAKk5C,UAAUlD,QAAQU,sBAAsB3oC,QAC/C/N,KAAKw4F,qCAGLx4F,KAAKy4F,2BAeb74F,EAAQujD,wBAA0B,WAChC,GAA2C,GAAvCnjD,KAAKk5C,UAAUZ,aAAavqC,SAA0D,GAAvC/N,KAAKk5C,UAAUZ,aAAaC,QAAiB,CAC9Fv4C,KAAKo6C,oBACLp6C,KAAKq6C,yBAEL,KAAK,GAAImC,KAAUx8C,MAAK00C,MAClB10C,KAAK00C,MAAMjvC,eAAe+2C,KAC5Bx8C,KAAKo6C,iBAAiBoC,GAAUx8C,KAAK00C,MAAM8H,GAG/C,IAAIk8C,GAAe14F,KAAK+jD,QAAiB,QAAS,KAClD,KAAK,GAAI40C,KAAiBD,GACpBA,EAAajzF,eAAekzF,KAC1B34F,KAAKs1C,MAAM7vC,eAAeizF,EAAaC,GAAe5xC,cACxD/mD,KAAKo6C,iBAAiBu+C,GAAiBD,EAAaC,GAGpDD,EAAaC,GAAejoC,UAAU,EAAG,GAK/C,KAAK,GAAIrT,KAAOr9C,MAAKo6C,iBACfp6C,KAAKo6C,iBAAiB30C,eAAe43C,IACvCr9C,KAAKq6C,uBAAuBvyC,KAAKu1C,OAKrCr9C,MAAKo6C,iBAAmBp6C,KAAK00C,MAC7B10C,KAAKq6C,uBAAyBr6C,KAAKs6C,aAUvC16C,EAAQy4F,8BAAgC,WACtC,GAAIn8E,GAAIC,EAAI8G,EAAUk5B,EAAMh3C,EACxBuvC,EAAQ10C,KAAKo6C,iBACbw+C,EAAU54F,KAAKk5C,UAAUlD,QAAQI,eACjCyiD,EAAe,CAEnB,KAAK1zF,EAAI,EAAGA,EAAInF,KAAKq6C,uBAAuB/0C,OAAQH,IAClDg3C,EAAOzH,EAAM10C,KAAKq6C,uBAAuBl1C,IACzCg3C,EAAK5F,QAAUv2C,KAAKk5C,UAAUlD,QAAQO,QAEhB,WAAlBv2C,KAAK8qF,WAAqC,GAAX8N,GACjC18E,GAAMigC,EAAKvrC,EACXuL,GAAMggC,EAAKtrC,EACXoS,EAAWpe,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAEpC08E,EAA4B,GAAZ51E,EAAiB,EAAK21E,EAAU31E,EAChDk5B,EAAK8R,GAAK/xC,EAAK28E,EACf18C,EAAK+R,GAAK/xC,EAAK08E,IAGf18C,EAAK8R,GAAK,EACV9R,EAAK+R,GAAK,IAahBtuD,EAAQ64F,uBAAyB,WAC/B,GAAIK,GAAYn2C,EAAMP,EAClBlmC,EAAIC,EAAI8xC,EAAIC,EAAI6qC,EAAa91E,EAC7BqyB,EAAQt1C,KAAKs1C,KAGjB,KAAK8M,IAAU9M,GACTA,EAAM7vC,eAAe28C,KACvBO,EAAOrN,EAAM8M,GACTO,EAAKC,WAEH5iD,KAAK00C,MAAMjvC,eAAek9C,EAAKoF,OAAS/nD,KAAK00C,MAAMjvC,eAAek9C,EAAKmF,UACzEgxC,EAAan2C,EAAK3M,QAAQK,aAE1ByiD,IAAen2C,EAAKh8B,GAAGmoC,YAAcnM,EAAKj8B,KAAKooC,YAAc,GAAK9uD,KAAKk5C,UAAUvC,WAAWY,WAE5Fr7B,EAAMymC,EAAKj8B,KAAK9V,EAAI+xC,EAAKh8B,GAAG/V,EAC5BuL,EAAMwmC,EAAKj8B,KAAK7V,EAAI8xC,EAAKh8B,GAAG9V,EAC5BoS,EAAWpe,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAEpB,GAAZ8G,IACFA,EAAW,KAIb81E,EAAc/4F,KAAKk5C,UAAUlD,QAAQM,gBAAkBwiD,EAAa71E,GAAYA,EAEhFgrC,EAAK/xC,EAAK68E,EACV7qC,EAAK/xC,EAAK48E,EAEVp2C,EAAKj8B,KAAKunC,IAAMA,EAChBtL,EAAKj8B,KAAKwnC,IAAMA,EAChBvL,EAAKh8B,GAAGsnC,IAAMA,EACdtL,EAAKh8B,GAAGunC,IAAMA,KAexBtuD,EAAQ24F,kCAAoC,WAC1C,GAAIO,GAAYn2C,EAAMP,EAAQ42C,EAC1B1jD,EAAQt1C,KAAKs1C,KAGjB,KAAK8M,IAAU9M,GACb,GAAIA,EAAM7vC,eAAe28C,KACvBO,EAAOrN,EAAM8M,GACTO,EAAKC,WAEH5iD,KAAK00C,MAAMjvC,eAAek9C,EAAKoF,OAAS/nD,KAAK00C,MAAMjvC,eAAek9C,EAAKmF,SACzD,MAAZnF,EAAKmB,KAAa,CACpB,GAAIm1C,GAAQt2C,EAAKh8B,GACbuyE,EAAQv2C,EAAKmB,IACbq1C,EAAQx2C,EAAKj8B,IAEjBoyE,GAAan2C,EAAK3M,QAAQK,aAE1B2iD,EAAsBC,EAAMnqC,YAAcqqC,EAAMrqC,YAAc,EAG9DgqC,GAAcE,EAAsBh5F,KAAKk5C,UAAUvC,WAAWY,WAC9Dv3C,KAAKo5F,sBAAsBH,EAAOC,EAAO,GAAMJ,GAC/C94F,KAAKo5F,sBAAsBF,EAAOC,EAAO,GAAML,KAiB3Dl5F,EAAQw5F,sBAAwB,SAAUH,EAAOC,EAAOJ,GACtD,GAAI58E,GAAIC,EAAI8xC,EAAIC,EAAI6qC,EAAa91E,CAEjC/G,GAAM+8E,EAAMroF,EAAIsoF,EAAMtoF,EACtBuL,EAAM88E,EAAMpoF,EAAIqoF,EAAMroF,EACtBoS,EAAWpe,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAEpB,GAAZ8G,IACFA,EAAW,KAIb81E,EAAc/4F,KAAKk5C,UAAUlD,QAAQM,gBAAkBwiD,EAAa71E,GAAYA,EAEhFgrC,EAAK/xC,EAAK68E,EACV7qC,EAAK/xC,EAAK48E,EAEVE,EAAMhrC,IAAMA,EACZgrC,EAAM/qC,IAAMA,EACZgrC,EAAMjrC,IAAMA,EACZirC,EAAMhrC,IAAMA,GAQdtuD,EAAQg9D,0BAA4B,WAClC,GAAkCz2D,SAA9BnG,KAAKq5F,qBAAoC,CAC3Cr5F,KAAKm3F,mBACLx2F,EAAKyF,WAAWpG,KAAKm3F,gBAAgBn3F,KAAKk5C,UAE1C,IAAIogD,IAAgC,KAAM,KAAM,KAAM,KACtDt5F,MAAKq5F,qBAAuBjpF,SAASM,cAAc,OACnD1Q,KAAKq5F,qBAAqB1xF,UAAY,uBACtC3H,KAAKq5F,qBAAqB93E,UAAY,onBAW2E,GAAKvhB,KAAKk5C,UAAUlD,QAAQC,UAAUE,sBAAyB,wGAA2G,GAAKn2C,KAAKk5C,UAAUlD,QAAQC,UAAUE,sBAAyB,4JAGpPn2C,KAAKk5C,UAAUlD,QAAQC,UAAUG,eAAiB,wFAA0Fp2C,KAAKk5C,UAAUlD,QAAQC,UAAUG,eAAiB,2JAG/Lp2C,KAAKk5C,UAAUlD,QAAQC,UAAUI,aAAe,sFAAwFr2C,KAAKk5C,UAAUlD,QAAQC,UAAUI,aAAe,6JAGtLr2C,KAAKk5C,UAAUlD,QAAQC,UAAUK,eAAiB,0FAA4Ft2C,KAAKk5C,UAAUlD,QAAQC,UAAUK,eAAiB,sJAGvMt2C,KAAKk5C,UAAUlD,QAAQC,UAAUM,QAAU,4FAA8Fv2C,KAAKk5C,UAAUlD,QAAQC,UAAUM,QAAU,sPAM/Kv2C,KAAKk5C,UAAUlD,QAAQQ,UAAUC,aAAe,kGAAoGz2C,KAAKk5C,UAAUlD,QAAQQ,UAAUC,aAAe,2JAGnMz2C,KAAKk5C,UAAUlD,QAAQQ,UAAUJ,eAAiB,uFAAyFp2C,KAAKk5C,UAAUlD,QAAQQ,UAAUJ,eAAiB,0JAG9Lp2C,KAAKk5C,UAAUlD,QAAQQ,UAAUH,aAAe,qFAAuFr2C,KAAKk5C,UAAUlD,QAAQQ,UAAUH,aAAe,4JAGrLr2C,KAAKk5C,UAAUlD,QAAQQ,UAAUF,eAAiB,yFAA2Ft2C,KAAKk5C,UAAUlD,QAAQQ,UAAUF,eAAiB,qJAGtMt2C,KAAKk5C,UAAUlD,QAAQQ,UAAUD,QAAU,2FAA6Fv2C,KAAKk5C,UAAUlD,QAAQQ,UAAUD,QAAU,oQAM9Kv2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBD,aAAe,kGAAoGz2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBD,aAAe,2JAG3Nz2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBN,eAAiB,uFAAyFp2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBN,eAAiB,0JAGtNp2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBL,aAAe,qFAAuFr2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBL,aAAe,4JAG7Mr2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBJ,eAAiB,yFAA2Ft2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBJ,eAAiB,qJAG9Nt2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBH,QAAU,2FAA6Fv2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBH,QAAU,uJAG3M+iD,EAA6BhzF,QAAQtG,KAAKk5C,UAAUjB,mBAAmB7gB,WAAa,0FAA4Fp3B,KAAKk5C,UAAUjB,mBAAmB7gB,UAAY,oKAGtNp3B,KAAKk5C,UAAUjB,mBAAmBC,gBAAkB,yFAA2Fl4C,KAAKk5C,UAAUjB,mBAAmBC,gBAAkB,6JAGvMl4C,KAAKk5C,UAAUjB,mBAAmBE,YAAc,wFAA0Fn4C,KAAKk5C,UAAUjB,mBAAmBE,YAAc,odAU9Rn4C,KAAKuX,iBAAiBgiF,cAAc9oF,aAAazQ,KAAKq5F,qBAAsBr5F,KAAKuX,kBACjFvX,KAAKo3F,WAAahnF,SAASM,cAAc,OACzC1Q,KAAKo3F,WAAWnmF,MAAMikC,SAAW,OACjCl1C,KAAKo3F,WAAWnmF,MAAMuhD,WAAa,UACnCxyD,KAAKuX,iBAAiBgiF,cAAc9oF,aAAazQ,KAAKo3F,WAAYp3F,KAAKuX,iBAEvE,IAAIiiF,EACJA,GAAeppF,SAASijF,eAAe,eACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,cAAe,GAAI,2CACvEw5F,EAAeppF,SAASijF,eAAe,eACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,cAAe,EAAG,0BACtEw5F,EAAeppF,SAASijF,eAAe,eACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,cAAe,EAAG,0BACtEw5F,EAAeppF,SAASijF,eAAe,eACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,cAAe,EAAG,wBACtEw5F,EAAeppF,SAASijF,eAAe,iBACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,gBAAiB,EAAG,mBAExEw5F,EAAeppF,SAASijF,eAAe,cACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,aAAc,EAAG,kCACrEw5F,EAAeppF,SAASijF,eAAe,cACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,aAAc,EAAG,0BACrEw5F,EAAeppF,SAASijF,eAAe,cACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,aAAc,EAAG,0BACrEw5F,EAAeppF,SAASijF,eAAe,cACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,aAAc,EAAG,wBACrEw5F,EAAeppF,SAASijF,eAAe,gBACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,eAAgB,EAAG,mBAEvEw5F,EAAeppF,SAASijF,eAAe,cACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,aAAc,EAAG,8CACrEw5F,EAAeppF,SAASijF,eAAe,cACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,aAAc,EAAG,0BACrEw5F,EAAeppF,SAASijF,eAAe,cACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,aAAc,EAAG,0BACrEw5F,EAAeppF,SAASijF,eAAe,cACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,aAAc,EAAG,wBACrEw5F,EAAeppF,SAASijF,eAAe,gBACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,eAAgB,EAAG,mBACvEw5F,EAAeppF,SAASijF,eAAe,qBACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,oBAAqBs5F,EAA8B,gCACvGE,EAAeppF,SAASijF,eAAe,kBACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,iBAAkB,EAAG,sCACzEw5F,EAAeppF,SAASijF,eAAe,iBACvCmG,EAAarzE,SAAW0wE,EAAiBpkE,KAAKzyB,KAAM,gBAAiB,EAAG,iCAExE,IAAIg3F,GAAe5mF,SAASijF,eAAe,wBACvC4D,EAAe7mF,SAASijF,eAAe,wBACvCoG,EAAerpF,SAASijF,eAAe,uBAC3C4D,GAAaC,SAAU,EACnBl3F,KAAKk5C,UAAUlD,QAAQC,UAAUloC,UACnCipF,EAAaE,SAAU,GAErBl3F,KAAKk5C,UAAUjB,mBAAmBlqC,UACpC0rF,EAAavC,SAAU,EAGzB,IAAIP,GAAqBvmF,SAASijF,eAAe,sBAC7CqG,EAAwBtpF,SAASijF,eAAe,yBAChDsG,EAAwBvpF,SAASijF,eAAe,wBAEpDsD,GAAmB7mE,QAAU4mE,EAAwBjkE,KAAKzyB,MAC1D05F,EAAsB5pE,QAAU8mE,EAAqBnkE,KAAKzyB,MAC1D25F,EAAsB7pE,QAAUgnE,EAAqBrkE,KAAKzyB,MAExD22F,EAAmB1lF,MAAMvF,WADQ,GAA/B1L,KAAKk5C,UAAUZ,cAA8D,GAAtCt4C,KAAKk5C,UAAUT,oBAClB,UAGA,UAIxC4+C,EAAqBzgF,MAAM5W,MAE3Bg3F,EAAa7wE,SAAWkxE,EAAqB5kE,KAAKzyB,MAClDi3F,EAAa9wE,SAAWkxE,EAAqB5kE,KAAKzyB,MAClDy5F,EAAatzE,SAAWkxE,EAAqB5kE,KAAKzyB,QAWtDJ,EAAQi4F,yBAA2B,SAAUH,EAAuB1wF,GAClE,GAAI4yF,GAAYlC,EAAsB7vF,MAAM,IACpB,IAApB+xF,EAAUt0F,OACZtF,KAAKk5C,UAAU0gD,EAAU,IAAM5yF,EAEJ,GAApB4yF,EAAUt0F,OACjBtF,KAAKk5C,UAAU0gD,EAAU,IAAIA,EAAU,IAAM5yF,EAElB,GAApB4yF,EAAUt0F,SACjBtF,KAAKk5C,UAAU0gD,EAAU,IAAIA,EAAU,IAAIA,EAAU,IAAM5yF,KA2N3D,SAASnH,GAEb,QAASg6F,GAAeC,GACvB,KAAM,IAAIt2F,OAAM,uBAAyBs2F,EAAM,MAEhDD,EAAeE,QAAUF,EACzBA,EAAevkF,KAAO,WAAa,UACnCzV,EAAOD,QAAUi6F,GAKb,SAASh6F,EAAQD,GAQrBA,EAAQ04F,qBAAuB,WAC7B,GAAIp8E,GAAIC,EAAW8G,EAAUgrC,EAAIC,EAAI8qC,EACnCgB,EAAgBf,EAAOC,EAAO/zF,EAAGgkB,EAE/BurB,EAAQ10C,KAAKo6C,iBACbE,EAAct6C,KAAKq6C,uBAGnB4/C,EAAS,GAAK,EACdl0F,EAAI,EAAI,EAGR0wC,EAAez2C,KAAKk5C,UAAUlD,QAAQQ,UAAUC,aAChDyjD,EAAkBzjD,CAItB,KAAKtxC,EAAI,EAAGA,EAAIm1C,EAAYh1C,OAAS,EAAGH,IAEtC,IADA8zF,EAAQvkD,EAAM4F,EAAYn1C,IACrBgkB,EAAIhkB,EAAI,EAAGgkB,EAAImxB,EAAYh1C,OAAQ6jB,IAAK,CAC3C+vE,EAAQxkD,EAAM4F,EAAYnxB,IAC1B6vE,EAAsBC,EAAMnqC,YAAcoqC,EAAMpqC,YAAc,EAE9D5yC,EAAKg9E,EAAMtoF,EAAIqoF,EAAMroF,EACrBuL,EAAK+8E,EAAMroF,EAAIooF,EAAMpoF,EACrBoS,EAAWpe,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAEpC+9E,EAA0C,GAAvBlB,EAA4BviD,EAAgBA,GAAgB,EAAIuiD,EAAsBh5F,KAAKk5C,UAAUvC,WAAWW,sBACnI,IAAIpyC,GAAI+0F,EAASC,CACF,GAAIA,EAAfj3E,IAEA+2E,EADa,GAAME,EAAjBj3E,EACe,EAGA/d,EAAI+d,EAAWld,EAIlCi0F,GAA0C,GAAvBhB,EAA4B,EAAI,EAAIA,EAAsBh5F,KAAKk5C,UAAUvC,WAAWU,mBACvG2iD,GAAkC/2E,EAElCgrC,EAAK/xC,EAAK89E,EACV9rC,EAAK/xC,EAAK69E,EAEVf,EAAMhrC,IAAMA,EACZgrC,EAAM/qC,IAAMA,EACZgrC,EAAMjrC,IAAMA,EACZirC,EAAMhrC,IAAMA,MAShB,SAASruD,EAAQD,GAQrBA,EAAQ04F,qBAAuB,WAC7B,GAAIp8E,GAAIC,EAAI8G,EAAUgrC,EAAIC,EACxB8rC,EAAgBf,EAAOC,EAAO/zF,EAAGgkB,EAE/BurB,EAAQ10C,KAAKo6C,iBACbE,EAAct6C,KAAKq6C,uBAGnB5D,EAAez2C,KAAKk5C,UAAUlD,QAAQU,sBAAsBD,YAIhE,KAAKtxC,EAAI,EAAGA,EAAIm1C,EAAYh1C,OAAS,EAAGH,IAEtC,IADA8zF,EAAQvkD,EAAM4F,EAAYn1C,IACrBgkB,EAAIhkB,EAAI,EAAGgkB,EAAImxB,EAAYh1C,OAAQ6jB,IAItC,GAHA+vE,EAAQxkD,EAAM4F,EAAYnxB,IAGtB8vE,EAAM7jD,OAAS8jD,EAAM9jD,MAAO,CAE9Bl5B,EAAKg9E,EAAMtoF,EAAIqoF,EAAMroF,EACrBuL,EAAK+8E,EAAMroF,EAAIooF,EAAMpoF,EACrBoS,EAAWpe,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,EAGpC,IAAIg+E,GAAY,GAEdH,GADavjD,EAAXxzB,GACgBpe,KAAK8sB,IAAIwoE,EAAUl3E,EAAS,GAAKpe,KAAK8sB,IAAIwoE,EAAU1jD,EAAa,GAGlE,EAGD,GAAZxzB,EACFA,EAAW,IAGX+2E,GAAkC/2E,EAEpCgrC,EAAK/xC,EAAK89E,EACV9rC,EAAK/xC,EAAK69E,EAEVf,EAAMhrC,IAAMA,EACZgrC,EAAM/qC,IAAMA,EACZgrC,EAAMjrC,IAAMA,EACZirC,EAAMhrC,IAAMA,IAYtBtuD,EAAQ44F,mCAAqC,WAS3C,IAAK,GARDM,GAAYn2C,EAAMP,EAClBlmC,EAAIC,EAAI8xC,EAAIC,EAAI6qC,EAAa91E,EAC7BqyB,EAAQt1C,KAAKs1C,MAEbZ,EAAQ10C,KAAKo6C,iBACbE,EAAct6C,KAAKq6C,uBAGdl1C,EAAI,EAAGA,EAAIm1C,EAAYh1C,OAAQH,IAAK,CAC3C,GAAI8zF,GAAQvkD,EAAM4F,EAAYn1C,GAC9B8zF,GAAMmB,SAAW,EACjBnB,EAAMoB,SAAW,EAKnB,IAAKj4C,IAAU9M,GACb,GAAIA,EAAM7vC,eAAe28C,KACvBO,EAAOrN,EAAM8M,GACTO,EAAKC,WAEH5iD,KAAK00C,MAAMjvC,eAAek9C,EAAKoF,OAAS/nD,KAAK00C,MAAMjvC,eAAek9C,EAAKmF,SAqBzE,GApBAgxC,EAAan2C,EAAK3M,QAAQK,aAE1ByiD,IAAen2C,EAAKh8B,GAAGmoC,YAAcnM,EAAKj8B,KAAKooC,YAAc,GAAK9uD,KAAKk5C,UAAUvC,WAAWY,WAE5Fr7B,EAAMymC,EAAKj8B,KAAK9V,EAAI+xC,EAAKh8B,GAAG/V,EAC5BuL,EAAMwmC,EAAKj8B,KAAK7V,EAAI8xC,EAAKh8B,GAAG9V,EAC5BoS,EAAWpe,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAEpB,GAAZ8G,IACFA,EAAW,KAIb81E,EAAc/4F,KAAKk5C,UAAUlD,QAAQM,gBAAkBwiD,EAAa71E,GAAYA,EAEhFgrC,EAAK/xC,EAAK68E,EACV7qC,EAAK/xC,EAAK48E,EAINp2C,EAAKh8B,GAAGyuB,OAASuN,EAAKj8B,KAAK0uB,MAC7BuN,EAAKh8B,GAAGyzE,UAAYnsC,EACpBtL,EAAKh8B,GAAG0zE,UAAYnsC,EACpBvL,EAAKj8B,KAAK0zE,UAAYnsC,EACtBtL,EAAKj8B,KAAK2zE,UAAYnsC,MAEnB,CACH,GAAInR,GAAS,EACb4F,GAAKh8B,GAAGsnC,IAAMlR,EAAOkR,EACrBtL,EAAKh8B,GAAGunC,IAAMnR,EAAOmR,EACrBvL,EAAKj8B,KAAKunC,IAAMlR,EAAOkR,EACvBtL,EAAKj8B,KAAKwnC,IAAMnR,EAAOmR,EAQjC,GACIksC,GAAUC,EADVtB,EAAc,CAElB,KAAK5zF,EAAI,EAAGA,EAAIm1C,EAAYh1C,OAAQH,IAAK,CACvC,GAAIg3C,GAAOzH,EAAM4F,EAAYn1C,GAC7Bi1F,GAAWv1F,KAAKwG,IAAI0tF,EAAYl0F,KAAKiI,KAAKisF,EAAY58C,EAAKi+C,WAC3DC,EAAWx1F,KAAKwG,IAAI0tF,EAAYl0F,KAAKiI,KAAKisF,EAAY58C,EAAKk+C,WAE3Dl+C,EAAK8R,IAAMmsC,EACXj+C,EAAK+R,IAAMmsC,EAIb,GAAIC,GAAU,EACVC,EAAU,CACd,KAAKp1F,EAAI,EAAGA,EAAIm1C,EAAYh1C,OAAQH,IAAK,CACvC,GAAIg3C,GAAOzH,EAAM4F,EAAYn1C,GAC7Bm1F,IAAWn+C,EAAK8R,GAChBssC,GAAWp+C,EAAK+R,GAElB,GAAIssC,GAAeF,EAAUhgD,EAAYh1C,OACrCm1F,EAAeF,EAAUjgD,EAAYh1C,MAEzC,KAAKH,EAAI,EAAGA,EAAIm1C,EAAYh1C,OAAQH,IAAK,CACvC,GAAIg3C,GAAOzH,EAAM4F,EAAYn1C,GAC7Bg3C,GAAK8R,IAAMusC,EACXr+C,EAAK+R,IAAMusC,KAOX,SAAS56F,EAAQD,GAQrBA,EAAQ04F,qBAAuB,WAC7B,GAA8D,GAA1Dt4F,KAAKk5C,UAAUlD,QAAQC,UAAUE,sBAA4B,CAC/D,GAAIgG,GACAzH,EAAQ10C,KAAKo6C,iBACbE,EAAct6C,KAAKq6C,uBACnBqgD,EAAYpgD,EAAYh1C,MAE5BtF,MAAK26F,mBAAmBjmD,EAAM4F,EAK9B,KAAK,GAHD49C,GAAgBl4F,KAAKk4F,cAGhB/yF,EAAI,EAAOu1F,EAAJv1F,EAAeA,IAC7Bg3C,EAAOzH,EAAM4F,EAAYn1C,IACrBg3C,EAAKruC,QAAQ6mC,KAAO,IAEtB30C,KAAK46F,sBAAsB1C,EAAcx4F,KAAKm7F,SAASC,GAAG3+C,GAC1Dn8C,KAAK46F,sBAAsB1C,EAAcx4F,KAAKm7F,SAASE,GAAG5+C,GAC1Dn8C,KAAK46F,sBAAsB1C,EAAcx4F,KAAKm7F,SAASG,GAAG7+C,GAC1Dn8C,KAAK46F,sBAAsB1C,EAAcx4F,KAAKm7F,SAASI,GAAG9+C,MAelEv8C,EAAQg7F,sBAAwB,SAASM,EAAa/+C,GAEpD,GAAI++C,EAAaC,cAAgB,EAAG,CAClC,GAAIj/E,GAAGC,EAAG8G,CAUV,IAPA/G,EAAKg/E,EAAaE,aAAaxqF,EAAIurC,EAAKvrC,EACxCuL,EAAK++E,EAAaE,aAAavqF,EAAIsrC,EAAKtrC,EACxCoS,EAAWpe,KAAKyoB,KAAKpR,EAAKA,EAAKC,EAAKA,GAKhC8G,EAAWi4E,EAAaG,SAAWr7F,KAAKk5C,UAAUlD,QAAQC,UAAUC,MAAO,CAE7D,GAAZjzB,IACFA,EAAW,GAAIpe,KAAKE,SACpBmX,EAAK+G,EAEP,IAAI41E,GAAe74F,KAAKk5C,UAAUlD,QAAQC,UAAUE,sBAAwB+kD,EAAavmD,KAAOwH,EAAKruC,QAAQ6mC,MAAQ1xB,EAAWA,EAAWA,GACvIgrC,EAAK/xC,EAAK28E,EACV3qC,EAAK/xC,EAAK08E,CACd18C,GAAK8R,IAAMA,EACX9R,EAAK+R,IAAMA,MAIX,IAAkC,GAA9BgtC,EAAaC,cACfn7F,KAAK46F,sBAAsBM,EAAaL,SAASC,GAAG3+C,GACpDn8C,KAAK46F,sBAAsBM,EAAaL,SAASE,GAAG5+C,GACpDn8C,KAAK46F,sBAAsBM,EAAaL,SAASG,GAAG7+C,GACpDn8C,KAAK46F,sBAAsBM,EAAaL,SAASI,GAAG9+C,OAGpD,IAAI++C,EAAaL,SAASrpF,KAAKnR,IAAM87C,EAAK97C,GAAI,CAE5B,GAAZ4iB,IACFA,EAAW,GAAIpe,KAAKE,SACpBmX,EAAK+G,EAEP,IAAI41E,GAAe74F,KAAKk5C,UAAUlD,QAAQC,UAAUE,sBAAwB+kD,EAAavmD,KAAOwH,EAAKruC,QAAQ6mC,MAAQ1xB,EAAWA,EAAWA,GACvIgrC,EAAK/xC,EAAK28E,EACV3qC,EAAK/xC,EAAK08E,CACd18C,GAAK8R,IAAMA,EACX9R,EAAK+R,IAAMA,KAcrBtuD,EAAQ+6F,mBAAqB,SAASjmD,EAAM4F,GAU1C,IAAK,GATD6B,GACAu+C,EAAYpgD,EAAYh1C,OAExBg3C,EAAOz4C,OAAOy3F,UAChBl/C,EAAOv4C,OAAOy3F,UACd/+C,GAAO14C,OAAOy3F,UACdj/C,GAAOx4C,OAAOy3F,UAGPn2F,EAAI,EAAOu1F,EAAJv1F,EAAeA,IAAK,CAClC,GAAIyL,GAAI8jC,EAAM4F,EAAYn1C,IAAIyL,EAC1BC,EAAI6jC,EAAM4F,EAAYn1C,IAAI0L,CAC1B6jC,GAAM4F,EAAYn1C,IAAI2I,QAAQ6mC,KAAO,IAC/B2H,EAAJ1rC,IAAY0rC,EAAO1rC,GACnBA,EAAI2rC,IAAQA,EAAO3rC,GACfwrC,EAAJvrC,IAAYurC,EAAOvrC,GACnBA,EAAIwrC,IAAQA,EAAOxrC,IAI3B,GAAI0qF,GAAW12F,KAAKsjB,IAAIo0B,EAAOD,GAAQz3C,KAAKsjB,IAAIk0B,EAAOD,EACnDm/C,GAAW,GAAIn/C,GAAQ,GAAMm/C,EAAUl/C,GAAQ,GAAMk/C,IACtCj/C,GAAQ,GAAMi/C,EAAUh/C,GAAQ,GAAMg/C,EAGzD,IAAIC,GAAkB,KAClBC,EAAW52F,KAAKiI,IAAI0uF,EAAgB32F,KAAKsjB,IAAIo0B,EAAOD,IACpDo/C,EAAe,GAAMD,EACrBE,EAAU,IAAOr/C,EAAOC,GAAOq/C,EAAU,IAAOx/C,EAAOC,GAGvD67C,GACFx4F,MACE07F,cAAexqF,EAAE,EAAGC,EAAE,GACtB8jC,KAAK,EACLzmC,OACEouC,KAAMq/C,EAAQD,EAAan/C,KAAKo/C,EAAQD,EACxCt/C,KAAMw/C,EAAQF,EAAar/C,KAAKu/C,EAAQF,GAE1CvqF,KAAMsqF,EACNJ,SAAU,EAAII,EACdZ,UAAYrpF,KAAK,MACjBmhD,SAAU,EACVvd,MAAO,EACP+lD,cAAe,GAMnB,KAHAn7F,KAAK67F,aAAa3D,EAAcx4F,MAG3ByF,EAAI,EAAOu1F,EAAJv1F,EAAeA,IACzBg3C,EAAOzH,EAAM4F,EAAYn1C,IACrBg3C,EAAKruC,QAAQ6mC,KAAO,GACtB30C,KAAK87F,aAAa5D,EAAcx4F,KAAKy8C,EAKzCn8C,MAAKk4F,cAAgBA,GAWvBt4F,EAAQm8F,kBAAoB,SAASb,EAAc/+C,GACjD,GAAI6/C,GAAYd,EAAavmD,KAAOwH,EAAKruC,QAAQ6mC,KAC7CsnD,EAAe,EAAED,CAErBd,GAAaE,aAAaxqF,EAAIsqF,EAAaE,aAAaxqF,EAAIsqF,EAAavmD,KAAOwH,EAAKvrC,EAAIurC,EAAKruC,QAAQ6mC,KACtGumD,EAAaE,aAAaxqF,GAAKqrF,EAE/Bf,EAAaE,aAAavqF,EAAIqqF,EAAaE,aAAavqF,EAAIqqF,EAAavmD,KAAOwH,EAAKtrC,EAAIsrC,EAAKruC,QAAQ6mC,KACtGumD,EAAaE,aAAavqF,GAAKorF,EAE/Bf,EAAavmD,KAAOqnD,CACpB,IAAIE,GAAcr3F,KAAKiI,IAAIjI,KAAKiI,IAAIqvC,EAAK7qC,OAAO6qC,EAAKnzB,QAAQmzB,EAAK9qC,MAClE6pF,GAAavoC,SAAYuoC,EAAavoC,SAAWupC,EAAeA,EAAchB,EAAavoC,UAa7F/yD,EAAQk8F,aAAe,SAASZ,EAAa/+C,EAAKggD,IAC1B,GAAlBA,GAA6Ch2F,SAAnBg2F,IAE5Bn8F,KAAK+7F,kBAAkBb,EAAa/+C,GAGlC++C,EAAaL,SAASC,GAAG5sF,MAAMquC,KAAOJ,EAAKvrC,EACzCsqF,EAAaL,SAASC,GAAG5sF,MAAMmuC,KAAOF,EAAKtrC,EAC7C7Q,KAAKo8F,eAAelB,EAAa/+C,EAAK,MAGtCn8C,KAAKo8F,eAAelB,EAAa/+C,EAAK,MAIpC++C,EAAaL,SAASC,GAAG5sF,MAAMmuC,KAAOF,EAAKtrC,EAC7C7Q,KAAKo8F,eAAelB,EAAa/+C,EAAK,MAGtCn8C,KAAKo8F,eAAelB,EAAa/+C,EAAK,OAc5Cv8C,EAAQw8F,eAAiB,SAASlB,EAAa/+C,EAAKkgD,GAClD,OAAQnB,EAAaL,SAASwB,GAAQlB,eACpC,IAAK,GACHD,EAAaL,SAASwB,GAAQxB,SAASrpF,KAAO2qC,EAC9C++C,EAAaL,SAASwB,GAAQlB,cAAgB,EAC9Cn7F,KAAK+7F,kBAAkBb,EAAaL,SAASwB,GAAQlgD,EACrD,MACF,KAAK,GAGC++C,EAAaL,SAASwB,GAAQxB,SAASrpF,KAAKZ,GAAKurC,EAAKvrC,GACtDsqF,EAAaL,SAASwB,GAAQxB,SAASrpF,KAAKX,GAAKsrC,EAAKtrC,GACxDsrC,EAAKvrC,GAAK/L,KAAKE,SACfo3C,EAAKtrC,GAAKhM,KAAKE,WAGf/E,KAAK67F,aAAaX,EAAaL,SAASwB,IACxCr8F,KAAK87F,aAAaZ,EAAaL,SAASwB,GAAQlgD,GAElD,MACF,KAAK,GACHn8C,KAAK87F,aAAaZ,EAAaL,SAASwB,GAAQlgD,KAatDv8C,EAAQi8F,aAAe,SAASX,GAE9B,GAAIoB,GAAgB,IACc,IAA9BpB,EAAaC,gBACfmB,EAAgBpB,EAAaL,SAASrpF,KACtC0pF,EAAavmD,KAAO,EAAGumD,EAAaE,aAAaxqF,EAAI,EAAGsqF,EAAaE,aAAavqF,EAAI,GAExFqqF,EAAaC,cAAgB,EAC7BD,EAAaL,SAASrpF,KAAO,KAC7BxR,KAAKu8F,cAAcrB,EAAa,MAChCl7F,KAAKu8F,cAAcrB,EAAa,MAChCl7F,KAAKu8F,cAAcrB,EAAa,MAChCl7F,KAAKu8F,cAAcrB,EAAa,MAEX,MAAjBoB,GACFt8F,KAAK87F,aAAaZ,EAAaoB,IAenC18F,EAAQ28F,cAAgB,SAASrB,EAAcmB,GAC7C,GAAI//C,GAAKC,EAAKH,EAAKC,EACfmgD,EAAY,GAAMtB,EAAa/pF,IACnC,QAAQkrF,GACN,IAAK,KACH//C,EAAO4+C,EAAahtF,MAAMouC,KAC1BC,EAAO2+C,EAAahtF,MAAMouC,KAAOkgD,EACjCpgD,EAAO8+C,EAAahtF,MAAMkuC,KAC1BC,EAAO6+C,EAAahtF,MAAMkuC,KAAOogD,CACjC,MACF,KAAK,KACHlgD,EAAO4+C,EAAahtF,MAAMouC,KAAOkgD,EACjCjgD,EAAO2+C,EAAahtF,MAAMquC,KAC1BH,EAAO8+C,EAAahtF,MAAMkuC,KAC1BC,EAAO6+C,EAAahtF,MAAMkuC,KAAOogD,CACjC,MACF,KAAK,KACHlgD,EAAO4+C,EAAahtF,MAAMouC,KAC1BC,EAAO2+C,EAAahtF,MAAMouC,KAAOkgD,EACjCpgD,EAAO8+C,EAAahtF,MAAMkuC,KAAOogD,EACjCngD,EAAO6+C,EAAahtF,MAAMmuC,IAC1B,MACF,KAAK,KACHC,EAAO4+C,EAAahtF,MAAMouC,KAAOkgD,EACjCjgD,EAAO2+C,EAAahtF,MAAMquC,KAC1BH,EAAO8+C,EAAahtF,MAAMkuC,KAAOogD,EACjCngD,EAAO6+C,EAAahtF,MAAMmuC,KAK9B6+C,EAAaL,SAASwB,IACpBjB,cAAcxqF,EAAE,EAAEC,EAAE,GACpB8jC,KAAK,EACLzmC,OAAOouC,KAAKA,EAAKC,KAAKA,EAAKH,KAAKA,EAAKC,KAAKA,GAC1ClrC,KAAM,GAAM+pF,EAAa/pF,KACzBkqF,SAAU,EAAIH,EAAaG,SAC3BR,UAAWrpF,KAAK,MAChBmhD,SAAU,EACVvd,MAAO8lD,EAAa9lD,MAAM,EAC1B+lD,cAAe,IAYnBv7F,EAAQ68F,UAAY,SAASp4E,EAAI5Z,GACJtE,SAAvBnG,KAAKk4F,gBAEP7zE,EAAIO,UAAY,EAEhB5kB,KAAK08F,YAAY18F,KAAKk4F,cAAcx4F,KAAK2kB,EAAI5Z,KAajD7K,EAAQ88F,YAAc,SAASC,EAAOt4E,EAAI5Z,GAC1BtE,SAAVsE,IACFA,EAAQ,WAGkB,GAAxBkyF,EAAOxB,gBACTn7F,KAAK08F,YAAYC,EAAO9B,SAASC,GAAGz2E,GACpCrkB,KAAK08F,YAAYC,EAAO9B,SAASE,GAAG12E,GACpCrkB,KAAK08F,YAAYC,EAAO9B,SAASI,GAAG52E,GACpCrkB,KAAK08F,YAAYC,EAAO9B,SAASG,GAAG32E,IAEtCA,EAAIY,YAAcxa,EAClB4Z,EAAIa,YACJb,EAAIc,OAAOw3E,EAAOzuF,MAAMouC,KAAKqgD,EAAOzuF,MAAMkuC,MAC1C/3B,EAAIe,OAAOu3E,EAAOzuF,MAAMquC,KAAKogD,EAAOzuF,MAAMkuC,MAC1C/3B,EAAIlH,SAEJkH,EAAIa,YACJb,EAAIc,OAAOw3E,EAAOzuF,MAAMquC,KAAKogD,EAAOzuF,MAAMkuC,MAC1C/3B,EAAIe,OAAOu3E,EAAOzuF,MAAMquC,KAAKogD,EAAOzuF,MAAMmuC,MAC1Ch4B,EAAIlH,SAEJkH,EAAIa,YACJb,EAAIc,OAAOw3E,EAAOzuF,MAAMquC,KAAKogD,EAAOzuF,MAAMmuC,MAC1Ch4B,EAAIe,OAAOu3E,EAAOzuF,MAAMouC,KAAKqgD,EAAOzuF,MAAMmuC,MAC1Ch4B,EAAIlH,SAEJkH,EAAIa,YACJb,EAAIc,OAAOw3E,EAAOzuF,MAAMouC,KAAKqgD,EAAOzuF,MAAMmuC,MAC1Ch4B,EAAIe,OAAOu3E,EAAOzuF,MAAMouC,KAAKqgD,EAAOzuF,MAAMkuC,MAC1C/3B,EAAIlH,WAaF,SAAStd,GAEbA,EAAOD,QAAU,SAASC,GAQzB,MAPIA,GAAO+8F,kBACV/8F,EAAO4mE,UAAY,aACnB5mE,EAAOg9F,SAEPh9F,EAAOg7F,YACPh7F,EAAO+8F,gBAAkB,GAEnB/8F"}
\ No newline at end of file
diff --git a/dist/vis.min.css b/dist/vis.min.css
old mode 100755
new mode 100644
index 54148cbe..fe54c64a
--- a/dist/vis.min.css
+++ b/dist/vis.min.css
@@ -1 +1 @@
-.vis.timeline.root{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right,.vis.timeline .vispanel.top{border:1px #bfbfbf}.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.top{border-left-style:solid;border-right-style:solid}.vis.timeline .background{overflow:hidden}.vis.timeline .vispanel>.content{position:relative}.vis.timeline .vispanel .shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis.timeline .vispanel .shadow.top{top:-1px;left:0}.vis.timeline .vispanel .shadow.bottom{bottom:-1px;left:0}.vis.timeline .labelset{position:relative;width:100%;overflow:hidden;box-sizing:border-box}.vis.timeline .labelset .vlabel{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .labelset .vlabel:last-child{border-bottom:none}.vis.timeline .labelset .vlabel .inner{display:inline-block;padding:5px}.vis.timeline .labelset .vlabel .inner.hidden{padding:0}.vis.timeline .itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis.timeline .itemset .background,.vis.timeline .itemset .foreground{position:absolute;width:100%;height:100%}.vis.timeline .axis{position:absolute;width:100%;height:0;left:1px;z-index:1}.vis.timeline .foreground .group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .foreground .group:last-child{border-bottom:none}.vis.timeline .item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block;padding:5px}.vis.timeline .item.selected{border-color:#FFC200;background-color:#FFF785;z-index:999}.vis.timeline .editable .item.selected{cursor:move}.vis.timeline .item.point.selected{background-color:#FFF785}.vis.timeline .item.box{text-align:center;border-style:solid;border-radius:2px}.vis.timeline .item.point{background:0 0}.vis.timeline .item.dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis.timeline .item.range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis.timeline .item.range .content{position:relative;display:inline-block;overflow:hidden;max-width:100%}.vis.timeline .item.line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis.timeline .item .content{white-space:nowrap;overflow:hidden}.vis.timeline .item .delete{background:url(img/timeline/delete.png) top center no-repeat;position:absolute;width:24px;height:24px;top:0;right:-24px;cursor:pointer}.vis.timeline .item.range .drag-left{position:absolute;width:24px;height:100%;top:0;left:-4px;cursor:w-resize;z-index:10000}.vis.timeline .item.range .drag-right{position:absolute;width:24px;height:100%;top:0;right:-4px;cursor:e-resize;z-index:10001}.vis.timeline .timeaxis{position:relative;overflow:hidden}.vis.timeline .timeaxis.foreground{top:0;left:0;width:100%}.vis.timeline .timeaxis.background{position:absolute;top:0;left:0;width:100%;height:100%}.vis.timeline .timeaxis .text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis.timeline .timeaxis .text.measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis.timeline .timeaxis .grid.vertical{position:absolute;width:0;border-right:1px solid}.vis.timeline .timeaxis .grid.minor{border-color:#e5e5e5}.vis.timeline .timeaxis .grid.major{border-color:#bfbfbf}.vis.timeline .currenttime{background-color:#FF7F6E;width:2px;z-index:1}.vis.timeline .customtime{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis.timeline .vispanel.background.horizontal .grid.horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis.timeline .vispanel.background.horizontal .grid.minor{border-color:#e5e5e5}.vis.timeline .vispanel.background.horizontal .grid.major{border-color:#bfbfbf}.vis.timeline .dataaxis .yAxis.major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis.timeline .dataaxis .yAxis.major.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis.timeline .dataaxis .yAxis.minor.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .legend{background-color:rgba(247,252,255,.65);padding:5px;border-color:#b3b3b3;border-style:solid;border-width:1px;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis.timeline .legendText{white-space:nowrap;display:inline-block}.vis.timeline .graphGroup0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis.timeline .graphGroup1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis.timeline .graphGroup2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis.timeline .graphGroup3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis.timeline .graphGroup4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis.timeline .graphGroup5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis.timeline .graphGroup6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis.timeline .graphGroup7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis.timeline .graphGroup8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis.timeline .graphGroup9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis.timeline .fill{fill-opacity:.1;stroke:none}.vis.timeline .bar{fill-opacity:.5;stroke-width:1px}.vis.timeline .point{stroke-width:2px;fill-opacity:1}.vis.timeline .legendBackground{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis.timeline .outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis.timeline .iconFill{fill-opacity:.3;stroke:none}div.network-manipulationDiv{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0);width:600px;height:30px;z-index:10;position:absolute}div.network-manipulation-editMode{height:30px;z-index:10;position:absolute;margin-top:20px}div.network-manipulation-closeDiv{height:30px;width:30px;z-index:11;position:absolute;margin-top:3px;margin-left:590px;background-position:0 0;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.network-manipulationUI{font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin:-14px 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.network-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}span.network-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}span.network-manipulationUI.back{background-image:url(img/network/backIcon.png)}span.network-manipulationUI.none:hover{box-shadow:1px 1px 8px transparent;cursor:default}span.network-manipulationUI.none:active{box-shadow:1px 1px 8px transparent}span.network-manipulationUI.none{padding:0}span.network-manipulationUI.notification{margin:2px;font-weight:700}span.network-manipulationUI.add{background-image:url(img/network/addNodeIcon.png)}span.network-manipulationUI.edit{background-image:url(img/network/editIcon.png)}span.network-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}span.network-manipulationUI.connect{background-image:url(img/network/connectIcon.png)}span.network-manipulationUI.delete{background-image:url(img/network/deleteIcon.png)}span.network-manipulationLabel{margin:0 0 0 23px;line-height:25px}div.network-seperatorLine{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.network-navigation{width:34px;height:34px;z-index:10;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.network-navigation:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.network-navigation:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.network-navigation.up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.network-navigation.down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.network-navigation.left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.network-navigation.right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.network-navigation.zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.network-navigation.zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.network-navigation.zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}
\ No newline at end of file
+.vis .overlay{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis.timeline.root{position:relative;border:1px solid #bfbfbf;overflow:hidden;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel{position:absolute;padding:0;margin:0;box-sizing:border-box}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right,.vis.timeline .vispanel.top{border:1px #bfbfbf}.vis.timeline .vispanel.center,.vis.timeline .vispanel.left,.vis.timeline .vispanel.right{border-top-style:solid;border-bottom-style:solid;overflow:hidden}.vis.timeline .vispanel.bottom,.vis.timeline .vispanel.center,.vis.timeline .vispanel.top{border-left-style:solid;border-right-style:solid}.vis.timeline .background{overflow:hidden}.vis.timeline .vispanel>.content{position:relative}.vis.timeline .vispanel .shadow{position:absolute;width:100%;height:1px;box-shadow:0 0 10px rgba(0,0,0,.8)}.vis.timeline .vispanel .shadow.top{top:-1px;left:0}.vis.timeline .vispanel .shadow.bottom{bottom:-1px;left:0}.vis.timeline .labelset{position:relative;width:100%;overflow:hidden;box-sizing:border-box}.vis.timeline .labelset .vlabel{position:relative;left:0;top:0;width:100%;color:#4d4d4d;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .labelset .vlabel:last-child{border-bottom:none}.vis.timeline .labelset .vlabel .inner{display:inline-block;padding:5px}.vis.timeline .labelset .vlabel .inner.hidden{padding:0}.vis.timeline .itemset{position:relative;padding:0;margin:0;box-sizing:border-box}.vis.timeline .itemset .background,.vis.timeline .itemset .foreground{position:absolute;width:100%;height:100%}.vis.timeline .axis{position:absolute;width:100%;height:0;left:0}.vis.timeline .foreground .group{position:relative;box-sizing:border-box;border-bottom:1px solid #bfbfbf}.vis.timeline .foreground .group:last-child{border-bottom:none}.vis.timeline .item{position:absolute;color:#1A1A1A;border-color:#97B0F8;border-width:1px;background-color:#D5DDF6;display:inline-block;padding:5px}.vis.timeline .item.selected{border-color:#FFC200;background-color:#FFF785;z-index:2}.vis.timeline .editable .item.selected{cursor:move}.vis.timeline .item.point.selected{background-color:#FFF785}.vis.timeline .item.box{text-align:center;border-style:solid;border-radius:2px}.vis.timeline .item.point{background:0 0}.vis.timeline .item.dot{position:absolute;padding:0;border-width:4px;border-style:solid;border-radius:4px}.vis.timeline .item.range{border-style:solid;border-radius:2px;box-sizing:border-box}.vis.timeline .item.range .content{position:relative;display:inline-block;overflow:hidden;max-width:100%}.vis.timeline .item.line{padding:0;position:absolute;width:0;border-left-width:1px;border-left-style:solid}.vis.timeline .item .content{white-space:nowrap;overflow:hidden}.vis.timeline .item .delete{background:url(img/timeline/delete.png) top center no-repeat;position:absolute;width:24px;height:24px;top:0;right:-24px;cursor:pointer}.vis.timeline .item.range .drag-left{position:absolute;width:24px;height:100%;top:0;left:-4px;cursor:w-resize}.vis.timeline .item.range .drag-right{position:absolute;width:24px;height:100%;top:0;right:-4px;cursor:e-resize}.vis.timeline .timeaxis{position:relative;overflow:hidden}.vis.timeline .timeaxis.foreground{top:0;left:0;width:100%}.vis.timeline .timeaxis.background{position:absolute;top:0;left:0;width:100%;height:100%}.vis.timeline .timeaxis .text{position:absolute;color:#4d4d4d;padding:3px;white-space:nowrap}.vis.timeline .timeaxis .text.measure{position:absolute;padding-left:0;padding-right:0;margin-left:0;margin-right:0;visibility:hidden}.vis.timeline .timeaxis .grid.vertical{position:absolute;width:0;border-right:1px solid}.vis.timeline .timeaxis .grid.minor{border-color:#e5e5e5}.vis.timeline .timeaxis .grid.major{border-color:#bfbfbf}.vis.timeline .currenttime{background-color:#FF7F6E;width:2px;z-index:1}.vis.timeline .customtime{background-color:#6E94FF;width:2px;cursor:move;z-index:1}.vis.timeline .vispanel.background.horizontal .grid.horizontal{position:absolute;width:100%;height:0;border-bottom:1px solid}.vis.timeline .vispanel.background.horizontal .grid.minor{border-color:#e5e5e5}.vis.timeline .vispanel.background.horizontal .grid.major{border-color:#bfbfbf}.vis.timeline .dataaxis .yAxis.major{width:100%;position:absolute;color:#4d4d4d;white-space:nowrap}.vis.timeline .dataaxis .yAxis.major.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .dataaxis .yAxis.minor{position:absolute;width:100%;color:#bebebe;white-space:nowrap}.vis.timeline .dataaxis .yAxis.minor.measure{padding:0;margin:0;visibility:hidden;width:auto}.vis.timeline .legend{background-color:rgba(247,252,255,.65);padding:5px;border-color:#b3b3b3;border-style:solid;border-width:1px;box-shadow:2px 2px 10px rgba(154,154,154,.55)}.vis.timeline .legendText{white-space:nowrap;display:inline-block}.vis.timeline .graphGroup0{fill:#4f81bd;fill-opacity:0;stroke-width:2px;stroke:#4f81bd}.vis.timeline .graphGroup1{fill:#f79646;fill-opacity:0;stroke-width:2px;stroke:#f79646}.vis.timeline .graphGroup2{fill:#8c51cf;fill-opacity:0;stroke-width:2px;stroke:#8c51cf}.vis.timeline .graphGroup3{fill:#75c841;fill-opacity:0;stroke-width:2px;stroke:#75c841}.vis.timeline .graphGroup4{fill:#ff0100;fill-opacity:0;stroke-width:2px;stroke:#ff0100}.vis.timeline .graphGroup5{fill:#37d8e6;fill-opacity:0;stroke-width:2px;stroke:#37d8e6}.vis.timeline .graphGroup6{fill:#042662;fill-opacity:0;stroke-width:2px;stroke:#042662}.vis.timeline .graphGroup7{fill:#00ff26;fill-opacity:0;stroke-width:2px;stroke:#00ff26}.vis.timeline .graphGroup8{fill:#f0f;fill-opacity:0;stroke-width:2px;stroke:#f0f}.vis.timeline .graphGroup9{fill:#8f3938;fill-opacity:0;stroke-width:2px;stroke:#8f3938}.vis.timeline .fill{fill-opacity:.1;stroke:none}.vis.timeline .bar{fill-opacity:.5;stroke-width:1px}.vis.timeline .point{stroke-width:2px;fill-opacity:1}.vis.timeline .legendBackground{stroke-width:1px;fill-opacity:.9;fill:#fff;stroke:#c2c2c2}.vis.timeline .outline{stroke-width:1px;fill-opacity:1;fill:#fff;stroke:#e5e5e5}.vis.timeline .iconFill{fill-opacity:.3;stroke:none}div.network-manipulationDiv{border-width:0;border-bottom:1px;border-style:solid;border-color:#d6d9d8;background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(to bottom,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fcfcfc', GradientType=0);position:absolute;left:0;top:0;width:100%;height:30px}div.network-manipulation-editMode{position:absolute;left:0;top:0;height:30px;margin-top:20px}div.network-manipulation-closeDiv{position:absolute;left:0;top:0;width:30px;height:30px;margin-top:3px;margin-left:590px;background-position:0 0;background-repeat:no-repeat;background-image:url(img/network/cross.png);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.network-manipulationUI{font-family:verdana;font-size:12px;-moz-border-radius:15px;border-radius:15px;display:inline-block;background-position:0 0;background-repeat:no-repeat;height:24px;margin:-14px 0 0 10px;vertical-align:middle;cursor:pointer;padding:0 8px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}span.network-manipulationUI:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}span.network-manipulationUI:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}span.network-manipulationUI.back{background-image:url(img/network/backIcon.png)}span.network-manipulationUI.none:hover{box-shadow:1px 1px 8px transparent;cursor:default}span.network-manipulationUI.none:active{box-shadow:1px 1px 8px transparent}span.network-manipulationUI.none{padding:0}span.network-manipulationUI.notification{margin:2px;font-weight:700}span.network-manipulationUI.add{background-image:url(img/network/addNodeIcon.png)}span.network-manipulationUI.edit{background-image:url(img/network/editIcon.png)}span.network-manipulationUI.edit.editmode{background-color:#fcfcfc;border-style:solid;border-width:1px;border-color:#ccc}span.network-manipulationUI.connect{background-image:url(img/network/connectIcon.png)}span.network-manipulationUI.delete{background-image:url(img/network/deleteIcon.png)}span.network-manipulationLabel{margin:0 0 0 23px;line-height:25px}div.network-seperatorLine{display:inline-block;width:1px;height:20px;background-color:#bdbdbd;margin:5px 7px 0 15px}div.network-navigation_wrapper{position:absolute;left:0;top:0;width:100%;height:100%}div.network-navigation{width:34px;height:34px;-moz-border-radius:17px;border-radius:17px;position:absolute;display:inline-block;background-position:2px 2px;background-repeat:no-repeat;cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.network-navigation:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.network-navigation:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.network-navigation.up{background-image:url(img/network/upArrow.png);bottom:50px;left:55px}div.network-navigation.down{background-image:url(img/network/downArrow.png);bottom:10px;left:55px}div.network-navigation.left{background-image:url(img/network/leftArrow.png);bottom:10px;left:15px}div.network-navigation.right{background-image:url(img/network/rightArrow.png);bottom:10px;left:95px}div.network-navigation.zoomIn{background-image:url(img/network/plus.png);bottom:10px;right:15px}div.network-navigation.zoomOut{background-image:url(img/network/minus.png);bottom:10px;right:55px}div.network-navigation.zoomExtends{background-image:url(img/network/zoomExtends.png);bottom:50px;right:15px}
\ No newline at end of file
diff --git a/dist/vis.min.js b/dist/vis.min.js
index c0fa7b2e..b920ce7d 100644
--- a/dist/vis.min.js
+++ b/dist/vis.min.js
@@ -4,8 +4,8 @@
*
* A dynamic, browser-based visualization library.
*
- * @version 3.2.0
- * @date 2014-08-14
+ * @version 3.3.0
+ * @date 2014-08-29
*
* @license
* Copyright (C) 2011-2014 Almende B.V, http://almende.com
@@ -22,16 +22,16 @@
* License for the specific language governing permissions and limitations under
* the License.
*/
-!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):"object"==typeof exports?exports.vis=e():t.vis=e()}(this,function(){return function(t){function e(s){if(i[s])return i[s].exports;var o=i[s]={exports:{},id:s,loaded:!1};return t[s].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var i={};return e.m=t,e.c=i,e.p="",e(0)}([function(t,e,i){e.util=i(1),e.DOMutil=i(2),e.DataSet=i(3),e.DataView=i(4),e.Graph3d=i(5),e.graph3d={Camera:i(6),Filter:i(7),Point2d:i(8),Point3d:i(9),Slider:i(10),StepNumber:i(11)},e.Timeline=i(12),e.Graph2d=i(13),e.timeline={DataStep:i(14),Range:i(15),stack:i(16),TimeStep:i(17),components:{items:{Item:i(29),ItemBox:i(28),ItemPoint:i(30),ItemRange:i(31)},Component:i(18),CurrentTime:i(19),CustomTime:i(20),DataAxis:i(21),GraphGroup:i(22),Group:i(23),ItemSet:i(24),Legend:i(25),LineGraph:i(26),TimeAxis:i(27)}},e.Network=i(32),e.network={Edge:i(33),Groups:i(34),Images:i(35),Node:i(36),Popup:i(37),dotparser:i(38),gephiParser:i(39)},e.Graph=function(){throw new Error("Graph is renamed to Network. Please create a graph as new vis.Network(...)")},e.moment=i(40),e.hammer=i(41)},function(module,exports,__webpack_require__){var moment=__webpack_require__(40);exports.isNumber=function(t){return t instanceof Number||"number"==typeof t},exports.isString=function(t){return t instanceof String||"string"==typeof t},exports.isDate=function(t){if(t instanceof Date)return!0;if(exports.isString(t)){var e=ASPDateRegex.exec(t);if(e)return!0;if(!isNaN(Date.parse(t)))return!0}return!1},exports.isDataTable=function(t){return"undefined"!=typeof google&&google.visualization&&google.visualization.DataTable&&t instanceof google.visualization.DataTable},exports.randomUUID=function(){var t=function(){return Math.floor(65536*Math.random()).toString(16)};return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()},exports.extend=function(t){for(var e=1,i=arguments.length;i>e;e++){var s=arguments[e];for(var o in s)s.hasOwnProperty(o)&&(t[o]=s[o])}return t},exports.selectiveExtend=function(t,e){if(!Array.isArray(t))throw new Error("Array with property names expected as first argument");for(var i=2;i
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(9);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=Camera},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(tx: "+t.point.x+" y: "+t.point.y+" z: "+t.point.z+"
");this.dom.textArea.innerHTML=i,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&1==this.groups[a].visible&&(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing);n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={};var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechange",function(){if(0!=i.lastStart){var t=i.body.range.start-i.lastStart,e=i.body.range.end-i.body.range.start;if(0!=i.width){var s=i.width/e,o=t*s;i.svg.style.left=-i.width-o+"px"}}}),this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(18),d=i(21),l=i(22),c=i(25),p="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left"),this.legendRight=new c(this.body,this.options.legend,"right"),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;eSimulation Mode: Barnes Hut Repulsion Hierarchical
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);
-var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.resolve=e,e.keys=function(){return[]},t.exports=e},function(t){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children=[],t.webpackPolyfill=1),t}},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,f=4/3,m=this.constants.physics.repulsion.nodeDistance,g=m;for(d=0;dOptions:
",e.style.left="0",e.style.top="0",this.frame.appendChild(e),this.frame.appendChild(i),this.frame.appendChild(s);var o=e.offsetWidth,n=e.offsetHeight,r=i.offsetHeight,a=s.offsetWidth,h=s.offsetHeight,d=t.screen.x-o/2;d=Math.min(Math.max(d,10),this.frame.clientWidth-10-o),i.style.left=t.screen.x+"px",i.style.top=t.screen.y-r+"px",e.style.left=d+"px",e.style.top=t.screen.y-r-n+"px",s.style.left=t.screen.x-a/2+"px",s.style.top=t.screen.y-h/2+"px"},s.prototype._hideTooltip=function(){if(this.tooltip){this.tooltip.dataPoint=null;for(var t in this.tooltip.dom)if(this.tooltip.dom.hasOwnProperty(t)){var e=this.tooltip.dom[t];e&&e.parentNode&&e.parentNode.removeChild(e)}}},getMouseX=function(t){return"clientX"in t?t.clientX:t.targetTouches[0]&&t.targetTouches[0].clientX||0},getMouseY=function(t){return"clientY"in t?t.clientY:t.targetTouches[0]&&t.targetTouches[0].clientY||0},t.exports=s},function(t,e,i){var s=i(9);Camera=function(){this.armLocation=new s,this.armRotation={},this.armRotation.horizontal=0,this.armRotation.vertical=0,this.armLength=1.7,this.cameraLocation=new s,this.cameraRotation=new s(.5*Math.PI,0,0),this.calculateCameraOrientation()},Camera.prototype.setArmLocation=function(t,e,i){this.armLocation.x=t,this.armLocation.y=e,this.armLocation.z=i,this.calculateCameraOrientation()},Camera.prototype.setArmRotation=function(t,e){void 0!==t&&(this.armRotation.horizontal=t),void 0!==e&&(this.armRotation.vertical=e,this.armRotation.vertical<0&&(this.armRotation.vertical=0),this.armRotation.vertical>.5*Math.PI&&(this.armRotation.vertical=.5*Math.PI)),(void 0!==t||void 0!==e)&&this.calculateCameraOrientation()},Camera.prototype.getArmRotation=function(){var t={};return t.horizontal=this.armRotation.horizontal,t.vertical=this.armRotation.vertical,t},Camera.prototype.setArmLength=function(t){void 0!==t&&(this.armLength=t,this.armLength<.71&&(this.armLength=.71),this.armLength>5&&(this.armLength=5),this.calculateCameraOrientation())},Camera.prototype.getArmLength=function(){return this.armLength},Camera.prototype.getCameraLocation=function(){return this.cameraLocation},Camera.prototype.getCameraRotation=function(){return this.cameraRotation},Camera.prototype.calculateCameraOrientation=function(){this.cameraLocation.x=this.armLocation.x-this.armLength*Math.sin(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.y=this.armLocation.y-this.armLength*Math.cos(this.armRotation.horizontal)*Math.cos(this.armRotation.vertical),this.cameraLocation.z=this.armLocation.z+this.armLength*Math.sin(this.armRotation.vertical),this.cameraRotation.x=Math.PI/2-this.armRotation.vertical,this.cameraRotation.y=0,this.cameraRotation.z=-this.armRotation.horizontal},t.exports=Camera},function(t,e,i){function s(t,e,i){this.data=t,this.column=e,this.graph=i,this.index=void 0,this.value=void 0,this.values=i.getDistinctValues(t.get(),this.column),this.values.sort(function(t,e){return t>e?1:e>t?-1:0}),this.values.length>0&&this.selectValue(0),this.dataPoints=[],this.loaded=!1,this.onLoadCallback=void 0,i.animationPreload?(this.loaded=!1,this.loadInBackground()):this.loaded=!0}var o=i(4);s.prototype.isLoaded=function(){return this.loaded},s.prototype.getLoadedProgress=function(){for(var t=this.values.length,e=0;this.dataPoints[e];)e++;return Math.round(e/t*100)},s.prototype.getLabel=function(){return this.graph.filterLabel},s.prototype.getColumn=function(){return this.column},s.prototype.getSelectedValue=function(){return void 0===this.index?void 0:this.values[this.index]},s.prototype.getValues=function(){return this.values},s.prototype.getValue=function(t){if(t>=this.values.length)throw"Error: index out of range";return this.values[t]},s.prototype._getDataPoints=function(t){if(void 0===t&&(t=this.index),void 0===t)return[];var e;if(this.dataPoints[t])e=this.dataPoints[t];else{var i={};i.column=this.column,i.value=this.values[t];var s=new o(this.data,{filter:function(t){return t[i.column]==i.value}}).get();e=this.graph._getDataPoints(s),this.dataPoints[t]=e}return e},s.prototype.setOnLoadCallback=function(t){this.onLoadCallback=t},s.prototype.selectValue=function(t){if(t>=this.values.length)throw"Error: index out of range";this.index=t,this.value=this.values[t]},s.prototype.loadInBackground=function(t){void 0===t&&(t=0);var e=this.graph.frame;if(tx: "+t.point.x+" y: "+t.point.y+" z: "+t.point.z+"
"));this.dom.textArea.innerHTML=i,this.dom.textArea.style.lineHeight=.75*this.options.iconSize+this.options.iconSpacing+"px"}},s.prototype.drawLegendIcons=function(){if(this.dom.frame.parentNode){n.prepareElements(this.svgElements);var t=window.getComputedStyle(this.dom.frame).paddingTop,e=Number(t.replace("px","")),i=e,s=this.options.iconSize,o=.75*this.options.iconSize,r=e+.5*o+3;this.svg.style.width=s+5+e+"px";for(var a in this.groups)this.groups.hasOwnProperty(a)&&(1!=this.groups[a].visible||void 0!==this.linegraphOptions.visibility[a]&&1!=this.linegraphOptions.visibility[a]||(this.groups[a].drawIcon(i,r,this.svgElements,this.svg,s,o),r+=o+this.options.iconSpacing));n.cleanupElements(this.svgElements)}},t.exports=s},function(t,e,i){function s(t,e){this.id=o.randomUUID(),this.body=t,this.defaultOptions={yAxisOrientation:"left",defaultGroup:"default",sort:!0,sampling:!0,graphHeight:"400px",shaded:{enabled:!1,orientation:"bottom"},style:"line",barChart:{width:50,handleOverlap:"overlap",align:"center"},catmullRom:{enabled:!0,parametrization:"centripetal",alpha:.5},drawPoints:{enabled:!0,size:6,style:"square"},dataAxis:{showMinorLabels:!0,showMajorLabels:!0,icons:!1,width:"40px",visible:!0,customRange:{left:{min:void 0,max:void 0},right:{min:void 0,max:void 0}}},legend:{enabled:!1,icons:!0,left:{visible:!0,position:"top-left"},right:{visible:!0,position:"top-right"}},groups:{visibility:{}}},this.options=o.extend({},this.defaultOptions),this.dom={},this.props={},this.hammer=null,this.groups={},this.abortedGraphUpdate=!1;var i=this;this.itemsData=null,this.groupsData=null,this.itemListeners={add:function(t,e){i._onAdd(e.items)},update:function(t,e){i._onUpdate(e.items)},remove:function(t,e){i._onRemove(e.items)}},this.groupListeners={add:function(t,e){i._onAddGroups(e.items)},update:function(t,e){i._onUpdateGroups(e.items)},remove:function(t,e){i._onRemoveGroups(e.items)}},this.items={},this.selection=[],this.lastStart=this.body.range.start,this.touchParams={},this.svgElements={},this.setOptions(e),this.groupsUsingDefaultStyles=[0],this.body.emitter.on("rangechanged",function(){i.lastStart=i.body.range.start,i.svg.style.left=o.option.asSize(-i.width),i._updateGraph.apply(i)}),this._create(),this.body.emitter.emit("change")}var o=i(1),n=i(2),r=i(3),a=i(4),h=i(18),d=i(21),l=i(22),c=i(25),p="__ungrouped__";s.prototype=new h,s.prototype._create=function(){var t=document.createElement("div");t.className="LineGraph",this.dom.frame=t,this.svg=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.svg.style.position="relative",this.svg.style.height=(""+this.options.graphHeight).replace("px","")+"px",this.svg.style.display="block",t.appendChild(this.svg),this.options.dataAxis.orientation="left",this.yAxisLeft=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),this.options.dataAxis.orientation="right",this.yAxisRight=new d(this.body,this.options.dataAxis,this.svg,this.options.groups),delete this.options.dataAxis.orientation,this.legendLeft=new c(this.body,this.options.legend,"left",this.options.groups),this.legendRight=new c(this.body,this.options.legend,"right",this.options.groups),this.show()},s.prototype.setOptions=function(t){if(t){var e=["sampling","defaultGroup","graphHeight","yAxisOrientation","style","barChart","dataAxis","sort","groups"];o.selectiveDeepExtend(e,this.options,t),o.mergeOptions(this.options,t,"catmullRom"),o.mergeOptions(this.options,t,"drawPoints"),o.mergeOptions(this.options,t,"shaded"),o.mergeOptions(this.options,t,"legend"),t.catmullRom&&"object"==typeof t.catmullRom&&t.catmullRom.parametrization&&("uniform"==t.catmullRom.parametrization?this.options.catmullRom.alpha=0:"chordal"==t.catmullRom.parametrization?this.options.catmullRom.alpha=1:(this.options.catmullRom.parametrization="centripetal",this.options.catmullRom.alpha=.5)),this.yAxisLeft&&void 0!==t.dataAxis&&(this.yAxisLeft.setOptions(this.options.dataAxis),this.yAxisRight.setOptions(this.options.dataAxis)),this.legendLeft&&void 0!==t.legend&&(this.legendLeft.setOptions(this.options.legend),this.legendRight.setOptions(this.options.legend)),this.groups.hasOwnProperty(p)&&this.groups[p].setOptions(t)}this.dom.frame&&this._updateGraph()},s.prototype.hide=function(){this.dom.frame.parentNode&&this.dom.frame.parentNode.removeChild(this.dom.frame)},s.prototype.show=function(){this.dom.frame.parentNode||this.body.dom.center.appendChild(this.dom.frame)},s.prototype.setItems=function(t){var e,i=this,s=this.itemsData;if(t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.itemsData=t}else this.itemsData=null;if(s&&(o.forEach(this.itemListeners,function(t,e){s.off(e,t)}),e=s.getIds(),this._onRemove(e)),this.itemsData){var n=this.id;o.forEach(this.itemListeners,function(t,e){i.itemsData.on(e,t,n)}),e=this.itemsData.getIds(),this._onAdd(e)}this._updateUngrouped(),this._updateGraph(),this.redraw()},s.prototype.setGroups=function(t){var e,i=this;if(this.groupsData&&(o.forEach(this.groupListeners,function(t,e){i.groupsData.unsubscribe(e,t)}),e=this.groupsData.getIds(),this.groupsData=null,this._onRemoveGroups(e)),t){if(!(t instanceof r||t instanceof a))throw new TypeError("Data must be an instance of DataSet or DataView");this.groupsData=t}else this.groupsData=null;if(this.groupsData){var s=this.id;o.forEach(this.groupListeners,function(t,e){i.groupsData.on(e,t,s)}),e=this.groupsData.getIds(),this._onAddGroups(e)}this._onUpdate()},s.prototype._onUpdate=function(){this._updateUngrouped(),this._updateAllGroupData(),this._updateGraph(),this.redraw()},s.prototype._onAdd=function(t){this._onUpdate(t)},s.prototype._onRemove=function(t){this._onUpdate(t)},s.prototype._onUpdateGroups=function(t){for(var e=0;e0)for(var s=0;s0&&(h.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,h),i.__barchartLeft=this._getStackedBarYRange(p,h),i.__barchartLeft.yAxisOrientation="left",t.push("__barchartLeft")),d.length>0&&(d.sort(function(t,e){return t.x==e.x?t.groupId-e.groupId:t.x-e.x}),p={},this._getDataIntersections(p,d),i.__barchartRight=this._getStackedBarYRange(p,d),i.__barchartRight.yAxisOrientation="right",t.push("__barchartRight"))}},s.prototype._getStackedBarYRange=function(t,e){for(var i,s=e[0].y,o=e[0].y,n=0;nSimulation Mode: Barnes Hut Repulsion Hierarchical
',this.containerElement.parentElement.insertBefore(this.physicsConfiguration,this.containerElement),this.optionsDiv=document.createElement("div"),this.optionsDiv.style.fontSize="14px",this.optionsDiv.style.fontFamily="verdana",this.containerElement.parentElement.insertBefore(this.optionsDiv,this.containerElement);var e;e=document.getElementById("graph_BH_gc"),e.onchange=a.bind(this,"graph_BH_gc",-1,"physics_barnesHut_gravitationalConstant"),e=document.getElementById("graph_BH_cg"),e.onchange=a.bind(this,"graph_BH_cg",1,"physics_centralGravity"),e=document.getElementById("graph_BH_sc"),e.onchange=a.bind(this,"graph_BH_sc",1,"physics_springConstant"),e=document.getElementById("graph_BH_sl"),e.onchange=a.bind(this,"graph_BH_sl",1,"physics_springLength"),e=document.getElementById("graph_BH_damp"),e.onchange=a.bind(this,"graph_BH_damp",1,"physics_damping"),e=document.getElementById("graph_R_nd"),e.onchange=a.bind(this,"graph_R_nd",1,"physics_repulsion_nodeDistance"),e=document.getElementById("graph_R_cg"),e.onchange=a.bind(this,"graph_R_cg",1,"physics_centralGravity"),e=document.getElementById("graph_R_sc"),e.onchange=a.bind(this,"graph_R_sc",1,"physics_springConstant"),e=document.getElementById("graph_R_sl"),e.onchange=a.bind(this,"graph_R_sl",1,"physics_springLength"),e=document.getElementById("graph_R_damp"),e.onchange=a.bind(this,"graph_R_damp",1,"physics_damping"),e=document.getElementById("graph_H_nd"),e.onchange=a.bind(this,"graph_H_nd",1,"physics_hierarchicalRepulsion_nodeDistance"),e=document.getElementById("graph_H_cg"),e.onchange=a.bind(this,"graph_H_cg",1,"physics_centralGravity"),e=document.getElementById("graph_H_sc"),e.onchange=a.bind(this,"graph_H_sc",1,"physics_springConstant"),e=document.getElementById("graph_H_sl"),e.onchange=a.bind(this,"graph_H_sl",1,"physics_springLength"),e=document.getElementById("graph_H_damp"),e.onchange=a.bind(this,"graph_H_damp",1,"physics_damping"),e=document.getElementById("graph_H_direction"),e.onchange=a.bind(this,"graph_H_direction",t,"hierarchicalLayout_direction"),e=document.getElementById("graph_H_levsep"),e.onchange=a.bind(this,"graph_H_levsep",1,"hierarchicalLayout_levelSeparation"),e=document.getElementById("graph_H_nspac"),e.onchange=a.bind(this,"graph_H_nspac",1,"hierarchicalLayout_nodeSpacing");var i=document.getElementById("graph_physicsMethod1"),d=document.getElementById("graph_physicsMethod2"),l=document.getElementById("graph_physicsMethod3");d.checked=!0,this.constants.physics.barnesHut.enabled&&(i.checked=!0),this.constants.hierarchicalLayout.enabled&&(l.checked=!0);var c=document.getElementById("graph_toggleSmooth"),p=document.getElementById("graph_repositionNodes"),u=document.getElementById("graph_generateOptions");c.onclick=s.bind(this),p.onclick=o.bind(this),u.onclick=n.bind(this),c.style.background=1==this.constants.smoothCurves&&0==this.constants.dynamicSmoothCurves?"#A4FF56":"#FF8532",r.apply(this),i.onchange=r.bind(this),d.onchange=r.bind(this),l.onchange=r.bind(this)}},e._overWriteGraphConstants=function(t,e){var i=t.split("_");1==i.length?this.constants[i[0]]=e:2==i.length?this.constants[i[0]][i[1]]=e:3==i.length&&(this.constants[i[0]][i[1]][i[2]]=e)}},function(t){function e(t){throw new Error("Cannot find module '"+t+"'.")}e.resolve=e,e.keys=function(){return[]},t.exports=e},function(t,e){e._calculateNodeForces=function(){var t,e,i,s,o,n,r,a,h,d,l,c=this.calculationNodes,p=this.calculationNodeIndices,u=-2/3,f=4/3,m=this.constants.physics.repulsion.nodeDistance,g=m;for(d=0;dOptions: x
, y
, and z
,
and can optionally have a property style
and filter
.
-
Items
@@ -177,14 +179,14 @@ var items = [
Groups
id
,
- content
, className
(optional) and options
(optional).
+ Like the items, groups are regular JavaScript Arrays and Objects.
+ Using groups, items can be grouped together.
+ Items are filtered per group, and displayed as individual graphs. Groups can contain the properties id
,
+ content
, className
(optional) and options
(optional).
setGroups
.
- A table with groups can be created like:
+ Groups can be applied to a timeline using the method setGroups
.
+ A table with groups can be created like:
@@ -203,51 +205,51 @@ groups.add({
-
-
- Name
- Type
- Required
- Description
-
-
- id
- String | Number
- yes
- An id for the group. The group will display all items having a
- property
- group
which matches the id
- of the group.
-
- content
- String
- yes
- The contents of the group. This can be plain text or html code.
-
-
- className
- String
- no
- This field is optional. A className can be used to give groups
- an individual css style.
-
-
-
- options
- JSON object
- no
- This field is optional. The options can be used to give a group a specific draw style.
- Any options that are colored green in the Configuration Options can be used as options here.
-
-
+ visible
- Boolean
- true
- This field is optional. If false, the graph will not be drawn.
-
+
+ Name
+ Type
+ Required
+ Description
+
+
+ id
+ String | Number
+ yes
+ An id for the group. The group will display all items having a
+ property
+ group
which matches the id
+ of the group.
+
+ content
+ String
+ yes
+ The contents of the group. This can be plain text or html code.
+
+
+ className
+ String
+ no
+ This field is optional. A className can be used to give groups
+ an individual css style.
+
+
+
+ options
+ JSON object
+ no
+ This field is optional. The options can be used to give a group a specific draw style.
+ Any options that are colored green in the Configuration Options can be used as options here.
+
+
visible
+ Boolean
+ true
+ This field is optional. If false, this group will not be drawn.
+ Configuration Options
@@ -268,198 +270,217 @@ var options = {
The options colored in green can also be used as options for the groups. All options are optional.
-
-
- Name
- Type
- Default
- Description
-
-
- yAxisOrientation
- String
- 'left'
- This defines with which axis, left or right, the graph is coupled. Example 5 shows groups with different Y axis. If no groups are coupled
- with an axis, it will not be shown.
-
-
- defaultGroup
- String
- 'default'
- This is the label for the default, ungrouped items when shown in a legend.
-
-
- sort
- Boolean
- true
- This determines if the items are sorted automatically.
- They are sorted by the x value. If sort is enabled, more optimizations are possible, increasing the performance.
-
-
- sampling
- Boolean
- true
- If sampling is enabled, graph2D will automatically determine the amount of points per pixel.
- If there are more than 1 point per pixel, not all points will be drawn. Disabling sampling will cause a decrease in performance.
-
-
- graphHeight
- Number | String
- '400px'
- This is the height of the graph SVG canvas.
- If it is larger than the height of the outer frame, you can drag up and down
- the vertical direction as well as the usual horizontal direction.
-
-
- shaded
- Boolean | Object
- false
- Toggle a shaded area with the default settings.
-
-
- shaded.enabled
- Boolean
- false
- This toggles the shading.
-
-
- shaded.orientation
- String
- 'bottom'
- This determines if the shaded area is at the bottom or at the top of the curve. The options are 'bottom' or 'top'.
-
-
- style
- String
- 'line'
- This allows the user to define if this should be a linegraph or a barchart. The options are: 'line' or 'bar'.
-
-
- barChart.width
- Number
- 50
- The width of the bars.
-
-
- barChart.align
- String
- 'center'
- The alignment of the bars with regards to the coordinate. The options are 'left', 'right' or 'center'.
-
-
- catmullRom
- Boolean | Object
- true
- Toggle the interpolation with the default settings. For more customization use the JSON format.
-
-
- catmullRom.enabled
- Boolean
- true
- Toggle the interpolation.
-
-
- catmullRom.parametrization
- String
- 'centripetal'
- Define the type of parametrizaion. Example 7 shows the different methods. The options are 'centripetal' (best results), 'chordal' and 'uniform'. Uniform is the computationally cheapest variant.
- If catmullRom is disabled, linear interpolation is used.
-
-
- drawPoints
- Boolean | Object
- true
- Toggle the drawing of the datapoints with the default settings.
-
-
- drawPoints.enabled
- Boolean
- true
- Toggle the drawing of the datapoints.
-
-
- drawPoints.size
- Number
- 6
- Determine the size at which the data points are drawn.
-
-
- drawPoints.style
- String
- 'square'
- Determine the shape of the data points. The options are 'square' or 'circle'.
-
-
- dataAxis.showMinorLabels
- Boolean
- true
- Toggle the drawing of the minor labels on the Y axis.
-
-
- dataAxis.showMajorLabels
- Boolean
- true
- Toggle the drawing of the major labels on the Y axis.
-
-
- dataAxis.icons
- Boolean
- false
- Toggle the drawing of automatically generated icons the Y axis.
-
-
- dataAxis.width
- Number | String
- '40px'
- Set the (minimal) width of the yAxis. The axis will resize to accomodate the labels of the Y values.
-
-
- dataAxis.visible
- Boolean
- true
- Show or hide the data axis.
-
-
- legend
- Boolean
- false
- Toggle the legend with the default settings.
-
-
- legend.enabled
- Boolean
- false
- Toggle the legend.
-
-
- legend.icons
- Boolean
- true
- Show automatically generated icons on the legend.
-
-
- legend.left.visible
- Boolean
- true
- Both axis, left and right, have a corresponding legend. This toggles the visibility of the legend that is coupled with the left axis.
-
-
- legend.left.position
- String
- 'top-left'
- Determine the position of the legend coupled to the left axis. Options are 'top-left', 'top-right', 'bottom-left' or 'bottom-right'.
-
-
- legend.right.visible
- Boolean
- true
- This toggles the visibility of the legend that is coupled with the right axis.
-
-
+legend.right.position
- String
- 'top-right'
- Determine the position of the legend coupled to the right axis. Options are 'top-left', 'top-right', 'bottom-left' or 'bottom-right'.
-
+
+Name
+ Type
+ Default
+ Description
+
+
+yAxisOrientation
+ String
+ 'left'
+ This defines with which axis, left or right, the graph is coupled. Example 5 shows groups with different Y axis. If no groups are coupled
+ with an axis, it will not be shown.
+
+
+defaultGroup
+ String
+ 'default'
+ This is the label for the default, ungrouped items when shown in a legend.
+
+
+sort
+ Boolean
+ true
+ This determines if the items are sorted automatically.
+ They are sorted by the x value. If sort is enabled, more optimizations are possible, increasing the performance.
+
+
+sampling
+ Boolean
+ true
+ If sampling is enabled, Graph2d will automatically determine the amount of points per pixel.
+ If there are more than 1 point per pixel, not all points will be drawn. Disabling sampling will cause a decrease in performance.
+
+
+graphHeight
+ Number | String
+ '400px'
+ This is the height of the graph SVG canvas.
+ If it is larger than the height of the outer frame, you can drag up and down
+ the vertical direction as well as the usual horizontal direction.
+
+
+shaded
+ Boolean | Object
+ false
+ Toggle a shaded area with the default settings.
+
+
+shaded.enabled
+ Boolean
+ false
+ This toggles the shading.
+
+
+shaded.orientation
+ String
+ 'bottom'
+ This determines if the shaded area is at the bottom or at the top of the curve. The options are 'bottom' or 'top'.
+
+
+style
+ String
+ 'line'
+ This allows the user to define if this should be a linegraph or a barchart. The options are: 'line' or 'bar'.
+
+
+barChart.width
+ Number
+ 50
+ The width of the bars.
+
+
+barChart.align
+ String
+ 'center'
+ The alignment of the bars with regards to the coordinate. The options are 'left', 'right' or 'center'.
+
+
+barChart.handleOverlap
+ String
+ 'overlap'
+ You can choose how graph2d handles the case where barcharts are occupying the same datapoint. The possible options are:
+
+overlap, sideBySide, stack
.
+ See example 10 for more information.
+ When using groups, see example 11.
+
+
+catmullRom
+ Boolean | Object
+ true
+ Toggle the interpolation with the default settings. For more customization use the JSON format.
+
+
+catmullRom.enabled
+ Boolean
+ true
+ Toggle the interpolation.
+
+
+catmullRom.parametrization
+ String
+ 'centripetal'
+ Define the type of parametrizaion. Example 7 shows the different methods. The options are 'centripetal' (best results), 'chordal' and 'uniform'. Uniform is the computationally cheapest variant.
+ If catmullRom is disabled, linear interpolation is used.
+
+
+drawPoints
+ Boolean | Object
+ true
+ Toggle the drawing of the datapoints with the default settings.
+
+
+drawPoints.enabled
+ Boolean
+ true
+ Toggle the drawing of the datapoints.
+
+
+drawPoints.size
+ Number
+ 6
+ Determine the size at which the data points are drawn.
+
+
+drawPoints.style
+ String
+ 'square'
+ Determine the shape of the data points. The options are 'square' or 'circle'.
+
+
+dataAxis.showMinorLabels
+ Boolean
+ true
+ Toggle the drawing of the minor labels on the Y axis.
+
+
+dataAxis.showMajorLabels
+ Boolean
+ true
+ Toggle the drawing of the major labels on the Y axis.
+
+
+dataAxis.icons
+ Boolean
+ false
+ Toggle the drawing of automatically generated icons the Y axis.
+
+
+dataAxis.width
+ Number | String
+ '40px'
+ Set the (minimal) width of the yAxis. The axis will resize to accomodate the labels of the Y values.
+
+
+dataAxis.visible
+ Boolean
+ true
+ Show or hide the data axis.
+
+
+groups.visibility
+ Object
+
+ You can use this to toggle the visibility of groups per graph2D instance. This is different from setting the visibility flag of the groups since
+ this is not communicated across instances of graph2d. Take a look at Example 14
+ for more explaination.
+
+
+
+legend
+ Boolean
+ false
+ Toggle the legend with the default settings.
+
+
+legend.enabled
+ Boolean
+ false
+ Toggle the legend.
+
+
+legend.icons
+ Boolean
+ true
+ Show automatically generated icons on the legend.
+
+
+legend.left.visible
+ Boolean
+ true
+ Both axis, left and right, have a corresponding legend. This toggles the visibility of the legend that is coupled with the left axis.
+
+
+legend.left.position
+ String
+ 'top-left'
+ Determine the position of the legend coupled to the left axis. Options are 'top-left', 'top-right', 'bottom-left' or 'bottom-right'.
+
+
+legend.right.visible
+ Boolean
+ true
+ This toggles the visibility of the legend that is coupled with the right axis.
+
+
legend.right.position
+ String
+ 'top-right'
+ Determine the position of the legend coupled to the right axis. Options are 'top-left', 'top-right', 'bottom-left' or 'bottom-right'.
+Timeline Options
@@ -470,313 +491,345 @@ The options colored in green can also be used as options for the groups. All opt
Name | Type | Default | Description | -
---|---|---|---|
autoResize | boolean | true | If true, the Timeline will automatically detect when its container is resized, and redraw itself accordingly. If false, the Timeline can be forced to repaint after its container has been resized using the function redraw() . |
-
clickToUse | +boolean | +false | +When a Graph2d is configured to be clickToUse , it will react to mouse and touch events only when active.
+ When active, a blue shadow border is displayed around the Graph2d. The Graph2d is set active by clicking on it, and is changed to inactive again by clicking outside the Graph2d or by pressing the ESC key. |
+
end | Date | Number | String | none | The initial end date for the axis of the timeline. - If not provided, the latest date present in the items set is taken as - end date. | -
height | Number | String | none | The height of the timeline in pixels or as a percentage.
- When height is undefined or null, the height of the timeline is automatically
- adjusted to fit the contents.
- It is possible to set a maximum height using option maxHeight
- to prevent the timeline from getting too high in case of automatically
- calculated height.
+ When height is undefined or null, the height of the timeline is automatically
+ adjusted to fit the contents.
+ It is possible to set a maximum height using option maxHeight
+ to prevent the timeline from getting too high in case of automatically
+ calculated height.
|
-
margin.axis | -Number | -20 | -The minimal margin in pixels between items and the time axis. | -
locale | +String | +none | +Select a locale for the Graph2d. See section Localization for more information. | +
margin.item | -Number | -10 | -The minimal margin in pixels between items. | -
locales | +Object | +none | +A map with i18n locales. See section Localization for more information. | +
max | Date | Number | String | none | Set a maximum Date for the visible range. - It will not be possible to move beyond this maximum. + It will not be possible to move beyond this maximum. | -
maxHeight | Number | String | none | Specifies the maximum height for the Timeline. Can be a number in pixels or a string like "300px". | -
min | Date | Number | String | none | Set a minimum Date for the visible range. - It will not be possible to move beyond this minimum. + It will not be possible to move beyond this minimum. | -
minHeight | Number | String | none | Specifies the minimum height for the Timeline. Can be a number in pixels or a string like "300px". | -
orientation | String | 'bottom' | Orientation of the timeline: 'top' or 'bottom' (default). If orientation is 'bottom', the time axis is drawn at the bottom, and if 'top', the axis is drawn on top. | -
showCurrentTime | boolean | true | Show a vertical bar at the current time. | -
showCustomTime | boolean | false | Show a vertical bar displaying a custom time. This line can be dragged by the user. The custom time can be utilized to show a state in the past or in the future. When the custom time bar is dragged by the user, the event timechange is fired repeatedly. After the bar is dragged, the event timechanged is fired once. |
-
showMajorLabels | boolean | true | By default, the timeline shows both minor and major date labels on the
- time axis.
- For example the minor labels show minutes and the major labels show hours.
- When showMajorLabels is false , no major labels
- are shown. |
-
showMinorLabels | boolean | true | By default, the timeline shows both minor and major date labels on the
- time axis.
- For example the minor labels show minutes and the major labels show hours.
- When showMinorLabels is false , no minor labels
- are shown. When both showMajorLabels and
- showMinorLabels are false, no horizontal axis will be
- visible. |
-
start | Date | Number | String | none | The initial start date for the axis of the timeline. - If not provided, the earliest date present in the events is taken as start date. | -
width | String | '100%' | The width of the timeline in pixels or as a percentage. | -
zoomMax | Number | 315360000000000 | Set a maximum zoom interval for the visible range in milliseconds. - It will not be possible to zoom out further than this maximum. - Default value equals about 10000 years. + It will not be possible to zoom out further than this maximum. + Default value equals about 10000 years. | -
zoomMin | Number | 10 | Set a minimum zoom interval for the visible range in milliseconds. - It will not be possible to zoom in further than this minimum. + It will not be possible to zoom in further than this minimum. | -
- The Graph2d supports the following methods. + The Graph2d supports the following methods.
Method | -Return Type | -Description | -
---|---|---|
clear([what]) | -none | -
- Clear the Graph2d. An object can be passed specifying which sections to clear: items, groups,
- and/or options. By Default, items, groups and options are cleared, i.e. what = {items: true, groups: true, options: true} . Example usage:
+ |
Method | +Return Type | +Description | +
clear([what]) | +none | +
+ Clear the Graph2d. An object can be passed specifying which sections to clear: items, groups,
+ and/or options. By Default, items, groups and options are cleared, i.e. what = {items: true, groups: true, options: true} . Example usage:
Graph2d.clear(); // clear items, groups, and options Graph2d.clear({options: true}); // clear options only- |
-
destroy() | -none | -Destroy the Graph2d. The Graph2d is removed from memory. all DOM elements and event listeners are cleaned up. - | -
getCustomTime() | -Date | -Retrieve the custom time. Only applicable when the option showCustomTime is true.
- |
-
setCustomTime(time) | -none | -Adjust the custom time bar. Only applicable when the option showCustomTime is true. time is a Date object.
- |
-
getLegend(groupId, iconWidth, iconHeight) | -SVGelement, String, String | -Returns an object containing an SVG element with the icon of the group (size determined by iconWidth and iconHeight), the label of the group (content) and the yAxisOrientation of the group (left or right). - | -
getWindow() | -Object | -Get the current visible window. Returns an object with properties start: Date and end: Date . |
-
getItemRange() | -Object | -Get the range of all the items as an object containing min: Date and max: Date . |
-
fit() | -none | -Adjust the visible window such that it fits all items. - | -
on(event, callback) | -none | -Create an event listener. The callback function is invoked every time the event is triggered. Avialable events: rangechange , rangechanged , select . The callback function is invoked as callback(properties) , where properties is an object containing event specific properties. See section Events for more information. |
-
off(event, callback) | -none | -Remove an event listener created before via function on(event, callback) . See section Events for more information. |
-
redraw() | -none | -Force a redraw of the Graph2d. Can be useful to manually redraw when option autoResize=false. - | -
isGroupVisible(groupId) | -Boolean | -This checks if the visible option of the supplied group (by ID) is true or false. - | -
setGroups(groups) | -none | -Set a data set with groups for the Graph2d.
- groups can be an Array with Objects,
- a DataSet, or a DataView. For each of the groups, the items of the
- Graph2d are filtered on the property group , which
- must correspond with the id of the group.
- |
-
setItems(items) | -none | -Set a data set with items for the Graph2d.
- items can be an Array with Objects,
- a DataSet, or a DataView.
- |
-
setOptions(options) | -none | -Set or update options. It is possible to change any option of the Graph2d at any time. You can for example switch orientation on the fly. - | -
setWindow(start, end) | -none | -Set the current visible window. The parameters start and end can be a Date , Number , or String . If the parameter value of start or end is null, the parameter will be left unchanged. |
-
destroy() | +none | +Destroy the Graph2d. The Graph2d is removed from memory. all DOM elements and event listeners are cleaned up. + | +
getCurrentTime() | +Date | +Get the current time. Only applicable when option showCurrentTime is true.
+ |
+
getCustomTime() | +Date | +Retrieve the custom time. Only applicable when the option showCustomTime is true.
+ |
+
getLegend(groupId, iconWidth, iconHeight) | +SVGelement, String, String | +Returns an object containing an SVG element with the icon of the group (size determined by iconWidth and iconHeight), the label of the group (content) and the yAxisOrientation of the group (left or right). + | +
getWindow() | +Object | +Get the current visible window. Returns an object with properties start: Date and end: Date . |
+
getItemRange() | +Object | +Get the range of all the items as an object containing min: Date and max: Date . |
+
fit() | +none | +Adjust the visible window such that it fits all items. + | +
isGroupVisible(groupId) | +Boolean | +This checks if the visible option of the supplied group (by ID) is true or false. + | +
moveTo(time [, options]) | +none | +Move the window such that given time is centered on screen. Parameter time can be a Date , Number , or String . Available options:
+
|
+
on(event, callback) | +none | +Create an event listener. The callback function is invoked every time the event is triggered. Avialable events: rangechange , rangechanged , select . The callback function is invoked as callback(properties) , where properties is an object containing event specific properties. See section Events for more information. |
+
off(event, callback) | +none | +Remove an event listener created before via function on(event, callback) . See section Events for more information. |
+
redraw() | +none | +Force a redraw of the Graph2d. Can be useful to manually redraw when option autoResize=false. + | +
setCurrentTime(time) | +none | +Set a current time. This can be used for example to ensure that a client's time is synchronized with a shared server time.
+ time can be a Date object, numeric timestamp, or ISO date string.
+ Only applicable when option showCurrentTime is true. |
+
setCustomTime(time) | +none | +Adjust the custom time bar. Only applicable when the option showCustomTime is true. time can be a Date object, numeric timestamp, or ISO date string.
+ |
+
setGroups(groups) | +none | +Set a data set with groups for the Graph2d.
+ groups can be an Array with Objects,
+ a DataSet, or a DataView. For each of the groups, the items of the
+ Graph2d are filtered on the property group , which
+ must correspond with the id of the group.
+ |
+
setItems(items) | +none | +Set a data set with items for the Graph2d.
+ items can be an Array with Objects,
+ a DataSet, or a DataView.
+ |
+
setOptions(options) | +none | +Set or update options. It is possible to change any option of the Graph2d at any time. You can for example switch orientation on the fly. + | +
setWindow(start, end) | +none | +Set the current visible window. The parameters start and end can be a Date , Number , or String . If the parameter value of start or end is null, the parameter will be left unchanged. |
+
- Graph2d fires events when changing the visible window by dragging, when - selecting items, and when dragging the custom time bar. + Graph2d fires events when changing the visible window by dragging, when + selecting items, and when dragging the custom time bar.
- Here an example on how to listen for a rangeChanged
event.
+ Here an example on how to listen for a rangeChanged
event.
@@ -786,7 +839,7 @@ Graph2d.on('select', function (properties) {
- A listener can be removed via the function off
:
+ A listener can be removed via the function off
:
@@ -805,87 +858,143 @@ Graph2d.off('rangechanged', onChange);- The following events are available. + The following events are available.
name | -Description | -Properties | -
---|---|---|
rangechange | -Fired repeatedly when the user is dragging the Graph2d window. - | -
-
|
-
rangechanged | -Fired once after the user has dragged the Graph2d window. - | -
-
|
-
timechange | -Fired repeatedly when the user is dragging the custom time bar. - Only available when the custom time bar is enabled. - | -
-
|
-
timechanged | -Fired once after the user has dragged the custom time bar. - Only available when the custom time bar is enabled. - | -
-
|
-
name | +Description | +Properties | +
rangechange | +Fired repeatedly when the user is dragging the Graph2d window. + | +
+
|
+
rangechanged | +Fired once after the user has dragged the Graph2d window. + | +
+
|
+
timechange | +Fired repeatedly when the user is dragging the custom time bar. + Only available when the custom time bar is enabled. + | +
+
|
+
timechanged | +Fired once after the user has dragged the custom time bar. + Only available when the custom time bar is enabled. + | +
+
|
+
+ Graph2d can be localized. For localization, Graph2d depends largely on the localization of moment.js. Locales are not included in vis.js by default. To enable localization, moment.js must be loaded with locales. Moment.js offers a bundle named "moment-with-locales.min.js" for this and there are various alternative ways to load locales. +
+ +
+ To set a locale for the Graph2d, specify the option locale
:
+
var options = { + locale: 'nl' +}; ++ +
locales
:
+
+var options = { + locales: { + // create a new locale + mylocale: { + current: 'current', + time: 'time', + } + }, + + // use the new locale + locale: 'mylocale' +}; ++ +
Language | Code |
---|---|
English | +
+ en + en_EN + en_US
+ |
+
Dutch | +
+ nl + nl_NL + nl_BE
+ |
+
- All parts of the Graph2d have a class name and a default css style just like the Timeline. - The styles can be overwritten, which enables full customization of the layout - of the Graph2d. + All parts of the Graph2d have a class name and a default css style just like the Graph2d. + The styles can be overwritten, which enables full customization of the layout + of the Graph2d.
- Additionally, Graph2d has 10 preset styles for graphs, which are cycled through when loading groups. These styles can be overwritten - as well, along with defining your own classes to style the graphs! Example 4 and - example 5 show the usage of custom styles. + Additionally, Graph2d has 10 preset styles for graphs, which are cycled through when loading groups. These styles can be overwritten + as well, along with defining your own classes to style the graphs! Example 4 and + example 5 show the usage of custom styles.
- All code and data is processed and rendered in the browser. - No data is sent to any server. + All code and data is processed and rendered in the browser. + No data is sent to any server.
diff --git a/docs/network.html b/docs/network.html index 43e3d9fa..2319bf8e 100644 --- a/docs/network.html +++ b/docs/network.html @@ -31,9 +31,9 @@- Every dataset is different. Nodes can have different sizes based on content, interconnectivity can be high or low etc. Because of this, network has a special option - that the user can use to explore which settings may be good for you. Use configurePhysics as described in the Physics section or by - example 25. + Every dataset is different. Nodes can have different sizes based on content, interconnectivity can be high or low etc. Because of this, network has a special option + that the user can use to explore which settings may be good for you. Use configurePhysics as described in the Physics section or by + example 25.
@@ -68,8 +68,8 @@
Name | -Type | -Required | -Description | -
---|---|---|---|
borderWidth | -Number | -1 | -The width of the border of the node when it is not selected, automatically limited by the width of the node. | -
borderWidthSelected | -Number | -undefined | -The width of the border of the node when it is selected. If left at undefined, double the borderWidth will be used. | -
color | -String | Object | -no | -Color for the node. | -
Name | +Type | +Required | +Description | +
color.background | -String | -no | -Background color for the node. | -
borderWidth | +Number | +1 | +The width of the border of the node when it is not selected, automatically limited by the width of the node. | +
color.border | -String | -no | -Border color for the node. | -
color.highlight | -String | Object | -no | -Color of the node when selected. | -
borderWidthSelected | +Number | +undefined | +The width of the border of the node when it is selected. If left at undefined, double the borderWidth will be used. | +
color.highlight.background | -String | -no | -Background color of the node when selected. | -
color | +String | Object | +no | +Color for the node. | +
color.highlight.border | -String | -no | -Border color of the node when selected. | -
color.background | +String | +no | +Background color for the node. | +
color.hover.background | -String | -no | -Background color of the node when the node is hovered over and the hover option is enabled. | -
color.border | +String | +no | +Border color for the node. | +
color.hover.border | -String | -no | -Border color of the node when the node is hovered over and the hover option is enabled. | -
color.highlight | +String | Object | +no | +Color of the node when selected. | +
group | -Number | String | -no | -A group number or name. The type can be number ,
- string , or an other type. All nodes with the same group get
- the same color schema. |
-
color.highlight.background | +String | +no | +Background color of the node when selected. | +
allowedToMoveX | -Boolean | -false | -If allowedToMoveX is false, then the node will not move from its supplied position. - If an X position has been supplied, it is fixed in the X-direction. - If no X value has been supplied, this argument will not do anything. | -
allowedToMoveY | -Boolean | -false | -If allowedToMoveY is false, then the node will not move from its supplied position. - If an Y position has been supplied, it is fixed in the Y-direction. - If no Y value has been supplied, this argument will not do anything. | -
fontColor | -String | -no | -Font color for label in the node. | -
color.highlight.border | +String | +no | +Border color of the node when selected. | +
fontFace | -String | -no | -Font face for label in the node, for example "verdana" or "arial". | -
color.hover.background | +String | +no | +Background color of the node when the node is hovered over and the hover option is enabled. | +
fontSize | -Number | -no | -Font size in pixels for label in the node. | -
color.hover.border | +String | +no | +Border color of the node when the node is hovered over and the hover option is enabled. | +
id | -Number | String | -yes | -A unique id for this node. - Nodes may not have duplicate id's. - Id's do not need to be consecutive. - An id is normally a number, but may be any type. | -
group | +Number | String | +no | +A group number or name. The type can be number ,
+ string , or an other type. All nodes with the same group get
+ the same color schema. |
+
image | -string | -no | -Url of an image. Only applicable when the shape of the node is
- image . |
+
allowedToMoveX | +Boolean | +false | +If allowedToMoveX is false, then the node will not move from its supplied position. + If an X position has been supplied, it is fixed in the X-direction. + If no X value has been supplied, this argument will not do anything. | +
allowedToMoveY | +Boolean | +false | +If allowedToMoveY is false, then the node will not move from its supplied position. + If an Y position has been supplied, it is fixed in the Y-direction. + If no Y value has been supplied, this argument will not do anything. | +
fontColor | +String | +no | +Font color for label in the node. |
mass | -number | -1 | -When using the Barnes Hut simulation method (which is selected by default), - the mass of a node determines the gravitational repulsion during the simulation. Higher mass will push other nodes further away. | -
level | -number | --1 | -This level is used in the hierarchical layout. If this is not selected, the level does not do anything. | -
radius | -number | -no | -Radius for the node. Applicable for all shapes except box ,
- circle , ellipse and database .
- The value of radius will override a value in
- property value . |
-
fontFace | +String | +no | +Font face for label in the node, for example "verdana" or "arial". | +
shape | -string | -no | -Define the shape for the node.
- Choose from
- ellipse (default), circle , box ,
- database , image , label , dot ,
- star , triangle , triangleDown , and square .
- + |
fontSize | +Number | +no | +Font size in pixels for label in the node. | +
id | +Number | String | +yes | +A unique id for this node. + Nodes may not have duplicate id's. + Id's do not need to be consecutive. + An id is normally a number, but may be any type. | +
image | +string | +no | +Url of an image. Only applicable when the shape of the node is
+ image . |
+
mass | +number | +1 | +When using the Barnes Hut simulation method (which is selected by default), + the mass of a node determines the gravitational repulsion during the simulation. Higher mass will push other nodes further away. | +
level | +number | +-1 | +This level is used in the hierarchical layout. If this is not selected, the level does not do anything. | +
radius | +number | +no | +Radius for the node. Applicable for all shapes except box ,
+ circle , ellipse and database .
+ The value of radius will override a value in
+ property value . |
+
shape | +string | +no | +Define the shape for the node.
+ Choose from
+ ellipse (default), circle , box ,
+ database , image , label , dot ,
+ star , triangle , triangleDown , and square .
+ + + In case of image , a property with name image must
+ be provided, containing image urls.
+ + + The shapes dot , star , triangle ,
+ triangleDown , and square , are scalable.
+ The size is determined by the properties radius or
+ value .
+ + + When a property label is provided,
+ this label will be displayed inside the shape in case of shapes
+ box , circle , ellipse ,
+ and database .
+ For all other shapes, the label will be displayed right below the shape.
+
+ |
+
label | -string | -no | -Text label to be displayed in the node or under the image of the node.
- Multiple lines can be separated by a newline character \n . |
-
label | +string | +no | +Text label to be displayed in the node or under the image of the node.
+ Multiple lines can be separated by a newline character \n . |
+
title | -string | function | -no | -Title to be displayed when the user hovers over the node.
- The title can contain HTML code. If using a function, returning undefined
- will prevent the tooltip from being displayed. |
-
title | +string | function | +no | +Title to be displayed when the user hovers over the node.
+ The title can contain HTML code. If using a function, returning undefined
+ will prevent the tooltip from being displayed. |
+
value | -number | -no | -A value for the node.
- The radius of the nodes will be scaled automatically from minimum to
- maximum value.
- Only applicable when the shape of the node is dot .
- If a radius is provided for the node too, it will override the
- radius calculated from the value. |
-
value | +number | +no | +A value for the node.
+ The radius of the nodes will be scaled automatically from minimum to
+ maximum value.
+ Only applicable when the shape of the node is dot .
+ If a radius is provided for the node too, it will override the
+ radius calculated from the value. |
+
x | -number | -no | -Horizontal position in pixels. - The horizontal position of the node will be fixed. - The vertical position y may remain undefined. | -
y | -number | -no | -Vertical position in pixels. - The vertical position of the node will be fixed. - The horizontal position x may remain undefined. | -
x | +number | +no | +Horizontal position in pixels. + The horizontal position of the node will be fixed. + The vertical position y may remain undefined. | +
y | +number | +no | +Vertical position in pixels. + The vertical position of the node will be fixed. + The horizontal position x may remain undefined. | +
"to","from", true, false
. If this value is set to false, the edge color information is used. If the value is set to true or "from",
- the color data from the borders of the "from" node is used. If this value is "to", the color data from the borders of the "to" node is used."to","from", true, false
. If this value is set to false, the edge color information is used. If the value is set to true or "from",
+ the color data from the borders of the "from" node is used. If this value is "to", the color data from the borders of the "to" node is used.- network can import data straight from an exported json file from gephi. You can get the JSON exporter here: - https://marketplace.gephi.org/plugin/json-exporter/. - An example exists showing how to get a JSON file into Vis: 30_importing_from_gephi. + network can import data straight from an exported json file from gephi. You can get the JSON exporter here: + https://marketplace.gephi.org/plugin/json-exporter/. + An example exists showing how to get a JSON file into Vis: 30_importing_from_gephi.
- Example usage: + Example usage:
@@ -815,29 +815,29 @@ var parserOptions = { var parsed = vis.network.gephiParser.parseGephi(gephiJSON, parserOptions);
Name | Type | Default | Description | -
---|---|---|---|
allowedToMove | Boolean | false | - If true, the nodes will move according to the physics model after import. If false, the nodes do not move at all. + If true, the nodes will move according to the physics model after import. If false, the nodes do not move at all. | -
parseColor | Boolean | false | - If true, the color will be parsed by the vis parser, generating extra colors for the borders, highlighs and hover. If false, the node will be the supplied color. + If true, the color will be parsed by the vis parser, generating extra colors for the borders, highlighs and hover. If false, the node will be the supplied color. | -
Name | -Type | -Default | -Description | -||||
---|---|---|---|---|---|---|---|
Name | +Type | +Default | +Description | +||||
physics | -Object | -none | -- Configuration of the physics system governing the simulation of the nodes and edges. - Barnes-Hut nBody simulation is used by default. See section Physics for an overview of the available options. - | -||||
configurePhysics | -Boolean | -false | -- Enabling this setting will create a physics configuration div above the network. You can use this to fine tune the physics system to suit your needs. - Because of the many possible configurations, there is not a one-size-fits-all setting. By using this tool, you can adapt the physics to your dataset. - | -||||
dataManipulation | -Object | -none | -- Settings for manipulating the Dataset. See section Data manipulation for an overview of the available options. - | -||||
clustering | -Object | -none | -- Clustering configuration. Clustering is turned off by default. See section Clustering for an overview of the available options. - | -||||
clickToUse | +boolean | +false | +When a Network is configured to be clickToUse , it will react to mouse, touch, and keyboard events only when active.
+ When active, a blue shadow border is displayed around the Network. The Network is set active by clicking on it, and is changed to inactive again by clicking outside the Network or by pressing the ESC key. |
+||||
edges | -Object | -none | -- Configuration options applied to all edges. See section Edges configuration for an overview of the available options. - | -||||
physics | +Object | +none | ++ Configuration of the physics system governing the simulation of the nodes and edges. + Barnes-Hut nBody simulation is used by default. See section Physics for an overview of the available options. + | +||||
configurePhysics | +Boolean | +false | ++ Enabling this setting will create a physics configuration div above the network. You can use this to fine tune the physics system to suit your needs. + Because of the many possible configurations, there is not a one-size-fits-all setting. By using this tool, you can adapt the physics to your dataset. + | +||||
freezeForStabilization | -Boolean | -false | -- With the advent of the storePosition() function, the positions of the nodes can be saved after they are stabilized. The smoothCurves require support nodes and those positions are not stored. In order - to speed up the initialization of the network by using storePosition() and loading the nodes with the stored positions, the freezeForStabilization option freezes all nodes that have been supplied with - an x and y position in place during the stabilization. That way only the support nodes for the smooth curves have to stabilize, greatly speeding up the stabilization process with cached positions. - | -||||
dataManipulation | +Object | +none | ++ Settings for manipulating the Dataset. See section Data manipulation for an overview of the available options. + | +||||
groups | -Object | -none | -It is possible to specify custom styles for groups. - Each node assigned a group gets the specified style. - See Groups configuration for an overview of the available styles - and an example. - | -||||
clustering | +Object | +none | ++ Clustering configuration. Clustering is turned off by default. See section Clustering for an overview of the available options. + | +||||
height | -String | -"400px" | -The height of the network in pixels or as a percentage. | -||||
edges | +Object | +none | ++ Configuration options applied to all edges. See section Edges configuration for an overview of the available options. + | +||||
hover | -Boolean | -false | -Enabling the change of the colors of nodes and edges when the mouse hovers over them. Enabling this may have a minor impact on performance. | -||||
freezeForStabilization | +Boolean | +false | ++ With the advent of the storePosition() function, the positions of the nodes can be saved after they are stabilized. The smoothCurves require support nodes and those positions are not stored. In order + to speed up the initialization of the network by using storePosition() and loading the nodes with the stored positions, the freezeForStabilization option freezes all nodes that have been supplied with + an x and y position in place during the stabilization. That way only the support nodes for the smooth curves have to stabilize, greatly speeding up the stabilization process with cached positions. + | +||||
keyboard | -Object | -none | -- Configuration options for shortcuts keys. Shortcut keys are turned off by default. See section Keyboard navigation for an overview of the available options. - | -||||
dragNetwork | -Boolean | -true | -- Toggle if the network can be dragged. This will not affect the dragging of nodes. - | -||||
dragNodes | -Boolean | -true | -- Toggle if the nodes can be dragged. This will not affect the dragging of the network. - | -||||
hideNodesOnDrag | -Boolean | -false | -- Toggle if the nodes are drawn during a drag. This can greatly improve performance if you have many nodes. - | -||||
hideEdgesOnDrag | -Boolean | -false | -- Toggle if the edges are drawn during a drag. This can greatly improve performance if you have many edges. - | -||||
navigation | -Object | -none | -- Configuration options for the navigation controls. See section Navigation controls for an overview of the available options. - | -||||
groups | +Object | +none | +It is possible to specify custom styles for groups. + Each node assigned a group gets the specified style. + See Groups configuration for an overview of the available styles + and an example. + | +||||
nodes | -Object | -none | -- Configuration options applied to all nodes. See section Nodes configuration for an overview of the available options. - | -||||
height | +String | +"400px" | +The height of the network in pixels or as a percentage. | +||||
smoothCurves | -Boolean || object | -object | -If true, edges are drawn as smooth curves. This is more computationally intensive since the edge now is a quadratic Bezier curve. This can be further configured by the options below. | -||||
smoothCurves.dynamic | -Boolean | -true | -By default, the edges are dynamic. This means there are support nodes placed in the middle of the edge. This support node is also handed by the physics simulation. If false, the smoothness will be based on the - relative positions of the to and from nodes. This is computationally cheaper but there is no self organisation. | -||||
smoothCurves.type | -String | -"continuous" | -This option only affects NONdynamic smooth curves. The supported types are: continuous, discrete, diagonalCross, straightCross, horizontal, vertical . The effects of these types
- are shown in examples 26 and 27 |
- ||||
smoothCurves.roundness | -Number | -0.5 | -This only affects NONdynamic smooth curves. The roundness can be tweaked with the parameter. The value range is from 0 to 1 with a maximum roundness at 0.5. | -||||
selectable | -Boolean | -true | -If true, nodes in the network can be selected by clicking them. - Long press can be used to select multiple nodes. | -||||
hover | +Boolean | +false | +Enabling the change of the colors of nodes and edges when the mouse hovers over them. Enabling this may have a minor impact on performance. | +||||
stabilize | -Boolean | -true | -If true, the network is stabilized before displaying it. If false, - the nodes move to a stabe position visibly in an animated way. | -||||
keyboard | +Object | +none | ++ Configuration options for shortcuts keys. Shortcut keys are turned off by default. See section Keyboard navigation for an overview of the available options. + | +||||
dragNetwork | +Boolean | +true | ++ Toggle if the network can be dragged. This will not affect the dragging of nodes. + | +||||
dragNodes | +Boolean | +true | ++ Toggle if the nodes can be dragged. This will not affect the dragging of the network. + | +||||
hideNodesOnDrag | +Boolean | +false | ++ Toggle if the nodes are drawn during a drag. This can greatly improve performance if you have many nodes. + | +||||
hideEdgesOnDrag | +Boolean | +false | ++ Toggle if the edges are drawn during a drag. This can greatly improve performance if you have many edges. + | +||||
navigation | +Object | +none | ++ Configuration options for the navigation controls. See section Navigation controls for an overview of the available options. + | +||||
stabilizationIterations | -Number | -1000 | -If stabilize is set to true, this number is the (maximum) amount of physics steps the stabilization process takes - before showing the result. If your simulation takes too long to stabilize, this number can be reduced. On the other hand, if your network is not stabilized after loading, this number can be increased. | +nodes | +Object | +none | ++ Configuration options applied to all nodes. See section Nodes configuration for an overview of the available options. + |
width | -String | -"400px" | -The width of the network in pixels or as a percentage. | -||||
zoomable | -Boolean | -true | -- Toggle if the network can be zoomed. - | -||||
smoothCurves | +Boolean || object | +object | +If true, edges are drawn as smooth curves. This is more computationally intensive since the edge now is a quadratic Bezier curve. This can be further configured by the options below. | +||||
smoothCurves.dynamic | +Boolean | +true | +By default, the edges are dynamic. This means there are support nodes placed in the middle of the edge. This support node is also handed by the physics simulation. If false, the smoothness will be based on the + relative positions of the to and from nodes. This is computationally cheaper but there is no self organisation. | +||||
smoothCurves.type | +String | +"continuous" | +This option only affects NONdynamic smooth curves. The supported types are: continuous, discrete, diagonalCross, straightCross, horizontal, vertical . The effects of these types
+ are shown in examples 26 and 27 |
+||||
smoothCurves.roundness | +Number | +0.5 | +This only affects NONdynamic smooth curves. The roundness can be tweaked with the parameter. The value range is from 0 to 1 with a maximum roundness at 0.5. | +||||
selectable | +Boolean | +true | +If true, nodes in the network can be selected by clicking them. + Long press can be used to select multiple nodes. | +||||
stabilize | +Boolean | +true | +If true, the network is stabilized before displaying it. If false, + the nodes move to a stabe position visibly in an animated way. | +||||
stabilizationIterations | +Number | +1000 | +If stabilize is set to true, this number is the (maximum) amount of physics steps the stabilization process takes + before showing the result. If your simulation takes too long to stabilize, this number can be reduced. On the other hand, if your network is not stabilized after loading, this number can be increased. | +||||
width | +String | +"400px" | +The width of the network in pixels or as a percentage. | +||||
zoomable | +Boolean | +true | ++ Toggle if the network can be zoomed. + | +
image
.
Edges can be configured with different length and styling. To configure edges, provide an object named edges
in the options
for the Network.
Because the length of an edge is a property of the physics simulation, you can change the length of the edge by changing the springLength in your selected physics solver.
- To change the edge length of individual edges, you can use the length
property in the edge definition.
+ To change the edge length of individual edges, you can use the length
property in the edge definition.
@@ -1356,13 +1364,13 @@ var options = {
Only applicable when the line style is dash-line
.
"to","from", true, false
. If this value is set to false, the edge color information is used. If the value is set to true or "from",
- the color data from the borders of the "from" node is used. If this value is "to", the color data from the borders of the "to" node is used."to","from", true, false
. If this value is set to false, the edge color information is used. If the value is set to true or "from",
+ the color data from the borders of the "from" node is used. If this value is "to", the color data from the borders of the "to" node is used.
- The original simulation method was based on particel physics with a repulsion field (potential) around each node,
- and the edges were modelled as springs. The new system employed the Barnes-Hut gravitational simulation model. The edges are still modelled as springs.
- To unify the physics system, the damping, repulsion distance and edge length have been combined in an physics option. To retain good behaviour, both the old repulsion model and the Barnes-Hut model have their own parameters.
- If no options for the physics system are supplied, the Barnes-Hut method will be used with the default parameters. If you want to customize the physics system easily, you can use the configurePhysics option.
- When using the hierarchical display option, hierarchicalRepulsion is automatically used as the physics solver. Similarly, if you use the hierarchicalRepulsion physics option, hierarchical display is automatically turned on with default settings.
+ The original simulation method was based on particel physics with a repulsion field (potential) around each node,
+ and the edges were modelled as springs. The new system employed the Barnes-Hut gravitational simulation model. The edges are still modelled as springs.
+ To unify the physics system, the damping, repulsion distance and edge length have been combined in an physics option. To retain good behaviour, both the old repulsion model and the Barnes-Hut model have their own parameters.
+ If no options for the physics system are supplied, the Barnes-Hut method will be used with the default parameters. If you want to customize the physics system easily, you can use the configurePhysics option.
+ When using the hierarchical display option, hierarchicalRepulsion is automatically used as the physics solver. Similarly, if you use the hierarchicalRepulsion physics option, hierarchical display is automatically turned on with default settings.
-
Note: if the behaviour of your network is not the way you want it, use configurePhysics as described below or by example 25.
+Note: if the behaviour of your network is not the way you want it, use configurePhysics as described below or by example 25.
// These variables must be defined in an options object named physics. @@ -1563,135 +1571,135 @@ var options = {
Name | -Type | -Default | -Description | -
---|---|---|---|
enabled | -Boolean | -true | -This switches the Barnes-Hut simulation on or off. If it is turned off, the old repulsion model is used. Barnes-Hut is generally faster and yields better results. | -
gravitationalConstant | -Number | --2000 | -This is the gravitational constand used to calculate the gravity forces. More information is available here. | -
centralGravity | -Number | -0.1 | -The central gravity is a force that pulls all nodes to the center. This ensures independent groups do not float apart. | -
springLength | -Number | -95 | -In the previous versions this was a property of the edges, called length. This is the length of the springs when they are at rest. During the simulation they will be streched by the gravitational fields. - To greatly reduce the edge length, the gravitationalConstant has to be reduced as well. | -
springConstant | -Number | -0.04 | -This is the spring constant used to calculate the spring forces based on Hooke′s Law. More information is available here. | -
damping | -Number | -0.09 | -This is the damping constant. It is used to dissipate energy from the system to have it settle in an equilibrium. More information is available here. | -
Name | +Type | +Default | +Description | +
enabled | +Boolean | +true | +This switches the Barnes-Hut simulation on or off. If it is turned off, the old repulsion model is used. Barnes-Hut is generally faster and yields better results. | +
gravitationalConstant | +Number | +-2000 | +This is the gravitational constand used to calculate the gravity forces. More information is available here. | +
centralGravity | +Number | +0.1 | +The central gravity is a force that pulls all nodes to the center. This ensures independent groups do not float apart. | +
springLength | +Number | +95 | +In the previous versions this was a property of the edges, called length. This is the length of the springs when they are at rest. During the simulation they will be streched by the gravitational fields. + To greatly reduce the edge length, the gravitationalConstant has to be reduced as well. | +
springConstant | +Number | +0.04 | +This is the spring constant used to calculate the spring forces based on Hooke′s Law. More information is available here. | +
damping | +Number | +0.09 | +This is the damping constant. It is used to dissipate energy from the system to have it settle in an equilibrium. More information is available here. | +
Name | -Type | -Default | -Description | -
---|---|---|---|
centralGravity | -Number | -0.1 | -The central gravity is a force that pulls all nodes to the center. This ensures independent groups do not float apart. | -
nodeDistance | -Number | -100 | -This parameter is used to define the distance of influence of the repulsion field of the nodes. Below half this distance, the repulsion is maximal and beyond twice this distance the repulsion is zero. | -
springLength | -Number | -50 | -In the previous versions this was a property of the edges, called length. This is the length of the springs when they are at rest. During the simulation they will be streched by the gravitational fields. - To greatly reduce the edge length, the gravitationalConstant has to be reduced as well. | -
springConstant | -Number | -0.05 | -This is the spring constant used to calculate the spring forces based on Hooke′s Law. More information is available here. | -
damping | -Number | -0.09 | -This is the damping constant. It is used to dissipate energy from the system to have it settle in an equilibrium. More information is available here. | -
Name | +Type | +Default | +Description | +
centralGravity | +Number | +0.1 | +The central gravity is a force that pulls all nodes to the center. This ensures independent groups do not float apart. | +
nodeDistance | +Number | +100 | +This parameter is used to define the distance of influence of the repulsion field of the nodes. Below half this distance, the repulsion is maximal and beyond twice this distance the repulsion is zero. | +
springLength | +Number | +50 | +In the previous versions this was a property of the edges, called length. This is the length of the springs when they are at rest. During the simulation they will be streched by the gravitational fields. + To greatly reduce the edge length, the gravitationalConstant has to be reduced as well. | +
springConstant | +Number | +0.05 | +This is the spring constant used to calculate the spring forces based on Hooke′s Law. More information is available here. | +
damping | +Number | +0.09 | +This is the damping constant. It is used to dissipate energy from the system to have it settle in an equilibrium. More information is available here. | +
Name | -Type | -Default | -Description | -
---|---|---|---|
centralGravity | -Number | -0.5 | -The central gravity is a force that pulls all nodes to the center. This ensures independent groups do not float apart. | -
nodeDistance | -Number | -60 | -This parameter is used to define the distance of influence of the repulsion field of the nodes. Below half this distance, the repulsion is maximal and beyond twice this distance the repulsion is zero. | -
springLength | -Number | -100 | -In the previous versions this was a property of the edges, called length. This is the length of the springs when they are at rest. During the simulation they will be streched by the gravitational fields. - To greatly reduce the edge length, the gravitationalConstant has to be reduced as well. | -
springConstant | -Number | -0.01 | -This is the spring constant used to calculate the spring forces based on Hooke′s Law. More information is available here. | -
damping | -Number | -0.09 | -This is the damping constant. It is used to dissipate energy from the system to have it settle in an equilibrium. More information is available here. | -
Name | +Type | +Default | +Description | +
centralGravity | +Number | +0.5 | +The central gravity is a force that pulls all nodes to the center. This ensures independent groups do not float apart. | +
nodeDistance | +Number | +60 | +This parameter is used to define the distance of influence of the repulsion field of the nodes. Below half this distance, the repulsion is maximal and beyond twice this distance the repulsion is zero. | +
springLength | +Number | +100 | +In the previous versions this was a property of the edges, called length. This is the length of the springs when they are at rest. During the simulation they will be streched by the gravitational fields. + To greatly reduce the edge length, the gravitationalConstant has to be reduced as well. | +
springConstant | +Number | +0.01 | +This is the spring constant used to calculate the spring forces based on Hooke′s Law. More information is available here. | +
damping | +Number | +0.09 | +This is the damping constant. It is used to dissipate energy from the system to have it settle in an equilibrium. More information is available here. | +
- By using the data manipulation feature of the network you can dynamically create nodes, connect nodes with edges, edit nodes or delete nodes and edges. - The toolbar is fully HTML and CSS so the user can style this to their preference. To control the behaviour of the data manipulation, users can insert custom functions - into the data manipulation process. For example, an injected function can show an detailed pop-up when a user wants to add a node. In example 21, - two functions have been injected into the add and edit functionality. This is described in more detail in the next subsection. To correctly display the manipulation icons, the vis.css file must be included. - The user is free to alter or overload the CSS classes but without them the navigation icons are not visible. + By using the data manipulation feature of the network you can dynamically create nodes, connect nodes with edges, edit nodes or delete nodes and edges. + The toolbar is fully HTML and CSS so the user can style this to their preference. To control the behaviour of the data manipulation, users can insert custom functions + into the data manipulation process. For example, an injected function can show an detailed pop-up when a user wants to add a node. In example 21, + two functions have been injected into the add and edit functionality. This is described in more detail in the next subsection. To correctly display the manipulation icons, the vis.css file must be included. + The user is free to alter or overload the CSS classes but without them the navigation icons are not visible.
// These variables must be defined in an options object named dataManipulation. @@ -1727,36 +1735,36 @@ var options: { }
Name | Type | Default | Description | -
---|---|---|---|
enabled | Boolean | false | Enabling or disabling of the data manipulation toolbar. If it is initially hidden, an edit button appears in the top left corner. | -
initiallyVisible | Boolean | false | Initially hide or show the data manipulation toolbar. | -
- Users can insert custom functions into the add node, edit node, connect nodes, and delete selected operations. This is done by supplying them in the options.
- If the callback is NOT called, nothing happens. Example 21 has two working examples
- for the add and edit functions. The data the user is supplied with in these functions has been described in the code below.
- For the add data, you can add any and all options that are accepted for node creation as described above. The same goes for edit, however only the fields described
- in the code below contain information on the selected node. The callback for connect accepts any options that are used for edge creation. Only the callback for delete selected
- requires the same data structure that is supplied to the user.
- If there is no injected function supplied for the edit operation, the button will not be shown in the toolbar.
+ Users can insert custom functions into the add node, edit node, connect nodes, and delete selected operations. This is done by supplying them in the options.
+ If the callback is NOT called, nothing happens. Example 21 has two working examples
+ for the add and edit functions. The data the user is supplied with in these functions has been described in the code below.
+ For the add data, you can add any and all options that are accepted for node creation as described above. The same goes for edit, however only the fields described
+ in the code below contain information on the selected node. The callback for connect accepts any options that are used for edge creation. Only the callback for delete selected
+ requires the same data structure that is supplied to the user.
+ If there is no injected function supplied for the edit operation, the button will not be shown in the toolbar.
// If a variable is not supplied, the default value is used. @@ -1818,9 +1826,9 @@ var options: { };
- Because the interface elements are CSS and HTML, the user will have to correct for size changes of the canvas. To facilitate this, a new event has been added called resize. - A function can be bound to this event. This function is supplied with the new widht and height of the canvas. The CSS can then be updated accordingly. - An code snippet from example 21 is shown below. + Because the interface elements are CSS and HTML, the user will have to correct for size changes of the canvas. To facilitate this, a new event has been added called resize. + A function can be bound to this event. This function is supplied with the new widht and height of the canvas. The CSS can then be updated accordingly. + An code snippet from example 21 is shown below.
network.on("resize", function(params) {console.log(params.width,params.height)}); @@ -1940,12 +1948,12 @@ var options: {4.0 This parameter denotes the increase in fontSize of the cluster when a single node is added to it.
activeAreaBoxSize
pixels around your cursor.
- If a cluster is in this box as you zoom in, the cluster can be opened in a seperate sector.
- This is regardless of the zoom level.activeAreaBoxSize
pixels around your cursor.
+ If a cluster is in this box as you zoom in, the cluster can be opened in a seperate sector.
+ This is regardless of the zoom level.Network has a menu with navigation controls, which is disabled by default. It can be configured with the following settings. To correctly display the navigation icons, the vis.css file must be included. - The user is free to alter or overload the CSS classes but without them the navigation icons are not visible. + The user is free to alter or overload the CSS classes but without them the navigation icons are not visible.
@@ -2029,7 +2037,7 @@ var options: {Keyboard navigation
The network can be navigated using shortcut keys. - The default state for the keyboard navigation is off. The predefined keys can be found in the example 20_navigation.html. + The default state for the keyboard navigation is off. The predefined keys can be found in the example 20_navigation.html.
@@ -2082,10 +2090,10 @@ var options: {Hierarchical layout
- The network can be used to display nodes in a hierarchical way. This can be determined automatically, based on the amount of edges connected to each node, or defined by the user. - If the user wants to manually determine the hierarchy, each node has to be supplied with a level (from 0 being heighest to n). The automatic method - is shown in example 23 and the user-defined method is shown in example 24. - This layout method does not support smooth curves or clustering. It automatically turns these features off. + The network can be used to display nodes in a hierarchical way. This can be determined automatically, based on the amount of edges connected to each node, or defined by the user. + If the user wants to manually determine the hierarchy, each node has to be supplied with a level (from 0 being heighest to n). The automatic method + is shown in example 23 and the user-defined method is shown in example 24. + This layout method does not support smooth curves or clustering. It automatically turns these features off.
@@ -2100,7 +2108,8 @@ var options: { enabled:false, levelSeparation: 150, nodeSpacing: 100, - direction: "UD" + direction: "UD", + layout: "hubsize" } } // partial configuration automatically sets enabled to true @@ -2113,90 +2122,138 @@ var options: {
Name | -Type | -Default | -Description | -
---|---|---|---|
enabled | -Boolean | -false | -Enable or disable the hierarchical layout. - | -
levelSeparation | -Number | -150 | -This defines the space between levels (in the Y-direction, considering UP-DOWN direction). | -
nodeSpacing | -Number | -100 | -This defines the space between nodes in the same level (in the X-direction, considering UP-DOWN direction). - This is only relevant during the initial placing of nodes. | -
direction | -String | -UD | -This defines the direction the network is drawn in. The supported directions are: Up-Down (UD), Down-Up (DU), Left-Right (LR) and Right-Left (RL). - These need to be supplied by the acronyms in parentheses. | -
Name | +Type | +Default | +Description | +
enabled | +Boolean | +false | +Enable or disable the hierarchical layout. + | +
levelSeparation | +Number | +150 | +This defines the space between levels (in the Y-direction, considering UP-DOWN direction). | +
nodeSpacing | +Number | +100 | +This defines the space between nodes in the same level (in the X-direction, considering UP-DOWN direction). + This is only relevant during the initial placing of nodes. | +
direction | +String | +UD | +This defines the direction the network is drawn in. The supported directions are: Up-Down (UD), Down-Up (DU), Left-Right (LR) and Right-Left (RL). + These need to be supplied by the acronyms in parentheses. | +
layout | +String | +hubsize | +This defines the way the nodes are distributed. Available options are hubsize and direction . The default value is hubsize, meaning the node with the most edges connected to it (largest hub) is on top.
+ Alternatively, direction arranges the nodes based on the direction of the edges. See example 32 for more information. |
+
- When using vis.js in other languages, one can use the localization option to overwrite the labels used in the data manipulation interface. + When using vis.js in other languages, one can use the localization option to get a localized data manipulation interface.
--var options: { - labels:{ - add:"Add Node", - edit:"Edit", - link:"Add Link", - del:"Delete selected", - editNode:"Edit Node", - editEdge:"Edit Edge", - back:"Back", - addDescription:"Click in an empty space to place a new node.", - linkDescription:"Click on a node and drag the edge to another - node to connect them.", - editEdgeDescription:"Click on either one of the control points and drag them to another node to connect to it.". - addError:"The function for add does not support two arguments - (data,callback).", - linkError:"The function for connect does not support two arguments - (data,callback).", - editError:"The function for edit does not support two arguments - (data, callback).", - editBoundError:"No edit function has been bound to this button.", - deleteError:"The function for delete does not support two arguments - (data, callback).", - deleteClusterError:"Clusters cannot be deleted." +
Name | +Type | +Default | +Description | +
---|---|---|---|
locale | +String | +none | +Select a locale for the Network. | +
locales | +Object | +none | +A map with i18n locales. | +
+ To set a locale for the Network, specify the option locale
:
+
var options = { + locale: 'nl' +}; ++ +
locales
:
+
+var options = { + locales: { + // create a new locale (text strings should be replaced with localized strings) + mylocale: { + add: 'Add Node', + edit: 'Edit', + link: 'Add Link', + del: 'Delete selected', + editNode: 'Edit Node', + editEdge: 'Edit Edge', + back: 'Back', + addDescription: 'Click in an empty space to place a new node.', + linkDescription: 'Click on a node and drag the edge to another node to connect them.', + editEdgeDescription: 'Click on the control points and drag them to a node to connect to it.', + createEdgeError: 'Cannot link edges to a cluster.', + deleteClusterError: 'Clusters cannot be deleted.' } -} + }, + + // use the new locale + locale: 'mylocale' +};+
+ Network comes with support for the following locales: +
+Name | -Type | -Default | -Description | -
---|---|---|---|
labels | -object | -(shown above) | -Overwrite one or all labels used in the datamanipulation interface with localized strings. - | -
Language | Code | ||
English | +
+ en + en_EN + en_US
+ |
+ ||
Dutch | +
+ nl + nl_NL + nl_BE
+ |
+
selection
is an array with ids of nodes to be selected.
- The array selection
can contain zero or multiple ids.
- Example usage: network.selectNodes([3, 5]);
will select
- nodes with id 3 and 5. The highlisghEdges boolean can be used to automatically select the edges connected to the node.
- selection
is an array with ids of edges to be selected.
- The array selection
can contain zero or multiple ids.
- Example usage: network.selectEdges([3, 5]);
will select
- edges with id 3 and 5.
- selection
is an array with ids of nodes to be selected.
+ The array selection
can contain zero or multiple ids.
+ Example usage: network.selectNodes([3, 5]);
will select
+ nodes with id 3 and 5. The highlisghEdges boolean can be used to automatically select the edges connected to the node.
+ selection
is an array with ids of edges to be selected.
+ The array selection
can contain zero or multiple ids.
+ Example usage: network.selectEdges([3, 5]);
will select
+ edges with id 3 and 5.
+ selection
is an array with ids of nodes to be selected.
- The array selection
can contain zero or multiple ids.
- Example usage: network.setSelection([3, 5]);
will select
- nodes with id 3 and 5.
+ selection
is an array with ids of nodes to be selected.
+ The array selection
can contain zero or multiple ids.
+ Example usage: network.setSelection([3, 5]);
will select
+ nodes with id 3 and 5.
nodes
: an array with the ids of the selected nodesedges
: an array with the ids of the selected edgesnodes
: an array with the ids of the selected nodesedges
: an array with the ids of the selected edgesnode
: an object with the id of the hovered node.node
: an object with the id of the hovered node.width
: the new width of the canvasheight
: the new height of the canvasiterations
: number of iterations used to stabilizedirection:
"+" or "-" nodes
: an array with the ids of the selected nodesedges
: an array with the ids of the selected edgesnodes
: an array with the ids of the selected nodesedges
: an array with the ids of the selected edgesnode
: an object with the id of the hovered node.node
: an object with the id of the hovered node.width
: the new width of the canvasheight
: the new height of the canvasiterations
: number of iterations used to stabilizedirection:
"+" or "-" redraw()
.clickToUse
, it will react to mouse and touch events only when active.
+ When active, a blue shadow border is displayed around the Timeline. The Timeline is set active by clicking on it, and is changed to inactive again by clicking outside the Timeline or by pressing the ESC key.focus(id)
.
+ Available options:
+ animate: boolean | number
fit()
. Available options:
+ animate: boolean | number
showCustomTime
is true.
+ showCurrentTime
is true.
showCustomTime
is true. time
is a Date object.
+ showCustomTime
is true.
start: Date
and end: Date
.time
can be a Date
, Number
, or String
. Available options:
+ animate: boolean | number
time
can be a Date object, numeric timestamp, or ISO date string.
+ Only applicable when option showCurrentTime
is true.showCustomTime
is true. time
can be a Date object, numeric timestamp, or ISO date string.
+ focus: boolean
animate: boolean | number
start
and end
can be a Date
, Number
, or String
. If the parameter value of start
or end
is null, the parameter will be left unchanged.start
and end
can be a Date
, Number
, or String
. If the parameter value of start
or end
is null, the parameter will be left unchanged. Available options:
+ animate: boolean | number
onAdd(item, callback)
Fired when a new item is about to be added. If not implemented, the item will be added with default text contents.onUpdate(item, callback)
Fired when an item is about to be updated. This function typically has to show a dialog where the user change the item. If not implemented, nothing happens.onMove(item, callback)
Fired when an item has been moved. If not implemented, the move action will be accepted.onMoving(item, callback)
Fired repeatedly while an item is being moved (dragged). Can be used to adjust the items start, end, and/or group to allowed regions.onRemove(item, callback)
Fired when an item is about to be deleted. If not implemented, the item will be always removed.+ Timeline can be localized. For localization, Timeline depends largely on the localization of moment.js. Locales are not included in vis.js by default. To enable localization, moment.js must be loaded with locales. Moment.js offers a bundle named "moment-with-locales.min.js" for this and there are various alternative ways to load locales. +
+ +
+ To set a locale for the Timeline, specify the option locale
:
+
var options = { + locale: 'nl' +}; ++ +
locales
:
+
+var options = { + locales: { + // create a new locale (text strings should be replaced with localized strings) + mylocale: { + current: 'current', + time: 'time', + } + }, + + // use the new locale + locale: 'mylocale' +}; ++ +
+ Timeline comes with support for the following locales: +
+ +Language | Code |
---|---|
English | +
+ en + en_EN + en_US
+ |
+
Dutch | +
+ nl + nl_NL + nl_BE
+ |
+