@jubbio/core 1.0.8 → 1.0.9
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.
|
@@ -4,6 +4,7 @@ import type { Client } from '../Client';
|
|
|
4
4
|
import { Message } from './Message';
|
|
5
5
|
import { Collection } from './Collection';
|
|
6
6
|
import { MessageCollector, MessageCollectorOptions } from '../utils/Collector';
|
|
7
|
+
import { EmbedBuilder } from '../builders/EmbedBuilder';
|
|
7
8
|
/**
|
|
8
9
|
* Await messages options
|
|
9
10
|
*/
|
|
@@ -111,7 +112,7 @@ export declare class DMChannel extends BaseChannel {
|
|
|
111
112
|
*/
|
|
112
113
|
export interface MessageCreateOptions {
|
|
113
114
|
content?: string;
|
|
114
|
-
embeds?: APIEmbed[];
|
|
115
|
+
embeds?: (APIEmbed | EmbedBuilder)[];
|
|
115
116
|
components?: any[];
|
|
116
117
|
files?: any[];
|
|
117
118
|
}
|
|
@@ -6,6 +6,13 @@ const enums_1 = require("../enums");
|
|
|
6
6
|
const Message_1 = require("./Message");
|
|
7
7
|
const Collection_1 = require("./Collection");
|
|
8
8
|
const Collector_1 = require("../utils/Collector");
|
|
9
|
+
const EmbedBuilder_1 = require("../builders/EmbedBuilder");
|
|
10
|
+
/** Resolve EmbedBuilder instances to plain API objects */
|
|
11
|
+
function resolveEmbeds(embeds) {
|
|
12
|
+
if (!embeds)
|
|
13
|
+
return undefined;
|
|
14
|
+
return embeds.map(e => e instanceof EmbedBuilder_1.EmbedBuilder ? e.toJSON() : e);
|
|
15
|
+
}
|
|
9
16
|
/**
|
|
10
17
|
* Base channel class
|
|
11
18
|
*/
|
|
@@ -76,7 +83,7 @@ class TextChannel extends BaseChannel {
|
|
|
76
83
|
*/
|
|
77
84
|
async send(options) {
|
|
78
85
|
const content = typeof options === 'string' ? options : options.content;
|
|
79
|
-
const embeds = typeof options === 'string' ? undefined : options.embeds;
|
|
86
|
+
const embeds = typeof options === 'string' ? undefined : resolveEmbeds(options.embeds);
|
|
80
87
|
const components = typeof options === 'string' ? undefined : options.components;
|
|
81
88
|
const data = await this.client.rest.createMessage(this.guildId || '', this.id, {
|
|
82
89
|
content,
|
|
@@ -197,7 +204,7 @@ class DMChannel extends BaseChannel {
|
|
|
197
204
|
*/
|
|
198
205
|
async send(options) {
|
|
199
206
|
const content = typeof options === 'string' ? options : options.content;
|
|
200
|
-
const embeds = typeof options === 'string' ? undefined : options.embeds;
|
|
207
|
+
const embeds = typeof options === 'string' ? undefined : resolveEmbeds(options.embeds);
|
|
201
208
|
const data = await this.client.rest.createDMMessage(this.id, {
|
|
202
209
|
content,
|
|
203
210
|
embeds
|
|
@@ -223,4 +230,4 @@ function createChannel(client, data) {
|
|
|
223
230
|
return new BaseChannel(client, data);
|
|
224
231
|
}
|
|
225
232
|
}
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmVzL0NoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBa1FBLHNDQWFDO0FBOVFELG9DQUF1QztBQUV2Qyx1Q0FBb0M7QUFDcEMsNkNBQTBDO0FBQzFDLGtEQUErRTtBQVUvRTs7R0FFRztBQUNILE1BQWEsV0FBVztJQUN0Qiw4QkFBOEI7SUFDZCxNQUFNLENBQVM7SUFFL0IsaUJBQWlCO0lBQ0QsRUFBRSxDQUFTO0lBRTNCLG1CQUFtQjtJQUNILElBQUksQ0FBYztJQUVsQyxZQUFZLE1BQWMsRUFBRSxJQUFnQjtRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxPQUFPO1lBQ0wsbUJBQVcsQ0FBQyxTQUFTO1lBQ3JCLG1CQUFXLENBQUMsRUFBRTtZQUNkLG1CQUFXLENBQUMsT0FBTztZQUNuQixtQkFBVyxDQUFDLGlCQUFpQjtTQUM5QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLE9BQU87WUFDTCxtQkFBVyxDQUFDLFVBQVU7WUFDdEIsbUJBQVcsQ0FBQyxlQUFlO1NBQzVCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxRQUFRO1FBQ04sT0FBTyxLQUFLLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUE1Q0Qsa0NBNENDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLFdBQVksU0FBUSxXQUFXO0lBQzFD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OUIsT0FBTyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEMsS0FBSyxtQkFBVyxDQUFDLEVBQUU7WUFDakIsT0FBTyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckM7WUFDRSxPQUFPLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQSUNoYW5uZWwsIEFQSU1lc3NhZ2UsIEFQSUVtYmVkIH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBDaGFubmVsVHlwZSB9IGZyb20gJy4uL2VudW1zJztcclxuaW1wb3J0IHR5cGUgeyBDbGllbnQgfSBmcm9tICcuLi9DbGllbnQnO1xyXG5pbXBvcnQgeyBNZXNzYWdlIH0gZnJvbSAnLi9NZXNzYWdlJztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vQ29sbGVjdGlvbic7XHJcbmltcG9ydCB7IE1lc3NhZ2VDb2xsZWN0b3IsIE1lc3NhZ2VDb2xsZWN0b3JPcHRpb25zIH0gZnJvbSAnLi4vdXRpbHMvQ29sbGVjdG9yJztcclxuXHJcbi8qKlxyXG4gKiBBd2FpdCBtZXNzYWdlcyBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEF3YWl0TWVzc2FnZXNPcHRpb25zIGV4dGVuZHMgTWVzc2FnZUNvbGxlY3Rvck9wdGlvbnMge1xyXG4gIC8qKiBFcnJvcnMgdG8gcmVqZWN0IG9uICovXHJcbiAgZXJyb3JzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNoYW5uZWwgY2xhc3NcclxuICovXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ2hhbm5lbCB7XHJcbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgY2xpZW50ICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGNsaWVudDogQ2xpZW50O1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIElEICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIENoYW5uZWwgdHlwZSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBDaGFubmVsVHlwZTtcclxuXHJcbiAgY29uc3RydWN0b3IoY2xpZW50OiBDbGllbnQsIGRhdGE6IEFQSUNoYW5uZWwpIHtcclxuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xyXG4gICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICB0aGlzLnR5cGUgPSBkYXRhLnR5cGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGlzIGlzIGEgdGV4dC1iYXNlZCBjaGFubmVsXHJcbiAgICovXHJcbiAgaXNUZXh0QmFzZWQoKTogdGhpcyBpcyBUZXh0Q2hhbm5lbCB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICBDaGFubmVsVHlwZS5HdWlsZFRleHQsXHJcbiAgICAgIENoYW5uZWxUeXBlLkRNLFxyXG4gICAgICBDaGFubmVsVHlwZS5Hcm91cERNLFxyXG4gICAgICBDaGFubmVsVHlwZS5HdWlsZEFubm91bmNlbWVudFxyXG4gICAgXS5pbmNsdWRlcyh0aGlzLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgdGhpcyBpcyBhIHZvaWNlLWJhc2VkIGNoYW5uZWxcclxuICAgKi9cclxuICBpc1ZvaWNlQmFzZWQoKTogdGhpcyBpcyBWb2ljZUNoYW5uZWwge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgQ2hhbm5lbFR5cGUuR3VpbGRWb2ljZSxcclxuICAgICAgQ2hhbm5lbFR5cGUuR3VpbGRTdGFnZVZvaWNlXHJcbiAgICBdLmluY2x1ZGVzKHRoaXMudHlwZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IHRvIHN0cmluZyAobWVudGlvbiBmb3JtYXQpXHJcbiAgICovXHJcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgPCMke3RoaXMuaWR9PmA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogVGV4dCBjaGFubmVsXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVGV4dENoYW5uZWwgZXh0ZW5kcyBCYXNlQ2hhbm5lbCB7XHJcbiAgLyoqIEd1aWxkIElEICovXHJcbiAgcHVibGljIGd1aWxkSWQ/OiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIENoYW5uZWwgbmFtZSAqL1xyXG4gIHB1YmxpYyBuYW1lPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIHRvcGljICovXHJcbiAgcHVibGljIHRvcGljPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIHBvc2l0aW9uICovXHJcbiAgcHVibGljIHBvc2l0aW9uPzogbnVtYmVyO1xyXG4gIFxyXG4gIC8qKiBQYXJlbnQgY2F0ZWdvcnkgSUQgKi9cclxuICBwdWJsaWMgcGFyZW50SWQ/OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQ2xpZW50LCBkYXRhOiBBUElDaGFubmVsKSB7XHJcbiAgICBzdXBlcihjbGllbnQsIGRhdGEpO1xyXG4gICAgdGhpcy5ndWlsZElkID0gZGF0YS5ndWlsZF9pZDtcclxuICAgIHRoaXMubmFtZSA9IGRhdGEubmFtZTtcclxuICAgIHRoaXMudG9waWMgPSBkYXRhLnRvcGljO1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IGRhdGEucG9zaXRpb247XHJcbiAgICB0aGlzLnBhcmVudElkID0gZGF0YS5wYXJlbnRfaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kIGEgbWVzc2FnZSB0byB0aGlzIGNoYW5uZWxcclxuICAgKi9cclxuICBhc3luYyBzZW5kKG9wdGlvbnM6IHN0cmluZyB8IE1lc3NhZ2VDcmVhdGVPcHRpb25zKTogUHJvbWlzZTxNZXNzYWdlPiB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gb3B0aW9ucyA6IG9wdGlvbnMuY29udGVudDtcclxuICAgIGNvbnN0IGVtYmVkcyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IG9wdGlvbnMuZW1iZWRzO1xyXG4gICAgY29uc3QgY29tcG9uZW50cyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IG9wdGlvbnMuY29tcG9uZW50cztcclxuICAgIFxyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuY3JlYXRlTWVzc2FnZSh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuaWQsIHtcclxuICAgICAgY29udGVudCxcclxuICAgICAgZW1iZWRzLFxyXG4gICAgICBjb21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJldHVybiBuZXcgTWVzc2FnZSh0aGlzLmNsaWVudCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYSBtZXNzYWdlIGNvbGxlY3RvclxyXG4gICAqL1xyXG4gIGNyZWF0ZU1lc3NhZ2VDb2xsZWN0b3Iob3B0aW9ucz86IE1lc3NhZ2VDb2xsZWN0b3JPcHRpb25zKTogTWVzc2FnZUNvbGxlY3RvciB7XHJcbiAgICByZXR1cm4gbmV3IE1lc3NhZ2VDb2xsZWN0b3IodGhpcy5jbGllbnQsIHRoaXMuaWQsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXdhaXQgbWVzc2FnZXMgaW4gdGhpcyBjaGFubmVsXHJcbiAgICovXHJcbiAgYXdhaXRNZXNzYWdlcyhvcHRpb25zPzogQXdhaXRNZXNzYWdlc09wdGlvbnMpOiBQcm9taXNlPENvbGxlY3Rpb248c3RyaW5nLCBNZXNzYWdlPj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3QgY29sbGVjdG9yID0gdGhpcy5jcmVhdGVNZXNzYWdlQ29sbGVjdG9yKG9wdGlvbnMpO1xyXG4gICAgICBcclxuICAgICAgY29sbGVjdG9yLm9uY2UoJ2VuZCcsIChjb2xsZWN0ZWQsIHJlYXNvbikgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb25zPy5lcnJvcnM/LmluY2x1ZGVzKHJlYXNvbikpIHtcclxuICAgICAgICAgIHJlamVjdChjb2xsZWN0ZWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXNvbHZlKGNvbGxlY3RlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnVsayBkZWxldGUgbWVzc2FnZXNcclxuICAgKi9cclxuICBhc3luYyBidWxrRGVsZXRlKG1lc3NhZ2VzOiBudW1iZXIgfCBzdHJpbmdbXSB8IENvbGxlY3Rpb248c3RyaW5nLCBNZXNzYWdlPiwgZmlsdGVyT2xkID0gdHJ1ZSk6IFByb21pc2U8Q29sbGVjdGlvbjxzdHJpbmcsIE1lc3NhZ2U+PiB7XHJcbiAgICBsZXQgbWVzc2FnZUlkczogc3RyaW5nW107XHJcbiAgICBcclxuICAgIGlmICh0eXBlb2YgbWVzc2FnZXMgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIC8vIEZldGNoIG1lc3NhZ2VzIGZpcnN0XHJcbiAgICAgIGNvbnN0IGZldGNoZWQgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmdldE1lc3NhZ2VzKHRoaXMuZ3VpbGRJZCB8fCAnJywgdGhpcy5pZCwgeyBsaW1pdDogbWVzc2FnZXMgfSk7XHJcbiAgICAgIG1lc3NhZ2VJZHMgPSBmZXRjaGVkLm1hcChtID0+IG0uaWQpO1xyXG4gICAgfSBlbHNlIGlmIChtZXNzYWdlcyBpbnN0YW5jZW9mIENvbGxlY3Rpb24pIHtcclxuICAgICAgbWVzc2FnZUlkcyA9IFsuLi5tZXNzYWdlcy5rZXlzKCldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbWVzc2FnZUlkcyA9IG1lc3NhZ2VzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZpbHRlciBvbGQgbWVzc2FnZXMgKG9sZGVyIHRoYW4gMTQgZGF5cylcclxuICAgIGlmIChmaWx0ZXJPbGQpIHtcclxuICAgICAgY29uc3QgdHdvV2Vla3NBZ28gPSBEYXRlLm5vdygpIC0gMTQgKiAyNCAqIDYwICogNjAgKiAxMDAwO1xyXG4gICAgICBtZXNzYWdlSWRzID0gbWVzc2FnZUlkcy5maWx0ZXIoaWQgPT4ge1xyXG4gICAgICAgIC8vIEV4dHJhY3QgdGltZXN0YW1wIGZyb20gc25vd2ZsYWtlXHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gTnVtYmVyKEJpZ0ludChpZCkgPj4gMjJuKSArIDE0MjAwNzA0MDAwMDA7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcCA+IHR3b1dlZWtzQWdvO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWVzc2FnZUlkcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1lc3NhZ2VJZHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuZGVsZXRlTWVzc2FnZSh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuaWQsIG1lc3NhZ2VJZHNbMF0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdC5idWxrRGVsZXRlTWVzc2FnZXModGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmlkLCBtZXNzYWdlSWRzKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm4gZGVsZXRlZCBtZXNzYWdlcyBhcyBjb2xsZWN0aW9uXHJcbiAgICBjb25zdCBkZWxldGVkID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBNZXNzYWdlPigpO1xyXG4gICAgLy8gTm90ZTogV2UgZG9uJ3QgaGF2ZSB0aGUgYWN0dWFsIG1lc3NhZ2Ugb2JqZWN0cyBoZXJlXHJcbiAgICByZXR1cm4gZGVsZXRlZDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBWb2ljZSBjaGFubmVsXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVm9pY2VDaGFubmVsIGV4dGVuZHMgQmFzZUNoYW5uZWwge1xyXG4gIC8qKiBHdWlsZCBJRCAqL1xyXG4gIHB1YmxpYyBndWlsZElkPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIG5hbWUgKi9cclxuICBwdWJsaWMgbmFtZT86IHN0cmluZztcclxuICBcclxuICAvKiogQ2hhbm5lbCBwb3NpdGlvbiAqL1xyXG4gIHB1YmxpYyBwb3NpdGlvbj86IG51bWJlcjtcclxuICBcclxuICAvKiogUGFyZW50IGNhdGVnb3J5IElEICovXHJcbiAgcHVibGljIHBhcmVudElkPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBVc2VyIGxpbWl0ICovXHJcbiAgcHVibGljIHVzZXJMaW1pdD86IG51bWJlcjtcclxuICBcclxuICAvKiogQml0cmF0ZSAqL1xyXG4gIHB1YmxpYyBiaXRyYXRlPzogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjbGllbnQ6IENsaWVudCwgZGF0YTogQVBJQ2hhbm5lbCAmIHsgdXNlcl9saW1pdD86IG51bWJlcjsgYml0cmF0ZT86IG51bWJlciB9KSB7XHJcbiAgICBzdXBlcihjbGllbnQsIGRhdGEpO1xyXG4gICAgdGhpcy5ndWlsZElkID0gZGF0YS5ndWlsZF9pZDtcclxuICAgIHRoaXMubmFtZSA9IGRhdGEubmFtZTtcclxuICAgIHRoaXMucG9zaXRpb24gPSBkYXRhLnBvc2l0aW9uO1xyXG4gICAgdGhpcy5wYXJlbnRJZCA9IGRhdGEucGFyZW50X2lkO1xyXG4gICAgdGhpcy51c2VyTGltaXQgPSBkYXRhLnVzZXJfbGltaXQ7XHJcbiAgICB0aGlzLmJpdHJhdGUgPSBkYXRhLmJpdHJhdGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGUgY2hhbm5lbCBpcyBqb2luYWJsZVxyXG4gICAqL1xyXG4gIGdldCBqb2luYWJsZSgpOiBib29sZWFuIHtcclxuICAgIC8vIFRPRE86IENoZWNrIHBlcm1pc3Npb25zXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBETSBjaGFubmVsXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRE1DaGFubmVsIGV4dGVuZHMgQmFzZUNoYW5uZWwge1xyXG4gIC8qKiBSZWNpcGllbnQgdXNlciBJRCAqL1xyXG4gIHB1YmxpYyByZWNpcGllbnRJZD86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoY2xpZW50OiBDbGllbnQsIGRhdGE6IEFQSUNoYW5uZWwgJiB7IHJlY2lwaWVudF9pZD86IHN0cmluZyB9KSB7XHJcbiAgICBzdXBlcihjbGllbnQsIGRhdGEpO1xyXG4gICAgdGhpcy5yZWNpcGllbnRJZCA9IGRhdGEucmVjaXBpZW50X2lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZCBhIG1lc3NhZ2UgdG8gdGhpcyBETVxyXG4gICAqL1xyXG4gIGFzeW5jIHNlbmQob3B0aW9uczogc3RyaW5nIHwgTWVzc2FnZUNyZWF0ZU9wdGlvbnMpOiBQcm9taXNlPE1lc3NhZ2U+IHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycgPyBvcHRpb25zIDogb3B0aW9ucy5jb250ZW50O1xyXG4gICAgY29uc3QgZW1iZWRzID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gdW5kZWZpbmVkIDogb3B0aW9ucy5lbWJlZHM7XHJcbiAgICBcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmNyZWF0ZURNTWVzc2FnZSh0aGlzLmlkLCB7XHJcbiAgICAgIGNvbnRlbnQsXHJcbiAgICAgIGVtYmVkc1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJldHVybiBuZXcgTWVzc2FnZSh0aGlzLmNsaWVudCwgZGF0YSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTWVzc2FnZSBjcmVhdGUgb3B0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlQ3JlYXRlT3B0aW9ucyB7XHJcbiAgY29udGVudD86IHN0cmluZztcclxuICBlbWJlZHM/OiBBUElFbWJlZFtdO1xyXG4gIGNvbXBvbmVudHM/OiBhbnlbXTtcclxuICBmaWxlcz86IGFueVtdO1xyXG59XHJcblxyXG4vKipcclxuICogQ3JlYXRlIGFwcHJvcHJpYXRlIGNoYW5uZWwgY2xhc3MgYmFzZWQgb24gdHlwZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNoYW5uZWwoY2xpZW50OiBDbGllbnQsIGRhdGE6IEFQSUNoYW5uZWwpOiBCYXNlQ2hhbm5lbCB7XHJcbiAgc3dpdGNoIChkYXRhLnR5cGUpIHtcclxuICAgIGNhc2UgQ2hhbm5lbFR5cGUuR3VpbGRUZXh0OlxyXG4gICAgY2FzZSBDaGFubmVsVHlwZS5HdWlsZEFubm91bmNlbWVudDpcclxuICAgICAgcmV0dXJuIG5ldyBUZXh0Q2hhbm5lbChjbGllbnQsIGRhdGEpO1xyXG4gICAgY2FzZSBDaGFubmVsVHlwZS5HdWlsZFZvaWNlOlxyXG4gICAgY2FzZSBDaGFubmVsVHlwZS5HdWlsZFN0YWdlVm9pY2U6XHJcbiAgICAgIHJldHVybiBuZXcgVm9pY2VDaGFubmVsKGNsaWVudCwgZGF0YSk7XHJcbiAgICBjYXNlIENoYW5uZWxUeXBlLkRNOlxyXG4gICAgICByZXR1cm4gbmV3IERNQ2hhbm5lbChjbGllbnQsIGRhdGEpO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgcmV0dXJuIG5ldyBCYXNlQ2hhbm5lbChjbGllbnQsIGRhdGEpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
233
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhbm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmVzL0NoYW5uZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeVFBLHNDQWFDO0FBclJELG9DQUF1QztBQUV2Qyx1Q0FBb0M7QUFDcEMsNkNBQTBDO0FBQzFDLGtEQUErRTtBQUMvRSwyREFBcUY7QUFFckYsMERBQTBEO0FBQzFELFNBQVMsYUFBYSxDQUFDLE1BQTJDO0lBQ2hFLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDOUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLDJCQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQztBQVVEOztHQUVHO0FBQ0gsTUFBYSxXQUFXO0lBQ3RCLDhCQUE4QjtJQUNkLE1BQU0sQ0FBUztJQUUvQixpQkFBaUI7SUFDRCxFQUFFLENBQVM7SUFFM0IsbUJBQW1CO0lBQ0gsSUFBSSxDQUFjO0lBRWxDLFlBQVksTUFBYyxFQUFFLElBQWdCO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsV0FBVztRQUNULE9BQU87WUFDTCxtQkFBVyxDQUFDLFNBQVM7WUFDckIsbUJBQVcsQ0FBQyxFQUFFO1lBQ2QsbUJBQVcsQ0FBQyxPQUFPO1lBQ25CLG1CQUFXLENBQUMsaUJBQWlCO1NBQzlCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1Ys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LDhCQXVCQztBQVlEOztHQUVHO0FBQ0gsU0FBZ0IsYUFBYSxDQUFDLE1BQWMsRUFBRSxJQUFnQjtJQUM1RCxRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixLQUFLLG1CQUFXLENBQUMsU0FBUyxDQUFDO1FBQzNCLEtBQUssbUJBQVcsQ0FBQyxpQkFBaUI7WUFDaEMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsS0FBSyxtQkFBVyxDQUFDLFVBQVUsQ0FBQztRQUM1QixLQUFLLG1CQUFXLENBQUMsZUFBZTtZQUM5QixPQUFPLElBQUksWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN4QyxLQUFLLG1CQUFXLENBQUMsRUFBRTtZQUNqQixPQUFPLElBQUksU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNyQztZQUNFLE9BQU8sSUFBSSxXQUFXLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJQ2hhbm5lbCwgQVBJTWVzc2FnZSwgQVBJRW1iZWQgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IENoYW5uZWxUeXBlIH0gZnJvbSAnLi4vZW51bXMnO1xyXG5pbXBvcnQgdHlwZSB7IENsaWVudCB9IGZyb20gJy4uL0NsaWVudCc7XHJcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICcuL01lc3NhZ2UnO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9Db2xsZWN0aW9uJztcclxuaW1wb3J0IHsgTWVzc2FnZUNvbGxlY3RvciwgTWVzc2FnZUNvbGxlY3Rvck9wdGlvbnMgfSBmcm9tICcuLi91dGlscy9Db2xsZWN0b3InO1xyXG5pbXBvcnQgeyBFbWJlZEJ1aWxkZXIsIEFQSUVtYmVkIGFzIEJ1aWxkZXJBUElFbWJlZCB9IGZyb20gJy4uL2J1aWxkZXJzL0VtYmVkQnVpbGRlcic7XHJcblxyXG4vKiogUmVzb2x2ZSBFbWJlZEJ1aWxkZXIgaW5zdGFuY2VzIHRvIHBsYWluIEFQSSBvYmplY3RzICovXHJcbmZ1bmN0aW9uIHJlc29sdmVFbWJlZHMoZW1iZWRzPzogKEJ1aWxkZXJBUElFbWJlZCB8IEVtYmVkQnVpbGRlcilbXSk6IEJ1aWxkZXJBUElFbWJlZFtdIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoIWVtYmVkcykgcmV0dXJuIHVuZGVmaW5lZDtcclxuICByZXR1cm4gZW1iZWRzLm1hcChlID0+IGUgaW5zdGFuY2VvZiBFbWJlZEJ1aWxkZXIgPyBlLnRvSlNPTigpIDogZSk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBd2FpdCBtZXNzYWdlcyBvcHRpb25zXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEF3YWl0TWVzc2FnZXNPcHRpb25zIGV4dGVuZHMgTWVzc2FnZUNvbGxlY3Rvck9wdGlvbnMge1xyXG4gIC8qKiBFcnJvcnMgdG8gcmVqZWN0IG9uICovXHJcbiAgZXJyb3JzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCYXNlIGNoYW5uZWwgY2xhc3NcclxuICovXHJcbmV4cG9ydCBjbGFzcyBCYXNlQ2hhbm5lbCB7XHJcbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgY2xpZW50ICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGNsaWVudDogQ2xpZW50O1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIElEICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIENoYW5uZWwgdHlwZSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBDaGFubmVsVHlwZTtcclxuXHJcbiAgY29uc3RydWN0b3IoY2xpZW50OiBDbGllbnQsIGRhdGE6IEFQSUNoYW5uZWwpIHtcclxuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xyXG4gICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICB0aGlzLnR5cGUgPSBkYXRhLnR5cGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGlzIGlzIGEgdGV4dC1iYXNlZCBjaGFubmVsXHJcbiAgICovXHJcbiAgaXNUZXh0QmFzZWQoKTogdGhpcyBpcyBUZXh0Q2hhbm5lbCB7XHJcbiAgICByZXR1cm4gW1xyXG4gICAgICBDaGFubmVsVHlwZS5HdWlsZFRleHQsXHJcbiAgICAgIENoYW5uZWxUeXBlLkRNLFxyXG4gICAgICBDaGFubmVsVHlwZS5Hcm91cERNLFxyXG4gICAgICBDaGFubmVsVHlwZS5HdWlsZEFubm91bmNlbWVudFxyXG4gICAgXS5pbmNsdWRlcyh0aGlzLnR5cGUpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ2hlY2sgaWYgdGhpcyBpcyBhIHZvaWNlLWJhc2VkIGNoYW5uZWxcclxuICAgKi9cclxuICBpc1ZvaWNlQmFzZWQoKTogdGhpcyBpcyBWb2ljZUNoYW5uZWwge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgQ2hhbm5lbFR5cGUuR3VpbGRWb2ljZSxcclxuICAgICAgQ2hhbm5lbFR5cGUuR3VpbGRTdGFnZVZvaWNlXHJcbiAgICBdLmluY2x1ZGVzKHRoaXMudHlwZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IHRvIHN0cmluZyAobWVudGlvbiBmb3JtYXQpXHJcbiAgICovXHJcbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBgPCMke3RoaXMuaWR9PmA7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogVGV4dCBjaGFubmVsXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVGV4dENoYW5uZWwgZXh0ZW5kcyBCYXNlQ2hhbm5lbCB7XHJcbiAgLyoqIEd1aWxkIElEICovXHJcbiAgcHVibGljIGd1aWxkSWQ/OiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIENoYW5uZWwgbmFtZSAqL1xyXG4gIHB1YmxpYyBuYW1lPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIHRvcGljICovXHJcbiAgcHVibGljIHRvcGljPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIHBvc2l0aW9uICovXHJcbiAgcHVibGljIHBvc2l0aW9uPzogbnVtYmVyO1xyXG4gIFxyXG4gIC8qKiBQYXJlbnQgY2F0ZWdvcnkgSUQgKi9cclxuICBwdWJsaWMgcGFyZW50SWQ/OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQ2xpZW50LCBkYXRhOiBBUElDaGFubmVsKSB7XHJcbiAgICBzdXBlcihjbGllbnQsIGRhdGEpO1xyXG4gICAgdGhpcy5ndWlsZElkID0gZGF0YS5ndWlsZF9pZDtcclxuICAgIHRoaXMubmFtZSA9IGRhdGEubmFtZTtcclxuICAgIHRoaXMudG9waWMgPSBkYXRhLnRvcGljO1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IGRhdGEucG9zaXRpb247XHJcbiAgICB0aGlzLnBhcmVudElkID0gZGF0YS5wYXJlbnRfaWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZW5kIGEgbWVzc2FnZSB0byB0aGlzIGNoYW5uZWxcclxuICAgKi9cclxuICBhc3luYyBzZW5kKG9wdGlvbnM6IHN0cmluZyB8IE1lc3NhZ2VDcmVhdGVPcHRpb25zKTogUHJvbWlzZTxNZXNzYWdlPiB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gb3B0aW9ucyA6IG9wdGlvbnMuY29udGVudDtcclxuICAgIGNvbnN0IGVtYmVkcyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IHJlc29sdmVFbWJlZHMob3B0aW9ucy5lbWJlZHMpO1xyXG4gICAgY29uc3QgY29tcG9uZW50cyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IG9wdGlvbnMuY29tcG9uZW50cztcclxuICAgIFxyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuY3JlYXRlTWVzc2FnZSh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuaWQsIHtcclxuICAgICAgY29udGVudCxcclxuICAgICAgZW1iZWRzLFxyXG4gICAgICBjb21wb25lbnRzLFxyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJldHVybiBuZXcgTWVzc2FnZSh0aGlzLmNsaWVudCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYSBtZXNzYWdlIGNvbGxlY3RvclxyXG4gICAqL1xyXG4gIGNyZWF0ZU1lc3NhZ2VDb2xsZWN0b3Iob3B0aW9ucz86IE1lc3NhZ2VDb2xsZWN0b3JPcHRpb25zKTogTWVzc2FnZUNvbGxlY3RvciB7XHJcbiAgICByZXR1cm4gbmV3IE1lc3NhZ2VDb2xsZWN0b3IodGhpcy5jbGllbnQsIHRoaXMuaWQsIG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXdhaXQgbWVzc2FnZXMgaW4gdGhpcyBjaGFubmVsXHJcbiAgICovXHJcbiAgYXdhaXRNZXNzYWdlcyhvcHRpb25zPzogQXdhaXRNZXNzYWdlc09wdGlvbnMpOiBQcm9taXNlPENvbGxlY3Rpb248c3RyaW5nLCBNZXNzYWdlPj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgY29uc3QgY29sbGVjdG9yID0gdGhpcy5jcmVhdGVNZXNzYWdlQ29sbGVjdG9yKG9wdGlvbnMpO1xyXG4gICAgICBcclxuICAgICAgY29sbGVjdG9yLm9uY2UoJ2VuZCcsIChjb2xsZWN0ZWQsIHJlYXNvbikgPT4ge1xyXG4gICAgICAgIGlmIChvcHRpb25zPy5lcnJvcnM/LmluY2x1ZGVzKHJlYXNvbikpIHtcclxuICAgICAgICAgIHJlamVjdChjb2xsZWN0ZWQpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXNvbHZlKGNvbGxlY3RlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQnVsayBkZWxldGUgbWVzc2FnZXNcclxuICAgKi9cclxuICBhc3luYyBidWxrRGVsZXRlKG1lc3NhZ2VzOiBudW1iZXIgfCBzdHJpbmdbXSB8IENvbGxlY3Rpb248c3RyaW5nLCBNZXNzYWdlPiwgZmlsdGVyT2xkID0gdHJ1ZSk6IFByb21pc2U8Q29sbGVjdGlvbjxzdHJpbmcsIE1lc3NhZ2U+PiB7XHJcbiAgICBsZXQgbWVzc2FnZUlkczogc3RyaW5nW107XHJcbiAgICBcclxuICAgIGlmICh0eXBlb2YgbWVzc2FnZXMgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIC8vIEZldGNoIG1lc3NhZ2VzIGZpcnN0XHJcbiAgICAgIGNvbnN0IGZldGNoZWQgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmdldE1lc3NhZ2VzKHRoaXMuZ3VpbGRJZCB8fCAnJywgdGhpcy5pZCwgeyBsaW1pdDogbWVzc2FnZXMgfSk7XHJcbiAgICAgIG1lc3NhZ2VJZHMgPSBmZXRjaGVkLm1hcChtID0+IG0uaWQpO1xyXG4gICAgfSBlbHNlIGlmIChtZXNzYWdlcyBpbnN0YW5jZW9mIENvbGxlY3Rpb24pIHtcclxuICAgICAgbWVzc2FnZUlkcyA9IFsuLi5tZXNzYWdlcy5rZXlzKCldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbWVzc2FnZUlkcyA9IG1lc3NhZ2VzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEZpbHRlciBvbGQgbWVzc2FnZXMgKG9sZGVyIHRoYW4gMTQgZGF5cylcclxuICAgIGlmIChmaWx0ZXJPbGQpIHtcclxuICAgICAgY29uc3QgdHdvV2Vla3NBZ28gPSBEYXRlLm5vdygpIC0gMTQgKiAyNCAqIDYwICogNjAgKiAxMDAwO1xyXG4gICAgICBtZXNzYWdlSWRzID0gbWVzc2FnZUlkcy5maWx0ZXIoaWQgPT4ge1xyXG4gICAgICAgIC8vIEV4dHJhY3QgdGltZXN0YW1wIGZyb20gc25vd2ZsYWtlXHJcbiAgICAgICAgY29uc3QgdGltZXN0YW1wID0gTnVtYmVyKEJpZ0ludChpZCkgPj4gMjJuKSArIDE0MjAwNzA0MDAwMDA7XHJcbiAgICAgICAgcmV0dXJuIHRpbWVzdGFtcCA+IHR3b1dlZWtzQWdvO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAobWVzc2FnZUlkcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG1lc3NhZ2VJZHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuZGVsZXRlTWVzc2FnZSh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuaWQsIG1lc3NhZ2VJZHNbMF0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdC5idWxrRGVsZXRlTWVzc2FnZXModGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmlkLCBtZXNzYWdlSWRzKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSZXR1cm4gZGVsZXRlZCBtZXNzYWdlcyBhcyBjb2xsZWN0aW9uXHJcbiAgICBjb25zdCBkZWxldGVkID0gbmV3IENvbGxlY3Rpb248c3RyaW5nLCBNZXNzYWdlPigpO1xyXG4gICAgLy8gTm90ZTogV2UgZG9uJ3QgaGF2ZSB0aGUgYWN0dWFsIG1lc3NhZ2Ugb2JqZWN0cyBoZXJlXHJcbiAgICByZXR1cm4gZGVsZXRlZDtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBWb2ljZSBjaGFubmVsXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVm9pY2VDaGFubmVsIGV4dGVuZHMgQmFzZUNoYW5uZWwge1xyXG4gIC8qKiBHdWlsZCBJRCAqL1xyXG4gIHB1YmxpYyBndWlsZElkPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIG5hbWUgKi9cclxuICBwdWJsaWMgbmFtZT86IHN0cmluZztcclxuICBcclxuICAvKiogQ2hhbm5lbCBwb3NpdGlvbiAqL1xyXG4gIHB1YmxpYyBwb3NpdGlvbj86IG51bWJlcjtcclxuICBcclxuICAvKiogUGFyZW50IGNhdGVnb3J5IElEICovXHJcbiAgcHVibGljIHBhcmVudElkPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBVc2VyIGxpbWl0ICovXHJcbiAgcHVibGljIHVzZXJMaW1pdD86IG51bWJlcjtcclxuICBcclxuICAvKiogQml0cmF0ZSAqL1xyXG4gIHB1YmxpYyBiaXRyYXRlPzogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcihjbGllbnQ6IENsaWVudCwgZGF0YTogQVBJQ2hhbm5lbCAmIHsgdXNlcl9saW1pdD86IG51bWJlcjsgYml0cmF0ZT86IG51bWJlciB9KSB7XHJcbiAgICBzdXBlcihjbGllbnQsIGRhdGEpO1xyXG4gICAgdGhpcy5ndWlsZElkID0gZGF0YS5ndWlsZF9pZDtcclxuICAgIHRoaXMubmFtZSA9IGRhdGEubmFtZTtcclxuICAgIHRoaXMucG9zaXRpb24gPSBkYXRhLnBvc2l0aW9uO1xyXG4gICAgdGhpcy5wYXJlbnRJZCA9IGRhdGEucGFyZW50X2lkO1xyXG4gICAgdGhpcy51c2VyTGltaXQgPSBkYXRhLnVzZXJfbGltaXQ7XHJcbiAgICB0aGlzLmJpdHJhdGUgPSBkYXRhLmJpdHJhdGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDaGVjayBpZiB0aGUgY2hhbm5lbCBpcyBqb2luYWJsZVxyXG4gICAqL1xyXG4gIGdldCBqb2luYWJsZSgpOiBib29sZWFuIHtcclxuICAgIC8vIFRPRE86IENoZWNrIHBlcm1pc3Npb25zXHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBETSBjaGFubmVsXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgRE1DaGFubmVsIGV4dGVuZHMgQmFzZUNoYW5uZWwge1xyXG4gIC8qKiBSZWNpcGllbnQgdXNlciBJRCAqL1xyXG4gIHB1YmxpYyByZWNpcGllbnRJZD86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoY2xpZW50OiBDbGllbnQsIGRhdGE6IEFQSUNoYW5uZWwgJiB7IHJlY2lwaWVudF9pZD86IHN0cmluZyB9KSB7XHJcbiAgICBzdXBlcihjbGllbnQsIGRhdGEpO1xyXG4gICAgdGhpcy5yZWNpcGllbnRJZCA9IGRhdGEucmVjaXBpZW50X2lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2VuZCBhIG1lc3NhZ2UgdG8gdGhpcyBETVxyXG4gICAqL1xyXG4gIGFzeW5jIHNlbmQob3B0aW9uczogc3RyaW5nIHwgTWVzc2FnZUNyZWF0ZU9wdGlvbnMpOiBQcm9taXNlPE1lc3NhZ2U+IHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycgPyBvcHRpb25zIDogb3B0aW9ucy5jb250ZW50O1xyXG4gICAgY29uc3QgZW1iZWRzID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gdW5kZWZpbmVkIDogcmVzb2x2ZUVtYmVkcyhvcHRpb25zLmVtYmVkcyk7XHJcbiAgICBcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmNyZWF0ZURNTWVzc2FnZSh0aGlzLmlkLCB7XHJcbiAgICAgIGNvbnRlbnQsXHJcbiAgICAgIGVtYmVkc1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJldHVybiBuZXcgTWVzc2FnZSh0aGlzLmNsaWVudCwgZGF0YSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogTWVzc2FnZSBjcmVhdGUgb3B0aW9uc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlQ3JlYXRlT3B0aW9ucyB7XHJcbiAgY29udGVudD86IHN0cmluZztcclxuICBlbWJlZHM/OiAoQVBJRW1iZWQgfCBFbWJlZEJ1aWxkZXIpW107XHJcbiAgY29tcG9uZW50cz86IGFueVtdO1xyXG4gIGZpbGVzPzogYW55W107XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDcmVhdGUgYXBwcm9wcmlhdGUgY2hhbm5lbCBjbGFzcyBiYXNlZCBvbiB0eXBlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ2hhbm5lbChjbGllbnQ6IENsaWVudCwgZGF0YTogQVBJQ2hhbm5lbCk6IEJhc2VDaGFubmVsIHtcclxuICBzd2l0Y2ggKGRhdGEudHlwZSkge1xyXG4gICAgY2FzZSBDaGFubmVsVHlwZS5HdWlsZFRleHQ6XHJcbiAgICBjYXNlIENoYW5uZWxUeXBlLkd1aWxkQW5ub3VuY2VtZW50OlxyXG4gICAgICByZXR1cm4gbmV3IFRleHRDaGFubmVsKGNsaWVudCwgZGF0YSk7XHJcbiAgICBjYXNlIENoYW5uZWxUeXBlLkd1aWxkVm9pY2U6XHJcbiAgICBjYXNlIENoYW5uZWxUeXBlLkd1aWxkU3RhZ2VWb2ljZTpcclxuICAgICAgcmV0dXJuIG5ldyBWb2ljZUNoYW5uZWwoY2xpZW50LCBkYXRhKTtcclxuICAgIGNhc2UgQ2hhbm5lbFR5cGUuRE06XHJcbiAgICAgIHJldHVybiBuZXcgRE1DaGFubmVsKGNsaWVudCwgZGF0YSk7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gbmV3IEJhc2VDaGFubmVsKGNsaWVudCwgZGF0YSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -3,6 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Message = void 0;
|
|
4
4
|
const User_1 = require("./User");
|
|
5
5
|
const Collector_1 = require("../utils/Collector");
|
|
6
|
+
const EmbedBuilder_1 = require("../builders/EmbedBuilder");
|
|
7
|
+
/** Resolve EmbedBuilder instances to plain API objects */
|
|
8
|
+
function resolveEmbeds(embeds) {
|
|
9
|
+
if (!embeds)
|
|
10
|
+
return undefined;
|
|
11
|
+
return embeds.map(e => e instanceof EmbedBuilder_1.EmbedBuilder ? e.toJSON() : e);
|
|
12
|
+
}
|
|
6
13
|
/**
|
|
7
14
|
* Represents a message
|
|
8
15
|
*/
|
|
@@ -65,7 +72,7 @@ class Message {
|
|
|
65
72
|
*/
|
|
66
73
|
async reply(options) {
|
|
67
74
|
const content = typeof options === 'string' ? options : options.content;
|
|
68
|
-
const embeds = typeof options === 'string' ? undefined : options.embeds;
|
|
75
|
+
const embeds = typeof options === 'string' ? undefined : resolveEmbeds(options.embeds);
|
|
69
76
|
const components = typeof options === 'string' ? undefined : options.components;
|
|
70
77
|
const data = await this.client.rest.createMessage(this.guildId || '', this.channelId, {
|
|
71
78
|
content,
|
|
@@ -80,7 +87,7 @@ class Message {
|
|
|
80
87
|
*/
|
|
81
88
|
async edit(options) {
|
|
82
89
|
const content = typeof options === 'string' ? options : options.content;
|
|
83
|
-
const embeds = typeof options === 'string' ? undefined : options.embeds;
|
|
90
|
+
const embeds = typeof options === 'string' ? undefined : resolveEmbeds(options.embeds);
|
|
84
91
|
const components = typeof options === 'string' ? undefined : options.components;
|
|
85
92
|
const data = await this.client.rest.editMessage(this.guildId || '', this.channelId, this.id, {
|
|
86
93
|
content,
|
|
@@ -149,4 +156,4 @@ class Message {
|
|
|
149
156
|
}
|
|
150
157
|
}
|
|
151
158
|
exports.Message = Message;
|
|
152
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmVzL01lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQThCO0FBSTlCLGtEQUF1RjtBQVd2Rjs7R0FFRztBQUNILE1BQWEsT0FBTztJQUNsQiw4QkFBOEI7SUFDZCxNQUFNLENBQVM7SUFFL0IsaUJBQWlCO0lBQ0QsRUFBRSxDQUFTO0lBRTNCLGlCQUFpQjtJQUNELFNBQVMsQ0FBUztJQUVsQywrQkFBK0I7SUFDZixPQUFPLENBQVU7SUFFakMscUJBQXFCO0lBQ0wsTUFBTSxDQUFPO0lBRTdCLHNCQUFzQjtJQUNmLE9BQU8sQ0FBUztJQUV2Qix3QkFBd0I7SUFDUixnQkFBZ0IsQ0FBUztJQUV6QyxxQkFBcUI7SUFDZCxlQUFlLENBQVU7SUFFaEMsa0JBQWtCO0lBQ1gsV0FBVyxDQUFrQjtJQUVwQyxhQUFhO0lBQ04sTUFBTSxDQUFhO0lBRTFCLDhCQUE4QjtJQUN2QixRQUFRLENBQWtCO0lBRWpDLDZCQUE2QjtJQUN0QixPQUFPLENBQVU7SUFFeEIsWUFBWSxNQUFjLEVBQUUsSUFBZ0I7UUFDMUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFdBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUVsQyxrREFBa0Q7UUFDbEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSyxJQUFZLENBQUMs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LGdDQUFvQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0MsR0FBRyxPQUFPO1lBQ1YsU0FBUyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2xCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gscUJBQXFCLENBQUMsT0FBZ0U7UUFDcEYsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsK0JBQStCLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUUvRSxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDMUMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNoQyxJQUFJLEtBQUssRUFBRSxDQUFDO29CQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakIsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUkseUJBQXlCLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztDQUNGO0FBM0tELDBCQTJLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFQSU1lc3NhZ2UsIEFQSUVtYmVkLCBBUElBdHRhY2htZW50IH0gZnJvbSAnLi4vdHlwZXMnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi9Vc2VyJztcclxuaW1wb3J0IHR5cGUgeyBDbGllbnQgfSBmcm9tICcuLi9DbGllbnQnO1xyXG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2VDcmVhdGVPcHRpb25zIH0gZnJvbSAnLi9DaGFubmVsJztcclxuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4vQ29sbGVjdGlvbic7XHJcbmltcG9ydCB7IEludGVyYWN0aW9uQ29sbGVjdG9yLCBJbnRlcmFjdGlvbkNvbGxlY3Rvck9wdGlvbnMgfSBmcm9tICcuLi91dGlscy9Db2xsZWN0b3InO1xyXG5cclxuLyoqXHJcbiAqIE1lbnRpb24gZGF0YSBmcm9tIGJhY2tlbmRcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZU1lbnRpb25zIHtcclxuICB1c2Vycz86IEFycmF5PHsgaWQ6IG51bWJlciB8IHN0cmluZzsgdXNlcm5hbWU6IHN0cmluZyB9PjtcclxuICByb2xlcz86IEFycmF5PHsgaWQ6IHN0cmluZzsgbmFtZT86IHN0cmluZyB9PjtcclxuICBldmVyeW9uZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXByZXNlbnRzIGEgbWVzc2FnZVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2Uge1xyXG4gIC8qKiBSZWZlcmVuY2UgdG8gdGhlIGNsaWVudCAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBjbGllbnQ6IENsaWVudDtcclxuICBcclxuICAvKiogTWVzc2FnZSBJRCAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBpZDogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBDaGFubmVsIElEICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGNoYW5uZWxJZDogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBHdWlsZCBJRCAoaWYgaW4gYSBndWlsZCkgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgZ3VpbGRJZD86IHN0cmluZztcclxuICBcclxuICAvKiogTWVzc2FnZSBhdXRob3IgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgYXV0aG9yOiBVc2VyO1xyXG4gIFxyXG4gIC8qKiBNZXNzYWdlIGNvbnRlbnQgKi9cclxuICBwdWJsaWMgY29udGVudDogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBNZXNzYWdlIHRpbWVzdGFtcCAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVkVGltZXN0YW1wOiBudW1iZXI7XHJcbiAgXHJcbiAgLyoqIEVkaXQgdGltZXN0YW1wICovXHJcbiAgcHVibGljIGVkaXRlZFRpbWVzdGFtcD86IG51bWJlcjtcclxuICBcclxuICAvKiogQXR0YWNobWVudHMgKi9cclxuICBwdWJsaWMgYXR0YWNobWVudHM6IEFQSUF0dGFjaG1lbnRbXTtcclxuICBcclxuICAvKiogRW1iZWRzICovXHJcbiAgcHVibGljIGVtYmVkczogQVBJRW1iZWRbXTtcclxuXHJcbiAgLyoqIE1lbnRpb25zIGluIHRoZSBtZXNzYWdlICovXHJcbiAgcHVibGljIG1lbnRpb25zOiBNZXNzYWdlTWVudGlvbnM7XHJcblxyXG4gIC8qKiBVc2VyIElEIChmcm9tIGJhY2tlbmQpICovXHJcbiAgcHVibGljIHVzZXJfaWQ/OiBudW1iZXI7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogQ2xpZW50LCBkYXRhOiBBUElNZXNzYWdlKSB7XHJcbiAgICB0aGlzLmNsaWVudCA9IGNsaWVudDtcclxuICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xyXG4gICAgdGhpcy5jaGFubmVsSWQgPSBkYXRhLmNoYW5uZWxfaWQ7XHJcbiAgICB0aGlzLmd1aWxkSWQgPSBkYXRhLmd1aWxkX2lkO1xyXG4gICAgdGhpcy5hdXRob3IgPSBuZXcgVXNlcihkYXRhLmF1dGhvcik7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSBkYXRhLmNvbnRlbnQgPz8gJyc7XHJcbiAgICBcclxuICAgIC8vIEhhbmRsZSBkaWZmZXJlbnQgdGltZXN0YW1wIGZvcm1hdHMgZnJvbSBiYWNrZW5kXHJcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBkYXRhLnRpbWVzdGFtcCB8fCAoZGF0YSBhcyBhbnkpLmNyZWF0ZWRfYXQ7XHJcbiAgICB0aGlzLmNyZWF0ZWRUaW1lc3RhbXAgPSB0aW1lc3RhbXAgPyBuZXcgRGF0ZSh0aW1lc3RhbXApLmdldFRpbWUoKSA6IERhdGUubm93KCk7XHJcbiAgICBcclxuICAgIGNvbnN0IGVkaXRlZFRpbWVzdGFtcCA9IGRhdGEuZWRpdGVkX3RpbWVzdGFtcCB8fCAoZGF0YSBhcyBhbnkpLnVwZGF0ZWRfYXQ7XHJcbiAgICB0aGlzLmVkaXRlZFRpbWVzdGFtcCA9IGVkaXRlZFRpbWVzdGFtcCA/IG5ldyBEYXRlKGVkaXRlZFRpbWVzdGFtcCkuZ2V0VGltZSgpIDogdW5kZWZpbmVkO1xyXG4gICAgXHJcbiAgICB0aGlzLmF0dGFjaG1lbnRzID0gZGF0YS5hdHRhY2htZW50cyB8fCBbXTtcclxuICAgIHRoaXMuZW1iZWRzID0gZGF0YS5lbWJlZHMgfHwgW107XHJcbiAgICB0aGlzLm1lbnRpb25zID0gKGRhdGEgYXMgYW55KS5tZW50aW9ucyB8fCB7fTtcclxuICAgIHRoaXMudXNlcl9pZCA9IChkYXRhIGFzIGFueSkudXNlcl9pZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgY3JlYXRpb24gZGF0ZVxyXG4gICAqL1xyXG4gIGdldCBjcmVhdGVkQXQoKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodGhpcy5jcmVhdGVkVGltZXN0YW1wKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldCB0aGUgZWRpdCBkYXRlXHJcbiAgICovXHJcbiAgZ2V0IGVkaXRlZEF0KCk6IERhdGUgfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLmVkaXRlZFRpbWVzdGFtcCA/IG5ldyBEYXRlKHRoaXMuZWRpdGVkVGltZXN0YW1wKSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXBseSB0byB0aGlzIG1lc3NhZ2VcclxuICAgKi9cclxuICBhc3luYyByZXBseShvcHRpb25zOiBzdHJpbmcgfCBNZXNzYWdlQ3JlYXRlT3B0aW9ucyk6IFByb21pc2U8TWVzc2FnZT4ge1xyXG4gICAgY29uc3QgY29udGVudCA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IG9wdGlvbnMgOiBvcHRpb25zLmNvbnRlbnQ7XHJcbiAgICBjb25zdCBlbWJlZHMgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycgPyB1bmRlZmluZWQgOiBvcHRpb25zLmVtYmVkcztcclxuICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycgPyB1bmRlZmluZWQgOiBvcHRpb25zLmNvbXBvbmVudHM7XHJcbiAgICBcclxuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmNyZWF0ZU1lc3NhZ2UodGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmNoYW5uZWxJZCwge1xyXG4gICAgICBjb250ZW50LFxyXG4gICAgICBlbWJlZHMsXHJcbiAgICAgIGNvbXBvbmVudHMsXHJcbiAgICAgIG1lc3NhZ2VfcmVmZXJlbmNlOiB7IG1lc3NhZ2VfaWQ6IHRoaXMuaWQgfVxyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJldHVybiBuZXcgTWVzc2FnZSh0aGlzLmNsaWVudCwgZGF0YSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFZGl0IHRoaXMgbWVzc2FnZSAob25seSBpZiBhdXRob3IgaXMgdGhlIGJvdClcclxuICAgKi9cclxuICBhc3luYyBlZGl0KG9wdGlvbnM6IHN0cmluZyB8IE1lc3NhZ2VDcmVhdGVPcHRpb25zKTogUHJvbWlzZTxNZXNzYWdlPiB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gb3B0aW9ucyA6IG9wdGlvbnMuY29udGVudDtcclxuICAgIGNvbnN0IGVtYmVkcyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IG9wdGlvbnMuZW1iZWRzO1xyXG4gICAgY29uc3QgY29tcG9uZW50cyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IG9wdGlvbnMuY29tcG9uZW50cztcclxuICAgIFxyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuZWRpdE1lc3NhZ2UodGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmNoYW5uZWxJZCwgdGhpcy5pZCwge1xyXG4gICAgICBjb250ZW50LFxyXG4gICAgICBlbWJlZHMsXHJcbiAgICAgIGNvbXBvbmVudHMsXHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgcmV0dXJuIG5ldyBNZXNzYWdlKHRoaXMuY2xpZW50LCBkYXRhKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSB0aGlzIG1lc3NhZ2VcclxuICAgKi9cclxuICBhc3luYyBkZWxldGUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmRlbGV0ZU1lc3NhZ2UodGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmNoYW5uZWxJZCwgdGhpcy5pZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZWFjdCB0byB0aGlzIG1lc3NhZ2VcclxuICAgKi9cclxuICBhc3luYyByZWFjdChlbW9qaTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LmFkZFJlYWN0aW9uKHRoaXMuZ3VpbGRJZCB8fCAnJywgdGhpcy5jaGFubmVsSWQsIHRoaXMuaWQsIGVtb2ppKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFBpbiB0aGlzIG1lc3NhZ2VcclxuICAgKi9cclxuICBhc3luYyBwaW4oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5yZXN0LnBpbk1lc3NhZ2UodGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmNoYW5uZWxJZCwgdGhpcy5pZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBVbnBpbiB0aGlzIG1lc3NhZ2VcclxuICAgKi9cclxuICBhc3luYyB1bnBpbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QudW5waW5NZXNzYWdlKHRoaXMuZ3VpbGRJZCB8fCAnJywgdGhpcy5jaGFubmVsSWQsIHRoaXMuaWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlIGEgY29tcG9uZW50IGludGVyYWN0aW9uIGNvbGxlY3RvciBvbiB0aGlzIG1lc3NhZ2VcclxuICAgKi9cclxuICBjcmVhdGVNZXNzYWdlQ29tcG9uZW50Q29sbGVjdG9yKG9wdGlvbnM/OiBPbWl0PEludGVyYWN0aW9uQ29sbGVjdG9yT3B0aW9ucywgJ21lc3NhZ2VJZCc+KTogSW50ZXJhY3Rpb25Db2xsZWN0b3Ige1xyXG4gICAgcmV0dXJuIG5ldyBJbnRlcmFjdGlvbkNvbGxlY3Rvcih0aGlzLmNsaWVudCwge1xyXG4gICAgICAuLi5vcHRpb25zLFxyXG4gICAgICBtZXNzYWdlSWQ6IHRoaXMuaWQsXHJcbiAgICAgIGNoYW5uZWxJZDogdGhpcy5jaGFubmVsSWQsXHJcbiAgICAgIGd1aWxkSWQ6IHRoaXMuZ3VpbGRJZCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQXdhaXQgY29tcG9uZW50IGludGVyYWN0aW9ucyBvbiB0aGlzIG1lc3NhZ2VcclxuICAgKi9cclxuICBhd2FpdE1lc3NhZ2VDb21wb25lbnQob3B0aW9ucz86IE9taXQ8SW50ZXJhY3Rpb25Db2xsZWN0b3JPcHRpb25zLCAnbWVzc2FnZUlkJyB8ICdtYXgnPik6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBjb25zdCBjb2xsZWN0b3IgPSB0aGlzLmNyZWF0ZU1lc3NhZ2VDb21wb25lbnRDb2xsZWN0b3IoeyAuLi5vcHRpb25zLCBtYXg6IDEgfSk7XHJcbiAgICAgIFxyXG4gICAgICBjb2xsZWN0b3Iub25jZSgnZW5kJywgKGNvbGxlY3RlZCwgcmVhc29uKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZmlyc3QgPSBjb2xsZWN0ZWQuZmlyc3QoKTtcclxuICAgICAgICBpZiAoZmlyc3QpIHtcclxuICAgICAgICAgIHJlc29sdmUoZmlyc3QpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKHJlYXNvbiB8fCAnTm8gaW50ZXJhY3Rpb24gcmVjZWl2ZWQnKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydCB0byBzdHJpbmdcclxuICAgKi9cclxuICB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29udGVudDtcclxuICB9XHJcbn1cclxuIl19
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJ1Y3R1cmVzL01lc3NhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUNBQThCO0FBSTlCLGtEQUF1RjtBQUN2RiwyREFBd0Q7QUFFeEQsMERBQTBEO0FBQzFELFNBQVMsYUFBYSxDQUFDLE1BQW9DO0lBQ3pELElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTyxTQUFTLENBQUM7SUFDOUIsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLDJCQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckUsQ0FBQztBQVdEOztHQUVHO0FBQ0gsTUFBYSxPQUFPO0lBQ2xCLDhCQUE4QjtJQUNkLE1BQU0sQ0FBUztJQUUvQixpQkFBaUI7SUFDRCxFQUFFLENBQVM7SUFFM0IsaUJBQWlCO0lBQ0QsU0FBUyxDQUFTO0lBRWxDLCtCQUErQjtJQUNmLE9BQU8sQ0FBVTtJQUVqQyxxQkFBcUI7SUFDTCxNQUFNLENBQU87SUFFN0Isc0JBQXNCO0lBQ2YsT0FBTyxDQUFTO0lBRXZCLHdCQUF3QjtJQUNSLGdCQUFnQixDQUFTO0lBRXpDLHFCQUFxQjtJQUNkLGVBQWUsQ0FBVTtJQUVoQyxrQkFBa0I7SUFDWCxXQUFXLENBQWtCO0lBRXBDLGFBQWE7SUFDTixNQUFNLENBQWE7SUFFMUIsOEJBQThCO0lBQ3ZCLFFBQVEsQ0FBa0I7SUFFakMsNkJBQTZCO0lBQ3RCLE9BQU8sQ0FBVTtJQUV4QixZQUFZLE1BQWMsRUFBRSxJQUFnQjtRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxD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Q0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUEzS0QsMEJBMktDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJTWVzc2FnZSwgQVBJRW1iZWQsIEFQSUF0dGFjaG1lbnQgfSBmcm9tICcuLi90eXBlcyc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL1VzZXInO1xyXG5pbXBvcnQgdHlwZSB7IENsaWVudCB9IGZyb20gJy4uL0NsaWVudCc7XHJcbmltcG9ydCB0eXBlIHsgTWVzc2FnZUNyZWF0ZU9wdGlvbnMgfSBmcm9tICcuL0NoYW5uZWwnO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi9Db2xsZWN0aW9uJztcclxuaW1wb3J0IHsgSW50ZXJhY3Rpb25Db2xsZWN0b3IsIEludGVyYWN0aW9uQ29sbGVjdG9yT3B0aW9ucyB9IGZyb20gJy4uL3V0aWxzL0NvbGxlY3Rvcic7XHJcbmltcG9ydCB7IEVtYmVkQnVpbGRlciB9IGZyb20gJy4uL2J1aWxkZXJzL0VtYmVkQnVpbGRlcic7XHJcblxyXG4vKiogUmVzb2x2ZSBFbWJlZEJ1aWxkZXIgaW5zdGFuY2VzIHRvIHBsYWluIEFQSSBvYmplY3RzICovXHJcbmZ1bmN0aW9uIHJlc29sdmVFbWJlZHMoZW1iZWRzPzogKEFQSUVtYmVkIHwgRW1iZWRCdWlsZGVyKVtdKTogQVBJRW1iZWRbXSB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKCFlbWJlZHMpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgcmV0dXJuIGVtYmVkcy5tYXAoZSA9PiBlIGluc3RhbmNlb2YgRW1iZWRCdWlsZGVyID8gZS50b0pTT04oKSA6IGUpO1xyXG59XHJcblxyXG4vKipcclxuICogTWVudGlvbiBkYXRhIGZyb20gYmFja2VuZFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlTWVudGlvbnMge1xyXG4gIHVzZXJzPzogQXJyYXk8eyBpZDogbnVtYmVyIHwgc3RyaW5nOyB1c2VybmFtZTogc3RyaW5nIH0+O1xyXG4gIHJvbGVzPzogQXJyYXk8eyBpZDogc3RyaW5nOyBuYW1lPzogc3RyaW5nIH0+O1xyXG4gIGV2ZXJ5b25lPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiAqIFJlcHJlc2VudHMgYSBtZXNzYWdlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgTWVzc2FnZSB7XHJcbiAgLyoqIFJlZmVyZW5jZSB0byB0aGUgY2xpZW50ICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGNsaWVudDogQ2xpZW50O1xyXG4gIFxyXG4gIC8qKiBNZXNzYWdlIElEICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIENoYW5uZWwgSUQgKi9cclxuICBwdWJsaWMgcmVhZG9ubHkgY2hhbm5lbElkOiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIEd1aWxkIElEIChpZiBpbiBhIGd1aWxkKSAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBndWlsZElkPzogc3RyaW5nO1xyXG4gIFxyXG4gIC8qKiBNZXNzYWdlIGF1dGhvciAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBhdXRob3I6IFVzZXI7XHJcbiAgXHJcbiAgLyoqIE1lc3NhZ2UgY29udGVudCAqL1xyXG4gIHB1YmxpYyBjb250ZW50OiBzdHJpbmc7XHJcbiAgXHJcbiAgLyoqIE1lc3NhZ2UgdGltZXN0YW1wICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGNyZWF0ZWRUaW1lc3RhbXA6IG51bWJlcjtcclxuICBcclxuICAvKiogRWRpdCB0aW1lc3RhbXAgKi9cclxuICBwdWJsaWMgZWRpdGVkVGltZXN0YW1wPzogbnVtYmVyO1xyXG4gIFxyXG4gIC8qKiBBdHRhY2htZW50cyAqL1xyXG4gIHB1YmxpYyBhdHRhY2htZW50czogQVBJQXR0YWNobWVudFtdO1xyXG4gIFxyXG4gIC8qKiBFbWJlZHMgKi9cclxuICBwdWJsaWMgZW1iZWRzOiBBUElFbWJlZFtdO1xyXG5cclxuICAvKiogTWVudGlvbnMgaW4gdGhlIG1lc3NhZ2UgKi9cclxuICBwdWJsaWMgbWVudGlvbnM6IE1lc3NhZ2VNZW50aW9ucztcclxuXHJcbiAgLyoqIFVzZXIgSUQgKGZyb20gYmFja2VuZCkgKi9cclxuICBwdWJsaWMgdXNlcl9pZD86IG51bWJlcjtcclxuXHJcbiAgY29uc3RydWN0b3IoY2xpZW50OiBDbGllbnQsIGRhdGE6IEFQSU1lc3NhZ2UpIHtcclxuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xyXG4gICAgdGhpcy5pZCA9IGRhdGEuaWQ7XHJcbiAgICB0aGlzLmNoYW5uZWxJZCA9IGRhdGEuY2hhbm5lbF9pZDtcclxuICAgIHRoaXMuZ3VpbGRJZCA9IGRhdGEuZ3VpbGRfaWQ7XHJcbiAgICB0aGlzLmF1dGhvciA9IG5ldyBVc2VyKGRhdGEuYXV0aG9yKTtcclxuICAgIHRoaXMuY29udGVudCA9IGRhdGEuY29udGVudCA/PyAnJztcclxuICAgIFxyXG4gICAgLy8gSGFuZGxlIGRpZmZlcmVudCB0aW1lc3RhbXAgZm9ybWF0cyBmcm9tIGJhY2tlbmRcclxuICAgIGNvbnN0IHRpbWVzdGFtcCA9IGRhdGEudGltZXN0YW1wIHx8IChkYXRhIGFzIGFueSkuY3JlYXRlZF9hdDtcclxuICAgIHRoaXMuY3JlYXRlZFRpbWVzdGFtcCA9IHRpbWVzdGFtcCA/IG5ldyBEYXRlKHRpbWVzdGFtcCkuZ2V0VGltZSgpIDogRGF0ZS5ub3coKTtcclxuICAgIFxyXG4gICAgY29uc3QgZWRpdGVkVGltZXN0YW1wID0gZGF0YS5lZGl0ZWRfdGltZXN0YW1wIHx8IChkYXRhIGFzIGFueSkudXBkYXRlZF9hdDtcclxuICAgIHRoaXMuZWRpdGVkVGltZXN0YW1wID0gZWRpdGVkVGltZXN0YW1wID8gbmV3IERhdGUoZWRpdGVkVGltZXN0YW1wKS5nZXRUaW1lKCkgOiB1bmRlZmluZWQ7XHJcbiAgICBcclxuICAgIHRoaXMuYXR0YWNobWVudHMgPSBkYXRhLmF0dGFjaG1lbnRzIHx8IFtdO1xyXG4gICAgdGhpcy5lbWJlZHMgPSBkYXRhLmVtYmVkcyB8fCBbXTtcclxuICAgIHRoaXMubWVudGlvbnMgPSAoZGF0YSBhcyBhbnkpLm1lbnRpb25zIHx8IHt9O1xyXG4gICAgdGhpcy51c2VyX2lkID0gKGRhdGEgYXMgYW55KS51c2VyX2lkO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBjcmVhdGlvbiBkYXRlXHJcbiAgICovXHJcbiAgZ2V0IGNyZWF0ZWRBdCgpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLmNyZWF0ZWRUaW1lc3RhbXApO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0IHRoZSBlZGl0IGRhdGVcclxuICAgKi9cclxuICBnZXQgZWRpdGVkQXQoKTogRGF0ZSB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMuZWRpdGVkVGltZXN0YW1wID8gbmV3IERhdGUodGhpcy5lZGl0ZWRUaW1lc3RhbXApIDogbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlcGx5IHRvIHRoaXMgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGFzeW5jIHJlcGx5KG9wdGlvbnM6IHN0cmluZyB8IE1lc3NhZ2VDcmVhdGVPcHRpb25zKTogUHJvbWlzZTxNZXNzYWdlPiB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gb3B0aW9ucyA6IG9wdGlvbnMuY29udGVudDtcclxuICAgIGNvbnN0IGVtYmVkcyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IHJlc29sdmVFbWJlZHMob3B0aW9ucy5lbWJlZHMpO1xyXG4gICAgY29uc3QgY29tcG9uZW50cyA9IHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJyA/IHVuZGVmaW5lZCA6IG9wdGlvbnMuY29tcG9uZW50cztcclxuICAgIFxyXG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuY3JlYXRlTWVzc2FnZSh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuY2hhbm5lbElkLCB7XHJcbiAgICAgIGNvbnRlbnQsXHJcbiAgICAgIGVtYmVkcyxcclxuICAgICAgY29tcG9uZW50cyxcclxuICAgICAgbWVzc2FnZV9yZWZlcmVuY2U6IHsgbWVzc2FnZV9pZDogdGhpcy5pZCB9XHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgcmV0dXJuIG5ldyBNZXNzYWdlKHRoaXMuY2xpZW50LCBkYXRhKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVkaXQgdGhpcyBtZXNzYWdlIChvbmx5IGlmIGF1dGhvciBpcyB0aGUgYm90KVxyXG4gICAqL1xyXG4gIGFzeW5jIGVkaXQob3B0aW9uczogc3RyaW5nIHwgTWVzc2FnZUNyZWF0ZU9wdGlvbnMpOiBQcm9taXNlPE1lc3NhZ2U+IHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycgPyBvcHRpb25zIDogb3B0aW9ucy5jb250ZW50O1xyXG4gICAgY29uc3QgZW1iZWRzID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gdW5kZWZpbmVkIDogcmVzb2x2ZUVtYmVkcyhvcHRpb25zLmVtYmVkcyk7XHJcbiAgICBjb25zdCBjb21wb25lbnRzID0gdHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnID8gdW5kZWZpbmVkIDogb3B0aW9ucy5jb21wb25lbnRzO1xyXG4gICAgXHJcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jbGllbnQucmVzdC5lZGl0TWVzc2FnZSh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuY2hhbm5lbElkLCB0aGlzLmlkLCB7XHJcbiAgICAgIGNvbnRlbnQsXHJcbiAgICAgIGVtYmVkcyxcclxuICAgICAgY29tcG9uZW50cyxcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICByZXR1cm4gbmV3IE1lc3NhZ2UodGhpcy5jbGllbnQsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVsZXRlIHRoaXMgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGFzeW5jIGRlbGV0ZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuZGVsZXRlTWVzc2FnZSh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuY2hhbm5lbElkLCB0aGlzLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlYWN0IHRvIHRoaXMgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGFzeW5jIHJlYWN0KGVtb2ppOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QuYWRkUmVhY3Rpb24odGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmNoYW5uZWxJZCwgdGhpcy5pZCwgZW1vamkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUGluIHRoaXMgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGFzeW5jIHBpbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuY2xpZW50LnJlc3QucGluTWVzc2FnZSh0aGlzLmd1aWxkSWQgfHwgJycsIHRoaXMuY2hhbm5lbElkLCB0aGlzLmlkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVucGluIHRoaXMgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGFzeW5jIHVucGluKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5jbGllbnQucmVzdC51bnBpbk1lc3NhZ2UodGhpcy5ndWlsZElkIHx8ICcnLCB0aGlzLmNoYW5uZWxJZCwgdGhpcy5pZCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDcmVhdGUgYSBjb21wb25lbnQgaW50ZXJhY3Rpb24gY29sbGVjdG9yIG9uIHRoaXMgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGNyZWF0ZU1lc3NhZ2VDb21wb25lbnRDb2xsZWN0b3Iob3B0aW9ucz86IE9taXQ8SW50ZXJhY3Rpb25Db2xsZWN0b3JPcHRpb25zLCAnbWVzc2FnZUlkJz4pOiBJbnRlcmFjdGlvbkNvbGxlY3RvciB7XHJcbiAgICByZXR1cm4gbmV3IEludGVyYWN0aW9uQ29sbGVjdG9yKHRoaXMuY2xpZW50LCB7XHJcbiAgICAgIC4uLm9wdGlvbnMsXHJcbiAgICAgIG1lc3NhZ2VJZDogdGhpcy5pZCxcclxuICAgICAgY2hhbm5lbElkOiB0aGlzLmNoYW5uZWxJZCxcclxuICAgICAgZ3VpbGRJZDogdGhpcy5ndWlsZElkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBBd2FpdCBjb21wb25lbnQgaW50ZXJhY3Rpb25zIG9uIHRoaXMgbWVzc2FnZVxyXG4gICAqL1xyXG4gIGF3YWl0TWVzc2FnZUNvbXBvbmVudChvcHRpb25zPzogT21pdDxJbnRlcmFjdGlvbkNvbGxlY3Rvck9wdGlvbnMsICdtZXNzYWdlSWQnIHwgJ21heCc+KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbGxlY3RvciA9IHRoaXMuY3JlYXRlTWVzc2FnZUNvbXBvbmVudENvbGxlY3Rvcih7IC4uLm9wdGlvbnMsIG1heDogMSB9KTtcclxuICAgICAgXHJcbiAgICAgIGNvbGxlY3Rvci5vbmNlKCdlbmQnLCAoY29sbGVjdGVkLCByZWFzb24pID0+IHtcclxuICAgICAgICBjb25zdCBmaXJzdCA9IGNvbGxlY3RlZC5maXJzdCgpO1xyXG4gICAgICAgIGlmIChmaXJzdCkge1xyXG4gICAgICAgICAgcmVzb2x2ZShmaXJzdCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IocmVhc29uIHx8ICdObyBpbnRlcmFjdGlvbiByZWNlaXZlZCcpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IHRvIHN0cmluZ1xyXG4gICAqL1xyXG4gIHRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb250ZW50O1xyXG4gIH1cclxufVxyXG4iXX0=
|