@arsedizioni/ars-utils 18.2.344 → 18.2.346
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/clipper.common/common/services/clipper.service.d.ts +4 -0
- package/clipper.ui/ui/search-result-manager/search-result-manager.d.ts +0 -1
- package/esm2022/clipper.common/common/common.module.mjs +4 -4
- package/esm2022/clipper.common/common/interceptors/auth.interceptor.mjs +3 -3
- package/esm2022/clipper.common/common/services/clipper.service.mjs +10 -4
- package/esm2022/clipper.ui/ui/browser-dialog/browser-dialog.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/document/document.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/document-index/document-index.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/document-manager/document-manager.mjs +3 -3
- package/esm2022/clipper.ui/ui/document-menu/document-menu.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/references/references.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/search-calendar/search-calendar.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/search-dialog/search-dialog.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/search-facets/search-facets.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/search-free-text-help/search-free-text-help.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/search-free-text-query-builder/search-free-text-query-builder.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/search-result-item/search-result-item.component.mjs +3 -3
- package/esm2022/clipper.ui/ui/search-result-manager/search-result-manager.mjs +4 -5
- package/esm2022/core/core.module.mjs +8 -8
- package/esm2022/core/dateFnsAdapter.mjs +3 -3
- package/esm2022/core/directives/autoFocusDirective.mjs +3 -3
- package/esm2022/core/directives/changeDateIntervalDirective.mjs +3 -3
- package/esm2022/core/directives/copyClipboardDirective.mjs +4 -4
- package/esm2022/core/directives/validators.mjs +33 -33
- package/esm2022/core/pipes/format.pipe.mjs +4 -4
- package/esm2022/core/pipes/replace.pipe.mjs +4 -4
- package/esm2022/core/pipes/safe-html.pipe.mjs +4 -4
- package/esm2022/core/pipes/safe-url.pipe.mjs +4 -4
- package/esm2022/core/pipes/search-callback.pipe.mjs +3 -3
- package/esm2022/core/pipes/search-filter.pipe.mjs +4 -4
- package/esm2022/core/services/broadcast.service.mjs +3 -3
- package/esm2022/core/services/environment.service.mjs +3 -3
- package/esm2022/core/services/screen.service.mjs +3 -3
- package/esm2022/core/services/theme.service.mjs +3 -3
- package/esm2022/help/components/help-viewer/help-viewer.component.mjs +6 -6
- package/esm2022/help/help.module.mjs +4 -4
- package/esm2022/help/services/help.service.mjs +3 -3
- package/esm2022/support.common/common/common.module.mjs +4 -4
- package/esm2022/support.common/common/interceptors/auth.interceptor.mjs +3 -3
- package/esm2022/support.common/common/services/support.service.mjs +3 -3
- package/esm2022/support.ui/ui/notifications-browser/notification/notification.component.mjs +3 -3
- package/esm2022/support.ui/ui/notifications-browser/notifications-browser.component.mjs +3 -3
- package/esm2022/tinymce/full-screen-editor/full-screen-editor.component.mjs +3 -3
- package/esm2022/tinymce/tinymce.module.mjs +4 -4
- package/esm2022/ui/ui/dialogs/busy/busy-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/confirm/confirm-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/credentials/credentials-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/info/info-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/recover-password/recover-password-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/reset-password/reset-password-dialog.component.mjs +3 -3
- package/esm2022/ui/ui/dialogs/toast/toast.component.mjs +3 -3
- package/esm2022/ui/ui/paginatorIntl.mjs +3 -3
- package/esm2022/ui/ui/services/dialog.service.mjs +3 -3
- package/esm2022/ui/ui/services/ui.service.mjs +3 -3
- package/esm2022/ui/ui/ui.module.mjs +4 -4
- package/esm2022/ui.application/ui/components/button-selector/button-selector.component.mjs +3 -3
- package/esm2022/ui.application/ui/components/button-toggle/button-toggle.component.mjs +3 -3
- package/esm2022/ui.application/ui/components/calendar-empty-header/calendar-empy-header.component.mjs +3 -3
- package/esm2022/ui.application/ui/components/chips-selector/chips-selector.component.mjs +3 -3
- package/esm2022/ui.application/ui/components/file-input/file-input.component.mjs +3 -3
- package/esm2022/ui.application/ui/components/file-preview/file-preview.component.mjs +3 -3
- package/esm2022/ui.application/ui/components/filter-bar/filter-bar.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/prompt/prompt-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/prompt-date/prompt-date-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/prompt-time/prompt-time-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select/select-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-file/select-file-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-picture/select-picture-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/dialogs/select-tree/select-tree-dialog.component.mjs +6 -6
- package/esm2022/ui.application/ui/dialogs/send-to/send-to-dialog.component.mjs +3 -3
- package/esm2022/ui.application/ui/directives/resize-table-column.directive.mjs +3 -3
- package/esm2022/ui.application/ui/services/applicationDialog.service.mjs +3 -3
- package/esm2022/ui.application/ui/ui.module.mjs +4 -4
- package/esm2022/ui.oauth/ui/components/login/login-oauth.component.mjs +3 -3
- package/esm2022/ui.oauth/ui/ui.module.mjs +4 -4
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs +16 -10
- package/fesm2022/arsedizioni-ars-utils-clipper.common.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs +39 -40
- package/fesm2022/arsedizioni-ars-utils-clipper.ui.mjs.map +1 -1
- package/fesm2022/arsedizioni-ars-utils-core.mjs +89 -89
- package/fesm2022/arsedizioni-ars-utils-help.mjs +13 -13
- package/fesm2022/arsedizioni-ars-utils-support.common.mjs +10 -10
- package/fesm2022/arsedizioni-ars-utils-support.ui.mjs +6 -6
- package/fesm2022/arsedizioni-ars-utils-tinymce.mjs +7 -7
- package/fesm2022/arsedizioni-ars-utils-ui.application.mjs +58 -58
- package/fesm2022/arsedizioni-ars-utils-ui.mjs +34 -34
- package/fesm2022/arsedizioni-ars-utils-ui.oauth.mjs +7 -7
- package/package.json +7 -7
- package/core/services/broadcastChannelHandler.d.ts +0 -83
- package/esm2022/core/services/broadcastChannelHandler.mjs +0 -80
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arsedizioni/ars-utils",
|
|
3
|
-
"version": "18.2.
|
|
3
|
+
"version": "18.2.346",
|
|
4
4
|
"author": {
|
|
5
5
|
"email": "software@arsedizioni.it",
|
|
6
6
|
"name": "Fabio Buscaroli, Alberto Doria"
|
|
@@ -59,18 +59,18 @@
|
|
|
59
59
|
"esm": "./esm2022/help/arsedizioni-ars-utils-help.mjs",
|
|
60
60
|
"default": "./fesm2022/arsedizioni-ars-utils-help.mjs"
|
|
61
61
|
},
|
|
62
|
-
"./support.common": {
|
|
63
|
-
"types": "./support.common/index.d.ts",
|
|
64
|
-
"esm2022": "./esm2022/support.common/arsedizioni-ars-utils-support.common.mjs",
|
|
65
|
-
"esm": "./esm2022/support.common/arsedizioni-ars-utils-support.common.mjs",
|
|
66
|
-
"default": "./fesm2022/arsedizioni-ars-utils-support.common.mjs"
|
|
67
|
-
},
|
|
68
62
|
"./support.ui": {
|
|
69
63
|
"types": "./support.ui/index.d.ts",
|
|
70
64
|
"esm2022": "./esm2022/support.ui/arsedizioni-ars-utils-support.ui.mjs",
|
|
71
65
|
"esm": "./esm2022/support.ui/arsedizioni-ars-utils-support.ui.mjs",
|
|
72
66
|
"default": "./fesm2022/arsedizioni-ars-utils-support.ui.mjs"
|
|
73
67
|
},
|
|
68
|
+
"./support.common": {
|
|
69
|
+
"types": "./support.common/index.d.ts",
|
|
70
|
+
"esm2022": "./esm2022/support.common/arsedizioni-ars-utils-support.common.mjs",
|
|
71
|
+
"esm": "./esm2022/support.common/arsedizioni-ars-utils-support.common.mjs",
|
|
72
|
+
"default": "./fesm2022/arsedizioni-ars-utils-support.common.mjs"
|
|
73
|
+
},
|
|
74
74
|
"./tinymce": {
|
|
75
75
|
"types": "./tinymce/index.d.ts",
|
|
76
76
|
"esm2022": "./esm2022/tinymce/arsedizioni-ars-utils-tinymce.mjs",
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Standard Broadcast Messages Manager
|
|
3
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* The message bag sent as a message
|
|
7
|
-
*/
|
|
8
|
-
export interface BroadcastChannelMessageBag<T> {
|
|
9
|
-
messageId: string;
|
|
10
|
-
sender: string;
|
|
11
|
-
data?: T;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Message subscription params
|
|
15
|
-
*/
|
|
16
|
-
export interface BroadcastChannelSubscriberInfo<T> {
|
|
17
|
-
messageId: string;
|
|
18
|
-
action: (bag: BroadcastChannelMessageBag<T>) => void;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Web Standard Broadcast Messages Manager
|
|
22
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
|
|
23
|
-
*/
|
|
24
|
-
export declare class BroadcastChannelManager {
|
|
25
|
-
private channel?;
|
|
26
|
-
private subscriptions;
|
|
27
|
-
/**
|
|
28
|
-
* Get the current channel registration
|
|
29
|
-
*/
|
|
30
|
-
get currentBus(): string | null | undefined;
|
|
31
|
-
constructor(bus: string);
|
|
32
|
-
dispose(): void;
|
|
33
|
-
/**
|
|
34
|
-
* Send a message
|
|
35
|
-
* @param bag The message, see also {@link BroadcastChannelMessageBag}
|
|
36
|
-
*
|
|
37
|
-
* @example
|
|
38
|
-
* channel.sendMessage({ messageId: 'my-broadcast-message', sender: 'the-sender', data: value });
|
|
39
|
-
*/
|
|
40
|
-
sendMessage<T>(bag: BroadcastChannelMessageBag<T>): void;
|
|
41
|
-
/**
|
|
42
|
-
* Send a message
|
|
43
|
-
* @param bag The message, see also {@link BroadcastChannelMessageBag}
|
|
44
|
-
* @param delay The number of milliseconds to wait before sending the message, see also {@link setTimeout}
|
|
45
|
-
*
|
|
46
|
-
* @example
|
|
47
|
-
* channel.sendMessage({ messageId: 'my-broadcast-message', sender: 'the-sender', data: value }, 250);
|
|
48
|
-
*/
|
|
49
|
-
sendMessage<T>(bag: BroadcastChannelMessageBag<T>, delay: number | null): void;
|
|
50
|
-
/**
|
|
51
|
-
* Send a message
|
|
52
|
-
* @param messageId The message id
|
|
53
|
-
* @param data The data to send
|
|
54
|
-
*
|
|
55
|
-
* @example
|
|
56
|
-
* channel.sendMessage('my-broadcast-message', value);
|
|
57
|
-
*/
|
|
58
|
-
sendMessage<T>(messageId: string, data: T | null): void;
|
|
59
|
-
/**
|
|
60
|
-
* Send a message
|
|
61
|
-
* @param messageId The message id
|
|
62
|
-
* @param data The data to send
|
|
63
|
-
* @param delay The number of milliseconds to wait before sending the message
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* channel.sendMessage('my-broadcast-message', value, 250);
|
|
67
|
-
*/
|
|
68
|
-
sendMessage<T>(messageId: string, data: T | null, delay: number | null): void;
|
|
69
|
-
/**
|
|
70
|
-
* Subscribe to a message
|
|
71
|
-
* @param args The subscription info, see also {@link BroadcastChannelSubscriberInfo}
|
|
72
|
-
*/
|
|
73
|
-
subscribe<T>(args: BroadcastChannelSubscriberInfo<T>): void;
|
|
74
|
-
/**
|
|
75
|
-
* Remove a message subscription
|
|
76
|
-
* @param messageId The message id
|
|
77
|
-
*/
|
|
78
|
-
unsubscribe(messageId: string): void;
|
|
79
|
-
/**
|
|
80
|
-
* Remove all the current subscriptions
|
|
81
|
-
*/
|
|
82
|
-
unsubscribeAll(): void;
|
|
83
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Standard Broadcast Messages Manager
|
|
3
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Web Standard Broadcast Messages Manager
|
|
7
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel
|
|
8
|
-
*/
|
|
9
|
-
export class BroadcastChannelManager {
|
|
10
|
-
/**
|
|
11
|
-
* Get the current channel registration
|
|
12
|
-
*/
|
|
13
|
-
get currentBus() {
|
|
14
|
-
return this.channel?.name;
|
|
15
|
-
}
|
|
16
|
-
constructor(bus) {
|
|
17
|
-
this.channel = undefined;
|
|
18
|
-
this.subscriptions = [];
|
|
19
|
-
this.channel = new BroadcastChannel(bus);
|
|
20
|
-
this.channel.onmessageerror = (e) => {
|
|
21
|
-
console.error('[BroadcastChannelManager] Errore di ricezione del messaggio', e);
|
|
22
|
-
};
|
|
23
|
-
this.channel.onmessage = (e) => {
|
|
24
|
-
const bag = e.data;
|
|
25
|
-
if (bag) {
|
|
26
|
-
const bagInfo = this.subscriptions.find(m => m.messageId === bag.messageId);
|
|
27
|
-
bagInfo?.action(bag);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
dispose() {
|
|
32
|
-
this.subscriptions = [];
|
|
33
|
-
this.channel?.close();
|
|
34
|
-
this.channel = null;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* overloads
|
|
38
|
-
*/
|
|
39
|
-
sendMessage(messageIdorBag, dataOrDelay = null, delay = 0) {
|
|
40
|
-
// console.warn({ messageIdorBag, dataOrDelay, delay });
|
|
41
|
-
setTimeout(() => {
|
|
42
|
-
if (typeof messageIdorBag === 'string') {
|
|
43
|
-
this.channel?.postMessage({ messageId: messageIdorBag, data: dataOrDelay });
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
this.channel?.postMessage(messageIdorBag);
|
|
47
|
-
}
|
|
48
|
-
}, (typeof dataOrDelay === 'number' ? dataOrDelay : delay) ?? 0);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Subscribe to a message
|
|
52
|
-
* @param args The subscription info, see also {@link BroadcastChannelSubscriberInfo}
|
|
53
|
-
*/
|
|
54
|
-
subscribe(args) {
|
|
55
|
-
const i = this.subscriptions.findIndex(m => m.messageId === args.messageId);
|
|
56
|
-
if (i === -1) {
|
|
57
|
-
this.subscriptions.push(args);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
this.subscriptions[i].action = args.action;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Remove a message subscription
|
|
65
|
-
* @param messageId The message id
|
|
66
|
-
*/
|
|
67
|
-
unsubscribe(messageId) {
|
|
68
|
-
const i = this.subscriptions.findIndex(m => m.messageId === messageId);
|
|
69
|
-
if (i !== -1) {
|
|
70
|
-
this.subscriptions.splice(i, 1);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Remove all the current subscriptions
|
|
75
|
-
*/
|
|
76
|
-
unsubscribeAll() {
|
|
77
|
-
this.subscriptions = [];
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0Q2hhbm5lbEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcnMtdXRpbHMvY29yZS9zZXJ2aWNlcy9icm9hZGNhc3RDaGFubmVsSGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFxQkg7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQzs7T0FFRztJQUNILElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxZQUFZLEdBQVc7UUFWZixZQUFPLEdBQTZCLFNBQVMsQ0FBQztRQUM5QyxrQkFBYSxHQUEwQyxFQUFFLENBQUM7UUFVaEUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUU7WUFDdkMsT0FBTyxDQUFDLEtBQUssQ0FBQyw2REFBNkQsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsRixDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQWUsRUFBRSxFQUFFO1lBQzNDLE1BQU0sR0FBRyxHQUF1RCxDQUFDLENBQUMsSUFBdUMsQ0FBQztZQUMxRyxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNSLE1BQU0sT0FBTyxHQUFvRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM3SCxPQUFPLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQXVDRDs7T0FFRztJQUNILFdBQVcsQ0FBSSxjQUFzRCxFQUFFLGNBQTBCLElBQUksRUFBRSxRQUF1QixDQUFDO1FBQzdILHdEQUF3RDtRQUN4RCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxPQUFPLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQW1DLENBQUMsQ0FBQztZQUMvRyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsY0FBK0MsQ0FBQyxDQUFDO1lBQzdFLENBQUM7UUFDSCxDQUFDLEVBQUUsQ0FBQyxPQUFPLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUdEOzs7T0FHRztJQUNILFNBQVMsQ0FBSSxJQUF1QztRQUNsRCxNQUFNLENBQUMsR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUMvQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsU0FBaUI7UUFDM0IsTUFBTSxDQUFDLEdBQVcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNILGNBQWM7UUFDWixJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU3RhbmRhcmQgQnJvYWRjYXN0IE1lc3NhZ2VzIE1hbmFnZXJcclxuICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0Jyb2FkY2FzdENoYW5uZWxcclxuICovXHJcblxyXG5cclxuLyoqXHJcbiAqIFRoZSBtZXNzYWdlIGJhZyBzZW50IGFzIGEgbWVzc2FnZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZzxUPiB7XHJcbiAgbWVzc2FnZUlkOiBzdHJpbmc7XHJcbiAgc2VuZGVyOiBzdHJpbmcsXHJcbiAgZGF0YT86IFQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNZXNzYWdlIHN1YnNjcmlwdGlvbiBwYXJhbXNcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgQnJvYWRjYXN0Q2hhbm5lbFN1YnNjcmliZXJJbmZvPFQ+IHtcclxuICBtZXNzYWdlSWQ6IHN0cmluZyxcclxuICBhY3Rpb246IChiYWc6IEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnPFQ+KSA9PiB2b2lkO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFdlYiBTdGFuZGFyZCBCcm9hZGNhc3QgTWVzc2FnZXMgTWFuYWdlclxyXG4gKiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQnJvYWRjYXN0Q2hhbm5lbFxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEJyb2FkY2FzdENoYW5uZWxNYW5hZ2VyIHtcclxuICBwcml2YXRlIGNoYW5uZWw/OiBCcm9hZGNhc3RDaGFubmVsIHwgbnVsbCA9IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IEJyb2FkY2FzdENoYW5uZWxTdWJzY3JpYmVySW5mbzxhbnk+W10gPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBjdXJyZW50IGNoYW5uZWwgcmVnaXN0cmF0aW9uXHJcbiAgICovXHJcbiAgcHVibGljIGdldCBjdXJyZW50QnVzKCk6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhbm5lbD8ubmFtZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGJ1czogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNoYW5uZWwgPSBuZXcgQnJvYWRjYXN0Q2hhbm5lbChidXMpO1xyXG5cclxuICAgIHRoaXMuY2hhbm5lbC5vbm1lc3NhZ2VlcnJvciA9IChlOiBhbnkpID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcignW0Jyb2FkY2FzdENoYW5uZWxNYW5hZ2VyXSBFcnJvcmUgZGkgcmljZXppb25lIGRlbCBtZXNzYWdnaW8nLCBlKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5jaGFubmVsLm9ubWVzc2FnZSA9IChlOiBNZXNzYWdlRXZlbnQpID0+IHtcclxuICAgICAgY29uc3QgYmFnOiBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZzxhbnk+IHwgbnVsbCB8IHVuZGVmaW5lZCA9IGUuZGF0YSBhcyBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZzxhbnk+O1xyXG4gICAgICBpZiAoYmFnKSB7XHJcbiAgICAgICAgY29uc3QgYmFnSW5mbzogQnJvYWRjYXN0Q2hhbm5lbFN1YnNjcmliZXJJbmZvPGFueT4gfCB1bmRlZmluZWQgPSB0aGlzLnN1YnNjcmlwdGlvbnMuZmluZChtID0+IG0ubWVzc2FnZUlkID09PSBiYWcubWVzc2FnZUlkKTtcclxuICAgICAgICBiYWdJbmZvPy5hY3Rpb24oYmFnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZGlzcG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gICAgdGhpcy5jaGFubmVsPy5jbG9zZSgpO1xyXG4gICAgdGhpcy5jaGFubmVsID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlbmQgYSBtZXNzYWdlXHJcbiAgICogQHBhcmFtIGJhZyBUaGUgbWVzc2FnZSwgc2VlIGFsc28ge0BsaW5rIEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnfVxyXG4gICAqIFxyXG4gICAqIEBleGFtcGxlICAgICBcclxuICAgKiBjaGFubmVsLnNlbmRNZXNzYWdlKHsgbWVzc2FnZUlkOiAnbXktYnJvYWRjYXN0LW1lc3NhZ2UnLCBzZW5kZXI6ICd0aGUtc2VuZGVyJywgZGF0YTogdmFsdWUgfSk7XHJcbiAgICovXHJcbiAgc2VuZE1lc3NhZ2U8VD4oYmFnOiBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZzxUPik6IHZvaWQ7XHJcbiAgLyoqXHJcbiAgICogU2VuZCBhIG1lc3NhZ2VcclxuICAgKiBAcGFyYW0gYmFnICAgVGhlIG1lc3NhZ2UsIHNlZSBhbHNvIHtAbGluayBCcm9hZGNhc3RDaGFubmVsTWVzc2FnZUJhZ31cclxuICAgKiBAcGFyYW0gZGVsYXkgVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgc2VuZGluZyB0aGUgbWVzc2FnZSwgc2VlIGFsc28ge0BsaW5rIHNldFRpbWVvdXR9XHJcbiAgICogXHJcbiAgICogQGV4YW1wbGUgICAgIFxyXG4gICAqIGNoYW5uZWwuc2VuZE1lc3NhZ2UoeyBtZXNzYWdlSWQ6ICdteS1icm9hZGNhc3QtbWVzc2FnZScsIHNlbmRlcjogJ3RoZS1zZW5kZXInLCBkYXRhOiB2YWx1ZSB9LCAyNTApO1xyXG4gICAqL1xyXG4gIHNlbmRNZXNzYWdlPFQ+KGJhZzogQnJvYWRjYXN0Q2hhbm5lbE1lc3NhZ2VCYWc8VD4sIGRlbGF5OiBudW1iZXIgfCBudWxsKTogdm9pZDtcclxuICAvKipcclxuICAgKiBTZW5kIGEgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBtZXNzYWdlSWQgVGhlIG1lc3NhZ2UgaWRcclxuICAgKiBAcGFyYW0gZGF0YSAgICAgIFRoZSBkYXRhIHRvIHNlbmRcclxuICAgKiBcclxuICAgKiBAZXhhbXBsZSAgICAgXHJcbiAgICogY2hhbm5lbC5zZW5kTWVzc2FnZSgnbXktYnJvYWRjYXN0LW1lc3NhZ2UnLCB2YWx1ZSk7XHJcbiAgICovXHJcbiAgc2VuZE1lc3NhZ2U8VD4obWVzc2FnZUlkOiBzdHJpbmcsIGRhdGE6IFQgfCBudWxsKTogdm9pZDtcclxuICAvKipcclxuICAgKiBTZW5kIGEgbWVzc2FnZVxyXG4gICAqIEBwYXJhbSBtZXNzYWdlSWQgVGhlIG1lc3NhZ2UgaWRcclxuICAgKiBAcGFyYW0gZGF0YSAgICAgIFRoZSBkYXRhIHRvIHNlbmRcclxuICAgKiBAcGFyYW0gZGVsYXkgICAgIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHNlbmRpbmcgdGhlIG1lc3NhZ2VcclxuICAgKiBcclxuICAgKiBAZXhhbXBsZSAgICAgXHJcbiAgICogY2hhbm5lbC5zZW5kTWVzc2FnZSgnbXktYnJvYWRjYXN0LW1lc3NhZ2UnLCB2YWx1ZSwgMjUwKTtcclxuICAgKi9cclxuICBzZW5kTWVzc2FnZTxUPihtZXNzYWdlSWQ6IHN0cmluZywgZGF0YTogVCB8IG51bGwsIGRlbGF5OiBudW1iZXIgfCBudWxsKTogdm9pZDtcclxuXHJcbiAgLyoqXHJcbiAgICogb3ZlcmxvYWRzXHJcbiAgICovXHJcbiAgc2VuZE1lc3NhZ2U8VD4obWVzc2FnZUlkb3JCYWc6IHN0cmluZyB8IEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnPFQ+LCBkYXRhT3JEZWxheTogVCB8IG51bWJlciA9IG51bGwsIGRlbGF5OiBudW1iZXIgfCBudWxsID0gMCkge1xyXG4gICAgLy8gY29uc29sZS53YXJuKHsgbWVzc2FnZUlkb3JCYWcsIGRhdGFPckRlbGF5LCBkZWxheSB9KTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAodHlwZW9mIG1lc3NhZ2VJZG9yQmFnID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgIHRoaXMuY2hhbm5lbD8ucG9zdE1lc3NhZ2UoeyBtZXNzYWdlSWQ6IG1lc3NhZ2VJZG9yQmFnLCBkYXRhOiBkYXRhT3JEZWxheSB9IGFzIEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnPFQ+KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoYW5uZWw/LnBvc3RNZXNzYWdlKG1lc3NhZ2VJZG9yQmFnIGFzIEJyb2FkY2FzdENoYW5uZWxNZXNzYWdlQmFnPFQ+KTtcclxuICAgICAgfVxyXG4gICAgfSwgKHR5cGVvZiBkYXRhT3JEZWxheSA9PT0gJ251bWJlcicgPyBkYXRhT3JEZWxheSA6IGRlbGF5KSA/PyAwKTtcclxuICB9XHJcblxyXG5cclxuICAvKipcclxuICAgKiBTdWJzY3JpYmUgdG8gYSBtZXNzYWdlXHJcbiAgICogQHBhcmFtIGFyZ3MgVGhlIHN1YnNjcmlwdGlvbiBpbmZvLCBzZWUgYWxzbyB7QGxpbmsgQnJvYWRjYXN0Q2hhbm5lbFN1YnNjcmliZXJJbmZvfVxyXG4gICAqL1xyXG4gIHN1YnNjcmliZTxUPihhcmdzOiBCcm9hZGNhc3RDaGFubmVsU3Vic2NyaWJlckluZm88VD4pIHtcclxuICAgIGNvbnN0IGk6IG51bWJlciA9IHRoaXMuc3Vic2NyaXB0aW9ucy5maW5kSW5kZXgobSA9PiBtLm1lc3NhZ2VJZCA9PT0gYXJncy5tZXNzYWdlSWQpO1xyXG4gICAgaWYgKGkgPT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGFyZ3MpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbnNbaV0uYWN0aW9uID0gYXJncy5hY3Rpb247XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYSBtZXNzYWdlIHN1YnNjcmlwdGlvblxyXG4gICAqIEBwYXJhbSBtZXNzYWdlSWQgVGhlIG1lc3NhZ2UgaWRcclxuICAgKi9cclxuICB1bnN1YnNjcmliZShtZXNzYWdlSWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgaTogbnVtYmVyID0gdGhpcy5zdWJzY3JpcHRpb25zLmZpbmRJbmRleChtID0+IG0ubWVzc2FnZUlkID09PSBtZXNzYWdlSWQpO1xyXG4gICAgaWYgKGkgIT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5zcGxpY2UoaSwgMSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW1vdmUgYWxsIHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbnNcclxuICAgKi9cclxuICB1bnN1YnNjcmliZUFsbCgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG4gIH1cclxufVxyXG4iXX0=
|