@k8slens/kubernetes-contracts 1.0.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/README.md +31 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +260 -0
- package/dist/src/generated/api-versions.d.ts +154 -0
- package/dist/src/generated/api-versions.d.ts.map +1 -0
- package/dist/src/generated/kinds.d.ts +713 -0
- package/dist/src/generated/kinds.d.ts.map +1 -0
- package/dist/src/generated/kubernetes-types.d.ts +7953 -0
- package/dist/src/generated/kubernetes-types.d.ts.map +1 -0
- package/dist/src/kube-resource-kind.d.ts +86 -0
- package/dist/src/kube-resource-kind.d.ts.map +1 -0
- package/dist/src/kubernetes-api-version.d.ts +27 -0
- package/dist/src/kubernetes-api-version.d.ts.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +64 -0
package/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# @k8slens/kubernetes-contracts
|
|
2
|
+
|
|
3
|
+
What names and types a Kubernetes resource: every API version as a typed specifier, every kind Lens itself knows as a typed kind, and the types of the Kubernetes API, generated from [`@kubernetes/client-node`](https://github.com/kubernetes-client/javascript).
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { podKind, coreV1, type V1PodSpec, type KubeResource } from "@k8slens/kubernetes-contracts";
|
|
7
|
+
|
|
8
|
+
type ServedPod = KubeResource<typeof podKind, typeof coreV1>; // metadata.name, metadata.uid and spec are required
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
- `getKubernetesApiVersion` and `getKubeResourceKind` declare an API version and a kind of your own, typed; `coreV1`, `appsV1`, `autoscalingV2`, ... and `podKind`, `deploymentKind`, ... are the built-in ones.
|
|
12
|
+
- The schema types are named as client-node names them, the API version first: `V1Pod`, `V1PodSpec`, `V2HorizontalPodAutoscaler`. A kind carries its `apiVersion` and `kind` as literals, timestamps are the strings the API serves (`Time`, `MicroTime`), ports that may be named are `IntOrString`, and what the schema leaves open is `unknown`. Property names are the wire names. The few names client-node had to disambiguate keep their group prefix: `CoreV1Event` is the core `Event`, `EventsV1Event` the one of `events.k8s.io`.
|
|
13
|
+
- `PodV1`, `DeploymentV1`, ... are the built-in kinds' resources as the API serves them, with the fields a served resource always carries made required.
|
|
14
|
+
|
|
15
|
+
## Regenerating
|
|
16
|
+
|
|
17
|
+
`src/generated/` is generated by `generator/` from the installed `@kubernetes/client-node` and the list of built-in kinds in `generator/built-in-kinds.ts`, and committed. When Dependabot bumps client-node, CI fails until the types are regenerated:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm run generate --workspace @k8slens/kubernetes-contracts
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
`npm run generate:check --workspace @k8slens/kubernetes-contracts` is what CI runs. Which Kubernetes release the types describe, and which client-node version they came from, is recorded in the `kubernetes` field of `package.json` and in the header of every generated module.
|
|
24
|
+
|
|
25
|
+
## Versioning
|
|
26
|
+
|
|
27
|
+
Semver from conventional commits, like every `@k8slens` package: a regeneration that only adds fields is a `feat`, one that removes an API version is a breaking change. The Kubernetes release is not the package version.
|
|
28
|
+
|
|
29
|
+
## Provenance
|
|
30
|
+
|
|
31
|
+
Derived from `@kubernetes/client-node` (Apache-2.0), itself generated from the Kubernetes OpenAPI specification (Apache-2.0). This package is MIT like its siblings; the notices travel in the generated modules' headers. The field documentation is kept on purpose: it is the Kubernetes API reference, which is what an extension author needs at the call site.
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from "./src/generated/kubernetes-types";
|
|
2
|
+
export { getKubernetesApiVersion, type KubernetesApiVersion } from "./src/kubernetes-api-version";
|
|
3
|
+
export * from "./src/generated/api-versions";
|
|
4
|
+
export { getKubeResourceKind, type KubeResource, type KubeResourceApiVersion, type KubeResourceBase, type KubeResourceKind, type KubeResourceShapes, type KubeResourceShapesOf, type KubeResourceType, } from "./src/kube-resource-kind";
|
|
5
|
+
export * from "./src/generated/kinds";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAClG,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EACL,mBAAmB,EACnB,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,GACtB,MAAM,0BAA0B,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// index.ts
|
|
21
|
+
var index_exports = {};
|
|
22
|
+
__export(index_exports, {
|
|
23
|
+
admissionregistrationV1: () => admissionregistrationV1,
|
|
24
|
+
admissionregistrationV1alpha1: () => admissionregistrationV1alpha1,
|
|
25
|
+
admissionregistrationV1beta1: () => admissionregistrationV1beta1,
|
|
26
|
+
apiextensionsV1: () => apiextensionsV1,
|
|
27
|
+
apiregistrationV1: () => apiregistrationV1,
|
|
28
|
+
appsV1: () => appsV1,
|
|
29
|
+
authenticationV1: () => authenticationV1,
|
|
30
|
+
authorizationV1: () => authorizationV1,
|
|
31
|
+
autoscalingV1: () => autoscalingV1,
|
|
32
|
+
autoscalingV2: () => autoscalingV2,
|
|
33
|
+
batchV1: () => batchV1,
|
|
34
|
+
certificatesV1: () => certificatesV1,
|
|
35
|
+
certificatesV1alpha1: () => certificatesV1alpha1,
|
|
36
|
+
certificatesV1beta1: () => certificatesV1beta1,
|
|
37
|
+
clusterRoleBindingKind: () => clusterRoleBindingKind,
|
|
38
|
+
clusterRoleKind: () => clusterRoleKind,
|
|
39
|
+
configMapKind: () => configMapKind,
|
|
40
|
+
coordinationV1: () => coordinationV1,
|
|
41
|
+
coordinationV1alpha2: () => coordinationV1alpha2,
|
|
42
|
+
coordinationV1beta1: () => coordinationV1beta1,
|
|
43
|
+
coreV1: () => coreV1,
|
|
44
|
+
cronJobKind: () => cronJobKind,
|
|
45
|
+
customResourceDefinitionKind: () => customResourceDefinitionKind,
|
|
46
|
+
daemonSetKind: () => daemonSetKind,
|
|
47
|
+
deploymentKind: () => deploymentKind,
|
|
48
|
+
discoveryV1: () => discoveryV1,
|
|
49
|
+
endpointSliceKind: () => endpointSliceKind,
|
|
50
|
+
endpointsKind: () => endpointsKind,
|
|
51
|
+
eventsV1: () => eventsV1,
|
|
52
|
+
flowcontrolApiserverV1: () => flowcontrolApiserverV1,
|
|
53
|
+
getKubeResourceKind: () => getKubeResourceKind,
|
|
54
|
+
getKubernetesApiVersion: () => getKubernetesApiVersion,
|
|
55
|
+
horizontalPodAutoscalerKind: () => horizontalPodAutoscalerKind,
|
|
56
|
+
ingressClassKind: () => ingressClassKind,
|
|
57
|
+
ingressKind: () => ingressKind,
|
|
58
|
+
internalApiserverV1alpha1: () => internalApiserverV1alpha1,
|
|
59
|
+
jobKind: () => jobKind,
|
|
60
|
+
leaseKind: () => leaseKind,
|
|
61
|
+
limitRangeKind: () => limitRangeKind,
|
|
62
|
+
mutatingWebhookConfigurationKind: () => mutatingWebhookConfigurationKind,
|
|
63
|
+
namespaceKind: () => namespaceKind,
|
|
64
|
+
networkPolicyKind: () => networkPolicyKind,
|
|
65
|
+
networkingV1: () => networkingV1,
|
|
66
|
+
networkingV1beta1: () => networkingV1beta1,
|
|
67
|
+
nodeKind: () => nodeKind,
|
|
68
|
+
nodeV1: () => nodeV1,
|
|
69
|
+
persistentVolumeClaimKind: () => persistentVolumeClaimKind,
|
|
70
|
+
persistentVolumeKind: () => persistentVolumeKind,
|
|
71
|
+
podDisruptionBudgetKind: () => podDisruptionBudgetKind,
|
|
72
|
+
podKind: () => podKind,
|
|
73
|
+
policyV1: () => policyV1,
|
|
74
|
+
priorityClassKind: () => priorityClassKind,
|
|
75
|
+
rbacAuthorizationV1: () => rbacAuthorizationV1,
|
|
76
|
+
replicaSetKind: () => replicaSetKind,
|
|
77
|
+
replicationControllerKind: () => replicationControllerKind,
|
|
78
|
+
resourceQuotaKind: () => resourceQuotaKind,
|
|
79
|
+
resourceV1: () => resourceV1,
|
|
80
|
+
resourceV1alpha3: () => resourceV1alpha3,
|
|
81
|
+
resourceV1beta1: () => resourceV1beta1,
|
|
82
|
+
resourceV1beta2: () => resourceV1beta2,
|
|
83
|
+
roleBindingKind: () => roleBindingKind,
|
|
84
|
+
roleKind: () => roleKind,
|
|
85
|
+
runtimeClassKind: () => runtimeClassKind,
|
|
86
|
+
schedulingV1: () => schedulingV1,
|
|
87
|
+
schedulingV1alpha2: () => schedulingV1alpha2,
|
|
88
|
+
secretKind: () => secretKind,
|
|
89
|
+
serviceAccountKind: () => serviceAccountKind,
|
|
90
|
+
serviceKind: () => serviceKind,
|
|
91
|
+
statefulSetKind: () => statefulSetKind,
|
|
92
|
+
storageClassKind: () => storageClassKind,
|
|
93
|
+
storageV1: () => storageV1,
|
|
94
|
+
storageV1beta1: () => storageV1beta1,
|
|
95
|
+
storagemigrationV1beta1: () => storagemigrationV1beta1,
|
|
96
|
+
validatingWebhookConfigurationKind: () => validatingWebhookConfigurationKind
|
|
97
|
+
});
|
|
98
|
+
module.exports = __toCommonJS(index_exports);
|
|
99
|
+
|
|
100
|
+
// src/kubernetes-api-version.ts
|
|
101
|
+
var import_injectable = require("@k8slens/injectable");
|
|
102
|
+
var getKubernetesApiVersion = (apiVersion) => (0, import_injectable.getTypedSpecifier)()(apiVersion);
|
|
103
|
+
|
|
104
|
+
// src/generated/api-versions.ts
|
|
105
|
+
var admissionregistrationV1 = getKubernetesApiVersion("admissionregistration.k8s.io/v1");
|
|
106
|
+
var admissionregistrationV1alpha1 = getKubernetesApiVersion("admissionregistration.k8s.io/v1alpha1");
|
|
107
|
+
var admissionregistrationV1beta1 = getKubernetesApiVersion("admissionregistration.k8s.io/v1beta1");
|
|
108
|
+
var apiextensionsV1 = getKubernetesApiVersion("apiextensions.k8s.io/v1");
|
|
109
|
+
var apiregistrationV1 = getKubernetesApiVersion("apiregistration.k8s.io/v1");
|
|
110
|
+
var appsV1 = getKubernetesApiVersion("apps/v1");
|
|
111
|
+
var authenticationV1 = getKubernetesApiVersion("authentication.k8s.io/v1");
|
|
112
|
+
var authorizationV1 = getKubernetesApiVersion("authorization.k8s.io/v1");
|
|
113
|
+
var autoscalingV1 = getKubernetesApiVersion("autoscaling/v1");
|
|
114
|
+
var autoscalingV2 = getKubernetesApiVersion("autoscaling/v2");
|
|
115
|
+
var batchV1 = getKubernetesApiVersion("batch/v1");
|
|
116
|
+
var certificatesV1 = getKubernetesApiVersion("certificates.k8s.io/v1");
|
|
117
|
+
var certificatesV1alpha1 = getKubernetesApiVersion("certificates.k8s.io/v1alpha1");
|
|
118
|
+
var certificatesV1beta1 = getKubernetesApiVersion("certificates.k8s.io/v1beta1");
|
|
119
|
+
var coordinationV1 = getKubernetesApiVersion("coordination.k8s.io/v1");
|
|
120
|
+
var coordinationV1alpha2 = getKubernetesApiVersion("coordination.k8s.io/v1alpha2");
|
|
121
|
+
var coordinationV1beta1 = getKubernetesApiVersion("coordination.k8s.io/v1beta1");
|
|
122
|
+
var coreV1 = getKubernetesApiVersion("v1");
|
|
123
|
+
var discoveryV1 = getKubernetesApiVersion("discovery.k8s.io/v1");
|
|
124
|
+
var eventsV1 = getKubernetesApiVersion("events.k8s.io/v1");
|
|
125
|
+
var flowcontrolApiserverV1 = getKubernetesApiVersion("flowcontrol.apiserver.k8s.io/v1");
|
|
126
|
+
var internalApiserverV1alpha1 = getKubernetesApiVersion("internal.apiserver.k8s.io/v1alpha1");
|
|
127
|
+
var networkingV1 = getKubernetesApiVersion("networking.k8s.io/v1");
|
|
128
|
+
var networkingV1beta1 = getKubernetesApiVersion("networking.k8s.io/v1beta1");
|
|
129
|
+
var nodeV1 = getKubernetesApiVersion("node.k8s.io/v1");
|
|
130
|
+
var policyV1 = getKubernetesApiVersion("policy/v1");
|
|
131
|
+
var rbacAuthorizationV1 = getKubernetesApiVersion("rbac.authorization.k8s.io/v1");
|
|
132
|
+
var resourceV1 = getKubernetesApiVersion("resource.k8s.io/v1");
|
|
133
|
+
var resourceV1alpha3 = getKubernetesApiVersion("resource.k8s.io/v1alpha3");
|
|
134
|
+
var resourceV1beta1 = getKubernetesApiVersion("resource.k8s.io/v1beta1");
|
|
135
|
+
var resourceV1beta2 = getKubernetesApiVersion("resource.k8s.io/v1beta2");
|
|
136
|
+
var schedulingV1 = getKubernetesApiVersion("scheduling.k8s.io/v1");
|
|
137
|
+
var schedulingV1alpha2 = getKubernetesApiVersion("scheduling.k8s.io/v1alpha2");
|
|
138
|
+
var storagemigrationV1beta1 = getKubernetesApiVersion("storagemigration.k8s.io/v1beta1");
|
|
139
|
+
var storageV1 = getKubernetesApiVersion("storage.k8s.io/v1");
|
|
140
|
+
var storageV1beta1 = getKubernetesApiVersion("storage.k8s.io/v1beta1");
|
|
141
|
+
|
|
142
|
+
// src/kube-resource-kind.ts
|
|
143
|
+
var import_injectable2 = require("@k8slens/injectable");
|
|
144
|
+
var getKubeResourceKind = (kind) => (0, import_injectable2.getTypedSpecifier)()(kind);
|
|
145
|
+
|
|
146
|
+
// src/generated/kinds.ts
|
|
147
|
+
var clusterRoleKind = getKubeResourceKind("ClusterRole");
|
|
148
|
+
var clusterRoleBindingKind = getKubeResourceKind("ClusterRoleBinding");
|
|
149
|
+
var configMapKind = getKubeResourceKind("ConfigMap");
|
|
150
|
+
var cronJobKind = getKubeResourceKind("CronJob");
|
|
151
|
+
var customResourceDefinitionKind = getKubeResourceKind("CustomResourceDefinition");
|
|
152
|
+
var daemonSetKind = getKubeResourceKind("DaemonSet");
|
|
153
|
+
var deploymentKind = getKubeResourceKind("Deployment");
|
|
154
|
+
var endpointsKind = getKubeResourceKind("Endpoints");
|
|
155
|
+
var endpointSliceKind = getKubeResourceKind("EndpointSlice");
|
|
156
|
+
var horizontalPodAutoscalerKind = getKubeResourceKind("HorizontalPodAutoscaler");
|
|
157
|
+
var ingressKind = getKubeResourceKind("Ingress");
|
|
158
|
+
var ingressClassKind = getKubeResourceKind("IngressClass");
|
|
159
|
+
var jobKind = getKubeResourceKind("Job");
|
|
160
|
+
var leaseKind = getKubeResourceKind("Lease");
|
|
161
|
+
var limitRangeKind = getKubeResourceKind("LimitRange");
|
|
162
|
+
var mutatingWebhookConfigurationKind = getKubeResourceKind("MutatingWebhookConfiguration");
|
|
163
|
+
var namespaceKind = getKubeResourceKind("Namespace");
|
|
164
|
+
var networkPolicyKind = getKubeResourceKind("NetworkPolicy");
|
|
165
|
+
var nodeKind = getKubeResourceKind("Node");
|
|
166
|
+
var persistentVolumeKind = getKubeResourceKind("PersistentVolume");
|
|
167
|
+
var persistentVolumeClaimKind = getKubeResourceKind("PersistentVolumeClaim");
|
|
168
|
+
var podKind = getKubeResourceKind("Pod");
|
|
169
|
+
var podDisruptionBudgetKind = getKubeResourceKind("PodDisruptionBudget");
|
|
170
|
+
var priorityClassKind = getKubeResourceKind("PriorityClass");
|
|
171
|
+
var replicaSetKind = getKubeResourceKind("ReplicaSet");
|
|
172
|
+
var replicationControllerKind = getKubeResourceKind("ReplicationController");
|
|
173
|
+
var resourceQuotaKind = getKubeResourceKind("ResourceQuota");
|
|
174
|
+
var roleKind = getKubeResourceKind("Role");
|
|
175
|
+
var roleBindingKind = getKubeResourceKind("RoleBinding");
|
|
176
|
+
var runtimeClassKind = getKubeResourceKind("RuntimeClass");
|
|
177
|
+
var secretKind = getKubeResourceKind("Secret");
|
|
178
|
+
var serviceKind = getKubeResourceKind("Service");
|
|
179
|
+
var serviceAccountKind = getKubeResourceKind("ServiceAccount");
|
|
180
|
+
var statefulSetKind = getKubeResourceKind("StatefulSet");
|
|
181
|
+
var storageClassKind = getKubeResourceKind("StorageClass");
|
|
182
|
+
var validatingWebhookConfigurationKind = getKubeResourceKind("ValidatingWebhookConfiguration");
|
|
183
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
184
|
+
0 && (module.exports = {
|
|
185
|
+
admissionregistrationV1,
|
|
186
|
+
admissionregistrationV1alpha1,
|
|
187
|
+
admissionregistrationV1beta1,
|
|
188
|
+
apiextensionsV1,
|
|
189
|
+
apiregistrationV1,
|
|
190
|
+
appsV1,
|
|
191
|
+
authenticationV1,
|
|
192
|
+
authorizationV1,
|
|
193
|
+
autoscalingV1,
|
|
194
|
+
autoscalingV2,
|
|
195
|
+
batchV1,
|
|
196
|
+
certificatesV1,
|
|
197
|
+
certificatesV1alpha1,
|
|
198
|
+
certificatesV1beta1,
|
|
199
|
+
clusterRoleBindingKind,
|
|
200
|
+
clusterRoleKind,
|
|
201
|
+
configMapKind,
|
|
202
|
+
coordinationV1,
|
|
203
|
+
coordinationV1alpha2,
|
|
204
|
+
coordinationV1beta1,
|
|
205
|
+
coreV1,
|
|
206
|
+
cronJobKind,
|
|
207
|
+
customResourceDefinitionKind,
|
|
208
|
+
daemonSetKind,
|
|
209
|
+
deploymentKind,
|
|
210
|
+
discoveryV1,
|
|
211
|
+
endpointSliceKind,
|
|
212
|
+
endpointsKind,
|
|
213
|
+
eventsV1,
|
|
214
|
+
flowcontrolApiserverV1,
|
|
215
|
+
getKubeResourceKind,
|
|
216
|
+
getKubernetesApiVersion,
|
|
217
|
+
horizontalPodAutoscalerKind,
|
|
218
|
+
ingressClassKind,
|
|
219
|
+
ingressKind,
|
|
220
|
+
internalApiserverV1alpha1,
|
|
221
|
+
jobKind,
|
|
222
|
+
leaseKind,
|
|
223
|
+
limitRangeKind,
|
|
224
|
+
mutatingWebhookConfigurationKind,
|
|
225
|
+
namespaceKind,
|
|
226
|
+
networkPolicyKind,
|
|
227
|
+
networkingV1,
|
|
228
|
+
networkingV1beta1,
|
|
229
|
+
nodeKind,
|
|
230
|
+
nodeV1,
|
|
231
|
+
persistentVolumeClaimKind,
|
|
232
|
+
persistentVolumeKind,
|
|
233
|
+
podDisruptionBudgetKind,
|
|
234
|
+
podKind,
|
|
235
|
+
policyV1,
|
|
236
|
+
priorityClassKind,
|
|
237
|
+
rbacAuthorizationV1,
|
|
238
|
+
replicaSetKind,
|
|
239
|
+
replicationControllerKind,
|
|
240
|
+
resourceQuotaKind,
|
|
241
|
+
resourceV1,
|
|
242
|
+
resourceV1alpha3,
|
|
243
|
+
resourceV1beta1,
|
|
244
|
+
resourceV1beta2,
|
|
245
|
+
roleBindingKind,
|
|
246
|
+
roleKind,
|
|
247
|
+
runtimeClassKind,
|
|
248
|
+
schedulingV1,
|
|
249
|
+
schedulingV1alpha2,
|
|
250
|
+
secretKind,
|
|
251
|
+
serviceAccountKind,
|
|
252
|
+
serviceKind,
|
|
253
|
+
statefulSetKind,
|
|
254
|
+
storageClassKind,
|
|
255
|
+
storageV1,
|
|
256
|
+
storageV1beta1,
|
|
257
|
+
storagemigrationV1beta1,
|
|
258
|
+
validatingWebhookConfigurationKind
|
|
259
|
+
});
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vaW5kZXgudHMiLCAiLi4vc3JjL2t1YmVybmV0ZXMtYXBpLXZlcnNpb24udHMiLCAiLi4vc3JjL2dlbmVyYXRlZC9hcGktdmVyc2lvbnMudHMiLCAiLi4vc3JjL2t1YmUtcmVzb3VyY2Uta2luZC50cyIsICIuLi9zcmMvZ2VuZXJhdGVkL2tpbmRzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJleHBvcnQgKiBmcm9tIFwiLi9zcmMvZ2VuZXJhdGVkL2t1YmVybmV0ZXMtdHlwZXNcIjtcbmV4cG9ydCB7IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uLCB0eXBlIEt1YmVybmV0ZXNBcGlWZXJzaW9uIH0gZnJvbSBcIi4vc3JjL2t1YmVybmV0ZXMtYXBpLXZlcnNpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NyYy9nZW5lcmF0ZWQvYXBpLXZlcnNpb25zXCI7XG5leHBvcnQge1xuICBnZXRLdWJlUmVzb3VyY2VLaW5kLFxuICB0eXBlIEt1YmVSZXNvdXJjZSxcbiAgdHlwZSBLdWJlUmVzb3VyY2VBcGlWZXJzaW9uLFxuICB0eXBlIEt1YmVSZXNvdXJjZUJhc2UsXG4gIHR5cGUgS3ViZVJlc291cmNlS2luZCxcbiAgdHlwZSBLdWJlUmVzb3VyY2VTaGFwZXMsXG4gIHR5cGUgS3ViZVJlc291cmNlU2hhcGVzT2YsXG4gIHR5cGUgS3ViZVJlc291cmNlVHlwZSxcbn0gZnJvbSBcIi4vc3JjL2t1YmUtcmVzb3VyY2Uta2luZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3JjL2dlbmVyYXRlZC9raW5kc1wiO1xuIiwgImltcG9ydCB7IGdldFR5cGVkU3BlY2lmaWVyLCB0eXBlIFR5cGVkU3BlY2lmaWVyIH0gZnJvbSBcIkBrOHNsZW5zL2luamVjdGFibGVcIjtcblxuLyoqXG4gKiBJZGVudGlmaWVzIG9uZSBLdWJlcm5ldGVzIEFQSSB2ZXJzaW9uLCB0aGUgYGFwaVZlcnNpb25gIG9mIGEgcmVzb3VyY2U6IGB2MWBcbiAqIGZvciB0aGUgY29yZSBncm91cCwgYDxncm91cD4vPHZlcnNpb24+YCBmb3IgZXZlcnkgb3RoZXIgZ3JvdXAuIEF0IHJ1bnRpbWUgaXRcbiAqIGlzIHRoYXQgc3RyaW5nIHZlcmJhdGltLCBzbyBpdCBpcyB1c2FibGUgYXMgYSBgLmZvcigpYCBrZXkgd2hlcmV2ZXIgYSBjb250cmFjdFxuICogaXMga2V5ZWQgYnkgQVBJIHZlcnNpb247IGF0IHRoZSB0eXBlIGxldmVsIGl0IGlzIGEgZGlzdGluY3Qgc3BlY2lmaWVyLCBzbyBhXG4gKiBraW5kLCBhbiBpZCBvciBhIHBsYWluIHN0cmluZyBjYW5ub3QgYmUgcGFzc2VkIHdoZXJlIGFuIEFQSSB2ZXJzaW9uIGJlbG9uZ3MuXG4gKlxuICogQ3JlYXRlIG9uZSB3aXRoIHtAbGluayBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbn07IHRoZSB2ZXJzaW9ucyBMZW5zIGl0c2VsZlxuICogc2VydmVzIGFyZSBleHBvcnRlZCByZWFkeS1tYWRlLCBlLmcuIHtAbGluayBjb3JlVjF9IGFuZCB7QGxpbmsgYXBwc1YxfS5cbiAqL1xuZXhwb3J0IHR5cGUgS3ViZXJuZXRlc0FwaVZlcnNpb248UyBleHRlbmRzIHN0cmluZyA9IHN0cmluZz4gPSBUeXBlZFNwZWNpZmllcjxTLCB7IGt1YmVybmV0ZXNBcGlWZXJzaW9uOiBTIH0+O1xuXG4vKipcbiAqIERlY2xhcmVzIGEgS3ViZXJuZXRlcyBBUEkgdmVyc2lvbi4gVGhlIGFyZ3VtZW50IGlzIHRoZSBgYXBpVmVyc2lvbmAgdmVyYmF0aW0sXG4gKiBhcyBpdCBhcHBlYXJzIGluIGV2ZXJ5IHJlc291cmNlIG9mIHRoYXQgdmVyc2lvbi5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGV4cG9ydCBjb25zdCBiYWNrdXBzVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcImJhY2t1cHMuZXhhbXBsZS5jb20vdjFcIik7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uID0gPFMgZXh0ZW5kcyBzdHJpbmc+KGFwaVZlcnNpb246IFMpID0+XG4gIGdldFR5cGVkU3BlY2lmaWVyPHsga3ViZXJuZXRlc0FwaVZlcnNpb246IFMgfT4oKShhcGlWZXJzaW9uKTtcbiIsICIvKipcbiAqIEV2ZXJ5IEFQSSB2ZXJzaW9uIEBrdWJlcm5ldGVzL2NsaWVudC1ub2RlIHNlcnZlcywgYXMgYSB0eXBlZCBzcGVjaWZpZXIuXG4gKlxuICogR0VORVJBVEVEIGJ5IHBhY2thZ2VzL3RlY2huaWNhbC1mZWF0dXJlcy9fa3ViZS9rdWJlcm5ldGVzLWNvbnRyYWN0cy9nZW5lcmF0b3IuIERPIE5PVCBFRElULlxuICogUmVnZW5lcmF0ZSB3aXRoIGBucG0gcnVuIGdlbmVyYXRlIC0td29ya3NwYWNlIEBrOHNsZW5zL2t1YmVybmV0ZXMtY29udHJhY3RzYC5cbiAqXG4gKiBEZXJpdmVkIGZyb20gQGt1YmVybmV0ZXMvY2xpZW50LW5vZGUgMi4wLjAgKEFwYWNoZS0yLjApLCBpdHNlbGYgZ2VuZXJhdGVkIGZyb20gdGhlXG4gKiBLdWJlcm5ldGVzIE9wZW5BUEkgc3BlY2lmaWNhdGlvbiwgcmVsZWFzZS0xLjM2IChBcGFjaGUtMi4wKS5cbiAqL1xuXG5pbXBvcnQgeyBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbiB9IGZyb20gXCIuLi9rdWJlcm5ldGVzLWFwaS12ZXJzaW9uXCI7XG5cbi8qKiBUaGUgYGFkbWlzc2lvbnJlZ2lzdHJhdGlvbi5rOHMuaW8vdjFgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IGFkbWlzc2lvbnJlZ2lzdHJhdGlvblYxID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJhZG1pc3Npb25yZWdpc3RyYXRpb24uazhzLmlvL3YxXCIpO1xuXG4vKiogVGhlIGBhZG1pc3Npb25yZWdpc3RyYXRpb24uazhzLmlvL3YxYWxwaGExYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBhZG1pc3Npb25yZWdpc3RyYXRpb25WMWFscGhhMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwiYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pby92MWFscGhhMVwiKTtcblxuLyoqIFRoZSBgYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pby92MWJldGExYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBhZG1pc3Npb25yZWdpc3RyYXRpb25WMWJldGExID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJhZG1pc3Npb25yZWdpc3RyYXRpb24uazhzLmlvL3YxYmV0YTFcIik7XG5cbi8qKiBUaGUgYGFwaWV4dGVuc2lvbnMuazhzLmlvL3YxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBhcGlleHRlbnNpb25zVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcImFwaWV4dGVuc2lvbnMuazhzLmlvL3YxXCIpO1xuXG4vKiogVGhlIGBhcGlyZWdpc3RyYXRpb24uazhzLmlvL3YxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBhcGlyZWdpc3RyYXRpb25WMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwiYXBpcmVnaXN0cmF0aW9uLms4cy5pby92MVwiKTtcblxuLyoqIFRoZSBgYXBwcy92MWAgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3QgYXBwc1YxID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJhcHBzL3YxXCIpO1xuXG4vKiogVGhlIGBhdXRoZW50aWNhdGlvbi5rOHMuaW8vdjFgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IGF1dGhlbnRpY2F0aW9uVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcImF1dGhlbnRpY2F0aW9uLms4cy5pby92MVwiKTtcblxuLyoqIFRoZSBgYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IGF1dGhvcml6YXRpb25WMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwiYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFcIik7XG5cbi8qKiBUaGUgYGF1dG9zY2FsaW5nL3YxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBhdXRvc2NhbGluZ1YxID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJhdXRvc2NhbGluZy92MVwiKTtcblxuLyoqIFRoZSBgYXV0b3NjYWxpbmcvdjJgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IGF1dG9zY2FsaW5nVjIgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcImF1dG9zY2FsaW5nL3YyXCIpO1xuXG4vKiogVGhlIGBiYXRjaC92MWAgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3QgYmF0Y2hWMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwiYmF0Y2gvdjFcIik7XG5cbi8qKiBUaGUgYGNlcnRpZmljYXRlcy5rOHMuaW8vdjFgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IGNlcnRpZmljYXRlc1YxID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJjZXJ0aWZpY2F0ZXMuazhzLmlvL3YxXCIpO1xuXG4vKiogVGhlIGBjZXJ0aWZpY2F0ZXMuazhzLmlvL3YxYWxwaGExYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBjZXJ0aWZpY2F0ZXNWMWFscGhhMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwiY2VydGlmaWNhdGVzLms4cy5pby92MWFscGhhMVwiKTtcblxuLyoqIFRoZSBgY2VydGlmaWNhdGVzLms4cy5pby92MWJldGExYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBjZXJ0aWZpY2F0ZXNWMWJldGExID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJjZXJ0aWZpY2F0ZXMuazhzLmlvL3YxYmV0YTFcIik7XG5cbi8qKiBUaGUgYGNvb3JkaW5hdGlvbi5rOHMuaW8vdjFgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IGNvb3JkaW5hdGlvblYxID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJjb29yZGluYXRpb24uazhzLmlvL3YxXCIpO1xuXG4vKiogVGhlIGBjb29yZGluYXRpb24uazhzLmlvL3YxYWxwaGEyYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBjb29yZGluYXRpb25WMWFscGhhMiA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwiY29vcmRpbmF0aW9uLms4cy5pby92MWFscGhhMlwiKTtcblxuLyoqIFRoZSBgY29vcmRpbmF0aW9uLms4cy5pby92MWJldGExYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBjb29yZGluYXRpb25WMWJldGExID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJjb29yZGluYXRpb24uazhzLmlvL3YxYmV0YTFcIik7XG5cbi8qKiBUaGUgYHYxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBjb3JlVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcInYxXCIpO1xuXG4vKiogVGhlIGBkaXNjb3ZlcnkuazhzLmlvL3YxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBkaXNjb3ZlcnlWMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwiZGlzY292ZXJ5Lms4cy5pby92MVwiKTtcblxuLyoqIFRoZSBgZXZlbnRzLms4cy5pby92MWAgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3QgZXZlbnRzVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcImV2ZW50cy5rOHMuaW8vdjFcIik7XG5cbi8qKiBUaGUgYGZsb3djb250cm9sLmFwaXNlcnZlci5rOHMuaW8vdjFgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IGZsb3djb250cm9sQXBpc2VydmVyVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcImZsb3djb250cm9sLmFwaXNlcnZlci5rOHMuaW8vdjFcIik7XG5cbi8qKiBUaGUgYGludGVybmFsLmFwaXNlcnZlci5rOHMuaW8vdjFhbHBoYTFgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IGludGVybmFsQXBpc2VydmVyVjFhbHBoYTEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcImludGVybmFsLmFwaXNlcnZlci5rOHMuaW8vdjFhbHBoYTFcIik7XG5cbi8qKiBUaGUgYG5ldHdvcmtpbmcuazhzLmlvL3YxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBuZXR3b3JraW5nVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcIm5ldHdvcmtpbmcuazhzLmlvL3YxXCIpO1xuXG4vKiogVGhlIGBuZXR3b3JraW5nLms4cy5pby92MWJldGExYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBuZXR3b3JraW5nVjFiZXRhMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwibmV0d29ya2luZy5rOHMuaW8vdjFiZXRhMVwiKTtcblxuLyoqIFRoZSBgbm9kZS5rOHMuaW8vdjFgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IG5vZGVWMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwibm9kZS5rOHMuaW8vdjFcIik7XG5cbi8qKiBUaGUgYHBvbGljeS92MWAgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3QgcG9saWN5VjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcInBvbGljeS92MVwiKTtcblxuLyoqIFRoZSBgcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MWAgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3QgcmJhY0F1dGhvcml6YXRpb25WMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwicmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MVwiKTtcblxuLyoqIFRoZSBgcmVzb3VyY2UuazhzLmlvL3YxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCByZXNvdXJjZVYxID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJyZXNvdXJjZS5rOHMuaW8vdjFcIik7XG5cbi8qKiBUaGUgYHJlc291cmNlLms4cy5pby92MWFscGhhM2AgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3QgcmVzb3VyY2VWMWFscGhhMyA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwicmVzb3VyY2UuazhzLmlvL3YxYWxwaGEzXCIpO1xuXG4vKiogVGhlIGByZXNvdXJjZS5rOHMuaW8vdjFiZXRhMWAgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3QgcmVzb3VyY2VWMWJldGExID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJyZXNvdXJjZS5rOHMuaW8vdjFiZXRhMVwiKTtcblxuLyoqIFRoZSBgcmVzb3VyY2UuazhzLmlvL3YxYmV0YTJgIEFQSSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGNvbnN0IHJlc291cmNlVjFiZXRhMiA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwicmVzb3VyY2UuazhzLmlvL3YxYmV0YTJcIik7XG5cbi8qKiBUaGUgYHNjaGVkdWxpbmcuazhzLmlvL3YxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBzY2hlZHVsaW5nVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcInNjaGVkdWxpbmcuazhzLmlvL3YxXCIpO1xuXG4vKiogVGhlIGBzY2hlZHVsaW5nLms4cy5pby92MWFscGhhMmAgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3Qgc2NoZWR1bGluZ1YxYWxwaGEyID0gZ2V0S3ViZXJuZXRlc0FwaVZlcnNpb24oXCJzY2hlZHVsaW5nLms4cy5pby92MWFscGhhMlwiKTtcblxuLyoqIFRoZSBgc3RvcmFnZW1pZ3JhdGlvbi5rOHMuaW8vdjFiZXRhMWAgQVBJIHZlcnNpb24uICovXG5leHBvcnQgY29uc3Qgc3RvcmFnZW1pZ3JhdGlvblYxYmV0YTEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcInN0b3JhZ2VtaWdyYXRpb24uazhzLmlvL3YxYmV0YTFcIik7XG5cbi8qKiBUaGUgYHN0b3JhZ2UuazhzLmlvL3YxYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBzdG9yYWdlVjEgPSBnZXRLdWJlcm5ldGVzQXBpVmVyc2lvbihcInN0b3JhZ2UuazhzLmlvL3YxXCIpO1xuXG4vKiogVGhlIGBzdG9yYWdlLms4cy5pby92MWJldGExYCBBUEkgdmVyc2lvbi4gKi9cbmV4cG9ydCBjb25zdCBzdG9yYWdlVjFiZXRhMSA9IGdldEt1YmVybmV0ZXNBcGlWZXJzaW9uKFwic3RvcmFnZS5rOHMuaW8vdjFiZXRhMVwiKTtcbiIsICJpbXBvcnQgeyBnZXRUeXBlZFNwZWNpZmllciwgdHlwZSBUeXBlZFNwZWNpZmllciwgdHlwZSBUeXBlZFNwZWNpZmllclR5cGUgfSBmcm9tIFwiQGs4c2xlbnMvaW5qZWN0YWJsZVwiO1xuaW1wb3J0IHR5cGUgeyBLdWJlcm5ldGVzQXBpVmVyc2lvbiB9IGZyb20gXCIuL2t1YmVybmV0ZXMtYXBpLXZlcnNpb25cIjtcblxuLyoqXG4gKiBUaGUgc2hhcGVzIG9mIGEga2luZCdzIHJlc291cmNlcywgb25lIHBlciBBUEkgdmVyc2lvbiB0aGUga2luZCBpcyBzZXJ2ZWQgaW4sXG4gKiBrZXllZCBieSB0aGUgYGFwaVZlcnNpb25gIHZlcmJhdGltOiBgeyBcInYxXCI6IFBvZFYxIH1gLCBgeyBcImF1dG9zY2FsaW5nL3YxXCI6IEhwYVYxOyBcImF1dG9zY2FsaW5nL3YyXCI6IEhwYVYyIH1gLlxuICovXG5leHBvcnQgdHlwZSBLdWJlUmVzb3VyY2VTaGFwZXMgPSBSZWNvcmQ8c3RyaW5nLCB7fT47XG5cbi8qKlxuICogSWRlbnRpZmllcyBvbmUgS3ViZXJuZXRlcyByZXNvdXJjZSBraW5kLCBzdWNoIGFzIGBQb2RgIG9yIGEgY3VzdG9tIHJlc291cmNlJ3NcbiAqIGtpbmQuIEF0IHJ1bnRpbWUgYSBraW5kIGlzIHRoZSBLdWJlcm5ldGVzIGBraW5kYCBzdHJpbmcgdmVyYmF0aW0sIHNvIGl0IGlzXG4gKiB1c2FibGUgYXMgYSBgLmZvcigpYCBrZXkgd2hlcmV2ZXIgYSBjb250cmFjdCBpcyBrZXllZCBieSBraW5kOyBhdCB0aGUgdHlwZVxuICogbGV2ZWwgaXQgY2FycmllcyB0aGUgc2hhcGUgb2YgdGhlIGtpbmQncyByZXNvdXJjZXMgcGVyIEFQSSB2ZXJzaW9uLCBzbyBhXG4gKiBjb250cmFjdCBrZXllZCBieSBraW5kIGFuZCB0aGVuIEFQSSB2ZXJzaW9uIGtub3dzIHRoZSBleGFjdCByZXNvdXJjZSBpdFxuICogaGFuZGxlcy5cbiAqXG4gKiBDcmVhdGUgb25lIHdpdGgge0BsaW5rIGdldEt1YmVSZXNvdXJjZUtpbmR9LlxuICovXG5leHBvcnQgdHlwZSBLdWJlUmVzb3VyY2VLaW5kPFNoYXBlcyBleHRlbmRzIEt1YmVSZXNvdXJjZVNoYXBlcyA9IEt1YmVSZXNvdXJjZVNoYXBlcz4gPSBUeXBlZFNwZWNpZmllcjxcbiAgc3RyaW5nLFxuICB7IGt1YmVSZXNvdXJjZTogU2hhcGVzIH1cbj47XG5cbnR5cGUgSXNBbnk8VD4gPSAwIGV4dGVuZHMgMSAmIFQgPyB0cnVlIDogZmFsc2U7XG5cbi8qKiBUaGUgcGVyLUFQSS12ZXJzaW9uIHNoYXBlcyBhIHtAbGluayBLdWJlUmVzb3VyY2VLaW5kfSB3YXMgZGVjbGFyZWQgd2l0aDsgZXZlcnkgc2hhcGUgd2hlbiB0aGUga2luZCBpcyBlcmFzZWQgdG8gYGFueWAuICovXG5leHBvcnQgdHlwZSBLdWJlUmVzb3VyY2VTaGFwZXNPZjxUS2luZCBleHRlbmRzIEt1YmVSZXNvdXJjZUtpbmQ+ID0gSXNBbnk8VEtpbmQ+IGV4dGVuZHMgdHJ1ZVxuICA/IEt1YmVSZXNvdXJjZVNoYXBlc1xuICA6IFR5cGVkU3BlY2lmaWVyVHlwZTxcImt1YmVSZXNvdXJjZVwiLCBUS2luZD47XG5cbi8qKlxuICogQW4gQVBJIHZlcnNpb24gYSB7QGxpbmsgS3ViZVJlc291cmNlS2luZH0gaXMgZGVjbGFyZWQgZm9yOiBhXG4gKiB7QGxpbmsgS3ViZXJuZXRlc0FwaVZlcnNpb259IGFtb25nIHRoZSBrZXlzIG9mIHRoZSBraW5kJ3Mgc2hhcGVzLiBBbnl0aGluZ1xuICogZWxzZSBmYWlscyB0byBjb21waWxlIHdoZXJlIGEgdmVyc2lvbmVkIGNvbnRyYWN0IGFza3MgZm9yIG9uZS5cbiAqL1xuZXhwb3J0IHR5cGUgS3ViZVJlc291cmNlQXBpVmVyc2lvbjxUS2luZCBleHRlbmRzIEt1YmVSZXNvdXJjZUtpbmQ+ID0gS3ViZXJuZXRlc0FwaVZlcnNpb24gJlxuICBrZXlvZiBLdWJlUmVzb3VyY2VTaGFwZXNPZjxUS2luZD47XG5cbi8qKlxuICogVGhlIHJlc291cmNlIHNoYXBlIGEge0BsaW5rIEt1YmVSZXNvdXJjZUtpbmR9IHdhcyBkZWNsYXJlZCB3aXRoIGZvciBvbmUgQVBJXG4gKiB2ZXJzaW9uOyBldmVyeSBkZWNsYXJlZCB2ZXJzaW9uIGF0IG9uY2Ugd2hlbiB0aGUgdmVyc2lvbiBpcyBsZWZ0IG91dCwgYW5kXG4gKiBub3RoaW5nIGJleW9uZCB0aGUgY29tbW9uIGZpZWxkcyBmb3IgYSBraW5kIGRlY2xhcmVkIHdpdGhvdXQgc2hhcGVzLlxuICovXG5leHBvcnQgdHlwZSBLdWJlUmVzb3VyY2VUeXBlPFxuICBUS2luZCBleHRlbmRzIEt1YmVSZXNvdXJjZUtpbmQsXG4gIFRBcGlWZXJzaW9uIGV4dGVuZHMga2V5b2YgS3ViZVJlc291cmNlU2hhcGVzT2Y8VEtpbmQ+ID0ga2V5b2YgS3ViZVJlc291cmNlU2hhcGVzT2Y8VEtpbmQ+LFxuPiA9IFtTaGFwZUtleUZvcjxLdWJlUmVzb3VyY2VTaGFwZXNPZjxUS2luZD4sIFRBcGlWZXJzaW9uPl0gZXh0ZW5kcyBbbmV2ZXJdXG4gID8ge31cbiAgOiBLdWJlUmVzb3VyY2VTaGFwZXNPZjxUS2luZD5bU2hhcGVLZXlGb3I8S3ViZVJlc291cmNlU2hhcGVzT2Y8VEtpbmQ+LCBUQXBpVmVyc2lvbj5dO1xuXG4vKipcbiAqIFRoZSBrZXkgb2YgYFNoYXBlc2AgYW4gQVBJIHZlcnNpb24gc2VsZWN0cy4gQW4gQVBJIHZlcnNpb24gaXMgYSBicmFuZGVkIHN0cmluZyxcbiAqIGFuZCBpbmRleGluZyB3aXRoIGEgYnJhbmRlZCBzdHJpbmcgeWllbGRzIG5vdGhpbmcsIHNvIHRoZSBrZXkgaXMgZm91bmQgYnlcbiAqIG1hdGNoaW5nIHRoZSB2ZXJzaW9uIGFnYWluc3QgZWFjaCBrZXkgaW5zdGVhZC5cbiAqL1xudHlwZSBTaGFwZUtleUZvcjxTaGFwZXMsIFRBcGlWZXJzaW9uPiA9IHtcbiAgW0tleSBpbiBrZXlvZiBTaGFwZXNdOiBUQXBpVmVyc2lvbiBleHRlbmRzIEtleSA/IEtleSA6IG5ldmVyO1xufVtrZXlvZiBTaGFwZXNdO1xuXG4vKipcbiAqIFdoYXQgZXZlcnkgc2VydmVkIHJlc291cmNlIGNhcnJpZXMsIHdoYXRldmVyIGl0cyBraW5kOiB0aGUgaWRlbnRpdHkgTGVucyBrZXlzXG4gKiByZXNvdXJjZXMgYnkuIEludGVyc2VjdGVkIHdpdGggYSBraW5kJ3Mgc2hhcGUsIHNvIGEgc2hhcGUgdGhhdCBsZWF2ZXMgdGhlc2VcbiAqIG9wdGlvbmFsIChzY2hlbWEtZGVyaXZlZCBzaGFwZXMgZG8pIHN0aWxsIHByb21pc2VzIHRoZW0gb25jZSBzZXJ2ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS3ViZVJlc291cmNlQmFzZSB7XG4gIGtpbmQ6IHN0cmluZztcbiAgYXBpVmVyc2lvbjogc3RyaW5nO1xuXG4gIG1ldGFkYXRhOiB7XG4gICAgdWlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHNlbGZMaW5rOiBzdHJpbmc7XG4gIH07XG59XG5cbi8qKlxuICogQSByZXNvdXJjZSBvZiBhIHtAbGluayBLdWJlUmVzb3VyY2VLaW5kfSBpbiBvbmUgQVBJIHZlcnNpb24sIGFzIExlbnMgc2VydmVzXG4gKiBpdDogdGhlIHNoYXBlIHRoZSBraW5kIHdhcyBkZWNsYXJlZCB3aXRoIGZvciB0aGF0IHZlcnNpb24sIHdpdGggdGhlIGZpZWxkc1xuICogZXZlcnkgc2VydmVkIHJlc291cmNlIGhhcyBndWFyYW50ZWVkLlxuICovXG5leHBvcnQgdHlwZSBLdWJlUmVzb3VyY2U8XG4gIFRLaW5kIGV4dGVuZHMgS3ViZVJlc291cmNlS2luZCA9IEt1YmVSZXNvdXJjZUtpbmQsXG4gIFRBcGlWZXJzaW9uIGV4dGVuZHMga2V5b2YgS3ViZVJlc291cmNlU2hhcGVzT2Y8VEtpbmQ+ID0ga2V5b2YgS3ViZVJlc291cmNlU2hhcGVzT2Y8VEtpbmQ+LFxuPiA9IEt1YmVSZXNvdXJjZVR5cGU8VEtpbmQsIFRBcGlWZXJzaW9uPiAmIEt1YmVSZXNvdXJjZUJhc2U7XG5cbi8qKlxuICogRGVjbGFyZXMgYSBLdWJlcm5ldGVzIHJlc291cmNlIGtpbmQuIFRoZSB0eXBlIHBhcmFtZXRlciBtYXBzIGVhY2ggQVBJIHZlcnNpb25cbiAqIHRoZSBraW5kIGlzIHNlcnZlZCBpbiB0byB0aGUgc2hhcGUgb2YgaXRzIHJlc291cmNlcyBpbiB0aGF0IHZlcnNpb247IHRoZVxuICogYXJndW1lbnQgaXMgdGhlIEt1YmVybmV0ZXMgYGtpbmRgIHZlcmJhdGltLCBhcyBpdCBhcHBlYXJzIGluIHRoZSBga2luZGAgZmllbGRcbiAqIG9mIGV2ZXJ5IHN1Y2ggcmVzb3VyY2UuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBleHBvcnQgY29uc3QgYmFja3VwS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICogICBcImJhY2t1cHMuZXhhbXBsZS5jb20vdjFcIjoge1xuICogICAgIGtpbmQ6IFwiQmFja3VwXCI7XG4gKiAgICAgbWV0YWRhdGE6IHsgbmFtZTogc3RyaW5nOyBuYW1lc3BhY2U6IHN0cmluZyB9O1xuICogICAgIHNwZWM6IHsgc2NoZWR1bGU6IHN0cmluZzsgcmV0ZW50aW9uRGF5czogbnVtYmVyIH07XG4gKiAgICAgc3RhdHVzPzogeyBsYXN0UnVuPzogc3RyaW5nIH07XG4gKiAgIH07XG4gKiB9PihcIkJhY2t1cFwiKTtcbiAqIGBgYFxuICovXG5leHBvcnQgY29uc3QgZ2V0S3ViZVJlc291cmNlS2luZCA9IDxTaGFwZXMgZXh0ZW5kcyBLdWJlUmVzb3VyY2VTaGFwZXMgPSBLdWJlUmVzb3VyY2VTaGFwZXM+KGtpbmQ6IHN0cmluZykgPT5cbiAgZ2V0VHlwZWRTcGVjaWZpZXI8eyBrdWJlUmVzb3VyY2U6IFNoYXBlcyB9PigpKGtpbmQpO1xuIiwgIi8qKlxuICogVGhlIGtpbmRzIExlbnMgaXRzZWxmIGtub3dzLCBkZWNsYXJlZCBmb3IgZXh0ZW5zaW9uczogZWFjaCByZXNvdXJjZSB0eXBlIGFzIHRoZSBBUElcbiAqIHNlcnZlcyBpdCwgd2l0aCB0aGUgZmllbGRzIGEgc2VydmVkIHJlc291cmNlIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQsIGFuZCB0aGVcbiAqIHR5cGVkIGtpbmQgdG8gaGFuZCB0byBhbnkgY29udHJhY3Qga2V5ZWQgYnkga2luZC5cbiAqXG4gKiBHRU5FUkFURUQgYnkgcGFja2FnZXMvdGVjaG5pY2FsLWZlYXR1cmVzL19rdWJlL2t1YmVybmV0ZXMtY29udHJhY3RzL2dlbmVyYXRvci4gRE8gTk9UIEVESVQuXG4gKiBSZWdlbmVyYXRlIHdpdGggYG5wbSBydW4gZ2VuZXJhdGUgLS13b3Jrc3BhY2UgQGs4c2xlbnMva3ViZXJuZXRlcy1jb250cmFjdHNgLlxuICpcbiAqIERlcml2ZWQgZnJvbSBAa3ViZXJuZXRlcy9jbGllbnQtbm9kZSAyLjAuMCAoQXBhY2hlLTIuMCksIGl0c2VsZiBnZW5lcmF0ZWQgZnJvbSB0aGVcbiAqIEt1YmVybmV0ZXMgT3BlbkFQSSBzcGVjaWZpY2F0aW9uLCByZWxlYXNlLTEuMzYgKEFwYWNoZS0yLjApLlxuICovXG5cbmltcG9ydCB7IGdldEt1YmVSZXNvdXJjZUtpbmQgfSBmcm9tIFwiLi4va3ViZS1yZXNvdXJjZS1raW5kXCI7XG5cbmltcG9ydCB0eXBlIHtcbiAgVjFDbHVzdGVyUm9sZSxcbiAgVjFDbHVzdGVyUm9sZUJpbmRpbmcsXG4gIFYxQ29uZmlnTWFwLFxuICBWMUNyb25Kb2IsXG4gIFYxQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uLFxuICBWMURhZW1vblNldCxcbiAgVjFEZXBsb3ltZW50LFxuICBWMUVuZHBvaW50U2xpY2UsXG4gIFYxRW5kcG9pbnRzLFxuICBWMUhvcml6b250YWxQb2RBdXRvc2NhbGVyLFxuICBWMUluZ3Jlc3MsXG4gIFYxSW5ncmVzc0NsYXNzLFxuICBWMUpvYixcbiAgVjFMZWFzZSxcbiAgVjFMaW1pdFJhbmdlLFxuICBWMU11dGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb24sXG4gIFYxTmFtZXNwYWNlLFxuICBWMU5ldHdvcmtQb2xpY3ksXG4gIFYxTm9kZSxcbiAgVjFPYmplY3RNZXRhLFxuICBWMVBlcnNpc3RlbnRWb2x1bWUsXG4gIFYxUGVyc2lzdGVudFZvbHVtZUNsYWltLFxuICBWMVBvZCxcbiAgVjFQb2REaXNydXB0aW9uQnVkZ2V0LFxuICBWMVByaW9yaXR5Q2xhc3MsXG4gIFYxUmVwbGljYVNldCxcbiAgVjFSZXBsaWNhdGlvbkNvbnRyb2xsZXIsXG4gIFYxUmVzb3VyY2VRdW90YSxcbiAgVjFSb2xlLFxuICBWMVJvbGVCaW5kaW5nLFxuICBWMVJ1bnRpbWVDbGFzcyxcbiAgVjFTZWNyZXQsXG4gIFYxU2VydmljZSxcbiAgVjFTZXJ2aWNlQWNjb3VudCxcbiAgVjFTdGF0ZWZ1bFNldCxcbiAgVjFTdG9yYWdlQ2xhc3MsXG4gIFYxVmFsaWRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uLFxuICBWMkhvcml6b250YWxQb2RBdXRvc2NhbGVyLFxufSBmcm9tIFwiLi9rdWJlcm5ldGVzLXR5cGVzXCI7XG5cbi8qKlxuICogVGhlIG1ldGFkYXRhIG9mIGEgbmFtZXNwYWNlZCByZXNvdXJjZSBhcyB0aGUgQVBJIHNlcnZlcyBpdDogdGhlIHNjaGVtYSBsZWF2ZXNcbiAqIGV2ZXJ5IGZpZWxkIG9wdGlvbmFsIGJlY2F1c2UgdGhlIHNhbWUgdHlwZSBhbHNvIGRlc2NyaWJlcyB3aGF0IGEgY2xpZW50IHNlbmRzLFxuICogYnV0IGEgc2VydmVkIHJlc291cmNlIGFsd2F5cyBjYXJyaWVzIHRoZXNlLlxuICovXG5leHBvcnQgdHlwZSBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YSA9IFYxT2JqZWN0TWV0YSAmIHtcbiAgbmFtZTogc3RyaW5nO1xuICBuYW1lc3BhY2U6IHN0cmluZztcbiAgdWlkOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFRoZSBtZXRhZGF0YSBvZiBhIGNsdXN0ZXItc2NvcGVkIHJlc291cmNlIGFzIHRoZSBBUEkgc2VydmVzIGl0OiB0aGUgc2NoZW1hIGxlYXZlc1xuICogZXZlcnkgZmllbGQgb3B0aW9uYWwgYmVjYXVzZSB0aGUgc2FtZSB0eXBlIGFsc28gZGVzY3JpYmVzIHdoYXQgYSBjbGllbnQgc2VuZHMsXG4gKiBidXQgYSBzZXJ2ZWQgcmVzb3VyY2UgYWx3YXlzIGNhcnJpZXMgdGhlc2UuXG4gKi9cbmV4cG9ydCB0eXBlIFNlcnZlZENsdXN0ZXJTY29wZWRPYmplY3RNZXRhID0gVjFPYmplY3RNZXRhICYge1xuICBuYW1lOiBzdHJpbmc7XG4gIHVpZDogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBBIENsdXN0ZXJSb2xlIGFzIGByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgQ2x1c3RlclJvbGUgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgQ2x1c3RlclJvbGVWMSA9IE9taXQ8VjFDbHVzdGVyUm9sZSwgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIj4gJiB7XG4gIGtpbmQ6IFwiQ2x1c3RlclJvbGVcIjtcbiAgYXBpVmVyc2lvbjogXCJyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWRDbHVzdGVyU2NvcGVkT2JqZWN0TWV0YTtcbn07XG5cbi8qKlxuICogVGhlIENsdXN0ZXJSb2xlIGtpbmQsIGRlY2xhcmVkIGZvciBgcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IGNsdXN0ZXJSb2xlS2luZCwgYXBpVmVyc2lvbjogcmJhY0F1dGhvcml6YXRpb25WMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNsdXN0ZXJSb2xlS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFcIjogQ2x1c3RlclJvbGVWMTtcbn0+KFwiQ2x1c3RlclJvbGVcIik7XG5cbi8qKlxuICogQSBDbHVzdGVyUm9sZUJpbmRpbmcgYXMgYHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBDbHVzdGVyUm9sZUJpbmRpbmcgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgQ2x1c3RlclJvbGVCaW5kaW5nVjEgPSBPbWl0PFYxQ2x1c3RlclJvbGVCaW5kaW5nLCBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiPiAmIHtcbiAga2luZDogXCJDbHVzdGVyUm9sZUJpbmRpbmdcIjtcbiAgYXBpVmVyc2lvbjogXCJyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWRDbHVzdGVyU2NvcGVkT2JqZWN0TWV0YTtcbn07XG5cbi8qKlxuICogVGhlIENsdXN0ZXJSb2xlQmluZGluZyBraW5kLCBkZWNsYXJlZCBmb3IgYHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBjbHVzdGVyUm9sZUJpbmRpbmdLaW5kLCBhcGlWZXJzaW9uOiByYmFjQXV0aG9yaXphdGlvblYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgY2x1c3RlclJvbGVCaW5kaW5nS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFcIjogQ2x1c3RlclJvbGVCaW5kaW5nVjE7XG59PihcIkNsdXN0ZXJSb2xlQmluZGluZ1wiKTtcblxuLyoqXG4gKiBBIENvbmZpZ01hcCBhcyBgdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBDb25maWdNYXAgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgQ29uZmlnTWFwVjEgPSBPbWl0PFYxQ29uZmlnTWFwLCBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiPiAmIHtcbiAga2luZDogXCJDb25maWdNYXBcIjtcbiAgYXBpVmVyc2lvbjogXCJ2MVwiO1xuICBtZXRhZGF0YTogU2VydmVkTmFtZXNwYWNlZE9iamVjdE1ldGE7XG59O1xuXG4vKipcbiAqIFRoZSBDb25maWdNYXAga2luZCwgZGVjbGFyZWQgZm9yIGB2MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IGNvbmZpZ01hcEtpbmQsIGFwaVZlcnNpb246IGNvcmVWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmZpZ01hcEtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgdjE6IENvbmZpZ01hcFYxO1xufT4oXCJDb25maWdNYXBcIik7XG5cbi8qKlxuICogQSBDcm9uSm9iIGFzIGBiYXRjaC92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIENyb25Kb2IgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgQ3JvbkpvYlYxID0gT21pdDxWMUNyb25Kb2IsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiQ3JvbkpvYlwiO1xuICBhcGlWZXJzaW9uOiBcImJhdGNoL3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFDcm9uSm9iW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBDcm9uSm9iIGtpbmQsIGRlY2xhcmVkIGZvciBgYmF0Y2gvdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBjcm9uSm9iS2luZCwgYXBpVmVyc2lvbjogYmF0Y2hWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGNyb25Kb2JLaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIFwiYmF0Y2gvdjFcIjogQ3JvbkpvYlYxO1xufT4oXCJDcm9uSm9iXCIpO1xuXG4vKipcbiAqIEEgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIGFzIGBhcGlleHRlbnNpb25zLms4cy5pby92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIEN1c3RvbVJlc291cmNlRGVmaW5pdGlvbiBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBDdXN0b21SZXNvdXJjZURlZmluaXRpb25WMSA9IE9taXQ8XG4gIFYxQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uLFxuICBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiIHwgXCJzcGVjXCJcbj4gJiB7XG4gIGtpbmQ6IFwiQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uXCI7XG4gIGFwaVZlcnNpb246IFwiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZENsdXN0ZXJTY29wZWRPYmplY3RNZXRhO1xuICBzcGVjOiBOb25OdWxsYWJsZTxWMUN1c3RvbVJlc291cmNlRGVmaW5pdGlvbltcInNwZWNcIl0+O1xufTtcblxuLyoqXG4gKiBUaGUgQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uIGtpbmQsIGRlY2xhcmVkIGZvciBgYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBjdXN0b21SZXNvdXJjZURlZmluaXRpb25LaW5kLCBhcGlWZXJzaW9uOiBhcGlleHRlbnNpb25zVjEsIC4uLiB9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBjdXN0b21SZXNvdXJjZURlZmluaXRpb25LaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIFwiYXBpZXh0ZW5zaW9ucy5rOHMuaW8vdjFcIjogQ3VzdG9tUmVzb3VyY2VEZWZpbml0aW9uVjE7XG59PihcIkN1c3RvbVJlc291cmNlRGVmaW5pdGlvblwiKTtcblxuLyoqXG4gKiBBIERhZW1vblNldCBhcyBgYXBwcy92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIERhZW1vblNldCBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBEYWVtb25TZXRWMSA9IE9taXQ8VjFEYWVtb25TZXQsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiRGFlbW9uU2V0XCI7XG4gIGFwaVZlcnNpb246IFwiYXBwcy92MVwiO1xuICBtZXRhZGF0YTogU2VydmVkTmFtZXNwYWNlZE9iamVjdE1ldGE7XG4gIHNwZWM6IE5vbk51bGxhYmxlPFYxRGFlbW9uU2V0W1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBEYWVtb25TZXQga2luZCwgZGVjbGFyZWQgZm9yIGBhcHBzL3YxYC4gSGFuZCBpdCB0byBhbnkgY29udHJhY3Qga2V5ZWQgYnlcbiAqIGtpbmQsIGUuZy4gYGJ1aWxkRGV0YWlsc1BhbmVsU2VjdGlvbkJ1bmNoKHsga2luZDogZGFlbW9uU2V0S2luZCwgYXBpVmVyc2lvbjogYXBwc1YxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgZGFlbW9uU2V0S2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcImFwcHMvdjFcIjogRGFlbW9uU2V0VjE7XG59PihcIkRhZW1vblNldFwiKTtcblxuLyoqXG4gKiBBIERlcGxveW1lbnQgYXMgYGFwcHMvdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBEZXBsb3ltZW50IGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIERlcGxveW1lbnRWMSA9IE9taXQ8VjFEZXBsb3ltZW50LCBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiIHwgXCJzcGVjXCI+ICYge1xuICBraW5kOiBcIkRlcGxveW1lbnRcIjtcbiAgYXBpVmVyc2lvbjogXCJhcHBzL3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFEZXBsb3ltZW50W1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBEZXBsb3ltZW50IGtpbmQsIGRlY2xhcmVkIGZvciBgYXBwcy92MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IGRlcGxveW1lbnRLaW5kLCBhcGlWZXJzaW9uOiBhcHBzVjEsIC4uLiB9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBkZXBsb3ltZW50S2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcImFwcHMvdjFcIjogRGVwbG95bWVudFYxO1xufT4oXCJEZXBsb3ltZW50XCIpO1xuXG4vKipcbiAqIEEgRW5kcG9pbnRzIGFzIGB2MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIEVuZHBvaW50cyBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBFbmRwb2ludHNWMSA9IE9taXQ8VjFFbmRwb2ludHMsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCI+ICYge1xuICBraW5kOiBcIkVuZHBvaW50c1wiO1xuICBhcGlWZXJzaW9uOiBcInYxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbn07XG5cbi8qKlxuICogVGhlIEVuZHBvaW50cyBraW5kLCBkZWNsYXJlZCBmb3IgYHYxYC4gSGFuZCBpdCB0byBhbnkgY29udHJhY3Qga2V5ZWQgYnlcbiAqIGtpbmQsIGUuZy4gYGJ1aWxkRGV0YWlsc1BhbmVsU2VjdGlvbkJ1bmNoKHsga2luZDogZW5kcG9pbnRzS2luZCwgYXBpVmVyc2lvbjogY29yZVYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgZW5kcG9pbnRzS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICB2MTogRW5kcG9pbnRzVjE7XG59PihcIkVuZHBvaW50c1wiKTtcblxuLyoqXG4gKiBBIEVuZHBvaW50U2xpY2UgYXMgYGRpc2NvdmVyeS5rOHMuaW8vdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBFbmRwb2ludFNsaWNlIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEVuZHBvaW50U2xpY2VWMSA9IE9taXQ8VjFFbmRwb2ludFNsaWNlLCBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiPiAmIHtcbiAga2luZDogXCJFbmRwb2ludFNsaWNlXCI7XG4gIGFwaVZlcnNpb246IFwiZGlzY292ZXJ5Lms4cy5pby92MVwiO1xuICBtZXRhZGF0YTogU2VydmVkTmFtZXNwYWNlZE9iamVjdE1ldGE7XG59O1xuXG4vKipcbiAqIFRoZSBFbmRwb2ludFNsaWNlIGtpbmQsIGRlY2xhcmVkIGZvciBgZGlzY292ZXJ5Lms4cy5pby92MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IGVuZHBvaW50U2xpY2VLaW5kLCBhcGlWZXJzaW9uOiBkaXNjb3ZlcnlWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGVuZHBvaW50U2xpY2VLaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIFwiZGlzY292ZXJ5Lms4cy5pby92MVwiOiBFbmRwb2ludFNsaWNlVjE7XG59PihcIkVuZHBvaW50U2xpY2VcIik7XG5cbi8qKlxuICogQSBIb3Jpem9udGFsUG9kQXV0b3NjYWxlciBhcyBgYXV0b3NjYWxpbmcvdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBIb3Jpem9udGFsUG9kQXV0b3NjYWxlciBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBIb3Jpem9udGFsUG9kQXV0b3NjYWxlclYxID0gT21pdDxWMUhvcml6b250YWxQb2RBdXRvc2NhbGVyLCBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiIHwgXCJzcGVjXCI+ICYge1xuICBraW5kOiBcIkhvcml6b250YWxQb2RBdXRvc2NhbGVyXCI7XG4gIGFwaVZlcnNpb246IFwiYXV0b3NjYWxpbmcvdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZE5hbWVzcGFjZWRPYmplY3RNZXRhO1xuICBzcGVjOiBOb25OdWxsYWJsZTxWMUhvcml6b250YWxQb2RBdXRvc2NhbGVyW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIEEgSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXIgYXMgYGF1dG9zY2FsaW5nL3YyYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXIgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXJWMiA9IE9taXQ8VjJIb3Jpem9udGFsUG9kQXV0b3NjYWxlciwgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIiB8IFwic3BlY1wiPiAmIHtcbiAga2luZDogXCJIb3Jpem9udGFsUG9kQXV0b3NjYWxlclwiO1xuICBhcGlWZXJzaW9uOiBcImF1dG9zY2FsaW5nL3YyXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjJIb3Jpem9udGFsUG9kQXV0b3NjYWxlcltcInNwZWNcIl0+O1xufTtcblxuLyoqXG4gKiBUaGUgSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXIga2luZCwgZGVjbGFyZWQgZm9yIGBhdXRvc2NhbGluZy92MWAsIGBhdXRvc2NhbGluZy92MmAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IGhvcml6b250YWxQb2RBdXRvc2NhbGVyS2luZCwgYXBpVmVyc2lvbjogYXV0b3NjYWxpbmdWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGhvcml6b250YWxQb2RBdXRvc2NhbGVyS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcImF1dG9zY2FsaW5nL3YxXCI6IEhvcml6b250YWxQb2RBdXRvc2NhbGVyVjE7XG4gIFwiYXV0b3NjYWxpbmcvdjJcIjogSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXJWMjtcbn0+KFwiSG9yaXpvbnRhbFBvZEF1dG9zY2FsZXJcIik7XG5cbi8qKlxuICogQSBJbmdyZXNzIGFzIGBuZXR3b3JraW5nLms4cy5pby92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIEluZ3Jlc3MgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgSW5ncmVzc1YxID0gT21pdDxWMUluZ3Jlc3MsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiSW5ncmVzc1wiO1xuICBhcGlWZXJzaW9uOiBcIm5ldHdvcmtpbmcuazhzLmlvL3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFJbmdyZXNzW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBJbmdyZXNzIGtpbmQsIGRlY2xhcmVkIGZvciBgbmV0d29ya2luZy5rOHMuaW8vdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBpbmdyZXNzS2luZCwgYXBpVmVyc2lvbjogbmV0d29ya2luZ1YxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgaW5ncmVzc0tpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgXCJuZXR3b3JraW5nLms4cy5pby92MVwiOiBJbmdyZXNzVjE7XG59PihcIkluZ3Jlc3NcIik7XG5cbi8qKlxuICogQSBJbmdyZXNzQ2xhc3MgYXMgYG5ldHdvcmtpbmcuazhzLmlvL3YxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgSW5ncmVzc0NsYXNzIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIEluZ3Jlc3NDbGFzc1YxID0gT21pdDxWMUluZ3Jlc3NDbGFzcywgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIiB8IFwic3BlY1wiPiAmIHtcbiAga2luZDogXCJJbmdyZXNzQ2xhc3NcIjtcbiAgYXBpVmVyc2lvbjogXCJuZXR3b3JraW5nLms4cy5pby92MVwiO1xuICBtZXRhZGF0YTogU2VydmVkQ2x1c3RlclNjb3BlZE9iamVjdE1ldGE7XG4gIHNwZWM6IE5vbk51bGxhYmxlPFYxSW5ncmVzc0NsYXNzW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBJbmdyZXNzQ2xhc3Mga2luZCwgZGVjbGFyZWQgZm9yIGBuZXR3b3JraW5nLms4cy5pby92MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IGluZ3Jlc3NDbGFzc0tpbmQsIGFwaVZlcnNpb246IG5ldHdvcmtpbmdWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGluZ3Jlc3NDbGFzc0tpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgXCJuZXR3b3JraW5nLms4cy5pby92MVwiOiBJbmdyZXNzQ2xhc3NWMTtcbn0+KFwiSW5ncmVzc0NsYXNzXCIpO1xuXG4vKipcbiAqIEEgSm9iIGFzIGBiYXRjaC92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIEpvYiBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBKb2JWMSA9IE9taXQ8VjFKb2IsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiSm9iXCI7XG4gIGFwaVZlcnNpb246IFwiYmF0Y2gvdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZE5hbWVzcGFjZWRPYmplY3RNZXRhO1xuICBzcGVjOiBOb25OdWxsYWJsZTxWMUpvYltcInNwZWNcIl0+O1xufTtcblxuLyoqXG4gKiBUaGUgSm9iIGtpbmQsIGRlY2xhcmVkIGZvciBgYmF0Y2gvdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBqb2JLaW5kLCBhcGlWZXJzaW9uOiBiYXRjaFYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3Qgam9iS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcImJhdGNoL3YxXCI6IEpvYlYxO1xufT4oXCJKb2JcIik7XG5cbi8qKlxuICogQSBMZWFzZSBhcyBgY29vcmRpbmF0aW9uLms4cy5pby92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIExlYXNlIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIExlYXNlVjEgPSBPbWl0PFYxTGVhc2UsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiTGVhc2VcIjtcbiAgYXBpVmVyc2lvbjogXCJjb29yZGluYXRpb24uazhzLmlvL3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFMZWFzZVtcInNwZWNcIl0+O1xufTtcblxuLyoqXG4gKiBUaGUgTGVhc2Uga2luZCwgZGVjbGFyZWQgZm9yIGBjb29yZGluYXRpb24uazhzLmlvL3YxYC4gSGFuZCBpdCB0byBhbnkgY29udHJhY3Qga2V5ZWQgYnlcbiAqIGtpbmQsIGUuZy4gYGJ1aWxkRGV0YWlsc1BhbmVsU2VjdGlvbkJ1bmNoKHsga2luZDogbGVhc2VLaW5kLCBhcGlWZXJzaW9uOiBjb29yZGluYXRpb25WMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IGxlYXNlS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcImNvb3JkaW5hdGlvbi5rOHMuaW8vdjFcIjogTGVhc2VWMTtcbn0+KFwiTGVhc2VcIik7XG5cbi8qKlxuICogQSBMaW1pdFJhbmdlIGFzIGB2MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIExpbWl0UmFuZ2UgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgTGltaXRSYW5nZVYxID0gT21pdDxWMUxpbWl0UmFuZ2UsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiTGltaXRSYW5nZVwiO1xuICBhcGlWZXJzaW9uOiBcInYxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFMaW1pdFJhbmdlW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBMaW1pdFJhbmdlIGtpbmQsIGRlY2xhcmVkIGZvciBgdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBsaW1pdFJhbmdlS2luZCwgYXBpVmVyc2lvbjogY29yZVYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgbGltaXRSYW5nZUtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgdjE6IExpbWl0UmFuZ2VWMTtcbn0+KFwiTGltaXRSYW5nZVwiKTtcblxuLyoqXG4gKiBBIE11dGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb24gYXMgYGFkbWlzc2lvbnJlZ2lzdHJhdGlvbi5rOHMuaW8vdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBNdXRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIE11dGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb25WMSA9IE9taXQ8XG4gIFYxTXV0YXRpbmdXZWJob29rQ29uZmlndXJhdGlvbixcbiAgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIlxuPiAmIHtcbiAga2luZDogXCJNdXRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uXCI7XG4gIGFwaVZlcnNpb246IFwiYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pby92MVwiO1xuICBtZXRhZGF0YTogU2VydmVkQ2x1c3RlclNjb3BlZE9iamVjdE1ldGE7XG59O1xuXG4vKipcbiAqIFRoZSBNdXRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uIGtpbmQsIGRlY2xhcmVkIGZvciBgYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pby92MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IG11dGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb25LaW5kLCBhcGlWZXJzaW9uOiBhZG1pc3Npb25yZWdpc3RyYXRpb25WMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG11dGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb25LaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIFwiYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pby92MVwiOiBNdXRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uVjE7XG59PihcIk11dGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb25cIik7XG5cbi8qKlxuICogQSBOYW1lc3BhY2UgYXMgYHYxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgTmFtZXNwYWNlIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIE5hbWVzcGFjZVYxID0gT21pdDxWMU5hbWVzcGFjZSwgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIiB8IFwic3BlY1wiPiAmIHtcbiAga2luZDogXCJOYW1lc3BhY2VcIjtcbiAgYXBpVmVyc2lvbjogXCJ2MVwiO1xuICBtZXRhZGF0YTogU2VydmVkQ2x1c3RlclNjb3BlZE9iamVjdE1ldGE7XG4gIHNwZWM6IE5vbk51bGxhYmxlPFYxTmFtZXNwYWNlW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBOYW1lc3BhY2Uga2luZCwgZGVjbGFyZWQgZm9yIGB2MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IG5hbWVzcGFjZUtpbmQsIGFwaVZlcnNpb246IGNvcmVWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5hbWVzcGFjZUtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgdjE6IE5hbWVzcGFjZVYxO1xufT4oXCJOYW1lc3BhY2VcIik7XG5cbi8qKlxuICogQSBOZXR3b3JrUG9saWN5IGFzIGBuZXR3b3JraW5nLms4cy5pby92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIE5ldHdvcmtQb2xpY3kgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgTmV0d29ya1BvbGljeVYxID0gT21pdDxWMU5ldHdvcmtQb2xpY3ksIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiTmV0d29ya1BvbGljeVwiO1xuICBhcGlWZXJzaW9uOiBcIm5ldHdvcmtpbmcuazhzLmlvL3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFOZXR3b3JrUG9saWN5W1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBOZXR3b3JrUG9saWN5IGtpbmQsIGRlY2xhcmVkIGZvciBgbmV0d29ya2luZy5rOHMuaW8vdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBuZXR3b3JrUG9saWN5S2luZCwgYXBpVmVyc2lvbjogbmV0d29ya2luZ1YxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgbmV0d29ya1BvbGljeUtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgXCJuZXR3b3JraW5nLms4cy5pby92MVwiOiBOZXR3b3JrUG9saWN5VjE7XG59PihcIk5ldHdvcmtQb2xpY3lcIik7XG5cbi8qKlxuICogQSBOb2RlIGFzIGB2MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIE5vZGUgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgTm9kZVYxID0gT21pdDxWMU5vZGUsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiTm9kZVwiO1xuICBhcGlWZXJzaW9uOiBcInYxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWRDbHVzdGVyU2NvcGVkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFOb2RlW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBOb2RlIGtpbmQsIGRlY2xhcmVkIGZvciBgdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBub2RlS2luZCwgYXBpVmVyc2lvbjogY29yZVYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3Qgbm9kZUtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgdjE6IE5vZGVWMTtcbn0+KFwiTm9kZVwiKTtcblxuLyoqXG4gKiBBIFBlcnNpc3RlbnRWb2x1bWUgYXMgYHYxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgUGVyc2lzdGVudFZvbHVtZSBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBQZXJzaXN0ZW50Vm9sdW1lVjEgPSBPbWl0PFYxUGVyc2lzdGVudFZvbHVtZSwgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIiB8IFwic3BlY1wiPiAmIHtcbiAga2luZDogXCJQZXJzaXN0ZW50Vm9sdW1lXCI7XG4gIGFwaVZlcnNpb246IFwidjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZENsdXN0ZXJTY29wZWRPYmplY3RNZXRhO1xuICBzcGVjOiBOb25OdWxsYWJsZTxWMVBlcnNpc3RlbnRWb2x1bWVbXCJzcGVjXCJdPjtcbn07XG5cbi8qKlxuICogVGhlIFBlcnNpc3RlbnRWb2x1bWUga2luZCwgZGVjbGFyZWQgZm9yIGB2MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IHBlcnNpc3RlbnRWb2x1bWVLaW5kLCBhcGlWZXJzaW9uOiBjb3JlVjEsIC4uLiB9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBwZXJzaXN0ZW50Vm9sdW1lS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICB2MTogUGVyc2lzdGVudFZvbHVtZVYxO1xufT4oXCJQZXJzaXN0ZW50Vm9sdW1lXCIpO1xuXG4vKipcbiAqIEEgUGVyc2lzdGVudFZvbHVtZUNsYWltIGFzIGB2MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIFBlcnNpc3RlbnRWb2x1bWVDbGFpbSBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1WMSA9IE9taXQ8VjFQZXJzaXN0ZW50Vm9sdW1lQ2xhaW0sIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiUGVyc2lzdGVudFZvbHVtZUNsYWltXCI7XG4gIGFwaVZlcnNpb246IFwidjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZE5hbWVzcGFjZWRPYmplY3RNZXRhO1xuICBzcGVjOiBOb25OdWxsYWJsZTxWMVBlcnNpc3RlbnRWb2x1bWVDbGFpbVtcInNwZWNcIl0+O1xufTtcblxuLyoqXG4gKiBUaGUgUGVyc2lzdGVudFZvbHVtZUNsYWltIGtpbmQsIGRlY2xhcmVkIGZvciBgdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBwZXJzaXN0ZW50Vm9sdW1lQ2xhaW1LaW5kLCBhcGlWZXJzaW9uOiBjb3JlVjEsIC4uLiB9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBwZXJzaXN0ZW50Vm9sdW1lQ2xhaW1LaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIHYxOiBQZXJzaXN0ZW50Vm9sdW1lQ2xhaW1WMTtcbn0+KFwiUGVyc2lzdGVudFZvbHVtZUNsYWltXCIpO1xuXG4vKipcbiAqIEEgUG9kIGFzIGB2MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIFBvZCBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBQb2RWMSA9IE9taXQ8VjFQb2QsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiUG9kXCI7XG4gIGFwaVZlcnNpb246IFwidjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZE5hbWVzcGFjZWRPYmplY3RNZXRhO1xuICBzcGVjOiBOb25OdWxsYWJsZTxWMVBvZFtcInNwZWNcIl0+O1xufTtcblxuLyoqXG4gKiBUaGUgUG9kIGtpbmQsIGRlY2xhcmVkIGZvciBgdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBwb2RLaW5kLCBhcGlWZXJzaW9uOiBjb3JlVjEsIC4uLiB9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBwb2RLaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIHYxOiBQb2RWMTtcbn0+KFwiUG9kXCIpO1xuXG4vKipcbiAqIEEgUG9kRGlzcnVwdGlvbkJ1ZGdldCBhcyBgcG9saWN5L3YxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgUG9kRGlzcnVwdGlvbkJ1ZGdldCBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBQb2REaXNydXB0aW9uQnVkZ2V0VjEgPSBPbWl0PFYxUG9kRGlzcnVwdGlvbkJ1ZGdldCwgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIiB8IFwic3BlY1wiPiAmIHtcbiAga2luZDogXCJQb2REaXNydXB0aW9uQnVkZ2V0XCI7XG4gIGFwaVZlcnNpb246IFwicG9saWN5L3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFQb2REaXNydXB0aW9uQnVkZ2V0W1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBQb2REaXNydXB0aW9uQnVkZ2V0IGtpbmQsIGRlY2xhcmVkIGZvciBgcG9saWN5L3YxYC4gSGFuZCBpdCB0byBhbnkgY29udHJhY3Qga2V5ZWQgYnlcbiAqIGtpbmQsIGUuZy4gYGJ1aWxkRGV0YWlsc1BhbmVsU2VjdGlvbkJ1bmNoKHsga2luZDogcG9kRGlzcnVwdGlvbkJ1ZGdldEtpbmQsIGFwaVZlcnNpb246IHBvbGljeVYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgcG9kRGlzcnVwdGlvbkJ1ZGdldEtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgXCJwb2xpY3kvdjFcIjogUG9kRGlzcnVwdGlvbkJ1ZGdldFYxO1xufT4oXCJQb2REaXNydXB0aW9uQnVkZ2V0XCIpO1xuXG4vKipcbiAqIEEgUHJpb3JpdHlDbGFzcyBhcyBgc2NoZWR1bGluZy5rOHMuaW8vdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBQcmlvcml0eUNsYXNzIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFByaW9yaXR5Q2xhc3NWMSA9IE9taXQ8VjFQcmlvcml0eUNsYXNzLCBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiPiAmIHtcbiAga2luZDogXCJQcmlvcml0eUNsYXNzXCI7XG4gIGFwaVZlcnNpb246IFwic2NoZWR1bGluZy5rOHMuaW8vdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZENsdXN0ZXJTY29wZWRPYmplY3RNZXRhO1xufTtcblxuLyoqXG4gKiBUaGUgUHJpb3JpdHlDbGFzcyBraW5kLCBkZWNsYXJlZCBmb3IgYHNjaGVkdWxpbmcuazhzLmlvL3YxYC4gSGFuZCBpdCB0byBhbnkgY29udHJhY3Qga2V5ZWQgYnlcbiAqIGtpbmQsIGUuZy4gYGJ1aWxkRGV0YWlsc1BhbmVsU2VjdGlvbkJ1bmNoKHsga2luZDogcHJpb3JpdHlDbGFzc0tpbmQsIGFwaVZlcnNpb246IHNjaGVkdWxpbmdWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHByaW9yaXR5Q2xhc3NLaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIFwic2NoZWR1bGluZy5rOHMuaW8vdjFcIjogUHJpb3JpdHlDbGFzc1YxO1xufT4oXCJQcmlvcml0eUNsYXNzXCIpO1xuXG4vKipcbiAqIEEgUmVwbGljYVNldCBhcyBgYXBwcy92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIFJlcGxpY2FTZXQgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgUmVwbGljYVNldFYxID0gT21pdDxWMVJlcGxpY2FTZXQsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiUmVwbGljYVNldFwiO1xuICBhcGlWZXJzaW9uOiBcImFwcHMvdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZE5hbWVzcGFjZWRPYmplY3RNZXRhO1xuICBzcGVjOiBOb25OdWxsYWJsZTxWMVJlcGxpY2FTZXRbXCJzcGVjXCJdPjtcbn07XG5cbi8qKlxuICogVGhlIFJlcGxpY2FTZXQga2luZCwgZGVjbGFyZWQgZm9yIGBhcHBzL3YxYC4gSGFuZCBpdCB0byBhbnkgY29udHJhY3Qga2V5ZWQgYnlcbiAqIGtpbmQsIGUuZy4gYGJ1aWxkRGV0YWlsc1BhbmVsU2VjdGlvbkJ1bmNoKHsga2luZDogcmVwbGljYVNldEtpbmQsIGFwaVZlcnNpb246IGFwcHNWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlcGxpY2FTZXRLaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIFwiYXBwcy92MVwiOiBSZXBsaWNhU2V0VjE7XG59PihcIlJlcGxpY2FTZXRcIik7XG5cbi8qKlxuICogQSBSZXBsaWNhdGlvbkNvbnRyb2xsZXIgYXMgYHYxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgUmVwbGljYXRpb25Db250cm9sbGVyIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFJlcGxpY2F0aW9uQ29udHJvbGxlclYxID0gT21pdDxWMVJlcGxpY2F0aW9uQ29udHJvbGxlciwgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIiB8IFwic3BlY1wiPiAmIHtcbiAga2luZDogXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJcIjtcbiAgYXBpVmVyc2lvbjogXCJ2MVwiO1xuICBtZXRhZGF0YTogU2VydmVkTmFtZXNwYWNlZE9iamVjdE1ldGE7XG4gIHNwZWM6IE5vbk51bGxhYmxlPFYxUmVwbGljYXRpb25Db250cm9sbGVyW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBSZXBsaWNhdGlvbkNvbnRyb2xsZXIga2luZCwgZGVjbGFyZWQgZm9yIGB2MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IHJlcGxpY2F0aW9uQ29udHJvbGxlcktpbmQsIGFwaVZlcnNpb246IGNvcmVWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlcGxpY2F0aW9uQ29udHJvbGxlcktpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgdjE6IFJlcGxpY2F0aW9uQ29udHJvbGxlclYxO1xufT4oXCJSZXBsaWNhdGlvbkNvbnRyb2xsZXJcIik7XG5cbi8qKlxuICogQSBSZXNvdXJjZVF1b3RhIGFzIGB2MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIFJlc291cmNlUXVvdGEgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgUmVzb3VyY2VRdW90YVYxID0gT21pdDxWMVJlc291cmNlUXVvdGEsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiUmVzb3VyY2VRdW90YVwiO1xuICBhcGlWZXJzaW9uOiBcInYxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFSZXNvdXJjZVF1b3RhW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBSZXNvdXJjZVF1b3RhIGtpbmQsIGRlY2xhcmVkIGZvciBgdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiByZXNvdXJjZVF1b3RhS2luZCwgYXBpVmVyc2lvbjogY29yZVYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgcmVzb3VyY2VRdW90YUtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgdjE6IFJlc291cmNlUXVvdGFWMTtcbn0+KFwiUmVzb3VyY2VRdW90YVwiKTtcblxuLyoqXG4gKiBBIFJvbGUgYXMgYHJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBSb2xlIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFJvbGVWMSA9IE9taXQ8VjFSb2xlLCBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiPiAmIHtcbiAga2luZDogXCJSb2xlXCI7XG4gIGFwaVZlcnNpb246IFwicmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MVwiO1xuICBtZXRhZGF0YTogU2VydmVkTmFtZXNwYWNlZE9iamVjdE1ldGE7XG59O1xuXG4vKipcbiAqIFRoZSBSb2xlIGtpbmQsIGRlY2xhcmVkIGZvciBgcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IHJvbGVLaW5kLCBhcGlWZXJzaW9uOiByYmFjQXV0aG9yaXphdGlvblYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3Qgcm9sZUtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgXCJyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxXCI6IFJvbGVWMTtcbn0+KFwiUm9sZVwiKTtcblxuLyoqXG4gKiBBIFJvbGVCaW5kaW5nIGFzIGByYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgUm9sZUJpbmRpbmcgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgUm9sZUJpbmRpbmdWMSA9IE9taXQ8VjFSb2xlQmluZGluZywgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIj4gJiB7XG4gIGtpbmQ6IFwiUm9sZUJpbmRpbmdcIjtcbiAgYXBpVmVyc2lvbjogXCJyYmFjLmF1dGhvcml6YXRpb24uazhzLmlvL3YxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbn07XG5cbi8qKlxuICogVGhlIFJvbGVCaW5kaW5nIGtpbmQsIGRlY2xhcmVkIGZvciBgcmJhYy5hdXRob3JpemF0aW9uLms4cy5pby92MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IHJvbGVCaW5kaW5nS2luZCwgYXBpVmVyc2lvbjogcmJhY0F1dGhvcml6YXRpb25WMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJvbGVCaW5kaW5nS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcInJiYWMuYXV0aG9yaXphdGlvbi5rOHMuaW8vdjFcIjogUm9sZUJpbmRpbmdWMTtcbn0+KFwiUm9sZUJpbmRpbmdcIik7XG5cbi8qKlxuICogQSBSdW50aW1lQ2xhc3MgYXMgYG5vZGUuazhzLmlvL3YxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgUnVudGltZUNsYXNzIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFJ1bnRpbWVDbGFzc1YxID0gT21pdDxWMVJ1bnRpbWVDbGFzcywgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIj4gJiB7XG4gIGtpbmQ6IFwiUnVudGltZUNsYXNzXCI7XG4gIGFwaVZlcnNpb246IFwibm9kZS5rOHMuaW8vdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZENsdXN0ZXJTY29wZWRPYmplY3RNZXRhO1xufTtcblxuLyoqXG4gKiBUaGUgUnVudGltZUNsYXNzIGtpbmQsIGRlY2xhcmVkIGZvciBgbm9kZS5rOHMuaW8vdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBydW50aW1lQ2xhc3NLaW5kLCBhcGlWZXJzaW9uOiBub2RlVjEsIC4uLiB9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBydW50aW1lQ2xhc3NLaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIFwibm9kZS5rOHMuaW8vdjFcIjogUnVudGltZUNsYXNzVjE7XG59PihcIlJ1bnRpbWVDbGFzc1wiKTtcblxuLyoqXG4gKiBBIFNlY3JldCBhcyBgdjFgIHNlcnZlcyBpdDogdGhlIEt1YmVybmV0ZXMgQVBJIHNjaGVtYSBvZiB0aGUga2luZCwgd2l0aCB0aGVcbiAqIGZpZWxkcyBhIHNlcnZlZCBTZWNyZXQgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgU2VjcmV0VjEgPSBPbWl0PFYxU2VjcmV0LCBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiPiAmIHtcbiAga2luZDogXCJTZWNyZXRcIjtcbiAgYXBpVmVyc2lvbjogXCJ2MVwiO1xuICBtZXRhZGF0YTogU2VydmVkTmFtZXNwYWNlZE9iamVjdE1ldGE7XG59O1xuXG4vKipcbiAqIFRoZSBTZWNyZXQga2luZCwgZGVjbGFyZWQgZm9yIGB2MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IHNlY3JldEtpbmQsIGFwaVZlcnNpb246IGNvcmVWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHNlY3JldEtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgdjE6IFNlY3JldFYxO1xufT4oXCJTZWNyZXRcIik7XG5cbi8qKlxuICogQSBTZXJ2aWNlIGFzIGB2MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIFNlcnZpY2UgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgU2VydmljZVYxID0gT21pdDxWMVNlcnZpY2UsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCIgfCBcInNwZWNcIj4gJiB7XG4gIGtpbmQ6IFwiU2VydmljZVwiO1xuICBhcGlWZXJzaW9uOiBcInYxXCI7XG4gIG1ldGFkYXRhOiBTZXJ2ZWROYW1lc3BhY2VkT2JqZWN0TWV0YTtcbiAgc3BlYzogTm9uTnVsbGFibGU8VjFTZXJ2aWNlW1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBTZXJ2aWNlIGtpbmQsIGRlY2xhcmVkIGZvciBgdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBzZXJ2aWNlS2luZCwgYXBpVmVyc2lvbjogY29yZVYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3Qgc2VydmljZUtpbmQgPSBnZXRLdWJlUmVzb3VyY2VLaW5kPHtcbiAgdjE6IFNlcnZpY2VWMTtcbn0+KFwiU2VydmljZVwiKTtcblxuLyoqXG4gKiBBIFNlcnZpY2VBY2NvdW50IGFzIGB2MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIFNlcnZpY2VBY2NvdW50IGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFNlcnZpY2VBY2NvdW50VjEgPSBPbWl0PFYxU2VydmljZUFjY291bnQsIFwia2luZFwiIHwgXCJhcGlWZXJzaW9uXCIgfCBcIm1ldGFkYXRhXCI+ICYge1xuICBraW5kOiBcIlNlcnZpY2VBY2NvdW50XCI7XG4gIGFwaVZlcnNpb246IFwidjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZE5hbWVzcGFjZWRPYmplY3RNZXRhO1xufTtcblxuLyoqXG4gKiBUaGUgU2VydmljZUFjY291bnQga2luZCwgZGVjbGFyZWQgZm9yIGB2MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IHNlcnZpY2VBY2NvdW50S2luZCwgYXBpVmVyc2lvbjogY29yZVYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3Qgc2VydmljZUFjY291bnRLaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIHYxOiBTZXJ2aWNlQWNjb3VudFYxO1xufT4oXCJTZXJ2aWNlQWNjb3VudFwiKTtcblxuLyoqXG4gKiBBIFN0YXRlZnVsU2V0IGFzIGBhcHBzL3YxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgU3RhdGVmdWxTZXQgYWx3YXlzIGNhcnJpZXMgbWFkZSByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IHR5cGUgU3RhdGVmdWxTZXRWMSA9IE9taXQ8VjFTdGF0ZWZ1bFNldCwgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIiB8IFwic3BlY1wiPiAmIHtcbiAga2luZDogXCJTdGF0ZWZ1bFNldFwiO1xuICBhcGlWZXJzaW9uOiBcImFwcHMvdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZE5hbWVzcGFjZWRPYmplY3RNZXRhO1xuICBzcGVjOiBOb25OdWxsYWJsZTxWMVN0YXRlZnVsU2V0W1wic3BlY1wiXT47XG59O1xuXG4vKipcbiAqIFRoZSBTdGF0ZWZ1bFNldCBraW5kLCBkZWNsYXJlZCBmb3IgYGFwcHMvdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBzdGF0ZWZ1bFNldEtpbmQsIGFwaVZlcnNpb246IGFwcHNWMSwgLi4uIH0pYC5cbiAqL1xuZXhwb3J0IGNvbnN0IHN0YXRlZnVsU2V0S2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcImFwcHMvdjFcIjogU3RhdGVmdWxTZXRWMTtcbn0+KFwiU3RhdGVmdWxTZXRcIik7XG5cbi8qKlxuICogQSBTdG9yYWdlQ2xhc3MgYXMgYHN0b3JhZ2UuazhzLmlvL3YxYCBzZXJ2ZXMgaXQ6IHRoZSBLdWJlcm5ldGVzIEFQSSBzY2hlbWEgb2YgdGhlIGtpbmQsIHdpdGggdGhlXG4gKiBmaWVsZHMgYSBzZXJ2ZWQgU3RvcmFnZUNsYXNzIGFsd2F5cyBjYXJyaWVzIG1hZGUgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCB0eXBlIFN0b3JhZ2VDbGFzc1YxID0gT21pdDxWMVN0b3JhZ2VDbGFzcywgXCJraW5kXCIgfCBcImFwaVZlcnNpb25cIiB8IFwibWV0YWRhdGFcIj4gJiB7XG4gIGtpbmQ6IFwiU3RvcmFnZUNsYXNzXCI7XG4gIGFwaVZlcnNpb246IFwic3RvcmFnZS5rOHMuaW8vdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZENsdXN0ZXJTY29wZWRPYmplY3RNZXRhO1xufTtcblxuLyoqXG4gKiBUaGUgU3RvcmFnZUNsYXNzIGtpbmQsIGRlY2xhcmVkIGZvciBgc3RvcmFnZS5rOHMuaW8vdjFgLiBIYW5kIGl0IHRvIGFueSBjb250cmFjdCBrZXllZCBieVxuICoga2luZCwgZS5nLiBgYnVpbGREZXRhaWxzUGFuZWxTZWN0aW9uQnVuY2goeyBraW5kOiBzdG9yYWdlQ2xhc3NLaW5kLCBhcGlWZXJzaW9uOiBzdG9yYWdlVjEsIC4uLiB9KWAuXG4gKi9cbmV4cG9ydCBjb25zdCBzdG9yYWdlQ2xhc3NLaW5kID0gZ2V0S3ViZVJlc291cmNlS2luZDx7XG4gIFwic3RvcmFnZS5rOHMuaW8vdjFcIjogU3RvcmFnZUNsYXNzVjE7XG59PihcIlN0b3JhZ2VDbGFzc1wiKTtcblxuLyoqXG4gKiBBIFZhbGlkYXRpbmdXZWJob29rQ29uZmlndXJhdGlvbiBhcyBgYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pby92MWAgc2VydmVzIGl0OiB0aGUgS3ViZXJuZXRlcyBBUEkgc2NoZW1hIG9mIHRoZSBraW5kLCB3aXRoIHRoZVxuICogZmllbGRzIGEgc2VydmVkIFZhbGlkYXRpbmdXZWJob29rQ29uZmlndXJhdGlvbiBhbHdheXMgY2FycmllcyBtYWRlIHJlcXVpcmVkLlxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW5nV2ViaG9va0NvbmZpZ3VyYXRpb25WMSA9IE9taXQ8XG4gIFYxVmFsaWRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uLFxuICBcImtpbmRcIiB8IFwiYXBpVmVyc2lvblwiIHwgXCJtZXRhZGF0YVwiXG4+ICYge1xuICBraW5kOiBcIlZhbGlkYXRpbmdXZWJob29rQ29uZmlndXJhdGlvblwiO1xuICBhcGlWZXJzaW9uOiBcImFkbWlzc2lvbnJlZ2lzdHJhdGlvbi5rOHMuaW8vdjFcIjtcbiAgbWV0YWRhdGE6IFNlcnZlZENsdXN0ZXJTY29wZWRPYmplY3RNZXRhO1xufTtcblxuLyoqXG4gKiBUaGUgVmFsaWRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uIGtpbmQsIGRlY2xhcmVkIGZvciBgYWRtaXNzaW9ucmVnaXN0cmF0aW9uLms4cy5pby92MWAuIEhhbmQgaXQgdG8gYW55IGNvbnRyYWN0IGtleWVkIGJ5XG4gKiBraW5kLCBlLmcuIGBidWlsZERldGFpbHNQYW5lbFNlY3Rpb25CdW5jaCh7IGtpbmQ6IHZhbGlkYXRpbmdXZWJob29rQ29uZmlndXJhdGlvbktpbmQsIGFwaVZlcnNpb246IGFkbWlzc2lvbnJlZ2lzdHJhdGlvblYxLCAuLi4gfSlgLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uS2luZCA9IGdldEt1YmVSZXNvdXJjZUtpbmQ8e1xuICBcImFkbWlzc2lvbnJlZ2lzdHJhdGlvbi5rOHMuaW8vdjFcIjogVmFsaWRhdGluZ1dlYmhvb2tDb25maWd1cmF0aW9uVjE7XG59PihcIlZhbGlkYXRpbmdXZWJob29rQ29uZmlndXJhdGlvblwiKTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNBQSx3QkFBdUQ7QUF1QmhELElBQU0sMEJBQTBCLENBQW1CLG1CQUN4RCxxQ0FBK0MsRUFBRSxVQUFVOzs7QUNYdEQsSUFBTSwwQkFBMEIsd0JBQXdCLGlDQUFpQztBQUd6RixJQUFNLGdDQUFnQyx3QkFBd0IsdUNBQXVDO0FBR3JHLElBQU0sK0JBQStCLHdCQUF3QixzQ0FBc0M7QUFHbkcsSUFBTSxrQkFBa0Isd0JBQXdCLHlCQUF5QjtBQUd6RSxJQUFNLG9CQUFvQix3QkFBd0IsMkJBQTJCO0FBRzdFLElBQU0sU0FBUyx3QkFBd0IsU0FBUztBQUdoRCxJQUFNLG1CQUFtQix3QkFBd0IsMEJBQTBCO0FBRzNFLElBQU0sa0JBQWtCLHdCQUF3Qix5QkFBeUI7QUFHekUsSUFBTSxnQkFBZ0Isd0JBQXdCLGdCQUFnQjtBQUc5RCxJQUFNLGdCQUFnQix3QkFBd0IsZ0JBQWdCO0FBRzlELElBQU0sVUFBVSx3QkFBd0IsVUFBVTtBQUdsRCxJQUFNLGlCQUFpQix3QkFBd0Isd0JBQXdCO0FBR3ZFLElBQU0sdUJBQXVCLHdCQUF3Qiw4QkFBOEI7QUFHbkYsSUFBTSxzQkFBc0Isd0JBQXdCLDZCQUE2QjtBQUdqRixJQUFNLGlCQUFpQix3QkFBd0Isd0JBQXdCO0FBR3ZFLElBQU0sdUJBQXVCLHdCQUF3Qiw4QkFBOEI7QUFHbkYsSUFBTSxzQkFBc0Isd0JBQXdCLDZCQUE2QjtBQUdqRixJQUFNLFNBQVMsd0JBQXdCLElBQUk7QUFHM0MsSUFBTSxjQUFjLHdCQUF3QixxQkFBcUI7QUFHakUsSUFBTSxXQUFXLHdCQUF3QixrQkFBa0I7QUFHM0QsSUFBTSx5QkFBeUIsd0JBQXdCLGlDQUFpQztBQUd4RixJQUFNLDRCQUE0Qix3QkFBd0Isb0NBQW9DO0FBRzlGLElBQU0sZUFBZSx3QkFBd0Isc0JBQXNCO0FBR25FLElBQU0sb0JBQW9CLHdCQUF3QiwyQkFBMkI7QUFHN0UsSUFBTSxTQUFTLHdCQUF3QixnQkFBZ0I7QUFHdkQsSUFBTSxXQUFXLHdCQUF3QixXQUFXO0FBR3BELElBQU0sc0JBQXNCLHdCQUF3Qiw4QkFBOEI7QUFHbEYsSUFBTSxhQUFhLHdCQUF3QixvQkFBb0I7QUFHL0QsSUFBTSxtQkFBbUIsd0JBQXdCLDBCQUEwQjtBQUczRSxJQUFNLGtCQUFrQix3QkFBd0IseUJBQXlCO0FBR3pFLElBQU0sa0JBQWtCLHdCQUF3Qix5QkFBeUI7QUFHekUsSUFBTSxlQUFlLHdCQUF3QixzQkFBc0I7QUFHbkUsSUFBTSxxQkFBcUIsd0JBQXdCLDRCQUE0QjtBQUcvRSxJQUFNLDBCQUEwQix3QkFBd0IsaUNBQWlDO0FBR3pGLElBQU0sWUFBWSx3QkFBd0IsbUJBQW1CO0FBRzdELElBQU0saUJBQWlCLHdCQUF3Qix3QkFBd0I7OztBQ3RIOUUsSUFBQUEscUJBQWdGO0FBd0d6RSxJQUFNLHNCQUFzQixDQUF5RCxhQUMxRixzQ0FBNEMsRUFBRSxJQUFJOzs7QUNmN0MsSUFBTSxrQkFBa0Isb0JBRTVCLGFBQWE7QUFnQlQsSUFBTSx5QkFBeUIsb0JBRW5DLG9CQUFvQjtBQWdCaEIsSUFBTSxnQkFBZ0Isb0JBRTFCLFdBQVc7QUFpQlAsSUFBTSxjQUFjLG9CQUV4QixTQUFTO0FBb0JMLElBQU0sK0JBQStCLG9CQUV6QywwQkFBMEI7QUFpQnRCLElBQU0sZ0JBQWdCLG9CQUUxQixXQUFXO0FBaUJQLElBQU0saUJBQWlCLG9CQUUzQixZQUFZO0FBZ0JSLElBQU0sZ0JBQWdCLG9CQUUxQixXQUFXO0FBZ0JQLElBQU0sb0JBQW9CLG9CQUU5QixlQUFlO0FBNEJYLElBQU0sOEJBQThCLG9CQUd4Qyx5QkFBeUI7QUFpQnJCLElBQU0sY0FBYyxvQkFFeEIsU0FBUztBQWlCTCxJQUFNLG1CQUFtQixvQkFFN0IsY0FBYztBQWlCVixJQUFNLFVBQVUsb0JBRXBCLEtBQUs7QUFpQkQsSUFBTSxZQUFZLG9CQUV0QixPQUFPO0FBaUJILElBQU0saUJBQWlCLG9CQUUzQixZQUFZO0FBbUJSLElBQU0sbUNBQW1DLG9CQUU3Qyw4QkFBOEI7QUFpQjFCLElBQU0sZ0JBQWdCLG9CQUUxQixXQUFXO0FBaUJQLElBQU0sb0JBQW9CLG9CQUU5QixlQUFlO0FBaUJYLElBQU0sV0FBVyxvQkFFckIsTUFBTTtBQWlCRixJQUFNLHVCQUF1QixvQkFFakMsa0JBQWtCO0FBaUJkLElBQU0sNEJBQTRCLG9CQUV0Qyx1QkFBdUI7QUFpQm5CLElBQU0sVUFBVSxvQkFFcEIsS0FBSztBQWlCRCxJQUFNLDBCQUEwQixvQkFFcEMscUJBQXFCO0FBZ0JqQixJQUFNLG9CQUFvQixvQkFFOUIsZUFBZTtBQWlCWCxJQUFNLGlCQUFpQixvQkFFM0IsWUFBWTtBQWlCUixJQUFNLDRCQUE0QixvQkFFdEMsdUJBQXVCO0FBaUJuQixJQUFNLG9CQUFvQixvQkFFOUIsZUFBZTtBQWdCWCxJQUFNLFdBQVcsb0JBRXJCLE1BQU07QUFnQkYsSUFBTSxrQkFBa0Isb0JBRTVCLGFBQWE7QUFnQlQsSUFBTSxtQkFBbUIsb0JBRTdCLGNBQWM7QUFnQlYsSUFBTSxhQUFhLG9CQUV2QixRQUFRO0FBaUJKLElBQU0sY0FBYyxvQkFFeEIsU0FBUztBQWdCTCxJQUFNLHFCQUFxQixvQkFFL0IsZ0JBQWdCO0FBaUJaLElBQU0sa0JBQWtCLG9CQUU1QixhQUFhO0FBZ0JULElBQU0sbUJBQW1CLG9CQUU3QixjQUFjO0FBbUJWLElBQU0scUNBQXFDLG9CQUUvQyxnQ0FBZ0M7IiwKICAibmFtZXMiOiBbImltcG9ydF9pbmplY3RhYmxlIl0KfQo=
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every API version @kubernetes/client-node serves, as a typed specifier.
|
|
3
|
+
*
|
|
4
|
+
* GENERATED by packages/technical-features/_kube/kubernetes-contracts/generator. DO NOT EDIT.
|
|
5
|
+
* Regenerate with `npm run generate --workspace @k8slens/kubernetes-contracts`.
|
|
6
|
+
*
|
|
7
|
+
* Derived from @kubernetes/client-node 2.0.0 (Apache-2.0), itself generated from the
|
|
8
|
+
* Kubernetes OpenAPI specification, release-1.36 (Apache-2.0).
|
|
9
|
+
*/
|
|
10
|
+
/** The `admissionregistration.k8s.io/v1` API version. */
|
|
11
|
+
export declare const admissionregistrationV1: import("@k8slens/injectable").TypedSpecifier<"admissionregistration.k8s.io/v1", {
|
|
12
|
+
kubernetesApiVersion: "admissionregistration.k8s.io/v1";
|
|
13
|
+
}>;
|
|
14
|
+
/** The `admissionregistration.k8s.io/v1alpha1` API version. */
|
|
15
|
+
export declare const admissionregistrationV1alpha1: import("@k8slens/injectable").TypedSpecifier<"admissionregistration.k8s.io/v1alpha1", {
|
|
16
|
+
kubernetesApiVersion: "admissionregistration.k8s.io/v1alpha1";
|
|
17
|
+
}>;
|
|
18
|
+
/** The `admissionregistration.k8s.io/v1beta1` API version. */
|
|
19
|
+
export declare const admissionregistrationV1beta1: import("@k8slens/injectable").TypedSpecifier<"admissionregistration.k8s.io/v1beta1", {
|
|
20
|
+
kubernetesApiVersion: "admissionregistration.k8s.io/v1beta1";
|
|
21
|
+
}>;
|
|
22
|
+
/** The `apiextensions.k8s.io/v1` API version. */
|
|
23
|
+
export declare const apiextensionsV1: import("@k8slens/injectable").TypedSpecifier<"apiextensions.k8s.io/v1", {
|
|
24
|
+
kubernetesApiVersion: "apiextensions.k8s.io/v1";
|
|
25
|
+
}>;
|
|
26
|
+
/** The `apiregistration.k8s.io/v1` API version. */
|
|
27
|
+
export declare const apiregistrationV1: import("@k8slens/injectable").TypedSpecifier<"apiregistration.k8s.io/v1", {
|
|
28
|
+
kubernetesApiVersion: "apiregistration.k8s.io/v1";
|
|
29
|
+
}>;
|
|
30
|
+
/** The `apps/v1` API version. */
|
|
31
|
+
export declare const appsV1: import("@k8slens/injectable").TypedSpecifier<"apps/v1", {
|
|
32
|
+
kubernetesApiVersion: "apps/v1";
|
|
33
|
+
}>;
|
|
34
|
+
/** The `authentication.k8s.io/v1` API version. */
|
|
35
|
+
export declare const authenticationV1: import("@k8slens/injectable").TypedSpecifier<"authentication.k8s.io/v1", {
|
|
36
|
+
kubernetesApiVersion: "authentication.k8s.io/v1";
|
|
37
|
+
}>;
|
|
38
|
+
/** The `authorization.k8s.io/v1` API version. */
|
|
39
|
+
export declare const authorizationV1: import("@k8slens/injectable").TypedSpecifier<"authorization.k8s.io/v1", {
|
|
40
|
+
kubernetesApiVersion: "authorization.k8s.io/v1";
|
|
41
|
+
}>;
|
|
42
|
+
/** The `autoscaling/v1` API version. */
|
|
43
|
+
export declare const autoscalingV1: import("@k8slens/injectable").TypedSpecifier<"autoscaling/v1", {
|
|
44
|
+
kubernetesApiVersion: "autoscaling/v1";
|
|
45
|
+
}>;
|
|
46
|
+
/** The `autoscaling/v2` API version. */
|
|
47
|
+
export declare const autoscalingV2: import("@k8slens/injectable").TypedSpecifier<"autoscaling/v2", {
|
|
48
|
+
kubernetesApiVersion: "autoscaling/v2";
|
|
49
|
+
}>;
|
|
50
|
+
/** The `batch/v1` API version. */
|
|
51
|
+
export declare const batchV1: import("@k8slens/injectable").TypedSpecifier<"batch/v1", {
|
|
52
|
+
kubernetesApiVersion: "batch/v1";
|
|
53
|
+
}>;
|
|
54
|
+
/** The `certificates.k8s.io/v1` API version. */
|
|
55
|
+
export declare const certificatesV1: import("@k8slens/injectable").TypedSpecifier<"certificates.k8s.io/v1", {
|
|
56
|
+
kubernetesApiVersion: "certificates.k8s.io/v1";
|
|
57
|
+
}>;
|
|
58
|
+
/** The `certificates.k8s.io/v1alpha1` API version. */
|
|
59
|
+
export declare const certificatesV1alpha1: import("@k8slens/injectable").TypedSpecifier<"certificates.k8s.io/v1alpha1", {
|
|
60
|
+
kubernetesApiVersion: "certificates.k8s.io/v1alpha1";
|
|
61
|
+
}>;
|
|
62
|
+
/** The `certificates.k8s.io/v1beta1` API version. */
|
|
63
|
+
export declare const certificatesV1beta1: import("@k8slens/injectable").TypedSpecifier<"certificates.k8s.io/v1beta1", {
|
|
64
|
+
kubernetesApiVersion: "certificates.k8s.io/v1beta1";
|
|
65
|
+
}>;
|
|
66
|
+
/** The `coordination.k8s.io/v1` API version. */
|
|
67
|
+
export declare const coordinationV1: import("@k8slens/injectable").TypedSpecifier<"coordination.k8s.io/v1", {
|
|
68
|
+
kubernetesApiVersion: "coordination.k8s.io/v1";
|
|
69
|
+
}>;
|
|
70
|
+
/** The `coordination.k8s.io/v1alpha2` API version. */
|
|
71
|
+
export declare const coordinationV1alpha2: import("@k8slens/injectable").TypedSpecifier<"coordination.k8s.io/v1alpha2", {
|
|
72
|
+
kubernetesApiVersion: "coordination.k8s.io/v1alpha2";
|
|
73
|
+
}>;
|
|
74
|
+
/** The `coordination.k8s.io/v1beta1` API version. */
|
|
75
|
+
export declare const coordinationV1beta1: import("@k8slens/injectable").TypedSpecifier<"coordination.k8s.io/v1beta1", {
|
|
76
|
+
kubernetesApiVersion: "coordination.k8s.io/v1beta1";
|
|
77
|
+
}>;
|
|
78
|
+
/** The `v1` API version. */
|
|
79
|
+
export declare const coreV1: import("@k8slens/injectable").TypedSpecifier<"v1", {
|
|
80
|
+
kubernetesApiVersion: "v1";
|
|
81
|
+
}>;
|
|
82
|
+
/** The `discovery.k8s.io/v1` API version. */
|
|
83
|
+
export declare const discoveryV1: import("@k8slens/injectable").TypedSpecifier<"discovery.k8s.io/v1", {
|
|
84
|
+
kubernetesApiVersion: "discovery.k8s.io/v1";
|
|
85
|
+
}>;
|
|
86
|
+
/** The `events.k8s.io/v1` API version. */
|
|
87
|
+
export declare const eventsV1: import("@k8slens/injectable").TypedSpecifier<"events.k8s.io/v1", {
|
|
88
|
+
kubernetesApiVersion: "events.k8s.io/v1";
|
|
89
|
+
}>;
|
|
90
|
+
/** The `flowcontrol.apiserver.k8s.io/v1` API version. */
|
|
91
|
+
export declare const flowcontrolApiserverV1: import("@k8slens/injectable").TypedSpecifier<"flowcontrol.apiserver.k8s.io/v1", {
|
|
92
|
+
kubernetesApiVersion: "flowcontrol.apiserver.k8s.io/v1";
|
|
93
|
+
}>;
|
|
94
|
+
/** The `internal.apiserver.k8s.io/v1alpha1` API version. */
|
|
95
|
+
export declare const internalApiserverV1alpha1: import("@k8slens/injectable").TypedSpecifier<"internal.apiserver.k8s.io/v1alpha1", {
|
|
96
|
+
kubernetesApiVersion: "internal.apiserver.k8s.io/v1alpha1";
|
|
97
|
+
}>;
|
|
98
|
+
/** The `networking.k8s.io/v1` API version. */
|
|
99
|
+
export declare const networkingV1: import("@k8slens/injectable").TypedSpecifier<"networking.k8s.io/v1", {
|
|
100
|
+
kubernetesApiVersion: "networking.k8s.io/v1";
|
|
101
|
+
}>;
|
|
102
|
+
/** The `networking.k8s.io/v1beta1` API version. */
|
|
103
|
+
export declare const networkingV1beta1: import("@k8slens/injectable").TypedSpecifier<"networking.k8s.io/v1beta1", {
|
|
104
|
+
kubernetesApiVersion: "networking.k8s.io/v1beta1";
|
|
105
|
+
}>;
|
|
106
|
+
/** The `node.k8s.io/v1` API version. */
|
|
107
|
+
export declare const nodeV1: import("@k8slens/injectable").TypedSpecifier<"node.k8s.io/v1", {
|
|
108
|
+
kubernetesApiVersion: "node.k8s.io/v1";
|
|
109
|
+
}>;
|
|
110
|
+
/** The `policy/v1` API version. */
|
|
111
|
+
export declare const policyV1: import("@k8slens/injectable").TypedSpecifier<"policy/v1", {
|
|
112
|
+
kubernetesApiVersion: "policy/v1";
|
|
113
|
+
}>;
|
|
114
|
+
/** The `rbac.authorization.k8s.io/v1` API version. */
|
|
115
|
+
export declare const rbacAuthorizationV1: import("@k8slens/injectable").TypedSpecifier<"rbac.authorization.k8s.io/v1", {
|
|
116
|
+
kubernetesApiVersion: "rbac.authorization.k8s.io/v1";
|
|
117
|
+
}>;
|
|
118
|
+
/** The `resource.k8s.io/v1` API version. */
|
|
119
|
+
export declare const resourceV1: import("@k8slens/injectable").TypedSpecifier<"resource.k8s.io/v1", {
|
|
120
|
+
kubernetesApiVersion: "resource.k8s.io/v1";
|
|
121
|
+
}>;
|
|
122
|
+
/** The `resource.k8s.io/v1alpha3` API version. */
|
|
123
|
+
export declare const resourceV1alpha3: import("@k8slens/injectable").TypedSpecifier<"resource.k8s.io/v1alpha3", {
|
|
124
|
+
kubernetesApiVersion: "resource.k8s.io/v1alpha3";
|
|
125
|
+
}>;
|
|
126
|
+
/** The `resource.k8s.io/v1beta1` API version. */
|
|
127
|
+
export declare const resourceV1beta1: import("@k8slens/injectable").TypedSpecifier<"resource.k8s.io/v1beta1", {
|
|
128
|
+
kubernetesApiVersion: "resource.k8s.io/v1beta1";
|
|
129
|
+
}>;
|
|
130
|
+
/** The `resource.k8s.io/v1beta2` API version. */
|
|
131
|
+
export declare const resourceV1beta2: import("@k8slens/injectable").TypedSpecifier<"resource.k8s.io/v1beta2", {
|
|
132
|
+
kubernetesApiVersion: "resource.k8s.io/v1beta2";
|
|
133
|
+
}>;
|
|
134
|
+
/** The `scheduling.k8s.io/v1` API version. */
|
|
135
|
+
export declare const schedulingV1: import("@k8slens/injectable").TypedSpecifier<"scheduling.k8s.io/v1", {
|
|
136
|
+
kubernetesApiVersion: "scheduling.k8s.io/v1";
|
|
137
|
+
}>;
|
|
138
|
+
/** The `scheduling.k8s.io/v1alpha2` API version. */
|
|
139
|
+
export declare const schedulingV1alpha2: import("@k8slens/injectable").TypedSpecifier<"scheduling.k8s.io/v1alpha2", {
|
|
140
|
+
kubernetesApiVersion: "scheduling.k8s.io/v1alpha2";
|
|
141
|
+
}>;
|
|
142
|
+
/** The `storagemigration.k8s.io/v1beta1` API version. */
|
|
143
|
+
export declare const storagemigrationV1beta1: import("@k8slens/injectable").TypedSpecifier<"storagemigration.k8s.io/v1beta1", {
|
|
144
|
+
kubernetesApiVersion: "storagemigration.k8s.io/v1beta1";
|
|
145
|
+
}>;
|
|
146
|
+
/** The `storage.k8s.io/v1` API version. */
|
|
147
|
+
export declare const storageV1: import("@k8slens/injectable").TypedSpecifier<"storage.k8s.io/v1", {
|
|
148
|
+
kubernetesApiVersion: "storage.k8s.io/v1";
|
|
149
|
+
}>;
|
|
150
|
+
/** The `storage.k8s.io/v1beta1` API version. */
|
|
151
|
+
export declare const storageV1beta1: import("@k8slens/injectable").TypedSpecifier<"storage.k8s.io/v1beta1", {
|
|
152
|
+
kubernetesApiVersion: "storage.k8s.io/v1beta1";
|
|
153
|
+
}>;
|
|
154
|
+
//# sourceMappingURL=api-versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-versions.d.ts","sourceRoot":"","sources":["../../../src/generated/api-versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;;EAA6D,CAAC;AAElG,+DAA+D;AAC/D,eAAO,MAAM,6BAA6B;;EAAmE,CAAC;AAE9G,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B;;EAAkE,CAAC;AAE5G,iDAAiD;AACjD,eAAO,MAAM,eAAe;;EAAqD,CAAC;AAElF,mDAAmD;AACnD,eAAO,MAAM,iBAAiB;;EAAuD,CAAC;AAEtF,iCAAiC;AACjC,eAAO,MAAM,MAAM;;EAAqC,CAAC;AAEzD,kDAAkD;AAClD,eAAO,MAAM,gBAAgB;;EAAsD,CAAC;AAEpF,iDAAiD;AACjD,eAAO,MAAM,eAAe;;EAAqD,CAAC;AAElF,wCAAwC;AACxC,eAAO,MAAM,aAAa;;EAA4C,CAAC;AAEvE,wCAAwC;AACxC,eAAO,MAAM,aAAa;;EAA4C,CAAC;AAEvE,kCAAkC;AAClC,eAAO,MAAM,OAAO;;EAAsC,CAAC;AAE3D,gDAAgD;AAChD,eAAO,MAAM,cAAc;;EAAoD,CAAC;AAEhF,sDAAsD;AACtD,eAAO,MAAM,oBAAoB;;EAA0D,CAAC;AAE5F,qDAAqD;AACrD,eAAO,MAAM,mBAAmB;;EAAyD,CAAC;AAE1F,gDAAgD;AAChD,eAAO,MAAM,cAAc;;EAAoD,CAAC;AAEhF,sDAAsD;AACtD,eAAO,MAAM,oBAAoB;;EAA0D,CAAC;AAE5F,qDAAqD;AACrD,eAAO,MAAM,mBAAmB;;EAAyD,CAAC;AAE1F,4BAA4B;AAC5B,eAAO,MAAM,MAAM;;EAAgC,CAAC;AAEpD,6CAA6C;AAC7C,eAAO,MAAM,WAAW;;EAAiD,CAAC;AAE1E,0CAA0C;AAC1C,eAAO,MAAM,QAAQ;;EAA8C,CAAC;AAEpE,yDAAyD;AACzD,eAAO,MAAM,sBAAsB;;EAA6D,CAAC;AAEjG,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;EAAgE,CAAC;AAEvG,8CAA8C;AAC9C,eAAO,MAAM,YAAY;;EAAkD,CAAC;AAE5E,mDAAmD;AACnD,eAAO,MAAM,iBAAiB;;EAAuD,CAAC;AAEtF,wCAAwC;AACxC,eAAO,MAAM,MAAM;;EAA4C,CAAC;AAEhE,mCAAmC;AACnC,eAAO,MAAM,QAAQ;;EAAuC,CAAC;AAE7D,sDAAsD;AACtD,eAAO,MAAM,mBAAmB;;EAA0D,CAAC;AAE3F,4CAA4C;AAC5C,eAAO,MAAM,UAAU;;EAAgD,CAAC;AAExE,kDAAkD;AAClD,eAAO,MAAM,gBAAgB;;EAAsD,CAAC;AAEpF,iDAAiD;AACjD,eAAO,MAAM,eAAe;;EAAqD,CAAC;AAElF,iDAAiD;AACjD,eAAO,MAAM,eAAe;;EAAqD,CAAC;AAElF,8CAA8C;AAC9C,eAAO,MAAM,YAAY;;EAAkD,CAAC;AAE5E,oDAAoD;AACpD,eAAO,MAAM,kBAAkB;;EAAwD,CAAC;AAExF,yDAAyD;AACzD,eAAO,MAAM,uBAAuB;;EAA6D,CAAC;AAElG,2CAA2C;AAC3C,eAAO,MAAM,SAAS;;EAA+C,CAAC;AAEtE,gDAAgD;AAChD,eAAO,MAAM,cAAc;;EAAoD,CAAC"}
|