edge-impulse-linux 1.16.1 → 1.17.1

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.
Files changed (81) hide show
  1. package/build/cli/linux/linux.js +1 -0
  2. package/build/cli/linux/linux.js.map +1 -1
  3. package/build/cli/linux/runner-downloader.d.ts +1 -0
  4. package/build/cli/linux/runner-downloader.js +10 -0
  5. package/build/cli/linux/runner-downloader.js.map +1 -1
  6. package/build/cli/linux/runner-profiling.d.ts +10 -0
  7. package/build/cli/linux/runner-profiling.js +72 -0
  8. package/build/cli/linux/runner-profiling.js.map +1 -0
  9. package/build/cli/linux/runner-utils.js +10 -64
  10. package/build/cli/linux/runner-utils.js.map +1 -1
  11. package/build/cli/linux/runner.js +15 -1
  12. package/build/cli/linux/runner.js.map +1 -1
  13. package/build/cli/linux/webserver/public/inference-server.js +92 -83
  14. package/build/cli/linux/webserver/public/inference-server.js.map +1 -1
  15. package/build/cli-common/model-monitor.d.ts +1 -2
  16. package/build/cli-common/model-monitor.js +5 -5
  17. package/build/cli-common/model-monitor.js.map +1 -1
  18. package/build/cli-common/remote-mgmt-service.d.ts +1 -1
  19. package/build/library/async-pool.d.ts +1 -0
  20. package/build/library/async-pool.js +21 -0
  21. package/build/library/async-pool.js.map +1 -0
  22. package/build/library/classifier/image-classifier.d.ts +12 -2
  23. package/build/library/classifier/image-classifier.js +37 -7
  24. package/build/library/classifier/image-classifier.js.map +1 -1
  25. package/build/library/classifier/libcwrapper.d.ts +26 -0
  26. package/build/library/classifier/libcwrapper.js +37 -0
  27. package/build/library/classifier/libcwrapper.js.map +1 -0
  28. package/build/library/classifier/linux-impulse-runner-types.d.ts +177 -0
  29. package/build/library/classifier/linux-impulse-runner-types.js +28 -0
  30. package/build/library/classifier/linux-impulse-runner-types.js.map +1 -0
  31. package/build/library/classifier/linux-impulse-runner.d.ts +20 -120
  32. package/build/library/classifier/linux-impulse-runner.js +172 -47
  33. package/build/library/classifier/linux-impulse-runner.js.map +1 -1
  34. package/build/library/classifier/valgrind-suppression.d.ts +1 -0
  35. package/build/library/classifier/valgrind-suppression.js +64 -0
  36. package/build/library/classifier/valgrind-suppression.js.map +1 -0
  37. package/build/library/moving-average-filter.d.ts +1 -1
  38. package/build/library/sensors/gstreamer.d.ts +12 -5
  39. package/build/library/sensors/gstreamer.js +217 -66
  40. package/build/library/sensors/gstreamer.js.map +1 -1
  41. package/build/library/sensors/icamera.d.ts +3 -1
  42. package/build/library/sensors/imagesnap.d.ts +2 -0
  43. package/build/library/sensors/imagesnap.js +2 -0
  44. package/build/library/sensors/imagesnap.js.map +1 -1
  45. package/build/library/sensors/prophesee.d.ts +2 -0
  46. package/build/library/sensors/prophesee.js +1 -0
  47. package/build/library/sensors/prophesee.js.map +1 -1
  48. package/build/library/sensors/sensors-helper.d.ts +1 -0
  49. package/build/library/sensors/sensors-helper.js +1 -1
  50. package/build/library/sensors/sensors-helper.js.map +1 -1
  51. package/build/sdk/studio/sdk/api/classifyApi.d.ts +64 -0
  52. package/build/sdk/studio/sdk/api/classifyApi.js +128 -0
  53. package/build/sdk/studio/sdk/api/classifyApi.js.map +1 -1
  54. package/build/sdk/studio/sdk/api/postProcessingApi.d.ts +5 -4
  55. package/build/sdk/studio/sdk/api/postProcessingApi.js +12 -12
  56. package/build/sdk/studio/sdk/api/postProcessingApi.js.map +1 -1
  57. package/build/sdk/studio/sdk/api/testApi.d.ts +16 -0
  58. package/build/sdk/studio/sdk/api/testApi.js +90 -0
  59. package/build/sdk/studio/sdk/api/testApi.js.map +1 -1
  60. package/build/sdk/studio/sdk/model/models.d.ts +2 -0
  61. package/build/sdk/studio/sdk/model/models.js +6 -0
  62. package/build/sdk/studio/sdk/model/models.js.map +1 -1
  63. package/build/sdk/studio/sdk/model/permission.d.ts +1 -1
  64. package/build/sdk/studio/sdk/model/permission.js +1 -1
  65. package/build/sdk/studio/sdk/model/permission.js.map +1 -1
  66. package/build/sdk/studio/sdk/model/postProcessingFeaturesForSampleRequest.d.ts +28 -0
  67. package/build/sdk/studio/sdk/model/postProcessingFeaturesForSampleRequest.js +34 -0
  68. package/build/sdk/studio/sdk/model/postProcessingFeaturesForSampleRequest.js.map +1 -0
  69. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.d.ts +34 -0
  70. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.js +29 -0
  71. package/build/sdk/studio/sdk/model/uploadVersionArchiveRequest.js.map +1 -0
  72. package/build/shared/views/project/bounding-box-scaling.d.ts +66 -0
  73. package/build/shared/views/project/bounding-box-scaling.js +155 -0
  74. package/build/shared/views/project/bounding-box-scaling.js.map +1 -0
  75. package/cli/linux/webserver/public/assets/mobileclient.css +5 -0
  76. package/cli/linux/webserver/public/inference-server.js +100 -89
  77. package/examples/js/classify-camera.js +1 -3
  78. package/examples/ts/classify-camera.ts +1 -3
  79. package/package.json +2 -1
  80. package/test/gstreamer.test.ts +28 -23
  81. package/examples/ts/classify-custom-from-test.ts +0 -96
@@ -103,97 +103,100 @@ window.InferenceServer = async (opts) => {
103
103
  };
104
104
  reader.readAsDataURL(els.uploadFile.files[0]);
