construct-hub 0.3.313 → 0.3.316

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. package/.gitattributes +1 -0
  2. package/.jsii +199 -93
  3. package/API.md +86 -0
  4. package/changelog.md +2 -2
  5. package/lib/api.d.ts +1 -0
  6. package/lib/api.js +2 -1
  7. package/lib/backend/catalog-builder/index.d.ts +5 -0
  8. package/lib/backend/catalog-builder/index.js +2 -1
  9. package/lib/backend/deny-list/deny-list.d.ts +2 -0
  10. package/lib/backend/deny-list/deny-list.js +2 -1
  11. package/lib/backend/deny-list/prune.d.ts +5 -0
  12. package/lib/backend/deny-list/prune.js +3 -1
  13. package/lib/backend/ingestion/index.d.ts +2 -0
  14. package/lib/backend/ingestion/index.js +3 -1
  15. package/lib/backend/inventory/index.d.ts +5 -0
  16. package/lib/backend/inventory/index.js +3 -1
  17. package/lib/backend/orchestration/index.d.ts +5 -0
  18. package/lib/backend/orchestration/index.js +3 -1
  19. package/lib/construct-hub.js +13 -3
  20. package/lib/monitoring/index.js +1 -1
  21. package/lib/overview-dashboard/api.d.ts +21 -0
  22. package/lib/overview-dashboard/api.js +3 -0
  23. package/lib/overview-dashboard/index.d.ts +53 -0
  24. package/lib/overview-dashboard/index.js +168 -0
  25. package/lib/overview-dashboard/sqs-dlq-stats-widget-function.d.ts +7 -0
  26. package/lib/overview-dashboard/sqs-dlq-stats-widget-function.js +21 -0
  27. package/lib/overview-dashboard/sqs-dlq-stats-widget-function.lambda.bundle/index.js +181 -0
  28. package/lib/overview-dashboard/sqs-dlq-stats-widget-function.lambda.bundle/index.js.map +7 -0
  29. package/lib/overview-dashboard/sqs-dlq-stats-widget-function.lambda.d.ts +56 -0
  30. package/lib/overview-dashboard/sqs-dlq-stats-widget-function.lambda.js +147 -0
  31. package/lib/overview-dashboard/sqs-dlq-widget.d.ts +59 -0
  32. package/lib/overview-dashboard/sqs-dlq-widget.js +82 -0
  33. package/lib/package-source.d.ts +5 -0
  34. package/lib/package-source.js +1 -1
  35. package/lib/package-sources/code-artifact.d.ts +1 -1
  36. package/lib/package-sources/code-artifact.js +5 -3
  37. package/lib/package-sources/npmjs.d.ts +1 -1
  38. package/lib/package-sources/npmjs.js +7 -3
  39. package/lib/package-tag/index.js +3 -3
  40. package/lib/package-tag-group/index.js +2 -2
  41. package/lib/preload-file/index.js +1 -1
  42. package/lib/s3/storage.js +1 -1
  43. package/lib/spdx-license.js +1 -1
  44. package/lib/webapp/index.d.ts +5 -0
  45. package/lib/webapp/index.js +2 -1
  46. package/package.json +3 -1
  47. package/releasetag.txt +1 -1
  48. package/version.txt +1 -1
package/API.md CHANGED
@@ -1541,6 +1541,7 @@ const packageSourceBindOptions: PackageSourceBindOptions = { ... }
1541
1541
  | <code><a href="#construct-hub.PackageSourceBindOptions.property.ingestion">ingestion</a></code> | <code>@aws-cdk/aws-iam.IGrantable</code> | The `IGrantable` that will process downstream messages from the bound package source. |
1542
1542
  | <code><a href="#construct-hub.PackageSourceBindOptions.property.licenseList">licenseList</a></code> | <code><a href="#construct-hub.ILicenseList">ILicenseList</a></code> | The license list applied by the bound Construct Hub instance. |
1543
1543
  | <code><a href="#construct-hub.PackageSourceBindOptions.property.monitoring">monitoring</a></code> | <code><a href="#construct-hub.IMonitoring">IMonitoring</a></code> | The monitoring instance to use for registering alarms, etc. |
1544
+ | <code><a href="#construct-hub.PackageSourceBindOptions.property.overviewDashboard">overviewDashboard</a></code> | <code><a href="#construct-hub.IOverviewDashboard">IOverviewDashboard</a></code> | The overview dashboard to add widgets to. |
1544
1545
  | <code><a href="#construct-hub.PackageSourceBindOptions.property.queue">queue</a></code> | <code>@aws-cdk/aws-sqs.IQueue</code> | The SQS queue to which messages should be sent. |
1545
1546
  | <code><a href="#construct-hub.PackageSourceBindOptions.property.denyList">denyList</a></code> | <code><a href="#construct-hub.IDenyList">IDenyList</a></code> | The configured `DenyList` for the bound Construct Hub instance, if any. |
1546
1547
  | <code><a href="#construct-hub.PackageSourceBindOptions.property.repository">repository</a></code> | <code><a href="#construct-hub.IRepository">IRepository</a></code> | The CodeArtifact repository that is internally used by ConstructHub. |
@@ -1602,6 +1603,18 @@ The monitoring instance to use for registering alarms, etc.
1602
1603
 
1603
1604
  ---
1604
1605
 
1606
+ ##### `overviewDashboard`<sup>Required</sup> <a name="overviewDashboard" id="construct-hub.PackageSourceBindOptions.property.overviewDashboard"></a>
1607
+
1608
+ ```typescript
1609
+ public readonly overviewDashboard: IOverviewDashboard;
1610
+ ```
1611
+
1612
+ - *Type:* <a href="#construct-hub.IOverviewDashboard">IOverviewDashboard</a>
1613
+
1614
+ The overview dashboard to add widgets to.
1615
+
1616
+ ---
1617
+
1605
1618
  ##### `queue`<sup>Required</sup> <a name="queue" id="construct-hub.PackageSourceBindOptions.property.queue"></a>
1606
1619
 
