@rian8337/osu-droid-replay-analyzer 3.0.0-beta.32 → 3.0.0-beta.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -834,73 +834,69 @@ class ThreeFingerChecker {
834
834
  * @param cursorIndexes The indexes of the cursor instance that has at least an occurrence in the section.
835
835
  */
836
836
  findDragIndex(sectionObjects, sectionReplayObjectData, cursorIndexes) {
837
- let objectIndex = sectionObjects.findIndex((v, i) => !(v.object instanceof osuBase.Spinner) &&
838
- sectionReplayObjectData[i].result !== exports.HitResult.miss);
839
- if (objectIndex === -1) {
840
- return -1;
841
- }
842
- while (cursorIndexes.length > 0) {
843
- if (objectIndex === sectionObjects.length) {
844
- break;
837
+ const isPrecise = this.calculator.mods.some((m) => m instanceof osuBase.ModPrecise);
838
+ const hitWindow50 = this.hitWindow.hitWindowFor50(isPrecise);
839
+ for (let i = 0; i < sectionObjects.length && cursorIndexes.every((v) => v !== -1); ++i) {
840
+ const object = sectionObjects[i];
841
+ const objectData = sectionReplayObjectData[i];
842
+ if (object.object instanceof osuBase.Spinner ||
843
+ objectData.result === exports.HitResult.miss) {
844
+ continue;
845
845
  }
846
- const o = sectionObjects[objectIndex];
847
- const s = sectionReplayObjectData[objectIndex];
848
- ++objectIndex;
849
- if (s.result === exports.HitResult.miss) {
846
+ // Exclude sliderbreaks.
847
+ if (object.object instanceof osuBase.Slider &&
848
+ objectData.accuracy === Math.floor(hitWindow50) + 13) {
850
849
  continue;
851
850
  }
852
- // Get the cursor instance that is closest to the object's hit time.
851
+ const objectPosition = object.object.getStackedPosition(osuBase.Modes.droid);
852
+ const hitTime = object.object.startTime + objectData.accuracy;
853
+ // Observe the cursor position at the object's hit time.
853
854
  for (let j = 0; j < cursorIndexes.length; ++j) {
854
- const c = this.data.cursorMovement[cursorIndexes[j]];
855
- // Cursor instances aren't always recorded at all times,
856
- // therefore the game emulates the movement between
857
- // movementType.MOVE cursors.
858
- const hitTime = o.object.startTime + s.accuracy;
859
- const cursorGroup = c.occurrenceGroups.find((v) => v.isActiveAt(hitTime));
860
- if (!cursorGroup) {
855
+ if (cursorIndexes[j] === -1) {
861
856
  continue;
862
857
  }
863
- const cursors = cursorGroup.allOccurrences;
864
- const nextHitIndex = cursors.findIndex((v) => v.time >= hitTime);
865
- const hitIndex = nextHitIndex - 1;
866
- if (hitIndex <= -1) {
867
- cursorIndexes[j] = -1;
858
+ const cursorData = this.data.cursorMovement[cursorIndexes[j]];
859
+ const cursorGroup = cursorData.occurrenceGroups.find((v) => v.isActiveAt(hitTime));
860
+ if (!cursorGroup) {
868
861
  continue;
869
862
  }
870
- const cursorPosition = new osuBase.Vector2(cursors[hitIndex].position.x, cursors[hitIndex].position.y);
871
- let isInObject = false;
872
- if (cursors[nextHitIndex].id === exports.MovementType.move) {
873
- // Try to interpolate movement between two movementType.MOVE cursor every 1ms.
874
- // This minimizes rounding error.
875
- for (let mSecPassed = cursors[hitIndex].time; mSecPassed <= cursors[nextHitIndex].time; ++mSecPassed) {
876
- const t = (mSecPassed - cursors[nextHitIndex].time) /
877
- (cursors[hitIndex].time -
878
- cursors[nextHitIndex].time);
879
- cursorPosition.x = osuBase.Interpolation.lerp(cursors[hitIndex].position.x, cursors[nextHitIndex].position.x, t);
880
- cursorPosition.y = osuBase.Interpolation.lerp(cursors[hitIndex].position.y, cursors[nextHitIndex].position.y, t);
881
- if (o.object
882
- .getStackedPosition(osuBase.Modes.droid)
883
- .getDistance(cursorPosition) <=
884
- o.object.getRadius(osuBase.Modes.droid)) {
885
- isInObject = true;
863
+ const cursors = cursorGroup.allOccurrences;
864
+ for (let k = 1; k < cursors.length; ++k) {
865
+ const cursor = cursors[k];
866
+ const prevCursor = cursors[k - 1];
867
+ if (prevCursor.time <
868
+ object.object.startTime - hitWindow50) {
869
+ continue;
870
+ }
871
+ if (prevCursor.time >
872
+ object.object.startTime + hitWindow50) {
873
+ break;
874
+ }
875
+ let isInObject = false;
876
+ switch (cursor.id) {
877
+ case exports.MovementType.up:
878
+ isInObject =
879
+ prevCursor.position.getDistance(objectPosition) <= object.object.getRadius(osuBase.Modes.droid);
886
880
  break;
887
- }
881
+ case exports.MovementType.move:
882
+ // Interpolate movement.
883
+ for (let mSecPassed = prevCursor.time; !isInObject &&
884
+ mSecPassed <=
885
+ Math.min(cursor.time, object.object.startTime + hitWindow50); ++mSecPassed) {
886
+ const t = (mSecPassed - prevCursor.time) /
887
+ (cursor.time - prevCursor.time);
888
+ const cursorPosition = new osuBase.Vector2(osuBase.Interpolation.lerp(prevCursor.position.x, cursor.position.x, t), osuBase.Interpolation.lerp(prevCursor.position.y, cursor.position.y, t));
889
+ isInObject =
890
+ objectPosition.getDistance(cursorPosition) <= object.object.getRadius(osuBase.Modes.droid);
891
+ }
892
+ }
893
+ if (!isInObject) {
894
+ cursorIndexes[j] = -1;
888
895
  }
889
- }
890
- else {
891
- isInObject =
892
- o.object
893
- .getStackedPosition(osuBase.Modes.droid)
894
- .getDistance(cursorPosition) <=
895
- o.object.getRadius(osuBase.Modes.droid);
896
- }
897
- if (!isInObject) {
898
- cursorIndexes[j] = -1;
899
896
  }
900
897
  }
901
- cursorIndexes = cursorIndexes.filter((v) => v !== -1);
902
898
  }
903
- return cursorIndexes.shift() ?? -1;
899
+ return cursorIndexes.find((v) => v !== -1) ?? -1;
904
900
  }
905
901
  /**
906
902
  * Redivides the beatmap into sections.
@@ -1000,13 +996,6 @@ class ThreeFingerChecker {
1000
996
  exports.HitResult.miss
1001
997
  ? objectData[beatmapSection.lastObjectIndex].accuracy
1002
998
  : this.hitWindow.hitWindowFor50(isPrecise));
1003
- // Filter cursor instances during section.
1004
- this.downCursorInstances.forEach((c) => {
1005
- const i = c.findIndex((t) => t.time >= startTime);
1006
- if (i !== -1) {
1007
- c = c.slice(i);
1008
- }
1009
- });
1010
999
  const cursorAmounts = [];
1011
1000
  const cursorVectorTimes = [];
1012
1001
  for (let i = 0; i < this.downCursorInstances.length; ++i) {
@@ -1075,7 +1064,8 @@ class ThreeFingerChecker {
1075
1064
  .slice(2);
1076
1065
  // Ignore cursor presses that are only 1 for now since they are very likely to be accidental
1077
1066
  if ((threeFingerRatio > this.threeFingerRatioThreshold &&
1078
- cursorAmounts.filter((v) => v > 1).length > 3) ||
1067
+ cursorAmounts.filter((v) => v > 1).length >
1068
+ fingerSplitIndex) ||
1079
1069
  validPresses.length > 0) {
1080
1070
  // Strain factor
1081
1071
  const objectCount = beatmapSection.lastObjectIndex -
@@ -1245,10 +1235,10 @@ class TwoHandChecker {
1245
1235
  */
1246
1236
  check() {
1247
1237
  if (this.data.cursorMovement.filter((v) => v.occurrenceGroups.length > 0).length <= 1) {
1248
- return { is2Hand: false, cursorIndexes: [] };
1238
+ return { is2Hand: false, twoHandedNoteCount: 0 };
1249
1239
  }
1250
1240
  this.indexHitObjects();
1251
- this.applyPenalty();
1241
+ // this.applyPenalty();
1252
1242
  // for (let i = 0; i < this.calculator.objects.length; ++i) {
1253
1243
  // const object: PlaceableHitObject =
1254
1244
  // this.calculator.objects[i].object;
@@ -1289,7 +1279,27 @@ class TwoHandChecker {
1289
1279
  // ),
1290
1280
  // this.csvString
1291
1281
  // );
1292
- return { is2Hand: false, cursorIndexes: [] };
1282
+ let twoHandedNoteCount = 0;
1283
+ const maxStrain = Math.max(...this.calculator.objects.map((v) => v.aimStrainWithSliders));
1284
+ if (maxStrain) {
1285
+ twoHandedNoteCount = this.indexedHitObjects.reduce((total, object) => {
1286
+ if (!object.is2Handed) {
1287
+ return total;
1288
+ }
1289
+ return (total +
1290
+ 1 /
1291
+ (1 +
1292
+ Math.exp(-((object.object.aimStrainWithSliders /
1293
+ maxStrain) *
1294
+ 12 -
1295
+ 6))));
1296
+ }, 0);
1297
+ }
1298
+ return {
1299
+ is2Hand: twoHandedNoteCount >
1300
+ this.calculator.attributes.aimNoteCount * 0.15,
1301
+ twoHandedNoteCount: twoHandedNoteCount,
1302
+ };
1293
1303
  }
1294
1304
  /**
1295
1305
  * Converts hitobjects into indexed hit objects.
@@ -1302,6 +1312,7 @@ class TwoHandChecker {
1302
1312
  indexes.push(indexedHitObject.cursorIndex);
1303
1313
  this.indexedHitObjects.push(indexedHitObject);
1304
1314
  }
1315
+ // console.log("Aim note count:", this.calculator.attributes.aimNoteCount);
1305
1316
  // console.log(
1306
1317
  // this.indexedHitObjects.filter((v) => v.cursorIndex !== -1).length +
1307
1318
  // 1,
@@ -1363,9 +1374,9 @@ class TwoHandChecker {
1363
1374
  return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1364
1375
  }
1365
1376
  // We don't care if the aim strain is too low.
1366
- if (diffObject.aimStrainWithSliders < 200) {
1367
- return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1368
- }
1377
+ // if (diffObject.aimStrainWithSliders < 200) {
1378
+ // return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1379
+ // }
1369
1380
  const prevObject = this.calculator.beatmap.hitObjects.objects[objectIndex - 1];
1370
1381
  const prevObjectData = this.data.hitObjectData[objectIndex - 1];
1371
1382
  if (prevObject instanceof osuBase.Spinner ||
@@ -1442,45 +1453,60 @@ class TwoHandChecker {
1442
1453
  const movementAngle = Math.abs(Math.atan2(det, dot));
1443
1454
  finalAngle = Math.min(finalAngle, movementAngle);
1444
1455
  }
1445
- let is2Handed = finalAngle >= Math.PI / 6;
1446
- if (is2Handed) {
1447
- // If angle isn't fulfilled, check for cursor velocity.
1448
- let deltaTime = Math.max(object.startTime - prevObject.startTime, 25);
1449
- if (prevObject instanceof osuBase.Slider) {
1450
- deltaTime = Math.max(deltaTime - prevObject.lazyTravelTime, 25);
1451
- }
1452
- // "Initial velocity" is the movement velocity from the previous object's end time to the current object's start time.
1453
- const initialVelocity = objectStartPosition.getDistance(prevObjectEndPosition) /
1454
- deltaTime;
1455
- // const finalCursor: CursorOccurrence =
1456
- // cursorGroup.moves.at(-1) ?? cursorGroup.down;
1457
- const currentCursorGroup = this.data.cursorMovement[objectInformation.cursorIndex]
1458
- .occurrenceGroups[objectInformation.groupIndex];
1459
- // const cursorDistance: number = currentCursorGroup.down.position.getDistance(
1460
- // finalCursor.position
1461
- // );
1462
- const cursorDuration = Math.max(0, currentCursorGroup.startTime - cursorGroup.endTime);
1463
- // "Air velocity" is the cursor velocity from the moment the previous cursor release action to the next cursor press action.
1464
- // const airVelocity: number = cursorDistance / cursorDuration;
1465
- is2Handed =
1466
- // airVelocity / initialVelocity < 0.8 &&
1467
- cursorDuration / deltaTime > 0.2;
1468
- for (let i = prevObjectInformation.occurrenceIndex + 1; i < cursors.length && is2Handed; ++i) {
1469
- const cursor = cursors[i];
1470
- const prevCursor = cursors[i - 1];
1471
- if (cursor.position.equals(prevCursor.position) ||
1472
- cursor.time === prevCursor.time) {
1473
- continue;
1474
- }
1475
- if (cursor.id === exports.MovementType.up) {
1476
- break;
1477
- }
1478
- // "Cursor velocity" is the velocity from the previous object's cursor release time to the current object's press time.
1479
- const cursorVelocity = cursor.position.getDistance(prevCursor.position) /
1480
- (cursor.time - prevCursor.time);
1481
- is2Handed = cursorVelocity / initialVelocity < 0.8;
1482
- }
1483
- }
1456
+ const is2Handed = finalAngle >= Math.PI / 6;
1457
+ // if (is2Handed) {
1458
+ // // If angle isn't fulfilled, check for cursor velocity.
1459
+ // let deltaTime: number = Math.max(
1460
+ // object.startTime - prevObject.startTime,
1461
+ // 25
1462
+ // );
1463
+ // if (prevObject instanceof Slider) {
1464
+ // deltaTime = Math.max(deltaTime - prevObject.lazyTravelTime, 25);
1465
+ // }
1466
+ // // "Initial velocity" is the movement velocity from the previous object's end time to the current object's start time.
1467
+ // const initialVelocity: number =
1468
+ // objectStartPosition.getDistance(prevObjectEndPosition) /
1469
+ // deltaTime;
1470
+ // // const finalCursor: CursorOccurrence =
1471
+ // // cursorGroup.moves.at(-1) ?? cursorGroup.down;
1472
+ // const currentCursorGroup: CursorOccurrenceGroup =
1473
+ // this.data.cursorMovement[objectInformation.cursorIndex]
1474
+ // .occurrenceGroups[objectInformation.groupIndex];
1475
+ // // const cursorDistance: number = currentCursorGroup.down.position.getDistance(
1476
+ // // finalCursor.position
1477
+ // // );
1478
+ // const cursorDuration: number = Math.max(
1479
+ // 0,
1480
+ // currentCursorGroup.startTime - cursorGroup.endTime
1481
+ // );
1482
+ // // "Air velocity" is the cursor velocity from the moment the previous cursor release action to the next cursor press action.
1483
+ // // const airVelocity: number = cursorDistance / cursorDuration;
1484
+ // is2Handed =
1485
+ // // airVelocity / initialVelocity < 0.8 &&
1486
+ // cursorDuration / deltaTime > 0.2;
1487
+ // for (
1488
+ // let i = prevObjectInformation.occurrenceIndex + 1;
1489
+ // i < cursors.length && is2Handed;
1490
+ // ++i
1491
+ // ) {
1492
+ // const cursor: CursorOccurrence = cursors[i];
1493
+ // const prevCursor: CursorOccurrence = cursors[i - 1];
1494
+ // if (
1495
+ // cursor.position.equals(prevCursor.position) ||
1496
+ // cursor.time === prevCursor.time
1497
+ // ) {
1498
+ // continue;
1499
+ // }
1500
+ // if (cursor.id === MovementType.up) {
1501
+ // break;
1502
+ // }
1503
+ // // "Cursor velocity" is the velocity from the previous object's cursor release time to the current object's press time.
1504
+ // const cursorVelocity: number =
1505
+ // cursor.position.getDistance(prevCursor.position) /
1506
+ // (cursor.time - prevCursor.time);
1507
+ // is2Handed = cursorVelocity / initialVelocity < 0.8;
1508
+ // }
1509
+ // }
1484
1510
  if (!Number.isFinite(finalAngle)) {
1485
1511
  return new IndexedHitObject(diffObject, -1, -1, -1, null, false);
1486
1512
  }
@@ -1836,6 +1862,181 @@ class TwoHandChecker {
1836
1862
  }
1837
1863
  }
1838
1864
 
1865
+ /**
1866
+ * Utility to check whether relevant sliders in a beatmap are cheesed.
1867
+ */
1868
+ class SliderCheeseChecker {
1869
+ /**
1870
+ * The difficulty calculator that is being analyzed.
1871
+ */
1872
+ calculator;
1873
+ /**
1874
+ * The data of the replay.
1875
+ */
1876
+ data;
1877
+ /**
1878
+ * The osu!droid hitwindow of the analyzed beatmap.
1879
+ */
1880
+ hitWindow;
1881
+ /**
1882
+ * The 50 osu!droid hit window of the analyzed beatmap.
1883
+ */
1884
+ hitWindow50;
1885
+ /**
1886
+ * The indexes of objects that were cheesed.
1887
+ */
1888
+ cheesedObjectIndexes = [];
1889
+ /**
1890
+ * @param calculator The difficulty calculator to analyze.
1891
+ * @param data The data of the replay.
1892
+ */
1893
+ constructor(calculator, data) {
1894
+ this.calculator = calculator;
1895
+ this.data = data;
1896
+ const stats = new osuBase.MapStats({
1897
+ od: this.calculator.beatmap.difficulty.od,
1898
+ mods: this.calculator.mods.filter((m) => m.isApplicableToDroid() &&
1899
+ !osuBase.ModUtil.speedChangingMods.some((v) => v.acronym === m.acronym)),
1900
+ }).calculate();
1901
+ this.hitWindow = new osuBase.DroidHitWindow(stats.od);
1902
+ this.hitWindow50 = this.hitWindow.hitWindowFor50(calculator.mods.some((m) => m instanceof osuBase.ModPrecise));
1903
+ }
1904
+ /**
1905
+ * Checks if relevant sliders in the given beatmap was cheesed.
1906
+ *
1907
+ * Returns a number that can be passed to a `DroidPerformanceCalculator`
1908
+ * to alter the aim performance value.
1909
+ */
1910
+ check() {
1911
+ if (this.calculator.attributes.sliderCount === 0) {
1912
+ return {
1913
+ aimPenalty: 1,
1914
+ flashlightPenalty: 1,
1915
+ visualPenalty: 1,
1916
+ };
1917
+ }
1918
+ this.checkSliderCheesing();
1919
+ return this.calculateSliderCheesePenalty();
1920
+ }
1921
+ /**
1922
+ * Checks for sliders that were cheesed.
1923
+ */
1924
+ checkSliderCheesing() {
1925
+ // Current loop indexes are stored for efficiency.
1926
+ const cursorLoopIndexes = osuBase.Utils.initializeArray(10, 0);
1927
+ const acceptableRadius = this.calculator.objects[0].object.getRadius(osuBase.Modes.droid) * 2;
1928
+ for (let i = 0; i < this.calculator.objects.length; ++i) {
1929
+ const diffObject = this.calculator.objects[i];
1930
+ const { object } = diffObject;
1931
+ if (diffObject.travelDistance === 0 ||
1932
+ !(object instanceof osuBase.Slider)) {
1933
+ continue;
1934
+ }
1935
+ const objectStartPosition = object.getStackedPosition(osuBase.Modes.droid);
1936
+ const objectData = this.data.hitObjectData[i];
1937
+ // If a slider break occurs, we disregard the check for that slider.
1938
+ if (objectData.accuracy === Math.floor(this.hitWindow50) + 13) {
1939
+ continue;
1940
+ }
1941
+ let isCheesed = false;
1942
+ for (let j = 0; j < this.data.cursorMovement.length; ++j) {
1943
+ if (isCheesed) {
1944
+ break;
1945
+ }
1946
+ const cursorGroups = this.data.cursorMovement[j].occurrenceGroups;
1947
+ for (let k = cursorLoopIndexes[j]; k < cursorGroups.length; k = ++cursorLoopIndexes[j]) {
1948
+ const group = cursorGroups[k];
1949
+ if (group.startTime < object.startTime - this.hitWindow50) {
1950
+ continue;
1951
+ }
1952
+ if (group.startTime > object.startTime + this.hitWindow50) {
1953
+ break;
1954
+ }
1955
+ if (group.down.position.getDistance(objectStartPosition) >
1956
+ acceptableRadius) {
1957
+ continue;
1958
+ }
1959
+ // Track cursor movement to see if it lands on every tick.
1960
+ let occurrenceLoopIndex = 1;
1961
+ let isSliderFulfilled = true;
1962
+ const { allOccurrences } = group;
1963
+ for (let l = 1; l < object.nestedHitObjects.length; ++l) {
1964
+ if (!isSliderFulfilled) {
1965
+ break;
1966
+ }
1967
+ const tickWasHit = objectData.tickset[l - 1];
1968
+ if (!tickWasHit) {
1969
+ continue;
1970
+ }
1971
+ const nestedObject = object.nestedHitObjects[l];
1972
+ const nestedPosition = nestedObject.getStackedPosition(osuBase.Modes.droid);
1973
+ while (occurrenceLoopIndex < allOccurrences.length &&
1974
+ allOccurrences[occurrenceLoopIndex].time <
1975
+ nestedObject.startTime) {
1976
+ ++occurrenceLoopIndex;
1977
+ }
1978
+ if (occurrenceLoopIndex === allOccurrences.length) {
1979
+ continue;
1980
+ }
1981
+ const occurrence = allOccurrences[occurrenceLoopIndex];
1982
+ const prevOccurrence = allOccurrences[occurrenceLoopIndex - 1];
1983
+ switch (occurrence.id) {
1984
+ case exports.MovementType.move: {
1985
+ // Interpolate cursor position during nested object time.
1986
+ const t = (nestedObject.startTime -
1987
+ prevOccurrence.time) /
1988
+ (occurrence.time - prevOccurrence.time);
1989
+ const cursorPosition = new osuBase.Vector2(osuBase.Interpolation.lerp(prevOccurrence.position.x, occurrence.position.x, t), osuBase.Interpolation.lerp(prevOccurrence.position.y, occurrence.position.y, t));
1990
+ const distance = cursorPosition.getDistance(nestedPosition);
1991
+ if (distance > acceptableRadius) {
1992
+ isSliderFulfilled = false;
1993
+ }
1994
+ break;
1995
+ }
1996
+ case exports.MovementType.up:
1997
+ if (prevOccurrence.position.getDistance(nestedPosition) > acceptableRadius) {
1998
+ isSliderFulfilled = false;
1999
+ break;
2000
+ }
2001
+ }
2002
+ }
2003
+ if (!isSliderFulfilled) {
2004
+ isCheesed = true;
2005
+ break;
2006
+ }
2007
+ }
2008
+ }
2009
+ if (isCheesed) {
2010
+ this.cheesedObjectIndexes.push(i);
2011
+ }
2012
+ }
2013
+ }
2014
+ /**
2015
+ * Calculates the slider cheese penalty.
2016
+ */
2017
+ calculateSliderCheesePenalty() {
2018
+ let calculator;
2019
+ if (this.calculator instanceof osuDifficultyCalculator.DroidDifficultyCalculator) {
2020
+ calculator = new osuDifficultyCalculator.DroidDifficultyCalculator(this.calculator.beatmap);
2021
+ }
2022
+ else {
2023
+ calculator = new osuRebalanceDifficultyCalculator.DroidDifficultyCalculator(this.calculator.beatmap);
2024
+ }
2025
+ Object.assign(calculator.attributes, this.calculator.attributes);
2026
+ calculator.stats = this.calculator.stats;
2027
+ calculator.generateDifficultyHitObjects();
2028
+ for (const index of this.cheesedObjectIndexes) {
2029
+ calculator.objects[index].travelDistance = 0;
2030
+ }
2031
+ calculator.calculateAll();
2032
+ return {
2033
+ aimPenalty: this.calculator.aim / calculator.aim,
2034
+ flashlightPenalty: this.calculator.flashlight / calculator.flashlight,
2035
+ visualPenalty: this.calculator.visual / calculator.visual,
2036
+ };
2037
+ }
2038
+ }
2039
+
1839
2040
  /**
1840
2041
  * A replay analyzer that analyzes a replay from osu!droid.
1841
2042
  *
@@ -1865,7 +2066,7 @@ class ReplayAnalyzer {
1865
2066
  */
1866
2067
  is2Hand;
1867
2068
  /**
1868
- * The beatmap that is being analyzed. `DroidStarRating` or `RebalanceDroidStarRating` is required for three finger or two hand analyzing.
2069
+ * The beatmap that is being analyzed. `DroidDifficultyCalculator` or `RebalanceDroidDifficultyCalculator` is required for three finger or two hand analyzing.
1869
2070
  */
1870
2071
  beatmap;
1871
2072
  /**
@@ -1880,6 +2081,14 @@ class ReplayAnalyzer {
1880
2081
  * Penalty value used to penalize dpp for 3 finger abuse.
1881
2082
  */
1882
2083
  tapPenalty = 1;
2084
+ /**
2085
+ * Penalty values used to penalize dpp for slider cheesing.
2086
+ */
2087
+ sliderCheesePenalty = {
2088
+ aimPenalty: 1,
2089
+ flashlightPenalty: 1,
2090
+ visualPenalty: 1,
2091
+ };
1883
2092
  /**
1884
2093
  * Whether this replay has been checked against 3 finger usage.
1885
2094
  */
@@ -1889,11 +2098,13 @@ class ReplayAnalyzer {
1889
2098
  */
1890
2099
  hasBeenCheckedFor2Hand = false;
1891
2100
  /**
1892
- * The cursor indexes at which each object was hit.
1893
- *
1894
- * This is filled after 2 hand usage has been checked.
2101
+ * Whether this repla has been checked against slider cheesing.
2102
+ */
2103
+ hasBeenCheckedForSliderCheesing = false;
2104
+ /**
2105
+ * The amount of two-handed objects.
1895
2106
  */
1896
- twoHandCursorIndexes = [];
2107
+ twoHandedNoteCount = 0;
1897
2108
  // Sizes of primitive data types in Java (in bytes)
1898
2109
  BYTE_LENGTH = 1;
1899
2110
  SHORT_LENGTH = 2;
@@ -2339,7 +2550,7 @@ class ReplayAnalyzer {
2339
2550
  /**
2340
2551
  * Checks if a play is using 3 fingers.
2341
2552
  *
2342
- * Requires `analyze()` to be called first and `map` to be defined as `DroidStarRating` or `RebalanceDroidStarRating`.
2553
+ * Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
2343
2554
  */
2344
2555
  checkFor3Finger() {
2345
2556
  if (!(this.beatmap instanceof osuDifficultyCalculator.DroidDifficultyCalculator ||
@@ -2356,7 +2567,7 @@ class ReplayAnalyzer {
2356
2567
  /**
2357
2568
  * Checks if a play is using 2 hands.
2358
2569
  *
2359
- * Requires `analyze()` to be called first and `map` to be defined as `DroidStarRating` or `RebalanceDroidStarRating`.
2570
+ * Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
2360
2571
  */
2361
2572
  checkFor2Hand() {
2362
2573
  if (!(this.beatmap instanceof osuDifficultyCalculator.DroidDifficultyCalculator ||
@@ -2367,9 +2578,24 @@ class ReplayAnalyzer {
2367
2578
  const twoHandChecker = new TwoHandChecker(this.beatmap, this.data);
2368
2579
  const result = twoHandChecker.check();
2369
2580
  this.is2Hand = result.is2Hand;
2370
- this.twoHandCursorIndexes = result.cursorIndexes;
2581
+ this.twoHandedNoteCount = result.twoHandedNoteCount;
2371
2582
  this.hasBeenCheckedFor2Hand = true;
2372
2583
  }
2584
+ /**
2585
+ * Checks if a play has cheesed sliders.
2586
+ *
2587
+ * Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
2588
+ */
2589
+ checkForSliderCheesing() {
2590
+ if (!(this.beatmap instanceof osuDifficultyCalculator.DroidDifficultyCalculator ||
2591
+ this.beatmap instanceof osuRebalanceDifficultyCalculator.DroidDifficultyCalculator) ||
2592
+ !this.data) {
2593
+ return;
2594
+ }
2595
+ const sliderCheeseChecker = new SliderCheeseChecker(this.beatmap, this.data);
2596
+ this.sliderCheesePenalty = sliderCheeseChecker.check();
2597
+ this.hasBeenCheckedForSliderCheesing = true;
2598
+ }
2373
2599
  }
2374
2600
 
2375
2601
  /**
@@ -2420,5 +2646,7 @@ exports.CursorOccurrenceGroup = CursorOccurrenceGroup;
2420
2646
  exports.ReplayAnalyzer = ReplayAnalyzer;
2421
2647
  exports.ReplayData = ReplayData;
2422
2648
  exports.ReplayObjectData = ReplayObjectData;
2649
+ exports.SliderCheeseChecker = SliderCheeseChecker;
2423
2650
  exports.ThreeFingerChecker = ThreeFingerChecker;
2651
+ exports.TwoHandChecker = TwoHandChecker;
2424
2652
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants/MovementType.ts","../src/data/CursorOccurrence.ts","../src/data/CursorOccurrenceGroup.ts","../src/data/CursorData.ts","../src/constants/HitResult.ts","../src/data/ReplayData.ts","../src/analysis/BeatmapSectionGenerator.ts","../src/analysis/data/BeatmapSection.ts","../src/analysis/data/ThreeFingerBeatmapSection.ts","../src/analysis/ThreeFingerChecker.ts","../src/analysis/objects/IndexedHitObject.ts","../src/analysis/TwoHandChecker.ts","../src/ReplayAnalyzer.ts","../src/data/ReplayObjectData.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MovementType","Vector2","HitResult","Accuracy","MapStats","ModUtil","DroidHitWindow","ModPrecise","MathUtils","Circle","Spinner","Interpolation","Modes","Slider","Utils","DroidAPIRequestBuilder","stream","Readable","Parse","javaDeserialization","ModHidden","ModFlashlight","DroidDifficultyCalculator","RebalanceDroidDifficultyCalculator"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;AAIG;AACSA,8BAeX;AAfD,CAAA,UAAY,YAAY,EAAA;AACpB;;AAEG;AACH,IAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AAEJ;;AAEG;AACH,IAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAI,CAAA;AAEJ;;AAEG;AACH,IAAA,YAAA,CAAA,YAAA,CAAA,IAAA,CAAA,GAAA,CAAA,CAAA,GAAA,IAAE,CAAA;AACN,CAAC,EAfWA,oBAAY,KAAZA,oBAAY,GAevB,EAAA,CAAA,CAAA;;ACjBD;;AAEG;MACU,gBAAgB,CAAA;AACzB;;AAEG;AACM,IAAA,IAAI,CAAS;AAEtB;;AAEG;AACM,IAAA,QAAQ,CAAU;AAE3B;;AAEG;AACM,IAAA,EAAE,CAAe;AAE1B,IAAA,WAAA,CAAY,IAAY,EAAE,CAAS,EAAE,CAAS,EAAE,EAAgB,EAAA;AAC5D,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAIC,eAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;AACJ;;ACxBD;;;AAGG;MACU,qBAAqB,CAAA;AAC9B;;AAEG;AACH,IAAA,IAAI,IAAI,GAAA;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;AAED;;AAEG;IACH,IAAI,IAAI,CAAC,KAAuB,EAAA;AAC5B,QAAA,IAAI,KAAK,CAAC,EAAE,KAAKD,oBAAY,CAAC,IAAI,EAAE;AAChC,YAAA,MAAM,IAAI,SAAS,CACf,mFAAmF,CACtF,CAAC;AACL,SAAA;AAED,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AAED;;AAEG;AACH,IAAA,IAAI,KAAK,GAAA;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;AAED;;;;AAIG;AACH,IAAA,IAAI,EAAE,GAAA;QACF,OAAO,IAAI,CAAC,GAAG,CAAC;KACnB;AAED;;;;AAIG;IACH,IAAI,EAAE,CAAC,KAAmC,EAAA;QACtC,IAAI,KAAK,IAAI,KAAK,CAAC,EAAE,KAAKA,oBAAY,CAAC,EAAE,EAAE;AACvC,YAAA,MAAM,IAAI,SAAS,CACf,iFAAiF,CACpF,CAAC;AACL,SAAA;AAED,QAAA,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;KACpB;AAED;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KAC1B;AAED;;AAEG;AACH,IAAA,IAAI,OAAO,GAAA;QACP,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KACxE;AAED;;AAEG;AACH,IAAA,IAAI,QAAQ,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;KACxC;AAED;;;;AAIG;AACH,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,MAAM,OAAO,GAAuB,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjE,IAAI,IAAI,CAAC,GAAG,EAAE;AACV,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;KAClB;AAED;;AAEG;AACK,IAAA,KAAK,CAAmB;AAEhC;;AAEG;AACK,IAAA,MAAM,CAAqB;AAEnC;;;;AAIG;AACK,IAAA,GAAG,CAAoB;AAE/B,IAAA,WAAA,CACI,IAAsB,EACtB,KAAyB,EACzB,EAAqB,EAAA;AAErB,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AAClB,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;;AAGpB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;KAChB;AAED;;;;;AAKG;AACH,IAAA,UAAU,CAAC,IAAY,EAAA;QACnB,OAAO,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;KACzD;AAED;;;;;AAKG;AACH,IAAA,QAAQ,CAAC,IAAY,EAAA;AACjB,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACxB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;YAC1B,OAAO,IAAI,CAAC,KAAK,CAAC;AACrB,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,EAAE;YACzB,OAAO,IAAI,CAAC,GAAG,CAAC;AACnB,SAAA;QAED,IAAI,CAAC,GAAW,CAAC,CAAC;QAClB,IAAI,CAAC,GAAW,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAEvC,OAAO,CAAC,IAAI,CAAC,EAAE;AACX,YAAA,MAAM,KAAK,GAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE;AAChC,gBAAA,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACjB,aAAA;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,EAAE;AACvC,gBAAA,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;AACjB,aAAA;AAAM,iBAAA;AACH,gBAAA,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7B,aAAA;AACJ,SAAA;;QAGD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;KAC7B;AACJ;;AC1ID;;;;;;AAMG;MACU,UAAU,CAAA;AACnB;;AAEG;IACH,gBAAgB,GAA4B,EAAE,CAAC;AAE/C;;;;AAIG;AACH,IAAA,IAAI,sBAAsB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,IAAI,CAAC;KACzD;AAED;;;;AAIG;AACH,IAAA,IAAI,oBAAoB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;KACxD;AAED;;AAEG;AACH,IAAA,IAAI,gBAAgB,GAAA;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;;AAEzC,YAAA,EAAE,CAAC,CAAC;;AAGJ,YAAA,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;YAEpB,IAAI,CAAC,CAAC,EAAE,EAAE;;AAEN,gBAAA,EAAE,CAAC,CAAC;AACP,aAAA;AAED,YAAA,OAAO,CAAC,CAAC;SACZ,EAAE,CAAC,CAAC,CAAC;KACT;AAED;;;;AAIG;AACH,IAAA,IAAI,cAAc,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,CAAC;KACjE;AAED,IAAA,WAAA,CAAY,MAAyB,EAAA;QACjC,IAAI,cAAc,GAA4B,IAAI,CAAC;QACnD,IAAI,eAAe,GAAuB,EAAE,CAAC;AAE7C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE;AAClC,YAAA,MAAM,UAAU,GAAqB,IAAI,gBAAgB,CACrD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EACd,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACX,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EACX,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CACf,CAAC;YAEF,QAAQ,UAAU,CAAC,EAAE;gBACjB,KAAKA,oBAAY,CAAC,IAAI;oBAClB,cAAc,GAAG,UAAU,CAAC;oBAC5B,MAAM;gBACV,KAAKA,oBAAY,CAAC,IAAI;AAClB,oBAAA,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACjC,MAAM;gBACV,KAAKA,oBAAY,CAAC,EAAE;AAChB,oBAAA,IAAI,cAAc,EAAE;AAChB,wBAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACtB,IAAI,qBAAqB,CACrB,cAAc,EACd,eAAe,EACf,UAAU,CACb,CACJ,CAAC;wBAEF,cAAc,GAAG,IAAI,CAAC;AACzB,qBAAA;oBAED,eAAe,GAAG,EAAE,CAAC;AAC5B,aAAA;AACJ,SAAA;;AAGD,QAAA,IAAI,cAAc,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9C,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CACtB,IAAI,qBAAqB,CAAC,cAAc,EAAE,eAAe,CAAC,CAC7D,CAAC;AACL,SAAA;KACJ;AACJ;;ACzID;;AAEG;AACSE,2BAoBX;AApBD,CAAA,UAAY,SAAS,EAAA;AACjB;;AAEG;AACH,IAAA,SAAA,CAAA,SAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AAER;;AAEG;AACH,IAAA,SAAA,CAAA,SAAA,CAAA,KAAA,CAAA,GAAA,CAAA,CAAA,GAAA,KAAO,CAAA;AAEP;;AAEG;AACH,IAAA,SAAA,CAAA,SAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;AAER;;AAEG;AACH,IAAA,SAAA,CAAA,SAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;AACb,CAAC,EApBWA,iBAAS,KAATA,iBAAS,GAoBpB,EAAA,CAAA,CAAA;;ACmHD;;;;;;AAMG;MACU,UAAU,CAAA;AACV,IAAA,aAAa,CAAS;AACtB,IAAA,UAAU,CAAS;AACnB,IAAA,QAAQ,CAAS;AACjB,IAAA,IAAI,CAAS;AACb,IAAA,IAAI,CAAO;AACX,IAAA,OAAO,CAAS;AAChB,IAAA,OAAO,CAAS;AAChB,IAAA,KAAK,CAAS;AACd,IAAA,QAAQ,CAAS;AACjB,IAAA,QAAQ,CAAW;AACnB,IAAA,WAAW,CAAU;AACrB,IAAA,UAAU,CAAS;AACnB,IAAA,OAAO,CAAS;AAChB,IAAA,IAAI,CAAS;AACb,IAAA,aAAa,CAAkC;AAC/C,IAAA,cAAc,CAAe;AAC7B,IAAA,aAAa,CAAqB;AAClC,IAAA,iBAAiB,CAAS;AAC1B,IAAA,QAAQ,CAAU;AAE3B,IAAA,WAAA,CAAY,MAAyB,EAAA;AACjC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC1C,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;AACpC,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAChC,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAIC,gBAAQ,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;AAChD,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;AAC5C,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;KACnC;AACJ;;ACjLD;;AAEG;MACmB,uBAAuB,CAAA;AACzC;;;;;;;;AAQG;AACH,IAAA,OAAO,gBAAgB,CACnB,UAAgE,EAChE,qBAA6B,EAC7B,mBAA2B,EAAA;QAE3B,MAAM,eAAe,GAAqB,EAAE,CAAC;QAC7C,IAAI,gBAAgB,GAAW,CAAC,CAAC;AAEjC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE;YACpD,MAAM,OAAO,GACT,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GACN,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9B,YAAA,MAAM,aAAa,GACf,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;YAEnD,IAAI,aAAa,IAAI,mBAAmB,EAAE;;AAEtC,gBAAA,IAAI,CAAC,GAAG,gBAAgB,GAAG,qBAAqB,EAAE;AAC9C,oBAAA,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,SAAS;AACZ,iBAAA;gBAED,eAAe,CAAC,IAAI,CAAC;oBACjB,gBAAgB;AAChB,oBAAA,eAAe,EAAE,CAAC;AACrB,iBAAA,CAAC,CAAC;AAEH,gBAAA,gBAAgB,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,aAAA;AACJ,SAAA;;AAGD,QAAA,IACI,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,gBAAgB;AAC5C,YAAA,qBAAqB,EACvB;YACE,eAAe,CAAC,IAAI,CAAC;gBACjB,gBAAgB;AAChB,gBAAA,eAAe,EAAE,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;AACjD,aAAA,CAAC,CAAC;AACN,SAAA;AAED,QAAA,OAAO,eAAe,CAAC;KAC1B;AACJ;;ACrED;;AAEG;MACU,cAAc,CAAA;AACvB;;AAEG;AACM,IAAA,gBAAgB,CAAS;AAElC;;AAEG;AACM,IAAA,eAAe,CAAS;AAEjC;;;AAGG;IACH,WAAY,CAAA,gBAAwB,EAAE,eAAuB,EAAA;AACzD,QAAA,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;AACzC,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;KAC1C;AACJ;;ACpBD;;AAEG;AACG,MAAO,yBAA0B,SAAQ,cAAc,CAAA;AACzD;;AAEG;AACH,IAAA,SAAS,CAAU;AAEnB;;AAEG;AACH,IAAA,eAAe,CAAS;AAExB,IAAA,WAAA,CAAY,MAKX,EAAA;QACG,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAClC,QAAA,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;KACjD;AACJ;;ACkED;;AAEG;MACU,kBAAkB,CAAA;AAC3B;;AAEG;AACM,IAAA,UAAU,CAEsB;AAEzC;;AAEG;AACM,IAAA,IAAI,CAAa;AAE1B;;;;AAIG;AACK,IAAA,OAAgB,eAAe,GAAW,GAAG,CAAC;AAEtD;;;;;;;AAOG;IACc,iCAAiC,GAAW,EAAE,CAAC;AAEhE;;;AAGG;IACc,8BAA8B,GAAW,EAAE,CAAC;AAE7D;;;AAGG;IACc,6BAA6B,GAAW,IAAI,CAAC;AAE9D;;AAEG;AACc,IAAA,eAAe,CAAS;AAEzC;;;;;AAKG;IACc,yBAAyB,GAAW,IAAI,CAAC;AAE1D;;;;;;;AAOG;IACc,mBAAmB,GAAW,IAAI,CAAC;AAEpD;;;;AAIG;IACc,qBAAqB,GAAW,CAAC,CAAC;AAEnD;;AAEG;IACc,eAAe,GAAgC,EAAE,CAAC;AAEnE;;;;;;AAMG;IACc,sBAAsB,GAAW,GAAG,CAAC;AAEtD;;AAEG;AACc,IAAA,SAAS,CAAiB;AAE3C;;;;;AAKG;IACc,uBAAuB,GAAyB,EAAE,CAAC;AAEpE;;;;AAIG;IACc,mBAAmB,GAAyB,EAAE,CAAC;AAEhE;;;;AAIG;AACc,IAAA,kBAAkB,CAAuB;AAE1D;;AAEG;IACc,WAAW,GAAiB,EAAE,CAAC;AAEhD;;;AAGG;IACH,WACI,CAAA,UAEwC,EACxC,IAAgB,EAAA;AAEhB,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAC7C,CAAC,CAAC,KAAK,CAAC,CAAC,cAAc,CAC1B,CAAC;AAEF,QAAA,MAAM,KAAK,GAAa,IAAIC,gBAAQ,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACzC,YAAA,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAC7B,CAAC,CAAC,KACE,CAAC,CAAC,mBAAmB,EAAE;AACvB,gBAAA,CAACC,eAAO,CAAC,iBAAiB,CAAC,IAAI,CAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CACjC,CACR;SACJ,CAAC,CAAC,SAAS,EAAE,CAAC;QAEf,IAAI,CAAC,SAAS,GAAG,IAAIC,sBAAc,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;QAE/C,MAAM,WAAW,GAEsB,UAAU,CAAC,OAAO,CAAC,MAAM,CAC5D,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,eAAe,CACnE,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC;KAC7C;AAED;;AAEG;IACH,OAAO,kBAAkB,CACrB,GAAmE,EAAA;AAEnE,QAAA,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CACnB,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,IAAI,IAAI,CAAC,eAAe,CACrD,CAAC;KACL;AAED;;;;;;;;;AASG;IACH,KAAK,GAAA;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,EAAE;YAC5B,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3C,SAAA;QAED,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YAClE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3C,SAAA;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YAClE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AAC3C,SAAA;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAE5B,QAAA,MAAM,YAAY,GAAW,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE1D,OAAO,EAAE,SAAS,EAAE,YAAY,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;KACjE;AAED;;;;;AAKG;IACK,sBAAsB,GAAA;AAC1B,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AAC5B,QAAA,MAAM,UAAU,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAE/D,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAChD,CAAC,CAAC,KAAK,CAAC,YAAYC,kBAAU,CACjC,CAAC;AAEF,QAAA,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;AAC5D,YAAA,MAAM,WAAW,GAAWC,iBAAS,CAAC,KAAK,CACvC,OAAO,CAAC,SAAS,CACb,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,UAAU,CAAC,SAAS,CAClD,GAAG,CAAC,EACL,CAAC,EACD,OAAO,CAAC,MAAM,GAAG,CAAC,CACrB,CAAC;YACF,IAAI,UAAU,GAAW,OAAO,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;;YAG7D,IAAI,0BAA0B,GAC1B,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7C,YAAA,QAAQ,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM;gBAClC,KAAKN,iBAAS,CAAC,KAAK;oBAChB,0BAA0B;AACtB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,IAAI;oBACf,0BAA0B;AACtB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,0BAA0B;AACtB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;YAED,UAAU,IAAI,0BAA0B,CAAC;AAEzC,YAAA,MAAM,UAAU,GAAW,WAAW,GAAG,CAAC,CAAC;YAC3C,IAAI,SAAS,GAAW,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;;YAG7D,IAAI,yBAAyB,GACzB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC7C,YAAA,QAAQ,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM;gBACjC,KAAKA,iBAAS,CAAC,KAAK;oBAChB,yBAAyB;AACrB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,IAAI;oBACf,yBAAyB;AACrB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,yBAAyB;AACrB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;YAED,SAAS,IAAI,yBAAyB,CAAC;AAEvC,YAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;AAC9B,gBAAA,SAAS,EAAE,UAAU;AACrB,gBAAA,OAAO,EAAE,SAAS;AACrB,aAAA,CAAC,CAAC;AACN,SAAA;KACJ;AAED;;;;AAIG;IACK,qBAAqB,GAAA;AACzB,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AAC5B,QAAA,MAAM,UAAU,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAE/D,MAAM,iBAAiB,GAAc,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1D,MAAM,gBAAgB,GAAc,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC;AAE9D,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAChD,CAAC,CAAC,KAAK,CAAC,YAAYK,kBAAU,CACjC,CAAC;;QAGF,IAAI,oBAAoB,GACpB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,YAAYE,cAAM,EAAE;AACrC,YAAA,QAAQ,iBAAiB;gBACrB,KAAKP,iBAAS,CAAC,KAAK;oBAChB,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,IAAI;oBACf,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;;QAGD,IAAI,mBAAmB,GACnB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,YAAYO,cAAM,EAAE;AAC1C,YAAA,QAAQ,gBAAgB;gBACpB,KAAKP,iBAAS,CAAC,KAAK;oBAChB,mBAAmB;AACf,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,IAAI;oBACf,mBAAmB;AACf,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,mBAAmB;AACf,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;;;;AAKD,QAAA,MAAM,kBAAkB,GACpB,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC;AACvD,QAAA,MAAM,iBAAiB,GACnB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,SAAS,GAAG,mBAAmB,CAAC;AAE3D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,MAAM,cAAc,GAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC/D,MAAM,gBAAgB,GAAuB,EAAE,CAAC;AAEhD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBAC7D,MAAM,KAAK,GACP,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEvC,gBAAA,IACI,KAAK,CAAC,SAAS,GAAG,kBAAkB;AACpC,oBAAA,KAAK,CAAC,OAAO,GAAG,iBAAiB,EACnC;oBACE,SAAS;AACZ,iBAAA;AAED,gBAAA,IACI,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAC7B,CAAC,CAAC,KACE,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS;AAC9B,oBAAA,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CACjC,EACH;oBACE,SAAS;AACZ,iBAAA;AAED,gBAAA,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrC,aAAA;AAED,YAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACnD,SAAA;KACJ;AAED;;;AAGG;IACK,kBAAkB,GAAA;AACtB,QAAA,MAAM,eAAe,GACjB,uBAAuB,CAAC,gBAAgB,CACpC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,mBAAmB,CAC3B,CAAC;AACN,QAAA,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE;AAC1C,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CACrB,IAAI,yBAAyB,CAAC;gBAC1B,gBAAgB,EAAE,cAAc,CAAC,gBAAgB;gBACjD,eAAe,EAAE,cAAc,CAAC,eAAe;AAC/C,gBAAA,SAAS,EAAE,KAAK;gBAChB,eAAe,EAAE,CAAC,CAAC;AACtB,aAAA,CAAC,CACL,CAAC;AACL,SAAA;KACJ;AAED;;AAEG;IACK,cAAc,GAAA;AAClB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAClD,YAAA,MAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAElE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,SAAS,CAAC;AACpD,YAAA,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC;AACxD,SAAA;KACJ;AAED;;;;;;AAMG;AACK,IAAA,SAAS,CAAC,OAAuB,EAAA;AACrC,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AAC5B,QAAA,MAAM,UAAU,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAC/D,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAChD,CAAC,CAAC,KAAK,CAAC,YAAYK,kBAAU,CACjC,CAAC;QAEF,MAAM,WAAW,GACb,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtC,MAAM,UAAU,GACZ,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;AAErC,QAAA,IAAI,qBAAqB,GAAW,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;AACjE,QAAA,IAAI,WAAW,CAAC,MAAM,YAAYE,cAAM,EAAE;YACtC,QAAQ,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,MAAM;gBAC/C,KAAKP,iBAAS,CAAC,KAAK;oBAChB,qBAAqB;AACjB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,IAAI;oBACf,qBAAqB;AACjB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,qBAAqB;AACjB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,qBAAqB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACrE,SAAA;AAED,QAAA,IAAI,oBAAoB,GAAW,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC;AAC/D,QAAA,IAAI,UAAU,CAAC,MAAM,YAAYO,cAAM,EAAE;YACrC,QAAQ,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM;gBAC9C,KAAKP,iBAAS,CAAC,KAAK;oBAChB,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;gBACV,KAAKA,iBAAS,CAAC,IAAI;oBACf,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBAC9C,MAAM;AACV,gBAAA;oBACI,oBAAoB;AAChB,wBAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpD,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,oBAAoB,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AACpE,SAAA;;;QAID,MAAM,aAAa,GAAa,EAAE,CAAC;AACnC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,MAAM,CAAC,GAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAClD,YAAA,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjC,SAAS;AACZ,aAAA;;;AAID,YAAA,IACI,CAAC,CAAC,gBAAgB,CAAC,MAAM,CACrB,CAAC,CAAC,KACE,CAAC,CAAC,SAAS,IAAI,qBAAqB;gBACpC,CAAC,CAAC,OAAO,IAAI,oBAAoB,CACxC,CAAC,MAAM,KAAK,CAAC,EAChB;gBACE,SAAS;AACZ,aAAA;;YAGD,IACI,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM;AAC3D,gBAAA,CAAC,EACH;gBACE,SAAS;AACZ,aAAA;AAED,YAAA,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACzB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC,aAAa,CACrB,OAAO,CAAC,KAAK,CACT,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,eAAe,GAAG,CAAC,CAC9B,EACD,UAAU,CAAC,KAAK,CACZ,OAAO,CAAC,gBAAgB,EACxB,OAAO,CAAC,eAAe,GAAG,CAAC,CAC9B,EACD,aAAa,CAChB,CAAC;KACL;AAED;;;;;;AAMG;AACK,IAAA,aAAa,CACjB,cAAsE,EACtE,uBAA2C,EAC3C,aAAuB,EAAA;QAEvB,IAAI,WAAW,GAAW,cAAc,CAAC,SAAS,CAC9C,CAAC,CAAC,EAAE,CAAC,KACD,EAAE,CAAC,CAAC,MAAM,YAAYQ,eAAO,CAAC;YAC9B,uBAAuB,CAAC,CAAC,CAAC,CAAC,MAAM,KAAKR,iBAAS,CAAC,IAAI,CAC3D,CAAC;AACF,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACpB,OAAO,CAAC,CAAC,CAAC;AACb,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,YAAA,IAAI,WAAW,KAAK,cAAc,CAAC,MAAM,EAAE;gBACvC,MAAM;AACT,aAAA;AAED,YAAA,MAAM,CAAC,GACH,cAAc,CAAC,WAAW,CAAC,CAAC;AAChC,YAAA,MAAM,CAAC,GAAqB,uBAAuB,CAAC,WAAW,CAAC,CAAC;AACjE,YAAA,EAAE,WAAW,CAAC;AAEd,YAAA,IAAI,CAAC,CAAC,MAAM,KAAKA,iBAAS,CAAC,IAAI,EAAE;gBAC7B,SAAS;AACZ,aAAA;;AAGD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC3C,gBAAA,MAAM,CAAC,GACH,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;;;;gBAK/C,MAAM,OAAO,GAAW,CAAC,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,QAAQ,CAAC;gBAExD,MAAM,WAAW,GACb,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE1D,IAAI,CAAC,WAAW,EAAE;oBACd,SAAS;AACZ,iBAAA;AAED,gBAAA,MAAM,OAAO,GAAuB,WAAW,CAAC,cAAc,CAAC;AAE/D,gBAAA,MAAM,YAAY,GAAW,OAAO,CAAC,SAAS,CAC1C,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,OAAO,CAC3B,CAAC;AACF,gBAAA,MAAM,QAAQ,GAAW,YAAY,GAAG,CAAC,CAAC;AAC1C,gBAAA,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE;AAChB,oBAAA,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtB,SAAS;AACZ,iBAAA;gBAED,MAAM,cAAc,GAAY,IAAID,eAAO,CACvC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC5B,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAC/B,CAAC;gBAEF,IAAI,UAAU,GAAY,KAAK,CAAC;gBAEhC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,KAAKD,oBAAY,CAAC,IAAI,EAAE;;;oBAGhD,KACI,IAAI,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,EACvC,UAAU,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,EACxC,EAAE,UAAU,EACd;wBACE,MAAM,CAAC,GACH,CAAC,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI;AACxC,6BAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI;AACnB,gCAAA,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC;wBACpC,cAAc,CAAC,CAAC,GAAGW,qBAAa,CAAC,IAAI,CACjC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC5B,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EAChC,CAAC,CACJ,CAAC;wBACF,cAAc,CAAC,CAAC,GAAGA,qBAAa,CAAC,IAAI,CACjC,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAC5B,OAAO,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,EAChC,CAAC,CACJ,CAAC;wBAEF,IACI,CAAC,CAAC,MAAM;AACH,6BAAA,kBAAkB,CAACC,aAAK,CAAC,KAAK,CAAC;6BAC/B,WAAW,CAAC,cAAc,CAAC;4BAChC,CAAC,CAAC,MAAM,CAAC,SAAS,CAACA,aAAK,CAAC,KAAK,CAAC,EACjC;4BACE,UAAU,GAAG,IAAI,CAAC;4BAClB,MAAM;AACT,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AAAM,qBAAA;oBACH,UAAU;AACN,wBAAA,CAAC,CAAC,MAAM;AACH,6BAAA,kBAAkB,CAACA,aAAK,CAAC,KAAK,CAAC;6BAC/B,WAAW,CAAC,cAAc,CAAC;4BAChC,CAAC,CAAC,MAAM,CAAC,SAAS,CAACA,aAAK,CAAC,KAAK,CAAC,CAAC;AACvC,iBAAA;gBACD,IAAI,CAAC,UAAU,EAAE;AACb,oBAAA,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACzB,iBAAA;AACJ,aAAA;AACD,YAAA,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACzD,SAAA;AAED,QAAA,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;KACtC;AAED;;;;;AAKG;IACK,0BAA0B,GAAA;AAC9B,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC5B,MAAM,kBAAkB,GAAgC,EAAE,CAAC;AAE3D,QAAA,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE;YAC/C,IAAI,cAAc,GAAY,KAAK,CAAC;AACpC,YAAA,IAAI,mBAAmB,GAAG,cAAc,CAAC,gBAAgB,CAAC;AAE1D,YAAA,KACI,IAAI,CAAC,GAAG,cAAc,CAAC,gBAAgB,EACvC,CAAC,IAAI,cAAc,CAAC,eAAe,EACnC,EAAE,CAAC,EACL;AACE,gBAAA,IACI,CAAC,cAAc;AACf,oBAAA,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB;wBACxB,kBAAkB,CAAC,eAAe,EACxC;oBACE,cAAc,GAAG,IAAI,CAAC;oBACtB,mBAAmB,GAAG,CAAC,CAAC;oBACxB,SAAS;AACZ,iBAAA;AAED,gBAAA,IACI,cAAc;AACd,oBAAA,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB;wBACxB,kBAAkB,CAAC,eAAe,EACxC;oBACE,cAAc,GAAG,KAAK,CAAC;oBACvB,kBAAkB,CAAC,IAAI,CAAC;AACpB,wBAAA,gBAAgB,EAAE,mBAAmB;AACrC,wBAAA,eAAe,EAAE,CAAC;wBAClB,SAAS,EAAE,cAAc,CAAC,SAAS;wBACnC,eAAe,EAAE,cAAc,CAAC,eAAe;AAClD,qBAAA,CAAC,CAAC;AACN,iBAAA;AACJ,aAAA;;AAGD,YAAA,IAAI,cAAc,EAAE;gBAChB,kBAAkB,CAAC,IAAI,CAAC;AACpB,oBAAA,gBAAgB,EAAE,mBAAmB;oBACrC,eAAe,EAAE,cAAc,CAAC,eAAe;oBAC/C,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,eAAe,EAAE,cAAc,CAAC,eAAe;AAClD,iBAAA,CAAC,CAAC;AACN,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;KACpD;AAED;;;;;;AAMG;IACK,qBAAqB,GAAA;QACzB,IAAI,kBAAkB,GAAW,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAC5D,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CACtB,CAAC,MAAM,CAAC;QACT,IAAI,kBAAkB,IAAI,CAAC,EAAE;YACzB,OAAO;AACV,SAAA;AAED,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAC5B,MAAM,iBAAiB,GAAW,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAC7D,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,CAAC,MAAM,EAClC,CAAC,CACJ,CAAC;AAEF,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,IAAI,kBAAkB,IAAI,CAAC,EAAE;gBACzB,MAAM;AACT,aAAA;YACD,MAAM,eAAe,GACjB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;;YAEhC,IACI,eAAe,CAAC,MAAM;gBAClB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC;gBAC3D,eAAe,CAAC,MAAM,GAAG,iBAAiB;AACtC,oBAAA,IAAI,CAAC,yBAAyB,GAAG,CAAC,EACxC;AACE,gBAAA,EAAE,kBAAkB,CAAC;AACrB,gBAAA,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,aAAA;AACD,YAAA,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;AACjD,SAAA;KACJ;AAED;;;;AAIG;IACK,oBAAoB,GAAA;AACxB,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;AAC5B,QAAA,MAAM,UAAU,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAC/D,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CACnD,CAAC,CAAC,KAAK,CAAC,YAAYL,kBAAU,CACjC,CAAC;;;AAIF,QAAA,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,eAAe,EAAE;AAC/C,YAAA,MAAM,SAAS,GAAW,cAAc,CAAC,eAAe,CAAC;YAEzD,MAAM,SAAS,GACX,OAAO,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,SAAS;AACzD,iBAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,MAAM;AACnD,oBAAAL,iBAAS,CAAC,IAAI;sBACR,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,QAAQ;sBACpD,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;YAErD,MAAM,OAAO,GACT,OAAO,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO;AACtD,iBAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,MAAM;AAClD,oBAAAA,iBAAS,CAAC,IAAI;sBACR,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,QAAQ;sBACnD,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;;YAGpD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACnC,gBAAA,MAAM,CAAC,GAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;AAC1D,gBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;AACV,oBAAA,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,iBAAA;AACL,aAAC,CAAC,CAAC;YACH,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,MAAM,iBAAiB,GAGjB,EAAE,CAAC;AACT,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;;gBAEtD,IAAI,CAAC,KAAK,SAAS,EAAE;oBACjB,SAAS;AACZ,iBAAA;gBACD,MAAM,OAAO,GAAuB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAChE,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,gBAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC7C,oBAAA,IACI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS;AAC5B,wBAAA,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,EAC5B;AACE,wBAAA,EAAE,MAAM,CAAC;wBACT,iBAAiB,CAAC,IAAI,CAAC;4BACnB,MAAM,EAAE,IAAID,eAAO,CACf,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EACrB,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CACxB;AACD,4BAAA,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;AACxB,yBAAA,CAAC,CAAC;AACN,qBAAA;AACJ,iBAAA;AACD,gBAAA,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9B,aAAA;;;;AAKD,YAAA,MAAM,gBAAgB,GAAW,SAAS,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;;YAI1D,MAAM,gBAAgB,GAClB,aAAa;iBACR,KAAK,CAAC,gBAAgB,CAAC;AACvB,iBAAA,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;gBAC3C,aAAa;AACR,qBAAA,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC;AAC1B,qBAAA,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAEhD,MAAM,cAAc,GAA6B,EAAE,CAAC;AAEpD,YAAA,KAAK,MAAM,gBAAgB,IAAI,iBAAiB,EAAE;gBAC9C,MAAM,UAAU,GAAW,cAAc,CAAC,SAAS,CAC/C,CAAC,CAAC,KACE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC;oBAC7C,IAAI,CAAC,iCAAiC,CAC7C,CAAC;AAEF,gBAAA,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;oBACnB,IACI,gBAAgB,CAAC,IAAI;AACjB,wBAAA,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ;wBACvC,IAAI,CAAC,6BAA6B,EACpC;AACE,wBAAA,cAAc,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;wBACrC,cAAc,CAAC,IAAI,CAAC;4BAChB,MAAM,EAAE,gBAAgB,CAAC,MAAM;AAC/B,4BAAA,KAAK,EAAE,CAAC;4BACR,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAClC,yBAAA,CAAC,CAAC;wBACH,SAAS;AACZ,qBAAA;oBACD,cAAc,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAC5D,cAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAC5D,oBAAA,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;AACtC,iBAAA;AAAM,qBAAA;oBACH,cAAc,CAAC,IAAI,CAAC;wBAChB,MAAM,EAAE,gBAAgB,CAAC,MAAM;AAC/B,wBAAA,KAAK,EAAE,CAAC;wBACR,QAAQ,EAAE,gBAAgB,CAAC,IAAI;AAClC,qBAAA,CAAC,CAAC;AACN,iBAAA;AACJ,aAAA;;YAGD,MAAM,YAAY,GAA6B,cAAc;AACxD,iBAAA,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,8BAA8B,CAAC;AAC7D,iBAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;iBACjC,KAAK,CAAC,CAAC,CAAC,CAAC;;AAGd,YAAA,IACI,CAAC,gBAAgB,GAAG,IAAI,CAAC,yBAAyB;AAC9C,gBAAA,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;AACjD,gBAAA,YAAY,CAAC,MAAM,GAAG,CAAC,EACzB;;AAEE,gBAAA,MAAM,WAAW,GACb,cAAc,CAAC,eAAe;AAC9B,oBAAA,cAAc,CAAC,gBAAgB;AAC/B,oBAAA,CAAC,CAAC;AACN,gBAAA,MAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CACjC,OAAO;qBACF,KAAK,CACF,cAAc,CAAC,gBAAgB,EAC/B,cAAc,CAAC,eAAe,CACjC;qBACA,MAAM,CACH,CAAC,GAAG,EAAE,KAAK,KACP,GAAG;AACH,oBAAA,KAAK,CAAC,iBAAiB;wBACnB,kBAAkB,CAAC,eAAe,EAC1C,CAAC,CACJ,EACL,IAAI,CACP,CAAC;;;gBAIF,MAAM,wBAAwB,GAAa,aAAa;qBACnD,KAAK,CAAC,gBAAgB,CAAC;qBACvB,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;;AAGpC,gBAAA,MAAM,YAAY,GACd,gBAAgB,GAAG,IAAI,CAAC,yBAAyB;AAC7C,sBAAE,wBAAwB,CAAC,MAAM,CAC3B,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,KACd,GAAG;AACH,wBAAA,IAAI,CAAC,GAAG,CACJ,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,WAAW;AAC9B,4BAAA,IAAI,CAAC,eAAe,EACxB,GAAG,CACN,EACL,CAAC,CACJ;AACH,sBAAE,IAAI,CAAC,GAAG,CACJ,YAAY,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,KACd,GAAG;wBACH,IAAI,CAAC,GAAG,CACJ,CAAC,CAAC,KAAK,GAAG,CAAC;6BACN,KAAK,CAAC,KAAK;AACR,iCAAC,IAAI;qCACA,8BAA8B;AAC/B,oCAAA,CAAC,CAAC,CAAC;AACX,4BAAA,WAAW;4BACX,IAAI,CAAC,eAAe,EACxB,GAAG,CACN,EACL,CAAC,CACJ,EACD,GAAG,CACN,CAAC;;AAGZ,gBAAA,MAAM,YAAY,GACd,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AAE1D,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBAClB,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC;oBACvC,YAAY;oBACZ,YAAY;AACf,iBAAA,CAAC,CAAC;AACN,aAAA;AACJ,SAAA;KACJ;AAED;;AAEG;IACK,qBAAqB,GAAA;AACzB,QAAA,QACI,CAAC;AACD,YAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CACnB,CAAC,CAAC,EAAE,CAAC,KACD,CAAC;gBACD,KAAK;oBACD,IAAI,CAAC,GAAG,CACJ,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,EAChD,IAAI,CACP,EACT,CAAC,CACJ,EACH;KACL;;;ACnhCL;;AAEG;MACU,gBAAgB,CAAA;AACzB;;;;;AAKG;AACH,IAAA,WAAW,CAAS;AAEpB;;;;;AAKG;AACH,IAAA,UAAU,CAAS;AAEnB;;;;;AAKG;AACH,IAAA,eAAe,CAAS;AAExB;;AAEG;AACH,IAAA,KAAK,CAAgB;AAErB;;AAEG;IACH,aAAa,GAAY,KAAK,CAAC;AAE/B;;AAEG;AACM,IAAA,MAAM,CAAqD;AAEpE;;;;AAIG;AACH,IAAA,iBAAiB,CAAU;AAE3B;;AAEG;AACH,IAAA,SAAS,CAAU;AAEnB;;;;;;AAMG;IACH,WACI,CAAA,MAA0D,EAC1D,WAAmB,EACnB,UAAkB,EAClB,eAAuB,EACvB,KAAoB,EACpB,SAAkB,EAAA;AAElB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AACvC,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAACW,aAAK,CAAC,KAAK,CAAC,CAAC;KAClF;AACJ;;AClFD;AA0DA;;AAEG;MACU,cAAc,CAAA;AACvB;;AAEG;AACM,IAAA,UAAU,CAEsB;AAEzC;;AAEG;AACM,IAAA,IAAI,CAAa;AAE1B;;AAEG;IACc,iBAAiB,GAAuB,EAAE,CAAC;AAE5D;;AAEG;AACc,IAAA,SAAS,CAAiB;AAE3C;;AAEG;AACc,IAAA,WAAW,CAAS;;AAIrC;;;AAGG;IACH,WACI,CAAA,UAEwC,EACxC,IAAgB,EAAA;AAEhB,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;AAC7B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;AAEjB,QAAA,MAAM,KAAK,GAAa,IAAIR,gBAAQ,CAAC;YACjC,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AACzC,YAAA,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAC7B,CAAC,CAAC,KACE,CAAC,CAAC,mBAAmB,EAAE;AACvB,gBAAA,CAACC,eAAO,CAAC,iBAAiB,CAAC,IAAI,CAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CACjC,CACR;SACJ,CAAC,CAAC,SAAS,EAAE,CAAC;QAEf,IAAI,CAAC,SAAS,GAAG,IAAIC,sBAAc,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAC5C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAYC,kBAAU,CAAC,CACvD,CAAC;;;;;;;;;;KAUL;AAED;;AAEG;IACH,KAAK,GAAA;QACD,IACI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CACvC,CAAC,MAAM,IAAI,CAAC,EACf;YACE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;AAChD,SAAA;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAgDpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;KAChD;AAED;;AAEG;IACK,eAAe,GAAA;QACnB,MAAM,OAAO,GAAa,EAAE,CAAC;AAE7B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACrD,MAAM,gBAAgB,GAClB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAEhC,YAAA,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CACrD,gBAAgB,EAChB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAC7B,CAAC;AAEF,YAAA,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACjD,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkDJ;AAED;;;;;AAKG;AACK,IAAA,mBAAmB,CAAC,WAAmB,EAAA;QAC3C,MAAM,UAAU,GACZ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AACzC,QAAA,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;;AAG9B,QAAA,IAAI,WAAW,KAAK,CAAC,IAAI,MAAM,YAAYG,eAAO,EAAE;AAChD,YAAA,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,SAAA;;AAGD,QAAA,IAAI,UAAU,CAAC,oBAAoB,GAAG,GAAG,EAAE;AACvC,YAAA,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,SAAA;AAED,QAAA,MAAM,UAAU,GACZ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;AAChE,QAAA,MAAM,cAAc,GAChB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAE7C,IACI,UAAU,YAAYA,eAAO;AAC7B,YAAA,cAAc,CAAC,MAAM,KAAKR,iBAAS,CAAC,IAAI,EAC1C;AACE,YAAA,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,SAAA;QAED,MAAM,mBAAmB,GAAY,MAAM,CAAC,kBAAkB,CAC1DU,aAAK,CAAC,KAAK,CACd,CAAC;QACF,IAAI,qBAAqB,GAAY,UAAU,CAAC,qBAAqB,CACjEA,aAAK,CAAC,KAAK,CACd,CAAC;QAEF,IAAI,UAAU,YAAYC,cAAM,EAAE;AAC9B,YAAA,IAAI,UAAU,CAAC,kBAAkB,GAAG,CAAC,EAAE;gBACnC,MAAM,eAAe,GAAY,mBAAmB,CAAC,QAAQ,CACzD,UAAU,CAAC,eAAgB,CAC9B,CAAC;gBACF,MAAM,iBAAiB,GAAY,mBAAmB,CAAC,QAAQ,CAC3D,qBAAqB,CACxB,CAAC;AAEF,gBAAA,IAAI,eAAe,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE;AACnD,oBAAA,qBAAqB,GAAG,UAAU,CAAC,eAAgB,CAAC;AACvD,iBAAA;AACJ,aAAA;AAAM,iBAAA;gBACH,qBAAqB,GAAG,UAAU,CAAC,kBAAkB,CACjDD,aAAK,CAAC,KAAK,CACd,CAAC;AACL,aAAA;AACJ,SAAA;QAED,MAAM,qBAAqB,GAAY,MAAM;AACxC,aAAA,kBAAkB,CAACA,aAAK,CAAC,KAAK,CAAC;aAC/B,QAAQ,CAAC,qBAAqB,CAAC,CAAC;QACrC,MAAM,MAAM,GAAW,MAAM,CAAC,SAAS,CAACA,aAAK,CAAC,KAAK,CAAC,CAAC;;AAGrD,QAAA,IAAI,qBAAqB,CAAC,MAAM,IAAI,MAAM,EAAE;AACxC,YAAA,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,SAAA;;;;;;;;;;;;;;QAiBD,MAAM,iBAAiB,GACnB,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,qBAAqB,GACvB,IAAI,CAAC,6BAA6B,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAExD,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,iBAAiB;YACrD,qBAAqB,CAAC,QAAQ,CAAC;QAEnC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,KAAK,MAAM,CAAC,iBAAiB,EAAE;AAC/D,YAAA,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,SAAA;QAED,IACI,qBAAqB,CAAC,WAAW;AAC7B,YAAA,iBAAiB,CAAC,WAAW;AACjC,YAAA,qBAAqB,CAAC,UAAU,KAAK,iBAAiB,CAAC,UAAU,EACnE;YACE,OAAO,IAAI,gBAAgB,CACvB,UAAU,EACV,iBAAiB,CAAC,WAAW,EAC7B,iBAAiB,CAAC,UAAU,EAC5B,qBAAqB,CAAC,eAAe,EACrC,CAAC,EACD,KAAK,CACR,CAAC;AACL,SAAA;AAED,QAAA,MAAM,UAAU,GACZ,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;;;AAIhE,QAAA,IAAI,UAAU,GAAW,MAAM,CAAC,iBAAiB,CAAC;QAElD,MAAM,WAAW,GACb,UAAU,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;AAClE,QAAA,MAAM,OAAO,GAAuB,WAAW,CAAC,cAAc,CAAC;AAE/D,QAAA,MAAM,2BAA2B,GAC7B,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAExE,QAAA,KACI,IAAI,CAAC,GAAG,qBAAqB,CAAC,eAAe,GAAG,CAAC,EACjD,CAAC,GAAG,OAAO,CAAC,MAAM,EAClB,EAAE,CAAC,EACL;AACE,YAAA,MAAM,MAAM,GAAqB,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAqB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAEpD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC7C,SAAS;AACZ,aAAA;AAED,YAAA,IAAI,MAAM,CAAC,EAAE,KAAKZ,oBAAY,CAAC,EAAE,EAAE;gBAC/B,MAAM;AACT,aAAA;AAED,YAAA,MAAM,eAAe,GAAY,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACrD,UAAU,CAAC,QAAQ,CACtB,CAAC;YACF,MAAM,GAAG,GACL,2BAA2B,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACrD,MAAM,GAAG,GACL,2BAA2B,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC;AACjD,gBAAA,2BAA2B,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;AAEtD,YAAA,MAAM,aAAa,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7D,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,SAAA;QAED,IAAI,SAAS,GAAY,UAAU,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACnD,QAAA,IAAI,SAAS,EAAE;;AAEX,YAAA,IAAI,SAAS,GAAW,IAAI,CAAC,GAAG,CAC5B,MAAM,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,EACvC,EAAE,CACL,CAAC;YACF,IAAI,UAAU,YAAYa,cAAM,EAAE;AAC9B,gBAAA,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACnE,aAAA;;AAGD,YAAA,MAAM,eAAe,GACjB,mBAAmB,CAAC,WAAW,CAAC,qBAAqB,CAAC;AACtD,gBAAA,SAAS,CAAC;;;YAId,MAAM,kBAAkB,GACpB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,WAAW,CAAC;AAClD,iBAAA,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;;;;AAKxD,YAAA,MAAM,cAAc,GAAW,IAAI,CAAC,GAAG,CACnC,CAAC,EACD,kBAAkB,CAAC,SAAS,GAAG,WAAW,CAAC,OAAO,CACrD,CAAC;;;YAIF,SAAS;;AAEL,gBAAA,cAAc,GAAG,SAAS,GAAG,GAAG,CAAC;AAErC,YAAA,KACI,IAAI,CAAC,GAAG,qBAAqB,CAAC,eAAe,GAAG,CAAC,EACjD,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,EAC/B,EAAE,CAAC,EACL;AACE,gBAAA,MAAM,MAAM,GAAqB,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAqB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAEpD,IACI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC3C,oBAAA,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,EACjC;oBACE,SAAS;AACZ,iBAAA;AAED,gBAAA,IAAI,MAAM,CAAC,EAAE,KAAKb,oBAAY,CAAC,EAAE,EAAE;oBAC/B,MAAM;AACT,iBAAA;;gBAGD,MAAM,cAAc,GAChB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;qBAC/C,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACpC,gBAAA,SAAS,GAAG,cAAc,GAAG,eAAe,GAAG,GAAG,CAAC;AACtD,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AAC9B,YAAA,OAAO,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACpE,SAAA;QAED,OAAO,IAAI,gBAAgB,CACvB,UAAU,EACV,qBAAqB,CAAC,WAAW,EACjC,qBAAqB,CAAC,UAAU,EAChC,qBAAqB,CAAC,eAAe,EACrC,UAAU,EACV,SAAS,CACZ,CAAC;KACL;AAED;;;;;AAKG;AACK,IAAA,+BAA+B,CACnC,WAAmB,EAAA;AAEnB,QAAA,MAAM,MAAM,GACR,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAqB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,cAAc,GAAY,MAAM,CAAC,kBAAkB,CAACY,aAAK,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,MAAM,YAAYF,eAAO,EAAE;YAC3B,OAAO;AACH,gBAAA,QAAQ,EAAE,cAAc;AACxB,gBAAA,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,MAAM,CAAC,iBAAiB;gBACpC,eAAe,EAAE,MAAM,CAAC,iBAAiB;gBACzC,UAAU,EAAE,MAAM,CAAC,SAAS;aAC/B,CAAC;AACL,SAAA;QAED,MAAM,MAAM,GAAW,MAAM,CAAC,SAAS,CAACE,aAAK,CAAC,KAAK,CAAC,CAAC;AAErD,QAAA,IAAI,SAAS,GAAW,IAAI,CAAC,WAAW,CAAC;AACzC,QAAA,MAAM,SAAS,GAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CACnD,CAAC,CAAC,KAAK,CAAC,YAAYL,kBAAU,CACjC,CAAC;;QAEF,IAAI,MAAM,YAAYE,cAAM,EAAE;YAC1B,QAAQ,IAAI,CAAC,MAAM;gBACf,KAAKP,iBAAS,CAAC,KAAK;oBAChB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBACtD,MAAM;gBACV,KAAKA,iBAAS,CAAC,IAAI;oBACf,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;oBACtD,MAAM;AACb,aAAA;AACJ,SAAA;;AAGD,QAAA,IAAI,eAAe,GAAY,IAAID,eAAO,CACtC,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,iBAAiB,CAC3B,CAAC;QACF,IAAI,kBAAkB,GAAW,CAAC,CAAC;QACnC,IAAI,iBAAiB,GAAW,CAAC,CAAC;QAClC,IAAI,uBAAuB,GAAW,CAAC,CAAC;QACxC,IAAI,iBAAiB,GAAW,CAAC,CAAC;AAElC,QAAA,MAAM,iBAAiB,GAAW,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AAC/D,QAAA,MAAM,iBAAiB,GAAW,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;AAE/D,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,IAAI,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,MAAM,EAAE;gBACvD,MAAM;AACT,aAAA;YAED,MAAM,UAAU,GAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3D,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACzD,IAAI,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,MAAM,EAAE;oBACvD,MAAM;AACT,iBAAA;gBAED,MAAM,WAAW,GACb,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEnC,gBAAA,IAAI,WAAW,CAAC,OAAO,GAAG,iBAAiB,EAAE;oBACzC,SAAS;AACZ,iBAAA;AAED,gBAAA,IAAI,WAAW,CAAC,SAAS,GAAG,iBAAiB,EAAE;oBAC3C,MAAM;AACT,iBAAA;;AAGD,gBAAA,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;gBAC7B,IACI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,MAAM;AACnD,oBAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,SAAS,EACrD;oBACE,IAAI,WAAW,GAAG,CAAC,EAAE;AACjB,wBAAA,MAAM,UAAU,GACZ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CACtC,WAAW,GAAG,CAAC,CAClB,CAAC;AAEN,wBAAA,IAAI,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE;4BAChC,OAAO;gCACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,gCAAA,WAAW,EAAE,CAAC;AACd,gCAAA,UAAU,EAAE,CAAC;AACb,gCAAA,eAAe,EAAE,CAAC;gCAClB,UAAU,EAAE,IAAI,CAAC,IAAI;6BACxB,CAAC;AACL,yBAAA;AACJ,qBAAA;AAAM,yBAAA;wBACH,OAAO;4BACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,4BAAA,WAAW,EAAE,CAAC;AACd,4BAAA,UAAU,EAAE,CAAC;AACb,4BAAA,eAAe,EAAE,CAAC;4BAClB,UAAU,EAAE,IAAI,CAAC,IAAI;yBACxB,CAAC;AACL,qBAAA;AACJ,iBAAA;AAED,gBAAA,MAAM,OAAO,GAAuB,WAAW,CAAC,cAAc,CAAC;AAE/D,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACrC,oBAAA,MAAM,MAAM,GAAqB,OAAO,CAAC,CAAC,CAAC,CAAC;oBAC5C,MAAM,UAAU,GAAqB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAEpD,oBAAA,IAAI,MAAM,CAAC,IAAI,GAAG,iBAAiB,EAAE;wBACjC,SAAS;AACZ,qBAAA;AAED,oBAAA,IAAI,UAAU,CAAC,IAAI,GAAG,iBAAiB,EAAE;wBACrC,MAAM;AACT,qBAAA;AAED,oBAAA,IAAI,cAAuB,CAAC;AAC5B,oBAAA,IAAI,MAAM,CAAC,EAAE,KAAKD,oBAAY,CAAC,EAAE,EAAE;AAC/B,wBAAA,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;wBAErC,MAAM,QAAQ,GACV,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAC/C,wBAAA,IACI,QAAQ;AACR,4BAAA,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,EAC7C;4BACE,eAAe,GAAG,cAAc,CAAC;4BACjC,kBAAkB,GAAG,CAAC,CAAC;4BACvB,iBAAiB,GAAG,CAAC,CAAC;4BACtB,uBAAuB,GAAG,CAAC,CAAC;AAC5B,4BAAA,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC;AACvC,yBAAA;AACJ,qBAAA;AAAM,yBAAA;;AAEH,wBAAA,KACI,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EACnC,EAAE,CAAC,EACL;;4BAEE,IAAI,CAAC,KAAK,CAAC,EAAE;gCACT,SAAS;AACZ,6BAAA;AAED,4BAAA,MAAM,WAAW,GAEC,IAAI,CAAC,IAAI,CAAC,cAAc,CACtC,CAAC,CACJ,CAAC,gBAAgB,CAAC,IAAI,CACnB,CAAC,CAAC,KACE,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI;gCAC9B,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CACjC,CAAC;4BAEF,IAAI,CAAC,WAAW,EAAE;gCACd,SAAS;AACZ,6BAAA;AAED,4BAAA,MAAM,CAAC,GACH,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI;iCACvC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;AACpC,4BAAA,cAAc,GAAG,IAAIC,eAAO,CACxBU,qBAAa,CAAC,IAAI,CACd,UAAU,CAAC,QAAQ,CAAC,CAAC,EACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,EACjB,CAAC,CACJ,EACDA,qBAAa,CAAC,IAAI,CACd,UAAU,CAAC,QAAQ,CAAC,CAAC,EACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,EACjB,CAAC,CACJ,CACJ,CAAC;4BAEF,MAAM,QAAQ,GACV,cAAc,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;AAC/C,4BAAA,IACI,QAAQ;AACR,gCAAA,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,EAC7C;gCACE,eAAe,GAAG,cAAc,CAAC;gCACjC,kBAAkB,GAAG,CAAC,CAAC;gCACvB,iBAAiB,GAAG,CAAC,CAAC;gCACtB,uBAAuB,GAAG,CAAC,CAAC;AAC5B,gCAAA,iBAAiB,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAC7C,6BAAA;4BAED,IAAI,QAAQ,IAAI,MAAM,EAAE;gCACpB,MAAM;AACT,6BAAA;AACJ,yBAAA;AACJ,qBAAA;oBAED,IAAI,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,MAAM,EAAE;wBACvD,MAAM;AACT,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,IACI,eAAe,CAAC,WAAW,CAAC,cAAc,CAAC;YAC3C,MAAM,CAAC,iBAAiB,EAC1B;YACE,OAAO;AACH,gBAAA,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,MAAM,CAAC,iBAAiB;gBACrC,UAAU,EAAE,MAAM,CAAC,iBAAiB;gBACpC,eAAe,EAAE,MAAM,CAAC,iBAAiB;gBACzC,UAAU,EAAE,MAAM,CAAC,SAAS;aAC/B,CAAC;AACL,SAAA;QAED,OAAO;AACH,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,WAAW,EAAE,kBAAkB;AAC/B,YAAA,UAAU,EAAE,iBAAiB;AAC7B,YAAA,eAAe,EAAE,uBAAuB;AACxC,YAAA,UAAU,EAAE,iBAAiB;SAChC,CAAC;KACL;AAED;;;;;AAKG;AACK,IAAA,6BAA6B,CACjC,WAAmB,EAAA;AAEnB,QAAA,MAAM,MAAM,GACR,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAE5D,QAAA,IAAI,EAAE,MAAM,YAAYE,cAAM,CAAC,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC;AAC5D,SAAA;AAED,QAAA,MAAM,UAAU,GACZ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,iBAAiB,GAAY,MAAM,CAAC,qBAAqB,CACzDD,aAAK,CAAC,KAAK,CACd,CAAC;AAEF,QAAA,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,IAAI,UAAU,EAAE;YAC7C,MAAM,iBAAiB,GAAY,UAAU,CAAC,kBAAkB,CAC5DA,aAAK,CAAC,KAAK,CACd,CAAC;YAEF,MAAM,eAAe,GAAY,iBAAiB,CAAC,QAAQ,CACvD,MAAM,CAAC,eAAgB,CAC1B,CAAC;YACF,MAAM,iBAAiB,GACnB,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAElD,YAAA,IAAI,eAAe,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE;AACnD,gBAAA,iBAAiB,GAAG,MAAM,CAAC,eAAgB,CAAC;AAC/C,aAAA;AACJ,SAAA;AAAM,aAAA;YACH,iBAAiB,GAAG,MAAM,CAAC,kBAAkB,CAACA,aAAK,CAAC,KAAK,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,IAAI,eAAe,GAAY,IAAIX,eAAO,CACtC,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,iBAAiB,CAC3B,CAAC;QACF,IAAI,kBAAkB,GAAW,CAAC,CAAC;QACnC,IAAI,iBAAiB,GAAW,CAAC,CAAC;QAClC,IAAI,uBAAuB,GAAW,CAAC,CAAC;QACxC,IAAI,iBAAiB,GAAW,CAAC,CAAC;AAElC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACtD,MAAM,UAAU,GAAe,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAE3D,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACzD,MAAM,WAAW,GACb,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AACnC,gBAAA,IAAI,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE;oBACxC,SAAS;AACZ,iBAAA;AAED,gBAAA,IAAI,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,EAAE;oBACxC,MAAM;AACT,iBAAA;AAED,gBAAA,MAAM,OAAO,GAAuB,WAAW,CAAC,cAAc,CAAC;AAC/D,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACrC,oBAAA,MAAM,MAAM,GAAqB,OAAO,CAAC,CAAC,CAAC,CAAC;AAE5C,oBAAA,IAAI,cAAuB,CAAC;oBAC5B,QAAQ,MAAM,CAAC,EAAE;wBACb,KAAKD,oBAAY,CAAC,IAAI;AAClB,4BAAA,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;4BACjC,MAAM;AACV,wBAAA,KAAKA,oBAAY,CAAC,EAAE,EAAE;4BAClB,MAAM,UAAU,GAAqB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,4BAAA,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;4BACrC,MAAM;AACT,yBAAA;AACD,wBAAA,KAAKA,oBAAY,CAAC,IAAI,EAAE;4BACpB,MAAM,UAAU,GAAqB,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,4BAAA,MAAM,CAAC,GAAWQ,iBAAS,CAAC,KAAK,CAC7B,CAAC,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI;AAC7B,iCAAC,MAAM,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EACnC,CAAC,EACD,CAAC,CACJ,CAAC;AAEF,4BAAA,cAAc,GAAG,IAAIP,eAAO,CACxBU,qBAAa,CAAC,IAAI,CACd,UAAU,CAAC,QAAQ,CAAC,CAAC,EACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,EACjB,CAAC,CACJ,EACDA,qBAAa,CAAC,IAAI,CACd,UAAU,CAAC,QAAQ,CAAC,CAAC,EACrB,MAAM,CAAC,QAAQ,CAAC,CAAC,EACjB,CAAC,CACJ,CACJ,CAAC;4BACF,MAAM;AACT,yBAAA;AACJ,qBAAA;AAED,oBAAA,IACI,cAAc,CAAC,WAAW,CAAC,iBAAiB,CAAC;AAC7C,wBAAA,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAChD;wBACE,eAAe,GAAG,cAAc,CAAC;wBACjC,kBAAkB,GAAG,CAAC,CAAC;wBACvB,iBAAiB,GAAG,CAAC,CAAC;wBAEtB,QAAQ,MAAM,CAAC,EAAE;4BACb,KAAKX,oBAAY,CAAC,IAAI;gCAClB,uBAAuB,GAAG,CAAC,CAAC;AAC5B,gCAAA,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC;gCAChC,MAAM;4BACV,KAAKA,oBAAY,CAAC,EAAE;AAChB,gCAAA,uBAAuB,GAAG,CAAC,GAAG,CAAC,CAAC;gCAChC,iBAAiB,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gCACxC,MAAM;4BACV,KAAKA,oBAAY,CAAC,IAAI;gCAClB,uBAAuB,GAAG,CAAC,CAAC;AAC5B,gCAAA,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;gCACnC,MAAM;AACb,yBAAA;AACJ,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA;AAED,QAAA,IACI,eAAe,CAAC,WAAW,CAAC,iBAAiB,CAAC;YAC9C,MAAM,CAAC,iBAAiB,EAC1B;YACE,OAAO;AACH,gBAAA,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,MAAM,CAAC,iBAAiB;gBACrC,UAAU,EAAE,MAAM,CAAC,iBAAiB;gBACpC,eAAe,EAAE,MAAM,CAAC,iBAAiB;gBACzC,UAAU,EAAE,MAAM,CAAC,OAAO;aAC7B,CAAC;AACL,SAAA;QAED,OAAO;AACH,YAAA,QAAQ,EAAE,eAAe;AACzB,YAAA,WAAW,EAAE,kBAAkB;AAC/B,YAAA,UAAU,EAAE,iBAAiB;AAC7B,YAAA,eAAe,EAAE,uBAAuB;AACxC,YAAA,UAAU,EAAE,iBAAiB;SAChC,CAAC;KACL;AAED;;;;;;;;AAQG;IACK,mBAAmB,CACvB,gBAAkC,EAClC,OAAyB,EAAA;QAEzB,IACI,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,YAAYa,cAAM,CAAC;AACnD,YAAA,OAAO,CAAC,MAAM,KAAKX,iBAAS,CAAC,IAAI;AACjC,YAAA,gBAAgB,CAAC,WAAW,KAAK,CAAC,CAAC,EACrC;AACE,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AAED,QAAA,OAAO,KAAK,CAAC;KAChB;AAED;;AAEG;IACK,YAAY,GAAA;AAChB,QAAA,MAAM,QAAQ,GAAuB;YACjCY,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACvCA,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;SAC1C,CAAC;AAEF,QAAA,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;AAC5B,YAAA,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;AAC9B,SAAA;QAED,IAAI,kBAAkB,GAAY,IAAI,CAAC;QACvC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAI;AACjC,YAAA,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE;AACd,gBAAA,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5C,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,OAAO;AACV,aAAA;YAED,MAAM,OAAO,GAAY,kBAAkB;AACvC,kBAAE,QAAQ,CAAC,CAAC,CAAC;AACb,kBAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAExC,kBAAkB,GAAG,CAAC,kBAAkB,CAAC;AAC7C,SAAC,CAAC,CAAC;;AAGH,QAAA,MAAM,eAAe,GAKf,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAI;YACpC,OAAO;gBACH,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;gBACtC,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;aACvC,CAAC;AACN,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAEnC,QAAA,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;YACzB,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACzC,OAAO;AACV,aAAA;YAED,MAAM,oBAAoB,GAEiB,MAAM,CAAC,MAAM,CACpDA,aAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAC/B,EAAE,OAAO,EAAE,OAAO,EAAE,CACvB,CAAC;YACF,oBAAoB,CAAC,4BAA4B,EAAE,CAAC;AACpD,YAAA,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;AACrC,gBAAA,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;oBACzC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;YAC/C,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CACjD,EAAE,EACF,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5C,CAAC;AACuD,YAAA,CACrD,IAAI,CAAC,UAAU,CAAC,OAAO,EACxB,IAAI,CAAC,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC7C,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;;AAGlE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YACrD,MAAM,UAAU,GAEqB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,gBAAgB,GAClB,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAE9B,YAAA,MAAM,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;AAE1C,YAAA,UAAU,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AACzB,YAAA,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC,YAAA,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAEvD,YAAA,UAAU,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC;AACpD,YAAA,UAAU,CAAC,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC;AAChE,YAAA,UAAU,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;AACtD,YAAA,UAAU,CAAC,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,CAAC;;YAG9D,IAAI,gBAAgB,CAAC,aAAa,EAAE;AAChC,gBAAA,UAAU,CAAC,cAAc,GAAG,CAAC,CAAC;AACjC,aAAA;AACJ,SAAA;;AAGD,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;AAC/B,QAAA,IAAI,CAAC,UAAU,CAAC,mBAAmB,EAAE,CAAC;AACtC,QAAA,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;KACpC;AACJ;;ACr8BD;;;;;;AAMG;MACU,cAAc,CAAA;AACvB;;AAEG;AACH,IAAA,OAAO,CAAS;AAEhB;;AAEG;IACH,WAAW,GAAkB,IAAI,CAAC;AAElC;;AAEG;IACH,QAAQ,GAAkB,IAAI,CAAC;AAE/B;;AAEG;AACH,IAAA,SAAS,CAAW;AAEpB;;AAEG;AACH,IAAA,OAAO,CAAW;AAElB;;AAEG;AACH,IAAA,OAAO,CAGkC;AAEzC;;AAEG;IACH,IAAI,GAAsB,IAAI,CAAC;AAE/B;;AAEG;IACH,UAAU,GAAW,CAAC,CAAC;AAEvB;;AAEG;IACH,UAAU,GAAW,CAAC,CAAC;AAEvB;;AAEG;IACH,wBAAwB,GAAY,KAAK,CAAC;AAE1C;;AAEG;IACH,sBAAsB,GAAY,KAAK,CAAC;AAExC;;;;AAIG;IACH,oBAAoB,GAAa,EAAE,CAAC;;IAGnB,WAAW,GAAW,CAAC,CAAC;IACxB,YAAY,GAAW,CAAC,CAAC;IACzB,UAAU,GAAW,CAAC,CAAC;IACvB,YAAY,GAAW,CAAC,CAAC;IACzB,WAAW,GAAW,CAAC,CAAC;AAEzC,IAAA,WAAA,CAAY,MAeX,EAAA;AACG,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;KAC7B;AAED;;AAEG;AACH,IAAA,MAAM,OAAO,GAAA;QACT,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACrC,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACnB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;AAC7D,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;AACnB,QAAA,OAAO,IAAI,CAAC;KACf;AAED;;AAEG;AACK,IAAA,MAAM,cAAc,GAAA;AACxB,QAAA,MAAM,iBAAiB,GACnB,IAAIC,8BAAsB,EAAE;aACvB,gBAAgB,CAAC,KAAK,CAAC;aACvB,WAAW,CAAC,QAAQ,CAAC;aACrB,YAAY,CAAC,EAAE,EAAE,CAAA,EAAG,IAAI,CAAC,OAAO,CAAM,IAAA,CAAA,CAAC,CAAC;AAEjD,QAAA,MAAM,MAAM,GAAoB,MAAM,iBAAiB,CAAC,WAAW,EAAE,CAAC;AAEtE,QAAA,IAAI,MAAM,CAAC,UAAU,KAAK,GAAG,EAAE;AAC3B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,OAAO,MAAM,CAAC,IAAI,CAAC;KACtB;AAED;;;;AAIG;IACK,UAAU,GAAA;QACd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACnC,YAAA,MAAMC,QAAM,GAAa,IAAIC,eAAQ,EAAE,CAAC;AACxC,YAAAD,QAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC9B,YAAAA,QAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClBA,QAAM;iBACD,IAAI,CAACE,cAAK,EAAE,CAAC;AACb,iBAAA,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,KAAI;AACzB,gBAAA,MAAM,QAAQ,GAAW,KAAK,CAAC,IAAI,CAAC;gBACpC,IAAI,QAAQ,KAAK,MAAM,EAAE;oBACrB,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,iBAAA;AAAM,qBAAA;oBACH,KAAK,CAAC,SAAS,EAAE,CAAC;AACrB,iBAAA;AACL,aAAC,CAAC;AACD,iBAAA,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,KAAI;gBACf,UAAU,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACtC,aAAC,CAAC,CAAC;AACX,SAAC,CAAC,CAAC;KACN;AAED;;AAEG;IACK,WAAW,GAAA;;;;AAIf,QAAA,IAAI,SAAgB,CAAC;QACrB,IAAI;YACA,SAAS,GAAGC,8BAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxD,SAAA;QAAC,MAAM;YACJ,OAAO;AACV,SAAA;AAED,QAAA,MAAM,YAAY,GAAsB;AACpC,YAAA,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO;AACnC,YAAA,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACxB,YAAA,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AACtB,YAAA,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAClB,YAAA,cAAc,EAAE,EAAE;AAClB,YAAA,aAAa,EAAE,EAAE;SACpB,CAAC;AAEF,QAAA,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;AACjC,YAAA,YAAY,CAAC,IAAI,GAAG,IAAI,IAAI,CACxB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAC1C,CAAC;AACF,YAAA,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACnD,YAAA,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACpD,YAAA,YAAY,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAClD,YAAA,YAAY,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACrD,YAAA,YAAY,CAAC,QAAQ,GAAG,IAAIhB,gBAAQ,CAAC;gBACjC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC;AACtC,aAAA,CAAC,CAAC;AACH,YAAA,YAAY,CAAC,WAAW,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9C,YAAA,YAAY,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvC,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC7C,YAAA,YAAY,CAAC,aAAa,GAAGE,eAAO,CAAC,iBAAiB,CAClD,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC/C,CAAC;;AAGF,YAAA,MAAM,SAAS,GACX,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC1B,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC1B,YAAY,CAAC,QAAQ,CAAC,GAAG;AACzB,gBAAA,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChC,MAAM,QAAQ,GAAY,YAAY,CAAC,aAAa,CAAC,IAAI,CACrD,CAAC,CAAC,KAAK,CAAC,YAAYe,iBAAS,IAAI,CAAC,YAAYC,qBAAa,CAC9D,CAAC;YAEF,MAAM,WAAW,GAAW,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;AAEnE,YAAA,QAAQ,IAAI;AACR,gBAAA,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;AACpC,oBAAA,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACH,wBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,qBAAA;oBACD,MAAM;gBACV,KAAK,WAAW,GAAG,GAAG;AAClB,oBAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI;AAC5C,oBAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AAC5B,oBAAA,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACH,wBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,qBAAA;oBACD,MAAM;gBACV,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AACnD,oBAAA,WAAW,GAAG,GAAG;AACjB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;gBACV,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AACnD,oBAAA,WAAW,GAAG,GAAG;AACjB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;gBACV,KAAK,WAAW,GAAG,GAAG;AAClB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;AACV,gBAAA;AACI,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC/B,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;YACjC,MAAM,CAAC,GAAa,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,YAAA,YAAY,CAAC,iBAAiB;AAC1B,gBAAA,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,YAAA,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACd,gBAAA,YAAY,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC9D,aAAA;AACJ,SAAA;AAED,QAAA,IAAI,WAAmB,CAAC;AACxB,QAAA,QAAQ,IAAI;;AAER,YAAA,KAAK,YAAY,CAAC,aAAa,IAAI,CAAC;gBAChC,WAAW,GAAG,CAAC,CAAC;gBAChB,MAAM;;AAEV,YAAA,KAAK,YAAY,CAAC,aAAa,KAAK,CAAC;gBACjC,WAAW,GAAG,CAAC,CAAC;gBAChB,MAAM;;AAEV,YAAA;gBACI,WAAW,GAAG,CAAC,CAAC;AACvB,SAAA;QAED,MAAM,qBAAqB,GAAa,EAAE,CAAC;AAE3C,QAAA,OAAO,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE;YACnC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACxD,SAAA;;QAGD,MAAM,gBAAgB,GAAW,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACtE,IAAI,aAAa,GAAW,CAAC,CAAC;QAE9B,MAAM,IAAI,GAAW,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACjE,QAAA,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;;QAGjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,QAAQ,GACV,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAChD,YAAA,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;YACjC,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAa,EAAE,CAAC;YACvB,MAAM,CAAC,GAAa,EAAE,CAAC;YACvB,MAAM,EAAE,GAAmB,EAAE,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;gBAC/B,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACtD,gBAAA,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;gBACjC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpB,gBAAA,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACd,IAAI,EAAE,CAAC,CAAC,CAAC,KAAKrB,oBAAY,CAAC,EAAE,EAAE;AAC3B,oBAAA,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;wBACjC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnD,wBAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;wBACnC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnD,wBAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;AACtC,qBAAA;AAAM,yBAAA;wBACH,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnD,wBAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;wBACnC,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AACnD,wBAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;AACtC,qBAAA;AACJ,iBAAA;AAAM,qBAAA;AACH,oBAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACV,oBAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACb,iBAAA;AACJ,aAAA;AACD,YAAA,YAAY,CAAC,cAAc,CAAC,IAAI,CAC5B,IAAI,UAAU,CAAC;AACX,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,EAAE,EAAE,EAAE;AACT,aAAA,CAAC,CACL,CAAC;AACL,SAAA;QAED,MAAM,kBAAkB,GACpB,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAChD,QAAA,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;;QAGjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE;AACzC,YAAA,MAAM,gBAAgB,GAAqB;AACvC,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,MAAM,EAAE,CAAC;aACZ,CAAC;AAEF,YAAA,gBAAgB,CAAC,QAAQ;AACrB,gBAAA,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;AAChD,YAAA,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC;YACnC,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACrD,YAAA,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;YAElC,IAAI,GAAG,GAAG,CAAC,EAAE;gBACT,MAAM,KAAK,GAAa,EAAE,CAAC;gBAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;oBAC1B,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,oBAAA,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;AACrC,iBAAA;;AAED,gBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC9B,gBAAgB,CAAC,OAAO,CAAC,IAAI,CACzB,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;yBAC9B,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACxB,wBAAA,CAAC,CACR,CAAC;AACL,iBAAA;AACJ,aAAA;AAED,YAAA,IAAI,YAAY,CAAC,aAAa,IAAI,CAAC,EAAE;AACjC,gBAAA,gBAAgB,CAAC,MAAM;AACnB,oBAAA,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AAC7C,gBAAA,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;AACrC,aAAA;AAED,YAAA,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACrD,SAAA;;QAGD,IAAI,YAAY,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YAChD,IAAI,MAAM,GAAW,CAAC,CAAC;YACvB,IAAI,OAAO,GAAW,CAAC,CAAC;YACxB,IAAI,MAAM,GAAW,CAAC,CAAC;YACvB,IAAI,OAAO,GAAW,CAAC,CAAC;YACxB,IAAI,KAAK,GAAW,CAAC,CAAC;YACtB,IAAI,IAAI,GAAW,CAAC,CAAC;YACrB,IAAI,gBAAgB,GAAY,IAAI,CAAC;AAErC,YAAA,MAAM,OAAO,GAAkC,CAC3C,IAAI,CAAC,OAAO,YAAYsB,iDAAyB;gBACjD,IAAI,CAAC,OAAO,YAAYC,0DAAkC;AACtD,kBAAE,IAAI,CAAC,OAAO,CAAC,OAAO;kBACpB,IAAI,CAAC,OAAO,EACpB,UAAU,CAAC,OAAO,CAAC;AAErB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;;gBAExD,MAAM,aAAa,GACf,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAClC,MAAM,cAAc,GAChB,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEhE,QAAQ,aAAa,CAAC,MAAM;oBACxB,KAAKrB,iBAAS,CAAC,IAAI;AACf,wBAAA,EAAE,IAAI,CAAC;wBACP,gBAAgB,GAAG,KAAK,CAAC;wBACzB,MAAM;oBACV,KAAKA,iBAAS,CAAC,GAAG;AACd,wBAAA,EAAE,KAAK,CAAC;wBACR,gBAAgB,GAAG,KAAK,CAAC;wBACzB,MAAM;oBACV,KAAKA,iBAAS,CAAC,IAAI;AACf,wBAAA,EAAE,MAAM,CAAC;wBACT,IAAI,gBAAgB,IAAI,cAAc,EAAE;AACpC,4BAAA,EAAE,OAAO,CAAC;AACb,yBAAA;wBACD,MAAM;oBACV,KAAKA,iBAAS,CAAC,KAAK;AAChB,wBAAA,EAAE,MAAM,CAAC;wBACT,IAAI,gBAAgB,IAAI,cAAc,EAAE;AACpC,4BAAA,EAAE,OAAO,CAAC;AACb,yBAAA;wBACD,MAAM;AACb,iBAAA;AAED,gBAAA,IAAI,cAAc,EAAE;oBAChB,gBAAgB,GAAG,IAAI,CAAC;AAC3B,iBAAA;AACJ,aAAA;AAED,YAAA,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,YAAA,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;AAE/B,YAAA,YAAY,CAAC,QAAQ,GAAG,IAAIC,gBAAQ,CAAC;AACjC,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,GAAG,EAAE,KAAK;AACV,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI;AAC3C,aAAA,CAAC,CAAC;;AAGH,YAAA,MAAM,SAAS,GACX,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC1B,YAAY,CAAC,QAAQ,CAAC,IAAI;gBAC1B,YAAY,CAAC,QAAQ,CAAC,GAAG;AACzB,gBAAA,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC;YAChC,MAAM,QAAQ,GACV,YAAY,CAAC,aAAa,EAAE,IAAI,CAC5B,CAAC,CAAC,KAAK,CAAC,YAAYiB,iBAAS,IAAI,CAAC,YAAYC,qBAAa,CAC9D,IAAI,KAAK,CAAC;YAEf,MAAM,WAAW,GAAW,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,SAAS,CAAC;AAEnE,YAAA,QAAQ,IAAI;AACR,gBAAA,KAAK,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;AACpC,oBAAA,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACH,wBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,qBAAA;oBACD,MAAM;gBACV,KAAK,WAAW,GAAG,GAAG;AAClB,oBAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI;AAC5C,oBAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AAC5B,oBAAA,IAAI,QAAQ,EAAE;AACV,wBAAA,YAAY,CAAC,IAAI,GAAG,IAAI,CAAC;AAC5B,qBAAA;AAAM,yBAAA;AACH,wBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC3B,qBAAA;oBACD,MAAM;gBACV,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AACnD,oBAAA,WAAW,GAAG,GAAG;AACjB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;gBACV,KAAK,CAAC,WAAW,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK;AACnD,oBAAA,WAAW,GAAG,GAAG;AACjB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;gBACV,KAAK,WAAW,GAAG,GAAG;AAClB,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;oBACxB,MAAM;AACV,gBAAA;AACI,oBAAA,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC;AAC/B,aAAA;AACJ,SAAA;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC;KAC5C;AAED;;;;AAIG;IACH,iBAAiB,GAAA;QACb,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AAC7B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAED,QAAA,MAAM,aAAa,GAAuB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAClE,IAAI,aAAa,GAAW,CAAC,CAAC;QAC9B,IAAI,aAAa,GAAW,CAAC,CAAC;QAC9B,IAAI,aAAa,GAAW,CAAC,CAAC;QAC9B,IAAI,aAAa,GAAW,CAAC,CAAC;AAE9B,QAAA,MAAM,OAAO,GACT,IAAI,CAAC,OAAO,YAAYC,iDAAyB;YACjD,IAAI,CAAC,OAAO,YAAYC,0DAAkC;AACtD,cAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AACtB,cAAE,IAAI,CAAC,OAAO,CAAC;AACvB,QAAA,MAAM,OAAO,GACT,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;AAE/B,QAAA,MAAM,KAAK,GAAa,IAAInB,gBAAQ,CAAC;AACjC,YAAA,EAAE,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE;AACzB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAChC,CAAC,CAAC,KACE,CAACC,eAAO,CAAC,iBAAiB,CAAC,IAAI,CAC3B,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CACjC,CACR;SACJ,CAAC,CAAC,SAAS,EAAE,CAAC;AACf,QAAA,MAAM,WAAW,GAAW,IAAIC,sBAAc,CAC1C,KAAK,CAAC,EAAG,CACZ,CAAC,cAAc,CACZ,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAYC,kBAAU,CAAC,CAC/D,CAAC;;;;;QAMF,MAAM,oBAAoB,GAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QAClE,MAAM,UAAU,GAAa,EAAE,CAAC;AAEhC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AAC3C,YAAA,MAAM,CAAC,GAAqB,aAAa,CAAC,CAAC,CAAC,CAAC;AAC7C,YAAA,MAAM,CAAC,GAAuB,OAAO,CAAC,CAAC,CAAC,CAAC;YAEzC,IAAI,CAAC,YAAYG,eAAO,IAAI,CAAC,CAAC,MAAM,KAAKR,iBAAS,CAAC,IAAI,EAAE;AACrD,gBAAA,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,SAAS;AACZ,aAAA;AAED,YAAA,MAAM,QAAQ,GAAW,CAAC,CAAC,QAAQ,CAAC;YAEpC,IAAI,CAAC,YAAYW,cAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,oBAAoB,EAAE;AAC5D,gBAAA,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnB,SAAS;AACZ,aAAA;AAED,YAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAE1B,IAAI,QAAQ,IAAI,CAAC,EAAE;gBACf,aAAa,IAAI,QAAQ,CAAC;AAC1B,gBAAA,EAAE,aAAa,CAAC;AACnB,aAAA;AAAM,iBAAA;gBACH,aAAa,IAAI,QAAQ,CAAC;AAC1B,gBAAA,EAAE,aAAa,CAAC;AACnB,aAAA;AACJ,SAAA;QAED,OAAO;AACH,YAAA,WAAW,EAAE,aAAa,GAAG,aAAa,IAAI,CAAC;AAC/C,YAAA,WAAW,EAAE,aAAa,GAAG,aAAa,IAAI,CAAC;YAC/C,YAAY,EAAEL,iBAAS,CAAC,0BAA0B,CAAC,UAAU,CAAC,GAAG,EAAE;SACtE,CAAC;KACL;AAED;;AAEG;AACK,IAAA,gBAAgB,CAAC,UAAoB,EAAA;AACzC,QAAA,MAAM,mBAAmB,GAAG;AACxB,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,UAAU,EAAE,GAAG;AACf,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,aAAa,EAAE,GAAG;AAClB,YAAA,WAAW,EAAE,GAAG;AAChB,YAAA,eAAe,EAAE,GAAG;AACpB,YAAA,WAAW,EAAE,GAAG;AAChB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,WAAW,EAAE,GAAG;AAChB,YAAA,eAAe,EAAE,GAAG;AACpB,YAAA,WAAW,EAAE,GAAG;SACnB,CAAC;QAEF,IAAI,SAAS,GAAW,EAAE,CAAC;AAC3B,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC1B,YAAA,KAAK,MAAM,QAAQ,IAAI,mBAAmB,EAAE;AACxC,gBAAA,IAAI,EAAE,QAAQ,IAAI,mBAAmB,CAAC,EAAE;oBACpC,SAAS;AACZ,iBAAA;AACD,gBAAA,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBACzB,SAAS;AACZ,iBAAA;gBACD,SAAS;oBACL,mBAAmB,CACf,QAA4C,CAC/C,CAAC;gBACN,MAAM;AACT,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,SAAS,CAAC;KACpB;AAED;;;;AAIG;IACH,eAAe,GAAA;AACX,QAAA,IACI,EACI,IAAI,CAAC,OAAO,YAAYc,iDAAyB;AACjD,YAAA,IAAI,CAAC,OAAO,YAAYC,0DAAkC,CAC7D;YACD,CAAC,IAAI,CAAC,IAAI,EACZ;YACE,OAAO;AACV,SAAA;AAED,QAAA,MAAM,kBAAkB,GAAuB,IAAI,kBAAkB,CACjE,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,CACZ,CAAC;AACF,QAAA,MAAM,MAAM,GAA2B,kBAAkB,CAAC,KAAK,EAAE,CAAC;AAElE,QAAA,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;AACjC,QAAA,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;KACxC;AAED;;;;AAIG;IACH,aAAa,GAAA;AACT,QAAA,IACI,EACI,IAAI,CAAC,OAAO,YAAYD,iDAAyB;AACjD,YAAA,IAAI,CAAC,OAAO,YAAYC,0DAAkC,CAC7D;YACD,CAAC,IAAI,CAAC,IAAI,EACZ;YACE,OAAO;AACV,SAAA;AAED,QAAA,MAAM,cAAc,GAAmB,IAAI,cAAc,CACrD,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,IAAI,CACZ,CAAC;AACF,QAAA,MAAM,MAAM,GAAuB,cAAc,CAAC,KAAK,EAAE,CAAC;AAE1D,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,aAAa,CAAC;AACjD,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;KACtC;AACJ;;AC/rBD;;;;;;AAMG;MACU,gBAAgB,CAAA;AACzB;;;;;;;;;;;;;;;AAeG;AACH,IAAA,QAAQ,CAAS;AAEjB;;;;AAIG;AACH,IAAA,OAAO,CAAY;AAEnB;;AAEG;AACH,IAAA,MAAM,CAAY;AAElB,IAAA,WAAA,CAAY,MAiBX,EAAA;AACG,QAAA,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;KAC/B;AACJ;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/constants/MovementType.ts","../src/data/CursorOccurrence.ts","../src/data/CursorOccurrenceGroup.ts","../src/data/CursorData.ts","../src/constants/HitResult.ts","../src/data/ReplayData.ts","../src/analysis/BeatmapSectionGenerator.ts","../src/analysis/data/BeatmapSection.ts","../src/analysis/data/ThreeFingerBeatmapSection.ts","../src/analysis/ThreeFingerChecker.ts","../src/analysis/objects/IndexedHitObject.ts","../src/analysis/TwoHandChecker.ts","../src/analysis/SliderCheeseChecker.ts","../src/ReplayAnalyzer.ts","../src/data/ReplayObjectData.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MovementType","Vector2","HitResult","Accuracy","MapStats","ModUtil","DroidHitWindow","ModPrecise","MathUtils","Circle","Spinner","Slider","Modes","Interpolation","Utils","DroidDifficultyCalculator","RebalanceDroidDifficultyCalculator","DroidAPIRequestBuilder","stream","Readable","Parse","javaDeserialization","ModHidden","ModFlashlight"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rian8337/osu-droid-replay-analyzer",
3
- "version": "3.0.0-beta.32",
3
+ "version": "3.0.0-beta.34",
4
4
  "description": "A replay analyzer for analyzing osu!droid replay files.",
5
5
  "keywords": [
6
6
  "osu",
@@ -32,8 +32,8 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@rian8337/osu-base": "^3.0.0-beta.32",
35
- "@rian8337/osu-difficulty-calculator": "^3.0.0-beta.32",
36
- "@rian8337/osu-rebalance-difficulty-calculator": "^3.0.0-beta.32",
35
+ "@rian8337/osu-difficulty-calculator": "^3.0.0-beta.33",
36
+ "@rian8337/osu-rebalance-difficulty-calculator": "^3.0.0-beta.34",
37
37
  "java-deserialization": "^0.1.0",
38
38
  "unzipper": "^0.10.11"
39
39
  },
@@ -45,5 +45,5 @@
45
45
  "publishConfig": {
46
46
  "access": "public"
47
47
  },
48
- "gitHead": "8910459d602c1c9c3a7ae54c057dbb15778caa78"
48
+ "gitHead": "71205bba844f221ce99fa10190974172a77c70be"
49
49
  }
@@ -480,6 +480,66 @@ declare class ReplayData implements ReplayInformation {
480
480
  constructor(values: ReplayInformation);
481
481
  }
482
482
 
483
+ interface SliderCheeseInformation {
484
+ /**
485
+ * The value used to penalize the aim performance value.
486
+ */
487
+ aimPenalty: number;
488
+ /**
489
+ * The value used to penalize the flashlight performance value.
490
+ */
491
+ flashlightPenalty: number;
492
+ /**
493
+ * The value used to penalize the visual performance value.
494
+ */
495
+ visualPenalty: number;
496
+ }
497
+ /**
498
+ * Utility to check whether relevant sliders in a beatmap are cheesed.
499
+ */
500
+ declare class SliderCheeseChecker {
501
+ /**
502
+ * The difficulty calculator that is being analyzed.
503
+ */
504
+ readonly calculator: DroidDifficultyCalculator | DroidDifficultyCalculator$1;
505
+ /**
506
+ * The data of the replay.
507
+ */
508
+ readonly data: ReplayData;
509
+ /**
510
+ * The osu!droid hitwindow of the analyzed beatmap.
511
+ */
512
+ private readonly hitWindow;
513
+ /**
514
+ * The 50 osu!droid hit window of the analyzed beatmap.
515
+ */
516
+ private readonly hitWindow50;
517
+ /**
518
+ * The indexes of objects that were cheesed.
519
+ */
520
+ private readonly cheesedObjectIndexes;
521
+ /**
522
+ * @param calculator The difficulty calculator to analyze.
523
+ * @param data The data of the replay.
524
+ */
525
+ constructor(calculator: DroidDifficultyCalculator | DroidDifficultyCalculator$1, data: ReplayData);
526
+ /**
527
+ * Checks if relevant sliders in the given beatmap was cheesed.
528
+ *
529
+ * Returns a number that can be passed to a `DroidPerformanceCalculator`
530
+ * to alter the aim performance value.
531
+ */
532
+ check(): SliderCheeseInformation;
533
+ /**
534
+ * Checks for sliders that were cheesed.
535
+ */
536
+ private checkSliderCheesing;
537
+ /**
538
+ * Calculates the slider cheese penalty.
539
+ */
540
+ private calculateSliderCheesePenalty;
541
+ }
542
+
483
543
  interface HitErrorInformation {
484
544
  negativeAvg: number;
485
545
  positiveAvg: number;
@@ -514,7 +574,7 @@ declare class ReplayAnalyzer {
514
574
  */
515
575
  is2Hand?: boolean;
516
576
  /**
517
- * The beatmap that is being analyzed. `DroidStarRating` or `RebalanceDroidStarRating` is required for three finger or two hand analyzing.
577
+ * The beatmap that is being analyzed. `DroidDifficultyCalculator` or `RebalanceDroidDifficultyCalculator` is required for three finger or two hand analyzing.
518
578
  */
519
579
  beatmap?: Beatmap | DroidDifficultyCalculator | DroidDifficultyCalculator$1;
520
580
  /**
@@ -529,6 +589,10 @@ declare class ReplayAnalyzer {
529
589
  * Penalty value used to penalize dpp for 3 finger abuse.
530
590
  */
531
591
  tapPenalty: number;
592
+ /**
593
+ * Penalty values used to penalize dpp for slider cheesing.
594
+ */
595
+ sliderCheesePenalty: SliderCheeseInformation;
532
596
  /**
533
597
  * Whether this replay has been checked against 3 finger usage.
534
598
  */
@@ -538,11 +602,13 @@ declare class ReplayAnalyzer {
538
602
  */
539
603
  hasBeenCheckedFor2Hand: boolean;
540
604
  /**
541
- * The cursor indexes at which each object was hit.
542
- *
543
- * This is filled after 2 hand usage has been checked.
605
+ * Whether this repla has been checked against slider cheesing.
606
+ */
607
+ hasBeenCheckedForSliderCheesing: boolean;
608
+ /**
609
+ * The amount of two-handed objects.
544
610
  */
545
- twoHandCursorIndexes: number[];
611
+ twoHandedNoteCount: number;
546
612
  private readonly BYTE_LENGTH;
547
613
  private readonly SHORT_LENGTH;
548
614
  private readonly INT_LENGTH;
@@ -556,7 +622,7 @@ declare class ReplayAnalyzer {
556
622
  /**
557
623
  * The beatmap to analyze.
558
624
  *
559
- * `DroidStarRating` or `RebalanceDroidStarRating` is required for three finger or two hand analyzing.
625
+ * `DroidDifficultyCalculator` or `RebalanceDroidDifficultyCalculator` is required for three finger or two hand analyzing.
560
626
  */
561
627
  map?: Beatmap | DroidDifficultyCalculator | DroidDifficultyCalculator$1;
562
628
  });
@@ -591,15 +657,21 @@ declare class ReplayAnalyzer {
591
657
  /**
592
658
  * Checks if a play is using 3 fingers.
593
659
  *
594
- * Requires `analyze()` to be called first and `map` to be defined as `DroidStarRating` or `RebalanceDroidStarRating`.
660
+ * Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
595
661
  */
596
662
  checkFor3Finger(): void;
597
663
  /**
598
664
  * Checks if a play is using 2 hands.
599
665
  *
600
- * Requires `analyze()` to be called first and `map` to be defined as `DroidStarRating` or `RebalanceDroidStarRating`.
666
+ * Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
601
667
  */
602
668
  checkFor2Hand(): void;
669
+ /**
670
+ * Checks if a play has cheesed sliders.
671
+ *
672
+ * Requires `analyze()` to be called first and `map` to be defined as `DroidDifficultyCalculator`.
673
+ */
674
+ checkForSliderCheesing(): void;
603
675
  }
604
676
 
605
677
  /**
@@ -802,4 +874,91 @@ declare class ThreeFingerChecker {
802
874
  private calculateFinalPenalty;
803
875
  }
804
876
 
805
- export { CursorData, CursorInformation, CursorOccurrence, CursorOccurrenceGroup, ExportedReplayJSON, HitErrorInformation, HitResult, MovementType, ReplayAnalyzer, ReplayData, ReplayInformation, ReplayObjectData, ThreeFingerChecker, ThreeFingerInformation };
877
+ /**
878
+ * Information about the result of a check.
879
+ */
880
+ interface TwoHandInformation {
881
+ /**
882
+ * Whether or not the beatmap is 2-handed.
883
+ */
884
+ readonly is2Hand: boolean;
885
+ /**
886
+ * The amount of two-handed objects.
887
+ */
888
+ readonly twoHandedNoteCount: number;
889
+ }
890
+ /**
891
+ * Utility to check whether or not a beatmap is two-handed.
892
+ */
893
+ declare class TwoHandChecker {
894
+ /**
895
+ * The difficulty calculator that is being analyzed.
896
+ */
897
+ readonly calculator: DroidDifficultyCalculator | DroidDifficultyCalculator$1;
898
+ /**
899
+ * The data of the replay.
900
+ */
901
+ readonly data: ReplayData;
902
+ /**
903
+ * The hitobjects of the beatmap that have been assigned with their respective cursor index.
904
+ */
905
+ private readonly indexedHitObjects;
906
+ /**
907
+ * The osu!droid hitwindow of the analyzed beatmap.
908
+ */
909
+ private readonly hitWindow;
910
+ /**
911
+ * The 50 osu!droid hit window of the analyzed beatmap.
912
+ */
913
+ private readonly hitWindow50;
914
+ /**
915
+ * @param calculator The difficulty calculator to analyze.
916
+ * @param data The data of the replay.
917
+ */
918
+ constructor(calculator: DroidDifficultyCalculator | DroidDifficultyCalculator$1, data: ReplayData);
919
+ /**
920
+ * Checks if a beatmap is two-handed.
921
+ */
922
+ check(): TwoHandInformation;
923
+ /**
924
+ * Converts hitobjects into indexed hit objects.
925
+ */
926
+ private indexHitObjects;
927
+ /**
928
+ * Gets the cursor index that hits the given object.
929
+ *
930
+ * @param objectIndex The index of the object to check.
931
+ * @returns The cursor index that hits the given object, -1 if the index is not found, the object is a spinner, or the object was missed.
932
+ */
933
+ private getIndexedHitObject;
934
+ /**
935
+ * Gets the position of the cursor that presses an object.
936
+ *
937
+ * @param objectIndex THe index of the object.
938
+ * @returns The position of the cursor that presses the object.
939
+ */
940
+ private getCursorPositionForObjectStart;
941
+ /**
942
+ * Gets the position of the cursor that at an object's end position.
943
+ *
944
+ * @param objectIndex THe index of the object.
945
+ * @returns The position of the cursor at the object's end position.
946
+ */
947
+ private getCursorPositionForObjectEnd;
948
+ /**
949
+ * Checks whether a slider was cheesed.
950
+ *
951
+ * This is done by checking if a cursor follows a slider all the way to its end position.
952
+ *
953
+ * @param indexedHitObject The indexed slider.
954
+ * @param hitData The hit data of the slider.
955
+ * @returns Whether the slider was cheesed.
956
+ */
957
+ private checkSliderCheesing;
958
+ /**
959
+ * Applies penalty to the original star rating instance.
960
+ */
961
+ private applyPenalty;
962
+ }
963
+
964
+ export { CursorData, CursorInformation, CursorOccurrence, CursorOccurrenceGroup, ExportedReplayJSON, HitErrorInformation, HitResult, MovementType, ReplayAnalyzer, ReplayData, ReplayInformation, ReplayObjectData, SliderCheeseChecker, SliderCheeseInformation, ThreeFingerChecker, ThreeFingerInformation, TwoHandChecker, TwoHandInformation };