105
105
  });
106
- els.previewSectionImg.src = dataUrl;
107
- const result = body.result;
108
- let factor = 1;
109
- for (let oldEl of els.previewSectionImgContainer.querySelectorAll('.bounding-box-container')) {
110
- oldEl.parentNode.removeChild(oldEl);
111
- }
112
- for (let b of (result.bounding_boxes || [])) {
113
- let bb = {
114
- x: b.x / factor,
115
- y: b.y / factor,
116
- width: b.width / factor,
117
- height: b.height / factor,
118
- label: b.label,
119
- value: b.value
120
- };
121
- if (!labelToColor[bb.label]) {
122
- labelToColor[bb.label] = colors[colorIx++ % colors.length];
106
+ els.previewSectionImg.onload = () => {
107
+ const result = body.result;
108
+ let factor = els.previewSectionImg.naturalHeight / els.previewSectionImg.clientHeight;
109
+ for (let oldEl of els.previewSectionImgContainer.querySelectorAll('.bounding-box-container')) {
110
+ oldEl.parentNode.removeChild(oldEl);
111
+ }
112
+ for (let b of (result.bounding_boxes || [])) {
113
+ let bb = {
114
+ x: b.x / factor,
115
+ y: b.y / factor,
116
+ width: b.width / factor,
117
+ height: b.height / factor,
118
+ label: b.label,
119
+ value: b.value
120
+ };
121
+ if (!labelToColor[bb.label]) {
122
+ labelToColor[bb.label] = colors[colorIx++ % colors.length];
123
+ }
124
+ let color = labelToColor[bb.label];
125
+ let el = document.createElement('div');
126
+ el.classList.add('bounding-box-container');
127
+ el.style.position = 'absolute';
128
+ el.style.border = 'solid 3px ' + color;
129
+ if (modelType === 'object_detection') {
130
+ el.style.width = (bb.width) + 'px';
131
+ el.style.height = (bb.height) + 'px';
132
+ el.style.left = (bb.x) + 'px';
133
+ el.style.top = (bb.y) + 'px';
134
+ }
135
+ else if (modelType === 'constrained_object_detection') {
136
+ let centerX = bb.x + (bb.width / 2);
137
+ let centerY = bb.y + (bb.height / 2);
138
+ el.style.borderRadius = '10px';
139
+ el.style.width = '20px';
140
+ el.style.height = '20px';
141
+ el.style.left = (centerX - 10) + 'px';
142
+ el.style.top = (centerY - 10) + 'px';
143
+ }
144
+ let label = document.createElement('div');
145
+ label.classList.add('bounding-box-label');
146
+ label.style.background = color;
147
+ label.textContent = bb.label + ' (' + bb.value.toFixed(2) + ')';
148
+ el.style.whiteSpace = 'nowrap';
149
+ el.appendChild(label);
150
+ els.previewSectionImgContainer.appendChild(el);
123
151
  }
124
- let color = labelToColor[bb.label];
125
- let el = document.createElement('div');
126
- el.classList.add('bounding-box-container');
127
- el.style.position = 'absolute';
128
- el.style.border = 'solid 3px ' + color;
129
- if (modelType === 'object_detection') {
152
+ for (let b of (result.visual_anomaly_grid || [])) {
153
+ let bb = {
154
+ x: b.x / factor,
155
+ y: b.y / factor,
156
+ width: b.width / factor,
157
+ height: b.height / factor,
158
+ label: b.label,
159
+ value: b.value
160
+ };
161
+ let el = document.createElement('div');
162
+ el.classList.add('bounding-box-container');
163
+ el.style.position = 'absolute';
164
+ el.style.background = 'rgba(255, 0, 0, 0.5)';
130
165
  el.style.width = (bb.width) + 'px';
131
166
  el.style.height = (bb.height) + 'px';
132
167
  el.style.left = (bb.x) + 'px';
133
168
  el.style.top = (bb.y) + 'px';
169
+ let scoreFontSize = '';
170
+ let scoreText = bb.value.toFixed(2);
171
+ if (bb.width < 15) {
172
+ scoreFontSize = '4px';
173
+ scoreText = bb.value.toFixed(1);
174
+ }
175
+ else if (bb.width < 20) {
176
+ scoreFontSize = '6px';
177
+ scoreText = bb.value.toFixed(1);
178
+ }
179
+ else if (bb.width < 32) {
180
+ scoreFontSize = '9px';
181
+ }
182
+ let score = document.createElement('div');
183
+ score.style.color = 'white';
184
+ if (scoreFontSize) {
185
+ score.style.fontSize = scoreFontSize;
186
+ }
187
+ score.textContent = scoreText;
188
+ el.appendChild(score);
189
+ // Center align the score
190
+ el.style.display = 'flex';
191
+ el.style.alignItems = 'center';
192
+ el.style.justifyContent = 'center';
193
+ els.previewSectionImgContainer.appendChild(el);
134
194
  }
135
- else if (modelType === 'constrained_object_detection') {
136
- let centerX = bb.x + (bb.width / 2);
137
- let centerY = bb.y + (bb.height / 2);
138
- el.style.borderRadius = '10px';
139
- el.style.width = '20px';
140
- el.style.height = '20px';
141
- el.style.left = (centerX - 10) + 'px';
142
- el.style.top = (centerY - 10) + 'px';
143
- }
144
- let label = document.createElement('div');
145
- label.classList.add('bounding-box-label');
146
- label.style.background = color;
147
- label.textContent = bb.label + ' (' + bb.value.toFixed(2) + ')';
148
- el.style.whiteSpace = 'nowrap';
149
- el.appendChild(label);
150
- els.previewSectionImgContainer.appendChild(el);
151
- }
152
- for (let b of (result.visual_anomaly_grid || [])) {
153
- let bb = {
154
- x: b.x / factor,
155
- y: b.y / factor,
156
- width: b.width / factor,
157
- height: b.height / factor,
158
- label: b.label,
159
- value: b.value
160
- };
161
- let el = document.createElement('div');
162
- el.classList.add('bounding-box-container');
163
- el.style.position = 'absolute';
164
- el.style.background = 'rgba(255, 0, 0, 0.5)';
165
- el.style.width = (bb.width) + 'px';
166
- el.style.height = (bb.height) + 'px';
167
- el.style.left = (bb.x) + 'px';
168
- el.style.top = (bb.y) + 'px';
169
- let scoreFontSize = '';
170
- let scoreText = bb.value.toFixed(2);
171
- if (bb.width < 15) {
172
- scoreFontSize = '4px';
173
- scoreText = bb.value.toFixed(1);
174
- }
175
- else if (bb.width < 20) {
176
- scoreFontSize = '6px';
177
- scoreText = bb.value.toFixed(1);
178
- }
179
- else if (bb.width < 32) {
180
- scoreFontSize = '9px';
181
- }
182
- let score = document.createElement('div');
183
- score.style.color = 'white';
184
- if (scoreFontSize) {
185
- score.style.fontSize = scoreFontSize;
186
- }
187
- score.textContent = scoreText;
188
- el.appendChild(score);
189
- // Center align the score
190
- el.style.display = 'flex';
191
- el.style.alignItems = 'center';
192
- el.style.justifyContent = 'center';
193
- els.previewSectionImgContainer.appendChild(el);
194
- }
195
+ };
196
+ els.previewSectionImg.src = dataUrl;
195
197
  }
196
198
  else {
199
+ els.previewSectionImg.onload = null;
197
200
  els.previewSection.style.display = 'none';
198
201
  }
199
202
  els.resultSection.style.display = '';
@@ -207,5 +210,11 @@ window.InferenceServer = async (opts) => {
207
210
  els.runInferenceBtn.textContent = origText;
208
211
  }
209
212
  };
