valtech-components 4.0.569 → 4.0.571
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/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +26 -3
- package/esm2022/lib/components/atoms/qr-code/types.mjs +1 -1
- package/esm2022/lib/components/molecules/ticket-card/ticket-card.component.mjs +6 -12
- package/esm2022/lib/components/organisms/mini-games/chessimals-challenge-progress.service.mjs +28 -27
- package/esm2022/lib/components/organisms/mini-games/chessimals-engine.mjs +32 -13
- package/esm2022/lib/components/organisms/mini-games/chessimals-game.component.mjs +135 -32
- package/esm2022/lib/components/organisms/mini-games/mini-games.i18n.mjs +19 -19
- package/esm2022/lib/services/errors/valtech-error.service.mjs +3 -3
- package/esm2022/lib/services/ticket-card-image/ticket-card-image.service.mjs +32 -1
- package/esm2022/lib/services/ticket-card-image/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/fesm2022/valtech-components.mjs +273 -102
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/qr-code/qr-code.component.d.ts +1 -0
- package/lib/components/atoms/qr-code/types.d.ts +4 -0
- package/lib/components/organisms/mini-games/chessimals-challenge-progress.service.d.ts +1 -0
- package/lib/components/organisms/mini-games/chessimals-game.component.d.ts +13 -1
- package/lib/services/errors/valtech-error.service.d.ts +3 -3
- package/lib/services/ticket-card-image/ticket-card-image.service.d.ts +2 -0
- package/lib/services/ticket-card-image/types.d.ts +2 -0
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -112,11 +112,11 @@ export class ValtechErrorService {
|
|
|
112
112
|
color: 'dark',
|
|
113
113
|
position: 'top',
|
|
114
114
|
// Más tiempo cuando hay botón de copia — el usuario necesita leerlo y tapear.
|
|
115
|
-
duration: opId ?
|
|
115
|
+
duration: opId ? 8000 : 3000,
|
|
116
116
|
buttons: opId
|
|
117
117
|
? [
|
|
118
118
|
{
|
|
119
|
-
text: 'Copiar
|
|
119
|
+
text: 'Copiar código de error',
|
|
120
120
|
handler: () => {
|
|
121
121
|
void navigator.clipboard.writeText(opId);
|
|
122
122
|
},
|
|
@@ -166,4 +166,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
166
166
|
type: Injectable,
|
|
167
167
|
args: [{ providedIn: 'root' }]
|
|
168
168
|
}] });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGVjaC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDO0FBRWpFLDhGQUE4RjtBQUM5RixNQUFNLHdCQUF3QixHQUFHLG1DQUFtQyxDQUFDO0FBRXJFLHNFQUFzRTtBQUN0RSxNQUFNLHdCQUF3QixHQUFHLHFDQUFxQyxDQUFDO0FBeUN2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLDRFQUE0RTtRQUMzRCxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FzSDNFO0lBcEhDOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxNQUFNLENBQUMsR0FBWSxFQUFFLE9BQWtDLEVBQUU7UUFDdkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFD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QUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi9maXJlYmFzZS9hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJy4uL2kxOG4vaTE4bi5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uL3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSW50ZXJwcmV0ZWRFcnJvciwgaW50ZXJwcmV0RXJyb3IgfSBmcm9tICcuL2ludGVycHJldC1lcnJvcic7XG5cbi8qKlxuICogS2V5IGkxOG4gZmlqYSBkZSBsYSBsaWJyZXLDrWEgcGFyYSBmYWxsb3MgZGUgcmVkLiBMYXMgYXBwcyBwdWVkZW4gZGVmaW5pcmxhIGVuXG4gKiBzdSBjb250ZW5pZG8gaTE4biAobmFtZXNwYWNlIGBfZ2xvYmFsYCkgcGFyYSBwZXJzb25hbGl6YXIgZWwgdGV4dG87IHNpIG5vXG4gKiBleGlzdGUsIHNlIHVzYSB7QGxpbmsgTkVUV09SS19GQUxMQkFDS19NRVNTQUdFfS5cbiAqL1xuZXhwb3J0IGNvbnN0IFZBTFRFQ0hfTkVUV09SS19FUlJPUl9LRVkgPSAndmFsdGVjaC5lcnJvci5uZXR3b3JrJztcblxuLyoqIFRleHRvIGVuIGVzcGHDsW9sIHBvciBkZWZlY3RvIGN1YW5kbyB7QGxpbmsgVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWX0gbm8gZXN0w6EgZGVmaW5pZGEuICovXG5jb25zdCBORVRXT1JLX0ZBTExCQUNLX01FU1NBR0UgPSAnU2luIGNvbmV4acOzbi4gUmV2aXPDoSB0dSBpbnRlcm5ldC4nO1xuXG4vKiogVGV4dG8gZ2Vuw6lyaWNvIGVuIGVzcGHDsW9sIGN1YW5kbyBubyBoYXkgbWF0Y2ggbmkgYGZhbGxiYWNrS2V5YC4gKi9cbmNvbnN0IEdFTkVSSUNfRkFMTEJBQ0tfTUVTU0FHRSA9ICdPY3VycmnDsyB1biBlcnJvci4gSW50ZW50w6EgZGUgbnVldm8uJztcblxuLyoqXG4gKiBPcGNpb25lcyBkZSB7QGxpbmsgVmFsdGVjaEVycm9yU2VydmljZS5oYW5kbGV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbHRlY2hFcnJvckhhbmRsZU9wdGlvbnMge1xuICAvKipcbiAgICogSWRlbnRpZmljYWRvciBkZWwgcHVudG8gZGUgZmFsbG8sIGVqLiBgJ3Byb2ZpbGUuc2F2ZSdgLiBTZSBpbmNsdXllIGVuIGVsXG4gICAqIGxvZyBkZSBjb25zb2xhIHkgZW4gZWwgcmVwb3J0ZSBhIEFuYWx5dGljcyBwYXJhIGZhY2lsaXRhciBlbCB0cmFjaW5nLlxuICAgKi9cbiAgY29udGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogTWFwYSBgY8OzZGlnbyBkZSBiYWNrZW5kIOKGkiBrZXkgaTE4bmAuIExvIHByb3ZlZSBsYSBhcHAsIHF1ZSBjb25vY2Ugc3VzXG4gICAqIHByb3BpYXMgdHJhZHVjY2lvbmVzLiBFai4gYHsgRU1BSUxfVEFLRU46ICdlcnJvcnMuZW1haWxUYWtlbicgfWAuXG4gICAqL1xuICBpMThuTWFwPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogS2V5IGkxOG4gYSB1c2FyIGN1YW5kbyBubyBoYXkgbWF0Y2ggZW4gYGkxOG5NYXBgICh5IGVsIGVycm9yIG5vIGVzIGRlIHJlZCkuXG4gICAqIFNpIHNlIG9taXRlLCBzZSB1c2EgdW4gbWVuc2FqZSBnZW7DqXJpY28gZW4gZXNwYcOxb2wuXG4gICAqL1xuICBmYWxsYmFja0tleT86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZXNwYWNlIGkxOG4gcGFyYSByZXNvbHZlciBgaTE4bk1hcGAgLyBgZmFsbGJhY2tLZXlgIC8gbGEga2V5IGRlIHJlZC5cbiAgICogRGVmYXVsdDogYF9nbG9iYWxgLlxuICAgKi9cbiAgaTE4bk5hbWVzcGFjZT86IHN0cmluZztcblxuICAvKiogU2kgbW9zdHJhciB1biB0b2FzdCBjb24gZWwgbWVuc2FqZSByZXN1ZWx0by4gRGVmYXVsdDogYHRydWVgLiAqL1xuICB0b2FzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNpIGluY2x1aXIgdW4gYm90w7NuIFwiQ29waWFyIElEXCIgZW4gZWwgdG9hc3QgY3VhbmRvIGVsIGJhY2tlbmQgZGV2dWVsdmUgdW5cbiAgICogYG9wZXJhdGlvbklkYC4gw5p0aWwgcGFyYSBzb3BvcnRlOiBlbCB1c3VhcmlvIGNvcGlhIGVsIElEIHkgbG8gZW50cmVnYSBhbFxuICAgKiBlcXVpcG8gcGFyYSBidXNjYXIgZW4gQ2xvdWRXYXRjaC4gRGVmYXVsdDogYGZhbHNlYC5cbiAgICovXG4gIHNob3dPcGVyYXRpb25JZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU2VydmljaW8gZGUgVVggZGUgZXJyb3JlcyBjYXB0dXJhZG9zIChDYXBhIDMgZGVsIGVzdMOhbmRhciBkZSBtYW5lam8gZGUgZXJyb3JlcykuXG4gKlxuICogTWllbnRyYXMgbGEgQ2FwYSAxICh7QGxpbmsgZXJyb3JMb2dnaW5nSW50ZXJjZXB0b3J9KSBvYnNlcnZhIFRPREFTIGxhc1xuICogcmVzcHVlc3RhcyBIVFRQIGNvbiBlcnJvciwgeSBsYSBDYXBhIDIgKGBBbmFseXRpY3NFcnJvckhhbmRsZXJgKSBjYXB0dXJhIGxvc1xuICogZXJyb3JlcyBOTyBtYW5lamFkb3MsIGxhIENhcGEgMyBlcyBlbCBwdW50byDDum5pY28gcXVlIHVuYSBww6FnaW5hIHVzYSBlbiBzdVxuICogYGNhdGNoYCBwYXJhIGNvbnZlcnRpciB1biBlcnJvciBlbiBmZWVkYmFjayBhbCB1c3VhcmlvLlxuICpcbiAqIFJlc3BvbnNhYmlsaWRhZGVzIGRlIHtAbGluayBoYW5kbGV9OlxuICogMS4gTm9ybWFsaXphIGVsIGVycm9yIChgaW50ZXJwcmV0RXJyb3JgKS5cbiAqIDIuIExvZ3VlYSBhIGNvbnNvbGEgKyByZXBvcnRhIGEgQW5hbHl0aWNzIChgc291cmNlOiAnaGFuZGxlZCdgLCBjb24gYGNvbnRleHRgKS5cbiAqIDMuIFJlc3VlbHZlIHVuIG1lbnNhamUgbG9jYWxpemFkbyAodmVyIG9yZGVuIGRlIHJlc29sdWNpw7NuIGVuIHtAbGluayBoYW5kbGV9KS5cbiAqIDQuIE11ZXN0cmEgdW4gdG9hc3QgKGBjb2xvcjogJ2RhcmsnYCwgZXN0w6FuZGFyIFZhbHRlY2gpIHNhbHZvIGB0b2FzdDogZmFsc2VgLlxuICogNS4gRGV2dWVsdmUgZWwge0BsaW5rIEludGVycHJldGVkRXJyb3J9IHBhcmEgcXVlIGxhIHDDoWdpbmEgZGVjaWRhIGzDs2dpY2EgZXh0cmEuXG4gKlxuICogKipOdW5jYSBsYW56YS4qKiBgQW5hbHl0aWNzU2VydmljZWAgc2UgaW55ZWN0YSBgQE9wdGlvbmFsKClgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogcHJpdmF0ZSBlcnJvcnMgPSBpbmplY3QoVmFsdGVjaEVycm9yU2VydmljZSk7XG4gKlxuICogYXN5bmMgc2F2ZSgpIHtcbiAqICAgdHJ5IHtcbiAqICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmFwaS51cGRhdGVQcm9maWxlKHRoaXMuZm9ybS52YWx1ZSkpO1xuICogICAgIHRoaXMudG9hc3Quc2hvdyh7IG1lc3NhZ2U6ICdQZXJmaWwgYWN0dWFsaXphZG8nLCBjb2xvcjogJ2RhcmsnIH0pO1xuICogICB9IGNhdGNoIChlcnIpIHtcbiAqICAgICB0aGlzLmVycm9ycy5oYW5kbGUoZXJyLCB7XG4gKiAgICAgICBjb250ZXh0OiAncHJvZmlsZS5zYXZlJyxcbiAqICAgICAgIGkxOG5NYXA6IHsgRU1BSUxfVEFLRU46ICdlcnJvcnMuZW1haWxUYWtlbicgfSxcbiAqICAgICAgIGZhbGxiYWNrS2V5OiAnZXJyb3JzLnByb2ZpbGVTYXZlRmFpbGVkJyxcbiAqICAgICB9KTtcbiAqICAgfVxuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVmFsdGVjaEVycm9yU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaTE4biA9IGluamVjdChJMThuU2VydmljZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9hc3QgPSBpbmplY3QoVG9hc3RTZXJ2aWNlKTtcbiAgLy8gQXBwcyBzaW4gRmlyZWJhc2UgQW5hbHl0aWNzOiBlbCBzZXJ2aWNpbyBzaWd1ZSBmdW5jaW9uYW5kbyAobG9nICsgdG9hc3QpLlxuICBwcml2YXRlIHJlYWRvbmx5IGFuYWx5dGljcyA9IGluamVjdChBbmFseXRpY3NTZXJ2aWNlLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIC8qKlxuICAgKiBNYW5lamEgdW4gZXJyb3IgY2FwdHVyYWRvOiBub3JtYWxpemEsIG9ic2VydmEgeSBwcm9kdWNlIGZlZWRiYWNrIGRlIHVzdWFyaW8uXG4gICAqXG4gICAqIE9yZGVuIGRlIHJlc29sdWNpw7NuIGRlbCBtZW5zYWplIGRlbCB0b2FzdDpcbiAgICogMS4gYGkxOG5NYXBbY29kZV1gIGRlZmluaWRvIOKGkiBgaTE4bi50KGVzYSBrZXkpYC5cbiAgICogMi4gU2luIG1hdGNoIHkgYGlzTmV0d29ya2Ag4oaSIGtleSBkZSByZWQgKHtAbGluayBWQUxURUNIX05FVFdPUktfRVJST1JfS0VZfSksXG4gICAqICAgIGNvbiBmYWxsYmFjayBhbCB0ZXh0byBlc3Bhw7FvbCBzaSBsYSBhcHAgbm8gbGEgdHJhZHVqby5cbiAgICogMy4gYGZhbGxiYWNrS2V5YCBkZWZpbmlkbyDihpIgYGkxOG4udChmYWxsYmFja0tleSlgLlxuICAgKiA0LiBHZW7DqXJpY28gZW4gZXNwYcOxb2wuXG4gICAqXG4gICAqIEBwYXJhbSBlcnIgQ3VhbHF1aWVyIGVycm9yIGNhcHR1cmFkby5cbiAgICogQHBhcmFtIG9wdHMgT3BjaW9uZXMgZGUgY29udGV4dG8sIG1hcGVvIGkxOG4geSB0b2FzdC5cbiAgICogQHJldHVybnMgRWwge0BsaW5rIEludGVycHJldGVkRXJyb3J9IG5vcm1hbGl6YWRvLiBOdW5jYSBsYW56YS5cbiAgICovXG4gIGhhbmRsZShlcnI6IHVua25vd24sIG9wdHM6IFZhbHRlY2hFcnJvckhhbmRsZU9wdGlvbnMgPSB7fSk6IEludGVycHJldGVkRXJyb3Ige1xuICAgIGNvbnN0IGludGVycHJldGVkID0gaW50ZXJwcmV0RXJyb3IoZXJyKTtcbiAgICBjb25zdCB7IGNvbnRleHQsIGkxOG5NYXAsIGZhbGxiYWNrS2V5LCBpMThuTmFtZXNwYWNlLCB0b2FzdCwgc2hvd09wZXJhdGlvbklkIH0gPSBvcHRzO1xuXG4gICAgLy8gMS4gT2JzZXJ2YWJpbGlkYWQg4oCUIGxvZyBlc3RydWN0dXJhZG8gYSBjb25zb2xhLlxuICAgIGNvbnNvbGUuZXJyb3IoJ1tWYWx0ZWNoRXJyb3JdIGhhbmRsZWQnLCB7XG4gICAgICBjb250ZXh0OiBjb250ZXh0ID8/ICduL2EnLFxuICAgICAgY29kZTogaW50ZXJwcmV0ZWQuY29kZSxcbiAgICAgIHN0YXR1czogaW50ZXJwcmV0ZWQuc3RhdHVzID8/ICduL2EnLFxuICAgICAgb3BlcmF0aW9uSWQ6IGludGVycHJldGVkLm9wZXJhdGlvbklkID8/ICduL2EnLFxuICAgICAgaXNOZXR3b3JrOiBpbnRlcnByZXRlZC5pc05ldHdvcmssXG4gICAgICBtZXNzYWdlOiBpbnRlcnByZXRlZC5tZXNzYWdlLFxuICAgIH0pO1xuXG4gICAgLy8gMi4gUmVwb3J0ZSBhIEFuYWx5dGljcyAoYmVzdC1lZmZvcnQsIG9wY2lvbmFsKS5cbiAgICBpZiAodGhpcy5hbmFseXRpY3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuYW5hbHl0aWNzLmxvZ0Vycm9yKGludGVycHJldGVkLm1lc3NhZ2UsIHtcbiAgICAgICAgICBzb3VyY2U6ICdoYW5kbGVkJyxcbiAgICAgICAgICBjb2RlOiBpbnRlcnByZXRlZC5jb2RlLFxuICAgICAgICAgIC4uLihjb250ZXh0ID8geyBjb250ZXh0IH0gOiB7fSksXG4gICAgICAgICAgLi4uKGludGVycHJldGVkLnN0YXR1cyAhPT0gdW5kZWZpbmVkID8geyBzdGF0dXM6IFN0cmluZyhpbnRlcnByZXRlZC5zdGF0dXMpIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGludGVycHJldGVkLm9wZXJhdGlvbklkID8geyBvcGVyYXRpb25JZDogaW50ZXJwcmV0ZWQub3BlcmF0aW9uSWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oaW50ZXJwcmV0ZWQuaXNOZXR3b3JrID8geyBlcnJvcl9jYXRlZ29yeTogJ25ldHdvcmsnIH0gOiB7fSksXG4gICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAodHJhY2tpbmdFcnJvcikge1xuICAgICAgICBjb25zb2xlLndhcm4oJ1tWYWx0ZWNoRXJyb3JdIGFuYWx5dGljcyB0cmFja2luZyBmYWlsZWQ6JywgdHJhY2tpbmdFcnJvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gMy4gUmVzb2x2ZXIgbWVuc2FqZSBsb2NhbGl6YWRvIHBhcmEgZWwgdXN1YXJpby5cbiAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5yZXNvbHZlTWVzc2FnZShpbnRlcnByZXRlZCwge1xuICAgICAgaTE4bk1hcCxcbiAgICAgIGZhbGxiYWNrS2V5LFxuICAgICAgaTE4bk5hbWVzcGFjZSxcbiAgICB9KTtcblxuICAgIC8vIDQuIFRvYXN0IChlc3TDoW5kYXIgVmFsdGVjaDogY29sb3IgJ2RhcmsnLCBwb3NpdGlvbiAndG9wJykuXG4gICAgaWYgKHRvYXN0ICE9PSBmYWxzZSkge1xuICAgICAgY29uc3Qgb3BJZCA9IHNob3dPcGVyYXRpb25JZCA/IGludGVycHJldGVkLm9wZXJhdGlvbklkIDogdW5kZWZpbmVkO1xuICAgICAgdGhpcy50b2FzdC5zaG93KHtcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgY29sb3I6ICdkYXJrJyxcbiAgICAgICAgcG9zaXRpb246ICd0b3AnLFxuICAgICAgICAvLyBNw6FzIHRpZW1wbyBjdWFuZG8gaGF5IGJvdMOzbiBkZSBjb3BpYSDigJQgZWwgdXN1YXJpbyBuZWNlc2l0YSBsZWVybG8geSB0YXBlYXIuXG4gICAgICAgIGR1cmF0aW9uOiBvcElkID8gNjAwMCA6IDMwMDAsXG4gICAgICAgIGJ1dHRvbnM6IG9wSWRcbiAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRleHQ6ICdDb3BpYXIgSUQnLFxuICAgICAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHZvaWQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQob3BJZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIDUuIERldm9sdmVyIGVsIGVycm9yIG5vcm1hbGl6YWRvIHBhcmEgbMOzZ2ljYSBleHRyYSBkZWwgY2FsbGVyLlxuICAgIHJldHVybiBpbnRlcnByZXRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN1ZWx2ZSBlbCBtZW5zYWplIGEgbW9zdHJhciBzaWd1aWVuZG8gZWwgb3JkZW4gZG9jdW1lbnRhZG8gZW4ge0BsaW5rIGhhbmRsZX0uXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVNZXNzYWdlKFxuICAgIGludGVycHJldGVkOiBJbnRlcnByZXRlZEVycm9yLFxuICAgIG9wdHM6IFBpY2s8VmFsdGVjaEVycm9ySGFuZGxlT3B0aW9ucywgJ2kxOG5NYXAnIHwgJ2ZhbGxiYWNrS2V5JyB8ICdpMThuTmFtZXNwYWNlJz5cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBucyA9IG9wdHMuaTE4bk5hbWVzcGFjZTtcblxuICAgIC8vIDEuIE1hdGNoIGV4YWN0byBwb3IgY8OzZGlnbyBkZSBiYWNrZW5kLlxuICAgIGNvbnN0IG1hcHBlZEtleSA9IG9wdHMuaTE4bk1hcD8uW2ludGVycHJldGVkLmNvZGVdO1xuICAgIGlmIChtYXBwZWRLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZShtYXBwZWRLZXksIG5zKSA/PyBpbnRlcnByZXRlZC5tZXNzYWdlO1xuICAgIH1cblxuICAgIC8vIDIuIEZhbGxvIGRlIHJlZCDihpIga2V5IGRlIHJlZCBkZSBsYSBsaWIsIGNvbiBmYWxsYmFjayBlc3Bhw7FvbC5cbiAgICBpZiAoaW50ZXJwcmV0ZWQuaXNOZXR3b3JrKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUoVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWSwgbnMpID8/IE5FVFdPUktfRkFMTEJBQ0tfTUVTU0FHRTtcbiAgICB9XG5cbiAgICAvLyAzLiBmYWxsYmFja0tleSBwcm92aXN0byBwb3IgbGEgYXBwLlxuICAgIGlmIChvcHRzLmZhbGxiYWNrS2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUob3B0cy5mYWxsYmFja0tleSwgbnMpID8/IGludGVycHJldGVkLm1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLy8gNC4gR2Vuw6lyaWNvIOKAlCBwcmVmZXJpciBlbCBtZW5zYWplIGRlbCBiYWNrZW5kICh5YSB2aWVuZSBlbiBlc3Bhw7FvbCkgc2kgbG8gaGF5LlxuICAgIHJldHVybiBpbnRlcnByZXRlZC5tZXNzYWdlIHx8IEdFTkVSSUNfRkFMTEJBQ0tfTUVTU0FHRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFkdWNlIHVuYSBrZXkgaTE4bi4gRGV2dWVsdmUgYG51bGxgIHNpIGxhIGtleSBubyBlc3TDoSBkZWZpbmlkYSDigJQgZWxcbiAgICogYEkxOG5TZXJ2aWNlYCBkZXZ1ZWx2ZSB1biBwbGFjZWhvbGRlciBgW25hbWVzcGFjZS5rZXldYCBwYXJhIGtleXMgZmFsdGFudGVzO1xuICAgKiBsbyBkZXRlY3RhbW9zIHBhcmEgcG9kZXIgY2FlciBhIHVuIGZhbGxiYWNrIGVuIGx1Z2FyIGRlIG1vc3RyYXIgZWwgcGxhY2Vob2xkZXIuXG4gICAqL1xuICBwcml2YXRlIHRyYW5zbGF0ZShrZXk6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMuaTE4bi50KGtleSwgbmFtZXNwYWNlKTtcbiAgICBjb25zdCBucyA9IG5hbWVzcGFjZSA/PyAnX2dsb2JhbCc7XG4gICAgcmV0dXJuIHRleHQgPT09IGBbJHtuc30uJHtrZXl9XWAgPyBudWxsIDogdGV4dDtcbiAgfVxufVxuIl19
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGVjaC1lcnJvci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9lcnJvcnMvdmFsdGVjaC1lcnJvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFckU7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDO0FBRWpFLDhGQUE4RjtBQUM5RixNQUFNLHdCQUF3QixHQUFHLG1DQUFtQyxDQUFDO0FBRXJFLHNFQUFzRTtBQUN0RSxNQUFNLHdCQUF3QixHQUFHLHFDQUFxQyxDQUFDO0FBeUN2RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUVILE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFbUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMzQixVQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLDRFQUE0RTtRQUMzRCxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FzSDNFO0lBcEhDOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxNQUFNLENBQUMsR0FBWSxFQUFFLE9BQWtDLEVBQUU7UUFDdkQsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFD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LEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uL2ZpcmViYXNlL2FuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IEkxOG5TZXJ2aWNlIH0gZnJvbSAnLi4vaTE4bi9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBJbnRlcnByZXRlZEVycm9yLCBpbnRlcnByZXRFcnJvciB9IGZyb20gJy4vaW50ZXJwcmV0LWVycm9yJztcblxuLyoqXG4gKiBLZXkgaTE4biBmaWphIGRlIGxhIGxpYnJlcsOtYSBwYXJhIGZhbGxvcyBkZSByZWQuIExhcyBhcHBzIHB1ZWRlbiBkZWZpbmlybGEgZW5cbiAqIHN1IGNvbnRlbmlkbyBpMThuIChuYW1lc3BhY2UgYF9nbG9iYWxgKSBwYXJhIHBlcnNvbmFsaXphciBlbCB0ZXh0bzsgc2kgbm9cbiAqIGV4aXN0ZSwgc2UgdXNhIHtAbGluayBORVRXT1JLX0ZBTExCQUNLX01FU1NBR0V9LlxuICovXG5leHBvcnQgY29uc3QgVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWSA9ICd2YWx0ZWNoLmVycm9yLm5ldHdvcmsnO1xuXG4vKiogVGV4dG8gZW4gZXNwYcOxb2wgcG9yIGRlZmVjdG8gY3VhbmRvIHtAbGluayBWQUxURUNIX05FVFdPUktfRVJST1JfS0VZfSBubyBlc3TDoSBkZWZpbmlkYS4gKi9cbmNvbnN0IE5FVFdPUktfRkFMTEJBQ0tfTUVTU0FHRSA9ICdTaW4gY29uZXhpw7NuLiBSZXZpc8OhIHR1IGludGVybmV0Lic7XG5cbi8qKiBUZXh0byBnZW7DqXJpY28gZW4gZXNwYcOxb2wgY3VhbmRvIG5vIGhheSBtYXRjaCBuaSBgZmFsbGJhY2tLZXlgLiAqL1xuY29uc3QgR0VORVJJQ19GQUxMQkFDS19NRVNTQUdFID0gJ09jdXJyacOzIHVuIGVycm9yLiBJbnRlbnTDoSBkZSBudWV2by4nO1xuXG4vKipcbiAqIE9wY2lvbmVzIGRlIHtAbGluayBWYWx0ZWNoRXJyb3JTZXJ2aWNlLmhhbmRsZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsdGVjaEVycm9ySGFuZGxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWNhZG9yIGRlbCBwdW50byBkZSBmYWxsbywgZWouIGAncHJvZmlsZS5zYXZlJ2AuIFNlIGluY2x1eWUgZW4gZWxcbiAgICogbG9nIGRlIGNvbnNvbGEgeSBlbiBlbCByZXBvcnRlIGEgQW5hbHl0aWNzIHBhcmEgZmFjaWxpdGFyIGVsIHRyYWNpbmcuXG4gICAqL1xuICBjb250ZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNYXBhIGBjw7NkaWdvIGRlIGJhY2tlbmQg4oaSIGtleSBpMThuYC4gTG8gcHJvdmVlIGxhIGFwcCwgcXVlIGNvbm9jZSBzdXNcbiAgICogcHJvcGlhcyB0cmFkdWNjaW9uZXMuIEVqLiBgeyBFTUFJTF9UQUtFTjogJ2Vycm9ycy5lbWFpbFRha2VuJyB9YC5cbiAgICovXG4gIGkxOG5NYXA/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBLZXkgaTE4biBhIHVzYXIgY3VhbmRvIG5vIGhheSBtYXRjaCBlbiBgaTE4bk1hcGAgKHkgZWwgZXJyb3Igbm8gZXMgZGUgcmVkKS5cbiAgICogU2kgc2Ugb21pdGUsIHNlIHVzYSB1biBtZW5zYWplIGdlbsOpcmljbyBlbiBlc3Bhw7FvbC5cbiAgICovXG4gIGZhbGxiYWNrS2V5Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBOYW1lc3BhY2UgaTE4biBwYXJhIHJlc29sdmVyIGBpMThuTWFwYCAvIGBmYWxsYmFja0tleWAgLyBsYSBrZXkgZGUgcmVkLlxuICAgKiBEZWZhdWx0OiBgX2dsb2JhbGAuXG4gICAqL1xuICBpMThuTmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKiBTaSBtb3N0cmFyIHVuIHRvYXN0IGNvbiBlbCBtZW5zYWplIHJlc3VlbHRvLiBEZWZhdWx0OiBgdHJ1ZWAuICovXG4gIHRvYXN0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU2kgaW5jbHVpciB1biBib3TDs24gXCJDb3BpYXIgY8OzZGlnbyBkZSBlcnJvclwiIGVuIGVsIHRvYXN0IGN1YW5kbyBlbCBiYWNrZW5kXG4gICAqIGRldnVlbHZlIHVuIGBvcGVyYXRpb25JZGAuIMOadGlsIHBhcmEgc29wb3J0ZTogZWwgdXN1YXJpbyBjb3BpYSBlbCBJRCB5IGxvXG4gICAqIGVudHJlZ2EgYWwgZXF1aXBvIHBhcmEgYnVzY2FyIGVuIENsb3VkV2F0Y2guIERlZmF1bHQ6IGBmYWxzZWAuXG4gICAqL1xuICBzaG93T3BlcmF0aW9uSWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFNlcnZpY2lvIGRlIFVYIGRlIGVycm9yZXMgY2FwdHVyYWRvcyAoQ2FwYSAzIGRlbCBlc3TDoW5kYXIgZGUgbWFuZWpvIGRlIGVycm9yZXMpLlxuICpcbiAqIE1pZW50cmFzIGxhIENhcGEgMSAoe0BsaW5rIGVycm9yTG9nZ2luZ0ludGVyY2VwdG9yfSkgb2JzZXJ2YSBUT0RBUyBsYXNcbiAqIHJlc3B1ZXN0YXMgSFRUUCBjb24gZXJyb3IsIHkgbGEgQ2FwYSAyIChgQW5hbHl0aWNzRXJyb3JIYW5kbGVyYCkgY2FwdHVyYSBsb3NcbiAqIGVycm9yZXMgTk8gbWFuZWphZG9zLCBsYSBDYXBhIDMgZXMgZWwgcHVudG8gw7puaWNvIHF1ZSB1bmEgcMOhZ2luYSB1c2EgZW4gc3VcbiAqIGBjYXRjaGAgcGFyYSBjb252ZXJ0aXIgdW4gZXJyb3IgZW4gZmVlZGJhY2sgYWwgdXN1YXJpby5cbiAqXG4gKiBSZXNwb25zYWJpbGlkYWRlcyBkZSB7QGxpbmsgaGFuZGxlfTpcbiAqIDEuIE5vcm1hbGl6YSBlbCBlcnJvciAoYGludGVycHJldEVycm9yYCkuXG4gKiAyLiBMb2d1ZWEgYSBjb25zb2xhICsgcmVwb3J0YSBhIEFuYWx5dGljcyAoYHNvdXJjZTogJ2hhbmRsZWQnYCwgY29uIGBjb250ZXh0YCkuXG4gKiAzLiBSZXN1ZWx2ZSB1biBtZW5zYWplIGxvY2FsaXphZG8gKHZlciBvcmRlbiBkZSByZXNvbHVjacOzbiBlbiB7QGxpbmsgaGFuZGxlfSkuXG4gKiA0LiBNdWVzdHJhIHVuIHRvYXN0IChgY29sb3I6ICdkYXJrJ2AsIGVzdMOhbmRhciBWYWx0ZWNoKSBzYWx2byBgdG9hc3Q6IGZhbHNlYC5cbiAqIDUuIERldnVlbHZlIGVsIHtAbGluayBJbnRlcnByZXRlZEVycm9yfSBwYXJhIHF1ZSBsYSBww6FnaW5hIGRlY2lkYSBsw7NnaWNhIGV4dHJhLlxuICpcbiAqICoqTnVuY2EgbGFuemEuKiogYEFuYWx5dGljc1NlcnZpY2VgIHNlIGlueWVjdGEgYEBPcHRpb25hbCgpYC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIHByaXZhdGUgZXJyb3JzID0gaW5qZWN0KFZhbHRlY2hFcnJvclNlcnZpY2UpO1xuICpcbiAqIGFzeW5jIHNhdmUoKSB7XG4gKiAgIHRyeSB7XG4gKiAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5hcGkudXBkYXRlUHJvZmlsZSh0aGlzLmZvcm0udmFsdWUpKTtcbiAqICAgICB0aGlzLnRvYXN0LnNob3coeyBtZXNzYWdlOiAnUGVyZmlsIGFjdHVhbGl6YWRvJywgY29sb3I6ICdkYXJrJyB9KTtcbiAqICAgfSBjYXRjaCAoZXJyKSB7XG4gKiAgICAgdGhpcy5lcnJvcnMuaGFuZGxlKGVyciwge1xuICogICAgICAgY29udGV4dDogJ3Byb2ZpbGUuc2F2ZScsXG4gKiAgICAgICBpMThuTWFwOiB7IEVNQUlMX1RBS0VOOiAnZXJyb3JzLmVtYWlsVGFrZW4nIH0sXG4gKiAgICAgICBmYWxsYmFja0tleTogJ2Vycm9ycy5wcm9maWxlU2F2ZUZhaWxlZCcsXG4gKiAgICAgfSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFZhbHRlY2hFcnJvclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGkxOG4gPSBpbmplY3QoSTE4blNlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRvYXN0ID0gaW5qZWN0KFRvYXN0U2VydmljZSk7XG4gIC8vIEFwcHMgc2luIEZpcmViYXNlIEFuYWx5dGljczogZWwgc2VydmljaW8gc2lndWUgZnVuY2lvbmFuZG8gKGxvZyArIHRvYXN0KS5cbiAgcHJpdmF0ZSByZWFkb25seSBhbmFseXRpY3MgPSBpbmplY3QoQW5hbHl0aWNzU2VydmljZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICAvKipcbiAgICogTWFuZWphIHVuIGVycm9yIGNhcHR1cmFkbzogbm9ybWFsaXphLCBvYnNlcnZhIHkgcHJvZHVjZSBmZWVkYmFjayBkZSB1c3VhcmlvLlxuICAgKlxuICAgKiBPcmRlbiBkZSByZXNvbHVjacOzbiBkZWwgbWVuc2FqZSBkZWwgdG9hc3Q6XG4gICAqIDEuIGBpMThuTWFwW2NvZGVdYCBkZWZpbmlkbyDihpIgYGkxOG4udChlc2Ega2V5KWAuXG4gICAqIDIuIFNpbiBtYXRjaCB5IGBpc05ldHdvcmtgIOKGkiBrZXkgZGUgcmVkICh7QGxpbmsgVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWX0pLFxuICAgKiAgICBjb24gZmFsbGJhY2sgYWwgdGV4dG8gZXNwYcOxb2wgc2kgbGEgYXBwIG5vIGxhIHRyYWR1am8uXG4gICAqIDMuIGBmYWxsYmFja0tleWAgZGVmaW5pZG8g4oaSIGBpMThuLnQoZmFsbGJhY2tLZXkpYC5cbiAgICogNC4gR2Vuw6lyaWNvIGVuIGVzcGHDsW9sLlxuICAgKlxuICAgKiBAcGFyYW0gZXJyIEN1YWxxdWllciBlcnJvciBjYXB0dXJhZG8uXG4gICAqIEBwYXJhbSBvcHRzIE9wY2lvbmVzIGRlIGNvbnRleHRvLCBtYXBlbyBpMThuIHkgdG9hc3QuXG4gICAqIEByZXR1cm5zIEVsIHtAbGluayBJbnRlcnByZXRlZEVycm9yfSBub3JtYWxpemFkby4gTnVuY2EgbGFuemEuXG4gICAqL1xuICBoYW5kbGUoZXJyOiB1bmtub3duLCBvcHRzOiBWYWx0ZWNoRXJyb3JIYW5kbGVPcHRpb25zID0ge30pOiBJbnRlcnByZXRlZEVycm9yIHtcbiAgICBjb25zdCBpbnRlcnByZXRlZCA9IGludGVycHJldEVycm9yKGVycik7XG4gICAgY29uc3QgeyBjb250ZXh0LCBpMThuTWFwLCBmYWxsYmFja0tleSwgaTE4bk5hbWVzcGFjZSwgdG9hc3QsIHNob3dPcGVyYXRpb25JZCB9ID0gb3B0cztcblxuICAgIC8vIDEuIE9ic2VydmFiaWxpZGFkIOKAlCBsb2cgZXN0cnVjdHVyYWRvIGEgY29uc29sYS5cbiAgICBjb25zb2xlLmVycm9yKCdbVmFsdGVjaEVycm9yXSBoYW5kbGVkJywge1xuICAgICAgY29udGV4dDogY29udGV4dCA/PyAnbi9hJyxcbiAgICAgIGNvZGU6IGludGVycHJldGVkLmNvZGUsXG4gICAgICBzdGF0dXM6IGludGVycHJldGVkLnN0YXR1cyA/PyAnbi9hJyxcbiAgICAgIG9wZXJhdGlvbklkOiBpbnRlcnByZXRlZC5vcGVyYXRpb25JZCA/PyAnbi9hJyxcbiAgICAgIGlzTmV0d29yazogaW50ZXJwcmV0ZWQuaXNOZXR3b3JrLFxuICAgICAgbWVzc2FnZTogaW50ZXJwcmV0ZWQubWVzc2FnZSxcbiAgICB9KTtcblxuICAgIC8vIDIuIFJlcG9ydGUgYSBBbmFseXRpY3MgKGJlc3QtZWZmb3J0LCBvcGNpb25hbCkuXG4gICAgaWYgKHRoaXMuYW5hbHl0aWNzKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLmFuYWx5dGljcy5sb2dFcnJvcihpbnRlcnByZXRlZC5tZXNzYWdlLCB7XG4gICAgICAgICAgc291cmNlOiAnaGFuZGxlZCcsXG4gICAgICAgICAgY29kZTogaW50ZXJwcmV0ZWQuY29kZSxcbiAgICAgICAgICAuLi4oY29udGV4dCA/IHsgY29udGV4dCB9IDoge30pLFxuICAgICAgICAgIC4uLihpbnRlcnByZXRlZC5zdGF0dXMgIT09IHVuZGVmaW5lZCA/IHsgc3RhdHVzOiBTdHJpbmcoaW50ZXJwcmV0ZWQuc3RhdHVzKSB9IDoge30pLFxuICAgICAgICAgIC4uLihpbnRlcnByZXRlZC5vcGVyYXRpb25JZCA/IHsgb3BlcmF0aW9uSWQ6IGludGVycHJldGVkLm9wZXJhdGlvbklkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGludGVycHJldGVkLmlzTmV0d29yayA/IHsgZXJyb3JfY2F0ZWdvcnk6ICduZXR3b3JrJyB9IDoge30pLFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKHRyYWNraW5nRXJyb3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdbVmFsdGVjaEVycm9yXSBhbmFseXRpY3MgdHJhY2tpbmcgZmFpbGVkOicsIHRyYWNraW5nRXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDMuIFJlc29sdmVyIG1lbnNhamUgbG9jYWxpemFkbyBwYXJhIGVsIHVzdWFyaW8uXG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMucmVzb2x2ZU1lc3NhZ2UoaW50ZXJwcmV0ZWQsIHtcbiAgICAgIGkxOG5NYXAsXG4gICAgICBmYWxsYmFja0tleSxcbiAgICAgIGkxOG5OYW1lc3BhY2UsXG4gICAgfSk7XG5cbiAgICAvLyA0LiBUb2FzdCAoZXN0w6FuZGFyIFZhbHRlY2g6IGNvbG9yICdkYXJrJywgcG9zaXRpb24gJ3RvcCcpLlxuICAgIGlmICh0b2FzdCAhPT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IG9wSWQgPSBzaG93T3BlcmF0aW9uSWQgPyBpbnRlcnByZXRlZC5vcGVyYXRpb25JZCA6IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMudG9hc3Quc2hvdyh7XG4gICAgICAgIG1lc3NhZ2UsXG4gICAgICAgIGNvbG9yOiAnZGFyaycsXG4gICAgICAgIHBvc2l0aW9uOiAndG9wJyxcbiAgICAgICAgLy8gTcOhcyB0aWVtcG8gY3VhbmRvIGhheSBib3TDs24gZGUgY29waWEg4oCUIGVsIHVzdWFyaW8gbmVjZXNpdGEgbGVlcmxvIHkgdGFwZWFyLlxuICAgICAgICBkdXJhdGlvbjogb3BJZCA/IDgwMDAgOiAzMDAwLFxuICAgICAgICBidXR0b25zOiBvcElkXG4gICAgICAgICAgPyBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0OiAnQ29waWFyIGPDs2RpZ28gZGUgZXJyb3InLFxuICAgICAgICAgICAgICAgIGhhbmRsZXI6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIHZvaWQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQob3BJZCk7XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIDUuIERldm9sdmVyIGVsIGVycm9yIG5vcm1hbGl6YWRvIHBhcmEgbMOzZ2ljYSBleHRyYSBkZWwgY2FsbGVyLlxuICAgIHJldHVybiBpbnRlcnByZXRlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXN1ZWx2ZSBlbCBtZW5zYWplIGEgbW9zdHJhciBzaWd1aWVuZG8gZWwgb3JkZW4gZG9jdW1lbnRhZG8gZW4ge0BsaW5rIGhhbmRsZX0uXG4gICAqL1xuICBwcml2YXRlIHJlc29sdmVNZXNzYWdlKFxuICAgIGludGVycHJldGVkOiBJbnRlcnByZXRlZEVycm9yLFxuICAgIG9wdHM6IFBpY2s8VmFsdGVjaEVycm9ySGFuZGxlT3B0aW9ucywgJ2kxOG5NYXAnIHwgJ2ZhbGxiYWNrS2V5JyB8ICdpMThuTmFtZXNwYWNlJz5cbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCBucyA9IG9wdHMuaTE4bk5hbWVzcGFjZTtcblxuICAgIC8vIDEuIE1hdGNoIGV4YWN0byBwb3IgY8OzZGlnbyBkZSBiYWNrZW5kLlxuICAgIGNvbnN0IG1hcHBlZEtleSA9IG9wdHMuaTE4bk1hcD8uW2ludGVycHJldGVkLmNvZGVdO1xuICAgIGlmIChtYXBwZWRLZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZShtYXBwZWRLZXksIG5zKSA/PyBpbnRlcnByZXRlZC5tZXNzYWdlO1xuICAgIH1cblxuICAgIC8vIDIuIEZhbGxvIGRlIHJlZCDihpIga2V5IGRlIHJlZCBkZSBsYSBsaWIsIGNvbiBmYWxsYmFjayBlc3Bhw7FvbC5cbiAgICBpZiAoaW50ZXJwcmV0ZWQuaXNOZXR3b3JrKSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUoVkFMVEVDSF9ORVRXT1JLX0VSUk9SX0tFWSwgbnMpID8/IE5FVFdPUktfRkFMTEJBQ0tfTUVTU0FHRTtcbiAgICB9XG5cbiAgICAvLyAzLiBmYWxsYmFja0tleSBwcm92aXN0byBwb3IgbGEgYXBwLlxuICAgIGlmIChvcHRzLmZhbGxiYWNrS2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUob3B0cy5mYWxsYmFja0tleSwgbnMpID8/IGludGVycHJldGVkLm1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLy8gNC4gR2Vuw6lyaWNvIOKAlCBwcmVmZXJpciBlbCBtZW5zYWplIGRlbCBiYWNrZW5kICh5YSB2aWVuZSBlbiBlc3Bhw7FvbCkgc2kgbG8gaGF5LlxuICAgIHJldHVybiBpbnRlcnByZXRlZC5tZXNzYWdlIHx8IEdFTkVSSUNfRkFMTEJBQ0tfTUVTU0FHRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFkdWNlIHVuYSBrZXkgaTE4bi4gRGV2dWVsdmUgYG51bGxgIHNpIGxhIGtleSBubyBlc3TDoSBkZWZpbmlkYSDigJQgZWxcbiAgICogYEkxOG5TZXJ2aWNlYCBkZXZ1ZWx2ZSB1biBwbGFjZWhvbGRlciBgW25hbWVzcGFjZS5rZXldYCBwYXJhIGtleXMgZmFsdGFudGVzO1xuICAgKiBsbyBkZXRlY3RhbW9zIHBhcmEgcG9kZXIgY2FlciBhIHVuIGZhbGxiYWNrIGVuIGx1Z2FyIGRlIG1vc3RyYXIgZWwgcGxhY2Vob2xkZXIuXG4gICAqL1xuICBwcml2YXRlIHRyYW5zbGF0ZShrZXk6IHN0cmluZywgbmFtZXNwYWNlPzogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgdGV4dCA9IHRoaXMuaTE4bi50KGtleSwgbmFtZXNwYWNlKTtcbiAgICBjb25zdCBucyA9IG5hbWVzcGFjZSA/PyAnX2dsb2JhbCc7XG4gICAgcmV0dXJuIHRleHQgPT09IGBbJHtuc30uJHtrZXl9XWAgPyBudWxsIDogdGV4dDtcbiAgfVxufVxuIl19
|
|
@@ -129,6 +129,9 @@ export class TicketCardImageService {
|
|
|
129
129
|
ctx.strokeStyle = '#e0e0e0';
|
|
130
130
|
ctx.strokeRect(qrX, qrY, QR_SIZE, QR_SIZE);
|
|
131
131
|
}
|
|
132
|
+
if (config.qrLogoUrl) {
|
|
133
|
+
await this.drawQrLogo(ctx, config.qrLogoUrl, qrX, qrY);
|
|
134
|
+
}
|
|
132
135
|
const label = config.folioLabel ?? 'Cartón';
|
|
133
136
|
const folioText = config.folio !== undefined && config.folio !== null && config.folio !== ''
|
|
134
137
|
? `${label} #${config.folio}`
|
|
@@ -201,6 +204,34 @@ export class TicketCardImageService {
|
|
|
201
204
|
this.fillWrappedText(ctx, value, x, y + 32, maxWidth, 38, rowHeight <= 90 ? 1 : 2);
|
|
202
205
|
return y + rowHeight;
|
|
203
206
|
}
|
|
207
|
+
async drawQrLogo(ctx, logoUrl, qrX, qrY) {
|
|
208
|
+
const logoSize = Math.round(QR_SIZE * 0.2);
|
|
209
|
+
const padding = Math.max(8, Math.round(logoSize * 0.1));
|
|
210
|
+
const boxSize = logoSize + padding * 2;
|
|
211
|
+
const boxX = qrX + (QR_SIZE - boxSize) / 2;
|
|
212
|
+
const boxY = qrY + (QR_SIZE - boxSize) / 2;
|
|
213
|
+
ctx.fillStyle = '#ffffff';
|
|
214
|
+
ctx.beginPath();
|
|
215
|
+
ctx.arc(boxX + boxSize / 2, boxY + boxSize / 2, boxSize / 2, 0, Math.PI * 2);
|
|
216
|
+
ctx.fill();
|
|
217
|
+
try {
|
|
218
|
+
const logoImg = await this.loadImage(logoUrl);
|
|
219
|
+
ctx.drawImage(logoImg, boxX + padding, boxY + padding, logoSize, logoSize);
|
|
220
|
+
}
|
|
221
|
+
catch {
|
|
222
|
+
this.drawBingoFallbackMark(ctx, boxX + padding, boxY + padding, logoSize);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
drawBingoFallbackMark(ctx, x, y, size) {
|
|
226
|
+
ctx.fillStyle = '#c090ff';
|
|
227
|
+
ctx.beginPath();
|
|
228
|
+
ctx.arc(x + size * 0.28, y + size * 0.24, size * 0.2, 0, Math.PI * 2);
|
|
229
|
+
ctx.fill();
|
|
230
|
+
ctx.fillStyle = '#ff00b2';
|
|
231
|
+
ctx.beginPath();
|
|
232
|
+
ctx.arc(x + size * 0.57, y + size * 0.64, size * 0.36, 0, Math.PI * 2);
|
|
233
|
+
ctx.fill();
|
|
234
|
+
}
|
|
204
235
|
roundRect(ctx, x, y, width, height, radius) {
|
|
205
236
|
const r = Math.min(radius, width / 2, height / 2);
|
|
206
237
|
ctx.beginPath();
|
|
@@ -230,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
230
261
|
type: Injectable,
|
|
231
262
|
args: [{ providedIn: 'root' }]
|
|
232
263
|
}] });
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNhcmQtaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdGlja2V0LWNhcmQtaW1hZ2UvdGlja2V0LWNhcmQtaW1hZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUM7QUFDekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDO0FBQzNCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNsQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUNwQixNQUFNLFdBQVcsR0FBRyxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXZDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0FBQ3RDLE1BQU0sc0JBQXNCLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE1BQU0sVUFBVSxHQUFHLCtDQUErQyxDQUFDO0FBR25FLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUE2QjtRQUMxQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLFlBQVksQ0FBQztRQUUzQyxJQUFJLE1BQTJDLENBQUM7UUFDaEQsSUFBSSxHQUFpRSxDQUFDO1FBRXRFLElBQUksT0FBTyxlQUFlLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDM0MsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNuRCxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXNDLENBQUM7UUFDckUsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsUUFBUSxDQUFDLGFB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QUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0RSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBclJVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRFQsTUFBTTs7NEZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUaWNrZXRDYXJkSW1hZ2VDb25maWcgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgQ0FOVkFTX1dJRFRIID0gNzIwO1xuY29uc3QgQ0FOVkFTX0hFSUdIVCA9IDEyODA7XG5jb25zdCBTQUZFX1ggPSA2NDtcbmNvbnN0IFFSX0NBUkRfWSA9IDI3NDtcbmNvbnN0IFFSX0NBUkRfSCA9IDU0ODtcbmNvbnN0IFFSX1NJWkUgPSA0MTA7XG5jb25zdCBDT1BZUklHSFRfWSA9IENBTlZBU19IRUlHSFQgLSAzNDtcblxuY29uc3QgREVGQVVMVF9CUkFORF9DT0xPUiA9ICcjOWIxZmRlJztcbmNvbnN0IERFRkFVTFRfQlJBTkRfQ09MT1JfVE8gPSAnI2M5MzA3NSc7XG5jb25zdCBGT05UX1NUQUNLID0gJ1wiUGx1cyBKYWthcnRhIFNhbnNcIiwgS2h1bGEsIEFyaWFsLCBzYW5zLXNlcmlmJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUaWNrZXRDYXJkSW1hZ2VTZXJ2aWNlIHtcbiAgYXN5bmMgZ2VuZXJhdGUoY29uZmlnOiBUaWNrZXRDYXJkSW1hZ2VDb25maWcpOiBQcm9taXNlPEJsb2I+IHtcbiAgICBjb25zdCB3aWR0aCA9IGNvbmZpZy53aWR0aCA/PyBDQU5WQVNfV0lEVEg7XG5cbiAgICBsZXQgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudCB8IE9mZnNjcmVlbkNhbnZhcztcbiAgICBsZXQgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG5cbiAgICBpZiAodHlwZW9mIE9mZnNjcmVlbkNhbnZhcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNhbnZhcyA9IG5ldyBPZmZzY3JlZW5DYW52YXMod2lkdGgsIENBTlZBU19IRUlHSFQpO1xuICAgICAgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJykgYXMgT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgIChjYW52YXMgYXMgSFRNTENhbnZhc0VsZW1lbnQpLndpZHRoID0gd2lkdGg7XG4gICAgICAoY2FudmFzIGFzIEhUTUxDYW52YXNFbGVtZW50KS5oZWlnaHQgPSBDQU5WQVNfSEVJR0hUO1xuICAgICAgY3R4ID0gKGNhbnZhcyBhcyBIVE1MQ2FudmFzRWxlbWVudCkuZ2V0Q29udGV4dCgnMmQnKSBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5kcmF3QmFja2dyb3VuZChjdHgsIGNvbmZpZywgd2lkdGgpO1xuICAgIGF3YWl0IHRoaXMuZHJhd0hlYWRlcihjdHgsIGNvbmZpZywgd2lkdGgpO1xuICAgIGF3YWl0IHRoaXMuZHJhd1FyWm9uZShjdHgsIGNvbmZpZywgd2lkdGgpO1xuICAgIHRoaXMuZHJhd0Zvb3RlcihjdHgsIGNvbmZpZywgd2lkdGgpO1xuXG4gICAgaWYgKGNhbnZhcyBpbnN0YW5jZW9mIE9mZnNjcmVlbkNhbnZhcykge1xuICAgICAgcmV0dXJuIGNhbnZhcy5jb252ZXJ0VG9CbG9iKHsgdHlwZTogJ2ltYWdlL3BuZycgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPEJsb2I+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIChjYW52YXMgYXMgSFRNTENhbnZhc0VsZW1lbnQpLnRvQmxvYihibG9iID0+IHtcbiAgICAgICAgaWYgKGJsb2IpIHtcbiAgICAgICAgICByZXNvbHZlKGJsb2IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IoJ0NhbnZhcyB0b0Jsb2IgcmV0dXJuZWQgbnVsbCcpKTtcbiAgICAgICAgfVxuICAgICAgfSwgJ2ltYWdlL3BuZycpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2hhcmUoY29uZmlnOiBUaWNrZXRDYXJkSW1hZ2VDb25maWcsIHNoYXJlVGl0bGU/OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIW5hdmlnYXRvci5zaGFyZSB8fCAhbmF2aWdhdG9yLmNhblNoYXJlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgbGV0IGJsb2I6IEJsb2I7XG4gICAgdHJ5IHtcbiAgICAgIGJsb2IgPSBhd2FpdCB0aGlzLmdlbmVyYXRlKGNvbmZpZyk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZW5hbWUgPSAnZW50cmFkYS5wbmcnO1xuICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbYmxvYl0sIGZpbGVuYW1lLCB7IHR5cGU6ICdpbWFnZS9wbmcnIH0pO1xuXG4gICAgaWYgKCFuYXZpZ2F0b3IuY2FuU2hhcmUoeyBmaWxlczogW2ZpbGVdIH0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG5hdmlnYXRvci5zaGFyZSh7XG4gICAgICAgIHRpdGxlOiBzaGFyZVRpdGxlID8/IGNvbmZpZy5icmFuZE5hbWUgPz8gJ0VudHJhZGEnLFxuICAgICAgICBmaWxlczogW2ZpbGVdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBET01FeGNlcHRpb24gJiYgZXJyLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkcmF3QmFja2dyb3VuZChcbiAgICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB8IE9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICBjb25maWc6IFRpY2tldENhcmRJbWFnZUNvbmZpZyxcbiAgICB3aWR0aDogbnVtYmVyXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbG9yRnJvbSA9IGNvbmZpZy5icmFuZENvbG9yID8/IERFRkFVTFRfQlJBTkRfQ09MT1I7XG4gICAgY29uc3QgY29sb3JUbyA9XG4gICAgICBjb25maWcuYnJhbmRDb2xvclRvID8/IChjb25maWcuYnJhbmRDb2xvciA/IGNvbmZpZy5icmFuZENvbG9yIDogREVGQVVMVF9CUkFORF9DT0xPUl9UTyk7XG5cbiAgICBjb25zdCBncmFkID0gY3R4LmNyZWF0ZUxpbmVhckdyYWRpZW50KDAsIDAsIHdpZHRoLCBDQU5WQVNfSEVJR0hUKTtcbiAgICBncmFkLmFkZENvbG9yU3RvcCgwLCBjb2xvckZyb20pO1xuICAgIGdyYWQuYWRkQ29sb3JTdG9wKDEsIGNvbG9yVG8pO1xuICAgIGN0eC5maWxsU3R5bGUgPSBncmFkO1xuICAgIGN0eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgQ0FOVkFTX0hFSUdIVCk7XG5cbiAgICBjb25zdCBnbG93ID0gY3R4LmNyZWF0ZVJhZGlhbEdyYWRpZW50KHdpZHRoICogMC43MiwgMTIwLCAzMCwgd2lkdGggKiAwLjcyLCAxMjAsIHdpZHRoICogMC43Mik7XG4gICAgZ2xvdy5hZGRDb2xvclN0b3AoMCwgJ3JnYmEoMjU1LDI1NSwyNTUsMC4yMCknKTtcbiAgICBnbG93LmFkZENvbG9yU3RvcCgxLCAncmdiYSgyNTUsMjU1LDI1NSwwKScpO1xuICAgIGN0eC5maWxsU3R5bGUgPSBnbG93O1xuICAgIGN0eC5maWxsUmVjdCgwLCAwLCB3aWR0aCwgQ0FOVkFTX0hFSUdIVCk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRyYXdIZWFkZXIoXG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgY29uZmlnOiBUaWNrZXRDYXJkSW1hZ2VDb25maWcsXG4gICAgd2lkdGg6IG51bWJlclxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBsb2dvSCA9IDU4O1xuICAgIGNvbnN0IGxvZ29QYWRUb3AgPSA0ODtcbiAgICBsZXQgY3Vyc29yWSA9IGxvZ29QYWRUb3A7XG5cbiAgICBpZiAoY29uZmlnLmxvZ29VcmwpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGxvZ29JbWcgPSBhd2FpdCB0aGlzLmxvYWRJbWFnZShjb25maWcubG9nb1VybCk7XG4gICAgICAgIGNvbnN0IHJhdGlvID0gbG9nb0ltZy53aWR0aCAvIGxvZ29JbWcuaGVpZ2h0O1xuICAgICAgICBjb25zdCBsb2dvVyA9IGxvZ29IICogcmF0aW87XG4gICAgICAgIGNvbnN0IGxvZ29YID0gKHdpZHRoIC0gbG9nb1cpIC8gMjtcbiAgICAgICAgY3R4LmRyYXdJbWFnZShsb2dvSW1nLCBsb2dvWCwgY3Vyc29yWSwgbG9nb1csIGxvZ29IKTtcbiAgICAgICAgY3Vyc29yWSArPSBsb2dvSCArIDI4O1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIGxvZ28gZmFpbGVkIOKAlCBjb250aW51ZSB3aXRob3V0IGl0XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5icmFuZE5hbWUpIHtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSAnI2ZmZmZmZic7XG4gICAgICBjdHguZm9udCA9IGA4MDAgNDJweCAke0ZPTlRfU1RBQ0t9YDtcbiAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJztcbiAgICAgIHRoaXMuZmlsbFdyYXBwZWRUZXh0KGN0eCwgY29uZmlnLmJyYW5kTmFtZSwgd2lkdGggLyAyLCBjdXJzb3JZLCB3aWR0aCAtIDgwLCA0OCwgMik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBkcmF3UXJab25lKFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIGNvbmZpZzogVGlja2V0Q2FyZEltYWdlQ29uZmlnLFxuICAgIHdpZHRoOiBudW1iZXJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2FyZFggPSBTQUZFX1g7XG4gICAgY29uc3QgY2FyZFcgPSB3aWR0aCAtIFNBRkVfWCAqIDI7XG4gICAgY29uc3QgY2FyZFIgPSA2NDtcblxuICAgIGN0eC5maWxsU3R5bGUgPSAnI2ZmZmZmZic7XG4gICAgdGhpcy5yb3VuZFJlY3QoY3R4LCBjYXJkWCwgUVJfQ0FSRF9ZLCBjYXJkVywgUVJfQ0FSRF9ILCBjYXJkUik7XG4gICAgY3R4LmZpbGwoKTtcblxuICAgIGNvbnN0IHFyWCA9ICh3aWR0aCAtIFFSX1NJWkUpIC8gMjtcbiAgICBjb25zdCBxclkgPSBRUl9DQVJEX1kgKyA1ODtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBxckltZyA9IGF3YWl0IHRoaXMubG9hZEltYWdlKGNvbmZpZy5xckRhdGFVcmwpO1xuICAgICAgY3R4LmRyYXdJbWFnZShxckltZywgcXJYLCBxclksIFFSX1NJWkUsIFFSX1NJWkUpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgY3R4LnN0cm9rZVN0eWxlID0gJyNlMGUwZTAnO1xuICAgICAgY3R4LnN0cm9rZVJlY3QocXJYLCBxclksIFFSX1NJWkUsIFFSX1NJWkUpO1xuICAgIH1cblxuICAgIGNvbnN0IGxhYmVsID0gY29uZmlnLmZvbGlvTGFiZWwgPz8gJ0NhcnTDs24nO1xuICAgIGNvbnN0IGZvbGlvVGV4dCA9XG4gICAgICBjb25maWcuZm9saW8gIT09IHVuZGVmaW5lZCAmJiBjb25maWcuZm9saW8gIT09IG51bGwgJiYgY29uZmlnLmZvbGlvICE9PSAnJ1xuICAgICAgICA/IGAke2xhYmVsfSAjJHtjb25maWcuZm9saW99YFxuICAgICAgICA6ICcnO1xuICAgIGlmIChmb2xpb1RleHQpIHtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSAnIzE3MTQyMCc7XG4gICAgICBjdHguZm9udCA9IGA3MDAgMzRweCAke0ZPTlRfU1RBQ0t9YDtcbiAgICAgIGN0eC50ZXh0QWxpZ24gPSAnY2VudGVyJztcbiAgICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJztcbiAgICAgIGN0eC5maWxsVGV4dChmb2xpb1RleHQsIHdpZHRoIC8gMiwgcXJZICsgUVJfU0laRSArIDI4LCBjYXJkVyAtIDcyKTtcbiAgICB9XG5cbiAgICBjb25zdCBoaW50ID0gY29uZmlnLnNjYW5IaW50ID8/ICdNdWVzdHJhIGVzdGUgUVIgZW4gbGEgcHVlcnRhIHBhcmEgY2FuamVhciB0dSBjYXJ0w7NuLic7XG4gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNzgpJztcbiAgICBjdHguZm9udCA9IGA2MDAgMjRweCAke0ZPTlRfU1RBQ0t9YDtcbiAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgIHRoaXMuZmlsbFdyYXBwZWRUZXh0KGN0eCwgaGludCwgd2lkdGggLyAyLCBRUl9DQVJEX1kgKyBRUl9DQVJEX0ggKyAzNCwgd2lkdGggLSBTQUZFX1ggKiAyLCAzMCwgMik7XG4gIH1cblxuICBwcml2YXRlIGRyYXdGb290ZXIoXG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgY29uZmlnOiBUaWNrZXRDYXJkSW1hZ2VDb25maWcsXG4gICAgd2lkdGg6IG51bWJlclxuICApOiB2b2lkIHtcbiAgICBsZXQgY29udGVudFkgPSBRUl9DQVJEX1kgKyBRUl9DQVJEX0ggKyAxMzI7XG4gICAgY29uc3QgbGFiZWxDb2xvciA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNTUpJztcbiAgICBjb25zdCBkZXRhaWxzID0gW1xuICAgICAgY29uZmlnLmV2ZW50RGF0ZSA/IFsnRmVjaGEgZGVsIGV2ZW50bycsIGNvbmZpZy5ldmVudERhdGVdIDogbnVsbCxcbiAgICAgIGNvbmZpZy5ldmVudExvY2F0aW9uID8gWydMdWdhcicsIGNvbmZpZy5ldmVudExvY2F0aW9uXSA6IG51bGwsXG4gICAgICBjb25maWcuYnV5ZXJOYW1lID8gWydDb21wcmFkb3InLCBjb25maWcuYnV5ZXJOYW1lXSA6IG51bGwsXG4gICAgXS5maWx0ZXIoKGRldGFpbCk6IGRldGFpbCBpcyBbc3RyaW5nLCBzdHJpbmddID0+ICEhZGV0YWlsKTtcblxuICAgIGlmIChkZXRhaWxzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGRldGFpbEJvdHRvbUxpbWl0ID0gQ09QWVJJR0hUX1kgLSA1ODtcbiAgICAgIGNvbnN0IHJvd0hlaWdodCA9IE1hdGgubWF4KFxuICAgICAgICA4MixcbiAgICAgICAgTWF0aC5taW4oMTEyLCBNYXRoLmZsb29yKChkZXRhaWxCb3R0b21MaW1pdCAtIGNvbnRlbnRZKSAvIGRldGFpbHMubGVuZ3RoKSlcbiAgICAgICk7XG4gICAgICBmb3IgKGNvbnN0IFtsYWJlbCwgdmFsdWVdIG9mIGRldGFpbHMpIHtcbiAgICAgICAgY29udGVudFkgPSB0aGlzLmRyYXdEZXRhaWwoY3R4LCBsYWJlbCwgdmFsdWUsIFNBRkVfWCwgY29udGVudFksIHdpZHRoIC0gU0FGRV9YICogMiwgcm93SGVpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjdHguZmlsbFN0eWxlID0gbGFiZWxDb2xvcjtcbiAgICBjdHguZm9udCA9IGA1MDAgMThweCAke0ZPTlRfU1RBQ0t9YDtcbiAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgY3R4LnRleHRCYXNlbGluZSA9ICdib3R0b20nO1xuICAgIGN0eC5maWxsVGV4dCgnwqkgMjAyNiBWYWx0ZWNoLiBUb2RvcyBsb3MgZGVyZWNob3MgcmVzZXJ2YWRvcy4nLCB3aWR0aCAvIDIsIENPUFlSSUdIVF9ZKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsbFdyYXBwZWRUZXh0KFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIHRleHQ6IHN0cmluZyxcbiAgICB4OiBudW1iZXIsXG4gICAgeTogbnVtYmVyLFxuICAgIG1heFdpZHRoOiBudW1iZXIsXG4gICAgbGluZUhlaWdodDogbnVtYmVyLFxuICAgIG1heExpbmVzID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHdvcmRzID0gdGV4dC5zcGxpdCgnICcpO1xuICAgIGxldCBsaW5lID0gJyc7XG4gICAgbGV0IGN1clkgPSB5O1xuICAgIGxldCBsaW5lcyA9IDA7XG4gICAgZm9yIChjb25zdCB3b3JkIG9mIHdvcmRzKSB7XG4gICAgICBjb25zdCB0ZXN0ID0gbGluZSA/IGAke2xpbmV9ICR7d29yZH1gIDogd29yZDtcbiAgICAgIGlmIChjdHgubWVhc3VyZVRleHQodGVzdCkud2lkdGggPiBtYXhXaWR0aCAmJiBsaW5lKSB7XG4gICAgICAgIGN0eC5maWxsVGV4dChsaW5lLCB4LCBjdXJZKTtcbiAgICAgICAgbGluZXMgKz0gMTtcbiAgICAgICAgaWYgKGxpbmVzID49IG1heExpbmVzKSByZXR1cm47XG4gICAgICAgIGxpbmUgPSB3b3JkO1xuICAgICAgICBjdXJZICs9IGxpbmVIZWlnaHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsaW5lID0gdGVzdDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGxpbmUpIGN0eC5maWxsVGV4dChsaW5lLCB4LCBjdXJZKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJhd0RldGFpbChcbiAgICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB8IE9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICBsYWJlbDogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcsXG4gICAgeDogbnVtYmVyLFxuICAgIHk6IG51bWJlcixcbiAgICBtYXhXaWR0aDogbnVtYmVyLFxuICAgIHJvd0hlaWdodDogbnVtYmVyXG4gICk6IG51bWJlciB7XG4gICAgY3R4LnRleHRBbGlnbiA9ICdsZWZ0JztcbiAgICBjdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7XG4gICAgY3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDI1NSwyNTUsMjU1LDAuNTQpJztcbiAgICBjdHguZm9udCA9IGA3MDAgMjJweCAke0ZPTlRfU1RBQ0t9YDtcbiAgICBjdHguZmlsbFRleHQobGFiZWwsIHgsIHksIG1heFdpZHRoKTtcblxuICAgIGN0eC5maWxsU3R5bGUgPSAnI2ZmZmZmZic7XG4gICAgY3R4LmZvbnQgPSBgODAwIDMycHggJHtGT05UX1NUQUNLfWA7XG4gICAgdGhpcy5maWxsV3JhcHBlZFRleHQoY3R4LCB2YWx1ZSwgeCwgeSArIDMyLCBtYXhXaWR0aCwgMzgsIHJvd0hlaWdodCA8PSA5MCA/IDEgOiAyKTtcbiAgICByZXR1cm4geSArIHJvd0hlaWdodDtcbiAgfVxuXG4gIHByaXZhdGUgcm91bmRSZWN0KFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIHg6IG51bWJlcixcbiAgICB5OiBudW1iZXIsXG4gICAgd2lkdGg6IG51bWJlcixcbiAgICBoZWlnaHQ6IG51bWJlcixcbiAgICByYWRpdXM6IG51bWJlclxuICApOiB2b2lkIHtcbiAgICBjb25zdCByID0gTWF0aC5taW4ocmFkaXVzLCB3aWR0aCAvIDIsIGhlaWdodCAvIDIpO1xuICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICBjdHgubW92ZVRvKHggKyByLCB5KTtcbiAgICBjdHgubGluZVRvKHggKyB3aWR0aCAtIHIsIHkpO1xuICAgIGN0eC5xdWFkcmF0aWNDdXJ2ZVRvKHggKyB3aWR0aCwgeSwgeCArIHdpZHRoLCB5ICsgcik7XG4gICAgY3R4LmxpbmVUbyh4ICsgd2lkdGgsIHkgKyBoZWlnaHQgLSByKTtcbiAgICBjdHgucXVhZHJhdGljQ3VydmVUbyh4ICsgd2lkdGgsIHkgKyBoZWlnaHQsIHggKyB3aWR0aCAtIHIsIHkgKyBoZWlnaHQpO1xuICAgIGN0eC5saW5lVG8oeCArIHIsIHkgKyBoZWlnaHQpO1xuICAgIGN0eC5xdWFkcmF0aWNDdXJ2ZVRvKHgsIHkgKyBoZWlnaHQsIHgsIHkgKyBoZWlnaHQgLSByKTtcbiAgICBjdHgubGluZVRvKHgsIHkgKyByKTtcbiAgICBjdHgucXVhZHJhdGljQ3VydmVUbyh4LCB5LCB4ICsgciwgeSk7XG4gICAgY3R4LmNsb3NlUGF0aCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkSW1hZ2Uoc3JjOiBzdHJpbmcpOiBQcm9taXNlPEhUTUxJbWFnZUVsZW1lbnQ+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgaW1nID0gbmV3IEltYWdlKCk7XG4gICAgICBpbWcub25sb2FkID0gKCkgPT4gcmVzb2x2ZShpbWcpO1xuICAgICAgaW1nLm9uZXJyb3IgPSAoKSA9PiByZWplY3QobmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBpbWFnZTogJHtzcmN9YCkpO1xuICAgICAgaW1nLnNyYyA9IHNyYztcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWNhcmQtaW1hZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvdGlja2V0LWNhcmQtaW1hZ2UvdGlja2V0LWNhcmQtaW1hZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLFlBQVksR0FBRyxHQUFHLENBQUM7QUFDekIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDO0FBQzNCLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNsQixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQztBQUNwQixNQUFNLFdBQVcsR0FBRyxhQUFhLEdBQUcsRUFBRSxDQUFDO0FBRXZDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDO0FBQ3RDLE1BQU0sc0JBQXNCLEdBQUcsU0FBUyxDQUFDO0FBQ3pDLE1BQU0sVUFBVSxHQUFHLCtDQUErQyxDQUFDO0FBR25FLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUE2QjtRQUMxQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxJQUFJLFlBQVksQ0FBQztRQUUzQyxJQUFJLE1BQTJDLENBQUM7UUFDaEQsSUFBSSxHQUFpRSxDQUFDO1FBRXRFLElBQUksT0FBTyxlQUFlLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDM0MsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztZQUNuRCxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQXNDLENBQUM7UUFDckUsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLEdBQUcsUUFBUSxDQUFDLGFB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QyxDQUFDO0lBQ0wsQ0FBQzsrR0FuVVUsc0JBQXNCO21IQUF0QixzQkFBc0IsY0FEVCxNQUFNOzs0RkFDbkIsc0JBQXNCO2tCQURsQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpY2tldENhcmRJbWFnZUNvbmZpZyB9IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBDQU5WQVNfV0lEVEggPSA3MjA7XG5jb25zdCBDQU5WQVNfSEVJR0hUID0gMTI4MDtcbmNvbnN0IFNBRkVfWCA9IDY0O1xuY29uc3QgUVJfQ0FSRF9ZID0gMjc0O1xuY29uc3QgUVJfQ0FSRF9IID0gNTQ4O1xuY29uc3QgUVJfU0laRSA9IDQxMDtcbmNvbnN0IENPUFlSSUdIVF9ZID0gQ0FOVkFTX0hFSUdIVCAtIDM0O1xuXG5jb25zdCBERUZBVUxUX0JSQU5EX0NPTE9SID0gJyM5YjFmZGUnO1xuY29uc3QgREVGQVVMVF9CUkFORF9DT0xPUl9UTyA9ICcjYzkzMDc1JztcbmNvbnN0IEZPTlRfU1RBQ0sgPSAnXCJQbHVzIEpha2FydGEgU2Fuc1wiLCBLaHVsYSwgQXJpYWwsIHNhbnMtc2VyaWYnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRpY2tldENhcmRJbWFnZVNlcnZpY2Uge1xuICBhc3luYyBnZW5lcmF0ZShjb25maWc6IFRpY2tldENhcmRJbWFnZUNvbmZpZyk6IFByb21pc2U8QmxvYj4ge1xuICAgIGNvbnN0IHdpZHRoID0gY29uZmlnLndpZHRoID8/IENBTlZBU19XSURUSDtcblxuICAgIGxldCBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50IHwgT2Zmc2NyZWVuQ2FudmFzO1xuICAgIGxldCBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB8IE9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcblxuICAgIGlmICh0eXBlb2YgT2Zmc2NyZWVuQ2FudmFzICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY2FudmFzID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgQ0FOVkFTX0hFSUdIVCk7XG4gICAgICBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKSBhcyBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgKGNhbnZhcyBhcyBIVE1MQ2FudmFzRWxlbWVudCkud2lkdGggPSB3aWR0aDtcbiAgICAgIChjYW52YXMgYXMgSFRNTENhbnZhc0VsZW1lbnQpLmhlaWdodCA9IENBTlZBU19IRUlHSFQ7XG4gICAgICBjdHggPSAoY2FudmFzIGFzIEhUTUxDYW52YXNFbGVtZW50KS5nZXRDb250ZXh0KCcyZCcpIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgICB9XG5cbiAgICBhd2FpdCB0aGlzLmRyYXdCYWNrZ3JvdW5kKGN0eCwgY29uZmlnLCB3aWR0aCk7XG4gICAgYXdhaXQgdGhpcy5kcmF3SGVhZGVyKGN0eCwgY29uZmlnLCB3aWR0aCk7XG4gICAgYXdhaXQgdGhpcy5kcmF3UXJab25lKGN0eCwgY29uZmlnLCB3aWR0aCk7XG4gICAgdGhpcy5kcmF3Rm9vdGVyKGN0eCwgY29uZmlnLCB3aWR0aCk7XG5cbiAgICBpZiAoY2FudmFzIGluc3RhbmNlb2YgT2Zmc2NyZWVuQ2FudmFzKSB7XG4gICAgICByZXR1cm4gY2FudmFzLmNvbnZlcnRUb0Jsb2IoeyB0eXBlOiAnaW1hZ2UvcG5nJyB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2U8QmxvYj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgKGNhbnZhcyBhcyBIVE1MQ2FudmFzRWxlbWVudCkudG9CbG9iKGJsb2IgPT4ge1xuICAgICAgICBpZiAoYmxvYikge1xuICAgICAgICAgIHJlc29sdmUoYmxvYik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignQ2FudmFzIHRvQmxvYiByZXR1cm5lZCBudWxsJykpO1xuICAgICAgICB9XG4gICAgICB9LCAnaW1hZ2UvcG5nJyk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzaGFyZShjb25maWc6IFRpY2tldENhcmRJbWFnZUNvbmZpZywgc2hhcmVUaXRsZT86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICghbmF2aWdhdG9yLnNoYXJlIHx8ICFuYXZpZ2F0b3IuY2FuU2hhcmUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBsZXQgYmxvYjogQmxvYjtcbiAgICB0cnkge1xuICAgICAgYmxvYiA9IGF3YWl0IHRoaXMuZ2VuZXJhdGUoY29uZmlnKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBmaWxlbmFtZSA9ICdlbnRyYWRhLnBuZyc7XG4gICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlKFtibG9iXSwgZmlsZW5hbWUsIHsgdHlwZTogJ2ltYWdlL3BuZycgfSk7XG5cbiAgICBpZiAoIW5hdmlnYXRvci5jYW5TaGFyZSh7IGZpbGVzOiBbZmlsZV0gfSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLnNoYXJlKHtcbiAgICAgICAgdGl0bGU6IHNoYXJlVGl0bGUgPz8gY29uZmlnLmJyYW5kTmFtZSA/PyAnRW50cmFkYScsXG4gICAgICAgIGZpbGVzOiBbZmlsZV0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbiAmJiBlcnIubmFtZSA9PT0gJ0Fib3J0RXJyb3InKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRyYXdCYWNrZ3JvdW5kKFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIGNvbmZpZzogVGlja2V0Q2FyZEltYWdlQ29uZmlnLFxuICAgIHdpZHRoOiBudW1iZXJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY29sb3JGcm9tID0gY29uZmlnLmJyYW5kQ29sb3IgPz8gREVGQVVMVF9CUkFORF9DT0xPUjtcbiAgICBjb25zdCBjb2xvclRvID1cbiAgICAgIGNvbmZpZy5icmFuZENvbG9yVG8gPz8gKGNvbmZpZy5icmFuZENvbG9yID8gY29uZmlnLmJyYW5kQ29sb3IgOiBERUZBVUxUX0JSQU5EX0NPTE9SX1RPKTtcblxuICAgIGNvbnN0IGdyYWQgPSBjdHguY3JlYXRlTGluZWFyR3JhZGllbnQoMCwgMCwgd2lkdGgsIENBTlZBU19IRUlHSFQpO1xuICAgIGdyYWQuYWRkQ29sb3JTdG9wKDAsIGNvbG9yRnJvbSk7XG4gICAgZ3JhZC5hZGRDb2xvclN0b3AoMSwgY29sb3JUbyk7XG4gICAgY3R4LmZpbGxTdHlsZSA9IGdyYWQ7XG4gICAgY3R4LmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBDQU5WQVNfSEVJR0hUKTtcblxuICAgIGNvbnN0IGdsb3cgPSBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQod2lkdGggKiAwLjcyLCAxMjAsIDMwLCB3aWR0aCAqIDAuNzIsIDEyMCwgd2lkdGggKiAwLjcyKTtcbiAgICBnbG93LmFkZENvbG9yU3RvcCgwLCAncmdiYSgyNTUsMjU1LDI1NSwwLjIwKScpO1xuICAgIGdsb3cuYWRkQ29sb3JTdG9wKDEsICdyZ2JhKDI1NSwyNTUsMjU1LDApJyk7XG4gICAgY3R4LmZpbGxTdHlsZSA9IGdsb3c7XG4gICAgY3R4LmZpbGxSZWN0KDAsIDAsIHdpZHRoLCBDQU5WQVNfSEVJR0hUKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZHJhd0hlYWRlcihcbiAgICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB8IE9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICBjb25maWc6IFRpY2tldENhcmRJbWFnZUNvbmZpZyxcbiAgICB3aWR0aDogbnVtYmVyXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGxvZ29IID0gNTg7XG4gICAgY29uc3QgbG9nb1BhZFRvcCA9IDQ4O1xuICAgIGxldCBjdXJzb3JZID0gbG9nb1BhZFRvcDtcblxuICAgIGlmIChjb25maWcubG9nb1VybCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbG9nb0ltZyA9IGF3YWl0IHRoaXMubG9hZEltYWdlKGNvbmZpZy5sb2dvVXJsKTtcbiAgICAgICAgY29uc3QgcmF0aW8gPSBsb2dvSW1nLndpZHRoIC8gbG9nb0ltZy5oZWlnaHQ7XG4gICAgICAgIGNvbnN0IGxvZ29XID0gbG9nb0ggKiByYXRpbztcbiAgICAgICAgY29uc3QgbG9nb1ggPSAod2lkdGggLSBsb2dvVykgLyAyO1xuICAgICAgICBjdHguZHJhd0ltYWdlKGxvZ29JbWcsIGxvZ29YLCBjdXJzb3JZLCBsb2dvVywgbG9nb0gpO1xuICAgICAgICBjdXJzb3JZICs9IGxvZ29IICsgMjg7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gbG9nbyBmYWlsZWQg4oCUIGNvbnRpbnVlIHdpdGhvdXQgaXRcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29uZmlnLmJyYW5kTmFtZSkge1xuICAgICAgY3R4LmZpbGxTdHlsZSA9ICcjZmZmZmZmJztcbiAgICAgIGN0eC5mb250ID0gYDgwMCA0MnB4ICR7Rk9OVF9TVEFDS31gO1xuICAgICAgY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xuICAgICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgICAgdGhpcy5maWxsV3JhcHBlZFRleHQoY3R4LCBjb25maWcuYnJhbmROYW1lLCB3aWR0aCAvIDIsIGN1cnNvclksIHdpZHRoIC0gODAsIDQ4LCAyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRyYXdRclpvbmUoXG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgY29uZmlnOiBUaWNrZXRDYXJkSW1hZ2VDb25maWcsXG4gICAgd2lkdGg6IG51bWJlclxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjYXJkWCA9IFNBRkVfWDtcbiAgICBjb25zdCBjYXJkVyA9IHdpZHRoIC0gU0FGRV9YICogMjtcbiAgICBjb25zdCBjYXJkUiA9IDY0O1xuXG4gICAgY3R4LmZpbGxTdHlsZSA9ICcjZmZmZmZmJztcbiAgICB0aGlzLnJvdW5kUmVjdChjdHgsIGNhcmRYLCBRUl9DQVJEX1ksIGNhcmRXLCBRUl9DQVJEX0gsIGNhcmRSKTtcbiAgICBjdHguZmlsbCgpO1xuXG4gICAgY29uc3QgcXJYID0gKHdpZHRoIC0gUVJfU0laRSkgLyAyO1xuICAgIGNvbnN0IHFyWSA9IFFSX0NBUkRfWSArIDU4O1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHFySW1nID0gYXdhaXQgdGhpcy5sb2FkSW1hZ2UoY29uZmlnLnFyRGF0YVVybCk7XG4gICAgICBjdHguZHJhd0ltYWdlKHFySW1nLCBxclgsIHFyWSwgUVJfU0laRSwgUVJfU0laRSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICBjdHguc3Ryb2tlU3R5bGUgPSAnI2UwZTBlMCc7XG4gICAgICBjdHguc3Ryb2tlUmVjdChxclgsIHFyWSwgUVJfU0laRSwgUVJfU0laRSk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5xckxvZ29VcmwpIHtcbiAgICAgIGF3YWl0IHRoaXMuZHJhd1FyTG9nbyhjdHgsIGNvbmZpZy5xckxvZ29VcmwsIHFyWCwgcXJZKTtcbiAgICB9XG5cbiAgICBjb25zdCBsYWJlbCA9IGNvbmZpZy5mb2xpb0xhYmVsID8/ICdDYXJ0w7NuJztcbiAgICBjb25zdCBmb2xpb1RleHQgPVxuICAgICAgY29uZmlnLmZvbGlvICE9PSB1bmRlZmluZWQgJiYgY29uZmlnLmZvbGlvICE9PSBudWxsICYmIGNvbmZpZy5mb2xpbyAhPT0gJydcbiAgICAgICAgPyBgJHtsYWJlbH0gIyR7Y29uZmlnLmZvbGlvfWBcbiAgICAgICAgOiAnJztcbiAgICBpZiAoZm9saW9UZXh0KSB7XG4gICAgICBjdHguZmlsbFN0eWxlID0gJyMxNzE0MjAnO1xuICAgICAgY3R4LmZvbnQgPSBgNzAwIDM0cHggJHtGT05UX1NUQUNLfWA7XG4gICAgICBjdHgudGV4dEFsaWduID0gJ2NlbnRlcic7XG4gICAgICBjdHgudGV4dEJhc2VsaW5lID0gJ3RvcCc7XG4gICAgICBjdHguZmlsbFRleHQoZm9saW9UZXh0LCB3aWR0aCAvIDIsIHFyWSArIFFSX1NJWkUgKyAyOCwgY2FyZFcgLSA3Mik7XG4gICAgfVxuXG4gICAgY29uc3QgaGludCA9IGNvbmZpZy5zY2FuSGludCA/PyAnTXVlc3RyYSBlc3RlIFFSIGVuIGxhIHB1ZXJ0YSBwYXJhIGNhbmplYXIgdHUgY2FydMOzbi4nO1xuICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsMjU1LDI1NSwwLjc4KSc7XG4gICAgY3R4LmZvbnQgPSBgNjAwIDI0cHggJHtGT05UX1NUQUNLfWA7XG4gICAgY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xuICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAndG9wJztcbiAgICB0aGlzLmZpbGxXcmFwcGVkVGV4dChjdHgsIGhpbnQsIHdpZHRoIC8gMiwgUVJfQ0FSRF9ZICsgUVJfQ0FSRF9IICsgMzQsIHdpZHRoIC0gU0FGRV9YICogMiwgMzAsIDIpO1xuICB9XG5cbiAgcHJpdmF0ZSBkcmF3Rm9vdGVyKFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIGNvbmZpZzogVGlja2V0Q2FyZEltYWdlQ29uZmlnLFxuICAgIHdpZHRoOiBudW1iZXJcbiAgKTogdm9pZCB7XG4gICAgbGV0IGNvbnRlbnRZID0gUVJfQ0FSRF9ZICsgUVJfQ0FSRF9IICsgMTMyO1xuICAgIGNvbnN0IGxhYmVsQ29sb3IgPSAncmdiYSgyNTUsMjU1LDI1NSwwLjU1KSc7XG4gICAgY29uc3QgZGV0YWlscyA9IFtcbiAgICAgIGNvbmZpZy5ldmVudERhdGUgPyBbJ0ZlY2hhIGRlbCBldmVudG8nLCBjb25maWcuZXZlbnREYXRlXSA6IG51bGwsXG4gICAgICBjb25maWcuZXZlbnRMb2NhdGlvbiA/IFsnTHVnYXInLCBjb25maWcuZXZlbnRMb2NhdGlvbl0gOiBudWxsLFxuICAgICAgY29uZmlnLmJ1eWVyTmFtZSA/IFsnQ29tcHJhZG9yJywgY29uZmlnLmJ1eWVyTmFtZV0gOiBudWxsLFxuICAgIF0uZmlsdGVyKChkZXRhaWwpOiBkZXRhaWwgaXMgW3N0cmluZywgc3RyaW5nXSA9PiAhIWRldGFpbCk7XG5cbiAgICBpZiAoZGV0YWlscy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBkZXRhaWxCb3R0b21MaW1pdCA9IENPUFlSSUdIVF9ZIC0gNTg7XG4gICAgICBjb25zdCByb3dIZWlnaHQgPSBNYXRoLm1heChcbiAgICAgICAgODIsXG4gICAgICAgIE1hdGgubWluKDExMiwgTWF0aC5mbG9vcigoZGV0YWlsQm90dG9tTGltaXQgLSBjb250ZW50WSkgLyBkZXRhaWxzLmxlbmd0aCkpXG4gICAgICApO1xuICAgICAgZm9yIChjb25zdCBbbGFiZWwsIHZhbHVlXSBvZiBkZXRhaWxzKSB7XG4gICAgICAgIGNvbnRlbnRZID0gdGhpcy5kcmF3RGV0YWlsKGN0eCwgbGFiZWwsIHZhbHVlLCBTQUZFX1gsIGNvbnRlbnRZLCB3aWR0aCAtIFNBRkVfWCAqIDIsIHJvd0hlaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY3R4LmZpbGxTdHlsZSA9IGxhYmVsQ29sb3I7XG4gICAgY3R4LmZvbnQgPSBgNTAwIDE4cHggJHtGT05UX1NUQUNLfWA7XG4gICAgY3R4LnRleHRBbGlnbiA9ICdjZW50ZXInO1xuICAgIGN0eC50ZXh0QmFzZWxpbmUgPSAnYm90dG9tJztcbiAgICBjdHguZmlsbFRleHQoJ8KpIDIwMjYgVmFsdGVjaC4gVG9kb3MgbG9zIGRlcmVjaG9zIHJlc2VydmFkb3MuJywgd2lkdGggLyAyLCBDT1BZUklHSFRfWSk7XG4gIH1cblxuICBwcml2YXRlIGZpbGxXcmFwcGVkVGV4dChcbiAgICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCB8IE9mZnNjcmVlbkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCxcbiAgICB0ZXh0OiBzdHJpbmcsXG4gICAgeDogbnVtYmVyLFxuICAgIHk6IG51bWJlcixcbiAgICBtYXhXaWR0aDogbnVtYmVyLFxuICAgIGxpbmVIZWlnaHQ6IG51bWJlcixcbiAgICBtYXhMaW5lcyA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWVxuICApOiB2b2lkIHtcbiAgICBjb25zdCB3b3JkcyA9IHRleHQuc3BsaXQoJyAnKTtcbiAgICBsZXQgbGluZSA9ICcnO1xuICAgIGxldCBjdXJZID0geTtcbiAgICBsZXQgbGluZXMgPSAwO1xuICAgIGZvciAoY29uc3Qgd29yZCBvZiB3b3Jkcykge1xuICAgICAgY29uc3QgdGVzdCA9IGxpbmUgPyBgJHtsaW5lfSAke3dvcmR9YCA6IHdvcmQ7XG4gICAgICBpZiAoY3R4Lm1lYXN1cmVUZXh0KHRlc3QpLndpZHRoID4gbWF4V2lkdGggJiYgbGluZSkge1xuICAgICAgICBjdHguZmlsbFRleHQobGluZSwgeCwgY3VyWSk7XG4gICAgICAgIGxpbmVzICs9IDE7XG4gICAgICAgIGlmIChsaW5lcyA+PSBtYXhMaW5lcykgcmV0dXJuO1xuICAgICAgICBsaW5lID0gd29yZDtcbiAgICAgICAgY3VyWSArPSBsaW5lSGVpZ2h0O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGluZSA9IHRlc3Q7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChsaW5lKSBjdHguZmlsbFRleHQobGluZSwgeCwgY3VyWSk7XG4gIH1cblxuICBwcml2YXRlIGRyYXdEZXRhaWwoXG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgbGFiZWw6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICAgIHg6IG51bWJlcixcbiAgICB5OiBudW1iZXIsXG4gICAgbWF4V2lkdGg6IG51bWJlcixcbiAgICByb3dIZWlnaHQ6IG51bWJlclxuICApOiBudW1iZXIge1xuICAgIGN0eC50ZXh0QWxpZ24gPSAnbGVmdCc7XG4gICAgY3R4LnRleHRCYXNlbGluZSA9ICd0b3AnO1xuICAgIGN0eC5maWxsU3R5bGUgPSAncmdiYSgyNTUsMjU1LDI1NSwwLjU0KSc7XG4gICAgY3R4LmZvbnQgPSBgNzAwIDIycHggJHtGT05UX1NUQUNLfWA7XG4gICAgY3R4LmZpbGxUZXh0KGxhYmVsLCB4LCB5LCBtYXhXaWR0aCk7XG5cbiAgICBjdHguZmlsbFN0eWxlID0gJyNmZmZmZmYnO1xuICAgIGN0eC5mb250ID0gYDgwMCAzMnB4ICR7Rk9OVF9TVEFDS31gO1xuICAgIHRoaXMuZmlsbFdyYXBwZWRUZXh0KGN0eCwgdmFsdWUsIHgsIHkgKyAzMiwgbWF4V2lkdGgsIDM4LCByb3dIZWlnaHQgPD0gOTAgPyAxIDogMik7XG4gICAgcmV0dXJuIHkgKyByb3dIZWlnaHQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGRyYXdRckxvZ28oXG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgbG9nb1VybDogc3RyaW5nLFxuICAgIHFyWDogbnVtYmVyLFxuICAgIHFyWTogbnVtYmVyXG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGxvZ29TaXplID0gTWF0aC5yb3VuZChRUl9TSVpFICogMC4yKTtcbiAgICBjb25zdCBwYWRkaW5nID0gTWF0aC5tYXgoOCwgTWF0aC5yb3VuZChsb2dvU2l6ZSAqIDAuMSkpO1xuICAgIGNvbnN0IGJveFNpemUgPSBsb2dvU2l6ZSArIHBhZGRpbmcgKiAyO1xuICAgIGNvbnN0IGJveFggPSBxclggKyAoUVJfU0laRSAtIGJveFNpemUpIC8gMjtcbiAgICBjb25zdCBib3hZID0gcXJZICsgKFFSX1NJWkUgLSBib3hTaXplKSAvIDI7XG5cbiAgICBjdHguZmlsbFN0eWxlID0gJyNmZmZmZmYnO1xuICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICBjdHguYXJjKGJveFggKyBib3hTaXplIC8gMiwgYm94WSArIGJveFNpemUgLyAyLCBib3hTaXplIC8gMiwgMCwgTWF0aC5QSSAqIDIpO1xuICAgIGN0eC5maWxsKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgbG9nb0ltZyA9IGF3YWl0IHRoaXMubG9hZEltYWdlKGxvZ29VcmwpO1xuICAgICAgY3R4LmRyYXdJbWFnZShsb2dvSW1nLCBib3hYICsgcGFkZGluZywgYm94WSArIHBhZGRpbmcsIGxvZ29TaXplLCBsb2dvU2l6ZSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmRyYXdCaW5nb0ZhbGxiYWNrTWFyayhjdHgsIGJveFggKyBwYWRkaW5nLCBib3hZICsgcGFkZGluZywgbG9nb1NpemUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZHJhd0JpbmdvRmFsbGJhY2tNYXJrKFxuICAgIGN0eDogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEIHwgT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELFxuICAgIHg6IG51bWJlcixcbiAgICB5OiBudW1iZXIsXG4gICAgc2l6ZTogbnVtYmVyXG4gICk6IHZvaWQge1xuICAgIGN0eC5maWxsU3R5bGUgPSAnI2MwOTBmZic7XG4gICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgIGN0eC5hcmMoeCArIHNpemUgKiAwLjI4LCB5ICsgc2l6ZSAqIDAuMjQsIHNpemUgKiAwLjIsIDAsIE1hdGguUEkgKiAyKTtcbiAgICBjdHguZmlsbCgpO1xuXG4gICAgY3R4LmZpbGxTdHlsZSA9ICcjZmYwMGIyJztcbiAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgY3R4LmFyYyh4ICsgc2l6ZSAqIDAuNTcsIHkgKyBzaXplICogMC42NCwgc2l6ZSAqIDAuMzYsIDAsIE1hdGguUEkgKiAyKTtcbiAgICBjdHguZmlsbCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByb3VuZFJlY3QoXG4gICAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQgfCBPZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsXG4gICAgeDogbnVtYmVyLFxuICAgIHk6IG51bWJlcixcbiAgICB3aWR0aDogbnVtYmVyLFxuICAgIGhlaWdodDogbnVtYmVyLFxuICAgIHJhZGl1czogbnVtYmVyXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHIgPSBNYXRoLm1pbihyYWRpdXMsIHdpZHRoIC8gMiwgaGVpZ2h0IC8gMik7XG4gICAgY3R4LmJlZ2luUGF0aCgpO1xuICAgIGN0eC5tb3ZlVG8oeCArIHIsIHkpO1xuICAgIGN0eC5saW5lVG8oeCArIHdpZHRoIC0gciwgeSk7XG4gICAgY3R4LnF1YWRyYXRpY0N1cnZlVG8oeCArIHdpZHRoLCB5LCB4ICsgd2lkdGgsIHkgKyByKTtcbiAgICBjdHgubGluZVRvKHggKyB3aWR0aCwgeSArIGhlaWdodCAtIHIpO1xuICAgIGN0eC5xdWFkcmF0aWNDdXJ2ZVRvKHggKyB3aWR0aCwgeSArIGhlaWdodCwgeCArIHdpZHRoIC0gciwgeSArIGhlaWdodCk7XG4gICAgY3R4LmxpbmVUbyh4ICsgciwgeSArIGhlaWdodCk7XG4gICAgY3R4LnF1YWRyYXRpY0N1cnZlVG8oeCwgeSArIGhlaWdodCwgeCwgeSArIGhlaWdodCAtIHIpO1xuICAgIGN0eC5saW5lVG8oeCwgeSArIHIpO1xuICAgIGN0eC5xdWFkcmF0aWNDdXJ2ZVRvKHgsIHksIHggKyByLCB5KTtcbiAgICBjdHguY2xvc2VQYXRoKCk7XG4gIH1cblxuICBwcml2YXRlIGxvYWRJbWFnZShzcmM6IHN0cmluZyk6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCBpbWcgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIGltZy5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKGltZyk7XG4gICAgICBpbWcub25lcnJvciA9ICgpID0+IHJlamVjdChuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIGltYWdlOiAke3NyY31gKSk7XG4gICAgICBpbWcuc3JjID0gc3JjO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC1jYXJkLWltYWdlL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFRpY2tldENhcmRJbWFnZUNvbmZpZyB7XG4gIC8qKiBRUiBjb2RlIGFzIGRhdGFVcmwgKFBORy9iYXNlNjQpICovXG4gIHFyRGF0YVVybDogc3RyaW5nO1xuICAvKiogTG9nbyByZW5kZXJlZCBpbiB0aGUgY2VudGVyIG9mIHRoZSBRUi4gVVJMIG9yIGRhdGFVcmwuIE9wdGlvbmFsLiAqL1xuICBxckxvZ29Vcmw/OiBzdHJpbmc7XG4gIC8qKiBMb2dvIHRvIHNob3cgaW4gdGhlIGhlYWRlci4gVVJMIG9yIGRhdGFVcmwuIE9wdGlvbmFsLiAqL1xuICBsb2dvVXJsPzogc3RyaW5nO1xuICAvKiogSGVhZGVyIGJhY2tncm91bmQgY29sb3IgKENTUyBjb2xvcikuIERlZmF1bHQ6IGJpbmdvIGdyYWRpZW50ICcjOWIxZmRlJyAtPiAnI2M5MzA3NScuICovXG4gIGJyYW5kQ29sb3I/OiBzdHJpbmc7XG4gIC8qKiBTZWNvbmQgY29sb3IgZm9yIGdyYWRpZW50LiBJZiBhYnNlbnQsIHVzZSBzb2xpZCBicmFuZENvbG9yLiAqL1xuICBicmFuZENvbG9yVG8/OiBzdHJpbmc7XG4gIC8qKiBCcmFuZC9ldmVudCBuYW1lIHNob3duIGluIGhlYWRlci4gKi9cbiAgYnJhbmROYW1lPzogc3RyaW5nO1xuICAvKiogRm9saW8gbnVtYmVyIG9yIHN0cmluZy4gKi9cbiAgZm9saW8/OiBudW1iZXIgfCBzdHJpbmc7XG4gIC8qKiBMYWJlbCBmb3IgZm9saW8uIERlZmF1bHQ6IFwiRW50cmFkYVwiLiAqL1xuICBmb2xpb0xhYmVsPzogc3RyaW5nO1xuICAvKiogQnV5ZXIgbmFtZS4gT3B0aW9uYWwuICovXG4gIGJ1eWVyTmFtZT86IHN0cmluZztcbiAgLyoqIENhbnZhcyB3aWR0aCAoZGVmYXVsdCA1NjApLiAqL1xuICB3aWR0aD86IG51bWJlcjtcbiAgLyoqIEV2ZW50IGRhdGUgc3RyaW5nIHRvIHNob3cgaW4gaGVhZGVyIChhbHJlYWR5IGZvcm1hdHRlZCBmb3IgZGlzcGxheSwgZS5nLiBcIm1hcnRlcywgMjQgZGUganVuaW9cIikuICovXG4gIGV2ZW50RGF0ZT86IHN0cmluZztcbiAgLyoqIEV2ZW50IGxvY2F0aW9uIHRvIHNob3cgaW4gaGVhZGVyLiAqL1xuICBldmVudExvY2F0aW9uPzogc3RyaW5nO1xuICAvKiogSGludCB0ZXh0IGJlbG93IHRoZSBRUiBjb2RlLiBEZWZhdWx0OiBcIk11ZXN0cmEgZXN0ZSBRUiBlbiBsYSBwdWVydGEgcGFyYSBjYW5qZWFyIHR1IGVudHJhZGEuXCIgKi9cbiAgc2NhbkhpbnQ/OiBzdHJpbmc7XG59XG4iXX0=
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.571';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC41NzEnO1xuIl19
|