@kaspernj/api-maker 1.0.2097 → 1.0.2100

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.
@@ -1 +1 @@
1
- {"version":3,"file":"can-can.d.ts","sourceRoot":"/src/","sources":["can-can.js"],"names":[],"mappings":"AASA;IAiBE,sBAIC;IApBD,iBAAc;IACd,uBAAoB;IACpB,2BAAwB;IACxB,4BAAuB;IACvB,iBAAY;IACZ,qBAAgB;IAChB,gCAA4B;IAC5B,6BAA8B;IAC9B,8BAA0B;IAC1B,kBAAmB;IACnB,yBAA0B;IAC1B,2CAA2B;IAC3B,wBAA8B;IAC9B,+BAA2B;IAC3B,sBAAuB;IAQvB,mDAsBC;IAED,uDAYC;IAED,kCAIC;IAED,iCAeC;IAED,6CAKC;IAED,qDAEC;IAED,uBAEC;IAED,sBAEC;IAED,yCAQC;IAED,uBAEC;IAED,6BAIC;IAED,6CAyCC;IAED,sDAsBC;IAED,8BAIC;IADC,6CAA4E;IAG9E,+BA0BC;IAED,8DA2BC;IAED,0CAyEC;IAED,2CAUC;IAED,+CAOC;IAED,+BAoBC;IAED,4CAIC;CACF;6BA/X0B,eAAe;kCACV,YAAY"}
1
+ {"version":3,"file":"can-can.d.ts","sourceRoot":"/src/","sources":["can-can.js"],"names":[],"mappings":"AASA;IAiBE,sBAIC;IApBD,iBAAc;IACd,uBAAoB;IACpB,2BAAwB;IACxB,4BAAuB;IACvB,iBAAY;IACZ,qBAAgB;IAChB,gCAA4B;IAC5B,6BAA8B;IAC9B,8BAA0B;IAC1B,kBAAmB;IACnB,yBAA0B;IAC1B,2CAA2B;IAC3B,wBAA8B;IAC9B,+BAA2B;IAC3B,sBAAuB;IAQvB,mDAsBC;IAED,uDAYC;IAED,kCAIC;IAED,iCAeC;IAED,6CAKC;IAED,qDAEC;IAED,uBAEC;IAED,sBAEC;IAED,yCAQC;IAED,uBAEC;IAED,6BAIC;IAED,6CAyCC;IAED,sDAsBC;IAED,8BAIC;IADC,6CAA4E;IAG9E,+BA0BC;IAED,8DA2BC;IAED,0CA2EC;IAED,2CAUC;IAED,+CAOC;IAED,+BAoBC;IAED,4CAIC;CACF;6BAjY0B,eAAe;kCACV,YAAY"}
package/build/can-can.js CHANGED
@@ -239,10 +239,11 @@ export default class ApiMakerCanCan {
239
239
  try {
240
240
  const result = await Services.current().sendRequest("CanCan::LoadAbilities", {
241
241
  request: abilitiesToLoadData
242
- }, { instant: true });
243
- const responseAbilities = digg(result, "abilities");
244
- if (Array.isArray(responseAbilities))
245
- abilities = responseAbilities;
242
+ });
243
+ abilities = digg(result, "abilities");
244
+ if (!Array.isArray(abilities)) {
245
+ throw new Error(`Expected CanCan::LoadAbilities response abilities to be an array, got: ${typeof abilities}`);
246
+ }
246
247
  }
