@discordeno/bot 22.0.0-beta.1 → 22.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/dist/bot.d.ts +4 -4
  2. package/dist/bot.d.ts.map +1 -1
  3. package/dist/bot.js +2 -3
  4. package/dist/commandOptionsParser.d.ts +4 -3
  5. package/dist/commandOptionsParser.d.ts.map +1 -1
  6. package/dist/commandOptionsParser.js +1 -1
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +1 -1
  9. package/dist/desiredProperties.d.ts +151 -100
  10. package/dist/desiredProperties.d.ts.map +1 -1
  11. package/dist/desiredProperties.js +290 -2
  12. package/dist/events.d.ts +34 -18
  13. package/dist/events.d.ts.map +1 -1
  14. package/dist/events.js +1 -1
  15. package/dist/handlers/channels/CHANNEL_CREATE.d.ts +2 -1
  16. package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
  17. package/dist/handlers/channels/CHANNEL_CREATE.js +1 -1
  18. package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -1
  19. package/dist/handlers/channels/CHANNEL_DELETE.js +1 -1
  20. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -1
  21. package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +1 -1
  22. package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -1
  23. package/dist/handlers/channels/CHANNEL_UPDATE.js +1 -1
  24. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -1
  25. package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +1 -1
  26. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -1
  27. package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +1 -1
  28. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -1
  29. package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +1 -1
  30. package/dist/handlers/channels/THREAD_CREATE.d.ts +1 -1
  31. package/dist/handlers/channels/THREAD_CREATE.d.ts.map +1 -1
  32. package/dist/handlers/channels/THREAD_CREATE.js +1 -1
  33. package/dist/handlers/channels/THREAD_DELETE.d.ts +1 -1
  34. package/dist/handlers/channels/THREAD_DELETE.d.ts.map +1 -1
  35. package/dist/handlers/channels/THREAD_DELETE.js +1 -1
  36. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts +1 -1
  37. package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -1
  38. package/dist/handlers/channels/THREAD_LIST_SYNC.js +1 -1
  39. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +1 -1
  40. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
  41. package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
  42. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +1 -1
  43. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
  44. package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +1 -1
  45. package/dist/handlers/channels/THREAD_UPDATE.d.ts +1 -1
  46. package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +1 -1
  47. package/dist/handlers/channels/THREAD_UPDATE.js +1 -1
  48. package/dist/handlers/channels/index.d.ts.map +1 -1
  49. package/dist/handlers/channels/index.js +1 -1
  50. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -1
  51. package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +1 -1
  52. package/dist/handlers/emojis/index.d.ts.map +1 -1
  53. package/dist/handlers/emojis/index.js +1 -1
  54. package/dist/handlers/entitlements/ENTITLEMENT_CREATE.d.ts.map +1 -1
  55. package/dist/handlers/entitlements/ENTITLEMENT_CREATE.js +1 -1
  56. package/dist/handlers/entitlements/ENTITLEMENT_DELETE.d.ts.map +1 -1
  57. package/dist/handlers/entitlements/ENTITLEMENT_DELETE.js +1 -1
  58. package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts.map +1 -1
  59. package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.js +1 -1
  60. package/dist/handlers/entitlements/index.d.ts.map +1 -1
  61. package/dist/handlers/entitlements/index.js +1 -1
  62. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -1
  63. package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
  64. package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -1
  65. package/dist/handlers/guilds/GUILD_BAN_ADD.js +1 -1
  66. package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -1
  67. package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +1 -1
  68. package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +1 -1
  69. package/dist/handlers/guilds/GUILD_CREATE.js +1 -1
  70. package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
  71. package/dist/handlers/guilds/GUILD_DELETE.js +1 -1
  72. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -1
  73. package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +1 -1
  74. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +2 -1
  75. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
  76. package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +1 -1
  77. package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -1
  78. package/dist/handlers/guilds/GUILD_UPDATE.js +1 -1
  79. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -1
  80. package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +1 -1
  81. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -1
  82. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +1 -1
  83. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -1
  84. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +1 -1
  85. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -1
  86. package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +1 -1
  87. package/dist/handlers/guilds/automod/index.d.ts.map +1 -1
  88. package/dist/handlers/guilds/automod/index.js +1 -1
  89. package/dist/handlers/guilds/index.d.ts.map +1 -1
  90. package/dist/handlers/guilds/index.js +1 -1
  91. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -1
  92. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +1 -1
  93. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -1
  94. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +1 -1
  95. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -1
  96. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +1 -1
  97. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -1
  98. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +1 -1
  99. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -1
  100. package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +1 -1
  101. package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +1 -1
  102. package/dist/handlers/guilds/scheduledEvents/index.js +1 -1
  103. package/dist/handlers/index.d.ts.map +1 -1
  104. package/dist/handlers/index.js +1 -1
  105. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts +1 -1
  106. package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -1
  107. package/dist/handlers/integrations/INTEGRATION_CREATE.js +1 -1
  108. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts +1 -1
  109. package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -1
  110. package/dist/handlers/integrations/INTEGRATION_DELETE.js +1 -1
  111. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts +1 -1
  112. package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -1
  113. package/dist/handlers/integrations/INTEGRATION_UPDATE.js +1 -1
  114. package/dist/handlers/integrations/index.d.ts.map +1 -1
  115. package/dist/handlers/integrations/index.js +1 -1
  116. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +2 -1
  117. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
  118. package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +1 -1
  119. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts +1 -1
  120. package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -1
  121. package/dist/handlers/interactions/INTERACTION_CREATE.js +1 -1
  122. package/dist/handlers/interactions/index.d.ts.map +1 -1
  123. package/dist/handlers/interactions/index.js +1 -1
  124. package/dist/handlers/invites/INVITE_CREATE.d.ts +1 -1
  125. package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
  126. package/dist/handlers/invites/INVITE_CREATE.js +20 -4
  127. package/dist/handlers/invites/INVITE_DELETE.d.ts +1 -1
  128. package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
  129. package/dist/handlers/invites/INVITE_DELETE.js +4 -4
  130. package/dist/handlers/invites/index.d.ts.map +1 -1
  131. package/dist/handlers/invites/index.js +1 -1
  132. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +1 -1
  133. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -1
  134. package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +1 -1
  135. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts +1 -1
  136. package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
  137. package/dist/handlers/members/GUILD_MEMBER_ADD.js +1 -1
  138. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts +1 -1
  139. package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -1
  140. package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +1 -1
  141. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts +1 -1
  142. package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
  143. package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
  144. package/dist/handlers/members/index.d.ts.map +1 -1
  145. package/dist/handlers/members/index.js +1 -1
  146. package/dist/handlers/messages/MESSAGE_CREATE.d.ts +1 -1
  147. package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -1
  148. package/dist/handlers/messages/MESSAGE_CREATE.js +1 -1
  149. package/dist/handlers/messages/MESSAGE_DELETE.d.ts +1 -1
  150. package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -1
  151. package/dist/handlers/messages/MESSAGE_DELETE.js +1 -1
  152. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts +1 -1
  153. package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -1
  154. package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +1 -1
  155. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts +1 -1
  156. package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
  157. package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
  158. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts +1 -1
  159. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
  160. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
  161. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +1 -1
  162. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -1
  163. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +1 -1
  164. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +1 -1
  165. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
  166. package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
  167. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts +1 -1
  168. package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -1
  169. package/dist/handlers/messages/MESSAGE_UPDATE.js +1 -1
  170. package/dist/handlers/messages/index.d.ts.map +1 -1
  171. package/dist/handlers/messages/index.js +1 -1
  172. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts +1 -1
  173. package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -1
  174. package/dist/handlers/misc/PRESENCE_UPDATE.js +1 -1
  175. package/dist/handlers/misc/RATE_LIMITED.d.ts +4 -0
  176. package/dist/handlers/misc/RATE_LIMITED.d.ts.map +1 -0
  177. package/dist/handlers/misc/RATE_LIMITED.js +7 -0
  178. package/dist/handlers/misc/READY.d.ts +1 -1
  179. package/dist/handlers/misc/READY.d.ts.map +1 -1
  180. package/dist/handlers/misc/READY.js +1 -1
  181. package/dist/handlers/misc/RESUMED.d.ts +4 -0
  182. package/dist/handlers/misc/RESUMED.d.ts.map +1 -0
  183. package/dist/handlers/misc/RESUMED.js +6 -0
  184. package/dist/handlers/misc/TYPING_START.d.ts +1 -1
  185. package/dist/handlers/misc/TYPING_START.d.ts.map +1 -1
  186. package/dist/handlers/misc/TYPING_START.js +1 -1
  187. package/dist/handlers/misc/USER_UPDATE.d.ts +1 -1
  188. package/dist/handlers/misc/USER_UPDATE.d.ts.map +1 -1
  189. package/dist/handlers/misc/USER_UPDATE.js +1 -1
  190. package/dist/handlers/misc/index.d.ts +2 -0
  191. package/dist/handlers/misc/index.d.ts.map +1 -1
  192. package/dist/handlers/misc/index.js +3 -1
  193. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts +1 -1
  194. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -1
  195. package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +1 -1
  196. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts +1 -1
  197. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -1
  198. package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +1 -1
  199. package/dist/handlers/poll/index.d.ts.map +1 -1
  200. package/dist/handlers/poll/index.js +1 -1
  201. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts +1 -1
  202. package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -1
  203. package/dist/handlers/roles/GUILD_ROLE_CREATE.js +1 -1
  204. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts +1 -1
  205. package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -1
  206. package/dist/handlers/roles/GUILD_ROLE_DELETE.js +1 -1
  207. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts +1 -1
  208. package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -1
  209. package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +1 -1
  210. package/dist/handlers/roles/index.d.ts.map +1 -1
  211. package/dist/handlers/roles/index.js +1 -1
  212. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts +1 -1
  213. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -1
  214. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +1 -1
  215. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts +1 -1
  216. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -1
  217. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +1 -1
  218. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts +1 -1
  219. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -1
  220. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +1 -1
  221. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts +1 -1
  222. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -1
  223. package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +1 -1
  224. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts +1 -1
  225. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -1
  226. package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.js +1 -1
  227. package/dist/handlers/soundboard/index.d.ts.map +1 -1
  228. package/dist/handlers/soundboard/index.js +1 -1
  229. package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts.map +1 -1
  230. package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.js +1 -1
  231. package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts.map +1 -1
  232. package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.js +1 -1
  233. package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts.map +1 -1
  234. package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.js +1 -1
  235. package/dist/handlers/subscriptions/index.d.ts.map +1 -1
  236. package/dist/handlers/subscriptions/index.js +1 -1
  237. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts +1 -1
  238. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -1
  239. package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +1 -1
  240. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts +1 -1
  241. package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -1
  242. package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +1 -1
  243. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts +1 -1
  244. package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -1
  245. package/dist/handlers/voice/VOICE_STATE_UPDATE.js +2 -5
  246. package/dist/handlers/voice/index.d.ts.map +1 -1
  247. package/dist/handlers/voice/index.js +1 -1
  248. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +1 -1
  249. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
  250. package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +1 -1
  251. package/dist/handlers/webhooks/index.d.ts.map +1 -1
  252. package/dist/handlers/webhooks/index.js +1 -1
  253. package/dist/handlers.d.ts +3 -1
  254. package/dist/handlers.d.ts.map +1 -1
  255. package/dist/handlers.js +78 -75
  256. package/dist/helpers.d.ts +62 -44
  257. package/dist/helpers.d.ts.map +1 -1
  258. package/dist/helpers.js +66 -15
  259. package/dist/index.d.ts.map +1 -1
  260. package/dist/index.js +1 -1
  261. package/dist/transformers/activity.d.ts +11 -4
  262. package/dist/transformers/activity.d.ts.map +1 -1
  263. package/dist/transformers/activity.js +34 -18
  264. package/dist/transformers/application.d.ts +5 -3
  265. package/dist/transformers/application.d.ts.map +1 -1
  266. package/dist/transformers/application.js +20 -8
  267. package/dist/transformers/applicationCommand.d.ts +2 -2
  268. package/dist/transformers/applicationCommand.d.ts.map +1 -1
  269. package/dist/transformers/applicationCommand.js +1 -1
  270. package/dist/transformers/applicationCommandOption.d.ts +2 -2
  271. package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
  272. package/dist/transformers/applicationCommandOption.js +3 -2
  273. package/dist/transformers/applicationCommandOptionChoice.d.ts +2 -2
  274. package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
  275. package/dist/transformers/applicationCommandOptionChoice.js +1 -1
  276. package/dist/transformers/applicationCommandPermission.d.ts +2 -2
  277. package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
  278. package/dist/transformers/applicationCommandPermission.js +1 -1
  279. package/dist/transformers/attachment.d.ts +4 -2
  280. package/dist/transformers/attachment.d.ts.map +1 -1
  281. package/dist/transformers/attachment.js +12 -4
  282. package/dist/transformers/auditLogEntry.d.ts +2 -2
  283. package/dist/transformers/auditLogEntry.d.ts.map +1 -1
  284. package/dist/transformers/auditLogEntry.js +3 -2
  285. package/dist/transformers/automodActionExecution.d.ts +2 -2
  286. package/dist/transformers/automodActionExecution.d.ts.map +1 -1
  287. package/dist/transformers/automodActionExecution.js +1 -1
  288. package/dist/transformers/automodRule.d.ts +2 -2
  289. package/dist/transformers/automodRule.d.ts.map +1 -1
  290. package/dist/transformers/automodRule.js +3 -2
  291. package/dist/transformers/avatarDecorationData.d.ts +5 -2
  292. package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
  293. package/dist/transformers/avatarDecorationData.js +7 -4
  294. package/dist/transformers/channel.d.ts +7 -3
  295. package/dist/transformers/channel.d.ts.map +1 -1
  296. package/dist/transformers/channel.js +14 -9
  297. package/dist/transformers/component.d.ts +11 -5
  298. package/dist/transformers/component.d.ts.map +1 -1
  299. package/dist/transformers/component.js +253 -38
  300. package/dist/transformers/embed.d.ts +2 -2
  301. package/dist/transformers/embed.d.ts.map +1 -1
  302. package/dist/transformers/embed.js +22 -5
  303. package/dist/transformers/emoji.d.ts +8 -3
  304. package/dist/transformers/emoji.d.ts.map +1 -1
  305. package/dist/transformers/emoji.js +10 -5
  306. package/dist/transformers/entitlement.d.ts +4 -2
  307. package/dist/transformers/entitlement.d.ts.map +1 -1
  308. package/dist/transformers/entitlement.js +6 -3
  309. package/dist/transformers/gatewayBot.d.ts +2 -2
  310. package/dist/transformers/gatewayBot.d.ts.map +1 -1
  311. package/dist/transformers/gatewayBot.js +1 -1
  312. package/dist/transformers/guild.d.ts +5 -3
  313. package/dist/transformers/guild.d.ts.map +1 -1
  314. package/dist/transformers/guild.js +25 -25
  315. package/dist/transformers/incidentsData.d.ts +4 -2
  316. package/dist/transformers/incidentsData.d.ts.map +1 -1
  317. package/dist/transformers/incidentsData.js +6 -3
  318. package/dist/transformers/index.d.ts.map +1 -1
  319. package/dist/transformers/index.js +1 -1
  320. package/dist/transformers/integration.d.ts +2 -2
  321. package/dist/transformers/integration.d.ts.map +1 -1
  322. package/dist/transformers/integration.js +2 -2
  323. package/dist/transformers/interaction.d.ts +20 -12
  324. package/dist/transformers/interaction.d.ts.map +1 -1
  325. package/dist/transformers/interaction.js +67 -40
  326. package/dist/transformers/invite.d.ts +5 -4
  327. package/dist/transformers/invite.d.ts.map +1 -1
  328. package/dist/transformers/invite.js +27 -28
  329. package/dist/transformers/lobby.d.ts +14 -4
  330. package/dist/transformers/lobby.d.ts.map +1 -1
  331. package/dist/transformers/lobby.js +36 -6
  332. package/dist/transformers/member.d.ts +3 -2
  333. package/dist/transformers/member.d.ts.map +1 -1
  334. package/dist/transformers/member.js +6 -3
  335. package/dist/transformers/message.d.ts +21 -10
  336. package/dist/transformers/message.d.ts.map +1 -1
  337. package/dist/transformers/message.js +53 -26
  338. package/dist/transformers/onboarding.d.ts +10 -4
  339. package/dist/transformers/onboarding.d.ts.map +1 -1
  340. package/dist/transformers/onboarding.js +17 -10
  341. package/dist/transformers/poll.d.ts +7 -3
  342. package/dist/transformers/poll.d.ts.map +1 -1
  343. package/dist/transformers/poll.js +14 -7
  344. package/dist/transformers/presence.d.ts +4 -2
  345. package/dist/transformers/presence.d.ts.map +1 -1
  346. package/dist/transformers/presence.js +10 -6
  347. package/dist/transformers/reverse/activity.d.ts +5 -2
  348. package/dist/transformers/reverse/activity.d.ts.map +1 -1
  349. package/dist/transformers/reverse/activity.js +20 -24
  350. package/dist/transformers/reverse/allowedMentions.d.ts +2 -1
  351. package/dist/transformers/reverse/allowedMentions.d.ts.map +1 -1
  352. package/dist/transformers/reverse/allowedMentions.js +1 -1
  353. package/dist/transformers/reverse/application.d.ts +3 -1
  354. package/dist/transformers/reverse/application.d.ts.map +1 -1
  355. package/dist/transformers/reverse/application.js +2 -2
  356. package/dist/transformers/reverse/applicationCommand.d.ts +3 -1
  357. package/dist/transformers/reverse/applicationCommand.d.ts.map +1 -1
  358. package/dist/transformers/reverse/applicationCommand.js +2 -2
  359. package/dist/transformers/reverse/applicationCommandOption.d.ts +3 -1
  360. package/dist/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
  361. package/dist/transformers/reverse/applicationCommandOption.js +1 -1
  362. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts +3 -1
  363. package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
  364. package/dist/transformers/reverse/applicationCommandOptionChoice.js +1 -1
  365. package/dist/transformers/reverse/applicationCommandPermission.d.ts +3 -1
  366. package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
  367. package/dist/transformers/reverse/applicationCommandPermission.js +1 -1
  368. package/dist/transformers/reverse/attachment.d.ts +2 -1
  369. package/dist/transformers/reverse/attachment.d.ts.map +1 -1
  370. package/dist/transformers/reverse/attachment.js +1 -1
  371. package/dist/transformers/reverse/auditLogEntry.d.ts +2 -1
  372. package/dist/transformers/reverse/auditLogEntry.d.ts.map +1 -1
  373. package/dist/transformers/reverse/auditLogEntry.js +3 -2
  374. package/dist/transformers/reverse/component.d.ts +4 -3
  375. package/dist/transformers/reverse/component.d.ts.map +1 -1
  376. package/dist/transformers/reverse/component.js +185 -12
  377. package/dist/transformers/reverse/embed.d.ts +2 -1
  378. package/dist/transformers/reverse/embed.d.ts.map +1 -1
  379. package/dist/transformers/reverse/embed.js +19 -4
  380. package/dist/transformers/reverse/emoji.d.ts +2 -1
  381. package/dist/transformers/reverse/emoji.d.ts.map +1 -1
  382. package/dist/transformers/reverse/emoji.js +1 -1
  383. package/dist/transformers/reverse/gatewayBot.d.ts.map +1 -1
  384. package/dist/transformers/reverse/gatewayBot.js +1 -1
  385. package/dist/transformers/reverse/index.d.ts.map +1 -1
  386. package/dist/transformers/reverse/index.js +1 -1
  387. package/dist/transformers/reverse/member.d.ts.map +1 -1
  388. package/dist/transformers/reverse/member.js +4 -2
  389. package/dist/transformers/reverse/presence.d.ts +2 -1
  390. package/dist/transformers/reverse/presence.d.ts.map +1 -1
  391. package/dist/transformers/reverse/presence.js +3 -2
  392. package/dist/transformers/reverse/team.d.ts +2 -1
  393. package/dist/transformers/reverse/team.d.ts.map +1 -1
  394. package/dist/transformers/reverse/team.js +2 -2
  395. package/dist/transformers/reverse/user.d.ts +5 -0
  396. package/dist/transformers/reverse/user.d.ts.map +1 -0
  397. package/dist/transformers/reverse/user.js +17 -0
  398. package/dist/transformers/reverse/widgetSettings.d.ts +2 -1
  399. package/dist/transformers/reverse/widgetSettings.d.ts.map +1 -1
  400. package/dist/transformers/reverse/widgetSettings.js +1 -1
  401. package/dist/transformers/role.d.ts +8 -4
  402. package/dist/transformers/role.d.ts.map +1 -1
  403. package/dist/transformers/role.js +13 -8
  404. package/dist/transformers/scheduledEvent.d.ts +7 -3
  405. package/dist/transformers/scheduledEvent.d.ts.map +1 -1
  406. package/dist/transformers/scheduledEvent.js +11 -6
  407. package/dist/transformers/sku.d.ts +4 -2
  408. package/dist/transformers/sku.d.ts.map +1 -1
  409. package/dist/transformers/sku.js +6 -3
  410. package/dist/transformers/soundboardSound.d.ts +4 -2
  411. package/dist/transformers/soundboardSound.d.ts.map +1 -1
  412. package/dist/transformers/soundboardSound.js +6 -3
  413. package/dist/transformers/stageInstance.d.ts +4 -2
  414. package/dist/transformers/stageInstance.d.ts.map +1 -1
  415. package/dist/transformers/stageInstance.js +6 -3
  416. package/dist/transformers/stageInviteInstance.d.ts +4 -3
  417. package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
  418. package/dist/transformers/stageInviteInstance.js +10 -8
  419. package/dist/transformers/sticker.d.ts +5 -3
  420. package/dist/transformers/sticker.d.ts.map +1 -1
  421. package/dist/transformers/sticker.js +6 -3
  422. package/dist/transformers/subscription.d.ts +4 -2
  423. package/dist/transformers/subscription.d.ts.map +1 -1
  424. package/dist/transformers/subscription.js +6 -3
  425. package/dist/transformers/team.d.ts +2 -2
  426. package/dist/transformers/team.d.ts.map +1 -1
  427. package/dist/transformers/team.js +2 -2
  428. package/dist/transformers/template.d.ts +2 -2
  429. package/dist/transformers/template.d.ts.map +1 -1
  430. package/dist/transformers/template.js +1 -1
  431. package/dist/transformers/threadMember.d.ts +3 -3
  432. package/dist/transformers/threadMember.d.ts.map +1 -1
  433. package/dist/transformers/threadMember.js +4 -2
  434. package/dist/transformers/toggles/Permissions.d.ts.map +1 -1
  435. package/dist/transformers/toggles/Permissions.js +1 -1
  436. package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
  437. package/dist/transformers/toggles/ToggleBitfield.js +1 -1
  438. package/dist/transformers/toggles/channel.d.ts +2 -2
  439. package/dist/transformers/toggles/channel.d.ts.map +1 -1
  440. package/dist/transformers/toggles/channel.js +2 -2
  441. package/dist/transformers/toggles/emoji.d.ts +1 -1
  442. package/dist/transformers/toggles/emoji.d.ts.map +1 -1
  443. package/dist/transformers/toggles/emoji.js +1 -1
  444. package/dist/transformers/toggles/guild.d.ts +6 -6
  445. package/dist/transformers/toggles/guild.d.ts.map +1 -1
  446. package/dist/transformers/toggles/guild.js +5 -5
  447. package/dist/transformers/toggles/index.d.ts.map +1 -1
  448. package/dist/transformers/toggles/index.js +1 -1
  449. package/dist/transformers/toggles/member.d.ts +2 -2
  450. package/dist/transformers/toggles/member.d.ts.map +1 -1
  451. package/dist/transformers/toggles/member.js +2 -2
  452. package/dist/transformers/toggles/role.d.ts +1 -1
  453. package/dist/transformers/toggles/role.d.ts.map +1 -1
  454. package/dist/transformers/toggles/role.js +1 -1
  455. package/dist/transformers/toggles/user.d.ts +1 -1
  456. package/dist/transformers/toggles/user.d.ts.map +1 -1
  457. package/dist/transformers/toggles/user.js +1 -1
  458. package/dist/transformers/toggles/voice.d.ts +1 -1
  459. package/dist/transformers/toggles/voice.d.ts.map +1 -1
  460. package/dist/transformers/toggles/voice.js +1 -1
  461. package/dist/transformers/types.d.ts +321 -65
  462. package/dist/transformers/types.d.ts.map +1 -1
  463. package/dist/transformers/types.js +2 -2
  464. package/dist/transformers/user.d.ts +14 -5
  465. package/dist/transformers/user.d.ts.map +1 -1
  466. package/dist/transformers/user.js +39 -12
  467. package/dist/transformers/voiceRegion.d.ts +2 -2
  468. package/dist/transformers/voiceRegion.d.ts.map +1 -1
  469. package/dist/transformers/voiceRegion.js +1 -1
  470. package/dist/transformers/voiceState.d.ts +4 -3
  471. package/dist/transformers/voiceState.d.ts.map +1 -1
  472. package/dist/transformers/voiceState.js +6 -4
  473. package/dist/transformers/webhook.d.ts +4 -2
  474. package/dist/transformers/webhook.d.ts.map +1 -1
  475. package/dist/transformers/webhook.js +11 -8
  476. package/dist/transformers/welcomeScreen.d.ts +2 -2
  477. package/dist/transformers/welcomeScreen.d.ts.map +1 -1
  478. package/dist/transformers/welcomeScreen.js +1 -1
  479. package/dist/transformers/widget.d.ts +2 -2
  480. package/dist/transformers/widget.d.ts.map +1 -1
  481. package/dist/transformers/widget.js +7 -5
  482. package/dist/transformers/widgetSettings.d.ts +2 -2
  483. package/dist/transformers/widgetSettings.d.ts.map +1 -1
  484. package/dist/transformers/widgetSettings.js +1 -1
  485. package/dist/transformers.d.ts +220 -216
  486. package/dist/transformers.d.ts.map +1 -1
  487. package/dist/transformers.js +89 -3
  488. package/package.json +25 -27