213
+ // rerender bounding boxes on resize
214
+ window.onresize = () => {
215
+ if (els.previewSectionImg.onload) {
216
+ els.previewSectionImg.onload();
217
+ }
218
+ };
210
219
  };
211
220
  //# sourceMappingURL=inference-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inference-server.js","sourceRoot":"","sources":["../../../../../cli/linux/webserver/public/inference-server.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inference-server.js","sourceRoot":"","sources":["../../../../../cli/linux/webserver/public/inference-server.js"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { Config } from './config';
4
- import { RunnerClassifyResponseSuccess } from "../library/classifier/linux-impulse-runner";
5
- import { ModelInformation } from '../library/classifier/linux-impulse-runner';
4
+ import { RunnerClassifyResponseSuccess, ModelInformation } from "../library/classifier/linux-impulse-runner-types";
6
5
  import { EventEmitter } from 'tsee';
7
6
  import { MgmtInterfaceImpulseRecordRawData, MgmtInterfaceInferenceSummary } from '../shared/MgmtInterfaceTypes';
8
7
  export declare const DEFAULT_MONITOR_SUMMARY_INTERVAL_MS = 60000;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ModelMonitor = exports.DEFAULT_MONITOR_SUMMARY_INTERVAL_MS = void 0;
7
7
  const promises_1 = __importDefault(require("fs/promises"));
8
8
  const path_1 = __importDefault(require("path"));
9
- const linux_impulse_runner_1 = require("../library/classifier/linux-impulse-runner");
9
+ const linux_impulse_runner_types_1 = require("../library/classifier/linux-impulse-runner-types");
10
10
  const tsee_1 = require("tsee");
11
11
  exports.DEFAULT_MONITOR_SUMMARY_INTERVAL_MS = 60000;
12
12
  const MONITOR_PREFIX = '\x1b[34m[MON]\x1b[0m';