247
248
  catch (error) {
248
249
  didFail = true;
@@ -330,4 +331,4 @@ export default class ApiMakerCanCan {
330
331
  Promise.reject(error);
331
332
  }
332
333
  }
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNhbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiY2FuLWNhbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0FBRWpCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNqQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ2QsZUFBZSxHQUFHLEVBQUUsQ0FBQTtJQUNwQixtQkFBbUIsR0FBRyxFQUFFLENBQUE7SUFDeEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZCLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDWixZQUFZLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDNUIsdUJBQXVCLEdBQUcsSUFBSSxDQUFBO0lBQzlCLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQzFCLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDbkIsbUJBQW1CLEdBQUcsSUFBSSxDQUFBO0lBQzFCLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBQzNCLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUE7SUFDOUIsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDM0IsV0FBVyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFFdkIsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQjtZQUFFLE1BQU0sQ0FBQyxxQkFB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QU8sT0FBTyxDQUFDLElBQUksQ0FBQTtRQUNyQixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRUQseUJBQXlCLENBQUUsS0FBSztRQUM5QixJQUFJLENBQUMsS0FBSztZQUFFLE9BQU07UUFFbEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN2QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHtFdmVudEVtaXR0ZXJ9IGZyb20gXCJldmVudGVtaXR0ZXIzXCJcbmltcG9ydCB7UmVhZGVyc1dyaXRlckxvY2t9IGZyb20gXCJlcGljLWxvY2tzXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgU2VydmljZXMgZnJvbSBcIi4vc2VydmljZXMuanNcIlxuXG5jb25zdCBzaGFyZWQgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlckNhbkNhbiB7XG4gIGFiaWxpdGllcyA9IFtdXG4gIGFiaWxpdGllc1RvTG9hZCA9IFtdXG4gIGFiaWxpdGllc1RvTG9hZERhdGEgPSBbXVxuICBhYmlsaXRpZXNHZW5lcmF0aW9uID0gMFxuICBjYWNoZUtleSA9IDBcbiAgbG9hZGluZ0NvdW50ID0gMFxuICBtaXNzaW5nQWJpbGl0aWVzID0gbmV3IE1hcCgpXG4gIG1pc3NpbmdBYmlsaXRpZXNUaW1lb3V0ID0gbnVsbFxuICByZWxvYWRQcm9taXNlcyA9IG5ldyBNYXAoKVxuICByZXNldFByb21pc2UgPSBudWxsXG4gIHJlc2V0dGluZ0dlbmVyYXRpb24gPSBudWxsXG4gIGV2ZW50cyA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBsb2NrID0gbmV3IFJlYWRlcnNXcml0ZXJMb2NrKClcbiAgYWJpbGl0aWVzQnlOYW1lID0gbmV3IE1hcCgpXG4gIGRlYnVnVG9rZW5zID0gbmV3IFNldCgpXG5cbiAgc3RhdGljIGN1cnJlbnQgKCkge1xuICAgIGlmICghc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNhbkNhbikgc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNhbkNhbiA9IG5ldyBBcGlNYWtlckNhbkNhbigpXG5cbiAgICByZXR1cm4gc2hhcmVkLmN1cnJlbnRBcGlNYWtlckNhbkNhblxuICB9XG5cbiAgY2FuIChhYmlsaXR5LCBzdWJqZWN0LCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBmb3VuZEFiaWxpdHkgPSB0aGlzLmZpbmRBYmlsaXR5KGFiaWxpdHksIHN1YmplY3QpXG5cbiAgICBpZiAoZm91bmRBYmlsaXR5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRBYmlsaXR5ID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpXG4gICAgICB0aGlzLnJlY29yZE1pc3NpbmdBYmlsaXR5KG5vcm1hbGl6ZWRBYmlsaXR5LCBzdWJqZWN0KVxuXG4gICAgICBpZiAob3B0aW9ucy5kZWJ1Zykge1xuICAgICAgICBsZXQgc3ViamVjdExhYmVsID0gc3ViamVjdFxuXG4gICAgICAgIC8vIFRyYW5zbGF0ZSByZXNvdXJjZS1tb2RlbHMgaW50byBjbGFzcyBuYW1lIHN0cmluZ3NcbiAgICAgICAgaWYgKHR5cGVvZiBzdWJqZWN0ID09IFwiZnVuY3Rpb25cIiAmJiBzdWJqZWN0Lm1vZGVsQ2xhc3NEYXRhKSB7XG4gICAgICAgICAgc3ViamVjdExhYmVsID0gZGlnZyhzdWJqZWN0Lm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc29sZS5lcnJvcihgQWJpbGl0eSBub3QgbG9hZGVkICR7c3ViamVjdExhYmVsfSMke25vcm1hbGl6ZWRBYmlsaXR5fWAsIHthYmlsaXRpZXM6IHRoaXMuYWJpbGl0aWVzLCBhYmlsaXR5LCBzdWJqZWN0fSlcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRpZ2coZm91bmRBYmlsaXR5LCBcImNhblwiKVxuICAgIH1cbiAgfVxuXG4gIHJlY29yZE1pc3NpbmdBYmlsaXR5IChhYmlsaXR5LCBzdWJqZWN0KSB7XG4gICAgbGV0IG1pc3NpbmdBYmlsaXR5U2V0ID0gdGhpcy5taXNzaW5nQWJpbGl0aWVzLmdldChzdWJqZWN0KVxuXG4gICAgaWYgKCFtaXNzaW5nQWJpbGl0eVNldCkge1xuICAgICAgbWlzc2luZ0FiaWxpdHlTZXQgPSBuZXcgU2V0KClcbiAgICAgIHRoaXMubWlzc2luZ0FiaWxpdGllcy5zZXQoc3ViamVjdCwgbWlzc2luZ0FiaWxpdHlTZXQpXG4gICAgfVxuXG4gICAgaWYgKG1pc3NpbmdBYmlsaXR5U2V0LmhhcyhhYmlsaXR5KSkgcmV0dXJuXG5cbiAgICBtaXNzaW5nQWJpbGl0eVNldC5hZGQoYWJpbGl0eSlcbiAgICB0aGlzLnF1ZXVlTWlzc2luZ0FiaWxpdGllc0xvYWQoKVxuICB9XG5cbiAgcXVldWVNaXNzaW5nQWJpbGl0aWVzTG9hZCAoKSB7XG4gICAgaWYgKHRoaXMubWlzc2luZ0FiaWxpdGllc1RpbWVvdXQpIHJldHVyblxuXG4gICAgdGhpcy5taXNzaW5nQWJpbGl0aWVzVGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5sb2FkTWlzc2luZ0FiaWxpdGllcywgMClcbiAgfVxuXG4gIGxvYWRNaXNzaW5nQWJpbGl0aWVzID0gKCkgPT4ge1xuICAgIGNvbnN0IG1pc3NpbmdBYmlsaXRpZXMgPSB0aGlzLm1pc3NpbmdBYmlsaXRpZXNcblxuICAgIHRoaXMubWlzc2luZ0FiaWxpdGllcyA9IG5ldyBNYXAoKVxuICAgIHRoaXMubWlzc2luZ0FiaWxpdGllc1RpbWVvdXQgPSBudWxsXG5cbiAgICBjb25zdCBhYmlsaXRpZXNUb0xvYWQgPSBbXVxuXG4gICAgZm9yIChjb25zdCBbc3ViamVjdCwgYWJpbGl0aWVzXSBvZiBtaXNzaW5nQWJpbGl0aWVzLmVudHJpZXMoKSkge1xuICAgICAgYWJpbGl0aWVzVG9Mb2FkLnB1c2goW3N1YmplY3QsIEFycmF5LmZyb20oYWJpbGl0aWVzKV0pXG4gICAgfVxuXG4gICAgaWYgKGFiaWxpdGllc1RvTG9hZC5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzVG9Mb2FkKVxuICAgIH1cbiAgfVxuXG4gIGZpbmRBYmlsaXR5IChhYmlsaXR5LCBzdWJqZWN0KSB7XG4gICAgY29uc3QgYWJpbGl0eUtleSA9IHRoaXMuYWJpbGl0eUtleShhYmlsaXR5LCBzdWJqZWN0KVxuICAgIGlmICghYWJpbGl0eUtleSkgcmV0dXJuIHVuZGVmaW5lZFxuXG4gICAgcmV0dXJuIHRoaXMuYWJpbGl0aWVzQnlOYW1lLmdldChhYmlsaXR5S2V5KVxuICB9XG5cbiAgaXNBYmlsaXR5TG9hZGVkIChhYmlsaXR5LCBzdWJqZWN0KSB7XG4gICAgcmV0dXJuIHRoaXMuZmluZEFiaWxpdHkoYWJpbGl0eSwgc3ViamVjdCkgIT09IHVuZGVmaW5lZFxuICB9XG5cbiAgaXNSZWxvYWRpbmcgKCkge1xuICAgIHJldHVybiB0aGlzLmxvYWRpbmdDb3VudCA+IDAgfHwgdGhpcy5yZXNldHRpbmdHZW5lcmF0aW9uICE9PSBudWxsXG4gIH1cblxuICBnZXRDYWNoZUtleSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVLZXlcbiAgfVxuXG4gIHNldERlYnVnICh0b2tlbiwgZW5hYmxlZCkge1xuICAgIGlmICghdG9rZW4pIHJldHVyblxuXG4gICAgaWYgKGVuYWJsZWQpIHtcbiAgICAgIHRoaXMuZGVidWdUb2tlbnMuYWRkKHRva2VuKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlYnVnVG9rZW5zLmRlbGV0ZSh0b2tlbilcbiAgICB9XG4gIH1cblxuICBpc0RlYnVnZ2luZyAoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVidWdUb2tlbnMuc2l6ZSA+IDBcbiAgfVxuXG4gIGRlYnVnTG9nIChtZXNzYWdlKSB7XG4gICAgaWYgKHRoaXMuaXNEZWJ1Z2dpbmcoKSkge1xuICAgICAgY29uc29sZS5sb2cobWVzc2FnZSlcbiAgICB9XG4gIH1cblxuICBhc3luYyBsb2FkQWJpbGl0aWVzIChhYmlsaXRpZXMpIHtcbiAgICBjb25zdCBnZW5lcmF0aW9uID0gdGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9uXG4gICAgY29uc3QgbG9hZFN1bW1hcnkgPSBbXG4gICAgICBcIltjYW4tY2FuLWRlYnVnXSBsb2FkQWJpbGl0aWVzOnN0YXJ0XCIsXG4gICAgICBgZ2VuZXJhdGlvbj0ke2dlbmVyYXRpb259YCxcbiAgICAgIGByZXF1ZXN0cz0ke2FiaWxpdGllcy5sZW5ndGh9YFxuICAgIF0uam9pbihcIjsgXCIpXG4gICAgdGhpcy5kZWJ1Z0xvZyhsb2FkU3VtbWFyeSlcblxuICAgIHRoaXMubG9hZGluZ0NvdW50ICs9IDFcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmxvY2sucmVhZChhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gW11cblxuICAgICAgICBmb3IgKGNvbnN0IGFiaWxpdHlEYXRhIG9mIGFiaWxpdGllcykge1xuICAgICAgICAgIGNvbnN0IHN1YmplY3QgPSBhYmlsaXR5RGF0YVswXVxuXG4gICAgICAgICAgaWYgKCFzdWJqZWN0KSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3ViamVjdCBnaXZlbiBpbiBhYmlsaXRpZXM6ICR7c3ViamVjdH0gLSAke0pTT04uc3RyaW5naWZ5KGFiaWxpdGllcyl9YClcbiAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoYWJpbGl0eURhdGFbMV0pKSB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIGFuIGFycmF5IG9mIGFiaWxpdGllcyBidXQgZ290OiAke3R5cGVvZiBhYmlsaXR5RGF0YVsxXX06ICR7YWJpbGl0eURhdGFbMV19YClcblxuICAgICAgICAgIGZvciAoY29uc3QgYWJpbGl0eSBvZiBhYmlsaXR5RGF0YVsxXSkge1xuICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMubG9hZEFiaWxpdHkoYWJpbGl0eSwgc3ViamVjdClcblxuICAgICAgICAgICAgcHJvbWlzZXMucHVzaChwcm9taXNlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgICAgfSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgY29uc3QgZG9uZVN1bW1hcnkgPSBbXG4gICAgICAgIFwiW2Nhbi1jYW4tZGVidWddIGxvYWRBYmlsaXRpZXM6ZG9uZVwiLFxuICAgICAgICBgZ2VuZXJhdGlvbj0ke2dlbmVyYXRpb259YCxcbiAgICAgICAgYGN1cnJlbnRHZW5lcmF0aW9uPSR7dGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9ufWAsXG4gICAgICAgIGBsb2FkaW5nQ291bnQ9JHt0aGlzLmxvYWRpbmdDb3VudH1gXG4gICAgICBdLmpvaW4oXCI7IFwiKVxuICAgICAgdGhpcy5kZWJ1Z0xvZyhkb25lU3VtbWFyeSlcbiAgICAgIGlmICh0aGlzLmxvYWRpbmdDb3VudCA+IDApIHRoaXMubG9hZGluZ0NvdW50IC09IDFcbiAgICAgIGlmICh0aGlzLnJlc2V0dGluZ0dlbmVyYXRpb24gPT09IGdlbmVyYXRpb24pIHRoaXMucmVzZXR0aW5nR2VuZXJhdGlvbiA9IG51bGxcbiAgICB9XG4gIH1cblxuICBsb2FkQWJpbGl0eSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZEFiaWxpdHkgPSBpbmZsZWN0aW9uLnVuZGVyc2NvcmUoYWJpbGl0eSlcblxuICAgICAgaWYgKHRoaXMuaXNBYmlsaXR5TG9hZGVkKG5vcm1hbGl6ZWRBYmlsaXR5LCBzdWJqZWN0KSkge1xuICAgICAgICByZXNvbHZlKClcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZvdW5kQWJpbGl0eSA9IHRoaXMuYWJpbGl0aWVzVG9Mb2FkLmZpbmQoKGFiaWxpdHlUb0xvYWQpID0+IGRpZ2coYWJpbGl0eVRvTG9hZCwgXCJhYmlsaXR5XCIpID09IG5vcm1hbGl6ZWRBYmlsaXR5ICYmXG4gICAgICAgIGRpZ2coYWJpbGl0eVRvTG9hZCwgXCJzdWJqZWN0XCIpID09IHN1YmplY3RcbiAgICAgIClcblxuICAgICAgaWYgKGZvdW5kQWJpbGl0eSkge1xuICAgICAgICBmb3VuZEFiaWxpdHkuY2FsbGJhY2tzLnB1c2gocmVzb2x2ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWJpbGl0aWVzVG9Mb2FkLnB1c2goe2FiaWxpdHk6IG5vcm1hbGl6ZWRBYmlsaXR5LCBjYWxsYmFja3M6IFtyZXNvbHZlXSwgc3ViamVjdH0pXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzVG9Mb2FkRGF0YS5wdXNoKHthYmlsaXR5OiBub3JtYWxpemVkQWJpbGl0eSwgc3ViamVjdH0pXG5cbiAgICAgICAgdGhpcy5xdWV1ZUFiaWxpdGllc1JlcXVlc3QoKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBxdWV1ZUFiaWxpdGllc1JlcXVlc3QgKCkge1xuICAgIGlmICh0aGlzLnF1ZXVlQWJpbGl0aWVzUmVxdWVzdFRpbWVvdXQpIHJldHVyblxuXG4gICAgdGhpcy5xdWV1ZUFiaWxpdGllc1JlcXVlc3RUaW1lb3V0ID0gc2V0VGltZW91dCh0aGlzLnNlbmRBYmlsaXRpZXNSZXF1ZXN0LCAwKVxuICB9XG5cbiAgYXN5bmMgcmVzZXRBYmlsaXRpZXMgKCkge1xuICAgIGlmICh0aGlzLnJlc2V0UHJvbWlzZSkgcmV0dXJuIHRoaXMucmVzZXRQcm9taXNlXG5cbiAgICB0aGlzLnJlc2V0UHJvbWlzZSA9IChhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmxvY2sud3JpdGUoKCkgPT4ge1xuICAgICAgICB0aGlzLmFiaWxpdGllcyA9IFtdXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzQnlOYW1lID0gbmV3IE1hcCgpXG4gICAgICAgIHRoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbiArPSAxXG4gICAgICAgIHRoaXMucmVzZXR0aW5nR2VuZXJhdGlvbiA9IHRoaXMuYWJpbGl0aWVzR2VuZXJhdGlvblxuICAgICAgICB0aGlzLmNhY2hlS2V5ICs9IDFcbiAgICAgIH0pXG4gICAgICBjb25zdCByZXNldFN1bW1hcnkgPSBbXG4gICAgICAgIFwiW2Nhbi1jYW4tZGVidWddIHJlc2V0QWJpbGl0aWVzXCIsXG4gICAgICAgIGBnZW5lcmF0aW9uPSR7dGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9ufWAsXG4gICAgICAgIGBjYWNoZUtleT0ke3RoaXMuY2FjaGVLZXl9YCxcbiAgICAgICAgYHF1ZXVlZD0ke3RoaXMuYWJpbGl0aWVzVG9Mb2FkRGF0YS5sZW5ndGh9YFxuICAgICAgXS5qb2luKFwiOyBcIilcbiAgICAgIHRoaXMuZGVidWdMb2cocmVzZXRTdW1tYXJ5KVxuICAgICAgdGhpcy5ldmVudHMuZW1pdChcIm9uUmVzZXRBYmlsaXRpZXNcIilcbiAgICB9KSgpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5yZXNldFByb21pc2VcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5yZXNldFByb21pc2UgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVsb2FkQWJpbGl0aWVzIChhYmlsaXRpZXMsIHJlbG9hZEtleSkge1xuICAgIGlmIChyZWxvYWRLZXkgJiYgdGhpcy5yZWxvYWRQcm9taXNlcy5oYXMocmVsb2FkS2V5KSkge1xuICAgICAgdGhpcy5kZWJ1Z0xvZyhgW2Nhbi1jYW4tZGVidWddIHJlbG9hZEFiaWxpdGllczpkZWR1cGUgcmVsb2FkS2V5PSR7cmVsb2FkS2V5fWApXG4gICAgICByZXR1cm4gdGhpcy5yZWxvYWRQcm9taXNlcy5nZXQocmVsb2FkS2V5KVxuICAgIH1cblxuICAgIGNvbnN0IHJlbG9hZFN1bW1hcnkgPSBbXG4gICAgICBcIltjYW4tY2FuLWRlYnVnXSByZWxvYWRBYmlsaXRpZXM6c3RhcnRcIixcbiAgICAgIGByZWxvYWRLZXk9JHtyZWxvYWRLZXkgfHwgXCJub25lXCJ9YCxcbiAgICAgIGBnZW5lcmF0aW9uPSR7dGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9ufWAsXG4gICAgICBgcmVxdWVzdHM9JHthYmlsaXRpZXMubGVuZ3RofWBcbiAgICBdLmpvaW4oXCI7IFwiKVxuICAgIHRoaXMuZGVidWdMb2cocmVsb2FkU3VtbWFyeSlcblxuICAgIGNvbnN0IHByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5yZXNldEFiaWxpdGllcygpXG4gICAgICBhd2FpdCB0aGlzLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzKVxuICAgIH0pKClcblxuICAgIGlmIChyZWxvYWRLZXkpIHRoaXMucmVsb2FkUHJvbWlzZXMuc2V0KHJlbG9hZEtleSwgcHJvbWlzZSlcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBwcm9taXNlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZGVidWdMb2coYFtjYW4tY2FuLWRlYnVnXSByZWxvYWRBYmlsaXRpZXM6ZG9uZSByZWxvYWRLZXk9JHtyZWxvYWRLZXkgfHwgXCJub25lXCJ9OyBnZW5lcmF0aW9uPSR7dGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9ufWApXG4gICAgICBpZiAocmVsb2FkS2V5KSB0aGlzLnJlbG9hZFByb21pc2VzLmRlbGV0ZShyZWxvYWRLZXkpXG4gICAgfVxuICB9XG5cbiAgc2VuZEFiaWxpdGllc1JlcXVlc3QgPSBhc3luYyAoKSA9PiB7XG4gICAgdGhpcy5xdWV1ZUFiaWxpdGllc1JlcXVlc3RUaW1lb3V0ID0gbnVsbFxuICAgIGNvbnN0IGdlbmVyYXRpb24gPSB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb25cbiAgICBjb25zdCBhYmlsaXRpZXNUb0xvYWQgPSB0aGlzLmFiaWxpdGllc1RvTG9hZFxuICAgIGNvbnN0IGFiaWxpdGllc1RvTG9hZERhdGEgPSB0aGlzLmFiaWxpdGllc1RvTG9hZERhdGFcblxuICAgIHRoaXMuYWJpbGl0aWVzVG9Mb2FkID0gW11cbiAgICB0aGlzLmFiaWxpdGllc1RvTG9hZERhdGEgPSBbXVxuICAgIHRoaXMuZGVidWdMb2coYFtjYW4tY2FuLWRlYnVnXSBzZW5kQWJpbGl0aWVzUmVxdWVzdDpzdGFydCBnZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn07IHF1ZXVlZD0ke2FiaWxpdGllc1RvTG9hZERhdGEubGVuZ3RofWApXG5cbiAgICBsZXQgYWJpbGl0aWVzID0gW11cbiAgICBsZXQgZGlkRmFpbCA9IGZhbHNlXG4gICAgbGV0IHJlcXVlc3RFcnJvclxuXG4gICAgLy8gTG9hZCBhYmlsaXRpZXMgZnJvbSBiYWNrZW5kXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIkNhbkNhbjo6TG9hZEFiaWxpdGllc1wiLCB7XG4gICAgICAgIHJlcXVlc3Q6IGFiaWxpdGllc1RvTG9hZERhdGFcbiAgICAgIH0sIHtpbnN0YW50OiB0cnVlfSlcbiAgICAgIGNvbnN0IHJlc3BvbnNlQWJpbGl0aWVzID0gZGlnZyhyZXN1bHQsIFwiYWJpbGl0aWVzXCIpXG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3BvbnNlQWJpbGl0aWVzKSkgYWJpbGl0aWVzID0gcmVzcG9uc2VBYmlsaXRpZXNcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZGlkRmFpbCA9IHRydWVcbiAgICAgIHJlcXVlc3RFcnJvciA9IGVycm9yXG4gICAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkIHRvIGxvYWQgYWJpbGl0aWVzXCIsIGVycm9yKVxuICAgIH1cblxuICAgIGlmIChnZW5lcmF0aW9uICE9PSB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb24pIHtcbiAgICAgIGNvbnN0IHN0YWxlUmVzcG9uc2VEZWJ1ZyA9IFtcbiAgICAgICAgXCJbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3RhbGUtcmVzcG9uc2VcIixcbiAgICAgICAgYHJlcXVlc3RHZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn1gLFxuICAgICAgICBgY3VycmVudEdlbmVyYXRpb249JHt0aGlzLmFiaWxpdGllc0dlbmVyYXRpb259YCxcbiAgICAgICAgYHJlcXVldWU9JHthYmlsaXRpZXNUb0xvYWQubGVuZ3RofWBcbiAgICAgIF0uam9pbihcIjsgXCIpXG4gICAgICB0aGlzLmRlYnVnTG9nKHN0YWxlUmVzcG9uc2VEZWJ1ZylcbiAgICAgIGZvciAoY29uc3QgYWJpbGl0eURhdGEgb2YgYWJpbGl0aWVzVG9Mb2FkKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgYWJpbGl0eURhdGEuY2FsbGJhY2tzKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQWJpbGl0eShhYmlsaXR5RGF0YS5hYmlsaXR5LCBhYmlsaXR5RGF0YS5zdWJqZWN0KS50aGVuKGNhbGxiYWNrKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChkaWRGYWlsKSB7XG4gICAgICB0aGlzLmRlYnVnTG9nKGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6ZmFpbGVkIGdlbmVyYXRpb249JHtnZW5lcmF0aW9ufTsgcXVldWVkPSR7YWJpbGl0aWVzVG9Mb2FkLmxlbmd0aH1gKVxuICAgICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXNUb0xvYWQpIHtcbiAgICAgICAgZm9yIChjb25zdCBjYWxsYmFjayBvZiBhYmlsaXR5RGF0YS5jYWxsYmFja3MpIHtcbiAgICAgICAgICBjYWxsYmFjaygpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzb2x2ZSBjYWxsYmFja3MgdG8gYXZvaWQgZGVhZGxvY2tzIGZvciB3YWl0ZXJzIGV2ZW4gd2hlbiBsb2FkIGZhaWxlZC5cbiAgICAgIGlmIChyZXF1ZXN0RXJyb3IpIHRoaXMucmVwb3J0VW5oYW5kbGVkQXN5bmNFcnJvcihyZXF1ZXN0RXJyb3IpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIGxvYWRlZCBhYmlsaXRpZXNcbiAgICB0aGlzLmFiaWxpdGllcyA9IHRoaXMuYWJpbGl0aWVzLmNvbmNhdChhYmlsaXRpZXMpXG4gICAgdGhpcy5pbmRleEFiaWxpdGllc0J5TmFtZShhYmlsaXRpZXMpXG4gICAgdGhpcy5jYWNoZUtleSArPSAxXG4gICAgdGhpcy5kZWJ1Z0xvZyhcbiAgICAgIGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3VjY2VzcyBnZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn07IGxvYWRlZD0ke2FiaWxpdGllcy5sZW5ndGh9OyBjYWNoZUtleT0ke3RoaXMuY2FjaGVLZXl9YFxuICAgIClcbiAgICB0aGlzLmV2ZW50cy5lbWl0KFwib25BYmlsaXRpZXNMb2FkZWRcIiwge2NhY2hlS2V5OiB0aGlzLmNhY2hlS2V5fSlcblxuICAgIC8vIENhbGwgdGhlIGNhbGxiYWNrcyB0aGF0IGFyZSB3YWl0aW5nIGZvciB0aGUgYWJpbGl0eSB0byBoYXZlIGJlZW4gbG9hZGVkXG4gICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXNUb0xvYWQpIHtcbiAgICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgYWJpbGl0eURhdGEuY2FsbGJhY2tzKSB7XG4gICAgICAgIGNhbGxiYWNrKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbmRleEFiaWxpdGllc0J5TmFtZSAoYWJpbGl0aWVzKSB7XG4gICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXMpIHtcbiAgICAgIGlmIChhYmlsaXR5RGF0YSAmJiB0eXBlb2YgYWJpbGl0eURhdGEgPT0gXCJvYmplY3RcIikge1xuICAgICAgICBjb25zdCBhYmlsaXR5S2V5ID0gdGhpcy5hYmlsaXR5S2V5KGRpZ2coYWJpbGl0eURhdGEsIFwiYWJpbGl0eVwiKSwgZGlnZyhhYmlsaXR5RGF0YSwgXCJzdWJqZWN0XCIpKVxuXG4gICAgICAgIGlmIChhYmlsaXR5S2V5KSB7XG4gICAgICAgICAgdGhpcy5hYmlsaXRpZXNCeU5hbWUuc2V0KGFiaWxpdHlLZXksIGFiaWxpdHlEYXRhKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWJpbGl0eUtleSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIGlmICghYWJpbGl0eSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHN1YmplY3ROYW1lID0gdGhpcy5zdWJqZWN0TmFtZShzdWJqZWN0KVxuICAgIGlmICghc3ViamVjdE5hbWUpIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gYCR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpfToke3N1YmplY3ROYW1lfWBcbiAgfVxuXG4gIHN1YmplY3ROYW1lIChzdWJqZWN0KSB7XG4gICAgaWYgKCFzdWJqZWN0KSByZXR1cm4gbnVsbFxuXG4gICAgaWYgKHR5cGVvZiBzdWJqZWN0ID09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiBzdWJqZWN0XG4gICAgfVxuXG4gICAgaWYgKHN1YmplY3QubW9kZWxDbGFzc0RhdGEpIHtcbiAgICAgIHJldHVybiBkaWdnKHN1YmplY3QubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgfVxuXG4gICAgaWYgKHN1YmplY3QucmVzb3VyY2VEYXRhKSB7XG4gICAgICByZXR1cm4gZGlnZyhzdWJqZWN0LnJlc291cmNlRGF0YSgpLCBcIm5hbWVcIilcbiAgICB9XG5cbiAgICBpZiAoc3ViamVjdC5uYW1lKSB7XG4gICAgICByZXR1cm4gc3ViamVjdC5uYW1lXG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJlcG9ydFVuaGFuZGxlZEFzeW5jRXJyb3IgKGVycm9yKSB7XG4gICAgaWYgKCFlcnJvcikgcmV0dXJuXG5cbiAgICBQcm9taXNlLnJlamVjdChlcnJvcilcbiAgfVxufVxuIl19
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuLWNhbi5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsiY2FuLWNhbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDNUMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLFFBQVEsTUFBTSxlQUFlLENBQUE7QUFFcEMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0FBRWpCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sY0FBYztJQUNqQyxTQUFTLEdBQUcsRUFBRSxDQUFBO0lBQ2QsZUFBZSxHQUFHLEVBQUUsQ0FBQTtJQUNwQixtQkFBbUIsR0FBRyxFQUFFLENBQUE7SUFDeEIsbUJBQW1CLEdBQUcsQ0FBQyxDQUFBO0lBQ3ZCLFFBQVEsR0FBRyxDQUFDLENBQUE7SUFDWixZQUFZLEdBQUcsQ0FBQyxDQUFBO0lBQ2hCLGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDNUIsdUJBQXVCLEdBQUcsSUFBSSxDQUFBO0lBQzlCLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFBO0lBQzFCLFlBQVksR0FBRyxJQUFJLENBQUE7SUFDbkIsbUJBQW1CLEdBQUcsSUFBSSxDQUFBO0lBQzFCLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBQzNCLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUE7SUFDOUIsZUFBZSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFDM0IsV0FBVyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUE7SUFFdkIsTUFBTSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQjtZQUFFLE1BQU0sQ0FBQyxxQkFB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QUUsQ0FBQztZQUNqQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUE7UUFDckIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVELHlCQUF5QixDQUFFLEtBQUs7UUFDOUIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFNO1FBRWxCLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7RXZlbnRFbWl0dGVyfSBmcm9tIFwiZXZlbnRlbWl0dGVyM1wiXG5pbXBvcnQge1JlYWRlcnNXcml0ZXJMb2NrfSBmcm9tIFwiZXBpYy1sb2Nrc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IFNlcnZpY2VzIGZyb20gXCIuL3NlcnZpY2VzLmpzXCJcblxuY29uc3Qgc2hhcmVkID0ge31cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJDYW5DYW4ge1xuICBhYmlsaXRpZXMgPSBbXVxuICBhYmlsaXRpZXNUb0xvYWQgPSBbXVxuICBhYmlsaXRpZXNUb0xvYWREYXRhID0gW11cbiAgYWJpbGl0aWVzR2VuZXJhdGlvbiA9IDBcbiAgY2FjaGVLZXkgPSAwXG4gIGxvYWRpbmdDb3VudCA9IDBcbiAgbWlzc2luZ0FiaWxpdGllcyA9IG5ldyBNYXAoKVxuICBtaXNzaW5nQWJpbGl0aWVzVGltZW91dCA9IG51bGxcbiAgcmVsb2FkUHJvbWlzZXMgPSBuZXcgTWFwKClcbiAgcmVzZXRQcm9taXNlID0gbnVsbFxuICByZXNldHRpbmdHZW5lcmF0aW9uID0gbnVsbFxuICBldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgbG9jayA9IG5ldyBSZWFkZXJzV3JpdGVyTG9jaygpXG4gIGFiaWxpdGllc0J5TmFtZSA9IG5ldyBNYXAoKVxuICBkZWJ1Z1Rva2VucyA9IG5ldyBTZXQoKVxuXG4gIHN0YXRpYyBjdXJyZW50ICgpIHtcbiAgICBpZiAoIXNoYXJlZC5jdXJyZW50QXBpTWFrZXJDYW5DYW4pIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJDYW5DYW4gPSBuZXcgQXBpTWFrZXJDYW5DYW4oKVxuXG4gICAgcmV0dXJuIHNoYXJlZC5jdXJyZW50QXBpTWFrZXJDYW5DYW5cbiAgfVxuXG4gIGNhbiAoYWJpbGl0eSwgc3ViamVjdCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgZm91bmRBYmlsaXR5ID0gdGhpcy5maW5kQWJpbGl0eShhYmlsaXR5LCBzdWJqZWN0KVxuXG4gICAgaWYgKGZvdW5kQWJpbGl0eSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBub3JtYWxpemVkQWJpbGl0eSA9IGluZmxlY3Rpb24udW5kZXJzY29yZShhYmlsaXR5KVxuICAgICAgdGhpcy5yZWNvcmRNaXNzaW5nQWJpbGl0eShub3JtYWxpemVkQWJpbGl0eSwgc3ViamVjdClcblxuICAgICAgaWYgKG9wdGlvbnMuZGVidWcpIHtcbiAgICAgICAgbGV0IHN1YmplY3RMYWJlbCA9IHN1YmplY3RcblxuICAgICAgICAvLyBUcmFuc2xhdGUgcmVzb3VyY2UtbW9kZWxzIGludG8gY2xhc3MgbmFtZSBzdHJpbmdzXG4gICAgICAgIGlmICh0eXBlb2Ygc3ViamVjdCA9PSBcImZ1bmN0aW9uXCIgJiYgc3ViamVjdC5tb2RlbENsYXNzRGF0YSkge1xuICAgICAgICAgIHN1YmplY3RMYWJlbCA9IGRpZ2coc3ViamVjdC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYEFiaWxpdHkgbm90IGxvYWRlZCAke3N1YmplY3RMYWJlbH0jJHtub3JtYWxpemVkQWJpbGl0eX1gLCB7YWJpbGl0aWVzOiB0aGlzLmFiaWxpdGllcywgYWJpbGl0eSwgc3ViamVjdH0pXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkaWdnKGZvdW5kQWJpbGl0eSwgXCJjYW5cIilcbiAgICB9XG4gIH1cblxuICByZWNvcmRNaXNzaW5nQWJpbGl0eSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIGxldCBtaXNzaW5nQWJpbGl0eVNldCA9IHRoaXMubWlzc2luZ0FiaWxpdGllcy5nZXQoc3ViamVjdClcblxuICAgIGlmICghbWlzc2luZ0FiaWxpdHlTZXQpIHtcbiAgICAgIG1pc3NpbmdBYmlsaXR5U2V0ID0gbmV3IFNldCgpXG4gICAgICB0aGlzLm1pc3NpbmdBYmlsaXRpZXMuc2V0KHN1YmplY3QsIG1pc3NpbmdBYmlsaXR5U2V0KVxuICAgIH1cblxuICAgIGlmIChtaXNzaW5nQWJpbGl0eVNldC5oYXMoYWJpbGl0eSkpIHJldHVyblxuXG4gICAgbWlzc2luZ0FiaWxpdHlTZXQuYWRkKGFiaWxpdHkpXG4gICAgdGhpcy5xdWV1ZU1pc3NpbmdBYmlsaXRpZXNMb2FkKClcbiAgfVxuXG4gIHF1ZXVlTWlzc2luZ0FiaWxpdGllc0xvYWQgKCkge1xuICAgIGlmICh0aGlzLm1pc3NpbmdBYmlsaXRpZXNUaW1lb3V0KSByZXR1cm5cblxuICAgIHRoaXMubWlzc2luZ0FiaWxpdGllc1RpbWVvdXQgPSBzZXRUaW1lb3V0KHRoaXMubG9hZE1pc3NpbmdBYmlsaXRpZXMsIDApXG4gIH1cblxuICBsb2FkTWlzc2luZ0FiaWxpdGllcyA9ICgpID0+IHtcbiAgICBjb25zdCBtaXNzaW5nQWJpbGl0aWVzID0gdGhpcy5taXNzaW5nQWJpbGl0aWVzXG5cbiAgICB0aGlzLm1pc3NpbmdBYmlsaXRpZXMgPSBuZXcgTWFwKClcbiAgICB0aGlzLm1pc3NpbmdBYmlsaXRpZXNUaW1lb3V0ID0gbnVsbFxuXG4gICAgY29uc3QgYWJpbGl0aWVzVG9Mb2FkID0gW11cblxuICAgIGZvciAoY29uc3QgW3N1YmplY3QsIGFiaWxpdGllc10gb2YgbWlzc2luZ0FiaWxpdGllcy5lbnRyaWVzKCkpIHtcbiAgICAgIGFiaWxpdGllc1RvTG9hZC5wdXNoKFtzdWJqZWN0LCBBcnJheS5mcm9tKGFiaWxpdGllcyldKVxuICAgIH1cblxuICAgIGlmIChhYmlsaXRpZXNUb0xvYWQubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5sb2FkQWJpbGl0aWVzKGFiaWxpdGllc1RvTG9hZClcbiAgICB9XG4gIH1cblxuICBmaW5kQWJpbGl0eSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIGNvbnN0IGFiaWxpdHlLZXkgPSB0aGlzLmFiaWxpdHlLZXkoYWJpbGl0eSwgc3ViamVjdClcbiAgICBpZiAoIWFiaWxpdHlLZXkpIHJldHVybiB1bmRlZmluZWRcblxuICAgIHJldHVybiB0aGlzLmFiaWxpdGllc0J5TmFtZS5nZXQoYWJpbGl0eUtleSlcbiAgfVxuXG4gIGlzQWJpbGl0eUxvYWRlZCAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIHJldHVybiB0aGlzLmZpbmRBYmlsaXR5KGFiaWxpdHksIHN1YmplY3QpICE9PSB1bmRlZmluZWRcbiAgfVxuXG4gIGlzUmVsb2FkaW5nICgpIHtcbiAgICByZXR1cm4gdGhpcy5sb2FkaW5nQ291bnQgPiAwIHx8IHRoaXMucmVzZXR0aW5nR2VuZXJhdGlvbiAhPT0gbnVsbFxuICB9XG5cbiAgZ2V0Q2FjaGVLZXkgKCkge1xuICAgIHJldHVybiB0aGlzLmNhY2hlS2V5XG4gIH1cblxuICBzZXREZWJ1ZyAodG9rZW4sIGVuYWJsZWQpIHtcbiAgICBpZiAoIXRva2VuKSByZXR1cm5cblxuICAgIGlmIChlbmFibGVkKSB7XG4gICAgICB0aGlzLmRlYnVnVG9rZW5zLmFkZCh0b2tlbilcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWJ1Z1Rva2Vucy5kZWxldGUodG9rZW4pXG4gICAgfVxuICB9XG5cbiAgaXNEZWJ1Z2dpbmcgKCkge1xuICAgIHJldHVybiB0aGlzLmRlYnVnVG9rZW5zLnNpemUgPiAwXG4gIH1cblxuICBkZWJ1Z0xvZyAobWVzc2FnZSkge1xuICAgIGlmICh0aGlzLmlzRGVidWdnaW5nKCkpIHtcbiAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZEFiaWxpdGllcyAoYWJpbGl0aWVzKSB7XG4gICAgY29uc3QgZ2VuZXJhdGlvbiA9IHRoaXMuYWJpbGl0aWVzR2VuZXJhdGlvblxuICAgIGNvbnN0IGxvYWRTdW1tYXJ5ID0gW1xuICAgICAgXCJbY2FuLWNhbi1kZWJ1Z10gbG9hZEFiaWxpdGllczpzdGFydFwiLFxuICAgICAgYGdlbmVyYXRpb249JHtnZW5lcmF0aW9ufWAsXG4gICAgICBgcmVxdWVzdHM9JHthYmlsaXRpZXMubGVuZ3RofWBcbiAgICBdLmpvaW4oXCI7IFwiKVxuICAgIHRoaXMuZGVidWdMb2cobG9hZFN1bW1hcnkpXG5cbiAgICB0aGlzLmxvYWRpbmdDb3VudCArPSAxXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5sb2NrLnJlYWQoYXN5bmMgKCkgPT4ge1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdXG5cbiAgICAgICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXMpIHtcbiAgICAgICAgICBjb25zdCBzdWJqZWN0ID0gYWJpbGl0eURhdGFbMF1cblxuICAgICAgICAgIGlmICghc3ViamVjdCkgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN1YmplY3QgZ2l2ZW4gaW4gYWJpbGl0aWVzOiAke3N1YmplY3R9IC0gJHtKU09OLnN0cmluZ2lmeShhYmlsaXRpZXMpfWApXG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFiaWxpdHlEYXRhWzFdKSkgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhbiBhcnJheSBvZiBhYmlsaXRpZXMgYnV0IGdvdDogJHt0eXBlb2YgYWJpbGl0eURhdGFbMV19OiAke2FiaWxpdHlEYXRhWzFdfWApXG5cbiAgICAgICAgICBmb3IgKGNvbnN0IGFiaWxpdHkgb2YgYWJpbGl0eURhdGFbMV0pIHtcbiAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmxvYWRBYmlsaXR5KGFiaWxpdHksIHN1YmplY3QpXG5cbiAgICAgICAgICAgIHByb21pc2VzLnB1c2gocHJvbWlzZSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcm9taXNlcylcbiAgICAgIH0pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGNvbnN0IGRvbmVTdW1tYXJ5ID0gW1xuICAgICAgICBcIltjYW4tY2FuLWRlYnVnXSBsb2FkQWJpbGl0aWVzOmRvbmVcIixcbiAgICAgICAgYGdlbmVyYXRpb249JHtnZW5lcmF0aW9ufWAsXG4gICAgICAgIGBjdXJyZW50R2VuZXJhdGlvbj0ke3RoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbn1gLFxuICAgICAgICBgbG9hZGluZ0NvdW50PSR7dGhpcy5sb2FkaW5nQ291bnR9YFxuICAgICAgXS5qb2luKFwiOyBcIilcbiAgICAgIHRoaXMuZGVidWdMb2coZG9uZVN1bW1hcnkpXG4gICAgICBpZiAodGhpcy5sb2FkaW5nQ291bnQgPiAwKSB0aGlzLmxvYWRpbmdDb3VudCAtPSAxXG4gICAgICBpZiAodGhpcy5yZXNldHRpbmdHZW5lcmF0aW9uID09PSBnZW5lcmF0aW9uKSB0aGlzLnJlc2V0dGluZ0dlbmVyYXRpb24gPSBudWxsXG4gICAgfVxuICB9XG5cbiAgbG9hZEFiaWxpdHkgKGFiaWxpdHksIHN1YmplY3QpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IG5vcm1hbGl6ZWRBYmlsaXR5ID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpXG5cbiAgICAgIGlmICh0aGlzLmlzQWJpbGl0eUxvYWRlZChub3JtYWxpemVkQWJpbGl0eSwgc3ViamVjdCkpIHtcbiAgICAgICAgcmVzb2x2ZSgpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3VuZEFiaWxpdHkgPSB0aGlzLmFiaWxpdGllc1RvTG9hZC5maW5kKChhYmlsaXR5VG9Mb2FkKSA9PiBkaWdnKGFiaWxpdHlUb0xvYWQsIFwiYWJpbGl0eVwiKSA9PSBub3JtYWxpemVkQWJpbGl0eSAmJlxuICAgICAgICBkaWdnKGFiaWxpdHlUb0xvYWQsIFwic3ViamVjdFwiKSA9PSBzdWJqZWN0XG4gICAgICApXG5cbiAgICAgIGlmIChmb3VuZEFiaWxpdHkpIHtcbiAgICAgICAgZm91bmRBYmlsaXR5LmNhbGxiYWNrcy5wdXNoKHJlc29sdmUpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFiaWxpdGllc1RvTG9hZC5wdXNoKHthYmlsaXR5OiBub3JtYWxpemVkQWJpbGl0eSwgY2FsbGJhY2tzOiBbcmVzb2x2ZV0sIHN1YmplY3R9KVxuICAgICAgICB0aGlzLmFiaWxpdGllc1RvTG9hZERhdGEucHVzaCh7YWJpbGl0eTogbm9ybWFsaXplZEFiaWxpdHksIHN1YmplY3R9KVxuXG4gICAgICAgIHRoaXMucXVldWVBYmlsaXRpZXNSZXF1ZXN0KClcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcXVldWVBYmlsaXRpZXNSZXF1ZXN0ICgpIHtcbiAgICBpZiAodGhpcy5xdWV1ZUFiaWxpdGllc1JlcXVlc3RUaW1lb3V0KSByZXR1cm5cblxuICAgIHRoaXMucXVldWVBYmlsaXRpZXNSZXF1ZXN0VGltZW91dCA9IHNldFRpbWVvdXQodGhpcy5zZW5kQWJpbGl0aWVzUmVxdWVzdCwgMClcbiAgfVxuXG4gIGFzeW5jIHJlc2V0QWJpbGl0aWVzICgpIHtcbiAgICBpZiAodGhpcy5yZXNldFByb21pc2UpIHJldHVybiB0aGlzLnJlc2V0UHJvbWlzZVxuXG4gICAgdGhpcy5yZXNldFByb21pc2UgPSAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgdGhpcy5sb2NrLndyaXRlKCgpID0+IHtcbiAgICAgICAgdGhpcy5hYmlsaXRpZXMgPSBbXVxuICAgICAgICB0aGlzLmFiaWxpdGllc0J5TmFtZSA9IG5ldyBNYXAoKVxuICAgICAgICB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb24gKz0gMVxuICAgICAgICB0aGlzLnJlc2V0dGluZ0dlbmVyYXRpb24gPSB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb25cbiAgICAgICAgdGhpcy5jYWNoZUtleSArPSAxXG4gICAgICB9KVxuICAgICAgY29uc3QgcmVzZXRTdW1tYXJ5ID0gW1xuICAgICAgICBcIltjYW4tY2FuLWRlYnVnXSByZXNldEFiaWxpdGllc1wiLFxuICAgICAgICBgZ2VuZXJhdGlvbj0ke3RoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbn1gLFxuICAgICAgICBgY2FjaGVLZXk9JHt0aGlzLmNhY2hlS2V5fWAsXG4gICAgICAgIGBxdWV1ZWQ9JHt0aGlzLmFiaWxpdGllc1RvTG9hZERhdGEubGVuZ3RofWBcbiAgICAgIF0uam9pbihcIjsgXCIpXG4gICAgICB0aGlzLmRlYnVnTG9nKHJlc2V0U3VtbWFyeSlcbiAgICAgIHRoaXMuZXZlbnRzLmVtaXQoXCJvblJlc2V0QWJpbGl0aWVzXCIpXG4gICAgfSkoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucmVzZXRQcm9taXNlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMucmVzZXRQcm9taXNlID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHJlbG9hZEFiaWxpdGllcyAoYWJpbGl0aWVzLCByZWxvYWRLZXkpIHtcbiAgICBpZiAocmVsb2FkS2V5ICYmIHRoaXMucmVsb2FkUHJvbWlzZXMuaGFzKHJlbG9hZEtleSkpIHtcbiAgICAgIHRoaXMuZGVidWdMb2coYFtjYW4tY2FuLWRlYnVnXSByZWxvYWRBYmlsaXRpZXM6ZGVkdXBlIHJlbG9hZEtleT0ke3JlbG9hZEtleX1gKVxuICAgICAgcmV0dXJuIHRoaXMucmVsb2FkUHJvbWlzZXMuZ2V0KHJlbG9hZEtleSlcbiAgICB9XG5cbiAgICBjb25zdCByZWxvYWRTdW1tYXJ5ID0gW1xuICAgICAgXCJbY2FuLWNhbi1kZWJ1Z10gcmVsb2FkQWJpbGl0aWVzOnN0YXJ0XCIsXG4gICAgICBgcmVsb2FkS2V5PSR7cmVsb2FkS2V5IHx8IFwibm9uZVwifWAsXG4gICAgICBgZ2VuZXJhdGlvbj0ke3RoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbn1gLFxuICAgICAgYHJlcXVlc3RzPSR7YWJpbGl0aWVzLmxlbmd0aH1gXG4gICAgXS5qb2luKFwiOyBcIilcbiAgICB0aGlzLmRlYnVnTG9nKHJlbG9hZFN1bW1hcnkpXG5cbiAgICBjb25zdCBwcm9taXNlID0gKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMucmVzZXRBYmlsaXRpZXMoKVxuICAgICAgYXdhaXQgdGhpcy5sb2FkQWJpbGl0aWVzKGFiaWxpdGllcylcbiAgICB9KSgpXG5cbiAgICBpZiAocmVsb2FkS2V5KSB0aGlzLnJlbG9hZFByb21pc2VzLnNldChyZWxvYWRLZXksIHByb21pc2UpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgcHJvbWlzZVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmRlYnVnTG9nKGBbY2FuLWNhbi1kZWJ1Z10gcmVsb2FkQWJpbGl0aWVzOmRvbmUgcmVsb2FkS2V5PSR7cmVsb2FkS2V5IHx8IFwibm9uZVwifTsgZ2VuZXJhdGlvbj0ke3RoaXMuYWJpbGl0aWVzR2VuZXJhdGlvbn1gKVxuICAgICAgaWYgKHJlbG9hZEtleSkgdGhpcy5yZWxvYWRQcm9taXNlcy5kZWxldGUocmVsb2FkS2V5KVxuICAgIH1cbiAgfVxuXG4gIHNlbmRBYmlsaXRpZXNSZXF1ZXN0ID0gYXN5bmMgKCkgPT4ge1xuICAgIHRoaXMucXVldWVBYmlsaXRpZXNSZXF1ZXN0VGltZW91dCA9IG51bGxcbiAgICBjb25zdCBnZW5lcmF0aW9uID0gdGhpcy5hYmlsaXRpZXNHZW5lcmF0aW9uXG4gICAgY29uc3QgYWJpbGl0aWVzVG9Mb2FkID0gdGhpcy5hYmlsaXRpZXNUb0xvYWRcbiAgICBjb25zdCBhYmlsaXRpZXNUb0xvYWREYXRhID0gdGhpcy5hYmlsaXRpZXNUb0xvYWREYXRhXG5cbiAgICB0aGlzLmFiaWxpdGllc1RvTG9hZCA9IFtdXG4gICAgdGhpcy5hYmlsaXRpZXNUb0xvYWREYXRhID0gW11cbiAgICB0aGlzLmRlYnVnTG9nKGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3RhcnQgZ2VuZXJhdGlvbj0ke2dlbmVyYXRpb259OyBxdWV1ZWQ9JHthYmlsaXRpZXNUb0xvYWREYXRhLmxlbmd0aH1gKVxuXG4gICAgbGV0IGFiaWxpdGllcyA9IFtdXG4gICAgbGV0IGRpZEZhaWwgPSBmYWxzZVxuICAgIGxldCByZXF1ZXN0RXJyb3JcblxuICAgIC8vIExvYWQgYWJpbGl0aWVzIGZyb20gYmFja2VuZFxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJDYW5DYW46OkxvYWRBYmlsaXRpZXNcIiwge1xuICAgICAgICByZXF1ZXN0OiBhYmlsaXRpZXNUb0xvYWREYXRhXG4gICAgICB9KVxuICAgICAgYWJpbGl0aWVzID0gZGlnZyhyZXN1bHQsIFwiYWJpbGl0aWVzXCIpXG5cbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShhYmlsaXRpZXMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgQ2FuQ2FuOjpMb2FkQWJpbGl0aWVzIHJlc3BvbnNlIGFiaWxpdGllcyB0byBiZSBhbiBhcnJheSwgZ290OiAke3R5cGVvZiBhYmlsaXRpZXN9YClcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZGlkRmFpbCA9IHRydWVcbiAgICAgIHJlcXVlc3RFcnJvciA9IGVycm9yXG4gICAgICBjb25zb2xlLmVycm9yKFwiRmFpbGVkIHRvIGxvYWQgYWJpbGl0aWVzXCIsIGVycm9yKVxuICAgIH1cblxuICAgIGlmIChnZW5lcmF0aW9uICE9PSB0aGlzLmFiaWxpdGllc0dlbmVyYXRpb24pIHtcbiAgICAgIGNvbnN0IHN0YWxlUmVzcG9uc2VEZWJ1ZyA9IFtcbiAgICAgICAgXCJbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3RhbGUtcmVzcG9uc2VcIixcbiAgICAgICAgYHJlcXVlc3RHZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn1gLFxuICAgICAgICBgY3VycmVudEdlbmVyYXRpb249JHt0aGlzLmFiaWxpdGllc0dlbmVyYXRpb259YCxcbiAgICAgICAgYHJlcXVldWU9JHthYmlsaXRpZXNUb0xvYWQubGVuZ3RofWBcbiAgICAgIF0uam9pbihcIjsgXCIpXG4gICAgICB0aGlzLmRlYnVnTG9nKHN0YWxlUmVzcG9uc2VEZWJ1ZylcbiAgICAgIGZvciAoY29uc3QgYWJpbGl0eURhdGEgb2YgYWJpbGl0aWVzVG9Mb2FkKSB7XG4gICAgICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgYWJpbGl0eURhdGEuY2FsbGJhY2tzKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQWJpbGl0eShhYmlsaXR5RGF0YS5hYmlsaXR5LCBhYmlsaXR5RGF0YS5zdWJqZWN0KS50aGVuKGNhbGxiYWNrKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGlmIChkaWRGYWlsKSB7XG4gICAgICB0aGlzLmRlYnVnTG9nKGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6ZmFpbGVkIGdlbmVyYXRpb249JHtnZW5lcmF0aW9ufTsgcXVldWVkPSR7YWJpbGl0aWVzVG9Mb2FkLmxlbmd0aH1gKVxuICAgICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXNUb0xvYWQpIHtcbiAgICAgICAgZm9yIChjb25zdCBjYWxsYmFjayBvZiBhYmlsaXR5RGF0YS5jYWxsYmFja3MpIHtcbiAgICAgICAgICBjYWxsYmFjaygpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzb2x2ZSBjYWxsYmFja3MgdG8gYXZvaWQgZGVhZGxvY2tzIGZvciB3YWl0ZXJzIGV2ZW4gd2hlbiBsb2FkIGZhaWxlZC5cbiAgICAgIGlmIChyZXF1ZXN0RXJyb3IpIHRoaXMucmVwb3J0VW5oYW5kbGVkQXN5bmNFcnJvcihyZXF1ZXN0RXJyb3IpXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIGxvYWRlZCBhYmlsaXRpZXNcbiAgICB0aGlzLmFiaWxpdGllcyA9IHRoaXMuYWJpbGl0aWVzLmNvbmNhdChhYmlsaXRpZXMpXG4gICAgdGhpcy5pbmRleEFiaWxpdGllc0J5TmFtZShhYmlsaXRpZXMpXG4gICAgdGhpcy5jYWNoZUtleSArPSAxXG4gICAgdGhpcy5kZWJ1Z0xvZyhcbiAgICAgIGBbY2FuLWNhbi1kZWJ1Z10gc2VuZEFiaWxpdGllc1JlcXVlc3Q6c3VjY2VzcyBnZW5lcmF0aW9uPSR7Z2VuZXJhdGlvbn07IGxvYWRlZD0ke2FiaWxpdGllcy5sZW5ndGh9OyBjYWNoZUtleT0ke3RoaXMuY2FjaGVLZXl9YFxuICAgIClcbiAgICB0aGlzLmV2ZW50cy5lbWl0KFwib25BYmlsaXRpZXNMb2FkZWRcIiwge2NhY2hlS2V5OiB0aGlzLmNhY2hlS2V5fSlcblxuICAgIC8vIENhbGwgdGhlIGNhbGxiYWNrcyB0aGF0IGFyZSB3YWl0aW5nIGZvciB0aGUgYWJpbGl0eSB0byBoYXZlIGJlZW4gbG9hZGVkXG4gICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXNUb0xvYWQpIHtcbiAgICAgIGZvciAoY29uc3QgY2FsbGJhY2sgb2YgYWJpbGl0eURhdGEuY2FsbGJhY2tzKSB7XG4gICAgICAgIGNhbGxiYWNrKClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbmRleEFiaWxpdGllc0J5TmFtZSAoYWJpbGl0aWVzKSB7XG4gICAgZm9yIChjb25zdCBhYmlsaXR5RGF0YSBvZiBhYmlsaXRpZXMpIHtcbiAgICAgIGlmIChhYmlsaXR5RGF0YSAmJiB0eXBlb2YgYWJpbGl0eURhdGEgPT0gXCJvYmplY3RcIikge1xuICAgICAgICBjb25zdCBhYmlsaXR5S2V5ID0gdGhpcy5hYmlsaXR5S2V5KGRpZ2coYWJpbGl0eURhdGEsIFwiYWJpbGl0eVwiKSwgZGlnZyhhYmlsaXR5RGF0YSwgXCJzdWJqZWN0XCIpKVxuXG4gICAgICAgIGlmIChhYmlsaXR5S2V5KSB7XG4gICAgICAgICAgdGhpcy5hYmlsaXRpZXNCeU5hbWUuc2V0KGFiaWxpdHlLZXksIGFiaWxpdHlEYXRhKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWJpbGl0eUtleSAoYWJpbGl0eSwgc3ViamVjdCkge1xuICAgIGlmICghYWJpbGl0eSkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHN1YmplY3ROYW1lID0gdGhpcy5zdWJqZWN0TmFtZShzdWJqZWN0KVxuICAgIGlmICghc3ViamVjdE5hbWUpIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gYCR7aW5mbGVjdGlvbi51bmRlcnNjb3JlKGFiaWxpdHkpfToke3N1YmplY3ROYW1lfWBcbiAgfVxuXG4gIHN1YmplY3ROYW1lKHN1YmplY3QpIHtcbiAgICBpZiAoIXN1YmplY3QpIHJldHVybiBudWxsXG5cbiAgICBpZiAodHlwZW9mIHN1YmplY3QgPT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIHN1YmplY3RcbiAgICB9XG5cbiAgICBpZiAoc3ViamVjdC5tb2RlbENsYXNzRGF0YSkge1xuICAgICAgcmV0dXJuIGRpZ2coc3ViamVjdC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICB9XG5cbiAgICBpZiAoc3ViamVjdC5yZXNvdXJjZURhdGEpIHtcbiAgICAgIHJldHVybiBkaWdnKHN1YmplY3QucmVzb3VyY2VEYXRhKCksIFwibmFtZVwiKVxuICAgIH1cblxuICAgIGlmIChzdWJqZWN0Lm5hbWUpIHtcbiAgICAgIHJldHVybiBzdWJqZWN0Lm5hbWVcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmVwb3J0VW5oYW5kbGVkQXN5bmNFcnJvciAoZXJyb3IpIHtcbiAgICBpZiAoIWVycm9yKSByZXR1cm5cblxuICAgIFByb21pc2UucmVqZWN0KGVycm9yKVxuICB9XG59XG4iXX0=
@@ -116,7 +116,7 @@ export default memo(shapeComponent(class ApiMakerSuperAdmin extends BaseComponen
116
116
  _jsx(Link, { dataSet: dataSets.editModelLink ||= { class: "edit-model-link" }, style: styles.editModelLink, to: Params.withParams({ model: modelName, model_id: modelId, mode: "edit" }), children: _jsx(Text, { children: "Edit" }) }), model.can("destroy") &&
117
117
  _jsx(Pressable, { dataSet: dataSets.destroyModelLink ||= { class: "destroy-model-link" }, onPress: this.tt.onDestroyClicked, style: styles.destroyModelLink, children: _jsx(Text, { children: "Delete" }) })] }), pageToShow == "show_reflection" &&
