@jsprismarine/prismarine 0.2.0 → 0.3.0
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/CHANGELOG.md +10 -0
- package/dist/Console.cjs.js +2 -2
- package/dist/Console.d.ts +1 -1
- package/dist/Console.d.ts.map +1 -1
- package/dist/Console.es.js +2 -2
- package/dist/Player.cjs.js +1 -1
- package/dist/Player.es.js +1 -1
- package/dist/{Protocol-C1DcF_Iw.cjs → Protocol-BVaFul30.cjs} +2 -2
- package/dist/{Protocol-9T3wX43U.js → Protocol-D9dzQTbF.js} +2 -2
- package/dist/Server-DAXmO2Rm.js +1864 -0
- package/dist/Server-nY-WO-m_.cjs +1886 -0
- package/dist/Server.cjs.js +1 -1
- package/dist/Server.d.ts.map +1 -1
- package/dist/Server.es.js +1 -1
- package/dist/block/Block.cjs.js +2 -2
- package/dist/block/Block.es.js +2 -2
- package/dist/block/blocks/Bookshelf.d.ts +1 -1
- package/dist/block/blocks/CoalOre.d.ts +1 -1
- package/dist/block/blocks/Gravel.d.ts +1 -1
- package/dist/block/blocks/WhiteBed.d.ts +1 -1
- package/dist/chat/ChatManager.cjs.js +1 -1
- package/dist/chat/ChatManager.d.ts.map +1 -1
- package/dist/chat/ChatManager.es.js +1 -1
- package/dist/command/Command.cjs.js +2 -2
- package/dist/command/Command.es.js +2 -2
- package/dist/command/CommandArguments.cjs.js +1 -1
- package/dist/command/CommandArguments.es.js +1 -1
- package/dist/command/CommandManager.cjs.js +2 -2
- package/dist/command/CommandManager.es.js +2 -2
- package/dist/command/Commands.cjs.js +1 -1
- package/dist/command/Commands.es.js +1 -1
- package/dist/command/index.cjs.js +1 -1
- package/dist/command/index.es.js +1 -1
- package/dist/command/vanilla/BanCommand.cjs.js +1 -1
- package/dist/command/vanilla/BanCommand.es.js +1 -1
- package/dist/command/vanilla/DeopCommand.cjs.js +1 -1
- package/dist/command/vanilla/DeopCommand.es.js +1 -1
- package/dist/command/vanilla/ExecuteCommand.cjs.js +1 -1
- package/dist/command/vanilla/ExecuteCommand.es.js +1 -1
- package/dist/command/vanilla/GamemodeCommand.cjs.js +1 -1
- package/dist/command/vanilla/GamemodeCommand.es.js +1 -1
- package/dist/command/vanilla/KickCommand.cjs.js +1 -1
- package/dist/command/vanilla/KickCommand.es.js +1 -1
- package/dist/command/vanilla/OpCommand.cjs.js +1 -1
- package/dist/command/vanilla/OpCommand.es.js +1 -1
- package/dist/command/vanilla/PardonCommand.cjs.js +1 -1
- package/dist/command/vanilla/PardonCommand.es.js +1 -1
- package/dist/command/vanilla/SummonCommand.cjs.js +1 -1
- package/dist/command/vanilla/SummonCommand.es.js +1 -1
- package/dist/command/vanilla/TpCommand.cjs.js +1 -1
- package/dist/command/vanilla/TpCommand.es.js +1 -1
- package/dist/config/ConfigBuilder.cjs.js +12 -4
- package/dist/config/ConfigBuilder.d.ts.map +1 -1
- package/dist/config/ConfigBuilder.es.js +12 -4
- package/dist/entity/Attribute.cjs.js +1 -1
- package/dist/entity/Attribute.d.ts.map +1 -1
- package/dist/entity/Attribute.es.js +1 -1
- package/dist/entity/Entity.cjs.js +4 -3
- package/dist/entity/Entity.d.ts.map +1 -1
- package/dist/entity/Entity.es.js +4 -3
- package/dist/entity/Metadata.cjs.js +1 -1
- package/dist/entity/Metadata.d.ts.map +1 -1
- package/dist/entity/Metadata.es.js +1 -1
- package/dist/events/EventManager.cjs.js +1 -1
- package/dist/events/EventManager.d.ts.map +1 -1
- package/dist/events/EventManager.es.js +1 -1
- package/dist/form/Form.cjs.js +2 -2
- package/dist/form/Form.d.ts +1 -1
- package/dist/form/Form.d.ts.map +1 -1
- package/dist/form/Form.es.js +2 -2
- package/dist/form/FormManager.cjs.js +1 -1
- package/dist/form/FormManager.d.ts.map +1 -1
- package/dist/form/FormManager.es.js +1 -1
- package/dist/form/IForm.d.ts.map +1 -1
- package/dist/form/ModalForm.cjs.js +1 -1
- package/dist/form/ModalForm.d.ts.map +1 -1
- package/dist/form/ModalForm.es.js +1 -1
- package/dist/{index-D7ZMTxc2.cjs → index-CVGv9HUF.cjs} +2 -2
- package/dist/{index-B3UWpR-P.js → index-O6jPg9jt.js} +2 -2
- package/dist/index.cjs.js +3 -3
- package/dist/index.es.js +3 -3
- package/dist/inventory/HumanInventory.cjs.js +1 -1
- package/dist/inventory/HumanInventory.d.ts.map +1 -1
- package/dist/inventory/HumanInventory.es.js +1 -1
- package/dist/inventory/Inventory.cjs.js +1 -1
- package/dist/inventory/Inventory.d.ts.map +1 -1
- package/dist/inventory/Inventory.es.js +1 -1
- package/dist/inventory/WindowManager.cjs.js +1 -1
- package/dist/inventory/WindowManager.d.ts.map +1 -1
- package/dist/inventory/WindowManager.es.js +1 -1
- package/dist/item/Armor.cjs.js +1 -1
- package/dist/item/Armor.d.ts +1 -1
- package/dist/item/Armor.d.ts.map +1 -1
- package/dist/item/Armor.es.js +1 -1
- package/dist/item/Item.cjs.js +2 -2
- package/dist/item/Item.es.js +2 -2
- package/dist/item/ItemManager.cjs.js +2 -2
- package/dist/item/ItemManager.d.ts +2 -2
- package/dist/item/ItemManager.d.ts.map +1 -1
- package/dist/item/ItemManager.es.js +2 -2
- package/dist/item/TieredTool.cjs.js +1 -1
- package/dist/item/TieredTool.d.ts.map +1 -1
- package/dist/item/TieredTool.es.js +1 -1
- package/dist/item/Tool.cjs.js +1 -1
- package/dist/item/Tool.d.ts +1 -1
- package/dist/item/Tool.d.ts.map +1 -1
- package/dist/item/Tool.es.js +1 -1
- package/dist/network/ClientConnection.cjs.js +1 -1
- package/dist/network/ClientConnection.d.ts +1 -1
- package/dist/network/ClientConnection.d.ts.map +1 -1
- package/dist/network/ClientConnection.es.js +1 -1
- package/dist/network/Handlers.cjs.js +1 -1
- package/dist/network/Handlers.es.js +1 -1
- package/dist/network/MinecraftSession.cjs.js +1 -1
- package/dist/network/MinecraftSession.d.ts +1 -1
- package/dist/network/MinecraftSession.d.ts.map +1 -1
- package/dist/network/MinecraftSession.es.js +1 -1
- package/dist/network/NetworkUtil.cjs.js +1 -1
- package/dist/network/NetworkUtil.d.ts.map +1 -1
- package/dist/network/NetworkUtil.es.js +1 -1
- package/dist/network/PacketRegistry.cjs.js +1 -1
- package/dist/network/PacketRegistry.d.ts +6 -6
- package/dist/network/PacketRegistry.d.ts.map +1 -1
- package/dist/network/PacketRegistry.es.js +1 -1
- package/dist/network/PlayerSession.cjs.js +1 -1
- package/dist/network/PlayerSession.d.ts.map +1 -1
- package/dist/network/PlayerSession.es.js +1 -1
- package/dist/network/Protocol.cjs.js +1 -1
- package/dist/network/Protocol.es.js +1 -1
- package/dist/network/handler/LoginHandler.cjs.js +1 -1
- package/dist/network/handler/LoginHandler.es.js +1 -1
- package/dist/permission/PermissionManager.cjs.js +4 -4
- package/dist/permission/PermissionManager.d.ts +1 -1
- package/dist/permission/PermissionManager.d.ts.map +1 -1
- package/dist/permission/PermissionManager.es.js +4 -4
- package/dist/plugin/PluginFile.cjs.js +1 -1
- package/dist/plugin/PluginFile.d.ts.map +1 -1
- package/dist/plugin/PluginFile.es.js +1 -1
- package/dist/plugin/PluginManager.cjs.js +5 -4
- package/dist/plugin/PluginManager.d.ts +2 -2
- package/dist/plugin/PluginManager.d.ts.map +1 -1
- package/dist/plugin/PluginManager.es.js +5 -4
- package/dist/query/QueryManager.cjs.js +1 -1
- package/dist/query/QueryManager.es.js +1 -1
- package/dist/utils/Logger.cjs.js +49 -38
- package/dist/utils/Logger.d.ts +4 -1
- package/dist/utils/Logger.d.ts.map +1 -1
- package/dist/utils/Logger.es.js +49 -38
- package/dist/utils/ParseTildeCaretNotation.cjs.js +1 -1
- package/dist/utils/ParseTildeCaretNotation.d.ts.map +1 -1
- package/dist/utils/ParseTildeCaretNotation.es.js +1 -1
- package/dist/utils/Timer.cjs.js +1 -1
- package/dist/utils/Timer.d.ts.map +1 -1
- package/dist/utils/Timer.es.js +1 -1
- package/dist/utils/UUID.cjs.js +2 -2
- package/dist/utils/UUID.es.js +2 -2
- package/dist/world/BaseGenerator.cjs.js +1 -1
- package/dist/world/BaseGenerator.d.ts.map +1 -1
- package/dist/world/BaseGenerator.es.js +1 -1
- package/dist/world/BlockPosition.cjs.js +1 -1
- package/dist/world/BlockPosition.d.ts.map +1 -1
- package/dist/world/BlockPosition.es.js +1 -1
- package/dist/world/GameruleManager.cjs.js +4 -4
- package/dist/world/GameruleManager.d.ts +3 -3
- package/dist/world/GameruleManager.d.ts.map +1 -1
- package/dist/world/GameruleManager.es.js +4 -4
- package/dist/world/Generator.d.ts.map +1 -1
- package/dist/world/WorldManager.cjs.js +3 -7
- package/dist/world/WorldManager.d.ts +1 -1
- package/dist/world/WorldManager.d.ts.map +1 -1
- package/dist/world/WorldManager.es.js +3 -7
- package/package.json +5 -5
- package/dist/Server-AfmPsq74.cjs +0 -1884
- package/dist/Server-Dyy9OCM8.js +0 -1862
package/dist/Server.cjs.js
CHANGED
|
@@ -10,7 +10,7 @@ require('./block/BlockManager.cjs.js');
|
|
|
10
10
|
require('./block/BlockMappings.cjs.js');
|
|
11
11
|
require('./events/chat/ChatEvent.cjs.js');
|
|
12
12
|
require('./chat/ChatManager.cjs.js');
|
|
13
|
-
const command_CommandArguments = require('./Server-
|
|
13
|
+
const command_CommandArguments = require('./Server-nY-WO-m_.cjs');
|
|
14
14
|
require('./command/CommandManager.cjs.js');
|
|
15
15
|
require('./Console.cjs.js');
|
|
16
16
|
require('./events/EventManager.cjs.js');
|
package/dist/Server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAE1C,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAGhD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAE7C,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAC/D,OAAO,aAAa,MAAM,wBAAwB,CAAC;AACnD,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAIhD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAG9C,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAEhD,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAGhD,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAA6B;IAEhD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAa;IAE3D;;OAEG;IACH,OAAc,QAAQ,EAAE,MAAM,CAAC;gBAEZ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,CAAC,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;YA6B7F,QAAQ;
|
|
1
|
+
{"version":3,"file":"Server.d.ts","sourceRoot":"","sources":["../src/Server.ts"],"names":[],"mappings":"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"}
|
package/dist/Server.es.js
CHANGED
|
@@ -6,7 +6,7 @@ import './block/BlockManager.es.js';
|
|
|
6
6
|
import './block/BlockMappings.es.js';
|
|
7
7
|
import './events/chat/ChatEvent.es.js';
|
|
8
8
|
import './chat/ChatManager.es.js';
|
|
9
|
-
export { S as default } from './Server-
|
|
9
|
+
export { S as default } from './Server-DAXmO2Rm.js';
|
|
10
10
|
import './command/CommandManager.es.js';
|
|
11
11
|
import './Console.es.js';
|
|
12
12
|
import './events/EventManager.es.js';
|
package/dist/block/Block.cjs.js
CHANGED
|
@@ -63,7 +63,7 @@ class Block {
|
|
|
63
63
|
* Get the Block's network numeric id.
|
|
64
64
|
*/
|
|
65
65
|
getNetworkId() {
|
|
66
|
-
return this.networkId
|
|
66
|
+
return this.networkId || this.getId();
|
|
67
67
|
}
|
|
68
68
|
/**
|
|
69
69
|
* Get the Block's hardness value.
|
|
@@ -187,4 +187,4 @@ class Block {
|
|
|
187
187
|
}
|
|
188
188
|
|
|
189
189
|
exports.Block = Block;
|
|
190
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2suY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svQmxvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXRlbV9pZF9tYXAgYXMgQmxvY2tJZE1hcCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYmVkcm9jay1kYXRhJztcbmltcG9ydCB7IEJsb2NrVG9vbFR5cGUgfSBmcm9tICcuL0Jsb2NrVG9vbFR5cGUnO1xuaW1wb3J0IHR5cGUgSXRlbSBmcm9tICcuLi9pdGVtL0l0ZW0nO1xuaW1wb3J0IHsgSXRlbUVuY2hhbnRtZW50VHlwZSB9IGZyb20gJy4uL2l0ZW0vSXRlbUVuY2hhbnRtZW50VHlwZSc7XG5pbXBvcnQgeyBJdGVtVGllcmVkVG9vbFR5cGUgfSBmcm9tICcuLi9pdGVtL0l0ZW1UaWVyZWRUb29sVHlwZSc7XG5pbXBvcnQgdHlwZSBTZXJ2ZXIgZnJvbSAnLi4vU2VydmVyJztcblxuZXhwb3J0IGNsYXNzIEJsb2NrIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYmxvY2sncyBudW1lcmljIGJsb2NrIElELlxuICAgICAqL1xuICAgIHB1YmxpYyBpZDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJsb2NrJ3MgbmFtZXNwYWNlZCBibG9jayBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJsb2NrJ3MgamF2YS1lZGl0aW9uIG5hbWVzcGFjZWQgYmxvY2sgSUQuXG4gICAgICovXG4gICAgcHVibGljIGphdmFOYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIGhhcmRuZXNzOiBudW1iZXI7XG4gICAgcHVibGljIG1ldGEgPSAwO1xuICAgIHByaXZhdGUgbmV0d29ya0lkOiBudW1iZXI7XG5cbiAgICAvLyBUT0RPXG4gICAgcHVibGljIG5idCA9IG51bGw7XG4gICAgcHVibGljIGNvdW50ID0gMTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIGlkLFxuICAgICAgICBuYW1lLFxuICAgICAgICBqYXZhTmFtZSxcbiAgICAgICAgcGFyZW50TmFtZSxcbiAgICAgICAgaGFyZG5lc3NcbiAgICB9OiB7XG4gICAgICAgIGlkOiBudW1iZXI7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgamF2YU5hbWU/OiBzdHJpbmc7XG4gICAgICAgIHBhcmVudE5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGhhcmRuZXNzPzogbnVtYmVyO1xuICAgIH0pIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmphdmFOYW1lID0gamF2YU5hbWUgPz8gbmFtZTtcbiAgICAgICAgdGhpcy5oYXJkbmVzcyA9IGhhcmRuZXNzID8/IDA7XG5cbiAgICAgICAgdGhpcy5uZXR3b3JrSWQgPSBCbG9ja0lkTWFwW3BhcmVudE5hbWUgPz8gbmFtZV0gYXMgbnVtYmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBuYW1lc3BhY2VkIGlkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBtZXRhIHZhbHVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNZXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBudW1lcmljIGlkLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIGJsb2NrJ3MgbnVtZXJpYyBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBuZXR3b3JrIG51bWVyaWMgaWQuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ldHdvcmtJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0d29ya0lkID8/IHRoaXMuZ2V0SWQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgaGFyZG5lc3MgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEhhcmRuZXNzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhcmRuZXNzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBicmVhayB0aW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRCcmVha1RpbWUoX2l0ZW06IEl0ZW0gfCBudWxsLCBfc2VydmVyOiBTZXJ2ZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SGFyZG5lc3MoKTsgLy8gVE9ETzogRml4IGJyZWFrIHRpbWUgY2FsY3VsYXRpb25zXG5cbiAgICAgICAgLyogbGV0IGJhc2UgPSB0aGlzLmdldEhhcmRuZXNzKCk7XG4gICAgICAgIGJhc2UgKj0gdGhpcy5pc0NvbXBhdGlibGVXaXRoVG9vbChpdGVtKSA/IDEuNSA6IDU7XG4gICAgICAgIGNvbnN0IGVmZmljaWVuY3kgPSAxOyAvLyBJdGVtLmdldE1pbmluZ0VmZmljaWVuY3kodGhpcyk7XG4gICAgICAgIHJldHVybiAoYmFzZSAvPSBlZmZpY2llbmN5KTsgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgYmxhc3QgcmVzaXN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Qmxhc3RSZXNpc3RhbmNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIYXJkbmVzcygpICogNTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgbGlnaHQgbGV2ZWwgZW1pc3Npb24uXG4gICAgICovXG4gICAgcHVibGljIGdldExpZ2h0TGV2ZWwoKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBmbGFtbWFiaWxpdHkuXG4gICAgICovXG4gICAgcHVibGljIGdldEZsYW1tYWJpbGl0eSgpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIHJlcXVpcmVkIHRvb2wgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9vbFR5cGUoKTogQmxvY2tUb29sVHlwZVtdIHtcbiAgICAgICAgcmV0dXJuIFtCbG9ja1Rvb2xUeXBlLk5vbmVdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyByZXF1aXJlZCBpdGVtIHRvb2wgdGllci5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9vbEhhcnZlc3RMZXZlbCgpOiBJdGVtVGllcmVkVG9vbFR5cGUge1xuICAgICAgICByZXR1cm4gSXRlbVRpZXJlZFRvb2xUeXBlLk5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIGRyb3AocykgaWYgdGhlIHRvb2wgaXMgY29tcGF0aWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RHJvcHNGb3JDb21wYXRpYmxlVG9vbChfaXRlbTogSXRlbSB8IG51bGwsIF9zZXJ2ZXI6IFNlcnZlcik6IEFycmF5PEJsb2NrIHwgSXRlbSB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIFt0aGlzXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgZHJvcChzKSBmcm9tIHRoZSBjdXJyZW50IGl0ZW0uXG4gICAgICovXG4gICAgcHVibGljIGdldERyb3BzKGl0ZW06IEl0ZW0gfCBudWxsLCBzZXJ2ZXI6IFNlcnZlcik6IEFycmF5PEJsb2NrIHwgSXRlbSB8IG51bGw+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb21wYXRpYmxlV2l0aFRvb2woaXRlbSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQWZmZWN0ZWRCeVNpbGtUb3VjaCgpICYmIGl0ZW0/Lmhhc0VuY2hhbnRtZW50KEl0ZW1FbmNoYW50bWVudFR5cGUuU2lsa1RvdWNoKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTaWxrVG91Y2hEcm9wcyhpdGVtLCBzZXJ2ZXIpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXREcm9wc0ZvckNvbXBhdGlibGVUb29sKGl0ZW0sIHNlcnZlcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIGRyb3AocykgaWYgc2lsayB0b3VjaCBpcyB1c2VkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTaWxrVG91Y2hEcm9wcyhfaXRlbTogSXRlbSwgX3NlcnZlcjogU2VydmVyKSB7XG4gICAgICAgIHJldHVybiBbdGhpc107XG4gICAgfVxuXG4gICAgcHVibGljIGdldExpZ2h0RmlsdGVyKCkge1xuICAgICAgICByZXR1cm4gMTU7XG4gICAgfVxuXG4gICAgcHVibGljIGNhblBhc3NUaHJvdWdoKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBpZiB0aGUgYmxvY2sgY2FuIGJlIHJlcGxhY2VkIHdoZW4gcGxhY2UgYWN0aW9uIG9jY3VycyBvbiBpdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQmVSZXBsYWNlZCgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5CZVBsYWNlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkJlRmxvd2VkSW50bygpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1RyYW5zcGFyZW50KCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGJsb2NrIGlzIGJyZWFrYWJsZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgYmxvY2sgaXMgYnJlYWthYmxlIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0JyZWFrYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGJsb2NrIGlzIHNvbGlkLlxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBibG9jayBpcyBzb2xpZCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTb2xpZCgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0NvbXBhdGlibGVXaXRoVG9vbChpdGVtOiBJdGVtIHwgbnVsbCkge1xuICAgICAgICBjb25zdCB0b29sVHlwZSA9IHRoaXMuZ2V0VG9vbFR5cGUoKTtcbiAgICAgICAgY29uc3QgaGFydmVzdExldmVsID0gdGhpcy5nZXRUb29sSGFydmVzdExldmVsKCk7XG5cbiAgICAgICAgaWYgKHRvb2xUeXBlLmluY2x1ZGVzKEJsb2NrVG9vbFR5cGUuTm9uZSkgfHwgaGFydmVzdExldmVsIDw9IDApIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoIWl0ZW0pIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHRvb2xUeXBlLmluY2x1ZGVzKGl0ZW0uZ2V0VG9vbFR5cGUoKSkgJiYgaXRlbS5nZXRUb29sSGFydmVzdExldmVsKCkgPj0gaGFydmVzdExldmVsKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0FmZmVjdGVkQnlTaWxrVG91Y2goKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1BhcnRPZkNyZWF0aXZlSW52ZW50b3J5KCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tJZE1hcCIsIkJsb2NrVG9vbFR5cGUiLCJJdGVtVGllcmVkVG9vbFR5cGUiLCJJdGVtRW5jaGFudG1lbnRUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFPTyxNQUFNLEtBQU0sQ0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVIsRUFBQSxDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxJQUFBLENBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLFFBQUEsQ0FBQTtBQUFBLEVBQ0EsUUFBQSxDQUFBO0FBQUEsRUFDQSxJQUFPLEdBQUEsQ0FBQSxDQUFBO0FBQUEsRUFDTixTQUFBLENBQUE7QUFBQTtBQUFBLEVBR0QsR0FBTSxHQUFBLElBQUEsQ0FBQTtBQUFBLEVBQ04sS0FBUSxHQUFBLENBQUEsQ0FBQTtBQUFBLEVBRVIsV0FBWSxDQUFBO0FBQUEsSUFDZixFQUFBO0FBQUEsSUFDQSxJQUFBO0FBQUEsSUFDQSxRQUFBO0FBQUEsSUFDQSxVQUFBO0FBQUEsSUFDQSxRQUFBO0FBQUEsR0FPRCxFQUFBO0FBQ0MsSUFBQSxJQUFBLENBQUssRUFBSyxHQUFBLEVBQUEsQ0FBQTtBQUNWLElBQUEsSUFBQSxDQUFLLElBQU8sR0FBQSxJQUFBLENBQUE7QUFDWixJQUFBLElBQUEsQ0FBSyxXQUFXLFFBQVksSUFBQSxJQUFBLENBQUE7QUFDNUIsSUFBQSxJQUFBLENBQUssV0FBVyxRQUFZLElBQUEsQ0FBQSxDQUFBO0FBRTVCLElBQUssSUFBQSxDQUFBLFNBQUEsR0FBWUEsdUJBQVcsQ0FBQSxVQUFBLElBQWMsSUFBSSxDQUFBLENBQUE7QUFBQSxHQUNsRDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sT0FBVSxHQUFBO0FBQ2IsSUFBQSxPQUFPLElBQUssQ0FBQSxJQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sT0FBVSxHQUFBO0FBQ2IsSUFBQSxPQUFPLElBQUssQ0FBQSxJQUFBLENBQUE7QUFBQSxH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
|
|
190
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2suY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svQmxvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXRlbV9pZF9tYXAgYXMgQmxvY2tJZE1hcCB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYmVkcm9jay1kYXRhJztcbmltcG9ydCB7IEJsb2NrVG9vbFR5cGUgfSBmcm9tICcuL0Jsb2NrVG9vbFR5cGUnO1xuaW1wb3J0IHR5cGUgSXRlbSBmcm9tICcuLi9pdGVtL0l0ZW0nO1xuaW1wb3J0IHsgSXRlbUVuY2hhbnRtZW50VHlwZSB9IGZyb20gJy4uL2l0ZW0vSXRlbUVuY2hhbnRtZW50VHlwZSc7XG5pbXBvcnQgeyBJdGVtVGllcmVkVG9vbFR5cGUgfSBmcm9tICcuLi9pdGVtL0l0ZW1UaWVyZWRUb29sVHlwZSc7XG5pbXBvcnQgdHlwZSBTZXJ2ZXIgZnJvbSAnLi4vU2VydmVyJztcblxuZXhwb3J0IGNsYXNzIEJsb2NrIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYmxvY2sncyBudW1lcmljIGJsb2NrIElELlxuICAgICAqL1xuICAgIHB1YmxpYyBpZDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJsb2NrJ3MgbmFtZXNwYWNlZCBibG9jayBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJsb2NrJ3MgamF2YS1lZGl0aW9uIG5hbWVzcGFjZWQgYmxvY2sgSUQuXG4gICAgICovXG4gICAgcHVibGljIGphdmFOYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIGhhcmRuZXNzOiBudW1iZXI7XG4gICAgcHVibGljIG1ldGEgPSAwO1xuICAgIHByaXZhdGUgbmV0d29ya0lkOiBudW1iZXI7XG5cbiAgICAvLyBUT0RPXG4gICAgcHVibGljIG5idCA9IG51bGw7XG4gICAgcHVibGljIGNvdW50ID0gMTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIGlkLFxuICAgICAgICBuYW1lLFxuICAgICAgICBqYXZhTmFtZSxcbiAgICAgICAgcGFyZW50TmFtZSxcbiAgICAgICAgaGFyZG5lc3NcbiAgICB9OiB7XG4gICAgICAgIGlkOiBudW1iZXI7XG4gICAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgICAgamF2YU5hbWU/OiBzdHJpbmc7XG4gICAgICAgIHBhcmVudE5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGhhcmRuZXNzPzogbnVtYmVyO1xuICAgIH0pIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgICAgICB0aGlzLmphdmFOYW1lID0gamF2YU5hbWUgPz8gbmFtZTtcbiAgICAgICAgdGhpcy5oYXJkbmVzcyA9IGhhcmRuZXNzID8/IDA7XG5cbiAgICAgICAgdGhpcy5uZXR3b3JrSWQgPSBCbG9ja0lkTWFwW3BhcmVudE5hbWUgPz8gbmFtZV0gYXMgbnVtYmVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBuYW1lc3BhY2VkIGlkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uYW1lO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBtZXRhIHZhbHVlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRNZXRhKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBudW1lcmljIGlkLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIGJsb2NrJ3MgbnVtZXJpYyBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBuZXR3b3JrIG51bWVyaWMgaWQuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ldHdvcmtJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmV0d29ya0lkIHx8IHRoaXMuZ2V0SWQoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgaGFyZG5lc3MgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEhhcmRuZXNzKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhcmRuZXNzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBicmVhayB0aW1lLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRCcmVha1RpbWUoX2l0ZW06IEl0ZW0gfCBudWxsLCBfc2VydmVyOiBTZXJ2ZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SGFyZG5lc3MoKTsgLy8gVE9ETzogRml4IGJyZWFrIHRpbWUgY2FsY3VsYXRpb25zXG5cbiAgICAgICAgLyogbGV0IGJhc2UgPSB0aGlzLmdldEhhcmRuZXNzKCk7XG4gICAgICAgIGJhc2UgKj0gdGhpcy5pc0NvbXBhdGlibGVXaXRoVG9vbChpdGVtKSA/IDEuNSA6IDU7XG4gICAgICAgIGNvbnN0IGVmZmljaWVuY3kgPSAxOyAvLyBJdGVtLmdldE1pbmluZ0VmZmljaWVuY3kodGhpcyk7XG4gICAgICAgIHJldHVybiAoYmFzZSAvPSBlZmZpY2llbmN5KTsgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgYmxhc3QgcmVzaXN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Qmxhc3RSZXNpc3RhbmNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIYXJkbmVzcygpICogNTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgbGlnaHQgbGV2ZWwgZW1pc3Npb24uXG4gICAgICovXG4gICAgcHVibGljIGdldExpZ2h0TGV2ZWwoKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBmbGFtbWFiaWxpdHkuXG4gICAgICovXG4gICAgcHVibGljIGdldEZsYW1tYWJpbGl0eSgpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIHJlcXVpcmVkIHRvb2wgdHlwZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9vbFR5cGUoKTogQmxvY2tUb29sVHlwZVtdIHtcbiAgICAgICAgcmV0dXJuIFtCbG9ja1Rvb2xUeXBlLk5vbmVdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyByZXF1aXJlZCBpdGVtIHRvb2wgdGllci5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9vbEhhcnZlc3RMZXZlbCgpOiBJdGVtVGllcmVkVG9vbFR5cGUge1xuICAgICAgICByZXR1cm4gSXRlbVRpZXJlZFRvb2xUeXBlLk5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIGRyb3AocykgaWYgdGhlIHRvb2wgaXMgY29tcGF0aWJsZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RHJvcHNGb3JDb21wYXRpYmxlVG9vbChfaXRlbTogSXRlbSB8IG51bGwsIF9zZXJ2ZXI6IFNlcnZlcik6IEFycmF5PEJsb2NrIHwgSXRlbSB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIFt0aGlzXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgZHJvcChzKSBmcm9tIHRoZSBjdXJyZW50IGl0ZW0uXG4gICAgICovXG4gICAgcHVibGljIGdldERyb3BzKGl0ZW06IEl0ZW0gfCBudWxsLCBzZXJ2ZXI6IFNlcnZlcik6IEFycmF5PEJsb2NrIHwgSXRlbSB8IG51bGw+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNDb21wYXRpYmxlV2l0aFRvb2woaXRlbSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzQWZmZWN0ZWRCeVNpbGtUb3VjaCgpICYmIGl0ZW0/Lmhhc0VuY2hhbnRtZW50KEl0ZW1FbmNoYW50bWVudFR5cGUuU2lsa1RvdWNoKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRTaWxrVG91Y2hEcm9wcyhpdGVtLCBzZXJ2ZXIpO1xuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXREcm9wc0ZvckNvbXBhdGlibGVUb29sKGl0ZW0sIHNlcnZlcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIGRyb3AocykgaWYgc2lsayB0b3VjaCBpcyB1c2VkLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRTaWxrVG91Y2hEcm9wcyhfaXRlbTogSXRlbSwgX3NlcnZlcjogU2VydmVyKSB7XG4gICAgICAgIHJldHVybiBbdGhpc107XG4gICAgfVxuXG4gICAgcHVibGljIGdldExpZ2h0RmlsdGVyKCkge1xuICAgICAgICByZXR1cm4gMTU7XG4gICAgfVxuXG4gICAgcHVibGljIGNhblBhc3NUaHJvdWdoKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBpZiB0aGUgYmxvY2sgY2FuIGJlIHJlcGxhY2VkIHdoZW4gcGxhY2UgYWN0aW9uIG9jY3VycyBvbiBpdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2FuQmVSZXBsYWNlZCgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5CZVBsYWNlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkJlRmxvd2VkSW50bygpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1RyYW5zcGFyZW50KCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGJsb2NrIGlzIGJyZWFrYWJsZS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgYmxvY2sgaXMgYnJlYWthYmxlIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc0JyZWFrYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdGhlIGJsb2NrIGlzIHNvbGlkLlxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBibG9jayBpcyBzb2xpZCBvdGhlcndpc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNTb2xpZCgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0NvbXBhdGlibGVXaXRoVG9vbChpdGVtOiBJdGVtIHwgbnVsbCkge1xuICAgICAgICBjb25zdCB0b29sVHlwZSA9IHRoaXMuZ2V0VG9vbFR5cGUoKTtcbiAgICAgICAgY29uc3QgaGFydmVzdExldmVsID0gdGhpcy5nZXRUb29sSGFydmVzdExldmVsKCk7XG5cbiAgICAgICAgaWYgKHRvb2xUeXBlLmluY2x1ZGVzKEJsb2NrVG9vbFR5cGUuTm9uZSkgfHwgaGFydmVzdExldmVsIDw9IDApIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoIWl0ZW0pIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHRvb2xUeXBlLmluY2x1ZGVzKGl0ZW0uZ2V0VG9vbFR5cGUoKSkgJiYgaXRlbS5nZXRUb29sSGFydmVzdExldmVsKCkgPj0gaGFydmVzdExldmVsKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0FmZmVjdGVkQnlTaWxrVG91Y2goKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1BhcnRPZkNyZWF0aXZlSW52ZW50b3J5KCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG59XG4iXSwibmFtZXMiOlsiQmxvY2tJZE1hcCIsIkJsb2NrVG9vbFR5cGUiLCJJdGVtVGllcmVkVG9vbFR5cGUiLCJJdGVtRW5jaGFudG1lbnRUeXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFPTyxNQUFNLEtBQU0sQ0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVIsRUFBQSxDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxJQUFBLENBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLFFBQUEsQ0FBQTtBQUFBLEVBQ0EsUUFBQSxDQUFBO0FBQUEsRUFDQSxJQUFPLEdBQUEsQ0FBQSxDQUFBO0FBQUEsRUFDTixTQUFBLENBQUE7QUFBQTtBQUFBLEVBR0QsR0FBTSxHQUFBLElBQUEsQ0FBQTtBQUFBLEVBQ04sS0FBUSxHQUFBLENBQUEsQ0FBQTtBQUFBLEVBRVIsV0FBWSxDQUFBO0FBQUEsSUFDZixFQUFBO0FBQUEsSUFDQSxJQUFBO0FBQUEsSUFDQSxRQUFBO0FBQUEsSUFDQSxVQUFBO0FBQUEsSUFDQSxRQUFBO0FBQUEsR0FPRCxFQUFBO0FBQ0MsSUFBQSxJQUFBLENBQUssRUFBSyxHQUFBLEVBQUEsQ0FBQTtBQUNWLElBQUEsSUFBQSxDQUFLLElBQU8sR0FBQSxJQUFBLENBQUE7QUFDWixJQUFBLElBQUEsQ0FBSyxXQUFXLFFBQVksSUFBQSxJQUFBLENBQUE7QUFDNUIsSUFBQSxJQUFBLENBQUssV0FBVyxRQUFZLElBQUEsQ0FBQSxDQUFBO0FBRTVCLElBQUssSUFBQSxDQUFBLFNBQUEsR0FBWUEsdUJBQVcsQ0FBQSxVQUFBLElBQWMsSUFBSSxDQUFBLENBQUE7QUFBQSxHQUNsRDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sT0FBVSxHQUFBO0FBQ2IsSUFBQSxPQUFPLElBQUssQ0FBQSxJQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS08sT0FBVSxHQUFBO0FBQ2IsSUFBQSxPQUFPLElBQUssQ0FBQSxJQUFBLENBQUE7QUFBQSxH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
|
package/dist/block/Block.es.js
CHANGED
|
@@ -59,7 +59,7 @@ class Block {
|
|
|
59
59
|
* Get the Block's network numeric id.
|
|
60
60
|
*/
|
|
61
61
|
getNetworkId() {
|
|
62
|
-
return this.networkId
|
|
62
|
+
return this.networkId || this.getId();
|
|
63
63
|
}
|
|
64
64
|
/**
|
|
65
65
|
* Get the Block's hardness value.
|
|
@@ -183,4 +183,4 @@ class Block {
|
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
export { Block };
|
|
186
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2suZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9jay9CbG9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpdGVtX2lkX21hcCBhcyBCbG9ja0lkTWFwIH0gZnJvbSAnQGpzcHJpc21hcmluZS9iZWRyb2NrLWRhdGEnO1xuaW1wb3J0IHsgQmxvY2tUb29sVHlwZSB9IGZyb20gJy4vQmxvY2tUb29sVHlwZSc7XG5pbXBvcnQgdHlwZSBJdGVtIGZyb20gJy4uL2l0ZW0vSXRlbSc7XG5pbXBvcnQgeyBJdGVtRW5jaGFudG1lbnRUeXBlIH0gZnJvbSAnLi4vaXRlbS9JdGVtRW5jaGFudG1lbnRUeXBlJztcbmltcG9ydCB7IEl0ZW1UaWVyZWRUb29sVHlwZSB9IGZyb20gJy4uL2l0ZW0vSXRlbVRpZXJlZFRvb2xUeXBlJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi9TZXJ2ZXInO1xuXG5leHBvcnQgY2xhc3MgQmxvY2sge1xuICAgIC8qKlxuICAgICAqIFRoZSBibG9jaydzIG51bWVyaWMgYmxvY2sgSUQuXG4gICAgICovXG4gICAgcHVibGljIGlkOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmxvY2sncyBuYW1lc3BhY2VkIGJsb2NrIElELlxuICAgICAqL1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmxvY2sncyBqYXZhLWVkaXRpb24gbmFtZXNwYWNlZCBibG9jayBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgamF2YU5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgaGFyZG5lc3M6IG51bWJlcjtcbiAgICBwdWJsaWMgbWV0YSA9IDA7XG4gICAgcHJpdmF0ZSBuZXR3b3JrSWQ6IG51bWJlcjtcblxuICAgIC8vIFRPRE9cbiAgICBwdWJsaWMgbmJ0ID0gbnVsbDtcbiAgICBwdWJsaWMgY291bnQgPSAxO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHtcbiAgICAgICAgaWQsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGphdmFOYW1lLFxuICAgICAgICBwYXJlbnROYW1lLFxuICAgICAgICBoYXJkbmVzc1xuICAgIH06IHtcbiAgICAgICAgaWQ6IG51bWJlcjtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICBqYXZhTmFtZT86IHN0cmluZztcbiAgICAgICAgcGFyZW50TmFtZT86IHN0cmluZztcbiAgICAgICAgaGFyZG5lc3M/OiBudW1iZXI7XG4gICAgfSkge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuamF2YU5hbWUgPSBqYXZhTmFtZSA/PyBuYW1lO1xuICAgICAgICB0aGlzLmhhcmRuZXNzID0gaGFyZG5lc3MgPz8gMDtcblxuICAgICAgICB0aGlzLm5ldHdvcmtJZCA9IEJsb2NrSWRNYXBbcGFyZW50TmFtZSA/PyBuYW1lXSBhcyBudW1iZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIG5hbWVzcGFjZWQgaWQuXG4gICAgICovXG4gICAgcHVibGljIGdldE5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIG1ldGEgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIGdldE1ldGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1ldGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIG51bWVyaWMgaWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgYmxvY2sncyBudW1lcmljIElELlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIG5ldHdvcmsgbnVtZXJpYyBpZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmV0d29ya0lkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXR3b3JrSWQgPz8gdGhpcy5nZXRJZCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBoYXJkbmVzcyB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFyZG5lc3MoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFyZG5lc3M7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIGJyZWFrIHRpbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEJyZWFrVGltZShfaXRlbTogSXRlbSB8IG51bGwsIF9zZXJ2ZXI6IFNlcnZlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIYXJkbmVzcygpOyAvLyBUT0RPOiBGaXggYnJlYWsgdGltZSBjYWxjdWxhdGlvbnNcblxuICAgICAgICAvKiBsZXQgYmFzZSA9IHRoaXMuZ2V0SGFyZG5lc3MoKTtcbiAgICAgICAgYmFzZSAqPSB0aGlzLmlzQ29tcGF0aWJsZVdpdGhUb29sKGl0ZW0pID8gMS41IDogNTtcbiAgICAgICAgY29uc3QgZWZmaWNpZW5jeSA9IDE7IC8vIEl0ZW0uZ2V0TWluaW5nRWZmaWNpZW5jeSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIChiYXNlIC89IGVmZmljaWVuY3kpOyAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBibGFzdCByZXNpc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRCbGFzdFJlc2lzdGFuY2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEhhcmRuZXNzKCkgKiA1O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBsaWdodCBsZXZlbCBlbWlzc2lvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGlnaHRMZXZlbCgpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIGZsYW1tYWJpbGl0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RmxhbW1hYmlsaXR5KCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgcmVxdWlyZWQgdG9vbCB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUb29sVHlwZSgpOiBCbG9ja1Rvb2xUeXBlW10ge1xuICAgICAgICByZXR1cm4gW0Jsb2NrVG9vbFR5cGUuTm9uZV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIHJlcXVpcmVkIGl0ZW0gdG9vbCB0aWVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUb29sSGFydmVzdExldmVsKCk6IEl0ZW1UaWVyZWRUb29sVHlwZSB7XG4gICAgICAgIHJldHVybiBJdGVtVGllcmVkVG9vbFR5cGUuTm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgZHJvcChzKSBpZiB0aGUgdG9vbCBpcyBjb21wYXRpYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREcm9wc0ZvckNvbXBhdGlibGVUb29sKF9pdGVtOiBJdGVtIHwgbnVsbCwgX3NlcnZlcjogU2VydmVyKTogQXJyYXk8QmxvY2sgfCBJdGVtIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gW3RoaXNdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBkcm9wKHMpIGZyb20gdGhlIGN1cnJlbnQgaXRlbS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RHJvcHMoaXRlbTogSXRlbSB8IG51bGwsIHNlcnZlcjogU2VydmVyKTogQXJyYXk8QmxvY2sgfCBJdGVtIHwgbnVsbD4ge1xuICAgICAgICBpZiAodGhpcy5pc0NvbXBhdGlibGVXaXRoVG9vbChpdGVtKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNBZmZlY3RlZEJ5U2lsa1RvdWNoKCkgJiYgaXRlbT8uaGFzRW5jaGFudG1lbnQoSXRlbUVuY2hhbnRtZW50VHlwZS5TaWxrVG91Y2gpKVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNpbGtUb3VjaERyb3BzKGl0ZW0sIHNlcnZlcik7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERyb3BzRm9yQ29tcGF0aWJsZVRvb2woaXRlbSwgc2VydmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgZHJvcChzKSBpZiBzaWxrIHRvdWNoIGlzIHVzZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldFNpbGtUb3VjaERyb3BzKF9pdGVtOiBJdGVtLCBfc2VydmVyOiBTZXJ2ZXIpIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGlnaHRGaWx0ZXIoKSB7XG4gICAgICAgIHJldHVybiAxNTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuUGFzc1Rocm91Z2goKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGlmIHRoZSBibG9jayBjYW4gYmUgcmVwbGFjZWQgd2hlbiBwbGFjZSBhY3Rpb24gb2NjdXJzIG9uIGl0LlxuICAgICAqL1xuICAgIHB1YmxpYyBjYW5CZVJlcGxhY2VkKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkJlUGxhY2VkKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQmVGbG93ZWRJbnRvKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGlzVHJhbnNwYXJlbnQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgYmxvY2sgaXMgYnJlYWthYmxlLlxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBibG9jayBpcyBicmVha2FibGUgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgcHVibGljIGlzQnJlYWthYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgYmxvY2sgaXMgc29saWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGJsb2NrIGlzIHNvbGlkIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1NvbGlkKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ29tcGF0aWJsZVdpdGhUb29sKGl0ZW06IEl0ZW0gfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHRvb2xUeXBlID0gdGhpcy5nZXRUb29sVHlwZSgpO1xuICAgICAgICBjb25zdCBoYXJ2ZXN0TGV2ZWwgPSB0aGlzLmdldFRvb2xIYXJ2ZXN0TGV2ZWwoKTtcblxuICAgICAgICBpZiAodG9vbFR5cGUuaW5jbHVkZXMoQmxvY2tUb29sVHlwZS5Ob25lKSB8fCBoYXJ2ZXN0TGV2ZWwgPD0gMCkgcmV0dXJuIHRydWU7XG4gICAgICAgIGlmICghaXRlbSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAodG9vbFR5cGUuaW5jbHVkZXMoaXRlbS5nZXRUb29sVHlwZSgpKSAmJiBpdGVtLmdldFRvb2xIYXJ2ZXN0TGV2ZWwoKSA+PSBoYXJ2ZXN0TGV2ZWwpIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQWZmZWN0ZWRCeVNpbGtUb3VjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUGFydE9mQ3JlYXRpdmVJbnZlbnRvcnkoKSB7XG4gICAgICAgIHJldHVybiB0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
|
|
186
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmxvY2suZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ibG9jay9CbG9jay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpdGVtX2lkX21hcCBhcyBCbG9ja0lkTWFwIH0gZnJvbSAnQGpzcHJpc21hcmluZS9iZWRyb2NrLWRhdGEnO1xuaW1wb3J0IHsgQmxvY2tUb29sVHlwZSB9IGZyb20gJy4vQmxvY2tUb29sVHlwZSc7XG5pbXBvcnQgdHlwZSBJdGVtIGZyb20gJy4uL2l0ZW0vSXRlbSc7XG5pbXBvcnQgeyBJdGVtRW5jaGFudG1lbnRUeXBlIH0gZnJvbSAnLi4vaXRlbS9JdGVtRW5jaGFudG1lbnRUeXBlJztcbmltcG9ydCB7IEl0ZW1UaWVyZWRUb29sVHlwZSB9IGZyb20gJy4uL2l0ZW0vSXRlbVRpZXJlZFRvb2xUeXBlJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi9TZXJ2ZXInO1xuXG5leHBvcnQgY2xhc3MgQmxvY2sge1xuICAgIC8qKlxuICAgICAqIFRoZSBibG9jaydzIG51bWVyaWMgYmxvY2sgSUQuXG4gICAgICovXG4gICAgcHVibGljIGlkOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmxvY2sncyBuYW1lc3BhY2VkIGJsb2NrIElELlxuICAgICAqL1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmxvY2sncyBqYXZhLWVkaXRpb24gbmFtZXNwYWNlZCBibG9jayBJRC5cbiAgICAgKi9cbiAgICBwdWJsaWMgamF2YU5hbWU6IHN0cmluZztcbiAgICBwdWJsaWMgaGFyZG5lc3M6IG51bWJlcjtcbiAgICBwdWJsaWMgbWV0YSA9IDA7XG4gICAgcHJpdmF0ZSBuZXR3b3JrSWQ6IG51bWJlcjtcblxuICAgIC8vIFRPRE9cbiAgICBwdWJsaWMgbmJ0ID0gbnVsbDtcbiAgICBwdWJsaWMgY291bnQgPSAxO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHtcbiAgICAgICAgaWQsXG4gICAgICAgIG5hbWUsXG4gICAgICAgIGphdmFOYW1lLFxuICAgICAgICBwYXJlbnROYW1lLFxuICAgICAgICBoYXJkbmVzc1xuICAgIH06IHtcbiAgICAgICAgaWQ6IG51bWJlcjtcbiAgICAgICAgbmFtZTogc3RyaW5nO1xuICAgICAgICBqYXZhTmFtZT86IHN0cmluZztcbiAgICAgICAgcGFyZW50TmFtZT86IHN0cmluZztcbiAgICAgICAgaGFyZG5lc3M/OiBudW1iZXI7XG4gICAgfSkge1xuICAgICAgICB0aGlzLmlkID0gaWQ7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHRoaXMuamF2YU5hbWUgPSBqYXZhTmFtZSA/PyBuYW1lO1xuICAgICAgICB0aGlzLmhhcmRuZXNzID0gaGFyZG5lc3MgPz8gMDtcblxuICAgICAgICB0aGlzLm5ldHdvcmtJZCA9IEJsb2NrSWRNYXBbcGFyZW50TmFtZSA/PyBuYW1lXSBhcyBudW1iZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIG5hbWVzcGFjZWQgaWQuXG4gICAgICovXG4gICAgcHVibGljIGdldE5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIG1ldGEgdmFsdWUuXG4gICAgICovXG4gICAgcHVibGljIGdldE1ldGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm1ldGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIG51bWVyaWMgaWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgYmxvY2sncyBudW1lcmljIElELlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIG5ldHdvcmsgbnVtZXJpYyBpZC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TmV0d29ya0lkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5uZXR3b3JrSWQgfHwgdGhpcy5nZXRJZCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBoYXJkbmVzcyB2YWx1ZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SGFyZG5lc3MoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFyZG5lc3M7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIGJyZWFrIHRpbWUuXG4gICAgICovXG4gICAgcHVibGljIGdldEJyZWFrVGltZShfaXRlbTogSXRlbSB8IG51bGwsIF9zZXJ2ZXI6IFNlcnZlcikge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRIYXJkbmVzcygpOyAvLyBUT0RPOiBGaXggYnJlYWsgdGltZSBjYWxjdWxhdGlvbnNcblxuICAgICAgICAvKiBsZXQgYmFzZSA9IHRoaXMuZ2V0SGFyZG5lc3MoKTtcbiAgICAgICAgYmFzZSAqPSB0aGlzLmlzQ29tcGF0aWJsZVdpdGhUb29sKGl0ZW0pID8gMS41IDogNTtcbiAgICAgICAgY29uc3QgZWZmaWNpZW5jeSA9IDE7IC8vIEl0ZW0uZ2V0TWluaW5nRWZmaWNpZW5jeSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIChiYXNlIC89IGVmZmljaWVuY3kpOyAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBibGFzdCByZXNpc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRCbGFzdFJlc2lzdGFuY2UoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEhhcmRuZXNzKCkgKiA1O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBsaWdodCBsZXZlbCBlbWlzc2lvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGlnaHRMZXZlbCgpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIGZsYW1tYWJpbGl0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RmxhbW1hYmlsaXR5KCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgcmVxdWlyZWQgdG9vbCB0eXBlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUb29sVHlwZSgpOiBCbG9ja1Rvb2xUeXBlW10ge1xuICAgICAgICByZXR1cm4gW0Jsb2NrVG9vbFR5cGUuTm9uZV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBCbG9jaydzIHJlcXVpcmVkIGl0ZW0gdG9vbCB0aWVyLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUb29sSGFydmVzdExldmVsKCk6IEl0ZW1UaWVyZWRUb29sVHlwZSB7XG4gICAgICAgIHJldHVybiBJdGVtVGllcmVkVG9vbFR5cGUuTm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgZHJvcChzKSBpZiB0aGUgdG9vbCBpcyBjb21wYXRpYmxlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREcm9wc0ZvckNvbXBhdGlibGVUb29sKF9pdGVtOiBJdGVtIHwgbnVsbCwgX3NlcnZlcjogU2VydmVyKTogQXJyYXk8QmxvY2sgfCBJdGVtIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gW3RoaXNdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgQmxvY2sncyBkcm9wKHMpIGZyb20gdGhlIGN1cnJlbnQgaXRlbS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RHJvcHMoaXRlbTogSXRlbSB8IG51bGwsIHNlcnZlcjogU2VydmVyKTogQXJyYXk8QmxvY2sgfCBJdGVtIHwgbnVsbD4ge1xuICAgICAgICBpZiAodGhpcy5pc0NvbXBhdGlibGVXaXRoVG9vbChpdGVtKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNBZmZlY3RlZEJ5U2lsa1RvdWNoKCkgJiYgaXRlbT8uaGFzRW5jaGFudG1lbnQoSXRlbUVuY2hhbnRtZW50VHlwZS5TaWxrVG91Y2gpKVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNpbGtUb3VjaERyb3BzKGl0ZW0sIHNlcnZlcik7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERyb3BzRm9yQ29tcGF0aWJsZVRvb2woaXRlbSwgc2VydmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIEJsb2NrJ3MgZHJvcChzKSBpZiBzaWxrIHRvdWNoIGlzIHVzZWQuXG4gICAgICovXG4gICAgcHVibGljIGdldFNpbGtUb3VjaERyb3BzKF9pdGVtOiBJdGVtLCBfc2VydmVyOiBTZXJ2ZXIpIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TGlnaHRGaWx0ZXIoKSB7XG4gICAgICAgIHJldHVybiAxNTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuUGFzc1Rocm91Z2goKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGlmIHRoZSBibG9jayBjYW4gYmUgcmVwbGFjZWQgd2hlbiBwbGFjZSBhY3Rpb24gb2NjdXJzIG9uIGl0LlxuICAgICAqL1xuICAgIHB1YmxpYyBjYW5CZVJlcGxhY2VkKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGNhbkJlUGxhY2VkKCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2FuQmVGbG93ZWRJbnRvKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGlzVHJhbnNwYXJlbnQoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgYmxvY2sgaXMgYnJlYWthYmxlLlxuICAgICAqXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBibG9jayBpcyBicmVha2FibGUgb3RoZXJ3aXNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgcHVibGljIGlzQnJlYWthYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgYmxvY2sgaXMgc29saWQuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGJsb2NrIGlzIHNvbGlkIG90aGVyd2lzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIHB1YmxpYyBpc1NvbGlkKCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQ29tcGF0aWJsZVdpdGhUb29sKGl0ZW06IEl0ZW0gfCBudWxsKSB7XG4gICAgICAgIGNvbnN0IHRvb2xUeXBlID0gdGhpcy5nZXRUb29sVHlwZSgpO1xuICAgICAgICBjb25zdCBoYXJ2ZXN0TGV2ZWwgPSB0aGlzLmdldFRvb2xIYXJ2ZXN0TGV2ZWwoKTtcblxuICAgICAgICBpZiAodG9vbFR5cGUuaW5jbHVkZXMoQmxvY2tUb29sVHlwZS5Ob25lKSB8fCBoYXJ2ZXN0TGV2ZWwgPD0gMCkgcmV0dXJuIHRydWU7XG4gICAgICAgIGlmICghaXRlbSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAodG9vbFR5cGUuaW5jbHVkZXMoaXRlbS5nZXRUb29sVHlwZSgpKSAmJiBpdGVtLmdldFRvb2xIYXJ2ZXN0TGV2ZWwoKSA+PSBoYXJ2ZXN0TGV2ZWwpIHJldHVybiB0cnVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGlzQWZmZWN0ZWRCeVNpbGtUb3VjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIGlzUGFydE9mQ3JlYXRpdmVJbnZlbnRvcnkoKSB7XG4gICAgICAgIHJldHVybiB0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
|
|
@@ -5,7 +5,7 @@ import { BlockToolType } from '../BlockToolType';
|
|
|
5
5
|
|
|
6
6
|
export default class Bookshelf extends Solid {
|
|
7
7
|
constructor();
|
|
8
|
-
getDropsForCompatibleTool(item: Item, server: Server):
|
|
8
|
+
getDropsForCompatibleTool(item: Item, server: Server): any[];
|
|
9
9
|
getToolType(): BlockToolType[];
|
|
10
10
|
getFlammability(): number;
|
|
11
11
|
getFuelTime(): number;
|
|
@@ -8,6 +8,6 @@ export default class CoalOre extends Solid {
|
|
|
8
8
|
constructor();
|
|
9
9
|
getToolType(): BlockToolType[];
|
|
10
10
|
getToolHarvestLevel(): ItemTieredToolType;
|
|
11
|
-
getDropsForCompatibleTool(item: Item, server: Server):
|
|
11
|
+
getDropsForCompatibleTool(item: Item, server: Server): any[];
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=CoalOre.d.ts.map
|
|
@@ -6,6 +6,6 @@ import { BlockToolType } from '../BlockToolType';
|
|
|
6
6
|
export default class Sand extends Solid {
|
|
7
7
|
constructor(name?: string);
|
|
8
8
|
getToolType(): BlockToolType[];
|
|
9
|
-
getDropsForCompatibleTool(item: Item, server: Server):
|
|
9
|
+
getDropsForCompatibleTool(item: Item, server: Server): any[];
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=Gravel.d.ts.map
|
|
@@ -22,6 +22,6 @@ export declare enum BedType {
|
|
|
22
22
|
}
|
|
23
23
|
export default class WhiteBed extends Solid {
|
|
24
24
|
constructor(name?: string, type?: BedType);
|
|
25
|
-
getDropsForCompatibleTool(item: Item, server: Server):
|
|
25
|
+
getDropsForCompatibleTool(item: Item, server: Server): any[];
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=WhiteBed.d.ts.map
|
|
@@ -17,4 +17,4 @@ class ChatManager {
|
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
exports.default = ChatManager;
|
|
20
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdE1hbmFnZXIuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hhdC9DaGF0TWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBDaGF0IGZyb20gJy4vQ2hhdCc7XG5pbXBvcnQgQ2hhdEV2ZW50IGZyb20gJy4uL2V2ZW50cy9jaGF0L0NoYXRFdmVudCc7XG5pbXBvcnQgdHlwZSBTZXJ2ZXIgZnJvbSAnLi4vU2VydmVyJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2hhdE1hbmFnZXIge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmVyOiBTZXJ2ZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3Ioc2VydmVyOiBTZXJ2ZXIpIHtcbiAgICAgICAgdGhpcy5zZXJ2ZXIgPSBzZXJ2ZXI7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHNlbmQoY2hhdDogQ2hhdCkge1xuICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDaGF0RXZlbnQoY2hhdCk7XG4gICAgICAgIGF3YWl0IHRoaXMuc2VydmVyLmdldEV2ZW50TWFuYWdlcigpLmVtaXQoJ2NoYXQnLCBldmVudCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIkNoYXRFdmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUlBLE1BQXFCLFdBQVksQ0FBQTtBQUFBLEVBQ1osTUFBQSxDQUFBO0FBQUEsRUFFVixZQUFZLE1BQWdCLEVBQUE7QUFDL0IsSUFBQSxJQUFBLENBQUssTUFBUyxHQUFBLE1BQUEsQ0FBQTtBQUFBLEdBQ2xCO0FBQUEsRUFFQSxNQUFhLEtBQUssSUFBWSxFQUFBO0FBQzFCLElBQU0sTUFBQSxLQUFBLEdBQVEsSUFBSUEsNkJBQUEsQ0FBVSxJQUFJLENBQUEsQ0FBQTtBQUNoQyxJQUFBLE1BQU0sS0FBSyxNQUFPLENBQUEsZUFBQSxFQUFrQixDQUFBLElBQUEsQ0FBSyxRQUFRLEtBQUssQ0FBQSxDQUFBO0FBQUEsR0FDMUQ7QUFDSjs7OzsifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatManager.d.ts","sourceRoot":"","sources":["../../src/chat/ChatManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatManager.d.ts","sourceRoot":"","sources":["../../src/chat/ChatManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,OAAO,KAAK,MAAM,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEb,MAAM,EAAE,MAAM;IAIpB,IAAI,CAAC,IAAI,EAAE,IAAI;CAI/B"}
|
|
@@ -13,4 +13,4 @@ class ChatManager {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
export { ChatManager as default };
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hhdE1hbmFnZXIuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jaGF0L0NoYXRNYW5hZ2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIENoYXQgZnJvbSAnLi9DaGF0JztcbmltcG9ydCBDaGF0RXZlbnQgZnJvbSAnLi4vZXZlbnRzL2NoYXQvQ2hhdEV2ZW50JztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi9TZXJ2ZXInO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaGF0TWFuYWdlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2ZXI6IFNlcnZlcjtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihzZXJ2ZXI6IFNlcnZlcikge1xuICAgICAgICB0aGlzLnNlcnZlciA9IHNlcnZlcjtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgc2VuZChjaGF0OiBDaGF0KSB7XG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IENoYXRFdmVudChjaGF0KTtcbiAgICAgICAgYXdhaXQgdGhpcy5zZXJ2ZXIuZ2V0RXZlbnRNYW5hZ2VyKCkuZW1pdCgnY2hhdCcsIGV2ZW50KTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsTUFBcUIsV0FBWSxDQUFBO0FBQUEsRUFDWixNQUFBLENBQUE7QUFBQSxFQUVWLFlBQVksTUFBZ0IsRUFBQTtBQUMvQixJQUFBLElBQUEsQ0FBSyxNQUFTLEdBQUEsTUFBQSxDQUFBO0FBQUEsR0FDbEI7QUFBQSxFQUVBLE1BQWEsS0FBSyxJQUFZLEVBQUE7QUFDMUIsSUFBTSxNQUFBLEtBQUEsR0FBUSxJQUFJLFNBQUEsQ0FBVSxJQUFJLENBQUEsQ0FBQTtBQUNoQyxJQUFBLE1BQU0sS0FBSyxNQUFPLENBQUEsZUFBQSxFQUFrQixDQUFBLElBQUEsQ0FBSyxRQUFRLEtBQUssQ0FBQSxDQUFBO0FBQUEsR0FDMUQ7QUFDSjs7OzsifQ==
|
|
@@ -40,7 +40,7 @@ class Command {
|
|
|
40
40
|
async execute(_sender, _args) {
|
|
41
41
|
}
|
|
42
42
|
usage(dispatcher) {
|
|
43
|
-
return Array.from(dispatcher.findNode([this.id.split(":").at(-1)])
|
|
43
|
+
return Array.from(dispatcher.findNode([this.id.split(":").at(-1)])?.getChildren() || []).map((child) => {
|
|
44
44
|
if (!(child instanceof brigadier.ArgumentCommandNode))
|
|
45
45
|
return null;
|
|
46
46
|
return child.getUsageText();
|
|
@@ -49,4 +49,4 @@ class Command {
|
|
|
49
49
|
}
|
|
50
50
|
|
|
51
51
|
exports.Command = Command;
|
|
52
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZC5janMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kL0NvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJndW1lbnRDb21tYW5kTm9kZSwgdHlwZSBDb21tYW5kRGlzcGF0Y2hlciB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICcuLi9QbGF5ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRQcm9wcyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBwZXJtaXNzaW9uPzogc3RyaW5nO1xuICAgIGFsaWFzZXM/
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZC5janMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kL0NvbW1hbmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJndW1lbnRDb21tYW5kTm9kZSwgdHlwZSBDb21tYW5kRGlzcGF0Y2hlciB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcbmltcG9ydCB0eXBlIFBsYXllciBmcm9tICcuLi9QbGF5ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRQcm9wcyB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBwZXJtaXNzaW9uPzogc3RyaW5nO1xuICAgIGFsaWFzZXM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIENvbW1hbmQge1xuICAgIC8qKlxuICAgICAqIFRoZSBjb21tYW5kJ3MgaWQgaW4gYSBgW25hbWVzcGFjZV06W2lkXWAgZm9ybWF0LlxuICAgICAqL1xuICAgIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQncyBkZXNjcmlwdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21tYW5kJ3MgcGVybWlzc2lvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgcGVybWlzc2lvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb21tYW5kJ3MgYWxpYXNlcy5cbiAgICAgKi9cbiAgICBwdWJsaWMgYWxpYXNlcz86IHN0cmluZ1tdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHsgaWQgPSAnJywgZGVzY3JpcHRpb24gPSAnJywgcGVybWlzc2lvbiA9ICcnLCBhbGlhc2VzID0gW10gfTogQ29tbWFuZFByb3BzKSB7XG4gICAgICAgIHRoaXMuaWQgPSBpZDtcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRlc2NyaXB0aW9uO1xuICAgICAgICB0aGlzLnBlcm1pc3Npb24gPSBwZXJtaXNzaW9uO1xuICAgICAgICB0aGlzLmFsaWFzZXMgPSBhbGlhc2VzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVyIHRoZSBjb21tYW5kLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyByZWdpc3RlcihfZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pik6IFByb21pc2U8dm9pZD4ge31cblxuICAgIC8qKlxuICAgICAqIFJ1biB0aGUgY29tbWFuZC5cbiAgICAgKlxuICAgICAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIHdpdGggXCJDb21tYW5kLnJlZ2lzdGVyXCJcbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZXhlY3V0ZShfc2VuZGVyOiBQbGF5ZXIsIF9hcmdzOiBhbnlbXSk6IFByb21pc2U8YW55PiB7fVxuXG4gICAgcHVibGljIHVzYWdlKGRpc3BhdGNoZXI6IENvbW1hbmREaXNwYXRjaGVyPGFueT4pOiBzdHJpbmcge1xuICAgICAgICAvLyBUT0RPOiBJbXByb3ZlIHRoaXMsIGl0J3Mgbm90IHJlYWxseSBhY2N1cmF0ZSByaWdodCBub3cuXG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKGRpc3BhdGNoZXIuZmluZE5vZGUoW3RoaXMuaWQuc3BsaXQoJzonKS5hdCgtMSkhXSk/LmdldENoaWxkcmVuKCkgfHwgW10pXG4gICAgICAgICAgICAubWFwKChjaGlsZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghKGNoaWxkIGluc3RhbmNlb2YgQXJndW1lbnRDb21tYW5kTm9kZSkpIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZC5nZXRVc2FnZVRleHQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJBcmd1bWVudENvbW1hbmROb2RlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFVTyxNQUFNLE9BQVEsQ0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVYsRUFBQSxDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxXQUFBLENBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLFVBQUEsQ0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsT0FBQSxDQUFBO0FBQUEsRUFFQSxXQUFBLENBQVksRUFBRSxFQUFBLEdBQUssRUFBSSxFQUFBLFdBQUEsR0FBYyxFQUFJLEVBQUEsVUFBQSxHQUFhLEVBQUksRUFBQSxPQUFBLEdBQVUsRUFBQyxFQUFtQixFQUFBO0FBQzNGLElBQUEsSUFBQSxDQUFLLEVBQUssR0FBQSxFQUFBLENBQUE7QUFDVixJQUFBLElBQUEsQ0FBSyxXQUFjLEdBQUEsV0FBQSxDQUFBO0FBQ25CLElBQUEsSUFBQSxDQUFLLFVBQWEsR0FBQSxVQUFBLENBQUE7QUFDbEIsSUFBQSxJQUFBLENBQUssT0FBVSxHQUFBLE9BQUEsQ0FBQTtBQUFBLEdBQ25CO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxNQUFhLFNBQVMsV0FBb0QsRUFBQTtBQUFBLEdBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPM0UsTUFBYSxPQUFRLENBQUEsT0FBQSxFQUFpQixLQUE0QixFQUFBO0FBQUEsR0FBQztBQUFBLEVBRTVELE1BQU0sVUFBNEMsRUFBQTtBQUVyRCxJQUFPLE9BQUEsS0FBQSxDQUFNLEtBQUssVUFBVyxDQUFBLFFBQUEsQ0FBUyxDQUFDLElBQUssQ0FBQSxFQUFBLENBQUcsS0FBTSxDQUFBLEdBQUcsQ0FBRSxDQUFBLEVBQUEsQ0FBRyxFQUFFLENBQUUsQ0FBQyxHQUFHLFdBQVksRUFBQSxJQUFLLEVBQUUsQ0FBQSxDQUNuRixHQUFJLENBQUEsQ0FBQyxLQUFVLEtBQUE7QUFDWixNQUFBLElBQUksRUFBRSxLQUFpQixZQUFBQSw2QkFBQSxDQUFBO0FBQXNCLFFBQU8sT0FBQSxJQUFBLENBQUE7QUFDcEQsTUFBQSxPQUFPLE1BQU0sWUFBYSxFQUFBLENBQUE7QUFBQSxLQUM3QixFQUNBLE1BQU8sQ0FBQSxPQUFPLEVBQ2QsSUFBSyxDQUFBLEdBQUcsRUFDUixJQUFLLEVBQUEsQ0FBQTtBQUFBLEdBQ2Q7QUFDSjs7OzsifQ==
|
|
@@ -36,7 +36,7 @@ class Command {
|
|
|
36
36
|
async execute(_sender, _args) {
|
|
37
37
|
}
|
|
38
38
|
usage(dispatcher) {
|
|
39
|
-
return Array.from(dispatcher.findNode([this.id.split(":").at(-1)])
|
|
39
|
+
return Array.from(dispatcher.findNode([this.id.split(":").at(-1)])?.getChildren() || []).map((child) => {
|
|
40
40
|
if (!(child instanceof ArgumentCommandNode))
|
|
41
41
|
return null;
|
|
42
42
|
return child.getUsageText();
|
|
@@ -45,4 +45,4 @@ class Command {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export { Command };
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZC5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmQvQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmd1bWVudENvbW1hbmROb2RlLCB0eXBlIENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHR5cGUgUGxheWVyIGZyb20gJy4uL1BsYXllcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZFByb3BzIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHBlcm1pc3Npb24/OiBzdHJpbmc7XG4gICAgYWxpYXNlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgQ29tbWFuZCB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQncyBpZCBpbiBhIGBbbmFtZXNwYWNlXTpbaWRdYCBmb3JtYXQuXG4gICAgICovXG4gICAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCdzIGRlc2NyaXB0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQncyBwZXJtaXNzaW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBwZXJtaXNzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQncyBhbGlhc2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyBhbGlhc2VzPzogc3RyaW5nW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoeyBpZCA9ICcnLCBkZXNjcmlwdGlvbiA9ICcnLCBwZXJtaXNzaW9uID0gJycsIGFsaWFzZXMgPSBbXSB9OiBDb21tYW5kUHJvcHMpIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMucGVybWlzc2lvbiA9IHBlcm1pc3Npb247XG4gICAgICAgIHRoaXMuYWxpYXNlcyA9IGFsaWFzZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgdGhlIGNvbW1hbmQuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHJlZ2lzdGVyKF9kaXNwYXRjaGVyOiBDb21tYW5kRGlzcGF0Y2hlcjxhbnk+KTogUHJvbWlzZTx2b2lkPiB7fVxuXG4gICAgLyoqXG4gICAgICogUnVuIHRoZSBjb21tYW5kLlxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCBcIkNvbW1hbmQucmVnaXN0ZXJcIlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBleGVjdXRlKF9zZW5kZXI6IFBsYXllciwgX2FyZ3M6IGFueVtdKTogUHJvbWlzZTxhbnk+
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZC5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmQvQ29tbWFuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmd1bWVudENvbW1hbmROb2RlLCB0eXBlIENvbW1hbmREaXNwYXRjaGVyIH0gZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXInO1xuaW1wb3J0IHR5cGUgUGxheWVyIGZyb20gJy4uL1BsYXllcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZFByb3BzIHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHBlcm1pc3Npb24/OiBzdHJpbmc7XG4gICAgYWxpYXNlcz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgY2xhc3MgQ29tbWFuZCB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQncyBpZCBpbiBhIGBbbmFtZXNwYWNlXTpbaWRdYCBmb3JtYXQuXG4gICAgICovXG4gICAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY29tbWFuZCdzIGRlc2NyaXB0aW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZXNjcmlwdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQncyBwZXJtaXNzaW9uLlxuICAgICAqL1xuICAgIHB1YmxpYyBwZXJtaXNzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGNvbW1hbmQncyBhbGlhc2VzLlxuICAgICAqL1xuICAgIHB1YmxpYyBhbGlhc2VzPzogc3RyaW5nW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoeyBpZCA9ICcnLCBkZXNjcmlwdGlvbiA9ICcnLCBwZXJtaXNzaW9uID0gJycsIGFsaWFzZXMgPSBbXSB9OiBDb21tYW5kUHJvcHMpIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMucGVybWlzc2lvbiA9IHBlcm1pc3Npb247XG4gICAgICAgIHRoaXMuYWxpYXNlcyA9IGFsaWFzZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgdGhlIGNvbW1hbmQuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHJlZ2lzdGVyKF9kaXNwYXRjaGVyOiBDb21tYW5kRGlzcGF0Y2hlcjxhbnk+KTogUHJvbWlzZTx2b2lkPiB7fVxuXG4gICAgLyoqXG4gICAgICogUnVuIHRoZSBjb21tYW5kLlxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCBcIkNvbW1hbmQucmVnaXN0ZXJcIlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBleGVjdXRlKF9zZW5kZXI6IFBsYXllciwgX2FyZ3M6IGFueVtdKTogUHJvbWlzZTxhbnk+IHt9XG5cbiAgICBwdWJsaWMgdXNhZ2UoZGlzcGF0Y2hlcjogQ29tbWFuZERpc3BhdGNoZXI8YW55Pik6IHN0cmluZyB7XG4gICAgICAgIC8vIFRPRE86IEltcHJvdmUgdGhpcywgaXQncyBub3QgcmVhbGx5IGFjY3VyYXRlIHJpZ2h0IG5vdy5cbiAgICAgICAgcmV0dXJuIEFycmF5LmZyb20oZGlzcGF0Y2hlci5maW5kTm9kZShbdGhpcy5pZC5zcGxpdCgnOicpLmF0KC0xKSFdKT8uZ2V0Q2hpbGRyZW4oKSB8fCBbXSlcbiAgICAgICAgICAgIC5tYXAoKGNoaWxkKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCEoY2hpbGQgaW5zdGFuY2VvZiBBcmd1bWVudENvbW1hbmROb2RlKSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLmdldFVzYWdlVGV4dCgpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICAgIC5qb2luKCcgJylcbiAgICAgICAgICAgIC50cmltKCk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBVU8sTUFBTSxPQUFRLENBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUlWLEVBQUEsQ0FBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsV0FBQSxDQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxVQUFBLENBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE9BQUEsQ0FBQTtBQUFBLEVBRUEsV0FBQSxDQUFZLEVBQUUsRUFBQSxHQUFLLEVBQUksRUFBQSxXQUFBLEdBQWMsRUFBSSxFQUFBLFVBQUEsR0FBYSxFQUFJLEVBQUEsT0FBQSxHQUFVLEVBQUMsRUFBbUIsRUFBQTtBQUMzRixJQUFBLElBQUEsQ0FBSyxFQUFLLEdBQUEsRUFBQSxDQUFBO0FBQ1YsSUFBQSxJQUFBLENBQUssV0FBYyxHQUFBLFdBQUEsQ0FBQTtBQUNuQixJQUFBLElBQUEsQ0FBSyxVQUFhLEdBQUEsVUFBQSxDQUFBO0FBQ2xCLElBQUEsSUFBQSxDQUFLLE9BQVUsR0FBQSxPQUFBLENBQUE7QUFBQSxHQUNuQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsTUFBYSxTQUFTLFdBQW9ELEVBQUE7QUFBQSxHQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTzNFLE1BQWEsT0FBUSxDQUFBLE9BQUEsRUFBaUIsS0FBNEIsRUFBQTtBQUFBLEdBQUM7QUFBQSxFQUU1RCxNQUFNLFVBQTRDLEVBQUE7QUFFckQsSUFBTyxPQUFBLEtBQUEsQ0FBTSxLQUFLLFVBQVcsQ0FBQSxRQUFBLENBQVMsQ0FBQyxJQUFLLENBQUEsRUFBQSxDQUFHLEtBQU0sQ0FBQSxHQUFHLENBQUUsQ0FBQSxFQUFBLENBQUcsRUFBRSxDQUFFLENBQUMsR0FBRyxXQUFZLEVBQUEsSUFBSyxFQUFFLENBQUEsQ0FDbkYsR0FBSSxDQUFBLENBQUMsS0FBVSxLQUFBO0FBQ1osTUFBQSxJQUFJLEVBQUUsS0FBaUIsWUFBQSxtQkFBQSxDQUFBO0FBQXNCLFFBQU8sT0FBQSxJQUFBLENBQUE7QUFDcEQsTUFBQSxPQUFPLE1BQU0sWUFBYSxFQUFBLENBQUE7QUFBQSxLQUM3QixFQUNBLE1BQU8sQ0FBQSxPQUFPLEVBQ2QsSUFBSyxDQUFBLEdBQUcsRUFDUixJQUFLLEVBQUEsQ0FBQTtBQUFBLEdBQ2Q7QUFDSjs7OzsifQ==
|
|
@@ -9,7 +9,7 @@ require('../network/type/CommandEnum.cjs.js');
|
|
|
9
9
|
require('../world/Gamemode.cjs.js');
|
|
10
10
|
require('../utils/ParseTargetSelector.cjs.js');
|
|
11
11
|
require('../utils/ParseTildeCaretNotation.cjs.js');
|
|
12
|
-
const command_CommandArguments = require('../Server-
|
|
12
|
+
const command_CommandArguments = require('../Server-nY-WO-m_.cjs');
|
|
13
13
|
require('../math/Vector3.cjs.js');
|
|
14
14
|
require('../entity/other/AreaEffectCloud.cjs.js');
|
|
15
15
|
require('../entity/Entity.cjs.js');
|
|
@@ -5,7 +5,7 @@ import '../network/type/CommandEnum.es.js';
|
|
|
5
5
|
import '../world/Gamemode.es.js';
|
|
6
6
|
import '../utils/ParseTargetSelector.es.js';
|
|
7
7
|
import '../utils/ParseTildeCaretNotation.es.js';
|
|
8
|
-
export { B as BooleanArgumentCommand, C as CommandArgument, b as CommandArgumentCommand, c as CommandArgumentEntity, d as CommandArgumentGamemode, e as CommandArgumentMob, f as CommandArgumentPosition, g as PlayerArgumentCommand } from '../Server-
|
|
8
|
+
export { B as BooleanArgumentCommand, C as CommandArgument, b as CommandArgumentCommand, c as CommandArgumentEntity, d as CommandArgumentGamemode, e as CommandArgumentMob, f as CommandArgumentPosition, g as PlayerArgumentCommand } from '../Server-DAXmO2Rm.js';
|
|
9
9
|
import '../math/Vector3.es.js';
|
|
10
10
|
import '../entity/other/AreaEffectCloud.es.js';
|
|
11
11
|
import '../entity/Entity.es.js';
|
|
@@ -223,7 +223,7 @@ class CommandManager {
|
|
|
223
223
|
} else {
|
|
224
224
|
const chat = new chat_Chat.default(
|
|
225
225
|
this.server.getConsole(),
|
|
226
|
-
`§o§7[${sender.getName()}: ${res
|
|
226
|
+
`§o§7[${sender.getName()}: ${res.length > 0 ? res : `issued server command: /${input}`}]§r`,
|
|
227
227
|
[],
|
|
228
228
|
false,
|
|
229
229
|
"*.console"
|
|
@@ -256,4 +256,4 @@ class CommandManager {
|
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
exports.default = CommandManager;
|
|
259
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZE1hbmFnZXIuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZC9Db21tYW5kTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFyZ3VtZW50Q29tbWFuZE5vZGUgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBDb21tYW5kRGlzcGF0Y2hlciwgQ29tbWFuZFN5bnRheEV4Y2VwdGlvbiB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcblxuaW1wb3J0IENoYXQgZnJvbSAnLi4vY2hhdC9DaGF0JztcbmltcG9ydCB0eXBlIHsgQ29tbWFuZCB9IGZyb20gJy4vQ29tbWFuZCc7XG5pbXBvcnQgdHlwZSB7IENvbW1hbmRBcmd1bWVudCB9IGZyb20gJy4vQ29tbWFuZEFyZ3VtZW50cyc7XG4vLyBpbXBvcnQgQ29tbWFuZE5vZGUgZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXIvZGlzdC9saWIvdHJlZS9Db21tYW5kTm9kZSc7XG5pbXBvcnQgQ29tbWFuZFJlZ2lzdGVyRXZlbnQgZnJvbSAnLi4vZXZlbnRzL2NvbW1hbmQvQ29tbWFuZFJlZ2lzdGVyRXZlbnRzJztcbmltcG9ydCB0eXBlIEVudGl0eSBmcm9tICcuLi9lbnRpdHkvRW50aXR5JztcbmltcG9ydCB0eXBlIHsgUGxheWVyIH0gZnJvbSAnLi4vJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi9TZXJ2ZXInO1xuaW1wb3J0IFRpbWVyIGZyb20gJy4uL3V0aWxzL1RpbWVyJztcbmltcG9ydCBmcyBmcm9tICdub2RlOmZzJztcbmltcG9ydCB1cmwgZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHtcbiAgICBHZW5lcmljTmFtZXNwYWNlSW52YWxpZEVycm9yLFxuICAgIENvbW1hbmRSZWdpc3RlckNsYXNzTWFsZm9ybWVkT3JNaXNzaW5nRXJyb3IsXG4gICAgQ29tbWFuZFVua25vd25Db21tYW5kRXJyb3IsXG4gICAgRXJyb3Jcbn0gZnJvbSAnQGpzcHJpc21hcmluZS9lcnJvcnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21tYW5kTWFuYWdlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kczogTWFwPHN0cmluZywgQ29tbWFuZD4gPSBuZXcgTWFwKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2ZXI6IFNlcnZlcjtcbiAgICBwcml2YXRlIGRpc3BhdGNoZXIhOiBDb21tYW5kRGlzcGF0Y2hlcjxQbGF5ZXI+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNlcnZlcjogU2VydmVyKSB7XG4gICAgICAgIHRoaXMuc2VydmVyID0gc2VydmVyO1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIgPSBuZXcgQ29tbWFuZERpc3BhdGNoZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbkVuYWJsZSBob29rLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBvbkVuYWJsZSgpIHtcbiAgICAgICAgY29uc3QgdGltZXIgPSBuZXcgVGltZXIoKTtcblxuICAgICAgICAvLyBGSVhNRTogYGltcG9ydC5tZXRhLnVybGAgaXNuJ3QgZGVmaW5lZCB3aGVuIHVzaW5nIGNqcy5cbiAgICAgICAgY29uc3QgZmlsZVR5cGUgPSBpbXBvcnQubWV0YS51cmwuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICAgICAgY29uc3QgY29tbWFuZHMgPSBBcnJheS5mcm9tKFxuICAgICAgICAgICAgbmV3IFNldChcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIC4uLmZzXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVhZGRpclN5bmModXJsLmZpbGVVUkxUb1BhdGgobmV3IFVSTCgndmFuaWxsYScsIGltcG9ydC5tZXRhLnVybCkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYC92YW5pbGxhLyR7YX1gKSxcbiAgICAgICAgICAgICAgICAgICAgLi4uZnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZWFkZGlyU3luYyh1cmwuZmlsZVVSTFRvUGF0aChuZXcgVVJMKCdqc3ByaXNtYXJpbmUnLCBpbXBvcnQubWV0YS51cmwpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGAvanNwcmlzbWFyaW5lLyR7YX1gKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoYSkgPT4gIWEuaW5jbHVkZXMoJy50ZXN0LicpICYmICFhLmluY2x1ZGVzKCcuZC50cycpKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChhKSA9PiBhLmVuZHNXaXRoKGAuJHtmaWxlVHlwZX1gKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBSZWdpc3RlciBqc3ByaXNtYXJpbmUgY29tbWFuZHNcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBjb21tYW5kcy5tYXAoYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBDb21tYW5kID0gYXdhaXQgaW1wb3J0KGAuLyR7aWR9YCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tbWFuZDogQ29tbWFuZCA9IG5ldyAoQ29tbWFuZC5kZWZhdWx0IHx8IENvbW1hbmQpKCk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDb21tYW5kUmVnaXN0ZXJFdmVudChjb21tYW5kKTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNlcnZlci5nZXRFdmVudE1hbmFnZXIoKS5lbWl0KCdjb21tYW5kUmVnaXN0ZXInLCBldmVudCk7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmlzQ2FuY2VsbGVkKCkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucmVnaXN0ZXJDbGFzc0NvbW1hbmQoY29tbWFuZCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2ZXIuZ2V0TG9nZ2VyKCk/LmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2ZXIuZ2V0TG9nZ2VyKCk/Lndhcm4oYEZhaWxlZCB0byByZWdpc3RlciBjb21tYW5kICR7Y29tbWFuZC5pZH1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2VydmVyXG4gICAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgID8udmVyYm9zZShcbiAgICAgICAgICAgICAgICBgUmVnaXN0ZXJlZCDCp2Ike3RoaXMuY29tbWFuZHMuc2l6ZX3Cp3IgY29tbWFuZHMocykgKHRvb2sgJHt0aW1lci5zdG9wKCl9IG1zKSFgLFxuICAgICAgICAgICAgICAgICdDb21tYW5kTWFuYWdlci9vbkVuYWJsZSdcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT25EaXNhYmxlIGhvb2suXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIG9uRGlzYWJsZSgpIHtcbiAgICAgICAgdGhpcy5jb21tYW5kcy5jbGVhcigpO1xuICAgICAgICAvLyBUT0RPOiBjbGVhciBjb21tYW5kcyBpbiBkaXNwYXRjaGVyXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgYSBjb21tYW5kIGludG8gY29tbWFuZCBtYW5hZ2VyIGJ5IGNsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyByZWdpc3RlckNsYXNzQ29tbWFuZChjb21tYW5kOiBDb21tYW5kKSB7XG4gICAgICAgIGlmICghY29tbWFuZCB8fCAhY29tbWFuZC5pZCkgdGhyb3cgbmV3IENvbW1hbmRSZWdpc3RlckNsYXNzTWFsZm9ybWVkT3JNaXNzaW5nRXJyb3IoKTtcbiAgICAgICAgaWYgKGNvbW1hbmQuaWQuc3BsaXQoJzonKS5sZW5ndGggIT09IDIpIHRocm93IG5ldyBHZW5lcmljTmFtZXNwYWNlSW52YWxpZEVycm9yKCk7XG5cbiAgICAgICAgaWYgKCFjb21tYW5kLnJlZ2lzdGVyKVxuICAgICAgICAgICAgdGhpcy5zZXJ2ZXJcbiAgICAgICAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgICAgICA/Lndhcm4oXG4gICAgICAgICAgICAgICAgICAgIGBDb21tYW5kIGlzIG1pc3NpbmcgXCJyZWdpc3RlclwiIG1lbWJlci4gVGhpcyBpcyB1bnN1cHBvcnRlZCFgLFxuICAgICAgICAgICAgICAgICAgICAnQ29tbWFuZE1hbmFnZXIvcmVnaXN0ZXJDbGFzc0NvbW1hbmQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgZWxzZSBhd2FpdCBjb21tYW5kLnJlZ2lzdGVyKHRoaXMuZGlzcGF0Y2hlcik7XG4gICAgICAgIHRoaXMuY29tbWFuZHMuc2V0KGNvbW1hbmQuaWQsIGNvbW1hbmQpO1xuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgdGhpcy5zZXJ2ZXJcbiAgICAgICAgICAgICAgICAuZ2V0U2Vzc2lvbk1hbmFnZXIoKVxuICAgICAgICAgICAgICAgIC5nZXRBbGxQbGF5ZXJzKClcbiAgICAgICAgICAgICAgICAubWFwKGFzeW5jIChwbGF5ZXIpID0+IHBsYXllci5nZXROZXR3b3JrU2Vzc2lvbigpLnNlbmRBdmFpbGFibGVDb21tYW5kcygpKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2VydmVyXG4gICAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgID8uZGVidWcoYENvbW1hbmQgd2l0aCBpZCDCp2Ike2NvbW1hbmQuaWR9wqdyIHJlZ2lzdGVyZWRgLCAnQ29tbWFuZE1hbmFnZXIvcmVnaXN0ZXJDbGFzc0NvbW1hbmQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIGVuYWJsZWQgY29tbWFuZHMuXG4gICAgICovXG4gICAgcHVibGljIGdldENvbW1hbmRzKCk6IE1hcDxzdHJpbmcsIENvbW1hbmQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tbWFuZHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgbGlzdCBvZiBhbGwgY29tbWFuZCB2YXJpYW50cy5cbiAgICAgKlxuICAgICAqIEByZW1hcmtzXG4gICAgICogVGhpcyBpcyBFWENMVURJTkcgbGVnYWN5IGNvbW1hbmRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb21tYW5kc0xpc3QoKTogQXJyYXk8W3N0cmluZywgLyogQ29tbWFuZE5vZGU8UGxheWVyPiAqLyBhbnksIENvbW1hbmRBcmd1bWVudFtdW11dPiB7XG4gICAgICAgIGNvbnN0IHBhcnNlTm9kZSA9IChub2RlOiAvKiBDb21tYW5kTm9kZTxQbGF5ZXI+ICovIGFueSk6IGFueVtdID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLmdldENoaWxkcmVuQ291bnQoKSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbTogKG5vZGUgYXMgQXJndW1lbnRDb21tYW5kTm9kZTxhbnksIGFueT4pLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzID0gQXJyYXkuZnJvbShub2RlLmdldENoaWxkcmVuKCkpXG4gICAgICAgICAgICAgICAgLm1hcCgobm9kZSkgPT4gcGFyc2VOb2RlKG5vZGUpKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgbm9kZS5nZXRDb21tYW5kKClcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IChub2RlIGFzIEFyZ3VtZW50Q29tbWFuZE5vZGU8YW55LCBhbnk+KS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgLi4ucmVzLm1hcCgoY2hpbGRyZW46IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbTogKG5vZGUgYXMgQXJndW1lbnRDb21tYW5kTm9kZTxhbnksIGFueT4pLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFsuLi5jaGlsZHJlbl1cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIF0uZmlsdGVyKChhKSA9PiBhKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCB0cmF2ZXJzZSA9IChub2RlOiBhbnksIHBhdGg6IGFueVtdID0gW10sIHJlc3VsdDogYW55W10gPSBbXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFub2RlLmNoaWxkcmVuLmxlbmd0aCkgcmVzdWx0LnB1c2gocGF0aC5jb25jYXQobm9kZS5pdGVtKSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pIHRyYXZlcnNlKGNoaWxkLCBwYXRoLmNvbmNhdChub2RlLml0ZW0pLCByZXN1bHQpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCByZXMgPSBBcnJheS5mcm9tKHRoaXMuc2VydmVyLmdldENvbW1hbmRNYW5hZ2VyKCkuZ2V0RGlzcGF0Y2hlcigpLmdldFJvb3QoKS5nZXRDaGlsZHJlbigpKVxuICAgICAgICAgICAgLmZsYXRNYXAoKGNvbW1hbmQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBicmFuY2hlczogYW55W10gPSBbXTtcbiAgICAgICAgICAgICAgICBpZiAoY29tbWFuZC5nZXRDb21tYW5kKCkpIGJyYW5jaGVzLnB1c2goW10pO1xuXG4gICAgICAgICAgICAgICAgQXJyYXkuZnJvbShjb21tYW5kLmdldENoaWxkcmVuKCkpLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VOb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWQuZm9yRWFjaCgoYnJhbmNoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmFuY2hlcy5wdXNoKHRyYXZlcnNlKGJyYW5jaCkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBicmFuY2hlcy5tYXAoKGJyYW5jaCkgPT4gW2NvbW1hbmQuZ2V0TmFtZSgpLCBjb21tYW5kLCBicmFuY2hdKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKChhKSA9PiBhKTtcblxuICAgICAgICByZXMudG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRDb21tYW5kc0xpc3QoKVxuICAgICAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdGVtWzJdLmxlbmd0aCkgcmV0dXJuIGAvJHtpdGVtWzBdfWA7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtWzJdXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbnRyaWVzKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLyR7aXRlbVswXX0gJHtlbnRyaWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmxhdChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKChhcmd1bWVudDogYW55KSA9PiBhcmd1bWVudC5nZXRSZWFkYWJsZVR5cGU/LigpID8/IGFyZ3VtZW50LmNvbnN0cnVjdG9yLm5hbWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbignICcpfWBcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKGBcXG5gKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5qb2luKCdcXG4nKX1gO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmVzIGFzIGFueTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgZGlzcGF0Y2hlclxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXNwYXRjaGVyKCk6IENvbW1hbmREaXNwYXRjaGVyPFBsYXllcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwYXRjaGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc3BhdGNoZXMgYSBjb21tYW5kIGFuZCBleGVjdXRlcyB0aGVtLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlbmRlciAtIHRoZSBwbGF5ZXIvY29uc29sZSB3aG8gZXhlY3V0ZWQgdGhlIGNvbW1hbmRcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gdGhlIFBsYXllci9lbnRpdHkvY29uc29sZSB3aG8gc2hvdWxkIGV4ZWN1dGUgdGhlIGNvbW1hbmRcbiAgICAgKiBAcGFyYW0gaW5wdXQgLSB0aGUgY29tbWFuZCBpbnB1dCBpbmNsdWRpbmcgYXJndW1lbnRzXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGRpc3BhdGNoQ29tbWFuZChzZW5kZXI6IFBsYXllciwgdGFyZ2V0OiBFbnRpdHkgfCBQbGF5ZXIsIGlucHV0ID0gJycpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChpbnB1dC5zdGFydHNXaXRoKCcvJykpIGlucHV0ID0gaW5wdXQuc2xpY2UoMSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMuZGlzcGF0Y2hlci5wYXJzZShpbnB1dC50cmltKCksIHRhcmdldCBhcyBQbGF5ZXIpO1xuICAgICAgICAgICAgY29uc3QgaWQgPSBwYXJzZWQuZ2V0UmVhZGVyKCkuZ2V0U3RyaW5nKCkuc3BsaXQoJyAnKVswXSE7XG5cbiAgICAgICAgICAgIHRoaXMuc2VydmVyXG4gICAgICAgICAgICAgICAgLmdldExvZ2dlcigpXG4gICAgICAgICAgICAgICAgPy52ZXJib3NlKFxuICAgICAgICAgICAgICAgICAgICBgRW50aXR5IHdpdGggwqdiJHtzZW5kZXIuZ2V0UnVudGltZUlkKCl9wqdyIGlzIGRpc3BhdGNoaW5nIGNvbW1hbmQ6ICR7aW5wdXR9IChpZDogJHtpZH0pYCxcbiAgICAgICAgICAgICAgICAgICAgJ0NvbW1hbmRNYW5hZ2VyL2Rpc3BhdGNoQ29tbWFuZCdcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBHZXQgY29tbWFuZCBmcm9tIHBhcnNlZCBzdHJpbmcuXG4gICAgICAgICAgICBjb25zdCBjb21tYW5kID0gQXJyYXkuZnJvbSh0aGlzLmNvbW1hbmRzLnZhbHVlcygpKS5maW5kKFxuICAgICAgICAgICAgICAgIChjb21tYW5kKSA9PlxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBpdCBtYXRjaGVzIElEIHdpdGhvdXQgbmFtZXNwYWNlLlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kLmlkLnNwbGl0KCc6JykuYXQoLTEpID09PSBpZCB8fFxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGFuIGFsaWFzLlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kLmFsaWFzZXM/LmluY2x1ZGVzKGlkKSB8fFxuICAgICAgICAgICAgICAgICAgICAvLyBMYXN0IGNoZWNrIGlmIGl0J3MgdGhlIHdob2xlIElEICh0aGlzIGlzIHVuY29tbW9uIHNvLFxuICAgICAgICAgICAgICAgICAgICAvLyAgaXQncyBsYXN0IHRvIGF2b2lkIHRoZSBtb3N0IGNoZWNrcykuXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuaWQgPT09IGlkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIWNvbW1hbmQpIHRocm93IG5ldyBDb21tYW5kVW5rbm93bkNvbW1hbmRFcnJvcigpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VydmVyLmdldFBlcm1pc3Npb25NYW5hZ2VyKCkuY2FuKHNlbmRlcikuZXhlY3V0ZShjb21tYW5kLnBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgc2VuZGVyLnNlbmRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICBcIsKnY0knbSBzb3JyeSwgYnV0IHlvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHBlcmZvcm0gdGhpcyBjb21tYW5kLiBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIGNvbnRhY3QgdGhlIHNlcnZlciBhZG1pbmlzdHJhdG9ycyBpZiB5b3UgYmVsaWV2ZSB0aGF0IHRoaXMgaXMgaW4gZXJyb3IuJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgcmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgaWYgKCFjb21tYW5kLnJlZ2lzdGVyICYmIGNvbW1hbmQuZXhlY3V0ZSkge1xuICAgICAgICAgICAgICAgIC8vIExlZ2FjeSBjb21tYW5kc1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmVyXG4gICAgICAgICAgICAgICAgICAgIC5nZXRMb2dnZXIoKVxuICAgICAgICAgICAgICAgICAgICA/Lndhcm4oYCR7aWR9IGlzIHVzaW5nIHRoZSBsZWdhY3kgY29tbWFuZCBmb3JtYXRgLCAnQ29tbWFuZE1hbmFnZXIvZGlzcGF0Y2hDb21tYW5kJyk7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGNvbW1hbmQuZXhlY3V0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRlciBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWQuZ2V0UmVhZGVyKCkuZ2V0U3RyaW5nKCkucmVwbGFjZShgJHtpZH0gYCwgJycpLnNwbGl0KCcgJylcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBhbGlhc2VzIGFuZCBJRHMuXG4gICAgICAgICAgICAgICAgaWYgKGNvbW1hbmQuaWQuc3BsaXQoJzonKS5hdCgtMSkgIT09IGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2hDb21tYW5kKHNlbmRlciwgdGFyZ2V0LCBpbnB1dC5yZXBsYWNlKGlkLCBjb21tYW5kLmlkLnNwbGl0KCc6JylbMV0hKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXMgPSBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmRpc3BhdGNoZXIuZXhlY3V0ZShwYXJzZWQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZmVlZGJhY2sgPSAoc2VuZGVyIGFzIGFueSBhcyBFbnRpdHkpXG4gICAgICAgICAgICAgICAgLmdldFdvcmxkKClcbiAgICAgICAgICAgICAgICAuZ2V0R2FtZXJ1bGVNYW5hZ2VyKClcbiAgICAgICAgICAgICAgICAuZ2V0R2FtZXJ1bGUoJ3NlbmRDb21tYW5kRmVlZGJhY2snKTtcblxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGRvbid0IHNlbmQgZmVlZGJhY2sgaWYgc2VuZENvbW1hbmRGZWVkYmFjayBpcyBzZXQgdG8gZmFsc2VcbiAgICAgICAgICAgIGlmIChmZWVkYmFjaykge1xuICAgICAgICAgICAgICAgIHJlcy5mb3JFYWNoKGFzeW5jIChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGF0ID0gbmV3IENoYXQoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZlci5nZXRDb25zb2xlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBgwqdvwqc3WyR7dGFyZ2V0LmdldE5hbWUoKX06ICR7cmVzID8/IGBpc3N1ZWQgc2VydmVyIGNvbW1hbmQ6IC8ke2lucHV0fWB9XcKncmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJyoub3BzJ1xuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHNob3VsZCB0aGlzIGJlIGJyb2FkY2FzdGVkIHRvIHRoZSBleGVjdXRlcj9cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXJ2ZXIuZ2V0Q2hhdE1hbmFnZXIoKS5zZW5kKGNoYXQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGF0ID0gbmV3IENoYXQoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmVyLmdldENvbnNvbGUoKSxcbiAgICAgICAgICAgICAgICAgICAgYMKnb8KnN1ske3NlbmRlci5nZXROYW1lKCl9OiAke3JlcyA/PyBgaXNzdWVkIHNlcnZlciBjb21tYW5kOiAvJHtpbnB1dH1gfV3Cp3JgLFxuICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICcqLmNvbnNvbGUnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2VydmVyLmdldENoYXRNYW5hZ2VyKCkuc2VuZChjaGF0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgZXJyb3IgaW5zdGFuY2VvZiBDb21tYW5kU3ludGF4RXhjZXB0aW9uOlxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzZW5kZXIuc2VuZE1lc3NhZ2UoYMKnYyR7ZXJyb3IuZ2V0TWVzc2FnZSgpfWApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSBlcnJvciBpbnN0YW5jZW9mIENvbW1hbmRVbmtub3duQ29tbWFuZEVycm9yOlxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzZW5kZXIuc2VuZE1lc3NhZ2UoYMKnY1Vua25vd24gY29tbWFuZC4gVHlwZSBcIi9oZWxwXCIgZm9yIGhlbHAuYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlIGVycm9yIGluc3RhbmNlb2YgRXJyb3I6XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHNlbmRlci5zZW5kTWVzc2FnZShgwqdjJHtlcnJvci5tZXNzYWdlfWApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2ZXIuZ2V0TG9nZ2VyKCk/LmVycm9yKGVycm9yLCAnQ29tbWFuZE1hbmFnZXIvZGlzcGF0Y2hDb21tYW5kJyk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhd2FpdCBzZW5kZXIuc2VuZE1lc3NhZ2UoYMKnYyR7ZXJyb3J9YCk7XG4gICAgICAgICAgICB0aGlzLnNlcnZlclxuICAgICAgICAgICAgICAgIC5nZXRMb2dnZXIoKVxuICAgICAgICAgICAgICAgID8uZGVidWcoXG4gICAgICAgICAgICAgICAgICAgIGBQbGF5ZXIgJHt0YXJnZXQuZ2V0Rm9ybWF0dGVkVXNlcm5hbWUoKX0gdHJpZWQgdG8gZXhlY3V0ZSAke2lucHV0fSwgYnV0IGl0IGZhaWxlZCB3aXRoIHRoZSBlcnJvcjogJHtlcnJvcn1gLFxuICAgICAgICAgICAgICAgICAgICAnQ29tbWFuZE1hbmFnZXIvZGlzcGF0Y2hDb21tYW5kJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLnNlcnZlci5nZXRMb2dnZXIoKT8uZXJyb3IoZXJyb3IsICdDb21tYW5kTWFuYWdlci9kaXNwYXRjaENvbW1hbmQnKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJuYW1lcyI6WyJDb21tYW5kRGlzcGF0Y2hlciIsIlRpbWVyIiwiZnMiLCJ1cmwiLCJDb21tYW5kUmVnaXN0ZXJFdmVudCIsIkNvbW1hbmRSZWdpc3RlckNsYXNzTWFsZm9ybWVkT3JNaXNzaW5nRXJyb3IiLCJHZW5lcmljTmFtZXNwYWNlSW52YWxpZEVycm9yIiwicmVzIiwibm9kZSIsImNvbW1hbmQiLCJDb21tYW5kVW5rbm93bkNvbW1hbmRFcnJvciIsIkNoYXQiLCJDb21tYW5kU3ludGF4RXhjZXB0aW9uIiwiRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxQkEsTUFBcUIsY0FBZSxDQUFBO0FBQUEsRUFDZixRQUFBLHVCQUFxQyxHQUFJLEVBQUEsQ0FBQTtBQUFBLEVBQ3pDLE1BQUEsQ0FBQTtBQUFBLEVBQ1QsVUFBQSxDQUFBO0FBQUEsRUFFRCxZQUFZLE1BQWdCLEVBQUE7QUFDL0IsSUFBQSxJQUFBLENBQUssTUFBUyxHQUFBLE1BQUEsQ0FBQTtBQUNkLElBQUssSUFBQSxDQUFBLFVBQUEsR0FBYSxJQUFJQSwyQkFBa0IsRUFBQSxDQUFBO0FBQUEsR0FDNUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE1BQWEsUUFBVyxHQUFBO0FBQ3BCLElBQU0sTUFBQSxLQUFB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
|
|
259
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tbWFuZE1hbmFnZXIuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbWFuZC9Db21tYW5kTWFuYWdlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFyZ3VtZW50Q29tbWFuZE5vZGUgfSBmcm9tICdAanNwcmlzbWFyaW5lL2JyaWdhZGllcic7XG5pbXBvcnQgeyBDb21tYW5kRGlzcGF0Y2hlciwgQ29tbWFuZFN5bnRheEV4Y2VwdGlvbiB9IGZyb20gJ0Bqc3ByaXNtYXJpbmUvYnJpZ2FkaWVyJztcblxuaW1wb3J0IENoYXQgZnJvbSAnLi4vY2hhdC9DaGF0JztcbmltcG9ydCB0eXBlIHsgQ29tbWFuZCB9IGZyb20gJy4vQ29tbWFuZCc7XG5pbXBvcnQgdHlwZSB7IENvbW1hbmRBcmd1bWVudCB9IGZyb20gJy4vQ29tbWFuZEFyZ3VtZW50cyc7XG4vLyBpbXBvcnQgQ29tbWFuZE5vZGUgZnJvbSAnQGpzcHJpc21hcmluZS9icmlnYWRpZXIvZGlzdC9saWIvdHJlZS9Db21tYW5kTm9kZSc7XG5pbXBvcnQgQ29tbWFuZFJlZ2lzdGVyRXZlbnQgZnJvbSAnLi4vZXZlbnRzL2NvbW1hbmQvQ29tbWFuZFJlZ2lzdGVyRXZlbnRzJztcbmltcG9ydCB0eXBlIEVudGl0eSBmcm9tICcuLi9lbnRpdHkvRW50aXR5JztcbmltcG9ydCB0eXBlIHsgUGxheWVyIH0gZnJvbSAnLi4vJztcbmltcG9ydCB0eXBlIFNlcnZlciBmcm9tICcuLi9TZXJ2ZXInO1xuaW1wb3J0IFRpbWVyIGZyb20gJy4uL3V0aWxzL1RpbWVyJztcbmltcG9ydCBmcyBmcm9tICdub2RlOmZzJztcbmltcG9ydCB1cmwgZnJvbSAnbm9kZTp1cmwnO1xuaW1wb3J0IHtcbiAgICBHZW5lcmljTmFtZXNwYWNlSW52YWxpZEVycm9yLFxuICAgIENvbW1hbmRSZWdpc3RlckNsYXNzTWFsZm9ybWVkT3JNaXNzaW5nRXJyb3IsXG4gICAgQ29tbWFuZFVua25vd25Db21tYW5kRXJyb3IsXG4gICAgRXJyb3Jcbn0gZnJvbSAnQGpzcHJpc21hcmluZS9lcnJvcnMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb21tYW5kTWFuYWdlciB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21tYW5kczogTWFwPHN0cmluZywgQ29tbWFuZD4gPSBuZXcgTWFwKCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2ZXI6IFNlcnZlcjtcbiAgICBwcml2YXRlIGRpc3BhdGNoZXIhOiBDb21tYW5kRGlzcGF0Y2hlcjxQbGF5ZXI+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNlcnZlcjogU2VydmVyKSB7XG4gICAgICAgIHRoaXMuc2VydmVyID0gc2VydmVyO1xuICAgICAgICB0aGlzLmRpc3BhdGNoZXIgPSBuZXcgQ29tbWFuZERpc3BhdGNoZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBPbkVuYWJsZSBob29rLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBvbkVuYWJsZSgpIHtcbiAgICAgICAgY29uc3QgdGltZXIgPSBuZXcgVGltZXIoKTtcblxuICAgICAgICAvLyBGSVhNRTogYGltcG9ydC5tZXRhLnVybGAgaXNuJ3QgZGVmaW5lZCB3aGVuIHVzaW5nIGNqcy5cbiAgICAgICAgY29uc3QgZmlsZVR5cGUgPSBpbXBvcnQubWV0YS51cmwuc3BsaXQoJy4nKS5wb3AoKTtcbiAgICAgICAgY29uc3QgY29tbWFuZHMgPSBBcnJheS5mcm9tKFxuICAgICAgICAgICAgbmV3IFNldChcbiAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgIC4uLmZzXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVhZGRpclN5bmModXJsLmZpbGVVUkxUb1BhdGgobmV3IFVSTCgndmFuaWxsYScsIGltcG9ydC5tZXRhLnVybCkpKVxuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcCgoYSkgPT4gYC92YW5pbGxhLyR7YX1gKSxcbiAgICAgICAgICAgICAgICAgICAgLi4uZnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5yZWFkZGlyU3luYyh1cmwuZmlsZVVSTFRvUGF0aChuZXcgVVJMKCdqc3ByaXNtYXJpbmUnLCBpbXBvcnQubWV0YS51cmwpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoKGEpID0+IGAvanNwcmlzbWFyaW5lLyR7YX1gKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoYSkgPT4gIWEuaW5jbHVkZXMoJy50ZXN0LicpICYmICFhLmluY2x1ZGVzKCcuZC50cycpKVxuICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKChhKSA9PiBhLmVuZHNXaXRoKGAuJHtmaWxlVHlwZX1gKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBSZWdpc3RlciBqc3ByaXNtYXJpbmUgY29tbWFuZHNcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBjb21tYW5kcy5tYXAoYXN5bmMgKGlkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBDb21tYW5kID0gYXdhaXQgaW1wb3J0KGAuLyR7aWR9YCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29tbWFuZDogQ29tbWFuZCA9IG5ldyAoQ29tbWFuZC5kZWZhdWx0IHx8IENvbW1hbmQpKCk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBldmVudCA9IG5ldyBDb21tYW5kUmVnaXN0ZXJFdmVudChjb21tYW5kKTtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNlcnZlci5nZXRFdmVudE1hbmFnZXIoKS5lbWl0KCdjb21tYW5kUmVnaXN0ZXInLCBldmVudCk7XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmlzQ2FuY2VsbGVkKCkpIHJldHVybjtcblxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucmVnaXN0ZXJDbGFzc0NvbW1hbmQoY29tbWFuZCk7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2ZXIuZ2V0TG9nZ2VyKCk/LmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2ZXIuZ2V0TG9nZ2VyKCk/Lndhcm4oYEZhaWxlZCB0byByZWdpc3RlciBjb21tYW5kICR7Y29tbWFuZC5pZH1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2VydmVyXG4gICAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgID8udmVyYm9zZShcbiAgICAgICAgICAgICAgICBgUmVnaXN0ZXJlZCDCp2Ike3RoaXMuY29tbWFuZHMuc2l6ZX3Cp3IgY29tbWFuZHMocykgKHRvb2sgJHt0aW1lci5zdG9wKCl9IG1zKSFgLFxuICAgICAgICAgICAgICAgICdDb21tYW5kTWFuYWdlci9vbkVuYWJsZSdcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogT25EaXNhYmxlIGhvb2suXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIG9uRGlzYWJsZSgpIHtcbiAgICAgICAgdGhpcy5jb21tYW5kcy5jbGVhcigpO1xuICAgICAgICAvLyBUT0RPOiBjbGVhciBjb21tYW5kcyBpbiBkaXNwYXRjaGVyXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVnaXN0ZXIgYSBjb21tYW5kIGludG8gY29tbWFuZCBtYW5hZ2VyIGJ5IGNsYXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyByZWdpc3RlckNsYXNzQ29tbWFuZChjb21tYW5kOiBDb21tYW5kKSB7XG4gICAgICAgIGlmICghY29tbWFuZCB8fCAhY29tbWFuZC5pZCkgdGhyb3cgbmV3IENvbW1hbmRSZWdpc3RlckNsYXNzTWFsZm9ybWVkT3JNaXNzaW5nRXJyb3IoKTtcbiAgICAgICAgaWYgKGNvbW1hbmQuaWQuc3BsaXQoJzonKS5sZW5ndGggIT09IDIpIHRocm93IG5ldyBHZW5lcmljTmFtZXNwYWNlSW52YWxpZEVycm9yKCk7XG5cbiAgICAgICAgaWYgKCFjb21tYW5kLnJlZ2lzdGVyKVxuICAgICAgICAgICAgdGhpcy5zZXJ2ZXJcbiAgICAgICAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgICAgICA/Lndhcm4oXG4gICAgICAgICAgICAgICAgICAgIGBDb21tYW5kIGlzIG1pc3NpbmcgXCJyZWdpc3RlclwiIG1lbWJlci4gVGhpcyBpcyB1bnN1cHBvcnRlZCFgLFxuICAgICAgICAgICAgICAgICAgICAnQ29tbWFuZE1hbmFnZXIvcmVnaXN0ZXJDbGFzc0NvbW1hbmQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgZWxzZSBhd2FpdCBjb21tYW5kLnJlZ2lzdGVyKHRoaXMuZGlzcGF0Y2hlcik7XG4gICAgICAgIHRoaXMuY29tbWFuZHMuc2V0KGNvbW1hbmQuaWQsIGNvbW1hbmQpO1xuXG4gICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgdGhpcy5zZXJ2ZXJcbiAgICAgICAgICAgICAgICAuZ2V0U2Vzc2lvbk1hbmFnZXIoKVxuICAgICAgICAgICAgICAgIC5nZXRBbGxQbGF5ZXJzKClcbiAgICAgICAgICAgICAgICAubWFwKGFzeW5jIChwbGF5ZXIpID0+IHBsYXllci5nZXROZXR3b3JrU2Vzc2lvbigpLnNlbmRBdmFpbGFibGVDb21tYW5kcygpKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuc2VydmVyXG4gICAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgID8uZGVidWcoYENvbW1hbmQgd2l0aCBpZCDCp2Ike2NvbW1hbmQuaWR9wqdyIHJlZ2lzdGVyZWRgLCAnQ29tbWFuZE1hbmFnZXIvcmVnaXN0ZXJDbGFzc0NvbW1hbmQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYWxsIGVuYWJsZWQgY29tbWFuZHMuXG4gICAgICovXG4gICAgcHVibGljIGdldENvbW1hbmRzKCk6IE1hcDxzdHJpbmcsIENvbW1hbmQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29tbWFuZHM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgbGlzdCBvZiBhbGwgY29tbWFuZCB2YXJpYW50cy5cbiAgICAgKlxuICAgICAqIEByZW1hcmtzXG4gICAgICogVGhpcyBpcyBFWENMVURJTkcgbGVnYWN5IGNvbW1hbmRzLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb21tYW5kc0xpc3QoKTogQXJyYXk8W3N0cmluZywgLyogQ29tbWFuZE5vZGU8UGxheWVyPiAqLyBhbnksIENvbW1hbmRBcmd1bWVudFtdW11dPiB7XG4gICAgICAgIGNvbnN0IHBhcnNlTm9kZSA9IChub2RlOiAvKiBDb21tYW5kTm9kZTxQbGF5ZXI+ICovIGFueSk6IGFueVtdID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLmdldENoaWxkcmVuQ291bnQoKSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbTogKG5vZGUgYXMgQXJndW1lbnRDb21tYW5kTm9kZTxhbnksIGFueT4pLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzID0gQXJyYXkuZnJvbShub2RlLmdldENoaWxkcmVuKCkpXG4gICAgICAgICAgICAgICAgLm1hcCgobm9kZSkgPT4gcGFyc2VOb2RlKG5vZGUpKVxuICAgICAgICAgICAgICAgIC5yZXZlcnNlKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgbm9kZS5nZXRDb21tYW5kKClcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW06IChub2RlIGFzIEFyZ3VtZW50Q29tbWFuZE5vZGU8YW55LCBhbnk+KS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgLi4ucmVzLm1hcCgoY2hpbGRyZW46IGFueSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbTogKG5vZGUgYXMgQXJndW1lbnRDb21tYW5kTm9kZTxhbnksIGFueT4pLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFsuLi5jaGlsZHJlbl1cbiAgICAgICAgICAgICAgICB9KSlcbiAgICAgICAgICAgIF0uZmlsdGVyKChhKSA9PiBhKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCB0cmF2ZXJzZSA9IChub2RlOiBhbnksIHBhdGg6IGFueVtdID0gW10sIHJlc3VsdDogYW55W10gPSBbXSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFub2RlLmNoaWxkcmVuLmxlbmd0aCkgcmVzdWx0LnB1c2gocGF0aC5jb25jYXQobm9kZS5pdGVtKSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIG5vZGUuY2hpbGRyZW4pIHRyYXZlcnNlKGNoaWxkLCBwYXRoLmNvbmNhdChub2RlLml0ZW0pLCByZXN1bHQpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCByZXMgPSBBcnJheS5mcm9tKHRoaXMuc2VydmVyLmdldENvbW1hbmRNYW5hZ2VyKCkuZ2V0RGlzcGF0Y2hlcigpLmdldFJvb3QoKS5nZXRDaGlsZHJlbigpKVxuICAgICAgICAgICAgLmZsYXRNYXAoKGNvbW1hbmQpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBicmFuY2hlczogYW55W10gPSBbXTtcbiAgICAgICAgICAgICAgICBpZiAoY29tbWFuZC5nZXRDb21tYW5kKCkpIGJyYW5jaGVzLnB1c2goW10pO1xuXG4gICAgICAgICAgICAgICAgQXJyYXkuZnJvbShjb21tYW5kLmdldENoaWxkcmVuKCkpLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VOb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWQuZm9yRWFjaCgoYnJhbmNoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmFuY2hlcy5wdXNoKHRyYXZlcnNlKGJyYW5jaCkpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHJldHVybiBicmFuY2hlcy5tYXAoKGJyYW5jaCkgPT4gW2NvbW1hbmQuZ2V0TmFtZSgpLCBjb21tYW5kLCBicmFuY2hdKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuZmlsdGVyKChhKSA9PiBhKTtcblxuICAgICAgICByZXMudG9TdHJpbmcgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5nZXRDb21tYW5kc0xpc3QoKVxuICAgICAgICAgICAgICAgIC5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdGVtWzJdLmxlbmd0aCkgcmV0dXJuIGAvJHtpdGVtWzBdfWA7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtWzJdXG4gICAgICAgICAgICAgICAgICAgICAgICAubWFwKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlbnRyaWVzKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLyR7aXRlbVswXX0gJHtlbnRyaWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZmxhdChOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKChhcmd1bWVudDogYW55KSA9PiBhcmd1bWVudC5nZXRSZWFkYWJsZVR5cGU/LigpID8/IGFyZ3VtZW50LmNvbnN0cnVjdG9yLm5hbWUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbignICcpfWBcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIC5qb2luKGBcXG5gKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5qb2luKCdcXG4nKX1gO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmVzIGFzIGFueTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgZGlzcGF0Y2hlclxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREaXNwYXRjaGVyKCk6IENvbW1hbmREaXNwYXRjaGVyPFBsYXllcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwYXRjaGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERpc3BhdGNoZXMgYSBjb21tYW5kIGFuZCBleGVjdXRlcyB0aGVtLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNlbmRlciAtIHRoZSBwbGF5ZXIvY29uc29sZSB3aG8gZXhlY3V0ZWQgdGhlIGNvbW1hbmRcbiAgICAgKiBAcGFyYW0gdGFyZ2V0IC0gdGhlIFBsYXllci9lbnRpdHkvY29uc29sZSB3aG8gc2hvdWxkIGV4ZWN1dGUgdGhlIGNvbW1hbmRcbiAgICAgKiBAcGFyYW0gaW5wdXQgLSB0aGUgY29tbWFuZCBpbnB1dCBpbmNsdWRpbmcgYXJndW1lbnRzXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGRpc3BhdGNoQ29tbWFuZChzZW5kZXI6IFBsYXllciwgdGFyZ2V0OiBFbnRpdHkgfCBQbGF5ZXIsIGlucHV0ID0gJycpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmIChpbnB1dC5zdGFydHNXaXRoKCcvJykpIGlucHV0ID0gaW5wdXQuc2xpY2UoMSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMuZGlzcGF0Y2hlci5wYXJzZShpbnB1dC50cmltKCksIHRhcmdldCBhcyBQbGF5ZXIpO1xuICAgICAgICAgICAgY29uc3QgaWQgPSBwYXJzZWQuZ2V0UmVhZGVyKCkuZ2V0U3RyaW5nKCkuc3BsaXQoJyAnKVswXSE7XG5cbiAgICAgICAgICAgIHRoaXMuc2VydmVyXG4gICAgICAgICAgICAgICAgLmdldExvZ2dlcigpXG4gICAgICAgICAgICAgICAgPy52ZXJib3NlKFxuICAgICAgICAgICAgICAgICAgICBgRW50aXR5IHdpdGggwqdiJHtzZW5kZXIuZ2V0UnVudGltZUlkKCl9wqdyIGlzIGRpc3BhdGNoaW5nIGNvbW1hbmQ6ICR7aW5wdXR9IChpZDogJHtpZH0pYCxcbiAgICAgICAgICAgICAgICAgICAgJ0NvbW1hbmRNYW5hZ2VyL2Rpc3BhdGNoQ29tbWFuZCdcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAvLyBHZXQgY29tbWFuZCBmcm9tIHBhcnNlZCBzdHJpbmcuXG4gICAgICAgICAgICBjb25zdCBjb21tYW5kID0gQXJyYXkuZnJvbSh0aGlzLmNvbW1hbmRzLnZhbHVlcygpKS5maW5kKFxuICAgICAgICAgICAgICAgIChjb21tYW5kKSA9PlxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBpdCBtYXRjaGVzIElEIHdpdGhvdXQgbmFtZXNwYWNlLlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kLmlkLnNwbGl0KCc6JykuYXQoLTEpID09PSBpZCB8fFxuICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGFuIGFsaWFzLlxuICAgICAgICAgICAgICAgICAgICBjb21tYW5kLmFsaWFzZXM/LmluY2x1ZGVzKGlkKSB8fFxuICAgICAgICAgICAgICAgICAgICAvLyBMYXN0IGNoZWNrIGlmIGl0J3MgdGhlIHdob2xlIElEICh0aGlzIGlzIHVuY29tbW9uIHNvLFxuICAgICAgICAgICAgICAgICAgICAvLyAgaXQncyBsYXN0IHRvIGF2b2lkIHRoZSBtb3N0IGNoZWNrcykuXG4gICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuaWQgPT09IGlkXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoIWNvbW1hbmQpIHRocm93IG5ldyBDb21tYW5kVW5rbm93bkNvbW1hbmRFcnJvcigpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VydmVyLmdldFBlcm1pc3Npb25NYW5hZ2VyKCkuY2FuKHNlbmRlcikuZXhlY3V0ZShjb21tYW5kLnBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICAgICAgYXdhaXQgc2VuZGVyLnNlbmRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICBcIsKnY0knbSBzb3JyeSwgYnV0IHlvdSBkbyBub3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHBlcmZvcm0gdGhpcyBjb21tYW5kLiBcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAnUGxlYXNlIGNvbnRhY3QgdGhlIHNlcnZlciBhZG1pbmlzdHJhdG9ycyBpZiB5b3UgYmVsaWV2ZSB0aGF0IHRoaXMgaXMgaW4gZXJyb3IuJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgcmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgaWYgKCFjb21tYW5kLnJlZ2lzdGVyICYmIGNvbW1hbmQuZXhlY3V0ZSkge1xuICAgICAgICAgICAgICAgIC8vIExlZ2FjeSBjb21tYW5kc1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmVyXG4gICAgICAgICAgICAgICAgICAgIC5nZXRMb2dnZXIoKVxuICAgICAgICAgICAgICAgICAgICA/Lndhcm4oYCR7aWR9IGlzIHVzaW5nIHRoZSBsZWdhY3kgY29tbWFuZCBmb3JtYXRgLCAnQ29tbWFuZE1hbmFnZXIvZGlzcGF0Y2hDb21tYW5kJyk7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGNvbW1hbmQuZXhlY3V0ZShcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbmRlciBhcyBhbnksXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWQuZ2V0UmVhZGVyKCkuZ2V0U3RyaW5nKCkucmVwbGFjZShgJHtpZH0gYCwgJycpLnNwbGl0KCcgJylcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEhhbmRsZSBhbGlhc2VzIGFuZCBJRHMuXG4gICAgICAgICAgICAgICAgaWYgKGNvbW1hbmQuaWQuc3BsaXQoJzonKS5hdCgtMSkgIT09IGlkKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuZGlzcGF0Y2hDb21tYW5kKHNlbmRlciwgdGFyZ2V0LCBpbnB1dC5yZXBsYWNlKGlkLCBjb21tYW5kLmlkLnNwbGl0KCc6JylbMV0hKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXMgPSBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmRpc3BhdGNoZXIuZXhlY3V0ZShwYXJzZWQpKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZmVlZGJhY2sgPSAoc2VuZGVyIGFzIGFueSBhcyBFbnRpdHkpXG4gICAgICAgICAgICAgICAgLmdldFdvcmxkKClcbiAgICAgICAgICAgICAgICAuZ2V0R2FtZXJ1bGVNYW5hZ2VyKClcbiAgICAgICAgICAgICAgICAuZ2V0R2FtZXJ1bGUoJ3NlbmRDb21tYW5kRmVlZGJhY2snKTtcblxuICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGRvbid0IHNlbmQgZmVlZGJhY2sgaWYgc2VuZENvbW1hbmRGZWVkYmFjayBpcyBzZXQgdG8gZmFsc2VcbiAgICAgICAgICAgIGlmIChmZWVkYmFjaykge1xuICAgICAgICAgICAgICAgIHJlcy5mb3JFYWNoKGFzeW5jIChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGF0ID0gbmV3IENoYXQoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlcnZlci5nZXRDb25zb2xlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBgwqdvwqc3WyR7dGFyZ2V0LmdldE5hbWUoKX06ICR7cmVzID8/IGBpc3N1ZWQgc2VydmVyIGNvbW1hbmQ6IC8ke2lucHV0fWB9XcKncmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJyoub3BzJ1xuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHNob3VsZCB0aGlzIGJlIGJyb2FkY2FzdGVkIHRvIHRoZSBleGVjdXRlcj9cbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zZXJ2ZXIuZ2V0Q2hhdE1hbmFnZXIoKS5zZW5kKGNoYXQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGF0ID0gbmV3IENoYXQoXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmVyLmdldENvbnNvbGUoKSxcbiAgICAgICAgICAgICAgICAgICAgYMKnb8KnN1ske3NlbmRlci5nZXROYW1lKCl9OiAke3Jlcy5sZW5ndGggPiAwID8gcmVzIDogYGlzc3VlZCBzZXJ2ZXIgY29tbWFuZDogLyR7aW5wdXR9YH1dwqdyYCxcbiAgICAgICAgICAgICAgICAgICAgW10sXG4gICAgICAgICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAnKi5jb25zb2xlJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNlcnZlci5nZXRDaGF0TWFuYWdlcigpLnNlbmQoY2hhdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIGVycm9yIGluc3RhbmNlb2YgQ29tbWFuZFN5bnRheEV4Y2VwdGlvbjpcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2VuZGVyLnNlbmRNZXNzYWdlKGDCp2Mke2Vycm9yLmdldE1lc3NhZ2UoKX1gKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGNhc2UgZXJyb3IgaW5zdGFuY2VvZiBDb21tYW5kVW5rbm93bkNvbW1hbmRFcnJvcjpcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgc2VuZGVyLnNlbmRNZXNzYWdlKGDCp2NVbmtub3duIGNvbW1hbmQuIFR5cGUgXCIvaGVscFwiIGZvciBoZWxwLmApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSBlcnJvciBpbnN0YW5jZW9mIEVycm9yOlxuICAgICAgICAgICAgICAgICAgICBhd2FpdCBzZW5kZXIuc2VuZE1lc3NhZ2UoYMKnYyR7ZXJyb3IubWVzc2FnZX1gKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmVyLmdldExvZ2dlcigpPy5lcnJvcihlcnJvciwgJ0NvbW1hbmRNYW5hZ2VyL2Rpc3BhdGNoQ29tbWFuZCcpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgc2VuZGVyLnNlbmRNZXNzYWdlKGDCp2Mke2Vycm9yfWApO1xuICAgICAgICAgICAgdGhpcy5zZXJ2ZXJcbiAgICAgICAgICAgICAgICAuZ2V0TG9nZ2VyKClcbiAgICAgICAgICAgICAgICA/LmRlYnVnKFxuICAgICAgICAgICAgICAgICAgICBgUGxheWVyICR7dGFyZ2V0LmdldEZvcm1hdHRlZFVzZXJuYW1lKCl9IHRyaWVkIHRvIGV4ZWN1dGUgJHtpbnB1dH0sIGJ1dCBpdCBmYWlsZWQgd2l0aCB0aGUgZXJyb3I6ICR7ZXJyb3J9YCxcbiAgICAgICAgICAgICAgICAgICAgJ0NvbW1hbmRNYW5hZ2VyL2Rpc3BhdGNoQ29tbWFuZCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5zZXJ2ZXIuZ2V0TG9nZ2VyKCk/LmVycm9yKGVycm9yLCAnQ29tbWFuZE1hbmFnZXIvZGlzcGF0Y2hDb21tYW5kJyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXSwibmFtZXMiOlsiQ29tbWFuZERpc3BhdGNoZXIiLCJUaW1lciIsImZzIiwidXJsIiwiQ29tbWFuZFJlZ2lzdGVyRXZlbnQiLCJDb21tYW5kUmVnaXN0ZXJDbGFzc01hbGZvcm1lZE9yTWlzc2luZ0Vycm9yIiwiR2VuZXJpY05hbWVzcGFjZUludmFsaWRFcnJvciIsInJlcyIsIm5vZGUiLCJjb21tYW5kIiwiQ29tbWFuZFVua25vd25Db21tYW5kRXJyb3IiLCJDaGF0IiwiQ29tbWFuZFN5bnRheEV4Y2VwdGlvbiIsIkVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBcUJBLE1BQXFCLGNBQWUsQ0FBQTtBQUFBLEVBQ2YsUUFBQSx1QkFBcUMsR0FBSSxFQUFBLENBQUE7QUFBQSxFQUN6QyxNQUFBLENBQUE7QUFBQSxFQUNULFVBQUEsQ0FBQTtBQUFBLEVBRUQsWUFBWSxNQUFnQixFQUFBO0FBQy9CLElBQUEsSUFBQSxDQUFLLE1BQVMsR0FBQSxNQUFBLENBQUE7QUFDZCxJQUFLLElBQUEsQ0FBQSxVQUFBLEdBQWEsSUFBSUEsMkJBQWtCLEVBQUEsQ0FBQTtBQUFBLEdBQzVDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQSxNQUFhLFFBQVcsR0FBQTtBQUNw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
|