@discordeno/bot 19.0.0-next.b2f65c2 → 19.0.0-next.b567c13
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/cjs/bot.cjs +72 -0
- package/dist/cjs/commandOptionsParser.cjs +49 -0
- package/dist/cjs/constants.cjs +22 -0
- package/dist/cjs/handlers/channels/CHANNEL_CREATE.cjs +19 -0
- package/dist/cjs/handlers/channels/CHANNEL_DELETE.cjs +19 -0
- package/dist/cjs/handlers/channels/CHANNEL_PINS_UPDATE.cjs +19 -0
- package/dist/cjs/handlers/channels/CHANNEL_UPDATE.cjs +18 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_CREATE.cjs +20 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_DELETE.cjs +20 -0
- package/dist/cjs/handlers/channels/STAGE_INSTANCE_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/channels/THREAD_CREATE.cjs +17 -0
- package/dist/cjs/handlers/channels/THREAD_DELETE.cjs +17 -0
- package/dist/cjs/handlers/channels/THREAD_LIST_SYNC.cjs +29 -0
- package/dist/cjs/handlers/channels/THREAD_MEMBERS_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/channels/THREAD_MEMBER_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/channels/THREAD_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/channels/index.cjs +30 -0
- package/dist/cjs/handlers/emojis/GUILD_EMOJIS_UPDATE.cjs +22 -0
- package/dist/cjs/handlers/emojis/index.cjs +18 -0
- package/dist/cjs/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.cjs +16 -0
- package/dist/cjs/handlers/guilds/GUILD_BAN_ADD.cjs +15 -0
- package/dist/cjs/handlers/guilds/GUILD_BAN_REMOVE.cjs +15 -0
- package/dist/cjs/handlers/guilds/GUILD_CREATE.cjs +18 -0
- package/dist/cjs/handlers/guilds/GUILD_DELETE.cjs +19 -0
- package/dist/cjs/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.cjs +17 -0
- package/dist/cjs/handlers/guilds/GUILD_STICKERS_UPDATE.cjs +18 -0
- package/dist/cjs/handlers/guilds/GUILD_UPDATE.cjs +18 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.cjs +15 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.cjs +15 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.cjs +15 -0
- package/dist/cjs/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.cjs +15 -0
- package/dist/cjs/handlers/guilds/automod/index.cjs +21 -0
- package/dist/cjs/handlers/guilds/index.cjs +27 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.cjs +15 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.cjs +15 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.cjs +15 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.cjs +19 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.cjs +19 -0
- package/dist/cjs/handlers/guilds/scheduledEvents/index.cjs +22 -0
- package/dist/cjs/handlers/index.cjs +29 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_CREATE.cjs +14 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_DELETE.cjs +19 -0
- package/dist/cjs/handlers/integrations/INTEGRATION_UPDATE.cjs +14 -0
- package/dist/cjs/handlers/integrations/index.cjs +20 -0
- package/dist/cjs/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.cjs +15 -0
- package/dist/cjs/handlers/interactions/INTERACTION_CREATE.cjs +14 -0
- package/dist/cjs/handlers/interactions/index.cjs +19 -0
- package/dist/cjs/handlers/invites/INVITE_CREATE.cjs +14 -0
- package/dist/cjs/handlers/invites/INVITE_DELETE.cjs +19 -0
- package/dist/cjs/handlers/invites/index.cjs +19 -0
- package/dist/cjs/handlers/members/GUILD_MEMBERS_CHUNK.cjs +28 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_ADD.cjs +18 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_REMOVE.cjs +17 -0
- package/dist/cjs/handlers/members/GUILD_MEMBER_UPDATE.cjs +16 -0
- package/dist/cjs/handlers/members/index.cjs +21 -0
- package/dist/cjs/handlers/messages/MESSAGE_CREATE.cjs +15 -0
- package/dist/cjs/handlers/messages/MESSAGE_DELETE.cjs +19 -0
- package/dist/cjs/handlers/messages/MESSAGE_DELETE_BULK.cjs +21 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_ADD.cjs +26 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE.cjs +21 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.cjs +19 -0
- package/dist/cjs/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.cjs +20 -0
- package/dist/cjs/handlers/messages/MESSAGE_UPDATE.cjs +16 -0
- package/dist/cjs/handlers/messages/index.cjs +25 -0
- package/dist/cjs/handlers/misc/PRESENCE_UPDATE.cjs +14 -0
- package/dist/cjs/handlers/misc/READY.cjs +26 -0
- package/dist/cjs/handlers/misc/TYPING_START.cjs +23 -0
- package/dist/cjs/handlers/misc/USER_UPDATE.cjs +15 -0
- package/dist/cjs/handlers/misc/index.cjs +21 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_CREATE.cjs +18 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_DELETE.cjs +18 -0
- package/dist/cjs/handlers/roles/GUILD_ROLE_UPDATE.cjs +18 -0
- package/dist/cjs/handlers/roles/index.cjs +20 -0
- package/dist/cjs/handlers/voice/VOICE_SERVER_UPDATE.cjs +19 -0
- package/dist/cjs/handlers/voice/VOICE_STATE_UPDATE.cjs +20 -0
- package/dist/cjs/handlers/voice/index.cjs +19 -0
- package/dist/cjs/handlers/webhooks/WEBHOOKS_UPDATE.cjs +18 -0
- package/dist/cjs/handlers/webhooks/index.cjs +18 -0
- package/dist/cjs/handlers.cjs +114 -0
- package/dist/cjs/helpers.cjs +610 -0
- package/dist/cjs/index.cjs +32 -0
- package/dist/cjs/optionalize.cjs +7 -0
- package/dist/cjs/transformers/activity.cjs +42 -0
- package/dist/cjs/transformers/application.cjs +33 -0
- package/dist/cjs/transformers/applicationCommand.cjs +27 -0
- package/dist/cjs/transformers/applicationCommandOption.cjs +29 -0
- package/dist/cjs/transformers/applicationCommandOptionChoice.cjs +18 -0
- package/dist/cjs/transformers/applicationCommandPermission.cjs +23 -0
- package/dist/cjs/transformers/attachment.cjs +25 -0
- package/dist/cjs/transformers/auditLogEntry.cjs +142 -0
- package/dist/cjs/transformers/automodActionExecution.cjs +33 -0
- package/dist/cjs/transformers/automodRule.cjs +39 -0
- package/dist/cjs/transformers/channel.cjs +114 -0
- package/dist/cjs/transformers/component.cjs +45 -0
- package/dist/cjs/transformers/embed.cjs +52 -0
- package/dist/cjs/transformers/emoji.cjs +21 -0
- package/dist/cjs/transformers/gatewayBot.cjs +23 -0
- package/dist/cjs/transformers/guild.cjs +140 -0
- package/dist/cjs/transformers/index.cjs +55 -0
- package/dist/cjs/transformers/integration.cjs +42 -0
- package/dist/cjs/transformers/interaction.cjs +184 -0
- package/dist/cjs/transformers/invite.cjs +48 -0
- package/dist/cjs/transformers/member.cjs +42 -0
- package/dist/cjs/transformers/message.cjs +229 -0
- package/dist/cjs/transformers/presence.cjs +23 -0
- package/dist/cjs/transformers/reverse/activity.cjs +51 -0
- package/dist/cjs/transformers/reverse/allowedMentions.cjs +18 -0
- package/dist/cjs/transformers/reverse/application.cjs +32 -0
- package/dist/cjs/transformers/reverse/applicationCommand.cjs +26 -0
- package/dist/cjs/transformers/reverse/applicationCommandOption.cjs +28 -0
- package/dist/cjs/transformers/reverse/applicationCommandOptionChoice.cjs +17 -0
- package/dist/cjs/transformers/reverse/applicationCommandPermission.cjs +22 -0
- package/dist/cjs/transformers/reverse/attachment.cjs +24 -0
- package/dist/cjs/transformers/reverse/auditLogEntry.cjs +145 -0
- package/dist/cjs/transformers/reverse/component.cjs +45 -0
- package/dist/cjs/transformers/reverse/createApplicationCommand.cjs +35 -0
- package/dist/cjs/transformers/reverse/embed.cjs +51 -0
- package/dist/cjs/transformers/reverse/emoji.cjs +22 -0
- package/dist/cjs/transformers/reverse/gatewayBot.cjs +22 -0
- package/dist/cjs/transformers/reverse/index.cjs +36 -0
- package/dist/cjs/transformers/reverse/interactionResponse.cjs +32 -0
- package/dist/cjs/transformers/reverse/member.cjs +49 -0
- package/dist/cjs/transformers/reverse/presence.cjs +37 -0
- package/dist/cjs/transformers/reverse/team.cjs +26 -0
- package/dist/cjs/transformers/reverse/widgetSettings.cjs +16 -0
- package/dist/cjs/transformers/role.cjs +65 -0
- package/dist/cjs/transformers/scheduledEvent.cjs +32 -0
- package/dist/cjs/transformers/stageInstance.cjs +20 -0
- package/dist/cjs/transformers/stageInviteInstance.cjs +21 -0
- package/dist/cjs/transformers/sticker.cjs +44 -0
- package/dist/cjs/transformers/team.cjs +27 -0
- package/dist/cjs/transformers/template.cjs +26 -0
- package/dist/cjs/transformers/threadMember.cjs +31 -0
- package/dist/cjs/transformers/toggles/Permissions.cjs +26 -0
- package/dist/cjs/transformers/toggles/ToggleBitfield.cjs +56 -0
- package/dist/cjs/transformers/toggles/channel.cjs +64 -0
- package/dist/cjs/transformers/toggles/emoji.cjs +59 -0
- package/dist/cjs/transformers/toggles/guild.cjs +220 -0
- package/dist/cjs/transformers/toggles/index.cjs +26 -0
- package/dist/cjs/transformers/toggles/member.cjs +54 -0
- package/dist/cjs/transformers/toggles/role.cjs +69 -0
- package/dist/cjs/transformers/toggles/user.cjs +59 -0
- package/dist/cjs/transformers/toggles/voice.cjs +74 -0
- package/dist/cjs/transformers/user.cjs +50 -0
- package/dist/cjs/transformers/voiceRegion.cjs +20 -0
- package/dist/cjs/transformers/voiceState.cjs +22 -0
- package/dist/cjs/transformers/webhook.cjs +35 -0
- package/dist/cjs/transformers/welcomeScreen.cjs +22 -0
- package/dist/cjs/transformers/widget.cjs +33 -0
- package/dist/cjs/transformers/widgetSettings.cjs +17 -0
- package/dist/cjs/transformers.cjs +528 -0
- package/dist/cjs/typings.cjs +33 -0
- package/dist/cjs/utils.cjs +26 -0
- package/dist/esm/bot.js +69 -0
- package/dist/esm/commandOptionsParser.js +41 -0
- package/dist/esm/constants.js +6 -0
- package/dist/esm/handlers/channels/CHANNEL_CREATE.js +11 -0
- package/dist/esm/handlers/channels/CHANNEL_DELETE.js +11 -0
- package/dist/esm/handlers/channels/CHANNEL_PINS_UPDATE.js +11 -0
- package/dist/esm/handlers/channels/CHANNEL_UPDATE.js +10 -0
- package/dist/esm/handlers/channels/STAGE_INSTANCE_CREATE.js +12 -0
- package/dist/esm/handlers/channels/STAGE_INSTANCE_DELETE.js +12 -0
- package/dist/esm/handlers/channels/STAGE_INSTANCE_UPDATE.js +12 -0
- package/dist/esm/handlers/channels/THREAD_CREATE.js +9 -0
- package/dist/esm/handlers/channels/THREAD_DELETE.js +9 -0
- package/dist/esm/handlers/channels/THREAD_LIST_SYNC.js +21 -0
- package/dist/esm/handlers/channels/THREAD_MEMBERS_UPDATE.js +12 -0
- package/dist/esm/handlers/channels/THREAD_MEMBER_UPDATE.js +12 -0
- package/dist/esm/handlers/channels/THREAD_UPDATE.js +9 -0
- package/dist/esm/handlers/channels/index.js +15 -0
- package/dist/esm/handlers/emojis/GUILD_EMOJIS_UPDATE.js +14 -0
- package/dist/esm/handlers/emojis/index.js +3 -0
- package/dist/esm/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +8 -0
- package/dist/esm/handlers/guilds/GUILD_BAN_ADD.js +7 -0
- package/dist/esm/handlers/guilds/GUILD_BAN_REMOVE.js +7 -0
- package/dist/esm/handlers/guilds/GUILD_CREATE.js +10 -0
- package/dist/esm/handlers/guilds/GUILD_DELETE.js +11 -0
- package/dist/esm/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +9 -0
- package/dist/esm/handlers/guilds/GUILD_STICKERS_UPDATE.js +10 -0
- package/dist/esm/handlers/guilds/GUILD_UPDATE.js +10 -0
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +7 -0
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +7 -0
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +7 -0
- package/dist/esm/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +7 -0
- package/dist/esm/handlers/guilds/automod/index.js +6 -0
- package/dist/esm/handlers/guilds/index.js +12 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +7 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +7 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +7 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +11 -0
- package/dist/esm/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +11 -0
- package/dist/esm/handlers/guilds/scheduledEvents/index.js +7 -0
- package/dist/esm/handlers/index.js +14 -0
- package/dist/esm/handlers/integrations/INTEGRATION_CREATE.js +6 -0
- package/dist/esm/handlers/integrations/INTEGRATION_DELETE.js +11 -0
- package/dist/esm/handlers/integrations/INTEGRATION_UPDATE.js +6 -0
- package/dist/esm/handlers/integrations/index.js +5 -0
- package/dist/esm/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +7 -0
- package/dist/esm/handlers/interactions/INTERACTION_CREATE.js +6 -0
- package/dist/esm/handlers/interactions/index.js +4 -0
- package/dist/esm/handlers/invites/INVITE_CREATE.js +6 -0
- package/dist/esm/handlers/invites/INVITE_DELETE.js +11 -0
- package/dist/esm/handlers/invites/index.js +4 -0
- package/dist/esm/handlers/members/GUILD_MEMBERS_CHUNK.js +20 -0
- package/dist/esm/handlers/members/GUILD_MEMBER_ADD.js +10 -0
- package/dist/esm/handlers/members/GUILD_MEMBER_REMOVE.js +9 -0
- package/dist/esm/handlers/members/GUILD_MEMBER_UPDATE.js +8 -0
- package/dist/esm/handlers/members/index.js +6 -0
- package/dist/esm/handlers/messages/MESSAGE_CREATE.js +7 -0
- package/dist/esm/handlers/messages/MESSAGE_DELETE.js +11 -0
- package/dist/esm/handlers/messages/MESSAGE_DELETE_BULK.js +13 -0
- package/dist/esm/handlers/messages/MESSAGE_REACTION_ADD.js +18 -0
- package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE.js +13 -0
- package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +11 -0
- package/dist/esm/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +12 -0
- package/dist/esm/handlers/messages/MESSAGE_UPDATE.js +8 -0
- package/dist/esm/handlers/messages/index.js +10 -0
- package/dist/esm/handlers/misc/PRESENCE_UPDATE.js +6 -0
- package/dist/esm/handlers/misc/READY.js +18 -0
- package/dist/esm/handlers/misc/TYPING_START.js +15 -0
- package/dist/esm/handlers/misc/USER_UPDATE.js +7 -0
- package/dist/esm/handlers/misc/index.js +6 -0
- package/dist/esm/handlers/roles/GUILD_ROLE_CREATE.js +10 -0
- package/dist/esm/handlers/roles/GUILD_ROLE_DELETE.js +10 -0
- package/dist/esm/handlers/roles/GUILD_ROLE_UPDATE.js +10 -0
- package/dist/esm/handlers/roles/index.js +5 -0
- package/dist/esm/handlers/voice/VOICE_SERVER_UPDATE.js +11 -0
- package/dist/esm/handlers/voice/VOICE_STATE_UPDATE.js +12 -0
- package/dist/esm/handlers/voice/index.js +4 -0
- package/dist/esm/handlers/webhooks/WEBHOOKS_UPDATE.js +10 -0
- package/dist/esm/handlers/webhooks/index.js +3 -0
- package/dist/esm/handlers.js +67 -0
- package/dist/esm/helpers.js +602 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/optionalize.js +3 -0
- package/dist/esm/transformers/activity.js +34 -0
- package/dist/esm/transformers/application.js +25 -0
- package/dist/esm/transformers/applicationCommand.js +19 -0
- package/dist/esm/transformers/applicationCommandOption.js +21 -0
- package/dist/esm/transformers/applicationCommandOptionChoice.js +10 -0
- package/dist/esm/transformers/applicationCommandPermission.js +15 -0
- package/dist/esm/transformers/attachment.js +17 -0
- package/dist/esm/transformers/auditLogEntry.js +134 -0
- package/dist/esm/transformers/automodActionExecution.js +25 -0
- package/dist/esm/transformers/automodRule.js +31 -0
- package/dist/esm/transformers/channel.js +98 -0
- package/dist/esm/transformers/component.js +37 -0
- package/dist/esm/transformers/embed.js +44 -0
- package/dist/esm/transformers/emoji.js +13 -0
- package/dist/esm/transformers/gatewayBot.js +15 -0
- package/dist/esm/transformers/guild.js +132 -0
- package/dist/esm/transformers/index.js +40 -0
- package/dist/esm/transformers/integration.js +34 -0
- package/dist/esm/transformers/interaction.js +169 -0
- package/dist/esm/transformers/invite.js +40 -0
- package/dist/esm/transformers/member.js +34 -0
- package/dist/esm/transformers/message.js +221 -0
- package/dist/esm/transformers/presence.js +15 -0
- package/dist/esm/transformers/reverse/activity.js +43 -0
- package/dist/esm/transformers/reverse/allowedMentions.js +10 -0
- package/dist/esm/transformers/reverse/application.js +24 -0
- package/dist/esm/transformers/reverse/applicationCommand.js +18 -0
- package/dist/esm/transformers/reverse/applicationCommandOption.js +20 -0
- package/dist/esm/transformers/reverse/applicationCommandOptionChoice.js +9 -0
- package/dist/esm/transformers/reverse/applicationCommandPermission.js +14 -0
- package/dist/esm/transformers/reverse/attachment.js +16 -0
- package/dist/esm/transformers/reverse/auditLogEntry.js +137 -0
- package/dist/esm/transformers/reverse/component.js +37 -0
- package/dist/esm/transformers/reverse/createApplicationCommand.js +27 -0
- package/dist/esm/transformers/reverse/embed.js +43 -0
- package/dist/esm/transformers/reverse/emoji.js +14 -0
- package/dist/esm/transformers/reverse/gatewayBot.js +14 -0
- package/dist/esm/transformers/reverse/index.js +21 -0
- package/dist/esm/transformers/reverse/interactionResponse.js +24 -0
- package/dist/esm/transformers/reverse/member.js +35 -0
- package/dist/esm/transformers/reverse/presence.js +23 -0
- package/dist/esm/transformers/reverse/team.js +18 -0
- package/dist/esm/transformers/reverse/widgetSettings.js +8 -0
- package/dist/esm/transformers/role.js +57 -0
- package/dist/esm/transformers/scheduledEvent.js +24 -0
- package/dist/esm/transformers/stageInstance.js +12 -0
- package/dist/esm/transformers/stageInviteInstance.js +13 -0
- package/dist/esm/transformers/sticker.js +30 -0
- package/dist/esm/transformers/team.js +19 -0
- package/dist/esm/transformers/template.js +18 -0
- package/dist/esm/transformers/threadMember.js +17 -0
- package/dist/esm/transformers/toggles/Permissions.js +18 -0
- package/dist/esm/transformers/toggles/ToggleBitfield.js +42 -0
- package/dist/esm/transformers/toggles/channel.js +50 -0
- package/dist/esm/transformers/toggles/emoji.js +45 -0
- package/dist/esm/transformers/toggles/guild.js +206 -0
- package/dist/esm/transformers/toggles/index.js +11 -0
- package/dist/esm/transformers/toggles/member.js +40 -0
- package/dist/esm/transformers/toggles/role.js +55 -0
- package/dist/esm/transformers/toggles/user.js +45 -0
- package/dist/esm/transformers/toggles/voice.js +60 -0
- package/dist/esm/transformers/user.js +42 -0
- package/dist/esm/transformers/voiceRegion.js +12 -0
- package/dist/esm/transformers/voiceState.js +14 -0
- package/dist/esm/transformers/webhook.js +27 -0
- package/dist/esm/transformers/welcomeScreen.js +14 -0
- package/dist/esm/transformers/widget.js +25 -0
- package/dist/esm/transformers/widgetSettings.js +9 -0
- package/dist/esm/transformers.js +520 -0
- package/dist/esm/typings.js +19 -0
- package/dist/esm/utils.js +11 -0
- package/dist/types/bot.d.ts +257 -0
- package/dist/types/bot.d.ts.map +1 -0
- package/dist/types/commandOptionsParser.d.ts +3 -0
- package/dist/types/commandOptionsParser.d.ts.map +1 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/handlers/channels/CHANNEL_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/CHANNEL_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/CHANNEL_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_LIST_SYNC.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/THREAD_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/channels/index.d.ts.map +1 -0
- package/dist/types/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/emojis/index.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_BAN_ADD.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/GUILD_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/automod/index.d.ts.map +1 -0
- package/dist/types/handlers/guilds/index.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/guilds/scheduledEvents/index.d.ts.map +1 -0
- package/dist/types/handlers/index.d.ts.map +1 -0
- package/dist/types/handlers/integrations/INTEGRATION_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/integrations/INTEGRATION_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/integrations/index.d.ts.map +1 -0
- package/dist/types/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/interactions/INTERACTION_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/interactions/index.d.ts.map +1 -0
- package/dist/types/handlers/invites/INVITE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/invites/INVITE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/invites/index.d.ts.map +1 -0
- package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +4 -0
- package/dist/types/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +1 -0
- package/dist/types/handlers/members/GUILD_MEMBER_ADD.d.ts.map +1 -0
- package/dist/types/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/members/index.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +1 -0
- package/dist/types/handlers/messages/MESSAGE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/messages/index.d.ts.map +1 -0
- package/dist/types/handlers/misc/PRESENCE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/misc/READY.d.ts.map +1 -0
- package/dist/types/handlers/misc/TYPING_START.d.ts.map +1 -0
- package/dist/types/handlers/misc/USER_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/misc/index.d.ts.map +1 -0
- package/dist/types/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +1 -0
- package/dist/types/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +1 -0
- package/dist/types/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/roles/index.d.ts.map +1 -0
- package/dist/types/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/voice/index.d.ts.map +1 -0
- package/dist/types/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +1 -0
- package/dist/types/handlers/webhooks/index.d.ts.map +1 -0
- package/dist/types/handlers.d.ts.map +1 -0
- package/dist/types/helpers.d.ts +222 -0
- package/dist/types/helpers.d.ts.map +1 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/optionalize.d.ts.map +1 -0
- package/dist/types/transformers/activity.d.ts +35 -0
- package/dist/types/transformers/activity.d.ts.map +1 -0
- package/dist/types/transformers/application.d.ts +22 -0
- package/dist/types/transformers/application.d.ts.map +1 -0
- package/dist/types/transformers/applicationCommand.d.ts +18 -0
- package/dist/types/transformers/applicationCommand.d.ts.map +1 -0
- package/dist/types/transformers/applicationCommandOption.d.ts.map +1 -0
- package/dist/types/transformers/applicationCommandOptionChoice.d.ts +9 -0
- package/dist/types/transformers/applicationCommandOptionChoice.d.ts.map +1 -0
- package/dist/types/transformers/applicationCommandPermission.d.ts +14 -0
- package/dist/types/transformers/applicationCommandPermission.d.ts.map +1 -0
- package/dist/types/transformers/attachment.d.ts +30 -0
- package/dist/types/transformers/attachment.d.ts.map +1 -0
- package/dist/types/transformers/auditLogEntry.d.ts +44 -0
- package/dist/types/transformers/auditLogEntry.d.ts.map +1 -0
- package/dist/types/transformers/automodActionExecution.d.ts +24 -0
- package/dist/types/transformers/automodActionExecution.d.ts.map +1 -0
- package/dist/types/transformers/automodRule.d.ts +30 -0
- package/dist/types/transformers/automodRule.d.ts.map +1 -0
- package/dist/types/transformers/channel.d.ts +107 -0
- package/dist/types/transformers/channel.d.ts.map +1 -0
- package/dist/types/transformers/component.d.ts.map +1 -0
- package/dist/types/transformers/embed.d.ts +50 -0
- package/dist/types/transformers/embed.d.ts.map +1 -0
- package/dist/types/transformers/emoji.d.ts +24 -0
- package/dist/types/transformers/emoji.d.ts.map +1 -0
- package/dist/types/transformers/gatewayBot.d.ts +14 -0
- package/dist/types/transformers/gatewayBot.d.ts.map +1 -0
- package/dist/types/transformers/guild.d.ts +117 -0
- package/dist/types/transformers/guild.d.ts.map +1 -0
- package/dist/types/transformers/index.d.ts.map +1 -0
- package/dist/types/transformers/integration.d.ts +32 -0
- package/dist/types/transformers/integration.d.ts.map +1 -0
- package/dist/types/transformers/interaction.d.ts.map +1 -0
- package/dist/types/transformers/invite.d.ts +41 -0
- package/dist/types/transformers/invite.d.ts.map +1 -0
- package/dist/types/transformers/member.d.ts.map +1 -0
- package/dist/types/transformers/message.d.ts.map +1 -0
- package/dist/types/transformers/presence.d.ts +13 -0
- package/dist/types/transformers/presence.d.ts.map +1 -0
- package/dist/types/transformers/reverse/activity.d.ts.map +1 -0
- package/dist/types/transformers/reverse/allowedMentions.d.ts.map +1 -0
- package/dist/types/transformers/reverse/application.d.ts.map +1 -0
- package/dist/types/transformers/reverse/applicationCommand.d.ts.map +1 -0
- package/dist/types/transformers/reverse/applicationCommandOption.d.ts.map +1 -0
- package/dist/types/transformers/reverse/applicationCommandOptionChoice.d.ts.map +1 -0
- package/dist/types/transformers/reverse/applicationCommandPermission.d.ts.map +1 -0
- package/dist/types/transformers/reverse/attachment.d.ts.map +1 -0
- package/dist/types/transformers/reverse/auditLogEntry.d.ts.map +1 -0
- package/dist/types/transformers/reverse/component.d.ts.map +1 -0
- package/dist/types/transformers/reverse/createApplicationCommand.d.ts.map +1 -0
- package/dist/types/transformers/reverse/embed.d.ts.map +1 -0
- package/dist/types/transformers/reverse/emoji.d.ts.map +1 -0
- package/dist/types/transformers/reverse/gatewayBot.d.ts.map +1 -0
- package/dist/types/transformers/reverse/index.d.ts.map +1 -0
- package/dist/types/transformers/reverse/interactionResponse.d.ts.map +1 -0
- package/dist/types/transformers/reverse/member.d.ts.map +1 -0
- package/dist/types/transformers/reverse/presence.d.ts.map +1 -0
- package/dist/types/transformers/reverse/team.d.ts.map +1 -0
- package/dist/types/transformers/reverse/widgetSettings.d.ts.map +1 -0
- package/dist/types/transformers/role.d.ts.map +1 -0
- package/dist/types/transformers/scheduledEvent.d.ts +38 -0
- package/dist/types/transformers/scheduledEvent.d.ts.map +1 -0
- package/dist/types/transformers/stageInstance.d.ts +16 -0
- package/dist/types/transformers/stageInstance.d.ts.map +1 -0
- package/dist/types/transformers/stageInviteInstance.d.ts +16 -0
- package/dist/types/transformers/stageInviteInstance.d.ts.map +1 -0
- package/dist/types/transformers/sticker.d.ts +38 -0
- package/dist/types/transformers/sticker.d.ts.map +1 -0
- package/dist/types/transformers/team.d.ts +16 -0
- package/dist/types/transformers/team.d.ts.map +1 -0
- package/dist/types/transformers/template.d.ts +17 -0
- package/dist/types/transformers/template.d.ts.map +1 -0
- package/dist/types/transformers/threadMember.d.ts +15 -0
- package/dist/types/transformers/threadMember.d.ts.map +1 -0
- package/dist/types/transformers/toggles/Permissions.d.ts.map +1 -0
- package/dist/types/transformers/toggles/ToggleBitfield.d.ts.map +1 -0
- package/dist/types/transformers/toggles/channel.d.ts.map +1 -0
- package/dist/types/transformers/toggles/emoji.d.ts.map +1 -0
- package/dist/types/transformers/toggles/guild.d.ts.map +1 -0
- package/dist/types/transformers/toggles/index.d.ts.map +1 -0
- package/dist/types/transformers/toggles/member.d.ts.map +1 -0
- package/dist/types/transformers/toggles/role.d.ts.map +1 -0
- package/dist/types/transformers/toggles/user.d.ts.map +1 -0
- package/dist/types/transformers/toggles/voice.d.ts.map +1 -0
- package/dist/types/transformers/user.d.ts.map +1 -0
- package/dist/types/transformers/voiceRegion.d.ts +11 -0
- package/dist/types/transformers/voiceRegion.d.ts.map +1 -0
- package/dist/types/transformers/voiceState.d.ts +17 -0
- package/dist/types/transformers/voiceState.d.ts.map +1 -0
- package/dist/types/transformers/webhook.d.ts +30 -0
- package/dist/types/transformers/webhook.d.ts.map +1 -0
- package/dist/types/transformers/welcomeScreen.d.ts +13 -0
- package/dist/types/transformers/welcomeScreen.d.ts.map +1 -0
- package/dist/types/transformers/widget.d.ts +23 -0
- package/dist/types/transformers/widget.d.ts.map +1 -0
- package/dist/types/transformers/widgetSettings.d.ts +8 -0
- package/dist/types/transformers/widgetSettings.d.ts.map +1 -0
- package/dist/types/transformers.d.ts +450 -0
- package/dist/types/transformers.d.ts.map +1 -0
- package/dist/types/typings.d.ts.map +1 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +14 -9
- package/dist/bot.d.ts +0 -242
- package/dist/bot.d.ts.map +0 -1
- package/dist/bot.js +0 -67
- package/dist/bot.js.map +0 -1
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -6
- package/dist/constants.js.map +0 -1
- package/dist/handlers/channels/CHANNEL_CREATE.d.ts.map +0 -1
- package/dist/handlers/channels/CHANNEL_CREATE.js +0 -10
- package/dist/handlers/channels/CHANNEL_CREATE.js.map +0 -1
- package/dist/handlers/channels/CHANNEL_DELETE.d.ts.map +0 -1
- package/dist/handlers/channels/CHANNEL_DELETE.js +0 -10
- package/dist/handlers/channels/CHANNEL_DELETE.js.map +0 -1
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js +0 -10
- package/dist/handlers/channels/CHANNEL_PINS_UPDATE.js.map +0 -1
- package/dist/handlers/channels/CHANNEL_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/CHANNEL_UPDATE.js +0 -9
- package/dist/handlers/channels/CHANNEL_UPDATE.js.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.d.ts.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js +0 -11
- package/dist/handlers/channels/STAGE_INSTANCE_CREATE.js.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.d.ts.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js +0 -11
- package/dist/handlers/channels/STAGE_INSTANCE_DELETE.js.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js +0 -11
- package/dist/handlers/channels/STAGE_INSTANCE_UPDATE.js.map +0 -1
- package/dist/handlers/channels/THREAD_CREATE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_CREATE.js +0 -8
- package/dist/handlers/channels/THREAD_CREATE.js.map +0 -1
- package/dist/handlers/channels/THREAD_DELETE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_DELETE.js +0 -8
- package/dist/handlers/channels/THREAD_DELETE.js.map +0 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_LIST_SYNC.js +0 -19
- package/dist/handlers/channels/THREAD_LIST_SYNC.js.map +0 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js +0 -11
- package/dist/handlers/channels/THREAD_MEMBERS_UPDATE.js.map +0 -1
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js +0 -11
- package/dist/handlers/channels/THREAD_MEMBER_UPDATE.js.map +0 -1
- package/dist/handlers/channels/THREAD_UPDATE.d.ts.map +0 -1
- package/dist/handlers/channels/THREAD_UPDATE.js +0 -8
- package/dist/handlers/channels/THREAD_UPDATE.js.map +0 -1
- package/dist/handlers/channels/index.d.ts.map +0 -1
- package/dist/handlers/channels/index.js +0 -15
- package/dist/handlers/channels/index.js.map +0 -1
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js +0 -13
- package/dist/handlers/emojis/GUILD_EMOJIS_UPDATE.js.map +0 -1
- package/dist/handlers/emojis/index.d.ts.map +0 -1
- package/dist/handlers/emojis/index.js +0 -3
- package/dist/handlers/emojis/index.js.map +0 -1
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js +0 -7
- package/dist/handlers/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_BAN_ADD.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_BAN_ADD.js +0 -6
- package/dist/handlers/guilds/GUILD_BAN_ADD.js.map +0 -1
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.js +0 -6
- package/dist/handlers/guilds/GUILD_BAN_REMOVE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_CREATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_CREATE.js +0 -9
- package/dist/handlers/guilds/GUILD_CREATE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_DELETE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_DELETE.js +0 -10
- package/dist/handlers/guilds/GUILD_DELETE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js +0 -8
- package/dist/handlers/guilds/GUILD_INTEGRATIONS_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js +0 -9
- package/dist/handlers/guilds/GUILD_STICKERS_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/GUILD_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/GUILD_UPDATE.js +0 -9
- package/dist/handlers/guilds/GUILD_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js +0 -6
- package/dist/handlers/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.js.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js +0 -6
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_CREATE.js.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js +0 -6
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_DELETE.js.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js +0 -6
- package/dist/handlers/guilds/automod/AUTO_MODERATION_RULE_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/automod/index.d.ts.map +0 -1
- package/dist/handlers/guilds/automod/index.js +0 -6
- package/dist/handlers/guilds/automod/index.js.map +0 -1
- package/dist/handlers/guilds/index.d.ts.map +0 -1
- package/dist/handlers/guilds/index.js +0 -12
- package/dist/handlers/guilds/index.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js +0 -6
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js +0 -6
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js +0 -6
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js +0 -10
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js +0 -10
- package/dist/handlers/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.js.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/index.d.ts.map +0 -1
- package/dist/handlers/guilds/scheduledEvents/index.js +0 -7
- package/dist/handlers/guilds/scheduledEvents/index.js.map +0 -1
- package/dist/handlers/index.d.ts.map +0 -1
- package/dist/handlers/index.js +0 -14
- package/dist/handlers/index.js.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.d.ts.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_CREATE.js +0 -5
- package/dist/handlers/integrations/INTEGRATION_CREATE.js.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.d.ts.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_DELETE.js +0 -10
- package/dist/handlers/integrations/INTEGRATION_DELETE.js.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.d.ts.map +0 -1
- package/dist/handlers/integrations/INTEGRATION_UPDATE.js +0 -5
- package/dist/handlers/integrations/INTEGRATION_UPDATE.js.map +0 -1
- package/dist/handlers/integrations/index.d.ts.map +0 -1
- package/dist/handlers/integrations/index.js +0 -5
- package/dist/handlers/integrations/index.js.map +0 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js +0 -6
- package/dist/handlers/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.js.map +0 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.d.ts.map +0 -1
- package/dist/handlers/interactions/INTERACTION_CREATE.js +0 -5
- package/dist/handlers/interactions/INTERACTION_CREATE.js.map +0 -1
- package/dist/handlers/interactions/index.d.ts.map +0 -1
- package/dist/handlers/interactions/index.js +0 -4
- package/dist/handlers/interactions/index.js.map +0 -1
- package/dist/handlers/invites/INVITE_CREATE.d.ts.map +0 -1
- package/dist/handlers/invites/INVITE_CREATE.js +0 -5
- package/dist/handlers/invites/INVITE_CREATE.js.map +0 -1
- package/dist/handlers/invites/INVITE_DELETE.d.ts.map +0 -1
- package/dist/handlers/invites/INVITE_DELETE.js +0 -10
- package/dist/handlers/invites/INVITE_DELETE.js.map +0 -1
- package/dist/handlers/invites/index.d.ts.map +0 -1
- package/dist/handlers/invites/index.js +0 -4
- package/dist/handlers/invites/index.js.map +0 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts +0 -4
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.d.ts.map +0 -1
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js +0 -26
- package/dist/handlers/members/GUILD_MEMBERS_CHUNK.js.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.d.ts.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_ADD.js +0 -9
- package/dist/handlers/members/GUILD_MEMBER_ADD.js.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.d.ts.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.js +0 -8
- package/dist/handlers/members/GUILD_MEMBER_REMOVE.js.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.d.ts.map +0 -1
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.js +0 -7
- package/dist/handlers/members/GUILD_MEMBER_UPDATE.js.map +0 -1
- package/dist/handlers/members/index.d.ts.map +0 -1
- package/dist/handlers/members/index.js +0 -6
- package/dist/handlers/members/index.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_CREATE.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_CREATE.js +0 -6
- package/dist/handlers/messages/MESSAGE_CREATE.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_DELETE.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_DELETE.js +0 -10
- package/dist/handlers/messages/MESSAGE_DELETE.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.js +0 -12
- package/dist/handlers/messages/MESSAGE_DELETE_BULK.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.js +0 -17
- package/dist/handlers/messages/MESSAGE_REACTION_ADD.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js +0 -12
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js +0 -10
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_ALL.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js +0 -11
- package/dist/handlers/messages/MESSAGE_REACTION_REMOVE_EMOJI.js.map +0 -1
- package/dist/handlers/messages/MESSAGE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/messages/MESSAGE_UPDATE.js +0 -7
- package/dist/handlers/messages/MESSAGE_UPDATE.js.map +0 -1
- package/dist/handlers/messages/index.d.ts.map +0 -1
- package/dist/handlers/messages/index.js +0 -10
- package/dist/handlers/messages/index.js.map +0 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/misc/PRESENCE_UPDATE.js +0 -5
- package/dist/handlers/misc/PRESENCE_UPDATE.js.map +0 -1
- package/dist/handlers/misc/READY.d.ts.map +0 -1
- package/dist/handlers/misc/READY.js +0 -17
- package/dist/handlers/misc/READY.js.map +0 -1
- package/dist/handlers/misc/TYPING_START.d.ts.map +0 -1
- package/dist/handlers/misc/TYPING_START.js +0 -14
- package/dist/handlers/misc/TYPING_START.js.map +0 -1
- package/dist/handlers/misc/USER_UPDATE.d.ts.map +0 -1
- package/dist/handlers/misc/USER_UPDATE.js +0 -6
- package/dist/handlers/misc/USER_UPDATE.js.map +0 -1
- package/dist/handlers/misc/index.d.ts.map +0 -1
- package/dist/handlers/misc/index.js +0 -6
- package/dist/handlers/misc/index.js.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.d.ts.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_CREATE.js +0 -9
- package/dist/handlers/roles/GUILD_ROLE_CREATE.js.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.d.ts.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_DELETE.js +0 -9
- package/dist/handlers/roles/GUILD_ROLE_DELETE.js.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.js +0 -9
- package/dist/handlers/roles/GUILD_ROLE_UPDATE.js.map +0 -1
- package/dist/handlers/roles/index.d.ts.map +0 -1
- package/dist/handlers/roles/index.js +0 -5
- package/dist/handlers/roles/index.js.map +0 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.d.ts.map +0 -1
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.js +0 -10
- package/dist/handlers/voice/VOICE_SERVER_UPDATE.js.map +0 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.d.ts.map +0 -1
- package/dist/handlers/voice/VOICE_STATE_UPDATE.js +0 -11
- package/dist/handlers/voice/VOICE_STATE_UPDATE.js.map +0 -1
- package/dist/handlers/voice/index.d.ts.map +0 -1
- package/dist/handlers/voice/index.js +0 -4
- package/dist/handlers/voice/index.js.map +0 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.d.ts.map +0 -1
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js +0 -9
- package/dist/handlers/webhooks/WEBHOOKS_UPDATE.js.map +0 -1
- package/dist/handlers/webhooks/index.d.ts.map +0 -1
- package/dist/handlers/webhooks/index.js +0 -3
- package/dist/handlers/webhooks/index.js.map +0 -1
- package/dist/handlers.d.ts.map +0 -1
- package/dist/handlers.js +0 -67
- package/dist/handlers.js.map +0 -1
- package/dist/helpers.d.ts +0 -205
- package/dist/helpers.d.ts.map +0 -1
- package/dist/helpers.js +0 -553
- package/dist/helpers.js.map +0 -1
- package/dist/index.d.ts +0 -15
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -16
- package/dist/index.js.map +0 -1
- package/dist/optionalize.d.ts.map +0 -1
- package/dist/optionalize.js +0 -3
- package/dist/optionalize.js.map +0 -1
- package/dist/transformers/activity.d.ts +0 -36
- package/dist/transformers/activity.d.ts.map +0 -1
- package/dist/transformers/activity.js +0 -35
- package/dist/transformers/activity.js.map +0 -1
- package/dist/transformers/application.d.ts +0 -77
- package/dist/transformers/application.d.ts.map +0 -1
- package/dist/transformers/application.js +0 -26
- package/dist/transformers/application.js.map +0 -1
- package/dist/transformers/applicationCommand.d.ts +0 -193
- package/dist/transformers/applicationCommand.d.ts.map +0 -1
- package/dist/transformers/applicationCommand.js +0 -20
- package/dist/transformers/applicationCommand.js.map +0 -1
- package/dist/transformers/applicationCommandOption.d.ts.map +0 -1
- package/dist/transformers/applicationCommandOption.js +0 -20
- package/dist/transformers/applicationCommandOption.js.map +0 -1
- package/dist/transformers/applicationCommandOptionChoice.d.ts +0 -41
- package/dist/transformers/applicationCommandOptionChoice.d.ts.map +0 -1
- package/dist/transformers/applicationCommandOptionChoice.js +0 -11
- package/dist/transformers/applicationCommandOptionChoice.js.map +0 -1
- package/dist/transformers/applicationCommandPermission.d.ts +0 -15
- package/dist/transformers/applicationCommandPermission.d.ts.map +0 -1
- package/dist/transformers/applicationCommandPermission.js +0 -16
- package/dist/transformers/applicationCommandPermission.js.map +0 -1
- package/dist/transformers/attachment.d.ts +0 -17
- package/dist/transformers/attachment.d.ts.map +0 -1
- package/dist/transformers/attachment.js +0 -18
- package/dist/transformers/attachment.js.map +0 -1
- package/dist/transformers/auditLogEntry.d.ts +0 -45
- package/dist/transformers/auditLogEntry.d.ts.map +0 -1
- package/dist/transformers/auditLogEntry.js +0 -135
- package/dist/transformers/auditLogEntry.js.map +0 -1
- package/dist/transformers/automodActionExecution.d.ts +0 -25
- package/dist/transformers/automodActionExecution.d.ts.map +0 -1
- package/dist/transformers/automodActionExecution.js +0 -26
- package/dist/transformers/automodActionExecution.js.map +0 -1
- package/dist/transformers/automodRule.d.ts +0 -31
- package/dist/transformers/automodRule.d.ts.map +0 -1
- package/dist/transformers/automodRule.js +0 -32
- package/dist/transformers/automodRule.js.map +0 -1
- package/dist/transformers/channel.d.ts +0 -107
- package/dist/transformers/channel.d.ts.map +0 -1
- package/dist/transformers/channel.js +0 -98
- package/dist/transformers/channel.js.map +0 -1
- package/dist/transformers/component.d.ts.map +0 -1
- package/dist/transformers/component.js +0 -36
- package/dist/transformers/component.js.map +0 -1
- package/dist/transformers/embed.d.ts +0 -51
- package/dist/transformers/embed.d.ts.map +0 -1
- package/dist/transformers/embed.js +0 -45
- package/dist/transformers/embed.js.map +0 -1
- package/dist/transformers/emoji.d.ts +0 -56
- package/dist/transformers/emoji.d.ts.map +0 -1
- package/dist/transformers/emoji.js +0 -14
- package/dist/transformers/emoji.js.map +0 -1
- package/dist/transformers/gatewayBot.d.ts +0 -14
- package/dist/transformers/gatewayBot.d.ts.map +0 -1
- package/dist/transformers/gatewayBot.js +0 -16
- package/dist/transformers/gatewayBot.js.map +0 -1
- package/dist/transformers/guild.d.ts +0 -71
- package/dist/transformers/guild.d.ts.map +0 -1
- package/dist/transformers/guild.js +0 -108
- package/dist/transformers/guild.js.map +0 -1
- package/dist/transformers/index.d.ts.map +0 -1
- package/dist/transformers/index.js +0 -40
- package/dist/transformers/index.js.map +0 -1
- package/dist/transformers/integration.d.ts +0 -119
- package/dist/transformers/integration.d.ts.map +0 -1
- package/dist/transformers/integration.js +0 -35
- package/dist/transformers/integration.js.map +0 -1
- package/dist/transformers/interaction.d.ts.map +0 -1
- package/dist/transformers/interaction.js +0 -169
- package/dist/transformers/interaction.js.map +0 -1
- package/dist/transformers/invite.d.ts +0 -177
- package/dist/transformers/invite.d.ts.map +0 -1
- package/dist/transformers/invite.js +0 -20
- package/dist/transformers/invite.js.map +0 -1
- package/dist/transformers/member.d.ts.map +0 -1
- package/dist/transformers/member.js +0 -34
- package/dist/transformers/member.js.map +0 -1
- package/dist/transformers/message.d.ts.map +0 -1
- package/dist/transformers/message.js +0 -221
- package/dist/transformers/message.js.map +0 -1
- package/dist/transformers/presence.d.ts +0 -14
- package/dist/transformers/presence.d.ts.map +0 -1
- package/dist/transformers/presence.js +0 -16
- package/dist/transformers/presence.js.map +0 -1
- package/dist/transformers/reverse/activity.d.ts.map +0 -1
- package/dist/transformers/reverse/activity.js +0 -43
- package/dist/transformers/reverse/activity.js.map +0 -1
- package/dist/transformers/reverse/allowedMentions.d.ts.map +0 -1
- package/dist/transformers/reverse/allowedMentions.js +0 -10
- package/dist/transformers/reverse/allowedMentions.js.map +0 -1
- package/dist/transformers/reverse/application.d.ts.map +0 -1
- package/dist/transformers/reverse/application.js +0 -24
- package/dist/transformers/reverse/application.js.map +0 -1
- package/dist/transformers/reverse/applicationCommand.d.ts.map +0 -1
- package/dist/transformers/reverse/applicationCommand.js +0 -18
- package/dist/transformers/reverse/applicationCommand.js.map +0 -1
- package/dist/transformers/reverse/applicationCommandOption.d.ts.map +0 -1
- package/dist/transformers/reverse/applicationCommandOption.js +0 -20
- package/dist/transformers/reverse/applicationCommandOption.js.map +0 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.d.ts.map +0 -1
- package/dist/transformers/reverse/applicationCommandOptionChoice.js +0 -9
- package/dist/transformers/reverse/applicationCommandOptionChoice.js.map +0 -1
- package/dist/transformers/reverse/applicationCommandPermission.d.ts.map +0 -1
- package/dist/transformers/reverse/applicationCommandPermission.js +0 -14
- package/dist/transformers/reverse/applicationCommandPermission.js.map +0 -1
- package/dist/transformers/reverse/attachment.d.ts.map +0 -1
- package/dist/transformers/reverse/attachment.js +0 -16
- package/dist/transformers/reverse/attachment.js.map +0 -1
- package/dist/transformers/reverse/auditLogEntry.d.ts.map +0 -1
- package/dist/transformers/reverse/auditLogEntry.js +0 -137
- package/dist/transformers/reverse/auditLogEntry.js.map +0 -1
- package/dist/transformers/reverse/component.d.ts.map +0 -1
- package/dist/transformers/reverse/component.js +0 -37
- package/dist/transformers/reverse/component.js.map +0 -1
- package/dist/transformers/reverse/createApplicationCommand.d.ts.map +0 -1
- package/dist/transformers/reverse/createApplicationCommand.js +0 -27
- package/dist/transformers/reverse/createApplicationCommand.js.map +0 -1
- package/dist/transformers/reverse/embed.d.ts.map +0 -1
- package/dist/transformers/reverse/embed.js +0 -43
- package/dist/transformers/reverse/embed.js.map +0 -1
- package/dist/transformers/reverse/emoji.d.ts.map +0 -1
- package/dist/transformers/reverse/emoji.js +0 -14
- package/dist/transformers/reverse/emoji.js.map +0 -1
- package/dist/transformers/reverse/gatewayBot.d.ts.map +0 -1
- package/dist/transformers/reverse/gatewayBot.js +0 -14
- package/dist/transformers/reverse/gatewayBot.js.map +0 -1
- package/dist/transformers/reverse/index.d.ts.map +0 -1
- package/dist/transformers/reverse/index.js +0 -21
- package/dist/transformers/reverse/index.js.map +0 -1
- package/dist/transformers/reverse/interactionResponse.d.ts.map +0 -1
- package/dist/transformers/reverse/interactionResponse.js +0 -24
- package/dist/transformers/reverse/interactionResponse.js.map +0 -1
- package/dist/transformers/reverse/member.d.ts.map +0 -1
- package/dist/transformers/reverse/member.js +0 -35
- package/dist/transformers/reverse/member.js.map +0 -1
- package/dist/transformers/reverse/presence.d.ts.map +0 -1
- package/dist/transformers/reverse/presence.js +0 -23
- package/dist/transformers/reverse/presence.js.map +0 -1
- package/dist/transformers/reverse/team.d.ts.map +0 -1
- package/dist/transformers/reverse/team.js +0 -18
- package/dist/transformers/reverse/team.js.map +0 -1
- package/dist/transformers/reverse/widgetSettings.d.ts.map +0 -1
- package/dist/transformers/reverse/widgetSettings.js +0 -8
- package/dist/transformers/reverse/widgetSettings.js.map +0 -1
- package/dist/transformers/role.d.ts.map +0 -1
- package/dist/transformers/role.js +0 -57
- package/dist/transformers/role.js.map +0 -1
- package/dist/transformers/scheduledEvent.d.ts +0 -66
- package/dist/transformers/scheduledEvent.d.ts.map +0 -1
- package/dist/transformers/scheduledEvent.js +0 -25
- package/dist/transformers/scheduledEvent.js.map +0 -1
- package/dist/transformers/stageInstance.d.ts +0 -12
- package/dist/transformers/stageInstance.d.ts.map +0 -1
- package/dist/transformers/stageInstance.js +0 -13
- package/dist/transformers/stageInstance.js.map +0 -1
- package/dist/transformers/sticker.d.ts +0 -72
- package/dist/transformers/sticker.d.ts.map +0 -1
- package/dist/transformers/sticker.js +0 -32
- package/dist/transformers/sticker.js.map +0 -1
- package/dist/transformers/team.d.ts +0 -17
- package/dist/transformers/team.d.ts.map +0 -1
- package/dist/transformers/team.js +0 -20
- package/dist/transformers/team.js.map +0 -1
- package/dist/transformers/template.d.ts +0 -416
- package/dist/transformers/template.d.ts.map +0 -1
- package/dist/transformers/template.js +0 -19
- package/dist/transformers/template.js.map +0 -1
- package/dist/transformers/threadMember.d.ts +0 -17
- package/dist/transformers/threadMember.d.ts.map +0 -1
- package/dist/transformers/threadMember.js +0 -19
- package/dist/transformers/threadMember.js.map +0 -1
- package/dist/transformers/toggles/Permissions.d.ts.map +0 -1
- package/dist/transformers/toggles/Permissions.js +0 -18
- package/dist/transformers/toggles/Permissions.js.map +0 -1
- package/dist/transformers/toggles/ToggleBitfield.d.ts.map +0 -1
- package/dist/transformers/toggles/ToggleBitfield.js +0 -42
- package/dist/transformers/toggles/ToggleBitfield.js.map +0 -1
- package/dist/transformers/toggles/channel.d.ts.map +0 -1
- package/dist/transformers/toggles/channel.js +0 -50
- package/dist/transformers/toggles/channel.js.map +0 -1
- package/dist/transformers/toggles/emoji.d.ts.map +0 -1
- package/dist/transformers/toggles/emoji.js +0 -45
- package/dist/transformers/toggles/emoji.js.map +0 -1
- package/dist/transformers/toggles/guild.d.ts.map +0 -1
- package/dist/transformers/toggles/guild.js +0 -206
- package/dist/transformers/toggles/guild.js.map +0 -1
- package/dist/transformers/toggles/index.d.ts.map +0 -1
- package/dist/transformers/toggles/index.js +0 -11
- package/dist/transformers/toggles/index.js.map +0 -1
- package/dist/transformers/toggles/member.d.ts.map +0 -1
- package/dist/transformers/toggles/member.js +0 -40
- package/dist/transformers/toggles/member.js.map +0 -1
- package/dist/transformers/toggles/role.d.ts.map +0 -1
- package/dist/transformers/toggles/role.js +0 -55
- package/dist/transformers/toggles/role.js.map +0 -1
- package/dist/transformers/toggles/user.d.ts.map +0 -1
- package/dist/transformers/toggles/user.js +0 -45
- package/dist/transformers/toggles/user.js.map +0 -1
- package/dist/transformers/toggles/voice.d.ts.map +0 -1
- package/dist/transformers/toggles/voice.js +0 -60
- package/dist/transformers/toggles/voice.js.map +0 -1
- package/dist/transformers/user.d.ts.map +0 -1
- package/dist/transformers/user.js +0 -42
- package/dist/transformers/user.js.map +0 -1
- package/dist/transformers/voiceRegion.d.ts +0 -12
- package/dist/transformers/voiceRegion.d.ts.map +0 -1
- package/dist/transformers/voiceRegion.js +0 -14
- package/dist/transformers/voiceRegion.js.map +0 -1
- package/dist/transformers/voiceState.d.ts +0 -18
- package/dist/transformers/voiceState.d.ts.map +0 -1
- package/dist/transformers/voiceState.js +0 -15
- package/dist/transformers/voiceState.js.map +0 -1
- package/dist/transformers/webhook.d.ts +0 -69
- package/dist/transformers/webhook.d.ts.map +0 -1
- package/dist/transformers/webhook.js +0 -28
- package/dist/transformers/webhook.js.map +0 -1
- package/dist/transformers/welcomeScreen.d.ts +0 -14
- package/dist/transformers/welcomeScreen.d.ts.map +0 -1
- package/dist/transformers/welcomeScreen.js +0 -15
- package/dist/transformers/welcomeScreen.js.map +0 -1
- package/dist/transformers/widget.d.ts +0 -24
- package/dist/transformers/widget.d.ts.map +0 -1
- package/dist/transformers/widget.js +0 -26
- package/dist/transformers/widget.js.map +0 -1
- package/dist/transformers/widgetSettings.d.ts +0 -9
- package/dist/transformers/widgetSettings.d.ts.map +0 -1
- package/dist/transformers/widgetSettings.js +0 -10
- package/dist/transformers/widgetSettings.js.map +0 -1
- package/dist/transformers.d.ts +0 -382
- package/dist/transformers.d.ts.map +0 -1
- package/dist/transformers.js +0 -382
- package/dist/transformers.js.map +0 -1
- package/dist/typings.d.ts.map +0 -1
- package/dist/typings.js +0 -19
- package/dist/typings.js.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -11
- package/dist/utils.js.map +0 -1
- /package/dist/{constants.d.ts → types/constants.d.ts} +0 -0
- /package/dist/{handlers → types/handlers}/channels/CHANNEL_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/CHANNEL_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/CHANNEL_PINS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/CHANNEL_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/STAGE_INSTANCE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_LIST_SYNC.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_MEMBERS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_MEMBER_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/THREAD_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/channels/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/emojis/GUILD_EMOJIS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/emojis/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_AUDIT_LOG_ENTRY_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_BAN_ADD.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_BAN_REMOVE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_INTEGRATIONS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_STICKERS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/GUILD_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_ACTION_EXECUTION.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/automod/AUTO_MODERATION_RULE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/automod/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_ADD.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/GUILD_SCHEDULED_EVENT_USER_REMOVE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/guilds/scheduledEvents/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/integrations/INTEGRATION_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/integrations/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/interactions/APPLICATION_COMMAND_PERMISSIONS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/interactions/INTERACTION_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/interactions/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/invites/INVITE_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/invites/INVITE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/invites/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_ADD.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_REMOVE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/members/GUILD_MEMBER_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/members/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_DELETE_BULK.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_ADD.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE_ALL.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_REACTION_REMOVE_EMOJI.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/MESSAGE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/messages/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/PRESENCE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/READY.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/TYPING_START.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/USER_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/misc/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_CREATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_DELETE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/roles/GUILD_ROLE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/roles/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/voice/VOICE_SERVER_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/voice/VOICE_STATE_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/voice/index.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/webhooks/WEBHOOKS_UPDATE.d.ts +0 -0
- /package/dist/{handlers → types/handlers}/webhooks/index.d.ts +0 -0
- /package/dist/{handlers.d.ts → types/handlers.d.ts} +0 -0
- /package/dist/{optionalize.d.ts → types/optionalize.d.ts} +0 -0
- /package/dist/{transformers → types/transformers}/applicationCommandOption.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/component.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/index.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/interaction.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/member.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/message.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/activity.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/allowedMentions.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/application.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/applicationCommand.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/applicationCommandOption.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/applicationCommandOptionChoice.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/applicationCommandPermission.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/attachment.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/auditLogEntry.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/component.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/createApplicationCommand.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/embed.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/emoji.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/gatewayBot.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/index.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/interactionResponse.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/member.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/presence.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/team.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/reverse/widgetSettings.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/role.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/Permissions.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/ToggleBitfield.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/channel.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/emoji.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/guild.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/index.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/member.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/role.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/user.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/toggles/voice.d.ts +0 -0
- /package/dist/{transformers → types/transformers}/user.d.ts +0 -0
- /package/dist/{typings.d.ts → types/typings.d.ts} +0 -0
- /package/dist/{utils.d.ts → types/utils.d.ts} +0 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { InteractionResponseTypes, InteractionTypes } from '@discordeno/types';
|
|
2
|
+
import { Collection } from '@discordeno/utils';
|
|
3
|
+
const baseInteraction = {
|
|
4
|
+
async respond (response, options) {
|
|
5
|
+
let type = InteractionResponseTypes.ChannelMessageWithSource;
|
|
6
|
+
// If user provides a string, change it to a response object
|
|
7
|
+
if (typeof response === 'string') response = {
|
|
8
|
+
content: response
|
|
9
|
+
};
|
|
10
|
+
else if (response.title) type = InteractionResponseTypes.Modal;
|
|
11
|
+
else if (this.type === InteractionTypes.ApplicationCommandAutocomplete) type = InteractionResponseTypes.ApplicationCommandAutocompleteResult;
|
|
12
|
+
// If user wants to send a private message
|
|
13
|
+
if (type === InteractionResponseTypes.ChannelMessageWithSource && options?.isPrivate) response.flags = 64;
|
|
14
|
+
// Since this has already been given a response, any further responses must be followups.
|
|
15
|
+
if (this.acknowledged) return await this.bot?.rest.sendFollowupMessage(this.token, response);
|
|
16
|
+
// Modals cannot be chained
|
|
17
|
+
if (this.type === InteractionTypes.ModalSubmit && type === InteractionResponseTypes.Modal) throw new Error('Cannot respond to a modal interaction with another modal.');
|
|
18
|
+
// Autocomplete response can only be used for autocomplete interactions
|
|
19
|
+
if (this.type === InteractionTypes.ApplicationCommandAutocomplete && type !== InteractionResponseTypes.ApplicationCommandAutocompleteResult) throw new Error('Cannot respond to an autocomplete interaction with a modal or message.');
|
|
20
|
+
// If user has not already responded to this interaction we need to send an original response
|
|
21
|
+
this.acknowledged = true;
|
|
22
|
+
return await this.bot?.rest.sendInteractionResponse(this.id, this.token, {
|
|
23
|
+
type,
|
|
24
|
+
data: response
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
async edit (response) {
|
|
28
|
+
if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot edit an autocomplete interaction');
|
|
29
|
+
// If user provides a string, change it to a response object
|
|
30
|
+
if (typeof response === 'string') response = {
|
|
31
|
+
content: response
|
|
32
|
+
};
|
|
33
|
+
return await this.bot.rest.editOriginalInteractionResponse(this.token, response);
|
|
34
|
+
},
|
|
35
|
+
async defer (isPrivate) {
|
|
36
|
+
if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot defer an autocomplete interaction');
|
|
37
|
+
if (this.acknowledged) throw new Error('Cannot defer an already responded interaction');
|
|
38
|
+
// Determine the type of defer response
|
|
39
|
+
const type = this.type === InteractionTypes.MessageComponent ? InteractionResponseTypes.DeferredUpdateMessage : InteractionResponseTypes.DeferredChannelMessageWithSource;
|
|
40
|
+
// If user wants to send a private message
|
|
41
|
+
const data = {};
|
|
42
|
+
if (isPrivate) data.flags = 64;
|
|
43
|
+
this.acknowledged = true;
|
|
44
|
+
return await this.bot?.rest.sendInteractionResponse(this.id, this.token, {
|
|
45
|
+
type,
|
|
46
|
+
data
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
async delete (messageId) {
|
|
50
|
+
if (this.type === InteractionTypes.ApplicationCommandAutocomplete) throw new Error('Cannot delete an autocomplete interaction');
|
|
51
|
+
if (messageId) return await this.bot?.rest.deleteFollowupMessage(this.token, messageId);
|
|
52
|
+
else return await this.bot?.rest.deleteOriginalInteractionResponse(this.token);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
export function transformInteraction(bot, payload) {
|
|
56
|
+
const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined;
|
|
57
|
+
const user = bot.transformers.user(bot, payload.member?.user ?? payload.user);
|
|
58
|
+
const interaction = Object.create(baseInteraction);
|
|
59
|
+
const props = bot.transformers.desiredProperties.interaction;
|
|
60
|
+
interaction.bot = bot;
|
|
61
|
+
interaction.acknowledged = false;
|
|
62
|
+
if (payload.id && props.id) interaction.id = bot.transformers.snowflake(payload.id);
|
|
63
|
+
if (payload.application_id && props.applicationId) interaction.applicationId = bot.transformers.snowflake(payload.application_id);
|
|
64
|
+
if (payload.type && props.type) interaction.type = payload.type;
|
|
65
|
+
if (payload.token && props.token) interaction.token = payload.token;
|
|
66
|
+
if (payload.version && props.version) interaction.version = payload.version;
|
|
67
|
+
if (payload.locale && props.locale) interaction.locale = payload.locale;
|
|
68
|
+
if (payload.guild_locale && props.guildLocale) interaction.guildLocale = payload.guild_locale;
|
|
69
|
+
if (guildId && props.guildId) interaction.guildId = guildId;
|
|
70
|
+
if (props.user) interaction.user = user;
|
|
71
|
+
if (payload.app_permissions && props.appPermissions) interaction.appPermissions = bot.transformers.snowflake(payload.app_permissions);
|
|
72
|
+
if (payload.message && props.message) interaction.message = bot.transformers.message(bot, payload.message);
|
|
73
|
+
if (payload.channel_id && props.channelId) interaction.channelId = bot.transformers.snowflake(payload.channel_id);
|
|
74
|
+
if (payload.member && guildId && props.member) interaction.member = bot.transformers.member(bot, payload.member, guildId, user.id);
|
|
75
|
+
if (payload.data && props.data) {
|
|
76
|
+
interaction.data = {
|
|
77
|
+
type: payload.data.type,
|
|
78
|
+
componentType: payload.data.component_type,
|
|
79
|
+
customId: payload.data.custom_id,
|
|
80
|
+
components: payload.data.components?.map((component)=>bot.transformers.component(bot, component)),
|
|
81
|
+
values: payload.data.values,
|
|
82
|
+
id: payload.data.id ? bot.transformers.snowflake(payload.data.id) : undefined,
|
|
83
|
+
name: payload.data.name,
|
|
84
|
+
resolved: payload.data.resolved ? transformInteractionDataResolved(bot, payload.data.resolved, guildId) : undefined,
|
|
85
|
+
options: payload.data.options?.map((opt)=>bot.transformers.interactionDataOptions(bot, opt)),
|
|
86
|
+
targetId: payload.data.target_id ? bot.transformers.snowflake(payload.data.target_id) : undefined
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return bot.transformers.customizers.interaction(bot, payload, interaction);
|
|
90
|
+
}
|
|
91
|
+
export function transformInteractionDataOption(bot, option) {
|
|
92
|
+
const opt = {
|
|
93
|
+
name: option.name,
|
|
94
|
+
type: option.type,
|
|
95
|
+
value: option.value,
|
|
96
|
+
options: option.options,
|
|
97
|
+
focused: option.focused
|
|
98
|
+
};
|
|
99
|
+
return bot.transformers.customizers.interactionDataOptions(bot, option, opt);
|
|
100
|
+
}
|
|
101
|
+
export function transformInteractionDataResolved(bot, resolved, guildId) {
|
|
102
|
+
const transformed = {};
|
|
103
|
+
if (resolved.messages) {
|
|
104
|
+
transformed.messages = new Collection(Object.entries(resolved.messages).map(([id, value])=>{
|
|
105
|
+
const message = bot.transformers.message(bot, value);
|
|
106
|
+
return [
|
|
107
|
+
message.id,
|
|
108
|
+
message
|
|
109
|
+
];
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
if (resolved.users) {
|
|
113
|
+
transformed.users = new Collection(Object.entries(resolved.users).map(([id, value])=>{
|
|
114
|
+
const user = bot.transformers.user(bot, value);
|
|
115
|
+
return [
|
|
116
|
+
user.id,
|
|
117
|
+
user
|
|
118
|
+
];
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
if (guildId && resolved.members) {
|
|
122
|
+
transformed.members = new Collection(Object.entries(resolved.members).map(([id, value])=>{
|
|
123
|
+
const member = bot.transformers.member(bot, value, guildId, bot.transformers.snowflake(id));
|
|
124
|
+
return [
|
|
125
|
+
member.id,
|
|
126
|
+
member
|
|
127
|
+
];
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
if (guildId && resolved.roles) {
|
|
131
|
+
transformed.roles = new Collection(Object.entries(resolved.roles).map(([id, value])=>{
|
|
132
|
+
const role = bot.transformers.role(bot, {
|
|
133
|
+
role: value,
|
|
134
|
+
guildId
|
|
135
|
+
});
|
|
136
|
+
return [
|
|
137
|
+
role.id,
|
|
138
|
+
role
|
|
139
|
+
];
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
if (resolved.channels) {
|
|
143
|
+
transformed.channels = new Collection(Object.entries(resolved.channels).map(([key, value])=>{
|
|
144
|
+
const id = bot.transformers.snowflake(key);
|
|
145
|
+
const channel = value;
|
|
146
|
+
return [
|
|
147
|
+
id,
|
|
148
|
+
{
|
|
149
|
+
id,
|
|
150
|
+
name: channel.name,
|
|
151
|
+
type: channel.type,
|
|
152
|
+
permissions: bot.transformers.snowflake(channel.permissions)
|
|
153
|
+
}
|
|
154
|
+
];
|
|
155
|
+
}));
|
|
156
|
+
}
|
|
157
|
+
if (resolved.attachments) {
|
|
158
|
+
transformed.attachments = new Collection(Object.entries(resolved.attachments).map(([key, value])=>{
|
|
159
|
+
const id = bot.transformers.snowflake(key);
|
|
160
|
+
return [
|
|
161
|
+
id,
|
|
162
|
+
bot.transformers.attachment(bot, value)
|
|
163
|
+
];
|
|
164
|
+
}));
|
|
165
|
+
}
|
|
166
|
+
return transformed;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW50ZXJhY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLFxuICBJbnRlcmFjdGlvblR5cGVzLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZE9wdGlvblR5cGVzLFxuICB0eXBlIEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzLFxuICB0eXBlIEJpZ1N0cmluZyxcbiAgdHlwZSBDYW1lbGl6ZWREaXNjb3JkTWVzc2FnZSxcbiAgdHlwZSBDaGFubmVsVHlwZXMsXG4gIHR5cGUgRGlzY29yZEludGVyYWN0aW9uLFxuICB0eXBlIERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24sXG4gIHR5cGUgSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEsXG4gIHR5cGUgTWVzc2FnZUNvbXBvbmVudFR5cGVzLFxufSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICdAZGlzY29yZGVuby91dGlscydcbmltcG9ydCB0eXBlIHsgQm90LCBDb21wb25lbnQgfSBmcm9tICcuLi9pbmRleC5qcydcbmltcG9ydCB0eXBlIHsgRGlzY29yZEludGVyYWN0aW9uRGF0YVJlc29sdmVkIH0gZnJvbSAnLi4vdHlwaW5ncy5qcydcbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gJy4vYXR0YWNobWVudC5qcydcbmltcG9ydCB0eXBlIHsgTWVtYmVyIH0gZnJvbSAnLi9tZW1iZXIuanMnXG5pbXBvcnQgdHlwZSB7IE1lc3NhZ2UgfSBmcm9tICcuL21lc3NhZ2UuanMnXG5pbXBvcnQgdHlwZSB7IFJvbGUgfSBmcm9tICcuL3JvbGUuanMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuL3VzZXIuanMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgSW50ZXJhY3Rpb24gZXh0ZW5kcyBCYXNlSW50ZXJhY3Rpb24ge1xuICAvKiogVGhlIGJvdCBvYmplY3QgKi9cbiAgYm90OiBCb3RcbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoaXMgaW50ZXJhY3Rpb24gaGFzIGJlZW4gcmVzcG9uZGVkIHRvLiAqL1xuICBhY2tub3dsZWRnZWQ6IGJvb2xlYW5cbiAgLyoqIElkIG9mIHRoZSBpbnRlcmFjdGlvbiAqL1xuICBpZDogYmlnaW50XG4gIC8qKiBJZCBvZiB0aGUgYXBwbGljYXRpb24gdGhpcyBpbnRlcmFjdGlvbiBpcyBmb3IgKi9cbiAgYXBwbGljYXRpb25JZDogYmlnaW50XG4gIC8qKiBUaGUgdHlwZSBvZiBpbnRlcmFjdGlvbiAqL1xuICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gIC8qKiBUaGUgZ3VpbGQgaXQgd2FzIHNlbnQgZnJvbSAqL1xuICBndWlsZElkPzogYmlnaW50XG4gIC8qKiBUaGUgY2hhbm5lbCBpdCB3YXMgc2VudCBmcm9tICovXG4gIGNoYW5uZWxJZD86IGJpZ2ludFxuICAvKiogR3VpbGQgbWVtYmVyIGRhdGEgZm9yIHRoZSBpbnZva2luZyB1c2VyLCBpbmNsdWRpbmcgcGVybWlzc2lvbnMgKi9cbiAgbWVtYmVyPzogTWVtYmVyXG4gIC8qKiBVc2VyIG9iamVjdCBmb3IgdGhlIGludm9raW5nIHVzZXIsIGlmIGludm9rZWQgaW4gYSBETSAqL1xuICB1c2VyOiBVc2VyXG4gIC8qKiBBIGNvbnRpbnVhdGlvbiB0b2tlbiBmb3IgcmVzcG9uZGluZyB0byB0aGUgaW50ZXJhY3Rpb24gKi9cbiAgdG9rZW46IHN0cmluZ1xuICAvKiogUmVhZC1vbmx5IHByb3BlcnR5LCBhbHdheXMgYDFgICovXG4gIHZlcnNpb246IDFcbiAgLyoqIEZvciB0aGUgbWVzc2FnZSB0aGUgYnV0dG9uIHdhcyBhdHRhY2hlZCB0byAqL1xuICBtZXNzYWdlPzogTWVzc2FnZVxuICAvKiogdGhlIGNvbW1hbmQgZGF0YSBwYXlsb2FkICovXG4gIGRhdGE/OiB7XG4gICAgdHlwZT86IEFwcGxpY2F0aW9uQ29tbWFuZFR5cGVzXG4gICAgY29tcG9uZW50VHlwZT86IE1lc3NhZ2VDb21wb25lbnRUeXBlc1xuICAgIGN1c3RvbUlkPzogc3RyaW5nXG4gICAgY29tcG9uZW50cz86IENvbXBvbmVudFtdXG4gICAgdmFsdWVzPzogc3RyaW5nW11cbiAgICBuYW1lOiBzdHJpbmdcbiAgICByZXNvbHZlZD86IEludGVyYWN0aW9uRGF0YVJlc29sdmVkXG4gICAgb3B0aW9ucz86IEludGVyYWN0aW9uRGF0YU9wdGlvbltdXG4gICAgaWQ/OiBiaWdpbnRcbiAgICB0YXJnZXRJZD86IGJpZ2ludFxuICAgIC8vIGd1aWxkSWQ/OiBiaWdpbnRcbiAgfVxuICAvKiogVGhlIHNlbGVjdGVkIGxhbmd1YWdlIG9mIHRoZSBpbnZva2luZyB1c2VyICovXG4gIGxvY2FsZT86IHN0cmluZ1xuICAvKiogVGhlIGd1aWxkJ3MgcHJlZmVycmVkIGxvY2FsZSwgaWYgaW52b2tlZCBpbiBhIGd1aWxkICovXG4gIGd1aWxkTG9jYWxlPzogc3RyaW5nXG4gIC8qKiBUaGUgY29tcHV0ZWQgcGVybWlzc2lvbnMgZm9yIGEgYm90IG9yIGFwcCBpbiB0aGUgY29udGV4dCBvZiBhIHNwZWNpZmljIGludGVyYWN0aW9uIChpbmNsdWRpbmcgY2hhbm5lbCBvdmVyd3JpdGVzKSAqL1xuICBhcHBQZXJtaXNzaW9uczogYmlnaW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZUludGVyYWN0aW9uIHtcbiAgLyoqIFNlbmRzIGEgcmVzcG9uc2UgdG8gYW4gaW50ZXJhY3Rpb24uICovXG4gIHJlc3BvbmQ6IChyZXNwb25zZTogc3RyaW5nIHwgSW50ZXJhY3Rpb25DYWxsYmFja0RhdGEsIG9wdGlvbnM/OiB7IGlzUHJpdmF0ZT86IGJvb2xlYW4gfSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkTWVzc2FnZSB8IHZvaWQ+XG4gIC8qKiBFZGl0IHRoZSBvcmlnaW5hbCByZXNwb25zZSBvZiBhbiBpbnRlcmFjdGlvbi4gKi9cbiAgZWRpdDogKHJlc3BvbnNlOiBzdHJpbmcgfCBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSkgPT4gUHJvbWlzZTxDYW1lbGl6ZWREaXNjb3JkTWVzc2FnZT5cbiAgLyoqIERlZmVyIHRoZSBpbnRlcmFjdGlvbi4gKi9cbiAgZGVmZXI6IChpc1ByaXZhdGU/OiBib29sZWFuKSA9PiBQcm9taXNlPHZvaWQ+XG4gIC8qKiBEZWxldGUgdGhlIG9yaWdpbmFsIGludGVyYWN0aW9uIHJlc3BvbnNlIG9yIGEgZm9sbG93dXAgbWVzc2FnZSAqL1xuICBkZWxldGU6IChtZXNzYWdlSWQ/OiBCaWdTdHJpbmcpID0+IFByb21pc2U8dm9pZD5cbn1cblxuY29uc3QgYmFzZUludGVyYWN0aW9uOiBQYXJ0aWFsPEludGVyYWN0aW9uPiAmIEJhc2VJbnRlcmFjdGlvbiA9IHtcbiAgYXN5bmMgcmVzcG9uZChyZXNwb25zZSwgb3B0aW9ucykge1xuICAgIGxldCB0eXBlID0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZVxuXG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhIHN0cmluZywgY2hhbmdlIGl0IHRvIGEgcmVzcG9uc2Ugb2JqZWN0XG4gICAgaWYgKHR5cGVvZiByZXNwb25zZSA9PT0gJ3N0cmluZycpIHJlc3BvbnNlID0geyBjb250ZW50OiByZXNwb25zZSB9XG4gICAgLy8gSWYgdXNlciBwcm92aWRlcyBhbiBvYmplY3QsIGRldGVybWluZSBpZiBpdCBzaG91bGQgYmUgYW4gYXV0b2NvbXBsZXRlIG9yIGEgbW9kYWwgcmVzcG9uc2VcbiAgICBlbHNlIGlmIChyZXNwb25zZS50aXRsZSkgdHlwZSA9IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbFxuICAgIGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHR5cGUgPSBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlUmVzdWx0XG5cbiAgICAvLyBJZiB1c2VyIHdhbnRzIHRvIHNlbmQgYSBwcml2YXRlIG1lc3NhZ2VcbiAgICBpZiAodHlwZSA9PT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkNoYW5uZWxNZXNzYWdlV2l0aFNvdXJjZSAmJiBvcHRpb25zPy5pc1ByaXZhdGUpIHJlc3BvbnNlLmZsYWdzID0gNjRcblxuICAgIC8vIFNpbmNlIHRoaXMgaGFzIGFscmVhZHkgYmVlbiBnaXZlbiBhIHJlc3BvbnNlLCBhbnkgZnVydGhlciByZXNwb25zZXMgbXVzdCBiZSBmb2xsb3d1cHMuXG4gICAgaWYgKHRoaXMuYWNrbm93bGVkZ2VkKSByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LnJlc3Quc2VuZEZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuISwgcmVzcG9uc2UpXG5cbiAgICAvLyBNb2RhbHMgY2Fubm90IGJlIGNoYWluZWRcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLk1vZGFsU3VibWl0ICYmIHR5cGUgPT09IEludGVyYWN0aW9uUmVzcG9uc2VUeXBlcy5Nb2RhbClcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHJlc3BvbmQgdG8gYSBtb2RhbCBpbnRlcmFjdGlvbiB3aXRoIGFub3RoZXIgbW9kYWwuJylcblxuICAgIC8vIEF1dG9jb21wbGV0ZSByZXNwb25zZSBjYW4gb25seSBiZSB1c2VkIGZvciBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb25zXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUgJiYgdHlwZSAhPT0gSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdClcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHJlc3BvbmQgdG8gYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uIHdpdGggYSBtb2RhbCBvciBtZXNzYWdlLicpXG5cbiAgICAvLyBJZiB1c2VyIGhhcyBub3QgYWxyZWFkeSByZXNwb25kZWQgdG8gdGhpcyBpbnRlcmFjdGlvbiB3ZSBuZWVkIHRvIHNlbmQgYW4gb3JpZ2luYWwgcmVzcG9uc2VcbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LnJlc3Quc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7IHR5cGUsIGRhdGE6IHJlc3BvbnNlIH0pXG4gIH0sXG5cbiAgYXN5bmMgZWRpdChyZXNwb25zZSkge1xuICAgIGlmICh0aGlzLnR5cGUgPT09IEludGVyYWN0aW9uVHlwZXMuQXBwbGljYXRpb25Db21tYW5kQXV0b2NvbXBsZXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBlZGl0IGFuIGF1dG9jb21wbGV0ZSBpbnRlcmFjdGlvbicpXG5cbiAgICAvLyBJZiB1c2VyIHByb3ZpZGVzIGEgc3RyaW5nLCBjaGFuZ2UgaXQgdG8gYSByZXNwb25zZSBvYmplY3RcbiAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJykgcmVzcG9uc2UgPSB7IGNvbnRlbnQ6IHJlc3BvbnNlIH1cblxuICAgIHJldHVybiBhd2FpdCB0aGlzLmJvdCEucmVzdC5lZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlKHRoaXMudG9rZW4hLCByZXNwb25zZSlcbiAgfSxcblxuICBhc3luYyBkZWZlcihpc1ByaXZhdGUpIHtcbiAgICBpZiAodGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSkgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgZGVmZXIgYW4gYXV0b2NvbXBsZXRlIGludGVyYWN0aW9uJylcbiAgICBpZiAodGhpcy5hY2tub3dsZWRnZWQpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlZmVyIGFuIGFscmVhZHkgcmVzcG9uZGVkIGludGVyYWN0aW9uJylcblxuICAgIC8vIERldGVybWluZSB0aGUgdHlwZSBvZiBkZWZlciByZXNwb25zZVxuICAgIGNvbnN0IHR5cGUgPVxuICAgICAgdGhpcy50eXBlID09PSBJbnRlcmFjdGlvblR5cGVzLk1lc3NhZ2VDb21wb25lbnRcbiAgICAgICAgPyBJbnRlcmFjdGlvblJlc3BvbnNlVHlwZXMuRGVmZXJyZWRVcGRhdGVNZXNzYWdlXG4gICAgICAgIDogSW50ZXJhY3Rpb25SZXNwb25zZVR5cGVzLkRlZmVycmVkQ2hhbm5lbE1lc3NhZ2VXaXRoU291cmNlXG5cbiAgICAvLyBJZiB1c2VyIHdhbnRzIHRvIHNlbmQgYSBwcml2YXRlIG1lc3NhZ2VcbiAgICBjb25zdCBkYXRhOiBJbnRlcmFjdGlvbkNhbGxiYWNrRGF0YSA9IHt9XG4gICAgaWYgKGlzUHJpdmF0ZSkgZGF0YS5mbGFncyA9IDY0XG5cbiAgICB0aGlzLmFja25vd2xlZGdlZCA9IHRydWVcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ib3Q/LnJlc3Quc2VuZEludGVyYWN0aW9uUmVzcG9uc2UodGhpcy5pZCEsIHRoaXMudG9rZW4hLCB7IHR5cGUsIGRhdGEgfSlcbiAgfSxcblxuICBhc3luYyBkZWxldGUobWVzc2FnZUlkPzogQmlnU3RyaW5nKSB7XG4gICAgaWYgKHRoaXMudHlwZSA9PT0gSW50ZXJhY3Rpb25UeXBlcy5BcHBsaWNhdGlvbkNvbW1hbmRBdXRvY29tcGxldGUpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGRlbGV0ZSBhbiBhdXRvY29tcGxldGUgaW50ZXJhY3Rpb24nKVxuXG4gICAgaWYgKG1lc3NhZ2VJZCkgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5yZXN0LmRlbGV0ZUZvbGxvd3VwTWVzc2FnZSh0aGlzLnRva2VuISwgbWVzc2FnZUlkKVxuICAgIGVsc2UgcmV0dXJuIGF3YWl0IHRoaXMuYm90Py5yZXN0LmRlbGV0ZU9yaWdpbmFsSW50ZXJhY3Rpb25SZXNwb25zZSh0aGlzLnRva2VuISlcbiAgfSxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUludGVyYWN0aW9uKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkSW50ZXJhY3Rpb24pOiBJbnRlcmFjdGlvbiB7XG4gIGNvbnN0IGd1aWxkSWQgPSBwYXlsb2FkLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5ndWlsZF9pZCkgOiB1bmRlZmluZWRcbiAgY29uc3QgdXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHBheWxvYWQubWVtYmVyPy51c2VyID8/IHBheWxvYWQudXNlciEpXG5cbiAgY29uc3QgaW50ZXJhY3Rpb246IEludGVyYWN0aW9uID0gT2JqZWN0LmNyZWF0ZShiYXNlSW50ZXJhY3Rpb24pXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5pbnRlcmFjdGlvblxuICBpbnRlcmFjdGlvbi5ib3QgPSBib3RcbiAgaW50ZXJhY3Rpb24uYWNrbm93bGVkZ2VkID0gZmFsc2VcblxuICBpZiAocGF5bG9hZC5pZCAmJiBwcm9wcy5pZCkgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmlkKVxuICBpZiAocGF5bG9hZC5hcHBsaWNhdGlvbl9pZCAmJiBwcm9wcy5hcHBsaWNhdGlvbklkKSBpbnRlcmFjdGlvbi5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZClcbiAgaWYgKHBheWxvYWQudHlwZSAmJiBwcm9wcy50eXBlKSBpbnRlcmFjdGlvbi50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwYXlsb2FkLnRva2VuICYmIHByb3BzLnRva2VuKSBpbnRlcmFjdGlvbi50b2tlbiA9IHBheWxvYWQudG9rZW5cbiAgaWYgKHBheWxvYWQudmVyc2lvbiAmJiBwcm9wcy52ZXJzaW9uKSBpbnRlcmFjdGlvbi52ZXJzaW9uID0gcGF5bG9hZC52ZXJzaW9uXG4gIGlmIChwYXlsb2FkLmxvY2FsZSAmJiBwcm9wcy5sb2NhbGUpIGludGVyYWN0aW9uLmxvY2FsZSA9IHBheWxvYWQubG9jYWxlXG4gIGlmIChwYXlsb2FkLmd1aWxkX2xvY2FsZSAmJiBwcm9wcy5ndWlsZExvY2FsZSkgaW50ZXJhY3Rpb24uZ3VpbGRMb2NhbGUgPSBwYXlsb2FkLmd1aWxkX2xvY2FsZVxuICBpZiAoZ3VpbGRJZCAmJiBwcm9wcy5ndWlsZElkKSBpbnRlcmFjdGlvbi5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMudXNlcikgaW50ZXJhY3Rpb24udXNlciA9IHVzZXJcbiAgaWYgKHBheWxvYWQuYXBwX3Blcm1pc3Npb25zICYmIHByb3BzLmFwcFBlcm1pc3Npb25zKSBpbnRlcmFjdGlvbi5hcHBQZXJtaXNzaW9ucyA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXBwX3Blcm1pc3Npb25zKVxuICBpZiAocGF5bG9hZC5tZXNzYWdlICYmIHByb3BzLm1lc3NhZ2UpIGludGVyYWN0aW9uLm1lc3NhZ2UgPSBib3QudHJhbnNmb3JtZXJzLm1lc3NhZ2UoYm90LCBwYXlsb2FkLm1lc3NhZ2UpXG4gIGlmIChwYXlsb2FkLmNoYW5uZWxfaWQgJiYgcHJvcHMuY2hhbm5lbElkKSBpbnRlcmFjdGlvbi5jaGFubmVsSWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmNoYW5uZWxfaWQpXG4gIGlmIChwYXlsb2FkLm1lbWJlciAmJiBndWlsZElkICYmIHByb3BzLm1lbWJlcikgaW50ZXJhY3Rpb24ubWVtYmVyID0gYm90LnRyYW5zZm9ybWVycy5tZW1iZXIoYm90LCBwYXlsb2FkLm1lbWJlciwgZ3VpbGRJZCwgdXNlci5pZClcbiAgaWYgKHBheWxvYWQuZGF0YSAmJiBwcm9wcy5kYXRhKSB7XG4gICAgaW50ZXJhY3Rpb24uZGF0YSA9IHtcbiAgICAgIHR5cGU6IHBheWxvYWQuZGF0YS50eXBlLFxuICAgICAgY29tcG9uZW50VHlwZTogcGF5bG9hZC5kYXRhLmNvbXBvbmVudF90eXBlLFxuICAgICAgY3VzdG9tSWQ6IHBheWxvYWQuZGF0YS5jdXN0b21faWQsXG4gICAgICBjb21wb25lbnRzOiBwYXlsb2FkLmRhdGEuY29tcG9uZW50cz8ubWFwKChjb21wb25lbnQpID0+IGJvdC50cmFuc2Zvcm1lcnMuY29tcG9uZW50KGJvdCwgY29tcG9uZW50KSksXG4gICAgICB2YWx1ZXM6IHBheWxvYWQuZGF0YS52YWx1ZXMsXG4gICAgICBpZDogcGF5bG9hZC5kYXRhLmlkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5kYXRhLmlkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG5hbWU6IHBheWxvYWQuZGF0YS5uYW1lLFxuICAgICAgcmVzb2x2ZWQ6IHBheWxvYWQuZGF0YS5yZXNvbHZlZCA/IHRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkKGJvdCwgcGF5bG9hZC5kYXRhLnJlc29sdmVkLCBndWlsZElkKSA6IHVuZGVmaW5lZCxcbiAgICAgIG9wdGlvbnM6IHBheWxvYWQuZGF0YS5vcHRpb25zPy5tYXAoKG9wdCkgPT4gYm90LnRyYW5zZm9ybWVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0KSksXG4gICAgICB0YXJnZXRJZDogcGF5bG9hZC5kYXRhLnRhcmdldF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZGF0YS50YXJnZXRfaWQpIDogdW5kZWZpbmVkLFxuICAgICAgLy8gZ3VpbGRJZDogcGF5bG9hZC5kYXRhLmd1aWxkX2lkID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5kYXRhLmd1aWxkX2lkKSA6IHVuZGVmaW5lZCxcbiAgICB9XG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbihib3QsIHBheWxvYWQsIGludGVyYWN0aW9uKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW50ZXJhY3Rpb25EYXRhT3B0aW9uKGJvdDogQm90LCBvcHRpb246IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFPcHRpb24pOiBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBjb25zdCBvcHQgPSB7XG4gICAgbmFtZTogb3B0aW9uLm5hbWUsXG4gICAgdHlwZTogb3B0aW9uLnR5cGUsXG4gICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICBvcHRpb25zOiBvcHRpb24ub3B0aW9ucyxcbiAgICBmb2N1c2VkOiBvcHRpb24uZm9jdXNlZCxcbiAgfSBhcyBJbnRlcmFjdGlvbkRhdGFPcHRpb25cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnRlcmFjdGlvbkRhdGFPcHRpb25zKGJvdCwgb3B0aW9uLCBvcHQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFSZXNvbHZlZChib3Q6IEJvdCwgcmVzb2x2ZWQ6IERpc2NvcmRJbnRlcmFjdGlvbkRhdGFSZXNvbHZlZCwgZ3VpbGRJZD86IGJpZ2ludCk6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgY29uc3QgdHJhbnNmb3JtZWQ6IEludGVyYWN0aW9uRGF0YVJlc29sdmVkID0ge31cblxuICBpZiAocmVzb2x2ZWQubWVzc2FnZXMpIHtcbiAgICB0cmFuc2Zvcm1lZC5tZXNzYWdlcyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQubWVzc2FnZXMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IGJvdC50cmFuc2Zvcm1lcnMubWVzc2FnZShib3QsIHZhbHVlKVxuICAgICAgICByZXR1cm4gW21lc3NhZ2UuaWQsIG1lc3NhZ2VdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAocmVzb2x2ZWQudXNlcnMpIHtcbiAgICB0cmFuc2Zvcm1lZC51c2VycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQudXNlcnMpLm1hcCgoW2lkLCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IGJvdC50cmFuc2Zvcm1lcnMudXNlcihib3QsIHZhbHVlKVxuICAgICAgICByZXR1cm4gW3VzZXIuaWQsIHVzZXJdXG4gICAgICB9KSxcbiAgICApXG4gIH1cblxuICBpZiAoZ3VpbGRJZCAmJiByZXNvbHZlZC5tZW1iZXJzKSB7XG4gICAgdHJhbnNmb3JtZWQubWVtYmVycyA9IG5ldyBDb2xsZWN0aW9uKFxuICAgICAgT2JqZWN0LmVudHJpZXMocmVzb2x2ZWQubWVtYmVycykubWFwKChbaWQsIHZhbHVlXSkgPT4ge1xuICAgICAgICBjb25zdCBtZW1iZXI6IE1lbWJlciA9IGJvdC50cmFuc2Zvcm1lcnMubWVtYmVyKGJvdCwgdmFsdWUsIGd1aWxkSWQsIGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSlcbiAgICAgICAgcmV0dXJuIFttZW1iZXIuaWQsIG1lbWJlcl1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChndWlsZElkICYmIHJlc29sdmVkLnJvbGVzKSB7XG4gICAgdHJhbnNmb3JtZWQucm9sZXMgPSBuZXcgQ29sbGVjdGlvbihcbiAgICAgIE9iamVjdC5lbnRyaWVzKHJlc29sdmVkLnJvbGVzKS5tYXAoKFtpZCwgdmFsdWVdKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvbGUgPSBib3QudHJhbnNmb3JtZXJzLnJvbGUoYm90LCB7IHJvbGU6IHZhbHVlLCBndWlsZElkIH0pXG4gICAgICAgIHJldHVybiBbcm9sZS5pZCwgcm9sZV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChyZXNvbHZlZC5jaGFubmVscykge1xuICAgIHRyYW5zZm9ybWVkLmNoYW5uZWxzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhyZXNvbHZlZC5jaGFubmVscykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIGNvbnN0IGNoYW5uZWwgPSB2YWx1ZSBhcyB7XG4gICAgICAgICAgaWQ6IHN0cmluZ1xuICAgICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICAgIHR5cGU6IENoYW5uZWxUeXBlc1xuICAgICAgICAgIHBlcm1pc3Npb25zOiBzdHJpbmdcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgbmFtZTogY2hhbm5lbC5uYW1lLFxuICAgICAgICAgICAgdHlwZTogY2hhbm5lbC50eXBlLFxuICAgICAgICAgICAgcGVybWlzc2lvbnM6IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGNoYW5uZWwucGVybWlzc2lvbnMpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGlmIChyZXNvbHZlZC5hdHRhY2htZW50cykge1xuICAgIHRyYW5zZm9ybWVkLmF0dGFjaG1lbnRzID0gbmV3IENvbGxlY3Rpb24oXG4gICAgICBPYmplY3QuZW50cmllcyhyZXNvbHZlZC5hdHRhY2htZW50cykubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgY29uc3QgaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShrZXkpXG4gICAgICAgIHJldHVybiBbaWQsIGJvdC50cmFuc2Zvcm1lcnMuYXR0YWNobWVudChib3QsIHZhbHVlKV1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIHJldHVybiB0cmFuc2Zvcm1lZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVyYWN0aW9uRGF0YVJlc29sdmVkIHtcbiAgbWVzc2FnZXM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgTWVzc2FnZT5cbiAgdXNlcnM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgVXNlcj5cbiAgbWVtYmVycz86IENvbGxlY3Rpb248YmlnaW50LCBNZW1iZXI+XG4gIHJvbGVzPzogQ29sbGVjdGlvbjxiaWdpbnQsIFJvbGU+XG4gIGNoYW5uZWxzPzogQ29sbGVjdGlvbjxiaWdpbnQsIHsgaWQ6IGJpZ2ludDsgbmFtZTogc3RyaW5nOyB0eXBlOiBDaGFubmVsVHlwZXM7IHBlcm1pc3Npb25zOiBiaWdpbnQgfT5cbiAgYXR0YWNobWVudHM/OiBDb2xsZWN0aW9uPGJpZ2ludCwgQXR0YWNobWVudD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbnRlcmFjdGlvbkRhdGFPcHRpb24ge1xuICBuYW1lOiBzdHJpbmdcbiAgdHlwZTogQXBwbGljYXRpb25Db21tYW5kT3B0aW9uVHlwZXNcbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuXG4gIG9wdGlvbnM/OiBJbnRlcmFjdGlvbkRhdGFPcHRpb25bXVxuICBmb2N1c2VkPzogYm9vbGVhblxufVxuIl0sIm5hbWVzIjpbIkludGVyYWN0aW9uUmVzcG9uc2VUeXBlcyIsIkludGVyYWN0aW9uVHlwZXMiLCJDb2xsZWN0aW9uIiwiYmFzZUludGVyYWN0aW9uIiwicmVzcG9uZCIsInJlc3BvbnNlIiwib3B0aW9ucyIsInR5cGUiLCJDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJjb250ZW50IiwidGl0bGUiLCJNb2RhbCIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZSIsIkFwcGxpY2F0aW9uQ29tbWFuZEF1dG9jb21wbGV0ZVJlc3VsdCIsImlzUHJpdmF0ZSIsImZsYWdzIiwiYWNrbm93bGVkZ2VkIiwiYm90IiwicmVzdCIsInNlbmRGb2xsb3d1cE1lc3NhZ2UiLCJ0b2tlbiIsIk1vZGFsU3VibWl0IiwiRXJyb3IiLCJzZW5kSW50ZXJhY3Rpb25SZXNwb25zZSIsImlkIiwiZGF0YSIsImVkaXQiLCJlZGl0T3JpZ2luYWxJbnRlcmFjdGlvblJlc3BvbnNlIiwiZGVmZXIiLCJNZXNzYWdlQ29tcG9uZW50IiwiRGVmZXJyZWRVcGRhdGVNZXNzYWdlIiwiRGVmZXJyZWRDaGFubmVsTWVzc2FnZVdpdGhTb3VyY2UiLCJkZWxldGUiLCJtZXNzYWdlSWQiLCJkZWxldGVGb2xsb3d1cE1lc3NhZ2UiLCJkZWxldGVPcmlnaW5hbEludGVyYWN0aW9uUmVzcG9uc2UiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbiIsInBheWxvYWQiLCJndWlsZElkIiwiZ3VpbGRfaWQiLCJ0cmFuc2Zvcm1lcnMiLCJzbm93Zmxha2UiLCJ1bmRlZmluZWQiLCJ1c2VyIiwibWVtYmVyIiwiaW50ZXJhY3Rpb24iLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25faWQiLCJhcHBsaWNhdGlvbklkIiwidmVyc2lvbiIsImxvY2FsZSIsImd1aWxkX2xvY2FsZSIsImd1aWxkTG9jYWxlIiwiYXBwX3Blcm1pc3Npb25zIiwiYXBwUGVybWlzc2lvbnMiLCJtZXNzYWdlIiwiY2hhbm5lbF9pZCIsImNoYW5uZWxJZCIsImNvbXBvbmVudFR5cGUiLCJjb21wb25lbnRfdHlwZSIsImN1c3RvbUlkIiwiY3VzdG9tX2lkIiwiY29tcG9uZW50cyIsIm1hcCIsImNvbXBvbmVudCIsInZhbHVlcyIsIm5hbWUiLCJyZXNvbHZlZCIsInRyYW5zZm9ybUludGVyYWN0aW9uRGF0YVJlc29sdmVkIiwib3B0IiwiaW50ZXJhY3Rpb25EYXRhT3B0aW9ucyIsInRhcmdldElkIiwidGFyZ2V0X2lkIiwiY3VzdG9taXplcnMiLCJ0cmFuc2Zvcm1JbnRlcmFjdGlvbkRhdGFPcHRpb24iLCJvcHRpb24iLCJ2YWx1ZSIsImZvY3VzZWQiLCJ0cmFuc2Zvcm1lZCIsIm1lc3NhZ2VzIiwiZW50cmllcyIsInVzZXJzIiwibWVtYmVycyIsInJvbGVzIiwicm9sZSIsImNoYW5uZWxzIiwia2V5IiwiY2hhbm5lbCIsInBlcm1pc3Npb25zIiwiYXR0YWNobWVudHMiLCJhdHRhY2htZW50Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUNFQSx3QkFBd0IsRUFDeEJDLGdCQUFnQixRQVVYLG9CQUFtQjtBQUMxQixTQUFTQyxVQUFVLFFBQVEsb0JBQW1CO0FBbUU5QyxNQUFNQyxrQkFBMEQ7SUFD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
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { isInviteWithMetadata } from '../index.js';
|
|
2
|
+
export function transformInvite(bot, payload) {
|
|
3
|
+
const props = bot.transformers.desiredProperties.invite;
|
|
4
|
+
const invite = {};
|
|
5
|
+
const hasMetadata = isInviteWithMetadata(payload);
|
|
6
|
+
if (props.code && payload.code) invite.code = payload.code;
|
|
7
|
+
if (props.createdAt && payload.created_at) invite.createdAt = Date.parse(payload.created_at);
|
|
8
|
+
if (props.inviter && payload.inviter) invite.inviter = bot.transformers.user(bot, payload.inviter);
|
|
9
|
+
if (props.maxAge && payload.max_age) invite.maxAge = payload.max_age;
|
|
10
|
+
if (props.maxUses && payload.max_uses) invite.maxUses = payload.max_uses;
|
|
11
|
+
if (props.targetType && payload.target_type) invite.targetType = payload.target_type;
|
|
12
|
+
if (props.targetUser && payload.target_user) invite.targetUser = bot.transformers.user(bot, payload.target_user);
|
|
13
|
+
if (props.targetApplication && payload.target_application) invite.targetApplication = bot.transformers.application(bot, payload.target_application);
|
|
14
|
+
if (props.temporary && payload.temporary) invite.temporary = payload.temporary;
|
|
15
|
+
if (props.uses && payload.uses) invite.uses = payload.uses;
|
|
16
|
+
if (hasMetadata) {
|
|
17
|
+
if (props.channelId && payload.channel?.id) invite.channelId = bot.transformers.snowflake(payload.channel.id);
|
|
18
|
+
if (props.guildId && payload.guild?.id) invite.guildId = bot.transformers.snowflake(payload.guild.id);
|
|
19
|
+
if (props.approximateMemberCount && payload.approximate_member_count) invite.approximateMemberCount = payload.approximate_member_count;
|
|
20
|
+
if (props.approximatePresenceCount && payload.approximate_presence_count) invite.approximatePresenceCount = payload.approximate_presence_count;
|
|
21
|
+
if (props.guildScheduledEvent && payload.guild_scheduled_event) {
|
|
22
|
+
invite.guildScheduledEvent = payload.guild_scheduled_event ? bot.transformers.scheduledEvent(bot, payload.guild_scheduled_event) : undefined;
|
|
23
|
+
}
|
|
24
|
+
if (props.stageInstance && invite.guildId && payload.stage_instance) {
|
|
25
|
+
invite.stageInstance = payload.stage_instance ? bot.transformers.inviteStageInstance(bot, {
|
|
26
|
+
...payload.stage_instance,
|
|
27
|
+
guildId: invite.guildId
|
|
28
|
+
}) : undefined;
|
|
29
|
+
}
|
|
30
|
+
if (props.expiresAt && payload.expires_at) {
|
|
31
|
+
invite.expiresAt = Date.parse(payload.expires_at);
|
|
32
|
+
}
|
|
33
|
+
} else {
|
|
34
|
+
if (props.channelId && payload.channel_id) invite.channelId = bot.transformers.snowflake(payload.channel_id);
|
|
35
|
+
if (props.guildId && payload.guild_id) invite.guildId = bot.transformers.snowflake(payload.guild_id);
|
|
36
|
+
}
|
|
37
|
+
return bot.transformers.customizers.invite(bot, payload, invite);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvaW52aXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlzY29yZEFwcGxpY2F0aW9uLCBEaXNjb3JkSW52aXRlQ3JlYXRlLCBEaXNjb3JkSW52aXRlTWV0YWRhdGEgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IGlzSW52aXRlV2l0aE1ldGFkYXRhLCB0eXBlIEFwcGxpY2F0aW9uLCB0eXBlIEJvdCwgdHlwZSBTY2hlZHVsZWRFdmVudCwgdHlwZSBVc2VyIH0gZnJvbSAnLi4vaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IEludml0ZVN0YWdlSW5zdGFuY2UgfSBmcm9tICcuL3N0YWdlSW52aXRlSW5zdGFuY2UuanMnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnZpdGUoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRJbnZpdGVDcmVhdGUgfCBEaXNjb3JkSW52aXRlTWV0YWRhdGEpOiBJbnZpdGUge1xuICBjb25zdCBwcm9wcyA9IGJvdC50cmFuc2Zvcm1lcnMuZGVzaXJlZFByb3BlcnRpZXMuaW52aXRlXG4gIGNvbnN0IGludml0ZSA9IHt9IGFzIEludml0ZVxuICBjb25zdCBoYXNNZXRhZGF0YSA9IGlzSW52aXRlV2l0aE1ldGFkYXRhKHBheWxvYWQpXG5cbiAgaWYgKHByb3BzLmNvZGUgJiYgcGF5bG9hZC5jb2RlKSBpbnZpdGUuY29kZSA9IHBheWxvYWQuY29kZVxuICBpZiAocHJvcHMuY3JlYXRlZEF0ICYmIHBheWxvYWQuY3JlYXRlZF9hdCkgaW52aXRlLmNyZWF0ZWRBdCA9IERhdGUucGFyc2UocGF5bG9hZC5jcmVhdGVkX2F0KVxuICBpZiAocHJvcHMuaW52aXRlciAmJiBwYXlsb2FkLmludml0ZXIpIGludml0ZS5pbnZpdGVyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnZpdGVyKVxuICBpZiAocHJvcHMubWF4QWdlICYmIHBheWxvYWQubWF4X2FnZSkgaW52aXRlLm1heEFnZSA9IHBheWxvYWQubWF4X2FnZVxuICBpZiAocHJvcHMubWF4VXNlcyAmJiBwYXlsb2FkLm1heF91c2VzKSBpbnZpdGUubWF4VXNlcyA9IHBheWxvYWQubWF4X3VzZXNcbiAgaWYgKHByb3BzLnRhcmdldFR5cGUgJiYgcGF5bG9hZC50YXJnZXRfdHlwZSkgaW52aXRlLnRhcmdldFR5cGUgPSBwYXlsb2FkLnRhcmdldF90eXBlXG4gIGlmIChwcm9wcy50YXJnZXRVc2VyICYmIHBheWxvYWQudGFyZ2V0X3VzZXIpIGludml0ZS50YXJnZXRVc2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC50YXJnZXRfdXNlcilcbiAgaWYgKHByb3BzLnRhcmdldEFwcGxpY2F0aW9uICYmIHBheWxvYWQudGFyZ2V0X2FwcGxpY2F0aW9uKVxuICAgIGludml0ZS50YXJnZXRBcHBsaWNhdGlvbiA9IGJvdC50cmFuc2Zvcm1lcnMuYXBwbGljYXRpb24oYm90LCBwYXlsb2FkLnRhcmdldF9hcHBsaWNhdGlvbiBhcyBEaXNjb3JkQXBwbGljYXRpb24pXG4gIGlmIChwcm9wcy50ZW1wb3JhcnkgJiYgcGF5bG9hZC50ZW1wb3JhcnkpIGludml0ZS50ZW1wb3JhcnkgPSBwYXlsb2FkLnRlbXBvcmFyeVxuICBpZiAocHJvcHMudXNlcyAmJiBwYXlsb2FkLnVzZXMpIGludml0ZS51c2VzID0gcGF5bG9hZC51c2VzXG5cbiAgaWYgKGhhc01ldGFkYXRhKSB7XG4gICAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWw/LmlkKSBpbnZpdGUuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5jaGFubmVsLmlkKVxuICAgIGlmIChwcm9wcy5ndWlsZElkICYmIHBheWxvYWQuZ3VpbGQ/LmlkKSBpbnZpdGUuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGQuaWQpXG4gICAgaWYgKHByb3BzLmFwcHJveGltYXRlTWVtYmVyQ291bnQgJiYgcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnQpIGludml0ZS5hcHByb3hpbWF0ZU1lbWJlckNvdW50ID0gcGF5bG9hZC5hcHByb3hpbWF0ZV9tZW1iZXJfY291bnRcbiAgICBpZiAocHJvcHMuYXBwcm94aW1hdGVQcmVzZW5jZUNvdW50ICYmIHBheWxvYWQuYXBwcm94aW1hdGVfcHJlc2VuY2VfY291bnQpIGludml0ZS5hcHByb3hpbWF0ZVByZXNlbmNlQ291bnQgPSBwYXlsb2FkLmFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50XG4gICAgaWYgKHByb3BzLmd1aWxkU2NoZWR1bGVkRXZlbnQgJiYgcGF5bG9hZC5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpIHtcbiAgICAgIGludml0ZS5ndWlsZFNjaGVkdWxlZEV2ZW50ID0gcGF5bG9hZC5ndWlsZF9zY2hlZHVsZWRfZXZlbnQgPyBib3QudHJhbnNmb3JtZXJzLnNjaGVkdWxlZEV2ZW50KGJvdCwgcGF5bG9hZC5ndWlsZF9zY2hlZHVsZWRfZXZlbnQpIDogdW5kZWZpbmVkXG4gICAgfVxuICAgIGlmIChwcm9wcy5zdGFnZUluc3RhbmNlICYmIGludml0ZS5ndWlsZElkICYmIHBheWxvYWQuc3RhZ2VfaW5zdGFuY2UpIHtcbiAgICAgIGludml0ZS5zdGFnZUluc3RhbmNlID0gcGF5bG9hZC5zdGFnZV9pbnN0YW5jZVxuICAgICAgICA/IGJvdC50cmFuc2Zvcm1lcnMuaW52aXRlU3RhZ2VJbnN0YW5jZShib3QsIHtcbiAgICAgICAgICAgIC4uLnBheWxvYWQuc3RhZ2VfaW5zdGFuY2UsXG4gICAgICAgICAgICBndWlsZElkOiBpbnZpdGUuZ3VpbGRJZCxcbiAgICAgICAgICB9KVxuICAgICAgICA6IHVuZGVmaW5lZFxuICAgIH1cbiAgICBpZiAocHJvcHMuZXhwaXJlc0F0ICYmIHBheWxvYWQuZXhwaXJlc19hdCkge1xuICAgICAgaW52aXRlLmV4cGlyZXNBdCA9IERhdGUucGFyc2UocGF5bG9hZC5leHBpcmVzX2F0KVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAocHJvcHMuY2hhbm5lbElkICYmIHBheWxvYWQuY2hhbm5lbF9pZCkgaW52aXRlLmNoYW5uZWxJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuY2hhbm5lbF9pZClcbiAgICBpZiAocHJvcHMuZ3VpbGRJZCAmJiBwYXlsb2FkLmd1aWxkX2lkKSBpbnZpdGUuZ3VpbGRJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5pbnZpdGUoYm90LCBwYXlsb2FkLCBpbnZpdGUpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW52aXRlIHtcbiAgLyoqIFRoZSBjaGFubmVsIHRoZSBpbnZpdGUgaXMgZm9yICovXG4gIGNoYW5uZWxJZDogYmlnaW50XG4gIC8qKiBUaGUgdW5pcXVlIGludml0ZSBjb2RlICovXG4gIGNvZGU6IHN0cmluZ1xuICAvKiogVGhlIHRpbWUgYXQgd2hpY2ggdGhlIGludml0ZSB3YXMgY3JlYXRlZCAqL1xuICBjcmVhdGVkQXQ6IG51bWJlclxuICAvKiogVGhlIGd1aWxkIG9mIHRoZSBpbnZpdGUgKi9cbiAgZ3VpbGRJZD86IGJpZ2ludFxuICAvKiogVGhlIHVzZXIgdGhhdCBjcmVhdGVkIHRoZSBpbnZpdGUgKi9cbiAgaW52aXRlcj86IFVzZXJcbiAgLyoqIEhvdyBsb25nIHRoZSBpbnZpdGUgaXMgdmFsaWQgZm9yIChpbiBzZWNvbmRzKSAqL1xuICBtYXhBZ2U6IG51bWJlclxuICAvKiogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBpbnZpdGUgY2FuIGJlIHVzZWQgKi9cbiAgbWF4VXNlczogbnVtYmVyXG4gIC8qKiBUaGUgdHlwZSBvZiB0YXJnZXQgZm9yIHRoaXMgdm9pY2UgY2hhbm5lbCBpbnZpdGUgKi9cbiAgdGFyZ2V0VHlwZTogbnVtYmVyXG4gIC8qKiBUaGUgdGFyZ2V0IHVzZXIgZm9yIHRoaXMgaW52aXRlICovXG4gIHRhcmdldFVzZXI6IFVzZXJcbiAgLyoqIFRoZSBlbWJlZGRlZCBhcHBsaWNhdGlvbiB0byBvcGVuIGZvciB0aGlzIHZvaWNlIGNoYW5uZWwgZW1iZWRkZWQgYXBwbGljYXRpb24gaW52aXRlICovXG4gIHRhcmdldEFwcGxpY2F0aW9uPzogQXBwbGljYXRpb25cbiAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSBpbnZpdGUgaXMgdGVtcG9yYXJ5IChpbnZpdGVkIHVzZXJzIHdpbGwgYmUga2lja2VkIG9uIGRpc2Nvbm5lY3QgdW5sZXNzIHRoZXkncmUgYXNzaWduZWQgYSByb2xlKSAqL1xuICB0ZW1wb3Jhcnk6IGJvb2xlYW5cbiAgLyoqIEhvdyBtYW55IHRpbWVzIHRoZSBpbnZpdGUgaGFzIGJlZW4gdXNlZCAoYWx3YXlzIHdpbGwgYmUgMCkgKi9cbiAgdXNlczogbnVtYmVyXG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZU1lbWJlckNvdW50OiBudW1iZXJcbiAgLyoqIFN0YWdlIGluc3RhbmNlIGRhdGEgaWYgdGhlcmUgaXMgYSBwdWJsaWMgU3RhZ2UgaW5zdGFuY2UgaW4gdGhlIFN0YWdlIGNoYW5uZWwgdGhpcyBpbnZpdGUgaXMgZm9yICovXG4gIHN0YWdlSW5zdGFuY2U/OiBJbnZpdGVTdGFnZUluc3RhbmNlXG4gIC8qKiBUaGUgZXhwaXJhdGlvbiBkYXRlIG9mIHRoaXMgaW52aXRlLCByZXR1cm5lZCBmcm9tIHRoZSBHRVQgL2ludml0ZXMvY29kZSBlbmRwb2ludCB3aGVuIHdpdGhfZXhwaXJhdGlvbiBpcyB0cnVlICovXG4gIGV4cGlyZXNBdD86IG51bWJlclxuICAvKiogZ3VpbGQgc2NoZWR1bGVkIGV2ZW50IGRhdGEgKi9cbiAgZ3VpbGRTY2hlZHVsZWRFdmVudD86IFNjaGVkdWxlZEV2ZW50XG4gIC8qKiBBcHByb3hpbWF0ZSBjb3VudCBvZiBvbmxpbmUgbWVtYmVycyAob25seSBwcmVzZW50IHdoZW4gdGFyZ2V0X3VzZXIgaXMgc2V0KSAqL1xuICBhcHByb3hpbWF0ZVByZXNlbmNlQ291bnQ/OiBudW1iZXJcbn1cbiJdLCJuYW1lcyI6WyJpc0ludml0ZVdpdGhNZXRhZGF0YSIsInRyYW5zZm9ybUludml0ZSIsImJvdCIsInBheWxvYWQiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaW52aXRlIiwiaGFzTWV0YWRhdGEiLCJjb2RlIiwiY3JlYXRlZEF0IiwiY3JlYXRlZF9hdCIsIkRhdGUiLCJwYXJzZSIsImludml0ZXIiLCJ1c2VyIiwibWF4QWdlIiwibWF4X2FnZSIsIm1heFVzZXMiLCJtYXhfdXNlcyIsInRhcmdldFR5cGUiLCJ0YXJnZXRfdHlwZSIsInRhcmdldFVzZXIiLCJ0YXJnZXRfdXNlciIsInRhcmdldEFwcGxpY2F0aW9uIiwidGFyZ2V0X2FwcGxpY2F0aW9uIiwiYXBwbGljYXRpb24iLCJ0ZW1wb3JhcnkiLCJ1c2VzIiwiY2hhbm5lbElkIiwiY2hhbm5lbCIsImlkIiwic25vd2ZsYWtlIiwiZ3VpbGRJZCIsImd1aWxkIiwiYXBwcm94aW1hdGVNZW1iZXJDb3VudCIsImFwcHJveGltYXRlX21lbWJlcl9jb3VudCIsImFwcHJveGltYXRlUHJlc2VuY2VDb3VudCIsImFwcHJveGltYXRlX3ByZXNlbmNlX2NvdW50IiwiZ3VpbGRTY2hlZHVsZWRFdmVudCIsImd1aWxkX3NjaGVkdWxlZF9ldmVudCIsInNjaGVkdWxlZEV2ZW50IiwidW5kZWZpbmVkIiwic3RhZ2VJbnN0YW5jZSIsInN0YWdlX2luc3RhbmNlIiwiaW52aXRlU3RhZ2VJbnN0YW5jZSIsImV4cGlyZXNBdCIsImV4cGlyZXNfYXQiLCJjaGFubmVsX2lkIiwiZ3VpbGRfaWQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0Esb0JBQW9CLFFBQW9FLGNB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
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { iconHashToBigInt } from '@discordeno/utils';
|
|
2
|
+
import { Permissions } from './toggles/Permissions.js';
|
|
3
|
+
import { MemberToggles } from './toggles/member.js';
|
|
4
|
+
const baseMember = {
|
|
5
|
+
get deaf () {
|
|
6
|
+
return !!this.toggles?.has('deaf');
|
|
7
|
+
},
|
|
8
|
+
get mute () {
|
|
9
|
+
return !!this.toggles?.has('mute');
|
|
10
|
+
},
|
|
11
|
+
get pending () {
|
|
12
|
+
return !!this.toggles?.has('pending');
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export function transformMember(bot, payload, guildId, userId) {
|
|
16
|
+
const member = Object.create(baseMember);
|
|
17
|
+
const props = bot.transformers.desiredProperties.member;
|
|
18
|
+
if (userId && props.id) member.id = typeof userId === 'string' ? bot.transformers.snowflake(userId) : userId;
|
|
19
|
+
if (guildId && props.guildId) member.guildId = typeof guildId === 'string' ? bot.transformers.snowflake(guildId) : guildId;
|
|
20
|
+
if (payload.user && props.user) member.user = bot.transformers.user(bot, payload.user);
|
|
21
|
+
if (payload.nick && props.nick) member.nick = payload.nick;
|
|
22
|
+
if (payload.roles && props.roles) member.roles = payload.roles.map((id)=>bot.transformers.snowflake(id));
|
|
23
|
+
if (payload.joined_at && props.joinedAt) member.joinedAt = Date.parse(payload.joined_at);
|
|
24
|
+
if (payload.premium_since && props.premiumSince) member.premiumSince = Date.parse(payload.premium_since);
|
|
25
|
+
if (payload.communication_disabled_until && props.communicationDisabledUntil) member.communicationDisabledUntil = Date.parse(payload.communication_disabled_until);
|
|
26
|
+
if (payload.avatar && props.avatar) member.avatar = iconHashToBigInt(payload.avatar);
|
|
27
|
+
if (payload.permissions && props.permissions) member.permissions = new Permissions(payload.permissions);
|
|
28
|
+
if (props.deaf || props.mute || props.pending) {
|
|
29
|
+
member.toggles = new MemberToggles(payload);
|
|
30
|
+
}
|
|
31
|
+
return bot.transformers.customizers.member(bot, payload, member);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVtYmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQmlnU3RyaW5nLCBEaXNjb3JkTWVtYmVyIH0gZnJvbSAnQGRpc2NvcmRlbm8vdHlwZXMnXG5pbXBvcnQgeyBpY29uSGFzaFRvQmlnSW50IH0gZnJvbSAnQGRpc2NvcmRlbm8vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEJvdCB9IGZyb20gJy4uL2JvdC5qcydcbmltcG9ydCB7IFBlcm1pc3Npb25zIH0gZnJvbSAnLi90b2dnbGVzL1Blcm1pc3Npb25zLmpzJ1xuaW1wb3J0IHsgTWVtYmVyVG9nZ2xlcyB9IGZyb20gJy4vdG9nZ2xlcy9tZW1iZXIuanMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuL3VzZXIuanMnXG5cbmNvbnN0IGJhc2VNZW1iZXI6IFBhcnRpYWw8TWVtYmVyPiAmIEJhc2VNZW1iZXIgPSB7XG4gIGdldCBkZWFmKCkge1xuICAgIHJldHVybiAhIXRoaXMudG9nZ2xlcz8uaGFzKCdkZWFmJylcbiAgfSxcbiAgZ2V0IG11dGUoKSB7XG4gICAgcmV0dXJuICEhdGhpcy50b2dnbGVzPy5oYXMoJ211dGUnKVxuICB9LFxuICBnZXQgcGVuZGluZygpIHtcbiAgICByZXR1cm4gISF0aGlzLnRvZ2dsZXM/LmhhcygncGVuZGluZycpXG4gIH0sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZW1iZXIoYm90OiBCb3QsIHBheWxvYWQ6IERpc2NvcmRNZW1iZXIsIGd1aWxkSWQ6IEJpZ1N0cmluZywgdXNlcklkOiBCaWdTdHJpbmcpOiBNZW1iZXIge1xuICBjb25zdCBtZW1iZXI6IE1lbWJlciA9IE9iamVjdC5jcmVhdGUoYmFzZU1lbWJlcilcbiAgY29uc3QgcHJvcHMgPSBib3QudHJhbnNmb3JtZXJzLmRlc2lyZWRQcm9wZXJ0aWVzLm1lbWJlclxuXG4gIGlmICh1c2VySWQgJiYgcHJvcHMuaWQpIG1lbWJlci5pZCA9IHR5cGVvZiB1c2VySWQgPT09ICdzdHJpbmcnID8gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UodXNlcklkKSA6IHVzZXJJZFxuICBpZiAoZ3VpbGRJZCAmJiBwcm9wcy5ndWlsZElkKSBtZW1iZXIuZ3VpbGRJZCA9IHR5cGVvZiBndWlsZElkID09PSAnc3RyaW5nJyA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGd1aWxkSWQpIDogZ3VpbGRJZFxuICBpZiAocGF5bG9hZC51c2VyICYmIHByb3BzLnVzZXIpIG1lbWJlci51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC51c2VyKVxuICBpZiAocGF5bG9hZC5uaWNrICYmIHByb3BzLm5pY2spIG1lbWJlci5uaWNrID0gcGF5bG9hZC5uaWNrXG4gIGlmIChwYXlsb2FkLnJvbGVzICYmIHByb3BzLnJvbGVzKSBtZW1iZXIucm9sZXMgPSBwYXlsb2FkLnJvbGVzLm1hcCgoaWQpID0+IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKGlkKSlcbiAgaWYgKHBheWxvYWQuam9pbmVkX2F0ICYmIHByb3BzLmpvaW5lZEF0KSBtZW1iZXIuam9pbmVkQXQgPSBEYXRlLnBhcnNlKHBheWxvYWQuam9pbmVkX2F0KVxuICBpZiAocGF5bG9hZC5wcmVtaXVtX3NpbmNlICYmIHByb3BzLnByZW1pdW1TaW5jZSkgbWVtYmVyLnByZW1pdW1TaW5jZSA9IERhdGUucGFyc2UocGF5bG9hZC5wcmVtaXVtX3NpbmNlKVxuICBpZiAocGF5bG9hZC5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsICYmIHByb3BzLmNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsKVxuICAgIG1lbWJlci5jb21tdW5pY2F0aW9uRGlzYWJsZWRVbnRpbCA9IERhdGUucGFyc2UocGF5bG9hZC5jb21tdW5pY2F0aW9uX2Rpc2FibGVkX3VudGlsKVxuICBpZiAocGF5bG9hZC5hdmF0YXIgJiYgcHJvcHMuYXZhdGFyKSBtZW1iZXIuYXZhdGFyID0gaWNvbkhhc2hUb0JpZ0ludChwYXlsb2FkLmF2YXRhcilcbiAgaWYgKHBheWxvYWQucGVybWlzc2lvbnMgJiYgcHJvcHMucGVybWlzc2lvbnMpIG1lbWJlci5wZXJtaXNzaW9ucyA9IG5ldyBQZXJtaXNzaW9ucyhwYXlsb2FkLnBlcm1pc3Npb25zKVxuICBpZiAocHJvcHMuZGVhZiB8fCBwcm9wcy5tdXRlIHx8IHByb3BzLnBlbmRpbmcpIHtcbiAgICBtZW1iZXIudG9nZ2xlcyA9IG5ldyBNZW1iZXJUb2dnbGVzKHBheWxvYWQpXG4gIH1cblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZW1iZXIoYm90LCBwYXlsb2FkLCBtZW1iZXIpXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzZU1lbWJlciB7XG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGRlYWZlbmVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIGRlYWY/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIG11dGVkIGluIHZvaWNlIGNoYW5uZWxzICovXG4gIG11dGU/OiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGhhcyBub3QgeWV0IHBhc3NlZCB0aGUgZ3VpbGQncyBNZW1iZXJzaGlwIFNjcmVlbmluZyByZXF1aXJlbWVudHMgKi9cbiAgcGVuZGluZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZW1iZXIgZXh0ZW5kcyBCYXNlTWVtYmVyIHtcbiAgLyoqIFRoZSB1c2VyIGlkIG9mIHRoZSBtZW1iZXIuICovXG4gIGlkOiBiaWdpbnRcbiAgLyoqIFRoZSBjb21wcmVzc2VkIGZvcm0gb2YgYWxsIHRoZSBib29sZWFuIHZhbHVlcyBvbiB0aGlzIHVzZXIuICovXG4gIHRvZ2dsZXM/OiBNZW1iZXJUb2dnbGVzXG4gIC8qKiBUaGUgZ3VpbGQgaWQgd2hlcmUgdGhpcyBtZW1iZXIgaXMuICovXG4gIGd1aWxkSWQ6IGJpZ2ludFxuICAvKiogVGhlIHVzZXIgdGhpcyBndWlsZCBtZW1iZXIgcmVwcmVzZW50cyAqL1xuICB1c2VyPzogVXNlclxuICAvKiogVGhpcyB1c2VycyBndWlsZCBuaWNrbmFtZSAqL1xuICBuaWNrPzogc3RyaW5nXG4gIC8qKiBUaGUgbWVtYmVycyBjdXN0b20gYXZhdGFyIGZvciB0aGlzIHNlcnZlci4gKi9cbiAgYXZhdGFyPzogYmlnaW50XG4gIC8qKiBBcnJheSBvZiByb2xlIG9iamVjdCBpZHMgKi9cbiAgcm9sZXM6IGJpZ2ludFtdXG4gIC8qKiBXaGVuIHRoZSB1c2VyIGpvaW5lZCB0aGUgZ3VpbGQgKi9cbiAgam9pbmVkQXQ6IG51bWJlclxuICAvKiogV2hlbiB0aGUgdXNlciBzdGFydGVkIGJvb3N0aW5nIHRoZSBndWlsZCAqL1xuICBwcmVtaXVtU2luY2U/OiBudW1iZXJcbiAgLyoqIFRoZSBwZXJtaXNzaW9ucyB0aGlzIG1lbWJlciBoYXMgaW4gdGhlIGd1aWxkLiBPbmx5IHByZXNlbnQgb24gaW50ZXJhY3Rpb24gZXZlbnRzLiAqL1xuICBwZXJtaXNzaW9ucz86IFBlcm1pc3Npb25zXG4gIC8qKiB3aGVuIHRoZSB1c2VyJ3MgdGltZW91dCB3aWxsIGV4cGlyZSBhbmQgdGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNvbW11bmljYXRlIGluIHRoZSBndWlsZCBhZ2FpbiAoc2V0IG51bGwgdG8gcmVtb3ZlIHRpbWVvdXQpLCBudWxsIG9yIGEgdGltZSBpbiB0aGUgcGFzdCBpZiB0aGUgdXNlciBpcyBub3QgdGltZWQgb3V0ICovXG4gIGNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsPzogbnVtYmVyXG59XG4iXSwibmFtZXMiOlsiaWNvbkhhc2hUb0JpZ0ludCIsIlBlcm1pc3Npb25zIiwiTWVtYmVyVG9nZ2xlcyIsImJhc2VNZW1iZXIiLCJkZWFmIiwidG9nZ2xlcyIsImhhcyIsIm11dGUiLCJwZW5kaW5nIiwidHJhbnNmb3JtTWVtYmVyIiwiYm90IiwicGF5bG9hZCIsImd1aWxkSWQiLCJ1c2VySWQiLCJtZW1iZXIiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsInRyYW5zZm9ybWVycyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiaWQiLCJzbm93Zmxha2UiLCJ1c2VyIiwibmljayIsInJvbGVzIiwibWFwIiwiam9pbmVkX2F0Iiwiam9pbmVkQXQiLCJEYXRlIiwicGFyc2UiLCJwcmVtaXVtX3NpbmNlIiwicHJlbWl1bVNpbmNlIiwiY29tbXVuaWNhdGlvbl9kaXNhYmxlZF91bnRpbCIsImNvbW11bmljYXRpb25EaXNhYmxlZFVudGlsIiwiYXZhdGFyIiwicGVybWlzc2lvbnMiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EsZ0JBQWdCLFFBQVEsb0JBQW1CO0FBRXBELFNBQVNDLFdBQVcsUUFBUSwyQkFBMEI7QUFDdEQsU0FBU0MsYUFBYSxRQUFRLHNCQUFxQjtBQUduRCxNQUFNQyxhQUEyQztJQUMvQyxJQUFJQyxRQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDQyxPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJQyxRQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDRixPQUFPLEVBQUVDLElBQUk7SUFDN0I7SUFDQSxJQUFJRSxXQUFVO1FBQ1osT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDSCxPQUFPLEVBQUVDLElBQUk7SUFDN0I7QUFDRjtBQUVBLE9BQU8sU0FBU0csZ0JBQWdCQyxHQUFRLEVBQUVDLE9BQXNCLEVBQUVDLE9BQWtCLEVBQUVDLE1BQWlCLEVBQVU7SUFDL0csTUFBTUMsU0FBaUJDLE9BQU9DLE1BQU0sQ0FBQ2I7SUFDckMsTUFBTWMsUUFBUVAsSUFBSVEsWUFBWSxDQUFDQyxpQkFBaUIsQ0FBQ0wsTUFBTTtJQUV2RCxJQUFJRCxVQUFVSSxNQUFNRyxFQUFFLEVBQUVOLE9BQU9NLEVBQUUsR0FBRyxPQUFPUCxXQUFXLFdBQVdILElBQUlRLFlBQVksQ0FBQ0csU0FBUyxDQUFDUixVQUFVQSxNQUFNO0lBQzVHLElBQUlELFdBQVdLLE1BQU1MLE9BQU8sRUFBRUUsT0FBT0YsT0FBTyxHQUFHLE9BQU9BLFlBQVksV0FBV0YsSUFBSVEsWUFBWSxDQUFDRyxTQUFTLENBQUNULFdBQVdBLE9BQU87SUFDMUgsSUFBSUQsUUFBUVcsSUFBSSxJQUFJTCxNQUFNSyxJQUFJLEVBQUVSLE9BQU9RLElBQUksR0FBR1osSUFBSVEsWUFBWSxDQUFDSSxJQUFJLENBQUNaLEtBQUtDLFFBQVFXLElBQUk7SUFDckYsSUFBSVgsUUFBUVksSUFBSSxJQUFJTixNQUFNTSxJQUFJLEVBQUVULE9BQU9TLElBQUksR0FBR1osUUFBUVksSUFBSTtJQUMxRCxJQUFJWixRQUFRYSxLQUFLLElBQUlQLE1BQU1PLEtBQUssRUFBRVYsT0FBT1UsS0FBSyxHQUFHYixRQUFRYSxLQUFLLENBQUNDLEdBQUcsQ0FBQyxDQUFDTCxLQUFPVixJQUFJUSxZQUFZLENBQUNHLFNBQVMsQ0FBQ0Q7SUFDdEcsSUFBSVQsUUFBUWUsU0FBUyxJQUFJVCxNQUFNVSxRQUFRLEVBQUViLE9BQU9hLFFBQVEsR0FBR0MsS0FBS0MsS0FBSyxDQUFDbEIsUUFBUWUsU0FBUztJQUN2RixJQUFJZixRQUFRbUIsYUFBYSxJQUFJYixNQUFNYyxZQUFZLEVBQUVqQixPQUFPaUIsWUFBWSxHQUFHSCxLQUFLQyxLQUFLLENBQUNsQixRQUFRbUIsYUFBYTtJQUN2RyxJQUFJbkIsUUFBUXFCLDRCQUE0QixJQUFJZixNQUFNZ0IsMEJBQTBCLEVBQzFFbkIsT0FBT21CLDBCQUEwQixHQUFHTCxLQUFLQyxLQUFLLENBQUNsQixRQUFRcUIsNEJBQTRCO0lBQ3JGLElBQUlyQixRQUFRdUIsTUFBTSxJQUFJakIsTUFBTWlCLE1BQU0sRUFBRXBCLE9BQU9vQixNQUFNLEdBQUdsQyxpQkFBaUJXLFFBQVF1QixNQUFNO0lBQ25GLElBQUl2QixRQUFRd0IsV0FBVyxJQUFJbEIsTUFBTWtCLFdBQVcsRUFBRXJCLE9BQU9xQixXQUFXLEdBQUcsSUFBSWxDLFlBQVlVLFFBQVF3QixXQUFXO0lBQ3RHLElBQUlsQixNQUFNYixJQUFJLElBQUlhLE1BQU1WLElBQUksSUFBSVUsTUFBTVQsT0FBTyxFQUFFO1FBQzdDTSxPQUFPVCxPQUFPLEdBQUcsSUFBSUgsY0FBY1M7SUFDckMsQ0FBQztJQUVELE9BQU9ELElBQUlRLFlBQVksQ0FBQ2tCLFdBQVcsQ0FBQ3RCLE1BQU0sQ0FBQ0osS0FBS0MsU0FBU0c7QUFDM0QsQ0FBQyJ9
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { CHANNEL_MENTION_REGEX } from '../constants.js';
|
|
2
|
+
import { snowflakeToTimestamp } from '../index.js';
|
|
3
|
+
import { MessageFlags } from '../typings.js';
|
|
4
|
+
import { ToggleBitfield } from './toggles/ToggleBitfield.js';
|
|
5
|
+
const baseMessage = {
|
|
6
|
+
get crossposted () {
|
|
7
|
+
return this.flags?.contains(MessageFlags.Crossposted) ?? false;
|
|
8
|
+
},
|
|
9
|
+
set crossposted (value){
|
|
10
|
+
if (!this.flags) return;
|
|
11
|
+
if (value) this.flags.add(MessageFlags.Crossposted);
|
|
12
|
+
else this.flags.remove(MessageFlags.Crossposted);
|
|
13
|
+
},
|
|
14
|
+
get ephemeral () {
|
|
15
|
+
return this.flags?.contains(MessageFlags.Ephemeral) ?? false;
|
|
16
|
+
},
|
|
17
|
+
set ephemeral (value){
|
|
18
|
+
if (!this.flags) return;
|
|
19
|
+
if (value) this.flags.add(MessageFlags.Ephemeral);
|
|
20
|
+
else this.flags.remove(MessageFlags.Ephemeral);
|
|
21
|
+
},
|
|
22
|
+
get failedToMentionSomeRolesInThread () {
|
|
23
|
+
return this.flags?.contains(MessageFlags.FailedToMentionSomeRolesInThread) ?? false;
|
|
24
|
+
},
|
|
25
|
+
set failedToMentionSomeRolesInThread (value){
|
|
26
|
+
if (!this.flags) return;
|
|
27
|
+
if (value) this.flags.add(MessageFlags.FailedToMentionSomeRolesInThread);
|
|
28
|
+
else this.flags.remove(MessageFlags.FailedToMentionSomeRolesInThread);
|
|
29
|
+
},
|
|
30
|
+
get hasThread () {
|
|
31
|
+
return this.flags?.contains(MessageFlags.HasThread) ?? false;
|
|
32
|
+
},
|
|
33
|
+
set hasThread (value){
|
|
34
|
+
if (!this.flags) return;
|
|
35
|
+
if (value) this.flags.add(MessageFlags.HasThread);
|
|
36
|
+
else this.flags.remove(MessageFlags.HasThread);
|
|
37
|
+
},
|
|
38
|
+
get isCrosspost () {
|
|
39
|
+
return this.flags?.contains(MessageFlags.IsCrosspost) ?? false;
|
|
40
|
+
},
|
|
41
|
+
set isCrosspost (value){
|
|
42
|
+
if (!this.flags) return;
|
|
43
|
+
if (value) this.flags.add(MessageFlags.IsCrosspost);
|
|
44
|
+
else this.flags.remove(MessageFlags.IsCrosspost);
|
|
45
|
+
},
|
|
46
|
+
get loading () {
|
|
47
|
+
return this.flags?.contains(MessageFlags.Loading) ?? false;
|
|
48
|
+
},
|
|
49
|
+
set loading (value){
|
|
50
|
+
if (!this.flags) return;
|
|
51
|
+
if (value) this.flags.add(MessageFlags.Loading);
|
|
52
|
+
else this.flags.remove(MessageFlags.Loading);
|
|
53
|
+
},
|
|
54
|
+
get mentionedUserIds () {
|
|
55
|
+
return this.mentions?.map((user)=>user.id) ?? [];
|
|
56
|
+
},
|
|
57
|
+
get mentionEveryone () {
|
|
58
|
+
return this.bitfield?.contains(2) ?? false;
|
|
59
|
+
},
|
|
60
|
+
set mentionEveryone (value){
|
|
61
|
+
if (!this.bitfield) return;
|
|
62
|
+
if (value) this.bitfield.add(2);
|
|
63
|
+
else this.bitfield.remove(2);
|
|
64
|
+
},
|
|
65
|
+
get pinned () {
|
|
66
|
+
return this.bitfield?.contains(3) ?? false;
|
|
67
|
+
},
|
|
68
|
+
set pinned (value){
|
|
69
|
+
if (!this.bitfield) return;
|
|
70
|
+
if (value) this.bitfield.add(3);
|
|
71
|
+
else this.bitfield.remove(3);
|
|
72
|
+
},
|
|
73
|
+
get sourceMessageDeleted () {
|
|
74
|
+
return this.flags?.contains(MessageFlags.SourceMessageDeleted) ?? false;
|
|
75
|
+
},
|
|
76
|
+
set sourceMessageDeleted (value){
|
|
77
|
+
if (!this.flags) return;
|
|
78
|
+
if (value) this.flags.add(MessageFlags.SourceMessageDeleted);
|
|
79
|
+
else this.flags.remove(MessageFlags.SourceMessageDeleted);
|
|
80
|
+
},
|
|
81
|
+
get suppressEmbeds () {
|
|
82
|
+
return this.flags?.contains(MessageFlags.SuppressEmbeds) ?? false;
|
|
83
|
+
},
|
|
84
|
+
set suppressEmbeds (value){
|
|
85
|
+
if (!this.flags) return;
|
|
86
|
+
if (value) this.flags.add(MessageFlags.SuppressEmbeds);
|
|
87
|
+
else this.flags.remove(MessageFlags.SuppressEmbeds);
|
|
88
|
+
},
|
|
89
|
+
get suppressNotifications () {
|
|
90
|
+
return this.flags?.contains(MessageFlags.SuppressNotifications) ?? false;
|
|
91
|
+
},
|
|
92
|
+
set suppressNotifications (value){
|
|
93
|
+
if (!this.flags) return;
|
|
94
|
+
if (value) this.flags.add(MessageFlags.SuppressNotifications);
|
|
95
|
+
else this.flags.remove(MessageFlags.SuppressNotifications);
|
|
96
|
+
},
|
|
97
|
+
get timestamp () {
|
|
98
|
+
return this.id ? snowflakeToTimestamp(this.id) : 0;
|
|
99
|
+
},
|
|
100
|
+
get tts () {
|
|
101
|
+
return this.bitfield?.contains(1) ?? false;
|
|
102
|
+
},
|
|
103
|
+
set tts (value){
|
|
104
|
+
if (!this.bitfield) return;
|
|
105
|
+
if (value) this.bitfield.add(1);
|
|
106
|
+
else this.bitfield.remove(1);
|
|
107
|
+
},
|
|
108
|
+
get urgent () {
|
|
109
|
+
return this.flags?.contains(MessageFlags.Urgent) ?? false;
|
|
110
|
+
},
|
|
111
|
+
set urgent (value){
|
|
112
|
+
if (!this.flags) return;
|
|
113
|
+
if (value) this.flags.add(MessageFlags.Urgent);
|
|
114
|
+
else this.flags.remove(MessageFlags.Urgent);
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
const EMPTY_STRING = '';
|
|
118
|
+
export function transformMessage(bot, payload) {
|
|
119
|
+
const guildId = payload.guild_id ? bot.transformers.snowflake(payload.guild_id) : undefined;
|
|
120
|
+
const userId = bot.transformers.snowflake(payload.author.id);
|
|
121
|
+
const message = Object.create(baseMessage);
|
|
122
|
+
message.bitfield = new ToggleBitfield();
|
|
123
|
+
message.flags = new ToggleBitfield(payload.flags);
|
|
124
|
+
const props = bot.transformers.desiredProperties.message;
|
|
125
|
+
if (props.author && payload.author) message.author = bot.transformers.user(bot, payload.author);
|
|
126
|
+
if (payload.application_id && props.applicationId) message.applicationId = bot.transformers.snowflake(payload.application_id);
|
|
127
|
+
if (payload.attachments?.length && props.attachments) {
|
|
128
|
+
message.attachments = payload.attachments.map((attachment)=>bot.transformers.attachment(bot, attachment));
|
|
129
|
+
}
|
|
130
|
+
if (props.channelId && payload.channel_id) message.channelId = bot.transformers.snowflake(payload.channel_id);
|
|
131
|
+
if (props.components && payload.components?.length) message.components = payload.components.map((comp)=>bot.transformers.component(bot, comp));
|
|
132
|
+
if (props.content && payload.content) message.content = payload.content ?? EMPTY_STRING;
|
|
133
|
+
if (payload.edited_timestamp && props.editedTimestamp) message.editedTimestamp = Date.parse(payload.edited_timestamp);
|
|
134
|
+
if (payload.embeds?.length && props.embeds) message.embeds = payload.embeds.map((embed)=>bot.transformers.embed(bot, embed));
|
|
135
|
+
if (guildId && props.guildId) message.guildId = guildId;
|
|
136
|
+
if (props.id && payload.id) message.id = bot.transformers.snowflake(payload.id);
|
|
137
|
+
if (payload.interaction) {
|
|
138
|
+
const interaction = {};
|
|
139
|
+
let edited = false;
|
|
140
|
+
if (props.interaction.id) {
|
|
141
|
+
interaction.id = bot.transformers.snowflake(payload.interaction.id);
|
|
142
|
+
edited = true;
|
|
143
|
+
}
|
|
144
|
+
if (props.interaction.member && payload.interaction.member) {
|
|
145
|
+
// @ts-expect-error TODO: partial - check why this is partial and handle as needed
|
|
146
|
+
interaction.member = bot.transformers.member(bot, payload.interaction.member, guildId, payload.interaction.user.id);
|
|
147
|
+
edited = true;
|
|
148
|
+
}
|
|
149
|
+
if (props.interaction.name) {
|
|
150
|
+
interaction.name = payload.interaction.name;
|
|
151
|
+
edited = true;
|
|
152
|
+
}
|
|
153
|
+
if (props.interaction.type) {
|
|
154
|
+
interaction.type = payload.interaction.type;
|
|
155
|
+
edited = true;
|
|
156
|
+
}
|
|
157
|
+
if (props.interaction.user) {
|
|
158
|
+
interaction.user = bot.transformers.user(bot, payload.interaction.user);
|
|
159
|
+
edited = true;
|
|
160
|
+
}
|
|
161
|
+
if (edited) message.interaction = interaction;
|
|
162
|
+
}
|
|
163
|
+
if (props.member && payload.member && guildId) message.member = bot.transformers.member(bot, payload.member, guildId, userId);
|
|
164
|
+
if (payload.mention_everyone) message.mentionEveryone = true;
|
|
165
|
+
if (props.mentionedChannelIds && payload.mention_channels?.length) {
|
|
166
|
+
message.mentionedChannelIds = [
|
|
167
|
+
// Keep any ids tht discord sends
|
|
168
|
+
...(payload.mention_channels ?? []).map((m)=>bot.transformers.snowflake(m.id)),
|
|
169
|
+
// Add any other ids that can be validated in a channel mention format
|
|
170
|
+
...(payload.content?.match(CHANNEL_MENTION_REGEX) ?? []).map((text)=>// converts the <#123> into 123
|
|
171
|
+
bot.transformers.snowflake(text.substring(2, text.length - 1)))
|
|
172
|
+
];
|
|
173
|
+
}
|
|
174
|
+
if (props.mentionedRoleIds && payload.mention_roles?.length) {
|
|
175
|
+
message.mentionedRoleIds = payload.mention_roles.map((id)=>bot.transformers.snowflake(id));
|
|
176
|
+
}
|
|
177
|
+
if (props.mentions && payload.mentions?.length) {
|
|
178
|
+
message.mentions = payload.mentions.map((user)=>bot.transformers.user(bot, user));
|
|
179
|
+
}
|
|
180
|
+
if (payload.message_reference) {
|
|
181
|
+
const reference = {};
|
|
182
|
+
let edited = false;
|
|
183
|
+
if (props.messageReference.channelId && payload.message_reference.channel_id) {
|
|
184
|
+
reference.channelId = bot.transformers.snowflake(payload.message_reference.channel_id);
|
|
185
|
+
edited = true;
|
|
186
|
+
}
|
|
187
|
+
if (props.messageReference.guildId && payload.message_reference.guild_id) {
|
|
188
|
+
reference.guildId = bot.transformers.snowflake(payload.message_reference.guild_id);
|
|
189
|
+
edited = true;
|
|
190
|
+
}
|
|
191
|
+
if (props.messageReference.messageId && payload.message_reference.message_id) {
|
|
192
|
+
reference.messageId = bot.transformers.snowflake(payload.message_reference.message_id);
|
|
193
|
+
edited = true;
|
|
194
|
+
}
|
|
195
|
+
if (edited) message.messageReference = reference;
|
|
196
|
+
}
|
|
197
|
+
if (payload.nonce && props.nonce) message.nonce = payload.nonce;
|
|
198
|
+
if (payload.pinned) message.pinned = true;
|
|
199
|
+
if (payload.reactions?.length && props.reactions) {
|
|
200
|
+
message.reactions = payload.reactions.map((reaction)=>({
|
|
201
|
+
me: reaction.me,
|
|
202
|
+
count: reaction.count,
|
|
203
|
+
emoji: bot.transformers.emoji(bot, reaction.emoji)
|
|
204
|
+
}));
|
|
205
|
+
}
|
|
206
|
+
if (props.stickerItems && payload.sticker_items?.length) message.stickerItems = payload.sticker_items.map((item)=>({
|
|
207
|
+
id: bot.transformers.snowflake(item.id),
|
|
208
|
+
name: item.name,
|
|
209
|
+
formatType: item.format_type
|
|
210
|
+
}));
|
|
211
|
+
if (payload.tts) message.tts = true;
|
|
212
|
+
if (props.thread && payload.thread) message.thread = bot.transformers.channel(bot, {
|
|
213
|
+
channel: payload.thread,
|
|
214
|
+
guildId
|
|
215
|
+
});
|
|
216
|
+
if (props.type && props.type) message.type = payload.type;
|
|
217
|
+
if (payload.webhook_id && props.webhookId) message.webhookId = bot.transformers.snowflake(payload.webhook_id);
|
|
218
|
+
return bot.transformers.customizers.message(bot, payload, message);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmFuc2Zvcm1lcnMvbWVzc2FnZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERpc2NvcmRNZXNzYWdlLCBJbnRlcmFjdGlvblR5cGVzLCBNZXNzYWdlQWN0aXZpdHlUeXBlcywgTWVzc2FnZVR5cGVzLCBTdGlja2VyRm9ybWF0VHlwZXMgfSBmcm9tICdAZGlzY29yZGVuby90eXBlcydcbmltcG9ydCB7IENIQU5ORUxfTUVOVElPTl9SRUdFWCB9IGZyb20gJy4uL2NvbnN0YW50cy5qcydcbmltcG9ydCB7IHNub3dmbGFrZVRvVGltZXN0YW1wLCB0eXBlIEJvdCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHsgTWVzc2FnZUZsYWdzIH0gZnJvbSAnLi4vdHlwaW5ncy5qcydcbmltcG9ydCB0eXBlIHsgQXR0YWNobWVudCB9IGZyb20gJy4vYXR0YWNobWVudC5qcydcbmltcG9ydCB0eXBlIHsgQ2hhbm5lbCB9IGZyb20gJy4vY2hhbm5lbC5qcydcbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQuanMnXG5pbXBvcnQgdHlwZSB7IEVtYmVkIH0gZnJvbSAnLi9lbWJlZC5qcydcbmltcG9ydCB0eXBlIHsgRW1vamkgfSBmcm9tICcuL2Vtb2ppLmpzJ1xuaW1wb3J0IHR5cGUgeyBNZW1iZXIgfSBmcm9tICcuL21lbWJlci5qcydcbmltcG9ydCB7IFRvZ2dsZUJpdGZpZWxkIH0gZnJvbSAnLi90b2dnbGVzL1RvZ2dsZUJpdGZpZWxkLmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmpzJ1xuXG5jb25zdCBiYXNlTWVzc2FnZTogUGFydGlhbDxNZXNzYWdlPiAmIE1lc3NhZ2VCYXNlID0ge1xuICBnZXQgY3Jvc3Nwb3N0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGNyb3NzcG9zdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5Dcm9zc3Bvc3RlZClcbiAgfSxcbiAgZ2V0IGVwaGVtZXJhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbCkgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IGVwaGVtZXJhbCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRXBoZW1lcmFsKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkVwaGVtZXJhbClcbiAgfSxcbiAgZ2V0IGZhaWxlZFRvTWVudGlvblNvbWVSb2xlc0luVGhyZWFkKCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBmYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuRmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQpXG4gIH0sXG4gIGdldCBoYXNUaHJlYWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBoYXNUaHJlYWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLkhhc1RocmVhZClcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5IYXNUaHJlYWQpXG4gIH0sXG4gIGdldCBpc0Nyb3NzcG9zdCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KSA/PyBmYWxzZVxuICB9LFxuICBzZXQgaXNDcm9zc3Bvc3QodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLklzQ3Jvc3Nwb3N0KVxuICB9LFxuICBnZXQgbG9hZGluZygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLkxvYWRpbmcpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBsb2FkaW5nKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5Mb2FkaW5nKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLkxvYWRpbmcpXG4gIH0sXG4gIGdldCBtZW50aW9uZWRVc2VySWRzKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnRpb25zPy5tYXAoKHVzZXIpID0+IHVzZXIuaWQpID8/IFtdXG4gIH0sXG4gIGdldCBtZW50aW9uRXZlcnlvbmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDIpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBtZW50aW9uRXZlcnlvbmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMilcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDIpXG4gIH0sXG4gIGdldCBwaW5uZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuYml0ZmllbGQ/LmNvbnRhaW5zKDMpID8/IGZhbHNlXG4gIH0sXG4gIHNldCBwaW5uZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuYml0ZmllbGQpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5iaXRmaWVsZC5hZGQoMylcbiAgICBlbHNlIHRoaXMuYml0ZmllbGQucmVtb3ZlKDMpXG4gIH0sXG4gIGdldCBzb3VyY2VNZXNzYWdlRGVsZXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgc291cmNlTWVzc2FnZURlbGV0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAoIXRoaXMuZmxhZ3MpIHJldHVyblxuICAgIGlmICh2YWx1ZSkgdGhpcy5mbGFncy5hZGQoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlNvdXJjZU1lc3NhZ2VEZWxldGVkKVxuICB9LFxuICBnZXQgc3VwcHJlc3NFbWJlZHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmxhZ3M/LmNvbnRhaW5zKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHN1cHByZXNzRW1iZWRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcylcbiAgICBlbHNlIHRoaXMuZmxhZ3MucmVtb3ZlKE1lc3NhZ2VGbGFncy5TdXBwcmVzc0VtYmVkcylcbiAgfSxcbiAgZ2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5mbGFncz8uY29udGFpbnMoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucykgPz8gZmFsc2VcbiAgfSxcbiAgc2V0IHN1cHByZXNzTm90aWZpY2F0aW9ucyh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICghdGhpcy5mbGFncykgcmV0dXJuXG4gICAgaWYgKHZhbHVlKSB0aGlzLmZsYWdzLmFkZChNZXNzYWdlRmxhZ3MuU3VwcHJlc3NOb3RpZmljYXRpb25zKVxuICAgIGVsc2UgdGhpcy5mbGFncy5yZW1vdmUoTWVzc2FnZUZsYWdzLlN1cHByZXNzTm90aWZpY2F0aW9ucylcbiAgfSxcbiAgZ2V0IHRpbWVzdGFtcCgpIHtcbiAgICByZXR1cm4gdGhpcy5pZCA/IHNub3dmbGFrZVRvVGltZXN0YW1wKHRoaXMuaWQpIDogMFxuICB9LFxuICBnZXQgdHRzKCkge1xuICAgIHJldHVybiB0aGlzLmJpdGZpZWxkPy5jb250YWlucygxKSA/PyBmYWxzZVxuICB9LFxuICBzZXQgdHRzKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmJpdGZpZWxkKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuYml0ZmllbGQuYWRkKDEpXG4gICAgZWxzZSB0aGlzLmJpdGZpZWxkLnJlbW92ZSgxKVxuICB9LFxuICBnZXQgdXJnZW50KCkge1xuICAgIHJldHVybiB0aGlzLmZsYWdzPy5jb250YWlucyhNZXNzYWdlRmxhZ3MuVXJnZW50KSA/PyBmYWxzZVxuICB9LFxuICBzZXQgdXJnZW50KHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKCF0aGlzLmZsYWdzKSByZXR1cm5cbiAgICBpZiAodmFsdWUpIHRoaXMuZmxhZ3MuYWRkKE1lc3NhZ2VGbGFncy5VcmdlbnQpXG4gICAgZWxzZSB0aGlzLmZsYWdzLnJlbW92ZShNZXNzYWdlRmxhZ3MuVXJnZW50KVxuICB9LFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VCYXNlIHtcbiAgLyoqIEhvbGRzIGFsbCB0aGUgYm9vbGVhbiB2YWx1ZXMgb24gdGhpcyBtZXNzYWdlLiAqL1xuICBiaXRmaWVsZD86IFRvZ2dsZUJpdGZpZWxkXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBoYXMgYmVlbiBwdWJsaXNoZWQgdG8gc3Vic2NyaWJlZCBjaGFubmVscyAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBjcm9zc3Bvc3RlZDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgaXMgb25seSB2aXNpYmxlIHRvIHRoZSB1c2VyIHdobyBpbnZva2VkIHRoZSBJbnRlcmFjdGlvbiAqL1xuICBlcGhlbWVyYWw6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBtZXNzYWdlIGZhaWxlZCB0byBtZW50aW9uIHNvbWUgcm9sZXMgYW5kIGFkZCB0aGVpciBtZW1iZXJzIHRvIHRoZSB0aHJlYWQgKi9cbiAgZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQ6IGJvb2xlYW5cbiAgLyoqIE1lc3NhZ2UgZmxhZ3MgY29tYmluZWQgYXMgYSBiaXRmaWVsZCAqL1xuICBmbGFncz86IFRvZ2dsZUJpdGZpZWxkXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBoYXMgYW4gYXNzb2NpYXRlZCB0aHJlYWQsIHdpdGggdGhlIHNhbWUgaWQgYXMgdGhlIG1lc3NhZ2UgKi9cbiAgaGFzVGhyZWFkOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBvcmlnaW5hdGVkIGZyb20gYSBtZXNzYWdlIGluIGFub3RoZXIgY2hhbm5lbCAodmlhIENoYW5uZWwgRm9sbG93aW5nKSAqL1xuICBpc0Nyb3NzcG9zdDogYm9vbGVhblxuICAvKiogV2hldGhlciB0aGlzIG1lc3NhZ2UgaXMgYW4gSW50ZXJhY3Rpb24gUmVzcG9uc2UgYW5kIHRoZSBib3QgaXMgXCJ0aGlua2luZ1wiICovXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgLyoqIFRoZSBpZHMgb2YgdGhlIHVzZXJzIHdobyB3ZXJlIG1lbnRpb25lZCBpbiB0aGlzIG1lc3NhZ2UuICovXG4gIG1lbnRpb25lZFVzZXJJZHM6IGJpZ2ludFtdXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBtZW50aW9ucyBldmVyeW9uZSAqL1xuICBtZW50aW9uRXZlcnlvbmU6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBtZXNzYWdlIGlzIHBpbm5lZCAqL1xuICBwaW5uZWQ6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhlIHNvdXJjZSBtZXNzYWdlIGZvciB0aGlzIGNyb3NzcG9zdCBoYXMgYmVlbiBkZWxldGVkICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpICovXG4gIHNvdXJjZU1lc3NhZ2VEZWxldGVkOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIGRvIG5vdCBpbmNsdWRlIGFueSBlbWJlZHMgd2hlbiBzZXJpYWxpemluZyB0aGlzIG1lc3NhZ2UgKi9cbiAgc3VwcHJlc3NFbWJlZHM6IGJvb2xlYW5cbiAgLyoqIFdoZXRoZXIgdGhpcyBtZXNzYWdlIHdpbGwgbm90IHRyaWdnZXIgcHVzaCBhbmQgZGVza3RvcCBub3RpZmljYXRpb25zICovXG4gIHN1cHByZXNzTm90aWZpY2F0aW9uczogYm9vbGVhblxuICAvKiogVGhlIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgd2hlbiB0aGlzIG1lc3NhZ2Ugd2FzIGNyZWF0ZWQgKi9cbiAgdGltZXN0YW1wOiBudW1iZXJcbiAgLyoqIFdoZXRoZXIgdGhpcyB3YXMgYSBUVFMgbWVzc2FnZS4gKi9cbiAgdHRzOiBib29sZWFuXG4gIC8qKiBXaGV0aGVyIHRoaXMgbWVzc2FnZSBjYW1lIGZyb20gdGhlIHVyZ2VudCBtZXNzYWdlIHN5c3RlbSAqL1xuICB1cmdlbnQ6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIGV4dGVuZHMgTWVzc2FnZUJhc2Uge1xuICAvKiogU2VudCB3aXRoIFJpY2ggUHJlc2VuY2UtcmVsYXRlZCBjaGF0IGVtYmVkcyAqL1xuICBhY3Rpdml0eT86IHtcbiAgICAvKiogVHlwZSBvZiBtZXNzYWdlIGFjdGl2aXR5ICovXG4gICAgdHlwZTogTWVzc2FnZUFjdGl2aXR5VHlwZXNcbiAgICAvKiogcGFydHlfaWQgZnJvbSBhIFJpY2ggUHJlc2VuY2UgZXZlbnQgKi9cbiAgICBwYXJ0eUlkPzogc3RyaW5nXG4gIH1cbiAgLyoqIGlmIHRoZSBtZXNzYWdlIGlzIGFuIEludGVyYWN0aW9uIG9yIGFwcGxpY2F0aW9uLW93bmVkIHdlYmhvb2ssIHRoaXMgaXMgdGhlIGlkIG9mIHRoZSBhcHBsaWNhdGlvbiAqL1xuICBhcHBsaWNhdGlvbklkPzogYmlnaW50XG4gIC8qKiBBbnkgYXR0YWNoZWQgZmlsZXMgb24gdGhpcyBtZXNzYWdlLiAqL1xuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRbXVxuICAvKiogVGhlIGF1dGhvciBvZiB0aGlzIG1lc3NhZ2UgKG5vdCBndWFyYW50ZWVkIHRvIGJlIGEgdmFsaWQgdXNlcikgTm90ZTogVGhlIGF1dGhvciBvYmplY3QgZm9sbG93cyB0aGUgc3RydWN0dXJlIG9mIHRoZSB1c2VyIG9iamVjdCwgYnV0IGlzIG9ubHkgYSB2YWxpZCB1c2VyIGluIHRoZSBjYXNlIHdoZXJlIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHVzZXIgb3IgYm90IHVzZXIuIElmIHRoZSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2ssIHRoZSBhdXRob3Igb2JqZWN0IGNvcnJlc3BvbmRzIHRvIHRoZSB3ZWJob29rJ3MgaWQsIHVzZXJuYW1lLCBhbmQgYXZhdGFyLiBZb3UgY2FuIHRlbGwgaWYgYSBtZXNzYWdlIGlzIGdlbmVyYXRlZCBieSBhIHdlYmhvb2sgYnkgY2hlY2tpbmcgZm9yIHRoZSB3ZWJob29rX2lkIG9uIHRoZSBtZXNzYWdlIG9iamVjdC4gKi9cbiAgYXV0aG9yOiBVc2VyXG4gIC8qKiBpZCBvZiB0aGUgY2hhbm5lbCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpbiAqL1xuICBjaGFubmVsSWQ6IGJpZ2ludFxuICAvKiogVGhlIGNvbXBvbmVudHMgcmVsYXRlZCB0byB0aGlzIG1lc3NhZ2UgKi9cbiAgY29tcG9uZW50czogQ29tcG9uZW50W11cbiAgLyoqIENvbnRlbnRzIG9mIHRoZSBtZXNzYWdlICovXG4gIGNvbnRlbnQ6IHN0cmluZ1xuICAvKiogVGhlIHRpbWVzdGFtcCBpbiBtaWxsaXNlY29uZHMgd2hlbiB0aGlzIG1lc3NhZ2Ugd2FzIGVkaXRlZCBsYXN0LiAqL1xuICBlZGl0ZWRUaW1lc3RhbXA/OiBudW1iZXJcbiAgLyoqIEFueSBlbWJlZGRlZCBjb250ZW50ICovXG4gIGVtYmVkcz86IEVtYmVkW11cbiAgLyoqIGlkIG9mIHRoZSBndWlsZCB0aGUgbWVzc2FnZSB3YXMgc2VudCBpbiBOb3RlOiBGb3IgTUVTU0FHRV9DUkVBVEUgYW5kIE1FU1NBR0VfVVBEQVRFIGV2ZW50cywgdGhlIG1lc3NhZ2Ugb2JqZWN0IG1heSBub3QgY29udGFpbiBhIGd1aWxkX2lkIG9yIG1lbWJlciBmaWVsZCBzaW5jZSB0aGUgZXZlbnRzIGFyZSBzZW50IGRpcmVjdGx5IHRvIHRoZSByZWNlaXZpbmcgdXNlciBhbmQgdGhlIGJvdCB3aG8gc2VudCB0aGUgbWVzc2FnZSwgcmF0aGVyIHRoYW4gYmVpbmcgc2VudCB0aHJvdWdoIHRoZSBndWlsZCBsaWtlIG5vbi1lcGhlbWVyYWwgbWVzc2FnZXMuICovXG4gIGd1aWxkSWQ/OiBiaWdpbnRcbiAgLyoqIGlkIG9mIHRoZSBtZXNzYWdlICovXG4gIGlkOiBiaWdpbnRcbiAgLyoqIFNlbnQgaWYgdGhlIG1lc3NhZ2UgaXMgYSByZXNwb25zZSB0byBhbiBJbnRlcmFjdGlvbiAqL1xuICBpbnRlcmFjdGlvbj86IHtcbiAgICAvKiogSWQgb2YgdGhlIGludGVyYWN0aW9uICovXG4gICAgaWQ6IGJpZ2ludFxuICAgIC8qKiBUaGUgbWVtYmVyIHdobyBpbnZva2VkIHRoZSBpbnRlcmFjdGlvbiBpbiB0aGUgZ3VpbGQgICovXG4gICAgbWVtYmVyPzogTWVtYmVyXG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoZSBBcHBsaWNhdGlvbkNvbW1hbmQgaW5jbHVkaW5nIHRoZSBuYW1lIG9mIHRoZSBzdWJjb21tYW5kL3N1YmNvbW1hbmQgZ3JvdXAgKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogVGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gKi9cbiAgICB0eXBlOiBJbnRlcmFjdGlvblR5cGVzXG4gICAgLyoqIFRoZSB1c2VyIHdobyBpbnZva2VkIHRoZSBpbnRlcmFjdGlvbiAqL1xuICAgIHVzZXI6IFVzZXJcbiAgfVxuICAvKiogTWVtYmVyIHByb3BlcnRpZXMgZm9yIHRoaXMgbWVzc2FnZSdzIGF1dGhvciBOb3RlOiBUaGUgbWVtYmVyIG9iamVjdCBleGlzdHMgaW4gTUVTU0FHRV9DUkVBVEUgYW5kIE1FU1NBR0VfVVBEQVRFIGV2ZW50cyBmcm9tIHRleHQtYmFzZWQgZ3VpbGQgY2hhbm5lbHMuIFRoaXMgYWxsb3dzIGJvdHMgdG8gb2J0YWluIHJlYWwtdGltZSBtZW1iZXIgZGF0YSB3aXRob3V0IHJlcXVpcmluZyBib3RzIHRvIHN0b3JlIG1lbWJlciBzdGF0ZSBpbiBtZW1vcnkuICovXG4gIG1lbWJlcj86IE1lbWJlclxuICAvKiogVXNlcnMgc3BlY2lmaWNhbGx5IG1lbnRpb25lZCBpbiB0aGUgbWVzc2FnZSBOb3RlOiBUaGUgdXNlciBvYmplY3RzIGluIHRoZSBtZW50aW9ucyBhcnJheSB3aWxsIG9ubHkgaGF2ZSB0aGUgcGFydGlhbCBtZW1iZXIgZmllbGQgcHJlc2VudCBpbiBNRVNTQUdFX0NSRUFURSBhbmQgTUVTU0FHRV9VUERBVEUgZXZlbnRzIGZyb20gdGV4dC1iYXNlZCBndWlsZCBjaGFubmVscy4gKi9cbiAgbWVudGlvbnM/OiBVc2VyW11cbiAgLyoqIENoYW5uZWxzIHNwZWNpZmljYWxseSBtZW50aW9uZWQgaW4gdGhpcyBtZXNzYWdlIE5vdGU6IE5vdCBhbGwgY2hhbm5lbCBtZW50aW9ucyBpbiBhIG1lc3NhZ2Ugd2lsbCBhcHBlYXIgaW4gbWVudGlvbl9jaGFubmVscy4gT25seSB0ZXh0dWFsIGNoYW5uZWxzIHRoYXQgYXJlIHZpc2libGUgdG8gZXZlcnlvbmUgaW4gYSBkaXNjb3ZlcmFibGUgZ3VpbGQgd2lsbCBldmVyIGJlIGluY2x1ZGVkLiBPbmx5IGNyb3NzcG9zdGVkIG1lc3NhZ2VzICh2aWEgQ2hhbm5lbCBGb2xsb3dpbmcpIGN1cnJlbnRseSBpbmNsdWRlIG1lbnRpb25fY2hhbm5lbHMgYXQgYWxsLiBJZiBubyBtZW50aW9ucyBpbiB0aGUgbWVzc2FnZSBtZWV0IHRoZXNlIHJlcXVpcmVtZW50cywgdGhpcyBmaWVsZCB3aWxsIG5vdCBiZSBzZW50LiAqL1xuICBtZW50aW9uZWRDaGFubmVsSWRzPzogYmlnaW50W11cbiAgLyoqIFJvbGVzIHNwZWNpZmljYWxseSBtZW50aW9uZWQgaW4gdGhpcyBtZXNzYWdlICovXG4gIG1lbnRpb25lZFJvbGVJZHM/OiBiaWdpbnRbXVxuICAvKiogRGF0YSBzaG93aW5nIHRoZSBzb3VyY2Ugb2YgYSBjcm9zc3Bvc3RlZCBjaGFubmVsIGZvbGxvdyBhZGQsIHBpbiBvciByZXBseSBtZXNzYWdlICovXG4gIG1lc3NhZ2VSZWZlcmVuY2U/OiB7XG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgY2hhbm5lbCBOb3RlOiBjaGFubmVsX2lkIGlzIG9wdGlvbmFsIHdoZW4gY3JlYXRpbmcgYSByZXBseSwgYnV0IHdpbGwgYWx3YXlzIGJlIHByZXNlbnQgd2hlbiByZWNlaXZpbmcgYW4gZXZlbnQvcmVzcG9uc2UgdGhhdCBpbmNsdWRlcyB0aGlzIGRhdGEgbW9kZWwuICovXG4gICAgY2hhbm5lbElkPzogYmlnaW50XG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlJ3MgZ3VpbGQgKi9cbiAgICBndWlsZElkPzogYmlnaW50XG4gICAgLyoqIGlkIG9mIHRoZSBvcmlnaW5hdGluZyBtZXNzYWdlICovXG4gICAgbWVzc2FnZUlkPzogYmlnaW50XG4gIH1cbiAgLyoqIFVzZWQgZm9yIHZhbGlkYXRpbmcgYSBtZXNzYWdlIHdhcyBzZW50ICovXG4gIG5vbmNlPzogc3RyaW5nIHwgbnVtYmVyXG4gIC8qKiBSZWFjdGlvbnMgb24gdGhpcyBtZXNzYWdlLiAqL1xuICByZWFjdGlvbnM/OiBBcnJheTx7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgdXNlciByZWFjdGVkIHVzaW5nIHRoaXMgZW1vamkgKi9cbiAgICBtZTogYm9vbGVhblxuICAgIC8qKiBUaW1lcyB0aGlzIGVtb2ppIGhhcyBiZWVuIHVzZWQgdG8gcmVhY3QgKi9cbiAgICBjb3VudDogbnVtYmVyXG4gICAgLyoqIEVtb2ppIGluZm9ybWF0aW9uICovXG4gICAgZW1vamk6IEVtb2ppXG4gIH0+XG4gIC8qKiBTZW50IGlmIHRoZSBtZXNzYWdlIGNvbnRhaW5zIHN0aWNrZXJzICovXG4gIHN0aWNrZXJJdGVtcz86IEFycmF5PHtcbiAgICAvKiogVGhlIGlkIG9mIHRoaXMgc3RpY2tlci4gKi9cbiAgICBpZDogYmlnaW50XG4gICAgLyoqIFRoZSBuYW1lIG9mIHRoaXMgc3RpY2tlci4gKi9cbiAgICBuYW1lOiBzdHJpbmdcbiAgICAvKiogVGhlIHR5cGUgb2YgdGhpcyBzdGlja2VycyBmb3JtYXQuICovXG4gICAgZm9ybWF0VHlwZTogU3RpY2tlckZvcm1hdFR5cGVzXG4gIH0+XG4gIC8qKiBUeXBlIG9mIG1lc3NhZ2UgKi9cbiAgdHlwZTogTWVzc2FnZVR5cGVzXG4gIC8qKiBUaGUgdGhyZWFkIHRoYXQgd2FzIHN0YXJ0ZWQgZnJvbSB0aGlzIG1lc3NhZ2UsIGluY2x1ZGVzIHRocmVhZCBtZW1iZXIgb2JqZWN0ICAqL1xuICB0aHJlYWQ/OiBDaGFubmVsXG4gIC8qKiBJZiB0aGUgbWVzc2FnZSBpcyBnZW5lcmF0ZWQgYnkgYSB3ZWJob29rLCB0aGlzIGlzIHRoZSB3ZWJob29rJ3MgaWQgKi9cbiAgd2ViaG9va0lkPzogYmlnaW50XG59XG5cbmNvbnN0IEVNUFRZX1NUUklORyA9ICcnXG5cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1NZXNzYWdlKGJvdDogQm90LCBwYXlsb2FkOiBEaXNjb3JkTWVzc2FnZSk6IE1lc3NhZ2Uge1xuICBjb25zdCBndWlsZElkID0gcGF5bG9hZC5ndWlsZF9pZCA/IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuZ3VpbGRfaWQpIDogdW5kZWZpbmVkXG4gIGNvbnN0IHVzZXJJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuYXV0aG9yLmlkKVxuXG4gIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSBPYmplY3QuY3JlYXRlKGJhc2VNZXNzYWdlKVxuICBtZXNzYWdlLmJpdGZpZWxkID0gbmV3IFRvZ2dsZUJpdGZpZWxkKClcbiAgbWVzc2FnZS5mbGFncyA9IG5ldyBUb2dnbGVCaXRmaWVsZChwYXlsb2FkLmZsYWdzKVxuXG4gIGNvbnN0IHByb3BzID0gYm90LnRyYW5zZm9ybWVycy5kZXNpcmVkUHJvcGVydGllcy5tZXNzYWdlXG5cbiAgaWYgKHByb3BzLmF1dGhvciAmJiBwYXlsb2FkLmF1dGhvcikgbWVzc2FnZS5hdXRob3IgPSBib3QudHJhbnNmb3JtZXJzLnVzZXIoYm90LCBwYXlsb2FkLmF1dGhvcilcbiAgaWYgKHBheWxvYWQuYXBwbGljYXRpb25faWQgJiYgcHJvcHMuYXBwbGljYXRpb25JZCkgbWVzc2FnZS5hcHBsaWNhdGlvbklkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5hcHBsaWNhdGlvbl9pZClcbiAgaWYgKHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCAmJiBwcm9wcy5hdHRhY2htZW50cykge1xuICAgIG1lc3NhZ2UuYXR0YWNobWVudHMgPSBwYXlsb2FkLmF0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCkgPT4gYm90LnRyYW5zZm9ybWVycy5hdHRhY2htZW50KGJvdCwgYXR0YWNobWVudCkpXG4gIH1cbiAgaWYgKHByb3BzLmNoYW5uZWxJZCAmJiBwYXlsb2FkLmNoYW5uZWxfaWQpIG1lc3NhZ2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5jaGFubmVsX2lkKVxuICBpZiAocHJvcHMuY29tcG9uZW50cyAmJiBwYXlsb2FkLmNvbXBvbmVudHM/Lmxlbmd0aCkgbWVzc2FnZS5jb21wb25lbnRzID0gcGF5bG9hZC5jb21wb25lbnRzLm1hcCgoY29tcCkgPT4gYm90LnRyYW5zZm9ybWVycy5jb21wb25lbnQoYm90LCBjb21wKSlcbiAgaWYgKHByb3BzLmNvbnRlbnQgJiYgcGF5bG9hZC5jb250ZW50KSBtZXNzYWdlLmNvbnRlbnQgPSBwYXlsb2FkLmNvbnRlbnQgPz8gRU1QVFlfU1RSSU5HXG4gIGlmIChwYXlsb2FkLmVkaXRlZF90aW1lc3RhbXAgJiYgcHJvcHMuZWRpdGVkVGltZXN0YW1wKSBtZXNzYWdlLmVkaXRlZFRpbWVzdGFtcCA9IERhdGUucGFyc2UocGF5bG9hZC5lZGl0ZWRfdGltZXN0YW1wKVxuICBpZiAocGF5bG9hZC5lbWJlZHM/Lmxlbmd0aCAmJiBwcm9wcy5lbWJlZHMpIG1lc3NhZ2UuZW1iZWRzID0gcGF5bG9hZC5lbWJlZHMubWFwKChlbWJlZCkgPT4gYm90LnRyYW5zZm9ybWVycy5lbWJlZChib3QsIGVtYmVkKSlcbiAgaWYgKGd1aWxkSWQgJiYgcHJvcHMuZ3VpbGRJZCkgbWVzc2FnZS5ndWlsZElkID0gZ3VpbGRJZFxuICBpZiAocHJvcHMuaWQgJiYgcGF5bG9hZC5pZCkgbWVzc2FnZS5pZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQuaWQpXG4gIGlmIChwYXlsb2FkLmludGVyYWN0aW9uKSB7XG4gICAgY29uc3QgaW50ZXJhY3Rpb24gPSB7fSBhcyBOb25OdWxsYWJsZTxNZXNzYWdlWydpbnRlcmFjdGlvbiddPlxuICAgIGxldCBlZGl0ZWQgPSBmYWxzZVxuICAgIGlmIChwcm9wcy5pbnRlcmFjdGlvbi5pZCkge1xuICAgICAgaW50ZXJhY3Rpb24uaWQgPSBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShwYXlsb2FkLmludGVyYWN0aW9uLmlkKVxuICAgICAgZWRpdGVkID0gdHJ1ZVxuICAgIH1cbiAgICBpZiAocHJvcHMuaW50ZXJhY3Rpb24ubWVtYmVyICYmIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IHBhcnRpYWwgLSBjaGVjayB3aHkgdGhpcyBpcyBwYXJ0aWFsIGFuZCBoYW5kbGUgYXMgbmVlZGVkXG4gICAgICBpbnRlcmFjdGlvbi5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQuaW50ZXJhY3Rpb24ubWVtYmVyLCBndWlsZElkLCBwYXlsb2FkLmludGVyYWN0aW9uLnVzZXIuaWQpXG4gICAgICBlZGl0ZWQgPSB0cnVlXG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnRlcmFjdGlvbi5uYW1lKSB7XG4gICAgICBpbnRlcmFjdGlvbi5uYW1lID0gcGF5bG9hZC5pbnRlcmFjdGlvbi5uYW1lXG4gICAgICBlZGl0ZWQgPSB0cnVlXG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnRlcmFjdGlvbi50eXBlKSB7XG4gICAgICBpbnRlcmFjdGlvbi50eXBlID0gcGF5bG9hZC5pbnRlcmFjdGlvbi50eXBlXG4gICAgICBlZGl0ZWQgPSB0cnVlXG4gICAgfVxuICAgIGlmIChwcm9wcy5pbnRlcmFjdGlvbi51c2VyKSB7XG4gICAgICBpbnRlcmFjdGlvbi51c2VyID0gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgcGF5bG9hZC5pbnRlcmFjdGlvbi51c2VyKVxuICAgICAgZWRpdGVkID0gdHJ1ZVxuICAgIH1cblxuICAgIGlmIChlZGl0ZWQpIG1lc3NhZ2UuaW50ZXJhY3Rpb24gPSBpbnRlcmFjdGlvblxuICB9XG4gIGlmIChwcm9wcy5tZW1iZXIgJiYgcGF5bG9hZC5tZW1iZXIgJiYgZ3VpbGRJZCkgbWVzc2FnZS5tZW1iZXIgPSBib3QudHJhbnNmb3JtZXJzLm1lbWJlcihib3QsIHBheWxvYWQubWVtYmVyLCBndWlsZElkLCB1c2VySWQpXG4gIGlmIChwYXlsb2FkLm1lbnRpb25fZXZlcnlvbmUpIG1lc3NhZ2UubWVudGlvbkV2ZXJ5b25lID0gdHJ1ZVxuICBpZiAocHJvcHMubWVudGlvbmVkQ2hhbm5lbElkcyAmJiBwYXlsb2FkLm1lbnRpb25fY2hhbm5lbHM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UubWVudGlvbmVkQ2hhbm5lbElkcyA9IFtcbiAgICAgIC8vIEtlZXAgYW55IGlkcyB0aHQgZGlzY29yZCBzZW5kc1xuICAgICAgLi4uKHBheWxvYWQubWVudGlvbl9jaGFubmVscyA/PyBbXSkubWFwKChtKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShtLmlkKSksXG4gICAgICAvLyBBZGQgYW55IG90aGVyIGlkcyB0aGF0IGNhbiBiZSB2YWxpZGF0ZWQgaW4gYSBjaGFubmVsIG1lbnRpb24gZm9ybWF0XG4gICAgICAuLi4ocGF5bG9hZC5jb250ZW50Py5tYXRjaChDSEFOTkVMX01FTlRJT05fUkVHRVgpID8/IFtdKS5tYXAoKHRleHQpID0+XG4gICAgICAgIC8vIGNvbnZlcnRzIHRoZSA8IzEyMz4gaW50byAxMjNcbiAgICAgICAgYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UodGV4dC5zdWJzdHJpbmcoMiwgdGV4dC5sZW5ndGggLSAxKSksXG4gICAgICApLFxuICAgIF1cbiAgfVxuICBpZiAocHJvcHMubWVudGlvbmVkUm9sZUlkcyAmJiBwYXlsb2FkLm1lbnRpb25fcm9sZXM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UubWVudGlvbmVkUm9sZUlkcyA9IHBheWxvYWQubWVudGlvbl9yb2xlcy5tYXAoKGlkKSA9PiBib3QudHJhbnNmb3JtZXJzLnNub3dmbGFrZShpZCkpXG4gIH1cbiAgaWYgKHByb3BzLm1lbnRpb25zICYmIHBheWxvYWQubWVudGlvbnM/Lmxlbmd0aCkge1xuICAgIG1lc3NhZ2UubWVudGlvbnMgPSBwYXlsb2FkLm1lbnRpb25zLm1hcCgodXNlcikgPT4gYm90LnRyYW5zZm9ybWVycy51c2VyKGJvdCwgdXNlcikpXG4gIH1cbiAgaWYgKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UpIHtcbiAgICBjb25zdCByZWZlcmVuY2UgPSB7fSBhcyBOb25OdWxsYWJsZTxNZXNzYWdlWydtZXNzYWdlUmVmZXJlbmNlJ10+XG4gICAgbGV0IGVkaXRlZCA9IGZhbHNlXG5cbiAgICBpZiAocHJvcHMubWVzc2FnZVJlZmVyZW5jZS5jaGFubmVsSWQgJiYgcGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKSB7XG4gICAgICByZWZlcmVuY2UuY2hhbm5lbElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5jaGFubmVsX2lkKVxuICAgICAgZWRpdGVkID0gdHJ1ZVxuICAgIH1cbiAgICBpZiAocHJvcHMubWVzc2FnZVJlZmVyZW5jZS5ndWlsZElkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UuZ3VpbGRfaWQpIHtcbiAgICAgIHJlZmVyZW5jZS5ndWlsZElkID0gYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UocGF5bG9hZC5tZXNzYWdlX3JlZmVyZW5jZS5ndWlsZF9pZClcbiAgICAgIGVkaXRlZCA9IHRydWVcbiAgICB9XG4gICAgaWYgKHByb3BzLm1lc3NhZ2VSZWZlcmVuY2UubWVzc2FnZUlkICYmIHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZCkge1xuICAgICAgcmVmZXJlbmNlLm1lc3NhZ2VJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQubWVzc2FnZV9yZWZlcmVuY2UubWVzc2FnZV9pZClcbiAgICAgIGVkaXRlZCA9IHRydWVcbiAgICB9XG5cbiAgICBpZiAoZWRpdGVkKSBtZXNzYWdlLm1lc3NhZ2VSZWZlcmVuY2UgPSByZWZlcmVuY2VcbiAgfVxuICBpZiAocGF5bG9hZC5ub25jZSAmJiBwcm9wcy5ub25jZSkgbWVzc2FnZS5ub25jZSA9IHBheWxvYWQubm9uY2VcbiAgaWYgKHBheWxvYWQucGlubmVkKSBtZXNzYWdlLnBpbm5lZCA9IHRydWVcbiAgaWYgKHBheWxvYWQucmVhY3Rpb25zPy5sZW5ndGggJiYgcHJvcHMucmVhY3Rpb25zKSB7XG4gICAgbWVzc2FnZS5yZWFjdGlvbnMgPSBwYXlsb2FkLnJlYWN0aW9ucy5tYXAoKHJlYWN0aW9uKSA9PiAoe1xuICAgICAgbWU6IHJlYWN0aW9uLm1lLFxuICAgICAgY291bnQ6IHJlYWN0aW9uLmNvdW50LFxuICAgICAgZW1vamk6IGJvdC50cmFuc2Zvcm1lcnMuZW1vamkoYm90LCByZWFjdGlvbi5lbW9qaSksXG4gICAgfSkpXG4gIH1cbiAgaWYgKHByb3BzLnN0aWNrZXJJdGVtcyAmJiBwYXlsb2FkLnN0aWNrZXJfaXRlbXM/Lmxlbmd0aClcbiAgICBtZXNzYWdlLnN0aWNrZXJJdGVtcyA9IHBheWxvYWQuc3RpY2tlcl9pdGVtcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICBpZDogYm90LnRyYW5zZm9ybWVycy5zbm93Zmxha2UoaXRlbS5pZCksXG4gICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICBmb3JtYXRUeXBlOiBpdGVtLmZvcm1hdF90eXBlLFxuICAgIH0pKVxuICBpZiAocGF5bG9hZC50dHMpIG1lc3NhZ2UudHRzID0gdHJ1ZVxuICBpZiAocHJvcHMudGhyZWFkICYmIHBheWxvYWQudGhyZWFkKSBtZXNzYWdlLnRocmVhZCA9IGJvdC50cmFuc2Zvcm1lcnMuY2hhbm5lbChib3QsIHsgY2hhbm5lbDogcGF5bG9hZC50aHJlYWQsIGd1aWxkSWQgfSlcbiAgaWYgKHByb3BzLnR5cGUgJiYgcHJvcHMudHlwZSkgbWVzc2FnZS50eXBlID0gcGF5bG9hZC50eXBlXG4gIGlmIChwYXlsb2FkLndlYmhvb2tfaWQgJiYgcHJvcHMud2ViaG9va0lkKSBtZXNzYWdlLndlYmhvb2tJZCA9IGJvdC50cmFuc2Zvcm1lcnMuc25vd2ZsYWtlKHBheWxvYWQud2ViaG9va19pZClcblxuICByZXR1cm4gYm90LnRyYW5zZm9ybWVycy5jdXN0b21pemVycy5tZXNzYWdlKGJvdCwgcGF5bG9hZCwgbWVzc2FnZSlcbn1cbiJdLCJuYW1lcyI6WyJDSEFOTkVMX01FTlRJT05fUkVHRVgiLCJzbm93Zmxha2VUb1RpbWVzdGFtcCIsIk1lc3NhZ2VGbGFncyIsIlRvZ2dsZUJpdGZpZWxkIiwiYmFzZU1lc3NhZ2UiLCJjcm9zc3Bvc3RlZCIsImZsYWdzIiwiY29udGFpbnMiLCJDcm9zc3Bvc3RlZCIsInZhbHVlIiwiYWRkIiwicmVtb3ZlIiwiZXBoZW1lcmFsIiwiRXBoZW1lcmFsIiwiZmFpbGVkVG9NZW50aW9uU29tZVJvbGVzSW5UaHJlYWQiLCJGYWlsZWRUb01lbnRpb25Tb21lUm9sZXNJblRocmVhZCIsImhhc1RocmVhZCIsIkhhc1RocmVhZCIsImlzQ3Jvc3Nwb3N0IiwiSXNDcm9zc3Bvc3QiLCJsb2FkaW5nIiwiTG9hZGluZyIsIm1lbnRpb25lZFVzZXJJZHMiLCJtZW50aW9ucyIsIm1hcCIsInVzZXIiLCJpZCIsIm1lbnRpb25FdmVyeW9uZSIsImJpdGZpZWxkIiwicGlubmVkIiwic291cmNlTWVzc2FnZURlbGV0ZWQiLCJTb3VyY2VNZXNzYWdlRGVsZXRlZCIsInN1cHByZXNzRW1iZWRzIiwiU3VwcHJlc3NFbWJlZHMiLCJzdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJTdXBwcmVzc05vdGlmaWNhdGlvbnMiLCJ0aW1lc3RhbXAiLCJ0dHMiLCJ1cmdlbnQiLCJVcmdlbnQiLCJFTVBUWV9TVFJJTkciLCJ0cmFuc2Zvcm1NZXNzYWdlIiwiYm90IiwicGF5bG9hZCIsImd1aWxkSWQiLCJndWlsZF9pZCIsInRyYW5zZm9ybWVycyIsInNub3dmbGFrZSIsInVuZGVmaW5lZCIsInVzZXJJZCIsImF1dGhvciIsIm1lc3NhZ2UiLCJPYmplY3QiLCJjcmVhdGUiLCJwcm9wcyIsImRlc2lyZWRQcm9wZXJ0aWVzIiwiYXBwbGljYXRpb25faWQiLCJhcHBsaWNhdGlvbklkIiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJhdHRhY2htZW50IiwiY2hhbm5lbElkIiwiY2hhbm5lbF9pZCIsImNvbXBvbmVudHMiLCJjb21wIiwiY29tcG9uZW50IiwiY29udGVudCIsImVkaXRlZF90aW1lc3RhbXAiLCJlZGl0ZWRUaW1lc3RhbXAiLCJEYXRlIiwicGFyc2UiLCJlbWJlZHMiLCJlbWJlZCIsImludGVyYWN0aW9uIiwiZWRpdGVkIiwibWVtYmVyIiwibmFtZSIsInR5cGUiLCJtZW50aW9uX2V2ZXJ5b25lIiwibWVudGlvbmVkQ2hhbm5lbElkcyIsIm1lbnRpb25fY2hhbm5lbHMiLCJtIiwibWF0Y2giLCJ0ZXh0Iiwic3Vic3RyaW5nIiwibWVudGlvbmVkUm9sZUlkcyIsIm1lbnRpb25fcm9sZXMiLCJtZXNzYWdlX3JlZmVyZW5jZSIsInJlZmVyZW5jZSIsIm1lc3NhZ2VSZWZlcmVuY2UiLCJtZXNzYWdlSWQiLCJtZXNzYWdlX2lkIiwibm9uY2UiLCJyZWFjdGlvbnMiLCJyZWFjdGlvbiIsIm1lIiwiY291bnQiLCJlbW9qaSIsInN0aWNrZXJJdGVtcyIsInN0aWNrZXJfaXRlbXMiLCJpdGVtIiwiZm9ybWF0VHlwZSIsImZvcm1hdF90eXBlIiwidGhyZWFkIiwiY2hhbm5lbCIsIndlYmhvb2tfaWQiLCJ3ZWJob29rSWQiLCJjdXN0b21pemVycyJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EscUJBQXFCLFFBQVEsa0JBQWlCO0FBQ3ZELFNBQVNDLG9CQUFvQixRQUFrQixjQUFhO0FBQzVELFNBQVNDLFlBQVksUUFBUSxnQkFBZTtBQU81QyxTQUFTQyxjQUFjLFFBQVEsOEJBQTZCO0FBRzVELE1BQU1DLGNBQThDO0lBQ2xELElBQUlDLGVBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUNDLEtBQUssRUFBRUMsU0FBU0wsYUFBYU0sV0FBVyxLQUFLLEtBQUs7SUFDaEU7SUFDQSxJQUFJSCxhQUFZ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
|