@sumaris-net/ngx-components 2.6.6-rc2 → 2.6.6-rc3
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/esm2020/src/app/admin/services/person.service.mjs +23 -22
- package/esm2020/src/app/admin/services/validator/person.validator.mjs +58 -21
- package/esm2020/src/app/admin/users/users.mjs +4 -6
- package/esm2020/src/app/core/account/account.page.mjs +5 -5
- package/esm2020/src/app/core/graphql/graphql.service.mjs +14 -6
- package/esm2020/src/app/core/menu/menu.service.mjs +2 -2
- package/esm2020/src/app/core/services/base-entity-service.class.mjs +43 -19
- package/esm2020/src/app/core/services/base-graphql-service.class.mjs +6 -2
- package/esm2020/src/app/core/services/errors.mjs +2 -1
- package/esm2020/src/app/core/services/model/person.model.mjs +10 -1
- package/esm2020/src/app/core/services/validator/account.validator.mjs +26 -41
- package/esm2020/src/app/core/services/validator/base.validator.class.mjs +2 -2
- package/fesm2015/sumaris-net.ngx-components.mjs +172 -115
- package/fesm2015/sumaris-net.ngx-components.mjs.map +1 -1
- package/fesm2020/sumaris-net.ngx-components.mjs +181 -115
- package/fesm2020/sumaris-net.ngx-components.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/admin/services/validator/person.validator.d.ts +20 -11
- package/src/app/core/account/account.page.d.ts +2 -2
- package/src/app/core/graphql/graphql.service.d.ts +1 -1
- package/src/app/core/services/base-entity-service.class.d.ts +22 -3
- package/src/app/core/services/errors.d.ts +1 -0
- package/src/app/core/services/model/person.model.d.ts +1 -0
- package/src/app/core/services/validator/account.validator.d.ts +16 -9
- package/src/app/core/services/validator/base.validator.class.d.ts +1 -1
- package/src/assets/i18n/en-US.json +1 -0
- package/src/assets/i18n/en.json +1 -0
- package/src/assets/manifest.json +1 -1
|
@@ -14,28 +14,30 @@ import * as i2 from "../../core/services/platform.service";
|
|
|
14
14
|
import * as i3 from "../../core/services/network.service";
|
|
15
15
|
import * as i4 from "../../core/services/storage/entities-storage.service";
|
|
16
16
|
export const PersonFragments = {
|
|
17
|
-
person: gql `
|
|
18
|
-
|
|
19
|
-
firstName
|
|
20
|
-
lastName
|
|
21
|
-
email
|
|
22
|
-
pubkey
|
|
23
|
-
avatar
|
|
24
|
-
statusId
|
|
25
|
-
updateDate
|
|
26
|
-
creationDate
|
|
27
|
-
profiles
|
|
28
|
-
username
|
|
29
|
-
usernameExtranet
|
|
30
|
-
department {
|
|
17
|
+
person: gql `
|
|
18
|
+
fragment PersonFragment on PersonVO {
|
|
31
19
|
id
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
20
|
+
firstName
|
|
21
|
+
lastName
|
|
22
|
+
email
|
|
23
|
+
pubkey
|
|
24
|
+
avatar
|
|
25
|
+
statusId
|
|
26
|
+
updateDate
|
|
27
|
+
creationDate
|
|
28
|
+
profiles
|
|
29
|
+
username
|
|
30
|
+
usernameExtranet
|
|
31
|
+
department {
|
|
32
|
+
id
|
|
33
|
+
label
|
|
34
|
+
name
|
|
35
|
+
logo
|
|
36
|
+
__typename
|
|
37
|
+
}
|
|
35
38
|
__typename
|
|
36
39
|
}
|
|
37
|
-
|
|
38
|
-
}`
|
|
40
|
+
`,
|
|
39
41
|
};
|
|
40
42
|
// Load persons query
|
|
41
43
|
const PersonQueries = {
|
|
@@ -116,7 +118,7 @@ export class PersonService extends BaseEntityService {
|
|
|
116
118
|
return this.loadAll(0, !value ? 30 : 10, sortBy, sortDirection, {
|
|
117
119
|
...filter,
|
|
118
120
|
searchText: value,
|
|
119
|
-
statusIds: filter && filter.statusIds || [StatusIds.ENABLE],
|
|
121
|
+
statusIds: filter && filter.statusIds || [StatusIds.ENABLE, StatusIds.TEMPORARY],
|
|
120
122
|
userProfiles: filter && filter.userProfiles
|
|
121
123
|
}, { withTotal: true /* need by autocomplete */ });
|
|
122
124
|
}
|
|
@@ -148,7 +150,6 @@ export class PersonService extends BaseEntityService {
|
|
|
148
150
|
asObject(source) {
|
|
149
151
|
if (!source)
|
|
150
152
|
return undefined;
|
|
151
|
-
console.debug('TODO check isInstanceOf');
|
|
152
153
|
if (!(source instanceof Person)) {
|
|
153
154
|
source = Person.fromObject(source);
|
|
154
155
|
}
|
|
@@ -166,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
166
167
|
type: Injectable,
|
|
167
168
|
args: [{ providedIn: 'root' }]
|
|
168
169
|
}], ctorParameters: function () { return [{ type: i1.GraphqlService }, { type: i2.PlatformService }, { type: i3.NetworkService }, { type: i4.EntitiesStorage }]; } });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2FkbWluL3NlcnZpY2VzL3BlcnNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFjLEdBQUcsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBS3JELE9BQU8sRUFBQyxNQUFNLEVBQW1CLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBRS9ELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUd6RCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ25FLE9BQU8sRUFBNkIsaUJBQWlCLEVBQUMsTUFBTSwrQ0FBK0MsQ0FBQztBQUM1RyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFFdkQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU0sRUFBRSxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQXFCVDtDQUNILENBQUM7QUFFRixxQkFBcUI7QUFDckIsTUFBTSxhQUFhLEdBQUc7SUFDcEIsT0FBTyxFQUFFLEdBQUcsQ0FBQTs7Ozs7O01BTVIsZUFBZSxDQUFDLE1BQU0sRUFBRTtJQUU1QixnQkFBZ0IsRUFBRSxHQUFHLENBQUE7Ozs7Ozs7TUFPakIsZUFBZSxDQUFDLE1BQU0sRUFBRTtDQUM3QixDQUFDO0FBR0YsTUFBTSxlQUFlLEdBQStCO0lBQ2xELE9BQU8sRUFBRSxHQUFHLENBQUE7Ozs7OztNQU1SLGVB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QUFNO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFFOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxDQUFDLE1BQU0sWUFBWSxNQUFNLENBQUMsRUFBRTtZQUMvQixNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQyxxQ0FBcUM7UUFDckMsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRTFCLCtCQUErQjtRQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7MEdBL0lVLGFBQWE7OEdBQWIsYUFBYSxjQURELE1BQU07MkZBQ2xCLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RmV0Y2hQb2xpY3ksIGdxbH0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0dyYXBocWxTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL2dyYXBocWwvZ3JhcGhxbC5zZXJ2aWNlJztcbmltcG9ydCB7TmV0d29ya1NlcnZpY2V9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbmV0d29yay5zZXJ2aWNlJztcbmltcG9ydCB7RW50aXRpZXNTdG9yYWdlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7UGVyc29uLCBVc2VyUHJvZmlsZUxhYmVsfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL3BlcnNvbi5tb2RlbCc7XG5pbXBvcnQge1N0YXR1c0lkc30gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9tb2RlbC5lbnVtJztcbmltcG9ydCB7U29ydERpcmVjdGlvbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQge0pvYlV0aWxzfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvam9iLnV0aWxzJztcbmltcG9ydCB7TG9hZFJlc3VsdCwgU3VnZ2VzdFNlcnZpY2V9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9lbnRpdHktc2VydmljZS5jbGFzcyc7XG5pbXBvcnQge1BsYXRmb3JtU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7UGVyc29uRmlsdGVyfSBmcm9tICcuL2ZpbHRlci9wZXJzb24uZmlsdGVyJztcbmltcG9ydCB7RW50aXR5VXRpbHN9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7QmFzZUVudGl0eUdyYXBocWxNdXRhdGlvbnMsIEJhc2VFbnRpdHlTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2Jhc2UtZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHtlbnZpcm9ubWVudH0gZnJvbSAnLi4vLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7aXNOb3RFbXB0eUFycmF5fSBmcm9tICcuLi8uLi9zaGFyZWQvZnVuY3Rpb25zJztcblxuZXhwb3J0IGNvbnN0IFBlcnNvbkZyYWdtZW50cyA9IHtcbiAgcGVyc29uOiBncWxgZnJhZ21lbnQgUGVyc29uRnJhZ21lbnQgb24gUGVyc29uVk8ge1xuICAgIGlkXG4gICAgZmlyc3ROYW1lXG4gICAgbGFzdE5hbWVcbiAgICBlbWFpbFxuICAgIHB1YmtleVxuICAgIGF2YXRhclxuICAgIHN0YXR1c0lkXG4gICAgdXBkYXRlRGF0ZVxuICAgIGNyZWF0aW9uRGF0ZVxuICAgIHByb2ZpbGVzXG4gICAgdXNlcm5hbWVcbiAgICB1c2VybmFtZUV4dHJhbmV0XG4gICAgZGVwYXJ0bWVudCB7XG4gICAgICBpZFxuICAgICAgbGFiZWxcbiAgICAgIG5hbWVcbiAgICAgIGxvZ29cbiAgICAgIF9fdHlwZW5hbWVcbiAgICB9XG4gICAgX190eXBlbmFtZVxuICB9YFxufTtcblxuLy8gTG9hZCBwZXJzb25zIHF1ZXJ5XG5jb25zdCBQZXJzb25RdWVyaWVzID0ge1xuICBsb2FkQWxsOiBncWxgXG4gICAgcXVlcnkgUGVyc29ucygkb2Zmc2V0OiBJbnQsICRzaXplOiBJbnQsICRzb3J0Qnk6IFN0cmluZywgJHNvcnREaXJlY3Rpb246IFN0cmluZywgJGZpbHRlcjogUGVyc29uRmlsdGVyVk9JbnB1dCl7XG4gICAgICBkYXRhOiBwZXJzb25zKGZpbHRlcjogJGZpbHRlciwgb2Zmc2V0OiAkb2Zmc2V0LCBzaXplOiAkc2l6ZSwgc29ydEJ5OiAkc29ydEJ5LCBzb3J0RGlyZWN0aW9uOiAkc29ydERpcmVjdGlvbil7XG4gICAgICAgIC4uLlBlcnNvbkZyYWdtZW50XG4gICAgICB9XG4gICAgfVxuICAgICR7UGVyc29uRnJhZ21lbnRzLnBlcnNvbn1gLFxuXG4gIGxvYWRBbGxXaXRoVG90YWw6IGdxbGBcbiAgICBxdWVyeSBQZXJzb25zV2l0aFRvdGFsKCRvZmZzZXQ6IEludCwgJHNpemU6IEludCwgJHNvcnRCeTogU3RyaW5nLCAkc29ydERpcmVjdGlvbjogU3RyaW5nLCAkZmlsdGVyOiBQZXJzb25GaWx0ZXJWT0lucHV0KXtcbiAgICAgIGRhdGE6IHBlcnNvbnMoZmlsdGVyOiAkZmlsdGVyLCBvZmZzZXQ6ICRvZmZzZXQsIHNpemU6ICRzaXplLCBzb3J0Qnk6ICRzb3J0QnksIHNvcnREaXJlY3Rpb246ICRzb3J0RGlyZWN0aW9uKXtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICAgIHRvdGFsOiBwZXJzb25zQ291bnQoZmlsdGVyOiAkZmlsdGVyKVxuICAgIH1cbiAgICAke1BlcnNvbkZyYWdtZW50cy5wZXJzb259YFxufTtcblxuXG5jb25zdCBQZXJzb25NdXRhdGlvbnM6IEJhc2VFbnRpdHlHcmFwaHFsTXV0YXRpb25zID0ge1xuICBzYXZlQWxsOiBncWxgXG4gICAgbXV0YXRpb24gc2F2ZVBlcnNvbnMoJGRhdGE6W1BlcnNvblZPSW5wdXRdKXtcbiAgICAgIGRhdGE6IHNhdmVQZXJzb25zKHBlcnNvbnM6ICRkYXRhKXtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29ufWAsXG4gIGRlbGV0ZUFsbDogZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZVBlcnNvbnMoJGlkczpbSW50XSl7XG4gICAgICBkZWxldGVQZXJzb25zKGlkczogJGlkcylcbiAgICB9YFxufTtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUGVyc29uU2VydmljZSBleHRlbmRzIEJhc2VFbnRpdHlTZXJ2aWNlPFBlcnNvbiwgUGVyc29uRmlsdGVyPlxuICBpbXBsZW1lbnRzIFN1Z2dlc3RTZXJ2aWNlPFBlcnNvbiwgUGVyc29uRmlsdGVyPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGdyYXBocWw6IEdyYXBocWxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBuZXR3b3JrOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZW50aXRpZXM6IEVudGl0aWVzU3RvcmFnZVxuICApIHtcbiAgICBzdXBlcihncmFwaHFsLCBwbGF0Zm9ybSwgUGVyc29uLCBQZXJzb25GaWx0ZXIsIHtcbiAgICAgIHF1ZXJpZXM6IFBlcnNvblF1ZXJpZXMsXG4gICAgICBtdXRhdGlvbnM6IFBlcnNvbk11dGF0aW9ucyxcbiAgICAgIGRlZmF1bHRTb3J0Qnk6ICdsYXN0TmFtZScsXG4gICAgICBkZWZhdWx0U29ydERpcmVjdGlvbjogJ2FzYydcbiAgICB9KTtcblxuICAgIC8vIGZvciBERVYgb25seSAtLS0tLVxuICAgIHRoaXMuX2RlYnVnID0gIWVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gIH1cblxuICBhc3luYyBsb2FkQWxsKG9mZnNldDogbnVtYmVyLCBzaXplOiBudW1iZXIsIHNvcnRCeT86IHN0cmluZyxcbiAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICAgICAgICAgICAgICBmaWx0ZXI/OiBQYXJ0aWFsPFBlcnNvbkZpbHRlcj4sIG9wdHM/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgICAgICAgZGVidWc/OiBib29sZWFuO1xuICAgICAgICB3aXRoVG90YWw/OiBib29sZWFuO1xuICAgICAgICB0b0VudGl0eT86IGJvb2xlYW47XG4gICAgICB9KTogUHJvbWlzZTxMb2FkUmVzdWx0PFBlcnNvbj4+IHtcblxuICAgIGNvbnN0IG9mZmxpbmUgPSB0aGlzLm5ldHdvcmsub2ZmbGluZSAmJiAoIW9wdHMgfHwgb3B0cy5mZXRjaFBvbGljeSAhPT0gJ25ldHdvcmstb25seScpO1xuICAgIGlmIChvZmZsaW5lKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkQWxsTG9jYWxseShvZmZzZXQsIHNpemUsIHNvcnRCeSwgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIubG9hZEFsbChvZmZzZXQsIHNpemUsIHNvcnRCeSwgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGxMb2NhbGx5KG9mZnNldDogbnVtYmVyLCBzaXplOiBudW1iZXIsIHNvcnRCeT86IHN0cmluZywgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICAgICAgICAgICAgICAgICAgICAgb3B0cz86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgd2l0aFRvdGFsPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICB0b0VudGl0eT86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgIH0pOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj4ge1xuXG4gICAgZmlsdGVyID0gdGhpcy5hc0ZpbHRlcihmaWx0ZXIpO1xuXG4gICAgY29uc3QgdmFyaWFibGVzID0ge1xuICAgICAgb2Zmc2V0OiBvZmZzZXQgfHwgMCxcbiAgICAgIHNpemU6IHNpemUgfHwgMTAwLFxuICAgICAgc29ydEJ5OiBzb3J0QnkgfHwgdGhpcy5kZWZhdWx0U29ydEJ5LFxuICAgICAgc29ydERpcmVjdGlvbjogc29ydERpcmVjdGlvbiB8fCB0aGlzLmRlZmF1bHRTb3J0RGlyZWN0aW9uLFxuICAgICAgZmlsdGVyOiBmaWx0ZXIgJiYgZmlsdGVyLmFzRmlsdGVyRm4oKVxuICAgIH07XG5cbiAgICBjb25zdCB7ZGF0YSwgdG90YWx9ID0gYXdhaXQgdGhpcy5lbnRpdGllcy5sb2FkQWxsPFBlcnNvbj4oJ1BlcnNvblZPJywgdmFyaWFibGVzKTtcblxuICAgIGNvbnN0IGVudGl0aWVzID0gKCFvcHRzIHx8IG9wdHMudG9FbnRpdHkgIT09IGZhbHNlKSA/XG4gICAgICAoZGF0YSB8fCBbXSkubWFwKFBlcnNvbi5mcm9tT2JqZWN0KSA6XG4gICAgICAoZGF0YSB8fCBbXSkgYXMgUGVyc29uW107XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IGVudGl0aWVzLFxuICAgICAgdG90YWxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgc3VnZ2VzdCh2YWx1ZTogYW55LCBmaWx0ZXI/OiBQZXJzb25GaWx0ZXIsIHNvcnRCeT86IHN0cmluZywgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24pOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj4ge1xuICAgIGlmIChFbnRpdHlVdGlscy5pc05vdEVtcHR5KHZhbHVlLCAnaWQnKSkgcmV0dXJuIHtkYXRhOiBbdmFsdWVdfTtcbiAgICB2YWx1ZSA9ICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlICE9PSAnKicpICYmIHZhbHVlIHx8IHVuZGVmaW5lZDtcbiAgICBzb3J0QnkgPSBzb3J0QnkgfHwgZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZSB8fCAoZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZXMgJiYgZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZXNbMF0pO1xuICAgIHJldHVybiB0aGlzLmxvYWRBbGwoMCwgIXZhbHVlID8gMzAgOiAxMCwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLFxuICAgICAge1xuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIHNlYXJjaFRleHQ6IHZhbHVlIGFzIHN0cmluZyxcbiAgICAgICAgc3RhdHVzSWRzOiBmaWx0ZXIgJiYgZmlsdGVyLnN0YXR1c0lkcyB8fCBbU3RhdHVzSWRzLkVOQUJMRV0sXG4gICAgICAgIHVzZXJQcm9maWxlczogZmlsdGVyICYmIGZpbHRlci51c2VyUHJvZmlsZXNcbiAgICAgIH0sXG4gICAgICB7IHdpdGhUb3RhbDogdHJ1ZSAvKiBuZWVkIGJ5IGF1dG9jb21wbGV0ZSAqLyB9XG4gICAgICApO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZUltcG9ydChmaWx0ZXI6IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICAgICAgICAgICAgICAgICAgICBvcHRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc2lvbj86IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4UHJvZ3Jlc3Npb24/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgfSk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgY29uc3QgbWF4UHJvZ3Jlc3Npb24gPSBvcHRzICYmIG9wdHMubWF4UHJvZ3Jlc3Npb24gfHwgMTAwO1xuICAgIGZpbHRlciA9IHtcbiAgICAgIC4uLmZpbHRlcixcbiAgICAgIHN0YXR1c0lkczogW1N0YXR1c0lkcy5FTkFCTEUsIFN0YXR1c0lkcy5URU1QT1JBUlldLFxuICAgICAgdXNlclByb2ZpbGVzOiA8VXNlclByb2ZpbGVMYWJlbFtdPlsnU1VQRVJWSVNPUicsICdVU0VSJywgJ0dVRVNUJ11cbiAgICB9O1xuXG4gICAgY29uc29sZS5pbmZvKCdbcGVyc29uLXNlcnZpY2VdIEltcG9ydGluZyBwZXJzb25zLi4uJyk7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBKb2JVdGlscy5mZXRjaEFsbFBhZ2VzKChvZmZzZXQsIHNpemUpID0+XG4gICAgICAgIHRoaXMubG9hZEFsbChvZmZzZXQsIHNpemUsICdpZCcsIG51bGwsIGZpbHRlciwge1xuICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICAgICAgd2l0aFRvdGFsOiAob2Zmc2V0ID09PSAwKSwgLy8gQ29tcHV0ZSB0b3RhbCBvbmx5IG9uY2VcbiAgICAgICAgICB0b0VudGl0eTogZmFsc2VcbiAgICAgICAgfSksXG4gICAgICB7cHJvZ3Jlc3Npb246IG9wdHM/LnByb2dyZXNzaW9uLCBtYXhQcm9ncmVzc2lvbjogbWF4UHJvZ3Jlc3Npb24gKiAwLjl9XG4gICAgKTtcblxuICAgIC8vIFNhdmUgcmVzdWx0IGxvY2FsbHlcbiAgICBhd2FpdCB0aGlzLmVudGl0aWVzLnNhdmVBbGwocmVzLmRhdGEsIHtlbnRpdHlOYW1lOiAnUGVyc29uVk8nLCByZXNldDogdHJ1ZX0pO1xuICB9XG5cbiAgYXN5bmMgbG9hZEJ5UHVia2V5KHB1YmtleTogc3RyaW5nLCBvcHRzPzoge1xuICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgICAgIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgICB9KTogUHJvbWlzZTxQZXJzb24+IHtcbiAgICBjb25zdCB7ZGF0YX0gPSBhd2FpdCB0aGlzLmxvYWRBbGwoMCwgMSwgbnVsbCwgIG51bGwsIHtwdWJrZXl9LCB7d2l0aFRvdGFsOiBmYWxzZSwgLi4ub3B0c30pO1xuICAgIGNvbnN0IGVudGl0eSA9IGlzTm90RW1wdHlBcnJheShkYXRhKVxuICAgICAgPyBkYXRhWzBdXG4gICAgICA6IG9wdHM/LnRvRW50aXR5ICE9PSBmYWxzZSA/IFBlcnNvbi5mcm9tT2JqZWN0KHtwdWJrZXl9KSA6IHtwdWJrZXl9IGFzIFBlcnNvbjtcbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIG1ldGhvZHMgLS0gKi9cblxuICBwcm90ZWN0ZWQgYXNPYmplY3Qoc291cmNlOiBQZXJzb24gfCBhbnkpOiBhbnkge1xuICAgIGlmICghc291cmNlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc29sZS5kZWJ1ZygnVE9ETyBjaGVjayBpc0luc3RhbmNlT2YnKTtcbiAgICBpZiAoIShzb3VyY2UgaW5zdGFuY2VvZiBQZXJzb24pKSB7XG4gICAgICBzb3VyY2UgPSBQZXJzb24uZnJvbU9iamVjdChzb3VyY2UpO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXQgPSBzb3VyY2UuYXNPYmplY3QoKTtcblxuICAgIC8vIE5vdCBrbm93biBpbiBzZXJ2ZXIgR3JhcGhRTCBzY2hlbWFcbiAgICBkZWxldGUgdGFyZ2V0Lm1haW5Qcm9maWxlO1xuXG4gICAgLy8gTWluaWZ5IHRoZSBkZXBhcnRtZW50IG9iamVjdFxuICAgIHRhcmdldC5kZXBhcnRtZW50ID0gc291cmNlLmRlcGFydG1lbnQgJiYgc291cmNlLmRlcGFydG1lbnQuYXNPYmplY3QodHJ1ZSk7XG5cbiAgICByZXR1cm4gdGFyZ2V0O1xuICB9XG5cbn1cbiJdfQ==
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2FkbWluL3NlcnZpY2VzL3BlcnNvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFlLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBS3ZELE9BQU8sRUFBRSxNQUFNLEVBQW9CLE1BQU0sd0NBQXdDLENBQUM7QUFDbEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUczRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sRUFBOEIsaUJBQWlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM5RyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7QUFFekQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLE1BQU0sRUFBRSxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJWO0NBQ0YsQ0FBQztBQUVGLHFCQUFxQjtBQUNyQixNQUFNLGFBQWEsR0FBRztJQUNwQixPQUFPLEVBQUUsR0FBRyxDQUFBOzs7Ozs7TUFNUixlQUFlLENBQUMsTUFBTSxFQUFFO0lBRTVCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQTs7Ozs7OztNQU9qQixlQUFlLENBQUMsTUFBTSxFQUFFO0NBQzdCLENBQUM7QUFHRixNQUFNLGVBQWUsR0FBK0I7SUFDbEQsT0FBTyxFQUFFLEdBQUcsQ0FBQTs7Ozs7O01BTVIs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QUFvQjtRQUNyQyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sU0FBUyxDQUFDO1FBRTlCLElBQUksQ0FBQyxDQUFDLE1BQU0sWUFBWSxNQUFNLENBQUMsRUFBRTtZQUMvQixNQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNwQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQyxxQ0FBcUM7UUFDckMsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDO1FBRTFCLCtCQUErQjtRQUMvQixNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7MEdBOUlVLGFBQWE7OEdBQWIsYUFBYSxjQURELE1BQU07MkZBQ2xCLGFBQWE7a0JBRHpCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmV0Y2hQb2xpY3ksIGdxbCB9IGZyb20gJ0BhcG9sbG8vY2xpZW50L2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBHcmFwaHFsU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZ3JhcGhxbC9ncmFwaHFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmV0d29ya1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL25ldHdvcmsuc2VydmljZSc7XG5pbXBvcnQgeyBFbnRpdGllc1N0b3JhZ2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL3N0b3JhZ2UvZW50aXRpZXMtc3RvcmFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNvbiwgVXNlclByb2ZpbGVMYWJlbCB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7IFN0YXR1c0lkcyB9IGZyb20gJy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvbW9kZWwuZW51bSc7XG5pbXBvcnQgeyBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XG5pbXBvcnQgeyBKb2JVdGlscyB9IGZyb20gJy4uLy4uL3NoYXJlZC9zZXJ2aWNlcy9qb2IudXRpbHMnO1xuaW1wb3J0IHsgTG9hZFJlc3VsdCwgU3VnZ2VzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2VydmljZXMvZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgUGxhdGZvcm1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlcy9wbGF0Zm9ybS5zZXJ2aWNlJztcbmltcG9ydCB7IFBlcnNvbkZpbHRlciB9IGZyb20gJy4vZmlsdGVyL3BlcnNvbi5maWx0ZXInO1xuaW1wb3J0IHsgRW50aXR5VXRpbHMgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL21vZGVsL2VudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlRW50aXR5R3JhcGhxbE11dGF0aW9ucywgQmFzZUVudGl0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2VzL2Jhc2UtZW50aXR5LXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgZW52aXJvbm1lbnQgfSBmcm9tICcuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQnO1xuaW1wb3J0IHsgaXNOb3RFbXB0eUFycmF5IH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBQZXJzb25GcmFnbWVudHMgPSB7XG4gIHBlcnNvbjogZ3FsYFxuICAgIGZyYWdtZW50IFBlcnNvbkZyYWdtZW50IG9uIFBlcnNvblZPIHtcbiAgICAgIGlkXG4gICAgICBmaXJzdE5hbWVcbiAgICAgIGxhc3ROYW1lXG4gICAgICBlbWFpbFxuICAgICAgcHVia2V5XG4gICAgICBhdmF0YXJcbiAgICAgIHN0YXR1c0lkXG4gICAgICB1cGRhdGVEYXRlXG4gICAgICBjcmVhdGlvbkRhdGVcbiAgICAgIHByb2ZpbGVzXG4gICAgICB1c2VybmFtZVxuICAgICAgdXNlcm5hbWVFeHRyYW5ldFxuICAgICAgZGVwYXJ0bWVudCB7XG4gICAgICAgIGlkXG4gICAgICAgIGxhYmVsXG4gICAgICAgIG5hbWVcbiAgICAgICAgbG9nb1xuICAgICAgICBfX3R5cGVuYW1lXG4gICAgICB9XG4gICAgICBfX3R5cGVuYW1lXG4gICAgfVxuICBgLFxufTtcblxuLy8gTG9hZCBwZXJzb25zIHF1ZXJ5XG5jb25zdCBQZXJzb25RdWVyaWVzID0ge1xuICBsb2FkQWxsOiBncWxgXG4gICAgcXVlcnkgUGVyc29ucygkb2Zmc2V0OiBJbnQsICRzaXplOiBJbnQsICRzb3J0Qnk6IFN0cmluZywgJHNvcnREaXJlY3Rpb246IFN0cmluZywgJGZpbHRlcjogUGVyc29uRmlsdGVyVk9JbnB1dCl7XG4gICAgICBkYXRhOiBwZXJzb25zKGZpbHRlcjogJGZpbHRlciwgb2Zmc2V0OiAkb2Zmc2V0LCBzaXplOiAkc2l6ZSwgc29ydEJ5OiAkc29ydEJ5LCBzb3J0RGlyZWN0aW9uOiAkc29ydERpcmVjdGlvbil7XG4gICAgICAgIC4uLlBlcnNvbkZyYWdtZW50XG4gICAgICB9XG4gICAgfVxuICAgICR7UGVyc29uRnJhZ21lbnRzLnBlcnNvbn1gLFxuXG4gIGxvYWRBbGxXaXRoVG90YWw6IGdxbGBcbiAgICBxdWVyeSBQZXJzb25zV2l0aFRvdGFsKCRvZmZzZXQ6IEludCwgJHNpemU6IEludCwgJHNvcnRCeTogU3RyaW5nLCAkc29ydERpcmVjdGlvbjogU3RyaW5nLCAkZmlsdGVyOiBQZXJzb25GaWx0ZXJWT0lucHV0KXtcbiAgICAgIGRhdGE6IHBlcnNvbnMoZmlsdGVyOiAkZmlsdGVyLCBvZmZzZXQ6ICRvZmZzZXQsIHNpemU6ICRzaXplLCBzb3J0Qnk6ICRzb3J0QnksIHNvcnREaXJlY3Rpb246ICRzb3J0RGlyZWN0aW9uKXtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICAgIHRvdGFsOiBwZXJzb25zQ291bnQoZmlsdGVyOiAkZmlsdGVyKVxuICAgIH1cbiAgICAke1BlcnNvbkZyYWdtZW50cy5wZXJzb259YFxufTtcblxuXG5jb25zdCBQZXJzb25NdXRhdGlvbnM6IEJhc2VFbnRpdHlHcmFwaHFsTXV0YXRpb25zID0ge1xuICBzYXZlQWxsOiBncWxgXG4gICAgbXV0YXRpb24gc2F2ZVBlcnNvbnMoJGRhdGE6W1BlcnNvblZPSW5wdXRdKXtcbiAgICAgIGRhdGE6IHNhdmVQZXJzb25zKHBlcnNvbnM6ICRkYXRhKXtcbiAgICAgICAgLi4uUGVyc29uRnJhZ21lbnRcbiAgICAgIH1cbiAgICB9XG4gICAgJHtQZXJzb25GcmFnbWVudHMucGVyc29ufWAsXG4gIGRlbGV0ZUFsbDogZ3FsYFxuICAgIG11dGF0aW9uIGRlbGV0ZVBlcnNvbnMoJGlkczpbSW50XSl7XG4gICAgICBkZWxldGVQZXJzb25zKGlkczogJGlkcylcbiAgICB9YFxufTtcblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgUGVyc29uU2VydmljZSBleHRlbmRzIEJhc2VFbnRpdHlTZXJ2aWNlPFBlcnNvbiwgUGVyc29uRmlsdGVyPlxuICBpbXBsZW1lbnRzIFN1Z2dlc3RTZXJ2aWNlPFBlcnNvbiwgUGVyc29uRmlsdGVyPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGdyYXBocWw6IEdyYXBocWxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBwbGF0Zm9ybTogUGxhdGZvcm1TZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBuZXR3b3JrOiBOZXR3b3JrU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgZW50aXRpZXM6IEVudGl0aWVzU3RvcmFnZVxuICApIHtcbiAgICBzdXBlcihncmFwaHFsLCBwbGF0Zm9ybSwgUGVyc29uLCBQZXJzb25GaWx0ZXIsIHtcbiAgICAgIHF1ZXJpZXM6IFBlcnNvblF1ZXJpZXMsXG4gICAgICBtdXRhdGlvbnM6IFBlcnNvbk11dGF0aW9ucyxcbiAgICAgIGRlZmF1bHRTb3J0Qnk6ICdsYXN0TmFtZScsXG4gICAgICBkZWZhdWx0U29ydERpcmVjdGlvbjogJ2FzYydcbiAgICB9KTtcblxuICAgIC8vIGZvciBERVYgb25seSAtLS0tLVxuICAgIHRoaXMuX2RlYnVnID0gIWVudmlyb25tZW50LnByb2R1Y3Rpb247XG4gIH1cblxuICBhc3luYyBsb2FkQWxsKG9mZnNldDogbnVtYmVyLCBzaXplOiBudW1iZXIsIHNvcnRCeT86IHN0cmluZyxcbiAgICAgICAgICAgICAgICBzb3J0RGlyZWN0aW9uPzogU29ydERpcmVjdGlvbixcbiAgICAgICAgICAgICAgICBmaWx0ZXI/OiBQYXJ0aWFsPFBlcnNvbkZpbHRlcj4sIG9wdHM/OiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgICAgICAgZGVidWc/OiBib29sZWFuO1xuICAgICAgICB3aXRoVG90YWw/OiBib29sZWFuO1xuICAgICAgICB0b0VudGl0eT86IGJvb2xlYW47XG4gICAgICB9KTogUHJvbWlzZTxMb2FkUmVzdWx0PFBlcnNvbj4+IHtcblxuICAgIGNvbnN0IG9mZmxpbmUgPSB0aGlzLm5ldHdvcmsub2ZmbGluZSAmJiAoIW9wdHMgfHwgb3B0cy5mZXRjaFBvbGljeSAhPT0gJ25ldHdvcmstb25seScpO1xuICAgIGlmIChvZmZsaW5lKSB7XG4gICAgICByZXR1cm4gdGhpcy5sb2FkQWxsTG9jYWxseShvZmZzZXQsIHNpemUsIHNvcnRCeSwgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VwZXIubG9hZEFsbChvZmZzZXQsIHNpemUsIHNvcnRCeSwgc29ydERpcmVjdGlvbiwgZmlsdGVyLCBvcHRzKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRBbGxMb2NhbGx5KG9mZnNldDogbnVtYmVyLCBzaXplOiBudW1iZXIsIHNvcnRCeT86IHN0cmluZywgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24sXG4gICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcj86IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICAgICAgICAgICAgICAgICAgICAgb3B0cz86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgICAgICAgICAgICAgICAgICAgICAgICBkZWJ1Zz86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgICAgd2l0aFRvdGFsPzogYm9vbGVhbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICB0b0VudGl0eT86IGJvb2xlYW47XG4gICAgICAgICAgICAgICAgICAgICAgIH0pOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj4ge1xuXG4gICAgZmlsdGVyID0gdGhpcy5hc0ZpbHRlcihmaWx0ZXIpO1xuXG4gICAgY29uc3QgdmFyaWFibGVzID0ge1xuICAgICAgb2Zmc2V0OiBvZmZzZXQgfHwgMCxcbiAgICAgIHNpemU6IHNpemUgfHwgMTAwLFxuICAgICAgc29ydEJ5OiBzb3J0QnkgfHwgdGhpcy5kZWZhdWx0U29ydEJ5LFxuICAgICAgc29ydERpcmVjdGlvbjogc29ydERpcmVjdGlvbiB8fCB0aGlzLmRlZmF1bHRTb3J0RGlyZWN0aW9uLFxuICAgICAgZmlsdGVyOiBmaWx0ZXIgJiYgZmlsdGVyLmFzRmlsdGVyRm4oKVxuICAgIH07XG5cbiAgICBjb25zdCB7ZGF0YSwgdG90YWx9ID0gYXdhaXQgdGhpcy5lbnRpdGllcy5sb2FkQWxsPFBlcnNvbj4oJ1BlcnNvblZPJywgdmFyaWFibGVzKTtcblxuICAgIGNvbnN0IGVudGl0aWVzID0gKCFvcHRzIHx8IG9wdHMudG9FbnRpdHkgIT09IGZhbHNlKSA/XG4gICAgICAoZGF0YSB8fCBbXSkubWFwKFBlcnNvbi5mcm9tT2JqZWN0KSA6XG4gICAgICAoZGF0YSB8fCBbXSkgYXMgUGVyc29uW107XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IGVudGl0aWVzLFxuICAgICAgdG90YWxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgc3VnZ2VzdCh2YWx1ZTogYW55LCBmaWx0ZXI/OiBQZXJzb25GaWx0ZXIsIHNvcnRCeT86IHN0cmluZywgc29ydERpcmVjdGlvbj86IFNvcnREaXJlY3Rpb24pOiBQcm9taXNlPExvYWRSZXN1bHQ8UGVyc29uPj4ge1xuICAgIGlmIChFbnRpdHlVdGlscy5pc05vdEVtcHR5KHZhbHVlLCAnaWQnKSkgcmV0dXJuIHtkYXRhOiBbdmFsdWVdfTtcbiAgICB2YWx1ZSA9ICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlICE9PSAnKicpICYmIHZhbHVlIHx8IHVuZGVmaW5lZDtcbiAgICBzb3J0QnkgPSBzb3J0QnkgfHwgZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZSB8fCAoZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZXMgJiYgZmlsdGVyLnNlYXJjaEF0dHJpYnV0ZXNbMF0pO1xuICAgIHJldHVybiB0aGlzLmxvYWRBbGwoMCwgIXZhbHVlID8gMzAgOiAxMCwgc29ydEJ5LCBzb3J0RGlyZWN0aW9uLFxuICAgICAge1xuICAgICAgICAuLi5maWx0ZXIsXG4gICAgICAgIHNlYXJjaFRleHQ6IHZhbHVlIGFzIHN0cmluZyxcbiAgICAgICAgc3RhdHVzSWRzOiBmaWx0ZXIgJiYgZmlsdGVyLnN0YXR1c0lkcyB8fCBbU3RhdHVzSWRzLkVOQUJMRSwgU3RhdHVzSWRzLlRFTVBPUkFSWV0sXG4gICAgICAgIHVzZXJQcm9maWxlczogZmlsdGVyICYmIGZpbHRlci51c2VyUHJvZmlsZXNcbiAgICAgIH0sXG4gICAgICB7IHdpdGhUb3RhbDogdHJ1ZSAvKiBuZWVkIGJ5IGF1dG9jb21wbGV0ZSAqLyB9XG4gICAgICApO1xuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZUltcG9ydChmaWx0ZXI6IFBhcnRpYWw8UGVyc29uRmlsdGVyPixcbiAgICAgICAgICAgICAgICAgICAgICBvcHRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzc2lvbj86IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4UHJvZ3Jlc3Npb24/OiBudW1iZXI7XG4gICAgICAgICAgICAgICAgICAgICAgfSk6IFByb21pc2U8dm9pZD4ge1xuXG4gICAgY29uc3QgbWF4UHJvZ3Jlc3Npb24gPSBvcHRzICYmIG9wdHMubWF4UHJvZ3Jlc3Npb24gfHwgMTAwO1xuICAgIGZpbHRlciA9IHtcbiAgICAgIC4uLmZpbHRlcixcbiAgICAgIHN0YXR1c0lkczogW1N0YXR1c0lkcy5FTkFCTEUsIFN0YXR1c0lkcy5URU1QT1JBUlldLFxuICAgICAgdXNlclByb2ZpbGVzOiA8VXNlclByb2ZpbGVMYWJlbFtdPlsnU1VQRVJWSVNPUicsICdVU0VSJywgJ0dVRVNUJ11cbiAgICB9O1xuXG4gICAgY29uc29sZS5pbmZvKCdbcGVyc29uLXNlcnZpY2VdIEltcG9ydGluZyBwZXJzb25zLi4uJyk7XG5cbiAgICBjb25zdCByZXMgPSBhd2FpdCBKb2JVdGlscy5mZXRjaEFsbFBhZ2VzKChvZmZzZXQsIHNpemUpID0+XG4gICAgICAgIHRoaXMubG9hZEFsbChvZmZzZXQsIHNpemUsICdpZCcsIG51bGwsIGZpbHRlciwge1xuICAgICAgICAgIGRlYnVnOiBmYWxzZSxcbiAgICAgICAgICBmZXRjaFBvbGljeTogJ25ldHdvcmstb25seScsXG4gICAgICAgICAgd2l0aFRvdGFsOiAob2Zmc2V0ID09PSAwKSwgLy8gQ29tcHV0ZSB0b3RhbCBvbmx5IG9uY2VcbiAgICAgICAgICB0b0VudGl0eTogZmFsc2VcbiAgICAgICAgfSksXG4gICAgICB7cHJvZ3Jlc3Npb246IG9wdHM/LnByb2dyZXNzaW9uLCBtYXhQcm9ncmVzc2lvbjogbWF4UHJvZ3Jlc3Npb24gKiAwLjl9XG4gICAgKTtcblxuICAgIC8vIFNhdmUgcmVzdWx0IGxvY2FsbHlcbiAgICBhd2FpdCB0aGlzLmVudGl0aWVzLnNhdmVBbGwocmVzLmRhdGEsIHtlbnRpdHlOYW1lOiAnUGVyc29uVk8nLCByZXNldDogdHJ1ZX0pO1xuICB9XG5cbiAgYXN5bmMgbG9hZEJ5UHVia2V5KHB1YmtleTogc3RyaW5nLCBvcHRzPzoge1xuICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgZmV0Y2hQb2xpY3k/OiBGZXRjaFBvbGljeTtcbiAgICAgIHRvRW50aXR5PzogYm9vbGVhbjtcbiAgICB9KTogUHJvbWlzZTxQZXJzb24+IHtcbiAgICBjb25zdCB7ZGF0YX0gPSBhd2FpdCB0aGlzLmxvYWRBbGwoMCwgMSwgbnVsbCwgIG51bGwsIHtwdWJrZXl9LCB7d2l0aFRvdGFsOiBmYWxzZSwgLi4ub3B0c30pO1xuICAgIGNvbnN0IGVudGl0eSA9IGlzTm90RW1wdHlBcnJheShkYXRhKVxuICAgICAgPyBkYXRhWzBdXG4gICAgICA6IG9wdHM/LnRvRW50aXR5ICE9PSBmYWxzZSA/IFBlcnNvbi5mcm9tT2JqZWN0KHtwdWJrZXl9KSA6IHtwdWJrZXl9IGFzIFBlcnNvbjtcbiAgICByZXR1cm4gZW50aXR5O1xuICB9XG5cbiAgLyogLS0gcHJvdGVjdGVkIG1ldGhvZHMgLS0gKi9cblxuICBwcm90ZWN0ZWQgYXNPYmplY3Qoc291cmNlOiBQZXJzb24gfCBhbnkpOiBhbnkge1xuICAgIGlmICghc291cmNlKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgaWYgKCEoc291cmNlIGluc3RhbmNlb2YgUGVyc29uKSkge1xuICAgICAgc291cmNlID0gUGVyc29uLmZyb21PYmplY3Qoc291cmNlKTtcbiAgICB9XG4gICAgY29uc3QgdGFyZ2V0ID0gc291cmNlLmFzT2JqZWN0KCk7XG5cbiAgICAvLyBOb3Qga25vd24gaW4gc2VydmVyIEdyYXBoUUwgc2NoZW1hXG4gICAgZGVsZXRlIHRhcmdldC5tYWluUHJvZmlsZTtcblxuICAgIC8vIE1pbmlmeSB0aGUgZGVwYXJ0bWVudCBvYmplY3RcbiAgICB0YXJnZXQuZGVwYXJ0bWVudCA9IHNvdXJjZS5kZXBhcnRtZW50ICYmIHNvdXJjZS5kZXBhcnRtZW50LmFzT2JqZWN0KHRydWUpO1xuXG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -1,34 +1,71 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { Validators } from '@angular/forms';
|
|
3
|
-
import {
|
|
3
|
+
import { PersonUtils } from '../../../core/services/model/person.model';
|
|
4
4
|
import { SharedValidators } from '../../../shared/validator/validators';
|
|
5
|
+
import { StatusIds } from '../../../core/services/model/model.enum';
|
|
6
|
+
import { AppValidatorService } from '../../../core/services/validator/base.validator.class';
|
|
5
7
|
import * as i0 from "@angular/core";
|
|
6
8
|
import * as i1 from "@angular/forms";
|
|
7
|
-
import * as i2 from "
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
import * as i2 from "@ngx-translate/core";
|
|
10
|
+
import * as i3 from "../../../core/services/account.service";
|
|
11
|
+
export class PersonValidatorService extends AppValidatorService {
|
|
12
|
+
constructor(formBuilder, translate, accountService) {
|
|
13
|
+
super(formBuilder, translate);
|
|
14
|
+
this.accountService = accountService;
|
|
12
15
|
}
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
getFormGroupConfig(data, opts) {
|
|
17
|
+
opts = this.fillDefaultOptions(opts);
|
|
18
|
+
const formConfig = {
|
|
19
|
+
id: [''],
|
|
20
|
+
updateDate: [''],
|
|
21
|
+
creationDate: [''],
|
|
22
|
+
lastName: [data?.lastName || null, Validators.compose([Validators.required, Validators.minLength(2)])],
|
|
23
|
+
firstName: [data?.firstName || null, Validators.compose([Validators.required, Validators.minLength(2)])],
|
|
24
|
+
email: [data?.email || null, Validators.compose([Validators.required, Validators.email])],
|
|
25
|
+
mainProfile: [data?.mainProfile || PersonUtils.getMainProfile(data?.profiles) || 'GUEST', Validators.required],
|
|
26
|
+
statusId: [data?.statusId || StatusIds.TEMPORARY, Validators.required],
|
|
27
|
+
pubkey: [data?.pubkey || null, Validators.compose([Validators.required, SharedValidators.pubkey])],
|
|
28
|
+
};
|
|
29
|
+
if (opts.withAvatar) {
|
|
30
|
+
formConfig.avatar = [data && data.avatar || null];
|
|
31
|
+
}
|
|
32
|
+
if (opts.withUsername) {
|
|
33
|
+
formConfig.username = [data && data.username || null, Validators.minLength(2)];
|
|
34
|
+
}
|
|
35
|
+
if (opts.withUsernameExtranet) {
|
|
36
|
+
formConfig.usernameExtranet = [data && data.usernameExtranet || null, Validators.minLength(2)];
|
|
37
|
+
}
|
|
38
|
+
// Add additional fields
|
|
39
|
+
this.accountService.additionalFields.forEach(field => {
|
|
40
|
+
//console.debug("[register-form] Add additional field {" + field.name + "} to form", field);
|
|
41
|
+
formConfig[field.key] = [data && data[field.key] || null, this.getValidators(field)];
|
|
42
|
+
});
|
|
43
|
+
return formConfig;
|
|
15
44
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
45
|
+
getValidators(field) {
|
|
46
|
+
const validatorFns = [];
|
|
47
|
+
if (field.extra && field.extra.account && field.extra.account.required) {
|
|
48
|
+
validatorFns.push(Validators.required);
|
|
49
|
+
}
|
|
50
|
+
if (field.type === 'entity') {
|
|
51
|
+
validatorFns.push(SharedValidators.entity);
|
|
52
|
+
}
|
|
53
|
+
return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
|
|
54
|
+
}
|
|
55
|
+
/* -- protected methods -- */
|
|
56
|
+
fillDefaultOptions(opts) {
|
|
57
|
+
return {
|
|
58
|
+
withAvatar: true,
|
|
59
|
+
withUsername: true,
|
|
60
|
+
withUsernameExtranet: true,
|
|
61
|
+
...opts
|
|
62
|
+
};
|
|
26
63
|
}
|
|
27
64
|
}
|
|
28
|
-
PersonValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PersonValidatorService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.
|
|
65
|
+
PersonValidatorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PersonValidatorService, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.TranslateService }, { token: i3.AccountService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
66
|
PersonValidatorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PersonValidatorService, providedIn: 'root' });
|
|
30
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PersonValidatorService, decorators: [{
|
|
31
68
|
type: Injectable,
|
|
32
69
|
args: [{ providedIn: 'root' }]
|
|
33
|
-
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
}], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.TranslateService }, { type: i3.AccountService }]; } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc29uLnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvYWRtaW4vc2VydmljZXMvdmFsaWRhdG9yL3BlcnNvbi52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQW1DLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBVSxXQUFXLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFHcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdURBQXVELENBQUM7Ozs7O0FBVTVGLE1BQU0sT0FBTyxzQkFBNkcsU0FBUSxtQkFBc0I7SUFFdEosWUFDRSxXQUErQixFQUMvQixTQUEyQixFQUNqQixjQUE4QjtRQUV4QyxLQUFLLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFBO1FBRm5CLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUcxQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBUSxFQUFFLElBQVE7UUFDbkMsSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVyQyxNQUFNLFVBQVUsR0FBMkI7WUFDekMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1IsVUFBVSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2hCLFlBQVksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNsQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsU0FBUyxD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Q0FBQztJQUMxSCxDQUFDO0lBRUQsNkJBQTZCO0lBRW5CLGtCQUFrQixDQUFDLElBQVE7UUFDbkMsT0FBTztZQUNMLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsR0FBRyxJQUFJO1NBQ1IsQ0FBQztJQUNKLENBQUM7O21IQWxFVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQURWLE1BQU07MkZBQ2xCLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFZhbGlkYXRvckZuLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUGVyc29uLCBQZXJzb25VdGlscyB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbW9kZWwvcGVyc29uLm1vZGVsJztcbmltcG9ydCB7IFNoYXJlZFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdmFsaWRhdG9yL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgU3RhdHVzSWRzIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9tb2RlbC9tb2RlbC5lbnVtJztcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hY2NvdW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9mb3JtL2ZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEFwcFZhbGlkYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3ZhbGlkYXRvci9iYXNlLnZhbGlkYXRvci5jbGFzcyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVyc29uVmFsaWRhdG9yT3B0aW9ucyB7XG4gIHdpdGhBdmF0YXI/OiBib29sZWFuO1xuICB3aXRoVXNlcm5hbWU/OiBib29sZWFuO1xuICB3aXRoVXNlcm5hbWVFeHRyYW5ldD86IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIFBlcnNvblZhbGlkYXRvclNlcnZpY2U8VCBleHRlbmRzIFBlcnNvbiA9IFBlcnNvbiwgTyBleHRlbmRzIFBlcnNvblZhbGlkYXRvck9wdGlvbnMgPSBQZXJzb25WYWxpZGF0b3JPcHRpb25zPiBleHRlbmRzIEFwcFZhbGlkYXRvclNlcnZpY2U8VD4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGZvcm1CdWlsZGVyOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhY2NvdW50U2VydmljZTogQWNjb3VudFNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoZm9ybUJ1aWxkZXIsIHRyYW5zbGF0ZSlcbiAgfVxuXG4gIGdldEZvcm1Hcm91cENvbmZpZyhkYXRhPzogVCwgb3B0cz86IE8pOiB7IFtrZXk6IHN0cmluZ106IGFueX0ge1xuICAgIG9wdHMgPSB0aGlzLmZpbGxEZWZhdWx0T3B0aW9ucyhvcHRzKTtcblxuICAgIGNvbnN0IGZvcm1Db25maWc6IHtba2V5OiBzdHJpbmddOiBhbnlbXX0gPSB7XG4gICAgICBpZDogWycnXSxcbiAgICAgIHVwZGF0ZURhdGU6IFsnJ10sXG4gICAgICBjcmVhdGlvbkRhdGU6IFsnJ10sXG4gICAgICBsYXN0TmFtZTogW2RhdGE/Lmxhc3ROYW1lIHx8IG51bGwsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMildKV0sXG4gICAgICBmaXJzdE5hbWU6IFtkYXRhPy5maXJzdE5hbWUgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKV0pXSxcbiAgICAgIGVtYWlsOiBbZGF0YT8uZW1haWwgfHwgbnVsbCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLmVtYWlsXSldLFxuICAgICAgbWFpblByb2ZpbGU6IFtkYXRhPy5tYWluUHJvZmlsZSB8fCBQZXJzb25VdGlscy5nZXRNYWluUHJvZmlsZShkYXRhPy5wcm9maWxlcykgfHwgJ0dVRVNUJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICBzdGF0dXNJZDogW2RhdGE/LnN0YXR1c0lkIHx8IFN0YXR1c0lkcy5URU1QT1JBUlksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgcHVia2V5OiBbZGF0YT8ucHVia2V5IHx8IG51bGwsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgU2hhcmVkVmFsaWRhdG9ycy5wdWJrZXldKV0sXG4gICAgfTtcblxuXG4gICAgaWYgKG9wdHMud2l0aEF2YXRhcikge1xuICAgICAgZm9ybUNvbmZpZy5hdmF0YXIgPSBbZGF0YSAmJiBkYXRhLmF2YXRhciB8fCBudWxsXTtcbiAgICB9XG4gICAgaWYgKG9wdHMud2l0aFVzZXJuYW1lKSB7XG4gICAgICBmb3JtQ29uZmlnLnVzZXJuYW1lID0gW2RhdGEgJiYgZGF0YS51c2VybmFtZSB8fCBudWxsLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgyKV07XG4gICAgfVxuICAgIGlmIChvcHRzLndpdGhVc2VybmFtZUV4dHJhbmV0KSB7XG4gICAgICBmb3JtQ29uZmlnLnVzZXJuYW1lRXh0cmFuZXQgPSBbZGF0YSAmJiBkYXRhLnVzZXJuYW1lRXh0cmFuZXQgfHwgbnVsbCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoMildO1xuICAgIH1cblxuICAgIC8vIEFkZCBhZGRpdGlvbmFsIGZpZWxkc1xuICAgIHRoaXMuYWNjb3VudFNlcnZpY2UuYWRkaXRpb25hbEZpZWxkcy5mb3JFYWNoKGZpZWxkID0+IHtcbiAgICAgIC8vY29uc29sZS5kZWJ1ZyhcIltyZWdpc3Rlci1mb3JtXSBBZGQgYWRkaXRpb25hbCBmaWVsZCB7XCIgKyBmaWVsZC5uYW1lICsgXCJ9IHRvIGZvcm1cIiwgZmllbGQpO1xuICAgICAgZm9ybUNvbmZpZ1tmaWVsZC5rZXldID0gW2RhdGEgJiYgZGF0YVtmaWVsZC5rZXldIHx8IG51bGwsIHRoaXMuZ2V0VmFsaWRhdG9ycyhmaWVsZCldO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGZvcm1Db25maWc7XG4gIH1cblxuICBnZXRWYWxpZGF0b3JzKGZpZWxkOiBGb3JtRmllbGREZWZpbml0aW9uKTogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdIHtcbiAgICBjb25zdCB2YWxpZGF0b3JGbnM6IFZhbGlkYXRvckZuW10gPSBbXTtcbiAgICBpZiAoZmllbGQuZXh0cmEgJiYgZmllbGQuZXh0cmEuYWNjb3VudCAmJiBmaWVsZC5leHRyYS5hY2NvdW50LnJlcXVpcmVkKSB7XG4gICAgICB2YWxpZGF0b3JGbnMucHVzaChWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICdlbnRpdHknKSB7XG4gICAgICB2YWxpZGF0b3JGbnMucHVzaChTaGFyZWRWYWxpZGF0b3JzLmVudGl0eSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbGlkYXRvckZucy5sZW5ndGggPyBWYWxpZGF0b3JzLmNvbXBvc2UodmFsaWRhdG9yRm5zKSA6IHZhbGlkYXRvckZucy5sZW5ndGggPT09IDEgPyB2YWxpZGF0b3JGbnNbMF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKiAtLSBwcm90ZWN0ZWQgbWV0aG9kcyAtLSAqL1xuXG4gIHByb3RlY3RlZCBmaWxsRGVmYXVsdE9wdGlvbnMob3B0cz86IE8pOiBPIHtcbiAgICByZXR1cm4ge1xuICAgICAgd2l0aEF2YXRhcjogdHJ1ZSxcbiAgICAgIHdpdGhVc2VybmFtZTogdHJ1ZSxcbiAgICAgIHdpdGhVc2VybmFtZUV4dHJhbmV0OiB0cnVlLFxuICAgICAgLi4ub3B0c1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
|