@discordeno/rest 21.0.0-next.bcd8d4d → 21.0.0-next.c4f2fc2

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.
@@ -9,13 +9,7 @@ export function createRoutes() {
9
9
  let url = `/webhooks/${webhookId}/${token}/messages/${messageId}?`;
10
10
  if (options) {
11
11
  if (options.threadId) url += `thread_id=${options.threadId}`;
12
- }
13
- return url;
14
- },
15
- original: (webhookId, token, options)=>{
16
- let url = `/webhooks/${webhookId}/${token}/messages/@original?`;
17
- if (options) {
18
- if (options.threadId) url += `thread_id=${options.threadId}`;
12
+ if (options.withComponents) url += `&with_components=${options.withComponents}`;
19
13
  }
20
14
  return url;
21
15
  },
@@ -23,7 +17,8 @@ export function createRoutes() {
23
17
  let url = `/webhooks/${webhookId}/${token}?`;
24
18
  if (options) {
25
19
  if (options?.wait !== undefined) url += `wait=${options.wait.toString()}`;
26
- if (options.threadId) url += `thread_id=${options.threadId}`;
20
+ if (options.threadId) url += `&thread_id=${options.threadId}`;
21
+ if (options.withComponents) url += `&with_components=${options.withComponents}`;
27
22
  }
28
23
  return url;
29
24
  }
@@ -561,6 +556,23 @@ export function createRoutes() {
561
556
  return `/guilds/${guildId}/soundboard-sounds/${soundId}`;
562
557
  }
563
558
  },
559
+ lobby: {
560
+ create: ()=>{
561
+ return '/lobbies';
562
+ },
563
+ lobby: (lobbyId)=>{
564
+ return `/lobbies/${lobbyId}`;
565
+ },
566
+ member: (lobbyId, userId)=>{
567
+ return `/lobbies/${lobbyId}/members/${userId}`;
568
+ },
569
+ leave: (lobbyId)=>{
570
+ return `/lobbies/${lobbyId}/members/@me`;
571
+ },
572
+ link: (lobbyId)=>{
573
+ return `/lobbies/${lobbyId}/channel-linking`;
574
+ }
575
+ },
564
576
  applicationEmoji (applicationId, emojiId) {
565
577
  return `/applications/${applicationId}/emojis/${emojiId}`;
566
578
  },
@@ -595,4 +607,4 @@ export function createRoutes() {
595
607
  };
596
608
  }
597
609
 