1607
1620
  ```typescript
@@ -10642,6 +10655,79 @@ the alarm to be added.
10642
10655
  ---
10643
10656
 
10644
10657
 
10658
+ ### IOverviewDashboard <a name="IOverviewDashboard" id="construct-hub.IOverviewDashboard"></a>
10659
+
10660
+ - *Implemented By:* <a href="#construct-hub.IOverviewDashboard">IOverviewDashboard</a>
10661
+
10662
+ ConstructHub overview dashboard exposed to extension points.
10663
+
10664
+ #### Methods <a name="Methods" id="Methods"></a>
10665
+
10666
+ | **Name** | **Description** |
10667
+ | --- | --- |
10668
+ | <code><a href="#construct-hub.IOverviewDashboard.addConcurrentExecutionMetricToDashboard">addConcurrentExecutionMetricToDashboard</a></code> | Adds a metric widget to the overview dashboard showing the total number concurrent executions of a Lambda function and the percentage of SERVICE_QUOTA utilized by the function. |
10669
+ | <code><a href="#construct-hub.IOverviewDashboard.addDLQMetricToDashboard">addDLQMetricToDashboard</a></code> | Adds widgets to overview dashboard with link to the dashboard and number of visible messages. |
10670
+
10671
+ ---
10672
+
10673
+ ##### `addConcurrentExecutionMetricToDashboard` <a name="addConcurrentExecutionMetricToDashboard" id="construct-hub.IOverviewDashboard.addConcurrentExecutionMetricToDashboard"></a>
10674
+
10675
+ ```typescript
10676
+ public addConcurrentExecutionMetricToDashboard(fn: IFunction, name?: string): void
10677
+ ```
10678
+
10679
+ Adds a metric widget to the overview dashboard showing the total number concurrent executions of a Lambda function and the percentage of SERVICE_QUOTA utilized by the function.
10680
+
10681
+ This can be
10682
+ used to see which function has the most impact of the service quota.
10683
+
10684
+ ###### `fn`<sup>Required</sup> <a name="fn" id="construct-hub.IOverviewDashboard.addConcurrentExecutionMetricToDashboard.parameter.fn"></a>
10685
+
10686
+ - *Type:* @aws-cdk/aws-lambda.IFunction
10687
+
10688
+ Lambda function to be monitored.
10689
+
10690
+ ---
10691
+
10692
+ ###### `name`<sup>Optional</sup> <a name="name" id="construct-hub.IOverviewDashboard.addConcurrentExecutionMetricToDashboard.parameter.name"></a>
10693
+
10694
+ - *Type:* string
10695
+
10696
+ ---
10697
+
10698
+ ##### `addDLQMetricToDashboard` <a name="addDLQMetricToDashboard" id="construct-hub.IOverviewDashboard.addDLQMetricToDashboard"></a>
10699
+
10700
+ ```typescript
10701
+ public addDLQMetricToDashboard(name: string, deadLetterQueue: IQueue, reDriveFunction?: IFunction): void
10702
+ ```
10703
+
10704
+ Adds widgets to overview dashboard with link to the dashboard and number of visible messages.
10705
+
10706
+ ###### `name`<sup>Required</sup> <a name="name" id="construct-hub.IOverviewDashboard.addDLQMetricToDashboard.parameter.name"></a>
10707
+
10708
+ - *Type:* string
10709
+
10710
+ of the DLQ that will be used in the dashboard.
10711
+
10712
+ ---
10713
+
10714
+ ###### `deadLetterQueue`<sup>Required</sup> <a name="deadLetterQueue" id="construct-hub.IOverviewDashboard.addDLQMetricToDashboard.parameter.deadLetterQueue"></a>
10715
+
10716
+ - *Type:* @aws-cdk/aws-sqs.IQueue
10717
+
10718
+ Dead Letter Queue to be used in the dashboard.
10719
+
10720
+ ---
10721
+
10722
+ ###### `reDriveFunction`<sup>Optional</sup> <a name="reDriveFunction" id="construct-hub.IOverviewDashboard.addDLQMetricToDashboard.parameter.reDriveFunction"></a>
10723
+
10724
+ - *Type:* @aws-cdk/aws-lambda.IFunction
10725
+
10726
+ a lambda function that will be used to re-drive the DLQ.
10727
+
10728
+ ---
10729
+
10730
+
10645
10731
  ### IPackageSource <a name="IPackageSource" id="construct-hub.IPackageSource"></a>
10646
10732
 
10647
10733
  - *Implemented By:* construct-hub.sources.CodeArtifact, construct-hub.sources.NpmJs, <a href="#construct-hub.IPackageSource">IPackageSource</a>
package/changelog.md CHANGED
@@ -1,7 +1,7 @@
1
1
 
2
- ### [0.3.313](https://github.com/cdklabs/construct-hub/compare/v0.3.312...v0.3.313) (2022-04-11)
2
+ ### [0.3.316](https://github.com/cdklabs/construct-hub/compare/v0.3.315...v0.3.316) (2022-04-12)
3
3
 
4
4
 
5
5
  ### Features
6
6
 
7
- * add back go doc generation ([#844](https://github.com/cdklabs/construct-hub/issues/844)) ([9055dbd](https://github.com/cdklabs/construct-hub/commit/9055dbd48651c4f14303e1c9b03f8244deee998b))
7
+ * add overview dashboard shows glanceable info for oncall ([#829](https://github.com/cdklabs/construct-hub/issues/829)) ([0d8dd1b](https://github.com/cdklabs/construct-hub/commit/0d8dd1ba75b7bcb6fe778ffaac5dba776696f7c7))
package/lib/api.d.ts CHANGED
@@ -5,6 +5,7 @@ export * from './backend/deny-list/api';
5
5
  export * from './backend/license-list/api';
6
6
  export * from './codeartifact/api';
7
7
  export * from './monitoring/api';
8
+ export * from './overview-dashboard/api';
8
9
  /**
9
10
  * Domain configuration for the website.
10
11
  */
package/lib/api.js CHANGED
@@ -15,4 +15,5 @@ __exportStar(require("./backend/deny-list/api"), exports);
15
15
  __exportStar(require("./backend/license-list/api"), exports);
16
16
  __exportStar(require("./codeartifact/api"), exports);
17
17
  __exportStar(require("./monitoring/api"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUVBQXFFOzs7Ozs7Ozs7Ozs7QUFNckUsMERBQXdDO0FBQ3hDLDZEQUEyQztBQUMzQyxxREFBbUM7QUFDbkMsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdGhpcyBmaWxlIGluY2x1ZGVzIHR5cGVzIHRoYXQgYXJlIHBhcnQgb2YgdGhlIGxpYnJhcnkncyBwdWJsaWMgQVBJXG5cbmltcG9ydCAqIGFzIGNlcnRpZmljYXRlbWFuYWdlciBmcm9tICdAYXdzLWNkay9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyJztcbmltcG9ydCB7IElBbGFybUFjdGlvbiB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIHJvdXRlNTMgZnJvbSAnQGF3cy1jZGsvYXdzLXJvdXRlNTMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2JhY2tlbmQvZGVueS1saXN0L2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2JhY2tlbmQvbGljZW5zZS1saXN0L2FwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NvZGVhcnRpZmFjdC9hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9tb25pdG9yaW5nL2FwaSc7XG5cbi8qKlxuICogRG9tYWluIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB3ZWJzaXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvbWFpbiB7XG4gIC8qKlxuICAgKiBUaGUgcm9vdCBkb21haW4gbmFtZSB3aGVyZSB0aGlzIGluc3RhbmNlIG9mIENvbnN0cnVjdCBIdWIgd2lsbCBiZSBzZXJ2ZWQuXG4gICAqL1xuICByZWFkb25seSB6b25lOiByb3V0ZTUzLklIb3N0ZWRab25lO1xuXG4gIC8qKlxuICAgICogVGhlIGNlcnRpZmljYXRlIHRvIHVzZSBmb3Igc2VydmluZyB0aGUgQ29uc3RydWN0IEh1YiBvdmVyIGEgY3VzdG9tIGRvbWFpbi5cbiAgICAqXG4gICAgKiBAZGVmYXVsdCAtIGEgRE5TLVZhbGlkYXRlZCBjZXJ0aWZpY2F0ZSB3aWxsIGJlIHByb3Zpc2lvbmVkIHVzaW5nIHRoZVxuICAgICogICAgICAgICAgICBwcm92aWRlZCBgaG9zdGVkWm9uZWAuXG4gICAgKi9cbiAgcmVhZG9ubHkgY2VydDogY2VydGlmaWNhdGVtYW5hZ2VyLklDZXJ0aWZpY2F0ZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY2VydGlmaWNhdGUgc2hvdWxkIGJlIG1vbml0b3JlZCBmb3IgZXhwaXJhdGlvbiwgbWVhbmluZyBoaWdoXG4gICAqIHNldmVyaXR5IGFsYXJtcyB3aWxsIGJlIHJhaXNlZCBpZiBpdCBpcyBkdWUgdG8gZXhwaXJlIGluIGxlc3MgdGhhbiA0NSBkYXlzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBtb25pdG9yQ2VydGlmaWNhdGVFeHBpcmF0aW9uPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBDbG91ZFdhdGNoIGFsYXJtIGFjdGlvbnMgdG8gcGVyZm9ybS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbGFybUFjdGlvbnMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgQ2xvdWRXYXRjaCBhbGFybSBhY3Rpb24gdG8gdGFrZSBmb3IgYWxhcm1zIG9mIGhpZ2gtc2V2ZXJpdHlcbiAgICogYWxhcm1zLlxuICAgKlxuICAgKiBUaGlzIG11c3QgYmUgYW4gQVJOIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBDbG91ZFdhdGNoIGFsYXJtcy5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbW9uaXRvcmluZy9BbGFybVRoYXRTZW5kc0VtYWlsLmh0bWwjYWxhcm1zLWFuZC1hY3Rpb25zXG4gICAqL1xuICByZWFkb25seSBoaWdoU2V2ZXJpdHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDbG91ZFdhdGNoIGFsYXJtIGFjdGlvbiB0byB0YWtlIGZvciBhbGFybXMgb2YgaGlnaC1zZXZlcml0eSBhbGFybXMuXG4gICAqXG4gICAqIFRoaXMgbXVzdCBiZSBhbiBBUk4gdGhhdCBjYW4gYmUgdXNlZCB3aXRoIENsb3VkV2F0Y2ggYWxhcm1zLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9tb25pdG9yaW5nL0FsYXJtVGhhdFNlbmRzRW1haWwuaHRtbCNhbGFybXMtYW5kLWFjdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hTZXZlcml0eUFjdGlvbj86IElBbGFybUFjdGlvbjtcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgQ2xvdWRXYXRjaCBhbGFybSBhY3Rpb24gdG8gdGFrZSBmb3IgYWxhcm1zIG9mIG5vcm1hbFxuICAgKiBzZXZlcml0eS5cbiAgICpcbiAgICogVGhpcyBtdXN0IGJlIGFuIEFSTiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggQ2xvdWRXYXRjaCBhbGFybXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L21vbml0b3JpbmcvQWxhcm1UaGF0U2VuZHNFbWFpbC5odG1sI2FsYXJtcy1hbmQtYWN0aW9uc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFjdGlvbnMgYXJlIHRha2VuIGluIHJlc3BvbnNlIHRvIGFsYXJtcyBvZiBub3JtYWwgc2V2ZXJpdHlcbiAgICovXG4gIHJlYWRvbmx5IG5vcm1hbFNldmVyaXR5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRXYXRjaCBhbGFybSBhY3Rpb24gdG8gdGFrZSBmb3IgYWxhcm1zIG9mIG5vcm1hbCBzZXZlcml0eS5cbiAgICpcbiAgICogVGhpcyBtdXN0IGJlIGFuIEFSTiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggQ2xvdWRXYXRjaCBhbGFybXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L21vbml0b3JpbmcvQWxhcm1UaGF0U2VuZHNFbWFpbC5odG1sI2FsYXJtcy1hbmQtYWN0aW9uc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFjdGlvbnMgYXJlIHRha2VuIGluIHJlc3BvbnNlIHRvIGFsYXJtcyBvZiBub3JtYWwgc2V2ZXJpdHlcbiAgICovXG4gIHJlYWRvbmx5IG5vcm1hbFNldmVyaXR5QWN0aW9uPzogSUFsYXJtQWN0aW9uO1xufVxuIl19
18
+ __exportStar(require("./overview-dashboard/api"), exports);
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUVBQXFFOzs7Ozs7Ozs7Ozs7QUFNckUsMERBQXdDO0FBQ3hDLDZEQUEyQztBQUMzQyxxREFBbUM7QUFDbkMsbURBQWlDO0FBQ2pDLDJEQUF5QyIsInNvdXJjZXNDb250ZW50IjpbIi8vIHRoaXMgZmlsZSBpbmNsdWRlcyB0eXBlcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBsaWJyYXJ5J3MgcHVibGljIEFQSVxuXG5pbXBvcnQgKiBhcyBjZXJ0aWZpY2F0ZW1hbmFnZXIgZnJvbSAnQGF3cy1jZGsvYXdzLWNlcnRpZmljYXRlbWFuYWdlcic7XG5pbXBvcnQgeyBJQWxhcm1BY3Rpb24gfSBmcm9tICdAYXdzLWNkay9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgKiBhcyByb3V0ZTUzIGZyb20gJ0Bhd3MtY2RrL2F3cy1yb3V0ZTUzJztcblxuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kL2RlbnktbGlzdC9hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9iYWNrZW5kL2xpY2Vuc2UtbGlzdC9hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jb2RlYXJ0aWZhY3QvYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbW9uaXRvcmluZy9hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9vdmVydmlldy1kYXNoYm9hcmQvYXBpJztcblxuLyoqXG4gKiBEb21haW4gY29uZmlndXJhdGlvbiBmb3IgdGhlIHdlYnNpdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG9tYWluIHtcbiAgLyoqXG4gICAqIFRoZSByb290IGRvbWFpbiBuYW1lIHdoZXJlIHRoaXMgaW5zdGFuY2Ugb2YgQ29uc3RydWN0IEh1YiB3aWxsIGJlIHNlcnZlZC5cbiAgICovXG4gIHJlYWRvbmx5IHpvbmU6IHJvdXRlNTMuSUhvc3RlZFpvbmU7XG5cbiAgLyoqXG4gICAgKiBUaGUgY2VydGlmaWNhdGUgdG8gdXNlIGZvciBzZXJ2aW5nIHRoZSBDb25zdHJ1Y3QgSHViIG92ZXIgYSBjdXN0b20gZG9tYWluLlxuICAgICpcbiAgICAqIEBkZWZhdWx0IC0gYSBETlMtVmFsaWRhdGVkIGNlcnRpZmljYXRlIHdpbGwgYmUgcHJvdmlzaW9uZWQgdXNpbmcgdGhlXG4gICAgKiAgICAgICAgICAgIHByb3ZpZGVkIGBob3N0ZWRab25lYC5cbiAgICAqL1xuICByZWFkb25seSBjZXJ0OiBjZXJ0aWZpY2F0ZW1hbmFnZXIuSUNlcnRpZmljYXRlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjZXJ0aWZpY2F0ZSBzaG91bGQgYmUgbW9uaXRvcmVkIGZvciBleHBpcmF0aW9uLCBtZWFuaW5nIGhpZ2hcbiAgICogc2V2ZXJpdHkgYWxhcm1zIHdpbGwgYmUgcmFpc2VkIGlmIGl0IGlzIGR1ZSB0byBleHBpcmUgaW4gbGVzcyB0aGFuIDQ1IGRheXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3JDZXJ0aWZpY2F0ZUV4cGlyYXRpb24/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIENsb3VkV2F0Y2ggYWxhcm0gYWN0aW9ucyB0byBwZXJmb3JtLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsYXJtQWN0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBDbG91ZFdhdGNoIGFsYXJtIGFjdGlvbiB0byB0YWtlIGZvciBhbGFybXMgb2YgaGlnaC1zZXZlcml0eVxuICAgKiBhbGFybXMuXG4gICAqXG4gICAqIFRoaXMgbXVzdCBiZSBhbiBBUk4gdGhhdCBjYW4gYmUgdXNlZCB3aXRoIENsb3VkV2F0Y2ggYWxhcm1zLlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZFdhdGNoL2xhdGVzdC9tb25pdG9yaW5nL0FsYXJtVGhhdFNlbmRzRW1haWwuaHRtbCNhbGFybXMtYW5kLWFjdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGhpZ2hTZXZlcml0eT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIENsb3VkV2F0Y2ggYWxhcm0gYWN0aW9uIHRvIHRha2UgZm9yIGFsYXJtcyBvZiBoaWdoLXNldmVyaXR5IGFsYXJtcy5cbiAgICpcbiAgICogVGhpcyBtdXN0IGJlIGFuIEFSTiB0aGF0IGNhbiBiZSB1c2VkIHdpdGggQ2xvdWRXYXRjaCBhbGFybXMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL0FtYXpvbkNsb3VkV2F0Y2gvbGF0ZXN0L21vbml0b3JpbmcvQWxhcm1UaGF0U2VuZHNFbWFpbC5odG1sI2FsYXJtcy1hbmQtYWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgaGlnaFNldmVyaXR5QWN0aW9uPzogSUFsYXJtQWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBDbG91ZFdhdGNoIGFsYXJtIGFjdGlvbiB0byB0YWtlIGZvciBhbGFybXMgb2Ygbm9ybWFsXG4gICAqIHNldmVyaXR5LlxuICAgKlxuICAgKiBUaGlzIG11c3QgYmUgYW4gQVJOIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBDbG91ZFdhdGNoIGFsYXJtcy5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbW9uaXRvcmluZy9BbGFybVRoYXRTZW5kc0VtYWlsLmh0bWwjYWxhcm1zLWFuZC1hY3Rpb25zXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWN0aW9ucyBhcmUgdGFrZW4gaW4gcmVzcG9uc2UgdG8gYWxhcm1zIG9mIG5vcm1hbCBzZXZlcml0eVxuICAgKi9cbiAgcmVhZG9ubHkgbm9ybWFsU2V2ZXJpdHk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBDbG91ZFdhdGNoIGFsYXJtIGFjdGlvbiB0byB0YWtlIGZvciBhbGFybXMgb2Ygbm9ybWFsIHNldmVyaXR5LlxuICAgKlxuICAgKiBUaGlzIG11c3QgYmUgYW4gQVJOIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBDbG91ZFdhdGNoIGFsYXJtcy5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbW9uaXRvcmluZy9BbGFybVRoYXRTZW5kc0VtYWlsLmh0bWwjYWxhcm1zLWFuZC1hY3Rpb25zXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWN0aW9ucyBhcmUgdGFrZW4gaW4gcmVzcG9uc2UgdG8gYWxhcm1zIG9mIG5vcm1hbCBzZXZlcml0eVxuICAgKi9cbiAgcmVhZG9ubHkgbm9ybWFsU2V2ZXJpdHlBY3Rpb24/OiBJQWxhcm1BY3Rpb247XG59XG4iXX0=
@@ -5,6 +5,7 @@ import { IBucket } from '@aws-cdk/aws-s3';
5
5
  import { Construct } from '@aws-cdk/core';
6
6
  import type { AssemblyTargets } from '@jsii/spec';
7
7
  import { Monitoring } from '../../monitoring';
8
+ import { OverviewDashboard } from '../../overview-dashboard';
8
9
  import { DenyList } from '../deny-list';
9
10
  import type { ConstructFramework } from '../ingestion/framework-detection.lambda-shared';
10
11
  /**
@@ -19,6 +20,10 @@ export interface CatalogBuilderProps {
19
20
  * The monitoring handler to register alarms with.
20
21
  */
21
22
  readonly monitoring: Monitoring;
23
+ /**
24
+ * The overview dashboard to add widgets to.
25
+ */
26
+ readonly overviewDashboard: OverviewDashboard;
22
27
  /**
23
28
  * How long should execution logs be retained?
24
29
  *
@@ -30,6 +30,7 @@ class CatalogBuilder extends core_1.Construct {
30
30
  tracing: aws_lambda_1.Tracing.PASS_THROUGH,
31
31
  });
32
32
  this.function = handler;
33
+ props.overviewDashboard.addConcurrentExecutionMetricToDashboard(handler, 'CatalogBuilderLambda');
33
34
  // This function may invoke itself in case it needs to continue it's work in
34
35
  // a "child" invocation. We must hence allow it to invoke itself. We cannot
35
36
  // use grantInvoke as this would (naturally) cause a circular reference
@@ -104,4 +105,4 @@ class CatalogBuilder extends core_1.Construct {
104
105
  }
105
106
  }
106
107
  exports.CatalogBuilder = CatalogBuilder;
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC9jYXRhbG9nLWJ1aWxkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQStHO0FBQy9HLDhDQUEyRDtBQUMzRCxvREFBeUQ7QUFDekQsZ0RBQWtEO0FBRWxELHdDQUFzRTtBQUV0RSwrQ0FBaUU7QUFHakUsbURBQWdEO0FBR2hELHVEQUE4RDtBQUM5RCwyQ0FBNEQ7QUE2QjVEOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsZ0JBQVM7SUFHM0MsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7O1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQ0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDM0MsV0FBVyxFQUFFLHNDQUFzQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUM1RSxXQUFXLEVBQUU7Z0JBQ1gsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVTtnQkFDcEMsbUJBQW1CLEVBQUUsT0FBTzthQUM3QjtZQUNELFlBQVksUUFBRSxLQUFLLENBQUMsWUFBWSxtQ0FBSSx3QkFBYSxDQUFDLFNBQVM7WUFDM0QsVUFBVSxFQUFFLEtBQU07WUFDbEIsNEJBQTRCLEVBQUUsQ0FBQztZQUMvQixPQUFPLEVBQUUsZUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxFQUFFLG9CQUFPLENBQUMsWUFBWTtTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUV4Qiw0RUFBNEU7UUFDNUUsMkVBQTJFO1FBQzNFLHVFQUF1RTtRQUN2RSxrQ0FBa0M7UUFDbEMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLHlCQUFlLENBQUM7WUFDMUMsT0FBTyxFQUFF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Q0FrR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wYXJpc29uT3BlcmF0b3IsIE1hdGhFeHByZXNzaW9uLCBNZXRyaWMsIE1ldHJpY09wdGlvbnMsIFN0YXRpc3RpYyB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IEVmZmVjdCwgUG9saWN5U3RhdGVtZW50IH0gZnJvbSAnQGF3cy1jZGsvYXdzLWlhbSc7XG5pbXBvcnQgeyBJRnVuY3Rpb24sIFRyYWNpbmcgfSBmcm9tICdAYXdzLWNkay9hd3MtbGFtYmRhJztcbmltcG9ydCB7IFJldGVudGlvbkRheXMgfSBmcm9tICdAYXdzLWNkay9hd3MtbG9ncyc7XG5pbXBvcnQgeyBJQnVja2V0IH0gZnJvbSAnQGF3cy1jZGsvYXdzLXMzJztcbmltcG9ydCB7IEFybkZvcm1hdCwgQ29uc3RydWN0LCBEdXJhdGlvbiwgU3RhY2sgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB0eXBlIHsgQXNzZW1ibHlUYXJnZXRzIH0gZnJvbSAnQGpzaWkvc3BlYyc7XG5pbXBvcnQgeyBsYW1iZGFGdW5jdGlvblVybCwgczNPYmplY3RVcmwgfSBmcm9tICcuLi8uLi9kZWVwLWxpbmsnO1xuXG5pbXBvcnQgeyBNb25pdG9yaW5nIH0gZnJvbSAnLi4vLi4vbW9uaXRvcmluZyc7XG5pbXBvcnQgeyBSVU5CT09LX1VSTCB9IGZyb20gJy4uLy4uL3J1bmJvb2stdXJsJztcbmltcG9ydCB7IERlbnlMaXN0IH0gZnJvbSAnLi4vZGVueS1saXN0JztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0RnJhbWV3b3JrIH0gZnJvbSAnLi4vaW5nZXN0aW9uL2ZyYW1ld29yay1kZXRlY3Rpb24ubGFtYmRhLXNoYXJlZCc7XG5pbXBvcnQgeyBDYXRhbG9nQnVpbGRlciBhcyBIYW5kbGVyIH0gZnJvbSAnLi9jYXRhbG9nLWJ1aWxkZXInO1xuaW1wb3J0IHsgTWV0cmljTmFtZSwgTUVUUklDU19OQU1FU1BBQ0UgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIGBDYXRhbG9nQnVpbGRlcmAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2F0YWxvZ0J1aWxkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgcGFja2FnZSBzdG9yZSBidWNrZXQuXG4gICAqL1xuICByZWFkb25seSBidWNrZXQ6IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBtb25pdG9yaW5nIGhhbmRsZXIgdG8gcmVnaXN0ZXIgYWxhcm1zIHdpdGguXG4gICAqL1xuICByZWFkb25seSBtb25pdG9yaW5nOiBNb25pdG9yaW5nO1xuXG4gIC8qKlxuICAgKiBIb3cgbG9uZyBzaG91bGQgZXhlY3V0aW9uIGxvZ3MgYmUgcmV0YWluZWQ/XG4gICAqXG4gICAqIEBkZWZhdWx0IFJldGVudGlvbkRheXMuVEVOX1lFQVJTXG4gICAqL1xuICByZWFkb25seSBsb2dSZXRlbnRpb24/OiBSZXRlbnRpb25EYXlzO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVueSBsaXN0IGNvbnN0cnVjdC5cbiAgICovXG4gIHJlYWRvbmx5IGRlbnlMaXN0OiBEZW55TGlzdDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgb3IgcmUtYnVpbGRzIHRoZSBgY2F0YWxvZy5qc29uYCBvYmplY3QgaW4gdGhlIGRlc2lnbmF0ZWQgYnVja2V0LlxuICovXG5leHBvcnQgY2xhc3MgQ2F0YWxvZ0J1aWxkZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZnVuY3Rpb246IElGdW5jdGlvbjtcblxuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENhdGFsb2dCdWlsZGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgaGFuZGxlciA9IG5ldyBIYW5kbGVyKHRoaXMsICdEZWZhdWx0Jywge1xuICAgICAgZGVzY3JpcHRpb246IGBDcmVhdGVzIHRoZSBjYXRhbG9nLmpzb24gb2JqZWN0IGluICR7cHJvcHMuYnVja2V0LmJ1Y2tldE5hbWV9YCxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIEJVQ0tFVF9OQU1FOiBwcm9wcy5idWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgQVdTX0VNRl9FTlZJUk9OTUVOVDogJ0xvY2FsJyxcbiAgICAgIH0sXG4gICAgICBsb2dSZXRlbnRpb246IHByb3BzLmxvZ1JldGVudGlvbiA/PyBSZXRlbnRpb25EYXlzLlRFTl9ZRUFSUyxcbiAgICAgIG1lbW9yeVNpemU6IDEwXzI0MCwgLy8gQ3VycmVudGx5IHRoZSBtYXhpbXVtIHBvc3NpYmxlIHNldHRpbmdcbiAgICAgIHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM6IDEsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDE1KSxcbiAgICAgIHRyYWNpbmc6IFRyYWNpbmcuUEFTU19USFJPVUdILFxuICAgIH0pO1xuICAgIHRoaXMuZnVuY3Rpb24gPSBoYW5kbGVyO1xuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBtYXkgaW52b2tlIGl0c2VsZiBpbiBjYXNlIGl0IG5lZWRzIHRvIGNvbnRpbnVlIGl0J3Mgd29yayBpblxuICAgIC8vIGEgXCJjaGlsZFwiIGludm9jYXRpb24uIFdlIG11c3QgaGVuY2UgYWxsb3cgaXQgdG8gaW52b2tlIGl0c2VsZi4gV2UgY2Fubm90XG4gICAgLy8gdXNlIGdyYW50SW52b2tlIGFzIHRoaXMgd291bGQgKG5hdHVyYWxseSkgY2F1c2UgYSBjaXJjdWxhciByZWZlcmVuY2VcbiAgICAvLyAoRnVuY3Rpb24gLT4gUm9sZSAtPiBGdW5jdGlvbikuXG4gICAgaGFuZGxlci5hZGRUb1JvbGVQb2xpY3kobmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ2xhbWJkYTpJbnZva2VGdW5jdGlvbiddLFxuICAgICAgZWZmZWN0OiBFZmZlY3QuQUxMT1csXG4gICAgICByZXNvdXJjZXM6IFtTdGFjay5vZih0aGlzKS5mb3JtYXRBcm4oe1xuICAgICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgICAgICBzZXJ2aWNlOiAnbGFtYmRhJyxcbiAgICAgICAgcmVzb3VyY2U6ICdmdW5jdGlvbicsXG4gICAgICAgIHJlc291cmNlTmFtZTogJyonLFxuICAgICAgfSldLFxuICAgIH0pKTtcblxuICAgIC8vIGFsbG93IHRoZSBjYXRhbG9nIGJ1aWxkZXIgdG8gdXNlIHRoZSBjbGllbnQuXG4gICAgcHJvcHMuZGVueUxpc3QuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuXG4gICAgcHJvcHMuYnVja2V0LmdyYW50UmVhZFdyaXRlKHRoaXMuZnVuY3Rpb24pO1xuXG4gICAgLy8gTW9uaXRvciB0aGUgZGVyaXZhdGl2ZSBvZiB0aGUgY2F0YWxvZyBzaXplLCBhbmQgYWxhcm0gaWYgdGhlIGNhdGFsb2dcbiAgICAvLyBsb3NlcyBtb3JlIHRoYW4gNSBpdGVtcy4gQ2F0YWxvZyBlbGVtZW50cyBjYW4gZGlzYXBwZWFyIGlmIHRoZXkgYXJlIGFkZGVkXG4gICAgLy8gdG8gdGhlIGRlbnktbGlzdCwgb3IgaWYgdGhleSBnZXQgdW4tcHVibGlzaGVkIGZyb20gdGhlIG9yaWdpbiByZXBvc2l0b3J5LlxuICAgIC8vIFN1Y2ggY2FzZXMgYXJlIG5vcm1hbCBhbmQgc2hvdWxkbid0IHR5cGljYWxseSByZXN1bHQgaW4gYSBzaWduaWZpY2FudFxuICAgIC8vIGNvbnRyYWN0aW9uIG9mIHRoZSBjYXRhbG9nIHNpemUuXG4gICAgY29uc3QgY2F0YWxvZ1NpemVDaGFuZ2UgPSBuZXcgTWF0aEV4cHJlc3Npb24oe1xuICAgICAgZXhwcmVzc2lvbjogJ0RJRkYoRklMTChtMSwgUkVQRUFUKSknLFxuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDE1KSxcbiAgICAgIHVzaW5nTWV0cmljczogeyBtMTogdGhpcy5tZXRyaWNSZWdpc3RlcmVkUGFja2FnZU1ham9yVmVyc2lvbnMoKSB9LFxuICAgIH0pO1xuICAgIGNvbnN0IGFsYXJtU2hyaW5raW5nQ2F0YWxvZyA9IGNhdGFsb2dTaXplQ2hhbmdlLmNyZWF0ZUFsYXJtKHRoaXMsICdTaHJpbmtpbmdDYXRhbG9nQWxhcm0nLCB7XG4gICAgICBhbGFybU5hbWU6IGAke3RoaXMubm9kZS5wYXRofS9TaHJpbmtpbmdDYXRhbG9nYCxcbiAgICAgIGFsYXJtRGVzY3JpcHRpb246IFtcbiAgICAgICAgJ1RoZSBudW1iZXIgb2YgcGFja2FnZXMgcmVnaXN0ZXJlZCBpbiB0aGUgY2F0YWxvZy5qc29uIG9iamVjdCBoYXMgc2hydW5rIGJ5IG1vcmUgdGhhbiA1JyxcbiAgICAgICAgJ2VsZW1lbnRzLiBUaGVyZSBtaWdodCBiZSBhIG1hc3MgZXh0aW5jdGlvbiBldmVudCBnb2luZyBvbi4gVGhpcyBzaG91bGQgYmUgaW52ZXN0aWdhdGVkJyxcbiAgICAgICAgJ2FzIHNvb24gYXMgcG9zc2libGUuJyxcbiAgICAgICAgJycsXG4gICAgICAgIGBDYXRhbG9nLmpzb246ICR7czNPYmplY3RVcmwocHJvcHMuYnVja2V0LCAnY2F0YWxvZy5qc29uJyl9YCxcbiAgICAgICAgYENhdGFsb2cgQnVpbGRlcjogJHtsYW1iZGFGdW5jdGlvblVybChoYW5kbGVyKX1gLFxuICAgICAgICAnJyxcbiAgICAgICAgYFJVTkJPT0s6ICR7UlVOQk9PS19VUkx9YCxcbiAgICAgIF0uam9pbignXFxuJyksXG4gICAgICBjb21wYXJpc29uT3BlcmF0b3I6IENvbXBhcmlzb25PcGVyYXRvci5MRVNTX1RIQU5fVEhSRVNIT0xELFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDEsXG4gICAgICB0aHJlc2hvbGQ6IC01LFxuICAgIH0pO1xuICAgIHByb3BzLm1vbml0b3JpbmcuYWRkSGlnaFNldmVyaXR5QWxhcm0oJ0NhdGFsb2cgU2l6ZSBTaHJ1bmsnLCBhbGFybVNocmlua2luZ0NhdGFsb2cpO1xuICB9XG5cbiAgcHVibGljIG1ldHJpY01pc3NpbmdDb25zdHJ1Y3RGcmFtZXdvcmtDb3VudChvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDE1KSxcbiAgICAgIHN0YXRpc3RpYzogU3RhdGlzdGljLk1BWElNVU0sXG4gICAgICAuLi5vcHRzLFxuICAgICAgbWV0cmljTmFtZTogTWV0cmljTmFtZS5NSVNTSU5HX0NPTlNUUlVDVF9GUkFNRVdPUktfQ09VTlQsXG4gICAgICBuYW1lc3BhY2U6IE1FVFJJQ1NfTkFNRVNQQUNFLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG1ldHJpY01pc3NpbmdDb25zdHJ1Y3RGcmFtZXdvcmtWZXJzaW9uQ291bnQob3B0cz86IE1ldHJpY09wdGlvbnMpOiBNZXRyaWMge1xuICAgIHJldHVybiBuZXcgTWV0cmljKHtcbiAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxNSksXG4gICAgICBzdGF0aXN0aWM6IFN0YXRpc3RpYy5NQVhJTVVNLFxuICAgICAgLi4ub3B0cyxcbiAgICAgIG1ldHJpY05hbWU6IE1ldHJpY05hbWUuTUlTU0lOR19DT05TVFJVQ1RfRlJBTUVXT1JLX1ZFUlNJT05fQ09VTlQsXG4gICAgICBuYW1lc3BhY2U6IE1FVFJJQ1NfTkFNRVNQQUNFLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG1ldHJpY1JlZ2lzdGVyZWRQYWNrYWdlTWFqb3JWZXJzaW9ucyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDE1KSxcbiAgICAgIHN0YXRpc3RpYzogU3RhdGlzdGljLk1BWElNVU0sXG4gICAgICAuLi5vcHRzLFxuICAgICAgbWV0cmljTmFtZTogTWV0cmljTmFtZS5SRUdJU1RFUkVEX1BBQ0tBR0VTX01BSk9SX1ZFUlNJT04sXG4gICAgICBuYW1lc3BhY2U6IE1FVFJJQ1NfTkFNRVNQQUNFLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogRGF0YSBmb3JtYXQgZm9yIGNhdGFsb2cgb2JqZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhdGFsb2dNb2RlbCB7XG4gIC8qKlxuICAgKiBQYWNrYWdlcyBpbiB0aGUgY2F0YWxvZy5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VzOiBQYWNrYWdlSW5mb1tdO1xuICAvKipcbiAgICogRGF0ZSB0aGUgY2F0YWxvZyB3YXMgbGFzdCB1cGRhdGVkLCBpbiBJU08gODYwMSBmb3JtYXQuXG4gICAqL1xuICByZWFkb25seSB1cGRhdGVkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRGF0YSBmb3JtYXQgZm9yIHBhY2thZ2VzIHN0b3JlZCBpbiB0aGUgY2F0YWxvZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYWNrYWdlSW5mbyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXNzZW1ibHkuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtYWpvciB2ZXJzaW9uIG9mIHRoaXMgYXNzZW1ibHksIGFjY29yZGluZyB0byBTZW1WZXIuXG4gICAqL1xuICByZWFkb25seSBtYWpvcjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tcGxldGUgU2VtVmVyIHZlcnNpb24gc3RyaW5nIGZvciB0aGlzIHBhY2thZ2UncyBtYWpvciB2ZXJzaW9uIHN0cmVhbSxcbiAgICogaW5jbHVkaW5nIHByZS1yZWxlYXNlIGlkZW50aWZpZXJzLCBidXQgZXhjbHVkaW5nIGFkZGl0aW9uYWwgbWV0YWRhdGFcbiAgICogKGV2ZXJ5dGhpbmcgc3RhcnRpbmcgYXQgYCtgLCBpZiB0aGVyZSBpcyBhbnkpLlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgU1BEWCBsaWNlbnNlIGlkZW50aWZpZXIgZm9yIHRoZSBwYWNrYWdlJ3MgbGljZW5zZS5cbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2Yga2V5d29yZHMgY29uZmlndXJlZCBvbiB0aGUgcGFja2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IGtleXdvcmRzOiByZWFkb25seSBzdHJpbmdbXTtcblxuICAvKipcbiAgICogTWV0YWRhdGEgYXNzaWduZWQgYnkgdGhlIGRpc2NvdmVyeSBmdW5jdGlvbiB0byB0aGUgbGF0ZXN0IHJlbGVhc2Ugb2YgdGhpc1xuICAgKiBwYWNrYWdlJ3MgbWFqb3IgdmVyc2lvbiBzdHJlYW0sIGlmIGFueS5cbiAgICovXG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIGNvbnN0cnVjdCBmcmFtZXdvcmssIGlmIHByZXNlbnQuXG4gICAqL1xuICByZWFkb25seSBjb25zdHJ1Y3RGcmFtZXdvcms/OiBDb25zdHJ1Y3RGcmFtZXdvcmsgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBhdXRob3Igb2YgdGhlIHBhY2thZ2UuXG4gICAqL1xuICByZWFkb25seSBhdXRob3I6IHtcbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZW1haWw/OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgdXJsPzogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBsYW5ndWFnZXMgY29uZmlndXJlZCBvbiB0aGUgcGFja2FnZSwgYW5kIHRoZSBjb3JyZXNwb25kaW5nXG4gICAqIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICByZWFkb25seSBsYW5ndWFnZXM6IEFzc2VtYmx5VGFyZ2V0cztcblxuICAvKipcbiAgICogVGhlIHRpbWVzdGFtcCBhdCB3aGljaCB0aGlzIHZlcnNpb24gd2FzIGNyZWF0ZWQuXG4gICAqL1xuICByZWFkb25seSB0aW1lOiBEYXRlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIHBhY2thZ2UuXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuIl19
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC9jYXRhbG9nLWJ1aWxkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNERBQStHO0FBQy9HLDhDQUEyRDtBQUMzRCxvREFBeUQ7QUFDekQsZ0RBQWtEO0FBRWxELHdDQUFzRTtBQUV0RSwrQ0FBaUU7QUFJakUsbURBQWdEO0FBR2hELHVEQUE4RDtBQUM5RCwyQ0FBNEQ7QUFrQzVEOztHQUVHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsZ0JBQVM7SUFHM0MsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7O1FBQ3pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQ0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUU7WUFDM0MsV0FBVyxFQUFFLHNDQUFzQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUM1RSxXQUFXLEVBQUU7Z0JBQ1gsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVTtnQkFDcEMsbUJBQW1CLEVBQUUsT0FBTzthQUM3QjtZQUNELFlBQVksUUFBRSxLQUFLLENBQUMsWUFBWSxtQ0FBSSx3QkFBYSxDQUFDLFNBQVM7WUFDM0QsVUFBVSxFQUFFLEtBQU07WUFDbEIsNEJBQTRCLEVBQUUsQ0FBQztZQUMvQixPQUFPLEVBQUUsZUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0IsT0FBTyxFQUFFLG9CQUFPLENBQUMsWUFBWTtTQUM5QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixLQUFLLENBQUMsaUJBQWlCLENBQUMsdUNBQXVDLENBQUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDLENBQUM7UUFFakcsNEVBQTRFO1FBQzVFLDJFQUEyRTtRQUMzRSx1RUFBdUU7UUFD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RUFBOEM7WUFDeEQsU0FBUyxFQUFFLDZCQUFpQjtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFuR0Qsd0NBbUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcGFyaXNvbk9wZXJhdG9yLCBNYXRoRXhwcmVzc2lvbiwgTWV0cmljLCBNZXRyaWNPcHRpb25zLCBTdGF0aXN0aWMgfSBmcm9tICdAYXdzLWNkay9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgeyBFZmZlY3QsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1pYW0nO1xuaW1wb3J0IHsgSUZ1bmN0aW9uLCBUcmFjaW5nIH0gZnJvbSAnQGF3cy1jZGsvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBSZXRlbnRpb25EYXlzIH0gZnJvbSAnQGF3cy1jZGsvYXdzLWxvZ3MnO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1zMyc7XG5pbXBvcnQgeyBBcm5Gb3JtYXQsIENvbnN0cnVjdCwgRHVyYXRpb24sIFN0YWNrIH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEFzc2VtYmx5VGFyZ2V0cyB9IGZyb20gJ0Bqc2lpL3NwZWMnO1xuaW1wb3J0IHsgbGFtYmRhRnVuY3Rpb25VcmwsIHMzT2JqZWN0VXJsIH0gZnJvbSAnLi4vLi4vZGVlcC1saW5rJztcblxuaW1wb3J0IHsgTW9uaXRvcmluZyB9IGZyb20gJy4uLy4uL21vbml0b3JpbmcnO1xuaW1wb3J0IHsgT3ZlcnZpZXdEYXNoYm9hcmQgfSBmcm9tICcuLi8uLi9vdmVydmlldy1kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUlVOQk9PS19VUkwgfSBmcm9tICcuLi8uLi9ydW5ib29rLXVybCc7XG5pbXBvcnQgeyBEZW55TGlzdCB9IGZyb20gJy4uL2RlbnktbGlzdCc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdEZyYW1ld29yayB9IGZyb20gJy4uL2luZ2VzdGlvbi9mcmFtZXdvcmstZGV0ZWN0aW9uLmxhbWJkYS1zaGFyZWQnO1xuaW1wb3J0IHsgQ2F0YWxvZ0J1aWxkZXIgYXMgSGFuZGxlciB9IGZyb20gJy4vY2F0YWxvZy1idWlsZGVyJztcbmltcG9ydCB7IE1ldHJpY05hbWUsIE1FVFJJQ1NfTkFNRVNQQUNFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuXG4vKipcbiAqIFByb3BzIGZvciBgQ2F0YWxvZ0J1aWxkZXJgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhdGFsb2dCdWlsZGVyUHJvcHMge1xuICAvKipcbiAgICogVGhlIHBhY2thZ2Ugc3RvcmUgYnVja2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgYnVja2V0OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgbW9uaXRvcmluZyBoYW5kbGVyIHRvIHJlZ2lzdGVyIGFsYXJtcyB3aXRoLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9uaXRvcmluZzogTW9uaXRvcmluZztcblxuICAvKipcbiAgICogVGhlIG92ZXJ2aWV3IGRhc2hib2FyZCB0byBhZGQgd2lkZ2V0cyB0by5cbiAgICovXG4gIHJlYWRvbmx5IG92ZXJ2aWV3RGFzaGJvYXJkOiBPdmVydmlld0Rhc2hib2FyZDtcblxuICAvKipcbiAgICogSG93IGxvbmcgc2hvdWxkIGV4ZWN1dGlvbiBsb2dzIGJlIHJldGFpbmVkP1xuICAgKlxuICAgKiBAZGVmYXVsdCBSZXRlbnRpb25EYXlzLlRFTl9ZRUFSU1xuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogUmV0ZW50aW9uRGF5cztcblxuICAvKipcbiAgICogVGhlIGRlbnkgbGlzdCBjb25zdHJ1Y3QuXG4gICAqL1xuICByZWFkb25seSBkZW55TGlzdDogRGVueUxpc3Q7XG59XG5cbi8qKlxuICogQnVpbGRzIG9yIHJlLWJ1aWxkcyB0aGUgYGNhdGFsb2cuanNvbmAgb2JqZWN0IGluIHRoZSBkZXNpZ25hdGVkIGJ1Y2tldC5cbiAqL1xuZXhwb3J0IGNsYXNzIENhdGFsb2dCdWlsZGVyIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IGZ1bmN0aW9uOiBJRnVuY3Rpb247XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBDYXRhbG9nQnVpbGRlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgSGFuZGxlcih0aGlzLCAnRGVmYXVsdCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgQ3JlYXRlcyB0aGUgY2F0YWxvZy5qc29uIG9iamVjdCBpbiAke3Byb3BzLmJ1Y2tldC5idWNrZXROYW1lfWAsXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBCVUNLRVRfTkFNRTogcHJvcHMuYnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIEFXU19FTUZfRU5WSVJPTk1FTlQ6ICdMb2NhbCcsXG4gICAgICB9LFxuICAgICAgbG9nUmV0ZW50aW9uOiBwcm9wcy5sb2dSZXRlbnRpb24gPz8gUmV0ZW50aW9uRGF5cy5URU5fWUVBUlMsXG4gICAgICBtZW1vcnlTaXplOiAxMF8yNDAsIC8vIEN1cnJlbnRseSB0aGUgbWF4aW11bSBwb3NzaWJsZSBzZXR0aW5nXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiAxLFxuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcygxNSksXG4gICAgICB0cmFjaW5nOiBUcmFjaW5nLlBBU1NfVEhST1VHSCxcbiAgICB9KTtcbiAgICB0aGlzLmZ1bmN0aW9uID0gaGFuZGxlcjtcbiAgICBwcm9wcy5vdmVydmlld0Rhc2hib2FyZC5hZGRDb25jdXJyZW50RXhlY3V0aW9uTWV0cmljVG9EYXNoYm9hcmQoaGFuZGxlciwgJ0NhdGFsb2dCdWlsZGVyTGFtYmRhJyk7XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIG1heSBpbnZva2UgaXRzZWxmIGluIGNhc2UgaXQgbmVlZHMgdG8gY29udGludWUgaXQncyB3b3JrIGluXG4gICAgLy8gYSBcImNoaWxkXCIgaW52b2NhdGlvbi4gV2UgbXVzdCBoZW5jZSBhbGxvdyBpdCB0byBpbnZva2UgaXRzZWxmLiBXZSBjYW5ub3RcbiAgICAvLyB1c2UgZ3JhbnRJbnZva2UgYXMgdGhpcyB3b3VsZCAobmF0dXJhbGx5KSBjYXVzZSBhIGNpcmN1bGFyIHJlZmVyZW5jZVxuICAgIC8vIChGdW5jdGlvbiAtPiBSb2xlIC0+IEZ1bmN0aW9uKS5cbiAgICBoYW5kbGVyLmFkZFRvUm9sZVBvbGljeShuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnbGFtYmRhOkludm9rZUZ1bmN0aW9uJ10sXG4gICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgIHJlc291cmNlczogW1N0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICAgIHNlcnZpY2U6ICdsYW1iZGEnLFxuICAgICAgICByZXNvdXJjZTogJ2Z1bmN0aW9uJyxcbiAgICAgICAgcmVzb3VyY2VOYW1lOiAnKicsXG4gICAgICB9KV0sXG4gICAgfSkpO1xuXG4gICAgLy8gYWxsb3cgdGhlIGNhdGFsb2cgYnVpbGRlciB0byB1c2UgdGhlIGNsaWVudC5cbiAgICBwcm9wcy5kZW55TGlzdC5ncmFudFJlYWQoaGFuZGxlcik7XG5cbiAgICBwcm9wcy5idWNrZXQuZ3JhbnRSZWFkV3JpdGUodGhpcy5mdW5jdGlvbik7XG5cbiAgICAvLyBNb25pdG9yIHRoZSBkZXJpdmF0aXZlIG9mIHRoZSBjYXRhbG9nIHNpemUsIGFuZCBhbGFybSBpZiB0aGUgY2F0YWxvZ1xuICAgIC8vIGxvc2VzIG1vcmUgdGhhbiA1IGl0ZW1zLiBDYXRhbG9nIGVsZW1lbnRzIGNhbiBkaXNhcHBlYXIgaWYgdGhleSBhcmUgYWRkZWRcbiAgICAvLyB0byB0aGUgZGVueS1saXN0LCBvciBpZiB0aGV5IGdldCB1bi1wdWJsaXNoZWQgZnJvbSB0aGUgb3JpZ2luIHJlcG9zaXRvcnkuXG4gICAgLy8gU3VjaCBjYXNlcyBhcmUgbm9ybWFsIGFuZCBzaG91bGRuJ3QgdHlwaWNhbGx5IHJlc3VsdCBpbiBhIHNpZ25pZmljYW50XG4gICAgLy8gY29udHJhY3Rpb24gb2YgdGhlIGNhdGFsb2cgc2l6ZS5cbiAgICBjb25zdCBjYXRhbG9nU2l6ZUNoYW5nZSA9IG5ldyBNYXRoRXhwcmVzc2lvbih7XG4gICAgICBleHByZXNzaW9uOiAnRElGRihGSUxMKG0xLCBSRVBFQVQpKScsXG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMTUpLFxuICAgICAgdXNpbmdNZXRyaWNzOiB7IG0xOiB0aGlzLm1ldHJpY1JlZ2lzdGVyZWRQYWNrYWdlTWFqb3JWZXJzaW9ucygpIH0sXG4gICAgfSk7XG4gICAgY29uc3QgYWxhcm1TaHJpbmtpbmdDYXRhbG9nID0gY2F0YWxvZ1NpemVDaGFuZ2UuY3JlYXRlQWxhcm0odGhpcywgJ1Nocmlua2luZ0NhdGFsb2dBbGFybScsIHtcbiAgICAgIGFsYXJtTmFtZTogYCR7dGhpcy5ub2RlLnBhdGh9L1Nocmlua2luZ0NhdGFsb2dgLFxuICAgICAgYWxhcm1EZXNjcmlwdGlvbjogW1xuICAgICAgICAnVGhlIG51bWJlciBvZiBwYWNrYWdlcyByZWdpc3RlcmVkIGluIHRoZSBjYXRhbG9nLmpzb24gb2JqZWN0IGhhcyBzaHJ1bmsgYnkgbW9yZSB0aGFuIDUnLFxuICAgICAgICAnZWxlbWVudHMuIFRoZXJlIG1pZ2h0IGJlIGEgbWFzcyBleHRpbmN0aW9uIGV2ZW50IGdvaW5nIG9uLiBUaGlzIHNob3VsZCBiZSBpbnZlc3RpZ2F0ZWQnLFxuICAgICAgICAnYXMgc29vbiBhcyBwb3NzaWJsZS4nLFxuICAgICAgICAnJyxcbiAgICAgICAgYENhdGFsb2cuanNvbjogJHtzM09iamVjdFVybChwcm9wcy5idWNrZXQsICdjYXRhbG9nLmpzb24nKX1gLFxuICAgICAgICBgQ2F0YWxvZyBCdWlsZGVyOiAke2xhbWJkYUZ1bmN0aW9uVXJsKGhhbmRsZXIpfWAsXG4gICAgICAgICcnLFxuICAgICAgICBgUlVOQk9PSzogJHtSVU5CT09LX1VSTH1gLFxuICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkxFU1NfVEhBTl9USFJFU0hPTEQsXG4gICAgICBldmFsdWF0aW9uUGVyaW9kczogMSxcbiAgICAgIHRocmVzaG9sZDogLTUsXG4gICAgfSk7XG4gICAgcHJvcHMubW9uaXRvcmluZy5hZGRIaWdoU2V2ZXJpdHlBbGFybSgnQ2F0YWxvZyBTaXplIFNocnVuaycsIGFsYXJtU2hyaW5raW5nQ2F0YWxvZyk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljTWlzc2luZ0NvbnN0cnVjdEZyYW1ld29ya0NvdW50KG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMTUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLk1JU1NJTkdfQ09OU1RSVUNUX0ZSQU1FV09SS19DT1VOVCxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljTWlzc2luZ0NvbnN0cnVjdEZyYW1ld29ya1ZlcnNpb25Db3VudChvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDE1KSxcbiAgICAgIHN0YXRpc3RpYzogU3RhdGlzdGljLk1BWElNVU0sXG4gICAgICAuLi5vcHRzLFxuICAgICAgbWV0cmljTmFtZTogTWV0cmljTmFtZS5NSVNTSU5HX0NPTlNUUlVDVF9GUkFNRVdPUktfVkVSU0lPTl9DT1VOVCxcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbWV0cmljUmVnaXN0ZXJlZFBhY2thZ2VNYWpvclZlcnNpb25zKG9wdHM/OiBNZXRyaWNPcHRpb25zKTogTWV0cmljIHtcbiAgICByZXR1cm4gbmV3IE1ldHJpYyh7XG4gICAgICBwZXJpb2Q6IER1cmF0aW9uLm1pbnV0ZXMoMTUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLlJFR0lTVEVSRURfUEFDS0FHRVNfTUFKT1JfVkVSU0lPTixcbiAgICAgIG5hbWVzcGFjZTogTUVUUklDU19OQU1FU1BBQ0UsXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBEYXRhIGZvcm1hdCBmb3IgY2F0YWxvZyBvYmplY3QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2F0YWxvZ01vZGVsIHtcbiAgLyoqXG4gICAqIFBhY2thZ2VzIGluIHRoZSBjYXRhbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZXM6IFBhY2thZ2VJbmZvW107XG4gIC8qKlxuICAgKiBEYXRlIHRoZSBjYXRhbG9nIHdhcyBsYXN0IHVwZGF0ZWQsIGluIElTTyA4NjAxIGZvcm1hdC5cbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEYXRhIGZvcm1hdCBmb3IgcGFja2FnZXMgc3RvcmVkIGluIHRoZSBjYXRhbG9nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhc3NlbWJseS5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1ham9yIHZlcnNpb24gb2YgdGhpcyBhc3NlbWJseSwgYWNjb3JkaW5nIHRvIFNlbVZlci5cbiAgICovXG4gIHJlYWRvbmx5IG1ham9yOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21wbGV0ZSBTZW1WZXIgdmVyc2lvbiBzdHJpbmcgZm9yIHRoaXMgcGFja2FnZSdzIG1ham9yIHZlcnNpb24gc3RyZWFtLFxuICAgKiBpbmNsdWRpbmcgcHJlLXJlbGVhc2UgaWRlbnRpZmllcnMsIGJ1dCBleGNsdWRpbmcgYWRkaXRpb25hbCBtZXRhZGF0YVxuICAgKiAoZXZlcnl0aGluZyBzdGFydGluZyBhdCBgK2AsIGlmIHRoZXJlIGlzIGFueSkuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBTUERYIGxpY2Vuc2UgaWRlbnRpZmllciBmb3IgdGhlIHBhY2thZ2UncyBsaWNlbnNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbGljZW5zZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBrZXl3b3JkcyBjb25maWd1cmVkIG9uIHRoZSBwYWNrYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkga2V5d29yZHM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBNZXRhZGF0YSBhc3NpZ25lZCBieSB0aGUgZGlzY292ZXJ5IGZ1bmN0aW9uIHRvIHRoZSBsYXRlc3QgcmVsZWFzZSBvZiB0aGlzXG4gICAqIHBhY2thZ2UncyBtYWpvciB2ZXJzaW9uIHN0cmVhbSwgaWYgYW55LlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RydWN0IGZyYW1ld29yaywgaWYgcHJlc2VudC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnN0cnVjdEZyYW1ld29yaz86IENvbnN0cnVjdEZyYW1ld29yayB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGF1dGhvciBvZiB0aGUgcGFja2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhvcjoge1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSBlbWFpbD86IHN0cmluZztcbiAgICByZWFkb25seSB1cmw/OiBzdHJpbmc7XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGxhbmd1YWdlcyBjb25maWd1cmVkIG9uIHRoZSBwYWNrYWdlLCBhbmQgdGhlIGNvcnJlc3BvbmRpbmdcbiAgICogY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGxhbmd1YWdlczogQXNzZW1ibHlUYXJnZXRzO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIGF0IHdoaWNoIHRoaXMgdmVyc2lvbiB3YXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWU6IERhdGU7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgcGFja2FnZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG4iXX0=
@@ -3,6 +3,7 @@ import * as lambda from '@aws-cdk/aws-lambda';
3
3
  import * as s3 from '@aws-cdk/aws-s3';
4
4
  import { Construct, Duration } from '@aws-cdk/core';
5
5
  import { Monitoring } from '../../monitoring';
6
+ import { OverviewDashboard } from '../../overview-dashboard';
6
7
  import { DenyListRule, IDenyList } from './api';
7
8
  import { Prune } from './prune';
8
9
  /**
@@ -42,6 +43,7 @@ export interface DenyListProps {
42
43
  * The monitoring system.
43
44
  */
44
45
  readonly monitoring: Monitoring;
46
+ readonly overviewDashboard: OverviewDashboard;
45
47
  }
46
48
  /**
47
49
  * Manages the construct hub deny list.
@@ -48,6 +48,7 @@ class DenyList extends core_1.Construct {
48
48
  packageDataBucket: props.packageDataBucket,
49
49
  packageDataKeyPrefix: props.packageDataKeyPrefix,
50
50
  monitoring: props.monitoring,
51
+ overviewDashboard: props.overviewDashboard,
51
52
  });
52
53
  this.grantRead(this.prune.pruneHandler);
53
54
  // trigger prune when the deny list changes
@@ -113,4 +114,4 @@ class DenyList extends core_1.Construct {
113
114
  }
114
115
  }
115
116
  exports.DenyList = DenyList;
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVueS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tlbmQvZGVueS1saXN0L2RlbnktbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qiw0REFBMkU7QUFDM0UsOENBQThDO0FBQzlDLHVEQUF1RDtBQUV2RCxnRkFBa0U7QUFDbEUsc0NBQXNDO0FBQ3RDLHVEQUF1RDtBQUN2RCx3Q0FBK0U7QUFFL0UsOENBQW9EO0FBRXBELDJDQUFpSDtBQUNqSCw2Q0FBaUQ7QUFDakQsbUNBQWdDO0FBOENoQzs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLGdCQUFTO0lBc0JyQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9COztRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBakJuQjs7V0FFRztRQUNhLGNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQWdCM0MsTUFBTSxjQUFjLEdBQUcsMEJBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ3JELGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTO1lBQ2pELFVBQVUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtZQUMxQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixhQUFhLEVBQUUsb0JBQWEsQ0FBQyxPQUFPO1lBQ3BDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVoRSxxQ0FBcUM7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LElBQUk7WUFDUCxVQUFVLGdEQUFpQztZQUMzQyxTQUFTLEVBQUUsNkJBQWlCO1NBQzdCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ssV0FBVyxDQUFDLElBQW9CLEVBQUUsUUFBZ0I7UUFDeEQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdDLE1BQU0sR0FBRyxHQUFHLDhCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQXpIRCw0QkF5SEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgTWV0cmljLCBNZXRyaWNPcHRpb25zLCBTdGF0aXN0aWMgfSBmcm9tICdAYXdzLWNkay9hd3MtY2xvdWR3YXRjaCc7XG5pbXBvcnQgKiBhcyBldmVudHMgZnJvbSAnQGF3cy1jZGsvYXdzLWV2ZW50cyc7XG5pbXBvcnQgKiBhcyB0YXJnZXRzIGZyb20gJ0Bhd3MtY2RrL2F3cy1ldmVudHMtdGFyZ2V0cyc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnQGF3cy1jZGsvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBTM0V2ZW50U291cmNlIH0gZnJvbSAnQGF3cy1jZGsvYXdzLWxhbWJkYS1ldmVudC1zb3VyY2VzJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ0Bhd3MtY2RrL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBzM2RlcGxveSBmcm9tICdAYXdzLWNkay9hd3MtczMtZGVwbG95bWVudCc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIER1cmF0aW9uLCBJQ29uc3RydWN0LCBSZW1vdmFsUG9saWN5IH0gZnJvbSAnQGF3cy1jZGsvY29yZSc7XG5pbXBvcnQgeyBNb25pdG9yaW5nIH0gZnJvbSAnLi4vLi4vbW9uaXRvcmluZyc7XG5pbXBvcnQgeyBTM1N0b3JhZ2VGYWN0b3J5IH0gZnJvbSAnLi4vLi4vczMvc3RvcmFnZSc7XG5pbXBvcnQgeyBEZW55TGlzdFJ1bGUsIElEZW55TGlzdCB9IGZyb20gJy4vYXBpJztcbmltcG9ydCB7IEVOVl9ERU5ZX0xJU1RfQlVDS0VUX05BTUUsIEVOVl9ERU5ZX0xJU1RfT0JKRUNUX0tFWSwgTWV0cmljTmFtZSwgTUVUUklDU19OQU1FU1BBQ0UgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBjcmVhdGVEZW55TGlzdE1hcCB9IGZyb20gJy4vY3JlYXRlLW1hcCc7XG5pbXBvcnQgeyBQcnVuZSB9IGZyb20gJy4vcHJ1bmUnO1xuXG4vKipcbiAqIFByb3BzIGZvciBgRGVueUxpc3RgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlbnlMaXN0UHJvcHMge1xuICAvKipcbiAgICogQSBzZXQgb2YgcnVsZXMgdGhhdCBhcmUgbWF0Y2hlZCBhZ2FpbnN0IHBhY2thZ2UgbmFtZXMgYW5kIHZlcnNpb25zIHRvXG4gICAqIGRldGVybWluZSBpZiB0aGV5IGFyZSBibG9ja2VkIGZyb20gZGlzcGxheWluZyBpbiB0aGUgQ29uc3RydWN0IEh1Yi5cbiAgICpcbiAgICogQW4gZW1wdHkgbGlzdCB3aWxsIHJlc3VsdCBpbiBubyBwYWNrYWdlcyBiZWluZyBibG9ja2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcnVsZXM6IERlbnlMaXN0UnVsZVtdO1xuXG4gIC8qKlxuICAgKiBUaGUgUzMgYnVja2V0IHRoYXQgaW5jbHVkZXMgdGhlIHBhY2thZ2UgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VEYXRhQnVja2V0OiBzMy5JQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgUzMga2V5IHByZWZpeCBmb3IgYWxsIHBhY2thZ2UgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VEYXRhS2V5UHJlZml4OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIHBydW5lIHdoZW4gZGVueSBsaXN0IGNoYW5nZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBydW5lT25DaGFuZ2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBQcnVuZXMgYWxsIFMzIG9iamVjdHMgdGhhdCBhcmUgaW4gdGhlIGRlbnkgbGlzdCBwZXJpb2RpY2FsbHkuXG4gICAqXG4gICAqIFVzZSBgRHVyYXRpb24ubWludXRlcygwKWAgdG8gZGlzYWJsZSBwZXJpb2RpY2FsIHBydW5pbmcuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLm1pbnV0ZXMoNSlcbiAgICovXG4gIHJlYWRvbmx5IHBydW5lUGVyaW9kPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBtb25pdG9yaW5nIHN5c3RlbS5cbiAgICovXG4gIHJlYWRvbmx5IG1vbml0b3Jpbmc6IE1vbml0b3Jpbmc7XG59XG5cbi8qKlxuICogTWFuYWdlcyB0aGUgY29uc3RydWN0IGh1YiBkZW55IGxpc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZW55TGlzdCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElEZW55TGlzdCB7XG4gIC8qKlxuICAgKiBUaGUgUzMgYnVja2V0IHRoYXQgY29udGFpbnMgdGhlIGRlbnkgbGlzdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWNrZXQ6IHMzLkJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCBrZXkgd2l0aGluIHRoZSBidWNrZXQgd2l0aCB0aGUgZGVueSBsaXN0IEpTT04gZmlsZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvYmplY3RLZXkgPSAnZGVueS1saXN0Lmpzb24nO1xuXG4gIC8qKlxuICAgKiBSZXNwb25zaWJsZSBmb3IgZGVsZXRpbmcgb2JqZWN0cyB0aGF0IG1hdGNoIHRoZSBkZW55IGxpc3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJ1bmU6IFBydW5lO1xuXG4gIC8qKlxuICAgKiBBIGNvbnN0cnVjdCB3aGljaCBjYW4gYmUgZGVwZW5kZWQgb24gdG8gZGV0ZXJtaW5lIHdoZW4gdGhlIGRlbnkgbGlzdCBoYXNcbiAgICogYmVlbiB1cGxvYWRlZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdXBsb2FkUmVhZHk6IElDb25zdHJ1Y3Q7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERlbnlMaXN0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3Qgc3RvcmFnZUZhY3RvcnkgPSBTM1N0b3JhZ2VGYWN0b3J5LmdldE9yQ3JlYXRlKHRoaXMpO1xuXG4gICAgdGhpcy5idWNrZXQgPSBzdG9yYWdlRmFjdG9yeS5uZXdCdWNrZXQodGhpcywgJ0J1Y2tldCcsIHtcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICBlbmZvcmNlU1NMOiB0cnVlLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWUsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkaXJlY3RvcnkgPSB0aGlzLndyaXRlVG9GaWxlKHByb3BzLnJ1bGVzLCB0aGlzLm9iamVjdEtleSk7XG5cbiAgICAvLyB1cGxvYWQgdGhlIGRlbnkgbGlzdCB0byB0aGUgYnVja2V0XG4gICAgY29uc3QgdXBsb2FkID0gbmV3IHMzZGVwbG95LkJ1Y2tldERlcGxveW1lbnQodGhpcywgJ0J1Y2tldERlcGxveW1lbnQnLCB7XG4gICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICBwcnVuZTogdHJ1ZSxcbiAgICAgIHJldGFpbk9uRGVsZXRlOiB0cnVlLFxuICAgICAgc291cmNlczogW3MzZGVwbG95LlNvdXJjZS5hc3NldChkaXJlY3RvcnkpXSxcbiAgICB9KTtcbiAgICB0aGlzLnVwbG9hZFJlYWR5ID0gdXBsb2FkLm5vZGUuZmluZENoaWxkKCdDdXN0b21SZXNvdXJjZScpO1xuXG4gICAgdGhpcy5wcnVuZSA9IG5ldyBQcnVuZSh0aGlzLCAnUHJ1bmUnLCB7XG4gICAgICBwYWNrYWdlRGF0YUJ1Y2tldDogcHJvcHMucGFja2FnZURhdGFCdWNrZXQsXG4gICAgICBwYWNrYWdlRGF0YUtleVByZWZpeDogcHJvcHMucGFja2FnZURhdGFLZXlQcmVmaXgsXG4gICAgICBtb25pdG9yaW5nOiBwcm9wcy5tb25pdG9yaW5nLFxuICAgIH0pO1xuXG4gICAgdGhpcy5ncmFudFJlYWQodGhpcy5wcnVuZS5wcnVuZUhhbmRsZXIpO1xuXG4gICAgLy8gdHJpZ2dlciBwcnVuZSB3aGVuIHRoZSBkZW55IGxpc3QgY2hhbmdlc1xuICAgIGNvbnN0IHBydW5lT25DaGFuZ2UgPSBwcm9wcy5wcnVuZU9uQ2hhbmdlID8/IHRydWU7XG4gICAgaWYgKHBydW5lT25DaGFuZ2UpIHtcbiAgICAgIHRoaXMucHJ1bmUucHJ1bmVIYW5kbGVyLmFkZEV2ZW50U291cmNlKG5ldyBTM0V2ZW50U291cmNlKHRoaXMuYnVja2V0LCB7XG4gICAgICAgIGV2ZW50czogW3MzLkV2ZW50VHlwZS5PQkpFQ1RfQ1JFQVRFRF0sXG4gICAgICAgIGZpbHRlcnM6IFt7IHByZWZpeDogdGhpcy5vYmplY3RLZXksIHN1ZmZpeDogdGhpcy5vYmplY3RLZXkgfV0sXG4gICAgICB9KSk7XG5cbiAgICAgIC8vIEFkZCBhbiBleHBsaWNpdCBkZXAgYmV0d2VlbiB1cGxvYWQgYW5kIHRoZSBidWNrZXQgbm90aWZpY2F0aW9uLiBXZSBhcmVcbiAgICAgIC8vIG5vdCB1c2luZyB0aGUgd2hvbGUgYnVja2V0IHNjb3BlIHRvIHJlZHVjZSB0aGUgbGlrZWxpaG9vZCBvZiBhXG4gICAgICAvLyBkZXBlbmRlbmN5IGN5Y2xlLlxuICAgICAgY29uc3Qgbm90aWZpY2F0aW9uc1JlYWR5ID0gdGhpcy5idWNrZXQubm9kZS5maW5kQ2hpbGQoJ05vdGlmaWNhdGlvbnMnKTtcbiAgICAgIHRoaXMudXBsb2FkUmVhZHkubm9kZS5hZGREZXBlbmRlbmN5KG5vdGlmaWNhdGlvbnNSZWFkeSk7XG4gICAgfVxuXG4gICAgLy8gdHJpZ2dlciBwcnVuZSBwZXJpb2RpY2FsbHkgKGV2ZXJ5IDUgbWludXRlcykgLSBqdXN0IGluIGNhc2VcbiAgICBjb25zdCBwcnVuZVBlcmlvZCA9IHByb3BzLnBydW5lUGVyaW9kID8/IER1cmF0aW9uLm1pbnV0ZXMoNSk7XG4gICAgaWYgKHBydW5lUGVyaW9kICYmIHBydW5lUGVyaW9kLnRvU2Vjb25kcygpID4gMCkge1xuICAgICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdQZXJpb2RpY1BydW5lJywge1xuICAgICAgICBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLnJhdGUocHJ1bmVQZXJpb2QpLFxuICAgICAgICB0YXJnZXRzOiBbbmV3IHRhcmdldHMuTGFtYmRhRnVuY3Rpb24odGhpcy5wcnVuZS5wcnVuZUhhbmRsZXIpXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgYW4gQVdTIExhbWJkYSBmdW5jdGlvbiBwZXJtaXNzaW9ucyB0byByZWFkIHRoZSBkZW55IGxpc3QsIGFuZCBhZGRzXG4gICAqIHRoZSByZWxldmFudCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZXhwZWN0ZWQgYnkgdGhlIGBEZW55TGlzdENsaWVudGAuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkKGhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbikge1xuICAgIGhhbmRsZXIuYWRkRW52aXJvbm1lbnQoRU5WX0RFTllfTElTVF9CVUNLRVRfTkFNRSwgdGhpcy5idWNrZXQuYnVja2V0TmFtZSk7XG4gICAgaGFuZGxlci5hZGRFbnZpcm9ubWVudChFTlZfREVOWV9MSVNUX09CSkVDVF9LRVksIHRoaXMub2JqZWN0S2V5KTtcbiAgICB0aGlzLmJ1Y2tldC5ncmFudFJlYWQoaGFuZGxlcik7XG4gIH1cblxuICAvKipcbiAgICogTnVtYmVyIG9mIHJ1bGVzIGluIHRoZSBkZW55IGxpc3QuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljRGVueUxpc3RSdWxlcyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLkRFTllfTElTVF9SVUxFX0NPVU5ULFxuICAgICAgbmFtZXNwYWNlOiBNRVRSSUNTX05BTUVTUEFDRSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgdGhlIGRlbnkgbGlzdCB0byBhIHRlbXBvcmFyeSBmaWxlIGFuZCByZXR1cm5zIGEgcGF0aCB0byBhIGRpcmVjdG9yeVxuICAgKiB3aXRoIHRoZSBKU09OIGZpbGUuIFRoZSBjb250ZW50cyBvZiB0aGUgSlNPTiBmaWxlIGlzIGEgbWFwIHdoZXJlIGtleXMgYXJlXG4gICAqIHBhY2thZ2UgbmFtZXMgKGFuZCBvcHRpb25hbGx5LCB2ZXJzaW9uKSBhbmQgdGhlIHZhbHVlIGlzIHRoZSBkZW55IGxpc3RcbiAgICogZW50cnkuIFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIHF1ZXJ5IGJ5IHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBBbHNvIHBlcmZvcm1zIHNvbWUgdmFsaWRhdGlvbiB0byBtYWtlIHN1cmUgdGhlcmUgYXJlIG5vIGR1cGxpY2F0ZSBlbnRyaWVzLlxuICAgKlxuICAgKiBAcGFyYW0gbGlzdCBUaGUgZGVueSBsaXN0XG4gICAqIEByZXR1cm5zIGEgcGF0aCB0byBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdGhhdCBjYW4gYmUgZGVwbG95ZWQgdG8gUzNcbiAgICovXG4gIHByaXZhdGUgd3JpdGVUb0ZpbGUobGlzdDogRGVueUxpc3RSdWxlW10sIGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRtcGRpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2RlbnktbGlzdC0nKSk7XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4odG1wZGlyLCBmaWxlTmFtZSk7XG4gICAgY29uc3QgbWFwID0gY3JlYXRlRGVueUxpc3RNYXAobGlzdCk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkobWFwLCBudWxsLCAyKSk7XG4gICAgcmV0dXJuIHRtcGRpcjtcbiAgfVxufVxuIl19
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVueS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tlbmQvZGVueS1saXN0L2RlbnktbGlzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUM3Qiw0REFBMkU7QUFDM0UsOENBQThDO0FBQzlDLHVEQUF1RDtBQUV2RCxnRkFBa0U7QUFDbEUsc0NBQXNDO0FBQ3RDLHVEQUF1RDtBQUN2RCx3Q0FBK0U7QUFHL0UsOENBQW9EO0FBRXBELDJDQUFpSDtBQUNqSCw2Q0FBaUQ7QUFDakQsbUNBQWdDO0FBZ0RoQzs7R0FFRztBQUNILE1BQWEsUUFBUyxTQUFRLGdCQUFTO0lBc0JyQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9COztRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBakJuQjs7V0FFRztRQUNhLGNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQWdCM0MsTUFBTSxjQUFjLEdBQUcsMEJBQWdCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFELElBQUksQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ3JELGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTO1lBQ2pELFVBQVUsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVTtZQUMxQyxVQUFVLEVBQUUsSUFBSTtZQUNoQixhQUFhLEVBQUUsb0JBQWEsQ0FBQyxPQUFPO1lBQ3BDLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsU0FBUyxFQUFFLElBQUk7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUVoRSxxQ0FBcUM7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QUFTLEVBQUUsMEJBQVMsQ0FBQyxPQUFPO1lBQzVCLEdBQUcsSUFBSTtZQUNQLFVBQVUsZ0RBQWlDO1lBQzNDLFNBQVMsRUFBRSw2QkFBaUI7U0FDN0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSyxXQUFXLENBQUMsSUFBb0IsRUFBRSxRQUFnQjtRQUN4RCxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDcEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDN0MsTUFBTSxHQUFHLEdBQUcsOEJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztDQUNGO0FBMUhELDRCQTBIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBNZXRyaWMsIE1ldHJpY09wdGlvbnMsIFN0YXRpc3RpYyB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCAqIGFzIGV2ZW50cyBmcm9tICdAYXdzLWNkay9hd3MtZXZlbnRzJztcbmltcG9ydCAqIGFzIHRhcmdldHMgZnJvbSAnQGF3cy1jZGsvYXdzLWV2ZW50cy10YXJnZXRzJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdAYXdzLWNkay9hd3MtbGFtYmRhJztcbmltcG9ydCB7IFMzRXZlbnRTb3VyY2UgfSBmcm9tICdAYXdzLWNkay9hd3MtbGFtYmRhLWV2ZW50LXNvdXJjZXMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnQGF3cy1jZGsvYXdzLXMzJztcbmltcG9ydCAqIGFzIHMzZGVwbG95IGZyb20gJ0Bhd3MtY2RrL2F3cy1zMy1kZXBsb3ltZW50JztcbmltcG9ydCB7IENvbnN0cnVjdCwgRHVyYXRpb24sIElDb25zdHJ1Y3QsIFJlbW92YWxQb2xpY3kgfSBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IE1vbml0b3JpbmcgfSBmcm9tICcuLi8uLi9tb25pdG9yaW5nJztcbmltcG9ydCB7IE92ZXJ2aWV3RGFzaGJvYXJkIH0gZnJvbSAnLi4vLi4vb3ZlcnZpZXctZGFzaGJvYXJkJztcbmltcG9ydCB7IFMzU3RvcmFnZUZhY3RvcnkgfSBmcm9tICcuLi8uLi9zMy9zdG9yYWdlJztcbmltcG9ydCB7IERlbnlMaXN0UnVsZSwgSURlbnlMaXN0IH0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHsgRU5WX0RFTllfTElTVF9CVUNLRVRfTkFNRSwgRU5WX0RFTllfTElTVF9PQkpFQ1RfS0VZLCBNZXRyaWNOYW1lLCBNRVRSSUNTX05BTUVTUEFDRSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGNyZWF0ZURlbnlMaXN0TWFwIH0gZnJvbSAnLi9jcmVhdGUtbWFwJztcbmltcG9ydCB7IFBydW5lIH0gZnJvbSAnLi9wcnVuZSc7XG5cbi8qKlxuICogUHJvcHMgZm9yIGBEZW55TGlzdGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVueUxpc3RQcm9wcyB7XG4gIC8qKlxuICAgKiBBIHNldCBvZiBydWxlcyB0aGF0IGFyZSBtYXRjaGVkIGFnYWluc3QgcGFja2FnZSBuYW1lcyBhbmQgdmVyc2lvbnMgdG9cbiAgICogZGV0ZXJtaW5lIGlmIHRoZXkgYXJlIGJsb2NrZWQgZnJvbSBkaXNwbGF5aW5nIGluIHRoZSBDb25zdHJ1Y3QgSHViLlxuICAgKlxuICAgKiBBbiBlbXB0eSBsaXN0IHdpbGwgcmVzdWx0IGluIG5vIHBhY2thZ2VzIGJlaW5nIGJsb2NrZWQuXG4gICAqL1xuICByZWFkb25seSBydWxlczogRGVueUxpc3RSdWxlW107XG5cbiAgLyoqXG4gICAqIFRoZSBTMyBidWNrZXQgdGhhdCBpbmNsdWRlcyB0aGUgcGFja2FnZSBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZURhdGFCdWNrZXQ6IHMzLklCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBTMyBrZXkgcHJlZml4IGZvciBhbGwgcGFja2FnZSBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZURhdGFLZXlQcmVmaXg6IHN0cmluZztcblxuICAvKipcbiAgICogVHJpZ2dlcnMgcHJ1bmUgd2hlbiBkZW55IGxpc3QgY2hhbmdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJ1bmVPbkNoYW5nZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFBydW5lcyBhbGwgUzMgb2JqZWN0cyB0aGF0IGFyZSBpbiB0aGUgZGVueSBsaXN0IHBlcmlvZGljYWxseS5cbiAgICpcbiAgICogVXNlIGBEdXJhdGlvbi5taW51dGVzKDApYCB0byBkaXNhYmxlIHBlcmlvZGljYWwgcHJ1bmluZy5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24ubWludXRlcyg1KVxuICAgKi9cbiAgcmVhZG9ubHkgcHJ1bmVQZXJpb2Q/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIG1vbml0b3Jpbmcgc3lzdGVtLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9uaXRvcmluZzogTW9uaXRvcmluZztcblxuICByZWFkb25seSBvdmVydmlld0Rhc2hib2FyZDogT3ZlcnZpZXdEYXNoYm9hcmQ7XG59XG5cbi8qKlxuICogTWFuYWdlcyB0aGUgY29uc3RydWN0IGh1YiBkZW55IGxpc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBEZW55TGlzdCBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElEZW55TGlzdCB7XG4gIC8qKlxuICAgKiBUaGUgUzMgYnVja2V0IHRoYXQgY29udGFpbnMgdGhlIGRlbnkgbGlzdC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWNrZXQ6IHMzLkJ1Y2tldDtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCBrZXkgd2l0aGluIHRoZSBidWNrZXQgd2l0aCB0aGUgZGVueSBsaXN0IEpTT04gZmlsZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBvYmplY3RLZXkgPSAnZGVueS1saXN0Lmpzb24nO1xuXG4gIC8qKlxuICAgKiBSZXNwb25zaWJsZSBmb3IgZGVsZXRpbmcgb2JqZWN0cyB0aGF0IG1hdGNoIHRoZSBkZW55IGxpc3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJ1bmU6IFBydW5lO1xuXG4gIC8qKlxuICAgKiBBIGNvbnN0cnVjdCB3aGljaCBjYW4gYmUgZGVwZW5kZWQgb24gdG8gZGV0ZXJtaW5lIHdoZW4gdGhlIGRlbnkgbGlzdCBoYXNcbiAgICogYmVlbiB1cGxvYWRlZC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgdXBsb2FkUmVhZHk6IElDb25zdHJ1Y3Q7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERlbnlMaXN0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3Qgc3RvcmFnZUZhY3RvcnkgPSBTM1N0b3JhZ2VGYWN0b3J5LmdldE9yQ3JlYXRlKHRoaXMpO1xuXG4gICAgdGhpcy5idWNrZXQgPSBzdG9yYWdlRmFjdG9yeS5uZXdCdWNrZXQodGhpcywgJ0J1Y2tldCcsIHtcbiAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBzMy5CbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICBlbmNyeXB0aW9uOiBzMy5CdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICBlbmZvcmNlU1NMOiB0cnVlLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5ERVNUUk9ZLFxuICAgICAgYXV0b0RlbGV0ZU9iamVjdHM6IHRydWUsXG4gICAgICB2ZXJzaW9uZWQ6IHRydWUsXG4gICAgfSk7XG5cbiAgICBjb25zdCBkaXJlY3RvcnkgPSB0aGlzLndyaXRlVG9GaWxlKHByb3BzLnJ1bGVzLCB0aGlzLm9iamVjdEtleSk7XG5cbiAgICAvLyB1cGxvYWQgdGhlIGRlbnkgbGlzdCB0byB0aGUgYnVja2V0XG4gICAgY29uc3QgdXBsb2FkID0gbmV3IHMzZGVwbG95LkJ1Y2tldERlcGxveW1lbnQodGhpcywgJ0J1Y2tldERlcGxveW1lbnQnLCB7XG4gICAgICBkZXN0aW5hdGlvbkJ1Y2tldDogdGhpcy5idWNrZXQsXG4gICAgICBwcnVuZTogdHJ1ZSxcbiAgICAgIHJldGFpbk9uRGVsZXRlOiB0cnVlLFxuICAgICAgc291cmNlczogW3MzZGVwbG95LlNvdXJjZS5hc3NldChkaXJlY3RvcnkpXSxcbiAgICB9KTtcbiAgICB0aGlzLnVwbG9hZFJlYWR5ID0gdXBsb2FkLm5vZGUuZmluZENoaWxkKCdDdXN0b21SZXNvdXJjZScpO1xuXG4gICAgdGhpcy5wcnVuZSA9IG5ldyBQcnVuZSh0aGlzLCAnUHJ1bmUnLCB7XG4gICAgICBwYWNrYWdlRGF0YUJ1Y2tldDogcHJvcHMucGFja2FnZURhdGFCdWNrZXQsXG4gICAgICBwYWNrYWdlRGF0YUtleVByZWZpeDogcHJvcHMucGFja2FnZURhdGFLZXlQcmVmaXgsXG4gICAgICBtb25pdG9yaW5nOiBwcm9wcy5tb25pdG9yaW5nLFxuICAgICAgb3ZlcnZpZXdEYXNoYm9hcmQ6IHByb3BzLm92ZXJ2aWV3RGFzaGJvYXJkLFxuICAgIH0pO1xuXG4gICAgdGhpcy5ncmFudFJlYWQodGhpcy5wcnVuZS5wcnVuZUhhbmRsZXIpO1xuXG4gICAgLy8gdHJpZ2dlciBwcnVuZSB3aGVuIHRoZSBkZW55IGxpc3QgY2hhbmdlc1xuICAgIGNvbnN0IHBydW5lT25DaGFuZ2UgPSBwcm9wcy5wcnVuZU9uQ2hhbmdlID8/IHRydWU7XG4gICAgaWYgKHBydW5lT25DaGFuZ2UpIHtcbiAgICAgIHRoaXMucHJ1bmUucHJ1bmVIYW5kbGVyLmFkZEV2ZW50U291cmNlKG5ldyBTM0V2ZW50U291cmNlKHRoaXMuYnVja2V0LCB7XG4gICAgICAgIGV2ZW50czogW3MzLkV2ZW50VHlwZS5PQkpFQ1RfQ1JFQVRFRF0sXG4gICAgICAgIGZpbHRlcnM6IFt7IHByZWZpeDogdGhpcy5vYmplY3RLZXksIHN1ZmZpeDogdGhpcy5vYmplY3RLZXkgfV0sXG4gICAgICB9KSk7XG5cbiAgICAgIC8vIEFkZCBhbiBleHBsaWNpdCBkZXAgYmV0d2VlbiB1cGxvYWQgYW5kIHRoZSBidWNrZXQgbm90aWZpY2F0aW9uLiBXZSBhcmVcbiAgICAgIC8vIG5vdCB1c2luZyB0aGUgd2hvbGUgYnVja2V0IHNjb3BlIHRvIHJlZHVjZSB0aGUgbGlrZWxpaG9vZCBvZiBhXG4gICAgICAvLyBkZXBlbmRlbmN5IGN5Y2xlLlxuICAgICAgY29uc3Qgbm90aWZpY2F0aW9uc1JlYWR5ID0gdGhpcy5idWNrZXQubm9kZS5maW5kQ2hpbGQoJ05vdGlmaWNhdGlvbnMnKTtcbiAgICAgIHRoaXMudXBsb2FkUmVhZHkubm9kZS5hZGREZXBlbmRlbmN5KG5vdGlmaWNhdGlvbnNSZWFkeSk7XG4gICAgfVxuXG4gICAgLy8gdHJpZ2dlciBwcnVuZSBwZXJpb2RpY2FsbHkgKGV2ZXJ5IDUgbWludXRlcykgLSBqdXN0IGluIGNhc2VcbiAgICBjb25zdCBwcnVuZVBlcmlvZCA9IHByb3BzLnBydW5lUGVyaW9kID8/IER1cmF0aW9uLm1pbnV0ZXMoNSk7XG4gICAgaWYgKHBydW5lUGVyaW9kICYmIHBydW5lUGVyaW9kLnRvU2Vjb25kcygpID4gMCkge1xuICAgICAgbmV3IGV2ZW50cy5SdWxlKHRoaXMsICdQZXJpb2RpY1BydW5lJywge1xuICAgICAgICBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLnJhdGUocHJ1bmVQZXJpb2QpLFxuICAgICAgICB0YXJnZXRzOiBbbmV3IHRhcmdldHMuTGFtYmRhRnVuY3Rpb24odGhpcy5wcnVuZS5wcnVuZUhhbmRsZXIpXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHcmFudHMgYW4gQVdTIExhbWJkYSBmdW5jdGlvbiBwZXJtaXNzaW9ucyB0byByZWFkIHRoZSBkZW55IGxpc3QsIGFuZCBhZGRzXG4gICAqIHRoZSByZWxldmFudCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZXhwZWN0ZWQgYnkgdGhlIGBEZW55TGlzdENsaWVudGAuXG4gICAqL1xuICBwdWJsaWMgZ3JhbnRSZWFkKGhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbikge1xuICAgIGhhbmRsZXIuYWRkRW52aXJvbm1lbnQoRU5WX0RFTllfTElTVF9CVUNLRVRfTkFNRSwgdGhpcy5idWNrZXQuYnVja2V0TmFtZSk7XG4gICAgaGFuZGxlci5hZGRFbnZpcm9ubWVudChFTlZfREVOWV9MSVNUX09CSkVDVF9LRVksIHRoaXMub2JqZWN0S2V5KTtcbiAgICB0aGlzLmJ1Y2tldC5ncmFudFJlYWQoaGFuZGxlcik7XG4gIH1cblxuICAvKipcbiAgICogTnVtYmVyIG9mIHJ1bGVzIGluIHRoZSBkZW55IGxpc3QuXG4gICAqL1xuICBwdWJsaWMgbWV0cmljRGVueUxpc3RSdWxlcyhvcHRzPzogTWV0cmljT3B0aW9ucyk6IE1ldHJpYyB7XG4gICAgcmV0dXJuIG5ldyBNZXRyaWMoe1xuICAgICAgcGVyaW9kOiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgc3RhdGlzdGljOiBTdGF0aXN0aWMuTUFYSU1VTSxcbiAgICAgIC4uLm9wdHMsXG4gICAgICBtZXRyaWNOYW1lOiBNZXRyaWNOYW1lLkRFTllfTElTVF9SVUxFX0NPVU5ULFxuICAgICAgbmFtZXNwYWNlOiBNRVRSSUNTX05BTUVTUEFDRSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgdGhlIGRlbnkgbGlzdCB0byBhIHRlbXBvcmFyeSBmaWxlIGFuZCByZXR1cm5zIGEgcGF0aCB0byBhIGRpcmVjdG9yeVxuICAgKiB3aXRoIHRoZSBKU09OIGZpbGUuIFRoZSBjb250ZW50cyBvZiB0aGUgSlNPTiBmaWxlIGlzIGEgbWFwIHdoZXJlIGtleXMgYXJlXG4gICAqIHBhY2thZ2UgbmFtZXMgKGFuZCBvcHRpb25hbGx5LCB2ZXJzaW9uKSBhbmQgdGhlIHZhbHVlIGlzIHRoZSBkZW55IGxpc3RcbiAgICogZW50cnkuIFRoaXMgbWFrZXMgaXQgZWFzaWVyIHRvIHF1ZXJ5IGJ5IHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBBbHNvIHBlcmZvcm1zIHNvbWUgdmFsaWRhdGlvbiB0byBtYWtlIHN1cmUgdGhlcmUgYXJlIG5vIGR1cGxpY2F0ZSBlbnRyaWVzLlxuICAgKlxuICAgKiBAcGFyYW0gbGlzdCBUaGUgZGVueSBsaXN0XG4gICAqIEByZXR1cm5zIGEgcGF0aCB0byBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgdGhhdCBjYW4gYmUgZGVwbG95ZWQgdG8gUzNcbiAgICovXG4gIHByaXZhdGUgd3JpdGVUb0ZpbGUobGlzdDogRGVueUxpc3RSdWxlW10sIGZpbGVOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHRtcGRpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2RlbnktbGlzdC0nKSk7XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4odG1wZGlyLCBmaWxlTmFtZSk7XG4gICAgY29uc3QgbWFwID0gY3JlYXRlRGVueUxpc3RNYXAobGlzdCk7XG4gICAgZnMud3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkobWFwLCBudWxsLCAyKSk7XG4gICAgcmV0dXJuIHRtcGRpcjtcbiAgfVxufVxuIl19
@@ -3,6 +3,7 @@ import * as s3 from '@aws-cdk/aws-s3';
3
3
  import * as sqs from '@aws-cdk/aws-sqs';
4
4
  import { Construct } from '@aws-cdk/core';
5
5
  import { Monitoring } from '../../monitoring';
6
+ import { OverviewDashboard } from '../../overview-dashboard';
6
7
  /**
7
8
  * Props from `Prune`.
8
9
  */
@@ -19,6 +20,10 @@ export interface PruneProps {
19
20
  * The monitoring system.
20
21
  */
21
22
  readonly monitoring: Monitoring;
23
+ /**
24
+ * Overview dashboard
25
+ */
26
+ readonly overviewDashboard: OverviewDashboard;
22
27
  }
23
28
  /**
24
29
  * Reads the deny list and prunes all objects from the package data bucket
@@ -44,6 +44,8 @@ class Prune extends core_1.Construct {
44
44
  this.deleteHandler = deleteHandler;
45
45
  props.monitoring.watchful.watchLambdaFunction('Deny List - Prune Function', this.pruneHandler);
46
46
  props.monitoring.watchful.watchLambdaFunction('Deny List - Prune Delete Function', this.deleteHandler);
47
+ props.overviewDashboard.addConcurrentExecutionMetricToDashboard(this.pruneHandler, 'PruneHandlerLambda');
48
+ props.overviewDashboard.addConcurrentExecutionMetricToDashboard(this.deleteHandler, 'PruneQueueHandlerLambda');
47
49
  }
48
50
  /**
49
51
  * Should be called to rebuild the catalog when the deny list changes.
@@ -54,4 +56,4 @@ class Prune extends core_1.Construct {
54
56
  }
55
57
  }
56
58
  exports.Prune = Prune;
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJ1bmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC9kZW55LWxpc3QvcHJ1bmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsZ0ZBQW1FO0FBRW5FLHdDQUF3QztBQUN4Qyx3Q0FBb0Q7QUFFcEQsMkNBQWdNO0FBQ2hNLG1EQUErQztBQUMvQywrREFBMEQ7QUFzQjFEOzs7R0FHRztBQUNILE1BQWEsS0FBTSxTQUFRLGdCQUFTO0lBZ0JsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlCO1FBQ3pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsZ0VBQWdFO1FBQ2hFLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3JELGlCQUFpQixFQUFFLGVBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztRQUVILDBFQUEwRTtRQUMxRSxpQ0FBaUM7UUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDMUQsT0FBTyxFQUFFLGVBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLFdBQVcsRUFBRTtnQkFDWCxDQUFDLDhDQUFrQyxDQUFDLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQVU7Z0JBQ3hFLENBQUMsNkNBQWlDLENBQUMsRUFBRSxLQUFLLENBQUMsb0JBQW9CO2dCQUMvRCxDQUFDLCtCQUFtQixDQUFDLEVBQUUsV0FBVyxDQUFDLFFBQVE7YUFDNUM7U0FDRixDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoRCxxRUFBcUU7UUFDckUsTUFBTSxhQUFhLEdBQUcsSUFBSSx1Q0FBaUIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDckUsT0FBTyxFQUFFLGVBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzVCLFdBQVcsRUFBRTtnQkFDWCxDQUFDLDhDQUFrQyxDQUFDLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQVU7YUFDekU7U0FDRixDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSx5Q0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7UUFFdEYsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFFbkMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9GLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLG1DQUFtQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjLENBQUMsUUFBMEI7UUFDOUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsNkNBQWlDLEVBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVGLENBQUM7Q0FDRjtBQTlERCxzQkE4REMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnQGF3cy1jZGsvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBTcXNFdmVudFNvdXJjZSB9IGZyb20gJ0Bhd3MtY2RrL2F3cy1sYW1iZGEtZXZlbnQtc291cmNlcyc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdAYXdzLWNkay9hd3MtczMnO1xuaW1wb3J0ICogYXMgc3FzIGZyb20gJ0Bhd3MtY2RrL2F3cy1zcXMnO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBEdXJhdGlvbiB9IGZyb20gJ0Bhd3MtY2RrL2NvcmUnO1xuaW1wb3J0IHsgTW9uaXRvcmluZyB9IGZyb20gJy4uLy4uL21vbml0b3JpbmcnO1xuaW1wb3J0IHsgRU5WX0RFTEVURV9PQkpFQ1RfREFUQV9CVUNLRVRfTkFNRSwgRU5WX1BSVU5FX09OX0NIQU5HRV9GVU5DVElPTl9OQU1FLCBFTlZfUFJVTkVfUEFDS0FHRV9EQVRBX0JVQ0tFVF9OQU1FLCBFTlZfUFJVTkVfUEFDS0FHRV9EQVRBX0tFWV9QUkVGSVgsIEVOVl9QUlVORV9RVUVVRV9VUkwgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQcnVuZUhhbmRsZXIgfSBmcm9tICcuL3BydW5lLWhhbmRsZXInO1xuaW1wb3J0IHsgUHJ1bmVRdWV1ZUhhbmRsZXIgfSBmcm9tICcuL3BydW5lLXF1ZXVlLWhhbmRsZXInO1xuXG4vKipcbiAqIFByb3BzIGZyb20gYFBydW5lYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcnVuZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBTMyBidWNrZXQgdGhhdCBpbmNsdWRlcyB0aGUgcGFja2FnZSBkYXRhLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZURhdGFCdWNrZXQ6IHMzLklCdWNrZXQ7XG5cbiAgLyoqXG4gICAgKiBUaGUgUzMga2V5IHByZWZpeCBmb3IgYWxsIHBhY2thZ2UgZGF0YS5cbiAgICAqL1xuICByZWFkb25seSBwYWNrYWdlRGF0YUtleVByZWZpeDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9uaXRvcmluZyBzeXN0ZW0uXG4gICAqL1xuICByZWFkb25seSBtb25pdG9yaW5nOiBNb25pdG9yaW5nO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBkZW55IGxpc3QgYW5kIHBydW5lcyBhbGwgb2JqZWN0cyBmcm9tIHRoZSBwYWNrYWdlIGRhdGEgYnVja2V0XG4gKiByZWxhdGVkIHRvIHBhY2thZ2VzIHRoYXQgbWF0Y2ggb25lIG9mIHRoZSBkZW55IGxpc3QgcnVsZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcnVuZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdGhhdCBuZWVkcyB0byByZWFkIHRoZSBkZW55IGxpc3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJ1bmVIYW5kbGVyOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0aGF0IGRlbGV0ZXMgZmlsZXMgb2YgZGVuaWVkIHBhY2thZ2VzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZUhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbjtcblxuICAvKipcbiAgICogQW4gU1FTIHF1ZXVlIHdoaWNoIGluY2x1ZGVzIG9iamVjdHMgdG8gYmUgZGVsZXRlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBxdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcnVuZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIGludm9rZSB0aGUgcHJ1bmUgaGFuZGxlciBldmVyeSB0aW1lIHRoZSBkZW55IGxpc3QgaXMgdXBkYXRlZC5cbiAgICBjb25zdCBkZWxldGVRdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgJ0RlbGV0ZVF1ZXVlJywge1xuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMiksIC8vIG11c3QgYmUgbGFyZ2VyIHRoYW4gdGhlIHRpbWVvdXQgb2YgUHJ1bmVRdWV1ZUhhbmRsZXJcbiAgICB9KTtcblxuICAgIC8vIHRoaXMgaGFuZGxlciByZWFkcyB0aGUgZGVueSBsaXN0IGFuZCBxdWV1ZXMgYWxsIHRoZSBtYXRjaGVkIG9iamVjdHMgZm9yXG4gICAgLy8gZGVsZXRpb24gaW50byB0aGUgcHJ1bmUgcXVldWUuXG4gICAgY29uc3QgcHJ1bmVIYW5kbGVyID0gbmV3IFBydW5lSGFuZGxlcih0aGlzLCAnUHJ1bmVIYW5kbGVyJywge1xuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcygxNSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBbRU5WX1BSVU5FX1BBQ0tBR0VfREFUQV9CVUNLRVRfTkFNRV06IHByb3BzLnBhY2thZ2VEYXRhQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIFtFTlZfUFJVTkVfUEFDS0FHRV9EQVRBX0tFWV9QUkVGSVhdOiBwcm9wcy5wYWNrYWdlRGF0YUtleVByZWZpeCxcbiAgICAgICAgW0VOVl9QUlVORV9RVUVVRV9VUkxdOiBkZWxldGVRdWV1ZS5xdWV1ZVVybCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGVsZXRlUXVldWUuZ3JhbnRTZW5kTWVzc2FnZXMocHJ1bmVIYW5kbGVyKTtcbiAgICBwcm9wcy5wYWNrYWdlRGF0YUJ1Y2tldC5ncmFudFJlYWQocHJ1bmVIYW5kbGVyKTtcblxuICAgIC8vIHByb2Nlc3NlcyBtZXNzYWdlcy4gZWFjaCBtZXNzYWdlIGluY2x1ZGVzIGFuIG9iamVjdCBrZXkgdG8gZGVsZXRlLlxuICAgIGNvbnN0IGRlbGV0ZUhhbmRsZXIgPSBuZXcgUHJ1bmVRdWV1ZUhhbmRsZXIodGhpcywgJ1BydW5lUXVldWVIYW5kbGVyJywge1xuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFtFTlZfREVMRVRFX09CSkVDVF9EQVRBX0JVQ0tFVF9OQU1FXTogcHJvcHMucGFja2FnZURhdGFCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcHJvcHMucGFja2FnZURhdGFCdWNrZXQuZ3JhbnREZWxldGUoZGVsZXRlSGFuZGxlcik7XG4gICAgZGVsZXRlSGFuZGxlci5hZGRFdmVudFNvdXJjZShuZXcgU3FzRXZlbnRTb3VyY2UoZGVsZXRlUXVldWUpKTsgLy8gcmVhZHMgZnJvbSB0aGUgcXVldWVcblxuICAgIHRoaXMucHJ1bmVIYW5kbGVyID0gcHJ1bmVIYW5kbGVyO1xuICAgIHRoaXMucXVldWUgPSBkZWxldGVRdWV1ZTtcbiAgICB0aGlzLmRlbGV0ZUhhbmRsZXIgPSBkZWxldGVIYW5kbGVyO1xuXG4gICAgcHJvcHMubW9uaXRvcmluZy53YXRjaGZ1bC53YXRjaExhbWJkYUZ1bmN0aW9uKCdEZW55IExpc3QgLSBQcnVuZSBGdW5jdGlvbicsIHRoaXMucHJ1bmVIYW5kbGVyKTtcbiAgICBwcm9wcy5tb25pdG9yaW5nLndhdGNoZnVsLndhdGNoTGFtYmRhRnVuY3Rpb24oJ0RlbnkgTGlzdCAtIFBydW5lIERlbGV0ZSBGdW5jdGlvbicsIHRoaXMuZGVsZXRlSGFuZGxlcik7XG4gIH1cblxuICAvKipcbiAgICogU2hvdWxkIGJlIGNhbGxlZCB0byByZWJ1aWxkIHRoZSBjYXRhbG9nIHdoZW4gdGhlIGRlbnkgbGlzdCBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIG9uQ2hhbmdlSW52b2tlKGNhbGxiYWNrOiBsYW1iZGEuSUZ1bmN0aW9uKSB7XG4gICAgY2FsbGJhY2suZ3JhbnRJbnZva2UodGhpcy5wcnVuZUhhbmRsZXIpO1xuICAgIHRoaXMucHJ1bmVIYW5kbGVyLmFkZEVudmlyb25tZW50KEVOVl9QUlVORV9PTl9DSEFOR0VfRlVOQ1RJT05fTkFNRSwgY2FsbGJhY2suZnVuY3Rpb25Bcm4pO1xuICB9XG59Il19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJ1bmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZC9kZW55LWxpc3QvcHJ1bmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsZ0ZBQW1FO0FBRW5FLHdDQUF3QztBQUN4Qyx3Q0FBb0Q7QUFHcEQsMkNBQWdNO0FBQ2hNLG1EQUErQztBQUMvQywrREFBMEQ7QUEyQjFEOzs7R0FHRztBQUNILE1BQWEsS0FBTSxTQUFRLGdCQUFTO0lBZ0JsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWlCO1FBQ3pELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsZ0VBQWdFO1FBQ2hFLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQ3JELGlCQUFpQixFQUFFLGVBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1NBQ3ZDLENBQUMsQ0FBQztRQUVILDBFQUEwRTtRQUMxRSxpQ0FBaUM7UUFDakMsTUFBTSxZQUFZLEdBQUcsSUFBSSw0QkFBWSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7WUFDMUQsT0FBTyxFQUFFLGVBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLFdBQVcsRUFBRTtnQkFDWCxDQUFDLDhDQUFrQyxDQUFDLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQVU7Z0JBQ3hFLENBQUMsNkNBQWlDLENBQUMsRUFBRSxLQUFLLENBQUMsb0JBQW9CO2dCQUMvRCxDQUFDLCtCQUFtQixDQUFDLEVBQUUsV0FBVyxDQUFDLFFBQVE7YUFDNUM7U0FDRixDQUFDLENBQUM7UUFDSCxXQUFXLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVoRCxxRUFBcUU7UUFDckUsTUFBTSxhQUFhLEdBQUcsSUFBSSx1Q0FBaUIsQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLEVBQUU7WUFDckUsT0FBTyxFQUFFLGVBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzVCLFdBQVcsRUFBRTtnQkFDWCxDQUFDLDhDQUFrQyxDQUFDLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLFVBQVU7YUFDekU7U0FDRixDQUFDLENBQUM7UUFDSCxLQUFLLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25ELGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSx5Q0FBYyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7UUFFdEYsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFFbkMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsNEJBQTRCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9GLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLG1DQUFtQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN2RyxLQUFLLENBQUMsaUJBQWlCLENBQUMsdUNBQXVDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3pHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyx1Q0FBdUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVEOztPQUVHO0lBQ0ksY0FBYyxDQUFDLFFBQTBCO1FBQzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLDZDQUFpQyxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1RixDQUFDO0NBQ0Y7QUFoRUQsc0JBZ0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ0Bhd3MtY2RrL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgU3FzRXZlbnRTb3VyY2UgfSBmcm9tICdAYXdzLWNkay9hd3MtbGFtYmRhLWV2ZW50LXNvdXJjZXMnO1xuaW1wb3J0ICogYXMgczMgZnJvbSAnQGF3cy1jZGsvYXdzLXMzJztcbmltcG9ydCAqIGFzIHNxcyBmcm9tICdAYXdzLWNkay9hd3Mtc3FzJztcbmltcG9ydCB7IENvbnN0cnVjdCwgRHVyYXRpb24gfSBmcm9tICdAYXdzLWNkay9jb3JlJztcbmltcG9ydCB7IE1vbml0b3JpbmcgfSBmcm9tICcuLi8uLi9tb25pdG9yaW5nJztcbmltcG9ydCB7IE92ZXJ2aWV3RGFzaGJvYXJkIH0gZnJvbSAnLi4vLi4vb3ZlcnZpZXctZGFzaGJvYXJkJztcbmltcG9ydCB7IEVOVl9ERUxFVEVfT0JKRUNUX0RBVEFfQlVDS0VUX05BTUUsIEVOVl9QUlVORV9PTl9DSEFOR0VfRlVOQ1RJT05fTkFNRSwgRU5WX1BSVU5FX1BBQ0tBR0VfREFUQV9CVUNLRVRfTkFNRSwgRU5WX1BSVU5FX1BBQ0tBR0VfREFUQV9LRVlfUFJFRklYLCBFTlZfUFJVTkVfUVVFVUVfVVJMIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgUHJ1bmVIYW5kbGVyIH0gZnJvbSAnLi9wcnVuZS1oYW5kbGVyJztcbmltcG9ydCB7IFBydW5lUXVldWVIYW5kbGVyIH0gZnJvbSAnLi9wcnVuZS1xdWV1ZS1oYW5kbGVyJztcblxuLyoqXG4gKiBQcm9wcyBmcm9tIGBQcnVuZWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJ1bmVQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgUzMgYnVja2V0IHRoYXQgaW5jbHVkZXMgdGhlIHBhY2thZ2UgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IHBhY2thZ2VEYXRhQnVja2V0OiBzMy5JQnVja2V0O1xuXG4gIC8qKlxuICAgICogVGhlIFMzIGtleSBwcmVmaXggZm9yIGFsbCBwYWNrYWdlIGRhdGEuXG4gICAgKi9cbiAgcmVhZG9ubHkgcGFja2FnZURhdGFLZXlQcmVmaXg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1vbml0b3Jpbmcgc3lzdGVtLlxuICAgKi9cbiAgcmVhZG9ubHkgbW9uaXRvcmluZzogTW9uaXRvcmluZztcblxuICAvKipcbiAgICogT3ZlcnZpZXcgZGFzaGJvYXJkXG4gICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnZpZXdEYXNoYm9hcmQ6IE92ZXJ2aWV3RGFzaGJvYXJkO1xufVxuXG4vKipcbiAqIFJlYWRzIHRoZSBkZW55IGxpc3QgYW5kIHBydW5lcyBhbGwgb2JqZWN0cyBmcm9tIHRoZSBwYWNrYWdlIGRhdGEgYnVja2V0XG4gKiByZWxhdGVkIHRvIHBhY2thZ2VzIHRoYXQgbWF0Y2ggb25lIG9mIHRoZSBkZW55IGxpc3QgcnVsZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcnVuZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdGhhdCBuZWVkcyB0byByZWFkIHRoZSBkZW55IGxpc3QuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJ1bmVIYW5kbGVyOiBsYW1iZGEuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0aGF0IGRlbGV0ZXMgZmlsZXMgb2YgZGVuaWVkIHBhY2thZ2VzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlbGV0ZUhhbmRsZXI6IGxhbWJkYS5GdW5jdGlvbjtcblxuICAvKipcbiAgICogQW4gU1FTIHF1ZXVlIHdoaWNoIGluY2x1ZGVzIG9iamVjdHMgdG8gYmUgZGVsZXRlZC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBxdWV1ZTogc3FzLlF1ZXVlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcnVuZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIC8vIGludm9rZSB0aGUgcHJ1bmUgaGFuZGxlciBldmVyeSB0aW1lIHRoZSBkZW55IGxpc3QgaXMgdXBkYXRlZC5cbiAgICBjb25zdCBkZWxldGVRdWV1ZSA9IG5ldyBzcXMuUXVldWUodGhpcywgJ0RlbGV0ZVF1ZXVlJywge1xuICAgICAgdmlzaWJpbGl0eVRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoMiksIC8vIG11c3QgYmUgbGFyZ2VyIHRoYW4gdGhlIHRpbWVvdXQgb2YgUHJ1bmVRdWV1ZUhhbmRsZXJcbiAgICB9KTtcblxuICAgIC8vIHRoaXMgaGFuZGxlciByZWFkcyB0aGUgZGVueSBsaXN0IGFuZCBxdWV1ZXMgYWxsIHRoZSBtYXRjaGVkIG9iamVjdHMgZm9yXG4gICAgLy8gZGVsZXRpb24gaW50byB0aGUgcHJ1bmUgcXVldWUuXG4gICAgY29uc3QgcHJ1bmVIYW5kbGVyID0gbmV3IFBydW5lSGFuZGxlcih0aGlzLCAnUHJ1bmVIYW5kbGVyJywge1xuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcygxNSksXG4gICAgICBlbnZpcm9ubWVudDoge1xuICAgICAgICBbRU5WX1BSVU5FX1BBQ0tBR0VfREFUQV9CVUNLRVRfTkFNRV06IHByb3BzLnBhY2thZ2VEYXRhQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIFtFTlZfUFJVTkVfUEFDS0FHRV9EQVRBX0tFWV9QUkVGSVhdOiBwcm9wcy5wYWNrYWdlRGF0YUtleVByZWZpeCxcbiAgICAgICAgW0VOVl9QUlVORV9RVUVVRV9VUkxdOiBkZWxldGVRdWV1ZS5xdWV1ZVVybCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgZGVsZXRlUXVldWUuZ3JhbnRTZW5kTWVzc2FnZXMocHJ1bmVIYW5kbGVyKTtcbiAgICBwcm9wcy5wYWNrYWdlRGF0YUJ1Y2tldC5ncmFudFJlYWQocHJ1bmVIYW5kbGVyKTtcblxuICAgIC8vIHByb2Nlc3NlcyBtZXNzYWdlcy4gZWFjaCBtZXNzYWdlIGluY2x1ZGVzIGFuIG9iamVjdCBrZXkgdG8gZGVsZXRlLlxuICAgIGNvbnN0IGRlbGV0ZUhhbmRsZXIgPSBuZXcgUHJ1bmVRdWV1ZUhhbmRsZXIodGhpcywgJ1BydW5lUXVldWVIYW5kbGVyJywge1xuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIFtFTlZfREVMRVRFX09CSkVDVF9EQVRBX0JVQ0tFVF9OQU1FXTogcHJvcHMucGFja2FnZURhdGFCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcHJvcHMucGFja2FnZURhdGFCdWNrZXQuZ3JhbnREZWxldGUoZGVsZXRlSGFuZGxlcik7XG4gICAgZGVsZXRlSGFuZGxlci5hZGRFdmVudFNvdXJjZShuZXcgU3FzRXZlbnRTb3VyY2UoZGVsZXRlUXVldWUpKTsgLy8gcmVhZHMgZnJvbSB0aGUgcXVldWVcblxuICAgIHRoaXMucHJ1bmVIYW5kbGVyID0gcHJ1bmVIYW5kbGVyO1xuICAgIHRoaXMucXVldWUgPSBkZWxldGVRdWV1ZTtcbiAgICB0aGlzLmRlbGV0ZUhhbmRsZXIgPSBkZWxldGVIYW5kbGVyO1xuXG4gICAgcHJvcHMubW9uaXRvcmluZy53YXRjaGZ1bC53YXRjaExhbWJkYUZ1bmN0aW9uKCdEZW55IExpc3QgLSBQcnVuZSBGdW5jdGlvbicsIHRoaXMucHJ1bmVIYW5kbGVyKTtcbiAgICBwcm9wcy5tb25pdG9yaW5nLndhdGNoZnVsLndhdGNoTGFtYmRhRnVuY3Rpb24oJ0RlbnkgTGlzdCAtIFBydW5lIERlbGV0ZSBGdW5jdGlvbicsIHRoaXMuZGVsZXRlSGFuZGxlcik7XG4gICAgcHJvcHMub3ZlcnZpZXdEYXNoYm9hcmQuYWRkQ29uY3VycmVudEV4ZWN1dGlvbk1ldHJpY1RvRGFzaGJvYXJkKHRoaXMucHJ1bmVIYW5kbGVyLCAnUHJ1bmVIYW5kbGVyTGFtYmRhJyk7XG4gICAgcHJvcHMub3ZlcnZpZXdEYXNoYm9hcmQuYWRkQ29uY3VycmVudEV4ZWN1dGlvbk1ldHJpY1RvRGFzaGJvYXJkKHRoaXMuZGVsZXRlSGFuZGxlciwgJ1BydW5lUXVldWVIYW5kbGVyTGFtYmRhJyk7XG4gIH1cblxuICAvKipcbiAgICogU2hvdWxkIGJlIGNhbGxlZCB0byByZWJ1aWxkIHRoZSBjYXRhbG9nIHdoZW4gdGhlIGRlbnkgbGlzdCBjaGFuZ2VzLlxuICAgKi9cbiAgcHVibGljIG9uQ2hhbmdlSW52b2tlKGNhbGxiYWNrOiBsYW1iZGEuSUZ1bmN0aW9uKSB7XG4gICAgY2FsbGJhY2suZ3JhbnRJbnZva2UodGhpcy5wcnVuZUhhbmRsZXIpO1xuICAgIHRoaXMucHJ1bmVIYW5kbGVyLmFkZEVudmlyb25tZW50KEVOVl9QUlVORV9PTl9DSEFOR0VfRlVOQ1RJT05fTkFNRSwgY2FsbGJhY2suZnVuY3Rpb25Bcm4pO1xuICB9XG59Il19
@@ -7,6 +7,7 @@ import { IQueue } from '@aws-cdk/aws-sqs';
7
7
  import { Construct, Duration } from '@aws-cdk/core';
8
8
  import { Repository } from '../../codeartifact/repository';
9
9
  import { Monitoring } from '../../monitoring';
10
+ import { OverviewDashboard } from '../../overview-dashboard';
10
11
  import { PackageTagConfig } from '../../package-tag';
11
12
  import type { PackageLinkConfig } from '../../webapp';
12
13
  import { Orchestration } from '../orchestration';
@@ -29,6 +30,7 @@ export interface IngestionProps {
29
30
  * successfully registered.
30
31
  */
31
32
  readonly orchestration: Orchestration;
33
+ readonly overviewDashboard: OverviewDashboard;
32
34
  /**
33
35
  * How long to retain the CloudWatch logs.
34
36
  *