@@ -440,7 +440,7 @@ class MetricsCalculator {
440
440
  this._model = model;
441
441
  this._summaryWindowMs = summaryWindowMs;
442
442
  let threshold;
443
- if (model.modelParameters.has_anomaly === linux_impulse_runner_1.RunnerHelloHasAnomaly.VisualGMM) {
443
+ if (model.modelParameters.has_anomaly === linux_impulse_runner_types_1.RunnerHelloHasAnomaly.VisualGMM) {
444
444
  const thresholdObj = (model.modelParameters.thresholds || []).find(x => x.type === 'anomaly_gmm');
445
445
  if (thresholdObj && thresholdObj.type === 'anomaly_gmm') {
446
446
  threshold = thresholdObj.min_anomaly_score;
@@ -509,7 +509,7 @@ class MetricsCalculator {
509
509
  this._metrics.classificationCounter[index].value++;
510
510
  }
511
511
  };
512
- if (this._model.modelParameters.has_anomaly === linux_impulse_runner_1.RunnerHelloHasAnomaly.VisualGMM &&
512
+ if (this._model.modelParameters.has_anomaly === linux_impulse_runner_types_1.RunnerHelloHasAnomaly.VisualGMM &&
513
513
  record.impulseRecord.result.visual_anomaly_max !== undefined) {
514
514
  const isAnomaly = record.impulseRecord.result.visual_anomaly_max > this._confidenceThreshold;
515
515
  const predictedLabel = isAnomaly ? 'anomaly' : 'no anomaly';
@@ -561,7 +561,7 @@ class MetricsCalculator {
561
561
  this._totalInferenceTime.anomaly += record.impulseRecord.timing.anomaly;
562
562
  }
563
563
  // Only calculate mean visual anomaly score if relevant
564
- if (this._model.modelParameters.has_anomaly === linux_impulse_runner_1.RunnerHelloHasAnomaly.VisualGMM &&
564
+ if (this._model.modelParameters.has_anomaly === linux_impulse_runner_types_1.RunnerHelloHasAnomaly.VisualGMM &&
565
565
  record.impulseRecord.result.visual_anomaly_mean) {
566
566
  this._visualAnomalyMean += record.impulseRecord.result.visual_anomaly_mean;
567
567
  }
@@ -597,7 +597,7 @@ class MetricsCalculator {
597
597
  };
598
598
  }
599
599
  // Only include visual_anomaly_mean if visual anomaly is relevant
600
- if (this._model.modelParameters.has_anomaly === linux_impulse_runner_1.RunnerHelloHasAnomaly.VisualGMM) {
600
+ if (this._model.modelParameters.has_anomaly === linux_impulse_runner_types_1.RunnerHelloHasAnomaly.VisualGMM) {
601
601
  this._metrics.metrics.visual_anomaly_mean = this._visualAnomalyMean / numberOfInferences;
602
602
  }
603
603
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"model-monitor.js","sourceRoot":"","sources":["../../cli-common/model-monitor.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA6B;AAC7B,gDAAwB;AAExB,qFAAkH;AAElH,+BAAoC;AAGvB,QAAA,mCAAmC,GAAG,KAAK,CAAC;AACzD,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAE9C,SAAS,eAAe,CAAC,IAAY;IACjC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,OAAO,kBAAE,CAAC,MAAM,CAAC,IAAI,EAAE,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC;aACpC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACzB,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,SAAS,CAAU,SAAiB,EAAE,KAAwB,EACzE,UAA4C;IAC5C,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEZ,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;YAC3B,MAAM,CAAC,GAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACjC;SACJ;KACJ;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AA4BD,MAAM,cAAc;IAWhB,iFAAiF;IACjF,kEAAkE;IAClE,wFAAwF;IACxF,0FAA0F;IAC1F,wDAAwD;IAExD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,KAAuB;QAChE,IAAI,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,cAAc,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,YAAoB,IAAY,EAAE,KAAuB;QAtBjD,iBAAY,GAAW,EAAE,CAAC;QAC1B,gBAAW,GAAW,EAAE,CAAC;QAGzB,kBAAa,GAAW,CAAC,CAAC;QAC1B,gBAAW,GAAW,MAAM,CAAC,gBAAgB,CAAC;QACtD,0DAA0D;QAClD,yBAAoB,GAAW,IAAI,CAAC;QACpC,yBAAoB,GAAW,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;QACjD,iBAAY,GAAW,CAAC,CAAC;QAc7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,IAAY;QACjD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAErC,wDAAwD;QACxD,IAAI,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnC,4BAA4B;QAC5B,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAErD,wDAAwD;QACxD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3E,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,MAAM,KAAK,GAAG,MAAM,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACnD,IAAI,KAAK,GAAG,OAAO,EAAE;gBACjB,OAAO,GAAG,KAAK,CAAC;aACnB;YACD,IAAI,KAAK,GAAG,MAAM,EAAE;gBAChB,MAAM,GAAG,KAAK,CAAC;aAClB;SACJ;QACD,IAAI,MAAM,KAAK,MAAM,CAAC,gBAAgB,EAAE;YACpC,MAAM,GAAG,CAAC,CAAC;SACd;QAED,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,KAAa;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9D,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;YACvC,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC7C;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,OAAe,IAAI,CAAC,YAAY;QAEzD,MAAM,OAAO,GAAG,KAAK,EAAE,GAAW,EAAE,EAAE;YAClC,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,mEAAmE;YACnE,MAAM,eAAe,GAAsB,KAAK,CAAC,GAAG,CAAE,KAAK,EAAC,IAAI,EAAC,EAAE;gBAC/D,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAE,CAAC;gBAC7C,yEAAyE;gBACzE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAAE,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,IAAI,CAAC,MAAM,EAAE;oBAAE,OAAO,CAAC,MAAM,kBAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzD,0CAA0C;gBAC1C,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YACH,mCAAmC;YACnC,MAAM,QAAQ,GAAG,CAAC,MAAM,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;gBACtE,OAAO,MAAM,QAAQ,CAAC;YAC1B,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEX,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,UAAU;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAEpE,oFAAoF;QACpF,0BAA0B;QAC1B,gFAAgF;QAChF,kCAAkC;QAClC,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QAC/D,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CACjC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,EACpC,cAAc,CAAC,QAAQ,EAAE,EACzB,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,CACtC,CAAC;QAEF,IAAI,kBAAkB,KAAK,mBAAmB,EAAE;YAC5C,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC;YAExC,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC1D;aACI;YACD,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;SAC1C;QAED,0GAA0G;QAC1G,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAClE,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,oBAAoB,GAAG,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,mBAAmB;SAClF;QAED,iCAAiC;QACjC,IAAI,CAAC,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAC3D,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE;YACnD,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SACzD;QAED,+EAA+E;QAC/E,+FAA+F;QAC/F,+EAA+E;QAC/E,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAE1D,oCAAoC;QACpC,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE;YACpD,MAAM,kBAAE,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;SAC1D;aACI;YACD,6DAA6D;YAC7D,kEAAkE;YAClE,IAAI,IAAI,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,6BAA6B;YAC7B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACnD,8DAA8D;YAC9D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,MAAM,GAAG,CAAC,CAAC;YACf,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;gBACnB,mFAAmF;gBACnF,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACpF;iBACI;gBACD,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,IAAI,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBAC5C,uCAAuC;gBACvC,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE;oBACvB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,KAAK,GAAG,cAAc,EAAE;wBACxB,cAAc,GAAG,KAAK,CAAC;qBAC1B;oBACD,IAAI,KAAK,GAAG,aAAa,EAAE;wBACvB,aAAa,GAAG,KAAK,CAAC;qBACzB;iBACJ;gBACD,CAAC,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAChC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAC1D,CAAC,CAAC;gBACnB,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAC/B,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,EAAE,CAAC,CACzD,CAAC,CAAC;aACtB;YACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,OAAO,GAAG,CAAC,CAAC;SACpC;QAED,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IACpD,CAAC;IAED,2EAA2E;IAC3E,+DAA+D;IACvD,KAAK,CAAC,cAAc;QACxB,kCAAkC;QAClC,IAAI,IAAI,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,6BAA6B;QAC7B,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,8DAA8D;QAC9D,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,OAAO;SACV;QACD,0CAA0C;QAC1C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,gCAAgC;QAChC,IAAI,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAEnE,qCAAqC;QACrC,IAAI,iBAAiB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAErE,8CAA8C;QAC9C,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,CAAC;QAEnF,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YACrB,+DAA+D;YAC/D,uCAAuC;YACvC,MAAM,kBAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SACpE;aACI;YACD,MAAM,kBAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SACtC;QAED,yBAAyB;QACzB,IAAI,CAAC,WAAW,GAAG,OAAO,GAAG,CAAC,CAAC;QAC/B,0BAA0B;QAC1B,IAAI,CAAC,YAAY,IAAI,iBAAiB,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhD,OAAO;YACH,UAAU,EAAE,IAAI,CAAC,WAAW;YAC5B,cAAc,EAAE,cAAc;YAC9B,SAAS,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC;YACjC,aAAa,EAAE,aAAa;SAC/B,CAAC;IACN,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,QAAgB;QAC3D,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,OAAO,CAAC,CAAC;QACpE,MAAM,kBAAE,CAAC,SAAS,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC3B,IAAI;YACA,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YAClE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC3B,OAAO,SAAS,CAAC;aACpB;YAED,2EAA2E;YAC3E,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/D,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,2BAA2B;YACvD,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,MAAM,kBAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;SAC9E;QACD,OAAO,KAAK,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED,iFAAiF;IACjF,qFAAqF;IACrF,KAAK,CAAC,UAAU,CAAC,MAAqB;QAClC,IAAI,UAAU,GAAW,CAAC,CAAC;QAC3B,IAAI,WAAW,GAAW,CAAC,CAAC;QAE5B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEzD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;QAEzG,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;YAC/B,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;YACrG,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC/D,MAAM,kBAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACjC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC;SACzC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAClD,MAAM,kBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE;YAC/C,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,0DAA0D,CAAC,CAAC;YACxF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;SAC/B;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QACzB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;QAE3F,IAAI,MAAM,eAAe,CAAC,UAAU,CAAC,KAAK,KAAK,EAAE;YAC7C,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,MAAM,GAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,kBAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/E,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;YAC/B,IAAI,OAAe,CAAC;YACpB,IAAI,MAAM,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,KAAK,EAAE;gBAC9D,mDAAmD;gBACnD,qDAAqD;gBACrD,IAAI;oBACA,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;iBAChE;gBACD,OAAO,EAAE,EAAE;oBACP,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,2DAA2D,CAAC,CAAC;iBAC/F;aACJ;YACD,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACzD,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC5D;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAeD,MAAM,cAAc;IAKhB,YAAY,IAEX;QALO,UAAK,GAAW,MAAM,CAAC;QAM3B,IAAI,CAAC,KAAK,GAAG,EAAG,CAAC;QACjB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC;IACzD,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,cAAuD;QAC1D,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,OAAO;SACV;QAED,uEAAuE;QACvE,uEAAuE;QACvE,8EAA8E;QAC9E,gFAAgF;QAChF,kFAAkF;QAClF,oFAAoF;QACpF,0BAA0B;QAC1B,IAAI,cAAkC,CAAC;QACvC,IAAI,cAAc,GAAW,CAAC,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,cAAc,IAAI,KAAK,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC9D,cAAc,GAAG,KAAK,CAAC;gBACvB,cAAc,GAAG,KAAK,CAAC;aAC1B;SACJ;QAED,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,IAAI;gBACA,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;aAC5E;YACD,OAAO,EAAE,EAAE;gBACP,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;aAC1F;SACJ;IACL,CAAC;IAED,cAAc,CAAC,KAAa;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;YACjC,OAAO,CAAC,CAAC;SACZ;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED,SAAS;QACL,IAAI,GAAG,GAAuC,EAAE,CAAC;QAEjD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;gBACnC,SAAS;aACZ;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;SACtF;QACD,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAUD,MAAM,gBAAgB;IAKlB,YAAY,IAEX;QALO,UAAK,GAAW,mBAAmB,CAAC;QAMxC,IAAI,CAAC,OAAO,GAAG,EAAG,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC;IACzD,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,sCAAsC;IACtC,+FAA+F;IAC/F,MAAM,CAAC,cAAuD;QAC1D,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,OAAO;SACV;QAED,wEAAwE;QACxE,uEAAuE;QACvE,wDAAwD;QACxD,IAAI,cAAkC,CAAC;QACvC,IAAI,cAAc,GAAW,CAAC,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;YAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,IAAI,KAAK,GAAG,cAAc,IAAI,KAAK,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC9D,cAAc,GAAG,KAAK,CAAC;gBACvB,cAAc,GAAG,KAAK,CAAC;aAC1B;SACJ;QAED,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,IAAI;gBACA,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;gBACjD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;gBAExC,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;gBACpD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;gBAEhF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC;gBACrD,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC;aACrD;YACD,OAAO,EAAE,EAAE;gBACP,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;aACpG;SACJ;IACL,CAAC;IAED,gBAAgB,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;YACnC,OAAO,CAAC,CAAC;SACZ;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS;QACL,MAAM,GAAG,GAAuC,EAAE,CAAC;QAEnD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5E,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;SAC1C;QAED,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAMD,MAAM,iBAAiB;IAqBnB,wFAAwF;IACxF,gEAAgE;IAChE,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAC3B,MAAc,EACd,OAAuB,EACvB,KAAuB;QAEvB,+EAA+E;QAC/E,IAAI,eAAe,GAAG,MAAM,MAAM,CAAC,2BAA2B,EAAE,CAAC;QACjE,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC,EAAE;YACpE,eAAe,GAAG,2CAAmC,CAAC;SACzD;QACD,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;QAEvE,4DAA4D;QAC5D,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;QAE/B,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,wFAAwF;IACxF,YAAoB,OAAuB,EAAE,KAAuB,EAAE,eAAuB;QAjC7F,4DAA4D;QACpD,sBAAiB,GAAW,CAAC,CAAC;QAC9B,0BAAqB,GAAW,CAAC,CAAC;QAElC,wBAAmB,GAAG;YAC1B,GAAG,EAAE,CAAC;YACN,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;SACb,CAAC;QAEM,uBAAkB,GAAW,CAAC,CAAC;QAwBnC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QAExC,IAAI,SAA6B,CAAC;QAClC,IAAI,KAAK,CAAC,eAAe,CAAC,WAAW,KAAK,4CAAqB,CAAC,SAAS,EAAE;YACvE,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;YAClG,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,aAAa,EAAE;gBACrD,SAAS,GAAG,YAAY,CAAC,iBAAiB,CAAC;aAC9C;SACJ;aACI,IAAI,KAAK,CAAC,eAAe,CAAC,UAAU,KAAK,8BAA8B;YACnE,KAAK,CAAC,eAAe,CAAC,UAAU,KAAK,kBAAkB,EAC9D;YACE,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC;YACvG,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,KAAK,kBAAkB,EAAE;gBAC1D,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;aACtC;SACJ;QAED,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,4DAA4D,CAAC,CAAC;YAC3F,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC;SACnC;aACI;YACD,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACzC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAElG,uDAAuD;QACvD,IAAI,CAAC,QAAQ,GAAG;YACZ,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;YACjC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE;YAC/B,qBAAqB,EAAE,EAAE;YACzB,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE,EAAE;YACrB,OAAO,EAAE,EAAE;SACd,CAAC;IACN,CAAC;IAEO,YAAY;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC9F,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,EAAE,mBAAmB,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAElG,IAAI,CAAC,QAAQ,GAAG;YACZ,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE;YAC/E,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,CAAC,qBAAqB,EAAE;YAC7E,qBAAqB,EAAE,EAAE;YACzB,IAAI,EAAE,EAAE;YACR,iBAAiB,EAAE,EAAE;YACrB,OAAO,EAAE,EAAE;SACd,CAAC;QAEF,IAAI,CAAC,mBAAmB,GAAG;YACvB,GAAG,EAAE,CAAC;YACN,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;SACb,CAAC;QAEF,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAqB;QACrC,6DAA6D;QAC7D,IAAI,IAAI,CAAC,qBAAqB,KAAK,CAAC,EAAE;YAClC,6CAA6C;YAC7C,mCAAmC;YACnC,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC;YACtC,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,SAAS,CAAC;YAE9C,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;QAED,MAAM,8BAA8B,GAAG,CAAC,GAAW,EAAE,EAAE;YACnD,0CAA0C;YAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC;YAChG,IAAI,KAAK,GAAG,CAAC,EAAE;gBACX,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;aACtE;iBACI;gBACD,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;aACtD;QACL,CAAC,CAAC;QAEF,IACI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,KAAK,4CAAqB,CAAC,SAAS;YAC3E,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,kBAAkB,KAAK,SAAS,EAC9D;YACE,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC7F,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;YAC5D,8BAA8B,CAAC,cAAc,CAAC,CAAC;YAE/C,MAAM,eAAe,GAAG,EAAE,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YAC7F,uCAAuC;YACvC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;SAClD;QACD,yEAAyE;aACpE,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE;YAC/D,iEAAiE;YACjE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE;gBAC1D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACjE,SAAS;iBACZ;gBAED,oCAAoC;gBACpC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE;oBACrF,8BAA8B,CAAC,GAAG,CAAC,CAAC;iBACvC;aACJ;YAED,uCAAuC;YACvC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;SAC7E;aACI,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,KAAK,SAAS,EAAE;YAC/D,sCAAsC;YACtC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,EAAE;gBAC1D,oCAAoC;gBACpC,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE;oBACvC,8BAA8B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBAC7C;aACJ;YAED,sEAAsE;YACtE,wGAAwG;YACxG,2EAA2E;YAC3E,MAAM,kBAAkB,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;gBACnG,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBACnB,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,EAA6B,CAAC,CAAC;YAElC,uCAAuC;YACvC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;SACrD;QAED,qEAAqE;QACrE,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE;YAC7B,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;YAChE,IAAI,CAAC,mBAAmB,CAAC,cAAc,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC;YACtF,IAAI,CAAC,mBAAmB,CAAC,OAAO,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC;SAC3E;QAED,uDAAuD;QACvD,IACI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,KAAK,4CAAqB,CAAC,SAAS;YAC3E,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,mBAAmB,EACjD;YACE,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC;SAC9E;QAED,0BAA0B;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;QAEzE,uCAAuC;QACvC,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC1E,gCAAgC;YAChC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACzB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;YAE/B,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,UAAU;QACN,yBAAyB;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAErE,0BAA0B;QAC1B,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAEnF,oFAAoF;QACpF,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,GAAG;gBACvC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,GAAG,kBAAkB;gBACtD,cAAc,EAAE,IAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,kBAAkB;gBAC5E,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,GAAG,kBAAkB;aACjE,CAAC;SACL;aACI;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,GAAG;gBACvC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,GAAG,kBAAkB;gBACtD,cAAc,EAAE,IAAI,CAAC,mBAAmB,CAAC,cAAc,GAAG,kBAAkB;aAC/E,CAAC;SACL;QAED,iEAAiE;QACjE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,KAAK,4CAAqB,CAAC,SAAS,EAAE;YAC7E,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;SAC5F;aACI;YACD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC;SACpD;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,KAAK,GAA0B;YACjC,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;SAC7B,CAAC;QAEF,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAC3C,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAC9B,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAC5D,CAAC;IACN,CAAC;IAED,yCAAyC;IACjC,KAAK,CAAC,cAAc;QACxB,2CAA2C;QAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,yBAAyB,EAAE,CAAC;QACrE,IAAI,KAAK,EAAE;YACP,8CAA8C;YAC9C,MAAM,IAAI,GAA0B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;SAChC;IACL,CAAC;CACJ;AAED;;GAEG;AACH,MAAa,YAAa,SAAQ,mBAIhC;IAME,YAAoB,OAAe;QAC/B,KAAK,EAAE,CAAC;QAJJ,iBAAY,GAAyC,MAAM,CAAC;QAC5D,qBAAgB,GAAyC,MAAM,CAAC;IAIxE,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAc,EAAE,KAAuB;QAChE,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAEzC,OAAO,CAAC,eAAe,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChF,OAAO,CAAC,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAEhH,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,YAAY;QACd,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;YAE5C,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC;SACxE;IACL,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC;IACzC,CAAC;IAED;;;;;;OAMG;IACH,IAAI,YAAY,CAAC,OAAgB;QAC7B,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,IAAI,OAAO,KAAK,IAAI,EAAE;YAC7D,iCAAiC;YACjC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mEAAmE,GAAG,OAAO,CAAC,CAAC;YAC3G,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,oCAAoC,CAAC,CAAC;SACrE;QACD,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;SAClC;aACI;YACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC3B,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;SAClC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,CAAC;SACxD;QACD,OAAO;YACH,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,CAAC;SACnB,CAAC;IACN,CAAC;IAED,0BAA0B;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1C,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;;OAQG;IACH,iBAAiB,CAAC,cAIjB;QACG,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE;YAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,mDAAmD,CAAC,CAAC;SACpF;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,iBAAiB,CAAC;QAEtC,IAAI,OAAO,cAAc,CAAC,KAAK,KAAK,QAAQ,EAAE;YAC1C,KAAK,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC;iBACrD,IAAI,CAAC,MAAM,CAAC,EAAE;gBACX,IAAI,MAAM,EAAE;oBACR,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;iBACjD;qBACI;oBACD,qCAAqC;oBACrC,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS,EAAE;wBACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;qBACzC;oBACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;wBAClC,KAAK,EAAE,cAAc,CAAC,KAAK;wBAC3B,KAAK,EAAE,kBAAkB;qBAC5B,CAAC,CAAC;iBACN;YACL,CAAC,CAAC,CAAC;SACV;aACI,IAAI,cAAc,CAAC,KAAK,EAAE;YAC3B,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE;gBACxD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,sCAAsC,EAAE,CAAC,CAAC;gBAC5H,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAClC,OAAO;aACV;YACD,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBAC1E,KAAK,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;qBAClC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACX,IAAI,MAAM,EAAE;wBACR,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;qBACjD;yBACI;wBACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;qBAClF;gBACL,CAAC,CAAC,CAAC;gBACP,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,EAAE;oBACzC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,oDAAoD,CAAC,CAAC;oBAClF,MAAM;iBACT;aACJ;SACJ;aACI,IAAI,cAAc,CAAC,IAAI,EAAE;YAC1B,8CAA8C;YAC9C,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1C,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,IAAI,EAAE;gBACrC,KAAK,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,KAAK,CAAC;qBACtC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACX,IAAI,MAAM,EAAE;wBACR,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;qBACjD;yBACI;wBACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;qBACtF;gBACL,CAAC,CAAC,CAAC;gBACP,IAAI,IAAI,CAAC,YAAY,KAAK,iBAAiB,EAAE;oBACzC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,oDAAoD,CAAC,CAAC;oBAClF,MAAM;iBACT;aACJ;SACJ;aACI;YACD,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC9C;QAED,6BAA6B;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAqC,EAAE,OAG1D;QACG,IAAI,MAAM,GAAkB;YACxB,aAAa,EAAE,MAAM;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,KAAK,EAAE,CAAC,CAAC;YACT,OAAO,EAAE;gBACL,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;aAClD;SACJ,CAAC;QAEF,KAAK,IAAI,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAE9C,IAAI,IAAI,CAAC,kBAAkB,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAChF,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,CAAC,CAAC;SACxE;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;SACvC;IACL,CAAC;CACJ;AAhMD,oCAgMC"}
1
+ {"version":3,"file":"model-monitor.js","sourceRoot":"","sources":["../../cli-common/model-monitor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import TypedEmitter from "typed-emitter";
4
4
  import { MgmtInterfaceSampleRequestSample, MgmtInterfaceInferenceInfo, ClientConnectionType } from "../shared/MgmtInterfaceTypes";
5
5
  import { IWebsocket } from "../shared/daemon/iwebsocket";
6
6
  import { ImpulseRecord, ImpulseRecordError, InferenceMetrics, ModelMonitor } from './model-monitor';
7
- import { ModelInformation } from "../library/classifier/linux-impulse-runner";
7
+ import { ModelInformation } from "../library/classifier/linux-impulse-runner-types";
8
8
  export type RemoteMgmtDeviceSampleEmitter = TypedEmitter<{
9
9
  started: () => void;
10
10
  uploading: () => void;
@@ -0,0 +1 @@
1
+ export declare function asyncPool<IN, OUT>(poolLimit: number, array: readonly IN[], iteratorFn: (generator: IN) => Promise<OUT>): Promise<OUT[]>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.asyncPool = void 0;
4
+ async function asyncPool(poolLimit, array, iteratorFn) {
5
+ const ret = [];
6
+ const executing = [];
7
+ for (const item of array) {
8
+ const p = Promise.resolve().then(() => iteratorFn(item));
9
+ ret.push(p);
10
+ if (poolLimit <= array.length) {
11
+ const e = p.then(() => executing.splice(executing.indexOf(e), 1));
12
+ executing.push(e);
13
+ if (executing.length >= poolLimit) {
14
+ await Promise.race(executing);
15
+ }
16
+ }
17
+ }
18
+ return Promise.all(ret);
19
+ }
20
+ exports.asyncPool = asyncPool;
21
+ //# sourceMappingURL=async-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"async-pool.js","sourceRoot":"","sources":["../../library/async-pool.ts"],"names":[],"mappings":";;;AAAO,KAAK,UAAU,SAAS,CAAU,SAAiB,EAAE,KAAoB,EACvC,UAA4C;IACjF,MAAM,GAAG,GAAG,EAAE,CAAC;IACf,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,MAAM,CAAC,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEZ,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE;YAC3B,MAAM,CAAC,GAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,EAAE;gBAC/B,MAAM,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACjC;SACJ;KACJ;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAjBD,8BAiBC"}
@@ -1,11 +1,21 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
3
  import { EventEmitter } from "tsee";
4
- import { LinuxImpulseRunner, ModelInformation, RunnerClassifyResponseSuccess } from "./linux-impulse-runner";
4
+ import { LinuxImpulseRunner, ModelInformation, RunnerClassifyResponseSuccess, RunnerHelloResponseModelParameters } from "./linux-impulse-runner";
5
5
  import sharp from 'sharp';
6
6
  import { ICamera } from "../sensors/icamera";
7
+ import * as models from "../../sdk/studio/sdk/model/models";
8
+ export declare const FitMethodStudioMap: Record<Exclude<RunnerHelloResponseModelParameters["image_resize_mode"], undefined>, models.ImageInputResizeMode>;
7
9
  export declare class ImageClassifier extends EventEmitter<{
8
10
  result: (result: RunnerClassifyResponseSuccess, timeMs: number, imgAsJpeg: Buffer) => void;
11
+ profileSnapshotHandlerBegin: (filename: string) => void;
12
+ profileSnapshotHandlerEnd: (filename: string) => void;
13
+ profileFeaturesBegin: (filename: string) => void;
14
+ profileFeaturesEnd: (filename: string) => void;
15
+ profileClassifyBegin: (filename: string) => void;
16
+ profileClassifyEnd: (filename: string, timingCpp: RunnerClassifyResponseSuccess['timing']) => void;
17
+ profileEmitResultBegin: (filename: string) => void;
18
+ profileEmitResultEnd: (filename: string) => void;
9
19
  }> {
10
20
  private _runner;
11
21
  private _camera;
@@ -32,7 +42,7 @@ export declare class ImageClassifier extends EventEmitter<{
32
42
  */
33
43
  stop(): Promise<void>;
34
44
  getRunner(): LinuxImpulseRunner;
35
- static resizeImage(model: ModelInformation, data: Buffer): Promise<{
45
+ static resizeImage(model: ModelInformation, data: Buffer, metadata?: sharp.Metadata): Promise<{
36
46
  img: sharp.Sharp;
37
47
  features: number[];
38
48
  originalWidth: number;
@@ -3,17 +3,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ImageClassifier = void 0;
6
+ exports.ImageClassifier = exports.FitMethodStudioMap = void 0;
7
7
  const tsee_1 = require("tsee");
8
8
  const sharp_1 = __importDefault(require("sharp"));
9
9
  const PREFIX = '\x1b[35m[IMG]\x1b[0m';
10
- // Map studio
10
+ // Map Sharp
11
11
  const FitMethodMap = {
12
12
  'none': 'contain',
13
13
  'fit-shortest': 'cover',
14
14
  'fit-longest': 'contain',
15
15
  'squash': 'fill'
16
16
  };
17
+ // Map Studio
18
+ exports.FitMethodStudioMap = {
19
+ 'none': 'crop',
20
+ 'fit-shortest': 'fit-short',
21
+ 'fit-longest': 'fit-long',
22
+ 'squash': 'squash',
23
+ };
17
24
  class ImageClassifier extends tsee_1.EventEmitter {
18
25
  /**
19
26
  * Classifies realtime image data from a camera
@@ -39,7 +46,7 @@ class ImageClassifier extends tsee_1.EventEmitter {
39
46
  }
40
47
  this._stopped = false;
41
48
  let frameQueue = [];
42
- this._camera.on('snapshot', async (data, filename) => {
49
+ this._camera.on('snapshotForInference', async (data, filename) => {
43
50
  try {
44
51
  let model = this._model;
45
52
  if (this._stopped) {
@@ -47,8 +54,10 @@ class ImageClassifier extends tsee_1.EventEmitter {
47
54
  }
48
55
  // are we looking at video? Then we always add to the frameQueue
49
56
  if (model.modelParameters.image_input_frames > 1) {
57
+ this.emit('profileFeaturesBegin', filename);
50
58
  let resized = await ImageClassifier.resizeImage(model, data);
51
59
  frameQueue.push(resized);
60
+ this.emit('profileFeaturesEnd', filename);
52
61
  }
53
62
  // still running inferencing?
54
63
  if (this._runningInference) {
@@ -59,15 +68,20 @@ class ImageClassifier extends tsee_1.EventEmitter {
59
68
  frameQueue.length < model.modelParameters.image_input_frames) {
60
69
  return;
61
70
  }
71
+ this.emit('profileSnapshotHandlerBegin', filename);
62
72
  this._runningInference = true;
63
73
  try {
74
+ let imgSharpMetadata;
64
75
  // if we have single frame then resize now
65
76
  if (model.modelParameters.image_input_frames > 1) {
66
77
  frameQueue = frameQueue.slice(frameQueue.length - model.modelParameters.image_input_frames);
67
78
  }
68
79
  else {
69
- let resized = await ImageClassifier.resizeImage(model, data);
80
+ this.emit('profileFeaturesBegin', filename);
81
+ imgSharpMetadata = await (0, sharp_1.default)(data).metadata();
82
+ let resized = await ImageClassifier.resizeImage(model, data, imgSharpMetadata);
70
83
  frameQueue = [resized];
84
+ this.emit('profileFeaturesEnd', filename);
71
85
  }
72
86
  let img = frameQueue[frameQueue.length - 1].img;
73
87
  // slice the frame queue
@@ -80,13 +94,29 @@ class ImageClassifier extends tsee_1.EventEmitter {
80
94
  if (this._stopped) {
81
95
  return;
82
96
  }
97
+ this.emit('profileClassifyBegin', filename);
83
98
  let classifyRes = await this._runner.classify(values);
84
99
  let timingMs = classifyRes.timing.dsp + classifyRes.timing.classification +
85
100
  classifyRes.timing.anomaly;
86
101
  if (timingMs === 0) {
87
102
  timingMs = 1;
88
103
  }
89
- this.emit('result', classifyRes, timingMs, await img.jpeg({ quality: 90 }).toBuffer());
104
+ this.emit('profileClassifyEnd', filename, classifyRes.timing);
105
+ this.emit('profileEmitResultBegin', filename);
106
+ if (model.modelParameters.image_input_frames === 1 &&
107
+ imgSharpMetadata &&
108
+ imgSharpMetadata.width === model.modelParameters.image_input_width &&
109
+ imgSharpMetadata.height === model.modelParameters.image_input_height &&
110
+ model.modelParameters.image_channel_count === 3 &&
111
+ filename.toLowerCase().endsWith('.jpg')) {
112
+ // data is already a JPG file in the right encoding, no need to re-encode
113
+ this.emit('result', classifyRes, timingMs, data);
114
+ }
115
+ else {
116
+ // data might have changed (e.g. w/h/channel), re-encode the new buffer
117
+ this.emit('result', classifyRes, timingMs, await img.jpeg({ quality: 90 }).toBuffer());
118
+ }
119
+ this.emit('profileEmitResultEnd', filename);
90
120
  }
91
121
  finally {
92
122
  this._runningInference = false;
@@ -124,8 +154,8 @@ class ImageClassifier extends tsee_1.EventEmitter {
124
154
  getRunner() {
125
155
  return this._runner;
126
156
  }
127
- static async resizeImage(model, data) {
128
- const metadata = await (0, sharp_1.default)(data).metadata();
157
+ static async resizeImage(model, data, metadata) {
158
+ metadata = metadata || await (0, sharp_1.default)(data).metadata();
129
159
  if (!metadata.width) {
130
160
  throw new Error('ImageClassifier.resize: cannot determine width of image');
131
161
  }