@discordeno/rest 22.0.1-next.fca3cbb → 22.0.1-next.fdf1149

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/dist/queue.d.ts CHANGED
@@ -38,8 +38,8 @@ export declare class Queue {
38
38
  constructor(rest: RestManager, options: QueueOptions);
39
39
  /** Check if there is any remaining requests that are allowed. */
40
40
  isRequestAllowed(): boolean;
41
- /** Pauses the execution until a request is allowed to be made. */
42
- waitUntilRequestAvailable(): Promise<void>;
41
+ /** Pauses the execution until a request is allowed to be made, or until the given signal aborts. */
42
+ waitUntilRequestAvailable(signal?: AbortSignal): Promise<void>;
43
43
  /** Process the queue of requests waiting to be handled. */
44
44
  processWaiting(): Promise<void>;
45
45
  /** Process the queue of all requests pending to be sent. */
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,KAAK;IAChB,uBAAuB;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAK;IACtB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAK;IAChB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAK;IACrB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACtC,+CAA+C;IAC/C,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAM;IAC/D,+CAA+C;IAC/C,OAAO,EAAE,kBAAkB,EAAE,CAAM;IACnC,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAS;IAC5B,8DAA8D;IAC9D,iBAAiB,EAAE,OAAO,CAAS;IACnC,4CAA4C;IAC5C,YAAY,EAAE,OAAO,CAAS;IAC9B,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAK;IACrB,iHAAiH;IACjH,gBAAgB,EAAE,MAAM,CAAS;IACjC,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACpC;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;gBAEP,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY;IAYpD,iEAAiE;IACjE,gBAAgB,IAAI,OAAO;IAI3B,kEAAkE;IAC5D,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAahD,2DAA2D;IACrD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrC,4DAA4D;IACtD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAyDrC,sBAAsB,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAkB9F,2HAA2H;IACrH,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7D,gFAAgF;IAChF,OAAO,IAAI,IAAI;IA8Bf,mFAAmF;IACnF,gBAAgB,IAAI,OAAO;IAU3B,IAAI,SAAS,IAAI,MAAM,CAEtB;CACF;AAED,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC3B,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,iHAAiH;IACjH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,qBAAa,KAAK;IAChB,uBAAuB;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAK;IACtB,iDAAiD;IACjD,GAAG,EAAE,MAAM,CAAK;IAChB,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAK;IACrB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IACtC,+CAA+C;IAC/C,OAAO,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAM;IAC/D,+CAA+C;IAC/C,OAAO,EAAE,kBAAkB,EAAE,CAAM;IACnC,8DAA8D;IAC9D,UAAU,EAAE,OAAO,CAAS;IAC5B,8DAA8D;IAC9D,iBAAiB,EAAE,OAAO,CAAS;IACnC,4CAA4C;IAC5C,YAAY,EAAE,OAAO,CAAS;IAC9B,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAK;IACrB,iHAAiH;IACjH,gBAAgB,EAAE,MAAM,CAAS;IACjC,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACpC;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;gBAEP,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY;IAYpD,iEAAiE;IACjE,gBAAgB,IAAI,OAAO;IAI3B,oGAAoG;IAC9F,yBAAyB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpE,2DAA2D;IACrD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBrC,4DAA4D;IACtD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAiErC,sBAAsB,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAkB9F,2HAA2H;IACrH,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7D,gFAAgF;IAChF,OAAO,IAAI,IAAI;IA8Bf,mFAAmF;IACnF,gBAAgB,IAAI,OAAO;IAU3B,IAAI,SAAS,IAAI,MAAM,CAEtB;CACF;AAED,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC3B,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,iHAAiH;IACjH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;CACpB"}
package/dist/queue.js CHANGED
@@ -24,14 +24,27 @@ export class Queue {
24
24
  /** Check if there is any remaining requests that are allowed. */ isRequestAllowed() {
25
25
  return this.remaining > 0;
26
26
  }
27
- /** Pauses the execution until a request is allowed to be made. */ async waitUntilRequestAvailable() {
27
+ /** Pauses the execution until a request is allowed to be made, or until the given signal aborts. */ async waitUntilRequestAvailable(signal) {
28
28
  return await new Promise(async (resolve)=>{
29
29
  // If whatever amount of requests is left is more than the safety margin, allow the request
30
30
  if (this.isRequestAllowed()) {
31
31
  // this.remaining++;
32
32
  resolve();
33
33
  } else {
34
- this.waiting.push(resolve);
34
+ const stopWaiting = ()=>{
35
+ signal?.removeEventListener('abort', onAbort);
36
+ resolve();
37
+ };
38
+ // A caller that gives up is taken back out of the queue right away, so its request and body aren't kept alive until the queue resumes.
39
+ const onAbort = ()=>{
40
+ const index = this.waiting.indexOf(stopWaiting);
41
+ if (index !== -1) this.waiting.splice(index, 1);
42
+ stopWaiting();
43
+ };
44
+ this.waiting.push(stopWaiting);
45
+ signal?.addEventListener('abort', onAbort, {
46
+ once: true
47
+ });
35
48
  await this.processWaiting();
36
49
  }
37
50
  });
@@ -52,6 +65,9 @@ export class Queue {
52
65
  }
53
66
  // Mark as false so next pending request can be triggered by new loop.
54
67
  this.processing = false;
68
+ // The waiting list can empty out without anything moving on to the pending one, when every request in it was cancelled, and nothing would
69
+ // look at this queue again.
70
+ this.cleanup();
55
71
  }
56
72
  /** Process the queue of all requests pending to be sent. */ async processPending() {
57
73
  // If already processing, that loop will handle all pending requests.
@@ -60,6 +76,12 @@ export class Queue {
60
76
  this.processingPending = true;
61
77
  while(this.pending.length > 0){
62
78
  this.rest.logger.debug(`Queue ${this.queueType} ${this.url} process pending while loop ran with ${this.pending.length}.`);
79
+ // Drop the requests whose caller gave up, they were rejected the moment their signal fired. This happens before anything is spent on
80
+ // them: sending them would use up a rate limit slot and delay the requests that are still wanted, and fetch refuses them anyway.
81
+ if (this.pending[0]?.requestBodyOptions?.signal?.aborted) {
82
+ this.pending.shift();
83
+ continue;
84
+ }
63
85
  if (!this.firstRequest && !this.isRequestAllowed()) {
64
86
  const now = Date.now();
65
87
  const future = this.frozenAt + this.interval;
@@ -119,7 +141,13 @@ export class Queue {
119
141
  }
120
142
  }
121
143
  /** Checks if a request is available and adds it to the queue. Also triggers queue processing if not already processing. */ async makeRequest(options) {
122
- await this.waitUntilRequestAvailable();
144
+ const signal = options.requestBodyOptions?.signal;
145
+ await this.waitUntilRequestAvailable(signal);
146
+ // The caller gave up while this was waiting for a slot, it has already been rejected and there is nothing left to send.
147
+ if (signal?.aborted) {
148
+ this.cleanup();
149
+ return;
150
+ }
123
151
  this.pending.push(options);
124
152
  this.processPending();
125
153
  }
@@ -159,4 +187,4 @@ export class Queue {
159
187
  }
160
188
  }
161
189
 
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWV1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzZXRUaW1lb3V0IH0gZnJvbSAnbm9kZTp0aW1lcnMnO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJlc3RNYW5hZ2VyLCBTZW5kUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIFF1ZXVlIHtcbiAgLyoqIFRoZSByZXN0IG1hbmFnZXIgKi9cbiAgcmVzdDogUmVzdE1hbmFnZXI7XG4gIC8qKiBBbW91bnQgb2YgcmVxdWVzdHMgdGhhdCBoYXZlIGFyZSByZW1haW5pbmcuIERlZmF1bHRzIHRvIDEuICovXG4gIHJlbWFpbmluZzogbnVtYmVyID0gMTtcbiAgLyoqIE1heCByZXF1ZXN0cyBmb3IgdGhpcyB0aGlzLiBEZWZhdWx0cyB0byAxLiAqL1xuICBtYXg6IG51bWJlciA9IDE7XG4gIC8qKiBUaGUgdGltZSB0aGF0IGRpc2NvcmQgYWxsb3dzIHRvIG1ha2UgdGhlIG1heCBudW1iZXIgb2YgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDAgKi9cbiAgaW50ZXJ2YWw6IG51bWJlciA9IDA7XG4gIC8qKiB0aW1lciB0byByZXNldCB0byAwICovXG4gIHRpbWVvdXRJZDogTm9kZUpTLlRpbWVvdXQgfCB1bmRlZmluZWQ7XG4gIC8qKiBUaGUgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IHBlbmRpbmcuICovXG4gIHdhaXRpbmc6IEFycmF5PCh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkPiA9IFtdO1xuICAvKiogVGhlIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBwZW5kaW5nLiAqL1xuICBwZW5kaW5nOiBTZW5kUmVxdWVzdE9wdGlvbnNbXSA9IFtdO1xuICAvKiogV2hldGhlciBvciBub3QgdGhlIHdhaXRpbmcgcXVldWUgaXMgYWxyZWFkeSBwcm9jZXNzaW5nLiAqL1xuICBwcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgcGVuZGluZyBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3NpbmdQZW5kaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBXaGV0aGVyIHRoZSBmaXJzdCByZXF1ZXN0IGlzIHBlbmRpbmcuICovXG4gIGZpcnN0UmVxdWVzdDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogVGhlIHVybCB0aGF0IGFsbCB0aGUgcmVxdWVzdHMgaW4gdGhpcyBxdWV1ZSBhcmUgc2VudCB0by4gKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKiBXaGVuIHJlcXVlc3RzIHN0YXJ0ZWQgYmVpbmcgbWFkZSB0byBkZXRlcm1pbmUgd2hlbiB0aGUgaW50ZXJ2YWwgd2lsbCByZXNldCBpdC4gKi9cbiAgZnJvemVuQXQ6IG51bWJlciA9IDA7XG4gIC8qKiBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZGVsZXRpbmcgdGhpcyBxdWV1ZSBpZiBpdCBpcyBlbXB0eS4gRGVmYXVsdHMgdG8gNjAwMDAob25lIG1pbnV0ZSkuICovXG4gIGRlbGV0ZVF1ZXVlRGVsYXk6IG51bWJlciA9IDYwMDAwO1xuICAvKiogVGhlIHRpbWVvdXQgZm9yIHRoZSBkZWxldGlvbiBvZiB0aGlzIHF1ZXVlICovXG4gIGRlbGV0ZVF1ZXVlVGltZW91dD86IE5vZGVKUy5UaW1lb3V0O1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgZm9yIHRoaXMgcmVxdWVzdCwgbWF5IGJlIHRoZSByZXF1ZXN0IGF1dGhvcml6YXRpb24gb3IgZmFsbGJhY2sgdG8gdGhlIGJvdCBhdXRoXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgdXNlZCB0byBnZXQgdGhlIGlkZW50aWZ5IHRoaXMgcXVldWUgZnJvbSB0aGUgcXVldWUgbWFwcGluZyBvZiB0aGUgcmVzdCBtYW5hZ2VyXG4gICAqL1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocmVzdDogUmVzdE1hbmFnZXIsIG9wdGlvbnM6IFF1ZXVlT3B0aW9ucykge1xuICAgIHRoaXMucmVzdCA9IHJlc3Q7XG4gICAgdGhpcy51cmwgPSBvcHRpb25zLnVybDtcbiAgICB0aGlzLmlkZW50aWZpZXIgPSBvcHRpb25zLmlkZW50aWZpZXI7XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlcnZhbCkgdGhpcy5pbnRlcnZhbCA9IG9wdGlvbnMuaW50ZXJ2YWw7XG4gICAgaWYgKG9wdGlvbnMubWF4KSB0aGlzLm1heCA9IG9wdGlvbnMubWF4O1xuICAgIGlmIChvcHRpb25zLnJlbWFpbmluZykgdGhpcy5yZW1haW5pbmcgPSBvcHRpb25zLnJlbWFpbmluZztcbiAgICBpZiAob3B0aW9ucy50aW1lb3V0SWQpIHRoaXMudGltZW91dElkID0gb3B0aW9ucy50aW1lb3V0SWQ7XG4gICAgaWYgKG9wdGlvbnMuZGVsZXRlUXVldWVEZWxheSkgdGhpcy5kZWxldGVRdWV1ZURlbGF5ID0gb3B0aW9ucy5kZWxldGVRdWV1ZURlbGF5O1xuICB9XG5cbiAgLyoqIENoZWNrIGlmIHRoZXJlIGlzIGFueSByZW1haW5pbmcgcmVxdWVzdHMgdGhhdCBhcmUgYWxsb3dlZC4gKi9cbiAgaXNSZXF1ZXN0QWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZW1haW5pbmcgPiAwO1xuICB9XG5cbiAgLyoqIFBhdXNlcyB0aGUgZXhlY3V0aW9uIHVudGlsIGEgcmVxdWVzdCBpcyBhbGxvd2VkIHRvIGJlIG1hZGUuICovXG4gIGFzeW5jIHdhaXRVbnRpbFJlcXVlc3RBdmFpbGFibGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlKSA9PiB7XG4gICAgICAvLyBJZiB3aGF0ZXZlciBhbW91bnQgb2YgcmVxdWVzdHMgaXMgbGVmdCBpcyBtb3JlIHRoYW4gdGhlIHNhZmV0eSBtYXJnaW4sIGFsbG93IHRoZSByZXF1ZXN0XG4gICAgICBpZiAodGhpcy5pc1JlcXVlc3RBbGxvd2VkKCkpIHtcbiAgICAgICAgLy8gdGhpcy5yZW1haW5pbmcrKztcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy53YWl0aW5nLnB1c2gocmVzb2x2ZSk7XG4gICAgICAgIGF3YWl0IHRoaXMucHJvY2Vzc1dhaXRpbmcoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBQcm9jZXNzIHRoZSBxdWV1ZSBvZiByZXF1ZXN0cyB3YWl0aW5nIHRvIGJlIGhhbmRsZWQuICovXG4gIGFzeW5jIHByb2Nlc3NXYWl0aW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIElmIGFscmVhZHkgcHJvY2Vzc2luZywgdGhhdCBsb29wIHdpbGwgaGFuZGxlIGFsbCB3YWl0aW5nIHJlcXVlc3RzLlxuICAgIGlmICh0aGlzLnByb2Nlc3NpbmcpIHJldHVybjtcbiAgICAvLyBNYXJrIGFzIHByb2Nlc3Npbmcgc28gb3RoZXIgbG9vcHMgZG9uJ3Qgc3RhcnRcbiAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xuXG4gICAgd2hpbGUgKHRoaXMud2FpdGluZy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJlc3QubG9nZ2VyLmRlYnVnKGBbUXVldWVdICR7dGhpcy5xdWV1ZVR5cGV9ICR7dGhpcy51cmx9IHByb2Nlc3Mgd2FpdGluZyB3aGlsZSBsb29wIHJhbi5gKTtcbiAgICAgIGlmICh0aGlzLmlzUmVxdWVzdEFsbG93ZWQoKSkge1xuICAgICAgICAvLyBSZXNvbHZlIHRoZSBuZXh0IGl0ZW0gaW4gdGhlIHF1ZXVlXG4gICAgICAgIHRoaXMud2FpdGluZy5zaGlmdCgpPy4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IGRlbGF5KDEwMDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1hcmsgYXMgZmFsc2Ugc28gbmV4dCBwZW5kaW5nIHJlcXVlc3QgY2FuIGJlIHRyaWdnZXJlZCBieSBuZXcgbG9vcC5cbiAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKiBQcm9jZXNzIHRoZSBxdWV1ZSBvZiBhbGwgcmVxdWVzdHMgcGVuZGluZyB0byBiZSBzZW50LiAqL1xuICBhc3luYyBwcm9jZXNzUGVuZGluZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBJZiBhbHJlYWR5IHByb2Nlc3NpbmcsIHRoYXQgbG9vcCB3aWxsIGhhbmRsZSBhbGwgcGVuZGluZyByZXF1ZXN0cy5cbiAgICBpZiAodGhpcy5wcm9jZXNzaW5nUGVuZGluZyB8fCAhdGhpcy5wZW5kaW5nLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgLy8gTWFyayBhcyBwcm9jZXNzaW5nIHNvIG90aGVyIGxvb3BzIGRvbid0IHN0YXJ0XG4gICAgdGhpcy5wcm9jZXNzaW5nUGVuZGluZyA9IHRydWU7XG5cbiAgICB3aGlsZSAodGhpcy5wZW5kaW5nLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMucmVzdC5sb2dnZXIuZGVidWcoYFF1ZXVlICR7dGhpcy5xdWV1ZVR5cGV9ICR7dGhpcy51cmx9IHByb2Nlc3MgcGVuZGluZyB3aGlsZSBsb29wIHJhbiB3aXRoICR7dGhpcy5wZW5kaW5nLmxlbmd0aH0uYCk7XG4gICAgICBpZiAoIXRoaXMuZmlyc3RSZXF1ZXN0ICYmICF0aGlzLmlzUmVxdWVzdEFsbG93ZWQoKSkge1xuICAgICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBmdXR1cmUgPSB0aGlzLmZyb3plbkF0ICsgdGhpcy5pbnRlcnZhbDtcbiAgICAgICAgYXdhaXQgZGVsYXkoZnV0dXJlID4gbm93ID8gZnV0dXJlIC0gbm93IDogMTAwMCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5wZW5kaW5nWzBdO1xuICAgICAgaWYgKHJlcXVlc3QpIHtcbiAgICAgICAgY29uc3QgYmFzaWNVUkwgPSB0aGlzLnJlc3Quc2ltcGxpZnlVcmwocmVxdWVzdC5yb3V0ZSwgcmVxdWVzdC5tZXRob2QpO1xuXG4gICAgICAgIC8vIElmIHRoaXMgdXJsIGlzIHN0aWxsIHJhdGUgbGltaXRlZCwgdHJ5IGFnYWluXG4gICAgICAgIGNvbnN0IHVybFJlc2V0SW4gPSB0aGlzLnJlc3QuY2hlY2tSYXRlTGltaXRzKGJhc2ljVVJMLCB0aGlzLmlkZW50aWZpZXIpO1xuICAgICAgICBpZiAodXJsUmVzZXRJbikgYXdhaXQgZGVsYXkodXJsUmVzZXRJbik7XG5cbiAgICAgICAgLy8gSUYgQSBCVUNLRVQgRVhJU1RTLCBDSEVDSyBUSEUgQlVDS0VUJ1MgUkFURSBMSU1JVFNcbiAgICAgICAgY29uc3QgYnVja2V0UmVzZXRJbiA9IHJlcXVlc3QuYnVja2V0SWQgPyB0aGlzLnJlc3QuY2hlY2tSYXRlTGltaXRzKHJlcXVlc3QuYnVja2V0SWQsIHRoaXMuaWRlbnRpZmllcikgOiBmYWxzZTtcbiAgICAgICAgaWYgKGJ1Y2tldFJlc2V0SW4pIGF3YWl0IGRlbGF5KGJ1Y2tldFJlc2V0SW4pO1xuXG4gICAgICAgIHRoaXMuZmlyc3RSZXF1ZXN0ID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVtYWluaW5nLS07XG5cbiAgICAgICAgaWYgKHRoaXMucmVtYWluaW5nID09PSAwICYmIHRoaXMuaW50ZXJ2YWwgIT09IDApIHtcbiAgICAgICAgICB0aGlzLnRpbWVvdXRJZCA/Pz0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlbWFpbmluZyA9IHRoaXMubWF4O1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0SWQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgfSwgdGhpcy5pbnRlcnZhbCkudW5yZWYoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlbW92ZSBmcm9tIHF1ZXVlLCB3ZSBhcmUgZXhlY3V0aW5nIGl0LlxuICAgICAgICB0aGlzLnBlbmRpbmcuc2hpZnQoKTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhpcyByZXF1ZXN0IGlzIGFibGUgdG8gYmUgbWFkZSBnbG9iYWxseVxuICAgICAgICBhd2FpdCB0aGlzLnJlc3QuaW52YWxpZEJ1Y2tldC53YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlKCk7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5yZXN0LnNlbmRSZXF1ZXN0KHJlcXVlc3QpLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgdGhpcy5yZXN0LmxvZ2dlci5kZWJ1ZyhgUXVldWUgJHt0aGlzLnF1ZXVlVHlwZX0gJHt0aGlzLnVybH0gZW5jb3VudGVyZWQgYW4gZXJyb3Igd2hlbiBzZW5kaW5nIGEgcmVxdWVzdC5gLCBlKTtcbiAgICAgICAgICByZXF1ZXN0LnJlamVjdCh7IG9rOiBmYWxzZSwgc3RhdHVzOiA5OTksIGVycm9yOiAnVGhlIHF1ZXVlIGVuY29udGVyZWQgYW4gdW5leHBlY3RlZCBlcnJvciBzZW5kaW5nIGEgcmVxdWVzdC4nLCBlcnJvck9iamVjdDogZSB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5yZXN0LmxvZ2dlci5kZWJ1ZyhgUXVldWUgJHt0aGlzLnF1ZXVlVHlwZX0gJHt0aGlzLnVybH0gcHJvY2VzcyBwZW5kaW5nIHdoaWxlIGxvb3AgZXhpdGVkIHdpdGggJHt0aGlzLnBlbmRpbmcubGVuZ3RofS5gKTtcblxuICAgIC8vIE1hcmsgYXMgZmFsc2Ugc28gbmV4dCBwZW5kaW5nIHJlcXVlc3QgY2FuIGJlIHRyaWdnZXJlZCBieSBuZXcgbG9vcC5cbiAgICB0aGlzLnByb2Nlc3NpbmdQZW5kaW5nID0gZmFsc2U7XG4gICAgdGhpcy5jbGVhbnVwKCk7XG4gIH1cblxuICBoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0KGhlYWRlcnM6IHsgbWF4PzogbnVtYmVyOyBpbnRlcnZhbD86IG51bWJlcjsgcmVtYWluaW5nPzogbnVtYmVyIH0pOiB2b2lkIHtcbiAgICBpZiAoaGVhZGVycy5tYXggPT09IDApIHtcbiAgICAgIHRoaXMucmVtYWluaW5nKys7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmZyb3plbkF0KSB0aGlzLmZyb3plbkF0ID0gRGF0ZS5ub3coKTtcbiAgICBpZiAoaGVhZGVycy5pbnRlcnZhbCAhPT0gdW5kZWZpbmVkKSB0aGlzLmludGVydmFsID0gaGVhZGVycy5pbnRlcnZhbDtcbiAgICBpZiAoaGVhZGVycy5yZW1haW5pbmcgIT09IHVuZGVmaW5lZCkgdGhpcy5yZW1haW5pbmcgPSBoZWFkZXJzLnJlbWFpbmluZztcblxuICAgIGlmICh0aGlzLnJlbWFpbmluZyA8PSAxKSB7XG4gICAgICB0aGlzLnRpbWVvdXRJZCA/Pz0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMucmVtYWluaW5nID0gdGhpcy5tYXg7XG4gICAgICAgIHRoaXMudGltZW91dElkID0gdW5kZWZpbmVkO1xuICAgICAgfSwgaGVhZGVycy5pbnRlcnZhbCkudW5yZWYoKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2hlY2tzIGlmIGEgcmVxdWVzdCBpcyBhdmFpbGFibGUgYW5kIGFkZHMgaXQgdG8gdGhlIHF1ZXVlLiBBbHNvIHRyaWdnZXJzIHF1ZXVlIHByb2Nlc3NpbmcgaWYgbm90IGFscmVhZHkgcHJvY2Vzc2luZy4gKi9cbiAgYXN5bmMgbWFrZVJlcXVlc3Qob3B0aW9uczogU2VuZFJlcXVlc3RPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy53YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlKCk7XG4gICAgdGhpcy5wZW5kaW5nLnB1c2gob3B0aW9ucyk7XG4gICAgdGhpcy5wcm9jZXNzUGVuZGluZygpO1xuICB9XG5cbiAgLyoqIENsZWFucyB1cCB0aGUgcXVldWUgYnkgY2hlY2tpbmcgaWYgdGhlcmUgaXMgbm90aGluZyBsZWZ0IGFuZCByZW1vdmluZyBpdC4gKi9cbiAgY2xlYW51cCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNRdWV1ZUNsZWFyYWJsZSgpKSB7XG4gICAgICB0aGlzLnByb2Nlc3NQZW5kaW5nKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5yZXN0LmxvZ2dlci5kZWJ1ZyhgW1F1ZXVlXSAke3RoaXMucXVldWVUeXBlfSAke3RoaXMudXJsfS4gRGVsYXlpbmcgZGVsZXRlIGZvciAke3RoaXMuZGVsZXRlUXVldWVEZWxheX1tc2ApO1xuXG4gICAgLy8gRGVsZXRlIGluIGEgbWludXRlIGdpdmluZyBhIGJpdCBvZiB0aW1lIHRvIGFsbG93IG5ldyByZXF1ZXN0cyB0aGF0IG1heSByZXVzZSB0aGlzIHF1ZXVlXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVsZXRlUXVldWVUaW1lb3V0KTtcbiAgICB0aGlzLmRlbGV0ZVF1ZXVlVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzUXVldWVDbGVhcmFibGUoKSkge1xuICAgICAgICB0aGlzLnJlc3QubG9nZ2VyLmRlYnVnKGBbUXVldWVdICR7dGhpcy5xdWV1ZVR5cGV9ICR7dGhpcy51cmx9LiBpcyBub3QgY2xlYXJhYmxlLiBSZXN0YXJ0aW5nIHByb2Nlc3Npbmcgb2YgcXVldWUuYCk7XG4gICAgICAgIHRoaXMucHJvY2Vzc1BlbmRpbmcoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnJlc3QubG9nZ2VyLmRlYnVnKGBbUXVldWVdICR7dGhpcy5xdWV1ZVR5cGV9ICR7dGhpcy51cmx9LiBEZWxldGluZ2ApO1xuXG4gICAgICBpZiAodGhpcy50aW1lb3V0SWQpIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRJZCk7XG5cbiAgICAgIC8vIE5vIHJlcXVlc3RzIGhhdmUgYmVlbiByZXF1ZXN0ZWQgZm9yIHRoaXMgcXVldWUgc28gd2UgbnVrZSB0aGlzIHF1ZXVlXG4gICAgICB0aGlzLnJlc3QucXVldWVzLmRlbGV0ZShgJHt0aGlzLmlkZW50aWZpZXJ9JHt0aGlzLnVybH1gKTtcbiAgICAgIHRoaXMucmVzdC5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBbUXVldWVdICR7dGhpcy5xdWV1ZVR5cGV9ICR7dGhpcy51cmx9LiBEZWxldGVkISBSZW1haW5pbmc6ICgke3RoaXMucmVzdC5xdWV1ZXMuc2l6ZX0pYCxcbiAgICAgICAgWy4uLnRoaXMucmVzdC5xdWV1ZXMudmFsdWVzKCldLm1hcCgocXVldWUpID0+IGAke3F1ZXVlLnF1ZXVlVHlwZX0ke3F1ZXVlLnVybH1gKSxcbiAgICAgICk7XG4gICAgfSwgdGhpcy5kZWxldGVRdWV1ZURlbGF5KS51bnJlZigpO1xuICB9XG5cbiAgLyoqIFNpbXBseSBjaGVja3MgaWYgdGhlIHF1ZXVlIGlzIGFibGUgdG8gYmUgY2xlYXJlZCBvciBpdCBoYXMgcmVxdWVzdHMgcGVuZGluZy4gKi9cbiAgaXNRdWV1ZUNsZWFyYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5maXJzdFJlcXVlc3QpIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy53YWl0aW5nLmxlbmd0aCA+IDApIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5wZW5kaW5nLmxlbmd0aCA+IDApIHJldHVybiBmYWxzZTtcbiAgICBpZiAodGhpcy5wcm9jZXNzaW5nKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucHJvY2Vzc2luZ1BlbmRpbmcpIHJldHVybiBmYWxzZTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZ2V0IHF1ZXVlVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlkZW50aWZpZXIuc2xpY2UoMCwgdGhpcy5pZGVudGlmaWVyLmluZGV4T2YoJyAnKSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWV1ZU9wdGlvbnMge1xuICAvKiogSG93IG1hbnkgcmVxdWVzdHMgYXJlIHJlbWFpbmluZy4gRGVmYXVsdHMgdG8gMSAqL1xuICByZW1haW5pbmc/OiBudW1iZXI7XG4gIC8qKiBNYXggbnVtYmVyIG9mIHJlcXVlc3RzIGFsbG93ZWQgaW4gdGhpcyB0aGlzLiBEZWZhdWx0cyB0byAxLiAqL1xuICBtYXg/OiBudW1iZXI7XG4gIC8qKiBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgdGhhdCBkaXNjb3JkIGFsbG93cyB0byBtYWtlIHRoZSBtYXggbnVtYmVyIG9mIGludmFsaWQgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDAgKi9cbiAgaW50ZXJ2YWw/OiBudW1iZXI7XG4gIC8qKiB0aW1lciB0byByZXNldCB0byAwICovXG4gIHRpbWVvdXRJZD86IE5vZGVKUy5UaW1lb3V0O1xuICAvKiogVGhlIHVybCB0aGlzIHF1ZXVlIHdpbGwgYmUgaGFuZGxpbmcuICovXG4gIHVybDogc3RyaW5nO1xuICAvKiogVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIGRlbGV0aW5nIHRoaXMgcXVldWUgaWYgaXQgaXMgZW1wdHkuIERlZmF1bHRzIHRvIDYwMDAwKG9uZSBtaW51dGUpLiAqL1xuICBkZWxldGVRdWV1ZURlbGF5PzogbnVtYmVyO1xuICAvKiogVGhlIGJhc2Uga2V5IHRoYXQgaWRlbnRpZmllcyB0aGlzIHF1ZXVlIGluIHRoZSByZXN0IG1hbmFnZXIgKi9cbiAgaWRlbnRpZmllcjogc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbInNldFRpbWVvdXQiLCJkZWxheSIsIlF1ZXVlIiwicmVzdCIsIm9wdGlvbnMiLCJyZW1haW5pbmciLCJtYXgiLCJpbnRlcnZhbCIsIndhaXRpbmciLCJwZW5kaW5nIiwicHJvY2Vzc2luZyIsInByb2Nlc3NpbmdQZW5kaW5nIiwiZmlyc3RSZXF1ZXN0IiwiZnJvemVuQXQiLCJkZWxldGVRdWV1ZURlbGF5IiwidXJsIiwiaWRlbnRpZmllciIsInRpbWVvdXRJZCIsImlzUmVxdWVzdEFsbG93ZWQiLCJ3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJwdXNoIiwicHJvY2Vzc1dhaXRpbmciLCJsZW5ndGgiLCJsb2dnZXIiLCJkZWJ1ZyIsInF1ZXVlVHlwZSIsInNoaWZ0IiwicHJvY2Vzc1BlbmRpbmciLCJub3ciLCJEYXRlIiwiZnV0dXJlIiwicmVxdWVzdCIsImJhc2ljVVJMIiwic2ltcGxpZnlVcmwiLCJyb3V0ZSIsIm1ldGhvZCIsInVybFJlc2V0SW4iLCJjaGVja1JhdGVMaW1pdHMiLCJidWNrZXRSZXNldEluIiwiYnVja2V0SWQiLCJ1bmRlZmluZWQiLCJ1bnJlZiIsImludmFsaWRCdWNrZXQiLCJzZW5kUmVxdWVzdCIsImNhdGNoIiwiZSIsInJlamVjdCIsIm9rIiwic3RhdHVzIiwiZXJyb3IiLCJlcnJvck9iamVjdCIsImNsZWFudXAiLCJoYW5kbGVDb21wbGV0ZWRSZXF1ZXN0IiwiaGVhZGVycyIsIm1ha2VSZXF1ZXN0IiwiaXNRdWV1ZUNsZWFyYWJsZSIsImNsZWFyVGltZW91dCIsImRlbGV0ZVF1ZXVlVGltZW91dCIsInF1ZXVlcyIsImRlbGV0ZSIsInNpemUiLCJ2YWx1ZXMiLCJtYXAiLCJxdWV1ZSIsInNsaWNlIiwiaW5kZXhPZiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLGNBQWM7QUFDekMsU0FBU0MsS0FBSyxRQUFRLG9CQUFvQjtBQUcxQyxPQUFPLE1BQU1DO0lBcUNYLFlBQVlDLElBQWlCLEVBQUVDLE9BQXFCLENBQUU7UUFsQ3RELCtEQUErRCxRQUMvREMsWUFBb0I7UUFDcEIsK0NBQStDLFFBQy9DQyxNQUFjO1FBQ2QsbUZBQW1GLFFBQ25GQyxXQUFtQjtRQUduQiw2Q0FBNkMsUUFDN0NDLFVBQTRELEVBQUU7UUFDOUQsNkNBQTZDLFFBQzdDQyxVQUFnQyxFQUFFO1FBQ2xDLDREQUE0RCxRQUM1REMsYUFBc0I7UUFDdEIsNERBQTRELFFBQzVEQyxvQkFBNkI7UUFDN0IsMENBQTBDLFFBQzFDQyxlQUF3QjtRQUd4QixtRkFBbUYsUUFDbkZDLFdBQW1CO1FBQ25CLCtHQUErRyxRQUMvR0MsbUJBQTJCO1FBWXpCLElBQUksQ0FBQ1gsSUFBSSxHQUFHQTtRQUNaLElBQUksQ0FBQ1ksR0FBRyxHQUFHWCxRQUFRVyxHQUFHO1FBQ3RCLElBQUksQ0FBQ0MsVUFBVSxHQUFHWixRQUFRWSxVQUFV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
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9xdWV1ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzZXRUaW1lb3V0IH0gZnJvbSAnbm9kZTp0aW1lcnMnO1xuaW1wb3J0IHsgZGVsYXkgfSBmcm9tICdAZGlzY29yZGVuby91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJlc3RNYW5hZ2VyLCBTZW5kUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuZXhwb3J0IGNsYXNzIFF1ZXVlIHtcbiAgLyoqIFRoZSByZXN0IG1hbmFnZXIgKi9cbiAgcmVzdDogUmVzdE1hbmFnZXI7XG4gIC8qKiBBbW91bnQgb2YgcmVxdWVzdHMgdGhhdCBoYXZlIGFyZSByZW1haW5pbmcuIERlZmF1bHRzIHRvIDEuICovXG4gIHJlbWFpbmluZzogbnVtYmVyID0gMTtcbiAgLyoqIE1heCByZXF1ZXN0cyBmb3IgdGhpcyB0aGlzLiBEZWZhdWx0cyB0byAxLiAqL1xuICBtYXg6IG51bWJlciA9IDE7XG4gIC8qKiBUaGUgdGltZSB0aGF0IGRpc2NvcmQgYWxsb3dzIHRvIG1ha2UgdGhlIG1heCBudW1iZXIgb2YgcmVxdWVzdHMuIERlZmF1bHRzIHRvIDAgKi9cbiAgaW50ZXJ2YWw6IG51bWJlciA9IDA7XG4gIC8qKiB0aW1lciB0byByZXNldCB0byAwICovXG4gIHRpbWVvdXRJZDogTm9kZUpTLlRpbWVvdXQgfCB1bmRlZmluZWQ7XG4gIC8qKiBUaGUgcmVxdWVzdHMgdGhhdCBhcmUgY3VycmVudGx5IHBlbmRpbmcuICovXG4gIHdhaXRpbmc6IEFycmF5PCh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkPiA9IFtdO1xuICAvKiogVGhlIHJlcXVlc3RzIHRoYXQgYXJlIGN1cnJlbnRseSBwZW5kaW5nLiAqL1xuICBwZW5kaW5nOiBTZW5kUmVxdWVzdE9wdGlvbnNbXSA9IFtdO1xuICAvKiogV2hldGhlciBvciBub3QgdGhlIHdhaXRpbmcgcXVldWUgaXMgYWxyZWFkeSBwcm9jZXNzaW5nLiAqL1xuICBwcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgcGVuZGluZyBxdWV1ZSBpcyBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIHByb2Nlc3NpbmdQZW5kaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKiBXaGV0aGVyIHRoZSBmaXJzdCByZXF1ZXN0IGlzIHBlbmRpbmcuICovXG4gIGZpcnN0UmVxdWVzdDogYm9vbGVhbiA9IGZhbHNlO1xuICAvKiogVGhlIHVybCB0aGF0IGFsbCB0aGUgcmVxdWVzdHMgaW4gdGhpcyBxdWV1ZSBhcmUgc2VudCB0by4gKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKiBXaGVuIHJlcXVlc3RzIHN0YXJ0ZWQgYmVpbmcgbWFkZSB0byBkZXRlcm1pbmUgd2hlbiB0aGUgaW50ZXJ2YWwgd2lsbCByZXNldCBpdC4gKi9cbiAgZnJvemVuQXQ6IG51bWJlciA9IDA7XG4gIC8qKiBUaGUgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZGVsZXRpbmcgdGhpcyBxdWV1ZSBpZiBpdCBpcyBlbXB0eS4gRGVmYXVsdHMgdG8gNjAwMDAob25lIG1pbnV0ZSkuICovXG4gIGRlbGV0ZVF1ZXVlRGVsYXk6IG51bWJlciA9IDYwMDAwO1xuICAvKiogVGhlIHRpbWVvdXQgZm9yIHRoZSBkZWxldGlvbiBvZiB0aGlzIHF1ZXVlICovXG4gIGRlbGV0ZVF1ZXVlVGltZW91dD86IE5vZGVKUy5UaW1lb3V0O1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIgZm9yIHRoaXMgcmVxdWVzdCwgbWF5IGJlIHRoZSByZXF1ZXN0IGF1dGhvcml6YXRpb24gb3IgZmFsbGJhY2sgdG8gdGhlIGJvdCBhdXRoXG4gICAqXG4gICAqIEByZW1hcmtzXG4gICAqIFRoaXMgaXMgdXNlZCB0byBnZXQgdGhlIGlkZW50aWZ5IHRoaXMgcXVldWUgZnJvbSB0aGUgcXVldWUgbWFwcGluZyBvZiB0aGUgcmVzdCBtYW5hZ2VyXG4gICAqL1xuICBpZGVudGlmaWVyOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocmVzdDogUmVzdE1hbmFnZXIsIG9wdGlvbnM6IFF1ZXVlT3B0aW9ucykge1xuICAgIHRoaXMucmVzdCA9IHJlc3Q7XG4gICAgdGhpcy51cmwgPSBvcHRpb25zLnVybDtcbiAgICB0aGlzLmlkZW50aWZpZXIgPSBvcHRpb25zLmlkZW50aWZpZXI7XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlcnZhbCkgdGhpcy5pbnRlcnZhbCA9IG9wdGlvbnMuaW50ZXJ2YWw7XG4gICAgaWYgKG9wdGlvbnMubWF4KSB0aGlzLm1heCA9IG9wdGlvbnMubWF4O1xuICAgIGlmIChvcHRpb25zLnJlbWFpbmluZykgdGhpcy5yZW1haW5pbmcgPSBvcHRpb25zLnJlbWFpbmluZztcbiAgICBpZiAob3B0aW9ucy50aW1lb3V0SWQpIHRoaXMudGltZW91dElkID0gb3B0aW9ucy50aW1lb3V0SWQ7XG4gICAgaWYgKG9wdGlvbnMuZGVsZXRlUXVldWVEZWxheSkgdGhpcy5kZWxldGVRdWV1ZURlbGF5ID0gb3B0aW9ucy5kZWxldGVRdWV1ZURlbGF5O1xuICB9XG5cbiAgLyoqIENoZWNrIGlmIHRoZXJlIGlzIGFueSByZW1haW5pbmcgcmVxdWVzdHMgdGhhdCBhcmUgYWxsb3dlZC4gKi9cbiAgaXNSZXF1ZXN0QWxsb3dlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZW1haW5pbmcgPiAwO1xuICB9XG5cbiAgLyoqIFBhdXNlcyB0aGUgZXhlY3V0aW9uIHVudGlsIGEgcmVxdWVzdCBpcyBhbGxvd2VkIHRvIGJlIG1hZGUsIG9yIHVudGlsIHRoZSBnaXZlbiBzaWduYWwgYWJvcnRzLiAqL1xuICBhc3luYyB3YWl0VW50aWxSZXF1ZXN0QXZhaWxhYmxlKHNpZ25hbD86IEFib3J0U2lnbmFsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlKSA9PiB7XG4gICAgICAvLyBJZiB3aGF0ZXZlciBhbW91bnQgb2YgcmVxdWVzdHMgaXMgbGVmdCBpcyBtb3JlIHRoYW4gdGhlIHNhZmV0eSBtYXJnaW4sIGFsbG93IHRoZSByZXF1ZXN0XG4gICAgICBpZiAodGhpcy5pc1JlcXVlc3RBbGxvd2VkKCkpIHtcbiAgICAgICAgLy8gdGhpcy5yZW1haW5pbmcrKztcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RvcFdhaXRpbmcgPSAoKSA9PiB7XG4gICAgICAgICAgc2lnbmFsPy5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIG9uQWJvcnQpO1xuICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gQSBjYWxsZXIgdGhhdCBnaXZlcyB1cCBpcyB0YWtlbiBiYWNrIG91dCBvZiB0aGUgcXVldWUgcmlnaHQgYXdheSwgc28gaXRzIHJlcXVlc3QgYW5kIGJvZHkgYXJlbid0IGtlcHQgYWxpdmUgdW50aWwgdGhlIHF1ZXVlIHJlc3VtZXMuXG4gICAgICAgIGNvbnN0IG9uQWJvcnQgPSAoKSA9PiB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLndhaXRpbmcuaW5kZXhPZihzdG9wV2FpdGluZyk7XG4gICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkgdGhpcy53YWl0aW5nLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgc3RvcFdhaXRpbmcoKTtcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLndhaXRpbmcucHVzaChzdG9wV2FpdGluZyk7XG4gICAgICAgIHNpZ25hbD8uYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBvbkFib3J0LCB7IG9uY2U6IHRydWUgfSk7XG4gICAgICAgIGF3YWl0IHRoaXMucHJvY2Vzc1dhaXRpbmcoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBQcm9jZXNzIHRoZSBxdWV1ZSBvZiByZXF1ZXN0cyB3YWl0aW5nIHRvIGJlIGhhbmRsZWQuICovXG4gIGFzeW5jIHByb2Nlc3NXYWl0aW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIElmIGFscmVhZHkgcHJvY2Vzc2luZywgdGhhdCBsb29wIHdpbGwgaGFuZGxlIGFsbCB3YWl0aW5nIHJlcXVlc3RzLlxuICAgIGlmICh0aGlzLnByb2Nlc3NpbmcpIHJldHVybjtcbiAgICAvLyBNYXJrIGFzIHByb2Nlc3Npbmcgc28gb3RoZXIgbG9vcHMgZG9uJ3Qgc3RhcnRcbiAgICB0aGlzLnByb2Nlc3NpbmcgPSB0cnVlO1xuXG4gICAgd2hpbGUgKHRoaXMud2FpdGluZy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJlc3QubG9nZ2VyLmRlYnVnKGBbUXVldWVdICR7dGhpcy5xdWV1ZVR5cGV9ICR7dGhpcy51cmx9IHByb2Nlc3Mgd2FpdGluZyB3aGlsZSBsb29wIHJhbi5gKTtcbiAgICAgIGlmICh0aGlzLmlzUmVxdWVzdEFsbG93ZWQoKSkge1xuICAgICAgICAvLyBSZXNvbHZlIHRoZSBuZXh0IGl0ZW0gaW4gdGhlIHF1ZXVlXG4gICAgICAgIHRoaXMud2FpdGluZy5zaGlmdCgpPy4oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IGRlbGF5KDEwMDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1hcmsgYXMgZmFsc2Ugc28gbmV4dCBwZW5kaW5nIHJlcXVlc3QgY2FuIGJlIHRyaWdnZXJlZCBieSBuZXcgbG9vcC5cbiAgICB0aGlzLnByb2Nlc3NpbmcgPSBmYWxzZTtcbiAgICAvLyBUaGUgd2FpdGluZyBsaXN0IGNhbiBlbXB0eSBvdXQgd2l0aG91dCBhbnl0aGluZyBtb3Zpbmcgb24gdG8gdGhlIHBlbmRpbmcgb25lLCB3aGVuIGV2ZXJ5IHJlcXVlc3QgaW4gaXQgd2FzIGNhbmNlbGxlZCwgYW5kIG5vdGhpbmcgd291bGRcbiAgICAvLyBsb29rIGF0IHRoaXMgcXVldWUgYWdhaW4uXG4gICAgdGhpcy5jbGVhbnVwKCk7XG4gIH1cblxuICAvKiogUHJvY2VzcyB0aGUgcXVldWUgb2YgYWxsIHJlcXVlc3RzIHBlbmRpbmcgdG8gYmUgc2VudC4gKi9cbiAgYXN5bmMgcHJvY2Vzc1BlbmRpbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLy8gSWYgYWxyZWFkeSBwcm9jZXNzaW5nLCB0aGF0IGxvb3Agd2lsbCBoYW5kbGUgYWxsIHBlbmRpbmcgcmVxdWVzdHMuXG4gICAgaWYgKHRoaXMucHJvY2Vzc2luZ1BlbmRpbmcgfHwgIXRoaXMucGVuZGluZy5sZW5ndGgpIHJldHVybjtcblxuICAgIC8vIE1hcmsgYXMgcHJvY2Vzc2luZyBzbyBvdGhlciBsb29wcyBkb24ndCBzdGFydFxuICAgIHRoaXMucHJvY2Vzc2luZ1BlbmRpbmcgPSB0cnVlO1xuXG4gICAgd2hpbGUgKHRoaXMucGVuZGluZy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnJlc3QubG9nZ2VyLmRlYnVnKGBRdWV1ZSAke3RoaXMucXVldWVUeXBlfSAke3RoaXMudXJsfSBwcm9jZXNzIHBlbmRpbmcgd2hpbGUgbG9vcCByYW4gd2l0aCAke3RoaXMucGVuZGluZy5sZW5ndGh9LmApO1xuXG4gICAgICAvLyBEcm9wIHRoZSByZXF1ZXN0cyB3aG9zZSBjYWxsZXIgZ2F2ZSB1cCwgdGhleSB3ZXJlIHJlamVjdGVkIHRoZSBtb21lbnQgdGhlaXIgc2lnbmFsIGZpcmVkLiBUaGlzIGhhcHBlbnMgYmVmb3JlIGFueXRoaW5nIGlzIHNwZW50IG9uXG4gICAgICAvLyB0aGVtOiBzZW5kaW5nIHRoZW0gd291bGQgdXNlIHVwIGEgcmF0ZSBsaW1pdCBzbG90IGFuZCBkZWxheSB0aGUgcmVxdWVzdHMgdGhhdCBhcmUgc3RpbGwgd2FudGVkLCBhbmQgZmV0Y2ggcmVmdXNlcyB0aGVtIGFueXdheS5cbiAgICAgIGlmICh0aGlzLnBlbmRpbmdbMF0/LnJlcXVlc3RCb2R5T3B0aW9ucz8uc2lnbmFsPy5hYm9ydGVkKSB7XG4gICAgICAgIHRoaXMucGVuZGluZy5zaGlmdCgpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmZpcnN0UmVxdWVzdCAmJiAhdGhpcy5pc1JlcXVlc3RBbGxvd2VkKCkpIHtcbiAgICAgICAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgY29uc3QgZnV0dXJlID0gdGhpcy5mcm96ZW5BdCArIHRoaXMuaW50ZXJ2YWw7XG4gICAgICAgIGF3YWl0IGRlbGF5KGZ1dHVyZSA+IG5vdyA/IGZ1dHVyZSAtIG5vdyA6IDEwMDApO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVxdWVzdCA9IHRoaXMucGVuZGluZ1swXTtcbiAgICAgIGlmIChyZXF1ZXN0KSB7XG4gICAgICAgIGNvbnN0IGJhc2ljVVJMID0gdGhpcy5yZXN0LnNpbXBsaWZ5VXJsKHJlcXVlc3Qucm91dGUsIHJlcXVlc3QubWV0aG9kKTtcblxuICAgICAgICAvLyBJZiB0aGlzIHVybCBpcyBzdGlsbCByYXRlIGxpbWl0ZWQsIHRyeSBhZ2FpblxuICAgICAgICBjb25zdCB1cmxSZXNldEluID0gdGhpcy5yZXN0LmNoZWNrUmF0ZUxpbWl0cyhiYXNpY1VSTCwgdGhpcy5pZGVudGlmaWVyKTtcbiAgICAgICAgaWYgKHVybFJlc2V0SW4pIGF3YWl0IGRlbGF5KHVybFJlc2V0SW4pO1xuXG4gICAgICAgIC8vIElGIEEgQlVDS0VUIEVYSVNUUywgQ0hFQ0sgVEhFIEJVQ0tFVCdTIFJBVEUgTElNSVRTXG4gICAgICAgIGNvbnN0IGJ1Y2tldFJlc2V0SW4gPSByZXF1ZXN0LmJ1Y2tldElkID8gdGhpcy5yZXN0LmNoZWNrUmF0ZUxpbWl0cyhyZXF1ZXN0LmJ1Y2tldElkLCB0aGlzLmlkZW50aWZpZXIpIDogZmFsc2U7XG4gICAgICAgIGlmIChidWNrZXRSZXNldEluKSBhd2FpdCBkZWxheShidWNrZXRSZXNldEluKTtcblxuICAgICAgICB0aGlzLmZpcnN0UmVxdWVzdCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlbWFpbmluZy0tO1xuXG4gICAgICAgIGlmICh0aGlzLnJlbWFpbmluZyA9PT0gMCAmJiB0aGlzLmludGVydmFsICE9PSAwKSB7XG4gICAgICAgICAgdGhpcy50aW1lb3V0SWQgPz89IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZW1haW5pbmcgPSB0aGlzLm1heDtcbiAgICAgICAgICAgIHRoaXMudGltZW91dElkID0gdW5kZWZpbmVkO1xuICAgICAgICAgIH0sIHRoaXMuaW50ZXJ2YWwpLnVucmVmKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBSZW1vdmUgZnJvbSBxdWV1ZSwgd2UgYXJlIGV4ZWN1dGluZyBpdC5cbiAgICAgICAgdGhpcy5wZW5kaW5nLnNoaWZ0KCk7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoaXMgcmVxdWVzdCBpcyBhYmxlIHRvIGJlIG1hZGUgZ2xvYmFsbHlcbiAgICAgICAgYXdhaXQgdGhpcy5yZXN0LmludmFsaWRCdWNrZXQud2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSgpO1xuXG4gICAgICAgIGF3YWl0IHRoaXMucmVzdC5zZW5kUmVxdWVzdChyZXF1ZXN0KS5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgIHRoaXMucmVzdC5sb2dnZXIuZGVidWcoYFF1ZXVlICR7dGhpcy5xdWV1ZVR5cGV9ICR7dGhpcy51cmx9IGVuY291bnRlcmVkIGFuIGVycm9yIHdoZW4gc2VuZGluZyBhIHJlcXVlc3QuYCwgZSk7XG4gICAgICAgICAgcmVxdWVzdC5yZWplY3QoeyBvazogZmFsc2UsIHN0YXR1czogOTk5LCBlcnJvcjogJ1RoZSBxdWV1ZSBlbmNvbnRlcmVkIGFuIHVuZXhwZWN0ZWQgZXJyb3Igc2VuZGluZyBhIHJlcXVlc3QuJywgZXJyb3JPYmplY3Q6IGUgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucmVzdC5sb2dnZXIuZGVidWcoYFF1ZXVlICR7dGhpcy5xdWV1ZVR5cGV9ICR7dGhpcy51cmx9IHByb2Nlc3MgcGVuZGluZyB3aGlsZSBsb29wIGV4aXRlZCB3aXRoICR7dGhpcy5wZW5kaW5nLmxlbmd0aH0uYCk7XG5cbiAgICAvLyBNYXJrIGFzIGZhbHNlIHNvIG5leHQgcGVuZGluZyByZXF1ZXN0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgbmV3IGxvb3AuXG4gICAgdGhpcy5wcm9jZXNzaW5nUGVuZGluZyA9IGZhbHNlO1xuICAgIHRoaXMuY2xlYW51cCgpO1xuICB9XG5cbiAgaGFuZGxlQ29tcGxldGVkUmVxdWVzdChoZWFkZXJzOiB7IG1heD86IG51bWJlcjsgaW50ZXJ2YWw/OiBudW1iZXI7IHJlbWFpbmluZz86IG51bWJlciB9KTogdm9pZCB7XG4gICAgaWYgKGhlYWRlcnMubWF4ID09PSAwKSB7XG4gICAgICB0aGlzLnJlbWFpbmluZysrO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5mcm96ZW5BdCkgdGhpcy5mcm96ZW5BdCA9IERhdGUubm93KCk7XG4gICAgaWYgKGhlYWRlcnMuaW50ZXJ2YWwgIT09IHVuZGVmaW5lZCkgdGhpcy5pbnRlcnZhbCA9IGhlYWRlcnMuaW50ZXJ2YWw7XG4gICAgaWYgKGhlYWRlcnMucmVtYWluaW5nICE9PSB1bmRlZmluZWQpIHRoaXMucmVtYWluaW5nID0gaGVhZGVycy5yZW1haW5pbmc7XG5cbiAgICBpZiAodGhpcy5yZW1haW5pbmcgPD0gMSkge1xuICAgICAgdGhpcy50aW1lb3V0SWQgPz89IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbWFpbmluZyA9IHRoaXMubWF4O1xuICAgICAgICB0aGlzLnRpbWVvdXRJZCA9IHVuZGVmaW5lZDtcbiAgICAgIH0sIGhlYWRlcnMuaW50ZXJ2YWwpLnVucmVmKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqIENoZWNrcyBpZiBhIHJlcXVlc3QgaXMgYXZhaWxhYmxlIGFuZCBhZGRzIGl0IHRvIHRoZSBxdWV1ZS4gQWxzbyB0cmlnZ2VycyBxdWV1ZSBwcm9jZXNzaW5nIGlmIG5vdCBhbHJlYWR5IHByb2Nlc3NpbmcuICovXG4gIGFzeW5jIG1ha2VSZXF1ZXN0KG9wdGlvbnM6IFNlbmRSZXF1ZXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHNpZ25hbCA9IG9wdGlvbnMucmVxdWVzdEJvZHlPcHRpb25zPy5zaWduYWw7XG5cbiAgICBhd2FpdCB0aGlzLndhaXRVbnRpbFJlcXVlc3RBdmFpbGFibGUoc2lnbmFsKTtcblxuICAgIC8vIFRoZSBjYWxsZXIgZ2F2ZSB1cCB3aGlsZSB0aGlzIHdhcyB3YWl0aW5nIGZvciBhIHNsb3QsIGl0IGhhcyBhbHJlYWR5IGJlZW4gcmVqZWN0ZWQgYW5kIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCB0byBzZW5kLlxuICAgIGlmIChzaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgIHRoaXMuY2xlYW51cCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGVuZGluZy5wdXNoKG9wdGlvbnMpO1xuICAgIHRoaXMucHJvY2Vzc1BlbmRpbmcoKTtcbiAgfVxuXG4gIC8qKiBDbGVhbnMgdXAgdGhlIHF1ZXVlIGJ5IGNoZWNraW5nIGlmIHRoZXJlIGlzIG5vdGhpbmcgbGVmdCBhbmQgcmVtb3ZpbmcgaXQuICovXG4gIGNsZWFudXAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzUXVldWVDbGVhcmFibGUoKSkge1xuICAgICAgdGhpcy5wcm9jZXNzUGVuZGluZygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVzdC5sb2dnZXIuZGVidWcoYFtRdWV1ZV0gJHt0aGlzLnF1ZXVlVHlwZX0gJHt0aGlzLnVybH0uIERlbGF5aW5nIGRlbGV0ZSBmb3IgJHt0aGlzLmRlbGV0ZVF1ZXVlRGVsYXl9bXNgKTtcblxuICAgIC8vIERlbGV0ZSBpbiBhIG1pbnV0ZSBnaXZpbmcgYSBiaXQgb2YgdGltZSB0byBhbGxvdyBuZXcgcmVxdWVzdHMgdGhhdCBtYXkgcmV1c2UgdGhpcyBxdWV1ZVxuICAgIGNsZWFyVGltZW91dCh0aGlzLmRlbGV0ZVF1ZXVlVGltZW91dCk7XG4gICAgdGhpcy5kZWxldGVRdWV1ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5pc1F1ZXVlQ2xlYXJhYmxlKCkpIHtcbiAgICAgICAgdGhpcy5yZXN0LmxvZ2dlci5kZWJ1ZyhgW1F1ZXVlXSAke3RoaXMucXVldWVUeXBlfSAke3RoaXMudXJsfS4gaXMgbm90IGNsZWFyYWJsZS4gUmVzdGFydGluZyBwcm9jZXNzaW5nIG9mIHF1ZXVlLmApO1xuICAgICAgICB0aGlzLnByb2Nlc3NQZW5kaW5nKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5yZXN0LmxvZ2dlci5kZWJ1ZyhgW1F1ZXVlXSAke3RoaXMucXVldWVUeXBlfSAke3RoaXMudXJsfS4gRGVsZXRpbmdgKTtcblxuICAgICAgaWYgKHRoaXMudGltZW91dElkKSBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SWQpO1xuXG4gICAgICAvLyBObyByZXF1ZXN0cyBoYXZlIGJlZW4gcmVxdWVzdGVkIGZvciB0aGlzIHF1ZXVlIHNvIHdlIG51a2UgdGhpcyBxdWV1ZVxuICAgICAgdGhpcy5yZXN0LnF1ZXVlcy5kZWxldGUoYCR7dGhpcy5pZGVudGlmaWVyfSR7dGhpcy51cmx9YCk7XG4gICAgICB0aGlzLnJlc3QubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgW1F1ZXVlXSAke3RoaXMucXVldWVUeXBlfSAke3RoaXMudXJsfS4gRGVsZXRlZCEgUmVtYWluaW5nOiAoJHt0aGlzLnJlc3QucXVldWVzLnNpemV9KWAsXG4gICAgICAgIFsuLi50aGlzLnJlc3QucXVldWVzLnZhbHVlcygpXS5tYXAoKHF1ZXVlKSA9PiBgJHtxdWV1ZS5xdWV1ZVR5cGV9JHtxdWV1ZS51cmx9YCksXG4gICAgICApO1xuICAgIH0sIHRoaXMuZGVsZXRlUXVldWVEZWxheSkudW5yZWYoKTtcbiAgfVxuXG4gIC8qKiBTaW1wbHkgY2hlY2tzIGlmIHRoZSBxdWV1ZSBpcyBhYmxlIHRvIGJlIGNsZWFyZWQgb3IgaXQgaGFzIHJlcXVlc3RzIHBlbmRpbmcuICovXG4gIGlzUXVldWVDbGVhcmFibGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXMuZmlyc3RSZXF1ZXN0KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMud2FpdGluZy5sZW5ndGggPiAwKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucGVuZGluZy5sZW5ndGggPiAwKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHRoaXMucHJvY2Vzc2luZykgcmV0dXJuIGZhbHNlO1xuICAgIGlmICh0aGlzLnByb2Nlc3NpbmdQZW5kaW5nKSByZXR1cm4gZmFsc2U7XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGdldCBxdWV1ZVR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pZGVudGlmaWVyLnNsaWNlKDAsIHRoaXMuaWRlbnRpZmllci5pbmRleE9mKCcgJykpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVldWVPcHRpb25zIHtcbiAgLyoqIEhvdyBtYW55IHJlcXVlc3RzIGFyZSByZW1haW5pbmcuIERlZmF1bHRzIHRvIDEgKi9cbiAgcmVtYWluaW5nPzogbnVtYmVyO1xuICAvKiogTWF4IG51bWJlciBvZiByZXF1ZXN0cyBhbGxvd2VkIGluIHRoaXMgdGhpcy4gRGVmYXVsdHMgdG8gMS4gKi9cbiAgbWF4PzogbnVtYmVyO1xuICAvKiogVGhlIHRpbWUgaW4gbWlsbGlzZWNvbmRzIHRoYXQgZGlzY29yZCBhbGxvd3MgdG8gbWFrZSB0aGUgbWF4IG51bWJlciBvZiBpbnZhbGlkIHJlcXVlc3RzLiBEZWZhdWx0cyB0byAwICovXG4gIGludGVydmFsPzogbnVtYmVyO1xuICAvKiogdGltZXIgdG8gcmVzZXQgdG8gMCAqL1xuICB0aW1lb3V0SWQ/OiBOb2RlSlMuVGltZW91dDtcbiAgLyoqIFRoZSB1cmwgdGhpcyBxdWV1ZSB3aWxsIGJlIGhhbmRsaW5nLiAqL1xuICB1cmw6IHN0cmluZztcbiAgLyoqIFRoZSB0aW1lIGluIG1pbGxpc2Vjb25kcyB0byB3YWl0IGJlZm9yZSBkZWxldGluZyB0aGlzIHF1ZXVlIGlmIGl0IGlzIGVtcHR5LiBEZWZhdWx0cyB0byA2MDAwMChvbmUgbWludXRlKS4gKi9cbiAgZGVsZXRlUXVldWVEZWxheT86IG51bWJlcjtcbiAgLyoqIFRoZSBiYXNlIGtleSB0aGF0IGlkZW50aWZpZXMgdGhpcyBxdWV1ZSBpbiB0aGUgcmVzdCBtYW5hZ2VyICovXG4gIGlkZW50aWZpZXI6IHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJzZXRUaW1lb3V0IiwiZGVsYXkiLCJRdWV1ZSIsInJlc3QiLCJvcHRpb25zIiwicmVtYWluaW5nIiwibWF4IiwiaW50ZXJ2YWwiLCJ3YWl0aW5nIiwicGVuZGluZyIsInByb2Nlc3NpbmciLCJwcm9jZXNzaW5nUGVuZGluZyIsImZpcnN0UmVxdWVzdCIsImZyb3plbkF0IiwiZGVsZXRlUXVldWVEZWxheSIsInVybCIsImlkZW50aWZpZXIiLCJ0aW1lb3V0SWQiLCJpc1JlcXVlc3RBbGxvd2VkIiwid2FpdFVudGlsUmVxdWVzdEF2YWlsYWJsZSIsInNpZ25hbCIsIlByb21pc2UiLCJyZXNvbHZlIiwic3RvcFdhaXRpbmciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25BYm9ydCIsImluZGV4IiwiaW5kZXhPZiIsInNwbGljZSIsInB1c2giLCJhZGRFdmVudExpc3RlbmVyIiwib25jZSIsInByb2Nlc3NXYWl0aW5nIiwibGVuZ3RoIiwibG9nZ2VyIiwiZGVidWciLCJxdWV1ZVR5cGUiLCJzaGlmdCIsImNsZWFudXAiLCJwcm9jZXNzUGVuZGluZyIsInJlcXVlc3RCb2R5T3B0aW9ucyIsImFib3J0ZWQiLCJub3ciLCJEYXRlIiwiZnV0dXJlIiwicmVxdWVzdCIsImJhc2ljVVJMIiwic2ltcGxpZnlVcmwiLCJyb3V0ZSIsIm1ldGhvZCIsInVybFJlc2V0SW4iLCJjaGVja1JhdGVMaW1pdHMiLCJidWNrZXRSZXNldEluIiwiYnVja2V0SWQiLCJ1bmRlZmluZWQiLCJ1bnJlZiIsImludmFsaWRCdWNrZXQiLCJzZW5kUmVxdWVzdCIsImNhdGNoIiwiZSIsInJlamVjdCIsIm9rIiwic3RhdHVzIiwiZXJyb3IiLCJlcnJvck9iamVjdCIsImhhbmRsZUNvbXBsZXRlZFJlcXVlc3QiLCJoZWFkZXJzIiwibWFrZVJlcXVlc3QiLCJpc1F1ZXVlQ2xlYXJhYmxlIiwiY2xlYXJUaW1lb3V0IiwiZGVsZXRlUXVldWVUaW1lb3V0IiwicXVldWVzIiwiZGVsZXRlIiwic2l6ZSIsInZhbHVlcyIsIm1hcCIsInF1ZXVlIiwic2xpY2UiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFVBQVUsUUFBUSxjQUFjO0FBQ3pDLFNBQVNDLEtBQUssUUFBUSxvQkFBb0I7QUFHMUMsT0FBTyxNQUFNQztJQXFDWCxZQUFZQyxJQUFpQixFQUFFQyxPQUFxQixDQUFFO1FBbEN0RCwrREFBK0QsUUFDL0RDLFlBQW9CO1FBQ3BCLCtDQUErQyxRQUMvQ0MsTUFBYztRQUNkLG1GQUFtRixRQUNuRkMsV0FBbUI7UUFHbkIsNkNBQTZDLFFBQzdDQyxVQUE0RCxFQUFFO1FBQzlELDZDQUE2QyxRQUM3Q0MsVUFBZ0MsRUFBRTtRQUNsQyw0REFBNEQsUUFDNURDLGFBQXNCO1FBQ3RCLDREQUE0RCxRQUM1REMsb0JBQTZCO1FBQzdCLDBDQUEwQyxRQUMxQ0MsZUFBd0I7UUFHeEIsbUZBQW1GLFFBQ25GQyxXQUFtQjtRQUNuQiwrR0FBK0csUUFDL0dDLG1CQUEyQjtRQVl6QixJQUFJLENBQUNYLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNZLEdBQUcsR0FBR1gsUUFBUVcsR0FBRztRQUN0QixJQUFJLENBQUNDLFVBQVUsR0FBR1osUUFBUVksVUFBVTtRQUVwQyxJQUFJWixRQUFRRyxRQUFRLEVBQUUsSUFBSSxDQUFDQSxRQUFRLEdBQUdILFFBQVFHLFFBQVE7UUFDdEQsSUFBSUgsUUFBUUUsR0FBRyxFQUFFLElBQUksQ0FBQ0EsR0FBRyxHQUFHRixRQUFRRSxHQUFHO1FBQ3ZDLElBQUlGLFFBQVFDLFNBQVMsRUFBRSxJQUFJLENBQUNBLFNBQVMsR0FBR0QsUUFBUUMsU0FBUztRQUN6RCxJQUFJRCxRQUFRYSxT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
package/dist/types.d.ts CHANGED
@@ -39,6 +39,25 @@ export interface CreateRestManagerOptions {
39
39
  * This value is actually required if you want to use `updateTokenQueues`
40
40
  */
41
41
  updateBearerTokenEndpoint?: string;
42
+ /**
43
+ * Whether an attempt that failed without producing a response should be re-sent to the proxy.
44
+ *
45
+ * @remarks
46
+ * This covers both an attempt that hit {@link CreateRestManagerOptions.requestTimeout | requestTimeout} and one whose
47
+ * connection failed. Neither tells us whether the proxy got the request: the timeout only aborts our side of the
48
+ * connection while the proxy keeps processing (it may simply be queued behind a rate limit), and a socket that dies
49
+ * once the request is on the wire may still have delivered it. `fetch` gives no way to tell those apart from never
50
+ * having connected at all, so re-sending can execute non-idempotent requests twice (e.g. duplicate channel creates).
51
+ *
52
+ * Only enable this when re-sending a request to your proxy is safe, for example by attaching an idempotency
53
+ * key to each request that the proxy tracks in a store of your choosing (in memory, redis, ...) so a
54
+ * re-sent request is recognized and executed only once. Discordeno does not provide such a mechanism.
55
+ *
56
+ * Bounded by {@link RestManager.maxRetryCount} and {@link RestManager.maxProxyRetryCount}.
57
+ *
58
+ * @default false
59
+ */
60
+ retryRequests?: boolean;
42
61
  };
43
62
  /**
44
63
  * The api versions which can be used to make requests.
@@ -57,8 +76,13 @@ export interface CreateRestManagerOptions {
57
76
  *
58
77
  * @remarks
59
78
  * This is a total deadline for each attempt (it also covers reading the response body), not a per-chunk timeout.
60
- * When an attempt times out it is retried through the queue up to {@link RestManager.maxRetryCount} times before failing.
61
- * Without it, a connection that stalls after connecting could keep a queue from ever progressing.
79
+ * When talking to Discord directly, a timed-out attempt is retried through the queue up to
80
+ * {@link RestManager.maxRetryCount} times before failing. Without it, a connection that stalls after connecting
81
+ * could keep a queue from ever progressing.
82
+ *
83
+ * When a `proxy` is configured, a timed-out attempt is NOT retried: the proxy keeps processing the request after
84
+ * the timeout aborts our side of the connection (it may simply be queued behind a rate limit), so re-sending it
85
+ * could execute it twice. If re-sending against your proxy is safe, `proxy.retryRequests` opts back into it.
62
86
  *
63
87
  * Because it is a total deadline rather than a per-chunk one, a slow but healthy request (e.g. uploading a
64
88
  * large attachment over a slow connection) can legitimately exceed it and be aborted/retried. Raise this value
@@ -95,9 +119,36 @@ export interface RestManager {
95
119
  authorizationHeader: string;
96
120
  /** The endpoint to use for `updateTokenQueues` when working with a rest proxy */
97
121
  updateBearerTokenEndpoint?: string;
122
+ /** Whether a proxied attempt that failed without producing a response is re-sent to the proxy. Only safe when re-sending against the proxy is. Defaults to false. */
123
+ retryProxiedRequests: boolean;
98
124
  /** The maximum amount of times a request should be retried. Defaults to Infinity */
99
125
  maxRetryCount: number;
100
- /** The maximum time in milliseconds a single request attempt may take before it is aborted and retried. Defaults to 30000 (30 seconds). Set to 0 to disable. */
126
+ /**
127
+ * The maximum amount of times a proxied request should be re-sent. Defaults to 15.
128
+ *
129
+ * @remarks
130
+ * This has its own limit because {@link RestManager.maxRetryCount} is Infinity by default, which would keep every request alive for as
131
+ * long as the proxy stays down.
132
+ *
133
+ * Each further attempt waits {@link RestManager.proxyRetryDelayStep} longer than the one before it, so the defaults span about 30 seconds
134
+ * in total, enough to sit out a proxy being restarted or redeployed.
135
+ *
136
+ * Whichever of the two is lower applies. Only used when {@link RestManager.retryProxiedRequests} is enabled.
137
+ */
138
+ maxProxyRetryCount: number;
139
+ /**
140
+ * How much longer to wait before each further re-send to a proxy, in milliseconds. Defaults to 250.
141
+ *
142
+ * @remarks
143
+ * The nth attempt waits n times this (250ms, then 500ms, then 750ms, ...), so a proxy that is down isn't hammered in a tight loop while
144
+ * still being checked often enough to notice it coming back.
145
+ *
146
+ * An attempt that timed out already sat out {@link RestManager.requestTimeout}, so it is re-sent right away without this delay.
147
+ *
148
+ * Only used when {@link RestManager.retryProxiedRequests} is enabled.
149
+ */
150
+ proxyRetryDelayStep: number;
151
+ /** The maximum time in milliseconds a single request attempt may take before it is aborted. Timed-out attempts are only retried when talking to Discord directly, or through a proxy when `retryProxiedRequests` is enabled. Defaults to 30000 (30 seconds). Set to 0 to disable. */
101
152
  requestTimeout: number;
102
153
  /** Whether or not the manager is rate limited globally across all requests. Defaults to false. */
103
154
  globallyRateLimited: boolean;
@@ -128,6 +179,8 @@ export interface RestManager {
128
179
  changeToDiscordFormat: (obj: any) => any;
129
180
  /** Creates the request body and headers that are necessary to send a request. Will handle different types of methods and everything necessary for discord. */
130
181
  createRequestBody: (method: RequestMethods, options?: CreateRequestBodyOptions) => RequestBody;
182
+ /** Fills in the message and the cause of the error that is given to the user when a request fails. The error itself is created by the caller because of how stack traces get calculated. */
183
+ createRequestError: (error: Error, reason: RestRequestRejection) => Error;
131
184
  /** This will create a infinite loop running in 1 seconds using tail recursion to keep rate limits clean. When a rate limit resets, this will remove it so the queue can proceed. */
132
185
  processRateLimitedPaths: () => void;
133
186
  /** Processes the rate limit headers and determines if it needs to be rate limited and returns the bucket id if available */
@@ -3183,6 +3236,17 @@ export interface CreateRequestBodyOptions {
3183
3236
  unauthorized?: boolean;
3184
3237
  reason?: string;
3185
3238
  files?: FileContent[];
3239
+ /**
3240
+ * An `AbortSignal` to cancel the request.
3241
+ *
3242
+ * @remarks
3243
+ * Aborting rejects a request that is still waiting in the queue right away and guarantees it is never sent.
3244
+ * An attempt that is already in flight gets its connection cancelled as well, though that cannot recall it:
3245
+ * Discord (or the proxy) may have received it and may still process it, only the response is discarded.
3246
+ * This lets a rest proxy drop requests that nobody is waiting on anymore (client disconnect, deadline)
3247
+ * instead of leaving them in the queue.
3248
+ */
3249
+ signal?: AbortSignal;
3186
3250
  }
3187
3251
  export type MakeRequestOptions = Omit<CreateRequestBodyOptions, 'method'> & Pick<SendRequestOptions, 'runThroughQueue'>;
3188
3252
  export interface RequestBody {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}