@wavemaker/app-ng-runtime 11.14.1-3.6306 → 11.14.1-30.647738

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/components/base/bundles/index.umd.js +17 -87
  2. package/components/base/esm2022/pipes/custom-pipes.mjs +10 -10
  3. package/components/base/esm2022/utils/widget-utils.mjs +3 -3
  4. package/components/base/esm2022/widgets/common/base/base.component.mjs +7 -68
  5. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +3 -7
  6. package/components/base/esm2022/widgets/framework/property-change-handler.mjs +2 -7
  7. package/components/base/fesm2022/index.mjs +18 -88
  8. package/components/base/fesm2022/index.mjs.map +1 -1
  9. package/components/base/pipes/custom-pipes.d.ts +5 -5
  10. package/components/basic/label/bundles/index.umd.js +1 -9
  11. package/components/basic/label/esm2022/label.directive.mjs +2 -10
  12. package/components/basic/label/fesm2022/index.mjs +1 -9
  13. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  14. package/components/data/table/bundles/index.umd.js +11 -218
  15. package/components/data/table/esm2022/table.component.mjs +12 -219
  16. package/components/data/table/fesm2022/index.mjs +11 -218
  17. package/components/data/table/fesm2022/index.mjs.map +1 -1
  18. package/components/data/table/table.component.d.ts +2 -6
  19. package/components/navigation/menu/bundles/index.umd.js +0 -5
  20. package/components/navigation/menu/esm2022/menu.component.mjs +1 -6
  21. package/components/navigation/menu/fesm2022/index.mjs +0 -5
  22. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  23. package/components/navigation/popover/bundles/index.umd.js +6 -6
  24. package/components/navigation/popover/esm2022/popover.component.mjs +4 -4
  25. package/components/navigation/popover/fesm2022/index.mjs +3 -3
  26. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  27. package/components/navigation/popover/popover.component.d.ts +0 -6
  28. package/core/bundles/index.umd.js +82 -332
  29. package/core/esm2022/public_api.mjs +3 -3
  30. package/core/esm2022/utils/utils.mjs +2 -6
  31. package/core/esm2022/utils/watcher.mjs +81 -323
  32. package/core/fesm2022/index.mjs +84 -331
  33. package/core/fesm2022/index.mjs.map +1 -1
  34. package/core/public_api.d.ts +2 -2
  35. package/core/utils/utils.d.ts +0 -1
  36. package/core/utils/watcher.d.ts +5 -26
  37. package/locales/moment-timezone/moment-timezone-with-data.js +10 -10
  38. package/npm-shrinkwrap.json +2 -2
  39. package/package-lock.json +2 -2
  40. package/package.json +1 -1
  41. package/runtime/base/bundles/index.umd.js +2 -37
  42. package/runtime/base/esm2022/components/app-component/app.component.mjs +2 -7
  43. package/runtime/base/esm2022/components/base-page.component.mjs +2 -9
  44. package/runtime/base/esm2022/components/base-partial.component.mjs +2 -10
  45. package/runtime/base/esm2022/components/base-prefab.component.mjs +2 -10
  46. package/runtime/base/esm2022/components/base-spa-page.component.mjs +2 -9
  47. package/runtime/base/esm2022/services/pipe-provider.service.mjs +4 -4
  48. package/runtime/base/fesm2022/index.mjs +3 -38
  49. package/runtime/base/fesm2022/index.mjs.map +1 -1
  50. package/scripts/datatable/datatable.js +2 -19
@@ -1450,11 +1450,11 @@
1450
1450
  }
1451
1451
  };
1452
1452
 
1453
- const $RAF = window.requestAnimationFrame;
1453
+ const $RAF$1 = window.requestAnimationFrame;
1454
1454
  const $RAFQueue = [];