118
118
  _jsx(ShowReflectionActions, { model: model, modelClass: modelClass, reflectionName: queryParams.model_reflection })] }), // eslint-disable-line react/jsx-closing-tag-location
119
- [canCan, configReader?.actions, model, modelClass, pageToShow]);
119
+ [canCan.getCacheKey(), configReader?.actions, model, modelClass, pageToShow]);
120
120
  return (_jsxs(Layout, { actions: actions, active: queryParams.model, headerTitle: modelClass?.modelName()?.human({ count: 2 }), children: [pageToShow == "index" &&
121
121
  _jsx(IndexPage, { modelClass: modelClass }, `index-page-${modelName}`), pageToShow == "show" &&
122
122
  _jsx(ShowPage, { modelClass: modelClass, modelId: modelId }, `show-page-${modelName}-${modelId}`), pageToShow == "show_reflection" &&
@@ -137,4 +137,4 @@ export default memo(shapeComponent(class ApiMakerSuperAdmin extends BaseComponen
137
137
  }
138
138
  };
139
139
  }));
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNElBQTRJO0FBQzVJLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN4RCxPQUFPLGFBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLFFBQVEsTUFBTSxhQUFhLENBQUE7QUFDbEMsT0FBTyxrQkFBa0IsTUFBTSxrREFBa0QsQ0FBQTtBQUNqRixPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFDcEMsT0FBTyxNQUFNLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkMsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFBO0FBQzFCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELG1CQUFtQjtBQUNuQixPQUFPLEtBQUssTUFBTSxNQUFNLFdBQVcsQ0FBQSxDQUFDLDJDQUEyQztBQUMvRSxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sUUFBUSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8scUJBQXFCLE1BQU0sMkJBQTJCLENBQUE7QUFDN0QsT0FBTyxrQkFBa0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUE7QUFDekMsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUE7QUFDbkQsT0FBTyxjQUFjLE1BQU0sK0NBQStDLENBQUE7QUFD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LEVBRUgsVUFBVSxJQUFJLE1BQU07b0JBQ25CLEtBQUMsUUFBUSxJQUVQLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLE9BQU8sRUFBRSxPQUFPLElBRlgsYUFBYSxTQUFTLElBQUksT0FBTyxFQUFFLENBR3hDLEVBRUgsVUFBVSxJQUFJLGlCQUFpQjtvQkFDOUIsS0FBQyxrQkFBa0IsSUFFakIsVUFBVSxFQUFFLFVBQVUsRUFDdEIsT0FBTyxFQUFFLE9BQU8sSUFGWCx3QkFBd0IsU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUduRCxFQUVILFVBQVUsSUFBSSxNQUFNO29CQUNuQixLQUFDLFFBQVEsSUFFUCxVQUFVLEVBQUUsVUFBVSxJQURqQixhQUFhLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FFeEMsSUFFRyxDQUNWLENBQUE7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFNO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7WUFFNUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixrQkFBa0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmV0dXJuLWFzc2lnbiwgcmVhY3QvanN4LW5vLWxpdGVyYWxzLCByZWFjdC9qc3gtbm8tdXNlbGVzcy1mcmFnbWVudCwgcmVhY3QvanN4LW9uZS1leHByZXNzaW9uLXBlci1saW5lLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgU3R5bGVTaGVldCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IENvbmZpZ1JlYWRlciBmcm9tIFwiLi9jb25maWctcmVhZGVyXCJcbmltcG9ydCBFZGl0UGFnZSBmcm9tIFwiLi9lZGl0LXBhZ2VcIlxuaW1wb3J0IEZsYXNoTm90aWZpY2F0aW9ucyBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9ucy9idWlsZC9mbGFzaC1ub3RpZmljYXRpb25zLmpzXCJcbmltcG9ydCBoYXNFZGl0Q29uZmlnIGZyb20gXCIuL2hhcy1lZGl0LWNvbmZpZy5qc1wiXG5pbXBvcnQgSW5kZXhQYWdlIGZyb20gXCIuL2luZGV4LXBhZ2VcIlxuaW1wb3J0IExheW91dCBmcm9tIFwiLi9sYXlvdXQvaW5kZXhcIlxuaW1wb3J0IExpbmsgZnJvbSBcIi4uL2xpbmtcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuLy8gQHRzLWV4cGVjdC1lcnJvclxuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gXCJtb2RlbHMuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby11bnJlc29sdmVkXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi9wYXJhbXMuanNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgU2hvd1BhZ2UgZnJvbSBcIi4vc2hvdy1wYWdlL2luZGV4XCJcbmltcG9ydCBTaG93UmVmbGVjdGlvbkFjdGlvbnMgZnJvbSBcIi4vc2hvdy1yZWZsZWN0aW9uLWFjdGlvbnNcIlxuaW1wb3J0IFNob3dSZWZsZWN0aW9uUGFnZSBmcm9tIFwiLi9zaG93LXJlZmxlY3Rpb24tcGFnZVwiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQgdXNlQ2FuQ2FuIGZyb20gXCIuLi91c2UtY2FuLWNhbi5qc1wiXG5pbXBvcnQgdXNlQ3VycmVudFVzZXIgZnJvbSBcIi4uL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1xdWVyeS1wYXJhbXMuanNcIlxuaW1wb3J0IHVzZVN0eWxlcyBmcm9tIFwiLi4vdXNlLXN0eWxlcy5qc1wiXG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgYWN0aW9uc1ZpZXc6IHtcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCJcbiAgfSxcbiAgY3JlYXRlTmV3TW9kZWxMaW5rOiB7XG4gICAgbWFyZ2luTGVmdDogMTAsXG4gICAgbWFyZ2luUmlnaHQ6IDEwXG4gIH0sXG4gIGRlc3Ryb3lNb2RlbExpbms6IHtcbiAgICBtYXJnaW5MZWZ0OiAxMCxcbiAgICBtYXJnaW5SaWdodDogMTBcbiAgfSxcbiAgZWRpdE1vZGVsTGluazoge1xuICAgIG1hcmdpbkxlZnQ6IDEwLFxuICAgIG1hcmdpblJpZ2h0OiAxMFxuICB9XG59KVxuXG5jb25zdCBkYXRhU2V0cyA9IHt9XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHNldHVwKCkge1xuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB1c2VRdWVyeVBhcmFtcygpXG5cbiAgICBpZiAodGhpcy5xdWVyeVBhcmFtcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbENsYXNzID0gbW9kZWxzW3RoaXMucXVlcnlQYXJhbXMubW9kZWxdXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZWxDbGFzcyA9IG51bGxcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ1JlYWRlciA9IHVzZU1lbW8oKCkgPT4gdGhpcy5tb2RlbENsYXNzICYmIENvbmZpZ1JlYWRlci5mb3JNb2RlbCh0aGlzLm1vZGVsQ2xhc3MpLCBbdGhpcy5tb2RlbENsYXNzXSlcbiAgICB0aGlzLm1vZGVsSWQgPSB0aGlzLnF1ZXJ5UGFyYW1zLm1vZGVsX2lkXG4gICAgdGhpcy5tb2RlbE5hbWUgPSB0aGlzLm1vZGVsQ2xhc3M/Lm1vZGVsQ2xhc3NEYXRhKCk/Lm5hbWVcbiAgICB0aGlzLmN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuXG4gICAgdGhpcy5jYW5DYW4gPSB1c2VDYW5DYW4oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFiaWxpdGllcyA9IFtdXG5cbiAgICAgICAgaWYgKHRoaXMubW9kZWxDbGFzcykgYWJpbGl0aWVzLnB1c2goW3RoaXMubW9kZWxDbGFzcywgW1wibmV3XCJdXSlcblxuICAgICAgICByZXR1cm4gYWJpbGl0aWVzXG4gICAgICB9LFxuICAgICAgW3RoaXMuY3VycmVudFVzZXI/LmlkKCksIHRoaXMubW9kZWxDbGFzc11cbiAgICApXG5cbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBtb2RlbDogdW5kZWZpbmVkXG4gICAgfSlcbiAgICB1c2VNZW1vKFxuICAgICAgKCkgPT4geyB0aGlzLmxvYWRNb2RlbCgpIH0sXG4gICAgICBbdGhpcy5tb2RlbElkXVxuICAgIClcbiAgfVxuXG4gIGxvYWRNb2RlbCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7Y29uZmlnUmVhZGVyLCBtb2RlbENsYXNzLCBtb2RlbElkLCBtb2RlbE5hbWV9ID0gdGhpcy50dFxuXG4gICAgaWYgKG1vZGVsSWQgJiYgbW9kZWxDbGFzcykge1xuICAgICAgY29uc3QgYWJpbGl0aWVzID0ge31cbiAgICAgIGNvbnN0IGFiaWxpdGllc0Zvck1vZGVsID0gW1wiZGVzdHJveVwiLCBcImVkaXRcIl1cbiAgICAgIGNvbnN0IGxheW91dFNlbGVjdCA9IGNvbmZpZ1JlYWRlcj8ubW9kZWxDb25maWc/LmxheW91dD8uc2VsZWN0XG5cbiAgICAgIGFiaWxpdGllc1ttb2RlbE5hbWVdID0gYWJpbGl0aWVzRm9yTW9kZWxcblxuICAgICAgY29uc3QgcXVlcnkgPSBhd2FpdCBtb2RlbENsYXNzXG4gICAgICAgIC5yYW5zYWNrKHtpZF9lcTogbW9kZWxJZH0pXG4gICAgICAgIC5hYmlsaXRpZXMoYWJpbGl0aWVzKVxuXG4gICAgICBpZiAobGF5b3V0U2VsZWN0KSBxdWVyeS5zZWxlY3QobGF5b3V0U2VsZWN0KVxuXG4gICAgICBjb25zdCBtb2RlbCA9IGF3YWl0IHF1ZXJ5LmZpcnN0KClcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7bW9kZWx9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHttb2RlbDogdW5kZWZpbmVkfSlcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY29tcGxleGl0eVxuICAgIGNvbnN0IHtjYW5DYW4sIGNvbmZpZ1JlYWRlciwgbW9kZWxDbGFzcywgbW9kZWxJZCwgbW9kZWxOYW1lLCBxdWVyeVBhcmFtc30gPSB0aGlzLnR0XG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMuc1xuICAgIGNvbnN0IG1vZGVsQ29uZmlnQWN0aW9ucyA9IGNvbmZpZ1JlYWRlcj8ubW9kZWxDb25maWc/LmFjdGlvbnNcbiAgICBsZXQgcGFnZVRvU2hvd1xuXG4gICAgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX2lkICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX3JlZmxlY3Rpb24pIHtcbiAgICAgIHBhZ2VUb1Nob3cgPSBcInNob3dfcmVmbGVjdGlvblwiXG4gICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy5tb2RlbCAmJiBxdWVyeVBhcmFtcy5tb2RlbF9pZCAmJiBxdWVyeVBhcmFtcy5tb2RlID09IFwiZWRpdFwiKSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJlZGl0XCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX2lkKSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJzaG93XCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGUgPT0gXCJuZXdcIikge1xuICAgICAgcGFnZVRvU2hvdyA9IFwiZWRpdFwiXG4gICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy5tb2RlbCkge1xuICAgICAgcGFnZVRvU2hvdyA9IFwiaW5kZXhcIlxuICAgIH0gZWxzZSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJ3ZWxjb21lXCJcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpb25zVmlld1N0eWxlID0gdXNlU3R5bGVzKHN0eWxlcywgXCJhY3Rpb25zVmlld1wiKVxuXG4gICAgY29uc3QgYWN0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiA8VmlldyBzdHlsZT17YWN0aW9uc1ZpZXdTdHlsZX0+XG4gICAgICAgIHttb2RlbCAmJiBtb2RlbENvbmZpZ0FjdGlvbnMgJiYgbW9kZWxDb25maWdBY3Rpb25zKHttb2RlbH0pfVxuICAgICAgICB7bW9kZWxDbGFzcyAmJiBwYWdlVG9TaG93ID09IFwiaW5kZXhcIiAmJlxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7Y2FuQ2FuPy5jYW4oXCJuZXdcIiwgbW9kZWxDbGFzcykgJiYgaGFzRWRpdENvbmZpZyhtb2RlbENsYXNzKSAmJlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzLmNyZWF0ZU5ld01vZGVsTGluayB8fD0ge2NsYXNzOiBcImNyZWF0ZS1uZXctbW9kZWwtbGlua1wifX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmNyZWF0ZU5ld01vZGVsTGlua31cbiAgICAgICAgICAgICAgICB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBtb2RlbE5hbWUsIG1vZGU6IFwibmV3XCJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0PkNyZWF0ZSBuZXc8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgfVxuICAgICAgICB7bW9kZWwgJiYgcGFnZVRvU2hvdyA9PSBcInNob3dcIiAmJlxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7bW9kZWwuY2FuKFwiZWRpdFwiKSAmJiBoYXNFZGl0Q29uZmlnKG1vZGVsQ2xhc3MpICYmXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgZGF0YVNldD17ZGF0YVNldHMuZWRpdE1vZGVsTGluayB8fD0ge2NsYXNzOiBcImVkaXQtbW9kZWwtbGlua1wifX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmVkaXRNb2RlbExpbmt9XG4gICAgICAgICAgICAgICAgdG89e1BhcmFtcy53aXRoUGFyYW1zKHttb2RlbDogbW9kZWxOYW1lLCBtb2RlbF9pZDogbW9kZWxJZCwgbW9kZTogXCJlZGl0XCJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0PkVkaXQ8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHttb2RlbC5jYW4oXCJkZXN0cm95XCIpICYmXG4gICAgICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5kZXN0cm95TW9kZWxMaW5rIHx8PSB7Y2xhc3M6IFwiZGVzdHJveS1tb2RlbC1saW5rXCJ9fVxuICAgICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25EZXN0cm95Q2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmRlc3Ryb3lNb2RlbExpbmt9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VGV4dD5EZWxldGU8L1RleHQ+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwic2hvd19yZWZsZWN0aW9uXCIgJiZcbiAgICAgICAgICA8U2hvd1JlZmxlY3Rpb25BY3Rpb25zIG1vZGVsPXttb2RlbH0gbW9kZWxDbGFzcz17bW9kZWxDbGFzc30gcmVmbGVjdGlvbk5hbWU9e3F1ZXJ5UGFyYW1zLm1vZGVsX3JlZmxlY3Rpb259IC8+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz4sIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LWNsb3NpbmctdGFnLWxvY2F0aW9uXG4gICAgICBbY2FuQ2FuLCBjb25maWdSZWFkZXI/LmFjdGlvbnMsIG1vZGVsLCBtb2RlbENsYXNzLCBwYWdlVG9TaG93XVxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8TGF5b3V0IGFjdGlvbnM9e2FjdGlvbnN9IGFjdGl2ZT17cXVlcnlQYXJhbXMubW9kZWx9IGhlYWRlclRpdGxlPXttb2RlbENsYXNzPy5tb2RlbE5hbWUoKT8uaHVtYW4oe2NvdW50OiAyfSl9PlxuICAgICAgICB7cGFnZVRvU2hvdyA9PSBcImluZGV4XCIgJiZcbiAgICAgICAgICA8SW5kZXhQYWdlXG4gICAgICAgICAgICBrZXk9e2BpbmRleC1wYWdlLSR7bW9kZWxOYW1lfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJzaG93XCIgJiZcbiAgICAgICAgICA8U2hvd1BhZ2VcbiAgICAgICAgICAgIGtleT17YHNob3ctcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgbW9kZWxJZD17bW9kZWxJZH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwic2hvd19yZWZsZWN0aW9uXCIgJiZcbiAgICAgICAgICA8U2hvd1JlZmxlY3Rpb25QYWdlXG4gICAgICAgICAgICBrZXk9e2BzaG93LXJlZmxlY3Rpb24tcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgICAgbW9kZWxJZD17bW9kZWxJZH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwiZWRpdFwiICYmXG4gICAgICAgICAgPEVkaXRQYWdlXG4gICAgICAgICAgICBrZXk9e2BlZGl0LXBhZ2UtJHttb2RlbE5hbWV9LSR7bW9kZWxJZH1gfVxuICAgICAgICAgICAgbW9kZWxDbGFzcz17bW9kZWxDbGFzc31cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICA8L0xheW91dD5cbiAgICApXG4gIH1cblxuICBvbkRlc3Ryb3lDbGlja2VkID0gYXN5bmMgKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hbGVydFxuICAgIGlmICghY29uZmlybShcIkFyZSB5b3Ugc3VyZT9cIikpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLnMubW9kZWwuZGVzdHJveSgpXG5cbiAgICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMoe21vZGU6IHVuZGVmaW5lZCwgbW9kZWxfaWQ6IHVuZGVmaW5lZH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvclJlc3BvbnNlKGVycm9yKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNElBQTRJO0FBQzVJLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUN4RCxPQUFPLGFBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLFlBQVksTUFBTSxpQkFBaUIsQ0FBQTtBQUMxQyxPQUFPLFFBQVEsTUFBTSxhQUFhLENBQUE7QUFDbEMsT0FBTyxrQkFBa0IsTUFBTSxrREFBa0QsQ0FBQTtBQUNqRixPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFDcEMsT0FBTyxNQUFNLE1BQU0sZ0JBQWdCLENBQUE7QUFDbkMsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFBO0FBQzFCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELG1CQUFtQjtBQUNuQixPQUFPLEtBQUssTUFBTSxNQUFNLFdBQVcsQ0FBQSxDQUFDLDJDQUEyQztBQUMvRSxPQUFPLE1BQU0sTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sUUFBUSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8scUJBQXFCLE1BQU0sMkJBQTJCLENBQUE7QUFDN0QsT0FBTyxrQkFBa0IsTUFBTSx3QkFBd0IsQ0FBQTtBQUN2RCxPQUFPLElBQUksTUFBTSxlQUFlLENBQUE7QUFDaEMsT0FBTyxTQUFTLE1BQU0sbUJBQW1CLENBQUE7QUFDekMsT0FBTyxjQUFjLE1BQU0sd0JBQXdCLENBQUE7QUFDbkQsT0FBTyxjQUFjLE1BQU0sK0NBQStDLENBQUE7QUFD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U0FBUyxFQUFFLENBRTlCLEVBRUgsVUFBVSxJQUFJLE1BQU07b0JBQ25CLEtBQUMsUUFBUSxJQUVQLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLE9BQU8sRUFBRSxPQUFPLElBRlgsYUFBYSxTQUFTLElBQUksT0FBTyxFQUFFLENBR3hDLEVBRUgsVUFBVSxJQUFJLGlCQUFpQjtvQkFDOUIsS0FBQyxrQkFBa0IsSUFFakIsVUFBVSxFQUFFLFVBQVUsRUFDdEIsT0FBTyxFQUFFLE9BQU8sSUFGWCx3QkFBd0IsU0FBUyxJQUFJLE9BQU8sRUFBRSxDQUduRCxFQUVILFVBQVUsSUFBSSxNQUFNO29CQUNuQixLQUFDLFFBQVEsSUFFUCxVQUFVLEVBQUUsVUFBVSxJQURqQixhQUFhLFNBQVMsSUFBSSxPQUFPLEVBQUUsQ0FFeEMsSUFFRyxDQUNWLENBQUE7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDNUIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFNO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUE7WUFFNUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixrQkFBa0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmV0dXJuLWFzc2lnbiwgcmVhY3QvanN4LW5vLWxpdGVyYWxzLCByZWFjdC9qc3gtbm8tdXNlbGVzcy1mcmFnbWVudCwgcmVhY3QvanN4LW9uZS1leHByZXNzaW9uLXBlci1saW5lLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgU3R5bGVTaGVldCwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IENvbmZpZ1JlYWRlciBmcm9tIFwiLi9jb25maWctcmVhZGVyXCJcbmltcG9ydCBFZGl0UGFnZSBmcm9tIFwiLi9lZGl0LXBhZ2VcIlxuaW1wb3J0IEZsYXNoTm90aWZpY2F0aW9ucyBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9ucy9idWlsZC9mbGFzaC1ub3RpZmljYXRpb25zLmpzXCJcbmltcG9ydCBoYXNFZGl0Q29uZmlnIGZyb20gXCIuL2hhcy1lZGl0LWNvbmZpZy5qc1wiXG5pbXBvcnQgSW5kZXhQYWdlIGZyb20gXCIuL2luZGV4LXBhZ2VcIlxuaW1wb3J0IExheW91dCBmcm9tIFwiLi9sYXlvdXQvaW5kZXhcIlxuaW1wb3J0IExpbmsgZnJvbSBcIi4uL2xpbmtcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuLy8gQHRzLWV4cGVjdC1lcnJvclxuaW1wb3J0ICogYXMgbW9kZWxzIGZyb20gXCJtb2RlbHMuanNcIiAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGltcG9ydC9uby11bnJlc29sdmVkXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi9wYXJhbXMuanNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgU2hvd1BhZ2UgZnJvbSBcIi4vc2hvdy1wYWdlL2luZGV4XCJcbmltcG9ydCBTaG93UmVmbGVjdGlvbkFjdGlvbnMgZnJvbSBcIi4vc2hvdy1yZWZsZWN0aW9uLWFjdGlvbnNcIlxuaW1wb3J0IFNob3dSZWZsZWN0aW9uUGFnZSBmcm9tIFwiLi9zaG93LXJlZmxlY3Rpb24tcGFnZVwiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQgdXNlQ2FuQ2FuIGZyb20gXCIuLi91c2UtY2FuLWNhbi5qc1wiXG5pbXBvcnQgdXNlQ3VycmVudFVzZXIgZnJvbSBcIi4uL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuaW1wb3J0IHVzZVF1ZXJ5UGFyYW1zIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1xdWVyeS1wYXJhbXMuanNcIlxuaW1wb3J0IHVzZVN0eWxlcyBmcm9tIFwiLi4vdXNlLXN0eWxlcy5qc1wiXG5cbmNvbnN0IHN0eWxlcyA9IFN0eWxlU2hlZXQuY3JlYXRlKHtcbiAgYWN0aW9uc1ZpZXc6IHtcbiAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCJcbiAgfSxcbiAgY3JlYXRlTmV3TW9kZWxMaW5rOiB7XG4gICAgbWFyZ2luTGVmdDogMTAsXG4gICAgbWFyZ2luUmlnaHQ6IDEwXG4gIH0sXG4gIGRlc3Ryb3lNb2RlbExpbms6IHtcbiAgICBtYXJnaW5MZWZ0OiAxMCxcbiAgICBtYXJnaW5SaWdodDogMTBcbiAgfSxcbiAgZWRpdE1vZGVsTGluazoge1xuICAgIG1hcmdpbkxlZnQ6IDEwLFxuICAgIG1hcmdpblJpZ2h0OiAxMFxuICB9XG59KVxuXG5jb25zdCBkYXRhU2V0cyA9IHt9XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHNldHVwKCkge1xuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB1c2VRdWVyeVBhcmFtcygpXG5cbiAgICBpZiAodGhpcy5xdWVyeVBhcmFtcy5tb2RlbCkge1xuICAgICAgdGhpcy5tb2RlbENsYXNzID0gbW9kZWxzW3RoaXMucXVlcnlQYXJhbXMubW9kZWxdXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubW9kZWxDbGFzcyA9IG51bGxcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZ1JlYWRlciA9IHVzZU1lbW8oKCkgPT4gdGhpcy5tb2RlbENsYXNzICYmIENvbmZpZ1JlYWRlci5mb3JNb2RlbCh0aGlzLm1vZGVsQ2xhc3MpLCBbdGhpcy5tb2RlbENsYXNzXSlcbiAgICB0aGlzLm1vZGVsSWQgPSB0aGlzLnF1ZXJ5UGFyYW1zLm1vZGVsX2lkXG4gICAgdGhpcy5tb2RlbE5hbWUgPSB0aGlzLm1vZGVsQ2xhc3M/Lm1vZGVsQ2xhc3NEYXRhKCk/Lm5hbWVcbiAgICB0aGlzLmN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuXG4gICAgdGhpcy5jYW5DYW4gPSB1c2VDYW5DYW4oXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFiaWxpdGllcyA9IFtdXG5cbiAgICAgICAgaWYgKHRoaXMubW9kZWxDbGFzcykgYWJpbGl0aWVzLnB1c2goW3RoaXMubW9kZWxDbGFzcywgW1wibmV3XCJdXSlcblxuICAgICAgICByZXR1cm4gYWJpbGl0aWVzXG4gICAgICB9LFxuICAgICAgW3RoaXMuY3VycmVudFVzZXI/LmlkKCksIHRoaXMubW9kZWxDbGFzc11cbiAgICApXG5cbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBtb2RlbDogdW5kZWZpbmVkXG4gICAgfSlcbiAgICB1c2VNZW1vKFxuICAgICAgKCkgPT4geyB0aGlzLmxvYWRNb2RlbCgpIH0sXG4gICAgICBbdGhpcy5tb2RlbElkXVxuICAgIClcbiAgfVxuXG4gIGxvYWRNb2RlbCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7Y29uZmlnUmVhZGVyLCBtb2RlbENsYXNzLCBtb2RlbElkLCBtb2RlbE5hbWV9ID0gdGhpcy50dFxuXG4gICAgaWYgKG1vZGVsSWQgJiYgbW9kZWxDbGFzcykge1xuICAgICAgY29uc3QgYWJpbGl0aWVzID0ge31cbiAgICAgIGNvbnN0IGFiaWxpdGllc0Zvck1vZGVsID0gW1wiZGVzdHJveVwiLCBcImVkaXRcIl1cbiAgICAgIGNvbnN0IGxheW91dFNlbGVjdCA9IGNvbmZpZ1JlYWRlcj8ubW9kZWxDb25maWc/LmxheW91dD8uc2VsZWN0XG5cbiAgICAgIGFiaWxpdGllc1ttb2RlbE5hbWVdID0gYWJpbGl0aWVzRm9yTW9kZWxcblxuICAgICAgY29uc3QgcXVlcnkgPSBhd2FpdCBtb2RlbENsYXNzXG4gICAgICAgIC5yYW5zYWNrKHtpZF9lcTogbW9kZWxJZH0pXG4gICAgICAgIC5hYmlsaXRpZXMoYWJpbGl0aWVzKVxuXG4gICAgICBpZiAobGF5b3V0U2VsZWN0KSBxdWVyeS5zZWxlY3QobGF5b3V0U2VsZWN0KVxuXG4gICAgICBjb25zdCBtb2RlbCA9IGF3YWl0IHF1ZXJ5LmZpcnN0KClcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7bW9kZWx9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHttb2RlbDogdW5kZWZpbmVkfSlcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY29tcGxleGl0eVxuICAgIGNvbnN0IHtjYW5DYW4sIGNvbmZpZ1JlYWRlciwgbW9kZWxDbGFzcywgbW9kZWxJZCwgbW9kZWxOYW1lLCBxdWVyeVBhcmFtc30gPSB0aGlzLnR0XG4gICAgY29uc3Qge21vZGVsfSA9IHRoaXMuc1xuICAgIGNvbnN0IG1vZGVsQ29uZmlnQWN0aW9ucyA9IGNvbmZpZ1JlYWRlcj8ubW9kZWxDb25maWc/LmFjdGlvbnNcbiAgICBsZXQgcGFnZVRvU2hvd1xuXG4gICAgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX2lkICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX3JlZmxlY3Rpb24pIHtcbiAgICAgIHBhZ2VUb1Nob3cgPSBcInNob3dfcmVmbGVjdGlvblwiXG4gICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy5tb2RlbCAmJiBxdWVyeVBhcmFtcy5tb2RlbF9pZCAmJiBxdWVyeVBhcmFtcy5tb2RlID09IFwiZWRpdFwiKSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJlZGl0XCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGVsX2lkKSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJzaG93XCJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5UGFyYW1zLm1vZGVsICYmIHF1ZXJ5UGFyYW1zLm1vZGUgPT0gXCJuZXdcIikge1xuICAgICAgcGFnZVRvU2hvdyA9IFwiZWRpdFwiXG4gICAgfSBlbHNlIGlmIChxdWVyeVBhcmFtcy5tb2RlbCkge1xuICAgICAgcGFnZVRvU2hvdyA9IFwiaW5kZXhcIlxuICAgIH0gZWxzZSB7XG4gICAgICBwYWdlVG9TaG93ID0gXCJ3ZWxjb21lXCJcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpb25zVmlld1N0eWxlID0gdXNlU3R5bGVzKHN0eWxlcywgXCJhY3Rpb25zVmlld1wiKVxuXG4gICAgY29uc3QgYWN0aW9ucyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiA8VmlldyBzdHlsZT17YWN0aW9uc1ZpZXdTdHlsZX0+XG4gICAgICAgIHttb2RlbCAmJiBtb2RlbENvbmZpZ0FjdGlvbnMgJiYgbW9kZWxDb25maWdBY3Rpb25zKHttb2RlbH0pfVxuICAgICAgICB7bW9kZWxDbGFzcyAmJiBwYWdlVG9TaG93ID09IFwiaW5kZXhcIiAmJlxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7Y2FuQ2FuPy5jYW4oXCJuZXdcIiwgbW9kZWxDbGFzcykgJiYgaGFzRWRpdENvbmZpZyhtb2RlbENsYXNzKSAmJlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzLmNyZWF0ZU5ld01vZGVsTGluayB8fD0ge2NsYXNzOiBcImNyZWF0ZS1uZXctbW9kZWwtbGlua1wifX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmNyZWF0ZU5ld01vZGVsTGlua31cbiAgICAgICAgICAgICAgICB0bz17UGFyYW1zLndpdGhQYXJhbXMoe21vZGVsOiBtb2RlbE5hbWUsIG1vZGU6IFwibmV3XCJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0PkNyZWF0ZSBuZXc8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8Lz5cbiAgICAgICAgfVxuICAgICAgICB7bW9kZWwgJiYgcGFnZVRvU2hvdyA9PSBcInNob3dcIiAmJlxuICAgICAgICAgIDw+XG4gICAgICAgICAgICB7bW9kZWwuY2FuKFwiZWRpdFwiKSAmJiBoYXNFZGl0Q29uZmlnKG1vZGVsQ2xhc3MpICYmXG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgZGF0YVNldD17ZGF0YVNldHMuZWRpdE1vZGVsTGluayB8fD0ge2NsYXNzOiBcImVkaXQtbW9kZWwtbGlua1wifX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmVkaXRNb2RlbExpbmt9XG4gICAgICAgICAgICAgICAgdG89e1BhcmFtcy53aXRoUGFyYW1zKHttb2RlbDogbW9kZWxOYW1lLCBtb2RlbF9pZDogbW9kZWxJZCwgbW9kZTogXCJlZGl0XCJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxUZXh0PkVkaXQ8L1RleHQ+XG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHttb2RlbC5jYW4oXCJkZXN0cm95XCIpICYmXG4gICAgICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5kZXN0cm95TW9kZWxMaW5rIHx8PSB7Y2xhc3M6IFwiZGVzdHJveS1tb2RlbC1saW5rXCJ9fVxuICAgICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25EZXN0cm95Q2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLmRlc3Ryb3lNb2RlbExpbmt9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VGV4dD5EZWxldGU8L1RleHQ+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvPlxuICAgICAgICB9XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwic2hvd19yZWZsZWN0aW9uXCIgJiZcbiAgICAgICAgICA8U2hvd1JlZmxlY3Rpb25BY3Rpb25zIG1vZGVsPXttb2RlbH0gbW9kZWxDbGFzcz17bW9kZWxDbGFzc30gcmVmbGVjdGlvbk5hbWU9e3F1ZXJ5UGFyYW1zLm1vZGVsX3JlZmxlY3Rpb259IC8+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz4sIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcmVhY3QvanN4LWNsb3NpbmctdGFnLWxvY2F0aW9uXG4gICAgICBbY2FuQ2FuLmdldENhY2hlS2V5KCksIGNvbmZpZ1JlYWRlcj8uYWN0aW9ucywgbW9kZWwsIG1vZGVsQ2xhc3MsIHBhZ2VUb1Nob3ddXG4gICAgKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMYXlvdXQgYWN0aW9ucz17YWN0aW9uc30gYWN0aXZlPXtxdWVyeVBhcmFtcy5tb2RlbH0gaGVhZGVyVGl0bGU9e21vZGVsQ2xhc3M/Lm1vZGVsTmFtZSgpPy5odW1hbih7Y291bnQ6IDJ9KX0+XG4gICAgICAgIHtwYWdlVG9TaG93ID09IFwiaW5kZXhcIiAmJlxuICAgICAgICAgIDxJbmRleFBhZ2VcbiAgICAgICAgICAgIGtleT17YGluZGV4LXBhZ2UtJHttb2RlbE5hbWV9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgICB7cGFnZVRvU2hvdyA9PSBcInNob3dcIiAmJlxuICAgICAgICAgIDxTaG93UGFnZVxuICAgICAgICAgICAga2V5PXtgc2hvdy1wYWdlLSR7bW9kZWxOYW1lfS0ke21vZGVsSWR9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgICBtb2RlbElkPXttb2RlbElkfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJzaG93X3JlZmxlY3Rpb25cIiAmJlxuICAgICAgICAgIDxTaG93UmVmbGVjdGlvblBhZ2VcbiAgICAgICAgICAgIGtleT17YHNob3ctcmVmbGVjdGlvbi1wYWdlLSR7bW9kZWxOYW1lfS0ke21vZGVsSWR9YH1cbiAgICAgICAgICAgIG1vZGVsQ2xhc3M9e21vZGVsQ2xhc3N9XG4gICAgICAgICAgICBtb2RlbElkPXttb2RlbElkfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgICAge3BhZ2VUb1Nob3cgPT0gXCJlZGl0XCIgJiZcbiAgICAgICAgICA8RWRpdFBhZ2VcbiAgICAgICAgICAgIGtleT17YGVkaXQtcGFnZS0ke21vZGVsTmFtZX0tJHttb2RlbElkfWB9XG4gICAgICAgICAgICBtb2RlbENsYXNzPXttb2RlbENsYXNzfVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIDwvTGF5b3V0PlxuICAgIClcbiAgfVxuXG4gIG9uRGVzdHJveUNsaWNrZWQgPSBhc3luYyAoKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWFsZXJ0XG4gICAgaWYgKCFjb25maXJtKFwiQXJlIHlvdSBzdXJlP1wiKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMucy5tb2RlbC5kZXN0cm95KClcblxuICAgICAgUGFyYW1zLmNoYW5nZVBhcmFtcyh7bW9kZTogdW5kZWZpbmVkLCBtb2RlbF9pZDogdW5kZWZpbmVkfSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmVycm9yUmVzcG9uc2UoZXJyb3IpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
@@ -129,4 +129,4 @@ export default memo(shapeComponent(class ApiMakerSuperAdminLayoutHeader extends
129
129
  }
130
130
  };
131
131
  }));
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9oZWFkZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpSEFBaUg7QUFDakgsMkVBQTJFO0FBQzNFLE9BQU8sS0FBSyxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNoRCxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLGdCQUFnQixNQUFNLHVCQUF1QixDQUFBO0FBRXBELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQiwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFO0lBQzdDLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUU5QixPQUFPLFdBQVcsQ0FBQyxDQUFDLEVBQUMsWUFBWSxHQUFHLENBQUMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUk7WUFDZixDQUFDLENBQUM7Z0JBQ0UsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixX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Q0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQsIG5vLXJldHVybi1hc3NpZ24sIHJlYWN0L2pzeC1jbG9zaW5nLWJyYWNrZXQtbG9jYXRpb24sIHJlYWN0L2pzeC1jbG9zaW5nLXRhZy1sb2NhdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LWluZGVudCwgcmVhY3QvanN4LWluZGVudC1wcm9wcywgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi8uLi91dGlscy9pY29uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlRXZlbnRMaXN0ZW5lciBmcm9tIFwieWEtdXNlLWV2ZW50LWxpc3RlbmVyXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG4vLyBIb29rIGZvciBjb25zaXN0ZW50IGFjdGlvbiBidXR0b24gc3R5bGluZyBhY3Jvc3MgYnJlYWtwb2ludHNcbmV4cG9ydCBjb25zdCB1c2VIZWFkZXJBY3Rpb25CdXR0b25TdHlsZSA9ICgpID0+IHtcbiAgY29uc3Qge21kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKCh7c3RhY2tlZEluZGV4ID0gMH0gPSB7fSkgPT4ge1xuICAgIGNvbnN0IGJhc2UgPSBtZFVwXG4gICAgICA/IHtcbiAgICAgICAgICBhbGlnblNlbGY6IFwiZmxleC1zdGFydFwiLFxuICAgICAgICAgIHBhZGRpbmdWZXJ0aWNhbDogNyxcbiAgICAgICAgICBwYWRkaW5nSG9yaXpvbnRhbDogMTAsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IFwiI2NiZDVlMVwiLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiA0LFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogNCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgZm9udFNpemU6IDEzXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGFsaWduU2VsZjogXCJzdHJldGNoXCIsXG4gICAgICAgICAgcGFkZGluZzogMTFcbiAgICAgICAgfVxuXG4gICAgaWYgKCFtZFVwICYmIHN0YWNrZWRJbmRleCA+IDApIHtcbiAgICAgIGJhc2UuYm9yZGVyVG9wV2lkdGggPSAxXG4gICAgICBiYXNlLmJvcmRlclRvcENvbG9yID0gXCIjYzljOWM5XCJcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZVxuICB9LCBbbWRVcF0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0SGVhZGVyIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgIGFjdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gICAgb25UcmlnZ2VyTWVudTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtuYW1lOiBicmVha3BvaW50LCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zUmVmID0gdXNlUmVmKClcbiAgICB0aGlzLnNldEluc3RhbmNlKHticmVha3BvaW50LCBtZFVwfSlcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBoZWFkZXJBY3Rpb25zQWN0aXZlOiBmYWxzZVxuICAgIH0pXG5cbiAgICB1c2VFdmVudExpc3RlbmVyKHdpbmRvdywgXCJtb3VzZXVwXCIsIHRoaXMudHQub25XaW5kb3dNb3VzZVVwKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHticmVha3BvaW50LCBtZFVwfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YWN0aW9ucywgb25UcmlnZ2VyTWVudSwgdGl0bGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgY29uc3QgaGVhZGVyU3R5bGUgPSB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgekluZGV4OiA5LFxuICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0xlZnQ6IDMwLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIlxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZSA9IHt9XG4gICAgY29uc3QgaGVhZGVyQWN0aW9uc1N0eWxlID0ge1xuICAgICAgZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwiLFxuICAgICAgYWxpZ25JdGVtczogbWRVcCA/IFwiZmxleC1zdGFydFwiIDogXCJzdHJldGNoXCIsXG4gICAgICBnYXA6IG1kVXAgPyA4IDogMFxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwieHNcIiB8fCBicmVha3BvaW50ID09IFwic21cIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCJcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCIxMDAlXCJcblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUsIHtcbiAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG5cbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInJnYmEoMCwgMCwgMCwgMC44KVwiXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlKSB7XG4gICAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5kaXNwbGF5ID0gXCJub25lXCJcbiAgICAgIH1cblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zU3R5bGUsIHtcbiAgICAgICAgbWluV2lkdGg6IFwiODB2d1wiLFxuICAgICAgICBtYXhXaWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCA9PSBcIm1kXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiXG4gICAgICBoZWFkZXJTdHlsZS5sZWZ0ID0gMjUwXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiY2FsYygxMDAlIC0gMjUwcHgpXCJcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQgPT0gXCJsZ1wiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4bFwiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4eGxcIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCJcbiAgICAgIGhlYWRlclN0eWxlLmxlZnQgPSAyOTBcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCJjYWxjKDEwMCUgLSAyOTBweClcIlxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwibWRcIiB8fCBicmVha3BvaW50ID09IFwibGdcIiB8fCBicmVha3BvaW50ID09IFwieGxcIiB8fCBicmVha3BvaW50ID09IFwieHhsXCIpIHtcbiAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5tYXJnaW5MZWZ0ID0gXCJhdXRvXCJcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXQtLWhlYWRlclwifSl9IHN0eWxlPXtoZWFkZXJTdHlsZX0+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItdGl0bGUtY29udGFpbmVyXCJ9KX0+XG4gICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVRleHRTdHlsZVwiLCB7Y29sb3I6IFwiIzI4MmEzM1wiLCBmb250U2l6ZTogMjJ9KX0+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ZpZXc+XG4gICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BoZWFkZXJBY3Rpb25zQ29udGFpbmVyLSR7dGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmV9YF0gfHw9IHtcbiAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSxcbiAgICAgICAgICAgICAgY2xhc3M6IFwiaGVhZGVyLWFjdGlvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzdHlsZT17aGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiaGVhZGVyQWN0aW9uc1ZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItYWN0aW9uc1wifSl9XG4gICAgICAgICAgICByZWY9e3RoaXMudHQuaGVhZGVyQWN0aW9uc1JlZn1cbiAgICAgICAgICAgIHN0eWxlPXtoZWFkZXJBY3Rpb25zU3R5bGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnN9XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgICB7IW1kVXAgJiZcbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImJ1cmdlck1lbnVDb250YWluZXJEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1jb250YWluZXJcIn0pfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJidXJnZXJNZW51Q29udGFpbmVyU3R5bGVcIiwge1xuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnMgJiZcbiAgICAgICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJhY3Rpb25zTGlua0RhdGFTZXRcIiwge2NsYXNzOiBcImFjdGlvbnMtbGlua1wifSl9XG4gICAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkdlYXJzQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImFjdGlvbnNMaW5rU3R5bGVcIiwge21hcmdpblJpZ2h0OiA4LCBmb250U2l6ZTogMjJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJnZWFyXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPFByZXNzYWJsZSBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiYnVyZ2VyTWVudUxpbmtEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1saW5rXCJ9KX0gb25QcmVzcz17b25UcmlnZ2VyTWVudX0+XG4gICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJiYXJzXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkdlYXJzQ2xpY2tlZCA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe2hlYWRlckFjdGlvbnNBY3RpdmU6ICF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZX0pXG5cbiAgb25XaW5kb3dNb3VzZVVwID0gKGUpID0+IHtcbiAgICAvLyBDbG9zZSB0aGUgaGVhZGVyIGFjdGlvbnMgbWVudSBpZiBjbGlja2VkIGhhcHBlbmVkIG91dHNpZGVcbiAgICBpZiAodGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUgJiYgdGhpcy50dC5oZWFkZXJBY3Rpb25zUmVmLmN1cnJlbnQgJiYgIXRoaXMudHQuaGVhZGVyQWN0aW9uc1JlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aGVhZGVyQWN0aW9uc0FjdGl2ZTogZmFsc2V9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9oZWFkZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpSEFBaUg7QUFDakgsMkVBQTJFO0FBQzNFLE9BQU8sS0FBSyxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNoRCxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLGdCQUFnQixNQUFNLHVCQUF1QixDQUFBO0FBRXBELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQiwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFO0lBQzdDLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUU5QixPQUFPLFdBQVcsQ0FBQyxDQUFDLEVBQUMsWUFBWSxHQUFHLENBQUMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUk7WUFDZixDQUFDLENBQUM7Z0JBQ0UsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixX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Q0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQsIG5vLXJldHVybi1hc3NpZ24sIHJlYWN0L2pzeC1jbG9zaW5nLWJyYWNrZXQtbG9jYXRpb24sIHJlYWN0L2pzeC1jbG9zaW5nLXRhZy1sb2NhdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LWluZGVudCwgcmVhY3QvanN4LWluZGVudC1wcm9wcywgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi8uLi91dGlscy9pY29uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlRXZlbnRMaXN0ZW5lciBmcm9tIFwieWEtdXNlLWV2ZW50LWxpc3RlbmVyXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG4vLyBIb29rIGZvciBjb25zaXN0ZW50IGFjdGlvbiBidXR0b24gc3R5bGluZyBhY3Jvc3MgYnJlYWtwb2ludHNcbmV4cG9ydCBjb25zdCB1c2VIZWFkZXJBY3Rpb25CdXR0b25TdHlsZSA9ICgpID0+IHtcbiAgY29uc3Qge21kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKCh7c3RhY2tlZEluZGV4ID0gMH0gPSB7fSkgPT4ge1xuICAgIGNvbnN0IGJhc2UgPSBtZFVwXG4gICAgICA/IHtcbiAgICAgICAgICBhbGlnblNlbGY6IFwiZmxleC1zdGFydFwiLFxuICAgICAgICAgIHBhZGRpbmdWZXJ0aWNhbDogNyxcbiAgICAgICAgICBwYWRkaW5nSG9yaXpvbnRhbDogMTAsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IFwiI2NiZDVlMVwiLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiA0LFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogNCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgZm9udFNpemU6IDEzXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGFsaWduU2VsZjogXCJzdHJldGNoXCIsXG4gICAgICAgICAgcGFkZGluZzogMTFcbiAgICAgICAgfVxuXG4gICAgaWYgKCFtZFVwICYmIHN0YWNrZWRJbmRleCA+IDApIHtcbiAgICAgIGJhc2UuYm9yZGVyVG9wV2lkdGggPSAxXG4gICAgICBiYXNlLmJvcmRlclRvcENvbG9yID0gXCIjYzljOWM5XCJcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZVxuICB9LCBbbWRVcF0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0SGVhZGVyIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgIGFjdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gICAgb25UcmlnZ2VyTWVudTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtuYW1lOiBicmVha3BvaW50LCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zUmVmID0gdXNlUmVmKClcbiAgICB0aGlzLnNldEluc3RhbmNlKHticmVha3BvaW50LCBtZFVwfSlcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBoZWFkZXJBY3Rpb25zQWN0aXZlOiBmYWxzZVxuICAgIH0pXG5cbiAgICB1c2VFdmVudExpc3RlbmVyKHdpbmRvdywgXCJtb3VzZXVwXCIsIHRoaXMudHQub25XaW5kb3dNb3VzZVVwKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHticmVha3BvaW50LCBtZFVwfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YWN0aW9ucywgb25UcmlnZ2VyTWVudSwgdGl0bGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgY29uc3QgaGVhZGVyU3R5bGUgPSB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgekluZGV4OiA5LFxuICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0xlZnQ6IDMwLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIlxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZSA9IHt9XG4gICAgY29uc3QgaGVhZGVyQWN0aW9uc1N0eWxlID0ge1xuICAgICAgZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwiLFxuICAgICAgYWxpZ25JdGVtczogbWRVcCA/IFwiZmxleC1zdGFydFwiIDogXCJzdHJldGNoXCIsXG4gICAgICBnYXA6IG1kVXAgPyA4IDogMFxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwieHNcIiB8fCBicmVha3BvaW50ID09IFwic21cIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCJcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCIxMDAlXCJcblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUsIHtcbiAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG5cbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInJnYmEoMCwgMCwgMCwgMC44KVwiXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlKSB7XG4gICAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5kaXNwbGF5ID0gXCJub25lXCJcbiAgICAgIH1cblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zU3R5bGUsIHtcbiAgICAgICAgbWluV2lkdGg6IFwiODB2d1wiLFxuICAgICAgICBtYXhXaWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCA9PSBcIm1kXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiXG4gICAgICBoZWFkZXJTdHlsZS5sZWZ0ID0gMjUwXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiY2FsYygxMDAlIC0gMjUwcHgpXCJcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQgPT0gXCJsZ1wiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4bFwiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4eGxcIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCJcbiAgICAgIGhlYWRlclN0eWxlLmxlZnQgPSAyOTBcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCJjYWxjKDEwMCUgLSAyOTBweClcIlxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwibWRcIiB8fCBicmVha3BvaW50ID09IFwibGdcIiB8fCBicmVha3BvaW50ID09IFwieGxcIiB8fCBicmVha3BvaW50ID09IFwieHhsXCIpIHtcbiAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5tYXJnaW5MZWZ0ID0gXCJhdXRvXCJcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXQtLWhlYWRlclwifSl9IHN0eWxlPXtoZWFkZXJTdHlsZX0+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItdGl0bGUtY29udGFpbmVyXCJ9KX0+XG4gICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVRleHRTdHlsZVwiLCB7Y29sb3I6IFwiIzI4MmEzM1wiLCBmb250U2l6ZTogMjJ9KX0+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ZpZXc+XG4gICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BoZWFkZXJBY3Rpb25zQ29udGFpbmVyLSR7dGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmV9YF0gfHw9IHtcbiAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSxcbiAgICAgICAgICAgICAgY2xhc3M6IFwiaGVhZGVyLWFjdGlvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzdHlsZT17aGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJBY3Rpb25zVmlld0RhdGFTZXRcIiwge2NsYXNzOiBcImhlYWRlci1hY3Rpb25zXCJ9KX1cbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnR0LmhlYWRlckFjdGlvbnNSZWZ9XG4gICAgICAgICAgICAgIHN0eWxlPXtoZWFkZXJBY3Rpb25zU3R5bGV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHthY3Rpb25zfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgICB7IW1kVXAgJiZcbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImJ1cmdlck1lbnVDb250YWluZXJEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1jb250YWluZXJcIn0pfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJidXJnZXJNZW51Q29udGFpbmVyU3R5bGVcIiwge1xuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnMgJiZcbiAgICAgICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJhY3Rpb25zTGlua0RhdGFTZXRcIiwge2NsYXNzOiBcImFjdGlvbnMtbGlua1wifSl9XG4gICAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkdlYXJzQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImFjdGlvbnNMaW5rU3R5bGVcIiwge21hcmdpblJpZ2h0OiA4LCBmb250U2l6ZTogMjJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJnZWFyXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPFByZXNzYWJsZSBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiYnVyZ2VyTWVudUxpbmtEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1saW5rXCJ9KX0gb25QcmVzcz17b25UcmlnZ2VyTWVudX0+XG4gICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJiYXJzXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkdlYXJzQ2xpY2tlZCA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe2hlYWRlckFjdGlvbnNBY3RpdmU6ICF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZX0pXG5cbiAgb25XaW5kb3dNb3VzZVVwID0gKGUpID0+IHtcbiAgICAvLyBDbG9zZSB0aGUgaGVhZGVyIGFjdGlvbnMgbWVudSBpZiBjbGlja2VkIGhhcHBlbmVkIG91dHNpZGVcbiAgICBpZiAodGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUgJiYgdGhpcy50dC5oZWFkZXJBY3Rpb25zUmVmLmN1cnJlbnQgJiYgIXRoaXMudHQuaGVhZGVyQWN0aW9uc1JlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aGVhZGVyQWN0aW9uc0FjdGl2ZTogZmFsc2V9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@kaspernj/api-maker",
3
3
  "type": "module",
4
- "version": "1.0.2097",
4
+ "version": "1.0.2100",
5
5
  "description": "My new module",
6
6
  "files": [
7
7
  "build/**"