@dcl/asset-packs 2.15.2 → 2.16.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/bin/index.js +15036 -8077
- package/catalog.json +2 -2
- package/dist/actions.js +45 -2
- package/dist/add-child.d.ts +15 -0
- package/dist/add-child.js +223 -0
- package/dist/admin-toolkit-ui/ModerationControl/RemoveAdminConfirmation.d.ts +2 -2
- package/dist/admin-toolkit-ui/ModerationControl/RemoveAdminConfirmation.js +7 -7
- package/dist/admin-toolkit-ui/ModerationControl/utils.js +3 -3
- package/dist/admin-toolkit-ui/TextAnnouncementsControl.js +8 -21
- package/dist/admin-toolkit-ui/VideoControl/api.js +3 -3
- package/dist/admin-toolkit-ui/VideoControl/utils.d.ts +1 -1
- package/dist/admin-toolkit-ui/VideoControl/utils.js +16 -28
- package/dist/admin-toolkit-ui/admin-message-bus.d.ts +12 -0
- package/dist/admin-toolkit-ui/admin-message-bus.js +231 -0
- package/dist/admin-toolkit-ui/index.d.ts +3 -2
- package/dist/admin-toolkit-ui/index.js +17 -10
- package/dist/asset-pack-provider.d.ts +2 -0
- package/dist/asset-pack-provider.js +20 -0
- package/dist/bin/index.js +15036 -8077
- package/dist/clone.js +16 -28
- package/dist/definitions.d.ts +6 -1
- package/dist/definitions.js +7 -2
- package/dist/enums.d.ts +2 -1
- package/dist/enums.js +2 -1
- package/dist/id.d.ts +1 -8
- package/dist/id.js +2 -18
- package/dist/mapping.d.ts +38 -0
- package/dist/mapping.js +91 -0
- package/dist/scene-entrypoint.js +13 -2
- package/package.json +5 -4
|
@@ -140,9 +140,9 @@ export function requestPresentationState() {
|
|
|
140
140
|
}
|
|
141
141
|
export async function consumePresentationMessages() {
|
|
142
142
|
try {
|
|
143
|
-
const
|
|
143
|
+
const { messages } = await consumeMessages({ topic: PRESENTATION_TOPIC });
|
|
144
144
|
let latestState;
|
|
145
|
-
for (const msg of
|
|
145
|
+
for (const msg of messages) {
|
|
146
146
|
try {
|
|
147
147
|
const parsed = JSON.parse(msg.data);
|
|
148
148
|
if (parsed.type === 'presentation:state') {
|
|
@@ -205,4 +205,4 @@ export function stopPresentation() {
|
|
|
205
205
|
data: JSON.stringify({ type: 'presentation:stop' }),
|
|
206
206
|
});
|
|
207
207
|
}
|
|
208
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVmlkZW9Db250cm9sL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsQixVQUFVLEVBQUUseUNBQXlDLFNBQVMsRUFBRSxzQkFBc0I7SUFDdEYsaUJBQWlCLEVBQUUseUNBQXlDLFNBQVMsRUFBRSw0QkFBNEI7SUFDbkcsVUFBVSxFQUFFLHlDQUF5QyxTQUFTLEVBQUUsa0JBQWtCO0lBQ2xGLHNCQUFzQixFQUFFLHlDQUF5QyxTQUFTLEVBQUUsOEJBQThCO0lBQzFHLG1CQUFtQixFQUFFLCtDQUErQyxTQUFTLEVBQUUsZ0JBQWdCO0NBQ2hHLENBQUMsQ0FBQztBQW1CSCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVk7SUFDaEMsT0FBTyxlQUFlLENBQW9CLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDL0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCO0lBQ3JDLE9BQU8sZUFBZSxDQUNwQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFDakUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQ3RCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFB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QUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBnZXRBY3RpdmVWaWRlb1N0cmVhbXMsXG4gIHN1YnNjcmliZVRvVG9waWMsXG4gIHB1Ymxpc2hEYXRhLFxuICBjb25zdW1lTWVzc2FnZXMsXG59IGZyb20gJ35zeXN0ZW0vQ29tbXNBcGknO1xuaW1wb3J0IHsgZ2V0RG9tYWluLCB3cmFwU2lnbmVkRmV0Y2ggfSBmcm9tICcuLi9mZXRjaC11dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJlc3VsdCB9IGZyb20gJy4uL2ZldGNoLXV0aWxzJztcbmltcG9ydCB0eXBlIHsgUHJlc2VudGF0aW9uU3RhdGUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IFVSTFMgPSAoKSA9PiAoe1xuICBTVFJFQU1fS0VZOiBgaHR0cHM6Ly9jb21tcy1nYXRla2VlcGVyLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9zY2VuZS1zdHJlYW0tYWNjZXNzYCxcbiAgR0VUX0RDTF9DQVNUX0lORk86IGBodHRwczovL2NvbW1zLWdhdGVrZWVwZXIuZGVjZW50cmFsYW5kLiR7Z2V0RG9tYWluKCl9L2Nhc3QvZ2VuZXJhdGUtc3RyZWFtLWxpbmtgLFxuICBQUkVTRU5URVJTOiBgaHR0cHM6Ly9jb21tcy1nYXRla2VlcGVyLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9jYXN0L3ByZXNlbnRlcnNgLFxuICBQUkVTRU5UQVRJT05fQk9UX1RPS0VOOiBgaHR0cHM6Ly9jb21tcy1nYXRla2VlcGVyLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9jYXN0L3ByZXNlbnRhdGlvbi1ib3QtdG9rZW5gLFxuICBQUkVTRU5UQVRJT05fU0VSVkVSOiBgaHR0cHM6Ly9jYXN0LXByZXNlbnRlci1zZXJ2aWNlLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9wcmVzZW50YXRpb25zYCxcbn0pO1xuXG50eXBlIFN0cmVhbUtleVJlc3BvbnNlID0ge1xuICBzdHJlYW1pbmdVcmw6IHN0cmluZztcbiAgc3RyZWFtaW5nS2V5OiBzdHJpbmc7XG4gIGNyZWF0ZWRBdDogbnVtYmVyO1xuICBlbmRzQXQ6IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIERjbENhc3RSZXNwb25zZSA9IHtcbiAgc3RyZWFtTGluazogc3RyaW5nO1xuICB3YXRjaGVyTGluazogc3RyaW5nO1xuICBzdHJlYW1pbmdLZXk6IHN0cmluZztcbiAgcGxhY2VJZDogc3RyaW5nO1xuICBwbGFjZU5hbWU6IHN0cmluZztcbiAgZXhwaXJlc0F0OiBudW1iZXI7XG4gIGV4cGlyZXNJbkRheXM6IG51bWJlcjtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRTdHJlYW1LZXkoKTogUHJvbWlzZTxSZXN1bHQ8U3RyZWFtS2V5UmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxTdHJlYW1LZXlSZXNwb25zZT4oeyB1cmw6IFVSTFMoKS5TVFJFQU1fS0VZIH0sIHsgdG9DYW1lbENhc2U6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZW5lcmF0ZVN0cmVhbUtleSgpOiBQcm9taXNlPFJlc3VsdDxTdHJlYW1LZXlSZXNwb25zZSwgc3RyaW5nPj4ge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFN0cmVhbUtleVJlc3BvbnNlPihcbiAgICB7IHVybDogVVJMUygpLlNUUkVBTV9LRVksIGluaXQ6IHsgbWV0aG9kOiAnUE9TVCcsIGhlYWRlcnM6IHt9IH0gfSxcbiAgICB7IHRvQ2FtZWxDYXNlOiB0cnVlIH0sXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXZva2VTdHJlYW1LZXkoKTogUHJvbWlzZTxSZXN1bHQ8U3RyZWFtS2V5UmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxTdHJlYW1LZXlSZXNwb25zZT4oe1xuICAgIHVybDogVVJMUygpLlNUUkVBTV9LRVksXG4gICAgaW5pdDogeyBtZXRob2Q6ICdERUxFVEUnLCBoZWFkZXJzOiB7fSB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc2V0U3RyZWFtS2V5KCk6IFByb21pc2U8UmVzdWx0PFN0cmVhbUtleVJlc3BvbnNlLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8U3RyZWFtS2V5UmVzcG9uc2U+KFxuICAgIHsgdXJsOiBVUkxTKCkuU1RSRUFNX0tFWSwgaW5pdDogeyBtZXRob2Q6ICdQVVQnLCBoZWFkZXJzOiB7fSB9IH0sXG4gICAgeyB0b0NhbWVsQ2FzZTogdHJ1ZSB9LFxuICApO1xufVxuXG5leHBvcnQgdHlwZSBEY2xDYXN0VHJhY2tzUmVzcG9uc2UgPSB7XG4gIHBhcnRpY2lwYW50czoge1xuICAgIGlkZW50aXR5OiBzdHJpbmc7XG4gICAgdHJhY2tzOiB7XG4gICAgICBzaWQ6IHN0cmluZztcbiAgICAgIHR5cGU6ICdBVURJTycgfCAnVklERU8nO1xuICAgICAgc291cmNlOiAnTUlDUk9QSE9ORScgfCAnQ0FNRVJBJyB8ICdTQ1JFRU5fU0hBUkUnO1xuICAgIH1bXTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gIH1bXTtcbn07XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXREY2xDYXN0SW5mbygpOiBQcm9taXNlPFJlc3VsdDxEY2xDYXN0UmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxEY2xDYXN0UmVzcG9uc2U+KHsgdXJsOiBVUkxTKCkuR0VUX0RDTF9DQVNUX0lORk8gfSwgeyB0b0NhbWVsQ2FzZTogdHJ1ZSB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFByZXNlbnRlcnMoKTogUHJvbWlzZTxSZXN1bHQ8c3RyaW5nW10sIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxzdHJpbmdbXT4oeyB1cmw6IFVSTFMoKS5QUkVTRU5URVJTIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbW90ZVByZXNlbnRlcihhZGRyZXNzOiBzdHJpbmcpOiBQcm9taXNlPFJlc3VsdDx2b2lkLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8dm9pZD4oe1xuICAgIHVybDogYCR7VVJMUygpLlBSRVNFTlRFUlN9LyR7YWRkcmVzc31gLFxuICAgIGluaXQ6IHsgbWV0aG9kOiAnUFVUJywgaGVhZGVyczoge30gfSxcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnN1cmVQcmVzZW50ZXJSb2xlKHBsYXllckFkZHJlc3M6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBbZXJyb3IsIHByZXNlbnRlcnNdID0gYXdhaXQgZ2V0UHJlc2VudGVycygpO1xuICBjb25zb2xlLmxvZyhcbiAgICAnW0RjbENhc3RdIGVuc3VyZVByZXNlbnRlclJvbGUgLSBlcnJvcjonLFxuICAgIGVycm9yLFxuICAgICdwcmVzZW50ZXJzOicsXG4gICAgSlNPTi5zdHJpbmdpZnkocHJlc2VudGVycyksXG4gICAgJ3BsYXllckFkZHJlc3M6JyxcbiAgICBwbGF5ZXJBZGRyZXNzLFxuICApO1xuICBpZiAoZXJyb3IgfHwgIXByZXNlbnRlcnMpIHJldHVybjtcblxuICBjb25zdCBhZGRyID0gcGxheWVyQWRkcmVzcy50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBpc1ByZXNlbnRlciA9IEFycmF5LmlzQXJyYXkocHJlc2VudGVycykgPyBwcmVzZW50ZXJzLmluY2x1ZGVzKGFkZHIpIDogZmFsc2U7XG4gIGNvbnNvbGUubG9nKCdbRGNsQ2FzdF0gaXNQcmVzZW50ZXI6JywgaXNQcmVzZW50ZXIsICdhZGRyOicsIGFkZHIpO1xuXG4gIGlmICghaXNQcmVzZW50ZXIpIHtcbiAgICBjb25zdCBbcHJvbW90ZUVycm9yXSA9IGF3YWl0IHByb21vdGVQcmVzZW50ZXIoYWRkcik7XG4gICAgY29uc29sZS5sb2coJ1tEY2xDYXN0XSBwcm9tb3RlUHJlc2VudGVyIHJlc3VsdCAtIGVycm9yOicsIHByb21vdGVFcnJvcik7XG4gIH1cbn1cblxudHlwZSBQcmVzZW50YXRpb25Cb3RUb2tlblJlc3BvbnNlID0ge1xuICB1cmw6IHN0cmluZztcbiAgdG9rZW46IHN0cmluZztcbiAgcm9vbUlkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHJlc2VudGF0aW9uQm90VG9rZW4oXG4gIHN0cmVhbWluZ0tleTogc3RyaW5nLFxuKTogUHJvbWlzZTxSZXN1bHQ8UHJlc2VudGF0aW9uQm90VG9rZW5SZXNwb25zZSwgc3RyaW5nPj4ge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFByZXNlbnRhdGlvbkJvdFRva2VuUmVzcG9uc2U+KFxuICAgIHtcbiAgICAgIHVybDogVVJMUygpLlBSRVNFTlRBVElPTl9CT1RfVE9LRU4sXG4gICAgICBpbml0OiB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBoZWFkZXJzOiB7ICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicgfSxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyBzdHJlYW1pbmdLZXkgfSksXG4gICAgICB9LFxuICAgIH0sXG4gICAgeyB0b0NhbWVsQ2FzZTogdHJ1ZSB9LFxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc3RhcnRQcmVzZW50YXRpb24oXG4gIHVybDogc3RyaW5nLFxuICBsaXZla2l0VG9rZW46IHN0cmluZyxcbiAgbGl2ZWtpdFVybDogc3RyaW5nLFxuKTogUHJvbWlzZTxSZXN1bHQ8dm9pZCwgc3RyaW5nPj4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goVVJMUygpLlBSRVNFTlRBVElPTl9TRVJWRVIsIHtcbiAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7IHVybCwgbGl2ZWtpdFRva2VuLCBsaXZla2l0VXJsIH0pLFxuICAgIH0pO1xuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIGNvbnN0IGJvZHkgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XG4gICAgICByZXR1cm4gW2JvZHkgfHwgJ0ZhaWxlZCB0byBzdGFydCBwcmVzZW50YXRpb24nLCBudWxsXTtcbiAgICB9XG4gICAgcmV0dXJuIFtudWxsLCB1bmRlZmluZWQgYXMgdW5rbm93biBhcyB2b2lkXTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICByZXR1cm4gWyhlcnJvciBhcyBFcnJvcikubWVzc2FnZSA/PyAnRmFpbGVkIHRvIHN0YXJ0IHByZXNlbnRhdGlvbicsIG51bGxdO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEZsYXR0ZW5lZFRyYWNrID0ge1xuICBzaWQ6IHN0cmluZztcbiAgaWRlbnRpdHk6IHN0cmluZztcbiAgc291cmNlVHlwZTogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIGN1c3RvbU5hbWU6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFBhcnRpY2lwYW50ID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGlkZW50aXR5OiBzdHJpbmc7XG4gIHRyYWNrczogRmxhdHRlbmVkVHJhY2tbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBTT1VSQ0VfVFlQRV9MQUJFTFM6IFJlY29yZDxudW1iZXIsIHN0cmluZz4gPSB7XG4gIDE6ICdDYW1lcmEnLFxuICAyOiAnU2NyZWVuJyxcbiAgMzogJ1ByZXNlbnRhdGlvbicsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0U291cmNlTGFiZWwgPSAoc291cmNlVHlwZTogbnVtYmVyKSA9PiBTT1VSQ0VfVFlQRV9MQUJFTFNbc291cmNlVHlwZV0gPz8gJ1Vua25vd24nO1xuXG5jb25zdCBQUkVTRU5UQVRJT05fVE9QSUMgPSAncHJlc2VudGF0aW9uJztcbmNvbnN0IFBSRVNFTlRBVElPTl9TT1VSQ0VfVFlQRSA9IDM7XG5jb25zdCBQUkVTRU5UQVRJT05fQk9UX1BSRUZJWCA9ICdwcmVzZW50YXRpb24tYm90JztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJlc2VudGF0aW9uQm90KG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gbmFtZS5zdGFydHNXaXRoKFBSRVNFTlRBVElPTl9CT1RfUFJFRklYKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc1ByZXNlbnRhdGlvblRyYWNrKHRyYWNrczogRmxhdHRlbmVkVHJhY2tbXSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHJhY2tzLnNvbWUoXG4gICAgdHJhY2sgPT4gdHJhY2suc291cmNlVHlwZSA9PT0gUFJFU0VOVEFUSU9OX1NPVVJDRV9UWVBFIHx8IGlzUHJlc2VudGF0aW9uQm90KHRyYWNrLm5hbWUpLFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBUcmFja3NCeVBhcnRpY2lwYW50KHRyYWNrczogRmxhdHRlbmVkVHJhY2tbXSk6IFBhcnRpY2lwYW50W10ge1xuICBjb25zdCBtYXAgPSBuZXcgTWFwPHN0cmluZywgUGFydGljaXBhbnQ+KCk7XG4gIGZvciAoY29uc3QgdHJhY2sgb2YgdHJhY2tzKSB7XG4gICAgY29uc3QgZXhpc3RpbmcgPSBtYXAuZ2V0KHRyYWNrLm5hbWUpO1xuICAgIGlmIChleGlzdGluZykge1xuICAgICAgZXhpc3RpbmcudHJhY2tzLnB1c2godHJhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICBtYXAuc2V0KHRyYWNrLm5hbWUsIHsgbmFtZTogdHJhY2submFtZSwgaWRlbnRpdHk6IHRyYWNrLmlkZW50aXR5LCB0cmFja3M6IFt0cmFja10gfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBBcnJheS5mcm9tKG1hcC52YWx1ZXMoKSk7XG59XG5cbmZ1bmN0aW9uIGdldERpc3BsYXlOYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChpc1ByZXNlbnRhdGlvbkJvdChuYW1lKSkgcmV0dXJuICdQcmVzZW50YXRpb24nO1xuICByZXR1cm4gbmFtZTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEFjdGl2ZVN0cmVhbXMoKTogUHJvbWlzZTxGbGF0dGVuZWRUcmFja1tdIHwgdW5kZWZpbmVkPiB7XG4gIGNvbnN0IHJ1bnRpbWVTdHJlYW1zID0gYXdhaXQgZ2V0QWN0aXZlVmlkZW9TdHJlYW1zKHt9KTtcbiAgaWYgKCFydW50aW1lU3RyZWFtcykgcmV0dXJuO1xuICByZXR1cm4gcnVudGltZVN0cmVhbXMuc3RyZWFtcy5tYXAoXG4gICAgKHN0cmVhbTogeyB0cmFja1NpZDogc3RyaW5nOyBpZGVudGl0eTogc3RyaW5nOyBzb3VyY2VUeXBlOiBudW1iZXI7IG5hbWU/OiBzdHJpbmcgfSkgPT4ge1xuICAgICAgY29uc3QgcmF3TmFtZSA9IHN0cmVhbS5uYW1lID8/IHN0cmVhbS5pZGVudGl0eTtcbiAgICAgIGNvbnN0IGRpc3BsYXlOYW1lID0gZ2V0RGlzcGxheU5hbWUocmF3TmFtZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzaWQ6IHN0cmVhbS50cmFja1NpZCxcbiAgICAgICAgaWRlbnRpdHk6IHN0cmVhbS5pZGVudGl0eSxcbiAgICAgICAgc291cmNlVHlwZTogc3RyZWFtLnNvdXJjZVR5cGUsXG4gICAgICAgIG5hbWU6IHJhd05hbWUsXG4gICAgICAgIGN1c3RvbU5hbWU6IGAke2Rpc3BsYXlOYW1lfSAtICR7Z2V0U291cmNlTGFiZWwoc3RyZWFtLnNvdXJjZVR5cGUpfWAsXG4gICAgICB9O1xuICAgIH0sXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdWJzY3JpYmVUb1ByZXNlbnRhdGlvblRvcGljKCk6IHZvaWQge1xuICBzdWJzY3JpYmVUb1RvcGljKHsgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyB9KVxuICAgIC50aGVuKCgpID0+IHtcbiAgICAgIC8vIFJlcXVlc3QgY3VycmVudCBzdGF0ZSBmcm9tIGJvdCBzbyBsYXRlIGpvaW5lcnMgZ2V0IHRoZSBwcmVzZW50YXRpb24gc3RhdGVcbiAgICAgIHJlcXVlc3RQcmVzZW50YXRpb25TdGF0ZSgpO1xuICAgIH0pXG4gICAgLmNhdGNoKCgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdbRGNsQ2FzdF0gRmFpbGVkIHRvIHN1YnNjcmliZSB0byBwcmVzZW50YXRpb24gdG9waWMnKTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3RQcmVzZW50YXRpb25TdGF0ZSgpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOmdldC1zdGF0ZScgfSksXG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29uc3VtZVByZXNlbnRhdGlvbk1lc3NhZ2VzKCk6IFByb21pc2U8XG4gIFByZXNlbnRhdGlvblN0YXRlIHwgJ3N0b3BwZWQnIHwgdW5kZWZpbmVkXG4+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGNvbnN1bWVNZXNzYWdlcyh7IHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMgfSk7XG5cbiAgICBsZXQgbGF0ZXN0U3RhdGU6IFByZXNlbnRhdGlvblN0YXRlIHwgJ3N0b3BwZWQnIHwgdW5kZWZpbmVkO1xuICAgIGZvciAoY29uc3QgbXNnIG9mIHJlc3BvbnNlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBwYXJzZWQgPSBKU09OLnBhcnNlKG1zZy5kYXRhKTtcbiAgICAgICAgaWYgKHBhcnNlZC50eXBlID09PSAncHJlc2VudGF0aW9uOnN0YXRlJykge1xuICAgICAgICAgIGxhdGVzdFN0YXRlID0ge1xuICAgICAgICAgICAgaWQ6IHBhcnNlZC5pZCxcbiAgICAgICAgICAgIGZpbGVOYW1lOiBwYXJzZWQuZmlsZU5hbWUsXG4gICAgICAgICAgICBjdXJyZW50U2xpZGU6IHBhcnNlZC5jdXJyZW50U2xpZGUsXG4gICAgICAgICAgICBzbGlkZUNvdW50OiBwYXJzZWQuc2xpZGVDb3VudCxcbiAgICAgICAgICAgIGZpbGVUeXBlOiBwYXJzZWQuZmlsZVR5cGUsXG4gICAgICAgICAgICBzbGlkZVZpZGVvczogcGFyc2VkLnNsaWRlVmlkZW9zID8/IFtdLFxuICAgICAgICAgICAgdmlkZW9TdGF0ZTogcGFyc2VkLnZpZGVvU3RhdGUgPz8gJ2lkbGUnLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAocGFyc2VkLnR5cGUgPT09ICdwcmVzZW50YXRpb246c3RvcHBlZCcpIHtcbiAgICAgICAgICBsYXRlc3RTdGF0ZSA9ICdzdG9wcGVkJztcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIFNraXAgbWFsZm9ybWVkIGluZGl2aWR1YWwgbWVzc2FnZXNcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxhdGVzdFN0YXRlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIGNvbnN1bWVNZXNzYWdlcyBmYWlsZWQgb3Igb3V0ZXIgSlNPTiBwYXJzZSBmYWlsZWQg4oCUIHJldHVybiB1bmRlZmluZWRcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXh0U2xpZGUoKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjpuYXZpZ2F0ZScsIGFjdGlvbjogJ25leHQnIH0pLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXZTbGlkZSgpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOm5hdmlnYXRlJywgYWN0aW9uOiAncHJldicgfSksXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGxheVByZXNlbnRhdGlvblZpZGVvKHZpZGVvSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246dmlkZW86cGxheScsIHZpZGVvSW5kZXggfSksXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF1c2VQcmVzZW50YXRpb25WaWRlbygpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOnZpZGVvOnBhdXNlJyB9KSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdG9wUHJlc2VudGF0aW9uVmlkZW8oKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjp2aWRlbzpzdG9wJyB9KSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdG9wUHJlc2VudGF0aW9uKCk6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246c3RvcCcgfSksXG4gIH0pO1xufVxuIl19
|
|
208
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkbWluLXRvb2xraXQtdWkvVmlkZW9Db250cm9sL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsZUFBZSxHQUNoQixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNsQixVQUFVLEVBQUUseUNBQXlDLFNBQVMsRUFBRSxzQkFBc0I7SUFDdEYsaUJBQWlCLEVBQUUseUNBQXlDLFNBQVMsRUFBRSw0QkFBNEI7SUFDbkcsVUFBVSxFQUFFLHlDQUF5QyxTQUFTLEVBQUUsa0JBQWtCO0lBQ2xGLHNCQUFzQixFQUFFLHlDQUF5QyxTQUFTLEVBQUUsOEJBQThCO0lBQzFHLG1CQUFtQixFQUFFLCtDQUErQyxTQUFTLEVBQUUsZ0JBQWdCO0NBQ2hHLENBQUMsQ0FBQztBQW1CSCxNQUFNLENBQUMsS0FBSyxVQUFVLFlBQVk7SUFDaEMsT0FBTyxlQUFlLENBQW9CLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7QUFDL0YsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCO0lBQ3JDLE9BQU8sZUFBZSxDQUNwQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFDakUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQ3RCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFB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QUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgZ2V0QWN0aXZlVmlkZW9TdHJlYW1zLFxuICBzdWJzY3JpYmVUb1RvcGljLFxuICBwdWJsaXNoRGF0YSxcbiAgY29uc3VtZU1lc3NhZ2VzLFxufSBmcm9tICd+c3lzdGVtL0NvbW1zQXBpJztcbmltcG9ydCB7IGdldERvbWFpbiwgd3JhcFNpZ25lZEZldGNoIH0gZnJvbSAnLi4vZmV0Y2gtdXRpbHMnO1xuaW1wb3J0IHR5cGUgeyBSZXN1bHQgfSBmcm9tICcuLi9mZXRjaC11dGlscyc7XG5pbXBvcnQgdHlwZSB7IFByZXNlbnRhdGlvblN0YXRlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBVUkxTID0gKCkgPT4gKHtcbiAgU1RSRUFNX0tFWTogYGh0dHBzOi8vY29tbXMtZ2F0ZWtlZXBlci5kZWNlbnRyYWxhbmQuJHtnZXREb21haW4oKX0vc2NlbmUtc3RyZWFtLWFjY2Vzc2AsXG4gIEdFVF9EQ0xfQ0FTVF9JTkZPOiBgaHR0cHM6Ly9jb21tcy1nYXRla2VlcGVyLmRlY2VudHJhbGFuZC4ke2dldERvbWFpbigpfS9jYXN0L2dlbmVyYXRlLXN0cmVhbS1saW5rYCxcbiAgUFJFU0VOVEVSUzogYGh0dHBzOi8vY29tbXMtZ2F0ZWtlZXBlci5kZWNlbnRyYWxhbmQuJHtnZXREb21haW4oKX0vY2FzdC9wcmVzZW50ZXJzYCxcbiAgUFJFU0VOVEFUSU9OX0JPVF9UT0tFTjogYGh0dHBzOi8vY29tbXMtZ2F0ZWtlZXBlci5kZWNlbnRyYWxhbmQuJHtnZXREb21haW4oKX0vY2FzdC9wcmVzZW50YXRpb24tYm90LXRva2VuYCxcbiAgUFJFU0VOVEFUSU9OX1NFUlZFUjogYGh0dHBzOi8vY2FzdC1wcmVzZW50ZXItc2VydmljZS5kZWNlbnRyYWxhbmQuJHtnZXREb21haW4oKX0vcHJlc2VudGF0aW9uc2AsXG59KTtcblxudHlwZSBTdHJlYW1LZXlSZXNwb25zZSA9IHtcbiAgc3RyZWFtaW5nVXJsOiBzdHJpbmc7XG4gIHN0cmVhbWluZ0tleTogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IG51bWJlcjtcbiAgZW5kc0F0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBEY2xDYXN0UmVzcG9uc2UgPSB7XG4gIHN0cmVhbUxpbms6IHN0cmluZztcbiAgd2F0Y2hlckxpbms6IHN0cmluZztcbiAgc3RyZWFtaW5nS2V5OiBzdHJpbmc7XG4gIHBsYWNlSWQ6IHN0cmluZztcbiAgcGxhY2VOYW1lOiBzdHJpbmc7XG4gIGV4cGlyZXNBdDogbnVtYmVyO1xuICBleHBpcmVzSW5EYXlzOiBudW1iZXI7XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0U3RyZWFtS2V5KCk6IFByb21pc2U8UmVzdWx0PFN0cmVhbUtleVJlc3BvbnNlLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8U3RyZWFtS2V5UmVzcG9uc2U+KHsgdXJsOiBVUkxTKCkuU1RSRUFNX0tFWSB9LCB7IHRvQ2FtZWxDYXNlOiB0cnVlIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2VuZXJhdGVTdHJlYW1LZXkoKTogUHJvbWlzZTxSZXN1bHQ8U3RyZWFtS2V5UmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxTdHJlYW1LZXlSZXNwb25zZT4oXG4gICAgeyB1cmw6IFVSTFMoKS5TVFJFQU1fS0VZLCBpbml0OiB7IG1ldGhvZDogJ1BPU1QnLCBoZWFkZXJzOiB7fSB9IH0sXG4gICAgeyB0b0NhbWVsQ2FzZTogdHJ1ZSB9LFxuICApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmV2b2tlU3RyZWFtS2V5KCk6IFByb21pc2U8UmVzdWx0PFN0cmVhbUtleVJlc3BvbnNlLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8U3RyZWFtS2V5UmVzcG9uc2U+KHtcbiAgICB1cmw6IFVSTFMoKS5TVFJFQU1fS0VZLFxuICAgIGluaXQ6IHsgbWV0aG9kOiAnREVMRVRFJywgaGVhZGVyczoge30gfSxcbiAgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXNldFN0cmVhbUtleSgpOiBQcm9taXNlPFJlc3VsdDxTdHJlYW1LZXlSZXNwb25zZSwgc3RyaW5nPj4ge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPFN0cmVhbUtleVJlc3BvbnNlPihcbiAgICB7IHVybDogVVJMUygpLlNUUkVBTV9LRVksIGluaXQ6IHsgbWV0aG9kOiAnUFVUJywgaGVhZGVyczoge30gfSB9LFxuICAgIHsgdG9DYW1lbENhc2U6IHRydWUgfSxcbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgRGNsQ2FzdFRyYWNrc1Jlc3BvbnNlID0ge1xuICBwYXJ0aWNpcGFudHM6IHtcbiAgICBpZGVudGl0eTogc3RyaW5nO1xuICAgIHRyYWNrczoge1xuICAgICAgc2lkOiBzdHJpbmc7XG4gICAgICB0eXBlOiAnQVVESU8nIHwgJ1ZJREVPJztcbiAgICAgIHNvdXJjZTogJ01JQ1JPUEhPTkUnIHwgJ0NBTUVSQScgfCAnU0NSRUVOX1NIQVJFJztcbiAgICB9W107XG4gICAgbmFtZTogc3RyaW5nO1xuICB9W107XG59O1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RGNsQ2FzdEluZm8oKTogUHJvbWlzZTxSZXN1bHQ8RGNsQ2FzdFJlc3BvbnNlLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8RGNsQ2FzdFJlc3BvbnNlPih7IHVybDogVVJMUygpLkdFVF9EQ0xfQ0FTVF9JTkZPIH0sIHsgdG9DYW1lbENhc2U6IHRydWUgfSk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQcmVzZW50ZXJzKCk6IFByb21pc2U8UmVzdWx0PHN0cmluZ1tdLCBzdHJpbmc+PiB7XG4gIHJldHVybiB3cmFwU2lnbmVkRmV0Y2g8c3RyaW5nW10+KHsgdXJsOiBVUkxTKCkuUFJFU0VOVEVSUyB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21vdGVQcmVzZW50ZXIoYWRkcmVzczogc3RyaW5nKTogUHJvbWlzZTxSZXN1bHQ8dm9pZCwgc3RyaW5nPj4ge1xuICByZXR1cm4gd3JhcFNpZ25lZEZldGNoPHZvaWQ+KHtcbiAgICB1cmw6IGAke1VSTFMoKS5QUkVTRU5URVJTfS8ke2FkZHJlc3N9YCxcbiAgICBpbml0OiB7IG1ldGhvZDogJ1BVVCcsIGhlYWRlcnM6IHt9IH0sXG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlUHJlc2VudGVyUm9sZShwbGF5ZXJBZGRyZXNzOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgW2Vycm9yLCBwcmVzZW50ZXJzXSA9IGF3YWl0IGdldFByZXNlbnRlcnMoKTtcbiAgY29uc29sZS5sb2coXG4gICAgJ1tEY2xDYXN0XSBlbnN1cmVQcmVzZW50ZXJSb2xlIC0gZXJyb3I6JyxcbiAgICBlcnJvcixcbiAgICAncHJlc2VudGVyczonLFxuICAgIEpTT04uc3RyaW5naWZ5KHByZXNlbnRlcnMpLFxuICAgICdwbGF5ZXJBZGRyZXNzOicsXG4gICAgcGxheWVyQWRkcmVzcyxcbiAgKTtcbiAgaWYgKGVycm9yIHx8ICFwcmVzZW50ZXJzKSByZXR1cm47XG5cbiAgY29uc3QgYWRkciA9IHBsYXllckFkZHJlc3MudG9Mb3dlckNhc2UoKTtcbiAgY29uc3QgaXNQcmVzZW50ZXIgPSBBcnJheS5pc0FycmF5KHByZXNlbnRlcnMpID8gcHJlc2VudGVycy5pbmNsdWRlcyhhZGRyKSA6IGZhbHNlO1xuICBjb25zb2xlLmxvZygnW0RjbENhc3RdIGlzUHJlc2VudGVyOicsIGlzUHJlc2VudGVyLCAnYWRkcjonLCBhZGRyKTtcblxuICBpZiAoIWlzUHJlc2VudGVyKSB7XG4gICAgY29uc3QgW3Byb21vdGVFcnJvcl0gPSBhd2FpdCBwcm9tb3RlUHJlc2VudGVyKGFkZHIpO1xuICAgIGNvbnNvbGUubG9nKCdbRGNsQ2FzdF0gcHJvbW90ZVByZXNlbnRlciByZXN1bHQgLSBlcnJvcjonLCBwcm9tb3RlRXJyb3IpO1xuICB9XG59XG5cbnR5cGUgUHJlc2VudGF0aW9uQm90VG9rZW5SZXNwb25zZSA9IHtcbiAgdXJsOiBzdHJpbmc7XG4gIHRva2VuOiBzdHJpbmc7XG4gIHJvb21JZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFByZXNlbnRhdGlvbkJvdFRva2VuKFxuICBzdHJlYW1pbmdLZXk6IHN0cmluZyxcbik6IFByb21pc2U8UmVzdWx0PFByZXNlbnRhdGlvbkJvdFRva2VuUmVzcG9uc2UsIHN0cmluZz4+IHtcbiAgcmV0dXJuIHdyYXBTaWduZWRGZXRjaDxQcmVzZW50YXRpb25Cb3RUb2tlblJlc3BvbnNlPihcbiAgICB7XG4gICAgICB1cmw6IFVSTFMoKS5QUkVTRU5UQVRJT05fQk9UX1RPS0VOLFxuICAgICAgaW5pdDoge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgaGVhZGVyczogeyAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nIH0sXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHsgc3RyZWFtaW5nS2V5IH0pLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHsgdG9DYW1lbENhc2U6IHRydWUgfSxcbiAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0UHJlc2VudGF0aW9uKFxuICB1cmw6IHN0cmluZyxcbiAgbGl2ZWtpdFRva2VuOiBzdHJpbmcsXG4gIGxpdmVraXRVcmw6IHN0cmluZyxcbik6IFByb21pc2U8UmVzdWx0PHZvaWQsIHN0cmluZz4+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFVSTFMoKS5QUkVTRU5UQVRJT05fU0VSVkVSLCB7XG4gICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgIGhlYWRlcnM6IHsgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyB9LFxuICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoeyB1cmwsIGxpdmVraXRUb2tlbiwgbGl2ZWtpdFVybCB9KSxcbiAgICB9KTtcbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBjb25zdCBib2R5ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgICAgcmV0dXJuIFtib2R5IHx8ICdGYWlsZWQgdG8gc3RhcnQgcHJlc2VudGF0aW9uJywgbnVsbF07XG4gICAgfVxuICAgIHJldHVybiBbbnVsbCwgdW5kZWZpbmVkIGFzIHVua25vd24gYXMgdm9pZF07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIFsoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2UgPz8gJ0ZhaWxlZCB0byBzdGFydCBwcmVzZW50YXRpb24nLCBudWxsXTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBGbGF0dGVuZWRUcmFjayA9IHtcbiAgc2lkOiBzdHJpbmc7XG4gIGlkZW50aXR5OiBzdHJpbmc7XG4gIHNvdXJjZVR5cGU6IG51bWJlcjtcbiAgbmFtZTogc3RyaW5nO1xuICBjdXN0b21OYW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBQYXJ0aWNpcGFudCA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICBpZGVudGl0eTogc3RyaW5nO1xuICB0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW107XG59O1xuXG5leHBvcnQgY29uc3QgU09VUkNFX1RZUEVfTEFCRUxTOiBSZWNvcmQ8bnVtYmVyLCBzdHJpbmc+ID0ge1xuICAxOiAnQ2FtZXJhJyxcbiAgMjogJ1NjcmVlbicsXG4gIDM6ICdQcmVzZW50YXRpb24nLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldFNvdXJjZUxhYmVsID0gKHNvdXJjZVR5cGU6IG51bWJlcikgPT4gU09VUkNFX1RZUEVfTEFCRUxTW3NvdXJjZVR5cGVdID8/ICdVbmtub3duJztcblxuY29uc3QgUFJFU0VOVEFUSU9OX1RPUElDID0gJ3ByZXNlbnRhdGlvbic7XG5jb25zdCBQUkVTRU5UQVRJT05fU09VUkNFX1RZUEUgPSAzO1xuY29uc3QgUFJFU0VOVEFUSU9OX0JPVF9QUkVGSVggPSAncHJlc2VudGF0aW9uLWJvdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXNlbnRhdGlvbkJvdChuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIG5hbWUuc3RhcnRzV2l0aChQUkVTRU5UQVRJT05fQk9UX1BSRUZJWCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNQcmVzZW50YXRpb25UcmFjayh0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW10pOiBib29sZWFuIHtcbiAgcmV0dXJuIHRyYWNrcy5zb21lKFxuICAgIHRyYWNrID0+IHRyYWNrLnNvdXJjZVR5cGUgPT09IFBSRVNFTlRBVElPTl9TT1VSQ0VfVFlQRSB8fCBpc1ByZXNlbnRhdGlvbkJvdCh0cmFjay5uYW1lKSxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwVHJhY2tzQnlQYXJ0aWNpcGFudCh0cmFja3M6IEZsYXR0ZW5lZFRyYWNrW10pOiBQYXJ0aWNpcGFudFtdIHtcbiAgY29uc3QgbWFwID0gbmV3IE1hcDxzdHJpbmcsIFBhcnRpY2lwYW50PigpO1xuICBmb3IgKGNvbnN0IHRyYWNrIG9mIHRyYWNrcykge1xuICAgIGNvbnN0IGV4aXN0aW5nID0gbWFwLmdldCh0cmFjay5uYW1lKTtcbiAgICBpZiAoZXhpc3RpbmcpIHtcbiAgICAgIGV4aXN0aW5nLnRyYWNrcy5wdXNoKHRyYWNrKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWFwLnNldCh0cmFjay5uYW1lLCB7IG5hbWU6IHRyYWNrLm5hbWUsIGlkZW50aXR5OiB0cmFjay5pZGVudGl0eSwgdHJhY2tzOiBbdHJhY2tdIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gQXJyYXkuZnJvbShtYXAudmFsdWVzKCkpO1xufVxuXG5mdW5jdGlvbiBnZXREaXNwbGF5TmFtZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoaXNQcmVzZW50YXRpb25Cb3QobmFtZSkpIHJldHVybiAnUHJlc2VudGF0aW9uJztcbiAgcmV0dXJuIG5hbWU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBY3RpdmVTdHJlYW1zKCk6IFByb21pc2U8RmxhdHRlbmVkVHJhY2tbXSB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBydW50aW1lU3RyZWFtcyA9IGF3YWl0IGdldEFjdGl2ZVZpZGVvU3RyZWFtcyh7fSk7XG4gIGlmICghcnVudGltZVN0cmVhbXMpIHJldHVybjtcbiAgcmV0dXJuIHJ1bnRpbWVTdHJlYW1zLnN0cmVhbXMubWFwKFxuICAgIChzdHJlYW06IHsgdHJhY2tTaWQ6IHN0cmluZzsgaWRlbnRpdHk6IHN0cmluZzsgc291cmNlVHlwZTogbnVtYmVyOyBuYW1lPzogc3RyaW5nIH0pID0+IHtcbiAgICAgIGNvbnN0IHJhd05hbWUgPSBzdHJlYW0ubmFtZSA/PyBzdHJlYW0uaWRlbnRpdHk7XG4gICAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGdldERpc3BsYXlOYW1lKHJhd05hbWUpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc2lkOiBzdHJlYW0udHJhY2tTaWQsXG4gICAgICAgIGlkZW50aXR5OiBzdHJlYW0uaWRlbnRpdHksXG4gICAgICAgIHNvdXJjZVR5cGU6IHN0cmVhbS5zb3VyY2VUeXBlLFxuICAgICAgICBuYW1lOiByYXdOYW1lLFxuICAgICAgICBjdXN0b21OYW1lOiBgJHtkaXNwbGF5TmFtZX0gLSAke2dldFNvdXJjZUxhYmVsKHN0cmVhbS5zb3VyY2VUeXBlKX1gLFxuICAgICAgfTtcbiAgICB9LFxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlVG9QcmVzZW50YXRpb25Ub3BpYygpOiB2b2lkIHtcbiAgc3Vic2NyaWJlVG9Ub3BpYyh7IHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMgfSlcbiAgICAudGhlbigoKSA9PiB7XG4gICAgICAvLyBSZXF1ZXN0IGN1cnJlbnQgc3RhdGUgZnJvbSBib3Qgc28gbGF0ZSBqb2luZXJzIGdldCB0aGUgcHJlc2VudGF0aW9uIHN0YXRlXG4gICAgICByZXF1ZXN0UHJlc2VudGF0aW9uU3RhdGUoKTtcbiAgICB9KVxuICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICBjb25zb2xlLmxvZygnW0RjbENhc3RdIEZhaWxlZCB0byBzdWJzY3JpYmUgdG8gcHJlc2VudGF0aW9uIHRvcGljJyk7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXF1ZXN0UHJlc2VudGF0aW9uU3RhdGUoKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjpnZXQtc3RhdGUnIH0pLFxuICB9KTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbnN1bWVQcmVzZW50YXRpb25NZXNzYWdlcygpOiBQcm9taXNlPFxuICBQcmVzZW50YXRpb25TdGF0ZSB8ICdzdG9wcGVkJyB8IHVuZGVmaW5lZFxuPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgeyBtZXNzYWdlcyB9ID0gYXdhaXQgY29uc3VtZU1lc3NhZ2VzKHsgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyB9KTtcblxuICAgIGxldCBsYXRlc3RTdGF0ZTogUHJlc2VudGF0aW9uU3RhdGUgfCAnc3RvcHBlZCcgfCB1bmRlZmluZWQ7XG4gICAgZm9yIChjb25zdCBtc2cgb2YgbWVzc2FnZXMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UobXNnLmRhdGEpO1xuICAgICAgICBpZiAocGFyc2VkLnR5cGUgPT09ICdwcmVzZW50YXRpb246c3RhdGUnKSB7XG4gICAgICAgICAgbGF0ZXN0U3RhdGUgPSB7XG4gICAgICAgICAgICBpZDogcGFyc2VkLmlkLFxuICAgICAgICAgICAgZmlsZU5hbWU6IHBhcnNlZC5maWxlTmFtZSxcbiAgICAgICAgICAgIGN1cnJlbnRTbGlkZTogcGFyc2VkLmN1cnJlbnRTbGlkZSxcbiAgICAgICAgICAgIHNsaWRlQ291bnQ6IHBhcnNlZC5zbGlkZUNvdW50LFxuICAgICAgICAgICAgZmlsZVR5cGU6IHBhcnNlZC5maWxlVHlwZSxcbiAgICAgICAgICAgIHNsaWRlVmlkZW9zOiBwYXJzZWQuc2xpZGVWaWRlb3MgPz8gW10sXG4gICAgICAgICAgICB2aWRlb1N0YXRlOiBwYXJzZWQudmlkZW9TdGF0ZSA/PyAnaWRsZScsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChwYXJzZWQudHlwZSA9PT0gJ3ByZXNlbnRhdGlvbjpzdG9wcGVkJykge1xuICAgICAgICAgIGxhdGVzdFN0YXRlID0gJ3N0b3BwZWQnO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gU2tpcCBtYWxmb3JtZWQgaW5kaXZpZHVhbCBtZXNzYWdlc1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGF0ZXN0U3RhdGU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gY29uc3VtZU1lc3NhZ2VzIGZhaWxlZCBvciBvdXRlciBKU09OIHBhcnNlIGZhaWxlZCDigJQgcmV0dXJuIHVuZGVmaW5lZFxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5leHRTbGlkZSgpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOm5hdmlnYXRlJywgYWN0aW9uOiAnbmV4dCcgfSksXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJldlNsaWRlKCk6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246bmF2aWdhdGUnLCBhY3Rpb246ICdwcmV2JyB9KSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwbGF5UHJlc2VudGF0aW9uVmlkZW8odmlkZW9JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjp2aWRlbzpwbGF5JywgdmlkZW9JbmRleCB9KSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXVzZVByZXNlbnRhdGlvblZpZGVvKCk6IHZvaWQge1xuICBwdWJsaXNoRGF0YSh7XG4gICAgdG9waWM6IFBSRVNFTlRBVElPTl9UT1BJQyxcbiAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7IHR5cGU6ICdwcmVzZW50YXRpb246dmlkZW86cGF1c2UnIH0pLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0b3BQcmVzZW50YXRpb25WaWRlbygpOiB2b2lkIHtcbiAgcHVibGlzaERhdGEoe1xuICAgIHRvcGljOiBQUkVTRU5UQVRJT05fVE9QSUMsXG4gICAgZGF0YTogSlNPTi5zdHJpbmdpZnkoeyB0eXBlOiAncHJlc2VudGF0aW9uOnZpZGVvOnN0b3AnIH0pLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0b3BQcmVzZW50YXRpb24oKTogdm9pZCB7XG4gIHB1Ymxpc2hEYXRhKHtcbiAgICB0b3BpYzogUFJFU0VOVEFUSU9OX1RPUElDLFxuICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdHlwZTogJ3ByZXNlbnRhdGlvbjpzdG9wJyB9KSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { getComponents, LIVEKIT_STREAM_SRC, VIDEO_URL_TYPE
|
|
1
|
+
import { getComponents, LIVEKIT_STREAM_SRC, VIDEO_URL_TYPE } from '../../definitions';
|
|
2
2
|
import { getExplorerComponents } from '../../components';
|
|
3
|
-
import {
|
|
3
|
+
import { state } from '../index';
|
|
4
|
+
import { getAdminMessageBus } from '../admin-message-bus';
|
|
4
5
|
import { DEFAULT_VOLUME } from '.';
|
|
5
6
|
export function getAdminToolkitVideoControl(engine) {
|
|
6
7
|
const { AdminTools } = getComponents(engine);
|
|
@@ -31,50 +32,37 @@ export function createVideoPlayerControls(entity, engine) {
|
|
|
31
32
|
checkVideoPlayerSound(entity, engine);
|
|
32
33
|
return {
|
|
33
34
|
play: () => {
|
|
34
|
-
|
|
35
|
-
video.playing = true;
|
|
36
|
-
video.position = undefined;
|
|
35
|
+
getAdminMessageBus().emitSetVideo(entity, { playing: true, position: undefined });
|
|
37
36
|
},
|
|
38
37
|
pause: () => {
|
|
39
|
-
|
|
40
|
-
video.playing = false;
|
|
41
|
-
video.position = undefined;
|
|
38
|
+
getAdminMessageBus().emitSetVideo(entity, { playing: false, position: undefined });
|
|
42
39
|
},
|
|
43
40
|
restart: () => {
|
|
44
|
-
|
|
45
|
-
video.playing = false;
|
|
46
|
-
video.position = 0;
|
|
47
|
-
nextTickFunctions.push(() => {
|
|
48
|
-
const video = VideoPlayer.getMutable(entity);
|
|
49
|
-
video.position = undefined;
|
|
50
|
-
video.playing = true;
|
|
51
|
-
});
|
|
41
|
+
getAdminMessageBus().emitSetVideo(entity, { playing: true, position: 0 });
|
|
52
42
|
},
|
|
53
43
|
setVolume: volumeOrStep => {
|
|
54
44
|
if (videoControl?.disableVideoPlayersSound) {
|
|
55
45
|
return;
|
|
56
46
|
}
|
|
57
|
-
const video = VideoPlayer.
|
|
58
|
-
video
|
|
47
|
+
const video = VideoPlayer.getOrNull(entity);
|
|
48
|
+
if (!video)
|
|
49
|
+
return;
|
|
50
|
+
let newVolume;
|
|
59
51
|
if (volumeOrStep === 0) {
|
|
60
|
-
|
|
52
|
+
newVolume = 0;
|
|
61
53
|
}
|
|
62
54
|
else {
|
|
63
55
|
const steps = Math.round((video.volume ?? DEFAULT_VOLUME) * 10);
|
|
64
56
|
const newSteps = Math.max(0, Math.min(10, steps + volumeOrStep * 10));
|
|
65
|
-
|
|
57
|
+
newVolume = newSteps / 10;
|
|
66
58
|
}
|
|
59
|
+
getAdminMessageBus().emitSetVideo(entity, { volume: newVolume, position: undefined });
|
|
67
60
|
},
|
|
68
61
|
setSource: url => {
|
|
69
|
-
|
|
70
|
-
nextTickFunctions.push(() => {
|
|
71
|
-
VideoPlayer.getMutable(entity).playing = true;
|
|
72
|
-
});
|
|
62
|
+
getAdminMessageBus().emitSetVideo(entity, { src: url, playing: true });
|
|
73
63
|
},
|
|
74
64
|
setLoop(loop) {
|
|
75
|
-
|
|
76
|
-
video.loop = loop;
|
|
77
|
-
video.position = undefined;
|
|
65
|
+
getAdminMessageBus().emitSetVideo(entity, { loop, position: undefined });
|
|
78
66
|
},
|
|
79
67
|
};
|
|
80
68
|
}
|
|
@@ -99,4 +87,4 @@ export function isLiveStream(url) {
|
|
|
99
87
|
export function isVideoUrl(url) {
|
|
100
88
|
return url.startsWith(VIDEO_URL_TYPE);
|
|
101
89
|
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvdXRpbHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDTCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGNBQWMsR0FFZixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEdBQUcsQ0FBQztBQVluQyxNQUFNLFVBQVUsMkJBQTJCLENBQUMsTUFBZTtJQUN6RCxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDNUUsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMxRixDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsTUFBZTtJQUVmLE1BQU0sd0JBQXdCLEdBQUcsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFckUsSUFDRSxDQUFDLHdCQUF3QjtRQUN6QixDQUFDLHdCQUF3QixDQUFDLFlBQVk7UUFDdEMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBRWxELE9BQU8sRUFBRSxDQUFDO0lBRVosT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQyxDQUFD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Q0FBQyxJQUFJLENBQUM7QUFDcEQsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsR0FBVztJQUNuQyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsS0FBSyxVQUFVLENBQUM7QUFDaEcsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsR0FBVztJQUN0QyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLGNBQWMsS0FBSyxNQUFNLENBQUM7QUFDNUYsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsR0FBVztJQUNwQyxPQUFPLEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGVlcFJlYWRvbmx5T2JqZWN0LCBFbnRpdHksIElFbmdpbmUsIFBCVmlkZW9QbGF5ZXIgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQge1xuICBnZXRDb21wb25lbnRzLFxuICBMSVZFS0lUX1NUUkVBTV9TUkMsXG4gIFZJREVPX1VSTF9UWVBFLFxuICB0eXBlIEFkbWluVG9vbHMsXG59IGZyb20gJy4uLy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IGdldEV4cGxvcmVyQ29tcG9uZW50cyB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xuaW1wb3J0IHsgbmV4dFRpY2tGdW5jdGlvbnMsIHN0YXRlIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgREVGQVVMVF9WT0xVTUUgfSBmcm9tICcuJztcblxuLy8gVHlwZXNcbmludGVyZmFjZSBWaWRlb1BsYXllckNvbnRyb2xzIHtcbiAgcGxheSgpOiB2b2lkO1xuICBwYXVzZSgpOiB2b2lkO1xuICByZXN0YXJ0KCk6IHZvaWQ7XG4gIHNldFZvbHVtZSh2b2x1bWU6IG51bWJlcik6IHZvaWQ7XG4gIHNldFNvdXJjZSh1cmw6IHN0cmluZyk6IHZvaWQ7XG4gIHNldExvb3AobG9vcDogYm9vbGVhbik6IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRBZG1pblRvb2xraXRWaWRlb0NvbnRyb2woZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IHsgQWRtaW5Ub29scyB9ID0gZ2V0Q29tcG9uZW50cyhlbmdpbmUpO1xuICBjb25zdCBhZG1pblRvb2xraXRFbnRpdGllcyA9IEFycmF5LmZyb20oZW5naW5lLmdldEVudGl0aWVzV2l0aChBZG1pblRvb2xzKSk7XG4gIHJldHVybiBhZG1pblRvb2xraXRFbnRpdGllcy5sZW5ndGggPiAwID8gYWRtaW5Ub29sa2l0RW50aXRpZXNbMF1bMV0udmlkZW9Db250cm9sIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFZpZGVvUGxheWVycyhcbiAgZW5naW5lOiBJRW5naW5lLFxuKTogTm9uTnVsbGFibGU8QWRtaW5Ub29sc1sndmlkZW9Db250cm9sJ11bJ3ZpZGVvUGxheWVycyddPiB7XG4gIGNvbnN0IGFkbWluVG9vbGtpdFZpZGVvQ29udHJvbCA9IGdldEFkbWluVG9vbGtpdFZpZGVvQ29udHJvbChlbmdpbmUpO1xuXG4gIGlmIChcbiAgICAhYWRtaW5Ub29sa2l0VmlkZW9Db250cm9sIHx8XG4gICAgIWFkbWluVG9vbGtpdFZpZGVvQ29udHJvbC52aWRlb1BsYXllcnMgfHxcbiAgICBhZG1pblRvb2xraXRWaWRlb0NvbnRyb2wudmlkZW9QbGF5ZXJzLmxlbmd0aCA9PT0gMFxuICApXG4gICAgcmV0dXJuIFtdO1xuXG4gIHJldHVybiBBcnJheS5mcm9tKGFkbWluVG9vbGtpdFZpZGVvQ29udHJvbC52aWRlb1BsYXllcnMpO1xufVxuXG5mdW5jdGlvbiBjaGVja1ZpZGVvUGxheWVyU291bmQoZW50aXR5OiBFbnRpdHksIGVuZ2luZTogSUVuZ2luZSkge1xuICBjb25zdCB2aWRlb0NvbnRyb2wgPSBnZXRBZG1pblRvb2xraXRWaWRlb0NvbnRyb2woZW5naW5lKTtcbiAgY29uc3QgeyBWaWRlb1BsYXllciB9ID0gZ2V0RXhwbG9yZXJDb21wb25lbnRzKGVuZ2luZSk7XG5cbiAgaWYgKHZpZGVvQ29udHJvbD8uZGlzYWJsZVZpZGVvUGxheWVyc1NvdW5kKSB7XG4gICAgY29uc3QgdmlkZW8gPSBWaWRlb1BsYXllci5nZXQoZW50aXR5KTtcbiAgICBpZiAodmlkZW8udm9sdW1lKSB7XG4gICAgICBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSkudm9sdW1lID0gMDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVZpZGVvUGxheWVyQ29udHJvbHMoZW50aXR5OiBFbnRpdHksIGVuZ2luZTogSUVuZ2luZSk6IFZpZGVvUGxheWVyQ29udHJvbHMge1xuICBjb25zdCB2aWRlb0NvbnRyb2wgPSBnZXRBZG1pblRvb2xraXRWaWRlb0NvbnRyb2woZW5naW5lKTtcbiAgY29uc3QgeyBWaWRlb1BsYXllciB9ID0gZ2V0RXhwbG9yZXJDb21wb25lbnRzKGVuZ2luZSk7XG5cbiAgY2hlY2tWaWRlb1BsYXllclNvdW5kKGVudGl0eSwgZW5naW5lKTtcblxuICByZXR1cm4ge1xuICAgIHBsYXk6ICgpID0+IHtcbiAgICAgIGNvbnN0IHZpZGVvID0gVmlkZW9QbGF5ZXIuZ2V0TXV0YWJsZShlbnRpdHkpO1xuICAgICAgdmlkZW8ucGxheWluZyA9IHRydWU7XG4gICAgICB2aWRlby5wb3NpdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIHBhdXNlOiAoKSA9PiB7XG4gICAgICBjb25zdCB2aWRlbyA9IFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KTtcbiAgICAgIHZpZGVvLnBsYXlpbmcgPSBmYWxzZTtcbiAgICAgIHZpZGVvLnBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgcmVzdGFydDogKCkgPT4ge1xuICAgICAgY29uc3QgdmlkZW8gPSBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSk7XG4gICAgICB2aWRlby5wbGF5aW5nID0gZmFsc2U7XG4gICAgICB2aWRlby5wb3NpdGlvbiA9IDA7XG4gICAgICBuZXh0VGlja0Z1bmN0aW9ucy5wdXNoKCgpID0+IHtcbiAgICAgICAgY29uc3QgdmlkZW8gPSBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSk7XG4gICAgICAgIHZpZGVvLnBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICB2aWRlby5wbGF5aW5nID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgc2V0Vm9sdW1lOiB2b2x1bWVPclN0ZXAgPT4ge1xuICAgICAgLy8gRG9uJ3QgYWxsb3cgdm9sdW1lIGNoYW5nZXMgaWYgc291bmQgaXMgZGlzYWJsZWRcbiAgICAgIGlmICh2aWRlb0NvbnRyb2w/LmRpc2FibGVWaWRlb1BsYXllcnNTb3VuZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCB2aWRlbyA9IFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KTtcbiAgICAgIHZpZGVvLnBvc2l0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgaWYgKHZvbHVtZU9yU3RlcCA9PT0gMCkge1xuICAgICAgICB2aWRlby52b2x1bWUgPSAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc3RlcHMgPSBNYXRoLnJvdW5kKCh2aWRlby52b2x1bWUgPz8gREVGQVVMVF9WT0xVTUUpICogMTApO1xuICAgICAgICBjb25zdCBuZXdTdGVwcyA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEwLCBzdGVwcyArICh2b2x1bWVPclN0ZXAgYXMgbnVtYmVyKSAqIDEwKSk7XG4gICAgICAgIHZpZGVvLnZvbHVtZSA9IG5ld1N0ZXBzIC8gMTA7XG4gICAgICB9XG4gICAgfSxcbiAgICBzZXRTb3VyY2U6IHVybCA9PiB7XG4gICAgICBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSkuc3JjID0gdXJsO1xuICAgICAgbmV4dFRpY2tGdW5jdGlvbnMucHVzaCgoKSA9PiB7XG4gICAgICAgIFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KS5wbGF5aW5nID0gdHJ1ZTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgc2V0TG9vcChsb29wKSB7XG4gICAgICBjb25zdCB2aWRlbyA9IFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KTtcbiAgICAgIHZpZGVvLmxvb3AgPSBsb29wO1xuICAgICAgdmlkZW8ucG9zaXRpb24gPSB1bmRlZmluZWQ7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbGVjdGVkVmlkZW9QbGF5ZXIoXG4gIGVuZ2luZTogSUVuZ2luZSxcbik6IFtFbnRpdHksIERlZXBSZWFkb25seU9iamVjdDxQQlZpZGVvUGxheWVyPl0gfCBudWxsIHtcbiAgY29uc3QgeyBWaWRlb1BsYXllciB9ID0gZ2V0RXhwbG9yZXJDb21wb25lbnRzKGVuZ2luZSk7XG4gIGNvbnN0IHZpZGVvUGxheWVycyA9IGdldFZpZGVvUGxheWVycyhlbmdpbmUpO1xuXG4gIGlmICh2aWRlb1BsYXllcnMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBzZWxlY3RlZFZpZGVvUGxheWVyID0gdmlkZW9QbGF5ZXJzW3N0YXRlLnZpZGVvQ29udHJvbC5zZWxlY3RlZFZpZGVvUGxheWVyID8/IDBdO1xuICBpZiAoIXNlbGVjdGVkVmlkZW9QbGF5ZXIpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGVudGl0eSA9IHNlbGVjdGVkVmlkZW9QbGF5ZXIuZW50aXR5IGFzIEVudGl0eTtcbiAgY29uc3QgdmlkZW9QbGF5ZXIgPSBWaWRlb1BsYXllci5nZXRPck51bGwoZW50aXR5KTtcbiAgcmV0dXJuIHZpZGVvUGxheWVyID8gW2VudGl0eSwgdmlkZW9QbGF5ZXJdIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGNsQ2FzdCh1cmw6IHN0cmluZykge1xuICByZXR1cm4gdXJsLnN0YXJ0c1dpdGgoJ2xpdmVraXQtdmlkZW86Ly8nKSAmJiBzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRTdHJlYW0gPT09ICdkY2wtY2FzdCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xpdmVTdHJlYW0odXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHVybC5zdGFydHNXaXRoKExJVkVLSVRfU1RSRUFNX1NSQykgJiYgc3RhdGUudmlkZW9Db250cm9sLnNlbGVjdGVkU3RyZWFtID09PSAnbGl2ZSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZpZGVvVXJsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiB1cmwuc3RhcnRzV2l0aChWSURFT19VUkxfVFlQRSk7XG59XG4iXX0=
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9WaWRlb0NvbnRyb2wvdXRpbHMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sR0FBRyxDQUFDO0FBV25DLE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxNQUFlO0lBQ3pELE1BQU0sRUFBRSxVQUFVLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0MsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUM1RSxPQUFPLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzFGLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUM3QixNQUFlO0lBRWYsTUFBTSx3QkFBd0IsR0FBRywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVyRSxJQUNFLENBQUMsd0JBQXdCO1FBQ3pCLENBQUMsd0JBQXdCLENBQUMsWUFBWTtRQUN0Qyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7UUFFbEQsT0FBTyxFQUFFLENBQUM7SUFFWixPQUFPLEtBQUssQ0FBQyxJQUFJ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QUM1RixDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxHQUFXO0lBQ3BDLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBEZWVwUmVhZG9ubHlPYmplY3QsIEVudGl0eSwgSUVuZ2luZSwgUEJWaWRlb1BsYXllciB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB0eXBlIHsgQWRtaW5Ub29scyB9IGZyb20gJy4uLy4uL2RlZmluaXRpb25zJztcbmltcG9ydCB7IGdldENvbXBvbmVudHMsIExJVkVLSVRfU1RSRUFNX1NSQywgVklERU9fVVJMX1RZUEUgfSBmcm9tICcuLi8uLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBnZXRFeHBsb3JlckNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcbmltcG9ydCB7IHN0YXRlIH0gZnJvbSAnLi4vaW5kZXgnO1xuaW1wb3J0IHsgZ2V0QWRtaW5NZXNzYWdlQnVzIH0gZnJvbSAnLi4vYWRtaW4tbWVzc2FnZS1idXMnO1xuaW1wb3J0IHsgREVGQVVMVF9WT0xVTUUgfSBmcm9tICcuJztcblxuaW50ZXJmYWNlIFZpZGVvUGxheWVyQ29udHJvbHMge1xuICBwbGF5KCk6IHZvaWQ7XG4gIHBhdXNlKCk6IHZvaWQ7XG4gIHJlc3RhcnQoKTogdm9pZDtcbiAgc2V0Vm9sdW1lKHZvbHVtZTogbnVtYmVyKTogdm9pZDtcbiAgc2V0U291cmNlKHVybDogc3RyaW5nKTogdm9pZDtcbiAgc2V0TG9vcChsb29wOiBib29sZWFuKTogdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFkbWluVG9vbGtpdFZpZGVvQ29udHJvbChlbmdpbmU6IElFbmdpbmUpIHtcbiAgY29uc3QgeyBBZG1pblRvb2xzIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG4gIGNvbnN0IGFkbWluVG9vbGtpdEVudGl0aWVzID0gQXJyYXkuZnJvbShlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKEFkbWluVG9vbHMpKTtcbiAgcmV0dXJuIGFkbWluVG9vbGtpdEVudGl0aWVzLmxlbmd0aCA+IDAgPyBhZG1pblRvb2xraXRFbnRpdGllc1swXVsxXS52aWRlb0NvbnRyb2wgOiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmlkZW9QbGF5ZXJzKFxuICBlbmdpbmU6IElFbmdpbmUsXG4pOiBOb25OdWxsYWJsZTxBZG1pblRvb2xzWyd2aWRlb0NvbnRyb2wnXVsndmlkZW9QbGF5ZXJzJ10+IHtcbiAgY29uc3QgYWRtaW5Ub29sa2l0VmlkZW9Db250cm9sID0gZ2V0QWRtaW5Ub29sa2l0VmlkZW9Db250cm9sKGVuZ2luZSk7XG5cbiAgaWYgKFxuICAgICFhZG1pblRvb2xraXRWaWRlb0NvbnRyb2wgfHxcbiAgICAhYWRtaW5Ub29sa2l0VmlkZW9Db250cm9sLnZpZGVvUGxheWVycyB8fFxuICAgIGFkbWluVG9vbGtpdFZpZGVvQ29udHJvbC52aWRlb1BsYXllcnMubGVuZ3RoID09PSAwXG4gIClcbiAgICByZXR1cm4gW107XG5cbiAgcmV0dXJuIEFycmF5LmZyb20oYWRtaW5Ub29sa2l0VmlkZW9Db250cm9sLnZpZGVvUGxheWVycyk7XG59XG5cbmZ1bmN0aW9uIGNoZWNrVmlkZW9QbGF5ZXJTb3VuZChlbnRpdHk6IEVudGl0eSwgZW5naW5lOiBJRW5naW5lKSB7XG4gIGNvbnN0IHZpZGVvQ29udHJvbCA9IGdldEFkbWluVG9vbGtpdFZpZGVvQ29udHJvbChlbmdpbmUpO1xuICBjb25zdCB7IFZpZGVvUGxheWVyIH0gPSBnZXRFeHBsb3JlckNvbXBvbmVudHMoZW5naW5lKTtcblxuICBpZiAodmlkZW9Db250cm9sPy5kaXNhYmxlVmlkZW9QbGF5ZXJzU291bmQpIHtcbiAgICBjb25zdCB2aWRlbyA9IFZpZGVvUGxheWVyLmdldChlbnRpdHkpO1xuICAgIGlmICh2aWRlby52b2x1bWUpIHtcbiAgICAgIFZpZGVvUGxheWVyLmdldE11dGFibGUoZW50aXR5KS52b2x1bWUgPSAwO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVmlkZW9QbGF5ZXJDb250cm9scyhlbnRpdHk6IEVudGl0eSwgZW5naW5lOiBJRW5naW5lKTogVmlkZW9QbGF5ZXJDb250cm9scyB7XG4gIGNvbnN0IHZpZGVvQ29udHJvbCA9IGdldEFkbWluVG9vbGtpdFZpZGVvQ29udHJvbChlbmdpbmUpO1xuICBjb25zdCB7IFZpZGVvUGxheWVyIH0gPSBnZXRFeHBsb3JlckNvbXBvbmVudHMoZW5naW5lKTtcblxuICBjaGVja1ZpZGVvUGxheWVyU291bmQoZW50aXR5LCBlbmdpbmUpO1xuXG4gIHJldHVybiB7XG4gICAgcGxheTogKCkgPT4ge1xuICAgICAgZ2V0QWRtaW5NZXNzYWdlQnVzKCkuZW1pdFNldFZpZGVvKGVudGl0eSwgeyBwbGF5aW5nOiB0cnVlLCBwb3NpdGlvbjogdW5kZWZpbmVkIH0pO1xuICAgIH0sXG4gICAgcGF1c2U6ICgpID0+IHtcbiAgICAgIGdldEFkbWluTWVzc2FnZUJ1cygpLmVtaXRTZXRWaWRlbyhlbnRpdHksIHsgcGxheWluZzogZmFsc2UsIHBvc2l0aW9uOiB1bmRlZmluZWQgfSk7XG4gICAgfSxcbiAgICByZXN0YXJ0OiAoKSA9PiB7XG4gICAgICBnZXRBZG1pbk1lc3NhZ2VCdXMoKS5lbWl0U2V0VmlkZW8oZW50aXR5LCB7IHBsYXlpbmc6IHRydWUsIHBvc2l0aW9uOiAwIH0pO1xuICAgIH0sXG4gICAgc2V0Vm9sdW1lOiB2b2x1bWVPclN0ZXAgPT4ge1xuICAgICAgaWYgKHZpZGVvQ29udHJvbD8uZGlzYWJsZVZpZGVvUGxheWVyc1NvdW5kKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHZpZGVvID0gVmlkZW9QbGF5ZXIuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICBpZiAoIXZpZGVvKSByZXR1cm47XG4gICAgICBsZXQgbmV3Vm9sdW1lOiBudW1iZXI7XG4gICAgICBpZiAodm9sdW1lT3JTdGVwID09PSAwKSB7XG4gICAgICAgIG5ld1ZvbHVtZSA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBzdGVwcyA9IE1hdGgucm91bmQoKHZpZGVvLnZvbHVtZSA/PyBERUZBVUxUX1ZPTFVNRSkgKiAxMCk7XG4gICAgICAgIGNvbnN0IG5ld1N0ZXBzID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMTAsIHN0ZXBzICsgKHZvbHVtZU9yU3RlcCBhcyBudW1iZXIpICogMTApKTtcbiAgICAgICAgbmV3Vm9sdW1lID0gbmV3U3RlcHMgLyAxMDtcbiAgICAgIH1cbiAgICAgIGdldEFkbWluTWVzc2FnZUJ1cygpLmVtaXRTZXRWaWRlbyhlbnRpdHksIHsgdm9sdW1lOiBuZXdWb2x1bWUsIHBvc2l0aW9uOiB1bmRlZmluZWQgfSk7XG4gICAgfSxcbiAgICBzZXRTb3VyY2U6IHVybCA9PiB7XG4gICAgICBnZXRBZG1pbk1lc3NhZ2VCdXMoKS5lbWl0U2V0VmlkZW8oZW50aXR5LCB7IHNyYzogdXJsLCBwbGF5aW5nOiB0cnVlIH0pO1xuICAgIH0sXG4gICAgc2V0TG9vcChsb29wKSB7XG4gICAgICBnZXRBZG1pbk1lc3NhZ2VCdXMoKS5lbWl0U2V0VmlkZW8oZW50aXR5LCB7IGxvb3AsIHBvc2l0aW9uOiB1bmRlZmluZWQgfSk7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVzZVNlbGVjdGVkVmlkZW9QbGF5ZXIoXG4gIGVuZ2luZTogSUVuZ2luZSxcbik6IFtFbnRpdHksIERlZXBSZWFkb25seU9iamVjdDxQQlZpZGVvUGxheWVyPl0gfCBudWxsIHtcbiAgY29uc3QgeyBWaWRlb1BsYXllciB9ID0gZ2V0RXhwbG9yZXJDb21wb25lbnRzKGVuZ2luZSk7XG4gIGNvbnN0IHZpZGVvUGxheWVycyA9IGdldFZpZGVvUGxheWVycyhlbmdpbmUpO1xuXG4gIGlmICh2aWRlb1BsYXllcnMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcblxuICBjb25zdCBzZWxlY3RlZFZpZGVvUGxheWVyID0gdmlkZW9QbGF5ZXJzW3N0YXRlLnZpZGVvQ29udHJvbC5zZWxlY3RlZFZpZGVvUGxheWVyID8/IDBdO1xuICBpZiAoIXNlbGVjdGVkVmlkZW9QbGF5ZXIpIHJldHVybiBudWxsO1xuXG4gIGNvbnN0IGVudGl0eSA9IHNlbGVjdGVkVmlkZW9QbGF5ZXIuZW50aXR5IGFzIEVudGl0eTtcbiAgY29uc3QgdmlkZW9QbGF5ZXIgPSBWaWRlb1BsYXllci5nZXRPck51bGwoZW50aXR5KTtcbiAgcmV0dXJuIHZpZGVvUGxheWVyID8gW2VudGl0eSwgdmlkZW9QbGF5ZXJdIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGNsQ2FzdCh1cmw6IHN0cmluZykge1xuICByZXR1cm4gdXJsLnN0YXJ0c1dpdGgoJ2xpdmVraXQtdmlkZW86Ly8nKSAmJiBzdGF0ZS52aWRlb0NvbnRyb2wuc2VsZWN0ZWRTdHJlYW0gPT09ICdkY2wtY2FzdCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xpdmVTdHJlYW0odXJsOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHVybC5zdGFydHNXaXRoKExJVkVLSVRfU1RSRUFNX1NSQykgJiYgc3RhdGUudmlkZW9Db250cm9sLnNlbGVjdGVkU3RyZWFtID09PSAnbGl2ZSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ZpZGVvVXJsKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiB1cmwuc3RhcnRzV2l0aChWSURFT19VUkxfVFlQRSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Entity, IEngine, PBVideoPlayer } from '@dcl/ecs';
|
|
2
|
+
import type { IPlayersHelper } from '../types';
|
|
3
|
+
import type { SceneAdmin } from './ModerationControl';
|
|
4
|
+
export interface AdminMessageBusInstance {
|
|
5
|
+
emitSetVideo(entity: Entity, props: Partial<PBVideoPlayer>): void;
|
|
6
|
+
emitSetAnnouncement(text: string, author?: string, id?: string): void;
|
|
7
|
+
emitClearAnnouncement(): void;
|
|
8
|
+
emitSyncAdmins(): void;
|
|
9
|
+
updateAdminList(admins: SceneAdmin[]): void;
|
|
10
|
+
}
|
|
11
|
+
export declare function getAdminMessageBus(): AdminMessageBusInstance;
|
|
12
|
+
export declare function initAdminMessageBus(engine: IEngine, admins: SceneAdmin[], adminToolkitUiEntity: Entity, playersHelper?: IPlayersHelper, onRefetchAdmins?: () => void): AdminMessageBusInstance;
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { MessageBus } from '@dcl/sdk/message-bus';
|
|
2
|
+
import { send as commsSend } from '~system/CommunicationsController';
|
|
3
|
+
import { getExplorerComponents } from '../components';
|
|
4
|
+
import { getComponents } from '../definitions';
|
|
5
|
+
import { isPreview } from './fetch-utils';
|
|
6
|
+
import { getVideoPlayers } from './VideoControl/utils';
|
|
7
|
+
const MSG = {
|
|
8
|
+
SET_VIDEO: 'admin:set-video',
|
|
9
|
+
SET_ANNOUNCEMENT: 'admin:set-announcement',
|
|
10
|
+
CLEAR_ANNOUNCEMENT: 'admin:clear-announcement',
|
|
11
|
+
REQUEST_STATE: 'admin:request-state',
|
|
12
|
+
SYNC_STATE: 'admin:sync-state',
|
|
13
|
+
SYNC_ADMINS: 'admin:sync-admins',
|
|
14
|
+
};
|
|
15
|
+
let instance = null;
|
|
16
|
+
export function getAdminMessageBus() {
|
|
17
|
+
if (!instance)
|
|
18
|
+
throw new Error('AdminMessageBus not initialized');
|
|
19
|
+
return instance;
|
|
20
|
+
}
|
|
21
|
+
export function initAdminMessageBus(engine, admins, adminToolkitUiEntity, playersHelper, onRefetchAdmins) {
|
|
22
|
+
let sceneAdmins = admins;
|
|
23
|
+
const { VideoPlayer, SyncComponents } = getExplorerComponents(engine);
|
|
24
|
+
const { TextAnnouncements, VideoScreen } = getComponents(engine);
|
|
25
|
+
const authoritativeVideo = new Map();
|
|
26
|
+
let authoritativeAnnouncement = null;
|
|
27
|
+
let adminHasActed = false;
|
|
28
|
+
function isAdminWallet(sender) {
|
|
29
|
+
if (isPreview())
|
|
30
|
+
return true;
|
|
31
|
+
if (sender === 'self')
|
|
32
|
+
return true;
|
|
33
|
+
return sceneAdmins.some(admin => admin.address.toLowerCase() === sender.toLowerCase());
|
|
34
|
+
}
|
|
35
|
+
const handlers = new Map();
|
|
36
|
+
const receiver = new MessageBus();
|
|
37
|
+
function onMessage(type, handler) {
|
|
38
|
+
handlers.set(type, handler);
|
|
39
|
+
receiver.on(type, handler);
|
|
40
|
+
}
|
|
41
|
+
function onAdminMessage(type, handler) {
|
|
42
|
+
onMessage(type, (payload, sender) => {
|
|
43
|
+
if (!isAdminWallet(sender))
|
|
44
|
+
return;
|
|
45
|
+
handler(payload, sender);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function emitMessage(type, payload) {
|
|
49
|
+
const handler = handlers.get(type);
|
|
50
|
+
if (handler)
|
|
51
|
+
handler(payload, 'self');
|
|
52
|
+
const raw = JSON.stringify({ message: type, payload });
|
|
53
|
+
commsSend({ message: raw }).catch(() => { });
|
|
54
|
+
}
|
|
55
|
+
for (const vp of getVideoPlayers(engine)) {
|
|
56
|
+
const entity = vp.entity;
|
|
57
|
+
const sync = SyncComponents.getOrNull(entity);
|
|
58
|
+
if (sync) {
|
|
59
|
+
const withoutVideoPlayer = sync.componentIds.filter((id) => id !== VideoPlayer.componentId);
|
|
60
|
+
SyncComponents.createOrReplace(entity, { componentIds: withoutVideoPlayer });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
authoritativeAnnouncement = { text: '', author: '', id: '' };
|
|
64
|
+
for (const vp of getVideoPlayers(engine)) {
|
|
65
|
+
const entity = vp.entity;
|
|
66
|
+
const screen = VideoScreen.getOrNull(entity);
|
|
67
|
+
const video = VideoPlayer.getOrNull(entity);
|
|
68
|
+
if (!video)
|
|
69
|
+
continue;
|
|
70
|
+
const src = screen?.defaultURL || video.src;
|
|
71
|
+
authoritativeVideo.set(entity, {
|
|
72
|
+
src,
|
|
73
|
+
playing: video.playing,
|
|
74
|
+
volume: video.volume,
|
|
75
|
+
loop: video.loop,
|
|
76
|
+
});
|
|
77
|
+
if (video.src !== src) {
|
|
78
|
+
VideoPlayer.getMutable(entity).src = src;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
onAdminMessage(MSG.SET_VIDEO, (payload, _sender) => {
|
|
82
|
+
const entity = payload.entity;
|
|
83
|
+
const current = VideoPlayer.getOrNull(entity);
|
|
84
|
+
if (!current)
|
|
85
|
+
return;
|
|
86
|
+
const updated = {
|
|
87
|
+
src: payload.src ?? current.src,
|
|
88
|
+
playing: payload.playing ?? current.playing,
|
|
89
|
+
volume: payload.volume ?? current.volume,
|
|
90
|
+
loop: payload.loop ?? current.loop,
|
|
91
|
+
};
|
|
92
|
+
authoritativeVideo.set(entity, updated);
|
|
93
|
+
const video = VideoPlayer.getMutable(entity);
|
|
94
|
+
video.src = updated.src;
|
|
95
|
+
video.playing = updated.playing;
|
|
96
|
+
video.volume = updated.volume;
|
|
97
|
+
video.loop = updated.loop;
|
|
98
|
+
if (payload.position !== undefined)
|
|
99
|
+
video.position = payload.position;
|
|
100
|
+
adminHasActed = true;
|
|
101
|
+
});
|
|
102
|
+
onAdminMessage(MSG.SET_ANNOUNCEMENT, (payload, _sender) => {
|
|
103
|
+
authoritativeAnnouncement = {
|
|
104
|
+
text: payload.text,
|
|
105
|
+
author: payload.author,
|
|
106
|
+
id: payload.id,
|
|
107
|
+
};
|
|
108
|
+
const ta = TextAnnouncements.getMutableOrNull(adminToolkitUiEntity);
|
|
109
|
+
if (!ta)
|
|
110
|
+
return;
|
|
111
|
+
ta.text = payload.text;
|
|
112
|
+
ta.author = payload.author;
|
|
113
|
+
ta.id = payload.id;
|
|
114
|
+
adminHasActed = true;
|
|
115
|
+
});
|
|
116
|
+
onAdminMessage(MSG.CLEAR_ANNOUNCEMENT, (_payload, _sender) => {
|
|
117
|
+
authoritativeAnnouncement = { text: '', author: '', id: '' };
|
|
118
|
+
const ta = TextAnnouncements.getMutableOrNull(adminToolkitUiEntity);
|
|
119
|
+
if (!ta)
|
|
120
|
+
return;
|
|
121
|
+
ta.text = '';
|
|
122
|
+
ta.author = '';
|
|
123
|
+
ta.id = '';
|
|
124
|
+
adminHasActed = true;
|
|
125
|
+
});
|
|
126
|
+
function broadcastCurrentState() {
|
|
127
|
+
const video = [];
|
|
128
|
+
for (const vp of getVideoPlayers(engine)) {
|
|
129
|
+
const entity = vp.entity;
|
|
130
|
+
const screen = VideoScreen.getOrNull(entity);
|
|
131
|
+
const current = VideoPlayer.getOrNull(entity);
|
|
132
|
+
if (!current)
|
|
133
|
+
continue;
|
|
134
|
+
if (current.src !== (screen?.defaultURL || '')) {
|
|
135
|
+
video.push({ entity: entity, ...current });
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const ta = TextAnnouncements.getOrNull(adminToolkitUiEntity);
|
|
139
|
+
const announcement = ta?.id ? { text: ta.text, author: ta.author ?? '', id: ta.id } : null;
|
|
140
|
+
if (video.length === 0 && !announcement)
|
|
141
|
+
return;
|
|
142
|
+
emitMessage(MSG.SYNC_STATE, { video, announcement });
|
|
143
|
+
}
|
|
144
|
+
onAdminMessage(MSG.SYNC_STATE, (payload, _sender) => {
|
|
145
|
+
for (const vs of payload.video) {
|
|
146
|
+
const entity = vs.entity;
|
|
147
|
+
authoritativeVideo.set(entity, {
|
|
148
|
+
src: vs.src,
|
|
149
|
+
playing: vs.playing,
|
|
150
|
+
volume: vs.volume,
|
|
151
|
+
loop: vs.loop,
|
|
152
|
+
});
|
|
153
|
+
const video = VideoPlayer.getMutableOrNull(entity);
|
|
154
|
+
if (!video)
|
|
155
|
+
continue;
|
|
156
|
+
video.src = vs.src;
|
|
157
|
+
if (vs.playing !== undefined)
|
|
158
|
+
video.playing = vs.playing;
|
|
159
|
+
if (vs.volume !== undefined)
|
|
160
|
+
video.volume = vs.volume;
|
|
161
|
+
if (vs.loop !== undefined)
|
|
162
|
+
video.loop = vs.loop;
|
|
163
|
+
}
|
|
164
|
+
if (payload.announcement?.id) {
|
|
165
|
+
authoritativeAnnouncement = { ...payload.announcement };
|
|
166
|
+
const ta = TextAnnouncements.getMutableOrNull(adminToolkitUiEntity);
|
|
167
|
+
if (ta) {
|
|
168
|
+
ta.text = payload.announcement.text;
|
|
169
|
+
ta.author = payload.announcement.author;
|
|
170
|
+
ta.id = payload.announcement.id;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
adminHasActed = true;
|
|
174
|
+
});
|
|
175
|
+
onMessage(MSG.REQUEST_STATE, (_payload, _sender) => {
|
|
176
|
+
if (adminHasActed)
|
|
177
|
+
broadcastCurrentState();
|
|
178
|
+
});
|
|
179
|
+
playersHelper?.onEnterScene(() => {
|
|
180
|
+
if (adminHasActed)
|
|
181
|
+
broadcastCurrentState();
|
|
182
|
+
});
|
|
183
|
+
onAdminMessage(MSG.SYNC_ADMINS, (_payload, _sender) => {
|
|
184
|
+
onRefetchAdmins?.();
|
|
185
|
+
});
|
|
186
|
+
emitMessage(MSG.REQUEST_STATE, {});
|
|
187
|
+
engine.addSystem(() => {
|
|
188
|
+
for (const [entity, authState] of authoritativeVideo) {
|
|
189
|
+
const vp = VideoPlayer.getOrNull(entity);
|
|
190
|
+
if (!vp)
|
|
191
|
+
continue;
|
|
192
|
+
if (vp.src !== authState.src) {
|
|
193
|
+
const mut = VideoPlayer.getMutable(entity);
|
|
194
|
+
mut.src = authState.src;
|
|
195
|
+
mut.playing = authState.playing;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (authoritativeAnnouncement) {
|
|
199
|
+
const ta = TextAnnouncements.getOrNull(adminToolkitUiEntity);
|
|
200
|
+
if (ta && authoritativeAnnouncement.id && ta.id !== authoritativeAnnouncement.id) {
|
|
201
|
+
const mut = TextAnnouncements.getMutable(adminToolkitUiEntity);
|
|
202
|
+
mut.text = authoritativeAnnouncement.text;
|
|
203
|
+
mut.author = authoritativeAnnouncement.author;
|
|
204
|
+
mut.id = authoritativeAnnouncement.id;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
instance = {
|
|
209
|
+
emitSetVideo(entity, props) {
|
|
210
|
+
emitMessage(MSG.SET_VIDEO, { entity, ...props });
|
|
211
|
+
},
|
|
212
|
+
emitSetAnnouncement(text, author, id) {
|
|
213
|
+
emitMessage(MSG.SET_ANNOUNCEMENT, {
|
|
214
|
+
text,
|
|
215
|
+
author: author ?? '',
|
|
216
|
+
id: id ?? '',
|
|
217
|
+
});
|
|
218
|
+
},
|
|
219
|
+
emitClearAnnouncement() {
|
|
220
|
+
emitMessage(MSG.CLEAR_ANNOUNCEMENT, {});
|
|
221
|
+
},
|
|
222
|
+
emitSyncAdmins() {
|
|
223
|
+
emitMessage(MSG.SYNC_ADMINS, {});
|
|
224
|
+
},
|
|
225
|
+
updateAdminList(admins) {
|
|
226
|
+
sceneAdmins = admins;
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
return instance;
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tbWVzc2FnZS1idXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWRtaW4tdG9vbGtpdC11aS9hZG1pbi1tZXNzYWdlLWJ1cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxJQUFJLElBQUksU0FBUyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQXFCdkQsTUFBTSxHQUFHLEdBQUc7SUFDVixTQUFTLEVBQUUsaUJBQWlCO0lBQzVCLGdCQUFnQixFQUFFLHdCQUF3QjtJQUMxQyxrQkFBa0IsRUFBRSwwQkFBMEI7SUFDOUMsYUFBYSxFQUFFLHFCQUFxQjtJQUNwQyxVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLFdBQVcsRUFBRSxtQkFBbUI7Q0FDeEIsQ0FBQztBQVlYLElBQUksUUFBUSxHQUFtQyxJQUFJLENBQUM7QUFFcEQsTUFBTSxVQUFVLGtCQUFrQjtJQUNoQyxJQUFJLENBQUMsUUFBUTtRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsQ0FBQztJQUNsRSxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBSUQsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxNQUFlLEVBQ2YsTUFBb0IsRUFDcEIsb0JBQTRCLEVBQzVCLGFBQThCLEVBQzlCLGVBQTRCO0lBRTVCLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQztJQUV6QixNQUFNLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxHQUFHLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFakUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztJQUN6RCxJQUFJLHlCQUF5QixHQUE2QixJQUFJLENBQUM7SUFDL0QsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBRTFCLFNBQVMsYUFBYSxDQUFDLE1BQWM7UUFDbkMsSUFBSSxTQUFTLEVBQUU7WUFBRSxPQUFPLElBQUksQ0FBQztRQUM3QixJQUFJLE1BQU0sS0FBSyxNQUFNO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDbkMsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBUUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQTBCLENBQUM7SUFDbkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztJQUVsQyxTQUFTLFNBQVMsQ0FBQyxJQUFZLEVBQUUsT0FBdUI7UUFDdEQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDNUIsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVMsY0FBYyxDQUFDLElBQVksRUFBRSxPQUF1QjtRQUMzRCxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO2dCQUFFLE9BQU87WUFDbkMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLFdBQVcsQ0FBQyxJQUFZLEVBQUUsT0FBZ0M7UUFDakUsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLE9BQU87WUFBRSxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXRDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDdkQsU0FBUyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFJRCxLQUFLLE1BQU0sRUFBRSxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFnQixDQUFDO1FBQ25DLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQ2pELENBQUMsRUFBVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLFdBQVcsQ0FDL0MsQ0FBQztZQUNGLGNBQWMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztRQUMvRSxDQUFDO0lBQ0gsQ0FBQztJQU1ELHlCQUF5QixHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUU3RCxLQUFLLE1BQU0sRUFBRSxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFnQixDQUFDO1FBQ25DLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSztZQUFFLFNBQVM7UUFFckIsTUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFFLFVBQVUsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzVDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUU7WUFDN0IsR0FBRztZQUNILE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztZQUN0QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUN0QixXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUM7SUFJRCxjQUFjLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNqRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBZ0IsQ0FBQztRQUN4QyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTztRQUVyQixNQUFNLE9BQU8sR0FBZTtZQUMxQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsR0FBRztZQUMvQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTztZQUMzQyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTTtZQUN4QyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSTtTQUNuQyxDQUFDO1FBQ0Ysa0JBQWtCLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUV4QyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdDLEtBQUssQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUN4QixLQUFLLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDaEMsS0FBSyxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzlCLEtBQUssQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUMxQixJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssU0FBUztZQUFFLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUV0RSxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBRUgsY0FBYyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUN4RCx5QkFBeUIsR0FBRztZQUMxQixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRTtTQUNmLENBQUM7UUFDRixNQUFNLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxFQUFFO1lBQUUsT0FBTztRQUNoQixFQUFFLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDdkIsRUFBRSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzNCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuQixhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBRUgsY0FBYyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUMzRCx5QkFBeUIsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDN0QsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsRUFBRTtZQUFFLE9BQU87UUFDaEIsRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDYixFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNmLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBYSxHQUFHLElBQUksQ0FBQztJQUN2QixDQUFDLENBQUMsQ0FBQztJQUlILFNBQVMscUJBQXFCO1FBQzVCLE1BQU0sS0FBSyxHQUE4QixFQUFFLENBQUM7UUFDNUMsS0FBSyxNQUFNLEVBQUUsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6QyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBZ0IsQ0FBQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzdDLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU87Z0JBQUUsU0FBUztZQUN2QixJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQy9DLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBZ0IsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDdkQsQ0FBQztRQUNILENBQUM7UUFFRCxNQUFNLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM3RCxNQUFNLFlBQVksR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFFM0YsSUFBSSxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBQ2hELFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBeUIsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNwRSxLQUFLLE1BQU0sRUFBRSxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMvQixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBZ0IsQ0FBQztZQUNuQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO2dCQUM3QixHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUc7Z0JBQ1gsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPO2dCQUNuQixNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU07Z0JBQ2pCLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSTthQUNkLENBQUMsQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsS0FBSztnQkFBRSxTQUFTO1lBQ3JCLEtBQUssQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNuQixJQUFJLEVBQUUsQ0FBQyxPQUFPLEtBQUssU0FBUztnQkFBRSxLQUFLLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7WUFDekQsSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLFNBQVM7Z0JBQUUsS0FBSyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ3RELElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxTQUFTO2dCQUFFLEtBQUssQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztRQUNsRCxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQzdCLHlCQUF5QixHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEQsTUFBTSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNwRSxJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNQLEVBQUUsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3BDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQ3hDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDbEMsQ0FBQztRQUNILENBQUM7UUFFRCxhQUFhLEdBQUcsSUFBSSxDQUFDO0lBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBRUgsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUU7UUFDakQsSUFBSSxhQUFhO1lBQUUscUJBQXFCLEVBQUUsQ0FBQztJQUM3QyxDQUFDLENBQUMsQ0FBQztJQUVILGFBQWEsRUFBRSxZQUFZLENBQUMsR0FBRyxFQUFFO1FBQy9CLElBQUksYUFBYTtZQUFFLHFCQUFxQixFQUFFLENBQUM7SUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFHSCxjQUFjLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNwRCxlQUFlLEVBQUUsRUFBRSxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBR0gsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFRbkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7UUFDcEIsS0FBSyxNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDckQsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN6QyxJQUFJLENBQUMsRUFBRTtnQkFBRSxTQUFTO1lBQ2xCLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBQzNDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQztnQkFDeEIsR0FBRyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO1FBRUQsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO1lBQzlCLE1BQU0sRUFBRSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQzdELElBQUksRUFBRSxJQUFJLHlCQUF5QixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLHlCQUF5QixDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNqRixNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsQ0FBQztnQkFDL0QsR0FBRyxDQUFDLElBQUksR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUM7Z0JBQzFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcseUJBQXlCLENBQUMsTUFBTSxDQUFDO2dCQUM5QyxHQUFHLENBQUMsRUFBRSxHQUFHLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBSUgsUUFBUSxHQUFHO1FBQ1QsWUFBWSxDQUFDLE1BQWMsRUFBRSxLQUE2QjtZQUN4RCxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBNkIsQ0FBQyxDQUFDO1FBQzlFLENBQUM7UUFFRCxtQkFBbUIsQ0FBQyxJQUFZLEVBQUUsTUFBZSxFQUFFLEVBQVc7WUFDNUQsV0FBVyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDaEMsSUFBSTtnQkFDSixNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUU7Z0JBQ3BCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRTthQUNiLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxxQkFBcUI7WUFDbkIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsY0FBYztZQUNaLFdBQVcsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLENBQUM7UUFFRCxlQUFlLENBQUMsTUFBb0I7WUFDbEMsV0FBVyxHQUFHLE1BQU0sQ0FBQztRQUN2QixDQUFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkbWluIE1lc3NhZ2UgQnVzXG4gKlxuICogU2VjdXJlcyBhZG1pbi1jb250cm9sbGVkIGNvbXBvbmVudHMgKFZpZGVvUGxheWVyLCBUZXh0QW5ub3VuY2VtZW50cykgYWdhaW5zdFxuICogdW5hdXRob3JpemVkIENSRFQgb3ZlcndyaXRlcyBieSBtb3ZpbmcgYWRtaW4gc3RhdGUgY2hhbmdlcyB0byBhIHNlcGFyYXRlXG4gKiBjb21tdW5pY2F0aW9uIGNoYW5uZWwuXG4gKlxuICogQXJjaGl0ZWN0dXJlOlxuICpcbiAqICAgMS4gQ1JEVCBzeW5jIGZvciBWaWRlb1BsYXllciBpcyBESVNBQkxFRCBvbiBhZG1pbi1jb250cm9sbGVkIGVudGl0aWVzIGJ5XG4gKiAgICAgIHJlbW92aW5nIGl0IGZyb20gU3luY0NvbXBvbmVudHMuIFRoaXMgcHJldmVudHMgYXR0YWNrZXIgQ1JEVCB3cml0ZXNcbiAqICAgICAgZnJvbSBwcm9wYWdhdGluZyB0aHJvdWdoIHRoZSBub3JtYWwgc3luYyB0cmFuc3BvcnQuXG4gKlxuICogICAyLiBBZG1pbiBjb21tYW5kcyBmbG93IHZpYSB0aGUgVEVYVCBjb21tcyBjaGFubmVsIChNZXNzYWdlQnVzKSwgd2hpY2ggaXMgYVxuICogICAgICBzZXBhcmF0ZSB0cmFuc3BvcnQgZnJvbSB0aGUgYmluYXJ5IENSRFQgY2hhbm5lbC4gQWxsIHBhcnRpY2lwYW50c1xuICogICAgICByZWNlaXZlIGFkbWluIGNvbW1hbmRzIHRocm91Z2ggdGhpcyBjaGFubmVsIGFuZCB2YWxpZGF0ZSB0aGUgc2VuZGVyJ3NcbiAqICAgICAgd2FsbGV0IGFkZHJlc3MgYWdhaW5zdCB0aGUgc2NlbmUgYWRtaW4gbGlzdCBiZWZvcmUgYXBwbHlpbmcuXG4gKlxuICogICAzLiBPbiBsb2FkLCBlYWNoIGNsaWVudCBzZWVkcyBhdXRob3JpdGF0aXZlIHN0YXRlIGZyb21cbiAqICAgICAgVmlkZW9TY3JlZW4uZGVmYXVsdFVSTCAoZGVwbG95LXRpbWUgdmFsdWUsIG5vdCB3cml0YWJsZSB2aWEgQ1JEVCkuXG4gKiAgICAgIEEgcGVyLWZyYW1lIHJldmVydCBzeXN0ZW0gZW5mb3JjZXMgdGhpcyBzdGF0ZSBhZ2FpbnN0IGFueSByYXcgQ1JEVFxuICogICAgICB3cml0ZXMgaW5qZWN0ZWQgZGlyZWN0bHkgdmlhIExpdmVLaXQuXG4gKlxuICogICA0LiBMYXRlIGpvaW5lcnMgcmVxdWVzdCBzdGF0ZSBmcm9tIGV4aXN0aW5nIHBhcnRpY2lwYW50cyB2aWEgYVxuICogICAgICByZXF1ZXN0L3Jlc3BvbnNlIGhhbmRzaGFrZSBvdmVyIHRoZSBNZXNzYWdlQnVzLlxuICpcbiAqIFNlbmRpbmcgdXNlcyBjb21tdW5pY2F0aW9uc0NvbnRyb2xsZXIuc2VuZCgpIGRpcmVjdGx5IHJhdGhlciB0aGFuIHRoZVxuICogTWVzc2FnZUJ1cyBjbGFzcydzIGVtaXQoKSwgYmVjYXVzZSB0aGUgY2xhc3MncyBpbnRlcm5hbCBmbHVzaCBxdWV1ZSBkcm9wc1xuICogc3Vic2VxdWVudCBtZXNzYWdlcy4gUmVjZWl2aW5nIHVzZXMgTWVzc2FnZUJ1cy5vbigpLCB3aGljaCByZWdpc3RlcnMgb24gdGhlXG4gKiBnbG9iYWwgb25Db21tc01lc3NhZ2Ugb2JzZXJ2YWJsZSBhbmQgd29ya3MgcmVsaWFibHkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBFbnRpdHksIElFbmdpbmUsIFBCVmlkZW9QbGF5ZXIgfSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBNZXNzYWdlQnVzIH0gZnJvbSAnQGRjbC9zZGsvbWVzc2FnZS1idXMnO1xuaW1wb3J0IHsgc2VuZCBhcyBjb21tc1NlbmQgfSBmcm9tICd+c3lzdGVtL0NvbW11bmljYXRpb25zQ29udHJvbGxlcic7XG5pbXBvcnQgeyBnZXRFeHBsb3JlckNvbXBvbmVudHMgfSBmcm9tICcuLi9jb21wb25lbnRzJztcbmltcG9ydCB7IGdldENvbXBvbmVudHMgfSBmcm9tICcuLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IElQbGF5ZXJzSGVscGVyIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNQcmV2aWV3IH0gZnJvbSAnLi9mZXRjaC11dGlscyc7XG5pbXBvcnQgdHlwZSB7IFNjZW5lQWRtaW4gfSBmcm9tICcuL01vZGVyYXRpb25Db250cm9sJztcbmltcG9ydCB7IGdldFZpZGVvUGxheWVycyB9IGZyb20gJy4vVmlkZW9Db250cm9sL3V0aWxzJztcblxuLy8g4pSA4pSAIFR5cGVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG50eXBlIFZpZGVvU3RhdGUgPSBQaWNrPFBCVmlkZW9QbGF5ZXIsICdzcmMnIHwgJ3BsYXlpbmcnIHwgJ3ZvbHVtZScgfCAnbG9vcCc+O1xuXG50eXBlIEFubm91bmNlbWVudFN0YXRlID0ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGF1dGhvcjogc3RyaW5nO1xuICBpZDogc3RyaW5nO1xufTtcblxuaW50ZXJmYWNlIFN5bmNTdGF0ZVBheWxvYWQge1xuICB2aWRlbzogQXJyYXk8eyBlbnRpdHk6IG51bWJlciB9ICYgVmlkZW9TdGF0ZT47XG4gIGFubm91bmNlbWVudDogQW5ub3VuY2VtZW50U3RhdGUgfCBudWxsO1xufVxuXG50eXBlIE1lc3NhZ2VIYW5kbGVyID0gKHBheWxvYWQ6IGFueSwgc2VuZGVyOiBzdHJpbmcpID0+IHZvaWQ7XG5cbi8vIOKUgOKUgCBNZXNzYWdlIGlkZW50aWZpZXJzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5jb25zdCBNU0cgPSB7XG4gIFNFVF9WSURFTzogJ2FkbWluOnNldC12aWRlbycsXG4gIFNFVF9BTk5PVU5DRU1FTlQ6ICdhZG1pbjpzZXQtYW5ub3VuY2VtZW50JyxcbiAgQ0xFQVJfQU5OT1VOQ0VNRU5UOiAnYWRtaW46Y2xlYXItYW5ub3VuY2VtZW50JyxcbiAgUkVRVUVTVF9TVEFURTogJ2FkbWluOnJlcXVlc3Qtc3RhdGUnLFxuICBTWU5DX1NUQVRFOiAnYWRtaW46c3luYy1zdGF0ZScsXG4gIFNZTkNfQURNSU5TOiAnYWRtaW46c3luYy1hZG1pbnMnLFxufSBhcyBjb25zdDtcblxuLy8g4pSA4pSAIFB1YmxpYyBpbnRlcmZhY2Ug4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRtaW5NZXNzYWdlQnVzSW5zdGFuY2Uge1xuICBlbWl0U2V0VmlkZW8oZW50aXR5OiBFbnRpdHksIHByb3BzOiBQYXJ0aWFsPFBCVmlkZW9QbGF5ZXI+KTogdm9pZDtcbiAgZW1pdFNldEFubm91bmNlbWVudCh0ZXh0OiBzdHJpbmcsIGF1dGhvcj86IHN0cmluZywgaWQ/OiBzdHJpbmcpOiB2b2lkO1xuICBlbWl0Q2xlYXJBbm5vdW5jZW1lbnQoKTogdm9pZDtcbiAgZW1pdFN5bmNBZG1pbnMoKTogdm9pZDtcbiAgdXBkYXRlQWRtaW5MaXN0KGFkbWluczogU2NlbmVBZG1pbltdKTogdm9pZDtcbn1cblxubGV0IGluc3RhbmNlOiBBZG1pbk1lc3NhZ2VCdXNJbnN0YW5jZSB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRtaW5NZXNzYWdlQnVzKCk6IEFkbWluTWVzc2FnZUJ1c0luc3RhbmNlIHtcbiAgaWYgKCFpbnN0YW5jZSkgdGhyb3cgbmV3IEVycm9yKCdBZG1pbk1lc3NhZ2VCdXMgbm90IGluaXRpYWxpemVkJyk7XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cblxuLy8g4pSA4pSAIEluaXRpYWxpemF0aW9uIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdEFkbWluTWVzc2FnZUJ1cyhcbiAgZW5naW5lOiBJRW5naW5lLFxuICBhZG1pbnM6IFNjZW5lQWRtaW5bXSxcbiAgYWRtaW5Ub29sa2l0VWlFbnRpdHk6IEVudGl0eSxcbiAgcGxheWVyc0hlbHBlcj86IElQbGF5ZXJzSGVscGVyLFxuICBvblJlZmV0Y2hBZG1pbnM/OiAoKSA9PiB2b2lkLFxuKTogQWRtaW5NZXNzYWdlQnVzSW5zdGFuY2Uge1xuICBsZXQgc2NlbmVBZG1pbnMgPSBhZG1pbnM7XG5cbiAgY29uc3QgeyBWaWRlb1BsYXllciwgU3luY0NvbXBvbmVudHMgfSA9IGdldEV4cGxvcmVyQ29tcG9uZW50cyhlbmdpbmUpO1xuICBjb25zdCB7IFRleHRBbm5vdW5jZW1lbnRzLCBWaWRlb1NjcmVlbiB9ID0gZ2V0Q29tcG9uZW50cyhlbmdpbmUpO1xuXG4gIGNvbnN0IGF1dGhvcml0YXRpdmVWaWRlbyA9IG5ldyBNYXA8RW50aXR5LCBWaWRlb1N0YXRlPigpO1xuICBsZXQgYXV0aG9yaXRhdGl2ZUFubm91bmNlbWVudDogQW5ub3VuY2VtZW50U3RhdGUgfCBudWxsID0gbnVsbDtcbiAgbGV0IGFkbWluSGFzQWN0ZWQgPSBmYWxzZTtcblxuICBmdW5jdGlvbiBpc0FkbWluV2FsbGV0KHNlbmRlcjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKGlzUHJldmlldygpKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoc2VuZGVyID09PSAnc2VsZicpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBzY2VuZUFkbWlucy5zb21lKGFkbWluID0+IGFkbWluLmFkZHJlc3MudG9Mb3dlckNhc2UoKSA9PT0gc2VuZGVyLnRvTG93ZXJDYXNlKCkpO1xuICB9XG5cbiAgLy8g4pSA4pSAIE1lc3NhZ2luZyBsYXllciDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy9cbiAgLy8gTG9jYWwgZGVsaXZlcnk6IGhhbmRsZXJzIGFyZSBjYWxsZWQgc3luY2hyb25vdXNseSBvbiBlbWl0LlxuICAvLyBSZW1vdGUgZGVsaXZlcnk6IGNvbW11bmljYXRpb25zQ29udHJvbGxlci5zZW5kKCkgKGJ5cGFzc2VzIE1lc3NhZ2VCdXMgZmx1c2ggcXVldWUpLlxuICAvLyBSZW1vdGUgcmVjZXB0aW9uOiBNZXNzYWdlQnVzLm9uKCkgKGxpc3RlbnMgb24gdGhlIGdsb2JhbCBvbkNvbW1zTWVzc2FnZSBvYnNlcnZhYmxlKS5cblxuICBjb25zdCBoYW5kbGVycyA9IG5ldyBNYXA8c3RyaW5nLCBNZXNzYWdlSGFuZGxlcj4oKTtcbiAgY29uc3QgcmVjZWl2ZXIgPSBuZXcgTWVzc2FnZUJ1cygpO1xuXG4gIGZ1bmN0aW9uIG9uTWVzc2FnZSh0eXBlOiBzdHJpbmcsIGhhbmRsZXI6IE1lc3NhZ2VIYW5kbGVyKSB7XG4gICAgaGFuZGxlcnMuc2V0KHR5cGUsIGhhbmRsZXIpO1xuICAgIHJlY2VpdmVyLm9uKHR5cGUsIGhhbmRsZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gb25BZG1pbk1lc3NhZ2UodHlwZTogc3RyaW5nLCBoYW5kbGVyOiBNZXNzYWdlSGFuZGxlcikge1xuICAgIG9uTWVzc2FnZSh0eXBlLCAocGF5bG9hZCwgc2VuZGVyKSA9PiB7XG4gICAgICBpZiAoIWlzQWRtaW5XYWxsZXQoc2VuZGVyKSkgcmV0dXJuO1xuICAgICAgaGFuZGxlcihwYXlsb2FkLCBzZW5kZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gZW1pdE1lc3NhZ2UodHlwZTogc3RyaW5nLCBwYXlsb2FkOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgIGNvbnN0IGhhbmRsZXIgPSBoYW5kbGVycy5nZXQodHlwZSk7XG4gICAgaWYgKGhhbmRsZXIpIGhhbmRsZXIocGF5bG9hZCwgJ3NlbGYnKTtcblxuICAgIGNvbnN0IHJhdyA9IEpTT04uc3RyaW5naWZ5KHsgbWVzc2FnZTogdHlwZSwgcGF5bG9hZCB9KTtcbiAgICBjb21tc1NlbmQoeyBtZXNzYWdlOiByYXcgfSkuY2F0Y2goKCkgPT4ge30pO1xuICB9XG5cbiAgLy8g4pSA4pSAIDEuIERpc2FibGUgQ1JEVCBzeW5jIGZvciBWaWRlb1BsYXllciBvbiBhZG1pbi1jb250cm9sbGVkIGVudGl0aWVzIOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIGZvciAoY29uc3QgdnAgb2YgZ2V0VmlkZW9QbGF5ZXJzKGVuZ2luZSkpIHtcbiAgICBjb25zdCBlbnRpdHkgPSB2cC5lbnRpdHkgYXMgRW50aXR5O1xuICAgIGNvbnN0IHN5bmMgPSBTeW5jQ29tcG9uZW50cy5nZXRPck51bGwoZW50aXR5KTtcbiAgICBpZiAoc3luYykge1xuICAgICAgY29uc3Qgd2l0aG91dFZpZGVvUGxheWVyID0gc3luYy5jb21wb25lbnRJZHMuZmlsdGVyKFxuICAgICAgICAoaWQ6IG51bWJlcikgPT4gaWQgIT09IFZpZGVvUGxheWVyLmNvbXBvbmVudElkLFxuICAgICAgKTtcbiAgICAgIFN5bmNDb21wb25lbnRzLmNyZWF0ZU9yUmVwbGFjZShlbnRpdHksIHsgY29tcG9uZW50SWRzOiB3aXRob3V0VmlkZW9QbGF5ZXIgfSk7XG4gICAgfVxuICB9XG5cbiAgLy8g4pSA4pSAIDIuIFNlZWQgYXV0aG9yaXRhdGl2ZSBzdGF0ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gVmlkZW9QbGF5ZXI6IHNlZWRlZCBmcm9tIFZpZGVvU2NyZWVuLmRlZmF1bHRVUkwgKGRlcGxveS10aW1lLCB0cnVzdGVkKS5cbiAgLy8gVGV4dEFubm91bmNlbWVudHM6IHNlZWRlZCBhcyBlbXB0eSAobm8gZGVmYXVsdCBhbm5vdW5jZW1lbnQgYXQgZGVwbG95IHRpbWUpLlxuXG4gIGF1dGhvcml0YXRpdmVBbm5vdW5jZW1lbnQgPSB7IHRleHQ6ICcnLCBhdXRob3I6ICcnLCBpZDogJycgfTtcblxuICBmb3IgKGNvbnN0IHZwIG9mIGdldFZpZGVvUGxheWVycyhlbmdpbmUpKSB7XG4gICAgY29uc3QgZW50aXR5ID0gdnAuZW50aXR5IGFzIEVudGl0eTtcbiAgICBjb25zdCBzY3JlZW4gPSBWaWRlb1NjcmVlbi5nZXRPck51bGwoZW50aXR5KTtcbiAgICBjb25zdCB2aWRlbyA9IFZpZGVvUGxheWVyLmdldE9yTnVsbChlbnRpdHkpO1xuICAgIGlmICghdmlkZW8pIGNvbnRpbnVlO1xuXG4gICAgY29uc3Qgc3JjID0gc2NyZWVuPy5kZWZhdWx0VVJMIHx8IHZpZGVvLnNyYztcbiAgICBhdXRob3JpdGF0aXZlVmlkZW8uc2V0KGVudGl0eSwge1xuICAgICAgc3JjLFxuICAgICAgcGxheWluZzogdmlkZW8ucGxheWluZyxcbiAgICAgIHZvbHVtZTogdmlkZW8udm9sdW1lLFxuICAgICAgbG9vcDogdmlkZW8ubG9vcCxcbiAgICB9KTtcblxuICAgIGlmICh2aWRlby5zcmMgIT09IHNyYykge1xuICAgICAgVmlkZW9QbGF5ZXIuZ2V0TXV0YWJsZShlbnRpdHkpLnNyYyA9IHNyYztcbiAgICB9XG4gIH1cblxuICAvLyDilIDilIAgMy4gUmVnaXN0ZXIgY29tbWFuZCBoYW5kbGVycyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBvbkFkbWluTWVzc2FnZShNU0cuU0VUX1ZJREVPLCAocGF5bG9hZCwgX3NlbmRlcikgPT4ge1xuICAgIGNvbnN0IGVudGl0eSA9IHBheWxvYWQuZW50aXR5IGFzIEVudGl0eTtcbiAgICBjb25zdCBjdXJyZW50ID0gVmlkZW9QbGF5ZXIuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgaWYgKCFjdXJyZW50KSByZXR1cm47XG5cbiAgICBjb25zdCB1cGRhdGVkOiBWaWRlb1N0YXRlID0ge1xuICAgICAgc3JjOiBwYXlsb2FkLnNyYyA/PyBjdXJyZW50LnNyYyxcbiAgICAgIHBsYXlpbmc6IHBheWxvYWQucGxheWluZyA/PyBjdXJyZW50LnBsYXlpbmcsXG4gICAgICB2b2x1bWU6IHBheWxvYWQudm9sdW1lID8/IGN1cnJlbnQudm9sdW1lLFxuICAgICAgbG9vcDogcGF5bG9hZC5sb29wID8/IGN1cnJlbnQubG9vcCxcbiAgICB9O1xuICAgIGF1dGhvcml0YXRpdmVWaWRlby5zZXQoZW50aXR5LCB1cGRhdGVkKTtcblxuICAgIGNvbnN0IHZpZGVvID0gVmlkZW9QbGF5ZXIuZ2V0TXV0YWJsZShlbnRpdHkpO1xuICAgIHZpZGVvLnNyYyA9IHVwZGF0ZWQuc3JjO1xuICAgIHZpZGVvLnBsYXlpbmcgPSB1cGRhdGVkLnBsYXlpbmc7XG4gICAgdmlkZW8udm9sdW1lID0gdXBkYXRlZC52b2x1bWU7XG4gICAgdmlkZW8ubG9vcCA9IHVwZGF0ZWQubG9vcDtcbiAgICBpZiAocGF5bG9hZC5wb3NpdGlvbiAhPT0gdW5kZWZpbmVkKSB2aWRlby5wb3NpdGlvbiA9IHBheWxvYWQucG9zaXRpb247XG5cbiAgICBhZG1pbkhhc0FjdGVkID0gdHJ1ZTtcbiAgfSk7XG5cbiAgb25BZG1pbk1lc3NhZ2UoTVNHLlNFVF9BTk5PVU5DRU1FTlQsIChwYXlsb2FkLCBfc2VuZGVyKSA9PiB7XG4gICAgYXV0aG9yaXRhdGl2ZUFubm91bmNlbWVudCA9IHtcbiAgICAgIHRleHQ6IHBheWxvYWQudGV4dCxcbiAgICAgIGF1dGhvcjogcGF5bG9hZC5hdXRob3IsXG4gICAgICBpZDogcGF5bG9hZC5pZCxcbiAgICB9O1xuICAgIGNvbnN0IHRhID0gVGV4dEFubm91bmNlbWVudHMuZ2V0TXV0YWJsZU9yTnVsbChhZG1pblRvb2xraXRVaUVudGl0eSk7XG4gICAgaWYgKCF0YSkgcmV0dXJuO1xuICAgIHRhLnRleHQgPSBwYXlsb2FkLnRleHQ7XG4gICAgdGEuYXV0aG9yID0gcGF5bG9hZC5hdXRob3I7XG4gICAgdGEuaWQgPSBwYXlsb2FkLmlkO1xuICAgIGFkbWluSGFzQWN0ZWQgPSB0cnVlO1xuICB9KTtcblxuICBvbkFkbWluTWVzc2FnZShNU0cuQ0xFQVJfQU5OT1VOQ0VNRU5ULCAoX3BheWxvYWQsIF9zZW5kZXIpID0+IHtcbiAgICBhdXRob3JpdGF0aXZlQW5ub3VuY2VtZW50ID0geyB0ZXh0OiAnJywgYXV0aG9yOiAnJywgaWQ6ICcnIH07XG4gICAgY29uc3QgdGEgPSBUZXh0QW5ub3VuY2VtZW50cy5nZXRNdXRhYmxlT3JOdWxsKGFkbWluVG9vbGtpdFVpRW50aXR5KTtcbiAgICBpZiAoIXRhKSByZXR1cm47XG4gICAgdGEudGV4dCA9ICcnO1xuICAgIHRhLmF1dGhvciA9ICcnO1xuICAgIHRhLmlkID0gJyc7XG4gICAgYWRtaW5IYXNBY3RlZCA9IHRydWU7XG4gIH0pO1xuXG4gIC8vIOKUgOKUgCA0LiBTdGF0ZSBzeW5jIGZvciBsYXRlIGpvaW5lcnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgZnVuY3Rpb24gYnJvYWRjYXN0Q3VycmVudFN0YXRlKCkge1xuICAgIGNvbnN0IHZpZGVvOiBTeW5jU3RhdGVQYXlsb2FkWyd2aWRlbyddID0gW107XG4gICAgZm9yIChjb25zdCB2cCBvZiBnZXRWaWRlb1BsYXllcnMoZW5naW5lKSkge1xuICAgICAgY29uc3QgZW50aXR5ID0gdnAuZW50aXR5IGFzIEVudGl0eTtcbiAgICAgIGNvbnN0IHNjcmVlbiA9IFZpZGVvU2NyZWVuLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgY29uc3QgY3VycmVudCA9IFZpZGVvUGxheWVyLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgaWYgKCFjdXJyZW50KSBjb250aW51ZTtcbiAgICAgIGlmIChjdXJyZW50LnNyYyAhPT0gKHNjcmVlbj8uZGVmYXVsdFVSTCB8fCAnJykpIHtcbiAgICAgICAgdmlkZW8ucHVzaCh7IGVudGl0eTogZW50aXR5IGFzIG51bWJlciwgLi4uY3VycmVudCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0YSA9IFRleHRBbm5vdW5jZW1lbnRzLmdldE9yTnVsbChhZG1pblRvb2xraXRVaUVudGl0eSk7XG4gICAgY29uc3QgYW5ub3VuY2VtZW50ID0gdGE/LmlkID8geyB0ZXh0OiB0YS50ZXh0LCBhdXRob3I6IHRhLmF1dGhvciA/PyAnJywgaWQ6IHRhLmlkIH0gOiBudWxsO1xuXG4gICAgaWYgKHZpZGVvLmxlbmd0aCA9PT0gMCAmJiAhYW5ub3VuY2VtZW50KSByZXR1cm47XG4gICAgZW1pdE1lc3NhZ2UoTVNHLlNZTkNfU1RBVEUsIHsgdmlkZW8sIGFubm91bmNlbWVudCB9KTtcbiAgfVxuXG4gIG9uQWRtaW5NZXNzYWdlKE1TRy5TWU5DX1NUQVRFLCAocGF5bG9hZDogU3luY1N0YXRlUGF5bG9hZCwgX3NlbmRlcikgPT4ge1xuICAgIGZvciAoY29uc3QgdnMgb2YgcGF5bG9hZC52aWRlbykge1xuICAgICAgY29uc3QgZW50aXR5ID0gdnMuZW50aXR5IGFzIEVudGl0eTtcbiAgICAgIGF1dGhvcml0YXRpdmVWaWRlby5zZXQoZW50aXR5LCB7XG4gICAgICAgIHNyYzogdnMuc3JjLFxuICAgICAgICBwbGF5aW5nOiB2cy5wbGF5aW5nLFxuICAgICAgICB2b2x1bWU6IHZzLnZvbHVtZSxcbiAgICAgICAgbG9vcDogdnMubG9vcCxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdmlkZW8gPSBWaWRlb1BsYXllci5nZXRNdXRhYmxlT3JOdWxsKGVudGl0eSk7XG4gICAgICBpZiAoIXZpZGVvKSBjb250aW51ZTtcbiAgICAgIHZpZGVvLnNyYyA9IHZzLnNyYztcbiAgICAgIGlmICh2cy5wbGF5aW5nICE9PSB1bmRlZmluZWQpIHZpZGVvLnBsYXlpbmcgPSB2cy5wbGF5aW5nO1xuICAgICAgaWYgKHZzLnZvbHVtZSAhPT0gdW5kZWZpbmVkKSB2aWRlby52b2x1bWUgPSB2cy52b2x1bWU7XG4gICAgICBpZiAodnMubG9vcCAhPT0gdW5kZWZpbmVkKSB2aWRlby5sb29wID0gdnMubG9vcDtcbiAgICB9XG5cbiAgICBpZiAocGF5bG9hZC5hbm5vdW5jZW1lbnQ/LmlkKSB7XG4gICAgICBhdXRob3JpdGF0aXZlQW5ub3VuY2VtZW50ID0geyAuLi5wYXlsb2FkLmFubm91bmNlbWVudCB9O1xuICAgICAgY29uc3QgdGEgPSBUZXh0QW5ub3VuY2VtZW50cy5nZXRNdXRhYmxlT3JOdWxsKGFkbWluVG9vbGtpdFVpRW50aXR5KTtcbiAgICAgIGlmICh0YSkge1xuICAgICAgICB0YS50ZXh0ID0gcGF5bG9hZC5hbm5vdW5jZW1lbnQudGV4dDtcbiAgICAgICAgdGEuYXV0aG9yID0gcGF5bG9hZC5hbm5vdW5jZW1lbnQuYXV0aG9yO1xuICAgICAgICB0YS5pZCA9IHBheWxvYWQuYW5ub3VuY2VtZW50LmlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFkbWluSGFzQWN0ZWQgPSB0cnVlO1xuICB9KTtcblxuICBvbk1lc3NhZ2UoTVNHLlJFUVVFU1RfU1RBVEUsIChfcGF5bG9hZCwgX3NlbmRlcikgPT4ge1xuICAgIGlmIChhZG1pbkhhc0FjdGVkKSBicm9hZGNhc3RDdXJyZW50U3RhdGUoKTtcbiAgfSk7XG5cbiAgcGxheWVyc0hlbHBlcj8ub25FbnRlclNjZW5lKCgpID0+IHtcbiAgICBpZiAoYWRtaW5IYXNBY3RlZCkgYnJvYWRjYXN0Q3VycmVudFN0YXRlKCk7XG4gIH0pO1xuXG4gIC8vIFdoZW4gYW4gYWRtaW4gc2lnbmFscyB0aGF0IHRoZSBhZG1pbiBsaXN0IGNoYW5nZWQsIGFsbCBwYXJ0aWNpcGFudHMgcmVmZXRjaFxuICBvbkFkbWluTWVzc2FnZShNU0cuU1lOQ19BRE1JTlMsIChfcGF5bG9hZCwgX3NlbmRlcikgPT4ge1xuICAgIG9uUmVmZXRjaEFkbWlucz8uKCk7XG4gIH0pO1xuXG4gIC8vIFJlcXVlc3Qgc3RhdGUgZnJvbSBhbnkgZXhpc3RpbmcgcGFydGljaXBhbnQgdGhhdCBoYXMgYWRtaW4gc3RhdGVcbiAgZW1pdE1lc3NhZ2UoTVNHLlJFUVVFU1RfU1RBVEUsIHt9KTtcblxuICAvLyDilIDilIAgNS4gUmV2ZXJ0IHN5c3RlbSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy9cbiAgLy8gQXR0YWNrZXIgQ1JEVCB3cml0ZXMgYnlwYXNzIFN5bmNDb21wb25lbnRzIChpbmplY3RlZCBkaXJlY3RseSB2aWEgTGl2ZUtpdClcbiAgLy8gYnV0IGFyZSBjYXVnaHQgaGVyZS4gQWRtaW4gY29tbWFuZHMgdXBkYXRlIGF1dGhvcml0YXRpdmVWaWRlby9Bbm5vdW5jZW1lbnRcbiAgLy8gYmVmb3JlIG11dGF0aW5nIGNvbXBvbmVudHMsIHNvIGxlZ2l0aW1hdGUgY2hhbmdlcyBhcmUgbmV2ZXIgcmV2ZXJ0ZWQuXG5cbiAgZW5naW5lLmFkZFN5c3RlbSgoKSA9PiB7XG4gICAgZm9yIChjb25zdCBbZW50aXR5LCBhdXRoU3RhdGVdIG9mIGF1dGhvcml0YXRpdmVWaWRlbykge1xuICAgICAgY29uc3QgdnAgPSBWaWRlb1BsYXllci5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgIGlmICghdnApIGNvbnRpbnVlO1xuICAgICAgaWYgKHZwLnNyYyAhPT0gYXV0aFN0YXRlLnNyYykge1xuICAgICAgICBjb25zdCBtdXQgPSBWaWRlb1BsYXllci5nZXRNdXRhYmxlKGVudGl0eSk7XG4gICAgICAgIG11dC5zcmMgPSBhdXRoU3RhdGUuc3JjO1xuICAgICAgICBtdXQucGxheWluZyA9IGF1dGhTdGF0ZS5wbGF5aW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChhdXRob3JpdGF0aXZlQW5ub3VuY2VtZW50KSB7XG4gICAgICBjb25zdCB0YSA9IFRleHRBbm5vdW5jZW1lbnRzLmdldE9yTnVsbChhZG1pblRvb2xraXRVaUVudGl0eSk7XG4gICAgICBpZiAodGEgJiYgYXV0aG9yaXRhdGl2ZUFubm91bmNlbWVudC5pZCAmJiB0YS5pZCAhPT0gYXV0aG9yaXRhdGl2ZUFubm91bmNlbWVudC5pZCkge1xuICAgICAgICBjb25zdCBtdXQgPSBUZXh0QW5ub3VuY2VtZW50cy5nZXRNdXRhYmxlKGFkbWluVG9vbGtpdFVpRW50aXR5KTtcbiAgICAgICAgbXV0LnRleHQgPSBhdXRob3JpdGF0aXZlQW5ub3VuY2VtZW50LnRleHQ7XG4gICAgICAgIG11dC5hdXRob3IgPSBhdXRob3JpdGF0aXZlQW5ub3VuY2VtZW50LmF1dGhvcjtcbiAgICAgICAgbXV0LmlkID0gYXV0aG9yaXRhdGl2ZUFubm91bmNlbWVudC5pZDtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIC8vIOKUgOKUgCBJbnN0YW5jZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBpbnN0YW5jZSA9IHtcbiAgICBlbWl0U2V0VmlkZW8oZW50aXR5OiBFbnRpdHksIHByb3BzOiBQYXJ0aWFsPFBCVmlkZW9QbGF5ZXI+KSB7XG4gICAgICBlbWl0TWVzc2FnZShNU0cuU0VUX1ZJREVPLCB7IGVudGl0eSwgLi4ucHJvcHMgfSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik7XG4gICAgfSxcblxuICAgIGVtaXRTZXRBbm5vdW5jZW1lbnQodGV4dDogc3RyaW5nLCBhdXRob3I/OiBzdHJpbmcsIGlkPzogc3RyaW5nKSB7XG4gICAgICBlbWl0TWVzc2FnZShNU0cuU0VUX0FOTk9VTkNFTUVOVCwge1xuICAgICAgICB0ZXh0LFxuICAgICAgICBhdXRob3I6IGF1dGhvciA/PyAnJyxcbiAgICAgICAgaWQ6IGlkID8/ICcnLFxuICAgICAgfSk7XG4gICAgfSxcblxuICAgIGVtaXRDbGVhckFubm91bmNlbWVudCgpIHtcbiAgICAgIGVtaXRNZXNzYWdlKE1TRy5DTEVBUl9BTk5PVU5DRU1FTlQsIHt9KTtcbiAgICB9LFxuXG4gICAgZW1pdFN5bmNBZG1pbnMoKSB7XG4gICAgICBlbWl0TWVzc2FnZShNU0cuU1lOQ19BRE1JTlMsIHt9KTtcbiAgICB9LFxuXG4gICAgdXBkYXRlQWRtaW5MaXN0KGFkbWluczogU2NlbmVBZG1pbltdKSB7XG4gICAgICBzY2VuZUFkbWlucyA9IGFkbWlucztcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBpbnN0YW5jZTtcbn1cbiJdfQ==
|
|
@@ -4,9 +4,10 @@ import { type IEngine, type PointerEventsSystem } from '@dcl/ecs';
|
|
|
4
4
|
import { type IPlayersHelper, type ISDKHelpers } from '../definitions';
|
|
5
5
|
import { type State } from './types';
|
|
6
6
|
export declare const nextTickFunctions: (() => void)[];
|
|
7
|
-
export declare
|
|
7
|
+
export declare const state: State;
|
|
8
8
|
export declare const containerBackgroundColor: Color4.MutableColor4;
|
|
9
9
|
export declare function fetchSceneAdmins(): Promise<void>;
|
|
10
|
+
export declare function fetchAndSyncSceneAdmins(): Promise<void>;
|
|
10
11
|
export declare function fetchSceneBans(): Promise<void>;
|
|
11
12
|
export declare function clearSceneBansCache(): void;
|
|
12
13
|
export declare function getSmartItems(engine: IEngine): import("@dcl/ecs").DeepReadonlyObject<import("@dcl/ecs").MapResult<{
|
|
@@ -14,5 +15,5 @@ export declare function getSmartItems(engine: IEngine): import("@dcl/ecs").DeepR
|
|
|
14
15
|
customName: import("@dcl/ecs").ISchema<string>;
|
|
15
16
|
defaultAction: import("@dcl/ecs").ISchema<string>;
|
|
16
17
|
}>>[];
|
|
17
|
-
export declare function initializeAdminData(engine: IEngine, sdkHelpers?: ISDKHelpers): Promise<void>;
|
|
18
|
+
export declare function initializeAdminData(engine: IEngine, sdkHelpers?: ISDKHelpers, playersHelper?: IPlayersHelper): Promise<void>;
|
|
18
19
|
export declare function createAdminToolkitUI(engine: IEngine, pointerEventsSystem: PointerEventsSystem, reactBasedUiSystem: ReactBasedUiSystem, sdkHelpers?: ISDKHelpers, playersHelper?: IPlayersHelper): void;
|