@aws-cdk/cloud-assembly-schema 49.4.0 → 50.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +78 -47
- package/.jsii.tabl.json +1 -1
- package/cli-version.json +1 -1
- package/lib/cloud-assembly/artifact-schema.d.ts +6 -0
- package/lib/cloud-assembly/artifact-schema.js +1 -1
- package/lib/cloud-assembly/context-queries.d.ts +11 -0
- package/lib/cloud-assembly/context-queries.js +1 -1
- package/lib/manifest.d.ts +20 -21
- package/lib/manifest.js +46 -77
- package/package.json +1 -1
- package/schema/cloud-assembly.schema.json +5 -1
- package/schema/version.json +2 -2
package/.jsii
CHANGED
|
@@ -631,7 +631,7 @@
|
|
|
631
631
|
"kind": "interface",
|
|
632
632
|
"locationInModule": {
|
|
633
633
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
634
|
-
"line":
|
|
634
|
+
"line": 173
|
|
635
635
|
},
|
|
636
636
|
"name": "AssetManifestOptions",
|
|
637
637
|
"properties": [
|
|
@@ -646,7 +646,7 @@
|
|
|
646
646
|
"immutable": true,
|
|
647
647
|
"locationInModule": {
|
|
648
648
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
649
|
-
"line":
|
|
649
|
+
"line": 192
|
|
650
650
|
},
|
|
651
651
|
"name": "bootstrapStackVersionSsmParameter",
|
|
652
652
|
"optional": true,
|
|
@@ -664,7 +664,7 @@
|
|
|
664
664
|
"immutable": true,
|
|
665
665
|
"locationInModule": {
|
|
666
666
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
667
|
-
"line":
|
|
667
|
+
"line": 179
|
|
668
668
|
},
|
|
669
669
|
"name": "requiresBootstrapStackVersion",
|
|
670
670
|
"optional": true,
|
|
@@ -689,7 +689,7 @@
|
|
|
689
689
|
"kind": "interface",
|
|
690
690
|
"locationInModule": {
|
|
691
691
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
692
|
-
"line":
|
|
692
|
+
"line": 198
|
|
693
693
|
},
|
|
694
694
|
"name": "AssetManifestProperties",
|
|
695
695
|
"properties": [
|
|
@@ -702,7 +702,7 @@
|
|
|
702
702
|
"immutable": true,
|
|
703
703
|
"locationInModule": {
|
|
704
704
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
705
|
-
"line":
|
|
705
|
+
"line": 202
|
|
706
706
|
},
|
|
707
707
|
"name": "file",
|
|
708
708
|
"type": {
|
|
@@ -774,7 +774,7 @@
|
|
|
774
774
|
"immutable": true,
|
|
775
775
|
"locationInModule": {
|
|
776
776
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
777
|
-
"line":
|
|
777
|
+
"line": 117
|
|
778
778
|
},
|
|
779
779
|
"name": "assumeRoleAdditionalOptions",
|
|
780
780
|
"optional": true,
|
|
@@ -797,7 +797,7 @@
|
|
|
797
797
|
"immutable": true,
|
|
798
798
|
"locationInModule": {
|
|
799
799
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
800
|
-
"line":
|
|
800
|
+
"line": 99
|
|
801
801
|
},
|
|
802
802
|
"name": "assumeRoleArn",
|
|
803
803
|
"optional": true,
|
|
@@ -815,7 +815,7 @@
|
|
|
815
815
|
"immutable": true,
|
|
816
816
|
"locationInModule": {
|
|
817
817
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
818
|
-
"line":
|
|
818
|
+
"line": 106
|
|
819
819
|
},
|
|
820
820
|
"name": "assumeRoleExternalId",
|
|
821
821
|
"optional": true,
|
|
@@ -834,7 +834,7 @@
|
|
|
834
834
|
"immutable": true,
|
|
835
835
|
"locationInModule": {
|
|
836
836
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
837
|
-
"line":
|
|
837
|
+
"line": 160
|
|
838
838
|
},
|
|
839
839
|
"name": "bootstrapStackVersionSsmParameter",
|
|
840
840
|
"optional": true,
|
|
@@ -852,7 +852,7 @@
|
|
|
852
852
|
"immutable": true,
|
|
853
853
|
"locationInModule": {
|
|
854
854
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
855
|
-
"line":
|
|
855
|
+
"line": 124
|
|
856
856
|
},
|
|
857
857
|
"name": "cloudFormationExecutionRoleArn",
|
|
858
858
|
"optional": true,
|
|
@@ -870,7 +870,7 @@
|
|
|
870
870
|
"immutable": true,
|
|
871
871
|
"locationInModule": {
|
|
872
872
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
873
|
-
"line":
|
|
873
|
+
"line": 131
|
|
874
874
|
},
|
|
875
875
|
"name": "lookupRole",
|
|
876
876
|
"optional": true,
|
|
@@ -888,7 +888,7 @@
|
|
|
888
888
|
"immutable": true,
|
|
889
889
|
"locationInModule": {
|
|
890
890
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
891
|
-
"line":
|
|
891
|
+
"line": 79
|
|
892
892
|
},
|
|
893
893
|
"name": "notificationArns",
|
|
894
894
|
"optional": true,
|
|
@@ -934,7 +934,7 @@
|
|
|
934
934
|
"immutable": true,
|
|
935
935
|
"locationInModule": {
|
|
936
936
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
937
|
-
"line":
|
|
937
|
+
"line": 145
|
|
938
938
|
},
|
|
939
939
|
"name": "requiresBootstrapStackVersion",
|
|
940
940
|
"optional": true,
|
|
@@ -952,7 +952,7 @@
|
|
|
952
952
|
"immutable": true,
|
|
953
953
|
"locationInModule": {
|
|
954
954
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
955
|
-
"line":
|
|
955
|
+
"line": 85
|
|
956
956
|
},
|
|
957
957
|
"name": "stackName",
|
|
958
958
|
"optional": true,
|
|
@@ -970,7 +970,7 @@
|
|
|
970
970
|
"immutable": true,
|
|
971
971
|
"locationInModule": {
|
|
972
972
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
973
|
-
"line":
|
|
973
|
+
"line": 138
|
|
974
974
|
},
|
|
975
975
|
"name": "stackTemplateAssetObjectUrl",
|
|
976
976
|
"optional": true,
|
|
@@ -982,13 +982,14 @@
|
|
|
982
982
|
"abstract": true,
|
|
983
983
|
"docs": {
|
|
984
984
|
"default": "- No tags",
|
|
985
|
+
"remarks": "N.B.: Tags are also written to stack metadata, under the path of the Stack\nconstruct. Only in CDK CLI v1 are those tags found in metadata used for\nactual deployments; in all stable versions of CDK only the stack tags\ndirectly found in the `tags` property of `AwsCloudFormationStack` artifact\n(i.e., this property) are used.",
|
|
985
986
|
"stability": "stable",
|
|
986
987
|
"summary": "Values for CloudFormation stack tags that should be passed when the stack is deployed."
|
|
987
988
|
},
|
|
988
989
|
"immutable": true,
|
|
989
990
|
"locationInModule": {
|
|
990
991
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
991
|
-
"line":
|
|
992
|
+
"line": 72
|
|
992
993
|
},
|
|
993
994
|
"name": "tags",
|
|
994
995
|
"optional": true,
|
|
@@ -1011,7 +1012,7 @@
|
|
|
1011
1012
|
"immutable": true,
|
|
1012
1013
|
"locationInModule": {
|
|
1013
1014
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
1014
|
-
"line":
|
|
1015
|
+
"line": 92
|
|
1015
1016
|
},
|
|
1016
1017
|
"name": "terminationProtection",
|
|
1017
1018
|
"optional": true,
|
|
@@ -1029,7 +1030,7 @@
|
|
|
1029
1030
|
"immutable": true,
|
|
1030
1031
|
"locationInModule": {
|
|
1031
1032
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
1032
|
-
"line":
|
|
1033
|
+
"line": 167
|
|
1033
1034
|
},
|
|
1034
1035
|
"name": "validateOnSynth",
|
|
1035
1036
|
"optional": true,
|
|
@@ -1254,7 +1255,7 @@
|
|
|
1254
1255
|
"assembly": "@aws-cdk/cloud-assembly-schema",
|
|
1255
1256
|
"datatype": true,
|
|
1256
1257
|
"docs": {
|
|
1257
|
-
"example": "import { CcApiContextQuery } from '@aws-cdk/cloud-assembly-schema';\n\nconst x: CcApiContextQuery = {\n typeName: 'AWS::Some::Type',\n expectedMatchCount: 'exactly-one',\n propertiesToReturn: ['SomeProp'],\n account: '11111111111',\n region: 'us-east-1',\n};",
|
|
1258
|
+
"example": "import { CcApiContextQuery } from '@aws-cdk/cloud-assembly-schema';\n\nconst x: CcApiContextQuery = {\n typeName: 'AWS::Some::Type',\n expectedMatchCount: 'exactly-one',\n resourceModel: {SomeArn: 'arn:aws:....'},\n propertiesToReturn: ['SomeProp'],\n account: '11111111111',\n region: 'us-east-1',\n};",
|
|
1258
1259
|
"remarks": "The example below is required to successfully compile CDK (otherwise,\nthe CDK build will generate a synthetic example for the below, but it\ndoesn't have enough type information about the literal string union\nto generate a validly compiling example).",
|
|
1259
1260
|
"stability": "stable",
|
|
1260
1261
|
"summary": "Query input for lookup up CloudFormation resources using CC API."
|
|
@@ -1266,7 +1267,7 @@
|
|
|
1266
1267
|
"kind": "interface",
|
|
1267
1268
|
"locationInModule": {
|
|
1268
1269
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1269
|
-
"line":
|
|
1270
|
+
"line": 377
|
|
1270
1271
|
},
|
|
1271
1272
|
"name": "CcApiContextQuery",
|
|
1272
1273
|
"properties": [
|
|
@@ -1280,7 +1281,7 @@
|
|
|
1280
1281
|
"immutable": true,
|
|
1281
1282
|
"locationInModule": {
|
|
1282
1283
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1283
|
-
"line":
|
|
1284
|
+
"line": 445
|
|
1284
1285
|
},
|
|
1285
1286
|
"name": "propertiesToReturn",
|
|
1286
1287
|
"type": {
|
|
@@ -1302,7 +1303,7 @@
|
|
|
1302
1303
|
"immutable": true,
|
|
1303
1304
|
"locationInModule": {
|
|
1304
1305
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1305
|
-
"line":
|
|
1306
|
+
"line": 382
|
|
1306
1307
|
},
|
|
1307
1308
|
"name": "typeName",
|
|
1308
1309
|
"type": {
|
|
@@ -1320,7 +1321,7 @@
|
|
|
1320
1321
|
"immutable": true,
|
|
1321
1322
|
"locationInModule": {
|
|
1322
1323
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1323
|
-
"line":
|
|
1324
|
+
"line": 476
|
|
1324
1325
|
},
|
|
1325
1326
|
"name": "dummyValue",
|
|
1326
1327
|
"optional": true,
|
|
@@ -1339,7 +1340,7 @@
|
|
|
1339
1340
|
"immutable": true,
|
|
1340
1341
|
"locationInModule": {
|
|
1341
1342
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1342
|
-
"line":
|
|
1343
|
+
"line": 392
|
|
1343
1344
|
},
|
|
1344
1345
|
"name": "exactIdentifier",
|
|
1345
1346
|
"optional": true,
|
|
@@ -1358,7 +1359,7 @@
|
|
|
1358
1359
|
"immutable": true,
|
|
1359
1360
|
"locationInModule": {
|
|
1360
1361
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1361
|
-
"line":
|
|
1362
|
+
"line": 462
|
|
1362
1363
|
},
|
|
1363
1364
|
"name": "expectedMatchCount",
|
|
1364
1365
|
"optional": true,
|
|
@@ -1377,7 +1378,7 @@
|
|
|
1377
1378
|
"immutable": true,
|
|
1378
1379
|
"locationInModule": {
|
|
1379
1380
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1380
|
-
"line":
|
|
1381
|
+
"line": 490
|
|
1381
1382
|
},
|
|
1382
1383
|
"name": "ignoreErrorOnMissingContext",
|
|
1383
1384
|
"optional": true,
|
|
@@ -1396,7 +1397,7 @@
|
|
|
1396
1397
|
"immutable": true,
|
|
1397
1398
|
"locationInModule": {
|
|
1398
1399
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1399
|
-
"line":
|
|
1400
|
+
"line": 423
|
|
1400
1401
|
},
|
|
1401
1402
|
"name": "propertyMatch",
|
|
1402
1403
|
"optional": true,
|
|
@@ -1408,6 +1409,30 @@
|
|
|
1408
1409
|
"kind": "map"
|
|
1409
1410
|
}
|
|
1410
1411
|
}
|
|
1412
|
+
},
|
|
1413
|
+
{
|
|
1414
|
+
"abstract": true,
|
|
1415
|
+
"docs": {
|
|
1416
|
+
"default": "- no resource Model is provided",
|
|
1417
|
+
"remarks": "This is needed for sub-resources where the parent Arn is required.\n\nSee https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-list.html#resource-operations-list-containers",
|
|
1418
|
+
"stability": "stable",
|
|
1419
|
+
"summary": "The resource model to use to select the resources, using `ListResources`.."
|
|
1420
|
+
},
|
|
1421
|
+
"immutable": true,
|
|
1422
|
+
"locationInModule": {
|
|
1423
|
+
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
1424
|
+
"line": 403
|
|
1425
|
+
},
|
|
1426
|
+
"name": "resourceModel",
|
|
1427
|
+
"optional": true,
|
|
1428
|
+
"type": {
|
|
1429
|
+
"collection": {
|
|
1430
|
+
"elementtype": {
|
|
1431
|
+
"primitive": "any"
|
|
1432
|
+
},
|
|
1433
|
+
"kind": "map"
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1411
1436
|
}
|
|
1412
1437
|
],
|
|
1413
1438
|
"symbolId": "lib/cloud-assembly/context-queries:CcApiContextQuery"
|
|
@@ -3570,7 +3595,7 @@
|
|
|
3570
3595
|
"kind": "interface",
|
|
3571
3596
|
"locationInModule": {
|
|
3572
3597
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
3573
|
-
"line":
|
|
3598
|
+
"line": 253
|
|
3574
3599
|
},
|
|
3575
3600
|
"name": "FeatureFlag",
|
|
3576
3601
|
"properties": [
|
|
@@ -3584,7 +3609,7 @@
|
|
|
3584
3609
|
"immutable": true,
|
|
3585
3610
|
"locationInModule": {
|
|
3586
3611
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
3587
|
-
"line":
|
|
3612
|
+
"line": 279
|
|
3588
3613
|
},
|
|
3589
3614
|
"name": "explanation",
|
|
3590
3615
|
"optional": true,
|
|
@@ -3603,7 +3628,7 @@
|
|
|
3603
3628
|
"immutable": true,
|
|
3604
3629
|
"locationInModule": {
|
|
3605
3630
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
3606
|
-
"line":
|
|
3631
|
+
"line": 261
|
|
3607
3632
|
},
|
|
3608
3633
|
"name": "recommendedValue",
|
|
3609
3634
|
"optional": true,
|
|
@@ -3622,7 +3647,7 @@
|
|
|
3622
3647
|
"immutable": true,
|
|
3623
3648
|
"locationInModule": {
|
|
3624
3649
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
3625
|
-
"line":
|
|
3650
|
+
"line": 294
|
|
3626
3651
|
},
|
|
3627
3652
|
"name": "unconfiguredBehavesLike",
|
|
3628
3653
|
"optional": true,
|
|
@@ -3641,7 +3666,7 @@
|
|
|
3641
3666
|
"immutable": true,
|
|
3642
3667
|
"locationInModule": {
|
|
3643
3668
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
3644
|
-
"line":
|
|
3669
|
+
"line": 272
|
|
3645
3670
|
},
|
|
3646
3671
|
"name": "userValue",
|
|
3647
3672
|
"optional": true,
|
|
@@ -3664,7 +3689,7 @@
|
|
|
3664
3689
|
"kind": "interface",
|
|
3665
3690
|
"locationInModule": {
|
|
3666
3691
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
3667
|
-
"line":
|
|
3692
|
+
"line": 238
|
|
3668
3693
|
},
|
|
3669
3694
|
"name": "FeatureFlagReportProperties",
|
|
3670
3695
|
"properties": [
|
|
@@ -3677,7 +3702,7 @@
|
|
|
3677
3702
|
"immutable": true,
|
|
3678
3703
|
"locationInModule": {
|
|
3679
3704
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
3680
|
-
"line":
|
|
3705
|
+
"line": 247
|
|
3681
3706
|
},
|
|
3682
3707
|
"name": "flags",
|
|
3683
3708
|
"type": {
|
|
@@ -3698,7 +3723,7 @@
|
|
|
3698
3723
|
"immutable": true,
|
|
3699
3724
|
"locationInModule": {
|
|
3700
3725
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
3701
|
-
"line":
|
|
3726
|
+
"line": 242
|
|
3702
3727
|
},
|
|
3703
3728
|
"name": "module",
|
|
3704
3729
|
"type": {
|
|
@@ -4767,12 +4792,18 @@
|
|
|
4767
4792
|
"symbolId": "lib/manifest:LoadManifestOptions"
|
|
4768
4793
|
},
|
|
4769
4794
|
"@aws-cdk/cloud-assembly-schema.Manifest": {
|
|
4795
|
+
"abstract": true,
|
|
4770
4796
|
"assembly": "@aws-cdk/cloud-assembly-schema",
|
|
4771
4797
|
"docs": {
|
|
4772
4798
|
"stability": "stable",
|
|
4773
4799
|
"summary": "Protocol utility class."
|
|
4774
4800
|
},
|
|
4775
4801
|
"fqn": "@aws-cdk/cloud-assembly-schema.Manifest",
|
|
4802
|
+
"initializer": {
|
|
4803
|
+
"docs": {
|
|
4804
|
+
"stability": "stable"
|
|
4805
|
+
}
|
|
4806
|
+
},
|
|
4776
4807
|
"kind": "class",
|
|
4777
4808
|
"locationInModule": {
|
|
4778
4809
|
"filename": "lib/manifest.ts",
|
|
@@ -5275,7 +5306,7 @@
|
|
|
5275
5306
|
"kind": "interface",
|
|
5276
5307
|
"locationInModule": {
|
|
5277
5308
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
5278
|
-
"line":
|
|
5309
|
+
"line": 218
|
|
5279
5310
|
},
|
|
5280
5311
|
"name": "NestedCloudAssemblyProperties",
|
|
5281
5312
|
"properties": [
|
|
@@ -5288,7 +5319,7 @@
|
|
|
5288
5319
|
"immutable": true,
|
|
5289
5320
|
"locationInModule": {
|
|
5290
5321
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
5291
|
-
"line":
|
|
5322
|
+
"line": 222
|
|
5292
5323
|
},
|
|
5293
5324
|
"name": "directoryName",
|
|
5294
5325
|
"type": {
|
|
@@ -5305,7 +5336,7 @@
|
|
|
5305
5336
|
"immutable": true,
|
|
5306
5337
|
"locationInModule": {
|
|
5307
5338
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
5308
|
-
"line":
|
|
5339
|
+
"line": 229
|
|
5309
5340
|
},
|
|
5310
5341
|
"name": "displayName",
|
|
5311
5342
|
"optional": true,
|
|
@@ -5328,7 +5359,7 @@
|
|
|
5328
5359
|
"kind": "interface",
|
|
5329
5360
|
"locationInModule": {
|
|
5330
5361
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
5331
|
-
"line":
|
|
5362
|
+
"line": 499
|
|
5332
5363
|
},
|
|
5333
5364
|
"name": "PluginContextQuery",
|
|
5334
5365
|
"properties": [
|
|
@@ -5341,7 +5372,7 @@
|
|
|
5341
5372
|
"immutable": true,
|
|
5342
5373
|
"locationInModule": {
|
|
5343
5374
|
"filename": "lib/cloud-assembly/context-queries.ts",
|
|
5344
|
-
"line":
|
|
5375
|
+
"line": 503
|
|
5345
5376
|
},
|
|
5346
5377
|
"name": "pluginName",
|
|
5347
5378
|
"type": {
|
|
@@ -5821,7 +5852,7 @@
|
|
|
5821
5852
|
"kind": "interface",
|
|
5822
5853
|
"locationInModule": {
|
|
5823
5854
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
5824
|
-
"line":
|
|
5855
|
+
"line": 208
|
|
5825
5856
|
},
|
|
5826
5857
|
"name": "TreeArtifactProperties",
|
|
5827
5858
|
"properties": [
|
|
@@ -5834,7 +5865,7 @@
|
|
|
5834
5865
|
"immutable": true,
|
|
5835
5866
|
"locationInModule": {
|
|
5836
5867
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
5837
|
-
"line":
|
|
5868
|
+
"line": 212
|
|
5838
5869
|
},
|
|
5839
5870
|
"name": "file",
|
|
5840
5871
|
"type": {
|
|
@@ -5854,7 +5885,7 @@
|
|
|
5854
5885
|
"kind": "interface",
|
|
5855
5886
|
"locationInModule": {
|
|
5856
5887
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
5857
|
-
"line":
|
|
5888
|
+
"line": 297
|
|
5858
5889
|
},
|
|
5859
5890
|
"name": "UnconfiguredBehavesLike",
|
|
5860
5891
|
"properties": [
|
|
@@ -5869,7 +5900,7 @@
|
|
|
5869
5900
|
"immutable": true,
|
|
5870
5901
|
"locationInModule": {
|
|
5871
5902
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
5872
|
-
"line":
|
|
5903
|
+
"line": 306
|
|
5873
5904
|
},
|
|
5874
5905
|
"name": "v1",
|
|
5875
5906
|
"optional": true,
|
|
@@ -5888,7 +5919,7 @@
|
|
|
5888
5919
|
"immutable": true,
|
|
5889
5920
|
"locationInModule": {
|
|
5890
5921
|
"filename": "lib/cloud-assembly/artifact-schema.ts",
|
|
5891
|
-
"line":
|
|
5922
|
+
"line": 319
|
|
5892
5923
|
},
|
|
5893
5924
|
"name": "v2",
|
|
5894
5925
|
"optional": true,
|
|
@@ -6000,6 +6031,6 @@
|
|
|
6000
6031
|
"symbolId": "lib/cloud-assembly/context-queries:VpcContextQuery"
|
|
6001
6032
|
}
|
|
6002
6033
|
},
|
|
6003
|
-
"version": "
|
|
6004
|
-
"fingerprint": "
|
|
6034
|
+
"version": "50.1.0",
|
|
6035
|
+
"fingerprint": "4aJuF52ty3DUYAf4kgBG4dVt9+untPagwOvsCuwwMDE="
|
|
6005
6036
|
}
|
package/.jsii.tabl.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"2","toolVersion":"5.9.21","snippets":{"33a997f3b80c5a7b85d876d8c34171c602c0cab4ef93ece45859e3c7119441ac":{"translations":{"python":{"source":"from aws_cdk.cloud_assembly_schema import CcApiContextQuery\nfrom aws_cdk.cloud_assembly_schema import CcApiContextQuery\n\n\nx = CcApiContextQuery(\n type_name=\"AWS::Some::Type\",\n expected_match_count=\"exactly-one\",\n properties_to_return=[\"SomeProp\"],\n account=\"11111111111\",\n region=\"us-east-1\"\n)","version":"2"},"csharp":{"source":"using Amazon.CDK.CloudAssembly.Schema;\n\n\nvar x = new CcApiContextQuery {\n TypeName = \"AWS::Some::Type\",\n ExpectedMatchCount = \"exactly-one\",\n PropertiesToReturn = new [] { \"SomeProp\" },\n Account = \"11111111111\",\n Region = \"us-east-1\"\n};","version":"1"},"java":{"source":"import software.amazon.awscdk.cloudassembly.schema.CcApiContextQuery;\n\n\nCcApiContextQuery x = CcApiContextQuery.builder()\n .typeName(\"AWS::Some::Type\")\n .expectedMatchCount(\"exactly-one\")\n .propertiesToReturn(List.of(\"SomeProp\"))\n .account(\"11111111111\")\n .region(\"us-east-1\")\n .build();","version":"1"},"go":{"source":"import \"github.com/cdklabs/cloud-assembly-schema-go/awscdkcloudassemblyschema\"\n\n\nx := &CcApiContextQuery{\n\tTypeName: jsii.String(\"AWS::Some::Type\"),\n\tExpectedMatchCount: jsii.String(\"exactly-one\"),\n\tPropertiesToReturn: []*string{\n\t\tjsii.String(\"SomeProp\"),\n\t},\n\tAccount: jsii.String(\"11111111111\"),\n\tRegion: jsii.String(\"us-east-1\"),\n}","version":"1"},"$":{"source":"import { CcApiContextQuery } from '@aws-cdk/cloud-assembly-schema';\n\nconst x: CcApiContextQuery = {\n typeName: 'AWS::Some::Type',\n expectedMatchCount: 'exactly-one',\n propertiesToReturn: ['SomeProp'],\n account: '11111111111',\n region: 'us-east-1',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/cloud-assembly-schema.CcApiContextQuery"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/cloud-assembly-schema.CcApiContextQuery"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\nimport { CcApiContextQuery } from '@aws-cdk/cloud-assembly-schema';\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n\n\nconst x: CcApiContextQuery = {\n typeName: 'AWS::Some::Type',\n expectedMatchCount: 'exactly-one',\n propertiesToReturn: ['SomeProp'],\n account: '11111111111',\n region: 'us-east-1',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":6,"80":8,"184":1,"210":1,"211":1,"244":1,"261":1,"262":1,"273":1,"274":1,"276":1,"277":1,"304":5,"308":1},"fqnsFingerprint":"f5f66a2137c7e3039ff9787fb4c05a533e42ab9052cd67e5fdfc69454e9bcfe4"},"ed50ccafc79acf82c002383b64b4a7674dd3fb7feced40b7886b0ea45d7a2f53":{"translations":{"python":{"source":"\"registry\"","version":"2"},"csharp":{"source":"\"registry\";","version":"1"},"java":{"source":"\"registry\";","version":"1"},"go":{"source":"\"registry\"","version":"1"},"$":{"source":"'registry'","version":"0"}},"location":{"api":{"api":"member","fqn":"@aws-cdk/cloud-assembly-schema.ContainerImageAssetCacheOption","memberName":"type"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n'registry'\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":1,"245":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"74f6e3d3bc59ec8004507cb82fdf5644924846e87e5d795dc7dec654f80ecfa8":{"translations":{"python":{"source":"# branch: str\n\n\nparams = {\n \"ref\": f\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:{branch}\",\n \"mode\": \"max\"\n}","version":"2"},"csharp":{"source":"string branch;\n\n\nIDictionary<string, object> params = new Dictionary<string, object> {\n { \"ref\", $\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:{branch}\" },\n { \"mode\", \"max\" }\n};","version":"1"},"java":{"source":"String branch;\n\n\nMap<String, Object> params = Map.of(\n \"ref\", String.format(\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%s\", branch),\n \"mode\", \"max\");","version":"1"},"go":{"source":"var branch string\n\n\nparams := map[string]interface{}{\n\t\"ref\": fmt.Sprintf(\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%v\", branch),\n\t\"mode\": jsii.String(\"max\"),\n}","version":"1"},"$":{"source":"declare const branch: string;\n\nconst params = {\n ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,\n mode: \"max\",\n};","version":"0"}},"location":{"api":{"api":"member","fqn":"@aws-cdk/cloud-assembly-schema.ContainerImageAssetCacheOption","memberName":"params"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const branch: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n\n\nconst params = {\n ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,\n mode: \"max\",\n};\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":1,"16":1,"18":1,"80":5,"138":1,"154":1,"211":1,"229":1,"240":1,"244":2,"261":2,"262":2,"304":2,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"5abfd7af60ba3b85920714aeeadeb2c1e4082c4d0ded3511ee41a643079af611":{"translations":{"python":{"source":"entry = {\n \"packaging\": \"container-image\",\n \"repository_name\": \"repository-name\",\n \"image_tag\": \"tag\"\n}","version":"2"},"csharp":{"source":"IDictionary<string, string> entry = new Dictionary<string, string> {\n { \"packaging\", \"container-image\" },\n { \"repositoryName\", \"repository-name\" },\n { \"imageTag\", \"tag\" }\n};","version":"1"},"java":{"source":"Map<String, String> entry = Map.of(\n \"packaging\", \"container-image\",\n \"repositoryName\", \"repository-name\",\n \"imageTag\", \"tag\");","version":"1"},"go":{"source":"entry := map[string]*string{\n\t\"packaging\": jsii.String(\"container-image\"),\n\t\"repositoryName\": jsii.String(\"repository-name\"),\n\t\"imageTag\": jsii.String(\"tag\"),\n}","version":"1"},"$":{"source":"const entry = {\n packaging: 'container-image',\n repositoryName: 'repository-name',\n imageTag: 'tag',\n}","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/cloud-assembly-schema.ContainerImageAssetMetadataEntry"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\nconst entry = {\n packaging: 'container-image',\n repositoryName: 'repository-name',\n imageTag: 'tag',\n}\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":3,"80":4,"211":1,"244":1,"261":1,"262":1,"304":3,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"8ca73f17168cfe977e2e7f7d640aea4e78b5dc022a16bf4e187251525ec88255":{"translations":{"python":{"source":"\"registry\"","version":"2"},"csharp":{"source":"\"registry\";","version":"1"},"java":{"source":"\"registry\";","version":"1"},"go":{"source":"\"registry\"","version":"1"},"$":{"source":"'registry'","version":"0"}},"location":{"api":{"api":"member","fqn":"@aws-cdk/cloud-assembly-schema.DockerCacheOption","memberName":"type"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n'registry'\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":1,"245":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"089525294f3dfb3bb6d7687a2ebd219fc6d219c96d08c082e3e3c9a5a39f04bc":{"translations":{"python":{"source":"# branch: str\n\n\nparams = {\n \"ref\": f\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:{branch}\",\n \"mode\": \"max\"\n}","version":"2"},"csharp":{"source":"string branch;\n\n\nIDictionary<string, object> params = new Dictionary<string, object> {\n { \"ref\", $\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:{branch}\" },\n { \"mode\", \"max\" }\n};","version":"1"},"java":{"source":"String branch;\n\n\nMap<String, Object> params = Map.of(\n \"ref\", String.format(\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%s\", branch),\n \"mode\", \"max\");","version":"1"},"go":{"source":"var branch string\n\n\nparams := map[string]interface{}{\n\t\"ref\": fmt.Sprintf(\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%v\", branch),\n\t\"mode\": jsii.String(\"max\"),\n}","version":"1"},"$":{"source":"declare const branch: string;\n\nconst params = {\n ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,\n mode: \"max\",\n};","version":"0"}},"location":{"api":{"api":"member","fqn":"@aws-cdk/cloud-assembly-schema.DockerCacheOption","memberName":"params"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const branch: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n\n\nconst params = {\n ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,\n mode: \"max\",\n};\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":1,"16":1,"18":1,"80":5,"138":1,"154":1,"211":1,"229":1,"240":1,"244":2,"261":2,"262":2,"304":2,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"82a0fc5ca89d11e2a7e67427d70fec66670ed3a10a83efa087f4b2df94d6be57":{"translations":{"python":{"source":"entry = {\n \"packaging\": \"file\",\n \"s3_bucket_parameter\": \"bucket-parameter\",\n \"s3_key_paramenter\": \"key-parameter\",\n \"artifact_hash_parameter\": \"hash-parameter\"\n}","version":"2"},"csharp":{"source":"IDictionary<string, string> entry = new Dictionary<string, string> {\n { \"packaging\", \"file\" },\n { \"s3BucketParameter\", \"bucket-parameter\" },\n { \"s3KeyParamenter\", \"key-parameter\" },\n { \"artifactHashParameter\", \"hash-parameter\" }\n};","version":"1"},"java":{"source":"Map<String, String> entry = Map.of(\n \"packaging\", \"file\",\n \"s3BucketParameter\", \"bucket-parameter\",\n \"s3KeyParamenter\", \"key-parameter\",\n \"artifactHashParameter\", \"hash-parameter\");","version":"1"},"go":{"source":"entry := map[string]*string{\n\t\"packaging\": jsii.String(\"file\"),\n\t\"s3BucketParameter\": jsii.String(\"bucket-parameter\"),\n\t\"s3KeyParamenter\": jsii.String(\"key-parameter\"),\n\t\"artifactHashParameter\": jsii.String(\"hash-parameter\"),\n}","version":"1"},"$":{"source":"const entry = {\n packaging: 'file',\n s3BucketParameter: 'bucket-parameter',\n s3KeyParamenter: 'key-parameter',\n artifactHashParameter: 'hash-parameter',\n}","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/cloud-assembly-schema.FileAssetMetadataEntry"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\nconst entry = {\n packaging: 'file',\n s3BucketParameter: 'bucket-parameter',\n s3KeyParamenter: 'key-parameter',\n artifactHashParameter: 'hash-parameter',\n}\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":4,"80":5,"211":1,"244":1,"261":1,"262":1,"304":4,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}}}
|
|
1
|
+
{"version":"2","toolVersion":"5.9.21","snippets":{"59b2c8b274418e610dc71ea98c30c160858d44561771f4fb7397f5abf40676d8":{"translations":{"python":{"source":"from aws_cdk.cloud_assembly_schema import CcApiContextQuery\nfrom aws_cdk.cloud_assembly_schema import CcApiContextQuery\n\n\nx = CcApiContextQuery(\n type_name=\"AWS::Some::Type\",\n expected_match_count=\"exactly-one\",\n resource_model={\"SomeArn\": \"arn:aws:....\"},\n properties_to_return=[\"SomeProp\"],\n account=\"11111111111\",\n region=\"us-east-1\"\n)","version":"2"},"csharp":{"source":"using Amazon.CDK.CloudAssembly.Schema;\n\n\nvar x = new CcApiContextQuery {\n TypeName = \"AWS::Some::Type\",\n ExpectedMatchCount = \"exactly-one\",\n ResourceModel = new Dictionary<string, object> { { \"SomeArn\", \"arn:aws:....\" } },\n PropertiesToReturn = new [] { \"SomeProp\" },\n Account = \"11111111111\",\n Region = \"us-east-1\"\n};","version":"1"},"java":{"source":"import software.amazon.awscdk.cloudassembly.schema.CcApiContextQuery;\n\n\nCcApiContextQuery x = CcApiContextQuery.builder()\n .typeName(\"AWS::Some::Type\")\n .expectedMatchCount(\"exactly-one\")\n .resourceModel(Map.of(\"SomeArn\", \"arn:aws:....\"))\n .propertiesToReturn(List.of(\"SomeProp\"))\n .account(\"11111111111\")\n .region(\"us-east-1\")\n .build();","version":"1"},"go":{"source":"import \"github.com/cdklabs/cloud-assembly-schema-go/awscdkcloudassemblyschema\"\n\n\nx := &CcApiContextQuery{\n\tTypeName: jsii.String(\"AWS::Some::Type\"),\n\tExpectedMatchCount: jsii.String(\"exactly-one\"),\n\tResourceModel: map[string]interface{}{\n\t\t\"SomeArn\": jsii.String(\"arn:aws:....\"),\n\t},\n\tPropertiesToReturn: []*string{\n\t\tjsii.String(\"SomeProp\"),\n\t},\n\tAccount: jsii.String(\"11111111111\"),\n\tRegion: jsii.String(\"us-east-1\"),\n}","version":"1"},"$":{"source":"import { CcApiContextQuery } from '@aws-cdk/cloud-assembly-schema';\n\nconst x: CcApiContextQuery = {\n typeName: 'AWS::Some::Type',\n expectedMatchCount: 'exactly-one',\n resourceModel: {SomeArn: 'arn:aws:....'},\n propertiesToReturn: ['SomeProp'],\n account: '11111111111',\n region: 'us-east-1',\n};","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/cloud-assembly-schema.CcApiContextQuery"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":["@aws-cdk/cloud-assembly-schema.CcApiContextQuery"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\nimport { CcApiContextQuery } from '@aws-cdk/cloud-assembly-schema';\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n\n\nconst x: CcApiContextQuery = {\n typeName: 'AWS::Some::Type',\n expectedMatchCount: 'exactly-one',\n resourceModel: {SomeArn: 'arn:aws:....'},\n propertiesToReturn: ['SomeProp'],\n account: '11111111111',\n region: 'us-east-1',\n};\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":7,"80":10,"184":1,"210":1,"211":2,"244":1,"261":1,"262":1,"273":1,"274":1,"276":1,"277":1,"304":7,"308":1},"fqnsFingerprint":"c7cd9bb2197a516f2be91b4937474267b1d9e7389618b15ec49a1afd5ccddd28"},"ed50ccafc79acf82c002383b64b4a7674dd3fb7feced40b7886b0ea45d7a2f53":{"translations":{"python":{"source":"\"registry\"","version":"2"},"csharp":{"source":"\"registry\";","version":"1"},"java":{"source":"\"registry\";","version":"1"},"go":{"source":"\"registry\"","version":"1"},"$":{"source":"'registry'","version":"0"}},"location":{"api":{"api":"member","fqn":"@aws-cdk/cloud-assembly-schema.ContainerImageAssetCacheOption","memberName":"type"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n'registry'\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":1,"245":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"74f6e3d3bc59ec8004507cb82fdf5644924846e87e5d795dc7dec654f80ecfa8":{"translations":{"python":{"source":"# branch: str\n\n\nparams = {\n \"ref\": f\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:{branch}\",\n \"mode\": \"max\"\n}","version":"2"},"csharp":{"source":"string branch;\n\n\nIDictionary<string, object> params = new Dictionary<string, object> {\n { \"ref\", $\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:{branch}\" },\n { \"mode\", \"max\" }\n};","version":"1"},"java":{"source":"String branch;\n\n\nMap<String, Object> params = Map.of(\n \"ref\", String.format(\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%s\", branch),\n \"mode\", \"max\");","version":"1"},"go":{"source":"var branch string\n\n\nparams := map[string]interface{}{\n\t\"ref\": fmt.Sprintf(\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%v\", branch),\n\t\"mode\": jsii.String(\"max\"),\n}","version":"1"},"$":{"source":"declare const branch: string;\n\nconst params = {\n ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,\n mode: \"max\",\n};","version":"0"}},"location":{"api":{"api":"member","fqn":"@aws-cdk/cloud-assembly-schema.ContainerImageAssetCacheOption","memberName":"params"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const branch: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n\n\nconst params = {\n ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,\n mode: \"max\",\n};\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":1,"16":1,"18":1,"80":5,"138":1,"154":1,"211":1,"229":1,"240":1,"244":2,"261":2,"262":2,"304":2,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"5abfd7af60ba3b85920714aeeadeb2c1e4082c4d0ded3511ee41a643079af611":{"translations":{"python":{"source":"entry = {\n \"packaging\": \"container-image\",\n \"repository_name\": \"repository-name\",\n \"image_tag\": \"tag\"\n}","version":"2"},"csharp":{"source":"IDictionary<string, string> entry = new Dictionary<string, string> {\n { \"packaging\", \"container-image\" },\n { \"repositoryName\", \"repository-name\" },\n { \"imageTag\", \"tag\" }\n};","version":"1"},"java":{"source":"Map<String, String> entry = Map.of(\n \"packaging\", \"container-image\",\n \"repositoryName\", \"repository-name\",\n \"imageTag\", \"tag\");","version":"1"},"go":{"source":"entry := map[string]*string{\n\t\"packaging\": jsii.String(\"container-image\"),\n\t\"repositoryName\": jsii.String(\"repository-name\"),\n\t\"imageTag\": jsii.String(\"tag\"),\n}","version":"1"},"$":{"source":"const entry = {\n packaging: 'container-image',\n repositoryName: 'repository-name',\n imageTag: 'tag',\n}","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/cloud-assembly-schema.ContainerImageAssetMetadataEntry"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\nconst entry = {\n packaging: 'container-image',\n repositoryName: 'repository-name',\n imageTag: 'tag',\n}\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":3,"80":4,"211":1,"244":1,"261":1,"262":1,"304":3,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"8ca73f17168cfe977e2e7f7d640aea4e78b5dc022a16bf4e187251525ec88255":{"translations":{"python":{"source":"\"registry\"","version":"2"},"csharp":{"source":"\"registry\";","version":"1"},"java":{"source":"\"registry\";","version":"1"},"go":{"source":"\"registry\"","version":"1"},"$":{"source":"'registry'","version":"0"}},"location":{"api":{"api":"member","fqn":"@aws-cdk/cloud-assembly-schema.DockerCacheOption","memberName":"type"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n'registry'\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":1,"245":1,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"089525294f3dfb3bb6d7687a2ebd219fc6d219c96d08c082e3e3c9a5a39f04bc":{"translations":{"python":{"source":"# branch: str\n\n\nparams = {\n \"ref\": f\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:{branch}\",\n \"mode\": \"max\"\n}","version":"2"},"csharp":{"source":"string branch;\n\n\nIDictionary<string, object> params = new Dictionary<string, object> {\n { \"ref\", $\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:{branch}\" },\n { \"mode\", \"max\" }\n};","version":"1"},"java":{"source":"String branch;\n\n\nMap<String, Object> params = Map.of(\n \"ref\", String.format(\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%s\", branch),\n \"mode\", \"max\");","version":"1"},"go":{"source":"var branch string\n\n\nparams := map[string]interface{}{\n\t\"ref\": fmt.Sprintf(\"12345678.dkr.ecr.us-west-2.amazonaws.com/cache:%v\", branch),\n\t\"mode\": jsii.String(\"max\"),\n}","version":"1"},"$":{"source":"declare const branch: string;\n\nconst params = {\n ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,\n mode: \"max\",\n};","version":"0"}},"location":{"api":{"api":"member","fqn":"@aws-cdk/cloud-assembly-schema.DockerCacheOption","memberName":"params"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const branch: string;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\n\n\nconst params = {\n ref: `12345678.dkr.ecr.us-west-2.amazonaws.com/cache:${branch}`,\n mode: \"max\",\n};\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":1,"16":1,"18":1,"80":5,"138":1,"154":1,"211":1,"229":1,"240":1,"244":2,"261":2,"262":2,"304":2,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"},"82a0fc5ca89d11e2a7e67427d70fec66670ed3a10a83efa087f4b2df94d6be57":{"translations":{"python":{"source":"entry = {\n \"packaging\": \"file\",\n \"s3_bucket_parameter\": \"bucket-parameter\",\n \"s3_key_paramenter\": \"key-parameter\",\n \"artifact_hash_parameter\": \"hash-parameter\"\n}","version":"2"},"csharp":{"source":"IDictionary<string, string> entry = new Dictionary<string, string> {\n { \"packaging\", \"file\" },\n { \"s3BucketParameter\", \"bucket-parameter\" },\n { \"s3KeyParamenter\", \"key-parameter\" },\n { \"artifactHashParameter\", \"hash-parameter\" }\n};","version":"1"},"java":{"source":"Map<String, String> entry = Map.of(\n \"packaging\", \"file\",\n \"s3BucketParameter\", \"bucket-parameter\",\n \"s3KeyParamenter\", \"key-parameter\",\n \"artifactHashParameter\", \"hash-parameter\");","version":"1"},"go":{"source":"entry := map[string]*string{\n\t\"packaging\": jsii.String(\"file\"),\n\t\"s3BucketParameter\": jsii.String(\"bucket-parameter\"),\n\t\"s3KeyParamenter\": jsii.String(\"key-parameter\"),\n\t\"artifactHashParameter\": jsii.String(\"hash-parameter\"),\n}","version":"1"},"$":{"source":"const entry = {\n packaging: 'file',\n s3BucketParameter: 'bucket-parameter',\n s3KeyParamenter: 'key-parameter',\n artifactHashParameter: 'hash-parameter',\n}","version":"0"}},"location":{"api":{"api":"type","fqn":"@aws-cdk/cloud-assembly-schema.FileAssetMetadataEntry"},"field":{"field":"example"}},"didCompile":true,"fqnsReferenced":[],"fullSource":"// Fixture intentionally empty\n\n// Code snippet begins after !show marker below\n/// !show\nconst entry = {\n packaging: 'file',\n s3BucketParameter: 'bucket-parameter',\n s3KeyParamenter: 'key-parameter',\n artifactHashParameter: 'hash-parameter',\n}\n/// !hide\n// Code snippet ended before !hide marker above\n","syntaxKindCounter":{"11":4,"80":5,"211":1,"244":1,"261":1,"262":1,"304":4,"308":1},"fqnsFingerprint":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"}}}
|
package/cli-version.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"2.
|
|
1
|
+
{"version":"2.1102.0"}
|
|
@@ -58,6 +58,12 @@ export interface AwsCloudFormationStackProperties {
|
|
|
58
58
|
/**
|
|
59
59
|
* Values for CloudFormation stack tags that should be passed when the stack is deployed.
|
|
60
60
|
*
|
|
61
|
+
* N.B.: Tags are also written to stack metadata, under the path of the Stack
|
|
62
|
+
* construct. Only in CDK CLI v1 are those tags found in metadata used for
|
|
63
|
+
* actual deployments; in all stable versions of CDK only the stack tags
|
|
64
|
+
* directly found in the `tags` property of `AwsCloudFormationStack` artifact
|
|
65
|
+
* (i.e., this property) are used.
|
|
66
|
+
*
|
|
61
67
|
* @default - No tags
|
|
62
68
|
*/
|
|
63
69
|
readonly tags?: {
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3Qtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXJ0aWZhY3Qtc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEluZm9ybWF0aW9uIG5lZWRlZCB0byBhY2Nlc3MgYW4gSUFNIHJvbGUgY3JlYXRlZFxuICogYXMgcGFydCBvZiB0aGUgYm9vdHN0cmFwIHByb2Nlc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCb290c3RyYXBSb2xlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIElBTSByb2xlIGNyZWF0ZWQgYXMgcGFydCBvZiBib290cmFwcGluZ1xuICAgKiBlLmcuIGxvb2t1cFJvbGVBcm5cbiAgICovXG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHRlcm5hbCBJRCB0byB1c2Ugd2hlbiBhc3N1bWluZyB0aGUgYm9vdHN0cmFwIHJvbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBleHRlcm5hbCBJRFxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUV4dGVybmFsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBwYXNzIHRvIFNUUyB3aGVuIGFzc3VtaW5nIHRoZSByb2xlLlxuICAgKlxuICAgKiAtIGBSb2xlQXJuYCBzaG91bGQgbm90IGJlIHVzZWQuIFVzZSB0aGUgZGVkaWNhdGVkIGBhcm5gIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIC0gYEV4dGVybmFsSWRgIHNob3VsZCBub3QgYmUgdXNlZC4gVXNlIHRoZSBkZWRpY2F0ZWQgYGFzc3VtZVJvbGVFeHRlcm5hbElkYCBpbnN0ZWFkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NKYXZhU2NyaXB0U0RLL2xhdGVzdC9BV1MvU1RTLmh0bWwjYXNzdW1lUm9sZS1wcm9wZXJ0eVxuICAgKiBAZGVmYXVsdCAtIE5vIGFkZGl0aW9uYWwgb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgYm9vdHN0cmFwIHN0YWNrIHJlcXVpcmVkIHRvIHVzZSB0aGlzIHJvbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBib290c3RyYXAgc3RhY2sgcmVxdWlyZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVzQm9vdHN0cmFwU3RhY2tWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIFNTTSBwYXJhbWV0ZXIgd2l0aCBib290c3RyYXAgc3RhY2sgdmVyc2lvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERpc2NvdmVyIFNTTSBwYXJhbWV0ZXIgYnkgcmVhZGluZyBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgYm9vdHN0cmFwU3RhY2tWZXJzaW9uU3NtUGFyYW1ldGVyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFydGlmYWN0IHByb3BlcnRpZXMgZm9yIENsb3VkRm9ybWF0aW9uIHN0YWNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDbG91ZEZvcm1hdGlvblN0YWNrUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBBIGZpbGUgcmVsYXRpdmUgdG8gdGhlIGFzc2VtYmx5IHJvb3Qgd2hpY2ggY29udGFpbnMgdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIGZvciB0aGlzIHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcGxhdGVGaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZhbHVlcyBmb3IgQ2xvdWRGb3JtYXRpb24gc3RhY2sgcGFyYW1ldGVycyB0aGF0IHNob3VsZCBiZSBwYXNzZWQgd2hlbiB0aGUgc3RhY2sgaXMgZGVwbG95ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcGFyYW1ldGVyc1xuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVycz86IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVmFsdWVzIGZvciBDbG91ZEZvcm1hdGlvbiBzdGFjayB0YWdzIHRoYXQgc2hvdWxkIGJlIHBhc3NlZCB3aGVuIHRoZSBzdGFjayBpcyBkZXBsb3llZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyB0YWdzXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBTTlMgTm90aWZpY2F0aW9uIEFSTnMgdGhhdCBzaG91bGQgcmVjZWl2ZSBDbG91ZEZvcm1hdGlvbiBTdGFjayBFdmVudHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gbm90aWZpY2F0aW9uIGFybnNcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgQ2xvdWRGb3JtYXRpb24gc3RhY2suXG4gICAqIEBkZWZhdWx0IC0gbmFtZSBkZXJpdmVkIGZyb20gYXJ0aWZhY3QgSURcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGVybWluYXRpb24gcHJvdGVjdGlvbiBmb3IgdGhpcyBzdGFjay5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHRlcm1pbmF0aW9uUHJvdGVjdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgbmVlZHMgdG8gYmUgYXNzdW1lZCB0byBkZXBsb3kgdGhlIHN0YWNrXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcm9sZSBpcyBhc3N1bWVkIChjdXJyZW50IGNyZWRlbnRpYWxzIGFyZSB1c2VkKVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogRXh0ZXJuYWwgSUQgdG8gdXNlIHdoZW4gYXNzdW1pbmcgcm9sZSBmb3IgY2xvdWRmb3JtYXRpb24gZGVwbG95bWVudHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBleHRlcm5hbCBJRFxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUV4dGVybmFsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBwYXNzIHRvIFNUUyB3aGVuIGFzc3VtaW5nIHRoZSByb2xlLlxuICAgKlxuICAgKiAtIGBSb2xlQXJuYCBzaG91bGQgbm90IGJlIHVzZWQuIFVzZSB0aGUgZGVkaWNhdGVkIGBhc3N1bWVSb2xlQXJuYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiAtIGBFeHRlcm5hbElkYCBzaG91bGQgbm90IGJlIHVzZWQuIFVzZSB0aGUgZGVkaWNhdGVkIGBhc3N1bWVSb2xlRXh0ZXJuYWxJZGAgaW5zdGVhZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTSmF2YVNjcmlwdFNESy9sYXRlc3QvQVdTL1NUUy5odG1sI2Fzc3VtZVJvbGUtcHJvcGVydHlcbiAgICogQGRlZmF1bHQgLSBObyBhZGRpdGlvbmFsIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBhc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSB0aGF0IGlzIHBhc3NlZCB0byBDbG91ZEZvcm1hdGlvbiB0byBleGVjdXRlIHRoZSBjaGFuZ2Ugc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcm9sZSBpcyBwYXNzZWQgKGN1cnJlbnRseSBhc3N1bWVkIHJvbGUvY3JlZGVudGlhbHMgYXJlIHVzZWQpXG4gICAqL1xuICByZWFkb25seSBjbG91ZEZvcm1hdGlvbkV4ZWN1dGlvblJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIHRvIHVzZSB0byBsb29rIHVwIHZhbHVlcyBmcm9tIHRoZSB0YXJnZXQgQVdTIGFjY291bnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyByb2xlIGlzIGFzc3VtZWQgKGN1cnJlbnQgY3JlZGVudGlhbHMgYXJlIHVzZWQpXG4gICAqL1xuICByZWFkb25seSBsb29rdXBSb2xlPzogQm9vdHN0cmFwUm9sZTtcblxuICAvKipcbiAgICogSWYgdGhlIHN0YWNrIHRlbXBsYXRlIGhhcyBhbHJlYWR5IGJlZW4gaW5jbHVkZWQgaW4gdGhlIGFzc2V0IG1hbmlmZXN0LCBpdHMgYXNzZXQgVVJMXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm90IHVwbG9hZGVkIHlldCwgdXBsb2FkIGp1c3QgYmVmb3JlIGRlcGxveWluZ1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tUZW1wbGF0ZUFzc2V0T2JqZWN0VXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIGJvb3RzdHJhcCBzdGFjayByZXF1aXJlZCB0byBkZXBsb3kgdGhpcyBzdGFja1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGJvb3RzdHJhcCBzdGFjayByZXF1aXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZXNCb290c3RyYXBTdGFja1ZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNTTSBwYXJhbWV0ZXIgd2hlcmUgdGhlIGJvb3RzdHJhcCBzdGFjayB2ZXJzaW9uIG51bWJlciBjYW4gYmUgZm91bmRcbiAgICpcbiAgICogT25seSB1c2VkIGlmIGByZXF1aXJlc0Jvb3RzdHJhcFN0YWNrVmVyc2lvbmAgaXMgc2V0LlxuICAgKlxuICAgKiAtIElmIHRoaXMgdmFsdWUgaXMgbm90IHNldCwgdGhlIGJvb3RzdHJhcCBzdGFjayBuYW1lIG11c3QgYmUga25vd24gYXRcbiAgICogICBkZXBsb3ltZW50IHRpbWUgc28gdGhlIHN0YWNrIHZlcnNpb24gY2FuIGJlIGxvb2tlZCB1cCBmcm9tIHRoZSBzdGFja1xuICAgKiAgIG91dHB1dHMuXG4gICAqIC0gSWYgdGhpcyB2YWx1ZSBpcyBzZXQsIHRoZSBib290c3RyYXAgc3RhY2sgY2FuIGhhdmUgYW55IG5hbWUgYmVjYXVzZVxuICAgKiAgIHdlIHdvbid0IG5lZWQgdG8gbG9vayBpdCB1cC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBCb290c3RyYXAgc3RhY2sgdmVyc2lvbiBudW1iZXIgbG9va2VkIHVwXG4gICAqL1xuICByZWFkb25seSBib290c3RyYXBTdGFja1ZlcnNpb25Tc21QYXJhbWV0ZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBzdGFjayBzaG91bGQgYmUgdmFsaWRhdGVkIGJ5IHRoZSBDTEkgYWZ0ZXIgc3ludGhlc2lzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRlT25TeW50aD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQXNzZXQgTWFuaWZlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldE1hbmlmZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIGJvb3RzdHJhcCBzdGFjayByZXF1aXJlZCB0byBkZXBsb3kgdGhpcyBzdGFja1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIFZlcnNpb24gMSAoYmFzaWMgbW9kZXJuIGJvb3RzdHJhcCBzdGFjaylcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVzQm9vdHN0cmFwU3RhY2tWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTU00gcGFyYW1ldGVyIHdoZXJlIHRoZSBib290c3RyYXAgc3RhY2sgdmVyc2lvbiBudW1iZXIgY2FuIGJlIGZvdW5kXG4gICAqXG4gICAqIC0gSWYgdGhpcyB2YWx1ZSBpcyBub3Qgc2V0LCB0aGUgYm9vdHN0cmFwIHN0YWNrIG5hbWUgbXVzdCBiZSBrbm93biBhdFxuICAgKiAgIGRlcGxveW1lbnQgdGltZSBzbyB0aGUgc3RhY2sgdmVyc2lvbiBjYW4gYmUgbG9va2VkIHVwIGZyb20gdGhlIHN0YWNrXG4gICAqICAgb3V0cHV0cy5cbiAgICogLSBJZiB0aGlzIHZhbHVlIGlzIHNldCwgdGhlIGJvb3RzdHJhcCBzdGFjayBjYW4gaGF2ZSBhbnkgbmFtZSBiZWNhdXNlXG4gICAqICAgd2Ugd29uJ3QgbmVlZCB0byBsb29rIGl0IHVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEJvb3RzdHJhcCBzdGFjayB2ZXJzaW9uIG51bWJlciBsb29rZWQgdXBcbiAgICovXG4gIHJlYWRvbmx5IGJvb3RzdHJhcFN0YWNrVmVyc2lvblNzbVBhcmFtZXRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcnRpZmFjdCBwcm9wZXJ0aWVzIGZvciB0aGUgQXNzZXQgTWFuaWZlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldE1hbmlmZXN0UHJvcGVydGllcyBleHRlbmRzIEFzc2V0TWFuaWZlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbGVuYW1lIG9mIHRoZSBhc3NldCBtYW5pZmVzdFxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFydGlmYWN0IHByb3BlcnRpZXMgZm9yIHRoZSBDb25zdHJ1Y3QgVHJlZSBBcnRpZmFjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVBcnRpZmFjdFByb3BlcnRpZXMge1xuICAvKipcbiAgICogRmlsZW5hbWUgb2YgdGhlIHRyZWUgYXJ0aWZhY3RcbiAgICovXG4gIHJlYWRvbmx5IGZpbGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcnRpZmFjdCBwcm9wZXJ0aWVzIGZvciBuZXN0ZWQgY2xvdWQgYXNzZW1ibGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE5lc3RlZENsb3VkQXNzZW1ibHlQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFJlbGF0aXZlIHBhdGggdG8gdGhlIG5lc3RlZCBjbG91ZCBhc3NlbWJseVxuICAgKi9cbiAgcmVhZG9ubHkgZGlyZWN0b3J5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IG5hbWUgZm9yIHRoZSBjbG91ZCBhc3NlbWJseVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFRoZSBhcnRpZmFjdCBJRFxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXJ0aWZhY3QgcHJvcGVydGllcyBmb3IgYSBmZWF0dXJlIGZsYWcgcmVwb3J0XG4gKlxuICogQSBmZWF0dXJlIGZsYWcgcmVwb3J0IGlzIHNtYWxsIGVub3VnaCB0aGF0IGFsbCB0aGUgcHJvcGVydGllcyBjYW4gYmUgaW5saW5lZFxuICogaGVyZSwgYW5kIGRvZXNuJ3QgbmVlZCBhbiBhZGRpdGlvbmFsIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZUZsYWdSZXBvcnRQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBsaWJyYXJ5IHRoYXQgdGhpcyBmZWF0dXJlIGZsYWcgcmVwb3J0IGFwcGxpZXMgdG8uXG4gICAqL1xuICByZWFkb25seSBtb2R1bGU6IHN0cmluZztcblxuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgZXZlcnkgZmVhdHVyZSBmbGFnIHN1cHBvcnRlZCBieSB0aGlzIGxpYnJhcnkuXG4gICAqL1xuICByZWFkb25seSBmbGFnczogeyBbZmxhZ05hbWU6IHN0cmluZ106IEZlYXR1cmVGbGFnIH07XG59XG5cbi8qKlxuICogQSBzaW5nbGUgZmVhdHVyZSBmbGFnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZUZsYWcge1xuICAvKipcbiAgICogVGhlIGxpYnJhcnktcmVjb21tZW5kZWQgdmFsdWUgZm9yIHRoaXMgZmxhZywgaWYgYW55XG4gICAqXG4gICAqIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlcmUgaXMgbm8gcmVjb21tZW5kZWQgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcmVjb21tZW5kZWQgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSByZWNvbW1lbmRlZFZhbHVlPzogYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgY29uZmlndXJlZCBieSB0aGUgdXNlclxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSB2YWx1ZSBjb25maWd1cmVkIGF0IHRoZSByb290IG9mIHRoZSB0cmVlLiBVc2VycyBtYXkgYWxzbyBoYXZlXG4gICAqIGNvbmZpZ3VyZWQgdmFsdWVzIGF0IHNwZWNpZmljIGxvY2F0aW9ucyBpbiB0aGUgdHJlZTsgd2UgZG9uJ3QgcmVwb3J0IG9uXG4gICAqIHRob3NlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vdCBjb25maWd1cmVkIGJ5IHRoZSB1c2VyXG4gICAqL1xuICByZWFkb25seSB1c2VyVmFsdWU/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEV4cGxhbmF0aW9uIGFib3V0IHRoZSBwdXJwb3NlIG9mIHRoaXMgZmxhZyB0aGF0IGNhbiBiZSBzaG93biB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZXhwbGFuYXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZmxhZyB0aGF0IHByb2R1Y2VzIHRoZSBzYW1lIGJlaGF2aW9yIGFzIHdoZW4gdGhlIGZsYWcgaXMgbm90IGNvbmZpZ3VyZWQgYXQgYWxsXG4gICAqXG4gICAqVGhlIHN0cnVjdHVyZSBvZiB0aGlzIGZpZWxkIGlzIGEgaGlzdG9yaWNhbCBhY2NpZGVudC4gVGhlIHR5cGUgb2YgdGhpcyBmaWVsZFxuICAgKnNob3VsZCBoYXZlIGJlZW4gYm9vbGVhbiwgd2hpY2ggc2hvdWxkIGhhdmUgY29udGFpbmVkIHRoZSBkZWZhdWx0IHZhbHVlIGZvclxuICAgKnRoZSBmbGFnIGFwcHJvcHJpYXRlIGZvciB0aGUgKmN1cnJlbnQqIHZlcnNpb24gb2YgdGhlIENESyBsaWJyYXJ5LiBXZSBhcmVcbiAgICpub3QgcmVjdGlmeWluZyB0aGlzIGFjY2lkZW50IGJlY2F1c2UgZG9pbmcgc29cbiAgICpcbiAgICogSW5zdGVhZCwgdGhlIGNhbm9uaWNhbCB3YXkgdG8gYWNjZXNzIHRoaXMgdmFsdWUgaXMgYnkgZXZhbHVhdGluZ1xuICAgKiBgdW5jb25maWd1cmVkQmVoYXZlc0xpa2U/LnYyID8/IGZhbHNlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHVuY29uZmlndXJlZEJlaGF2ZXNMaWtlPzogVW5jb25maWd1cmVkQmVoYXZlc0xpa2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5jb25maWd1cmVkQmVoYXZlc0xpa2Uge1xuICAvKipcbiAgICogSGlzdG9yaWNhbCBhY2NpZGVudCwgZG9uJ3QgdXNlLlxuICAgKlxuICAgKiBUaGlzIHZhbHVlIG1heSBiZSBwcmVzZW50LCBidXQgaXQgc2hvdWxkIG5ldmVyIGJlIHVzZWQuIFRoZSBhY3R1YWwgdmFsdWUgaXNcbiAgICogaW4gdGhlIGB2MmAgZmllbGQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHZlcnNpb24gb2YgdGhlIENESyBsaWJyYXJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGlnbm9yZVxuICAgKi9cbiAgcmVhZG9ubHkgdjE/OiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZmxhZyB0aGF0IHByb2R1Y2VzIHRoZSBzYW1lIGJlaGF2aW9yIGFzIHdoZW4gdGhlIGZsYWcgaXMgbm90IGNvbmZpZ3VyZWQgYXQgYWxsXG4gICAqXG4gICAqIEV2ZW4gdGhvdWdoIGl0IGlzIGNhbGxlZCAndjInLCB0aGlzIGlzIHRoZSBvZmZpY2lhbCBuYW1lIG9mIHRoaXMgZmllbGQuIEluXG4gICAqIGFueSBmdXR1cmUgdmVyc2lvbnMgb2YgQ0RLICh2MywgdjQsIC4uLiksIHRoaXMgZmllbGQgd2lsbCBzdGlsbCBiZSBjYWxsZWQgJ3YyJy5cbiAgICpcbiAgICogVGhlIHN0cnVjdHVyZSBvZiB0aGlzIGZpZWxkIGlzIGEgaGlzdG9yaWNhbCBhY2NpZGVudC4gU2VlIHRoZSBjb21tZW50IG9uXG4gICAqIGB1bmNvbmZpZ3VyZWRCZWhhdmVzTGlrZWAgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB2Mj86IGFueTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBtYW5pZmVzdCBhcnRpZmFjdHNcbiAqL1xuZXhwb3J0IHR5cGUgQXJ0aWZhY3RQcm9wZXJ0aWVzID1cbiAgfCBBd3NDbG91ZEZvcm1hdGlvblN0YWNrUHJvcGVydGllc1xuICB8IEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzXG4gIHwgVHJlZUFydGlmYWN0UHJvcGVydGllc1xuICB8IE5lc3RlZENsb3VkQXNzZW1ibHlQcm9wZXJ0aWVzXG4gIHwgRmVhdHVyZUZsYWdSZXBvcnRQcm9wZXJ0aWVzO1xuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3Qtc2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiYXJ0aWZhY3Qtc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEluZm9ybWF0aW9uIG5lZWRlZCB0byBhY2Nlc3MgYW4gSUFNIHJvbGUgY3JlYXRlZFxuICogYXMgcGFydCBvZiB0aGUgYm9vdHN0cmFwIHByb2Nlc3NcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCb290c3RyYXBSb2xlIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIElBTSByb2xlIGNyZWF0ZWQgYXMgcGFydCBvZiBib290cmFwcGluZ1xuICAgKiBlLmcuIGxvb2t1cFJvbGVBcm5cbiAgICovXG4gIHJlYWRvbmx5IGFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHRlcm5hbCBJRCB0byB1c2Ugd2hlbiBhc3N1bWluZyB0aGUgYm9vdHN0cmFwIHJvbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBleHRlcm5hbCBJRFxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUV4dGVybmFsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBwYXNzIHRvIFNUUyB3aGVuIGFzc3VtaW5nIHRoZSByb2xlLlxuICAgKlxuICAgKiAtIGBSb2xlQXJuYCBzaG91bGQgbm90IGJlIHVzZWQuIFVzZSB0aGUgZGVkaWNhdGVkIGBhcm5gIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIC0gYEV4dGVybmFsSWRgIHNob3VsZCBub3QgYmUgdXNlZC4gVXNlIHRoZSBkZWRpY2F0ZWQgYGFzc3VtZVJvbGVFeHRlcm5hbElkYCBpbnN0ZWFkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NKYXZhU2NyaXB0U0RLL2xhdGVzdC9BV1MvU1RTLmh0bWwjYXNzdW1lUm9sZS1wcm9wZXJ0eVxuICAgKiBAZGVmYXVsdCAtIE5vIGFkZGl0aW9uYWwgb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgYm9vdHN0cmFwIHN0YWNrIHJlcXVpcmVkIHRvIHVzZSB0aGlzIHJvbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBib290c3RyYXAgc3RhY2sgcmVxdWlyZWRcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVzQm9vdHN0cmFwU3RhY2tWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBOYW1lIG9mIFNTTSBwYXJhbWV0ZXIgd2l0aCBib290c3RyYXAgc3RhY2sgdmVyc2lvblxuICAgKlxuICAgKiBAZGVmYXVsdCAtIERpc2NvdmVyIFNTTSBwYXJhbWV0ZXIgYnkgcmVhZGluZyBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgYm9vdHN0cmFwU3RhY2tWZXJzaW9uU3NtUGFyYW1ldGVyPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFydGlmYWN0IHByb3BlcnRpZXMgZm9yIENsb3VkRm9ybWF0aW9uIHN0YWNrcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3NDbG91ZEZvcm1hdGlvblN0YWNrUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBBIGZpbGUgcmVsYXRpdmUgdG8gdGhlIGFzc2VtYmx5IHJvb3Qgd2hpY2ggY29udGFpbnMgdGhlIENsb3VkRm9ybWF0aW9uIHRlbXBsYXRlIGZvciB0aGlzIHN0YWNrLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcGxhdGVGaWxlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZhbHVlcyBmb3IgQ2xvdWRGb3JtYXRpb24gc3RhY2sgcGFyYW1ldGVycyB0aGF0IHNob3VsZCBiZSBwYXNzZWQgd2hlbiB0aGUgc3RhY2sgaXMgZGVwbG95ZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcGFyYW1ldGVyc1xuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVycz86IHsgW2lkOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVmFsdWVzIGZvciBDbG91ZEZvcm1hdGlvbiBzdGFjayB0YWdzIHRoYXQgc2hvdWxkIGJlIHBhc3NlZCB3aGVuIHRoZSBzdGFjayBpcyBkZXBsb3llZC5cbiAgICpcbiAgICogTi5CLjogVGFncyBhcmUgYWxzbyB3cml0dGVuIHRvIHN0YWNrIG1ldGFkYXRhLCB1bmRlciB0aGUgcGF0aCBvZiB0aGUgU3RhY2tcbiAgICogY29uc3RydWN0LiBPbmx5IGluIENESyBDTEkgdjEgYXJlIHRob3NlIHRhZ3MgZm91bmQgaW4gbWV0YWRhdGEgdXNlZCBmb3JcbiAgICogYWN0dWFsIGRlcGxveW1lbnRzOyBpbiBhbGwgc3RhYmxlIHZlcnNpb25zIG9mIENESyBvbmx5IHRoZSBzdGFjayB0YWdzXG4gICAqIGRpcmVjdGx5IGZvdW5kIGluIHRoZSBgdGFnc2AgcHJvcGVydHkgb2YgYEF3c0Nsb3VkRm9ybWF0aW9uU3RhY2tgIGFydGlmYWN0XG4gICAqIChpLmUuLCB0aGlzIHByb3BlcnR5KSBhcmUgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyB0YWdzXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBbaWQ6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBTTlMgTm90aWZpY2F0aW9uIEFSTnMgdGhhdCBzaG91bGQgcmVjZWl2ZSBDbG91ZEZvcm1hdGlvbiBTdGFjayBFdmVudHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gbm90aWZpY2F0aW9uIGFybnNcbiAgICovXG4gIHJlYWRvbmx5IG5vdGlmaWNhdGlvbkFybnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgdG8gdXNlIGZvciB0aGUgQ2xvdWRGb3JtYXRpb24gc3RhY2suXG4gICAqIEBkZWZhdWx0IC0gbmFtZSBkZXJpdmVkIGZyb20gYXJ0aWZhY3QgSURcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBlbmFibGUgdGVybWluYXRpb24gcHJvdGVjdGlvbiBmb3IgdGhpcyBzdGFjay5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHRlcm1pbmF0aW9uUHJvdGVjdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIHRoYXQgbmVlZHMgdG8gYmUgYXNzdW1lZCB0byBkZXBsb3kgdGhlIHN0YWNrXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcm9sZSBpcyBhc3N1bWVkIChjdXJyZW50IGNyZWRlbnRpYWxzIGFyZSB1c2VkKVxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogRXh0ZXJuYWwgSUQgdG8gdXNlIHdoZW4gYXNzdW1pbmcgcm9sZSBmb3IgY2xvdWRmb3JtYXRpb24gZGVwbG95bWVudHNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBleHRlcm5hbCBJRFxuICAgKi9cbiAgcmVhZG9ubHkgYXNzdW1lUm9sZUV4dGVybmFsSWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyB0byBwYXNzIHRvIFNUUyB3aGVuIGFzc3VtaW5nIHRoZSByb2xlLlxuICAgKlxuICAgKiAtIGBSb2xlQXJuYCBzaG91bGQgbm90IGJlIHVzZWQuIFVzZSB0aGUgZGVkaWNhdGVkIGBhc3N1bWVSb2xlQXJuYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgKiAtIGBFeHRlcm5hbElkYCBzaG91bGQgbm90IGJlIHVzZWQuIFVzZSB0aGUgZGVkaWNhdGVkIGBhc3N1bWVSb2xlRXh0ZXJuYWxJZGAgaW5zdGVhZC5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTSmF2YVNjcmlwdFNESy9sYXRlc3QvQVdTL1NUUy5odG1sI2Fzc3VtZVJvbGUtcHJvcGVydHlcbiAgICogQGRlZmF1bHQgLSBObyBhZGRpdGlvbmFsIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBhc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSB0aGF0IGlzIHBhc3NlZCB0byBDbG91ZEZvcm1hdGlvbiB0byBleGVjdXRlIHRoZSBjaGFuZ2Ugc2V0XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcm9sZSBpcyBwYXNzZWQgKGN1cnJlbnRseSBhc3N1bWVkIHJvbGUvY3JlZGVudGlhbHMgYXJlIHVzZWQpXG4gICAqL1xuICByZWFkb25seSBjbG91ZEZvcm1hdGlvbkV4ZWN1dGlvblJvbGVBcm4/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIHRvIHVzZSB0byBsb29rIHVwIHZhbHVlcyBmcm9tIHRoZSB0YXJnZXQgQVdTIGFjY291bnRcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyByb2xlIGlzIGFzc3VtZWQgKGN1cnJlbnQgY3JlZGVudGlhbHMgYXJlIHVzZWQpXG4gICAqL1xuICByZWFkb25seSBsb29rdXBSb2xlPzogQm9vdHN0cmFwUm9sZTtcblxuICAvKipcbiAgICogSWYgdGhlIHN0YWNrIHRlbXBsYXRlIGhhcyBhbHJlYWR5IGJlZW4gaW5jbHVkZWQgaW4gdGhlIGFzc2V0IG1hbmlmZXN0LCBpdHMgYXNzZXQgVVJMXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm90IHVwbG9hZGVkIHlldCwgdXBsb2FkIGp1c3QgYmVmb3JlIGRlcGxveWluZ1xuICAgKi9cbiAgcmVhZG9ubHkgc3RhY2tUZW1wbGF0ZUFzc2V0T2JqZWN0VXJsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIGJvb3RzdHJhcCBzdGFjayByZXF1aXJlZCB0byBkZXBsb3kgdGhpcyBzdGFja1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGJvb3RzdHJhcCBzdGFjayByZXF1aXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZXNCb290c3RyYXBTdGFja1ZlcnNpb24/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFNTTSBwYXJhbWV0ZXIgd2hlcmUgdGhlIGJvb3RzdHJhcCBzdGFjayB2ZXJzaW9uIG51bWJlciBjYW4gYmUgZm91bmRcbiAgICpcbiAgICogT25seSB1c2VkIGlmIGByZXF1aXJlc0Jvb3RzdHJhcFN0YWNrVmVyc2lvbmAgaXMgc2V0LlxuICAgKlxuICAgKiAtIElmIHRoaXMgdmFsdWUgaXMgbm90IHNldCwgdGhlIGJvb3RzdHJhcCBzdGFjayBuYW1lIG11c3QgYmUga25vd24gYXRcbiAgICogICBkZXBsb3ltZW50IHRpbWUgc28gdGhlIHN0YWNrIHZlcnNpb24gY2FuIGJlIGxvb2tlZCB1cCBmcm9tIHRoZSBzdGFja1xuICAgKiAgIG91dHB1dHMuXG4gICAqIC0gSWYgdGhpcyB2YWx1ZSBpcyBzZXQsIHRoZSBib290c3RyYXAgc3RhY2sgY2FuIGhhdmUgYW55IG5hbWUgYmVjYXVzZVxuICAgKiAgIHdlIHdvbid0IG5lZWQgdG8gbG9vayBpdCB1cC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBCb290c3RyYXAgc3RhY2sgdmVyc2lvbiBudW1iZXIgbG9va2VkIHVwXG4gICAqL1xuICByZWFkb25seSBib290c3RyYXBTdGFja1ZlcnNpb25Tc21QYXJhbWV0ZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBzdGFjayBzaG91bGQgYmUgdmFsaWRhdGVkIGJ5IHRoZSBDTEkgYWZ0ZXIgc3ludGhlc2lzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHZhbGlkYXRlT25TeW50aD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgQXNzZXQgTWFuaWZlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldE1hbmlmZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIGJvb3RzdHJhcCBzdGFjayByZXF1aXJlZCB0byBkZXBsb3kgdGhpcyBzdGFja1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIFZlcnNpb24gMSAoYmFzaWMgbW9kZXJuIGJvb3RzdHJhcCBzdGFjaylcbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVzQm9vdHN0cmFwU3RhY2tWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTU00gcGFyYW1ldGVyIHdoZXJlIHRoZSBib290c3RyYXAgc3RhY2sgdmVyc2lvbiBudW1iZXIgY2FuIGJlIGZvdW5kXG4gICAqXG4gICAqIC0gSWYgdGhpcyB2YWx1ZSBpcyBub3Qgc2V0LCB0aGUgYm9vdHN0cmFwIHN0YWNrIG5hbWUgbXVzdCBiZSBrbm93biBhdFxuICAgKiAgIGRlcGxveW1lbnQgdGltZSBzbyB0aGUgc3RhY2sgdmVyc2lvbiBjYW4gYmUgbG9va2VkIHVwIGZyb20gdGhlIHN0YWNrXG4gICAqICAgb3V0cHV0cy5cbiAgICogLSBJZiB0aGlzIHZhbHVlIGlzIHNldCwgdGhlIGJvb3RzdHJhcCBzdGFjayBjYW4gaGF2ZSBhbnkgbmFtZSBiZWNhdXNlXG4gICAqICAgd2Ugd29uJ3QgbmVlZCB0byBsb29rIGl0IHVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEJvb3RzdHJhcCBzdGFjayB2ZXJzaW9uIG51bWJlciBsb29rZWQgdXBcbiAgICovXG4gIHJlYWRvbmx5IGJvb3RzdHJhcFN0YWNrVmVyc2lvblNzbVBhcmFtZXRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcnRpZmFjdCBwcm9wZXJ0aWVzIGZvciB0aGUgQXNzZXQgTWFuaWZlc3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3NldE1hbmlmZXN0UHJvcGVydGllcyBleHRlbmRzIEFzc2V0TWFuaWZlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbGVuYW1lIG9mIHRoZSBhc3NldCBtYW5pZmVzdFxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFydGlmYWN0IHByb3BlcnRpZXMgZm9yIHRoZSBDb25zdHJ1Y3QgVHJlZSBBcnRpZmFjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVBcnRpZmFjdFByb3BlcnRpZXMge1xuICAvKipcbiAgICogRmlsZW5hbWUgb2YgdGhlIHRyZWUgYXJ0aWZhY3RcbiAgICovXG4gIHJlYWRvbmx5IGZpbGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBcnRpZmFjdCBwcm9wZXJ0aWVzIGZvciBuZXN0ZWQgY2xvdWQgYXNzZW1ibGllc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIE5lc3RlZENsb3VkQXNzZW1ibHlQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFJlbGF0aXZlIHBhdGggdG8gdGhlIG5lc3RlZCBjbG91ZCBhc3NlbWJseVxuICAgKi9cbiAgcmVhZG9ubHkgZGlyZWN0b3J5TmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEaXNwbGF5IG5hbWUgZm9yIHRoZSBjbG91ZCBhc3NlbWJseVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFRoZSBhcnRpZmFjdCBJRFxuICAgKi9cbiAgcmVhZG9ubHkgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXJ0aWZhY3QgcHJvcGVydGllcyBmb3IgYSBmZWF0dXJlIGZsYWcgcmVwb3J0XG4gKlxuICogQSBmZWF0dXJlIGZsYWcgcmVwb3J0IGlzIHNtYWxsIGVub3VnaCB0aGF0IGFsbCB0aGUgcHJvcGVydGllcyBjYW4gYmUgaW5saW5lZFxuICogaGVyZSwgYW5kIGRvZXNuJ3QgbmVlZCBhbiBhZGRpdGlvbmFsIGZpbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZUZsYWdSZXBvcnRQcm9wZXJ0aWVzIHtcbiAgLyoqXG4gICAqIFRoZSBsaWJyYXJ5IHRoYXQgdGhpcyBmZWF0dXJlIGZsYWcgcmVwb3J0IGFwcGxpZXMgdG8uXG4gICAqL1xuICByZWFkb25seSBtb2R1bGU6IHN0cmluZztcblxuICAvKipcbiAgICogSW5mb3JtYXRpb24gYWJvdXQgZXZlcnkgZmVhdHVyZSBmbGFnIHN1cHBvcnRlZCBieSB0aGlzIGxpYnJhcnkuXG4gICAqL1xuICByZWFkb25seSBmbGFnczogeyBbZmxhZ05hbWU6IHN0cmluZ106IEZlYXR1cmVGbGFnIH07XG59XG5cbi8qKlxuICogQSBzaW5nbGUgZmVhdHVyZSBmbGFnXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmVhdHVyZUZsYWcge1xuICAvKipcbiAgICogVGhlIGxpYnJhcnktcmVjb21tZW5kZWQgdmFsdWUgZm9yIHRoaXMgZmxhZywgaWYgYW55XG4gICAqXG4gICAqIEl0IGlzIHBvc3NpYmxlIHRoYXQgdGhlcmUgaXMgbm8gcmVjb21tZW5kZWQgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gcmVjb21tZW5kZWQgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSByZWNvbW1lbmRlZFZhbHVlPzogYW55O1xuXG4gIC8qKlxuICAgKiBUaGUgdmFsdWUgY29uZmlndXJlZCBieSB0aGUgdXNlclxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSB2YWx1ZSBjb25maWd1cmVkIGF0IHRoZSByb290IG9mIHRoZSB0cmVlLiBVc2VycyBtYXkgYWxzbyBoYXZlXG4gICAqIGNvbmZpZ3VyZWQgdmFsdWVzIGF0IHNwZWNpZmljIGxvY2F0aW9ucyBpbiB0aGUgdHJlZTsgd2UgZG9uJ3QgcmVwb3J0IG9uXG4gICAqIHRob3NlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vdCBjb25maWd1cmVkIGJ5IHRoZSB1c2VyXG4gICAqL1xuICByZWFkb25seSB1c2VyVmFsdWU/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEV4cGxhbmF0aW9uIGFib3V0IHRoZSBwdXJwb3NlIG9mIHRoaXMgZmxhZyB0aGF0IGNhbiBiZSBzaG93biB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgZXhwbGFuYXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZmxhZyB0aGF0IHByb2R1Y2VzIHRoZSBzYW1lIGJlaGF2aW9yIGFzIHdoZW4gdGhlIGZsYWcgaXMgbm90IGNvbmZpZ3VyZWQgYXQgYWxsXG4gICAqXG4gICAqVGhlIHN0cnVjdHVyZSBvZiB0aGlzIGZpZWxkIGlzIGEgaGlzdG9yaWNhbCBhY2NpZGVudC4gVGhlIHR5cGUgb2YgdGhpcyBmaWVsZFxuICAgKnNob3VsZCBoYXZlIGJlZW4gYm9vbGVhbiwgd2hpY2ggc2hvdWxkIGhhdmUgY29udGFpbmVkIHRoZSBkZWZhdWx0IHZhbHVlIGZvclxuICAgKnRoZSBmbGFnIGFwcHJvcHJpYXRlIGZvciB0aGUgKmN1cnJlbnQqIHZlcnNpb24gb2YgdGhlIENESyBsaWJyYXJ5LiBXZSBhcmVcbiAgICpub3QgcmVjdGlmeWluZyB0aGlzIGFjY2lkZW50IGJlY2F1c2UgZG9pbmcgc29cbiAgICpcbiAgICogSW5zdGVhZCwgdGhlIGNhbm9uaWNhbCB3YXkgdG8gYWNjZXNzIHRoaXMgdmFsdWUgaXMgYnkgZXZhbHVhdGluZ1xuICAgKiBgdW5jb25maWd1cmVkQmVoYXZlc0xpa2U/LnYyID8/IGZhbHNlYC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHVuY29uZmlndXJlZEJlaGF2ZXNMaWtlPzogVW5jb25maWd1cmVkQmVoYXZlc0xpa2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5jb25maWd1cmVkQmVoYXZlc0xpa2Uge1xuICAvKipcbiAgICogSGlzdG9yaWNhbCBhY2NpZGVudCwgZG9uJ3QgdXNlLlxuICAgKlxuICAgKiBUaGlzIHZhbHVlIG1heSBiZSBwcmVzZW50LCBidXQgaXQgc2hvdWxkIG5ldmVyIGJlIHVzZWQuIFRoZSBhY3R1YWwgdmFsdWUgaXNcbiAgICogaW4gdGhlIGB2MmAgZmllbGQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHZlcnNpb24gb2YgdGhlIENESyBsaWJyYXJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGlnbm9yZVxuICAgKi9cbiAgcmVhZG9ubHkgdjE/OiBhbnk7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgZmxhZyB0aGF0IHByb2R1Y2VzIHRoZSBzYW1lIGJlaGF2aW9yIGFzIHdoZW4gdGhlIGZsYWcgaXMgbm90IGNvbmZpZ3VyZWQgYXQgYWxsXG4gICAqXG4gICAqIEV2ZW4gdGhvdWdoIGl0IGlzIGNhbGxlZCAndjInLCB0aGlzIGlzIHRoZSBvZmZpY2lhbCBuYW1lIG9mIHRoaXMgZmllbGQuIEluXG4gICAqIGFueSBmdXR1cmUgdmVyc2lvbnMgb2YgQ0RLICh2MywgdjQsIC4uLiksIHRoaXMgZmllbGQgd2lsbCBzdGlsbCBiZSBjYWxsZWQgJ3YyJy5cbiAgICpcbiAgICogVGhlIHN0cnVjdHVyZSBvZiB0aGlzIGZpZWxkIGlzIGEgaGlzdG9yaWNhbCBhY2NpZGVudC4gU2VlIHRoZSBjb21tZW50IG9uXG4gICAqIGB1bmNvbmZpZ3VyZWRCZWhhdmVzTGlrZWAgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB2Mj86IGFueTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBtYW5pZmVzdCBhcnRpZmFjdHNcbiAqL1xuZXhwb3J0IHR5cGUgQXJ0aWZhY3RQcm9wZXJ0aWVzID1cbiAgfCBBd3NDbG91ZEZvcm1hdGlvblN0YWNrUHJvcGVydGllc1xuICB8IEFzc2V0TWFuaWZlc3RQcm9wZXJ0aWVzXG4gIHwgVHJlZUFydGlmYWN0UHJvcGVydGllc1xuICB8IE5lc3RlZENsb3VkQXNzZW1ibHlQcm9wZXJ0aWVzXG4gIHwgRmVhdHVyZUZsYWdSZXBvcnRQcm9wZXJ0aWVzO1xuIl19
|
|
@@ -325,6 +325,7 @@ export interface KeyContextQuery extends ContextLookupRoleOptions {
|
|
|
325
325
|
* const x: CcApiContextQuery = {
|
|
326
326
|
* typeName: 'AWS::Some::Type',
|
|
327
327
|
* expectedMatchCount: 'exactly-one',
|
|
328
|
+
* resourceModel: {SomeArn: 'arn:aws:....'},
|
|
328
329
|
* propertiesToReturn: ['SomeProp'],
|
|
329
330
|
* account: '11111111111',
|
|
330
331
|
* region: 'us-east-1',
|
|
@@ -345,6 +346,16 @@ export interface CcApiContextQuery extends ContextLookupRoleOptions {
|
|
|
345
346
|
* @default - Either exactIdentifier or propertyMatch should be specified.
|
|
346
347
|
*/
|
|
347
348
|
readonly exactIdentifier?: string;
|
|
349
|
+
/**
|
|
350
|
+
* The resource model to use to select the resources, using `ListResources`..
|
|
351
|
+
*
|
|
352
|
+
* This is needed for sub-resources where the parent Arn is required.
|
|
353
|
+
*
|
|
354
|
+
* See https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-list.html#resource-operations-list-containers
|
|
355
|
+
*
|
|
356
|
+
* @default - no resource Model is provided
|
|
357
|
+
*/
|
|
358
|
+
readonly resourceModel?: Record<string, unknown>;
|
|
348
359
|
/**
|
|
349
360
|
* Returns any resources matching these properties, using `ListResources`.
|
|
350
361
|
*
|
|
@@ -99,4 +99,4 @@ var LoadBalancerListenerProtocol;
|
|
|
99
99
|
* */
|
|
100
100
|
LoadBalancerListenerProtocol["TCP_UDP"] = "TCP_UDP";
|
|
101
101
|
})(LoadBalancerListenerProtocol || (exports.LoadBalancerListenerProtocol = LoadBalancerListenerProtocol = {}));
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1xdWVyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29udGV4dC1xdWVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0gsSUFBWSxlQTREWDtBQTVERCxXQUFZLGVBQWU7SUFDekI7O09BRUc7SUFDSCx1Q0FBb0IsQ0FBQTtJQUVwQjs7T0FFRztJQUNILG9FQUFpRCxDQUFBO0lBRWpEOztPQUVHO0lBQ0gsdURBQW9DLENBQUE7SUFFcEM7O09BRUc7SUFDSCxpREFBOEIsQ0FBQTtJQUU5Qjs7T0FFRztJQUNILGdEQUE2QixDQUFBO0lBRTdCOztPQUVHO0lBQ0gsc0dBQW1GLENBQUE7SUFFbkY7O09BRUc7SUFDSCwyREFBd0MsQ0FBQTtJQUV4Qzs7T0FFRztJQUNILDZFQUEwRCxDQUFBO0lBRTFEOztPQUVHO0lBQ0gsNkRBQTBDLENBQUE7SUFFMUM7O09BRUc7SUFDSCxnREFBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILHNEQUFtQyxDQUFBO0lBRW5DOztPQUVHO0lBQ0gsb0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQTVEVyxlQUFlLCtCQUFmLGVBQWUsUUE0RDFCO0FBMEpEOztHQUVHO0FBQ0gsSUFBWSxnQkFVWDtBQVZELFdBQVksZ0JBQWdCO0lBQzFCOztPQUVHO0lBQ0gsdUNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBVlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFVM0I7QUE4QkQ7O0dBRUc7QUFDSCxJQUFZLDRCQThCWDtBQTlCRCxXQUFZLDRCQUE0QjtJQUN0Qzs7T0FFRztJQUNILDZDQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILCtDQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILDJDQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDJDQUFXLENBQUE7SUFFWDs7U0FFSztJQUNMLDJDQUFXLENBQUE7SUFFWDs7U0FFSztJQUNMLG1EQUFtQixDQUFBO0FBQ3JCLENBQUMsRUE5QlcsNEJBQTRCLDRDQUE1Qiw0QkFBNEIsUUE4QnZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUYWcgfSBmcm9tICcuL21ldGFkYXRhLXNjaGVtYSc7XG5cbi8qKlxuICogSWRlbnRpZmllciBmb3IgdGhlIGNvbnRleHQgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGVudW0gQ29udGV4dFByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEFNSSBwcm92aWRlclxuICAgKi9cbiAgQU1JX1BST1ZJREVSID0gJ2FtaScsXG5cbiAgLyoqXG4gICAqIEFaIHByb3ZpZGVyXG4gICAqL1xuICBBVkFJTEFCSUxJVFlfWk9ORV9QUk9WSURFUiA9ICdhdmFpbGFiaWxpdHktem9uZXMnLFxuXG4gIC8qKlxuICAgKiBSb3V0ZTUzIEhvc3RlZCBab25lIHByb3ZpZGVyXG4gICAqL1xuICBIT1NURURfWk9ORV9QUk9WSURFUiA9ICdob3N0ZWQtem9uZScsXG5cbiAgLyoqXG4gICAqIFNTTSBQYXJhbWV0ZXIgUHJvdmlkZXJcbiAgICovXG4gIFNTTV9QQVJBTUVURVJfUFJPVklERVIgPSAnc3NtJyxcblxuICAvKipcbiAgICogVlBDIFByb3ZpZGVyXG4gICAqL1xuICBWUENfUFJPVklERVIgPSAndnBjLXByb3ZpZGVyJyxcblxuICAvKipcbiAgICogVlBDIEVuZHBvaW50IFNlcnZpY2UgQVogUHJvdmlkZXJcbiAgICovXG4gIEVORFBPSU5UX1NFUlZJQ0VfQVZBSUxBQklMSVRZX1pPTkVfUFJPVklERVIgPSAnZW5kcG9pbnQtc2VydmljZS1hdmFpbGFiaWxpdHktem9uZXMnLFxuXG4gIC8qKlxuICAgKiBMb2FkIGJhbGFuY2VyIHByb3ZpZGVyXG4gICAqL1xuICBMT0FEX0JBTEFOQ0VSX1BST1ZJREVSID0gJ2xvYWQtYmFsYW5jZXInLFxuXG4gIC8qKlxuICAgKiBMb2FkIGJhbGFuY2VyIGxpc3RlbmVyIHByb3ZpZGVyXG4gICAqL1xuICBMT0FEX0JBTEFOQ0VSX0xJU1RFTkVSX1BST1ZJREVSID0gJ2xvYWQtYmFsYW5jZXItbGlzdGVuZXInLFxuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBncm91cCBwcm92aWRlclxuICAgKi9cbiAgU0VDVVJJVFlfR1JPVVBfUFJPVklERVIgPSAnc2VjdXJpdHktZ3JvdXAnLFxuXG4gIC8qKlxuICAgKiBLTVMgS2V5IFByb3ZpZGVyXG4gICAqL1xuICBLRVlfUFJPVklERVIgPSAna2V5LXByb3ZpZGVyJyxcblxuICAvKipcbiAgICogQ0NBUEkgUHJvdmlkZXJcbiAgICovXG4gIENDX0FQSV9QUk9WSURFUiA9ICdjYy1hcGktcHJvdmlkZXInLFxuXG4gIC8qKlxuICAgKiBBIHBsdWdpbiBwcm92aWRlciAodGhlIGFjdHVhbCBwbHVnaW4gbmFtZSB3aWxsIGJlIGluIHRoZSBwcm9wZXJ0aWVzKVxuICAgKi9cbiAgUExVR0lOID0gJ3BsdWdpbicsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29udGV4dCBsb29rdXAgcm9sZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFF1ZXJ5IGFjY291bnRcbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblxuICAvKipcbiAgICogUXVlcnkgcmVnaW9uXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgcm9sZSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIG1pc3NpbmcgdmFsdWVzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUm9sZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEV4dGVybmFsSWQgdGhhdCBuZWVkcyB0byBiZSBzdXBwbGllZCB3aGlsZSBhc3N1bWluZyB0aGlzIHJvbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBFeHRlcm5hbElkIHdpbGwgYmUgc3VwcGxpZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFJvbGVFeHRlcm5hbElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG9wdGlvbnMgdG8gcGFzcyB0byBTVFMgd2hlbiBhc3N1bWluZyB0aGUgbG9va3VwIHJvbGUuXG4gICAqXG4gICAqIC0gYFJvbGVBcm5gIHNob3VsZCBub3QgYmUgdXNlZC4gVXNlIHRoZSBkZWRpY2F0ZWQgYGxvb2t1cFJvbGVBcm5gIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIC0gYEV4dGVybmFsSWRgIHNob3VsZCBub3QgYmUgdXNlZC4gVXNlIHRoZSBkZWRpY2F0ZWQgYGxvb2t1cFJvbGVFeHRlcm5hbElkYCBpbnN0ZWFkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NKYXZhU2NyaXB0U0RLL2xhdGVzdC9BV1MvU1RTLmh0bWwjYXNzdW1lUm9sZS1wcm9wZXJ0eVxuICAgKiBAZGVmYXVsdCAtIE5vIGFkZGl0aW9uYWwgb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogUXVlcnkgdG8gQU1JIGNvbnRleHQgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWlDb250ZXh0UXVlcnkgZXh0ZW5kcyBDb250ZXh0TG9va3VwUm9sZU9wdGlvbnMge1xuICAvKipcbiAgICogT3duZXJzIHRvIERlc2NyaWJlSW1hZ2VzIGNhbGxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbGwgb3duZXJzXG4gICAqL1xuICByZWFkb25seSBvd25lcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRmlsdGVycyB0byBEZXNjcmliZUltYWdlcyBjYWxsXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG59XG5cbi8qKlxuICogUXVlcnkgdG8gYXZhaWxhYmlsaXR5IHpvbmUgY29udGV4dCBwcm92aWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF2YWlsYWJpbGl0eVpvbmVzQ29udGV4dFF1ZXJ5IGV4dGVuZHMgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbn1cblxuLyoqXG4gKiBRdWVyeSB0byBob3N0ZWQgem9uZSBjb250ZXh0IHByb3ZpZGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdGVkWm9uZUNvbnRleHRRdWVyeSBleHRlbmRzIENvbnRleHRMb29rdXBSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG5hbWUgZS5nLiBleGFtcGxlLmNvbSB0byBsb29rdXBcbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVHJ1ZSBpZiB0aGUgem9uZSB5b3Ugd2FudCB0byBmaW5kIGlzIGEgcHJpdmF0ZSBob3N0ZWQgem9uZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIElEIHRvIHRoYXQgdGhlIHByaXZhdGUgem9uZSBtdXN0IGJlIGFzc29jaWF0ZWQgd2l0aFxuICAgKlxuICAgKiBJZiB5b3UgcHJvdmlkZSBWUEMgSUQgYW5kIHByaXZhdGVab25lIGlzIGZhbHNlLCB0aGlzIHdpbGwgcmV0dXJuIG5vIHJlc3VsdHNcbiAgICogYW5kIHJhaXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFJlcXVpcmVkIGlmIHByaXZhdGVab25lPXRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFF1ZXJ5IHRvIFNTTSBQYXJhbWV0ZXIgQ29udGV4dCBQcm92aWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVBhcmFtZXRlckNvbnRleHRRdWVyeSBleHRlbmRzIENvbnRleHRMb29rdXBSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQYXJhbWV0ZXIgbmFtZSB0byBxdWVyeVxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29raW5nIHVwIGEgVlBDXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjQ29udGV4dFF1ZXJ5IGV4dGVuZHMgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gYXBwbHkgdG8gdGhlIFZQQ1xuICAgKlxuICAgKiBGaWx0ZXIgcGFyYW1ldGVycyBhcmUgdGhlIHNhbWUgYXMgcGFzc2VkIHRvIERlc2NyaWJlVnBjcy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlVnBjcy5odG1sXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXI6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcG9wdWxhdGUgdGhlIHN1Ym5ldEdyb3VwcyBmaWVsZCBvZiB0aGUgYFZwY0NvbnRleHRSZXNwb25zZWAsXG4gICAqIHdoaWNoIGNvbnRhaW5zIHBvdGVudGlhbGx5IGFzeW1tZXRyaWMgc3VibmV0IGdyb3Vwcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJldHVybkFzeW1tZXRyaWNTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGFnIGZvciBzdWJuZXQgZ3JvdXAgbmFtZS5cbiAgICogSWYgbm90IHByb3ZpZGVkLCB3ZSdsbCBsb29rIGF0IHRoZSBhd3MtY2RrOnN1Ym5ldC1uYW1lIHRhZy5cbiAgICogSWYgdGhlIHN1Ym5ldCBkb2VzIG5vdCBoYXZlIHRoZSBzcGVjaWZpZWQgdGFnLFxuICAgKiB3ZSdsbCB1c2UgaXRzIHR5cGUgYXMgdGhlIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhd3MtY2RrOnN1Ym5ldC1uYW1lJ1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0R3JvdXBOYW1lVGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBvcHVsYXRlIHRoZSBgdnBuR2F0ZXdheUlkYCBmaWVsZCBvZiB0aGUgYFZwY0NvbnRleHRSZXNwb25zZWAsXG4gICAqIHdoaWNoIGNvbnRhaW5zIHRoZSBWUE4gR2F0ZXdheSBJRCwgaWYgb25lIGV4aXN0cy4gWW91IGNhbiBleHBsaWNpdGx5XG4gICAqIGRpc2FibGUgdGhpcyBpbiBvcmRlciB0byBhdm9pZCB0aGUgbG9va3VwIGlmIHlvdSBrbm93IHRoZSBWUEMgZG9lcyBub3QgaGF2ZVxuICAgKiBhIFZQTiBHYXR3YXkgYXR0YWNoZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJldHVyblZwbkdhdGV3YXlzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBRdWVyeSB0byBlbmRwb2ludCBzZXJ2aWNlIGNvbnRleHQgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludFNlcnZpY2VBdmFpbGFiaWxpdHlab25lc0NvbnRleHRRdWVyeSBleHRlbmRzIENvbnRleHRMb29rdXBSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBRdWVyeSBzZXJ2aWNlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSBvZiBsb2FkIGJhbGFuY2VyXG4gKi9cbmV4cG9ydCBlbnVtIExvYWRCYWxhbmNlclR5cGUge1xuICAvKipcbiAgICogTmV0d29yayBsb2FkIGJhbGFuY2VyXG4gICAqL1xuICBORVRXT1JLID0gJ25ldHdvcmsnLFxuXG4gIC8qKlxuICAgKiBBcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2VyXG4gICAqL1xuICBBUFBMSUNBVElPTiA9ICdhcHBsaWNhdGlvbicsXG59XG5cbi8qKlxuICogRmlsdGVycyBmb3Igc2VsZWN0aW5nIGxvYWQgYmFsYW5jZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyRmlsdGVyIGV4dGVuZHMgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbHRlciBsb2FkIGJhbGFuY2VycyBieSB0aGVpciB0eXBlXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXJUeXBlOiBMb2FkQmFsYW5jZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBGaW5kIGJ5IGxvYWQgYmFsYW5jZXIncyBBUk5cbiAgICogQGRlZmF1bHQgLSBkb2VzIG5vdCBzZWFyY2ggYnkgbG9hZCBiYWxhbmNlciBhcm5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlckFybj86IHN0cmluZztcblxuICAvKipcbiAgICogTWF0Y2ggbG9hZCBiYWxhbmNlciB0YWdzXG4gICAqIEBkZWZhdWx0IC0gZG9lcyBub3QgbWF0Y2ggbG9hZCBiYWxhbmNlcnMgYnkgdGFnc1xuICAgKi9cbiAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyVGFncz86IFRhZ1tdO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29raW5nIHVwIGEgbG9hZCBiYWxhbmNlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlckNvbnRleHRRdWVyeSBleHRlbmRzIExvYWRCYWxhbmNlckZpbHRlciB7XG59XG5cbi8qKlxuICogVGhlIHByb3RvY29sIGZvciBjb25uZWN0aW9ucyBmcm9tIGNsaWVudHMgdG8gdGhlIGxvYWQgYmFsYW5jZXJcbiAqL1xuZXhwb3J0IGVudW0gTG9hZEJhbGFuY2VyTGlzdGVuZXJQcm90b2NvbCB7XG4gIC8qKlxuICAgKiBIVFRQIHByb3RvY29sXG4gICAqL1xuICBIVFRQID0gJ0hUVFAnLFxuXG4gIC8qKlxuICAgKiBIVFRQUyBwcm90b2NvbFxuICAgKi9cbiAgSFRUUFMgPSAnSFRUUFMnLFxuXG4gIC8qKlxuICAgKiBUQ1AgcHJvdG9jb2xcbiAgICovXG4gIFRDUCA9ICdUQ1AnLFxuXG4gIC8qKlxuICAgKiBUTFMgcHJvdG9jb2xcbiAgICovXG4gIFRMUyA9ICdUTFMnLFxuXG4gIC8qKlxuICAgKiBVRFAgcHJvdG9jb2xcbiAgICogKi9cbiAgVURQID0gJ1VEUCcsXG5cbiAgLyoqXG4gICAqIFRDUCBhbmQgVURQIHByb3RvY29sXG4gICAqICovXG4gIFRDUF9VRFAgPSAnVENQX1VEUCcsXG59XG5cbi8qKlxuICogUXVlcnkgaW5wdXQgZm9yIGxvb2tpbmcgdXAgYSBsb2FkIGJhbGFuY2VyIGxpc3RlbmVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnkgZXh0ZW5kcyBMb2FkQmFsYW5jZXJGaWx0ZXIge1xuICAvKipcbiAgICogRmluZCBieSBsaXN0ZW5lcidzIGFyblxuICAgKiBAZGVmYXVsdCAtIGRvZXMgbm90IGZpbmQgYnkgbGlzdGVuZXIgYXJuXG4gICAqL1xuICByZWFkb25seSBsaXN0ZW5lckFybj86IHN0cmluZztcblxuICAvKipcbiAgICogRmlsdGVyIGJ5IGxpc3RlbmVyIHByb3RvY29sXG4gICAqIEBkZWZhdWx0IC0gZG9lcyBub3QgZmlsdGVyIGJ5IGxpc3RlbmVyIHByb3RvY29sXG4gICAqL1xuICByZWFkb25seSBsaXN0ZW5lclByb3RvY29sPzogTG9hZEJhbGFuY2VyTGlzdGVuZXJQcm90b2NvbDtcblxuICAvKipcbiAgICogRmlsdGVyIGxpc3RlbmVycyBieSBsaXN0ZW5lciBwb3J0XG4gICAqIEBkZWZhdWx0IC0gZG9lcyBub3QgZmlsdGVyIGJ5IGEgbGlzdGVuZXIgcG9ydFxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdGVuZXJQb3J0PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29raW5nIHVwIGEgc2VjdXJpdHkgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUdyb3VwQ29udGV4dFF1ZXJ5IGV4dGVuZHMgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNlY3VyaXR5IGdyb3VwIGlkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBncm91cCBuYW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBJRFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29raW5nIHVwIGEgS01TIEtleVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleUNvbnRleHRRdWVyeSBleHRlbmRzIENvbnRleHRMb29rdXBSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBbGlhcyBuYW1lIHVzZWQgdG8gc2VhcmNoIHRoZSBLZXlcbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29rdXAgdXAgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2VzIHVzaW5nIENDIEFQSVxuICpcbiAqIFRoZSBleGFtcGxlIGJlbG93IGlzIHJlcXVpcmVkIHRvIHN1Y2Nlc3NmdWxseSBjb21waWxlIENESyAob3RoZXJ3aXNlLFxuICogdGhlIENESyBidWlsZCB3aWxsIGdlbmVyYXRlIGEgc3ludGhldGljIGV4YW1wbGUgZm9yIHRoZSBiZWxvdywgYnV0IGl0XG4gKiBkb2Vzbid0IGhhdmUgZW5vdWdoIHR5cGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxpdGVyYWwgc3RyaW5nIHVuaW9uXG4gKiB0byBnZW5lcmF0ZSBhIHZhbGlkbHkgY29tcGlsaW5nIGV4YW1wbGUpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBDY0FwaUNvbnRleHRRdWVyeSB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG4gKlxuICogY29uc3QgeDogQ2NBcGlDb250ZXh0UXVlcnkgPSB7XG4gKiAgIHR5cGVOYW1lOiAnQVdTOjpTb21lOjpUeXBlJyxcbiAqICAgZXhwZWN0ZWRNYXRjaENvdW50OiAnZXhhY3RseS1vbmUnLFxuICogICBwcm9wZXJ0aWVzVG9SZXR1cm46IFsnU29tZVByb3AnXSxcbiAqICAgYWNjb3VudDogJzExMTExMTExMTExJyxcbiAqICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAqIH07XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2NBcGlDb250ZXh0UXVlcnkgZXh0ZW5kcyBDb250ZXh0TG9va3VwUm9sZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGUuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWRjb250cm9sYXBpL2xhdGVzdC91c2VyZ3VpZGUvc3VwcG9ydGVkLXJlc291cmNlcy5odG1sXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIG9mIHRoZSByZXNvdXJjZSB0byBsb29rIHVwIHVzaW5nIGBHZXRSZXNvdXJjZWAuXG4gICAqXG4gICAqIFNwZWNpZnlpbmcgZXhhY3RJZGVudGlmaWVyIHdpbGwgcmV0dXJuIGV4YWN0bHkgb25lIHJlc3VsdCwgb3IgdGhyb3cgYW4gZXJyb3JcbiAgICogdW5sZXNzIGBpZ25vcmVFcnJvck9uTWlzc2luZ0NvbnRleHRgIGlzIHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBFaXRoZXIgZXhhY3RJZGVudGlmaWVyIG9yIHByb3BlcnR5TWF0Y2ggc2hvdWxkIGJlIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4YWN0SWRlbnRpZmllcj86IHN0cmluZztcblxuICAvKipcbiAgICogUmV0dXJucyBhbnkgcmVzb3VyY2VzIG1hdGNoaW5nIHRoZXNlIHByb3BlcnRpZXMsIHVzaW5nIGBMaXN0UmVzb3VyY2VzYC5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgc3BlY2lmeWluZyBwcm9wZXJ0eU1hdGNoIHdpbGwgc3VjY2Vzc2Z1bGx5IHJldHVybiAwIG9yIG1vcmVcbiAgICogcmVzdWx0cy4gVG8gdGhyb3cgYW4gZXJyb3IgaWYgdGhlIG51bWJlciBvZiByZXN1bHRzIGlzIHVuZXhwZWN0ZWQgKGFuZFxuICAgKiBwcmV2ZW50IHRoZSBxdWVyeSByZXN1bHRzIGZyb20gYmVpbmcgY29tbWl0dGVkIHRvIGNvbnRleHQpLCBzcGVjaWZ5XG4gICAqIGBleHBlY3RlZE1hdGNoQ291bnRgLlxuICAgKlxuICAgKiAjIyBOb3RlcyBvbiBwcm9wZXJ0eSBjb21wbGV0ZW5lc3NcbiAgICpcbiAgICogQ2xvdWRDb250cm9sIEFQSSdzIGBMaXN0UmVzb3VyY2VzYCBtYXkgcmV0dXJuIGZld2VyIHByb3BlcnRpZXMgdGhhblxuICAgKiBgR2V0UmVzb3VyY2VgIHdvdWxkLCBkZXBlbmRpbmcgb24gdGhlIHJlc291cmNlIGltcGxlbWVudGF0aW9uLlxuICAgKlxuICAgKiBUaGUgcmVzb3VyY2VzIHRoYXQgYHByb3BlcnR5TWF0Y2hgIG1hdGNoZXMgYWdhaW5zdCB3aWxsICpvbmx5IGV2ZXIqIGJlIHRoZVxuICAgKiBwcm9wZXJ0aWVzIHJldHVybmVkIGJ5IHRoZSBgTGlzdFJlc291cmNlc2AgY2FsbC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBFaXRoZXIgZXhhY3RJZGVudGlmaWVyIG9yIHByb3BlcnR5TWF0Y2ggc2hvdWxkIGJlIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnR5TWF0Y2g/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICAvKipcbiAgICogVGhpcyBpcyBhIHNldCBvZiBwcm9wZXJ0aWVzIHJldHVybmVkIGZyb20gQ0MgQVBJIHRoYXQgd2Ugd2FudCB0byByZXR1cm4gZnJvbSBDb250ZXh0UXVlcnkuXG4gICAqXG4gICAqIElmIGFueSBwcm9wZXJ0aWVzIGxpc3RlZCBoZXJlIGFyZSBhYnNlbnQgZnJvbSB0aGUgdGFyZ2V0IHJlc291cmNlLCBhbiBlcnJvciB3aWxsIGJlIHRocm93bi5cbiAgICpcbiAgICogVGhlIHJldHVybmVkIG9iamVjdCB3aWxsIGFsd2F5cyBpbmNsdWRlIHRoZSBrZXkgYElkZW50aWZpZXJgIHdpdGggdGhlIENDLUFQSSByZXR1cm5lZFxuICAgKiBmaWVsZCBgSWRlbnRpZmllcmAuXG4gICAqXG4gICAqICMjIE5vdGVzIG9uIHByb3BlcnR5IGNvbXBsZXRlbmVzc1xuICAgKlxuICAgKiBDbG91ZENvbnRyb2wgQVBJJ3MgYExpc3RSZXNvdXJjZXNgIG1heSByZXR1cm4gZmV3ZXIgcHJvcGVydGllcyB0aGFuXG4gICAqIGBHZXRSZXNvdXJjZWAgd291bGQsIGRlcGVuZGluZyBvbiB0aGUgcmVzb3VyY2UgaW1wbGVtZW50YXRpb24uXG4gICAqXG4gICAqIFRoZSByZXR1cm5lZCBwcm9wZXJ0aWVzIGhlcmUgYXJlICpjdXJyZW50bHkqIHNlbGVjdGVkIGZyb20gdGhlIHJlc3BvbnNlXG4gICAqIG9iamVjdCB0aGF0IENsb3VkQ29udHJvbCBBUEkgcmV0dXJucyB0byB0aGUgQ0RLIENMSS5cbiAgICpcbiAgICogSG93ZXZlciwgaWYgd2UgZmluZCB0aGVyZSBpcyBuZWVkIHRvIGRvIHNvLCB3ZSBtYXkgZGVjaWRlIHRvIGNoYW5nZSB0aGlzXG4gICAqIGJlaGF2aW9yIGluIHRoZSBmdXR1cmU6IHdlIG1pZ2h0IGNoYW5nZSBpdCB0byBwZXJmb3JtIGFuIGFkZGl0aW9uYWxcbiAgICogYEdldFJlc291cmNlYCBjYWxsIGZvciByZXNvdXJjZXMgbWF0Y2hlZCBieSBgcHJvcGVydHlNYXRjaGAuXG4gICAqL1xuICByZWFkb25seSBwcm9wZXJ0aWVzVG9SZXR1cm46IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFeHBlY3RlZCBjb3VudCBvZiByZXN1bHRzIGlmIGBwcm9wZXJ0eU1hdGNoYCBpcyBzcGVjaWZpZWQuXG4gICAqXG4gICAqIElmIHRoZSBleHBlY3RlZCByZXN1bHQgY291bnQgZG9lcyBub3QgbWF0Y2ggdGhlIGFjdHVhbCBjb3VudCxcbiAgICogYnkgZGVmYXVsdCBhbiBlcnJvciBpcyBwcm9kdWNlZCBhbmQgdGhlIHJlc3VsdCBpcyBub3QgY29tbWl0dGVkIHRvIGNhY2hlZFxuICAgKiBjb250ZXh0LCBhbmQgdGhlIHVzZXIgY2FuIGNvcnJlY3QgdGhlIHNpdHVhdGlvbiBhbmQgdHJ5IGFnYWluIHdpdGhvdXRcbiAgICogaGF2aW5nIHRvIG1hbnVhbGx5IGNsZWFyIG91dCB0aGUgY29udGV4dCBrZXkgdXNpbmcgYGNkayBjb250ZXh0IC0tcmVtb3ZlYFxuICAgKlxuICAgKiBJZiB0aGUgdmFsdWUgb2YgKiBgaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0YCBpcyBgdHJ1ZWAsIHRoZSB2YWx1ZSBvZlxuICAgKiBgZXhwZWN0ZWRNYXRjaENvdW50YCBpcyBgYXQtbGVhc3Qtb25lIHwgZXhhY3RseS1vbmVgIGFuZCB0aGUgbnVtYmVyXG4gICAqIG9mIGZvdW5kIHJlc291cmNlcyBpcyAwLCBgZHVtbXlWYWx1ZWAgaXMgcmV0dXJuZWQgYW5kIGNvbW1pdHRlZCB0byBjb250ZXh0XG4gICAqIGluc3RlYWQuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhbnknXG4gICAqL1xuICByZWFkb25seSBleHBlY3RlZE1hdGNoQ291bnQ/OiAnYW55JyB8ICdhdC1sZWFzdC1vbmUnIHwgJ2F0LW1vc3Qtb25lJyB8ICdleGFjdGx5LW9uZSc7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSB0byByZXR1cm4gaWYgdGhlIHJlc291cmNlIHdhcyBub3QgZm91bmQgYW5kIGBpZ25vcmVFcnJvck9uTWlzc2luZ0NvbnRleHRgIGlzIHRydWUuXG4gICAqXG4gICAqIElmIHN1cHBsaWVkLCBgZHVtbXlWYWx1ZWAgc2hvdWxkIGJlIGFuIGFycmF5IG9mIG9iamVjdHMuXG4gICAqXG4gICAqIGBkdW1teVZhbHVlYCBkb2VzIG5vdCBoYXZlIHRvIGhhdmUgZWxlbWVudHMsIGFuZCBpdCBtYXkgaGF2ZSBvYmplY3RzIHdpdGhcbiAgICogZGlmZmVyZW50IHByb3BlcnRpZXMgdGhhbiB0aGUgcHJvcGVydGllcyBpbiBgcHJvcGVydGllc1RvUmV0dXJuYCwgYnV0IGl0XG4gICAqIHdpbGwgYmUgZWFzaWVzdCBmb3IgZG93bnN0cmVhbSBjb2RlIGlmIHRoZSBgZHVtbXlWYWx1ZWAgY29uZm9ybXMgdG9cbiAgICogdGhlIGV4cGVjdGVkIHJlc3BvbnNlIHNoYXBlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGR1bW15IHZhbHVlIGF2YWlsYWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgZHVtbXlWYWx1ZT86IGFueTtcblxuICAvKipcbiAgICogSWdub3JlIGFuIGVycm9yIGFuZCByZXR1cm4gdGhlIGBkdW1teVZhbHVlYCBpbnN0ZWFkIGlmIHRoZSByZXNvdXJjZSB3YXMgbm90IGZvdW5kLlxuICAgKlxuICAgKiAtIEluIGNhc2Ugb2YgYW4gYGV4YWN0SWRlbnRpZmllcmAgbG9va3VwLCByZXR1cm4gdGhlIGBkdW1teVZhbHVlYCBpZiB0aGUgcmVzb3VyY2Ugd2l0aFxuICAgKiAgIHRoYXQgaWRlbnRpZmllciB3YXMgbm90IGZvdW5kLlxuICAgKiAtIEluIGNhc2Ugb2YgYSBgcHJvcGVydHlNYXRjaGAgbG9va3VwLCByZXR1cm4gdGhlIGBkdW1teVZhbHVlYCBpZiBgZXhwZWN0ZWRNYXRjaENvdW50YFxuICAgKiAgIGlzIGBhdC1sZWFzdC1vbmUgfCBleGFjdGx5LW9uZWAgYW5kIHRoZSBudW1iZXIgb2YgcmVzb3VyY2VzIGZvdW5kIHdhcyAwLlxuICAgKlxuICAgKiBpZiBgaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0YCBpcyBzZXQsIGBkdW1teVZhbHVlYCBzaG91bGQgYmUgc2V0IGFuZCBiZSBhbiBhcnJheS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZUVycm9yT25NaXNzaW5nQ29udGV4dD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUXVlcnkgaW5wdXQgZm9yIHBsdWdpbnNcbiAqXG4gKiBUaGlzIGFsdGVybmF0ZSBicmFuY2ggaXMgbmVjZXNzYXJ5IGJlY2F1c2UgaXQgbmVlZHMgdG8gYmUgYWJsZSB0byBlc2NhcGUgYWxsIHR5cGUgY2hlY2tpbmdcbiAqIHdlIGRvIG9uIG9uIHRoZSBjbG91ZCBhc3NlbWJseSAtLSB3ZSBjYW5ub3Qga25vdyB0aGUgcHJvcGVydGllcyB0aGF0IHdpbGwgYmUgdXNlZCBhIHByaW9yaS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5Db250ZXh0UXVlcnkge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBsdWdpblxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBcmJpdHJhcnkgb3RoZXIgYXJndW1lbnRzIGZvciB0aGUgcGx1Z2luLlxuICAgKlxuICAgKiBUaGlzIGluZGV4IHNpZ25hdHVyZSBpcyBub3QgdXNhYmxlIGluIG5vbi1UeXBlU2NyaXB0L0phdmFTY3JpcHQgbGFuZ3VhZ2VzLlxuICAgKlxuICAgKiBAanNpaSBpZ25vcmVcbiAgICovXG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dFF1ZXJ5UHJvcGVydGllcyA9XG4gIHwgQW1pQ29udGV4dFF1ZXJ5XG4gIHwgQXZhaWxhYmlsaXR5Wm9uZXNDb250ZXh0UXVlcnlcbiAgfCBIb3N0ZWRab25lQ29udGV4dFF1ZXJ5XG4gIHwgU1NNUGFyYW1ldGVyQ29udGV4dFF1ZXJ5XG4gIHwgVnBjQ29udGV4dFF1ZXJ5XG4gIHwgRW5kcG9pbnRTZXJ2aWNlQXZhaWxhYmlsaXR5Wm9uZXNDb250ZXh0UXVlcnlcbiAgfCBMb2FkQmFsYW5jZXJDb250ZXh0UXVlcnlcbiAgfCBMb2FkQmFsYW5jZXJMaXN0ZW5lckNvbnRleHRRdWVyeVxuICB8IFNlY3VyaXR5R3JvdXBDb250ZXh0UXVlcnlcbiAgfCBLZXlDb250ZXh0UXVlcnlcbiAgfCBDY0FwaUNvbnRleHRRdWVyeVxuICB8IFBsdWdpbkNvbnRleHRRdWVyeTtcbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC1xdWVyaWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29udGV4dC1xdWVyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0gsSUFBWSxlQTREWDtBQTVERCxXQUFZLGVBQWU7SUFDekI7O09BRUc7SUFDSCx1Q0FBb0IsQ0FBQTtJQUVwQjs7T0FFRztJQUNILG9FQUFpRCxDQUFBO0lBRWpEOztPQUVHO0lBQ0gsdURBQW9DLENBQUE7SUFFcEM7O09BRUc7SUFDSCxpREFBOEIsQ0FBQTtJQUU5Qjs7T0FFRztJQUNILGdEQUE2QixDQUFBO0lBRTdCOztPQUVHO0lBQ0gsc0dBQW1GLENBQUE7SUFFbkY7O09BRUc7SUFDSCwyREFBd0MsQ0FBQTtJQUV4Qzs7T0FFRztJQUNILDZFQUEwRCxDQUFBO0lBRTFEOztPQUVHO0lBQ0gsNkRBQTBDLENBQUE7SUFFMUM7O09BRUc7SUFDSCxnREFBNkIsQ0FBQTtJQUU3Qjs7T0FFRztJQUNILHNEQUFtQyxDQUFBO0lBRW5DOztPQUVHO0lBQ0gsb0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQTVEVyxlQUFlLCtCQUFmLGVBQWUsUUE0RDFCO0FBMEpEOztHQUVHO0FBQ0gsSUFBWSxnQkFVWDtBQVZELFdBQVksZ0JBQWdCO0lBQzFCOztPQUVHO0lBQ0gsdUNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCwrQ0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBVlcsZ0JBQWdCLGdDQUFoQixnQkFBZ0IsUUFVM0I7QUE4QkQ7O0dBRUc7QUFDSCxJQUFZLDRCQThCWDtBQTlCRCxXQUFZLDRCQUE0QjtJQUN0Qzs7T0FFRztJQUNILDZDQUFhLENBQUE7SUFFYjs7T0FFRztJQUNILCtDQUFlLENBQUE7SUFFZjs7T0FFRztJQUNILDJDQUFXLENBQUE7SUFFWDs7T0FFRztJQUNILDJDQUFXLENBQUE7SUFFWDs7U0FFSztJQUNMLDJDQUFXLENBQUE7SUFFWDs7U0FFSztJQUNMLG1EQUFtQixDQUFBO0FBQ3JCLENBQUMsRUE5QlcsNEJBQTRCLDRDQUE1Qiw0QkFBNEIsUUE4QnZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBUYWcgfSBmcm9tICcuL21ldGFkYXRhLXNjaGVtYSc7XG5cbi8qKlxuICogSWRlbnRpZmllciBmb3IgdGhlIGNvbnRleHQgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGVudW0gQ29udGV4dFByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEFNSSBwcm92aWRlclxuICAgKi9cbiAgQU1JX1BST1ZJREVSID0gJ2FtaScsXG5cbiAgLyoqXG4gICAqIEFaIHByb3ZpZGVyXG4gICAqL1xuICBBVkFJTEFCSUxJVFlfWk9ORV9QUk9WSURFUiA9ICdhdmFpbGFiaWxpdHktem9uZXMnLFxuXG4gIC8qKlxuICAgKiBSb3V0ZTUzIEhvc3RlZCBab25lIHByb3ZpZGVyXG4gICAqL1xuICBIT1NURURfWk9ORV9QUk9WSURFUiA9ICdob3N0ZWQtem9uZScsXG5cbiAgLyoqXG4gICAqIFNTTSBQYXJhbWV0ZXIgUHJvdmlkZXJcbiAgICovXG4gIFNTTV9QQVJBTUVURVJfUFJPVklERVIgPSAnc3NtJyxcblxuICAvKipcbiAgICogVlBDIFByb3ZpZGVyXG4gICAqL1xuICBWUENfUFJPVklERVIgPSAndnBjLXByb3ZpZGVyJyxcblxuICAvKipcbiAgICogVlBDIEVuZHBvaW50IFNlcnZpY2UgQVogUHJvdmlkZXJcbiAgICovXG4gIEVORFBPSU5UX1NFUlZJQ0VfQVZBSUxBQklMSVRZX1pPTkVfUFJPVklERVIgPSAnZW5kcG9pbnQtc2VydmljZS1hdmFpbGFiaWxpdHktem9uZXMnLFxuXG4gIC8qKlxuICAgKiBMb2FkIGJhbGFuY2VyIHByb3ZpZGVyXG4gICAqL1xuICBMT0FEX0JBTEFOQ0VSX1BST1ZJREVSID0gJ2xvYWQtYmFsYW5jZXInLFxuXG4gIC8qKlxuICAgKiBMb2FkIGJhbGFuY2VyIGxpc3RlbmVyIHByb3ZpZGVyXG4gICAqL1xuICBMT0FEX0JBTEFOQ0VSX0xJU1RFTkVSX1BST1ZJREVSID0gJ2xvYWQtYmFsYW5jZXItbGlzdGVuZXInLFxuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBncm91cCBwcm92aWRlclxuICAgKi9cbiAgU0VDVVJJVFlfR1JPVVBfUFJPVklERVIgPSAnc2VjdXJpdHktZ3JvdXAnLFxuXG4gIC8qKlxuICAgKiBLTVMgS2V5IFByb3ZpZGVyXG4gICAqL1xuICBLRVlfUFJPVklERVIgPSAna2V5LXByb3ZpZGVyJyxcblxuICAvKipcbiAgICogQ0NBUEkgUHJvdmlkZXJcbiAgICovXG4gIENDX0FQSV9QUk9WSURFUiA9ICdjYy1hcGktcHJvdmlkZXInLFxuXG4gIC8qKlxuICAgKiBBIHBsdWdpbiBwcm92aWRlciAodGhlIGFjdHVhbCBwbHVnaW4gbmFtZSB3aWxsIGJlIGluIHRoZSBwcm9wZXJ0aWVzKVxuICAgKi9cbiAgUExVR0lOID0gJ3BsdWdpbicsXG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29udGV4dCBsb29rdXAgcm9sZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFF1ZXJ5IGFjY291bnRcbiAgICovXG4gIHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblxuICAvKipcbiAgICogUXVlcnkgcmVnaW9uXG4gICAqL1xuICByZWFkb25seSByZWdpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgcm9sZSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGxvb2sgdXAgdGhlIG1pc3NpbmcgdmFsdWVzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgbG9va3VwUm9sZUFybj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEV4dGVybmFsSWQgdGhhdCBuZWVkcyB0byBiZSBzdXBwbGllZCB3aGlsZSBhc3N1bWluZyB0aGlzIHJvbGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBFeHRlcm5hbElkIHdpbGwgYmUgc3VwcGxpZWRcbiAgICovXG4gIHJlYWRvbmx5IGxvb2t1cFJvbGVFeHRlcm5hbElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG9wdGlvbnMgdG8gcGFzcyB0byBTVFMgd2hlbiBhc3N1bWluZyB0aGUgbG9va3VwIHJvbGUuXG4gICAqXG4gICAqIC0gYFJvbGVBcm5gIHNob3VsZCBub3QgYmUgdXNlZC4gVXNlIHRoZSBkZWRpY2F0ZWQgYGxvb2t1cFJvbGVBcm5gIHByb3BlcnR5IGluc3RlYWQuXG4gICAqIC0gYEV4dGVybmFsSWRgIHNob3VsZCBub3QgYmUgdXNlZC4gVXNlIHRoZSBkZWRpY2F0ZWQgYGxvb2t1cFJvbGVFeHRlcm5hbElkYCBpbnN0ZWFkLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NKYXZhU2NyaXB0U0RLL2xhdGVzdC9BV1MvU1RTLmh0bWwjYXNzdW1lUm9sZS1wcm9wZXJ0eVxuICAgKiBAZGVmYXVsdCAtIE5vIGFkZGl0aW9uYWwgb3B0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogUXVlcnkgdG8gQU1JIGNvbnRleHQgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWlDb250ZXh0UXVlcnkgZXh0ZW5kcyBDb250ZXh0TG9va3VwUm9sZU9wdGlvbnMge1xuICAvKipcbiAgICogT3duZXJzIHRvIERlc2NyaWJlSW1hZ2VzIGNhbGxcbiAgICpcbiAgICogQGRlZmF1bHQgLSBBbGwgb3duZXJzXG4gICAqL1xuICByZWFkb25seSBvd25lcnM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRmlsdGVycyB0byBEZXNjcmliZUltYWdlcyBjYWxsXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXJzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH07XG59XG5cbi8qKlxuICogUXVlcnkgdG8gYXZhaWxhYmlsaXR5IHpvbmUgY29udGV4dCBwcm92aWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF2YWlsYWJpbGl0eVpvbmVzQ29udGV4dFF1ZXJ5IGV4dGVuZHMgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbn1cblxuLyoqXG4gKiBRdWVyeSB0byBob3N0ZWQgem9uZSBjb250ZXh0IHByb3ZpZGVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSG9zdGVkWm9uZUNvbnRleHRRdWVyeSBleHRlbmRzIENvbnRleHRMb29rdXBSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZG9tYWluIG5hbWUgZS5nLiBleGFtcGxlLmNvbSB0byBsb29rdXBcbiAgICovXG4gIHJlYWRvbmx5IGRvbWFpbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVHJ1ZSBpZiB0aGUgem9uZSB5b3Ugd2FudCB0byBmaW5kIGlzIGEgcHJpdmF0ZSBob3N0ZWQgem9uZVxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZVpvbmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgVlBDIElEIHRvIHRoYXQgdGhlIHByaXZhdGUgem9uZSBtdXN0IGJlIGFzc29jaWF0ZWQgd2l0aFxuICAgKlxuICAgKiBJZiB5b3UgcHJvdmlkZSBWUEMgSUQgYW5kIHByaXZhdGVab25lIGlzIGZhbHNlLCB0aGlzIHdpbGwgcmV0dXJuIG5vIHJlc3VsdHNcbiAgICogYW5kIHJhaXNlIGFuIGVycm9yLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFJlcXVpcmVkIGlmIHByaXZhdGVab25lPXRydWVcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFF1ZXJ5IHRvIFNTTSBQYXJhbWV0ZXIgQ29udGV4dCBQcm92aWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNTTVBhcmFtZXRlckNvbnRleHRRdWVyeSBleHRlbmRzIENvbnRleHRMb29rdXBSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQYXJhbWV0ZXIgbmFtZSB0byBxdWVyeVxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29raW5nIHVwIGEgVlBDXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjQ29udGV4dFF1ZXJ5IGV4dGVuZHMgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gYXBwbHkgdG8gdGhlIFZQQ1xuICAgKlxuICAgKiBGaWx0ZXIgcGFyYW1ldGVycyBhcmUgdGhlIHNhbWUgYXMgcGFzc2VkIHRvIERlc2NyaWJlVnBjcy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQVdTRUMyL2xhdGVzdC9BUElSZWZlcmVuY2UvQVBJX0Rlc2NyaWJlVnBjcy5odG1sXG4gICAqL1xuICByZWFkb25seSBmaWx0ZXI6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcG9wdWxhdGUgdGhlIHN1Ym5ldEdyb3VwcyBmaWVsZCBvZiB0aGUgYFZwY0NvbnRleHRSZXNwb25zZWAsXG4gICAqIHdoaWNoIGNvbnRhaW5zIHBvdGVudGlhbGx5IGFzeW1tZXRyaWMgc3VibmV0IGdyb3Vwcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJldHVybkFzeW1tZXRyaWNTdWJuZXRzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGFnIGZvciBzdWJuZXQgZ3JvdXAgbmFtZS5cbiAgICogSWYgbm90IHByb3ZpZGVkLCB3ZSdsbCBsb29rIGF0IHRoZSBhd3MtY2RrOnN1Ym5ldC1uYW1lIHRhZy5cbiAgICogSWYgdGhlIHN1Ym5ldCBkb2VzIG5vdCBoYXZlIHRoZSBzcGVjaWZpZWQgdGFnLFxuICAgKiB3ZSdsbCB1c2UgaXRzIHR5cGUgYXMgdGhlIG5hbWUuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdhd3MtY2RrOnN1Ym5ldC1uYW1lJ1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0R3JvdXBOYW1lVGFnPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBvcHVsYXRlIHRoZSBgdnBuR2F0ZXdheUlkYCBmaWVsZCBvZiB0aGUgYFZwY0NvbnRleHRSZXNwb25zZWAsXG4gICAqIHdoaWNoIGNvbnRhaW5zIHRoZSBWUE4gR2F0ZXdheSBJRCwgaWYgb25lIGV4aXN0cy4gWW91IGNhbiBleHBsaWNpdGx5XG4gICAqIGRpc2FibGUgdGhpcyBpbiBvcmRlciB0byBhdm9pZCB0aGUgbG9va3VwIGlmIHlvdSBrbm93IHRoZSBWUEMgZG9lcyBub3QgaGF2ZVxuICAgKiBhIFZQTiBHYXR3YXkgYXR0YWNoZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJldHVyblZwbkdhdGV3YXlzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBRdWVyeSB0byBlbmRwb2ludCBzZXJ2aWNlIGNvbnRleHQgcHJvdmlkZXJcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludFNlcnZpY2VBdmFpbGFiaWxpdHlab25lc0NvbnRleHRRdWVyeSBleHRlbmRzIENvbnRleHRMb29rdXBSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBRdWVyeSBzZXJ2aWNlIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSBvZiBsb2FkIGJhbGFuY2VyXG4gKi9cbmV4cG9ydCBlbnVtIExvYWRCYWxhbmNlclR5cGUge1xuICAvKipcbiAgICogTmV0d29yayBsb2FkIGJhbGFuY2VyXG4gICAqL1xuICBORVRXT1JLID0gJ25ldHdvcmsnLFxuXG4gIC8qKlxuICAgKiBBcHBsaWNhdGlvbiBsb2FkIGJhbGFuY2VyXG4gICAqL1xuICBBUFBMSUNBVElPTiA9ICdhcHBsaWNhdGlvbicsXG59XG5cbi8qKlxuICogRmlsdGVycyBmb3Igc2VsZWN0aW5nIGxvYWQgYmFsYW5jZXJzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyRmlsdGVyIGV4dGVuZHMgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIEZpbHRlciBsb2FkIGJhbGFuY2VycyBieSB0aGVpciB0eXBlXG4gICAqL1xuICByZWFkb25seSBsb2FkQmFsYW5jZXJUeXBlOiBMb2FkQmFsYW5jZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBGaW5kIGJ5IGxvYWQgYmFsYW5jZXIncyBBUk5cbiAgICogQGRlZmF1bHQgLSBkb2VzIG5vdCBzZWFyY2ggYnkgbG9hZCBiYWxhbmNlciBhcm5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRCYWxhbmNlckFybj86IHN0cmluZztcblxuICAvKipcbiAgICogTWF0Y2ggbG9hZCBiYWxhbmNlciB0YWdzXG4gICAqIEBkZWZhdWx0IC0gZG9lcyBub3QgbWF0Y2ggbG9hZCBiYWxhbmNlcnMgYnkgdGFnc1xuICAgKi9cbiAgcmVhZG9ubHkgbG9hZEJhbGFuY2VyVGFncz86IFRhZ1tdO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29raW5nIHVwIGEgbG9hZCBiYWxhbmNlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvYWRCYWxhbmNlckNvbnRleHRRdWVyeSBleHRlbmRzIExvYWRCYWxhbmNlckZpbHRlciB7XG59XG5cbi8qKlxuICogVGhlIHByb3RvY29sIGZvciBjb25uZWN0aW9ucyBmcm9tIGNsaWVudHMgdG8gdGhlIGxvYWQgYmFsYW5jZXJcbiAqL1xuZXhwb3J0IGVudW0gTG9hZEJhbGFuY2VyTGlzdGVuZXJQcm90b2NvbCB7XG4gIC8qKlxuICAgKiBIVFRQIHByb3RvY29sXG4gICAqL1xuICBIVFRQID0gJ0hUVFAnLFxuXG4gIC8qKlxuICAgKiBIVFRQUyBwcm90b2NvbFxuICAgKi9cbiAgSFRUUFMgPSAnSFRUUFMnLFxuXG4gIC8qKlxuICAgKiBUQ1AgcHJvdG9jb2xcbiAgICovXG4gIFRDUCA9ICdUQ1AnLFxuXG4gIC8qKlxuICAgKiBUTFMgcHJvdG9jb2xcbiAgICovXG4gIFRMUyA9ICdUTFMnLFxuXG4gIC8qKlxuICAgKiBVRFAgcHJvdG9jb2xcbiAgICogKi9cbiAgVURQID0gJ1VEUCcsXG5cbiAgLyoqXG4gICAqIFRDUCBhbmQgVURQIHByb3RvY29sXG4gICAqICovXG4gIFRDUF9VRFAgPSAnVENQX1VEUCcsXG59XG5cbi8qKlxuICogUXVlcnkgaW5wdXQgZm9yIGxvb2tpbmcgdXAgYSBsb2FkIGJhbGFuY2VyIGxpc3RlbmVyXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZEJhbGFuY2VyTGlzdGVuZXJDb250ZXh0UXVlcnkgZXh0ZW5kcyBMb2FkQmFsYW5jZXJGaWx0ZXIge1xuICAvKipcbiAgICogRmluZCBieSBsaXN0ZW5lcidzIGFyblxuICAgKiBAZGVmYXVsdCAtIGRvZXMgbm90IGZpbmQgYnkgbGlzdGVuZXIgYXJuXG4gICAqL1xuICByZWFkb25seSBsaXN0ZW5lckFybj86IHN0cmluZztcblxuICAvKipcbiAgICogRmlsdGVyIGJ5IGxpc3RlbmVyIHByb3RvY29sXG4gICAqIEBkZWZhdWx0IC0gZG9lcyBub3QgZmlsdGVyIGJ5IGxpc3RlbmVyIHByb3RvY29sXG4gICAqL1xuICByZWFkb25seSBsaXN0ZW5lclByb3RvY29sPzogTG9hZEJhbGFuY2VyTGlzdGVuZXJQcm90b2NvbDtcblxuICAvKipcbiAgICogRmlsdGVyIGxpc3RlbmVycyBieSBsaXN0ZW5lciBwb3J0XG4gICAqIEBkZWZhdWx0IC0gZG9lcyBub3QgZmlsdGVyIGJ5IGEgbGlzdGVuZXIgcG9ydFxuICAgKi9cbiAgcmVhZG9ubHkgbGlzdGVuZXJQb3J0PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29raW5nIHVwIGEgc2VjdXJpdHkgZ3JvdXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWN1cml0eUdyb3VwQ29udGV4dFF1ZXJ5IGV4dGVuZHMgQ29udGV4dExvb2t1cFJvbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNlY3VyaXR5IGdyb3VwIGlkXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBncm91cCBuYW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm9uZVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZQQyBJRFxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vbmVcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29raW5nIHVwIGEgS01TIEtleVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEtleUNvbnRleHRRdWVyeSBleHRlbmRzIENvbnRleHRMb29rdXBSb2xlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBbGlhcyBuYW1lIHVzZWQgdG8gc2VhcmNoIHRoZSBLZXlcbiAgICovXG4gIHJlYWRvbmx5IGFsaWFzTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFF1ZXJ5IGlucHV0IGZvciBsb29rdXAgdXAgQ2xvdWRGb3JtYXRpb24gcmVzb3VyY2VzIHVzaW5nIENDIEFQSVxuICpcbiAqIFRoZSBleGFtcGxlIGJlbG93IGlzIHJlcXVpcmVkIHRvIHN1Y2Nlc3NmdWxseSBjb21waWxlIENESyAob3RoZXJ3aXNlLFxuICogdGhlIENESyBidWlsZCB3aWxsIGdlbmVyYXRlIGEgc3ludGhldGljIGV4YW1wbGUgZm9yIHRoZSBiZWxvdywgYnV0IGl0XG4gKiBkb2Vzbid0IGhhdmUgZW5vdWdoIHR5cGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxpdGVyYWwgc3RyaW5nIHVuaW9uXG4gKiB0byBnZW5lcmF0ZSBhIHZhbGlkbHkgY29tcGlsaW5nIGV4YW1wbGUpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBpbXBvcnQgeyBDY0FwaUNvbnRleHRRdWVyeSB9IGZyb20gJ0Bhd3MtY2RrL2Nsb3VkLWFzc2VtYmx5LXNjaGVtYSc7XG4gKlxuICogY29uc3QgeDogQ2NBcGlDb250ZXh0UXVlcnkgPSB7XG4gKiAgIHR5cGVOYW1lOiAnQVdTOjpTb21lOjpUeXBlJyxcbiAqICAgZXhwZWN0ZWRNYXRjaENvdW50OiAnZXhhY3RseS1vbmUnLFxuICogICByZXNvdXJjZU1vZGVsOiB7U29tZUFybjogJ2Fybjphd3M6Li4uLid9LFxuICogICBwcm9wZXJ0aWVzVG9SZXR1cm46IFsnU29tZVByb3AnXSxcbiAqICAgYWNjb3VudDogJzExMTExMTExMTExJyxcbiAqICAgcmVnaW9uOiAndXMtZWFzdC0xJyxcbiAqIH07XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2NBcGlDb250ZXh0UXVlcnkgZXh0ZW5kcyBDb250ZXh0TG9va3VwUm9sZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGUuXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWRjb250cm9sYXBpL2xhdGVzdC91c2VyZ3VpZGUvc3VwcG9ydGVkLXJlc291cmNlcy5odG1sXG4gICAqL1xuICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVyIG9mIHRoZSByZXNvdXJjZSB0byBsb29rIHVwIHVzaW5nIGBHZXRSZXNvdXJjZWAuXG4gICAqXG4gICAqIFNwZWNpZnlpbmcgZXhhY3RJZGVudGlmaWVyIHdpbGwgcmV0dXJuIGV4YWN0bHkgb25lIHJlc3VsdCwgb3IgdGhyb3cgYW4gZXJyb3JcbiAgICogdW5sZXNzIGBpZ25vcmVFcnJvck9uTWlzc2luZ0NvbnRleHRgIGlzIHNldC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBFaXRoZXIgZXhhY3RJZGVudGlmaWVyIG9yIHByb3BlcnR5TWF0Y2ggc2hvdWxkIGJlIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGV4YWN0SWRlbnRpZmllcj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlIG1vZGVsIHRvIHVzZSB0byBzZWxlY3QgdGhlIHJlc291cmNlcywgdXNpbmcgYExpc3RSZXNvdXJjZXNgLi5cbiAgICpcbiAgICogVGhpcyBpcyBuZWVkZWQgZm9yIHN1Yi1yZXNvdXJjZXMgd2hlcmUgdGhlIHBhcmVudCBBcm4gaXMgcmVxdWlyZWQuXG4gICAqXG4gICAqIFNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vY2xvdWRjb250cm9sYXBpL2xhdGVzdC91c2VyZ3VpZGUvcmVzb3VyY2Utb3BlcmF0aW9ucy1saXN0Lmh0bWwjcmVzb3VyY2Utb3BlcmF0aW9ucy1saXN0LWNvbnRhaW5lcnNcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyByZXNvdXJjZSBNb2RlbCBpcyBwcm92aWRlZFxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VNb2RlbD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFueSByZXNvdXJjZXMgbWF0Y2hpbmcgdGhlc2UgcHJvcGVydGllcywgdXNpbmcgYExpc3RSZXNvdXJjZXNgLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBzcGVjaWZ5aW5nIHByb3BlcnR5TWF0Y2ggd2lsbCBzdWNjZXNzZnVsbHkgcmV0dXJuIDAgb3IgbW9yZVxuICAgKiByZXN1bHRzLiBUbyB0aHJvdyBhbiBlcnJvciBpZiB0aGUgbnVtYmVyIG9mIHJlc3VsdHMgaXMgdW5leHBlY3RlZCAoYW5kXG4gICAqIHByZXZlbnQgdGhlIHF1ZXJ5IHJlc3VsdHMgZnJvbSBiZWluZyBjb21taXR0ZWQgdG8gY29udGV4dCksIHNwZWNpZnlcbiAgICogYGV4cGVjdGVkTWF0Y2hDb3VudGAuXG4gICAqXG4gICAqICMjIE5vdGVzIG9uIHByb3BlcnR5IGNvbXBsZXRlbmVzc1xuICAgKlxuICAgKiBDbG91ZENvbnRyb2wgQVBJJ3MgYExpc3RSZXNvdXJjZXNgIG1heSByZXR1cm4gZmV3ZXIgcHJvcGVydGllcyB0aGFuXG4gICAqIGBHZXRSZXNvdXJjZWAgd291bGQsIGRlcGVuZGluZyBvbiB0aGUgcmVzb3VyY2UgaW1wbGVtZW50YXRpb24uXG4gICAqXG4gICAqIFRoZSByZXNvdXJjZXMgdGhhdCBgcHJvcGVydHlNYXRjaGAgbWF0Y2hlcyBhZ2FpbnN0IHdpbGwgKm9ubHkgZXZlciogYmUgdGhlXG4gICAqIHByb3BlcnRpZXMgcmV0dXJuZWQgYnkgdGhlIGBMaXN0UmVzb3VyY2VzYCBjYWxsLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEVpdGhlciBleGFjdElkZW50aWZpZXIgb3IgcHJvcGVydHlNYXRjaCBzaG91bGQgYmUgc3BlY2lmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcHJvcGVydHlNYXRjaD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBUaGlzIGlzIGEgc2V0IG9mIHByb3BlcnRpZXMgcmV0dXJuZWQgZnJvbSBDQyBBUEkgdGhhdCB3ZSB3YW50IHRvIHJldHVybiBmcm9tIENvbnRleHRRdWVyeS5cbiAgICpcbiAgICogSWYgYW55IHByb3BlcnRpZXMgbGlzdGVkIGhlcmUgYXJlIGFic2VudCBmcm9tIHRoZSB0YXJnZXQgcmVzb3VyY2UsIGFuIGVycm9yIHdpbGwgYmUgdGhyb3duLlxuICAgKlxuICAgKiBUaGUgcmV0dXJuZWQgb2JqZWN0IHdpbGwgYWx3YXlzIGluY2x1ZGUgdGhlIGtleSBgSWRlbnRpZmllcmAgd2l0aCB0aGUgQ0MtQVBJIHJldHVybmVkXG4gICAqIGZpZWxkIGBJZGVudGlmaWVyYC5cbiAgICpcbiAgICogIyMgTm90ZXMgb24gcHJvcGVydHkgY29tcGxldGVuZXNzXG4gICAqXG4gICAqIENsb3VkQ29udHJvbCBBUEkncyBgTGlzdFJlc291cmNlc2AgbWF5IHJldHVybiBmZXdlciBwcm9wZXJ0aWVzIHRoYW5cbiAgICogYEdldFJlc291cmNlYCB3b3VsZCwgZGVwZW5kaW5nIG9uIHRoZSByZXNvdXJjZSBpbXBsZW1lbnRhdGlvbi5cbiAgICpcbiAgICogVGhlIHJldHVybmVkIHByb3BlcnRpZXMgaGVyZSBhcmUgKmN1cnJlbnRseSogc2VsZWN0ZWQgZnJvbSB0aGUgcmVzcG9uc2VcbiAgICogb2JqZWN0IHRoYXQgQ2xvdWRDb250cm9sIEFQSSByZXR1cm5zIHRvIHRoZSBDREsgQ0xJLlxuICAgKlxuICAgKiBIb3dldmVyLCBpZiB3ZSBmaW5kIHRoZXJlIGlzIG5lZWQgdG8gZG8gc28sIHdlIG1heSBkZWNpZGUgdG8gY2hhbmdlIHRoaXNcbiAgICogYmVoYXZpb3IgaW4gdGhlIGZ1dHVyZTogd2UgbWlnaHQgY2hhbmdlIGl0IHRvIHBlcmZvcm0gYW4gYWRkaXRpb25hbFxuICAgKiBgR2V0UmVzb3VyY2VgIGNhbGwgZm9yIHJlc291cmNlcyBtYXRjaGVkIGJ5IGBwcm9wZXJ0eU1hdGNoYC5cbiAgICovXG4gIHJlYWRvbmx5IHByb3BlcnRpZXNUb1JldHVybjogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEV4cGVjdGVkIGNvdW50IG9mIHJlc3VsdHMgaWYgYHByb3BlcnR5TWF0Y2hgIGlzIHNwZWNpZmllZC5cbiAgICpcbiAgICogSWYgdGhlIGV4cGVjdGVkIHJlc3VsdCBjb3VudCBkb2VzIG5vdCBtYXRjaCB0aGUgYWN0dWFsIGNvdW50LFxuICAgKiBieSBkZWZhdWx0IGFuIGVycm9yIGlzIHByb2R1Y2VkIGFuZCB0aGUgcmVzdWx0IGlzIG5vdCBjb21taXR0ZWQgdG8gY2FjaGVkXG4gICAqIGNvbnRleHQsIGFuZCB0aGUgdXNlciBjYW4gY29ycmVjdCB0aGUgc2l0dWF0aW9uIGFuZCB0cnkgYWdhaW4gd2l0aG91dFxuICAgKiBoYXZpbmcgdG8gbWFudWFsbHkgY2xlYXIgb3V0IHRoZSBjb250ZXh0IGtleSB1c2luZyBgY2RrIGNvbnRleHQgLS1yZW1vdmVgXG4gICAqXG4gICAqIElmIHRoZSB2YWx1ZSBvZiAqIGBpZ25vcmVFcnJvck9uTWlzc2luZ0NvbnRleHRgIGlzIGB0cnVlYCwgdGhlIHZhbHVlIG9mXG4gICAqIGBleHBlY3RlZE1hdGNoQ291bnRgIGlzIGBhdC1sZWFzdC1vbmUgfCBleGFjdGx5LW9uZWAgYW5kIHRoZSBudW1iZXJcbiAgICogb2YgZm91bmQgcmVzb3VyY2VzIGlzIDAsIGBkdW1teVZhbHVlYCBpcyByZXR1cm5lZCBhbmQgY29tbWl0dGVkIHRvIGNvbnRleHRcbiAgICogaW5zdGVhZC5cbiAgICpcbiAgICogQGRlZmF1bHQgJ2FueSdcbiAgICovXG4gIHJlYWRvbmx5IGV4cGVjdGVkTWF0Y2hDb3VudD86ICdhbnknIHwgJ2F0LWxlYXN0LW9uZScgfCAnYXQtbW9zdC1vbmUnIHwgJ2V4YWN0bHktb25lJztcblxuICAvKipcbiAgICogVGhlIHZhbHVlIHRvIHJldHVybiBpZiB0aGUgcmVzb3VyY2Ugd2FzIG5vdCBmb3VuZCBhbmQgYGlnbm9yZUVycm9yT25NaXNzaW5nQ29udGV4dGAgaXMgdHJ1ZS5cbiAgICpcbiAgICogSWYgc3VwcGxpZWQsIGBkdW1teVZhbHVlYCBzaG91bGQgYmUgYW4gYXJyYXkgb2Ygb2JqZWN0cy5cbiAgICpcbiAgICogYGR1bW15VmFsdWVgIGRvZXMgbm90IGhhdmUgdG8gaGF2ZSBlbGVtZW50cywgYW5kIGl0IG1heSBoYXZlIG9iamVjdHMgd2l0aFxuICAgKiBkaWZmZXJlbnQgcHJvcGVydGllcyB0aGFuIHRoZSBwcm9wZXJ0aWVzIGluIGBwcm9wZXJ0aWVzVG9SZXR1cm5gLCBidXQgaXRcbiAgICogd2lsbCBiZSBlYXNpZXN0IGZvciBkb3duc3RyZWFtIGNvZGUgaWYgdGhlIGBkdW1teVZhbHVlYCBjb25mb3JtcyB0b1xuICAgKiB0aGUgZXhwZWN0ZWQgcmVzcG9uc2Ugc2hhcGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gZHVtbXkgdmFsdWUgYXZhaWxhYmxlXG4gICAqL1xuICByZWFkb25seSBkdW1teVZhbHVlPzogYW55O1xuXG4gIC8qKlxuICAgKiBJZ25vcmUgYW4gZXJyb3IgYW5kIHJldHVybiB0aGUgYGR1bW15VmFsdWVgIGluc3RlYWQgaWYgdGhlIHJlc291cmNlIHdhcyBub3QgZm91bmQuXG4gICAqXG4gICAqIC0gSW4gY2FzZSBvZiBhbiBgZXhhY3RJZGVudGlmaWVyYCBsb29rdXAsIHJldHVybiB0aGUgYGR1bW15VmFsdWVgIGlmIHRoZSByZXNvdXJjZSB3aXRoXG4gICAqICAgdGhhdCBpZGVudGlmaWVyIHdhcyBub3QgZm91bmQuXG4gICAqIC0gSW4gY2FzZSBvZiBhIGBwcm9wZXJ0eU1hdGNoYCBsb29rdXAsIHJldHVybiB0aGUgYGR1bW15VmFsdWVgIGlmIGBleHBlY3RlZE1hdGNoQ291bnRgXG4gICAqICAgaXMgYGF0LWxlYXN0LW9uZSB8IGV4YWN0bHktb25lYCBhbmQgdGhlIG51bWJlciBvZiByZXNvdXJjZXMgZm91bmQgd2FzIDAuXG4gICAqXG4gICAqIGlmIGBpZ25vcmVFcnJvck9uTWlzc2luZ0NvbnRleHRgIGlzIHNldCwgYGR1bW15VmFsdWVgIHNob3VsZCBiZSBzZXQgYW5kIGJlIGFuIGFycmF5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlRXJyb3JPbk1pc3NpbmdDb250ZXh0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBRdWVyeSBpbnB1dCBmb3IgcGx1Z2luc1xuICpcbiAqIFRoaXMgYWx0ZXJuYXRlIGJyYW5jaCBpcyBuZWNlc3NhcnkgYmVjYXVzZSBpdCBuZWVkcyB0byBiZSBhYmxlIHRvIGVzY2FwZSBhbGwgdHlwZSBjaGVja2luZ1xuICogd2UgZG8gb24gb24gdGhlIGNsb3VkIGFzc2VtYmx5IC0tIHdlIGNhbm5vdCBrbm93IHRoZSBwcm9wZXJ0aWVzIHRoYXQgd2lsbCBiZSB1c2VkIGEgcHJpb3JpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBsdWdpbkNvbnRleHRRdWVyeSB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGx1Z2luXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFyYml0cmFyeSBvdGhlciBhcmd1bWVudHMgZm9yIHRoZSBwbHVnaW4uXG4gICAqXG4gICAqIFRoaXMgaW5kZXggc2lnbmF0dXJlIGlzIG5vdCB1c2FibGUgaW4gbm9uLVR5cGVTY3JpcHQvSmF2YVNjcmlwdCBsYW5ndWFnZXMuXG4gICAqXG4gICAqIEBqc2lpIGlnbm9yZVxuICAgKi9cbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0UXVlcnlQcm9wZXJ0aWVzID1cbiAgfCBBbWlDb250ZXh0UXVlcnlcbiAgfCBBdmFpbGFiaWxpdHlab25lc0NvbnRleHRRdWVyeVxuICB8IEhvc3RlZFpvbmVDb250ZXh0UXVlcnlcbiAgfCBTU01QYXJhbWV0ZXJDb250ZXh0UXVlcnlcbiAgfCBWcGNDb250ZXh0UXVlcnlcbiAgfCBFbmRwb2ludFNlcnZpY2VBdmFpbGFiaWxpdHlab25lc0NvbnRleHRRdWVyeVxuICB8IExvYWRCYWxhbmNlckNvbnRleHRRdWVyeVxuICB8IExvYWRCYWxhbmNlckxpc3RlbmVyQ29udGV4dFF1ZXJ5XG4gIHwgU2VjdXJpdHlHcm91cENvbnRleHRRdWVyeVxuICB8IEtleUNvbnRleHRRdWVyeVxuICB8IENjQXBpQ29udGV4dFF1ZXJ5XG4gIHwgUGx1Z2luQ29udGV4dFF1ZXJ5O1xuIl19
|
package/lib/manifest.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export interface LoadManifestOptions {
|
|
|
38
38
|
/**
|
|
39
39
|
* Protocol utility class.
|
|
40
40
|
*/
|
|
41
|
-
export declare class Manifest {
|
|
41
|
+
export declare abstract class Manifest {
|
|
42
42
|
/**
|
|
43
43
|
* Validates and saves the cloud assembly manifest to file.
|
|
44
44
|
*
|
|
@@ -100,19 +100,29 @@ export declare class Manifest {
|
|
|
100
100
|
private static saveManifest;
|
|
101
101
|
private static loadManifest;
|
|
102
102
|
/**
|
|
103
|
-
*
|
|
103
|
+
* Fix the casing of stack tags entries
|
|
104
104
|
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
105
|
+
* At the very beginning of the CDK we used to emit stack tags as an object with
|
|
106
|
+
* `{ Key, Value }` keys; this had the "advantage" that we could stick those
|
|
107
|
+
* tags directly into the `CreateChangeSet` call.
|
|
107
108
|
*
|
|
108
|
-
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
109
|
+
* Then we later on used jsii on the assembly schema and we were forced to type
|
|
110
|
+
* the in-memory objects as `{ key, value }` with lowercase letters. Now the
|
|
111
|
+
* objects have a different on-disk and in-memory format, and we need to convert
|
|
112
|
+
* between them.
|
|
111
113
|
*
|
|
112
|
-
*
|
|
114
|
+
* For backwards compatibility reasons, we used to convert lowercase in-memory
|
|
115
|
+
* to uppercase on-disk variant until very recently. This is now unnecessary,
|
|
116
|
+
* since no officially supported CDK tools read the stack tags from the
|
|
117
|
+
* metadata; the CLI and toolkit library read stack tags from the artifact
|
|
118
|
+
* properties.
|
|
113
119
|
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
120
|
+
* So although we don't emit uppercase stack tag objects anymore, we might still read
|
|
121
|
+
* manifests that have them. Because the manifest we read must pass JSON Schema
|
|
122
|
+
* validation (which expects lowercase tag objects), we have to fix the casing
|
|
123
|
+
* of these objects after reading from disk and before validating.
|
|
124
|
+
*
|
|
125
|
+
* That's what this function does.
|
|
116
126
|
*/
|
|
117
127
|
private static patchStackTagsOnRead;
|
|
118
128
|
/**
|
|
@@ -120,15 +130,4 @@ export declare class Manifest {
|
|
|
120
130
|
* should have dedicated properties preceding this (e.g `assumeRoleArn` and `assumeRoleExternalId`).
|
|
121
131
|
*/
|
|
122
132
|
private static validateAssumeRoleAdditionalOptions;
|
|
123
|
-
/**
|
|
124
|
-
* See explanation on `patchStackTagsOnRead`
|
|
125
|
-
*
|
|
126
|
-
* Translate stack tags metadata if it has the "right" casing.
|
|
127
|
-
*/
|
|
128
|
-
private static patchStackTagsOnWrite;
|
|
129
|
-
/**
|
|
130
|
-
* Recursively replace stack tags in the stack metadata
|
|
131
|
-
*/
|
|
132
|
-
private static replaceStackTags;
|
|
133
|
-
private constructor();
|
|
134
133
|
}
|
package/lib/manifest.js
CHANGED
|
@@ -39,7 +39,7 @@ class Manifest {
|
|
|
39
39
|
* @param filePath - output file path.
|
|
40
40
|
*/
|
|
41
41
|
static saveAssemblyManifest(manifest, filePath) {
|
|
42
|
-
Manifest.saveManifest(manifest, filePath, ASSEMBLY_SCHEMA
|
|
42
|
+
Manifest.saveManifest(manifest, filePath, ASSEMBLY_SCHEMA);
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Load and validates the cloud assembly manifest from file.
|
|
@@ -56,7 +56,7 @@ class Manifest {
|
|
|
56
56
|
* @param filePath - output file path.
|
|
57
57
|
*/
|
|
58
58
|
static saveAssetManifest(manifest, filePath) {
|
|
59
|
-
Manifest.saveManifest(manifest, filePath, ASSETS_SCHEMA
|
|
59
|
+
Manifest.saveManifest(manifest, filePath, ASSETS_SCHEMA);
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
62
|
* Load and validates the asset manifest from file.
|
|
@@ -64,7 +64,7 @@ class Manifest {
|
|
|
64
64
|
* @param filePath - path to the manifest file.
|
|
65
65
|
*/
|
|
66
66
|
static loadAssetManifest(filePath) {
|
|
67
|
-
return
|
|
67
|
+
return Manifest.loadManifest(filePath, ASSETS_SCHEMA);
|
|
68
68
|
}
|
|
69
69
|
/**
|
|
70
70
|
* Validates and saves the integ manifest to file.
|
|
@@ -186,25 +186,53 @@ class Manifest {
|
|
|
186
186
|
return obj;
|
|
187
187
|
}
|
|
188
188
|
/**
|
|
189
|
-
*
|
|
189
|
+
* Fix the casing of stack tags entries
|
|
190
190
|
*
|
|
191
|
-
*
|
|
192
|
-
*
|
|
191
|
+
* At the very beginning of the CDK we used to emit stack tags as an object with
|
|
192
|
+
* `{ Key, Value }` keys; this had the "advantage" that we could stick those
|
|
193
|
+
* tags directly into the `CreateChangeSet` call.
|
|
193
194
|
*
|
|
194
|
-
*
|
|
195
|
-
*
|
|
196
|
-
*
|
|
195
|
+
* Then we later on used jsii on the assembly schema and we were forced to type
|
|
196
|
+
* the in-memory objects as `{ key, value }` with lowercase letters. Now the
|
|
197
|
+
* objects have a different on-disk and in-memory format, and we need to convert
|
|
198
|
+
* between them.
|
|
197
199
|
*
|
|
198
|
-
*
|
|
200
|
+
* For backwards compatibility reasons, we used to convert lowercase in-memory
|
|
201
|
+
* to uppercase on-disk variant until very recently. This is now unnecessary,
|
|
202
|
+
* since no officially supported CDK tools read the stack tags from the
|
|
203
|
+
* metadata; the CLI and toolkit library read stack tags from the artifact
|
|
204
|
+
* properties.
|
|
199
205
|
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
206
|
+
* So although we don't emit uppercase stack tag objects anymore, we might still read
|
|
207
|
+
* manifests that have them. Because the manifest we read must pass JSON Schema
|
|
208
|
+
* validation (which expects lowercase tag objects), we have to fix the casing
|
|
209
|
+
* of these objects after reading from disk and before validating.
|
|
210
|
+
*
|
|
211
|
+
* That's what this function does.
|
|
202
212
|
*/
|
|
203
213
|
static patchStackTagsOnRead(manifest) {
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
214
|
+
const artifacts = Object.values(manifest.artifacts ?? {})
|
|
215
|
+
.filter(artifact => artifact.type === assembly.ArtifactType.AWS_CLOUDFORMATION_STACK);
|
|
216
|
+
for (const artifact of artifacts) {
|
|
217
|
+
const tagMetadata = Object.values(artifact.metadata ?? {})
|
|
218
|
+
.flatMap(x => x)
|
|
219
|
+
.filter(entry => entry.type === assembly.ArtifactMetadataEntryType.STACK_TAGS);
|
|
220
|
+
for (const entry of tagMetadata) {
|
|
221
|
+
const tags = entry.data;
|
|
222
|
+
for (const tag of tags ?? []) {
|
|
223
|
+
const t = tag;
|
|
224
|
+
if ('Key' in t) {
|
|
225
|
+
t.key = t.Key;
|
|
226
|
+
delete t.Key;
|
|
227
|
+
}
|
|
228
|
+
if ('Value' in t) {
|
|
229
|
+
t.value = t.Value;
|
|
230
|
+
delete t.Value;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return manifest;
|
|
208
236
|
}
|
|
209
237
|
/**
|
|
210
238
|
* Validates that `assumeRoleAdditionalOptions` doesn't contain nor `ExternalId` neither `RoleArn`, as they
|
|
@@ -226,70 +254,11 @@ class Manifest {
|
|
|
226
254
|
throw new Error(`ExternalId is not allowed inside '${key}'`);
|
|
227
255
|
}
|
|
228
256
|
}
|
|
229
|
-
/**
|
|
230
|
-
* See explanation on `patchStackTagsOnRead`
|
|
231
|
-
*
|
|
232
|
-
* Translate stack tags metadata if it has the "right" casing.
|
|
233
|
-
*/
|
|
234
|
-
static patchStackTagsOnWrite(manifest) {
|
|
235
|
-
return Manifest.replaceStackTags(manifest, (tags) => tags.map((memTag) =>
|
|
236
|
-
// Might already be uppercased (because stack synthesis generates it in final form yet)
|
|
237
|
-
('Key' in memTag ? memTag : { Key: memTag.key, Value: memTag.value })));
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* Recursively replace stack tags in the stack metadata
|
|
241
|
-
*/
|
|
242
|
-
static replaceStackTags(manifest, fn) {
|
|
243
|
-
// Need to add in the `noUndefined`s because otherwise jest snapshot tests are going to freak out
|
|
244
|
-
// about the keys with values that are `undefined` (even though they would never be JSON.stringified)
|
|
245
|
-
return noUndefined({
|
|
246
|
-
...manifest,
|
|
247
|
-
artifacts: mapValues(manifest.artifacts, (artifact) => {
|
|
248
|
-
if (artifact.type !== assembly.ArtifactType.AWS_CLOUDFORMATION_STACK) {
|
|
249
|
-
return artifact;
|
|
250
|
-
}
|
|
251
|
-
return noUndefined({
|
|
252
|
-
...artifact,
|
|
253
|
-
metadata: mapValues(artifact.metadata, (metadataEntries) => metadataEntries.map((metadataEntry) => {
|
|
254
|
-
if (metadataEntry.type !== assembly.ArtifactMetadataEntryType.STACK_TAGS ||
|
|
255
|
-
!metadataEntry.data) {
|
|
256
|
-
return metadataEntry;
|
|
257
|
-
}
|
|
258
|
-
return {
|
|
259
|
-
...metadataEntry,
|
|
260
|
-
data: fn(metadataEntry.data),
|
|
261
|
-
};
|
|
262
|
-
})),
|
|
263
|
-
});
|
|
264
|
-
}),
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
constructor() {
|
|
268
|
-
}
|
|
269
257
|
}
|
|
270
258
|
exports.Manifest = Manifest;
|
|
271
259
|
_a = JSII_RTTI_SYMBOL_1;
|
|
272
|
-
Manifest[_a] = { fqn: "@aws-cdk/cloud-assembly-schema.Manifest", version: "
|
|
273
|
-
function mapValues(xs, fn) {
|
|
274
|
-
if (!xs) {
|
|
275
|
-
return undefined;
|
|
276
|
-
}
|
|
277
|
-
const ret = {};
|
|
278
|
-
for (const [k, v] of Object.entries(xs)) {
|
|
279
|
-
ret[k] = fn(v);
|
|
280
|
-
}
|
|
281
|
-
return ret;
|
|
282
|
-
}
|
|
283
|
-
function noUndefined(xs) {
|
|
284
|
-
const ret = {};
|
|
285
|
-
for (const [k, v] of Object.entries(xs)) {
|
|
286
|
-
if (v !== undefined) {
|
|
287
|
-
ret[k] = v;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
return ret;
|
|
291
|
-
}
|
|
260
|
+
Manifest[_a] = { fqn: "@aws-cdk/cloud-assembly-schema.Manifest", version: "50.1.0" };
|
|
292
261
|
function stripEnumErrors(errors) {
|
|
293
262
|
return errors.filter((e) => typeof e.schema === 'string' || !('enum' in e.schema));
|
|
294
263
|
}
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtYW5pZmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qix5Q0FBeUM7QUFDekMsaUNBQWlDO0FBRWpDLDZDQUE2QztBQUc3Qyx1REFBdUQ7QUFDdkQsMERBQTBEO0FBRTFELGtFQUFrRTtBQUNsRSxpRUFBaUU7QUFDakUsNkJBQTZCO0FBQ2hCLFFBQUEsZ0JBQWdCLEdBQVcsd0NBQXdDLENBQUM7QUFFakY7Ozs7OztHQU1HO0FBQ0gsbURBQW9EO0FBRXBELDhEQUErRDtBQUUvRCx3RUFBeUU7QUFFekUsNERBQTZEO0FBRTdEOztHQUVHO0FBQ0gseURBQTBEO0FBc0MxRDs7R0FFRztBQUNILE1BQWEsUUFBUTtJQUNuQjs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxRQUFtQyxFQUFFLFFBQWdCO1FBQ3RGLFFBQVEsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsb0JBQW9CLENBQ2hDLFFBQWdCLEVBQ2hCLE9BQTZCO1FBRTdCLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBOEIsRUFBRSxRQUFnQjtRQUM5RSxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGlCQUFpQixDQUFDLFFBQWdCO1FBQzlDLE9BQU8sSUFBSSxD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QUMxQyxNQUFNLEdBQUcsR0FBUSxFQUFFLENBQUM7SUFDcEIsS0FBSyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsQ0FBQztJQUNILENBQUM7SUFDRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxNQUFvQztJQUMzRCxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztBQUNyRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMganNvbnNjaGVtYSBmcm9tICdqc29uc2NoZW1hJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHR5cGUgKiBhcyBhc3NldHMgZnJvbSAnLi9hc3NldHMnO1xuaW1wb3J0ICogYXMgYXNzZW1ibHkgZnJvbSAnLi9jbG91ZC1hc3NlbWJseSc7XG5pbXBvcnQgdHlwZSAqIGFzIGludGVnIGZyb20gJy4vaW50ZWctdGVzdHMnO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzICovXG5cbi8vIHRoaXMgcHJlZml4IGlzIHVzZWQgYnkgdGhlIENMSSB0byBpZGVudGlmeSB0aGlzIHNwZWNpZmljIGVycm9yLlxuLy8gaW4gd2hpY2ggY2FzZSB3ZSB3YW50IHRvIGluc3RydWN0IHRoZSB1c2VyIHRvIHVwZ3JhZGUgaGlzIENMSS5cbi8vIHNlZSBleGVjLnRzI2NyZWF0ZUFzc2VtYmx5XG5leHBvcnQgY29uc3QgVkVSU0lPTl9NSVNNQVRDSDogc3RyaW5nID0gJ0Nsb3VkIGFzc2VtYmx5IHNjaGVtYSB2ZXJzaW9uIG1pc21hdGNoJztcblxuLyoqXG4gKiBDTEkgdmVyc2lvbiBpcyBjcmVhdGVkIGF0IGJ1aWxkIGFuZCByZWxlYXNlIHRpbWVcbiAqXG4gKiBJdCBuZWVkcyB0byBiZSAuZ2l0aWdub3JlJ2QsIG90aGVyd2lzZSB0aGUgcHJvamVuICdubyB1bmNvbW1pdHRlZFxuICogY2hhbmdlcycgc2VsZi1jaGVjayB3aWxsIGZhaWwsIHdoaWNoIG1lYW5zIGl0IG5lZWRzIHRvIGJlIGdlbmVyYXRlZFxuICogYXQgYnVpbGQgdGltZSBpZiBpdCBkb2Vzbid0IGFscmVhZHkgZXhpc3QuXG4gKi9cbmltcG9ydCBDTElfVkVSU0lPTiA9IHJlcXVpcmUoJy4uL2NsaS12ZXJzaW9uLmpzb24nKTtcblxuaW1wb3J0IEFTU0VUU19TQ0hFTUEgPSByZXF1aXJlKCcuLi9zY2hlbWEvYXNzZXRzLnNjaGVtYS5qc29uJyk7XG5cbmltcG9ydCBBU1NFTUJMWV9TQ0hFTUEgPSByZXF1aXJlKCcuLi9zY2hlbWEvY2xvdWQtYXNzZW1ibHkuc2NoZW1hLmpzb24nKTtcblxuaW1wb3J0IElOVEVHX1NDSEVNQSA9IHJlcXVpcmUoJy4uL3NjaGVtYS9pbnRlZy5zY2hlbWEuanNvbicpO1xuXG4vKipcbiAqIFZlcnNpb24gaXMgc2hhcmVkIGZvciBib3RoIG1hbmlmZXN0c1xuICovXG5pbXBvcnQgU0NIRU1BX1ZFUlNJT04gPSByZXF1aXJlKCcuLi9zY2hlbWEvdmVyc2lvbi5qc29uJyk7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIGxvYWRNYW5pZmVzdCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2FkTWFuaWZlc3RPcHRpb25zIHtcbiAgLyoqXG4gICAqIFNraXAgdGhlIHZlcnNpb24gY2hlY2tcbiAgICpcbiAgICogVGhpcyBtZWFucyB5b3UgbWF5IHJlYWQgYSBuZXdlciBjbG91ZCBhc3NlbWJseSB0aGFuIHRoZSBDWCBBUEkgaXMgZGVzaWduZWRcbiAgICogdG8gc3VwcG9ydCwgYW5kIHlvdXIgYXBwbGljYXRpb24gbWF5IG5vdCBiZSBhd2FyZSBvZiBhbGwgZmVhdHVyZXMgdGhhdCBpbiB1c2VcbiAgICogaW4gdGhlIENsb3VkIEFzc2VtYmx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcFZlcnNpb25DaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNraXAgZW51bSBjaGVja3NcbiAgICpcbiAgICogVGhpcyBtZWFucyB5b3UgbWF5IHJlYWQgZW51bSB2YWx1ZXMgeW91IGRvbid0IGtub3cgYWJvdXQgeWV0LiBNYWtlIHN1cmUgdG8gYWx3YXlzXG4gICAqIGNoZWNrIHRoZSB2YWx1ZXMgb2YgZW51bXMgeW91IGVuY291bnRlciBpbiB0aGUgbWFuaWZlc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBza2lwRW51bUNoZWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVG9wb2xvZ2ljYWxseSBzb3J0IGFsbCBhcnRpZmFjdHNcbiAgICpcbiAgICogVGhpcyBwYXJhbWV0ZXIgaXMgb25seSByZXNwZWN0ZWQgYnkgdGhlIGNvbnN0cnVjdG9yIG9mIGBDbG91ZEFzc2VtYmx5YC4gVGhlXG4gICAqIHByb3BlcnR5IGxpdmVzIGhlcmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJlYXNvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHRvcG9Tb3J0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBQcm90b2NvbCB1dGlsaXR5IGNsYXNzLlxuICovXG5leHBvcnQgY2xhc3MgTWFuaWZlc3Qge1xuICAvKipcbiAgICogVmFsaWRhdGVzIGFuZCBzYXZlcyB0aGUgY2xvdWQgYXNzZW1ibHkgbWFuaWZlc3QgdG8gZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIG1hbmlmZXN0IC0gbWFuaWZlc3QuXG4gICAqIEBwYXJhbSBmaWxlUGF0aCAtIG91dHB1dCBmaWxlIHBhdGguXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNhdmVBc3NlbWJseU1hbmlmZXN0KG1hbmlmZXN0OiBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0LCBmaWxlUGF0aDogc3RyaW5nKSB7XG4gICAgTWFuaWZlc3Quc2F2ZU1hbmlmZXN0KG1hbmlmZXN0LCBmaWxlUGF0aCwgQVNTRU1CTFlfU0NIRU1BLCBNYW5pZmVzdC5wYXRjaFN0YWNrVGFnc09uV3JpdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgYW5kIHZhbGlkYXRlcyB0aGUgY2xvdWQgYXNzZW1ibHkgbWFuaWZlc3QgZnJvbSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gZmlsZVBhdGggLSBwYXRoIHRvIHRoZSBtYW5pZmVzdCBmaWxlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsb2FkQXNzZW1ibHlNYW5pZmVzdChcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBMb2FkTWFuaWZlc3RPcHRpb25zLFxuICApOiBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0IHtcbiAgICByZXR1cm4gTWFuaWZlc3QubG9hZE1hbmlmZXN0KGZpbGVQYXRoLCBBU1NFTUJMWV9TQ0hFTUEsIE1hbmlmZXN0LnBhdGNoU3RhY2tUYWdzT25SZWFkLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW5kIHNhdmVzIHRoZSBhc3NldCBtYW5pZmVzdCB0byBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gbWFuaWZlc3QgLSBtYW5pZmVzdC5cbiAgICogQHBhcmFtIGZpbGVQYXRoIC0gb3V0cHV0IGZpbGUgcGF0aC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2F2ZUFzc2V0TWFuaWZlc3QobWFuaWZlc3Q6IGFzc2V0cy5Bc3NldE1hbmlmZXN0LCBmaWxlUGF0aDogc3RyaW5nKSB7XG4gICAgTWFuaWZlc3Quc2F2ZU1hbmlmZXN0KG1hbmlmZXN0LCBmaWxlUGF0aCwgQVNTRVRTX1NDSEVNQSwgTWFuaWZlc3QucGF0Y2hTdGFja1RhZ3NPblJlYWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgYW5kIHZhbGlkYXRlcyB0aGUgYXNzZXQgbWFuaWZlc3QgZnJvbSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gZmlsZVBhdGggLSBwYXRoIHRvIHRoZSBtYW5pZmVzdCBmaWxlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsb2FkQXNzZXRNYW5pZmVzdChmaWxlUGF0aDogc3RyaW5nKTogYXNzZXRzLkFzc2V0TWFuaWZlc3Qge1xuICAgIHJldHVybiB0aGlzLmxvYWRNYW5pZmVzdChmaWxlUGF0aCwgQVNTRVRTX1NDSEVNQSk7XG4gIH1cblxuICAvKipcbiAgICogVmFsaWRhdGVzIGFuZCBzYXZlcyB0aGUgaW50ZWcgbWFuaWZlc3QgdG8gZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIG1hbmlmZXN0IC0gbWFuaWZlc3QuXG4gICAqIEBwYXJhbSBmaWxlUGF0aCAtIG91dHB1dCBmaWxlIHBhdGguXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHNhdmVJbnRlZ01hbmlmZXN0KG1hbmlmZXN0OiBpbnRlZy5JbnRlZ01hbmlmZXN0LCBmaWxlUGF0aDogc3RyaW5nKSB7XG4gICAgTWFuaWZlc3Quc2F2ZU1hbmlmZXN0KG1hbmlmZXN0LCBmaWxlUGF0aCwgSU5URUdfU0NIRU1BKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGFuZCB2YWxpZGF0ZXMgdGhlIGludGVnIG1hbmlmZXN0IGZyb20gZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGZpbGVQYXRoIC0gcGF0aCB0byB0aGUgbWFuaWZlc3QgZmlsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbG9hZEludGVnTWFuaWZlc3QoZmlsZVBhdGg6IHN0cmluZyk6IGludGVnLkludGVnTWFuaWZlc3Qge1xuICAgIGNvbnN0IG1hbmlmZXN0ID0gdGhpcy5sb2FkTWFuaWZlc3QoZmlsZVBhdGgsIElOVEVHX1NDSEVNQSk7XG5cbiAgICAvLyBBZGRpbmcgdHlwaW5nIHRvIGB2YWxpZGF0ZSgpYCBsZWQgdG8gYGxvYWRNYW5pZmVzdCgpYCB0byBwcm9wZXJseSBpbmZlclxuICAgIC8vIGl0cyByZXR1cm4gdHlwZSwgd2hpY2ggaW5kaWNhdGVkIHRoYXQgdGhlIHJldHVybiB0eXBlIG9mIHRoaXNcbiAgICAvLyBmdW5jdGlvbiBtYXkgYmUgYSBsaWUuIEkgY291bGQgY2hhbmdlIHRoZSBzY2hlbWEgdG8gbWFrZSBgdGVzdENhc2VzYFxuICAgIC8vIG9wdGlvbmFsLCBidXQgdGhhdCB3aWxsIGJ1bXAgdGhlIG1ham9yIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlIGFuZCBJXG4gICAgLy8gZG9uJ3Qgd2FudCB0byBkbyB0aGF0LiBTbyBpbnN0ZWFkLCBqdXN0IG1ha2Ugc3VyZSBgdGVzdENhc2VzYCBpcyBhbHdheXMgdGhlcmUuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm1hbmlmZXN0LFxuICAgICAgdGVzdENhc2VzOiAobWFuaWZlc3QgYXMgYW55KS50ZXN0Q2FzZXMgPz8gW10sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCB0aGUgY3VycmVudCBzY2hlbWEgdmVyc2lvbiBudW1iZXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7U0NIRU1BX1ZFUlNJT04ucmV2aXNpb259LjAuMGA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBDTEkgdmVyc2lvbiB0aGF0IHN1cHBvcnRzIHRoaXMgQ2xvdWQgQXNzZW1ibHkgU2NoZW1hIHZlcnNpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY2xpVmVyc2lvbigpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHZlcnNpb24gPSBDTElfVkVSU0lPTi52ZXJzaW9uO1xuICAgIHJldHVybiB2ZXJzaW9uID8gdmVyc2lvbiA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXByZWNhdGVkXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgc2F2ZUFzc2VtYmx5TWFuaWZlc3QoKWBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2F2ZShtYW5pZmVzdDogYXNzZW1ibHkuQXNzZW1ibHlNYW5pZmVzdCwgZmlsZVBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLnNhdmVBc3NlbWJseU1hbmlmZXN0KG1hbmlmZXN0LCBmaWxlUGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogRGVwcmVjYXRlZFxuICAgKiBAZGVwcmVjYXRlZCB1c2UgYGxvYWRBc3NlbWJseU1hbmlmZXN0KClgXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxvYWQoZmlsZVBhdGg6IHN0cmluZyk6IGFzc2VtYmx5LkFzc2VtYmx5TWFuaWZlc3Qge1xuICAgIHJldHVybiB0aGlzLmxvYWRBc3NlbWJseU1hbmlmZXN0KGZpbGVQYXRoKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHZhbGlkYXRlKFxuICAgIG1hbmlmZXN0OiBhbnksXG4gICAgc2NoZW1hOiBqc29uc2NoZW1hLlNjaGVtYSxcbiAgICBvcHRpb25zPzogTG9hZE1hbmlmZXN0T3B0aW9ucyxcbiAgKTogYXNzZXJ0cyBtYW5pZmVzdCBpcyBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0IHtcbiAgICBmdW5jdGlvbiBwYXJzZVZlcnNpb24odmVyc2lvbjogc3RyaW5nKSB7XG4gICAgICBjb25zdCB2ZXIgPSBzZW12ZXIudmFsaWQodmVyc2lvbik7XG4gICAgICBpZiAoIXZlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VtdmVyIHN0cmluZzogXCIke3ZlcnNpb259XCJgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2ZXI7XG4gICAgfVxuXG4gICAgY29uc3QgbWF4U3VwcG9ydGVkID0gc2VtdmVyLm1ham9yKHBhcnNlVmVyc2lvbihNYW5pZmVzdC52ZXJzaW9uKCkpKTtcbiAgICBjb25zdCBhY3R1YWwgPSBwYXJzZVZlcnNpb24obWFuaWZlc3QudmVyc2lvbik7XG5cbiAgICAvLyBmaXJzdCB2YWxpZGF0ZSB0aGUgdmVyc2lvbiBzaG91bGQgYmUgYWNjZXB0ZWQuIGFsbCB2ZXJzaW9ucyB3aXRoaW4gdGhlIHNhbWUgbWlub3IgdmVyc2lvbiBhcmUgZmluZVxuICAgIGlmIChtYXhTdXBwb3J0ZWQgPCBzZW12ZXIubWFqb3IoYWN0dWFsKSAmJiAhb3B0aW9ucz8uc2tpcFZlcnNpb25DaGVjaykge1xuICAgICAgLy8gSWYgd2UgaGF2ZSBhIG1vcmUgc3BlY2lmaWMgZXJyb3IgdG8gdGhyb3cgdGhhbiB0aGUgZ2VuZXJpYyBvbmUgYmVsb3csIG1ha2Ugc3VyZSB0byBhZGQgdGhhdCBpbmZvLlxuICAgICAgY29uc3QgY2xpVmVyc2lvbiA9IChtYW5pZmVzdCBhcyBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0KS5taW5pbXVtQ2xpVmVyc2lvbjtcbiAgICAgIGxldCBjbGlXYXJuaW5nID0gJyc7XG4gICAgICBpZiAoY2xpVmVyc2lvbikge1xuICAgICAgICBjbGlXYXJuaW5nID0gYC4gWW91IG5lZWQgYXQgbGVhc3QgQ0xJIHZlcnNpb24gJHtjbGlWZXJzaW9ufSB0byByZWFkIHRoaXMgbWFuaWZlc3QuYDtcbiAgICAgIH1cblxuICAgICAgLy8gd2UgdXNlIGEgd2VsbCBrbm93biBlcnJvciBwcmVmaXggc28gdGhhdCB0aGUgQ0xJIGNhbiBpZGVudGlmeSB0aGlzIHNwZWNpZmljIGVycm9yXG4gICAgICAvLyBhbmQgcHJpbnQgc29tZSBtb3JlIGNvbnRleHQgdG8gdGhlIHVzZXIuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGAke1ZFUlNJT05fTUlTTUFUQ0h9OiBNYXhpbXVtIHNjaGVtYSB2ZXJzaW9uIHN1cHBvcnRlZCBpcyAke21heFN1cHBvcnRlZH0ueC54LCBidXQgZm91bmQgJHthY3R1YWx9JHtjbGlXYXJuaW5nfWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIG5vdyB2YWxpZGF0ZSB0aGUgZm9ybWF0IGlzIGdvb2QuXG4gICAgY29uc3QgdmFsaWRhdG9yID0gbmV3IGpzb25zY2hlbWEuVmFsaWRhdG9yKCk7XG4gICAgY29uc3QgcmVzdWx0ID0gdmFsaWRhdG9yLnZhbGlkYXRlKG1hbmlmZXN0LCBzY2hlbWEsIHtcbiAgICAgIC8vIGRvZXMgZXhpc3QgYnV0IGlzIG5vdCBpbiB0aGUgVHlwZVNjcmlwdCBkZWZpbml0aW9uc1xuICAgICAgbmVzdGVkRXJyb3JzOiB0cnVlLFxuXG4gICAgICBhbGxvd1Vua25vd25BdHRyaWJ1dGVzOiBmYWxzZSxcbiAgICAgIHByZVZhbGlkYXRlUHJvcGVydHk6IE1hbmlmZXN0LnZhbGlkYXRlQXNzdW1lUm9sZUFkZGl0aW9uYWxPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgbGV0IGVycm9ycyA9IHJlc3VsdC5lcnJvcnM7XG4gICAgaWYgKG9wdGlvbnM/LnNraXBFbnVtQ2hlY2spIHtcbiAgICAgIC8vIEVudW0gdmFsaWRhdGlvbnMgYXJlbid0IHVzZWZ1bCB3aGVuXG4gICAgICBlcnJvcnMgPSBzdHJpcEVudW1FcnJvcnMoZXJyb3JzKTtcbiAgICB9XG5cbiAgICBpZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhc3NlbWJseSBtYW5pZmVzdDpcXG4ke2Vycm9ycy5tYXAoKGUpID0+IGUuc3RhY2spLmpvaW4oJ1xcbicpfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHNhdmVNYW5pZmVzdChcbiAgICBtYW5pZmVzdDogYW55LFxuICAgIGZpbGVQYXRoOiBzdHJpbmcsXG4gICAgc2NoZW1hOiBqc29uc2NoZW1hLlNjaGVtYSxcbiAgICBwcmVwcm9jZXNzPzogKG9iajogYW55KSA9PiBhbnksXG4gICkge1xuICAgIGxldCB3aXRoVmVyc2lvbiA9IHtcbiAgICAgIC4uLm1hbmlmZXN0LFxuICAgICAgdmVyc2lvbjogTWFuaWZlc3QudmVyc2lvbigpLFxuICAgICAgbWluaW11bUNsaVZlcnNpb246IE1hbmlmZXN0LmNsaVZlcnNpb24oKSxcbiAgICB9IHNhdGlzZmllcyBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0O1xuICAgIE1hbmlmZXN0LnZhbGlkYXRlKHdpdGhWZXJzaW9uLCBzY2hlbWEpO1xuICAgIGlmIChwcmVwcm9jZXNzKSB7XG4gICAgICB3aXRoVmVyc2lvbiA9IHByZXByb2Nlc3Mod2l0aFZlcnNpb24pO1xuICAgIH1cbiAgICBmcy53cml0ZUZpbGVTeW5jKGZpbGVQYXRoLCBKU09OLnN0cmluZ2lmeSh3aXRoVmVyc2lvbiwgdW5kZWZpbmVkLCAyKSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBsb2FkTWFuaWZlc3QoXG4gICAgZmlsZVBhdGg6IHN0cmluZyxcbiAgICBzY2hlbWE6IGpzb25zY2hlbWEuU2NoZW1hLFxuICAgIHByZXByb2Nlc3M/OiAob2JqOiBhbnkpID0+IGFueSxcbiAgICBvcHRpb25zPzogTG9hZE1hbmlmZXN0T3B0aW9ucyxcbiAgKSB7XG4gICAgY29uc3QgY29udGVudHMgPSBmcy5yZWFkRmlsZVN5bmMoZmlsZVBhdGgsIHsgZW5jb2Rpbmc6ICd1dGYtOCcgfSk7XG4gICAgbGV0IG9iajtcbiAgICB0cnkge1xuICAgICAgb2JqID0gSlNPTi5wYXJzZShjb250ZW50cyk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7ZS5tZXNzYWdlfSwgd2hpbGUgcGFyc2luZyAke0pTT04uc3RyaW5naWZ5KGNvbnRlbnRzKX1gKTtcbiAgICB9XG4gICAgaWYgKHByZXByb2Nlc3MpIHtcbiAgICAgIG9iaiA9IHByZXByb2Nlc3Mob2JqKTtcbiAgICB9XG4gICAgTWFuaWZlc3QudmFsaWRhdGUob2JqLCBzY2hlbWEsIG9wdGlvbnMpO1xuICAgIHJldHVybiBvYmo7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyByZXF1aXJlcyBzb21lIGV4cGxhaW5pbmcuLi5cbiAgICpcbiAgICogV2UgcHJldmlvdXNseSB1c2VkIGB7IEtleSwgVmFsdWUgfWAgZm9yIHRoZSBvYmplY3QgdGhhdCByZXByZXNlbnRzIGEgc3RhY2sgdGFnLiAoTm90aWNlIHRoZSBjYXNpbmcpXG4gICAqIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9ibG9iL3YxLjI3LjAvcGFja2FnZXMvYXdzLWNkay9saWIvYXBpL2N4YXBwL3N0YWNrcy50cyNMNDI3LlxuICAgKlxuICAgKiBXaGVuIHRoYXQgb2JqZWN0IG1vdmVkIHRvIHRoaXMgcGFja2FnZSwgaXQgaGFkIHRvIGJlIEpTSUkgY29tcGxpYW50LCB3aGljaCBtZWFudCB0aGUgcHJvcGVydHlcbiAgICogbmFtZXMgbXVzdCBiZSBgY2FtZWxDYXNlZGAsIGFuZCBub3QgYFBhc2NhbENhc2VkYC4gVGhpcyBtZWFudCBpdCBubyBsb25nZXIgbWF0Y2hlcyB0aGUgc3RydWN0dXJlIGluIHRoZSBgbWFuaWZlc3QuanNvbmAgZmlsZS5cbiAgICogSW4gb3JkZXIgdG8gc3VwcG9ydCBjdXJyZW50IG1hbmlmZXN0IGZpbGVzLCB3ZSBoYXZlIHRvIHRyYW5zbGF0ZSB0aGUgYFBhc2NhbENhc2VkYCByZXByZXNlbnRhdGlvbiB0byB0aGUgbmV3IGBjYW1lbENhc2VkYCBvbmUuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgc2VyaWFsaXphdGlvbiBpdHNlbGYgc3RpbGwgd3JpdGVzIGBQYXNjYWxDYXNlZGAgYmVjYXVzZSBpdCByZWxhdGVzIHRvIGhvdyBDbG91ZEZvcm1hdGlvbiBleHBlY3RzIGl0LlxuICAgKlxuICAgKiBJZGVhbGx5LCB3ZSB3b3VsZCBzdGFydCB3cml0aW5nIHRoZSBgY2FtZWxDYXNlZGAgYW5kIHRyYW5zbGF0ZSB0byBob3cgQ2xvdWRGb3JtYXRpb24gZXhwZWN0cyBpdCB3aGVuIG5lZWRlZC4gQnV0IHRoaXMgcmVxdWlyZXMgbmFzdHlcbiAgICogYmFja3dhcmRzLWNvbXBhdGliaWxpdHkgY29kZSBhbmQgaXQganVzdCBkb2Vzbid0IHNlZW0gdG8gYmUgd29ydGggdGhlIGVmZm9ydC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHBhdGNoU3RhY2tUYWdzT25SZWFkKHRoaXM6IHZvaWQsIG1hbmlmZXN0OiBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0KSB7XG4gICAgcmV0dXJuIE1hbmlmZXN0LnJlcGxhY2VTdGFja1RhZ3MobWFuaWZlc3QsICh0YWdzKSA9PlxuICAgICAgdGFncy5tYXAoKGRpc2tUYWc6IGFueSkgPT4gKHtcbiAgICAgICAga2V5OiBkaXNrVGFnLktleSxcbiAgICAgICAgdmFsdWU6IGRpc2tUYWcuVmFsdWUsXG4gICAgICB9KSksXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhhdCBgYXNzdW1lUm9sZUFkZGl0aW9uYWxPcHRpb25zYCBkb2Vzbid0IGNvbnRhaW4gbm9yIGBFeHRlcm5hbElkYCBuZWl0aGVyIGBSb2xlQXJuYCwgYXMgdGhleVxuICAgKiBzaG91bGQgaGF2ZSBkZWRpY2F0ZWQgcHJvcGVydGllcyBwcmVjZWRpbmcgdGhpcyAoZS5nIGBhc3N1bWVSb2xlQXJuYCBhbmQgYGFzc3VtZVJvbGVFeHRlcm5hbElkYCkuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyB2YWxpZGF0ZUFzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucyhcbiAgICB0aGlzOiB2b2lkLFxuICAgIGluc3RhbmNlOiBhbnksXG4gICAga2V5OiBzdHJpbmcsXG4gICAgX3NjaGVtYToganNvbnNjaGVtYS5TY2hlbWEsXG4gICAgX29wdGlvbnM6IGpzb25zY2hlbWEuT3B0aW9ucyxcbiAgICBfY3R4OiBqc29uc2NoZW1hLlNjaGVtYUNvbnRleHQsXG4gICkge1xuICAgIGlmIChrZXkgIT09ICdhc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnMnKSB7XG4gICAgICAvLyBub3RlIHRoYXQgdGhpcyBtZWFucyB0aGF0IGlmIHdlIGhhcHBlbiB0byBoYXZlIGEgcHJvcGVydHkgbmFtZWQgbGlrZSB0aGlzLCBidXQgdGhhdFxuICAgICAgLy8gZG9lcyB3YW50IHRvIGFsbG93ICdSb2xlQXJuJyBvciAnRXh0ZXJuYWxJZCcsIHRoaXMgY29kZSB3aWxsIGhhdmUgdG8gY2hhbmdlIHRvIGNvbnNpZGVyIHRoZSBmdWxsIHNjaGVtYSBwYXRoLlxuICAgICAgLy8gSSBkZWNpZGVkIHRvIG1ha2UgdGhpcyBsZXNzIGdyYW51bGFyIGZvciBub3cgb24gcHVycG9zZSBiZWNhdXNlIGl0IGZpdHMgb3VyIG5lZWRzIGFuZCBhdm9pZHMgaGF2aW5nIG1lc3N5XG4gICAgICAvLyB2YWxpZGF0aW9uIGxvZ2ljIGR1ZSB0byB2YXJpb3VzIHNjaGVtYSBwYXRocy5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhc3N1bWVSb2xlT3B0aW9ucyA9IGluc3RhbmNlW2tleV07XG4gICAgaWYgKGFzc3VtZVJvbGVPcHRpb25zPy5Sb2xlQXJuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFJvbGVBcm4gaXMgbm90IGFsbG93ZWQgaW5zaWRlICcke2tleX0nYCk7XG4gICAgfVxuICAgIGlmIChhc3N1bWVSb2xlT3B0aW9ucz8uRXh0ZXJuYWxJZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHRlcm5hbElkIGlzIG5vdCBhbGxvd2VkIGluc2lkZSAnJHtrZXl9J2ApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZWUgZXhwbGFuYXRpb24gb24gYHBhdGNoU3RhY2tUYWdzT25SZWFkYFxuICAgKlxuICAgKiBUcmFuc2xhdGUgc3RhY2sgdGFncyBtZXRhZGF0YSBpZiBpdCBoYXMgdGhlIFwicmlnaHRcIiBjYXNpbmcuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBwYXRjaFN0YWNrVGFnc09uV3JpdGUodGhpczogdm9pZCwgbWFuaWZlc3Q6IGFzc2VtYmx5LkFzc2VtYmx5TWFuaWZlc3QpIHtcbiAgICByZXR1cm4gTWFuaWZlc3QucmVwbGFjZVN0YWNrVGFncyhtYW5pZmVzdCwgKHRhZ3MpID0+XG4gICAgICB0YWdzLm1hcChcbiAgICAgICAgKG1lbVRhZykgPT5cbiAgICAgICAgICAvLyBNaWdodCBhbHJlYWR5IGJlIHVwcGVyY2FzZWQgKGJlY2F1c2Ugc3RhY2sgc3ludGhlc2lzIGdlbmVyYXRlcyBpdCBpbiBmaW5hbCBmb3JtIHlldClcbiAgICAgICAgICAoJ0tleScgaW4gbWVtVGFnID8gbWVtVGFnIDogeyBLZXk6IG1lbVRhZy5rZXksIFZhbHVlOiBtZW1UYWcudmFsdWUgfSkgYXMgYW55LFxuICAgICAgKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY3Vyc2l2ZWx5IHJlcGxhY2Ugc3RhY2sgdGFncyBpbiB0aGUgc3RhY2sgbWV0YWRhdGFcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHJlcGxhY2VTdGFja1RhZ3MoXG4gICAgbWFuaWZlc3Q6IGFzc2VtYmx5LkFzc2VtYmx5TWFuaWZlc3QsXG4gICAgZm46IEVuZG9mdW5jdG9yPGFzc2VtYmx5LlN0YWNrVGFnc01ldGFkYXRhRW50cnk+LFxuICApOiBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0IHtcbiAgICAvLyBOZWVkIHRvIGFkZCBpbiB0aGUgYG5vVW5kZWZpbmVkYHMgYmVjYXVzZSBvdGhlcndpc2UgamVzdCBzbmFwc2hvdCB0ZXN0cyBhcmUgZ29pbmcgdG8gZnJlYWsgb3V0XG4gICAgLy8gYWJvdXQgdGhlIGtleXMgd2l0aCB2YWx1ZXMgdGhhdCBhcmUgYHVuZGVmaW5lZGAgKGV2ZW4gdGhvdWdoIHRoZXkgd291bGQgbmV2ZXIgYmUgSlNPTi5zdHJpbmdpZmllZClcbiAgICByZXR1cm4gbm9VbmRlZmluZWQoe1xuICAgICAgLi4ubWFuaWZlc3QsXG4gICAgICBhcnRpZmFjdHM6IG1hcFZhbHVlcyhtYW5pZmVzdC5hcnRpZmFjdHMsIChhcnRpZmFjdCkgPT4ge1xuICAgICAgICBpZiAoYXJ0aWZhY3QudHlwZSAhPT0gYXNzZW1ibHkuQXJ0aWZhY3RUeXBlLkFXU19DTE9VREZPUk1BVElPTl9TVEFDSykge1xuICAgICAgICAgIHJldHVybiBhcnRpZmFjdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9VbmRlZmluZWQoe1xuICAgICAgICAgIC4uLmFydGlmYWN0LFxuICAgICAgICAgIG1ldGFkYXRhOiBtYXBWYWx1ZXMoYXJ0aWZhY3QubWV0YWRhdGEsIChtZXRhZGF0YUVudHJpZXMpID0+XG4gICAgICAgICAgICBtZXRhZGF0YUVudHJpZXMubWFwKChtZXRhZGF0YUVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBtZXRhZGF0YUVudHJ5LnR5cGUgIT09IGFzc2VtYmx5LkFydGlmYWN0TWV0YWRhdGFFbnRyeVR5cGUuU1RBQ0tfVEFHUyB8fFxuICAgICAgICAgICAgICAgICFtZXRhZGF0YUVudHJ5LmRhdGFcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1ldGFkYXRhRW50cnk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5tZXRhZGF0YUVudHJ5LFxuICAgICAgICAgICAgICAgIGRhdGE6IGZuKG1ldGFkYXRhRW50cnkuZGF0YSBhcyBhc3NlbWJseS5TdGFja1RhZ3NNZXRhZGF0YUVudHJ5KSxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgIH0gYXMgYXNzZW1ibHkuQXJ0aWZhY3RNYW5pZmVzdCk7XG4gICAgICB9KSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gIH1cbn1cblxudHlwZSBFbmRvZnVuY3RvcjxBPiA9ICh4OiBBKSA9PiBBO1xuXG5mdW5jdGlvbiBtYXBWYWx1ZXM8QSwgQj4oXG4gIHhzOiBSZWNvcmQ8c3RyaW5nLCBBPiB8IHVuZGVmaW5lZCxcbiAgZm46ICh4OiBBKSA9PiBCLFxuKTogUmVjb3JkPHN0cmluZywgQj4gfCB1bmRlZmluZWQge1xuICBpZiAoIXhzKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCByZXQ6IFJlY29yZDxzdHJpbmcsIEI+IHwgdW5kZWZpbmVkID0ge307XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHhzKSkge1xuICAgIHJldFtrXSA9IGZuKHYpO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIG5vVW5kZWZpbmVkPEEgZXh0ZW5kcyBvYmplY3Q+KHhzOiBBKTogQSB7XG4gIGNvbnN0IHJldDogYW55ID0ge307XG4gIGZvciAoY29uc3QgW2ssIHZdIG9mIE9iamVjdC5lbnRyaWVzKHhzKSkge1xuICAgIGlmICh2ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldFtrXSA9IHY7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIHN0cmlwRW51bUVycm9ycyhlcnJvcnM6IGpzb25zY2hlbWEuVmFsaWRhdGlvbkVycm9yW10pIHtcbiAgcmV0dXJuIGVycm9ycy5maWx0ZXIoKGUpID0+IHR5cGVvZiBlLnNjaGVtYSA9PT0gJ3N0cmluZycgfHwgISgnZW51bScgaW4gZS5zY2hlbWEpKTtcbn1cbiJdfQ==
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtYW5pZmVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qix5Q0FBeUM7QUFDekMsaUNBQWlDO0FBRWpDLDZDQUE2QztBQUc3Qyx1REFBdUQ7QUFDdkQsMERBQTBEO0FBRTFELGtFQUFrRTtBQUNsRSxpRUFBaUU7QUFDakUsNkJBQTZCO0FBQ2hCLFFBQUEsZ0JBQWdCLEdBQVcsd0NBQXdDLENBQUM7QUFFakY7Ozs7OztHQU1HO0FBQ0gsbURBQW9EO0FBRXBELDhEQUErRDtBQUUvRCx3RUFBeUU7QUFFekUsNERBQTZEO0FBRTdEOztHQUVHO0FBQ0gseURBQTBEO0FBc0MxRDs7R0FFRztBQUNILE1BQXNCLFFBQVE7SUFDNUI7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsb0JBQW9CLENBQUMsUUFBbUMsRUFBRSxRQUFnQjtRQUN0RixRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsb0JBQW9CLENBQ2hDLFFBQWdCLEVBQ2hCLE9BQTZCO1FBRTdCLE9BQU8sUUFBUSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBOEIsRUFBRSxRQUFnQjtRQUM5RSxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBZ0I7UUFDOUMsT0FBTyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN4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QzVELENBQUM7UUFDRCxJQUFJLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ2xDLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDL0QsQ0FBQztJQUNILENBQUM7O0FBalJILDRCQWtSQzs7O0FBRUQsU0FBUyxlQUFlLENBQUMsTUFBb0M7SUFDM0QsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDckYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIGpzb25zY2hlbWEgZnJvbSAnanNvbnNjaGVtYSc7XG5pbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB0eXBlICogYXMgYXNzZXRzIGZyb20gJy4vYXNzZXRzJztcbmltcG9ydCAqIGFzIGFzc2VtYmx5IGZyb20gJy4vY2xvdWQtYXNzZW1ibHknO1xuaW1wb3J0IHR5cGUgKiBhcyBpbnRlZyBmcm9tICcuL2ludGVnLXRlc3RzJztcblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0cyAqL1xuXG4vLyB0aGlzIHByZWZpeCBpcyB1c2VkIGJ5IHRoZSBDTEkgdG8gaWRlbnRpZnkgdGhpcyBzcGVjaWZpYyBlcnJvci5cbi8vIGluIHdoaWNoIGNhc2Ugd2Ugd2FudCB0byBpbnN0cnVjdCB0aGUgdXNlciB0byB1cGdyYWRlIGhpcyBDTEkuXG4vLyBzZWUgZXhlYy50cyNjcmVhdGVBc3NlbWJseVxuZXhwb3J0IGNvbnN0IFZFUlNJT05fTUlTTUFUQ0g6IHN0cmluZyA9ICdDbG91ZCBhc3NlbWJseSBzY2hlbWEgdmVyc2lvbiBtaXNtYXRjaCc7XG5cbi8qKlxuICogQ0xJIHZlcnNpb24gaXMgY3JlYXRlZCBhdCBidWlsZCBhbmQgcmVsZWFzZSB0aW1lXG4gKlxuICogSXQgbmVlZHMgdG8gYmUgLmdpdGlnbm9yZSdkLCBvdGhlcndpc2UgdGhlIHByb2plbiAnbm8gdW5jb21taXR0ZWRcbiAqIGNoYW5nZXMnIHNlbGYtY2hlY2sgd2lsbCBmYWlsLCB3aGljaCBtZWFucyBpdCBuZWVkcyB0byBiZSBnZW5lcmF0ZWRcbiAqIGF0IGJ1aWxkIHRpbWUgaWYgaXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0LlxuICovXG5pbXBvcnQgQ0xJX1ZFUlNJT04gPSByZXF1aXJlKCcuLi9jbGktdmVyc2lvbi5qc29uJyk7XG5cbmltcG9ydCBBU1NFVFNfU0NIRU1BID0gcmVxdWlyZSgnLi4vc2NoZW1hL2Fzc2V0cy5zY2hlbWEuanNvbicpO1xuXG5pbXBvcnQgQVNTRU1CTFlfU0NIRU1BID0gcmVxdWlyZSgnLi4vc2NoZW1hL2Nsb3VkLWFzc2VtYmx5LnNjaGVtYS5qc29uJyk7XG5cbmltcG9ydCBJTlRFR19TQ0hFTUEgPSByZXF1aXJlKCcuLi9zY2hlbWEvaW50ZWcuc2NoZW1hLmpzb24nKTtcblxuLyoqXG4gKiBWZXJzaW9uIGlzIHNoYXJlZCBmb3IgYm90aCBtYW5pZmVzdHNcbiAqL1xuaW1wb3J0IFNDSEVNQV9WRVJTSU9OID0gcmVxdWlyZSgnLi4vc2NoZW1hL3ZlcnNpb24uanNvbicpO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHRoZSBsb2FkTWFuaWZlc3Qgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZE1hbmlmZXN0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTa2lwIHRoZSB2ZXJzaW9uIGNoZWNrXG4gICAqXG4gICAqIFRoaXMgbWVhbnMgeW91IG1heSByZWFkIGEgbmV3ZXIgY2xvdWQgYXNzZW1ibHkgdGhhbiB0aGUgQ1ggQVBJIGlzIGRlc2lnbmVkXG4gICAqIHRvIHN1cHBvcnQsIGFuZCB5b3VyIGFwcGxpY2F0aW9uIG1heSBub3QgYmUgYXdhcmUgb2YgYWxsIGZlYXR1cmVzIHRoYXQgaW4gdXNlXG4gICAqIGluIHRoZSBDbG91ZCBBc3NlbWJseS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNraXBWZXJzaW9uQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTa2lwIGVudW0gY2hlY2tzXG4gICAqXG4gICAqIFRoaXMgbWVhbnMgeW91IG1heSByZWFkIGVudW0gdmFsdWVzIHlvdSBkb24ndCBrbm93IGFib3V0IHlldC4gTWFrZSBzdXJlIHRvIGFsd2F5c1xuICAgKiBjaGVjayB0aGUgdmFsdWVzIG9mIGVudW1zIHlvdSBlbmNvdW50ZXIgaW4gdGhlIG1hbmlmZXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcEVudW1DaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRvcG9sb2dpY2FsbHkgc29ydCBhbGwgYXJ0aWZhY3RzXG4gICAqXG4gICAqIFRoaXMgcGFyYW1ldGVyIGlzIG9ubHkgcmVzcGVjdGVkIGJ5IHRoZSBjb25zdHJ1Y3RvciBvZiBgQ2xvdWRBc3NlbWJseWAuIFRoZVxuICAgKiBwcm9wZXJ0eSBsaXZlcyBoZXJlIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSByZWFzb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSB0b3BvU29ydD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUHJvdG9jb2wgdXRpbGl0eSBjbGFzcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbmQgc2F2ZXMgdGhlIGNsb3VkIGFzc2VtYmx5IG1hbmlmZXN0IHRvIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIG1hbmlmZXN0LlxuICAgKiBAcGFyYW0gZmlsZVBhdGggLSBvdXRwdXQgZmlsZSBwYXRoLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzYXZlQXNzZW1ibHlNYW5pZmVzdChtYW5pZmVzdDogYXNzZW1ibHkuQXNzZW1ibHlNYW5pZmVzdCwgZmlsZVBhdGg6IHN0cmluZykge1xuICAgIE1hbmlmZXN0LnNhdmVNYW5pZmVzdChtYW5pZmVzdCwgZmlsZVBhdGgsIEFTU0VNQkxZX1NDSEVNQSk7XG4gIH1cblxuICAvKipcbiAgICogTG9hZCBhbmQgdmFsaWRhdGVzIHRoZSBjbG91ZCBhc3NlbWJseSBtYW5pZmVzdCBmcm9tIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBmaWxlUGF0aCAtIHBhdGggdG8gdGhlIG1hbmlmZXN0IGZpbGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGxvYWRBc3NlbWJseU1hbmlmZXN0KFxuICAgIGZpbGVQYXRoOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IExvYWRNYW5pZmVzdE9wdGlvbnMsXG4gICk6IGFzc2VtYmx5LkFzc2VtYmx5TWFuaWZlc3Qge1xuICAgIHJldHVybiBNYW5pZmVzdC5sb2FkTWFuaWZlc3QoZmlsZVBhdGgsIEFTU0VNQkxZX1NDSEVNQSwgTWFuaWZlc3QucGF0Y2hTdGFja1RhZ3NPblJlYWQsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyBhbmQgc2F2ZXMgdGhlIGFzc2V0IG1hbmlmZXN0IHRvIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIG1hbmlmZXN0LlxuICAgKiBAcGFyYW0gZmlsZVBhdGggLSBvdXRwdXQgZmlsZSBwYXRoLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzYXZlQXNzZXRNYW5pZmVzdChtYW5pZmVzdDogYXNzZXRzLkFzc2V0TWFuaWZlc3QsIGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgICBNYW5pZmVzdC5zYXZlTWFuaWZlc3QobWFuaWZlc3QsIGZpbGVQYXRoLCBBU1NFVFNfU0NIRU1BKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGFuZCB2YWxpZGF0ZXMgdGhlIGFzc2V0IG1hbmlmZXN0IGZyb20gZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGZpbGVQYXRoIC0gcGF0aCB0byB0aGUgbWFuaWZlc3QgZmlsZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbG9hZEFzc2V0TWFuaWZlc3QoZmlsZVBhdGg6IHN0cmluZyk6IGFzc2V0cy5Bc3NldE1hbmlmZXN0IHtcbiAgICByZXR1cm4gTWFuaWZlc3QubG9hZE1hbmlmZXN0KGZpbGVQYXRoLCBBU1NFVFNfU0NIRU1BKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgYW5kIHNhdmVzIHRoZSBpbnRlZyBtYW5pZmVzdCB0byBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gbWFuaWZlc3QgLSBtYW5pZmVzdC5cbiAgICogQHBhcmFtIGZpbGVQYXRoIC0gb3V0cHV0IGZpbGUgcGF0aC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2F2ZUludGVnTWFuaWZlc3QobWFuaWZlc3Q6IGludGVnLkludGVnTWFuaWZlc3QsIGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgICBNYW5pZmVzdC5zYXZlTWFuaWZlc3QobWFuaWZlc3QsIGZpbGVQYXRoLCBJTlRFR19TQ0hFTUEpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgYW5kIHZhbGlkYXRlcyB0aGUgaW50ZWcgbWFuaWZlc3QgZnJvbSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gZmlsZVBhdGggLSBwYXRoIHRvIHRoZSBtYW5pZmVzdCBmaWxlLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsb2FkSW50ZWdNYW5pZmVzdChmaWxlUGF0aDogc3RyaW5nKTogaW50ZWcuSW50ZWdNYW5pZmVzdCB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSB0aGlzLmxvYWRNYW5pZmVzdChmaWxlUGF0aCwgSU5URUdfU0NIRU1BKTtcblxuICAgIC8vIEFkZGluZyB0eXBpbmcgdG8gYHZhbGlkYXRlKClgIGxlZCB0byBgbG9hZE1hbmlmZXN0KClgIHRvIHByb3Blcmx5IGluZmVyXG4gICAgLy8gaXRzIHJldHVybiB0eXBlLCB3aGljaCBpbmRpY2F0ZWQgdGhhdCB0aGUgcmV0dXJuIHR5cGUgb2YgdGhpc1xuICAgIC8vIGZ1bmN0aW9uIG1heSBiZSBhIGxpZS4gSSBjb3VsZCBjaGFuZ2UgdGhlIHNjaGVtYSB0byBtYWtlIGB0ZXN0Q2FzZXNgXG4gICAgLy8gb3B0aW9uYWwsIGJ1dCB0aGF0IHdpbGwgYnVtcCB0aGUgbWFqb3IgdmVyc2lvbiBvZiB0aGlzIHBhY2thZ2UgYW5kIElcbiAgICAvLyBkb24ndCB3YW50IHRvIGRvIHRoYXQuIFNvIGluc3RlYWQsIGp1c3QgbWFrZSBzdXJlIGB0ZXN0Q2FzZXNgIGlzIGFsd2F5cyB0aGVyZS5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubWFuaWZlc3QsXG4gICAgICB0ZXN0Q2FzZXM6IChtYW5pZmVzdCBhcyBhbnkpLnRlc3RDYXNlcyA/PyBbXSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEZldGNoIHRoZSBjdXJyZW50IHNjaGVtYSB2ZXJzaW9uIG51bWJlci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgdmVyc2lvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtTQ0hFTUFfVkVSU0lPTi5yZXZpc2lvbn0uMC4wYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIENMSSB2ZXJzaW9uIHRoYXQgc3VwcG9ydHMgdGhpcyBDbG91ZCBBc3NlbWJseSBTY2hlbWEgdmVyc2lvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjbGlWZXJzaW9uKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgdmVyc2lvbiA9IENMSV9WRVJTSU9OLnZlcnNpb247XG4gICAgcmV0dXJuIHZlcnNpb24gPyB2ZXJzaW9uIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWRcbiAgICogQGRlcHJlY2F0ZWQgdXNlIGBzYXZlQXNzZW1ibHlNYW5pZmVzdCgpYFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBzYXZlKG1hbmlmZXN0OiBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0LCBmaWxlUGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZUFzc2VtYmx5TWFuaWZlc3QobWFuaWZlc3QsIGZpbGVQYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXByZWNhdGVkXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgbG9hZEFzc2VtYmx5TWFuaWZlc3QoKWBcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgbG9hZChmaWxlUGF0aDogc3RyaW5nKTogYXNzZW1ibHkuQXNzZW1ibHlNYW5pZmVzdCB7XG4gICAgcmV0dXJuIHRoaXMubG9hZEFzc2VtYmx5TWFuaWZlc3QoZmlsZVBhdGgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgdmFsaWRhdGUoXG4gICAgbWFuaWZlc3Q6IGFueSxcbiAgICBzY2hlbWE6IGpzb25zY2hlbWEuU2NoZW1hLFxuICAgIG9wdGlvbnM/OiBMb2FkTWFuaWZlc3RPcHRpb25zLFxuICApOiBhc3NlcnRzIG1hbmlmZXN0IGlzIGFzc2VtYmx5LkFzc2VtYmx5TWFuaWZlc3Qge1xuICAgIGZ1bmN0aW9uIHBhcnNlVmVyc2lvbih2ZXJzaW9uOiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IHZlciA9IHNlbXZlci52YWxpZCh2ZXJzaW9uKTtcbiAgICAgIGlmICghdmVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZW12ZXIgc3RyaW5nOiBcIiR7dmVyc2lvbn1cImApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZlcjtcbiAgICB9XG5cbiAgICBjb25zdCBtYXhTdXBwb3J0ZWQgPSBzZW12ZXIubWFqb3IocGFyc2VWZXJzaW9uKE1hbmlmZXN0LnZlcnNpb24oKSkpO1xuICAgIGNvbnN0IGFjdHVhbCA9IHBhcnNlVmVyc2lvbihtYW5pZmVzdC52ZXJzaW9uKTtcblxuICAgIC8vIGZpcnN0IHZhbGlkYXRlIHRoZSB2ZXJzaW9uIHNob3VsZCBiZSBhY2NlcHRlZC4gYWxsIHZlcnNpb25zIHdpdGhpbiB0aGUgc2FtZSBtaW5vciB2ZXJzaW9uIGFyZSBmaW5lXG4gICAgaWYgKG1heFN1cHBvcnRlZCA8IHNlbXZlci5tYWpvcihhY3R1YWwpICYmICFvcHRpb25zPy5za2lwVmVyc2lvbkNoZWNrKSB7XG4gICAgICAvLyBJZiB3ZSBoYXZlIGEgbW9yZSBzcGVjaWZpYyBlcnJvciB0byB0aHJvdyB0aGFuIHRoZSBnZW5lcmljIG9uZSBiZWxvdywgbWFrZSBzdXJlIHRvIGFkZCB0aGF0IGluZm8uXG4gICAgICBjb25zdCBjbGlWZXJzaW9uID0gKG1hbmlmZXN0IGFzIGFzc2VtYmx5LkFzc2VtYmx5TWFuaWZlc3QpLm1pbmltdW1DbGlWZXJzaW9uO1xuICAgICAgbGV0IGNsaVdhcm5pbmcgPSAnJztcbiAgICAgIGlmIChjbGlWZXJzaW9uKSB7XG4gICAgICAgIGNsaVdhcm5pbmcgPSBgLiBZb3UgbmVlZCBhdCBsZWFzdCBDTEkgdmVyc2lvbiAke2NsaVZlcnNpb259IHRvIHJlYWQgdGhpcyBtYW5pZmVzdC5gO1xuICAgICAgfVxuXG4gICAgICAvLyB3ZSB1c2UgYSB3ZWxsIGtub3duIGVycm9yIHByZWZpeCBzbyB0aGF0IHRoZSBDTEkgY2FuIGlkZW50aWZ5IHRoaXMgc3BlY2lmaWMgZXJyb3JcbiAgICAgIC8vIGFuZCBwcmludCBzb21lIG1vcmUgY29udGV4dCB0byB0aGUgdXNlci5cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYCR7VkVSU0lPTl9NSVNNQVRDSH06IE1heGltdW0gc2NoZW1hIHZlcnNpb24gc3VwcG9ydGVkIGlzICR7bWF4U3VwcG9ydGVkfS54LngsIGJ1dCBmb3VuZCAke2FjdHVhbH0ke2NsaVdhcm5pbmd9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gbm93IHZhbGlkYXRlIHRoZSBmb3JtYXQgaXMgZ29vZC5cbiAgICBjb25zdCB2YWxpZGF0b3IgPSBuZXcganNvbnNjaGVtYS5WYWxpZGF0b3IoKTtcbiAgICBjb25zdCByZXN1bHQgPSB2YWxpZGF0b3IudmFsaWRhdGUobWFuaWZlc3QsIHNjaGVtYSwge1xuICAgICAgLy8gZG9lcyBleGlzdCBidXQgaXMgbm90IGluIHRoZSBUeXBlU2NyaXB0IGRlZmluaXRpb25zXG4gICAgICBuZXN0ZWRFcnJvcnM6IHRydWUsXG5cbiAgICAgIGFsbG93VW5rbm93bkF0dHJpYnV0ZXM6IGZhbHNlLFxuICAgICAgcHJlVmFsaWRhdGVQcm9wZXJ0eTogTWFuaWZlc3QudmFsaWRhdGVBc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBsZXQgZXJyb3JzID0gcmVzdWx0LmVycm9ycztcbiAgICBpZiAob3B0aW9ucz8uc2tpcEVudW1DaGVjaykge1xuICAgICAgLy8gRW51bSB2YWxpZGF0aW9ucyBhcmVuJ3QgdXNlZnVsIHdoZW5cbiAgICAgIGVycm9ycyA9IHN0cmlwRW51bUVycm9ycyhlcnJvcnMpO1xuICAgIH1cblxuICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFzc2VtYmx5IG1hbmlmZXN0OlxcbiR7ZXJyb3JzLm1hcCgoZSkgPT4gZS5zdGFjaykuam9pbignXFxuJyl9YCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgc2F2ZU1hbmlmZXN0KFxuICAgIG1hbmlmZXN0OiBhbnksXG4gICAgZmlsZVBhdGg6IHN0cmluZyxcbiAgICBzY2hlbWE6IGpzb25zY2hlbWEuU2NoZW1hLFxuICAgIHByZXByb2Nlc3M/OiAob2JqOiBhbnkpID0+IGFueSxcbiAgKSB7XG4gICAgbGV0IHdpdGhWZXJzaW9uID0ge1xuICAgICAgLi4ubWFuaWZlc3QsXG4gICAgICB2ZXJzaW9uOiBNYW5pZmVzdC52ZXJzaW9uKCksXG4gICAgICBtaW5pbXVtQ2xpVmVyc2lvbjogTWFuaWZlc3QuY2xpVmVyc2lvbigpLFxuICAgIH0gc2F0aXNmaWVzIGFzc2VtYmx5LkFzc2VtYmx5TWFuaWZlc3Q7XG4gICAgTWFuaWZlc3QudmFsaWRhdGUod2l0aFZlcnNpb24sIHNjaGVtYSk7XG4gICAgaWYgKHByZXByb2Nlc3MpIHtcbiAgICAgIHdpdGhWZXJzaW9uID0gcHJlcHJvY2Vzcyh3aXRoVmVyc2lvbik7XG4gICAgfVxuICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIEpTT04uc3RyaW5naWZ5KHdpdGhWZXJzaW9uLCB1bmRlZmluZWQsIDIpKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGxvYWRNYW5pZmVzdChcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxuICAgIHNjaGVtYToganNvbnNjaGVtYS5TY2hlbWEsXG4gICAgcHJlcHJvY2Vzcz86IChvYmo6IGFueSkgPT4gYW55LFxuICAgIG9wdGlvbnM/OiBMb2FkTWFuaWZlc3RPcHRpb25zLFxuICApIHtcbiAgICBjb25zdCBjb250ZW50cyA9IGZzLnJlYWRGaWxlU3luYyhmaWxlUGF0aCwgeyBlbmNvZGluZzogJ3V0Zi04JyB9KTtcbiAgICBsZXQgb2JqO1xuICAgIHRyeSB7XG4gICAgICBvYmogPSBKU09OLnBhcnNlKGNvbnRlbnRzKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtlLm1lc3NhZ2V9LCB3aGlsZSBwYXJzaW5nICR7SlNPTi5zdHJpbmdpZnkoY29udGVudHMpfWApO1xuICAgIH1cbiAgICBpZiAocHJlcHJvY2Vzcykge1xuICAgICAgb2JqID0gcHJlcHJvY2VzcyhvYmopO1xuICAgIH1cbiAgICBNYW5pZmVzdC52YWxpZGF0ZShvYmosIHNjaGVtYSwgb3B0aW9ucyk7XG4gICAgcmV0dXJuIG9iajtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGNhc2luZyBvZiBzdGFjayB0YWdzIGVudHJpZXNcbiAgICpcbiAgICogQXQgdGhlIHZlcnkgYmVnaW5uaW5nIG9mIHRoZSBDREsgd2UgdXNlZCB0byBlbWl0IHN0YWNrIHRhZ3MgYXMgYW4gb2JqZWN0IHdpdGhcbiAgICogYHsgS2V5LCBWYWx1ZSB9YCBrZXlzOyB0aGlzIGhhZCB0aGUgXCJhZHZhbnRhZ2VcIiB0aGF0IHdlIGNvdWxkIHN0aWNrIHRob3NlXG4gICAqIHRhZ3MgZGlyZWN0bHkgaW50byB0aGUgYENyZWF0ZUNoYW5nZVNldGAgY2FsbC5cbiAgICpcbiAgICogVGhlbiB3ZSBsYXRlciBvbiB1c2VkIGpzaWkgb24gdGhlIGFzc2VtYmx5IHNjaGVtYSBhbmQgd2Ugd2VyZSBmb3JjZWQgdG8gdHlwZVxuICAgKiB0aGUgaW4tbWVtb3J5IG9iamVjdHMgYXMgYHsga2V5LCB2YWx1ZSB9YCB3aXRoIGxvd2VyY2FzZSBsZXR0ZXJzLiBOb3cgdGhlXG4gICAqIG9iamVjdHMgaGF2ZSBhIGRpZmZlcmVudCBvbi1kaXNrIGFuZCBpbi1tZW1vcnkgZm9ybWF0LCBhbmQgd2UgbmVlZCB0byBjb252ZXJ0XG4gICAqIGJldHdlZW4gdGhlbS5cbiAgICpcbiAgICogRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHJlYXNvbnMsIHdlIHVzZWQgdG8gY29udmVydCBsb3dlcmNhc2UgaW4tbWVtb3J5XG4gICAqIHRvIHVwcGVyY2FzZSBvbi1kaXNrIHZhcmlhbnQgdW50aWwgdmVyeSByZWNlbnRseS4gVGhpcyBpcyBub3cgdW5uZWNlc3NhcnksXG4gICAqIHNpbmNlIG5vIG9mZmljaWFsbHkgc3VwcG9ydGVkIENESyB0b29scyByZWFkIHRoZSBzdGFjayB0YWdzIGZyb20gdGhlXG4gICAqIG1ldGFkYXRhOyB0aGUgQ0xJIGFuZCB0b29sa2l0IGxpYnJhcnkgcmVhZCBzdGFjayB0YWdzIGZyb20gdGhlIGFydGlmYWN0XG4gICAqIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIFNvIGFsdGhvdWdoIHdlIGRvbid0IGVtaXQgdXBwZXJjYXNlIHN0YWNrIHRhZyBvYmplY3RzIGFueW1vcmUsIHdlIG1pZ2h0IHN0aWxsIHJlYWRcbiAgICogbWFuaWZlc3RzIHRoYXQgaGF2ZSB0aGVtLiBCZWNhdXNlIHRoZSBtYW5pZmVzdCB3ZSByZWFkIG11c3QgcGFzcyBKU09OIFNjaGVtYVxuICAgKiB2YWxpZGF0aW9uICh3aGljaCBleHBlY3RzIGxvd2VyY2FzZSB0YWcgb2JqZWN0cyksIHdlIGhhdmUgdG8gZml4IHRoZSBjYXNpbmdcbiAgICogb2YgdGhlc2Ugb2JqZWN0cyBhZnRlciByZWFkaW5nIGZyb20gZGlzayBhbmQgYmVmb3JlIHZhbGlkYXRpbmcuXG4gICAqXG4gICAqIFRoYXQncyB3aGF0IHRoaXMgZnVuY3Rpb24gZG9lcy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHBhdGNoU3RhY2tUYWdzT25SZWFkKHRoaXM6IHZvaWQsIG1hbmlmZXN0OiBhc3NlbWJseS5Bc3NlbWJseU1hbmlmZXN0KSB7XG4gICAgY29uc3QgYXJ0aWZhY3RzID0gT2JqZWN0LnZhbHVlcyhtYW5pZmVzdC5hcnRpZmFjdHMgPz8ge30pXG4gICAgICAuZmlsdGVyKGFydGlmYWN0ID0+IGFydGlmYWN0LnR5cGUgPT09IGFzc2VtYmx5LkFydGlmYWN0VHlwZS5BV1NfQ0xPVURGT1JNQVRJT05fU1RBQ0spO1xuXG4gICAgZm9yIChjb25zdCBhcnRpZmFjdCBvZiBhcnRpZmFjdHMpIHtcbiAgICAgIGNvbnN0IHRhZ01ldGFkYXRhID0gT2JqZWN0LnZhbHVlcyhhcnRpZmFjdC5tZXRhZGF0YSA/PyB7fSlcbiAgICAgICAgLmZsYXRNYXAoeCA9PiB4KVxuICAgICAgICAuZmlsdGVyKGVudHJ5ID0+IGVudHJ5LnR5cGUgPT09IGFzc2VtYmx5LkFydGlmYWN0TWV0YWRhdGFFbnRyeVR5cGUuU1RBQ0tfVEFHUyk7XG5cbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgdGFnTWV0YWRhdGEpIHtcbiAgICAgICAgY29uc3QgdGFncyA9IGVudHJ5LmRhdGEgYXMgdW5rbm93biBhcyBhc3NlbWJseS5TdGFja1RhZ3NNZXRhZGF0YUVudHJ5W10gfCB1bmRlZmluZWQ7XG4gICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHRhZ3MgPz8gW10pIHtcbiAgICAgICAgICBjb25zdCB0OiBhbnkgPSB0YWc7XG4gICAgICAgICAgaWYgKCdLZXknIGluIHQpIHtcbiAgICAgICAgICAgIHQua2V5ID0gdC5LZXk7XG4gICAgICAgICAgICBkZWxldGUgdC5LZXk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICgnVmFsdWUnIGluIHQpIHtcbiAgICAgICAgICAgIHQudmFsdWUgPSB0LlZhbHVlO1xuICAgICAgICAgICAgZGVsZXRlIHQuVmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hbmlmZXN0O1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGF0IGBhc3N1bWVSb2xlQWRkaXRpb25hbE9wdGlvbnNgIGRvZXNuJ3QgY29udGFpbiBub3IgYEV4dGVybmFsSWRgIG5laXRoZXIgYFJvbGVBcm5gLCBhcyB0aGV5XG4gICAqIHNob3VsZCBoYXZlIGRlZGljYXRlZCBwcm9wZXJ0aWVzIHByZWNlZGluZyB0aGlzIChlLmcgYGFzc3VtZVJvbGVBcm5gIGFuZCBgYXNzdW1lUm9sZUV4dGVybmFsSWRgKS5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHZhbGlkYXRlQXNzdW1lUm9sZUFkZGl0aW9uYWxPcHRpb25zKFxuICAgIHRoaXM6IHZvaWQsXG4gICAgaW5zdGFuY2U6IGFueSxcbiAgICBrZXk6IHN0cmluZyxcbiAgICBfc2NoZW1hOiBqc29uc2NoZW1hLlNjaGVtYSxcbiAgICBfb3B0aW9uczoganNvbnNjaGVtYS5PcHRpb25zLFxuICAgIF9jdHg6IGpzb25zY2hlbWEuU2NoZW1hQ29udGV4dCxcbiAgKSB7XG4gICAgaWYgKGtleSAhPT0gJ2Fzc3VtZVJvbGVBZGRpdGlvbmFsT3B0aW9ucycpIHtcbiAgICAgIC8vIG5vdGUgdGhhdCB0aGlzIG1lYW5zIHRoYXQgaWYgd2UgaGFwcGVuIHRvIGhhdmUgYSBwcm9wZXJ0eSBuYW1lZCBsaWtlIHRoaXMsIGJ1dCB0aGF0XG4gICAgICAvLyBkb2VzIHdhbnQgdG8gYWxsb3cgJ1JvbGVBcm4nIG9yICdFeHRlcm5hbElkJywgdGhpcyBjb2RlIHdpbGwgaGF2ZSB0byBjaGFuZ2UgdG8gY29uc2lkZXIgdGhlIGZ1bGwgc2NoZW1hIHBhdGguXG4gICAgICAvLyBJIGRlY2lkZWQgdG8gbWFrZSB0aGlzIGxlc3MgZ3JhbnVsYXIgZm9yIG5vdyBvbiBwdXJwb3NlIGJlY2F1c2UgaXQgZml0cyBvdXIgbmVlZHMgYW5kIGF2b2lkcyBoYXZpbmcgbWVzc3lcbiAgICAgIC8vIHZhbGlkYXRpb24gbG9naWMgZHVlIHRvIHZhcmlvdXMgc2NoZW1hIHBhdGhzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGFzc3VtZVJvbGVPcHRpb25zID0gaW5zdGFuY2Vba2V5XTtcbiAgICBpZiAoYXNzdW1lUm9sZU9wdGlvbnM/LlJvbGVBcm4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUm9sZUFybiBpcyBub3QgYWxsb3dlZCBpbnNpZGUgJyR7a2V5fSdgKTtcbiAgICB9XG4gICAgaWYgKGFzc3VtZVJvbGVPcHRpb25zPy5FeHRlcm5hbElkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4dGVybmFsSWQgaXMgbm90IGFsbG93ZWQgaW5zaWRlICcke2tleX0nYCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHN0cmlwRW51bUVycm9ycyhlcnJvcnM6IGpzb25zY2hlbWEuVmFsaWRhdGlvbkVycm9yW10pIHtcbiAgcmV0dXJuIGVycm9ycy5maWx0ZXIoKGUpID0+IHR5cGVvZiBlLnNjaGVtYSA9PT0gJ3N0cmluZycgfHwgISgnZW51bScgaW4gZS5zY2hlbWEpKTtcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -351,7 +351,7 @@
|
|
|
351
351
|
}
|
|
352
352
|
},
|
|
353
353
|
"tags": {
|
|
354
|
-
"description": "Values for CloudFormation stack tags that should be passed when the stack is deployed. (Default - No tags)",
|
|
354
|
+
"description": "Values for CloudFormation stack tags that should be passed when the stack is deployed.\n\nN.B.: Tags are also written to stack metadata, under the path of the Stack\nconstruct. Only in CDK CLI v1 are those tags found in metadata used for\nactual deployments; in all stable versions of CDK only the stack tags\ndirectly found in the `tags` property of `AwsCloudFormationStack` artifact\n(i.e., this property) are used. (Default - No tags)",
|
|
355
355
|
"type": "object",
|
|
356
356
|
"additionalProperties": {
|
|
357
357
|
"type": "string"
|
|
@@ -1093,6 +1093,10 @@
|
|
|
1093
1093
|
"description": "Identifier of the resource to look up using `GetResource`.\n\nSpecifying exactIdentifier will return exactly one result, or throw an error\nunless `ignoreErrorOnMissingContext` is set. (Default - Either exactIdentifier or propertyMatch should be specified.)",
|
|
1094
1094
|
"type": "string"
|
|
1095
1095
|
},
|
|
1096
|
+
"resourceModel": {
|
|
1097
|
+
"description": "The resource model to use to select the resources, using `ListResources`..\n\nThis is needed for sub-resources where the parent Arn is required.\n\nSee https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-list.html#resource-operations-list-containers (Default - no resource Model is provided)",
|
|
1098
|
+
"$ref": "#/definitions/Record%3Cstring%2Cunknown%3E"
|
|
1099
|
+
},
|
|
1096
1100
|
"propertyMatch": {
|
|
1097
1101
|
"description": "Returns any resources matching these properties, using `ListResources`.\n\nBy default, specifying propertyMatch will successfully return 0 or more\nresults. To throw an error if the number of results is unexpected (and\nprevent the query results from being committed to context), specify\n`expectedMatchCount`.\n\n## Notes on property completeness\n\nCloudControl API's `ListResources` may return fewer properties than\n`GetResource` would, depending on the resource implementation.\n\nThe resources that `propertyMatch` matches against will *only ever* be the\nproperties returned by the `ListResources` call. (Default - Either exactIdentifier or propertyMatch should be specified.)",
|
|
1098
1102
|
"$ref": "#/definitions/Record%3Cstring%2Cunknown%3E"
|
package/schema/version.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaHash": "
|
|
2
|
+
"schemaHash": "1b06659a117c44714e2e52854571bb1b45b765b277bb1c208bc4b7ea01f6a684",
|
|
3
3
|
"$comment": "Do not hold back the version on additions: jsonschema validation of the manifest by the consumer will trigger errors on unexpected fields.",
|
|
4
|
-
"revision":
|
|
4
|
+
"revision": 50
|
|
5
5
|
}
|