1455
1455
  const invokeLater = fn => {
1456
1456
  if (!$RAFQueue.length) {
1457
- $RAF(() => {
1457
+ $RAF$1(() => {
1458
1458
  $RAFQueue.forEach(f => f());
1459
1459
  $RAFQueue.length = 0;
1460
1460
  });
@@ -2191,25 +2191,14 @@
2191
2191
  return fnExecutor(expr, ExpressionType.Action);
2192
2192
  };
2193
2193
 
2194
- // Constants
2195
- const WIDGET_ID_REGEX = /^(widget-[^_]+)/;
2196
- const WIDGET_PROPERTY_REGEX = /^widget-[^_]+_(.+)$/;
2197
- const ARRAY_INDEX_PLACEHOLDER = '[$i]';
2198
- const ARRAY_INDEX_ZERO = '[0]';
2199
- const DEBOUNCE_WAIT = 100;
2200
- const MAX_WATCH_CYCLES = 5;
2201
2194
  const registry = new Map();
2202
2195
  const watchIdGenerator = new IDGenerator('watch-id-');
2203
- const FIRST_TIME_WATCH = Object.freeze({});
2204
- // State
2196
+ const FIRST_TIME_WATCH = {};
2197
+ Object.freeze(FIRST_TIME_WATCH);
2198
+ const isFirstTimeChange = v => v === FIRST_TIME_WATCH;
2205
2199
  let muted = false;
2206
- let changedByWatch = false;
2207
- let skipWatchers = false;
2208
- let ngZone;
2209
2200
  let appRef;
2210
- // Utility functions
2211
- const isFirstTimeChange = (v) => v === FIRST_TIME_WATCH;
2212
- const debounce = (fn, wait = DEBOUNCE_WAIT) => {
2201
+ const debounce = (fn, wait = 50) => {
2213
2202
  let timeout;
2214
2203
  return (...args) => {
2215
2204
  window['__zone_symbol__clearTimeout'](timeout);
@@ -2223,345 +2212,115 @@
2223
2212
  muted = false;
2224
2213
  triggerWatchers();
2225
2214
  };
2226
- /**
2227
- * Extracts widget ID from identifier (e.g., "widget-id23_eventsource" -> "widget-id23")
2228
- */
2229
- const getWidgetId = (identifier) => {
2230
- if (!identifier || typeof identifier !== 'string') {
2231
- return null;
2232
- }
2233
- const match = identifier.match(WIDGET_ID_REGEX);
2234
- return match ? match[1] : null;
2235
- };
2236
- /**
2237
- * Extracts property name from identifier (e.g., "widget-id23_eventsource" -> "eventsource")
2238
- */
2239
- const getPropertyName = (identifier) => {
2240
- if (!identifier || typeof identifier !== 'string') {
2241
- return identifier;
2242
- }
2243
- const match = identifier.match(WIDGET_PROPERTY_REGEX);
2244
- return match ? match[1] : identifier;
2245
- };
2246
- /**
2247
- * Array consumer wrapper for array-based expressions
2248
- */
2249
2215
  const arrayConsumer = (listenerFn, restExpr, newVal, oldVal) => {
2250
- if (!lodashEs.isArray(newVal)) {
2251
- return;
2252
- }
2253
- let formattedData = newVal.map(datum => findValueOf(datum, restExpr));
2254
- // Flatten if result is array of arrays
2255
- if (lodashEs.isArray(formattedData[0])) {
2256
- formattedData = lodashEs.flatten(formattedData);
2216
+ let data = newVal, formattedData;
2217
+ if (lodashEs.isArray(data)) {
2218
+ formattedData = data.map(function (datum) {
2219
+ return findValueOf(datum, restExpr);
2220
+ });
2221
+ // If resulting structure is an array of array, flatten it
2222
+ if (lodashEs.isArray(formattedData[0])) {
2223
+ formattedData = lodashEs.flatten(formattedData);
2224
+ }
2225
+ listenerFn(formattedData, oldVal);
2257
2226
  }
2258
- listenerFn(formattedData, oldVal);
2259
2227
  };
2260
- /**
2261
- * Updates watch info for array expressions
2262
- */
2263
- const getUpdatedWatchInfo = (expr, acceptsArray, listener) => {
2264
- const regex = /\[\$i\]/g;
2228
+ const getUpdatedWatcInfo = (expr, acceptsArray, listener) => {
2229
+ // listener doesn't accept array
2230
+ // replace all `[$i]` with `[0]` and return the expression
2231
+ let regex = /\[\$i\]/g, $I = '[$i]', $0 = '[0]';
2265
2232
  if (!acceptsArray) {
2266
2233
  return {
2267
- expr: expr.replace(regex, ARRAY_INDEX_ZERO),
2268
- listener
2234
+ 'expr': expr.replace(regex, $0),
2235
+ 'listener': listener
2269
2236
  };
2270
2237
  }
2271
- const lastIndex = expr.lastIndexOf(ARRAY_INDEX_PLACEHOLDER);
2272
- const baseExpr = expr.substring(0, lastIndex).replace(ARRAY_INDEX_PLACEHOLDER, ARRAY_INDEX_ZERO);
2273
- const restExpr = expr.substring(lastIndex + ARRAY_INDEX_PLACEHOLDER.length);
2274
- const arrayConsumerFn = restExpr
2275
- ? arrayConsumer.bind(undefined, listener, restExpr)
2276
- : listener;
2238
+ // listener accepts array
2239
+ // replace all except the last `[$i]` with `[0]` and return the expression.
2240
+ var index = expr.lastIndexOf($I), _expr = expr.substr(0, index).replace($I, $0), restExpr = expr.substr(index + 5), arrayConsumerFn = listener;
2241
+ if (restExpr) {
2242
+ arrayConsumerFn = arrayConsumer.bind(undefined, listener, restExpr);
2243
+ }
2277
2244
  return {
2278
- expr: baseExpr,
2279
- listener: arrayConsumerFn
2245
+ 'expr': _expr,
2246
+ 'listener': arrayConsumerFn
2280
2247
  };
2281
2248
  };
2282
- /**
2283
- * Determines if an expression is static (doesn't need to be watched)
2284
- */
2285
- const STATIC_EXPRESSION_NAMES = [
2286
- "row.getProperty('investment')",
2287
- "row.getProperty('factsheetLink')",
2288
- "row.getProperty('isRebalanceEligible')"
2289
- ];
2290
- const isStaticExpression = (expr) => {
2291
- if (typeof expr !== 'string') {
2292
- return false;
2293
- }
2294
- const trimmedExpr = expr.trim();
2295
- // Expressions that always evaluate to localization strings
2296
- if (trimmedExpr.includes('appLocale')) {
2297
- return true;
2298
- }
2299
- // Hard-coded static expression names
2300
- if (STATIC_EXPRESSION_NAMES.includes(trimmedExpr)) {
2301
- return true;
2302
- }
2303
- return false;
2304
- };
2305
- /**
2306
- * Gets the scope type from the scope object
2307
- */
2308
- const getScopeType = ($scope) => {
2309
- if (!$scope) {
2310
- return null;
2311
- }
2312
- if ($scope.pageName)
2313
- return 'Page';
2314
- if ($scope.prefabName)
2315
- return 'Prefab';
2316
- if ($scope.partialName)
2317
- return 'Partial';
2318
- // Check for App scope
2319
- if ($scope.Variables !== undefined &&
2320
- $scope.Actions !== undefined &&
2321
- !$scope.pageName &&
2322
- !$scope.prefabName &&
2323
- !$scope.partialName) {
2324
- return 'App';
2325
- }
2326
- if ($scope.constructor?.name === 'AppRef') {
2327
- return 'App';
2328
- }
2329
- return null;
2330
- };
2331
- /**
2332
- * Gets scope name based on scope type
2333
- */
2334
- const getScopeName = ($scope, scopeType) => {
2335
- if (!scopeType || !$scope) {
2336
- return null;
2337
- }
2338
- switch (scopeType) {
2339
- case 'Prefab': return $scope.prefabName || null;
2340
- case 'Partial': return $scope.partialName || null;
2341
- case 'Page': return $scope.pageName || null;
2342
- default: return null;
2343
- }
2344
- };
2345
- /**
2346
- * Main watch function
2347
- */
2348
2249
  const $watch = (expr, $scope, $locals, listener, identifier = watchIdGenerator.nextUid(), doNotClone = false, config = {}, isMuted) => {
2349
- // Handle array expressions
2350
- if (expr.includes(ARRAY_INDEX_PLACEHOLDER)) {
2351
- const watchInfo = getUpdatedWatchInfo(expr, config.arrayType || config.isList || false, listener);
2250
+ if (expr.indexOf('[$i]') !== -1) {
2251
+ let watchInfo = getUpdatedWatcInfo(expr, config && (config.arrayType || config.isList), listener);
2352
2252
  expr = watchInfo.expr;
2353
2253
  listener = watchInfo.listener;
2354
2254
  }
2355
- // Handle static expressions
2356
- if (isStaticExpression(expr)) {
2357
- try {
2358
- const fn = $parseExpr(expr);
2359
- const staticValue = fn($scope, $locals);
2360
- listener(staticValue, FIRST_TIME_WATCH);
2361
- }
2362
- catch (e) {
2363
- console.warn(`Error evaluating static expression '${expr}':`, e);
2364
- listener(undefined, FIRST_TIME_WATCH);
2365
- }
2366
- return () => { }; // No-op unsubscribe
2367
- }
2368
2255
  const fn = $parseExpr(expr);
2369
- const scopeType = getScopeType($scope);
2370
- const scopeName = getScopeName($scope, scopeType);
2371
- const watchInfo = {
2372
- fn: fn.bind(null, $scope, $locals),
2256
+ registry.set(identifier, {
2257
+ fn: fn.bind(expr, $scope, $locals),
2373
2258
  listener,
2374
2259
  expr,
2375
2260
  last: FIRST_TIME_WATCH,
2376
2261
  doNotClone,
2377
- isMuted,
2378
- scopeType,
2379
- scopeName
2380
- };
2381
- // Store in registry
2382
- const widgetId = getWidgetId(identifier);
2383
- if (widgetId) {
2384
- const propertyName = getPropertyName(identifier);
2385
- if (!registry.has(widgetId)) {
2386
- registry.set(widgetId, {});
2387
- }
2388
- const widgetGroup = registry.get(widgetId);
2389
- widgetGroup[propertyName] = watchInfo;
2390
- }
2391
- else {
2392
- registry.set(identifier, watchInfo);
2393
- }
2394
- return () => $unwatch(identifier);
2395
- };
2396
- /**
2397
- * Unwatches a single identifier
2398
- */
2399
- const $unwatch = (identifier) => {
2400
- const widgetId = getWidgetId(identifier);
2401
- if (widgetId) {
2402
- const propertyName = getPropertyName(identifier);
2403
- const widgetGroup = registry.get(widgetId);
2404
- if (widgetGroup && typeof widgetGroup === 'object' && !widgetGroup.fn) {
2405
- const watchInfo = widgetGroup[propertyName];
2406
- if (watchInfo) {
2407
- delete widgetGroup[propertyName];
2408
- // Clean up empty widget groups
2409
- if (Object.keys(widgetGroup).length === 0) {
2410
- registry.delete(widgetId);
2411
- }
2412
- return true;
2413
- }
2414
- }
2415
- }
2416
- // Fallback to direct lookup
2417
- if (registry.has(identifier)) {
2418
- registry.delete(identifier);
2419
- return true;
2420
- }
2421
- return false;
2422
- };
2423
- /**
2424
- * Unwatches all watchers for a specific widget ID
2425
- */
2426
- const $unwatchAll = (widgetId) => {
2427
- if (!widgetId || typeof widgetId !== 'string') {
2428
- return 0;
2429
- }
2430
- const widgetGroup = registry.get(widgetId);
2431
- if (widgetGroup && typeof widgetGroup === 'object' && !widgetGroup.fn) {
2432
- const count = Object.keys(widgetGroup).length;
2433
- registry.delete(widgetId);
2434
- return count;
2435
- }
2436
- // Fallback: find all identifiers starting with this widget ID
2437
- let removedCount = 0;
2438
- const identifiersToRemove = [];
2439
- registry.forEach((_, key) => {
2440
- if (key.startsWith(widgetId + '_')) {
2441
- identifiersToRemove.push(key);
2442
- }
2262
+ isMuted: isMuted
2443
2263
  });
2444
- identifiersToRemove.forEach(identifier => {
2445
- if ($unwatch(identifier)) {
2446
- removedCount++;
2447
- }
2448
- });
2449
- return removedCount;
2450
- };
2451
- /**
2452
- * Unwatches all watchers for a specific scope (Page, Prefab, Partial, or App)
2453
- * Now works directly with the main registry instead of separate scoped registries
2454
- */
2455
- const $unwatchAllByScope = (scopeType, scopeName) => {
2456
- if (!scopeType) {
2457
- return 0;
2458
- }
2459
- let removedCount = 0;
2460
- const identifiersToRemove = [];
2461
- registry.forEach((value, key) => {
2462
- // Handle grouped structure (widget groups)
2463
- if (value && typeof value === 'object' && !value.fn) {
2464
- Object.entries(value).forEach(([propertyName, watchInfo]) => {
2465
- if (watchInfo?.scopeType === scopeType &&
2466
- (!scopeName || watchInfo.scopeName === scopeName)) {
2467
- identifiersToRemove.push(`${key}_${propertyName}`);
2468
- }
2469
- });
2470
- }
2471
- else {
2472
- // Direct watchInfo
2473
- const watchInfo = value;
2474
- if (watchInfo?.scopeType === scopeType &&
2475
- (!scopeName || watchInfo.scopeName === scopeName)) {
2476
- identifiersToRemove.push(key);
2477
- }
2478
- }
2479
- });
2480
- // Unwatch all collected identifiers
2481
- identifiersToRemove.forEach(identifier => {
2482
- if ($unwatch(identifier)) {
2483
- removedCount++;
2484
- }
2485
- });
2486
- return removedCount;
2487
- };
2488
- /**
2489
- * Processes a single watch info during trigger cycle
2490
- */
2491
- const processWatchInfo = (watchInfo) => {
2492
- if (!watchInfo?.fn || (watchInfo.isMuted?.() ?? false)) {
2493
- return false;
2494
- }
2495
- let newValue;
2496
- try {
2497
- newValue = watchInfo.fn();
2498
- }
2499
- catch (e) {
2500
- console.warn(`Error executing expression: '${watchInfo.expr}'`, e);
2501
- return false;
2502
- }
2503
- if (lodashEs.isEqual(newValue, watchInfo.last)) {
2504
- return false;
2505
- }
2506
- // Change detected
2507
- changedByWatch = true;
2508
- watchInfo.last = lodashEs.isObject(newValue) && !watchInfo.doNotClone
2509
- ? lodashEs.clone(newValue)
2510
- : newValue;
2511
- watchInfo.listener(newValue, watchInfo.last === newValue ? FIRST_TIME_WATCH : watchInfo.last);
2512
- changedByWatch = false;
2513
- return true;
2264
+ return () => $unwatch(identifier);
2514
2265
  };
2515
- /**
2516
- * Triggers all watchers
2517
- */
2518
- const triggerWatchers = (ignoreMuted = false) => {
2266
+ const $unwatch = identifier => registry.delete(identifier);
2267
+ let changedByWatch = false;
2268
+ const $RAF = window.requestAnimationFrame;
2269
+ let ngZone;
2270
+ const triggerWatchers = (ignoreMuted) => {
2519
2271
  if (muted && !ignoreMuted) {
2520
2272
  return;
2521
2273
  }
2274
+ const limit = 5;
2522
2275
  let pass = 1;
2523
2276
  let changeDetected;
2524
2277
  do {
2525
2278
  changeDetected = false;
2526
- registry.forEach((value) => {
2527
- // Handle grouped structure
2528
- if (value && typeof value === 'object' && !value.fn) {
2529
- Object.values(value).forEach((watchInfo) => {
2530
- if (processWatchInfo(watchInfo)) {
2531
- changeDetected = true;
2532
- }
2533
- });
2279
+ registry.forEach(watchInfo => {
2280
+ if (watchInfo.isMuted && watchInfo.isMuted()) {
2281
+ return;
2534
2282
  }
2535
- else {
2536
- // Direct watchInfo
2537
- if (processWatchInfo(value)) {
2538
- changeDetected = true;
2283
+ const fn = watchInfo.fn;
2284
+ const listener = watchInfo.listener;
2285
+ const ov = watchInfo.last;
2286
+ let nv;
2287
+ try {
2288
+ nv = fn();
2289
+ }
2290
+ catch (e) {
2291
+ console.warn(`error in executing expression: '${watchInfo.expr}'`);
2292
+ }
2293
+ if (!lodashEs.isEqual(nv, ov)) {
2294
+ changeDetected = true;
2295
+ changedByWatch = true;
2296
+ watchInfo.last = nv;
2297
+ // @ts-ignore
2298
+ if (lodashEs.isObject(nv) && !watchInfo.doNotClone && nv.__cloneable__ !== false) {
2299
+ watchInfo.last = lodashEs.clone(nv);
2539
2300
  }
2301
+ listener(nv, ov);
2302
+ resetChangeFromWatch();
2540
2303
  }
2541
2304
  });
2542
2305
  pass++;
2543
- } while (changeDetected && pass < MAX_WATCH_CYCLES);
2544
- if (changeDetected && pass === MAX_WATCH_CYCLES) {
2545
- console.warn(`Watch cycles exceeded limit of ${MAX_WATCH_CYCLES}`);
2306
+ } while (changeDetected && pass < limit);
2307
+ if (changeDetected && pass === limit) {
2308
+ console.warn(`Number of watch cycles gone above set limit of: ${limit} `);
2546
2309
  }
2547
2310
  };
2548
- // Angular zone integration
2549
- const setNgZone = (zone) => {
2550
- ngZone = zone;
2551
- };
2552
- const setAppRef = (ref) => {
2311
+ const setNgZone = zone => ngZone = zone;
2312
+ const setAppRef = ref => {
2553
2313
  appRef = ref;
2554
2314
  };
2555
2315
  const isChangeFromWatch = () => changedByWatch;
2556
- const resetChangeFromWatch = () => {
2557
- changedByWatch = false;
2558
- };
2559
- // Debounced trigger
2316
+ const resetChangeFromWatch = () => changedByWatch = false;
2317
+ window.watchRegistry = registry;
2318
+ let skipWatchers;
2560
2319
  const debouncedTriggerWatchers = debounce(() => {
2561
2320
  skipWatchers = true;
2562
2321
  ngZone.run(() => triggerWatchers());
2563
- }, DEBOUNCE_WAIT);
2564
- const $invokeWatchers = (force = false, ignoreMuted = false) => {
2322
+ }, 100);
2323
+ const $invokeWatchers = (force, ignoreMuted) => {
2565
2324
  if (force) {
2566
2325
  triggerWatchers(ignoreMuted);
2567
2326
  }
@@ -2575,8 +2334,7 @@
2575
2334
  };
2576
2335
  const $appDigest = (() => {
2577
2336
  let queued = false;
2578
- const $RAF = window.requestAnimationFrame;
2579
- return (force = false) => {
2337
+ return (force) => {
2580
2338
  if (!appRef) {
2581
2339
  return;
2582
2340
  }
@@ -2588,16 +2346,16 @@
2588
2346
  if (queued) {
2589
2347
  return;
2590
2348
  }
2591
- queued = true;
2592
- $RAF(() => {
2593
- ngZone.run(() => appRef.tick());
2594
- queued = false;
2595
- });
2349
+ else {
2350
+ queued = true;
2351
+ $RAF(() => {
2352
+ ngZone.run(() => appRef.tick());
2353
+ queued = false;
2354
+ });
2355
+ }
2596
2356
  }
2597
2357
  };
2598
2358
  })();
2599
- // Export registry for debugging
2600
- // (window as any).watchRegistry = registry;
2601
2359
 
2602
2360
  exports.ComponentType = void 0;
2603
2361
  (function (ComponentType) {
@@ -2694,7 +2452,6 @@
2694
2452
  SUPPORTED_AUDIO_FORMAT: /\.(mp3|ogg|webm|wma|3gp|wav|m4a)$/i,
2695
2453
  SUPPORTED_VIDEO_FORMAT: /\.(mp4|ogg|webm|wmv|mpeg|mpg|avi|mov)$/i,
2696
2454
  VALID_WEB_URL: /^(http[s]?:\/\/)(www\.){0,1}[a-zA-Z0-9=:?\/\.\-]+(\.[a-zA-Z]{2,5}[\.]{0,1})?/,
2697
- VALID_IMAGE_URL: /^(https?|blob|data|file|ftp):/i,
2698
2455
  REPLACE_PATTERN: /\$\{([^\}]+)\}/g,
2699
2456
  DATA_URL: /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*)\s*$/i,
2700
2457
  ISO_DATE_FORMAT: /(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})(\.\d+)?([+-]\d{2}:?\d{2}|Z)$/
@@ -2917,9 +2674,6 @@
2917
2674
  const isValidWebURL = (url) => {
2918
2675
  return (REGEX.VALID_WEB_URL).test(url);
2919
2676
  };
2920
- const isValidImageUrl = (url) => {
2921
- return (REGEX.VALID_IMAGE_URL).test(url?.trim());
2922
- };
2923
2677
  /*This function returns the url to the resource after checking the validity of url*/
2924
2678
  const getResourceURL = (urlString) => {
2925
2679
  return urlString;
@@ -4173,7 +3927,6 @@
4173
3927
  isPageable: isPageable,
4174
3928
  isSafari: isSafari,
4175
3929
  isTablet: isTablet,
4176
- isValidImageUrl: isValidImageUrl,
4177
3930
  isValidWebURL: isValidWebURL,
4178
3931
  isVideoFile: isVideoFile,
4179
3932
  loadScript: loadScript,
@@ -5406,8 +5159,6 @@
5406
5159
  exports.$parseEvent = $parseEvent;
5407
5160
  exports.$parseExpr = $parseExpr;
5408
5161
  exports.$unwatch = $unwatch;
5409
- exports.$unwatchAll = $unwatchAll;
5410
- exports.$unwatchAllByScope = $unwatchAllByScope;
5411
5162
  exports.$watch = $watch;
5412
5163
  exports.AbstractDialogService = AbstractDialogService;
5413
5164
  exports.AbstractHttpService = AbstractHttpService;
@@ -5531,7 +5282,6 @@
5531
5282
  exports.isObject = isObject;
5532
5283
  exports.isPageable = isPageable;
5533
5284
  exports.isSafari = isSafari;
5534
- exports.isValidImageUrl = isValidImageUrl;
5535
5285
  exports.isValidWebURL = isValidWebURL;
5536
5286
  exports.isVideoFile = isVideoFile;
5537
5287
  exports.loadScript = loadScript;
@@ -7,8 +7,8 @@ export { appendNode, insertBefore, insertAfter, removeNode, removeClass, addClas
7
7
  export * from './enums/enums';
8
8
  export * from './utils/event-notifier';
9
9
  export { $parseExpr, $parseEvent, registerFnByExpr, setPipeProvider, getFnByExpr, getFnForBindExpr, getFnForEventExpr } from './utils/expression-parser';
10
- export { isDefined, isObject, toBoolean, isIE, isAndroid, isAndroidTablet, isIphone, isIpod, isIpad, isIos, isSafari, isLargeTabletLandscape, isLargeTabletPortrait, isMobile, getAndroidVersion, isKitkatDevice, encodeUrl, encodeUrlParams, initCaps, spaceSeparate, replaceAt, periodSeparate, prettifyLabel, deHyphenate, prettifyLabels, isInsecureContentRequest, stringStartsWith, getEvaluatedExprValue, isImageFile, isAudioFile, isVideoFile, isValidImageUrl, isValidWebURL, getResourceURL, triggerFn, hasOffsetStr, getFormattedDate, getDateObj, addEventListenerOnElement, getClonedObject, getFiles, generateGUId, validateAccessRoles, getValidJSON, xmlToJson, findValueOf, extractType, isNumberType, isEmptyObject, scrollToElement, isElementInViewport, isPageable, replace, isDateTimeType, getValidDateObject, getNativeDateObject, getBlob, isEqualWithFields, loadStyleSheet, loadStyleSheets, loadScript, loadScripts, _WM_APP_PROJECT, setSessionStorageItem, getSessionStorageItem, noop, convertToBlob, AppConstants, openLink, fetchContent, toPromise, retryIfFails, getAbortableDefer, createCSSRule, getUrlParams, getMomentLocaleObject, getRouteNameFromLink, isAppleProduct, defer, executePromiseChain, isDataSourceEqual, validateDataSourceCtx, processFilterExpBindNode, extendProto, removeExtraSlashes, getDisplayDateTimeFormat, addForIdAttributes, adjustContainerPosition, adjustContainerRightEdges, setTranslation3dPosition, getWebkitTraslationMatrix, closePopover, detectChanges, triggerItemAction, getDatasourceFromExpr, extractCurrentItemExpr, findRootContainer, VALIDATOR, transformFileURI, appendScriptToHead, getAppSetting, setListClass, findParent, getNavClass, getSheetPositionClass } from './utils/utils';
11
- export { FIRST_TIME_WATCH, isFirstTimeChange, debounce, muteWatchers, unMuteWatchers, $watch, $unwatch, $unwatchAll, $unwatchAllByScope, setNgZone, setAppRef, isChangeFromWatch, resetChangeFromWatch, $invokeWatchers, $appDigest } from './utils/watcher';
10
+ export { isDefined, isObject, toBoolean, isIE, isAndroid, isAndroidTablet, isIphone, isIpod, isIpad, isIos, isSafari, isLargeTabletLandscape, isLargeTabletPortrait, isMobile, getAndroidVersion, isKitkatDevice, encodeUrl, encodeUrlParams, initCaps, spaceSeparate, replaceAt, periodSeparate, prettifyLabel, deHyphenate, prettifyLabels, isInsecureContentRequest, stringStartsWith, getEvaluatedExprValue, isImageFile, isAudioFile, isVideoFile, isValidWebURL, getResourceURL, triggerFn, hasOffsetStr, getFormattedDate, getDateObj, addEventListenerOnElement, getClonedObject, getFiles, generateGUId, validateAccessRoles, getValidJSON, xmlToJson, findValueOf, extractType, isNumberType, isEmptyObject, scrollToElement, isElementInViewport, isPageable, replace, isDateTimeType, getValidDateObject, getNativeDateObject, getBlob, isEqualWithFields, loadStyleSheet, loadStyleSheets, loadScript, loadScripts, _WM_APP_PROJECT, setSessionStorageItem, getSessionStorageItem, noop, convertToBlob, AppConstants, openLink, fetchContent, toPromise, retryIfFails, getAbortableDefer, createCSSRule, getUrlParams, getMomentLocaleObject, getRouteNameFromLink, isAppleProduct, defer, executePromiseChain, isDataSourceEqual, validateDataSourceCtx, processFilterExpBindNode, extendProto, removeExtraSlashes, getDisplayDateTimeFormat, addForIdAttributes, adjustContainerPosition, adjustContainerRightEdges, setTranslation3dPosition, getWebkitTraslationMatrix, closePopover, detectChanges, triggerItemAction, getDatasourceFromExpr, extractCurrentItemExpr, findRootContainer, VALIDATOR, transformFileURI, appendScriptToHead, getAppSetting, setListClass, findParent, getNavClass, getSheetPositionClass } from './utils/utils';
11
+ export { FIRST_TIME_WATCH, isFirstTimeChange, debounce, muteWatchers, unMuteWatchers, $watch, $unwatch, setNgZone, setAppRef, isChangeFromWatch, resetChangeFromWatch, $invokeWatchers, $appDigest } from './utils/watcher';
12
12
  export * from './utils/id-generator';
13
13
  export * from './types/types';
14
14
  export { Viewport } from './services/viewport.service';
@@ -23,4 +23,4 @@ export { StatePersistence } from './services/state-persistence.service';
23
23
  export { PaginationService } from './services/pagination.service';
24
24
  export * from './utils/wm-project-properties';
25
25
  export * from './utils/lru-cache';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsT0FBTyxFQUNILFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFVBQVUsRUFDVixXQUFXLEVBQ1gsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGFBQWEsRUFDYixXQUFXLEVBQ1gsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsRUFDZCxNQUFNLGFBQWEsQ0FBQztBQUNyQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLE9BQU8sRUFFSCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBRUgsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLGFBQWEsRUFDYixTQUFTLEVBQ1QsY0FBYyxFQUNkLGFBQWEsRUFDYixXQUFXLEVBQ1gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxFQUNkLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLFFBQVEsRUFDUixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLFlBQVksRUFDWixTQUFTLEVBQ1QsV0FBVyxFQUNYLFdBQVcsRUFDWCxZQUFZLEVBQ1osYUFBYSxFQUNiLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLE9BQU8sRUFDUCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixJQUFJLEVBQ0osYUFBYSxFQUNiLFlBQVksRUFDWixRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsS0FBSyxFQUNMLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLFlBQVksRUFDWixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxxQkFBcUIsRUFDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFlBQVksRUFDWixjQUFjLEVBQ2QsTUFBTSxFQUNOLFFBQVEsRUFDUixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsVUFBVSxFQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvYnVpbGQtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvY3VycmVuY3ktY29uc3RhbnRzJztcbmV4cG9ydCB7XG4gICAgYXBwZW5kTm9kZSxcbiAgICBpbnNlcnRCZWZvcmUsXG4gICAgaW5zZXJ0QWZ0ZXIsXG4gICAgcmVtb3ZlTm9kZSxcbiAgICByZW1vdmVDbGFzcyxcbiAgICBhZGRDbGFzcyxcbiAgICBzd2l0Y2hDbGFzcyxcbiAgICB0b2dnbGVDbGFzcyxcbiAgICBzZXRDU1MsXG4gICAgc2V0Q1NTRnJvbU9iaixcbiAgICBzZXRQcm9wZXJ0eSxcbiAgICBzZXRBdHRyLFxuICAgIHNldEh0bWwsXG4gICAgcmVtb3ZlQXR0cixcbiAgICBjcmVhdGVFbGVtZW50LFxuICAgIHRvRGltZW5zaW9uXG59IGZyb20gJy4vdXRpbHMvZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9ldmVudC1ub3RpZmllcic7XG5leHBvcnQge1xuICAgIFBhcnNlRXhwclJlc3VsdCxcbiAgICAkcGFyc2VFeHByLFxuICAgICRwYXJzZUV2ZW50LFxuICAgIHJlZ2lzdGVyRm5CeUV4cHIsXG4gICAgc2V0UGlwZVByb3ZpZGVyLFxuICAgIGdldEZuQnlFeHByLFxuICAgIGdldEZuRm9yQmluZEV4cHIsXG4gICAgZ2V0Rm5Gb3JFdmVudEV4cHJcbn0gZnJvbSAnLi91dGlscy9leHByZXNzaW9uLXBhcnNlcic7XG5leHBvcnQge1xuICAgIEVWRU5UX0xJRkUsXG4gICAgaXNEZWZpbmVkLFxuICAgIGlzT2JqZWN0LFxuICAgIHRvQm9vbGVhbixcbiAgICBpc0lFLFxuICAgIGlzQW5kcm9pZCxcbiAgICBpc0FuZHJvaWRUYWJsZXQsXG4gICAgaXNJcGhvbmUsXG4gICAgaXNJcG9kLFxuICAgIGlzSXBhZCxcbiAgICBpc0lvcyxcbiAgICBpc1NhZmFyaSxcbiAgICBpc0xhcmdlVGFibGV0TGFuZHNjYXBlLFxuICAgIGlzTGFyZ2VUYWJsZXRQb3J0cmFpdCxcbiAgICBpc01vYmlsZSxcbiAgICBnZXRBbmRyb2lkVmVyc2lvbixcbiAgICBpc0tpdGthdERldmljZSxcbiAgICBlbmNvZGVVcmwsXG4gICAgZW5jb2RlVXJsUGFyYW1zLFxuICAgIGluaXRDYXBzLFxuICAgIHNwYWNlU2VwYXJhdGUsXG4gICAgcmVwbGFjZUF0LFxuICAgIHBlcmlvZFNlcGFyYXRlLFxuICAgIHByZXR0aWZ5TGFiZWwsXG4gICAgZGVIeXBoZW5hdGUsXG4gICAgcHJldHRpZnlMYWJlbHMsXG4gICAgaXNJbnNlY3VyZUNvbnRlbnRSZXF1ZXN0LFxuICAgIHN0cmluZ1N0YXJ0c1dpdGgsXG4gICAgZ2V0RXZhbHVhdGVkRXhwclZhbHVlLFxuICAgIGlzSW1hZ2VGaWxlLFxuICAgIGlzQXVkaW9GaWxlLFxuICAgIGlzVmlkZW9GaWxlLFxuICAgIGlzVmFsaWRJbWFnZVVybCxcbiAgICBpc1ZhbGlkV2ViVVJMLFxuICAgIGdldFJlc291cmNlVVJMLFxuICAgIHRyaWdnZXJGbixcbiAgICBoYXNPZmZzZXRTdHIsXG4gICAgZ2V0Rm9ybWF0dGVkRGF0ZSxcbiAgICBnZXREYXRlT2JqLFxuICAgIGFkZEV2ZW50TGlzdGVuZXJPbkVsZW1lbnQsXG4gICAgZ2V0Q2xvbmVkT2JqZWN0LFxuICAgIGdldEZpbGVzLFxuICAgIGdlbmVyYXRlR1VJZCxcbiAgICB2YWxpZGF0ZUFjY2Vzc1JvbGVzLFxuICAgIGdldFZhbGlkSlNPTixcbiAgICB4bWxUb0pzb24sXG4gICAgZmluZFZhbHVlT2YsXG4gICAgZXh0cmFjdFR5cGUsXG4gICAgaXNOdW1iZXJUeXBlLFxuICAgIGlzRW1wdHlPYmplY3QsXG4gICAgc2Nyb2xsVG9FbGVtZW50LFxuICAgIGlzRWxlbWVudEluVmlld3BvcnQsXG4gICAgaXNQYWdlYWJsZSxcbiAgICByZXBsYWNlLFxuICAgIGlzRGF0ZVRpbWVUeXBlLFxuICAgIGdldFZhbGlkRGF0ZU9iamVjdCxcbiAgICBnZXROYXRpdmVEYXRlT2JqZWN0LFxuICAgIGdldEJsb2IsXG4gICAgaXNFcXVhbFdpdGhGaWVsZHMsXG4gICAgbG9hZFN0eWxlU2hlZXQsXG4gICAgbG9hZFN0eWxlU2hlZXRzLFxuICAgIGxvYWRTY3JpcHQsXG4gICAgbG9hZFNjcmlwdHMsXG4gICAgX1dNX0FQUF9QUk9KRUNULFxuICAgIHNldFNlc3Npb25TdG9yYWdlSXRlbSxcbiAgICBnZXRTZXNzaW9uU3RvcmFnZUl0ZW0sXG4gICAgbm9vcCxcbiAgICBjb252ZXJ0VG9CbG9iLFxuICAgIEFwcENvbnN0YW50cyxcbiAgICBvcGVuTGluayxcbiAgICBmZXRjaENvbnRlbnQsXG4gICAgdG9Qcm9taXNlLFxuICAgIHJldHJ5SWZGYWlscyxcbiAgICBnZXRBYm9ydGFibGVEZWZlcixcbiAgICBjcmVhdGVDU1NSdWxlLFxuICAgIGdldFVybFBhcmFtcyxcbiAgICBnZXRNb21lbnRMb2NhbGVPYmplY3QsXG4gICAgZ2V0Um91dGVOYW1lRnJvbUxpbmssXG4gICAgaXNBcHBsZVByb2R1Y3QsXG4gICAgZGVmZXIsXG4gICAgZXhlY3V0ZVByb21pc2VDaGFpbixcbiAgICBpc0RhdGFTb3VyY2VFcXVhbCxcbiAgICB2YWxpZGF0ZURhdGFTb3VyY2VDdHgsXG4gICAgcHJvY2Vzc0ZpbHRlckV4cEJpbmROb2RlLFxuICAgIGV4dGVuZFByb3RvLFxuICAgIHJlbW92ZUV4dHJhU2xhc2hlcyxcbiAgICBnZXREaXNwbGF5RGF0ZVRpbWVGb3JtYXQsXG4gICAgYWRkRm9ySWRBdHRyaWJ1dGVzLFxuICAgIGFkanVzdENvbnRhaW5lclBvc2l0aW9uLFxuICAgIGFkanVzdENvbnRhaW5lclJpZ2h0RWRnZXMsXG4gICAgc2V0VHJhbnNsYXRpb24zZFBvc2l0aW9uLFxuICAgIGdldFdlYmtpdFRyYXNsYXRpb25NYXRyaXgsXG4gICAgY2xvc2VQb3BvdmVyLFxuICAgIGRldGVjdENoYW5nZXMsXG4gICAgdHJpZ2dlckl0ZW1BY3Rpb24sXG4gICAgZ2V0RGF0YXNvdXJjZUZyb21FeHByLFxuICAgIGV4dHJhY3RDdXJyZW50SXRlbUV4cHIsXG4gICAgZmluZFJvb3RDb250YWluZXIsXG4gICAgVkFMSURBVE9SLFxuICAgIHRyYW5zZm9ybUZpbGVVUkksXG4gICAgYXBwZW5kU2NyaXB0VG9IZWFkLFxuICAgIGdldEFwcFNldHRpbmcsXG4gICAgc2V0TGlzdENsYXNzLFxuICAgIGZpbmRQYXJlbnQsXG4gICAgZ2V0TmF2Q2xhc3MsXG4gICAgZ2V0U2hlZXRQb3NpdGlvbkNsYXNzXG59IGZyb20gJy4vdXRpbHMvdXRpbHMnO1xuZXhwb3J0IHtcbiAgICBGSVJTVF9USU1FX1dBVENILFxuICAgIGlzRmlyc3RUaW1lQ2hhbmdlLFxuICAgIGRlYm91bmNlLFxuICAgIG11dGVXYXRjaGVycyxcbiAgICB1bk11dGVXYXRjaGVycyxcbiAgICAkd2F0Y2gsXG4gICAgJHVud2F0Y2gsXG4gICAgJHVud2F0Y2hBbGwsXG4gICAgJHVud2F0Y2hBbGxCeVNjb3BlLFxuICAgIHNldE5nWm9uZSxcbiAgICBzZXRBcHBSZWYsXG4gICAgaXNDaGFuZ2VGcm9tV2F0Y2gsXG4gICAgcmVzZXRDaGFuZ2VGcm9tV2F0Y2gsXG4gICAgJGludm9rZVdhdGNoZXJzLFxuICAgICRhcHBEaWdlc3Rcbn0gZnJvbSAnLi91dGlscy93YXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvaWQtZ2VuZXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvdHlwZXMnO1xuZXhwb3J0IHsgVmlld3BvcnQsIFZpZXdwb3J0RXZlbnQgfSBmcm9tICcuL3NlcnZpY2VzL3ZpZXdwb3J0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb25zdGFudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2ZpZWxkLXR5cGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2ZpZWxkLXdpZGdldC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc2NyaXB0LWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdXNlci1jdXN0b20tcGlwZS1tYW5hZ2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jdXN0b20taWNvbnMtbG9hZGVyLnNlcnZpY2UnO1xuZXhwb3J0IHsgU3RhdGVQZXJzaXN0ZW5jZSB9IGZyb20gJy4vc2VydmljZXMvc3RhdGUtcGVyc2lzdGVuY2Uuc2VydmljZSc7XG5leHBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcGFnaW5hdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvd20tcHJvamVjdC1wcm9wZXJ0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvbHJ1LWNhY2hlJztcbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsT0FBTyxFQUNILFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFVBQVUsRUFDVixXQUFXLEVBQ1gsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGFBQWEsRUFDYixXQUFXLEVBQ1gsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsRUFDZCxNQUFNLGFBQWEsQ0FBQztBQUNyQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLE9BQU8sRUFFSCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBRUgsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLGFBQWEsRUFDYixTQUFTLEVBQ1QsY0FBYyxFQUNkLGFBQWEsRUFDYixXQUFXLEVBQ1gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGFBQWEsRUFDYixjQUFjLEVBQ2QsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLHlCQUF5QixFQUN6QixlQUFlLEVBQ2YsUUFBUSxFQUNSLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLFNBQVMsRUFDVCxXQUFXLEVBQ1gsV0FBVyxFQUNYLFlBQVksRUFDWixhQUFhLEVBQ2IsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsT0FBTyxFQUNQLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLGVBQWUsRUFDZixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLElBQUksRUFDSixhQUFhLEVBQ2IsWUFBWSxFQUNaLFFBQVEsRUFDUixZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFlBQVksRUFDWixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxLQUFLLEVBQ0wsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsWUFBWSxFQUNaLGFBQWEsRUFDYixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLHFCQUFxQixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsWUFBWSxFQUNaLGNBQWMsRUFDZCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsVUFBVSxFQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvYnVpbGQtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvY3VycmVuY3ktY29uc3RhbnRzJztcbmV4cG9ydCB7XG4gICAgYXBwZW5kTm9kZSxcbiAgICBpbnNlcnRCZWZvcmUsXG4gICAgaW5zZXJ0QWZ0ZXIsXG4gICAgcmVtb3ZlTm9kZSxcbiAgICByZW1vdmVDbGFzcyxcbiAgICBhZGRDbGFzcyxcbiAgICBzd2l0Y2hDbGFzcyxcbiAgICB0b2dnbGVDbGFzcyxcbiAgICBzZXRDU1MsXG4gICAgc2V0Q1NTRnJvbU9iaixcbiAgICBzZXRQcm9wZXJ0eSxcbiAgICBzZXRBdHRyLFxuICAgIHNldEh0bWwsXG4gICAgcmVtb3ZlQXR0cixcbiAgICBjcmVhdGVFbGVtZW50LFxuICAgIHRvRGltZW5zaW9uXG59IGZyb20gJy4vdXRpbHMvZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9ldmVudC1ub3RpZmllcic7XG5leHBvcnQge1xuICAgIFBhcnNlRXhwclJlc3VsdCxcbiAgICAkcGFyc2VFeHByLFxuICAgICRwYXJzZUV2ZW50LFxuICAgIHJlZ2lzdGVyRm5CeUV4cHIsXG4gICAgc2V0UGlwZVByb3ZpZGVyLFxuICAgIGdldEZuQnlFeHByLFxuICAgIGdldEZuRm9yQmluZEV4cHIsXG4gICAgZ2V0Rm5Gb3JFdmVudEV4cHJcbn0gZnJvbSAnLi91dGlscy9leHByZXNzaW9uLXBhcnNlcic7XG5leHBvcnQge1xuICAgIEVWRU5UX0xJRkUsXG4gICAgaXNEZWZpbmVkLFxuICAgIGlzT2JqZWN0LFxuICAgIHRvQm9vbGVhbixcbiAgICBpc0lFLFxuICAgIGlzQW5kcm9pZCxcbiAgICBpc0FuZHJvaWRUYWJsZXQsXG4gICAgaXNJcGhvbmUsXG4gICAgaXNJcG9kLFxuICAgIGlzSXBhZCxcbiAgICBpc0lvcyxcbiAgICBpc1NhZmFyaSxcbiAgICBpc0xhcmdlVGFibGV0TGFuZHNjYXBlLFxuICAgIGlzTGFyZ2VUYWJsZXRQb3J0cmFpdCxcbiAgICBpc01vYmlsZSxcbiAgICBnZXRBbmRyb2lkVmVyc2lvbixcbiAgICBpc0tpdGthdERldmljZSxcbiAgICBlbmNvZGVVcmwsXG4gICAgZW5jb2RlVXJsUGFyYW1zLFxuICAgIGluaXRDYXBzLFxuICAgIHNwYWNlU2VwYXJhdGUsXG4gICAgcmVwbGFjZUF0LFxuICAgIHBlcmlvZFNlcGFyYXRlLFxuICAgIHByZXR0aWZ5TGFiZWwsXG4gICAgZGVIeXBoZW5hdGUsXG4gICAgcHJldHRpZnlMYWJlbHMsXG4gICAgaXNJbnNlY3VyZUNvbnRlbnRSZXF1ZXN0LFxuICAgIHN0cmluZ1N0YXJ0c1dpdGgsXG4gICAgZ2V0RXZhbHVhdGVkRXhwclZhbHVlLFxuICAgIGlzSW1hZ2VGaWxlLFxuICAgIGlzQXVkaW9GaWxlLFxuICAgIGlzVmlkZW9GaWxlLFxuICAgIGlzVmFsaWRXZWJVUkwsXG4gICAgZ2V0UmVzb3VyY2VVUkwsXG4gICAgdHJpZ2dlckZuLFxuICAgIGhhc09mZnNldFN0cixcbiAgICBnZXRGb3JtYXR0ZWREYXRlLFxuICAgIGdldERhdGVPYmosXG4gICAgYWRkRXZlbnRMaXN0ZW5lck9uRWxlbWVudCxcbiAgICBnZXRDbG9uZWRPYmplY3QsXG4gICAgZ2V0RmlsZXMsXG4gICAgZ2VuZXJhdGVHVUlkLFxuICAgIHZhbGlkYXRlQWNjZXNzUm9sZXMsXG4gICAgZ2V0VmFsaWRKU09OLFxuICAgIHhtbFRvSnNvbixcbiAgICBmaW5kVmFsdWVPZixcbiAgICBleHRyYWN0VHlwZSxcbiAgICBpc051bWJlclR5cGUsXG4gICAgaXNFbXB0eU9iamVjdCxcbiAgICBzY3JvbGxUb0VsZW1lbnQsXG4gICAgaXNFbGVtZW50SW5WaWV3cG9ydCxcbiAgICBpc1BhZ2VhYmxlLFxuICAgIHJlcGxhY2UsXG4gICAgaXNEYXRlVGltZVR5cGUsXG4gICAgZ2V0VmFsaWREYXRlT2JqZWN0LFxuICAgIGdldE5hdGl2ZURhdGVPYmplY3QsXG4gICAgZ2V0QmxvYixcbiAgICBpc0VxdWFsV2l0aEZpZWxkcyxcbiAgICBsb2FkU3R5bGVTaGVldCxcbiAgICBsb2FkU3R5bGVTaGVldHMsXG4gICAgbG9hZFNjcmlwdCxcbiAgICBsb2FkU2NyaXB0cyxcbiAgICBfV01fQVBQX1BST0pFQ1QsXG4gICAgc2V0U2Vzc2lvblN0b3JhZ2VJdGVtLFxuICAgIGdldFNlc3Npb25TdG9yYWdlSXRlbSxcbiAgICBub29wLFxuICAgIGNvbnZlcnRUb0Jsb2IsXG4gICAgQXBwQ29uc3RhbnRzLFxuICAgIG9wZW5MaW5rLFxuICAgIGZldGNoQ29udGVudCxcbiAgICB0b1Byb21pc2UsXG4gICAgcmV0cnlJZkZhaWxzLFxuICAgIGdldEFib3J0YWJsZURlZmVyLFxuICAgIGNyZWF0ZUNTU1J1bGUsXG4gICAgZ2V0VXJsUGFyYW1zLFxuICAgIGdldE1vbWVudExvY2FsZU9iamVjdCxcbiAgICBnZXRSb3V0ZU5hbWVGcm9tTGluayxcbiAgICBpc0FwcGxlUHJvZHVjdCxcbiAgICBkZWZlcixcbiAgICBleGVjdXRlUHJvbWlzZUNoYWluLFxuICAgIGlzRGF0YVNvdXJjZUVxdWFsLFxuICAgIHZhbGlkYXRlRGF0YVNvdXJjZUN0eCxcbiAgICBwcm9jZXNzRmlsdGVyRXhwQmluZE5vZGUsXG4gICAgZXh0ZW5kUHJvdG8sXG4gICAgcmVtb3ZlRXh0cmFTbGFzaGVzLFxuICAgIGdldERpc3BsYXlEYXRlVGltZUZvcm1hdCxcbiAgICBhZGRGb3JJZEF0dHJpYnV0ZXMsXG4gICAgYWRqdXN0Q29udGFpbmVyUG9zaXRpb24sXG4gICAgYWRqdXN0Q29udGFpbmVyUmlnaHRFZGdlcyxcbiAgICBzZXRUcmFuc2xhdGlvbjNkUG9zaXRpb24sXG4gICAgZ2V0V2Via2l0VHJhc2xhdGlvbk1hdHJpeCxcbiAgICBjbG9zZVBvcG92ZXIsXG4gICAgZGV0ZWN0Q2hhbmdlcyxcbiAgICB0cmlnZ2VySXRlbUFjdGlvbixcbiAgICBnZXREYXRhc291cmNlRnJvbUV4cHIsXG4gICAgZXh0cmFjdEN1cnJlbnRJdGVtRXhwcixcbiAgICBmaW5kUm9vdENvbnRhaW5lcixcbiAgICBWQUxJREFUT1IsXG4gICAgdHJhbnNmb3JtRmlsZVVSSSxcbiAgICBhcHBlbmRTY3JpcHRUb0hlYWQsXG4gICAgZ2V0QXBwU2V0dGluZyxcbiAgICBzZXRMaXN0Q2xhc3MsXG4gICAgZmluZFBhcmVudCxcbiAgICBnZXROYXZDbGFzcyxcbiAgICBnZXRTaGVldFBvc2l0aW9uQ2xhc3Ncbn0gZnJvbSAnLi91dGlscy91dGlscyc7XG5leHBvcnQge1xuICAgIEZJUlNUX1RJTUVfV0FUQ0gsXG4gICAgaXNGaXJzdFRpbWVDaGFuZ2UsXG4gICAgZGVib3VuY2UsXG4gICAgbXV0ZVdhdGNoZXJzLFxuICAgIHVuTXV0ZVdhdGNoZXJzLFxuICAgICR3YXRjaCxcbiAgICAkdW53YXRjaCxcbiAgICBzZXROZ1pvbmUsXG4gICAgc2V0QXBwUmVmLFxuICAgIGlzQ2hhbmdlRnJvbVdhdGNoLFxuICAgIHJlc2V0Q2hhbmdlRnJvbVdhdGNoLFxuICAgICRpbnZva2VXYXRjaGVycyxcbiAgICAkYXBwRGlnZXN0XG59IGZyb20gJy4vdXRpbHMvd2F0Y2hlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2lkLWdlbmVyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3R5cGVzJztcbmV4cG9ydCB7IFZpZXdwb3J0LCBWaWV3cG9ydEV2ZW50IH0gZnJvbSAnLi9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29uc3RhbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9maWVsZC10eXBlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9maWVsZC13aWRnZXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3NjcmlwdC1sb2FkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3VzZXItY3VzdG9tLXBpcGUtbWFuYWdlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY3VzdG9tLWljb25zLWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCB7IFN0YXRlUGVyc2lzdGVuY2UgfSBmcm9tICcuL3NlcnZpY2VzL3N0YXRlLXBlcnNpc3RlbmNlLnNlcnZpY2UnO1xuZXhwb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3dtLXByb2plY3QtcHJvcGVydGllcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2xydS1jYWNoZSc7XG4iXX0=