@elizaos/core 1.5.8-alpha.7 → 1.5.8-alpha.9

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.
@@ -11213,7 +11213,7 @@ var require_src = __commonJS((exports) => {
11213
11213
  };
11214
11214
  });
11215
11215
 
11216
- // ../../node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.js
11216
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.js
11217
11217
  var require_suppress_tracing = __commonJS((exports) => {
11218
11218
  Object.defineProperty(exports, "__esModule", { value: true });
11219
11219
  exports.isTracingSuppressed = exports.unsuppressTracing = exports.suppressTracing = undefined;
@@ -11233,7 +11233,7 @@ var require_suppress_tracing = __commonJS((exports) => {
11233
11233
  exports.isTracingSuppressed = isTracingSuppressed;
11234
11234
  });
11235
11235
 
11236
- // ../../node_modules/@opentelemetry/core/build/src/baggage/constants.js
11236
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/baggage/constants.js
11237
11237
  var require_constants2 = __commonJS((exports) => {
11238
11238
  Object.defineProperty(exports, "__esModule", { value: true });
11239
11239
  exports.BAGGAGE_MAX_TOTAL_LENGTH = exports.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS = exports.BAGGAGE_MAX_NAME_VALUE_PAIRS = exports.BAGGAGE_HEADER = exports.BAGGAGE_ITEMS_SEPARATOR = exports.BAGGAGE_PROPERTIES_SEPARATOR = exports.BAGGAGE_KEY_PAIR_SEPARATOR = undefined;
@@ -11246,7 +11246,7 @@ var require_constants2 = __commonJS((exports) => {
11246
11246
  exports.BAGGAGE_MAX_TOTAL_LENGTH = 8192;
11247
11247
  });
11248
11248
 
11249
- // ../../node_modules/@opentelemetry/core/build/src/baggage/utils.js
11249
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/baggage/utils.js
11250
11250
  var require_utils4 = __commonJS((exports) => {
11251
11251
  Object.defineProperty(exports, "__esModule", { value: true });
11252
11252
  exports.parseKeyPairsIntoRecord = exports.parsePairKeyValue = exports.getKeyPairs = exports.serializeKeyPairs = undefined;
@@ -11303,7 +11303,7 @@ var require_utils4 = __commonJS((exports) => {
11303
11303
  exports.parseKeyPairsIntoRecord = parseKeyPairsIntoRecord;
11304
11304
  });
11305
11305
 
11306
- // ../../node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js
11306
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js
11307
11307
  var require_W3CBaggagePropagator = __commonJS((exports) => {
11308
11308
  Object.defineProperty(exports, "__esModule", { value: true });
11309
11309
  exports.W3CBaggagePropagator = undefined;
@@ -11357,7 +11357,7 @@ var require_W3CBaggagePropagator = __commonJS((exports) => {
11357
11357
  exports.W3CBaggagePropagator = W3CBaggagePropagator;
11358
11358
  });
11359
11359
 
11360
- // ../../node_modules/@opentelemetry/core/build/src/common/anchored-clock.js
11360
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/common/anchored-clock.js
11361
11361
  var require_anchored_clock = __commonJS((exports) => {
11362
11362
  Object.defineProperty(exports, "__esModule", { value: true });
11363
11363
  exports.AnchoredClock = undefined;
@@ -11379,7 +11379,7 @@ var require_anchored_clock = __commonJS((exports) => {
11379
11379
  exports.AnchoredClock = AnchoredClock;
11380
11380
  });
11381
11381
 
11382
- // ../../node_modules/@opentelemetry/core/build/src/common/attributes.js
11382
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/common/attributes.js
11383
11383
  var require_attributes = __commonJS((exports) => {
11384
11384
  Object.defineProperty(exports, "__esModule", { value: true });
11385
11385
  exports.isAttributeValue = exports.isAttributeKey = exports.sanitizeAttributes = undefined;
@@ -11451,7 +11451,7 @@ var require_attributes = __commonJS((exports) => {
11451
11451
  }
11452
11452
  });
11453
11453
 
11454
- // ../../node_modules/@opentelemetry/core/build/src/common/logging-error-handler.js
11454
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/common/logging-error-handler.js
11455
11455
  var require_logging_error_handler = __commonJS((exports) => {
11456
11456
  Object.defineProperty(exports, "__esModule", { value: true });
11457
11457
  exports.loggingErrorHandler = undefined;
@@ -11487,7 +11487,7 @@ var require_logging_error_handler = __commonJS((exports) => {
11487
11487
  }
11488
11488
  });
11489
11489
 
11490
- // ../../node_modules/@opentelemetry/core/build/src/common/global-error-handler.js
11490
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/common/global-error-handler.js
11491
11491
  var require_global_error_handler = __commonJS((exports) => {
11492
11492
  Object.defineProperty(exports, "__esModule", { value: true });
11493
11493
  exports.globalErrorHandler = exports.setGlobalErrorHandler = undefined;
@@ -11505,7 +11505,7 @@ var require_global_error_handler = __commonJS((exports) => {
11505
11505
  exports.globalErrorHandler = globalErrorHandler;
11506
11506
  });
11507
11507
 
11508
- // ../../node_modules/@opentelemetry/core/build/src/platform/node/environment.js
11508
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/platform/node/environment.js
11509
11509
  var require_environment = __commonJS((exports) => {
11510
11510
  Object.defineProperty(exports, "__esModule", { value: true });
11511
11511
  exports.getStringListFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = exports.getNumberFromEnv = undefined;
@@ -11553,14 +11553,14 @@ var require_environment = __commonJS((exports) => {
11553
11553
  exports.getStringListFromEnv = getStringListFromEnv;
11554
11554
  });
11555
11555
 
11556
- // ../../node_modules/@opentelemetry/core/build/src/platform/node/globalThis.js
11556
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/platform/node/globalThis.js
11557
11557
  var require_globalThis2 = __commonJS((exports) => {
11558
11558
  Object.defineProperty(exports, "__esModule", { value: true });
11559
11559
  exports._globalThis = undefined;
11560
11560
  exports._globalThis = typeof globalThis === "object" ? globalThis : global;
11561
11561
  });
11562
11562
 
11563
- // ../../node_modules/@opentelemetry/core/build/src/platform/node/performance.js
11563
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/platform/node/performance.js
11564
11564
  var require_performance = __commonJS((exports) => {
11565
11565
  Object.defineProperty(exports, "__esModule", { value: true });
11566
11566
  exports.otperformance = undefined;
@@ -11568,7 +11568,7 @@ var require_performance = __commonJS((exports) => {
11568
11568
  exports.otperformance = perf_hooks_1.performance;
11569
11569
  });
11570
11570
 
11571
- // ../../node_modules/@opentelemetry/core/build/src/version.js
11571
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/version.js
11572
11572
  var require_version4 = __commonJS((exports) => {
11573
11573
  Object.defineProperty(exports, "__esModule", { value: true });
11574
11574
  exports.VERSION = undefined;
@@ -13121,14 +13121,14 @@ var require_src2 = __commonJS((exports) => {
13121
13121
  __exportStar(require_stable_events(), exports);
13122
13122
  });
13123
13123
 
13124
- // ../../node_modules/@opentelemetry/core/build/src/semconv.js
13124
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/semconv.js
13125
13125
  var require_semconv = __commonJS((exports) => {
13126
13126
  Object.defineProperty(exports, "__esModule", { value: true });
13127
13127
  exports.ATTR_PROCESS_RUNTIME_NAME = undefined;
13128
13128
  exports.ATTR_PROCESS_RUNTIME_NAME = "process.runtime.name";
13129
13129
  });
13130
13130
 
13131
- // ../../node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.js
13131
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.js
13132
13132
  var require_sdk_info = __commonJS((exports) => {
13133
13133
  Object.defineProperty(exports, "__esModule", { value: true });
13134
13134
  exports.SDK_INFO = undefined;
@@ -13143,7 +13143,7 @@ var require_sdk_info = __commonJS((exports) => {
13143
13143
  };
13144
13144
  });
13145
13145
 
13146
- // ../../node_modules/@opentelemetry/core/build/src/platform/node/timer-util.js
13146
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/platform/node/timer-util.js
13147
13147
  var require_timer_util = __commonJS((exports) => {
13148
13148
  Object.defineProperty(exports, "__esModule", { value: true });
13149
13149
  exports.unrefTimer = undefined;
@@ -13153,7 +13153,7 @@ var require_timer_util = __commonJS((exports) => {
13153
13153
  exports.unrefTimer = unrefTimer;
13154
13154
  });
13155
13155
 
13156
- // ../../node_modules/@opentelemetry/core/build/src/platform/node/index.js
13156
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/platform/node/index.js
13157
13157
  var require_node2 = __commonJS((exports) => {
13158
13158
  Object.defineProperty(exports, "__esModule", { value: true });
13159
13159
  exports.unrefTimer = exports.SDK_INFO = exports.otperformance = exports._globalThis = exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = undefined;
@@ -13188,7 +13188,7 @@ var require_node2 = __commonJS((exports) => {
13188
13188
  } });
13189
13189
  });
13190
13190
 
13191
- // ../../node_modules/@opentelemetry/core/build/src/platform/index.js
13191
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/platform/index.js
13192
13192
  var require_platform2 = __commonJS((exports) => {
13193
13193
  Object.defineProperty(exports, "__esModule", { value: true });
13194
13194
  exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getStringFromEnv = exports.getBooleanFromEnv = exports.unrefTimer = exports.otperformance = exports._globalThis = exports.SDK_INFO = undefined;
@@ -13219,7 +13219,7 @@ var require_platform2 = __commonJS((exports) => {
13219
13219
  } });
13220
13220
  });
13221
13221
 
13222
- // ../../node_modules/@opentelemetry/core/build/src/common/time.js
13222
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/common/time.js
13223
13223
  var require_time = __commonJS((exports) => {
13224
13224
  Object.defineProperty(exports, "__esModule", { value: true });
13225
13225
  exports.addHrTimes = exports.isTimeInput = exports.isTimeInputHrTime = exports.hrTimeToMicroseconds = exports.hrTimeToMilliseconds = exports.hrTimeToNanoseconds = exports.hrTimeToTimeStamp = exports.hrTimeDuration = exports.timeInputToHrTime = exports.hrTime = exports.getTimeOrigin = exports.millisToHrTime = undefined;
@@ -13315,7 +13315,7 @@ var require_time = __commonJS((exports) => {
13315
13315
  exports.addHrTimes = addHrTimes;
13316
13316
  });
13317
13317
 
13318
- // ../../node_modules/@opentelemetry/core/build/src/ExportResult.js
13318
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/ExportResult.js
13319
13319
  var require_ExportResult = __commonJS((exports) => {
13320
13320
  Object.defineProperty(exports, "__esModule", { value: true });
13321
13321
  exports.ExportResultCode = undefined;
@@ -13326,7 +13326,7 @@ var require_ExportResult = __commonJS((exports) => {
13326
13326
  })(ExportResultCode = exports.ExportResultCode || (exports.ExportResultCode = {}));
13327
13327
  });
13328
13328
 
13329
- // ../../node_modules/@opentelemetry/core/build/src/propagation/composite.js
13329
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/propagation/composite.js
13330
13330
  var require_composite = __commonJS((exports) => {
13331
13331
  Object.defineProperty(exports, "__esModule", { value: true });
13332
13332
  exports.CompositePropagator = undefined;
@@ -13365,7 +13365,7 @@ var require_composite = __commonJS((exports) => {
13365
13365
  exports.CompositePropagator = CompositePropagator;
13366
13366
  });
13367
13367
 
13368
- // ../../node_modules/@opentelemetry/core/build/src/internal/validators.js
13368
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/internal/validators.js
13369
13369
  var require_validators = __commonJS((exports) => {
13370
13370
  Object.defineProperty(exports, "__esModule", { value: true });
13371
13371
  exports.validateValue = exports.validateKey = undefined;
@@ -13385,7 +13385,7 @@ var require_validators = __commonJS((exports) => {
13385
13385
  exports.validateValue = validateValue;
13386
13386
  });
13387
13387
 
13388
- // ../../node_modules/@opentelemetry/core/build/src/trace/TraceState.js
13388
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/trace/TraceState.js
13389
13389
  var require_TraceState = __commonJS((exports) => {
13390
13390
  Object.defineProperty(exports, "__esModule", { value: true });
13391
13391
  exports.TraceState = undefined;
@@ -13454,7 +13454,7 @@ var require_TraceState = __commonJS((exports) => {
13454
13454
  exports.TraceState = TraceState;
13455
13455
  });
13456
13456
 
13457
- // ../../node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.js
13457
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.js
13458
13458
  var require_W3CTraceContextPropagator = __commonJS((exports) => {
13459
13459
  Object.defineProperty(exports, "__esModule", { value: true });
13460
13460
  exports.W3CTraceContextPropagator = exports.parseTraceParent = exports.TRACE_STATE_HEADER = exports.TRACE_PARENT_HEADER = undefined;
@@ -13519,7 +13519,7 @@ var require_W3CTraceContextPropagator = __commonJS((exports) => {
13519
13519
  exports.W3CTraceContextPropagator = W3CTraceContextPropagator;
13520
13520
  });
13521
13521
 
13522
- // ../../node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.js
13522
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.js
13523
13523
  var require_rpc_metadata = __commonJS((exports) => {
13524
13524
  Object.defineProperty(exports, "__esModule", { value: true });
13525
13525
  exports.getRPCMetadata = exports.deleteRPCMetadata = exports.setRPCMetadata = exports.RPCType = undefined;
@@ -13543,7 +13543,7 @@ var require_rpc_metadata = __commonJS((exports) => {
13543
13543
  exports.getRPCMetadata = getRPCMetadata;
13544
13544
  });
13545
13545
 
13546
- // ../../node_modules/@opentelemetry/core/build/src/utils/lodash.merge.js
13546
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/utils/lodash.merge.js
13547
13547
  var require_lodash_merge = __commonJS((exports) => {
13548
13548
  Object.defineProperty(exports, "__esModule", { value: true });
13549
13549
  exports.isPlainObject = undefined;
@@ -13601,7 +13601,7 @@ var require_lodash_merge = __commonJS((exports) => {
13601
13601
  }
13602
13602
  });
13603
13603
 
13604
- // ../../node_modules/@opentelemetry/core/build/src/utils/merge.js
13604
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/utils/merge.js
13605
13605
  var require_merge = __commonJS((exports) => {
13606
13606
  Object.defineProperty(exports, "__esModule", { value: true });
13607
13607
  exports.merge = undefined;
@@ -13713,7 +13713,7 @@ var require_merge = __commonJS((exports) => {
13713
13713
  }
13714
13714
  });
13715
13715
 
13716
- // ../../node_modules/@opentelemetry/core/build/src/utils/timeout.js
13716
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/utils/timeout.js
13717
13717
  var require_timeout = __commonJS((exports) => {
13718
13718
  Object.defineProperty(exports, "__esModule", { value: true });
13719
13719
  exports.callWithTimeout = exports.TimeoutError = undefined;
@@ -13743,7 +13743,7 @@ var require_timeout = __commonJS((exports) => {
13743
13743
  exports.callWithTimeout = callWithTimeout;
13744
13744
  });
13745
13745
 
13746
- // ../../node_modules/@opentelemetry/core/build/src/utils/url.js
13746
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/utils/url.js
13747
13747
  var require_url = __commonJS((exports) => {
13748
13748
  Object.defineProperty(exports, "__esModule", { value: true });
13749
13749
  exports.isUrlIgnored = exports.urlMatches = undefined;
@@ -13769,7 +13769,7 @@ var require_url = __commonJS((exports) => {
13769
13769
  exports.isUrlIgnored = isUrlIgnored;
13770
13770
  });
13771
13771
 
13772
- // ../../node_modules/@opentelemetry/core/build/src/utils/promise.js
13772
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/utils/promise.js
13773
13773
  var require_promise = __commonJS((exports) => {
13774
13774
  Object.defineProperty(exports, "__esModule", { value: true });
13775
13775
  exports.Deferred = undefined;
@@ -13797,7 +13797,7 @@ var require_promise = __commonJS((exports) => {
13797
13797
  exports.Deferred = Deferred;
13798
13798
  });
13799
13799
 
13800
- // ../../node_modules/@opentelemetry/core/build/src/utils/callback.js
13800
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/utils/callback.js
13801
13801
  var require_callback = __commonJS((exports) => {
13802
13802
  Object.defineProperty(exports, "__esModule", { value: true });
13803
13803
  exports.BindOnceFuture = undefined;
@@ -13833,7 +13833,7 @@ var require_callback = __commonJS((exports) => {
13833
13833
  exports.BindOnceFuture = BindOnceFuture;
13834
13834
  });
13835
13835
 
13836
- // ../../node_modules/@opentelemetry/core/build/src/utils/configuration.js
13836
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/utils/configuration.js
13837
13837
  var require_configuration = __commonJS((exports) => {
13838
13838
  Object.defineProperty(exports, "__esModule", { value: true });
13839
13839
  exports.diagLogLevelFromString = undefined;
@@ -13861,7 +13861,7 @@ var require_configuration = __commonJS((exports) => {
13861
13861
  exports.diagLogLevelFromString = diagLogLevelFromString;
13862
13862
  });
13863
13863
 
13864
- // ../../node_modules/@opentelemetry/core/build/src/internal/exporter.js
13864
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/internal/exporter.js
13865
13865
  var require_exporter = __commonJS((exports) => {
13866
13866
  Object.defineProperty(exports, "__esModule", { value: true });
13867
13867
  exports._export = undefined;
@@ -13879,7 +13879,7 @@ var require_exporter = __commonJS((exports) => {
13879
13879
  exports._export = _export;
13880
13880
  });
13881
13881
 
13882
- // ../../node_modules/@opentelemetry/core/build/src/index.js
13882
+ // ../../node_modules/@opentelemetry/instrumentation-http/node_modules/@opentelemetry/core/build/src/index.js
13883
13883
  var require_src3 = __commonJS((exports) => {
13884
13884
  Object.defineProperty(exports, "__esModule", { value: true });
13885
13885
  exports.internal = exports.diagLogLevelFromString = exports.BindOnceFuture = exports.urlMatches = exports.isUrlIgnored = exports.callWithTimeout = exports.TimeoutError = exports.merge = exports.TraceState = exports.unsuppressTracing = exports.suppressTracing = exports.isTracingSuppressed = exports.setRPCMetadata = exports.getRPCMetadata = exports.deleteRPCMetadata = exports.RPCType = exports.parseTraceParent = exports.W3CTraceContextPropagator = exports.TRACE_STATE_HEADER = exports.TRACE_PARENT_HEADER = exports.CompositePropagator = exports.unrefTimer = exports.otperformance = exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = exports._globalThis = exports.SDK_INFO = exports.parseKeyPairsIntoRecord = exports.ExportResultCode = exports.timeInputToHrTime = exports.millisToHrTime = exports.isTimeInputHrTime = exports.isTimeInput = exports.hrTimeToTimeStamp = exports.hrTimeToNanoseconds = exports.hrTimeToMilliseconds = exports.hrTimeToMicroseconds = exports.hrTimeDuration = exports.hrTime = exports.getTimeOrigin = exports.addHrTimes = exports.loggingErrorHandler = exports.setGlobalErrorHandler = exports.globalErrorHandler = exports.sanitizeAttributes = exports.isAttributeValue = exports.AnchoredClock = exports.W3CBaggagePropagator = undefined;
@@ -19208,7 +19208,7 @@ var init_worldwide = __esm(() => {
19208
19208
  });
19209
19209
 
19210
19210
  // ../../node_modules/@sentry/node/node_modules/@sentry/core/build/esm/utils/version.js
19211
- var SDK_VERSION = "10.9.0";
19211
+ var SDK_VERSION = "10.10.0";
19212
19212
  var init_version = () => {};
19213
19213
 
19214
19214
  // ../../node_modules/@sentry/node/node_modules/@sentry/core/build/esm/carrier.js
@@ -22848,15 +22848,29 @@ function getTraceData(options = {}) {
22848
22848
  debug.warn("Invalid sentry-trace data. Cannot generate trace data");
22849
22849
  return {};
22850
22850
  }
22851
- return {
22851
+ const traceData = {
22852
22852
  "sentry-trace": sentryTrace,
22853
22853
  baggage
22854
22854
  };
22855
+ if (options.propagateTraceparent) {
22856
+ const traceparent = _sentryTraceToTraceParentHeader(sentryTrace);
22857
+ if (traceparent) {
22858
+ traceData.traceparent = traceparent;
22859
+ }
22860
+ }
22861
+ return traceData;
22855
22862
  }
22856
22863
  function scopeToTraceHeader(scope) {
22857
22864
  const { traceId, sampled, propagationSpanId } = scope.getPropagationContext();
22858
22865
  return generateSentryTraceHeader(traceId, propagationSpanId, sampled);
22859
22866
  }
22867
+ function _sentryTraceToTraceParentHeader(sentryTrace) {
22868
+ const { traceId, parentSpanId, parentSampled } = extractTraceparentData(sentryTrace) || {};
22869
+ if (!traceId || !parentSpanId) {
22870
+ return;
22871
+ }
22872
+ return `00-${traceId}-${parentSpanId}-${parentSampled ? "01" : "00"}`;
22873
+ }
22860
22874
  var init_traceData = __esm(() => {
22861
22875
  init_asyncContext();
22862
22876
  init_carrier();
@@ -26030,7 +26044,8 @@ var init_streaming = __esm(() => {
26030
26044
  function extractRequestAttributes(args, methodPath) {
26031
26045
  const attributes = {
26032
26046
  [GEN_AI_SYSTEM_ATTRIBUTE]: "openai",
26033
- [GEN_AI_OPERATION_NAME_ATTRIBUTE]: getOperationName2(methodPath)
26047
+ [GEN_AI_OPERATION_NAME_ATTRIBUTE]: getOperationName2(methodPath),
26048
+ [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: "auto.function.openai"
26034
26049
  };
26035
26050
  if (args.length > 0 && typeof args[0] === "object" && args[0] !== null) {
26036
26051
  const params = args[0];
@@ -26215,6 +26230,7 @@ function instrumentOpenAiClient(client2, options) {
26215
26230
  var init_openai = __esm(() => {
26216
26231
  init_currentScopes();
26217
26232
  init_exports();
26233
+ init_semanticAttributes();
26218
26234
  init_spanstatus();
26219
26235
  init_trace();
26220
26236
  init_gen_ai_attributes();
@@ -26273,12 +26289,13 @@ var init_constants5 = __esm(() => {
26273
26289
  "messages.countTokens",
26274
26290
  "models.get",
26275
26291
  "completions.create",
26276
- "models.retrieve"
26292
+ "models.retrieve",
26293
+ "beta.messages.create"
26277
26294
  ];
26278
26295
  });
26279
26296
 
26280
26297
  // ../../node_modules/@sentry/node/node_modules/@sentry/core/build/esm/utils/anthropic-ai/streaming.js
26281
- function isErrorEvent(event, state2, recordOutputs, span) {
26298
+ function isErrorEvent(event, span) {
26282
26299
  if ("type" in event && typeof event.type === "string") {
26283
26300
  if (event.type === "error") {
26284
26301
  const message2 = event.error?.message ?? "internal_error";
@@ -26297,11 +26314,6 @@ function isErrorEvent(event, state2, recordOutputs, span) {
26297
26314
  });
26298
26315
  return true;
26299
26316
  }
26300
- if (recordOutputs && event.type === "content_block_delta") {
26301
- const text = event.delta?.text;
26302
- if (text)
26303
- state2.responseTexts.push(text);
26304
- }
26305
26317
  }
26306
26318
  return false;
26307
26319
  }
@@ -26329,14 +26341,62 @@ function handleMessageMetadata(event, state2) {
26329
26341
  }
26330
26342
  }
26331
26343
  }
26344
+ function handleContentBlockStart(event, state2) {
26345
+ if (event.type !== "content_block_start" || typeof event.index !== "number" || !event.content_block)
26346
+ return;
26347
+ if (event.content_block.type === "tool_use" || event.content_block.type === "server_tool_use") {
26348
+ state2.activeToolBlocks[event.index] = {
26349
+ id: event.content_block.id,
26350
+ name: event.content_block.name,
26351
+ inputJsonParts: []
26352
+ };
26353
+ }
26354
+ }
26355
+ function handleContentBlockDelta(event, state2, recordOutputs) {
26356
+ if (event.type !== "content_block_delta" || !event.delta)
26357
+ return;
26358
+ if (typeof event.index === "number" && "partial_json" in event.delta && typeof event.delta.partial_json === "string") {
26359
+ const active = state2.activeToolBlocks[event.index];
26360
+ if (active) {
26361
+ active.inputJsonParts.push(event.delta.partial_json);
26362
+ }
26363
+ }
26364
+ if (recordOutputs && typeof event.delta.text === "string") {
26365
+ state2.responseTexts.push(event.delta.text);
26366
+ }
26367
+ }
26368
+ function handleContentBlockStop(event, state2) {
26369
+ if (event.type !== "content_block_stop" || typeof event.index !== "number")
26370
+ return;
26371
+ const active = state2.activeToolBlocks[event.index];
26372
+ if (!active)
26373
+ return;
26374
+ const raw = active.inputJsonParts.join("");
26375
+ let parsedInput;
26376
+ try {
26377
+ parsedInput = raw ? JSON.parse(raw) : {};
26378
+ } catch {
26379
+ parsedInput = { __unparsed: raw };
26380
+ }
26381
+ state2.toolCalls.push({
26382
+ type: "tool_use",
26383
+ id: active.id,
26384
+ name: active.name,
26385
+ input: parsedInput
26386
+ });
26387
+ delete state2.activeToolBlocks[event.index];
26388
+ }
26332
26389
  function processEvent(event, state2, recordOutputs, span) {
26333
26390
  if (!(event && typeof event === "object")) {
26334
26391
  return;
26335
26392
  }
26336
- const isError2 = isErrorEvent(event, state2, recordOutputs, span);
26393
+ const isError2 = isErrorEvent(event, span);
26337
26394
  if (isError2)
26338
26395
  return;
26339
26396
  handleMessageMetadata(event, state2);
26397
+ handleContentBlockStart(event, state2);
26398
+ handleContentBlockDelta(event, state2, recordOutputs);
26399
+ handleContentBlockStop(event, state2);
26340
26400
  }
26341
26401
  async function* instrumentStream2(stream, span, recordOutputs) {
26342
26402
  const state2 = {
@@ -26347,7 +26407,9 @@ async function* instrumentStream2(stream, span, recordOutputs) {
26347
26407
  promptTokens: undefined,
26348
26408
  completionTokens: undefined,
26349
26409
  cacheCreationInputTokens: undefined,
26350
- cacheReadInputTokens: undefined
26410
+ cacheReadInputTokens: undefined,
26411
+ toolCalls: [],
26412
+ activeToolBlocks: {}
26351
26413
  };
26352
26414
  try {
26353
26415
  for await (const event of stream) {
@@ -26379,6 +26441,11 @@ async function* instrumentStream2(stream, span, recordOutputs) {
26379
26441
  [GEN_AI_RESPONSE_TEXT_ATTRIBUTE]: state2.responseTexts.join("")
26380
26442
  });
26381
26443
  }
26444
+ if (recordOutputs && state2.toolCalls.length > 0) {
26445
+ span.setAttributes({
26446
+ [GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE]: JSON.stringify(state2.toolCalls)
26447
+ });
26448
+ }
26382
26449
  span.end();
26383
26450
  }
26384
26451
  }
@@ -26406,6 +26473,9 @@ function extractRequestAttributes2(args, methodPath) {
26406
26473
  };
26407
26474
  if (args.length > 0 && typeof args[0] === "object" && args[0] !== null) {
26408
26475
  const params = args[0];
26476
+ if (params.tools && Array.isArray(params.tools)) {
26477
+ attributes[GEN_AI_REQUEST_AVAILABLE_TOOLS_ATTRIBUTE] = JSON.stringify(params.tools);
26478
+ }
26409
26479
  attributes[GEN_AI_REQUEST_MODEL_ATTRIBUTE] = params.model ?? "unknown";
26410
26480
  if ("temperature" in params)
26411
26481
  attributes[GEN_AI_REQUEST_TEMPERATURE_ATTRIBUTE] = params.temperature;
@@ -26446,8 +26516,17 @@ function addResponseAttributes2(span, response, recordOutputs) {
26446
26516
  if ("content" in response) {
26447
26517
  if (Array.isArray(response.content)) {
26448
26518
  span.setAttributes({
26449
- [GEN_AI_RESPONSE_TEXT_ATTRIBUTE]: response.content.map((item) => item.text).filter((text) => text !== undefined).join("")
26519
+ [GEN_AI_RESPONSE_TEXT_ATTRIBUTE]: response.content.map((item) => item.text).filter((text) => !!text).join("")
26450
26520
  });
26521
+ const toolCalls = [];
26522
+ for (const item of response.content) {
26523
+ if (item.type === "tool_use" || item.type === "server_tool_use") {
26524
+ toolCalls.push(item);
26525
+ }
26526
+ }
26527
+ if (toolCalls.length > 0) {
26528
+ span.setAttributes({ [GEN_AI_RESPONSE_TOOL_CALLS_ATTRIBUTE]: JSON.stringify(toolCalls) });
26529
+ }
26451
26530
  }
26452
26531
  }
26453
26532
  if ("completion" in response) {
@@ -26679,7 +26758,7 @@ var init_worldwide2 = __esm(() => {
26679
26758
  });
26680
26759
 
26681
26760
  // ../../node_modules/@sentry/node-core/node_modules/@sentry/core/build/esm/utils/version.js
26682
- var SDK_VERSION2 = "10.9.0";
26761
+ var SDK_VERSION2 = "10.10.0";
26683
26762
  var init_version2 = () => {};
26684
26763
 
26685
26764
  // ../../node_modules/@sentry/node-core/node_modules/@sentry/core/build/esm/carrier.js
@@ -31105,15 +31184,29 @@ function getTraceData2(options = {}) {
31105
31184
  debug2.warn("Invalid sentry-trace data. Cannot generate trace data");
31106
31185
  return {};
31107
31186
  }
31108
- return {
31187
+ const traceData = {
31109
31188
  "sentry-trace": sentryTrace,
31110
31189
  baggage
31111
31190
  };
31191
+ if (options.propagateTraceparent) {
31192
+ const traceparent = _sentryTraceToTraceParentHeader2(sentryTrace);
31193
+ if (traceparent) {
31194
+ traceData.traceparent = traceparent;
31195
+ }
31196
+ }
31197
+ return traceData;
31112
31198
  }
31113
31199
  function scopeToTraceHeader2(scope) {
31114
31200
  const { traceId, sampled, propagationSpanId } = scope.getPropagationContext();
31115
31201
  return generateSentryTraceHeader2(traceId, propagationSpanId, sampled);
31116
31202
  }
31203
+ function _sentryTraceToTraceParentHeader2(sentryTrace) {
31204
+ const { traceId, parentSpanId, parentSampled } = extractTraceparentData2(sentryTrace) || {};
31205
+ if (!traceId || !parentSpanId) {
31206
+ return;
31207
+ }
31208
+ return `00-${traceId}-${parentSpanId}-${parentSampled ? "01" : "00"}`;
31209
+ }
31117
31210
  var init_traceData2 = __esm(() => {
31118
31211
  init_asyncContext2();
31119
31212
  init_carrier2();
@@ -32057,298 +32150,1594 @@ var init_instrument = __esm(() => {
32057
32150
  INSTRUMENTED = {};
32058
32151
  });
32059
32152
 
32060
- // ../../node_modules/@sentry/node-core/build/esm/debug-build.js
32061
- var DEBUG_BUILD3;
32062
- var init_debug_build3 = __esm(() => {
32063
- DEBUG_BUILD3 = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__;
32153
+ // ../../node_modules/@opentelemetry/core/build/src/trace/suppress-tracing.js
32154
+ var require_suppress_tracing2 = __commonJS((exports) => {
32155
+ Object.defineProperty(exports, "__esModule", { value: true });
32156
+ exports.isTracingSuppressed = exports.unsuppressTracing = exports.suppressTracing = undefined;
32157
+ var api_1 = require_src();
32158
+ var SUPPRESS_TRACING_KEY3 = (0, api_1.createContextKey)("OpenTelemetry SDK Context Key SUPPRESS_TRACING");
32159
+ function suppressTracing3(context) {
32160
+ return context.setValue(SUPPRESS_TRACING_KEY3, true);
32161
+ }
32162
+ exports.suppressTracing = suppressTracing3;
32163
+ function unsuppressTracing(context) {
32164
+ return context.deleteValue(SUPPRESS_TRACING_KEY3);
32165
+ }
32166
+ exports.unsuppressTracing = unsuppressTracing;
32167
+ function isTracingSuppressed(context) {
32168
+ return context.getValue(SUPPRESS_TRACING_KEY3) === true;
32169
+ }
32170
+ exports.isTracingSuppressed = isTracingSuppressed;
32064
32171
  });
32065
32172
 
32066
- // ../../node_modules/@sentry/node-core/build/esm/utils/getRequestUrl.js
32067
- function getRequestUrl(requestOptions) {
32068
- const protocol = requestOptions.protocol || "";
32069
- const hostname = requestOptions.hostname || requestOptions.host || "";
32070
- const port = !requestOptions.port || requestOptions.port === 80 || requestOptions.port === 443 || /^(.*):(\d+)$/.test(hostname) ? "" : `:${requestOptions.port}`;
32071
- const path = requestOptions.path ? requestOptions.path : "/";
32072
- return `${protocol}//${hostname}${port}${path}`;
32073
- }
32074
- var init_getRequestUrl = () => {};
32075
-
32076
- // ../../node_modules/@sentry/node-core/build/esm/integrations/http/constants.js
32077
- var INSTRUMENTATION_NAME = "@sentry/instrumentation-http", MAX_BODY_BYTE_LENGTH;
32078
- var init_constants8 = __esm(() => {
32079
- MAX_BODY_BYTE_LENGTH = 1024 * 1024;
32173
+ // ../../node_modules/@opentelemetry/core/build/src/baggage/constants.js
32174
+ var require_constants3 = __commonJS((exports) => {
32175
+ Object.defineProperty(exports, "__esModule", { value: true });
32176
+ exports.BAGGAGE_MAX_TOTAL_LENGTH = exports.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS = exports.BAGGAGE_MAX_NAME_VALUE_PAIRS = exports.BAGGAGE_HEADER = exports.BAGGAGE_ITEMS_SEPARATOR = exports.BAGGAGE_PROPERTIES_SEPARATOR = exports.BAGGAGE_KEY_PAIR_SEPARATOR = undefined;
32177
+ exports.BAGGAGE_KEY_PAIR_SEPARATOR = "=";
32178
+ exports.BAGGAGE_PROPERTIES_SEPARATOR = ";";
32179
+ exports.BAGGAGE_ITEMS_SEPARATOR = ",";
32180
+ exports.BAGGAGE_HEADER = "baggage";
32181
+ exports.BAGGAGE_MAX_NAME_VALUE_PAIRS = 180;
32182
+ exports.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS = 4096;
32183
+ exports.BAGGAGE_MAX_TOTAL_LENGTH = 8192;
32080
32184
  });
32081
32185
 
32082
- // ../../node_modules/@sentry/node-core/build/esm/integrations/http/incoming-requests.js
32083
- import { errorMonitor } from "events";
32084
- function instrumentServer(server, {
32085
- ignoreIncomingRequestBody,
32086
- ignoreSpansForIncomingRequests,
32087
- maxIncomingRequestBodySize = "medium",
32088
- trackIncomingRequestsAsSessions = true,
32089
- spans,
32090
- ignoreStaticAssets = true,
32091
- sessionFlushingDelayMS,
32092
- instrumentation,
32093
- incomingRequestSpanHook
32094
- }) {
32095
- const originalEmit = server.emit;
32096
- if (wrappedEmitFns.has(originalEmit)) {
32097
- DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, "Incoming requests already instrumented, not instrumenting again...");
32098
- return;
32186
+ // ../../node_modules/@opentelemetry/core/build/src/baggage/utils.js
32187
+ var require_utils8 = __commonJS((exports) => {
32188
+ Object.defineProperty(exports, "__esModule", { value: true });
32189
+ exports.parseKeyPairsIntoRecord = exports.parsePairKeyValue = exports.getKeyPairs = exports.serializeKeyPairs = undefined;
32190
+ var api_1 = require_src();
32191
+ var constants_1 = require_constants3();
32192
+ function serializeKeyPairs(keyPairs) {
32193
+ return keyPairs.reduce((hValue, current) => {
32194
+ const value = `${hValue}${hValue !== "" ? constants_1.BAGGAGE_ITEMS_SEPARATOR : ""}${current}`;
32195
+ return value.length > constants_1.BAGGAGE_MAX_TOTAL_LENGTH ? hValue : value;
32196
+ }, "");
32099
32197
  }
32100
- const { requestHook, responseHook, applyCustomAttributesOnSpan } = instrumentation ?? {};
32101
- const newEmit = new Proxy(originalEmit, {
32102
- apply(target, thisArg, args) {
32103
- if (args[0] !== "request") {
32104
- return target.apply(thisArg, args);
32105
- }
32106
- if (import_api2.context.active().getValue(HTTP_SERVER_INSTRUMENTED_KEY)) {
32107
- return target.apply(thisArg, args);
32198
+ exports.serializeKeyPairs = serializeKeyPairs;
32199
+ function getKeyPairs(baggage) {
32200
+ return baggage.getAllEntries().map(([key, value]) => {
32201
+ let entry = `${encodeURIComponent(key)}=${encodeURIComponent(value.value)}`;
32202
+ if (value.metadata !== undefined) {
32203
+ entry += constants_1.BAGGAGE_PROPERTIES_SEPARATOR + value.metadata.toString();
32108
32204
  }
32109
- DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, "Handling incoming request");
32110
- const client2 = getClient2();
32111
- const isolationScope = getIsolationScope2().clone();
32112
- const request = args[1];
32113
- const response = args[2];
32114
- const normalizedRequest = httpRequestToRequestData2(request);
32115
- const ipAddress = request.ip || request.socket?.remoteAddress;
32116
- const url = request.url || "/";
32117
- if (maxIncomingRequestBodySize !== "none" && !ignoreIncomingRequestBody?.(url, request)) {
32118
- patchRequestToCaptureBody(request, isolationScope, maxIncomingRequestBodySize);
32205
+ return entry;
32206
+ });
32207
+ }
32208
+ exports.getKeyPairs = getKeyPairs;
32209
+ function parsePairKeyValue(entry) {
32210
+ const valueProps = entry.split(constants_1.BAGGAGE_PROPERTIES_SEPARATOR);
32211
+ if (valueProps.length <= 0)
32212
+ return;
32213
+ const keyPairPart = valueProps.shift();
32214
+ if (!keyPairPart)
32215
+ return;
32216
+ const separatorIndex = keyPairPart.indexOf(constants_1.BAGGAGE_KEY_PAIR_SEPARATOR);
32217
+ if (separatorIndex <= 0)
32218
+ return;
32219
+ const key = decodeURIComponent(keyPairPart.substring(0, separatorIndex).trim());
32220
+ const value = decodeURIComponent(keyPairPart.substring(separatorIndex + 1).trim());
32221
+ let metadata;
32222
+ if (valueProps.length > 0) {
32223
+ metadata = (0, api_1.baggageEntryMetadataFromString)(valueProps.join(constants_1.BAGGAGE_PROPERTIES_SEPARATOR));
32224
+ }
32225
+ return { key, value, metadata };
32226
+ }
32227
+ exports.parsePairKeyValue = parsePairKeyValue;
32228
+ function parseKeyPairsIntoRecord(value) {
32229
+ const result = {};
32230
+ if (typeof value === "string" && value.length > 0) {
32231
+ value.split(constants_1.BAGGAGE_ITEMS_SEPARATOR).forEach((entry) => {
32232
+ const keyPair = parsePairKeyValue(entry);
32233
+ if (keyPair !== undefined && keyPair.value.length > 0) {
32234
+ result[keyPair.key] = keyPair.value;
32235
+ }
32236
+ });
32237
+ }
32238
+ return result;
32239
+ }
32240
+ exports.parseKeyPairsIntoRecord = parseKeyPairsIntoRecord;
32241
+ });
32242
+
32243
+ // ../../node_modules/@opentelemetry/core/build/src/baggage/propagation/W3CBaggagePropagator.js
32244
+ var require_W3CBaggagePropagator2 = __commonJS((exports) => {
32245
+ Object.defineProperty(exports, "__esModule", { value: true });
32246
+ exports.W3CBaggagePropagator = undefined;
32247
+ var api_1 = require_src();
32248
+ var suppress_tracing_1 = require_suppress_tracing2();
32249
+ var constants_1 = require_constants3();
32250
+ var utils_1 = require_utils8();
32251
+
32252
+ class W3CBaggagePropagator {
32253
+ inject(context, carrier, setter) {
32254
+ const baggage = api_1.propagation.getBaggage(context);
32255
+ if (!baggage || (0, suppress_tracing_1.isTracingSuppressed)(context))
32256
+ return;
32257
+ const keyPairs = (0, utils_1.getKeyPairs)(baggage).filter((pair) => {
32258
+ return pair.length <= constants_1.BAGGAGE_MAX_PER_NAME_VALUE_PAIRS;
32259
+ }).slice(0, constants_1.BAGGAGE_MAX_NAME_VALUE_PAIRS);
32260
+ const headerValue = (0, utils_1.serializeKeyPairs)(keyPairs);
32261
+ if (headerValue.length > 0) {
32262
+ setter.set(carrier, constants_1.BAGGAGE_HEADER, headerValue);
32119
32263
  }
32120
- isolationScope.setSDKProcessingMetadata({ normalizedRequest, ipAddress });
32121
- const httpMethod = (request.method || "GET").toUpperCase();
32122
- const httpTargetWithoutQueryFragment = stripUrlQueryAndFragment(url);
32123
- const bestEffortTransactionName = `${httpMethod} ${httpTargetWithoutQueryFragment}`;
32124
- isolationScope.setTransactionName(bestEffortTransactionName);
32125
- if (trackIncomingRequestsAsSessions !== false) {
32126
- recordRequestSession({
32127
- requestIsolationScope: isolationScope,
32128
- response,
32129
- sessionFlushingDelayMS: sessionFlushingDelayMS ?? 60000
32130
- });
32264
+ }
32265
+ extract(context, carrier, getter) {
32266
+ const headerValue = getter.get(carrier, constants_1.BAGGAGE_HEADER);
32267
+ const baggageString = Array.isArray(headerValue) ? headerValue.join(constants_1.BAGGAGE_ITEMS_SEPARATOR) : headerValue;
32268
+ if (!baggageString)
32269
+ return context;
32270
+ const baggage = {};
32271
+ if (baggageString.length === 0) {
32272
+ return context;
32131
32273
  }
32132
- return withIsolationScope4(isolationScope, () => {
32133
- getCurrentScope2().getPropagationContext().propagationSpanId = generateSpanId2();
32134
- const ctx = import_api2.propagation.extract(import_api2.context.active(), normalizedRequest.headers).setValue(HTTP_SERVER_INSTRUMENTED_KEY, true);
32135
- return import_api2.context.with(ctx, () => {
32136
- if (typeof __SENTRY_TRACING__ !== "undefined" && !__SENTRY_TRACING__ || !spans || !client2 || shouldIgnoreSpansForIncomingRequest(request, {
32137
- ignoreStaticAssets,
32138
- ignoreSpansForIncomingRequests
32139
- })) {
32140
- DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, "Skipping span creation for incoming request");
32141
- return target.apply(thisArg, args);
32274
+ const pairs = baggageString.split(constants_1.BAGGAGE_ITEMS_SEPARATOR);
32275
+ pairs.forEach((entry) => {
32276
+ const keyPair = (0, utils_1.parsePairKeyValue)(entry);
32277
+ if (keyPair) {
32278
+ const baggageEntry = { value: keyPair.value };
32279
+ if (keyPair.metadata) {
32280
+ baggageEntry.metadata = keyPair.metadata;
32142
32281
  }
32143
- const fullUrl = normalizedRequest.url || url;
32144
- const urlObj = parseStringToURLObject2(fullUrl);
32145
- const headers = request.headers;
32146
- const userAgent = headers["user-agent"];
32147
- const ips = headers["x-forwarded-for"];
32148
- const httpVersion = request.httpVersion;
32149
- const host = headers.host;
32150
- const hostname = host?.replace(/^(.*)(:[0-9]{1,5})/, "$1") || "localhost";
32151
- const tracer = client2.tracer;
32152
- const scheme = fullUrl.startsWith("https") ? "https" : "http";
32153
- const span = tracer.startSpan(bestEffortTransactionName, {
32154
- kind: import_api2.SpanKind.SERVER,
32155
- attributes: {
32156
- [SEMANTIC_ATTRIBUTE_SENTRY_OP2]: "http.server",
32157
- [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN2]: "auto.http.otel.http",
32158
- "sentry.http.prefetch": isKnownPrefetchRequest(request) || undefined,
32159
- "http.url": fullUrl,
32160
- "http.method": httpMethod,
32161
- "http.target": urlObj ? `${urlObj.pathname}${urlObj.search}` : httpTargetWithoutQueryFragment,
32162
- "http.host": host,
32163
- "net.host.name": hostname,
32164
- "http.client_ip": typeof ips === "string" ? ips.split(",")[0] : undefined,
32165
- "http.user_agent": userAgent,
32166
- "http.scheme": scheme,
32167
- "http.flavor": httpVersion,
32168
- "net.transport": httpVersion?.toUpperCase() === "QUIC" ? "ip_udp" : "ip_tcp",
32169
- ...getRequestContentLengthAttribute(request)
32170
- }
32171
- });
32172
- requestHook?.(span, request);
32173
- responseHook?.(span, response);
32174
- applyCustomAttributesOnSpan?.(span, request, response);
32175
- incomingRequestSpanHook?.(span, request, response);
32176
- const rpcMetadata = {
32177
- type: import_core6.RPCType.HTTP,
32178
- span
32179
- };
32180
- import_api2.context.with(import_core6.setRPCMetadata(import_api2.trace.setSpan(import_api2.context.active(), span), rpcMetadata), () => {
32181
- import_api2.context.bind(import_api2.context.active(), request);
32182
- import_api2.context.bind(import_api2.context.active(), response);
32183
- let isEnded = false;
32184
- function endSpan(status) {
32185
- if (isEnded) {
32186
- return;
32187
- }
32188
- isEnded = true;
32189
- const newAttributes = getIncomingRequestAttributesOnResponse(request, response);
32190
- span.setAttributes(newAttributes);
32191
- span.setStatus(status);
32192
- span.end();
32193
- const route = newAttributes["http.route"];
32194
- if (route) {
32195
- getIsolationScope2().setTransactionName(`${request.method?.toUpperCase() || "GET"} ${route}`);
32196
- }
32197
- }
32198
- response.on("close", () => {
32199
- endSpan(getSpanStatusFromHttpCode2(response.statusCode));
32200
- });
32201
- response.on(errorMonitor, () => {
32202
- const httpStatus = getSpanStatusFromHttpCode2(response.statusCode);
32203
- endSpan(httpStatus.code === SPAN_STATUS_ERROR2 ? httpStatus : { code: SPAN_STATUS_ERROR2 });
32204
- });
32205
- return target.apply(thisArg, args);
32206
- });
32207
- });
32282
+ baggage[keyPair.key] = baggageEntry;
32283
+ }
32208
32284
  });
32209
- }
32210
- });
32211
- wrappedEmitFns.add(newEmit);
32212
- server.emit = newEmit;
32213
- }
32214
- function recordRequestSession({
32215
- requestIsolationScope,
32216
- response,
32217
- sessionFlushingDelayMS
32218
- }) {
32219
- requestIsolationScope.setSDKProcessingMetadata({
32220
- requestSession: { status: "ok" }
32221
- });
32222
- response.once("close", () => {
32223
- const client2 = getClient2();
32224
- const requestSession = requestIsolationScope.getScopeData().sdkProcessingMetadata.requestSession;
32225
- if (client2 && requestSession) {
32226
- DEBUG_BUILD3 && debug2.log(`Recorded request session with status: ${requestSession.status}`);
32227
- const roundedDate = new Date;
32228
- roundedDate.setSeconds(0, 0);
32229
- const dateBucketKey = roundedDate.toISOString();
32230
- const existingClientAggregate = clientToRequestSessionAggregatesMap.get(client2);
32231
- const bucket = existingClientAggregate?.[dateBucketKey] || { exited: 0, crashed: 0, errored: 0 };
32232
- bucket[{ ok: "exited", crashed: "crashed", errored: "errored" }[requestSession.status]]++;
32233
- if (existingClientAggregate) {
32234
- existingClientAggregate[dateBucketKey] = bucket;
32235
- } else {
32236
- DEBUG_BUILD3 && debug2.log("Opened new request session aggregate.");
32237
- const newClientAggregate = { [dateBucketKey]: bucket };
32238
- clientToRequestSessionAggregatesMap.set(client2, newClientAggregate);
32239
- const flushPendingClientAggregates = () => {
32240
- clearTimeout(timeout);
32241
- unregisterClientFlushHook();
32242
- clientToRequestSessionAggregatesMap.delete(client2);
32243
- const aggregatePayload = Object.entries(newClientAggregate).map(([timestamp, value]) => ({
32244
- started: timestamp,
32245
- exited: value.exited,
32246
- errored: value.errored,
32247
- crashed: value.crashed
32248
- }));
32249
- client2.sendSession({ aggregates: aggregatePayload });
32250
- };
32251
- const unregisterClientFlushHook = client2.on("flush", () => {
32252
- DEBUG_BUILD3 && debug2.log("Sending request session aggregate due to client flush");
32253
- flushPendingClientAggregates();
32254
- });
32255
- const timeout = setTimeout(() => {
32256
- DEBUG_BUILD3 && debug2.log("Sending request session aggregate due to flushing schedule");
32257
- flushPendingClientAggregates();
32258
- }, sessionFlushingDelayMS).unref();
32285
+ if (Object.entries(baggage).length === 0) {
32286
+ return context;
32259
32287
  }
32288
+ return api_1.propagation.setBaggage(context, api_1.propagation.createBaggage(baggage));
32260
32289
  }
32261
- });
32262
- }
32263
- function patchRequestToCaptureBody(req, isolationScope, maxIncomingRequestBodySize) {
32264
- let bodyByteLength = 0;
32265
- const chunks = [];
32266
- DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, "Patching request.on");
32267
- const callbackMap = new WeakMap;
32268
- const maxBodySize = maxIncomingRequestBodySize === "small" ? 1000 : maxIncomingRequestBodySize === "medium" ? 1e4 : MAX_BODY_BYTE_LENGTH;
32269
- try {
32270
- req.on = new Proxy(req.on, {
32271
- apply: (target, thisArg, args) => {
32272
- const [event, listener, ...restArgs] = args;
32273
- if (event === "data") {
32274
- DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, `Handling request.on("data") with maximum body size of ${maxBodySize}b`);
32275
- const callback = new Proxy(listener, {
32276
- apply: (target2, thisArg2, args2) => {
32277
- try {
32278
- const chunk = args2[0];
32279
- const bufferifiedChunk = Buffer.from(chunk);
32280
- if (bodyByteLength < maxBodySize) {
32281
- chunks.push(bufferifiedChunk);
32282
- bodyByteLength += bufferifiedChunk.byteLength;
32283
- } else if (DEBUG_BUILD3) {
32284
- debug2.log(INSTRUMENTATION_NAME, `Dropping request body chunk because maximum body length of ${maxBodySize}b is exceeded.`);
32285
- }
32286
- } catch (err) {
32287
- DEBUG_BUILD3 && debug2.error(INSTRUMENTATION_NAME, "Encountered error while storing body chunk.");
32288
- }
32289
- return Reflect.apply(target2, thisArg2, args2);
32290
- }
32291
- });
32292
- callbackMap.set(listener, callback);
32293
- return Reflect.apply(target, thisArg, [event, callback, ...restArgs]);
32294
- }
32295
- return Reflect.apply(target, thisArg, args);
32290
+ fields() {
32291
+ return [constants_1.BAGGAGE_HEADER];
32292
+ }
32293
+ }
32294
+ exports.W3CBaggagePropagator = W3CBaggagePropagator;
32295
+ });
32296
+
32297
+ // ../../node_modules/@opentelemetry/core/build/src/common/anchored-clock.js
32298
+ var require_anchored_clock2 = __commonJS((exports) => {
32299
+ Object.defineProperty(exports, "__esModule", { value: true });
32300
+ exports.AnchoredClock = undefined;
32301
+
32302
+ class AnchoredClock {
32303
+ _monotonicClock;
32304
+ _epochMillis;
32305
+ _performanceMillis;
32306
+ constructor(systemClock, monotonicClock) {
32307
+ this._monotonicClock = monotonicClock;
32308
+ this._epochMillis = systemClock.now();
32309
+ this._performanceMillis = monotonicClock.now();
32310
+ }
32311
+ now() {
32312
+ const delta = this._monotonicClock.now() - this._performanceMillis;
32313
+ return this._epochMillis + delta;
32314
+ }
32315
+ }
32316
+ exports.AnchoredClock = AnchoredClock;
32317
+ });
32318
+
32319
+ // ../../node_modules/@opentelemetry/core/build/src/common/attributes.js
32320
+ var require_attributes2 = __commonJS((exports) => {
32321
+ Object.defineProperty(exports, "__esModule", { value: true });
32322
+ exports.isAttributeValue = exports.isAttributeKey = exports.sanitizeAttributes = undefined;
32323
+ var api_1 = require_src();
32324
+ function sanitizeAttributes(attributes) {
32325
+ const out = {};
32326
+ if (typeof attributes !== "object" || attributes == null) {
32327
+ return out;
32328
+ }
32329
+ for (const [key, val] of Object.entries(attributes)) {
32330
+ if (!isAttributeKey(key)) {
32331
+ api_1.diag.warn(`Invalid attribute key: ${key}`);
32332
+ continue;
32296
32333
  }
32297
- });
32298
- req.off = new Proxy(req.off, {
32299
- apply: (target, thisArg, args) => {
32300
- const [, listener] = args;
32301
- const callback = callbackMap.get(listener);
32302
- if (callback) {
32303
- callbackMap.delete(listener);
32304
- const modifiedArgs = args.slice();
32305
- modifiedArgs[1] = callback;
32306
- return Reflect.apply(target, thisArg, modifiedArgs);
32307
- }
32308
- return Reflect.apply(target, thisArg, args);
32334
+ if (!isAttributeValue(val)) {
32335
+ api_1.diag.warn(`Invalid attribute value set for key: ${key}`);
32336
+ continue;
32309
32337
  }
32310
- });
32311
- req.on("end", () => {
32312
- try {
32313
- const body = Buffer.concat(chunks).toString("utf-8");
32314
- if (body) {
32315
- const bodyByteLength2 = Buffer.byteLength(body, "utf-8");
32316
- const truncatedBody = bodyByteLength2 > maxBodySize ? `${Buffer.from(body).subarray(0, maxBodySize - 3).toString("utf-8")}...` : body;
32317
- isolationScope.setSDKProcessingMetadata({ normalizedRequest: { data: truncatedBody } });
32318
- }
32319
- } catch (error4) {
32320
- if (DEBUG_BUILD3) {
32321
- debug2.error(INSTRUMENTATION_NAME, "Error building captured request body", error4);
32322
- }
32338
+ if (Array.isArray(val)) {
32339
+ out[key] = val.slice();
32340
+ } else {
32341
+ out[key] = val;
32323
32342
  }
32324
- });
32325
- } catch (error4) {
32326
- if (DEBUG_BUILD3) {
32327
- debug2.error(INSTRUMENTATION_NAME, "Error patching request to capture body", error4);
32328
32343
  }
32344
+ return out;
32329
32345
  }
32330
- }
32331
- function getRequestContentLengthAttribute(request) {
32332
- const length = getContentLength(request.headers);
32333
- if (length == null) {
32334
- return {};
32335
- }
32336
- if (isCompressed(request.headers)) {
32337
- return {
32338
- ["http.request_content_length"]: length
32339
- };
32340
- } else {
32341
- return {
32342
- ["http.request_content_length_uncompressed"]: length
32343
- };
32346
+ exports.sanitizeAttributes = sanitizeAttributes;
32347
+ function isAttributeKey(key) {
32348
+ return typeof key === "string" && key.length > 0;
32344
32349
  }
32345
- }
32346
- function getContentLength(headers) {
32347
- const contentLengthHeader = headers["content-length"];
32348
- if (contentLengthHeader === undefined)
32349
- return null;
32350
- const contentLength = parseInt(contentLengthHeader, 10);
32351
- if (isNaN(contentLength))
32350
+ exports.isAttributeKey = isAttributeKey;
32351
+ function isAttributeValue(val) {
32352
+ if (val == null) {
32353
+ return true;
32354
+ }
32355
+ if (Array.isArray(val)) {
32356
+ return isHomogeneousAttributeValueArray(val);
32357
+ }
32358
+ return isValidPrimitiveAttributeValue(val);
32359
+ }
32360
+ exports.isAttributeValue = isAttributeValue;
32361
+ function isHomogeneousAttributeValueArray(arr2) {
32362
+ let type;
32363
+ for (const element of arr2) {
32364
+ if (element == null)
32365
+ continue;
32366
+ if (!type) {
32367
+ if (isValidPrimitiveAttributeValue(element)) {
32368
+ type = typeof element;
32369
+ continue;
32370
+ }
32371
+ return false;
32372
+ }
32373
+ if (typeof element === type) {
32374
+ continue;
32375
+ }
32376
+ return false;
32377
+ }
32378
+ return true;
32379
+ }
32380
+ function isValidPrimitiveAttributeValue(val) {
32381
+ switch (typeof val) {
32382
+ case "number":
32383
+ case "boolean":
32384
+ case "string":
32385
+ return true;
32386
+ }
32387
+ return false;
32388
+ }
32389
+ });
32390
+
32391
+ // ../../node_modules/@opentelemetry/core/build/src/common/logging-error-handler.js
32392
+ var require_logging_error_handler2 = __commonJS((exports) => {
32393
+ Object.defineProperty(exports, "__esModule", { value: true });
32394
+ exports.loggingErrorHandler = undefined;
32395
+ var api_1 = require_src();
32396
+ function loggingErrorHandler() {
32397
+ return (ex) => {
32398
+ api_1.diag.error(stringifyException(ex));
32399
+ };
32400
+ }
32401
+ exports.loggingErrorHandler = loggingErrorHandler;
32402
+ function stringifyException(ex) {
32403
+ if (typeof ex === "string") {
32404
+ return ex;
32405
+ } else {
32406
+ return JSON.stringify(flattenException(ex));
32407
+ }
32408
+ }
32409
+ function flattenException(ex) {
32410
+ const result = {};
32411
+ let current = ex;
32412
+ while (current !== null) {
32413
+ Object.getOwnPropertyNames(current).forEach((propertyName) => {
32414
+ if (result[propertyName])
32415
+ return;
32416
+ const value = current[propertyName];
32417
+ if (value) {
32418
+ result[propertyName] = String(value);
32419
+ }
32420
+ });
32421
+ current = Object.getPrototypeOf(current);
32422
+ }
32423
+ return result;
32424
+ }
32425
+ });
32426
+
32427
+ // ../../node_modules/@opentelemetry/core/build/src/common/global-error-handler.js
32428
+ var require_global_error_handler2 = __commonJS((exports) => {
32429
+ Object.defineProperty(exports, "__esModule", { value: true });
32430
+ exports.globalErrorHandler = exports.setGlobalErrorHandler = undefined;
32431
+ var logging_error_handler_1 = require_logging_error_handler2();
32432
+ var delegateHandler = (0, logging_error_handler_1.loggingErrorHandler)();
32433
+ function setGlobalErrorHandler(handler) {
32434
+ delegateHandler = handler;
32435
+ }
32436
+ exports.setGlobalErrorHandler = setGlobalErrorHandler;
32437
+ function globalErrorHandler(ex) {
32438
+ try {
32439
+ delegateHandler(ex);
32440
+ } catch {}
32441
+ }
32442
+ exports.globalErrorHandler = globalErrorHandler;
32443
+ });
32444
+
32445
+ // ../../node_modules/@opentelemetry/core/build/src/platform/node/environment.js
32446
+ var require_environment2 = __commonJS((exports) => {
32447
+ Object.defineProperty(exports, "__esModule", { value: true });
32448
+ exports.getStringListFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = exports.getNumberFromEnv = undefined;
32449
+ var api_1 = require_src();
32450
+ var util_1 = __require("util");
32451
+ function getNumberFromEnv(key) {
32452
+ const raw = process.env[key];
32453
+ if (raw == null || raw.trim() === "") {
32454
+ return;
32455
+ }
32456
+ const value = Number(raw);
32457
+ if (isNaN(value)) {
32458
+ api_1.diag.warn(`Unknown value ${(0, util_1.inspect)(raw)} for ${key}, expected a number, using defaults`);
32459
+ return;
32460
+ }
32461
+ return value;
32462
+ }
32463
+ exports.getNumberFromEnv = getNumberFromEnv;
32464
+ function getStringFromEnv(key) {
32465
+ const raw = process.env[key];
32466
+ if (raw == null || raw.trim() === "") {
32467
+ return;
32468
+ }
32469
+ return raw;
32470
+ }
32471
+ exports.getStringFromEnv = getStringFromEnv;
32472
+ function getBooleanFromEnv(key) {
32473
+ const raw = process.env[key]?.trim().toLowerCase();
32474
+ if (raw == null || raw === "") {
32475
+ return false;
32476
+ }
32477
+ if (raw === "true") {
32478
+ return true;
32479
+ } else if (raw === "false") {
32480
+ return false;
32481
+ } else {
32482
+ api_1.diag.warn(`Unknown value ${(0, util_1.inspect)(raw)} for ${key}, expected 'true' or 'false', falling back to 'false' (default)`);
32483
+ return false;
32484
+ }
32485
+ }
32486
+ exports.getBooleanFromEnv = getBooleanFromEnv;
32487
+ function getStringListFromEnv(key) {
32488
+ return getStringFromEnv(key)?.split(",").map((v) => v.trim()).filter((s) => s !== "");
32489
+ }
32490
+ exports.getStringListFromEnv = getStringListFromEnv;
32491
+ });
32492
+
32493
+ // ../../node_modules/@opentelemetry/core/build/src/platform/node/globalThis.js
32494
+ var require_globalThis4 = __commonJS((exports) => {
32495
+ Object.defineProperty(exports, "__esModule", { value: true });
32496
+ exports._globalThis = undefined;
32497
+ exports._globalThis = typeof globalThis === "object" ? globalThis : global;
32498
+ });
32499
+
32500
+ // ../../node_modules/@opentelemetry/core/build/src/platform/node/performance.js
32501
+ var require_performance2 = __commonJS((exports) => {
32502
+ Object.defineProperty(exports, "__esModule", { value: true });
32503
+ exports.otperformance = undefined;
32504
+ var perf_hooks_1 = __require("perf_hooks");
32505
+ exports.otperformance = perf_hooks_1.performance;
32506
+ });
32507
+
32508
+ // ../../node_modules/@opentelemetry/core/build/src/version.js
32509
+ var require_version6 = __commonJS((exports) => {
32510
+ Object.defineProperty(exports, "__esModule", { value: true });
32511
+ exports.VERSION = undefined;
32512
+ exports.VERSION = "2.1.0";
32513
+ });
32514
+
32515
+ // ../../node_modules/@opentelemetry/core/build/src/semconv.js
32516
+ var require_semconv3 = __commonJS((exports) => {
32517
+ Object.defineProperty(exports, "__esModule", { value: true });
32518
+ exports.ATTR_PROCESS_RUNTIME_NAME = undefined;
32519
+ exports.ATTR_PROCESS_RUNTIME_NAME = "process.runtime.name";
32520
+ });
32521
+
32522
+ // ../../node_modules/@opentelemetry/core/build/src/platform/node/sdk-info.js
32523
+ var require_sdk_info2 = __commonJS((exports) => {
32524
+ Object.defineProperty(exports, "__esModule", { value: true });
32525
+ exports.SDK_INFO = undefined;
32526
+ var version_1 = require_version6();
32527
+ var semantic_conventions_1 = require_src2();
32528
+ var semconv_1 = require_semconv3();
32529
+ exports.SDK_INFO = {
32530
+ [semantic_conventions_1.ATTR_TELEMETRY_SDK_NAME]: "opentelemetry",
32531
+ [semconv_1.ATTR_PROCESS_RUNTIME_NAME]: "node",
32532
+ [semantic_conventions_1.ATTR_TELEMETRY_SDK_LANGUAGE]: semantic_conventions_1.TELEMETRY_SDK_LANGUAGE_VALUE_NODEJS,
32533
+ [semantic_conventions_1.ATTR_TELEMETRY_SDK_VERSION]: version_1.VERSION
32534
+ };
32535
+ });
32536
+
32537
+ // ../../node_modules/@opentelemetry/core/build/src/platform/node/timer-util.js
32538
+ var require_timer_util2 = __commonJS((exports) => {
32539
+ Object.defineProperty(exports, "__esModule", { value: true });
32540
+ exports.unrefTimer = undefined;
32541
+ function unrefTimer(timer) {
32542
+ timer.unref();
32543
+ }
32544
+ exports.unrefTimer = unrefTimer;
32545
+ });
32546
+
32547
+ // ../../node_modules/@opentelemetry/core/build/src/platform/node/index.js
32548
+ var require_node6 = __commonJS((exports) => {
32549
+ Object.defineProperty(exports, "__esModule", { value: true });
32550
+ exports.unrefTimer = exports.SDK_INFO = exports.otperformance = exports._globalThis = exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = undefined;
32551
+ var environment_1 = require_environment2();
32552
+ Object.defineProperty(exports, "getStringFromEnv", { enumerable: true, get: function() {
32553
+ return environment_1.getStringFromEnv;
32554
+ } });
32555
+ Object.defineProperty(exports, "getBooleanFromEnv", { enumerable: true, get: function() {
32556
+ return environment_1.getBooleanFromEnv;
32557
+ } });
32558
+ Object.defineProperty(exports, "getNumberFromEnv", { enumerable: true, get: function() {
32559
+ return environment_1.getNumberFromEnv;
32560
+ } });
32561
+ Object.defineProperty(exports, "getStringListFromEnv", { enumerable: true, get: function() {
32562
+ return environment_1.getStringListFromEnv;
32563
+ } });
32564
+ var globalThis_1 = require_globalThis4();
32565
+ Object.defineProperty(exports, "_globalThis", { enumerable: true, get: function() {
32566
+ return globalThis_1._globalThis;
32567
+ } });
32568
+ var performance_1 = require_performance2();
32569
+ Object.defineProperty(exports, "otperformance", { enumerable: true, get: function() {
32570
+ return performance_1.otperformance;
32571
+ } });
32572
+ var sdk_info_1 = require_sdk_info2();
32573
+ Object.defineProperty(exports, "SDK_INFO", { enumerable: true, get: function() {
32574
+ return sdk_info_1.SDK_INFO;
32575
+ } });
32576
+ var timer_util_1 = require_timer_util2();
32577
+ Object.defineProperty(exports, "unrefTimer", { enumerable: true, get: function() {
32578
+ return timer_util_1.unrefTimer;
32579
+ } });
32580
+ });
32581
+
32582
+ // ../../node_modules/@opentelemetry/core/build/src/platform/index.js
32583
+ var require_platform5 = __commonJS((exports) => {
32584
+ Object.defineProperty(exports, "__esModule", { value: true });
32585
+ exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getStringFromEnv = exports.getBooleanFromEnv = exports.unrefTimer = exports.otperformance = exports._globalThis = exports.SDK_INFO = undefined;
32586
+ var node_1 = require_node6();
32587
+ Object.defineProperty(exports, "SDK_INFO", { enumerable: true, get: function() {
32588
+ return node_1.SDK_INFO;
32589
+ } });
32590
+ Object.defineProperty(exports, "_globalThis", { enumerable: true, get: function() {
32591
+ return node_1._globalThis;
32592
+ } });
32593
+ Object.defineProperty(exports, "otperformance", { enumerable: true, get: function() {
32594
+ return node_1.otperformance;
32595
+ } });
32596
+ Object.defineProperty(exports, "unrefTimer", { enumerable: true, get: function() {
32597
+ return node_1.unrefTimer;
32598
+ } });
32599
+ Object.defineProperty(exports, "getBooleanFromEnv", { enumerable: true, get: function() {
32600
+ return node_1.getBooleanFromEnv;
32601
+ } });
32602
+ Object.defineProperty(exports, "getStringFromEnv", { enumerable: true, get: function() {
32603
+ return node_1.getStringFromEnv;
32604
+ } });
32605
+ Object.defineProperty(exports, "getNumberFromEnv", { enumerable: true, get: function() {
32606
+ return node_1.getNumberFromEnv;
32607
+ } });
32608
+ Object.defineProperty(exports, "getStringListFromEnv", { enumerable: true, get: function() {
32609
+ return node_1.getStringListFromEnv;
32610
+ } });
32611
+ });
32612
+
32613
+ // ../../node_modules/@opentelemetry/core/build/src/common/time.js
32614
+ var require_time2 = __commonJS((exports) => {
32615
+ Object.defineProperty(exports, "__esModule", { value: true });
32616
+ exports.addHrTimes = exports.isTimeInput = exports.isTimeInputHrTime = exports.hrTimeToMicroseconds = exports.hrTimeToMilliseconds = exports.hrTimeToNanoseconds = exports.hrTimeToTimeStamp = exports.hrTimeDuration = exports.timeInputToHrTime = exports.hrTime = exports.getTimeOrigin = exports.millisToHrTime = undefined;
32617
+ var platform_1 = require_platform5();
32618
+ var NANOSECOND_DIGITS = 9;
32619
+ var NANOSECOND_DIGITS_IN_MILLIS = 6;
32620
+ var MILLISECONDS_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS_IN_MILLIS);
32621
+ var SECOND_TO_NANOSECONDS = Math.pow(10, NANOSECOND_DIGITS);
32622
+ function millisToHrTime(epochMillis) {
32623
+ const epochSeconds = epochMillis / 1000;
32624
+ const seconds = Math.trunc(epochSeconds);
32625
+ const nanos = Math.round(epochMillis % 1000 * MILLISECONDS_TO_NANOSECONDS);
32626
+ return [seconds, nanos];
32627
+ }
32628
+ exports.millisToHrTime = millisToHrTime;
32629
+ function getTimeOrigin() {
32630
+ let timeOrigin = platform_1.otperformance.timeOrigin;
32631
+ if (typeof timeOrigin !== "number") {
32632
+ const perf = platform_1.otperformance;
32633
+ timeOrigin = perf.timing && perf.timing.fetchStart;
32634
+ }
32635
+ return timeOrigin;
32636
+ }
32637
+ exports.getTimeOrigin = getTimeOrigin;
32638
+ function hrTime(performanceNow) {
32639
+ const timeOrigin = millisToHrTime(getTimeOrigin());
32640
+ const now = millisToHrTime(typeof performanceNow === "number" ? performanceNow : platform_1.otperformance.now());
32641
+ return addHrTimes(timeOrigin, now);
32642
+ }
32643
+ exports.hrTime = hrTime;
32644
+ function timeInputToHrTime(time) {
32645
+ if (isTimeInputHrTime(time)) {
32646
+ return time;
32647
+ } else if (typeof time === "number") {
32648
+ if (time < getTimeOrigin()) {
32649
+ return hrTime(time);
32650
+ } else {
32651
+ return millisToHrTime(time);
32652
+ }
32653
+ } else if (time instanceof Date) {
32654
+ return millisToHrTime(time.getTime());
32655
+ } else {
32656
+ throw TypeError("Invalid input type");
32657
+ }
32658
+ }
32659
+ exports.timeInputToHrTime = timeInputToHrTime;
32660
+ function hrTimeDuration(startTime, endTime) {
32661
+ let seconds = endTime[0] - startTime[0];
32662
+ let nanos = endTime[1] - startTime[1];
32663
+ if (nanos < 0) {
32664
+ seconds -= 1;
32665
+ nanos += SECOND_TO_NANOSECONDS;
32666
+ }
32667
+ return [seconds, nanos];
32668
+ }
32669
+ exports.hrTimeDuration = hrTimeDuration;
32670
+ function hrTimeToTimeStamp(time) {
32671
+ const precision = NANOSECOND_DIGITS;
32672
+ const tmp = `${"0".repeat(precision)}${time[1]}Z`;
32673
+ const nanoString = tmp.substring(tmp.length - precision - 1);
32674
+ const date2 = new Date(time[0] * 1000).toISOString();
32675
+ return date2.replace("000Z", nanoString);
32676
+ }
32677
+ exports.hrTimeToTimeStamp = hrTimeToTimeStamp;
32678
+ function hrTimeToNanoseconds(time) {
32679
+ return time[0] * SECOND_TO_NANOSECONDS + time[1];
32680
+ }
32681
+ exports.hrTimeToNanoseconds = hrTimeToNanoseconds;
32682
+ function hrTimeToMilliseconds(time) {
32683
+ return time[0] * 1000 + time[1] / 1e6;
32684
+ }
32685
+ exports.hrTimeToMilliseconds = hrTimeToMilliseconds;
32686
+ function hrTimeToMicroseconds(time) {
32687
+ return time[0] * 1e6 + time[1] / 1000;
32688
+ }
32689
+ exports.hrTimeToMicroseconds = hrTimeToMicroseconds;
32690
+ function isTimeInputHrTime(value) {
32691
+ return Array.isArray(value) && value.length === 2 && typeof value[0] === "number" && typeof value[1] === "number";
32692
+ }
32693
+ exports.isTimeInputHrTime = isTimeInputHrTime;
32694
+ function isTimeInput(value) {
32695
+ return isTimeInputHrTime(value) || typeof value === "number" || value instanceof Date;
32696
+ }
32697
+ exports.isTimeInput = isTimeInput;
32698
+ function addHrTimes(time1, time2) {
32699
+ const out = [time1[0] + time2[0], time1[1] + time2[1]];
32700
+ if (out[1] >= SECOND_TO_NANOSECONDS) {
32701
+ out[1] -= SECOND_TO_NANOSECONDS;
32702
+ out[0] += 1;
32703
+ }
32704
+ return out;
32705
+ }
32706
+ exports.addHrTimes = addHrTimes;
32707
+ });
32708
+
32709
+ // ../../node_modules/@opentelemetry/core/build/src/ExportResult.js
32710
+ var require_ExportResult2 = __commonJS((exports) => {
32711
+ Object.defineProperty(exports, "__esModule", { value: true });
32712
+ exports.ExportResultCode = undefined;
32713
+ var ExportResultCode;
32714
+ (function(ExportResultCode2) {
32715
+ ExportResultCode2[ExportResultCode2["SUCCESS"] = 0] = "SUCCESS";
32716
+ ExportResultCode2[ExportResultCode2["FAILED"] = 1] = "FAILED";
32717
+ })(ExportResultCode = exports.ExportResultCode || (exports.ExportResultCode = {}));
32718
+ });
32719
+
32720
+ // ../../node_modules/@opentelemetry/core/build/src/propagation/composite.js
32721
+ var require_composite2 = __commonJS((exports) => {
32722
+ Object.defineProperty(exports, "__esModule", { value: true });
32723
+ exports.CompositePropagator = undefined;
32724
+ var api_1 = require_src();
32725
+
32726
+ class CompositePropagator {
32727
+ _propagators;
32728
+ _fields;
32729
+ constructor(config = {}) {
32730
+ this._propagators = config.propagators ?? [];
32731
+ this._fields = Array.from(new Set(this._propagators.map((p) => typeof p.fields === "function" ? p.fields() : []).reduce((x, y) => x.concat(y), [])));
32732
+ }
32733
+ inject(context, carrier, setter) {
32734
+ for (const propagator of this._propagators) {
32735
+ try {
32736
+ propagator.inject(context, carrier, setter);
32737
+ } catch (err) {
32738
+ api_1.diag.warn(`Failed to inject with ${propagator.constructor.name}. Err: ${err.message}`);
32739
+ }
32740
+ }
32741
+ }
32742
+ extract(context, carrier, getter) {
32743
+ return this._propagators.reduce((ctx, propagator) => {
32744
+ try {
32745
+ return propagator.extract(ctx, carrier, getter);
32746
+ } catch (err) {
32747
+ api_1.diag.warn(`Failed to extract with ${propagator.constructor.name}. Err: ${err.message}`);
32748
+ }
32749
+ return ctx;
32750
+ }, context);
32751
+ }
32752
+ fields() {
32753
+ return this._fields.slice();
32754
+ }
32755
+ }
32756
+ exports.CompositePropagator = CompositePropagator;
32757
+ });
32758
+
32759
+ // ../../node_modules/@opentelemetry/core/build/src/internal/validators.js
32760
+ var require_validators2 = __commonJS((exports) => {
32761
+ Object.defineProperty(exports, "__esModule", { value: true });
32762
+ exports.validateValue = exports.validateKey = undefined;
32763
+ var VALID_KEY_CHAR_RANGE = "[_0-9a-z-*/]";
32764
+ var VALID_KEY = `[a-z]${VALID_KEY_CHAR_RANGE}{0,255}`;
32765
+ var VALID_VENDOR_KEY = `[a-z0-9]${VALID_KEY_CHAR_RANGE}{0,240}@[a-z]${VALID_KEY_CHAR_RANGE}{0,13}`;
32766
+ var VALID_KEY_REGEX = new RegExp(`^(?:${VALID_KEY}|${VALID_VENDOR_KEY})$`);
32767
+ var VALID_VALUE_BASE_REGEX = /^[ -~]{0,255}[!-~]$/;
32768
+ var INVALID_VALUE_COMMA_EQUAL_REGEX = /,|=/;
32769
+ function validateKey(key) {
32770
+ return VALID_KEY_REGEX.test(key);
32771
+ }
32772
+ exports.validateKey = validateKey;
32773
+ function validateValue(value) {
32774
+ return VALID_VALUE_BASE_REGEX.test(value) && !INVALID_VALUE_COMMA_EQUAL_REGEX.test(value);
32775
+ }
32776
+ exports.validateValue = validateValue;
32777
+ });
32778
+
32779
+ // ../../node_modules/@opentelemetry/core/build/src/trace/TraceState.js
32780
+ var require_TraceState2 = __commonJS((exports) => {
32781
+ Object.defineProperty(exports, "__esModule", { value: true });
32782
+ exports.TraceState = undefined;
32783
+ var validators_1 = require_validators2();
32784
+ var MAX_TRACE_STATE_ITEMS = 32;
32785
+ var MAX_TRACE_STATE_LEN = 512;
32786
+ var LIST_MEMBERS_SEPARATOR = ",";
32787
+ var LIST_MEMBER_KEY_VALUE_SPLITTER = "=";
32788
+
32789
+ class TraceState {
32790
+ _internalState = new Map;
32791
+ constructor(rawTraceState) {
32792
+ if (rawTraceState)
32793
+ this._parse(rawTraceState);
32794
+ }
32795
+ set(key, value) {
32796
+ const traceState = this._clone();
32797
+ if (traceState._internalState.has(key)) {
32798
+ traceState._internalState.delete(key);
32799
+ }
32800
+ traceState._internalState.set(key, value);
32801
+ return traceState;
32802
+ }
32803
+ unset(key) {
32804
+ const traceState = this._clone();
32805
+ traceState._internalState.delete(key);
32806
+ return traceState;
32807
+ }
32808
+ get(key) {
32809
+ return this._internalState.get(key);
32810
+ }
32811
+ serialize() {
32812
+ return this._keys().reduce((agg, key) => {
32813
+ agg.push(key + LIST_MEMBER_KEY_VALUE_SPLITTER + this.get(key));
32814
+ return agg;
32815
+ }, []).join(LIST_MEMBERS_SEPARATOR);
32816
+ }
32817
+ _parse(rawTraceState) {
32818
+ if (rawTraceState.length > MAX_TRACE_STATE_LEN)
32819
+ return;
32820
+ this._internalState = rawTraceState.split(LIST_MEMBERS_SEPARATOR).reverse().reduce((agg, part) => {
32821
+ const listMember = part.trim();
32822
+ const i = listMember.indexOf(LIST_MEMBER_KEY_VALUE_SPLITTER);
32823
+ if (i !== -1) {
32824
+ const key = listMember.slice(0, i);
32825
+ const value = listMember.slice(i + 1, part.length);
32826
+ if ((0, validators_1.validateKey)(key) && (0, validators_1.validateValue)(value)) {
32827
+ agg.set(key, value);
32828
+ } else {}
32829
+ }
32830
+ return agg;
32831
+ }, new Map);
32832
+ if (this._internalState.size > MAX_TRACE_STATE_ITEMS) {
32833
+ this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, MAX_TRACE_STATE_ITEMS));
32834
+ }
32835
+ }
32836
+ _keys() {
32837
+ return Array.from(this._internalState.keys()).reverse();
32838
+ }
32839
+ _clone() {
32840
+ const traceState = new TraceState;
32841
+ traceState._internalState = new Map(this._internalState);
32842
+ return traceState;
32843
+ }
32844
+ }
32845
+ exports.TraceState = TraceState;
32846
+ });
32847
+
32848
+ // ../../node_modules/@opentelemetry/core/build/src/trace/W3CTraceContextPropagator.js
32849
+ var require_W3CTraceContextPropagator2 = __commonJS((exports) => {
32850
+ Object.defineProperty(exports, "__esModule", { value: true });
32851
+ exports.W3CTraceContextPropagator = exports.parseTraceParent = exports.TRACE_STATE_HEADER = exports.TRACE_PARENT_HEADER = undefined;
32852
+ var api_1 = require_src();
32853
+ var suppress_tracing_1 = require_suppress_tracing2();
32854
+ var TraceState_1 = require_TraceState2();
32855
+ exports.TRACE_PARENT_HEADER = "traceparent";
32856
+ exports.TRACE_STATE_HEADER = "tracestate";
32857
+ var VERSION = "00";
32858
+ var VERSION_PART = "(?!ff)[\\da-f]{2}";
32859
+ var TRACE_ID_PART = "(?![0]{32})[\\da-f]{32}";
32860
+ var PARENT_ID_PART = "(?![0]{16})[\\da-f]{16}";
32861
+ var FLAGS_PART = "[\\da-f]{2}";
32862
+ var TRACE_PARENT_REGEX = new RegExp(`^\\s?(${VERSION_PART})-(${TRACE_ID_PART})-(${PARENT_ID_PART})-(${FLAGS_PART})(-.*)?\\s?$`);
32863
+ function parseTraceParent(traceParent) {
32864
+ const match = TRACE_PARENT_REGEX.exec(traceParent);
32865
+ if (!match)
32866
+ return null;
32867
+ if (match[1] === "00" && match[5])
32868
+ return null;
32869
+ return {
32870
+ traceId: match[2],
32871
+ spanId: match[3],
32872
+ traceFlags: parseInt(match[4], 16)
32873
+ };
32874
+ }
32875
+ exports.parseTraceParent = parseTraceParent;
32876
+
32877
+ class W3CTraceContextPropagator {
32878
+ inject(context, carrier, setter) {
32879
+ const spanContext = api_1.trace.getSpanContext(context);
32880
+ if (!spanContext || (0, suppress_tracing_1.isTracingSuppressed)(context) || !(0, api_1.isSpanContextValid)(spanContext))
32881
+ return;
32882
+ const traceParent = `${VERSION}-${spanContext.traceId}-${spanContext.spanId}-0${Number(spanContext.traceFlags || api_1.TraceFlags.NONE).toString(16)}`;
32883
+ setter.set(carrier, exports.TRACE_PARENT_HEADER, traceParent);
32884
+ if (spanContext.traceState) {
32885
+ setter.set(carrier, exports.TRACE_STATE_HEADER, spanContext.traceState.serialize());
32886
+ }
32887
+ }
32888
+ extract(context, carrier, getter) {
32889
+ const traceParentHeader = getter.get(carrier, exports.TRACE_PARENT_HEADER);
32890
+ if (!traceParentHeader)
32891
+ return context;
32892
+ const traceParent = Array.isArray(traceParentHeader) ? traceParentHeader[0] : traceParentHeader;
32893
+ if (typeof traceParent !== "string")
32894
+ return context;
32895
+ const spanContext = parseTraceParent(traceParent);
32896
+ if (!spanContext)
32897
+ return context;
32898
+ spanContext.isRemote = true;
32899
+ const traceStateHeader = getter.get(carrier, exports.TRACE_STATE_HEADER);
32900
+ if (traceStateHeader) {
32901
+ const state2 = Array.isArray(traceStateHeader) ? traceStateHeader.join(",") : traceStateHeader;
32902
+ spanContext.traceState = new TraceState_1.TraceState(typeof state2 === "string" ? state2 : undefined);
32903
+ }
32904
+ return api_1.trace.setSpanContext(context, spanContext);
32905
+ }
32906
+ fields() {
32907
+ return [exports.TRACE_PARENT_HEADER, exports.TRACE_STATE_HEADER];
32908
+ }
32909
+ }
32910
+ exports.W3CTraceContextPropagator = W3CTraceContextPropagator;
32911
+ });
32912
+
32913
+ // ../../node_modules/@opentelemetry/core/build/src/trace/rpc-metadata.js
32914
+ var require_rpc_metadata2 = __commonJS((exports) => {
32915
+ Object.defineProperty(exports, "__esModule", { value: true });
32916
+ exports.getRPCMetadata = exports.deleteRPCMetadata = exports.setRPCMetadata = exports.RPCType = undefined;
32917
+ var api_1 = require_src();
32918
+ var RPC_METADATA_KEY = (0, api_1.createContextKey)("OpenTelemetry SDK Context Key RPC_METADATA");
32919
+ var RPCType;
32920
+ (function(RPCType2) {
32921
+ RPCType2["HTTP"] = "http";
32922
+ })(RPCType = exports.RPCType || (exports.RPCType = {}));
32923
+ function setRPCMetadata(context, meta) {
32924
+ return context.setValue(RPC_METADATA_KEY, meta);
32925
+ }
32926
+ exports.setRPCMetadata = setRPCMetadata;
32927
+ function deleteRPCMetadata(context) {
32928
+ return context.deleteValue(RPC_METADATA_KEY);
32929
+ }
32930
+ exports.deleteRPCMetadata = deleteRPCMetadata;
32931
+ function getRPCMetadata(context) {
32932
+ return context.getValue(RPC_METADATA_KEY);
32933
+ }
32934
+ exports.getRPCMetadata = getRPCMetadata;
32935
+ });
32936
+
32937
+ // ../../node_modules/@opentelemetry/core/build/src/utils/lodash.merge.js
32938
+ var require_lodash_merge2 = __commonJS((exports) => {
32939
+ Object.defineProperty(exports, "__esModule", { value: true });
32940
+ exports.isPlainObject = undefined;
32941
+ var objectTag = "[object Object]";
32942
+ var nullTag = "[object Null]";
32943
+ var undefinedTag = "[object Undefined]";
32944
+ var funcProto = Function.prototype;
32945
+ var funcToString = funcProto.toString;
32946
+ var objectCtorString = funcToString.call(Object);
32947
+ var getPrototypeOf = Object.getPrototypeOf;
32948
+ var objectProto = Object.prototype;
32949
+ var hasOwnProperty2 = objectProto.hasOwnProperty;
32950
+ var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
32951
+ var nativeObjectToString = objectProto.toString;
32952
+ function isPlainObject3(value) {
32953
+ if (!isObjectLike(value) || baseGetTag(value) !== objectTag) {
32954
+ return false;
32955
+ }
32956
+ const proto = getPrototypeOf(value);
32957
+ if (proto === null) {
32958
+ return true;
32959
+ }
32960
+ const Ctor = hasOwnProperty2.call(proto, "constructor") && proto.constructor;
32961
+ return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) === objectCtorString;
32962
+ }
32963
+ exports.isPlainObject = isPlainObject3;
32964
+ function isObjectLike(value) {
32965
+ return value != null && typeof value == "object";
32966
+ }
32967
+ function baseGetTag(value) {
32968
+ if (value == null) {
32969
+ return value === undefined ? undefinedTag : nullTag;
32970
+ }
32971
+ return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString3(value);
32972
+ }
32973
+ function getRawTag(value) {
32974
+ const isOwn = hasOwnProperty2.call(value, symToStringTag), tag = value[symToStringTag];
32975
+ let unmasked = false;
32976
+ try {
32977
+ value[symToStringTag] = undefined;
32978
+ unmasked = true;
32979
+ } catch {}
32980
+ const result = nativeObjectToString.call(value);
32981
+ if (unmasked) {
32982
+ if (isOwn) {
32983
+ value[symToStringTag] = tag;
32984
+ } else {
32985
+ delete value[symToStringTag];
32986
+ }
32987
+ }
32988
+ return result;
32989
+ }
32990
+ function objectToString3(value) {
32991
+ return nativeObjectToString.call(value);
32992
+ }
32993
+ });
32994
+
32995
+ // ../../node_modules/@opentelemetry/core/build/src/utils/merge.js
32996
+ var require_merge2 = __commonJS((exports) => {
32997
+ Object.defineProperty(exports, "__esModule", { value: true });
32998
+ exports.merge = undefined;
32999
+ var lodash_merge_1 = require_lodash_merge2();
33000
+ var MAX_LEVEL = 20;
33001
+ function merge3(...args) {
33002
+ let result = args.shift();
33003
+ const objects = new WeakMap;
33004
+ while (args.length > 0) {
33005
+ result = mergeTwoObjects(result, args.shift(), 0, objects);
33006
+ }
33007
+ return result;
33008
+ }
33009
+ exports.merge = merge3;
33010
+ function takeValue(value) {
33011
+ if (isArray(value)) {
33012
+ return value.slice();
33013
+ }
33014
+ return value;
33015
+ }
33016
+ function mergeTwoObjects(one, two, level = 0, objects) {
33017
+ let result;
33018
+ if (level > MAX_LEVEL) {
33019
+ return;
33020
+ }
33021
+ level++;
33022
+ if (isPrimitive3(one) || isPrimitive3(two) || isFunction(two)) {
33023
+ result = takeValue(two);
33024
+ } else if (isArray(one)) {
33025
+ result = one.slice();
33026
+ if (isArray(two)) {
33027
+ for (let i = 0, j = two.length;i < j; i++) {
33028
+ result.push(takeValue(two[i]));
33029
+ }
33030
+ } else if (isObject(two)) {
33031
+ const keys = Object.keys(two);
33032
+ for (let i = 0, j = keys.length;i < j; i++) {
33033
+ const key = keys[i];
33034
+ result[key] = takeValue(two[key]);
33035
+ }
33036
+ }
33037
+ } else if (isObject(one)) {
33038
+ if (isObject(two)) {
33039
+ if (!shouldMerge(one, two)) {
33040
+ return two;
33041
+ }
33042
+ result = Object.assign({}, one);
33043
+ const keys = Object.keys(two);
33044
+ for (let i = 0, j = keys.length;i < j; i++) {
33045
+ const key = keys[i];
33046
+ const twoValue = two[key];
33047
+ if (isPrimitive3(twoValue)) {
33048
+ if (typeof twoValue === "undefined") {
33049
+ delete result[key];
33050
+ } else {
33051
+ result[key] = twoValue;
33052
+ }
33053
+ } else {
33054
+ const obj1 = result[key];
33055
+ const obj2 = twoValue;
33056
+ if (wasObjectReferenced(one, key, objects) || wasObjectReferenced(two, key, objects)) {
33057
+ delete result[key];
33058
+ } else {
33059
+ if (isObject(obj1) && isObject(obj2)) {
33060
+ const arr1 = objects.get(obj1) || [];
33061
+ const arr2 = objects.get(obj2) || [];
33062
+ arr1.push({ obj: one, key });
33063
+ arr2.push({ obj: two, key });
33064
+ objects.set(obj1, arr1);
33065
+ objects.set(obj2, arr2);
33066
+ }
33067
+ result[key] = mergeTwoObjects(result[key], twoValue, level, objects);
33068
+ }
33069
+ }
33070
+ }
33071
+ } else {
33072
+ result = two;
33073
+ }
33074
+ }
33075
+ return result;
33076
+ }
33077
+ function wasObjectReferenced(obj, key, objects) {
33078
+ const arr2 = objects.get(obj[key]) || [];
33079
+ for (let i = 0, j = arr2.length;i < j; i++) {
33080
+ const info2 = arr2[i];
33081
+ if (info2.key === key && info2.obj === obj) {
33082
+ return true;
33083
+ }
33084
+ }
33085
+ return false;
33086
+ }
33087
+ function isArray(value) {
33088
+ return Array.isArray(value);
33089
+ }
33090
+ function isFunction(value) {
33091
+ return typeof value === "function";
33092
+ }
33093
+ function isObject(value) {
33094
+ return !isPrimitive3(value) && !isArray(value) && !isFunction(value) && typeof value === "object";
33095
+ }
33096
+ function isPrimitive3(value) {
33097
+ return typeof value === "string" || typeof value === "number" || typeof value === "boolean" || typeof value === "undefined" || value instanceof Date || value instanceof RegExp || value === null;
33098
+ }
33099
+ function shouldMerge(one, two) {
33100
+ if (!(0, lodash_merge_1.isPlainObject)(one) || !(0, lodash_merge_1.isPlainObject)(two)) {
33101
+ return false;
33102
+ }
33103
+ return true;
33104
+ }
33105
+ });
33106
+
33107
+ // ../../node_modules/@opentelemetry/core/build/src/utils/timeout.js
33108
+ var require_timeout2 = __commonJS((exports) => {
33109
+ Object.defineProperty(exports, "__esModule", { value: true });
33110
+ exports.callWithTimeout = exports.TimeoutError = undefined;
33111
+
33112
+ class TimeoutError extends Error {
33113
+ constructor(message2) {
33114
+ super(message2);
33115
+ Object.setPrototypeOf(this, TimeoutError.prototype);
33116
+ }
33117
+ }
33118
+ exports.TimeoutError = TimeoutError;
33119
+ function callWithTimeout(promise2, timeout) {
33120
+ let timeoutHandle;
33121
+ const timeoutPromise = new Promise(function timeoutFunction(_resolve, reject) {
33122
+ timeoutHandle = setTimeout(function timeoutHandler() {
33123
+ reject(new TimeoutError("Operation timed out."));
33124
+ }, timeout);
33125
+ });
33126
+ return Promise.race([promise2, timeoutPromise]).then((result) => {
33127
+ clearTimeout(timeoutHandle);
33128
+ return result;
33129
+ }, (reason) => {
33130
+ clearTimeout(timeoutHandle);
33131
+ throw reason;
33132
+ });
33133
+ }
33134
+ exports.callWithTimeout = callWithTimeout;
33135
+ });
33136
+
33137
+ // ../../node_modules/@opentelemetry/core/build/src/utils/url.js
33138
+ var require_url2 = __commonJS((exports) => {
33139
+ Object.defineProperty(exports, "__esModule", { value: true });
33140
+ exports.isUrlIgnored = exports.urlMatches = undefined;
33141
+ function urlMatches(url, urlToMatch) {
33142
+ if (typeof urlToMatch === "string") {
33143
+ return url === urlToMatch;
33144
+ } else {
33145
+ return !!url.match(urlToMatch);
33146
+ }
33147
+ }
33148
+ exports.urlMatches = urlMatches;
33149
+ function isUrlIgnored(url, ignoredUrls) {
33150
+ if (!ignoredUrls) {
33151
+ return false;
33152
+ }
33153
+ for (const ignoreUrl of ignoredUrls) {
33154
+ if (urlMatches(url, ignoreUrl)) {
33155
+ return true;
33156
+ }
33157
+ }
33158
+ return false;
33159
+ }
33160
+ exports.isUrlIgnored = isUrlIgnored;
33161
+ });
33162
+
33163
+ // ../../node_modules/@opentelemetry/core/build/src/utils/promise.js
33164
+ var require_promise2 = __commonJS((exports) => {
33165
+ Object.defineProperty(exports, "__esModule", { value: true });
33166
+ exports.Deferred = undefined;
33167
+
33168
+ class Deferred {
33169
+ _promise;
33170
+ _resolve;
33171
+ _reject;
33172
+ constructor() {
33173
+ this._promise = new Promise((resolve3, reject) => {
33174
+ this._resolve = resolve3;
33175
+ this._reject = reject;
33176
+ });
33177
+ }
33178
+ get promise() {
33179
+ return this._promise;
33180
+ }
33181
+ resolve(val) {
33182
+ this._resolve(val);
33183
+ }
33184
+ reject(err) {
33185
+ this._reject(err);
33186
+ }
33187
+ }
33188
+ exports.Deferred = Deferred;
33189
+ });
33190
+
33191
+ // ../../node_modules/@opentelemetry/core/build/src/utils/callback.js
33192
+ var require_callback2 = __commonJS((exports) => {
33193
+ Object.defineProperty(exports, "__esModule", { value: true });
33194
+ exports.BindOnceFuture = undefined;
33195
+ var promise_1 = require_promise2();
33196
+
33197
+ class BindOnceFuture {
33198
+ _callback;
33199
+ _that;
33200
+ _isCalled = false;
33201
+ _deferred = new promise_1.Deferred;
33202
+ constructor(_callback, _that) {
33203
+ this._callback = _callback;
33204
+ this._that = _that;
33205
+ }
33206
+ get isCalled() {
33207
+ return this._isCalled;
33208
+ }
33209
+ get promise() {
33210
+ return this._deferred.promise;
33211
+ }
33212
+ call(...args) {
33213
+ if (!this._isCalled) {
33214
+ this._isCalled = true;
33215
+ try {
33216
+ Promise.resolve(this._callback.call(this._that, ...args)).then((val) => this._deferred.resolve(val), (err) => this._deferred.reject(err));
33217
+ } catch (err) {
33218
+ this._deferred.reject(err);
33219
+ }
33220
+ }
33221
+ return this._deferred.promise;
33222
+ }
33223
+ }
33224
+ exports.BindOnceFuture = BindOnceFuture;
33225
+ });
33226
+
33227
+ // ../../node_modules/@opentelemetry/core/build/src/utils/configuration.js
33228
+ var require_configuration2 = __commonJS((exports) => {
33229
+ Object.defineProperty(exports, "__esModule", { value: true });
33230
+ exports.diagLogLevelFromString = undefined;
33231
+ var api_1 = require_src();
33232
+ var logLevelMap = {
33233
+ ALL: api_1.DiagLogLevel.ALL,
33234
+ VERBOSE: api_1.DiagLogLevel.VERBOSE,
33235
+ DEBUG: api_1.DiagLogLevel.DEBUG,
33236
+ INFO: api_1.DiagLogLevel.INFO,
33237
+ WARN: api_1.DiagLogLevel.WARN,
33238
+ ERROR: api_1.DiagLogLevel.ERROR,
33239
+ NONE: api_1.DiagLogLevel.NONE
33240
+ };
33241
+ function diagLogLevelFromString(value) {
33242
+ if (value == null) {
33243
+ return;
33244
+ }
33245
+ const resolvedLogLevel = logLevelMap[value.toUpperCase()];
33246
+ if (resolvedLogLevel == null) {
33247
+ api_1.diag.warn(`Unknown log level "${value}", expected one of ${Object.keys(logLevelMap)}, using default`);
33248
+ return api_1.DiagLogLevel.INFO;
33249
+ }
33250
+ return resolvedLogLevel;
33251
+ }
33252
+ exports.diagLogLevelFromString = diagLogLevelFromString;
33253
+ });
33254
+
33255
+ // ../../node_modules/@opentelemetry/core/build/src/internal/exporter.js
33256
+ var require_exporter2 = __commonJS((exports) => {
33257
+ Object.defineProperty(exports, "__esModule", { value: true });
33258
+ exports._export = undefined;
33259
+ var api_1 = require_src();
33260
+ var suppress_tracing_1 = require_suppress_tracing2();
33261
+ function _export(exporter, arg) {
33262
+ return new Promise((resolve3) => {
33263
+ api_1.context.with((0, suppress_tracing_1.suppressTracing)(api_1.context.active()), () => {
33264
+ exporter.export(arg, (result) => {
33265
+ resolve3(result);
33266
+ });
33267
+ });
33268
+ });
33269
+ }
33270
+ exports._export = _export;
33271
+ });
33272
+
33273
+ // ../../node_modules/@opentelemetry/core/build/src/index.js
33274
+ var require_src8 = __commonJS((exports) => {
33275
+ Object.defineProperty(exports, "__esModule", { value: true });
33276
+ exports.internal = exports.diagLogLevelFromString = exports.BindOnceFuture = exports.urlMatches = exports.isUrlIgnored = exports.callWithTimeout = exports.TimeoutError = exports.merge = exports.TraceState = exports.unsuppressTracing = exports.suppressTracing = exports.isTracingSuppressed = exports.setRPCMetadata = exports.getRPCMetadata = exports.deleteRPCMetadata = exports.RPCType = exports.parseTraceParent = exports.W3CTraceContextPropagator = exports.TRACE_STATE_HEADER = exports.TRACE_PARENT_HEADER = exports.CompositePropagator = exports.unrefTimer = exports.otperformance = exports.getStringListFromEnv = exports.getNumberFromEnv = exports.getBooleanFromEnv = exports.getStringFromEnv = exports._globalThis = exports.SDK_INFO = exports.parseKeyPairsIntoRecord = exports.ExportResultCode = exports.timeInputToHrTime = exports.millisToHrTime = exports.isTimeInputHrTime = exports.isTimeInput = exports.hrTimeToTimeStamp = exports.hrTimeToNanoseconds = exports.hrTimeToMilliseconds = exports.hrTimeToMicroseconds = exports.hrTimeDuration = exports.hrTime = exports.getTimeOrigin = exports.addHrTimes = exports.loggingErrorHandler = exports.setGlobalErrorHandler = exports.globalErrorHandler = exports.sanitizeAttributes = exports.isAttributeValue = exports.AnchoredClock = exports.W3CBaggagePropagator = undefined;
33277
+ var W3CBaggagePropagator_1 = require_W3CBaggagePropagator2();
33278
+ Object.defineProperty(exports, "W3CBaggagePropagator", { enumerable: true, get: function() {
33279
+ return W3CBaggagePropagator_1.W3CBaggagePropagator;
33280
+ } });
33281
+ var anchored_clock_1 = require_anchored_clock2();
33282
+ Object.defineProperty(exports, "AnchoredClock", { enumerable: true, get: function() {
33283
+ return anchored_clock_1.AnchoredClock;
33284
+ } });
33285
+ var attributes_1 = require_attributes2();
33286
+ Object.defineProperty(exports, "isAttributeValue", { enumerable: true, get: function() {
33287
+ return attributes_1.isAttributeValue;
33288
+ } });
33289
+ Object.defineProperty(exports, "sanitizeAttributes", { enumerable: true, get: function() {
33290
+ return attributes_1.sanitizeAttributes;
33291
+ } });
33292
+ var global_error_handler_1 = require_global_error_handler2();
33293
+ Object.defineProperty(exports, "globalErrorHandler", { enumerable: true, get: function() {
33294
+ return global_error_handler_1.globalErrorHandler;
33295
+ } });
33296
+ Object.defineProperty(exports, "setGlobalErrorHandler", { enumerable: true, get: function() {
33297
+ return global_error_handler_1.setGlobalErrorHandler;
33298
+ } });
33299
+ var logging_error_handler_1 = require_logging_error_handler2();
33300
+ Object.defineProperty(exports, "loggingErrorHandler", { enumerable: true, get: function() {
33301
+ return logging_error_handler_1.loggingErrorHandler;
33302
+ } });
33303
+ var time_1 = require_time2();
33304
+ Object.defineProperty(exports, "addHrTimes", { enumerable: true, get: function() {
33305
+ return time_1.addHrTimes;
33306
+ } });
33307
+ Object.defineProperty(exports, "getTimeOrigin", { enumerable: true, get: function() {
33308
+ return time_1.getTimeOrigin;
33309
+ } });
33310
+ Object.defineProperty(exports, "hrTime", { enumerable: true, get: function() {
33311
+ return time_1.hrTime;
33312
+ } });
33313
+ Object.defineProperty(exports, "hrTimeDuration", { enumerable: true, get: function() {
33314
+ return time_1.hrTimeDuration;
33315
+ } });
33316
+ Object.defineProperty(exports, "hrTimeToMicroseconds", { enumerable: true, get: function() {
33317
+ return time_1.hrTimeToMicroseconds;
33318
+ } });
33319
+ Object.defineProperty(exports, "hrTimeToMilliseconds", { enumerable: true, get: function() {
33320
+ return time_1.hrTimeToMilliseconds;
33321
+ } });
33322
+ Object.defineProperty(exports, "hrTimeToNanoseconds", { enumerable: true, get: function() {
33323
+ return time_1.hrTimeToNanoseconds;
33324
+ } });
33325
+ Object.defineProperty(exports, "hrTimeToTimeStamp", { enumerable: true, get: function() {
33326
+ return time_1.hrTimeToTimeStamp;
33327
+ } });
33328
+ Object.defineProperty(exports, "isTimeInput", { enumerable: true, get: function() {
33329
+ return time_1.isTimeInput;
33330
+ } });
33331
+ Object.defineProperty(exports, "isTimeInputHrTime", { enumerable: true, get: function() {
33332
+ return time_1.isTimeInputHrTime;
33333
+ } });
33334
+ Object.defineProperty(exports, "millisToHrTime", { enumerable: true, get: function() {
33335
+ return time_1.millisToHrTime;
33336
+ } });
33337
+ Object.defineProperty(exports, "timeInputToHrTime", { enumerable: true, get: function() {
33338
+ return time_1.timeInputToHrTime;
33339
+ } });
33340
+ var ExportResult_1 = require_ExportResult2();
33341
+ Object.defineProperty(exports, "ExportResultCode", { enumerable: true, get: function() {
33342
+ return ExportResult_1.ExportResultCode;
33343
+ } });
33344
+ var utils_1 = require_utils8();
33345
+ Object.defineProperty(exports, "parseKeyPairsIntoRecord", { enumerable: true, get: function() {
33346
+ return utils_1.parseKeyPairsIntoRecord;
33347
+ } });
33348
+ var platform_1 = require_platform5();
33349
+ Object.defineProperty(exports, "SDK_INFO", { enumerable: true, get: function() {
33350
+ return platform_1.SDK_INFO;
33351
+ } });
33352
+ Object.defineProperty(exports, "_globalThis", { enumerable: true, get: function() {
33353
+ return platform_1._globalThis;
33354
+ } });
33355
+ Object.defineProperty(exports, "getStringFromEnv", { enumerable: true, get: function() {
33356
+ return platform_1.getStringFromEnv;
33357
+ } });
33358
+ Object.defineProperty(exports, "getBooleanFromEnv", { enumerable: true, get: function() {
33359
+ return platform_1.getBooleanFromEnv;
33360
+ } });
33361
+ Object.defineProperty(exports, "getNumberFromEnv", { enumerable: true, get: function() {
33362
+ return platform_1.getNumberFromEnv;
33363
+ } });
33364
+ Object.defineProperty(exports, "getStringListFromEnv", { enumerable: true, get: function() {
33365
+ return platform_1.getStringListFromEnv;
33366
+ } });
33367
+ Object.defineProperty(exports, "otperformance", { enumerable: true, get: function() {
33368
+ return platform_1.otperformance;
33369
+ } });
33370
+ Object.defineProperty(exports, "unrefTimer", { enumerable: true, get: function() {
33371
+ return platform_1.unrefTimer;
33372
+ } });
33373
+ var composite_1 = require_composite2();
33374
+ Object.defineProperty(exports, "CompositePropagator", { enumerable: true, get: function() {
33375
+ return composite_1.CompositePropagator;
33376
+ } });
33377
+ var W3CTraceContextPropagator_1 = require_W3CTraceContextPropagator2();
33378
+ Object.defineProperty(exports, "TRACE_PARENT_HEADER", { enumerable: true, get: function() {
33379
+ return W3CTraceContextPropagator_1.TRACE_PARENT_HEADER;
33380
+ } });
33381
+ Object.defineProperty(exports, "TRACE_STATE_HEADER", { enumerable: true, get: function() {
33382
+ return W3CTraceContextPropagator_1.TRACE_STATE_HEADER;
33383
+ } });
33384
+ Object.defineProperty(exports, "W3CTraceContextPropagator", { enumerable: true, get: function() {
33385
+ return W3CTraceContextPropagator_1.W3CTraceContextPropagator;
33386
+ } });
33387
+ Object.defineProperty(exports, "parseTraceParent", { enumerable: true, get: function() {
33388
+ return W3CTraceContextPropagator_1.parseTraceParent;
33389
+ } });
33390
+ var rpc_metadata_1 = require_rpc_metadata2();
33391
+ Object.defineProperty(exports, "RPCType", { enumerable: true, get: function() {
33392
+ return rpc_metadata_1.RPCType;
33393
+ } });
33394
+ Object.defineProperty(exports, "deleteRPCMetadata", { enumerable: true, get: function() {
33395
+ return rpc_metadata_1.deleteRPCMetadata;
33396
+ } });
33397
+ Object.defineProperty(exports, "getRPCMetadata", { enumerable: true, get: function() {
33398
+ return rpc_metadata_1.getRPCMetadata;
33399
+ } });
33400
+ Object.defineProperty(exports, "setRPCMetadata", { enumerable: true, get: function() {
33401
+ return rpc_metadata_1.setRPCMetadata;
33402
+ } });
33403
+ var suppress_tracing_1 = require_suppress_tracing2();
33404
+ Object.defineProperty(exports, "isTracingSuppressed", { enumerable: true, get: function() {
33405
+ return suppress_tracing_1.isTracingSuppressed;
33406
+ } });
33407
+ Object.defineProperty(exports, "suppressTracing", { enumerable: true, get: function() {
33408
+ return suppress_tracing_1.suppressTracing;
33409
+ } });
33410
+ Object.defineProperty(exports, "unsuppressTracing", { enumerable: true, get: function() {
33411
+ return suppress_tracing_1.unsuppressTracing;
33412
+ } });
33413
+ var TraceState_1 = require_TraceState2();
33414
+ Object.defineProperty(exports, "TraceState", { enumerable: true, get: function() {
33415
+ return TraceState_1.TraceState;
33416
+ } });
33417
+ var merge_1 = require_merge2();
33418
+ Object.defineProperty(exports, "merge", { enumerable: true, get: function() {
33419
+ return merge_1.merge;
33420
+ } });
33421
+ var timeout_1 = require_timeout2();
33422
+ Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function() {
33423
+ return timeout_1.TimeoutError;
33424
+ } });
33425
+ Object.defineProperty(exports, "callWithTimeout", { enumerable: true, get: function() {
33426
+ return timeout_1.callWithTimeout;
33427
+ } });
33428
+ var url_1 = require_url2();
33429
+ Object.defineProperty(exports, "isUrlIgnored", { enumerable: true, get: function() {
33430
+ return url_1.isUrlIgnored;
33431
+ } });
33432
+ Object.defineProperty(exports, "urlMatches", { enumerable: true, get: function() {
33433
+ return url_1.urlMatches;
33434
+ } });
33435
+ var callback_1 = require_callback2();
33436
+ Object.defineProperty(exports, "BindOnceFuture", { enumerable: true, get: function() {
33437
+ return callback_1.BindOnceFuture;
33438
+ } });
33439
+ var configuration_1 = require_configuration2();
33440
+ Object.defineProperty(exports, "diagLogLevelFromString", { enumerable: true, get: function() {
33441
+ return configuration_1.diagLogLevelFromString;
33442
+ } });
33443
+ var exporter_1 = require_exporter2();
33444
+ exports.internal = {
33445
+ _export: exporter_1._export
33446
+ };
33447
+ });
33448
+
33449
+ // ../../node_modules/@sentry/node-core/build/esm/debug-build.js
33450
+ var DEBUG_BUILD3;
33451
+ var init_debug_build3 = __esm(() => {
33452
+ DEBUG_BUILD3 = typeof __SENTRY_DEBUG__ === "undefined" || __SENTRY_DEBUG__;
33453
+ });
33454
+
33455
+ // ../../node_modules/@sentry/node-core/build/esm/utils/getRequestUrl.js
33456
+ function getRequestUrl(requestOptions) {
33457
+ const protocol = requestOptions.protocol || "";
33458
+ const hostname = requestOptions.hostname || requestOptions.host || "";
33459
+ const port = !requestOptions.port || requestOptions.port === 80 || requestOptions.port === 443 || /^(.*):(\d+)$/.test(hostname) ? "" : `:${requestOptions.port}`;
33460
+ const path = requestOptions.path ? requestOptions.path : "/";
33461
+ return `${protocol}//${hostname}${port}${path}`;
33462
+ }
33463
+ var init_getRequestUrl = () => {};
33464
+
33465
+ // ../../node_modules/@sentry/node-core/build/esm/integrations/http/constants.js
33466
+ var INSTRUMENTATION_NAME = "@sentry/instrumentation-http", MAX_BODY_BYTE_LENGTH;
33467
+ var init_constants8 = __esm(() => {
33468
+ MAX_BODY_BYTE_LENGTH = 1024 * 1024;
33469
+ });
33470
+
33471
+ // ../../node_modules/@sentry/node-core/build/esm/integrations/http/incoming-requests.js
33472
+ import { errorMonitor } from "events";
33473
+ function instrumentServer(server, {
33474
+ ignoreIncomingRequestBody,
33475
+ ignoreSpansForIncomingRequests,
33476
+ maxIncomingRequestBodySize = "medium",
33477
+ trackIncomingRequestsAsSessions = true,
33478
+ spans,
33479
+ ignoreStaticAssets = true,
33480
+ sessionFlushingDelayMS,
33481
+ instrumentation,
33482
+ incomingRequestSpanHook
33483
+ }) {
33484
+ const originalEmit = server.emit;
33485
+ if (wrappedEmitFns.has(originalEmit)) {
33486
+ DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, "Incoming requests already instrumented, not instrumenting again...");
33487
+ return;
33488
+ }
33489
+ const { requestHook, responseHook, applyCustomAttributesOnSpan } = instrumentation ?? {};
33490
+ const newEmit = new Proxy(originalEmit, {
33491
+ apply(target, thisArg, args) {
33492
+ if (args[0] !== "request") {
33493
+ return target.apply(thisArg, args);
33494
+ }
33495
+ if (import_api2.context.active().getValue(HTTP_SERVER_INSTRUMENTED_KEY)) {
33496
+ return target.apply(thisArg, args);
33497
+ }
33498
+ DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, "Handling incoming request");
33499
+ const client2 = getClient2();
33500
+ const isolationScope = getIsolationScope2().clone();
33501
+ const request = args[1];
33502
+ const response = args[2];
33503
+ const normalizedRequest = httpRequestToRequestData2(request);
33504
+ const ipAddress = request.ip || request.socket?.remoteAddress;
33505
+ const url = request.url || "/";
33506
+ if (maxIncomingRequestBodySize !== "none" && !ignoreIncomingRequestBody?.(url, request)) {
33507
+ patchRequestToCaptureBody(request, isolationScope, maxIncomingRequestBodySize);
33508
+ }
33509
+ isolationScope.setSDKProcessingMetadata({ normalizedRequest, ipAddress });
33510
+ const httpMethod = (request.method || "GET").toUpperCase();
33511
+ const httpTargetWithoutQueryFragment = stripUrlQueryAndFragment(url);
33512
+ const bestEffortTransactionName = `${httpMethod} ${httpTargetWithoutQueryFragment}`;
33513
+ isolationScope.setTransactionName(bestEffortTransactionName);
33514
+ if (trackIncomingRequestsAsSessions !== false) {
33515
+ recordRequestSession({
33516
+ requestIsolationScope: isolationScope,
33517
+ response,
33518
+ sessionFlushingDelayMS: sessionFlushingDelayMS ?? 60000
33519
+ });
33520
+ }
33521
+ return withIsolationScope4(isolationScope, () => {
33522
+ getCurrentScope2().getPropagationContext().propagationSpanId = generateSpanId2();
33523
+ const ctx = import_api2.propagation.extract(import_api2.context.active(), normalizedRequest.headers).setValue(HTTP_SERVER_INSTRUMENTED_KEY, true);
33524
+ return import_api2.context.with(ctx, () => {
33525
+ if (typeof __SENTRY_TRACING__ !== "undefined" && !__SENTRY_TRACING__ || !spans || !client2 || shouldIgnoreSpansForIncomingRequest(request, {
33526
+ ignoreStaticAssets,
33527
+ ignoreSpansForIncomingRequests
33528
+ })) {
33529
+ DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, "Skipping span creation for incoming request");
33530
+ return target.apply(thisArg, args);
33531
+ }
33532
+ const fullUrl = normalizedRequest.url || url;
33533
+ const urlObj = parseStringToURLObject2(fullUrl);
33534
+ const headers = request.headers;
33535
+ const userAgent = headers["user-agent"];
33536
+ const ips = headers["x-forwarded-for"];
33537
+ const httpVersion = request.httpVersion;
33538
+ const host = headers.host;
33539
+ const hostname = host?.replace(/^(.*)(:[0-9]{1,5})/, "$1") || "localhost";
33540
+ const tracer = client2.tracer;
33541
+ const scheme = fullUrl.startsWith("https") ? "https" : "http";
33542
+ const span = tracer.startSpan(bestEffortTransactionName, {
33543
+ kind: import_api2.SpanKind.SERVER,
33544
+ attributes: {
33545
+ [SEMANTIC_ATTRIBUTE_SENTRY_OP2]: "http.server",
33546
+ [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN2]: "auto.http.otel.http",
33547
+ "sentry.http.prefetch": isKnownPrefetchRequest(request) || undefined,
33548
+ "http.url": fullUrl,
33549
+ "http.method": httpMethod,
33550
+ "http.target": urlObj ? `${urlObj.pathname}${urlObj.search}` : httpTargetWithoutQueryFragment,
33551
+ "http.host": host,
33552
+ "net.host.name": hostname,
33553
+ "http.client_ip": typeof ips === "string" ? ips.split(",")[0] : undefined,
33554
+ "http.user_agent": userAgent,
33555
+ "http.scheme": scheme,
33556
+ "http.flavor": httpVersion,
33557
+ "net.transport": httpVersion?.toUpperCase() === "QUIC" ? "ip_udp" : "ip_tcp",
33558
+ ...getRequestContentLengthAttribute(request)
33559
+ }
33560
+ });
33561
+ requestHook?.(span, request);
33562
+ responseHook?.(span, response);
33563
+ applyCustomAttributesOnSpan?.(span, request, response);
33564
+ incomingRequestSpanHook?.(span, request, response);
33565
+ const rpcMetadata = {
33566
+ type: import_core6.RPCType.HTTP,
33567
+ span
33568
+ };
33569
+ import_api2.context.with(import_core6.setRPCMetadata(import_api2.trace.setSpan(import_api2.context.active(), span), rpcMetadata), () => {
33570
+ import_api2.context.bind(import_api2.context.active(), request);
33571
+ import_api2.context.bind(import_api2.context.active(), response);
33572
+ let isEnded = false;
33573
+ function endSpan(status) {
33574
+ if (isEnded) {
33575
+ return;
33576
+ }
33577
+ isEnded = true;
33578
+ const newAttributes = getIncomingRequestAttributesOnResponse(request, response);
33579
+ span.setAttributes(newAttributes);
33580
+ span.setStatus(status);
33581
+ span.end();
33582
+ const route = newAttributes["http.route"];
33583
+ if (route) {
33584
+ getIsolationScope2().setTransactionName(`${request.method?.toUpperCase() || "GET"} ${route}`);
33585
+ }
33586
+ }
33587
+ response.on("close", () => {
33588
+ endSpan(getSpanStatusFromHttpCode2(response.statusCode));
33589
+ });
33590
+ response.on(errorMonitor, () => {
33591
+ const httpStatus = getSpanStatusFromHttpCode2(response.statusCode);
33592
+ endSpan(httpStatus.code === SPAN_STATUS_ERROR2 ? httpStatus : { code: SPAN_STATUS_ERROR2 });
33593
+ });
33594
+ return target.apply(thisArg, args);
33595
+ });
33596
+ });
33597
+ });
33598
+ }
33599
+ });
33600
+ wrappedEmitFns.add(newEmit);
33601
+ server.emit = newEmit;
33602
+ }
33603
+ function recordRequestSession({
33604
+ requestIsolationScope,
33605
+ response,
33606
+ sessionFlushingDelayMS
33607
+ }) {
33608
+ requestIsolationScope.setSDKProcessingMetadata({
33609
+ requestSession: { status: "ok" }
33610
+ });
33611
+ response.once("close", () => {
33612
+ const client2 = getClient2();
33613
+ const requestSession = requestIsolationScope.getScopeData().sdkProcessingMetadata.requestSession;
33614
+ if (client2 && requestSession) {
33615
+ DEBUG_BUILD3 && debug2.log(`Recorded request session with status: ${requestSession.status}`);
33616
+ const roundedDate = new Date;
33617
+ roundedDate.setSeconds(0, 0);
33618
+ const dateBucketKey = roundedDate.toISOString();
33619
+ const existingClientAggregate = clientToRequestSessionAggregatesMap.get(client2);
33620
+ const bucket = existingClientAggregate?.[dateBucketKey] || { exited: 0, crashed: 0, errored: 0 };
33621
+ bucket[{ ok: "exited", crashed: "crashed", errored: "errored" }[requestSession.status]]++;
33622
+ if (existingClientAggregate) {
33623
+ existingClientAggregate[dateBucketKey] = bucket;
33624
+ } else {
33625
+ DEBUG_BUILD3 && debug2.log("Opened new request session aggregate.");
33626
+ const newClientAggregate = { [dateBucketKey]: bucket };
33627
+ clientToRequestSessionAggregatesMap.set(client2, newClientAggregate);
33628
+ const flushPendingClientAggregates = () => {
33629
+ clearTimeout(timeout);
33630
+ unregisterClientFlushHook();
33631
+ clientToRequestSessionAggregatesMap.delete(client2);
33632
+ const aggregatePayload = Object.entries(newClientAggregate).map(([timestamp, value]) => ({
33633
+ started: timestamp,
33634
+ exited: value.exited,
33635
+ errored: value.errored,
33636
+ crashed: value.crashed
33637
+ }));
33638
+ client2.sendSession({ aggregates: aggregatePayload });
33639
+ };
33640
+ const unregisterClientFlushHook = client2.on("flush", () => {
33641
+ DEBUG_BUILD3 && debug2.log("Sending request session aggregate due to client flush");
33642
+ flushPendingClientAggregates();
33643
+ });
33644
+ const timeout = setTimeout(() => {
33645
+ DEBUG_BUILD3 && debug2.log("Sending request session aggregate due to flushing schedule");
33646
+ flushPendingClientAggregates();
33647
+ }, sessionFlushingDelayMS).unref();
33648
+ }
33649
+ }
33650
+ });
33651
+ }
33652
+ function patchRequestToCaptureBody(req, isolationScope, maxIncomingRequestBodySize) {
33653
+ let bodyByteLength = 0;
33654
+ const chunks = [];
33655
+ DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, "Patching request.on");
33656
+ const callbackMap = new WeakMap;
33657
+ const maxBodySize = maxIncomingRequestBodySize === "small" ? 1000 : maxIncomingRequestBodySize === "medium" ? 1e4 : MAX_BODY_BYTE_LENGTH;
33658
+ try {
33659
+ req.on = new Proxy(req.on, {
33660
+ apply: (target, thisArg, args) => {
33661
+ const [event, listener, ...restArgs] = args;
33662
+ if (event === "data") {
33663
+ DEBUG_BUILD3 && debug2.log(INSTRUMENTATION_NAME, `Handling request.on("data") with maximum body size of ${maxBodySize}b`);
33664
+ const callback = new Proxy(listener, {
33665
+ apply: (target2, thisArg2, args2) => {
33666
+ try {
33667
+ const chunk = args2[0];
33668
+ const bufferifiedChunk = Buffer.from(chunk);
33669
+ if (bodyByteLength < maxBodySize) {
33670
+ chunks.push(bufferifiedChunk);
33671
+ bodyByteLength += bufferifiedChunk.byteLength;
33672
+ } else if (DEBUG_BUILD3) {
33673
+ debug2.log(INSTRUMENTATION_NAME, `Dropping request body chunk because maximum body length of ${maxBodySize}b is exceeded.`);
33674
+ }
33675
+ } catch (err) {
33676
+ DEBUG_BUILD3 && debug2.error(INSTRUMENTATION_NAME, "Encountered error while storing body chunk.");
33677
+ }
33678
+ return Reflect.apply(target2, thisArg2, args2);
33679
+ }
33680
+ });
33681
+ callbackMap.set(listener, callback);
33682
+ return Reflect.apply(target, thisArg, [event, callback, ...restArgs]);
33683
+ }
33684
+ return Reflect.apply(target, thisArg, args);
33685
+ }
33686
+ });
33687
+ req.off = new Proxy(req.off, {
33688
+ apply: (target, thisArg, args) => {
33689
+ const [, listener] = args;
33690
+ const callback = callbackMap.get(listener);
33691
+ if (callback) {
33692
+ callbackMap.delete(listener);
33693
+ const modifiedArgs = args.slice();
33694
+ modifiedArgs[1] = callback;
33695
+ return Reflect.apply(target, thisArg, modifiedArgs);
33696
+ }
33697
+ return Reflect.apply(target, thisArg, args);
33698
+ }
33699
+ });
33700
+ req.on("end", () => {
33701
+ try {
33702
+ const body = Buffer.concat(chunks).toString("utf-8");
33703
+ if (body) {
33704
+ const bodyByteLength2 = Buffer.byteLength(body, "utf-8");
33705
+ const truncatedBody = bodyByteLength2 > maxBodySize ? `${Buffer.from(body).subarray(0, maxBodySize - 3).toString("utf-8")}...` : body;
33706
+ isolationScope.setSDKProcessingMetadata({ normalizedRequest: { data: truncatedBody } });
33707
+ }
33708
+ } catch (error4) {
33709
+ if (DEBUG_BUILD3) {
33710
+ debug2.error(INSTRUMENTATION_NAME, "Error building captured request body", error4);
33711
+ }
33712
+ }
33713
+ });
33714
+ } catch (error4) {
33715
+ if (DEBUG_BUILD3) {
33716
+ debug2.error(INSTRUMENTATION_NAME, "Error patching request to capture body", error4);
33717
+ }
33718
+ }
33719
+ }
33720
+ function getRequestContentLengthAttribute(request) {
33721
+ const length = getContentLength(request.headers);
33722
+ if (length == null) {
33723
+ return {};
33724
+ }
33725
+ if (isCompressed(request.headers)) {
33726
+ return {
33727
+ ["http.request_content_length"]: length
33728
+ };
33729
+ } else {
33730
+ return {
33731
+ ["http.request_content_length_uncompressed"]: length
33732
+ };
33733
+ }
33734
+ }
33735
+ function getContentLength(headers) {
33736
+ const contentLengthHeader = headers["content-length"];
33737
+ if (contentLengthHeader === undefined)
33738
+ return null;
33739
+ const contentLength = parseInt(contentLengthHeader, 10);
33740
+ if (isNaN(contentLength))
32352
33741
  return null;
32353
33742
  return contentLength;
32354
33743
  }
@@ -32416,7 +33805,7 @@ function shouldIgnoreSpansForIncomingRequest(request, {
32416
33805
  var import_api2, import_core6, import_semantic_conventions, HTTP_SERVER_INSTRUMENTED_KEY, clientToRequestSessionAggregatesMap, wrappedEmitFns;
32417
33806
  var init_incoming_requests = __esm(() => {
32418
33807
  import_api2 = __toESM(require_src(), 1);
32419
- import_core6 = __toESM(require_src3(), 1);
33808
+ import_core6 = __toESM(require_src8(), 1);
32420
33809
  import_semantic_conventions = __toESM(require_src2(), 1);
32421
33810
  init_esm2();
32422
33811
  init_debug_build3();
@@ -32439,7 +33828,7 @@ var init_worldwide3 = __esm(() => {
32439
33828
  });
32440
33829
 
32441
33830
  // ../../node_modules/@sentry/opentelemetry/node_modules/@sentry/core/build/esm/utils/version.js
32442
- var SDK_VERSION3 = "10.9.0";
33831
+ var SDK_VERSION3 = "10.10.0";
32443
33832
  var init_version3 = () => {};
32444
33833
 
32445
33834
  // ../../node_modules/@sentry/opentelemetry/node_modules/@sentry/core/build/esm/carrier.js
@@ -33991,7 +35380,7 @@ var require_default_service_name = __commonJS((exports) => {
33991
35380
  });
33992
35381
 
33993
35382
  // ../../node_modules/@opentelemetry/resources/build/src/platform/node/index.js
33994
- var require_node6 = __commonJS((exports) => {
35383
+ var require_node7 = __commonJS((exports) => {
33995
35384
  Object.defineProperty(exports, "__esModule", { value: true });
33996
35385
  exports.defaultServiceName = undefined;
33997
35386
  var default_service_name_1 = require_default_service_name();
@@ -34001,17 +35390,17 @@ var require_node6 = __commonJS((exports) => {
34001
35390
  });
34002
35391
 
34003
35392
  // ../../node_modules/@opentelemetry/resources/build/src/platform/index.js
34004
- var require_platform5 = __commonJS((exports) => {
35393
+ var require_platform6 = __commonJS((exports) => {
34005
35394
  Object.defineProperty(exports, "__esModule", { value: true });
34006
35395
  exports.defaultServiceName = undefined;
34007
- var node_1 = require_node6();
35396
+ var node_1 = require_node7();
34008
35397
  Object.defineProperty(exports, "defaultServiceName", { enumerable: true, get: function() {
34009
35398
  return node_1.defaultServiceName;
34010
35399
  } });
34011
35400
  });
34012
35401
 
34013
35402
  // ../../node_modules/@opentelemetry/resources/build/src/utils.js
34014
- var require_utils8 = __commonJS((exports) => {
35403
+ var require_utils9 = __commonJS((exports) => {
34015
35404
  Object.defineProperty(exports, "__esModule", { value: true });
34016
35405
  exports.identity = exports.isPromiseLike = undefined;
34017
35406
  var isPromiseLike = (val) => {
@@ -34029,22 +35418,23 @@ var require_ResourceImpl = __commonJS((exports) => {
34029
35418
  Object.defineProperty(exports, "__esModule", { value: true });
34030
35419
  exports.defaultResource = exports.emptyResource = exports.resourceFromDetectedResource = exports.resourceFromAttributes = undefined;
34031
35420
  var api_1 = require_src();
34032
- var core_1 = require_src3();
35421
+ var core_1 = require_src8();
34033
35422
  var semantic_conventions_1 = require_src2();
34034
- var platform_1 = require_platform5();
34035
- var utils_1 = require_utils8();
35423
+ var platform_1 = require_platform6();
35424
+ var utils_1 = require_utils9();
34036
35425
 
34037
35426
  class ResourceImpl {
34038
35427
  _rawAttributes;
34039
35428
  _asyncAttributesPending = false;
35429
+ _schemaUrl;
34040
35430
  _memoizedAttributes;
34041
- static FromAttributeList(attributes) {
34042
- const res = new ResourceImpl({});
35431
+ static FromAttributeList(attributes, options) {
35432
+ const res = new ResourceImpl({}, options);
34043
35433
  res._rawAttributes = guardedRawAttributes(attributes);
34044
35434
  res._asyncAttributesPending = attributes.filter(([_, val]) => (0, utils_1.isPromiseLike)(val)).length > 0;
34045
35435
  return res;
34046
35436
  }
34047
- constructor(resource) {
35437
+ constructor(resource, options) {
34048
35438
  const attributes = resource.attributes ?? {};
34049
35439
  this._rawAttributes = Object.entries(attributes).map(([k, v]) => {
34050
35440
  if ((0, utils_1.isPromiseLike)(v)) {
@@ -34053,6 +35443,7 @@ var require_ResourceImpl = __commonJS((exports) => {
34053
35443
  return [k, v];
34054
35444
  });
34055
35445
  this._rawAttributes = guardedRawAttributes(this._rawAttributes);
35446
+ this._schemaUrl = validateSchemaUrl(options?.schemaUrl);
34056
35447
  }
34057
35448
  get asyncAttributesPending() {
34058
35449
  return this._asyncAttributesPending;
@@ -34092,21 +35483,23 @@ var require_ResourceImpl = __commonJS((exports) => {
34092
35483
  getRawAttributes() {
34093
35484
  return this._rawAttributes;
34094
35485
  }
35486
+ get schemaUrl() {
35487
+ return this._schemaUrl;
35488
+ }
34095
35489
  merge(resource) {
34096
35490
  if (resource == null)
34097
35491
  return this;
34098
- return ResourceImpl.FromAttributeList([
34099
- ...resource.getRawAttributes(),
34100
- ...this.getRawAttributes()
34101
- ]);
35492
+ const mergedSchemaUrl = mergeSchemaUrl(this, resource);
35493
+ const mergedOptions = mergedSchemaUrl ? { schemaUrl: mergedSchemaUrl } : undefined;
35494
+ return ResourceImpl.FromAttributeList([...resource.getRawAttributes(), ...this.getRawAttributes()], mergedOptions);
34102
35495
  }
34103
35496
  }
34104
- function resourceFromAttributes(attributes) {
34105
- return ResourceImpl.FromAttributeList(Object.entries(attributes));
35497
+ function resourceFromAttributes(attributes, options) {
35498
+ return ResourceImpl.FromAttributeList(Object.entries(attributes), options);
34106
35499
  }
34107
35500
  exports.resourceFromAttributes = resourceFromAttributes;
34108
- function resourceFromDetectedResource(detectedResource) {
34109
- return new ResourceImpl(detectedResource);
35501
+ function resourceFromDetectedResource(detectedResource, options) {
35502
+ return new ResourceImpl(detectedResource, options);
34110
35503
  }
34111
35504
  exports.resourceFromDetectedResource = resourceFromDetectedResource;
34112
35505
  function emptyResource() {
@@ -34136,6 +35529,30 @@ var require_ResourceImpl = __commonJS((exports) => {
34136
35529
  return [k, v];
34137
35530
  });
34138
35531
  }
35532
+ function validateSchemaUrl(schemaUrl) {
35533
+ if (typeof schemaUrl === "string" || schemaUrl === undefined) {
35534
+ return schemaUrl;
35535
+ }
35536
+ api_1.diag.warn("Schema URL must be string or undefined, got %s. Schema URL will be ignored.", schemaUrl);
35537
+ return;
35538
+ }
35539
+ function mergeSchemaUrl(old, updating) {
35540
+ const oldSchemaUrl = old?.schemaUrl;
35541
+ const updatingSchemaUrl = updating?.schemaUrl;
35542
+ const isOldEmpty = oldSchemaUrl === undefined || oldSchemaUrl === "";
35543
+ const isUpdatingEmpty = updatingSchemaUrl === undefined || updatingSchemaUrl === "";
35544
+ if (isOldEmpty) {
35545
+ return updatingSchemaUrl;
35546
+ }
35547
+ if (isUpdatingEmpty) {
35548
+ return oldSchemaUrl;
35549
+ }
35550
+ if (oldSchemaUrl === updatingSchemaUrl) {
35551
+ return oldSchemaUrl;
35552
+ }
35553
+ api_1.diag.warn('Schema URL merge conflict: old resource has "%s", updating resource has "%s". Resulting resource will have undefined Schema URL.', oldSchemaUrl, updatingSchemaUrl);
35554
+ return;
35555
+ }
34139
35556
  });
34140
35557
 
34141
35558
  // ../../node_modules/@opentelemetry/resources/build/src/detect-resources.js
@@ -34166,7 +35583,7 @@ var require_EnvDetector = __commonJS((exports) => {
34166
35583
  exports.envDetector = undefined;
34167
35584
  var api_1 = require_src();
34168
35585
  var semantic_conventions_1 = require_src2();
34169
- var core_1 = require_src3();
35586
+ var core_1 = require_src8();
34170
35587
 
34171
35588
  class EnvDetector {
34172
35589
  _MAX_LENGTH = 255;
@@ -34234,7 +35651,7 @@ var require_EnvDetector = __commonJS((exports) => {
34234
35651
  });
34235
35652
 
34236
35653
  // ../../node_modules/@opentelemetry/resources/build/src/semconv.js
34237
- var require_semconv3 = __commonJS((exports) => {
35654
+ var require_semconv4 = __commonJS((exports) => {
34238
35655
  Object.defineProperty(exports, "__esModule", { value: true });
34239
35656
  exports.ATTR_WEBENGINE_VERSION = exports.ATTR_WEBENGINE_NAME = exports.ATTR_WEBENGINE_DESCRIPTION = exports.ATTR_SERVICE_NAMESPACE = exports.ATTR_SERVICE_INSTANCE_ID = exports.ATTR_PROCESS_RUNTIME_VERSION = exports.ATTR_PROCESS_RUNTIME_NAME = exports.ATTR_PROCESS_RUNTIME_DESCRIPTION = exports.ATTR_PROCESS_PID = exports.ATTR_PROCESS_OWNER = exports.ATTR_PROCESS_EXECUTABLE_PATH = exports.ATTR_PROCESS_EXECUTABLE_NAME = exports.ATTR_PROCESS_COMMAND_ARGS = exports.ATTR_PROCESS_COMMAND = exports.ATTR_OS_VERSION = exports.ATTR_OS_TYPE = exports.ATTR_K8S_POD_NAME = exports.ATTR_K8S_NAMESPACE_NAME = exports.ATTR_K8S_DEPLOYMENT_NAME = exports.ATTR_K8S_CLUSTER_NAME = exports.ATTR_HOST_TYPE = exports.ATTR_HOST_NAME = exports.ATTR_HOST_IMAGE_VERSION = exports.ATTR_HOST_IMAGE_NAME = exports.ATTR_HOST_IMAGE_ID = exports.ATTR_HOST_ID = exports.ATTR_HOST_ARCH = exports.ATTR_CONTAINER_NAME = exports.ATTR_CONTAINER_IMAGE_TAGS = exports.ATTR_CONTAINER_IMAGE_NAME = exports.ATTR_CONTAINER_ID = exports.ATTR_CLOUD_REGION = exports.ATTR_CLOUD_PROVIDER = exports.ATTR_CLOUD_AVAILABILITY_ZONE = exports.ATTR_CLOUD_ACCOUNT_ID = undefined;
34240
35657
  exports.ATTR_CLOUD_ACCOUNT_ID = "cloud.account.id";
@@ -34426,7 +35843,7 @@ var require_getMachineId = __commonJS((exports) => {
34426
35843
  });
34427
35844
 
34428
35845
  // ../../node_modules/@opentelemetry/resources/build/src/detectors/platform/node/utils.js
34429
- var require_utils9 = __commonJS((exports) => {
35846
+ var require_utils10 = __commonJS((exports) => {
34430
35847
  Object.defineProperty(exports, "__esModule", { value: true });
34431
35848
  exports.normalizeType = exports.normalizeArch = undefined;
34432
35849
  var normalizeArch = (nodeArchString) => {
@@ -34459,10 +35876,10 @@ var require_utils9 = __commonJS((exports) => {
34459
35876
  var require_HostDetector = __commonJS((exports) => {
34460
35877
  Object.defineProperty(exports, "__esModule", { value: true });
34461
35878
  exports.hostDetector = undefined;
34462
- var semconv_1 = require_semconv3();
35879
+ var semconv_1 = require_semconv4();
34463
35880
  var os_1 = __require("os");
34464
35881
  var getMachineId_1 = require_getMachineId();
34465
- var utils_1 = require_utils9();
35882
+ var utils_1 = require_utils10();
34466
35883
 
34467
35884
  class HostDetector {
34468
35885
  detect(_config) {
@@ -34481,9 +35898,9 @@ var require_HostDetector = __commonJS((exports) => {
34481
35898
  var require_OSDetector = __commonJS((exports) => {
34482
35899
  Object.defineProperty(exports, "__esModule", { value: true });
34483
35900
  exports.osDetector = undefined;
34484
- var semconv_1 = require_semconv3();
35901
+ var semconv_1 = require_semconv4();
34485
35902
  var os_1 = __require("os");
34486
- var utils_1 = require_utils9();
35903
+ var utils_1 = require_utils10();
34487
35904
 
34488
35905
  class OSDetector {
34489
35906
  detect(_config) {
@@ -34502,7 +35919,7 @@ var require_ProcessDetector = __commonJS((exports) => {
34502
35919
  Object.defineProperty(exports, "__esModule", { value: true });
34503
35920
  exports.processDetector = undefined;
34504
35921
  var api_1 = require_src();
34505
- var semconv_1 = require_semconv3();
35922
+ var semconv_1 = require_semconv4();
34506
35923
  var os = __require("os");
34507
35924
 
34508
35925
  class ProcessDetector {
@@ -34539,7 +35956,7 @@ var require_ProcessDetector = __commonJS((exports) => {
34539
35956
  var require_ServiceInstanceIdDetector = __commonJS((exports) => {
34540
35957
  Object.defineProperty(exports, "__esModule", { value: true });
34541
35958
  exports.serviceInstanceIdDetector = undefined;
34542
- var semconv_1 = require_semconv3();
35959
+ var semconv_1 = require_semconv4();
34543
35960
  var crypto_1 = __require("crypto");
34544
35961
 
34545
35962
  class ServiceInstanceIdDetector {
@@ -34555,7 +35972,7 @@ var require_ServiceInstanceIdDetector = __commonJS((exports) => {
34555
35972
  });
34556
35973
 
34557
35974
  // ../../node_modules/@opentelemetry/resources/build/src/detectors/platform/node/index.js
34558
- var require_node7 = __commonJS((exports) => {
35975
+ var require_node8 = __commonJS((exports) => {
34559
35976
  Object.defineProperty(exports, "__esModule", { value: true });
34560
35977
  exports.serviceInstanceIdDetector = exports.processDetector = exports.osDetector = exports.hostDetector = undefined;
34561
35978
  var HostDetector_1 = require_HostDetector();
@@ -34577,10 +35994,10 @@ var require_node7 = __commonJS((exports) => {
34577
35994
  });
34578
35995
 
34579
35996
  // ../../node_modules/@opentelemetry/resources/build/src/detectors/platform/index.js
34580
- var require_platform6 = __commonJS((exports) => {
35997
+ var require_platform7 = __commonJS((exports) => {
34581
35998
  Object.defineProperty(exports, "__esModule", { value: true });
34582
35999
  exports.serviceInstanceIdDetector = exports.processDetector = exports.osDetector = exports.hostDetector = undefined;
34583
- var node_1 = require_node7();
36000
+ var node_1 = require_node8();
34584
36001
  Object.defineProperty(exports, "hostDetector", { enumerable: true, get: function() {
34585
36002
  return node_1.hostDetector;
34586
36003
  } });
@@ -34619,7 +36036,7 @@ var require_detectors = __commonJS((exports) => {
34619
36036
  Object.defineProperty(exports, "envDetector", { enumerable: true, get: function() {
34620
36037
  return EnvDetector_1.envDetector;
34621
36038
  } });
34622
- var platform_1 = require_platform6();
36039
+ var platform_1 = require_platform7();
34623
36040
  Object.defineProperty(exports, "hostDetector", { enumerable: true, get: function() {
34624
36041
  return platform_1.hostDetector;
34625
36042
  } });
@@ -34639,7 +36056,7 @@ var require_detectors = __commonJS((exports) => {
34639
36056
  });
34640
36057
 
34641
36058
  // ../../node_modules/@opentelemetry/resources/build/src/index.js
34642
- var require_src8 = __commonJS((exports) => {
36059
+ var require_src9 = __commonJS((exports) => {
34643
36060
  Object.defineProperty(exports, "__esModule", { value: true });
34644
36061
  exports.defaultServiceName = exports.emptyResource = exports.defaultResource = exports.resourceFromAttributes = exports.serviceInstanceIdDetector = exports.processDetector = exports.osDetector = exports.hostDetector = exports.envDetector = exports.detectResources = undefined;
34645
36062
  var detect_resources_1 = require_detect_resources();
@@ -34672,7 +36089,7 @@ var require_src8 = __commonJS((exports) => {
34672
36089
  Object.defineProperty(exports, "emptyResource", { enumerable: true, get: function() {
34673
36090
  return ResourceImpl_1.emptyResource;
34674
36091
  } });
34675
- var platform_1 = require_platform5();
36092
+ var platform_1 = require_platform6();
34676
36093
  Object.defineProperty(exports, "defaultServiceName", { enumerable: true, get: function() {
34677
36094
  return platform_1.defaultServiceName;
34678
36095
  } });
@@ -34690,7 +36107,7 @@ var require_Span = __commonJS((exports) => {
34690
36107
  Object.defineProperty(exports, "__esModule", { value: true });
34691
36108
  exports.SpanImpl = undefined;
34692
36109
  var api_1 = require_src();
34693
- var core_1 = require_src3();
36110
+ var core_1 = require_src8();
34694
36111
  var semantic_conventions_1 = require_src2();
34695
36112
  var enums_1 = require_enums();
34696
36113
 
@@ -34988,7 +36405,7 @@ var require_ParentBasedSampler = __commonJS((exports) => {
34988
36405
  Object.defineProperty(exports, "__esModule", { value: true });
34989
36406
  exports.ParentBasedSampler = undefined;
34990
36407
  var api_1 = require_src();
34991
- var core_1 = require_src3();
36408
+ var core_1 = require_src8();
34992
36409
  var AlwaysOffSampler_1 = require_AlwaysOffSampler();
34993
36410
  var AlwaysOnSampler_1 = require_AlwaysOnSampler();
34994
36411
 
@@ -35078,11 +36495,20 @@ var require_config = __commonJS((exports) => {
35078
36495
  Object.defineProperty(exports, "__esModule", { value: true });
35079
36496
  exports.buildSamplerFromEnv = exports.loadDefaultConfig = undefined;
35080
36497
  var api_1 = require_src();
35081
- var core_1 = require_src3();
36498
+ var core_1 = require_src8();
35082
36499
  var AlwaysOffSampler_1 = require_AlwaysOffSampler();
35083
36500
  var AlwaysOnSampler_1 = require_AlwaysOnSampler();
35084
36501
  var ParentBasedSampler_1 = require_ParentBasedSampler();
35085
36502
  var TraceIdRatioBasedSampler_1 = require_TraceIdRatioBasedSampler();
36503
+ var TracesSamplerValues;
36504
+ (function(TracesSamplerValues2) {
36505
+ TracesSamplerValues2["AlwaysOff"] = "always_off";
36506
+ TracesSamplerValues2["AlwaysOn"] = "always_on";
36507
+ TracesSamplerValues2["ParentBasedAlwaysOff"] = "parentbased_always_off";
36508
+ TracesSamplerValues2["ParentBasedAlwaysOn"] = "parentbased_always_on";
36509
+ TracesSamplerValues2["ParentBasedTraceIdRatio"] = "parentbased_traceidratio";
36510
+ TracesSamplerValues2["TraceIdRatio"] = "traceidratio";
36511
+ })(TracesSamplerValues || (TracesSamplerValues = {}));
35086
36512
  var DEFAULT_RATIO = 1;
35087
36513
  function loadDefaultConfig() {
35088
36514
  return {
@@ -35104,28 +36530,28 @@ var require_config = __commonJS((exports) => {
35104
36530
  }
35105
36531
  exports.loadDefaultConfig = loadDefaultConfig;
35106
36532
  function buildSamplerFromEnv() {
35107
- const sampler = (0, core_1.getStringFromEnv)("OTEL_TRACES_SAMPLER") ?? "parentbased_always_on";
36533
+ const sampler = (0, core_1.getStringFromEnv)("OTEL_TRACES_SAMPLER") ?? TracesSamplerValues.ParentBasedAlwaysOn;
35108
36534
  switch (sampler) {
35109
- case "always_on":
36535
+ case TracesSamplerValues.AlwaysOn:
35110
36536
  return new AlwaysOnSampler_1.AlwaysOnSampler;
35111
- case "always_off":
36537
+ case TracesSamplerValues.AlwaysOff:
35112
36538
  return new AlwaysOffSampler_1.AlwaysOffSampler;
35113
- case "parentbased_always_on":
36539
+ case TracesSamplerValues.ParentBasedAlwaysOn:
35114
36540
  return new ParentBasedSampler_1.ParentBasedSampler({
35115
36541
  root: new AlwaysOnSampler_1.AlwaysOnSampler
35116
36542
  });
35117
- case "parentbased_always_off":
36543
+ case TracesSamplerValues.ParentBasedAlwaysOff:
35118
36544
  return new ParentBasedSampler_1.ParentBasedSampler({
35119
36545
  root: new AlwaysOffSampler_1.AlwaysOffSampler
35120
36546
  });
35121
- case "traceidratio":
36547
+ case TracesSamplerValues.TraceIdRatio:
35122
36548
  return new TraceIdRatioBasedSampler_1.TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv());
35123
- case "parentbased_traceidratio":
36549
+ case TracesSamplerValues.ParentBasedTraceIdRatio:
35124
36550
  return new ParentBasedSampler_1.ParentBasedSampler({
35125
36551
  root: new TraceIdRatioBasedSampler_1.TraceIdRatioBasedSampler(getSamplerProbabilityFromEnv())
35126
36552
  });
35127
36553
  default:
35128
- api_1.diag.error(`OTEL_TRACES_SAMPLER value "${sampler}" invalid, defaulting to "${"parentbased_always_on"}".`);
36554
+ api_1.diag.error(`OTEL_TRACES_SAMPLER value "${sampler}" invalid, defaulting to "${TracesSamplerValues.ParentBasedAlwaysOn}".`);
35129
36555
  return new ParentBasedSampler_1.ParentBasedSampler({
35130
36556
  root: new AlwaysOnSampler_1.AlwaysOnSampler
35131
36557
  });
@@ -35151,7 +36577,7 @@ var require_utility = __commonJS((exports) => {
35151
36577
  Object.defineProperty(exports, "__esModule", { value: true });
35152
36578
  exports.reconfigureLimits = exports.mergeConfig = exports.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT = exports.DEFAULT_ATTRIBUTE_COUNT_LIMIT = undefined;
35153
36579
  var config_1 = require_config();
35154
- var core_1 = require_src3();
36580
+ var core_1 = require_src8();
35155
36581
  exports.DEFAULT_ATTRIBUTE_COUNT_LIMIT = 128;
35156
36582
  exports.DEFAULT_ATTRIBUTE_VALUE_LENGTH_LIMIT = Infinity;
35157
36583
  function mergeConfig(userConfig) {
@@ -35179,7 +36605,7 @@ var require_BatchSpanProcessorBase = __commonJS((exports) => {
35179
36605
  Object.defineProperty(exports, "__esModule", { value: true });
35180
36606
  exports.BatchSpanProcessorBase = undefined;
35181
36607
  var api_1 = require_src();
35182
- var core_1 = require_src3();
36608
+ var core_1 = require_src8();
35183
36609
 
35184
36610
  class BatchSpanProcessorBase {
35185
36611
  _exporter;
@@ -35380,7 +36806,7 @@ var require_RandomIdGenerator = __commonJS((exports) => {
35380
36806
  });
35381
36807
 
35382
36808
  // ../../node_modules/@opentelemetry/sdk-trace-base/build/src/platform/node/index.js
35383
- var require_node8 = __commonJS((exports) => {
36809
+ var require_node9 = __commonJS((exports) => {
35384
36810
  Object.defineProperty(exports, "__esModule", { value: true });
35385
36811
  exports.RandomIdGenerator = exports.BatchSpanProcessor = undefined;
35386
36812
  var BatchSpanProcessor_1 = require_BatchSpanProcessor();
@@ -35394,10 +36820,10 @@ var require_node8 = __commonJS((exports) => {
35394
36820
  });
35395
36821
 
35396
36822
  // ../../node_modules/@opentelemetry/sdk-trace-base/build/src/platform/index.js
35397
- var require_platform7 = __commonJS((exports) => {
36823
+ var require_platform8 = __commonJS((exports) => {
35398
36824
  Object.defineProperty(exports, "__esModule", { value: true });
35399
36825
  exports.RandomIdGenerator = exports.BatchSpanProcessor = undefined;
35400
- var node_1 = require_node8();
36826
+ var node_1 = require_node9();
35401
36827
  Object.defineProperty(exports, "BatchSpanProcessor", { enumerable: true, get: function() {
35402
36828
  return node_1.BatchSpanProcessor;
35403
36829
  } });
@@ -35411,10 +36837,10 @@ var require_Tracer = __commonJS((exports) => {
35411
36837
  Object.defineProperty(exports, "__esModule", { value: true });
35412
36838
  exports.Tracer = undefined;
35413
36839
  var api = require_src();
35414
- var core_1 = require_src3();
36840
+ var core_1 = require_src8();
35415
36841
  var Span_1 = require_Span();
35416
36842
  var utility_1 = require_utility();
35417
- var platform_1 = require_platform7();
36843
+ var platform_1 = require_platform8();
35418
36844
 
35419
36845
  class Tracer {
35420
36846
  _sampler;
@@ -35525,7 +36951,7 @@ var require_Tracer = __commonJS((exports) => {
35525
36951
  var require_MultiSpanProcessor = __commonJS((exports) => {
35526
36952
  Object.defineProperty(exports, "__esModule", { value: true });
35527
36953
  exports.MultiSpanProcessor = undefined;
35528
- var core_1 = require_src3();
36954
+ var core_1 = require_src8();
35529
36955
 
35530
36956
  class MultiSpanProcessor {
35531
36957
  _spanProcessors;
@@ -35575,8 +37001,8 @@ var require_MultiSpanProcessor = __commonJS((exports) => {
35575
37001
  var require_BasicTracerProvider = __commonJS((exports) => {
35576
37002
  Object.defineProperty(exports, "__esModule", { value: true });
35577
37003
  exports.BasicTracerProvider = exports.ForceFlushState = undefined;
35578
- var core_1 = require_src3();
35579
- var resources_1 = require_src8();
37004
+ var core_1 = require_src8();
37005
+ var resources_1 = require_src9();
35580
37006
  var Tracer_1 = require_Tracer();
35581
37007
  var config_1 = require_config();
35582
37008
  var MultiSpanProcessor_1 = require_MultiSpanProcessor();
@@ -35657,7 +37083,7 @@ var require_BasicTracerProvider = __commonJS((exports) => {
35657
37083
  var require_ConsoleSpanExporter = __commonJS((exports) => {
35658
37084
  Object.defineProperty(exports, "__esModule", { value: true });
35659
37085
  exports.ConsoleSpanExporter = undefined;
35660
- var core_1 = require_src3();
37086
+ var core_1 = require_src8();
35661
37087
 
35662
37088
  class ConsoleSpanExporter {
35663
37089
  export(spans, resultCallback) {
@@ -35706,7 +37132,7 @@ var require_ConsoleSpanExporter = __commonJS((exports) => {
35706
37132
  var require_InMemorySpanExporter = __commonJS((exports) => {
35707
37133
  Object.defineProperty(exports, "__esModule", { value: true });
35708
37134
  exports.InMemorySpanExporter = undefined;
35709
- var core_1 = require_src3();
37135
+ var core_1 = require_src8();
35710
37136
 
35711
37137
  class InMemorySpanExporter {
35712
37138
  _finishedSpans = [];
@@ -35743,7 +37169,7 @@ var require_SimpleSpanProcessor = __commonJS((exports) => {
35743
37169
  Object.defineProperty(exports, "__esModule", { value: true });
35744
37170
  exports.SimpleSpanProcessor = undefined;
35745
37171
  var api_1 = require_src();
35746
- var core_1 = require_src3();
37172
+ var core_1 = require_src8();
35747
37173
 
35748
37174
  class SimpleSpanProcessor {
35749
37175
  _exporter;
@@ -35810,14 +37236,14 @@ var require_NoopSpanProcessor = __commonJS((exports) => {
35810
37236
  });
35811
37237
 
35812
37238
  // ../../node_modules/@opentelemetry/sdk-trace-base/build/src/index.js
35813
- var require_src9 = __commonJS((exports) => {
37239
+ var require_src10 = __commonJS((exports) => {
35814
37240
  Object.defineProperty(exports, "__esModule", { value: true });
35815
37241
  exports.SamplingDecision = exports.TraceIdRatioBasedSampler = exports.ParentBasedSampler = exports.AlwaysOnSampler = exports.AlwaysOffSampler = exports.NoopSpanProcessor = exports.SimpleSpanProcessor = exports.InMemorySpanExporter = exports.ConsoleSpanExporter = exports.RandomIdGenerator = exports.BatchSpanProcessor = exports.BasicTracerProvider = undefined;
35816
37242
  var BasicTracerProvider_1 = require_BasicTracerProvider();
35817
37243
  Object.defineProperty(exports, "BasicTracerProvider", { enumerable: true, get: function() {
35818
37244
  return BasicTracerProvider_1.BasicTracerProvider;
35819
37245
  } });
35820
- var platform_1 = require_platform7();
37246
+ var platform_1 = require_platform8();
35821
37247
  Object.defineProperty(exports, "BatchSpanProcessor", { enumerable: true, get: function() {
35822
37248
  return platform_1.BatchSpanProcessor;
35823
37249
  } });
@@ -37025,8 +38451,8 @@ var init_esm4 = __esm(() => {
37025
38451
  init_esm3();
37026
38452
  api = __toESM(require_src(), 1);
37027
38453
  import_api3 = __toESM(require_src(), 1);
37028
- import_core9 = __toESM(require_src3(), 1);
37029
- import_sdk_trace_base = __toESM(require_src9(), 1);
38454
+ import_core9 = __toESM(require_src8(), 1);
38455
+ import_sdk_trace_base = __toESM(require_src10(), 1);
37030
38456
  SENTRY_SCOPES_CONTEXT_KEY = import_api3.createContextKey("sentry_scopes");
37031
38457
  SENTRY_FORK_ISOLATION_SCOPE_CONTEXT_KEY = import_api3.createContextKey("sentry_fork_isolation_scope");
37032
38458
  SENTRY_FORK_SET_SCOPE_CONTEXT_KEY = import_api3.createContextKey("sentry_fork_set_scope");
@@ -37223,7 +38649,7 @@ import { subscribe, unsubscribe } from "node:diagnostics_channel";
37223
38649
  var import_api4, import_core12, import_instrumentation2, SentryHttpInstrumentation;
37224
38650
  var init_SentryHttpInstrumentation = __esm(() => {
37225
38651
  import_api4 = __toESM(require_src(), 1);
37226
- import_core12 = __toESM(require_src3(), 1);
38652
+ import_core12 = __toESM(require_src8(), 1);
37227
38653
  import_instrumentation2 = __toESM(require_src6(), 1);
37228
38654
  init_esm2();
37229
38655
  init_debug_build3();
@@ -37432,7 +38858,7 @@ function getAbsoluteUrl3(origin, path = "/") {
37432
38858
  var import_api5, import_core16, import_instrumentation3, SENTRY_TRACE_HEADER2 = "sentry-trace", SENTRY_BAGGAGE_HEADER2 = "baggage", BAGGAGE_HEADER_REGEX, SentryNodeFetchInstrumentation;
37433
38859
  var init_SentryNodeFetchInstrumentation = __esm(() => {
37434
38860
  import_api5 = __toESM(require_src(), 1);
37435
- import_core16 = __toESM(require_src3(), 1);
38861
+ import_core16 = __toESM(require_src8(), 1);
37436
38862
  import_instrumentation3 = __toESM(require_src6(), 1);
37437
38863
  init_esm2();
37438
38864
  init_esm4();
@@ -38169,7 +39595,7 @@ import { Worker } from "node:worker_threads";
38169
39595
  function log4(...args) {
38170
39596
  debug2.log("[LocalVariables]", ...args);
38171
39597
  }
38172
- var base64WorkerScript = "LyohIEBzZW50cnkvbm9kZS1jb3JlIDEwLjkuMCAoNDE3Y2Y1NykgfCBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0ICovCmltcG9ydHtTZXNzaW9uIGFzIGV9ZnJvbSJub2RlOmluc3BlY3Rvci9wcm9taXNlcyI7aW1wb3J0e3dvcmtlckRhdGEgYXMgdH1mcm9tIm5vZGU6d29ya2VyX3RocmVhZHMiO2NvbnN0IG49Z2xvYmFsVGhpcyxpPXt9O2NvbnN0IG89Il9fU0VOVFJZX0VSUk9SX0xPQ0FMX1ZBUklBQkxFU19fIjtjb25zdCBhPXQ7ZnVuY3Rpb24gcyguLi5lKXthLmRlYnVnJiZmdW5jdGlvbihlKXtpZighKCJjb25zb2xlImluIG4pKXJldHVybiBlKCk7Y29uc3QgdD1uLmNvbnNvbGUsbz17fSxhPU9iamVjdC5rZXlzKGkpO2EuZm9yRWFjaChlPT57Y29uc3Qgbj1pW2VdO29bZV09dFtlXSx0W2VdPW59KTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e2EuZm9yRWFjaChlPT57dFtlXT1vW2VdfSl9fSgoKT0+Y29uc29sZS5sb2coIltMb2NhbFZhcmlhYmxlcyBXb3JrZXJdIiwuLi5lKSl9YXN5bmMgZnVuY3Rpb24gYyhlLHQsbixpKXtjb25zdCBvPWF3YWl0IGUucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIix7b2JqZWN0SWQ6dCxvd25Qcm9wZXJ0aWVzOiEwfSk7aVtuXT1vLnJlc3VsdC5maWx0ZXIoZT0+Imxlbmd0aCIhPT1lLm5hbWUmJiFpc05hTihwYXJzZUludChlLm5hbWUsMTApKSkuc29ydCgoZSx0KT0+cGFyc2VJbnQoZS5uYW1lLDEwKS1wYXJzZUludCh0Lm5hbWUsMTApKS5tYXAoZT0+ZS52YWx1ZT8udmFsdWUpfWFzeW5jIGZ1bmN0aW9uIHIoZSx0LG4saSl7Y29uc3Qgbz1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIse29iamVjdElkOnQsb3duUHJvcGVydGllczohMH0pO2lbbl09by5yZXN1bHQubWFwKGU9PltlLm5hbWUsZS52YWx1ZT8udmFsdWVdKS5yZWR1Y2UoKGUsW3Qsbl0pPT4oZVt0XT1uLGUpLHt9KX1mdW5jdGlvbiB1KGUsdCl7ZS52YWx1ZSYmKCJ2YWx1ZSJpbiBlLnZhbHVlP3ZvaWQgMD09PWUudmFsdWUudmFsdWV8fG51bGw9PT1lLnZhbHVlLnZhbHVlP3RbZS5uYW1lXT1gPCR7ZS52YWx1ZS52YWx1ZX0+YDp0W2UubmFtZV09ZS52YWx1ZS52YWx1ZToiZGVzY3JpcHRpb24iaW4gZS52YWx1ZSYmImZ1bmN0aW9uIiE9PWUudmFsdWUudHlwZT90W2UubmFtZV09YDwke2UudmFsdWUuZGVzY3JpcHRpb259PmA6InVuZGVmaW5lZCI9PT1lLnZhbHVlLnR5cGUmJih0W2UubmFtZV09Ijx1bmRlZmluZWQ+IikpfWFzeW5jIGZ1bmN0aW9uIGwoZSx0KXtjb25zdCBuPWF3YWl0IGUucG9zdCgiUnVudGltZS5nZXRQcm9wZXJ0aWVzIix7b2JqZWN0SWQ6dCxvd25Qcm9wZXJ0aWVzOiEwfSksaT17fTtmb3IoY29uc3QgdCBvZiBuLnJlc3VsdClpZih0LnZhbHVlPy5vYmplY3RJZCYmIkFycmF5Ij09PXQudmFsdWUuY2xhc3NOYW1lKXtjb25zdCBuPXQudmFsdWUub2JqZWN0SWQ7YXdhaXQgYyhlLG4sdC5uYW1lLGkpfWVsc2UgaWYodC52YWx1ZT8ub2JqZWN0SWQmJiJPYmplY3QiPT09dC52YWx1ZS5jbGFzc05hbWUpe2NvbnN0IG49dC52YWx1ZS5vYmplY3RJZDthd2FpdCByKGUsbix0Lm5hbWUsaSl9ZWxzZSB0LnZhbHVlJiZ1KHQsaSk7cmV0dXJuIGl9bGV0IGY7KGFzeW5jIGZ1bmN0aW9uKCl7Y29uc3QgdD1uZXcgZTt0LmNvbm5lY3RUb01haW5UaHJlYWQoKSxzKCJDb25uZWN0ZWQgdG8gbWFpbiB0aHJlYWQiKTtsZXQgbj0hMTt0Lm9uKCJEZWJ1Z2dlci5yZXN1bWVkIiwoKT0+e249ITF9KSx0Lm9uKCJEZWJ1Z2dlci5wYXVzZWQiLGU9PntuPSEwLGFzeW5jIGZ1bmN0aW9uKGUse3JlYXNvbjp0LGRhdGE6e29iamVjdElkOm59LGNhbGxGcmFtZXM6aX0pe2lmKCJleGNlcHRpb24iIT09dCYmInByb21pc2VSZWplY3Rpb24iIT09dClyZXR1cm47aWYoZj8uKCksbnVsbD09bilyZXR1cm47Y29uc3QgYT1bXTtmb3IobGV0IHQ9MDt0PGkubGVuZ3RoO3QrKyl7Y29uc3R7c2NvcGVDaGFpbjpuLGZ1bmN0aW9uTmFtZTpvLHRoaXM6c309aVt0XSxjPW4uZmluZChlPT4ibG9jYWwiPT09ZS50eXBlKSxyPSJnbG9iYWwiIT09cy5jbGFzc05hbWUmJnMuY2xhc3NOYW1lP2Ake3MuY2xhc3NOYW1lfS4ke299YDpvO2lmKHZvaWQgMD09PWM/Lm9iamVjdC5vYmplY3RJZClhW3RdPXtmdW5jdGlvbjpyfTtlbHNle2NvbnN0IG49YXdhaXQgbChlLGMub2JqZWN0Lm9iamVjdElkKTthW3RdPXtmdW5jdGlvbjpyLHZhcnM6bn19fWF3YWl0IGUucG9zdCgiUnVudGltZS5jYWxsRnVuY3Rpb25PbiIse2Z1bmN0aW9uRGVjbGFyYXRpb246YGZ1bmN0aW9uKCkgeyB0aGlzLiR7b30gPSB0aGlzLiR7b30gfHwgJHtKU09OLnN0cmluZ2lmeShhKX07IH1gLHNpbGVudDohMCxvYmplY3RJZDpufSksYXdhaXQgZS5wb3N0KCJSdW50aW1lLnJlbGVhc2VPYmplY3QiLHtvYmplY3RJZDpufSl9KHQsZS5wYXJhbXMpLnRoZW4oYXN5bmMoKT0+e24mJmF3YWl0IHQucG9zdCgiRGVidWdnZXIucmVzdW1lIil9LGFzeW5jIGU9PntuJiZhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpfSl9KSxhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLmVuYWJsZSIpO2NvbnN0IGk9ITEhPT1hLmNhcHR1cmVBbGxFeGNlcHRpb25zO2lmKGF3YWl0IHQucG9zdCgiRGVidWdnZXIuc2V0UGF1c2VPbkV4Y2VwdGlvbnMiLHtzdGF0ZTppPyJhbGwiOiJ1bmNhdWdodCJ9KSxpKXtjb25zdCBlPWEubWF4RXhjZXB0aW9uc1BlclNlY29uZHx8NTA7Zj1mdW5jdGlvbihlLHQsbil7bGV0IGk9MCxvPTUsYT0wO3JldHVybiBzZXRJbnRlcnZhbCgoKT0+ezA9PT1hP2k+ZSYmKG8qPTIsbihvKSxvPjg2NDAwJiYobz04NjQwMCksYT1vKTooYS09MSwwPT09YSYmdCgpKSxpPTB9LDFlMykudW5yZWYoKSwoKT0+e2krPTF9fShlLGFzeW5jKCk9PntzKCJSYXRlLWxpbWl0IGxpZnRlZC4iKSxhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnNldFBhdXNlT25FeGNlcHRpb25zIix7c3RhdGU6ImFsbCJ9KX0sYXN5bmMgZT0+e3MoYFJhdGUtbGltaXQgZXhjZWVkZWQuIERpc2FibGluZyBjYXB0dXJpbmcgb2YgY2F1Z2h0IGV4Y2VwdGlvbnMgZm9yICR7ZX0gc2Vjb25kcy5gKSxhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnNldFBhdXNlT25FeGNlcHRpb25zIix7c3RhdGU6InVuY2F1Z2h0In0pfSl9fSkoKS5jYXRjaChlPT57cygiRmFpbGVkIHRvIHN0YXJ0IGRlYnVnZ2VyIixlKX0pLHNldEludGVydmFsKCgpPT57fSwxZTQpOw==", localVariablesAsyncIntegration;
39598
+ var base64WorkerScript = "LyohIEBzZW50cnkvbm9kZS1jb3JlIDEwLjEwLjAgKDYwYmFlOGEpIHwgaHR0cHM6Ly9naXRodWIuY29tL2dldHNlbnRyeS9zZW50cnktamF2YXNjcmlwdCAqLwppbXBvcnR7U2Vzc2lvbiBhcyBlfWZyb20ibm9kZTppbnNwZWN0b3IvcHJvbWlzZXMiO2ltcG9ydHt3b3JrZXJEYXRhIGFzIHR9ZnJvbSJub2RlOndvcmtlcl90aHJlYWRzIjtjb25zdCBuPWdsb2JhbFRoaXMsaT17fTtjb25zdCBvPSJfX1NFTlRSWV9FUlJPUl9MT0NBTF9WQVJJQUJMRVNfXyI7Y29uc3QgYT10O2Z1bmN0aW9uIHMoLi4uZSl7YS5kZWJ1ZyYmZnVuY3Rpb24oZSl7aWYoISgiY29uc29sZSJpbiBuKSlyZXR1cm4gZSgpO2NvbnN0IHQ9bi5jb25zb2xlLG89e30sYT1PYmplY3Qua2V5cyhpKTthLmZvckVhY2goZT0+e2NvbnN0IG49aVtlXTtvW2VdPXRbZV0sdFtlXT1ufSk7dHJ5e3JldHVybiBlKCl9ZmluYWxseXthLmZvckVhY2goZT0+e3RbZV09b1tlXX0pfX0oKCk9PmNvbnNvbGUubG9nKCJbTG9jYWxWYXJpYWJsZXMgV29ya2VyXSIsLi4uZSkpfWFzeW5jIGZ1bmN0aW9uIGMoZSx0LG4saSl7Y29uc3Qgbz1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIse29iamVjdElkOnQsb3duUHJvcGVydGllczohMH0pO2lbbl09by5yZXN1bHQuZmlsdGVyKGU9PiJsZW5ndGgiIT09ZS5uYW1lJiYhaXNOYU4ocGFyc2VJbnQoZS5uYW1lLDEwKSkpLnNvcnQoKGUsdCk9PnBhcnNlSW50KGUubmFtZSwxMCktcGFyc2VJbnQodC5uYW1lLDEwKSkubWFwKGU9PmUudmFsdWU/LnZhbHVlKX1hc3luYyBmdW5jdGlvbiByKGUsdCxuLGkpe2NvbnN0IG89YXdhaXQgZS5wb3N0KCJSdW50aW1lLmdldFByb3BlcnRpZXMiLHtvYmplY3RJZDp0LG93blByb3BlcnRpZXM6ITB9KTtpW25dPW8ucmVzdWx0Lm1hcChlPT5bZS5uYW1lLGUudmFsdWU/LnZhbHVlXSkucmVkdWNlKChlLFt0LG5dKT0+KGVbdF09bixlKSx7fSl9ZnVuY3Rpb24gdShlLHQpe2UudmFsdWUmJigidmFsdWUiaW4gZS52YWx1ZT92b2lkIDA9PT1lLnZhbHVlLnZhbHVlfHxudWxsPT09ZS52YWx1ZS52YWx1ZT90W2UubmFtZV09YDwke2UudmFsdWUudmFsdWV9PmA6dFtlLm5hbWVdPWUudmFsdWUudmFsdWU6ImRlc2NyaXB0aW9uImluIGUudmFsdWUmJiJmdW5jdGlvbiIhPT1lLnZhbHVlLnR5cGU/dFtlLm5hbWVdPWA8JHtlLnZhbHVlLmRlc2NyaXB0aW9ufT5gOiJ1bmRlZmluZWQiPT09ZS52YWx1ZS50eXBlJiYodFtlLm5hbWVdPSI8dW5kZWZpbmVkPiIpKX1hc3luYyBmdW5jdGlvbiBsKGUsdCl7Y29uc3Qgbj1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuZ2V0UHJvcGVydGllcyIse29iamVjdElkOnQsb3duUHJvcGVydGllczohMH0pLGk9e307Zm9yKGNvbnN0IHQgb2Ygbi5yZXN1bHQpaWYodC52YWx1ZT8ub2JqZWN0SWQmJiJBcnJheSI9PT10LnZhbHVlLmNsYXNzTmFtZSl7Y29uc3Qgbj10LnZhbHVlLm9iamVjdElkO2F3YWl0IGMoZSxuLHQubmFtZSxpKX1lbHNlIGlmKHQudmFsdWU/Lm9iamVjdElkJiYiT2JqZWN0Ij09PXQudmFsdWUuY2xhc3NOYW1lKXtjb25zdCBuPXQudmFsdWUub2JqZWN0SWQ7YXdhaXQgcihlLG4sdC5uYW1lLGkpfWVsc2UgdC52YWx1ZSYmdSh0LGkpO3JldHVybiBpfWxldCBmOyhhc3luYyBmdW5jdGlvbigpe2NvbnN0IHQ9bmV3IGU7dC5jb25uZWN0VG9NYWluVGhyZWFkKCkscygiQ29ubmVjdGVkIHRvIG1haW4gdGhyZWFkIik7bGV0IG49ITE7dC5vbigiRGVidWdnZXIucmVzdW1lZCIsKCk9PntuPSExfSksdC5vbigiRGVidWdnZXIucGF1c2VkIixlPT57bj0hMCxhc3luYyBmdW5jdGlvbihlLHtyZWFzb246dCxkYXRhOntvYmplY3RJZDpufSxjYWxsRnJhbWVzOml9KXtpZigiZXhjZXB0aW9uIiE9PXQmJiJwcm9taXNlUmVqZWN0aW9uIiE9PXQpcmV0dXJuO2lmKGY/LigpLG51bGw9PW4pcmV0dXJuO2NvbnN0IGE9W107Zm9yKGxldCB0PTA7dDxpLmxlbmd0aDt0Kyspe2NvbnN0e3Njb3BlQ2hhaW46bixmdW5jdGlvbk5hbWU6byx0aGlzOnN9PWlbdF0sYz1uLmZpbmQoZT0+ImxvY2FsIj09PWUudHlwZSkscj0iZ2xvYmFsIiE9PXMuY2xhc3NOYW1lJiZzLmNsYXNzTmFtZT9gJHtzLmNsYXNzTmFtZX0uJHtvfWA6bztpZih2b2lkIDA9PT1jPy5vYmplY3Qub2JqZWN0SWQpYVt0XT17ZnVuY3Rpb246cn07ZWxzZXtjb25zdCBuPWF3YWl0IGwoZSxjLm9iamVjdC5vYmplY3RJZCk7YVt0XT17ZnVuY3Rpb246cix2YXJzOm59fX1hd2FpdCBlLnBvc3QoIlJ1bnRpbWUuY2FsbEZ1bmN0aW9uT24iLHtmdW5jdGlvbkRlY2xhcmF0aW9uOmBmdW5jdGlvbigpIHsgdGhpcy4ke299ID0gdGhpcy4ke299IHx8ICR7SlNPTi5zdHJpbmdpZnkoYSl9OyB9YCxzaWxlbnQ6ITAsb2JqZWN0SWQ6bn0pLGF3YWl0IGUucG9zdCgiUnVudGltZS5yZWxlYXNlT2JqZWN0Iix7b2JqZWN0SWQ6bn0pfSh0LGUucGFyYW1zKS50aGVuKGFzeW5jKCk9PntuJiZhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpfSxhc3luYyBlPT57biYmYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5yZXN1bWUiKX0pfSksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5lbmFibGUiKTtjb25zdCBpPSExIT09YS5jYXB0dXJlQWxsRXhjZXB0aW9ucztpZihhd2FpdCB0LnBvc3QoIkRlYnVnZ2VyLnNldFBhdXNlT25FeGNlcHRpb25zIix7c3RhdGU6aT8iYWxsIjoidW5jYXVnaHQifSksaSl7Y29uc3QgZT1hLm1heEV4Y2VwdGlvbnNQZXJTZWNvbmR8fDUwO2Y9ZnVuY3Rpb24oZSx0LG4pe2xldCBpPTAsbz01LGE9MDtyZXR1cm4gc2V0SW50ZXJ2YWwoKCk9PnswPT09YT9pPmUmJihvKj0yLG4obyksbz44NjQwMCYmKG89ODY0MDApLGE9byk6KGEtPTEsMD09PWEmJnQoKSksaT0wfSwxZTMpLnVucmVmKCksKCk9PntpKz0xfX0oZSxhc3luYygpPT57cygiUmF0ZS1saW1pdCBsaWZ0ZWQuIiksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIse3N0YXRlOiJhbGwifSl9LGFzeW5jIGU9PntzKGBSYXRlLWxpbWl0IGV4Y2VlZGVkLiBEaXNhYmxpbmcgY2FwdHVyaW5nIG9mIGNhdWdodCBleGNlcHRpb25zIGZvciAke2V9IHNlY29uZHMuYCksYXdhaXQgdC5wb3N0KCJEZWJ1Z2dlci5zZXRQYXVzZU9uRXhjZXB0aW9ucyIse3N0YXRlOiJ1bmNhdWdodCJ9KX0pfX0pKCkuY2F0Y2goZT0+e3MoIkZhaWxlZCB0byBzdGFydCBkZWJ1Z2dlciIsZSl9KSxzZXRJbnRlcnZhbCgoKT0+e30sMWU0KTs=", localVariablesAsyncIntegration;
38173
39599
  var init_local_variables_async = __esm(() => {
38174
39600
  init_esm2();
38175
39601
  init_debug();
@@ -38882,7 +40308,7 @@ function disableAnrDetectionForCallback(callback) {
38882
40308
  integration.startWorker();
38883
40309
  return result;
38884
40310
  }
38885
- var isPromise, base64WorkerScript2 = "LyohIEBzZW50cnkvbm9kZS1jb3JlIDEwLjkuMCAoNDE3Y2Y1NykgfCBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0ICovCmltcG9ydHtTZXNzaW9uIGFzIHR9ZnJvbSJub2RlOmluc3BlY3RvciI7aW1wb3J0e3dvcmtlckRhdGEgYXMgbixwYXJlbnRQb3J0IGFzIGV9ZnJvbSJub2RlOndvcmtlcl90aHJlYWRzIjtpbXBvcnR7cG9zaXggYXMgcixzZXAgYXMgb31mcm9tIm5vZGU6cGF0aCI7aW1wb3J0KmFzIHMgZnJvbSJub2RlOmh0dHAiO2ltcG9ydCphcyBpIGZyb20ibm9kZTpodHRwcyI7aW1wb3J0e1JlYWRhYmxlIGFzIGN9ZnJvbSJub2RlOnN0cmVhbSI7aW1wb3J0e2NyZWF0ZUd6aXAgYXMgdX1mcm9tIm5vZGU6emxpYiI7aW1wb3J0KmFzIGEgZnJvbSJub2RlOm5ldCI7aW1wb3J0KmFzIGYgZnJvbSJub2RlOnRscyI7Y29uc3QgaD0idW5kZWZpbmVkIj09dHlwZW9mIF9fU0VOVFJZX0RFQlVHX198fF9fU0VOVFJZX0RFQlVHX18scD1nbG9iYWxUaGlzLGw9IjEwLjkuMCI7ZnVuY3Rpb24gZCgpe3JldHVybiBtKHApLHB9ZnVuY3Rpb24gbSh0KXtjb25zdCBuPXQuX19TRU5UUllfXz10Ll9fU0VOVFJZX198fHt9O3JldHVybiBuLnZlcnNpb249bi52ZXJzaW9ufHxsLG5bbF09bltsXXx8e319ZnVuY3Rpb24gZyh0LG4sZT1wKXtjb25zdCByPWUuX19TRU5UUllfXz1lLl9fU0VOVFJZX198fHt9LG89cltsXT1yW2xdfHx7fTtyZXR1cm4gb1t0XXx8KG9bdF09bigpKX1jb25zdCB5PXt9O2Z1bmN0aW9uIGIodCl7aWYoISgiY29uc29sZSJpbiBwKSlyZXR1cm4gdCgpO2NvbnN0IG49cC5jb25zb2xlLGU9e30scj1PYmplY3Qua2V5cyh5KTtyLmZvckVhY2godD0+e2NvbnN0IHI9eVt0XTtlW3RdPW5bdF0sblt0XT1yfSk7dHJ5e3JldHVybiB0KCl9ZmluYWxseXtyLmZvckVhY2godD0+e25bdF09ZVt0XX0pfX1mdW5jdGlvbiB2KCl7cmV0dXJuIHcoKS5lbmFibGVkfWZ1bmN0aW9uIF8odCwuLi5uKXtoJiZ2KCkmJmIoKCk9PntwLmNvbnNvbGVbdF0oYFNlbnRyeSBMb2dnZXIgWyR7dH1dOmAsLi4ubil9KX1mdW5jdGlvbiB3KCl7cmV0dXJuIGg/ZygibG9nZ2VyU2V0dGluZ3MiLCgpPT4oe2VuYWJsZWQ6ITF9KSk6e2VuYWJsZWQ6ITF9fWNvbnN0IFM9e2VuYWJsZTpmdW5jdGlvbigpe3coKS5lbmFibGVkPSEwfSxkaXNhYmxlOmZ1bmN0aW9uKCl7dygpLmVuYWJsZWQ9ITF9LGlzRW5hYmxlZDp2LGxvZzpmdW5jdGlvbiguLi50KXtfKCJsb2ciLC4uLnQpfSx3YXJuOmZ1bmN0aW9uKC4uLnQpe18oIndhcm4iLC4uLnQpfSxlcnJvcjpmdW5jdGlvbiguLi50KXtfKCJlcnJvciIsLi4udCl9fSwkPS9jYXB0dXJlTWVzc2FnZXxjYXB0dXJlRXhjZXB0aW9uLztmdW5jdGlvbiBFKHQpe3JldHVybiB0W3QubGVuZ3RoLTFdfHx7fX1jb25zdCB4PSI8YW5vbnltb3VzPiI7Y29uc3QgTj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIEModCxuKXtyZXR1cm4gTi5jYWxsKHQpPT09YFtvYmplY3QgJHtufV1gfWZ1bmN0aW9uIGsodCl7cmV0dXJuIEModCwiU3RyaW5nIil9ZnVuY3Rpb24gVCh0KXtyZXR1cm4gQyh0LCJPYmplY3QiKX1mdW5jdGlvbiBqKHQpe3JldHVybiBCb29sZWFuKHQ/LnRoZW4mJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnRoZW4pfWZ1bmN0aW9uIEkodCxuKXt0cnl7cmV0dXJuIHQgaW5zdGFuY2VvZiBufWNhdGNoe3JldHVybiExfX1jb25zdCBPPXA7ZnVuY3Rpb24gUih0LG4pe2NvbnN0IGU9dCxyPVtdO2lmKCFlPy50YWdOYW1lKXJldHVybiIiO2lmKE8uSFRNTEVsZW1lbnQmJmUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmZS5kYXRhc2V0KXtpZihlLmRhdGFzZXQuc2VudHJ5Q29tcG9uZW50KXJldHVybiBlLmRhdGFzZXQuc2VudHJ5Q29tcG9uZW50O2lmKGUuZGF0YXNldC5zZW50cnlFbGVtZW50KXJldHVybiBlLmRhdGFzZXQuc2VudHJ5RWxlbWVudH1yLnB1c2goZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkpO2NvbnN0IG89bj8ubGVuZ3RoP24uZmlsdGVyKHQ9PmUuZ2V0QXR0cmlidXRlKHQpKS5tYXAodD0+W3QsZS5nZXRBdHRyaWJ1dGUodCldKTpudWxsO2lmKG8/Lmxlbmd0aClvLmZvckVhY2godD0+e3IucHVzaChgWyR7dFswXX09IiR7dFsxXX0iXWApfSk7ZWxzZXtlLmlkJiZyLnB1c2goYCMke2UuaWR9YCk7Y29uc3QgdD1lLmNsYXNzTmFtZTtpZih0JiZrKHQpKXtjb25zdCBuPXQuc3BsaXQoL1xzKy8pO2Zvcihjb25zdCB0IG9mIG4pci5wdXNoKGAuJHt0fWApfX1jb25zdCBzPVsiYXJpYS1sYWJlbCIsInR5cGUiLCJuYW1lIiwidGl0bGUiLCJhbHQiXTtmb3IoY29uc3QgdCBvZiBzKXtjb25zdCBuPWUuZ2V0QXR0cmlidXRlKHQpO24mJnIucHVzaChgWyR7dH09IiR7bn0iXWApfXJldHVybiByLmpvaW4oIiIpfWZ1bmN0aW9uIEEodCxuPTApe3JldHVybiJzdHJpbmciIT10eXBlb2YgdHx8MD09PW58fHQubGVuZ3RoPD1uP3Q6YCR7dC5zbGljZSgwLG4pfS4uLmB9ZnVuY3Rpb24gRCh0KXtpZihmdW5jdGlvbih0KXtzd2l0Y2goTi5jYWxsKHQpKXtjYXNlIltvYmplY3QgRXJyb3JdIjpjYXNlIltvYmplY3QgRXhjZXB0aW9uXSI6Y2FzZSJbb2JqZWN0IERPTUV4Y2VwdGlvbl0iOmNhc2UiW29iamVjdCBXZWJBc3NlbWJseS5FeGNlcHRpb25dIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiBJKHQsRXJyb3IpfX0odCkpcmV0dXJue21lc3NhZ2U6dC5tZXNzYWdlLG5hbWU6dC5uYW1lLHN0YWNrOnQuc3RhY2ssLi4uVSh0KX07aWYobj10LCJ1bmRlZmluZWQiIT10eXBlb2YgRXZlbnQmJkkobixFdmVudCkpe2NvbnN0IG49e3R5cGU6dC50eXBlLHRhcmdldDpQKHQudGFyZ2V0KSxjdXJyZW50VGFyZ2V0OlAodC5jdXJyZW50VGFyZ2V0KSwuLi5VKHQpfTtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIEN1c3RvbUV2ZW50JiZJKHQsQ3VzdG9tRXZlbnQpJiYobi5kZXRhaWw9dC5kZXRhaWwpLG59cmV0dXJuIHQ7dmFyIG59ZnVuY3Rpb24gUCh0KXt0cnl7cmV0dXJuIG49dCwidW5kZWZpbmVkIiE9dHlwZW9mIEVsZW1lbnQmJkkobixFbGVtZW50KT9mdW5jdGlvbih0LG49e30pe2lmKCF0KXJldHVybiI8dW5rbm93bj4iO3RyeXtsZXQgZT10O2NvbnN0IHI9NSxvPVtdO2xldCBzPTAsaT0wO2NvbnN0IGM9IiA+ICIsdT1jLmxlbmd0aDtsZXQgYTtjb25zdCBmPUFycmF5LmlzQXJyYXkobik/bjpuLmtleUF0dHJzLGg9IUFycmF5LmlzQXJyYXkobikmJm4ubWF4U3RyaW5nTGVuZ3RofHw4MDtmb3IoO2UmJnMrKzxyJiYoYT1SKGUsZiksISgiaHRtbCI9PT1hfHxzPjEmJmkrby5sZW5ndGgqdSthLmxlbmd0aD49aCkpOylvLnB1c2goYSksaSs9YS5sZW5ndGgsZT1lLnBhcmVudE5vZGU7cmV0dXJuIG8ucmV2ZXJzZSgpLmpvaW4oYyl9Y2F0Y2h7cmV0dXJuIjx1bmtub3duPiJ9fSh0KTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9Y2F0Y2h7cmV0dXJuIjx1bmtub3duPiJ9dmFyIG59ZnVuY3Rpb24gVSh0KXtpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtjb25zdCBuPXt9O2Zvcihjb25zdCBlIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSkmJihuW2VdPXRbZV0pO3JldHVybiBufXJldHVybnt9fWZ1bmN0aW9uIE0odD1mdW5jdGlvbigpe2NvbnN0IHQ9cDtyZXR1cm4gdC5jcnlwdG98fHQubXNDcnlwdG99KCkpe2xldCBuPSgpPT4xNipNYXRoLnJhbmRvbSgpO3RyeXtpZih0Py5yYW5kb21VVUlEKXJldHVybiB0LnJhbmRvbVVVSUQoKS5yZXBsYWNlKC8tL2csIiIpO3Q/LmdldFJhbmRvbVZhbHVlcyYmKG49KCk9Pntjb25zdCBuPW5ldyBVaW50OEFycmF5KDEpO3JldHVybiB0LmdldFJhbmRvbVZhbHVlcyhuKSxuWzBdfSl9Y2F0Y2h7fXJldHVybihbMWU3XSsxZTMrNGUzKzhlMysxZTExKS5yZXBsYWNlKC9bMDE4XS9nLHQ9Pih0XigxNSZuKCkpPj50LzQpLnRvU3RyaW5nKDE2KSl9ZnVuY3Rpb24gTCgpe3JldHVybiBEYXRlLm5vdygpLzFlM31sZXQgQjtmdW5jdGlvbiBHKCl7cmV0dXJuKEI/PyhCPWZ1bmN0aW9uKCl7Y29uc3R7cGVyZm9ybWFuY2U6dH09cDtpZighdD8ubm93fHwhdC50aW1lT3JpZ2luKXJldHVybiBMO2NvbnN0IG49dC50aW1lT3JpZ2luO3JldHVybigpPT4obit0Lm5vdygpKS8xZTN9KCkpKSgpfWZ1bmN0aW9uIEgodCl7Y29uc3Qgbj1HKCksZT17c2lkOk0oKSxpbml0OiEwLHRpbWVzdGFtcDpuLHN0YXJ0ZWQ6bixkdXJhdGlvbjowLHN0YXR1czoib2siLGVycm9yczowLGlnbm9yZUR1cmF0aW9uOiExLHRvSlNPTjooKT0+ZnVuY3Rpb24odCl7cmV0dXJue3NpZDpgJHt0LnNpZH1gLGluaXQ6dC5pbml0LHN0YXJ0ZWQ6bmV3IERhdGUoMWUzKnQuc3RhcnRlZCkudG9JU09TdHJpbmcoKSx0aW1lc3RhbXA6bmV3IERhdGUoMWUzKnQudGltZXN0YW1wKS50b0lTT1N0cmluZygpLHN0YXR1czp0LnN0YXR1cyxlcnJvcnM6dC5lcnJvcnMsZGlkOiJudW1iZXIiPT10eXBlb2YgdC5kaWR8fCJzdHJpbmciPT10eXBlb2YgdC5kaWQ/YCR7dC5kaWR9YDp2b2lkIDAsZHVyYXRpb246dC5kdXJhdGlvbixhYm5vcm1hbF9tZWNoYW5pc206dC5hYm5vcm1hbF9tZWNoYW5pc20sYXR0cnM6e3JlbGVhc2U6dC5yZWxlYXNlLGVudmlyb25tZW50OnQuZW52aXJvbm1lbnQsaXBfYWRkcmVzczp0LmlwQWRkcmVzcyx1c2VyX2FnZW50OnQudXNlckFnZW50fX19KGUpfTtyZXR1cm4gdCYmSihlLHQpLGV9ZnVuY3Rpb24gSih0LG49e30pe2lmKG4udXNlciYmKCF0LmlwQWRkcmVzcyYmbi51c2VyLmlwX2FkZHJlc3MmJih0LmlwQWRkcmVzcz1uLnVzZXIuaXBfYWRkcmVzcyksdC5kaWR8fG4uZGlkfHwodC5kaWQ9bi51c2VyLmlkfHxuLnVzZXIuZW1haWx8fG4udXNlci51c2VybmFtZSkpLHQudGltZXN0YW1wPW4udGltZXN0YW1wfHxHKCksbi5hYm5vcm1hbF9tZWNoYW5pc20mJih0LmFibm9ybWFsX21lY2hhbmlzbT1uLmFibm9ybWFsX21lY2hhbmlzbSksbi5pZ25vcmVEdXJhdGlvbiYmKHQuaWdub3JlRHVyYXRpb249bi5pZ25vcmVEdXJhdGlvbiksbi5zaWQmJih0LnNpZD0zMj09PW4uc2lkLmxlbmd0aD9uLnNpZDpNKCkpLHZvaWQgMCE9PW4uaW5pdCYmKHQuaW5pdD1uLmluaXQpLCF0LmRpZCYmbi5kaWQmJih0LmRpZD1gJHtuLmRpZH1gKSwibnVtYmVyIj09dHlwZW9mIG4uc3RhcnRlZCYmKHQuc3RhcnRlZD1uLnN0YXJ0ZWQpLHQuaWdub3JlRHVyYXRpb24pdC5kdXJhdGlvbj12b2lkIDA7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIG4uZHVyYXRpb24pdC5kdXJhdGlvbj1uLmR1cmF0aW9uO2Vsc2V7Y29uc3Qgbj10LnRpbWVzdGFtcC10LnN0YXJ0ZWQ7dC5kdXJhdGlvbj1uPj0wP246MH1uLnJlbGVhc2UmJih0LnJlbGVhc2U9bi5yZWxlYXNlKSxuLmVudmlyb25tZW50JiYodC5lbnZpcm9ubWVudD1uLmVudmlyb25tZW50KSwhdC5pcEFkZHJlc3MmJm4uaXBBZGRyZXNzJiYodC5pcEFkZHJlc3M9bi5pcEFkZHJlc3MpLCF0LnVzZXJBZ2VudCYmbi51c2VyQWdlbnQmJih0LnVzZXJBZ2VudD1uLnVzZXJBZ2VudCksIm51bWJlciI9PXR5cGVvZiBuLmVycm9ycyYmKHQuZXJyb3JzPW4uZXJyb3JzKSxuLnN0YXR1cyYmKHQuc3RhdHVzPW4uc3RhdHVzKX1mdW5jdGlvbiB6KHQsbixlPTIpe2lmKCFufHwib2JqZWN0IiE9dHlwZW9mIG58fGU8PTApcmV0dXJuIG47aWYodCYmMD09PU9iamVjdC5rZXlzKG4pLmxlbmd0aClyZXR1cm4gdDtjb25zdCByPXsuLi50fTtmb3IoY29uc3QgdCBpbiBuKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLHQpJiYoclt0XT16KHJbdF0sblt0XSxlLTEpKTtyZXR1cm4gcn1mdW5jdGlvbiBGKCl7cmV0dXJuIE0oKX1mdW5jdGlvbiBXKCl7cmV0dXJuIE0oKS5zdWJzdHJpbmcoMTYpfWNvbnN0IFk9Il9zZW50cnlTcGFuIjtmdW5jdGlvbiBLKHQsbil7bj9mdW5jdGlvbih0LG4sZSl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4se3ZhbHVlOmUsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSl9Y2F0Y2h7aCYmUy5sb2coYEZhaWxlZCB0byBhZGQgbm9uLWVudW1lcmFibGUgcHJvcGVydHkgIiR7bn0iIHRvIG9iamVjdGAsdCl9fSh0LFksbik6ZGVsZXRlIHRbWV19ZnVuY3Rpb24gWih0KXtyZXR1cm4gdFtZXX1jbGFzcyBWe2NvbnN0cnVjdG9yKCl7dGhpcy50PSExLHRoaXMubz1bXSx0aGlzLmk9W10sdGhpcy51PVtdLHRoaXMuaD1bXSx0aGlzLnA9e30sdGhpcy5sPXt9LHRoaXMubT17fSx0aGlzLnY9e30sdGhpcy5fPXt9LHRoaXMuUz17dHJhY2VJZDpGKCksc2FtcGxlUmFuZDpNYXRoLnJhbmRvbSgpfX1jbG9uZSgpe2NvbnN0IHQ9bmV3IFY7cmV0dXJuIHQudT1bLi4udGhpcy51XSx0Lmw9ey4uLnRoaXMubH0sdC5tPXsuLi50aGlzLm19LHQudj17Li4udGhpcy52fSx0aGlzLnYuZmxhZ3MmJih0LnYuZmxhZ3M9e3ZhbHVlczpbLi4udGhpcy52LmZsYWdzLnZhbHVlc119KSx0LnA9dGhpcy5wLHQuTj10aGlzLk4sdC5DPXRoaXMuQyx0Lms9dGhpcy5rLHQuVD10aGlzLlQsdC5pPVsuLi50aGlzLmldLHQuaD1bLi4udGhpcy5oXSx0Ll89ey4uLnRoaXMuX30sdC5TPXsuLi50aGlzLlN9LHQuaj10aGlzLmosdC5JPXRoaXMuSSxLKHQsWih0aGlzKSksdH1zZXRDbGllbnQodCl7dGhpcy5qPXR9c2V0TGFzdEV2ZW50SWQodCl7dGhpcy5JPXR9Z2V0Q2xpZW50KCl7cmV0dXJuIHRoaXMuan1sYXN0RXZlbnRJZCgpe3JldHVybiB0aGlzLkl9YWRkU2NvcGVMaXN0ZW5lcih0KXt0aGlzLm8ucHVzaCh0KX1hZGRFdmVudFByb2Nlc3Nvcih0KXtyZXR1cm4gdGhpcy5pLnB1c2godCksdGhpc31zZXRVc2VyKHQpe3JldHVybiB0aGlzLnA9dHx8e2VtYWlsOnZvaWQgMCxpZDp2b2lkIDAsaXBfYWRkcmVzczp2b2lkIDAsdXNlcm5hbWU6dm9pZCAwfSx0aGlzLkMmJkoodGhpcy5DLHt1c2VyOnR9KSx0aGlzLk8oKSx0aGlzfWdldFVzZXIoKXtyZXR1cm4gdGhpcy5wfXNldFRhZ3ModCl7cmV0dXJuIHRoaXMubD17Li4udGhpcy5sLC4uLnR9LHRoaXMuTygpLHRoaXN9c2V0VGFnKHQsbil7cmV0dXJuIHRoaXMubD17Li4udGhpcy5sLFt0XTpufSx0aGlzLk8oKSx0aGlzfXNldEV4dHJhcyh0KXtyZXR1cm4gdGhpcy5tPXsuLi50aGlzLm0sLi4udH0sdGhpcy5PKCksdGhpc31zZXRFeHRyYSh0LG4pe3JldHVybiB0aGlzLm09ey4uLnRoaXMubSxbdF06bn0sdGhpcy5PKCksdGhpc31zZXRGaW5nZXJwcmludCh0KXtyZXR1cm4gdGhpcy5UPXQsdGhpcy5PKCksdGhpc31zZXRMZXZlbCh0KXtyZXR1cm4gdGhpcy5OPXQsdGhpcy5PKCksdGhpc31zZXRUcmFuc2FjdGlvbk5hbWUodCl7cmV0dXJuIHRoaXMuaz10LHRoaXMuTygpLHRoaXN9c2V0Q29udGV4dCh0LG4pe3JldHVybiBudWxsPT09bj9kZWxldGUgdGhpcy52W3RdOnRoaXMudlt0XT1uLHRoaXMuTygpLHRoaXN9c2V0U2Vzc2lvbih0KXtyZXR1cm4gdD90aGlzLkM9dDpkZWxldGUgdGhpcy5DLHRoaXMuTygpLHRoaXN9Z2V0U2Vzc2lvbigpe3JldHVybiB0aGlzLkN9dXBkYXRlKHQpe2lmKCF0KXJldHVybiB0aGlzO2NvbnN0IG49ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dCh0aGlzKTp0LGU9biBpbnN0YW5jZW9mIFY/bi5nZXRTY29wZURhdGEoKTpUKG4pP3Q6dm9pZCAwLHt0YWdzOnIsZXh0cmE6byx1c2VyOnMsY29udGV4dHM6aSxsZXZlbDpjLGZpbmdlcnByaW50OnU9W10scHJvcGFnYXRpb25Db250ZXh0OmF9PWV8fHt9O3JldHVybiB0aGlzLmw9ey4uLnRoaXMubCwuLi5yfSx0aGlzLm09ey4uLnRoaXMubSwuLi5vfSx0aGlzLnY9ey4uLnRoaXMudiwuLi5pfSxzJiZPYmplY3Qua2V5cyhzKS5sZW5ndGgmJih0aGlzLnA9cyksYyYmKHRoaXMuTj1jKSx1Lmxlbmd0aCYmKHRoaXMuVD11KSxhJiYodGhpcy5TPWEpLHRoaXN9Y2xlYXIoKXtyZXR1cm4gdGhpcy51PVtdLHRoaXMubD17fSx0aGlzLm09e30sdGhpcy5wPXt9LHRoaXMudj17fSx0aGlzLk49dm9pZCAwLHRoaXMuaz12b2lkIDAsdGhpcy5UPXZvaWQgMCx0aGlzLkM9dm9pZCAwLEsodGhpcyx2b2lkIDApLHRoaXMuaD1bXSx0aGlzLnNldFByb3BhZ2F0aW9uQ29udGV4dCh7dHJhY2VJZDpGKCksc2FtcGxlUmFuZDpNYXRoLnJhbmRvbSgpfSksdGhpcy5PKCksdGhpc31hZGRCcmVhZGNydW1iKHQsbil7Y29uc3QgZT0ibnVtYmVyIj09dHlwZW9mIG4/bjoxMDA7aWYoZTw9MClyZXR1cm4gdGhpcztjb25zdCByPXt0aW1lc3RhbXA6TCgpLC4uLnQsbWVzc2FnZTp0Lm1lc3NhZ2U/QSh0Lm1lc3NhZ2UsMjA0OCk6dC5tZXNzYWdlfTtyZXR1cm4gdGhpcy51LnB1c2gociksdGhpcy51Lmxlbmd0aD5lJiYodGhpcy51PXRoaXMudS5zbGljZSgtZSksdGhpcy5qPy5yZWNvcmREcm9wcGVkRXZlbnQoImJ1ZmZlcl9vdmVyZmxvdyIsImxvZ19pdGVtIikpLHRoaXMuTygpLHRoaXN9Z2V0TGFzdEJyZWFkY3J1bWIoKXtyZXR1cm4gdGhpcy51W3RoaXMudS5sZW5ndGgtMV19Y2xlYXJCcmVhZGNydW1icygpe3JldHVybiB0aGlzLnU9W10sdGhpcy5PKCksdGhpc31hZGRBdHRhY2htZW50KHQpe3JldHVybiB0aGlzLmgucHVzaCh0KSx0aGlzfWNsZWFyQXR0YWNobWVudHMoKXtyZXR1cm4gdGhpcy5oPVtdLHRoaXN9Z2V0U2NvcGVEYXRhKCl7cmV0dXJue2JyZWFkY3J1bWJzOnRoaXMudSxhdHRhY2htZW50czp0aGlzLmgsY29udGV4dHM6dGhpcy52LHRhZ3M6dGhpcy5sLGV4dHJhOnRoaXMubSx1c2VyOnRoaXMucCxsZXZlbDp0aGlzLk4sZmluZ2VycHJpbnQ6dGhpcy5UfHxbXSxldmVudFByb2Nlc3NvcnM6dGhpcy5pLHByb3BhZ2F0aW9uQ29udGV4dDp0aGlzLlMsc2RrUHJvY2Vzc2luZ01ldGFkYXRhOnRoaXMuXyx0cmFuc2FjdGlvbk5hbWU6dGhpcy5rLHNwYW46Wih0aGlzKX19c2V0U0RLUHJvY2Vzc2luZ01ldGFkYXRhKHQpe3JldHVybiB0aGlzLl89eih0aGlzLl8sdCwyKSx0aGlzfXNldFByb3BhZ2F0aW9uQ29udGV4dCh0KXtyZXR1cm4gdGhpcy5TPXQsdGhpc31nZXRQcm9wYWdhdGlvbkNvbnRleHQoKXtyZXR1cm4gdGhpcy5TfWNhcHR1cmVFeGNlcHRpb24odCxuKXtjb25zdCBlPW4/LmV2ZW50X2lkfHxNKCk7aWYoIXRoaXMuailyZXR1cm4gaCYmUy53YXJuKCJObyBjbGllbnQgY29uZmlndXJlZCBvbiBzY29wZSAtIHdpbGwgbm90IGNhcHR1cmUgZXhjZXB0aW9uISIpLGU7Y29uc3Qgcj1uZXcgRXJyb3IoIlNlbnRyeSBzeW50aGV0aWNFeGNlcHRpb24iKTtyZXR1cm4gdGhpcy5qLmNhcHR1cmVFeGNlcHRpb24odCx7b3JpZ2luYWxFeGNlcHRpb246dCxzeW50aGV0aWNFeGNlcHRpb246ciwuLi5uLGV2ZW50X2lkOmV9LHRoaXMpLGV9Y2FwdHVyZU1lc3NhZ2UodCxuLGUpe2NvbnN0IHI9ZT8uZXZlbnRfaWR8fE0oKTtpZighdGhpcy5qKXJldHVybiBoJiZTLndhcm4oIk5vIGNsaWVudCBjb25maWd1cmVkIG9uIHNjb3BlIC0gd2lsbCBub3QgY2FwdHVyZSBtZXNzYWdlISIpLHI7Y29uc3Qgbz1uZXcgRXJyb3IodCk7cmV0dXJuIHRoaXMuai5jYXB0dXJlTWVzc2FnZSh0LG4se29yaWdpbmFsRXhjZXB0aW9uOnQsc3ludGhldGljRXhjZXB0aW9uOm8sLi4uZSxldmVudF9pZDpyfSx0aGlzKSxyfWNhcHR1cmVFdmVudCh0LG4pe2NvbnN0IGU9bj8uZXZlbnRfaWR8fE0oKTtyZXR1cm4gdGhpcy5qPyh0aGlzLmouY2FwdHVyZUV2ZW50KHQsey4uLm4sZXZlbnRfaWQ6ZX0sdGhpcyksZSk6KGgmJlMud2FybigiTm8gY2xpZW50IGNvbmZpZ3VyZWQgb24gc2NvcGUgLSB3aWxsIG5vdCBjYXB0dXJlIGV2ZW50ISIpLGUpfU8oKXt0aGlzLnR8fCh0aGlzLnQ9ITAsdGhpcy5vLmZvckVhY2godD0+e3QodGhpcyl9KSx0aGlzLnQ9ITEpfX1jbGFzcyBxe2NvbnN0cnVjdG9yKHQsbil7bGV0IGUscjtlPXR8fG5ldyBWLHI9bnx8bmV3IFYsdGhpcy5SPVt7c2NvcGU6ZX1dLHRoaXMuQT1yfXdpdGhTY29wZSh0KXtjb25zdCBuPXRoaXMuRCgpO2xldCBlO3RyeXtlPXQobil9Y2F0Y2godCl7dGhyb3cgdGhpcy5QKCksdH1yZXR1cm4gaihlKT9lLnRoZW4odD0+KHRoaXMuUCgpLHQpLHQ9Pnt0aHJvdyB0aGlzLlAoKSx0fSk6KHRoaXMuUCgpLGUpfWdldENsaWVudCgpe3JldHVybiB0aGlzLmdldFN0YWNrVG9wKCkuY2xpZW50fWdldFNjb3BlKCl7cmV0dXJuIHRoaXMuZ2V0U3RhY2tUb3AoKS5zY29wZX1nZXRJc29sYXRpb25TY29wZSgpe3JldHVybiB0aGlzLkF9Z2V0U3RhY2tUb3AoKXtyZXR1cm4gdGhpcy5SW3RoaXMuUi5sZW5ndGgtMV19RCgpe2NvbnN0IHQ9dGhpcy5nZXRTY29wZSgpLmNsb25lKCk7cmV0dXJuIHRoaXMuUi5wdXNoKHtjbGllbnQ6dGhpcy5nZXRDbGllbnQoKSxzY29wZTp0fSksdH1QKCl7cmV0dXJuISh0aGlzLlIubGVuZ3RoPD0xKSYmISF0aGlzLlIucG9wKCl9fWZ1bmN0aW9uIFEoKXtjb25zdCB0PW0oZCgpKTtyZXR1cm4gdC5zdGFjaz10LnN0YWNrfHxuZXcgcShnKCJkZWZhdWx0Q3VycmVudFNjb3BlIiwoKT0+bmV3IFYpLGcoImRlZmF1bHRJc29sYXRpb25TY29wZSIsKCk9Pm5ldyBWKSl9ZnVuY3Rpb24gWCh0KXtyZXR1cm4gUSgpLndpdGhTY29wZSh0KX1mdW5jdGlvbiB0dCh0LG4pe2NvbnN0IGU9USgpO3JldHVybiBlLndpdGhTY29wZSgoKT0+KGUuZ2V0U3RhY2tUb3AoKS5zY29wZT10LG4odCkpKX1mdW5jdGlvbiBudCh0KXtyZXR1cm4gUSgpLndpdGhTY29wZSgoKT0+dChRKCkuZ2V0SXNvbGF0aW9uU2NvcGUoKSkpfWZ1bmN0aW9uIGV0KHQpe2NvbnN0IG49bSh0KTtyZXR1cm4gbi5hY3M/bi5hY3M6e3dpdGhJc29sYXRpb25TY29wZTpudCx3aXRoU2NvcGU6WCx3aXRoU2V0U2NvcGU6dHQsd2l0aFNldElzb2xhdGlvblNjb3BlOih0LG4pPT5udChuKSxnZXRDdXJyZW50U2NvcGU6KCk9PlEoKS5nZXRTY29wZSgpLGdldElzb2xhdGlvblNjb3BlOigpPT5RKCkuZ2V0SXNvbGF0aW9uU2NvcGUoKX19ZnVuY3Rpb24gcnQoKXtyZXR1cm4gZXQoZCgpKS5nZXRDdXJyZW50U2NvcGUoKS5nZXRDbGllbnQoKX1mdW5jdGlvbiBvdCh0KXtyZXR1cm57c2NvcGU6dC5fc2VudHJ5U2NvcGUsaXNvbGF0aW9uU2NvcGU6dC5fc2VudHJ5SXNvbGF0aW9uU2NvcGV9fWNvbnN0IHN0PS9ec2VudHJ5LS87ZnVuY3Rpb24gaXQodCl7Y29uc3Qgbj1mdW5jdGlvbih0KXtpZighdHx8IWsodCkmJiFBcnJheS5pc0FycmF5KHQpKXJldHVybjtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0LnJlZHVjZSgodCxuKT0+e2NvbnN0IGU9Y3Qobik7cmV0dXJuIE9iamVjdC5lbnRyaWVzKGUpLmZvckVhY2goKFtuLGVdKT0+e3Rbbl09ZX0pLHR9LHt9KTtyZXR1cm4gY3QodCl9KHQpO2lmKCFuKXJldHVybjtjb25zdCBlPU9iamVjdC5lbnRyaWVzKG4pLnJlZHVjZSgodCxbbixlXSk9PntpZihuLm1hdGNoKHN0KSl7dFtuLnNsaWNlKDcpXT1lfXJldHVybiB0fSx7fSk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmxlbmd0aD4wP2U6dm9pZCAwfWZ1bmN0aW9uIGN0KHQpe3JldHVybiB0LnNwbGl0KCIsIikubWFwKHQ9PnQuc3BsaXQoIj0iKS5tYXAodD0+e3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQudHJpbSgpKX1jYXRjaHtyZXR1cm59fSkpLnJlZHVjZSgodCxbbixlXSk9PihuJiZlJiYodFtuXT1lKSx0KSx7fSl9Y29uc3QgdXQ9L15vKFxkKylcLi87ZnVuY3Rpb24gYXQodCxuPSExKXtjb25zdHtob3N0OmUscGF0aDpyLHBhc3M6byxwb3J0OnMscHJvamVjdElkOmkscHJvdG9jb2w6YyxwdWJsaWNLZXk6dX09dDtyZXR1cm5gJHtjfTovLyR7dX0ke24mJm8/YDoke299YDoiIn1AJHtlfSR7cz9gOiR7c31gOiIifS8ke3I/YCR7cn0vYDpyfSR7aX1gfWZ1bmN0aW9uIGZ0KHQpe2NvbnN0IG49dC5nZXRPcHRpb25zKCkse2hvc3Q6ZX09dC5nZXREc24oKXx8e307bGV0IHI7cmV0dXJuIG4ub3JnSWQ/cj1TdHJpbmcobi5vcmdJZCk6ZSYmKHI9ZnVuY3Rpb24odCl7Y29uc3Qgbj10Lm1hdGNoKHV0KTtyZXR1cm4gbj8uWzFdfShlKSkscn1mdW5jdGlvbiBodCh0KXtjb25zdHtzcGFuSWQ6bix0cmFjZUlkOmUsaXNSZW1vdGU6cn09dC5zcGFuQ29udGV4dCgpLG89cj9uOm10KHQpLnBhcmVudF9zcGFuX2lkLHM9b3QodCkuc2NvcGU7cmV0dXJue3BhcmVudF9zcGFuX2lkOm8sc3Bhbl9pZDpyP3M/LmdldFByb3BhZ2F0aW9uQ29udGV4dCgpLnByb3BhZ2F0aW9uU3BhbklkfHxXKCk6bix0cmFjZV9pZDplfX1mdW5jdGlvbiBwdCh0KXtyZXR1cm4gdCYmdC5sZW5ndGg+MD90Lm1hcCgoe2NvbnRleHQ6e3NwYW5JZDp0LHRyYWNlSWQ6bix0cmFjZUZsYWdzOmUsLi4ucn0sYXR0cmlidXRlczpvfSk9Pih7c3Bhbl9pZDp0LHRyYWNlX2lkOm4sc2FtcGxlZDoxPT09ZSxhdHRyaWJ1dGVzOm8sLi4ucn0pKTp2b2lkIDB9ZnVuY3Rpb24gbHQodCl7cmV0dXJuIm51bWJlciI9PXR5cGVvZiB0P2R0KHQpOkFycmF5LmlzQXJyYXkodCk/dFswXSt0WzFdLzFlOTp0IGluc3RhbmNlb2YgRGF0ZT9kdCh0LmdldFRpbWUoKSk6RygpfWZ1bmN0aW9uIGR0KHQpe3JldHVybiB0Pjk5OTk5OTk5OTk/dC8xZTM6dH1mdW5jdGlvbiBtdCh0KXtpZihmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdC5nZXRTcGFuSlNPTn0odCkpcmV0dXJuIHQuZ2V0U3BhbkpTT04oKTtjb25zdHtzcGFuSWQ6bix0cmFjZUlkOmV9PXQuc3BhbkNvbnRleHQoKTtpZihmdW5jdGlvbih0KXtjb25zdCBuPXQ7cmV0dXJuISEobi5hdHRyaWJ1dGVzJiZuLnN0YXJ0VGltZSYmbi5uYW1lJiZuLmVuZFRpbWUmJm4uc3RhdHVzKX0odCkpe2NvbnN0e2F0dHJpYnV0ZXM6cixzdGFydFRpbWU6byxuYW1lOnMsZW5kVGltZTppLHN0YXR1czpjLGxpbmtzOnV9PXQ7cmV0dXJue3NwYW5faWQ6bix0cmFjZV9pZDplLGRhdGE6cixkZXNjcmlwdGlvbjpzLHBhcmVudF9zcGFuX2lkOiJwYXJlbnRTcGFuSWQiaW4gdD90LnBhcmVudFNwYW5JZDoicGFyZW50U3BhbkNvbnRleHQiaW4gdD90LnBhcmVudFNwYW5Db250ZXh0Py5zcGFuSWQ6dm9pZCAwLHN0YXJ0X3RpbWVzdGFtcDpsdChvKSx0aW1lc3RhbXA6bHQoaSl8fHZvaWQgMCxzdGF0dXM6Z3QoYyksb3A6clsic2VudHJ5Lm9wIl0sb3JpZ2luOnJbInNlbnRyeS5vcmlnaW4iXSxsaW5rczpwdCh1KX19cmV0dXJue3NwYW5faWQ6bix0cmFjZV9pZDplLHN0YXJ0X3RpbWVzdGFtcDowLGRhdGE6e319fWZ1bmN0aW9uIGd0KHQpe2lmKHQmJjAhPT10LmNvZGUpcmV0dXJuIDE9PT10LmNvZGU/Im9rIjp0Lm1lc3NhZ2V8fCJ1bmtub3duX2Vycm9yIn1mdW5jdGlvbiB5dCh0KXtyZXR1cm4gdC5fc2VudHJ5Um9vdFNwYW58fHR9ZnVuY3Rpb24gYnQodCl7Y29uc3Qgbj1ydCgpO2lmKCFuKXJldHVybnt9O2NvbnN0IGU9eXQodCkscj1tdChlKSxvPXIuZGF0YSxzPWUuc3BhbkNvbnRleHQoKS50cmFjZVN0YXRlLGk9cz8uZ2V0KCJzZW50cnkuc2FtcGxlX3JhdGUiKT8/b1sic2VudHJ5LnNhbXBsZV9yYXRlIl0/P29bInNlbnRyeS5wcmV2aW91c190cmFjZV9zYW1wbGVfcmF0ZSJdO2Z1bmN0aW9uIGModCl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiBpJiYic3RyaW5nIiE9dHlwZW9mIGl8fCh0LnNhbXBsZV9yYXRlPWAke2l9YCksdH1jb25zdCB1PWUuX2Zyb3plbkRzYztpZih1KXJldHVybiBjKHUpO2NvbnN0IGE9cz8uZ2V0KCJzZW50cnkuZHNjIiksZj1hJiZpdChhKTtpZihmKXJldHVybiBjKGYpO2NvbnN0IGg9ZnVuY3Rpb24odCxuKXtjb25zdCBlPW4uZ2V0T3B0aW9ucygpLHtwdWJsaWNLZXk6cn09bi5nZXREc24oKXx8e30sbz17ZW52aXJvbm1lbnQ6ZS5lbnZpcm9ubWVudHx8InByb2R1Y3Rpb24iLHJlbGVhc2U6ZS5yZWxlYXNlLHB1YmxpY19rZXk6cix0cmFjZV9pZDp0LG9yZ19pZDpmdChuKX07cmV0dXJuIG4uZW1pdCgiY3JlYXRlRHNjIixvKSxvfSh0LnNwYW5Db250ZXh0KCkudHJhY2VJZCxuKSxwPW9bInNlbnRyeS5zb3VyY2UiXSxsPXIuZGVzY3JpcHRpb247cmV0dXJuInVybCIhPT1wJiZsJiYoaC50cmFuc2FjdGlvbj1sKSxmdW5jdGlvbigpe2lmKCJib29sZWFuIj09dHlwZW9mIF9fU0VOVFJZX1RSQUNJTkdfXyYmIV9fU0VOVFJZX1RSQUNJTkdfXylyZXR1cm4hMTtjb25zdCB0PXJ0KCk/LmdldE9wdGlvbnMoKTtyZXR1cm4hKCF0fHxudWxsPT10LnRyYWNlc1NhbXBsZVJhdGUmJiF0LnRyYWNlc1NhbXBsZXIpfSgpJiYoaC5zYW1wbGVkPVN0cmluZyhmdW5jdGlvbih0KXtjb25zdHt0cmFjZUZsYWdzOm59PXQuc3BhbkNvbnRleHQoKTtyZXR1cm4gMT09PW59KGUpKSxoLnNhbXBsZV9yYW5kPXM/LmdldCgic2VudHJ5LnNhbXBsZV9yYW5kIik/P290KGUpLnNjb3BlPy5nZXRQcm9wYWdhdGlvbkNvbnRleHQoKS5zYW1wbGVSYW5kLnRvU3RyaW5nKCkpLGMoaCksbi5lbWl0KCJjcmVhdGVEc2MiLGgsZSksaH1mdW5jdGlvbiB2dCh0LG49MTAwLGU9MS8wKXt0cnl7cmV0dXJuIF90KCIiLHQsbixlKX1jYXRjaCh0KXtyZXR1cm57RVJST1I6YCoqbm9uLXNlcmlhbGl6YWJsZSoqICgke3R9KWB9fX1mdW5jdGlvbiBfdCh0LG4sZT0xLzAscj0xLzAsbz1mdW5jdGlvbigpe2NvbnN0IHQ9bmV3IFdlYWtTZXQ7ZnVuY3Rpb24gbihuKXtyZXR1cm4hIXQuaGFzKG4pfHwodC5hZGQobiksITEpfWZ1bmN0aW9uIGUobil7dC5kZWxldGUobil9cmV0dXJuW24sZV19KCkpe2NvbnN0W3MsaV09bztpZihudWxsPT1ufHxbImJvb2xlYW4iLCJzdHJpbmciXS5pbmNsdWRlcyh0eXBlb2Ygbil8fCJudW1iZXIiPT10eXBlb2YgbiYmTnVtYmVyLmlzRmluaXRlKG4pKXJldHVybiBuO2NvbnN0IGM9ZnVuY3Rpb24odCxuKXt0cnl7aWYoImRvbWFpbiI9PT10JiZuJiYib2JqZWN0Ij09dHlwZW9mIG4mJm4uVSlyZXR1cm4iW0RvbWFpbl0iO2lmKCJkb21haW5FbWl0dGVyIj09PXQpcmV0dXJuIltEb21haW5FbWl0dGVyXSI7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWwmJm49PT1nbG9iYWwpcmV0dXJuIltHbG9iYWxdIjtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmbj09PXdpbmRvdylyZXR1cm4iW1dpbmRvd10iO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJm49PT1kb2N1bWVudClyZXR1cm4iW0RvY3VtZW50XSI7aWYoIm9iamVjdCI9PXR5cGVvZihlPW4pJiZudWxsIT09ZSYmKGUuX19pc1Z1ZXx8ZS5NKSlyZXR1cm4iW1Z1ZVZpZXdNb2RlbF0iO2lmKGZ1bmN0aW9uKHQpe3JldHVybiBUKHQpJiYibmF0aXZlRXZlbnQiaW4gdCYmInByZXZlbnREZWZhdWx0ImluIHQmJiJzdG9wUHJvcGFnYXRpb24iaW4gdH0obikpcmV0dXJuIltTeW50aGV0aWNFdmVudF0iO2lmKCJudW1iZXIiPT10eXBlb2YgbiYmIU51bWJlci5pc0Zpbml0ZShuKSlyZXR1cm5gWyR7bn1dYDtpZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm5gW0Z1bmN0aW9uOiAke2Z1bmN0aW9uKHQpe3RyeXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQubmFtZXx8eH1jYXRjaHtyZXR1cm4geH19KG4pfV1gO2lmKCJzeW1ib2wiPT10eXBlb2YgbilyZXR1cm5gWyR7U3RyaW5nKG4pfV1gO2lmKCJiaWdpbnQiPT10eXBlb2YgbilyZXR1cm5gW0JpZ0ludDogJHtTdHJpbmcobil9XWA7Y29uc3Qgcj1mdW5jdGlvbih0KXtjb25zdCBuPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyZXR1cm4gbj8uY29uc3RydWN0b3I/bi5jb25zdHJ1Y3Rvci5uYW1lOiJudWxsIHByb3RvdHlwZSJ9KG4pO3JldHVybi9eSFRNTChcdyopRWxlbWVudCQvLnRlc3Qocik/YFtIVE1MRWxlbWVudDogJHtyfV1gOmBbb2JqZWN0ICR7cn1dYH1jYXRjaCh0KXtyZXR1cm5gKipub24tc2VyaWFsaXphYmxlKiogKCR7dH0pYH12YXIgZX0odCxuKTtpZighYy5zdGFydHNXaXRoKCJbb2JqZWN0ICIpKXJldHVybiBjO2lmKG4uX19zZW50cnlfc2tpcF9ub3JtYWxpemF0aW9uX18pcmV0dXJuIG47Y29uc3QgdT0ibnVtYmVyIj09dHlwZW9mIG4uX19zZW50cnlfb3ZlcnJpZGVfbm9ybWFsaXphdGlvbl9kZXB0aF9fP24uX19zZW50cnlfb3ZlcnJpZGVfbm9ybWFsaXphdGlvbl9kZXB0aF9fOmU7aWYoMD09PXUpcmV0dXJuIGMucmVwbGFjZSgib2JqZWN0ICIsIiIpO2lmKHMobikpcmV0dXJuIltDaXJjdWxhciB+XSI7Y29uc3QgYT1uO2lmKGEmJiJmdW5jdGlvbiI9PXR5cGVvZiBhLnRvSlNPTil0cnl7cmV0dXJuIF90KCIiLGEudG9KU09OKCksdS0xLHIsbyl9Y2F0Y2h7fWNvbnN0IGY9QXJyYXkuaXNBcnJheShuKT9bXTp7fTtsZXQgaD0wO2NvbnN0IHA9RChuKTtmb3IoY29uc3QgdCBpbiBwKXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHAsdCkpY29udGludWU7aWYoaD49cil7Zlt0XT0iW01heFByb3BlcnRpZXMgfl0iO2JyZWFrfWNvbnN0IG49cFt0XTtmW3RdPV90KHQsbix1LTEscixvKSxoKyt9cmV0dXJuIGkobiksZn1mdW5jdGlvbiB3dCh0LG4pe2NvbnN0IGU9bi5yZXBsYWNlKC9cXC9nLCIvIikucmVwbGFjZSgvW3xcXHt9KClbXF1eJCsqPy5dL2csIlxcJCYiKTtsZXQgcj10O3RyeXtyPWRlY29kZVVSSSh0KX1jYXRjaHt9cmV0dXJuIHIucmVwbGFjZSgvXFwvZywiLyIpLnJlcGxhY2UoL3dlYnBhY2s6XC8/L2csIiIpLnJlcGxhY2UobmV3IFJlZ0V4cChgKGZpbGU6Ly8pPy8qJHtlfS8qYCwiaWciKSwiYXBwOi8vLyIpfWZ1bmN0aW9uIFN0KHQsbj1bXSl7cmV0dXJuW3Qsbl19ZnVuY3Rpb24gJHQodCxuKXtjb25zdCBlPXRbMV07Zm9yKGNvbnN0IHQgb2YgZSl7aWYobih0LHRbMF0udHlwZSkpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gRXQodCl7Y29uc3Qgbj1tKHApO3JldHVybiBuLmVuY29kZVBvbHlmaWxsP24uZW5jb2RlUG9seWZpbGwodCk6KG5ldyBUZXh0RW5jb2RlcikuZW5jb2RlKHQpfWZ1bmN0aW9uIHh0KHQpe2NvbnN0W24sZV09dDtsZXQgcj1KU09OLnN0cmluZ2lmeShuKTtmdW5jdGlvbiBvKHQpeyJzdHJpbmciPT10eXBlb2Ygcj9yPSJzdHJpbmciPT10eXBlb2YgdD9yK3Q6W0V0KHIpLHRdOnIucHVzaCgic3RyaW5nIj09dHlwZW9mIHQ/RXQodCk6dCl9Zm9yKGNvbnN0IHQgb2YgZSl7Y29uc3RbbixlXT10O2lmKG8oYFxuJHtKU09OLnN0cmluZ2lmeShuKX1cbmApLCJzdHJpbmciPT10eXBlb2YgZXx8ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpbyhlKTtlbHNle2xldCB0O3RyeXt0PUpTT04uc3RyaW5naWZ5KGUpfWNhdGNoe3Q9SlNPTi5zdHJpbmdpZnkodnQoZSkpfW8odCl9fXJldHVybiJzdHJpbmciPT10eXBlb2Ygcj9yOmZ1bmN0aW9uKHQpe2NvbnN0IG49dC5yZWR1Y2UoKHQsbik9PnQrbi5sZW5ndGgsMCksZT1uZXcgVWludDhBcnJheShuKTtsZXQgcj0wO2Zvcihjb25zdCBuIG9mIHQpZS5zZXQobixyKSxyKz1uLmxlbmd0aDtyZXR1cm4gZX0ocil9Y29uc3QgTnQ9e3Nlc3Npb246InNlc3Npb24iLHNlc3Npb25zOiJzZXNzaW9uIixhdHRhY2htZW50OiJhdHRhY2htZW50Iix0cmFuc2FjdGlvbjoidHJhbnNhY3Rpb24iLGV2ZW50OiJlcnJvciIsY2xpZW50X3JlcG9ydDoiaW50ZXJuYWwiLHVzZXJfcmVwb3J0OiJkZWZhdWx0Iixwcm9maWxlOiJwcm9maWxlIixwcm9maWxlX2NodW5rOiJwcm9maWxlIixyZXBsYXlfZXZlbnQ6InJlcGxheSIscmVwbGF5X3JlY29yZGluZzoicmVwbGF5IixjaGVja19pbjoibW9uaXRvciIsZmVlZGJhY2s6ImZlZWRiYWNrIixzcGFuOiJzcGFuIixyYXdfc2VjdXJpdHk6InNlY3VyaXR5Iixsb2c6ImxvZ19pdGVtIn07ZnVuY3Rpb24gQ3QodCl7aWYoIXQ/LnNkaylyZXR1cm47Y29uc3R7bmFtZTpuLHZlcnNpb246ZX09dC5zZGs7cmV0dXJue25hbWU6bix2ZXJzaW9uOmV9fWZ1bmN0aW9uIGt0KHQsbixlLHIpe2NvbnN0IG89Q3QoZSkscz10LnR5cGUmJiJyZXBsYXlfZXZlbnQiIT09dC50eXBlP3QudHlwZToiZXZlbnQiOyFmdW5jdGlvbih0LG4pe2lmKCFuKXJldHVybiB0O2NvbnN0IGU9dC5zZGt8fHt9O3Quc2RrPXsuLi5lLG5hbWU6ZS5uYW1lfHxuLm5hbWUsdmVyc2lvbjplLnZlcnNpb258fG4udmVyc2lvbixpbnRlZ3JhdGlvbnM6Wy4uLnQuc2RrPy5pbnRlZ3JhdGlvbnN8fFtdLC4uLm4uaW50ZWdyYXRpb25zfHxbXV0scGFja2FnZXM6Wy4uLnQuc2RrPy5wYWNrYWdlc3x8W10sLi4ubi5wYWNrYWdlc3x8W11dLHNldHRpbmdzOnQuc2RrPy5zZXR0aW5nc3x8bi5zZXR0aW5ncz97Li4udC5zZGs/LnNldHRpbmdzLC4uLm4uc2V0dGluZ3N9OnZvaWQgMH19KHQsZT8uc2RrKTtjb25zdCBpPWZ1bmN0aW9uKHQsbixlLHIpe2NvbnN0IG89dC5zZGtQcm9jZXNzaW5nTWV0YWRhdGE/LmR5bmFtaWNTYW1wbGluZ0NvbnRleHQ7cmV0dXJue2V2ZW50X2lkOnQuZXZlbnRfaWQsc2VudF9hdDoobmV3IERhdGUpLnRvSVNPU3RyaW5nKCksLi4ubiYme3NkazpufSwuLi4hIWUmJnImJntkc246YXQocil9LC4uLm8mJnt0cmFjZTpvfX19KHQsbyxyLG4pO2RlbGV0ZSB0LnNka1Byb2Nlc3NpbmdNZXRhZGF0YTtyZXR1cm4gU3QoaSxbW3t0eXBlOnN9LHRdXSl9Y29uc3QgVHQ9Il9fU0VOVFJZX1NVUFBSRVNTX1RSQUNJTkdfXyI7ZnVuY3Rpb24ganQodCl7Y29uc3Qgbj1ldChkKCkpO3JldHVybiBuLnN1cHByZXNzVHJhY2luZz9uLnN1cHByZXNzVHJhY2luZyh0KTpmdW5jdGlvbiguLi50KXtjb25zdCBuPWV0KGQoKSk7aWYoMj09PXQubGVuZ3RoKXtjb25zdFtlLHJdPXQ7cmV0dXJuIGU/bi53aXRoU2V0U2NvcGUoZSxyKTpuLndpdGhTY29wZShyKX1yZXR1cm4gbi53aXRoU2NvcGUodFswXSl9KG49PntuLnNldFNES1Byb2Nlc3NpbmdNZXRhZGF0YSh7W1R0XTohMH0pO2NvbnN0IGU9dCgpO3JldHVybiBuLnNldFNES1Byb2Nlc3NpbmdNZXRhZGF0YSh7W1R0XTp2b2lkIDB9KSxlfSl9ZnVuY3Rpb24gSXQodCl7cmV0dXJuIG5ldyBPdChuPT57bih0KX0pfWNsYXNzIE90e2NvbnN0cnVjdG9yKHQpe3RoaXMuTD0wLHRoaXMuQj1bXSx0aGlzLkcodCl9dGhlbih0LG4pe3JldHVybiBuZXcgT3QoKGUscik9Pnt0aGlzLkIucHVzaChbITEsbj0+e2lmKHQpdHJ5e2UodChuKSl9Y2F0Y2godCl7cih0KX1lbHNlIGUobil9LHQ9PntpZihuKXRyeXtlKG4odCkpfWNhdGNoKHQpe3IodCl9ZWxzZSByKHQpfV0pLHRoaXMuSCgpfSl9Y2F0Y2godCl7cmV0dXJuIHRoaXMudGhlbih0PT50LHQpfWZpbmFsbHkodCl7cmV0dXJuIG5ldyBPdCgobixlKT0+e2xldCByLG87cmV0dXJuIHRoaXMudGhlbihuPT57bz0hMSxyPW4sdCYmdCgpfSxuPT57bz0hMCxyPW4sdCYmdCgpfSkudGhlbigoKT0+e28/ZShyKTpuKHIpfSl9KX1IKCl7aWYoMD09PXRoaXMuTClyZXR1cm47Y29uc3QgdD10aGlzLkIuc2xpY2UoKTt0aGlzLkI9W10sdC5mb3JFYWNoKHQ9Pnt0WzBdfHwoMT09PXRoaXMuTCYmdFsxXSh0aGlzLkopLDI9PT10aGlzLkwmJnRbMl0odGhpcy5KKSx0WzBdPSEwKX0pfUcodCl7Y29uc3Qgbj0odCxuKT0+ezA9PT10aGlzLkwmJihqKG4pP24udGhlbihlLHIpOih0aGlzLkw9dCx0aGlzLko9bix0aGlzLkgoKSkpfSxlPXQ9PntuKDEsdCl9LHI9dD0+e24oMix0KX07dHJ5e3QoZSxyKX1jYXRjaCh0KXtyKHQpfX19ZnVuY3Rpb24gUnQodCxuKXtjb25zdHtmaW5nZXJwcmludDplLHNwYW46cixicmVhZGNydW1iczpvLHNka1Byb2Nlc3NpbmdNZXRhZGF0YTpzfT1uOyFmdW5jdGlvbih0LG4pe2NvbnN0e2V4dHJhOmUsdGFnczpyLHVzZXI6byxjb250ZXh0czpzLGxldmVsOmksdHJhbnNhY3Rpb25OYW1lOmN9PW47T2JqZWN0LmtleXMoZSkubGVuZ3RoJiYodC5leHRyYT17Li4uZSwuLi50LmV4dHJhfSk7T2JqZWN0LmtleXMocikubGVuZ3RoJiYodC50YWdzPXsuLi5yLC4uLnQudGFnc30pO09iamVjdC5rZXlzKG8pLmxlbmd0aCYmKHQudXNlcj17Li4ubywuLi50LnVzZXJ9KTtPYmplY3Qua2V5cyhzKS5sZW5ndGgmJih0LmNvbnRleHRzPXsuLi5zLC4uLnQuY29udGV4dHN9KTtpJiYodC5sZXZlbD1pKTtjJiYidHJhbnNhY3Rpb24iIT09dC50eXBlJiYodC50cmFuc2FjdGlvbj1jKX0odCxuKSxyJiZmdW5jdGlvbih0LG4pe3QuY29udGV4dHM9e3RyYWNlOmh0KG4pLC4uLnQuY29udGV4dHN9LHQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhPXtkeW5hbWljU2FtcGxpbmdDb250ZXh0OmJ0KG4pLC4uLnQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhfTtjb25zdCBlPXl0KG4pLHI9bXQoZSkuZGVzY3JpcHRpb247ciYmIXQudHJhbnNhY3Rpb24mJiJ0cmFuc2FjdGlvbiI9PT10LnR5cGUmJih0LnRyYW5zYWN0aW9uPXIpfSh0LHIpLGZ1bmN0aW9uKHQsbil7dC5maW5nZXJwcmludD10LmZpbmdlcnByaW50P0FycmF5LmlzQXJyYXkodC5maW5nZXJwcmludCk/dC5maW5nZXJwcmludDpbdC5maW5nZXJwcmludF06W10sbiYmKHQuZmluZ2VycHJpbnQ9dC5maW5nZXJwcmludC5jb25jYXQobikpO3QuZmluZ2VycHJpbnQubGVuZ3RofHxkZWxldGUgdC5maW5nZXJwcmludH0odCxlKSxmdW5jdGlvbih0LG4pe2NvbnN0IGU9Wy4uLnQuYnJlYWRjcnVtYnN8fFtdLC4uLm5dO3QuYnJlYWRjcnVtYnM9ZS5sZW5ndGg/ZTp2b2lkIDB9KHQsbyksZnVuY3Rpb24odCxuKXt0LnNka1Byb2Nlc3NpbmdNZXRhZGF0YT17Li4udC5zZGtQcm9jZXNzaW5nTWV0YWRhdGEsLi4ubn19KHQscyl9Y29uc3QgQXQ9U3ltYm9sLmZvcigiU2VudHJ5QnVmZmVyRnVsbEVycm9yIik7ZnVuY3Rpb24gRHQodCl7Y29uc3Qgbj1bXTtmdW5jdGlvbiBlKHQpe3JldHVybiBuLnNwbGljZShuLmluZGV4T2YodCksMSlbMF18fFByb21pc2UucmVzb2x2ZSh2b2lkIDApfXJldHVybnskOm4sYWRkOmZ1bmN0aW9uKHIpe2lmKCEodm9pZCAwPT09dHx8bi5sZW5ndGg8dCkpcmV0dXJuIG89QXQsbmV3IE90KCh0LG4pPT57bihvKX0pO3ZhciBvO2NvbnN0IHM9cigpO3JldHVybi0xPT09bi5pbmRleE9mKHMpJiZuLnB1c2gocykscy50aGVuKCgpPT5lKHMpKS50aGVuKG51bGwsKCk9PmUocykudGhlbihudWxsLCgpPT57fSkpLHN9LGRyYWluOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgT3QoKGUscik9PntsZXQgbz1uLmxlbmd0aDtpZighbylyZXR1cm4gZSghMCk7Y29uc3Qgcz1zZXRUaW1lb3V0KCgpPT57dCYmdD4wJiZlKCExKX0sdCk7bi5mb3JFYWNoKHQ9PntJdCh0KS50aGVuKCgpPT57LS1vfHwoY2xlYXJUaW1lb3V0KHMpLGUoITApKX0scil9KX0pfX19ZnVuY3Rpb24gUHQodCx7c3RhdHVzQ29kZTpuLGhlYWRlcnM6ZX0scj1EYXRlLm5vdygpKXtjb25zdCBvPXsuLi50fSxzPWU/LlsieC1zZW50cnktcmF0ZS1saW1pdHMiXSxpPWU/LlsicmV0cnktYWZ0ZXIiXTtpZihzKWZvcihjb25zdCB0IG9mIHMudHJpbSgpLnNwbGl0KCIsIikpe2NvbnN0W24sZSwsLHNdPXQuc3BsaXQoIjoiLDUpLGk9cGFyc2VJbnQobiwxMCksYz0xZTMqKGlzTmFOKGkpPzYwOmkpO2lmKGUpZm9yKGNvbnN0IHQgb2YgZS5zcGxpdCgiOyIpKSJtZXRyaWNfYnVja2V0Ij09PXQmJnMmJiFzLnNwbGl0KCI7IikuaW5jbHVkZXMoImN1c3RvbSIpfHwob1t0XT1yK2MpO2Vsc2Ugby5hbGw9citjfWVsc2UgaT9vLmFsbD1yK2Z1bmN0aW9uKHQsbj1EYXRlLm5vdygpKXtjb25zdCBlPXBhcnNlSW50KGAke3R9YCwxMCk7aWYoIWlzTmFOKGUpKXJldHVybiAxZTMqZTtjb25zdCByPURhdGUucGFyc2UoYCR7dH1gKTtyZXR1cm4gaXNOYU4ocik/NmU0OnItbn0oaSxyKTo0Mjk9PT1uJiYoby5hbGw9cis2ZTQpO3JldHVybiBvfWZ1bmN0aW9uIFV0KHQsbixlPUR0KHQuYnVmZmVyU2l6ZXx8NjQpKXtsZXQgcj17fTtyZXR1cm57c2VuZDpmdW5jdGlvbih0KXtjb25zdCBvPVtdO2lmKCR0KHQsKHQsbik9Pntjb25zdCBlPWZ1bmN0aW9uKHQpe3JldHVybiBOdFt0XX0obik7KGZ1bmN0aW9uKHQsbixlPURhdGUubm93KCkpe3JldHVybiBmdW5jdGlvbih0LG4pe3JldHVybiB0W25dfHx0LmFsbHx8MH0odCxuKT5lfSkocixlKXx8by5wdXNoKHQpfSksMD09PW8ubGVuZ3RoKXJldHVybiBJdCh7fSk7Y29uc3Qgcz1TdCh0WzBdLG8pLGk9dD0+eyR0KHMsKHQsbik9Pnt9KX07cmV0dXJuIGUuYWRkKCgpPT5uKHtib2R5Onh0KHMpfSkudGhlbih0PT4odm9pZCAwIT09dC5zdGF0dXNDb2RlJiYodC5zdGF0dXNDb2RlPDIwMHx8dC5zdGF0dXNDb2RlPj0zMDApJiZoJiZTLndhcm4oYFNlbnRyeSByZXNwb25kZWQgd2l0aCBzdGF0dXMgY29kZSAke3Quc3RhdHVzQ29kZX0gdG8gc2VudCBldmVudC5gKSxyPVB0KHIsdCksdCksdD0+e3Rocm93IGkoKSxoJiZTLmVycm9yKCJFbmNvdW50ZXJlZCBlcnJvciBydW5uaW5nIHRyYW5zcG9ydCByZXF1ZXN0OiIsdCksdH0pKS50aGVuKHQ9PnQsdD0+e2lmKHQ9PT1BdClyZXR1cm4gaCYmUy5lcnJvcigiU2tpcHBlZCBzZW5kaW5nIGV2ZW50IGJlY2F1c2UgYnVmZmVyIGlzIGZ1bGwuIiksaSgpLEl0KHt9KTt0aHJvdyB0fSl9LGZsdXNoOnQ9PmUuZHJhaW4odCl9fWNvbnN0IE10PS9eKFxTKzpcXHxcLz8pKFtcc1xTXSo/KSgoPzpcLnsxLDJ9fFteL1xcXSs/fCkoXC5bXi4vXFxdKnwpKSg/OlsvXFxdKikkLztmdW5jdGlvbiBMdCh0KXtjb25zdCBuPWZ1bmN0aW9uKHQpe2NvbnN0IG49dC5sZW5ndGg+MTAyND9gPHRydW5jYXRlZD4ke3Quc2xpY2UoLTEwMjQpfWA6dCxlPU10LmV4ZWMobik7cmV0dXJuIGU/ZS5zbGljZSgxKTpbXX0odCksZT1uWzBdfHwiIjtsZXQgcj1uWzFdO3JldHVybiBlfHxyPyhyJiYocj1yLnNsaWNlKDAsci5sZW5ndGgtMSkpLGUrcik6Ii4ifWZ1bmN0aW9uIEJ0KHQsbj0hMSl7cmV0dXJuIShufHx0JiYhdC5zdGFydHNXaXRoKCIvIikmJiF0Lm1hdGNoKC9eW0EtWl06LykmJiF0LnN0YXJ0c1dpdGgoIi4iKSYmIXQubWF0Y2goL15bYS16QS1aXShbYS16QS1aMC05LlwtK10pKjpcL1wvLykpJiZ2b2lkIDAhPT10JiYhdC5pbmNsdWRlcygibm9kZV9tb2R1bGVzLyIpfWNvbnN0IEd0PVN5bWJvbCgiQWdlbnRCYXNlSW50ZXJuYWxTdGF0ZSIpO2NsYXNzIEh0IGV4dGVuZHMgcy5BZ2VudHtjb25zdHJ1Y3Rvcih0KXtzdXBlcih0KSx0aGlzW0d0XT17fX1pc1NlY3VyZUVuZHBvaW50KHQpe2lmKHQpe2lmKCJib29sZWFuIj09dHlwZW9mIHQuc2VjdXJlRW5kcG9pbnQpcmV0dXJuIHQuc2VjdXJlRW5kcG9pbnQ7aWYoInN0cmluZyI9PXR5cGVvZiB0LnByb3RvY29sKXJldHVybiJodHRwczoiPT09dC5wcm90b2NvbH1jb25zdHtzdGFjazpufT1uZXcgRXJyb3I7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBuJiZuLnNwbGl0KCJcbiIpLnNvbWUodD0+LTEhPT10LmluZGV4T2YoIihodHRwcy5qczoiKXx8LTEhPT10LmluZGV4T2YoIm5vZGU6aHR0cHM6IikpfWNyZWF0ZVNvY2tldCh0LG4sZSl7Y29uc3Qgcj17Li4ubixzZWN1cmVFbmRwb2ludDp0aGlzLmlzU2VjdXJlRW5kcG9pbnQobil9O1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnRoaXMuY29ubmVjdCh0LHIpKS50aGVuKG89PntpZihvIGluc3RhbmNlb2Ygcy5BZ2VudClyZXR1cm4gby5hZGRSZXF1ZXN0KHQscik7dGhpc1tHdF0uY3VycmVudFNvY2tldD1vLHN1cGVyLmNyZWF0ZVNvY2tldCh0LG4sZSl9LGUpfWNyZWF0ZUNvbm5lY3Rpb24oKXtjb25zdCB0PXRoaXNbR3RdLmN1cnJlbnRTb2NrZXQ7aWYodGhpc1tHdF0uY3VycmVudFNvY2tldD12b2lkIDAsIXQpdGhyb3cgbmV3IEVycm9yKCJObyBzb2NrZXQgd2FzIHJldHVybmVkIGluIHRoZSBgY29ubmVjdCgpYCBmdW5jdGlvbiIpO3JldHVybiB0fWdldCBkZWZhdWx0UG9ydCgpe3JldHVybiB0aGlzW0d0XS5kZWZhdWx0UG9ydD8/KCJodHRwczoiPT09dGhpcy5wcm90b2NvbD80NDM6ODApfXNldCBkZWZhdWx0UG9ydCh0KXt0aGlzW0d0XSYmKHRoaXNbR3RdLmRlZmF1bHRQb3J0PXQpfWdldCBwcm90b2NvbCgpe3JldHVybiB0aGlzW0d0XS5wcm90b2NvbD8/KHRoaXMuaXNTZWN1cmVFbmRwb2ludCgpPyJodHRwczoiOiJodHRwOiIpfXNldCBwcm90b2NvbCh0KXt0aGlzW0d0XSYmKHRoaXNbR3RdLnByb3RvY29sPXQpfX1mdW5jdGlvbiBKdCguLi50KXtTLmxvZygiW2h0dHBzLXByb3h5LWFnZW50OnBhcnNlLXByb3h5LXJlc3BvbnNlXSIsLi4udCl9ZnVuY3Rpb24genQodCl7cmV0dXJuIG5ldyBQcm9taXNlKChuLGUpPT57bGV0IHI9MDtjb25zdCBvPVtdO2Z1bmN0aW9uIHMoKXtjb25zdCBjPXQucmVhZCgpO2M/ZnVuY3Rpb24oYyl7by5wdXNoKGMpLHIrPWMubGVuZ3RoO2NvbnN0IHU9QnVmZmVyLmNvbmNhdChvLHIpLGE9dS5pbmRleE9mKCJcclxuXHJcbiIpO2lmKC0xPT09YSlyZXR1cm4gSnQoImhhdmUgbm90IHJlY2VpdmVkIGVuZCBvZiBIVFRQIGhlYWRlcnMgeWV0Li4uIiksdm9pZCBzKCk7Y29uc3QgZj11LnN1YmFycmF5KDAsYSkudG9TdHJpbmcoImFzY2lpIikuc3BsaXQoIlxyXG4iKSxoPWYuc2hpZnQoKTtpZighaClyZXR1cm4gdC5kZXN0cm95KCksZShuZXcgRXJyb3IoIk5vIGhlYWRlciByZWNlaXZlZCBmcm9tIHByb3h5IENPTk5FQ1QgcmVzcG9uc2UiKSk7Y29uc3QgcD1oLnNwbGl0KCIgIiksbD0rKHBbMV18fDApLGQ9cC5zbGljZSgyKS5qb2luKCIgIiksbT17fTtmb3IoY29uc3QgbiBvZiBmKXtpZighbiljb250aW51ZTtjb25zdCByPW4uaW5kZXhPZigiOiIpO2lmKC0xPT09cilyZXR1cm4gdC5kZXN0cm95KCksZShuZXcgRXJyb3IoYEludmFsaWQgaGVhZGVyIGZyb20gcHJveHkgQ09OTkVDVCByZXNwb25zZTogIiR7bn0iYCkpO2NvbnN0IG89bi5zbGljZSgwLHIpLnRvTG93ZXJDYXNlKCkscz1uLnNsaWNlKHIrMSkudHJpbVN0YXJ0KCksaT1tW29dOyJzdHJpbmciPT10eXBlb2YgaT9tW29dPVtpLHNdOkFycmF5LmlzQXJyYXkoaSk/aS5wdXNoKHMpOm1bb109c31KdCgiZ290IHByb3h5IHNlcnZlciByZXNwb25zZTogJW8gJW8iLGgsbSksaSgpLG4oe2Nvbm5lY3Q6e3N0YXR1c0NvZGU6bCxzdGF0dXNUZXh0OmQsaGVhZGVyczptfSxidWZmZXJlZDp1fSl9KGMpOnQub25jZSgicmVhZGFibGUiLHMpfWZ1bmN0aW9uIGkoKXt0LnJlbW92ZUxpc3RlbmVyKCJlbmQiLGMpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIix1KSx0LnJlbW92ZUxpc3RlbmVyKCJyZWFkYWJsZSIscyl9ZnVuY3Rpb24gYygpe2koKSxKdCgib25lbmQiKSxlKG5ldyBFcnJvcigiUHJveHkgY29ubmVjdGlvbiBlbmRlZCBiZWZvcmUgcmVjZWl2aW5nIENPTk5FQ1QgcmVzcG9uc2UiKSl9ZnVuY3Rpb24gdSh0KXtpKCksSnQoIm9uZXJyb3IgJW8iLHQpLGUodCl9dC5vbigiZXJyb3IiLHUpLHQub24oImVuZCIsYykscygpfSl9ZnVuY3Rpb24gRnQoLi4udCl7Uy5sb2coIltodHRwcy1wcm94eS1hZ2VudF0iLC4uLnQpfWNsYXNzIFd0IGV4dGVuZHMgSHR7c3RhdGljIF9faW5pdFN0YXRpYygpe3RoaXMucHJvdG9jb2xzPVsiaHR0cCIsImh0dHBzIl19Y29uc3RydWN0b3IodCxuKXtzdXBlcihuKSx0aGlzLm9wdGlvbnM9e30sdGhpcy5wcm94eT0ic3RyaW5nIj09dHlwZW9mIHQ/bmV3IFVSTCh0KTp0LHRoaXMucHJveHlIZWFkZXJzPW4/LmhlYWRlcnM/P3t9LEZ0KCJDcmVhdGluZyBuZXcgSHR0cHNQcm94eUFnZW50IGluc3RhbmNlOiAlbyIsdGhpcy5wcm94eS5ocmVmKTtjb25zdCBlPSh0aGlzLnByb3h5Lmhvc3RuYW1lfHx0aGlzLnByb3h5Lmhvc3QpLnJlcGxhY2UoL15cW3xcXSQvZywiIikscj10aGlzLnByb3h5LnBvcnQ/cGFyc2VJbnQodGhpcy5wcm94eS5wb3J0LDEwKToiaHR0cHM6Ij09PXRoaXMucHJveHkucHJvdG9jb2w/NDQzOjgwO3RoaXMuY29ubmVjdE9wdHM9e0FMUE5Qcm90b2NvbHM6WyJodHRwLzEuMSJdLC4uLm4/S3QobiwiaGVhZGVycyIpOm51bGwsaG9zdDplLHBvcnQ6cn19YXN5bmMgY29ubmVjdCh0LG4pe2NvbnN0e3Byb3h5OmV9PXRoaXM7aWYoIW4uaG9zdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdObyAiaG9zdCIgcHJvdmlkZWQnKTtsZXQgcjtpZigiaHR0cHM6Ij09PWUucHJvdG9jb2wpe0Z0KCJDcmVhdGluZyBgdGxzLlNvY2tldGA6ICVvIix0aGlzLmNvbm5lY3RPcHRzKTtjb25zdCB0PXRoaXMuY29ubmVjdE9wdHMuc2VydmVybmFtZXx8dGhpcy5jb25uZWN0T3B0cy5ob3N0O3I9Zi5jb25uZWN0KHsuLi50aGlzLmNvbm5lY3RPcHRzLHNlcnZlcm5hbWU6dCYmYS5pc0lQKHQpP3ZvaWQgMDp0fSl9ZWxzZSBGdCgiQ3JlYXRpbmcgYG5ldC5Tb2NrZXRgOiAlbyIsdGhpcy5jb25uZWN0T3B0cykscj1hLmNvbm5lY3QodGhpcy5jb25uZWN0T3B0cyk7Y29uc3Qgbz0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5wcm94eUhlYWRlcnM/dGhpcy5wcm94eUhlYWRlcnMoKTp7Li4udGhpcy5wcm94eUhlYWRlcnN9LHM9YS5pc0lQdjYobi5ob3N0KT9gWyR7bi5ob3N0fV1gOm4uaG9zdDtsZXQgaT1gQ09OTkVDVCAke3N9OiR7bi5wb3J0fSBIVFRQLzEuMVxyXG5gO2lmKGUudXNlcm5hbWV8fGUucGFzc3dvcmQpe2NvbnN0IHQ9YCR7ZGVjb2RlVVJJQ29tcG9uZW50KGUudXNlcm5hbWUpfToke2RlY29kZVVSSUNvbXBvbmVudChlLnBhc3N3b3JkKX1gO29bIlByb3h5LUF1dGhvcml6YXRpb24iXT1gQmFzaWMgJHtCdWZmZXIuZnJvbSh0KS50b1N0cmluZygiYmFzZTY0Iil9YH1vLkhvc3Q9YCR7c306JHtuLnBvcnR9YCxvWyJQcm94eS1Db25uZWN0aW9uIl18fChvWyJQcm94eS1Db25uZWN0aW9uIl09dGhpcy5rZWVwQWxpdmU/IktlZXAtQWxpdmUiOiJjbG9zZSIpO2Zvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKG8pKWkrPWAke3R9OiAke29bdF19XHJcbmA7Y29uc3QgYz16dChyKTtyLndyaXRlKGAke2l9XHJcbmApO2NvbnN0e2Nvbm5lY3Q6dSxidWZmZXJlZDpofT1hd2FpdCBjO2lmKHQuZW1pdCgicHJveHlDb25uZWN0Iix1KSx0aGlzLmVtaXQoInByb3h5Q29ubmVjdCIsdSx0KSwyMDA9PT11LnN0YXR1c0NvZGUpe2lmKHQub25jZSgic29ja2V0IixZdCksbi5zZWN1cmVFbmRwb2ludCl7RnQoIlVwZ3JhZGluZyBzb2NrZXQgY29ubmVjdGlvbiB0byBUTFMiKTtjb25zdCB0PW4uc2VydmVybmFtZXx8bi5ob3N0O3JldHVybiBmLmNvbm5lY3Qoey4uLkt0KG4sImhvc3QiLCJwYXRoIiwicG9ydCIpLHNvY2tldDpyLHNlcnZlcm5hbWU6YS5pc0lQKHQpP3ZvaWQgMDp0fSl9cmV0dXJuIHJ9ci5kZXN0cm95KCk7Y29uc3QgcD1uZXcgYS5Tb2NrZXQoe3dyaXRhYmxlOiExfSk7cmV0dXJuIHAucmVhZGFibGU9ITAsdC5vbmNlKCJzb2NrZXQiLHQ9PntGdCgiUmVwbGF5aW5nIHByb3h5IGJ1ZmZlciBmb3IgZmFpbGVkIHJlcXVlc3QiKSx0LnB1c2goaCksdC5wdXNoKG51bGwpfSkscH19ZnVuY3Rpb24gWXQodCl7dC5yZXN1bWUoKX1mdW5jdGlvbiBLdCh0LC4uLm4pe2NvbnN0IGU9e307bGV0IHI7Zm9yKHIgaW4gdCluLmluY2x1ZGVzKHIpfHwoZVtyXT10W3JdKTtyZXR1cm4gZX1XdC5fX2luaXRTdGF0aWMoKTtmdW5jdGlvbiBadCh0KXtyZXR1cm4gdC5yZXBsYWNlKC9eW0EtWl06LywiIikucmVwbGFjZSgvXFwvZywiLyIpfWNvbnN0IFZ0PW47bGV0IHF0LFF0PTAsWHQ9e307ZnVuY3Rpb24gdG4odCl7VnQuZGVidWcmJmNvbnNvbGUubG9nKGBbQU5SIFdvcmtlcl0gJHt0fWApfXZhciBubixlbixybjtjb25zdCBvbj1mdW5jdGlvbih0KXtsZXQgbjt0cnl7bj1uZXcgVVJMKHQudXJsKX1jYXRjaChuKXtyZXR1cm4gYigoKT0+e2NvbnNvbGUud2FybigiW0BzZW50cnkvbm9kZV06IEludmFsaWQgZHNuIG9yIHR1bm5lbCBvcHRpb24sIHdpbGwgbm90IHNlbmQgYW55IGV2ZW50cy4gVGhlIHR1bm5lbCBvcHRpb24gbXVzdCBiZSBhIGZ1bGwgVVJMIHdoZW4gdXNlZC4iKX0pLFV0KHQsKCk9PlByb21pc2UucmVzb2x2ZSh7fSkpfWNvbnN0IGU9Imh0dHBzOiI9PT1uLnByb3RvY29sLHI9ZnVuY3Rpb24odCxuKXtjb25zdHtub19wcm94eTplfT1wcm9jZXNzLmVudixyPWU/LnNwbGl0KCIsIikuc29tZShuPT50Lmhvc3QuZW5kc1dpdGgobil8fHQuaG9zdG5hbWUuZW5kc1dpdGgobikpO3JldHVybiByP3ZvaWQgMDpufShuLHQucHJveHl8fChlP3Byb2Nlc3MuZW52Lmh0dHBzX3Byb3h5OnZvaWQgMCl8fHByb2Nlc3MuZW52Lmh0dHBfcHJveHkpLG89ZT9pOnMsYT12b2lkIDAhPT10LmtlZXBBbGl2ZSYmdC5rZWVwQWxpdmUsZj1yP25ldyBXdChyKTpuZXcgby5BZ2VudCh7a2VlcEFsaXZlOmEsbWF4U29ja2V0czozMCx0aW1lb3V0OjJlM30pLGg9ZnVuY3Rpb24odCxuLGUpe2NvbnN0e2hvc3RuYW1lOnIscGF0aG5hbWU6byxwb3J0OnMscHJvdG9jb2w6aSxzZWFyY2g6YX09bmV3IFVSTCh0LnVybCk7cmV0dXJuIGZ1bmN0aW9uKGYpe3JldHVybiBuZXcgUHJvbWlzZSgoaCxwKT0+e2p0KCgpPT57bGV0IGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBjKHtyZWFkKCl7dGhpcy5wdXNoKHQpLHRoaXMucHVzaChudWxsKX19KX0oZi5ib2R5KTtjb25zdCBkPXsuLi50LmhlYWRlcnN9O2YuYm9keS5sZW5ndGg+MzI3NjgmJihkWyJjb250ZW50LWVuY29kaW5nIl09Imd6aXAiLGw9bC5waXBlKHUoKSkpO2NvbnN0IG09bi5yZXF1ZXN0KHttZXRob2Q6IlBPU1QiLGFnZW50OmUsaGVhZGVyczpkLGhvc3RuYW1lOnIscGF0aDpgJHtvfSR7YX1gLHBvcnQ6cyxwcm90b2NvbDppLGNhOnQuY2FDZXJ0c30sdD0+e3Qub24oImRhdGEiLCgpPT57fSksdC5vbigiZW5kIiwoKT0+e30pLHQuc2V0RW5jb2RpbmcoInV0ZjgiKTtjb25zdCBuPXQuaGVhZGVyc1sicmV0cnktYWZ0ZXIiXT8/bnVsbCxlPXQuaGVhZGVyc1sieC1zZW50cnktcmF0ZS1saW1pdHMiXT8/bnVsbDtoKHtzdGF0dXNDb2RlOnQuc3RhdHVzQ29kZSxoZWFkZXJzOnsicmV0cnktYWZ0ZXIiOm4sIngtc2VudHJ5LXJhdGUtbGltaXRzIjpBcnJheS5pc0FycmF5KGUpP2VbMF18fG51bGw6ZX19KX0pO20ub24oImVycm9yIixwKSxsLnBpcGUobSl9KX0pfX0odCx0Lmh0dHBNb2R1bGU/P28sZik7cmV0dXJuIFV0KHQsaCl9KHt1cmw6KG5uPVZ0LmRzbixlbj1WdC50dW5uZWwscm49VnQuc2RrTWV0YWRhdGEuc2RrLGVufHxgJHtmdW5jdGlvbih0KXtyZXR1cm5gJHtmdW5jdGlvbih0KXtjb25zdCBuPXQucHJvdG9jb2w/YCR7dC5wcm90b2NvbH06YDoiIixlPXQucG9ydD9gOiR7dC5wb3J0fWA6IiI7cmV0dXJuYCR7bn0vLyR7dC5ob3N0fSR7ZX0ke3QucGF0aD9gLyR7dC5wYXRofWA6IiJ9L2FwaS9gfSh0KX0ke3QucHJvamVjdElkfS9lbnZlbG9wZS9gfShubil9PyR7ZnVuY3Rpb24odCxuKXtjb25zdCBlPXtzZW50cnlfdmVyc2lvbjoiNyJ9O3JldHVybiB0LnB1YmxpY0tleSYmKGUuc2VudHJ5X2tleT10LnB1YmxpY0tleSksbiYmKGUuc2VudHJ5X2NsaWVudD1gJHtuLm5hbWV9LyR7bi52ZXJzaW9ufWApLG5ldyBVUkxTZWFyY2hQYXJhbXMoZSkudG9TdHJpbmcoKX0obm4scm4pfWApfSk7YXN5bmMgZnVuY3Rpb24gc24oKXtpZihxdCl7dG4oIlNlbmRpbmcgYWJub3JtYWwgc2Vzc2lvbiIpLEoocXQse3N0YXR1czoiYWJub3JtYWwiLGFibm9ybWFsX21lY2hhbmlzbToiYW5yX2ZvcmVncm91bmQiLHJlbGVhc2U6VnQucmVsZWFzZSxlbnZpcm9ubWVudDpWdC5lbnZpcm9ubWVudH0pO2NvbnN0IHQ9ZnVuY3Rpb24odCxuLGUscil7Y29uc3Qgbz1DdChlKTtyZXR1cm4gU3Qoe3NlbnRfYXQ6KG5ldyBEYXRlKS50b0lTT1N0cmluZygpLC4uLm8mJntzZGs6b30sLi4uISFyJiZuJiZ7ZHNuOmF0KG4pfX0sWyJhZ2dyZWdhdGVzImluIHQ/W3t0eXBlOiJzZXNzaW9ucyJ9LHRdOlt7dHlwZToic2Vzc2lvbiJ9LHQudG9KU09OKCldXSl9KHF0LFZ0LmRzbixWdC5zZGtNZXRhZGF0YSxWdC50dW5uZWwpO3RuKEpTT04uc3RyaW5naWZ5KHQpKSxhd2FpdCBvbi5zZW5kKHQpO3RyeXtlPy5wb3N0TWVzc2FnZSgic2Vzc2lvbi1lbmRlZCIpfWNhdGNoe319fWZ1bmN0aW9uIGNuKHQpe2lmKCF0KXJldHVybjtjb25zdCBuPWZ1bmN0aW9uKHQpe2lmKCF0Lmxlbmd0aClyZXR1cm5bXTtjb25zdCBuPUFycmF5LmZyb20odCk7cmV0dXJuL3NlbnRyeVdyYXBwZWQvLnRlc3QoRShuKS5mdW5jdGlvbnx8IiIpJiZuLnBvcCgpLG4ucmV2ZXJzZSgpLCQudGVzdChFKG4pLmZ1bmN0aW9ufHwiIikmJihuLnBvcCgpLCQudGVzdChFKG4pLmZ1bmN0aW9ufHwiIikmJm4ucG9wKCkpLG4uc2xpY2UoMCw1MCkubWFwKHQ9Pih7Li4udCxmaWxlbmFtZTp0LmZpbGVuYW1lfHxFKG4pLmZpbGVuYW1lLGZ1bmN0aW9uOnQuZnVuY3Rpb258fCI/In0pKX0odCk7aWYoVnQuYXBwUm9vdFBhdGgpZm9yKGNvbnN0IHQgb2Ygbil0LmZpbGVuYW1lJiYodC5maWxlbmFtZT13dCh0LmZpbGVuYW1lLFZ0LmFwcFJvb3RQYXRoKSk7cmV0dXJuIG59YXN5bmMgZnVuY3Rpb24gdW4odCxuKXtpZihRdD49VnQubWF4QW5yRXZlbnRzKXJldHVybjtRdCs9MSxhd2FpdCBzbigpLHRuKCJTZW5kaW5nIGV2ZW50Iik7Y29uc3QgZT17ZXZlbnRfaWQ6TSgpLGNvbnRleHRzOlZ0LmNvbnRleHRzLHJlbGVhc2U6VnQucmVsZWFzZSxlbnZpcm9ubWVudDpWdC5lbnZpcm9ubWVudCxkaXN0OlZ0LmRpc3QscGxhdGZvcm06Im5vZGUiLGxldmVsOiJlcnJvciIsZXhjZXB0aW9uOnt2YWx1ZXM6W3t0eXBlOiJBcHBsaWNhdGlvbk5vdFJlc3BvbmRpbmciLHZhbHVlOmBBcHBsaWNhdGlvbiBOb3QgUmVzcG9uZGluZyBmb3IgYXQgbGVhc3QgJHtWdC5hbnJUaHJlc2hvbGR9IG1zYCxzdGFja3RyYWNlOntmcmFtZXM6Y24odCl9LG1lY2hhbmlzbTp7dHlwZToiQU5SIn19XX0sdGFnczpWdC5zdGF0aWNUYWdzfTtuJiZmdW5jdGlvbih0LG4pe2lmKFJ0KHQsbiksIXQuY29udGV4dHM/LnRyYWNlKXtjb25zdHt0cmFjZUlkOmUscGFyZW50U3BhbklkOnIscHJvcGFnYXRpb25TcGFuSWQ6b309bi5wcm9wYWdhdGlvbkNvbnRleHQ7dC5jb250ZXh0cz17dHJhY2U6e3RyYWNlX2lkOmUsc3Bhbl9pZDpvfHxXKCkscGFyZW50X3NwYW5faWQ6cn0sLi4udC5jb250ZXh0c319fShlLG4pLGZ1bmN0aW9uKHQpe2lmKDA9PT1PYmplY3Qua2V5cyhYdCkubGVuZ3RoKXJldHVybjtjb25zdCBuPVZ0LmFwcFJvb3RQYXRoP3t9Olh0O2lmKFZ0LmFwcFJvb3RQYXRoKWZvcihjb25zdFt0LGVdb2YgT2JqZWN0LmVudHJpZXMoWHQpKW5bd3QodCxWdC5hcHBSb290UGF0aCldPWU7Y29uc3QgZT1uZXcgTWFwO2Zvcihjb25zdCByIG9mIHQuZXhjZXB0aW9uPy52YWx1ZXN8fFtdKWZvcihjb25zdCB0IG9mIHIuc3RhY2t0cmFjZT8uZnJhbWVzfHxbXSl7Y29uc3Qgcj10LmFic19wYXRofHx0LmZpbGVuYW1lO3ImJm5bcl0mJmUuc2V0KHIsbltyXSl9aWYoZS5zaXplPjApe2NvbnN0IG49W107Zm9yKGNvbnN0W3Qscl1vZiBlLmVudHJpZXMoKSluLnB1c2goe3R5cGU6InNvdXJjZW1hcCIsY29kZV9maWxlOnQsZGVidWdfaWQ6cn0pO3QuZGVidWdfbWV0YT17aW1hZ2VzOm59fX0oZSk7Y29uc3Qgcj1rdChlLFZ0LmRzbixWdC5zZGtNZXRhZGF0YSxWdC50dW5uZWwpO3RuKEpTT04uc3RyaW5naWZ5KHIpKSxhd2FpdCBvbi5zZW5kKHIpLGF3YWl0IG9uLmZsdXNoKDJlMyksUXQ+PVZ0Lm1heEFuckV2ZW50cyYmc2V0VGltZW91dCgoKT0+e3Byb2Nlc3MuZXhpdCgwKX0sNWUzKX1sZXQgYW47aWYodG4oIlN0YXJ0ZWQiKSxWdC5jYXB0dXJlU3RhY2tUcmFjZSl7dG4oIkNvbm5lY3RpbmcgdG8gZGVidWdnZXIiKTtjb25zdCBuPW5ldyB0O24uY29ubmVjdFRvTWFpblRocmVhZCgpLHRuKCJDb25uZWN0ZWQgdG8gZGVidWdnZXIiKTtjb25zdCBlPW5ldyBNYXA7bi5vbigiRGVidWdnZXIuc2NyaXB0UGFyc2VkIix0PT57ZS5zZXQodC5wYXJhbXMuc2NyaXB0SWQsdC5wYXJhbXMudXJsKX0pLG4ub24oIkRlYnVnZ2VyLnBhdXNlZCIsdD0+e2lmKCJvdGhlciI9PT10LnBhcmFtcy5yZWFzb24pdHJ5e3RuKCJEZWJ1Z2dlciBwYXVzZWQiKTtjb25zdCBzPVsuLi50LnBhcmFtcy5jYWxsRnJhbWVzXSxpPVZ0LmFwcFJvb3RQYXRoP2Z1bmN0aW9uKHQ9KHByb2Nlc3MuYXJndlsxXT9MdChwcm9jZXNzLmFyZ3ZbMV0pOnByb2Nlc3MuY3dkKCkpLG49IlxcIj09PW8pe2NvbnN0IGU9bj9adCh0KTp0O3JldHVybiB0PT57aWYoIXQpcmV0dXJuO2NvbnN0IG89bj9adCh0KTp0O2xldHtkaXI6cyxiYXNlOmksZXh0OmN9PXIucGFyc2Uobyk7Ii5qcyIhPT1jJiYiLm1qcyIhPT1jJiYiLmNqcyIhPT1jfHwoaT1pLnNsaWNlKDAsLTEqYy5sZW5ndGgpKTtjb25zdCB1PWRlY29kZVVSSUNvbXBvbmVudChpKTtzfHwocz0iLiIpO2NvbnN0IGE9cy5sYXN0SW5kZXhPZigiL25vZGVfbW9kdWxlcyIpO2lmKGE+LTEpcmV0dXJuYCR7cy5zbGljZShhKzE0KS5yZXBsYWNlKC9cLy9nLCIuIil9OiR7dX1gO2lmKHMuc3RhcnRzV2l0aChlKSl7Y29uc3QgdD1zLnNsaWNlKGUubGVuZ3RoKzEpLnJlcGxhY2UoL1wvL2csIi4iKTtyZXR1cm4gdD9gJHt0fToke3V9YDp1fXJldHVybiB1fX0oVnQuYXBwUm9vdFBhdGgpOigpPT57fSxjPXMubWFwKHQ9PmZ1bmN0aW9uKHQsbixlKXtjb25zdCByPW4/bi5yZXBsYWNlKC9eZmlsZTpcL1wvLywiIik6dm9pZCAwLG89dC5sb2NhdGlvbi5jb2x1bW5OdW1iZXI/dC5sb2NhdGlvbi5jb2x1bW5OdW1iZXIrMTp2b2lkIDAscz10LmxvY2F0aW9uLmxpbmVOdW1iZXI/dC5sb2NhdGlvbi5saW5lTnVtYmVyKzE6dm9pZCAwO3JldHVybntmaWxlbmFtZTpyLG1vZHVsZTplKHIpLGZ1bmN0aW9uOnQuZnVuY3Rpb25OYW1lfHwiPyIsY29sbm86byxsaW5lbm86cyxpbl9hcHA6cj9CdChyKTp2b2lkIDB9fSh0LGUuZ2V0KHQubG9jYXRpb24uc2NyaXB0SWQpLGkpKSx1PXNldFRpbWVvdXQoKCk9Pnt1bihjKS50aGVuKG51bGwsKCk9Pnt0bigiU2VuZGluZyBBTlIgZXZlbnQgZmFpbGVkLiIpfSl9LDVlMyk7bi5wb3N0KCJSdW50aW1lLmV2YWx1YXRlIix7ZXhwcmVzc2lvbjoiZ2xvYmFsLl9fU0VOVFJZX0dFVF9TQ09QRVNfXygpOyIsc2lsZW50OiEwLHJldHVybkJ5VmFsdWU6ITB9LCh0LGUpPT57dCYmdG4oYEVycm9yIGV4ZWN1dGluZyBzY3JpcHQ6ICcke3QubWVzc2FnZX0nYCksY2xlYXJUaW1lb3V0KHUpO2NvbnN0IHI9ZT8ucmVzdWx0P2UucmVzdWx0LnZhbHVlOnZvaWQgMDtuLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpLG4ucG9zdCgiRGVidWdnZXIuZGlzYWJsZSIpLHVuKGMscikudGhlbihudWxsLCgpPT57dG4oIlNlbmRpbmcgQU5SIGV2ZW50IGZhaWxlZC4iKX0pfSl9Y2F0Y2godCl7dGhyb3cgbi5wb3N0KCJEZWJ1Z2dlci5yZXN1bWUiKSxuLnBvc3QoIkRlYnVnZ2VyLmRpc2FibGUiKSx0fX0pLGFuPSgpPT57dHJ5e24ucG9zdCgiRGVidWdnZXIuZW5hYmxlIiwoKT0+e24ucG9zdCgiRGVidWdnZXIucGF1c2UiKX0pfWNhdGNoe319fWNvbnN0e3BvbGw6Zm59PWZ1bmN0aW9uKHQsbixlLHIpe2NvbnN0IG89dCgpO2xldCBzPSExLGk9ITA7cmV0dXJuIHNldEludGVydmFsKCgpPT57Y29uc3QgdD1vLmdldFRpbWVNcygpOyExPT09cyYmdD5uK2UmJihzPSEwLGkmJnIoKSksdDxuK2UmJihzPSExKX0sMjApLHtwb2xsOigpPT57by5yZXNldCgpfSxlbmFibGVkOnQ9PntpPXR9fX0oZnVuY3Rpb24oKXtsZXQgdD1wcm9jZXNzLmhydGltZSgpO3JldHVybntnZXRUaW1lTXM6KCk9Pntjb25zdFtuLGVdPXByb2Nlc3MuaHJ0aW1lKHQpO3JldHVybiBNYXRoLmZsb29yKDFlMypuK2UvMWU2KX0scmVzZXQ6KCk9Pnt0PXByb2Nlc3MuaHJ0aW1lKCl9fX0sVnQucG9sbEludGVydmFsLFZ0LmFuclRocmVzaG9sZCxmdW5jdGlvbigpe3RuKCJXYXRjaGRvZyB0aW1lb3V0IiksYW4/KHRuKCJQYXVzaW5nIGRlYnVnZ2VyIHRvIGNhcHR1cmUgc3RhY2sgdHJhY2UiKSxhbigpKToodG4oIkNhcHR1cmluZyBldmVudCB3aXRob3V0IGEgc3RhY2sgdHJhY2UiKSx1bigpLnRoZW4obnVsbCwoKT0+e3RuKCJTZW5kaW5nIEFOUiBldmVudCBmYWlsZWQgb24gd2F0Y2hkb2cgdGltZW91dC4iKX0pKX0pO2U/Lm9uKCJtZXNzYWdlIix0PT57dC5zZXNzaW9uJiYocXQ9SCh0LnNlc3Npb24pKSx0LmRlYnVnSW1hZ2VzJiYoWHQ9dC5kZWJ1Z0ltYWdlcyksZm4oKX0pOw==", DEFAULT_INTERVAL = 50, DEFAULT_HANG_THRESHOLD = 5000, INTEGRATION_NAME26 = "Anr", _anrIntegration = (options = {}) => {
40311
+ var isPromise, base64WorkerScript2 = "LyohIEBzZW50cnkvbm9kZS1jb3JlIDEwLjEwLjAgKDYwYmFlOGEpIHwgaHR0cHM6Ly9naXRodWIuY29tL2dldHNlbnRyeS9zZW50cnktamF2YXNjcmlwdCAqLwppbXBvcnR7U2Vzc2lvbiBhcyB0fWZyb20ibm9kZTppbnNwZWN0b3IiO2ltcG9ydHt3b3JrZXJEYXRhIGFzIG4scGFyZW50UG9ydCBhcyBlfWZyb20ibm9kZTp3b3JrZXJfdGhyZWFkcyI7aW1wb3J0e3Bvc2l4IGFzIHIsc2VwIGFzIG99ZnJvbSJub2RlOnBhdGgiO2ltcG9ydCphcyBzIGZyb20ibm9kZTpodHRwIjtpbXBvcnQqYXMgaSBmcm9tIm5vZGU6aHR0cHMiO2ltcG9ydHtSZWFkYWJsZSBhcyBjfWZyb20ibm9kZTpzdHJlYW0iO2ltcG9ydHtjcmVhdGVHemlwIGFzIHV9ZnJvbSJub2RlOnpsaWIiO2ltcG9ydCphcyBhIGZyb20ibm9kZTpuZXQiO2ltcG9ydCphcyBmIGZyb20ibm9kZTp0bHMiO2NvbnN0IGg9InVuZGVmaW5lZCI9PXR5cGVvZiBfX1NFTlRSWV9ERUJVR19ffHxfX1NFTlRSWV9ERUJVR19fLHA9Z2xvYmFsVGhpcyxsPSIxMC4xMC4wIjtmdW5jdGlvbiBkKCl7cmV0dXJuIG0ocCkscH1mdW5jdGlvbiBtKHQpe2NvbnN0IG49dC5fX1NFTlRSWV9fPXQuX19TRU5UUllfX3x8e307cmV0dXJuIG4udmVyc2lvbj1uLnZlcnNpb258fGwsbltsXT1uW2xdfHx7fX1mdW5jdGlvbiBnKHQsbixlPXApe2NvbnN0IHI9ZS5fX1NFTlRSWV9fPWUuX19TRU5UUllfX3x8e30sbz1yW2xdPXJbbF18fHt9O3JldHVybiBvW3RdfHwob1t0XT1uKCkpfWNvbnN0IHk9e307ZnVuY3Rpb24gYih0KXtpZighKCJjb25zb2xlImluIHApKXJldHVybiB0KCk7Y29uc3Qgbj1wLmNvbnNvbGUsZT17fSxyPU9iamVjdC5rZXlzKHkpO3IuZm9yRWFjaCh0PT57Y29uc3Qgcj15W3RdO2VbdF09blt0XSxuW3RdPXJ9KTt0cnl7cmV0dXJuIHQoKX1maW5hbGx5e3IuZm9yRWFjaCh0PT57blt0XT1lW3RdfSl9fWZ1bmN0aW9uIHYoKXtyZXR1cm4gdygpLmVuYWJsZWR9ZnVuY3Rpb24gXyh0LC4uLm4pe2gmJnYoKSYmYigoKT0+e3AuY29uc29sZVt0XShgU2VudHJ5IExvZ2dlciBbJHt0fV06YCwuLi5uKX0pfWZ1bmN0aW9uIHcoKXtyZXR1cm4gaD9nKCJsb2dnZXJTZXR0aW5ncyIsKCk9Pih7ZW5hYmxlZDohMX0pKTp7ZW5hYmxlZDohMX19Y29uc3QgUz17ZW5hYmxlOmZ1bmN0aW9uKCl7dygpLmVuYWJsZWQ9ITB9LGRpc2FibGU6ZnVuY3Rpb24oKXt3KCkuZW5hYmxlZD0hMX0saXNFbmFibGVkOnYsbG9nOmZ1bmN0aW9uKC4uLnQpe18oImxvZyIsLi4udCl9LHdhcm46ZnVuY3Rpb24oLi4udCl7Xygid2FybiIsLi4udCl9LGVycm9yOmZ1bmN0aW9uKC4uLnQpe18oImVycm9yIiwuLi50KX19LCQ9L2NhcHR1cmVNZXNzYWdlfGNhcHR1cmVFeGNlcHRpb24vO2Z1bmN0aW9uIEUodCl7cmV0dXJuIHRbdC5sZW5ndGgtMV18fHt9fWNvbnN0IHg9Ijxhbm9ueW1vdXM+Ijtjb25zdCBOPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gQyh0LG4pe3JldHVybiBOLmNhbGwodCk9PT1gW29iamVjdCAke259XWB9ZnVuY3Rpb24gayh0KXtyZXR1cm4gQyh0LCJTdHJpbmciKX1mdW5jdGlvbiBUKHQpe3JldHVybiBDKHQsIk9iamVjdCIpfWZ1bmN0aW9uIGoodCl7cmV0dXJuIEJvb2xlYW4odD8udGhlbiYmImZ1bmN0aW9uIj09dHlwZW9mIHQudGhlbil9ZnVuY3Rpb24gSSh0LG4pe3RyeXtyZXR1cm4gdCBpbnN0YW5jZW9mIG59Y2F0Y2h7cmV0dXJuITF9fWNvbnN0IE89cDtmdW5jdGlvbiBSKHQsbil7Y29uc3QgZT10LHI9W107aWYoIWU/LnRhZ05hbWUpcmV0dXJuIiI7aWYoTy5IVE1MRWxlbWVudCYmZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZlLmRhdGFzZXQpe2lmKGUuZGF0YXNldC5zZW50cnlDb21wb25lbnQpcmV0dXJuIGUuZGF0YXNldC5zZW50cnlDb21wb25lbnQ7aWYoZS5kYXRhc2V0LnNlbnRyeUVsZW1lbnQpcmV0dXJuIGUuZGF0YXNldC5zZW50cnlFbGVtZW50fXIucHVzaChlLnRhZ05hbWUudG9Mb3dlckNhc2UoKSk7Y29uc3Qgbz1uPy5sZW5ndGg/bi5maWx0ZXIodD0+ZS5nZXRBdHRyaWJ1dGUodCkpLm1hcCh0PT5bdCxlLmdldEF0dHJpYnV0ZSh0KV0pOm51bGw7aWYobz8ubGVuZ3RoKW8uZm9yRWFjaCh0PT57ci5wdXNoKGBbJHt0WzBdfT0iJHt0WzFdfSJdYCl9KTtlbHNle2UuaWQmJnIucHVzaChgIyR7ZS5pZH1gKTtjb25zdCB0PWUuY2xhc3NOYW1lO2lmKHQmJmsodCkpe2NvbnN0IG49dC5zcGxpdCgvXHMrLyk7Zm9yKGNvbnN0IHQgb2YgbilyLnB1c2goYC4ke3R9YCl9fWNvbnN0IHM9WyJhcmlhLWxhYmVsIiwidHlwZSIsIm5hbWUiLCJ0aXRsZSIsImFsdCJdO2Zvcihjb25zdCB0IG9mIHMpe2NvbnN0IG49ZS5nZXRBdHRyaWJ1dGUodCk7biYmci5wdXNoKGBbJHt0fT0iJHtufSJdYCl9cmV0dXJuIHIuam9pbigiIil9ZnVuY3Rpb24gQSh0LG49MCl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0fHwwPT09bnx8dC5sZW5ndGg8PW4/dDpgJHt0LnNsaWNlKDAsbil9Li4uYH1mdW5jdGlvbiBEKHQpe2lmKGZ1bmN0aW9uKHQpe3N3aXRjaChOLmNhbGwodCkpe2Nhc2UiW29iamVjdCBFcnJvcl0iOmNhc2UiW29iamVjdCBFeGNlcHRpb25dIjpjYXNlIltvYmplY3QgRE9NRXhjZXB0aW9uXSI6Y2FzZSJbb2JqZWN0IFdlYkFzc2VtYmx5LkV4Y2VwdGlvbl0iOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuIEkodCxFcnJvcil9fSh0KSlyZXR1cm57bWVzc2FnZTp0Lm1lc3NhZ2UsbmFtZTp0Lm5hbWUsc3RhY2s6dC5zdGFjaywuLi5VKHQpfTtpZihuPXQsInVuZGVmaW5lZCIhPXR5cGVvZiBFdmVudCYmSShuLEV2ZW50KSl7Y29uc3Qgbj17dHlwZTp0LnR5cGUsdGFyZ2V0OlAodC50YXJnZXQpLGN1cnJlbnRUYXJnZXQ6UCh0LmN1cnJlbnRUYXJnZXQpLC4uLlUodCl9O3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgQ3VzdG9tRXZlbnQmJkkodCxDdXN0b21FdmVudCkmJihuLmRldGFpbD10LmRldGFpbCksbn1yZXR1cm4gdDt2YXIgbn1mdW5jdGlvbiBQKHQpe3RyeXtyZXR1cm4gbj10LCJ1bmRlZmluZWQiIT10eXBlb2YgRWxlbWVudCYmSShuLEVsZW1lbnQpP2Z1bmN0aW9uKHQsbj17fSl7aWYoIXQpcmV0dXJuIjx1bmtub3duPiI7dHJ5e2xldCBlPXQ7Y29uc3Qgcj01LG89W107bGV0IHM9MCxpPTA7Y29uc3QgYz0iID4gIix1PWMubGVuZ3RoO2xldCBhO2NvbnN0IGY9QXJyYXkuaXNBcnJheShuKT9uOm4ua2V5QXR0cnMsaD0hQXJyYXkuaXNBcnJheShuKSYmbi5tYXhTdHJpbmdMZW5ndGh8fDgwO2Zvcig7ZSYmcysrPHImJihhPVIoZSxmKSwhKCJodG1sIj09PWF8fHM+MSYmaStvLmxlbmd0aCp1K2EubGVuZ3RoPj1oKSk7KW8ucHVzaChhKSxpKz1hLmxlbmd0aCxlPWUucGFyZW50Tm9kZTtyZXR1cm4gby5yZXZlcnNlKCkuam9pbihjKX1jYXRjaHtyZXR1cm4iPHVua25vd24+In19KHQpOk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1jYXRjaHtyZXR1cm4iPHVua25vd24+In12YXIgbn1mdW5jdGlvbiBVKHQpe2lmKCJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXQpe2NvbnN0IG49e307Zm9yKGNvbnN0IGUgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSYmKG5bZV09dFtlXSk7cmV0dXJuIG59cmV0dXJue319ZnVuY3Rpb24gTSh0PWZ1bmN0aW9uKCl7Y29uc3QgdD1wO3JldHVybiB0LmNyeXB0b3x8dC5tc0NyeXB0b30oKSl7bGV0IG49KCk9PjE2Kk1hdGgucmFuZG9tKCk7dHJ5e2lmKHQ/LnJhbmRvbVVVSUQpcmV0dXJuIHQucmFuZG9tVVVJRCgpLnJlcGxhY2UoLy0vZywiIik7dD8uZ2V0UmFuZG9tVmFsdWVzJiYobj0oKT0+e2NvbnN0IG49bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIHQuZ2V0UmFuZG9tVmFsdWVzKG4pLG5bMF19KX1jYXRjaHt9cmV0dXJuKFsxZTddKzFlMys0ZTMrOGUzKzFlMTEpLnJlcGxhY2UoL1swMThdL2csdD0+KHReKDE1Jm4oKSk+PnQvNCkudG9TdHJpbmcoMTYpKX1mdW5jdGlvbiBMKCl7cmV0dXJuIERhdGUubm93KCkvMWUzfWxldCBCO2Z1bmN0aW9uIEcoKXtyZXR1cm4oQj8/KEI9ZnVuY3Rpb24oKXtjb25zdHtwZXJmb3JtYW5jZTp0fT1wO2lmKCF0Py5ub3d8fCF0LnRpbWVPcmlnaW4pcmV0dXJuIEw7Y29uc3Qgbj10LnRpbWVPcmlnaW47cmV0dXJuKCk9PihuK3Qubm93KCkpLzFlM30oKSkpKCl9ZnVuY3Rpb24gSCh0KXtjb25zdCBuPUcoKSxlPXtzaWQ6TSgpLGluaXQ6ITAsdGltZXN0YW1wOm4sc3RhcnRlZDpuLGR1cmF0aW9uOjAsc3RhdHVzOiJvayIsZXJyb3JzOjAsaWdub3JlRHVyYXRpb246ITEsdG9KU09OOigpPT5mdW5jdGlvbih0KXtyZXR1cm57c2lkOmAke3Quc2lkfWAsaW5pdDp0LmluaXQsc3RhcnRlZDpuZXcgRGF0ZSgxZTMqdC5zdGFydGVkKS50b0lTT1N0cmluZygpLHRpbWVzdGFtcDpuZXcgRGF0ZSgxZTMqdC50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCksc3RhdHVzOnQuc3RhdHVzLGVycm9yczp0LmVycm9ycyxkaWQ6Im51bWJlciI9PXR5cGVvZiB0LmRpZHx8InN0cmluZyI9PXR5cGVvZiB0LmRpZD9gJHt0LmRpZH1gOnZvaWQgMCxkdXJhdGlvbjp0LmR1cmF0aW9uLGFibm9ybWFsX21lY2hhbmlzbTp0LmFibm9ybWFsX21lY2hhbmlzbSxhdHRyczp7cmVsZWFzZTp0LnJlbGVhc2UsZW52aXJvbm1lbnQ6dC5lbnZpcm9ubWVudCxpcF9hZGRyZXNzOnQuaXBBZGRyZXNzLHVzZXJfYWdlbnQ6dC51c2VyQWdlbnR9fX0oZSl9O3JldHVybiB0JiZKKGUsdCksZX1mdW5jdGlvbiBKKHQsbj17fSl7aWYobi51c2VyJiYoIXQuaXBBZGRyZXNzJiZuLnVzZXIuaXBfYWRkcmVzcyYmKHQuaXBBZGRyZXNzPW4udXNlci5pcF9hZGRyZXNzKSx0LmRpZHx8bi5kaWR8fCh0LmRpZD1uLnVzZXIuaWR8fG4udXNlci5lbWFpbHx8bi51c2VyLnVzZXJuYW1lKSksdC50aW1lc3RhbXA9bi50aW1lc3RhbXB8fEcoKSxuLmFibm9ybWFsX21lY2hhbmlzbSYmKHQuYWJub3JtYWxfbWVjaGFuaXNtPW4uYWJub3JtYWxfbWVjaGFuaXNtKSxuLmlnbm9yZUR1cmF0aW9uJiYodC5pZ25vcmVEdXJhdGlvbj1uLmlnbm9yZUR1cmF0aW9uKSxuLnNpZCYmKHQuc2lkPTMyPT09bi5zaWQubGVuZ3RoP24uc2lkOk0oKSksdm9pZCAwIT09bi5pbml0JiYodC5pbml0PW4uaW5pdCksIXQuZGlkJiZuLmRpZCYmKHQuZGlkPWAke24uZGlkfWApLCJudW1iZXIiPT10eXBlb2Ygbi5zdGFydGVkJiYodC5zdGFydGVkPW4uc3RhcnRlZCksdC5pZ25vcmVEdXJhdGlvbil0LmR1cmF0aW9uPXZvaWQgMDtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2Ygbi5kdXJhdGlvbil0LmR1cmF0aW9uPW4uZHVyYXRpb247ZWxzZXtjb25zdCBuPXQudGltZXN0YW1wLXQuc3RhcnRlZDt0LmR1cmF0aW9uPW4+PTA/bjowfW4ucmVsZWFzZSYmKHQucmVsZWFzZT1uLnJlbGVhc2UpLG4uZW52aXJvbm1lbnQmJih0LmVudmlyb25tZW50PW4uZW52aXJvbm1lbnQpLCF0LmlwQWRkcmVzcyYmbi5pcEFkZHJlc3MmJih0LmlwQWRkcmVzcz1uLmlwQWRkcmVzcyksIXQudXNlckFnZW50JiZuLnVzZXJBZ2VudCYmKHQudXNlckFnZW50PW4udXNlckFnZW50KSwibnVtYmVyIj09dHlwZW9mIG4uZXJyb3JzJiYodC5lcnJvcnM9bi5lcnJvcnMpLG4uc3RhdHVzJiYodC5zdGF0dXM9bi5zdGF0dXMpfWZ1bmN0aW9uIHoodCxuLGU9Mil7aWYoIW58fCJvYmplY3QiIT10eXBlb2Ygbnx8ZTw9MClyZXR1cm4gbjtpZih0JiYwPT09T2JqZWN0LmtleXMobikubGVuZ3RoKXJldHVybiB0O2NvbnN0IHI9ey4uLnR9O2Zvcihjb25zdCB0IGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4sdCkmJihyW3RdPXooclt0XSxuW3RdLGUtMSkpO3JldHVybiByfWZ1bmN0aW9uIEYoKXtyZXR1cm4gTSgpfWZ1bmN0aW9uIFcoKXtyZXR1cm4gTSgpLnN1YnN0cmluZygxNil9Y29uc3QgWT0iX3NlbnRyeVNwYW4iO2Z1bmN0aW9uIEsodCxuKXtuP2Z1bmN0aW9uKHQsbixlKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbix7dmFsdWU6ZSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KX1jYXRjaHtoJiZTLmxvZyhgRmFpbGVkIHRvIGFkZCBub24tZW51bWVyYWJsZSBwcm9wZXJ0eSAiJHtufSIgdG8gb2JqZWN0YCx0KX19KHQsWSxuKTpkZWxldGUgdFtZXX1mdW5jdGlvbiBaKHQpe3JldHVybiB0W1ldfWNsYXNzIFZ7Y29uc3RydWN0b3IoKXt0aGlzLnQ9ITEsdGhpcy5vPVtdLHRoaXMuaT1bXSx0aGlzLnU9W10sdGhpcy5oPVtdLHRoaXMucD17fSx0aGlzLmw9e30sdGhpcy5tPXt9LHRoaXMudj17fSx0aGlzLl89e30sdGhpcy5TPXt0cmFjZUlkOkYoKSxzYW1wbGVSYW5kOk1hdGgucmFuZG9tKCl9fWNsb25lKCl7Y29uc3QgdD1uZXcgVjtyZXR1cm4gdC51PVsuLi50aGlzLnVdLHQubD17Li4udGhpcy5sfSx0Lm09ey4uLnRoaXMubX0sdC52PXsuLi50aGlzLnZ9LHRoaXMudi5mbGFncyYmKHQudi5mbGFncz17dmFsdWVzOlsuLi50aGlzLnYuZmxhZ3MudmFsdWVzXX0pLHQucD10aGlzLnAsdC5OPXRoaXMuTix0LkM9dGhpcy5DLHQuaz10aGlzLmssdC5UPXRoaXMuVCx0Lmk9Wy4uLnRoaXMuaV0sdC5oPVsuLi50aGlzLmhdLHQuXz17Li4udGhpcy5ffSx0LlM9ey4uLnRoaXMuU30sdC5qPXRoaXMuaix0Lkk9dGhpcy5JLEsodCxaKHRoaXMpKSx0fXNldENsaWVudCh0KXt0aGlzLmo9dH1zZXRMYXN0RXZlbnRJZCh0KXt0aGlzLkk9dH1nZXRDbGllbnQoKXtyZXR1cm4gdGhpcy5qfWxhc3RFdmVudElkKCl7cmV0dXJuIHRoaXMuSX1hZGRTY29wZUxpc3RlbmVyKHQpe3RoaXMuby5wdXNoKHQpfWFkZEV2ZW50UHJvY2Vzc29yKHQpe3JldHVybiB0aGlzLmkucHVzaCh0KSx0aGlzfXNldFVzZXIodCl7cmV0dXJuIHRoaXMucD10fHx7ZW1haWw6dm9pZCAwLGlkOnZvaWQgMCxpcF9hZGRyZXNzOnZvaWQgMCx1c2VybmFtZTp2b2lkIDB9LHRoaXMuQyYmSih0aGlzLkMse3VzZXI6dH0pLHRoaXMuTygpLHRoaXN9Z2V0VXNlcigpe3JldHVybiB0aGlzLnB9c2V0VGFncyh0KXtyZXR1cm4gdGhpcy5sPXsuLi50aGlzLmwsLi4udH0sdGhpcy5PKCksdGhpc31zZXRUYWcodCxuKXtyZXR1cm4gdGhpcy5sPXsuLi50aGlzLmwsW3RdOm59LHRoaXMuTygpLHRoaXN9c2V0RXh0cmFzKHQpe3JldHVybiB0aGlzLm09ey4uLnRoaXMubSwuLi50fSx0aGlzLk8oKSx0aGlzfXNldEV4dHJhKHQsbil7cmV0dXJuIHRoaXMubT17Li4udGhpcy5tLFt0XTpufSx0aGlzLk8oKSx0aGlzfXNldEZpbmdlcnByaW50KHQpe3JldHVybiB0aGlzLlQ9dCx0aGlzLk8oKSx0aGlzfXNldExldmVsKHQpe3JldHVybiB0aGlzLk49dCx0aGlzLk8oKSx0aGlzfXNldFRyYW5zYWN0aW9uTmFtZSh0KXtyZXR1cm4gdGhpcy5rPXQsdGhpcy5PKCksdGhpc31zZXRDb250ZXh0KHQsbil7cmV0dXJuIG51bGw9PT1uP2RlbGV0ZSB0aGlzLnZbdF06dGhpcy52W3RdPW4sdGhpcy5PKCksdGhpc31zZXRTZXNzaW9uKHQpe3JldHVybiB0P3RoaXMuQz10OmRlbGV0ZSB0aGlzLkMsdGhpcy5PKCksdGhpc31nZXRTZXNzaW9uKCl7cmV0dXJuIHRoaXMuQ311cGRhdGUodCl7aWYoIXQpcmV0dXJuIHRoaXM7Y29uc3Qgbj0iZnVuY3Rpb24iPT10eXBlb2YgdD90KHRoaXMpOnQsZT1uIGluc3RhbmNlb2YgVj9uLmdldFNjb3BlRGF0YSgpOlQobik/dDp2b2lkIDAse3RhZ3M6cixleHRyYTpvLHVzZXI6cyxjb250ZXh0czppLGxldmVsOmMsZmluZ2VycHJpbnQ6dT1bXSxwcm9wYWdhdGlvbkNvbnRleHQ6YX09ZXx8e307cmV0dXJuIHRoaXMubD17Li4udGhpcy5sLC4uLnJ9LHRoaXMubT17Li4udGhpcy5tLC4uLm99LHRoaXMudj17Li4udGhpcy52LC4uLml9LHMmJk9iamVjdC5rZXlzKHMpLmxlbmd0aCYmKHRoaXMucD1zKSxjJiYodGhpcy5OPWMpLHUubGVuZ3RoJiYodGhpcy5UPXUpLGEmJih0aGlzLlM9YSksdGhpc31jbGVhcigpe3JldHVybiB0aGlzLnU9W10sdGhpcy5sPXt9LHRoaXMubT17fSx0aGlzLnA9e30sdGhpcy52PXt9LHRoaXMuTj12b2lkIDAsdGhpcy5rPXZvaWQgMCx0aGlzLlQ9dm9pZCAwLHRoaXMuQz12b2lkIDAsSyh0aGlzLHZvaWQgMCksdGhpcy5oPVtdLHRoaXMuc2V0UHJvcGFnYXRpb25Db250ZXh0KHt0cmFjZUlkOkYoKSxzYW1wbGVSYW5kOk1hdGgucmFuZG9tKCl9KSx0aGlzLk8oKSx0aGlzfWFkZEJyZWFkY3J1bWIodCxuKXtjb25zdCBlPSJudW1iZXIiPT10eXBlb2Ygbj9uOjEwMDtpZihlPD0wKXJldHVybiB0aGlzO2NvbnN0IHI9e3RpbWVzdGFtcDpMKCksLi4udCxtZXNzYWdlOnQubWVzc2FnZT9BKHQubWVzc2FnZSwyMDQ4KTp0Lm1lc3NhZ2V9O3JldHVybiB0aGlzLnUucHVzaChyKSx0aGlzLnUubGVuZ3RoPmUmJih0aGlzLnU9dGhpcy51LnNsaWNlKC1lKSx0aGlzLmo/LnJlY29yZERyb3BwZWRFdmVudCgiYnVmZmVyX292ZXJmbG93IiwibG9nX2l0ZW0iKSksdGhpcy5PKCksdGhpc31nZXRMYXN0QnJlYWRjcnVtYigpe3JldHVybiB0aGlzLnVbdGhpcy51Lmxlbmd0aC0xXX1jbGVhckJyZWFkY3J1bWJzKCl7cmV0dXJuIHRoaXMudT1bXSx0aGlzLk8oKSx0aGlzfWFkZEF0dGFjaG1lbnQodCl7cmV0dXJuIHRoaXMuaC5wdXNoKHQpLHRoaXN9Y2xlYXJBdHRhY2htZW50cygpe3JldHVybiB0aGlzLmg9W10sdGhpc31nZXRTY29wZURhdGEoKXtyZXR1cm57YnJlYWRjcnVtYnM6dGhpcy51LGF0dGFjaG1lbnRzOnRoaXMuaCxjb250ZXh0czp0aGlzLnYsdGFnczp0aGlzLmwsZXh0cmE6dGhpcy5tLHVzZXI6dGhpcy5wLGxldmVsOnRoaXMuTixmaW5nZXJwcmludDp0aGlzLlR8fFtdLGV2ZW50UHJvY2Vzc29yczp0aGlzLmkscHJvcGFnYXRpb25Db250ZXh0OnRoaXMuUyxzZGtQcm9jZXNzaW5nTWV0YWRhdGE6dGhpcy5fLHRyYW5zYWN0aW9uTmFtZTp0aGlzLmssc3BhbjpaKHRoaXMpfX1zZXRTREtQcm9jZXNzaW5nTWV0YWRhdGEodCl7cmV0dXJuIHRoaXMuXz16KHRoaXMuXyx0LDIpLHRoaXN9c2V0UHJvcGFnYXRpb25Db250ZXh0KHQpe3JldHVybiB0aGlzLlM9dCx0aGlzfWdldFByb3BhZ2F0aW9uQ29udGV4dCgpe3JldHVybiB0aGlzLlN9Y2FwdHVyZUV4Y2VwdGlvbih0LG4pe2NvbnN0IGU9bj8uZXZlbnRfaWR8fE0oKTtpZighdGhpcy5qKXJldHVybiBoJiZTLndhcm4oIk5vIGNsaWVudCBjb25maWd1cmVkIG9uIHNjb3BlIC0gd2lsbCBub3QgY2FwdHVyZSBleGNlcHRpb24hIiksZTtjb25zdCByPW5ldyBFcnJvcigiU2VudHJ5IHN5bnRoZXRpY0V4Y2VwdGlvbiIpO3JldHVybiB0aGlzLmouY2FwdHVyZUV4Y2VwdGlvbih0LHtvcmlnaW5hbEV4Y2VwdGlvbjp0LHN5bnRoZXRpY0V4Y2VwdGlvbjpyLC4uLm4sZXZlbnRfaWQ6ZX0sdGhpcyksZX1jYXB0dXJlTWVzc2FnZSh0LG4sZSl7Y29uc3Qgcj1lPy5ldmVudF9pZHx8TSgpO2lmKCF0aGlzLmopcmV0dXJuIGgmJlMud2FybigiTm8gY2xpZW50IGNvbmZpZ3VyZWQgb24gc2NvcGUgLSB3aWxsIG5vdCBjYXB0dXJlIG1lc3NhZ2UhIikscjtjb25zdCBvPW5ldyBFcnJvcih0KTtyZXR1cm4gdGhpcy5qLmNhcHR1cmVNZXNzYWdlKHQsbix7b3JpZ2luYWxFeGNlcHRpb246dCxzeW50aGV0aWNFeGNlcHRpb246bywuLi5lLGV2ZW50X2lkOnJ9LHRoaXMpLHJ9Y2FwdHVyZUV2ZW50KHQsbil7Y29uc3QgZT1uPy5ldmVudF9pZHx8TSgpO3JldHVybiB0aGlzLmo/KHRoaXMuai5jYXB0dXJlRXZlbnQodCx7Li4ubixldmVudF9pZDplfSx0aGlzKSxlKTooaCYmUy53YXJuKCJObyBjbGllbnQgY29uZmlndXJlZCBvbiBzY29wZSAtIHdpbGwgbm90IGNhcHR1cmUgZXZlbnQhIiksZSl9Tygpe3RoaXMudHx8KHRoaXMudD0hMCx0aGlzLm8uZm9yRWFjaCh0PT57dCh0aGlzKX0pLHRoaXMudD0hMSl9fWNsYXNzIHF7Y29uc3RydWN0b3IodCxuKXtsZXQgZSxyO2U9dHx8bmV3IFYscj1ufHxuZXcgVix0aGlzLlI9W3tzY29wZTplfV0sdGhpcy5BPXJ9d2l0aFNjb3BlKHQpe2NvbnN0IG49dGhpcy5EKCk7bGV0IGU7dHJ5e2U9dChuKX1jYXRjaCh0KXt0aHJvdyB0aGlzLlAoKSx0fXJldHVybiBqKGUpP2UudGhlbih0PT4odGhpcy5QKCksdCksdD0+e3Rocm93IHRoaXMuUCgpLHR9KToodGhpcy5QKCksZSl9Z2V0Q2xpZW50KCl7cmV0dXJuIHRoaXMuZ2V0U3RhY2tUb3AoKS5jbGllbnR9Z2V0U2NvcGUoKXtyZXR1cm4gdGhpcy5nZXRTdGFja1RvcCgpLnNjb3BlfWdldElzb2xhdGlvblNjb3BlKCl7cmV0dXJuIHRoaXMuQX1nZXRTdGFja1RvcCgpe3JldHVybiB0aGlzLlJbdGhpcy5SLmxlbmd0aC0xXX1EKCl7Y29uc3QgdD10aGlzLmdldFNjb3BlKCkuY2xvbmUoKTtyZXR1cm4gdGhpcy5SLnB1c2goe2NsaWVudDp0aGlzLmdldENsaWVudCgpLHNjb3BlOnR9KSx0fVAoKXtyZXR1cm4hKHRoaXMuUi5sZW5ndGg8PTEpJiYhIXRoaXMuUi5wb3AoKX19ZnVuY3Rpb24gUSgpe2NvbnN0IHQ9bShkKCkpO3JldHVybiB0LnN0YWNrPXQuc3RhY2t8fG5ldyBxKGcoImRlZmF1bHRDdXJyZW50U2NvcGUiLCgpPT5uZXcgViksZygiZGVmYXVsdElzb2xhdGlvblNjb3BlIiwoKT0+bmV3IFYpKX1mdW5jdGlvbiBYKHQpe3JldHVybiBRKCkud2l0aFNjb3BlKHQpfWZ1bmN0aW9uIHR0KHQsbil7Y29uc3QgZT1RKCk7cmV0dXJuIGUud2l0aFNjb3BlKCgpPT4oZS5nZXRTdGFja1RvcCgpLnNjb3BlPXQsbih0KSkpfWZ1bmN0aW9uIG50KHQpe3JldHVybiBRKCkud2l0aFNjb3BlKCgpPT50KFEoKS5nZXRJc29sYXRpb25TY29wZSgpKSl9ZnVuY3Rpb24gZXQodCl7Y29uc3Qgbj1tKHQpO3JldHVybiBuLmFjcz9uLmFjczp7d2l0aElzb2xhdGlvblNjb3BlOm50LHdpdGhTY29wZTpYLHdpdGhTZXRTY29wZTp0dCx3aXRoU2V0SXNvbGF0aW9uU2NvcGU6KHQsbik9Pm50KG4pLGdldEN1cnJlbnRTY29wZTooKT0+USgpLmdldFNjb3BlKCksZ2V0SXNvbGF0aW9uU2NvcGU6KCk9PlEoKS5nZXRJc29sYXRpb25TY29wZSgpfX1mdW5jdGlvbiBydCgpe3JldHVybiBldChkKCkpLmdldEN1cnJlbnRTY29wZSgpLmdldENsaWVudCgpfWZ1bmN0aW9uIG90KHQpe3JldHVybntzY29wZTp0Ll9zZW50cnlTY29wZSxpc29sYXRpb25TY29wZTp0Ll9zZW50cnlJc29sYXRpb25TY29wZX19Y29uc3Qgc3Q9L15zZW50cnktLztmdW5jdGlvbiBpdCh0KXtjb25zdCBuPWZ1bmN0aW9uKHQpe2lmKCF0fHwhayh0KSYmIUFycmF5LmlzQXJyYXkodCkpcmV0dXJuO2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHQucmVkdWNlKCh0LG4pPT57Y29uc3QgZT1jdChuKTtyZXR1cm4gT2JqZWN0LmVudHJpZXMoZSkuZm9yRWFjaCgoW24sZV0pPT57dFtuXT1lfSksdH0se30pO3JldHVybiBjdCh0KX0odCk7aWYoIW4pcmV0dXJuO2NvbnN0IGU9T2JqZWN0LmVudHJpZXMobikucmVkdWNlKCh0LFtuLGVdKT0+e2lmKG4ubWF0Y2goc3QpKXt0W24uc2xpY2UoNyldPWV9cmV0dXJuIHR9LHt9KTtyZXR1cm4gT2JqZWN0LmtleXMoZSkubGVuZ3RoPjA/ZTp2b2lkIDB9ZnVuY3Rpb24gY3QodCl7cmV0dXJuIHQuc3BsaXQoIiwiKS5tYXAodD0+dC5zcGxpdCgiPSIpLm1hcCh0PT57dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQodC50cmltKCkpfWNhdGNoe3JldHVybn19KSkucmVkdWNlKCh0LFtuLGVdKT0+KG4mJmUmJih0W25dPWUpLHQpLHt9KX1jb25zdCB1dD0vXm8oXGQrKVwuLztmdW5jdGlvbiBhdCh0LG49ITEpe2NvbnN0e2hvc3Q6ZSxwYXRoOnIscGFzczpvLHBvcnQ6cyxwcm9qZWN0SWQ6aSxwcm90b2NvbDpjLHB1YmxpY0tleTp1fT10O3JldHVybmAke2N9Oi8vJHt1fSR7biYmbz9gOiR7b31gOiIifUAke2V9JHtzP2A6JHtzfWA6IiJ9LyR7cj9gJHtyfS9gOnJ9JHtpfWB9ZnVuY3Rpb24gZnQodCl7Y29uc3Qgbj10LmdldE9wdGlvbnMoKSx7aG9zdDplfT10LmdldERzbigpfHx7fTtsZXQgcjtyZXR1cm4gbi5vcmdJZD9yPVN0cmluZyhuLm9yZ0lkKTplJiYocj1mdW5jdGlvbih0KXtjb25zdCBuPXQubWF0Y2godXQpO3JldHVybiBuPy5bMV19KGUpKSxyfWZ1bmN0aW9uIGh0KHQpe2NvbnN0e3NwYW5JZDpuLHRyYWNlSWQ6ZSxpc1JlbW90ZTpyfT10LnNwYW5Db250ZXh0KCksbz1yP246bXQodCkucGFyZW50X3NwYW5faWQscz1vdCh0KS5zY29wZTtyZXR1cm57cGFyZW50X3NwYW5faWQ6byxzcGFuX2lkOnI/cz8uZ2V0UHJvcGFnYXRpb25Db250ZXh0KCkucHJvcGFnYXRpb25TcGFuSWR8fFcoKTpuLHRyYWNlX2lkOmV9fWZ1bmN0aW9uIHB0KHQpe3JldHVybiB0JiZ0Lmxlbmd0aD4wP3QubWFwKCh7Y29udGV4dDp7c3BhbklkOnQsdHJhY2VJZDpuLHRyYWNlRmxhZ3M6ZSwuLi5yfSxhdHRyaWJ1dGVzOm99KT0+KHtzcGFuX2lkOnQsdHJhY2VfaWQ6bixzYW1wbGVkOjE9PT1lLGF0dHJpYnV0ZXM6bywuLi5yfSkpOnZvaWQgMH1mdW5jdGlvbiBsdCh0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQ/ZHQodCk6QXJyYXkuaXNBcnJheSh0KT90WzBdK3RbMV0vMWU5OnQgaW5zdGFuY2VvZiBEYXRlP2R0KHQuZ2V0VGltZSgpKTpHKCl9ZnVuY3Rpb24gZHQodCl7cmV0dXJuIHQ+OTk5OTk5OTk5OT90LzFlMzp0fWZ1bmN0aW9uIG10KHQpe2lmKGZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldFNwYW5KU09OfSh0KSlyZXR1cm4gdC5nZXRTcGFuSlNPTigpO2NvbnN0e3NwYW5JZDpuLHRyYWNlSWQ6ZX09dC5zcGFuQ29udGV4dCgpO2lmKGZ1bmN0aW9uKHQpe2NvbnN0IG49dDtyZXR1cm4hIShuLmF0dHJpYnV0ZXMmJm4uc3RhcnRUaW1lJiZuLm5hbWUmJm4uZW5kVGltZSYmbi5zdGF0dXMpfSh0KSl7Y29uc3R7YXR0cmlidXRlczpyLHN0YXJ0VGltZTpvLG5hbWU6cyxlbmRUaW1lOmksc3RhdHVzOmMsbGlua3M6dX09dDtyZXR1cm57c3Bhbl9pZDpuLHRyYWNlX2lkOmUsZGF0YTpyLGRlc2NyaXB0aW9uOnMscGFyZW50X3NwYW5faWQ6InBhcmVudFNwYW5JZCJpbiB0P3QucGFyZW50U3BhbklkOiJwYXJlbnRTcGFuQ29udGV4dCJpbiB0P3QucGFyZW50U3BhbkNvbnRleHQ/LnNwYW5JZDp2b2lkIDAsc3RhcnRfdGltZXN0YW1wOmx0KG8pLHRpbWVzdGFtcDpsdChpKXx8dm9pZCAwLHN0YXR1czpndChjKSxvcDpyWyJzZW50cnkub3AiXSxvcmlnaW46clsic2VudHJ5Lm9yaWdpbiJdLGxpbmtzOnB0KHUpfX1yZXR1cm57c3Bhbl9pZDpuLHRyYWNlX2lkOmUsc3RhcnRfdGltZXN0YW1wOjAsZGF0YTp7fX19ZnVuY3Rpb24gZ3QodCl7aWYodCYmMCE9PXQuY29kZSlyZXR1cm4gMT09PXQuY29kZT8ib2siOnQubWVzc2FnZXx8InVua25vd25fZXJyb3IifWZ1bmN0aW9uIHl0KHQpe3JldHVybiB0Ll9zZW50cnlSb290U3Bhbnx8dH1mdW5jdGlvbiBidCh0KXtjb25zdCBuPXJ0KCk7aWYoIW4pcmV0dXJue307Y29uc3QgZT15dCh0KSxyPW10KGUpLG89ci5kYXRhLHM9ZS5zcGFuQ29udGV4dCgpLnRyYWNlU3RhdGUsaT1zPy5nZXQoInNlbnRyeS5zYW1wbGVfcmF0ZSIpPz9vWyJzZW50cnkuc2FtcGxlX3JhdGUiXT8/b1sic2VudHJ5LnByZXZpb3VzX3RyYWNlX3NhbXBsZV9yYXRlIl07ZnVuY3Rpb24gYyh0KXtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIGkmJiJzdHJpbmciIT10eXBlb2YgaXx8KHQuc2FtcGxlX3JhdGU9YCR7aX1gKSx0fWNvbnN0IHU9ZS5fZnJvemVuRHNjO2lmKHUpcmV0dXJuIGModSk7Y29uc3QgYT1zPy5nZXQoInNlbnRyeS5kc2MiKSxmPWEmJml0KGEpO2lmKGYpcmV0dXJuIGMoZik7Y29uc3QgaD1mdW5jdGlvbih0LG4pe2NvbnN0IGU9bi5nZXRPcHRpb25zKCkse3B1YmxpY0tleTpyfT1uLmdldERzbigpfHx7fSxvPXtlbnZpcm9ubWVudDplLmVudmlyb25tZW50fHwicHJvZHVjdGlvbiIscmVsZWFzZTplLnJlbGVhc2UscHVibGljX2tleTpyLHRyYWNlX2lkOnQsb3JnX2lkOmZ0KG4pfTtyZXR1cm4gbi5lbWl0KCJjcmVhdGVEc2MiLG8pLG99KHQuc3BhbkNvbnRleHQoKS50cmFjZUlkLG4pLHA9b1sic2VudHJ5LnNvdXJjZSJdLGw9ci5kZXNjcmlwdGlvbjtyZXR1cm4idXJsIiE9PXAmJmwmJihoLnRyYW5zYWN0aW9uPWwpLGZ1bmN0aW9uKCl7aWYoImJvb2xlYW4iPT10eXBlb2YgX19TRU5UUllfVFJBQ0lOR19fJiYhX19TRU5UUllfVFJBQ0lOR19fKXJldHVybiExO2NvbnN0IHQ9cnQoKT8uZ2V0T3B0aW9ucygpO3JldHVybiEoIXR8fG51bGw9PXQudHJhY2VzU2FtcGxlUmF0ZSYmIXQudHJhY2VzU2FtcGxlcil9KCkmJihoLnNhbXBsZWQ9U3RyaW5nKGZ1bmN0aW9uKHQpe2NvbnN0e3RyYWNlRmxhZ3M6bn09dC5zcGFuQ29udGV4dCgpO3JldHVybiAxPT09bn0oZSkpLGguc2FtcGxlX3JhbmQ9cz8uZ2V0KCJzZW50cnkuc2FtcGxlX3JhbmQiKT8/b3QoZSkuc2NvcGU/LmdldFByb3BhZ2F0aW9uQ29udGV4dCgpLnNhbXBsZVJhbmQudG9TdHJpbmcoKSksYyhoKSxuLmVtaXQoImNyZWF0ZURzYyIsaCxlKSxofWZ1bmN0aW9uIHZ0KHQsbj0xMDAsZT0xLzApe3RyeXtyZXR1cm4gX3QoIiIsdCxuLGUpfWNhdGNoKHQpe3JldHVybntFUlJPUjpgKipub24tc2VyaWFsaXphYmxlKiogKCR7dH0pYH19fWZ1bmN0aW9uIF90KHQsbixlPTEvMCxyPTEvMCxvPWZ1bmN0aW9uKCl7Y29uc3QgdD1uZXcgV2Vha1NldDtmdW5jdGlvbiBuKG4pe3JldHVybiEhdC5oYXMobil8fCh0LmFkZChuKSwhMSl9ZnVuY3Rpb24gZShuKXt0LmRlbGV0ZShuKX1yZXR1cm5bbixlXX0oKSl7Y29uc3RbcyxpXT1vO2lmKG51bGw9PW58fFsiYm9vbGVhbiIsInN0cmluZyJdLmluY2x1ZGVzKHR5cGVvZiBuKXx8Im51bWJlciI9PXR5cGVvZiBuJiZOdW1iZXIuaXNGaW5pdGUobikpcmV0dXJuIG47Y29uc3QgYz1mdW5jdGlvbih0LG4pe3RyeXtpZigiZG9tYWluIj09PXQmJm4mJiJvYmplY3QiPT10eXBlb2YgbiYmbi5VKXJldHVybiJbRG9tYWluXSI7aWYoImRvbWFpbkVtaXR0ZXIiPT09dClyZXR1cm4iW0RvbWFpbkVtaXR0ZXJdIjtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbCYmbj09PWdsb2JhbClyZXR1cm4iW0dsb2JhbF0iO2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZuPT09d2luZG93KXJldHVybiJbV2luZG93XSI7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudCYmbj09PWRvY3VtZW50KXJldHVybiJbRG9jdW1lbnRdIjtpZigib2JqZWN0Ij09dHlwZW9mKGU9bikmJm51bGwhPT1lJiYoZS5fX2lzVnVlfHxlLk0pKXJldHVybiJbVnVlVmlld01vZGVsXSI7aWYoZnVuY3Rpb24odCl7cmV0dXJuIFQodCkmJiJuYXRpdmVFdmVudCJpbiB0JiYicHJldmVudERlZmF1bHQiaW4gdCYmInN0b3BQcm9wYWdhdGlvbiJpbiB0fShuKSlyZXR1cm4iW1N5bnRoZXRpY0V2ZW50XSI7aWYoIm51bWJlciI9PXR5cGVvZiBuJiYhTnVtYmVyLmlzRmluaXRlKG4pKXJldHVybmBbJHtufV1gO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuKXJldHVybmBbRnVuY3Rpb246ICR7ZnVuY3Rpb24odCl7dHJ5e3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgdCYmdC5uYW1lfHx4fWNhdGNoe3JldHVybiB4fX0obil9XWA7aWYoInN5bWJvbCI9PXR5cGVvZiBuKXJldHVybmBbJHtTdHJpbmcobil9XWA7aWYoImJpZ2ludCI9PXR5cGVvZiBuKXJldHVybmBbQmlnSW50OiAke1N0cmluZyhuKX1dYDtjb25zdCByPWZ1bmN0aW9uKHQpe2NvbnN0IG49T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3JldHVybiBuPy5jb25zdHJ1Y3Rvcj9uLmNvbnN0cnVjdG9yLm5hbWU6Im51bGwgcHJvdG90eXBlIn0obik7cmV0dXJuL15IVE1MKFx3KilFbGVtZW50JC8udGVzdChyKT9gW0hUTUxFbGVtZW50OiAke3J9XWA6YFtvYmplY3QgJHtyfV1gfWNhdGNoKHQpe3JldHVybmAqKm5vbi1zZXJpYWxpemFibGUqKiAoJHt0fSlgfXZhciBlfSh0LG4pO2lmKCFjLnN0YXJ0c1dpdGgoIltvYmplY3QgIikpcmV0dXJuIGM7aWYobi5fX3NlbnRyeV9za2lwX25vcm1hbGl6YXRpb25fXylyZXR1cm4gbjtjb25zdCB1PSJudW1iZXIiPT10eXBlb2Ygbi5fX3NlbnRyeV9vdmVycmlkZV9ub3JtYWxpemF0aW9uX2RlcHRoX18/bi5fX3NlbnRyeV9vdmVycmlkZV9ub3JtYWxpemF0aW9uX2RlcHRoX186ZTtpZigwPT09dSlyZXR1cm4gYy5yZXBsYWNlKCJvYmplY3QgIiwiIik7aWYocyhuKSlyZXR1cm4iW0NpcmN1bGFyIH5dIjtjb25zdCBhPW47aWYoYSYmImZ1bmN0aW9uIj09dHlwZW9mIGEudG9KU09OKXRyeXtyZXR1cm4gX3QoIiIsYS50b0pTT04oKSx1LTEscixvKX1jYXRjaHt9Y29uc3QgZj1BcnJheS5pc0FycmF5KG4pP1tdOnt9O2xldCBoPTA7Y29uc3QgcD1EKG4pO2Zvcihjb25zdCB0IGluIHApe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocCx0KSljb250aW51ZTtpZihoPj1yKXtmW3RdPSJbTWF4UHJvcGVydGllcyB+XSI7YnJlYWt9Y29uc3Qgbj1wW3RdO2ZbdF09X3QodCxuLHUtMSxyLG8pLGgrK31yZXR1cm4gaShuKSxmfWZ1bmN0aW9uIHd0KHQsbil7Y29uc3QgZT1uLnJlcGxhY2UoL1xcL2csIi8iKS5yZXBsYWNlKC9bfFxce30oKVtcXV4kKyo/Ll0vZywiXFwkJiIpO2xldCByPXQ7dHJ5e3I9ZGVjb2RlVVJJKHQpfWNhdGNoe31yZXR1cm4gci5yZXBsYWNlKC9cXC9nLCIvIikucmVwbGFjZSgvd2VicGFjazpcLz8vZywiIikucmVwbGFjZShuZXcgUmVnRXhwKGAoZmlsZTovLyk/Lyoke2V9LypgLCJpZyIpLCJhcHA6Ly8vIil9ZnVuY3Rpb24gU3QodCxuPVtdKXtyZXR1cm5bdCxuXX1mdW5jdGlvbiAkdCh0LG4pe2NvbnN0IGU9dFsxXTtmb3IoY29uc3QgdCBvZiBlKXtpZihuKHQsdFswXS50eXBlKSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBFdCh0KXtjb25zdCBuPW0ocCk7cmV0dXJuIG4uZW5jb2RlUG9seWZpbGw/bi5lbmNvZGVQb2x5ZmlsbCh0KToobmV3IFRleHRFbmNvZGVyKS5lbmNvZGUodCl9ZnVuY3Rpb24geHQodCl7Y29uc3RbbixlXT10O2xldCByPUpTT04uc3RyaW5naWZ5KG4pO2Z1bmN0aW9uIG8odCl7InN0cmluZyI9PXR5cGVvZiByP3I9InN0cmluZyI9PXR5cGVvZiB0P3IrdDpbRXQociksdF06ci5wdXNoKCJzdHJpbmciPT10eXBlb2YgdD9FdCh0KTp0KX1mb3IoY29uc3QgdCBvZiBlKXtjb25zdFtuLGVdPXQ7aWYobyhgXG4ke0pTT04uc3RyaW5naWZ5KG4pfVxuYCksInN0cmluZyI9PXR5cGVvZiBlfHxlIGluc3RhbmNlb2YgVWludDhBcnJheSlvKGUpO2Vsc2V7bGV0IHQ7dHJ5e3Q9SlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2h7dD1KU09OLnN0cmluZ2lmeSh2dChlKSl9byh0KX19cmV0dXJuInN0cmluZyI9PXR5cGVvZiByP3I6ZnVuY3Rpb24odCl7Y29uc3Qgbj10LnJlZHVjZSgodCxuKT0+dCtuLmxlbmd0aCwwKSxlPW5ldyBVaW50OEFycmF5KG4pO2xldCByPTA7Zm9yKGNvbnN0IG4gb2YgdCllLnNldChuLHIpLHIrPW4ubGVuZ3RoO3JldHVybiBlfShyKX1jb25zdCBOdD17c2Vzc2lvbjoic2Vzc2lvbiIsc2Vzc2lvbnM6InNlc3Npb24iLGF0dGFjaG1lbnQ6ImF0dGFjaG1lbnQiLHRyYW5zYWN0aW9uOiJ0cmFuc2FjdGlvbiIsZXZlbnQ6ImVycm9yIixjbGllbnRfcmVwb3J0OiJpbnRlcm5hbCIsdXNlcl9yZXBvcnQ6ImRlZmF1bHQiLHByb2ZpbGU6InByb2ZpbGUiLHByb2ZpbGVfY2h1bms6InByb2ZpbGUiLHJlcGxheV9ldmVudDoicmVwbGF5IixyZXBsYXlfcmVjb3JkaW5nOiJyZXBsYXkiLGNoZWNrX2luOiJtb25pdG9yIixmZWVkYmFjazoiZmVlZGJhY2siLHNwYW46InNwYW4iLHJhd19zZWN1cml0eToic2VjdXJpdHkiLGxvZzoibG9nX2l0ZW0ifTtmdW5jdGlvbiBDdCh0KXtpZighdD8uc2RrKXJldHVybjtjb25zdHtuYW1lOm4sdmVyc2lvbjplfT10LnNkaztyZXR1cm57bmFtZTpuLHZlcnNpb246ZX19ZnVuY3Rpb24ga3QodCxuLGUscil7Y29uc3Qgbz1DdChlKSxzPXQudHlwZSYmInJlcGxheV9ldmVudCIhPT10LnR5cGU/dC50eXBlOiJldmVudCI7IWZ1bmN0aW9uKHQsbil7aWYoIW4pcmV0dXJuIHQ7Y29uc3QgZT10LnNka3x8e307dC5zZGs9ey4uLmUsbmFtZTplLm5hbWV8fG4ubmFtZSx2ZXJzaW9uOmUudmVyc2lvbnx8bi52ZXJzaW9uLGludGVncmF0aW9uczpbLi4udC5zZGs/LmludGVncmF0aW9uc3x8W10sLi4ubi5pbnRlZ3JhdGlvbnN8fFtdXSxwYWNrYWdlczpbLi4udC5zZGs/LnBhY2thZ2VzfHxbXSwuLi5uLnBhY2thZ2VzfHxbXV0sc2V0dGluZ3M6dC5zZGs/LnNldHRpbmdzfHxuLnNldHRpbmdzP3suLi50LnNkaz8uc2V0dGluZ3MsLi4ubi5zZXR0aW5nc306dm9pZCAwfX0odCxlPy5zZGspO2NvbnN0IGk9ZnVuY3Rpb24odCxuLGUscil7Y29uc3Qgbz10LnNka1Byb2Nlc3NpbmdNZXRhZGF0YT8uZHluYW1pY1NhbXBsaW5nQ29udGV4dDtyZXR1cm57ZXZlbnRfaWQ6dC5ldmVudF9pZCxzZW50X2F0OihuZXcgRGF0ZSkudG9JU09TdHJpbmcoKSwuLi5uJiZ7c2RrOm59LC4uLiEhZSYmciYme2RzbjphdChyKX0sLi4ubyYme3RyYWNlOm99fX0odCxvLHIsbik7ZGVsZXRlIHQuc2RrUHJvY2Vzc2luZ01ldGFkYXRhO3JldHVybiBTdChpLFtbe3R5cGU6c30sdF1dKX1jb25zdCBUdD0iX19TRU5UUllfU1VQUFJFU1NfVFJBQ0lOR19fIjtmdW5jdGlvbiBqdCh0KXtjb25zdCBuPWV0KGQoKSk7cmV0dXJuIG4uc3VwcHJlc3NUcmFjaW5nP24uc3VwcHJlc3NUcmFjaW5nKHQpOmZ1bmN0aW9uKC4uLnQpe2NvbnN0IG49ZXQoZCgpKTtpZigyPT09dC5sZW5ndGgpe2NvbnN0W2Uscl09dDtyZXR1cm4gZT9uLndpdGhTZXRTY29wZShlLHIpOm4ud2l0aFNjb3BlKHIpfXJldHVybiBuLndpdGhTY29wZSh0WzBdKX0obj0+e24uc2V0U0RLUHJvY2Vzc2luZ01ldGFkYXRhKHtbVHRdOiEwfSk7Y29uc3QgZT10KCk7cmV0dXJuIG4uc2V0U0RLUHJvY2Vzc2luZ01ldGFkYXRhKHtbVHRdOnZvaWQgMH0pLGV9KX1mdW5jdGlvbiBJdCh0KXtyZXR1cm4gbmV3IE90KG49PntuKHQpfSl9Y2xhc3MgT3R7Y29uc3RydWN0b3IodCl7dGhpcy5MPTAsdGhpcy5CPVtdLHRoaXMuRyh0KX10aGVuKHQsbil7cmV0dXJuIG5ldyBPdCgoZSxyKT0+e3RoaXMuQi5wdXNoKFshMSxuPT57aWYodCl0cnl7ZSh0KG4pKX1jYXRjaCh0KXtyKHQpfWVsc2UgZShuKX0sdD0+e2lmKG4pdHJ5e2Uobih0KSl9Y2F0Y2godCl7cih0KX1lbHNlIHIodCl9XSksdGhpcy5IKCl9KX1jYXRjaCh0KXtyZXR1cm4gdGhpcy50aGVuKHQ9PnQsdCl9ZmluYWxseSh0KXtyZXR1cm4gbmV3IE90KChuLGUpPT57bGV0IHIsbztyZXR1cm4gdGhpcy50aGVuKG49PntvPSExLHI9bix0JiZ0KCl9LG49PntvPSEwLHI9bix0JiZ0KCl9KS50aGVuKCgpPT57bz9lKHIpOm4ocil9KX0pfUgoKXtpZigwPT09dGhpcy5MKXJldHVybjtjb25zdCB0PXRoaXMuQi5zbGljZSgpO3RoaXMuQj1bXSx0LmZvckVhY2godD0+e3RbMF18fCgxPT09dGhpcy5MJiZ0WzFdKHRoaXMuSiksMj09PXRoaXMuTCYmdFsyXSh0aGlzLkopLHRbMF09ITApfSl9Ryh0KXtjb25zdCBuPSh0LG4pPT57MD09PXRoaXMuTCYmKGoobik/bi50aGVuKGUscik6KHRoaXMuTD10LHRoaXMuSj1uLHRoaXMuSCgpKSl9LGU9dD0+e24oMSx0KX0scj10PT57bigyLHQpfTt0cnl7dChlLHIpfWNhdGNoKHQpe3IodCl9fX1mdW5jdGlvbiBSdCh0LG4pe2NvbnN0e2ZpbmdlcnByaW50OmUsc3BhbjpyLGJyZWFkY3J1bWJzOm8sc2RrUHJvY2Vzc2luZ01ldGFkYXRhOnN9PW47IWZ1bmN0aW9uKHQsbil7Y29uc3R7ZXh0cmE6ZSx0YWdzOnIsdXNlcjpvLGNvbnRleHRzOnMsbGV2ZWw6aSx0cmFuc2FjdGlvbk5hbWU6Y309bjtPYmplY3Qua2V5cyhlKS5sZW5ndGgmJih0LmV4dHJhPXsuLi5lLC4uLnQuZXh0cmF9KTtPYmplY3Qua2V5cyhyKS5sZW5ndGgmJih0LnRhZ3M9ey4uLnIsLi4udC50YWdzfSk7T2JqZWN0LmtleXMobykubGVuZ3RoJiYodC51c2VyPXsuLi5vLC4uLnQudXNlcn0pO09iamVjdC5rZXlzKHMpLmxlbmd0aCYmKHQuY29udGV4dHM9ey4uLnMsLi4udC5jb250ZXh0c30pO2kmJih0LmxldmVsPWkpO2MmJiJ0cmFuc2FjdGlvbiIhPT10LnR5cGUmJih0LnRyYW5zYWN0aW9uPWMpfSh0LG4pLHImJmZ1bmN0aW9uKHQsbil7dC5jb250ZXh0cz17dHJhY2U6aHQobiksLi4udC5jb250ZXh0c30sdC5zZGtQcm9jZXNzaW5nTWV0YWRhdGE9e2R5bmFtaWNTYW1wbGluZ0NvbnRleHQ6YnQobiksLi4udC5zZGtQcm9jZXNzaW5nTWV0YWRhdGF9O2NvbnN0IGU9eXQobikscj1tdChlKS5kZXNjcmlwdGlvbjtyJiYhdC50cmFuc2FjdGlvbiYmInRyYW5zYWN0aW9uIj09PXQudHlwZSYmKHQudHJhbnNhY3Rpb249cil9KHQsciksZnVuY3Rpb24odCxuKXt0LmZpbmdlcnByaW50PXQuZmluZ2VycHJpbnQ/QXJyYXkuaXNBcnJheSh0LmZpbmdlcnByaW50KT90LmZpbmdlcnByaW50Olt0LmZpbmdlcnByaW50XTpbXSxuJiYodC5maW5nZXJwcmludD10LmZpbmdlcnByaW50LmNvbmNhdChuKSk7dC5maW5nZXJwcmludC5sZW5ndGh8fGRlbGV0ZSB0LmZpbmdlcnByaW50fSh0LGUpLGZ1bmN0aW9uKHQsbil7Y29uc3QgZT1bLi4udC5icmVhZGNydW1ic3x8W10sLi4ubl07dC5icmVhZGNydW1icz1lLmxlbmd0aD9lOnZvaWQgMH0odCxvKSxmdW5jdGlvbih0LG4pe3Quc2RrUHJvY2Vzc2luZ01ldGFkYXRhPXsuLi50LnNka1Byb2Nlc3NpbmdNZXRhZGF0YSwuLi5ufX0odCxzKX1jb25zdCBBdD1TeW1ib2wuZm9yKCJTZW50cnlCdWZmZXJGdWxsRXJyb3IiKTtmdW5jdGlvbiBEdCh0KXtjb25zdCBuPVtdO2Z1bmN0aW9uIGUodCl7cmV0dXJuIG4uc3BsaWNlKG4uaW5kZXhPZih0KSwxKVswXXx8UHJvbWlzZS5yZXNvbHZlKHZvaWQgMCl9cmV0dXJueyQ6bixhZGQ6ZnVuY3Rpb24ocil7aWYoISh2b2lkIDA9PT10fHxuLmxlbmd0aDx0KSlyZXR1cm4gbz1BdCxuZXcgT3QoKHQsbik9PntuKG8pfSk7dmFyIG87Y29uc3Qgcz1yKCk7cmV0dXJuLTE9PT1uLmluZGV4T2YocykmJm4ucHVzaChzKSxzLnRoZW4oKCk9PmUocykpLnRoZW4obnVsbCwoKT0+ZShzKS50aGVuKG51bGwsKCk9Pnt9KSksc30sZHJhaW46ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBPdCgoZSxyKT0+e2xldCBvPW4ubGVuZ3RoO2lmKCFvKXJldHVybiBlKCEwKTtjb25zdCBzPXNldFRpbWVvdXQoKCk9Pnt0JiZ0PjAmJmUoITEpfSx0KTtuLmZvckVhY2godD0+e0l0KHQpLnRoZW4oKCk9PnstLW98fChjbGVhclRpbWVvdXQocyksZSghMCkpfSxyKX0pfSl9fX1mdW5jdGlvbiBQdCh0LHtzdGF0dXNDb2RlOm4saGVhZGVyczplfSxyPURhdGUubm93KCkpe2NvbnN0IG89ey4uLnR9LHM9ZT8uWyJ4LXNlbnRyeS1yYXRlLWxpbWl0cyJdLGk9ZT8uWyJyZXRyeS1hZnRlciJdO2lmKHMpZm9yKGNvbnN0IHQgb2Ygcy50cmltKCkuc3BsaXQoIiwiKSl7Y29uc3RbbixlLCwsc109dC5zcGxpdCgiOiIsNSksaT1wYXJzZUludChuLDEwKSxjPTFlMyooaXNOYU4oaSk/NjA6aSk7aWYoZSlmb3IoY29uc3QgdCBvZiBlLnNwbGl0KCI7IikpIm1ldHJpY19idWNrZXQiPT09dCYmcyYmIXMuc3BsaXQoIjsiKS5pbmNsdWRlcygiY3VzdG9tIil8fChvW3RdPXIrYyk7ZWxzZSBvLmFsbD1yK2N9ZWxzZSBpP28uYWxsPXIrZnVuY3Rpb24odCxuPURhdGUubm93KCkpe2NvbnN0IGU9cGFyc2VJbnQoYCR7dH1gLDEwKTtpZighaXNOYU4oZSkpcmV0dXJuIDFlMyplO2NvbnN0IHI9RGF0ZS5wYXJzZShgJHt0fWApO3JldHVybiBpc05hTihyKT82ZTQ6ci1ufShpLHIpOjQyOT09PW4mJihvLmFsbD1yKzZlNCk7cmV0dXJuIG99ZnVuY3Rpb24gVXQodCxuLGU9RHQodC5idWZmZXJTaXplfHw2NCkpe2xldCByPXt9O3JldHVybntzZW5kOmZ1bmN0aW9uKHQpe2NvbnN0IG89W107aWYoJHQodCwodCxuKT0+e2NvbnN0IGU9ZnVuY3Rpb24odCl7cmV0dXJuIE50W3RdfShuKTsoZnVuY3Rpb24odCxuLGU9RGF0ZS5ub3coKSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7cmV0dXJuIHRbbl18fHQuYWxsfHwwfSh0LG4pPmV9KShyLGUpfHxvLnB1c2godCl9KSwwPT09by5sZW5ndGgpcmV0dXJuIEl0KHt9KTtjb25zdCBzPVN0KHRbMF0sbyksaT10PT57JHQocywodCxuKT0+e30pfTtyZXR1cm4gZS5hZGQoKCk9Pm4oe2JvZHk6eHQocyl9KS50aGVuKHQ9Pih2b2lkIDAhPT10LnN0YXR1c0NvZGUmJih0LnN0YXR1c0NvZGU8MjAwfHx0LnN0YXR1c0NvZGU+PTMwMCkmJmgmJlMud2FybihgU2VudHJ5IHJlc3BvbmRlZCB3aXRoIHN0YXR1cyBjb2RlICR7dC5zdGF0dXNDb2RlfSB0byBzZW50IGV2ZW50LmApLHI9UHQocix0KSx0KSx0PT57dGhyb3cgaSgpLGgmJlMuZXJyb3IoIkVuY291bnRlcmVkIGVycm9yIHJ1bm5pbmcgdHJhbnNwb3J0IHJlcXVlc3Q6Iix0KSx0fSkpLnRoZW4odD0+dCx0PT57aWYodD09PUF0KXJldHVybiBoJiZTLmVycm9yKCJTa2lwcGVkIHNlbmRpbmcgZXZlbnQgYmVjYXVzZSBidWZmZXIgaXMgZnVsbC4iKSxpKCksSXQoe30pO3Rocm93IHR9KX0sZmx1c2g6dD0+ZS5kcmFpbih0KX19Y29uc3QgTXQ9L14oXFMrOlxcfFwvPykoW1xzXFNdKj8pKCg/OlwuezEsMn18W14vXFxdKz98KShcLlteLi9cXF0qfCkpKD86Wy9cXF0qKSQvO2Z1bmN0aW9uIEx0KHQpe2NvbnN0IG49ZnVuY3Rpb24odCl7Y29uc3Qgbj10Lmxlbmd0aD4xMDI0P2A8dHJ1bmNhdGVkPiR7dC5zbGljZSgtMTAyNCl9YDp0LGU9TXQuZXhlYyhuKTtyZXR1cm4gZT9lLnNsaWNlKDEpOltdfSh0KSxlPW5bMF18fCIiO2xldCByPW5bMV07cmV0dXJuIGV8fHI/KHImJihyPXIuc2xpY2UoMCxyLmxlbmd0aC0xKSksZStyKToiLiJ9ZnVuY3Rpb24gQnQodCxuPSExKXtyZXR1cm4hKG58fHQmJiF0LnN0YXJ0c1dpdGgoIi8iKSYmIXQubWF0Y2goL15bQS1aXTovKSYmIXQuc3RhcnRzV2l0aCgiLiIpJiYhdC5tYXRjaCgvXlthLXpBLVpdKFthLXpBLVowLTkuXC0rXSkqOlwvXC8vKSkmJnZvaWQgMCE9PXQmJiF0LmluY2x1ZGVzKCJub2RlX21vZHVsZXMvIil9Y29uc3QgR3Q9U3ltYm9sKCJBZ2VudEJhc2VJbnRlcm5hbFN0YXRlIik7Y2xhc3MgSHQgZXh0ZW5kcyBzLkFnZW50e2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXNbR3RdPXt9fWlzU2VjdXJlRW5kcG9pbnQodCl7aWYodCl7aWYoImJvb2xlYW4iPT10eXBlb2YgdC5zZWN1cmVFbmRwb2ludClyZXR1cm4gdC5zZWN1cmVFbmRwb2ludDtpZigic3RyaW5nIj09dHlwZW9mIHQucHJvdG9jb2wpcmV0dXJuImh0dHBzOiI9PT10LnByb3RvY29sfWNvbnN0e3N0YWNrOm59PW5ldyBFcnJvcjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIG4mJm4uc3BsaXQoIlxuIikuc29tZSh0PT4tMSE9PXQuaW5kZXhPZigiKGh0dHBzLmpzOiIpfHwtMSE9PXQuaW5kZXhPZigibm9kZTpodHRwczoiKSl9Y3JlYXRlU29ja2V0KHQsbixlKXtjb25zdCByPXsuLi5uLHNlY3VyZUVuZHBvaW50OnRoaXMuaXNTZWN1cmVFbmRwb2ludChuKX07UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb25uZWN0KHQscikpLnRoZW4obz0+e2lmKG8gaW5zdGFuY2VvZiBzLkFnZW50KXJldHVybiBvLmFkZFJlcXVlc3QodCxyKTt0aGlzW0d0XS5jdXJyZW50U29ja2V0PW8sc3VwZXIuY3JlYXRlU29ja2V0KHQsbixlKX0sZSl9Y3JlYXRlQ29ubmVjdGlvbigpe2NvbnN0IHQ9dGhpc1tHdF0uY3VycmVudFNvY2tldDtpZih0aGlzW0d0XS5jdXJyZW50U29ja2V0PXZvaWQgMCwhdCl0aHJvdyBuZXcgRXJyb3IoIk5vIHNvY2tldCB3YXMgcmV0dXJuZWQgaW4gdGhlIGBjb25uZWN0KClgIGZ1bmN0aW9uIik7cmV0dXJuIHR9Z2V0IGRlZmF1bHRQb3J0KCl7cmV0dXJuIHRoaXNbR3RdLmRlZmF1bHRQb3J0Pz8oImh0dHBzOiI9PT10aGlzLnByb3RvY29sPzQ0Mzo4MCl9c2V0IGRlZmF1bHRQb3J0KHQpe3RoaXNbR3RdJiYodGhpc1tHdF0uZGVmYXVsdFBvcnQ9dCl9Z2V0IHByb3RvY29sKCl7cmV0dXJuIHRoaXNbR3RdLnByb3RvY29sPz8odGhpcy5pc1NlY3VyZUVuZHBvaW50KCk/Imh0dHBzOiI6Imh0dHA6Iil9c2V0IHByb3RvY29sKHQpe3RoaXNbR3RdJiYodGhpc1tHdF0ucHJvdG9jb2w9dCl9fWZ1bmN0aW9uIEp0KC4uLnQpe1MubG9nKCJbaHR0cHMtcHJveHktYWdlbnQ6cGFyc2UtcHJveHktcmVzcG9uc2VdIiwuLi50KX1mdW5jdGlvbiB6dCh0KXtyZXR1cm4gbmV3IFByb21pc2UoKG4sZSk9PntsZXQgcj0wO2NvbnN0IG89W107ZnVuY3Rpb24gcygpe2NvbnN0IGM9dC5yZWFkKCk7Yz9mdW5jdGlvbihjKXtvLnB1c2goYykscis9Yy5sZW5ndGg7Y29uc3QgdT1CdWZmZXIuY29uY2F0KG8sciksYT11LmluZGV4T2YoIlxyXG5cclxuIik7aWYoLTE9PT1hKXJldHVybiBKdCgiaGF2ZSBub3QgcmVjZWl2ZWQgZW5kIG9mIEhUVFAgaGVhZGVycyB5ZXQuLi4iKSx2b2lkIHMoKTtjb25zdCBmPXUuc3ViYXJyYXkoMCxhKS50b1N0cmluZygiYXNjaWkiKS5zcGxpdCgiXHJcbiIpLGg9Zi5zaGlmdCgpO2lmKCFoKXJldHVybiB0LmRlc3Ryb3koKSxlKG5ldyBFcnJvcigiTm8gaGVhZGVyIHJlY2VpdmVkIGZyb20gcHJveHkgQ09OTkVDVCByZXNwb25zZSIpKTtjb25zdCBwPWguc3BsaXQoIiAiKSxsPSsocFsxXXx8MCksZD1wLnNsaWNlKDIpLmpvaW4oIiAiKSxtPXt9O2Zvcihjb25zdCBuIG9mIGYpe2lmKCFuKWNvbnRpbnVlO2NvbnN0IHI9bi5pbmRleE9mKCI6Iik7aWYoLTE9PT1yKXJldHVybiB0LmRlc3Ryb3koKSxlKG5ldyBFcnJvcihgSW52YWxpZCBoZWFkZXIgZnJvbSBwcm94eSBDT05ORUNUIHJlc3BvbnNlOiAiJHtufSJgKSk7Y29uc3Qgbz1uLnNsaWNlKDAscikudG9Mb3dlckNhc2UoKSxzPW4uc2xpY2UocisxKS50cmltU3RhcnQoKSxpPW1bb107InN0cmluZyI9PXR5cGVvZiBpP21bb109W2ksc106QXJyYXkuaXNBcnJheShpKT9pLnB1c2gocyk6bVtvXT1zfUp0KCJnb3QgcHJveHkgc2VydmVyIHJlc3BvbnNlOiAlbyAlbyIsaCxtKSxpKCksbih7Y29ubmVjdDp7c3RhdHVzQ29kZTpsLHN0YXR1c1RleHQ6ZCxoZWFkZXJzOm19LGJ1ZmZlcmVkOnV9KX0oYyk6dC5vbmNlKCJyZWFkYWJsZSIscyl9ZnVuY3Rpb24gaSgpe3QucmVtb3ZlTGlzdGVuZXIoImVuZCIsYyksdC5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLHUpLHQucmVtb3ZlTGlzdGVuZXIoInJlYWRhYmxlIixzKX1mdW5jdGlvbiBjKCl7aSgpLEp0KCJvbmVuZCIpLGUobmV3IEVycm9yKCJQcm94eSBjb25uZWN0aW9uIGVuZGVkIGJlZm9yZSByZWNlaXZpbmcgQ09OTkVDVCByZXNwb25zZSIpKX1mdW5jdGlvbiB1KHQpe2koKSxKdCgib25lcnJvciAlbyIsdCksZSh0KX10Lm9uKCJlcnJvciIsdSksdC5vbigiZW5kIixjKSxzKCl9KX1mdW5jdGlvbiBGdCguLi50KXtTLmxvZygiW2h0dHBzLXByb3h5LWFnZW50XSIsLi4udCl9Y2xhc3MgV3QgZXh0ZW5kcyBIdHtzdGF0aWMgX19pbml0U3RhdGljKCl7dGhpcy5wcm90b2NvbHM9WyJodHRwIiwiaHR0cHMiXX1jb25zdHJ1Y3Rvcih0LG4pe3N1cGVyKG4pLHRoaXMub3B0aW9ucz17fSx0aGlzLnByb3h5PSJzdHJpbmciPT10eXBlb2YgdD9uZXcgVVJMKHQpOnQsdGhpcy5wcm94eUhlYWRlcnM9bj8uaGVhZGVycz8/e30sRnQoIkNyZWF0aW5nIG5ldyBIdHRwc1Byb3h5QWdlbnQgaW5zdGFuY2U6ICVvIix0aGlzLnByb3h5LmhyZWYpO2NvbnN0IGU9KHRoaXMucHJveHkuaG9zdG5hbWV8fHRoaXMucHJveHkuaG9zdCkucmVwbGFjZSgvXlxbfFxdJC9nLCIiKSxyPXRoaXMucHJveHkucG9ydD9wYXJzZUludCh0aGlzLnByb3h5LnBvcnQsMTApOiJodHRwczoiPT09dGhpcy5wcm94eS5wcm90b2NvbD80NDM6ODA7dGhpcy5jb25uZWN0T3B0cz17QUxQTlByb3RvY29sczpbImh0dHAvMS4xIl0sLi4ubj9LdChuLCJoZWFkZXJzIik6bnVsbCxob3N0OmUscG9ydDpyfX1hc3luYyBjb25uZWN0KHQsbil7Y29uc3R7cHJveHk6ZX09dGhpcztpZighbi5ob3N0KXRocm93IG5ldyBUeXBlRXJyb3IoJ05vICJob3N0IiBwcm92aWRlZCcpO2xldCByO2lmKCJodHRwczoiPT09ZS5wcm90b2NvbCl7RnQoIkNyZWF0aW5nIGB0bHMuU29ja2V0YDogJW8iLHRoaXMuY29ubmVjdE9wdHMpO2NvbnN0IHQ9dGhpcy5jb25uZWN0T3B0cy5zZXJ2ZXJuYW1lfHx0aGlzLmNvbm5lY3RPcHRzLmhvc3Q7cj1mLmNvbm5lY3Qoey4uLnRoaXMuY29ubmVjdE9wdHMsc2VydmVybmFtZTp0JiZhLmlzSVAodCk/dm9pZCAwOnR9KX1lbHNlIEZ0KCJDcmVhdGluZyBgbmV0LlNvY2tldGA6ICVvIix0aGlzLmNvbm5lY3RPcHRzKSxyPWEuY29ubmVjdCh0aGlzLmNvbm5lY3RPcHRzKTtjb25zdCBvPSJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLnByb3h5SGVhZGVycz90aGlzLnByb3h5SGVhZGVycygpOnsuLi50aGlzLnByb3h5SGVhZGVyc30scz1hLmlzSVB2NihuLmhvc3QpP2BbJHtuLmhvc3R9XWA6bi5ob3N0O2xldCBpPWBDT05ORUNUICR7c306JHtuLnBvcnR9IEhUVFAvMS4xXHJcbmA7aWYoZS51c2VybmFtZXx8ZS5wYXNzd29yZCl7Y29uc3QgdD1gJHtkZWNvZGVVUklDb21wb25lbnQoZS51c2VybmFtZSl9OiR7ZGVjb2RlVVJJQ29tcG9uZW50KGUucGFzc3dvcmQpfWA7b1siUHJveHktQXV0aG9yaXphdGlvbiJdPWBCYXNpYyAke0J1ZmZlci5mcm9tKHQpLnRvU3RyaW5nKCJiYXNlNjQiKX1gfW8uSG9zdD1gJHtzfToke24ucG9ydH1gLG9bIlByb3h5LUNvbm5lY3Rpb24iXXx8KG9bIlByb3h5LUNvbm5lY3Rpb24iXT10aGlzLmtlZXBBbGl2ZT8iS2VlcC1BbGl2ZSI6ImNsb3NlIik7Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMobykpaSs9YCR7dH06ICR7b1t0XX1cclxuYDtjb25zdCBjPXp0KHIpO3Iud3JpdGUoYCR7aX1cclxuYCk7Y29uc3R7Y29ubmVjdDp1LGJ1ZmZlcmVkOmh9PWF3YWl0IGM7aWYodC5lbWl0KCJwcm94eUNvbm5lY3QiLHUpLHRoaXMuZW1pdCgicHJveHlDb25uZWN0Iix1LHQpLDIwMD09PXUuc3RhdHVzQ29kZSl7aWYodC5vbmNlKCJzb2NrZXQiLFl0KSxuLnNlY3VyZUVuZHBvaW50KXtGdCgiVXBncmFkaW5nIHNvY2tldCBjb25uZWN0aW9uIHRvIFRMUyIpO2NvbnN0IHQ9bi5zZXJ2ZXJuYW1lfHxuLmhvc3Q7cmV0dXJuIGYuY29ubmVjdCh7Li4uS3QobiwiaG9zdCIsInBhdGgiLCJwb3J0Iiksc29ja2V0OnIsc2VydmVybmFtZTphLmlzSVAodCk/dm9pZCAwOnR9KX1yZXR1cm4gcn1yLmRlc3Ryb3koKTtjb25zdCBwPW5ldyBhLlNvY2tldCh7d3JpdGFibGU6ITF9KTtyZXR1cm4gcC5yZWFkYWJsZT0hMCx0Lm9uY2UoInNvY2tldCIsdD0+e0Z0KCJSZXBsYXlpbmcgcHJveHkgYnVmZmVyIGZvciBmYWlsZWQgcmVxdWVzdCIpLHQucHVzaChoKSx0LnB1c2gobnVsbCl9KSxwfX1mdW5jdGlvbiBZdCh0KXt0LnJlc3VtZSgpfWZ1bmN0aW9uIEt0KHQsLi4ubil7Y29uc3QgZT17fTtsZXQgcjtmb3IociBpbiB0KW4uaW5jbHVkZXMocil8fChlW3JdPXRbcl0pO3JldHVybiBlfVd0Ll9faW5pdFN0YXRpYygpO2Z1bmN0aW9uIFp0KHQpe3JldHVybiB0LnJlcGxhY2UoL15bQS1aXTovLCIiKS5yZXBsYWNlKC9cXC9nLCIvIil9Y29uc3QgVnQ9bjtsZXQgcXQsUXQ9MCxYdD17fTtmdW5jdGlvbiB0bih0KXtWdC5kZWJ1ZyYmY29uc29sZS5sb2coYFtBTlIgV29ya2VyXSAke3R9YCl9dmFyIG5uLGVuLHJuO2NvbnN0IG9uPWZ1bmN0aW9uKHQpe2xldCBuO3RyeXtuPW5ldyBVUkwodC51cmwpfWNhdGNoKG4pe3JldHVybiBiKCgpPT57Y29uc29sZS53YXJuKCJbQHNlbnRyeS9ub2RlXTogSW52YWxpZCBkc24gb3IgdHVubmVsIG9wdGlvbiwgd2lsbCBub3Qgc2VuZCBhbnkgZXZlbnRzLiBUaGUgdHVubmVsIG9wdGlvbiBtdXN0IGJlIGEgZnVsbCBVUkwgd2hlbiB1c2VkLiIpfSksVXQodCwoKT0+UHJvbWlzZS5yZXNvbHZlKHt9KSl9Y29uc3QgZT0iaHR0cHM6Ij09PW4ucHJvdG9jb2wscj1mdW5jdGlvbih0LG4pe2NvbnN0e25vX3Byb3h5OmV9PXByb2Nlc3MuZW52LHI9ZT8uc3BsaXQoIiwiKS5zb21lKG49PnQuaG9zdC5lbmRzV2l0aChuKXx8dC5ob3N0bmFtZS5lbmRzV2l0aChuKSk7cmV0dXJuIHI/dm9pZCAwOm59KG4sdC5wcm94eXx8KGU/cHJvY2Vzcy5lbnYuaHR0cHNfcHJveHk6dm9pZCAwKXx8cHJvY2Vzcy5lbnYuaHR0cF9wcm94eSksbz1lP2k6cyxhPXZvaWQgMCE9PXQua2VlcEFsaXZlJiZ0LmtlZXBBbGl2ZSxmPXI/bmV3IFd0KHIpOm5ldyBvLkFnZW50KHtrZWVwQWxpdmU6YSxtYXhTb2NrZXRzOjMwLHRpbWVvdXQ6MmUzfSksaD1mdW5jdGlvbih0LG4sZSl7Y29uc3R7aG9zdG5hbWU6cixwYXRobmFtZTpvLHBvcnQ6cyxwcm90b2NvbDppLHNlYXJjaDphfT1uZXcgVVJMKHQudXJsKTtyZXR1cm4gZnVuY3Rpb24oZil7cmV0dXJuIG5ldyBQcm9taXNlKChoLHApPT57anQoKCk9PntsZXQgbD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGMoe3JlYWQoKXt0aGlzLnB1c2godCksdGhpcy5wdXNoKG51bGwpfX0pfShmLmJvZHkpO2NvbnN0IGQ9ey4uLnQuaGVhZGVyc307Zi5ib2R5Lmxlbmd0aD4zMjc2OCYmKGRbImNvbnRlbnQtZW5jb2RpbmciXT0iZ3ppcCIsbD1sLnBpcGUodSgpKSk7Y29uc3QgbT1uLnJlcXVlc3Qoe21ldGhvZDoiUE9TVCIsYWdlbnQ6ZSxoZWFkZXJzOmQsaG9zdG5hbWU6cixwYXRoOmAke299JHthfWAscG9ydDpzLHByb3RvY29sOmksY2E6dC5jYUNlcnRzfSx0PT57dC5vbigiZGF0YSIsKCk9Pnt9KSx0Lm9uKCJlbmQiLCgpPT57fSksdC5zZXRFbmNvZGluZygidXRmOCIpO2NvbnN0IG49dC5oZWFkZXJzWyJyZXRyeS1hZnRlciJdPz9udWxsLGU9dC5oZWFkZXJzWyJ4LXNlbnRyeS1yYXRlLWxpbWl0cyJdPz9udWxsO2goe3N0YXR1c0NvZGU6dC5zdGF0dXNDb2RlLGhlYWRlcnM6eyJyZXRyeS1hZnRlciI6biwieC1zZW50cnktcmF0ZS1saW1pdHMiOkFycmF5LmlzQXJyYXkoZSk/ZVswXXx8bnVsbDplfX0pfSk7bS5vbigiZXJyb3IiLHApLGwucGlwZShtKX0pfSl9fSh0LHQuaHR0cE1vZHVsZT8/byxmKTtyZXR1cm4gVXQodCxoKX0oe3VybDoobm49VnQuZHNuLGVuPVZ0LnR1bm5lbCxybj1WdC5zZGtNZXRhZGF0YS5zZGssZW58fGAke2Z1bmN0aW9uKHQpe3JldHVybmAke2Z1bmN0aW9uKHQpe2NvbnN0IG49dC5wcm90b2NvbD9gJHt0LnByb3RvY29sfTpgOiIiLGU9dC5wb3J0P2A6JHt0LnBvcnR9YDoiIjtyZXR1cm5gJHtufS8vJHt0Lmhvc3R9JHtlfSR7dC5wYXRoP2AvJHt0LnBhdGh9YDoiIn0vYXBpL2B9KHQpfSR7dC5wcm9qZWN0SWR9L2VudmVsb3BlL2B9KG5uKX0/JHtmdW5jdGlvbih0LG4pe2NvbnN0IGU9e3NlbnRyeV92ZXJzaW9uOiI3In07cmV0dXJuIHQucHVibGljS2V5JiYoZS5zZW50cnlfa2V5PXQucHVibGljS2V5KSxuJiYoZS5zZW50cnlfY2xpZW50PWAke24ubmFtZX0vJHtuLnZlcnNpb259YCksbmV3IFVSTFNlYXJjaFBhcmFtcyhlKS50b1N0cmluZygpfShubixybil9YCl9KTthc3luYyBmdW5jdGlvbiBzbigpe2lmKHF0KXt0bigiU2VuZGluZyBhYm5vcm1hbCBzZXNzaW9uIiksSihxdCx7c3RhdHVzOiJhYm5vcm1hbCIsYWJub3JtYWxfbWVjaGFuaXNtOiJhbnJfZm9yZWdyb3VuZCIscmVsZWFzZTpWdC5yZWxlYXNlLGVudmlyb25tZW50OlZ0LmVudmlyb25tZW50fSk7Y29uc3QgdD1mdW5jdGlvbih0LG4sZSxyKXtjb25zdCBvPUN0KGUpO3JldHVybiBTdCh7c2VudF9hdDoobmV3IERhdGUpLnRvSVNPU3RyaW5nKCksLi4ubyYme3NkazpvfSwuLi4hIXImJm4mJntkc246YXQobil9fSxbImFnZ3JlZ2F0ZXMiaW4gdD9be3R5cGU6InNlc3Npb25zIn0sdF06W3t0eXBlOiJzZXNzaW9uIn0sdC50b0pTT04oKV1dKX0ocXQsVnQuZHNuLFZ0LnNka01ldGFkYXRhLFZ0LnR1bm5lbCk7dG4oSlNPTi5zdHJpbmdpZnkodCkpLGF3YWl0IG9uLnNlbmQodCk7dHJ5e2U/LnBvc3RNZXNzYWdlKCJzZXNzaW9uLWVuZGVkIil9Y2F0Y2h7fX19ZnVuY3Rpb24gY24odCl7aWYoIXQpcmV0dXJuO2NvbnN0IG49ZnVuY3Rpb24odCl7aWYoIXQubGVuZ3RoKXJldHVybltdO2NvbnN0IG49QXJyYXkuZnJvbSh0KTtyZXR1cm4vc2VudHJ5V3JhcHBlZC8udGVzdChFKG4pLmZ1bmN0aW9ufHwiIikmJm4ucG9wKCksbi5yZXZlcnNlKCksJC50ZXN0KEUobikuZnVuY3Rpb258fCIiKSYmKG4ucG9wKCksJC50ZXN0KEUobikuZnVuY3Rpb258fCIiKSYmbi5wb3AoKSksbi5zbGljZSgwLDUwKS5tYXAodD0+KHsuLi50LGZpbGVuYW1lOnQuZmlsZW5hbWV8fEUobikuZmlsZW5hbWUsZnVuY3Rpb246dC5mdW5jdGlvbnx8Ij8ifSkpfSh0KTtpZihWdC5hcHBSb290UGF0aClmb3IoY29uc3QgdCBvZiBuKXQuZmlsZW5hbWUmJih0LmZpbGVuYW1lPXd0KHQuZmlsZW5hbWUsVnQuYXBwUm9vdFBhdGgpKTtyZXR1cm4gbn1hc3luYyBmdW5jdGlvbiB1bih0LG4pe2lmKFF0Pj1WdC5tYXhBbnJFdmVudHMpcmV0dXJuO1F0Kz0xLGF3YWl0IHNuKCksdG4oIlNlbmRpbmcgZXZlbnQiKTtjb25zdCBlPXtldmVudF9pZDpNKCksY29udGV4dHM6VnQuY29udGV4dHMscmVsZWFzZTpWdC5yZWxlYXNlLGVudmlyb25tZW50OlZ0LmVudmlyb25tZW50LGRpc3Q6VnQuZGlzdCxwbGF0Zm9ybToibm9kZSIsbGV2ZWw6ImVycm9yIixleGNlcHRpb246e3ZhbHVlczpbe3R5cGU6IkFwcGxpY2F0aW9uTm90UmVzcG9uZGluZyIsdmFsdWU6YEFwcGxpY2F0aW9uIE5vdCBSZXNwb25kaW5nIGZvciBhdCBsZWFzdCAke1Z0LmFuclRocmVzaG9sZH0gbXNgLHN0YWNrdHJhY2U6e2ZyYW1lczpjbih0KX0sbWVjaGFuaXNtOnt0eXBlOiJBTlIifX1dfSx0YWdzOlZ0LnN0YXRpY1RhZ3N9O24mJmZ1bmN0aW9uKHQsbil7aWYoUnQodCxuKSwhdC5jb250ZXh0cz8udHJhY2Upe2NvbnN0e3RyYWNlSWQ6ZSxwYXJlbnRTcGFuSWQ6cixwcm9wYWdhdGlvblNwYW5JZDpvfT1uLnByb3BhZ2F0aW9uQ29udGV4dDt0LmNvbnRleHRzPXt0cmFjZTp7dHJhY2VfaWQ6ZSxzcGFuX2lkOm98fFcoKSxwYXJlbnRfc3Bhbl9pZDpyfSwuLi50LmNvbnRleHRzfX19KGUsbiksZnVuY3Rpb24odCl7aWYoMD09PU9iamVjdC5rZXlzKFh0KS5sZW5ndGgpcmV0dXJuO2NvbnN0IG49VnQuYXBwUm9vdFBhdGg/e306WHQ7aWYoVnQuYXBwUm9vdFBhdGgpZm9yKGNvbnN0W3QsZV1vZiBPYmplY3QuZW50cmllcyhYdCkpblt3dCh0LFZ0LmFwcFJvb3RQYXRoKV09ZTtjb25zdCBlPW5ldyBNYXA7Zm9yKGNvbnN0IHIgb2YgdC5leGNlcHRpb24/LnZhbHVlc3x8W10pZm9yKGNvbnN0IHQgb2Ygci5zdGFja3RyYWNlPy5mcmFtZXN8fFtdKXtjb25zdCByPXQuYWJzX3BhdGh8fHQuZmlsZW5hbWU7ciYmbltyXSYmZS5zZXQocixuW3JdKX1pZihlLnNpemU+MCl7Y29uc3Qgbj1bXTtmb3IoY29uc3RbdCxyXW9mIGUuZW50cmllcygpKW4ucHVzaCh7dHlwZToic291cmNlbWFwIixjb2RlX2ZpbGU6dCxkZWJ1Z19pZDpyfSk7dC5kZWJ1Z19tZXRhPXtpbWFnZXM6bn19fShlKTtjb25zdCByPWt0KGUsVnQuZHNuLFZ0LnNka01ldGFkYXRhLFZ0LnR1bm5lbCk7dG4oSlNPTi5zdHJpbmdpZnkocikpLGF3YWl0IG9uLnNlbmQociksYXdhaXQgb24uZmx1c2goMmUzKSxRdD49VnQubWF4QW5yRXZlbnRzJiZzZXRUaW1lb3V0KCgpPT57cHJvY2Vzcy5leGl0KDApfSw1ZTMpfWxldCBhbjtpZih0bigiU3RhcnRlZCIpLFZ0LmNhcHR1cmVTdGFja1RyYWNlKXt0bigiQ29ubmVjdGluZyB0byBkZWJ1Z2dlciIpO2NvbnN0IG49bmV3IHQ7bi5jb25uZWN0VG9NYWluVGhyZWFkKCksdG4oIkNvbm5lY3RlZCB0byBkZWJ1Z2dlciIpO2NvbnN0IGU9bmV3IE1hcDtuLm9uKCJEZWJ1Z2dlci5zY3JpcHRQYXJzZWQiLHQ9PntlLnNldCh0LnBhcmFtcy5zY3JpcHRJZCx0LnBhcmFtcy51cmwpfSksbi5vbigiRGVidWdnZXIucGF1c2VkIix0PT57aWYoIm90aGVyIj09PXQucGFyYW1zLnJlYXNvbil0cnl7dG4oIkRlYnVnZ2VyIHBhdXNlZCIpO2NvbnN0IHM9Wy4uLnQucGFyYW1zLmNhbGxGcmFtZXNdLGk9VnQuYXBwUm9vdFBhdGg/ZnVuY3Rpb24odD0ocHJvY2Vzcy5hcmd2WzFdP0x0KHByb2Nlc3MuYXJndlsxXSk6cHJvY2Vzcy5jd2QoKSksbj0iXFwiPT09byl7Y29uc3QgZT1uP1p0KHQpOnQ7cmV0dXJuIHQ9PntpZighdClyZXR1cm47Y29uc3Qgbz1uP1p0KHQpOnQ7bGV0e2RpcjpzLGJhc2U6aSxleHQ6Y309ci5wYXJzZShvKTsiLmpzIiE9PWMmJiIubWpzIiE9PWMmJiIuY2pzIiE9PWN8fChpPWkuc2xpY2UoMCwtMSpjLmxlbmd0aCkpO2NvbnN0IHU9ZGVjb2RlVVJJQ29tcG9uZW50KGkpO3N8fChzPSIuIik7Y29uc3QgYT1zLmxhc3RJbmRleE9mKCIvbm9kZV9tb2R1bGVzIik7aWYoYT4tMSlyZXR1cm5gJHtzLnNsaWNlKGErMTQpLnJlcGxhY2UoL1wvL2csIi4iKX06JHt1fWA7aWYocy5zdGFydHNXaXRoKGUpKXtjb25zdCB0PXMuc2xpY2UoZS5sZW5ndGgrMSkucmVwbGFjZSgvXC8vZywiLiIpO3JldHVybiB0P2Ake3R9OiR7dX1gOnV9cmV0dXJuIHV9fShWdC5hcHBSb290UGF0aCk6KCk9Pnt9LGM9cy5tYXAodD0+ZnVuY3Rpb24odCxuLGUpe2NvbnN0IHI9bj9uLnJlcGxhY2UoL15maWxlOlwvXC8vLCIiKTp2b2lkIDAsbz10LmxvY2F0aW9uLmNvbHVtbk51bWJlcj90LmxvY2F0aW9uLmNvbHVtbk51bWJlcisxOnZvaWQgMCxzPXQubG9jYXRpb24ubGluZU51bWJlcj90LmxvY2F0aW9uLmxpbmVOdW1iZXIrMTp2b2lkIDA7cmV0dXJue2ZpbGVuYW1lOnIsbW9kdWxlOmUociksZnVuY3Rpb246dC5mdW5jdGlvbk5hbWV8fCI/Iixjb2xubzpvLGxpbmVubzpzLGluX2FwcDpyP0J0KHIpOnZvaWQgMH19KHQsZS5nZXQodC5sb2NhdGlvbi5zY3JpcHRJZCksaSkpLHU9c2V0VGltZW91dCgoKT0+e3VuKGMpLnRoZW4obnVsbCwoKT0+e3RuKCJTZW5kaW5nIEFOUiBldmVudCBmYWlsZWQuIil9KX0sNWUzKTtuLnBvc3QoIlJ1bnRpbWUuZXZhbHVhdGUiLHtleHByZXNzaW9uOiJnbG9iYWwuX19TRU5UUllfR0VUX1NDT1BFU19fKCk7IixzaWxlbnQ6ITAscmV0dXJuQnlWYWx1ZTohMH0sKHQsZSk9Pnt0JiZ0bihgRXJyb3IgZXhlY3V0aW5nIHNjcmlwdDogJyR7dC5tZXNzYWdlfSdgKSxjbGVhclRpbWVvdXQodSk7Y29uc3Qgcj1lPy5yZXN1bHQ/ZS5yZXN1bHQudmFsdWU6dm9pZCAwO24ucG9zdCgiRGVidWdnZXIucmVzdW1lIiksbi5wb3N0KCJEZWJ1Z2dlci5kaXNhYmxlIiksdW4oYyxyKS50aGVuKG51bGwsKCk9Pnt0bigiU2VuZGluZyBBTlIgZXZlbnQgZmFpbGVkLiIpfSl9KX1jYXRjaCh0KXt0aHJvdyBuLnBvc3QoIkRlYnVnZ2VyLnJlc3VtZSIpLG4ucG9zdCgiRGVidWdnZXIuZGlzYWJsZSIpLHR9fSksYW49KCk9Pnt0cnl7bi5wb3N0KCJEZWJ1Z2dlci5lbmFibGUiLCgpPT57bi5wb3N0KCJEZWJ1Z2dlci5wYXVzZSIpfSl9Y2F0Y2h7fX19Y29uc3R7cG9sbDpmbn09ZnVuY3Rpb24odCxuLGUscil7Y29uc3Qgbz10KCk7bGV0IHM9ITEsaT0hMDtyZXR1cm4gc2V0SW50ZXJ2YWwoKCk9Pntjb25zdCB0PW8uZ2V0VGltZU1zKCk7ITE9PT1zJiZ0Pm4rZSYmKHM9ITAsaSYmcigpKSx0PG4rZSYmKHM9ITEpfSwyMCkse3BvbGw6KCk9PntvLnJlc2V0KCl9LGVuYWJsZWQ6dD0+e2k9dH19fShmdW5jdGlvbigpe2xldCB0PXByb2Nlc3MuaHJ0aW1lKCk7cmV0dXJue2dldFRpbWVNczooKT0+e2NvbnN0W24sZV09cHJvY2Vzcy5ocnRpbWUodCk7cmV0dXJuIE1hdGguZmxvb3IoMWUzKm4rZS8xZTYpfSxyZXNldDooKT0+e3Q9cHJvY2Vzcy5ocnRpbWUoKX19fSxWdC5wb2xsSW50ZXJ2YWwsVnQuYW5yVGhyZXNob2xkLGZ1bmN0aW9uKCl7dG4oIldhdGNoZG9nIHRpbWVvdXQiKSxhbj8odG4oIlBhdXNpbmcgZGVidWdnZXIgdG8gY2FwdHVyZSBzdGFjayB0cmFjZSIpLGFuKCkpOih0bigiQ2FwdHVyaW5nIGV2ZW50IHdpdGhvdXQgYSBzdGFjayB0cmFjZSIpLHVuKCkudGhlbihudWxsLCgpPT57dG4oIlNlbmRpbmcgQU5SIGV2ZW50IGZhaWxlZCBvbiB3YXRjaGRvZyB0aW1lb3V0LiIpfSkpfSk7ZT8ub24oIm1lc3NhZ2UiLHQ9Pnt0LnNlc3Npb24mJihxdD1IKHQuc2Vzc2lvbikpLHQuZGVidWdJbWFnZXMmJihYdD10LmRlYnVnSW1hZ2VzKSxmbigpfSk7", DEFAULT_INTERVAL = 50, DEFAULT_HANG_THRESHOLD = 5000, INTEGRATION_NAME26 = "Anr", _anrIntegration = (options = {}) => {
38886
40312
  if (NODE_VERSION.major < 16 || NODE_VERSION.major === 16 && NODE_VERSION.minor < 17) {
38887
40313
  throw new Error("ANR detection requires Node 16.17.0 or later");
38888
40314
  }
@@ -39409,7 +40835,7 @@ var require_AsyncLocalStorageContextManager = __commonJS((exports) => {
39409
40835
  });
39410
40836
 
39411
40837
  // ../../node_modules/@opentelemetry/context-async-hooks/build/src/index.js
39412
- var require_src10 = __commonJS((exports) => {
40838
+ var require_src11 = __commonJS((exports) => {
39413
40839
  Object.defineProperty(exports, "__esModule", { value: true });
39414
40840
  exports.AsyncLocalStorageContextManager = exports.AsyncHooksContextManager = undefined;
39415
40841
  var AsyncHooksContextManager_1 = require_AsyncHooksContextManager();
@@ -39425,7 +40851,7 @@ var require_src10 = __commonJS((exports) => {
39425
40851
  // ../../node_modules/@sentry/node-core/build/esm/otel/contextManager.js
39426
40852
  var import_context_async_hooks, SentryContextManager;
39427
40853
  var init_contextManager = __esm(() => {
39428
- import_context_async_hooks = __toESM(require_src10(), 1);
40854
+ import_context_async_hooks = __toESM(require_src11(), 1);
39429
40855
  init_esm4();
39430
40856
  SentryContextManager = wrapContextManagerClass(import_context_async_hooks.AsyncLocalStorageContextManager);
39431
40857
  });
@@ -40544,7 +41970,7 @@ var init_http3 = __esm(() => {
40544
41970
  });
40545
41971
 
40546
41972
  // ../../node_modules/@opentelemetry/instrumentation-undici/build/src/version.js
40547
- var require_version6 = __commonJS((exports) => {
41973
+ var require_version7 = __commonJS((exports) => {
40548
41974
  Object.defineProperty(exports, "__esModule", { value: true });
40549
41975
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
40550
41976
  exports.PACKAGE_VERSION = "0.14.0";
@@ -40587,9 +42013,9 @@ var require_undici = __commonJS((exports) => {
40587
42013
  var url_1 = __require("url");
40588
42014
  var instrumentation_1 = require_src6();
40589
42015
  var api_1 = require_src();
40590
- var version_1 = require_version6();
42016
+ var version_1 = require_version7();
40591
42017
  var SemanticAttributes_1 = require_SemanticAttributes2();
40592
- var core_1 = require_src3();
42018
+ var core_1 = require_src8();
40593
42019
 
40594
42020
  class UndiciInstrumentation extends instrumentation_1.InstrumentationBase {
40595
42021
  _recordFromReq = new WeakMap;
@@ -40890,7 +42316,7 @@ var require_undici = __commonJS((exports) => {
40890
42316
  });
40891
42317
 
40892
42318
  // ../../node_modules/@opentelemetry/instrumentation-undici/build/src/index.js
40893
- var require_src11 = __commonJS((exports) => {
42319
+ var require_src12 = __commonJS((exports) => {
40894
42320
  Object.defineProperty(exports, "__esModule", { value: true });
40895
42321
  exports.UndiciInstrumentation = undefined;
40896
42322
  var undici_1 = require_undici();
@@ -40943,7 +42369,7 @@ var import_instrumentation_undici, INTEGRATION_NAME32 = "NodeFetch", instrumentO
40943
42369
  };
40944
42370
  }, nativeNodeFetchIntegration2;
40945
42371
  var init_node_fetch2 = __esm(() => {
40946
- import_instrumentation_undici = __toESM(require_src11(), 1);
42372
+ import_instrumentation_undici = __toESM(require_src12(), 1);
40947
42373
  init_esm();
40948
42374
  init_esm5();
40949
42375
  instrumentOtelNodeFetch = generateInstrumentOnce(INTEGRATION_NAME32, import_instrumentation_undici.UndiciInstrumentation, (options) => {
@@ -40956,7 +42382,7 @@ var init_node_fetch2 = __esm(() => {
40956
42382
  });
40957
42383
 
40958
42384
  // ../../node_modules/@opentelemetry/instrumentation-fs/build/src/version.js
40959
- var require_version7 = __commonJS((exports) => {
42385
+ var require_version8 = __commonJS((exports) => {
40960
42386
  Object.defineProperty(exports, "__esModule", { value: true });
40961
42387
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
40962
42388
  exports.PACKAGE_VERSION = "0.23.0";
@@ -40964,7 +42390,7 @@ var require_version7 = __commonJS((exports) => {
40964
42390
  });
40965
42391
 
40966
42392
  // ../../node_modules/@opentelemetry/instrumentation-fs/build/src/constants.js
40967
- var require_constants3 = __commonJS((exports) => {
42393
+ var require_constants4 = __commonJS((exports) => {
40968
42394
  Object.defineProperty(exports, "__esModule", { value: true });
40969
42395
  exports.SYNC_FUNCTIONS = exports.CALLBACK_FUNCTIONS = exports.PROMISE_FUNCTIONS = undefined;
40970
42396
  exports.PROMISE_FUNCTIONS = [
@@ -41061,7 +42487,7 @@ var require_constants3 = __commonJS((exports) => {
41061
42487
  });
41062
42488
 
41063
42489
  // ../../node_modules/@opentelemetry/instrumentation-fs/build/src/utils.js
41064
- var require_utils10 = __commonJS((exports) => {
42490
+ var require_utils11 = __commonJS((exports) => {
41065
42491
  Object.defineProperty(exports, "__esModule", { value: true });
41066
42492
  exports.indexFs = exports.splitTwoLevels = undefined;
41067
42493
  function splitTwoLevels(functionName) {
@@ -41100,12 +42526,12 @@ var require_instrumentation3 = __commonJS((exports) => {
41100
42526
  Object.defineProperty(exports, "__esModule", { value: true });
41101
42527
  exports.FsInstrumentation = undefined;
41102
42528
  var api2 = require_src();
41103
- var core_1 = require_src3();
42529
+ var core_1 = require_src8();
41104
42530
  var instrumentation_1 = require_src6();
41105
- var version_1 = require_version7();
41106
- var constants_1 = require_constants3();
42531
+ var version_1 = require_version8();
42532
+ var constants_1 = require_constants4();
41107
42533
  var util_1 = __require("util");
41108
- var utils_1 = require_utils10();
42534
+ var utils_1 = require_utils11();
41109
42535
  function patchedFunctionWithOriginalProperties(patchedFunction, original) {
41110
42536
  return Object.assign(patchedFunction, original);
41111
42537
  }
@@ -41391,7 +42817,7 @@ var require_instrumentation3 = __commonJS((exports) => {
41391
42817
  });
41392
42818
 
41393
42819
  // ../../node_modules/@opentelemetry/instrumentation-fs/build/src/index.js
41394
- var require_src12 = __commonJS((exports) => {
42820
+ var require_src13 = __commonJS((exports) => {
41395
42821
  Object.defineProperty(exports, "__esModule", { value: true });
41396
42822
  exports.FsInstrumentation = undefined;
41397
42823
  var instrumentation_1 = require_instrumentation3();
@@ -41403,7 +42829,7 @@ var require_src12 = __commonJS((exports) => {
41403
42829
  // ../../node_modules/@sentry/node/build/esm/integrations/fs.js
41404
42830
  var import_instrumentation_fs, INTEGRATION_NAME33 = "FileSystem", fsIntegration, FS_OPERATIONS_WITH_OLD_PATH_NEW_PATH, FS_OPERATIONS_WITH_SRC_DEST, FS_OPERATIONS_WITH_EXISTING_PATH_NEW_PATH, FS_OPERATIONS_WITH_PREFIX, FS_OPERATIONS_WITH_TARGET_PATH, FS_OPERATIONS_WITH_PATH_ARG;
41405
42831
  var init_fs = __esm(() => {
41406
- import_instrumentation_fs = __toESM(require_src12(), 1);
42832
+ import_instrumentation_fs = __toESM(require_src13(), 1);
41407
42833
  init_esm();
41408
42834
  init_esm5();
41409
42835
  fsIntegration = defineIntegration((options = {}) => {
@@ -41532,7 +42958,7 @@ var require_internal_types2 = __commonJS((exports) => {
41532
42958
  });
41533
42959
 
41534
42960
  // ../../node_modules/@opentelemetry/instrumentation-express/build/src/utils.js
41535
- var require_utils11 = __commonJS((exports) => {
42961
+ var require_utils12 = __commonJS((exports) => {
41536
42962
  Object.defineProperty(exports, "__esModule", { value: true });
41537
42963
  exports.getActualMatchedRoute = exports.getConstructedRoute = exports.getLayerPath = exports.asErrorAndMessage = exports.isLayerIgnored = exports.getLayerMetadata = exports.getRouterPath = exports.storeLayerPath = undefined;
41538
42964
  var ExpressLayerType_1 = require_ExpressLayerType();
@@ -41673,7 +43099,7 @@ var require_utils11 = __commonJS((exports) => {
41673
43099
  });
41674
43100
 
41675
43101
  // ../../node_modules/@opentelemetry/instrumentation-express/build/src/version.js
41676
- var require_version8 = __commonJS((exports) => {
43102
+ var require_version9 = __commonJS((exports) => {
41677
43103
  Object.defineProperty(exports, "__esModule", { value: true });
41678
43104
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
41679
43105
  exports.PACKAGE_VERSION = "0.52.0";
@@ -41684,12 +43110,12 @@ var require_version8 = __commonJS((exports) => {
41684
43110
  var require_instrumentation4 = __commonJS((exports) => {
41685
43111
  Object.defineProperty(exports, "__esModule", { value: true });
41686
43112
  exports.ExpressInstrumentation = undefined;
41687
- var core_1 = require_src3();
43113
+ var core_1 = require_src8();
41688
43114
  var api_1 = require_src();
41689
43115
  var ExpressLayerType_1 = require_ExpressLayerType();
41690
43116
  var AttributeNames_1 = require_AttributeNames2();
41691
- var utils_1 = require_utils11();
41692
- var version_1 = require_version8();
43117
+ var utils_1 = require_utils12();
43118
+ var version_1 = require_version9();
41693
43119
  var instrumentation_1 = require_src6();
41694
43120
  var semantic_conventions_1 = require_src2();
41695
43121
  var internal_types_1 = require_internal_types2();
@@ -41899,7 +43325,7 @@ var require_instrumentation4 = __commonJS((exports) => {
41899
43325
  });
41900
43326
 
41901
43327
  // ../../node_modules/@opentelemetry/instrumentation-express/build/src/index.js
41902
- var require_src13 = __commonJS((exports) => {
43328
+ var require_src14 = __commonJS((exports) => {
41903
43329
  Object.defineProperty(exports, "__esModule", { value: true });
41904
43330
  exports.AttributeNames = exports.ExpressLayerType = exports.ExpressInstrumentation = undefined;
41905
43331
  var instrumentation_1 = require_instrumentation4();
@@ -41988,7 +43414,7 @@ var import_instrumentation_express, INTEGRATION_NAME34 = "Express", instrumentEx
41988
43414
  };
41989
43415
  }, expressIntegration;
41990
43416
  var init_express = __esm(() => {
41991
- import_instrumentation_express = __toESM(require_src13(), 1);
43417
+ import_instrumentation_express = __toESM(require_src14(), 1);
41992
43418
  init_esm();
41993
43419
  init_esm5();
41994
43420
  init_debug_build5();
@@ -43399,7 +44825,7 @@ import dc__default from "node:diagnostics_channel";
43399
44825
  var import_api11, import_core49, import_instrumentation6, import_semantic_conventions3, PACKAGE_NAME = "@fastify/otel", PACKAGE_VERSION = "0.8.0", SUPPORTED_VERSIONS = ">=4.0.0 <6", FASTIFY_HOOKS, ATTRIBUTE_NAMES, HOOK_TYPES, ANONYMOUS_FUNCTION_NAME = "anonymous", kInstrumentation, kRequestSpan, kRequestContext, kAddHookOriginal, kSetNotFoundOriginal, kIgnorePaths, FastifyOtelInstrumentation;
43400
44826
  var init_fastify_otel = __esm(() => {
43401
44827
  import_api11 = __toESM(require_src(), 1);
43402
- import_core49 = __toESM(require_src3(), 1);
44828
+ import_core49 = __toESM(require_src8(), 1);
43403
44829
  import_instrumentation6 = __toESM(require_src6(), 1);
43404
44830
  import_semantic_conventions3 = __toESM(require_src2(), 1);
43405
44831
  init_esm6();
@@ -43843,7 +45269,7 @@ function addFastifyV3SpanAttributes(span) {
43843
45269
  var import_api13, import_core50, import_instrumentation7, import_semantic_conventions4, PACKAGE_VERSION2 = "0.1.0", PACKAGE_NAME2 = "@sentry/instrumentation-fastify-v3", ANONYMOUS_NAME = "anonymous", hooksNamesToWrap, FastifyInstrumentationV3;
43844
45270
  var init_instrumentation = __esm(() => {
43845
45271
  import_api13 = __toESM(require_src(), 1);
43846
- import_core50 = __toESM(require_src3(), 1);
45272
+ import_core50 = __toESM(require_src8(), 1);
43847
45273
  import_instrumentation7 = __toESM(require_src6(), 1);
43848
45274
  import_semantic_conventions4 = __toESM(require_src2(), 1);
43849
45275
  init_esm();
@@ -44236,7 +45662,7 @@ var require_internal_types3 = __commonJS((exports) => {
44236
45662
  });
44237
45663
 
44238
45664
  // ../../node_modules/@opentelemetry/instrumentation-graphql/build/src/utils.js
44239
- var require_utils12 = __commonJS((exports) => {
45665
+ var require_utils13 = __commonJS((exports) => {
44240
45666
  Object.defineProperty(exports, "__esModule", { value: true });
44241
45667
  exports.wrapFieldResolver = exports.wrapFields = exports.getSourceFromLocation = exports.getOperation = exports.endSpan = exports.addSpanSource = exports.addInputVariableAttributes = exports.isPromise = undefined;
44242
45668
  var api2 = require_src();
@@ -44519,7 +45945,7 @@ var require_utils12 = __commonJS((exports) => {
44519
45945
  });
44520
45946
 
44521
45947
  // ../../node_modules/@opentelemetry/instrumentation-graphql/build/src/version.js
44522
- var require_version9 = __commonJS((exports) => {
45948
+ var require_version10 = __commonJS((exports) => {
44523
45949
  Object.defineProperty(exports, "__esModule", { value: true });
44524
45950
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
44525
45951
  exports.PACKAGE_VERSION = "0.51.0";
@@ -44536,8 +45962,8 @@ var require_instrumentation5 = __commonJS((exports) => {
44536
45962
  var AttributeNames_1 = require_AttributeNames3();
44537
45963
  var symbols_1 = require_symbols();
44538
45964
  var internal_types_1 = require_internal_types3();
44539
- var utils_1 = require_utils12();
44540
- var version_1 = require_version9();
45965
+ var utils_1 = require_utils13();
45966
+ var version_1 = require_version10();
44541
45967
  var DEFAULT_CONFIG = {
44542
45968
  mergeItems: false,
44543
45969
  depth: -1,
@@ -44790,7 +46216,7 @@ var require_instrumentation5 = __commonJS((exports) => {
44790
46216
  });
44791
46217
 
44792
46218
  // ../../node_modules/@opentelemetry/instrumentation-graphql/build/src/index.js
44793
- var require_src14 = __commonJS((exports) => {
46219
+ var require_src15 = __commonJS((exports) => {
44794
46220
  Object.defineProperty(exports, "__esModule", { value: true });
44795
46221
  exports.GraphQLInstrumentation = undefined;
44796
46222
  var instrumentation_1 = require_instrumentation5();
@@ -44829,7 +46255,7 @@ var import_api14, import_instrumentation_graphql, INTEGRATION_NAME36 = "Graphql"
44829
46255
  }, graphqlIntegration;
44830
46256
  var init_graphql = __esm(() => {
44831
46257
  import_api14 = __toESM(require_src(), 1);
44832
- import_instrumentation_graphql = __toESM(require_src14(), 1);
46258
+ import_instrumentation_graphql = __toESM(require_src15(), 1);
44833
46259
  init_esm();
44834
46260
  init_esm5();
44835
46261
  init_esm4();
@@ -44901,7 +46327,7 @@ var require_propagator = __commonJS((exports) => {
44901
46327
  });
44902
46328
 
44903
46329
  // ../../node_modules/@opentelemetry/instrumentation-kafkajs/build/src/semconv.js
44904
- var require_semconv4 = __commonJS((exports) => {
46330
+ var require_semconv5 = __commonJS((exports) => {
44905
46331
  Object.defineProperty(exports, "__esModule", { value: true });
44906
46332
  exports.METRIC_MESSAGING_PROCESS_DURATION = exports.METRIC_MESSAGING_CLIENT_SENT_MESSAGES = exports.METRIC_MESSAGING_CLIENT_OPERATION_DURATION = exports.METRIC_MESSAGING_CLIENT_CONSUMED_MESSAGES = exports.MESSAGING_SYSTEM_VALUE_KAFKA = exports.MESSAGING_OPERATION_TYPE_VALUE_SEND = exports.MESSAGING_OPERATION_TYPE_VALUE_RECEIVE = exports.MESSAGING_OPERATION_TYPE_VALUE_PROCESS = exports.ATTR_MESSAGING_SYSTEM = exports.ATTR_MESSAGING_OPERATION_TYPE = exports.ATTR_MESSAGING_OPERATION_NAME = exports.ATTR_MESSAGING_KAFKA_OFFSET = exports.ATTR_MESSAGING_KAFKA_MESSAGE_TOMBSTONE = exports.ATTR_MESSAGING_KAFKA_MESSAGE_KEY = exports.ATTR_MESSAGING_DESTINATION_PARTITION_ID = exports.ATTR_MESSAGING_DESTINATION_NAME = exports.ATTR_MESSAGING_BATCH_MESSAGE_COUNT = undefined;
44907
46333
  exports.ATTR_MESSAGING_BATCH_MESSAGE_COUNT = "messaging.batch.message_count";
@@ -44924,7 +46350,7 @@ var require_semconv4 = __commonJS((exports) => {
44924
46350
  });
44925
46351
 
44926
46352
  // ../../node_modules/@opentelemetry/instrumentation-kafkajs/build/src/version.js
44927
- var require_version10 = __commonJS((exports) => {
46353
+ var require_version11 = __commonJS((exports) => {
44928
46354
  Object.defineProperty(exports, "__esModule", { value: true });
44929
46355
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
44930
46356
  exports.PACKAGE_VERSION = "0.13.0";
@@ -44940,8 +46366,8 @@ var require_instrumentation6 = __commonJS((exports) => {
44940
46366
  var semantic_conventions_1 = require_src2();
44941
46367
  var internal_types_1 = require_internal_types4();
44942
46368
  var propagator_1 = require_propagator();
44943
- var semconv_1 = require_semconv4();
44944
- var version_1 = require_version10();
46369
+ var semconv_1 = require_semconv5();
46370
+ var version_1 = require_version11();
44945
46371
  function prepareCounter(meter, value, attributes) {
44946
46372
  return (errorType) => {
44947
46373
  meter.add(value, {
@@ -45356,7 +46782,7 @@ var require_instrumentation6 = __commonJS((exports) => {
45356
46782
  });
45357
46783
 
45358
46784
  // ../../node_modules/@opentelemetry/instrumentation-kafkajs/build/src/index.js
45359
- var require_src15 = __commonJS((exports) => {
46785
+ var require_src16 = __commonJS((exports) => {
45360
46786
  Object.defineProperty(exports, "__esModule", { value: true });
45361
46787
  exports.KafkaJsInstrumentation = undefined;
45362
46788
  var instrumentation_1 = require_instrumentation6();
@@ -45375,7 +46801,7 @@ var import_instrumentation_kafkajs, INTEGRATION_NAME37 = "Kafka", instrumentKafk
45375
46801
  };
45376
46802
  }, kafkaIntegration;
45377
46803
  var init_kafka = __esm(() => {
45378
- import_instrumentation_kafkajs = __toESM(require_src15(), 1);
46804
+ import_instrumentation_kafkajs = __toESM(require_src16(), 1);
45379
46805
  init_esm();
45380
46806
  init_esm5();
45381
46807
  instrumentKafka = generateInstrumentOnce(INTEGRATION_NAME37, () => new import_instrumentation_kafkajs.KafkaJsInstrumentation({
@@ -45390,7 +46816,7 @@ var init_kafka = __esm(() => {
45390
46816
  });
45391
46817
 
45392
46818
  // ../../node_modules/@opentelemetry/instrumentation-lru-memoizer/build/src/version.js
45393
- var require_version11 = __commonJS((exports) => {
46819
+ var require_version12 = __commonJS((exports) => {
45394
46820
  Object.defineProperty(exports, "__esModule", { value: true });
45395
46821
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
45396
46822
  exports.PACKAGE_VERSION = "0.48.0";
@@ -45403,7 +46829,7 @@ var require_instrumentation7 = __commonJS((exports) => {
45403
46829
  exports.LruMemoizerInstrumentation = undefined;
45404
46830
  var api_1 = require_src();
45405
46831
  var instrumentation_1 = require_src6();
45406
- var version_1 = require_version11();
46832
+ var version_1 = require_version12();
45407
46833
 
45408
46834
  class LruMemoizerInstrumentation extends instrumentation_1.InstrumentationBase {
45409
46835
  constructor(config = {}) {
@@ -45432,7 +46858,7 @@ var require_instrumentation7 = __commonJS((exports) => {
45432
46858
  });
45433
46859
 
45434
46860
  // ../../node_modules/@opentelemetry/instrumentation-lru-memoizer/build/src/index.js
45435
- var require_src16 = __commonJS((exports) => {
46861
+ var require_src17 = __commonJS((exports) => {
45436
46862
  Object.defineProperty(exports, "__esModule", { value: true });
45437
46863
  exports.LruMemoizerInstrumentation = undefined;
45438
46864
  var instrumentation_1 = require_instrumentation7();
@@ -45451,7 +46877,7 @@ var import_instrumentation_lru_memoizer, INTEGRATION_NAME38 = "LruMemoizer", ins
45451
46877
  };
45452
46878
  }, lruMemoizerIntegration;
45453
46879
  var init_lrumemoizer = __esm(() => {
45454
- import_instrumentation_lru_memoizer = __toESM(require_src16(), 1);
46880
+ import_instrumentation_lru_memoizer = __toESM(require_src17(), 1);
45455
46881
  init_esm();
45456
46882
  init_esm5();
45457
46883
  instrumentLruMemoizer = generateInstrumentOnce(INTEGRATION_NAME38, () => new import_instrumentation_lru_memoizer.LruMemoizerInstrumentation);
@@ -45474,7 +46900,7 @@ var require_internal_types5 = __commonJS((exports) => {
45474
46900
  });
45475
46901
 
45476
46902
  // ../../node_modules/@opentelemetry/instrumentation-mongodb/build/src/version.js
45477
- var require_version12 = __commonJS((exports) => {
46903
+ var require_version13 = __commonJS((exports) => {
45478
46904
  Object.defineProperty(exports, "__esModule", { value: true });
45479
46905
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
45480
46906
  exports.PACKAGE_VERSION = "0.56.0";
@@ -45489,7 +46915,7 @@ var require_instrumentation8 = __commonJS((exports) => {
45489
46915
  var instrumentation_1 = require_src6();
45490
46916
  var semantic_conventions_1 = require_src2();
45491
46917
  var internal_types_1 = require_internal_types5();
45492
- var version_1 = require_version12();
46918
+ var version_1 = require_version13();
45493
46919
  var DEFAULT_CONFIG = {
45494
46920
  requireParentSpan: true
45495
46921
  };
@@ -46055,7 +47481,7 @@ var require_types2 = __commonJS((exports) => {
46055
47481
  });
46056
47482
 
46057
47483
  // ../../node_modules/@opentelemetry/instrumentation-mongodb/build/src/index.js
46058
- var require_src17 = __commonJS((exports) => {
47484
+ var require_src18 = __commonJS((exports) => {
46059
47485
  Object.defineProperty(exports, "__esModule", { value: true });
46060
47486
  exports.MongodbCommandType = exports.MongoDBInstrumentation = undefined;
46061
47487
  var instrumentation_1 = require_instrumentation8();
@@ -46110,7 +47536,7 @@ var import_instrumentation_mongodb, INTEGRATION_NAME39 = "Mongo", instrumentMong
46110
47536
  };
46111
47537
  }, mongoIntegration;
46112
47538
  var init_mongo = __esm(() => {
46113
- import_instrumentation_mongodb = __toESM(require_src17(), 1);
47539
+ import_instrumentation_mongodb = __toESM(require_src18(), 1);
46114
47540
  init_esm();
46115
47541
  init_esm5();
46116
47542
  instrumentMongo = generateInstrumentOnce(INTEGRATION_NAME39, () => new import_instrumentation_mongodb.MongoDBInstrumentation({
@@ -46123,7 +47549,7 @@ var init_mongo = __esm(() => {
46123
47549
  });
46124
47550
 
46125
47551
  // ../../node_modules/@opentelemetry/instrumentation-mongoose/build/src/utils.js
46126
- var require_utils13 = __commonJS((exports) => {
47552
+ var require_utils14 = __commonJS((exports) => {
46127
47553
  Object.defineProperty(exports, "__esModule", { value: true });
46128
47554
  exports.handleCallbackResponse = exports.handlePromiseResponse = exports.getAttributesFromCollection = undefined;
46129
47555
  var api_1 = require_src();
@@ -46190,7 +47616,7 @@ Mongoose Error Code: ${error5.code}` : ""}`
46190
47616
  });
46191
47617
 
46192
47618
  // ../../node_modules/@opentelemetry/instrumentation-mongoose/build/src/version.js
46193
- var require_version13 = __commonJS((exports) => {
47619
+ var require_version14 = __commonJS((exports) => {
46194
47620
  Object.defineProperty(exports, "__esModule", { value: true });
46195
47621
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
46196
47622
  exports.PACKAGE_VERSION = "0.50.0";
@@ -46202,10 +47628,10 @@ var require_mongoose = __commonJS((exports) => {
46202
47628
  Object.defineProperty(exports, "__esModule", { value: true });
46203
47629
  exports.MongooseInstrumentation = exports._STORED_PARENT_SPAN = undefined;
46204
47630
  var api_1 = require_src();
46205
- var core_1 = require_src3();
46206
- var utils_1 = require_utils13();
47631
+ var core_1 = require_src8();
47632
+ var utils_1 = require_utils14();
46207
47633
  var instrumentation_1 = require_src6();
46208
- var version_1 = require_version13();
47634
+ var version_1 = require_version14();
46209
47635
  var semantic_conventions_1 = require_src2();
46210
47636
  var contextCaptureFunctionsCommon = [
46211
47637
  "deleteOne",
@@ -46450,7 +47876,7 @@ var require_mongoose = __commonJS((exports) => {
46450
47876
  });
46451
47877
 
46452
47878
  // ../../node_modules/@opentelemetry/instrumentation-mongoose/build/src/index.js
46453
- var require_src18 = __commonJS((exports) => {
47879
+ var require_src19 = __commonJS((exports) => {
46454
47880
  Object.defineProperty(exports, "__esModule", { value: true });
46455
47881
  exports.MongooseInstrumentation = undefined;
46456
47882
  var mongoose_1 = require_mongoose();
@@ -46469,7 +47895,7 @@ var import_instrumentation_mongoose, INTEGRATION_NAME40 = "Mongoose", instrument
46469
47895
  };
46470
47896
  }, mongooseIntegration;
46471
47897
  var init_mongoose = __esm(() => {
46472
- import_instrumentation_mongoose = __toESM(require_src18(), 1);
47898
+ import_instrumentation_mongoose = __toESM(require_src19(), 1);
46473
47899
  init_esm();
46474
47900
  init_esm5();
46475
47901
  instrumentMongoose = generateInstrumentOnce(INTEGRATION_NAME40, () => new import_instrumentation_mongoose.MongooseInstrumentation({
@@ -46491,7 +47917,7 @@ var require_AttributeNames4 = __commonJS((exports) => {
46491
47917
  });
46492
47918
 
46493
47919
  // ../../node_modules/@opentelemetry/instrumentation-mysql/build/src/utils.js
46494
- var require_utils14 = __commonJS((exports) => {
47920
+ var require_utils15 = __commonJS((exports) => {
46495
47921
  Object.defineProperty(exports, "__esModule", { value: true });
46496
47922
  exports.getPoolName = exports.arrayStringifyHelper = exports.getSpanName = exports.getDbValues = exports.getDbStatement = exports.getConnectionAttributes = undefined;
46497
47923
  var semantic_conventions_1 = require_src2();
@@ -46576,7 +48002,7 @@ var require_utils14 = __commonJS((exports) => {
46576
48002
  });
46577
48003
 
46578
48004
  // ../../node_modules/@opentelemetry/instrumentation-mysql/build/src/version.js
46579
- var require_version14 = __commonJS((exports) => {
48005
+ var require_version15 = __commonJS((exports) => {
46580
48006
  Object.defineProperty(exports, "__esModule", { value: true });
46581
48007
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
46582
48008
  exports.PACKAGE_VERSION = "0.49.0";
@@ -46591,8 +48017,8 @@ var require_instrumentation9 = __commonJS((exports) => {
46591
48017
  var instrumentation_1 = require_src6();
46592
48018
  var semantic_conventions_1 = require_src2();
46593
48019
  var AttributeNames_1 = require_AttributeNames4();
46594
- var utils_1 = require_utils14();
46595
- var version_1 = require_version14();
48020
+ var utils_1 = require_utils15();
48021
+ var version_1 = require_version15();
46596
48022
 
46597
48023
  class MySQLInstrumentation extends instrumentation_1.InstrumentationBase {
46598
48024
  static COMMON_ATTRIBUTES = {
@@ -46842,7 +48268,7 @@ var require_instrumentation9 = __commonJS((exports) => {
46842
48268
  });
46843
48269
 
46844
48270
  // ../../node_modules/@opentelemetry/instrumentation-mysql/build/src/index.js
46845
- var require_src19 = __commonJS((exports) => {
48271
+ var require_src20 = __commonJS((exports) => {
46846
48272
  Object.defineProperty(exports, "__esModule", { value: true });
46847
48273
  exports.MySQLInstrumentation = undefined;
46848
48274
  var instrumentation_1 = require_instrumentation9();
@@ -46861,7 +48287,7 @@ var import_instrumentation_mysql, INTEGRATION_NAME41 = "Mysql", instrumentMysql,
46861
48287
  };
46862
48288
  }, mysqlIntegration;
46863
48289
  var init_mysql = __esm(() => {
46864
- import_instrumentation_mysql = __toESM(require_src19(), 1);
48290
+ import_instrumentation_mysql = __toESM(require_src20(), 1);
46865
48291
  init_esm();
46866
48292
  init_esm5();
46867
48293
  instrumentMysql = generateInstrumentOnce(INTEGRATION_NAME41, () => new import_instrumentation_mysql.MySQLInstrumentation({}));
@@ -46869,11 +48295,11 @@ var init_mysql = __esm(() => {
46869
48295
  });
46870
48296
 
46871
48297
  // ../../node_modules/@opentelemetry/sql-common/build/src/index.js
46872
- var require_src20 = __commonJS((exports) => {
48298
+ var require_src21 = __commonJS((exports) => {
46873
48299
  Object.defineProperty(exports, "__esModule", { value: true });
46874
48300
  exports.addSqlCommenterComment = undefined;
46875
48301
  var api_1 = require_src();
46876
- var core_1 = require_src3();
48302
+ var core_1 = require_src8();
46877
48303
  function hasValidSqlComment(query) {
46878
48304
  const indexOpeningDashDashComment = query.indexOf("--");
46879
48305
  if (indexOpeningDashDashComment >= 0) {
@@ -46913,7 +48339,7 @@ var require_src20 = __commonJS((exports) => {
46913
48339
  });
46914
48340
 
46915
48341
  // ../../node_modules/@opentelemetry/instrumentation-mysql2/build/src/utils.js
46916
- var require_utils15 = __commonJS((exports) => {
48342
+ var require_utils16 = __commonJS((exports) => {
46917
48343
  Object.defineProperty(exports, "__esModule", { value: true });
46918
48344
  exports.getConnectionPrototypeToInstrument = exports.once = exports.getSpanName = exports.getDbStatement = exports.getConnectionAttributes = undefined;
46919
48345
  var semantic_conventions_1 = require_src2();
@@ -47003,7 +48429,7 @@ var require_utils15 = __commonJS((exports) => {
47003
48429
  });
47004
48430
 
47005
48431
  // ../../node_modules/@opentelemetry/instrumentation-mysql2/build/src/version.js
47006
- var require_version15 = __commonJS((exports) => {
48432
+ var require_version16 = __commonJS((exports) => {
47007
48433
  Object.defineProperty(exports, "__esModule", { value: true });
47008
48434
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
47009
48435
  exports.PACKAGE_VERSION = "0.50.0";
@@ -47017,9 +48443,9 @@ var require_instrumentation10 = __commonJS((exports) => {
47017
48443
  var api2 = require_src();
47018
48444
  var instrumentation_1 = require_src6();
47019
48445
  var semantic_conventions_1 = require_src2();
47020
- var sql_common_1 = require_src20();
47021
- var utils_1 = require_utils15();
47022
- var version_1 = require_version15();
48446
+ var sql_common_1 = require_src21();
48447
+ var utils_1 = require_utils16();
48448
+ var version_1 = require_version16();
47023
48449
  var supportedVersions = [">=1.4.2 <4"];
47024
48450
 
47025
48451
  class MySQL2Instrumentation extends instrumentation_1.InstrumentationBase {
@@ -47151,7 +48577,7 @@ var require_instrumentation10 = __commonJS((exports) => {
47151
48577
  });
47152
48578
 
47153
48579
  // ../../node_modules/@opentelemetry/instrumentation-mysql2/build/src/index.js
47154
- var require_src21 = __commonJS((exports) => {
48580
+ var require_src22 = __commonJS((exports) => {
47155
48581
  Object.defineProperty(exports, "__esModule", { value: true });
47156
48582
  exports.MySQL2Instrumentation = undefined;
47157
48583
  var instrumentation_1 = require_instrumentation10();
@@ -47170,7 +48596,7 @@ var import_instrumentation_mysql2, INTEGRATION_NAME42 = "Mysql2", instrumentMysq
47170
48596
  };
47171
48597
  }, mysql2Integration;
47172
48598
  var init_mysql2 = __esm(() => {
47173
- import_instrumentation_mysql2 = __toESM(require_src21(), 1);
48599
+ import_instrumentation_mysql2 = __toESM(require_src22(), 1);
47174
48600
  init_esm();
47175
48601
  init_esm5();
47176
48602
  instrumentMysql2 = generateInstrumentOnce(INTEGRATION_NAME42, () => new import_instrumentation_mysql2.MySQL2Instrumentation({
@@ -47182,7 +48608,7 @@ var init_mysql2 = __esm(() => {
47182
48608
  });
47183
48609
 
47184
48610
  // ../../node_modules/@opentelemetry/instrumentation-ioredis/build/src/utils.js
47185
- var require_utils16 = __commonJS((exports) => {
48611
+ var require_utils17 = __commonJS((exports) => {
47186
48612
  Object.defineProperty(exports, "__esModule", { value: true });
47187
48613
  exports.endSpan = undefined;
47188
48614
  var api_1 = require_src();
@@ -47200,7 +48626,7 @@ var require_utils16 = __commonJS((exports) => {
47200
48626
  });
47201
48627
 
47202
48628
  // ../../node_modules/@opentelemetry/redis-common/build/src/index.js
47203
- var require_src22 = __commonJS((exports) => {
48629
+ var require_src23 = __commonJS((exports) => {
47204
48630
  Object.defineProperty(exports, "__esModule", { value: true });
47205
48631
  exports.defaultDbStatementSerializer = undefined;
47206
48632
  var serializationSubsets = [
@@ -47238,7 +48664,7 @@ var require_src22 = __commonJS((exports) => {
47238
48664
  });
47239
48665
 
47240
48666
  // ../../node_modules/@opentelemetry/instrumentation-ioredis/build/src/version.js
47241
- var require_version16 = __commonJS((exports) => {
48667
+ var require_version17 = __commonJS((exports) => {
47242
48668
  Object.defineProperty(exports, "__esModule", { value: true });
47243
48669
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
47244
48670
  exports.PACKAGE_VERSION = "0.51.0";
@@ -47253,9 +48679,9 @@ var require_instrumentation11 = __commonJS((exports) => {
47253
48679
  var instrumentation_1 = require_src6();
47254
48680
  var semantic_conventions_1 = require_src2();
47255
48681
  var instrumentation_2 = require_src6();
47256
- var utils_1 = require_utils16();
47257
- var redis_common_1 = require_src22();
47258
- var version_1 = require_version16();
48682
+ var utils_1 = require_utils17();
48683
+ var redis_common_1 = require_src23();
48684
+ var version_1 = require_version17();
47259
48685
  var DEFAULT_CONFIG = {
47260
48686
  requireParentSpan: true
47261
48687
  };
@@ -47395,7 +48821,7 @@ var require_instrumentation11 = __commonJS((exports) => {
47395
48821
  });
47396
48822
 
47397
48823
  // ../../node_modules/@opentelemetry/instrumentation-ioredis/build/src/index.js
47398
- var require_src23 = __commonJS((exports) => {
48824
+ var require_src24 = __commonJS((exports) => {
47399
48825
  Object.defineProperty(exports, "__esModule", { value: true });
47400
48826
  exports.IORedisInstrumentation = undefined;
47401
48827
  var instrumentation_1 = require_instrumentation11();
@@ -47405,7 +48831,7 @@ var require_src23 = __commonJS((exports) => {
47405
48831
  });
47406
48832
 
47407
48833
  // ../../node_modules/@opentelemetry/instrumentation-redis/build/src/version.js
47408
- var require_version17 = __commonJS((exports) => {
48834
+ var require_version18 = __commonJS((exports) => {
47409
48835
  Object.defineProperty(exports, "__esModule", { value: true });
47410
48836
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
47411
48837
  exports.PACKAGE_VERSION = "0.51.0";
@@ -47413,7 +48839,7 @@ var require_version17 = __commonJS((exports) => {
47413
48839
  });
47414
48840
 
47415
48841
  // ../../node_modules/@opentelemetry/instrumentation-redis/build/src/v2-v3/utils.js
47416
- var require_utils17 = __commonJS((exports) => {
48842
+ var require_utils18 = __commonJS((exports) => {
47417
48843
  Object.defineProperty(exports, "__esModule", { value: true });
47418
48844
  exports.getTracedCreateStreamTrace = exports.getTracedCreateClient = exports.endSpan = undefined;
47419
48845
  var api_1 = require_src();
@@ -47458,11 +48884,11 @@ var require_instrumentation12 = __commonJS((exports) => {
47458
48884
  Object.defineProperty(exports, "__esModule", { value: true });
47459
48885
  exports.RedisInstrumentationV2_V3 = undefined;
47460
48886
  var instrumentation_1 = require_src6();
47461
- var utils_1 = require_utils17();
47462
- var version_1 = require_version17();
48887
+ var utils_1 = require_utils18();
48888
+ var version_1 = require_version18();
47463
48889
  var api_1 = require_src();
47464
48890
  var semantic_conventions_1 = require_src2();
47465
- var redis_common_1 = require_src22();
48891
+ var redis_common_1 = require_src23();
47466
48892
 
47467
48893
  class RedisInstrumentationV2_V3 extends instrumentation_1.InstrumentationBase {
47468
48894
  static COMPONENT = "redis";
@@ -47565,7 +48991,7 @@ var require_instrumentation12 = __commonJS((exports) => {
47565
48991
  });
47566
48992
 
47567
48993
  // ../../node_modules/@opentelemetry/instrumentation-redis/build/src/v4/utils.js
47568
- var require_utils18 = __commonJS((exports) => {
48994
+ var require_utils19 = __commonJS((exports) => {
47569
48995
  Object.defineProperty(exports, "__esModule", { value: true });
47570
48996
  exports.getClientAttributes = undefined;
47571
48997
  var semantic_conventions_1 = require_src2();
@@ -47601,9 +49027,9 @@ var require_instrumentation13 = __commonJS((exports) => {
47601
49027
  exports.RedisInstrumentationV4 = undefined;
47602
49028
  var api_1 = require_src();
47603
49029
  var instrumentation_1 = require_src6();
47604
- var utils_1 = require_utils18();
47605
- var redis_common_1 = require_src22();
47606
- var version_1 = require_version17();
49030
+ var utils_1 = require_utils19();
49031
+ var redis_common_1 = require_src23();
49032
+ var version_1 = require_version18();
47607
49033
  var semantic_conventions_1 = require_src2();
47608
49034
  var OTEL_OPEN_SPANS = Symbol("opentelemetry.instrumentation.redis.open_spans");
47609
49035
  var MULTI_COMMAND_OPTIONS = Symbol("opentelemetry.instrumentation.redis.multi_command_options");
@@ -47873,7 +49299,7 @@ var require_redis = __commonJS((exports) => {
47873
49299
  Object.defineProperty(exports, "__esModule", { value: true });
47874
49300
  exports.RedisInstrumentation = undefined;
47875
49301
  var instrumentation_1 = require_src6();
47876
- var version_1 = require_version17();
49302
+ var version_1 = require_version18();
47877
49303
  var instrumentation_2 = require_instrumentation12();
47878
49304
  var instrumentation_3 = require_instrumentation13();
47879
49305
  var DEFAULT_CONFIG = {
@@ -47930,7 +49356,7 @@ var require_redis = __commonJS((exports) => {
47930
49356
  });
47931
49357
 
47932
49358
  // ../../node_modules/@opentelemetry/instrumentation-redis/build/src/index.js
47933
- var require_src24 = __commonJS((exports) => {
49359
+ var require_src25 = __commonJS((exports) => {
47934
49360
  Object.defineProperty(exports, "__esModule", { value: true });
47935
49361
  exports.RedisInstrumentation = undefined;
47936
49362
  var redis_1 = require_redis();
@@ -48067,8 +49493,8 @@ var import_instrumentation_ioredis, import_instrumentation_redis, INTEGRATION_NA
48067
49493
  };
48068
49494
  }, redisIntegration;
48069
49495
  var init_redis = __esm(() => {
48070
- import_instrumentation_ioredis = __toESM(require_src23(), 1);
48071
- import_instrumentation_redis = __toESM(require_src24(), 1);
49496
+ import_instrumentation_ioredis = __toESM(require_src24(), 1);
49497
+ import_instrumentation_redis = __toESM(require_src25(), 1);
48072
49498
  init_esm();
48073
49499
  init_esm5();
48074
49500
  init_redisCache();
@@ -48111,7 +49537,7 @@ var require_AttributeNames5 = __commonJS((exports) => {
48111
49537
  });
48112
49538
 
48113
49539
  // ../../node_modules/@opentelemetry/instrumentation-pg/build/src/semconv.js
48114
- var require_semconv5 = __commonJS((exports) => {
49540
+ var require_semconv6 = __commonJS((exports) => {
48115
49541
  Object.defineProperty(exports, "__esModule", { value: true });
48116
49542
  exports.METRIC_DB_CLIENT_OPERATION_DURATION = exports.METRIC_DB_CLIENT_CONNECTION_PENDING_REQUESTS = exports.METRIC_DB_CLIENT_CONNECTION_COUNT = exports.DB_CLIENT_CONNECTION_STATE_VALUE_IDLE = exports.DB_CLIENT_CONNECTION_STATE_VALUE_USED = exports.ATTR_DB_OPERATION_NAME = exports.ATTR_DB_NAMESPACE = exports.ATTR_DB_CLIENT_CONNECTION_STATE = exports.ATTR_DB_CLIENT_CONNECTION_POOL_NAME = undefined;
48117
49543
  exports.ATTR_DB_CLIENT_CONNECTION_POOL_NAME = "db.client.connection.pool.name";
@@ -48138,13 +49564,13 @@ var require_SpanNames = __commonJS((exports) => {
48138
49564
  });
48139
49565
 
48140
49566
  // ../../node_modules/@opentelemetry/instrumentation-pg/build/src/utils.js
48141
- var require_utils19 = __commonJS((exports) => {
49567
+ var require_utils20 = __commonJS((exports) => {
48142
49568
  Object.defineProperty(exports, "__esModule", { value: true });
48143
49569
  exports.isObjectWithTextString = exports.getErrorMessage = exports.patchClientConnectCallback = exports.patchCallbackPGPool = exports.updateCounter = exports.getPoolName = exports.patchCallback = exports.handleExecutionResult = exports.handleConfigQuery = exports.shouldSkipInstrumentation = exports.getSemanticAttributesFromPool = exports.getSemanticAttributesFromConnection = exports.getConnectionString = exports.parseAndMaskConnectionString = exports.parseNormalizedOperationName = exports.getQuerySpanName = undefined;
48144
49570
  var api_1 = require_src();
48145
49571
  var AttributeNames_1 = require_AttributeNames5();
48146
49572
  var semantic_conventions_1 = require_src2();
48147
- var semconv_1 = require_semconv5();
49573
+ var semconv_1 = require_semconv6();
48148
49574
  var instrumentation_1 = require_src6();
48149
49575
  var SpanNames_1 = require_SpanNames();
48150
49576
  function getQuerySpanName(dbName, queryConfig) {
@@ -48360,7 +49786,7 @@ var require_utils19 = __commonJS((exports) => {
48360
49786
  });
48361
49787
 
48362
49788
  // ../../node_modules/@opentelemetry/instrumentation-pg/build/src/version.js
48363
- var require_version18 = __commonJS((exports) => {
49789
+ var require_version19 = __commonJS((exports) => {
48364
49790
  Object.defineProperty(exports, "__esModule", { value: true });
48365
49791
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
48366
49792
  exports.PACKAGE_VERSION = "0.55.0";
@@ -48374,13 +49800,13 @@ var require_instrumentation14 = __commonJS((exports) => {
48374
49800
  var instrumentation_1 = require_src6();
48375
49801
  var api_1 = require_src();
48376
49802
  var internal_types_1 = require_internal_types6();
48377
- var utils = require_utils19();
48378
- var sql_common_1 = require_src20();
48379
- var version_1 = require_version18();
49803
+ var utils = require_utils20();
49804
+ var sql_common_1 = require_src21();
49805
+ var version_1 = require_version19();
48380
49806
  var SpanNames_1 = require_SpanNames();
48381
- var core_1 = require_src3();
49807
+ var core_1 = require_src8();
48382
49808
  var semantic_conventions_1 = require_src2();
48383
- var semconv_1 = require_semconv5();
49809
+ var semconv_1 = require_semconv6();
48384
49810
  function extractModuleExports(module2) {
48385
49811
  return module2[Symbol.toStringTag] === "Module" ? module2.default : module2;
48386
49812
  }
@@ -48699,7 +50125,7 @@ var require_instrumentation14 = __commonJS((exports) => {
48699
50125
  });
48700
50126
 
48701
50127
  // ../../node_modules/@opentelemetry/instrumentation-pg/build/src/index.js
48702
- var require_src25 = __commonJS((exports) => {
50128
+ var require_src26 = __commonJS((exports) => {
48703
50129
  Object.defineProperty(exports, "__esModule", { value: true });
48704
50130
  exports.AttributeNames = exports.PgInstrumentation = undefined;
48705
50131
  var instrumentation_1 = require_instrumentation14();
@@ -48722,7 +50148,7 @@ var import_instrumentation_pg, INTEGRATION_NAME44 = "Postgres", instrumentPostgr
48722
50148
  };
48723
50149
  }, postgresIntegration;
48724
50150
  var init_postgres = __esm(() => {
48725
- import_instrumentation_pg = __toESM(require_src25(), 1);
50151
+ import_instrumentation_pg = __toESM(require_src26(), 1);
48726
50152
  init_esm();
48727
50153
  init_esm5();
48728
50154
  instrumentPostgres = generateInstrumentOnce(INTEGRATION_NAME44, () => new import_instrumentation_pg.PgInstrumentation({
@@ -48991,27 +50417,27 @@ var require_ProxyLoggerProvider2 = __commonJS((exports) => {
48991
50417
  });
48992
50418
 
48993
50419
  // ../../node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/node_modules/@opentelemetry/api-logs/build/src/platform/node/globalThis.js
48994
- var require_globalThis4 = __commonJS((exports) => {
50420
+ var require_globalThis5 = __commonJS((exports) => {
48995
50421
  Object.defineProperty(exports, "__esModule", { value: true });
48996
50422
  exports._globalThis = undefined;
48997
50423
  exports._globalThis = typeof globalThis === "object" ? globalThis : global;
48998
50424
  });
48999
50425
 
49000
50426
  // ../../node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/node_modules/@opentelemetry/api-logs/build/src/platform/node/index.js
49001
- var require_node9 = __commonJS((exports) => {
50427
+ var require_node10 = __commonJS((exports) => {
49002
50428
  Object.defineProperty(exports, "__esModule", { value: true });
49003
50429
  exports._globalThis = undefined;
49004
- var globalThis_1 = require_globalThis4();
50430
+ var globalThis_1 = require_globalThis5();
49005
50431
  Object.defineProperty(exports, "_globalThis", { enumerable: true, get: function() {
49006
50432
  return globalThis_1._globalThis;
49007
50433
  } });
49008
50434
  });
49009
50435
 
49010
50436
  // ../../node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/node_modules/@opentelemetry/api-logs/build/src/platform/index.js
49011
- var require_platform8 = __commonJS((exports) => {
50437
+ var require_platform9 = __commonJS((exports) => {
49012
50438
  Object.defineProperty(exports, "__esModule", { value: true });
49013
50439
  exports._globalThis = undefined;
49014
- var node_1 = require_node9();
50440
+ var node_1 = require_node10();
49015
50441
  Object.defineProperty(exports, "_globalThis", { enumerable: true, get: function() {
49016
50442
  return node_1._globalThis;
49017
50443
  } });
@@ -49021,7 +50447,7 @@ var require_platform8 = __commonJS((exports) => {
49021
50447
  var require_global_utils3 = __commonJS((exports) => {
49022
50448
  Object.defineProperty(exports, "__esModule", { value: true });
49023
50449
  exports.API_BACKWARDS_COMPATIBILITY_VERSION = exports.makeGetter = exports._global = exports.GLOBAL_LOGS_API_KEY = undefined;
49024
- var platform_1 = require_platform8();
50450
+ var platform_1 = require_platform9();
49025
50451
  exports.GLOBAL_LOGS_API_KEY = Symbol.for("io.opentelemetry.js.api.logs");
49026
50452
  exports._global = platform_1._globalThis;
49027
50453
  function makeGetter(requiredVersion, instance, fallback) {
@@ -49073,7 +50499,7 @@ var require_logs2 = __commonJS((exports) => {
49073
50499
  });
49074
50500
 
49075
50501
  // ../../node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/node_modules/@opentelemetry/api-logs/build/src/index.js
49076
- var require_src26 = __commonJS((exports) => {
50502
+ var require_src27 = __commonJS((exports) => {
49077
50503
  Object.defineProperty(exports, "__esModule", { value: true });
49078
50504
  exports.logs = exports.ProxyLoggerProvider = exports.ProxyLogger = exports.NoopLoggerProvider = exports.NOOP_LOGGER_PROVIDER = exports.NoopLogger = exports.NOOP_LOGGER = exports.SeverityNumber = undefined;
49079
50505
  var LogRecord_1 = require_LogRecord2();
@@ -49139,7 +50565,7 @@ var require_autoLoader2 = __commonJS((exports) => {
49139
50565
  Object.defineProperty(exports, "__esModule", { value: true });
49140
50566
  exports.registerInstrumentations = undefined;
49141
50567
  var api_1 = require_src();
49142
- var api_logs_1 = require_src26();
50568
+ var api_logs_1 = require_src27();
49143
50569
  var autoLoaderUtils_1 = require_autoLoaderUtils2();
49144
50570
  function registerInstrumentations3(options) {
49145
50571
  var _a, _b;
@@ -49263,7 +50689,7 @@ var require_instrumentation15 = __commonJS((exports) => {
49263
50689
  Object.defineProperty(exports, "__esModule", { value: true });
49264
50690
  exports.InstrumentationAbstract = undefined;
49265
50691
  var api_1 = require_src();
49266
- var api_logs_1 = require_src26();
50692
+ var api_logs_1 = require_src27();
49267
50693
  var shimmer = require_shimmer2();
49268
50694
 
49269
50695
  class InstrumentationAbstract {
@@ -49452,7 +50878,7 @@ var require_RequireInTheMiddleSingleton2 = __commonJS((exports) => {
49452
50878
  });
49453
50879
 
49454
50880
  // ../../node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/src/utils.js
49455
- var require_utils20 = __commonJS((exports) => {
50881
+ var require_utils21 = __commonJS((exports) => {
49456
50882
  Object.defineProperty(exports, "__esModule", { value: true });
49457
50883
  exports.isWrapped = exports.safeExecuteInTheMiddleAsync = exports.safeExecuteInTheMiddle = undefined;
49458
50884
  function safeExecuteInTheMiddle3(execute, onFinish, preventThrowingError) {
@@ -49507,7 +50933,7 @@ var require_instrumentation16 = __commonJS((exports) => {
49507
50933
  var api_1 = require_src();
49508
50934
  var require_in_the_middle_1 = require_require_in_the_middle();
49509
50935
  var fs_1 = __require("fs");
49510
- var utils_1 = require_utils20();
50936
+ var utils_1 = require_utils21();
49511
50937
 
49512
50938
  class InstrumentationBase6 extends instrumentation_1.InstrumentationAbstract {
49513
50939
  constructor(instrumentationName, instrumentationVersion, config) {
@@ -49750,7 +51176,7 @@ var require_normalize2 = __commonJS((exports) => {
49750
51176
  });
49751
51177
 
49752
51178
  // ../../node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/src/platform/node/index.js
49753
- var require_node10 = __commonJS((exports) => {
51179
+ var require_node11 = __commonJS((exports) => {
49754
51180
  Object.defineProperty(exports, "__esModule", { value: true });
49755
51181
  exports.normalize = exports.InstrumentationBase = undefined;
49756
51182
  var instrumentation_1 = require_instrumentation16();
@@ -49764,10 +51190,10 @@ var require_node10 = __commonJS((exports) => {
49764
51190
  });
49765
51191
 
49766
51192
  // ../../node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/src/platform/index.js
49767
- var require_platform9 = __commonJS((exports) => {
51193
+ var require_platform10 = __commonJS((exports) => {
49768
51194
  Object.defineProperty(exports, "__esModule", { value: true });
49769
51195
  exports.normalize = exports.InstrumentationBase = undefined;
49770
- var node_1 = require_node10();
51196
+ var node_1 = require_node11();
49771
51197
  Object.defineProperty(exports, "InstrumentationBase", { enumerable: true, get: function() {
49772
51198
  return node_1.InstrumentationBase;
49773
51199
  } });
@@ -49797,7 +51223,7 @@ var require_instrumentationNodeModuleDefinition2 = __commonJS((exports) => {
49797
51223
  var require_instrumentationNodeModuleFile2 = __commonJS((exports) => {
49798
51224
  Object.defineProperty(exports, "__esModule", { value: true });
49799
51225
  exports.InstrumentationNodeModuleFile = undefined;
49800
- var index_1 = require_platform9();
51226
+ var index_1 = require_platform10();
49801
51227
 
49802
51228
  class InstrumentationNodeModuleFile2 {
49803
51229
  constructor(name, supportedVersions, patch, unpatch) {
@@ -49811,14 +51237,14 @@ var require_instrumentationNodeModuleFile2 = __commonJS((exports) => {
49811
51237
  });
49812
51238
 
49813
51239
  // ../../node_modules/@prisma/instrumentation/node_modules/@opentelemetry/instrumentation/build/src/index.js
49814
- var require_src27 = __commonJS((exports) => {
51240
+ var require_src28 = __commonJS((exports) => {
49815
51241
  Object.defineProperty(exports, "__esModule", { value: true });
49816
51242
  exports.safeExecuteInTheMiddleAsync = exports.safeExecuteInTheMiddle = exports.isWrapped = exports.InstrumentationNodeModuleFile = exports.InstrumentationNodeModuleDefinition = exports.InstrumentationBase = exports.registerInstrumentations = undefined;
49817
51243
  var autoLoader_1 = require_autoLoader2();
49818
51244
  Object.defineProperty(exports, "registerInstrumentations", { enumerable: true, get: function() {
49819
51245
  return autoLoader_1.registerInstrumentations;
49820
51246
  } });
49821
- var index_1 = require_platform9();
51247
+ var index_1 = require_platform10();
49822
51248
  Object.defineProperty(exports, "InstrumentationBase", { enumerable: true, get: function() {
49823
51249
  return index_1.InstrumentationBase;
49824
51250
  } });
@@ -49830,7 +51256,7 @@ var require_src27 = __commonJS((exports) => {
49830
51256
  Object.defineProperty(exports, "InstrumentationNodeModuleFile", { enumerable: true, get: function() {
49831
51257
  return instrumentationNodeModuleFile_1.InstrumentationNodeModuleFile;
49832
51258
  } });
49833
- var utils_1 = require_utils20();
51259
+ var utils_1 = require_utils21();
49834
51260
  Object.defineProperty(exports, "isWrapped", { enumerable: true, get: function() {
49835
51261
  return utils_1.isWrapped;
49836
51262
  } });
@@ -49953,7 +51379,7 @@ var import_api16, import_instrumentation10, import_api17, showAllTraces, nonSamp
49953
51379
  }, package_default, VERSION, majorVersion, GLOBAL_INSTRUMENTATION_ACCESSOR_KEY = "PRISMA_INSTRUMENTATION", GLOBAL_VERSIONED_INSTRUMENTATION_ACCESSOR_KEY, NAME, MODULE_NAME = "@prisma/client", PrismaInstrumentation;
49954
51380
  var init_dist = __esm(() => {
49955
51381
  import_api16 = __toESM(require_src(), 1);
49956
- import_instrumentation10 = __toESM(require_src27(), 1);
51382
+ import_instrumentation10 = __toESM(require_src28(), 1);
49957
51383
  import_api17 = __toESM(require_src(), 1);
49958
51384
  showAllTraces = process.env.PRISMA_SHOW_ALL_TRACES === "true";
49959
51385
  package_default = {
@@ -50123,7 +51549,7 @@ var init_prisma = __esm(() => {
50123
51549
  });
50124
51550
 
50125
51551
  // ../../node_modules/@opentelemetry/instrumentation-hapi/build/src/version.js
50126
- var require_version19 = __commonJS((exports) => {
51552
+ var require_version20 = __commonJS((exports) => {
50127
51553
  Object.defineProperty(exports, "__esModule", { value: true });
50128
51554
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
50129
51555
  exports.PACKAGE_VERSION = "0.50.0";
@@ -50153,7 +51579,7 @@ var require_internal_types7 = __commonJS((exports) => {
50153
51579
  });
50154
51580
 
50155
51581
  // ../../node_modules/@opentelemetry/instrumentation-hapi/build/src/semconv.js
50156
- var require_semconv6 = __commonJS((exports) => {
51582
+ var require_semconv7 = __commonJS((exports) => {
50157
51583
  Object.defineProperty(exports, "__esModule", { value: true });
50158
51584
  exports.ATTR_HTTP_METHOD = undefined;
50159
51585
  exports.ATTR_HTTP_METHOD = "http.method";
@@ -50172,11 +51598,11 @@ var require_AttributeNames6 = __commonJS((exports) => {
50172
51598
  });
50173
51599
 
50174
51600
  // ../../node_modules/@opentelemetry/instrumentation-hapi/build/src/utils.js
50175
- var require_utils21 = __commonJS((exports) => {
51601
+ var require_utils22 = __commonJS((exports) => {
50176
51602
  Object.defineProperty(exports, "__esModule", { value: true });
50177
51603
  exports.getPluginFromInput = exports.getExtMetadata = exports.getRouteMetadata = exports.isPatchableExtMethod = exports.isDirectExtInput = exports.isLifecycleExtEventObj = exports.isLifecycleExtType = exports.getPluginName = undefined;
50178
51604
  var semantic_conventions_1 = require_src2();
50179
- var semconv_1 = require_semconv6();
51605
+ var semconv_1 = require_semconv7();
50180
51606
  var internal_types_1 = require_internal_types7();
50181
51607
  var AttributeNames_1 = require_AttributeNames6();
50182
51608
  var instrumentation_1 = require_src6();
@@ -50264,11 +51690,11 @@ var require_instrumentation17 = __commonJS((exports) => {
50264
51690
  Object.defineProperty(exports, "__esModule", { value: true });
50265
51691
  exports.HapiInstrumentation = undefined;
50266
51692
  var api2 = require_src();
50267
- var core_1 = require_src3();
51693
+ var core_1 = require_src8();
50268
51694
  var instrumentation_1 = require_src6();
50269
- var version_1 = require_version19();
51695
+ var version_1 = require_version20();
50270
51696
  var internal_types_1 = require_internal_types7();
50271
- var utils_1 = require_utils21();
51697
+ var utils_1 = require_utils22();
50272
51698
 
50273
51699
  class HapiInstrumentation extends instrumentation_1.InstrumentationBase {
50274
51700
  _semconvStability;
@@ -50469,7 +51895,7 @@ var require_instrumentation17 = __commonJS((exports) => {
50469
51895
  });
50470
51896
 
50471
51897
  // ../../node_modules/@opentelemetry/instrumentation-hapi/build/src/index.js
50472
- var require_src28 = __commonJS((exports) => {
51898
+ var require_src29 = __commonJS((exports) => {
50473
51899
  Object.defineProperty(exports, "__esModule", { value: true });
50474
51900
  exports.AttributeNames = exports.HapiInstrumentation = undefined;
50475
51901
  var instrumentation_1 = require_instrumentation17();
@@ -50527,7 +51953,7 @@ var import_instrumentation_hapi, INTEGRATION_NAME47 = "Hapi", instrumentHapi, _h
50527
51953
  };
50528
51954
  }, hapiIntegration, hapiErrorPlugin;
50529
51955
  var init_hapi = __esm(() => {
50530
- import_instrumentation_hapi = __toESM(require_src28(), 1);
51956
+ import_instrumentation_hapi = __toESM(require_src29(), 1);
50531
51957
  init_esm();
50532
51958
  init_esm5();
50533
51959
  init_debug_build5();
@@ -50567,7 +51993,7 @@ var require_types3 = __commonJS((exports) => {
50567
51993
  });
50568
51994
 
50569
51995
  // ../../node_modules/@opentelemetry/instrumentation-koa/build/src/version.js
50570
- var require_version20 = __commonJS((exports) => {
51996
+ var require_version21 = __commonJS((exports) => {
50571
51997
  Object.defineProperty(exports, "__esModule", { value: true });
50572
51998
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
50573
51999
  exports.PACKAGE_VERSION = "0.51.0";
@@ -50586,7 +52012,7 @@ var require_AttributeNames7 = __commonJS((exports) => {
50586
52012
  });
50587
52013
 
50588
52014
  // ../../node_modules/@opentelemetry/instrumentation-koa/build/src/utils.js
50589
- var require_utils22 = __commonJS((exports) => {
52015
+ var require_utils23 = __commonJS((exports) => {
50590
52016
  Object.defineProperty(exports, "__esModule", { value: true });
50591
52017
  exports.isLayerIgnored = exports.getMiddlewareMetadata = undefined;
50592
52018
  var types_1 = require_types3();
@@ -50633,9 +52059,9 @@ var require_instrumentation18 = __commonJS((exports) => {
50633
52059
  var api2 = require_src();
50634
52060
  var instrumentation_1 = require_src6();
50635
52061
  var types_1 = require_types3();
50636
- var version_1 = require_version20();
50637
- var utils_1 = require_utils22();
50638
- var core_1 = require_src3();
52062
+ var version_1 = require_version21();
52063
+ var utils_1 = require_utils23();
52064
+ var core_1 = require_src8();
50639
52065
  var internal_types_1 = require_internal_types8();
50640
52066
 
50641
52067
  class KoaInstrumentation extends instrumentation_1.InstrumentationBase {
@@ -50739,7 +52165,7 @@ var require_instrumentation18 = __commonJS((exports) => {
50739
52165
  });
50740
52166
 
50741
52167
  // ../../node_modules/@opentelemetry/instrumentation-koa/build/src/index.js
50742
- var require_src29 = __commonJS((exports) => {
52168
+ var require_src30 = __commonJS((exports) => {
50743
52169
  Object.defineProperty(exports, "__esModule", { value: true });
50744
52170
  exports.KoaLayerType = exports.AttributeNames = exports.KoaInstrumentation = undefined;
50745
52171
  var instrumentation_1 = require_instrumentation18();
@@ -50776,7 +52202,7 @@ var import_instrumentation_koa, import_semantic_conventions6, INTEGRATION_NAME48
50776
52202
  ensureIsWrapped(app.use, "koa");
50777
52203
  };
50778
52204
  var init_koa = __esm(() => {
50779
- import_instrumentation_koa = __toESM(require_src29(), 1);
52205
+ import_instrumentation_koa = __toESM(require_src30(), 1);
50780
52206
  import_semantic_conventions6 = __toESM(require_src2(), 1);
50781
52207
  init_esm();
50782
52208
  init_esm5();
@@ -50832,7 +52258,7 @@ var require_AttributeNames8 = __commonJS((exports) => {
50832
52258
  });
50833
52259
 
50834
52260
  // ../../node_modules/@opentelemetry/instrumentation-connect/build/src/version.js
50835
- var require_version21 = __commonJS((exports) => {
52261
+ var require_version22 = __commonJS((exports) => {
50836
52262
  Object.defineProperty(exports, "__esModule", { value: true });
50837
52263
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
50838
52264
  exports.PACKAGE_VERSION = "0.47.0";
@@ -50847,7 +52273,7 @@ var require_internal_types9 = __commonJS((exports) => {
50847
52273
  });
50848
52274
 
50849
52275
  // ../../node_modules/@opentelemetry/instrumentation-connect/build/src/utils.js
50850
- var require_utils23 = __commonJS((exports) => {
52276
+ var require_utils24 = __commonJS((exports) => {
50851
52277
  Object.defineProperty(exports, "__esModule", { value: true });
50852
52278
  exports.generateRoute = exports.replaceCurrentStackRoute = exports.addNewStackLayer = undefined;
50853
52279
  var api_1 = require_src();
@@ -50887,12 +52313,12 @@ var require_instrumentation19 = __commonJS((exports) => {
50887
52313
  Object.defineProperty(exports, "__esModule", { value: true });
50888
52314
  exports.ConnectInstrumentation = exports.ANONYMOUS_NAME = undefined;
50889
52315
  var api_1 = require_src();
50890
- var core_1 = require_src3();
52316
+ var core_1 = require_src8();
50891
52317
  var AttributeNames_1 = require_AttributeNames8();
50892
- var version_1 = require_version21();
52318
+ var version_1 = require_version22();
50893
52319
  var instrumentation_1 = require_src6();
50894
52320
  var semantic_conventions_1 = require_src2();
50895
- var utils_1 = require_utils23();
52321
+ var utils_1 = require_utils24();
50896
52322
  exports.ANONYMOUS_NAME = "anonymous";
50897
52323
 
50898
52324
  class ConnectInstrumentation extends instrumentation_1.InstrumentationBase {
@@ -51031,7 +52457,7 @@ var require_instrumentation19 = __commonJS((exports) => {
51031
52457
  });
51032
52458
 
51033
52459
  // ../../node_modules/@opentelemetry/instrumentation-connect/build/src/index.js
51034
- var require_src30 = __commonJS((exports) => {
52460
+ var require_src31 = __commonJS((exports) => {
51035
52461
  Object.defineProperty(exports, "__esModule", { value: true });
51036
52462
  exports.ConnectTypes = exports.ConnectNames = exports.AttributeNames = exports.ANONYMOUS_NAME = exports.ConnectInstrumentation = undefined;
51037
52463
  var instrumentation_1 = require_instrumentation19();
@@ -51091,7 +52517,7 @@ var import_instrumentation_connect, INTEGRATION_NAME49 = "Connect", instrumentCo
51091
52517
  ensureIsWrapped(app.use, "connect");
51092
52518
  };
51093
52519
  var init_connect = __esm(() => {
51094
- import_instrumentation_connect = __toESM(require_src30(), 1);
52520
+ import_instrumentation_connect = __toESM(require_src31(), 1);
51095
52521
  init_esm();
51096
52522
  init_esm5();
51097
52523
  instrumentConnect = generateInstrumentOnce(INTEGRATION_NAME49, () => new import_instrumentation_connect.ConnectInstrumentation);
@@ -51099,7 +52525,7 @@ var init_connect = __esm(() => {
51099
52525
  });
51100
52526
 
51101
52527
  // ../../node_modules/@opentelemetry/instrumentation-knex/build/src/version.js
51102
- var require_version22 = __commonJS((exports) => {
52528
+ var require_version23 = __commonJS((exports) => {
51103
52529
  Object.defineProperty(exports, "__esModule", { value: true });
51104
52530
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
51105
52531
  exports.PACKAGE_VERSION = "0.48.0";
@@ -51107,7 +52533,7 @@ var require_version22 = __commonJS((exports) => {
51107
52533
  });
51108
52534
 
51109
52535
  // ../../node_modules/@opentelemetry/instrumentation-knex/build/src/constants.js
51110
- var require_constants4 = __commonJS((exports) => {
52536
+ var require_constants5 = __commonJS((exports) => {
51111
52537
  Object.defineProperty(exports, "__esModule", { value: true });
51112
52538
  exports.SUPPORTED_VERSIONS = exports.MODULE_NAME = undefined;
51113
52539
  exports.MODULE_NAME = "knex";
@@ -51120,18 +52546,18 @@ var require_constants4 = __commonJS((exports) => {
51120
52546
  });
51121
52547
 
51122
52548
  // ../../node_modules/@opentelemetry/instrumentation-knex/build/src/semconv.js
51123
- var require_semconv7 = __commonJS((exports) => {
52549
+ var require_semconv8 = __commonJS((exports) => {
51124
52550
  Object.defineProperty(exports, "__esModule", { value: true });
51125
52551
  exports.DB_SYSTEM_NAME_VALUE_SQLITE = undefined;
51126
52552
  exports.DB_SYSTEM_NAME_VALUE_SQLITE = "sqlite";
51127
52553
  });
51128
52554
 
51129
52555
  // ../../node_modules/@opentelemetry/instrumentation-knex/build/src/utils.js
51130
- var require_utils24 = __commonJS((exports) => {
52556
+ var require_utils25 = __commonJS((exports) => {
51131
52557
  Object.defineProperty(exports, "__esModule", { value: true });
51132
52558
  exports.extractTableName = exports.limitLength = exports.getName = exports.mapSystem = exports.otelExceptionFromKnexError = exports.getFormatter = undefined;
51133
52559
  var semantic_conventions_1 = require_src2();
51134
- var semconv_1 = require_semconv7();
52560
+ var semconv_1 = require_semconv8();
51135
52561
  var getFormatter = (runner) => {
51136
52562
  if (runner) {
51137
52563
  if (runner.client) {
@@ -51200,10 +52626,10 @@ var require_instrumentation20 = __commonJS((exports) => {
51200
52626
  Object.defineProperty(exports, "__esModule", { value: true });
51201
52627
  exports.KnexInstrumentation = undefined;
51202
52628
  var api2 = require_src();
51203
- var version_1 = require_version22();
51204
- var constants = require_constants4();
52629
+ var version_1 = require_version23();
52630
+ var constants = require_constants5();
51205
52631
  var instrumentation_1 = require_src6();
51206
- var utils = require_utils24();
52632
+ var utils = require_utils25();
51207
52633
  var semantic_conventions_1 = require_src2();
51208
52634
  var contextSymbol = Symbol("opentelemetry.instrumentation-knex.context");
51209
52635
  var DEFAULT_CONFIG = {
@@ -51338,7 +52764,7 @@ var require_instrumentation20 = __commonJS((exports) => {
51338
52764
  });
51339
52765
 
51340
52766
  // ../../node_modules/@opentelemetry/instrumentation-knex/build/src/index.js
51341
- var require_src31 = __commonJS((exports) => {
52767
+ var require_src32 = __commonJS((exports) => {
51342
52768
  Object.defineProperty(exports, "__esModule", { value: true });
51343
52769
  exports.KnexInstrumentation = undefined;
51344
52770
  var instrumentation_1 = require_instrumentation20();
@@ -51367,7 +52793,7 @@ var import_instrumentation_knex, INTEGRATION_NAME50 = "Knex", instrumentKnex, _k
51367
52793
  };
51368
52794
  }, knexIntegration;
51369
52795
  var init_knex = __esm(() => {
51370
- import_instrumentation_knex = __toESM(require_src31(), 1);
52796
+ import_instrumentation_knex = __toESM(require_src32(), 1);
51371
52797
  init_esm();
51372
52798
  init_esm5();
51373
52799
  instrumentKnex = generateInstrumentOnce(INTEGRATION_NAME50, () => new import_instrumentation_knex.KnexInstrumentation({ requireParentSpan: true }));
@@ -51375,7 +52801,7 @@ var init_knex = __esm(() => {
51375
52801
  });
51376
52802
 
51377
52803
  // ../../node_modules/@opentelemetry/instrumentation-tedious/build/src/utils.js
51378
- var require_utils25 = __commonJS((exports) => {
52804
+ var require_utils26 = __commonJS((exports) => {
51379
52805
  Object.defineProperty(exports, "__esModule", { value: true });
51380
52806
  exports.once = exports.getSpanName = undefined;
51381
52807
  function getSpanName(operation, db, sql, bulkLoadTable) {
@@ -51407,7 +52833,7 @@ var require_utils25 = __commonJS((exports) => {
51407
52833
  });
51408
52834
 
51409
52835
  // ../../node_modules/@opentelemetry/instrumentation-tedious/build/src/version.js
51410
- var require_version23 = __commonJS((exports) => {
52836
+ var require_version24 = __commonJS((exports) => {
51411
52837
  Object.defineProperty(exports, "__esModule", { value: true });
51412
52838
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
51413
52839
  exports.PACKAGE_VERSION = "0.22.0";
@@ -51422,8 +52848,8 @@ var require_instrumentation21 = __commonJS((exports) => {
51422
52848
  var events_1 = __require("events");
51423
52849
  var instrumentation_1 = require_src6();
51424
52850
  var semantic_conventions_1 = require_src2();
51425
- var utils_1 = require_utils25();
51426
- var version_1 = require_version23();
52851
+ var utils_1 = require_utils26();
52852
+ var version_1 = require_version24();
51427
52853
  var CURRENT_DATABASE = Symbol("opentelemetry.instrumentation-tedious.current-database");
51428
52854
  var PATCHED_METHODS = [
51429
52855
  "callProcedure",
@@ -51561,7 +52987,7 @@ var require_instrumentation21 = __commonJS((exports) => {
51561
52987
  });
51562
52988
 
51563
52989
  // ../../node_modules/@opentelemetry/instrumentation-tedious/build/src/index.js
51564
- var require_src32 = __commonJS((exports) => {
52990
+ var require_src33 = __commonJS((exports) => {
51565
52991
  Object.defineProperty(exports, "__esModule", { value: true });
51566
52992
  exports.TediousInstrumentation = undefined;
51567
52993
  var instrumentation_1 = require_instrumentation21();
@@ -51594,7 +53020,7 @@ var import_instrumentation_tedious, TEDIUS_INSTRUMENTED_METHODS, INTEGRATION_NAM
51594
53020
  };
51595
53021
  }, tediousIntegration;
51596
53022
  var init_tedious = __esm(() => {
51597
- import_instrumentation_tedious = __toESM(require_src32(), 1);
53023
+ import_instrumentation_tedious = __toESM(require_src33(), 1);
51598
53024
  init_esm();
51599
53025
  init_esm5();
51600
53026
  TEDIUS_INSTRUMENTED_METHODS = new Set([
@@ -51610,7 +53036,7 @@ var init_tedious = __esm(() => {
51610
53036
  });
51611
53037
 
51612
53038
  // ../../node_modules/@opentelemetry/instrumentation-generic-pool/build/src/version.js
51613
- var require_version24 = __commonJS((exports) => {
53039
+ var require_version25 = __commonJS((exports) => {
51614
53040
  Object.defineProperty(exports, "__esModule", { value: true });
51615
53041
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
51616
53042
  exports.PACKAGE_VERSION = "0.47.0";
@@ -51623,7 +53049,7 @@ var require_instrumentation22 = __commonJS((exports) => {
51623
53049
  exports.GenericPoolInstrumentation = undefined;
51624
53050
  var api2 = require_src();
51625
53051
  var instrumentation_1 = require_src6();
51626
- var version_1 = require_version24();
53052
+ var version_1 = require_version25();
51627
53053
  var MODULE_NAME2 = "generic-pool";
51628
53054
 
51629
53055
  class GenericPoolInstrumentation extends instrumentation_1.InstrumentationBase {
@@ -51718,7 +53144,7 @@ var require_instrumentation22 = __commonJS((exports) => {
51718
53144
  });
51719
53145
 
51720
53146
  // ../../node_modules/@opentelemetry/instrumentation-generic-pool/build/src/index.js
51721
- var require_src33 = __commonJS((exports) => {
53147
+ var require_src34 = __commonJS((exports) => {
51722
53148
  Object.defineProperty(exports, "__esModule", { value: true });
51723
53149
  exports.GenericPoolInstrumentation = undefined;
51724
53150
  var instrumentation_1 = require_instrumentation22();
@@ -51749,7 +53175,7 @@ var import_instrumentation_generic_pool, INTEGRATION_NAME52 = "GenericPool", ins
51749
53175
  };
51750
53176
  }, genericPoolIntegration;
51751
53177
  var init_genericPool = __esm(() => {
51752
- import_instrumentation_generic_pool = __toESM(require_src33(), 1);
53178
+ import_instrumentation_generic_pool = __toESM(require_src34(), 1);
51753
53179
  init_esm();
51754
53180
  init_esm5();
51755
53181
  instrumentGenericPool = generateInstrumentOnce(INTEGRATION_NAME52, () => new import_instrumentation_generic_pool.GenericPoolInstrumentation({}));
@@ -51757,7 +53183,7 @@ var init_genericPool = __esm(() => {
51757
53183
  });
51758
53184
 
51759
53185
  // ../../node_modules/@opentelemetry/instrumentation-dataloader/build/src/version.js
51760
- var require_version25 = __commonJS((exports) => {
53186
+ var require_version26 = __commonJS((exports) => {
51761
53187
  Object.defineProperty(exports, "__esModule", { value: true });
51762
53188
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
51763
53189
  exports.PACKAGE_VERSION = "0.21.1";
@@ -51770,7 +53196,7 @@ var require_instrumentation23 = __commonJS((exports) => {
51770
53196
  exports.DataloaderInstrumentation = undefined;
51771
53197
  var instrumentation_1 = require_src6();
51772
53198
  var api_1 = require_src();
51773
- var version_1 = require_version25();
53199
+ var version_1 = require_version26();
51774
53200
  var MODULE_NAME2 = "dataloader";
51775
53201
  function extractModuleExports(module2) {
51776
53202
  return module2[Symbol.toStringTag] === "Module" ? module2.default : module2;
@@ -51982,7 +53408,7 @@ var require_instrumentation23 = __commonJS((exports) => {
51982
53408
  });
51983
53409
 
51984
53410
  // ../../node_modules/@opentelemetry/instrumentation-dataloader/build/src/index.js
51985
- var require_src34 = __commonJS((exports) => {
53411
+ var require_src35 = __commonJS((exports) => {
51986
53412
  Object.defineProperty(exports, "__esModule", { value: true });
51987
53413
  exports.DataloaderInstrumentation = undefined;
51988
53414
  var instrumentation_1 = require_instrumentation23();
@@ -52016,7 +53442,7 @@ var import_instrumentation_dataloader, INTEGRATION_NAME53 = "Dataloader", instru
52016
53442
  };
52017
53443
  }, dataloaderIntegration;
52018
53444
  var init_dataloader = __esm(() => {
52019
- import_instrumentation_dataloader = __toESM(require_src34(), 1);
53445
+ import_instrumentation_dataloader = __toESM(require_src35(), 1);
52020
53446
  init_esm();
52021
53447
  init_esm5();
52022
53448
  instrumentDataloader = generateInstrumentOnce(INTEGRATION_NAME53, () => new import_instrumentation_dataloader.DataloaderInstrumentation({
@@ -52048,7 +53474,7 @@ var require_types4 = __commonJS((exports) => {
52048
53474
  });
52049
53475
 
52050
53476
  // ../../node_modules/@opentelemetry/instrumentation-amqplib/build/src/utils.js
52051
- var require_utils26 = __commonJS((exports) => {
53477
+ var require_utils27 = __commonJS((exports) => {
52052
53478
  Object.defineProperty(exports, "__esModule", { value: true });
52053
53479
  exports.isConfirmChannelTracing = exports.unmarkConfirmChannelTracing = exports.markConfirmChannelTracing = exports.getConnectionAttributesFromUrl = exports.getConnectionAttributesFromServer = exports.normalizeExchange = exports.CONNECTION_ATTRIBUTES = exports.CHANNEL_CONSUME_TIMEOUT_TIMER = exports.CHANNEL_SPANS_NOT_ENDED = exports.MESSAGE_STORED_SPAN = undefined;
52054
53480
  var api_1 = require_src();
@@ -52156,7 +53582,7 @@ var require_utils26 = __commonJS((exports) => {
52156
53582
  });
52157
53583
 
52158
53584
  // ../../node_modules/@opentelemetry/instrumentation-amqplib/build/src/version.js
52159
- var require_version26 = __commonJS((exports) => {
53585
+ var require_version27 = __commonJS((exports) => {
52160
53586
  Object.defineProperty(exports, "__esModule", { value: true });
52161
53587
  exports.PACKAGE_NAME = exports.PACKAGE_VERSION = undefined;
52162
53588
  exports.PACKAGE_VERSION = "0.50.0";
@@ -52168,12 +53594,12 @@ var require_amqplib = __commonJS((exports) => {
52168
53594
  Object.defineProperty(exports, "__esModule", { value: true });
52169
53595
  exports.AmqplibInstrumentation = undefined;
52170
53596
  var api_1 = require_src();
52171
- var core_1 = require_src3();
53597
+ var core_1 = require_src8();
52172
53598
  var instrumentation_1 = require_src6();
52173
53599
  var semantic_conventions_1 = require_src2();
52174
53600
  var types_1 = require_types4();
52175
- var utils_1 = require_utils26();
52176
- var version_1 = require_version26();
53601
+ var utils_1 = require_utils27();
53602
+ var version_1 = require_version27();
52177
53603
  var supportedVersions = [">=0.5.5 <1"];
52178
53604
 
52179
53605
  class AmqplibInstrumentation extends instrumentation_1.InstrumentationBase {
@@ -52553,7 +53979,7 @@ var require_amqplib = __commonJS((exports) => {
52553
53979
  });
52554
53980
 
52555
53981
  // ../../node_modules/@opentelemetry/instrumentation-amqplib/build/src/index.js
52556
- var require_src35 = __commonJS((exports) => {
53982
+ var require_src36 = __commonJS((exports) => {
52557
53983
  Object.defineProperty(exports, "__esModule", { value: true });
52558
53984
  exports.EndOperation = exports.DEFAULT_CONFIG = exports.AmqplibInstrumentation = undefined;
52559
53985
  var amqplib_1 = require_amqplib();
@@ -52579,7 +54005,7 @@ var import_instrumentation_amqplib, INTEGRATION_NAME54 = "Amqplib", config, inst
52579
54005
  };
52580
54006
  }, amqplibIntegration;
52581
54007
  var init_amqplib = __esm(() => {
52582
- import_instrumentation_amqplib = __toESM(require_src35(), 1);
54008
+ import_instrumentation_amqplib = __toESM(require_src36(), 1);
52583
54009
  init_esm();
52584
54010
  init_esm5();
52585
54011
  config = {
@@ -53426,8 +54852,8 @@ function _clampSpanProcessorTimeout(maxSpanWaitDuration) {
53426
54852
  var import_api19, import_resources, import_sdk_trace_base2, import_semantic_conventions8, import_import_in_the_middle2, MAX_MAX_SPAN_WAIT_DURATION = 1e6;
53427
54853
  var init_initOtel = __esm(() => {
53428
54854
  import_api19 = __toESM(require_src(), 1);
53429
- import_resources = __toESM(require_src8(), 1);
53430
- import_sdk_trace_base2 = __toESM(require_src9(), 1);
54855
+ import_resources = __toESM(require_src9(), 1);
54856
+ import_sdk_trace_base2 = __toESM(require_src10(), 1);
53431
54857
  import_semantic_conventions8 = __toESM(require_src2(), 1);
53432
54858
  init_esm();
53433
54859
  init_esm5();
@@ -58295,7 +59721,7 @@ var require_minimalistic_assert = __commonJS((exports, module) => {
58295
59721
  });
58296
59722
 
58297
59723
  // ../../node_modules/minimalistic-crypto-utils/lib/utils.js
58298
- var require_utils27 = __commonJS((exports) => {
59724
+ var require_utils28 = __commonJS((exports) => {
58299
59725
  var utils = exports;
58300
59726
  function toArray2(msg, enc) {
58301
59727
  if (Array.isArray(msg))
@@ -58351,11 +59777,11 @@ var require_utils27 = __commonJS((exports) => {
58351
59777
  });
58352
59778
 
58353
59779
  // ../../node_modules/elliptic/lib/elliptic/utils.js
58354
- var require_utils28 = __commonJS((exports) => {
59780
+ var require_utils29 = __commonJS((exports) => {
58355
59781
  var utils = exports;
58356
59782
  var BN = require_bn();
58357
59783
  var minAssert = require_minimalistic_assert();
58358
- var minUtils = require_utils27();
59784
+ var minUtils = require_utils28();
58359
59785
  utils.assert = minAssert;
58360
59786
  utils.toArray = minUtils.toArray;
58361
59787
  utils.zero2 = minUtils.zero2;
@@ -58510,7 +59936,7 @@ var require_brorand = __commonJS((exports, module) => {
58510
59936
  // ../../node_modules/elliptic/lib/elliptic/curve/base.js
58511
59937
  var require_base3 = __commonJS((exports, module) => {
58512
59938
  var BN = require_bn();
58513
- var utils = require_utils28();
59939
+ var utils = require_utils29();
58514
59940
  var getNAF = utils.getNAF;
58515
59941
  var getJSF = utils.getJSF;
58516
59942
  var assert = utils.assert;
@@ -58853,7 +60279,7 @@ var require_inherits = __commonJS((exports, module) => {
58853
60279
 
58854
60280
  // ../../node_modules/elliptic/lib/elliptic/curve/short.js
58855
60281
  var require_short = __commonJS((exports, module) => {
58856
- var utils = require_utils28();
60282
+ var utils = require_utils29();
58857
60283
  var BN = require_bn();
58858
60284
  var inherits = require_inherits();
58859
60285
  var Base = require_base3();
@@ -59551,7 +60977,7 @@ var require_mont = __commonJS((exports, module) => {
59551
60977
  var BN = require_bn();
59552
60978
  var inherits = require_inherits();
59553
60979
  var Base = require_base3();
59554
- var utils = require_utils28();
60980
+ var utils = require_utils29();
59555
60981
  function MontCurve(conf) {
59556
60982
  Base.call(this, "mont", conf);
59557
60983
  this.a = new BN(conf.a, 16).toRed(this.red);
@@ -59672,7 +61098,7 @@ var require_mont = __commonJS((exports, module) => {
59672
61098
 
59673
61099
  // ../../node_modules/elliptic/lib/elliptic/curve/edwards.js
59674
61100
  var require_edwards = __commonJS((exports, module) => {
59675
- var utils = require_utils28();
61101
+ var utils = require_utils29();
59676
61102
  var BN = require_bn();
59677
61103
  var inherits = require_inherits();
59678
61104
  var Base = require_base3();
@@ -59973,7 +61399,7 @@ var require_curve = __commonJS((exports) => {
59973
61399
  });
59974
61400
 
59975
61401
  // ../../node_modules/hash.js/lib/hash/utils.js
59976
- var require_utils29 = __commonJS((exports) => {
61402
+ var require_utils30 = __commonJS((exports) => {
59977
61403
  var assert = require_minimalistic_assert();
59978
61404
  var inherits = require_inherits();
59979
61405
  exports.inherits = inherits;
@@ -60216,7 +61642,7 @@ var require_utils29 = __commonJS((exports) => {
60216
61642
 
60217
61643
  // ../../node_modules/hash.js/lib/hash/common.js
60218
61644
  var require_common2 = __commonJS((exports) => {
60219
- var utils = require_utils29();
61645
+ var utils = require_utils30();
60220
61646
  var assert = require_minimalistic_assert();
60221
61647
  function BlockHash() {
60222
61648
  this.pending = null;
@@ -60292,7 +61718,7 @@ var require_common2 = __commonJS((exports) => {
60292
61718
 
60293
61719
  // ../../node_modules/hash.js/lib/hash/sha/common.js
60294
61720
  var require_common3 = __commonJS((exports) => {
60295
- var utils = require_utils29();
61721
+ var utils = require_utils30();
60296
61722
  var rotr32 = utils.rotr32;
60297
61723
  function ft_1(s, x, y, z4) {
60298
61724
  if (s === 0)
@@ -60335,7 +61761,7 @@ var require_common3 = __commonJS((exports) => {
60335
61761
 
60336
61762
  // ../../node_modules/hash.js/lib/hash/sha/1.js
60337
61763
  var require_1 = __commonJS((exports, module) => {
60338
- var utils = require_utils29();
61764
+ var utils = require_utils30();
60339
61765
  var common2 = require_common2();
60340
61766
  var shaCommon = require_common3();
60341
61767
  var rotl32 = utils.rotl32;
@@ -60404,7 +61830,7 @@ var require_1 = __commonJS((exports, module) => {
60404
61830
 
60405
61831
  // ../../node_modules/hash.js/lib/hash/sha/256.js
60406
61832
  var require_256 = __commonJS((exports, module) => {
60407
- var utils = require_utils29();
61833
+ var utils = require_utils30();
60408
61834
  var common2 = require_common2();
60409
61835
  var shaCommon = require_common3();
60410
61836
  var assert = require_minimalistic_assert();
@@ -60553,7 +61979,7 @@ var require_256 = __commonJS((exports, module) => {
60553
61979
 
60554
61980
  // ../../node_modules/hash.js/lib/hash/sha/224.js
60555
61981
  var require_224 = __commonJS((exports, module) => {
60556
- var utils = require_utils29();
61982
+ var utils = require_utils30();
60557
61983
  var SHA256 = require_256();
60558
61984
  function SHA224() {
60559
61985
  if (!(this instanceof SHA224))
@@ -60586,7 +62012,7 @@ var require_224 = __commonJS((exports, module) => {
60586
62012
 
60587
62013
  // ../../node_modules/hash.js/lib/hash/sha/512.js
60588
62014
  var require_512 = __commonJS((exports, module) => {
60589
- var utils = require_utils29();
62015
+ var utils = require_utils30();
60590
62016
  var common2 = require_common2();
60591
62017
  var assert = require_minimalistic_assert();
60592
62018
  var rotr64_hi = utils.rotr64_hi;
@@ -60982,7 +62408,7 @@ var require_512 = __commonJS((exports, module) => {
60982
62408
 
60983
62409
  // ../../node_modules/hash.js/lib/hash/sha/384.js
60984
62410
  var require_384 = __commonJS((exports, module) => {
60985
- var utils = require_utils29();
62411
+ var utils = require_utils30();
60986
62412
  var SHA512 = require_512();
60987
62413
  function SHA384() {
60988
62414
  if (!(this instanceof SHA384))
@@ -61032,7 +62458,7 @@ var require_sha = __commonJS((exports) => {
61032
62458
 
61033
62459
  // ../../node_modules/hash.js/lib/hash/ripemd.js
61034
62460
  var require_ripemd = __commonJS((exports) => {
61035
- var utils = require_utils29();
62461
+ var utils = require_utils30();
61036
62462
  var common2 = require_common2();
61037
62463
  var rotl32 = utils.rotl32;
61038
62464
  var sum32 = utils.sum32;
@@ -61458,7 +62884,7 @@ var require_ripemd = __commonJS((exports) => {
61458
62884
 
61459
62885
  // ../../node_modules/hash.js/lib/hash/hmac.js
61460
62886
  var require_hmac = __commonJS((exports, module) => {
61461
- var utils = require_utils29();
62887
+ var utils = require_utils30();
61462
62888
  var assert = require_minimalistic_assert();
61463
62889
  function Hmac(hash, key, enc) {
61464
62890
  if (!(this instanceof Hmac))
@@ -61497,7 +62923,7 @@ var require_hmac = __commonJS((exports, module) => {
61497
62923
  // ../../node_modules/hash.js/lib/hash.js
61498
62924
  var require_hash = __commonJS((exports) => {
61499
62925
  var hash = exports;
61500
- hash.utils = require_utils29();
62926
+ hash.utils = require_utils30();
61501
62927
  hash.common = require_common2();
61502
62928
  hash.sha = require_sha();
61503
62929
  hash.ripemd = require_ripemd();
@@ -62299,7 +63725,7 @@ var require_curves = __commonJS((exports) => {
62299
63725
  var curves = exports;
62300
63726
  var hash = require_hash();
62301
63727
  var curve = require_curve();
62302
- var utils = require_utils28();
63728
+ var utils = require_utils29();
62303
63729
  var assert = utils.assert;
62304
63730
  function PresetCurve(options) {
62305
63731
  if (options.type === "short")
@@ -62467,7 +63893,7 @@ var require_curves = __commonJS((exports) => {
62467
63893
  // ../../node_modules/hmac-drbg/lib/hmac-drbg.js
62468
63894
  var require_hmac_drbg = __commonJS((exports, module) => {
62469
63895
  var hash = require_hash();
62470
- var utils = require_utils27();
63896
+ var utils = require_utils28();
62471
63897
  var assert = require_minimalistic_assert();
62472
63898
  function HmacDRBG(options) {
62473
63899
  if (!(this instanceof HmacDRBG))
@@ -62552,7 +63978,7 @@ var require_hmac_drbg = __commonJS((exports, module) => {
62552
63978
  // ../../node_modules/elliptic/lib/elliptic/ec/key.js
62553
63979
  var require_key = __commonJS((exports, module) => {
62554
63980
  var BN = require_bn();
62555
- var utils = require_utils28();
63981
+ var utils = require_utils29();
62556
63982
  var assert = utils.assert;
62557
63983
  function KeyPair(ec, options) {
62558
63984
  this.ec = ec;
@@ -62643,7 +64069,7 @@ var require_key = __commonJS((exports, module) => {
62643
64069
  // ../../node_modules/elliptic/lib/elliptic/ec/signature.js
62644
64070
  var require_signature = __commonJS((exports, module) => {
62645
64071
  var BN = require_bn();
62646
- var utils = require_utils28();
64072
+ var utils = require_utils29();
62647
64073
  var assert = utils.assert;
62648
64074
  function Signature(options, enc) {
62649
64075
  if (options instanceof Signature)
@@ -62796,7 +64222,7 @@ var require_signature = __commonJS((exports, module) => {
62796
64222
  var require_ec = __commonJS((exports, module) => {
62797
64223
  var BN = require_bn();
62798
64224
  var HmacDRBG = require_hmac_drbg();
62799
- var utils = require_utils28();
64225
+ var utils = require_utils29();
62800
64226
  var curves = require_curves();
62801
64227
  var rand = require_brorand();
62802
64228
  var assert = utils.assert;
@@ -62993,7 +64419,7 @@ var require_ec = __commonJS((exports, module) => {
62993
64419
 
62994
64420
  // ../../node_modules/elliptic/lib/elliptic/eddsa/key.js
62995
64421
  var require_key2 = __commonJS((exports, module) => {
62996
- var utils = require_utils28();
64422
+ var utils = require_utils29();
62997
64423
  var assert = utils.assert;
62998
64424
  var parseBytes = utils.parseBytes;
62999
64425
  var cachedProperty = utils.cachedProperty;
@@ -63065,7 +64491,7 @@ var require_key2 = __commonJS((exports, module) => {
63065
64491
  // ../../node_modules/elliptic/lib/elliptic/eddsa/signature.js
63066
64492
  var require_signature2 = __commonJS((exports, module) => {
63067
64493
  var BN = require_bn();
63068
- var utils = require_utils28();
64494
+ var utils = require_utils29();
63069
64495
  var assert = utils.assert;
63070
64496
  var cachedProperty = utils.cachedProperty;
63071
64497
  var parseBytes = utils.parseBytes;
@@ -63113,7 +64539,7 @@ var require_signature2 = __commonJS((exports, module) => {
63113
64539
  var require_eddsa = __commonJS((exports, module) => {
63114
64540
  var hash = require_hash();
63115
64541
  var curves = require_curves();
63116
- var utils = require_utils28();
64542
+ var utils = require_utils29();
63117
64543
  var assert = utils.assert;
63118
64544
  var parseBytes = utils.parseBytes;
63119
64545
  var KeyPair = require_key2();
@@ -63198,7 +64624,7 @@ var require_eddsa = __commonJS((exports, module) => {
63198
64624
  var require_elliptic = __commonJS((exports) => {
63199
64625
  var elliptic = exports;
63200
64626
  elliptic.version = require_package2().version;
63201
- elliptic.utils = require_utils28();
64627
+ elliptic.utils = require_utils29();
63202
64628
  elliptic.rand = require_brorand();
63203
64629
  elliptic.curve = require_curve();
63204
64630
  elliptic.curves = require_curves();
@@ -63578,7 +65004,7 @@ var require_buffer = __commonJS((exports) => {
63578
65004
  });
63579
65005
 
63580
65006
  // ../../node_modules/parse-asn1/node_modules/asn1.js/lib/asn1/base/node.js
63581
- var require_node11 = __commonJS((exports, module) => {
65007
+ var require_node12 = __commonJS((exports, module) => {
63582
65008
  var Reporter = require_base4().Reporter;
63583
65009
  var EncoderBuffer = require_base4().EncoderBuffer;
63584
65010
  var DecoderBuffer = require_base4().DecoderBuffer;
@@ -64107,12 +65533,12 @@ var require_base4 = __commonJS((exports) => {
64107
65533
  base.Reporter = require_reporter().Reporter;
64108
65534
  base.DecoderBuffer = require_buffer().DecoderBuffer;
64109
65535
  base.EncoderBuffer = require_buffer().EncoderBuffer;
64110
- base.Node = require_node11();
65536
+ base.Node = require_node12();
64111
65537
  });
64112
65538
 
64113
65539
  // ../../node_modules/parse-asn1/node_modules/asn1.js/lib/asn1/constants/der.js
64114
65540
  var require_der = __commonJS((exports) => {
64115
- var constants2 = require_constants5();
65541
+ var constants2 = require_constants6();
64116
65542
  exports.tagClass = {
64117
65543
  0: "universal",
64118
65544
  1: "application",
@@ -64155,7 +65581,7 @@ var require_der = __commonJS((exports) => {
64155
65581
  });
64156
65582
 
64157
65583
  // ../../node_modules/parse-asn1/node_modules/asn1.js/lib/asn1/constants/index.js
64158
- var require_constants5 = __commonJS((exports) => {
65584
+ var require_constants6 = __commonJS((exports) => {
64159
65585
  var constants2 = exports;
64160
65586
  constants2._reverse = function reverse(map2) {
64161
65587
  var res = {};
@@ -64735,7 +66161,7 @@ var require_asn1 = __commonJS((exports) => {
64735
66161
  asn1.bignum = require_bn();
64736
66162
  asn1.define = require_api().define;
64737
66163
  asn1.base = require_base4();
64738
- asn1.constants = require_constants5();
66164
+ asn1.constants = require_constants6();
64739
66165
  asn1.decoders = require_decoders();
64740
66166
  asn1.encoders = require_encoders();
64741
66167
  });
@@ -76815,9 +78241,11 @@ class CallbackManager extends BaseCallbackManager {
76815
78241
  if (tracingV2Enabled) {
76816
78242
  const tracerV2 = new LangChainTracer;
76817
78243
  callbackManager.addHandler(tracerV2, true);
76818
- callbackManager._parentRunId = LangChainTracer.getTraceableRunTree()?.id ?? callbackManager._parentRunId;
76819
78244
  }
76820
78245
  }
78246
+ if (tracingV2Enabled) {
78247
+ callbackManager._parentRunId = LangChainTracer.getTraceableRunTree()?.id ?? callbackManager._parentRunId;
78248
+ }
76821
78249
  }
76822
78250
  for (const { contextVar, inheritable = true, handlerClass, envVar } of _getConfigureHooks()) {
76823
78251
  const createIfNotInContext = envVar && getEnvironmentVariable2(envVar) === "true" && handlerClass;
@@ -89848,5 +91276,5 @@ export {
89848
91276
  AgentRuntime
89849
91277
  };
89850
91278
 
89851
- //# debugId=478DF9C9354AC17164756E2164756E21
91279
+ //# debugId=BEC2BBF92C530BC964756E2164756E21
89852
91280
  //# sourceMappingURL=index.node.js.map