@getflip/swirl-components 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cjs/_commonjsHelpers-a5111d61.js +44 -0
- package/dist/cjs/_commonjsHelpers-a5111d61.js.map +1 -0
- package/dist/cjs/a11y-dialog.esm-4a3287ed.js +409 -0
- package/dist/cjs/a11y-dialog.esm-4a3287ed.js.map +1 -0
- package/dist/cjs/bodyScrollLock.esm-f29f1a77.js +258 -0
- package/dist/cjs/bodyScrollLock.esm-f29f1a77.js.map +1 -0
- package/dist/cjs/flip-action-list-item.cjs.entry.js +5 -2
- package/dist/cjs/flip-action-list-item.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-action-list-section.cjs.entry.js +3 -1
- package/dist/cjs/flip-action-list-section.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-action-list.cjs.entry.js +4 -2
- package/dist/cjs/flip-action-list.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-avatar-group.cjs.entry.js +5 -2
- package/dist/cjs/flip-avatar-group.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-avatar.cjs.entry.js +5 -2
- package/dist/cjs/flip-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-badge.cjs.entry.js +5 -2
- package/dist/cjs/flip-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-banner.cjs.entry.js +5 -2
- package/dist/cjs/flip-banner.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-button-group.cjs.entry.js +3 -1
- package/dist/cjs/flip-button-group.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-button.cjs.entry.js +14 -5
- package/dist/cjs/flip-button.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-checkbox.cjs.entry.js +6 -3
- package/dist/cjs/flip-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-chip.cjs.entry.js +5 -2
- package/dist/cjs/flip-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-date-input.cjs.entry.js +6346 -0
- package/dist/cjs/flip-date-input.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-date-picker_3.cjs.entry.js +273 -0
- package/dist/cjs/flip-date-picker_3.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-description-list-item.cjs.entry.js +3 -1
- package/dist/cjs/flip-description-list-item.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-description-list.cjs.entry.js +3 -1
- package/dist/cjs/flip-description-list.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-dialog.cjs.entry.js +7 -407
- package/dist/cjs/flip-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-empty-state.cjs.entry.js +21 -0
- package/dist/cjs/flip-empty-state.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-file-uploader.cjs.entry.js +5 -2
- package/dist/cjs/flip-file-uploader.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-file-viewer-audio_6.cjs.entry.js +29846 -0
- package/dist/cjs/flip-file-viewer-audio_6.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-file-viewer.cjs.entry.js +53 -0
- package/dist/cjs/flip-file-viewer.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-form-control.cjs.entry.js +96 -0
- package/dist/cjs/flip-form-control.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-form-group.cjs.entry.js +25 -0
- package/dist/cjs/flip-form-group.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-heading.cjs.entry.js +27 -0
- package/dist/cjs/flip-heading.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-add-photo.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-add-photo.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-add.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-add.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-admin-panel-settings.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-admin-panel-settings.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-arrow-back.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-arrow-back.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-arrow-forward.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-arrow-forward.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-arrow-left.cjs.entry.js +22 -0
- package/dist/cjs/flip-icon-arrow-left.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-arrow-right-small.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-arrow-right-small.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-arrow-right.cjs.entry.js +22 -0
- package/dist/cjs/flip-icon-arrow-right.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-attachment.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-attachment.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-cancel.cjs.entry.js +22 -0
- package/dist/cjs/flip-icon-cancel.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-chat-bubble.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-chat-bubble.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-check-circle.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-check-circle.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-check-small.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-check-small.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-check-strong.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-check-strong.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-check.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-check.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-chevron-left.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-chevron-left.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-chevron-right.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-chevron-right.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-close-small.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-close-small.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-close.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-close.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-cloud-upload.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-cloud-upload.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-comment.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-comment.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-copy.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-copy.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-date-range.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-date-range.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-delete.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-delete.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-description.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-description.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-download.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-download.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-edit.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-edit.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-emoji-mood.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-emoji-mood.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-emoji-satisfied.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-emoji-satisfied.cjs.entry.js.map +1 -0
- package/dist/cjs/{flip-icon-error.cjs.entry.js → flip-icon-error_3.cjs.entry.js} +36 -1
- package/dist/cjs/flip-icon-error_3.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-expand-less_3.cjs.entry.js +50 -0
- package/dist/cjs/flip-icon-expand-less_3.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-expand-more.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-expand-more.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-file.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-file.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-folder-shared.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-folder-shared.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-fullscreen-exit.cjs.entry.js +22 -0
- package/dist/cjs/flip-icon-fullscreen-exit.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-fullscreen.cjs.entry.js +22 -0
- package/dist/cjs/flip-icon-fullscreen.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-group-assign.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-group-assign.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-groups-custom.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-groups-custom.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-groups.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-groups.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-image.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-image.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-info.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-info.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-inventory.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-inventory.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-like.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-like.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-link.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-link.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-lock.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-lock.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-logout.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-logout.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-mail.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-mail.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-manage-accounts.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-manage-accounts.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-mention.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-mention.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-message.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-message.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-more-horizontal.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-more-horizontal.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-more-vertikal.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-more-vertikal.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-notifications-active.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-notifications-active.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-notifications-off.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-notifications-off.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-notifications.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-notifications.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-open-in-new.cjs.entry.js +22 -0
- package/dist/cjs/flip-icon-open-in-new.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-people-alt.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-people-alt.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-person-off.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-person-off.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-person.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-person.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-phone.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-phone.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-poll.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-poll.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-print.cjs.entry.js +22 -0
- package/dist/cjs/flip-icon-print.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-recieved.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-recieved.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-remove.cjs.entry.js +22 -0
- package/dist/cjs/flip-icon-remove.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-search-strong.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-search-strong.cjs.entry.js.map +1 -0
- package/dist/cjs/{flip-icon-cancel_2.cjs.entry.js → flip-icon-search.cjs.entry.js} +3 -15
- package/dist/cjs/flip-icon-search.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-send.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-send.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-settings.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-settings.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-time-filled.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-time-filled.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-time-outlined.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-time-outlined.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-user-assign.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-user-assign.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-video-camera.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-video-camera.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-icon-warning.cjs.entry.js +3 -1
- package/dist/cjs/flip-icon-warning.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-link.cjs.entry.js +3 -1
- package/dist/cjs/flip-link.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-list.cjs.entry.js +27 -0
- package/dist/cjs/flip-list.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-modal.cjs.entry.js +100 -0
- package/dist/cjs/flip-modal.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-option-list-item.cjs.entry.js +44 -0
- package/dist/cjs/flip-option-list-item.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-option-list-section.cjs.entry.js +21 -0
- package/dist/cjs/flip-option-list-section.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-option-list.cjs.entry.js +176 -0
- package/dist/cjs/flip-option-list.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-pagination.cjs.entry.js +60 -0
- package/dist/cjs/flip-pagination.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-progress-indicator.cjs.entry.js +31 -0
- package/dist/cjs/flip-progress-indicator.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-radio-group.cjs.entry.js +5 -2
- package/dist/cjs/flip-radio-group.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-radio.cjs.entry.js +5 -2
- package/dist/cjs/flip-radio.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-resource-list-file-item.cjs.entry.js +6 -3
- package/dist/cjs/flip-resource-list-file-item.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-resource-list-item.cjs.entry.js +6 -3
- package/dist/cjs/flip-resource-list-item.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-resource-list.cjs.entry.js +3 -1
- package/dist/cjs/flip-resource-list.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-search.cjs.entry.js +5 -2
- package/dist/cjs/flip-search.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-stack.cjs.entry.js +5 -2
- package/dist/cjs/flip-stack.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-switch.cjs.entry.js +5 -2
- package/dist/cjs/flip-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-tab.cjs.entry.js +5 -2
- package/dist/cjs/flip-tab.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-tabs.cjs.entry.js +5 -2
- package/dist/cjs/flip-tabs.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-tag.cjs.entry.js +5 -2
- package/dist/cjs/flip-tag.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-text-input.cjs.entry.js +131 -0
- package/dist/cjs/flip-text-input.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-text.cjs.entry.js +31 -0
- package/dist/cjs/flip-text.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-theme-provider.cjs.entry.js +3 -1
- package/dist/cjs/flip-theme-provider.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-thumbnail.cjs.entry.js +5 -2
- package/dist/cjs/flip-thumbnail.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-toast-provider.cjs.entry.js +3 -1
- package/dist/cjs/flip-toast-provider.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-toast.cjs.entry.js +5 -2
- package/dist/cjs/flip-toast.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-tooltip.cjs.entry.js +3 -1
- package/dist/cjs/flip-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-video-thumbnail.cjs.entry.js +22 -0
- package/dist/cjs/flip-video-thumbnail.cjs.entry.js.map +1 -0
- package/dist/cjs/flip-visually-hidden.cjs.entry.js +3 -1
- package/dist/cjs/flip-visually-hidden.cjs.entry.js.map +1 -0
- package/dist/cjs/floating-ui.dom.esm-75453e4e.js +2 -0
- package/dist/cjs/floating-ui.dom.esm-75453e4e.js.map +1 -0
- package/dist/cjs/{index-bd89db61.js → index-72831c5f.js} +12 -0
- package/dist/cjs/index-72831c5f.js.map +1 -0
- package/dist/cjs/{index-b9715722.js → index-b8470262.js} +4 -14
- package/dist/cjs/index-b8470262.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -2
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/swirl-components.cjs.js +4 -2
- package/dist/cjs/swirl-components.cjs.js.map +1 -0
- package/dist/cjs/{utils-a6e2e7da.js → utils-9018ae5a.js} +24 -0
- package/dist/cjs/utils-9018ae5a.js.map +1 -0
- package/dist/collection/assets/images/empty-state-1.svg +84 -0
- package/dist/collection/assets/pdfjs/pdf.worker.min.js +22 -0
- package/dist/collection/collection-manifest.json +30 -0
- package/dist/collection/components/flip-action-list/flip-action-list.js +1 -0
- package/dist/collection/components/flip-action-list/flip-action-list.js.map +1 -0
- package/dist/collection/components/flip-action-list/flip-action-list.stories.js +1 -0
- package/dist/collection/components/flip-action-list/flip-action-list.stories.js.map +1 -0
- package/dist/collection/components/flip-action-list-item/flip-action-list-item.js +1 -0
- package/dist/collection/components/flip-action-list-item/flip-action-list-item.js.map +1 -0
- package/dist/collection/components/flip-action-list-item/flip-action-list-item.stories.js +1 -0
- package/dist/collection/components/flip-action-list-item/flip-action-list-item.stories.js.map +1 -0
- package/dist/collection/components/flip-action-list-section/flip-action-list-section.js +1 -0
- package/dist/collection/components/flip-action-list-section/flip-action-list-section.js.map +1 -0
- package/dist/collection/components/flip-action-list-section/flip-action-list-section.stories.js +1 -0
- package/dist/collection/components/flip-action-list-section/flip-action-list-section.stories.js.map +1 -0
- package/dist/collection/components/flip-avatar/flip-avatar.js +1 -0
- package/dist/collection/components/flip-avatar/flip-avatar.js.map +1 -0
- package/dist/collection/components/flip-avatar/flip-avatar.stories.js +1 -0
- package/dist/collection/components/flip-avatar/flip-avatar.stories.js.map +1 -0
- package/dist/collection/components/flip-avatar-group/flip-avatar-group.js +1 -0
- package/dist/collection/components/flip-avatar-group/flip-avatar-group.js.map +1 -0
- package/dist/collection/components/flip-avatar-group/flip-avatar-group.stories.js +1 -0
- package/dist/collection/components/flip-avatar-group/flip-avatar-group.stories.js.map +1 -0
- package/dist/collection/components/flip-badge/flip-badge.js +1 -0
- package/dist/collection/components/flip-badge/flip-badge.js.map +1 -0
- package/dist/collection/components/flip-badge/flip-badge.stories.js +1 -0
- package/dist/collection/components/flip-badge/flip-badge.stories.js.map +1 -0
- package/dist/collection/components/flip-banner/flip-banner.js +1 -0
- package/dist/collection/components/flip-banner/flip-banner.js.map +1 -0
- package/dist/collection/components/flip-banner/flip-banner.stories.js +1 -0
- package/dist/collection/components/flip-banner/flip-banner.stories.js.map +1 -0
- package/dist/collection/components/flip-button/flip-button.css +29 -20
- package/dist/collection/components/flip-button/flip-button.js +49 -3
- package/dist/collection/components/flip-button/flip-button.js.map +1 -0
- package/dist/collection/components/flip-button/flip-button.stories.js +1 -0
- package/dist/collection/components/flip-button/flip-button.stories.js.map +1 -0
- package/dist/collection/components/flip-button-group/flip-button-group.js +1 -0
- package/dist/collection/components/flip-button-group/flip-button-group.js.map +1 -0
- package/dist/collection/components/flip-button-group/flip-button-group.stories.js +1 -0
- package/dist/collection/components/flip-button-group/flip-button-group.stories.js.map +1 -0
- package/dist/collection/components/flip-checkbox/flip-checkbox.js +19 -1
- package/dist/collection/components/flip-checkbox/flip-checkbox.js.map +1 -0
- package/dist/collection/components/flip-checkbox/flip-checkbox.stories.js +1 -0
- package/dist/collection/components/flip-checkbox/flip-checkbox.stories.js.map +1 -0
- package/dist/collection/components/flip-chip/flip-chip.js +1 -0
- package/dist/collection/components/flip-chip/flip-chip.js.map +1 -0
- package/dist/collection/components/flip-chip/flip-chip.stories.js +1 -0
- package/dist/collection/components/flip-chip/flip-chip.stories.js.map +1 -0
- package/dist/collection/components/flip-date-input/flip-date-input.css +62 -0
- package/dist/collection/components/flip-date-input/flip-date-input.js +312 -0
- package/dist/collection/components/flip-date-input/flip-date-input.js.map +1 -0
- package/dist/collection/components/flip-date-input/flip-date-input.stories.js +32 -0
- package/dist/collection/components/flip-date-input/flip-date-input.stories.js.map +1 -0
- package/dist/collection/components/flip-date-picker/flip-date-picker.css +239 -0
- package/dist/collection/components/flip-date-picker/flip-date-picker.js +219 -0
- package/dist/collection/components/flip-date-picker/flip-date-picker.js.map +1 -0
- package/dist/collection/components/flip-date-picker/flip-date-picker.stories.js +23 -0
- package/dist/collection/components/flip-date-picker/flip-date-picker.stories.js.map +1 -0
- package/dist/collection/components/flip-description-list/flip-description-list.js +1 -0
- package/dist/collection/components/flip-description-list/flip-description-list.js.map +1 -0
- package/dist/collection/components/flip-description-list/flip-description-list.stories.js +1 -0
- package/dist/collection/components/flip-description-list/flip-description-list.stories.js.map +1 -0
- package/dist/collection/components/flip-description-list-item/flip-description-list-item.js +1 -0
- package/dist/collection/components/flip-description-list-item/flip-description-list-item.js.map +1 -0
- package/dist/collection/components/flip-description-list-item/flip-description-list-item.stories.js +1 -0
- package/dist/collection/components/flip-description-list-item/flip-description-list-item.stories.js.map +1 -0
- package/dist/collection/components/flip-dialog/flip-dialog.js +1 -0
- package/dist/collection/components/flip-dialog/flip-dialog.js.map +1 -0
- package/dist/collection/components/flip-dialog/flip-dialog.stories.js +1 -0
- package/dist/collection/components/flip-dialog/flip-dialog.stories.js.map +1 -0
- package/dist/collection/components/flip-empty-state/flip-empty-state.css +26 -0
- package/dist/collection/components/flip-empty-state/flip-empty-state.js +58 -0
- package/dist/collection/components/flip-empty-state/flip-empty-state.js.map +1 -0
- package/dist/collection/components/flip-empty-state/flip-empty-state.stories.js +26 -0
- package/dist/collection/components/flip-empty-state/flip-empty-state.stories.js.map +1 -0
- package/dist/collection/components/flip-file-uploader/flip-file-uploader.js +1 -0
- package/dist/collection/components/flip-file-uploader/flip-file-uploader.js.map +1 -0
- package/dist/collection/components/flip-file-uploader/flip-file-uploader.stories.js +1 -0
- package/dist/collection/components/flip-file-uploader/flip-file-uploader.stories.js.map +1 -0
- package/dist/collection/components/flip-file-viewer/flip-file-viewer.css +25 -0
- package/dist/collection/components/flip-file-viewer/flip-file-viewer.js +200 -0
- package/dist/collection/components/flip-file-viewer/flip-file-viewer.js.map +1 -0
- package/dist/collection/components/flip-file-viewer/flip-file-viewer.stories.js +53 -0
- package/dist/collection/components/flip-file-viewer/flip-file-viewer.stories.js.map +1 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-audio/flip-file-viewer-audio.css +14 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-audio/flip-file-viewer-audio.js +53 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-audio/flip-file-viewer-audio.js.map +1 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-csv/flip-file-viewer-csv.css +43 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-csv/flip-file-viewer-csv.js +99 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-csv/flip-file-viewer-csv.js.map +1 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-image/flip-file-viewer-image.css +31 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-image/flip-file-viewer-image.js +99 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-image/flip-file-viewer-image.js.map +1 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-pdf/flip-file-viewer-pdf.css +143 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-pdf/flip-file-viewer-pdf.js +299 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-pdf/flip-file-viewer-pdf.js.map +1 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-text/flip-file-viewer-text.css +35 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-text/flip-file-viewer-text.js +84 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-text/flip-file-viewer-text.js.map +1 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-video/flip-file-viewer-video.css +14 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-video/flip-file-viewer-video.js +53 -0
- package/dist/collection/components/flip-file-viewer/viewers/flip-file-viewer-video/flip-file-viewer-video.js.map +1 -0
- package/dist/collection/components/flip-form-control/flip-form-control.css +89 -0
- package/dist/collection/components/flip-form-control/flip-form-control.js +205 -0
- package/dist/collection/components/flip-form-control/flip-form-control.js.map +1 -0
- package/dist/collection/components/flip-form-control/flip-form-control.stories.js +43 -0
- package/dist/collection/components/flip-form-control/flip-form-control.stories.js.map +1 -0
- package/dist/collection/components/flip-form-group/flip-form-group.css +28 -0
- package/dist/collection/components/flip-form-group/flip-form-group.js +46 -0
- package/dist/collection/components/flip-form-group/flip-form-group.js.map +1 -0
- package/dist/collection/components/flip-form-group/flip-form-group.stories.js +32 -0
- package/dist/collection/components/flip-form-group/flip-form-group.stories.js.map +1 -0
- package/dist/collection/components/flip-heading/flip-heading.css +55 -0
- package/dist/collection/components/flip-heading/flip-heading.js +124 -0
- package/dist/collection/components/flip-heading/flip-heading.js.map +1 -0
- package/dist/collection/components/flip-heading/flip-heading.stories.js +20 -0
- package/dist/collection/components/flip-heading/flip-heading.stories.js.map +1 -0
- package/dist/collection/components/flip-icon/flip-icon.stories.js +1 -0
- package/dist/collection/components/flip-icon/flip-icon.stories.js.map +1 -0
- package/dist/collection/components/flip-icon/flip-icon.types.js +1 -0
- package/dist/collection/components/flip-icon/flip-icon.types.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-add-photo.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-add-photo.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-add.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-add.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-admin-panel-settings.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-admin-panel-settings.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-back.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-back.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-forward.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-forward.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-left.js +50 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-left.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-right-small.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-right-small.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-right.js +50 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-arrow-right.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-attachment.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-attachment.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-cancel.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-cancel.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-chat-bubble.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-chat-bubble.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-check-circle.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-check-circle.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-check-small.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-check-small.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-check-strong.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-check-strong.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-check.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-check.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-chevron-left.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-chevron-left.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-chevron-right.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-chevron-right.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-close-small.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-close-small.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-close.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-close.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-cloud-upload.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-cloud-upload.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-comment.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-comment.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-copy.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-copy.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-date-range.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-date-range.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-delete.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-delete.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-description.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-description.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-download.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-download.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-edit.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-edit.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-emoji-mood.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-emoji-mood.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-emoji-satisfied.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-emoji-satisfied.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-error.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-error.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-expand-less.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-expand-less.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-expand-more.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-expand-more.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-file.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-file.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-folder-shared.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-folder-shared.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-fullscreen-exit.js +50 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-fullscreen-exit.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-fullscreen.js +50 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-fullscreen.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-group-assign.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-group-assign.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-groups-custom.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-groups-custom.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-groups.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-groups.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-image.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-image.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-info.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-info.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-inventory.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-inventory.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-like.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-like.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-link.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-link.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-lock.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-lock.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-logout.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-logout.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-mail.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-mail.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-manage-accounts.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-manage-accounts.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-mention.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-mention.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-message.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-message.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-more-horizontal.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-more-horizontal.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-more-vertikal.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-more-vertikal.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-notifications-active.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-notifications-active.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-notifications-off.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-notifications-off.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-notifications.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-notifications.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-open-in-new.js +50 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-open-in-new.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-people-alt.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-people-alt.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-person-off.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-person-off.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-person.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-person.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-phone.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-phone.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-poll.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-poll.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-print.js +50 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-print.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-recieved.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-recieved.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-remove.js +50 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-remove.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-search-strong.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-search-strong.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-search.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-search.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-send.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-send.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-settings.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-settings.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-time-filled.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-time-filled.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-time-outlined.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-time-outlined.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-today.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-today.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-user-assign.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-user-assign.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-video-camera.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-video-camera.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-visibility-off.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-visibility-off.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-visibility.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-visibility.js.map +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-warning.js +1 -0
- package/dist/collection/components/flip-icon/icons/flip-icon-warning.js.map +1 -0
- package/dist/collection/components/flip-inline-error/flip-inline-error.css +4 -0
- package/dist/collection/components/flip-inline-error/flip-inline-error.js +1 -0
- package/dist/collection/components/flip-inline-error/flip-inline-error.js.map +1 -0
- package/dist/collection/components/flip-inline-error/flip-inline-error.stories.js +1 -0
- package/dist/collection/components/flip-inline-error/flip-inline-error.stories.js.map +1 -0
- package/dist/collection/components/flip-link/flip-link.js +1 -0
- package/dist/collection/components/flip-link/flip-link.js.map +1 -0
- package/dist/collection/components/flip-link/flip-link.stories.js +1 -0
- package/dist/collection/components/flip-link/flip-link.stories.js.map +1 -0
- package/dist/collection/components/flip-list/flip-list.css +59 -0
- package/dist/collection/components/flip-list/flip-list.js +22 -0
- package/dist/collection/components/flip-list/flip-list.js.map +1 -0
- package/dist/collection/components/flip-list/flip-list.stories.js +50 -0
- package/dist/collection/components/flip-list/flip-list.stories.js.map +1 -0
- package/dist/collection/components/flip-modal/flip-modal.css +238 -0
- package/dist/collection/components/flip-modal/flip-modal.js +260 -0
- package/dist/collection/components/flip-modal/flip-modal.js.map +1 -0
- package/dist/collection/components/flip-modal/flip-modal.stories.js +60 -0
- package/dist/collection/components/flip-modal/flip-modal.stories.js.map +1 -0
- package/dist/collection/components/flip-option-list/flip-option-list.css +7 -0
- package/dist/collection/components/flip-option-list/flip-option-list.js +263 -0
- package/dist/collection/components/flip-option-list/flip-option-list.js.map +1 -0
- package/dist/collection/components/flip-option-list/flip-option-list.stories.js +31 -0
- package/dist/collection/components/flip-option-list/flip-option-list.stories.js.map +1 -0
- package/dist/collection/components/flip-option-list-item/flip-option-list-item.css +115 -0
- package/dist/collection/components/flip-option-list-item/flip-option-list-item.js +156 -0
- package/dist/collection/components/flip-option-list-item/flip-option-list-item.js.map +1 -0
- package/dist/collection/components/flip-option-list-item/flip-option-list-item.stories.js +26 -0
- package/dist/collection/components/flip-option-list-item/flip-option-list-item.stories.js.map +1 -0
- package/dist/collection/components/flip-option-list-section/flip-option-list-section.css +22 -0
- package/dist/collection/components/flip-option-list-section/flip-option-list-section.js +41 -0
- package/dist/collection/components/flip-option-list-section/flip-option-list-section.js.map +1 -0
- package/dist/collection/components/flip-option-list-section/flip-option-list-section.stories.js +29 -0
- package/dist/collection/components/flip-option-list-section/flip-option-list-section.stories.js.map +1 -0
- package/dist/collection/components/flip-pagination/flip-pagination.css +72 -0
- package/dist/collection/components/flip-pagination/flip-pagination.js +270 -0
- package/dist/collection/components/flip-pagination/flip-pagination.js.map +1 -0
- package/dist/collection/components/flip-pagination/flip-pagination.stories.js +22 -0
- package/dist/collection/components/flip-pagination/flip-pagination.stories.js.map +1 -0
- package/dist/collection/components/flip-popover/flip-popover.css +1 -1
- package/dist/collection/components/flip-popover/flip-popover.js +133 -58
- package/dist/collection/components/flip-popover/flip-popover.js.map +1 -0
- package/dist/collection/components/flip-popover/flip-popover.stories.js +7 -0
- package/dist/collection/components/flip-popover/flip-popover.stories.js.map +1 -0
- package/dist/collection/components/flip-progress-indicator/flip-progress-indicator.css +110 -0
- package/dist/collection/components/flip-progress-indicator/flip-progress-indicator.js +112 -0
- package/dist/collection/components/flip-progress-indicator/flip-progress-indicator.js.map +1 -0
- package/dist/collection/components/flip-progress-indicator/flip-progress-indicator.stories.js +21 -0
- package/dist/collection/components/flip-progress-indicator/flip-progress-indicator.stories.js.map +1 -0
- package/dist/collection/components/flip-radio/flip-radio.js +1 -0
- package/dist/collection/components/flip-radio/flip-radio.js.map +1 -0
- package/dist/collection/components/flip-radio/flip-radio.stories.js +1 -0
- package/dist/collection/components/flip-radio/flip-radio.stories.js.map +1 -0
- package/dist/collection/components/flip-radio-group/flip-radio-group.js +21 -2
- package/dist/collection/components/flip-radio-group/flip-radio-group.js.map +1 -0
- package/dist/collection/components/flip-radio-group/flip-radio-group.stories.js +1 -0
- package/dist/collection/components/flip-radio-group/flip-radio-group.stories.js.map +1 -0
- package/dist/collection/components/flip-resource-list/flip-resource-list.js +1 -0
- package/dist/collection/components/flip-resource-list/flip-resource-list.js.map +1 -0
- package/dist/collection/components/flip-resource-list/flip-resource-list.stories.js +1 -0
- package/dist/collection/components/flip-resource-list/flip-resource-list.stories.js.map +1 -0
- package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.css +1 -1
- package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.js +1 -0
- package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.js.map +1 -0
- package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.stories.js +1 -0
- package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.stories.js.map +1 -0
- package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.css +1 -1
- package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.js +1 -0
- package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.js.map +1 -0
- package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.stories.js +1 -0
- package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.stories.js.map +1 -0
- package/dist/collection/components/flip-search/flip-search.js +1 -0
- package/dist/collection/components/flip-search/flip-search.js.map +1 -0
- package/dist/collection/components/flip-search/flip-search.stories.js +1 -0
- package/dist/collection/components/flip-search/flip-search.stories.js.map +1 -0
- package/dist/collection/components/flip-spinner/flip-spinner.js +1 -0
- package/dist/collection/components/flip-spinner/flip-spinner.js.map +1 -0
- package/dist/collection/components/flip-spinner/flip-spinner.stories.js +1 -0
- package/dist/collection/components/flip-spinner/flip-spinner.stories.js.map +1 -0
- package/dist/collection/components/flip-stack/flip-stack.js +1 -0
- package/dist/collection/components/flip-stack/flip-stack.js.map +1 -0
- package/dist/collection/components/flip-stack/flip-stack.stories.js +1 -0
- package/dist/collection/components/flip-stack/flip-stack.stories.js.map +1 -0
- package/dist/collection/components/flip-switch/flip-switch.js +1 -0
- package/dist/collection/components/flip-switch/flip-switch.js.map +1 -0
- package/dist/collection/components/flip-switch/flip-switch.stories.js +1 -0
- package/dist/collection/components/flip-switch/flip-switch.stories.js.map +1 -0
- package/dist/collection/components/flip-tab/flip-tab.js +1 -0
- package/dist/collection/components/flip-tab/flip-tab.js.map +1 -0
- package/dist/collection/components/flip-tab/flip-tab.stories.js +1 -0
- package/dist/collection/components/flip-tab/flip-tab.stories.js.map +1 -0
- package/dist/collection/components/flip-tabs/flip-tabs.js +1 -0
- package/dist/collection/components/flip-tabs/flip-tabs.js.map +1 -0
- package/dist/collection/components/flip-tabs/flip-tabs.stories.js +1 -0
- package/dist/collection/components/flip-tabs/flip-tabs.stories.js.map +1 -0
- package/dist/collection/components/flip-tag/flip-tag.js +1 -0
- package/dist/collection/components/flip-tag/flip-tag.js.map +1 -0
- package/dist/collection/components/flip-tag/flip-tag.stories.js +1 -0
- package/dist/collection/components/flip-tag/flip-tag.stories.js.map +1 -0
- package/dist/collection/components/flip-text/flip-text.css +83 -0
- package/dist/collection/components/flip-text/flip-text.js +158 -0
- package/dist/collection/components/flip-text/flip-text.js.map +1 -0
- package/dist/collection/components/flip-text/flip-text.stories.js +25 -0
- package/dist/collection/components/flip-text/flip-text.stories.js.map +1 -0
- package/dist/collection/components/flip-text-input/flip-text-input.css +134 -0
- package/dist/collection/components/flip-text-input/flip-text-input.js +549 -0
- package/dist/collection/components/flip-text-input/flip-text-input.js.map +1 -0
- package/dist/collection/components/flip-text-input/flip-text-input.stories.js +20 -0
- package/dist/collection/components/flip-text-input/flip-text-input.stories.js.map +1 -0
- package/dist/collection/components/flip-theme-provider/flip-theme-provider.js +1 -0
- package/dist/collection/components/flip-theme-provider/flip-theme-provider.js.map +1 -0
- package/dist/collection/components/flip-theme-provider/flip-theme-provider.stories.js +1 -0
- package/dist/collection/components/flip-theme-provider/flip-theme-provider.stories.js.map +1 -0
- package/dist/collection/components/flip-thumbnail/flip-thumbnail.js +1 -0
- package/dist/collection/components/flip-thumbnail/flip-thumbnail.js.map +1 -0
- package/dist/collection/components/flip-thumbnail/flip-thumbnail.stories.js +1 -0
- package/dist/collection/components/flip-thumbnail/flip-thumbnail.stories.js.map +1 -0
- package/dist/collection/components/flip-toast/flip-toast.js +1 -0
- package/dist/collection/components/flip-toast/flip-toast.js.map +1 -0
- package/dist/collection/components/flip-toast/flip-toast.stories.js +1 -0
- package/dist/collection/components/flip-toast/flip-toast.stories.js.map +1 -0
- package/dist/collection/components/flip-toast-provider/flip-toast-provider.js +1 -0
- package/dist/collection/components/flip-toast-provider/flip-toast-provider.js.map +1 -0
- package/dist/collection/components/flip-toast-provider/flip-toast-provider.stories.js +1 -0
- package/dist/collection/components/flip-toast-provider/flip-toast-provider.stories.js.map +1 -0
- package/dist/collection/components/flip-tooltip/flip-tooltip.js +1 -0
- package/dist/collection/components/flip-tooltip/flip-tooltip.js.map +1 -0
- package/dist/collection/components/flip-tooltip/flip-tooltip.stories.js +1 -0
- package/dist/collection/components/flip-tooltip/flip-tooltip.stories.js.map +1 -0
- package/dist/collection/components/flip-video-thumbnail/flip-video-thumbnail.css +68 -0
- package/dist/collection/components/flip-video-thumbnail/flip-video-thumbnail.js +96 -0
- package/dist/collection/components/flip-video-thumbnail/flip-video-thumbnail.js.map +1 -0
- package/dist/collection/components/flip-video-thumbnail/flip-video-thumbnail.stories.js +22 -0
- package/dist/collection/components/flip-video-thumbnail/flip-video-thumbnail.stories.js.map +1 -0
- package/dist/collection/components/flip-visually-hidden/flip-visually-hidden.js +1 -0
- package/dist/collection/components/flip-visually-hidden/flip-visually-hidden.js.map +1 -0
- package/dist/collection/components/flip-visually-hidden/flip-visually-hidden.stories.js +1 -0
- package/dist/collection/components/flip-visually-hidden/flip-visually-hidden.stories.js.map +1 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/utils.js +21 -0
- package/dist/collection/utils.js.map +1 -0
- package/dist/components/_commonjsHelpers.js +38 -0
- package/dist/components/_commonjsHelpers.js.map +1 -0
- package/dist/components/a11y-dialog.esm.js +407 -0
- package/dist/components/a11y-dialog.esm.js.map +1 -0
- package/dist/components/assets/fonts/Inter.var.woff2 +0 -0
- package/dist/components/assets/images/empty-state-1.svg +84 -0
- package/dist/components/assets/pdfjs/pdf.worker.min.js +22 -0
- package/dist/components/bodyScrollLock.esm.js +255 -0
- package/dist/components/bodyScrollLock.esm.js.map +1 -0
- package/dist/components/flip-action-list-item.js +2 -0
- package/dist/components/flip-action-list-item.js.map +1 -0
- package/dist/components/flip-action-list-section.js +2 -0
- package/dist/components/flip-action-list-section.js.map +1 -0
- package/dist/components/flip-action-list.js +2 -0
- package/dist/components/flip-action-list.js.map +1 -0
- package/dist/components/flip-avatar-group.js +2 -0
- package/dist/components/flip-avatar-group.js.map +1 -0
- package/dist/components/flip-avatar.js +2 -0
- package/dist/components/flip-avatar.js.map +1 -0
- package/dist/components/flip-badge.js +2 -0
- package/dist/components/flip-badge.js.map +1 -0
- package/dist/components/flip-banner.js +2 -0
- package/dist/components/flip-banner.js.map +1 -0
- package/dist/components/flip-button-group.js +2 -0
- package/dist/components/flip-button-group.js.map +1 -0
- package/dist/components/flip-button-group2.js +2 -0
- package/dist/components/flip-button-group2.js.map +1 -0
- package/dist/components/flip-button.js +2 -0
- package/dist/components/flip-button.js.map +1 -0
- package/dist/components/flip-button2.js +13 -3
- package/dist/components/flip-button2.js.map +1 -0
- package/dist/components/flip-checkbox.js +4 -1
- package/dist/components/flip-checkbox.js.map +1 -0
- package/dist/components/flip-chip.js +2 -0
- package/dist/components/flip-chip.js.map +1 -0
- package/dist/components/flip-date-input.d.ts +11 -0
- package/dist/components/flip-date-input.js +6390 -0
- package/dist/components/flip-date-input.js.map +1 -0
- package/dist/components/flip-date-picker.d.ts +11 -0
- package/dist/components/flip-date-picker.js +8 -0
- package/dist/components/flip-date-picker.js.map +1 -0
- package/dist/components/flip-date-picker2.js +118 -0
- package/dist/components/flip-date-picker2.js.map +1 -0
- package/dist/components/flip-description-list-item.js +2 -0
- package/dist/components/flip-description-list-item.js.map +1 -0
- package/dist/components/flip-description-list.js +2 -0
- package/dist/components/flip-description-list.js.map +1 -0
- package/dist/components/flip-dialog.js +3 -404
- package/dist/components/flip-dialog.js.map +1 -0
- package/dist/components/flip-empty-state.d.ts +11 -0
- package/dist/components/flip-empty-state.js +51 -0
- package/dist/components/flip-empty-state.js.map +1 -0
- package/dist/components/flip-file-uploader.js +2 -0
- package/dist/components/flip-file-uploader.js.map +1 -0
- package/dist/components/flip-file-viewer-audio.d.ts +11 -0
- package/dist/components/flip-file-viewer-audio.js +8 -0
- package/dist/components/flip-file-viewer-audio.js.map +1 -0
- package/dist/components/flip-file-viewer-audio2.js +36 -0
- package/dist/components/flip-file-viewer-audio2.js.map +1 -0
- package/dist/components/flip-file-viewer-csv.d.ts +11 -0
- package/dist/components/flip-file-viewer-csv.js +8 -0
- package/dist/components/flip-file-viewer-csv.js.map +1 -0
- package/dist/components/flip-file-viewer-csv2.js +106 -0
- package/dist/components/flip-file-viewer-csv2.js.map +1 -0
- package/dist/components/flip-file-viewer-image.d.ts +11 -0
- package/dist/components/flip-file-viewer-image.js +8 -0
- package/dist/components/flip-file-viewer-image.js.map +1 -0
- package/dist/components/flip-file-viewer-image2.js +81 -0
- package/dist/components/flip-file-viewer-image2.js.map +1 -0
- package/dist/components/flip-file-viewer-pdf.d.ts +11 -0
- package/dist/components/flip-file-viewer-pdf.js +8 -0
- package/dist/components/flip-file-viewer-pdf.js.map +1 -0
- package/dist/components/flip-file-viewer-pdf2.js +29746 -0
- package/dist/components/flip-file-viewer-pdf2.js.map +1 -0
- package/dist/components/flip-file-viewer-text.d.ts +11 -0
- package/dist/components/flip-file-viewer-text.js +8 -0
- package/dist/components/flip-file-viewer-text.js.map +1 -0
- package/dist/components/flip-file-viewer-text2.js +83 -0
- package/dist/components/flip-file-viewer-text2.js.map +1 -0
- package/dist/components/flip-file-viewer-video.d.ts +11 -0
- package/dist/components/flip-file-viewer-video.js +8 -0
- package/dist/components/flip-file-viewer-video.js.map +1 -0
- package/dist/components/flip-file-viewer-video2.js +36 -0
- package/dist/components/flip-file-viewer-video2.js.map +1 -0
- package/dist/components/flip-file-viewer.d.ts +11 -0
- package/dist/components/flip-file-viewer.js +137 -0
- package/dist/components/flip-file-viewer.js.map +1 -0
- package/dist/components/flip-form-control.d.ts +11 -0
- package/dist/components/flip-form-control.js +129 -0
- package/dist/components/flip-form-control.js.map +1 -0
- package/dist/components/flip-form-group.d.ts +11 -0
- package/dist/components/flip-form-group.js +40 -0
- package/dist/components/flip-form-group.js.map +1 -0
- package/dist/components/flip-heading.d.ts +11 -0
- package/dist/components/flip-heading.js +8 -0
- package/dist/components/flip-heading.js.map +1 -0
- package/dist/components/flip-heading2.js +44 -0
- package/dist/components/flip-heading2.js.map +1 -0
- package/dist/components/flip-icon-add-photo.js +2 -0
- package/dist/components/flip-icon-add-photo.js.map +1 -0
- package/dist/components/flip-icon-add.js +2 -0
- package/dist/components/flip-icon-add.js.map +1 -0
- package/dist/components/flip-icon-admin-panel-settings.js +2 -0
- package/dist/components/flip-icon-admin-panel-settings.js.map +1 -0
- package/dist/components/flip-icon-arrow-back.js +2 -0
- package/dist/components/flip-icon-arrow-back.js.map +1 -0
- package/dist/components/flip-icon-arrow-forward.js +2 -0
- package/dist/components/flip-icon-arrow-forward.js.map +1 -0
- package/dist/components/flip-icon-arrow-left.d.ts +11 -0
- package/dist/components/flip-icon-arrow-left.js +39 -0
- package/dist/components/flip-icon-arrow-left.js.map +1 -0
- package/dist/components/flip-icon-arrow-right-small.js +2 -0
- package/dist/components/flip-icon-arrow-right-small.js.map +1 -0
- package/dist/components/flip-icon-arrow-right.d.ts +11 -0
- package/dist/components/flip-icon-arrow-right.js +39 -0
- package/dist/components/flip-icon-arrow-right.js.map +1 -0
- package/dist/components/flip-icon-attachment.js +2 -0
- package/dist/components/flip-icon-attachment.js.map +1 -0
- package/dist/components/flip-icon-cancel.js +2 -0
- package/dist/components/flip-icon-cancel.js.map +1 -0
- package/dist/components/flip-icon-cancel2.js +2 -0
- package/dist/components/flip-icon-cancel2.js.map +1 -0
- package/dist/components/flip-icon-chat-bubble.js +2 -0
- package/dist/components/flip-icon-chat-bubble.js.map +1 -0
- package/dist/components/flip-icon-check-circle.js +2 -0
- package/dist/components/flip-icon-check-circle.js.map +1 -0
- package/dist/components/flip-icon-check-small.js +3 -32
- package/dist/components/flip-icon-check-small.js.map +1 -0
- package/dist/components/flip-icon-check-small2.js +36 -0
- package/dist/components/flip-icon-check-small2.js.map +1 -0
- package/dist/components/flip-icon-check-strong.js +2 -0
- package/dist/components/flip-icon-check-strong.js.map +1 -0
- package/dist/components/flip-icon-check-strong2.js +2 -0
- package/dist/components/flip-icon-check-strong2.js.map +1 -0
- package/dist/components/flip-icon-check.js +2 -0
- package/dist/components/flip-icon-check.js.map +1 -0
- package/dist/components/flip-icon-chevron-left.js +2 -0
- package/dist/components/flip-icon-chevron-left.js.map +1 -0
- package/dist/components/flip-icon-chevron-right.js +2 -0
- package/dist/components/flip-icon-chevron-right.js.map +1 -0
- package/dist/components/flip-icon-close-small.js +2 -0
- package/dist/components/flip-icon-close-small.js.map +1 -0
- package/dist/components/flip-icon-close.js +2 -0
- package/dist/components/flip-icon-close.js.map +1 -0
- package/dist/components/flip-icon-close2.js +2 -0
- package/dist/components/flip-icon-close2.js.map +1 -0
- package/dist/components/flip-icon-cloud-upload.js +2 -0
- package/dist/components/flip-icon-cloud-upload.js.map +1 -0
- package/dist/components/flip-icon-cloud-upload2.js +2 -0
- package/dist/components/flip-icon-cloud-upload2.js.map +1 -0
- package/dist/components/flip-icon-comment.js +2 -0
- package/dist/components/flip-icon-comment.js.map +1 -0
- package/dist/components/flip-icon-copy.js +2 -0
- package/dist/components/flip-icon-copy.js.map +1 -0
- package/dist/components/flip-icon-date-range.js +2 -0
- package/dist/components/flip-icon-date-range.js.map +1 -0
- package/dist/components/flip-icon-delete.js +2 -0
- package/dist/components/flip-icon-delete.js.map +1 -0
- package/dist/components/flip-icon-description.js +2 -0
- package/dist/components/flip-icon-description.js.map +1 -0
- package/dist/components/flip-icon-download.js +2 -0
- package/dist/components/flip-icon-download.js.map +1 -0
- package/dist/components/flip-icon-edit.js +2 -0
- package/dist/components/flip-icon-edit.js.map +1 -0
- package/dist/components/flip-icon-emoji-mood.js +2 -0
- package/dist/components/flip-icon-emoji-mood.js.map +1 -0
- package/dist/components/flip-icon-emoji-satisfied.js +2 -0
- package/dist/components/flip-icon-emoji-satisfied.js.map +1 -0
- package/dist/components/flip-icon-error.js +2 -0
- package/dist/components/flip-icon-error.js.map +1 -0
- package/dist/components/flip-icon-error2.js +2 -0
- package/dist/components/flip-icon-error2.js.map +1 -0
- package/dist/components/flip-icon-expand-less.js +3 -32
- package/dist/components/flip-icon-expand-less.js.map +1 -0
- package/dist/{esm/flip-icon-expand-less.entry.js → components/flip-icon-expand-less2.js} +27 -7
- package/dist/components/flip-icon-expand-less2.js.map +1 -0
- package/dist/components/flip-icon-expand-more.js +3 -32
- package/dist/components/flip-icon-expand-more.js.map +1 -0
- package/dist/components/flip-icon-expand-more2.js +36 -0
- package/dist/components/flip-icon-expand-more2.js.map +1 -0
- package/dist/components/flip-icon-file.js +2 -0
- package/dist/components/flip-icon-file.js.map +1 -0
- package/dist/components/flip-icon-folder-shared.js +2 -0
- package/dist/components/flip-icon-folder-shared.js.map +1 -0
- package/dist/components/flip-icon-fullscreen-exit.d.ts +11 -0
- package/dist/components/flip-icon-fullscreen-exit.js +39 -0
- package/dist/components/flip-icon-fullscreen-exit.js.map +1 -0
- package/dist/components/flip-icon-fullscreen.d.ts +11 -0
- package/dist/components/flip-icon-fullscreen.js +39 -0
- package/dist/components/flip-icon-fullscreen.js.map +1 -0
- package/dist/components/flip-icon-group-assign.js +2 -0
- package/dist/components/flip-icon-group-assign.js.map +1 -0
- package/dist/components/flip-icon-groups-custom.js +2 -0
- package/dist/components/flip-icon-groups-custom.js.map +1 -0
- package/dist/components/flip-icon-groups.js +2 -0
- package/dist/components/flip-icon-groups.js.map +1 -0
- package/dist/components/flip-icon-image.js +2 -0
- package/dist/components/flip-icon-image.js.map +1 -0
- package/dist/components/flip-icon-info.js +2 -0
- package/dist/components/flip-icon-info.js.map +1 -0
- package/dist/components/flip-icon-inventory.js +2 -0
- package/dist/components/flip-icon-inventory.js.map +1 -0
- package/dist/components/flip-icon-like.js +2 -0
- package/dist/components/flip-icon-like.js.map +1 -0
- package/dist/components/flip-icon-link.js +2 -0
- package/dist/components/flip-icon-link.js.map +1 -0
- package/dist/components/flip-icon-lock.js +2 -0
- package/dist/components/flip-icon-lock.js.map +1 -0
- package/dist/components/flip-icon-logout.js +2 -0
- package/dist/components/flip-icon-logout.js.map +1 -0
- package/dist/components/flip-icon-mail.js +2 -0
- package/dist/components/flip-icon-mail.js.map +1 -0
- package/dist/components/flip-icon-manage-accounts.js +2 -0
- package/dist/components/flip-icon-manage-accounts.js.map +1 -0
- package/dist/components/flip-icon-mention.js +2 -0
- package/dist/components/flip-icon-mention.js.map +1 -0
- package/dist/components/flip-icon-message.js +2 -0
- package/dist/components/flip-icon-message.js.map +1 -0
- package/dist/components/flip-icon-more-horizontal.js +2 -0
- package/dist/components/flip-icon-more-horizontal.js.map +1 -0
- package/dist/components/flip-icon-more-vertikal.js +2 -0
- package/dist/components/flip-icon-more-vertikal.js.map +1 -0
- package/dist/components/flip-icon-notifications-active.js +2 -0
- package/dist/components/flip-icon-notifications-active.js.map +1 -0
- package/dist/components/flip-icon-notifications-off.js +2 -0
- package/dist/components/flip-icon-notifications-off.js.map +1 -0
- package/dist/components/flip-icon-notifications.js +2 -0
- package/dist/components/flip-icon-notifications.js.map +1 -0
- package/dist/components/flip-icon-open-in-new.d.ts +11 -0
- package/dist/components/flip-icon-open-in-new.js +39 -0
- package/dist/components/flip-icon-open-in-new.js.map +1 -0
- package/dist/components/flip-icon-people-alt.js +2 -0
- package/dist/components/flip-icon-people-alt.js.map +1 -0
- package/dist/components/flip-icon-person-off.js +2 -0
- package/dist/components/flip-icon-person-off.js.map +1 -0
- package/dist/components/flip-icon-person.js +2 -0
- package/dist/components/flip-icon-person.js.map +1 -0
- package/dist/components/flip-icon-person2.js +2 -0
- package/dist/components/flip-icon-person2.js.map +1 -0
- package/dist/components/flip-icon-phone.js +2 -0
- package/dist/components/flip-icon-phone.js.map +1 -0
- package/dist/components/flip-icon-poll.js +2 -0
- package/dist/components/flip-icon-poll.js.map +1 -0
- package/dist/components/flip-icon-print.d.ts +11 -0
- package/dist/components/flip-icon-print.js +39 -0
- package/dist/components/flip-icon-print.js.map +1 -0
- package/dist/components/flip-icon-recieved.js +2 -0
- package/dist/components/flip-icon-recieved.js.map +1 -0
- package/dist/components/flip-icon-remove.d.ts +11 -0
- package/dist/components/flip-icon-remove.js +39 -0
- package/dist/components/flip-icon-remove.js.map +1 -0
- package/dist/components/flip-icon-search-strong.js +2 -0
- package/dist/components/flip-icon-search-strong.js.map +1 -0
- package/dist/components/flip-icon-search.js +2 -0
- package/dist/components/flip-icon-search.js.map +1 -0
- package/dist/components/flip-icon-search2.js +2 -0
- package/dist/components/flip-icon-search2.js.map +1 -0
- package/dist/components/flip-icon-send.js +2 -0
- package/dist/components/flip-icon-send.js.map +1 -0
- package/dist/components/flip-icon-settings.js +2 -0
- package/dist/components/flip-icon-settings.js.map +1 -0
- package/dist/components/flip-icon-time-filled.js +2 -0
- package/dist/components/flip-icon-time-filled.js.map +1 -0
- package/dist/components/flip-icon-time-outlined.js +2 -0
- package/dist/components/flip-icon-time-outlined.js.map +1 -0
- package/dist/components/flip-icon-today.js +3 -32
- package/dist/components/flip-icon-today.js.map +1 -0
- package/dist/{esm/flip-icon-today.entry.js → components/flip-icon-today2.js} +27 -7
- package/dist/components/flip-icon-today2.js.map +1 -0
- package/dist/components/flip-icon-user-assign.js +2 -0
- package/dist/components/flip-icon-user-assign.js.map +1 -0
- package/dist/components/flip-icon-video-camera.js +2 -0
- package/dist/components/flip-icon-video-camera.js.map +1 -0
- package/dist/components/flip-icon-visibility-off.js +3 -32
- package/dist/components/flip-icon-visibility-off.js.map +1 -0
- package/dist/{esm/flip-icon-visibility-off.entry.js → components/flip-icon-visibility-off2.js} +27 -7
- package/dist/components/flip-icon-visibility-off2.js.map +1 -0
- package/dist/components/flip-icon-visibility.js +3 -32
- package/dist/components/flip-icon-visibility.js.map +1 -0
- package/dist/{esm/flip-icon-visibility.entry.js → components/flip-icon-visibility2.js} +27 -7
- package/dist/components/flip-icon-visibility2.js.map +1 -0
- package/dist/components/flip-icon-warning.js +2 -0
- package/dist/components/flip-icon-warning.js.map +1 -0
- package/dist/components/flip-inline-error.js +2 -0
- package/dist/components/flip-inline-error.js.map +1 -0
- package/dist/components/flip-inline-error2.js +3 -1
- package/dist/components/flip-inline-error2.js.map +1 -0
- package/dist/components/flip-link.js +2 -0
- package/dist/components/flip-link.js.map +1 -0
- package/dist/components/flip-list.d.ts +11 -0
- package/dist/components/flip-list.js +41 -0
- package/dist/components/flip-list.js.map +1 -0
- package/dist/components/flip-modal.d.ts +11 -0
- package/dist/components/flip-modal.js +147 -0
- package/dist/components/flip-modal.js.map +1 -0
- package/dist/components/flip-option-list-item.d.ts +11 -0
- package/dist/components/flip-option-list-item.js +77 -0
- package/dist/components/flip-option-list-item.js.map +1 -0
- package/dist/components/flip-option-list-section.d.ts +11 -0
- package/dist/components/flip-option-list-section.js +38 -0
- package/dist/components/flip-option-list-section.js.map +1 -0
- package/dist/components/flip-option-list.d.ts +11 -0
- package/dist/components/flip-option-list.js +196 -0
- package/dist/components/flip-option-list.js.map +1 -0
- package/dist/components/flip-pagination.d.ts +11 -0
- package/dist/components/flip-pagination.js +103 -0
- package/dist/components/flip-pagination.js.map +1 -0
- package/dist/components/flip-popover.js +3 -426
- package/dist/components/flip-popover.js.map +1 -0
- package/dist/components/flip-popover2.js +190 -0
- package/dist/components/flip-popover2.js.map +1 -0
- package/dist/components/flip-progress-indicator.d.ts +11 -0
- package/dist/components/flip-progress-indicator.js +50 -0
- package/dist/components/flip-progress-indicator.js.map +1 -0
- package/dist/components/flip-radio-group.js +6 -2
- package/dist/components/flip-radio-group.js.map +1 -0
- package/dist/components/flip-radio.js +2 -0
- package/dist/components/flip-radio.js.map +1 -0
- package/dist/components/flip-resource-list-file-item.js +3 -1
- package/dist/components/flip-resource-list-file-item.js.map +1 -0
- package/dist/components/flip-resource-list-item.js +3 -1
- package/dist/components/flip-resource-list-item.js.map +1 -0
- package/dist/components/flip-resource-list.js +2 -0
- package/dist/components/flip-resource-list.js.map +1 -0
- package/dist/components/flip-search.js +2 -0
- package/dist/components/flip-search.js.map +1 -0
- package/dist/components/flip-spinner.js +2 -0
- package/dist/components/flip-spinner.js.map +1 -0
- package/dist/components/flip-spinner2.js +2 -0
- package/dist/components/flip-spinner2.js.map +1 -0
- package/dist/components/flip-stack.js +2 -0
- package/dist/components/flip-stack.js.map +1 -0
- package/dist/components/flip-stack2.js +2 -0
- package/dist/components/flip-stack2.js.map +1 -0
- package/dist/components/flip-switch.js +2 -0
- package/dist/components/flip-switch.js.map +1 -0
- package/dist/components/flip-tab.js +2 -0
- package/dist/components/flip-tab.js.map +1 -0
- package/dist/components/flip-tabs.js +2 -0
- package/dist/components/flip-tabs.js.map +1 -0
- package/dist/components/flip-tag.js +2 -0
- package/dist/components/flip-tag.js.map +1 -0
- package/dist/components/flip-text-input.d.ts +11 -0
- package/dist/components/flip-text-input.js +198 -0
- package/dist/components/flip-text-input.js.map +1 -0
- package/dist/components/flip-text.d.ts +11 -0
- package/dist/components/flip-text.js +8 -0
- package/dist/components/flip-text.js.map +1 -0
- package/dist/components/flip-text2.js +49 -0
- package/dist/components/flip-text2.js.map +1 -0
- package/dist/components/flip-theme-provider.js +2 -0
- package/dist/components/flip-theme-provider.js.map +1 -0
- package/dist/components/flip-thumbnail.js +2 -0
- package/dist/components/flip-thumbnail.js.map +1 -0
- package/dist/components/flip-toast-provider.js +2 -0
- package/dist/components/flip-toast-provider.js.map +1 -0
- package/dist/components/flip-toast.js +2 -0
- package/dist/components/flip-toast.js.map +1 -0
- package/dist/components/flip-toast2.js +2 -0
- package/dist/components/flip-toast2.js.map +1 -0
- package/dist/components/flip-tooltip.js +2 -0
- package/dist/components/flip-tooltip.js.map +1 -0
- package/dist/components/flip-video-thumbnail.d.ts +11 -0
- package/dist/components/flip-video-thumbnail.js +48 -0
- package/dist/components/flip-video-thumbnail.js.map +1 -0
- package/dist/components/flip-visually-hidden.js +2 -0
- package/dist/components/flip-visually-hidden.js.map +1 -0
- package/dist/components/flip-visually-hidden2.js +2 -0
- package/dist/components/flip-visually-hidden2.js.map +1 -0
- package/dist/components/floating-ui.dom.esm.js +2 -0
- package/dist/components/floating-ui.dom.esm.js.map +1 -0
- package/dist/components/index.d.ts +30 -0
- package/dist/components/index.js +32 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index2.js +3 -13
- package/dist/components/index2.js.map +1 -0
- package/dist/components/utils.js +23 -1
- package/dist/components/utils.js.map +1 -0
- package/dist/esm/_commonjsHelpers-44457d8d.js +38 -0
- package/dist/esm/_commonjsHelpers-44457d8d.js.map +1 -0
- package/dist/esm/a11y-dialog.esm-d7a94c8c.js +407 -0
- package/dist/esm/a11y-dialog.esm-d7a94c8c.js.map +1 -0
- package/dist/esm/bodyScrollLock.esm-ce6356d8.js +255 -0
- package/dist/esm/bodyScrollLock.esm-ce6356d8.js.map +1 -0
- package/dist/esm/flip-action-list-item.entry.js +5 -2
- package/dist/esm/flip-action-list-item.entry.js.map +1 -0
- package/dist/esm/flip-action-list-section.entry.js +3 -1
- package/dist/esm/flip-action-list-section.entry.js.map +1 -0
- package/dist/esm/flip-action-list.entry.js +4 -2
- package/dist/esm/flip-action-list.entry.js.map +1 -0
- package/dist/esm/flip-avatar-group.entry.js +5 -2
- package/dist/esm/flip-avatar-group.entry.js.map +1 -0
- package/dist/esm/flip-avatar.entry.js +5 -2
- package/dist/esm/flip-avatar.entry.js.map +1 -0
- package/dist/esm/flip-badge.entry.js +5 -2
- package/dist/esm/flip-badge.entry.js.map +1 -0
- package/dist/esm/flip-banner.entry.js +5 -2
- package/dist/esm/flip-banner.entry.js.map +1 -0
- package/dist/esm/flip-button-group.entry.js +3 -1
- package/dist/esm/flip-button-group.entry.js.map +1 -0
- package/dist/esm/flip-button.entry.js +14 -5
- package/dist/esm/flip-button.entry.js.map +1 -0
- package/dist/esm/flip-checkbox.entry.js +6 -3
- package/dist/esm/flip-checkbox.entry.js.map +1 -0
- package/dist/esm/flip-chip.entry.js +5 -2
- package/dist/esm/flip-chip.entry.js.map +1 -0
- package/dist/esm/flip-date-input.entry.js +6342 -0
- package/dist/esm/flip-date-input.entry.js.map +1 -0
- package/dist/esm/flip-date-picker_3.entry.js +267 -0
- package/dist/esm/flip-date-picker_3.entry.js.map +1 -0
- package/dist/esm/flip-description-list-item.entry.js +3 -1
- package/dist/esm/flip-description-list-item.entry.js.map +1 -0
- package/dist/esm/flip-description-list.entry.js +3 -1
- package/dist/esm/flip-description-list.entry.js.map +1 -0
- package/dist/esm/flip-dialog.entry.js +6 -406
- package/dist/esm/flip-dialog.entry.js.map +1 -0
- package/dist/esm/flip-empty-state.entry.js +17 -0
- package/dist/esm/flip-empty-state.entry.js.map +1 -0
- package/dist/esm/flip-file-uploader.entry.js +5 -2
- package/dist/esm/flip-file-uploader.entry.js.map +1 -0
- package/dist/esm/flip-file-viewer-audio_6.entry.js +29837 -0
- package/dist/esm/flip-file-viewer-audio_6.entry.js.map +1 -0
- package/dist/esm/flip-file-viewer.entry.js +49 -0
- package/dist/esm/flip-file-viewer.entry.js.map +1 -0
- package/dist/esm/flip-form-control.entry.js +92 -0
- package/dist/esm/flip-form-control.entry.js.map +1 -0
- package/dist/esm/flip-form-group.entry.js +21 -0
- package/dist/esm/flip-form-group.entry.js.map +1 -0
- package/dist/esm/flip-heading.entry.js +23 -0
- package/dist/esm/flip-heading.entry.js.map +1 -0
- package/dist/esm/flip-icon-add-photo.entry.js +3 -1
- package/dist/esm/flip-icon-add-photo.entry.js.map +1 -0
- package/dist/esm/flip-icon-add.entry.js +3 -1
- package/dist/esm/flip-icon-add.entry.js.map +1 -0
- package/dist/esm/flip-icon-admin-panel-settings.entry.js +3 -1
- package/dist/esm/flip-icon-admin-panel-settings.entry.js.map +1 -0
- package/dist/esm/flip-icon-arrow-back.entry.js +3 -1
- package/dist/esm/flip-icon-arrow-back.entry.js.map +1 -0
- package/dist/esm/flip-icon-arrow-forward.entry.js +3 -1
- package/dist/esm/flip-icon-arrow-forward.entry.js.map +1 -0
- package/dist/esm/flip-icon-arrow-left.entry.js +18 -0
- package/dist/esm/flip-icon-arrow-left.entry.js.map +1 -0
- package/dist/esm/flip-icon-arrow-right-small.entry.js +3 -1
- package/dist/esm/flip-icon-arrow-right-small.entry.js.map +1 -0
- package/dist/esm/flip-icon-arrow-right.entry.js +18 -0
- package/dist/esm/flip-icon-arrow-right.entry.js.map +1 -0
- package/dist/esm/flip-icon-attachment.entry.js +3 -1
- package/dist/esm/flip-icon-attachment.entry.js.map +1 -0
- package/dist/esm/flip-icon-cancel.entry.js +18 -0
- package/dist/esm/flip-icon-cancel.entry.js.map +1 -0
- package/dist/esm/flip-icon-chat-bubble.entry.js +3 -1
- package/dist/esm/flip-icon-chat-bubble.entry.js.map +1 -0
- package/dist/esm/flip-icon-check-circle.entry.js +3 -1
- package/dist/esm/flip-icon-check-circle.entry.js.map +1 -0
- package/dist/esm/flip-icon-check-small.entry.js +3 -1
- package/dist/esm/flip-icon-check-small.entry.js.map +1 -0
- package/dist/esm/flip-icon-check-strong.entry.js +3 -1
- package/dist/esm/flip-icon-check-strong.entry.js.map +1 -0
- package/dist/esm/flip-icon-check.entry.js +3 -1
- package/dist/esm/flip-icon-check.entry.js.map +1 -0
- package/dist/esm/flip-icon-chevron-left.entry.js +3 -1
- package/dist/esm/flip-icon-chevron-left.entry.js.map +1 -0
- package/dist/esm/flip-icon-chevron-right.entry.js +3 -1
- package/dist/esm/flip-icon-chevron-right.entry.js.map +1 -0
- package/dist/esm/flip-icon-close-small.entry.js +3 -1
- package/dist/esm/flip-icon-close-small.entry.js.map +1 -0
- package/dist/esm/flip-icon-close.entry.js +3 -1
- package/dist/esm/flip-icon-close.entry.js.map +1 -0
- package/dist/esm/flip-icon-cloud-upload.entry.js +3 -1
- package/dist/esm/flip-icon-cloud-upload.entry.js.map +1 -0
- package/dist/esm/flip-icon-comment.entry.js +3 -1
- package/dist/esm/flip-icon-comment.entry.js.map +1 -0
- package/dist/esm/flip-icon-copy.entry.js +3 -1
- package/dist/esm/flip-icon-copy.entry.js.map +1 -0
- package/dist/esm/flip-icon-date-range.entry.js +3 -1
- package/dist/esm/flip-icon-date-range.entry.js.map +1 -0
- package/dist/esm/flip-icon-delete.entry.js +3 -1
- package/dist/esm/flip-icon-delete.entry.js.map +1 -0
- package/dist/esm/flip-icon-description.entry.js +3 -1
- package/dist/esm/flip-icon-description.entry.js.map +1 -0
- package/dist/esm/flip-icon-download.entry.js +3 -1
- package/dist/esm/flip-icon-download.entry.js.map +1 -0
- package/dist/esm/flip-icon-edit.entry.js +3 -1
- package/dist/esm/flip-icon-edit.entry.js.map +1 -0
- package/dist/esm/flip-icon-emoji-mood.entry.js +3 -1
- package/dist/esm/flip-icon-emoji-mood.entry.js.map +1 -0
- package/dist/esm/flip-icon-emoji-satisfied.entry.js +3 -1
- package/dist/esm/flip-icon-emoji-satisfied.entry.js.map +1 -0
- package/dist/esm/{flip-icon-error.entry.js → flip-icon-error_3.entry.js} +35 -2
- package/dist/esm/flip-icon-error_3.entry.js.map +1 -0
- package/dist/esm/flip-icon-expand-less_3.entry.js +44 -0
- package/dist/esm/flip-icon-expand-less_3.entry.js.map +1 -0
- package/dist/esm/flip-icon-expand-more.entry.js +3 -1
- package/dist/esm/flip-icon-expand-more.entry.js.map +1 -0
- package/dist/esm/flip-icon-file.entry.js +3 -1
- package/dist/esm/flip-icon-file.entry.js.map +1 -0
- package/dist/esm/flip-icon-folder-shared.entry.js +3 -1
- package/dist/esm/flip-icon-folder-shared.entry.js.map +1 -0
- package/dist/esm/flip-icon-fullscreen-exit.entry.js +18 -0
- package/dist/esm/flip-icon-fullscreen-exit.entry.js.map +1 -0
- package/dist/esm/flip-icon-fullscreen.entry.js +18 -0
- package/dist/esm/flip-icon-fullscreen.entry.js.map +1 -0
- package/dist/esm/flip-icon-group-assign.entry.js +3 -1
- package/dist/esm/flip-icon-group-assign.entry.js.map +1 -0
- package/dist/esm/flip-icon-groups-custom.entry.js +3 -1
- package/dist/esm/flip-icon-groups-custom.entry.js.map +1 -0
- package/dist/esm/flip-icon-groups.entry.js +3 -1
- package/dist/esm/flip-icon-groups.entry.js.map +1 -0
- package/dist/esm/flip-icon-image.entry.js +3 -1
- package/dist/esm/flip-icon-image.entry.js.map +1 -0
- package/dist/esm/flip-icon-info.entry.js +3 -1
- package/dist/esm/flip-icon-info.entry.js.map +1 -0
- package/dist/esm/flip-icon-inventory.entry.js +3 -1
- package/dist/esm/flip-icon-inventory.entry.js.map +1 -0
- package/dist/esm/flip-icon-like.entry.js +3 -1
- package/dist/esm/flip-icon-like.entry.js.map +1 -0
- package/dist/esm/flip-icon-link.entry.js +3 -1
- package/dist/esm/flip-icon-link.entry.js.map +1 -0
- package/dist/esm/flip-icon-lock.entry.js +3 -1
- package/dist/esm/flip-icon-lock.entry.js.map +1 -0
- package/dist/esm/flip-icon-logout.entry.js +3 -1
- package/dist/esm/flip-icon-logout.entry.js.map +1 -0
- package/dist/esm/flip-icon-mail.entry.js +3 -1
- package/dist/esm/flip-icon-mail.entry.js.map +1 -0
- package/dist/esm/flip-icon-manage-accounts.entry.js +3 -1
- package/dist/esm/flip-icon-manage-accounts.entry.js.map +1 -0
- package/dist/esm/flip-icon-mention.entry.js +3 -1
- package/dist/esm/flip-icon-mention.entry.js.map +1 -0
- package/dist/esm/flip-icon-message.entry.js +3 -1
- package/dist/esm/flip-icon-message.entry.js.map +1 -0
- package/dist/esm/flip-icon-more-horizontal.entry.js +3 -1
- package/dist/esm/flip-icon-more-horizontal.entry.js.map +1 -0
- package/dist/esm/flip-icon-more-vertikal.entry.js +3 -1
- package/dist/esm/flip-icon-more-vertikal.entry.js.map +1 -0
- package/dist/esm/flip-icon-notifications-active.entry.js +3 -1
- package/dist/esm/flip-icon-notifications-active.entry.js.map +1 -0
- package/dist/esm/flip-icon-notifications-off.entry.js +3 -1
- package/dist/esm/flip-icon-notifications-off.entry.js.map +1 -0
- package/dist/esm/flip-icon-notifications.entry.js +3 -1
- package/dist/esm/flip-icon-notifications.entry.js.map +1 -0
- package/dist/esm/flip-icon-open-in-new.entry.js +18 -0
- package/dist/esm/flip-icon-open-in-new.entry.js.map +1 -0
- package/dist/esm/flip-icon-people-alt.entry.js +3 -1
- package/dist/esm/flip-icon-people-alt.entry.js.map +1 -0
- package/dist/esm/flip-icon-person-off.entry.js +3 -1
- package/dist/esm/flip-icon-person-off.entry.js.map +1 -0
- package/dist/esm/flip-icon-person.entry.js +3 -1
- package/dist/esm/flip-icon-person.entry.js.map +1 -0
- package/dist/esm/flip-icon-phone.entry.js +3 -1
- package/dist/esm/flip-icon-phone.entry.js.map +1 -0
- package/dist/esm/flip-icon-poll.entry.js +3 -1
- package/dist/esm/flip-icon-poll.entry.js.map +1 -0
- package/dist/esm/flip-icon-print.entry.js +18 -0
- package/dist/esm/flip-icon-print.entry.js.map +1 -0
- package/dist/esm/flip-icon-recieved.entry.js +3 -1
- package/dist/esm/flip-icon-recieved.entry.js.map +1 -0
- package/dist/esm/flip-icon-remove.entry.js +18 -0
- package/dist/esm/flip-icon-remove.entry.js.map +1 -0
- package/dist/esm/flip-icon-search-strong.entry.js +3 -1
- package/dist/esm/flip-icon-search-strong.entry.js.map +1 -0
- package/dist/esm/{flip-icon-cancel_2.entry.js → flip-icon-search.entry.js} +4 -15
- package/dist/esm/flip-icon-search.entry.js.map +1 -0
- package/dist/esm/flip-icon-send.entry.js +3 -1
- package/dist/esm/flip-icon-send.entry.js.map +1 -0
- package/dist/esm/flip-icon-settings.entry.js +3 -1
- package/dist/esm/flip-icon-settings.entry.js.map +1 -0
- package/dist/esm/flip-icon-time-filled.entry.js +3 -1
- package/dist/esm/flip-icon-time-filled.entry.js.map +1 -0
- package/dist/esm/flip-icon-time-outlined.entry.js +3 -1
- package/dist/esm/flip-icon-time-outlined.entry.js.map +1 -0
- package/dist/esm/flip-icon-user-assign.entry.js +3 -1
- package/dist/esm/flip-icon-user-assign.entry.js.map +1 -0
- package/dist/esm/flip-icon-video-camera.entry.js +3 -1
- package/dist/esm/flip-icon-video-camera.entry.js.map +1 -0
- package/dist/esm/flip-icon-warning.entry.js +3 -1
- package/dist/esm/flip-icon-warning.entry.js.map +1 -0
- package/dist/esm/flip-link.entry.js +3 -1
- package/dist/esm/flip-link.entry.js.map +1 -0
- package/dist/esm/flip-list.entry.js +23 -0
- package/dist/esm/flip-list.entry.js.map +1 -0
- package/dist/esm/flip-modal.entry.js +96 -0
- package/dist/esm/flip-modal.entry.js.map +1 -0
- package/dist/esm/flip-option-list-item.entry.js +40 -0
- package/dist/esm/flip-option-list-item.entry.js.map +1 -0
- package/dist/esm/flip-option-list-section.entry.js +17 -0
- package/dist/esm/flip-option-list-section.entry.js.map +1 -0
- package/dist/esm/flip-option-list.entry.js +172 -0
- package/dist/esm/flip-option-list.entry.js.map +1 -0
- package/dist/esm/flip-pagination.entry.js +56 -0
- package/dist/esm/flip-pagination.entry.js.map +1 -0
- package/dist/esm/flip-progress-indicator.entry.js +27 -0
- package/dist/esm/flip-progress-indicator.entry.js.map +1 -0
- package/dist/esm/flip-radio-group.entry.js +5 -2
- package/dist/esm/flip-radio-group.entry.js.map +1 -0
- package/dist/esm/flip-radio.entry.js +5 -2
- package/dist/esm/flip-radio.entry.js.map +1 -0
- package/dist/esm/flip-resource-list-file-item.entry.js +6 -3
- package/dist/esm/flip-resource-list-file-item.entry.js.map +1 -0
- package/dist/esm/flip-resource-list-item.entry.js +6 -3
- package/dist/esm/flip-resource-list-item.entry.js.map +1 -0
- package/dist/esm/flip-resource-list.entry.js +3 -1
- package/dist/esm/flip-resource-list.entry.js.map +1 -0
- package/dist/esm/flip-search.entry.js +5 -2
- package/dist/esm/flip-search.entry.js.map +1 -0
- package/dist/esm/flip-stack.entry.js +5 -2
- package/dist/esm/flip-stack.entry.js.map +1 -0
- package/dist/esm/flip-switch.entry.js +5 -2
- package/dist/esm/flip-switch.entry.js.map +1 -0
- package/dist/esm/flip-tab.entry.js +5 -2
- package/dist/esm/flip-tab.entry.js.map +1 -0
- package/dist/esm/flip-tabs.entry.js +5 -2
- package/dist/esm/flip-tabs.entry.js.map +1 -0
- package/dist/esm/flip-tag.entry.js +5 -2
- package/dist/esm/flip-tag.entry.js.map +1 -0
- package/dist/esm/flip-text-input.entry.js +127 -0
- package/dist/esm/flip-text-input.entry.js.map +1 -0
- package/dist/esm/flip-text.entry.js +27 -0
- package/dist/esm/flip-text.entry.js.map +1 -0
- package/dist/esm/flip-theme-provider.entry.js +3 -1
- package/dist/esm/flip-theme-provider.entry.js.map +1 -0
- package/dist/esm/flip-thumbnail.entry.js +5 -2
- package/dist/esm/flip-thumbnail.entry.js.map +1 -0
- package/dist/esm/flip-toast-provider.entry.js +3 -1
- package/dist/esm/flip-toast-provider.entry.js.map +1 -0
- package/dist/esm/flip-toast.entry.js +5 -2
- package/dist/esm/flip-toast.entry.js.map +1 -0
- package/dist/esm/flip-tooltip.entry.js +3 -1
- package/dist/esm/flip-tooltip.entry.js.map +1 -0
- package/dist/esm/flip-video-thumbnail.entry.js +18 -0
- package/dist/esm/flip-video-thumbnail.entry.js.map +1 -0
- package/dist/esm/flip-visually-hidden.entry.js +3 -1
- package/dist/esm/flip-visually-hidden.entry.js.map +1 -0
- package/dist/esm/floating-ui.dom.esm-1a4e8b8a.js +2 -0
- package/dist/esm/floating-ui.dom.esm-1a4e8b8a.js.map +1 -0
- package/dist/esm/{index-64709274.js → index-5a3b2828.js} +12 -0
- package/dist/esm/index-5a3b2828.js.map +1 -0
- package/dist/esm/{index-3c78bcaf.js → index-6d2e18c6.js} +3 -13
- package/dist/esm/index-6d2e18c6.js.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +4 -2
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/swirl-components.js +4 -2
- package/dist/esm/swirl-components.js.map +1 -0
- package/dist/esm/{utils-03e3261c.js → utils-b46bcd4f.js} +23 -1
- package/dist/esm/utils-b46bcd4f.js.map +1 -0
- package/dist/swirl-components/index.esm.js +2 -0
- package/dist/swirl-components/index.esm.js.map +1 -0
- package/dist/swirl-components/p-007f95ee.entry.js +2 -0
- package/dist/swirl-components/p-007f95ee.entry.js.map +1 -0
- package/dist/swirl-components/p-0451e162.entry.js +2 -0
- package/dist/swirl-components/p-0451e162.entry.js.map +1 -0
- package/dist/swirl-components/p-06a08b17.entry.js +2 -0
- package/dist/swirl-components/p-06a08b17.entry.js.map +1 -0
- package/dist/swirl-components/p-07a6fb8d.entry.js +2 -0
- package/dist/swirl-components/p-07a6fb8d.entry.js.map +1 -0
- package/dist/swirl-components/p-0910764d.entry.js +2 -0
- package/dist/swirl-components/p-0910764d.entry.js.map +1 -0
- package/dist/swirl-components/p-0ec41a20.entry.js +2 -0
- package/dist/swirl-components/p-0ec41a20.entry.js.map +1 -0
- package/dist/swirl-components/p-145cbe40.entry.js +2 -0
- package/dist/swirl-components/p-145cbe40.entry.js.map +1 -0
- package/dist/swirl-components/p-14f3d186.entry.js +2 -0
- package/dist/swirl-components/p-14f3d186.entry.js.map +1 -0
- package/dist/swirl-components/p-1532009a.entry.js +2 -0
- package/dist/swirl-components/p-1532009a.entry.js.map +1 -0
- package/dist/swirl-components/p-1615f06a.entry.js +2 -0
- package/dist/swirl-components/p-1615f06a.entry.js.map +1 -0
- package/dist/swirl-components/p-18907d81.entry.js +2 -0
- package/dist/swirl-components/p-18907d81.entry.js.map +1 -0
- package/dist/swirl-components/p-1a83e52b.entry.js +2 -0
- package/dist/swirl-components/p-1a83e52b.entry.js.map +1 -0
- package/dist/swirl-components/p-1b3618ba.entry.js +2 -0
- package/dist/swirl-components/p-1b3618ba.entry.js.map +1 -0
- package/dist/swirl-components/p-1ce21c3d.entry.js +2 -0
- package/dist/swirl-components/p-1ce21c3d.entry.js.map +1 -0
- package/dist/swirl-components/p-1d0f08a7.entry.js +2 -0
- package/dist/swirl-components/p-1d0f08a7.entry.js.map +1 -0
- package/dist/swirl-components/p-1e359667.entry.js +2 -0
- package/dist/swirl-components/p-1e359667.entry.js.map +1 -0
- package/dist/swirl-components/p-20b873b9.entry.js +2 -0
- package/dist/swirl-components/p-20b873b9.entry.js.map +1 -0
- package/dist/swirl-components/p-255928e2.entry.js +2 -0
- package/dist/swirl-components/p-255928e2.entry.js.map +1 -0
- package/dist/swirl-components/p-273b12eb.entry.js +2 -0
- package/dist/swirl-components/p-273b12eb.entry.js.map +1 -0
- package/dist/swirl-components/p-28a2cbcc.entry.js +2 -0
- package/dist/swirl-components/p-28a2cbcc.entry.js.map +1 -0
- package/dist/swirl-components/p-29fb94ed.entry.js +2 -0
- package/dist/swirl-components/p-29fb94ed.entry.js.map +1 -0
- package/dist/swirl-components/p-2a658a2a.entry.js +2 -0
- package/dist/swirl-components/p-2a658a2a.entry.js.map +1 -0
- package/dist/swirl-components/p-2d0ea946.entry.js +2 -0
- package/dist/swirl-components/p-2d0ea946.entry.js.map +1 -0
- package/dist/swirl-components/p-2fe3467e.entry.js +2 -0
- package/dist/swirl-components/p-2fe3467e.entry.js.map +1 -0
- package/dist/swirl-components/p-3198a76c.entry.js +2 -0
- package/dist/swirl-components/p-3198a76c.entry.js.map +1 -0
- package/dist/swirl-components/p-33c168b3.js +2 -0
- package/dist/swirl-components/p-33c168b3.js.map +1 -0
- package/dist/swirl-components/p-371b1a2c.entry.js +2 -0
- package/dist/swirl-components/p-371b1a2c.entry.js.map +1 -0
- package/dist/swirl-components/p-3811b0fa.entry.js +2 -0
- package/dist/swirl-components/p-3811b0fa.entry.js.map +1 -0
- package/dist/swirl-components/p-38858f11.entry.js +2 -0
- package/dist/swirl-components/p-38858f11.entry.js.map +1 -0
- package/dist/swirl-components/p-398e23f9.entry.js +2 -0
- package/dist/swirl-components/p-398e23f9.entry.js.map +1 -0
- package/dist/swirl-components/p-3e280bcc.entry.js +2 -0
- package/dist/swirl-components/p-3e280bcc.entry.js.map +1 -0
- package/dist/swirl-components/p-3e8f2f68.entry.js +2 -0
- package/dist/swirl-components/p-3e8f2f68.entry.js.map +1 -0
- package/dist/swirl-components/p-3ee3b0f1.entry.js +2 -0
- package/dist/swirl-components/p-3ee3b0f1.entry.js.map +1 -0
- package/dist/swirl-components/p-40fc6fe4.entry.js +2 -0
- package/dist/swirl-components/p-40fc6fe4.entry.js.map +1 -0
- package/dist/swirl-components/p-474152de.entry.js +2 -0
- package/dist/swirl-components/p-474152de.entry.js.map +1 -0
- package/dist/swirl-components/p-49164cd3.entry.js +2 -0
- package/dist/swirl-components/p-49164cd3.entry.js.map +1 -0
- package/dist/swirl-components/p-4aafa158.entry.js +2 -0
- package/dist/swirl-components/p-4aafa158.entry.js.map +1 -0
- package/dist/swirl-components/p-4eca48df.entry.js +2 -0
- package/dist/swirl-components/p-4eca48df.entry.js.map +1 -0
- package/dist/swirl-components/p-51ddfdd9.entry.js +2 -0
- package/dist/swirl-components/p-51ddfdd9.entry.js.map +1 -0
- package/dist/swirl-components/p-529bace4.entry.js +2 -0
- package/dist/swirl-components/p-529bace4.entry.js.map +1 -0
- package/dist/swirl-components/p-56ef8ac1.entry.js +2 -0
- package/dist/swirl-components/p-56ef8ac1.entry.js.map +1 -0
- package/dist/swirl-components/p-5a5563e8.entry.js +2 -0
- package/dist/swirl-components/p-5a5563e8.entry.js.map +1 -0
- package/dist/swirl-components/p-5b9293e1.entry.js +2 -0
- package/dist/swirl-components/p-5b9293e1.entry.js.map +1 -0
- package/dist/swirl-components/p-60f42bad.entry.js +2 -0
- package/dist/swirl-components/p-60f42bad.entry.js.map +1 -0
- package/dist/swirl-components/p-6102997c.entry.js +2 -0
- package/dist/swirl-components/p-6102997c.entry.js.map +1 -0
- package/dist/swirl-components/p-61837fe6.entry.js +2 -0
- package/dist/swirl-components/p-61837fe6.entry.js.map +1 -0
- package/dist/swirl-components/p-63f8727a.entry.js +2 -0
- package/dist/swirl-components/p-63f8727a.entry.js.map +1 -0
- package/dist/swirl-components/p-6815d003.entry.js +2 -0
- package/dist/swirl-components/p-6815d003.entry.js.map +1 -0
- package/dist/swirl-components/p-6905e516.entry.js +2 -0
- package/dist/swirl-components/p-6905e516.entry.js.map +1 -0
- package/dist/swirl-components/p-692cb3d7.entry.js +2 -0
- package/dist/swirl-components/p-692cb3d7.entry.js.map +1 -0
- package/dist/swirl-components/p-6951f6b5.entry.js +2 -0
- package/dist/swirl-components/p-6951f6b5.entry.js.map +1 -0
- package/dist/swirl-components/p-69b28c34.entry.js +2 -0
- package/dist/swirl-components/p-69b28c34.entry.js.map +1 -0
- package/dist/swirl-components/p-6d726022.entry.js +2 -0
- package/dist/swirl-components/p-6d726022.entry.js.map +1 -0
- package/dist/swirl-components/p-6f8a880e.entry.js +2 -0
- package/dist/swirl-components/p-6f8a880e.entry.js.map +1 -0
- package/dist/swirl-components/p-7195e888.entry.js +2 -0
- package/dist/swirl-components/p-7195e888.entry.js.map +1 -0
- package/dist/swirl-components/p-74410d92.entry.js +2 -0
- package/dist/swirl-components/p-74410d92.entry.js.map +1 -0
- package/dist/swirl-components/p-746aeb58.entry.js +2 -0
- package/dist/swirl-components/p-746aeb58.entry.js.map +1 -0
- package/dist/swirl-components/p-7a27674f.entry.js +2 -0
- package/dist/swirl-components/p-7a27674f.entry.js.map +1 -0
- package/dist/swirl-components/p-7b005d11.entry.js +2 -0
- package/dist/swirl-components/p-7b005d11.entry.js.map +1 -0
- package/dist/swirl-components/p-7be386e9.entry.js +2 -0
- package/dist/swirl-components/p-7be386e9.entry.js.map +1 -0
- package/dist/swirl-components/p-7c20748f.entry.js +2 -0
- package/dist/swirl-components/p-7c20748f.entry.js.map +1 -0
- package/dist/swirl-components/p-7cb473a7.entry.js +2 -0
- package/dist/swirl-components/p-7cb473a7.entry.js.map +1 -0
- package/dist/swirl-components/p-7e09aa84.entry.js +2 -0
- package/dist/swirl-components/p-7e09aa84.entry.js.map +1 -0
- package/dist/swirl-components/p-7e910c66.entry.js +2 -0
- package/dist/swirl-components/p-7e910c66.entry.js.map +1 -0
- package/dist/swirl-components/p-7f44e4e5.entry.js +2 -0
- package/dist/swirl-components/p-7f44e4e5.entry.js.map +1 -0
- package/dist/swirl-components/p-86bd3473.js +2 -0
- package/dist/swirl-components/p-86bd3473.js.map +1 -0
- package/dist/swirl-components/p-8f0b69d9.entry.js +2 -0
- package/dist/swirl-components/p-8f0b69d9.entry.js.map +1 -0
- package/dist/swirl-components/p-8f2c874f.entry.js +2 -0
- package/dist/swirl-components/p-8f2c874f.entry.js.map +1 -0
- package/dist/swirl-components/p-8fbc43e0.entry.js +2 -0
- package/dist/swirl-components/p-8fbc43e0.entry.js.map +1 -0
- package/dist/swirl-components/p-91ccf392.entry.js +2 -0
- package/dist/swirl-components/p-91ccf392.entry.js.map +1 -0
- package/dist/swirl-components/p-91cd33f9.entry.js +2 -0
- package/dist/swirl-components/p-91cd33f9.entry.js.map +1 -0
- package/dist/swirl-components/p-93e9967d.entry.js +2 -0
- package/dist/swirl-components/p-93e9967d.entry.js.map +1 -0
- package/dist/swirl-components/p-98742487.entry.js +2 -0
- package/dist/swirl-components/p-98742487.entry.js.map +1 -0
- package/dist/swirl-components/p-9a64167d.entry.js +2 -0
- package/dist/swirl-components/p-9a64167d.entry.js.map +1 -0
- package/dist/swirl-components/p-9fe00e8a.js +3 -0
- package/dist/swirl-components/p-9fe00e8a.js.map +1 -0
- package/dist/swirl-components/p-9ffa5f69.entry.js +2 -0
- package/dist/swirl-components/p-9ffa5f69.entry.js.map +1 -0
- package/dist/swirl-components/p-a8a262d0.entry.js +2 -0
- package/dist/swirl-components/p-a8a262d0.entry.js.map +1 -0
- package/dist/swirl-components/p-ac82b22b.entry.js +2 -0
- package/dist/swirl-components/p-ac82b22b.entry.js.map +1 -0
- package/dist/swirl-components/p-acf876ee.entry.js +2 -0
- package/dist/swirl-components/p-acf876ee.entry.js.map +1 -0
- package/dist/swirl-components/p-ae41416c.entry.js +2 -0
- package/dist/swirl-components/p-ae41416c.entry.js.map +1 -0
- package/dist/swirl-components/p-b65aec9d.entry.js +2 -0
- package/dist/swirl-components/p-b65aec9d.entry.js.map +1 -0
- package/dist/swirl-components/p-b70fc602.entry.js +2 -0
- package/dist/swirl-components/p-b70fc602.entry.js.map +1 -0
- package/dist/swirl-components/p-ba42f38f.entry.js +8 -0
- package/dist/swirl-components/p-ba42f38f.entry.js.map +1 -0
- package/dist/swirl-components/p-bada1dda.entry.js +2 -0
- package/dist/swirl-components/p-bada1dda.entry.js.map +1 -0
- package/dist/swirl-components/p-bc8e3118.entry.js +2 -0
- package/dist/swirl-components/p-bc8e3118.entry.js.map +1 -0
- package/dist/swirl-components/p-bc94ecde.entry.js +2 -0
- package/dist/swirl-components/p-bc94ecde.entry.js.map +1 -0
- package/dist/swirl-components/p-be841358.entry.js +2 -0
- package/dist/swirl-components/p-be841358.entry.js.map +1 -0
- package/dist/swirl-components/p-c358ead4.entry.js +2 -0
- package/dist/swirl-components/p-c358ead4.entry.js.map +1 -0
- package/dist/swirl-components/p-c3d0c15c.entry.js +2 -0
- package/dist/swirl-components/p-c3d0c15c.entry.js.map +1 -0
- package/dist/swirl-components/p-c4c5a7ca.entry.js +37 -0
- package/dist/swirl-components/p-c4c5a7ca.entry.js.map +1 -0
- package/dist/swirl-components/p-c51429d8.entry.js +2 -0
- package/dist/swirl-components/p-c51429d8.entry.js.map +1 -0
- package/dist/swirl-components/p-c53844c3.entry.js +2 -0
- package/dist/swirl-components/p-c53844c3.entry.js.map +1 -0
- package/dist/swirl-components/p-c54d8c6b.entry.js +2 -0
- package/dist/swirl-components/p-c54d8c6b.entry.js.map +1 -0
- package/dist/swirl-components/p-c581470b.entry.js +2 -0
- package/dist/swirl-components/p-c581470b.entry.js.map +1 -0
- package/dist/swirl-components/p-c647dda5.entry.js +2 -0
- package/dist/swirl-components/p-c647dda5.entry.js.map +1 -0
- package/dist/swirl-components/p-c8db8af8.entry.js +2 -0
- package/dist/swirl-components/p-c8db8af8.entry.js.map +1 -0
- package/dist/swirl-components/p-c9f5b33a.entry.js +2 -0
- package/dist/swirl-components/p-c9f5b33a.entry.js.map +1 -0
- package/dist/swirl-components/p-d0ed422d.entry.js +2 -0
- package/dist/swirl-components/p-d0ed422d.entry.js.map +1 -0
- package/dist/swirl-components/p-d46b7ba1.entry.js +2 -0
- package/dist/swirl-components/p-d46b7ba1.entry.js.map +1 -0
- package/dist/swirl-components/p-d5531bf9.entry.js +2 -0
- package/dist/swirl-components/p-d5531bf9.entry.js.map +1 -0
- package/dist/swirl-components/p-d5d58f2c.entry.js +2 -0
- package/dist/swirl-components/p-d5d58f2c.entry.js.map +1 -0
- package/dist/swirl-components/p-d5ea52db.entry.js +2 -0
- package/dist/swirl-components/p-d5ea52db.entry.js.map +1 -0
- package/dist/swirl-components/p-d73f438f.entry.js +2 -0
- package/dist/swirl-components/p-d73f438f.entry.js.map +1 -0
- package/dist/swirl-components/p-d929e16f.entry.js +2 -0
- package/dist/swirl-components/p-d929e16f.entry.js.map +1 -0
- package/dist/swirl-components/p-d9b3b617.entry.js +2 -0
- package/dist/swirl-components/p-d9b3b617.entry.js.map +1 -0
- package/dist/swirl-components/p-d9ba3385.entry.js +2 -0
- package/dist/swirl-components/p-d9ba3385.entry.js.map +1 -0
- package/dist/swirl-components/p-db7b3635.js +2 -0
- package/dist/swirl-components/p-db7b3635.js.map +1 -0
- package/dist/swirl-components/p-db96b899.entry.js +2 -0
- package/dist/swirl-components/p-db96b899.entry.js.map +1 -0
- package/dist/swirl-components/p-dc96f0c7.entry.js +2 -0
- package/dist/swirl-components/p-dc96f0c7.entry.js.map +1 -0
- package/dist/swirl-components/p-df2717e0.entry.js +2 -0
- package/dist/swirl-components/p-df2717e0.entry.js.map +1 -0
- package/dist/swirl-components/p-df639805.entry.js +2 -0
- package/dist/swirl-components/p-df639805.entry.js.map +1 -0
- package/dist/swirl-components/p-dfd81ceb.entry.js +2 -0
- package/dist/swirl-components/p-dfd81ceb.entry.js.map +1 -0
- package/dist/swirl-components/p-e1debe08.entry.js +2 -0
- package/dist/swirl-components/p-e1debe08.entry.js.map +1 -0
- package/dist/swirl-components/p-e26fa086.entry.js +2 -0
- package/dist/swirl-components/p-e26fa086.entry.js.map +1 -0
- package/dist/swirl-components/p-e2b79291.entry.js +2 -0
- package/dist/swirl-components/p-e2b79291.entry.js.map +1 -0
- package/dist/swirl-components/p-e76cc701.entry.js +2 -0
- package/dist/swirl-components/p-e76cc701.entry.js.map +1 -0
- package/dist/swirl-components/p-e8bb09e8.js +2 -1
- package/dist/swirl-components/p-e8bb09e8.js.map +1 -0
- package/dist/swirl-components/p-eafa3930.entry.js +2 -0
- package/dist/swirl-components/p-eafa3930.entry.js.map +1 -0
- package/dist/swirl-components/p-efffd297.js +8 -0
- package/dist/swirl-components/p-efffd297.js.map +1 -0
- package/dist/swirl-components/p-f20f0c23.entry.js +2 -0
- package/dist/swirl-components/p-f20f0c23.entry.js.map +1 -0
- package/dist/swirl-components/p-f29a486f.entry.js +2 -0
- package/dist/swirl-components/p-f29a486f.entry.js.map +1 -0
- package/dist/swirl-components/p-f4fb9e2a.entry.js +2 -0
- package/dist/swirl-components/p-f4fb9e2a.entry.js.map +1 -0
- package/dist/swirl-components/p-f5737404.entry.js +2 -0
- package/dist/swirl-components/p-f5737404.entry.js.map +1 -0
- package/dist/swirl-components/p-f577590f.entry.js +2 -0
- package/dist/swirl-components/p-f577590f.entry.js.map +1 -0
- package/dist/swirl-components/p-f9c75666.entry.js +2 -0
- package/dist/swirl-components/p-f9c75666.entry.js.map +1 -0
- package/dist/swirl-components/p-fa75bf89.entry.js +2 -0
- package/dist/swirl-components/p-fa75bf89.entry.js.map +1 -0
- package/dist/swirl-components/p-fbd99e40.entry.js +2 -0
- package/dist/swirl-components/p-fbd99e40.entry.js.map +1 -0
- package/dist/swirl-components/p-fbff69cd.entry.js +2 -0
- package/dist/swirl-components/p-fbff69cd.entry.js.map +1 -0
- package/dist/swirl-components/p-fd4addce.entry.js +2 -0
- package/dist/swirl-components/p-fd4addce.entry.js.map +1 -0
- package/dist/swirl-components/p-fe0b5250.js +2 -0
- package/dist/swirl-components/p-fe0b5250.js.map +1 -0
- package/dist/swirl-components/p-fefffb34.entry.js +2 -0
- package/dist/swirl-components/p-fefffb34.entry.js.map +1 -0
- package/dist/swirl-components/swirl-components.css +1 -1
- package/dist/swirl-components/swirl-components.esm.js +2 -1
- package/dist/swirl-components/swirl-components.esm.js.map +1 -0
- package/dist/types/components/flip-button/flip-button.d.ts +3 -0
- package/dist/types/components/flip-checkbox/flip-checkbox.d.ts +1 -0
- package/dist/types/components/flip-date-input/flip-date-input.d.ts +31 -0
- package/dist/types/components/flip-date-input/flip-date-input.stories.d.ts +29 -0
- package/dist/types/components/flip-date-picker/flip-date-picker.d.ts +19 -0
- package/dist/types/components/flip-date-picker/flip-date-picker.stories.d.ts +20 -0
- package/dist/types/components/flip-empty-state/flip-empty-state.d.ts +5 -0
- package/dist/types/components/flip-empty-state/flip-empty-state.stories.d.ts +13 -0
- package/dist/types/components/flip-file-viewer/flip-file-viewer.d.ts +19 -0
- package/dist/types/components/flip-file-viewer/flip-file-viewer.stories.d.ts +26 -0
- package/dist/types/components/flip-file-viewer/viewers/flip-file-viewer-audio/flip-file-viewer-audio.d.ts +5 -0
- package/dist/types/components/flip-file-viewer/viewers/flip-file-viewer-csv/flip-file-viewer-csv.d.ts +10 -0
- package/dist/types/components/flip-file-viewer/viewers/flip-file-viewer-image/flip-file-viewer-image.d.ts +11 -0
- package/dist/types/components/flip-file-viewer/viewers/flip-file-viewer-pdf/flip-file-viewer-pdf.d.ts +32 -0
- package/dist/types/components/flip-file-viewer/viewers/flip-file-viewer-text/flip-file-viewer-text.d.ts +10 -0
- package/dist/types/components/flip-file-viewer/viewers/flip-file-viewer-video/flip-file-viewer-video.d.ts +5 -0
- package/dist/types/components/flip-form-control/flip-form-control.d.ts +25 -0
- package/dist/types/components/flip-form-control/flip-form-control.stories.d.ts +13 -0
- package/dist/types/components/flip-form-group/flip-form-group.d.ts +5 -0
- package/dist/types/components/flip-form-group/flip-form-group.stories.d.ts +13 -0
- package/dist/types/components/flip-heading/flip-heading.d.ts +11 -0
- package/dist/types/components/flip-heading/flip-heading.stories.d.ts +13 -0
- package/dist/types/components/flip-icon/icons/flip-icon-arrow-left.d.ts +5 -0
- package/dist/types/components/flip-icon/icons/flip-icon-arrow-right.d.ts +5 -0
- package/dist/types/components/flip-icon/icons/flip-icon-fullscreen-exit.d.ts +5 -0
- package/dist/types/components/flip-icon/icons/flip-icon-fullscreen.d.ts +5 -0
- package/dist/types/components/flip-icon/icons/flip-icon-open-in-new.d.ts +5 -0
- package/dist/types/components/flip-icon/icons/flip-icon-print.d.ts +5 -0
- package/dist/types/components/flip-icon/icons/flip-icon-remove.d.ts +5 -0
- package/dist/types/components/flip-list/flip-list.d.ts +5 -0
- package/dist/types/components/flip-list/flip-list.stories.d.ts +13 -0
- package/dist/types/components/flip-modal/flip-modal.d.ts +34 -0
- package/dist/types/components/flip-modal/flip-modal.stories.d.ts +16 -0
- package/dist/types/components/flip-option-list/flip-option-list.d.ts +30 -0
- package/dist/types/components/flip-option-list/flip-option-list.stories.d.ts +13 -0
- package/dist/types/components/flip-option-list-item/flip-option-list-item.d.ts +13 -0
- package/dist/types/components/flip-option-list-item/flip-option-list-item.stories.d.ts +13 -0
- package/dist/types/components/flip-option-list-section/flip-option-list-section.d.ts +7 -0
- package/dist/types/components/flip-option-list-section/flip-option-list-section.stories.d.ts +13 -0
- package/dist/types/components/flip-pagination/flip-pagination.d.ts +19 -0
- package/dist/types/components/flip-pagination/flip-pagination.stories.d.ts +13 -0
- package/dist/types/components/flip-popover/flip-popover.d.ts +15 -6
- package/dist/types/components/flip-progress-indicator/flip-progress-indicator.d.ts +9 -0
- package/dist/types/components/flip-progress-indicator/flip-progress-indicator.stories.d.ts +13 -0
- package/dist/types/components/flip-radio-group/flip-radio-group.d.ts +1 -0
- package/dist/types/components/flip-text/flip-text.d.ts +14 -0
- package/dist/types/components/flip-text/flip-text.stories.d.ts +13 -0
- package/dist/types/components/flip-text-input/flip-text-input.d.ts +43 -0
- package/dist/types/components/flip-text-input/flip-text-input.stories.d.ts +13 -0
- package/dist/types/components/flip-video-thumbnail/flip-video-thumbnail.d.ts +7 -0
- package/dist/types/components/flip-video-thumbnail/flip-video-thumbnail.stories.d.ts +13 -0
- package/dist/types/components.d.ts +709 -1
- package/dist/types/utils.d.ts +3 -1
- package/package.json +13 -5
- package/vscode-data.json +991 -6
- package/dist/cjs/flip-icon-expand-less.cjs.entry.js +0 -20
- package/dist/cjs/flip-icon-today.cjs.entry.js +0 -20
- package/dist/cjs/flip-icon-visibility-off.cjs.entry.js +0 -20
- package/dist/cjs/flip-icon-visibility.cjs.entry.js +0 -20
- package/dist/cjs/flip-inline-error_2.cjs.entry.js +0 -38
- package/dist/cjs/flip-popover.cjs.entry.js +0 -409
- package/dist/esm/flip-inline-error_2.entry.js +0 -33
- package/dist/esm/flip-popover.entry.js +0 -405
- package/dist/swirl-components/p-0b197bc2.entry.js +0 -1
- package/dist/swirl-components/p-0bd72823.entry.js +0 -1
- package/dist/swirl-components/p-0f72be83.entry.js +0 -1
- package/dist/swirl-components/p-0fd19b1e.entry.js +0 -1
- package/dist/swirl-components/p-118f9dbc.entry.js +0 -1
- package/dist/swirl-components/p-14404622.entry.js +0 -1
- package/dist/swirl-components/p-14a71662.entry.js +0 -1
- package/dist/swirl-components/p-150885c6.entry.js +0 -1
- package/dist/swirl-components/p-1b14d1f8.entry.js +0 -1
- package/dist/swirl-components/p-294bc0f5.entry.js +0 -1
- package/dist/swirl-components/p-29f4348a.entry.js +0 -1
- package/dist/swirl-components/p-2b183dbd.entry.js +0 -1
- package/dist/swirl-components/p-2e39e57a.entry.js +0 -1
- package/dist/swirl-components/p-2fada438.entry.js +0 -1
- package/dist/swirl-components/p-2fc324d2.entry.js +0 -1
- package/dist/swirl-components/p-30048d87.js +0 -1
- package/dist/swirl-components/p-3115dcce.entry.js +0 -1
- package/dist/swirl-components/p-314da0b6.entry.js +0 -1
- package/dist/swirl-components/p-3203d26c.entry.js +0 -1
- package/dist/swirl-components/p-33eeffa4.entry.js +0 -1
- package/dist/swirl-components/p-340a8594.entry.js +0 -1
- package/dist/swirl-components/p-37cfdd8f.js +0 -7
- package/dist/swirl-components/p-3a78c66a.entry.js +0 -1
- package/dist/swirl-components/p-3fd6dfcc.entry.js +0 -1
- package/dist/swirl-components/p-41b352e3.entry.js +0 -1
- package/dist/swirl-components/p-428b8a65.entry.js +0 -1
- package/dist/swirl-components/p-45a0619d.entry.js +0 -1
- package/dist/swirl-components/p-46db6bb6.entry.js +0 -1
- package/dist/swirl-components/p-482528d9.entry.js +0 -1
- package/dist/swirl-components/p-4c846d53.entry.js +0 -1
- package/dist/swirl-components/p-4cd180da.entry.js +0 -1
- package/dist/swirl-components/p-4d5bc933.entry.js +0 -1
- package/dist/swirl-components/p-4eda9d6d.entry.js +0 -1
- package/dist/swirl-components/p-4f209111.entry.js +0 -1
- package/dist/swirl-components/p-562db126.entry.js +0 -1
- package/dist/swirl-components/p-5757b517.entry.js +0 -1
- package/dist/swirl-components/p-589d6d22.entry.js +0 -1
- package/dist/swirl-components/p-5cc28450.entry.js +0 -1
- package/dist/swirl-components/p-6384f8ba.entry.js +0 -1
- package/dist/swirl-components/p-638b96a3.entry.js +0 -1
- package/dist/swirl-components/p-639fe827.entry.js +0 -1
- package/dist/swirl-components/p-65231ba1.entry.js +0 -1
- package/dist/swirl-components/p-6966c97a.entry.js +0 -1
- package/dist/swirl-components/p-69b15b39.entry.js +0 -1
- package/dist/swirl-components/p-6ab4b7cf.entry.js +0 -1
- package/dist/swirl-components/p-6c2b7a96.entry.js +0 -1
- package/dist/swirl-components/p-70c5764b.entry.js +0 -1
- package/dist/swirl-components/p-7272b763.entry.js +0 -1
- package/dist/swirl-components/p-73ee554b.entry.js +0 -1
- package/dist/swirl-components/p-7548473c.js +0 -2
- package/dist/swirl-components/p-75cf42d4.entry.js +0 -1
- package/dist/swirl-components/p-7740f11b.entry.js +0 -1
- package/dist/swirl-components/p-77cf9f30.entry.js +0 -1
- package/dist/swirl-components/p-84197db5.entry.js +0 -1
- package/dist/swirl-components/p-88d8a3a9.entry.js +0 -1
- package/dist/swirl-components/p-8949fe7a.entry.js +0 -1
- package/dist/swirl-components/p-8f1f9e78.entry.js +0 -1
- package/dist/swirl-components/p-8fa700a5.entry.js +0 -1
- package/dist/swirl-components/p-926857f1.entry.js +0 -1
- package/dist/swirl-components/p-97257780.entry.js +0 -1
- package/dist/swirl-components/p-9b154fa3.entry.js +0 -1
- package/dist/swirl-components/p-9c9da0a4.entry.js +0 -1
- package/dist/swirl-components/p-a133fb9d.entry.js +0 -1
- package/dist/swirl-components/p-a362f0f9.entry.js +0 -1
- package/dist/swirl-components/p-a6054ed9.entry.js +0 -1
- package/dist/swirl-components/p-a81417d9.entry.js +0 -1
- package/dist/swirl-components/p-a8f3668a.entry.js +0 -1
- package/dist/swirl-components/p-a94f114d.entry.js +0 -1
- package/dist/swirl-components/p-a98d70ca.entry.js +0 -1
- package/dist/swirl-components/p-aaad68e8.entry.js +0 -1
- package/dist/swirl-components/p-b117edfa.entry.js +0 -1
- package/dist/swirl-components/p-b3a71d9f.entry.js +0 -1
- package/dist/swirl-components/p-b6790219.entry.js +0 -1
- package/dist/swirl-components/p-bb2d617e.entry.js +0 -1
- package/dist/swirl-components/p-be40f14f.entry.js +0 -1
- package/dist/swirl-components/p-c3b49fae.entry.js +0 -1
- package/dist/swirl-components/p-c69ba478.entry.js +0 -1
- package/dist/swirl-components/p-c6d26cc3.entry.js +0 -1
- package/dist/swirl-components/p-c7427e54.entry.js +0 -1
- package/dist/swirl-components/p-c76f568b.entry.js +0 -1
- package/dist/swirl-components/p-c8ef7c7b.entry.js +0 -1
- package/dist/swirl-components/p-c9281fc5.entry.js +0 -1
- package/dist/swirl-components/p-cb622b3f.entry.js +0 -1
- package/dist/swirl-components/p-d34657bb.entry.js +0 -1
- package/dist/swirl-components/p-d353d8a6.entry.js +0 -1
- package/dist/swirl-components/p-d437a017.entry.js +0 -1
- package/dist/swirl-components/p-daf021ff.entry.js +0 -1
- package/dist/swirl-components/p-db407fe2.entry.js +0 -1
- package/dist/swirl-components/p-df779bfc.entry.js +0 -1
- package/dist/swirl-components/p-e04eac13.entry.js +0 -1
- package/dist/swirl-components/p-e3c228f6.entry.js +0 -1
- package/dist/swirl-components/p-e4a8a549.entry.js +0 -1
- package/dist/swirl-components/p-e8f32c6d.entry.js +0 -1
- package/dist/swirl-components/p-ec59a844.entry.js +0 -1
- package/dist/swirl-components/p-ece8d0a9.entry.js +0 -1
- package/dist/swirl-components/p-f2bd932c.entry.js +0 -1
- package/dist/swirl-components/p-f5bd49b1.entry.js +0 -1
- package/dist/swirl-components/p-f6a1e319.entry.js +0 -1
- package/dist/swirl-components/p-f8eaba53.entry.js +0 -1
- package/dist/swirl-components/p-f9719283.entry.js +0 -1
- package/dist/swirl-components/p-f9a4a60c.entry.js +0 -1
- package/dist/swirl-components/p-f9e967e7.entry.js +0 -1
- package/dist/swirl-components/p-fa626f0f.entry.js +0 -1
- package/dist/swirl-components/p-fca2a909.entry.js +0 -1
- package/dist/swirl-components/p-fcd09fdc.entry.js +0 -1
- package/dist/swirl-components/p-ff23c876.entry.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["src/components/flip-file-viewer/viewers/flip-file-viewer-audio/flip-file-viewer-audio.css?tag=flip-file-viewer-audio&encapsulation=shadow","src/components/flip-file-viewer/viewers/flip-file-viewer-audio/flip-file-viewer-audio.tsx","../../node_modules/papaparse/papaparse.min.js","src/components/flip-file-viewer/viewers/flip-file-viewer-csv/flip-file-viewer-csv.css?tag=flip-file-viewer-csv&encapsulation=shadow","src/components/flip-file-viewer/viewers/flip-file-viewer-csv/flip-file-viewer-csv.tsx","src/components/flip-file-viewer/viewers/flip-file-viewer-image/flip-file-viewer-image.css?tag=flip-file-viewer-image&encapsulation=shadow","src/components/flip-file-viewer/viewers/flip-file-viewer-image/flip-file-viewer-image.tsx","../../node_modules/dommatrix/dist/dommatrix.js","../../node_modules/web-streams-polyfill/dist/ponyfill.js","../../node_modules/pdfjs-dist/legacy/build/pdf.js","src/components/flip-file-viewer/viewers/flip-file-viewer-pdf/flip-file-viewer-pdf.css?tag=flip-file-viewer-pdf&encapsulation=shadow","src/components/flip-file-viewer/viewers/flip-file-viewer-pdf/flip-file-viewer-pdf.tsx","src/components/flip-file-viewer/viewers/flip-file-viewer-text/flip-file-viewer-text.css?tag=flip-file-viewer-text&encapsulation=shadow","src/components/flip-file-viewer/viewers/flip-file-viewer-text/flip-file-viewer-text.tsx","src/components/flip-file-viewer/viewers/flip-file-viewer-video/flip-file-viewer-video.css?tag=flip-file-viewer-video&encapsulation=shadow","src/components/flip-file-viewer/viewers/flip-file-viewer-video/flip-file-viewer-video.tsx"],"names":["flipFileViewerAudioCss","FlipFileViewerAudio","[object Object]","h","Host","class","controls","src","this","file","type","e","t","module","exports","s","f","self","window","n","document","postMessage","o","test","location","protocol","a","b","parse","i","dynamicTyping","M","dynamicTypingFunction","transform","worker","WORKERS_SUPPORTED","r","URL","webkitURL","toString","BLOB_URL","createObjectURL","Blob","Worker","onmessage","_","id","userStep","step","userChunk","chunk","userComplete","complete","userError","error","input","config","workerId","download","l","p","readable","read","on","g","File","Object","c","stream","unparse","m","y","delimiter","BAD_DELIMITERS","filter","indexOf","length","quotes","Array","isArray","skipEmptyLines","newline","quoteChar","header","columns","Error","escapeChar","escapeFormulae","RegExp","j","JSON","u","keys","data","fields","meta","v","join","trim","d","push","constructor","Date","stringify","slice","replace","charAt","RECORD_SEP","String","fromCharCode","UNIT_SEP","BYTE_ORDER_MARK","NODE_STREAM_INPUT","LocalChunkSize","RemoteChunkSize","DefaultDelimiter","Parser","E","ParserHandle","NetworkStreamer","FileStreamer","StringStreamer","ReadableStreamStreamer","jQuery","fn","each","prop","toUpperCase","attr","toLowerCase","FileReader","files","inputElem","instanceConfig","extend","before","action","reason","name","splice","_handle","_finished","_completed","_halted","_input","_baseIndex","_partialLine","_rowCount","_start","_nextChunk","isFirstChunk","_completeResults","errors","w","chunkSize","parseInt","streamer","_config","call","parseChunk","beforeFirstChunk","paused","aborted","cursor","substring","preview","results","WORKER_ID","finished","concat","_sendError","_readChunk","_chunkLoaded","XMLHttpRequest","withCredentials","onload","onerror","_chunkError","open","downloadRequestBody","downloadRequestHeaders","setRequestHeader","send","message","status","readyState","responseText","getResponseHeader","lastIndexOf","statusText","webkitSlice","mozSlice","FileReaderSync","Math","min","size","readAsText","encoding","target","result","pause","prototype","apply","arguments","resume","_streamData","_streamEnd","_streamError","_checkIsFinished","shift","_streamCleanUp","removeListener","pow","abort","k","transformHeader","forEach","map","parseFloat","code","row","split","comments","abs","successful","bestDelimiter","delimitersToGuess","getCharIndex","setTimeout","S","O","x","I","T","D","A","fastMode","L","F","z","C","R","index","substr","linebreak","truncated","terminate","create","flipFileViewerCsvCss","FlipFileViewerCsv","hostRef","errorMessage","updateTable","loading","response","fetch","parsed","text","_a","tabIndex","key","cell","flipFileViewerImageCss","FlipFileViewerImage","description","onError","onLoad","alt","global","factory","fromArray","array","CSSMatrix","from","every","Number","isNaN","TypeError","m11","m12","m13","m14","m21","m22","m23","m24","m31","m32","m33","m34","m41","m42","m43","m44","M11","M12","M21","M22","M41","M42","fromMatrix","fromString","source","str","invalidStringError","tf","ref","value","components","includes","PI","xyz","xyza","undefined","values","multiply","translate","rotateAxisAngle","rotate","some","scale","nosy","sy","skew","axis","idx","def","axeValues","toArray","is2D","Translate","Rotate","rx","ry","rz","degToRad","radX","radY","radZ","cosx","cos","sinx","sin","cosy","siny","cosz","sinz","RotateAxisAngle","alpha","sqrt","X","Y","Z","angle","sinA","cosA","sinA2","x2","y2","z2","Scale","Skew","angleX","angleY","tX","tan","tY","SkewX","SkewY","Multiply","m1","m2","args","len","ARGS","setMatrixValue","prototypeAccessors","isIdentity","configurable","get","Float64Array","Float32Array","DOMMatrix","toFloat32Array","toFloat64Array","toJSON","assign","RX","RY","RZ","skewX","skewY","transformPoint","DOMPoint","defineProperties","version","Version","SymbolPolyfill","Symbol","iterator","noop","getGlobals","globals","typeIsObject","rethrowAssertionErrorRejection","originalPromise","Promise","originalPromiseThen","then","originalPromiseResolve","resolve","bind","originalPromiseReject","reject","newPromise","executor","promiseResolvedWith","promiseRejectedWith","PerformPromiseThen","promise","onFulfilled","onRejected","uponPromise","uponFulfillment","uponRejection","transformPromiseWith","fulfillmentHandler","rejectionHandler","setPromiseIsHandledToTrue","queueMicrotask","globalQueueMicrotask","resolvedPromise","reflectCall","V","Function","promiseCall","QUEUE_MAX_ARRAY_SIZE","SimpleQueue","_cursor","_size","_front","_elements","_next","_back","defineProperty","enumerable","element","oldBack","newBack","oldFront","newFront","oldCursor","newCursor","elements","callback","node","peek","front","ReadableStreamReaderGenericInitialize","reader","_ownerReadableStream","_reader","_state","defaultReaderClosedPromiseInitialize","defaultReaderClosedPromiseInitializeAsResolved","defaultReaderClosedPromiseInitializeAsRejected","_storedError","ReadableStreamReaderGenericCancel","ReadableStreamCancel","ReadableStreamReaderGenericRelease","defaultReaderClosedPromiseReject","defaultReaderClosedPromiseResetToRejected","readerLockException","_closedPromise","_closedPromise_resolve","_closedPromise_reject","defaultReaderClosedPromiseResolve","AbortSteps","ErrorSteps","CancelSteps","PullSteps","NumberIsFinite","isFinite","MathTrunc","trunc","ceil","floor","isDictionary","assertDictionary","obj","context","assertFunction","isObject","assertObject","assertRequiredArgument","position","assertRequiredField","field","convertUnrestrictedDouble","censorNegativeZero","integerPart","convertUnsignedLongLongWithEnforceRange","lowerBound","upperBound","MAX_SAFE_INTEGER","assertReadableStream","IsReadableStream","AcquireReadableStreamDefaultReader","ReadableStreamDefaultReader","ReadableStreamAddReadRequest","readRequest","_readRequests","ReadableStreamFulfillReadRequest","done","_closeSteps","_chunkSteps","ReadableStreamGetNumReadRequests","ReadableStreamHasDefaultReader","IsReadableStreamDefaultReader","IsReadableStreamLocked","defaultReaderBrandCheckException","cancel","resolvePromise","rejectPromise","_errorSteps","ReadableStreamDefaultReaderRead","releaseLock","closed","toStringTag","hasOwnProperty","_disturbed","_readableStreamController","AsyncIteratorPrototype","asyncIterator","ReadableStreamAsyncIteratorImpl","preventCancel","_ongoingPromise","_isFinished","_preventCancel","next","_this","nextSteps","_nextSteps","return","returnSteps","_returnSteps","ReadableStreamAsyncIteratorPrototype","IsReadableStreamAsyncIterator","streamAsyncIteratorBrandCheckException","_asyncIteratorImpl","setPrototypeOf","AcquireReadableStreamAsyncIterator","impl","NumberIsNaN","CreateArrayFromList","CopyDataBlockBytes","dest","destOffset","srcOffset","Uint8Array","set","TransferArrayBuffer","ArrayBufferSlice","buffer","begin","end","ArrayBuffer","IsNonNegativeNumber","CloneAsUint8Array","byteOffset","byteLength","DequeueValue","container","pair","_queue","_queueTotalSize","EnqueueValueWithSize","Infinity","RangeError","PeekQueueValue","ResetQueue","ReadableStreamBYOBRequest","IsReadableStreamBYOBRequest","byobRequestBrandCheckException","_view","respond","bytesWritten","_associatedReadableByteStreamController","ReadableByteStreamControllerRespond","respondWithNewView","view","isView","ReadableByteStreamControllerRespondWithNewView","ReadableByteStreamController","IsReadableByteStreamController","byteStreamControllerBrandCheckException","ReadableByteStreamControllerGetBYOBRequest","ReadableByteStreamControllerGetDesiredSize","close","_closeRequested","state","_controlledReadableByteStream","ReadableByteStreamControllerClose","enqueue","ReadableByteStreamControllerEnqueue","ReadableByteStreamControllerError","ReadableByteStreamControllerClearPendingPullIntos","_cancelAlgorithm","ReadableByteStreamControllerClearAlgorithms","entry","ReadableByteStreamControllerHandleQueueDrain","autoAllocateChunkSize","_autoAllocateChunkSize","bufferE","pullIntoDescriptor","bufferByteLength","bytesFilled","elementSize","viewConstructor","readerType","_pendingPullIntos","ReadableByteStreamControllerCallPullIfNeeded","byobRequest","desiredSize","controller","shouldPull","ReadableByteStreamControllerShouldCallPull","_pulling","_pullAgain","pullPromise","_pullAlgorithm","ReadableByteStreamControllerInvalidateBYOBRequest","ReadableByteStreamControllerCommitPullIntoDescriptor","filledView","ReadableByteStreamControllerConvertPullIntoDescriptor","ReadableStreamFulfillReadIntoRequest","ReadableByteStreamControllerEnqueueChunkToQueue","ReadableByteStreamControllerFillPullIntoDescriptorFromQueue","currentAlignedBytes","maxBytesToCopy","maxBytesFilled","maxAlignedBytes","totalBytesToCopyRemaining","ready","queue","headOfQueue","bytesToCopy","destStart","ReadableByteStreamControllerFillHeadPullIntoDescriptor","ReadableStreamClose","_byobRequest","ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue","ReadableByteStreamControllerShiftPendingPullInto","ReadableByteStreamControllerPullInto","readIntoRequest","DataView","BYTES_PER_ELEMENT","ctor","ReadableStreamAddReadIntoRequest","emptyView","ReadableByteStreamControllerRespondInClosedState","firstDescriptor","ReadableStreamHasBYOBReader","ReadableStreamGetNumReadIntoRequests","ReadableByteStreamControllerRespondInReadableState","remainderSize","remainder","ReadableByteStreamControllerRespondInternal","descriptor","_started","firstPendingPullInto","transferredBuffer","transferredView","ReadableStreamError","SetUpReadableStreamBYOBRequest","_strategyHWM","viewByteLength","SetUpReadableByteStreamController","startAlgorithm","pullAlgorithm","cancelAlgorithm","highWaterMark","startResult","SetUpReadableByteStreamControllerFromUnderlyingSource","underlyingByteSource","start","pull","request","AcquireReadableStreamBYOBReader","ReadableStreamBYOBReader","_readIntoRequests","IsReadableStreamBYOBReader","byobReaderBrandCheckException","ReadableStreamBYOBReaderRead","ExtractHighWaterMark","strategy","defaultHWM","ExtractSizeAlgorithm","convertQueuingStrategy","init","convertQueuingStrategySize","convertUnderlyingSink","original","write","convertUnderlyingSinkAbortCallback","convertUnderlyingSinkCloseCallback","convertUnderlyingSinkStartCallback","convertUnderlyingSinkWriteCallback","assertWritableStream","IsWritableStream","isAbortSignal","supportsAbortController","AbortController","createAbortController","WritableStream","rawUnderlyingSink","rawStrategy","underlyingSink","InitializeWritableStream","sizeAlgorithm","SetUpWritableStreamDefaultControllerFromUnderlyingSink","streamBrandCheckException$2","IsWritableStreamLocked","WritableStreamAbort","WritableStreamCloseQueuedOrInFlight","WritableStreamClose","getWriter","AcquireWritableStreamDefaultWriter","locked","WritableStreamDefaultWriter","CreateWritableStream","writeAlgorithm","closeAlgorithm","abortAlgorithm","WritableStreamDefaultController","SetUpWritableStreamDefaultController","_writer","_writableStreamController","_writeRequests","_inFlightWriteRequest","_closeRequest","_inFlightCloseRequest","_pendingAbortRequest","_backpressure","_abortReason","_abortController","_promise","wasAlreadyErroring","_resolve","_reject","_reason","_wasAlreadyErroring","WritableStreamStartErroring","closeRequest","writer","defaultWriterReadyPromiseResolve","WritableStreamDefaultControllerClose","WritableStreamAddWriteRequest","writeRequest","WritableStreamDealWithRejection","WritableStreamFinishErroring","WritableStreamDefaultWriterEnsureReadyPromiseRejected","WritableStreamHasOperationMarkedInFlight","storedError","WritableStreamRejectCloseAndClosedPromiseIfNeeded","abortRequest","WritableStreamFinishInFlightWrite","WritableStreamFinishInFlightWriteWithError","WritableStreamFinishInFlightClose","defaultWriterClosedPromiseResolve","WritableStreamFinishInFlightCloseWithError","WritableStreamMarkCloseRequestInFlight","WritableStreamMarkFirstWriteRequestInFlight","defaultWriterClosedPromiseReject","WritableStreamUpdateBackpressure","backpressure","defaultWriterReadyPromiseReset","_ownerWritableStream","defaultWriterReadyPromiseInitialize","defaultWriterReadyPromiseInitializeAsResolved","defaultWriterClosedPromiseInitialize","defaultWriterReadyPromiseInitializeAsRejected","defaultWriterClosedPromiseInitializeAsResolved","defaultWriterClosedPromiseInitializeAsRejected","IsWritableStreamDefaultWriter","defaultWriterBrandCheckException","defaultWriterLockException","WritableStreamDefaultWriterGetDesiredSize","_readyPromise","WritableStreamDefaultWriterAbort","WritableStreamDefaultWriterClose","WritableStreamDefaultWriterRelease","WritableStreamDefaultWriterWrite","WritableStreamDefaultWriterCloseWithErrorPropagation","WritableStreamDefaultWriterEnsureClosedPromiseRejected","_closedPromiseState","defaultWriterClosedPromiseResetToRejected","_readyPromiseState","defaultWriterReadyPromiseReject","defaultWriterReadyPromiseResetToRejected","WritableStreamDefaultControllerGetDesiredSize","releasedError","WritableStreamDefaultControllerGetChunkSize","WritableStreamDefaultControllerWrite","closeSentinel","IsWritableStreamDefaultController","defaultControllerBrandCheckException$2","signal","_controlledWritableStream","WritableStreamDefaultControllerError","_abortAlgorithm","WritableStreamDefaultControllerClearAlgorithms","abortReason","_strategySizeAlgorithm","_writeAlgorithm","_closeAlgorithm","WritableStreamDefaultControllerGetBackpressure","startPromise","WritableStreamDefaultControllerAdvanceQueueIfNeeded","chunkSizeE","WritableStreamDefaultControllerErrorIfNeeded","enqueueE","WritableStreamDefaultControllerProcessClose","WritableStreamDefaultControllerProcessWrite","sinkClosePromise","sinkWritePromise","_readyPromise_resolve","_readyPromise_reject","NativeDOMException","DOMException","isDOMExceptionConstructor","createDOMExceptionPolyfill","captureStackTrace","writable","DOMException$1","ReadableStreamPipeTo","preventClose","preventAbort","shuttingDown","currentWrite","actions","shutdownWithAction","all","addEventListener","pipeLoop","resolveLoop","rejectLoop","pipeStep","resolveRead","rejectRead","isOrBecomesErrored","shutdown","isOrBecomesClosed","destClosed_1","waitForWritesToFinish","oldCurrentWrite","originalIsError","originalError","doTheRest","finalize","newError","isError","removeEventListener","ReadableStreamDefaultController","IsReadableStreamDefaultController","defaultControllerBrandCheckException$1","ReadableStreamDefaultControllerGetDesiredSize","ReadableStreamDefaultControllerCanCloseOrEnqueue","ReadableStreamDefaultControllerClose","ReadableStreamDefaultControllerEnqueue","ReadableStreamDefaultControllerError","ReadableStreamDefaultControllerClearAlgorithms","_controlledReadableStream","ReadableStreamDefaultControllerCallPullIfNeeded","ReadableStreamDefaultControllerShouldCallPull","ReadableStreamDefaultControllerHasBackpressure","SetUpReadableStreamDefaultController","SetUpReadableStreamDefaultControllerFromUnderlyingSource","underlyingSource","ReadableStreamTee","cloneForBranch2","ReadableByteStreamTee","ReadableStreamDefaultTee","reading","readAgain","canceled1","canceled2","reason1","reason2","branch1","branch2","resolveCancelPromise","cancelPromise","chunk1","chunk2","cancel1Algorithm","compositeReason","cancelResult","cancel2Algorithm","CreateReadableStream","readAgainForBranch1","readAgainForBranch2","forwardReaderError","thisReader","pullWithDefaultReader","cloneE","pull1Algorithm","pull2Algorithm","pullWithBYOBReader","forBranch2","byobBranch","otherBranch","byobCanceled","otherCanceled","clonedChunk","CreateReadableByteStream","convertUnderlyingDefaultOrByteSource","convertUnderlyingSourceCancelCallback","convertUnderlyingSourcePullCallback","convertUnderlyingSourceStartCallback","convertReadableStreamType","convertReaderOptions","options","mode","convertReadableStreamReaderMode","convertIteratorOptions","Boolean","convertPipeOptions","assertAbortSignal","convertReadableWritablePair","ReadableStream","rawUnderlyingSource","InitializeReadableStream","streamBrandCheckException$1","getReader","rawOptions","pipeThrough","rawTransform","pipeTo","destination","tee","branches","sourceCancelPromise","convertQueuingStrategyInit","byteLengthSizeFunction","ByteLengthQueuingStrategy","_byteLengthQueuingStrategyHighWaterMark","IsByteLengthQueuingStrategy","byteLengthBrandCheckException","countSizeFunction","CountQueuingStrategy","_countQueuingStrategyHighWaterMark","IsCountQueuingStrategy","countBrandCheckException","convertTransformer","flush","readableType","writableType","convertTransformerFlushCallback","convertTransformerStartCallback","convertTransformerTransformCallback","TransformStream","rawTransformer","rawWritableStrategy","rawReadableStrategy","writableStrategy","readableStrategy","transformer","readableHighWaterMark","readableSizeAlgorithm","writableHighWaterMark","writableSizeAlgorithm","startPromise_resolve","InitializeTransformStream","SetUpTransformStreamDefaultControllerFromTransformer","_transformStreamController","IsTransformStream","streamBrandCheckException","_readable","_writable","TransformStreamDefaultSinkWriteAlgorithm","TransformStreamDefaultSinkAbortAlgorithm","TransformStreamDefaultSinkCloseAlgorithm","TransformStreamDefaultSourcePullAlgorithm","TransformStreamErrorWritableAndUnblockWrite","_backpressureChangePromise","_backpressureChangePromise_resolve","TransformStreamSetBackpressure","TransformStreamError","TransformStreamDefaultControllerClearAlgorithms","TransformStreamDefaultController","IsTransformStreamDefaultController","defaultControllerBrandCheckException","readableController","_controlledTransformStream","TransformStreamDefaultControllerEnqueue","TransformStreamDefaultControllerError","TransformStreamDefaultControllerTerminate","SetUpTransformStreamDefaultController","transformAlgorithm","flushAlgorithm","_transformAlgorithm","_flushAlgorithm","transformResultE","TransformStreamDefaultControllerPerformTransform","transformPromise","backpressureChangePromise","flushPromise","webpackUniversalModuleDefinition","root","globalThis","__webpack_modules__","__unused_webpack_module","__w_pdfjs_require__","VerbosityLevel","Util","UnknownErrorException","UnexpectedResponseException","UNSUPPORTED_FEATURES","TextRenderingMode","StreamType","RenderingIntentFlag","PermissionFlag","PasswordResponses","PasswordException","PageActionEventType","OPS","MissingPDFException","LINE_FACTOR","LINE_DESCENT_FACTOR","InvalidPDFException","ImageKind","IDENTITY_MATRIX","FormatError","FontType","FeatureTest","FONT_IDENTITY_MATRIX","DocumentActionEventType","CMapCompressionType","BaseException","AnnotationType","AnnotationStateModelType","AnnotationReviewState","AnnotationReplyType","AnnotationMode","AnnotationMarkedState","AnnotationFlag","AnnotationFieldFlag","AnnotationEditorType","AnnotationEditorPrefix","AnnotationEditorParamsType","AnnotationBorderStyleType","AnnotationActionEventType","AbortException","arrayByteLength","arraysToBytes","assert","bytesToString","createPromiseCapability","createValidAbsoluteUrl","escapeString","getModificationDate","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","isAscii","objectFromMap","objectSize","setVerbosityLevel","shadow","string32","stringToBytes","stringToPDFString","stringToUTF16BEString","stringToUTF8String","unreachable","utf8StringToString","warn","ANY","DISPLAY","PRINT","ANNOTATIONS_FORMS","ANNOTATIONS_STORAGE","ANNOTATIONS_DISABLE","OPLIST","DISABLE","ENABLE","ENABLE_FORMS","ENABLE_STORAGE","NONE","FREETEXT","INK","FREETEXT_SIZE","FREETEXT_COLOR","FREETEXT_OPACITY","INK_COLOR","INK_THICKNESS","INK_OPACITY","MODIFY_CONTENTS","COPY","MODIFY_ANNOTATIONS","FILL_INTERACTIVE_FORMS","COPY_FOR_ACCESSIBILITY","ASSEMBLE","PRINT_HIGH_QUALITY","FILL","STROKE","FILL_STROKE","INVISIBLE","FILL_ADD_TO_PATH","STROKE_ADD_TO_PATH","FILL_STROKE_ADD_TO_PATH","ADD_TO_PATH","FILL_STROKE_MASK","ADD_TO_PATH_FLAG","GRAYSCALE_1BPP","RGB_24BPP","RGBA_32BPP","TEXT","LINK","LINE","SQUARE","CIRCLE","POLYGON","POLYLINE","HIGHLIGHT","UNDERLINE","SQUIGGLY","STRIKEOUT","STAMP","CARET","POPUP","FILEATTACHMENT","SOUND","MOVIE","WIDGET","SCREEN","PRINTERMARK","TRAPNET","WATERMARK","THREED","REDACT","MARKED","REVIEW","UNMARKED","ACCEPTED","REJECTED","CANCELLED","COMPLETED","GROUP","REPLY","HIDDEN","NOZOOM","NOROTATE","NOVIEW","READONLY","LOCKED","TOGGLENOVIEW","LOCKEDCONTENTS","REQUIRED","NOEXPORT","MULTILINE","PASSWORD","NOTOGGLETOOFF","RADIO","PUSHBUTTON","COMBO","EDIT","SORT","FILESELECT","MULTISELECT","DONOTSPELLCHECK","DONOTSCROLL","COMB","RICHTEXT","RADIOSINUNISON","COMMITONSELCHANGE","SOLID","DASHED","BEVELED","INSET","U","Fo","Bl","PO","PC","PV","K","WC","WS","DS","WP","DP","UNKNOWN","FLATE","LZW","DCT","JPX","JBIG","A85","AHX","CCF","RLX","TYPE1","TYPE1STANDARD","TYPE1C","CIDFONTTYPE0","CIDFONTTYPE0C","TRUETYPE","CIDFONTTYPE2","TYPE3","OPENTYPE","TYPE0","MMTYPE1","ERRORS","WARNINGS","INFOS","BINARY","STREAM","dependency","setLineWidth","setLineCap","setLineJoin","setMiterLimit","setDash","setRenderingIntent","setFlatness","setGState","save","restore","moveTo","lineTo","curveTo","curveTo2","curveTo3","closePath","rectangle","stroke","closeStroke","fill","eoFill","fillStroke","eoFillStroke","closeFillStroke","closeEOFillStroke","endPath","clip","eoClip","beginText","endText","setCharSpacing","setWordSpacing","setHScale","setLeading","setFont","setTextRenderingMode","setTextRise","moveText","setLeadingMoveText","setTextMatrix","nextLine","showText","showSpacedText","nextLineShowText","nextLineSetSpacingShowText","setCharWidth","setCharWidthAndBounds","setStrokeColorSpace","setFillColorSpace","setStrokeColor","setStrokeColorN","setFillColor","setFillColorN","setStrokeGray","setFillGray","setStrokeRGBColor","setFillRGBColor","setStrokeCMYKColor","setFillCMYKColor","shadingFill","beginInlineImage","beginImageData","endInlineImage","paintXObject","markPoint","markPointProps","beginMarkedContent","beginMarkedContentProps","endMarkedContent","beginCompat","endCompat","paintFormXObjectBegin","paintFormXObjectEnd","beginGroup","endGroup","beginAnnotations","endAnnotations","beginAnnotation","endAnnotation","paintJpegXObject","paintImageMaskXObject","paintImageMaskXObjectGroup","paintImageXObject","paintInlineImageXObject","paintInlineImageXObjectGroup","paintImageXObjectRepeat","paintImageMaskXObjectRepeat","paintSolidColorImageMask","constructPath","unknown","forms","javaScript","signatures","smask","shadingPattern","font","errorTilingPattern","errorExtGState","errorXObject","errorFontLoadType3","errorFontState","errorFontMissing","errorFontTranslate","errorColorSpace","errorOperatorList","errorFontToUnicode","errorFontLoadNative","errorFontBuildPath","errorFontGetPath","errorMarkedContent","errorContentSubStream","NEED_PASSWORD","INCORRECT_PASSWORD","verbosity","level","isInteger","msg","console","log","cond","_isValidProtocol","url","baseUrl","addDefaultProtocol","startsWith","dots","match","tryConvertEncoding","ex","absoluteUrl","BaseExceptionClosure","super","details","bytes","MAX_ARGUMENT_COUNT","strBuf","chunkEnd","subarray","charCodeAt","arr","resultLength","pos","item","itemLength","isLittleEndian","buffer8","view32","Uint32Array","isEvalSupported","isOffscreenCanvasSupported","OffscreenCanvas","hexNumbers","padStart","minMax","temp","xt","yt","p1","applyTransform","p2","p3","p4","max","transpose","first","second","sx","rect","rect1","rect2","xLow","xHigh","yLow","yHigh","x0","y0","x1","y1","x3","y3","tvalues","bounds","t1","t2","b2ac","sqrtb2ac","mt","jlen","PDFStringTranslateTable","decoder","TextDecoder","fatal","decode","ii","buf","char","decodeURIComponent","escape","unescape","encodeURIComponent","arr1","arr2","date","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","capability","isSettled","__unused_webpack_exports","_is_node","_pdfjsCompatibilityChecked","checkNodeBtoa","btoa","isNodeJS","chars","Buffer","checkNodeAtob","atob","checkDOMMatrix","require$$0","checkReadableStream","require$$1","checkArrayAt","at","checkTypedArrayAt","checkStructuredClone","structuredClone","process","versions","nw","electron","entryUnbind","$","toObject","lengthOfArrayLike","toIntegerOrInfinity","addToUnscopables","proto","relativeIndex","getOwnPropertyDescriptor","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","TARGET","GLOBAL","STATIC","stat","FORCED","targetProperty","sourceProperty","dontCallGetSet","forced","sham","check","it","DESCRIPTORS","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","P","fails","exec","NATIVE_BIND","$propertyIsEnumerable","propertyIsEnumerable","NASHORN_BUG","1","bitmap","IndexedObject","requireObjectCoercible","uncurryThis","classof","$Object","FunctionPrototype","stringSlice","$TypeError","toPrimitive","isSymbol","argument","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","pref","exoticToPrim","isCallable","getBuiltIn","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","aFunction","namespace","method","NATIVE_SYMBOL","V8_VERSION","getOwnPropertySymbols","symbol","userAgent","Deno","v8","aCallable","func","tryToString","$String","val","valueOf","shared","uid","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","IS_PURE","store","copyright","license","SHARED","postfix","random","createElement","EXISTS","definePropertyModule","object","V8_PROTOTYPE_DEFINE_BUG","anObject","$defineProperty","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","current","makeBuiltIn","simple","unsafe","nonConfigurable","nonWritable","CONFIGURABLE_FUNCTION_NAME","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","CONFIGURABLE_LENGTH","TEMPLATE","getter","setter","arity","getDescriptor","PROPER","something","functionToString","NATIVE_WEAK_MAP","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","has","getterFor","TYPE","wmget","wmhas","wmset","metadata","facade","STATE","ownKeys","getOwnPropertyDescriptorModule","exceptions","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","internalObjectKeys","enumBugKeys","getOwnPropertyNames","names","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","el","fromIndex","integer","number","toLength","replacement","feature","detection","normalize","POLYFILL","NATIVE","string","UNSCOPABLES","ArrayPrototype","definePropertiesModule","html","documentCreateElement","GT","LT","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","NullProtoObjectViaActiveX","activeXDocument","parentWindow","NullProtoObjectViaIFrame","iframe","JS","iframeDocument","style","display","appendChild","contentWindow","NullProtoObject","ActiveXObject","domain","Properties","objectKeys","props","CONSTRUCTOR","METHOD","ArrayBufferViewCore","aTypedArray","exportTypedArrayMethod","NATIVE_ARRAY_BUFFER","getPrototypeOf","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","NAME","Constructor","Prototype","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","klass","getTypedArrayConstructor","isTypedArray","aTypedArrayConstructor","KEY","property","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","tag","callee","CORRECT_PROTOTYPE_GETTER","aPossiblePrototype","CORRECT_SETTER","__proto__","path","Iterators","defineIterator","ARRAY_ITERATOR","setInternalState","iterated","kind","Arguments","FunctionName","createIteratorConstructor","setToStringTag","IteratorsCore","PROPER_FUNCTION_NAME","IteratorPrototype","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","returnThis","Iterable","IteratorConstructor","DEFAULT","IS_SET","getIterationMethod","KIND","defaultIterator","IterablePrototype","entries","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","CurrentIteratorPrototype","methods","ENUMERABLE_NEXT","PrototypeOfArrayIteratorPrototype","arrayIterator","NEW_ITERATOR_PROTOTYPE","TAG","collection","collectionStrong","Map","InternalMetadataModule","iterate","anInstance","checkCorrectnessOfIteration","inheritIfRequired","CONSTRUCTOR_NAME","wrapper","common","IS_MAP","IS_WEAK","ADDER","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","add","REPLACE","getConstructor","enable","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","iterable","BUGGY_ZERO","$instance","dummy","that","AS_ENTRIES","clear","setStrong","getOwnPropertyNamesExternalModule","isExtensible","FREEZING","METADATA","setMetadata","objectID","weakData","fastKey","getWeakData","onFreeze","$getOwnPropertyNames","arraySlice","windowNames","getWindowNames","createProperty","$Array","fin","propertyKey","ARRAY_BUFFER_NON_EXTENSIBLE","$isExtensible","FAILS_ON_PRIMITIVES","preventExtensions","isArrayIteratorMethod","getIterator","getIteratorMethod","iteratorClose","Result","stopped","ResultPrototype","unboundFunction","IS_RECORD","IS_ITERATOR","INTERRUPTED","iterFn","stop","condition","callFn","usingIterator","iteratorMethod","innerResult","innerError","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","Wrapper","NewTarget","NewTargetPrototype","defineBuiltIns","setSpecies","internalStateGetterFor","last","define","getEntry","previous","removed","delete","prev","callbackfn","boundFunction","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","SPECIES","Set","getBuiltin","isConstructor","validateArgumentsLength","getRegExpFlags","ERROR_STACK_INSTALLABLE","V8","IS_BROWSER","IS_DENO","IS_NODE","EvalError","ReferenceError","SyntaxError","URIError","PerformanceMark","WebAssembly","CompileError","LinkError","RuntimeError","MapPrototype","mapHas","mapGet","mapSet","setAdd","booleanValueOf","numberValueOf","stringValueOf","getTime","PERFORMANCE_MARK","DATA_CLONE_ERROR","TRANSFERRING","checkBasicSemantic","structuredCloneImplementation","set1","set2","checkErrorsCloning","$Error","stack","checkNewErrorsCloningSemantic","AggregateError","cause","nativeStructuredClone","FORCED_REPLACEMENT","structuredCloneFromMark","detail","nativeRestrictedStructuredClone","throwUncloneable","throwUnpolyfillable","structuredCloneInternal","deep","cloned","dataTransfer","DOMQuad","DataTransfer","items","ImageData","width","height","colorSpace","setUint8","getUint8","fromPoint","fromRect","clone","PROPER_TRANSFER","transfer","tryToTransfer","rawTransfer","transferredArray","transferred","canvas","getContext","transferFromImageBitmap","transferToImageBitmap","empty","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","passed","required","regExpFlags","RegExpPrototype","flags","hasIndices","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","build","RenderTask","PDFWorkerUtil","PDFWorker","PDFPageProxy","PDFDocumentProxy","PDFDocumentLoadingTask","PDFDataRangeTransport","LoopbackPort","DefaultStandardFontDataFactory","DefaultCanvasFactory","DefaultCMapReaderFactory","getDocument","setPDFNetworkStreamFactory","_util","_annotation_storage","_display_utils","_font_loader","_canvas","_worker_options","_message_handler","_metadata","_optional_content_config","_transport_stream","_xfa_text","_classPrivateMethodInitSpec","privateSet","_checkPrivateRedeclaration","_classPrivateMethodGet","receiver","_classPrivateFieldInitSpec","privateMap","privateCollection","_classPrivateFieldSet","_classExtractFieldDescriptor","_classApplyDescriptorSet","_classPrivateFieldGet","_classApplyDescriptorGet","_classStaticPrivateFieldSpecSet","classConstructor","_classCheckPrivateStaticAccess","_classCheckPrivateStaticFieldDescriptor","_classStaticPrivateFieldSpecGet","DEFAULT_RANGE_CHUNK_SIZE","RENDERING_CANCELLED_TIMEOUT","DOMCanvasFactory","DOMCMapReaderFactory","DOMStandardFontDataFactory","NodeCanvasFactory","NodeCMapReaderFactory","NodeStandardFontDataFactory","createPDFNetworkStream","pdfNetworkStreamFactory","task","range","params","rangeTransport","href","CMapReaderFactory","StandardFontDataFactory","ignoreErrors","stopAtErrors","fontExtraProperties","pdfBug","enableXfa","rangeChunkSize","docBaseUrl","isDataScheme","maxImageSize","cMapUrl","standardFontDataUrl","useWorkerFetch","disableFontFace","useSystemFonts","ownerDocument","disableRange","disableStream","disableAutoFetch","workerParams","port","GlobalWorkerOptions","workerPort","fromPort","_worker","docId","destroyed","workerIdPromise","_fetchDocument","networkStreamPromise","networkStream","PDFDataTransportStream","initialData","progressiveDone","contentDispositionFilename","httpHeaders","_ref","messageHandler","MessageHandler","transport","WorkerTransport","_transport","catch","_capability","async","pdfDataRangeTransport","sendWithPromise","apiVersion","password","_PDFDocumentLoadingTa","_PDFDocumentLoadingTa2","_docId","onPassword","onProgress","onUnsupportedFeature","_this$_transport","destroy","_rangeListeners","_progressListeners","_progressiveReadListeners","_progressiveDoneListeners","_readyCapability","listener","loaded","total","pdfInfo","_pdfInfo","deprecated","fingerprints","stats","streamTypes","fontTypes","annotationStorage","numPages","isPureXfa","_htmlForXfa","allXfaHtml","pageNumber","getPage","getPageIndex","getDestinations","getDestination","getPageLabels","getPageLayout","getPageMode","getViewerPreferences","getOpenAction","getAttachments","getJavaScript","getDocJSActions","getOutline","getOptionalContentConfig","getPermissions","getMetadata","getMarkInfo","getData","downloadInfoCapability","keepLoadedFonts","startCleanup","loadingTask","loadingParams","saveDocument","getFieldObjects","hasJSActions","getCalculationOrderIds","pageIndex","pageInfo","_pageIndex","_pageInfo","_ownerDocument","_stats","StatTimer","_pdfBug","commonObjs","objs","PDFObjects","_bitmaps","cleanupAfterRender","pendingCleanup","_intentStates","_annotationPromises","userUnit","rotation","offsetX","offsetY","dontFlip","PageViewport","viewBox","intent","intentArgs","getRenderingIntent","cacheKey","getAnnotations","renderingIntent","annotations","annotation","titleObj","contentsObj","_jsActionsPromise","getPageJSActions","_this$_transport$_htm","children","_ref2","_arguments$","_arguments$2","_intentState","canvasContext","viewport","annotationMode","imageLayer","canvasFactory","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","printAnnotationStorage","renderInteractiveForms","includeAnnotationStorage","time","intentState","streamReaderCancelTimeout","clearTimeout","canvasFactoryInstance","intentPrint","displayReadyCapability","operatorList","fnArray","argsArray","lastChunk","separateAnnots","_pumpOperatorList","renderTasks","internalRenderTask","_tryCleanup","_abortOperatorList","timeEnd","InternalRenderTask","useRequestAnimationFrame","renderTask","_ref3","transparency","optionalContentConfig","initializeGraphics","operatorListChanged","opListReadCapability","opListTask","_intentState2","disableCombineTextItems","includeMarkedContent","TEXT_CONTENT_CHUNK_SIZE","sendWithStream","combineTextItems","textContent","getXfa","xfa","XfaText","readableStream","streamTextContent","pump","_ref4","styles","_structTreePromise","getStructTree","waitOn","force","completed","resetStats","operatorListChunk","_ref5","annotationStorageMap","streamReader","_ref6","_renderPageChunk","_ref7","RenderingCancelledException","curCacheKey","curIntentState","cleanup","_listeners","_deferred","transfers","event","isWorkerDisabled","fallbackWorkerSrc","fakeWorkerId","require","_document","_document$currentScri","pdfjsFilePath","currentScript","isSameOrigin","otherUrl","base","origin","other","createCDNWrapper","_workerPorts","_port","_webWorker","_messageHandler","_initializeFromPort","_initialize","_mainThreadWorkerMessageHandler","workerSrc","terminateEarly","onWorkerError","_setupFakeWorker","sendTest","testObj","_setupFakeWorkerGlobal","WorkerMessageHandler","workerHandler","setup","_globalThis$pdfjsWork","pdfjsWorker","loader","mainWorkerMessageHandler","loadScript","getWorkerSrc","_docStats","_pageCache","_pagePromises","_metadataPromise","fontLoader","FontLoader","_onUnsupportedFeature","styleElement","_params","isCompressed","cMapPacked","destroyCapability","_passwordCapability","_networkStream","_fullReader","_lastProgress","setupMessageHandler","AnnotationStorage","isOpList","annotationMap","PrintAnnotationStorage","serializable","getHash","page","_destroy","resetModified","terminated","_getFieldObjectsPromise","_hasJSActionsPromise","cancelAllRequests","sink","getFullReader","evt","onPull","_ref8","onCancel","readyReason","headersCapability","fullReader","headersReady","isStreamingSupported","isRangeSupported","_loadingTask$onProgre","_loadingTask$onProgre2","contentLength","rangeReader","getRangeReader","_ref9","_ref10","_numPages","htmlForXfa","exception","updatePassword","_loadingTask$onProgre3","_startRenderPage","_ref11","_globalThis$FontInspe","exportedData","exportedError","fontRegistry","FontInspector","enabled","fontAdded","FontFaceObject","finally","_ref12","imageData","pageProxy","MAX_IMAGE_SIZE_TO_STORE","_imageData$data","_loadingTask$onProgre4","freeze","_ref13","_this$loadingTask$onU","_this$loadingTask","featureId","cachedPromise","num","gen","_this$_fullReader$fil","_this$_fullReader","filename","OptionalContentConfig","_this$_fullReader$fil2","_this$_fullReader2","_this$_fullReader$con","_this$_fullReader3","Metadata","cleanupSuccessful","_objs","_ensureObj","WeakSet","objId","_ensureObj2","settled","_internalRenderTask","onContinue","form","_ref14","operatorListIdx","running","graphicsReadyCallback","graphicsReady","_useRequestAnimationFrame","cancelled","_cancelBound","_continueBound","_continue","_scheduleNextBound","_scheduleNext","_nextBound","_ref15","_globalThis$StepperMa","_canvasInUse","StepperManager","stepper","nextBreakPoint","getNextBreakPoint","gfx","CanvasGraphics","beginDrawing","endDrawing","updateOperatorList","requestAnimationFrame","executeOperatorList","_editor","_murmurhash","_setModified","_storage","_modified","onSetModified","onResetModified","onAnnotationEditor","defaultValue","AnnotationEditor","modified","_setModified2","_type","print","serialized","serialize","hash","MurmurHash3_64","update","hexdigest","_serializable","parent","_tools","_defineProperty","_boundFocusin","_boundFocusout","_hasBeenSelected","_isEditing","_isInEditMode","_zIndex","parameters","focusin","focusout","div","viewportBaseDimensions","isAttachedToDOM","_defaultLineColor","_colorManager","getHexCode","zIndex","setSelected","relatedTarget","closest","preventDefault","isMultipleSelection","commitOrRemove","isEmpty","remove","commit","addToAnnotationStorage","getBoundingClientRect","startX","clientX","startY","clientY","setData","effectAllowed","tx","ty","screenToPageTranslation","left","top","parentWidth","parentHeight","setAttribute","className","setInForeground","getInitialTranslation","bindEvents","isMac","KeyboardManager","platform","button","ctrlKey","shiftKey","metaKey","toggleSelected","pageWidth","pageHeight","pageDimensions","shiftX","shiftY","_this$div","editor","getNextId","getRectInCurrentCoords","_this$div2","classList","_this$div3","propertiesToUpdate","contentDiv","isEditing","setActiveEditor","ColorManager","CommandManager","AnnotationEditorUIManager","opacityToHex","opacity","round","_id","IdManager","_this$id","_this$id2","_commands","_locked","_maxSize","_position","maxSize","cmd","undo","mustExec","NaN","overwriteIfSameType","keepUndo","_serialize","callbacks","allKeys","isMacKey","navigator","isWin","_serialize2","stopPropagation","altKey","ClipboardManager","_colors","colors","getColorValues","color","rgb","getRGB","matchMedia","matches","RGB","_colorsMapping","makeHexColor","_activeEditor","_allEditors","_allLayers","_clipboardManager","_commandManager","_currentPageIndex","_editorTypes","_eventBus","_idManager","_isEnabled","_mode","_selectedEditors","_boundKeydown","_boundOnEditingAction","_boundOnPageChanging","_previousStates","_container","_addKeyboardManager","_removeKeyboardManager","_dispatchUpdateStates","_dispatchUpdateUI","_enableAll","_disableAll","_addEditorToLayer","_isEmpty","_selectEditors","eventBus","keydown","onEditingAction","onPageChanging","hasEmptyClipboard","hasSomethingToUndo","hasSomethingToRedo","hasSelectedEditor","_on","_removeKeyboardManager2","_off","layer","focus","_this$getActive","getActive","shouldGetKeyboardEvents","_keyboardManager","_addKeyboardManager2","_dispatchUpdateStates2","_isEmpty2","types","editorType","_dispatchUpdateUI2","defaultPropertiesToUpdate","getId","disable","setEditingState","_disableAll2","_enableAll2","updateMode","dispatch","updateParams","updateDefaultParams","editors","unselect","hasSelection","select","ed","redo","_addEditorToLayer2","addCommands","copy","unselectAll","newEditors","paste","deserialize","_selectEditors2","hasChanged","addOrRebuild","addEditor","selectAll","cut","PixelsPerInch","PDFDateString","DOMSVGFactory","AnnotationPrefix","getCurrentTransform","getCurrentTransformInverse","getFilenameFromUrl","getPdfFilenameFromUrl","getXfaPageViewport","isPdfFile","isValidFetchUrl","_base_factory","SVG_NS","CSS","PDF","BaseCanvasFactory","fetchData","asTypedArray","baseURI","ok","arrayBuffer","responseType","onreadystatechange","DONE","BaseCMapReaderFactory","compressionType","cMapData","BaseStandardFontDataFactory","BaseSVGFactory","createElementNS","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","topLeft","bottomRight","applyInverseTransform","anchor","query","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","started","times","now","outBuf","longest","duration","padEnd","removeScriptElement","script","head","documentElement","append","pdfDateStringRegex","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","UTC","xfaPage","attributes","colorRGB","span","visibility","body","computedColor","getComputedStyle","ctx","getTransform","invertSelf","_createCanvas","canvasAndContext","_fetchData","skipDimensions","svg","_createSVG","SEED","MASK_HIGH","MASK_LOW","seed","h1","h2","blockCounts","tailLength","dataUint32","k1","k2","C1","C2","C1_LOW","C2_LOW","hex1","hex2","BaseFontLoader","nativeFontFaces","nativeFontFace","fonts","rule","getElementsByTagName","styleSheet","sheet","insertRule","cssRules","attached","missingFile","isFontLoadingAPISupported","createNativeFontFace","addNativeFontFace","family","createFontFaceRule","isSyncFontLoadingSupported","_queueLoadingCallback","_prepareFontLoadEvent","_this$_document","hasFonts","_loadTestFont","rules","fontsToLoad","GenericFontLoader","loadingContext","requests","nextRequestId","loadTestFontId","supported","completeRequest","otherRequest","getLoadTestFont","int32","offset","spliceString","insert","isFontReady","fillText","getImageData","COMMENT_OFFSET","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","loadedName","fontFamily","translatedData","compiledGlyphs","cssFontInfo","FontFace","css","weight","fontWeight","italicAngle","registerFont","mimetype","character","cmds","_pattern_helper","_image_utils","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","EXECUTION_TIME","EXECUTION_STEPS","MAX_SIZE_TO_COMPILE","Path2D","FULL_CHUNK_HEIGHT","mirrorContextOperations","destCtx","_removeMirroring","__originalSave","__originalRestore","__originalRotate","__originalScale","__originalTranslate","__originalTransform","__originalSetTransform","setTransform","__originalResetTransform","resetTransform","__originalClip","__originalMoveTo","__originalLineTo","__originalBezierCurveTo","bezierCurveTo","__originalRect","__originalClosePath","__originalBeginPath","beginPath","ctxSave","ctxRestore","ctxTranslate","ctxScale","ctxTransform","ctxSetTransform","ctxResetTransform","ctxRotate","cp1x","cp1y","cp2x","cp2y","CachedCanvases","cache","canvasEntry","reset","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","tlX","rTlX","tlY","rTlY","brX","rWidth","brY","rHeight","sign","drawImage","scaleX","hypot","scaleY","compileType3Glyph","imgData","POINT_TO_PROCESS_LIMIT","POINT_TYPES","width1","points","j0","lineSize","elem","mask","count","sum","steps","p0","pp","drawOutline","CanvasExtraState","alphaIsShape","fontSize","fontSizeScale","textMatrix","textMatrixScale","fontMatrix","leading","lineX","lineY","charSpacing","wordSpacing","textHScale","textRenderingMode","textRise","fillColor","strokeColor","patternFill","fillAlpha","strokeAlpha","lineWidth","activeSMask","transferMaps","startNewPathAndClipBox","clipBox","minX","minY","maxX","maxY","scaleMinMax","box","bezierBoundingBox","updateRectMinMax","pathType","PathType","singularValueDecompose2dScale","xStrokePad","yStrokePad","intersect","getPathBoundingBox","putBinaryImageData","putImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","createImageData","srcPos","destPos","thisChunkHeight","elemsInThisChunk","transferMapRed","transferMapGreen","transferMapBlue","transferMapGray","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","kEnd","kEndUnrolled","srcByte","hasTransferMaps","putBinaryImageMask","applyMaskImageData","copyCtxState","sourceCtx","properties","setLineDash","getLineDash","lineDashOffset","resetCtxToDefault","foregroundColor","strokeStyle","fillStyle","fillRule","globalAlpha","lineCap","lineJoin","miterLimit","globalCompositeOperation","composeSMaskBackdrop","r0","g0","b0","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","layerOffsetX","layerOffsetY","maskOffsetX","maskOffsetY","hasBackdrop","composeFn","PIXELS_TO_PROCESS","chunkHeight","composeSMask","layerBox","layerWidth","layerHeight","getImageSmoothingEnabled","interpolate","fround","actualScale","devicePixelRatio","PDF_TO_CSS_UNITS","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","_restoreInitialState","canvasCtx","stateStack","pendingClip","pendingEOFill","res","xobjs","groupStack","processingType3","baseTransform","baseTransformStack","groupLevel","smaskStack","smaskCounter","tempSMask","suspendedCtx","contentVisible","markedContentStack","cachedCanvases","cachedPatterns","viewportScale","outputScaleX","outputScaleY","backgroundColor","foreground","_cachedScaleForStroking","_cachedGetSinglePixelWidth","_cachedBitmapsMap","fallback","defaultBackgroundColor","fg","bg","isValidDefaultBg","defaultBg","rB","gB","bB","newComp","lumB","selectColor","lumC","fillRect","transparentCanvas","getCanvas","compositeCtx","beginLayout","executionStartIdx","continueCallback","argsArrayLen","chunkOperations","endTime","fnId","breakIt","depObjId","objsPool","_restoreInitialState2","HTMLCanvasElement","endLayout","img","inverseTransform","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","tmpCanvas","tmpCtx","newWidth","newHeight","clearRect","isPatternFill","currentTransform","scaled","maskCanvas","mainKey","withoutTranslation","cachedImage","maskToCanvas","cord1","cord2","normalizeRect","drawnWidth","drawnHeight","fillCanvas","fillCtx","_scaleImage","imageSmoothingEnabled","inverse","getPattern","limit","dashArray","dashPhase","flatness","states","checkSMaskState","inSMaskMode","beginSMaskMode","endSMaskMode","cacheId","scratchCanvas","dirtyBox","old","pop","ops","isScalingMatrix","minMaxForBezier","xw","yh","updatePathMinMax","updateCurvePathMinMax","updateScalingPathMinMax","setCurrentPoint","consumePath","rescaleAndStroke","getClippedPathBoundingBox","needRestore","paths","pendingTextPaths","addToPath","spacing","fontRefName","fontObj","fontDirection","isType3Font","bold","italic","typeface","fallbackName","browserFontSize","rise","patternTransform","fillStrokeMode","isAddToPathSet","getPathGenerator","strokeText","isFontSubpixelAAEnabled","glyphs","showType3Text","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","getSinglePixelWidth","glyph","restoreNeeded","isSpace","fontChar","accent","scaledX","scaledY","vmetric","vx","vy","remeasure","measuredWidth","measureText","characterScaleX","isInFont","paintChar","scaledAccentX","scaledAccentY","charWidth","compose","isTextInvisible","spacingLength","charProcOperatorList","operatorListId","transformed","xWidth","yWidth","llx","lly","urx","ury","IR","canvasGraphicsFactory","createCanvasGraphics","TilingPattern","_getPattern","getColorN_Pattern","_this$selectColor","_this$selectColor2","matrix","getShadingPattern","SHADING","inv","bl","br","ul","ur","bbox","group","currentCtx","isolated","knockout","getAxialAlignedBoundingBox","canvasBounds","groupCtx","startTransformInverse","currentMtx","hasOwnCanvas","canvasWidth","canvasHeight","annotationCanvas","savedCtx","getObject","compiled","_createMaskCanvas","positions","trans","images","image","imgToPaint","HTMLElement","appendImage","visible","isVisible","isContentVisible","isEmptyClip","updateClipFromPath","absDet","normX","normY","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","getScaleForStroking","savedMatrix","savedDashes","savedDashOffset","op","applyBoundingBox","region","BaseShadingPattern","RadialAxialShadingPattern","_bbox","_colorStops","_p0","_p1","_r0","_r1","grad","createLinearGradient","createRadialGradient","colorStop","addColorStop","owner","ownerBBox","_createGradient","createPattern","domMatrix","drawTriangle","c1","c2","c3","coords","rowSize","tmp","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","MeshShadingPattern","_coords","_figures","_bounds","_background","combinedScale","EXPECTED_SCALE","MAX_PATTERN_SIZE","BORDER_SIZE","boundsWidth","boundsHeight","paddedWidth","paddedHeight","matrixScale","temporaryPatternCanvas","_createMeshCanvas","DummyShadingPattern","PaintType","COLORED","UNCOLORED","xstep","ystep","paintType","tilingType","curMatrixScale","dimx","getSizeAndScale","dimy","graphics","setFillAndStrokeStyleToContext","adjustedX0","adjustedY0","adjustedX1","adjustedY1","clipBbox","realOutputSize","bboxWidth","bboxHeight","cssColor","createPatternCanvas","inverseDecode","opaque","zeroMapping","oneMapping","widthInSource","widthRemainder","CallbackKind","DATA","ERROR","StreamKind","CANCEL","CANCEL_COMPLETE","CLOSE","ENQUEUE","PULL","PULL_COMPLETE","START_COMPLETE","wrapReason","sourceName","targetName","comObj","callbackId","streamId","streamSinks","streamControllers","callbackCapabilities","actionHandler","_onComObjOnMessage","_processStreamMessage","cbSourceName","cbTargetName","_createStreamSink","actionName","handler","ah","queueingStrategy","startCapability","startCall","pullCall","cancelCall","isClosed","pullCapability","cancelCapability","streamSink","isCancelled","lastDesiredSize","sinkCapability","success","streamController","_deleteStreamController","allSettled","_metadataMap","_data","parsedData","rawData","_classPrivateFieldGet2","INTERNAL","_visible","OptionalContentGroup","internal","_cachedHasInitialVisibility","_groups","_initialVisibility","_order","_evaluateVisibilityExpression","creator","order","groups","baseState","_setVisible","off","expression","_evaluateVisibilityExpression2","policy","ids","hasInitialVisibility","operator","_queuedChunks","_progressiveDone","_contentDispositionFilename","_pdfDataRangeTransport","_isStreamingSupported","_isRangeSupported","_contentLength","_fullRequestReader","_rangeReaders","addRangeListener","_onReceiveData","addProgressListener","_onProgress","addProgressiveReadListener","addProgressiveDoneListener","_onProgressiveDone","transportReady","_enqueue","found","_begin","_progressiveDataLength","_this$_fullRequestRea","_this$_fullRequestRea2","_loaded","firstReader","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","requestDataRange","_stream","_done","_filename","_requests","_headersReady","requestCapability","_end","_queuedChunk","requestsCapability","_removeRangeReader","output","walk","_node$attributes","shouldBuildText","child","fs","require$$2","readFile","Canvas","require$$3","createCanvas","AnnotationEditorLayer","_freetext","_ink","_accessibilityManager","_allowClick","_boundPointerup","_boundPointerdown","_editors","_hadPointerDown","_isCleaningUp","_uiManager","_changeParent","_createNewEditor","_createAndAddNewEditor","_cleanup","pointerup","pointerdown","_initialized","FreeTextEditor","initialize","l10n","InkEditor","uiManager","registerEditorTypes","accessibilityManager","addLayer","updateToolbar","getMode","_cleanup2","addInkEditorIfNeeded","disableClick","enableClick","isCommitting","setInBackground","_createAndAddNewEditor2","pointerEvents","enableEditing","disableEditing","currentActive","removePointerInTextLayer","removeEditor","detach","activeElement","focusMainContainer","_changeParent2","attach","render","moveEditorInDOM","onceAdded","_classPrivateFieldGet3","moveElementInDOM","setValue","needsToBeRebuilt","rebuild","annotationType","isSelected","getEditor","dropEffect","endX","endY","_classPrivateFieldGet4","_classPrivateFieldGet5","removeLayer","setDimensions","getEditors","scaleFactor","pageLLx","pageLLy","pageURx","pageURy","flipOrientation","widthStr","heightStr","_editor$parent","_createNewEditor2","_boundEditorDivBlur","_boundEditorDivFocus","_boundEditorDivKeydown","_color","_content","_hasAlreadyBeenCommitted","_fontSize","_updateFontSize","_updateColor","_extractText","_setEditorDimensions","editorDivBlur","editorDivFocus","editorDivKeydown","_defaultColor","_defaultFontSize","_l10nPromise","_internalPadding","getPropertyValue","_updateFontSize2","_updateColor2","isInEditMode","enableEditMode","overlayDiv","editorDiv","contentEditable","draggable","disableEditMode","innerText","addUndoableEditor","_extractText2","trimEnd","_setEditorDimensions2","removeAttribute","baseX","baseY","_this$editorDiv","_this$editorDiv2","setAt","line","createTextNode","padding","getRect","convert","setFontsize","savedFontsize","savedColor","divs","firstChild","nodeName","_pdfjsFitCurve","fitCurve","_classStaticPrivateMethodGet","RESIZER_SIZE","_aspectRatio","_baseHeight","_baseWidth","_boundCanvasPointermove","_boundCanvasPointerleave","_boundCanvasPointerup","_boundCanvasPointerdown","_disableEditing","_isCanvasInitialized","_lastPoint","_observer","_realWidth","_realHeight","_requestFrameCallback","_updateThickness","_updateOpacity","_getInitialBBox","_setStroke","_startDrawing","_draw","_stopDrawing","_redraw","_endDrawing","_createObserver","_setCanvasDims","_setScaleFactor","_updateTransform","_serializePaths","_extractPointsOnBezier","_isAlmostFlat","_getBbox","_getPadding","_fitToContent","_setMinDims","canvasPointermove","canvasPointerleave","canvasPointerup","canvasPointerdown","thickness","bezierPath2D","currentPath","translationX","translationY","_defaultThickness","_defaultOpacity","_updateThickness2","_updateOpacity2","_this$opacity","_createCanvas2","_createObserver2","_setCanvasDims2","_fitToContent2","disconnect","_startDrawing2","_draw2","_endDrawing2","_getInitialBBox2","setDims","_redraw2","_setMinDims2","roundedWidth","roundedHeight","_setScaleFactor2","bezier","p10","p11","p20","p21","p30","p31","path2D","_buildPath2D","_getBbox2","_serializePaths2","savedThickness","savedOpacity","_setStroke2","_this$opacity2","lastX","lastY","_stopDrawing2","xy","_updateTransform2","_this$canvas","ResizeObserver","contentRect","observe","_getPadding2","scaleFactorW","scaleFactorH","control1","control2","NUMBER_OF_POINTS_ON_BEZIER_CURVE","p40","p41","_extractPointsOnBezier2","_isAlmostFlat2","q10","q11","q20","q21","q30","q31","tol","ax","ay","bx","by","xMin","xMax","yMin","yMax","firstTime","prevTranslationX","prevTranslationY","unscaledPadding","minHeight","minWidth","maxError","progressCallback","point","leftTangent","createTangent","rightTangent","fitCubic","MaxIterations","bezCurve","uPrime","prevErr","splitPoint","prevSplit","centerVector","toCenterTangent","fromCenterTangent","beziers","dist","maths","vectorLen","subtract","addArrays","mulItems","chordLengthParameterize","generateAndReport","reparameterize","errChange","paramsOrig","paramsPrime","generateBezier","computeMaxError","bez","maxErr","maxPoint","det_C0_C1","det_C0_X","det_X_C1","alpha_l","alpha_r","epsilon","segLength","ux","firstPoint","lastPoint","zeros_Xx2x2","dot","newtonRaphsonRootFind","qprime","numerator","mulMatrix","denominator","squareItems","qprimeprime","currU","prevU","prevP","maxDist","t_distMap","mapTtoRelativeDistances","find_t","B_parts","B_t_curr","B_t_dist","B_t_prev","sumLen","param","lenMax","lenMin","tMax","tMin","pointA","pointB","zs","multiplier","reduce","addition","divisor","divItems","ctrlPoly","pA","pB","pC","pD","AnnotationLayer","_scripting_utils","_xfa_layer","DEFAULT_TAB_INDEX","DEFAULT_FONT_SIZE","GetElementsByNameSet","getRectDims","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","fieldType","TextWidgetAnnotationElement","radioButton","RadioButtonWidgetAnnotationElement","checkBox","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","linkService","downloadManager","imageResourcesPath","renderForms","svgFactory","enableScripting","_fieldObjects","fieldObjects","_mouseState","mouseState","_createContainer","quadrilaterals","_createQuadrilaterals","borderStyle","borderWidth","horizontalRadius","horizontalCornerRadius","verticalRadius","verticalCornerRadius","radius","borderRadius","borderBottomStyle","borderColor","setRotation","elementWidth","elementHeight","_commonActions","setColor","jsName","styleName","ColorConverters","hidden","preventScroll","userName","title","readonly","_setRequired","bgColor","fgColor","textColor","jsEvent","commonActions","storedData","getRawValue","eventProxy","quadPoints","savedRect","quadPoint","trigger","popupElement","PopupElement","modificationDate","richText","hideWrapper","popup","quadrilateral","skipId","fieldObj","exportValues","exportValue","domElement","querySelector","getElementsByName","isTooltipOnly","link","isBound","addLinkAttributes","newWindow","_bindNamedAction","_bindLink","Action","_bindJSAction","resetForm","_bindResetFormAction","_renderQuadrilaterals","linkElement","cloneNode","getDestinationHash","onclick","goToDestination","getAnchorUrl","executeNamedAction","_this$linkService$eve","otherClickAction","resetFormFields","refs","resetFormRefs","include","allFields","fieldIds","fieldName","storage","allIds","dispatchEvent","Event","_this$linkService$eve2","_parameters$data$titl","_parameters$data$cont","_parameters$data$rich","hasPopup","dataset","l10nId","l10nArgs","_createPopup","alternativeText","baseName","eventName","valueGetter","_this$linkService$eve3","modifier","_getKeyModifier","_this$linkService$eve4","_this$data$actions","_setEventListener","TEXT_ALIGNMENT","fontColor","defaultAppearanceData","computedFontSize","multiLine","numberOfLines","lineHeight","textAlignment","textAlign","isRequired","hasAppearance","fieldValue","keyInStorage","_getElementsByName","getValue","formattedValue","maxLen","charLimit","elementData","userValue","valueOnFocus","doNotScroll","overflowY","overflowX","disabled","readOnly","maxLength","setPropertyOnSiblings","_this$data$defaultFie","defaultFieldValue","blurListener","scrollLeft","_this$data$actions2","_event$detail$value","setSelectionRange","selRange","_this$linkService$eve5","willCommit","commitKey","selStart","selectionStart","selEnd","selectionEnd","_dispatchEventFromSandbox","_this$linkService$eve6","_blurListener","isDown","_this$linkService$eve7","Keystroke","_this$linkService$eve8","inputType","change","_setEventListeners","comb","fieldWidth","combWidth","letterSpacing","verticalAlign","_setTextStyle","_setBackgroundColor","_setDefaultPropertiesFromJS","checked","checkbox","curChecked","buttonValue","radio","pdfButtonValue","lastChild","selectElement","addAnEmptyEntry","combo","multiSelect","multiple","option","selected","optionElement","displayValue","removeEmptyEntry","noneOptionElement","prepend","isExport","selectedIndex","getItems","_removeEmptyEntry","findIndex","selectChild","indices","editable","_this$linkService$eve9","changeEx","keyDown","_parameters$data$titl2","_parameters$data$cont2","_parameters$data$rich2","IGNORE_TYPES","parentType","selector","parentId","parentElements","querySelectorAll","parentRect","popupLeft","popupTop","pinned","_this$richText","_this$contentsObj","BACKGROUND_ENLIGHT","hideElement","dir","dateObject","toDateObject","toLocaleDateString","toLocaleTimeString","XfaLayer","xfaHtml","contents","_formatContents","_toggle","_show","_hide","lines","pin","unpin","_parameters$data$titl3","_parameters$data$cont3","_parameters$data$rich3","lineSpan","_parameters$data$titl4","_parameters$data$cont4","_parameters$data$rich4","lineCoordinates","_parameters$data$titl5","_parameters$data$cont5","_parameters$data$rich5","square","_parameters$data$titl6","_parameters$data$cont6","_parameters$data$rich6","circle","_parameters$data$titl7","_parameters$data$cont7","_parameters$data$rich7","containerClassName","svgElementName","coordinate","vertices","polyline","_parameters$data$titl8","_parameters$data$cont8","_parameters$data$rich8","_parameters$data$titl9","_parameters$data$cont9","_parameters$data$rich9","inkList","inkLists","_parameters$data$titl10","_parameters$data$cont10","_parameters$data$rich10","_parameters$data$titl11","_parameters$data$cont11","_parameters$data$rich11","_parameters$data$titl12","_parameters$data$cont12","_parameters$data$rich12","_parameters$data$titl13","_parameters$data$cont13","_parameters$data$rich13","_parameters$data$titl14","_parameters$data$cont14","_parameters$data$rich14","_this$linkService$eve10","_this$data$titleObj","_this$data$contentsOb","_download","_this$downloadManager","openOrDownloadData","_setDimensions","rendered","renderedElement","_appendElement","_setAnnotationCanvasMap","contentElement","replaceWith","makeColorComp","G","B","CMYK_RGB","RGB_HTML","xfaOn","xfaOff","getAttribute","isHTMLAnchorElement","HTMLAnchorElement","dataId","setupStorage","rootHtml","setAttributes","rootDiv","textDivs","_child$attributes","childHtml","xmlns","TextLayerRenderTask","renderTextLayer","MAX_TEXT_DIVS_TO_RENDER","DEFAULT_FONT_ASCENT","ascentCache","AllWhitespaceRegexp","getAscent","cachedAscent","metrics","ascent","fontBoundingBoxAscent","descent","fontBoundingBoxDescent","ratio","pixels","appendText","geom","textDiv","textDivProperties","_enhanceTextSelection","hasText","hasEOL","originalTransform","paddingBottom","paddingLeft","paddingRight","paddingTop","_textDivs","_viewport","atan2","fontName","fontHeight","fontAscent","_fontInspectorEnabled","shouldScaleText","absScaleX","absScaleY","_textDivProperties","_textContentStream","_layoutText","angleCos","angleSin","divWidth","divHeight","right","bottom","_canceled","textDivsLength","_renderingDone","findPositiveMin","ts","expand","expanded","expandBounds","divProperties","jj","boxScale","boxes","x1New","x2New","expandBoundsLTR","sort","fakeBoundary","horizon","boundary","horizonPart","affectedBoundary","maxXNew","xNew","changedHorizon","lastBoundary","useBoundary","unshift","used","textContentStream","textContentItemsStr","enhanceTextSelection","_textContent","_textContentItemsStr","_layoutTextLastFontSize","_layoutTextLastFontFamily","_layoutTextCtx","_renderTimer","_devicePixelRatio","styleCache","parentNode","timeout","textItems","textStyles","_processItems","expandDivs","transformBuf","paddingBuf","divProps","renderParameters","_render","SVGGraphics","SVG_DEFAULTS","fontStyle","XML_NS","XLINK_NS","contentType","forceDataSchema","digits","b1","b2","b3","d1","d2","d3","d4","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","adler32","deflateSync","literals","deflateSyncUncompressed","require$$4","maxBlockLength","deflateBlocks","idat","pi","adler","encode","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","dependencies","activeClipUrl","clipGroup","maskId","opListToTree","opList","opTree","opListElement","pf","toFixed","pm","acos","clipCount","maskCount","shadingCount","transformMatrix","transformStack","extraStack","embedFonts","embeddedFonts","cssStyle","_operatorIdMapping","tgrp","executeOpTree","svgElement","loadDependencies","convertOpList","operatorIdMapping","opTreeElement","lineMatrix","xcoords","ycoords","tspan","setAttributeNS","txtElement","txtgrp","lineWidthScale","_setStrokeAttributes","_ensureTransformGroup","defs","addFontStyle","_current$txtElement","hasChildNodes","_makeColorN_Pattern","_makeShadingPattern","_makeTilingPattern","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","childNodes","shadingId","colorStops","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","getAttributeNS","clipId","clipPath","clipElement","setStrokeAlpha","setFillAlpha","imgSrc","cliprect","imgEl","definitions","rootGroup","_ensureClipGroup","PDFNodeStream","_network_utils","http","require$$5","https","require$$6","require$$7","fileUriRegex","parseUrl","sourceUrl","parsedUrl","host","isHttp","isFsUrl","_rangeRequestReaders","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","_url","_disableRange","_rangeChunkSize","_readableStream","_readCapability","_headersCapability","_error","BaseRangeReader","createRequestOptions","headers","auth","hostname","handleResponse","statusCode","_setReadableStream","allowRangeRequests","suggestedLength","validateRangeRequestCapabilities","extractFilenameFromHeader","_request","_httpHeaders","Range","lstat","createReadStream","createResponseStatusError","validateResponseStatus","_content_disposition","returnValues","contentEncoding","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","attributePattern","textdecode","contentDispositionStr","iter","quot","part","parts","quotindex","extvalue","encodingend","langvalue","charset","hex","PDFNetworkStream","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","getXhr","NetworkManager_getXhr","currXhrId","pendingRequests","listeners","xhrId","pendingRequest","expectedStatus","onStateChange","onprogress","onHeadersReceived","onDone","_pendingRequest$onPro","_pendingRequest$onErr","xhrStatus","ok_response_on_range_request","_pendingRequest$onErr2","rangeHeader","_pendingRequest$onErr3","_source","_manager","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","onClosed","_onRangeRequestReaderClosed","manager","_onHeadersReceived","_onDone","_onError","_fullRequestId","requestFull","_headersReceivedCapability","_cachedChunks","fullRequestXhrId","fullRequestXhr","getRequestXhr","_this$onProgress","lengthComputable","isPendingRequest","_requestId","requestRange","_this$onClosed","_close","_this$onProgress2","PDFFetchStream","createFetchOptions","abortController","credentials","redirect","createHeaders","Headers","PDFFetchStreamReader","PDFFetchStreamRangeReader","_withCredentials","_headers","__webpack_module_cache__","moduleId","cachedModule","__webpack_exports__","_annotation_editor_layer","_annotation_layer","_api","_svg","_text_layer","flipFileViewerPdfCss","pdf","FlipFileViewerPdf","zoom","visiblePages","pages","renderedPages","renderingPageNumbers","onScroll","updateVisiblePages","getPages","openPrintDialog","doc","forPrint","canvases","shadowRoot","textContainer","find","getScale","getViewport","renderContext","getVisibleHeight","scrollContainer","visiblePagesDidNotChanged","renderVisiblePages","getTextContent","toDataURL","win","clientWidth","showPagination","showSpinner","aria-describedby","aria-label","data-page-number","role","aria-current","flipFileViewerTextCss","FlipFileViewerText","updateText","flipFileViewerVideoCss","FlipFileViewerVideo"],"mappings":"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","sourcesContent":[":host {\n display: inline-flex;\n width: 100%;\n height: 100%;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.file-viewer-audio__audio {\n width: 100%;\n height: 100%;\n}\n","import { Component, h, Host, Prop } from \"@stencil/core\";\n\n@Component({\n shadow: true,\n styleUrl: \"flip-file-viewer-audio.css\",\n tag: \"flip-file-viewer-audio\",\n})\nexport class FlipFileViewerAudio {\n @Prop() file!: string;\n @Prop() type!: string;\n\n render() {\n return (\n <Host class=\"file-viewer-audio\">\n <audio class=\"file-viewer-audio__audio\" controls>\n <source src={this.file} type={this.type}></source>\n </audio>\n </Host>\n );\n }\n}\n","/* @license\nPapa Parse\nv5.3.2\nhttps://github.com/mholt/PapaParse\nLicense: MIT\n*/\n!function(e,t){\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof module&&\"undefined\"!=typeof exports?module.exports=t():e.Papa=t()}(this,function s(){\"use strict\";var f=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==f?f:{};var n=!f.document&&!!f.postMessage,o=n&&/blob:/i.test((f.location||{}).protocol),a={},h=0,b={parse:function(e,t){var i=(t=t||{}).dynamicTyping||!1;M(i)&&(t.dynamicTypingFunction=i,i={});if(t.dynamicTyping=i,t.transform=!!M(t.transform)&&t.transform,t.worker&&b.WORKERS_SUPPORTED){var r=function(){if(!b.WORKERS_SUPPORTED)return!1;var e=(i=f.URL||f.webkitURL||null,r=s.toString(),b.BLOB_URL||(b.BLOB_URL=i.createObjectURL(new Blob([\"(\",r,\")();\"],{type:\"text/javascript\"})))),t=new f.Worker(e);var i,r;return t.onmessage=_,t.id=h++,a[t.id]=t}();return r.userStep=t.step,r.userChunk=t.chunk,r.userComplete=t.complete,r.userError=t.error,t.step=M(t.step),t.chunk=M(t.chunk),t.complete=M(t.complete),t.error=M(t.error),delete t.worker,void r.postMessage({input:e,config:t,workerId:r.id})}var n=null;b.NODE_STREAM_INPUT,\"string\"==typeof e?n=t.download?new l(t):new p(t):!0===e.readable&&M(e.read)&&M(e.on)?n=new g(t):(f.File&&e instanceof File||e instanceof Object)&&(n=new c(t));return n.stream(e)},unparse:function(e,t){var n=!1,_=!0,m=\",\",y=\"\\r\\n\",s='\"',a=s+s,i=!1,r=null,o=!1;!function(){if(\"object\"!=typeof t)return;\"string\"!=typeof t.delimiter||b.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(m=t.delimiter);(\"boolean\"==typeof t.quotes||\"function\"==typeof t.quotes||Array.isArray(t.quotes))&&(n=t.quotes);\"boolean\"!=typeof t.skipEmptyLines&&\"string\"!=typeof t.skipEmptyLines||(i=t.skipEmptyLines);\"string\"==typeof t.newline&&(y=t.newline);\"string\"==typeof t.quoteChar&&(s=t.quoteChar);\"boolean\"==typeof t.header&&(_=t.header);if(Array.isArray(t.columns)){if(0===t.columns.length)throw new Error(\"Option columns is empty\");r=t.columns}void 0!==t.escapeChar&&(a=t.escapeChar+s);(\"boolean\"==typeof t.escapeFormulae||t.escapeFormulae instanceof RegExp)&&(o=t.escapeFormulae instanceof RegExp?t.escapeFormulae:/^[=+\\-@\\t\\r].*$/)}();var h=new RegExp(j(s),\"g\");\"string\"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return u(null,e,i);if(\"object\"==typeof e[0])return u(r||Object.keys(e[0]),e,i)}else if(\"object\"==typeof e)return\"string\"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||r),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:\"object\"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||\"object\"==typeof e.data[0]||(e.data=[e.data])),u(e.fields||[],e.data||[],i);throw new Error(\"Unable to serialize unrecognized input\");function u(e,t,i){var r=\"\";\"string\"==typeof e&&(e=JSON.parse(e)),\"string\"==typeof t&&(t=JSON.parse(t));var n=Array.isArray(e)&&0<e.length,s=!Array.isArray(t[0]);if(n&&_){for(var a=0;a<e.length;a++)0<a&&(r+=m),r+=v(e[a],a);0<t.length&&(r+=y)}for(var o=0;o<t.length;o++){var h=n?e.length:t[o].length,u=!1,f=n?0===Object.keys(t[o]).length:0===t[o].length;if(i&&!n&&(u=\"greedy\"===i?\"\"===t[o].join(\"\").trim():1===t[o].length&&0===t[o][0].length),\"greedy\"===i&&n){for(var d=[],l=0;l<h;l++){var c=s?e[l]:l;d.push(t[o][c])}u=\"\"===d.join(\"\").trim()}if(!u){for(var p=0;p<h;p++){0<p&&!f&&(r+=m);var g=n&&s?e[p]:p;r+=v(t[o][g],p)}o<t.length-1&&(!i||0<h&&!f)&&(r+=y)}}return r}function v(e,t){if(null==e)return\"\";if(e.constructor===Date)return JSON.stringify(e).slice(1,25);var i=!1;o&&\"string\"==typeof e&&o.test(e)&&(e=\"'\"+e,i=!0);var r=e.toString().replace(h,a);return(i=i||!0===n||\"function\"==typeof n&&n(e,t)||Array.isArray(n)&&n[t]||function(e,t){for(var i=0;i<t.length;i++)if(-1<e.indexOf(t[i]))return!0;return!1}(r,b.BAD_DELIMITERS)||-1<r.indexOf(m)||\" \"===r.charAt(0)||\" \"===r.charAt(r.length-1))?s+r+s:r}}};if(b.RECORD_SEP=String.fromCharCode(30),b.UNIT_SEP=String.fromCharCode(31),b.BYTE_ORDER_MARK=\"\\ufeff\",b.BAD_DELIMITERS=[\"\\r\",\"\\n\",'\"',b.BYTE_ORDER_MARK],b.WORKERS_SUPPORTED=!n&&!!f.Worker,b.NODE_STREAM_INPUT=1,b.LocalChunkSize=10485760,b.RemoteChunkSize=5242880,b.DefaultDelimiter=\",\",b.Parser=E,b.ParserHandle=i,b.NetworkStreamer=l,b.FileStreamer=c,b.StringStreamer=p,b.ReadableStreamStreamer=g,f.jQuery){var d=f.jQuery;d.fn.parse=function(o){var i=o.config||{},h=[];return this.each(function(e){if(!(\"INPUT\"===d(this).prop(\"tagName\").toUpperCase()&&\"file\"===d(this).attr(\"type\").toLowerCase()&&f.FileReader)||!this.files||0===this.files.length)return!0;for(var t=0;t<this.files.length;t++)h.push({file:this.files[t],inputElem:this,instanceConfig:d.extend({},i)})}),e(),this;function e(){if(0!==h.length){var e,t,i,r,n=h[0];if(M(o.before)){var s=o.before(n.file,n.inputElem);if(\"object\"==typeof s){if(\"abort\"===s.action)return e=\"AbortError\",t=n.file,i=n.inputElem,r=s.reason,void(M(o.error)&&o.error({name:e},t,i,r));if(\"skip\"===s.action)return void u();\"object\"==typeof s.config&&(n.instanceConfig=d.extend(n.instanceConfig,s.config))}else if(\"skip\"===s)return void u()}var a=n.instanceConfig.complete;n.instanceConfig.complete=function(e){M(a)&&a(e,n.file,n.inputElem),u()},b.parse(n.file,n.instanceConfig)}else M(o.complete)&&o.complete()}function u(){h.splice(0,1),e()}}}function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine=\"\",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=w(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null);this._handle=new i(t),(this._handle.streamer=this)._config=t}.call(this,e),this.parseChunk=function(e,t){if(this.isFirstChunk&&M(this._config.beforeFirstChunk)){var i=this._config.beforeFirstChunk(e);void 0!==i&&(e=i)}this.isFirstChunk=!1,this._halted=!1;var r=this._partialLine+e;this._partialLine=\"\";var n=this._handle.parse(r,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var s=n.meta.cursor;this._finished||(this._partialLine=r.substring(s-this._baseIndex),this._baseIndex=s),n&&n.data&&(this._rowCount+=n.data.length);var a=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(o)f.postMessage({results:n,workerId:b.WORKER_ID,finished:a});else if(M(this._config.chunk)&&!t){if(this._config.chunk(n,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);n=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(n.data),this._completeResults.errors=this._completeResults.errors.concat(n.errors),this._completeResults.meta=n.meta),this._completed||!a||!M(this._config.complete)||n&&n.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),a||n&&n.meta.paused||this._nextChunk(),n}this._halted=!0},this._sendError=function(e){M(this._config.error)?this._config.error(e):o&&this._config.error&&f.postMessage({workerId:b.WORKER_ID,error:e,finished:!1})}}function l(e){var r;(e=e||{}).chunkSize||(e.chunkSize=b.RemoteChunkSize),u.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(r=new XMLHttpRequest,this._config.withCredentials&&(r.withCredentials=this._config.withCredentials),n||(r.onload=v(this._chunkLoaded,this),r.onerror=v(this._chunkError,this)),r.open(this._config.downloadRequestBody?\"POST\":\"GET\",this._input,!n),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var t in e)r.setRequestHeader(t,e[t])}if(this._config.chunkSize){var i=this._start+this._config.chunkSize-1;r.setRequestHeader(\"Range\",\"bytes=\"+this._start+\"-\"+i)}try{r.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}n&&0===r.status&&this._chunkError()}},this._chunkLoaded=function(){4===r.readyState&&(r.status<200||400<=r.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:r.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(e){var t=e.getResponseHeader(\"Content-Range\");if(null===t)return-1;return parseInt(t.substring(t.lastIndexOf(\"/\")+1))}(r),this.parseChunk(r.responseText)))},this._chunkError=function(e){var t=r.statusText||e;this._sendError(new Error(t))}}function c(e){var r,n;(e=e||{}).chunkSize||(e.chunkSize=b.LocalChunkSize),u.call(this,e);var s=\"undefined\"!=typeof FileReader;this.stream=function(e){this._input=e,n=e.slice||e.webkitSlice||e.mozSlice,s?((r=new FileReader).onload=v(this._chunkLoaded,this),r.onerror=v(this._chunkError,this)):r=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input;if(this._config.chunkSize){var t=Math.min(this._start+this._config.chunkSize,this._input.size);e=n.call(e,this._start,t)}var i=r.readAsText(e,this._config.encoding);s||this._chunkLoaded({target:{result:i}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(r.error)}}function p(e){var i;u.call(this,e=e||{}),this.stream=function(e){return i=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e,t=this._config.chunkSize;return t?(e=i.substring(0,t),i=i.substring(t)):(e=i,i=\"\"),this._finished=!i,this.parseChunk(e)}}}function g(e){u.call(this,e=e||{});var t=[],i=!0,r=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(\"data\",this._streamData),this._input.on(\"end\",this._streamEnd),this._input.on(\"error\",this._streamError)},this._checkIsFinished=function(){r&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):i=!0},this._streamData=v(function(e){try{t.push(\"string\"==typeof e?e:e.toString(this._config.encoding)),i&&(i=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=v(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=v(function(){this._streamCleanUp(),r=!0,this._streamData(\"\")},this),this._streamCleanUp=v(function(){this._input.removeListener(\"data\",this._streamData),this._input.removeListener(\"end\",this._streamEnd),this._input.removeListener(\"error\",this._streamError)},this)}function i(m){var a,o,h,r=Math.pow(2,53),n=-r,s=/^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/,u=/^(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))$/,t=this,i=0,f=0,d=!1,e=!1,l=[],c={data:[],errors:[],meta:{}};if(M(m.step)){var p=m.step;m.step=function(e){if(c=e,_())g();else{if(g(),0===c.data.length)return;i+=e.data.length,m.preview&&i>m.preview?o.abort():(c.data=c.data[0],p(c,t))}}}function y(e){return\"greedy\"===m.skipEmptyLines?\"\"===e.join(\"\").trim():1===e.length&&0===e[0].length}function g(){return c&&h&&(k(\"Delimiter\",\"UndetectableDelimiter\",\"Unable to auto-detect delimiting character; defaulted to '\"+b.DefaultDelimiter+\"'\"),h=!1),m.skipEmptyLines&&(c.data=c.data.filter(function(e){return!y(e)})),_()&&function(){if(!c)return;function e(e,t){M(m.transformHeader)&&(e=m.transformHeader(e,t)),l.push(e)}if(Array.isArray(c.data[0])){for(var t=0;_()&&t<c.data.length;t++)c.data[t].forEach(e);c.data.splice(0,1)}else c.data.forEach(e)}(),function(){if(!c||!m.header&&!m.dynamicTyping&&!m.transform)return c;function e(e,t){var i,r=m.header?{}:[];for(i=0;i<e.length;i++){var n=i,s=e[i];m.header&&(n=i>=l.length?\"__parsed_extra\":l[i]),m.transform&&(s=m.transform(s,n)),s=v(n,s),\"__parsed_extra\"===n?(r[n]=r[n]||[],r[n].push(s)):r[n]=s}return m.header&&(i>l.length?k(\"FieldMismatch\",\"TooManyFields\",\"Too many fields: expected \"+l.length+\" fields but parsed \"+i,f+t):i<l.length&&k(\"FieldMismatch\",\"TooFewFields\",\"Too few fields: expected \"+l.length+\" fields but parsed \"+i,f+t)),r}var t=1;!c.data.length||Array.isArray(c.data[0])?(c.data=c.data.map(e),t=c.data.length):c.data=e(c.data,0);m.header&&c.meta&&(c.meta.fields=l);return f+=t,c}()}function _(){return m.header&&0===l.length}function v(e,t){return i=e,m.dynamicTypingFunction&&void 0===m.dynamicTyping[i]&&(m.dynamicTyping[i]=m.dynamicTypingFunction(i)),!0===(m.dynamicTyping[i]||m.dynamicTyping)?\"true\"===t||\"TRUE\"===t||\"false\"!==t&&\"FALSE\"!==t&&(function(e){if(s.test(e)){var t=parseFloat(e);if(n<t&&t<r)return!0}return!1}(t)?parseFloat(t):u.test(t)?new Date(t):\"\"===t?null:t):t;var i}function k(e,t,i,r){var n={type:e,code:t,message:i};void 0!==r&&(n.row=r),c.errors.push(n)}this.parse=function(e,t,i){var r=m.quoteChar||'\"';if(m.newline||(m.newline=function(e,t){e=e.substring(0,1048576);var i=new RegExp(j(t)+\"([^]*?)\"+j(t),\"gm\"),r=(e=e.replace(i,\"\")).split(\"\\r\"),n=e.split(\"\\n\"),s=1<n.length&&n[0].length<r[0].length;if(1===r.length||s)return\"\\n\";for(var a=0,o=0;o<r.length;o++)\"\\n\"===r[o][0]&&a++;return a>=r.length/2?\"\\r\\n\":\"\\r\"}(e,r)),h=!1,m.delimiter)M(m.delimiter)&&(m.delimiter=m.delimiter(e),c.meta.delimiter=m.delimiter);else{var n=function(e,t,i,r,n){var s,a,o,h;n=n||[\",\",\"\\t\",\"|\",\";\",b.RECORD_SEP,b.UNIT_SEP];for(var u=0;u<n.length;u++){var f=n[u],d=0,l=0,c=0;o=void 0;for(var p=new E({comments:r,delimiter:f,newline:t,preview:10}).parse(e),g=0;g<p.data.length;g++)if(i&&y(p.data[g]))c++;else{var _=p.data[g].length;l+=_,void 0!==o?0<_&&(d+=Math.abs(_-o),o=_):o=_}0<p.data.length&&(l/=p.data.length-c),(void 0===a||d<=a)&&(void 0===h||h<l)&&1.99<l&&(a=d,s=f,h=l)}return{successful:!!(m.delimiter=s),bestDelimiter:s}}(e,m.newline,m.skipEmptyLines,m.comments,m.delimitersToGuess);n.successful?m.delimiter=n.bestDelimiter:(h=!0,m.delimiter=b.DefaultDelimiter),c.meta.delimiter=m.delimiter}var s=w(m);return m.preview&&m.header&&s.preview++,a=e,o=new E(s),c=o.parse(a,t,i),g(),d?{meta:{paused:!0}}:c||{meta:{paused:!1}}},this.paused=function(){return d},this.pause=function(){d=!0,o.abort(),a=M(m.chunk)?\"\":a.substring(o.getCharIndex())},this.resume=function(){t.streamer._halted?(d=!1,t.streamer.parseChunk(a,!0)):setTimeout(t.resume,3)},this.aborted=function(){return e},this.abort=function(){e=!0,o.abort(),c.meta.aborted=!0,M(m.complete)&&m.complete(c),a=\"\"}}function j(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function E(e){var S,O=(e=e||{}).delimiter,x=e.newline,I=e.comments,T=e.step,D=e.preview,A=e.fastMode,L=S=void 0===e.quoteChar||null===e.quoteChar?'\"':e.quoteChar;if(void 0!==e.escapeChar&&(L=e.escapeChar),(\"string\"!=typeof O||-1<b.BAD_DELIMITERS.indexOf(O))&&(O=\",\"),I===O)throw new Error(\"Comment character same as delimiter\");!0===I?I=\"#\":(\"string\"!=typeof I||-1<b.BAD_DELIMITERS.indexOf(I))&&(I=!1),\"\\n\"!==x&&\"\\r\"!==x&&\"\\r\\n\"!==x&&(x=\"\\n\");var F=0,z=!1;this.parse=function(r,t,i){if(\"string\"!=typeof r)throw new Error(\"Input must be a string\");var n=r.length,e=O.length,s=x.length,a=I.length,o=M(T),h=[],u=[],f=[],d=F=0;if(!r)return C();if(A||!1!==A&&-1===r.indexOf(S)){for(var l=r.split(x),c=0;c<l.length;c++){if(f=l[c],F+=f.length,c!==l.length-1)F+=x.length;else if(i)return C();if(!I||f.substring(0,a)!==I){if(o){if(h=[],k(f.split(O)),R(),z)return C()}else k(f.split(O));if(D&&D<=c)return h=h.slice(0,D),C(!0)}}return C()}for(var p=r.indexOf(O,F),g=r.indexOf(x,F),_=new RegExp(j(L)+j(S),\"g\"),m=r.indexOf(S,F);;)if(r[F]!==S)if(I&&0===f.length&&r.substring(F,F+a)===I){if(-1===g)return C();F=g+s,g=r.indexOf(x,F),p=r.indexOf(O,F)}else if(-1!==p&&(p<g||-1===g))f.push(r.substring(F,p)),F=p+e,p=r.indexOf(O,F);else{if(-1===g)break;if(f.push(r.substring(F,g)),w(g+s),o&&(R(),z))return C();if(D&&h.length>=D)return C(!0)}else for(m=F,F++;;){if(-1===(m=r.indexOf(S,m+1)))return i||u.push({type:\"Quotes\",code:\"MissingQuotes\",message:\"Quoted field unterminated\",row:h.length,index:F}),E();if(m===n-1)return E(r.substring(F,m).replace(_,S));if(S!==L||r[m+1]!==L){if(S===L||0===m||r[m-1]!==L){-1!==p&&p<m+1&&(p=r.indexOf(O,m+1)),-1!==g&&g<m+1&&(g=r.indexOf(x,m+1));var y=b(-1===g?p:Math.min(p,g));if(r.substr(m+1+y,e)===O){f.push(r.substring(F,m).replace(_,S)),r[F=m+1+y+e]!==S&&(m=r.indexOf(S,F)),p=r.indexOf(O,F),g=r.indexOf(x,F);break}var v=b(g);if(r.substring(m+1+v,m+1+v+s)===x){if(f.push(r.substring(F,m).replace(_,S)),w(m+1+v+s),p=r.indexOf(O,F),m=r.indexOf(S,F),o&&(R(),z))return C();if(D&&h.length>=D)return C(!0);break}u.push({type:\"Quotes\",code:\"InvalidQuotes\",message:\"Trailing quote on quoted field is malformed\",row:h.length,index:F}),m++}}else m++}return E();function k(e){h.push(e),d=F}function b(e){var t=0;if(-1!==e){var i=r.substring(m+1,e);i&&\"\"===i.trim()&&(t=i.length)}return t}function E(e){return i||(void 0===e&&(e=r.substring(F)),f.push(e),F=n,k(f),o&&R()),C()}function w(e){F=e,k(f),f=[],g=r.indexOf(x,F)}function C(e){return{data:h,errors:u,meta:{delimiter:O,linebreak:x,aborted:z,truncated:!!e,cursor:d+(t||0)}}}function R(){T(C()),h=[],u=[]}},this.abort=function(){z=!0},this.getCharIndex=function(){return F}}function _(e){var t=e.data,i=a[t.workerId],r=!1;if(t.error)i.userError(t.error,t.file);else if(t.results&&t.results.data){var n={abort:function(){r=!0,m(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:y,resume:y};if(M(i.userStep)){for(var s=0;s<t.results.data.length&&(i.userStep({data:t.results.data[s],errors:t.results.errors,meta:t.results.meta},n),!r);s++);delete t.results}else M(i.userChunk)&&(i.userChunk(t.results,n,t.file),delete t.results)}t.finished&&!r&&m(t.workerId,t.results)}function m(e,t){var i=a[e];M(i.userComplete)&&i.userComplete(t),i.terminate(),delete a[e]}function y(){throw new Error(\"Not implemented.\")}function w(e){if(\"object\"!=typeof e||null===e)return e;var t=Array.isArray(e)?[]:{};for(var i in e)t[i]=w(e[i]);return t}function v(e,t){return function(){e.apply(t,arguments)}}function M(e){return\"function\"==typeof e}return o&&(f.onmessage=function(e){var t=e.data;void 0===b.WORKER_ID&&t&&(b.WORKER_ID=t.workerId);if(\"string\"==typeof t.input)f.postMessage({workerId:b.WORKER_ID,results:b.parse(t.input,t.config),finished:!0});else if(f.File&&t.input instanceof File||t.input instanceof Object){var i=b.parse(t.input,t.config);i&&f.postMessage({workerId:b.WORKER_ID,results:i,finished:!0})}}),(l.prototype=Object.create(u.prototype)).constructor=l,(c.prototype=Object.create(u.prototype)).constructor=c,(p.prototype=Object.create(p.prototype)).constructor=p,(g.prototype=Object.create(u.prototype)).constructor=g,b});",":host {\n position: relative;\n display: inline-flex;\n width: 100%;\n max-height: 100%;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.file-viewer-csv__csv {\n overflow: auto;\n width: 100%;\n max-height: 100%;\n}\n\n.file-viewer-csv__table {\n margin-right: auto;\n margin-left: auto;\n border-collapse: collapse;\n}\n\n.file-viewer-csv__cell {\n padding: var(--s-space-8);\n border: var(--s-border-width-default) solid var(--s-border-default);\n}\n\n.file-viewer-csv__spinner {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(0, 0, 0, 0.2);\n inset: 0;\n}\n\n.file-viewer-csv__error {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -50%, 0);\n}\n","import { Component, h, Host, Prop, State, Watch } from \"@stencil/core\";\nimport { parse } from \"papaparse\";\n\n@Component({\n shadow: true,\n styleUrl: \"flip-file-viewer-csv.css\",\n tag: \"flip-file-viewer-csv\",\n})\nexport class FlipFileViewerCsv {\n @Prop() errorMessage?: string = \"File could not be loaded.\";\n @Prop() file!: string;\n\n @State() data: (boolean | number | string)[][];\n @State() error: boolean;\n @State() loading: boolean;\n\n componentWillLoad() {\n this.updateTable();\n }\n\n @Watch(\"file\")\n async updateTable() {\n this.error = false;\n this.loading = true;\n\n try {\n const response = await fetch(this.file);\n\n const parsed = parse<string[]>(await response.text(), {\n dynamicTyping: true,\n fastMode: false,\n skipEmptyLines: true,\n });\n\n if (parsed.errors?.length > 0) {\n this.error = true;\n this.loading = false;\n return;\n }\n\n this.data = parsed.data;\n\n this.loading = false;\n } catch (e) {\n this.loading = false;\n this.error = true;\n }\n }\n\n render() {\n return (\n <Host class=\"file-viewer-csv\">\n {this.error && (\n <flip-inline-error\n class=\"file-viewer-csv__error\"\n message={this.errorMessage}\n ></flip-inline-error>\n )}\n <div class=\"file-viewer-csv__csv\" tabIndex={0}>\n <table class=\"file-viewer-csv__table\">\n <tbody>\n {this.data?.map((row, index) => (\n <tr class=\"file-viewer-csv__row\" key={`row-${index}`}>\n {row.map((cell, i) => (\n <td\n class=\"file-viewer-csv__cell\"\n key={`cell-${index}-${i}`}\n >\n {cell}\n </td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n {this.loading && (\n <div class=\"file-viewer-csv__spinner\">\n <flip-spinner></flip-spinner>\n </div>\n )}\n </Host>\n );\n }\n}\n",":host {\n position: relative;\n display: inline-flex;\n max-height: 100%;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.file-viewer-image__image {\n max-width: 100%;\n object-fit: contain;\n}\n\n.file-viewer-image__spinner {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(0, 0, 0, 0.2);\n inset: 0;\n}\n\n.file-viewer-image__error {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -50%, 0);\n}\n","import { Component, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\n@Component({\n shadow: true,\n styleUrl: \"flip-file-viewer-image.css\",\n tag: \"flip-file-viewer-image\",\n})\nexport class FlipFileViewerImage {\n @Prop() description?: string = \"\";\n @Prop() errorMessage?: string = \"File could not be loaded.\";\n @Prop() file!: string;\n\n @State() error: boolean;\n @State() loading: boolean = true;\n\n @Watch(\"file\")\n watchFile() {\n this.error = false;\n this.loading = true;\n }\n\n private onError = () => {\n this.error = true;\n this.loading = false;\n };\n\n private onLoad = () => {\n this.error = false;\n this.loading = false;\n };\n\n render() {\n return (\n <Host class=\"file-viewer-image\">\n {this.error && (\n <flip-inline-error\n class=\"file-viewer-image__error\"\n message={this.errorMessage}\n ></flip-inline-error>\n )}\n <img\n alt={this.description}\n class=\"file-viewer-image__image\"\n onError={this.onError}\n onLoad={this.onLoad}\n src={this.file}\n />\n {this.loading && (\n <div class=\"file-viewer-image__spinner\">\n <flip-spinner></flip-spinner>\n </div>\n )}\n </Host>\n );\n }\n}\n","/*!\n* DOMMatrix v1.0.3 (https://thednp.github.io/dommatrix/)\n* Copyright 2022 © thednp\n* Licensed under MIT (https://github.com/thednp/DOMMatrix/blob/master/LICENSE)\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.CSSMatrix = factory());\n})(this, (function () { 'use strict';\n\n // DOMMatrix Static methods\n // * `fromArray` is a more simple implementation, should also accept Float[32/64]Array;\n // * `fromMatrix` load values from another CSSMatrix/DOMMatrix instance or JSON object;\n // * `fromString` parses and loads values from any valid CSS transform string (TransformList).\n\n /**\n * Creates a new mutable `CSSMatrix` instance given an array of 16/6 floating point values.\n * This static method invalidates arrays that contain non-number elements.\n *\n * If the array has six values, the result is a 2D matrix; if the array has 16 values,\n * the result is a 3D matrix. Otherwise, a TypeError exception is thrown.\n *\n * @param {CSSM.matrix | CSSM.matrix3d} array an `Array` to feed values from.\n * @return {CSSMatrix} the resulted matrix.\n */\n function fromArray(array) {\n var m = new CSSMatrix();\n var a = Array.from(array);\n\n if (!a.every(function (n) { return !Number.isNaN(n); })) {\n throw TypeError((\"CSSMatrix: \\\"\" + array + \"\\\" must only have numbers.\"));\n }\n if (a.length === 16) {\n var m11 = a[0];\n var m12 = a[1];\n var m13 = a[2];\n var m14 = a[3];\n var m21 = a[4];\n var m22 = a[5];\n var m23 = a[6];\n var m24 = a[7];\n var m31 = a[8];\n var m32 = a[9];\n var m33 = a[10];\n var m34 = a[11];\n var m41 = a[12];\n var m42 = a[13];\n var m43 = a[14];\n var m44 = a[15];\n\n m.m11 = m11;\n m.a = m11;\n\n m.m21 = m21;\n m.c = m21;\n\n m.m31 = m31;\n\n m.m41 = m41;\n m.e = m41;\n\n m.m12 = m12;\n m.b = m12;\n\n m.m22 = m22;\n m.d = m22;\n\n m.m32 = m32;\n\n m.m42 = m42;\n m.f = m42;\n\n m.m13 = m13;\n m.m23 = m23;\n m.m33 = m33;\n m.m43 = m43;\n m.m14 = m14;\n m.m24 = m24;\n m.m34 = m34;\n m.m44 = m44;\n } else if (a.length === 6) {\n var M11 = a[0];\n var M12 = a[1];\n var M21 = a[2];\n var M22 = a[3];\n var M41 = a[4];\n var M42 = a[5];\n\n m.m11 = M11;\n m.a = M11;\n\n m.m12 = M12;\n m.b = M12;\n\n m.m21 = M21;\n m.c = M21;\n\n m.m22 = M22;\n m.d = M22;\n\n m.m41 = M41;\n m.e = M41;\n\n m.m42 = M42;\n m.f = M42;\n } else {\n throw new TypeError('CSSMatrix: expecting an Array of 6/16 values.');\n }\n return m;\n }\n\n /**\n * Creates a new mutable `CSSMatrix` instance given an existing matrix or a\n * `DOMMatrix` instance which provides the values for its properties.\n *\n * @param {CSSMatrix | DOMMatrix | CSSM.JSONMatrix} m the source matrix to feed values from.\n * @return {CSSMatrix} the resulted matrix.\n */\n function fromMatrix(m) {\n var keys = Object.keys(new CSSMatrix());\n if (typeof m === 'object' && keys.every(function (k) { return k in m; })) {\n return fromArray(\n [m.m11, m.m12, m.m13, m.m14,\n m.m21, m.m22, m.m23, m.m24,\n m.m31, m.m32, m.m33, m.m34,\n m.m41, m.m42, m.m43, m.m44]\n );\n }\n throw TypeError((\"CSSMatrix: \\\"\" + (JSON.stringify(m)) + \"\\\" is not a DOMMatrix / CSSMatrix / JSON compatible object.\"));\n }\n\n /**\n * Creates a new mutable `CSSMatrix` given any valid CSS transform string,\n * or what we call `TransformList`:\n *\n * * `matrix(a, b, c, d, e, f)` - valid matrix() transform function\n * * `matrix3d(m11, m12, m13, ...m44)` - valid matrix3d() transform function\n * * `translate(tx, ty) rotateX(alpha)` - any valid transform function(s)\n *\n * @copyright thednp © 2021\n *\n * @param {string} source valid CSS transform string syntax.\n * @return {CSSMatrix} the resulted matrix.\n */\n function fromString(source) {\n if (typeof source !== 'string') {\n throw TypeError((\"CSSMatrix: \\\"\" + source + \"\\\" is not a string.\"));\n }\n var str = String(source).replace(/\\s/g, '');\n var m = new CSSMatrix();\n var invalidStringError = \"CSSMatrix: invalid transform string \\\"\" + source + \"\\\"\";\n\n // const px = ['perspective'];\n // const length = ['translate', 'translate3d', 'translateX', 'translateY', 'translateZ'];\n // const deg = ['rotate', 'rotate3d', 'rotateX', 'rotateY', 'rotateZ', 'skew', 'skewX', 'skewY'];\n // const abs = ['scale', 'scale3d', 'matrix', 'matrix3d'];\n // const transformFunctions = px.concat(length, deg, abs);\n\n str.split(')').filter(function (f) { return f; }).forEach(function (tf) {\n var ref = tf.split('(');\n var prop = ref[0];\n var value = ref[1];\n\n // invalidate empty string\n if (!value) { throw TypeError(invalidStringError); }\n\n var components = value.split(',')\n .map(function (n) { return (n.includes('rad') ? parseFloat(n) * (180 / Math.PI) : parseFloat(n)); });\n\n var x = components[0];\n var y = components[1];\n var z = components[2];\n var a = components[3];\n var xyz = [x, y, z];\n var xyza = [x, y, z, a];\n\n // single number value expected\n if (prop === 'perspective' && x && [y, z].every(function (n) { return n === undefined; })) {\n m.m34 = -1 / x;\n // 6/16 number values expected\n } else if (prop.includes('matrix') && [6, 16].includes(components.length)\n && components.every(function (n) { return !Number.isNaN(+n); })) {\n var values = components.map(function (n) { return (Math.abs(n) < 1e-6 ? 0 : n); });\n // @ts-ignore -- conditions should suffice\n m = m.multiply(fromArray(values));\n // 3 values expected\n } else if (prop === 'translate3d' && xyz.every(function (n) { return !Number.isNaN(+n); })) {\n m = m.translate(x, y, z);\n // single/double number value(s) expected\n } else if (prop === 'translate' && x && z === undefined) {\n m = m.translate(x, y || 0, 0);\n // all 4 values expected\n } else if (prop === 'rotate3d' && xyza.every(function (n) { return !Number.isNaN(+n); }) && a) {\n m = m.rotateAxisAngle(x, y, z, a);\n // single value expected\n } else if (prop === 'rotate' && x && [y, z].every(function (n) { return n === undefined; })) {\n m = m.rotate(0, 0, x);\n // 3 values expected\n } else if (prop === 'scale3d' && xyz.every(function (n) { return !Number.isNaN(+n); }) && xyz.some(function (n) { return n !== 1; })) {\n m = m.scale(x, y, z);\n // single value expected\n } else if (prop === 'scale' && !Number.isNaN(x) && x !== 1 && z === undefined) {\n var nosy = Number.isNaN(+y);\n var sy = nosy ? x : y;\n m = m.scale(x, sy, 1);\n // single/double value expected\n } else if (prop === 'skew' && (x || (!Number.isNaN(x) && y)) && z === undefined) {\n m = m.skew(x, y || 0);\n } else if (/[XYZ]/.test(prop) && x && [y, z].every(function (n) { return n === undefined; }) // a single value expected\n && ['translate', 'rotate', 'scale', 'skew'].some(function (p) { return prop.includes(p); })) {\n if (['skewX', 'skewY'].includes(prop)) {\n // @ts-ignore unfortunately\n m = m[prop](x);\n } else {\n var fn = prop.replace(/[XYZ]/, '');\n var axis = prop.replace(fn, '');\n var idx = ['X', 'Y', 'Z'].indexOf(axis);\n var def = fn === 'scale' ? 1 : 0;\n var axeValues = [\n idx === 0 ? x : def,\n idx === 1 ? x : def,\n idx === 2 ? x : def];\n // @ts-ignore unfortunately\n m = m[fn].apply(m, axeValues);\n }\n } else {\n throw TypeError(invalidStringError);\n }\n });\n\n return m;\n }\n\n /**\n * Returns an *Array* containing elements which comprise the matrix.\n * The method can return either the 16 elements or the 6 elements\n * depending on the value of the `is2D` parameter.\n *\n * @param {CSSMatrix | DOMMatrix | CSSM.JSONMatrix} m the source matrix to feed values from.\n * @param {boolean=} is2D *Array* representation of the matrix\n * @return {CSSM.matrix | CSSM.matrix3d} an *Array* representation of the matrix\n */\n function toArray(m, is2D) {\n if (is2D) {\n return [m.a, m.b, m.c, m.d, m.e, m.f];\n }\n return [m.m11, m.m12, m.m13, m.m14,\n m.m21, m.m22, m.m23, m.m24,\n m.m31, m.m32, m.m33, m.m34,\n m.m41, m.m42, m.m43, m.m44];\n }\n\n // Transform Functions\n // https://www.w3.org/TR/css-transforms-1/#transform-functions\n\n /**\n * Creates a new `CSSMatrix` for the translation matrix and returns it.\n * This method is equivalent to the CSS `translate3d()` function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translate3d\n *\n * @param {number} x the `x-axis` position.\n * @param {number} y the `y-axis` position.\n * @param {number} z the `z-axis` position.\n * @return {CSSMatrix} the resulted matrix.\n */\n function Translate(x, y, z) {\n var m = new CSSMatrix();\n m.m41 = x;\n m.e = x;\n m.m42 = y;\n m.f = y;\n m.m43 = z;\n return m;\n }\n\n /**\n * Creates a new `CSSMatrix` for the rotation matrix and returns it.\n *\n * http://en.wikipedia.org/wiki/Rotation_matrix\n *\n * @param {number} rx the `x-axis` rotation.\n * @param {number} ry the `y-axis` rotation.\n * @param {number} rz the `z-axis` rotation.\n * @return {CSSMatrix} the resulted matrix.\n */\n function Rotate(rx, ry, rz) {\n var m = new CSSMatrix();\n var degToRad = Math.PI / 180;\n var radX = rx * degToRad;\n var radY = ry * degToRad;\n var radZ = rz * degToRad;\n\n // minus sin() because of right-handed system\n var cosx = Math.cos(radX);\n var sinx = -Math.sin(radX);\n var cosy = Math.cos(radY);\n var siny = -Math.sin(radY);\n var cosz = Math.cos(radZ);\n var sinz = -Math.sin(radZ);\n\n var m11 = cosy * cosz;\n var m12 = -cosy * sinz;\n\n m.m11 = m11;\n m.a = m11;\n\n m.m12 = m12;\n m.b = m12;\n\n m.m13 = siny;\n\n var m21 = sinx * siny * cosz + cosx * sinz;\n m.m21 = m21;\n m.c = m21;\n\n var m22 = cosx * cosz - sinx * siny * sinz;\n m.m22 = m22;\n m.d = m22;\n\n m.m23 = -sinx * cosy;\n\n m.m31 = sinx * sinz - cosx * siny * cosz;\n m.m32 = sinx * cosz + cosx * siny * sinz;\n m.m33 = cosx * cosy;\n\n return m;\n }\n\n /**\n * Creates a new `CSSMatrix` for the rotation matrix and returns it.\n * This method is equivalent to the CSS `rotate3d()` function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/rotate3d\n *\n * @param {number} x the `x-axis` vector length.\n * @param {number} y the `y-axis` vector length.\n * @param {number} z the `z-axis` vector length.\n * @param {number} alpha the value in degrees of the rotation.\n * @return {CSSMatrix} the resulted matrix.\n */\n function RotateAxisAngle(x, y, z, alpha) {\n var m = new CSSMatrix();\n var length = Math.sqrt(x * x + y * y + z * z);\n\n if (length === 0) {\n // bad vector length, return identity\n return m;\n }\n\n var X = x / length;\n var Y = y / length;\n var Z = z / length;\n\n var angle = alpha * (Math.PI / 360);\n var sinA = Math.sin(angle);\n var cosA = Math.cos(angle);\n var sinA2 = sinA * sinA;\n var x2 = X * X;\n var y2 = Y * Y;\n var z2 = Z * Z;\n\n var m11 = 1 - 2 * (y2 + z2) * sinA2;\n m.m11 = m11;\n m.a = m11;\n\n var m12 = 2 * (X * Y * sinA2 + Z * sinA * cosA);\n m.m12 = m12;\n m.b = m12;\n\n m.m13 = 2 * (X * Z * sinA2 - Y * sinA * cosA);\n\n var m21 = 2 * (Y * X * sinA2 - Z * sinA * cosA);\n m.m21 = m21;\n m.c = m21;\n\n var m22 = 1 - 2 * (z2 + x2) * sinA2;\n m.m22 = m22;\n m.d = m22;\n\n m.m23 = 2 * (Y * Z * sinA2 + X * sinA * cosA);\n m.m31 = 2 * (Z * X * sinA2 + Y * sinA * cosA);\n m.m32 = 2 * (Z * Y * sinA2 - X * sinA * cosA);\n m.m33 = 1 - 2 * (x2 + y2) * sinA2;\n\n return m;\n }\n\n /**\n * Creates a new `CSSMatrix` for the scale matrix and returns it.\n * This method is equivalent to the CSS `scale3d()` function, except it doesn't\n * accept {x, y, z} transform origin parameters.\n *\n * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/scale3d\n *\n * @param {number} x the `x-axis` scale.\n * @param {number} y the `y-axis` scale.\n * @param {number} z the `z-axis` scale.\n * @return {CSSMatrix} the resulted matrix.\n */\n function Scale(x, y, z) {\n var m = new CSSMatrix();\n m.m11 = x;\n m.a = x;\n\n m.m22 = y;\n m.d = y;\n\n m.m33 = z;\n return m;\n }\n\n /**\n * Creates a new `CSSMatrix` for the shear of both the `x-axis` and`y-axis`\n * matrix and returns it. This method is equivalent to the CSS `skew()` function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skew\n *\n * @param {number} angleX the X-angle in degrees.\n * @param {number} angleY the Y-angle in degrees.\n * @return {CSSMatrix} the resulted matrix.\n */\n function Skew(angleX, angleY) {\n var m = new CSSMatrix();\n if (angleX) {\n var radX = (angleX * Math.PI) / 180;\n var tX = Math.tan(radX);\n m.m21 = tX;\n m.c = tX;\n }\n if (angleY) {\n var radY = (angleY * Math.PI) / 180;\n var tY = Math.tan(radY);\n m.m12 = tY;\n m.b = tY;\n }\n return m;\n }\n\n /**\n * Creates a new `CSSMatrix` for the shear of the `x-axis` rotation matrix and\n * returns it. This method is equivalent to the CSS `skewX()` function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skewX\n *\n * @param {number} angle the angle in degrees.\n * @return {CSSMatrix} the resulted matrix.\n */\n function SkewX(angle) {\n return Skew(angle, 0);\n }\n\n /**\n * Creates a new `CSSMatrix` for the shear of the `y-axis` rotation matrix and\n * returns it. This method is equivalent to the CSS `skewY()` function.\n *\n * https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/skewY\n *\n * @param {number} angle the angle in degrees.\n * @return {CSSMatrix} the resulted matrix.\n */\n function SkewY(angle) {\n return Skew(0, angle);\n }\n\n /**\n * Creates a new `CSSMatrix` resulted from the multiplication of two matrixes\n * and returns it. Both matrixes are not changed.\n *\n * @param {CSSMatrix | DOMMatrix | CSSM.JSONMatrix} m1 the first matrix.\n * @param {CSSMatrix | DOMMatrix | CSSM.JSONMatrix} m2 the second matrix.\n * @return {CSSMatrix} the resulted matrix.\n */\n function Multiply(m1, m2) {\n var m11 = m2.m11 * m1.m11 + m2.m12 * m1.m21 + m2.m13 * m1.m31 + m2.m14 * m1.m41;\n var m12 = m2.m11 * m1.m12 + m2.m12 * m1.m22 + m2.m13 * m1.m32 + m2.m14 * m1.m42;\n var m13 = m2.m11 * m1.m13 + m2.m12 * m1.m23 + m2.m13 * m1.m33 + m2.m14 * m1.m43;\n var m14 = m2.m11 * m1.m14 + m2.m12 * m1.m24 + m2.m13 * m1.m34 + m2.m14 * m1.m44;\n\n var m21 = m2.m21 * m1.m11 + m2.m22 * m1.m21 + m2.m23 * m1.m31 + m2.m24 * m1.m41;\n var m22 = m2.m21 * m1.m12 + m2.m22 * m1.m22 + m2.m23 * m1.m32 + m2.m24 * m1.m42;\n var m23 = m2.m21 * m1.m13 + m2.m22 * m1.m23 + m2.m23 * m1.m33 + m2.m24 * m1.m43;\n var m24 = m2.m21 * m1.m14 + m2.m22 * m1.m24 + m2.m23 * m1.m34 + m2.m24 * m1.m44;\n\n var m31 = m2.m31 * m1.m11 + m2.m32 * m1.m21 + m2.m33 * m1.m31 + m2.m34 * m1.m41;\n var m32 = m2.m31 * m1.m12 + m2.m32 * m1.m22 + m2.m33 * m1.m32 + m2.m34 * m1.m42;\n var m33 = m2.m31 * m1.m13 + m2.m32 * m1.m23 + m2.m33 * m1.m33 + m2.m34 * m1.m43;\n var m34 = m2.m31 * m1.m14 + m2.m32 * m1.m24 + m2.m33 * m1.m34 + m2.m34 * m1.m44;\n\n var m41 = m2.m41 * m1.m11 + m2.m42 * m1.m21 + m2.m43 * m1.m31 + m2.m44 * m1.m41;\n var m42 = m2.m41 * m1.m12 + m2.m42 * m1.m22 + m2.m43 * m1.m32 + m2.m44 * m1.m42;\n var m43 = m2.m41 * m1.m13 + m2.m42 * m1.m23 + m2.m43 * m1.m33 + m2.m44 * m1.m43;\n var m44 = m2.m41 * m1.m14 + m2.m42 * m1.m24 + m2.m43 * m1.m34 + m2.m44 * m1.m44;\n\n return fromArray(\n [m11, m12, m13, m14,\n m21, m22, m23, m24,\n m31, m32, m33, m34,\n m41, m42, m43, m44]\n );\n }\n\n /**\n * Creates and returns a new `DOMMatrix` compatible instance\n * with equivalent instance.\n * @class CSSMatrix\n *\n * @author thednp <https://github.com/thednp/DOMMatrix/>\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrix\n */\n\n var CSSMatrix = function CSSMatrix() {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var m = this;\n // array 6\n m.a = 1; m.b = 0;\n m.c = 0; m.d = 1;\n m.e = 0; m.f = 0;\n // array 16\n m.m11 = 1; m.m12 = 0; m.m13 = 0; m.m14 = 0;\n m.m21 = 0; m.m22 = 1; m.m23 = 0; m.m24 = 0;\n m.m31 = 0; m.m32 = 0; m.m33 = 1; m.m34 = 0;\n m.m41 = 0; m.m42 = 0; m.m43 = 0; m.m44 = 1;\n\n if (args.length) {\n var ARGS = [16, 6].some(function (l) { return l === args.length; }) ? args : args[0];\n\n return m.setMatrixValue(ARGS);\n }\n return m;\n };\n\n var prototypeAccessors = { isIdentity: { configurable: true },is2D: { configurable: true } };\n\n /**\n * A `Boolean` whose value is `true` if the matrix is the identity matrix. The identity\n * matrix is one in which every value is 0 except those on the main diagonal from top-left\n * to bottom-right corner (in other words, where the offsets in each direction are equal).\n *\n * @return {boolean} the current property value\n */\n prototypeAccessors.isIdentity.get = function () {\n var m = this;\n return (m.m11 === 1 && m.m12 === 0 && m.m13 === 0 && m.m14 === 0\n && m.m21 === 0 && m.m22 === 1 && m.m23 === 0 && m.m24 === 0\n && m.m31 === 0 && m.m32 === 0 && m.m33 === 1 && m.m34 === 0\n && m.m41 === 0 && m.m42 === 0 && m.m43 === 0 && m.m44 === 1);\n };\n\n /**\n * A `Boolean` flag whose value is `true` if the matrix was initialized as a 2D matrix\n * and `false` if the matrix is 3D.\n *\n * @return {boolean} the current property value\n */\n prototypeAccessors.is2D.get = function () {\n var m = this;\n return (m.m31 === 0 && m.m32 === 0 && m.m33 === 1 && m.m34 === 0 && m.m43 === 0 && m.m44 === 1);\n };\n\n /**\n * The `setMatrixValue` method replaces the existing matrix with one computed\n * in the browser. EG: `matrix(1,0.25,-0.25,1,0,0)`\n *\n * The method accepts any *Array* values, the result of\n * `DOMMatrix` instance method `toFloat64Array()` / `toFloat32Array()` calls\n *or `CSSMatrix` instance method `toArray()`.\n *\n * This method expects valid *matrix()* / *matrix3d()* string values, as well\n * as other transform functions like *translateX(10px)*.\n *\n * @param {string | CSSM.matrix | CSSM.matrix3d | CSSMatrix | DOMMatrix | CSSM.JSONMatrix} source\n * @return {CSSMatrix} the matrix instance\n */\n CSSMatrix.prototype.setMatrixValue = function setMatrixValue (source) {\n var m = this;\n\n // CSS transform string source - TransformList first\n if (typeof source === 'string' && source.length && source !== 'none') {\n return fromString(source);\n }\n // [Arguments list | Array] come second\n if ([Array, Float64Array, Float32Array].some(function (a) { return source instanceof a; })) {\n // @ts-ignore\n return fromArray(source);\n }\n // new CSSMatrix(CSSMatrix | DOMMatrix | JSON) last\n if ([CSSMatrix, DOMMatrix, Object].some(function (a) { return source instanceof a; })) {\n // @ts-ignore\n return fromMatrix(source);\n }\n\n return m;\n };\n\n /**\n * Returns a *Float32Array* containing elements which comprise the matrix.\n * The method can return either the 16 elements or the 6 elements\n * depending on the value of the `is2D` parameter.\n *\n * @param {boolean=} is2D *Array* representation of the matrix\n * @return {Float32Array} an *Array* representation of the matrix\n */\n CSSMatrix.prototype.toFloat32Array = function toFloat32Array (is2D) {\n return Float32Array.from(toArray(this, is2D));\n };\n\n /**\n * Returns a *Float64Array* containing elements which comprise the matrix.\n * The method can return either the 16 elements or the 6 elements\n * depending on the value of the `is2D` parameter.\n *\n * @param {boolean=} is2D *Array* representation of the matrix\n * @return {Float64Array} an *Array* representation of the matrix\n */\n CSSMatrix.prototype.toFloat64Array = function toFloat64Array (is2D) {\n return Float64Array.from(toArray(this, is2D));\n };\n\n /**\n * Creates and returns a string representation of the matrix in `CSS` matrix syntax,\n * using the appropriate `CSS` matrix notation.\n *\n * matrix3d *matrix3d(m11, m12, m13, m14, m21, ...)*\n * matrix *matrix(a, b, c, d, e, f)*\n *\n * @return {string} a string representation of the matrix\n */\n CSSMatrix.prototype.toString = function toString () {\n var m = this;\n var is2D = m.is2D;\n var values = m.toFloat64Array(is2D).join(', ');\n var type = is2D ? 'matrix' : 'matrix3d';\n return (type + \"(\" + values + \")\");\n };\n\n /**\n * Returns a JSON representation of the `CSSMatrix` instance, a standard *Object*\n * that includes `{a,b,c,d,e,f}` and `{m11,m12,m13,..m44}` properties as well\n * as the `is2D` & `isIdentity` properties.\n *\n * The result can also be used as a second parameter for the `fromMatrix` static method\n * to load values into another matrix instance.\n *\n * @return {CSSM.JSONMatrix} an *Object* with all matrix values.\n */\n CSSMatrix.prototype.toJSON = function toJSON () {\n var m = this;\n var is2D = m.is2D;\n var isIdentity = m.isIdentity;\n return Object.assign({}, m, {is2D: is2D, isIdentity: isIdentity});\n };\n\n /**\n * The Multiply method returns a new CSSMatrix which is the result of this\n * matrix multiplied by the passed matrix, with the passed matrix to the right.\n * This matrix is not modified.\n *\n * @param {CSSMatrix | DOMMatrix | CSSM.JSONMatrix} m2 CSSMatrix\n * @return {CSSMatrix} The resulted matrix.\n */\n CSSMatrix.prototype.multiply = function multiply (m2) {\n return Multiply(this, m2);\n };\n\n /**\n * The translate method returns a new matrix which is this matrix post\n * multiplied by a translation matrix containing the passed values. If the z\n * component is undefined, a 0 value is used in its place. This matrix is not\n * modified.\n *\n * @param {number} x X component of the translation value.\n * @param {number=} y Y component of the translation value.\n * @param {number=} z Z component of the translation value.\n * @return {CSSMatrix} The resulted matrix\n */\n CSSMatrix.prototype.translate = function translate (x, y, z) {\n var X = x;\n var Y = y;\n var Z = z;\n if (Y === undefined) { Y = 0; }\n if (Z === undefined) { Z = 0; }\n return Multiply(this, Translate(X, Y, Z));\n };\n\n /**\n * The scale method returns a new matrix which is this matrix post multiplied by\n * a scale matrix containing the passed values. If the z component is undefined,\n * a 1 value is used in its place. If the y component is undefined, the x\n * component value is used in its place. This matrix is not modified.\n *\n * @param {number} x The X component of the scale value.\n * @param {number=} y The Y component of the scale value.\n * @param {number=} z The Z component of the scale value.\n * @return {CSSMatrix} The resulted matrix\n */\n CSSMatrix.prototype.scale = function scale (x, y, z) {\n var X = x;\n var Y = y;\n var Z = z;\n if (Y === undefined) { Y = x; }\n if (Z === undefined) { Z = 1; } // Z must be 1 if undefined\n\n return Multiply(this, Scale(X, Y, Z));\n };\n\n /**\n * The rotate method returns a new matrix which is this matrix post multiplied\n * by each of 3 rotation matrices about the major axes, first X, then Y, then Z.\n * If the y and z components are undefined, the x value is used to rotate the\n * object about the z axis, as though the vector (0,0,x) were passed. All\n * rotation values are in degrees. This matrix is not modified.\n *\n * @param {number} rx The X component of the rotation, or Z if Y and Z are null.\n * @param {number=} ry The (optional) Y component of the rotation value.\n * @param {number=} rz The (optional) Z component of the rotation value.\n * @return {CSSMatrix} The resulted matrix\n */\n CSSMatrix.prototype.rotate = function rotate (rx, ry, rz) {\n var RX = rx;\n var RY = ry || 0;\n var RZ = rz || 0;\n\n if (typeof rx === 'number' && ry === undefined && rz === undefined) {\n RZ = RX; RX = 0; RY = 0;\n }\n\n return Multiply(this, Rotate(RX, RY, RZ));\n };\n\n /**\n * The rotateAxisAngle method returns a new matrix which is this matrix post\n * multiplied by a rotation matrix with the given axis and `angle`. The right-hand\n * rule is used to determine the direction of rotation. All rotation values are\n * in degrees. This matrix is not modified.\n *\n * @param {number} x The X component of the axis vector.\n * @param {number} y The Y component of the axis vector.\n * @param {number} z The Z component of the axis vector.\n * @param {number} angle The angle of rotation about the axis vector, in degrees.\n * @return {CSSMatrix} The resulted matrix\n */\n CSSMatrix.prototype.rotateAxisAngle = function rotateAxisAngle (x, y, z, angle) {\n if ([x, y, z, angle].some(function (n) { return Number.isNaN(+n); })) {\n throw new TypeError('CSSMatrix: expecting 4 values');\n }\n return Multiply(this, RotateAxisAngle(x, y, z, angle));\n };\n\n /**\n * Specifies a skew transformation along the `x-axis` by the given angle.\n * This matrix is not modified.\n *\n * @param {number} angle The angle amount in degrees to skew.\n * @return {CSSMatrix} The resulted matrix\n */\n CSSMatrix.prototype.skewX = function skewX (angle) {\n return Multiply(this, SkewX(angle));\n };\n\n /**\n * Specifies a skew transformation along the `y-axis` by the given angle.\n * This matrix is not modified.\n *\n * @param {number} angle The angle amount in degrees to skew.\n * @return {CSSMatrix} The resulted matrix\n */\n CSSMatrix.prototype.skewY = function skewY (angle) {\n return Multiply(this, SkewY(angle));\n };\n\n /**\n * Specifies a skew transformation along both the `x-axis` and `y-axis`.\n * This matrix is not modified.\n *\n * @param {number} angleX The X-angle amount in degrees to skew.\n * @param {number} angleY The angle amount in degrees to skew.\n * @return {CSSMatrix} The resulted matrix\n */\n CSSMatrix.prototype.skew = function skew (angleX, angleY) {\n return Multiply(this, Skew(angleX, angleY));\n };\n\n /**\n * Transforms a specified vector using the matrix, returning a new\n * {x,y,z,w} Tuple *Object* comprising the transformed vector.\n * Neither the matrix nor the original vector are altered.\n *\n * The method is equivalent with `transformPoint()` method\n * of the `DOMMatrix` constructor.\n *\n * @param {CSSM.PointTuple | DOMPoint} t Tuple with `{x,y,z,w}` components\n * @return {CSSM.PointTuple | DOMPoint} the resulting Tuple\n */\n CSSMatrix.prototype.transformPoint = function transformPoint (t) {\n var m = this;\n\n var x = m.m11 * t.x + m.m21 * t.y + m.m31 * t.z + m.m41 * t.w;\n var y = m.m12 * t.x + m.m22 * t.y + m.m32 * t.z + m.m42 * t.w;\n var z = m.m13 * t.x + m.m23 * t.y + m.m33 * t.z + m.m43 * t.w;\n var w = m.m14 * t.x + m.m24 * t.y + m.m34 * t.z + m.m44 * t.w;\n\n return t instanceof DOMPoint\n ? new DOMPoint(x, y, z, w)\n : {\n x: x, y: y, z: z, w: w,\n };\n };\n\n Object.defineProperties( CSSMatrix.prototype, prototypeAccessors );\n\n // Add Transform Functions to CSSMatrix object\n // without creating a TypeScript namespace.\n Object.assign(CSSMatrix, {\n Translate: Translate,\n Rotate: Rotate,\n RotateAxisAngle: RotateAxisAngle,\n Scale: Scale,\n SkewX: SkewX,\n SkewY: SkewY,\n Skew: Skew,\n Multiply: Multiply,\n fromArray: fromArray,\n fromMatrix: fromMatrix,\n fromString: fromString,\n toArray: toArray,\n });\n\n var version = \"1.0.3\";\n\n /**\n * A global namespace for library version.\n * @type {string}\n */\n var Version = version;\n\n /** @typedef {import('../types/index')} */\n\n Object.assign(CSSMatrix, { Version: Version });\n\n return CSSMatrix;\n\n}));\n","/**\n * web-streams-polyfill v3.2.1\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.WebStreamsPolyfill = {}));\n}(this, (function (exports) { 'use strict';\n\n /// <reference lib=\"es2015.symbol\" />\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ?\n Symbol :\n function (description) { return \"Symbol(\" + description + \")\"; };\n\n /// <reference lib=\"dom\" />\n function noop() {\n return undefined;\n }\n function getGlobals() {\n if (typeof self !== 'undefined') {\n return self;\n }\n else if (typeof window !== 'undefined') {\n return window;\n }\n else if (typeof global !== 'undefined') {\n return global;\n }\n return undefined;\n }\n var globals = getGlobals();\n\n function typeIsObject(x) {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n }\n var rethrowAssertionErrorRejection = noop;\n\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n // There doesn't appear to be any way to correctly emulate the behaviour from JavaScript, so this is just an\n // approximation.\n return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var queueMicrotask = (function () {\n var globalQueueMicrotask = globals && globals.queueMicrotask;\n if (typeof globalQueueMicrotask === 'function') {\n return globalQueueMicrotask;\n }\n var resolvedPromise = promiseResolvedWith(undefined);\n return function (fn) { return PerformPromiseThen(resolvedPromise, fn); };\n })();\n function reflectCall(F, V, args) {\n if (typeof F !== 'function') {\n throw new TypeError('Argument is not a function');\n }\n return Function.prototype.apply.call(F, V, args);\n }\n function promiseCall(F, V, args) {\n try {\n return promiseResolvedWith(reflectCall(F, V, args));\n }\n catch (value) {\n return promiseRejectedWith(value);\n }\n }\n\n // Original from Chromium\n // https://chromium.googlesource.com/chromium/src/+/0aee4434a4dba42a42abaea9bfbc0cd196a63bc1/third_party/blink/renderer/core/streams/SimpleQueue.js\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n /**\n * Simple queue structure.\n *\n * Avoids scalability issues with using a packed array directly by using\n * multiple arrays in a linked list and keeping the array size bounded.\n */\n var SimpleQueue = /** @class */ (function () {\n function SimpleQueue() {\n this._cursor = 0;\n this._size = 0;\n // _front and _back are always defined.\n this._front = {\n _elements: [],\n _next: undefined\n };\n this._back = this._front;\n // The cursor is used to avoid calling Array.shift().\n // It contains the index of the front element of the array inside the\n // front-most node. It is always in the range [0, QUEUE_MAX_ARRAY_SIZE).\n this._cursor = 0;\n // When there is only one node, size === elements.length - cursor.\n this._size = 0;\n }\n Object.defineProperty(SimpleQueue.prototype, \"length\", {\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n // For exception safety, this method is structured in order:\n // 1. Read state\n // 2. Calculate required state mutations\n // 3. Perform state mutations\n SimpleQueue.prototype.push = function (element) {\n var oldBack = this._back;\n var newBack = oldBack;\n if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n newBack = {\n _elements: [],\n _next: undefined\n };\n }\n // push() is the mutation most likely to throw an exception, so it\n // goes first.\n oldBack._elements.push(element);\n if (newBack !== oldBack) {\n this._back = newBack;\n oldBack._next = newBack;\n }\n ++this._size;\n };\n // Like push(), shift() follows the read -> calculate -> mutate pattern for\n // exception safety.\n SimpleQueue.prototype.shift = function () { // must not be called on an empty queue\n var oldFront = this._front;\n var newFront = oldFront;\n var oldCursor = this._cursor;\n var newCursor = oldCursor + 1;\n var elements = oldFront._elements;\n var element = elements[oldCursor];\n if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n newFront = oldFront._next;\n newCursor = 0;\n }\n // No mutations before this point.\n --this._size;\n this._cursor = newCursor;\n if (oldFront !== newFront) {\n this._front = newFront;\n }\n // Permit shifted element to be garbage collected.\n elements[oldCursor] = undefined;\n return element;\n };\n // The tricky thing about forEach() is that it can be called\n // re-entrantly. The queue may be mutated inside the callback. It is easy to\n // see that push() within the callback has no negative effects since the end\n // of the queue is checked for on every iteration. If shift() is called\n // repeatedly within the callback then the next iteration may return an\n // element that has been removed. In this case the callback will be called\n // with undefined values until we either \"catch up\" with elements that still\n // exist or reach the back of the queue.\n SimpleQueue.prototype.forEach = function (callback) {\n var i = this._cursor;\n var node = this._front;\n var elements = node._elements;\n while (i !== elements.length || node._next !== undefined) {\n if (i === elements.length) {\n node = node._next;\n elements = node._elements;\n i = 0;\n if (elements.length === 0) {\n break;\n }\n }\n callback(elements[i]);\n ++i;\n }\n };\n // Return the element that would be returned if shift() was called now,\n // without modifying the queue.\n SimpleQueue.prototype.peek = function () { // must not be called on an empty queue\n var front = this._front;\n var cursor = this._cursor;\n return front._elements[cursor];\n };\n return SimpleQueue;\n }());\n\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n reader._ownerReadableStream = stream;\n stream._reader = reader;\n if (stream._state === 'readable') {\n defaultReaderClosedPromiseInitialize(reader);\n }\n else if (stream._state === 'closed') {\n defaultReaderClosedPromiseInitializeAsResolved(reader);\n }\n else {\n defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n }\n }\n // A client of ReadableStreamDefaultReader and ReadableStreamBYOBReader may use these functions directly to bypass state\n // check.\n function ReadableStreamReaderGenericCancel(reader, reason) {\n var stream = reader._ownerReadableStream;\n return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n if (reader._ownerReadableStream._state === 'readable') {\n defaultReaderClosedPromiseReject(reader, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\"));\n }\n else {\n defaultReaderClosedPromiseResetToRejected(reader, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\"));\n }\n reader._ownerReadableStream._reader = undefined;\n reader._ownerReadableStream = undefined;\n }\n // Helper functions for the readers.\n function readerLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n // Helper functions for the ReadableStreamDefaultReader.\n function defaultReaderClosedPromiseInitialize(reader) {\n reader._closedPromise = newPromise(function (resolve, reject) {\n reader._closedPromise_resolve = resolve;\n reader._closedPromise_reject = reject;\n });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n defaultReaderClosedPromiseInitialize(reader);\n defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n if (reader._closedPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(reader._closedPromise);\n reader._closedPromise_reject(reason);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n if (reader._closedPromise_resolve === undefined) {\n return;\n }\n reader._closedPromise_resolve(undefined);\n reader._closedPromise_resolve = undefined;\n reader._closedPromise_reject = undefined;\n }\n\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n\n /// <reference lib=\"es2015.core\" />\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite#Polyfill\n var NumberIsFinite = Number.isFinite || function (x) {\n return typeof x === 'number' && isFinite(x);\n };\n\n /// <reference lib=\"es2015.core\" />\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc#Polyfill\n var MathTrunc = Math.trunc || function (v) {\n return v < 0 ? Math.ceil(v) : Math.floor(v);\n };\n\n // https://heycam.github.io/webidl/#idl-dictionaries\n function isDictionary(x) {\n return typeof x === 'object' || typeof x === 'function';\n }\n function assertDictionary(obj, context) {\n if (obj !== undefined && !isDictionary(obj)) {\n throw new TypeError(context + \" is not an object.\");\n }\n }\n // https://heycam.github.io/webidl/#idl-callback-functions\n function assertFunction(x, context) {\n if (typeof x !== 'function') {\n throw new TypeError(context + \" is not a function.\");\n }\n }\n // https://heycam.github.io/webidl/#idl-object\n function isObject(x) {\n return (typeof x === 'object' && x !== null) || typeof x === 'function';\n }\n function assertObject(x, context) {\n if (!isObject(x)) {\n throw new TypeError(context + \" is not an object.\");\n }\n }\n function assertRequiredArgument(x, position, context) {\n if (x === undefined) {\n throw new TypeError(\"Parameter \" + position + \" is required in '\" + context + \"'.\");\n }\n }\n function assertRequiredField(x, field, context) {\n if (x === undefined) {\n throw new TypeError(field + \" is required in '\" + context + \"'.\");\n }\n }\n // https://heycam.github.io/webidl/#idl-unrestricted-double\n function convertUnrestrictedDouble(value) {\n return Number(value);\n }\n function censorNegativeZero(x) {\n return x === 0 ? 0 : x;\n }\n function integerPart(x) {\n return censorNegativeZero(MathTrunc(x));\n }\n // https://heycam.github.io/webidl/#idl-unsigned-long-long\n function convertUnsignedLongLongWithEnforceRange(value, context) {\n var lowerBound = 0;\n var upperBound = Number.MAX_SAFE_INTEGER;\n var x = Number(value);\n x = censorNegativeZero(x);\n if (!NumberIsFinite(x)) {\n throw new TypeError(context + \" is not a finite number\");\n }\n x = integerPart(x);\n if (x < lowerBound || x > upperBound) {\n throw new TypeError(context + \" is outside the accepted range of \" + lowerBound + \" to \" + upperBound + \", inclusive\");\n }\n if (!NumberIsFinite(x) || x === 0) {\n return 0;\n }\n // TODO Use BigInt if supported?\n // let xBigInt = BigInt(integerPart(x));\n // xBigInt = BigInt.asUintN(64, xBigInt);\n // return Number(xBigInt);\n return x;\n }\n\n function assertReadableStream(x, context) {\n if (!IsReadableStream(x)) {\n throw new TypeError(context + \" is not a ReadableStream.\");\n }\n }\n\n // Abstract operations for the ReadableStream.\n function AcquireReadableStreamDefaultReader(stream) {\n return new ReadableStreamDefaultReader(stream);\n }\n // ReadableStream API exposed for controllers.\n function ReadableStreamAddReadRequest(stream, readRequest) {\n stream._reader._readRequests.push(readRequest);\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readRequest = reader._readRequests.shift();\n if (done) {\n readRequest._closeSteps();\n }\n else {\n readRequest._chunkSteps(chunk);\n }\n }\n function ReadableStreamGetNumReadRequests(stream) {\n return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamDefaultReader(reader)) {\n return false;\n }\n return true;\n }\n /**\n * A default reader vended by a {@link ReadableStream}.\n *\n * @public\n */\n var ReadableStreamDefaultReader = /** @class */ (function () {\n function ReadableStreamDefaultReader(stream) {\n assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');\n assertReadableStream(stream, 'First parameter');\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed,\n * or rejected if the stream ever errors or the reader's lock is released before the stream finishes closing.\n */\n get: function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * If the reader is active, behaves the same as {@link ReadableStream.cancel | stream.cancel(reason)}.\n */\n ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n /**\n * Returns a promise that allows access to the next chunk from the stream's internal queue, if available.\n *\n * If reading a chunk causes the queue to become empty, more data will be pulled from the underlying source.\n */\n ReadableStreamDefaultReader.prototype.read = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readRequest = {\n _chunkSteps: function (chunk) { return resolvePromise({ value: chunk, done: false }); },\n _closeSteps: function () { return resolvePromise({ value: undefined, done: true }); },\n _errorSteps: function (e) { return rejectPromise(e); }\n };\n ReadableStreamDefaultReaderRead(this, readRequest);\n return promise;\n };\n /**\n * Releases the reader's lock on the corresponding stream. After the lock is released, the reader is no longer active.\n * If the associated stream is errored when the lock is released, the reader will appear errored in the same way\n * from now on; otherwise, the reader will appear closed.\n *\n * A reader's lock cannot be released while it still has a pending read request, i.e., if a promise returned by\n * the reader's {@link ReadableStreamDefaultReader.read | read()} method has not yet been settled. Attempting to\n * do so will throw a `TypeError` and leave the reader locked to the stream.\n */\n ReadableStreamDefaultReader.prototype.releaseLock = function () {\n if (!IsReadableStreamDefaultReader(this)) {\n throw defaultReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamDefaultReader;\n }());\n Object.defineProperties(ReadableStreamDefaultReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultReader.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamDefaultReader',\n configurable: true\n });\n }\n // Abstract operations for the readers.\n function IsReadableStreamDefaultReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n return false;\n }\n return x instanceof ReadableStreamDefaultReader;\n }\n function ReadableStreamDefaultReaderRead(reader, readRequest) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'closed') {\n readRequest._closeSteps();\n }\n else if (stream._state === 'errored') {\n readRequest._errorSteps(stream._storedError);\n }\n else {\n stream._readableStreamController[PullSteps](readRequest);\n }\n }\n // Helper functions for the ReadableStreamDefaultReader.\n function defaultReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n\n /// <reference lib=\"es2018.asynciterable\" />\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n // We're running inside a ES2018+ environment, but we're compiling to an older syntax.\n // We cannot access %AsyncIteratorPrototype% without non-ES2018 syntax, but we can re-create it.\n AsyncIteratorPrototype = (_a = {},\n // 25.1.3.1 %AsyncIteratorPrototype% [ @@asyncIterator ] ( )\n // https://tc39.github.io/ecma262/#sec-asynciteratorprototype-asynciterator\n _a[SymbolPolyfill.asyncIterator] = function () {\n return this;\n },\n _a);\n Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n\n /// <reference lib=\"es2018.asynciterable\" />\n var ReadableStreamAsyncIteratorImpl = /** @class */ (function () {\n function ReadableStreamAsyncIteratorImpl(reader, preventCancel) {\n this._ongoingPromise = undefined;\n this._isFinished = false;\n this._reader = reader;\n this._preventCancel = preventCancel;\n }\n ReadableStreamAsyncIteratorImpl.prototype.next = function () {\n var _this = this;\n var nextSteps = function () { return _this._nextSteps(); };\n this._ongoingPromise = this._ongoingPromise ?\n transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) :\n nextSteps();\n return this._ongoingPromise;\n };\n ReadableStreamAsyncIteratorImpl.prototype.return = function (value) {\n var _this = this;\n var returnSteps = function () { return _this._returnSteps(value); };\n return this._ongoingPromise ?\n transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) :\n returnSteps();\n };\n ReadableStreamAsyncIteratorImpl.prototype._nextSteps = function () {\n var _this = this;\n if (this._isFinished) {\n return Promise.resolve({ value: undefined, done: true });\n }\n var reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('iterate'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readRequest = {\n _chunkSteps: function (chunk) {\n _this._ongoingPromise = undefined;\n // This needs to be delayed by one microtask, otherwise we stop pulling too early which breaks a test.\n // FIXME Is this a bug in the specification, or in the test?\n queueMicrotask(function () { return resolvePromise({ value: chunk, done: false }); });\n },\n _closeSteps: function () {\n _this._ongoingPromise = undefined;\n _this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n resolvePromise({ value: undefined, done: true });\n },\n _errorSteps: function (reason) {\n _this._ongoingPromise = undefined;\n _this._isFinished = true;\n ReadableStreamReaderGenericRelease(reader);\n rejectPromise(reason);\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promise;\n };\n ReadableStreamAsyncIteratorImpl.prototype._returnSteps = function (value) {\n if (this._isFinished) {\n return Promise.resolve({ value: value, done: true });\n }\n this._isFinished = true;\n var reader = this._reader;\n if (reader._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('finish iterating'));\n }\n if (!this._preventCancel) {\n var result = ReadableStreamReaderGenericCancel(reader, value);\n ReadableStreamReaderGenericRelease(reader);\n return transformPromiseWith(result, function () { return ({ value: value, done: true }); });\n }\n ReadableStreamReaderGenericRelease(reader);\n return promiseResolvedWith({ value: value, done: true });\n };\n return ReadableStreamAsyncIteratorImpl;\n }());\n var ReadableStreamAsyncIteratorPrototype = {\n next: function () {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n }\n return this._asyncIteratorImpl.next();\n },\n return: function (value) {\n if (!IsReadableStreamAsyncIterator(this)) {\n return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));\n }\n return this._asyncIteratorImpl.return(value);\n }\n };\n if (AsyncIteratorPrototype !== undefined) {\n Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n // Abstract operations for the ReadableStream.\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n iterator._asyncIteratorImpl = impl;\n return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {\n return false;\n }\n try {\n // noinspection SuspiciousTypeOfGuard\n return x._asyncIteratorImpl instanceof\n ReadableStreamAsyncIteratorImpl;\n }\n catch (_a) {\n return false;\n }\n }\n // Helper functions for the ReadableStream.\n function streamAsyncIteratorBrandCheckException(name) {\n return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n\n /// <reference lib=\"es2015.core\" />\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN#Polyfill\n var NumberIsNaN = Number.isNaN || function (x) {\n // eslint-disable-next-line no-self-compare\n return x !== x;\n };\n\n function CreateArrayFromList(elements) {\n // We use arrays to represent lists, so this is basically a no-op.\n // Do a slice though just in case we happen to depend on the unique-ness.\n return elements.slice();\n }\n function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n) {\n new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n // Not implemented correctly\n function TransferArrayBuffer(O) {\n return O;\n }\n // Not implemented correctly\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n function IsDetachedBuffer(O) {\n return false;\n }\n function ArrayBufferSlice(buffer, begin, end) {\n // ArrayBuffer.prototype.slice is not available on IE10\n // https://www.caniuse.com/mdn-javascript_builtins_arraybuffer_slice\n if (buffer.slice) {\n return buffer.slice(begin, end);\n }\n var length = end - begin;\n var slice = new ArrayBuffer(length);\n CopyDataBlockBytes(slice, 0, buffer, begin, length);\n return slice;\n }\n\n function IsNonNegativeNumber(v) {\n if (typeof v !== 'number') {\n return false;\n }\n if (NumberIsNaN(v)) {\n return false;\n }\n if (v < 0) {\n return false;\n }\n return true;\n }\n function CloneAsUint8Array(O) {\n var buffer = ArrayBufferSlice(O.buffer, O.byteOffset, O.byteOffset + O.byteLength);\n return new Uint8Array(buffer);\n }\n\n function DequeueValue(container) {\n var pair = container._queue.shift();\n container._queueTotalSize -= pair.size;\n if (container._queueTotalSize < 0) {\n container._queueTotalSize = 0;\n }\n return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n if (!IsNonNegativeNumber(size) || size === Infinity) {\n throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n }\n container._queue.push({ value: value, size: size });\n container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n var pair = container._queue.peek();\n return pair.value;\n }\n function ResetQueue(container) {\n container._queue = new SimpleQueue();\n container._queueTotalSize = 0;\n }\n\n /**\n * A pull-into request in a {@link ReadableByteStreamController}.\n *\n * @public\n */\n var ReadableStreamBYOBRequest = /** @class */ (function () {\n function ReadableStreamBYOBRequest() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n /**\n * Returns the view for writing in to, or `null` if the BYOB request has already been responded to.\n */\n get: function () {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('view');\n }\n return this._view;\n },\n enumerable: false,\n configurable: true\n });\n ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respond');\n }\n assertRequiredArgument(bytesWritten, 1, 'respond');\n bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(this._view.buffer)) ;\n ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n };\n ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n if (!IsReadableStreamBYOBRequest(this)) {\n throw byobRequestBrandCheckException('respondWithNewView');\n }\n assertRequiredArgument(view, 1, 'respondWithNewView');\n if (!ArrayBuffer.isView(view)) {\n throw new TypeError('You can only respond with array buffer views');\n }\n if (this._associatedReadableByteStreamController === undefined) {\n throw new TypeError('This BYOB request has been invalidated');\n }\n if (IsDetachedBuffer(view.buffer)) ;\n ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n };\n return ReadableStreamBYOBRequest;\n }());\n Object.defineProperties(ReadableStreamBYOBRequest.prototype, {\n respond: { enumerable: true },\n respondWithNewView: { enumerable: true },\n view: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBRequest.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamBYOBRequest',\n configurable: true\n });\n }\n /**\n * Allows control of a {@link ReadableStream | readable byte stream}'s state and internal queue.\n *\n * @public\n */\n var ReadableByteStreamController = /** @class */ (function () {\n function ReadableByteStreamController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n /**\n * Returns the current BYOB pull request, or `null` if there isn't one.\n */\n get: function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('byobRequest');\n }\n return ReadableByteStreamControllerGetBYOBRequest(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n /**\n * Returns the desired size to fill the controlled stream's internal queue. It can be negative, if the queue is\n * over-full. An underlying byte source ought to use this information to determine when and how to apply backpressure.\n */\n get: function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('desiredSize');\n }\n return ReadableByteStreamControllerGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Closes the controlled readable stream. Consumers will still be able to read any previously-enqueued chunks from\n * the stream, but once those are read, the stream will become closed.\n */\n ReadableByteStreamController.prototype.close = function () {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('close');\n }\n if (this._closeRequested) {\n throw new TypeError('The stream has already been closed; do not close it again!');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n }\n ReadableByteStreamControllerClose(this);\n };\n ReadableByteStreamController.prototype.enqueue = function (chunk) {\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('enqueue');\n }\n assertRequiredArgument(chunk, 1, 'enqueue');\n if (!ArrayBuffer.isView(chunk)) {\n throw new TypeError('chunk must be an array buffer view');\n }\n if (chunk.byteLength === 0) {\n throw new TypeError('chunk must have non-zero byteLength');\n }\n if (chunk.buffer.byteLength === 0) {\n throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n }\n if (this._closeRequested) {\n throw new TypeError('stream is closed or draining');\n }\n var state = this._controlledReadableByteStream._state;\n if (state !== 'readable') {\n throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n }\n ReadableByteStreamControllerEnqueue(this, chunk);\n };\n /**\n * Errors the controlled readable stream, making all future interactions with it fail with the given error `e`.\n */\n ReadableByteStreamController.prototype.error = function (e) {\n if (e === void 0) { e = undefined; }\n if (!IsReadableByteStreamController(this)) {\n throw byteStreamControllerBrandCheckException('error');\n }\n ReadableByteStreamControllerError(this, e);\n };\n /** @internal */\n ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n ReadableByteStreamControllerClearPendingPullIntos(this);\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableByteStreamControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n ReadableByteStreamController.prototype[PullSteps] = function (readRequest) {\n var stream = this._controlledReadableByteStream;\n if (this._queueTotalSize > 0) {\n var entry = this._queue.shift();\n this._queueTotalSize -= entry.byteLength;\n ReadableByteStreamControllerHandleQueueDrain(this);\n var view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n readRequest._chunkSteps(view);\n return;\n }\n var autoAllocateChunkSize = this._autoAllocateChunkSize;\n if (autoAllocateChunkSize !== undefined) {\n var buffer = void 0;\n try {\n buffer = new ArrayBuffer(autoAllocateChunkSize);\n }\n catch (bufferE) {\n readRequest._errorSteps(bufferE);\n return;\n }\n var pullIntoDescriptor = {\n buffer: buffer,\n bufferByteLength: autoAllocateChunkSize,\n byteOffset: 0,\n byteLength: autoAllocateChunkSize,\n bytesFilled: 0,\n elementSize: 1,\n viewConstructor: Uint8Array,\n readerType: 'default'\n };\n this._pendingPullIntos.push(pullIntoDescriptor);\n }\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableByteStreamControllerCallPullIfNeeded(this);\n };\n return ReadableByteStreamController;\n }());\n Object.defineProperties(ReadableByteStreamController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n byobRequest: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableByteStreamController.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableByteStreamController',\n configurable: true\n });\n }\n // Abstract operations for the ReadableByteStreamController.\n function IsReadableByteStreamController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n return false;\n }\n return x instanceof ReadableByteStreamController;\n }\n function IsReadableStreamBYOBRequest(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n return false;\n }\n return x instanceof ReadableStreamBYOBRequest;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n if (!shouldPull) {\n return;\n }\n if (controller._pulling) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n // TODO: Test controller argument\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain) {\n controller._pullAgain = false;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableByteStreamControllerError(controller, e);\n });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n var done = false;\n if (stream._state === 'closed') {\n done = true;\n }\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n if (pullIntoDescriptor.readerType === 'default') {\n ReadableStreamFulfillReadRequest(stream, filledView, done);\n }\n else {\n ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n var bytesFilled = pullIntoDescriptor.bytesFilled;\n var elementSize = pullIntoDescriptor.elementSize;\n return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n controller._queue.push({ buffer: buffer, byteOffset: byteOffset, byteLength: byteLength });\n controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n var elementSize = pullIntoDescriptor.elementSize;\n var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n var totalBytesToCopyRemaining = maxBytesToCopy;\n var ready = false;\n if (maxAlignedBytes > currentAlignedBytes) {\n totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n ready = true;\n }\n var queue = controller._queue;\n while (totalBytesToCopyRemaining > 0) {\n var headOfQueue = queue.peek();\n var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n if (headOfQueue.byteLength === bytesToCopy) {\n queue.shift();\n }\n else {\n headOfQueue.byteOffset += bytesToCopy;\n headOfQueue.byteLength -= bytesToCopy;\n }\n controller._queueTotalSize -= bytesToCopy;\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n totalBytesToCopyRemaining -= bytesToCopy;\n }\n return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n if (controller._queueTotalSize === 0 && controller._closeRequested) {\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(controller._controlledReadableByteStream);\n }\n else {\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n if (controller._byobRequest === null) {\n return;\n }\n controller._byobRequest._associatedReadableByteStreamController = undefined;\n controller._byobRequest._view = null;\n controller._byobRequest = null;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n while (controller._pendingPullIntos.length > 0) {\n if (controller._queueTotalSize === 0) {\n return;\n }\n var pullIntoDescriptor = controller._pendingPullIntos.peek();\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerPullInto(controller, view, readIntoRequest) {\n var stream = controller._controlledReadableByteStream;\n var elementSize = 1;\n if (view.constructor !== DataView) {\n elementSize = view.constructor.BYTES_PER_ELEMENT;\n }\n var ctor = view.constructor;\n // try {\n var buffer = TransferArrayBuffer(view.buffer);\n // } catch (e) {\n // readIntoRequest._errorSteps(e);\n // return;\n // }\n var pullIntoDescriptor = {\n buffer: buffer,\n bufferByteLength: buffer.byteLength,\n byteOffset: view.byteOffset,\n byteLength: view.byteLength,\n bytesFilled: 0,\n elementSize: elementSize,\n viewConstructor: ctor,\n readerType: 'byob'\n };\n if (controller._pendingPullIntos.length > 0) {\n controller._pendingPullIntos.push(pullIntoDescriptor);\n // No ReadableByteStreamControllerCallPullIfNeeded() call since:\n // - No change happens on desiredSize\n // - The source has already been notified of that there's at least 1 pending read(view)\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n return;\n }\n if (stream._state === 'closed') {\n var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n readIntoRequest._closeSteps(emptyView);\n return;\n }\n if (controller._queueTotalSize > 0) {\n if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n ReadableByteStreamControllerHandleQueueDrain(controller);\n readIntoRequest._chunkSteps(filledView);\n return;\n }\n if (controller._closeRequested) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n readIntoRequest._errorSteps(e);\n return;\n }\n }\n controller._pendingPullIntos.push(pullIntoDescriptor);\n ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n var stream = controller._controlledReadableByteStream;\n if (ReadableStreamHasBYOBReader(stream)) {\n while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n }\n }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n return;\n }\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n if (remainderSize > 0) {\n var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n var remainder = ArrayBufferSlice(pullIntoDescriptor.buffer, end - remainderSize, end);\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n }\n pullIntoDescriptor.bytesFilled -= remainderSize;\n ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n var state = controller._controlledReadableByteStream._state;\n if (state === 'closed') {\n ReadableByteStreamControllerRespondInClosedState(controller);\n }\n else {\n ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n var descriptor = controller._pendingPullIntos.shift();\n return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return false;\n }\n if (controller._closeRequested) {\n return false;\n }\n if (!controller._started) {\n return false;\n }\n if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n }\n // A client of ReadableByteStreamController may use these functions directly to bypass state check.\n function ReadableByteStreamControllerClose(controller) {\n var stream = controller._controlledReadableByteStream;\n if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n if (controller._queueTotalSize > 0) {\n controller._closeRequested = true;\n return;\n }\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (firstPendingPullInto.bytesFilled > 0) {\n var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n ReadableByteStreamControllerError(controller, e);\n throw e;\n }\n }\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n var stream = controller._controlledReadableByteStream;\n if (controller._closeRequested || stream._state !== 'readable') {\n return;\n }\n var buffer = chunk.buffer;\n var byteOffset = chunk.byteOffset;\n var byteLength = chunk.byteLength;\n var transferredBuffer = TransferArrayBuffer(buffer);\n if (controller._pendingPullIntos.length > 0) {\n var firstPendingPullInto = controller._pendingPullIntos.peek();\n if (IsDetachedBuffer(firstPendingPullInto.buffer)) ;\n firstPendingPullInto.buffer = TransferArrayBuffer(firstPendingPullInto.buffer);\n }\n ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n if (ReadableStreamHasDefaultReader(stream)) {\n if (ReadableStreamGetNumReadRequests(stream) === 0) {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n else {\n if (controller._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerShiftPendingPullInto(controller);\n }\n var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n ReadableStreamFulfillReadRequest(stream, transferredView, false);\n }\n }\n else if (ReadableStreamHasBYOBReader(stream)) {\n // TODO: Ideally in this branch detaching should happen only if the buffer is not consumed fully.\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n else {\n ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n }\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n var stream = controller._controlledReadableByteStream;\n if (stream._state !== 'readable') {\n return;\n }\n ReadableByteStreamControllerClearPendingPullIntos(controller);\n ResetQueue(controller);\n ReadableByteStreamControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetBYOBRequest(controller) {\n if (controller._byobRequest === null && controller._pendingPullIntos.length > 0) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n SetUpReadableStreamBYOBRequest(byobRequest, controller, view);\n controller._byobRequest = byobRequest;\n }\n return controller._byobRequest;\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n var state = controller._controlledReadableByteStream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var state = controller._controlledReadableByteStream._state;\n if (state === 'closed') {\n if (bytesWritten !== 0) {\n throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n }\n }\n else {\n if (bytesWritten === 0) {\n throw new TypeError('bytesWritten must be greater than 0 when calling respond() on a readable stream');\n }\n if (firstDescriptor.bytesFilled + bytesWritten > firstDescriptor.byteLength) {\n throw new RangeError('bytesWritten out of range');\n }\n }\n firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n var firstDescriptor = controller._pendingPullIntos.peek();\n var state = controller._controlledReadableByteStream._state;\n if (state === 'closed') {\n if (view.byteLength !== 0) {\n throw new TypeError('The view\\'s length must be 0 when calling respondWithNewView() on a closed stream');\n }\n }\n else {\n if (view.byteLength === 0) {\n throw new TypeError('The view\\'s length must be greater than 0 when calling respondWithNewView() on a readable stream');\n }\n }\n if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n throw new RangeError('The region specified by view does not match byobRequest');\n }\n if (firstDescriptor.bufferByteLength !== view.buffer.byteLength) {\n throw new RangeError('The buffer of view has different capacity than byobRequest');\n }\n if (firstDescriptor.bytesFilled + view.byteLength > firstDescriptor.byteLength) {\n throw new RangeError('The region specified by view is larger than byobRequest');\n }\n var viewByteLength = view.byteLength;\n firstDescriptor.buffer = TransferArrayBuffer(view.buffer);\n ReadableByteStreamControllerRespondInternal(controller, viewByteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n controller._controlledReadableByteStream = stream;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._byobRequest = null;\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._closeRequested = false;\n controller._started = false;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n controller._autoAllocateChunkSize = autoAllocateChunkSize;\n controller._pendingPullIntos = new SimpleQueue();\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableByteStreamControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableByteStreamControllerError(controller, r);\n });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n var controller = Object.create(ReadableByteStreamController.prototype);\n var startAlgorithm = function () { return undefined; };\n var pullAlgorithm = function () { return promiseResolvedWith(undefined); };\n var cancelAlgorithm = function () { return promiseResolvedWith(undefined); };\n if (underlyingByteSource.start !== undefined) {\n startAlgorithm = function () { return underlyingByteSource.start(controller); };\n }\n if (underlyingByteSource.pull !== undefined) {\n pullAlgorithm = function () { return underlyingByteSource.pull(controller); };\n }\n if (underlyingByteSource.cancel !== undefined) {\n cancelAlgorithm = function (reason) { return underlyingByteSource.cancel(reason); };\n }\n var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n if (autoAllocateChunkSize === 0) {\n throw new TypeError('autoAllocateChunkSize must be greater than 0');\n }\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n request._associatedReadableByteStreamController = controller;\n request._view = view;\n }\n // Helper functions for the ReadableStreamBYOBRequest.\n function byobRequestBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n // Helper functions for the ReadableByteStreamController.\n function byteStreamControllerBrandCheckException(name) {\n return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n\n // Abstract operations for the ReadableStream.\n function AcquireReadableStreamBYOBReader(stream) {\n return new ReadableStreamBYOBReader(stream);\n }\n // ReadableStream API exposed for controllers.\n function ReadableStreamAddReadIntoRequest(stream, readIntoRequest) {\n stream._reader._readIntoRequests.push(readIntoRequest);\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n var reader = stream._reader;\n var readIntoRequest = reader._readIntoRequests.shift();\n if (done) {\n readIntoRequest._closeSteps(chunk);\n }\n else {\n readIntoRequest._chunkSteps(chunk);\n }\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n var reader = stream._reader;\n if (reader === undefined) {\n return false;\n }\n if (!IsReadableStreamBYOBReader(reader)) {\n return false;\n }\n return true;\n }\n /**\n * A BYOB reader vended by a {@link ReadableStream}.\n *\n * @public\n */\n var ReadableStreamBYOBReader = /** @class */ (function () {\n function ReadableStreamBYOBReader(stream) {\n assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');\n assertReadableStream(stream, 'First parameter');\n if (IsReadableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n }\n if (!IsReadableByteStreamController(stream._readableStreamController)) {\n throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' +\n 'source');\n }\n ReadableStreamReaderGenericInitialize(this, stream);\n this._readIntoRequests = new SimpleQueue();\n }\n Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or\n * the reader's lock is released before the stream finishes closing.\n */\n get: function () {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * If the reader is active, behaves the same as {@link ReadableStream.cancel | stream.cancel(reason)}.\n */\n ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n }\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('cancel'));\n }\n return ReadableStreamReaderGenericCancel(this, reason);\n };\n /**\n * Attempts to reads bytes into view, and returns a promise resolved with the result.\n *\n * If reading a chunk causes the queue to become empty, more data will be pulled from the underlying source.\n */\n ReadableStreamBYOBReader.prototype.read = function (view) {\n if (!IsReadableStreamBYOBReader(this)) {\n return promiseRejectedWith(byobReaderBrandCheckException('read'));\n }\n if (!ArrayBuffer.isView(view)) {\n return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n }\n if (view.byteLength === 0) {\n return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n }\n if (view.buffer.byteLength === 0) {\n return promiseRejectedWith(new TypeError(\"view's buffer must have non-zero byteLength\"));\n }\n if (IsDetachedBuffer(view.buffer)) ;\n if (this._ownerReadableStream === undefined) {\n return promiseRejectedWith(readerLockException('read from'));\n }\n var resolvePromise;\n var rejectPromise;\n var promise = newPromise(function (resolve, reject) {\n resolvePromise = resolve;\n rejectPromise = reject;\n });\n var readIntoRequest = {\n _chunkSteps: function (chunk) { return resolvePromise({ value: chunk, done: false }); },\n _closeSteps: function (chunk) { return resolvePromise({ value: chunk, done: true }); },\n _errorSteps: function (e) { return rejectPromise(e); }\n };\n ReadableStreamBYOBReaderRead(this, view, readIntoRequest);\n return promise;\n };\n /**\n * Releases the reader's lock on the corresponding stream. After the lock is released, the reader is no longer active.\n * If the associated stream is errored when the lock is released, the reader will appear errored in the same way\n * from now on; otherwise, the reader will appear closed.\n *\n * A reader's lock cannot be released while it still has a pending read request, i.e., if a promise returned by\n * the reader's {@link ReadableStreamBYOBReader.read | read()} method has not yet been settled. Attempting to\n * do so will throw a `TypeError` and leave the reader locked to the stream.\n */\n ReadableStreamBYOBReader.prototype.releaseLock = function () {\n if (!IsReadableStreamBYOBReader(this)) {\n throw byobReaderBrandCheckException('releaseLock');\n }\n if (this._ownerReadableStream === undefined) {\n return;\n }\n if (this._readIntoRequests.length > 0) {\n throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n }\n ReadableStreamReaderGenericRelease(this);\n };\n return ReadableStreamBYOBReader;\n }());\n Object.defineProperties(ReadableStreamBYOBReader.prototype, {\n cancel: { enumerable: true },\n read: { enumerable: true },\n releaseLock: { enumerable: true },\n closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamBYOBReader.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamBYOBReader',\n configurable: true\n });\n }\n // Abstract operations for the readers.\n function IsReadableStreamBYOBReader(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n return false;\n }\n return x instanceof ReadableStreamBYOBReader;\n }\n function ReadableStreamBYOBReaderRead(reader, view, readIntoRequest) {\n var stream = reader._ownerReadableStream;\n stream._disturbed = true;\n if (stream._state === 'errored') {\n readIntoRequest._errorSteps(stream._storedError);\n }\n else {\n ReadableByteStreamControllerPullInto(stream._readableStreamController, view, readIntoRequest);\n }\n }\n // Helper functions for the ReadableStreamBYOBReader.\n function byobReaderBrandCheckException(name) {\n return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n\n function ExtractHighWaterMark(strategy, defaultHWM) {\n var highWaterMark = strategy.highWaterMark;\n if (highWaterMark === undefined) {\n return defaultHWM;\n }\n if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n throw new RangeError('Invalid highWaterMark');\n }\n return highWaterMark;\n }\n function ExtractSizeAlgorithm(strategy) {\n var size = strategy.size;\n if (!size) {\n return function () { return 1; };\n }\n return size;\n }\n\n function convertQueuingStrategy(init, context) {\n assertDictionary(init, context);\n var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n var size = init === null || init === void 0 ? void 0 : init.size;\n return {\n highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),\n size: size === undefined ? undefined : convertQueuingStrategySize(size, context + \" has member 'size' that\")\n };\n }\n function convertQueuingStrategySize(fn, context) {\n assertFunction(fn, context);\n return function (chunk) { return convertUnrestrictedDouble(fn(chunk)); };\n }\n\n function convertUnderlyingSink(original, context) {\n assertDictionary(original, context);\n var abort = original === null || original === void 0 ? void 0 : original.abort;\n var close = original === null || original === void 0 ? void 0 : original.close;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var type = original === null || original === void 0 ? void 0 : original.type;\n var write = original === null || original === void 0 ? void 0 : original.write;\n return {\n abort: abort === undefined ?\n undefined :\n convertUnderlyingSinkAbortCallback(abort, original, context + \" has member 'abort' that\"),\n close: close === undefined ?\n undefined :\n convertUnderlyingSinkCloseCallback(close, original, context + \" has member 'close' that\"),\n start: start === undefined ?\n undefined :\n convertUnderlyingSinkStartCallback(start, original, context + \" has member 'start' that\"),\n write: write === undefined ?\n undefined :\n convertUnderlyingSinkWriteCallback(write, original, context + \" has member 'write' that\"),\n type: type\n };\n }\n function convertUnderlyingSinkAbortCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (reason) { return promiseCall(fn, original, [reason]); };\n }\n function convertUnderlyingSinkCloseCallback(fn, original, context) {\n assertFunction(fn, context);\n return function () { return promiseCall(fn, original, []); };\n }\n function convertUnderlyingSinkStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return reflectCall(fn, original, [controller]); };\n }\n function convertUnderlyingSinkWriteCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (chunk, controller) { return promiseCall(fn, original, [chunk, controller]); };\n }\n\n function assertWritableStream(x, context) {\n if (!IsWritableStream(x)) {\n throw new TypeError(context + \" is not a WritableStream.\");\n }\n }\n\n function isAbortSignal(value) {\n if (typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof value.aborted === 'boolean';\n }\n catch (_a) {\n // AbortSignal.prototype.aborted throws if its brand check fails\n return false;\n }\n }\n var supportsAbortController = typeof AbortController === 'function';\n /**\n * Construct a new AbortController, if supported by the platform.\n *\n * @internal\n */\n function createAbortController() {\n if (supportsAbortController) {\n return new AbortController();\n }\n return undefined;\n }\n\n /**\n * A writable stream represents a destination for data, into which you can write.\n *\n * @public\n */\n var WritableStream = /** @class */ (function () {\n function WritableStream(rawUnderlyingSink, rawStrategy) {\n if (rawUnderlyingSink === void 0) { rawUnderlyingSink = {}; }\n if (rawStrategy === void 0) { rawStrategy = {}; }\n if (rawUnderlyingSink === undefined) {\n rawUnderlyingSink = null;\n }\n else {\n assertObject(rawUnderlyingSink, 'First parameter');\n }\n var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n var underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');\n InitializeWritableStream(this);\n var type = underlyingSink.type;\n if (type !== undefined) {\n throw new RangeError('Invalid type is specified');\n }\n var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n var highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n }\n Object.defineProperty(WritableStream.prototype, \"locked\", {\n /**\n * Returns whether or not the writable stream is locked to a writer.\n */\n get: function () {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException$2('locked');\n }\n return IsWritableStreamLocked(this);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Aborts the stream, signaling that the producer can no longer successfully write to the stream and it is to be\n * immediately moved to an errored state, with any queued-up writes discarded. This will also execute any abort\n * mechanism of the underlying sink.\n *\n * The returned promise will fulfill if the stream shuts down successfully, or reject if the underlying sink signaled\n * that there was an error doing so. Additionally, it will reject with a `TypeError` (without attempting to cancel\n * the stream) if the stream is currently locked.\n */\n WritableStream.prototype.abort = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$2('abort'));\n }\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n }\n return WritableStreamAbort(this, reason);\n };\n /**\n * Closes the stream. The underlying sink will finish processing any previously-written chunks, before invoking its\n * close behavior. During this time any further attempts to write will fail (without erroring the stream).\n *\n * The method returns a promise that will fulfill if all remaining chunks are successfully written and the stream\n * successfully closes, or rejects if an error is encountered during this process. Additionally, it will reject with\n * a `TypeError` (without attempting to cancel the stream) if the stream is currently locked.\n */\n WritableStream.prototype.close = function () {\n if (!IsWritableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$2('close'));\n }\n if (IsWritableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n }\n if (WritableStreamCloseQueuedOrInFlight(this)) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamClose(this);\n };\n /**\n * Creates a {@link WritableStreamDefaultWriter | writer} and locks the stream to the new writer. While the stream\n * is locked, no other writer can be acquired until this one is released.\n *\n * This functionality is especially useful for creating abstractions that desire the ability to write to a stream\n * without interruption or interleaving. By getting a writer for the stream, you can ensure nobody else can write at\n * the same time, which would cause the resulting written data to be unpredictable and probably useless.\n */\n WritableStream.prototype.getWriter = function () {\n if (!IsWritableStream(this)) {\n throw streamBrandCheckException$2('getWriter');\n }\n return AcquireWritableStreamDefaultWriter(this);\n };\n return WritableStream;\n }());\n Object.defineProperties(WritableStream.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n getWriter: { enumerable: true },\n locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStream',\n configurable: true\n });\n }\n // Abstract operations for the WritableStream.\n function AcquireWritableStreamDefaultWriter(stream) {\n return new WritableStreamDefaultWriter(stream);\n }\n // Throws if and only if startAlgorithm throws.\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\n var stream = Object.create(WritableStream.prototype);\n InitializeWritableStream(stream);\n var controller = Object.create(WritableStreamDefaultController.prototype);\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n function InitializeWritableStream(stream) {\n stream._state = 'writable';\n // The error that will be reported by new method calls once the state becomes errored. Only set when [[state]] is\n // 'erroring' or 'errored'. May be set to an undefined value.\n stream._storedError = undefined;\n stream._writer = undefined;\n // Initialize to undefined first because the constructor of the controller checks this\n // variable to validate the caller.\n stream._writableStreamController = undefined;\n // This queue is placed here instead of the writer class in order to allow for passing a writer to the next data\n // producer without waiting for the queued writes to finish.\n stream._writeRequests = new SimpleQueue();\n // Write requests are removed from _writeRequests when write() is called on the underlying sink. This prevents\n // them from being erroneously rejected on error. If a write() call is in-flight, the request is stored here.\n stream._inFlightWriteRequest = undefined;\n // The promise that was returned from writer.close(). Stored here because it may be fulfilled after the writer\n // has been detached.\n stream._closeRequest = undefined;\n // Close request is removed from _closeRequest when close() is called on the underlying sink. This prevents it\n // from being erroneously rejected on error. If a close() call is in-flight, the request is stored here.\n stream._inFlightCloseRequest = undefined;\n // The promise that was returned from writer.abort(). This may also be fulfilled after the writer has detached.\n stream._pendingAbortRequest = undefined;\n // The backpressure signal set by the controller.\n stream._backpressure = false;\n }\n function IsWritableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n return false;\n }\n return x instanceof WritableStream;\n }\n function IsWritableStreamLocked(stream) {\n if (stream._writer === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamAbort(stream, reason) {\n var _a;\n if (stream._state === 'closed' || stream._state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n stream._writableStreamController._abortReason = reason;\n (_a = stream._writableStreamController._abortController) === null || _a === void 0 ? void 0 : _a.abort();\n // TypeScript narrows the type of `stream._state` down to 'writable' | 'erroring',\n // but it doesn't know that signaling abort runs author code that might have changed the state.\n // Widen the type again by casting to WritableStreamState.\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseResolvedWith(undefined);\n }\n if (stream._pendingAbortRequest !== undefined) {\n return stream._pendingAbortRequest._promise;\n }\n var wasAlreadyErroring = false;\n if (state === 'erroring') {\n wasAlreadyErroring = true;\n // reason will not be used, so don't keep a reference to it.\n reason = undefined;\n }\n var promise = newPromise(function (resolve, reject) {\n stream._pendingAbortRequest = {\n _promise: undefined,\n _resolve: resolve,\n _reject: reject,\n _reason: reason,\n _wasAlreadyErroring: wasAlreadyErroring\n };\n });\n stream._pendingAbortRequest._promise = promise;\n if (!wasAlreadyErroring) {\n WritableStreamStartErroring(stream, reason);\n }\n return promise;\n }\n function WritableStreamClose(stream) {\n var state = stream._state;\n if (state === 'closed' || state === 'errored') {\n return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n }\n var promise = newPromise(function (resolve, reject) {\n var closeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._closeRequest = closeRequest;\n });\n var writer = stream._writer;\n if (writer !== undefined && stream._backpressure && state === 'writable') {\n defaultWriterReadyPromiseResolve(writer);\n }\n WritableStreamDefaultControllerClose(stream._writableStreamController);\n return promise;\n }\n // WritableStream API exposed for controllers.\n function WritableStreamAddWriteRequest(stream) {\n var promise = newPromise(function (resolve, reject) {\n var writeRequest = {\n _resolve: resolve,\n _reject: reject\n };\n stream._writeRequests.push(writeRequest);\n });\n return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n var state = stream._state;\n if (state === 'writable') {\n WritableStreamStartErroring(stream, error);\n return;\n }\n WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n var controller = stream._writableStreamController;\n stream._state = 'erroring';\n stream._storedError = reason;\n var writer = stream._writer;\n if (writer !== undefined) {\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n }\n if (!WritableStreamHasOperationMarkedInFlight(stream) && controller._started) {\n WritableStreamFinishErroring(stream);\n }\n }\n function WritableStreamFinishErroring(stream) {\n stream._state = 'errored';\n stream._writableStreamController[ErrorSteps]();\n var storedError = stream._storedError;\n stream._writeRequests.forEach(function (writeRequest) {\n writeRequest._reject(storedError);\n });\n stream._writeRequests = new SimpleQueue();\n if (stream._pendingAbortRequest === undefined) {\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var abortRequest = stream._pendingAbortRequest;\n stream._pendingAbortRequest = undefined;\n if (abortRequest._wasAlreadyErroring) {\n abortRequest._reject(storedError);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n return;\n }\n var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n uponPromise(promise, function () {\n abortRequest._resolve();\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n }, function (reason) {\n abortRequest._reject(reason);\n WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n stream._inFlightWriteRequest._resolve(undefined);\n stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n stream._inFlightWriteRequest._reject(error);\n stream._inFlightWriteRequest = undefined;\n WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n stream._inFlightCloseRequest._resolve(undefined);\n stream._inFlightCloseRequest = undefined;\n var state = stream._state;\n if (state === 'erroring') {\n // The error was too late to do anything, so it is ignored.\n stream._storedError = undefined;\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._resolve();\n stream._pendingAbortRequest = undefined;\n }\n }\n stream._state = 'closed';\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseResolve(writer);\n }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n stream._inFlightCloseRequest._reject(error);\n stream._inFlightCloseRequest = undefined;\n // Never execute sink abort() after sink close().\n if (stream._pendingAbortRequest !== undefined) {\n stream._pendingAbortRequest._reject(error);\n stream._pendingAbortRequest = undefined;\n }\n WritableStreamDealWithRejection(stream, error);\n }\n // TODO(ricea): Fix alphabetical order.\n function WritableStreamCloseQueuedOrInFlight(stream) {\n if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n return false;\n }\n return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n stream._inFlightCloseRequest = stream._closeRequest;\n stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n if (stream._closeRequest !== undefined) {\n stream._closeRequest._reject(stream._storedError);\n stream._closeRequest = undefined;\n }\n var writer = stream._writer;\n if (writer !== undefined) {\n defaultWriterClosedPromiseReject(writer, stream._storedError);\n }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n var writer = stream._writer;\n if (writer !== undefined && backpressure !== stream._backpressure) {\n if (backpressure) {\n defaultWriterReadyPromiseReset(writer);\n }\n else {\n defaultWriterReadyPromiseResolve(writer);\n }\n }\n stream._backpressure = backpressure;\n }\n /**\n * A default writer vended by a {@link WritableStream}.\n *\n * @public\n */\n var WritableStreamDefaultWriter = /** @class */ (function () {\n function WritableStreamDefaultWriter(stream) {\n assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');\n assertWritableStream(stream, 'First parameter');\n if (IsWritableStreamLocked(stream)) {\n throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n }\n this._ownerWritableStream = stream;\n stream._writer = this;\n var state = stream._state;\n if (state === 'writable') {\n if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._backpressure) {\n defaultWriterReadyPromiseInitialize(this);\n }\n else {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n }\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'erroring') {\n defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n defaultWriterClosedPromiseInitialize(this);\n }\n else if (state === 'closed') {\n defaultWriterReadyPromiseInitializeAsResolved(this);\n defaultWriterClosedPromiseInitializeAsResolved(this);\n }\n else {\n var storedError = stream._storedError;\n defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n }\n }\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n /**\n * Returns a promise that will be fulfilled when the stream becomes closed, or rejected if the stream ever errors or\n * the writer’s lock is released before the stream finishes closing.\n */\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n }\n return this._closedPromise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n /**\n * Returns the desired size to fill the stream’s internal queue. It can be negative, if the queue is over-full.\n * A producer can use this information to determine the right amount of data to write.\n *\n * It will be `null` if the stream cannot be successfully written to (due to either being errored, or having an abort\n * queued up). It will return zero if the stream is closed. And the getter will throw an exception if invoked when\n * the writer’s lock is released.\n */\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('desiredSize');\n }\n if (this._ownerWritableStream === undefined) {\n throw defaultWriterLockException('desiredSize');\n }\n return WritableStreamDefaultWriterGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n /**\n * Returns a promise that will be fulfilled when the desired size to fill the stream’s internal queue transitions\n * from non-positive to positive, signaling that it is no longer applying backpressure. Once the desired size dips\n * back to zero or below, the getter will return a new promise that stays pending until the next transition.\n *\n * If the stream becomes errored or aborted, or the writer’s lock is released, the returned promise will become\n * rejected.\n */\n get: function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n }\n return this._readyPromise;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * If the reader is active, behaves the same as {@link WritableStream.abort | stream.abort(reason)}.\n */\n WritableStreamDefaultWriter.prototype.abort = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('abort'));\n }\n return WritableStreamDefaultWriterAbort(this, reason);\n };\n /**\n * If the reader is active, behaves the same as {@link WritableStream.close | stream.close()}.\n */\n WritableStreamDefaultWriter.prototype.close = function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('close'));\n }\n if (WritableStreamCloseQueuedOrInFlight(stream)) {\n return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n }\n return WritableStreamDefaultWriterClose(this);\n };\n /**\n * Releases the writer’s lock on the corresponding stream. After the lock is released, the writer is no longer active.\n * If the associated stream is errored when the lock is released, the writer will appear errored in the same way from\n * now on; otherwise, the writer will appear closed.\n *\n * Note that the lock can still be released even if some ongoing writes have not yet finished (i.e. even if the\n * promises returned from previous calls to {@link WritableStreamDefaultWriter.write | write()} have not yet settled).\n * It’s not necessary to hold the lock on the writer for the duration of the write; the lock instead simply prevents\n * other producers from writing in an interleaved manner.\n */\n WritableStreamDefaultWriter.prototype.releaseLock = function () {\n if (!IsWritableStreamDefaultWriter(this)) {\n throw defaultWriterBrandCheckException('releaseLock');\n }\n var stream = this._ownerWritableStream;\n if (stream === undefined) {\n return;\n }\n WritableStreamDefaultWriterRelease(this);\n };\n WritableStreamDefaultWriter.prototype.write = function (chunk) {\n if (chunk === void 0) { chunk = undefined; }\n if (!IsWritableStreamDefaultWriter(this)) {\n return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n }\n if (this._ownerWritableStream === undefined) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n return WritableStreamDefaultWriterWrite(this, chunk);\n };\n return WritableStreamDefaultWriter;\n }());\n Object.defineProperties(WritableStreamDefaultWriter.prototype, {\n abort: { enumerable: true },\n close: { enumerable: true },\n releaseLock: { enumerable: true },\n write: { enumerable: true },\n closed: { enumerable: true },\n desiredSize: { enumerable: true },\n ready: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultWriter.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStreamDefaultWriter',\n configurable: true\n });\n }\n // Abstract operations for the WritableStreamDefaultWriter.\n function IsWritableStreamDefaultWriter(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n return false;\n }\n return x instanceof WritableStreamDefaultWriter;\n }\n // A client of WritableStreamDefaultWriter may use these functions directly to bypass state check.\n function WritableStreamDefaultWriterAbort(writer, reason) {\n var stream = writer._ownerWritableStream;\n return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n var stream = writer._ownerWritableStream;\n return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n if (writer._closedPromiseState === 'pending') {\n defaultWriterClosedPromiseReject(writer, error);\n }\n else {\n defaultWriterClosedPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n if (writer._readyPromiseState === 'pending') {\n defaultWriterReadyPromiseReject(writer, error);\n }\n else {\n defaultWriterReadyPromiseResetToRejected(writer, error);\n }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n var stream = writer._ownerWritableStream;\n var state = stream._state;\n if (state === 'errored' || state === 'erroring') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n var stream = writer._ownerWritableStream;\n var releasedError = new TypeError(\"Writer was released and can no longer be used to monitor the stream's closedness\");\n WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n // The state transitions to \"errored\" before the sink abort() method runs, but the writer.closed promise is not\n // rejected until afterwards. This means that simply testing state will not work.\n WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n stream._writer = undefined;\n writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n var stream = writer._ownerWritableStream;\n var controller = stream._writableStreamController;\n var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n if (stream !== writer._ownerWritableStream) {\n return promiseRejectedWith(defaultWriterLockException('write to'));\n }\n var state = stream._state;\n if (state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n }\n if (state === 'erroring') {\n return promiseRejectedWith(stream._storedError);\n }\n var promise = WritableStreamAddWriteRequest(stream);\n WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n return promise;\n }\n var closeSentinel = {};\n /**\n * Allows control of a {@link WritableStream | writable stream}'s state and internal queue.\n *\n * @public\n */\n var WritableStreamDefaultController = /** @class */ (function () {\n function WritableStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(WritableStreamDefaultController.prototype, \"abortReason\", {\n /**\n * The reason which was passed to `WritableStream.abort(reason)` when the stream was aborted.\n *\n * @deprecated\n * This property has been removed from the specification, see https://github.com/whatwg/streams/pull/1177.\n * Use {@link WritableStreamDefaultController.signal}'s `reason` instead.\n */\n get: function () {\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$2('abortReason');\n }\n return this._abortReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WritableStreamDefaultController.prototype, \"signal\", {\n /**\n * An `AbortSignal` that can be used to abort the pending write or close operation when the stream is aborted.\n */\n get: function () {\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$2('signal');\n }\n if (this._abortController === undefined) {\n // Older browsers or older Node versions may not support `AbortController` or `AbortSignal`.\n // We don't want to bundle and ship an `AbortController` polyfill together with our polyfill,\n // so instead we only implement support for `signal` if we find a global `AbortController` constructor.\n throw new TypeError('WritableStreamDefaultController.prototype.signal is not supported');\n }\n return this._abortController.signal;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Closes the controlled writable stream, making all future interactions with it fail with the given error `e`.\n *\n * This method is rarely used, since usually it suffices to return a rejected promise from one of the underlying\n * sink's methods. However, it can be useful for suddenly shutting down a stream in response to an event outside the\n * normal lifecycle of interactions with the underlying sink.\n */\n WritableStreamDefaultController.prototype.error = function (e) {\n if (e === void 0) { e = undefined; }\n if (!IsWritableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$2('error');\n }\n var state = this._controlledWritableStream._state;\n if (state !== 'writable') {\n // The stream is closed, errored or will be soon. The sink can't do anything useful if it gets an error here, so\n // just treat it as a no-op.\n return;\n }\n WritableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n var result = this._abortAlgorithm(reason);\n WritableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n ResetQueue(this);\n };\n return WritableStreamDefaultController;\n }());\n Object.defineProperties(WritableStreamDefaultController.prototype, {\n abortReason: { enumerable: true },\n signal: { enumerable: true },\n error: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(WritableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'WritableStreamDefaultController',\n configurable: true\n });\n }\n // Abstract operations implementing interface required by the WritableStream.\n function IsWritableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n return false;\n }\n return x instanceof WritableStreamDefaultController;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledWritableStream = stream;\n stream._writableStreamController = controller;\n // Need to set the slots so that the assert doesn't fire. In the spec the slots already exist implicitly.\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._abortReason = undefined;\n controller._abortController = createAbortController();\n controller._started = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._writeAlgorithm = writeAlgorithm;\n controller._closeAlgorithm = closeAlgorithm;\n controller._abortAlgorithm = abortAlgorithm;\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n var startResult = startAlgorithm();\n var startPromise = promiseResolvedWith(startResult);\n uponPromise(startPromise, function () {\n controller._started = true;\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (r) {\n controller._started = true;\n WritableStreamDealWithRejection(stream, r);\n });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(WritableStreamDefaultController.prototype);\n var startAlgorithm = function () { return undefined; };\n var writeAlgorithm = function () { return promiseResolvedWith(undefined); };\n var closeAlgorithm = function () { return promiseResolvedWith(undefined); };\n var abortAlgorithm = function () { return promiseResolvedWith(undefined); };\n if (underlyingSink.start !== undefined) {\n startAlgorithm = function () { return underlyingSink.start(controller); };\n }\n if (underlyingSink.write !== undefined) {\n writeAlgorithm = function (chunk) { return underlyingSink.write(chunk, controller); };\n }\n if (underlyingSink.close !== undefined) {\n closeAlgorithm = function () { return underlyingSink.close(); };\n }\n if (underlyingSink.abort !== undefined) {\n abortAlgorithm = function (reason) { return underlyingSink.abort(reason); };\n }\n SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n // ClearAlgorithms may be called twice. Erroring the same stream in multiple ways will often result in redundant calls.\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n controller._writeAlgorithm = undefined;\n controller._closeAlgorithm = undefined;\n controller._abortAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n EnqueueValueWithSize(controller, closeSentinel, 0);\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n try {\n return controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n return 1;\n }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n }\n catch (enqueueE) {\n WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n return;\n }\n var stream = controller._controlledWritableStream;\n if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n // Abstract operations for the WritableStreamDefaultController.\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n var stream = controller._controlledWritableStream;\n if (!controller._started) {\n return;\n }\n if (stream._inFlightWriteRequest !== undefined) {\n return;\n }\n var state = stream._state;\n if (state === 'erroring') {\n WritableStreamFinishErroring(stream);\n return;\n }\n if (controller._queue.length === 0) {\n return;\n }\n var value = PeekQueueValue(controller);\n if (value === closeSentinel) {\n WritableStreamDefaultControllerProcessClose(controller);\n }\n else {\n WritableStreamDefaultControllerProcessWrite(controller, value);\n }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n if (controller._controlledWritableStream._state === 'writable') {\n WritableStreamDefaultControllerError(controller, error);\n }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkCloseRequestInFlight(stream);\n DequeueValue(controller);\n var sinkClosePromise = controller._closeAlgorithm();\n WritableStreamDefaultControllerClearAlgorithms(controller);\n uponPromise(sinkClosePromise, function () {\n WritableStreamFinishInFlightClose(stream);\n }, function (reason) {\n WritableStreamFinishInFlightCloseWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n var stream = controller._controlledWritableStream;\n WritableStreamMarkFirstWriteRequestInFlight(stream);\n var sinkWritePromise = controller._writeAlgorithm(chunk);\n uponPromise(sinkWritePromise, function () {\n WritableStreamFinishInFlightWrite(stream);\n var state = stream._state;\n DequeueValue(controller);\n if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') {\n var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n WritableStreamUpdateBackpressure(stream, backpressure);\n }\n WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }, function (reason) {\n if (stream._state === 'writable') {\n WritableStreamDefaultControllerClearAlgorithms(controller);\n }\n WritableStreamFinishInFlightWriteWithError(stream, reason);\n });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n return desiredSize <= 0;\n }\n // A client of WritableStreamDefaultController may use these functions directly to bypass state check.\n function WritableStreamDefaultControllerError(controller, error) {\n var stream = controller._controlledWritableStream;\n WritableStreamDefaultControllerClearAlgorithms(controller);\n WritableStreamStartErroring(stream, error);\n }\n // Helper functions for the WritableStream.\n function streamBrandCheckException$2(name) {\n return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n // Helper functions for the WritableStreamDefaultController.\n function defaultControllerBrandCheckException$2(name) {\n return new TypeError(\"WritableStreamDefaultController.prototype.\" + name + \" can only be used on a WritableStreamDefaultController\");\n }\n // Helper functions for the WritableStreamDefaultWriter.\n function defaultWriterBrandCheckException(name) {\n return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n writer._closedPromise = newPromise(function (resolve, reject) {\n writer._closedPromise_resolve = resolve;\n writer._closedPromise_reject = reject;\n writer._closedPromiseState = 'pending';\n });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n defaultWriterClosedPromiseInitialize(writer);\n defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n if (writer._closedPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(writer._closedPromise);\n writer._closedPromise_reject(reason);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n if (writer._closedPromise_resolve === undefined) {\n return;\n }\n writer._closedPromise_resolve(undefined);\n writer._closedPromise_resolve = undefined;\n writer._closedPromise_reject = undefined;\n writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n writer._readyPromise = newPromise(function (resolve, reject) {\n writer._readyPromise_resolve = resolve;\n writer._readyPromise_reject = reject;\n });\n writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n if (writer._readyPromise_reject === undefined) {\n return;\n }\n setPromiseIsHandledToTrue(writer._readyPromise);\n writer._readyPromise_reject(reason);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n if (writer._readyPromise_resolve === undefined) {\n return;\n }\n writer._readyPromise_resolve(undefined);\n writer._readyPromise_resolve = undefined;\n writer._readyPromise_reject = undefined;\n writer._readyPromiseState = 'fulfilled';\n }\n\n /// <reference lib=\"dom\" />\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n\n /// <reference types=\"node\" />\n function isDOMExceptionConstructor(ctor) {\n if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n return false;\n }\n try {\n new ctor();\n return true;\n }\n catch (_a) {\n return false;\n }\n }\n function createDOMExceptionPolyfill() {\n // eslint-disable-next-line no-shadow\n var ctor = function DOMException(message, name) {\n this.message = message || '';\n this.name = name || 'Error';\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n }\n };\n ctor.prototype = Object.create(Error.prototype);\n Object.defineProperty(ctor.prototype, 'constructor', { value: ctor, writable: true, configurable: true });\n return ctor;\n }\n // eslint-disable-next-line no-redeclare\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n var reader = AcquireReadableStreamDefaultReader(source);\n var writer = AcquireWritableStreamDefaultWriter(dest);\n source._disturbed = true;\n var shuttingDown = false;\n // This is used to keep track of the spec's requirement that we wait for ongoing writes during shutdown.\n var currentWrite = promiseResolvedWith(undefined);\n return newPromise(function (resolve, reject) {\n var abortAlgorithm;\n if (signal !== undefined) {\n abortAlgorithm = function () {\n var error = new DOMException$1('Aborted', 'AbortError');\n var actions = [];\n if (!preventAbort) {\n actions.push(function () {\n if (dest._state === 'writable') {\n return WritableStreamAbort(dest, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n if (!preventCancel) {\n actions.push(function () {\n if (source._state === 'readable') {\n return ReadableStreamCancel(source, error);\n }\n return promiseResolvedWith(undefined);\n });\n }\n shutdownWithAction(function () { return Promise.all(actions.map(function (action) { return action(); })); }, true, error);\n };\n if (signal.aborted) {\n abortAlgorithm();\n return;\n }\n signal.addEventListener('abort', abortAlgorithm);\n }\n // Using reader and writer, read all chunks from this and write them to dest\n // - Backpressure must be enforced\n // - Shutdown must stop all activity\n function pipeLoop() {\n return newPromise(function (resolveLoop, rejectLoop) {\n function next(done) {\n if (done) {\n resolveLoop();\n }\n else {\n // Use `PerformPromiseThen` instead of `uponPromise` to avoid\n // adding unnecessary `.catch(rethrowAssertionErrorRejection)` handlers\n PerformPromiseThen(pipeStep(), next, rejectLoop);\n }\n }\n next(false);\n });\n }\n function pipeStep() {\n if (shuttingDown) {\n return promiseResolvedWith(true);\n }\n return PerformPromiseThen(writer._readyPromise, function () {\n return newPromise(function (resolveRead, rejectRead) {\n ReadableStreamDefaultReaderRead(reader, {\n _chunkSteps: function (chunk) {\n currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);\n resolveRead(false);\n },\n _closeSteps: function () { return resolveRead(true); },\n _errorSteps: rejectRead\n });\n });\n });\n }\n // Errors must be propagated forward\n isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n if (!preventAbort) {\n shutdownWithAction(function () { return WritableStreamAbort(dest, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Errors must be propagated backward\n isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n if (!preventCancel) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, storedError); }, true, storedError);\n }\n else {\n shutdown(true, storedError);\n }\n });\n // Closing must be propagated forward\n isOrBecomesClosed(source, reader._closedPromise, function () {\n if (!preventClose) {\n shutdownWithAction(function () { return WritableStreamDefaultWriterCloseWithErrorPropagation(writer); });\n }\n else {\n shutdown();\n }\n });\n // Closing must be propagated backward\n if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') {\n var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n if (!preventCancel) {\n shutdownWithAction(function () { return ReadableStreamCancel(source, destClosed_1); }, true, destClosed_1);\n }\n else {\n shutdown(true, destClosed_1);\n }\n }\n setPromiseIsHandledToTrue(pipeLoop());\n function waitForWritesToFinish() {\n // Another write may have started while we were waiting on this currentWrite, so we have to be sure to wait\n // for that too.\n var oldCurrentWrite = currentWrite;\n return PerformPromiseThen(currentWrite, function () { return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined; });\n }\n function isOrBecomesErrored(stream, promise, action) {\n if (stream._state === 'errored') {\n action(stream._storedError);\n }\n else {\n uponRejection(promise, action);\n }\n }\n function isOrBecomesClosed(stream, promise, action) {\n if (stream._state === 'closed') {\n action();\n }\n else {\n uponFulfillment(promise, action);\n }\n }\n function shutdownWithAction(action, originalIsError, originalError) {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n uponFulfillment(waitForWritesToFinish(), doTheRest);\n }\n else {\n doTheRest();\n }\n function doTheRest() {\n uponPromise(action(), function () { return finalize(originalIsError, originalError); }, function (newError) { return finalize(true, newError); });\n }\n }\n function shutdown(isError, error) {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n uponFulfillment(waitForWritesToFinish(), function () { return finalize(isError, error); });\n }\n else {\n finalize(isError, error);\n }\n }\n function finalize(isError, error) {\n WritableStreamDefaultWriterRelease(writer);\n ReadableStreamReaderGenericRelease(reader);\n if (signal !== undefined) {\n signal.removeEventListener('abort', abortAlgorithm);\n }\n if (isError) {\n reject(error);\n }\n else {\n resolve(undefined);\n }\n }\n });\n }\n\n /**\n * Allows control of a {@link ReadableStream | readable stream}'s state and internal queue.\n *\n * @public\n */\n var ReadableStreamDefaultController = /** @class */ (function () {\n function ReadableStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n /**\n * Returns the desired size to fill the controlled stream's internal queue. It can be negative, if the queue is\n * over-full. An underlying source ought to use this information to determine when and how to apply backpressure.\n */\n get: function () {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('desiredSize');\n }\n return ReadableStreamDefaultControllerGetDesiredSize(this);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Closes the controlled readable stream. Consumers will still be able to read any previously-enqueued chunks from\n * the stream, but once those are read, the stream will become closed.\n */\n ReadableStreamDefaultController.prototype.close = function () {\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('close');\n }\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n throw new TypeError('The stream is not in a state that permits close');\n }\n ReadableStreamDefaultControllerClose(this);\n };\n ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n if (chunk === void 0) { chunk = undefined; }\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('enqueue');\n }\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n throw new TypeError('The stream is not in a state that permits enqueue');\n }\n return ReadableStreamDefaultControllerEnqueue(this, chunk);\n };\n /**\n * Errors the controlled readable stream, making all future interactions with it fail with the given error `e`.\n */\n ReadableStreamDefaultController.prototype.error = function (e) {\n if (e === void 0) { e = undefined; }\n if (!IsReadableStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException$1('error');\n }\n ReadableStreamDefaultControllerError(this, e);\n };\n /** @internal */\n ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n ResetQueue(this);\n var result = this._cancelAlgorithm(reason);\n ReadableStreamDefaultControllerClearAlgorithms(this);\n return result;\n };\n /** @internal */\n ReadableStreamDefaultController.prototype[PullSteps] = function (readRequest) {\n var stream = this._controlledReadableStream;\n if (this._queue.length > 0) {\n var chunk = DequeueValue(this);\n if (this._closeRequested && this._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(this);\n ReadableStreamClose(stream);\n }\n else {\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n readRequest._chunkSteps(chunk);\n }\n else {\n ReadableStreamAddReadRequest(stream, readRequest);\n ReadableStreamDefaultControllerCallPullIfNeeded(this);\n }\n };\n return ReadableStreamDefaultController;\n }());\n Object.defineProperties(ReadableStreamDefaultController.prototype, {\n close: { enumerable: true },\n enqueue: { enumerable: true },\n error: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStreamDefaultController',\n configurable: true\n });\n }\n // Abstract operations for the ReadableStreamDefaultController.\n function IsReadableStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n return false;\n }\n return x instanceof ReadableStreamDefaultController;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n if (!shouldPull) {\n return;\n }\n if (controller._pulling) {\n controller._pullAgain = true;\n return;\n }\n controller._pulling = true;\n var pullPromise = controller._pullAlgorithm();\n uponPromise(pullPromise, function () {\n controller._pulling = false;\n if (controller._pullAgain) {\n controller._pullAgain = false;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n }, function (e) {\n ReadableStreamDefaultControllerError(controller, e);\n });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n var stream = controller._controlledReadableStream;\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return false;\n }\n if (!controller._started) {\n return false;\n }\n if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n return true;\n }\n var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n if (desiredSize > 0) {\n return true;\n }\n return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n controller._pullAlgorithm = undefined;\n controller._cancelAlgorithm = undefined;\n controller._strategySizeAlgorithm = undefined;\n }\n // A client of ReadableStreamDefaultController may use these functions directly to bypass state check.\n function ReadableStreamDefaultControllerClose(controller) {\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n var stream = controller._controlledReadableStream;\n controller._closeRequested = true;\n if (controller._queue.length === 0) {\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamClose(stream);\n }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n return;\n }\n var stream = controller._controlledReadableStream;\n if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n ReadableStreamFulfillReadRequest(stream, chunk, false);\n }\n else {\n var chunkSize = void 0;\n try {\n chunkSize = controller._strategySizeAlgorithm(chunk);\n }\n catch (chunkSizeE) {\n ReadableStreamDefaultControllerError(controller, chunkSizeE);\n throw chunkSizeE;\n }\n try {\n EnqueueValueWithSize(controller, chunk, chunkSize);\n }\n catch (enqueueE) {\n ReadableStreamDefaultControllerError(controller, enqueueE);\n throw enqueueE;\n }\n }\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n var stream = controller._controlledReadableStream;\n if (stream._state !== 'readable') {\n return;\n }\n ResetQueue(controller);\n ReadableStreamDefaultControllerClearAlgorithms(controller);\n ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n var state = controller._controlledReadableStream._state;\n if (state === 'errored') {\n return null;\n }\n if (state === 'closed') {\n return 0;\n }\n return controller._strategyHWM - controller._queueTotalSize;\n }\n // This is used in the implementation of TransformStream.\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n if (ReadableStreamDefaultControllerShouldCallPull(controller)) {\n return false;\n }\n return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n var state = controller._controlledReadableStream._state;\n if (!controller._closeRequested && state === 'readable') {\n return true;\n }\n return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n controller._controlledReadableStream = stream;\n controller._queue = undefined;\n controller._queueTotalSize = undefined;\n ResetQueue(controller);\n controller._started = false;\n controller._closeRequested = false;\n controller._pullAgain = false;\n controller._pulling = false;\n controller._strategySizeAlgorithm = sizeAlgorithm;\n controller._strategyHWM = highWaterMark;\n controller._pullAlgorithm = pullAlgorithm;\n controller._cancelAlgorithm = cancelAlgorithm;\n stream._readableStreamController = controller;\n var startResult = startAlgorithm();\n uponPromise(promiseResolvedWith(startResult), function () {\n controller._started = true;\n ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }, function (r) {\n ReadableStreamDefaultControllerError(controller, r);\n });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n var startAlgorithm = function () { return undefined; };\n var pullAlgorithm = function () { return promiseResolvedWith(undefined); };\n var cancelAlgorithm = function () { return promiseResolvedWith(undefined); };\n if (underlyingSource.start !== undefined) {\n startAlgorithm = function () { return underlyingSource.start(controller); };\n }\n if (underlyingSource.pull !== undefined) {\n pullAlgorithm = function () { return underlyingSource.pull(controller); };\n }\n if (underlyingSource.cancel !== undefined) {\n cancelAlgorithm = function (reason) { return underlyingSource.cancel(reason); };\n }\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n // Helper functions for the ReadableStreamDefaultController.\n function defaultControllerBrandCheckException$1(name) {\n return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n\n function ReadableStreamTee(stream, cloneForBranch2) {\n if (IsReadableByteStreamController(stream._readableStreamController)) {\n return ReadableByteStreamTee(stream);\n }\n return ReadableStreamDefaultTee(stream);\n }\n function ReadableStreamDefaultTee(stream, cloneForBranch2) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var readAgain = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function pullAlgorithm() {\n if (reading) {\n readAgain = true;\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var readRequest = {\n _chunkSteps: function (chunk) {\n // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n // successful synchronously-available reads get ahead of asynchronously-available errors.\n queueMicrotask(function () {\n readAgain = false;\n var chunk1 = chunk;\n var chunk2 = chunk;\n // There is no way to access the cloning code right now in the reference implementation.\n // If we add one then we'll need an implementation for serializable objects.\n // if (!canceled2 && cloneForBranch2) {\n // chunk2 = StructuredDeserialize(StructuredSerialize(chunk2));\n // }\n if (!canceled1) {\n ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, chunk1);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, chunk2);\n }\n reading = false;\n if (readAgain) {\n pullAlgorithm();\n }\n });\n },\n _closeSteps: function () {\n reading = false;\n if (!canceled1) {\n ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n }\n if (!canceled2) {\n ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n }\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: function () {\n reading = false;\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2) {\n var compositeReason = CreateArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1) {\n var compositeReason = CreateArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n // do nothing\n }\n branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n uponRejection(reader._closedPromise, function (r) {\n ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n });\n return [branch1, branch2];\n }\n function ReadableByteStreamTee(stream) {\n var reader = AcquireReadableStreamDefaultReader(stream);\n var reading = false;\n var readAgainForBranch1 = false;\n var readAgainForBranch2 = false;\n var canceled1 = false;\n var canceled2 = false;\n var reason1;\n var reason2;\n var branch1;\n var branch2;\n var resolveCancelPromise;\n var cancelPromise = newPromise(function (resolve) {\n resolveCancelPromise = resolve;\n });\n function forwardReaderError(thisReader) {\n uponRejection(thisReader._closedPromise, function (r) {\n if (thisReader !== reader) {\n return;\n }\n ReadableByteStreamControllerError(branch1._readableStreamController, r);\n ReadableByteStreamControllerError(branch2._readableStreamController, r);\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n });\n }\n function pullWithDefaultReader() {\n if (IsReadableStreamBYOBReader(reader)) {\n ReadableStreamReaderGenericRelease(reader);\n reader = AcquireReadableStreamDefaultReader(stream);\n forwardReaderError(reader);\n }\n var readRequest = {\n _chunkSteps: function (chunk) {\n // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n // successful synchronously-available reads get ahead of asynchronously-available errors.\n queueMicrotask(function () {\n readAgainForBranch1 = false;\n readAgainForBranch2 = false;\n var chunk1 = chunk;\n var chunk2 = chunk;\n if (!canceled1 && !canceled2) {\n try {\n chunk2 = CloneAsUint8Array(chunk);\n }\n catch (cloneE) {\n ReadableByteStreamControllerError(branch1._readableStreamController, cloneE);\n ReadableByteStreamControllerError(branch2._readableStreamController, cloneE);\n resolveCancelPromise(ReadableStreamCancel(stream, cloneE));\n return;\n }\n }\n if (!canceled1) {\n ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1);\n }\n if (!canceled2) {\n ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2);\n }\n reading = false;\n if (readAgainForBranch1) {\n pull1Algorithm();\n }\n else if (readAgainForBranch2) {\n pull2Algorithm();\n }\n });\n },\n _closeSteps: function () {\n reading = false;\n if (!canceled1) {\n ReadableByteStreamControllerClose(branch1._readableStreamController);\n }\n if (!canceled2) {\n ReadableByteStreamControllerClose(branch2._readableStreamController);\n }\n if (branch1._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(branch1._readableStreamController, 0);\n }\n if (branch2._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(branch2._readableStreamController, 0);\n }\n if (!canceled1 || !canceled2) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: function () {\n reading = false;\n }\n };\n ReadableStreamDefaultReaderRead(reader, readRequest);\n }\n function pullWithBYOBReader(view, forBranch2) {\n if (IsReadableStreamDefaultReader(reader)) {\n ReadableStreamReaderGenericRelease(reader);\n reader = AcquireReadableStreamBYOBReader(stream);\n forwardReaderError(reader);\n }\n var byobBranch = forBranch2 ? branch2 : branch1;\n var otherBranch = forBranch2 ? branch1 : branch2;\n var readIntoRequest = {\n _chunkSteps: function (chunk) {\n // This needs to be delayed a microtask because it takes at least a microtask to detect errors (using\n // reader._closedPromise below), and we want errors in stream to error both branches immediately. We cannot let\n // successful synchronously-available reads get ahead of asynchronously-available errors.\n queueMicrotask(function () {\n readAgainForBranch1 = false;\n readAgainForBranch2 = false;\n var byobCanceled = forBranch2 ? canceled2 : canceled1;\n var otherCanceled = forBranch2 ? canceled1 : canceled2;\n if (!otherCanceled) {\n var clonedChunk = void 0;\n try {\n clonedChunk = CloneAsUint8Array(chunk);\n }\n catch (cloneE) {\n ReadableByteStreamControllerError(byobBranch._readableStreamController, cloneE);\n ReadableByteStreamControllerError(otherBranch._readableStreamController, cloneE);\n resolveCancelPromise(ReadableStreamCancel(stream, cloneE));\n return;\n }\n if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n ReadableByteStreamControllerEnqueue(otherBranch._readableStreamController, clonedChunk);\n }\n else if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n reading = false;\n if (readAgainForBranch1) {\n pull1Algorithm();\n }\n else if (readAgainForBranch2) {\n pull2Algorithm();\n }\n });\n },\n _closeSteps: function (chunk) {\n reading = false;\n var byobCanceled = forBranch2 ? canceled2 : canceled1;\n var otherCanceled = forBranch2 ? canceled1 : canceled2;\n if (!byobCanceled) {\n ReadableByteStreamControllerClose(byobBranch._readableStreamController);\n }\n if (!otherCanceled) {\n ReadableByteStreamControllerClose(otherBranch._readableStreamController);\n }\n if (chunk !== undefined) {\n if (!byobCanceled) {\n ReadableByteStreamControllerRespondWithNewView(byobBranch._readableStreamController, chunk);\n }\n if (!otherCanceled && otherBranch._readableStreamController._pendingPullIntos.length > 0) {\n ReadableByteStreamControllerRespond(otherBranch._readableStreamController, 0);\n }\n }\n if (!byobCanceled || !otherCanceled) {\n resolveCancelPromise(undefined);\n }\n },\n _errorSteps: function () {\n reading = false;\n }\n };\n ReadableStreamBYOBReaderRead(reader, view, readIntoRequest);\n }\n function pull1Algorithm() {\n if (reading) {\n readAgainForBranch1 = true;\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch1._readableStreamController);\n if (byobRequest === null) {\n pullWithDefaultReader();\n }\n else {\n pullWithBYOBReader(byobRequest._view, false);\n }\n return promiseResolvedWith(undefined);\n }\n function pull2Algorithm() {\n if (reading) {\n readAgainForBranch2 = true;\n return promiseResolvedWith(undefined);\n }\n reading = true;\n var byobRequest = ReadableByteStreamControllerGetBYOBRequest(branch2._readableStreamController);\n if (byobRequest === null) {\n pullWithDefaultReader();\n }\n else {\n pullWithBYOBReader(byobRequest._view, true);\n }\n return promiseResolvedWith(undefined);\n }\n function cancel1Algorithm(reason) {\n canceled1 = true;\n reason1 = reason;\n if (canceled2) {\n var compositeReason = CreateArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function cancel2Algorithm(reason) {\n canceled2 = true;\n reason2 = reason;\n if (canceled1) {\n var compositeReason = CreateArrayFromList([reason1, reason2]);\n var cancelResult = ReadableStreamCancel(stream, compositeReason);\n resolveCancelPromise(cancelResult);\n }\n return cancelPromise;\n }\n function startAlgorithm() {\n return;\n }\n branch1 = CreateReadableByteStream(startAlgorithm, pull1Algorithm, cancel1Algorithm);\n branch2 = CreateReadableByteStream(startAlgorithm, pull2Algorithm, cancel2Algorithm);\n forwardReaderError(reader);\n return [branch1, branch2];\n }\n\n function convertUnderlyingDefaultOrByteSource(source, context) {\n assertDictionary(source, context);\n var original = source;\n var autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize;\n var cancel = original === null || original === void 0 ? void 0 : original.cancel;\n var pull = original === null || original === void 0 ? void 0 : original.pull;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var type = original === null || original === void 0 ? void 0 : original.type;\n return {\n autoAllocateChunkSize: autoAllocateChunkSize === undefined ?\n undefined :\n convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, context + \" has member 'autoAllocateChunkSize' that\"),\n cancel: cancel === undefined ?\n undefined :\n convertUnderlyingSourceCancelCallback(cancel, original, context + \" has member 'cancel' that\"),\n pull: pull === undefined ?\n undefined :\n convertUnderlyingSourcePullCallback(pull, original, context + \" has member 'pull' that\"),\n start: start === undefined ?\n undefined :\n convertUnderlyingSourceStartCallback(start, original, context + \" has member 'start' that\"),\n type: type === undefined ? undefined : convertReadableStreamType(type, context + \" has member 'type' that\")\n };\n }\n function convertUnderlyingSourceCancelCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (reason) { return promiseCall(fn, original, [reason]); };\n }\n function convertUnderlyingSourcePullCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return promiseCall(fn, original, [controller]); };\n }\n function convertUnderlyingSourceStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return reflectCall(fn, original, [controller]); };\n }\n function convertReadableStreamType(type, context) {\n type = \"\" + type;\n if (type !== 'bytes') {\n throw new TypeError(context + \" '\" + type + \"' is not a valid enumeration value for ReadableStreamType\");\n }\n return type;\n }\n\n function convertReaderOptions(options, context) {\n assertDictionary(options, context);\n var mode = options === null || options === void 0 ? void 0 : options.mode;\n return {\n mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, context + \" has member 'mode' that\")\n };\n }\n function convertReadableStreamReaderMode(mode, context) {\n mode = \"\" + mode;\n if (mode !== 'byob') {\n throw new TypeError(context + \" '\" + mode + \"' is not a valid enumeration value for ReadableStreamReaderMode\");\n }\n return mode;\n }\n\n function convertIteratorOptions(options, context) {\n assertDictionary(options, context);\n var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n return { preventCancel: Boolean(preventCancel) };\n }\n\n function convertPipeOptions(options, context) {\n assertDictionary(options, context);\n var preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort;\n var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n var preventClose = options === null || options === void 0 ? void 0 : options.preventClose;\n var signal = options === null || options === void 0 ? void 0 : options.signal;\n if (signal !== undefined) {\n assertAbortSignal(signal, context + \" has member 'signal' that\");\n }\n return {\n preventAbort: Boolean(preventAbort),\n preventCancel: Boolean(preventCancel),\n preventClose: Boolean(preventClose),\n signal: signal\n };\n }\n function assertAbortSignal(signal, context) {\n if (!isAbortSignal(signal)) {\n throw new TypeError(context + \" is not an AbortSignal.\");\n }\n }\n\n function convertReadableWritablePair(pair, context) {\n assertDictionary(pair, context);\n var readable = pair === null || pair === void 0 ? void 0 : pair.readable;\n assertRequiredField(readable, 'readable', 'ReadableWritablePair');\n assertReadableStream(readable, context + \" has member 'readable' that\");\n var writable = pair === null || pair === void 0 ? void 0 : pair.writable;\n assertRequiredField(writable, 'writable', 'ReadableWritablePair');\n assertWritableStream(writable, context + \" has member 'writable' that\");\n return { readable: readable, writable: writable };\n }\n\n /**\n * A readable stream represents a source of data, from which you can read.\n *\n * @public\n */\n var ReadableStream = /** @class */ (function () {\n function ReadableStream(rawUnderlyingSource, rawStrategy) {\n if (rawUnderlyingSource === void 0) { rawUnderlyingSource = {}; }\n if (rawStrategy === void 0) { rawStrategy = {}; }\n if (rawUnderlyingSource === undefined) {\n rawUnderlyingSource = null;\n }\n else {\n assertObject(rawUnderlyingSource, 'First parameter');\n }\n var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n var underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');\n InitializeReadableStream(this);\n if (underlyingSource.type === 'bytes') {\n if (strategy.size !== undefined) {\n throw new RangeError('The strategy for a byte stream cannot have a size function');\n }\n var highWaterMark = ExtractHighWaterMark(strategy, 0);\n SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n }\n else {\n var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n var highWaterMark = ExtractHighWaterMark(strategy, 1);\n SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n }\n }\n Object.defineProperty(ReadableStream.prototype, \"locked\", {\n /**\n * Whether or not the readable stream is locked to a {@link ReadableStreamDefaultReader | reader}.\n */\n get: function () {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('locked');\n }\n return IsReadableStreamLocked(this);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Cancels the stream, signaling a loss of interest in the stream by a consumer.\n *\n * The supplied `reason` argument will be given to the underlying source's {@link UnderlyingSource.cancel | cancel()}\n * method, which might or might not use it.\n */\n ReadableStream.prototype.cancel = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n }\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n }\n return ReadableStreamCancel(this, reason);\n };\n ReadableStream.prototype.getReader = function (rawOptions) {\n if (rawOptions === void 0) { rawOptions = undefined; }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('getReader');\n }\n var options = convertReaderOptions(rawOptions, 'First parameter');\n if (options.mode === undefined) {\n return AcquireReadableStreamDefaultReader(this);\n }\n return AcquireReadableStreamBYOBReader(this);\n };\n ReadableStream.prototype.pipeThrough = function (rawTransform, rawOptions) {\n if (rawOptions === void 0) { rawOptions = {}; }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('pipeThrough');\n }\n assertRequiredArgument(rawTransform, 1, 'pipeThrough');\n var transform = convertReadableWritablePair(rawTransform, 'First parameter');\n var options = convertPipeOptions(rawOptions, 'Second parameter');\n if (IsReadableStreamLocked(this)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n }\n if (IsWritableStreamLocked(transform.writable)) {\n throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n }\n var promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n setPromiseIsHandledToTrue(promise);\n return transform.readable;\n };\n ReadableStream.prototype.pipeTo = function (destination, rawOptions) {\n if (rawOptions === void 0) { rawOptions = {}; }\n if (!IsReadableStream(this)) {\n return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n }\n if (destination === undefined) {\n return promiseRejectedWith(\"Parameter 1 is required in 'pipeTo'.\");\n }\n if (!IsWritableStream(destination)) {\n return promiseRejectedWith(new TypeError(\"ReadableStream.prototype.pipeTo's first argument must be a WritableStream\"));\n }\n var options;\n try {\n options = convertPipeOptions(rawOptions, 'Second parameter');\n }\n catch (e) {\n return promiseRejectedWith(e);\n }\n if (IsReadableStreamLocked(this)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n }\n if (IsWritableStreamLocked(destination)) {\n return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n }\n return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n };\n /**\n * Tees this readable stream, returning a two-element array containing the two resulting branches as\n * new {@link ReadableStream} instances.\n *\n * Teeing a stream will lock it, preventing any other consumer from acquiring a reader.\n * To cancel the stream, cancel both of the resulting branches; a composite cancellation reason will then be\n * propagated to the stream's underlying source.\n *\n * Note that the chunks seen in each branch will be the same object. If the chunks are not immutable,\n * this could allow interference between the two branches.\n */\n ReadableStream.prototype.tee = function () {\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('tee');\n }\n var branches = ReadableStreamTee(this);\n return CreateArrayFromList(branches);\n };\n ReadableStream.prototype.values = function (rawOptions) {\n if (rawOptions === void 0) { rawOptions = undefined; }\n if (!IsReadableStream(this)) {\n throw streamBrandCheckException$1('values');\n }\n var options = convertIteratorOptions(rawOptions, 'First parameter');\n return AcquireReadableStreamAsyncIterator(this, options.preventCancel);\n };\n return ReadableStream;\n }());\n Object.defineProperties(ReadableStream.prototype, {\n cancel: { enumerable: true },\n getReader: { enumerable: true },\n pipeThrough: { enumerable: true },\n pipeTo: { enumerable: true },\n tee: { enumerable: true },\n values: { enumerable: true },\n locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'ReadableStream',\n configurable: true\n });\n }\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n value: ReadableStream.prototype.values,\n writable: true,\n configurable: true\n });\n }\n // Abstract operations for the ReadableStream.\n // Throws if and only if startAlgorithm throws.\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n if (highWaterMark === void 0) { highWaterMark = 1; }\n if (sizeAlgorithm === void 0) { sizeAlgorithm = function () { return 1; }; }\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableStreamDefaultController.prototype);\n SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n return stream;\n }\n // Throws if and only if startAlgorithm throws.\n function CreateReadableByteStream(startAlgorithm, pullAlgorithm, cancelAlgorithm) {\n var stream = Object.create(ReadableStream.prototype);\n InitializeReadableStream(stream);\n var controller = Object.create(ReadableByteStreamController.prototype);\n SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, 0, undefined);\n return stream;\n }\n function InitializeReadableStream(stream) {\n stream._state = 'readable';\n stream._reader = undefined;\n stream._storedError = undefined;\n stream._disturbed = false;\n }\n function IsReadableStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n return false;\n }\n return x instanceof ReadableStream;\n }\n function IsReadableStreamLocked(stream) {\n if (stream._reader === undefined) {\n return false;\n }\n return true;\n }\n // ReadableStream API exposed for controllers.\n function ReadableStreamCancel(stream, reason) {\n stream._disturbed = true;\n if (stream._state === 'closed') {\n return promiseResolvedWith(undefined);\n }\n if (stream._state === 'errored') {\n return promiseRejectedWith(stream._storedError);\n }\n ReadableStreamClose(stream);\n var reader = stream._reader;\n if (reader !== undefined && IsReadableStreamBYOBReader(reader)) {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._closeSteps(undefined);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n stream._state = 'closed';\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n defaultReaderClosedPromiseResolve(reader);\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._closeSteps();\n });\n reader._readRequests = new SimpleQueue();\n }\n }\n function ReadableStreamError(stream, e) {\n stream._state = 'errored';\n stream._storedError = e;\n var reader = stream._reader;\n if (reader === undefined) {\n return;\n }\n defaultReaderClosedPromiseReject(reader, e);\n if (IsReadableStreamDefaultReader(reader)) {\n reader._readRequests.forEach(function (readRequest) {\n readRequest._errorSteps(e);\n });\n reader._readRequests = new SimpleQueue();\n }\n else {\n reader._readIntoRequests.forEach(function (readIntoRequest) {\n readIntoRequest._errorSteps(e);\n });\n reader._readIntoRequests = new SimpleQueue();\n }\n }\n // Helper functions for the ReadableStream.\n function streamBrandCheckException$1(name) {\n return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n\n function convertQueuingStrategyInit(init, context) {\n assertDictionary(init, context);\n var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');\n return {\n highWaterMark: convertUnrestrictedDouble(highWaterMark)\n };\n }\n\n // The size function must not have a prototype property nor be a constructor\n var byteLengthSizeFunction = function (chunk) {\n return chunk.byteLength;\n };\n try {\n Object.defineProperty(byteLengthSizeFunction, 'name', {\n value: 'size',\n configurable: true\n });\n }\n catch (_a) {\n // This property is non-configurable in older browsers, so ignore if this throws.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name#browser_compatibility\n }\n /**\n * A queuing strategy that counts the number of bytes in each chunk.\n *\n * @public\n */\n var ByteLengthQueuingStrategy = /** @class */ (function () {\n function ByteLengthQueuingStrategy(options) {\n assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"highWaterMark\", {\n /**\n * Returns the high water mark provided to the constructor.\n */\n get: function () {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('highWaterMark');\n }\n return this._byteLengthQueuingStrategyHighWaterMark;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"size\", {\n /**\n * Measures the size of `chunk` by returning the value of its `byteLength` property.\n */\n get: function () {\n if (!IsByteLengthQueuingStrategy(this)) {\n throw byteLengthBrandCheckException('size');\n }\n return byteLengthSizeFunction;\n },\n enumerable: false,\n configurable: true\n });\n return ByteLengthQueuingStrategy;\n }());\n Object.defineProperties(ByteLengthQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(ByteLengthQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n value: 'ByteLengthQueuingStrategy',\n configurable: true\n });\n }\n // Helper functions for the ByteLengthQueuingStrategy.\n function byteLengthBrandCheckException(name) {\n return new TypeError(\"ByteLengthQueuingStrategy.prototype.\" + name + \" can only be used on a ByteLengthQueuingStrategy\");\n }\n function IsByteLengthQueuingStrategy(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {\n return false;\n }\n return x instanceof ByteLengthQueuingStrategy;\n }\n\n // The size function must not have a prototype property nor be a constructor\n var countSizeFunction = function () {\n return 1;\n };\n try {\n Object.defineProperty(countSizeFunction, 'name', {\n value: 'size',\n configurable: true\n });\n }\n catch (_a) {\n // This property is non-configurable in older browsers, so ignore if this throws.\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name#browser_compatibility\n }\n /**\n * A queuing strategy that counts the number of chunks.\n *\n * @public\n */\n var CountQueuingStrategy = /** @class */ (function () {\n function CountQueuingStrategy(options) {\n assertRequiredArgument(options, 1, 'CountQueuingStrategy');\n options = convertQueuingStrategyInit(options, 'First parameter');\n this._countQueuingStrategyHighWaterMark = options.highWaterMark;\n }\n Object.defineProperty(CountQueuingStrategy.prototype, \"highWaterMark\", {\n /**\n * Returns the high water mark provided to the constructor.\n */\n get: function () {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('highWaterMark');\n }\n return this._countQueuingStrategyHighWaterMark;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CountQueuingStrategy.prototype, \"size\", {\n /**\n * Measures the size of `chunk` by always returning 1.\n * This ensures that the total queue size is a count of the number of chunks in the queue.\n */\n get: function () {\n if (!IsCountQueuingStrategy(this)) {\n throw countBrandCheckException('size');\n }\n return countSizeFunction;\n },\n enumerable: false,\n configurable: true\n });\n return CountQueuingStrategy;\n }());\n Object.defineProperties(CountQueuingStrategy.prototype, {\n highWaterMark: { enumerable: true },\n size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(CountQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n value: 'CountQueuingStrategy',\n configurable: true\n });\n }\n // Helper functions for the CountQueuingStrategy.\n function countBrandCheckException(name) {\n return new TypeError(\"CountQueuingStrategy.prototype.\" + name + \" can only be used on a CountQueuingStrategy\");\n }\n function IsCountQueuingStrategy(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {\n return false;\n }\n return x instanceof CountQueuingStrategy;\n }\n\n function convertTransformer(original, context) {\n assertDictionary(original, context);\n var flush = original === null || original === void 0 ? void 0 : original.flush;\n var readableType = original === null || original === void 0 ? void 0 : original.readableType;\n var start = original === null || original === void 0 ? void 0 : original.start;\n var transform = original === null || original === void 0 ? void 0 : original.transform;\n var writableType = original === null || original === void 0 ? void 0 : original.writableType;\n return {\n flush: flush === undefined ?\n undefined :\n convertTransformerFlushCallback(flush, original, context + \" has member 'flush' that\"),\n readableType: readableType,\n start: start === undefined ?\n undefined :\n convertTransformerStartCallback(start, original, context + \" has member 'start' that\"),\n transform: transform === undefined ?\n undefined :\n convertTransformerTransformCallback(transform, original, context + \" has member 'transform' that\"),\n writableType: writableType\n };\n }\n function convertTransformerFlushCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return promiseCall(fn, original, [controller]); };\n }\n function convertTransformerStartCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (controller) { return reflectCall(fn, original, [controller]); };\n }\n function convertTransformerTransformCallback(fn, original, context) {\n assertFunction(fn, context);\n return function (chunk, controller) { return promiseCall(fn, original, [chunk, controller]); };\n }\n\n // Class TransformStream\n /**\n * A transform stream consists of a pair of streams: a {@link WritableStream | writable stream},\n * known as its writable side, and a {@link ReadableStream | readable stream}, known as its readable side.\n * In a manner specific to the transform stream in question, writes to the writable side result in new data being\n * made available for reading from the readable side.\n *\n * @public\n */\n var TransformStream = /** @class */ (function () {\n function TransformStream(rawTransformer, rawWritableStrategy, rawReadableStrategy) {\n if (rawTransformer === void 0) { rawTransformer = {}; }\n if (rawWritableStrategy === void 0) { rawWritableStrategy = {}; }\n if (rawReadableStrategy === void 0) { rawReadableStrategy = {}; }\n if (rawTransformer === undefined) {\n rawTransformer = null;\n }\n var writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');\n var readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');\n var transformer = convertTransformer(rawTransformer, 'First parameter');\n if (transformer.readableType !== undefined) {\n throw new RangeError('Invalid readableType specified');\n }\n if (transformer.writableType !== undefined) {\n throw new RangeError('Invalid writableType specified');\n }\n var readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);\n var readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);\n var writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);\n var writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);\n var startPromise_resolve;\n var startPromise = newPromise(function (resolve) {\n startPromise_resolve = resolve;\n });\n InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n if (transformer.start !== undefined) {\n startPromise_resolve(transformer.start(this._transformStreamController));\n }\n else {\n startPromise_resolve(undefined);\n }\n }\n Object.defineProperty(TransformStream.prototype, \"readable\", {\n /**\n * The readable side of the transform stream.\n */\n get: function () {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException('readable');\n }\n return this._readable;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TransformStream.prototype, \"writable\", {\n /**\n * The writable side of the transform stream.\n */\n get: function () {\n if (!IsTransformStream(this)) {\n throw streamBrandCheckException('writable');\n }\n return this._writable;\n },\n enumerable: false,\n configurable: true\n });\n return TransformStream;\n }());\n Object.defineProperties(TransformStream.prototype, {\n readable: { enumerable: true },\n writable: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(TransformStream.prototype, SymbolPolyfill.toStringTag, {\n value: 'TransformStream',\n configurable: true\n });\n }\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n function startAlgorithm() {\n return startPromise;\n }\n function writeAlgorithm(chunk) {\n return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n }\n function abortAlgorithm(reason) {\n return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n }\n function closeAlgorithm() {\n return TransformStreamDefaultSinkCloseAlgorithm(stream);\n }\n stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n function pullAlgorithm() {\n return TransformStreamDefaultSourcePullAlgorithm(stream);\n }\n function cancelAlgorithm(reason) {\n TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n return promiseResolvedWith(undefined);\n }\n stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n // The [[backpressure]] slot is set to undefined so that it can be initialised by TransformStreamSetBackpressure.\n stream._backpressure = undefined;\n stream._backpressureChangePromise = undefined;\n stream._backpressureChangePromise_resolve = undefined;\n TransformStreamSetBackpressure(stream, true);\n stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n return false;\n }\n return x instanceof TransformStream;\n }\n // This is a no-op if both sides are already errored.\n function TransformStreamError(stream, e) {\n ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n if (stream._backpressure) {\n // Pretend that pull() was called to permit any pending write() calls to complete. TransformStreamSetBackpressure()\n // cannot be called from enqueue() or pull() once the ReadableStream is errored, so this will will be the final time\n // _backpressure is set.\n TransformStreamSetBackpressure(stream, false);\n }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n // Passes also when called during construction.\n if (stream._backpressureChangePromise !== undefined) {\n stream._backpressureChangePromise_resolve();\n }\n stream._backpressureChangePromise = newPromise(function (resolve) {\n stream._backpressureChangePromise_resolve = resolve;\n });\n stream._backpressure = backpressure;\n }\n // Class TransformStreamDefaultController\n /**\n * Allows control of the {@link ReadableStream} and {@link WritableStream} of the associated {@link TransformStream}.\n *\n * @public\n */\n var TransformStreamDefaultController = /** @class */ (function () {\n function TransformStreamDefaultController() {\n throw new TypeError('Illegal constructor');\n }\n Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n /**\n * Returns the desired size to fill the readable side’s internal queue. It can be negative, if the queue is over-full.\n */\n get: function () {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('desiredSize');\n }\n var readableController = this._controlledTransformStream._readable._readableStreamController;\n return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n },\n enumerable: false,\n configurable: true\n });\n TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n if (chunk === void 0) { chunk = undefined; }\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('enqueue');\n }\n TransformStreamDefaultControllerEnqueue(this, chunk);\n };\n /**\n * Errors both the readable side and the writable side of the controlled transform stream, making all future\n * interactions with it fail with the given error `e`. Any chunks queued for transformation will be discarded.\n */\n TransformStreamDefaultController.prototype.error = function (reason) {\n if (reason === void 0) { reason = undefined; }\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('error');\n }\n TransformStreamDefaultControllerError(this, reason);\n };\n /**\n * Closes the readable side and errors the writable side of the controlled transform stream. This is useful when the\n * transformer only needs to consume a portion of the chunks written to the writable side.\n */\n TransformStreamDefaultController.prototype.terminate = function () {\n if (!IsTransformStreamDefaultController(this)) {\n throw defaultControllerBrandCheckException('terminate');\n }\n TransformStreamDefaultControllerTerminate(this);\n };\n return TransformStreamDefaultController;\n }());\n Object.defineProperties(TransformStreamDefaultController.prototype, {\n enqueue: { enumerable: true },\n error: { enumerable: true },\n terminate: { enumerable: true },\n desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n Object.defineProperty(TransformStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n value: 'TransformStreamDefaultController',\n configurable: true\n });\n }\n // Transform Stream Default Controller Abstract Operations\n function IsTransformStreamDefaultController(x) {\n if (!typeIsObject(x)) {\n return false;\n }\n if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n return false;\n }\n return x instanceof TransformStreamDefaultController;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n controller._controlledTransformStream = stream;\n stream._transformStreamController = controller;\n controller._transformAlgorithm = transformAlgorithm;\n controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n var controller = Object.create(TransformStreamDefaultController.prototype);\n var transformAlgorithm = function (chunk) {\n try {\n TransformStreamDefaultControllerEnqueue(controller, chunk);\n return promiseResolvedWith(undefined);\n }\n catch (transformResultE) {\n return promiseRejectedWith(transformResultE);\n }\n };\n var flushAlgorithm = function () { return promiseResolvedWith(undefined); };\n if (transformer.transform !== undefined) {\n transformAlgorithm = function (chunk) { return transformer.transform(chunk, controller); };\n }\n if (transformer.flush !== undefined) {\n flushAlgorithm = function () { return transformer.flush(controller); };\n }\n SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n controller._transformAlgorithm = undefined;\n controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {\n throw new TypeError('Readable side is not in a state that permits enqueue');\n }\n // We throttle transform invocations based on the backpressure of the ReadableStream, but we still\n // accept TransformStreamDefaultControllerEnqueue() calls.\n try {\n ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n }\n catch (e) {\n // This happens when readableStrategy.size() throws.\n TransformStreamErrorWritableAndUnblockWrite(stream, e);\n throw stream._readable._storedError;\n }\n var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n if (backpressure !== stream._backpressure) {\n TransformStreamSetBackpressure(stream, true);\n }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n var transformPromise = controller._transformAlgorithm(chunk);\n return transformPromiseWith(transformPromise, undefined, function (r) {\n TransformStreamError(controller._controlledTransformStream, r);\n throw r;\n });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n var stream = controller._controlledTransformStream;\n var readableController = stream._readable._readableStreamController;\n ReadableStreamDefaultControllerClose(readableController);\n var error = new TypeError('TransformStream terminated');\n TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n // TransformStreamDefaultSink Algorithms\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n var controller = stream._transformStreamController;\n if (stream._backpressure) {\n var backpressureChangePromise = stream._backpressureChangePromise;\n return transformPromiseWith(backpressureChangePromise, function () {\n var writable = stream._writable;\n var state = writable._state;\n if (state === 'erroring') {\n throw writable._storedError;\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n });\n }\n return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n // abort() is not called synchronously, so it is possible for abort() to be called when the stream is already\n // errored.\n TransformStreamError(stream, reason);\n return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n // stream._readable cannot change after construction, so caching it across a call to user code is safe.\n var readable = stream._readable;\n var controller = stream._transformStreamController;\n var flushPromise = controller._flushAlgorithm();\n TransformStreamDefaultControllerClearAlgorithms(controller);\n // Return a promise that is fulfilled with undefined on success.\n return transformPromiseWith(flushPromise, function () {\n if (readable._state === 'errored') {\n throw readable._storedError;\n }\n ReadableStreamDefaultControllerClose(readable._readableStreamController);\n }, function (r) {\n TransformStreamError(stream, r);\n throw readable._storedError;\n });\n }\n // TransformStreamDefaultSource Algorithms\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n // Invariant. Enforced by the promises returned by start() and pull().\n TransformStreamSetBackpressure(stream, false);\n // Prevent the next pull() call until there is backpressure.\n return stream._backpressureChangePromise;\n }\n // Helper functions for the TransformStreamDefaultController.\n function defaultControllerBrandCheckException(name) {\n return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n // Helper functions for the TransformStream.\n function streamBrandCheckException(name) {\n return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableByteStreamController = ReadableByteStreamController;\n exports.ReadableStream = ReadableStream;\n exports.ReadableStreamBYOBReader = ReadableStreamBYOBReader;\n exports.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest;\n exports.ReadableStreamDefaultController = ReadableStreamDefaultController;\n exports.ReadableStreamDefaultReader = ReadableStreamDefaultReader;\n exports.TransformStream = TransformStream;\n exports.TransformStreamDefaultController = TransformStreamDefaultController;\n exports.WritableStream = WritableStream;\n exports.WritableStreamDefaultController = WritableStreamDefaultController;\n exports.WritableStreamDefaultWriter = WritableStreamDefaultWriter;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=ponyfill.js.map\n","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2022 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.UNSUPPORTED_FEATURES = exports.TextRenderingMode = exports.StreamType = exports.RenderingIntentFlag = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isAscii = isAscii;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF16BEString = stringToUTF16BEString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\n\n__w_pdfjs_require__(2);\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst LINE_FACTOR = 1.35;\nexports.LINE_FACTOR = LINE_FACTOR;\nconst LINE_DESCENT_FACTOR = 0.35;\nexports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nexports.AnnotationEditorPrefix = AnnotationEditorPrefix;\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n INK: 15\n};\nexports.AnnotationEditorType = AnnotationEditorType;\nconst AnnotationEditorParamsType = {\n FREETEXT_SIZE: 1,\n FREETEXT_COLOR: 2,\n FREETEXT_OPACITY: 3,\n INK_COLOR: 11,\n INK_THICKNESS: 12,\n INK_OPACITY: 13\n};\nexports.AnnotationEditorParamsType = AnnotationEditorParamsType;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1STANDARD: \"TYPE1STANDARD\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n signatures: \"signatures\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontBuildPath: \"errorFontBuildPath\",\n errorFontGetPath: \"errorFontGetPath\",\n errorMarkedContent: \"errorMarkedContent\",\n errorContentSubStream: \"errorContentSubStream\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url) {\n let baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (!url) {\n return null;\n }\n\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n\n if (dots && dots.length >= 2) {\n url = `http://${url}`;\n }\n }\n\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n\n}\n\nexports.PasswordException = PasswordException;\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n\n}\n\nexports.UnknownErrorException = UnknownErrorException;\n\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n\n}\n\nexports.InvalidPDFException = InvalidPDFException;\n\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n\n}\n\nexports.MissingPDFException = MissingPDFException;\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n\n}\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n\n}\n\nexports.FormatError = FormatError;\n\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n\n}\n\nexports.AbortException = AbortException;\n\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes === null || bytes.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n const strBuf = [];\n\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n\n const length = str.length;\n const bytes = new Uint8Array(length);\n\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n if (arr.byteLength !== undefined) {\n return arr.byteLength;\n }\n\n unreachable(\"Invalid argument for arrayByteLength\");\n}\n\nfunction arraysToBytes(arr) {\n const length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n let resultLength = 0;\n\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n let pos = 0;\n const data = new Uint8Array(resultLength);\n\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\n\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n\n for (const [key, value] of map) {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nfunction isEvalSupported() {\n return false;\n}\n\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n\n}\n\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\n\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n\n static scaleMinMax(transform, minMax) {\n let temp;\n\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n\n static apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n static normalizeRect(rect) {\n const r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n\n if (xLow > xHigh) {\n return null;\n }\n\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n\n if (yLow > yHigh) {\n return null;\n }\n\n return [xLow, yLow, xHigh, yHigh];\n }\n\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n\n t = -c / b;\n\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n\n continue;\n }\n\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n\n if (b2ac < 0) {\n continue;\n }\n\n t1 = (-b + sqrtb2ac) / (2 * a);\n\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n\n t2 = (-b - sqrtb2ac) / (2 * a);\n\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n let j = tvalues.length,\n mt;\n const jlen = j;\n\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n\n}\n\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\n\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n\n const strBuf = [];\n\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n return str.replace(/([()\\\\\\n\\r])/g, match => {\n if (match === \"\\n\") {\n return \"\\\\n\";\n } else if (match === \"\\r\") {\n return \"\\\\r\";\n }\n\n return `\\\\${match}`;\n });\n}\n\nfunction isAscii(str) {\n return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n const buf = [\"\\xFE\\xFF\"];\n\n for (let i = 0, ii = str.length; i < ii; i++) {\n const char = str.charCodeAt(i);\n buf.push(String.fromCharCode(char >> 8 & 0xff), String.fromCharCode(char & 0xff));\n }\n\n return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction getModificationDate() {\n let date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\n\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n }\n\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(3);\n\nif (!globalThis._pdfjsCompatibilityChecked) {\n globalThis._pdfjsCompatibilityChecked = true;\n\n (function checkNodeBtoa() {\n if (globalThis.btoa || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.btoa = function (chars) {\n return Buffer.from(chars, \"binary\").toString(\"base64\");\n };\n })();\n\n (function checkNodeAtob() {\n if (globalThis.atob || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.atob = function (input) {\n return Buffer.from(input, \"base64\").toString(\"binary\");\n };\n })();\n\n (function checkDOMMatrix() {\n if (globalThis.DOMMatrix || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.DOMMatrix = require(\"dommatrix/dist/dommatrix.js\");\n })();\n\n (function checkReadableStream() {\n if (globalThis.ReadableStream || !_is_node.isNodeJS) {\n return;\n }\n\n globalThis.ReadableStream = require(\"web-streams-polyfill/dist/ponyfill.js\").ReadableStream;\n })();\n\n (function checkArrayAt() {\n if (Array.prototype.at) {\n return;\n }\n\n __w_pdfjs_require__(4);\n })();\n\n (function checkTypedArrayAt() {\n if (Uint8Array.prototype.at) {\n return;\n }\n\n __w_pdfjs_require__(76);\n })();\n\n (function checkStructuredClone() {\n if (globalThis.structuredClone) {\n return;\n }\n\n __w_pdfjs_require__(86);\n })();\n}\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 4 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(5);\nvar entryUnbind = __w_pdfjs_require__(75);\nmodule.exports = entryUnbind('Array', 'at');\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(6);\nvar toObject = __w_pdfjs_require__(41);\nvar lengthOfArrayLike = __w_pdfjs_require__(65);\nvar toIntegerOrInfinity = __w_pdfjs_require__(63);\nvar addToUnscopables = __w_pdfjs_require__(70);\n$({\n target: 'Array',\n proto: true\n}, {\n at: function at(index) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return k < 0 || k >= len ? undefined : O[k];\n }\n});\naddToUnscopables('at');\n\n/***/ }),\n/* 6 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar getOwnPropertyDescriptor = (__w_pdfjs_require__(8).f);\nvar createNonEnumerableProperty = __w_pdfjs_require__(45);\nvar defineBuiltIn = __w_pdfjs_require__(49);\nvar defineGlobalProperty = __w_pdfjs_require__(39);\nvar copyConstructorProperties = __w_pdfjs_require__(57);\nvar isForced = __w_pdfjs_require__(69);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target)\n for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else\n targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty)\n continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n if (options.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n\n/***/ }),\n/* 7 */\n/***/ ((module) => {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || (function () {\n return this;\n}());\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar call = __w_pdfjs_require__(11);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(13);\nvar createPropertyDescriptor = __w_pdfjs_require__(14);\nvar toIndexedObject = __w_pdfjs_require__(15);\nvar toPropertyKey = __w_pdfjs_require__(20);\nvar hasOwn = __w_pdfjs_require__(40);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(43);\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE)\n try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) {\n }\n if (hasOwn(O, P))\n return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n\n/***/ }),\n/* 9 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n get: function () {\n return 7;\n }\n })[1] != 7;\n});\n\n/***/ }),\n/* 10 */\n/***/ ((module) => {\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n\n/***/ }),\n/* 11 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_BIND = __w_pdfjs_require__(12);\nvar call = Function.prototype.call;\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n\n/***/ }),\n/* 12 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nmodule.exports = !fails(function () {\n var test = function () {\n }.bind();\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n\n/***/ }),\n/* 14 */\n/***/ ((module) => {\n\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n\n/***/ }),\n/* 15 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IndexedObject = __w_pdfjs_require__(16);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 16 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar fails = __w_pdfjs_require__(10);\nvar classof = __w_pdfjs_require__(18);\nvar $Object = Object;\nvar split = uncurryThis(''.split);\nmodule.exports = fails(function () {\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n\n/***/ }),\n/* 17 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_BIND = __w_pdfjs_require__(12);\nvar FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar uncurryThis = NATIVE_BIND && bind.bind(call, call);\nmodule.exports = NATIVE_BIND ? function (fn) {\n return fn && uncurryThis(fn);\n} : function (fn) {\n return fn && function () {\n return call.apply(fn, arguments);\n };\n};\n\n/***/ }),\n/* 18 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n\n/***/ }),\n/* 19 */\n/***/ ((module) => {\n\nvar $TypeError = TypeError;\nmodule.exports = function (it) {\n if (it == undefined)\n throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 20 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toPrimitive = __w_pdfjs_require__(21);\nvar isSymbol = __w_pdfjs_require__(24);\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n\n/***/ }),\n/* 21 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar call = __w_pdfjs_require__(11);\nvar isObject = __w_pdfjs_require__(22);\nvar isSymbol = __w_pdfjs_require__(24);\nvar getMethod = __w_pdfjs_require__(31);\nvar ordinaryToPrimitive = __w_pdfjs_require__(34);\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input))\n return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined)\n pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result))\n return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined)\n pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n\n/***/ }),\n/* 22 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isCallable = __w_pdfjs_require__(23);\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n\n/***/ }),\n/* 23 */\n/***/ ((module) => {\n\nmodule.exports = function (argument) {\n return typeof argument == 'function';\n};\n\n/***/ }),\n/* 24 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(25);\nvar isCallable = __w_pdfjs_require__(23);\nvar isPrototypeOf = __w_pdfjs_require__(26);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(27);\nvar $Object = Object;\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n\n/***/ }),\n/* 25 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar isCallable = __w_pdfjs_require__(23);\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 26 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nmodule.exports = uncurryThis({}.isPrototypeOf);\n\n/***/ }),\n/* 27 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(28);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 28 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar V8_VERSION = __w_pdfjs_require__(29);\nvar fails = __w_pdfjs_require__(10);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n return !String(symbol) || !(Object(symbol) instanceof Symbol) || !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n\n/***/ }),\n/* 29 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar userAgent = __w_pdfjs_require__(30);\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match)\n version = +match[1];\n }\n}\nmodule.exports = version;\n\n/***/ }),\n/* 30 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(25);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 31 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar aCallable = __w_pdfjs_require__(32);\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n\n/***/ }),\n/* 32 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isCallable = __w_pdfjs_require__(23);\nvar tryToString = __w_pdfjs_require__(33);\nvar $TypeError = TypeError;\nmodule.exports = function (argument) {\n if (isCallable(argument))\n return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n\n/***/ }),\n/* 33 */\n/***/ ((module) => {\n\nvar $String = String;\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n\n/***/ }),\n/* 34 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar call = __w_pdfjs_require__(11);\nvar isCallable = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar $TypeError = TypeError;\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))\n return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input)))\n return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input)))\n return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 35 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar shared = __w_pdfjs_require__(36);\nvar hasOwn = __w_pdfjs_require__(40);\nvar uid = __w_pdfjs_require__(42);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(28);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(27);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 36 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar store = __w_pdfjs_require__(38);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.24.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.24.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n\n/***/ }),\n/* 37 */\n/***/ ((module) => {\n\nmodule.exports = false;\n\n/***/ }),\n/* 38 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar defineGlobalProperty = __w_pdfjs_require__(39);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 39 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar defineProperty = Object.defineProperty;\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, {\n value: value,\n configurable: true,\n writable: true\n });\n } catch (error) {\n global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 40 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar toObject = __w_pdfjs_require__(41);\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n\n/***/ }),\n/* 41 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nvar $Object = Object;\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 42 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n\n/***/ }),\n/* 43 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar fails = __w_pdfjs_require__(10);\nvar createElement = __w_pdfjs_require__(44);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a != 7;\n});\n\n/***/ }),\n/* 44 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar isObject = __w_pdfjs_require__(22);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 45 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar definePropertyModule = __w_pdfjs_require__(46);\nvar createPropertyDescriptor = __w_pdfjs_require__(14);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 46 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(43);\nvar V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(47);\nvar anObject = __w_pdfjs_require__(48);\nvar toPropertyKey = __w_pdfjs_require__(20);\nvar $TypeError = TypeError;\nvar $defineProperty = Object.defineProperty;\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n }\n return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n try {\n return $defineProperty(O, P, Attributes);\n } catch (error) {\n }\n if ('get' in Attributes || 'set' in Attributes)\n throw $TypeError('Accessors not supported');\n if ('value' in Attributes)\n O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 47 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar fails = __w_pdfjs_require__(10);\nmodule.exports = DESCRIPTORS && fails(function () {\n return Object.defineProperty(function () {\n }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n\n/***/ }),\n/* 48 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(22);\nvar $String = String;\nvar $TypeError = TypeError;\nmodule.exports = function (argument) {\n if (isObject(argument))\n return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n\n/***/ }),\n/* 49 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isCallable = __w_pdfjs_require__(23);\nvar definePropertyModule = __w_pdfjs_require__(46);\nvar makeBuiltIn = __w_pdfjs_require__(50);\nvar defineGlobalProperty = __w_pdfjs_require__(39);\nmodule.exports = function (O, key, value, options) {\n if (!options)\n options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value))\n makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple)\n O[key] = value;\n else\n defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe)\n delete O[key];\n else if (O[key])\n simple = true;\n } catch (error) {\n }\n if (simple)\n O[key] = value;\n else\n definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n }\n return O;\n};\n\n/***/ }),\n/* 50 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nvar isCallable = __w_pdfjs_require__(23);\nvar hasOwn = __w_pdfjs_require__(40);\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar CONFIGURABLE_FUNCTION_NAME = (__w_pdfjs_require__(51).CONFIGURABLE);\nvar inspectSource = __w_pdfjs_require__(52);\nvar InternalStateModule = __w_pdfjs_require__(53);\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar defineProperty = Object.defineProperty;\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () {\n }, 'length', { value: 8 }).length !== 8;\n});\nvar TEMPLATE = String(String).split('String');\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter)\n name = 'get ' + name;\n if (options && options.setter)\n name = 'set ' + name;\n if (!hasOwn(value, 'name') || CONFIGURABLE_FUNCTION_NAME && value.name !== name) {\n if (DESCRIPTORS)\n defineProperty(value, 'name', {\n value: name,\n configurable: true\n });\n else\n value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS)\n defineProperty(value, 'prototype', { writable: false });\n } else if (value.prototype)\n value.prototype = undefined;\n } catch (error) {\n }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n return value;\n};\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n\n/***/ }),\n/* 51 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar hasOwn = __w_pdfjs_require__(40);\nvar FunctionPrototype = Function.prototype;\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\nvar PROPER = EXISTS && function something() {\n}.name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable);\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n\n/***/ }),\n/* 52 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar isCallable = __w_pdfjs_require__(23);\nvar store = __w_pdfjs_require__(38);\nvar functionToString = uncurryThis(Function.toString);\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 53 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(54);\nvar global = __w_pdfjs_require__(7);\nvar uncurryThis = __w_pdfjs_require__(17);\nvar isObject = __w_pdfjs_require__(22);\nvar createNonEnumerableProperty = __w_pdfjs_require__(45);\nvar hasOwn = __w_pdfjs_require__(40);\nvar shared = __w_pdfjs_require__(38);\nvar sharedKey = __w_pdfjs_require__(55);\nvar hiddenKeys = __w_pdfjs_require__(56);\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n }\n return state;\n };\n};\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = uncurryThis(store.get);\n var wmhas = uncurryThis(store.has);\n var wmset = uncurryThis(store.set);\n set = function (it, metadata) {\n if (wmhas(store, it))\n throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget(store, it) || {};\n };\n has = function (it) {\n return wmhas(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE))\n throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 54 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar isCallable = __w_pdfjs_require__(23);\nvar inspectSource = __w_pdfjs_require__(52);\nvar WeakMap = global.WeakMap;\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 55 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar shared = __w_pdfjs_require__(36);\nvar uid = __w_pdfjs_require__(42);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 56 */\n/***/ ((module) => {\n\nmodule.exports = {};\n\n/***/ }),\n/* 57 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar hasOwn = __w_pdfjs_require__(40);\nvar ownKeys = __w_pdfjs_require__(58);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(8);\nvar definePropertyModule = __w_pdfjs_require__(46);\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n\n/***/ }),\n/* 58 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(25);\nvar uncurryThis = __w_pdfjs_require__(17);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(59);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(68);\nvar anObject = __w_pdfjs_require__(48);\nvar concat = uncurryThis([].concat);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 59 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar internalObjectKeys = __w_pdfjs_require__(60);\nvar enumBugKeys = __w_pdfjs_require__(67);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 60 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar hasOwn = __w_pdfjs_require__(40);\nvar toIndexedObject = __w_pdfjs_require__(15);\nvar indexOf = (__w_pdfjs_require__(61).indexOf);\nvar hiddenKeys = __w_pdfjs_require__(56);\nvar push = uncurryThis([].push);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n while (names.length > i)\n if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n\n/***/ }),\n/* 61 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toIndexedObject = __w_pdfjs_require__(15);\nvar toAbsoluteIndex = __w_pdfjs_require__(62);\nvar lengthOfArrayLike = __w_pdfjs_require__(65);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n if (IS_INCLUDES && el != el)\n while (length > index) {\n value = O[index++];\n if (value != value)\n return true;\n }\n else\n for (; length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el)\n return IS_INCLUDES || index || 0;\n }\n return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 62 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toIntegerOrInfinity = __w_pdfjs_require__(63);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 63 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar trunc = __w_pdfjs_require__(64);\nmodule.exports = function (argument) {\n var number = +argument;\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n\n/***/ }),\n/* 64 */\n/***/ ((module) => {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n\n/***/ }),\n/* 65 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toLength = __w_pdfjs_require__(66);\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n\n/***/ }),\n/* 66 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toIntegerOrInfinity = __w_pdfjs_require__(63);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 67 */\n/***/ ((module) => {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 68 */\n/***/ ((__unused_webpack_module, exports) => {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 69 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nvar isCallable = __w_pdfjs_require__(23);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 70 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar create = __w_pdfjs_require__(71);\nvar defineProperty = (__w_pdfjs_require__(46).f);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 71 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(48);\nvar definePropertiesModule = __w_pdfjs_require__(72);\nvar enumBugKeys = __w_pdfjs_require__(67);\nvar hiddenKeys = __w_pdfjs_require__(56);\nvar html = __w_pdfjs_require__(74);\nvar documentCreateElement = __w_pdfjs_require__(44);\nvar sharedKey = __w_pdfjs_require__(55);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = typeof document != 'undefined' ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);\n var length = enumBugKeys.length;\n while (length--)\n delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n result[IE_PROTO] = O;\n } else\n result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n\n/***/ }),\n/* 72 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar V8_PROTOTYPE_DEFINE_BUG = __w_pdfjs_require__(47);\nvar definePropertyModule = __w_pdfjs_require__(46);\nvar anObject = __w_pdfjs_require__(48);\nvar toIndexedObject = __w_pdfjs_require__(15);\nvar objectKeys = __w_pdfjs_require__(73);\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n\n/***/ }),\n/* 73 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar internalObjectKeys = __w_pdfjs_require__(60);\nvar enumBugKeys = __w_pdfjs_require__(67);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 74 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(25);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 75 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nvar uncurryThis = __w_pdfjs_require__(17);\nmodule.exports = function (CONSTRUCTOR, METHOD) {\n return uncurryThis(global[CONSTRUCTOR].prototype[METHOD]);\n};\n\n/***/ }),\n/* 76 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(77);\n\n/***/ }),\n/* 77 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar ArrayBufferViewCore = __w_pdfjs_require__(78);\nvar lengthOfArrayLike = __w_pdfjs_require__(65);\nvar toIntegerOrInfinity = __w_pdfjs_require__(63);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nexportTypedArrayMethod('at', function at(index) {\n var O = aTypedArray(this);\n var len = lengthOfArrayLike(O);\n var relativeIndex = toIntegerOrInfinity(index);\n var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;\n return k < 0 || k >= len ? undefined : O[k];\n});\n\n/***/ }),\n/* 78 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(79);\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(7);\nvar isCallable = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar hasOwn = __w_pdfjs_require__(40);\nvar classof = __w_pdfjs_require__(80);\nvar tryToString = __w_pdfjs_require__(33);\nvar createNonEnumerableProperty = __w_pdfjs_require__(45);\nvar defineBuiltIn = __w_pdfjs_require__(49);\nvar defineProperty = (__w_pdfjs_require__(46).f);\nvar isPrototypeOf = __w_pdfjs_require__(26);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(84);\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar uid = __w_pdfjs_require__(42);\nvar InternalStateModule = __w_pdfjs_require__(53);\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\nvar isView = function isView(it) {\n if (!isObject(it))\n return false;\n var klass = classof(it);\n return klass === 'DataView' || hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass);\n};\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto))\n return;\n var state = getInternalState(proto);\n return state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\nvar isTypedArray = function (it) {\n if (!isObject(it))\n return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass) || hasOwn(BigIntArrayConstructorsList, klass);\n};\nvar aTypedArray = function (it) {\n if (isTypedArray(it))\n return it;\n throw TypeError('Target is not a typed array');\n};\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C)))\n return C;\n throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS)\n return;\n if (forced)\n for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY))\n try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) {\n }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS)\n return;\n if (setPrototypeOf) {\n if (forced)\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY))\n try {\n delete TypedArrayConstructor[KEY];\n } catch (error) {\n }\n }\n if (!TypedArray[KEY] || forced) {\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) {\n }\n } else\n return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = global[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype)\n enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else\n NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = global[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype)\n enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n TypedArray = function TypedArray() {\n throw TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME], TypedArray);\n }\n}\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS)\n for (NAME in TypedArrayConstructorsList) {\n if (global[NAME])\n setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n }\n}\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineProperty(TypedArrayPrototype, TO_STRING_TAG, {\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList)\n if (global[NAME]) {\n createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n\n/***/ }),\n/* 79 */\n/***/ ((module) => {\n\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n\n/***/ }),\n/* 80 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(81);\nvar isCallable = __w_pdfjs_require__(23);\nvar classofRaw = __w_pdfjs_require__(18);\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\nvar CORRECT_ARGUMENTS = classofRaw((function () {\n return arguments;\n}())) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 81 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 82 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar hasOwn = __w_pdfjs_require__(40);\nvar isCallable = __w_pdfjs_require__(23);\nvar toObject = __w_pdfjs_require__(41);\nvar sharedKey = __w_pdfjs_require__(55);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(83);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO))\n return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n }\n return object instanceof $Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 83 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 84 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar anObject = __w_pdfjs_require__(48);\nvar aPossiblePrototype = __w_pdfjs_require__(85);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? (function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER)\n setter(O, proto);\n else\n O.__proto__ = proto;\n return O;\n };\n}()) : undefined);\n\n/***/ }),\n/* 85 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isCallable = __w_pdfjs_require__(23);\nvar $String = String;\nvar $TypeError = TypeError;\nmodule.exports = function (argument) {\n if (typeof argument == 'object' || isCallable(argument))\n return argument;\n throw $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n\n/***/ }),\n/* 86 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(87);\n__w_pdfjs_require__(93);\n__w_pdfjs_require__(95);\n__w_pdfjs_require__(117);\n__w_pdfjs_require__(119);\nvar path = __w_pdfjs_require__(128);\nmodule.exports = path.structuredClone;\n\n/***/ }),\n/* 87 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(15);\nvar addToUnscopables = __w_pdfjs_require__(70);\nvar Iterators = __w_pdfjs_require__(88);\nvar InternalStateModule = __w_pdfjs_require__(53);\nvar defineProperty = (__w_pdfjs_require__(46).f);\nvar defineIterator = __w_pdfjs_require__(89);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated),\n index: 0,\n kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: index,\n done: false\n };\n if (kind == 'values')\n return {\n value: target[index],\n done: false\n };\n return {\n value: [\n index,\n target[index]\n ],\n done: false\n };\n}, 'values');\nvar values = Iterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values')\n try {\n defineProperty(values, 'name', { value: 'values' });\n } catch (error) {\n }\n\n/***/ }),\n/* 88 */\n/***/ ((module) => {\n\nmodule.exports = {};\n\n/***/ }),\n/* 89 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(6);\nvar call = __w_pdfjs_require__(11);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar FunctionName = __w_pdfjs_require__(51);\nvar isCallable = __w_pdfjs_require__(23);\nvar createIteratorConstructor = __w_pdfjs_require__(90);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar setPrototypeOf = __w_pdfjs_require__(84);\nvar setToStringTag = __w_pdfjs_require__(92);\nvar createNonEnumerableProperty = __w_pdfjs_require__(45);\nvar defineBuiltIn = __w_pdfjs_require__(49);\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar Iterators = __w_pdfjs_require__(88);\nvar IteratorsCore = __w_pdfjs_require__(91);\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator)\n return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS:\n return function keys() {\n return new IteratorConstructor(this, KIND);\n };\n case VALUES:\n return function values() {\n return new IteratorConstructor(this, KIND);\n };\n case ENTRIES:\n return function entries() {\n return new IteratorConstructor(this, KIND);\n };\n }\n return function () {\n return new IteratorConstructor(this);\n };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE)\n Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() {\n return call(nativeIterator, this);\n };\n }\n }\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED)\n for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n }\n else\n $({\n target: NAME,\n proto: true,\n forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n }, methods);\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n return methods;\n};\n\n/***/ }),\n/* 90 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar IteratorPrototype = (__w_pdfjs_require__(91).IteratorPrototype);\nvar create = __w_pdfjs_require__(71);\nvar createPropertyDescriptor = __w_pdfjs_require__(14);\nvar setToStringTag = __w_pdfjs_require__(92);\nvar Iterators = __w_pdfjs_require__(88);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 91 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar fails = __w_pdfjs_require__(10);\nvar isCallable = __w_pdfjs_require__(23);\nvar create = __w_pdfjs_require__(71);\nvar getPrototypeOf = __w_pdfjs_require__(82);\nvar defineBuiltIn = __w_pdfjs_require__(49);\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar IS_PURE = __w_pdfjs_require__(37);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\nif (NEW_ITERATOR_PROTOTYPE)\n IteratorPrototype = {};\nelse if (IS_PURE)\n IteratorPrototype = create(IteratorPrototype);\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 92 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar defineProperty = (__w_pdfjs_require__(46).f);\nvar hasOwn = __w_pdfjs_require__(40);\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC)\n target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, {\n configurable: true,\n value: TAG\n });\n }\n};\n\n/***/ }),\n/* 93 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(81);\nvar defineBuiltIn = __w_pdfjs_require__(49);\nvar toString = __w_pdfjs_require__(94);\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 94 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(81);\nvar classof = __w_pdfjs_require__(80);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 95 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(96);\n\n/***/ }),\n/* 96 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(97);\nvar collectionStrong = __w_pdfjs_require__(114);\ncollection('Map', function (init) {\n return function Map() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 97 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(6);\nvar global = __w_pdfjs_require__(7);\nvar uncurryThis = __w_pdfjs_require__(17);\nvar isForced = __w_pdfjs_require__(69);\nvar defineBuiltIn = __w_pdfjs_require__(49);\nvar InternalMetadataModule = __w_pdfjs_require__(98);\nvar iterate = __w_pdfjs_require__(105);\nvar anInstance = __w_pdfjs_require__(111);\nvar isCallable = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar fails = __w_pdfjs_require__(10);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(112);\nvar setToStringTag = __w_pdfjs_require__(92);\nvar inheritIfRequired = __w_pdfjs_require__(113);\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n var ADDER = IS_MAP ? 'set' : 'add';\n var NativeConstructor = global[CONSTRUCTOR_NAME];\n var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n var Constructor = NativeConstructor;\n var exported = {};\n var fixMethod = function (KEY) {\n var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n defineBuiltIn(NativePrototype, KEY, KEY == 'add' ? function add(value) {\n uncurriedNativeMethod(this, value === 0 ? 0 : value);\n return this;\n } : KEY == 'delete' ? function (key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'get' ? function get(key) {\n return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : KEY == 'has' ? function has(key) {\n return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n } : function set(key, value) {\n uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n return this;\n });\n };\n var REPLACE = isForced(CONSTRUCTOR_NAME, !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n new NativeConstructor().entries().next();\n })));\n if (REPLACE) {\n Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n InternalMetadataModule.enable();\n } else if (isForced(CONSTRUCTOR_NAME, true)) {\n var instance = new Constructor();\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n var THROWS_ON_PRIMITIVES = fails(function () {\n instance.has(1);\n });\n var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {\n new NativeConstructor(iterable);\n });\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n var $instance = new NativeConstructor();\n var index = 5;\n while (index--)\n $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n Constructor = wrapper(function (dummy, iterable) {\n anInstance(dummy, NativePrototype);\n var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n if (iterable != undefined)\n iterate(iterable, that[ADDER], {\n that: that,\n AS_ENTRIES: IS_MAP\n });\n return that;\n });\n Constructor.prototype = NativePrototype;\n NativePrototype.constructor = Constructor;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING)\n fixMethod(ADDER);\n if (IS_WEAK && NativePrototype.clear)\n delete NativePrototype.clear;\n }\n exported[CONSTRUCTOR_NAME] = Constructor;\n $({\n global: true,\n constructor: true,\n forced: Constructor != NativeConstructor\n }, exported);\n setToStringTag(Constructor, CONSTRUCTOR_NAME);\n if (!IS_WEAK)\n common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n return Constructor;\n};\n\n/***/ }),\n/* 98 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(6);\nvar uncurryThis = __w_pdfjs_require__(17);\nvar hiddenKeys = __w_pdfjs_require__(56);\nvar isObject = __w_pdfjs_require__(22);\nvar hasOwn = __w_pdfjs_require__(40);\nvar defineProperty = (__w_pdfjs_require__(46).f);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(59);\nvar getOwnPropertyNamesExternalModule = __w_pdfjs_require__(99);\nvar isExtensible = __w_pdfjs_require__(102);\nvar uid = __w_pdfjs_require__(42);\nvar FREEZING = __w_pdfjs_require__(104);\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\nvar setMetadata = function (it) {\n defineProperty(it, METADATA, {\n value: {\n objectID: 'O' + id++,\n weakData: {}\n }\n });\n};\nvar fastKey = function (it, create) {\n if (!isObject(it))\n return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!hasOwn(it, METADATA)) {\n if (!isExtensible(it))\n return 'F';\n if (!create)\n return 'E';\n setMetadata(it);\n }\n return it[METADATA].objectID;\n};\nvar getWeakData = function (it, create) {\n if (!hasOwn(it, METADATA)) {\n if (!isExtensible(it))\n return true;\n if (!create)\n return false;\n setMetadata(it);\n }\n return it[METADATA].weakData;\n};\nvar onFreeze = function (it) {\n if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA))\n setMetadata(it);\n return it;\n};\nvar enable = function () {\n meta.enable = function () {\n };\n REQUIRED = true;\n var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n var splice = uncurryThis([].splice);\n var test = {};\n test[METADATA] = 1;\n if (getOwnPropertyNames(test).length) {\n getOwnPropertyNamesModule.f = function (it) {\n var result = getOwnPropertyNames(it);\n for (var i = 0, length = result.length; i < length; i++) {\n if (result[i] === METADATA) {\n splice(result, i, 1);\n break;\n }\n }\n return result;\n };\n $({\n target: 'Object',\n stat: true,\n forced: true\n }, { getOwnPropertyNames: getOwnPropertyNamesExternalModule.f });\n }\n};\nvar meta = module.exports = {\n enable: enable,\n fastKey: fastKey,\n getWeakData: getWeakData,\n onFreeze: onFreeze\n};\nhiddenKeys[METADATA] = true;\n\n/***/ }),\n/* 99 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(18);\nvar toIndexedObject = __w_pdfjs_require__(15);\nvar $getOwnPropertyNames = (__w_pdfjs_require__(59).f);\nvar arraySlice = __w_pdfjs_require__(100);\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window' ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it));\n};\n\n/***/ }),\n/* 100 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toAbsoluteIndex = __w_pdfjs_require__(62);\nvar lengthOfArrayLike = __w_pdfjs_require__(65);\nvar createProperty = __w_pdfjs_require__(101);\nvar $Array = Array;\nvar max = Math.max;\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++)\n createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n\n/***/ }),\n/* 101 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toPropertyKey = __w_pdfjs_require__(20);\nvar definePropertyModule = __w_pdfjs_require__(46);\nvar createPropertyDescriptor = __w_pdfjs_require__(14);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object)\n definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n object[propertyKey] = value;\n};\n\n/***/ }),\n/* 102 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nvar isObject = __w_pdfjs_require__(22);\nvar classof = __w_pdfjs_require__(18);\nvar ARRAY_BUFFER_NON_EXTENSIBLE = __w_pdfjs_require__(103);\nvar $isExtensible = Object.isExtensible;\nvar FAILS_ON_PRIMITIVES = fails(function () {\n $isExtensible(1);\n});\nmodule.exports = FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE ? function isExtensible(it) {\n if (!isObject(it))\n return false;\n if (ARRAY_BUFFER_NON_EXTENSIBLE && classof(it) == 'ArrayBuffer')\n return false;\n return $isExtensible ? $isExtensible(it) : true;\n} : $isExtensible;\n\n/***/ }),\n/* 103 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nmodule.exports = fails(function () {\n if (typeof ArrayBuffer == 'function') {\n var buffer = new ArrayBuffer(8);\n if (Object.isExtensible(buffer))\n Object.defineProperty(buffer, 'a', { value: 8 });\n }\n});\n\n/***/ }),\n/* 104 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nmodule.exports = !fails(function () {\n return Object.isExtensible(Object.preventExtensions({}));\n});\n\n/***/ }),\n/* 105 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar bind = __w_pdfjs_require__(106);\nvar call = __w_pdfjs_require__(11);\nvar anObject = __w_pdfjs_require__(48);\nvar tryToString = __w_pdfjs_require__(33);\nvar isArrayIteratorMethod = __w_pdfjs_require__(107);\nvar lengthOfArrayLike = __w_pdfjs_require__(65);\nvar isPrototypeOf = __w_pdfjs_require__(26);\nvar getIterator = __w_pdfjs_require__(108);\nvar getIteratorMethod = __w_pdfjs_require__(109);\nvar iteratorClose = __w_pdfjs_require__(110);\nvar $TypeError = TypeError;\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nvar ResultPrototype = Result.prototype;\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n var stop = function (condition) {\n if (iterator)\n iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n }\n return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn)\n throw $TypeError(tryToString(iterable) + ' is not iterable');\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result))\n return result;\n }\n return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result))\n return result;\n }\n return new Result(false);\n};\n\n/***/ }),\n/* 106 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar aCallable = __w_pdfjs_require__(32);\nvar NATIVE_BIND = __w_pdfjs_require__(12);\nvar bind = uncurryThis(uncurryThis.bind);\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function () {\n return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 107 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar Iterators = __w_pdfjs_require__(88);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 108 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar call = __w_pdfjs_require__(11);\nvar aCallable = __w_pdfjs_require__(32);\nvar anObject = __w_pdfjs_require__(48);\nvar tryToString = __w_pdfjs_require__(33);\nvar getIteratorMethod = __w_pdfjs_require__(109);\nvar $TypeError = TypeError;\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod))\n return anObject(call(iteratorMethod, argument));\n throw $TypeError(tryToString(argument) + ' is not iterable');\n};\n\n/***/ }),\n/* 109 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(80);\nvar getMethod = __w_pdfjs_require__(31);\nvar Iterators = __w_pdfjs_require__(88);\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n return getMethod(it, ITERATOR) || getMethod(it, '@@iterator') || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 110 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar call = __w_pdfjs_require__(11);\nvar anObject = __w_pdfjs_require__(48);\nvar getMethod = __w_pdfjs_require__(31);\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw')\n throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw')\n throw value;\n if (innerError)\n throw innerResult;\n anObject(innerResult);\n return value;\n};\n\n/***/ }),\n/* 111 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isPrototypeOf = __w_pdfjs_require__(26);\nvar $TypeError = TypeError;\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it))\n return it;\n throw $TypeError('Incorrect invocation');\n};\n\n/***/ }),\n/* 112 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n Array.from(iteratorWithReturn, function () {\n throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 113 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isCallable = __w_pdfjs_require__(23);\nvar isObject = __w_pdfjs_require__(22);\nvar setPrototypeOf = __w_pdfjs_require__(84);\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (setPrototypeOf && isCallable(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)\n setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n\n/***/ }),\n/* 114 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar defineProperty = (__w_pdfjs_require__(46).f);\nvar create = __w_pdfjs_require__(71);\nvar defineBuiltIns = __w_pdfjs_require__(115);\nvar bind = __w_pdfjs_require__(106);\nvar anInstance = __w_pdfjs_require__(111);\nvar iterate = __w_pdfjs_require__(105);\nvar defineIterator = __w_pdfjs_require__(89);\nvar setSpecies = __w_pdfjs_require__(116);\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar fastKey = (__w_pdfjs_require__(98).fastKey);\nvar InternalStateModule = __w_pdfjs_require__(53);\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\nmodule.exports = {\n getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n var Constructor = wrapper(function (that, iterable) {\n anInstance(that, Prototype);\n setInternalState(that, {\n type: CONSTRUCTOR_NAME,\n index: create(null),\n first: undefined,\n last: undefined,\n size: 0\n });\n if (!DESCRIPTORS)\n that.size = 0;\n if (iterable != undefined)\n iterate(iterable, that[ADDER], {\n that: that,\n AS_ENTRIES: IS_MAP\n });\n });\n var Prototype = Constructor.prototype;\n var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var define = function (that, key, value) {\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n var previous, index;\n if (entry) {\n entry.value = value;\n } else {\n state.last = entry = {\n index: index = fastKey(key, true),\n key: key,\n value: value,\n previous: previous = state.last,\n next: undefined,\n removed: false\n };\n if (!state.first)\n state.first = entry;\n if (previous)\n previous.next = entry;\n if (DESCRIPTORS)\n state.size++;\n else\n that.size++;\n if (index !== 'F')\n state.index[index] = entry;\n }\n return that;\n };\n var getEntry = function (that, key) {\n var state = getInternalState(that);\n var index = fastKey(key);\n var entry;\n if (index !== 'F')\n return state.index[index];\n for (entry = state.first; entry; entry = entry.next) {\n if (entry.key == key)\n return entry;\n }\n };\n defineBuiltIns(Prototype, {\n clear: function clear() {\n var that = this;\n var state = getInternalState(that);\n var data = state.index;\n var entry = state.first;\n while (entry) {\n entry.removed = true;\n if (entry.previous)\n entry.previous = entry.previous.next = undefined;\n delete data[entry.index];\n entry = entry.next;\n }\n state.first = state.last = undefined;\n if (DESCRIPTORS)\n state.size = 0;\n else\n that.size = 0;\n },\n 'delete': function (key) {\n var that = this;\n var state = getInternalState(that);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.next;\n var prev = entry.previous;\n delete state.index[entry.index];\n entry.removed = true;\n if (prev)\n prev.next = next;\n if (next)\n next.previous = prev;\n if (state.first == entry)\n state.first = next;\n if (state.last == entry)\n state.last = prev;\n if (DESCRIPTORS)\n state.size--;\n else\n that.size--;\n }\n return !!entry;\n },\n forEach: function forEach(callbackfn) {\n var state = getInternalState(this);\n var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n var entry;\n while (entry = entry ? entry.next : state.first) {\n boundFunction(entry.value, entry.key, this);\n while (entry && entry.removed)\n entry = entry.previous;\n }\n },\n has: function has(key) {\n return !!getEntry(this, key);\n }\n });\n defineBuiltIns(Prototype, IS_MAP ? {\n get: function get(key) {\n var entry = getEntry(this, key);\n return entry && entry.value;\n },\n set: function set(key, value) {\n return define(this, key === 0 ? 0 : key, value);\n }\n } : {\n add: function add(value) {\n return define(this, value = value === 0 ? 0 : value, value);\n }\n });\n if (DESCRIPTORS)\n defineProperty(Prototype, 'size', {\n get: function () {\n return getInternalState(this).size;\n }\n });\n return Constructor;\n },\n setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n setInternalState(this, {\n type: ITERATOR_NAME,\n target: iterated,\n state: getInternalCollectionState(iterated),\n kind: kind,\n last: undefined\n });\n }, function () {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var entry = state.last;\n while (entry && entry.removed)\n entry = entry.previous;\n if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n state.target = undefined;\n return {\n value: undefined,\n done: true\n };\n }\n if (kind == 'keys')\n return {\n value: entry.key,\n done: false\n };\n if (kind == 'values')\n return {\n value: entry.value,\n done: false\n };\n return {\n value: [\n entry.key,\n entry.value\n ],\n done: false\n };\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n setSpecies(CONSTRUCTOR_NAME);\n }\n};\n\n/***/ }),\n/* 115 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar defineBuiltIn = __w_pdfjs_require__(49);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n defineBuiltIn(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 116 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(25);\nvar definePropertyModule = __w_pdfjs_require__(46);\nvar wellKnownSymbol = __w_pdfjs_require__(35);\nvar DESCRIPTORS = __w_pdfjs_require__(9);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () {\n return this;\n }\n });\n }\n};\n\n/***/ }),\n/* 117 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(118);\n\n/***/ }),\n/* 118 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar collection = __w_pdfjs_require__(97);\nvar collectionStrong = __w_pdfjs_require__(114);\ncollection('Set', function (init) {\n return function Set() {\n return init(this, arguments.length ? arguments[0] : undefined);\n };\n}, collectionStrong);\n\n/***/ }),\n/* 119 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IS_PURE = __w_pdfjs_require__(37);\nvar $ = __w_pdfjs_require__(6);\nvar global = __w_pdfjs_require__(7);\nvar getBuiltin = __w_pdfjs_require__(25);\nvar uncurryThis = __w_pdfjs_require__(17);\nvar fails = __w_pdfjs_require__(10);\nvar uid = __w_pdfjs_require__(42);\nvar isCallable = __w_pdfjs_require__(23);\nvar isConstructor = __w_pdfjs_require__(120);\nvar isObject = __w_pdfjs_require__(22);\nvar isSymbol = __w_pdfjs_require__(24);\nvar iterate = __w_pdfjs_require__(105);\nvar anObject = __w_pdfjs_require__(48);\nvar classof = __w_pdfjs_require__(80);\nvar hasOwn = __w_pdfjs_require__(40);\nvar createProperty = __w_pdfjs_require__(101);\nvar createNonEnumerableProperty = __w_pdfjs_require__(45);\nvar lengthOfArrayLike = __w_pdfjs_require__(65);\nvar validateArgumentsLength = __w_pdfjs_require__(121);\nvar getRegExpFlags = __w_pdfjs_require__(122);\nvar ERROR_STACK_INSTALLABLE = __w_pdfjs_require__(124);\nvar V8 = __w_pdfjs_require__(29);\nvar IS_BROWSER = __w_pdfjs_require__(125);\nvar IS_DENO = __w_pdfjs_require__(126);\nvar IS_NODE = __w_pdfjs_require__(127);\nvar Object = global.Object;\nvar Date = global.Date;\nvar Error = global.Error;\nvar EvalError = global.EvalError;\nvar RangeError = global.RangeError;\nvar ReferenceError = global.ReferenceError;\nvar SyntaxError = global.SyntaxError;\nvar TypeError = global.TypeError;\nvar URIError = global.URIError;\nvar PerformanceMark = global.PerformanceMark;\nvar WebAssembly = global.WebAssembly;\nvar CompileError = WebAssembly && WebAssembly.CompileError || Error;\nvar LinkError = WebAssembly && WebAssembly.LinkError || Error;\nvar RuntimeError = WebAssembly && WebAssembly.RuntimeError || Error;\nvar DOMException = getBuiltin('DOMException');\nvar Set = getBuiltin('Set');\nvar Map = getBuiltin('Map');\nvar MapPrototype = Map.prototype;\nvar mapHas = uncurryThis(MapPrototype.has);\nvar mapGet = uncurryThis(MapPrototype.get);\nvar mapSet = uncurryThis(MapPrototype.set);\nvar setAdd = uncurryThis(Set.prototype.add);\nvar objectKeys = getBuiltin('Object', 'keys');\nvar push = uncurryThis([].push);\nvar booleanValueOf = uncurryThis(true.valueOf);\nvar numberValueOf = uncurryThis(1.0.valueOf);\nvar stringValueOf = uncurryThis(''.valueOf);\nvar getTime = uncurryThis(Date.prototype.getTime);\nvar PERFORMANCE_MARK = uid('structuredClone');\nvar DATA_CLONE_ERROR = 'DataCloneError';\nvar TRANSFERRING = 'Transferring';\nvar checkBasicSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var set1 = new global.Set([7]);\n var set2 = structuredCloneImplementation(set1);\n var number = structuredCloneImplementation(Object(7));\n return set2 == set1 || !set2.has(7) || typeof number != 'object' || number != 7;\n }) && structuredCloneImplementation;\n};\nvar checkErrorsCloning = function (structuredCloneImplementation, $Error) {\n return !fails(function () {\n var error = new $Error();\n var test = structuredCloneImplementation({\n a: error,\n b: error\n });\n return !(test && test.a === test.b && test.a instanceof $Error && test.a.stack === error.stack);\n });\n};\nvar checkNewErrorsCloningSemantic = function (structuredCloneImplementation) {\n return !fails(function () {\n var test = structuredCloneImplementation(new global.AggregateError([1], PERFORMANCE_MARK, { cause: 3 }));\n return test.name != 'AggregateError' || test.errors[0] != 1 || test.message != PERFORMANCE_MARK || test.cause != 3;\n });\n};\nvar nativeStructuredClone = global.structuredClone;\nvar FORCED_REPLACEMENT = IS_PURE || !checkErrorsCloning(nativeStructuredClone, Error) || !checkErrorsCloning(nativeStructuredClone, DOMException) || !checkNewErrorsCloningSemantic(nativeStructuredClone);\nvar structuredCloneFromMark = !nativeStructuredClone && checkBasicSemantic(function (value) {\n return new PerformanceMark(PERFORMANCE_MARK, { detail: value }).detail;\n});\nvar nativeRestrictedStructuredClone = checkBasicSemantic(nativeStructuredClone) || structuredCloneFromMark;\nvar throwUncloneable = function (type) {\n throw new DOMException('Uncloneable type: ' + type, DATA_CLONE_ERROR);\n};\nvar throwUnpolyfillable = function (type, kind) {\n throw new DOMException((kind || 'Cloning') + ' of ' + type + ' cannot be properly polyfilled in this engine', DATA_CLONE_ERROR);\n};\nvar structuredCloneInternal = function (value, map) {\n if (isSymbol(value))\n throwUncloneable('Symbol');\n if (!isObject(value))\n return value;\n if (map) {\n if (mapHas(map, value))\n return mapGet(map, value);\n } else\n map = new Map();\n var type = classof(value);\n var deep = false;\n var C, name, cloned, dataTransfer, i, length, keys, key, source, target;\n switch (type) {\n case 'Array':\n cloned = [];\n deep = true;\n break;\n case 'Object':\n cloned = {};\n deep = true;\n break;\n case 'Map':\n cloned = new Map();\n deep = true;\n break;\n case 'Set':\n cloned = new Set();\n deep = true;\n break;\n case 'RegExp':\n cloned = new RegExp(value.source, getRegExpFlags(value));\n break;\n case 'Error':\n name = value.name;\n switch (name) {\n case 'AggregateError':\n cloned = getBuiltin('AggregateError')([]);\n break;\n case 'EvalError':\n cloned = EvalError();\n break;\n case 'RangeError':\n cloned = RangeError();\n break;\n case 'ReferenceError':\n cloned = ReferenceError();\n break;\n case 'SyntaxError':\n cloned = SyntaxError();\n break;\n case 'TypeError':\n cloned = TypeError();\n break;\n case 'URIError':\n cloned = URIError();\n break;\n case 'CompileError':\n cloned = CompileError();\n break;\n case 'LinkError':\n cloned = LinkError();\n break;\n case 'RuntimeError':\n cloned = RuntimeError();\n break;\n default:\n cloned = Error();\n }\n deep = true;\n break;\n case 'DOMException':\n cloned = new DOMException(value.message, value.name);\n deep = true;\n break;\n case 'DataView':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'BigInt64Array':\n case 'BigUint64Array':\n C = global[type];\n if (!isObject(C))\n throwUnpolyfillable(type);\n cloned = new C(structuredCloneInternal(value.buffer, map), value.byteOffset, type === 'DataView' ? value.byteLength : value.length);\n break;\n case 'DOMQuad':\n try {\n cloned = new DOMQuad(structuredCloneInternal(value.p1, map), structuredCloneInternal(value.p2, map), structuredCloneInternal(value.p3, map), structuredCloneInternal(value.p4, map));\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else\n throwUnpolyfillable(type);\n }\n break;\n case 'FileList':\n C = global.DataTransfer;\n if (isConstructor(C)) {\n dataTransfer = new C();\n for (i = 0, length = lengthOfArrayLike(value); i < length; i++) {\n dataTransfer.items.add(structuredCloneInternal(value[i], map));\n }\n cloned = dataTransfer.files;\n } else if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else\n throwUnpolyfillable(type);\n break;\n case 'ImageData':\n try {\n cloned = new ImageData(structuredCloneInternal(value.data, map), value.width, value.height, { colorSpace: value.colorSpace });\n } catch (error) {\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else\n throwUnpolyfillable(type);\n }\n break;\n default:\n if (nativeRestrictedStructuredClone) {\n cloned = nativeRestrictedStructuredClone(value);\n } else\n switch (type) {\n case 'BigInt':\n cloned = Object(value.valueOf());\n break;\n case 'Boolean':\n cloned = Object(booleanValueOf(value));\n break;\n case 'Number':\n cloned = Object(numberValueOf(value));\n break;\n case 'String':\n cloned = Object(stringValueOf(value));\n break;\n case 'Date':\n cloned = new Date(getTime(value));\n break;\n case 'ArrayBuffer':\n C = global.DataView;\n if (!C && typeof value.slice != 'function')\n throwUnpolyfillable(type);\n try {\n if (typeof value.slice == 'function') {\n cloned = value.slice(0);\n } else {\n length = value.byteLength;\n cloned = new ArrayBuffer(length);\n source = new C(value);\n target = new C(cloned);\n for (i = 0; i < length; i++) {\n target.setUint8(i, source.getUint8(i));\n }\n }\n } catch (error) {\n throw new DOMException('ArrayBuffer is detached', DATA_CLONE_ERROR);\n }\n break;\n case 'SharedArrayBuffer':\n cloned = value;\n break;\n case 'Blob':\n try {\n cloned = value.slice(0, value.size, value.type);\n } catch (error) {\n throwUnpolyfillable(type);\n }\n break;\n case 'DOMPoint':\n case 'DOMPointReadOnly':\n C = global[type];\n try {\n cloned = C.fromPoint ? C.fromPoint(value) : new C(value.x, value.y, value.z, value.w);\n } catch (error) {\n throwUnpolyfillable(type);\n }\n break;\n case 'DOMRect':\n case 'DOMRectReadOnly':\n C = global[type];\n try {\n cloned = C.fromRect ? C.fromRect(value) : new C(value.x, value.y, value.width, value.height);\n } catch (error) {\n throwUnpolyfillable(type);\n }\n break;\n case 'DOMMatrix':\n case 'DOMMatrixReadOnly':\n C = global[type];\n try {\n cloned = C.fromMatrix ? C.fromMatrix(value) : new C(value);\n } catch (error) {\n throwUnpolyfillable(type);\n }\n break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone))\n throwUnpolyfillable(type);\n try {\n cloned = value.clone();\n } catch (error) {\n throwUncloneable(type);\n }\n break;\n case 'File':\n try {\n cloned = new File([value], value.name, value);\n } catch (error) {\n throwUnpolyfillable(type);\n }\n break;\n case 'CryptoKey':\n case 'GPUCompilationMessage':\n case 'GPUCompilationInfo':\n case 'ImageBitmap':\n case 'RTCCertificate':\n case 'WebAssembly.Module':\n throwUnpolyfillable(type);\n default:\n throwUncloneable(type);\n }\n }\n mapSet(map, value, cloned);\n if (deep)\n switch (type) {\n case 'Array':\n case 'Object':\n keys = objectKeys(value);\n for (i = 0, length = lengthOfArrayLike(keys); i < length; i++) {\n key = keys[i];\n createProperty(cloned, key, structuredCloneInternal(value[key], map));\n }\n break;\n case 'Map':\n value.forEach(function (v, k) {\n mapSet(cloned, structuredCloneInternal(k, map), structuredCloneInternal(v, map));\n });\n break;\n case 'Set':\n value.forEach(function (v) {\n setAdd(cloned, structuredCloneInternal(v, map));\n });\n break;\n case 'Error':\n createNonEnumerableProperty(cloned, 'message', structuredCloneInternal(value.message, map));\n if (hasOwn(value, 'cause')) {\n createNonEnumerableProperty(cloned, 'cause', structuredCloneInternal(value.cause, map));\n }\n if (name == 'AggregateError') {\n cloned.errors = structuredCloneInternal(value.errors, map);\n }\n case 'DOMException':\n if (ERROR_STACK_INSTALLABLE) {\n createNonEnumerableProperty(cloned, 'stack', structuredCloneInternal(value.stack, map));\n }\n }\n return cloned;\n};\nvar PROPER_TRANSFER = nativeStructuredClone && !fails(function () {\n if (IS_DENO && V8 > 92 || IS_NODE && V8 > 94 || IS_BROWSER && V8 > 97)\n return false;\n var buffer = new ArrayBuffer(8);\n var clone = nativeStructuredClone(buffer, { transfer: [buffer] });\n return buffer.byteLength != 0 || clone.byteLength != 8;\n});\nvar tryToTransfer = function (rawTransfer, map) {\n if (!isObject(rawTransfer))\n throw TypeError('Transfer option cannot be converted to a sequence');\n var transfer = [];\n iterate(rawTransfer, function (value) {\n push(transfer, anObject(value));\n });\n var i = 0;\n var length = lengthOfArrayLike(transfer);\n var value, type, C, transferredArray, transferred, canvas, context;\n if (PROPER_TRANSFER) {\n transferredArray = nativeStructuredClone(transfer, { transfer: transfer });\n while (i < length)\n mapSet(map, transfer[i], transferredArray[i++]);\n } else\n while (i < length) {\n value = transfer[i++];\n if (mapHas(map, value))\n throw new DOMException('Duplicate transferable', DATA_CLONE_ERROR);\n type = classof(value);\n switch (type) {\n case 'ImageBitmap':\n C = global.OffscreenCanvas;\n if (!isConstructor(C))\n throwUnpolyfillable(type, TRANSFERRING);\n try {\n canvas = new C(value.width, value.height);\n context = canvas.getContext('bitmaprenderer');\n context.transferFromImageBitmap(value);\n transferred = canvas.transferToImageBitmap();\n } catch (error) {\n }\n break;\n case 'AudioData':\n case 'VideoFrame':\n if (!isCallable(value.clone) || !isCallable(value.close))\n throwUnpolyfillable(type, TRANSFERRING);\n try {\n transferred = value.clone();\n value.close();\n } catch (error) {\n }\n break;\n case 'ArrayBuffer':\n case 'MessagePort':\n case 'OffscreenCanvas':\n case 'ReadableStream':\n case 'TransformStream':\n case 'WritableStream':\n throwUnpolyfillable(type, TRANSFERRING);\n }\n if (transferred === undefined)\n throw new DOMException('This object cannot be transferred: ' + type, DATA_CLONE_ERROR);\n mapSet(map, value, transferred);\n }\n};\n$({\n global: true,\n enumerable: true,\n sham: !PROPER_TRANSFER,\n forced: FORCED_REPLACEMENT\n}, {\n structuredClone: function structuredClone(value) {\n var options = validateArgumentsLength(arguments.length, 1) > 1 && arguments[1] != null ? anObject(arguments[1]) : undefined;\n var transfer = options ? options.transfer : undefined;\n var map;\n if (transfer !== undefined) {\n map = new Map();\n tryToTransfer(transfer, map);\n }\n return structuredCloneInternal(value, map);\n }\n});\n\n/***/ }),\n/* 120 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar uncurryThis = __w_pdfjs_require__(17);\nvar fails = __w_pdfjs_require__(10);\nvar isCallable = __w_pdfjs_require__(23);\nvar classof = __w_pdfjs_require__(80);\nvar getBuiltIn = __w_pdfjs_require__(25);\nvar inspectSource = __w_pdfjs_require__(52);\nvar noop = function () {\n};\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument))\n return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument))\n return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction':\n return false;\n }\n try {\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\nisConstructorLegacy.sham = true;\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function () {\n called = true;\n }) || called;\n}) ? isConstructorLegacy : isConstructorModern;\n\n/***/ }),\n/* 121 */\n/***/ ((module) => {\n\nvar $TypeError = TypeError;\nmodule.exports = function (passed, required) {\n if (passed < required)\n throw $TypeError('Not enough arguments');\n return passed;\n};\n\n/***/ }),\n/* 122 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar call = __w_pdfjs_require__(11);\nvar hasOwn = __w_pdfjs_require__(40);\nvar isPrototypeOf = __w_pdfjs_require__(26);\nvar regExpFlags = __w_pdfjs_require__(123);\nvar RegExpPrototype = RegExp.prototype;\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R) ? call(regExpFlags, R) : flags;\n};\n\n/***/ }),\n/* 123 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar anObject = __w_pdfjs_require__(48);\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices)\n result += 'd';\n if (that.global)\n result += 'g';\n if (that.ignoreCase)\n result += 'i';\n if (that.multiline)\n result += 'm';\n if (that.dotAll)\n result += 's';\n if (that.unicode)\n result += 'u';\n if (that.unicodeSets)\n result += 'v';\n if (that.sticky)\n result += 'y';\n return result;\n};\n\n/***/ }),\n/* 124 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(10);\nvar createPropertyDescriptor = __w_pdfjs_require__(14);\nmodule.exports = !fails(function () {\n var error = Error('a');\n if (!('stack' in error))\n return true;\n Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n return error.stack !== 7;\n});\n\n/***/ }),\n/* 125 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IS_DENO = __w_pdfjs_require__(126);\nvar IS_NODE = __w_pdfjs_require__(127);\nmodule.exports = !IS_DENO && !IS_NODE && typeof window == 'object' && typeof document == 'object';\n\n/***/ }),\n/* 126 */\n/***/ ((module) => {\n\nmodule.exports = typeof Deno == 'object' && Deno && typeof Deno.version == 'object';\n\n/***/ }),\n/* 127 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(18);\nvar global = __w_pdfjs_require__(7);\nmodule.exports = classof(global.process) == 'process';\n\n/***/ }),\n/* 128 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(7);\nmodule.exports = global;\n\n/***/ }),\n/* 129 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.build = exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.version = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _annotation_storage = __w_pdfjs_require__(130);\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nvar _font_loader = __w_pdfjs_require__(136);\n\nvar _canvas = __w_pdfjs_require__(137);\n\nvar _worker_options = __w_pdfjs_require__(140);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _message_handler = __w_pdfjs_require__(141);\n\nvar _metadata = __w_pdfjs_require__(142);\n\nvar _optional_content_config = __w_pdfjs_require__(143);\n\nvar _transport_stream = __w_pdfjs_require__(144);\n\nvar _xfa_text = __w_pdfjs_require__(145);\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError(\"attempted to get private field on non-instance\"); } return fn; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classStaticPrivateFieldSpecSet(receiver, classConstructor, descriptor, value) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nfunction _classStaticPrivateFieldSpecGet(receiver, classConstructor, descriptor) { _classCheckPrivateStaticAccess(receiver, classConstructor); _classCheckPrivateStaticFieldDescriptor(descriptor, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classCheckPrivateStaticFieldDescriptor(descriptor, action) { if (descriptor === undefined) { throw new TypeError(\"attempted to \" + action + \" private static field before its declaration\"); } }\n\nfunction _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError(\"Private static access of wrong provenance\"); } }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nlet DefaultCanvasFactory = _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nlet DefaultCMapReaderFactory = _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nlet DefaultStandardFontDataFactory = _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\n\nif (_is_node.isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeStandardFontDataFactory\n } = __w_pdfjs_require__(146);\n\n exports.DefaultCanvasFactory = DefaultCanvasFactory = NodeCanvasFactory;\n exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory = NodeCMapReaderFactory;\n exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\n\nlet createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n let source;\n\n if (typeof src === \"string\" || src instanceof URL) {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either string, URL, TypedArray, or parameter object.\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n const value = source[key];\n\n switch (key) {\n case \"url\":\n if (typeof window !== \"undefined\") {\n try {\n params[key] = new URL(value, window.location).href;\n continue;\n } catch (ex) {\n (0, _util.warn)(`Cannot create valid URL: \"${ex}\".`);\n }\n } else if (typeof value === \"string\" || value instanceof URL) {\n params[key] = value.toString();\n continue;\n }\n\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n\n case \"range\":\n rangeTransport = value;\n continue;\n\n case \"worker\":\n worker = value;\n continue;\n\n case \"data\":\n if (_is_node.isNodeJS && typeof Buffer !== \"undefined\" && value instanceof Buffer) {\n params[key] = new Uint8Array(value);\n } else if (value instanceof Uint8Array) {\n break;\n } else if (typeof value === \"string\") {\n params[key] = (0, _util.stringToBytes)(value);\n } else if (typeof value === \"object\" && value !== null && !isNaN(value.length)) {\n params[key] = new Uint8Array(value);\n } else if ((0, _util.isArrayBuffer)(value)) {\n params[key] = new Uint8Array(value);\n } else {\n throw new Error(\"Invalid PDF binary data: either TypedArray, \" + \"string, or array-like object is expected in the data property.\");\n }\n\n continue;\n }\n\n params[key] = value;\n }\n\n params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;\n params.StandardFontDataFactory = params.StandardFontDataFactory || DefaultStandardFontDataFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n params.enableXfa = params.enableXfa === true;\n\n if (!Number.isInteger(params.rangeChunkSize) || params.rangeChunkSize < 1) {\n params.rangeChunkSize = DEFAULT_RANGE_CHUNK_SIZE;\n }\n\n if (typeof params.docBaseUrl !== \"string\" || (0, _display_utils.isDataScheme)(params.docBaseUrl)) {\n params.docBaseUrl = null;\n }\n\n if (!Number.isInteger(params.maxImageSize) || params.maxImageSize < -1) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.cMapUrl !== \"string\") {\n params.cMapUrl = null;\n }\n\n if (typeof params.standardFontDataUrl !== \"string\") {\n params.standardFontDataUrl = null;\n }\n\n if (typeof params.useWorkerFetch !== \"boolean\") {\n params.useWorkerFetch = params.CMapReaderFactory === _display_utils.DOMCMapReaderFactory && params.StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _is_node.isNodeJS;\n }\n\n if (typeof params.useSystemFonts !== \"boolean\") {\n params.useSystemFonts = !_is_node.isNodeJS && !params.disableFontFace;\n }\n\n if (typeof params.ownerDocument !== \"object\" || params.ownerDocument === null) {\n params.ownerDocument = globalThis.document;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n contentDispositionFilename: params.contentDispositionFilename,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {\n let [workerId, networkStream] = _ref;\n\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\n\nasync function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n source.contentDispositionFilename = pdfDataRangeTransport.contentDispositionFilename;\n }\n\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion: '2.16.105',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties,\n enableXfa: source.enableXfa,\n useSystemFonts: source.useSystemFonts,\n cMapUrl: source.useWorkerFetch ? source.cMapUrl : null,\n standardFontDataUrl: source.useWorkerFetch ? source.standardFontDataUrl : null\n });\n\n if (source.data) {\n source.data = null;\n }\n\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n}\n\nclass PDFDocumentLoadingTask {\n constructor() {\n var _PDFDocumentLoadingTa, _PDFDocumentLoadingTa2;\n\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = `d${(_classStaticPrivateFieldSpecSet(PDFDocumentLoadingTask, PDFDocumentLoadingTask, _docId, (_PDFDocumentLoadingTa = _classStaticPrivateFieldSpecGet(PDFDocumentLoadingTask, PDFDocumentLoadingTask, _docId), _PDFDocumentLoadingTa2 = _PDFDocumentLoadingTa++, _PDFDocumentLoadingTa)), _PDFDocumentLoadingTa2)}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n async destroy() {\n var _this$_transport;\n\n this.destroyed = true;\n await ((_this$_transport = this._transport) === null || _this$_transport === void 0 ? void 0 : _this$_transport.destroy());\n this._transport = null;\n\n if (this._worker) {\n this._worker.destroy();\n\n this._worker = null;\n }\n }\n\n}\n\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\nvar _docId = {\n writable: true,\n value: 0\n};\n\nclass PDFDataRangeTransport {\n constructor(length, initialData) {\n let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n\n}\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n Object.defineProperty(this, \"fingerprint\", {\n get() {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.fingerprint`, \" + \"please use `PDFDocumentProxy.fingerprints` instead.\");\n return this.fingerprints[0];\n }\n\n });\n Object.defineProperty(this, \"getStats\", {\n value: async () => {\n (0, _display_utils.deprecated)(\"`PDFDocumentProxy.getStats`, \" + \"please use the `PDFDocumentProxy.stats`-getter instead.\");\n return this.stats || {\n streamTypes: {},\n fontTypes: {}\n };\n }\n });\n }\n\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n\n get stats() {\n return this._transport.stats;\n }\n\n get isPureXfa() {\n return !!this._transport._htmlForXfa;\n }\n\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n\n getOutline() {\n return this._transport.getOutline();\n }\n\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n\n getData() {\n return this._transport.getData();\n }\n\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n cleanup() {\n let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n\n destroy() {\n return this.loadingTask.destroy();\n }\n\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n saveDocument() {\n if (this._transport.annotationStorage.size <= 0) {\n (0, _display_utils.deprecated)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n\n return this._transport.saveDocument();\n }\n\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n\n}\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, ownerDocument) {\n let pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._ownerDocument = ownerDocument;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._bitmaps = new Set();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this._intentStates = new Map();\n this._annotationPromises = new Map();\n this.destroyed = false;\n }\n\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n get ref() {\n return this._pageInfo.ref;\n }\n\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n get view() {\n return this._pageInfo.view;\n }\n\n getViewport() {\n let {\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n getAnnotations() {\n let {\n intent = \"display\"\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n const intentArgs = this._transport.getRenderingIntent(intent);\n\n let promise = this._annotationPromises.get(intentArgs.cacheKey);\n\n if (!promise) {\n promise = this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n\n this._annotationPromises.set(intentArgs.cacheKey, promise);\n\n promise = promise.then(annotations => {\n for (const annotation of annotations) {\n if (annotation.titleObj !== undefined) {\n Object.defineProperty(annotation, \"title\", {\n get() {\n (0, _display_utils.deprecated)(\"`title`-property on annotation, please use `titleObj` instead.\");\n return annotation.titleObj.str;\n }\n\n });\n }\n\n if (annotation.contentsObj !== undefined) {\n Object.defineProperty(annotation, \"contents\", {\n get() {\n (0, _display_utils.deprecated)(\"`contents`-property on annotation, please use `contentsObj` instead.\");\n return annotation.contentsObj.str;\n }\n\n });\n }\n }\n\n return annotations;\n });\n }\n\n return promise;\n }\n\n getJSActions() {\n return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex));\n }\n\n async getXfa() {\n var _this$_transport$_htm;\n\n return ((_this$_transport$_htm = this._transport._htmlForXfa) === null || _this$_transport$_htm === void 0 ? void 0 : _this$_transport$_htm.children[this._pageIndex]) || null;\n }\n\n render(_ref2) {\n var _arguments$, _arguments$2, _intentState;\n\n let {\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null\n } = _ref2;\n\n if (((_arguments$ = arguments[0]) === null || _arguments$ === void 0 ? void 0 : _arguments$.renderInteractiveForms) !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `renderInteractiveForms`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].renderInteractiveForms === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_FORMS;\n }\n }\n\n if (((_arguments$2 = arguments[0]) === null || _arguments$2 === void 0 ? void 0 : _arguments$2.includeAnnotationStorage) !== undefined) {\n (0, _display_utils.deprecated)(\"render no longer accepts the `includeAnnotationStorage`-option, \" + \"please use the `annotationMode`-option instead.\");\n\n if (arguments[0].includeAnnotationStorage === true && annotationMode === _util.AnnotationMode.ENABLE) {\n annotationMode = _util.AnnotationMode.ENABLE_STORAGE;\n }\n }\n\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage);\n\n this.pendingCleanup = false;\n\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({\n ownerDocument: this._ownerDocument\n });\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n\n if (this.cleanupAfterRender || intentPrint) {\n this.pendingCleanup = true;\n }\n\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n ((_intentState = intentState).renderTasks || (_intentState.renderTasks = new Set())).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(_ref3 => {\n let [transparency, optionalContentConfig] = _ref3;\n\n if (this.pendingCleanup) {\n complete();\n return;\n }\n\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n\n getOperatorList() {\n let {\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n printAnnotationStorage = null\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true);\n\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n\n if (!intentState) {\n intentState = Object.create(null);\n\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n var _intentState2;\n\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n ((_intentState2 = intentState).renderTasks || (_intentState2.renderTasks = new Set())).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList(intentArgs);\n }\n\n return intentState.opListReadCapability.promise;\n }\n\n streamTextContent() {\n let {\n disableCombineTextItems = false,\n includeMarkedContent = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n combineTextItems: disableCombineTextItems !== true,\n includeMarkedContent: includeMarkedContent === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n\n size(textContent) {\n return textContent.items.length;\n }\n\n });\n }\n\n getTextContent() {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function (_ref4) {\n let {\n value,\n done\n } = _ref4;\n\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n\n getStructTree() {\n return this._structTreePromise || (this._structTreePromise = this._transport.getStructTree(this._pageIndex));\n }\n\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intentState.opListReadCapability) {\n continue;\n }\n\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n\n this.objs.clear();\n\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n\n this._bitmaps.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n cleanup() {\n let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n _tryCleanup() {\n let resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.pendingCleanup) {\n return false;\n }\n\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n\n this._intentStates.clear();\n\n this.objs.clear();\n\n this._annotationPromises.clear();\n\n this._jsActionsPromise = null;\n this._structTreePromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n for (const bitmap of this._bitmaps) {\n bitmap.close();\n }\n\n this._bitmaps.clear();\n\n this.pendingCleanup = false;\n return true;\n }\n\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n _pumpOperatorList(_ref5) {\n let {\n renderingIntent,\n cacheKey,\n annotationStorageMap\n } = _ref5;\n\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: annotationStorageMap\n });\n\n const reader = readableStream.getReader();\n\n const intentState = this._intentStates.get(cacheKey);\n\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(_ref6 => {\n let {\n value,\n done\n } = _ref6;\n\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (this._transport.destroyed) {\n return;\n }\n\n this._renderPageChunk(value, intentState);\n\n pump();\n }, reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n\n _abortOperatorList(_ref7) {\n let {\n intentState,\n reason,\n force = false\n } = _ref7;\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n\n break;\n }\n }\n\n this.cleanup();\n }\n\n get stats() {\n return this._stats;\n }\n\n}\n\nexports.PDFPageProxy = PDFPageProxy;\n\nclass LoopbackPort {\n constructor() {\n this._listeners = [];\n this._deferred = Promise.resolve();\n }\n\n postMessage(obj, transfers) {\n const event = {\n data: structuredClone(obj, transfers)\n };\n\n this._deferred.then(() => {\n for (const listener of this._listeners) {\n listener.call(this, event);\n }\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n\n}\n\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_is_node.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n var _document, _document$currentScri;\n\n const pdfjsFilePath = (_document = document) === null || _document === void 0 ? void 0 : (_document$currentScri = _document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src;\n\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\n\nclass PDFWorker {\n constructor() {\n let {\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (port && _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts).has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts).set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n get promise() {\n return this._readyCapability.promise;\n }\n\n get port() {\n return this._port;\n }\n\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n\n _initialize() {\n if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let {\n workerSrc\n } = PDFWorker;\n\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n\n destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n _classStaticPrivateFieldSpecGet(PDFWorker, PDFWorker, _workerPorts).delete(this._port);\n\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n\n static fromPort(params) {\n if (!(params !== null && params !== void 0 && params.port)) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (_classStaticPrivateFieldSpecGet(this, PDFWorker, _workerPorts).has(params.port)) {\n return _classStaticPrivateFieldSpecGet(this, PDFWorker, _workerPorts).get(params.port);\n }\n\n return new PDFWorker(params);\n }\n\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n static get _mainThreadWorkerMessageHandler() {\n try {\n var _globalThis$pdfjsWork;\n\n return ((_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler) || null;\n } catch (ex) {\n return null;\n }\n }\n\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = require(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n\n}\n\nexports.PDFWorker = PDFWorker;\nvar _workerPorts = {\n writable: true,\n value: new WeakMap()\n};\n{\n PDFWorker.getWorkerSrc = function () {\n (0, _display_utils.deprecated)(\"`PDFWorker.getWorkerSrc()`, please use `PDFWorker.workerSrc` instead.\");\n return this.workerSrc;\n };\n}\n\nvar _docStats = /*#__PURE__*/new WeakMap();\n\nvar _pageCache = /*#__PURE__*/new WeakMap();\n\nvar _pagePromises = /*#__PURE__*/new WeakMap();\n\nvar _metadataPromise = /*#__PURE__*/new WeakMap();\n\nclass WorkerTransport {\n constructor(messageHandler, loadingTask, networkStream, params) {\n _classPrivateFieldInitSpec(this, _docStats, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldInitSpec(this, _pageCache, {\n writable: true,\n value: new Map()\n });\n\n _classPrivateFieldInitSpec(this, _pagePromises, {\n writable: true,\n value: new Map()\n });\n\n _classPrivateFieldInitSpec(this, _metadataPromise, {\n writable: true,\n value: null\n });\n\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n\n if (!params.useWorkerFetch) {\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.StandardFontDataFactory = new params.StandardFontDataFactory({\n baseUrl: params.standardFontDataUrl\n });\n }\n\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n\n get stats() {\n return _classPrivateFieldGet(this, _docStats);\n }\n\n getRenderingIntent(intent) {\n let annotationMode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _util.AnnotationMode.ENABLE;\n let printAnnotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n let isOpList = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationMap = null;\n\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n\n case \"display\":\n break;\n\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n\n case _util.AnnotationMode.ENABLE:\n break;\n\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n annotationMap = annotationStorage.serializable;\n break;\n\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${_annotation_storage.AnnotationStorage.getHash(annotationMap)}`,\n annotationStorageMap: annotationMap\n };\n }\n\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n const waitOn = [];\n\n for (const page of _classPrivateFieldGet(this, _pageCache).values()) {\n waitOn.push(page._destroy());\n }\n\n _classPrivateFieldGet(this, _pageCache).clear();\n\n _classPrivateFieldGet(this, _pagePromises).clear();\n\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n\n _classPrivateFieldSet(this, _metadataPromise, null);\n\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = () => {\n this._fullReader.read().then(function (_ref8) {\n let {\n value,\n done\n } = _ref8;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = (0, _util.createPromiseCapability)();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n var _loadingTask$onProgre;\n\n (_loadingTask$onProgre = loadingTask.onProgress) === null || _loadingTask$onProgre === void 0 ? void 0 : _loadingTask$onProgre.call(loadingTask, this._lastProgress);\n }\n\n fullReader.onProgress = evt => {\n var _loadingTask$onProgre2;\n\n (_loadingTask$onProgre2 = loadingTask.onProgress) === null || _loadingTask$onProgre2 === void 0 ? void 0 : _loadingTask$onProgre2.call(loadingTask, {\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = () => {\n rangeReader.read().then(function (_ref9) {\n let {\n value,\n done\n } = _ref9;\n\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", _ref10 => {\n let {\n pdfInfo\n } = _ref10;\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this._passwordCapability.reject(password);\n } else {\n this._passwordCapability.resolve({\n password\n });\n }\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n var _loadingTask$onProgre3;\n\n (_loadingTask$onProgre3 = loadingTask.onProgress) === null || _loadingTask$onProgre3 === void 0 ? void 0 : _loadingTask$onProgre3.call(loadingTask, {\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n\n const page = _classPrivateFieldGet(this, _pageCache).get(data.pageIndex);\n\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", _ref11 => {\n var _globalThis$FontInspe;\n\n let [id, type, exportedData] = _ref11;\n\n if (this.destroyed) {\n return;\n }\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n const params = this._params;\n\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n let fontRegistry = null;\n\n if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n\n };\n }\n\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n this.commonObjs.resolve(id, font);\n });\n break;\n\n case \"FontPath\":\n case \"Image\":\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", _ref12 => {\n let [id, pageIndex, type, imageData] = _ref12;\n\n if (this.destroyed) {\n return;\n }\n\n const pageProxy = _classPrivateFieldGet(this, _pageCache).get(pageIndex);\n\n if (pageProxy.objs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData) {\n let length;\n\n if (imageData.bitmap) {\n const {\n bitmap,\n width,\n height\n } = imageData;\n length = width * height * 4;\n\n pageProxy._bitmaps.add(bitmap);\n } else {\n var _imageData$data;\n\n length = ((_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) || 0;\n }\n\n if (length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n }\n\n break;\n\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n var _loadingTask$onProgre4;\n\n if (this.destroyed) {\n return;\n }\n\n (_loadingTask$onProgre4 = loadingTask.onProgress) === null || _loadingTask$onProgre4 === void 0 ? void 0 : _loadingTask$onProgre4.call(loadingTask, {\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"DocStats\", data => {\n if (this.destroyed) {\n return;\n }\n\n _classPrivateFieldSet(this, _docStats, Object.freeze({\n streamTypes: Object.freeze(data.streamTypes),\n fontTypes: Object.freeze(data.fontTypes)\n }));\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!this.CMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return this.CMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n\n if (!this.StandardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n\n return this.StandardFontDataFactory.fetch(data);\n });\n }\n\n _onUnsupportedFeature(_ref13) {\n var _this$loadingTask$onU, _this$loadingTask;\n\n let {\n featureId\n } = _ref13;\n\n if (this.destroyed) {\n return;\n }\n\n (_this$loadingTask$onU = (_this$loadingTask = this.loadingTask).onUnsupportedFeature) === null || _this$loadingTask$onU === void 0 ? void 0 : _this$loadingTask$onU.call(_this$loadingTask, featureId);\n }\n\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n\n const pageIndex = pageNumber - 1,\n cachedPromise = _classPrivateFieldGet(this, _pagePromises).get(pageIndex);\n\n if (cachedPromise) {\n return cachedPromise;\n }\n\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.ownerDocument, this._params.pdfBug);\n\n _classPrivateFieldGet(this, _pageCache).set(pageIndex, page);\n\n return page;\n });\n\n _classPrivateFieldGet(this, _pagePromises).set(pageIndex, promise);\n\n return promise;\n }\n\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n\n saveDocument() {\n var _this$_fullReader$fil, _this$_fullReader;\n\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: this.annotationStorage.serializable,\n filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null\n }).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n\n getFieldObjects() {\n return this._getFieldObjectsPromise || (this._getFieldObjectsPromise = this.messageHandler.sendWithPromise(\"GetFieldObjects\", null));\n }\n\n hasJSActions() {\n return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise(\"HasJSActions\", null));\n }\n\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n\n getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n\n getMetadata() {\n return _classPrivateFieldGet(this, _metadataPromise) || _classPrivateFieldSet(this, _metadataPromise, this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(results => {\n var _this$_fullReader$fil2, _this$_fullReader2, _this$_fullReader$con, _this$_fullReader3;\n\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: (_this$_fullReader$fil2 = (_this$_fullReader2 = this._fullReader) === null || _this$_fullReader2 === void 0 ? void 0 : _this$_fullReader2.filename) !== null && _this$_fullReader$fil2 !== void 0 ? _this$_fullReader$fil2 : null,\n contentLength: (_this$_fullReader$con = (_this$_fullReader3 = this._fullReader) === null || _this$_fullReader3 === void 0 ? void 0 : _this$_fullReader3.contentLength) !== null && _this$_fullReader$con !== void 0 ? _this$_fullReader$con : null\n };\n }));\n }\n\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n\n async startCleanup() {\n let keepLoadedFonts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n\n if (this.destroyed) {\n return;\n }\n\n for (const page of _classPrivateFieldGet(this, _pageCache).values()) {\n const cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n\n this.commonObjs.clear();\n\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n\n _classPrivateFieldSet(this, _metadataPromise, null);\n\n this._getFieldObjectsPromise = null;\n this._hasJSActionsPromise = null;\n }\n\n get loadingParams() {\n const params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n enableXfa: params.enableXfa\n });\n }\n\n}\n\nvar _objs = /*#__PURE__*/new WeakMap();\n\nvar _ensureObj = /*#__PURE__*/new WeakSet();\n\nclass PDFObjects {\n constructor() {\n _classPrivateMethodInitSpec(this, _ensureObj);\n\n _classPrivateFieldInitSpec(this, _objs, {\n writable: true,\n value: Object.create(null)\n });\n }\n\n get(objId) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (callback) {\n const obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId);\n\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n\n const obj = _classPrivateFieldGet(this, _objs)[objId];\n\n if (!(obj !== null && obj !== void 0 && obj.capability.settled)) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n\n return obj.data;\n }\n\n has(objId) {\n const obj = _classPrivateFieldGet(this, _objs)[objId];\n\n return (obj === null || obj === void 0 ? void 0 : obj.capability.settled) || false;\n }\n\n resolve(objId) {\n let data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n const obj = _classPrivateMethodGet(this, _ensureObj, _ensureObj2).call(this, objId);\n\n obj.data = data;\n obj.capability.resolve();\n }\n\n clear() {\n _classPrivateFieldSet(this, _objs, Object.create(null));\n }\n\n}\n\nfunction _ensureObj2(objId) {\n const obj = _classPrivateFieldGet(this, _objs)[objId];\n\n if (obj) {\n return obj;\n }\n\n return _classPrivateFieldGet(this, _objs)[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null\n };\n}\n\nvar _internalRenderTask = /*#__PURE__*/new WeakMap();\n\nclass RenderTask {\n constructor(internalRenderTask) {\n _classPrivateFieldInitSpec(this, _internalRenderTask, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldSet(this, _internalRenderTask, internalRenderTask);\n\n this.onContinue = null;\n }\n\n get promise() {\n return _classPrivateFieldGet(this, _internalRenderTask).capability.promise;\n }\n\n cancel() {\n _classPrivateFieldGet(this, _internalRenderTask).cancel();\n }\n\n get separateAnnots() {\n const {\n separateAnnots\n } = _classPrivateFieldGet(this, _internalRenderTask).operatorList;\n\n if (!separateAnnots) {\n return false;\n }\n\n const {\n annotationCanvasMap\n } = _classPrivateFieldGet(this, _internalRenderTask);\n\n return separateAnnots.form || separateAnnots.canvas && (annotationCanvasMap === null || annotationCanvasMap === void 0 ? void 0 : annotationCanvasMap.size) > 0;\n }\n\n}\n\nexports.RenderTask = RenderTask;\n\nclass InternalRenderTask {\n constructor(_ref14) {\n let {\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n } = _ref14;\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n\n initializeGraphics(_ref15) {\n var _globalThis$StepperMa;\n\n let {\n transparency = false,\n optionalContentConfig\n } = _ref15;\n\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (_classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).add(this._canvas);\n }\n\n if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, imageLayer, optionalContentConfig, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n\n cancel() {\n let error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, \"canvas\"));\n }\n\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n\n _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n\n async _next() {\n if (this.cancelled) {\n return;\n }\n\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n _classStaticPrivateFieldSpecGet(InternalRenderTask, InternalRenderTask, _canvasInUse).delete(this._canvas);\n }\n\n this.callback();\n }\n }\n }\n\n}\n\nvar _canvasInUse = {\n writable: true,\n value: new WeakSet()\n};\nconst version = '2.16.105';\nexports.version = version;\nconst build = '172ccdbe5';\nexports.build = build;\n\n/***/ }),\n/* 130 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PrintAnnotationStorage = exports.AnnotationStorage = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _editor = __w_pdfjs_require__(131);\n\nvar _murmurhash = __w_pdfjs_require__(135);\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError(\"attempted to get private field on non-instance\"); } return fn; }\n\nvar _setModified = /*#__PURE__*/new WeakSet();\n\nclass AnnotationStorage {\n constructor() {\n _classPrivateMethodInitSpec(this, _setModified);\n\n this._storage = new Map();\n this._modified = false;\n this.onSetModified = null;\n this.onResetModified = null;\n this.onAnnotationEditor = null;\n }\n\n getValue(key, defaultValue) {\n const value = this._storage.get(key);\n\n if (value === undefined) {\n return defaultValue;\n }\n\n return Object.assign(defaultValue, value);\n }\n\n getRawValue(key) {\n return this._storage.get(key);\n }\n\n remove(key) {\n this._storage.delete(key);\n\n if (this._storage.size === 0) {\n this.resetModified();\n }\n\n if (typeof this.onAnnotationEditor === \"function\") {\n for (const value of this._storage.values()) {\n if (value instanceof _editor.AnnotationEditor) {\n return;\n }\n }\n\n this.onAnnotationEditor(null);\n }\n }\n\n setValue(key, value) {\n const obj = this._storage.get(key);\n\n let modified = false;\n\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n\n this._storage.set(key, value);\n }\n\n if (modified) {\n _classPrivateMethodGet(this, _setModified, _setModified2).call(this);\n }\n\n if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === \"function\") {\n this.onAnnotationEditor(value.constructor._type);\n }\n }\n\n has(key) {\n return this._storage.has(key);\n }\n\n getAll() {\n return this._storage.size > 0 ? (0, _util.objectFromMap)(this._storage) : null;\n }\n\n get size() {\n return this._storage.size;\n }\n\n resetModified() {\n if (this._modified) {\n this._modified = false;\n\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n\n get print() {\n return new PrintAnnotationStorage(this);\n }\n\n get serializable() {\n if (this._storage.size === 0) {\n return null;\n }\n\n const clone = new Map();\n\n for (const [key, val] of this._storage) {\n const serialized = val instanceof _editor.AnnotationEditor ? val.serialize() : val;\n\n if (serialized) {\n clone.set(key, serialized);\n }\n }\n\n return clone;\n }\n\n static getHash(map) {\n if (!map) {\n return \"\";\n }\n\n const hash = new _murmurhash.MurmurHash3_64();\n\n for (const [key, val] of map) {\n hash.update(`${key}:${JSON.stringify(val)}`);\n }\n\n return hash.hexdigest();\n }\n\n}\n\nexports.AnnotationStorage = AnnotationStorage;\n\nfunction _setModified2() {\n if (!this._modified) {\n this._modified = true;\n\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n}\n\nvar _serializable = /*#__PURE__*/new WeakMap();\n\nclass PrintAnnotationStorage extends AnnotationStorage {\n constructor(parent) {\n super();\n\n _classPrivateFieldInitSpec(this, _serializable, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldSet(this, _serializable, structuredClone(parent.serializable));\n }\n\n get print() {\n (0, _util.unreachable)(\"Should not call PrintAnnotationStorage.print\");\n }\n\n get serializable() {\n return _classPrivateFieldGet(this, _serializable);\n }\n\n}\n\nexports.PrintAnnotationStorage = PrintAnnotationStorage;\n\n/***/ }),\n/* 131 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditor = void 0;\n\nvar _tools = __w_pdfjs_require__(132);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nvar _boundFocusin = /*#__PURE__*/new WeakMap();\n\nvar _boundFocusout = /*#__PURE__*/new WeakMap();\n\nvar _hasBeenSelected = /*#__PURE__*/new WeakMap();\n\nvar _isEditing = /*#__PURE__*/new WeakMap();\n\nvar _isInEditMode = /*#__PURE__*/new WeakMap();\n\nvar _zIndex = /*#__PURE__*/new WeakMap();\n\nclass AnnotationEditor {\n constructor(parameters) {\n _classPrivateFieldInitSpec(this, _boundFocusin, {\n writable: true,\n value: this.focusin.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundFocusout, {\n writable: true,\n value: this.focusout.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _hasBeenSelected, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _isEditing, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _isInEditMode, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _zIndex, {\n writable: true,\n value: AnnotationEditor._zIndex++\n });\n\n if (this.constructor === AnnotationEditor) {\n (0, _util.unreachable)(\"Cannot initialize AnnotationEditor.\");\n }\n\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n const [width, height] = this.parent.viewportBaseDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.rotation = this.parent.viewport.rotation;\n this.isAttachedToDOM = false;\n }\n\n static get _defaultLineColor() {\n return (0, _util.shadow)(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n\n setInForeground() {\n this.div.style.zIndex = _classPrivateFieldGet(this, _zIndex);\n }\n\n focusin(event) {\n if (!_classPrivateFieldGet(this, _hasBeenSelected)) {\n this.parent.setSelected(this);\n } else {\n _classPrivateFieldSet(this, _hasBeenSelected, false);\n }\n }\n\n focusout(event) {\n if (!this.isAttachedToDOM) {\n return;\n }\n\n const target = event.relatedTarget;\n\n if (target !== null && target !== void 0 && target.closest(`#${this.id}`)) {\n return;\n }\n\n event.preventDefault();\n\n if (!this.parent.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n\n commit() {\n this.parent.addToAnnotationStorage(this);\n }\n\n dragstart(event) {\n const rect = this.parent.div.getBoundingClientRect();\n this.startX = event.clientX - rect.x;\n this.startY = event.clientY - rect.y;\n event.dataTransfer.setData(\"text/plain\", this.id);\n event.dataTransfer.effectAllowed = \"move\";\n }\n\n setAt(x, y, tx, ty) {\n const [width, height] = this.parent.viewportBaseDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.div.style.left = `${100 * this.x}%`;\n this.div.style.top = `${100 * this.y}%`;\n }\n\n translate(x, y) {\n const [width, height] = this.parent.viewportBaseDimensions;\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.div.style.left = `${100 * this.x}%`;\n this.div.style.top = `${100 * this.y}%`;\n }\n\n screenToPageTranslation(x, y) {\n const {\n rotation\n } = this.parent.viewport;\n\n switch (rotation) {\n case 90:\n return [y, -x];\n\n case 180:\n return [-x, -y];\n\n case 270:\n return [-y, x];\n\n default:\n return [x, y];\n }\n }\n\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.div.style.width = `${100 * width / parentWidth}%`;\n this.div.style.height = `${100 * height / parentHeight}%`;\n }\n\n getInitialTranslation() {\n return [0, 0];\n }\n\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.setAttribute(\"tabIndex\", 0);\n this.setInForeground();\n this.div.addEventListener(\"focusin\", _classPrivateFieldGet(this, _boundFocusin));\n this.div.addEventListener(\"focusout\", _classPrivateFieldGet(this, _boundFocusout));\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n (0, _tools.bindEvents)(this, this.div, [\"dragstart\", \"pointerdown\"]);\n return this.div;\n }\n\n pointerdown(event) {\n const isMac = _tools.KeyboardManager.platform.isMac;\n\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n\n _classPrivateFieldSet(this, _hasBeenSelected, true);\n }\n\n getRect(tx, ty) {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n const [pageWidth, pageHeight] = this.parent.pageDimensions;\n const shiftX = pageWidth * tx / parentWidth;\n const shiftY = pageHeight * ty / parentHeight;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n\n switch (this.rotation) {\n case 0:\n return [x + shiftX, pageHeight - y - shiftY - height, x + shiftX + width, pageHeight - y - shiftY];\n\n case 90:\n return [x + shiftY, pageHeight - y + shiftX, x + shiftY + height, pageHeight - y + shiftX + width];\n\n case 180:\n return [x - shiftX - width, pageHeight - y + shiftY, x - shiftX, pageHeight - y + shiftY + height];\n\n case 270:\n return [x - shiftY - height, pageHeight - y - shiftX - width, x - shiftY, pageHeight - y - shiftX];\n\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n\n case 90:\n return [x1, pageHeight - y1, height, width];\n\n case 180:\n return [x2, pageHeight - y1, width, height];\n\n case 270:\n return [x2, pageHeight - y2, height, width];\n\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n\n onceAdded() {}\n\n isEmpty() {\n return false;\n }\n\n enableEditMode() {\n _classPrivateFieldSet(this, _isInEditMode, true);\n }\n\n disableEditMode() {\n _classPrivateFieldSet(this, _isInEditMode, false);\n }\n\n isInEditMode() {\n return _classPrivateFieldGet(this, _isInEditMode);\n }\n\n shouldGetKeyboardEvents() {\n return false;\n }\n\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n\n rebuild() {\n var _this$div;\n\n (_this$div = this.div) === null || _this$div === void 0 ? void 0 : _this$div.addEventListener(\"focusin\", _classPrivateFieldGet(this, _boundFocusin));\n }\n\n serialize() {\n (0, _util.unreachable)(\"An editor must be serializable\");\n }\n\n static deserialize(data, parent) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId()\n });\n editor.rotation = data.rotation;\n const [pageWidth, pageHeight] = parent.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n\n remove() {\n this.div.removeEventListener(\"focusin\", _classPrivateFieldGet(this, _boundFocusin));\n this.div.removeEventListener(\"focusout\", _classPrivateFieldGet(this, _boundFocusout));\n\n if (!this.isEmpty()) {\n this.commit();\n }\n\n this.parent.remove(this);\n }\n\n select() {\n var _this$div2;\n\n (_this$div2 = this.div) === null || _this$div2 === void 0 ? void 0 : _this$div2.classList.add(\"selectedEditor\");\n }\n\n unselect() {\n var _this$div3;\n\n (_this$div3 = this.div) === null || _this$div3 === void 0 ? void 0 : _this$div3.classList.remove(\"selectedEditor\");\n }\n\n updateParams(type, value) {}\n\n disableEditing() {}\n\n enableEditing() {}\n\n get propertiesToUpdate() {\n return {};\n }\n\n get contentDiv() {\n return this.div;\n }\n\n get isEditing() {\n return _classPrivateFieldGet(this, _isEditing);\n }\n\n set isEditing(value) {\n _classPrivateFieldSet(this, _isEditing, value);\n\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n\n}\n\nexports.AnnotationEditor = AnnotationEditor;\n\n_defineProperty(AnnotationEditor, \"_colorManager\", new _tools.ColorManager());\n\n_defineProperty(AnnotationEditor, \"_zIndex\", 1);\n\n/***/ }),\n/* 132 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0;\nexports.bindEvents = bindEvents;\nexports.opacityToHex = opacityToHex;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError(\"attempted to get private field on non-instance\"); } return fn; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\n\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\n\nvar _id = /*#__PURE__*/new WeakMap();\n\nclass IdManager {\n constructor() {\n _classPrivateFieldInitSpec(this, _id, {\n writable: true,\n value: 0\n });\n }\n\n getId() {\n var _this$id, _this$id2;\n\n return `${_util.AnnotationEditorPrefix}${(_classPrivateFieldSet(this, _id, (_this$id = _classPrivateFieldGet(this, _id), _this$id2 = _this$id++, _this$id)), _this$id2)}`;\n }\n\n}\n\nvar _commands = /*#__PURE__*/new WeakMap();\n\nvar _locked = /*#__PURE__*/new WeakMap();\n\nvar _maxSize = /*#__PURE__*/new WeakMap();\n\nvar _position = /*#__PURE__*/new WeakMap();\n\nclass CommandManager {\n constructor() {\n let maxSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 128;\n\n _classPrivateFieldInitSpec(this, _commands, {\n writable: true,\n value: []\n });\n\n _classPrivateFieldInitSpec(this, _locked, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _maxSize, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _position, {\n writable: true,\n value: -1\n });\n\n _classPrivateFieldSet(this, _maxSize, maxSize);\n }\n\n add(_ref) {\n let {\n cmd,\n undo,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n } = _ref;\n\n if (mustExec) {\n cmd();\n }\n\n if (_classPrivateFieldGet(this, _locked)) {\n return;\n }\n\n const save = {\n cmd,\n undo,\n type\n };\n\n if (_classPrivateFieldGet(this, _position) === -1) {\n if (_classPrivateFieldGet(this, _commands).length > 0) {\n _classPrivateFieldGet(this, _commands).length = 0;\n }\n\n _classPrivateFieldSet(this, _position, 0);\n\n _classPrivateFieldGet(this, _commands).push(save);\n\n return;\n }\n\n if (overwriteIfSameType && _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)].type === type) {\n if (keepUndo) {\n save.undo = _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)].undo;\n }\n\n _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)] = save;\n return;\n }\n\n const next = _classPrivateFieldGet(this, _position) + 1;\n\n if (next === _classPrivateFieldGet(this, _maxSize)) {\n _classPrivateFieldGet(this, _commands).splice(0, 1);\n } else {\n _classPrivateFieldSet(this, _position, next);\n\n if (next < _classPrivateFieldGet(this, _commands).length) {\n _classPrivateFieldGet(this, _commands).splice(next);\n }\n }\n\n _classPrivateFieldGet(this, _commands).push(save);\n }\n\n undo() {\n if (_classPrivateFieldGet(this, _position) === -1) {\n return;\n }\n\n _classPrivateFieldSet(this, _locked, true);\n\n _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)].undo();\n\n _classPrivateFieldSet(this, _locked, false);\n\n _classPrivateFieldSet(this, _position, _classPrivateFieldGet(this, _position) - 1);\n }\n\n redo() {\n if (_classPrivateFieldGet(this, _position) < _classPrivateFieldGet(this, _commands).length - 1) {\n _classPrivateFieldSet(this, _position, _classPrivateFieldGet(this, _position) + 1);\n\n _classPrivateFieldSet(this, _locked, true);\n\n _classPrivateFieldGet(this, _commands)[_classPrivateFieldGet(this, _position)].cmd();\n\n _classPrivateFieldSet(this, _locked, false);\n }\n }\n\n hasSomethingToUndo() {\n return _classPrivateFieldGet(this, _position) !== -1;\n }\n\n hasSomethingToRedo() {\n return _classPrivateFieldGet(this, _position) < _classPrivateFieldGet(this, _commands).length - 1;\n }\n\n destroy() {\n _classPrivateFieldSet(this, _commands, null);\n }\n\n}\n\nexports.CommandManager = CommandManager;\n\nvar _serialize = /*#__PURE__*/new WeakSet();\n\nclass KeyboardManager {\n constructor(callbacks) {\n _classPrivateMethodInitSpec(this, _serialize);\n\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const isMac = KeyboardManager.platform.isMac;\n\n for (const [keys, callback] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), callback);\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, callback);\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n\n static get platform() {\n const platform = typeof navigator !== \"undefined\" ? navigator.platform : \"\";\n return (0, _util.shadow)(this, \"platform\", {\n isWin: platform.includes(\"Win\"),\n isMac: platform.includes(\"Mac\")\n });\n }\n\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n\n const callback = this.callbacks.get(_classPrivateMethodGet(this, _serialize, _serialize2).call(this, event));\n\n if (!callback) {\n return;\n }\n\n callback.bind(self)();\n event.stopPropagation();\n event.preventDefault();\n }\n\n}\n\nexports.KeyboardManager = KeyboardManager;\n\nfunction _serialize2(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n}\n\nvar _elements = /*#__PURE__*/new WeakMap();\n\nclass ClipboardManager {\n constructor() {\n _classPrivateFieldInitSpec(this, _elements, {\n writable: true,\n value: null\n });\n }\n\n copy(element) {\n if (!element) {\n return;\n }\n\n if (Array.isArray(element)) {\n _classPrivateFieldSet(this, _elements, element.map(el => el.serialize()));\n } else {\n _classPrivateFieldSet(this, _elements, [element.serialize()]);\n }\n\n _classPrivateFieldSet(this, _elements, _classPrivateFieldGet(this, _elements).filter(el => !!el));\n\n if (_classPrivateFieldGet(this, _elements).length === 0) {\n _classPrivateFieldSet(this, _elements, null);\n }\n }\n\n paste() {\n return _classPrivateFieldGet(this, _elements);\n }\n\n isEmpty() {\n return _classPrivateFieldGet(this, _elements) === null;\n }\n\n destroy() {\n _classPrivateFieldSet(this, _elements, null);\n }\n\n}\n\nclass ColorManager {\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n (0, _display_utils.getColorValues)(colors);\n return (0, _util.shadow)(this, \"_colors\", colors);\n }\n\n convert(color) {\n const rgb = (0, _display_utils.getRGB)(color);\n\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n\n return rgb;\n }\n\n getHexCode(name) {\n const rgb = this._colors.get(name);\n\n if (!rgb) {\n return name;\n }\n\n return _util.Util.makeHexColor(...rgb);\n }\n\n}\n\nexports.ColorManager = ColorManager;\n\n_defineProperty(ColorManager, \"_colorsMapping\", new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]));\n\nvar _activeEditor = /*#__PURE__*/new WeakMap();\n\nvar _allEditors = /*#__PURE__*/new WeakMap();\n\nvar _allLayers = /*#__PURE__*/new WeakMap();\n\nvar _clipboardManager = /*#__PURE__*/new WeakMap();\n\nvar _commandManager = /*#__PURE__*/new WeakMap();\n\nvar _currentPageIndex = /*#__PURE__*/new WeakMap();\n\nvar _editorTypes = /*#__PURE__*/new WeakMap();\n\nvar _eventBus = /*#__PURE__*/new WeakMap();\n\nvar _idManager = /*#__PURE__*/new WeakMap();\n\nvar _isEnabled = /*#__PURE__*/new WeakMap();\n\nvar _mode = /*#__PURE__*/new WeakMap();\n\nvar _selectedEditors = /*#__PURE__*/new WeakMap();\n\nvar _boundKeydown = /*#__PURE__*/new WeakMap();\n\nvar _boundOnEditingAction = /*#__PURE__*/new WeakMap();\n\nvar _boundOnPageChanging = /*#__PURE__*/new WeakMap();\n\nvar _previousStates = /*#__PURE__*/new WeakMap();\n\nvar _container = /*#__PURE__*/new WeakMap();\n\nvar _addKeyboardManager = /*#__PURE__*/new WeakSet();\n\nvar _removeKeyboardManager = /*#__PURE__*/new WeakSet();\n\nvar _dispatchUpdateStates = /*#__PURE__*/new WeakSet();\n\nvar _dispatchUpdateUI = /*#__PURE__*/new WeakSet();\n\nvar _enableAll = /*#__PURE__*/new WeakSet();\n\nvar _disableAll = /*#__PURE__*/new WeakSet();\n\nvar _addEditorToLayer = /*#__PURE__*/new WeakSet();\n\nvar _isEmpty = /*#__PURE__*/new WeakSet();\n\nvar _selectEditors = /*#__PURE__*/new WeakSet();\n\nclass AnnotationEditorUIManager {\n constructor(container, eventBus) {\n _classPrivateMethodInitSpec(this, _selectEditors);\n\n _classPrivateMethodInitSpec(this, _isEmpty);\n\n _classPrivateMethodInitSpec(this, _addEditorToLayer);\n\n _classPrivateMethodInitSpec(this, _disableAll);\n\n _classPrivateMethodInitSpec(this, _enableAll);\n\n _classPrivateMethodInitSpec(this, _dispatchUpdateUI);\n\n _classPrivateMethodInitSpec(this, _dispatchUpdateStates);\n\n _classPrivateMethodInitSpec(this, _removeKeyboardManager);\n\n _classPrivateMethodInitSpec(this, _addKeyboardManager);\n\n _classPrivateFieldInitSpec(this, _activeEditor, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldInitSpec(this, _allEditors, {\n writable: true,\n value: new Map()\n });\n\n _classPrivateFieldInitSpec(this, _allLayers, {\n writable: true,\n value: new Map()\n });\n\n _classPrivateFieldInitSpec(this, _clipboardManager, {\n writable: true,\n value: new ClipboardManager()\n });\n\n _classPrivateFieldInitSpec(this, _commandManager, {\n writable: true,\n value: new CommandManager()\n });\n\n _classPrivateFieldInitSpec(this, _currentPageIndex, {\n writable: true,\n value: 0\n });\n\n _classPrivateFieldInitSpec(this, _editorTypes, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldInitSpec(this, _eventBus, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldInitSpec(this, _idManager, {\n writable: true,\n value: new IdManager()\n });\n\n _classPrivateFieldInitSpec(this, _isEnabled, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _mode, {\n writable: true,\n value: _util.AnnotationEditorType.NONE\n });\n\n _classPrivateFieldInitSpec(this, _selectedEditors, {\n writable: true,\n value: new Set()\n });\n\n _classPrivateFieldInitSpec(this, _boundKeydown, {\n writable: true,\n value: this.keydown.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundOnEditingAction, {\n writable: true,\n value: this.onEditingAction.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundOnPageChanging, {\n writable: true,\n value: this.onPageChanging.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _previousStates, {\n writable: true,\n value: {\n isEditing: false,\n isEmpty: true,\n hasEmptyClipboard: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false\n }\n });\n\n _classPrivateFieldInitSpec(this, _container, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldSet(this, _container, container);\n\n _classPrivateFieldSet(this, _eventBus, eventBus);\n\n _classPrivateFieldGet(this, _eventBus)._on(\"editingaction\", _classPrivateFieldGet(this, _boundOnEditingAction));\n\n _classPrivateFieldGet(this, _eventBus)._on(\"pagechanging\", _classPrivateFieldGet(this, _boundOnPageChanging));\n }\n\n destroy() {\n _classPrivateMethodGet(this, _removeKeyboardManager, _removeKeyboardManager2).call(this);\n\n _classPrivateFieldGet(this, _eventBus)._off(\"editingaction\", _classPrivateFieldGet(this, _boundOnEditingAction));\n\n _classPrivateFieldGet(this, _eventBus)._off(\"pagechanging\", _classPrivateFieldGet(this, _boundOnPageChanging));\n\n for (const layer of _classPrivateFieldGet(this, _allLayers).values()) {\n layer.destroy();\n }\n\n _classPrivateFieldGet(this, _allLayers).clear();\n\n _classPrivateFieldGet(this, _allEditors).clear();\n\n _classPrivateFieldSet(this, _activeEditor, null);\n\n _classPrivateFieldGet(this, _selectedEditors).clear();\n\n _classPrivateFieldGet(this, _clipboardManager).destroy();\n\n _classPrivateFieldGet(this, _commandManager).destroy();\n }\n\n onPageChanging(_ref2) {\n let {\n pageNumber\n } = _ref2;\n\n _classPrivateFieldSet(this, _currentPageIndex, pageNumber - 1);\n }\n\n focusMainContainer() {\n _classPrivateFieldGet(this, _container).focus();\n }\n\n keydown(event) {\n var _this$getActive;\n\n if (!((_this$getActive = this.getActive()) !== null && _this$getActive !== void 0 && _this$getActive.shouldGetKeyboardEvents())) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n\n onEditingAction(details) {\n if ([\"undo\", \"redo\", \"cut\", \"copy\", \"paste\", \"delete\", \"selectAll\"].includes(details.name)) {\n this[details.name]();\n }\n }\n\n setEditingState(isEditing) {\n if (isEditing) {\n _classPrivateMethodGet(this, _addKeyboardManager, _addKeyboardManager2).call(this);\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n isEditing: _classPrivateFieldGet(this, _mode) !== _util.AnnotationEditorType.NONE,\n isEmpty: _classPrivateMethodGet(this, _isEmpty, _isEmpty2).call(this),\n hasSomethingToUndo: _classPrivateFieldGet(this, _commandManager).hasSomethingToUndo(),\n hasSomethingToRedo: _classPrivateFieldGet(this, _commandManager).hasSomethingToRedo(),\n hasSelectedEditor: false,\n hasEmptyClipboard: _classPrivateFieldGet(this, _clipboardManager).isEmpty()\n });\n } else {\n _classPrivateMethodGet(this, _removeKeyboardManager, _removeKeyboardManager2).call(this);\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n isEditing: false\n });\n }\n }\n\n registerEditorTypes(types) {\n _classPrivateFieldSet(this, _editorTypes, types);\n\n for (const editorType of _classPrivateFieldGet(this, _editorTypes)) {\n _classPrivateMethodGet(this, _dispatchUpdateUI, _dispatchUpdateUI2).call(this, editorType.defaultPropertiesToUpdate);\n }\n }\n\n getId() {\n return _classPrivateFieldGet(this, _idManager).getId();\n }\n\n addLayer(layer) {\n _classPrivateFieldGet(this, _allLayers).set(layer.pageIndex, layer);\n\n if (_classPrivateFieldGet(this, _isEnabled)) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n\n removeLayer(layer) {\n _classPrivateFieldGet(this, _allLayers).delete(layer.pageIndex);\n }\n\n updateMode(mode) {\n _classPrivateFieldSet(this, _mode, mode);\n\n if (mode === _util.AnnotationEditorType.NONE) {\n this.setEditingState(false);\n\n _classPrivateMethodGet(this, _disableAll, _disableAll2).call(this);\n } else {\n this.setEditingState(true);\n\n _classPrivateMethodGet(this, _enableAll, _enableAll2).call(this);\n\n for (const layer of _classPrivateFieldGet(this, _allLayers).values()) {\n layer.updateMode(mode);\n }\n }\n }\n\n updateToolbar(mode) {\n if (mode === _classPrivateFieldGet(this, _mode)) {\n return;\n }\n\n _classPrivateFieldGet(this, _eventBus).dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n\n updateParams(type, value) {\n for (const editor of _classPrivateFieldGet(this, _selectedEditors)) {\n editor.updateParams(type, value);\n }\n\n for (const editorType of _classPrivateFieldGet(this, _editorTypes)) {\n editorType.updateDefaultParams(type, value);\n }\n }\n\n getEditors(pageIndex) {\n const editors = [];\n\n for (const editor of _classPrivateFieldGet(this, _allEditors).values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n\n return editors;\n }\n\n getEditor(id) {\n return _classPrivateFieldGet(this, _allEditors).get(id);\n }\n\n addEditor(editor) {\n _classPrivateFieldGet(this, _allEditors).set(editor.id, editor);\n }\n\n removeEditor(editor) {\n _classPrivateFieldGet(this, _allEditors).delete(editor.id);\n\n this.unselect(editor);\n }\n\n setActiveEditor(editor) {\n if (_classPrivateFieldGet(this, _activeEditor) === editor) {\n return;\n }\n\n _classPrivateFieldSet(this, _activeEditor, editor);\n\n if (editor) {\n _classPrivateMethodGet(this, _dispatchUpdateUI, _dispatchUpdateUI2).call(this, editor.propertiesToUpdate);\n }\n }\n\n toggleSelected(editor) {\n if (_classPrivateFieldGet(this, _selectedEditors).has(editor)) {\n _classPrivateFieldGet(this, _selectedEditors).delete(editor);\n\n editor.unselect();\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSelectedEditor: this.hasSelection\n });\n\n return;\n }\n\n _classPrivateFieldGet(this, _selectedEditors).add(editor);\n\n editor.select();\n\n _classPrivateMethodGet(this, _dispatchUpdateUI, _dispatchUpdateUI2).call(this, editor.propertiesToUpdate);\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSelectedEditor: true\n });\n }\n\n setSelected(editor) {\n for (const ed of _classPrivateFieldGet(this, _selectedEditors)) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n\n _classPrivateFieldGet(this, _selectedEditors).clear();\n\n _classPrivateFieldGet(this, _selectedEditors).add(editor);\n\n editor.select();\n\n _classPrivateMethodGet(this, _dispatchUpdateUI, _dispatchUpdateUI2).call(this, editor.propertiesToUpdate);\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSelectedEditor: true\n });\n }\n\n isSelected(editor) {\n return _classPrivateFieldGet(this, _selectedEditors).has(editor);\n }\n\n unselect(editor) {\n editor.unselect();\n\n _classPrivateFieldGet(this, _selectedEditors).delete(editor);\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSelectedEditor: this.hasSelection\n });\n }\n\n get hasSelection() {\n return _classPrivateFieldGet(this, _selectedEditors).size !== 0;\n }\n\n undo() {\n _classPrivateFieldGet(this, _commandManager).undo();\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSomethingToUndo: _classPrivateFieldGet(this, _commandManager).hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: _classPrivateMethodGet(this, _isEmpty, _isEmpty2).call(this)\n });\n }\n\n redo() {\n _classPrivateFieldGet(this, _commandManager).redo();\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSomethingToUndo: true,\n hasSomethingToRedo: _classPrivateFieldGet(this, _commandManager).hasSomethingToRedo(),\n isEmpty: _classPrivateMethodGet(this, _isEmpty, _isEmpty2).call(this)\n });\n }\n\n addCommands(params) {\n _classPrivateFieldGet(this, _commandManager).add(params);\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: _classPrivateMethodGet(this, _isEmpty, _isEmpty2).call(this)\n });\n }\n\n delete() {\n if (_classPrivateFieldGet(this, _activeEditor)) {\n _classPrivateFieldGet(this, _activeEditor).commitOrRemove();\n }\n\n if (!this.hasSelection) {\n return;\n }\n\n const editors = [..._classPrivateFieldGet(this, _selectedEditors)];\n\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n\n const undo = () => {\n for (const editor of editors) {\n _classPrivateMethodGet(this, _addEditorToLayer, _addEditorToLayer2).call(this, editor);\n }\n };\n\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n\n copy() {\n if (_classPrivateFieldGet(this, _activeEditor)) {\n _classPrivateFieldGet(this, _activeEditor).commitOrRemove();\n }\n\n if (this.hasSelection) {\n const editors = [];\n\n for (const editor of _classPrivateFieldGet(this, _selectedEditors)) {\n if (!editor.isEmpty()) {\n editors.push(editor);\n }\n }\n\n if (editors.length === 0) {\n return;\n }\n\n _classPrivateFieldGet(this, _clipboardManager).copy(editors);\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasEmptyClipboard: false\n });\n }\n }\n\n cut() {\n this.copy();\n this.delete();\n }\n\n paste() {\n if (_classPrivateFieldGet(this, _clipboardManager).isEmpty()) {\n return;\n }\n\n this.unselectAll();\n\n const layer = _classPrivateFieldGet(this, _allLayers).get(_classPrivateFieldGet(this, _currentPageIndex));\n\n const newEditors = _classPrivateFieldGet(this, _clipboardManager).paste().map(data => layer.deserialize(data));\n\n const cmd = () => {\n for (const editor of newEditors) {\n _classPrivateMethodGet(this, _addEditorToLayer, _addEditorToLayer2).call(this, editor);\n }\n\n _classPrivateMethodGet(this, _selectEditors, _selectEditors2).call(this, newEditors);\n };\n\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n\n selectAll() {\n for (const editor of _classPrivateFieldGet(this, _selectedEditors)) {\n editor.commit();\n }\n\n _classPrivateMethodGet(this, _selectEditors, _selectEditors2).call(this, _classPrivateFieldGet(this, _allEditors).values());\n }\n\n unselectAll() {\n if (_classPrivateFieldGet(this, _activeEditor)) {\n _classPrivateFieldGet(this, _activeEditor).commitOrRemove();\n\n return;\n }\n\n if (_classPrivateMethodGet(this, _selectEditors, _selectEditors2).size === 0) {\n return;\n }\n\n for (const editor of _classPrivateFieldGet(this, _selectedEditors)) {\n editor.unselect();\n }\n\n _classPrivateFieldGet(this, _selectedEditors).clear();\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSelectedEditor: false\n });\n }\n\n isActive(editor) {\n return _classPrivateFieldGet(this, _activeEditor) === editor;\n }\n\n getActive() {\n return _classPrivateFieldGet(this, _activeEditor);\n }\n\n getMode() {\n return _classPrivateFieldGet(this, _mode);\n }\n\n}\n\nexports.AnnotationEditorUIManager = AnnotationEditorUIManager;\n\nfunction _addKeyboardManager2() {\n _classPrivateFieldGet(this, _container).addEventListener(\"keydown\", _classPrivateFieldGet(this, _boundKeydown));\n}\n\nfunction _removeKeyboardManager2() {\n _classPrivateFieldGet(this, _container).removeEventListener(\"keydown\", _classPrivateFieldGet(this, _boundKeydown));\n}\n\nfunction _dispatchUpdateStates2(details) {\n const hasChanged = Object.entries(details).some(_ref3 => {\n let [key, value] = _ref3;\n return _classPrivateFieldGet(this, _previousStates)[key] !== value;\n });\n\n if (hasChanged) {\n _classPrivateFieldGet(this, _eventBus).dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(_classPrivateFieldGet(this, _previousStates), details)\n });\n }\n}\n\nfunction _dispatchUpdateUI2(details) {\n _classPrivateFieldGet(this, _eventBus).dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n}\n\nfunction _enableAll2() {\n if (!_classPrivateFieldGet(this, _isEnabled)) {\n _classPrivateFieldSet(this, _isEnabled, true);\n\n for (const layer of _classPrivateFieldGet(this, _allLayers).values()) {\n layer.enable();\n }\n }\n}\n\nfunction _disableAll2() {\n this.unselectAll();\n\n if (_classPrivateFieldGet(this, _isEnabled)) {\n _classPrivateFieldSet(this, _isEnabled, false);\n\n for (const layer of _classPrivateFieldGet(this, _allLayers).values()) {\n layer.disable();\n }\n }\n}\n\nfunction _addEditorToLayer2(editor) {\n const layer = _classPrivateFieldGet(this, _allLayers).get(editor.pageIndex);\n\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n }\n}\n\nfunction _isEmpty2() {\n if (_classPrivateFieldGet(this, _allEditors).size === 0) {\n return true;\n }\n\n if (_classPrivateFieldGet(this, _allEditors).size === 1) {\n for (const editor of _classPrivateFieldGet(this, _allEditors).values()) {\n return editor.isEmpty();\n }\n }\n\n return false;\n}\n\nfunction _selectEditors2(editors) {\n _classPrivateFieldGet(this, _selectedEditors).clear();\n\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n\n _classPrivateFieldGet(this, _selectedEditors).add(editor);\n\n editor.select();\n }\n\n _classPrivateMethodGet(this, _dispatchUpdateStates, _dispatchUpdateStates2).call(this, {\n hasSelectedEditor: true\n });\n}\n\n_defineProperty(AnnotationEditorUIManager, \"_keyboardManager\", new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], AnnotationEditorUIManager.prototype.selectAll], [[\"ctrl+c\", \"mac+meta+c\"], AnnotationEditorUIManager.prototype.copy], [[\"ctrl+v\", \"mac+meta+v\"], AnnotationEditorUIManager.prototype.paste], [[\"ctrl+x\", \"mac+meta+x\"], AnnotationEditorUIManager.prototype.cut], [[\"ctrl+z\", \"mac+meta+z\"], AnnotationEditorUIManager.prototype.undo], [[\"ctrl+y\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], AnnotationEditorUIManager.prototype.redo], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\"], AnnotationEditorUIManager.prototype.delete], [[\"Escape\", \"mac+Escape\"], AnnotationEditorUIManager.prototype.unselectAll]]));\n\n/***/ }),\n/* 133 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = exports.AnnotationPrefix = void 0;\nexports.deprecated = deprecated;\nexports.getColorValues = getColorValues;\nexports.getCurrentTransform = getCurrentTransform;\nexports.getCurrentTransformInverse = getCurrentTransformInverse;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getRGB = getRGB;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\n\nvar _base_factory = __w_pdfjs_require__(134);\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nexports.AnnotationPrefix = AnnotationPrefix;\n\nclass PixelsPerInch {}\n\nexports.PixelsPerInch = PixelsPerInch;\n\n_defineProperty(PixelsPerInch, \"CSS\", 96.0);\n\n_defineProperty(PixelsPerInch, \"PDF\", 72.0);\n\n_defineProperty(PixelsPerInch, \"PDF_TO_CSS_UNITS\", PixelsPerInch.CSS / PixelsPerInch.PDF);\n\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor() {\n let {\n ownerDocument = globalThis.document\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n super();\n this._document = ownerDocument;\n }\n\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n\n}\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nasync function fetchData(url) {\n let asTypedArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n let data;\n\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (data) {\n resolve(data);\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n });\n}\n\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n\n}\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n\n}\n\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\n\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n\n}\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nclass PageViewport {\n constructor(_ref) {\n let {\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = _ref;\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n\n if (rotation < 0) {\n rotation += 360;\n }\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n clone() {\n let {\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n\n}\n\nexports.PageViewport = PageViewport;\n\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, type) {\n super(msg, \"RenderingCancelledException\");\n this.type = type;\n }\n\n}\n\nexports.RenderingCancelledException = RenderingCancelledException;\n\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\n\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nfunction getPdfFilenameFromUrl(url) {\n let defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"document.pdf\";\n\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n\n toString() {\n const outBuf = [];\n let longest = 0;\n\n for (const time of this.times) {\n const name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n\n return outBuf.join(\"\");\n }\n\n}\n\nexports.StatTimer = StatTimer;\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n let removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n\n resolve(evt);\n };\n\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n\n (document.head || document.documentElement).append(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n const matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n\n}\n\nexports.PDFDateString = PDFDateString;\n\nfunction getXfaPageViewport(xfaPage, _ref2) {\n let {\n scale = 1,\n rotation = 0\n } = _ref2;\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\n\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n\n (0, _util.warn)(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\n\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n\n span.remove();\n}\n\nfunction getCurrentTransform(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform();\n return [a, b, c, d, e, f];\n}\n\nfunction getCurrentTransformInverse(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform().invertSelf();\n return [a, b, c, d, e, f];\n}\n\n/***/ }),\n/* 134 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n const canvas = this._createCanvas(width, height);\n\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n\n}\n\nexports.BaseCanvasFactory = BaseCanvasFactory;\n\nclass BaseCMapReaderFactory {\n constructor(_ref) {\n let {\n baseUrl = null,\n isCompressed = false\n } = _ref;\n\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch(_ref2) {\n let {\n name\n } = _ref2;\n\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n\n}\n\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\n\nclass BaseStandardFontDataFactory {\n constructor(_ref3) {\n let {\n baseUrl = null\n } = _ref3;\n\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n\n this.baseUrl = baseUrl;\n }\n\n async fetch(_ref4) {\n let {\n filename\n } = _ref4;\n\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n\n}\n\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\n\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n\n create(width, height) {\n let skipDimensions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n\n const svg = this._createSVG(\"svg:svg\");\n\n svg.setAttribute(\"version\", \"1.1\");\n\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n\n return this._createSVG(type);\n }\n\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n\n}\n\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 135 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\n\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n\n update(input) {\n let data, length;\n\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n\n k1 = 0;\n\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n\n }\n\n this.h1 = h1;\n this.h2 = h2;\n }\n\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n const hex1 = (h1 >>> 0).toString(16),\n hex2 = (h2 >>> 0).toString(16);\n return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n }\n\n}\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 136 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nclass BaseFontLoader {\n constructor(_ref) {\n let {\n docId,\n onUnsupportedFeature,\n ownerDocument = globalThis.document,\n styleElement = null\n } = _ref;\n\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n\n this._document.fonts.add(nativeFontFace);\n }\n\n insertRule(rule) {\n let styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = this._document.createElement(\"style\");\n styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(styleElement);\n }\n\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n\n font.attached = true;\n\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n\n return;\n }\n\n const rule = font.createFontFaceRule();\n\n if (rule) {\n this.insertRule(rule);\n\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n\n this._prepareFontLoadEvent([rule], [font], request);\n });\n }\n }\n\n _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n\n get isFontLoadingAPISupported() {\n var _this$_document;\n\n const hasFonts = !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts);\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n\n get isSyncFontLoadingSupported() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n\n get _loadTestFont() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n\n}\n\nlet FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(params) {\n super(params);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n this.loadTestFontId = 0;\n }\n\n get isSyncFontLoadingSupported() {\n let supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n const context = this.loadingContext;\n const request = {\n id: `pdfjs-font-loading-${context.nextRequestId++}`,\n done: false,\n complete: completeRequest,\n callback\n };\n context.requests.push(request);\n return request;\n }\n\n get _loadTestFont() {\n const getLoadTestFont = function () {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n\n _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n let i, ii;\n\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const names = [];\n\n for (const font of fonts) {\n names.push(font.loadedName);\n }\n\n names.push(loadTestFontId);\n\n const div = this._document.createElement(\"div\");\n\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (const name of names) {\n const span = this._document.createElement(\"span\");\n\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n\n this._document.body.append(div);\n\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n\n };\n}\n\nclass FontFaceObject {\n constructor(translatedData, _ref2) {\n let {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature,\n fontRegistry = null\n } = _ref2;\n this.compiledGlyphs = Object.create(null);\n\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n let nativeFontFace;\n\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n let cmds;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n\n}\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 137 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _pattern_helper = __w_pdfjs_require__(138);\n\nvar _image_utils = __w_pdfjs_require__(139);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError(\"attempted to get private field on non-instance\"); } return fn; }\n\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst MAX_SIZE_TO_COMPILE = _is_node.isNodeJS && typeof Path2D === \"undefined\" ? -1 : 1000;\nconst FULL_CHUNK_HEIGHT = 16;\n\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n\n ctx.save = function ctxSave() {\n destCtx.save();\n\n this.__originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n\n this.__originalRestore();\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n\n this.__originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n\n this.__originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n\n this.__originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n\n this.__originalResetTransform();\n };\n\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n\n this.__originalRotate(angle);\n };\n\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n\n this.__originalClip(rule);\n };\n\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n\n this.__originalMoveTo(x, y);\n };\n\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n\n this.__originalLineTo(x, y);\n };\n\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n\n this.__originalRect(x, y, width, height);\n };\n\n ctx.closePath = function () {\n destCtx.closePath();\n\n this.__originalClosePath();\n };\n\n ctx.beginPath = function () {\n destCtx.beginPath();\n\n this.__originalBeginPath();\n };\n}\n\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n getCanvas(id, width, height) {\n let canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n return canvasEntry;\n }\n\n delete(id) {\n delete this.cache[id];\n }\n\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n\n}\n\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx);\n\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\n\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n\n if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n\n for (const elem of imgData.data) {\n let mask = 128;\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n let count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n const path = new Path2D();\n\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n path.moveTo(p % width1, i);\n const p0 = p;\n let type = points[p];\n\n do {\n const step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n const pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n path.lineTo(p % width1, p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n --i;\n }\n\n data = null;\n points = null;\n\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.fill(path);\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = null;\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n\n this.updateRectMinMax(transform, box);\n }\n\n getPathBoundingBox() {\n let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL;\n let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n\n return box;\n }\n\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n\n isEmptyClip() {\n return this.minX === Infinity;\n }\n\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n\n getClippedPathBoundingBox() {\n let pathType = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _pattern_helper.PathType.FILL;\n let transform = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n\n}\n\nfunction putBinaryImageData(ctx, imgData) {\n let transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n let transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;\n\n if (transferMaps) {\n switch (transferMaps.length) {\n case 1:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[0];\n transferMapBlue = transferMaps[0];\n transferMapGray = transferMaps[0];\n break;\n\n case 4:\n transferMapRed = transferMaps[0];\n transferMapGreen = transferMaps[1];\n transferMapBlue = transferMaps[2];\n transferMapGray = transferMaps[3];\n break;\n }\n }\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n let white = 0xffffffff;\n let black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n\n if (transferMapGray) {\n if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {\n [white, black] = [black, white];\n }\n }\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n\n if (hasTransferMaps) {\n for (let k = 0; k < elemsInThisChunk; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n const hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n if (hasTransferMaps) {\n for (let k = 0; k < destPos; k += 4) {\n if (transferMapRed) {\n dest[k + 0] = transferMapRed[dest[k + 0]];\n }\n\n if (transferMapGreen) {\n dest[k + 1] = transferMapGreen[dest[k + 1]];\n }\n\n if (transferMapBlue) {\n dest[k + 2] = transferMapBlue[dest[k + 2]];\n }\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\n\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.applyMaskImageData)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\n\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (let i = 0, ii = properties.length; i < ii; i++) {\n const property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\n\nfunction resetCtxToDefault(ctx, foregroundColor) {\n ctx.strokeStyle = ctx.fillStyle = foregroundColor || \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n}\n\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\n\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\n\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\n\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n let composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\n\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\n\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n\n return false;\n}\n\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\n\nvar _restoreInitialState = /*#__PURE__*/new WeakSet();\n\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, imageLayer, optionalContentConfig, annotationCanvasMap, pageColors) {\n _classPrivateMethodInitSpec(this, _restoreInitialState);\n\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.backgroundColor = (pageColors === null || pageColors === void 0 ? void 0 : pageColors.background) || null;\n this.foregroundColor = (pageColors === null || pageColors === void 0 ? void 0 : pageColors.foreground) || null;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n\n getObject(data) {\n let fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n\n return fallback;\n }\n\n beginDrawing(_ref) {\n let {\n transform,\n viewport,\n transparency = false,\n background = null\n } = _ref;\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const defaultBackgroundColor = background || \"#ffffff\";\n this.ctx.save();\n\n if (this.foregroundColor && this.backgroundColor) {\n this.ctx.fillStyle = this.foregroundColor;\n const fg = this.foregroundColor = this.ctx.fillStyle;\n this.ctx.fillStyle = this.backgroundColor;\n const bg = this.backgroundColor = this.ctx.fillStyle;\n let isValidDefaultBg = true;\n let defaultBg = defaultBackgroundColor;\n this.ctx.fillStyle = defaultBackgroundColor;\n defaultBg = this.ctx.fillStyle;\n isValidDefaultBg = typeof defaultBg === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(defaultBg);\n\n if (fg === \"#000000\" && bg === \"#ffffff\" || fg === bg || !isValidDefaultBg) {\n this.foregroundColor = this.backgroundColor = null;\n } else {\n const [rB, gB, bB] = (0, _display_utils.getRGB)(defaultBg);\n\n const newComp = x => {\n x /= 255;\n return x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n };\n\n const lumB = Math.round(0.2126 * newComp(rB) + 0.7152 * newComp(gB) + 0.0722 * newComp(bB));\n\n this.selectColor = (r, g, b) => {\n const lumC = 0.2126 * newComp(r) + 0.7152 * newComp(g) + 0.0722 * newComp(b);\n return Math.round(lumC) === lumB ? bg : fg;\n };\n }\n }\n\n this.ctx.fillStyle = this.backgroundColor || defaultBackgroundColor;\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx));\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx, this.foregroundColor);\n\n if (transform) {\n this.ctx.transform(...transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n\n this.ctx.transform(...viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n\n if (this.imageLayer) {\n (0, _display_utils.deprecated)(\"The `imageLayer` functionality will be removed in the future.\");\n this.imageLayer.beginLayout();\n }\n }\n\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n }\n\n endDrawing() {\n _classPrivateMethodGet(this, _restoreInitialState, _restoreInitialState2).call(this);\n\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n\n cache.clear();\n }\n\n this._cachedBitmapsMap.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n }\n\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n let cache, cacheKey, scaled, maskCanvas;\n\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n const withoutTranslation = currentTransform.slice(0, 4);\n cacheKey = JSON.stringify(isPatternFill ? withoutTranslation : [withoutTranslation, fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n\n if (!cache) {\n cache = new Map();\n\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n\n const cachedImage = cache.get(cacheKey);\n\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n\n scaled = cachedImage;\n }\n\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n putBinaryImageMask(maskCanvas.context, img);\n }\n\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform(...maskToCanvas);\n\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx));\n scaled = scaled.img;\n\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n\n const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);\n\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking = null;\n }\n\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (let i = 0, ii = states.length; i < ii; i++) {\n const state = states[i];\n const key = state[0];\n const value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n\n case \"TR\":\n this.current.transferMaps = value;\n }\n }\n }\n\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx));\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n\n this.ctx._removeMirroring();\n\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n\n ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n\n break;\n\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n\n current.setCurrentPoint(x, y);\n }\n\n closePath() {\n this.ctx.closePath();\n }\n\n stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n\n const intersect = this.current.getClippedPathBoundingBox();\n\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n\n endPath() {\n this.consumePath();\n }\n\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (const path of paths) {\n ctx.setTransform(...path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n const name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n const typeface = `\"${name}\", ${fontObj.fallbackName}`;\n let browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform(...patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: (0, _display_utils.getCurrentTransform)(ctx),\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n let patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n patternTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n let x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n this.compose();\n return undefined;\n }\n\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform(...fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n }\n\n setCharWidth(xWidth, yWidth) {}\n\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n\n getColorN_Pattern(IR) {\n let pattern;\n\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx);\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n\n return pattern;\n }\n\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n\n setStrokeRGBColor(r, g, b) {\n var _this$selectColor;\n\n const color = ((_this$selectColor = this.selectColor) === null || _this$selectColor === void 0 ? void 0 : _this$selectColor.call(this, r, g, b)) || _util.Util.makeHexColor(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n\n setFillRGBColor(r, g, b) {\n var _this$selectColor2;\n\n const color = ((_this$selectColor2 = this.selectColor) === null || _this$selectColor2 === void 0 ? void 0 : _this$selectColor2.call(this, r, g, b)) || _util.Util.makeHexColor(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n\n _getPattern(objId) {\n let matrix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n let pattern;\n\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.objs.get(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n\n if (matrix) {\n pattern.matrix = matrix;\n }\n\n return pattern;\n }\n\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n this.save();\n\n const pattern = this._getPattern(objId);\n\n ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING);\n const inv = (0, _display_utils.getCurrentTransformInverse)(ctx);\n\n if (inv) {\n const canvas = ctx.canvas;\n const width = canvas.width;\n const height = canvas.height;\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(...matrix);\n }\n\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox);\n this.clip();\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.save();\n\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n\n const currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx);\n\n if (group.matrix) {\n currentCtx.transform(...group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx));\n\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform(...currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx);\n this.restore();\n this.ctx.save();\n this.ctx.setTransform(...currentMtx);\n\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n _classPrivateMethodGet(this, _restoreInitialState, _restoreInitialState2).call(this);\n\n resetCtxToDefault(this.ctx, this.foregroundColor);\n this.ctx.save();\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform(...this.baseTransform);\n }\n\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx));\n\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx, this.foregroundColor);\n } else {\n resetCtxToDefault(this.ctx, this.foregroundColor);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform(...transform);\n this.transform(...matrix);\n }\n\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n\n const mask = this._createMaskCanvas(img);\n\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n\n paintImageMaskXObjectRepeat(img, scaleX) {\n let skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n let skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let scaleY = arguments.length > 4 ? arguments[4] : undefined;\n let positions = arguments.length > 5 ? arguments[5] : undefined;\n\n if (!this.contentVisible) {\n return;\n }\n\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n\n const mask = this._createMaskCanvas(img);\n\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n\n ctx.drawImage(mask.canvas, x, y);\n }\n\n ctx.restore();\n this.compose();\n }\n\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform(...transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n\n this.compose();\n }\n\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n\n const imgData = this.getObject(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n\n const imgData = this.getObject(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n imgToPaint = tmpCanvas.canvas;\n }\n\n const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx));\n\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate);\n const [rWidth, rHeight] = drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n const [left, top] = _util.Util.applyTransform([0, -height], (0, _display_utils.getCurrentTransform)(this.ctx));\n\n this.imageLayer.appendImage({\n imgData,\n left,\n top,\n width: rWidth,\n height: rHeight\n });\n }\n\n this.compose();\n this.restore();\n }\n\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n\n const ctx = this.ctx;\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);\n\n for (const entry of map) {\n ctx.save();\n ctx.transform(...entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n const [left, top] = _util.Util.applyTransform([entry.x, entry.y], (0, _display_utils.getCurrentTransform)(this.ctx));\n\n this.imageLayer.appendImage({\n imgData,\n left,\n top,\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n\n this.compose();\n }\n\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n\n markPoint(tag) {}\n\n markPointProps(tag, properties) {}\n\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n\n this.contentVisible = this.isContentVisible();\n }\n\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n\n beginCompat() {}\n\n endCompat() {}\n\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n\n const ctx = this.ctx;\n\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n\n this.pendingClip = null;\n }\n\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n\n return this._cachedGetSinglePixelWidth;\n }\n\n getScaleForStroking() {\n if (!this._cachedScaleForStroking) {\n const {\n lineWidth\n } = this.current;\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n let scaleX, scaleY;\n\n if (m[1] === 0 && m[2] === 0) {\n const normX = Math.abs(m[0]);\n const normY = Math.abs(m[3]);\n\n if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[1]);\n const normY = Math.hypot(m[2], m[3]);\n\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n\n this._cachedScaleForStroking = [scaleX, scaleY];\n }\n\n return this._cachedScaleForStroking;\n }\n\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n\n let savedMatrix, savedDashes, savedDashOffset;\n\n if (saveRestore) {\n savedMatrix = (0, _display_utils.getCurrentTransform)(ctx);\n savedDashes = ctx.getLineDash().slice();\n savedDashOffset = ctx.lineDashOffset;\n }\n\n ctx.scale(scaleX, scaleY);\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(ctx.getLineDash().map(x => x / scale));\n ctx.lineDashOffset /= scale;\n ctx.stroke();\n\n if (saveRestore) {\n ctx.setTransform(...savedMatrix);\n ctx.setLineDash(savedDashes);\n ctx.lineDashOffset = savedDashOffset;\n }\n }\n\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n\n return true;\n }\n\n}\n\nexports.CanvasGraphics = CanvasGraphics;\n\nfunction _restoreInitialState2() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n}\n\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 138 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || _is_node.isNodeJS) {\n return;\n }\n\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n\n}\n\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n\n _createGradient(ctx) {\n let grad;\n\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n\n return grad;\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform(...owner.baseTransform);\n\n if (this.matrix) {\n tmpCtx.transform(...this.matrix);\n }\n\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(`RadialAxialShadingPattern.getPattern: \"${ex === null || ex === void 0 ? void 0 : ex.message}\".`);\n }\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n\n return pattern;\n }\n\n}\n\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n\n if (y < y1) {\n k = 0;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n let k;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\n\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n}\n\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n const bytes = data.data;\n\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx));\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n\n if (pathType !== PathType.SHADING) {\n ctx.setTransform(...owner.baseTransform);\n\n if (this.matrix) {\n ctx.transform(...this.matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n\n}\n\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n\n}\n\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\n\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\n\nclass TilingPattern {\n static get MAX_PATTERN_SIZE() {\n return (0, _util.shadow)(this, \"MAX_PATTERN_SIZE\", 3000);\n }\n\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx);\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale,\n size\n };\n }\n\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n\n try {\n pattern.setTransform(domMatrix);\n } catch (ex) {\n (0, _util.warn)(`TilingPattern.getPattern: \"${ex === null || ex === void 0 ? void 0 : ex.message}\".`);\n }\n\n return pattern;\n }\n\n}\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 139 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.applyMaskImageData = applyMaskImageData;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction applyMaskImageData(_ref) {\n let {\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height,\n inverseDecode = false\n } = _ref;\n const opaque = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = !inverseDecode ? [opaque, 0] : [0, opaque];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n\n if (widthRemainder === 0) {\n continue;\n }\n\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n\n return {\n srcPos,\n destPos\n };\n}\n\n/***/ }),\n/* 140 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 141 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = event => {\n const data = event.data;\n\n if (data.targetName !== this.sourceName) {\n return;\n }\n\n if (data.stream) {\n this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n\n delete this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n const action = this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n const ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n\n ah[actionName] = handler;\n }\n\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n\n _createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk) {\n let size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n let transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n if (this.isCancelled) {\n return;\n }\n\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n\n _processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull && streamSink.onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n\n if (streamController.isClosed) {\n break;\n }\n\n streamController.isClosed = true;\n streamController.controller.close();\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamController, streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n\n new Promise(function (resolve) {\n resolve(streamSink.onCancel && streamSink.onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n async _deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall && streamController.startCall.promise, streamController.pullCall && streamController.pullCall.promise, streamController.cancelCall && streamController.cancelCall.promise]);\n delete this.streamControllers[streamId];\n }\n\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n\n}\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 142 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nvar _metadataMap = /*#__PURE__*/new WeakMap();\n\nvar _data = /*#__PURE__*/new WeakMap();\n\nclass Metadata {\n constructor(_ref) {\n let {\n parsedData,\n rawData\n } = _ref;\n\n _classPrivateFieldInitSpec(this, _metadataMap, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _data, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldSet(this, _metadataMap, parsedData);\n\n _classPrivateFieldSet(this, _data, rawData);\n }\n\n getRaw() {\n return _classPrivateFieldGet(this, _data);\n }\n\n get(name) {\n var _classPrivateFieldGet2;\n\n return (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _metadataMap).get(name)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : null;\n }\n\n getAll() {\n return (0, _util.objectFromMap)(_classPrivateFieldGet(this, _metadataMap));\n }\n\n has(name) {\n return _classPrivateFieldGet(this, _metadataMap).has(name);\n }\n\n}\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 143 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError(\"attempted to get private field on non-instance\"); } return fn; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nconst INTERNAL = Symbol(\"INTERNAL\");\n\nvar _visible = /*#__PURE__*/new WeakMap();\n\nclass OptionalContentGroup {\n constructor(name, intent) {\n _classPrivateFieldInitSpec(this, _visible, {\n writable: true,\n value: true\n });\n\n this.name = name;\n this.intent = intent;\n }\n\n get visible() {\n return _classPrivateFieldGet(this, _visible);\n }\n\n _setVisible(internal, visible) {\n if (internal !== INTERNAL) {\n (0, _util.unreachable)(\"Internal method `_setVisible` called.\");\n }\n\n _classPrivateFieldSet(this, _visible, visible);\n }\n\n}\n\nvar _cachedHasInitialVisibility = /*#__PURE__*/new WeakMap();\n\nvar _groups = /*#__PURE__*/new WeakMap();\n\nvar _initialVisibility = /*#__PURE__*/new WeakMap();\n\nvar _order = /*#__PURE__*/new WeakMap();\n\nvar _evaluateVisibilityExpression = /*#__PURE__*/new WeakSet();\n\nclass OptionalContentConfig {\n constructor(data) {\n _classPrivateMethodInitSpec(this, _evaluateVisibilityExpression);\n\n _classPrivateFieldInitSpec(this, _cachedHasInitialVisibility, {\n writable: true,\n value: true\n });\n\n _classPrivateFieldInitSpec(this, _groups, {\n writable: true,\n value: new Map()\n });\n\n _classPrivateFieldInitSpec(this, _initialVisibility, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldInitSpec(this, _order, {\n writable: true,\n value: null\n });\n\n this.name = null;\n this.creator = null;\n\n if (data === null) {\n return;\n }\n\n this.name = data.name;\n this.creator = data.creator;\n\n _classPrivateFieldSet(this, _order, data.order);\n\n for (const group of data.groups) {\n _classPrivateFieldGet(this, _groups).set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n\n if (data.baseState === \"OFF\") {\n for (const group of _classPrivateFieldGet(this, _groups).values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n\n for (const on of data.on) {\n _classPrivateFieldGet(this, _groups).get(on)._setVisible(INTERNAL, true);\n }\n\n for (const off of data.off) {\n _classPrivateFieldGet(this, _groups).get(off)._setVisible(INTERNAL, false);\n }\n\n _classPrivateFieldSet(this, _initialVisibility, new Map());\n\n for (const [id, group] of _classPrivateFieldGet(this, _groups)) {\n _classPrivateFieldGet(this, _initialVisibility).set(id, group.visible);\n }\n }\n\n isVisible(group) {\n if (_classPrivateFieldGet(this, _groups).size === 0) {\n return true;\n }\n\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n\n if (group.type === \"OCG\") {\n if (!_classPrivateFieldGet(this, _groups).has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n\n return _classPrivateFieldGet(this, _groups).get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return _classPrivateMethodGet(this, _evaluateVisibilityExpression, _evaluateVisibilityExpression2).call(this, group.expression);\n }\n\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!_classPrivateFieldGet(this, _groups).has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (_classPrivateFieldGet(this, _groups).get(id).visible) {\n return true;\n }\n }\n\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!_classPrivateFieldGet(this, _groups).has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (!_classPrivateFieldGet(this, _groups).get(id).visible) {\n return false;\n }\n }\n\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!_classPrivateFieldGet(this, _groups).has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (!_classPrivateFieldGet(this, _groups).get(id).visible) {\n return true;\n }\n }\n\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!_classPrivateFieldGet(this, _groups).has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n\n if (_classPrivateFieldGet(this, _groups).get(id).visible) {\n return false;\n }\n }\n\n return true;\n }\n\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n\n setVisibility(id) {\n let visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (!_classPrivateFieldGet(this, _groups).has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n\n _classPrivateFieldGet(this, _groups).get(id)._setVisible(INTERNAL, !!visible);\n\n _classPrivateFieldSet(this, _cachedHasInitialVisibility, null);\n }\n\n get hasInitialVisibility() {\n if (_classPrivateFieldGet(this, _cachedHasInitialVisibility) !== null) {\n return _classPrivateFieldGet(this, _cachedHasInitialVisibility);\n }\n\n for (const [id, group] of _classPrivateFieldGet(this, _groups)) {\n const visible = _classPrivateFieldGet(this, _initialVisibility).get(id);\n\n if (group.visible !== visible) {\n return _classPrivateFieldSet(this, _cachedHasInitialVisibility, false);\n }\n }\n\n return _classPrivateFieldSet(this, _cachedHasInitialVisibility, true);\n }\n\n getOrder() {\n if (!_classPrivateFieldGet(this, _groups).size) {\n return null;\n }\n\n if (_classPrivateFieldGet(this, _order)) {\n return _classPrivateFieldGet(this, _order).slice();\n }\n\n return [..._classPrivateFieldGet(this, _groups).keys()];\n }\n\n getGroups() {\n return _classPrivateFieldGet(this, _groups).size > 0 ? (0, _util.objectFromMap)(_classPrivateFieldGet(this, _groups)) : null;\n }\n\n getGroup(id) {\n return _classPrivateFieldGet(this, _groups).get(id) || null;\n }\n\n}\n\nexports.OptionalContentConfig = OptionalContentConfig;\n\nfunction _evaluateVisibilityExpression2(array) {\n const length = array.length;\n\n if (length < 2) {\n return true;\n }\n\n const operator = array[0];\n\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n\n if (Array.isArray(element)) {\n state = _classPrivateMethodGet(this, _evaluateVisibilityExpression, _evaluateVisibilityExpression2).call(this, element);\n } else if (_classPrivateFieldGet(this, _groups).has(element)) {\n state = _classPrivateFieldGet(this, _groups).get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n\n break;\n\n case \"Or\":\n if (state) {\n return true;\n }\n\n break;\n\n case \"Not\":\n return !state;\n\n default:\n return true;\n }\n }\n\n return operator === \"And\";\n}\n\n/***/ }),\n/* 144 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nclass PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n this._contentDispositionFilename = params.contentDispositionFilename || null;\n const initialData = params.initialData;\n\n if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) {\n const buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n\n get _progressiveDataLength() {\n var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;\n }\n\n _onProgress(evt) {\n if (evt.total === undefined) {\n const firstReader = this._rangeReaders[0];\n\n if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n const fullReader = this._fullRequestReader;\n\n if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n\n this._pdfDataRangeTransport.abort();\n }\n\n}\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks) {\n let progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n let contentDispositionFilename = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n\n get contentLength() {\n return this._stream._contentLength;\n }\n\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n\n}\n\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n this._stream._removeRangeReader(this);\n }\n\n}\n\n/***/ }),\n/* 145 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\n\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n\n function walk(node) {\n var _node$attributes;\n\n if (!node) {\n return;\n }\n\n let str = null;\n const name = node.name;\n\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node !== null && node !== void 0 && (_node$attributes = node.attributes) !== null && _node$attributes !== void 0 && _node$attributes.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n\n if (str !== null) {\n items.push({\n str\n });\n }\n\n if (!node.children) {\n return;\n }\n\n for (const child of node.children) {\n walk(child);\n }\n }\n\n walk(xfa);\n return output;\n }\n\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n\n}\n\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 146 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\n\nvar _base_factory = __w_pdfjs_require__(134);\n\n;\n\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n\n resolve(new Uint8Array(data));\n });\n });\n};\n\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n\n return Canvas.createCanvas(width, height);\n }\n\n}\n\nexports.NodeCanvasFactory = NodeCanvasFactory;\n\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n\n}\n\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\n\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n\n}\n\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 147 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayer = void 0;\n\nvar _tools = __w_pdfjs_require__(132);\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _freetext = __w_pdfjs_require__(148);\n\nvar _ink = __w_pdfjs_require__(149);\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError(\"attempted to get private field on non-instance\"); } return fn; }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nvar _accessibilityManager = /*#__PURE__*/new WeakMap();\n\nvar _allowClick = /*#__PURE__*/new WeakMap();\n\nvar _boundPointerup = /*#__PURE__*/new WeakMap();\n\nvar _boundPointerdown = /*#__PURE__*/new WeakMap();\n\nvar _editors = /*#__PURE__*/new WeakMap();\n\nvar _hadPointerDown = /*#__PURE__*/new WeakMap();\n\nvar _isCleaningUp = /*#__PURE__*/new WeakMap();\n\nvar _uiManager = /*#__PURE__*/new WeakMap();\n\nvar _changeParent = /*#__PURE__*/new WeakSet();\n\nvar _createNewEditor = /*#__PURE__*/new WeakSet();\n\nvar _createAndAddNewEditor = /*#__PURE__*/new WeakSet();\n\nvar _cleanup = /*#__PURE__*/new WeakSet();\n\nclass AnnotationEditorLayer {\n constructor(options) {\n _classPrivateMethodInitSpec(this, _cleanup);\n\n _classPrivateMethodInitSpec(this, _createAndAddNewEditor);\n\n _classPrivateMethodInitSpec(this, _createNewEditor);\n\n _classPrivateMethodInitSpec(this, _changeParent);\n\n _classPrivateFieldInitSpec(this, _accessibilityManager, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _allowClick, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _boundPointerup, {\n writable: true,\n value: this.pointerup.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundPointerdown, {\n writable: true,\n value: this.pointerdown.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _editors, {\n writable: true,\n value: new Map()\n });\n\n _classPrivateFieldInitSpec(this, _hadPointerDown, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _isCleaningUp, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _uiManager, {\n writable: true,\n value: void 0\n });\n\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n\n _freetext.FreeTextEditor.initialize(options.l10n);\n\n _ink.InkEditor.initialize(options.l10n);\n\n options.uiManager.registerEditorTypes([_freetext.FreeTextEditor, _ink.InkEditor]);\n }\n\n _classPrivateFieldSet(this, _uiManager, options.uiManager);\n\n this.annotationStorage = options.annotationStorage;\n this.pageIndex = options.pageIndex;\n this.div = options.div;\n\n _classPrivateFieldSet(this, _accessibilityManager, options.accessibilityManager);\n\n _classPrivateFieldGet(this, _uiManager).addLayer(this);\n }\n\n updateToolbar(mode) {\n _classPrivateFieldGet(this, _uiManager).updateToolbar(mode);\n }\n\n updateMode() {\n let mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _classPrivateFieldGet(this, _uiManager).getMode();\n\n _classPrivateMethodGet(this, _cleanup, _cleanup2).call(this);\n\n if (mode === _util.AnnotationEditorType.INK) {\n this.addInkEditorIfNeeded(false);\n this.disableClick();\n } else {\n this.enableClick();\n }\n\n _classPrivateFieldGet(this, _uiManager).unselectAll();\n }\n\n addInkEditorIfNeeded(isCommitting) {\n if (!isCommitting && _classPrivateFieldGet(this, _uiManager).getMode() !== _util.AnnotationEditorType.INK) {\n return;\n }\n\n if (!isCommitting) {\n for (const editor of _classPrivateFieldGet(this, _editors).values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n\n const editor = _classPrivateMethodGet(this, _createAndAddNewEditor, _createAndAddNewEditor2).call(this, {\n offsetX: 0,\n offsetY: 0\n });\n\n editor.setInBackground();\n }\n\n setEditingState(isEditing) {\n _classPrivateFieldGet(this, _uiManager).setEditingState(isEditing);\n }\n\n addCommands(params) {\n _classPrivateFieldGet(this, _uiManager).addCommands(params);\n }\n\n enable() {\n this.div.style.pointerEvents = \"auto\";\n\n for (const editor of _classPrivateFieldGet(this, _editors).values()) {\n editor.enableEditing();\n }\n }\n\n disable() {\n this.div.style.pointerEvents = \"none\";\n\n for (const editor of _classPrivateFieldGet(this, _editors).values()) {\n editor.disableEditing();\n }\n }\n\n setActiveEditor(editor) {\n const currentActive = _classPrivateFieldGet(this, _uiManager).getActive();\n\n if (currentActive === editor) {\n return;\n }\n\n _classPrivateFieldGet(this, _uiManager).setActiveEditor(editor);\n }\n\n enableClick() {\n this.div.addEventListener(\"pointerdown\", _classPrivateFieldGet(this, _boundPointerdown));\n this.div.addEventListener(\"pointerup\", _classPrivateFieldGet(this, _boundPointerup));\n }\n\n disableClick() {\n this.div.removeEventListener(\"pointerdown\", _classPrivateFieldGet(this, _boundPointerdown));\n this.div.removeEventListener(\"pointerup\", _classPrivateFieldGet(this, _boundPointerup));\n }\n\n attach(editor) {\n _classPrivateFieldGet(this, _editors).set(editor.id, editor);\n }\n\n detach(editor) {\n var _classPrivateFieldGet2;\n\n _classPrivateFieldGet(this, _editors).delete(editor.id);\n\n (_classPrivateFieldGet2 = _classPrivateFieldGet(this, _accessibilityManager)) === null || _classPrivateFieldGet2 === void 0 ? void 0 : _classPrivateFieldGet2.removePointerInTextLayer(editor.contentDiv);\n }\n\n remove(editor) {\n _classPrivateFieldGet(this, _uiManager).removeEditor(editor);\n\n this.detach(editor);\n this.annotationStorage.remove(editor.id);\n editor.div.style.display = \"none\";\n setTimeout(() => {\n editor.div.style.display = \"\";\n editor.div.remove();\n editor.isAttachedToDOM = false;\n\n if (document.activeElement === document.body) {\n _classPrivateFieldGet(this, _uiManager).focusMainContainer();\n }\n }, 0);\n\n if (!_classPrivateFieldGet(this, _isCleaningUp)) {\n this.addInkEditorIfNeeded(false);\n }\n }\n\n add(editor) {\n _classPrivateMethodGet(this, _changeParent, _changeParent2).call(this, editor);\n\n _classPrivateFieldGet(this, _uiManager).addEditor(editor);\n\n this.attach(editor);\n\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n\n this.moveEditorInDOM(editor);\n editor.onceAdded();\n this.addToAnnotationStorage(editor);\n }\n\n moveEditorInDOM(editor) {\n var _classPrivateFieldGet3;\n\n (_classPrivateFieldGet3 = _classPrivateFieldGet(this, _accessibilityManager)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);\n }\n\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && !this.annotationStorage.has(editor.id)) {\n this.annotationStorage.setValue(editor.id, editor);\n }\n }\n\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.rebuild();\n } else {\n this.add(editor);\n }\n }\n\n addANewEditor(editor) {\n const cmd = () => {\n this.addOrRebuild(editor);\n };\n\n const undo = () => {\n editor.remove();\n };\n\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n\n addUndoableEditor(editor) {\n const cmd = () => {\n this.addOrRebuild(editor);\n };\n\n const undo = () => {\n editor.remove();\n };\n\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n\n getNextId() {\n return _classPrivateFieldGet(this, _uiManager).getId();\n }\n\n deserialize(data) {\n switch (data.annotationType) {\n case _util.AnnotationEditorType.FREETEXT:\n return _freetext.FreeTextEditor.deserialize(data, this);\n\n case _util.AnnotationEditorType.INK:\n return _ink.InkEditor.deserialize(data, this);\n }\n\n return null;\n }\n\n setSelected(editor) {\n _classPrivateFieldGet(this, _uiManager).setSelected(editor);\n }\n\n toggleSelected(editor) {\n _classPrivateFieldGet(this, _uiManager).toggleSelected(editor);\n }\n\n isSelected(editor) {\n return _classPrivateFieldGet(this, _uiManager).isSelected(editor);\n }\n\n unselect(editor) {\n _classPrivateFieldGet(this, _uiManager).unselect(editor);\n }\n\n pointerup(event) {\n const isMac = _tools.KeyboardManager.platform.isMac;\n\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n\n if (event.target !== this.div) {\n return;\n }\n\n if (!_classPrivateFieldGet(this, _hadPointerDown)) {\n return;\n }\n\n _classPrivateFieldSet(this, _hadPointerDown, false);\n\n if (!_classPrivateFieldGet(this, _allowClick)) {\n _classPrivateFieldSet(this, _allowClick, true);\n\n return;\n }\n\n _classPrivateMethodGet(this, _createAndAddNewEditor, _createAndAddNewEditor2).call(this, event);\n }\n\n pointerdown(event) {\n const isMac = _tools.KeyboardManager.platform.isMac;\n\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n\n if (event.target !== this.div) {\n return;\n }\n\n _classPrivateFieldSet(this, _hadPointerDown, true);\n\n const editor = _classPrivateFieldGet(this, _uiManager).getActive();\n\n _classPrivateFieldSet(this, _allowClick, !editor || editor.isEmpty());\n }\n\n drop(event) {\n const id = event.dataTransfer.getData(\"text/plain\");\n\n const editor = _classPrivateFieldGet(this, _uiManager).getEditor(id);\n\n if (!editor) {\n return;\n }\n\n event.preventDefault();\n event.dataTransfer.dropEffect = \"move\";\n\n _classPrivateMethodGet(this, _changeParent, _changeParent2).call(this, editor);\n\n const rect = this.div.getBoundingClientRect();\n const endX = event.clientX - rect.x;\n const endY = event.clientY - rect.y;\n editor.translate(endX - editor.startX, endY - editor.startY);\n this.moveEditorInDOM(editor);\n editor.div.focus();\n }\n\n dragover(event) {\n event.preventDefault();\n }\n\n destroy() {\n var _classPrivateFieldGet4;\n\n if (((_classPrivateFieldGet4 = _classPrivateFieldGet(this, _uiManager).getActive()) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.parent) === this) {\n _classPrivateFieldGet(this, _uiManager).setActiveEditor(null);\n }\n\n for (const editor of _classPrivateFieldGet(this, _editors).values()) {\n var _classPrivateFieldGet5;\n\n (_classPrivateFieldGet5 = _classPrivateFieldGet(this, _accessibilityManager)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.removePointerInTextLayer(editor.contentDiv);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n editor.parent = null;\n }\n\n this.div = null;\n\n _classPrivateFieldGet(this, _editors).clear();\n\n _classPrivateFieldGet(this, _uiManager).removeLayer(this);\n }\n\n render(parameters) {\n this.viewport = parameters.viewport;\n (0, _tools.bindEvents)(this, this.div, [\"dragover\", \"drop\"]);\n this.setDimensions();\n\n for (const editor of _classPrivateFieldGet(this, _uiManager).getEditors(this.pageIndex)) {\n this.add(editor);\n }\n\n this.updateMode();\n }\n\n update(parameters) {\n this.viewport = parameters.viewport;\n this.setDimensions();\n this.updateMode();\n }\n\n get scaleFactor() {\n return this.viewport.scale;\n }\n\n get pageDimensions() {\n const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox;\n const width = pageURx - pageLLx;\n const height = pageURy - pageLLy;\n return [width, height];\n }\n\n get viewportBaseDimensions() {\n const {\n width,\n height,\n rotation\n } = this.viewport;\n return rotation % 180 === 0 ? [width, height] : [height, width];\n }\n\n setDimensions() {\n const {\n width,\n height,\n rotation\n } = this.viewport;\n const flipOrientation = rotation % 180 !== 0,\n widthStr = Math.floor(width) + \"px\",\n heightStr = Math.floor(height) + \"px\";\n this.div.style.width = flipOrientation ? heightStr : widthStr;\n this.div.style.height = flipOrientation ? widthStr : heightStr;\n this.div.setAttribute(\"data-main-rotation\", rotation);\n }\n\n}\n\nexports.AnnotationEditorLayer = AnnotationEditorLayer;\n\nfunction _changeParent2(editor) {\n var _editor$parent;\n\n if (editor.parent === this) {\n return;\n }\n\n this.attach(editor);\n editor.pageIndex = this.pageIndex;\n (_editor$parent = editor.parent) === null || _editor$parent === void 0 ? void 0 : _editor$parent.detach(editor);\n editor.parent = this;\n\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n}\n\nfunction _createNewEditor2(params) {\n switch (_classPrivateFieldGet(this, _uiManager).getMode()) {\n case _util.AnnotationEditorType.FREETEXT:\n return new _freetext.FreeTextEditor(params);\n\n case _util.AnnotationEditorType.INK:\n return new _ink.InkEditor(params);\n }\n\n return null;\n}\n\nfunction _createAndAddNewEditor2(event) {\n const id = this.getNextId();\n\n const editor = _classPrivateMethodGet(this, _createNewEditor, _createNewEditor2).call(this, {\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY\n });\n\n if (editor) {\n this.add(editor);\n }\n\n return editor;\n}\n\nfunction _cleanup2() {\n _classPrivateFieldSet(this, _isCleaningUp, true);\n\n for (const editor of _classPrivateFieldGet(this, _editors).values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n\n _classPrivateFieldSet(this, _isCleaningUp, false);\n}\n\n_defineProperty(AnnotationEditorLayer, \"_initialized\", false);\n\n/***/ }),\n/* 148 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FreeTextEditor = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _tools = __w_pdfjs_require__(132);\n\nvar _editor = __w_pdfjs_require__(131);\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError(\"attempted to get private field on non-instance\"); } return fn; }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nvar _boundEditorDivBlur = /*#__PURE__*/new WeakMap();\n\nvar _boundEditorDivFocus = /*#__PURE__*/new WeakMap();\n\nvar _boundEditorDivKeydown = /*#__PURE__*/new WeakMap();\n\nvar _color = /*#__PURE__*/new WeakMap();\n\nvar _content = /*#__PURE__*/new WeakMap();\n\nvar _hasAlreadyBeenCommitted = /*#__PURE__*/new WeakMap();\n\nvar _fontSize = /*#__PURE__*/new WeakMap();\n\nvar _updateFontSize = /*#__PURE__*/new WeakSet();\n\nvar _updateColor = /*#__PURE__*/new WeakSet();\n\nvar _extractText = /*#__PURE__*/new WeakSet();\n\nvar _setEditorDimensions = /*#__PURE__*/new WeakSet();\n\nclass FreeTextEditor extends _editor.AnnotationEditor {\n constructor(params) {\n super({ ...params,\n name: \"freeTextEditor\"\n });\n\n _classPrivateMethodInitSpec(this, _setEditorDimensions);\n\n _classPrivateMethodInitSpec(this, _extractText);\n\n _classPrivateMethodInitSpec(this, _updateColor);\n\n _classPrivateMethodInitSpec(this, _updateFontSize);\n\n _classPrivateFieldInitSpec(this, _boundEditorDivBlur, {\n writable: true,\n value: this.editorDivBlur.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundEditorDivFocus, {\n writable: true,\n value: this.editorDivFocus.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundEditorDivKeydown, {\n writable: true,\n value: this.editorDivKeydown.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _color, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldInitSpec(this, _content, {\n writable: true,\n value: \"\"\n });\n\n _classPrivateFieldInitSpec(this, _hasAlreadyBeenCommitted, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _fontSize, {\n writable: true,\n value: void 0\n });\n\n _classPrivateFieldSet(this, _color, params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor);\n\n _classPrivateFieldSet(this, _fontSize, params.fontSize || FreeTextEditor._defaultFontSize);\n }\n\n static initialize(l10n) {\n this._l10nPromise = new Map([\"free_text_default_content\", \"editor_free_text_aria_label\"].map(str => [str, l10n.get(str)]));\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n _classPrivateMethodGet(this, _updateFontSize, _updateFontSize2).call(this, value);\n\n break;\n\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n _classPrivateMethodGet(this, _updateColor, _updateColor2).call(this, value);\n\n break;\n }\n }\n\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]];\n }\n\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, _classPrivateFieldGet(this, _fontSize)], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, _classPrivateFieldGet(this, _color)]];\n }\n\n getInitialTranslation() {\n return [-FreeTextEditor._internalPadding * this.parent.scaleFactor, -(FreeTextEditor._internalPadding + _classPrivateFieldGet(this, _fontSize)) * this.parent.scaleFactor];\n }\n\n rebuild() {\n super.rebuild();\n\n if (this.div === null) {\n return;\n }\n\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n\n this.parent.setEditingState(false);\n this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.enableEditing();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this.div.draggable = false;\n this.editorDiv.addEventListener(\"keydown\", _classPrivateFieldGet(this, _boundEditorDivKeydown));\n this.editorDiv.addEventListener(\"focus\", _classPrivateFieldGet(this, _boundEditorDivFocus));\n this.editorDiv.addEventListener(\"blur\", _classPrivateFieldGet(this, _boundEditorDivBlur));\n }\n\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.disableEditing();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.draggable = true;\n this.editorDiv.removeEventListener(\"keydown\", _classPrivateFieldGet(this, _boundEditorDivKeydown));\n this.editorDiv.removeEventListener(\"focus\", _classPrivateFieldGet(this, _boundEditorDivFocus));\n this.editorDiv.removeEventListener(\"blur\", _classPrivateFieldGet(this, _boundEditorDivBlur));\n this.div.focus();\n this.isEditing = false;\n }\n\n focusin(event) {\n super.focusin(event);\n\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n\n onceAdded() {\n if (this.width) {\n return;\n }\n\n this.enableEditMode();\n this.editorDiv.focus();\n }\n\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n\n remove() {\n this.isEditing = false;\n this.parent.setEditingState(true);\n super.remove();\n }\n\n commit() {\n super.commit();\n\n if (!_classPrivateFieldGet(this, _hasAlreadyBeenCommitted)) {\n _classPrivateFieldSet(this, _hasAlreadyBeenCommitted, true);\n\n this.parent.addUndoableEditor(this);\n }\n\n this.disableEditMode();\n\n _classPrivateFieldSet(this, _content, _classPrivateMethodGet(this, _extractText, _extractText2).call(this).trimEnd());\n\n _classPrivateMethodGet(this, _setEditorDimensions, _setEditorDimensions2).call(this);\n }\n\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n\n dblclick(event) {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n }\n\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n\n editorDivFocus(event) {\n this.isEditing = true;\n }\n\n editorDivBlur(event) {\n this.isEditing = false;\n }\n\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n\n render() {\n if (this.div) {\n return this.div;\n }\n\n let baseX, baseY;\n\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", `${this.id}-editor`);\n this.enableEditing();\n\n FreeTextEditor._l10nPromise.get(\"editor_free_text_aria_label\").then(msg => {\n var _this$editorDiv;\n\n return (_this$editorDiv = this.editorDiv) === null || _this$editorDiv === void 0 ? void 0 : _this$editorDiv.setAttribute(\"aria-label\", msg);\n });\n\n FreeTextEditor._l10nPromise.get(\"free_text_default_content\").then(msg => {\n var _this$editorDiv2;\n\n return (_this$editorDiv2 = this.editorDiv) === null || _this$editorDiv2 === void 0 ? void 0 : _this$editorDiv2.setAttribute(\"default-content\", msg);\n });\n\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${_classPrivateFieldGet(this, _fontSize)}px * var(--scale-factor))`;\n style.color = _classPrivateFieldGet(this, _color);\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n (0, _tools.bindEvents)(this, this.div, [\"dblclick\", \"keydown\"]);\n\n if (this.width) {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n\n for (const line of _classPrivateFieldGet(this, _content).split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n this.editorDiv.append(div);\n }\n\n this.div.draggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this.div.draggable = false;\n this.editorDiv.contentEditable = true;\n }\n\n return this.div;\n }\n\n get contentDiv() {\n return this.editorDiv;\n }\n\n static deserialize(data, parent) {\n const editor = super.deserialize(data, parent);\n\n _classPrivateFieldSet(editor, _fontSize, data.fontSize);\n\n _classPrivateFieldSet(editor, _color, _util.Util.makeHexColor(...data.color));\n\n _classPrivateFieldSet(editor, _content, data.value);\n\n return editor;\n }\n\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n\n const padding = FreeTextEditor._internalPadding * this.parent.scaleFactor;\n const rect = this.getRect(padding, padding);\n\n const color = _editor.AnnotationEditor._colorManager.convert(getComputedStyle(this.editorDiv).color);\n\n return {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color,\n fontSize: _classPrivateFieldGet(this, _fontSize),\n value: _classPrivateFieldGet(this, _content),\n pageIndex: this.parent.pageIndex,\n rect,\n rotation: this.rotation\n };\n }\n\n}\n\nexports.FreeTextEditor = FreeTextEditor;\n\nfunction _updateFontSize2(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - _classPrivateFieldGet(this, _fontSize)) * this.parent.scaleFactor);\n\n _classPrivateFieldSet(this, _fontSize, size);\n\n _classPrivateMethodGet(this, _setEditorDimensions, _setEditorDimensions2).call(this);\n };\n\n const savedFontsize = _classPrivateFieldGet(this, _fontSize);\n\n this.parent.addCommands({\n cmd: () => {\n setFontsize(fontSize);\n },\n undo: () => {\n setFontsize(savedFontsize);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n}\n\nfunction _updateColor2(color) {\n const savedColor = _classPrivateFieldGet(this, _color);\n\n this.parent.addCommands({\n cmd: () => {\n _classPrivateFieldSet(this, _color, color);\n\n this.editorDiv.style.color = color;\n },\n undo: () => {\n _classPrivateFieldSet(this, _color, savedColor);\n\n this.editorDiv.style.color = savedColor;\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n}\n\nfunction _extractText2() {\n const divs = this.editorDiv.getElementsByTagName(\"div\");\n\n if (divs.length === 0) {\n return this.editorDiv.innerText;\n }\n\n const buffer = [];\n\n for (let i = 0, ii = divs.length; i < ii; i++) {\n const div = divs[i];\n const first = div.firstChild;\n\n if ((first === null || first === void 0 ? void 0 : first.nodeName) === \"#text\") {\n buffer.push(first.data);\n } else {\n buffer.push(\"\");\n }\n }\n\n return buffer.join(\"\\n\");\n}\n\nfunction _setEditorDimensions2() {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n const rect = this.div.getBoundingClientRect();\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n}\n\n_defineProperty(FreeTextEditor, \"_freeTextDefaultContent\", \"\");\n\n_defineProperty(FreeTextEditor, \"_l10nPromise\", void 0);\n\n_defineProperty(FreeTextEditor, \"_internalPadding\", 0);\n\n_defineProperty(FreeTextEditor, \"_defaultColor\", null);\n\n_defineProperty(FreeTextEditor, \"_defaultFontSize\", 10);\n\n_defineProperty(FreeTextEditor, \"_keyboardManager\", new _tools.KeyboardManager([[[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], FreeTextEditor.prototype.commitOrRemove]]));\n\n_defineProperty(FreeTextEditor, \"_type\", \"freetext\");\n\n/***/ }),\n/* 149 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.InkEditor = void 0;\nObject.defineProperty(exports, \"fitCurve\", ({\n enumerable: true,\n get: function () {\n return _pdfjsFitCurve.fitCurve;\n }\n}));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _editor = __w_pdfjs_require__(131);\n\nvar _pdfjsFitCurve = __w_pdfjs_require__(150);\n\nvar _tools = __w_pdfjs_require__(132);\n\nfunction _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }\n\nfunction _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError(\"Cannot initialize the same private elements twice on an object\"); } }\n\nfunction _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; }\n\nfunction _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError(\"Private static access of wrong provenance\"); } }\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"set\"); _classApplyDescriptorSet(receiver, descriptor, value); return value; }\n\nfunction _classApplyDescriptorSet(receiver, descriptor, value) { if (descriptor.set) { descriptor.set.call(receiver, value); } else { if (!descriptor.writable) { throw new TypeError(\"attempted to set read only private field\"); } descriptor.value = value; } }\n\nfunction _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classExtractFieldDescriptor(receiver, privateMap, \"get\"); return _classApplyDescriptorGet(receiver, descriptor); }\n\nfunction _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError(\"attempted to \" + action + \" private field on non-instance\"); } return privateMap.get(receiver); }\n\nfunction _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }\n\nfunction _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError(\"attempted to get private field on non-instance\"); } return fn; }\n\nconst RESIZER_SIZE = 16;\n\nvar _aspectRatio = /*#__PURE__*/new WeakMap();\n\nvar _baseHeight = /*#__PURE__*/new WeakMap();\n\nvar _baseWidth = /*#__PURE__*/new WeakMap();\n\nvar _boundCanvasPointermove = /*#__PURE__*/new WeakMap();\n\nvar _boundCanvasPointerleave = /*#__PURE__*/new WeakMap();\n\nvar _boundCanvasPointerup = /*#__PURE__*/new WeakMap();\n\nvar _boundCanvasPointerdown = /*#__PURE__*/new WeakMap();\n\nvar _disableEditing = /*#__PURE__*/new WeakMap();\n\nvar _isCanvasInitialized = /*#__PURE__*/new WeakMap();\n\nvar _lastPoint = /*#__PURE__*/new WeakMap();\n\nvar _observer = /*#__PURE__*/new WeakMap();\n\nvar _realWidth = /*#__PURE__*/new WeakMap();\n\nvar _realHeight = /*#__PURE__*/new WeakMap();\n\nvar _requestFrameCallback = /*#__PURE__*/new WeakMap();\n\nvar _updateThickness = /*#__PURE__*/new WeakSet();\n\nvar _updateColor = /*#__PURE__*/new WeakSet();\n\nvar _updateOpacity = /*#__PURE__*/new WeakSet();\n\nvar _getInitialBBox = /*#__PURE__*/new WeakSet();\n\nvar _setStroke = /*#__PURE__*/new WeakSet();\n\nvar _startDrawing = /*#__PURE__*/new WeakSet();\n\nvar _draw = /*#__PURE__*/new WeakSet();\n\nvar _stopDrawing = /*#__PURE__*/new WeakSet();\n\nvar _redraw = /*#__PURE__*/new WeakSet();\n\nvar _endDrawing = /*#__PURE__*/new WeakSet();\n\nvar _createCanvas = /*#__PURE__*/new WeakSet();\n\nvar _createObserver = /*#__PURE__*/new WeakSet();\n\nvar _setCanvasDims = /*#__PURE__*/new WeakSet();\n\nvar _setScaleFactor = /*#__PURE__*/new WeakSet();\n\nvar _updateTransform = /*#__PURE__*/new WeakSet();\n\nvar _serializePaths = /*#__PURE__*/new WeakSet();\n\nvar _extractPointsOnBezier = /*#__PURE__*/new WeakSet();\n\nvar _isAlmostFlat = /*#__PURE__*/new WeakSet();\n\nvar _getBbox = /*#__PURE__*/new WeakSet();\n\nvar _getPadding = /*#__PURE__*/new WeakSet();\n\nvar _fitToContent = /*#__PURE__*/new WeakSet();\n\nvar _setMinDims = /*#__PURE__*/new WeakSet();\n\nclass InkEditor extends _editor.AnnotationEditor {\n constructor(params) {\n super({ ...params,\n name: \"inkEditor\"\n });\n\n _classPrivateMethodInitSpec(this, _setMinDims);\n\n _classPrivateMethodInitSpec(this, _fitToContent);\n\n _classPrivateMethodInitSpec(this, _getPadding);\n\n _classPrivateMethodInitSpec(this, _getBbox);\n\n _classPrivateMethodInitSpec(this, _isAlmostFlat);\n\n _classPrivateMethodInitSpec(this, _extractPointsOnBezier);\n\n _classPrivateMethodInitSpec(this, _serializePaths);\n\n _classPrivateMethodInitSpec(this, _updateTransform);\n\n _classPrivateMethodInitSpec(this, _setScaleFactor);\n\n _classPrivateMethodInitSpec(this, _setCanvasDims);\n\n _classPrivateMethodInitSpec(this, _createObserver);\n\n _classPrivateMethodInitSpec(this, _createCanvas);\n\n _classPrivateMethodInitSpec(this, _endDrawing);\n\n _classPrivateMethodInitSpec(this, _redraw);\n\n _classPrivateMethodInitSpec(this, _stopDrawing);\n\n _classPrivateMethodInitSpec(this, _draw);\n\n _classPrivateMethodInitSpec(this, _startDrawing);\n\n _classPrivateMethodInitSpec(this, _setStroke);\n\n _classPrivateMethodInitSpec(this, _getInitialBBox);\n\n _classPrivateMethodInitSpec(this, _updateOpacity);\n\n _classPrivateMethodInitSpec(this, _updateColor);\n\n _classPrivateMethodInitSpec(this, _updateThickness);\n\n _classPrivateFieldInitSpec(this, _aspectRatio, {\n writable: true,\n value: 0\n });\n\n _classPrivateFieldInitSpec(this, _baseHeight, {\n writable: true,\n value: 0\n });\n\n _classPrivateFieldInitSpec(this, _baseWidth, {\n writable: true,\n value: 0\n });\n\n _classPrivateFieldInitSpec(this, _boundCanvasPointermove, {\n writable: true,\n value: this.canvasPointermove.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundCanvasPointerleave, {\n writable: true,\n value: this.canvasPointerleave.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundCanvasPointerup, {\n writable: true,\n value: this.canvasPointerup.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _boundCanvasPointerdown, {\n writable: true,\n value: this.canvasPointerdown.bind(this)\n });\n\n _classPrivateFieldInitSpec(this, _disableEditing, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _isCanvasInitialized, {\n writable: true,\n value: false\n });\n\n _classPrivateFieldInitSpec(this, _lastPoint, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldInitSpec(this, _observer, {\n writable: true,\n value: null\n });\n\n _classPrivateFieldInitSpec(this, _realWidth, {\n writable: true,\n value: 0\n });\n\n _classPrivateFieldInitSpec(this, _realHeight, {\n writable: true,\n value: 0\n });\n\n _classPrivateFieldInitSpec(this, _requestFrameCallback, {\n writable: true,\n value: null\n });\n\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n }\n\n static initialize(l10n) {\n this._l10nPromise = new Map([\"editor_ink_canvas_aria_label\", \"editor_ink_aria_label\"].map(str => [str, l10n.get(str)]));\n }\n\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n\n case _util.AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n _classPrivateMethodGet(this, _updateThickness, _updateThickness2).call(this, value);\n\n break;\n\n case _util.AnnotationEditorParamsType.INK_COLOR:\n _classPrivateMethodGet(this, _updateColor, _updateColor2).call(this, value);\n\n break;\n\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n _classPrivateMethodGet(this, _updateOpacity, _updateOpacity2).call(this, value);\n\n break;\n }\n }\n\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(InkEditor._defaultOpacity * 100)]];\n }\n\n get propertiesToUpdate() {\n var _this$opacity;\n\n return [[_util.AnnotationEditorParamsType.INK_THICKNESS, this.thickness || InkEditor._defaultThickness], [_util.AnnotationEditorParamsType.INK_COLOR, this.color || InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor], [_util.AnnotationEditorParamsType.INK_OPACITY, Math.round(100 * ((_this$opacity = this.opacity) !== null && _this$opacity !== void 0 ? _this$opacity : InkEditor._defaultOpacity))]];\n }\n\n rebuild() {\n super.rebuild();\n\n if (this.div === null) {\n return;\n }\n\n if (!this.canvas) {\n _classPrivateMethodGet(this, _createCanvas, _createCanvas2).call(this);\n\n _classPrivateMethodGet(this, _createObserver, _createObserver2).call(this);\n }\n\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n\n _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this);\n }\n\n _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this);\n }\n\n remove() {\n if (this.canvas === null) {\n return;\n }\n\n if (!this.isEmpty()) {\n this.commit();\n }\n\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n\n _classPrivateFieldGet(this, _observer).disconnect();\n\n _classPrivateFieldSet(this, _observer, null);\n\n super.remove();\n }\n\n enableEditMode() {\n if (_classPrivateFieldGet(this, _disableEditing) || this.canvas === null) {\n return;\n }\n\n super.enableEditMode();\n this.div.draggable = false;\n this.canvas.addEventListener(\"pointerdown\", _classPrivateFieldGet(this, _boundCanvasPointerdown));\n this.canvas.addEventListener(\"pointerup\", _classPrivateFieldGet(this, _boundCanvasPointerup));\n }\n\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n\n super.disableEditMode();\n this.div.draggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.canvas.removeEventListener(\"pointerdown\", _classPrivateFieldGet(this, _boundCanvasPointerdown));\n this.canvas.removeEventListener(\"pointerup\", _classPrivateFieldGet(this, _boundCanvasPointerup));\n }\n\n onceAdded() {\n this.div.draggable = !this.isEmpty();\n }\n\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n\n commit() {\n if (_classPrivateFieldGet(this, _disableEditing)) {\n return;\n }\n\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n\n _classPrivateFieldSet(this, _disableEditing, true);\n\n this.div.classList.add(\"disabled\");\n\n _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this, true);\n\n this.parent.addInkEditorIfNeeded(true);\n this.parent.moveEditorInDOM(this);\n this.div.focus();\n }\n\n focusin(event) {\n super.focusin(event);\n this.enableEditMode();\n }\n\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || _classPrivateFieldGet(this, _disableEditing)) {\n return;\n }\n\n this.setInForeground();\n\n if (event.type !== \"mouse\") {\n this.div.focus();\n }\n\n event.stopPropagation();\n this.canvas.addEventListener(\"pointerleave\", _classPrivateFieldGet(this, _boundCanvasPointerleave));\n this.canvas.addEventListener(\"pointermove\", _classPrivateFieldGet(this, _boundCanvasPointermove));\n\n _classPrivateMethodGet(this, _startDrawing, _startDrawing2).call(this, event.offsetX, event.offsetY);\n }\n\n canvasPointermove(event) {\n event.stopPropagation();\n\n _classPrivateMethodGet(this, _draw, _draw2).call(this, event.offsetX, event.offsetY);\n }\n\n canvasPointerup(event) {\n if (event.button !== 0) {\n return;\n }\n\n if (this.isInEditMode() && this.currentPath.length !== 0) {\n event.stopPropagation();\n\n _classPrivateMethodGet(this, _endDrawing, _endDrawing2).call(this, event);\n\n this.setInBackground();\n }\n }\n\n canvasPointerleave(event) {\n _classPrivateMethodGet(this, _endDrawing, _endDrawing2).call(this, event);\n\n this.setInBackground();\n }\n\n render() {\n if (this.div) {\n return this.div;\n }\n\n let baseX, baseY;\n\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n\n super.render();\n\n InkEditor._l10nPromise.get(\"editor_ink_aria_label\").then(msg => {\n var _this$div;\n\n return (_this$div = this.div) === null || _this$div === void 0 ? void 0 : _this$div.setAttribute(\"aria-label\", msg);\n });\n\n const [x, y, w, h] = _classPrivateMethodGet(this, _getInitialBBox, _getInitialBBox2).call(this);\n\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n\n _classPrivateMethodGet(this, _createCanvas, _createCanvas2).call(this);\n\n if (this.width) {\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n\n _classPrivateFieldSet(this, _isCanvasInitialized, true);\n\n _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this);\n\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n\n _classPrivateMethodGet(this, _setMinDims, _setMinDims2).call(this);\n\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n\n _classPrivateMethodGet(this, _createObserver, _createObserver2).call(this);\n\n return this.div;\n }\n\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n\n if (_classPrivateFieldGet(this, _realWidth) === roundedWidth && _classPrivateFieldGet(this, _realHeight) === roundedHeight) {\n return;\n }\n\n _classPrivateFieldSet(this, _realWidth, roundedWidth);\n\n _classPrivateFieldSet(this, _realHeight, roundedHeight);\n\n this.canvas.style.visibility = \"hidden\";\n\n if (_classPrivateFieldGet(this, _aspectRatio) && Math.abs(_classPrivateFieldGet(this, _aspectRatio) - width / height) > 1e-2) {\n height = Math.ceil(width / _classPrivateFieldGet(this, _aspectRatio));\n this.setDims(width, height);\n }\n\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n\n if (_classPrivateFieldGet(this, _disableEditing)) {\n _classPrivateMethodGet(this, _setScaleFactor, _setScaleFactor2).call(this, width, height);\n }\n\n _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this);\n\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n\n this.canvas.style.visibility = \"visible\";\n }\n\n static deserialize(data, parent) {\n const editor = super.deserialize(data, parent);\n editor.thickness = data.thickness;\n editor.color = _util.Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = parent.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = parent.scaleFactor;\n const padding = data.thickness / 2;\n\n _classPrivateFieldSet(editor, _aspectRatio, width / height);\n\n _classPrivateFieldSet(editor, _disableEditing, true);\n\n _classPrivateFieldSet(editor, _realWidth, Math.round(width));\n\n _classPrivateFieldSet(editor, _realHeight, Math.round(height));\n\n for (const {\n bezier\n } of data.paths) {\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (height - bezier[1] - padding);\n\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (height - bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (height - bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (height - bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n\n const path2D = _classStaticPrivateMethodGet(this, InkEditor, _buildPath2D).call(this, path);\n\n editor.bezierPath2D.push(path2D);\n }\n\n const bbox = _classPrivateMethodGet(editor, _getBbox, _getBbox2).call(editor);\n\n _classPrivateFieldSet(editor, _baseWidth, Math.max(RESIZER_SIZE, bbox[2] - bbox[0]));\n\n _classPrivateFieldSet(editor, _baseHeight, Math.max(RESIZER_SIZE, bbox[3] - bbox[1]));\n\n _classPrivateMethodGet(editor, _setScaleFactor, _setScaleFactor2).call(editor, width, height);\n\n return editor;\n }\n\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n\n const rect = this.getRect(0, 0);\n const height = this.rotation % 180 === 0 ? rect[3] - rect[1] : rect[2] - rect[0];\n\n const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n\n return {\n annotationType: _util.AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: _classPrivateMethodGet(this, _serializePaths, _serializePaths2).call(this, this.scaleFactor / this.parent.scaleFactor, this.translationX, this.translationY, height),\n pageIndex: this.parent.pageIndex,\n rect,\n rotation: this.rotation\n };\n }\n\n}\n\nexports.InkEditor = InkEditor;\n\nfunction _updateThickness2(thickness) {\n const savedThickness = this.thickness;\n this.parent.addCommands({\n cmd: () => {\n this.thickness = thickness;\n\n _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this);\n },\n undo: () => {\n this.thickness = savedThickness;\n\n _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n}\n\nfunction _updateColor2(color) {\n const savedColor = this.color;\n this.parent.addCommands({\n cmd: () => {\n this.color = color;\n\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n },\n undo: () => {\n this.color = savedColor;\n\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n}\n\nfunction _updateOpacity2(opacity) {\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.parent.addCommands({\n cmd: () => {\n this.opacity = opacity;\n\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n },\n undo: () => {\n this.opacity = savedOpacity;\n\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n}\n\nfunction _getInitialBBox2() {\n const {\n width,\n height,\n rotation\n } = this.parent.viewport;\n\n switch (rotation) {\n case 90:\n return [0, width, width, height];\n\n case 180:\n return [width, height, width, height];\n\n case 270:\n return [height, 0, width, height];\n\n default:\n return [0, 0, width, height];\n }\n}\n\nfunction _setStroke2() {\n this.ctx.lineWidth = this.thickness * this.parent.scaleFactor / this.scaleFactor;\n this.ctx.lineCap = \"round\";\n this.ctx.lineJoin = \"round\";\n this.ctx.miterLimit = 10;\n this.ctx.strokeStyle = `${this.color}${(0, _tools.opacityToHex)(this.opacity)}`;\n}\n\nfunction _startDrawing2(x, y) {\n this.isEditing = true;\n\n if (!_classPrivateFieldGet(this, _isCanvasInitialized)) {\n var _this$opacity2;\n\n _classPrivateFieldSet(this, _isCanvasInitialized, true);\n\n _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this);\n\n this.thickness || (this.thickness = InkEditor._defaultThickness);\n this.color || (this.color = InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor);\n (_this$opacity2 = this.opacity) !== null && _this$opacity2 !== void 0 ? _this$opacity2 : this.opacity = InkEditor._defaultOpacity;\n }\n\n this.currentPath.push([x, y]);\n\n _classPrivateFieldSet(this, _lastPoint, null);\n\n _classPrivateMethodGet(this, _setStroke, _setStroke2).call(this);\n\n this.ctx.beginPath();\n this.ctx.moveTo(x, y);\n\n _classPrivateFieldSet(this, _requestFrameCallback, () => {\n if (!_classPrivateFieldGet(this, _requestFrameCallback)) {\n return;\n }\n\n if (_classPrivateFieldGet(this, _lastPoint)) {\n if (this.isEmpty()) {\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n } else {\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n }\n\n this.ctx.lineTo(..._classPrivateFieldGet(this, _lastPoint));\n\n _classPrivateFieldSet(this, _lastPoint, null);\n\n this.ctx.stroke();\n }\n\n window.requestAnimationFrame(_classPrivateFieldGet(this, _requestFrameCallback));\n });\n\n window.requestAnimationFrame(_classPrivateFieldGet(this, _requestFrameCallback));\n}\n\nfunction _draw2(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n\n if (x === lastX && y === lastY) {\n return;\n }\n\n this.currentPath.push([x, y]);\n\n _classPrivateFieldSet(this, _lastPoint, [x, y]);\n}\n\nfunction _stopDrawing2(x, y) {\n this.ctx.closePath();\n\n _classPrivateFieldSet(this, _requestFrameCallback, null);\n\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n const [lastX, lastY] = this.currentPath.at(-1);\n\n if (x !== lastX || y !== lastY) {\n this.currentPath.push([x, y]);\n }\n\n let bezier;\n\n if (this.currentPath.length !== 1) {\n bezier = (0, _pdfjsFitCurve.fitCurve)(this.currentPath, 30, null);\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n\n const path2D = _classStaticPrivateMethodGet(InkEditor, InkEditor, _buildPath2D).call(InkEditor, bezier);\n\n this.currentPath.length = 0;\n\n const cmd = () => {\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this.rebuild();\n };\n\n const undo = () => {\n this.paths.pop();\n this.bezierPath2D.pop();\n\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n _classPrivateMethodGet(this, _createCanvas, _createCanvas2).call(this);\n\n _classPrivateMethodGet(this, _createObserver, _createObserver2).call(this);\n }\n\n _classPrivateMethodGet(this, _fitToContent, _fitToContent2).call(this);\n }\n };\n\n this.parent.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n}\n\nfunction _redraw2() {\n if (this.isEmpty()) {\n _classPrivateMethodGet(this, _updateTransform, _updateTransform2).call(this);\n\n return;\n }\n\n _classPrivateMethodGet(this, _setStroke, _setStroke2).call(this);\n\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n _classPrivateMethodGet(this, _updateTransform, _updateTransform2).call(this);\n\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n}\n\nfunction _endDrawing2(event) {\n _classPrivateMethodGet(this, _stopDrawing, _stopDrawing2).call(this, event.offsetX, event.offsetY);\n\n this.canvas.removeEventListener(\"pointerleave\", _classPrivateFieldGet(this, _boundCanvasPointerleave));\n this.canvas.removeEventListener(\"pointermove\", _classPrivateFieldGet(this, _boundCanvasPointermove));\n this.parent.addToAnnotationStorage(this);\n}\n\nfunction _createCanvas2() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n\n InkEditor._l10nPromise.get(\"editor_ink_canvas_aria_label\").then(msg => {\n var _this$canvas;\n\n return (_this$canvas = this.canvas) === null || _this$canvas === void 0 ? void 0 : _this$canvas.setAttribute(\"aria-label\", msg);\n });\n\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n}\n\nfunction _createObserver2() {\n _classPrivateFieldSet(this, _observer, new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n }));\n\n _classPrivateFieldGet(this, _observer).observe(this.div);\n}\n\nfunction _setCanvasDims2() {\n if (!_classPrivateFieldGet(this, _isCanvasInitialized)) {\n return;\n }\n\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n\n _classPrivateMethodGet(this, _updateTransform, _updateTransform2).call(this);\n}\n\nfunction _setScaleFactor2(width, height) {\n const padding = _classPrivateMethodGet(this, _getPadding, _getPadding2).call(this);\n\n const scaleFactorW = (width - padding) / _classPrivateFieldGet(this, _baseWidth);\n\n const scaleFactorH = (height - padding) / _classPrivateFieldGet(this, _baseHeight);\n\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n}\n\nfunction _updateTransform2() {\n const padding = _classPrivateMethodGet(this, _getPadding, _getPadding2).call(this) / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n}\n\nfunction _buildPath2D(bezier) {\n const path2D = new Path2D();\n\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n\n if (i === 0) {\n path2D.moveTo(...first);\n }\n\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n\n return path2D;\n}\n\nfunction _serializePaths2(s, tx, ty, h) {\n const NUMBER_OF_POINTS_ON_BEZIER_CURVE = 4;\n const paths = [];\n const padding = this.thickness / 2;\n let buffer, points;\n\n for (const bezier of this.paths) {\n buffer = [];\n points = [];\n\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n const p10 = s * (first[0] + tx) + padding;\n const p11 = h - s * (first[1] + ty) - padding;\n const p20 = s * (control1[0] + tx) + padding;\n const p21 = h - s * (control1[1] + ty) - padding;\n const p30 = s * (control2[0] + tx) + padding;\n const p31 = h - s * (control2[1] + ty) - padding;\n const p40 = s * (second[0] + tx) + padding;\n const p41 = h - s * (second[1] + ty) - padding;\n\n if (i === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n\n buffer.push(p20, p21, p30, p31, p40, p41);\n\n _classPrivateMethodGet(this, _extractPointsOnBezier, _extractPointsOnBezier2).call(this, p10, p11, p20, p21, p30, p31, p40, p41, NUMBER_OF_POINTS_ON_BEZIER_CURVE, points);\n }\n\n paths.push({\n bezier: buffer,\n points\n });\n }\n\n return paths;\n}\n\nfunction _extractPointsOnBezier2(p10, p11, p20, p21, p30, p31, p40, p41, n, points) {\n if (_classPrivateMethodGet(this, _isAlmostFlat, _isAlmostFlat2).call(this, p10, p11, p20, p21, p30, p31, p40, p41)) {\n points.push(p40, p41);\n return;\n }\n\n for (let i = 1; i < n - 1; i++) {\n const t = i / n;\n const mt = 1 - t;\n let q10 = t * p10 + mt * p20;\n let q11 = t * p11 + mt * p21;\n let q20 = t * p20 + mt * p30;\n let q21 = t * p21 + mt * p31;\n const q30 = t * p30 + mt * p40;\n const q31 = t * p31 + mt * p41;\n q10 = t * q10 + mt * q20;\n q11 = t * q11 + mt * q21;\n q20 = t * q20 + mt * q30;\n q21 = t * q21 + mt * q31;\n q10 = t * q10 + mt * q20;\n q11 = t * q11 + mt * q21;\n points.push(q10, q11);\n }\n\n points.push(p40, p41);\n}\n\nfunction _isAlmostFlat2(p10, p11, p20, p21, p30, p31, p40, p41) {\n const tol = 10;\n const ax = (3 * p20 - 2 * p10 - p40) ** 2;\n const ay = (3 * p21 - 2 * p11 - p41) ** 2;\n const bx = (3 * p30 - p10 - 2 * p40) ** 2;\n const by = (3 * p31 - p11 - 2 * p41) ** 2;\n return Math.max(ax, bx) + Math.max(ay, by) <= tol;\n}\n\nfunction _getBbox2() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n\n return [xMin, yMin, xMax, yMax];\n}\n\nfunction _getPadding2() {\n return _classPrivateFieldGet(this, _disableEditing) ? Math.ceil(this.thickness * this.parent.scaleFactor) : 0;\n}\n\nfunction _fitToContent2() {\n let firstTime = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (this.isEmpty()) {\n return;\n }\n\n if (!_classPrivateFieldGet(this, _disableEditing)) {\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n\n return;\n }\n\n const bbox = _classPrivateMethodGet(this, _getBbox, _getBbox2).call(this);\n\n const padding = _classPrivateMethodGet(this, _getPadding, _getPadding2).call(this);\n\n _classPrivateFieldSet(this, _baseWidth, Math.max(RESIZER_SIZE, bbox[2] - bbox[0]));\n\n _classPrivateFieldSet(this, _baseHeight, Math.max(RESIZER_SIZE, bbox[3] - bbox[1]));\n\n const width = Math.ceil(padding + _classPrivateFieldGet(this, _baseWidth) * this.scaleFactor);\n const height = Math.ceil(padding + _classPrivateFieldGet(this, _baseHeight) * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parent.viewportBaseDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n\n _classPrivateFieldSet(this, _aspectRatio, width / height);\n\n _classPrivateMethodGet(this, _setMinDims, _setMinDims2).call(this);\n\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n\n _classPrivateMethodGet(this, _setCanvasDims, _setCanvasDims2).call(this);\n\n _classPrivateMethodGet(this, _redraw, _redraw2).call(this);\n\n _classPrivateFieldSet(this, _realWidth, width);\n\n _classPrivateFieldSet(this, _realHeight, height);\n\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n}\n\nfunction _setMinDims2() {\n const {\n style\n } = this.div;\n\n if (_classPrivateFieldGet(this, _aspectRatio) >= 1) {\n style.minHeight = `${RESIZER_SIZE}px`;\n style.minWidth = `${Math.round(_classPrivateFieldGet(this, _aspectRatio) * RESIZER_SIZE)}px`;\n } else {\n style.minWidth = `${RESIZER_SIZE}px`;\n style.minHeight = `${Math.round(RESIZER_SIZE / _classPrivateFieldGet(this, _aspectRatio))}px`;\n }\n}\n\n_defineProperty(InkEditor, \"_defaultColor\", null);\n\n_defineProperty(InkEditor, \"_defaultOpacity\", 1);\n\n_defineProperty(InkEditor, \"_defaultThickness\", 1);\n\n_defineProperty(InkEditor, \"_l10nPromise\", void 0);\n\n_defineProperty(InkEditor, \"_type\", \"ink\");\n\n/***/ }),\n/* 150 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.fitCurve = void 0;\n\nconst fitCurve = __w_pdfjs_require__(151);\n\nexports.fitCurve = fitCurve;\n\n/***/ }),\n/* 151 */\n/***/ ((module) => {\n\n\"use strict\";\n\n\nfunction fitCurve(points, maxError, progressCallback) {\n if (!Array.isArray(points)) {\n throw new TypeError(\"First argument should be an array\");\n }\n\n points.forEach(point => {\n if (!Array.isArray(point) || point.some(item => typeof item !== 'number') || point.length !== points[0].length) {\n throw Error(\"Each point should be an array of numbers. Each point should have the same amount of numbers.\");\n }\n });\n points = points.filter((point, i) => i === 0 || !point.every((val, j) => val === points[i - 1][j]));\n\n if (points.length < 2) {\n return [];\n }\n\n const len = points.length;\n const leftTangent = createTangent(points[1], points[0]);\n const rightTangent = createTangent(points[len - 2], points[len - 1]);\n return fitCubic(points, leftTangent, rightTangent, maxError, progressCallback);\n}\n\nfunction fitCubic(points, leftTangent, rightTangent, error, progressCallback) {\n const MaxIterations = 20;\n var bezCurve, u, uPrime, maxError, prevErr, splitPoint, prevSplit, centerVector, toCenterTangent, fromCenterTangent, beziers, dist, i;\n\n if (points.length === 2) {\n dist = maths.vectorLen(maths.subtract(points[0], points[1])) / 3.0;\n bezCurve = [points[0], maths.addArrays(points[0], maths.mulItems(leftTangent, dist)), maths.addArrays(points[1], maths.mulItems(rightTangent, dist)), points[1]];\n return [bezCurve];\n }\n\n u = chordLengthParameterize(points);\n [bezCurve, maxError, splitPoint] = generateAndReport(points, u, u, leftTangent, rightTangent, progressCallback);\n\n if (maxError === 0 || maxError < error) {\n return [bezCurve];\n }\n\n if (maxError < error * error) {\n uPrime = u;\n prevErr = maxError;\n prevSplit = splitPoint;\n\n for (i = 0; i < MaxIterations; i++) {\n uPrime = reparameterize(bezCurve, points, uPrime);\n [bezCurve, maxError, splitPoint] = generateAndReport(points, u, uPrime, leftTangent, rightTangent, progressCallback);\n\n if (maxError < error) {\n return [bezCurve];\n } else if (splitPoint === prevSplit) {\n let errChange = maxError / prevErr;\n\n if (errChange > .9999 && errChange < 1.0001) {\n break;\n }\n }\n\n prevErr = maxError;\n prevSplit = splitPoint;\n }\n }\n\n beziers = [];\n centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint + 1]);\n\n if (centerVector.every(val => val === 0)) {\n centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint]);\n [centerVector[0], centerVector[1]] = [-centerVector[1], centerVector[0]];\n }\n\n toCenterTangent = maths.normalize(centerVector);\n fromCenterTangent = maths.mulItems(toCenterTangent, -1);\n beziers = beziers.concat(fitCubic(points.slice(0, splitPoint + 1), leftTangent, toCenterTangent, error, progressCallback));\n beziers = beziers.concat(fitCubic(points.slice(splitPoint), fromCenterTangent, rightTangent, error, progressCallback));\n return beziers;\n}\n\n;\n\nfunction generateAndReport(points, paramsOrig, paramsPrime, leftTangent, rightTangent, progressCallback) {\n var bezCurve, maxError, splitPoint;\n bezCurve = generateBezier(points, paramsPrime, leftTangent, rightTangent, progressCallback);\n [maxError, splitPoint] = computeMaxError(points, bezCurve, paramsOrig);\n\n if (progressCallback) {\n progressCallback({\n bez: bezCurve,\n points: points,\n params: paramsOrig,\n maxErr: maxError,\n maxPoint: splitPoint\n });\n }\n\n return [bezCurve, maxError, splitPoint];\n}\n\nfunction generateBezier(points, parameters, leftTangent, rightTangent) {\n var bezCurve,\n A,\n a,\n C,\n X,\n det_C0_C1,\n det_C0_X,\n det_X_C1,\n alpha_l,\n alpha_r,\n epsilon,\n segLength,\n i,\n len,\n tmp,\n u,\n ux,\n firstPoint = points[0],\n lastPoint = points[points.length - 1];\n bezCurve = [firstPoint, null, null, lastPoint];\n A = maths.zeros_Xx2x2(parameters.length);\n\n for (i = 0, len = parameters.length; i < len; i++) {\n u = parameters[i];\n ux = 1 - u;\n a = A[i];\n a[0] = maths.mulItems(leftTangent, 3 * u * (ux * ux));\n a[1] = maths.mulItems(rightTangent, 3 * ux * (u * u));\n }\n\n C = [[0, 0], [0, 0]];\n X = [0, 0];\n\n for (i = 0, len = points.length; i < len; i++) {\n u = parameters[i];\n a = A[i];\n C[0][0] += maths.dot(a[0], a[0]);\n C[0][1] += maths.dot(a[0], a[1]);\n C[1][0] += maths.dot(a[0], a[1]);\n C[1][1] += maths.dot(a[1], a[1]);\n tmp = maths.subtract(points[i], bezier.q([firstPoint, firstPoint, lastPoint, lastPoint], u));\n X[0] += maths.dot(a[0], tmp);\n X[1] += maths.dot(a[1], tmp);\n }\n\n det_C0_C1 = C[0][0] * C[1][1] - C[1][0] * C[0][1];\n det_C0_X = C[0][0] * X[1] - C[1][0] * X[0];\n det_X_C1 = X[0] * C[1][1] - X[1] * C[0][1];\n alpha_l = det_C0_C1 === 0 ? 0 : det_X_C1 / det_C0_C1;\n alpha_r = det_C0_C1 === 0 ? 0 : det_C0_X / det_C0_C1;\n segLength = maths.vectorLen(maths.subtract(firstPoint, lastPoint));\n epsilon = 1.0e-6 * segLength;\n\n if (alpha_l < epsilon || alpha_r < epsilon) {\n bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, segLength / 3.0));\n bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, segLength / 3.0));\n } else {\n bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, alpha_l));\n bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, alpha_r));\n }\n\n return bezCurve;\n}\n\n;\n\nfunction reparameterize(bezier, points, parameters) {\n return parameters.map((p, i) => newtonRaphsonRootFind(bezier, points[i], p));\n}\n\n;\n\nfunction newtonRaphsonRootFind(bez, point, u) {\n var d = maths.subtract(bezier.q(bez, u), point),\n qprime = bezier.qprime(bez, u),\n numerator = maths.mulMatrix(d, qprime),\n denominator = maths.sum(maths.squareItems(qprime)) + 2 * maths.mulMatrix(d, bezier.qprimeprime(bez, u));\n\n if (denominator === 0) {\n return u;\n } else {\n return u - numerator / denominator;\n }\n}\n\n;\n\nfunction chordLengthParameterize(points) {\n var u = [],\n currU,\n prevU,\n prevP;\n points.forEach((p, i) => {\n currU = i ? prevU + maths.vectorLen(maths.subtract(p, prevP)) : 0;\n u.push(currU);\n prevU = currU;\n prevP = p;\n });\n u = u.map(x => x / prevU);\n return u;\n}\n\n;\n\nfunction computeMaxError(points, bez, parameters) {\n var dist, maxDist, splitPoint, v, i, count, point, t;\n maxDist = 0;\n splitPoint = Math.floor(points.length / 2);\n const t_distMap = mapTtoRelativeDistances(bez, 10);\n\n for (i = 0, count = points.length; i < count; i++) {\n point = points[i];\n t = find_t(bez, parameters[i], t_distMap, 10);\n v = maths.subtract(bezier.q(bez, t), point);\n dist = v[0] * v[0] + v[1] * v[1];\n\n if (dist > maxDist) {\n maxDist = dist;\n splitPoint = i;\n }\n }\n\n return [maxDist, splitPoint];\n}\n\n;\n\nvar mapTtoRelativeDistances = function (bez, B_parts) {\n var B_t_curr;\n var B_t_dist = [0];\n var B_t_prev = bez[0];\n var sumLen = 0;\n\n for (var i = 1; i <= B_parts; i++) {\n B_t_curr = bezier.q(bez, i / B_parts);\n sumLen += maths.vectorLen(maths.subtract(B_t_curr, B_t_prev));\n B_t_dist.push(sumLen);\n B_t_prev = B_t_curr;\n }\n\n B_t_dist = B_t_dist.map(x => x / sumLen);\n return B_t_dist;\n};\n\nfunction find_t(bez, param, t_distMap, B_parts) {\n if (param < 0) {\n return 0;\n }\n\n if (param > 1) {\n return 1;\n }\n\n var lenMax, lenMin, tMax, tMin, t;\n\n for (var i = 1; i <= B_parts; i++) {\n if (param <= t_distMap[i]) {\n tMin = (i - 1) / B_parts;\n tMax = i / B_parts;\n lenMin = t_distMap[i - 1];\n lenMax = t_distMap[i];\n t = (param - lenMin) / (lenMax - lenMin) * (tMax - tMin) + tMin;\n break;\n }\n }\n\n return t;\n}\n\nfunction createTangent(pointA, pointB) {\n return maths.normalize(maths.subtract(pointA, pointB));\n}\n\nclass maths {\n static zeros_Xx2x2(x) {\n var zs = [];\n\n while (x--) {\n zs.push([0, 0]);\n }\n\n return zs;\n }\n\n static mulItems(items, multiplier) {\n return items.map(x => x * multiplier);\n }\n\n static mulMatrix(m1, m2) {\n return m1.reduce((sum, x1, i) => sum + x1 * m2[i], 0);\n }\n\n static subtract(arr1, arr2) {\n return arr1.map((x1, i) => x1 - arr2[i]);\n }\n\n static addArrays(arr1, arr2) {\n return arr1.map((x1, i) => x1 + arr2[i]);\n }\n\n static addItems(items, addition) {\n return items.map(x => x + addition);\n }\n\n static sum(items) {\n return items.reduce((sum, x) => sum + x);\n }\n\n static dot(m1, m2) {\n return maths.mulMatrix(m1, m2);\n }\n\n static vectorLen(v) {\n return Math.hypot(...v);\n }\n\n static divItems(items, divisor) {\n return items.map(x => x / divisor);\n }\n\n static squareItems(items) {\n return items.map(x => x * x);\n }\n\n static normalize(v) {\n return this.divItems(v, this.vectorLen(v));\n }\n\n}\n\nclass bezier {\n static q(ctrlPoly, t) {\n var tx = 1.0 - t;\n var pA = maths.mulItems(ctrlPoly[0], tx * tx * tx),\n pB = maths.mulItems(ctrlPoly[1], 3 * tx * tx * t),\n pC = maths.mulItems(ctrlPoly[2], 3 * tx * t * t),\n pD = maths.mulItems(ctrlPoly[3], t * t * t);\n return maths.addArrays(maths.addArrays(pA, pB), maths.addArrays(pC, pD));\n }\n\n static qprime(ctrlPoly, t) {\n var tx = 1.0 - t;\n var pA = maths.mulItems(maths.subtract(ctrlPoly[1], ctrlPoly[0]), 3 * tx * tx),\n pB = maths.mulItems(maths.subtract(ctrlPoly[2], ctrlPoly[1]), 6 * tx * t),\n pC = maths.mulItems(maths.subtract(ctrlPoly[3], ctrlPoly[2]), 3 * t * t);\n return maths.addArrays(maths.addArrays(pA, pB), pC);\n }\n\n static qprimeprime(ctrlPoly, t) {\n return maths.addArrays(maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[2], maths.mulItems(ctrlPoly[1], 2)), ctrlPoly[0]), 6 * (1.0 - t)), maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[3], maths.mulItems(ctrlPoly[2], 2)), ctrlPoly[1]), 6 * t));\n }\n\n}\n\nmodule.exports = fitCurve;\nmodule.exports.fitCubic = fitCubic;\nmodule.exports.createTangent = createTangent;\n\n/***/ }),\n/* 152 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayer = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nvar _annotation_storage = __w_pdfjs_require__(130);\n\nvar _scripting_utils = __w_pdfjs_require__(153);\n\nvar _xfa_layer = __w_pdfjs_require__(154);\n\nfunction _classStaticPrivateMethodGet(receiver, classConstructor, method) { _classCheckPrivateStaticAccess(receiver, classConstructor); return method; }\n\nfunction _classCheckPrivateStaticAccess(receiver, classConstructor) { if (receiver !== classConstructor) { throw new TypeError(\"Private static access of wrong provenance\"); } }\n\nconst DEFAULT_TAB_INDEX = 1000;\nconst DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\n\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\n\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n\n}\n\nclass AnnotationElement {\n constructor(parameters) {\n let {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n this._mouseState = parameters.mouseState;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);\n }\n }\n\n _createContainer() {\n let ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n const {\n width,\n height\n } = getRectDims(data.rect);\n const [pageLLx, pageLLy, pageURx, pageURy] = viewport.viewBox;\n const pageWidth = pageURx - pageLLx;\n const pageHeight = pageURy - pageLLy;\n container.setAttribute(\"data-annotation-id\", data.id);\n\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n } else if (this instanceof RadioButtonWidgetAnnotationElement) {\n const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n const borderColor = data.borderColor || null;\n\n if (borderColor) {\n container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = `${100 * (rect[0] - pageLLx) / pageWidth}%`;\n container.style.top = `${100 * (rect[1] - pageLLy) / pageHeight}%`;\n const {\n rotation\n } = data;\n\n if (data.hasOwnCanvas || rotation === 0) {\n container.style.width = `${100 * width / pageWidth}%`;\n container.style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n\n return container;\n }\n\n setRotation(angle) {\n let container = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.container;\n const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox;\n const pageWidth = pageURx - pageLLx;\n const pageHeight = pageURy - pageLLy;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1));\n };\n\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const hidden = event.detail.display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden,\n print: event.detail.display === 0 || event.detail.display === 3\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n print: event.detail.print\n });\n },\n hidden: event => {\n this.container.style.visibility = event.detail.hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden: event.detail.hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n if (event.detail.readonly) {\n event.target.setAttribute(\"readonly\", \"\");\n } else {\n event.target.removeAttribute(\"readonly\");\n }\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n\n if (action) {\n action(jsEvent);\n }\n }\n }\n\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n\n if (!storedData) {\n return;\n }\n\n const commonActions = this._commonActions;\n\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n\n if (action) {\n const eventProxy = {\n detail: {\n [actionName]: detail\n },\n target: element\n };\n action(eventProxy);\n delete storedData[actionName];\n }\n }\n }\n\n _createQuadrilaterals() {\n let ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this.data.quadPoints) {\n return null;\n }\n\n const quadrilaterals = [];\n const savedRect = this.data.rect;\n\n for (const quadPoint of this.data.quadPoints) {\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n\n _createPopup(trigger, data) {\n let container = this.container;\n\n if (this.quadrilaterals) {\n trigger = trigger || this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.className = \"popupTriggerArea\";\n container.append(trigger);\n }\n\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = \"100%\";\n container.append(popup);\n }\n\n _renderQuadrilaterals(className) {\n for (const quadrilateral of this.quadrilaterals) {\n quadrilateral.className = className;\n }\n\n return this.quadrilaterals;\n }\n\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n\n _getElementsByName(name) {\n let skipId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n const fields = [];\n\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n\n if (id === skipId) {\n continue;\n }\n\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n\n return fields;\n }\n\n for (const domElement of document.getElementsByName(name)) {\n const {\n id,\n exportValue\n } = domElement;\n\n if (id === skipId) {\n continue;\n }\n\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n\n return fields;\n }\n\n static get platform() {\n const platform = typeof navigator !== \"undefined\" ? navigator.platform : \"\";\n return (0, _util.shadow)(this, \"platform\", {\n isWin: platform.includes(\"Win\"),\n isMac: platform.includes(\"Mac\")\n });\n }\n\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!(options !== null && options !== void 0 && options.ignoreBorder),\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n\n isBound = true;\n }\n\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n\n isBound = true;\n }\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map((quadrilateral, index) => {\n const linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.append(linkElement);\n return quadrilateral;\n });\n }\n\n this.container.className = \"linkAnnotation\";\n\n if (isBound) {\n this.container.append(link);\n }\n\n return this.container;\n }\n\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n\n return false;\n };\n\n if (destination || destination === \"\") {\n link.className = \"internalLink\";\n }\n }\n\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n\n link.className = \"internalLink\";\n }\n\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n\n if (!jsName) {\n continue;\n }\n\n link[jsName] = () => {\n var _this$linkService$eve;\n\n (_this$linkService$eve = this.linkService.eventBus) === null || _this$linkService$eve === void 0 ? void 0 : _this$linkService$eve.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n\n if (!link.onclick) {\n link.onclick = () => false;\n }\n\n link.className = \"internalLink\";\n }\n\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n\n link.className = \"internalLink\";\n\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n\n return;\n }\n\n link.onclick = () => {\n if (otherClickAction) {\n otherClickAction();\n }\n\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n\n const storage = this.annotationStorage;\n const allIds = [];\n\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n\n default:\n continue;\n }\n\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n\n if (this.enableScripting) {\n var _this$linkService$eve2;\n\n (_this$linkService$eve2 = this.linkService.eventBus) === null || _this$linkService$eve2 === void 0 ? void 0 : _this$linkService$eve2.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n\n return false;\n };\n }\n\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl, _parameters$data$cont, _parameters$data$rich;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl = parameters.data.titleObj) !== null && _parameters$data$titl !== void 0 && _parameters$data$titl.str || (_parameters$data$cont = parameters.data.contentsObj) !== null && _parameters$data$cont !== void 0 && _parameters$data$cont.str || (_parameters$data$rich = parameters.data.richText) !== null && _parameters$data$rich !== void 0 && _parameters$data$rich.str);\n super(parameters, {\n isRenderable\n });\n }\n\n render() {\n this.container.className = \"textAnnotation\";\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(image, this.data);\n }\n\n this.container.append(image);\n return this.container;\n }\n\n}\n\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n\n return this.container;\n }\n\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = AnnotationElement.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n\n _setEventListener(element, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n var _this$linkService$eve3;\n\n (_this$linkService$eve3 = this.linkService.eventBus) === null || _this$linkService$eve3 === void 0 ? void 0 : _this$linkService$eve3.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n var _this$linkService$eve4;\n\n (_this$linkService$eve4 = this.linkService.eventBus) === null || _this$linkService$eve4 === void 0 ? void 0 : _this$linkService$eve4.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n\n _setEventListeners(element, names, getter) {\n for (const [baseName, eventName] of names) {\n var _this$data$actions;\n\n if (eventName === \"Action\" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n }\n\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1]);\n const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, Math.round(lineHeight / _util.LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1]);\n computedFontSize = Math.min(fontSize, Math.round(height / _util.LINE_FACTOR));\n }\n\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n\n element.setAttribute(\"aria-required\", isRequired);\n }\n\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.className = \"textWidgetAnnotation\";\n let element = null;\n\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let textContent = storedData.formattedValue || storedData.value || \"\";\n const maxLen = storage.getValue(id, {\n charLimit: this.data.maxLen\n }).charLimit;\n\n if (maxLen && textContent.length > maxLen) {\n textContent = textContent.slice(0, maxLen);\n }\n\n const elementData = {\n userValue: textContent,\n formattedValue: null,\n valueOnFocus: \"\"\n };\n\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n\n this._setRequired(element, this.data.required);\n\n if (maxLen) {\n element.maxLength = maxLen;\n }\n\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n });\n element.addEventListener(\"resetform\", event => {\n var _this$data$defaultFie;\n\n const defaultValue = (_this$data$defaultFie = this.data.defaultFieldValue) !== null && _this$data$defaultFie !== void 0 ? _this$data$defaultFie : \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n\n event.target.scrollLeft = 0;\n };\n\n if (this.enableScripting && this.hasJSActions) {\n var _this$data$actions2;\n\n element.addEventListener(\"focus\", event => {\n if (elementData.userValue) {\n event.target.value = elementData.userValue;\n }\n\n elementData.valueOnFocus = event.target.value;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n var _event$detail$value;\n\n elementData.userValue = (_event$detail$value = event.detail.value) !== null && _event$detail$value !== void 0 ? _event$detail$value : \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n\n storage.setValue(id, {\n formattedValue\n });\n },\n\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n },\n\n charLimit: event => {\n var _this$linkService$eve5;\n\n const {\n charLimit\n } = event.detail;\n const {\n target\n } = event;\n\n if (charLimit === 0) {\n target.removeAttribute(\"maxLength\");\n return;\n }\n\n target.setAttribute(\"maxLength\", charLimit);\n let value = elementData.userValue;\n\n if (!value || value.length <= charLimit) {\n return;\n }\n\n value = value.slice(0, charLimit);\n target.value = elementData.userValue = value;\n storage.setValue(id, {\n value\n });\n (_this$linkService$eve5 = this.linkService.eventBus) === null || _this$linkService$eve5 === void 0 ? void 0 : _this$linkService$eve5.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: target.selectionStart,\n selEnd: target.selectionEnd\n }\n });\n }\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n var _this$linkService$eve6;\n\n let commitKey = -1;\n\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\") {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n commitKey = 3;\n }\n\n if (commitKey === -1) {\n return;\n }\n\n const {\n value\n } = event.target;\n\n if (elementData.valueOnFocus === value) {\n return;\n }\n\n elementData.userValue = value;\n (_this$linkService$eve6 = this.linkService.eventBus) === null || _this$linkService$eve6 === void 0 ? void 0 : _this$linkService$eve6.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n const {\n value\n } = event.target;\n elementData.userValue = value;\n\n if (this._mouseState.isDown && elementData.valueOnFocus !== value) {\n var _this$linkService$eve7;\n\n (_this$linkService$eve7 = this.linkService.eventBus) === null || _this$linkService$eve7 === void 0 ? void 0 : _this$linkService$eve7.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n\n _blurListener(event);\n });\n\n if ((_this$data$actions2 = this.data.actions) !== null && _this$data$actions2 !== void 0 && _this$data$actions2.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n var _this$linkService$eve8;\n\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n\n if (match) {\n selStart -= match[0].length;\n }\n\n break;\n }\n\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n\n if (match) {\n selEnd += match[0].length;\n }\n\n break;\n }\n\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n\n break;\n\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n\n break;\n }\n\n event.preventDefault();\n (_this$linkService$eve8 = this.linkService.eventBus) === null || _this$linkService$eve8 === void 0 ? void 0 : _this$linkService$eve8.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n\n this._setTextStyle(element);\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.append(element);\n return this.container;\n }\n\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n\n this._setRequired(element, this.data.required);\n\n element.type = \"checkbox\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.append(element);\n return this.container;\n }\n\n}\n\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n\n this._setRequired(element, this.data.required);\n\n element.type = \"radio\";\n element.name = data.fieldName;\n\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n\n this._setBackgroundColor(element);\n\n this._setDefaultPropertiesFromJS(element);\n\n this.container.append(element);\n return this.container;\n }\n\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n\n render() {\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n\n const linkElement = container.lastChild;\n\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n\n return container;\n }\n\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n\n this._setRequired(selectElement, this.data.required);\n\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n\n selectElement.append(optionElement);\n }\n\n let removeEmptyEntry = null;\n\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n\n const getValue = (event, isExport) => {\n const name = isExport ? \"value\" : \"textContent\";\n const options = event.target.options;\n\n if (!event.target.multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n var _removeEmptyEntry;\n\n (_removeEmptyEntry = removeEmptyEntry) === null || _removeEmptyEntry === void 0 ? void 0 : _removeEmptyEntry();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n\n if (i === -1) {\n options[0].selected = true;\n }\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n storage.setValue(id, {\n value: null,\n items: []\n });\n },\n\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n items(event) {\n const {\n items\n } = event.detail;\n\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n\n storage.setValue(id, {\n value: getValue(event, true),\n items: getItems(event)\n });\n },\n\n indices(event) {\n const indices = new Set(event.detail.indices);\n\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n\n storage.setValue(id, {\n value: getValue(event, true)\n });\n },\n\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n\n };\n\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n var _this$linkService$eve9;\n\n const exportValue = getValue(event, true);\n const value = getValue(event, false);\n storage.setValue(id, {\n value: exportValue\n });\n (_this$linkService$eve9 = this.linkService.eventBus) === null || _this$linkService$eve9 === void 0 ? void 0 : _this$linkService$eve9.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n changeEx: exportValue,\n willCommit: true,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"]], event => event.target.checked);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(event, true)\n });\n });\n }\n\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n\n this._setBackgroundColor(selectElement);\n\n this._setDefaultPropertiesFromJS(selectElement);\n\n this.container.append(selectElement);\n return this.container;\n }\n\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl2, _parameters$data$cont2, _parameters$data$rich2;\n\n const isRenderable = !!((_parameters$data$titl2 = parameters.data.titleObj) !== null && _parameters$data$titl2 !== void 0 && _parameters$data$titl2.str || (_parameters$data$cont2 = parameters.data.contentsObj) !== null && _parameters$data$cont2 !== void 0 && _parameters$data$cont2.str || (_parameters$data$rich2 = parameters.data.richText) !== null && _parameters$data$rich2 !== void 0 && _parameters$data$rich2.str);\n super(parameters, {\n isRenderable\n });\n }\n\n render() {\n const IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n const parentElements = this.layer.querySelectorAll(selector);\n\n if (parentElements.length === 0) {\n return this.container;\n }\n\n const popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText\n });\n const page = this.page;\n\n const rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n\n const popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n const popupTop = rect[1];\n const [pageLLx, pageLLy, pageURx, pageURy] = this.viewport.viewBox;\n const pageWidth = pageURx - pageLLx;\n const pageHeight = pageURy - pageLLy;\n this.container.style.left = `${100 * (popupLeft - pageLLx) / pageWidth}%`;\n this.container.style.top = `${100 * (popupTop - pageLLy) / pageHeight}%`;\n this.container.append(popup.render());\n return this.container;\n }\n\n}\n\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.titleObj = parameters.titleObj;\n this.modificationDate = parameters.modificationDate;\n this.contentsObj = parameters.contentsObj;\n this.richText = parameters.richText;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n render() {\n var _this$richText, _this$contentsObj;\n\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.hidden = true;\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n const color = this.color;\n\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);\n }\n\n const title = document.createElement(\"h1\");\n title.dir = this.titleObj.dir;\n title.textContent = this.titleObj.str;\n popup.append(title);\n\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.className = \"popupDate\";\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.append(modificationDate);\n }\n\n if ((_this$richText = this.richText) !== null && _this$richText !== void 0 && _this$richText.str && (!((_this$contentsObj = this.contentsObj) !== null && _this$contentsObj !== void 0 && _this$contentsObj.str) || this.contentsObj.str === this.richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: this.richText.html,\n intent: \"richText\",\n div: popup\n });\n\n popup.lastChild.className = \"richText popupContent\";\n } else {\n const contents = this._formatContents(this.contentsObj);\n\n popup.append(contents);\n }\n\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this._toggle.bind(this));\n element.addEventListener(\"mouseover\", this._show.bind(this, false));\n element.addEventListener(\"mouseout\", this._hide.bind(this, false));\n }\n\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.append(popup);\n return wrapper;\n }\n\n _formatContents(_ref) {\n let {\n str,\n dir\n } = _ref;\n const p = document.createElement(\"p\");\n p.className = \"popupContent\";\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n\n _show() {\n let pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hidden) {\n this.hideElement.hidden = false;\n this.container.style.zIndex = parseInt(this.container.style.zIndex) + 1000;\n }\n }\n\n _hide() {\n let unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hidden && !this.pinned) {\n this.hideElement.hidden = true;\n this.container.style.zIndex = parseInt(this.container.style.zIndex) - 1000;\n }\n }\n\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl3, _parameters$data$cont3, _parameters$data$rich3;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl3 = parameters.data.titleObj) !== null && _parameters$data$titl3 !== void 0 && _parameters$data$titl3.str || (_parameters$data$cont3 = parameters.data.contentsObj) !== null && _parameters$data$cont3 !== void 0 && _parameters$data$cont3.str || (_parameters$data$rich3 = parameters.data.richText) !== null && _parameters$data$rich3 !== void 0 && _parameters$data$rich3.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.textContent = parameters.data.textContent;\n }\n\n render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (this.textContent) {\n const content = document.createElement(\"div\");\n content.className = \"annotationTextContent\";\n content.setAttribute(\"role\", \"comment\");\n\n for (const line of this.textContent) {\n const lineSpan = document.createElement(\"span\");\n lineSpan.textContent = line;\n content.append(lineSpan);\n }\n\n this.container.append(content);\n }\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl4, _parameters$data$cont4, _parameters$data$rich4;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl4 = parameters.data.titleObj) !== null && _parameters$data$titl4 !== void 0 && _parameters$data$titl4.str || (_parameters$data$cont4 = parameters.data.contentsObj) !== null && _parameters$data$cont4 !== void 0 && _parameters$data$cont4.str || (_parameters$data$rich4 = parameters.data.richText) !== null && _parameters$data$rich4 !== void 0 && _parameters$data$rich4.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"lineAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n\n this._createPopup(line, data);\n\n return this.container;\n }\n\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl5, _parameters$data$cont5, _parameters$data$rich5;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl5 = parameters.data.titleObj) !== null && _parameters$data$titl5 !== void 0 && _parameters$data$titl5.str || (_parameters$data$cont5 = parameters.data.contentsObj) !== null && _parameters$data$cont5 !== void 0 && _parameters$data$cont5.str || (_parameters$data$rich5 = parameters.data.richText) !== null && _parameters$data$rich5 !== void 0 && _parameters$data$rich5.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"squareAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n\n this._createPopup(square, data);\n\n return this.container;\n }\n\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl6, _parameters$data$cont6, _parameters$data$rich6;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl6 = parameters.data.titleObj) !== null && _parameters$data$titl6 !== void 0 && _parameters$data$titl6.str || (_parameters$data$cont6 = parameters.data.contentsObj) !== null && _parameters$data$cont6 !== void 0 && _parameters$data$cont6.str || (_parameters$data$rich6 = parameters.data.richText) !== null && _parameters$data$rich6 !== void 0 && _parameters$data$rich6.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"circleAnnotation\";\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n\n this._createPopup(circle, data);\n\n return this.container;\n }\n\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl7, _parameters$data$cont7, _parameters$data$rich7;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl7 = parameters.data.titleObj) !== null && _parameters$data$titl7 !== void 0 && _parameters$data$titl7.str || (_parameters$data$cont7 = parameters.data.contentsObj) !== null && _parameters$data$cont7 !== void 0 && _parameters$data$cont7.str || (_parameters$data$rich7 = parameters.data.richText) !== null && _parameters$data$rich7 !== void 0 && _parameters$data$rich7.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n\n this._createPopup(polyline, data);\n\n return this.container;\n }\n\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl8, _parameters$data$cont8, _parameters$data$rich8;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl8 = parameters.data.titleObj) !== null && _parameters$data$titl8 !== void 0 && _parameters$data$titl8.str || (_parameters$data$cont8 = parameters.data.contentsObj) !== null && _parameters$data$cont8 !== void 0 && _parameters$data$cont8.str || (_parameters$data$rich8 = parameters.data.richText) !== null && _parameters$data$rich8 !== void 0 && _parameters$data$rich8.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl9, _parameters$data$cont9, _parameters$data$rich9;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl9 = parameters.data.titleObj) !== null && _parameters$data$titl9 !== void 0 && _parameters$data$titl9.str || (_parameters$data$cont9 = parameters.data.contentsObj) !== null && _parameters$data$cont9 !== void 0 && _parameters$data$cont9.str || (_parameters$data$rich9 = parameters.data.richText) !== null && _parameters$data$rich9 !== void 0 && _parameters$data$rich9.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n\n for (const inkList of data.inkLists) {\n let points = [];\n\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n\n this._createPopup(polyline, data);\n\n svg.append(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl10, _parameters$data$cont10, _parameters$data$rich10;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl10 = parameters.data.titleObj) !== null && _parameters$data$titl10 !== void 0 && _parameters$data$titl10.str || (_parameters$data$cont10 = parameters.data.contentsObj) !== null && _parameters$data$cont10 !== void 0 && _parameters$data$cont10.str || (_parameters$data$rich10 = parameters.data.richText) !== null && _parameters$data$rich10 !== void 0 && _parameters$data$rich10.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n\n this.container.className = \"highlightAnnotation\";\n return this.container;\n }\n\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl11, _parameters$data$cont11, _parameters$data$rich11;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl11 = parameters.data.titleObj) !== null && _parameters$data$titl11 !== void 0 && _parameters$data$titl11.str || (_parameters$data$cont11 = parameters.data.contentsObj) !== null && _parameters$data$cont11 !== void 0 && _parameters$data$cont11.str || (_parameters$data$rich11 = parameters.data.richText) !== null && _parameters$data$rich11 !== void 0 && _parameters$data$rich11.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n\n this.container.className = \"underlineAnnotation\";\n return this.container;\n }\n\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl12, _parameters$data$cont12, _parameters$data$rich12;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl12 = parameters.data.titleObj) !== null && _parameters$data$titl12 !== void 0 && _parameters$data$titl12.str || (_parameters$data$cont12 = parameters.data.contentsObj) !== null && _parameters$data$cont12 !== void 0 && _parameters$data$cont12.str || (_parameters$data$rich12 = parameters.data.richText) !== null && _parameters$data$rich12 !== void 0 && _parameters$data$rich12.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n\n this.container.className = \"squigglyAnnotation\";\n return this.container;\n }\n\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl13, _parameters$data$cont13, _parameters$data$rich13;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl13 = parameters.data.titleObj) !== null && _parameters$data$titl13 !== void 0 && _parameters$data$titl13.str || (_parameters$data$cont13 = parameters.data.contentsObj) !== null && _parameters$data$cont13 !== void 0 && _parameters$data$cont13.str || (_parameters$data$rich13 = parameters.data.richText) !== null && _parameters$data$rich13 !== void 0 && _parameters$data$rich13.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n\n this.container.className = \"strikeoutAnnotation\";\n return this.container;\n }\n\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _parameters$data$titl14, _parameters$data$cont14, _parameters$data$rich14;\n\n const isRenderable = !!(parameters.data.hasPopup || (_parameters$data$titl14 = parameters.data.titleObj) !== null && _parameters$data$titl14 !== void 0 && _parameters$data$titl14.str || (_parameters$data$cont14 = parameters.data.contentsObj) !== null && _parameters$data$cont14 !== void 0 && _parameters$data$cont14.str || (_parameters$data$rich14 = parameters.data.richText) !== null && _parameters$data$rich14 !== void 0 && _parameters$data$rich14.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n\n render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n var _this$linkService$eve10;\n\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n this.content = content;\n (_this$linkService$eve10 = this.linkService.eventBus) === null || _this$linkService$eve10 === void 0 ? void 0 : _this$linkService$eve10.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n\n render() {\n var _this$data$titleObj, _this$data$contentsOb;\n\n this.container.className = \"fileAttachmentAnnotation\";\n const trigger = document.createElement(\"div\");\n trigger.className = \"popupTriggerArea\";\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && ((_this$data$titleObj = this.data.titleObj) !== null && _this$data$titleObj !== void 0 && _this$data$titleObj.str || (_this$data$contentsOb = this.data.contentsObj) !== null && _this$data$contentsOb !== void 0 && _this$data$contentsOb.str || this.data.richText)) {\n this._createPopup(trigger, this.data);\n }\n\n this.container.append(trigger);\n return this.container;\n }\n\n _download() {\n var _this$downloadManager;\n\n (_this$downloadManager = this.downloadManager) === null || _this$downloadManager === void 0 ? void 0 : _this$downloadManager.openOrDownloadData(this.container, this.content, this.filename);\n }\n\n}\n\nclass AnnotationLayer {\n static render(parameters) {\n const {\n annotations,\n div,\n viewport,\n accessibilityManager\n } = parameters;\n\n _classStaticPrivateMethodGet(this, AnnotationLayer, _setDimensions).call(this, div, viewport);\n\n let zIndex = 0;\n\n for (const data of annotations) {\n if (data.annotationType !== _util.AnnotationType.POPUP) {\n const {\n width,\n height\n } = getRectDims(data.rect);\n\n if (width <= 0 || height <= 0) {\n continue;\n }\n }\n\n const element = AnnotationElementFactory.create({\n data,\n layer: div,\n page: parameters.page,\n viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderForms: parameters.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: parameters.enableScripting,\n hasJSActions: parameters.hasJSActions,\n fieldObjects: parameters.fieldObjects,\n mouseState: parameters.mouseState || {\n isDown: false\n }\n });\n\n if (element.isRenderable) {\n const rendered = element.render();\n\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n\n if (Array.isArray(rendered)) {\n for (const renderedElement of rendered) {\n renderedElement.style.zIndex = zIndex++;\n\n _classStaticPrivateMethodGet(AnnotationLayer, AnnotationLayer, _appendElement).call(AnnotationLayer, renderedElement, data.id, div, accessibilityManager);\n }\n } else {\n rendered.style.zIndex = zIndex++;\n\n if (element instanceof PopupAnnotationElement) {\n div.prepend(rendered);\n } else {\n _classStaticPrivateMethodGet(AnnotationLayer, AnnotationLayer, _appendElement).call(AnnotationLayer, rendered, data.id, div, accessibilityManager);\n }\n }\n }\n }\n\n _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, parameters.annotationCanvasMap);\n }\n\n static update(parameters) {\n const {\n annotationCanvasMap,\n div,\n viewport\n } = parameters;\n\n _classStaticPrivateMethodGet(this, AnnotationLayer, _setDimensions).call(this, div, viewport);\n\n _classStaticPrivateMethodGet(this, AnnotationLayer, _setAnnotationCanvasMap).call(this, div, annotationCanvasMap);\n\n div.hidden = false;\n }\n\n}\n\nexports.AnnotationLayer = AnnotationLayer;\n\nfunction _appendElement(element, id, div, accessibilityManager) {\n const contentElement = element.firstChild || element;\n contentElement.id = `${_display_utils.AnnotationPrefix}${id}`;\n div.append(element);\n accessibilityManager === null || accessibilityManager === void 0 ? void 0 : accessibilityManager.moveElementInDOM(div, element, contentElement, false);\n}\n\nfunction _setDimensions(div, _ref2) {\n let {\n width,\n height,\n rotation\n } = _ref2;\n const {\n style\n } = div;\n const flipOrientation = rotation % 180 !== 0,\n widthStr = Math.floor(width) + \"px\",\n heightStr = Math.floor(height) + \"px\";\n style.width = flipOrientation ? heightStr : widthStr;\n style.height = flipOrientation ? widthStr : heightStr;\n div.setAttribute(\"data-main-rotation\", rotation);\n}\n\nfunction _setAnnotationCanvasMap(div, annotationCanvasMap) {\n if (!annotationCanvasMap) {\n return;\n }\n\n for (const [id, canvas] of annotationCanvasMap) {\n const element = div.querySelector(`[data-annotation-id=\"${id}\"]`);\n\n if (!element) {\n continue;\n }\n\n const {\n firstChild\n } = element;\n\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else {\n firstChild.before(canvas);\n }\n }\n\n annotationCanvasMap.clear();\n}\n\n/***/ }),\n/* 153 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\n\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\n\nclass ColorConverters {\n static CMYK_G(_ref) {\n let [c, y, m, k] = _ref;\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n\n static G_CMYK(_ref2) {\n let [g] = _ref2;\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n\n static G_RGB(_ref3) {\n let [g] = _ref3;\n return [\"RGB\", g, g, g];\n }\n\n static G_HTML(_ref4) {\n let [g] = _ref4;\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n\n static RGB_G(_ref5) {\n let [r, g, b] = _ref5;\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n\n static RGB_HTML(_ref6) {\n let [r, g, b] = _ref6;\n const R = makeColorComp(r);\n const G = makeColorComp(g);\n const B = makeColorComp(b);\n return `#${R}${G}${B}`;\n }\n\n static T_HTML() {\n return \"#00000000\";\n }\n\n static CMYK_RGB(_ref7) {\n let [c, y, m, k] = _ref7;\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n\n static RGB_CMYK(_ref8) {\n let [r, g, b] = _ref8;\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n\n}\n\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 154 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\n\nvar _xfa_text = __w_pdfjs_require__(145);\n\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n\n if (intent === \"print\") {\n break;\n }\n\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n\n break;\n\n case \"select\":\n if (storedData.value !== null) {\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n }\n }\n }\n\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n\n static setAttributes(_ref) {\n let {\n html,\n element,\n storage = null,\n intent,\n linkService\n } = _ref;\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n\n break;\n\n case \"dataId\":\n break;\n\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n\n case \"style\":\n Object.assign(html.style, value);\n break;\n\n case \"textContent\":\n html.textContent = value;\n break;\n\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n\n }\n }\n\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n\n const textDivs = [];\n\n while (stack.length > 0) {\n var _child$attributes;\n\n const [parent, i, html] = stack.at(-1);\n\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n\n const child = parent.children[++stack.at(-1)[1]];\n\n if (child === null) {\n continue;\n }\n\n const {\n name\n } = child;\n\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n\n let childHtml;\n\n if (child !== null && child !== void 0 && (_child$attributes = child.attributes) !== null && _child$attributes !== void 0 && _child$attributes.xmlns) {\n childHtml = document.createElementNS(child.attributes.xmlns, name);\n } else {\n childHtml = document.createElement(name);\n }\n\n html.append(childHtml);\n\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n\n childHtml.append(node);\n }\n }\n\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n\n return {\n textDivs\n };\n }\n\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n\n}\n\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 155 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerRenderTask = void 0;\nexports.renderTextLayer = renderTextLayer;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nconst AllWhitespaceRegexp = /^\\s+$/g;\n\nfunction getAscent(fontFamily, ctx) {\n const cachedAscent = ascentCache.get(fontFamily);\n\n if (cachedAscent) {\n return cachedAscent;\n }\n\n ctx.save();\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n\n if (ascent) {\n ctx.restore();\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n\n ctx.restore();\n\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\n\nfunction appendText(task, geom, styles, ctx) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = task._enhanceTextSelection ? {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1,\n fontSize: 0\n } : {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n\n task._textDivs.push(textDiv);\n\n const tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, ctx);\n let left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = `${left}px`;\n textDiv.style.top = `${top}px`;\n textDiv.style.fontSize = `${fontHeight}px`;\n textDiv.style.fontFamily = style.fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n let shouldScaleText = false;\n\n if (geom.str.length > 1 || task._enhanceTextSelection && AllWhitespaceRegexp.test(geom.str)) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection && textDivProperties.hasText) {\n let angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n const divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n const divHeight = fontHeight;\n let m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m\n });\n }\n}\n\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (let i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n}\n\nfunction findPositiveMin(ts, offset, count) {\n let result = 0;\n\n for (let i = 0; i < count; i++) {\n const t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n}\n\nfunction expand(task) {\n const bounds = task._bounds;\n const viewport = task._viewport;\n const expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (let i = 0; i < expanded.length; i++) {\n const div = bounds[i].div;\n\n const divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n const e = expanded[i],\n b = bounds[i];\n const m = b.m,\n c = m[0],\n s = m[1];\n const points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n const ts = new Float64Array(64);\n\n for (let j = 0, jj = points.length; j < jj; j++) {\n const t = _util.Util.applyTransform(points[j], m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n }\n\n const boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n}\n\nfunction expandBounds(width, height, boxes) {\n const bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n const expanded = new Array(boxes.length);\n\n for (const b of bounds) {\n const i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n }\n\n boxes.map(function (box, i) {\n const e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n\n for (const b of bounds) {\n const i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n }\n\n return expanded;\n}\n\nfunction expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n const fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n const horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n\n for (const boundary of bounds) {\n let i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n let j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n let horizonPart, affectedBoundary;\n let q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n let xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n const changedHorizon = [];\n let lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n const useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon.at(-1).end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon.at(-1).end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n let used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1, ...changedHorizon]);\n }\n\n for (const horizonPart of horizon) {\n const affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n }\n}\n\nclass TextLayerRenderTask {\n constructor(_ref) {\n var _globalThis$FontInspe;\n\n let {\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection\n } = _ref;\n\n if (enhanceTextSelection) {\n (0, _display_utils.deprecated)(\"The `enhanceTextSelection` functionality will be removed in the future.\");\n }\n\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._document = container.ownerDocument;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n this._devicePixelRatio = globalThis.devicePixelRatio || 1;\n\n this._capability.promise.finally(() => {\n if (!this._enhanceTextSelection) {\n this._textDivProperties = null;\n }\n\n if (this._layoutTextCtx) {\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n }).catch(() => {});\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n }\n\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n if (items[i].str === undefined) {\n if (items[i].type === \"beginMarkedContentProps\" || items[i].type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n\n this._container.classList.add(\"markedContent\");\n\n if (items[i].id !== null) {\n this._container.setAttribute(\"id\", `${items[i].id}`);\n }\n\n parent.append(this._container);\n } else if (items[i].type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n\n continue;\n }\n\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache, this._layoutTextCtx);\n }\n }\n\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n\n let transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0 && textDivProperties.hasText) {\n const {\n fontFamily\n } = textDiv.style;\n const {\n fontSize\n } = textDivProperties;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = `${fontSize * this._devicePixelRatio}px ${fontFamily}`;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n const {\n width\n } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n if (width > 0) {\n const scale = this._devicePixelRatio * textDivProperties.canvasWidth / width;\n\n if (this._enhanceTextSelection) {\n textDivProperties.scale = scale;\n }\n\n transform = `scaleX(${scale})`;\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n if (textDivProperties.hasText) {\n this._container.append(textDiv);\n }\n\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n\n this._container.append(br);\n }\n }\n\n _render() {\n let timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n const capability = (0, _util.createPromiseCapability)();\n let styleCache = Object.create(null);\n\n const canvas = this._document.createElement(\"canvas\");\n\n canvas.height = canvas.width = DEFAULT_FONT_SIZE;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(_ref2 => {\n let {\n value,\n done\n } = _ref2;\n\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n this._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\" parameters specified.');\n }\n\n capability.promise.then(() => {\n styleCache = null;\n\n if (!timeout) {\n render(this);\n } else {\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n }\n\n expandTextDivs() {\n let expandDivs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n const transformBuf = [],\n paddingBuf = [];\n\n for (let i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n\n const divProps = this._textDivProperties.get(div);\n\n if (!divProps.hasText) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(`${divProps.paddingTop}px`);\n transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(`${divProps.paddingBottom}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n transformBuf.push(`translateX(${-divProps.paddingLeft / divProps.scale}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n\n}\n\nexports.TextLayerRenderTask = TextLayerRenderTask;\n\nfunction renderTextLayer(renderParameters) {\n const task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n}\n\n/***/ }),\n/* 156 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nlet SVGGraphics = class {\n constructor() {\n (0, _util.unreachable)(\"Not implemented: SVGGraphics\");\n }\n\n};\nexports.SVGGraphics = SVGGraphics;\n{\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n const createObjectURL = function (data) {\n let contentType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n\n for (let i = 0; i < 256; i++) {\n let c = i;\n\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n let crc = -1;\n\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n let input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n clone() {\n return Object.create(this);\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n }\n\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree.at(-1).items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n\n return opTree;\n }\n\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n const s = value.toFixed(10);\n let i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n }\n\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class {\n constructor(commonObjs, objs) {\n let forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n (0, _display_utils.deprecated)(\"The SVG back-end is no longer maintained and *may* be removed in the future.\");\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n\n const svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.append(current.tspan);\n }\n\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n let textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.append(current.tspan);\n current.txtgrp.append(current.txtElement);\n\n this._ensureTransformGroup().append(current.txtElement);\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.append(this.cssStyle);\n }\n\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n\n endText() {\n var _current$txtElement;\n\n const current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().append(rect);\n }\n\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.append(bbox.childNodes[0]);\n this.defs.append(tiling);\n return `url(#${tilingId})`;\n }\n\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.append(stop);\n }\n\n this.defs.append(gradient);\n return `url(#${shadingId})`;\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().append(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n\n endPath() {\n const current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.append(clipElement);\n this.defs.append(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n\n clip(type) {\n this.pendingClip = type;\n }\n\n closePath() {\n const current = this.current;\n\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n\n fill() {\n const current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n\n stroke() {\n const current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n\n _setStrokeAttributes(element) {\n let lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n const current = this.current;\n let dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n\n fillStroke() {\n this.stroke();\n this.fill();\n }\n\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().append(rect);\n }\n\n paintImageXObject(objId) {\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n\n if (mask) {\n mask.append(imgEl);\n } else {\n this._ensureTransformGroup().append(imgEl);\n }\n }\n\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.append(mask);\n\n this._ensureTransformGroup().append(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {}\n\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.append(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.append(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.append(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().append(this.tgrp);\n } else {\n this.svg.append(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n\n };\n}\n\n/***/ }),\n/* 157 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(158);\n\n;\n\nconst fs = require(\"fs\");\n\nconst http = require(\"http\");\n\nconst https = require(\"https\");\n\nconst url = require(\"url\");\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFNodeStream = PDFNodeStream;\n\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._headersCapability.resolve();\n\n this._setReadableStream(response);\n\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n\n this._headersCapability.reject(reason);\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n this._httpHeaders[property] = value;\n }\n\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n\n this._setReadableStream(response);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._contentLength = stat.size;\n\n this._setReadableStream(fs.createReadStream(path));\n\n this._headersCapability.resolve();\n });\n }\n\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n\n}\n\n/***/ }),\n/* 158 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _content_disposition = __w_pdfjs_require__(159);\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nfunction validateRangeRequestCapabilities(_ref) {\n let {\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n } = _ref;\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 159 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nvar _util = __w_pdfjs_require__(1);\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch (e) {}\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n const parts = [];\n\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 160 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(158);\n\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n const array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nclass NetworkManager {\n constructor(url) {\n let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n\n requestFull(listeners) {\n return this.request(listeners);\n }\n\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n\n onProgress(xhrId, evt) {\n var _pendingRequest$onPro;\n\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n (_pendingRequest$onPro = pendingRequest.onProgress) === null || _pendingRequest$onPro === void 0 ? void 0 : _pendingRequest$onPro.call(pendingRequest, evt);\n }\n\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n const xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n var _pendingRequest$onErr;\n\n (_pendingRequest$onErr = pendingRequest.onError) === null || _pendingRequest$onErr === void 0 ? void 0 : _pendingRequest$onErr.call(pendingRequest, xhr.status);\n return;\n }\n\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n var _pendingRequest$onErr2;\n\n (_pendingRequest$onErr2 = pendingRequest.onError) === null || _pendingRequest$onErr2 === void 0 ? void 0 : _pendingRequest$onErr2.call(pendingRequest, xhr.status);\n return;\n }\n\n const chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n var _pendingRequest$onErr3;\n\n (_pendingRequest$onErr3 = pendingRequest.onError) === null || _pendingRequest$onErr3 === void 0 ? void 0 : _pendingRequest$onErr3.call(pendingRequest, xhr.status);\n }\n }\n\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n\n}\n\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n var _this$_fullRequestRea;\n\n (_this$_fullRequestRea = this._fullRequestReader) === null || _this$_fullRequestRea === void 0 ? void 0 : _this$_fullRequestRea.cancel(reason);\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n }\n\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n this._headersReceivedCapability.reject(this._storedError);\n\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n\n _onProgress(evt) {\n var _this$onProgress;\n\n (_this$onProgress = this.onProgress) === null || _this$onProgress === void 0 ? void 0 : _this$onProgress.call(this, {\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n\n}\n\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _close() {\n var _this$onClosed;\n\n (_this$onClosed = this.onClosed) === null || _this$onClosed === void 0 ? void 0 : _this$onClosed.call(this, this);\n }\n\n _onDone(data) {\n const chunk = data.chunk;\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n this._close();\n }\n\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n var _this$onProgress2;\n\n (_this$onProgress2 = this.onProgress) === null || _this$onProgress2 === void 0 ? void 0 : _this$onProgress2.call(this, {\n loaded: evt.loaded\n });\n }\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n\n this._requests.length = 0;\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n\n}\n\n/***/ }),\n/* 161 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _network_utils = __w_pdfjs_require__(158);\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n var _this$_fullRequestRea, _this$_fullRequestRea2;\n\n return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n\n}\n\nexports.PDFFetchStream = PDFFetchStream;\n\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._abortController = new AbortController();\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._reader = response.body.getReader();\n\n this._headersCapability.resolve();\n\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n this._abortController.abort();\n }\n\n}\n\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n this._abortController = new AbortController();\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._readCapability.resolve();\n\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n this._abortController.abort();\n }\n\n}\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be in strict mode.\n(() => {\n\"use strict\";\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationEditorLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_editor_layer.AnnotationEditorLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorParamsType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorParamsType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorUIManager\", ({\n enumerable: true,\n get: function () {\n return _tools.AnnotationEditorUIManager;\n }\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"LoopbackPort\", ({\n enumerable: true,\n get: function () {\n return _api.LoopbackPort;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _svg.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", ({\n enumerable: true,\n get: function () {\n return _util.UNSUPPORTED_FEATURES;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createPromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.createPromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\n\nvar _util = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(129);\n\nvar _display_utils = __w_pdfjs_require__(133);\n\nvar _annotation_editor_layer = __w_pdfjs_require__(147);\n\nvar _tools = __w_pdfjs_require__(132);\n\nvar _annotation_layer = __w_pdfjs_require__(152);\n\nvar _worker_options = __w_pdfjs_require__(140);\n\nvar _is_node = __w_pdfjs_require__(3);\n\nvar _text_layer = __w_pdfjs_require__(155);\n\nvar _svg = __w_pdfjs_require__(156);\n\nvar _xfa_layer = __w_pdfjs_require__(154);\n\nconst pdfjsVersion = '2.16.105';\nconst pdfjsBuild = '172ccdbe5';\n{\n if (_is_node.isNodeJS) {\n const {\n PDFNodeStream\n } = __w_pdfjs_require__(157);\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const {\n PDFNetworkStream\n } = __w_pdfjs_require__(160);\n\n const {\n PDFFetchStream\n } = __w_pdfjs_require__(161);\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n if ((0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.js.map",":host {\n position: relative;\n display: inline-flex;\n width: 100%;\n height: 100%;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.file-viewer-pdf__pages {\n overflow: auto;\n width: 100%;\n height: 100%;\n padding: var(--s-space-16);\n}\n\n.file-viewer-pdf__page {\n position: relative;\n margin-right: auto;\n margin-left: auto;\n\n &:not(:last-of-type) {\n margin-bottom: var(--s-space-8);\n }\n}\n\n.file-viewer-pdf__canvas {\n width: 100%;\n height: 100%;\n margin-right: auto;\n margin-left: auto;\n box-shadow: 0.125rem 0.25rem 1rem rgba(0, 0, 0, 0.08);\n}\n\n.file-viewer-pdf__text-container {\n position: absolute;\n overflow: hidden;\n line-height: 1;\n text-align: initial;\n inset: 0;\n text-size-adjust: none;\n forced-color-adjust: none;\n\n & > * {\n position: absolute;\n color: transparent;\n white-space: pre;\n cursor: text;\n transform-origin: 0% 0%;\n\n &.markedContent {\n top: 0;\n height: 0;\n }\n\n &.highlight {\n margin: -1px;\n padding: 1px;\n border-radius: 4px;\n background-color: rgba(180, 0, 170, 1);\n }\n\n &.highlight.appended {\n position: initial;\n }\n\n &.highlight.begin {\n border-radius: 4px 0 0 4px;\n }\n\n &.highlight.end {\n border-radius: 0 4px 4px 0;\n }\n\n &.highlight.middle {\n border-radius: 0;\n }\n\n &.highlight.selected {\n background-color: rgba(0, 100, 0, 1);\n }\n\n &.endOfContent {\n position: absolute;\n z-index: -1;\n top: 100%;\n right: 0;\n bottom: 0;\n left: 0;\n display: block;\n cursor: default;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n }\n\n &.endOfContent.active {\n top: 0;\n }\n }\n\n & > br {\n &::-moz-selection {\n background: transparent;\n }\n &::selection {\n background: transparent;\n }\n }\n}\n\n.file-viewer-pdf__spinner {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(0, 0, 0, 0.2);\n inset: 0;\n}\n\n.file-viewer-pdf__error {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -50%, 0);\n}\n\n.file-viewer-pdf__pagination {\n position: absolute;\n bottom: var(--s-space-32);\n left: 50%;\n padding: var(--s-space-4) var(--s-space-12);\n border-radius: var(--s-border-radius-base);\n color: var(--s-text-on-image);\n background-color: rgba(0, 0, 0, 0.6);\n font-weight: var(--s-font-weight-medium);\n line-height: var(--s-line-height-base);\n transform: translateX(-50%);\n pointer-events: none;\n}\n","import {\n Component,\n Element,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from \"@stencil/core\";\nimport pdf, {\n getDocument,\n PDFDocumentProxy,\n PDFPageProxy,\n renderTextLayer,\n} from \"pdfjs-dist/legacy/build/pdf.js\";\nimport { getVisibleHeight } from \"../../../../utils\";\n\npdf.GlobalWorkerOptions.workerSrc = \"/pdfjs/pdf.worker.min.js\";\n\nexport type FlipFileViewerPdfZoom = number | \"auto\";\n\n@Component({\n shadow: true,\n styleUrl: \"flip-file-viewer-pdf.css\",\n tag: \"flip-file-viewer-pdf\",\n})\nexport class FlipFileViewerPdf {\n @Element() el: HTMLElement;\n\n @Prop() errorMessage?: string = \"File could not be loaded.\";\n @Prop() file!: string;\n @Prop() zoom?: FlipFileViewerPdfZoom = 1;\n\n @State() doc: PDFDocumentProxy;\n @State() error: boolean;\n @State() loading: boolean = true;\n @State() visiblePages: number[] = [];\n\n private pages: PDFPageProxy[] = [];\n private renderedPages: number[] = [];\n private renderingPageNumbers: number[] = [];\n private scrollContainer: HTMLDivElement;\n\n async componentWillLoad() {\n await this.getPages();\n }\n\n async componentDidLoad() {\n await this.updateVisiblePages();\n }\n\n @Listen(\"resize\", { target: \"window\" })\n async onWindowResize() {\n this.visiblePages = [];\n this.renderedPages = [];\n await this.updateVisiblePages();\n }\n\n @Watch(\"file\")\n async watchProps() {\n await this.getPages();\n await this.updateVisiblePages();\n }\n\n /**\n * Print the file.\n */\n @Method()\n async print() {\n this.loading = true;\n\n await this.updateVisiblePages(true);\n await this.openPrintDialog();\n\n this.loading = false;\n }\n\n private async getPages() {\n this.error = false;\n this.loading = true;\n\n try {\n this.doc = await getDocument(this.file).promise;\n\n for (let i = 1; i <= this.doc.numPages; i++) {\n const page = await this.doc.getPage(i);\n this.pages[i] = page;\n }\n\n this.loading = false;\n } catch (e) {\n this.error = true;\n this.loading = false;\n }\n }\n\n private async renderVisiblePages(forPrint?: boolean) {\n const canvases = Array.from(this.el.shadowRoot.querySelectorAll(\"canvas\"));\n const renderedPages = [];\n\n for (const canvas of canvases) {\n const container = canvas.closest<HTMLDivElement>(\n \".file-viewer-pdf__page\"\n );\n\n const textContainer = container?.querySelector<HTMLDivElement>(\n \".file-viewer-pdf__text-container\"\n );\n\n const page = this.pages.find(\n (page) => page?.pageNumber === +container?.dataset.pageNumber\n );\n\n if (\n !Boolean(page) ||\n !this.visiblePages.includes(page.pageNumber) ||\n this.renderingPageNumbers.includes(page.pageNumber)\n ) {\n continue;\n }\n\n if (this.renderedPages.includes(page.pageNumber) && !forPrint) {\n renderedPages.push(page.pageNumber);\n continue;\n }\n\n this.renderingPageNumbers = [\n ...this.renderingPageNumbers,\n page.pageNumber,\n ];\n\n const scale = forPrint ? 4 : this.getScale(page);\n\n const viewport = page.getViewport({\n scale,\n });\n\n const context = canvas.getContext(\"2d\");\n\n canvas.height = viewport.height;\n canvas.width = viewport.width;\n\n const renderContext = {\n canvasContext: context,\n viewport: viewport,\n };\n\n await page.render(renderContext).promise;\n\n this.renderTextLayer(page, textContainer);\n\n renderedPages.push(page.pageNumber);\n\n this.renderingPageNumbers = this.renderingPageNumbers.filter(\n (pageNumber) => pageNumber !== page.pageNumber\n );\n }\n\n this.renderedPages = renderedPages;\n }\n\n private async updateVisiblePages(forPrint?: boolean) {\n const pages = Array.from(\n this.el.shadowRoot.querySelectorAll<HTMLDivElement>(\n \".file-viewer-pdf__page\"\n )\n );\n\n let visiblePages = forPrint\n ? pages.map((page) => +page.dataset.pageNumber)\n : pages\n .filter((page) => getVisibleHeight(page, this.scrollContainer) > 0)\n .map((page) => +page.dataset.pageNumber);\n\n if (visiblePages.length === 0) {\n visiblePages = [1, 2, 3, 4];\n }\n\n const visiblePagesDidNotChanged =\n this.visiblePages.length === visiblePages.length &&\n this.visiblePages.every((pageNumber) =>\n visiblePages.includes(pageNumber)\n );\n\n if (visiblePagesDidNotChanged) {\n return;\n }\n\n this.visiblePages = visiblePages;\n\n await this.renderVisiblePages(forPrint);\n }\n\n private async renderTextLayer(page: PDFPageProxy, container: HTMLElement) {\n renderTextLayer({\n container,\n textContent: await page.getTextContent(),\n viewport: page.getViewport({\n scale:\n this.zoom === \"auto\" ? this.getScale(page) : this.getScale(page) / 2,\n }),\n });\n }\n\n private async openPrintDialog() {\n const canvases = Array.from(\n this.scrollContainer.querySelectorAll(\"canvas\")\n );\n\n let styles = `\n *, *:before, *:after {\n margin: 0;\n padding: 0;\n }\n\n img {\n display: block;\n width: 100%;\n }\n `;\n\n let html = `\n <!DOCTYPE html>\n <html lang=\"en\">\n <head>\n <meta charset=\"UTF-8\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>${this.file}</title>\n <style>${styles}</style>\n </head>\n <body>\n `;\n\n for (const canvas of canvases) {\n html += `<img src=\"${canvas.toDataURL()}\">`;\n }\n\n html += `\n </body>\n </html>\n `;\n\n const win = window.open(\" \");\n\n win.document.write(html);\n win.document.close();\n win.focus();\n\n await new Promise((resolve) => setTimeout(resolve));\n\n win.print();\n win.close();\n }\n\n private getScale(page: PDFPageProxy) {\n return this.zoom === \"auto\"\n ? (this.scrollContainer?.clientWidth - 32) / page.view[2]\n : isNaN(this.zoom)\n ? 2\n : this.zoom * 2;\n }\n\n private onScroll = () => {\n this.updateVisiblePages();\n };\n\n render() {\n const showPagination =\n !this.error && !this.loading && this.visiblePages.length > 0;\n\n const showSpinner = this.loading;\n\n return (\n <Host class=\"file-viewer-pdf\">\n {this.error && (\n <flip-inline-error\n class=\"file-viewer-pdf__error\"\n message={this.errorMessage}\n ></flip-inline-error>\n )}\n <div\n aria-describedby=\"pagination\"\n class=\"file-viewer-pdf__pages\"\n onScroll={this.onScroll}\n ref={(el) => (this.scrollContainer = el)}\n >\n {this.pages.map((page) => {\n const viewport = page.getViewport({\n scale: this.getScale(page) / 2,\n });\n\n return (\n <div\n aria-label={page.pageNumber}\n class=\"file-viewer-pdf__page\"\n data-page-number={page.pageNumber}\n id={`page-${page.pageNumber}`}\n key={page.pageNumber}\n role=\"region\"\n style={{\n width:\n this.zoom === \"auto\" ? undefined : `${viewport.width}px`,\n height:\n this.zoom === \"auto\" ? undefined : `${viewport.height}px`,\n }}\n tabIndex={0}\n >\n <canvas class=\"file-viewer-pdf__canvas\"></canvas>\n <div class=\"file-viewer-pdf__text-container\"></div>\n </div>\n );\n })}\n </div>\n {showPagination && (\n <span class=\"file-viewer-pdf__pagination\" id=\"pagination\">\n <span aria-current=\"page\">{this.visiblePages[0]}</span> /{\" \"}\n {this.doc.numPages}\n </span>\n )}\n {showSpinner && (\n <div class=\"file-viewer-pdf__spinner\">\n <flip-spinner></flip-spinner>\n </div>\n )}\n </Host>\n );\n }\n}\n",":host {\n position: relative;\n display: inline-flex;\n width: 100%;\n max-height: 100%;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.file-viewer-text__text {\n overflow: auto;\n width: 100%;\n max-height: 100%;\n margin: 0;\n padding: 0;\n font-family: var(--s-font-family-code);\n}\n\n.file-viewer-text__spinner {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: rgba(0, 0, 0, 0.2);\n inset: 0;\n}\n\n.file-viewer-text__error {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -50%, 0);\n}\n","import { Component, h, Host, Prop, State, Watch } from \"@stencil/core\";\n\n@Component({\n shadow: true,\n styleUrl: \"flip-file-viewer-text.css\",\n tag: \"flip-file-viewer-text\",\n})\nexport class FlipFileViewerText {\n @Prop() errorMessage?: string = \"File could not be loaded.\";\n @Prop() file!: string;\n\n @State() error: boolean;\n @State() loading: boolean;\n @State() text: string;\n\n componentWillLoad() {\n this.updateText();\n }\n\n @Watch(\"file\")\n async updateText() {\n this.error = false;\n this.loading = true;\n\n try {\n const response = await fetch(this.file);\n\n this.text = await response.text();\n this.loading = false;\n } catch (e) {\n this.loading = false;\n this.error = true;\n }\n }\n\n render() {\n return (\n <Host class=\"file-viewer-text\">\n {this.error && (\n <flip-inline-error\n class=\"file-viewer-text__error\"\n message={this.errorMessage}\n ></flip-inline-error>\n )}\n <pre class=\"file-viewer-text__text\" tabIndex={0}>\n {this.text}\n </pre>\n {this.loading && (\n <div class=\"file-viewer-text__spinner\">\n <flip-spinner></flip-spinner>\n </div>\n )}\n </Host>\n );\n }\n}\n",":host {\n display: inline-flex;\n width: 100%;\n height: 100%;\n\n & * {\n box-sizing: border-box;\n }\n}\n\n.file-viewer-video__video {\n width: 100%;\n height: 100%;\n}\n","import { Component, h, Host, Prop } from \"@stencil/core\";\n\n@Component({\n shadow: true,\n styleUrl: \"flip-file-viewer-video.css\",\n tag: \"flip-file-viewer-video\",\n})\nexport class FlipFileViewerVideo {\n @Prop() file!: string;\n @Prop() type!: string;\n\n render() {\n return (\n <Host class=\"file-viewer-video\">\n <video class=\"file-viewer-video__video\" controls>\n <source src={this.file} type={this.type}></source>\n </video>\n </Host>\n );\n }\n}\n"]}
|