@bitgo-beta/abstract-eth 1.2.3-alpha.330 → 1.2.3-alpha.331

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.
Files changed (32) hide show
  1. package/dist/test/unit/index.d.ts +0 -1
  2. package/dist/test/unit/index.d.ts.map +1 -1
  3. package/dist/test/unit/index.js +1 -2
  4. package/dist/tsconfig.tsbuildinfo +1 -1
  5. package/package.json +7 -7
  6. package/dist/src/lib/messages/eip191/eip191Message.d.ts +0 -12
  7. package/dist/src/lib/messages/eip191/eip191Message.d.ts.map +0 -1
  8. package/dist/src/lib/messages/eip191/eip191Message.js +0 -27
  9. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts +0 -25
  10. package/dist/src/lib/messages/eip191/eip191MessageBuilder.d.ts.map +0 -1
  11. package/dist/src/lib/messages/eip191/eip191MessageBuilder.js +0 -68
  12. package/dist/src/lib/messages/index.d.ts +0 -2
  13. package/dist/src/lib/messages/index.d.ts.map +0 -1
  14. package/dist/src/lib/messages/index.js +0 -18
  15. package/dist/src/lib/messages/messageBuilderFactory.d.ts +0 -7
  16. package/dist/src/lib/messages/messageBuilderFactory.d.ts.map +0 -1
  17. package/dist/src/lib/messages/messageBuilderFactory.js +0 -20
  18. package/dist/test/unit/messages/eip191/eip191Message.d.ts +0 -2
  19. package/dist/test/unit/messages/eip191/eip191Message.d.ts.map +0 -1
  20. package/dist/test/unit/messages/eip191/eip191Message.js +0 -148
  21. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts +0 -2
  22. package/dist/test/unit/messages/eip191/eip191MessageBuilder.d.ts.map +0 -1
  23. package/dist/test/unit/messages/eip191/eip191MessageBuilder.js +0 -106
  24. package/dist/test/unit/messages/fixtures.d.ts +0 -19
  25. package/dist/test/unit/messages/fixtures.d.ts.map +0 -1
  26. package/dist/test/unit/messages/fixtures.js +0 -25
  27. package/dist/test/unit/messages/index.d.ts +0 -4
  28. package/dist/test/unit/messages/index.d.ts.map +0 -1
  29. package/dist/test/unit/messages/index.js +0 -20
  30. package/dist/test/unit/messages/messageBuilderFactory.d.ts +0 -2
  31. package/dist/test/unit/messages/messageBuilderFactory.d.ts.map +0 -1
  32. package/dist/test/unit/messages/messageBuilderFactory.js +0 -45
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fixtures = void 0;
4
- const statics_1 = require("@bitgo-beta/statics");
5
- // Test fixtures for EIP-191 message tests
6
- exports.fixtures = {
7
- coin: statics_1.coins.get('teth'),
8
- messages: {
9
- validMessage: 'Hello, world!',
10
- emptyMessage: '',
11
- specialCharsMessage: '!@#$%^&*()',
12
- longMessage: 'This is a very long message that contains multiple lines and special characters. ' +
13
- 'It is designed to test the EIP-191 message format with a more complex payload.',
14
- },
15
- eip191: {
16
- validSignablePayload: '0x19457468657265756d205369676e6564204d6573736167653a0d48656c6c6f2c20776f726c6421',
17
- signature: '0x5d99b6f7f6d1f73d1a26497f2b1c89b24c0993913f86e9a2d02cd69887d9c94f3c880358579d811b21dd1b7fd9bb01c1d81d10e69f0384e675c32b39643be8921b',
18
- signer: '0x7E5F4552091A69125d5DfCb7b8C2659029395Bdf',
19
- metadata: {
20
- encoding: 'utf8',
21
- customData: 'test data',
22
- },
23
- },
24
- };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvZml4dHVyZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTRDO0FBRTVDLDBDQUEwQztBQUM3QixRQUFBLFFBQVEsR0FBRztJQUN0QixJQUFJLEVBQUUsZUFBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7SUFDdkIsUUFBUSxFQUFFO1FBQ1IsWUFBWSxFQUFFLGVBQWU7UUFDN0IsWUFBWSxFQUFFLEVBQUU7UUFDaEIsbUJBQW1CLEVBQUUsWUFBWTtRQUNqQyxXQUFXLEVBQ1QsbUZBQW1GO1lBQ25GLGdGQUFnRjtLQUNuRjtJQUNELE1BQU0sRUFBRTtRQUNOLG9CQUFvQixFQUFFLGtGQUFrRjtRQUN4RyxTQUFTLEVBQ1Asc0lBQXNJO1FBQ3hJLE1BQU0sRUFBRSw0Q0FBNEM7UUFDcEQsUUFBUSxFQUFFO1lBQ1IsUUFBUSxFQUFFLE1BQU07WUFDaEIsVUFBVSxFQUFFLFdBQVc7U0FDeEI7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby1iZXRhL3N0YXRpY3MnO1xuXG4vLyBUZXN0IGZpeHR1cmVzIGZvciBFSVAtMTkxIG1lc3NhZ2UgdGVzdHNcbmV4cG9ydCBjb25zdCBmaXh0dXJlcyA9IHtcbiAgY29pbjogY29pbnMuZ2V0KCd0ZXRoJyksXG4gIG1lc3NhZ2VzOiB7XG4gICAgdmFsaWRNZXNzYWdlOiAnSGVsbG8sIHdvcmxkIScsXG4gICAgZW1wdHlNZXNzYWdlOiAnJyxcbiAgICBzcGVjaWFsQ2hhcnNNZXNzYWdlOiAnIUAjJCVeJiooKScsXG4gICAgbG9uZ01lc3NhZ2U6XG4gICAgICAnVGhpcyBpcyBhIHZlcnkgbG9uZyBtZXNzYWdlIHRoYXQgY29udGFpbnMgbXVsdGlwbGUgbGluZXMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycy4gJyArXG4gICAgICAnSXQgaXMgZGVzaWduZWQgdG8gdGVzdCB0aGUgRUlQLTE5MSBtZXNzYWdlIGZvcm1hdCB3aXRoIGEgbW9yZSBjb21wbGV4IHBheWxvYWQuJyxcbiAgfSxcbiAgZWlwMTkxOiB7XG4gICAgdmFsaWRTaWduYWJsZVBheWxvYWQ6ICcweDE5NDU3NDY4NjU3MjY1NzU2ZDIwNTM2OTY3NmU2NTY0MjA0ZDY1NzM3MzYxNjc2NTNhMGQ0ODY1NmM2YzZmMmMyMDc3NmY3MjZjNjQyMScsXG4gICAgc2lnbmF0dXJlOlxuICAgICAgJzB4NWQ5OWI2ZjdmNmQxZjczZDFhMjY0OTdmMmIxYzg5YjI0YzA5OTM5MTNmODZlOWEyZDAyY2Q2OTg4N2Q5Yzk0ZjNjODgwMzU4NTc5ZDgxMWIyMWRkMWI3ZmQ5YmIwMWMxZDgxZDEwZTY5ZjAzODRlNjc1YzMyYjM5NjQzYmU4OTIxYicsXG4gICAgc2lnbmVyOiAnMHg3RTVGNDU1MjA5MUE2OTEyNWQ1RGZDYjdiOEMyNjU5MDI5Mzk1QmRmJyxcbiAgICBtZXRhZGF0YToge1xuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIGN1c3RvbURhdGE6ICd0ZXN0IGRhdGEnLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
@@ -1,4 +0,0 @@
1
- export * from './eip191/eip191Message';
2
- export * from './eip191/eip191MessageBuilder';
3
- export * from './messageBuilderFactory';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC"}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./eip191/eip191Message"), exports);
18
- __exportStar(require("./eip191/eip191MessageBuilder"), exports);
19
- __exportStar(require("./messageBuilderFactory"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L3VuaXQvbWVzc2FnZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF1QztBQUN2QyxnRUFBOEM7QUFDOUMsMERBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9laXAxOTEvZWlwMTkxTWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL2VpcDE5MS9laXAxOTFNZXNzYWdlQnVpbGRlcic7XG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VCdWlsZGVyRmFjdG9yeSc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- import 'should';
2
- //# sourceMappingURL=messageBuilderFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messageBuilderFactory.d.ts","sourceRoot":"","sources":["../../../../test/unit/messages/messageBuilderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC"}
@@ -1,45 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- require("should");
7
- const sinon_1 = __importDefault(require("sinon"));
8
- const sdk_core_1 = require("@bitgo-beta/sdk-core");
9
- const fixtures_1 = require("./fixtures");
10
- const messages_1 = require("../../../src/lib/messages");
11
- const eip191MessageBuilder_1 = require("../../../src/lib/messages/eip191/eip191MessageBuilder");
12
- describe('Message Builder Factory', () => {
13
- const sandbox = sinon_1.default.createSandbox();
14
- afterEach(() => {
15
- sandbox.restore();
16
- });
17
- describe('getMessageBuilder', () => {
18
- it('should return the correct builder for EIP191 message type', () => {
19
- const factory = new messages_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
20
- const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
21
- builder.should.be.instanceof(eip191MessageBuilder_1.Eip191MessageBuilder);
22
- });
23
- it('should throw an error for unsupported message types', () => {
24
- const factory = new messages_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
25
- // Test with an invalid/unsupported message type
26
- const unsupportedType = 'UNSUPPORTED_TYPE';
27
- (() => factory.getMessageBuilder(unsupportedType)).should.throw(/Invalid message standard/);
28
- });
29
- it('should throw for unknown message standard', () => {
30
- const factory = new messages_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
31
- (() => factory.getMessageBuilder(sdk_core_1.MessageStandardType.UNKNOWN)).should.throw(`Invalid message standard ${sdk_core_1.MessageStandardType.UNKNOWN}`);
32
- });
33
- });
34
- describe('Integration with builder', () => {
35
- it('should create a builder that can build a valid message', async () => {
36
- const factory = new messages_1.MessageBuilderFactory(fixtures_1.fixtures.coin);
37
- const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
38
- builder.setPayload(fixtures_1.fixtures.messages.validMessage);
39
- const message = await builder.build();
40
- message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
41
- message.getPayload().should.equal(fixtures_1.fixtures.messages.validMessage);
42
- });
43
- });
44
- });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL21lc3NhZ2VCdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGtCQUFnQjtBQUNoQixrREFBMEI7QUFDMUIsbURBQTJEO0FBQzNELHlDQUFzQztBQUN0Qyx3REFBa0U7QUFDbEUsZ0dBQTZGO0FBRTdGLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsTUFBTSxPQUFPLEdBQUcsZUFBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBRXRDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDYixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLEVBQUUsQ0FBQywyREFBMkQsRUFBRSxHQUFHLEVBQUU7WUFDbkUsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQ0FBcUIsQ0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXpELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV0RSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsMkNBQW9CLENBQUMsQ0FBQztRQUNyRCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxxREFBcUQsRUFBRSxHQUFHLEVBQUU7WUFDN0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQ0FBcUIsQ0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXpELGdEQUFnRDtZQUNoRCxNQUFNLGVBQWUsR0FBRyxrQkFBeUMsQ0FBQztZQUVsRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxnQ0FBcUIsQ0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXpELENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLDhCQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDekUsNEJBQTRCLDhCQUFtQixDQUFDLE9BQU8sRUFBRSxDQUMxRCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDeEMsRUFBRSxDQUFDLHdEQUF3RCxFQUFFLEtBQUssSUFBSSxFQUFFO1lBQ3RFLE1BQU0sT0FBTyxHQUFHLElBQUksZ0NBQXFCLENBQUMsbUJBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV6RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUVuRCxNQUFNLE9BQU8sR0FBRyxNQUFNLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUV0QyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzRCxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNwRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgc2lub24gZnJvbSAnc2lub24nO1xuaW1wb3J0IHsgTWVzc2FnZVN0YW5kYXJkVHlwZSB9IGZyb20gJ0BiaXRnby1iZXRhL3Nkay1jb3JlJztcbmltcG9ydCB7IGZpeHR1cmVzIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5pbXBvcnQgeyBNZXNzYWdlQnVpbGRlckZhY3RvcnkgfSBmcm9tICcuLi8uLi8uLi9zcmMvbGliL21lc3NhZ2VzJztcbmltcG9ydCB7IEVpcDE5MU1lc3NhZ2VCdWlsZGVyIH0gZnJvbSAnLi4vLi4vLi4vc3JjL2xpYi9tZXNzYWdlcy9laXAxOTEvZWlwMTkxTWVzc2FnZUJ1aWxkZXInO1xuXG5kZXNjcmliZSgnTWVzc2FnZSBCdWlsZGVyIEZhY3RvcnknLCAoKSA9PiB7XG4gIGNvbnN0IHNhbmRib3ggPSBzaW5vbi5jcmVhdGVTYW5kYm94KCk7XG5cbiAgYWZ0ZXJFYWNoKCgpID0+IHtcbiAgICBzYW5kYm94LnJlc3RvcmUoKTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ2dldE1lc3NhZ2VCdWlsZGVyJywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBjb3JyZWN0IGJ1aWxkZXIgZm9yIEVJUDE5MSBtZXNzYWdlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShmaXh0dXJlcy5jb2luKTtcblxuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuXG4gICAgICBidWlsZGVyLnNob3VsZC5iZS5pbnN0YW5jZW9mKEVpcDE5MU1lc3NhZ2VCdWlsZGVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgYW4gZXJyb3IgZm9yIHVuc3VwcG9ydGVkIG1lc3NhZ2UgdHlwZXMnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShmaXh0dXJlcy5jb2luKTtcblxuICAgICAgLy8gVGVzdCB3aXRoIGFuIGludmFsaWQvdW5zdXBwb3J0ZWQgbWVzc2FnZSB0eXBlXG4gICAgICBjb25zdCB1bnN1cHBvcnRlZFR5cGUgPSAnVU5TVVBQT1JURURfVFlQRScgYXMgTWVzc2FnZVN0YW5kYXJkVHlwZTtcblxuICAgICAgKCgpID0+IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIodW5zdXBwb3J0ZWRUeXBlKSkuc2hvdWxkLnRocm93KC9JbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQvKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgdGhyb3cgZm9yIHVua25vd24gbWVzc2FnZSBzdGFuZGFyZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGZpeHR1cmVzLmNvaW4pO1xuXG4gICAgICAoKCkgPT4gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV04pKS5zaG91bGQudGhyb3coXG4gICAgICAgIGBJbnZhbGlkIG1lc3NhZ2Ugc3RhbmRhcmQgJHtNZXNzYWdlU3RhbmRhcmRUeXBlLlVOS05PV059YFxuICAgICAgKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0ludGVncmF0aW9uIHdpdGggYnVpbGRlcicsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGNyZWF0ZSBhIGJ1aWxkZXIgdGhhdCBjYW4gYnVpbGQgYSB2YWxpZCBtZXNzYWdlJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoZml4dHVyZXMuY29pbik7XG5cbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKE1lc3NhZ2VTdGFuZGFyZFR5cGUuRUlQMTkxKTtcbiAgICAgIGJ1aWxkZXIuc2V0UGF5bG9hZChmaXh0dXJlcy5tZXNzYWdlcy52YWxpZE1lc3NhZ2UpO1xuXG4gICAgICBjb25zdCBtZXNzYWdlID0gYXdhaXQgYnVpbGRlci5idWlsZCgpO1xuXG4gICAgICBtZXNzYWdlLmdldFR5cGUoKS5zaG91bGQuZXF1YWwoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgbWVzc2FnZS5nZXRQYXlsb2FkKCkuc2hvdWxkLmVxdWFsKGZpeHR1cmVzLm1lc3NhZ2VzLnZhbGlkTWVzc2FnZSk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=