@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.
- package/dist/bot.d.ts +4 -4
- package/dist/bot.d.ts.map +1 -1
- package/dist/bot.js +2 -3
- package/dist/commandOptionsParser.d.ts +4 -3
- package/dist/commandOptionsParser.d.ts.map +1 -1
- package/dist/commandOptionsParser.js +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/desiredProperties.d.ts +151 -100
- package/dist/desiredProperties.d.ts.map +1 -1
- package/dist/desiredProperties.js +290 -2
- package/dist/events.d.ts +34 -18
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +1 -1
- package/dist/handlers/channels/CHANNEL_CREATE.d.ts +2 -1
- package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -1
- package/dist/handlers/channels/CHANNEL_CREATE.js +1 -1
- package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -1
- package/dist/handlers/channels/CHANNEL_DELETE.js +1 -1
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +1 -1
- package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/CHANNEL_UPDATE.js +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +1 -1
- package/dist/handlers/channels/THREAD_CREATE.d.ts +1 -1
- package/dist/handlers/channels/THREAD_CREATE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_CREATE.js +1 -1
- package/dist/handlers/channels/THREAD_DELETE.d.ts +1 -1
- package/dist/handlers/channels/THREAD_DELETE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_DELETE.js +1 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts +1 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.js +1 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts +1 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +2 -2
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts +1 -1
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +1 -1
- package/dist/handlers/channels/THREAD_UPDATE.d.ts +1 -1
- package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +1 -1
- package/dist/handlers/channels/THREAD_UPDATE.js +1 -1
- package/dist/handlers/channels/index.d.ts.map +1 -1
- package/dist/handlers/channels/index.js +1 -1
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +1 -1
- package/dist/handlers/emojis/index.d.ts.map +1 -1
- package/dist/handlers/emojis/index.js +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_CREATE.d.ts.map +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_CREATE.js +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_DELETE.d.ts.map +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_DELETE.js +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.d.ts.map +1 -1
- package/dist/handlers/entitlements/ENTITLEMENT_UPDATE.js +1 -1
- package/dist/handlers/entitlements/index.d.ts.map +1 -1
- package/dist/handlers/entitlements/index.js +1 -1
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +1 -1
- package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_BAN_ADD.js +1 -1
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +1 -1
- package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_CREATE.js +1 -1
- package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_DELETE.js +1 -1
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +1 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts +2 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +1 -1
- package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/GUILD_UPDATE.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +1 -1
- package/dist/handlers/guilds/automod/index.d.ts.map +1 -1
- package/dist/handlers/guilds/automod/index.js +1 -1
- package/dist/handlers/guilds/index.d.ts.map +1 -1
- package/dist/handlers/guilds/index.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +1 -1
- package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +1 -1
- package/dist/handlers/guilds/scheduledEvents/index.js +1 -1
- package/dist/handlers/index.d.ts.map +1 -1
- package/dist/handlers/index.js +1 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts +1 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.js +1 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts +1 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.js +1 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts +1 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.js +1 -1
- package/dist/handlers/integrations/index.d.ts.map +1 -1
- package/dist/handlers/integrations/index.js +1 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +2 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +1 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.d.ts +1 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.js +1 -1
- package/dist/handlers/interactions/index.d.ts.map +1 -1
- package/dist/handlers/interactions/index.js +1 -1
- package/dist/handlers/invites/INVITE_CREATE.d.ts +1 -1
- package/dist/handlers/invites/INVITE_CREATE.d.ts.map +1 -1
- package/dist/handlers/invites/INVITE_CREATE.js +20 -4
- package/dist/handlers/invites/INVITE_DELETE.d.ts +1 -1
- package/dist/handlers/invites/INVITE_DELETE.d.ts.map +1 -1
- package/dist/handlers/invites/INVITE_DELETE.js +4 -4
- package/dist/handlers/invites/index.d.ts.map +1 -1
- package/dist/handlers/invites/index.js +1 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +1 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +1 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts +1 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.js +1 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts +1 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +1 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts +1 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +4 -4
- package/dist/handlers/members/index.d.ts.map +1 -1
- package/dist/handlers/members/index.js +1 -1
- package/dist/handlers/messages/MESSAGE_CREATE.d.ts +1 -1
- package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_CREATE.js +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE.d.ts +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE.js +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +4 -3
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +4 -3
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +4 -3
- package/dist/handlers/messages/MESSAGE_UPDATE.d.ts +1 -1
- package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/messages/MESSAGE_UPDATE.js +1 -1
- package/dist/handlers/messages/index.d.ts.map +1 -1
- package/dist/handlers/messages/index.js +1 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.d.ts +1 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.js +1 -1
- package/dist/handlers/misc/RATE_LIMITED.d.ts +4 -0
- package/dist/handlers/misc/RATE_LIMITED.d.ts.map +1 -0
- package/dist/handlers/misc/RATE_LIMITED.js +7 -0
- package/dist/handlers/misc/READY.d.ts +1 -1
- package/dist/handlers/misc/READY.d.ts.map +1 -1
- package/dist/handlers/misc/READY.js +1 -1
- package/dist/handlers/misc/RESUMED.d.ts +4 -0
- package/dist/handlers/misc/RESUMED.d.ts.map +1 -0
- package/dist/handlers/misc/RESUMED.js +6 -0
- package/dist/handlers/misc/TYPING_START.d.ts +1 -1
- package/dist/handlers/misc/TYPING_START.d.ts.map +1 -1
- package/dist/handlers/misc/TYPING_START.js +1 -1
- package/dist/handlers/misc/USER_UPDATE.d.ts +1 -1
- package/dist/handlers/misc/USER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/misc/USER_UPDATE.js +1 -1
- package/dist/handlers/misc/index.d.ts +2 -0
- package/dist/handlers/misc/index.d.ts.map +1 -1
- package/dist/handlers/misc/index.js +3 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.d.ts.map +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_ADD.js +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.d.ts.map +1 -1
- package/dist/handlers/poll/MESSAGE_POLL_VOTE_REMOVE.js +1 -1
- package/dist/handlers/poll/index.d.ts.map +1 -1
- package/dist/handlers/poll/index.js +1 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts +1 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.js +1 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts +1 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.js +1 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts +1 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +1 -1
- package/dist/handlers/roles/index.d.ts.map +1 -1
- package/dist/handlers/roles/index.js +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUNDS_UPDATE.js +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.d.ts.map +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_CREATE.js +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.d.ts.map +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_DELETE.js +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.d.ts.map +1 -1
- package/dist/handlers/soundboard/GUILD_SOUNDBOARD_SOUND_UPDATE.js +1 -1
- package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts +1 -1
- package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.d.ts.map +1 -1
- package/dist/handlers/soundboard/SOUNDBOARD_SOUNDS.js +1 -1
- package/dist/handlers/soundboard/index.d.ts.map +1 -1
- package/dist/handlers/soundboard/index.js +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.d.ts.map +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_CREATE.js +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.d.ts.map +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_DELETE.js +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.d.ts.map +1 -1
- package/dist/handlers/subscriptions/SUBSCRIPTION_UPDATE.js +1 -1
- package/dist/handlers/subscriptions/index.d.ts.map +1 -1
- package/dist/handlers/subscriptions/index.js +1 -1
- package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts +1 -1
- package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.d.ts.map +1 -1
- package/dist/handlers/voice/VOICE_CHANNEL_EFFECT_SEND.js +1 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts +1 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +1 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts +1 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.js +2 -5
- package/dist/handlers/voice/index.d.ts.map +1 -1
- package/dist/handlers/voice/index.js +1 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts +1 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +1 -1
- package/dist/handlers/webhooks/index.d.ts.map +1 -1
- package/dist/handlers/webhooks/index.js +1 -1
- package/dist/handlers.d.ts +3 -1
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +78 -75
- package/dist/helpers.d.ts +62 -44
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +66 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/transformers/activity.d.ts +11 -4
- package/dist/transformers/activity.d.ts.map +1 -1
- package/dist/transformers/activity.js +34 -18
- package/dist/transformers/application.d.ts +5 -3
- package/dist/transformers/application.d.ts.map +1 -1
- package/dist/transformers/application.js +20 -8
- package/dist/transformers/applicationCommand.d.ts +2 -2
- package/dist/transformers/applicationCommand.d.ts.map +1 -1
- package/dist/transformers/applicationCommand.js +1 -1
- package/dist/transformers/applicationCommandOption.d.ts +2 -2
- package/dist/transformers/applicationCommandOption.d.ts.map +1 -1
- package/dist/transformers/applicationCommandOption.js +3 -2
- package/dist/transformers/applicationCommandOptionChoice.d.ts +2 -2
- package/dist/transformers/applicationCommandOptionChoice.d.ts.map +1 -1
- package/dist/transformers/applicationCommandOptionChoice.js +1 -1
- package/dist/transformers/applicationCommandPermission.d.ts +2 -2
- package/dist/transformers/applicationCommandPermission.d.ts.map +1 -1
- package/dist/transformers/applicationCommandPermission.js +1 -1
- package/dist/transformers/attachment.d.ts +4 -2
- package/dist/transformers/attachment.d.ts.map +1 -1
- package/dist/transformers/attachment.js +12 -4
- package/dist/transformers/auditLogEntry.d.ts +2 -2
- package/dist/transformers/auditLogEntry.d.ts.map +1 -1
- package/dist/transformers/auditLogEntry.js +3 -2
- package/dist/transformers/automodActionExecution.d.ts +2 -2
- package/dist/transformers/automodActionExecution.d.ts.map +1 -1
- package/dist/transformers/automodActionExecution.js +1 -1
- package/dist/transformers/automodRule.d.ts +2 -2
- package/dist/transformers/automodRule.d.ts.map +1 -1
- package/dist/transformers/automodRule.js +3 -2
- package/dist/transformers/avatarDecorationData.d.ts +5 -2
- package/dist/transformers/avatarDecorationData.d.ts.map +1 -1
- package/dist/transformers/avatarDecorationData.js +7 -4
- package/dist/transformers/channel.d.ts +7 -3
- package/dist/transformers/channel.d.ts.map +1 -1
- package/dist/transformers/channel.js +14 -9
- package/dist/transformers/component.d.ts +11 -5
- package/dist/transformers/component.d.ts.map +1 -1
- package/dist/transformers/component.js +253 -38
- package/dist/transformers/embed.d.ts +2 -2
- package/dist/transformers/embed.d.ts.map +1 -1
- package/dist/transformers/embed.js +22 -5
- package/dist/transformers/emoji.d.ts +8 -3
- package/dist/transformers/emoji.d.ts.map +1 -1
- package/dist/transformers/emoji.js +10 -5
- package/dist/transformers/entitlement.d.ts +4 -2
- package/dist/transformers/entitlement.d.ts.map +1 -1
- package/dist/transformers/entitlement.js +6 -3
- package/dist/transformers/gatewayBot.d.ts +2 -2
- package/dist/transformers/gatewayBot.d.ts.map +1 -1
- package/dist/transformers/gatewayBot.js +1 -1
- package/dist/transformers/guild.d.ts +5 -3
- package/dist/transformers/guild.d.ts.map +1 -1
- package/dist/transformers/guild.js +25 -25
- package/dist/transformers/incidentsData.d.ts +4 -2
- package/dist/transformers/incidentsData.d.ts.map +1 -1
- package/dist/transformers/incidentsData.js +6 -3
- package/dist/transformers/index.d.ts.map +1 -1
- package/dist/transformers/index.js +1 -1
- package/dist/transformers/integration.d.ts +2 -2
- package/dist/transformers/integration.d.ts.map +1 -1
- package/dist/transformers/integration.js +2 -2
- package/dist/transformers/interaction.d.ts +20 -12
- package/dist/transformers/interaction.d.ts.map +1 -1
- package/dist/transformers/interaction.js +67 -40
- package/dist/transformers/invite.d.ts +5 -4
- package/dist/transformers/invite.d.ts.map +1 -1
- package/dist/transformers/invite.js +27 -28
- package/dist/transformers/lobby.d.ts +14 -4
- package/dist/transformers/lobby.d.ts.map +1 -1
- package/dist/transformers/lobby.js +36 -6
- package/dist/transformers/member.d.ts +3 -2
- package/dist/transformers/member.d.ts.map +1 -1
- package/dist/transformers/member.js +6 -3
- package/dist/transformers/message.d.ts +21 -10
- package/dist/transformers/message.d.ts.map +1 -1
- package/dist/transformers/message.js +53 -26
- package/dist/transformers/onboarding.d.ts +10 -4
- package/dist/transformers/onboarding.d.ts.map +1 -1
- package/dist/transformers/onboarding.js +17 -10
- package/dist/transformers/poll.d.ts +7 -3
- package/dist/transformers/poll.d.ts.map +1 -1
- package/dist/transformers/poll.js +14 -7
- package/dist/transformers/presence.d.ts +4 -2
- package/dist/transformers/presence.d.ts.map +1 -1
- package/dist/transformers/presence.js +10 -6
- package/dist/transformers/reverse/activity.d.ts +5 -2
- package/dist/transformers/reverse/activity.d.ts.map +1 -1
- package/dist/transformers/reverse/activity.js +20 -24
- package/dist/transformers/reverse/allowedMentions.d.ts +2 -1
- package/dist/transformers/reverse/allowedMentions.d.ts.map +1 -1
- package/dist/transformers/reverse/allowedMentions.js +1 -1
- package/dist/transformers/reverse/application.d.ts +3 -1
- package/dist/transformers/reverse/application.d.ts.map +1 -1
- package/dist/transformers/reverse/application.js +2 -2
- package/dist/transformers/reverse/applicationCommand.d.ts +3 -1
- package/dist/transformers/reverse/applicationCommand.d.ts.map +1 -1
- package/dist/transformers/reverse/applicationCommand.js +2 -2
- package/dist/transformers/reverse/applicationCommandOption.d.ts +3 -1
- package/dist/transformers/reverse/applicationCommandOption.d.ts.map +1 -1
- package/dist/transformers/reverse/applicationCommandOption.js +1 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts +3 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.js +1 -1
- package/dist/transformers/reverse/applicationCommandPermission.d.ts +3 -1
- package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +1 -1
- package/dist/transformers/reverse/applicationCommandPermission.js +1 -1
- package/dist/transformers/reverse/attachment.d.ts +2 -1
- package/dist/transformers/reverse/attachment.d.ts.map +1 -1
- package/dist/transformers/reverse/attachment.js +1 -1
- package/dist/transformers/reverse/auditLogEntry.d.ts +2 -1
- package/dist/transformers/reverse/auditLogEntry.d.ts.map +1 -1
- package/dist/transformers/reverse/auditLogEntry.js +3 -2
- package/dist/transformers/reverse/component.d.ts +4 -3
- package/dist/transformers/reverse/component.d.ts.map +1 -1
- package/dist/transformers/reverse/component.js +185 -12
- package/dist/transformers/reverse/embed.d.ts +2 -1
- package/dist/transformers/reverse/embed.d.ts.map +1 -1
- package/dist/transformers/reverse/embed.js +19 -4
- package/dist/transformers/reverse/emoji.d.ts +2 -1
- package/dist/transformers/reverse/emoji.d.ts.map +1 -1
- package/dist/transformers/reverse/emoji.js +1 -1
- package/dist/transformers/reverse/gatewayBot.d.ts.map +1 -1
- package/dist/transformers/reverse/gatewayBot.js +1 -1
- package/dist/transformers/reverse/index.d.ts.map +1 -1
- package/dist/transformers/reverse/index.js +1 -1
- package/dist/transformers/reverse/member.d.ts.map +1 -1
- package/dist/transformers/reverse/member.js +4 -2
- package/dist/transformers/reverse/presence.d.ts +2 -1
- package/dist/transformers/reverse/presence.d.ts.map +1 -1
- package/dist/transformers/reverse/presence.js +3 -2
- package/dist/transformers/reverse/team.d.ts +2 -1
- package/dist/transformers/reverse/team.d.ts.map +1 -1
- package/dist/transformers/reverse/team.js +2 -2
- package/dist/transformers/reverse/user.d.ts +5 -0
- package/dist/transformers/reverse/user.d.ts.map +1 -0
- package/dist/transformers/reverse/user.js +17 -0
- package/dist/transformers/reverse/widgetSettings.d.ts +2 -1
- package/dist/transformers/reverse/widgetSettings.d.ts.map +1 -1
- package/dist/transformers/reverse/widgetSettings.js +1 -1
- package/dist/transformers/role.d.ts +8 -4
- package/dist/transformers/role.d.ts.map +1 -1
- package/dist/transformers/role.js +13 -8
- package/dist/transformers/scheduledEvent.d.ts +7 -3
- package/dist/transformers/scheduledEvent.d.ts.map +1 -1
- package/dist/transformers/scheduledEvent.js +11 -6
- package/dist/transformers/sku.d.ts +4 -2
- package/dist/transformers/sku.d.ts.map +1 -1
- package/dist/transformers/sku.js +6 -3
- package/dist/transformers/soundboardSound.d.ts +4 -2
- package/dist/transformers/soundboardSound.d.ts.map +1 -1
- package/dist/transformers/soundboardSound.js +6 -3
- package/dist/transformers/stageInstance.d.ts +4 -2
- package/dist/transformers/stageInstance.d.ts.map +1 -1
- package/dist/transformers/stageInstance.js +6 -3
- package/dist/transformers/stageInviteInstance.d.ts +4 -3
- package/dist/transformers/stageInviteInstance.d.ts.map +1 -1
- package/dist/transformers/stageInviteInstance.js +10 -8
- package/dist/transformers/sticker.d.ts +5 -3
- package/dist/transformers/sticker.d.ts.map +1 -1
- package/dist/transformers/sticker.js +6 -3
- package/dist/transformers/subscription.d.ts +4 -2
- package/dist/transformers/subscription.d.ts.map +1 -1
- package/dist/transformers/subscription.js +6 -3
- package/dist/transformers/team.d.ts +2 -2
- package/dist/transformers/team.d.ts.map +1 -1
- package/dist/transformers/team.js +2 -2
- package/dist/transformers/template.d.ts +2 -2
- package/dist/transformers/template.d.ts.map +1 -1
- package/dist/transformers/template.js +1 -1
- package/dist/transformers/threadMember.d.ts +3 -3
- package/dist/transformers/threadMember.d.ts.map +1 -1
- package/dist/transformers/threadMember.js +4 -2
- package/dist/transformers/toggles/Permissions.d.ts.map +1 -1
- package/dist/transformers/toggles/Permissions.js +1 -1
- package/dist/transformers/toggles/ToggleBitfield.d.ts.map +1 -1
- package/dist/transformers/toggles/ToggleBitfield.js +1 -1
- package/dist/transformers/toggles/channel.d.ts +2 -2
- package/dist/transformers/toggles/channel.d.ts.map +1 -1
- package/dist/transformers/toggles/channel.js +2 -2
- package/dist/transformers/toggles/emoji.d.ts +1 -1
- package/dist/transformers/toggles/emoji.d.ts.map +1 -1
- package/dist/transformers/toggles/emoji.js +1 -1
- package/dist/transformers/toggles/guild.d.ts +6 -6
- package/dist/transformers/toggles/guild.d.ts.map +1 -1
- package/dist/transformers/toggles/guild.js +5 -5
- package/dist/transformers/toggles/index.d.ts.map +1 -1
- package/dist/transformers/toggles/index.js +1 -1
- package/dist/transformers/toggles/member.d.ts +2 -2
- package/dist/transformers/toggles/member.d.ts.map +1 -1
- package/dist/transformers/toggles/member.js +2 -2
- package/dist/transformers/toggles/role.d.ts +1 -1
- package/dist/transformers/toggles/role.d.ts.map +1 -1
- package/dist/transformers/toggles/role.js +1 -1
- package/dist/transformers/toggles/user.d.ts +1 -1
- package/dist/transformers/toggles/user.d.ts.map +1 -1
- package/dist/transformers/toggles/user.js +1 -1
- package/dist/transformers/toggles/voice.d.ts +1 -1
- package/dist/transformers/toggles/voice.d.ts.map +1 -1
- package/dist/transformers/toggles/voice.js +1 -1
- package/dist/transformers/types.d.ts +321 -65
- package/dist/transformers/types.d.ts.map +1 -1
- package/dist/transformers/types.js +2 -2
- package/dist/transformers/user.d.ts +14 -5
- package/dist/transformers/user.d.ts.map +1 -1
- package/dist/transformers/user.js +39 -12
- package/dist/transformers/voiceRegion.d.ts +2 -2
- package/dist/transformers/voiceRegion.d.ts.map +1 -1
- package/dist/transformers/voiceRegion.js +1 -1
- package/dist/transformers/voiceState.d.ts +4 -3
- package/dist/transformers/voiceState.d.ts.map +1 -1
- package/dist/transformers/voiceState.js +6 -4
- package/dist/transformers/webhook.d.ts +4 -2
- package/dist/transformers/webhook.d.ts.map +1 -1
- package/dist/transformers/webhook.js +11 -8
- package/dist/transformers/welcomeScreen.d.ts +2 -2
- package/dist/transformers/welcomeScreen.d.ts.map +1 -1
- package/dist/transformers/welcomeScreen.js +1 -1
- package/dist/transformers/widget.d.ts +2 -2
- package/dist/transformers/widget.d.ts.map +1 -1
- package/dist/transformers/widget.js +7 -5
- package/dist/transformers/widgetSettings.d.ts +2 -2
- package/dist/transformers/widgetSettings.d.ts.map +1 -1
- package/dist/transformers/widgetSettings.js +1 -1
- package/dist/transformers.d.ts +220 -216
- package/dist/transformers.d.ts.map +1 -1
- package/dist/transformers.js +89 -3
- 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 {
|
|
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)
|
|
129
|
-
|
|
130
|
-
|
|
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)
|
|
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
|
-
|
|
215
|
-
|
|
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
|
|
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
|
|
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)
|
|
247
|
-
|
|
248
|
-
|
|
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
|
|
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
|
|
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+XG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlQ2FsbFxuXG4gIGlmIChwcm9wcy5wYXJ0aWNpcGFudHMgJiYgcGF5bG9hZC5wYXJ0aWNpcGFudHMpIGNhbGwucGFydGljaXBhbnRzID0gcGF5bG9hZC5wYXJ0aWNpcGFudHMubWFwKCh4KSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZSh4KSlcbiAgaWYgKHByb3BzLmVuZGVkVGltZXN0YW1wICYmIHBheWxvYWQuZW5kZWRfdGltZXN0YW1wKSBjYWxsLmVuZGVkVGltZXN0YW1wID0gRGF0ZS5wYXJzZShwYXlsb2FkLmVuZGVkX3RpbWVzdGFtcClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlQ2FsbChib3QsIHBheWxvYWQsIGNhbGwpXG59XG4iXSwibmFtZXMiOlsiRGlzY29yZEFwcGxpY2F0aW9uSW50ZWdyYXRpb25UeXBlIiwiTWVzc2FnZUZsYWdzIiwiQ0hBTk5FTF9NRU5USU9OX1JFR0VYIiwic25vd2ZsYWtlVG9UaW1lc3RhbXAiLCJUb2dnbGVCaXRmaWVsZCIsIkVNUFRZX1NUUklORyIsImJhc2VNZXNzYWdlIiwidW5kZWZpbmVkIiwiY3Jvc3Nwb3N0ZWQiLCJmbGFncyIsImNvbnRhaW5zIiwiQ3Jvc3Nwb3N0ZWQiLCJ2YWx1ZSIsImFkZCIsInJlbW92ZSIsImVwaGVtZXJhbCIsIkVwaGVtZXJhbCIsImZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkIiwiRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJoYXNUaHJlYWQiLCJIYXNUaHJlYWQiLCJpc0Nyb3NzcG9zdCIsIklzQ3Jvc3Nwb3N0IiwibG9hZGluZyIsIkxvYWRpbmciLCJtZW50aW9uZWRVc2VySWRzIiwibWVudGlvbnMiLCJtYXAiLCJ1c2VyIiwiaWQiLCJtZW50aW9uRXZlcnlvbmUiLCJiaXRmaWVsZCIsInBpbm5lZCIsInNvdXJjZU1lc3NhZ2VEZWxldGVkIiwiU291cmNlTWVzc2FnZURlbGV0ZWQiLCJzdXBwcmVzc0VtYmVkcyIsIlN1cHByZXNzRW1iZWRzIiwic3VwcHJlc3NOb3RpZmljYXRpb25zIiwiU3VwcHJlc3NOb3RpZmljYXRpb25zIiwidGltZXN0YW1wIiwidHRzIiwidXJnZW50IiwiVXJnZW50IiwidHJhbnNmb3JtTWVzc2FnZSIsImJvdCIsInBheWxvYWQiLCJleHRyYSIsImd1aWxkSWQiLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVzZXJJZCIsImF1dGhvciIsIm1lc3NhZ2UiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb24iLCJzaGFyZElkIiwiYXBwbGljYXRpb25JZCIsImFwcGxpY2F0aW9uX2lkIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJhdHRhY2htZW50IiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImNvbXBvbmVudHMiLCJjb21wIiwiY29tcG9uZW50IiwiY29udGVudCIsImVkaXRlZFRpbWVzdGFtcCIsImVkaXRlZF90aW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJlbWJlZHMiLCJlbWJlZCIsImludGVyYWN0aW9uTWV0YWRhdGEiLCJpbnRlcmFjdGlvbl9tZXRhZGF0YSIsIm1lc3NhZ2VJbnRlcmFjdGlvbk1ldGFkYXRhIiwiaW50ZXJhY3Rpb24iLCJtZXNzYWdlSW50ZXJhY3Rpb25Qcm9wcyIsIm1lc3NhZ2VJbnRlcmFjdGlvbiIsIm1lbWJlciIsIm5hbWUiLCJ0eXBlIiwibWVudGlvbl9ldmVyeW9uZSIsIm1lbnRpb25lZENoYW5uZWxJZHMiLCJtZW50aW9uX2NoYW5uZWxzIiwibSIsIm1hdGNoIiwidGV4dCIsInN1YnN0cmluZyIsIm1lbnRpb25lZFJvbGVJZHMiLCJtZW50aW9uX3JvbGVzIiwibWVzc2FnZVJlZmVyZW5jZSIsIm1lc3NhZ2VfcmVmZXJlbmNlIiwicmVmZXJlbmNlIiwibWVzc2FnZVJlZmVyZW5jZVByb3BzIiwibWVzc2FnZUlkIiwibWVzc2FnZV9pZCIsInJlZmVyZW5jZWRNZXNzYWdlIiwicmVmZXJlbmNlZF9tZXNzYWdlIiwibWVzc2FnZVNuYXBzaG90cyIsIm1lc3NhZ2Vfc25hcHNob3RzIiwic25hcCIsIm1lc3NhZ2VTbmFwc2hvdCIsIm5vbmNlIiwicmVhY3Rpb25zIiwicmVhY3Rpb24iLCJtZSIsIm1lQnVyc3QiLCJtZV9idXJzdCIsImNvdW50IiwiY291bnREZXRhaWxzIiwiYnVyc3QiLCJjb3VudF9kZXRhaWxzIiwibm9ybWFsIiwiZW1vamkiLCJidXJzdENvbG9ycyIsImJ1cnN0X2NvbG9ycyIsInN0aWNrZXJJdGVtcyIsInN0aWNrZXJfaXRlbXMiLCJpdGVtIiwiZm9ybWF0VHlwZSIsImZvcm1hdF90eXBlIiwidGhyZWFkIiwiY2hhbm5lbCIsIndlYmhvb2tJZCIsIndlYmhvb2tfaWQiLCJwb2xsIiwiY2FsbCIsIm1lc3NhZ2VDYWxsIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1NZXNzYWdlUGluIiwibWVzc2FnZVBpbiIsInBpbm5lZEF0IiwicGlubmVkX2F0IiwidHJhbnNmb3JtTWVzc2FnZVNuYXBzaG90IiwidHJhbnNmb3JtTWVzc2FnZUludGVyYWN0aW9uTWV0YWRhdGEiLCJtZXRhZGF0YSIsImF1dGhvcml6aW5nSW50ZWdyYXRpb25Pd25lcnMiLCJhdXRob3JpemluZ19pbnRlZ3JhdGlvbl9vd25lcnMiLCJHdWlsZEluc3RhbGwiLCJVc2VySW5zdGFsbCIsIm9yaWdpbmFsUmVzcG9uc2VNZXNzYWdlSWQiLCJvcmlnaW5hbF9yZXNwb25zZV9tZXNzYWdlX2lkIiwidGFyZ2V0VXNlciIsInRhcmdldF91c2VyIiwidGFyZ2V0TWVzc2FnZUlkIiwidGFyZ2V0X21lc3NhZ2VfaWQiLCJpbnRlcmFjdGVkTWVzc2FnZUlkIiwiaW50ZXJhY3RlZF9tZXNzYWdlX2lkIiwidHJpZ2dlcmluZ0ludGVyYWN0aW9uTWV0YWRhdGEiLCJ0cmlnZ2VyaW5nX2ludGVyYWN0aW9uX21ldGFkYXRhIiwidHJhbnNmb3JtTWVzc2FnZUNhbGwiLCJwYXJ0aWNpcGFudHMiLCJ4IiwiZW5kZWRUaW1lc3RhbXAiLCJlbmRlZF90aW1lc3RhbXAiXSwibWFwcGluZ3MiOiJBQUFBLFNBQ0VBLGlDQUFpQyxFQU1qQ0MsWUFBWSxRQUNQLG9CQUFtQjtBQUMxQixTQUFTQyxxQkFBcUIsUUFBUSxrQkFBaUI7QUFDdkQsU0FVRUMsb0JBQW9CLFFBRWYsY0FBYTtBQUNwQixTQUFTQyxjQUFjLFFBQVEsOEJBQTZCO0FBRTVELE1BQU1DLGVBQWU7QUFFckIsT0FBTyxNQUFNQyxjQUF1QjtJQUNsQywyRUFBMkU7SUFDM0UsR0FBSUMsU0FBUztJQUViLElBQUlDLGVBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRUMsU0FBU1QsYUFBYVUsV0FBVyxLQUFLO0lBQzNEO0lBQ0EsSUFBSUgsYUFBWUksTUFBZ0I7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQ0gsS0FBSyxFQUFFO1FBQ2pCLElBQUlHLE9BQU8sSUFBSSxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQ1osYUFBYVUsV0FBVzthQUM3QyxJQUFJLENBQUNGLEtBQUssQ0FBQ0ssTUFBTSxDQUFDYixhQUFhVSxXQUFXO0lBQ2pEO0lBQ0EsSUFBSUksYUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDTixLQUFLLEVBQUVDLFNBQVNULGFBQWFlLFNBQVMsS0FBSztJQUN6RDtJQUNBLElBQUlELFdBQVVILE1BQWdCO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUNILEtBQUssRUFBRTtRQUNqQixJQUFJRyxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUNaLGFBQWFlLFNBQVM7YUFDM0MsSUFBSSxDQUFDUCxLQUFLLENBQUNLLE1BQU0sQ0FBQ2IsYUFBYWUsU0FBUztJQUMvQztJQUNB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
|
|
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
|
|
3
|
-
export declare function transformGuildOnboarding(bot: Bot, payload: DiscordGuildOnboarding
|
|
4
|
-
|
|
5
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
37
|
+
return callCustomizer('guildOnboardingPromptOption', bot, payload, option, {
|
|
38
|
+
partial: extra?.partial ?? false
|
|
39
|
+
});
|
|
33
40
|
}
|
|
34
41
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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
|
|
3
|
-
export declare function transformPoll(bot: Bot, payload: DiscordPoll
|
|
4
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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,
|
|
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
|
|
3
|
-
export declare function transformPresence(bot: Bot, payload: DiscordPresenceUpdate
|
|
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,
|
|
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"}
|