598
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb3V0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZXRNZXNzYWdlc09wdGlvbnMsIEdldFNjaGVkdWxlZEV2ZW50VXNlcnMgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGlzR2V0TWVzc2FnZXNBZnRlciwgaXNHZXRNZXNzYWdlc0Fyb3VuZCwgaXNHZXRNZXNzYWdlc0JlZm9yZSwgaXNHZXRNZXNzYWdlc0xpbWl0IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IFJlc3RSb3V0ZXMgfSBmcm9tICcuL3R5cGluZ3Mvcm91dGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVzKCk6IFJlc3RSb3V0ZXMge1xuICByZXR1cm4ge1xuICAgIHdlYmhvb2tzOiB7XG4gICAgICBpZDogKHdlYmhvb2tJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC93ZWJob29rcy8ke3dlYmhvb2tJZH1gXG4gICAgICB9LFxuICAgICAgbWVzc2FnZTogKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC93ZWJob29rcy8ke3dlYmhvb2tJZH0vJHt0b2tlbn0vbWVzc2FnZXMvJHttZXNzYWdlSWR9P2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLnRocmVhZElkKSB1cmwgKz0gYHRocmVhZF9pZD0ke29wdGlvbnMudGhyZWFkSWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIG9yaWdpbmFsOiAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC93ZWJob29rcy8ke3dlYmhvb2tJZH0vJHt0b2tlbn0vbWVzc2FnZXMvQG9yaWdpbmFsP2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLnRocmVhZElkKSB1cmwgKz0gYHRocmVhZF9pZD0ke29wdGlvbnMudGhyZWFkSWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIHdlYmhvb2s6ICh3ZWJob29rSWQsIHRva2VuLCBvcHRpb25zKSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgL3dlYmhvb2tzLyR7d2ViaG9va0lkfS8ke3Rva2VufT9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucz8ud2FpdCAhPT0gdW5kZWZpbmVkKSB1cmwgKz0gYHdhaXQ9JHtvcHRpb25zLndhaXQudG9TdHJpbmcoKX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMudGhyZWFkSWQpIHVybCArPSBgdGhyZWFkX2lkPSR7b3B0aW9ucy50aHJlYWRJZH1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBDaGFubmVsIEVuZHBvaW50c1xuICAgIGNoYW5uZWxzOiB7XG4gICAgICBidWxrOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy9idWxrLWRlbGV0ZWBcbiAgICAgIH0sXG4gICAgICBkbTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy91c2Vycy9AbWUvY2hhbm5lbHMnXG4gICAgICB9LFxuICAgICAgZG1SZWNpcGllbnQ6IChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vcmVjaXBpZW50cy8ke3VzZXJJZH1gXG4gICAgICB9LFxuICAgICAgcGluOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BpbnMvJHttZXNzYWdlSWR9YFxuICAgICAgfSxcbiAgICAgIHBpbnM6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BpbnNgXG4gICAgICB9LFxuICAgICAgcmVhY3Rpb25zOiB7XG4gICAgICAgIGJvdDogKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBlbW9qaSkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy8ke21lc3NhZ2VJZH0vcmVhY3Rpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGVtb2ppKX0vQG1lYFxuICAgICAgICB9LFxuICAgICAgICB1c2VyOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIGVtb2ppLCB1c2VySWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9LyR7dXNlcklkfWBcbiAgICAgICAgfSxcbiAgICAgICAgYWxsOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgZW1vamk6IChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgZW1vamksIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9P2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy50eXBlKSB1cmwgKz0gYHR5cGU9JHtvcHRpb25zLnR5cGV9YFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIG1lc3NhZ2U6IChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgZW1vamksIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9P2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGBhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHdlYmhvb2tzOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS93ZWJob29rc2BcbiAgICAgIH0sXG5cbiAgICAgIGNoYW5uZWw6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9YFxuICAgICAgfSxcblxuICAgICAgZm9sbG93OiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9mb2xsb3dlcnNgXG4gICAgICB9LFxuXG4gICAgICBmb3J1bTogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkc2BcbiAgICAgIH0sXG5cbiAgICAgIGludml0ZXM6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L2ludml0ZXNgXG4gICAgICB9LFxuXG4gICAgICBtZXNzYWdlOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfWBcbiAgICAgIH0sXG5cbiAgICAgIG1lc3NhZ2VzOiAoY2hhbm5lbElkLCBvcHRpb25zPzogR2V0TWVzc2FnZXNPcHRpb25zKSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcz9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAoaXNHZXRNZXNzYWdlc0FmdGVyKG9wdGlvbnMpICYmIG9wdGlvbnMuYWZ0ZXIpIHtcbiAgICAgICAgICAgIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNCZWZvcmUob3B0aW9ucykgJiYgb3B0aW9ucy5iZWZvcmUpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNBcm91bmQob3B0aW9ucykgJiYgb3B0aW9ucy5hcm91bmQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmFyb3VuZD0ke29wdGlvbnMuYXJvdW5kfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNMaW1pdChvcHRpb25zKSAmJiBvcHRpb25zLmxpbWl0KSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG5cbiAgICAgIG92ZXJ3cml0ZTogKGNoYW5uZWxJZCwgb3ZlcndyaXRlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3Blcm1pc3Npb25zLyR7b3ZlcndyaXRlSWR9YFxuICAgICAgfSxcblxuICAgICAgY3Jvc3Nwb3N0OiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9jcm9zc3Bvc3RgXG4gICAgICB9LFxuXG4gICAgICBzdGFnZXM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvc3RhZ2UtaW5zdGFuY2VzJ1xuICAgICAgfSxcblxuICAgICAgc3RhZ2U6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvc3RhZ2UtaW5zdGFuY2VzLyR7Y2hhbm5lbElkfWBcbiAgICAgIH0sXG5cbiAgICAgIC8vIFRocmVhZCBFbmRwb2ludHNcbiAgICAgIHRocmVhZHM6IHtcbiAgICAgICAgbWVzc2FnZTogKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS90aHJlYWRzYFxuICAgICAgICB9LFxuICAgICAgICBhbGw6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkc2BcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3RocmVhZHMvYWN0aXZlYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXJzOiAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZC1tZW1iZXJzP2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy53aXRoTWVtYmVyKSB1cmwgKz0gYHdpdGhfbWVtYmVyPSR7b3B0aW9ucy53aXRoTWVtYmVyfWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBtZTogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWQtbWVtYmVycy9AbWVgXG4gICAgICAgIH0sXG4gICAgICAgIGdldFVzZXIoY2hhbm5lbElkLCB1c2VySWQsIG9wdGlvbnMpIHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkLW1lbWJlcnMvJHt1c2VySWR9P2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy53aXRoTWVtYmVyKSB1cmwgKz0gYHdpdGhfbWVtYmVyPSR7b3B0aW9ucy53aXRoTWVtYmVyfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXI6IChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWQtbWVtYmVycy8ke3VzZXJJZH1gXG4gICAgICAgIH0sXG4gICAgICAgIGFyY2hpdmVkOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHMvYXJjaGl2ZWRgXG4gICAgICAgIH0sXG4gICAgICAgIHB1YmxpYzogKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWRzL2FyY2hpdmVkL3B1YmxpYz9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBwcml2YXRlOiAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHMvYXJjaGl2ZWQvcHJpdmF0ZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBqb2luZWQ6IChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdXNlcnMvQG1lL3RocmVhZHMvYXJjaGl2ZWQvcHJpdmF0ZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgfSxcblxuICAgICAgdHlwaW5nOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90eXBpbmdgXG4gICAgICB9LFxuXG4gICAgICBwb2xsczoge1xuICAgICAgICB2b3RlczogKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBhbnN3ZXJJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9wb2xscy8ke21lc3NhZ2VJZH0vYW5zd2Vycy8ke2Fuc3dlcklkfT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgZXhwaXJlOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vcG9sbHMvJHttZXNzYWdlSWR9L2V4cGlyZWBcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIC8vIEd1aWxkIEVuZHBvaW50c1xuICAgIGd1aWxkczoge1xuICAgICAgYWxsOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL2d1aWxkcydcbiAgICAgIH0sXG4gICAgICB1c2VyR3VpbGRzOiAob3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gJy91c2Vycy9AbWUvZ3VpbGRzPydcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYGFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB1cmwgKz0gYCZiZWZvcmU9JHtvcHRpb25zLmJlZm9yZX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMud2l0aENvdW50cykgdXJsICs9IGAmd2l0aF9jb3VudHM9JHtvcHRpb25zLndpdGhDb3VudHN9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGF1ZGl0bG9nczogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vYXVkaXQtbG9ncz9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy5hY3Rpb25UeXBlKSB1cmwgKz0gYGFjdGlvbl90eXBlPSR7b3B0aW9ucy5hY3Rpb25UeXBlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGAmYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICBpZiAob3B0aW9ucy51c2VySWQpIHVybCArPSBgJnVzZXJfaWQ9JHtvcHRpb25zLnVzZXJJZH1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgICAgYXV0b21vZDoge1xuICAgICAgICBydWxlOiAoZ3VpbGRJZCwgcnVsZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vYXV0by1tb2RlcmF0aW9uL3J1bGVzLyR7cnVsZUlkfWBcbiAgICAgICAgfSxcbiAgICAgICAgcnVsZXM6IChndWlsZElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vYXV0by1tb2RlcmF0aW9uL3J1bGVzYFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGNoYW5uZWxzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9jaGFubmVsc2BcbiAgICAgIH0sXG4gICAgICBlbW9qaTogKGd1aWxkSWQsIGVtb2ppSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vZW1vamlzLyR7ZW1vamlJZH1gXG4gICAgICB9LFxuICAgICAgZW1vamlzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9lbW9qaXNgXG4gICAgICB9LFxuICAgICAgZXZlbnRzOiB7XG4gICAgICAgIGV2ZW50czogKGd1aWxkSWQsIHdpdGhVc2VyQ291bnQ/OiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vc2NoZWR1bGVkLWV2ZW50cz9gXG5cbiAgICAgICAgICBpZiAod2l0aFVzZXJDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB1cmwgKz0gYHdpdGhfdXNlcl9jb3VudD0ke3dpdGhVc2VyQ291bnQudG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgZXZlbnQ6IChndWlsZElkLCBldmVudElkLCB3aXRoVXNlckNvdW50PzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L3NjaGVkdWxlZC1ldmVudHMvJHtldmVudElkfWBcblxuICAgICAgICAgIGlmICh3aXRoVXNlckNvdW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgd2l0aF91c2VyX2NvdW50PSR7d2l0aFVzZXJDb3VudC50b1N0cmluZygpfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJzOiAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucz86IEdldFNjaGVkdWxlZEV2ZW50VXNlcnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9zY2hlZHVsZWQtZXZlbnRzLyR7ZXZlbnRJZH0vdXNlcnM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLndpdGhNZW1iZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICB1cmwgKz0gYCZ3aXRoX21lbWJlcj0ke29wdGlvbnMud2l0aE1lbWJlci50b1N0cmluZygpfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUgIT09IHVuZGVmaW5lZCkgdXJsICs9IGAmYmVmb3JlPSR7b3B0aW9ucy5iZWZvcmV9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBndWlsZChndWlsZElkLCB3aXRoQ291bnRzKSB7XG4gICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9P2BcblxuICAgICAgICBpZiAod2l0aENvdW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdXJsICs9IGB3aXRoX2NvdW50cz0ke3dpdGhDb3VudHMudG9TdHJpbmcoKX1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgICAgaW50ZWdyYXRpb24oZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCkge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9pbnRlZ3JhdGlvbnMvJHtpbnRlZ3JhdGlvbklkfWBcbiAgICAgIH0sXG4gICAgICBpbnRlZ3JhdGlvbnM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2ludGVncmF0aW9ucz9pbmNsdWRlX2FwcGxpY2F0aW9ucz10cnVlYFxuICAgICAgfSxcbiAgICAgIGludml0ZShpbnZpdGVDb2RlLCBvcHRpb25zKSB7XG4gICAgICAgIGxldCB1cmwgPSBgL2ludml0ZXMvJHtpbnZpdGVDb2RlfT9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy53aXRoQ291bnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgd2l0aF9jb3VudHM9JHtvcHRpb25zLndpdGhDb3VudHMudG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb25zLndpdGhFeHBpcmF0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJndpdGhfZXhwaXJhdGlvbj0ke29wdGlvbnMud2l0aEV4cGlyYXRpb24udG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb25zLnNjaGVkdWxlZEV2ZW50SWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZD0ke29wdGlvbnMuc2NoZWR1bGVkRXZlbnRJZH1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGludml0ZXM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2ludml0ZXNgXG4gICAgICB9LFxuICAgICAgbGVhdmU6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3VzZXJzL0BtZS9ndWlsZHMvJHtndWlsZElkfWBcbiAgICAgIH0sXG4gICAgICBtZW1iZXJzOiB7XG4gICAgICAgIGJhbjogKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2JhbnMvJHt1c2VySWR9YFxuICAgICAgICB9LFxuICAgICAgICBiYW5zOiAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L2JhbnM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYGxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGAmYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmJlZm9yZSkgdXJsICs9IGAmYmVmb3JlPSR7b3B0aW9ucy5iZWZvcmV9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgYnVsa0JhbjogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9idWxrLWJhbmBcbiAgICAgICAgfSxcbiAgICAgICAgYm90OiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L21lbWJlcnMvQG1lYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXI6IChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzLyR7dXNlcklkfWBcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVudE1lbWJlcjogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC91c2Vycy9AbWUvZ3VpbGRzLyR7Z3VpbGRJZH0vbWVtYmVyYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXJzOiAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L21lbWJlcnM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYCZhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgc2VhcmNoOiAoZ3VpbGRJZCwgcXVlcnksIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzL3NlYXJjaD9xdWVyeT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeSl9YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBwcnVuZTogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9wcnVuZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGF5cykgdXJsICs9IGBkYXlzPSR7b3B0aW9ucy5kYXlzfWBcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMuaW5jbHVkZVJvbGVzKSkge1xuICAgICAgICAgICAgICB1cmwgKz0gYCZpbmNsdWRlX3JvbGVzPSR7b3B0aW9ucy5pbmNsdWRlUm9sZXMuam9pbignLCcpfWBcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5pbmNsdWRlUm9sZXMpIHtcbiAgICAgICAgICAgICAgdXJsICs9IGAmaW5jbHVkZV9yb2xlcz0ke29wdGlvbnMuaW5jbHVkZVJvbGVzfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWZhOiAoZ3VpbGRJZCkgPT4gYC9ndWlsZHMvJHtndWlsZElkfS9tZmFgLFxuICAgICAgcHJldmlldzogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcHJldmlld2BcbiAgICAgIH0sXG4gICAgICBwcnVuZTogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcHJ1bmU/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuZGF5cykgdXJsICs9IGBkYXlzPSR7b3B0aW9ucy5kYXlzfWBcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLmluY2x1ZGVSb2xlcykpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmluY2x1ZGVfcm9sZXM9JHtvcHRpb25zLmluY2x1ZGVSb2xlcy5qb2luKCcsJyl9YFxuICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5pbmNsdWRlUm9sZXMpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmluY2x1ZGVfcm9sZXM9JHtvcHRpb25zLmluY2x1ZGVSb2xlc31gXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIHJvbGVzOiB7XG4gICAgICAgIG9uZTogKGd1aWxkSWQsIHJvbGVJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3JvbGVzLyR7cm9sZUlkfWBcbiAgICAgICAgfSxcbiAgICAgICAgYWxsOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3JvbGVzYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXI6IChndWlsZElkLCBtZW1iZXJJZCwgcm9sZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vbWVtYmVycy8ke21lbWJlcklkfS9yb2xlcy8ke3JvbGVJZH1gXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3RpY2tlcnM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3N0aWNrZXJzYFxuICAgICAgfSxcbiAgICAgIHN0aWNrZXI6IChndWlsZElkLCBzdGlja2VySWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuICAgICAgfSxcbiAgICAgIHZvaWNlOiAoZ3VpbGRJZCwgdXNlcklkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3ZvaWNlLXN0YXRlcy8ke3VzZXJJZCA/PyAnQG1lJ31gXG4gICAgICB9LFxuICAgICAgdGVtcGxhdGVzOiB7XG4gICAgICAgIGNvZGU6IChjb2RlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzL3RlbXBsYXRlcy8ke2NvZGV9YFxuICAgICAgICB9LFxuICAgICAgICBndWlsZDogKGd1aWxkSWQsIGNvZGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS90ZW1wbGF0ZXMvJHtjb2RlfWBcbiAgICAgICAgfSxcbiAgICAgICAgYWxsOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3RlbXBsYXRlc2BcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB2YW5pdHk6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3Zhbml0eS11cmxgXG4gICAgICB9LFxuICAgICAgcmVnaW9uczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcmVnaW9uc2BcbiAgICAgIH0sXG4gICAgICB3ZWJob29rczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vd2ViaG9va3NgXG4gICAgICB9LFxuICAgICAgd2VsY29tZTogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vd2VsY29tZS1zY3JlZW5gXG4gICAgICB9LFxuICAgICAgd2lkZ2V0OiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS93aWRnZXRgXG4gICAgICB9LFxuICAgICAgd2lkZ2V0SnNvbjogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vd2lkZ2V0Lmpzb25gXG4gICAgICB9LFxuICAgICAgb25ib2FyZGluZzogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vb25ib2FyZGluZ2BcbiAgICAgIH0sXG4gICAgICBpbmNpZGVudEFjdGlvbnM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2luY2lkZW50LWFjdGlvbnNgXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBzdGlja2VyOiAoc3RpY2tlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYC9zdGlja2Vycy8ke3N0aWNrZXJJZH1gXG4gICAgfSxcblxuICAgIHJlZ2lvbnM6ICgpID0+IHtcbiAgICAgIHJldHVybiAnL3ZvaWNlL3JlZ2lvbnMnXG4gICAgfSxcblxuICAgIC8vIEludGVyYWN0aW9uIEVuZHBvaW50c1xuICAgIGludGVyYWN0aW9uczoge1xuICAgICAgY29tbWFuZHM6IHtcbiAgICAgICAgLy8gQXBwbGljYXRpb24gRW5kcG9pbnRzXG4gICAgICAgIGNvbW1hbmRzOiAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2NvbW1hbmRzYFxuICAgICAgICB9LFxuXG4gICAgICAgIGd1aWxkczoge1xuICAgICAgICAgIGFsbChhcHBsaWNhdGlvbklkLCBndWlsZElkKSB7XG4gICAgICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9ndWlsZHMvJHtndWlsZElkfS9jb21tYW5kc2BcbiAgICAgICAgICB9LFxuXG4gICAgICAgICAgb25lKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQsIGNvbW1hbmRJZCwgd2l0aExvY2FsaXphdGlvbnMpIHtcbiAgICAgICAgICAgIGxldCB1cmwgPSBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2d1aWxkcy8ke2d1aWxkSWR9L2NvbW1hbmRzLyR7Y29tbWFuZElkfT9gXG5cbiAgICAgICAgICAgIGlmICh3aXRoTG9jYWxpemF0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgd2l0aF9sb2NhbGl6YXRpb25zPSR7d2l0aExvY2FsaXphdGlvbnMudG9TdHJpbmcoKX1gXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczogKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9ndWlsZHMvJHtndWlsZElkfS9jb21tYW5kcy9wZXJtaXNzaW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbjogKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQsIGNvbW1hbmRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2d1aWxkcy8ke2d1aWxkSWR9L2NvbW1hbmRzLyR7Y29tbWFuZElkfS9wZXJtaXNzaW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWFuZDogKGFwcGxpY2F0aW9uSWQsIGNvbW1hbmRJZCwgd2l0aExvY2FsaXphdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9jb21tYW5kcy8ke2NvbW1hbmRJZH0/YFxuXG4gICAgICAgICAgaWYgKHdpdGhMb2NhbGl6YXRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgd2l0aExvY2FsaXphdGlvbnM9JHt3aXRoTG9jYWxpemF0aW9ucy50b1N0cmluZygpfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICB9LFxuXG4gICAgICByZXNwb25zZXM6IHtcbiAgICAgICAgLy8gSW50ZXJhY3Rpb24gRW5kcG9pbnRzXG4gICAgICAgIGNhbGxiYWNrOiAoaW50ZXJhY3Rpb25JZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9pbnRlcmFjdGlvbnMvJHtpbnRlcmFjdGlvbklkfS8ke3Rva2VufS9jYWxsYmFjaz93aXRoX3Jlc3BvbnNlPSR7ISFvcHRpb25zPy53aXRoUmVzcG9uc2V9YFxuICAgICAgICB9LFxuICAgICAgICBvcmlnaW5hbDogKGludGVyYWN0aW9uSWQsIHRva2VuKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvd2ViaG9va3MvJHtpbnRlcmFjdGlvbklkfS8ke3Rva2VufS9tZXNzYWdlcy9Ab3JpZ2luYWxgXG4gICAgICAgIH0sXG4gICAgICAgIG1lc3NhZ2U6IChhcHBsaWNhdGlvbklkLCB0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvd2ViaG9va3MvJHthcHBsaWNhdGlvbklkfS8ke3Rva2VufS9tZXNzYWdlcy8ke21lc3NhZ2VJZH1gXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBPQXV0aDIgZW5kcG9pbnRzXG4gICAgb2F1dGgyOiB7XG4gICAgICB0b2tlbkV4Y2hhbmdlOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL29hdXRoMi90b2tlbidcbiAgICAgIH0sXG4gICAgICB0b2tlblJldm9rZTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy9vYXV0aDIvdG9rZW4vcmV2b2tlJ1xuICAgICAgfSxcbiAgICAgIGN1cnJlbnRBdXRob3JpemF0aW9uOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL29hdXRoMi9AbWUnXG4gICAgICB9LFxuICAgICAgYXBwbGljYXRpb246ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvb2F1dGgyL2FwcGxpY2F0aW9ucy9AbWUnXG4gICAgICB9LFxuICAgICAgY29ubmVjdGlvbnM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvdXNlcnMvQG1lL2Nvbm5lY3Rpb25zJ1xuICAgICAgfSxcbiAgICAgIHJvbGVDb25uZWN0aW9uczogKGFwcGxpY2F0aW9uSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvdXNlcnMvQG1lL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L3JvbGUtY29ubmVjdGlvbmBcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIG1vbmV0aXphdGlvbjoge1xuICAgICAgZW50aXRsZW1lbnRzOiAoYXBwbGljYXRpb25JZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbnRpdGxlbWVudHM/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5leGNsdWRlRW5kZWQpIHVybCArPSBgJmV4Y2x1ZGVfZW5kZWQ9JHtvcHRpb25zLmV4Y2x1ZGVFbmRlZH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMuZ3VpbGRJZCkgdXJsICs9IGAmZ3VpbGRfaWQ9JHtvcHRpb25zLmd1aWxkSWR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLnNrdUlkcykgdXJsICs9IGAmc2t1X2lkcz0ke29wdGlvbnMuc2t1SWRzLmpvaW4oJywnKX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMudXNlcklkKSB1cmwgKz0gYCZ1c2VyX2lkPSR7b3B0aW9ucy51c2VySWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGVudGl0bGVtZW50OiAoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbnRpdGxlbWVudHMvJHtlbnRpdGxlbWVudElkfWBcbiAgICAgIH0sXG4gICAgICBjb25zdW1lRW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkLCBlbnRpdGxlbWVudElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2VudGl0bGVtZW50cy8ke2VudGl0bGVtZW50SWR9L2NvbnN1bWVgXG4gICAgICB9LFxuXG4gICAgICBza3VzOiAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9za3VzYFxuICAgICAgfSxcblxuICAgICAgc3Vic2NyaXB0aW9uOiAoc2t1SWQsIHN1YnNjcmlwdGlvbklkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3NrdXMvJHtza3VJZH0vc3Vic2NyaXB0aW9ucy8ke3N1YnNjcmlwdGlvbklkfWBcbiAgICAgIH0sXG5cbiAgICAgIHN1YnNjcmlwdGlvbnM6IChza3VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC9za3VzLyR7c2t1SWR9L3N1YnNjcmlwdGlvbnM/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy51c2VySWQpIHVybCArPSBgJnVzZXJfaWQ9JHtvcHRpb25zLnVzZXJJZH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBzb3VuZGJvYXJkOiB7XG4gICAgICBzZW5kU291bmQ6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9YFxuICAgICAgfSxcbiAgICAgIGxpc3REZWZhdWx0OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3NvdW5kYm9hcmQtZGVmYXVsdC1zb3VuZHNgXG4gICAgICB9LFxuICAgICAgZ3VpbGRTb3VuZHM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3NvdW5kYm9hcmQtc291bmRzYFxuICAgICAgfSxcbiAgICAgIGd1aWxkU291bmQ6IChndWlsZElkLCBzb3VuZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3NvdW5kYm9hcmQtc291bmRzLyR7c291bmRJZH1gXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBhcHBsaWNhdGlvbkVtb2ppKGFwcGxpY2F0aW9uSWQsIGVtb2ppSWQpIHtcbiAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2Vtb2ppcy8ke2Vtb2ppSWR9YFxuICAgIH0sXG5cbiAgICBhcHBsaWNhdGlvbkVtb2ppcyhhcHBsaWNhdGlvbklkKSB7XG4gICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbW9qaXNgXG4gICAgfSxcblxuICAgIGFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb25NZXRhZGF0YShhcHBsaWNhdGlvbklkKSB7XG4gICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9yb2xlLWNvbm5lY3Rpb25zL21ldGFkYXRhYFxuICAgIH0sXG5cbiAgICAvLyBVc2VyIGVuZHBvaW50c1xuICAgIHVzZXIodXNlcklkKSB7XG4gICAgICByZXR1cm4gYC91c2Vycy8ke3VzZXJJZH1gXG4gICAgfSxcblxuICAgIGFwcGxpY2F0aW9uKCkge1xuICAgICAgcmV0dXJuICcvYXBwbGljYXRpb25zL0BtZSdcbiAgICB9LFxuXG4gICAgYXBwbGljYXRpb25BY3Rpdml0eUluc3RhbmNlKGFwcGxpY2F0aW9uSWQsIGluc3RhbmNlSWQpIHtcbiAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2FjdGl2aXR5LWluc3RhbmNlcy8ke2luc3RhbmNlSWR9YFxuICAgIH0sXG5cbiAgICBjdXJyZW50VXNlcigpIHtcbiAgICAgIHJldHVybiAnL3VzZXJzL0BtZSdcbiAgICB9LFxuXG4gICAgZ2F0ZXdheUJvdCgpIHtcbiAgICAgIHJldHVybiAnL2dhdGV3YXkvYm90J1xuICAgIH0sXG5cbiAgICBzdGlja2VyUGFjayhzdGlja2VyUGFja0lkKSB7XG4gICAgICByZXR1cm4gYC9zdGlja2VyLXBhY2tzLyR7c3RpY2tlclBhY2tJZH1gXG4gICAgfSxcblxuICAgIHN0aWNrZXJQYWNrcygpIHtcbiAgICAgIHJldHVybiAnL3N0aWNrZXItcGFja3MnXG4gICAgfSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbImlzR2V0TWVzc2FnZXNBZnRlciIsImlzR2V0TWVzc2FnZXNBcm91bmQiLCJpc0dldE1lc3NhZ2VzQmVmb3JlIiwiaXNHZXRNZXNzYWdlc0xpbWl0IiwiY3JlYXRlUm91dGVzIiwid2ViaG9va3MiLCJpZCIsIndlYmhvb2tJZCIsIm1lc3NhZ2UiLCJ0b2tlbiIsIm1lc3NhZ2VJZCIsIm9wdGlvbnMiLCJ1cmwiLCJ0aHJlYWRJZCIsIm9yaWdpbmFsIiwid2ViaG9vayIsIndhaXQiLCJ1bmRlZmluZWQiLCJ0b1N0cmluZyIsImNoYW5uZWxzIiwiYnVsayIsImNoYW5uZWxJZCIsImRtIiwiZG1SZWNpcGllbnQiLCJ1c2VySWQiLCJwaW4iLCJwaW5zIiwicmVhY3Rpb25zIiwiYm90IiwiZW1vamkiLCJlbmNvZGVVUklDb21wb25lbnQiLCJ1c2VyIiwiYWxsIiwidHlwZSIsImFmdGVyIiwibGltaXQiLCJjaGFubmVsIiwiZm9sbG93IiwiZm9ydW0iLCJpbnZpdGVzIiwibWVzc2FnZXMiLCJiZWZvcmUiLCJhcm91bmQiLCJvdmVyd3JpdGUiLCJvdmVyd3JpdGVJZCIsImNyb3NzcG9zdCIsInN0YWdlcyIsInN0YWdlIiwidGhyZWFkcyIsImFjdGl2ZSIsImd1aWxkSWQiLCJtZW1iZXJzIiwid2l0aE1lbWJlciIsIm1lIiwiZ2V0VXNlciIsImFyY2hpdmVkIiwicHVibGljIiwiRGF0ZSIsInRvSVNPU3RyaW5nIiwicHJpdmF0ZSIsImpvaW5lZCIsInR5cGluZyIsInBvbGxzIiwidm90ZXMiLCJhbnN3ZXJJZCIsImV4cGlyZSIsImd1aWxkcyIsInVzZXJHdWlsZHMiLCJ3aXRoQ291bnRzIiwiYXVkaXRsb2dzIiwiYWN0aW9uVHlwZSIsImF1dG9tb2QiLCJydWxlIiwicnVsZUlkIiwicnVsZXMiLCJlbW9qaUlkIiwiZW1vamlzIiwiZXZlbnRzIiwid2l0aFVzZXJDb3VudCIsImV2ZW50IiwiZXZlbnRJZCIsInVzZXJzIiwiZ3VpbGQiLCJpbnRlZ3JhdGlvbiIsImludGVncmF0aW9uSWQiLCJpbnRlZ3JhdGlvbnMiLCJpbnZpdGUiLCJpbnZpdGVDb2RlIiwid2l0aEV4cGlyYXRpb24iLCJzY2hlZHVsZWRFdmVudElkIiwibGVhdmUiLCJiYW4iLCJiYW5zIiwiYnVsa0JhbiIsIm1lbWJlciIsImN1cnJlbnRNZW1iZXIiLCJzZWFyY2giLCJxdWVyeSIsInBydW5lIiwiZGF5cyIsIkFycmF5IiwiaXNBcnJheSIsImluY2x1ZGVSb2xlcyIsImpvaW4iLCJtZmEiLCJwcmV2aWV3Iiwicm9sZXMiLCJvbmUiLCJyb2xlSWQiLCJtZW1iZXJJZCIsInN0aWNrZXJzIiwic3RpY2tlciIsInN0aWNrZXJJZCIsInZvaWNlIiwidGVtcGxhdGVzIiwiY29kZSIsInZhbml0eSIsInJlZ2lvbnMiLCJ3ZWxjb21lIiwid2lkZ2V0Iiwid2lkZ2V0SnNvbiIsIm9uYm9hcmRpbmciLCJpbmNpZGVudEFjdGlvbnMiLCJpbnRlcmFjdGlvbnMiLCJjb21tYW5kcyIsImFwcGxpY2F0aW9uSWQiLCJjb21tYW5kSWQiLCJ3aXRoTG9jYWxpemF0aW9ucyIsInBlcm1pc3Npb25zIiwicGVybWlzc2lvbiIsImNvbW1hbmQiLCJyZXNwb25zZXMiLCJjYWxsYmFjayIsImludGVyYWN0aW9uSWQiLCJ3aXRoUmVzcG9uc2UiLCJvYXV0aDIiLCJ0b2tlbkV4Y2hhbmdlIiwidG9rZW5SZXZva2UiLCJjdXJyZW50QXV0aG9yaXphdGlvbiIsImFwcGxpY2F0aW9uIiwiY29ubmVjdGlvbnMiLCJyb2xlQ29ubmVjdGlvbnMiLCJtb25ldGl6YXRpb24iLCJlbnRpdGxlbWVudHMiLCJleGNsdWRlRW5kZWQiLCJza3VJZHMiLCJlbnRpdGxlbWVudCIsImVudGl0bGVtZW50SWQiLCJjb25zdW1lRW50aXRsZW1lbnQiLCJza3VzIiwic3Vic2NyaXB0aW9uIiwic2t1SWQiLCJzdWJzY3JpcHRpb25JZCIsInN1YnNjcmlwdGlvbnMiLCJzb3VuZGJvYXJkIiwic2VuZFNvdW5kIiwibGlzdERlZmF1bHQiLCJndWlsZFNvdW5kcyIsImd1aWxkU291bmQiLCJzb3VuZElkIiwiYXBwbGljYXRpb25FbW9qaSIsImFwcGxpY2F0aW9uRW1vamlzIiwiYXBwbGljYXRpb25Sb2xlQ29ubmVjdGlvbk1ldGFkYXRhIiwiYXBwbGljYXRpb25BY3Rpdml0eUluc3RhbmNlIiwiaW5zdGFuY2VJZCIsImN1cnJlbnRVc2VyIiwiZ2F0ZXdheUJvdCIsInN0aWNrZXJQYWNrIiwic3RpY2tlclBhY2tJZCIsInN0aWNrZXJQYWNrcyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0Esa0JBQWtCLEVBQUVDLG1CQUFtQixFQUFFQyxtQkFBbUIsRUFBRUMsa0JBQWtCLFFBQVEsb0JBQW1CO0FBR3BILE9BQU8sU0FBU0M7SUFDZCxPQUFPO1FBQ0xDLFVBQVU7WUFDUkMsSUFBSSxDQUFDQztnQkFDSCxPQUFPLENBQUMsVUFBVSxFQUFFQSxXQUFXO1lBQ2pDO1lBQ0FDLFNBQVMs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
610
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb3V0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZXRNZXNzYWdlc09wdGlvbnMsIEdldFNjaGVkdWxlZEV2ZW50VXNlcnMgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGlzR2V0TWVzc2FnZXNBZnRlciwgaXNHZXRNZXNzYWdlc0Fyb3VuZCwgaXNHZXRNZXNzYWdlc0JlZm9yZSwgaXNHZXRNZXNzYWdlc0xpbWl0IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IFJlc3RSb3V0ZXMgfSBmcm9tICcuL3R5cGluZ3Mvcm91dGVzLmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUm91dGVzKCk6IFJlc3RSb3V0ZXMge1xuICByZXR1cm4ge1xuICAgIHdlYmhvb2tzOiB7XG4gICAgICBpZDogKHdlYmhvb2tJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC93ZWJob29rcy8ke3dlYmhvb2tJZH1gXG4gICAgICB9LFxuICAgICAgbWVzc2FnZTogKHdlYmhvb2tJZCwgdG9rZW4sIG1lc3NhZ2VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC93ZWJob29rcy8ke3dlYmhvb2tJZH0vJHt0b2tlbn0vbWVzc2FnZXMvJHttZXNzYWdlSWR9P2BcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLnRocmVhZElkKSB1cmwgKz0gYHRocmVhZF9pZD0ke29wdGlvbnMudGhyZWFkSWR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLndpdGhDb21wb25lbnRzKSB1cmwgKz0gYCZ3aXRoX2NvbXBvbmVudHM9JHtvcHRpb25zLndpdGhDb21wb25lbnRzfWBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG4gICAgICB3ZWJob29rOiAod2ViaG9va0lkLCB0b2tlbiwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC93ZWJob29rcy8ke3dlYmhvb2tJZH0vJHt0b2tlbn0/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnM/LndhaXQgIT09IHVuZGVmaW5lZCkgdXJsICs9IGB3YWl0PSR7b3B0aW9ucy53YWl0LnRvU3RyaW5nKCl9YFxuICAgICAgICAgIGlmIChvcHRpb25zLnRocmVhZElkKSB1cmwgKz0gYCZ0aHJlYWRfaWQ9JHtvcHRpb25zLnRocmVhZElkfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy53aXRoQ29tcG9uZW50cykgdXJsICs9IGAmd2l0aF9jb21wb25lbnRzPSR7b3B0aW9ucy53aXRoQ29tcG9uZW50c31gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBDaGFubmVsIEVuZHBvaW50c1xuICAgIGNoYW5uZWxzOiB7XG4gICAgICBidWxrOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy9idWxrLWRlbGV0ZWBcbiAgICAgIH0sXG4gICAgICBkbTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy91c2Vycy9AbWUvY2hhbm5lbHMnXG4gICAgICB9LFxuICAgICAgZG1SZWNpcGllbnQ6IChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vcmVjaXBpZW50cy8ke3VzZXJJZH1gXG4gICAgICB9LFxuICAgICAgcGluOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BpbnMvJHttZXNzYWdlSWR9YFxuICAgICAgfSxcbiAgICAgIHBpbnM6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3BpbnNgXG4gICAgICB9LFxuICAgICAgcmVhY3Rpb25zOiB7XG4gICAgICAgIGJvdDogKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBlbW9qaSkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcy8ke21lc3NhZ2VJZH0vcmVhY3Rpb25zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGVtb2ppKX0vQG1lYFxuICAgICAgICB9LFxuICAgICAgICB1c2VyOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQsIGVtb2ppLCB1c2VySWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9LyR7dXNlcklkfWBcbiAgICAgICAgfSxcbiAgICAgICAgYWxsOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgZW1vamk6IChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgZW1vamksIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9P2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy50eXBlKSB1cmwgKz0gYHR5cGU9JHtvcHRpb25zLnR5cGV9YFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIG1lc3NhZ2U6IChjaGFubmVsSWQsIG1lc3NhZ2VJZCwgZW1vamksIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vbWVzc2FnZXMvJHttZXNzYWdlSWR9L3JlYWN0aW9ucy8ke2VuY29kZVVSSUNvbXBvbmVudChlbW9qaSl9P2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGBhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHdlYmhvb2tzOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS93ZWJob29rc2BcbiAgICAgIH0sXG5cbiAgICAgIGNoYW5uZWw6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9YFxuICAgICAgfSxcblxuICAgICAgZm9sbG93OiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9mb2xsb3dlcnNgXG4gICAgICB9LFxuXG4gICAgICBmb3J1bTogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkc2BcbiAgICAgIH0sXG5cbiAgICAgIGludml0ZXM6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L2ludml0ZXNgXG4gICAgICB9LFxuXG4gICAgICBtZXNzYWdlOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfWBcbiAgICAgIH0sXG5cbiAgICAgIG1lc3NhZ2VzOiAoY2hhbm5lbElkLCBvcHRpb25zPzogR2V0TWVzc2FnZXNPcHRpb25zKSA9PiB7XG4gICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9tZXNzYWdlcz9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAoaXNHZXRNZXNzYWdlc0FmdGVyKG9wdGlvbnMpICYmIG9wdGlvbnMuYWZ0ZXIpIHtcbiAgICAgICAgICAgIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNCZWZvcmUob3B0aW9ucykgJiYgb3B0aW9ucy5iZWZvcmUpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNBcm91bmQob3B0aW9ucykgJiYgb3B0aW9ucy5hcm91bmQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmFyb3VuZD0ke29wdGlvbnMuYXJvdW5kfWBcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGlzR2V0TWVzc2FnZXNMaW1pdChvcHRpb25zKSAmJiBvcHRpb25zLmxpbWl0KSB7XG4gICAgICAgICAgICB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cmxcbiAgICAgIH0sXG5cbiAgICAgIG92ZXJ3cml0ZTogKGNoYW5uZWxJZCwgb3ZlcndyaXRlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3Blcm1pc3Npb25zLyR7b3ZlcndyaXRlSWR9YFxuICAgICAgfSxcblxuICAgICAgY3Jvc3Nwb3N0OiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9jcm9zc3Bvc3RgXG4gICAgICB9LFxuXG4gICAgICBzdGFnZXM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvc3RhZ2UtaW5zdGFuY2VzJ1xuICAgICAgfSxcblxuICAgICAgc3RhZ2U6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvc3RhZ2UtaW5zdGFuY2VzLyR7Y2hhbm5lbElkfWBcbiAgICAgIH0sXG5cbiAgICAgIC8vIFRocmVhZCBFbmRwb2ludHNcbiAgICAgIHRocmVhZHM6IHtcbiAgICAgICAgbWVzc2FnZTogKGNoYW5uZWxJZCwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS90aHJlYWRzYFxuICAgICAgICB9LFxuICAgICAgICBhbGw6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkc2BcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3RocmVhZHMvYWN0aXZlYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXJzOiAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZC1tZW1iZXJzP2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy53aXRoTWVtYmVyKSB1cmwgKz0gYHdpdGhfbWVtYmVyPSR7b3B0aW9ucy53aXRoTWVtYmVyfWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBtZTogKGNoYW5uZWxJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWQtbWVtYmVycy9AbWVgXG4gICAgICAgIH0sXG4gICAgICAgIGdldFVzZXIoY2hhbm5lbElkLCB1c2VySWQsIG9wdGlvbnMpIHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdGhyZWFkLW1lbWJlcnMvJHt1c2VySWR9P2BcblxuICAgICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy53aXRoTWVtYmVyKSB1cmwgKz0gYHdpdGhfbWVtYmVyPSR7b3B0aW9ucy53aXRoTWVtYmVyfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXI6IChjaGFubmVsSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWQtbWVtYmVycy8ke3VzZXJJZH1gXG4gICAgICAgIH0sXG4gICAgICAgIGFyY2hpdmVkOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHMvYXJjaGl2ZWRgXG4gICAgICAgIH0sXG4gICAgICAgIHB1YmxpYzogKGNoYW5uZWxJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90aHJlYWRzL2FyY2hpdmVkL3B1YmxpYz9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBwcml2YXRlOiAoY2hhbm5lbElkLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9L3RocmVhZHMvYXJjaGl2ZWQvcHJpdmF0ZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBqb2luZWQ6IChjaGFubmVsSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vdXNlcnMvQG1lL3RocmVhZHMvYXJjaGl2ZWQvcHJpdmF0ZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgYmVmb3JlPSR7bmV3IERhdGUob3B0aW9ucy5iZWZvcmUpLnRvSVNPU3RyaW5nKCl9YFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgfSxcblxuICAgICAgdHlwaW5nOiAoY2hhbm5lbElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS90eXBpbmdgXG4gICAgICB9LFxuXG4gICAgICBwb2xsczoge1xuICAgICAgICB2b3RlczogKGNoYW5uZWxJZCwgbWVzc2FnZUlkLCBhbnN3ZXJJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2NoYW5uZWxzLyR7Y2hhbm5lbElkfS9wb2xscy8ke21lc3NhZ2VJZH0vYW5zd2Vycy8ke2Fuc3dlcklkfT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgZXhwaXJlOiAoY2hhbm5lbElkLCBtZXNzYWdlSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9jaGFubmVscy8ke2NoYW5uZWxJZH0vcG9sbHMvJHttZXNzYWdlSWR9L2V4cGlyZWBcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIC8vIEd1aWxkIEVuZHBvaW50c1xuICAgIGd1aWxkczoge1xuICAgICAgYWxsOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL2d1aWxkcydcbiAgICAgIH0sXG4gICAgICB1c2VyR3VpbGRzOiAob3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gJy91c2Vycy9AbWUvZ3VpbGRzPydcblxuICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYGFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMuYmVmb3JlKSB1cmwgKz0gYCZiZWZvcmU9JHtvcHRpb25zLmJlZm9yZX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMud2l0aENvdW50cykgdXJsICs9IGAmd2l0aF9jb3VudHM9JHtvcHRpb25zLndpdGhDb3VudHN9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGF1ZGl0bG9nczogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vYXVkaXQtbG9ncz9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy5hY3Rpb25UeXBlKSB1cmwgKz0gYGFjdGlvbl90eXBlPSR7b3B0aW9ucy5hY3Rpb25UeXBlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGAmYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5saW1pdCkgdXJsICs9IGAmbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICBpZiAob3B0aW9ucy51c2VySWQpIHVybCArPSBgJnVzZXJfaWQ9JHtvcHRpb25zLnVzZXJJZH1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgICAgYXV0b21vZDoge1xuICAgICAgICBydWxlOiAoZ3VpbGRJZCwgcnVsZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vYXV0by1tb2RlcmF0aW9uL3J1bGVzLyR7cnVsZUlkfWBcbiAgICAgICAgfSxcbiAgICAgICAgcnVsZXM6IChndWlsZElkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vYXV0by1tb2RlcmF0aW9uL3J1bGVzYFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGNoYW5uZWxzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9jaGFubmVsc2BcbiAgICAgIH0sXG4gICAgICBlbW9qaTogKGd1aWxkSWQsIGVtb2ppSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vZW1vamlzLyR7ZW1vamlJZH1gXG4gICAgICB9LFxuICAgICAgZW1vamlzOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9lbW9qaXNgXG4gICAgICB9LFxuICAgICAgZXZlbnRzOiB7XG4gICAgICAgIGV2ZW50czogKGd1aWxkSWQsIHdpdGhVc2VyQ291bnQ/OiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vc2NoZWR1bGVkLWV2ZW50cz9gXG5cbiAgICAgICAgICBpZiAod2l0aFVzZXJDb3VudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB1cmwgKz0gYHdpdGhfdXNlcl9jb3VudD0ke3dpdGhVc2VyQ291bnQudG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgZXZlbnQ6IChndWlsZElkLCBldmVudElkLCB3aXRoVXNlckNvdW50PzogYm9vbGVhbikgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L3NjaGVkdWxlZC1ldmVudHMvJHtldmVudElkfWBcblxuICAgICAgICAgIGlmICh3aXRoVXNlckNvdW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgd2l0aF91c2VyX2NvdW50PSR7d2l0aFVzZXJDb3VudC50b1N0cmluZygpfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJzOiAoZ3VpbGRJZCwgZXZlbnRJZCwgb3B0aW9ucz86IEdldFNjaGVkdWxlZEV2ZW50VXNlcnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9zY2hlZHVsZWQtZXZlbnRzLyR7ZXZlbnRJZH0vdXNlcnM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLndpdGhNZW1iZXIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICB1cmwgKz0gYCZ3aXRoX21lbWJlcj0ke29wdGlvbnMud2l0aE1lbWJlci50b1N0cmluZygpfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmFmdGVyPSR7b3B0aW9ucy5hZnRlcn1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUgIT09IHVuZGVmaW5lZCkgdXJsICs9IGAmYmVmb3JlPSR7b3B0aW9ucy5iZWZvcmV9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBndWlsZChndWlsZElkLCB3aXRoQ291bnRzKSB7XG4gICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9P2BcblxuICAgICAgICBpZiAod2l0aENvdW50cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdXJsICs9IGB3aXRoX2NvdW50cz0ke3dpdGhDb3VudHMudG9TdHJpbmcoKX1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgICAgaW50ZWdyYXRpb24oZ3VpbGRJZCwgaW50ZWdyYXRpb25JZCkge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9pbnRlZ3JhdGlvbnMvJHtpbnRlZ3JhdGlvbklkfWBcbiAgICAgIH0sXG4gICAgICBpbnRlZ3JhdGlvbnM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2ludGVncmF0aW9ucz9pbmNsdWRlX2FwcGxpY2F0aW9ucz10cnVlYFxuICAgICAgfSxcbiAgICAgIGludml0ZShpbnZpdGVDb2RlLCBvcHRpb25zKSB7XG4gICAgICAgIGxldCB1cmwgPSBgL2ludml0ZXMvJHtpbnZpdGVDb2RlfT9gXG5cbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAob3B0aW9ucy53aXRoQ291bnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgd2l0aF9jb3VudHM9JHtvcHRpb25zLndpdGhDb3VudHMudG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb25zLndpdGhFeHBpcmF0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJndpdGhfZXhwaXJhdGlvbj0ke29wdGlvbnMud2l0aEV4cGlyYXRpb24udG9TdHJpbmcoKX1gXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRpb25zLnNjaGVkdWxlZEV2ZW50SWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmd1aWxkX3NjaGVkdWxlZF9ldmVudF9pZD0ke29wdGlvbnMuc2NoZWR1bGVkRXZlbnRJZH1gXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGludml0ZXM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2ludml0ZXNgXG4gICAgICB9LFxuICAgICAgbGVhdmU6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3VzZXJzL0BtZS9ndWlsZHMvJHtndWlsZElkfWBcbiAgICAgIH0sXG4gICAgICBtZW1iZXJzOiB7XG4gICAgICAgIGJhbjogKGd1aWxkSWQsIHVzZXJJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2JhbnMvJHt1c2VySWR9YFxuICAgICAgICB9LFxuICAgICAgICBiYW5zOiAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L2JhbnM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYGxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5hZnRlcikgdXJsICs9IGAmYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmJlZm9yZSkgdXJsICs9IGAmYmVmb3JlPSR7b3B0aW9ucy5iZWZvcmV9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgYnVsa0JhbjogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9idWxrLWJhbmBcbiAgICAgICAgfSxcbiAgICAgICAgYm90OiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L21lbWJlcnMvQG1lYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXI6IChndWlsZElkLCB1c2VySWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzLyR7dXNlcklkfWBcbiAgICAgICAgfSxcbiAgICAgICAgY3VycmVudE1lbWJlcjogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC91c2Vycy9AbWUvZ3VpbGRzLyR7Z3VpbGRJZH0vbWVtYmVyYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXJzOiAoZ3VpbGRJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICAgIGxldCB1cmwgPSBgL2d1aWxkcy8ke2d1aWxkSWR9L21lbWJlcnM/YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgbGltaXQ9JHtvcHRpb25zLmxpbWl0fWBcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmFmdGVyKSB1cmwgKz0gYCZhZnRlcj0ke29wdGlvbnMuYWZ0ZXJ9YFxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgc2VhcmNoOiAoZ3VpbGRJZCwgcXVlcnksIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9tZW1iZXJzL3NlYXJjaD9xdWVyeT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeSl9YFxuXG4gICAgICAgICAgaWYgKG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0ICE9PSB1bmRlZmluZWQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHVybFxuICAgICAgICB9LFxuICAgICAgICBwcnVuZTogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9ndWlsZHMvJHtndWlsZElkfS9wcnVuZT9gXG5cbiAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuZGF5cykgdXJsICs9IGBkYXlzPSR7b3B0aW9ucy5kYXlzfWBcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMuaW5jbHVkZVJvbGVzKSkge1xuICAgICAgICAgICAgICB1cmwgKz0gYCZpbmNsdWRlX3JvbGVzPSR7b3B0aW9ucy5pbmNsdWRlUm9sZXMuam9pbignLCcpfWBcbiAgICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5pbmNsdWRlUm9sZXMpIHtcbiAgICAgICAgICAgICAgdXJsICs9IGAmaW5jbHVkZV9yb2xlcz0ke29wdGlvbnMuaW5jbHVkZVJvbGVzfWBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgbWZhOiAoZ3VpbGRJZCkgPT4gYC9ndWlsZHMvJHtndWlsZElkfS9tZmFgLFxuICAgICAgcHJldmlldzogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcHJldmlld2BcbiAgICAgIH0sXG4gICAgICBwcnVuZTogKGd1aWxkSWQsIG9wdGlvbnMpID0+IHtcbiAgICAgICAgbGV0IHVybCA9IGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcHJ1bmU/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuZGF5cykgdXJsICs9IGBkYXlzPSR7b3B0aW9ucy5kYXlzfWBcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLmluY2x1ZGVSb2xlcykpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmluY2x1ZGVfcm9sZXM9JHtvcHRpb25zLmluY2x1ZGVSb2xlcy5qb2luKCcsJyl9YFxuICAgICAgICAgIH0gZWxzZSBpZiAob3B0aW9ucy5pbmNsdWRlUm9sZXMpIHtcbiAgICAgICAgICAgIHVybCArPSBgJmluY2x1ZGVfcm9sZXM9JHtvcHRpb25zLmluY2x1ZGVSb2xlc31gXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIHJvbGVzOiB7XG4gICAgICAgIG9uZTogKGd1aWxkSWQsIHJvbGVJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3JvbGVzLyR7cm9sZUlkfWBcbiAgICAgICAgfSxcbiAgICAgICAgYWxsOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3JvbGVzYFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXI6IChndWlsZElkLCBtZW1iZXJJZCwgcm9sZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vbWVtYmVycy8ke21lbWJlcklkfS9yb2xlcy8ke3JvbGVJZH1gXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3RpY2tlcnM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3N0aWNrZXJzYFxuICAgICAgfSxcbiAgICAgIHN0aWNrZXI6IChndWlsZElkLCBzdGlja2VySWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vc3RpY2tlcnMvJHtzdGlja2VySWR9YFxuICAgICAgfSxcbiAgICAgIHZvaWNlOiAoZ3VpbGRJZCwgdXNlcklkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3ZvaWNlLXN0YXRlcy8ke3VzZXJJZCA/PyAnQG1lJ31gXG4gICAgICB9LFxuICAgICAgdGVtcGxhdGVzOiB7XG4gICAgICAgIGNvZGU6IChjb2RlKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvZ3VpbGRzL3RlbXBsYXRlcy8ke2NvZGV9YFxuICAgICAgICB9LFxuICAgICAgICBndWlsZDogKGd1aWxkSWQsIGNvZGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS90ZW1wbGF0ZXMvJHtjb2RlfWBcbiAgICAgICAgfSxcbiAgICAgICAgYWxsOiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3RlbXBsYXRlc2BcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB2YW5pdHk6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3Zhbml0eS11cmxgXG4gICAgICB9LFxuICAgICAgcmVnaW9uczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vcmVnaW9uc2BcbiAgICAgIH0sXG4gICAgICB3ZWJob29rczogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vd2ViaG9va3NgXG4gICAgICB9LFxuICAgICAgd2VsY29tZTogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vd2VsY29tZS1zY3JlZW5gXG4gICAgICB9LFxuICAgICAgd2lkZ2V0OiAoZ3VpbGRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9ndWlsZHMvJHtndWlsZElkfS93aWRnZXRgXG4gICAgICB9LFxuICAgICAgd2lkZ2V0SnNvbjogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vd2lkZ2V0Lmpzb25gXG4gICAgICB9LFxuICAgICAgb25ib2FyZGluZzogKGd1aWxkSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvZ3VpbGRzLyR7Z3VpbGRJZH0vb25ib2FyZGluZ2BcbiAgICAgIH0sXG4gICAgICBpbmNpZGVudEFjdGlvbnM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L2luY2lkZW50LWFjdGlvbnNgXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBzdGlja2VyOiAoc3RpY2tlcklkKSA9PiB7XG4gICAgICByZXR1cm4gYC9zdGlja2Vycy8ke3N0aWNrZXJJZH1gXG4gICAgfSxcblxuICAgIHJlZ2lvbnM6ICgpID0+IHtcbiAgICAgIHJldHVybiAnL3ZvaWNlL3JlZ2lvbnMnXG4gICAgfSxcblxuICAgIC8vIEludGVyYWN0aW9uIEVuZHBvaW50c1xuICAgIGludGVyYWN0aW9uczoge1xuICAgICAgY29tbWFuZHM6IHtcbiAgICAgICAgLy8gQXBwbGljYXRpb24gRW5kcG9pbnRzXG4gICAgICAgIGNvbW1hbmRzOiAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2NvbW1hbmRzYFxuICAgICAgICB9LFxuXG4gICAgICAgIGd1aWxkczoge1xuICAgICAgICAgIGFsbChhcHBsaWNhdGlvbklkLCBndWlsZElkKSB7XG4gICAgICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9ndWlsZHMvJHtndWlsZElkfS9jb21tYW5kc2BcbiAgICAgICAgICB9LFxuXG4gICAgICAgICAgb25lKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQsIGNvbW1hbmRJZCwgd2l0aExvY2FsaXphdGlvbnMpIHtcbiAgICAgICAgICAgIGxldCB1cmwgPSBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2d1aWxkcy8ke2d1aWxkSWR9L2NvbW1hbmRzLyR7Y29tbWFuZElkfT9gXG5cbiAgICAgICAgICAgIGlmICh3aXRoTG9jYWxpemF0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHVybCArPSBgd2l0aF9sb2NhbGl6YXRpb25zPSR7d2l0aExvY2FsaXphdGlvbnMudG9TdHJpbmcoKX1gXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1cmxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBwZXJtaXNzaW9uczogKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9ndWlsZHMvJHtndWlsZElkfS9jb21tYW5kcy9wZXJtaXNzaW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgcGVybWlzc2lvbjogKGFwcGxpY2F0aW9uSWQsIGd1aWxkSWQsIGNvbW1hbmRJZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2d1aWxkcy8ke2d1aWxkSWR9L2NvbW1hbmRzLyR7Y29tbWFuZElkfS9wZXJtaXNzaW9uc2BcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWFuZDogKGFwcGxpY2F0aW9uSWQsIGNvbW1hbmRJZCwgd2l0aExvY2FsaXphdGlvbnMpID0+IHtcbiAgICAgICAgICBsZXQgdXJsID0gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9jb21tYW5kcy8ke2NvbW1hbmRJZH0/YFxuXG4gICAgICAgICAgaWYgKHdpdGhMb2NhbGl6YXRpb25zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHVybCArPSBgd2l0aExvY2FsaXphdGlvbnM9JHt3aXRoTG9jYWxpemF0aW9ucy50b1N0cmluZygpfWBcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdXJsXG4gICAgICAgIH0sXG4gICAgICB9LFxuXG4gICAgICByZXNwb25zZXM6IHtcbiAgICAgICAgLy8gSW50ZXJhY3Rpb24gRW5kcG9pbnRzXG4gICAgICAgIGNhbGxiYWNrOiAoaW50ZXJhY3Rpb25JZCwgdG9rZW4sIG9wdGlvbnMpID0+IHtcbiAgICAgICAgICByZXR1cm4gYC9pbnRlcmFjdGlvbnMvJHtpbnRlcmFjdGlvbklkfS8ke3Rva2VufS9jYWxsYmFjaz93aXRoX3Jlc3BvbnNlPSR7ISFvcHRpb25zPy53aXRoUmVzcG9uc2V9YFxuICAgICAgICB9LFxuICAgICAgICBvcmlnaW5hbDogKGludGVyYWN0aW9uSWQsIHRva2VuKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvd2ViaG9va3MvJHtpbnRlcmFjdGlvbklkfS8ke3Rva2VufS9tZXNzYWdlcy9Ab3JpZ2luYWxgXG4gICAgICAgIH0sXG4gICAgICAgIG1lc3NhZ2U6IChhcHBsaWNhdGlvbklkLCB0b2tlbiwgbWVzc2FnZUlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAvd2ViaG9va3MvJHthcHBsaWNhdGlvbklkfS8ke3Rva2VufS9tZXNzYWdlcy8ke21lc3NhZ2VJZH1gXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICAvLyBPQXV0aDIgZW5kcG9pbnRzXG4gICAgb2F1dGgyOiB7XG4gICAgICB0b2tlbkV4Y2hhbmdlOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL29hdXRoMi90b2tlbidcbiAgICAgIH0sXG4gICAgICB0b2tlblJldm9rZTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gJy9vYXV0aDIvdG9rZW4vcmV2b2tlJ1xuICAgICAgfSxcbiAgICAgIGN1cnJlbnRBdXRob3JpemF0aW9uOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL29hdXRoMi9AbWUnXG4gICAgICB9LFxuICAgICAgYXBwbGljYXRpb246ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvb2F1dGgyL2FwcGxpY2F0aW9ucy9AbWUnXG4gICAgICB9LFxuICAgICAgY29ubmVjdGlvbnM6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuICcvdXNlcnMvQG1lL2Nvbm5lY3Rpb25zJ1xuICAgICAgfSxcbiAgICAgIHJvbGVDb25uZWN0aW9uczogKGFwcGxpY2F0aW9uSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvdXNlcnMvQG1lL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L3JvbGUtY29ubmVjdGlvbmBcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIG1vbmV0aXphdGlvbjoge1xuICAgICAgZW50aXRsZW1lbnRzOiAoYXBwbGljYXRpb25JZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbnRpdGxlbWVudHM/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5leGNsdWRlRW5kZWQpIHVybCArPSBgJmV4Y2x1ZGVfZW5kZWQ9JHtvcHRpb25zLmV4Y2x1ZGVFbmRlZH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMuZ3VpbGRJZCkgdXJsICs9IGAmZ3VpbGRfaWQ9JHtvcHRpb25zLmd1aWxkSWR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLmxpbWl0KSB1cmwgKz0gYCZsaW1pdD0ke29wdGlvbnMubGltaXR9YFxuICAgICAgICAgIGlmIChvcHRpb25zLnNrdUlkcykgdXJsICs9IGAmc2t1X2lkcz0ke29wdGlvbnMuc2t1SWRzLmpvaW4oJywnKX1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMudXNlcklkKSB1cmwgKz0gYCZ1c2VyX2lkPSR7b3B0aW9ucy51c2VySWR9YFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVybFxuICAgICAgfSxcbiAgICAgIGVudGl0bGVtZW50OiAoYXBwbGljYXRpb25JZCwgZW50aXRsZW1lbnRJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbnRpdGxlbWVudHMvJHtlbnRpdGxlbWVudElkfWBcbiAgICAgIH0sXG4gICAgICBjb25zdW1lRW50aXRsZW1lbnQ6IChhcHBsaWNhdGlvbklkLCBlbnRpdGxlbWVudElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2FwcGxpY2F0aW9ucy8ke2FwcGxpY2F0aW9uSWR9L2VudGl0bGVtZW50cy8ke2VudGl0bGVtZW50SWR9L2NvbnN1bWVgXG4gICAgICB9LFxuXG4gICAgICBza3VzOiAoYXBwbGljYXRpb25JZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9za3VzYFxuICAgICAgfSxcblxuICAgICAgc3Vic2NyaXB0aW9uOiAoc2t1SWQsIHN1YnNjcmlwdGlvbklkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3NrdXMvJHtza3VJZH0vc3Vic2NyaXB0aW9ucy8ke3N1YnNjcmlwdGlvbklkfWBcbiAgICAgIH0sXG5cbiAgICAgIHN1YnNjcmlwdGlvbnM6IChza3VJZCwgb3B0aW9ucykgPT4ge1xuICAgICAgICBsZXQgdXJsID0gYC9za3VzLyR7c2t1SWR9L3N1YnNjcmlwdGlvbnM/YFxuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWZ0ZXIpIHVybCArPSBgYWZ0ZXI9JHtvcHRpb25zLmFmdGVyfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy5iZWZvcmUpIHVybCArPSBgJmJlZm9yZT0ke29wdGlvbnMuYmVmb3JlfWBcbiAgICAgICAgICBpZiAob3B0aW9ucy51c2VySWQpIHVybCArPSBgJnVzZXJfaWQ9JHtvcHRpb25zLnVzZXJJZH1gXG4gICAgICAgICAgaWYgKG9wdGlvbnMubGltaXQpIHVybCArPSBgJmxpbWl0PSR7b3B0aW9ucy5saW1pdH1gXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXJsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBzb3VuZGJvYXJkOiB7XG4gICAgICBzZW5kU291bmQ6IChjaGFubmVsSWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvY2hhbm5lbHMvJHtjaGFubmVsSWR9YFxuICAgICAgfSxcbiAgICAgIGxpc3REZWZhdWx0OiAoKSA9PiB7XG4gICAgICAgIHJldHVybiBgL3NvdW5kYm9hcmQtZGVmYXVsdC1zb3VuZHNgXG4gICAgICB9LFxuICAgICAgZ3VpbGRTb3VuZHM6IChndWlsZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3NvdW5kYm9hcmQtc291bmRzYFxuICAgICAgfSxcbiAgICAgIGd1aWxkU291bmQ6IChndWlsZElkLCBzb3VuZElkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2d1aWxkcy8ke2d1aWxkSWR9L3NvdW5kYm9hcmQtc291bmRzLyR7c291bmRJZH1gXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBsb2JieToge1xuICAgICAgY3JlYXRlOiAoKSA9PiB7XG4gICAgICAgIHJldHVybiAnL2xvYmJpZXMnXG4gICAgICB9LFxuXG4gICAgICBsb2JieTogKGxvYmJ5SWQpID0+IHtcbiAgICAgICAgcmV0dXJuIGAvbG9iYmllcy8ke2xvYmJ5SWR9YFxuICAgICAgfSxcblxuICAgICAgbWVtYmVyOiAobG9iYnlJZCwgdXNlcklkKSA9PiB7XG4gICAgICAgIHJldHVybiBgL2xvYmJpZXMvJHtsb2JieUlkfS9tZW1iZXJzLyR7dXNlcklkfWBcbiAgICAgIH0sXG5cbiAgICAgIGxlYXZlOiAobG9iYnlJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9sb2JiaWVzLyR7bG9iYnlJZH0vbWVtYmVycy9AbWVgXG4gICAgICB9LFxuXG4gICAgICBsaW5rOiAobG9iYnlJZCkgPT4ge1xuICAgICAgICByZXR1cm4gYC9sb2JiaWVzLyR7bG9iYnlJZH0vY2hhbm5lbC1saW5raW5nYFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgYXBwbGljYXRpb25FbW9qaShhcHBsaWNhdGlvbklkLCBlbW9qaUlkKSB7XG4gICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9lbW9qaXMvJHtlbW9qaUlkfWBcbiAgICB9LFxuXG4gICAgYXBwbGljYXRpb25FbW9qaXMoYXBwbGljYXRpb25JZCkge1xuICAgICAgcmV0dXJuIGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vZW1vamlzYFxuICAgIH0sXG5cbiAgICBhcHBsaWNhdGlvblJvbGVDb25uZWN0aW9uTWV0YWRhdGEoYXBwbGljYXRpb25JZCkge1xuICAgICAgcmV0dXJuIGAvYXBwbGljYXRpb25zLyR7YXBwbGljYXRpb25JZH0vcm9sZS1jb25uZWN0aW9ucy9tZXRhZGF0YWBcbiAgICB9LFxuXG4gICAgLy8gVXNlciBlbmRwb2ludHNcbiAgICB1c2VyKHVzZXJJZCkge1xuICAgICAgcmV0dXJuIGAvdXNlcnMvJHt1c2VySWR9YFxuICAgIH0sXG5cbiAgICBhcHBsaWNhdGlvbigpIHtcbiAgICAgIHJldHVybiAnL2FwcGxpY2F0aW9ucy9AbWUnXG4gICAgfSxcblxuICAgIGFwcGxpY2F0aW9uQWN0aXZpdHlJbnN0YW5jZShhcHBsaWNhdGlvbklkLCBpbnN0YW5jZUlkKSB7XG4gICAgICByZXR1cm4gYC9hcHBsaWNhdGlvbnMvJHthcHBsaWNhdGlvbklkfS9hY3Rpdml0eS1pbnN0YW5jZXMvJHtpbnN0YW5jZUlkfWBcbiAgICB9LFxuXG4gICAgY3VycmVudFVzZXIoKSB7XG4gICAgICByZXR1cm4gJy91c2Vycy9AbWUnXG4gICAgfSxcblxuICAgIGdhdGV3YXlCb3QoKSB7XG4gICAgICByZXR1cm4gJy9nYXRld2F5L2JvdCdcbiAgICB9LFxuXG4gICAgc3RpY2tlclBhY2soc3RpY2tlclBhY2tJZCkge1xuICAgICAgcmV0dXJuIGAvc3RpY2tlci1wYWNrcy8ke3N0aWNrZXJQYWNrSWR9YFxuICAgIH0sXG5cbiAgICBzdGlja2VyUGFja3MoKSB7XG4gICAgICByZXR1cm4gJy9zdGlja2VyLXBhY2tzJ1xuICAgIH0sXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJpc0dldE1lc3NhZ2VzQWZ0ZXIiLCJpc0dldE1lc3NhZ2VzQXJvdW5kIiwiaXNHZXRNZXNzYWdlc0JlZm9yZSIsImlzR2V0TWVzc2FnZXNMaW1pdCIsImNyZWF0ZVJvdXRlcyIsIndlYmhvb2tzIiwiaWQiLCJ3ZWJob29rSWQiLCJtZXNzYWdlIiwidG9rZW4iLCJtZXNzYWdlSWQiLCJvcHRpb25zIiwidXJsIiwidGhyZWFkSWQiLCJ3aXRoQ29tcG9uZW50cyIsIndlYmhvb2siLCJ3YWl0IiwidW5kZWZpbmVkIiwidG9TdHJpbmciLCJjaGFubmVscyIsImJ1bGsiLCJjaGFubmVsSWQiLCJkbSIsImRtUmVjaXBpZW50IiwidXNlcklkIiwicGluIiwicGlucyIsInJlYWN0aW9ucyIsImJvdCIsImVtb2ppIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwidXNlciIsImFsbCIsInR5cGUiLCJhZnRlciIsImxpbWl0IiwiY2hhbm5lbCIsImZvbGxvdyIsImZvcnVtIiwiaW52aXRlcyIsIm1lc3NhZ2VzIiwiYmVmb3JlIiwiYXJvdW5kIiwib3ZlcndyaXRlIiwib3ZlcndyaXRlSWQiLCJjcm9zc3Bvc3QiLCJzdGFnZXMiLCJzdGFnZSIsInRocmVhZHMiLCJhY3RpdmUiLCJndWlsZElkIiwibWVtYmVycyIsIndpdGhNZW1iZXIiLCJtZSIsImdldFVzZXIiLCJhcmNoaXZlZCIsInB1YmxpYyIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsInByaXZhdGUiLCJqb2luZWQiLCJ0eXBpbmciLCJwb2xscyIsInZvdGVzIiwiYW5zd2VySWQiLCJleHBpcmUiLCJndWlsZHMiLCJ1c2VyR3VpbGRzIiwid2l0aENvdW50cyIsImF1ZGl0bG9ncyIsImFjdGlvblR5cGUiLCJhdXRvbW9kIiwicnVsZSIsInJ1bGVJZCIsInJ1bGVzIiwiZW1vamlJZCIsImVtb2ppcyIsImV2ZW50cyIsIndpdGhVc2VyQ291bnQiLCJldmVudCIsImV2ZW50SWQiLCJ1c2VycyIsImd1aWxkIiwiaW50ZWdyYXRpb24iLCJpbnRlZ3JhdGlvbklkIiwiaW50ZWdyYXRpb25zIiwiaW52aXRlIiwiaW52aXRlQ29kZSIsIndpdGhFeHBpcmF0aW9uIiwic2NoZWR1bGVkRXZlbnRJZCIsImxlYXZlIiwiYmFuIiwiYmFucyIsImJ1bGtCYW4iLCJtZW1iZXIiLCJjdXJyZW50TWVtYmVyIiwic2VhcmNoIiwicXVlcnkiLCJwcnVuZSIsImRheXMiLCJBcnJheSIsImlzQXJyYXkiLCJpbmNsdWRlUm9sZXMiLCJqb2luIiwibWZhIiwicHJldmlldyIsInJvbGVzIiwib25lIiwicm9sZUlkIiwibWVtYmVySWQiLCJzdGlja2VycyIsInN0aWNrZXIiLCJzdGlja2VySWQiLCJ2b2ljZSIsInRlbXBsYXRlcyIsImNvZGUiLCJ2YW5pdHkiLCJyZWdpb25zIiwid2VsY29tZSIsIndpZGdldCIsIndpZGdldEpzb24iLCJvbmJvYXJkaW5nIiwiaW5jaWRlbnRBY3Rpb25zIiwiaW50ZXJhY3Rpb25zIiwiY29tbWFuZHMiLCJhcHBsaWNhdGlvbklkIiwiY29tbWFuZElkIiwid2l0aExvY2FsaXphdGlvbnMiLCJwZXJtaXNzaW9ucyIsInBlcm1pc3Npb24iLCJjb21tYW5kIiwicmVzcG9uc2VzIiwiY2FsbGJhY2siLCJpbnRlcmFjdGlvbklkIiwid2l0aFJlc3BvbnNlIiwib3JpZ2luYWwiLCJvYXV0aDIiLCJ0b2tlbkV4Y2hhbmdlIiwidG9rZW5SZXZva2UiLCJjdXJyZW50QXV0aG9yaXphdGlvbiIsImFwcGxpY2F0aW9uIiwiY29ubmVjdGlvbnMiLCJyb2xlQ29ubmVjdGlvbnMiLCJtb25ldGl6YXRpb24iLCJlbnRpdGxlbWVudHMiLCJleGNsdWRlRW5kZWQiLCJza3VJZHMiLCJlbnRpdGxlbWVudCIsImVudGl0bGVtZW50SWQiLCJjb25zdW1lRW50aXRsZW1lbnQiLCJza3VzIiwic3Vic2NyaXB0aW9uIiwic2t1SWQiLCJzdWJzY3JpcHRpb25JZCIsInN1YnNjcmlwdGlvbnMiLCJzb3VuZGJvYXJkIiwic2VuZFNvdW5kIiwibGlzdERlZmF1bHQiLCJndWlsZFNvdW5kcyIsImd1aWxkU291bmQiLCJzb3VuZElkIiwibG9iYnkiLCJjcmVhdGUiLCJsb2JieUlkIiwibGluayIsImFwcGxpY2F0aW9uRW1vamkiLCJhcHBsaWNhdGlvbkVtb2ppcyIsImFwcGxpY2F0aW9uUm9sZUNvbm5lY3Rpb25NZXRhZGF0YSIsImFwcGxpY2F0aW9uQWN0aXZpdHlJbnN0YW5jZSIsImluc3RhbmNlSWQiLCJjdXJyZW50VXNlciIsImdhdGV3YXlCb3QiLCJzdGlja2VyUGFjayIsInN0aWNrZXJQYWNrSWQiLCJzdGlja2VyUGFja3MiXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLGtCQUFrQixFQUFFQyxtQkFBbUIsRUFBRUMsbUJBQW1CLEVBQUVDLGtCQUFrQixRQUFRLG9CQUFtQjtBQUdwSCxPQUFPLFNBQVNDO0lBQ2QsT0FBTztRQUNMQyxVQUFVO1lBQ1JDLElBQUksQ0FBQ0M7Z0JBQ0gsT0FBTyxDQUFDLFVBQVUsRUFBRUEsV0FBVztZQUNqQztZQUNBQyxTQUFTLENBQUNELFdBQVdFLE9BQU9DLFdBQVdDO2dCQUNyQyxJQUFJQyxNQUFNLENBQUMsVUFBVSxFQUFFTCxVQUFVLENBQUMsRUFBRUUsTUFBTSxVQUFVLEVBQUVDLFVBQVUsQ0FBQyxDQUFDO2dCQUVsRSxJQUFJQyxTQUFTO29CQUNYLElBQUlBLFFBQVFFLFFBQVEsRUFBRUQsT0FBTyxDQUFDLFVBQVUsRUFBRUQsUUFBUUUsUUFBUSxFQUFFO29CQUM1RCxJQUFJRixRQUFRRyxjQUFjLEVBQUVGLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRUQsUUFBUUcsY0FBYyxFQUFFO2dCQUNqRjtnQkFFQSxPQUFPRjtZQUNUO1lBQ0FHLFNBQVMsQ0FBQ1IsV0FBV0UsT0FBT0U7Z0JBQzFCLElBQUlDLE1BQU0sQ0FBQyxVQUFVLEVBQUVMLFVBQVUsQ0FBQyxFQUFFRSxNQUFNLENBQUMsQ0FBQztnQkFFNUMsSUFBSUUsU0FBUztvQkFDWCxJQUFJQSxTQUFTSyxTQUFTQyxXQUFXTCxPQUFPLENBQUMsS0FBSyxFQUFFRCxRQUFRSyxJQUFJLENBQUNFLFFBQVEsSUFBSTtvQkFD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