@@ -1,6 +1,7 @@
1
1
  import { DiscordApplicationIntegrationType, MessageFlags } from '@discordeno/types';
2
+ import { snowflakeToTimestamp } from '@discordeno/utils';
2
3
  import { CHANNEL_MENTION_REGEX } from '../constants.js';
3
- import { snowflakeToTimestamp } from '../index.js';
4
+ import { callCustomizer } from '../transformers.js';
4
5
  import { ToggleBitfield } from './toggles/ToggleBitfield.js';
5
6
  const EMPTY_STRING = '';
6
7
  export const baseMessage = {
@@ -125,9 +126,9 @@ export function transformMessage(bot, payload, extra) {
125
126
  message.flags = new ToggleBitfield(payload.flags);
126
127
  const props = bot.transformers.desiredProperties.message;
127
128
  if (props.author && payload.author) message.author = bot.transformers.user(bot, payload.author);
128
- if (props.application && payload.application) // @ts-expect-error TODO: Partials
129
- message.application = bot.transformers.application(bot, payload.application, {
130
- shardId: extra?.shardId
129
+ if (props.application && payload.application) message.application = bot.transformers.application(bot, payload.application, {
130
+ shardId: extra?.shardId,
131
+ partial: true
131
132
  });
132
133
  if (props.applicationId && payload.application_id) message.applicationId = bot.transformers.snowflake(payload.application_id);
133
134
  if (props.attachments && payload.attachments?.length) message.attachments = payload.attachments.map((attachment)=>bot.transformers.attachment(bot, attachment));
@@ -146,10 +147,10 @@ export function transformMessage(bot, payload, extra) {
146
147
  interaction.id = bot.transformers.snowflake(payload.interaction.id);
147
148
  }
148
149
  if (messageInteractionProps.member && payload.interaction.member) {
149
- // @ts-expect-error TODO: partial - check why this is partial and handle as needed
150
150
  interaction.member = bot.transformers.member(bot, payload.interaction.member, {
151
151
  guildId,
152
- userId: payload.interaction.user.id
152
+ userId: payload.interaction.user.id,
153
+ partial: true
153
154
  });
154
155
  }
155
156
  if (messageInteractionProps.name) {
@@ -163,10 +164,10 @@ export function transformMessage(bot, payload, extra) {
163
164
  }
164
165
  message.interaction = interaction;
165
166
  }
166
- if (props.member && guildId && userId && payload.member) // @ts-expect-error TODO: partial
167
- message.member = bot.transformers.member(bot, payload.member, {
167
+ if (props.member && guildId && userId && payload.member) message.member = bot.transformers.member(bot, payload.member, {
168
168
  guildId,
169
- userId
169
+ userId,
170
+ partial: true
170
171
  });
171
172
  if (payload.mention_everyone) message.mentionEveryone = true;
172
173
  if (props.mentionedChannelIds && payload.mention_channels?.length) {
@@ -180,6 +181,7 @@ export function transformMessage(bot, payload, extra) {
180
181
  }
181
182
  if (props.mentionedRoleIds && payload.mention_roles?.length) message.mentionedRoleIds = payload.mention_roles.map((id)=>bot.transformers.snowflake(id));
182
183
  if (props.mentions && payload.mentions?.length) message.mentions = payload.mentions.map((user)=>bot.transformers.user(bot, user));
184
+ if (props.channelType && payload.channel_type) message.channelType = payload.channel_type;
183
185
  if (props.messageReference && payload.message_reference) {
184
186
  const reference = {};
185
187
  const messageReferenceProps = bot.transformers.desiredProperties.messageReference;
@@ -211,8 +213,9 @@ export function transformMessage(bot, payload, extra) {
211
213
  burst: reaction.count_details.burst,
212
214
  normal: reaction.count_details.normal
213
215
  },
214
- // @ts-expect-error TODO: Deal with partials
215
- emoji: bot.transformers.emoji(bot, reaction.emoji),
216
+ emoji: bot.transformers.emoji(bot, reaction.emoji, {
217
+ partial: true
218
+ }),
216
219
  burstColors: reaction.burst_colors
217
220
  }));
218
221
  }
@@ -225,11 +228,14 @@ export function transformMessage(bot, payload, extra) {
225
228
  if (props.thread && payload.thread) message.thread = bot.transformers.channel(bot, payload.thread, {
226
229
  guildId
227
230
  });
228
- if (props.type) message.type = payload.type;
231
+ if (props.type && payload.type !== undefined) message.type = payload.type;
229
232
  if (props.webhookId && payload.webhook_id) message.webhookId = bot.transformers.snowflake(payload.webhook_id);
230
233
  if (props.poll && payload.poll) message.poll = bot.transformers.poll(bot, payload.poll);
231
234
  if (props.call && payload.call) message.call = bot.transformers.messageCall(bot, payload.call);
232
- return bot.transformers.customizers.message(bot, payload, message, extra);
235
+ return callCustomizer('message', bot, payload, message, {
236
+ shardId: extra?.shardId,
237
+ partial: extra?.partial ?? false
238
+ });
233
239
  }
234
240
  export function transformMessagePin(bot, payload, extra) {
235
241
  const props = bot.transformers.desiredProperties.messagePin;
@@ -238,28 +244,34 @@ export function transformMessagePin(bot, payload, extra) {
238
244
  if (props.message && payload.message) messagePin.message = bot.transformers.message(bot, payload.message, {
239
245
  shardId: extra?.shardId
240
246
  });
241
- return bot.transformers.customizers.messagePin(bot, payload, messagePin, extra);
247
+ return callCustomizer('messagePin', bot, payload, messagePin, {
248
+ shardId: extra?.shardId,
249
+ partial: extra?.partial ?? false
250
+ });
242
251
  }
243
252
  export function transformMessageSnapshot(bot, payload, extra) {
244
253
  const props = bot.transformers.desiredProperties.messageSnapshot;
245
254
  const messageSnapshot = {};
246
- if (props.message && payload.message) // @ts-expect-error TODO: Partials
247
- messageSnapshot.message = bot.transformers.message(bot, payload.message, {
248
- shardId: extra?.shardId
255
+ if (props.message && payload.message) messageSnapshot.message = bot.transformers.message(bot, payload.message, {
256
+ shardId: extra?.shardId,
257
+ partial: true
258
+ });
259
+ return callCustomizer('messageSnapshot', bot, payload, messageSnapshot, {
260
+ shardId: extra?.shardId,
261
+ partial: extra?.partial ?? false
249
262
  });
250
- return bot.transformers.customizers.messageSnapshot(bot, payload, messageSnapshot, extra);
251
263
  }
252
- export function transformMessageInteractionMetadata(bot, payload) {
264
+ export function transformMessageInteractionMetadata(bot, payload, extra) {
253
265
  const props = bot.transformers.desiredProperties.messageInteractionMetadata;
254
266
  const metadata = {};
255
- if (props.id) metadata.id = bot.transformers.snowflake(payload.id);
256
- if (props.authorizingIntegrationOwners) {
267
+ if (props.id && payload.id !== undefined) metadata.id = bot.transformers.snowflake(payload.id);
268
+ if (props.authorizingIntegrationOwners && payload.authorizing_integration_owners) {
257
269
  metadata.authorizingIntegrationOwners = {};
258
270
  if (payload.authorizing_integration_owners['0']) metadata.authorizingIntegrationOwners[DiscordApplicationIntegrationType.GuildInstall] = bot.transformers.snowflake(payload.authorizing_integration_owners['0']);
259
271
  if (payload.authorizing_integration_owners['1']) metadata.authorizingIntegrationOwners[DiscordApplicationIntegrationType.UserInstall] = bot.transformers.snowflake(payload.authorizing_integration_owners['1']);
260
272
  }
261
273
  if (props.originalResponseMessageId && payload.original_response_message_id) metadata.originalResponseMessageId = bot.transformers.snowflake(payload.original_response_message_id);
262
- if (props.type) metadata.type = payload.type;
274
+ if (props.type && payload.type !== undefined) metadata.type = payload.type;
263
275
  if (props.user && payload.user) metadata.user = bot.transformers.user(bot, payload.user);
264
276
  // Application command metadata
265
277
  if ('target_user' in payload) {
@@ -274,14 +286,29 @@ export function transformMessageInteractionMetadata(bot, payload) {
274
286
  if ('triggering_interaction_metadata' in payload) {
275
287
  if (props.triggeringInteractionMetadata && payload.triggering_interaction_metadata) metadata.triggeringInteractionMetadata = bot.transformers.messageInteractionMetadata(bot, payload.triggering_interaction_metadata);
276
288
  }
277
- return bot.transformers.customizers.messageInteractionMetadata(bot, payload, metadata);
289
+ return callCustomizer('messageInteractionMetadata', bot, payload, metadata, {
290
+ partial: extra?.partial ?? false
291
+ });
278
292
  }
279
- export function transformMessageCall(bot, payload) {
293
+ export function transformMessageCall(bot, payload, extra) {
280
294
  const call = {};
281
295
  const props = bot.transformers.desiredProperties.messageCall;
282
296
  if (props.participants && payload.participants) call.participants = payload.participants.map((x)=>bot.transformers.snowflake(x));
283
297
  if (props.endedTimestamp && payload.ended_timestamp) call.endedTimestamp = Date.parse(payload.ended_timestamp);
284
- return bot.transformers.customizers.messageCall(bot, payload, call);
298
+ return callCustomizer('messageCall', bot, payload, call, {
299
+ partial: extra?.partial ?? false
300
+ });
301
+ }
302
+ export function transformSharedClientTheme(bot, payload, extra) {
303
+ const props = bot.transformers.desiredProperties.sharedClientTheme;
304
+ const theme = {};
305
+ if (props.colors && payload.colors) theme.colors = payload.colors;
306
+ if (props.baseMix && payload.base_mix !== undefined) theme.baseMix = payload.base_mix;
307
+ if (props.gradientAngle && payload.gradient_angle !== undefined) theme.gradientAngle = payload.gradient_angle;
308
+ if (props.baseTheme && payload.base_theme !== undefined && payload.base_theme !== null) theme.baseTheme = payload.base_theme;
309
+ return callCustomizer('sharedClientTheme', bot, payload, theme, {
310
+ partial: extra?.partial ?? false
311
+ });
285
312
  }
286
313
 
287
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2UsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVBpbixcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICBNZXNzYWdlRmxhZ3MsXG59IGZyb20gJ0BkaXNjb3JkZW5vL3R5cGVzJ1xuaW1wb3J0IHsgQ0hBTk5FTF9NRU5USU9OX1JFR0VYIH0gZnJvbSAnLi4vY29uc3RhbnRzLmpzJ1xuaW1wb3J0IHtcbiAgdHlwZSBCb3QsXG4gIHR5cGUgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcixcbiAgdHlwZSBNZXNzYWdlLFxuICB0eXBlIE1lc3NhZ2VDYWxsLFxuICB0eXBlIE1lc3NhZ2VJbnRlcmFjdGlvbixcbiAgdHlwZSBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBNZXNzYWdlUGluLFxuICB0eXBlIE1lc3NhZ2VTbmFwc2hvdCxcbiAgdHlwZSBTZXR1cERlc2lyZWRQcm9wcyxcbiAgc25vd2ZsYWtlVG9UaW1lc3RhbXAsXG4gIHR5cGUgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG59IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgVG9nZ2xlQml0ZmllbGQgfSBmcm9tICcuL3RvZ2dsZXMvVG9nZ2xlQml0ZmllbGQuanMnXG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnXG5cbmV4cG9ydCBjb25zdCBiYXNlTWVzc2FnZTogTWVzc2FnZSA9IHtcbiAgLy8gVGhpcyBhbGxvd3MgdHlwZXNjcmlwdCB0byBzdGlsbCBjaGVjayBmb3IgdHlwZSBlcnJvcnMgb24gZnVuY3Rpb25zIGJlbG93XG4gIC4uLih1bmRlZmluZWQgYXMgdW5rbm93biBhcyBNZXNzYWdlKSxcblxuICBnZXQgY3Jvc3Nwb3N0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGNyb3NzcG9zdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZClcbiAgfSxcbiAgZ2V0IGVwaGVtZXJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGVwaGVtZXJhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbClcbiAgfSxcbiAgZ2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpXG4gIH0sXG4gIGdldCBoYXNUaHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBoYXNUaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkhhc1RocmVhZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpXG4gIH0sXG4gIGdldCBpc0Nyb3NzcG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KSA/PyBmYWxzZVxuICB9LFxuICBzZXQgaXNDcm9zc3Bvc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KVxuICB9LFxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkxvYWRpbmcpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkxvYWRpbmcpXG4gIH0sXG4gIGdldCBtZW50aW9uZWRVc2VySWRzKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnRpb25zPy5tYXAoKHVzZXIpID0+IHVzZXIuaWQpID8/IFtdXG4gIH0sXG4gIGdldCBtZW50aW9uRXZlcnlvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDIpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBtZW50aW9uRXZlcnlvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMilcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDIpXG4gIH0sXG4gIGdldCBwaW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDMpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBwaW5uZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMylcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDMpXG4gIH0sXG4gIGdldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc291cmNlTWVzc2FnZURlbGV0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKVxuICB9LFxuICBnZXQgc3VwcHJlc3NFbWJlZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHN1cHByZXNzRW1iZWRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcylcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcylcbiAgfSxcbiAgZ2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucylcbiAgfSxcbiAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IHNub3dmbGFrZVRvVGltZXN0YW1wKHRoaXMuaWQpIDogMFxuICB9LFxuICBnZXQgdHRzKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygxKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgdHRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuYml0ZmllbGQuYWRkKDEpXG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgxKVxuICB9LFxuICBnZXQgdXJnZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuVXJnZW50KSA/PyBmYWxzZVxuICB9LFxuICBzZXQgdXJnZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5VcmdlbnQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuVXJnZW50KVxuICB9LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZE1lc3NhZ2UsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlIHtcbiAgY29uc3QgZ3VpbGRJZCA9IHBheWxvYWQuZ3VpbGRfaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmd1aWxkX2lkKSA6IHVuZGVmaW5lZFxuICBjb25zdCB1c2VySWQgPSBwYXlsb2FkLmF1dGhvcj8uaWQgPyBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmF1dGhvci5pZCkgOiB1bmRlZmluZWRcblxuICBjb25zdCBtZXNzYWdlOiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VNZXNzYWdlKVxuICBtZXNzYWdlLmJpdGZpZWxkID0gbmV3IFRvZ2dsZUJpdGZpZWxkKClcbiAgbWVzc2FnZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKVxuXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlXG5cbiAgaWYgKHByb3BzLmF1dGhvciAmJiBwYXlsb2FkLmF1dGhvcikgbWVzc2FnZS5hdXRob3IgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmF1dGhvcilcbiAgaWYgKHByb3BzLmFwcGxpY2F0aW9uICYmIHBheWxvYWQuYXBwbGljYXRpb24pXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBQYXJ0aWFsc1xuICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSBib3QudHJhbnNmb3JtZXJzLmFwcGxpY2F0aW9uKGJvdCwgcGF5bG9hZC5hcHBsaWNhdGlvbiwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KVxuICBpZiAocHJvcHMuYXBwbGljYXRpb25JZCAmJiBwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKSBtZXNzYWdlLmFwcGxpY2F0aW9uSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmFwcGxpY2F0aW9uX2lkKVxuICBpZiAocHJvcHMuYXR0YWNobWVudHMgJiYgcGF5bG9hZC5hdHRhY2htZW50cz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UuYXR0YWNobWVudHMgPSBwYXlsb2FkLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpXG4gIGlmIChwcm9wcy5jaGFubmVsSWQgJiYgcGF5bG9hZC5jaGFubmVsX2lkKSBtZXNzYWdlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZClcbiAgaWYgKHByb3BzLmNvbXBvbmVudHMgJiYgcGF5bG9hZC5jb21wb25lbnRzPy5sZW5ndGgpIG1lc3NhZ2UuY29tcG9uZW50cyA9IHBheWxvYWQuY29tcG9uZW50cy5tYXAoKGNvbXApID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcCkpXG4gIGlmIChwcm9wcy5jb250ZW50KSBtZXNzYWdlLmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HXG4gIGlmIChwcm9wcy5lZGl0ZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKSBtZXNzYWdlLmVkaXRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKVxuICBpZiAocHJvcHMuZW1iZWRzICYmIHBheWxvYWQuZW1iZWRzPy5sZW5ndGgpIG1lc3NhZ2UuZW1iZWRzID0gcGF5bG9hZC5lbWJlZHMubWFwKChlbWJlZCkgPT4gYm90LnRyYW5zZm9ybWVycy5lbWJlZChib3QsIGVtYmVkKSlcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZ3VpbGRJZCkgbWVzc2FnZS5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVzc2FnZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbk1ldGFkYXRhICYmIHBheWxvYWQuaW50ZXJhY3Rpb25fbWV0YWRhdGEpXG4gICAgbWVzc2FnZS5pbnRlcmFjdGlvbk1ldGFkYXRhID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YShib3QsIHBheWxvYWQuaW50ZXJhY3Rpb25fbWV0YWRhdGEpXG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbiAmJiBwYXlsb2FkLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlSW50ZXJhY3Rpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuICAgIGNvbnN0IG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25cblxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5pZCkge1xuICAgICAgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmlkKVxuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMubWVtYmVyICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IHBhcnRpYWwgLSBjaGVjayB3aHkgdGhpcyBpcyBwYXJ0aWFsIGFuZCBoYW5kbGUgYXMgbmVlZGVkXG4gICAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCB7IGd1aWxkSWQsIHVzZXJJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyLmlkIH0pXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy5uYW1lKSB7XG4gICAgICBpbnRlcmFjdGlvbi5uYW1lID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5uYW1lXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy50eXBlKSB7XG4gICAgICBpbnRlcmFjdGlvbi50eXBlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi50eXBlXG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyKVxuICAgIH1cblxuICAgIG1lc3NhZ2UuaW50ZXJhY3Rpb24gPSBpbnRlcmFjdGlvblxuICB9XG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgZ3VpbGRJZCAmJiB1c2VySWQgJiYgcGF5bG9hZC5tZW1iZXIpXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBwYXJ0aWFsXG4gICAgbWVzc2FnZS5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQubWVtYmVyLCB7IGd1aWxkSWQsIHVzZXJJZCB9KVxuICBpZiAocGF5bG9hZC5tZW50aW9uX2V2ZXJ5b25lKSBtZXNzYWdlLm1lbnRpb25FdmVyeW9uZSA9IHRydWVcbiAgaWYgKHByb3BzLm1lbnRpb25lZENoYW5uZWxJZHMgJiYgcGF5bG9hZC5tZW50aW9uX2NoYW5uZWxzPy5sZW5ndGgpIHtcbiAgICBtZXNzYWdlLm1lbnRpb25lZENoYW5uZWxJZHMgPSBbXG4gICAgICAvLyBLZWVwIGFueSBpZHMgdGh0IGRpc2NvcmQgc2VuZHNcbiAgICAgIC4uLihwYXlsb2FkLm1lbnRpb25fY2hhbm5lbHMgPz8gW10pLm1hcCgobSkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UobS5pZCkpLFxuICAgICAgLy8gQWRkIGFueSBvdGhlciBpZHMgdGhhdCBjYW4gYmUgdmFsaWRhdGVkIGluIGEgY2hhbm5lbCBtZW50aW9uIGZvcm1hdFxuICAgICAgLi4uKHBheWxvYWQuY29udGVudD8ubWF0Y2goQ0hBTk5FTF9NRU5USU9OX1JFR0VYKSA/PyBbXSkubWFwKCh0ZXh0KSA9PlxuICAgICAgICAvLyBjb252ZXJ0cyB0aGUgPCMxMjM+IGludG8gMTIzXG4gICAgICAgIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHRleHQuc3Vic3RyaW5nKDIsIHRleHQubGVuZ3RoIC0gMSkpLFxuICAgICAgKSxcbiAgICBdXG4gIH1cbiAgaWYgKHByb3BzLm1lbnRpb25lZFJvbGVJZHMgJiYgcGF5bG9hZC5tZW50aW9uX3JvbGVzPy5sZW5ndGgpXG4gICAgbWVzc2FnZS5tZW50aW9uZWRSb2xlSWRzID0gcGF5bG9hZC5tZW50aW9uX3JvbGVzLm1hcCgoaWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSlcbiAgaWYgKHByb3BzLm1lbnRpb25zICYmIHBheWxvYWQubWVudGlvbnM/Lmxlbmd0aCkgbWVzc2FnZS5tZW50aW9ucyA9IHBheWxvYWQubWVudGlvbnMubWFwKCh1c2VyKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB1c2VyKSlcbiAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZSkge1xuICAgIGNvbnN0IHJlZmVyZW5jZSA9IHt9IGFzIE5vbk51bGxhYmxlPE1lc3NhZ2VbJ21lc3NhZ2VSZWZlcmVuY2UnXT5cbiAgICBjb25zdCBtZXNzYWdlUmVmZXJlbmNlUHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VSZWZlcmVuY2VcblxuICAgIGlmIChtZXNzYWdlUmVmZXJlbmNlUHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuY2hhbm5lbF9pZCkge1xuICAgICAgcmVmZXJlbmNlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuY2hhbm5lbF9pZClcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZClcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5tZXNzYWdlSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKSB7XG4gICAgICByZWZlcmVuY2UubWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKVxuICAgIH1cblxuICAgIG1lc3NhZ2UubWVzc2FnZVJlZmVyZW5jZSA9IHJlZmVyZW5jZVxuICB9XG4gIGlmIChwcm9wcy5yZWZlcmVuY2VkTWVzc2FnZSAmJiBwYXlsb2FkLnJlZmVyZW5jZWRfbWVzc2FnZSlcbiAgICBtZXNzYWdlLnJlZmVyZW5jZWRNZXNzYWdlID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZC5yZWZlcmVuY2VkX21lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSlcbiAgaWYgKHByb3BzLm1lc3NhZ2VTbmFwc2hvdHMgJiYgcGF5bG9hZC5tZXNzYWdlX3NuYXBzaG90cylcbiAgICBtZXNzYWdlLm1lc3NhZ2VTbmFwc2hvdHMgPSBwYXlsb2FkLm1lc3NhZ2Vfc25hcHNob3RzLm1hcCgoc25hcCkgPT4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlU25hcHNob3QoYm90LCBzbmFwLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pKVxuICBpZiAocHJvcHMubm9uY2UgJiYgcGF5bG9hZC5ub25jZSkgbWVzc2FnZS5ub25jZSA9IHBheWxvYWQubm9uY2VcbiAgaWYgKHBheWxvYWQucGlubmVkKSBtZXNzYWdlLnBpbm5lZCA9IHRydWVcbiAgaWYgKHByb3BzLnJlYWN0aW9ucyAmJiBwYXlsb2FkLnJlYWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLnJlYWN0aW9ucy5tYXAoKHJlYWN0aW9uKSA9PiAoe1xuICAgICAgbWU6IHJlYWN0aW9uLm1lLFxuICAgICAgbWVCdXJzdDogcmVhY3Rpb24ubWVfYnVyc3QsXG4gICAgICBjb3VudDogcmVhY3Rpb24uY291bnQsXG4gICAgICBjb3VudERldGFpbHM6IHtcbiAgICAgICAgYnVyc3Q6IHJlYWN0aW9uLmNvdW50X2RldGFpbHMuYnVyc3QsXG4gICAgICAgIG5vcm1hbDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5ub3JtYWwsXG4gICAgICB9LFxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUT0RPOiBEZWFsIHdpdGggcGFydGlhbHNcbiAgICAgIGVtb2ppOiBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgcmVhY3Rpb24uZW1vamkpLFxuICAgICAgYnVyc3RDb2xvcnM6IHJlYWN0aW9uLmJ1cnN0X2NvbG9ycyxcbiAgICB9KSlcbiAgfVxuICBpZiAocHJvcHMuc3RpY2tlckl0ZW1zICYmIHBheWxvYWQuc3RpY2tlcl9pdGVtcz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2Uuc3RpY2tlckl0ZW1zID0gcGF5bG9hZC5zdGlja2VyX2l0ZW1zLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGlkOiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpdGVtLmlkKSxcbiAgICAgIG5hbWU6IGl0ZW0ubmFtZSxcbiAgICAgIGZvcm1hdFR5cGU6IGl0ZW0uZm9ybWF0X3R5cGUsXG4gICAgfSkpXG4gIGlmIChwYXlsb2FkLnR0cykgbWVzc2FnZS50dHMgPSB0cnVlXG4gIGlmIChwcm9wcy50aHJlYWQgJiYgcGF5bG9hZC50aHJlYWQpIG1lc3NhZ2UudGhyZWFkID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC50aHJlYWQsIHsgZ3VpbGRJZCB9KVxuICBpZiAocHJvcHMudHlwZSkgbWVzc2FnZS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwcm9wcy53ZWJob29rSWQgJiYgcGF5bG9hZC53ZWJob29rX2lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2ViaG9va19pZClcbiAgaWYgKHByb3BzLnBvbGwgJiYgcGF5bG9hZC5wb2xsKSBtZXNzYWdlLnBvbGwgPSBib3QudHJhbnNmb3JtZXJzLnBvbGwoYm90LCBwYXlsb2FkLnBvbGwpXG4gIGlmIChwcm9wcy5jYWxsICYmIHBheWxvYWQuY2FsbCkgbWVzc2FnZS5jYWxsID0gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlQ2FsbChib3QsIHBheWxvYWQuY2FsbClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZCwgbWVzc2FnZSwgZXh0cmEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlUGluKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZVBpbiwgZXh0cmE/OiB7IHNoYXJkSWQ/OiBudW1iZXIgfSk6IE1lc3NhZ2VQaW4ge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVBpblxuICBjb25zdCBtZXNzYWdlUGluID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8TWVzc2FnZVBpbiwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLnBpbm5lZEF0ICYmIHBheWxvYWQucGlubmVkX2F0KSBtZXNzYWdlUGluLnBpbm5lZEF0ID0gRGF0ZS5wYXJzZShwYXlsb2FkLnBpbm5lZF9hdClcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlKSBtZXNzYWdlUGluLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlUGluKGJvdCwgcGF5bG9hZCwgbWVzc2FnZVBpbiwgZXh0cmEpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlU25hcHNob3QoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZXNzYWdlU25hcHNob3QsIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyIH0pOiBNZXNzYWdlU25hcHNob3Qge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVNuYXBzaG90XG4gIGNvbnN0IG1lc3NhZ2VTbmFwc2hvdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VTbmFwc2hvdCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlKVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVE9ETzogUGFydGlhbHNcbiAgICBtZXNzYWdlU25hcHNob3QubWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHBheWxvYWQubWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KSBhcyBNZXNzYWdlXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZVNuYXBzaG90KGJvdCwgcGF5bG9hZCwgbWVzc2FnZVNuYXBzaG90LCBleHRyYSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEpOiBNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YVxuICBjb25zdCBtZXRhZGF0YSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMuaWQpIG1ldGFkYXRhLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZClcbiAgaWYgKHByb3BzLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMpIHtcbiAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzID0ge31cbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSlcbiAgICAgIG1ldGFkYXRhLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLkd1aWxkSW5zdGFsbF0gPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShcbiAgICAgICAgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzAnXSxcbiAgICAgIClcbiAgICBpZiAocGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnNbJzEnXSlcbiAgICAgIG1ldGFkYXRhLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnNbRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlLlVzZXJJbnN0YWxsXSA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKFxuICAgICAgICBwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddLFxuICAgICAgKVxuICB9XG4gIGlmIChwcm9wcy5vcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkICYmIHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgICBtZXRhZGF0YS5vcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5vcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkKVxuICBpZiAocHJvcHMudHlwZSkgbWV0YWRhdGEudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMudXNlciAmJiBwYXlsb2FkLnVzZXIpIG1ldGFkYXRhLnVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnVzZXIpXG4gIC8vIEFwcGxpY2F0aW9uIGNvbW1hbmQgbWV0YWRhdGFcbiAgaWYgKCd0YXJnZXRfdXNlcicgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy50YXJnZXRVc2VyICYmIHBheWxvYWQudGFyZ2V0X3VzZXIpIG1ldGFkYXRhLnRhcmdldFVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnRhcmdldF91c2VyKVxuICAgIGlmIChwcm9wcy50YXJnZXRNZXNzYWdlSWQgJiYgcGF5bG9hZC50YXJnZXRfbWVzc2FnZV9pZCkgbWV0YWRhdGEudGFyZ2V0TWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC50YXJnZXRfbWVzc2FnZV9pZClcbiAgfVxuICAvLyBNZXNzYWdlIGNvbXBvbmVudCBtZXRhZGF0YVxuICBpZiAoJ2ludGVyYWN0ZWRfbWVzc2FnZV9pZCcgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy5pbnRlcmFjdGVkTWVzc2FnZUlkICYmIHBheWxvYWQuaW50ZXJhY3RlZF9tZXNzYWdlX2lkKVxuICAgICAgbWV0YWRhdGEuaW50ZXJhY3RlZE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3RlZF9tZXNzYWdlX2lkKVxuICB9XG4gIC8vIE1vZGFsIHN1Ym1pdCBtZXRhZGF0YVxuICBpZiAoJ3RyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEgJiYgcGF5bG9hZC50cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhKVxuICAgICAgbWV0YWRhdGEudHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC50cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhKVxuICB9XG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMubWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90LCBwYXlsb2FkLCBtZXRhZGF0YSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VDYWxsKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZUNhbGwpOiBNZXNzYWdlQ2FsbCB7XG4gIGNvbnN0IGNhbGwgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlQ2FsbCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlQ2FsbFxuXG4gIGlmIChwcm9wcy5wYXJ0aWNpcGFudHMgJiYgcGF5bG9hZC5wYXJ0aWNpcGFudHMpIGNhbGwucGFydGljaXBhbnRzID0gcGF5bG9hZC5wYXJ0aWNpcGFudHMubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh4KSlcbiAgaWYgKHByb3BzLmVuZGVkVGltZXN0YW1wICYmIHBheWxvYWQuZW5kZWRfdGltZXN0YW1wKSBjYWxsLmVuZGVkVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlQ2FsbChib3QsIHBheWxvYWQsIGNhbGwpXG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiTWVzc2FnZUZsYWdzIiwiQ0hBTk5FTF9NRU5USU9OX1JFR0VYIiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJUb2dnbGVCaXRmaWVsZCIsIkVNUFRZX1NUUklORyIsImJhc2VNZXNzYWdlIiwidW5kZWZpbmVkIiwiY3Jvc3Nwb3N0ZWQiLCJmbGFncyIsImNvbnRhaW5zIiwiQ3Jvc3Nwb3N0ZWQiLCJ2YWx1ZSIsImFkZCIsInJlbW92ZSIsImVwaGVtZXJhbCIsIkVwaGVtZXJhbCIsImZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkIiwiRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJoYXNUaHJlYWQiLCJIYXNUaHJlYWQiLCJpc0Nyb3NzcG9zdCIsIklzQ3Jvc3Nwb3N0IiwibG9hZGluZyIsIkxvYWRpbmciLCJtZW50aW9uZWRVc2VySWRzIiwibWVudGlvbnMiLCJtYXAiLCJ1c2VyIiwiaWQiLCJtZW50aW9uRXZlcnlvbmUiLCJiaXRmaWVsZCIsInBpbm5lZCIsInNvdXJjZU1lc3NhZ2VEZWxldGVkIiwiU291cmNlTWVzc2FnZURlbGV0ZWQiLCJzdXBwcmVzc0VtYmVkcyIsIlN1cHByZXNzRW1iZWRzIiwic3VwcHJlc3NOb3RpZmljYXRpb25zIiwiU3VwcHJlc3NOb3RpZmljYXRpb25zIiwidGltZXN0YW1wIiwidHRzIiwidXJnZW50IiwiVXJnZW50IiwidHJhbnNmb3JtTWVzc2FnZSIsImJvdCIsInBheWxvYWQiLCJleHRyYSIsImd1aWxkSWQiLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXJJZCIsImF1dGhvciIsIm1lc3NhZ2UiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb24iLCJzaGFyZElkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJhdHRhY2htZW50IiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImNvbXBvbmVudHMiLCJjb21wIiwiY29tcG9uZW50IiwiY29udGVudCIsImVkaXRlZFRpbWVzdGFtcCIsImVkaXRlZF90aW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJlbWJlZHMiLCJlbWJlZCIsImludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbl9tZXRhZGF0YSIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb24iLCJtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyIsIm1lc3NhZ2VJbnRlcmFjdGlvbiIsIm1lbWJlciIsIm5hbWUiLCJ0eXBlIiwibWVudGlvbl9ldmVyeW9uZSIsIm1lbnRpb25lZENoYW5uZWxJZHMiLCJtZW50aW9uX2NoYW5uZWxzIiwibSIsIm1hdGNoIiwidGV4dCIsInN1YnN0cmluZyIsIm1lbnRpb25lZFJvbGVJZHMiLCJtZW50aW9uX3JvbGVzIiwibWVzc2FnZVJlZmVyZW5jZSIsIm1lc3NhZ2VfcmVmZXJlbmNlIiwicmVmZXJlbmNlIiwibWVzc2FnZVJlZmVyZW5jZVByb3BzIiwibWVzc2FnZUlkIiwibWVzc2FnZV9pZCIsInJlZmVyZW5jZWRNZXNzYWdlIiwicmVmZXJlbmNlZF9tZXNzYWdlIiwibWVzc2FnZVNuYXBzaG90cyIsIm1lc3NhZ2Vfc25hcHNob3RzIiwic25hcCIsIm1lc3NhZ2VTbmFwc2hvdCIsIm5vbmNlIiwicmVhY3Rpb25zIiwicmVhY3Rpb24iLCJtZSIsIm1lQnVyc3QiLCJtZV9idXJzdCIsImNvdW50IiwiY291bnREZXRhaWxzIiwiYnVyc3QiLCJjb3VudF9kZXRhaWxzIiwibm9ybWFsIiwiZW1vamkiLCJidXJzdENvbG9ycyIsImJ1cnN0X2NvbG9ycyIsInN0aWNrZXJJdGVtcyIsInN0aWNrZXJfaXRlbXMiLCJpdGVtIiwiZm9ybWF0VHlwZSIsImZvcm1hdF90eXBlIiwidGhyZWFkIiwiY2hhbm5lbCIsIndlYmhvb2tJZCIsIndlYmhvb2tfaWQiLCJwb2xsIiwiY2FsbCIsIm1lc3NhZ2VDYWxsIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1NZXNzYWdlUGluIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwicGlubmVkX2F0IiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJtZXRhZGF0YSIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsIm9yaWdpbmFsUmVzcG9uc2VNZXNzYWdlSWQiLCJvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0TWVzc2FnZUlkIiwidGFyZ2V0X21lc3NhZ2VfaWQiLCJpbnRlcmFjdGVkTWVzc2FnZUlkIiwiaW50ZXJhY3RlZF9tZXNzYWdlX2lkIiwidHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJwYXJ0aWNpcGFudHMiLCJ4IiwiZW5kZWRUaW1lc3RhbXAiLCJlbmRlZF90aW1lc3RhbXAiXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLGlDQUFpQyxFQU1qQ0MsWUFBWSxRQUNQLG9CQUFtQjtBQUMxQixTQUFTQyxxQkFBcUIsUUFBUSxrQkFBaUI7QUFDdkQsU0FVRUMsb0JBQW9CLFFBRWYsY0FBYTtBQUNwQixTQUFTQyxjQUFjLFFBQVEsOEJBQTZCO0FBRTVELE1BQU1DLGVBQWU7QUFFckIsT0FBTyxNQUFNQyxjQUF1QjtJQUNsQywyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDLGVBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRUMsU0FBU1QsYUFBYVUsV0FBVyxLQUFLO0lBQzNEO0lBQ0EsSUFBSUgsYUFBWUksTUFBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ1osYUFBYVUsV0FBVzthQUM3QyxJQUFJLENBQUNGLEtBQUssQ0FBQ0ssTUFBTSxDQUFDYixhQUFhVSxXQUFXO0lBQ2pEO0lBQ0EsSUFBSUksYUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDTixLQUFLLEVBQUVDLFNBQVNULGFBQWFlLFNBQVMsS0FBSztJQUN6RDtJQUNBLElBQUlELFdBQVVILE1BQWdCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNaLGFBQWFlLFNBQVM7YUFDM0MsSUFBSSxDQUFDUCxLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYWUsU0FBUztJQUMvQztJQUNBLElBQUlDLG9DQUFtQztRQUNyQyxPQUFPLElBQUksQ0FBQ1IsS0FBSyxFQUFFQyxTQUFTVCxhQUFhaUIsZ0NBQWdDLEtBQUs7SUFDaEY7SUFDQSxJQUFJRCxrQ0FBaUNMLE1BQWdCO1FBQ25ELElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNaLGFBQWFpQixnQ0FBZ0M7YUFDbEUsSUFBSSxDQUFDVCxLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYWlCLGdDQUFnQztJQUN0RTtJQUNBLElBQUlDLGFBQVk7UUFDZCxPQUFPLElBQUksQ0FBQ1YsS0FBSyxFQUFFQyxTQUFTVCxhQUFhbUIsU0FBUyxLQUFLO0lBQ3pEO0lBQ0EsSUFBSUQsV0FBVVAsTUFBZ0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ1osYUFBYW1CLFNBQVM7YUFDM0MsSUFBSSxDQUFDWCxLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYW1CLFNBQVM7SUFDL0M7SUFDQSxJQUFJQyxlQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDWixLQUFLLEVBQUVDLFNBQVNULGFBQWFxQixXQUFXLEtBQUs7SUFDM0Q7SUFDQSxJQUFJRCxhQUFZVCxNQUFnQjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDSCxLQUFLLEVBQUU7UUFDakIsSUFBSUcsT0FBTyxJQUFJLENBQUNILEtBQUssQ0FBQ0ksR0FBRyxDQUFDWixhQUFhcUIsV0FBVzthQUM3QyxJQUFJLENBQUNiLEtBQUssQ0FBQ0ssTUFBTSxDQUFDYixhQUFhcUIsV0FBVztJQUNqRDtJQUNBLElBQUlDLFdBQVU7UUFDWixPQUFPLElBQUksQ0FBQ2QsS0FBSyxFQUFFQyxTQUFTVCxhQUFhdUIsT0FBTyxLQUFLO0lBQ3ZEO0lBQ0EsSUFBSUQsU0FBUVgsTUFBZ0I7UUFDMUIsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ1osYUFBYXVCLE9BQU87YUFDekMsSUFBSSxDQUFDZixLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYXVCLE9BQU87SUFDN0M7SUFDQSxJQUFJQyxvQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUNDLFFBQVEsRUFBRUMsSUFBSSxDQUFDQyxPQUFTQSxLQUFLQyxFQUFFLEtBQUssRUFBRTtJQUNwRDtJQUNBLElBQUlDLG1CQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQ0MsUUFBUSxFQUFFckIsU0FBUyxNQUFNO0lBQ3ZDO0lBQ0EsSUFBSW9CLGlCQUFnQmxCLE1BQWdCO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUNtQixRQUFRLEVBQUU7UUFDcEIsSUFBSW5CLE9BQU8sSUFBSSxDQUFDbUIsUUFBUSxDQUFDbEIsR0FBRyxDQUFDO2FBQ3hCLElBQUksQ0FBQ2tCLFFBQVEsQ0FBQ2pCLE1BQU0sQ0FBQztJQUM1QjtJQUNBLElBQUlrQixVQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUNELFFBQVEsRUFBRXJCLFNBQVMsTUFBTTtJQUN2QztJQUNBLElBQUlzQixRQUFPcEIsTUFBZ0I7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQ21CLFFBQVEsRUFBRTtRQUNwQixJQUFJbkIsT0FBTyxJQUFJLENBQUNtQixRQUFRLENBQUNsQixHQUFHLENBQUM7YUFDeEIsSUFBSSxDQUFDa0IsUUFBUSxDQUFDakIsTUFBTSxDQUFDO0lBQzVCO0lBQ0EsSUFBSW1CLHdCQUF1QjtRQUN6QixPQUFPLElBQUksQ0FBQ3hCLEtBQUssRUFBRUMsU0FBU1QsYUFBYWlDLG9CQUFvQixLQUFLO0lBQ3BFO0lBQ0EsSUFBSUQsc0JBQXFCckIsTUFBZ0I7UUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ1osYUFBYWlDLG9CQUFvQjthQUN0RCxJQUFJLENBQUN6QixLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYWlDLG9CQUFvQjtJQUMxRDtJQUNBLElBQUlDLGtCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQzFCLEtBQUssRUFBRUMsU0FBU1QsYUFBYW1DLGNBQWMsS0FBSztJQUM5RDtJQUNBLElBQUlELGdCQUFldkIsTUFBZ0I7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ1osYUFBYW1DLGNBQWM7YUFDaEQsSUFBSSxDQUFDM0IsS0FBSyxDQUFDSyxNQUFNLENBQUNiLGFBQWFtQyxjQUFjO0lBQ3BEO0lBQ0EsSUFBSUMseUJBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDNUIsS0FBSyxFQUFFQyxTQUFTVCxhQUFhcUMscUJBQXFCLEtBQUs7SUFDckU7SUFDQSxJQUFJRCx1QkFBc0J6QixNQUFnQjtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDSCxLQUFLLEVBQUU7UUFDakIsSUFBSUcsT0FBTyxJQUFJLENBQUNILEtBQUssQ0FBQ0ksR0FBRyxDQUFDWixhQUFhcUMscUJBQXFCO2FBQ3ZELElBQUksQ0FBQzdCLEtBQUssQ0FBQ0ssTUFBTSxDQUFDYixhQUFhcUMscUJBQXFCO0lBQzNEO0lBQ0EsSUFBSUMsYUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDVixFQUFFLEdBQUcxQixxQkFBcUIsSUFBSSxDQUFDMEIsRUFBRSxJQUFJO0lBQ25EO0lBQ0EsSUFBSVcsT0FBTTtRQUNSLE9BQU8sSUFBSSxDQUFDVCxRQUFRLEVBQUVyQixTQUFTLE1BQU07SUFDdkM7SUFDQSxJQUFJOEIsS0FBSTVCLE1BQWdCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUNtQixRQUFRLEVBQUU7UUFDcEIsSUFBSW5CLE9BQU8sSUFBSSxDQUFDbUIsUUFBUSxDQUFDbEIsR0FBRyxDQUFDO2FBQ3hCLElBQUksQ0FBQ2tCLFFBQVEsQ0FBQ2pCLE1BQU0sQ0FBQztJQUM1QjtJQUNBLElBQUkyQixVQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUNoQyxLQUFLLEVBQUVDLFNBQVNULGFBQWF5QyxNQUFNLEtBQUs7SUFDdEQ7SUFDQSxJQUFJRCxRQUFPN0IsTUFBZ0I7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ1osYUFBYXlDLE1BQU07YUFDeEMsSUFBSSxDQUFDakMsS0FBSyxDQUFDSyxNQUFNLENBQUNiLGFBQWF5QyxNQUFNO0lBQzVDO0FBQ0YsRUFBQztBQUVELE9BQU8sU0FBU0MsaUJBQWlCQyxHQUFRLEVBQUVDLE9BQXVCLEVBQUVDLEtBQTRCO0lBQzlGLE1BQU1DLFVBQVVGLFFBQVFHLFFBQVEsR0FBR0osSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFHLFFBQVEsSUFBSXpDO0lBQ2xGLE1BQU00QyxTQUFTTixRQUFRTyxNQUFNLEVBQUV2QixLQUFLZSxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUU8sTUFBTSxDQUFDdkIsRUFBRSxJQUFJdEI7SUFFcEYsTUFBTThDLFVBQWdHQyxPQUFPQyxNQUFNLENBQUNqRDtJQUNwSCtDLFFBQVF0QixRQUFRLEdBQUcsSUFBSTNCO0lBQ3ZCaUQsUUFBUTVDLEtBQUssR0FBRyxJQUFJTCxlQUFleUMsUUFBUXBDLEtBQUs7SUFFaEQsTUFBTStDLFFBQVFaLElBQUlLLFlBQVksQ0FBQ1EsaUJBQWlCLENBQUNKLE9BQU87SUFFeEQsSUFBSUcsTUFBTUosTUFBTSxJQUFJUCxRQUFRTyxNQUFNLEVBQUVDLFFBQVFELE1BQU0sR0FBR1IsSUFBSUssWUFBWSxDQUFDckIsSUFBSSxDQUFDZ0IsS0FBS0MsUUFBUU8sTUFBTTtJQUM5RixJQUFJSSxNQUFNRSxXQUFXLElBQUliLFFBQVFhLFdBQVcsRUFDMUMsa0NBQWtDO0lBQ2xDTCxRQUFRSyxXQUFXLEdBQUdkLElBQUlLLFlBQVksQ0FBQ1MsV0FBVyxDQUFDZCxLQUFLQyxRQUFRYSxXQUFXLEVBQUU7UUFBRUMsU0FBU2IsT0FBT2E7SUFBUTtJQUN6RyxJQUFJSCxNQUFNSSxhQUFhLElBQUlmLFFBQVFnQixjQUFjLEVBQUVSLFFBQVFPLGFBQWEsR0FBR2hCLElBQUlLLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRZ0IsY0FBYztJQUM1SCxJQUFJTCxNQUFNTSxXQUFXLElBQUlqQixRQUFRaUIsV0FBVyxFQUFFQyxRQUM1Q1YsUUFBUVMsV0FBVyxHQUFHakIsUUFBUWlCLFdBQVcsQ0FBQ25DLEdBQUcsQ0FBQyxDQUFDcUMsYUFBZXBCLElBQUlLLFlBQVksQ0FBQ2UsVUFBVSxDQUFDcEIsS0FBS29CO0lBQ2pHLElBQUlSLE1BQU1TLFNBQVMsSUFBSXBCLFFBQVFxQixVQUFVLEVBQUViLFFBQVFZLFNBQVMsR0FBR3JCLElBQUlLLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRcUIsVUFBVTtJQUM1RyxJQUFJVixNQUFNVyxVQUFVLElBQUl0QixRQUFRc0IsVUFBVSxFQUFFSixRQUFRVixRQUFRYyxVQUFVLEdBQUd0QixRQUFRc0IsVUFBVSxDQUFDeEMsR0FBRyxDQUFDLENBQUN5QyxPQUFTeEIsSUFBSUssWUFBWSxDQUFDb0IsU0FBUyxDQUFDekIsS0FBS3dCO0lBQzFJLElBQUlaLE1BQU1jLE9BQU8sRUFBRWpCLFFBQVFpQixPQUFPLEdBQUd6QixRQUFReUIsT0FBTyxJQUFJakU7SUFDeEQsSUFBSW1ELE1BQU1lLGVBQWUsSUFBSTFCLFFBQVEyQixnQkFBZ0IsRUFBRW5CLFFBQVFrQixlQUFlLEdBQUdFLEtBQUtDLEtBQUssQ0FBQzdCLFFBQVEyQixnQkFBZ0I7SUFDcEgsSUFBSWhCLE1BQU1tQixNQUFNLElBQUk5QixRQUFROEIsTUFBTSxFQUFFWixRQUFRVixRQUFRc0IsTUFBTSxHQUFHOUIsUUFBUThCLE1BQU0sQ0FBQ2hELEdBQUcsQ0FBQyxDQUFDaUQsUUFBVWhDLElBQUlLLFlBQVksQ0FBQzJCLEtBQUssQ0FBQ2hDLEtBQUtnQztJQUN2SCxJQUFJcEIsTUFBTVQsT0FBTyxJQUFJQSxTQUFTTSxRQUFRTixPQUFPLEdBQUdBO0lBQ2hELElBQUlTLE1BQU0zQixFQUFFLElBQUlnQixRQUFRaEIsRUFBRSxFQUFFd0IsUUFBUXhCLEVBQUUsR0FBR2UsSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFoQixFQUFFO0lBQzlFLElBQUkyQixNQUFNcUIsbUJBQW1CLElBQUloQyxRQUFRaUMsb0JBQW9CLEVBQzNEekIsUUFBUXdCLG1CQUFtQixHQUFHakMsSUFBSUssWUFBWSxDQUFDOEIsMEJBQTBCLENBQUNuQyxLQUFLQyxRQUFRaUMsb0JBQW9CO0lBQzdHLElBQUl0QixNQUFNd0IsV0FBVyxJQUFJbkMsUUFBUW1DLFdBQVcsRUFBRTtRQUM1QyxNQUFNQSxjQUFjLENBQUM7UUFDckIsTUFBTUMsMEJBQTBCckMsSUFBSUssWUFBWSxDQUFDUSxpQkFBaUIsQ0FBQ3lCLGtCQUFrQjtRQUVyRixJQUFJRCx3QkFBd0JwRCxFQUFFLEVBQUU7WUFDOUJtRCxZQUFZbkQsRUFBRSxHQUFHZSxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUW1DLFdBQVcsQ0FBQ25ELEVBQUU7UUFDcEU7UUFDQSxJQUFJb0Qsd0JBQXdCRSxNQUFNLElBQUl0QyxRQUFRbUMsV0FBVyxDQUFDRyxNQUFNLEVBQUU7WUFDaEUsa0ZBQWtGO1lBQ2xGSCxZQUFZRyxNQUFNLEdBQUd2QyxJQUFJSyxZQUFZLENBQUNrQyxNQUFNLENBQUN2QyxLQUFLQyxRQUFRbUMsV0FBVyxDQUFDRyxNQUFNLEVBQUU7Z0JBQUVwQztnQkFBU0ksUUFBUU4sUUFBUW1DLFdBQVcsQ0FBQ3BELElBQUksQ0FBQ0MsRUFBRTtZQUFDO1FBQy9IO1FBQ0EsSUFBSW9ELHdCQUF3QkcsSUFBSSxFQUFFO1lBQ2hDSixZQUFZSSxJQUFJLEdBQUd2QyxRQUFRbUMsV0FBVyxDQUFDSSxJQUFJO1FBQzdDO1FBQ0EsSUFBSUgsd0JBQXdCSSxJQUFJLEVBQUU7WUFDaENMLFlBQVlLLElBQUksR0FBR3hDLFFBQVFtQyxXQUFXLENBQUNLLElBQUk7UUFDN0M7UUFDQSxJQUFJSix3QkFBd0JyRCxJQUFJLEVBQUU7WUFDaENvRCxZQUFZcEQsSUFBSSxHQUFHZ0IsSUFBSUssWUFBWSxDQUFDckIsSUFBSSxDQUFDZ0IsS0FBS0MsUUFBUW1DLFdBQVcsQ0FBQ3BELElBQUk7UUFDeEU7UUFFQXlCLFFBQVEyQixXQUFXLEdBQUdBO0lBQ3hCO0lBQ0EsSUFBSXhCLE1BQU0yQixNQUFNLElBQUlwQyxXQUFXSSxVQUFVTixRQUFRc0MsTUFBTSxFQUNyRCxpQ0FBaUM7SUFDakM5QixRQUFROEIsTUFBTSxHQUFHdkMsSUFBSUssWUFBWSxDQUFDa0MsTUFBTSxDQUFDdkMsS0FBS0MsUUFBUXNDLE1BQU0sRUFBRTtRQUFFcEM7UUFBU0k7SUFBTztJQUNsRixJQUFJTixRQUFReUMsZ0JBQWdCLEVBQUVqQyxRQUFRdkIsZUFBZSxHQUFHO0lBQ3hELElBQUkwQixNQUFNK0IsbUJBQW1CLElBQUkxQyxRQUFRMkMsZ0JBQWdCLEVBQUV6QixRQUFRO1FBQ2pFVixRQUFRa0MsbUJBQW1CLEdBQUc7WUFDNUIsaUNBQWlDO2VBQzlCLEFBQUMxQyxDQUFBQSxRQUFRMkMsZ0JBQWdCLElBQUksRUFBRSxBQUFELEVBQUc3RCxHQUFHLENBQUMsQ0FBQzhELElBQU03QyxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ3VDLEVBQUU1RCxFQUFFO1lBQzlFLHNFQUFzRTtlQUNuRSxBQUFDZ0IsQ0FBQUEsUUFBUXlCLE9BQU8sRUFBRW9CLE1BQU14RiwwQkFBMEIsRUFBRSxBQUFELEVBQUd5QixHQUFHLENBQUMsQ0FBQ2dFLE9BQzVELCtCQUErQjtnQkFDL0IvQyxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ3lDLEtBQUtDLFNBQVMsQ0FBQyxHQUFHRCxLQUFLNUIsTUFBTSxHQUFHO1NBRTlEO0lBQ0g7SUFDQSxJQUFJUCxNQUFNcUMsZ0JBQWdCLElBQUloRCxRQUFRaUQsYUFBYSxFQUFFL0IsUUFDbkRWLFFBQVF3QyxnQkFBZ0IsR0FBR2hELFFBQVFpRCxhQUFhLENBQUNuRSxHQUFHLENBQUMsQ0FBQ0UsS0FBT2UsSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUNyQjtJQUMxRixJQUFJMkIsTUFBTTlCLFFBQVEsSUFBSW1CLFFBQVFuQixRQUFRLEVBQUVxQyxRQUFRVixRQUFRM0IsUUFBUSxHQUFHbUIsUUFBUW5CLFFBQVEsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLE9BQVNnQixJQUFJSyxZQUFZLENBQUNyQixJQUFJLENBQUNnQixLQUFLaEI7SUFDN0gsSUFBSTRCLE1BQU11QyxnQkFBZ0IsSUFBSWxELFFBQVFtRCxpQkFBaUIsRUFBRTtRQUN2RCxNQUFNQyxZQUFZLENBQUM7UUFDbkIsTUFBTUMsd0JBQXdCdEQsSUFBSUssWUFBWSxDQUFDUSxpQkFBaUIsQ0FBQ3NDLGdCQUFnQjtRQUVqRixJQUFJRyxzQkFBc0JqQyxTQUFTLElBQUlwQixRQUFRbUQsaUJBQWlCLENBQUM5QixVQUFVLEVBQUU7WUFDM0UrQixVQUFVaEMsU0FBUyxHQUFHckIsSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFtRCxpQkFBaUIsQ0FBQzlCLFVBQVU7UUFDdkY7UUFDQSxJQUFJZ0Msc0JBQXNCbkQsT0FBTyxJQUFJRixRQUFRbUQsaUJBQWlCLENBQUNoRCxRQUFRLEVBQUU7WUFDdkVpRCxVQUFVbEQsT0FBTyxHQUFHSCxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUW1ELGlCQUFpQixDQUFDaEQsUUFBUTtRQUNuRjtRQUNBLElBQUlrRCxzQkFBc0JDLFNBQVMsSUFBSXRELFFBQVFtRCxpQkFBaUIsQ0FBQ0ksVUFBVSxFQUFFO1lBQzNFSCxVQUFVRSxTQUFTLEdBQUd2RCxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUW1ELGlCQUFpQixDQUFDSSxVQUFVO1FBQ3ZGO1FBRUEvQyxRQUFRMEMsZ0JBQWdCLEdBQUdFO0lBQzdCO0lBQ0EsSUFBSXpDLE1BQU02QyxpQkFBaUIsSUFBSXhELFFBQVF5RCxrQkFBa0IsRUFDdkRqRCxRQUFRZ0QsaUJBQWlCLEdBQUd6RCxJQUFJSyxZQUFZLENBQUNJLE9BQU8sQ0FBQ1QsS0FBS0MsUUFBUXlELGtCQUFrQixFQUFFO1FBQUUzQyxTQUFTYixPQUFPYTtJQUFRO0lBQ2xILElBQUlILE1BQU0rQyxnQkFBZ0IsSUFBSTFELFFBQVEyRCxpQkFBaUIsRUFDckRuRCxRQUFRa0QsZ0JBQWdCLEdBQUcxRCxRQUFRMkQsaUJBQWlCLENBQUM3RSxHQUFHLENBQUMsQ0FBQzhFLE9BQVM3RCxJQUFJSyxZQUFZLENBQUN5RCxlQUFlLENBQUM5RCxLQUFLNkQsTUFBTTtZQUFFOUMsU0FBU2IsT0FBT2E7UUFBUTtJQUMzSSxJQUFJSCxNQUFNbUQsS0FBSyxJQUFJOUQsUUFBUThELEtBQUssRUFBRXRELFFBQVFzRCxLQUFLLEdBQUc5RCxRQUFROEQsS0FBSztJQUMvRCxJQUFJOUQsUUFBUWIsTUFBTSxFQUFFcUIsUUFBUXJCLE1BQU0sR0FBRztJQUNyQyxJQUFJd0IsTUFBTW9ELFNBQVMsSUFBSS9ELFFBQVErRCxTQUFTLEVBQUU3QyxRQUFRO1FBQ2hEVixRQUFRdUQsU0FBUyxHQUFHL0QsUUFBUStELFNBQVMsQ0FBQ2pGLEdBQUcsQ0FBQyxDQUFDa0YsV0FBYyxDQUFBO2dCQUN2REMsSUFBSUQsU0FBU0MsRUFBRTtnQkFDZkMsU0FBU0YsU0FBU0csUUFBUTtnQkFDMUJDLE9BQU9KLFNBQVNJLEtBQUs7Z0JBQ3JCQyxjQUFjO29CQUNaQyxPQUFPTixTQUFTTyxhQUFhLENBQUNELEtBQUs7b0JBQ25DRSxRQUFRUixTQUFTTyxhQUFhLENBQUNDLE1BQU07Z0JBQ3ZDO2dCQUNBLDRDQUE0QztnQkFDNUNDLE9BQU8xRSxJQUFJSyxZQUFZLENBQUNxRSxLQUFLLENBQUMxRSxLQUFLaUUsU0FBU1MsS0FBSztnQkFDakRDLGFBQWFWLFNBQVNXLFlBQVk7WUFDcEMsQ0FBQTtJQUNGO0lBQ0EsSUFBSWhFLE1BQU1pRSxZQUFZLElBQUk1RSxRQUFRNkUsYUFBYSxFQUFFM0QsUUFDL0NWLFFBQVFvRSxZQUFZLEdBQUc1RSxRQUFRNkUsYUFBYSxDQUFDL0YsR0FBRyxDQUFDLENBQUNnRyxPQUFVLENBQUE7WUFDMUQ5RixJQUFJZSxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ3lFLEtBQUs5RixFQUFFO1lBQ3RDdUQsTUFBTXVDLEtBQUt2QyxJQUFJO1lBQ2Z3QyxZQUFZRCxLQUFLRSxXQUFXO1FBQzlCLENBQUE7SUFDRixJQUFJaEYsUUFBUUwsR0FBRyxFQUFFYSxRQUFRYixHQUFHLEdBQUc7SUFDL0IsSUFBSWdCLE1BQU1zRSxNQUFNLElBQUlqRixRQUFRaUYsTUFBTSxFQUFFekUsUUFBUXlFLE1BQU0sR0FBR2xGLElBQUlLLFlBQVksQ0FBQzhFLE9BQU8sQ0FBQ25GLEtBQUtDLFFBQVFpRixNQUFNLEVBQUU7UUFBRS9FO0lBQVE7SUFDN0csSUFBSVMsTUFBTTZCLElBQUksRUFBRWhDLFFBQVFnQyxJQUFJLEdBQUd4QyxRQUFRd0MsSUFBSTtJQUMzQyxJQUFJN0IsTUFBTXdFLFNBQVMsSUFBSW5GLFFBQVFvRixVQUFVLEVBQUU1RSxRQUFRMkUsU0FBUyxHQUFHcEYsSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUNMLFFBQVFvRixVQUFVO0lBQzVHLElBQUl6RSxNQUFNMEUsSUFBSSxJQUFJckYsUUFBUXFGLElBQUksRUFBRTdFLFFBQVE2RSxJQUFJLEdBQUd0RixJQUFJSyxZQUFZLENBQUNpRixJQUFJLENBQUN0RixLQUFLQyxRQUFRcUYsSUFBSTtJQUN0RixJQUFJMUUsTUFBTTJFLElBQUksSUFBSXRGLFFBQVFzRixJQUFJLEVBQUU5RSxRQUFROEUsSUFBSSxHQUFHdkYsSUFBSUssWUFBWSxDQUFDbUYsV0FBVyxDQUFDeEYsS0FBS0MsUUFBUXNGLElBQUk7SUFFN0YsT0FBT3ZGLElBQUlLLFlBQVksQ0FBQ29GLFdBQVcsQ0FBQ2hGLE9BQU8sQ0FBQ1QsS0FBS0MsU0FBU1EsU0FBU1A7QUFDckU7QUFFQSxPQUFPLFNBQVN3RixvQkFBb0IxRixHQUFRLEVBQUVDLE9BQTBCLEVBQUVDLEtBQTRCO0lBQ3BHLE1BQU1VLFFBQVFaLElBQUlLLFlBQVksQ0FBQ1EsaUJBQWlCLENBQUM4RSxVQUFVO0lBQzNELE1BQU1BLGFBQWEsQ0FBQztJQUVwQixJQUFJL0UsTUFBTWdGLFFBQVEsSUFBSTNGLFFBQVE0RixTQUFTLEVBQUVGLFdBQVdDLFFBQVEsR0FBRy9ELEtBQUtDLEtBQUssQ0FBQzdCLFFBQVE0RixTQUFTO0lBQzNGLElBQUlqRixNQUFNSCxPQUFPLElBQUlSLFFBQVFRLE9BQU8sRUFBRWtGLFdBQVdsRixPQUFPLEdBQUdULElBQUlLLFlBQVksQ0FBQ0ksT0FBTyxDQUFDVCxLQUFLQyxRQUFRUSxPQUFPLEVBQUU7UUFBRU0sU0FBU2IsT0FBT2E7SUFBUTtJQUVwSSxPQUFPZixJQUFJSyxZQUFZLENBQUNvRixXQUFXLENBQUNFLFVBQVUsQ0FBQzNGLEtBQUtDLFNBQVMwRixZQUFZekY7QUFDM0U7QUFFQSxPQUFPLFNBQVM0Rix5QkFBeUI5RixHQUFRLEVBQUVDLE9BQStCLEVBQUVDLEtBQTRCO0lBQzlHLE1BQU1VLFFBQVFaLElBQUlLLFlBQVksQ0FBQ1EsaUJBQWlCLENBQUNpRCxlQUFlO0lBQ2hFLE1BQU1BLGtCQUFrQixDQUFDO0lBRXpCLElBQUlsRCxNQUFNSCxPQUFPLElBQUlSLFFBQVFRLE9BQU8sRUFDbEMsa0NBQWtDO0lBQ2xDcUQsZ0JBQWdCckQsT0FBTyxHQUFHVCxJQUFJSyxZQUFZLENBQUNJLE9BQU8sQ0FBQ1QsS0FBS0MsUUFBUVEsT0FBTyxFQUFFO1FBQUVNLFNBQVNiLE9BQU9hO0lBQVE7SUFFckcsT0FBT2YsSUFBSUssWUFBWSxDQUFDb0YsV0FBVyxDQUFDM0IsZUFBZSxDQUFDOUQsS0FBS0MsU0FBUzZELGlCQUFpQjVEO0FBQ3JGO0FBRUEsT0FBTyxTQUFTNkYsb0NBQW9DL0YsR0FBUSxFQUFFQyxPQUEwQztJQUN0RyxNQUFNVyxRQUFRWixJQUFJSyxZQUFZLENBQUNRLGlCQUFpQixDQUFDc0IsMEJBQTBCO0lBQzNFLE1BQU02RCxXQUFXLENBQUM7SUFFbEIsSUFBSXBGLE1BQU0zQixFQUFFLEVBQUUrRyxTQUFTL0csRUFBRSxHQUFHZSxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUWhCLEVBQUU7SUFDakUsSUFBSTJCLE1BQU1xRiw0QkFBNEIsRUFBRTtRQUN0Q0QsU0FBU0MsNEJBQTRCLEdBQUcsQ0FBQztRQUN6QyxJQUFJaEcsUUFBUWlHLDhCQUE4QixDQUFDLElBQUksRUFDN0NGLFNBQVNDLDRCQUE0QixDQUFDN0ksa0NBQWtDK0ksWUFBWSxDQUFDLEdBQUduRyxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FDaEhMLFFBQVFpRyw4QkFBOEIsQ0FBQyxJQUFJO1FBRS9DLElBQUlqRyxRQUFRaUcsOEJBQThCLENBQUMsSUFBSSxFQUM3Q0YsU0FBU0MsNEJBQTRCLENBQUM3SSxrQ0FBa0NnSixXQUFXLENBQUMsR0FBR3BHLElBQUlLLFlBQVksQ0FBQ0MsU0FBUyxDQUMvR0wsUUFBUWlHLDhCQUE4QixDQUFDLElBQUk7SUFFakQ7SUFDQSxJQUFJdEYsTUFBTXlGLHlCQUF5QixJQUFJcEcsUUFBUXFHLDRCQUE0QixFQUN6RU4sU0FBU0sseUJBQXlCLEdBQUdyRyxJQUFJSyxZQUFZLENBQUNDLFNBQVMsQ0FBQ0wsUUFBUXFHLDRCQUE0QjtJQUN0RyxJQUFJMUYsTUFBTTZCLElBQUksRUFBRXVELFNBQVN2RCxJQUFJLEdBQUd4QyxRQUFRd0MsSUFBSTtJQUM1QyxJQUFJN0IsTUFBTTVCLElBQUksSUFBSWlCLFFBQVFqQixJQUFJLEVBQUVnSCxTQUFTaEgsSUFBSSxHQUFHZ0IsSUFBSUssWUFBWSxDQUFDckIsSUFBSSxDQUFDZ0IsS0FBS0MsUUFBUWpCLElBQUk7SUFDdkYsK0JBQStCO0lBQy9CLElBQUksaUJBQWlCaUIsU0FBUztRQUM1QixJQUFJVyxNQUFNMkYsVUFBVSxJQUFJdEcsUUFBUXVHLFdBQVcsRUFBRVIsU0FBU08sVUFBVSxHQUFHdkcsSUFBSUssWUFBWSxDQUFDckIsSUFBSSxDQUFDZ0IsS0FBS0MsUUFBUXVHLFdBQVc7UUFDakgsSUFBSTVGLE1BQU02RixlQUFlLElBQUl4RyxRQUFReUcsaUJBQWlCLEVBQUVWLFNBQVNTLGVBQWUsR0FBR3pHLElBQUlLLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFReUcsaUJBQWlCO0lBQ3pJO0lBQ0EsNkJBQTZCO0lBQzdCLElBQUksMkJBQTJCekcsU0FBUztRQUN0QyxJQUFJVyxNQUFNK0YsbUJBQW1CLElBQUkxRyxRQUFRMkcscUJBQXFCLEVBQzVEWixTQUFTVyxtQkFBbUIsR0FBRzNHLElBQUlLLFlBQVksQ0FBQ0MsU0FBUyxDQUFDTCxRQUFRMkcscUJBQXFCO0lBQzNGO0lBQ0Esd0JBQXdCO0lBQ3hCLElBQUkscUNBQXFDM0csU0FBUztRQUNoRCxJQUFJVyxNQUFNaUcsNkJBQTZCLElBQUk1RyxRQUFRNkcsK0JBQStCLEVBQ2hGZCxTQUFTYSw2QkFBNkIsR0FBRzdHLElBQUlLLFlBQVksQ0FBQzhCLDBCQUEwQixDQUFDbkMsS0FBS0MsUUFBUTZHLCtCQUErQjtJQUNySTtJQUVBLE9BQU85RyxJQUFJSyxZQUFZLENBQUNvRixXQUFXLENBQUN0RCwwQkFBMEIsQ0FBQ25DLEtBQUtDLFNBQVMrRjtBQUMvRTtBQUVBLE9BQU8sU0FBU2UscUJBQXFCL0csR0FBUSxFQUFFQyxPQUEyQjtJQUN4RSxNQUFNc0YsT0FBTyxDQUFDO0lBQ2QsTUFBTTNFLFFBQVFaLElBQUlLLFlBQVksQ0FBQ1EsaUJBQWlCLENBQUMyRSxXQUFXO0lBRTVELElBQUk1RSxNQUFNb0csWUFBWSxJQUFJL0csUUFBUStHLFlBQVksRUFBRXpCLEtBQUt5QixZQUFZLEdBQUcvRyxRQUFRK0csWUFBWSxDQUFDakksR0FBRyxDQUFDLENBQUNrSSxJQUFNakgsSUFBSUssWUFBWSxDQUFDQyxTQUFTLENBQUMyRztJQUMvSCxJQUFJckcsTUFBTXNHLGNBQWMsSUFBSWpILFFBQVFrSCxlQUFlLEVBQUU1QixLQUFLMkIsY0FBYyxHQUFHckYsS0FBS0MsS0FBSyxDQUFDN0IsUUFBUWtILGVBQWU7SUFFN0csT0FBT25ILElBQUlLLFlBQVksQ0FBQ29GLFdBQVcsQ0FBQ0QsV0FBVyxDQUFDeEYsS0FBS0MsU0FBU3NGO0FBQ2hFIn0=
314
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2UsXG4gIHR5cGUgRGlzY29yZE1lc3NhZ2VDYWxsLFxuICB0eXBlIERpc2NvcmRNZXNzYWdlSW50ZXJhY3Rpb25NZXRhZGF0YSxcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVBpbixcbiAgdHlwZSBEaXNjb3JkTWVzc2FnZVNuYXBzaG90LFxuICB0eXBlIERpc2NvcmRTaGFyZWRDbGllbnRUaGVtZSxcbiAgTWVzc2FnZUZsYWdzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgeyBzbm93Zmxha2VUb1RpbWVzdGFtcCB9IGZyb20gJ0BkaXNjb3JkZW5vL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgQm90IH0gZnJvbSAnLi4vYm90LmpzJztcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNhbGxDdXN0b21pemVyIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzLmpzJztcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi90b2dnbGVzL1RvZ2dsZUJpdGZpZWxkLmpzJztcbmltcG9ydCB0eXBlIHtcbiAgTWVzc2FnZSxcbiAgTWVzc2FnZUNhbGwsXG4gIE1lc3NhZ2VJbnRlcmFjdGlvbixcbiAgTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEsXG4gIE1lc3NhZ2VQaW4sXG4gIE1lc3NhZ2VTbmFwc2hvdCxcbiAgU2hhcmVkQ2xpZW50VGhlbWUsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG5jb25zdCBFTVBUWV9TVFJJTkcgPSAnJztcblxuZXhwb3J0IGNvbnN0IGJhc2VNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAvLyBUaGlzIGFsbG93cyB0eXBlc2NyaXB0IHRvIHN0aWxsIGNoZWNrIGZvciB0eXBlIGVycm9ycyBvbiBmdW5jdGlvbnMgYmVsb3dcbiAgLi4uKHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIE1lc3NhZ2UpLFxuXG4gIGdldCBjcm9zc3Bvc3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGNyb3NzcG9zdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuQ3Jvc3Nwb3N0ZWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkNyb3NzcG9zdGVkKTtcbiAgfSxcbiAgZ2V0IGVwaGVtZXJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBlcGhlbWVyYWwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5FcGhlbWVyYWwpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCk7XG4gIH0sXG4gIGdldCBmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKTtcbiAgfSxcbiAgZ2V0IGhhc1RocmVhZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBoYXNUaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkhhc1RocmVhZCk7XG4gIH0sXG4gIGdldCBpc0Nyb3NzcG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGlzQ3Jvc3Nwb3N0KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuSXNDcm9zc3Bvc3QpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KTtcbiAgfSxcbiAgZ2V0IGxvYWRpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IGxvYWRpbmcodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKTtcbiAgfSxcbiAgZ2V0IG1lbnRpb25lZFVzZXJJZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudGlvbnM/Lm1hcCgodXNlcikgPT4gdXNlci5pZCkgPz8gW107XG4gIH0sXG4gIGdldCBtZW50aW9uRXZlcnlvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDIpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgbWVudGlvbkV2ZXJ5b25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmJpdGZpZWxkLmFkZCgyKTtcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDIpO1xuICB9LFxuICBnZXQgcGlubmVkKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygzKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHBpbm5lZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMyk7XG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgzKTtcbiAgfSxcbiAgZ2V0IHNvdXJjZU1lc3NhZ2VEZWxldGVkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgc291cmNlTWVzc2FnZURlbGV0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Tb3VyY2VNZXNzYWdlRGVsZXRlZCk7XG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuU291cmNlTWVzc2FnZURlbGV0ZWQpO1xuICB9LFxuICBnZXQgc3VwcHJlc3NFbWJlZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcykgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCBzdXBwcmVzc0VtYmVkcyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlN1cHByZXNzRW1iZWRzKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcyk7XG4gIH0sXG4gIGdldCBzdXBwcmVzc05vdGlmaWNhdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpID8/IGZhbHNlO1xuICB9LFxuICBzZXQgc3VwcHJlc3NOb3RpZmljYXRpb25zKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm47XG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKTtcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc05vdGlmaWNhdGlvbnMpO1xuICB9LFxuICBnZXQgdGltZXN0YW1wKCkge1xuICAgIHJldHVybiB0aGlzLmlkID8gc25vd2ZsYWtlVG9UaW1lc3RhbXAodGhpcy5pZCkgOiAwO1xuICB9LFxuICBnZXQgdHRzKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygxKSA/PyBmYWxzZTtcbiAgfSxcbiAgc2V0IHR0cyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5iaXRmaWVsZCkgcmV0dXJuO1xuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMSk7XG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgxKTtcbiAgfSxcbiAgZ2V0IHVyZ2VudCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlVyZ2VudCkgPz8gZmFsc2U7XG4gIH0sXG4gIHNldCB1cmdlbnQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVybjtcbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5VcmdlbnQpO1xuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlVyZ2VudCk7XG4gIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZShib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkTWVzc2FnZT4sIGV4dHJhPzogeyBzaGFyZElkPzogbnVtYmVyOyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IGd1aWxkSWQgPSBwYXlsb2FkLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCkgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHVzZXJJZCA9IHBheWxvYWQuYXV0aG9yPy5pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXV0aG9yLmlkKSA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBtZXNzYWdlOiBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj4gPSBPYmplY3QuY3JlYXRlKGJhc2VNZXNzYWdlKTtcbiAgbWVzc2FnZS5iaXRmaWVsZCA9IG5ldyBUb2dnbGVCaXRmaWVsZCgpO1xuICBtZXNzYWdlLmZsYWdzID0gbmV3IFRvZ2dsZUJpdGZpZWxkKHBheWxvYWQuZmxhZ3MpO1xuXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlO1xuXG4gIGlmIChwcm9wcy5hdXRob3IgJiYgcGF5bG9hZC5hdXRob3IpIG1lc3NhZ2UuYXV0aG9yID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5hdXRob3IpO1xuICBpZiAocHJvcHMuYXBwbGljYXRpb24gJiYgcGF5bG9hZC5hcHBsaWNhdGlvbilcbiAgICBtZXNzYWdlLmFwcGxpY2F0aW9uID0gYm90LnRyYW5zZm9ybWVycy5hcHBsaWNhdGlvbihib3QsIHBheWxvYWQuYXBwbGljYXRpb24sIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsIHBhcnRpYWw6IHRydWUgfSk7XG4gIGlmIChwcm9wcy5hcHBsaWNhdGlvbklkICYmIHBheWxvYWQuYXBwbGljYXRpb25faWQpIG1lc3NhZ2UuYXBwbGljYXRpb25JZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwbGljYXRpb25faWQpO1xuICBpZiAocHJvcHMuYXR0YWNobWVudHMgJiYgcGF5bG9hZC5hdHRhY2htZW50cz8ubGVuZ3RoKVxuICAgIG1lc3NhZ2UuYXR0YWNobWVudHMgPSBwYXlsb2FkLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpO1xuICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgbWVzc2FnZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpO1xuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHM/Lmxlbmd0aCkgbWVzc2FnZS5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wKSk7XG4gIGlmIChwcm9wcy5jb250ZW50KSBtZXNzYWdlLmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HO1xuICBpZiAocHJvcHMuZWRpdGVkVGltZXN0YW1wICYmIHBheWxvYWQuZWRpdGVkX3RpbWVzdGFtcCkgbWVzc2FnZS5lZGl0ZWRUaW1lc3RhbXAgPSBEYXRlLnBhcnNlKHBheWxvYWQuZWRpdGVkX3RpbWVzdGFtcCk7XG4gIGlmIChwcm9wcy5lbWJlZHMgJiYgcGF5bG9hZC5lbWJlZHM/Lmxlbmd0aCkgbWVzc2FnZS5lbWJlZHMgPSBwYXlsb2FkLmVtYmVkcy5tYXAoKGVtYmVkKSA9PiBib3QudHJhbnNmb3JtZXJzLmVtYmVkKGJvdCwgZW1iZWQpKTtcbiAgaWYgKHByb3BzLmd1aWxkSWQgJiYgZ3VpbGRJZCkgbWVzc2FnZS5ndWlsZElkID0gZ3VpbGRJZDtcbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIG1lc3NhZ2UuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmludGVyYWN0aW9uTWV0YWRhdGEgJiYgcGF5bG9hZC5pbnRlcmFjdGlvbl9tZXRhZGF0YSlcbiAgICBtZXNzYWdlLmludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbl9tZXRhZGF0YSk7XG4gIGlmIChwcm9wcy5pbnRlcmFjdGlvbiAmJiBwYXlsb2FkLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlSW50ZXJhY3Rpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcbiAgICBjb25zdCBtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZUludGVyYWN0aW9uO1xuXG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLmlkKSB7XG4gICAgICBpbnRlcmFjdGlvbi5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaW50ZXJhY3Rpb24uaWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMubWVtYmVyICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKSB7XG4gICAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCB7IGd1aWxkSWQsIHVzZXJJZDogcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyLmlkLCBwYXJ0aWFsOiB0cnVlIH0pO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZUludGVyYWN0aW9uUHJvcHMubmFtZSkge1xuICAgICAgaW50ZXJhY3Rpb24ubmFtZSA9IHBheWxvYWQuaW50ZXJhY3Rpb24ubmFtZTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VJbnRlcmFjdGlvblByb3BzLnR5cGUpIHtcbiAgICAgIGludGVyYWN0aW9uLnR5cGUgPSBwYXlsb2FkLmludGVyYWN0aW9uLnR5cGU7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcy51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyKTtcbiAgICB9XG5cbiAgICBtZXNzYWdlLmludGVyYWN0aW9uID0gaW50ZXJhY3Rpb247XG4gIH1cbiAgaWYgKHByb3BzLm1lbWJlciAmJiBndWlsZElkICYmIHVzZXJJZCAmJiBwYXlsb2FkLm1lbWJlcilcbiAgICBtZXNzYWdlLm1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgcGF5bG9hZC5tZW1iZXIsIHsgZ3VpbGRJZCwgdXNlcklkLCBwYXJ0aWFsOiB0cnVlIH0pO1xuICBpZiAocGF5bG9hZC5tZW50aW9uX2V2ZXJ5b25lKSBtZXNzYWdlLm1lbnRpb25FdmVyeW9uZSA9IHRydWU7XG4gIGlmIChwcm9wcy5tZW50aW9uZWRDaGFubmVsSWRzICYmIHBheWxvYWQubWVudGlvbl9jaGFubmVscz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5tZW50aW9uZWRDaGFubmVsSWRzID0gW1xuICAgICAgLy8gS2VlcCBhbnkgaWRzIHRodCBkaXNjb3JkIHNlbmRzXG4gICAgICAuLi4ocGF5bG9hZC5tZW50aW9uX2NoYW5uZWxzID8/IFtdKS5tYXAoKG0pID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKG0uaWQpKSxcbiAgICAgIC8vIEFkZCBhbnkgb3RoZXIgaWRzIHRoYXQgY2FuIGJlIHZhbGlkYXRlZCBpbiBhIGNoYW5uZWwgbWVudGlvbiBmb3JtYXRcbiAgICAgIC4uLihwYXlsb2FkLmNvbnRlbnQ/Lm1hdGNoKENIQU5ORUxfTUVOVElPTl9SRUdFWCkgPz8gW10pLm1hcCgodGV4dCkgPT5cbiAgICAgICAgLy8gY29udmVydHMgdGhlIDwjMTIzPiBpbnRvIDEyM1xuICAgICAgICBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh0ZXh0LnN1YnN0cmluZygyLCB0ZXh0Lmxlbmd0aCAtIDEpKSxcbiAgICAgICksXG4gICAgXTtcbiAgfVxuICBpZiAocHJvcHMubWVudGlvbmVkUm9sZUlkcyAmJiBwYXlsb2FkLm1lbnRpb25fcm9sZXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLm1lbnRpb25lZFJvbGVJZHMgPSBwYXlsb2FkLm1lbnRpb25fcm9sZXMubWFwKChpZCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaWQpKTtcbiAgaWYgKHByb3BzLm1lbnRpb25zICYmIHBheWxvYWQubWVudGlvbnM/Lmxlbmd0aCkgbWVzc2FnZS5tZW50aW9ucyA9IHBheWxvYWQubWVudGlvbnMubWFwKCh1c2VyKSA9PiBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCB1c2VyKSk7XG4gIGlmIChwcm9wcy5jaGFubmVsVHlwZSAmJiBwYXlsb2FkLmNoYW5uZWxfdHlwZSkgbWVzc2FnZS5jaGFubmVsVHlwZSA9IHBheWxvYWQuY2hhbm5lbF90eXBlO1xuICBpZiAocHJvcHMubWVzc2FnZVJlZmVyZW5jZSAmJiBwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlKSB7XG4gICAgY29uc3QgcmVmZXJlbmNlID0ge30gYXMgTm9uTnVsbGFibGU8TWVzc2FnZVsnbWVzc2FnZVJlZmVyZW5jZSddPjtcbiAgICBjb25zdCBtZXNzYWdlUmVmZXJlbmNlUHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VSZWZlcmVuY2U7XG5cbiAgICBpZiAobWVzc2FnZVJlZmVyZW5jZVByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmNoYW5uZWxfaWQpO1xuICAgIH1cbiAgICBpZiAobWVzc2FnZVJlZmVyZW5jZVByb3BzLmd1aWxkSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZCkge1xuICAgICAgcmVmZXJlbmNlLmd1aWxkSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLm1lc3NhZ2VfcmVmZXJlbmNlLmd1aWxkX2lkKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2VSZWZlcmVuY2VQcm9wcy5tZXNzYWdlSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKSB7XG4gICAgICByZWZlcmVuY2UubWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5tZXNzYWdlX2lkKTtcbiAgICB9XG5cbiAgICBtZXNzYWdlLm1lc3NhZ2VSZWZlcmVuY2UgPSByZWZlcmVuY2U7XG4gIH1cbiAgaWYgKHByb3BzLnJlZmVyZW5jZWRNZXNzYWdlICYmIHBheWxvYWQucmVmZXJlbmNlZF9tZXNzYWdlKVxuICAgIG1lc3NhZ2UucmVmZXJlbmNlZE1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLnJlZmVyZW5jZWRfbWVzc2FnZSwgeyBzaGFyZElkOiBleHRyYT8uc2hhcmRJZCB9KTtcbiAgaWYgKHByb3BzLm1lc3NhZ2VTbmFwc2hvdHMgJiYgcGF5bG9hZC5tZXNzYWdlX3NuYXBzaG90cylcbiAgICBtZXNzYWdlLm1lc3NhZ2VTbmFwc2hvdHMgPSBwYXlsb2FkLm1lc3NhZ2Vfc25hcHNob3RzLm1hcCgoc25hcCkgPT4gYm90LnRyYW5zZm9ybWVycy5tZXNzYWdlU25hcHNob3QoYm90LCBzbmFwLCB7IHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkIH0pKTtcbiAgaWYgKHByb3BzLm5vbmNlICYmIHBheWxvYWQubm9uY2UpIG1lc3NhZ2Uubm9uY2UgPSBwYXlsb2FkLm5vbmNlO1xuICBpZiAocGF5bG9hZC5waW5uZWQpIG1lc3NhZ2UucGlubmVkID0gdHJ1ZTtcbiAgaWYgKHByb3BzLnJlYWN0aW9ucyAmJiBwYXlsb2FkLnJlYWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLnJlYWN0aW9ucy5tYXAoKHJlYWN0aW9uKSA9PiAoe1xuICAgICAgbWU6IHJlYWN0aW9uLm1lLFxuICAgICAgbWVCdXJzdDogcmVhY3Rpb24ubWVfYnVyc3QsXG4gICAgICBjb3VudDogcmVhY3Rpb24uY291bnQsXG4gICAgICBjb3VudERldGFpbHM6IHtcbiAgICAgICAgYnVyc3Q6IHJlYWN0aW9uLmNvdW50X2RldGFpbHMuYnVyc3QsXG4gICAgICAgIG5vcm1hbDogcmVhY3Rpb24uY291bnRfZGV0YWlscy5ub3JtYWwsXG4gICAgICB9LFxuICAgICAgZW1vamk6IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCByZWFjdGlvbi5lbW9qaSwgeyBwYXJ0aWFsOiB0cnVlIH0pLFxuICAgICAgYnVyc3RDb2xvcnM6IHJlYWN0aW9uLmJ1cnN0X2NvbG9ycyxcbiAgICB9KSk7XG4gIH1cbiAgaWYgKHByb3BzLnN0aWNrZXJJdGVtcyAmJiBwYXlsb2FkLnN0aWNrZXJfaXRlbXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLnN0aWNrZXJJdGVtcyA9IHBheWxvYWQuc3RpY2tlcl9pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaXRlbS5pZCksXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICBmb3JtYXRUeXBlOiBpdGVtLmZvcm1hdF90eXBlLFxuICAgIH0pKTtcbiAgaWYgKHBheWxvYWQudHRzKSBtZXNzYWdlLnR0cyA9IHRydWU7XG4gIGlmIChwcm9wcy50aHJlYWQgJiYgcGF5bG9hZC50aHJlYWQpIG1lc3NhZ2UudGhyZWFkID0gYm90LnRyYW5zZm9ybWVycy5jaGFubmVsKGJvdCwgcGF5bG9hZC50aHJlYWQsIHsgZ3VpbGRJZCB9KTtcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlICE9PSB1bmRlZmluZWQpIG1lc3NhZ2UudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLndlYmhvb2tJZCAmJiBwYXlsb2FkLndlYmhvb2tfaWQpIG1lc3NhZ2Uud2ViaG9va0lkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC53ZWJob29rX2lkKTtcbiAgaWYgKHByb3BzLnBvbGwgJiYgcGF5bG9hZC5wb2xsKSBtZXNzYWdlLnBvbGwgPSBib3QudHJhbnNmb3JtZXJzLnBvbGwoYm90LCBwYXlsb2FkLnBvbGwpO1xuICBpZiAocHJvcHMuY2FsbCAmJiBwYXlsb2FkLmNhbGwpIG1lc3NhZ2UuY2FsbCA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZUNhbGwoYm90LCBwYXlsb2FkLmNhbGwpO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignbWVzc2FnZScsIGJvdCwgcGF5bG9hZCwgbWVzc2FnZSwge1xuICAgIHNoYXJkSWQ6IGV4dHJhPy5zaGFyZElkLFxuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybU1lc3NhZ2VQaW4oYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZE1lc3NhZ2VQaW4+LCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVBpbjtcbiAgY29uc3QgbWVzc2FnZVBpbiA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VQaW4sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMucGlubmVkQXQgJiYgcGF5bG9hZC5waW5uZWRfYXQpIG1lc3NhZ2VQaW4ucGlubmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQucGlubmVkX2F0KTtcbiAgaWYgKHByb3BzLm1lc3NhZ2UgJiYgcGF5bG9hZC5tZXNzYWdlKSBtZXNzYWdlUGluLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQgfSk7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdtZXNzYWdlUGluJywgYm90LCBwYXlsb2FkLCBtZXNzYWdlUGluLCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90KGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRNZXNzYWdlU25hcHNob3Q+LCBleHRyYT86IHsgc2hhcmRJZD86IG51bWJlcjsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMubWVzc2FnZVNuYXBzaG90O1xuICBjb25zdCBtZXNzYWdlU25hcHNob3QgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxNZXNzYWdlU25hcHNob3QsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMubWVzc2FnZSAmJiBwYXlsb2FkLm1lc3NhZ2UpXG4gICAgbWVzc2FnZVNuYXBzaG90Lm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UsIHsgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsIHBhcnRpYWw6IHRydWUgfSkgYXMgTWVzc2FnZTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ21lc3NhZ2VTbmFwc2hvdCcsIGJvdCwgcGF5bG9hZCwgbWVzc2FnZVNuYXBzaG90LCB7XG4gICAgc2hhcmRJZDogZXh0cmE/LnNoYXJkSWQsXG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhPiwgZXh0cmE/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhO1xuICBjb25zdCBtZXRhZGF0YSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQgIT09IHVuZGVmaW5lZCkgbWV0YWRhdGEuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMgJiYgcGF5bG9hZC5hdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMpIHtcbiAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzID0ge307XG4gICAgaWYgKHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10pXG4gICAgICBtZXRhZGF0YS5hdXRob3JpemluZ0ludGVncmF0aW9uT3duZXJzW0Rpc2NvcmRBcHBsaWNhdGlvbkludGVncmF0aW9uVHlwZS5HdWlsZEluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycwJ10sXG4gICAgICApO1xuICAgIGlmIChwYXlsb2FkLmF1dGhvcml6aW5nX2ludGVncmF0aW9uX293bmVyc1snMSddKVxuICAgICAgbWV0YWRhdGEuYXV0aG9yaXppbmdJbnRlZ3JhdGlvbk93bmVyc1tEaXNjb3JkQXBwbGljYXRpb25JbnRlZ3JhdGlvblR5cGUuVXNlckluc3RhbGxdID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoXG4gICAgICAgIHBheWxvYWQuYXV0aG9yaXppbmdfaW50ZWdyYXRpb25fb3duZXJzWycxJ10sXG4gICAgICApO1xuICB9XG4gIGlmIChwcm9wcy5vcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkICYmIHBheWxvYWQub3JpZ2luYWxfcmVzcG9uc2VfbWVzc2FnZV9pZClcbiAgICBtZXRhZGF0YS5vcmlnaW5hbFJlc3BvbnNlTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5vcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkKTtcbiAgaWYgKHByb3BzLnR5cGUgJiYgcGF5bG9hZC50eXBlICE9PSB1bmRlZmluZWQpIG1ldGFkYXRhLnR5cGUgPSBwYXlsb2FkLnR5cGU7XG4gIGlmIChwcm9wcy51c2VyICYmIHBheWxvYWQudXNlcikgbWV0YWRhdGEudXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQudXNlcik7XG4gIC8vIEFwcGxpY2F0aW9uIGNvbW1hbmQgbWV0YWRhdGFcbiAgaWYgKCd0YXJnZXRfdXNlcicgaW4gcGF5bG9hZCkge1xuICAgIGlmIChwcm9wcy50YXJnZXRVc2VyICYmIHBheWxvYWQudGFyZ2V0X3VzZXIpIG1ldGFkYXRhLnRhcmdldFVzZXIgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLnRhcmdldF91c2VyKTtcbiAgICBpZiAocHJvcHMudGFyZ2V0TWVzc2FnZUlkICYmIHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpIG1ldGFkYXRhLnRhcmdldE1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQudGFyZ2V0X21lc3NhZ2VfaWQpO1xuICB9XG4gIC8vIE1lc3NhZ2UgY29tcG9uZW50IG1ldGFkYXRhXG4gIGlmICgnaW50ZXJhY3RlZF9tZXNzYWdlX2lkJyBpbiBwYXlsb2FkKSB7XG4gICAgaWYgKHByb3BzLmludGVyYWN0ZWRNZXNzYWdlSWQgJiYgcGF5bG9hZC5pbnRlcmFjdGVkX21lc3NhZ2VfaWQpXG4gICAgICBtZXRhZGF0YS5pbnRlcmFjdGVkTWVzc2FnZUlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pbnRlcmFjdGVkX21lc3NhZ2VfaWQpO1xuICB9XG4gIC8vIE1vZGFsIHN1Ym1pdCBtZXRhZGF0YVxuICBpZiAoJ3RyaWdnZXJpbmdfaW50ZXJhY3Rpb25fbWV0YWRhdGEnIGluIHBheWxvYWQpIHtcbiAgICBpZiAocHJvcHMudHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEgJiYgcGF5bG9hZC50cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhKVxuICAgICAgbWV0YWRhdGEudHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhKGJvdCwgcGF5bG9hZC50cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhKTtcbiAgfVxuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignbWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEnLCBib3QsIHBheWxvYWQsIG1ldGFkYXRhLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtTWVzc2FnZUNhbGwoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZE1lc3NhZ2VDYWxsPiwgZXh0cmE/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgY2FsbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPE1lc3NhZ2VDYWxsLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlQ2FsbDtcblxuICBpZiAocHJvcHMucGFydGljaXBhbnRzICYmIHBheWxvYWQucGFydGljaXBhbnRzKSBjYWxsLnBhcnRpY2lwYW50cyA9IHBheWxvYWQucGFydGljaXBhbnRzLm1hcCgoeCkgPT4gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoeCkpO1xuICBpZiAocHJvcHMuZW5kZWRUaW1lc3RhbXAgJiYgcGF5bG9hZC5lbmRlZF90aW1lc3RhbXApIGNhbGwuZW5kZWRUaW1lc3RhbXAgPSBEYXRlLnBhcnNlKHBheWxvYWQuZW5kZWRfdGltZXN0YW1wKTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ21lc3NhZ2VDYWxsJywgYm90LCBwYXlsb2FkLCBjYWxsLCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtU2hhcmVkQ2xpZW50VGhlbWUoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZFNoYXJlZENsaWVudFRoZW1lPiwgZXh0cmE/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnNoYXJlZENsaWVudFRoZW1lO1xuICBjb25zdCB0aGVtZSA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFNoYXJlZENsaWVudFRoZW1lLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLmNvbG9ycyAmJiBwYXlsb2FkLmNvbG9ycykgdGhlbWUuY29sb3JzID0gcGF5bG9hZC5jb2xvcnM7XG4gIGlmIChwcm9wcy5iYXNlTWl4ICYmIHBheWxvYWQuYmFzZV9taXggIT09IHVuZGVmaW5lZCkgdGhlbWUuYmFzZU1peCA9IHBheWxvYWQuYmFzZV9taXg7XG4gIGlmIChwcm9wcy5ncmFkaWVudEFuZ2xlICYmIHBheWxvYWQuZ3JhZGllbnRfYW5nbGUgIT09IHVuZGVmaW5lZCkgdGhlbWUuZ3JhZGllbnRBbmdsZSA9IHBheWxvYWQuZ3JhZGllbnRfYW5nbGU7XG4gIGlmIChwcm9wcy5iYXNlVGhlbWUgJiYgcGF5bG9hZC5iYXNlX3RoZW1lICE9PSB1bmRlZmluZWQgJiYgcGF5bG9hZC5iYXNlX3RoZW1lICE9PSBudWxsKSB0aGVtZS5iYXNlVGhlbWUgPSBwYXlsb2FkLmJhc2VfdGhlbWU7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdzaGFyZWRDbGllbnRUaGVtZScsIGJvdCwgcGF5bG9hZCwgdGhlbWUsIHtcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiTWVzc2FnZUZsYWdzIiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJDSEFOTkVMX01FTlRJT05fUkVHRVgiLCJjYWxsQ3VzdG9taXplciIsIlRvZ2dsZUJpdGZpZWxkIiwiRU1QVFlfU1RSSU5HIiwiYmFzZU1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJjcm9zc3Bvc3RlZCIsImZsYWdzIiwiY29udGFpbnMiLCJDcm9zc3Bvc3RlZCIsInZhbHVlIiwiYWRkIiwicmVtb3ZlIiwiZXBoZW1lcmFsIiwiRXBoZW1lcmFsIiwiZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsImhhc1RocmVhZCIsIkhhc1RocmVhZCIsImlzQ3Jvc3Nwb3N0IiwiSXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwiTG9hZGluZyIsIm1lbnRpb25lZFVzZXJJZHMiLCJtZW50aW9ucyIsIm1hcCIsInVzZXIiLCJpZCIsIm1lbnRpb25FdmVyeW9uZSIsImJpdGZpZWxkIiwicGlubmVkIiwic291cmNlTWVzc2FnZURlbGV0ZWQiLCJTb3VyY2VNZXNzYWdlRGVsZXRlZCIsInN1cHByZXNzRW1iZWRzIiwiU3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJTdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJ0cmFuc2Zvcm1NZXNzYWdlIiwiYm90IiwicGF5bG9hZCIsImV4dHJhIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwidHJhbnNmb3JtZXJzIiwic25vd2ZsYWtlIiwidXNlcklkIiwiYXV0aG9yIiwibWVzc2FnZSIsIk9iamVjdCIsImNyZWF0ZSIsInByb3BzIiwiZGVzaXJlZFByb3BlcnRpZXMiLCJhcHBsaWNhdGlvbiIsInNoYXJkSWQiLCJwYXJ0aWFsIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJhdHRhY2htZW50IiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImNvbXBvbmVudHMiLCJjb21wIiwiY29tcG9uZW50IiwiY29udGVudCIsImVkaXRlZFRpbWVzdGFtcCIsImVkaXRlZF90aW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJlbWJlZHMiLCJlbWJlZCIsImludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbl9tZXRhZGF0YSIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb24iLCJtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyIsIm1lc3NhZ2VJbnRlcmFjdGlvbiIsIm1lbWJlciIsIm5hbWUiLCJ0eXBlIiwibWVudGlvbl9ldmVyeW9uZSIsIm1lbnRpb25lZENoYW5uZWxJZHMiLCJtZW50aW9uX2NoYW5uZWxzIiwibSIsIm1hdGNoIiwidGV4dCIsInN1YnN0cmluZyIsIm1lbnRpb25lZFJvbGVJZHMiLCJtZW50aW9uX3JvbGVzIiwiY2hhbm5lbFR5cGUiLCJjaGFubmVsX3R5cGUiLCJtZXNzYWdlUmVmZXJlbmNlIiwibWVzc2FnZV9yZWZlcmVuY2UiLCJyZWZlcmVuY2UiLCJtZXNzYWdlUmVmZXJlbmNlUHJvcHMiLCJtZXNzYWdlSWQiLCJtZXNzYWdlX2lkIiwicmVmZXJlbmNlZE1lc3NhZ2UiLCJyZWZlcmVuY2VkX21lc3NhZ2UiLCJtZXNzYWdlU25hcHNob3RzIiwibWVzc2FnZV9zbmFwc2hvdHMiLCJzbmFwIiwibWVzc2FnZVNuYXBzaG90Iiwibm9uY2UiLCJyZWFjdGlvbnMiLCJyZWFjdGlvbiIsIm1lIiwibWVCdXJzdCIsIm1lX2J1cnN0IiwiY291bnQiLCJjb3VudERldGFpbHMiLCJidXJzdCIsImNvdW50X2RldGFpbHMiLCJub3JtYWwiLCJlbW9qaSIsImJ1cnN0Q29sb3JzIiwiYnVyc3RfY29sb3JzIiwic3RpY2tlckl0ZW1zIiwic3RpY2tlcl9pdGVtcyIsIml0ZW0iLCJmb3JtYXRUeXBlIiwiZm9ybWF0X3R5cGUiLCJ0aHJlYWQiLCJjaGFubmVsIiwid2ViaG9va0lkIiwid2ViaG9va19pZCIsInBvbGwiLCJjYWxsIiwibWVzc2FnZUNhbGwiLCJ0cmFuc2Zvcm1NZXNzYWdlUGluIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwicGlubmVkX2F0IiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJtZXRhZGF0YSIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsIm9yaWdpbmFsUmVzcG9uc2VNZXNzYWdlSWQiLCJvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0TWVzc2FnZUlkIiwidGFyZ2V0X21lc3NhZ2VfaWQiLCJpbnRlcmFjdGVkTWVzc2FnZUlkIiwiaW50ZXJhY3RlZF9tZXNzYWdlX2lkIiwidHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJwYXJ0aWNpcGFudHMiLCJ4IiwiZW5kZWRUaW1lc3RhbXAiLCJlbmRlZF90aW1lc3RhbXAiLCJ0cmFuc2Zvcm1TaGFyZWRDbGllbnRUaGVtZSIsInNoYXJlZENsaWVudFRoZW1lIiwidGhlbWUiLCJjb2xvcnMiLCJiYXNlTWl4IiwiYmFzZV9taXgiLCJncmFkaWVudEFuZ2xlIiwiZ3JhZGllbnRfYW5nbGUiLCJiYXNlVGhlbWUiLCJiYXNlX3RoZW1lIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSxpQ0FBaUMsRUFPakNDLFlBQVksUUFDUCxvQkFBb0I7QUFDM0IsU0FBU0Msb0JBQW9CLFFBQVEsb0JBQW9CO0FBRXpELFNBQVNDLHFCQUFxQixRQUFRLGtCQUFrQjtBQUV4RCxTQUFTQyxjQUFjLFFBQVEscUJBQXFCO0FBQ3BELFNBQVNDLGNBQWMsUUFBUSw4QkFBOEI7QUFXN0QsTUFBTUMsZUFBZTtBQUVyQixPQUFPLE1BQU1DLGNBQXVCO0lBQ2xDLDJFQUEyRTtJQUMzRSxHQUFJQyxTQUFTO0lBRWIsSUFBSUM7UUFDRixPQUFPLElBQUksQ0FBQ0MsS0FBSyxFQUFFQyxTQUFTVixhQUFhVyxXQUFXLEtBQUs7SUFDM0Q7SUFDQSxJQUFJSCxhQUFZSSxLQUFjLENBQUU7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ2IsYUFBYVcsV0FBVzthQUM3QyxJQUFJLENBQUNGLEtBQUssQ0FBQ0ssTUFBTSxDQUFDZCxhQUFhVyxXQUFXO0lBQ2pEO0lBQ0EsSUFBSUk7UUFDRixPQUFPLElBQUksQ0FBQ04sS0FBSyxFQUFFQyxTQUFTVixhQUFhZ0IsU0FBUyxLQUFLO0lBQ3pEO0lBQ0EsSUFBSUQsV0FBVUgsS0FBYyxDQUFFO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNiLGFBQWFnQixTQUFTO2FBQzNDLElBQUksQ0FBQ1AsS0FBSyxDQUFDSyxNQUFNLENBQUNkLGFBQWFnQixTQUFTO0lBQy9DO0lBQ0EsSUFBSUM7UUFDRixPQUFPLElBQUksQ0FBQ1IsS0FBSyxFQUFFQyxTQUFTVixhQUFha0Is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
@@ -1,6 +1,12 @@
1
1
  import type { DiscordGuildOnboarding, DiscordGuildOnboardingPrompt, DiscordGuildOnboardingPromptOption } from '@discordeno/types';
2
- import type { Bot, GuildOnboarding, GuildOnboardingPrompt, GuildOnboardingPromptOption } from '../index.js';
3
- export declare function transformGuildOnboarding(bot: Bot, payload: DiscordGuildOnboarding): GuildOnboarding;
4
- export declare function transformGuildOnboardingPrompt(bot: Bot, payload: DiscordGuildOnboardingPrompt): GuildOnboardingPrompt;
5
- export declare function transformGuildOnboardingPromptOption(bot: Bot, payload: DiscordGuildOnboardingPromptOption): GuildOnboardingPromptOption;
2
+ import type { Bot } from '../bot.js';
3
+ export declare function transformGuildOnboarding(bot: Bot, payload: Partial<DiscordGuildOnboarding>, extra?: {
4
+ partial?: boolean;
5
+ }): any;
6
+ export declare function transformGuildOnboardingPrompt(bot: Bot, payload: Partial<DiscordGuildOnboardingPrompt>, extra?: {
7
+ partial?: boolean;
8
+ }): any;
9
+ export declare function transformGuildOnboardingPromptOption(bot: Bot, payload: Partial<DiscordGuildOnboardingPromptOption>, extra?: {
10
+ partial?: boolean;
11
+ }): any;
6
12
  //# sourceMappingURL=onboarding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/transformers/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAA;AACjI,OAAO,KAAK,EACV,GAAG,EAEH,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAG5B,MAAM,aAAa,CAAA;AAEpB,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAYnG;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,4BAA4B,GAAG,qBAAqB,CAarH;AAED,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,kCAAkC,GAAG,2BAA2B,CAYvI"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/transformers/onboarding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AAClI,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAezH;AAED,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,4BAA4B,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAerI;AAED,wBAAgB,oCAAoC,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,kCAAkC,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAcjJ"}
@@ -1,14 +1,17 @@
1
- export function transformGuildOnboarding(bot, payload) {
1
+ import { callCustomizer } from '../transformers.js';
2
+ export function transformGuildOnboarding(bot, payload, extra) {
2
3
  const props = bot.transformers.desiredProperties.guildOnboarding;
3
4
  const guildOnboarding = {};
4
5
  if (props.guildId && payload.guild_id) guildOnboarding.guildId = bot.transformers.snowflake(payload.guild_id);
5
6
  if (props.defaultChannelIds && payload.default_channel_ids) guildOnboarding.defaultChannelIds = payload.default_channel_ids.map(bot.transformers.snowflake);
6
- if (props.enabled) guildOnboarding.enabled = payload.enabled;
7
- if (props.mode) guildOnboarding.mode = payload.mode;
7
+ if (props.enabled && payload.enabled !== undefined) guildOnboarding.enabled = payload.enabled;
8
+ if (props.mode && payload.mode !== undefined) guildOnboarding.mode = payload.mode;
8
9
  if (props.prompts && payload.prompts) guildOnboarding.prompts = payload.prompts.map((prompt)=>bot.transformers.guildOnboardingPrompt(bot, prompt));
9
- return bot.transformers.customizers.guildOnboarding(bot, payload, guildOnboarding);
10
+ return callCustomizer('guildOnboarding', bot, payload, guildOnboarding, {
11
+ partial: extra?.partial ?? false
12
+ });
10
13
  }
11
- export function transformGuildOnboardingPrompt(bot, payload) {
14
+ export function transformGuildOnboardingPrompt(bot, payload, extra) {
12
15
  const props = bot.transformers.desiredProperties.guildOnboardingPrompt;
13
16
  const prompt = {};
14
17
  if (props.id && payload.id) prompt.id = bot.transformers.snowflake(payload.id);
@@ -16,11 +19,13 @@ export function transformGuildOnboardingPrompt(bot, payload) {
16
19
  if (props.required && payload.required) prompt.required = payload.required;
17
20
  if (props.singleSelect && payload.single_select) prompt.singleSelect = payload.single_select;
18
21
  if (props.title && payload.title) prompt.title = payload.title;
19
- if (props.type) prompt.type = payload.type;
22
+ if (props.type && payload.type !== undefined) prompt.type = payload.type;
20
23
  if (props.options && payload.options) prompt.options = payload.options.map((option)=>bot.transformers.guildOnboardingPromptOption(bot, option));
21
- return bot.transformers.customizers.guildOnboardingPrompt(bot, payload, prompt);
24
+ return callCustomizer('guildOnboardingPrompt', bot, payload, prompt, {
25
+ partial: extra?.partial ?? false
26
+ });
22
27
  }
23
- export function transformGuildOnboardingPromptOption(bot, payload) {
28
+ export function transformGuildOnboardingPromptOption(bot, payload, extra) {
24
29
  const props = bot.transformers.desiredProperties.guildOnboardingPromptOption;
25
30
  const option = {};
26
31
  if (props.id && payload.id) option.id = bot.transformers.snowflake(payload.id);
@@ -29,7 +34,9 @@ export function transformGuildOnboardingPromptOption(bot, payload) {
29
34
  if (props.emoji && payload.emoji) option.emoji = bot.transformers.emoji(bot, payload.emoji);
30
35
  if (props.title && payload.title) option.title = payload.title;
31
36
  if (props.description && payload.description) option.description = payload.description;
32
- return bot.transformers.customizers.guildOnboardingPromptOption(bot, payload, option);
37
+ return callCustomizer('guildOnboardingPromptOption', bot, payload, option, {
38
+ partial: extra?.partial ?? false
39
+ });
33
40
  }
34
41
 
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvb25ib2FyZGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHtcbiAgQm90LFxuICBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLFxuICBHdWlsZE9uYm9hcmRpbmcsXG4gIEd1aWxkT25ib2FyZGluZ1Byb21wdCxcbiAgR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uLFxuICBTZXR1cERlc2lyZWRQcm9wcyxcbiAgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsXG59IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nKTogR3VpbGRPbmJvYXJkaW5nIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkT25ib2FyZGluZ1xuICBjb25zdCBndWlsZE9uYm9hcmRpbmcgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmcsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuZ3VpbGRfaWQpIGd1aWxkT25ib2FyZGluZy5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZClcbiAgaWYgKHByb3BzLmRlZmF1bHRDaGFubmVsSWRzICYmIHBheWxvYWQuZGVmYXVsdF9jaGFubmVsX2lkcylcbiAgICBndWlsZE9uYm9hcmRpbmcuZGVmYXVsdENoYW5uZWxJZHMgPSBwYXlsb2FkLmRlZmF1bHRfY2hhbm5lbF9pZHMubWFwKGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKVxuICBpZiAocHJvcHMuZW5hYmxlZCkgZ3VpbGRPbmJvYXJkaW5nLmVuYWJsZWQgPSBwYXlsb2FkLmVuYWJsZWRcbiAgaWYgKHByb3BzLm1vZGUpIGd1aWxkT25ib2FyZGluZy5tb2RlID0gcGF5bG9hZC5tb2RlXG4gIGlmIChwcm9wcy5wcm9tcHRzICYmIHBheWxvYWQucHJvbXB0cykgZ3VpbGRPbmJvYXJkaW5nLnByb21wdHMgPSBwYXlsb2FkLnByb21wdHMubWFwKChwcm9tcHQpID0+IGJvdC50cmFuc2Zvcm1lcnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0KGJvdCwgcHJvbXB0KSlcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5ndWlsZE9uYm9hcmRpbmcoYm90LCBwYXlsb2FkLCBndWlsZE9uYm9hcmRpbmcpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQpOiBHdWlsZE9uYm9hcmRpbmdQcm9tcHQge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0XG4gIGNvbnN0IHByb21wdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEd1aWxkT25ib2FyZGluZ1Byb21wdCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+XG5cbiAgaWYgKHByb3BzLmlkICYmIHBheWxvYWQuaWQpIHByb21wdC5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwcm9wcy5pbk9uYm9hcmRpbmcgJiYgcGF5bG9hZC5pbl9vbmJvYXJkaW5nKSBwcm9tcHQuaW5PbmJvYXJkaW5nID0gcGF5bG9hZC5pbl9vbmJvYXJkaW5nXG4gIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBwcm9tcHQucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkXG4gIGlmIChwcm9wcy5zaW5nbGVTZWxlY3QgJiYgcGF5bG9hZC5zaW5nbGVfc2VsZWN0KSBwcm9tcHQuc2luZ2xlU2VsZWN0ID0gcGF5bG9hZC5zaW5nbGVfc2VsZWN0XG4gIGlmIChwcm9wcy50aXRsZSAmJiBwYXlsb2FkLnRpdGxlKSBwcm9tcHQudGl0bGUgPSBwYXlsb2FkLnRpdGxlXG4gIGlmIChwcm9wcy50eXBlKSBwcm9tcHQudHlwZSA9IHBheWxvYWQudHlwZVxuICBpZiAocHJvcHMub3B0aW9ucyAmJiBwYXlsb2FkLm9wdGlvbnMpIHByb21wdC5vcHRpb25zID0gcGF5bG9hZC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiBib3QudHJhbnNmb3JtZXJzLmd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbihib3QsIG9wdGlvbikpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0KGJvdCwgcGF5bG9hZCwgcHJvbXB0KVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uKTogR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLmd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvblxuICBjb25zdCBvcHRpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBvcHRpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocHJvcHMuY2hhbm5lbElkcyAmJiBwYXlsb2FkLmNoYW5uZWxfaWRzKSBvcHRpb24uY2hhbm5lbElkcyA9IHBheWxvYWQuY2hhbm5lbF9pZHMubWFwKGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKVxuICBpZiAocHJvcHMucm9sZUlkcyAmJiBwYXlsb2FkLnJvbGVfaWRzKSBvcHRpb24ucm9sZUlkcyA9IHBheWxvYWQucm9sZV9pZHMubWFwKGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKVxuICBpZiAocHJvcHMuZW1vamkgJiYgcGF5bG9hZC5lbW9qaSkgb3B0aW9uLmVtb2ppID0gYm90LnRyYW5zZm9ybWVycy5lbW9qaShib3QsIHBheWxvYWQuZW1vamkpXG4gIGlmIChwcm9wcy50aXRsZSAmJiBwYXlsb2FkLnRpdGxlKSBvcHRpb24udGl0bGUgPSBwYXlsb2FkLnRpdGxlXG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSBvcHRpb24uZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uKGJvdCwgcGF5bG9hZCwgb3B0aW9uKVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZyIsImJvdCIsInBheWxvYWQiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwic25vd2ZsYWtlIiwiZGVmYXVsdENoYW5uZWxJZHMiLCJkZWZhdWx0X2NoYW5uZWxfaWRzIiwibWFwIiwiZW5hYmxlZCIsIm1vZGUiLCJwcm9tcHRzIiwicHJvbXB0IiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQiLCJpZCIsImluT25ib2FyZGluZyIsImluX29uYm9hcmRpbmciLCJyZXF1aXJlZCIsInNpbmdsZVNlbGVjdCIsInNpbmdsZV9zZWxlY3QiLCJ0aXRsZSIsInR5cGUiLCJvcHRpb25zIiwib3B0aW9uIiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwidHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uIiwiY2hhbm5lbElkcyIsImNoYW5uZWxfaWRzIiwicm9sZUlkcyIsInJvbGVfaWRzIiwiZW1vamkiLCJkZXNjcmlwdGlvbiJdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxTQUFTQSx5QkFBeUJDLEdBQVEsRUFBRUMsT0FBK0I7SUFDaEYsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0MsZUFBZTtJQUNoRSxNQUFNQSxrQkFBa0IsQ0FBQztJQUV6QixJQUFJSCxNQUFNSSxPQUFPLElBQUlMLFFBQVFNLFFBQVEsRUFBRUYsZ0JBQWdCQyxPQUFPLEdBQUdOLElBQUlHLFlBQVksQ0FBQ0ssU0FBUyxDQUFDUCxRQUFRTSxRQUFRO0lBQzVHLElBQUlMLE1BQU1PLGlCQUFpQixJQUFJUixRQUFRUyxtQkFBbUIsRUFDeERMLGdCQUFnQkksaUJBQWlCLEdBQUdSLFFBQVFTLG1CQUFtQixDQUFDQyxHQUFHLENBQUNYLElBQUlHLFlBQVksQ0FBQ0ssU0FBUztJQUNoRyxJQUFJTixNQUFNVSxPQUFPLEVBQUVQLGdCQUFnQk8sT0FBTyxHQUFHWCxRQUFRVyxPQUFPO0lBQzVELElBQUlWLE1BQU1XLElBQUksRUFBRVIsZ0JBQWdCUSxJQUFJLEdBQUdaLFFBQVFZLElBQUk7SUFDbkQsSUFBSVgsTUFBTVksT0FBTyxJQUFJYixRQUFRYSxPQUFPLEVBQUVULGdCQUFnQlMsT0FBTyxHQUFHYixRQUFRYSxPQUFPLENBQUNILEdBQUcsQ0FBQyxDQUFDSSxTQUFXZixJQUFJRyxZQUFZLENBQUNhLHFCQUFxQixDQUFDaEIsS0FBS2U7SUFFNUksT0FBT2YsSUFBSUcsWUFBWSxDQUFDYyxXQUFXLENBQUNaLGVBQWUsQ0FBQ0wsS0FBS0MsU0FBU0k7QUFDcEU7QUFFQSxPQUFPLFNBQVNhLCtCQUErQmxCLEdBQVEsRUFBRUMsT0FBcUM7SUFDNUYsTUFBTUMsUUFBUUYsSUFBSUcsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ1kscUJBQXFCO0lBQ3RFLE1BQU1ELFNBQVMsQ0FBQztJQUVoQixJQUFJYixNQUFNaUIsRUFBRSxJQUFJbEIsUUFBUWtCLEVBQUUsRUFBRUosT0FBT0ksRUFBRSxHQUFHbkIsSUFBSUcsWUFBWSxDQUFDSyxTQUFTLENBQUNQLFFBQVFrQixFQUFFO0lBQzdFLElBQUlqQixNQUFNa0IsWUFBWSxJQUFJbkIsUUFBUW9CLGFBQWEsRUFBRU4sT0FBT0ssWUFBWSxHQUFHbkIsUUFBUW9CLGFBQWE7SUFDNUYsSUFBSW5CLE1BQU1vQixRQUFRLElBQUlyQixRQUFRcUIsUUFBUSxFQUFFUCxPQUFPTyxRQUFRLEdBQUdyQixRQUFRcUIsUUFBUTtJQUMxRSxJQUFJcEIsTUFBTXFCLFlBQVksSUFBSXRCLFFBQVF1QixhQUFhLEVBQUVULE9BQU9RLFlBQVksR0FBR3RCLFFBQVF1QixhQUFhO0lBQzVGLElBQUl0QixNQUFNdUIsS0FBSyxJQUFJeEIsUUFBUXdCLEtBQUssRUFBRVYsT0FBT1UsS0FBSyxHQUFHeEIsUUFBUXdCLEtBQUs7SUFDOUQsSUFBSXZCLE1BQU13QixJQUFJLEVBQUVYLE9BQU9XLElBQUksR0FBR3pCLFFBQVF5QixJQUFJO0lBQzFDLElBQUl4QixNQUFNeUIsT0FBTyxJQUFJMUIsUUFBUTBCLE9BQU8sRUFBRVosT0FBT1ksT0FBTyxHQUFHMUIsUUFBUTBCLE9BQU8sQ0FBQ2hCLEdBQUcsQ0FBQyxDQUFDaUIsU0FBVzVCLElBQUlHLFlBQVksQ0FBQzBCLDJCQUEyQixDQUFDN0IsS0FBSzRCO0lBRXpJLE9BQU81QixJQUFJRyxZQUFZLENBQUNjLFdBQVcsQ0FBQ0QscUJBQXFCLENBQUNoQixLQUFLQyxTQUFTYztBQUMxRTtBQUVBLE9BQU8sU0FBU2UscUNBQXFDOUIsR0FBUSxFQUFFQyxPQUEyQztJQUN4RyxNQUFNQyxRQUFRRixJQUFJRyxZQUFZLENBQUNDLGlCQUFpQixDQUFDeUIsMkJBQTJCO0lBQzVFLE1BQU1ELFNBQVMsQ0FBQztJQUVoQixJQUFJMUIsTUFBTWlCLEVBQUUsSUFBSWxCLFFBQVFrQixFQUFFLEVBQUVTLE9BQU9ULEVBQUUsR0FBR25CLElBQUlHLFlBQVksQ0FBQ0ssU0FBUyxDQUFDUCxRQUFRa0IsRUFBRTtJQUM3RSxJQUFJakIsTUFBTTZCLFVBQVUsSUFBSTlCLFFBQVErQixXQUFXLEVBQUVKLE9BQU9HLFVBQVUsR0FBRzlCLFFBQVErQixXQUFXLENBQUNyQixHQUFHLENBQUNYLElBQUlHLFlBQVksQ0FBQ0ssU0FBUztJQUNuSCxJQUFJTixNQUFNK0IsT0FBTyxJQUFJaEMsUUFBUWlDLFFBQVEsRUFBRU4sT0FBT0ssT0FBTyxHQUFHaEMsUUFBUWlDLFFBQVEsQ0FBQ3ZCLEdBQUcsQ0FBQ1gsSUFBSUcsWUFBWSxDQUFDSyxTQUFTO0lBQ3ZHLElBQUlOLE1BQU1pQyxLQUFLLElBQUlsQyxRQUFRa0MsS0FBSyxFQUFFUCxPQUFPTyxLQUFLLEdBQUduQyxJQUFJRyxZQUFZLENBQUNnQyxLQUFLLENBQUNuQyxLQUFLQyxRQUFRa0MsS0FBSztJQUMxRixJQUFJakMsTUFBTXVCLEtBQUssSUFBSXhCLFFBQVF3QixLQUFLLEVBQUVHLE9BQU9ILEtBQUssR0FBR3hCLFFBQVF3QixLQUFLO0lBQzlELElBQUl2QixNQUFNa0MsV0FBVyxJQUFJbkMsUUFBUW1DLFdBQVcsRUFBRVIsT0FBT1EsV0FBVyxHQUFHbkMsUUFBUW1DLFdBQVc7SUFFdEYsT0FBT3BDLElBQUlHLFlBQVksQ0FBQ2MsV0FBVyxDQUFDWSwyQkFBMkIsQ0FBQzdCLEtBQUtDLFNBQVMyQjtBQUNoRiJ9
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvb25ib2FyZGluZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRHdWlsZE9uYm9hcmRpbmcsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24gfSBmcm9tICdAZGlzY29yZGVuby90eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcyc7XG5pbXBvcnQgdHlwZSB7IERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3IsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2Rlc2lyZWRQcm9wZXJ0aWVzLmpzJztcbmltcG9ydCB7IGNhbGxDdXN0b21pemVyIH0gZnJvbSAnLi4vdHJhbnNmb3JtZXJzLmpzJztcbmltcG9ydCB0eXBlIHsgR3VpbGRPbmJvYXJkaW5nLCBHdWlsZE9uYm9hcmRpbmdQcm9tcHQsIEd1aWxkT25ib2FyZGluZ1Byb21wdE9wdGlvbiB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nKGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRHdWlsZE9uYm9hcmRpbmc+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRPbmJvYXJkaW5nO1xuICBjb25zdCBndWlsZE9uYm9hcmRpbmcgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmcsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBndWlsZE9uYm9hcmRpbmcuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpO1xuICBpZiAocHJvcHMuZGVmYXVsdENoYW5uZWxJZHMgJiYgcGF5bG9hZC5kZWZhdWx0X2NoYW5uZWxfaWRzKVxuICAgIGd1aWxkT25ib2FyZGluZy5kZWZhdWx0Q2hhbm5lbElkcyA9IHBheWxvYWQuZGVmYXVsdF9jaGFubmVsX2lkcy5tYXAoYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UpO1xuICBpZiAocHJvcHMuZW5hYmxlZCAmJiBwYXlsb2FkLmVuYWJsZWQgIT09IHVuZGVmaW5lZCkgZ3VpbGRPbmJvYXJkaW5nLmVuYWJsZWQgPSBwYXlsb2FkLmVuYWJsZWQ7XG4gIGlmIChwcm9wcy5tb2RlICYmIHBheWxvYWQubW9kZSAhPT0gdW5kZWZpbmVkKSBndWlsZE9uYm9hcmRpbmcubW9kZSA9IHBheWxvYWQubW9kZTtcbiAgaWYgKHByb3BzLnByb21wdHMgJiYgcGF5bG9hZC5wcm9tcHRzKVxuICAgIGd1aWxkT25ib2FyZGluZy5wcm9tcHRzID0gcGF5bG9hZC5wcm9tcHRzLm1hcCgocHJvbXB0KSA9PiBib3QudHJhbnNmb3JtZXJzLmd1aWxkT25ib2FyZGluZ1Byb21wdChib3QsIHByb21wdCkpO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignZ3VpbGRPbmJvYXJkaW5nJywgYm90LCBwYXlsb2FkLCBndWlsZE9uYm9hcmRpbmcsIHtcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHQoYm90OiBCb3QsIHBheWxvYWQ6IFBhcnRpYWw8RGlzY29yZEd1aWxkT25ib2FyZGluZ1Byb21wdD4sIGV4dHJhPzogeyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5ndWlsZE9uYm9hcmRpbmdQcm9tcHQ7XG4gIGNvbnN0IHByb21wdCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPEd1aWxkT25ib2FyZGluZ1Byb21wdCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5pZCAmJiBwYXlsb2FkLmlkKSBwcm9tcHQuaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKTtcbiAgaWYgKHByb3BzLmluT25ib2FyZGluZyAmJiBwYXlsb2FkLmluX29uYm9hcmRpbmcpIHByb21wdC5pbk9uYm9hcmRpbmcgPSBwYXlsb2FkLmluX29uYm9hcmRpbmc7XG4gIGlmIChwcm9wcy5yZXF1aXJlZCAmJiBwYXlsb2FkLnJlcXVpcmVkKSBwcm9tcHQucmVxdWlyZWQgPSBwYXlsb2FkLnJlcXVpcmVkO1xuICBpZiAocHJvcHMuc2luZ2xlU2VsZWN0ICYmIHBheWxvYWQuc2luZ2xlX3NlbGVjdCkgcHJvbXB0LnNpbmdsZVNlbGVjdCA9IHBheWxvYWQuc2luZ2xlX3NlbGVjdDtcbiAgaWYgKHByb3BzLnRpdGxlICYmIHBheWxvYWQudGl0bGUpIHByb21wdC50aXRsZSA9IHBheWxvYWQudGl0bGU7XG4gIGlmIChwcm9wcy50eXBlICYmIHBheWxvYWQudHlwZSAhPT0gdW5kZWZpbmVkKSBwcm9tcHQudHlwZSA9IHBheWxvYWQudHlwZTtcbiAgaWYgKHByb3BzLm9wdGlvbnMgJiYgcGF5bG9hZC5vcHRpb25zKSBwcm9tcHQub3B0aW9ucyA9IHBheWxvYWQub3B0aW9ucy5tYXAoKG9wdGlvbikgPT4gYm90LnRyYW5zZm9ybWVycy5ndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24oYm90LCBvcHRpb24pKTtcblxuICByZXR1cm4gY2FsbEN1c3RvbWl6ZXIoJ2d1aWxkT25ib2FyZGluZ1Byb21wdCcsIGJvdCwgcGF5bG9hZCwgcHJvbXB0LCB7XG4gICAgcGFydGlhbDogZXh0cmE/LnBhcnRpYWwgPz8gZmFsc2UsXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtR3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBQYXJ0aWFsPERpc2NvcmRHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24+LCBleHRyYT86IHsgcGFydGlhbD86IGJvb2xlYW4gfSkge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uO1xuICBjb25zdCBvcHRpb24gPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxHdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24sIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPjtcblxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgb3B0aW9uLmlkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5pZCk7XG4gIGlmIChwcm9wcy5jaGFubmVsSWRzICYmIHBheWxvYWQuY2hhbm5lbF9pZHMpIG9wdGlvbi5jaGFubmVsSWRzID0gcGF5bG9hZC5jaGFubmVsX2lkcy5tYXAoYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UpO1xuICBpZiAocHJvcHMucm9sZUlkcyAmJiBwYXlsb2FkLnJvbGVfaWRzKSBvcHRpb24ucm9sZUlkcyA9IHBheWxvYWQucm9sZV9pZHMubWFwKGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKTtcbiAgaWYgKHByb3BzLmVtb2ppICYmIHBheWxvYWQuZW1vamkpIG9wdGlvbi5lbW9qaSA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBwYXlsb2FkLmVtb2ppKTtcbiAgaWYgKHByb3BzLnRpdGxlICYmIHBheWxvYWQudGl0bGUpIG9wdGlvbi50aXRsZSA9IHBheWxvYWQudGl0bGU7XG4gIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiBwYXlsb2FkLmRlc2NyaXB0aW9uKSBvcHRpb24uZGVzY3JpcHRpb24gPSBwYXlsb2FkLmRlc2NyaXB0aW9uO1xuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcignZ3VpbGRPbmJvYXJkaW5nUHJvbXB0T3B0aW9uJywgYm90LCBwYXlsb2FkLCBvcHRpb24sIHtcbiAgICBwYXJ0aWFsOiBleHRyYT8ucGFydGlhbCA/PyBmYWxzZSxcbiAgfSk7XG59XG4iXSwibmFtZXMiOlsiY2FsbEN1c3RvbWl6ZXIiLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmciLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiZ3VpbGRPbmJvYXJkaW5nIiwiZ3VpbGRJZCIsImd1aWxkX2lkIiwic25vd2ZsYWtlIiwiZGVmYXVsdENoYW5uZWxJZHMiLCJkZWZhdWx0X2NoYW5uZWxfaWRzIiwibWFwIiwiZW5hYmxlZCIsInVuZGVmaW5lZCIsIm1vZGUiLCJwcm9tcHRzIiwicHJvbXB0IiwiZ3VpbGRPbmJvYXJkaW5nUHJvbXB0IiwicGFydGlhbCIsInRyYW5zZm9ybUd1aWxkT25ib2FyZGluZ1Byb21wdCIsImlkIiwiaW5PbmJvYXJkaW5nIiwiaW5fb25ib2FyZGluZyIsInJlcXVpcmVkIiwic2luZ2xlU2VsZWN0Iiwic2luZ2xlX3NlbGVjdCIsInRpdGxlIiwidHlwZSIsIm9wdGlvbnMiLCJvcHRpb24iLCJndWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJ0cmFuc2Zvcm1HdWlsZE9uYm9hcmRpbmdQcm9tcHRPcHRpb24iLCJjaGFubmVsSWRzIiwiY2hhbm5lbF9pZHMiLCJyb2xlSWRzIiwicm9sZV9pZHMiLCJlbW9qaSIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxjQUFjLFFBQVEscUJBQXFCO0FBR3BELE9BQU8sU0FBU0MseUJBQXlCQyxHQUFRLEVBQUVDLE9BQXdDLEVBQUVDLEtBQTZCO0lBQ3hILE1BQU1DLFFBQVFILElBQUlJ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
@@ -1,5 +1,9 @@
1
1
  import type { DiscordPoll, DiscordPollMedia } from '@discordeno/types';
2
- import type { Bot, Poll, PollMedia } from '../index.js';
3
- export declare function transformPoll(bot: Bot, payload: DiscordPoll): Poll;
4
- export declare function transformPollMedia(bot: Bot, payload: DiscordPollMedia): PollMedia;
2
+ import type { Bot } from '../bot.js';
3
+ export declare function transformPoll(bot: Bot, payload: Partial<DiscordPoll>, extra?: {
4
+ partial?: boolean;
5
+ }): any;
6
+ export declare function transformPollMedia(bot: Bot, payload: Partial<DiscordPollMedia>, extra?: {
7
+ partial?: boolean;
8
+ }): any;
5
9
  //# sourceMappingURL=poll.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../src/transformers/poll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpF,OAAO,KAAK,EAAE,GAAG,EAA6B,IAAI,EAAE,SAAS,EAAgE,MAAM,aAAa,CAAA;AAEhJ,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAsBlE;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAQjF"}
1
+ {"version":3,"file":"poll.d.ts","sourceRoot":"","sources":["../../src/transformers/poll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAwBnG;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAU7G"}
@@ -1,4 +1,5 @@
1
- export function transformPoll(bot, payload) {
1
+ import { callCustomizer } from '../transformers.js';
2
+ export function transformPoll(bot, payload, extra) {
2
3
  const props = bot.transformers.desiredProperties.poll;
3
4
  const poll = {};
4
5
  if (props.question && payload.question) poll.question = bot.transformers.pollMedia(bot, payload.question);
@@ -8,7 +9,7 @@ export function transformPoll(bot, payload) {
8
9
  }));
9
10
  if (props.expiry && payload.expiry) poll.expiry = Date.parse(payload.expiry);
10
11
  if (props.allowMultiselect && payload.allow_multiselect) poll.allowMultiselect = payload.allow_multiselect;
11
- if (props.layoutType) poll.layoutType = payload.layout_type;
12
+ if (props.layoutType && payload.layout_type !== undefined) poll.layoutType = payload.layout_type;
12
13
  if (props.results && payload.results) {
13
14
  const results = {};
14
15
  const pollResultProps = bot.transformers.desiredProperties.pollResult;
@@ -20,14 +21,20 @@ export function transformPoll(bot, payload) {
20
21
  }));
21
22
  poll.results = results;
22
23
  }
23
- return bot.transformers.customizers.poll(bot, payload, poll);
24
+ return callCustomizer('poll', bot, payload, poll, {
25
+ partial: extra?.partial ?? false
26
+ });
24
27
  }
25
- export function transformPollMedia(bot, payload) {
28
+ export function transformPollMedia(bot, payload, extra) {
26
29
  const props = bot.transformers.desiredProperties.pollMedia;
27
30
  const pollMedia = {};
28
31
  if (props.text && payload.text) pollMedia.text = payload.text;
29
- if (props.emoji && payload.emoji) pollMedia.emoji = bot.transformers.emoji(bot, payload.emoji);
30
- return bot.transformers.customizers.pollMedia(bot, payload, pollMedia);
32
+ if (props.emoji && payload.emoji) pollMedia.emoji = bot.transformers.emoji(bot, payload.emoji, {
33
+ partial: true
34
+ });
35
+ return callCustomizer('pollMedia', bot, payload, pollMedia, {
36
+ partial: extra?.partial ?? false
37
+ });
31
38
  }
32
39
 
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcG9sbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRFbW9qaSwgRGlzY29yZFBvbGwsIERpc2NvcmRQb2xsTWVkaWEgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB0eXBlIHsgQm90LCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBQb2xsLCBQb2xsTWVkaWEsIFBvbGxSZXN1bHQsIFNldHVwRGVzaXJlZFByb3BzLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcyB9IGZyb20gJy4uL2luZGV4LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUG9sbChib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFBvbGwpOiBQb2xsIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnBvbGxcbiAgY29uc3QgcG9sbCA9IHt9IGFzIFNldHVwRGVzaXJlZFByb3BzPFBvbGwsIFRyYW5zZm9ybWVyc0Rlc2lyZWRQcm9wZXJ0aWVzLCBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yPlxuXG4gIGlmIChwcm9wcy5xdWVzdGlvbiAmJiBwYXlsb2FkLnF1ZXN0aW9uKSBwb2xsLnF1ZXN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5wb2xsTWVkaWEoYm90LCBwYXlsb2FkLnF1ZXN0aW9uKVxuICBpZiAocHJvcHMuYW5zd2VycyAmJiBwYXlsb2FkLmFuc3dlcnMpXG4gICAgcG9sbC5hbnN3ZXJzID0gcGF5bG9hZC5hbnN3ZXJzLm1hcCgoeCkgPT4gKHsgYW5zd2VySWQ6IHguYW5zd2VyX2lkLCBwb2xsTWVkaWE6IGJvdC50cmFuc2Zvcm1lcnMucG9sbE1lZGlhKGJvdCwgeC5wb2xsX21lZGlhKSB9KSlcbiAgaWYgKHByb3BzLmV4cGlyeSAmJiBwYXlsb2FkLmV4cGlyeSkgcG9sbC5leHBpcnkgPSBEYXRlLnBhcnNlKHBheWxvYWQuZXhwaXJ5KVxuICBpZiAocHJvcHMuYWxsb3dNdWx0aXNlbGVjdCAmJiBwYXlsb2FkLmFsbG93X211bHRpc2VsZWN0KSBwb2xsLmFsbG93TXVsdGlzZWxlY3QgPSBwYXlsb2FkLmFsbG93X211bHRpc2VsZWN0XG4gIGlmIChwcm9wcy5sYXlvdXRUeXBlKSBwb2xsLmxheW91dFR5cGUgPSBwYXlsb2FkLmxheW91dF90eXBlXG4gIGlmIChwcm9wcy5yZXN1bHRzICYmIHBheWxvYWQucmVzdWx0cykge1xuICAgIGNvbnN0IHJlc3VsdHMgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxQb2xsUmVzdWx0LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cbiAgICBjb25zdCBwb2xsUmVzdWx0UHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnBvbGxSZXN1bHRcblxuICAgIGlmIChwb2xsUmVzdWx0UHJvcHMuaXNGaW5hbGl6ZWQgJiYgcGF5bG9hZC5yZXN1bHRzLmlzX2ZpbmFsaXplZCkgcmVzdWx0cy5pc0ZpbmFsaXplZCA9IHBheWxvYWQucmVzdWx0cy5pc19maW5hbGl6ZWRcbiAgICBpZiAocG9sbFJlc3VsdFByb3BzLmFuc3dlckNvdW50cyAmJiBwYXlsb2FkLnJlc3VsdHMuYW5zd2VyX2NvdW50cylcbiAgICAgIHJlc3VsdHMuYW5zd2VyQ291bnRzID0gcGF5bG9hZC5yZXN1bHRzLmFuc3dlcl9jb3VudHMubWFwKCh4KSA9PiAoeyBpZDogeC5pZCwgY291bnQ6IHguY291bnQsIG1lVm90ZWQ6IHgubWVfdm90ZWQgfSkpXG5cbiAgICBwb2xsLnJlc3VsdHMgPSByZXN1bHRzXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5wb2xsKGJvdCwgcGF5bG9hZCwgcG9sbClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVBvbGxNZWRpYShib3Q6IEJvdCwgcGF5bG9hZDogRGlzY29yZFBvbGxNZWRpYSk6IFBvbGxNZWRpYSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5wb2xsTWVkaWFcbiAgY29uc3QgcG9sbE1lZGlhID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8UG9sbE1lZGlhLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj5cblxuICBpZiAocHJvcHMudGV4dCAmJiBwYXlsb2FkLnRleHQpIHBvbGxNZWRpYS50ZXh0ID0gcGF5bG9hZC50ZXh0XG4gIGlmIChwcm9wcy5lbW9qaSAmJiBwYXlsb2FkLmVtb2ppKSBwb2xsTWVkaWEuZW1vamkgPSBib3QudHJhbnNmb3JtZXJzLmVtb2ppKGJvdCwgcGF5bG9hZC5lbW9qaSBhcyBEaXNjb3JkRW1vamkpXG5cbiAgcmV0dXJuIGJvdC50cmFuc2Zvcm1lcnMuY3VzdG9taXplcnMucG9sbE1lZGlhKGJvdCwgcGF5bG9hZCwgcG9sbE1lZGlhKVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybVBvbGwiLCJib3QiLCJwYXlsb2FkIiwicHJvcHMiLCJ0cmFuc2Zvcm1lcnMiLCJkZXNpcmVkUHJvcGVydGllcyIsInBvbGwiLCJxdWVzdGlvbiIsInBvbGxNZWRpYSIsImFuc3dlcnMiLCJtYXAiLCJ4IiwiYW5zd2VySWQiLCJhbnN3ZXJfaWQiLCJwb2xsX21lZGlhIiwiZXhwaXJ5IiwiRGF0ZSIsInBhcnNlIiwiYWxsb3dNdWx0aXNlbGVjdCIsImFsbG93X211bHRpc2VsZWN0IiwibGF5b3V0VHlwZSIsImxheW91dF90eXBlIiwicmVzdWx0cyIsInBvbGxSZXN1bHRQcm9wcyIsInBvbGxSZXN1bHQiLCJpc0ZpbmFsaXplZCIsImlzX2ZpbmFsaXplZCIsImFuc3dlckNvdW50cyIsImFuc3dlcl9jb3VudHMiLCJpZCIsImNvdW50IiwibWVWb3RlZCIsIm1lX3ZvdGVkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1Qb2xsTWVkaWEiLCJ0ZXh0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
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvcG9sbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRQb2xsLCBEaXNjb3JkUG9sbE1lZGlhIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBCb3QgfSBmcm9tICcuLi9ib3QuanMnO1xuaW1wb3J0IHR5cGUgeyBEZXNpcmVkUHJvcGVydGllc0JlaGF2aW9yLCBTZXR1cERlc2lyZWRQcm9wcywgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMgfSBmcm9tICcuLi9kZXNpcmVkUHJvcGVydGllcy5qcyc7XG5pbXBvcnQgeyBjYWxsQ3VzdG9taXplciB9IGZyb20gJy4uL3RyYW5zZm9ybWVycy5qcyc7XG5pbXBvcnQgdHlwZSB7IFBvbGwsIFBvbGxNZWRpYSwgUG9sbFJlc3VsdCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtUG9sbChib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkUG9sbD4sIGV4dHJhPzogeyBwYXJ0aWFsPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5wb2xsO1xuICBjb25zdCBwb2xsID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8UG9sbCwgVHJhbnNmb3JtZXJzRGVzaXJlZFByb3BlcnRpZXMsIERlc2lyZWRQcm9wZXJ0aWVzQmVoYXZpb3I+O1xuXG4gIGlmIChwcm9wcy5xdWVzdGlvbiAmJiBwYXlsb2FkLnF1ZXN0aW9uKSBwb2xsLnF1ZXN0aW9uID0gYm90LnRyYW5zZm9ybWVycy5wb2xsTWVkaWEoYm90LCBwYXlsb2FkLnF1ZXN0aW9uKTtcbiAgaWYgKHByb3BzLmFuc3dlcnMgJiYgcGF5bG9hZC5hbnN3ZXJzKVxuICAgIHBvbGwuYW5zd2VycyA9IHBheWxvYWQuYW5zd2Vycy5tYXAoKHgpID0+ICh7IGFuc3dlcklkOiB4LmFuc3dlcl9pZCwgcG9sbE1lZGlhOiBib3QudHJhbnNmb3JtZXJzLnBvbGxNZWRpYShib3QsIHgucG9sbF9tZWRpYSkgfSkpO1xuICBpZiAocHJvcHMuZXhwaXJ5ICYmIHBheWxvYWQuZXhwaXJ5KSBwb2xsLmV4cGlyeSA9IERhdGUucGFyc2UocGF5bG9hZC5leHBpcnkpO1xuICBpZiAocHJvcHMuYWxsb3dNdWx0aXNlbGVjdCAmJiBwYXlsb2FkLmFsbG93X211bHRpc2VsZWN0KSBwb2xsLmFsbG93TXVsdGlzZWxlY3QgPSBwYXlsb2FkLmFsbG93X211bHRpc2VsZWN0O1xuICBpZiAocHJvcHMubGF5b3V0VHlwZSAmJiBwYXlsb2FkLmxheW91dF90eXBlICE9PSB1bmRlZmluZWQpIHBvbGwubGF5b3V0VHlwZSA9IHBheWxvYWQubGF5b3V0X3R5cGU7XG4gIGlmIChwcm9wcy5yZXN1bHRzICYmIHBheWxvYWQucmVzdWx0cykge1xuICAgIGNvbnN0IHJlc3VsdHMgPSB7fSBhcyBTZXR1cERlc2lyZWRQcm9wczxQb2xsUmVzdWx0LCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG4gICAgY29uc3QgcG9sbFJlc3VsdFByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5wb2xsUmVzdWx0O1xuXG4gICAgaWYgKHBvbGxSZXN1bHRQcm9wcy5pc0ZpbmFsaXplZCAmJiBwYXlsb2FkLnJlc3VsdHMuaXNfZmluYWxpemVkKSByZXN1bHRzLmlzRmluYWxpemVkID0gcGF5bG9hZC5yZXN1bHRzLmlzX2ZpbmFsaXplZDtcbiAgICBpZiAocG9sbFJlc3VsdFByb3BzLmFuc3dlckNvdW50cyAmJiBwYXlsb2FkLnJlc3VsdHMuYW5zd2VyX2NvdW50cylcbiAgICAgIHJlc3VsdHMuYW5zd2VyQ291bnRzID0gcGF5bG9hZC5yZXN1bHRzLmFuc3dlcl9jb3VudHMubWFwKCh4KSA9PiAoeyBpZDogeC5pZCwgY291bnQ6IHguY291bnQsIG1lVm90ZWQ6IHgubWVfdm90ZWQgfSkpO1xuXG4gICAgcG9sbC5yZXN1bHRzID0gcmVzdWx0cztcbiAgfVxuXG4gIHJldHVybiBjYWxsQ3VzdG9taXplcigncG9sbCcsIGJvdCwgcGF5bG9hZCwgcG9sbCwge1xuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVBvbGxNZWRpYShib3Q6IEJvdCwgcGF5bG9hZDogUGFydGlhbDxEaXNjb3JkUG9sbE1lZGlhPiwgZXh0cmE/OiB7IHBhcnRpYWw/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLnBvbGxNZWRpYTtcbiAgY29uc3QgcG9sbE1lZGlhID0ge30gYXMgU2V0dXBEZXNpcmVkUHJvcHM8UG9sbE1lZGlhLCBUcmFuc2Zvcm1lcnNEZXNpcmVkUHJvcGVydGllcywgRGVzaXJlZFByb3BlcnRpZXNCZWhhdmlvcj47XG5cbiAgaWYgKHByb3BzLnRleHQgJiYgcGF5bG9hZC50ZXh0KSBwb2xsTWVkaWEudGV4dCA9IHBheWxvYWQudGV4dDtcbiAgaWYgKHByb3BzLmVtb2ppICYmIHBheWxvYWQuZW1vamkpIHBvbGxNZWRpYS5lbW9qaSA9IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCBwYXlsb2FkLmVtb2ppLCB7IHBhcnRpYWw6IHRydWUgfSk7XG5cbiAgcmV0dXJuIGNhbGxDdXN0b21pemVyKCdwb2xsTWVkaWEnLCBib3QsIHBheWxvYWQsIHBvbGxNZWRpYSwge1xuICAgIHBhcnRpYWw6IGV4dHJhPy5wYXJ0aWFsID8/IGZhbHNlLFxuICB9KTtcbn1cbiJdLCJuYW1lcyI6WyJjYWxsQ3VzdG9taXplciIsInRyYW5zZm9ybVBvbGwiLCJib3QiLCJwYXlsb2FkIiwiZXh0cmEiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwicG9sbCIsInF1ZXN0aW9uIiwicG9sbE1lZGlhIiwiYW5zd2VycyIsIm1hcCIsIngiLCJhbnN3ZXJJZCIsImFuc3dlcl9pZCIsInBvbGxfbWVkaWEiLCJleHBpcnkiLCJEYXRlIiwicGFyc2UiLCJhbGxvd011bHRpc2VsZWN0IiwiYWxsb3dfbXVsdGlzZWxlY3QiLCJsYXlvdXRUeXBlIiwibGF5b3V0X3R5cGUiLCJ1bmRlZmluZWQiLCJyZXN1bHRzIiwicG9sbFJlc3VsdFByb3BzIiwicG9sbFJlc3VsdCIsImlzRmluYWxpemVkIiwiaXNfZmluYWxpemVkIiwiYW5zd2VyQ291bnRzIiwiYW5zd2VyX2NvdW50cyIsImlkIiwiY291bnQiLCJtZVZvdGVkIiwibWVfdm90ZWQiLCJwYXJ0aWFsIiwidHJhbnNmb3JtUG9sbE1lZGlhIiwidGV4dCIsImVtb2ppIl0sIm1hcHBpbmdzIjoiQUFHQSxTQUFTQSxjQUFjLFFBQVEscUJBQXFCO0FBR3BELE9BQU8sU0FBU0MsY0FBY0MsR0FBUSxFQUFFQyxPQUE2QixFQUFFQyxLQUE2QjtJQUNsRyxNQUFNQyxRQUFRSCxJQUFJSSxZQUFZLENBQUNDLGlCQUFpQixDQUFDQyxJQUFJO0lBQ3JELE1BQU1BLE9BQU8sQ0FBQztJQUVkLElBQUlILE1BQU1JLFFBQVEsSUFBSU4sUUFBUU0sUUFBUSxFQUFFRCxLQUFLQyxRQUFRLEdBQUdQLElBQUlJLFlBQVksQ0FBQ0ksU0FBUyxDQUFDUixLQUFLQyxRQUFRTSxRQUFRO0lBQ3hHLElBQUlKLE1BQU1NLE9BQU8sSUFBSVIsUUFBUVEsT0FBTyxFQUNsQ0gsS0FBS0csT0FBTyxHQUFHUixRQUFRUSxPQUFPLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFPLENBQUE7WUFBRUMsVUFBVUQsRUFBRUUsU0FBUztZQUFFTCxXQUFXUixJQUFJSSxZQUFZLENBQUNJLFNBQVMsQ0FBQ1IsS0FBS1csRUFBRUcsVUFBVTtRQUFFLENBQUE7SUFDL0gsSUFBSVgsTUFBTVksTUFBTSxJQUFJZCxRQUFRYyxNQUFNLEVBQUVULEtBQUtTLE1BQU0sR0FBR0MsS0FBS0MsS0FBSyxDQUFDaEIsUUFBUWMsTUFBTTtJQUMzRSxJQUFJWixNQUFNZSxnQkFBZ0IsSUFBSWpCLFFBQVFrQixpQkFBaUIsRUFBRWIsS0FBS1ksZ0JBQWdCLEdBQUdqQixRQUFRa0IsaUJBQWlCO0lBQzFHLElBQUloQixNQUFNaUIsVUFBVSxJQUFJbkIsUUFBUW9CLFdBQVcsS0FBS0MsV0FBV2hCLEtBQUtjLFVBQVUsR0FBR25CLFFBQVFvQixXQUFXO0lBQ2hHLElBQUlsQixNQUFNb0IsT0FBTyxJQUFJdEIsUUFBUXNCLE9BQU8sRUFBRTtRQUNwQyxNQUFNQSxVQUFVLENBQUM7UUFDakIsTUFBTUMsa0JBQWtCeEIsSUFBSUksWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ29CLFVBQVU7UUFFckUsSUFBSUQsZ0JBQWdCRSxXQUFXLElBQUl6QixRQUFRc0IsT0FBTyxDQUFDSSxZQUFZLEVBQUVKLFFBQVFHLFdBQVcsR0FBR3pCLFFBQVFzQixPQUFPLENBQUNJLFlBQVk7UUFDbkgsSUFBSUgsZ0JBQWdCSSxZQUFZLElBQUkzQixRQUFRc0IsT0FBTyxDQUFDTSxhQUFhLEVBQy9ETixRQUFRSyxZQUFZLEdBQUczQixRQUFRc0IsT0FBTyxDQUFDTSxhQUFhLENBQUNuQixHQUFHLENBQUMsQ0FBQ0MsSUFBTyxDQUFBO2dCQUFFbUIsSUFBSW5CLEVBQUVtQixFQUFFO2dCQUFFQyxPQUFPcEIsRUFBRW9CLEtBQUs7Z0JBQUVDLFNBQVNyQixFQUFFc0IsUUFBUTtZQUFDLENBQUE7UUFFbkgzQixLQUFLaUIsT0FBTyxHQUFHQTtJQUNqQjtJQUVBLE9BQU96QixlQUFlLFFBQVFFLEtBQUtDLFNBQVNLLE1BQU07UUFDaEQ0QixTQUFTaEMsT0FBT2dDLFdBQVc7SUFDN0I7QUFDRjtBQUVBLE9BQU8sU0FBU0MsbUJBQW1CbkMsR0FBUSxFQUFFQyxPQUFrQyxFQUFFQyxLQUE2QjtJQUM1RyxNQUFNQyxRQUFRSCxJQUFJSSxZQUFZLENBQUNDLGlCQUFpQixDQUFDRyxTQUFTO0lBQzFELE1BQU1BLFlBQVksQ0FBQztJQUVuQixJQUFJTCxNQUFNaUMsSUFBSSxJQUFJbkMsUUFBUW1DLElBQUksRUFBRTVCLFVBQVU0QixJQUFJLEdBQUduQyxRQUFRbUMsSUFBSTtJQUM3RCxJQUFJakMsTUFBTWtDLEtBQUssSUFBSXBDLFFBQVFvQyxLQUFLLEVBQUU3QixVQUFVNkIsS0FBSyxHQUFHckMsSUFBSUksWUFBWSxDQUFDaUMsS0FBSyxDQUFDckMsS0FBS0MsUUFBUW9DLEtBQUssRUFBRTtRQUFFSCxTQUFTO0lBQUs7SUFFL0csT0FBT3BDLGVBQWUsYUFBYUUsS0FBS0MsU0FBU08sV0FBVztRQUMxRDBCLFNBQVNoQyxPQUFPZ0MsV0FBVztJQUM3QjtBQUNGIn0=
@@ -1,4 +1,6 @@
1
1
  import { type DiscordPresenceUpdate } from '@discordeno/types';
2
- import type { Bot, PresenceUpdate } from '../index.js';
3
- export declare function transformPresence(bot: Bot, payload: DiscordPresenceUpdate): PresenceUpdate;
2
+ import type { Bot } from '../bot.js';
3
+ export declare function transformPresence(bot: Bot, payload: Partial<DiscordPresenceUpdate>, extra?: {
4
+ partial?: boolean;
5
+ }): any;
4
6
  //# sourceMappingURL=presence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/transformers/presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAkB,MAAM,mBAAmB,CAAA;AAC9E,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAQ,MAAM,aAAa,CAAA;AAE5D,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAY1F"}
1
+ {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/transformers/presence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAkB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKrC,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,OAejH"}