From 11d9bde8f8b2c0086a25c9bae65affd5e3b75c93 Mon Sep 17 00:00:00 2001 From: David Nguyen Date: Wed, 19 Nov 2025 14:15:12 +1100 Subject: [PATCH 01/22] fix: improve sealing speed (#2210) --- .../internal/seal-document.handler.ts | 263 +++++++----------- 1 file changed, 101 insertions(+), 162 deletions(-) diff --git a/packages/lib/jobs/definitions/internal/seal-document.handler.ts b/packages/lib/jobs/definitions/internal/seal-document.handler.ts index 2180e1fd2..ccd5754bd 100644 --- a/packages/lib/jobs/definitions/internal/seal-document.handler.ts +++ b/packages/lib/jobs/definitions/internal/seal-document.handler.ts @@ -25,7 +25,6 @@ import { signPdf } from '@documenso/signing'; import { AppError, AppErrorCode } from '../../../errors/app-error'; import { sendCompletedEmail } from '../../../server-only/document/send-completed-email'; -import PostHogServerClient from '../../../server-only/feature-flags/get-post-hog-server-client'; import { getAuditLogsPdf } from '../../../server-only/htmltopdf/get-audit-logs-pdf'; import { getCertificatePdf } from '../../../server-only/htmltopdf/get-certificate-pdf'; import { addRejectionStampToPdf } from '../../../server-only/pdf/add-rejection-stamp-to-pdf'; @@ -62,171 +61,120 @@ export const run = async ({ }) => { const { documentId, sendEmail = true, isResealing = false, requestMetadata } = payload; - const envelope = await prisma.envelope.findFirstOrThrow({ - where: { - type: EnvelopeType.DOCUMENT, - secondaryId: mapDocumentIdToSecondaryId(documentId), - }, - include: { - documentMeta: true, - recipients: true, - envelopeItems: { - include: { - documentData: true, - field: { - include: { - signature: true, + const { envelopeId, envelopeStatus, isRejected } = await io.runTask('seal-document', async () => { + const envelope = await prisma.envelope.findFirstOrThrow({ + where: { + type: EnvelopeType.DOCUMENT, + secondaryId: mapDocumentIdToSecondaryId(documentId), + }, + include: { + documentMeta: true, + recipients: true, + envelopeItems: { + include: { + documentData: true, + field: { + include: { + signature: true, + }, }, }, }, }, - }, - }); - - if (envelope.envelopeItems.length === 0) { - throw new Error('At least one envelope item required'); - } - - const settings = await getTeamSettings({ - userId: envelope.userId, - teamId: envelope.teamId, - }); - - const isComplete = - envelope.recipients.some((recipient) => recipient.signingStatus === SigningStatus.REJECTED) || - envelope.recipients.every((recipient) => recipient.signingStatus === SigningStatus.SIGNED); - - if (!isComplete) { - throw new AppError(AppErrorCode.UNKNOWN_ERROR, { - message: 'Document is not complete', }); - } - // Seems silly but we need to do this in case the job is re-ran - // after it has already run through the update task further below. - // eslint-disable-next-line @typescript-eslint/require-await - const documentStatus = await io.runTask('get-document-status', async () => { - return envelope.status; - }); + if (envelope.envelopeItems.length === 0) { + throw new Error('At least one envelope item required'); + } - // This is the same case as above. - let envelopeItems = await io.runTask( - 'get-document-data-id', - // eslint-disable-next-line @typescript-eslint/require-await - async () => { - // eslint-disable-next-line unused-imports/no-unused-vars - return envelope.envelopeItems.map(({ field, ...rest }) => ({ - ...rest, - })); - }, - ); + const settings = await getTeamSettings({ + userId: envelope.userId, + teamId: envelope.teamId, + }); - if (envelopeItems.length < 1) { - throw new Error(`Document ${envelope.id} has no envelope items`); - } + const isComplete = + envelope.recipients.some((recipient) => recipient.signingStatus === SigningStatus.REJECTED) || + envelope.recipients.every((recipient) => recipient.signingStatus === SigningStatus.SIGNED); - const recipients = await prisma.recipient.findMany({ - where: { - envelopeId: envelope.id, - role: { - not: RecipientRole.CC, - }, - }, - }); + if (!isComplete) { + throw new AppError(AppErrorCode.UNKNOWN_ERROR, { + message: 'Document is not complete', + }); + } - // Determine if the document has been rejected by checking if any recipient has rejected it - const rejectedRecipient = recipients.find( - (recipient) => recipient.signingStatus === SigningStatus.REJECTED, - ); + let envelopeItems = envelope.envelopeItems; - const isRejected = Boolean(rejectedRecipient); + if (envelopeItems.length < 1) { + throw new Error(`Document ${envelope.id} has no envelope items`); + } - // Get the rejection reason from the rejected recipient - const rejectionReason = rejectedRecipient?.rejectionReason ?? ''; - - const fields = await prisma.field.findMany({ - where: { - envelopeId: envelope.id, - }, - include: { - signature: true, - }, - }); - - // Skip the field check if the document is rejected - if (!isRejected && fieldsContainUnsignedRequiredField(fields)) { - throw new Error(`Document ${envelope.id} has unsigned required fields`); - } - - if (isResealing) { - // If we're resealing we want to use the initial data for the document - // so we aren't placing fields on top of eachother. - envelopeItems = envelopeItems.map((envelopeItem) => ({ - ...envelopeItem, - documentData: { - ...envelopeItem.documentData, - data: envelopeItem.documentData.initialData, - }, - })); - } - - if (!envelope.qrToken) { - await prisma.envelope.update({ + const recipients = await prisma.recipient.findMany({ where: { - id: envelope.id, - }, - data: { - qrToken: prefixedId('qr'), + envelopeId: envelope.id, + role: { + not: RecipientRole.CC, + }, }, }); - } - const legacyDocumentId = mapSecondaryIdToDocumentId(envelope.secondaryId); + // Determine if the document has been rejected by checking if any recipient has rejected it + const rejectedRecipient = recipients.find( + (recipient) => recipient.signingStatus === SigningStatus.REJECTED, + ); - const { certificateData, auditLogData } = await getCertificateAndAuditLogData({ - legacyDocumentId, - documentMeta: envelope.documentMeta, - settings, - }); + const isRejected = Boolean(rejectedRecipient); - // !: The commented out code is our desired implementation but we're seemingly - // !: running into issues with inngest parallelism in production. - // !: Until this is resolved we will do this sequentially which is slower but - // !: will actually work. - // const decoratePromises: Array> = - // []; + // Get the rejection reason from the rejected recipient + const rejectionReason = rejectedRecipient?.rejectionReason ?? ''; - // for (const envelopeItem of envelopeItems) { - // const task = io.runTask(`decorate-${envelopeItem.id}`, async () => { - // const envelopeItemFields = envelope.envelopeItems.find( - // (item) => item.id === envelopeItem.id, - // )?.field; + const fields = await prisma.field.findMany({ + where: { + envelopeId: envelope.id, + }, + include: { + signature: true, + }, + }); - // if (!envelopeItemFields) { - // throw new Error(`Envelope item fields not found for envelope item ${envelopeItem.id}`); - // } + // Skip the field check if the document is rejected + if (!isRejected && fieldsContainUnsignedRequiredField(fields)) { + throw new Error(`Document ${envelope.id} has unsigned required fields`); + } - // return decorateAndSignPdf({ - // envelope, - // envelopeItem, - // envelopeItemFields, - // isRejected, - // rejectionReason, - // certificateData, - // auditLogData, - // }); - // }); + if (isResealing) { + // If we're resealing we want to use the initial data for the document + // so we aren't placing fields on top of eachother. + envelopeItems = envelopeItems.map((envelopeItem) => ({ + ...envelopeItem, + documentData: { + ...envelopeItem.documentData, + data: envelopeItem.documentData.initialData, + }, + })); + } - // decoratePromises.push(task); - // } + if (!envelope.qrToken) { + await prisma.envelope.update({ + where: { + id: envelope.id, + }, + data: { + qrToken: prefixedId('qr'), + }, + }); + } - // const newDocumentData = await Promise.all(decoratePromises); + const legacyDocumentId = mapSecondaryIdToDocumentId(envelope.secondaryId); - // TODO: Remove once parallelization is working - const newDocumentData: Array<{ oldDocumentDataId: string; newDocumentDataId: string }> = []; + const { certificateData, auditLogData } = await getCertificateAndAuditLogData({ + legacyDocumentId, + documentMeta: envelope.documentMeta, + settings, + }); - for (const envelopeItem of envelopeItems) { - const result = await io.runTask(`decorate-${envelopeItem.id}`, async () => { + const newDocumentData: Array<{ oldDocumentDataId: string; newDocumentDataId: string }> = []; + + for (const envelopeItem of envelopeItems) { const envelopeItemFields = envelope.envelopeItems.find( (item) => item.id === envelopeItem.id, )?.field; @@ -235,7 +183,7 @@ export const run = async ({ throw new Error(`Envelope item fields not found for envelope item ${envelopeItem.id}`); } - return decorateAndSignPdf({ + const result = await decorateAndSignPdf({ envelope, envelopeItem, envelopeItemFields, @@ -244,25 +192,10 @@ export const run = async ({ certificateData, auditLogData, }); - }); - newDocumentData.push(result); - } + newDocumentData.push(result); + } - const postHog = PostHogServerClient(); - - if (postHog) { - postHog.capture({ - distinctId: nanoid(), - event: 'App: Document Sealed', - properties: { - documentId: envelope.id, - isRejected, - }, - }); - } - - await io.runTask('update-document', async () => { await prisma.$transaction(async (tx) => { for (const { oldDocumentDataId, newDocumentDataId } of newDocumentData) { const newData = await tx.documentData.findFirstOrThrow({ @@ -304,18 +237,24 @@ export const run = async ({ }), }); }); + + return { + envelopeId: envelope.id, + envelopeStatus: envelope.status, + isRejected, + }; }); await io.runTask('send-completed-email', async () => { let shouldSendCompletedEmail = sendEmail && !isResealing && !isRejected; - if (isResealing && !isDocumentCompleted(envelope.status)) { + if (isResealing && !isDocumentCompleted(envelopeStatus)) { shouldSendCompletedEmail = sendEmail; } if (shouldSendCompletedEmail) { await sendCompletedEmail({ - id: { type: 'envelopeId', id: envelope.id }, + id: { type: 'envelopeId', id: envelopeId }, requestMetadata, }); } @@ -323,7 +262,7 @@ export const run = async ({ const updatedEnvelope = await prisma.envelope.findFirstOrThrow({ where: { - id: envelope.id, + id: envelopeId, }, include: { documentMeta: true, From 374477e692e9c5159dac92604d2414b9f6b8ed98 Mon Sep 17 00:00:00 2001 From: Catalin Pit Date: Thu, 20 Nov 2025 02:04:41 +0200 Subject: [PATCH 02/22] refactor: improve layout of completed signing page (#2209) --- .../_recipient+/sign.$token+/complete.tsx | 35 +++++++++++++------ .../document/get-document-by-token.ts | 1 + .../document/document-share-button.tsx | 4 +-- 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx b/apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx index eb875fcff..ed2597cb3 100644 --- a/apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +++ b/apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx @@ -84,6 +84,13 @@ export async function loader({ params, request }: Route.LoaderArgs) { const canSignUp = !isExistingUser && env('NEXT_PUBLIC_DISABLE_SIGNUP') !== 'true'; + const canRedirectToFolder = + user && document.userId === user.id && document.folderId && document.team?.url; + + const returnToHomePath = canRedirectToFolder + ? `/t/${document.team.url}/documents/f/${document.folderId}` + : '/'; + return { isDocumentAccessValid: true, canSignUp, @@ -92,6 +99,7 @@ export async function loader({ params, request }: Route.LoaderArgs) { signatures, document, recipient, + returnToHomePath, }; } @@ -109,6 +117,7 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp document, recipient, recipientEmail, + returnToHomePath, } = loaderData; if (!isDocumentAccessValid) { @@ -118,7 +127,7 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp return (
@@ -202,8 +211,12 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp

))} -
- +
+ {isDocumentCompleted(document.status) && ( + } /> )} + + {user && ( + + )}
@@ -238,12 +259,6 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp
)} - - {user && ( - - Go Back Home - - )} diff --git a/packages/lib/server-only/document/get-document-by-token.ts b/packages/lib/server-only/document/get-document-by-token.ts index fd264c5d8..47b009a69 100644 --- a/packages/lib/server-only/document/get-document-by-token.ts +++ b/packages/lib/server-only/document/get-document-by-token.ts @@ -103,6 +103,7 @@ export const getDocumentAndSenderByToken = async ({ select: { name: true, teamEmail: true, + url: true, teamGlobalSettings: { select: { brandingEnabled: true, diff --git a/packages/ui/components/document/document-share-button.tsx b/packages/ui/components/document/document-share-button.tsx index f546abaeb..c04cb28d3 100644 --- a/packages/ui/components/document/document-share-button.tsx +++ b/packages/ui/components/document/document-share-button.tsx @@ -127,11 +127,11 @@ export const DocumentShareButton = ({ )} From f5d63fb76c74a83457efbfca3bb350f8a0c20879 Mon Sep 17 00:00:00 2001 From: Karlo <41088744+KarloDerEchte@users.noreply.github.com> Date: Thu, 20 Nov 2025 03:08:36 +0100 Subject: [PATCH 03/22] feat: add option to change or disable OIDC login prompt parameter (#2037) --- .env.example | 4 ++++ .../server/lib/utils/handle-oauth-authorize-url.ts | 10 +++++++--- turbo.json | 3 ++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.env.example b/.env.example index 980792eb6..dcf3dcb58 100644 --- a/.env.example +++ b/.env.example @@ -23,6 +23,10 @@ NEXT_PRIVATE_OIDC_CLIENT_ID="" NEXT_PRIVATE_OIDC_CLIENT_SECRET="" NEXT_PRIVATE_OIDC_PROVIDER_LABEL="OIDC" NEXT_PRIVATE_OIDC_SKIP_VERIFY="" +# Specifies the prompt to use for OIDC signin, explicitly setting +# an empty string will omit the prompt parameter. +# See: https://www.cerberauth.com/blog/openid-connect-oauth2-prompts/ +NEXT_PRIVATE_OIDC_PROMPT="login" # [[URLS]] NEXT_PUBLIC_WEBAPP_URL="http://localhost:3000" diff --git a/packages/auth/server/lib/utils/handle-oauth-authorize-url.ts b/packages/auth/server/lib/utils/handle-oauth-authorize-url.ts index d0fa72d1d..f62d27fa9 100644 --- a/packages/auth/server/lib/utils/handle-oauth-authorize-url.ts +++ b/packages/auth/server/lib/utils/handle-oauth-authorize-url.ts @@ -27,13 +27,13 @@ type HandleOAuthAuthorizeUrlOptions = { /** * Optional prompt to pass to the authorization endpoint. */ - prompt?: 'login' | 'consent' | 'select_account'; + prompt?: 'none' | 'login' | 'consent' | 'select_account'; }; const oauthCookieMaxAge = 60 * 10; // 10 minutes. export const handleOAuthAuthorizeUrl = async (options: HandleOAuthAuthorizeUrlOptions) => { - const { c, clientOptions, redirectPath, prompt = 'login' } = options; + const { c, clientOptions, redirectPath } = options; if (!clientOptions.clientId || !clientOptions.clientSecret) { throw new AppError(AppErrorCode.NOT_SETUP); @@ -63,7 +63,11 @@ export const handleOAuthAuthorizeUrl = async (options: HandleOAuthAuthorizeUrlOp ); // Pass the prompt to the authorization endpoint. - url.searchParams.append('prompt', prompt); + if (process.env.NEXT_PRIVATE_OIDC_PROMPT !== '') { + const prompt = process.env.NEXT_PRIVATE_OIDC_PROMPT ?? 'login'; + + url.searchParams.append('prompt', prompt); + } setCookie(c, `${clientOptions.id}_oauth_state`, state, { ...sessionCookieOptions, diff --git a/turbo.json b/turbo.json index d2217d211..a60f12b6b 100644 --- a/turbo.json +++ b/turbo.json @@ -119,6 +119,7 @@ "GOOGLE_APPLICATION_CREDENTIALS", "E2E_TEST_AUTHENTICATE_USERNAME", "E2E_TEST_AUTHENTICATE_USER_EMAIL", - "E2E_TEST_AUTHENTICATE_USER_PASSWORD" + "E2E_TEST_AUTHENTICATE_USER_PASSWORD", + "NEXT_PRIVATE_OIDC_PROMPT" ] } From fbc156722ae1662e9b6ad97222dfdf276f4ae699 Mon Sep 17 00:00:00 2001 From: Dailson Allves <59292410+Dailson-Allves@users.noreply.github.com> Date: Thu, 20 Nov 2025 00:14:47 -0300 Subject: [PATCH 04/22] feat: add Portuguese (Brazil) translation support version 2.0.6 (#2165) Portuguese (Brazil) Translation Support for Documenso --- packages/lib/constants/i18n.ts | 5 + packages/lib/translations/pt-BR/web.po | 10966 +++++++++++++++++++++++ 2 files changed, 10971 insertions(+) create mode 100644 packages/lib/translations/pt-BR/web.po diff --git a/packages/lib/constants/i18n.ts b/packages/lib/constants/i18n.ts index 0ff3cc5c6..86d3f9507 100644 --- a/packages/lib/constants/i18n.ts +++ b/packages/lib/constants/i18n.ts @@ -7,6 +7,7 @@ export const SUPPORTED_LANGUAGE_CODES = [ 'es', 'it', 'pl', + 'pt-BR', 'ja', 'ko', 'zh', @@ -64,6 +65,10 @@ export const SUPPORTED_LANGUAGES: Record = { short: 'pl', full: 'Polish', }, + 'pt-BR': { + short: 'pt-BR', + full: 'Portuguese (Brazil)', + }, ja: { short: 'ja', full: 'Japanese', diff --git a/packages/lib/translations/pt-BR/web.po b/packages/lib/translations/pt-BR/web.po new file mode 100644 index 000000000..6d3490de0 --- /dev/null +++ b/packages/lib/translations/pt-BR/web.po @@ -0,0 +1,10966 @@ +msgid "" +msgstr "" +"POT-Creation-Date: 2024-07-24 13:01+1000\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: @lingui/cli\n" +"Language: pt-BR\n" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid " Enable direct link signing" +msgstr " Ativar assinatura por link direto" + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid ".PDF documents accepted (max {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB)" +msgstr "Documentos .PDF aceitos (máx. {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB)" + +#. placeholder {0}: field.customText +#. placeholder {1}: timezone || '' +#: apps/remix/app/components/general/document-signing/document-signing-date-field.tsx +msgid "\"{0}\" will appear on the document as it has a timezone of \"{1}\"." +msgstr "\"{0}\" aparecerá no documento pois tem o fuso horário \"{1}\"." + +#: packages/email/template-components/template-document-super-delete.tsx +msgid "\"{documentName}\" has been deleted by an admin." +msgstr "\"{documentName}\" foi excluído por um administrador." + +#: packages/email/template-components/template-document-pending.tsx +msgid "“{documentName}” has been signed" +msgstr "“{documentName}” foi assinado" + +#: packages/email/template-components/template-document-completed.tsx +msgid "“{documentName}” was signed by all signers" +msgstr "“{documentName}” foi assinado por todos os signatários" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "\"{documentTitle}\" has been successfully deleted" +msgstr "\"{documentTitle}\" foi excluído com sucesso" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "\"{placeholderEmail}\" on behalf of \"Team Name\" has invited you to sign \"example document\"." +msgstr "\"{placeholderEmail}\", em nome de \"Team Name\", convidou você para assinar \"example document\"." + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "\"Team Name\" has invited you to sign \"example document\"." +msgstr "\"Team Name\" convidou você para assinar \"example document\"." + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-form.tsx +#: apps/remix/app/components/general/document-signing/document-signing-form.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +msgid "(You)" +msgstr "(Você)" + +#. placeholder {0}: Math.abs(charactersRemaining) +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +msgid "{0, plural, one {(1 character over)} other {(# characters over)}}" +msgstr "{0, plural, one {(1 caractere a mais)} other {(# caracteres a mais)}}" + +#. placeholder {0}: Math.abs(remaningLength) +#: apps/remix/app/components/forms/public-profile-form.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "{0, plural, one {# character over the limit} other {# characters over the limit}}" +msgstr "{0, plural, one {# caractere acima do limite} other {# caracteres acima do limite}}" + +#. placeholder {0}: fieldMeta?.characterLimit - (field.value?.length ?? 0) +#: apps/remix/app/components/dialogs/sign-field-text-dialog.tsx +msgid "{0, plural, one {# character remaining} other {# characters remaining}}" +msgstr "{0, plural, one {# caractere restante} other {# caracteres restantes}}" + +#. placeholder {0}: folder._count.documents +#: apps/remix/app/components/general/folder/folder-card.tsx +msgid "{0, plural, one {# document} other {# documents}}" +msgstr "{0, plural, one {# documento} other {# documentos}}" + +#. placeholder {0}: assistantFields.filter((field) => field.recipientId === r.id).length +#: apps/remix/app/components/general/envelope-signing/envelope-signer-form.tsx +msgid "{0, plural, one {# field} other {# fields}}" +msgstr "{0, plural, one {# campo} other {# campos}}" + +#. placeholder {0}: folder._count.subfolders +#: apps/remix/app/components/general/folder/folder-card.tsx +msgid "{0, plural, one {# folder} other {# folders}}" +msgstr "{0, plural, one {# pasta} other {# pastas}}" + +#. placeholder {0}: template.recipients.length +#: apps/remix/app/routes/_recipient+/d.$token+/_index.tsx +msgid "{0, plural, one {# recipient} other {# recipients}}" +msgstr "{0, plural, one {# destinatário} other {# destinatários}}" + +#. placeholder {0}: org.teams.length +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +msgid "{0, plural, one {# team} other {# teams}}" +msgstr "{0, plural, one {# equipe} other {# equipes}}" + +#. placeholder {0}: folder._count.templates +#: apps/remix/app/components/general/folder/folder-card.tsx +msgid "{0, plural, one {# template} other {# templates}}" +msgstr "{0, plural, one {# modelo} other {# modelos}}" + +#. placeholder {0}: data.length +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +msgid "{0, plural, one {<0>You have <1>1 pending invitation} other {<2>You have <3># pending invitations}}" +msgstr "{0, plural, one {<0>Você tem <1>1 convite pendente} other {<2>Você tem <3># convites pendentes}}" + +#. placeholder {0}: recipientFieldsRemaining.length +#: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +msgid "{0, plural, one {1 Field Remaining} other {# Fields Remaining}}" +msgstr "{0, plural, one {1 campo restante} other {# campos restantes}}" + +#. placeholder {0}: fields.filter((field) => field.envelopeItemId === doc.id).length +#. placeholder {0}: remainingFields.filter((field) => field.envelopeItemId === doc.id).length +#: apps/remix/app/components/general/envelope-editor/envelope-file-selector.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +msgid "{0, plural, one {1 Field} other {# Fields}}" +msgstr "{0, plural, one {1 campo} other {# campos}}" + +#. placeholder {0}: autoSignableFields.filter((f) => f.type === fieldType).length +#: apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx +msgid "{0, plural, one {1 matching field} other {# matching fields}}" +msgstr "{0, plural, one {1 campo correspondente} other {# campos correspondentes}}" + +#. placeholder {0}: recipients.length +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.legacy_editor.tsx +msgid "{0, plural, one {1 Recipient} other {# Recipients}}" +msgstr "{0, plural, one {1 destinatário} other {# destinatários}}" + +#. placeholder {0}: pendingRecipients.length +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "{0, plural, one {Waiting on 1 recipient} other {Waiting on # recipients}}" +msgstr "{0, plural, one {Aguardando 1 destinatário} other {Aguardando # destinatários}}" + +#. placeholder {0}: route.label +#. placeholder {0}: _(FRIENDLY_FIELD_TYPE[fieldType as FieldType]) +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx +msgid "{0}" +msgstr "{0}" + +#. placeholder {0}: team.name +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "{0} direct signing templates" +msgstr "{0} modelos de assinatura direta" + +#. placeholder {0}: team.name +#. placeholder {1}: envelope.title +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts +msgid "{0} has invited you to {recipientActionVerb} the document \"{1}\"." +msgstr "{0} convidou você para {recipientActionVerb} o documento \"{1}\"." + +#. placeholder {0}: team.name +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts +msgid "{0} invited you to {recipientActionVerb} a document" +msgstr "{0} convidou você para {recipientActionVerb} um documento" + +#. placeholder {0}: remaining.documents +#. placeholder {1}: quota.documents +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "{0} of {1} documents remaining this month." +msgstr "Restam {0} de {1} documentos este mês." + +#. placeholder {0}: table.getFilteredSelectedRowModel().rows.length +#. placeholder {1}: table.getFilteredRowModel().rows.length +#: packages/ui/primitives/data-table-pagination.tsx +msgid "{0} of {1} row(s) selected." +msgstr "{0} de {1} linha(s) selecionada(s)." + +#. placeholder {0}: user.name || user.email +#. placeholder {1}: envelope.team.name +#. placeholder {2}: envelope.title +#: packages/lib/server-only/document/resend-document.ts +msgid "{0} on behalf of \"{1}\" has invited you to {recipientActionVerb} the document \"{2}\"." +msgstr "{0}, em nome de \"{1}\", convidou você para {recipientActionVerb} o documento \"{2}\"." + +#. placeholder {0}: envelope.recipients.length +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "{0} Recipient(s)" +msgstr "{0} destinatário(s)" + +#. placeholder {0}: organisation.name +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "{0} Teams" +msgstr "{0} equipes" + +#: apps/remix/app/components/tables/internal-audit-log-table.tsx +msgid "{browserInfo} on {os}" +msgstr "{browserInfo} em {os}" + +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +msgid "{charactersRemaining, plural, one {1 character remaining} other {{charactersRemaining} characters remaining}}" +msgstr "{charactersRemaining, plural, one {1 caractere restante} other {{charactersRemaining} caracteres restantes}}" + +#: packages/email/templates/document-invite.tsx +msgid "{inviterName} <0>({inviterEmail})" +msgstr "{inviterName} <0>({inviterEmail})" + +#: packages/email/templates/document-cancel.tsx +msgid "{inviterName} has cancelled the document {documentName}, you don't need to sign it anymore." +msgstr "{inviterName} cancelou o documento {documentName}; você não precisa mais assiná-lo." + +#: packages/email/template-components/template-document-cancel.tsx +msgid "{inviterName} has cancelled the document<0/>\"{documentName}\"" +msgstr "{inviterName} cancelou o documento<0/>\"{documentName}\"" + +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-invite.tsx +msgid "{inviterName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName} convidou você para {0}<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx +msgid "{inviterName} has invited you to {action} {documentName}" +msgstr "{inviterName} convidou você para {action} {documentName}" + +#: packages/email/templates/document-invite.tsx +msgid "{inviterName} has invited you to {action} the document \"{documentName}\"." +msgstr "{inviterName} convidou você para {action} o documento \"{documentName}\"." + +#: packages/email/templates/recipient-removed-from-document.tsx +msgid "{inviterName} has removed you from the document {documentName}." +msgstr "{inviterName} removeu você do documento {documentName}." + +#: packages/email/templates/recipient-removed-from-document.tsx +msgid "{inviterName} has removed you from the document<0/>\"{documentName}\"" +msgstr "{inviterName} removeu você do documento<0/>\"{documentName}\"" + +#. placeholder {0}: team.name +#. placeholder {1}: envelope.title +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts +msgid "{inviterName} on behalf of \"{0}\" has invited you to {recipientActionVerb} the document \"{1}\"." +msgstr "{inviterName}, em nome de \"{0}\", convidou você para {recipientActionVerb} o documento \"{1}\"." + +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-invite.tsx +msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {0}<0/>\"{documentName}\"" +msgstr "{inviterName}, em nome de \"{teamName}\", convidou você para {0}<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx +msgid "{inviterName} on behalf of \"{teamName}\" has invited you to {action} {documentName}" +msgstr "{inviterName}, em nome de \"{teamName}\", convidou você para {action} {documentName}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} added a field" +msgstr "{prefix} adicionou um campo" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} added a recipient" +msgstr "{prefix} adicionou um destinatário" + +#. placeholder {0}: data.envelopeItemTitle +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} created an envelope item with title {0}" +msgstr "{prefix} criou um item de envelope com o título {0}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} created the document" +msgstr "{prefix} criou o documento" + +#. placeholder {0}: data.envelopeItemTitle +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} deleted an envelope item with title {0}" +msgstr "{prefix} excluiu um item de envelope com o título {0}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} deleted the document" +msgstr "{prefix} excluiu o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} moved the document to team" +msgstr "{prefix} moveu o documento para a equipe" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} opened the document" +msgstr "{prefix} abriu o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} prefilled a field" +msgstr "{prefix} preencheu previamente um campo" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} removed a field" +msgstr "{prefix} removeu um campo" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} removed a recipient" +msgstr "{prefix} removeu um destinatário" + +#. placeholder {0}: data.recipientEmail +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} resent an email to {0}" +msgstr "{prefix} reenviou um e-mail para {0}" + +#. placeholder {0}: data.recipientEmail +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} sent an email to {0}" +msgstr "{prefix} enviou um e-mail para {0}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} sent the document" +msgstr "{prefix} enviou o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} signed a field" +msgstr "{prefix} assinou um campo" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} unsigned a field" +msgstr "{prefix} removeu a assinatura de um campo" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} updated a field" +msgstr "{prefix} atualizou um campo" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} updated a recipient" +msgstr "{prefix} atualizou um destinatário" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} updated the document" +msgstr "{prefix} atualizou o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} updated the document access auth requirements" +msgstr "{prefix} atualizou os requisitos de autenticação de acesso ao documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} updated the document external ID" +msgstr "{prefix} atualizou o ID externo do documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} updated the document signing auth requirements" +msgstr "{prefix} atualizou os requisitos de autenticação de assinatura do documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} updated the document title" +msgstr "{prefix} atualizou o título do documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} updated the document visibility" +msgstr "{prefix} atualizou a visibilidade do documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{prefix} viewed the document" +msgstr "{prefix} visualizou o documento" + +#: apps/remix/app/components/general/direct-template/direct-template-page.tsx +msgid "{recipientActionVerb} document" +msgstr "{recipientActionVerb} documento" + +#: apps/remix/app/components/general/direct-template/direct-template-page.tsx +msgid "{recipientActionVerb} the document to complete the process." +msgstr "{recipientActionVerb} o documento para concluir o processo." + +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +msgid "{recipientCount} recipients" +msgstr "{recipientCount} destinatários" + +#: packages/email/templates/document-created-from-direct-template.tsx +msgid "{recipientName} {action} a document by using one of your direct links" +msgstr "{recipientName} {action} um documento usando um dos seus links diretos" + +#: packages/email/templates/document-rejected.tsx +msgid "{recipientName} has rejected the document '{documentName}'" +msgstr "{recipientName} rejeitou o documento '{documentName}'" + +#: packages/email/template-components/template-document-recipient-signed.tsx +msgid "{recipientReference} has completed signing the document." +msgstr "{recipientReference} concluiu a assinatura do documento." + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/emails/send-recipient-signed-email.handler.ts +msgid "{recipientReference} has signed \"{0}\"" +msgstr "{recipientReference} assinou \"{0}\"" + +#: packages/email/template-components/template-document-recipient-signed.tsx +msgid "{recipientReference} has signed \"{documentName}\"" +msgstr "{recipientReference} assinou \"{documentName}\"" + +#: packages/email/templates/document-recipient-signed.tsx +msgid "{recipientReference} has signed {documentName}" +msgstr "{recipientReference} assinou {documentName}" + +#: apps/remix/app/components/forms/public-profile-form.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "{remaningLength, plural, one {# character remaining} other {# characters remaining}}" +msgstr "{remaningLength, plural, one {# caractere restante} other {# caracteres restantes}}" + +#: packages/email/template-components/template-document-rejected.tsx +msgid "{signerName} has rejected the document \"{documentName}\"." +msgstr "{signerName} rejeitou o documento \"{documentName}\"." + +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-invite.tsx +msgid "{teamName} has invited you to {0}<0/>\"{documentName}\"" +msgstr "{teamName} convidou você para {0}<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx +msgid "{teamName} has invited you to {action} {documentName}" +msgstr "{teamName} convidou você para {action} {documentName}" + +#: apps/remix/app/components/tables/internal-audit-log-table.tsx +msgid "{userAgent}" +msgstr "{userAgent}" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} approved the document" +msgstr "{userName} aprovou o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} CC'd the document" +msgstr "{userName} colocou o documento em cópia (CC)" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} completed their task" +msgstr "{userName} concluiu sua tarefa" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} failed to validate a 2FA token for the document" +msgstr "{userName} falhou ao validar um token 2FA para o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} rejected the document" +msgstr "{userName} rejeitou o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} requested a 2FA token for the document" +msgstr "{userName} solicitou um token 2FA para o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} signed the document" +msgstr "{userName} assinou o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} validated a 2FA token for the document" +msgstr "{userName} validou um token 2FA para o documento" + +#: packages/lib/utils/document-audit-logs.ts +msgid "{userName} viewed the document" +msgstr "{userName} visualizou o documento" + +#: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx +msgid "{validationLength, plural, one {Select at least # option} other {Select at least # options}}" +msgstr "{validationLength, plural, one {Selecione pelo menos # opção} other {Selecione pelo menos # opções}}" + +#: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx +msgid "{validationLength, plural, one {Select at most # option} other {Select at most # options}}" +msgstr "{validationLength, plural, one {Selecione no máximo # opção} other {Selecione no máximo # opções}}" + +#: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx +msgid "{validationLength, plural, one {Select exactly # option} other {Select exactly # options}}" +msgstr "{validationLength, plural, one {Selecione exatamente # opção} other {Selecione exatamente # opções}}" + +#: packages/ui/primitives/data-table-pagination.tsx +msgid "{visibleRows, plural, one {Showing # result.} other {Showing # results.}}" +msgstr "{visibleRows, plural, one {Mostrando # resultado.} other {Mostrando # resultados.}}" + +#. placeholder {0}: document.title +#. placeholder {0}: envelope.title +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +msgid "<0>\"{0}\"is no longer available to sign" +msgstr "<0>\"{0}\" não está mais disponível para assinatura" + +#: packages/email/templates/organisation-account-link-confirmation.tsx +msgid "<0>{organisationName} has requested to create an account on your behalf." +msgstr "<0>{organisationName} solicitou criar uma conta em seu nome." + +#: packages/email/templates/organisation-account-link-confirmation.tsx +msgid "<0>{organisationName} has requested to link your current Documenso account to their organisation." +msgstr "<0>{organisationName} solicitou vincular sua conta Documenso atual à organização." + +#: packages/email/templates/confirm-team-email.tsx +msgid "<0>{teamName} has requested to use your email address for their team on Documenso." +msgstr "<0>{teamName} solicitou usar seu endereço de e-mail para a equipe no Documenso." + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "<0>Account management: Modify your account settings, permissions, and preferences" +msgstr "<0>Gerenciamento de conta: Modifique suas configurações, permissões e preferências" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "<0>Data access: Access all data associated with your account" +msgstr "<0>Acesso a dados: Acesse todos os dados associados à sua conta" + +#: packages/ui/components/document/document-signature-settings-tooltip.tsx +msgid "<0>Drawn - A signature that is drawn using a mouse or stylus." +msgstr "<0>Desenhada - Uma assinatura desenhada com mouse ou caneta." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "<0>Email - The recipient will be emailed the document to sign, approve, etc." +msgstr "<0>E-mail - O destinatário receberá o documento por e-mail para assinar, aprovar etc." + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "<0>Full account access: View all your profile information, settings, and activity" +msgstr "<0>Acesso total à conta: Veja todas as suas informações, configurações e atividade" + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +msgid "<0>Inherit authentication method - Use the global action signing authentication method configured in the \"General Settings\" step" +msgstr "<0>Herdar método de autenticação - Usa o método global de autenticação de assinatura configurado em \"Configurações gerais\"" + +#: packages/ui/components/document/document-global-auth-action-select.tsx +msgid "<0>No restrictions - No authentication required" +msgstr "<0>Sem restrições - Autenticação não exigida" + +#: packages/ui/components/document/document-global-auth-access-select.tsx +msgid "<0>No restrictions - The document can be accessed directly by the URL sent to the recipient" +msgstr "<0>Sem restrições - O documento pode ser acessado diretamente pelo URL enviado ao destinatário" + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +msgid "<0>None - No authentication required" +msgstr "<0>Nenhum - Autenticação não exigida" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "<0>None - We will generate links which you can send to the recipients manually." +msgstr "<0>Nenhum - Vamos gerar links que você pode enviar manualmente aos destinatários." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "<0>Note - If you use Links in combination with direct templates, you will need to manually send the links to the remaining recipients." +msgstr "<0>Observação - Se usar Links com modelos diretos, você precisará enviar manualmente os links aos destinatários restantes." + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +#: packages/ui/components/document/document-global-auth-action-select.tsx +msgid "<0>Require 2FA - The recipient must have an account and 2FA enabled via their settings" +msgstr "<0>Exigir 2FA - O destinatário deve ter conta e 2FA ativado nas configurações" + +#: packages/ui/components/document/document-global-auth-access-select.tsx +msgid "<0>Require account - The recipient must be signed in to view the document" +msgstr "<0>Exigir conta - O destinatário deve estar autenticado para ver o documento" + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +#: packages/ui/components/document/document-global-auth-action-select.tsx +msgid "<0>Require passkey - The recipient must have an account and passkey configured via their settings" +msgstr "<0>Exigir chave de acesso - O destinatário deve ter conta e chave configurada nas configurações" + +#: packages/ui/components/document/document-global-auth-action-select.tsx +msgid "<0>Require password - The recipient must have an account and password configured via their settings, the password will be verified during signing" +msgstr "<0>Exigir senha - O destinatário deve ter conta e senha configurada; a senha será verificada durante a assinatura" + +#: apps/remix/app/components/tables/documents-table-sender-filter.tsx +msgid "<0>Sender: All" +msgstr "<0>Remetente: Todos" + +#: packages/ui/components/document/document-signature-settings-tooltip.tsx +msgid "<0>Typed - A signature that is typed using a keyboard." +msgstr "<0>Digitada - Uma assinatura digitada com teclado." + +#: packages/ui/components/document/document-signature-settings-tooltip.tsx +msgid "<0>Uploaded - A signature that is uploaded from a file." +msgstr "<0>Carregada - Uma assinatura enviada a partir de um arquivo." + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "0 Free organisations left" +msgstr "0 organizações gratuitas restantes" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "1 Free organisations left" +msgstr "1 organização gratuita restante" + +#: apps/remix/app/components/forms/token.tsx +msgid "1 month" +msgstr "1 mês" + +#: apps/remix/app/components/forms/token.tsx +msgid "12 months" +msgstr "12 meses" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "2FA" +msgstr "2FA" + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +msgid "2FA Reset" +msgstr "Redefinir 2FA" + +#: apps/remix/app/components/forms/token.tsx +msgid "3 months" +msgstr "3 meses" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "400 Error" +msgstr "Erro 400" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +msgid "401 Unauthorized" +msgstr "401 Não autorizado" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx +msgid "404 Document not found" +msgstr "404 Documento não encontrado" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "404 Email domain not found" +msgstr "404 Domínio de e-mail não encontrado" + +#: apps/remix/app/components/general/generic-error-layout.tsx +msgid "404 not found" +msgstr "404 não encontrado" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.edit.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "404 Not found" +msgstr "404 Não encontrado" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +msgid "404 Not Found" +msgstr "404 Not Found" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "404 Organisation group not found" +msgstr "404 Grupo da organização não encontrado" + +#: apps/remix/app/routes/_authenticated+/_layout.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "404 Organisation not found" +msgstr "404 Organização não encontrada" + +#: apps/remix/app/routes/_profile+/_layout.tsx +msgid "404 Profile not found" +msgstr "404 Perfil não encontrado" + +#: apps/remix/app/routes/_authenticated+/_layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/_layout.tsx +msgid "404 Team not found" +msgstr "404 Equipe não encontrada" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._layout.tsx +msgid "404 Template not found" +msgstr "404 Modelo não encontrado" + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "404 User not found" +msgstr "404 Usuário não encontrado" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "404 Webhook not found" +msgstr "404 Webhook não encontrado" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "5 documents a month" +msgstr "5 documentos por mês" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "5 Documents a month" +msgstr "5 Documentos por mês" + +#: apps/remix/app/components/general/generic-error-layout.tsx +msgid "500 Internal Server Error" +msgstr "500 Erro Interno do Servidor" + +#: apps/remix/app/components/forms/token.tsx +msgid "6 months" +msgstr "6 meses" + +#: apps/remix/app/components/forms/token.tsx +msgid "7 days" +msgstr "7 dias" + +#: apps/remix/app/components/forms/send-confirmation-email.tsx +msgid "A confirmation email has been sent, and it should arrive in your inbox shortly." +msgstr "Um e-mail de confirmação foi enviado e deverá chegar à sua caixa de entrada em breve." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "A device capable of accessing, opening, and reading documents" +msgstr "Um dispositivo capaz de acessar, abrir e ler documentos" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts +msgid "A document was created by your direct template that requires you to {recipientActionVerb} it." +msgstr "Um documento foi criado pelo seu modelo direto e requer que você o {recipientActionVerb}." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "A draft document will be created" +msgstr "Um documento rascunho será criado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "A field was added" +msgstr "Um campo foi adicionado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "A field was removed" +msgstr "Um campo foi removido" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "A field was updated" +msgstr "Um campo foi atualizado" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "A means to print or download documents for your records" +msgstr "Meio para imprimir ou baixar documentos para seus registros" + +#: packages/email/templates/organisation-join.tsx +msgid "A member has joined your organisation on Documenso" +msgstr "Um membro ingressou na sua organização no Documenso" + +#: packages/lib/jobs/definitions/emails/send-organisation-member-left-email.handler.ts +msgid "A member has left your organisation" +msgstr "Um membro saiu da sua organização" + +#: packages/email/templates/organisation-leave.tsx +msgid "A member has left your organisation {organisationName}" +msgstr "Um membro saiu da sua organização {organisationName}" + +#: packages/email/templates/organisation-leave.tsx +msgid "A member has left your organisation on Documenso" +msgstr "Um membro saiu da sua organização no Documenso" + +#: packages/lib/jobs/definitions/emails/send-organisation-member-joined-email.handler.ts +msgid "A new member has joined your organisation" +msgstr "Um novo membro ingressou na sua organização" + +#: packages/email/templates/organisation-join.tsx +msgid "A new member has joined your organisation {organisationName}" +msgstr "Um novo membro ingressou na sua organização {organisationName}" + +#: apps/remix/app/components/forms/token.tsx +msgid "A new token was created successfully." +msgstr "Um novo token foi criado com sucesso." + +#: apps/remix/app/routes/_unauthenticated+/check-email.tsx +#: apps/remix/app/components/forms/forgot-password.tsx +msgid "A password reset email has been sent, if you have an account you should see it in your inbox shortly." +msgstr "Um e-mail de redefinição de senha foi enviado; se você tiver uma conta, ele chegará em breve." + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "A recipient was added" +msgstr "Um destinatário foi adicionado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "A recipient was removed" +msgstr "Um destinatário foi removido" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "A recipient was updated" +msgstr "Um destinatário foi atualizado" + +#: packages/email/templates/organisation-account-link-confirmation.tsx +msgid "A request has been made to create an account for you" +msgstr "Foi feita uma solicitação para criar uma conta para você" + +#: packages/email/templates/organisation-account-link-confirmation.tsx +msgid "A request has been made to link your Documenso account" +msgstr "Foi feita uma solicitação para vincular sua conta Documenso" + +#. placeholder {0}: team.name +#: packages/lib/server-only/team/create-team-email-verification.ts +msgid "A request to use your email has been initiated by {0} on Documenso" +msgstr "{0} iniciou uma solicitação para usar seu e-mail no Documenso" + +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso" +msgstr "Um segredo que será enviado para sua URL para verificar que a solicitação foi enviada pelo Documenso" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "A secret that will be sent to your URL so you can verify that the request has been sent by Documenso." +msgstr "Um segredo que será enviado para sua URL para verificar que a solicitação foi enviada pelo Documenso." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "A stable internet connection" +msgstr "Uma conexão estável com a internet" + +#: packages/email/templates/team-delete.tsx +#: packages/email/templates/team-delete.tsx +msgid "A team you were a part of has been deleted" +msgstr "Uma equipe da qual você fazia parte foi excluída" + +#: apps/remix/app/components/forms/public-profile-form.tsx +msgid "A unique URL to access your profile" +msgstr "Uma URL única para acessar seu perfil" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "A unique URL to identify the organisation" +msgstr "Uma URL única para identificar a organização" + +#: apps/remix/app/components/forms/organisation-update-form.tsx +msgid "A unique URL to identify your organisation" +msgstr "Uma URL única para identificar sua organização" + +#: apps/remix/app/components/forms/team-update-form.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "A unique URL to identify your team" +msgstr "Uma URL única para identificar sua equipe" + +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +msgid "A verification email will be sent to the provided email." +msgstr "Um e-mail de verificação será enviado para o endereço informado." + +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +#: packages/email/templates/organisation-invite.tsx +#: packages/email/templates/confirm-team-email.tsx +msgid "Accept" +msgstr "Aceitar" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "Accept & Link Account" +msgstr "Aceitar e vincular conta" + +#: packages/email/templates/organisation-invite.tsx +msgid "Accept invitation to join an organisation on Documenso" +msgstr "Aceite o convite para ingressar em uma organização no Documenso" + +#: packages/email/templates/confirm-team-email.tsx +msgid "Accept team email request for {teamName} on Documenso" +msgstr "Aceitar solicitação de e-mail da equipe {teamName} no Documenso" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Acceptance and Consent" +msgstr "Aceitação e consentimento" + +#: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx +msgid "Access disabled" +msgstr "Acesso desativado" + +#: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx +msgid "Access enabled" +msgstr "Acesso ativado" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "Account" +msgstr "Conta" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Account Authentication" +msgstr "Autenticação da conta" + +#: packages/email/templates/organisation-account-link-confirmation.tsx +msgid "Account creation request" +msgstr "Solicitação de criação de conta" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "Account Creation Request" +msgstr "Solicitação de criação de conta" + +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Account deleted" +msgstr "Conta excluída" + +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +msgid "Account disabled" +msgstr "Conta desativada" + +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +msgid "Account enabled" +msgstr "Conta ativada" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "Account Linking Request" +msgstr "Solicitação de vinculação de conta" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Account Re-Authentication" +msgstr "Reautenticação da conta" + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +msgid "Account unlinked" +msgstr "Conta desvinculada" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Acknowledgment" +msgstr "Reconhecimento" + +#: apps/remix/app/components/tables/settings-security-activity-table.tsx +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/document-logs-table.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +msgid "Action" +msgstr "Ação" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/templates-table.tsx +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/tables/team-groups-table.tsx +#: apps/remix/app/components/tables/team-groups-table.tsx +#: apps/remix/app/components/tables/organisation-members-table.tsx +#: apps/remix/app/components/tables/organisation-members-table.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/tables/organisation-groups-table.tsx +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +#: apps/remix/app/components/tables/admin-claims-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +msgid "Actions" +msgstr "Ações" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.members.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "Active" +msgstr "Ativo" + +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Active sessions" +msgstr "Sessões ativas" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Active Subscriptions" +msgstr "Assinaturas ativas" + +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +msgid "Add" +msgstr "Adicionar" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Add 2 or more signers to enable signing order." +msgstr "Adicione 2 ou mais signatários para habilitar a ordem de assinatura." + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Add a custom domain to send emails on behalf of your organisation. We'll generate DKIM records that you need to add to your DNS provider." +msgstr "Adicione um domínio personalizado para enviar e-mails em nome da sua organização. Geraremos os registros DKIM para adicionar no seu provedor de DNS." + +#: packages/ui/primitives/document-dropzone.tsx +msgid "Add a document" +msgstr "Adicionar um documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Add a URL to redirect the user to once the document is signed" +msgstr "Adicione uma URL para redirecionar o usuário após a assinatura do documento" + +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Add all relevant fields for each recipient." +msgstr "Adicione todos os campos relevantes para cada destinatário." + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "Add all relevant placeholders for each recipient." +msgstr "Adicione todos os placeholders relevantes para cada destinatário." + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Add an authenticator to serve as a secondary authentication method for signing documents." +msgstr "Adicione um autenticador como método secundário de autenticação ao assinar documentos." + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Add an authenticator to serve as a secondary authentication method when signing in, or when signing documents." +msgstr "Adicione um autenticador como método secundário ao entrar ou assinar documentos." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Add an external ID to the document. This can be used to identify the document in external systems." +msgstr "Adicione um ID externo ao documento. Ele pode ser usado para identificá-lo em sistemas externos." + +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "Add an external ID to the template. This can be used to identify in external systems." +msgstr "Adicione um ID externo ao modelo. Isso pode ser usado para identificá-lo em sistemas externos." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +msgid "Add and configure multiple documents" +msgstr "Adicione e configure vários documentos" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx +msgid "Add another option" +msgstr "Adicionar outra opção" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Add another value" +msgstr "Adicionar outro valor" + +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +msgid "Add Attachment" +msgstr "Adicionar anexo" + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Add Custom Email Domain" +msgstr "Adicionar domínio de e-mail personalizado" + +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +msgid "Add email" +msgstr "Adicionar e-mail" + +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "Add Email" +msgstr "Adicionar e-mail" + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Add Email Domain" +msgstr "Adicionar domínio de e-mail" + +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Add Fields" +msgstr "Adicionar campos" + +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Add group roles" +msgstr "Adicionar funções do grupo" + +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Add groups" +msgstr "Adicionar grupos" + +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +msgid "Add links to relevant documents or resources." +msgstr "Adicione links para documentos ou recursos relevantes." + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "Add members" +msgstr "Adicionar membros" + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "Add Members" +msgstr "Adicionar membros" + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "Add members roles" +msgstr "Adicionar funções aos membros" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Add more" +msgstr "Adicionar mais" + +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Add myself" +msgstr "Adicionar a mim" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +msgid "Add Myself" +msgstr "Adicionar a mim" + +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "Add Organisation Email" +msgstr "Adicionar e-mail da organização" + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Add passkey" +msgstr "Adicionar chave de acesso" + +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +msgid "Add Placeholder Recipient" +msgstr "Adicionar destinatário placeholder" + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "Add Placeholders" +msgstr "Adicionar placeholders" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Add Recipients" +msgstr "Adicionar destinatários" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Add Signer" +msgstr "Adicionar signatário" + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Add Signers" +msgstr "Adicionar signatários" + +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +msgid "Add signers and configure signing preferences" +msgstr "Adicione signatários e configure as preferências de assinatura" + +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +msgid "Add team email" +msgstr "Adicionar e-mail da equipe" + +#: apps/remix/app/components/forms/editor/editor-field-text-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +msgid "Add text" +msgstr "Adicionar texto" + +#: apps/remix/app/components/forms/editor/editor-field-text-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +msgid "Add text to the field" +msgstr "Adicione texto ao campo" + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Add the people who will sign the document." +msgstr "Adicione as pessoas que assinarão o documento." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Add the recipients to create the document with" +msgstr "Adicione os destinatários para criar o documento" + +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +msgid "Add these DNS records to verify your domain ownership" +msgstr "Adicione esses registros DNS para verificar a propriedade do domínio" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Add this URL to your provider's allowed redirect URIs" +msgstr "Adicione esta URL às URIs de redirecionamento permitidas do seu provedor" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Additional brand information to display at the bottom of emails" +msgstr "Informações adicionais da marca para exibir no rodapé dos e-mails" + +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: packages/lib/constants/teams-translations.ts +#: packages/lib/constants/organisations-translations.ts +msgid "Admin" +msgstr "Administrador" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Admin Actions" +msgstr "Ações administrativas" + +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/general/menu-switcher.tsx +msgid "Admin panel" +msgstr "Painel administrativo" + +#: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +msgid "Admin Panel" +msgstr "Painel Administrativo" + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +msgid "Admins only" +msgstr "Somente administradores" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Advanced Options" +msgstr "Opções avançadas" + +#: apps/remix/app/components/embed/authoring/field-advanced-settings-drawer.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/field-item.tsx +#: packages/ui/primitives/document-flow/add-fields.tsx +msgid "Advanced settings" +msgstr "Configurações avançadas" + +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +msgid "Advanced Settings" +msgstr "Configurações avançadas" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "After signing a document electronically, you will be provided the opportunity to view, download, and print the document for your records. It is highly recommended that you retain a copy of all electronically signed documents for your personal records. We will also retain a copy of the signed document for our records however we may not be able to provide you with a copy of the signed document after a certain period of time." +msgstr "Após assinar um documento eletronicamente, você poderá visualizá-lo, baixá-lo e imprimi-lo para seus registros. Recomendamos fortemente manter uma cópia de todos os documentos assinados eletronicamente. Nós também manteremos uma cópia para nossos registros, porém talvez não seja possível fornecê-la após determinado período." + +#: packages/lib/constants/template.ts +msgid "After submission, a document will be automatically generated and added to your documents page. You will also receive a notification via email." +msgstr "Após o envio, um documento será gerado automaticamente e adicionado à sua página de documentos. Você também receberá uma notificação por e-mail." + +#: apps/remix/app/components/general/document/document-status.tsx +msgid "All" +msgstr "Todos" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "All documents" +msgstr "Todos os documentos" + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "All documents have been completed!" +msgstr "Todos os documentos foram concluídos!" + +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "All documents have been processed. Any new documents that are sent or received will show here." +msgstr "Todos os documentos foram processados. Novos documentos enviados ou recebidos aparecerão aqui." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "All documents related to the electronic signing process will be provided to you electronically through our platform or via email. It is your responsibility to ensure that your email address is current and that you can receive and open our emails." +msgstr "Todos os documentos relacionados ao processo de assinatura eletrônica serão fornecidos a você eletronicamente pela nossa plataforma ou via e-mail. É sua responsabilidade garantir que o e-mail esteja atualizado e que você possa receber e abrir nossas mensagens." + +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "All email domains have been synced successfully" +msgstr "Todos os domínios de e-mail foram sincronizados com sucesso" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx +msgid "All Folders" +msgstr "Todas as pastas" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "All inserted signatures will be voided" +msgstr "Todas as assinaturas inseridas serão invalidadas" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "All recipients will be notified" +msgstr "Todos os destinatários serão notificados" + +#: packages/email/template-components/template-document-cancel.tsx +msgid "All signatures have been voided." +msgstr "Todas as assinaturas foram invalidadas." + +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +msgid "All signing links have been copied to your clipboard." +msgstr "Todos os links de assinatura foram copiados para a área de transferência." + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "All templates" +msgstr "Todos os modelos" + +#: apps/remix/app/components/general/period-selector.tsx +msgid "All Time" +msgstr "Todo o período" + +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "Allow all organisation members to access this team" +msgstr "Permitir que todos os membros da organização acessem esta equipe" + +#: packages/email/templates/confirm-team-email.tsx +msgid "Allow document recipients to reply directly to this email address" +msgstr "Permitir que destinatários respondam diretamente para este endereço de e-mail" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Allow signers to dictate next signer" +msgstr "Permitir que signatários definam o próximo signatário" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Allowed Email Domains" +msgstr "Domínios de e-mail permitidos" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Allowed Signature Types" +msgstr "Tipos de assinatura permitidos" + +#: apps/remix/app/components/tables/admin-claims-table.tsx +msgid "Allowed teams" +msgstr "Equipes permitidas" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Allows authenticating using biometrics, password managers, hardware keys, etc." +msgstr "Permite autenticar com biometria, gerenciadores de senha, chaves físicas etc." + +#: apps/remix/app/components/forms/signup.tsx +msgid "Already have an account? <0>Sign in instead" +msgstr "Já possui conta? <0>Entre aqui" + +#: apps/remix/app/components/tables/organisation-billing-invoices-table.tsx +msgid "Amount" +msgstr "Valor" + +#: packages/email/templates/document-super-delete.tsx +msgid "An admin has deleted your document \"{documentName}\"." +msgstr "Um administrador excluiu seu documento \"{documentName}\"." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "An electronic signature provided by you on our platform, achieved through clicking through to a document and entering your name, or any other electronic signing method we provide, is legally binding. It carries the same weight and enforceability as a manual signature written with ink on paper." +msgstr "Uma assinatura eletrônica fornecida por você na nossa plataforma, seja ao clicar e inserir seu nome ou por qualquer método eletrônico disponível, tem validade legal. Ela possui o mesmo peso e eficácia de uma assinatura manuscrita." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "An email account" +msgstr "Uma conta de e-mail" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "An email containing an invitation will be sent to each member." +msgstr "Um e-mail com o convite será enviado a cada membro." + +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "An email with this address already exists." +msgstr "Já existe um e-mail com este endereço." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +#: apps/remix/app/components/forms/token.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/reset-password.tsx +#: apps/remix/app/components/forms/password.tsx +#: apps/remix/app/components/forms/avatar-image.tsx +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "An error occurred" +msgstr "Ocorreu um erro" + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "An error occurred while adding fields." +msgstr "Ocorreu um erro ao adicionar campos." + +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "An error occurred while adding signers." +msgstr "Ocorreu um erro ao adicionar signatários." + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "An error occurred while adding the fields." +msgstr "Ocorreu um erro ao adicionar os campos." + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "An error occurred while auto-saving the document settings." +msgstr "Ocorreu um erro ao salvar automaticamente as configurações do documento." + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "An error occurred while auto-saving the fields." +msgstr "Ocorreu um erro ao salvar automaticamente os campos." + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "An error occurred while auto-saving the subject form." +msgstr "Ocorreu um erro ao salvar automaticamente o formulário de assunto." + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "An error occurred while auto-saving the template fields." +msgstr "Ocorreu um erro ao salvar automaticamente os campos do modelo." + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "An error occurred while auto-saving the template placeholders." +msgstr "Ocorreu um erro ao salvar automaticamente os placeholders do modelo." + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "An error occurred while auto-saving the template settings." +msgstr "Ocorreu um erro ao salvar automaticamente as configurações do modelo." + +#: apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx +msgid "An error occurred while auto-signing the document, some fields may not be signed. Please review and manually sign any remaining fields." +msgstr "Ocorreu um erro ao assinar automaticamente o documento; alguns campos podem não ter sido assinados. Revise e assine manualmente os campos restantes." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "An error occurred while creating document from template." +msgstr "Ocorreu um erro ao criar o documento a partir do modelo." + +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "An error occurred while creating the webhook. Please try again." +msgstr "Ocorreu um erro ao criar o webhook. Tente novamente." + +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +msgid "An error occurred while deleting the user." +msgstr "Ocorreu um erro ao excluir o usuário." + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "An error occurred while disabling direct link signing." +msgstr "Ocorreu um erro ao desativar a assinatura por link direto." + +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +msgid "An error occurred while disabling the user." +msgstr "Ocorreu um erro ao desativar o usuário." + +#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx +msgid "An error occurred while duplicating template." +msgstr "Ocorreu um erro ao duplicar o modelo." + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "An error occurred while enabling direct link signing." +msgstr "Ocorreu um erro ao ativar a assinatura por link direto." + +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +msgid "An error occurred while enabling the user." +msgstr "Ocorreu um erro ao ativar o usuário." + +#: packages/ui/primitives/pdf-viewer.tsx +msgid "An error occurred while loading the document." +msgstr "Ocorreu um erro ao carregar o documento." + +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "An error occurred while moving the document." +msgstr "Ocorreu um erro ao mover o documento." + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +msgid "An error occurred while moving the template." +msgstr "Ocorreu um erro ao mover o modelo." + +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-number-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-initials-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-email-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-dropdown-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-date-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-checkbox-field.tsx +msgid "An error occurred while removing the field." +msgstr "Ocorreu um erro ao remover o campo." + +#: apps/remix/app/components/general/document-signing/document-signing-radio-field.tsx +msgid "An error occurred while removing the selection." +msgstr "Ocorreu um erro ao remover a seleção." + +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +msgid "An error occurred while removing the signature." +msgstr "Ocorreu um erro ao remover a assinatura." + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +msgid "An error occurred while resetting two factor authentication for the user." +msgstr "Ocorreu um erro ao redefinir a autenticação em duas etapas do usuário." + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "An error occurred while sending the document." +msgstr "Ocorreu um erro ao enviar o documento." + +#: apps/remix/app/components/forms/send-confirmation-email.tsx +msgid "An error occurred while sending your confirmation email" +msgstr "Ocorreu um erro ao enviar seu e-mail de confirmação" + +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-radio-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-number-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-initials-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-email-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-dropdown-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-date-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-checkbox-field.tsx +msgid "An error occurred while signing as assistant." +msgstr "Ocorreu um erro ao assinar como assistente." + +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-radio-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-number-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-initials-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-email-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-dropdown-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-date-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-checkbox-field.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +msgid "An error occurred while signing the document." +msgstr "Ocorreu um erro ao assinar o documento." + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-page-renderer.tsx +msgid "An error occurred while signing the field." +msgstr "Ocorreu um erro ao assinar o campo." + +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/general/billing-plans.tsx +msgid "An error occurred while trying to create a checkout session." +msgstr "Ocorreu um erro ao tentar criar a sessão de pagamento." + +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "An error occurred while updating the document settings." +msgstr "Ocorreu um erro ao atualizar as configurações do documento." + +#: apps/remix/app/components/general/document-signing/document-signing-checkbox-field.tsx +msgid "An error occurred while updating the signature." +msgstr "Ocorreu um erro ao atualizar a assinatura." + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "An error occurred while updating your profile." +msgstr "Ocorreu um erro ao atualizar seu perfil." + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "An error occurred while uploading your document." +msgstr "Ocorreu um erro ao enviar o documento." + +#: apps/remix/app/components/forms/support-ticket-form.tsx +msgid "An error occurred. Please try again later." +msgstr "Ocorreu um erro. Tente novamente mais tarde." + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "An organisation wants to create an account for you. Please review the details below." +msgstr "Uma organização deseja criar uma conta para você. Revise os detalhes abaixo." + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "An organisation wants to link your account. Please review the details below." +msgstr "Uma organização deseja vincular sua conta. Revise os detalhes abaixo." + +#: apps/remix/app/components/general/generic-error-layout.tsx +msgid "An unexpected error occurred." +msgstr "Ocorreu um erro inesperado." + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +#: apps/remix/app/components/general/app-command-menu.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/forms/team-update-form.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/public-profile-form.tsx +#: apps/remix/app/components/forms/profile.tsx +#: apps/remix/app/components/forms/organisation-update-form.tsx +#: apps/remix/app/components/forms/avatar-image.tsx +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "An unknown error occurred" +msgstr "Ocorreu um erro desconhecido" + +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +msgid "An unknown error occurred while creating the folder." +msgstr "Ocorreu um erro desconhecido ao criar a pasta." + +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "An unknown error occurred while deleting the folder." +msgstr "Ocorreu um erro desconhecido ao excluir a pasta." + +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +msgid "An unknown error occurred while moving the folder." +msgstr "Ocorreu um erro desconhecido ao mover a pasta." + +#: apps/remix/app/routes/_authenticated+/inbox.tsx +msgid "Any documents that you have been invited to will appear here" +msgstr "Qualquer documento para o qual você foi convidado aparecerá aqui" + +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +msgid "Any Source" +msgstr "Qualquer origem" + +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +msgid "Any Status" +msgstr "Qualquer status" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +msgid "API Tokens" +msgstr "Tokens de API" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "App Version" +msgstr "Versão do app" + +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/documents-table-action-button.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-button.tsx +msgid "Approve" +msgstr "Aprovar" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role action verb" +msgid "Approve" +msgstr "Aprovar" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +msgid "Approve Document" +msgstr "Aprovar documento" + +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +msgid "Approved" +msgstr "Aprovado" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role actioned" +msgid "Approved" +msgstr "Aprovado" + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx +msgid "Approver" +msgstr "Aprovador" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role name" +msgid "Approver" +msgstr "Aprovador" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role plural name" +msgid "Approvers" +msgstr "Aprovadores" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role progressive verb" +msgid "Approving" +msgstr "Aprovando" + +#: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx +msgid "Are you sure you want to complete the document? This action cannot be undone. Please ensure that you have completed prefilling all relevant fields before proceeding." +msgstr "Tem certeza de que deseja concluir o documento? Essa ação não pode ser desfeita. Certifique-se de preencher todos os campos relevantes antes de continuar." + +#: apps/remix/app/components/dialogs/claim-delete-dialog.tsx +msgid "Are you sure you want to delete the following claim?" +msgstr "Tem certeza de que deseja excluir a reivindicação a seguir?" + +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "Are you sure you want to delete this folder?" +msgstr "Tem certeza de que deseja excluir esta pasta?" + +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +msgid "Are you sure you want to delete this token?" +msgstr "Tem certeza de que deseja excluir este token?" + +#: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx +msgid "Are you sure you want to reject this document? This action cannot be undone." +msgstr "Tem certeza de que deseja rejeitar este documento? Essa ação não pode ser desfeita." + +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +msgid "Are you sure you want to remove the <0>{passkeyName} passkey." +msgstr "Tem certeza de que deseja remover a chave de acesso <0>{passkeyName}?" + +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +msgid "Are you sure you wish to delete this organisation?" +msgstr "Tem certeza de que deseja excluir esta organização?" + +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +msgid "Are you sure you wish to delete this team?" +msgstr "Tem certeza de que deseja excluir esta equipe?" + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +#: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx +#: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Are you sure?" +msgstr "Tem certeza?" + +#: apps/remix/app/components/tables/organisation-groups-table.tsx +msgid "Assigned Teams" +msgstr "Equipes atribuídas" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role action verb" +msgid "Assist" +msgstr "Auxiliar" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +msgid "Assist Document" +msgstr "Auxiliar documento" + +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +msgid "Assist with signing" +msgstr "Auxiliar na assinatura" + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx +msgid "Assistant" +msgstr "Assistente" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role name" +msgid "Assistant" +msgstr "Assistente" + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "Assistant role is only available when the document is in sequential signing mode." +msgstr "A função de assistente só está disponível quando o documento está em modo de assinatura sequencial." + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role plural name" +msgid "Assistants" +msgstr "Assistentes" + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "Assistants and Copy roles are currently not compatible with the multi-sign experience." +msgstr "Atualmente, as funções de Assistente e Cópia não são compatíveis com a experiência de multi-assinatura." + +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +msgid "Assisted" +msgstr "Assistido" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role actioned" +msgid "Assisted" +msgstr "Assistido" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role progressive verb" +msgid "Assisting" +msgstr "Assistindo" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: packages/ui/primitives/template-flow/add-template-settings.types.tsx +#: packages/ui/primitives/document-flow/add-settings.types.ts +#: packages/lib/types/document-meta.ts +msgid "At least one signature type must be enabled" +msgstr "Ao menos um tipo de assinatura deve estar habilitado" + +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +msgid "Attachment added successfully." +msgstr "Anexo adicionado com sucesso." + +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +msgid "Attachment removed successfully." +msgstr "Anexo removido com sucesso." + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: apps/remix/app/components/general/document-signing/document-signing-attachments-popover.tsx +#: apps/remix/app/components/general/document-signing/document-signing-attachments-popover.tsx +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +msgid "Attachments" +msgstr "Anexos" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Attempts sealing the document again, useful for after a code change has occurred to resolve an erroneous document." +msgstr "Tenta selar o documento novamente; útil após uma alteração de código para corrigir um documento com erro." + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +msgid "Audit Log" +msgstr "Registro de auditoria" + +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +msgid "Audit Logs" +msgstr "Registros de auditoria" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Authentication Level" +msgstr "Nível de autenticação" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +msgid "Authentication Portal Not Found" +msgstr "Portal de autenticação não encontrado" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-page.tsx +#: apps/remix/app/components/general/direct-template/direct-template-signing-auth-page.tsx +msgid "Authentication required" +msgstr "Autenticação necessária" + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Authenticator app" +msgstr "Aplicativo autenticador" + +#: apps/remix/app/components/forms/avatar-image.tsx +msgid "Avatar" +msgstr "Avatar" + +#: apps/remix/app/components/forms/avatar-image.tsx +msgid "Avatar Updated" +msgstr "Avatar atualizado" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +msgid "Awaiting email confirmation" +msgstr "Aguardando confirmação por e-mail" + +#: apps/remix/app/components/general/direct-template/direct-template-signing-form.tsx +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Back" +msgstr "Voltar" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Back home" +msgstr "Voltar para a página inicial" + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "Background Color" +msgstr "Cor de fundo" + +#: apps/remix/app/components/tables/admin-document-jobs-table.tsx +msgid "Background Jobs" +msgstr "Tarefas em segundo plano" + +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "Backup Code" +msgstr "Código de backup" + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "Backup codes" +msgstr "Códigos de backup" + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "Banner Updated" +msgstr "Banner atualizado" + +#: packages/email/template-components/template-confirmation-email.tsx +msgid "Before you get started, please confirm your email address by clicking the button below:" +msgstr "Antes de começar, confirme seu endereço de e-mail clicando no botão abaixo:" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.billing.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +msgid "Billing" +msgstr "Cobrança" + +#: packages/ui/primitives/signature-pad/signature-pad-color-picker.tsx +msgid "Black" +msgstr "Preto" + +#: packages/ui/primitives/signature-pad/signature-pad-color-picker.tsx +msgid "Blue" +msgstr "Azul" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Brand Details" +msgstr "Detalhes da marca" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Brand Website" +msgstr "Site da marca" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +msgid "Branding" +msgstr "Identidade visual" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Branding Logo" +msgstr "Logo da marca" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +msgid "Branding Preferences" +msgstr "Preferências de identidade visual" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx +msgid "Branding preferences updated" +msgstr "Preferências de identidade visual atualizadas" + +#: apps/remix/app/components/tables/settings-security-activity-table.tsx +msgid "Browser" +msgstr "Navegador" + +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +msgid "Bulk Copy" +msgstr "Copiar em massa" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Bulk Import" +msgstr "Importar em massa" + +#. placeholder {0}: template.title +#: packages/lib/jobs/definitions/internal/bulk-send-template.handler.ts +msgid "Bulk Send Complete: {0}" +msgstr "Envio em massa concluído: {0}" + +#: packages/email/templates/bulk-send-complete.tsx +msgid "Bulk send operation complete for template \"{templateName}\"" +msgstr "Operação de envio em massa concluída para o modelo \"{templateName}\"" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Bulk Send Template via CSV" +msgstr "Enviar modelo em massa via CSV" + +#: apps/remix/app/components/tables/templates-table-action-dropdown.tsx +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Bulk Send via CSV" +msgstr "Envio em massa via CSV" + +#: packages/email/templates/organisation-invite.tsx +msgid "by <0>{senderName}" +msgstr "por <0>{senderName}" + +#. placeholder {0}: organisation.name +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "By accepting this request, you grant {0} the following permissions:" +msgstr "Ao aceitar esta solicitação, você concede a {0} as seguintes permissões:" + +#: packages/email/templates/confirm-team-email.tsx +msgid "By accepting this request, you will be granting <0>{teamName} access to:" +msgstr "Ao aceitar esta solicitação, você concederá à equipe <0>{teamName} acesso a:" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "By deleting this document, the following will occur:" +msgstr "Ao excluir este documento, ocorrerá o seguinte:" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx +msgid "By enabling 2FA, you will be required to enter a code from your authenticator app every time you sign in using email password." +msgstr "Ao ativar o 2FA, será necessário inserir um código do aplicativo autenticador sempre que acessar com e-mail e senha." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "By proceeding to use the electronic signature service provided by Documenso, you affirm that you have read and understood this disclosure. You agree to all terms and conditions related to the use of electronic signatures and electronic transactions as outlined herein." +msgstr "Ao utilizar o serviço de assinatura eletrônica do Documenso, você declara que leu e entendeu este aviso. Você concorda com todos os termos e condições relacionados ao uso de assinaturas eletrônicas e transações eletrônicas aqui descritos." + +#: apps/remix/app/components/general/document-signing/document-signing-disclosure.tsx +msgid "By proceeding with your electronic signature, you acknowledge and consent that it will be used to sign the given document and holds the same legal validity as a handwritten signature. By completing the electronic signing process, you affirm your understanding and acceptance of these conditions." +msgstr "Ao prosseguir com a assinatura eletrônica, você reconhece e consente que ela será usada para assinar o documento e possui a mesma validade legal de uma assinatura manuscrita. Ao concluir o processo, você confirma que entende e aceita essas condições." + +#: apps/remix/app/components/forms/signup.tsx +msgid "By proceeding, you agree to our <0>Terms of Service and <1>Privacy Policy." +msgstr "Ao prosseguir, você concorda com nossos <0>Termos de Serviço e <1>Política de Privacidade." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "By using the electronic signature feature, you are consenting to conduct transactions and receive disclosures electronically. You acknowledge that your electronic signature on documents is binding and that you accept the terms outlined in the documents you are signing." +msgstr "Ao usar a assinatura eletrônica, você concorda em realizar transações e receber comunicações eletronicamente. Reconhece que sua assinatura eletrônica é vinculante e aceita os termos dos documentos que assina." + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "Can prepare" +msgstr "Pode preparar" + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-number-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-form.tsx +#: apps/remix/app/components/general/document-signing/document-signing-form.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-account.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx +#: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-text-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-signature-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-number-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-name-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-initials-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-email-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx +#: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/claim-update-dialog.tsx +#: apps/remix/app/components/dialogs/claim-delete-dialog.tsx +#: apps/remix/app/components/dialogs/claim-create-dialog.tsx +#: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: packages/ui/primitives/signature-pad/signature-pad-dialog.tsx +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx +msgid "Cancel" +msgstr "Cancelar" + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Cancelled by user" +msgstr "Cancelado pelo usuário" + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "Cannot remove document" +msgstr "Não é possível remover o documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Cannot remove signer" +msgstr "Não é possível remover o signatário" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +msgid "Cannot upload items after the document has been sent" +msgstr "Não é possível enviar itens após o documento ter sido enviado" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role name" +msgid "Cc" +msgstr "Cc" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role action verb" +msgid "CC" +msgstr "CC" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role progressive verb" +msgid "CC" +msgstr "CC" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role actioned" +msgid "CC'd" +msgstr "Enviado em cópia" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role plural name" +msgid "Ccers" +msgstr "Copiados" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +msgid "Center" +msgstr "Centralizar" + +#: apps/remix/app/components/forms/editor/editor-field-text-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +msgid "Character Limit" +msgstr "Limite de caracteres" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Charts" +msgstr "Gráficos" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/lib/utils/fields.ts +msgid "Checkbox" +msgstr "Caixa de seleção" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Checkbox Settings" +msgstr "Configurações da caixa de seleção" + +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Checkbox values" +msgstr "Valores da caixa de seleção" + +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Checkout" +msgstr "Finalizar compra" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Choose an existing recipient from below to continue" +msgstr "Escolha um destinatário existente abaixo para continuar" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Choose Direct Link Recipient" +msgstr "Escolher destinatário de link direto" + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Choose how the document will reach recipients" +msgstr "Escolha como o documento chegará aos destinatários" + +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +msgid "Choose how to distribute your document to recipients. Email will send notifications, None will generate signing links for manual distribution." +msgstr "Escolha como distribuir o documento aos destinatários. E-mail envia notificações; Nenhum gera links de assinatura para distribuição manual." + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Choose verification method" +msgstr "Escolha o método de verificação" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "Choose your preferred authentication method:" +msgstr "Escolha o método de autenticação preferido:" + +#: apps/remix/app/components/forms/token.tsx +msgid "Choose..." +msgstr "Escolher..." + +#: apps/remix/app/components/general/claim-account.tsx +msgid "Claim account" +msgstr "Reivindicar conta" + +#: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +msgid "Claims" +msgstr "Reivindicações" + +#: packages/ui/primitives/data-table.tsx +msgid "Clear filters" +msgstr "Limpar filtros" + +#: packages/ui/primitives/signature-pad/signature-pad-draw.tsx +msgid "Clear Signature" +msgstr "Limpar assinatura" + +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +msgid "Click here to get started" +msgstr "Clique aqui para começar" + +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +#: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx +#: apps/remix/app/components/general/document/document-page-view-recent-activity.tsx +msgid "Click here to retry" +msgstr "Clique aqui para tentar novamente" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Click here to upload" +msgstr "Clique aqui para enviar" + +#: apps/remix/app/components/general/avatar-with-recipient.tsx +#: apps/remix/app/components/general/avatar-with-recipient.tsx +msgid "Click to copy signing link for sending to recipient" +msgstr "Clique para copiar o link de assinatura para enviar ao destinatário" + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-page-renderer.tsx +#: apps/remix/app/components/general/document-signing/document-signing-form.tsx +#: apps/remix/app/components/general/direct-template/direct-template-signing-form.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +msgid "Click to insert field" +msgstr "Clique para inserir o campo" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Client ID" +msgstr "Client ID" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Client ID is required" +msgstr "Client ID is required" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Client Secret" +msgstr "Client Secret" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Client secret is required" +msgstr "Client secret is required" + +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +#: apps/remix/app/components/forms/support-ticket-form.tsx +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/template-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx +msgid "Close" +msgstr "Fechar" + +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +msgid "Communication" +msgstr "Comunicação" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Compare all plans and features in detail" +msgstr "Compare todos os planos e recursos em detalhes" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +msgid "Complete" +msgstr "Concluir" + +#: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx +msgid "Complete Document" +msgstr "Concluir documento" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "Complete the fields for the following signers." +msgstr "Preencha os campos para os signatários a seguir." + +#: apps/remix/app/components/tables/admin-document-jobs-table.tsx +#: apps/remix/app/components/general/stack-avatars-with-tooltip.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +#: packages/lib/constants/document.ts +#: packages/email/template-components/template-document-self-signed.tsx +#: packages/email/template-components/template-document-recipient-signed.tsx +#: packages/email/template-components/template-document-completed.tsx +msgid "Completed" +msgstr "Concluído" + +#: packages/email/templates/document-self-signed.tsx +#: packages/email/templates/document-completed.tsx +msgid "Completed Document" +msgstr "Documento concluído" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Completed documents" +msgstr "Documentos concluídos" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Completed Documents" +msgstr "Documentos concluídos" + +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +msgid "Completed on {formattedDate}" +msgstr "Concluído em {formattedDate}" + +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +msgid "Configuration Error" +msgstr "Erro de configuração" + +#. placeholder {0}: parseMessageDescriptor(_, FRIENDLY_FIELD_TYPE[currentField.type]) +#: apps/remix/app/components/embed/authoring/field-advanced-settings-drawer.tsx +msgid "Configure {0} Field" +msgstr "Configurar campo {0}" + +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +msgid "Configure additional options and preferences" +msgstr "Configure opções e preferências adicionais" + +#: packages/lib/constants/template.ts +msgid "Configure Direct Recipient" +msgstr "Configurar destinatário direto" + +#: apps/remix/app/components/embed/authoring/configure-document-view.tsx +msgid "Configure Document" +msgstr "Configurar documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure document settings and options before sending." +msgstr "Configure as opções e configurações do documento antes de enviar." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure email settings for the document" +msgstr "Configure as configurações de e-mail do documento" + +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +msgid "Configure Fields" +msgstr "Configurar campos" + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Configure general settings for the document." +msgstr "Configure as configurações gerais do documento." + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "Configure general settings for the template." +msgstr "Configure as configurações gerais do modelo." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Configure security settings for the document" +msgstr "Configure as configurações de segurança do documento" + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Configure template" +msgstr "Configurar modelo" + +#: apps/remix/app/components/embed/authoring/configure-document-view.tsx +msgid "Configure Template" +msgstr "Configurar modelo" + +#. placeholder {0}: parseMessageDescriptor( _, FRIENDLY_FIELD_TYPE[currentField.type], ) +#: apps/remix/app/components/embed/authoring/field-advanced-settings-drawer.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/add-fields.tsx +msgid "Configure the {0} field" +msgstr "Configure o campo {0}" + +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +msgid "Configure the fields you want to place on the document." +msgstr "Configure os campos que deseja posicionar no documento." + +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Configure the team roles for each group" +msgstr "Configure as funções da equipe para cada grupo" + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "Configure the team roles for each member" +msgstr "Configure as funções da equipe para cada membro" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Confirm" +msgstr "Confirmar" + +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +msgid "Confirm by typing <0>{deleteMessage}" +msgstr "Confirme digitando <0>{deleteMessage}" + +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "Confirm by typing: <0>{deleteMessage}" +msgstr "Confirme digitando: <0>{deleteMessage}" + +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Confirm Deletion" +msgstr "Confirmar exclusão" + +#: apps/remix/app/routes/_unauthenticated+/unverified-account.tsx +#: packages/email/template-components/template-confirmation-email.tsx +msgid "Confirm email" +msgstr "Confirmar e-mail" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +#: apps/remix/app/components/forms/send-confirmation-email.tsx +msgid "Confirmation email sent" +msgstr "E-mail de confirmação enviado" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Consent to Electronic Transactions" +msgstr "Consentimento para transações eletrônicas" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Contact Information" +msgstr "Informações de contato" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Contact sales here" +msgstr "Entre em contato com vendas aqui" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +msgid "Contact us" +msgstr "Fale conosco" + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "Content" +msgstr "Conteúdo" + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/general/document-signing/document-signing-form.tsx +#: apps/remix/app/components/embed/authoring/configure-document-view.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx +#: packages/ui/primitives/document-flow/document-flow-root.tsx +msgid "Continue" +msgstr "Continuar" + +#: packages/email/template-components/template-document-invite.tsx +msgid "Continue by approving the document." +msgstr "Continue aprovando o documento." + +#: packages/email/template-components/template-document-invite.tsx +msgid "Continue by assisting with the document." +msgstr "Continue auxiliando no documento." + +#: packages/email/template-components/template-document-completed.tsx +msgid "Continue by downloading the document." +msgstr "Continue baixando o documento." + +#: packages/email/template-components/template-document-invite.tsx +msgid "Continue by signing the document." +msgstr "Continue assinando o documento." + +#: packages/email/template-components/template-document-invite.tsx +msgid "Continue by viewing the document." +msgstr "Continue visualizando o documento." + +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +msgid "Continue to login" +msgstr "Continuar para login" + +#: apps/remix/app/components/forms/email-preferences-form.tsx +msgid "Controls the default email settings when new documents or templates are created" +msgstr "Controla as configurações de e-mail padrão ao criar novos documentos ou modelos" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls the default language of an uploaded document. This will be used as the language in email communications with the recipients." +msgstr "Controla o idioma padrão de documentos enviados. Será usado nas comunicações por e-mail com os destinatários." + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls the default visibility of an uploaded document." +msgstr "Controla a visibilidade padrão de um documento enviado." + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls the formatting of the message that will be sent when inviting a recipient to sign a document. If a custom message has been provided while configuring the document, it will be used instead." +msgstr "Controla o formato da mensagem enviada ao convidar um destinatário para assinar. Se foi fornecida uma mensagem personalizada na configuração do documento, ela será utilizada." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Controls the language for the document, including the language to be used for email notifications, and the final certificate that is generated and attached to the document." +msgstr "Controla o idioma do documento, das notificações por e-mail e do certificado final gerado e anexado." + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls whether the audit logs will be included in the document when it is downloaded. The audit logs can still be downloaded from the logs page separately." +msgstr "Controla se os registros de auditoria serão incluídos ao baixar o documento. Eles podem ser baixados separadamente na página de registros." + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls whether the signing certificate will be included in the document when it is downloaded. The signing certificate can still be downloaded from the logs page separately." +msgstr "Controla se o certificado de assinatura será incluído ao baixar o documento. Ele também pode ser baixado separadamente na página de registros." + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Controls which signatures are allowed to be used when signing a document." +msgstr "Controla quais tipos de assinatura podem ser utilizados ao assinar um documento." + +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Copied" +msgstr "Copiado" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +#: apps/remix/app/components/general/avatar-with-recipient.tsx +#: apps/remix/app/components/general/template/template-direct-link-badge.tsx +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +#: apps/remix/app/components/forms/public-profile-form.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/components/document/document-share-button.tsx +msgid "Copied to clipboard" +msgstr "Copiado para a área de transferência" + +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Copy" +msgstr "Copiar" + +#: packages/ui/components/document/document-share-button.tsx +msgid "Copy Link" +msgstr "Copiar link" + +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +msgid "Copy sharable link" +msgstr "Copiar link compartilhável" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Copy Shareable Link" +msgstr "Copiar link compartilhável" + +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +msgid "Copy Signing Links" +msgstr "Copiar links de assinatura" + +#: apps/remix/app/components/forms/token.tsx +msgid "Copy token" +msgstr "Copiar token" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "couldn't be uploaded:" +msgstr "não pôde ser enviado:" + +#: apps/remix/app/routes/_profile+/_layout.tsx +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +msgid "Create" +msgstr "Criar" + +#: packages/email/template-components/template-document-self-signed.tsx +msgid "Create a <0>free account to access your signed documents at any time." +msgstr "Crie uma <0>conta gratuita para acessar seus documentos assinados a qualquer momento." + +#: apps/remix/app/components/forms/signup.tsx +msgid "Create a new account" +msgstr "Criar uma nova conta" + +#. placeholder {0}: emailDomain.domain +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "Create a new email address for your organisation using the domain <0>{0}." +msgstr "Crie um novo endereço de e-mail para sua organização usando o domínio <0>{0}." + +#: apps/remix/app/components/general/billing-plans.tsx +msgid "Create a new organisation with {planName} plan. Keep your current organisation on it's current plan" +msgstr "Crie uma nova organização com o plano {planName}. Mantenha a organização atual no plano atual" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +msgid "Create a support ticket" +msgstr "Criar um chamado de suporte" + +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "Create a team to collaborate with your team members." +msgstr "Crie uma equipe para colaborar com seus colegas." + +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +#: packages/email/template-components/template-document-self-signed.tsx +msgid "Create account" +msgstr "Criar conta" + +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +msgid "Create an organisation for this user" +msgstr "Criar uma organização para este usuário" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Create an organisation to collaborate with teams" +msgstr "Crie uma organização para colaborar com equipes" + +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +msgid "Create an organisation to get started." +msgstr "Crie uma organização para começar." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Create and send" +msgstr "Criar e enviar" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Create as draft" +msgstr "Criar como rascunho" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Create as pending" +msgstr "Criar como pendente" + +#: apps/remix/app/components/dialogs/claim-create-dialog.tsx +msgid "Create claim" +msgstr "Criar reivindicação" + +#: apps/remix/app/components/dialogs/claim-create-dialog.tsx +msgid "Create Claim" +msgstr "Criar reivindicação" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Create Direct Link" +msgstr "Criar link direto" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Create Direct Signing Link" +msgstr "Criar link de assinatura direta" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Create document from template" +msgstr "Criar documento a partir do modelo" + +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "Create Email" +msgstr "Criar e-mail" + +#: apps/remix/app/components/general/folder/folder-card.tsx +msgid "Create folder" +msgstr "Criar pasta" + +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +msgid "Create Folder" +msgstr "Criar pasta" + +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "Create group" +msgstr "Criar grupo" + +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Create Groups" +msgstr "Criar grupos" + +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +msgid "Create New Folder" +msgstr "Criar nova pasta" + +#: apps/remix/app/routes/_profile+/_layout.tsx +msgid "Create now" +msgstr "Criar agora" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Create one automatically" +msgstr "Criar automaticamente" + +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +msgid "Create organisation" +msgstr "Criar organização" + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/general/menu-switcher.tsx +msgid "Create Organisation" +msgstr "Criar organização" + +#: apps/remix/app/components/general/billing-plans.tsx +msgid "Create separate organisation" +msgstr "Criar organização separada" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Create signing links" +msgstr "Criar links de assinatura" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Create Stripe customer" +msgstr "Criar cliente Stripe" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Create subscription" +msgstr "Criar assinatura" + +#: apps/remix/app/components/dialogs/claim-create-dialog.tsx +msgid "Create Subscription Claim" +msgstr "Criar reivindicação de assinatura" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "Create team" +msgstr "Criar equipe" + +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "Create Team" +msgstr "Criar equipe" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Create the document as pending and ready to sign." +msgstr "Crie o documento como pendente e pronto para assinatura." + +#: apps/remix/app/components/forms/token.tsx +#: apps/remix/app/components/forms/token.tsx +msgid "Create token" +msgstr "Criar token" + +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "Create webhook" +msgstr "Criar webhook" + +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "Create Webhook" +msgstr "Criar webhook" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Create your account and start using state-of-the-art document signing." +msgstr "Crie sua conta e comece a usar uma assinatura de documentos de ponta." + +#: apps/remix/app/components/forms/signup.tsx +msgid "Create your account and start using state-of-the-art document signing. Open and beautiful signing is within your grasp." +msgstr "Crie sua conta e utilize uma assinatura de documentos moderna. Uma experiência aberta e elegante está ao seu alcance." + +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/routes/_authenticated+/admin+/documents._index.tsx +#: apps/remix/app/components/tables/templates-table.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table.tsx +#: apps/remix/app/components/tables/organisation-teams-table.tsx +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table.tsx +#: apps/remix/app/components/tables/admin-leaderboard-table.tsx +#: apps/remix/app/components/general/template/template-page-view-information.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/document/document-page-view-information.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Created" +msgstr "Criado" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +#: apps/remix/app/components/tables/user-organisations-table.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +msgid "Created At" +msgstr "Criado em" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx +msgid "Created by" +msgstr "Criado por" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Created on" +msgstr "Criado em" + +#. placeholder {0}: i18n.date(webhook.createdAt, DateTime.DATETIME_FULL) +#. placeholder {0}: i18n.date(token.createdAt, DateTime.DATETIME_FULL) +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +msgid "Created on {0}" +msgstr "Criado em {0}" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "CSV Structure" +msgstr "Estrutura do CSV" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Cumulative MAU (signed in)" +msgstr "MAU acumulado (logados)" + +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +msgid "Current" +msgstr "Atual" + +#: apps/remix/app/components/forms/password.tsx +msgid "Current Password" +msgstr "Senha atual" + +#: apps/remix/app/components/forms/password.tsx +msgid "Current password is incorrect." +msgstr "A senha atual está incorreta." + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Current recipients:" +msgstr "Destinatários atuais:" + +#: apps/remix/app/components/general/teams/team-inherit-member-alert.tsx +msgid "Currently all organisation members can access this team" +msgstr "Atualmente todos os membros da organização podem acessar esta equipe" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +msgid "Currently branding can only be configured for Teams and above plans." +msgstr "Atualmente a identidade visual só pode ser configurada nos planos Teams ou superiores." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains._index.tsx +msgid "Currently email domains can only be configured for Platform and above plans." +msgstr "Atualmente domínios de e-mail só podem ser configurados nos planos Platform ou superiores." + +#. placeholder {0}: (field.value.size / (1024 * 1024)).toFixed(2) +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Custom {0} MB file" +msgstr "Arquivo personalizado de {0} MB" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx +msgid "Custom Organisation Groups" +msgstr "Grupos personalizados da organização" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Dark Mode" +msgstr "Modo escuro" + +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +msgid "Dashboard" +msgstr "Painel" + +#: apps/remix/app/components/tables/settings-security-activity-table.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: apps/remix/app/components/general/document-signing/document-signing-date-field.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/ui/primitives/document-flow/add-fields.tsx +#: packages/lib/utils/fields.ts +msgid "Date" +msgstr "Data" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx +msgid "Date created" +msgstr "Data de criação" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Date Format" +msgstr "Formato de data" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Date Settings" +msgstr "Configurações de data" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +#: packages/email/templates/organisation-invite.tsx +msgid "Decline" +msgstr "Recusar" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Date Format" +msgstr "Formato de data padrão" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Document Language" +msgstr "Idioma padrão do documento" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Document Visibility" +msgstr "Visibilidade padrão do documento" + +#: apps/remix/app/components/forms/email-preferences-form.tsx +msgid "Default Email" +msgstr "E-mail padrão" + +#: apps/remix/app/components/forms/email-preferences-form.tsx +msgid "Default Email Settings" +msgstr "Configurações padrão de e-mail" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Default file" +msgstr "Arquivo padrão" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Default Organisation Role for New Users" +msgstr "Função padrão da organização para novos usuários" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Signature Settings" +msgstr "Configurações padrão de assinatura" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Default Time Zone" +msgstr "Fuso horário padrão" + +#: apps/remix/app/components/forms/editor/editor-field-dropdown-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-dropdown-form.tsx +msgid "Default Value" +msgstr "Valor padrão" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "delete" +msgstr "excluir" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +#: apps/remix/app/components/tables/templates-table-action-dropdown.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/organisation-teams-table.tsx +#: apps/remix/app/components/tables/organisation-groups-table.tsx +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/admin-claims-table.tsx +#: apps/remix/app/components/general/folder/folder-card.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/claim-delete-dialog.tsx +msgid "Delete" +msgstr "Excluir" + +#. placeholder {0}: webhook.webhookUrl +#. placeholder {0}: token.name +#. placeholder {0}: organisation.name +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "delete {0}" +msgstr "excluir {0}" + +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +msgid "delete {emailDomain}" +msgstr "excluir {emailDomain}" + +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +msgid "delete {teamName}" +msgstr "excluir {teamName}" + +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +msgid "Delete account" +msgstr "Excluir conta" + +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Delete Account" +msgstr "Excluir conta" + +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +msgid "Delete document" +msgstr "Excluir documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +msgid "Delete Document" +msgstr "Excluir documento" + +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +msgid "Delete email" +msgstr "Excluir e-mail" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +msgid "Delete email domain" +msgstr "Excluir domínio de e-mail" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "Delete Email Domain" +msgstr "Excluir domínio de e-mail" + +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "Delete Folder" +msgstr "Excluir pasta" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.general.tsx +msgid "Delete organisation" +msgstr "Excluir organização" + +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +msgid "Delete organisation group" +msgstr "Excluir grupo da organização" + +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +msgid "Delete organisation member" +msgstr "Excluir membro da organização" + +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +msgid "Delete passkey" +msgstr "Excluir chave de acesso" + +#: apps/remix/app/components/dialogs/claim-delete-dialog.tsx +msgid "Delete Subscription Claim" +msgstr "Excluir reivindicação de assinatura" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +msgid "Delete team" +msgstr "Excluir equipe" + +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +msgid "Delete team group" +msgstr "Excluir grupo da equipe" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Delete Template" +msgstr "Excluir modelo" + +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +msgid "Delete the document. This action is irreversible so proceed with caution." +msgstr "Excluir o documento. Esta ação é irreversível, proceda com cautela." + +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +msgid "Delete the users account and all its contents. This action is irreversible and will cancel their subscription, so proceed with caution." +msgstr "Excluir a conta do usuário e todo o conteúdo. Esta ação é irreversível e cancelará a assinatura; proceda com cautela." + +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +msgid "Delete Webhook" +msgstr "Excluir webhook" + +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Delete your account and all its contents, including completed documents. This action is irreversible and will cancel your subscription, so proceed with caution." +msgstr "Exclua sua conta e todo o conteúdo, incluindo documentos concluídos. Esta ação é irreversível e cancelará sua assinatura; proceda com cautela." + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Deleted" +msgstr "Excluído" + +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Deleting account..." +msgstr "Excluindo conta..." + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Details" +msgstr "Detalhes" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/components/tables/settings-security-activity-table.tsx +msgid "Device" +msgstr "Dispositivo" + +#: packages/email/templates/reset-password.tsx +msgid "Didn't request a password change? We are here to help you secure your account, just <0>contact us." +msgstr "Não solicitou alteração de senha? Podemos ajudar a proteger sua conta, basta <0>falar conosco." + +#: apps/remix/app/components/tables/templates-table.tsx +#: apps/remix/app/components/general/template/template-direct-link-badge.tsx +msgid "direct link" +msgstr "link direto" + +#: apps/remix/app/components/tables/templates-table-action-dropdown.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +msgid "Direct link" +msgstr "Link direto" + +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Direct Link" +msgstr "Link direto" + +#: apps/remix/app/components/general/template/template-direct-link-badge.tsx +msgid "direct link disabled" +msgstr "link direto desativado" + +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +msgid "Direct link receiver" +msgstr "Destinatário de link direto" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Direct Link Signing" +msgstr "Assinatura por link direto" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Direct link signing has been disabled" +msgstr "A assinatura por link direto foi desativada" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Direct link signing has been enabled" +msgstr "A assinatura por link direto foi ativada" + +#: apps/remix/app/components/tables/templates-table.tsx +msgid "Direct link templates contain one dynamic recipient placeholder. Anyone with access to this link can sign the document, and it will then appear on your documents page." +msgstr "Modelos de link direto possuem um placeholder dinâmico de destinatário. Qualquer pessoa com acesso ao link pode assinar o documento, que aparecerá na sua página de documentos." + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Direct template link deleted" +msgstr "Link de modelo direto excluído" + +#. placeholder {0}: quota.directTemplates +#. placeholder {1}: quota.directTemplates +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Direct template link usage exceeded ({0}/{1})" +msgstr "Uso do link de modelo direto excedido ({0}/{1})" + +#: apps/remix/app/components/forms/editor/editor-field-radio-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Direction" +msgstr "Direção" + +#: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Disable" +msgstr "Desativar" + +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "Disable 2FA" +msgstr "Desativar 2FA" + +#: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx +msgid "Disable access" +msgstr "Desativar acesso" + +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +msgid "Disable account" +msgstr "Desativar conta" + +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +msgid "Disable Account" +msgstr "Desativar conta" + +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Disable Two Factor Authentication before deleting your account." +msgstr "Desative a autenticação em duas etapas antes de excluir sua conta." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +msgid "Disabled" +msgstr "Desativado" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Disabling direct link signing will prevent anyone from accessing the link." +msgstr "Desativar a assinatura por link direto impedirá qualquer acesso ao link." + +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +msgid "Disabling the user results in the user not being able to use the account. It also disables all the related contents such as subscription, webhooks, teams, and API keys." +msgstr "Desativar o usuário impede o uso da conta e também desativa assinaturas, webhooks, equipes e chaves de API relacionadas." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +msgid "Discord" +msgstr "Discord" + +#: apps/remix/app/components/dialogs/organisation-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "Display Name" +msgstr "Nome de exibição" + +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "Display your name and email in documents" +msgstr "Exiba seu nome e e-mail nos documentos" + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Distribute Document" +msgstr "Distribuir documento" + +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +msgid "Distribution Method" +msgstr "Método de distribuição" + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "DKIM records generated. Please add the DNS records to verify your domain." +msgstr "Registros DKIM gerados. Adicione os registros DNS para verificar seu domínio." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "DNS Records" +msgstr "Registros DNS" + +#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +msgid "Do you want to delete this template?" +msgstr "Deseja excluir este modelo?" + +#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx +msgid "Do you want to duplicate this template?" +msgstr "Deseja duplicar este modelo?" + +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Documenso will delete <0>all of your documents, along with all of your completed documents, signatures, and all other resources belonging to your Account." +msgstr "O Documenso excluirá <0>todos os seus documentos, incluindo concluídos, assinaturas e demais recursos da sua conta." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +msgid "Document" +msgstr "Documento" + +#. placeholder {0}: envelope.title +#. placeholder {1}: recipient.name +#: packages/lib/jobs/definitions/emails/send-rejection-emails.handler.ts +msgid "Document \"{0}\" - Rejected by {1}" +msgstr "Document \"{0}\" - Rejected by {1}" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/emails/send-rejection-emails.handler.ts +msgid "Document \"{0}\" - Rejection Confirmed" +msgstr "Document \"{0}\" - Rejection Confirmed" + +#. placeholder {0}: envelope.title +#: packages/lib/jobs/definitions/emails/send-document-cancelled-emails.handler.ts +msgid "Document \"{0}\" Cancelled" +msgstr "Document \"{0}\" Cancelled" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Document & Recipients" +msgstr "Document & Recipients" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +#: packages/ui/components/document/document-global-auth-access-select.tsx +msgid "Document access" +msgstr "Acesso ao documento" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document access auth updated" +msgstr "Autenticação de acesso ao documento atualizada" + +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document All" +msgstr "Todos os documentos" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Document Approved" +msgstr "Documento aprovado" + +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +#: packages/lib/server-only/document/delete-document.ts +#: packages/lib/server-only/admin/admin-super-delete-document.ts +msgid "Document Cancelled" +msgstr "Documento cancelado" + +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document completed" +msgstr "Documento concluído" + +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document completed" +msgstr "Documento concluído" + +#: packages/ui/components/document/document-email-checkboxes.tsx +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Document completed email" +msgstr "E-mail de documento concluído" + +#: apps/remix/app/components/embed/embed-document-completed.tsx +msgid "Document Completed!" +msgstr "Documento concluído!" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Document created" +msgstr "Documento criado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document created" +msgstr "Documento criado" + +#: apps/remix/app/routes/embed+/v1+/authoring_.completed.create.tsx +msgid "Document Created" +msgstr "Documento criado" + +#. placeholder {0}: document.user.name +#: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx +msgid "Document created by <0>{0}" +msgstr "Documento criado por <0>{0}" + +#: packages/lib/server-only/template/create-document-from-direct-template.ts +#: packages/email/templates/document-created-from-direct-template.tsx +msgid "Document created from direct template" +msgstr "Documento criado a partir de modelo direto" + +#: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx +msgid "Document created using a <0>direct link" +msgstr "Documento criado usando um <0>link direto" + +#: packages/lib/constants/template.ts +msgid "Document Creation" +msgstr "Criação de documento" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +msgid "Document deleted" +msgstr "Documento excluído" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document deleted" +msgstr "Documento excluído" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Document deleted email" +msgstr "E-mail de documento excluído" + +#: packages/lib/server-only/document/send-delete-email.ts +msgid "Document Deleted!" +msgstr "Documento excluído!" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "Document Distribution Method" +msgstr "Método de distribuição do documento" + +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document draft" +msgstr "Documento em rascunho" + +#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +msgid "Document Duplicated" +msgstr "Documento duplicado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Document Editor" +msgstr "Editor de documento" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document external ID updated" +msgstr "ID externo do documento atualizado" + +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +msgid "Document found in your account" +msgstr "Documento localizado na sua conta" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx +msgid "Document ID" +msgstr "ID do documento" + +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document inbox" +msgstr "Caixa de entrada de documentos" + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "Document is already uploaded" +msgstr "O documento já foi enviado" + +#: apps/remix/app/components/general/legacy-field-warning-popover.tsx +msgid "Document is using legacy field insertion" +msgstr "O documento utiliza inserção de campos legada" + +#: apps/remix/app/components/tables/templates-table.tsx +msgid "Document Limit Exceeded!" +msgstr "Limite de documentos excedido!" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Document metrics" +msgstr "Métricas de documentos" + +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "Document moved" +msgstr "Documento movido" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document moved to team" +msgstr "Documento movido para equipe" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Document no longer available to sign" +msgstr "Documento não está mais disponível para assinatura" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document opened" +msgstr "Documento aberto" + +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document pending" +msgstr "Documento pendente" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Document pending email" +msgstr "E-mail de documento pendente" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.document.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +msgid "Document Preferences" +msgstr "Preferências de documento" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.document.tsx +msgid "Document preferences updated" +msgstr "Preferências de documento atualizadas" + +#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +msgid "Document re-sent" +msgstr "Documento reenviado" + +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Document rejected" +msgstr "Documento rejeitado" + +#: apps/remix/app/routes/_recipient+/sign.$token+/rejected.tsx +#: apps/remix/app/components/embed/embed-document-rejected.tsx +#: packages/email/template-components/template-document-rejected.tsx +msgid "Document Rejected" +msgstr "Documento rejeitado" + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Document sent" +msgstr "Documento enviado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document sent" +msgstr "Documento enviado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Document Settings" +msgstr "Configurações do documento" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Document Signed" +msgstr "Documento assinado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document signing auth updated" +msgstr "Autenticação de assinatura do documento atualizada" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Document signing process will be cancelled" +msgstr "O processo de assinatura do documento será cancelado" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx +msgid "Document status" +msgstr "Status do documento" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx +msgid "Document title" +msgstr "Título do documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +msgid "Document Title" +msgstr "Título do documento" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document title updated" +msgstr "Título do documento atualizado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document updated" +msgstr "Documento atualizado" + +#: apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx +msgid "Document updated successfully" +msgstr "Documento atualizado com sucesso" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +msgid "Document upload disabled due to unpaid invoices" +msgstr "Envio de documentos desabilitado por faturas em atraso" + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Document uploaded" +msgstr "Documento enviado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document viewed" +msgstr "Documento visualizado" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Document Viewed" +msgstr "Documento visualizado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Document visibility" +msgstr "Visibilidade do documento" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Document visibility updated" +msgstr "Visibilidade do documento atualizada" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Document will be permanently deleted" +msgstr "O documento será excluído permanentemente" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +msgid "Documentation" +msgstr "Documentação" + +#: apps/remix/app/routes/_profile+/p.$url.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.legacy_editor.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +#: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +#: apps/remix/app/components/tables/admin-dashboard-users-table.tsx +#: apps/remix/app/components/general/user-profile-timur.tsx +#: apps/remix/app/components/general/app-nav-mobile.tsx +#: apps/remix/app/components/general/app-nav-desktop.tsx +#: apps/remix/app/components/general/app-command-menu.tsx +#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +msgid "Documents" +msgstr "Documentos" + +#: apps/remix/app/components/general/document-signing/document-signing-attachments-popover.tsx +msgid "Documents and resources related to this envelope." +msgstr "Documentos e recursos relacionados a este envelope." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +msgid "Documents created from template" +msgstr "Documentos criados a partir do modelo" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Documents Received" +msgstr "Documentos recebidos" + +#: apps/remix/app/components/tables/inbox-table.tsx +msgid "Documents that require your attention will appear here" +msgstr "Documentos que requerem sua atenção aparecerão aqui" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Documents Viewed" +msgstr "Documentos visualizados" + +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "Domain" +msgstr "Domínio" + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Domain Added" +msgstr "Domínio adicionado" + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Domain already in use" +msgstr "Domínio já em uso" + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Domain Name" +msgstr "Nome do domínio" + +#: apps/remix/app/routes/_unauthenticated+/signin.tsx +#: apps/remix/app/routes/_unauthenticated+/reset-password.$token.tsx +msgid "Don't have an account? <0>Sign up" +msgstr "Não tem uma conta? <0>Cadastre-se" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +#: apps/remix/app/components/tables/organisation-billing-invoices-table.tsx +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/documents-table-action-button.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +#: apps/remix/app/components/general/document/document-page-view-button.tsx +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +#: packages/email/template-components/template-document-completed.tsx +msgid "Download" +msgstr "Baixar" + +#: apps/remix/app/components/general/document/document-audit-log-download-button.tsx +msgid "Download Audit Logs" +msgstr "Baixar registros de auditoria" + +#: apps/remix/app/components/general/document/document-certificate-download-button.tsx +msgid "Download Certificate" +msgstr "Baixar certificado" + +#: apps/remix/app/components/dialogs/envelope-download-dialog.tsx +msgid "Download Files" +msgstr "Baixar arquivos" + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +msgid "Download PDF" +msgstr "Baixar PDF" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Download Template CSV" +msgstr "Baixar modelo CSV" + +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: apps/remix/app/components/general/document/document-status.tsx +#: packages/lib/constants/document.ts +msgid "Draft" +msgstr "Rascunho" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Draft documents" +msgstr "Documentos em rascunho" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Drafted Documents" +msgstr "Documentos rascunhados" + +#: packages/ui/primitives/document-dropzone.tsx +msgid "Drag & drop your PDF here." +msgstr "Arraste e solte seu PDF aqui." + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "Drag and drop or click to upload" +msgstr "Arraste e solte ou clique para enviar" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Drag and drop your PDF file here" +msgstr "Arraste e solte seu arquivo PDF aqui" + +#: packages/ui/primitives/signature-pad/signature-pad.tsx +msgid "Draw" +msgstr "Desenhar" + +#: packages/lib/constants/document.ts +msgctxt "Draw signatute type" +msgid "Draw" +msgstr "Desenhar" + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "Drop your document here" +msgstr "Solte seu documento aqui" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/add-fields.tsx +msgid "Dropdown" +msgstr "Lista suspensa" + +#: apps/remix/app/components/forms/editor/editor-field-dropdown-form.tsx +msgid "Dropdown must have at least one option" +msgstr "A lista suspensa deve ter ao menos uma opção" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx +msgid "Dropdown options" +msgstr "Opções da lista suspensa" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Dropdown Settings" +msgstr "Configurações da lista suspensa" + +#: apps/remix/app/components/forms/editor/editor-field-dropdown-form.tsx +msgid "Dropdown values" +msgstr "Valores da lista suspensa" + +#: apps/remix/app/components/tables/templates-table-action-dropdown.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: packages/ui/primitives/document-flow/field-item.tsx +msgid "Duplicate" +msgstr "Duplicar" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Duplicate Document" +msgstr "Duplicar documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +#: packages/ui/primitives/document-flow/field-item.tsx +msgid "Duplicate on all pages" +msgstr "Duplicar em todas as páginas" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Duplicate Template" +msgstr "Duplicar modelo" + +#: apps/remix/app/components/forms/editor/editor-field-dropdown-form.tsx +msgid "Duplicate values are not allowed" +msgstr "Valores duplicados não são permitidos" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +#: apps/remix/app/components/tables/templates-table-action-dropdown.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/documents-table-action-button.tsx +#: apps/remix/app/components/general/teams/team-email-dropdown.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +#: apps/remix/app/components/general/document/document-page-view-button.tsx +msgid "Edit" +msgstr "Editar" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +msgid "Edit Template" +msgstr "Editar modelo" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "Edit webhook" +msgstr "Editar webhook" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Electronic Delivery of Documents" +msgstr "Entrega eletrônica de documentos" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Electronic Signature Disclosure" +msgstr "Divulgação de assinatura eletrônica" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +#: apps/remix/app/components/tables/admin-dashboard-users-table.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: apps/remix/app/components/general/document-signing/document-signing-email-field.tsx +#: apps/remix/app/components/general/direct-template/direct-template-configure-form.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/profile.tsx +#: apps/remix/app/components/forms/forgot-password.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +#: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/ui/primitives/document-flow/add-signers.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +#: packages/ui/primitives/document-flow/add-fields.tsx +#: packages/lib/utils/fields.ts +#: packages/lib/constants/document.ts +msgid "Email" +msgstr "E-mail" + +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/forms/send-confirmation-email.tsx +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Email address" +msgstr "Endereço de e-mail" + +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "Email Address" +msgstr "Endereço de e-mail" + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "Email already confirmed" +msgstr "E-mail já confirmado" + +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "Email already exists" +msgstr "E-mail já existe" + +#: apps/remix/app/components/general/direct-template/direct-template-configure-form.tsx +msgid "Email cannot already exist in the template" +msgstr "O e-mail não pode existir no modelo" + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "Email Confirmed!" +msgstr "E-mail confirmado!" + +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "Email Created" +msgstr "E-mail criado" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "Email domain not found" +msgstr "Domínio de e-mail não encontrado" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "Email Domain Settings" +msgstr "Configurações de domínio de e-mail" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains._index.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains._index.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +msgid "Email Domains" +msgstr "Domínios de e-mail" + +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "Email domains synced" +msgstr "Domínios de e-mail sincronizados" + +#: apps/remix/app/components/dialogs/sign-field-email-dialog.tsx +msgid "Email is required" +msgstr "E-mail é obrigatório" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "Email Options" +msgstr "Opções de e-mail" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.email.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +msgid "Email Preferences" +msgstr "Preferências de e-mail" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.email.tsx +msgid "Email preferences updated" +msgstr "Preferências de e-mail atualizadas" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Email resent" +msgstr "E-mail reenviado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Email Sender" +msgstr "Remetente do e-mail" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Email sent" +msgstr "E-mail enviado" + +#: apps/remix/app/routes/_unauthenticated+/check-email.tsx +msgid "Email sent!" +msgstr "E-mail enviado!" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Email Settings" +msgstr "Configurações de e-mail" + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Email verification" +msgstr "Verificação por e-mail" + +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +msgid "Email verification has been removed" +msgstr "A verificação por e-mail foi removida" + +#: apps/remix/app/components/general/teams/team-email-dropdown.tsx +msgid "Email verification has been resent" +msgstr "A verificação por e-mail foi reenviada" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "Emails" +msgstr "E-mails" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Embedding, 5 members included and more" +msgstr "Incorporação, 5 membros incluídos e mais" + +#: packages/ui/primitives/document-flow/add-fields.tsx +msgid "Empty field" +msgstr "Campo vazio" + +#: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx +msgid "Enable" +msgstr "Ativar" + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "Enable 2FA" +msgstr "Ativar 2FA" + +#: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx +msgid "Enable access" +msgstr "Ativar acesso" + +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +msgid "Enable account" +msgstr "Ativar conta" + +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +msgid "Enable Account" +msgstr "Ativar conta" + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "Enable Authenticator App" +msgstr "Ativar aplicativo autenticador" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Enable Custom Branding" +msgstr "Ativar identidade visual personalizada" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Enable custom branding for all documents in this organisation" +msgstr "Ativar identidade visual personalizada para todos os documentos desta organização" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Enable custom branding for all documents in this team" +msgstr "Ativar identidade visual personalizada para todos os documentos desta equipe" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: packages/lib/constants/template.ts +msgid "Enable Direct Link Signing" +msgstr "Ativar assinatura por link direto" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Enable signing order" +msgstr "Ativar ordem de assinatura" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Enable SSO portal" +msgstr "Ativar portal SSO" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "Enabled" +msgstr "Ativado" + +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +msgid "Enabling the account results in the user being able to use the account again, and all the related features such as webhooks, teams, and API keys for example." +msgstr "Ativar a conta permite que o usuário volte a utilizá-la, incluindo funcionalidades como webhooks, equipes e chaves de API." + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +msgid "Enclosed Document" +msgstr "Documento anexado" + +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +msgid "Enter a name for your new folder. Folders help you organise your items." +msgstr "Informe um nome para a nova pasta. Pastas ajudam a organizar seus itens." + +#: apps/remix/app/components/forms/subscription-claim-form.tsx +msgid "Enter claim name" +msgstr "Informe o nome da reivindicação" + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Enter the domain you want to use for sending emails (without http:// or www)" +msgstr "Informe o domínio que deseja usar para enviar e-mails (sem http:// ou www)" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Enter the next signer's email" +msgstr "Informe o e-mail do próximo signatário" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Enter the next signer's name" +msgstr "Informe o nome do próximo signatário" + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Enter verification code" +msgstr "Informe o código de verificação" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "Enter your 2FA code" +msgstr "Digite seu código 2FA" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Enter your brand details" +msgstr "Digite os detalhes da sua marca" + +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Enter your email" +msgstr "Informe seu e-mail" + +#: apps/remix/app/components/general/direct-template/direct-template-configure-form.tsx +msgid "Enter your email address to receive the completed document." +msgstr "Informe seu e-mail para receber o documento concluído." + +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Enter your name" +msgstr "Informe seu nome" + +#: apps/remix/app/components/dialogs/sign-field-number-dialog.tsx +msgid "Enter your number here" +msgstr "Digite seu número aqui" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "Enter your password" +msgstr "Digite sua senha" + +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/dialogs/sign-field-text-dialog.tsx +msgid "Enter your text here" +msgstr "Digite seu texto aqui" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Enterprise" +msgstr "Enterprise" + +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +msgid "Envelope distributed" +msgstr "Envelope distribuído" + +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Envelope Duplicated" +msgstr "Envelope duplicado" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +msgid "Envelope ID" +msgstr "ID do envelope" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/forms/subscription-claim-form.tsx +msgid "Envelope Item Count" +msgstr "Quantidade de itens do envelope" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Envelope item created" +msgstr "Item de envelope criado" + +#: packages/lib/utils/document-audit-logs.ts +msgid "Envelope item deleted" +msgstr "Item de envelope excluído" + +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Envelope resent" +msgstr "Envelope reenviado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +msgid "Envelope Title" +msgstr "Título do envelope" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Envelope updated" +msgstr "Envelope atualizado" + +#: apps/remix/app/routes/embed+/v1+/authoring+/template.edit.$id.tsx +#: apps/remix/app/routes/embed+/v1+/authoring+/template.edit.$id.tsx +#: apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx +#: apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +#: apps/remix/app/components/general/verify-email-banner.tsx +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/envelope-signing/envelope-signer-page-renderer.tsx +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-radio-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-radio-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-number-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-number-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-initials-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-initials-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-email-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-email-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-dropdown-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-dropdown-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-date-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-date-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-checkbox-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-checkbox-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-checkbox-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +#: packages/ui/primitives/pdf-viewer.tsx +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx +msgid "Error" +msgstr "Erro" + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "Error uploading file" +msgstr "Erro ao enviar arquivo" + +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +msgid "Event Type" +msgstr "Tipo de evento" + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +msgid "Everyone" +msgstr "Todos" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Everyone can access and view the document" +msgstr "Todos podem acessar e visualizar o documento" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Everyone has signed" +msgstr "Todos assinaram" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Everyone has signed! You will receive an Email copy of the signed document." +msgstr "Todos assinaram! Você receberá uma cópia do documento assinado por e-mail." + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Exceeded timeout" +msgstr "Tempo limite excedido" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +msgid "Expired" +msgstr "Expirado" + +#. placeholder {0}: DateTime.fromMillis(Math.max(millisecondsRemaining, 0)).toFormat( 'mm:ss', ) +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Expires in {0}" +msgstr "Expira em {0}" + +#. placeholder {0}: i18n.date(token.expires, DateTime.DATETIME_FULL) +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +msgid "Expires on {0}" +msgstr "Expira em {0}" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "External ID" +msgstr "ID externo" + +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +msgid "Failed to create folder" +msgstr "Falha ao criar a pasta" + +#: apps/remix/app/components/dialogs/claim-create-dialog.tsx +msgid "Failed to create subscription claim." +msgstr "Falha ao criar a reivindicação de assinatura." + +#: apps/remix/app/components/forms/support-ticket-form.tsx +msgid "Failed to create support ticket" +msgstr "Falha ao criar o chamado de suporte" + +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "Failed to delete folder" +msgstr "Falha ao excluir a pasta" + +#: apps/remix/app/components/dialogs/claim-delete-dialog.tsx +msgid "Failed to delete subscription claim." +msgstr "Falha ao excluir a reivindicação de assinatura." + +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +msgid "Failed to load document" +msgstr "Falha ao carregar o documento" + +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +msgid "Failed to move folder" +msgstr "Failed to move folder" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Failed to reseal document" +msgstr "Falha ao selar novamente o documento" + +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +msgid "Failed to revoke session" +msgstr "Falha ao revogar a sessão" + +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx +msgid "Failed to save settings." +msgstr "Falha ao salvar as configurações." + +#: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx +msgid "Failed to sign out all sessions" +msgstr "Falha ao encerrar todas as sessões" + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +msgid "Failed to unlink account" +msgstr "Falha ao desvincular a conta" + +#: apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx +msgid "Failed to update document" +msgstr "Falha ao atualizar o documento" + +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +msgid "Failed to update recipient" +msgstr "Falha ao atualizar o destinatário" + +#: apps/remix/app/components/dialogs/claim-update-dialog.tsx +msgid "Failed to update subscription claim." +msgstr "Falha ao atualizar a reivindicação de assinatura." + +#: apps/remix/app/routes/embed+/v1+/authoring+/template.edit.$id.tsx +msgid "Failed to update template" +msgstr "Falha ao atualizar o modelo" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "Failed to update webhook" +msgstr "Falha ao atualizar o webhook" + +#: packages/email/templates/bulk-send-complete.tsx +msgid "Failed: {failedCount}" +msgstr "Falhas: {failedCount}" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/admin-claims-table.tsx +#: apps/remix/app/components/forms/subscription-claim-form.tsx +msgid "Feature Flags" +msgstr "Feature Flags" + +#: apps/remix/app/components/forms/editor/editor-field-text-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +msgid "Field character limit" +msgstr "Limite de caracteres do campo" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx +msgid "Field font size" +msgstr "Tamanho da fonte do campo" + +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +msgid "Field format" +msgstr "Formato do campo" + +#: apps/remix/app/components/forms/editor/editor-field-text-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Field label" +msgstr "Rótulo do campo" + +#: apps/remix/app/components/forms/editor/editor-field-text-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +msgid "Field placeholder" +msgstr "Placeholder do campo" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Field prefilled by assistant" +msgstr "Campo pré-preenchido pelo assistente" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Field signed" +msgstr "Campo assinado" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "Field unsigned" +msgstr "Campo sem assinatura" + +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +msgid "Fields" +msgstr "Campos" + +#: apps/remix/app/components/general/legacy-field-warning-popover.tsx +msgid "Fields updated" +msgstr "Campos atualizados" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" +msgstr "File cannot be larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "File is larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" +msgstr "File is larger than {APP_DOCUMENT_UPLOAD_SIZE_LIMIT}MB" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "File is too small" +msgstr "File is too small" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" +msgstr "File size exceeds the limit of {APP_DOCUMENT_UPLOAD_SIZE_LIMIT} MB" + +#: apps/remix/app/components/dialogs/claim-create-dialog.tsx +msgid "Fill in the details to create a new subscription claim." +msgstr "Fill in the details to create a new subscription claim." + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "Folder" +msgstr "Pasta" + +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +msgid "Folder created successfully" +msgstr "Folder created successfully" + +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "Folder deleted successfully" +msgstr "Folder deleted successfully" + +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +msgid "Folder moved successfully" +msgstr "Folder moved successfully" + +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +msgid "Folder Name" +msgstr "Folder Name" + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "Folder not found" +msgstr "Folder not found" + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +msgid "Folder Settings" +msgstr "Folder Settings" + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +msgid "Folder updated successfully" +msgstr "Folder updated successfully" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx +msgid "Font Size" +msgstr "Font Size" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" +msgstr "For any questions regarding this disclosure, electronic signatures, or any related process, please contact us at: <0>{SUPPORT_EMAIL}" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." +msgstr "For each recipient, provide their email (required) and name (optional) in separate columns. Download the template CSV below for the correct format." + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "For example, if the claim has a new flag \"FLAG_1\" set to true, then this organisation will get that flag added." +msgstr "For example, if the claim has a new flag \"FLAG_1\" set to true, then this organisation will get that flag added." + +#: packages/lib/server-only/auth/send-forgot-password.ts +msgid "Forgot Password?" +msgstr "Forgot Password?" + +#: apps/remix/app/routes/_unauthenticated+/forgot-password.tsx +#: apps/remix/app/components/forms/signin.tsx +#: packages/email/template-components/template-forgot-password.tsx +msgid "Forgot your password?" +msgstr "Forgot your password?" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Free" +msgstr "Gratuito" + +#: packages/ui/primitives/document-flow/types.ts +#: packages/lib/utils/fields.ts +msgid "Free Signature" +msgstr "Assinatura livre" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Free Signature Settings" +msgstr "Configurações de assinatura livre" + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-form.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-form.tsx +#: apps/remix/app/components/general/direct-template/direct-template-signing-form.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/profile.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +msgid "Full Name" +msgstr "Nome completo" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.general.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/general/template/template-edit-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/general/document/document-edit-form.tsx +#: apps/remix/app/components/general/direct-template/direct-template-page.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +msgid "General" +msgstr "Geral" + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Generate DKIM Records" +msgstr "Gerar registros DKIM" + +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Generate Links" +msgstr "Gerar links" + +#: packages/ui/components/document/document-global-auth-action-select.tsx +msgid "Global recipient action authentication" +msgstr "Autenticação global de ação do destinatário" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Go back" +msgstr "Voltar" + +#: apps/remix/app/routes/_recipient+/_layout.tsx +#: apps/remix/app/routes/_profile+/_layout.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx +#: apps/remix/app/components/general/generic-error-layout.tsx +#: packages/ui/primitives/document-flow/document-flow-root.tsx +msgid "Go Back" +msgstr "Voltar" + +#: apps/remix/app/routes/_unauthenticated+/verify-email._index.tsx +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "Go back home" +msgstr "Voltar para a página inicial" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +msgid "Go Back Home" +msgstr "Voltar para a página inicial" + +#: apps/remix/app/routes/_authenticated+/_layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.edit.tsx +msgid "Go home" +msgstr "Ir para a página inicial" + +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +msgid "Go to document" +msgstr "Ir para o documento" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Go to owner" +msgstr "Ir para o proprietário" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "Go to team" +msgstr "Ir para a equipe" + +#: apps/remix/app/routes/_profile+/p.$url.tsx +msgid "Go to your <0>public profile settings to add documents." +msgstr "Acesse suas <0>configurações de perfil público para adicionar documentos." + +#: packages/ui/primitives/signature-pad/signature-pad-color-picker.tsx +msgid "Green" +msgstr "Verde" + +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/tables/team-groups-table.tsx +#: apps/remix/app/components/tables/organisation-groups-table.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Group" +msgstr "Grupo" + +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "Group has been created." +msgstr "Grupo criado." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "Group has been updated successfully" +msgstr "Grupo atualizado com sucesso" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "Group Name" +msgstr "Nome do grupo" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/tables/organisation-members-table.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Groups" +msgstr "Grupos" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "has invited you to approve this document" +msgstr "convidou você para aprovar este documento" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "has invited you to assist this document" +msgstr "convidou você para auxiliar neste documento" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "has invited you to sign this document" +msgstr "convidou você para assinar este documento" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "has invited you to view this document" +msgstr "convidou você para visualizar este documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Having an assistant as the last signer means they will be unable to take any action as there are no subsequent signers to assist." +msgstr "Ter um assistente como último signatário significa que ele não poderá agir, pois não há signatários subsequentes para auxiliar." + +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +msgid "Help complete the document for other signers." +msgstr "Ajude a concluir o documento para outros signatários." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains._index.tsx +msgid "Here you can add email domains to your organisation." +msgstr "Aqui você pode adicionar domínios de e-mail à sua organização." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.general.tsx +msgid "Here you can edit your organisation details." +msgstr "Aqui você pode editar os detalhes da sua organização." + +#: apps/remix/app/routes/_authenticated+/settings+/profile.tsx +msgid "Here you can edit your personal details." +msgstr "Aqui você pode editar seus dados pessoais." + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Here you can manage your password and security settings." +msgstr "Aqui você pode gerenciar sua senha e configurações de segurança." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +msgid "Here you can set branding preferences for your organisation. Teams will inherit these settings by default." +msgstr "Aqui você pode definir as preferências de identidade visual da organização. As equipes herdarão essas configurações por padrão." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +msgid "Here you can set branding preferences for your team" +msgstr "Aqui você pode definir as preferências de identidade visual da sua equipe" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx +msgid "Here you can set document preferences for your organisation. Teams will inherit these settings by default." +msgstr "Aqui você pode definir as preferências de documento da organização. As equipes herdarão essas configurações por padrão." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx +msgid "Here you can set preferences and defaults for branding." +msgstr "Aqui você pode definir preferências e padrões de identidade visual." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.document.tsx +msgid "Here you can set preferences and defaults for your team." +msgstr "Aqui você pode definir preferências e padrões para sua equipe." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +msgid "Here you can set your general branding preferences" +msgstr "Aqui você pode definir suas preferências gerais de identidade visual" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx +msgid "Here you can set your general document preferences" +msgstr "Aqui você pode definir suas preferências gerais de documento" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Here's how it works:" +msgstr "Funciona assim:" + +#: apps/remix/app/components/general/user-profile-timur.tsx +msgid "Hey I’m Timur" +msgstr "Olá, eu sou Timur" + +#: packages/email/templates/bulk-send-complete.tsx +msgid "Hi {userName}," +msgstr "Olá, {userName}," + +#: packages/email/template-components/template-access-auth-2fa.tsx +msgid "Hi {userName}, you need to enter a verification code to complete the document \"{documentTitle}\"." +msgstr "Olá, {userName}, você precisa inserir um código de verificação para concluir o documento \"{documentTitle}\"." + +#: packages/email/templates/reset-password.tsx +msgid "Hi, {userName} <0>({userEmail})" +msgstr "Olá, {userName} <0>({userEmail})" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Hide" +msgstr "Ocultar" + +#: apps/remix/app/components/general/generic-error-layout.tsx +#: apps/remix/app/components/general/folder/folder-grid.tsx +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +msgid "Home" +msgstr "Início" + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "Home (No Folder)" +msgstr "Início (sem pasta)" + +#: apps/remix/app/components/forms/editor/editor-field-radio-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Horizontal" +msgstr "Horizontal" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "I agree to link my account with this organization" +msgstr "Concordo em vincular minha conta a esta organização" + +#: packages/lib/constants/recipient-roles.ts +msgid "I am a signer of this document" +msgstr "Sou um signatário deste documento" + +#: packages/lib/constants/recipient-roles.ts +msgid "I am a viewer of this document" +msgstr "Sou um visualizador deste documento" + +#: packages/lib/constants/recipient-roles.ts +msgid "I am an approver of this document" +msgstr "Sou um aprovador deste documento" + +#: packages/lib/constants/recipient-roles.ts +msgid "I am an assistant of this document" +msgstr "Sou um assistente deste documento" + +#: packages/lib/constants/recipient-roles.ts +msgid "I am required to receive a copy of this document" +msgstr "Devo receber uma cópia deste documento" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "I am the owner of this document" +msgstr "Sou o proprietário deste documento" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +msgid "I understand that I am providing my credentials to a 3rd party service configured by this organisation" +msgstr "Entendo que estou fornecendo minhas credenciais a um serviço de terceiros configurado por esta organização" + +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +msgid "I'm sure! Delete it" +msgstr "Tenho certeza! Excluir" + +#: apps/remix/app/components/tables/admin-claims-table.tsx +msgid "ID" +msgstr "ID" + +#: apps/remix/app/components/tables/admin-claims-table.tsx +msgid "ID copied to clipboard" +msgstr "ID copiado para a área de transferência" + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "If there is any issue with your subscription, please contact us at <0>{SUPPORT_EMAIL}." +msgstr "Se houver algum problema com sua assinatura, entre em contato pelo e-mail <0>{SUPPORT_EMAIL}." + +#: packages/email/template-components/template-access-auth-2fa.tsx +msgid "If you didn't request this verification code, you can safely ignore this email." +msgstr "Se você não solicitou este código de verificação, pode ignorar este e-mail." + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "If you do not want to use the authenticator prompted, you can close it, which will then display the next available authenticator." +msgstr "Se não quiser usar o autenticador exibido, basta fechá-lo para mostrar o próximo autenticador disponível." + +#: apps/remix/app/routes/_unauthenticated+/unverified-account.tsx +msgid "If you don't find the confirmation link in your inbox, you can request a new one below." +msgstr "Se não encontrar o link de confirmação na caixa de entrada, solicite outro abaixo." + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "If your authenticator app does not support QR codes, you can use the following code instead:" +msgstr "Se o aplicativo autenticador não suportar QR codes, use o código a seguir:" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "Important: What This Means" +msgstr "Importante: o que isso significa" + +#: apps/remix/app/components/general/app-nav-mobile.tsx +#: apps/remix/app/components/general/app-nav-mobile.tsx +#: apps/remix/app/components/general/document/document-status.tsx +msgid "Inbox" +msgstr "Caixa de entrada" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Inbox documents" +msgstr "Documentos na caixa de entrada" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Include the Audit Logs in the Document" +msgstr "Incluir os registros de auditoria no documento" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Include the Signing Certificate in the Document" +msgstr "Incluir o certificado de assinatura no documento" + +#: apps/remix/app/components/general/template/template-page-view-information.tsx +#: apps/remix/app/components/general/document/document-page-view-information.tsx +msgid "Information" +msgstr "Informações" + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +msgid "Inherit authentication method" +msgstr "Herdar método de autenticação" + +#: apps/remix/app/components/forms/email-preferences-form.tsx +#: apps/remix/app/components/forms/email-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Inherit from organisation" +msgstr "Herdar da organização" + +#: apps/remix/app/components/general/teams/team-inherit-member-alert.tsx +msgid "Inherit organisation members" +msgstr "Herdar membros da organização" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Inherited subscription claim" +msgstr "Reivindicação de assinatura herdada" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: apps/remix/app/components/general/document-signing/document-signing-initials-field.tsx +#: apps/remix/app/components/dialogs/sign-field-initials-dialog.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/lib/utils/fields.ts +msgid "Initials" +msgstr "Iniciais" + +#: apps/remix/app/components/dialogs/sign-field-initials-dialog.tsx +msgid "Initials are required" +msgstr "Iniciais são obrigatórias" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Initials Settings" +msgstr "Configurações de iniciais" + +#: apps/remix/app/components/dialogs/sign-field-number-dialog.tsx +msgid "Insert a value into the number field" +msgstr "Insira um valor no campo numérico" + +#: apps/remix/app/components/dialogs/sign-field-text-dialog.tsx +msgid "Insert a value into the text field" +msgstr "Insira um valor no campo de texto" + +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +msgid "Inserted" +msgstr "Inserido" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Instance Stats" +msgstr "Estatísticas da instância" + +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +msgid "Invalid code. Please try again." +msgstr "Código inválido. Tente novamente." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Invalid domains" +msgstr "Domínios inválidos" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/document-flow/add-signers.types.ts +msgid "Invalid email" +msgstr "E-mail inválido" + +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +msgid "Invalid link" +msgstr "Link inválido" + +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/organisation.decline.$token.tsx +msgid "Invalid token" +msgstr "Token inválido" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "Invalid Token" +msgstr "Token inválido" + +#: apps/remix/app/components/forms/reset-password.tsx +msgid "Invalid token provided. Please try again." +msgstr "Token inválido fornecido. Tente novamente." + +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +msgid "Invitation accepted" +msgstr "Convite aceito" + +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +msgid "Invitation accepted!" +msgstr "Convite aceito!" + +#: apps/remix/app/routes/_unauthenticated+/organisation.decline.$token.tsx +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +msgid "Invitation declined" +msgstr "Convite recusado" + +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +msgid "Invitation has been deleted" +msgstr "Convite foi excluído" + +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +msgid "Invitation has been resent" +msgstr "Convite foi reenviado" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Invite" +msgstr "Convidar" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Invite member" +msgstr "Convidar membro" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Invite Members" +msgstr "Convidar Membros" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Invite organisation members" +msgstr "Convidar membros da organização" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "Invite team members to collaborate" +msgstr "Convidar membros da equipe para colaborar" + +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +msgid "Invited At" +msgstr "Convidado em" + +#: apps/remix/app/components/tables/organisation-billing-invoices-table.tsx +msgid "Invoice" +msgstr "Fatura" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/components/tables/internal-audit-log-table.tsx +msgid "IP Address" +msgstr "Endereço IP" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Issuer URL" +msgstr "URL do Emissor" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "It is crucial to keep your contact information, especially your email address, up to date with us. Please notify us immediately of any changes to ensure that you continue to receive all necessary communications." +msgstr "É crucial manter suas informações de contato, especialmente seu endereço de e-mail, atualizadas conosco. Por favor, nos notifique imediatamente sobre quaisquer alterações para garantir que você continue recebendo todas as comunicações necessárias." + +#. placeholder {0}: publicProfile.name +#: apps/remix/app/routes/_profile+/p.$url.tsx +msgid "It looks like {0} hasn't added any documents to their profile yet." +msgstr "Parece que {0} ainda não adicionou documentos ao perfil." + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "It looks like we ran into an issue!" +msgstr "Parece que encontramos um problema!" + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "It seems that the provided token has expired. We've just sent you another token, please check your email and try again." +msgstr "Parece que o token fornecido expirou. Acabamos de enviar outro token, verifique seu e-mail e tente novamente." + +#: apps/remix/app/routes/_unauthenticated+/verify-email._index.tsx +msgid "It seems that there is no token provided, if you are trying to verify your email please follow the link in your email." +msgstr "Parece que nenhum token foi fornecido. Se você está tentando verificar seu e-mail, siga o link no seu e-mail." + +#: apps/remix/app/components/embed/embed-document-waiting-for-turn.tsx +msgid "It's currently not your turn to sign. Please check back soon as this document should be available for you to sign shortly." +msgstr "Atualmente não é sua vez de assinar. Verifique novamente em breve, pois este documento deve estar disponível para você assinar em breve." + +#: apps/remix/app/routes/_recipient+/sign.$token+/waiting.tsx +msgid "It's currently not your turn to sign. You will receive an email with instructions once it's your turn to sign the document." +msgstr "Atualmente não é sua vez de assinar. Você receberá um e-mail com instruções quando for sua vez de assinar o documento." + +#: packages/email/templates/organisation-invite.tsx +msgid "Join {organisationName} on Documenso" +msgstr "Junte-se a {organisationName} no Documenso" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +msgid "Join our community on <0>Discord for community support and discussion." +msgstr "Junte-se à nossa comunidade no <0>Discord para suporte e discussão da comunidade." + +#. placeholder {0}: DateTime.fromJSDate(team.createdAt).toRelative({ style: 'short' }) +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +msgid "Joined {0}" +msgstr "Entrou {0}" + +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +#: apps/remix/app/components/forms/editor/editor-field-text-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Label" +msgstr "Rótulo" + +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/general/menu-switcher.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Language" +msgstr "Idioma" + +#: apps/remix/app/components/general/period-selector.tsx +msgid "Last 14 days" +msgstr "Últimos 14 dias" + +#: apps/remix/app/components/general/period-selector.tsx +msgid "Last 30 days" +msgstr "Últimos 30 dias" + +#: apps/remix/app/components/general/period-selector.tsx +msgid "Last 7 days" +msgstr "Últimos 7 dias" + +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +msgid "Last Active" +msgstr "Última Atividade" + +#: apps/remix/app/components/general/template/template-page-view-information.tsx +#: apps/remix/app/components/general/document/document-page-view-information.tsx +msgid "Last modified" +msgstr "Última modificação" + +#: apps/remix/app/components/tables/admin-document-jobs-table.tsx +msgid "Last Retried" +msgstr "Última Tentativa" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx +msgid "Last updated" +msgstr "Última atualização" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +msgid "Last Updated" +msgstr "Última Atualização" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Last updated at" +msgstr "Última atualização em" + +#: apps/remix/app/components/tables/settings-security-passkey-table.tsx +msgid "Last used" +msgstr "Último uso" + +#: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +msgid "Leaderboard" +msgstr "Ranking" + +#: apps/remix/app/components/tables/user-organisations-table.tsx +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +msgid "Leave" +msgstr "Sair" + +#: apps/remix/app/components/forms/email-preferences-form.tsx +#: apps/remix/app/components/forms/branding-preferences-form.tsx +#: apps/remix/app/components/forms/branding-preferences-form.tsx +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Leave blank to inherit from the organisation." +msgstr "Deixe em branco para herdar da organização." + +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +msgid "Leave organisation" +msgstr "Sair da organização" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +msgid "Left" +msgstr "Esquerda" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Legality of Electronic Signatures" +msgstr "Legalidade das Assinaturas Eletrônicas" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Light Mode" +msgstr "Modo Claro" + +#: apps/remix/app/routes/_profile+/_layout.tsx +msgid "Like to have your own public profile with agreements?" +msgstr "Gostaria de ter seu próprio perfil público com acordos?" + +#: packages/email/templates/confirm-team-email.tsx +msgid "Link expires in 1 hour." +msgstr "Link expira em 1 hora." + +#: packages/email/templates/organisation-account-link-confirmation.tsx +msgid "Link expires in 30 minutes." +msgstr "Link expira em 30 minutos." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "Link template" +msgstr "Link do modelo" + +#: packages/email/templates/organisation-account-link-confirmation.tsx +msgid "Link your Documenso account" +msgstr "Vincular sua conta Documenso" + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Linked Accounts" +msgstr "Contas Vinculadas" + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +msgid "Linked At" +msgstr "Vinculado em" + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Links Generated" +msgstr "Links Gerados" + +#. placeholder {0}: webhook.eventTriggers .map((trigger) => toFriendlyWebhookEventName(trigger)) .join(', ') +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +msgid "Listening to {0}" +msgstr "Ouvindo {0}" + +#: apps/remix/app/components/general/document/document-page-view-recent-activity.tsx +msgid "Load older activity" +msgstr "Carregar atividade mais antiga" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.edit.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "Loading" +msgstr "Carregando" + +#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +#: packages/ui/primitives/pdf-viewer.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +msgid "Loading document..." +msgstr "Carregando documento..." + +#: apps/remix/app/components/general/skeletons/document-edit-skeleton.tsx +#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +msgid "Loading Document..." +msgstr "Carregando Documento..." + +#: packages/ui/components/recipient/recipient-autocomplete-input.tsx +msgid "Loading suggestions..." +msgstr "Carregando sugestões..." + +#: apps/remix/app/components/general/document/document-page-view-recent-activity.tsx +msgid "Loading..." +msgstr "Carregando..." + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Local timezone" +msgstr "Fuso horário local" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-page.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-account.tsx +#: apps/remix/app/components/general/direct-template/direct-template-signing-auth-page.tsx +msgid "Login" +msgstr "Entrar" + +#: apps/remix/app/components/tables/user-organisations-table.tsx +#: apps/remix/app/components/tables/organisation-teams-table.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +msgid "Manage" +msgstr "Gerenciar" + +#. placeholder {0}: user?.name +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "Manage {0}'s profile" +msgstr "Gerenciar perfil de {0}" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Manage a custom SSO login portal for your organisation." +msgstr "Gerencie um portal de login SSO personalizado para sua organização." + +#: apps/remix/app/routes/_authenticated+/settings+/organisations.tsx +msgid "Manage all organisations you are currently associated with." +msgstr "Gerencie todas as organizações com as quais você está atualmente associado." + +#: apps/remix/app/routes/_authenticated+/admin+/claims.tsx +msgid "Manage all subscription claims" +msgstr "Gerenciar todas as reivindicações de assinatura" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +msgid "Manage and view template" +msgstr "Gerenciar e visualizar modelo" + +#: apps/remix/app/components/general/organisations/organisation-billing-portal-button.tsx +msgid "Manage billing" +msgstr "Gerenciar cobrança" + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Manage Billing" +msgstr "Gerenciar Cobrança" + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Manage details for this public template" +msgstr "Gerenciar detalhes deste modelo público" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Manage Direct Link" +msgstr "Gerenciar Link Direto" + +#: apps/remix/app/routes/_authenticated+/admin+/documents._index.tsx +msgid "Manage documents" +msgstr "Gerenciar documentos" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Manage linked accounts" +msgstr "Gerenciar contas vinculadas" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Manage organisation" +msgstr "Gerenciar organização" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations._index.tsx +msgid "Manage organisations" +msgstr "Gerenciar organizações" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Manage passkeys" +msgstr "Gerenciar chaves de acesso" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "Manage permissions and access controls" +msgstr "Gerenciar permissões e controles de acesso" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Manage sessions" +msgstr "Gerenciar sessões" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Manage subscription" +msgstr "Gerenciar assinatura" + +#. placeholder {0}: organisation.name +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Manage the {0} organisation" +msgstr "Gerenciar a organização {0}" + +#. placeholder {0}: organisation.name +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Manage the {0} organisation subscription" +msgstr "Gerenciar a assinatura da organização {0}" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups._index.tsx +msgid "Manage the custom groups of members for your organisation." +msgstr "Gerencie os grupos personalizados de membros da sua organização." + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Manage the direct link signing for this template" +msgstr "Gerenciar a assinatura de link direto para este modelo" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.groups.tsx +msgid "Manage the groups assigned to this team." +msgstr "Gerencie os grupos atribuídos a esta equipe." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.members.tsx +msgid "Manage the members of your team." +msgstr "Gerencie os membros da sua equipe." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.members.tsx +msgid "Manage the members or invite new members." +msgstr "Gerencie os membros ou convide novos membros." + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +msgid "Manage the settings for this folder." +msgstr "Gerencie as configurações desta pasta." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.teams.tsx +msgid "Manage the teams in this organisation." +msgstr "Gerencie as equipes nesta organização." + +#: apps/remix/app/routes/_authenticated+/admin+/users._index.tsx +msgid "Manage users" +msgstr "Gerenciar usuários" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "Manage your email domain settings." +msgstr "Gerencie as configurações do seu domínio de e-mail." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "Manage your organisation group settings." +msgstr "Gerencie as configurações do grupo da sua organização." + +#: apps/remix/app/routes/_authenticated+/settings+/security.passkeys.tsx +msgid "Manage your passkeys." +msgstr "Gerencie suas chaves de acesso." + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "Manage your site settings here" +msgstr "Gerencie as configurações do seu site aqui" + +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: packages/lib/constants/teams-translations.ts +#: packages/lib/constants/organisations-translations.ts +msgid "Manager" +msgstr "Gerente" + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +msgid "Managers and above" +msgstr "Gerentes e acima" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Mark as viewed" +msgstr "Marcar como visualizado" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Mark as Viewed" +msgstr "Marcar como Visualizado" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "MAU (created document)" +msgstr "UAM (criou documento)" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "MAU (had document completed)" +msgstr "UAM (teve documento concluído)" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "MAU (signed in)" +msgstr "UAM (entrou)" + +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +msgid "Max" +msgstr "Máx" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Maximum file size: 4MB. Maximum 100 rows per upload. Blank values will use template defaults." +msgstr "Tamanho máximo do arquivo: 4MB. Máximo de 100 linhas por upload. Valores em branco usarão os padrões do modelo." + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/forms/subscription-claim-form.tsx +msgid "Maximum number of uploaded files per envelope allowed" +msgstr "Número máximo de arquivos enviados por envelope permitido" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: packages/lib/constants/teams-translations.ts +#: packages/lib/constants/organisations-translations.ts +msgid "Member" +msgstr "Membro" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/forms/subscription-claim-form.tsx +msgid "Member Count" +msgstr "Contagem de Membros" + +#: apps/remix/app/components/tables/organisation-members-table.tsx +msgid "Member Since" +msgstr "Membro desde" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/tables/team-groups-table.tsx +#: apps/remix/app/components/tables/organisation-groups-table.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "Members" +msgstr "Membros" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/forms/support-ticket-form.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Message" +msgstr "Mensagem" + +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +msgid "Message <0>(Optional)" +msgstr "Mensagem <0>(Opcional)" + +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +msgid "Min" +msgstr "Mín" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Missing Recipients" +msgstr "Destinatários Ausentes" + +#: apps/remix/app/components/general/template/template-page-view-recipients.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +msgid "Modify recipients" +msgstr "Modificar destinatários" + +#: apps/remix/app/components/dialogs/claim-update-dialog.tsx +msgid "Modify the details of the subscription claim." +msgstr "Modificar os detalhes da reivindicação de assinatura." + +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Monthly" +msgstr "Mensal" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Monthly Active Users: Users that created at least one Document" +msgstr "Usuários Ativos Mensais: Usuários que criaram pelo menos um Documento" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Monthly Active Users: Users that had at least one of their documents completed" +msgstr "Usuários Ativos Mensais: Usuários que tiveram pelo menos um de seus documentos concluídos" + +#: apps/remix/app/components/general/folder/folder-card.tsx +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "Move" +msgstr "Mover" + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +msgid "Move \"{templateTitle}\" to a folder" +msgstr "Mover \"{templateTitle}\" para uma pasta" + +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "Move Document to Folder" +msgstr "Mover Documento para Pasta" + +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +msgid "Move Folder" +msgstr "Mover Pasta" + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +msgid "Move Template to Folder" +msgstr "Mover Modelo para Pasta" + +#: apps/remix/app/components/tables/templates-table-action-dropdown.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +msgid "Move to Folder" +msgstr "Mover para pasta" + +#: packages/ui/components/document/document-global-auth-access-select.tsx +msgid "Multiple access methods can be selected." +msgstr "Múltiplos métodos de acesso podem ser selecionados." + +#: apps/remix/app/components/dialogs/folder-create-dialog.tsx +msgid "My Folder" +msgstr "Minha Pasta" + +#: apps/remix/app/components/tables/internal-audit-log-table.tsx +msgid "N/A" +msgstr "N/D" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/admin-leaderboard-table.tsx +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +#: apps/remix/app/components/tables/admin-document-jobs-table.tsx +#: apps/remix/app/components/tables/admin-dashboard-users-table.tsx +#: apps/remix/app/components/tables/admin-claims-table.tsx +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/forms/subscription-claim-form.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +#: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/ui/primitives/document-flow/add-signers.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +#: packages/ui/primitives/document-flow/add-fields.tsx +#: packages/lib/utils/fields.ts +msgid "Name" +msgstr "Nome" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/components/dialogs/sign-field-name-dialog.tsx +msgid "Name is required" +msgstr "Nome é obrigatório" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Name Settings" +msgstr "Configurações de Nome" + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Need to sign documents?" +msgstr "Precisa assinar documentos?" + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "Needs to approve" +msgstr "Precisa aprovar" + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "Needs to sign" +msgstr "Precisa assinar" + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "Needs to view" +msgstr "Precisa visualizar" + +#: apps/remix/app/components/tables/settings-security-passkey-table.tsx +msgid "Never" +msgstr "Nunca" + +#: apps/remix/app/components/forms/token.tsx +msgid "Never expire" +msgstr "Nunca expirar" + +#: apps/remix/app/components/forms/password.tsx +msgid "New Password" +msgstr "Nova Senha" + +#: apps/remix/app/components/dialogs/template-create-dialog.tsx +#: apps/remix/app/components/dialogs/template-create-dialog.tsx +msgid "New Template" +msgstr "Novo Modelo" + +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +#: packages/ui/primitives/signature-pad/signature-pad-dialog.tsx +msgid "Next" +msgstr "Avançar" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Next Field" +msgstr "Próximo Campo" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Next Recipient Email" +msgstr "E-mail do Próximo Destinatário" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Next Recipient Name" +msgstr "Nome do Próximo Destinatário" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "No" +msgstr "Não" + +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "No active drafts" +msgstr "Nenhum rascunho ativo" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-preview-page.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +msgid "No documents found" +msgstr "Nenhum documento encontrado" + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "No folders found" +msgstr "Nenhuma pasta encontrada" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx +msgid "No folders found matching \"{searchTerm}\"" +msgstr "Nenhuma pasta encontrada correspondendo a \"{searchTerm}\"" + +#: apps/remix/app/routes/_recipient+/sign.$token+/rejected.tsx +#: apps/remix/app/components/embed/embed-document-rejected.tsx +msgid "No further action is required from you at this time." +msgstr "Nenhuma ação adicional é necessária de você no momento." + +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +msgid "No organisations found" +msgstr "Nenhuma organização encontrada" + +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +msgid "No public profile templates found" +msgstr "Nenhum modelo de perfil público encontrado" + +#: apps/remix/app/components/general/document/document-page-view-recent-activity.tsx +msgid "No recent activity" +msgstr "Nenhuma atividade recente" + +#: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx +msgid "No recent documents" +msgstr "Nenhum documento recente" + +#: packages/ui/primitives/recipient-selector.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +msgid "No recipient matching this description was found." +msgstr "Nenhum destinatário correspondente a esta descrição foi encontrado." + +#: apps/remix/app/components/general/template/template-page-view-recipients.tsx +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "No recipients" +msgstr "Nenhum destinatário" + +#: packages/ui/primitives/recipient-selector.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +msgid "No recipients with this role" +msgstr "Nenhum destinatário com este papel" + +#: packages/ui/components/document/document-global-auth-action-select.tsx +#: packages/ui/components/document/document-global-auth-access-select.tsx +msgid "No restrictions" +msgstr "Sem restrições" + +#: packages/ui/primitives/data-table.tsx +msgid "No results found" +msgstr "Nenhum resultado encontrado" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "No results found." +msgstr "Nenhum resultado encontrado." + +#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx +msgid "No signature field found" +msgstr "Nenhum campo de assinatura encontrado" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "No Stripe customer attached" +msgstr "Nenhum cliente Stripe vinculado" + +#: packages/ui/components/recipient/recipient-autocomplete-input.tsx +msgid "No suggestions found" +msgstr "Nenhuma sugestão encontrada" + +#: apps/remix/app/components/tables/team-groups-table.tsx +msgid "No team groups found" +msgstr "Nenhum grupo de equipe encontrado" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "No teams yet" +msgstr "Ainda não há equipes" + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "No valid direct templates found" +msgstr "Nenhum modelo direto válido encontrado" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "No valid recipients found" +msgstr "Nenhum destinatário válido encontrado" + +#: apps/remix/app/components/general/multiselect-role-combobox.tsx +#: packages/ui/primitives/multi-select-combobox.tsx +#: packages/ui/primitives/combobox.tsx +msgid "No value found." +msgstr "Nenhum valor encontrado." + +#: apps/remix/app/routes/_unauthenticated+/forgot-password.tsx +msgid "No worries, it happens! Enter your email and we'll email you a special link to reset your password." +msgstr "Sem problemas, acontece! Digite seu e-mail e enviaremos um link especial para redefinir sua senha." + +#: apps/remix/app/components/tables/admin-claims-table.tsx +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: packages/lib/constants/document.ts +msgid "None" +msgstr "Nenhum" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.edit.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "Not found" +msgstr "Não encontrado" + +#: apps/remix/app/components/forms/signin.tsx +msgid "Not supported" +msgstr "Não suportado" + +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "Nothing to do" +msgstr "Nada a fazer" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: apps/remix/app/components/general/document-signing/document-signing-number-field.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/ui/primitives/document-flow/add-fields.tsx +#: packages/lib/utils/fields.ts +msgid "Number" +msgstr "Número" + +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +msgid "Number format" +msgstr "Formato do número" + +#: apps/remix/app/components/dialogs/sign-field-number-dialog.tsx +msgid "Number needs to be formatted as {numberFormat}" +msgstr "O número precisa estar formatado como {numberFormat}" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/forms/subscription-claim-form.tsx +msgid "Number of members allowed. 0 = Unlimited" +msgstr "Número de membros permitidos. 0 = Ilimitado" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/forms/subscription-claim-form.tsx +msgid "Number of teams allowed. 0 = Unlimited" +msgstr "Número de equipes permitidas. 0 = Ilimitado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Number Settings" +msgstr "Configurações de Número" + +#. placeholder {0}: document.team?.name +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "on behalf of \"{0}\" has invited you to approve this document" +msgstr "em nome de \"{0}\" convidou você para aprovar este documento" + +#. placeholder {0}: document.team?.name +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "on behalf of \"{0}\" has invited you to assist this document" +msgstr "em nome de \"{0}\" convidou você para auxiliar este documento" + +#. placeholder {0}: document.team?.name +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "on behalf of \"{0}\" has invited you to sign this document" +msgstr "em nome de \"{0}\" convidou você para assinar este documento" + +#. placeholder {0}: document.team?.name +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "on behalf of \"{0}\" has invited you to view this document" +msgstr "em nome de \"{0}\" convidou você para visualizar este documento" + +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "On this page, you can create a new webhook." +msgstr "Nesta página, você pode criar um novo webhook." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +msgid "On this page, you can create and manage API tokens. See our <0>Documentation for more information." +msgstr "Nesta página, você pode criar e gerenciar tokens de API. Consulte nossa <0>Documentação para mais informações." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +msgid "On this page, you can create new Webhooks and manage the existing ones." +msgstr "Nesta página, você pode criar novos Webhooks e gerenciar os existentes." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "On this page, you can edit the webhook and its settings." +msgstr "Nesta página, você pode editar o webhook e suas configurações." + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Once confirmed, the following will occur:" +msgstr "Uma vez confirmado, o seguinte ocorrerá:" + +#: packages/lib/constants/template.ts +msgid "Once enabled, you can select any active recipient to be a direct link signing recipient, or create a new one. This recipient type cannot be edited or deleted." +msgstr "Uma vez habilitado, você pode selecionar qualquer destinatário ativo para ser um destinatário de assinatura de link direto, ou criar um novo. Este tipo de destinatário não pode ser editado ou excluído." + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "Once you have scanned the QR code or entered the code manually, enter the code provided by your authenticator app below." +msgstr "Depois de escanear o código QR ou inserir o código manualmente, digite o código fornecido pelo seu aplicativo autenticador abaixo." + +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +msgid "Once you update your DNS records, it may take up to 48 hours for it to be propogated. Once the DNS propagation is complete you will need to come back and press the \"Sync\" domains button" +msgstr "Depois de atualizar seus registros DNS, pode levar até 48 horas para serem propagados. Quando a propagação DNS estiver completa, você precisará voltar e pressionar o botão \"Sincronizar\" domínios" + +#: packages/lib/constants/template.ts +msgid "Once your template is set up, share the link anywhere you want. The person who opens the link will be able to enter their information in the direct link recipient field and complete any other fields assigned to them." +msgstr "Depois que seu modelo estiver configurado, compartilhe o link onde quiser. A pessoa que abrir o link poderá inserir suas informações no campo de destinatário de link direto e preencher quaisquer outros campos atribuídos a ela." + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "One of the documents in the current bundle has a signing role that is not compatible with the current signing experience." +msgstr "Um dos documentos no pacote atual tem um papel de assinatura que não é compatível com a experiência de assinatura atual." + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Only admins can access and view the document" +msgstr "Apenas administradores podem acessar e visualizar o documento" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Only managers and above can access and view the document" +msgstr "Apenas gerentes e acima podem acessar e visualizar o documento" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Only one file can be uploaded at a time" +msgstr "Apenas um arquivo pode ser enviado por vez" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Only PDF files are allowed" +msgstr "Apenas arquivos PDF são permitidos" + +#: apps/remix/app/routes/_profile+/_layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx +#: apps/remix/app/components/general/generic-error-layout.tsx +#: apps/remix/app/components/general/generic-error-layout.tsx +msgid "Oops! Something went wrong." +msgstr "Ops! Algo deu errado." + +#: apps/remix/app/components/general/stack-avatars-with-tooltip.tsx +msgid "Opened" +msgstr "Aberto" + +#: apps/remix/app/components/forms/editor/editor-field-dropdown-form.tsx +msgid "Option value cannot be empty" +msgstr "O valor da opção não pode estar vazio" + +#: apps/remix/app/components/dialogs/sign-field-dropdown-dialog.tsx +msgid "Options" +msgstr "Opções" + +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Or" +msgstr "Ou" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +msgid "OR" +msgstr "OU" + +#: apps/remix/app/components/forms/signin.tsx +msgid "Or continue with" +msgstr "Ou continue com" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +#: apps/remix/app/components/tables/user-organisations-table.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +msgid "Organisation" +msgstr "Organização" + +#: packages/lib/constants/organisations-translations.ts +msgid "Organisation Admin" +msgstr "Administrador da Organização" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Organisation authentication portal URL" +msgstr "URL do portal de autenticação da organização" + +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +msgid "Organisation created" +msgstr "Organização criada" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "Organisation group not found" +msgstr "Grupo da organização não encontrado" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "Organisation Group Settings" +msgstr "Configurações do Grupo da Organização" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Organisation has been updated successfully" +msgstr "Organização foi atualizada com sucesso" + +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +msgid "Organisation invitation" +msgstr "Convite da organização" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Organisation invitations have been sent." +msgstr "Convites da organização foram enviados." + +#: packages/lib/constants/organisations-translations.ts +msgid "Organisation Manager" +msgstr "Gerente da Organização" + +#: apps/remix/app/components/tables/organisation-members-table.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: packages/lib/constants/organisations-translations.ts +msgid "Organisation Member" +msgstr "Membro da Organização" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.members.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Organisation Members" +msgstr "Membros da Organização" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/forms/organisation-update-form.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +msgid "Organisation Name" +msgstr "Nome da Organização" + +#: apps/remix/app/routes/_authenticated+/_layout.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Organisation not found" +msgstr "Organização não encontrada" + +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "Organisation role" +msgstr "Papel na organização" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Organisation Role" +msgstr "Papel na Organização" + +#: apps/remix/app/components/general/org-menu-switcher.tsx +msgid "Organisation settings" +msgstr "Configurações da organização" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +msgid "Organisation Settings" +msgstr "Configurações da Organização" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Organisation SSO Portal" +msgstr "Portal SSO da Organização" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Organisation Teams" +msgstr "Equipes da Organização" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/forms/organisation-update-form.tsx +msgid "Organisation URL" +msgstr "URL da Organização" + +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +#: apps/remix/app/routes/_authenticated+/settings+/organisations.tsx +#: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +#: apps/remix/app/components/general/org-menu-switcher.tsx +msgid "Organisations" +msgstr "Organizações" + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "Organisations that the user is a member of." +msgstr "Organizações das quais o usuário é membro." + +#: apps/remix/app/components/general/folder/folder-card.tsx +msgid "Organise your documents" +msgstr "Organize seus documentos" + +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "Organise your members into groups which can be assigned to teams" +msgstr "Organize seus membros em grupos que podem ser atribuídos a equipes" + +#: apps/remix/app/components/general/folder/folder-card.tsx +msgid "Organise your templates" +msgstr "Organize seus modelos" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "Organize your documents and templates" +msgstr "Organize seus documentos e modelos" + +#: apps/remix/app/components/dialogs/envelope-download-dialog.tsx +msgid "Original" +msgstr "Original" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Otherwise, the document will be created as a draft." +msgstr "Caso contrário, o documento será criado como rascunho." + +#: apps/remix/app/components/forms/email-preferences-form.tsx +msgid "Override organisation settings" +msgstr "Substituir configurações da organização" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +#: apps/remix/app/routes/_authenticated+/admin+/documents._index.tsx +#: apps/remix/app/components/tables/user-organisations-table.tsx +#: apps/remix/app/components/tables/organisation-members-table.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +msgid "Owner" +msgstr "Proprietário" + +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +msgid "Ownership transferred to {organisationMemberName}." +msgstr "Propriedade transferida para {organisationMemberName}." + +#. placeholder {0}: table.getState().pagination.pageIndex + 1 +#. placeholder {1}: table.getPageCount() || 1 +#: packages/ui/primitives/data-table-pagination.tsx +msgid "Page {0} of {1}" +msgstr "Página {0} de {1}" + +#. placeholder {0}: i + 1 +#: packages/ui/primitives/pdf-viewer.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +msgid "Page {0} of {numPages}" +msgstr "Página {0} de {numPages}" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +#: apps/remix/app/components/forms/signin.tsx +msgid "Passkey" +msgstr "Chave de acesso" + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Passkey already exists for the provided authenticator" +msgstr "Chave de acesso já existe para o autenticador fornecido" + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Passkey creation cancelled due to one of the following reasons:" +msgstr "Criação de chave de acesso cancelada devido a uma das seguintes razões:" + +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +msgid "Passkey has been removed" +msgstr "Chave de acesso foi removida" + +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +msgid "Passkey has been updated" +msgstr "Chave de acesso foi atualizada" + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Passkey name" +msgstr "Nome da chave de acesso" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Passkey Re-Authentication" +msgstr "Reautenticação por Chave de Acesso" + +#: apps/remix/app/routes/_authenticated+/settings+/security.passkeys.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Passkeys" +msgstr "Chaves de acesso" + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Passkeys allow you to sign in and authenticate using biometrics, password managers, etc." +msgstr "Chaves de acesso permitem que você faça login e autentique usando biometria, gerenciadores de senha, etc." + +#: apps/remix/app/components/forms/signin.tsx +msgid "Passkeys are not supported on this browser" +msgstr "Chaves de acesso não são suportadas neste navegador" + +#: apps/remix/app/components/general/app-command-menu.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/reset-password.tsx +msgid "Password" +msgstr "Senha" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Password Re-Authentication" +msgstr "Reautenticação por Senha" + +#: packages/email/templates/forgot-password.tsx +msgid "Password Reset Requested" +msgstr "Redefinição de Senha Solicitada" + +#: packages/email/templates/reset-password.tsx +msgid "Password Reset Successful" +msgstr "Redefinição de Senha Bem-sucedida" + +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/forms/signup.tsx +msgid "Password should not be common or based on personal information" +msgstr "A senha não deve ser comum ou baseada em informações pessoais" + +#: apps/remix/app/components/forms/reset-password.tsx +#: apps/remix/app/components/forms/password.tsx +msgid "Password updated" +msgstr "Senha atualizada" + +#: packages/email/template-components/template-reset-password.tsx +msgid "Password updated!" +msgstr "Senha atualizada!" + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Payment overdue" +msgstr "Pagamento em atraso" + +#: apps/remix/app/components/dialogs/envelope-download-dialog.tsx +msgid "PDF Document" +msgstr "Documento PDF" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.members.tsx +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +#: packages/ui/components/document/envelope-recipient-field-tooltip.tsx +#: packages/ui/components/document/document-read-only-fields.tsx +#: packages/lib/constants/document.ts +msgid "Pending" +msgstr "Pendente" + +#: packages/email/templates/document-pending.tsx +msgid "Pending Document" +msgstr "Documento Pendente" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Pending documents" +msgstr "Documentos pendentes" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Pending Documents" +msgstr "Documentos Pendentes" + +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +msgid "Pending invitations" +msgstr "Convites pendentes" + +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "per month" +msgstr "por mês" + +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "per year" +msgstr "por ano" + +#: apps/remix/app/components/tables/user-organisations-table.tsx +msgid "Personal" +msgstr "Pessoal" + +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/general/menu-switcher.tsx +msgid "Personal Account" +msgstr "Conta Pessoal" + +#: apps/remix/app/routes/_authenticated+/inbox.tsx +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/general/menu-switcher.tsx +msgid "Personal Inbox" +msgstr "Caixa de Entrada Pessoal" + +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Pick a number" +msgstr "Escolha um número" + +#: apps/remix/app/components/general/claim-account.tsx +msgid "Pick a password" +msgstr "Escolha uma senha" + +#: apps/remix/app/components/general/user-profile-timur.tsx +msgid "Pick any of the following agreements below and start signing to get started" +msgstr "Escolha qualquer um dos acordos abaixo e comece a assinar para começar" + +#: apps/remix/app/components/general/folder/folder-card.tsx +msgid "Pin" +msgstr "Fixar" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Place and configure form fields in the document" +msgstr "Coloque e configure campos de formulário no documento" + +#: apps/remix/app/components/forms/editor/editor-field-text-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +msgid "Placeholder" +msgstr "Espaço reservado" + +#. placeholder {0}: _(actionVerb).toLowerCase() +#: packages/email/template-components/template-document-invite.tsx +msgid "Please {0} your document<0/>\"{documentName}\"" +msgstr "Por favor, {0} seu documento<0/>\"{documentName}\"" + +#: packages/email/templates/document-invite.tsx +msgid "Please {action} your document {documentName}" +msgstr "Por favor, {action} seu documento {documentName}" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts +msgid "Please {recipientActionVerb} this document" +msgstr "Por favor, {recipientActionVerb} este documento" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts +msgid "Please {recipientActionVerb} this document created by your direct template" +msgstr "Por favor, {recipientActionVerb} este documento criado pelo seu modelo direto" + +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts +msgid "Please {recipientActionVerb} your document" +msgstr "Por favor, {recipientActionVerb} seu documento" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Please check the CSV file and make sure it is according to our format" +msgstr "Por favor, verifique o arquivo CSV e certifique-se de que está de acordo com nosso formato" + +#: apps/remix/app/components/embed/embed-document-waiting-for-turn.tsx +msgid "Please check with the parent application for more information." +msgstr "Por favor, verifique com o aplicativo pai para mais informações." + +#: apps/remix/app/routes/_recipient+/sign.$token+/waiting.tsx +msgid "Please check your email for updates." +msgstr "Por favor, verifique seu e-mail para atualizações." + +#: apps/remix/app/routes/_unauthenticated+/reset-password.$token.tsx +msgid "Please choose your new password" +msgstr "Por favor, escolha sua nova senha" + +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +msgid "Please complete the document once reviewed" +msgstr "Por favor, complete o documento após revisar" + +#: apps/remix/app/routes/embed+/v1+/authoring+/template.edit.$id.tsx +#: apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx +msgid "Please configure the document first" +msgstr "Por favor, configure o documento primeiro" + +#: packages/lib/server-only/auth/send-confirmation-email.ts +msgid "Please confirm your email" +msgstr "Por favor, confirme seu e-mail" + +#: packages/email/templates/confirm-email.tsx +msgid "Please confirm your email address" +msgstr "Por favor, confirme seu endereço de e-mail" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Please contact support if you would like to revert this action." +msgstr "Por favor, entre em contato com o suporte se desejar reverter esta ação." + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "Please contact the site owner for further assistance." +msgstr "Por favor, entre em contato com o proprietário do site para obter mais assistência." + +#: apps/remix/app/components/forms/token.tsx +msgid "Please enter a meaningful name for your token. This will help you identify it later." +msgstr "Por favor, digite um nome significativo para seu token. Isso ajudará você a identificá-lo mais tarde." + +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/profile.tsx +msgid "Please enter a valid name." +msgstr "Por favor, digite um nome válido." + +#: apps/remix/app/components/dialogs/sign-field-number-dialog.tsx +msgid "Please enter a valid number" +msgstr "Por favor, digite um número válido" + +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +msgid "Please mark as viewed to complete" +msgstr "Por favor, marque como visualizado para concluir" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "Please mark as viewed to complete." +msgstr "Por favor, marque como visualizado para concluir." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Please note that anyone who signs in through your portal will be added to your organisation as a member." +msgstr "Observe que qualquer pessoa que fizer login através do seu portal será adicionada à sua organização como membro." + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Please note that proceeding will remove direct linking recipient and turn it into a placeholder." +msgstr "Observe que prosseguir removerá o destinatário de link direto e o transformará em um espaço reservado." + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Please note that this action is <0>irreversible." +msgstr "Observe que esta ação é <0>irreversível." + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Please note that this action is <0>irreversible. Once confirmed, this document will be permanently deleted." +msgstr "Observe que esta ação é <0>irreversível. Uma vez confirmado, este documento será permanentemente excluído." + +#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +msgid "Please note that this action is irreversible. Once confirmed, your template will be permanently deleted." +msgstr "Observe que esta ação é irreversível. Uma vez confirmado, seu modelo será permanentemente excluído." + +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +msgid "Please note that this action is irreversible. Once confirmed, your token will be permanently deleted." +msgstr "Observe que esta ação é irreversível. Uma vez confirmado, seu token será permanentemente excluído." + +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +msgid "Please note that this action is irreversible. Once confirmed, your webhook will be permanently deleted." +msgstr "Observe que esta ação é irreversível. Uma vez confirmado, seu webhook será permanentemente excluído." + +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +msgid "Please note that you will lose access to all documents associated with this team & all the members will be removed and notified" +msgstr "Observe que você perderá o acesso a todos os documentos associados a esta equipe e todos os membros serão removidos e notificados" + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Please open your authenticator app and enter the 6-digit code for this document." +msgstr "Por favor, abra seu aplicativo autenticador e digite o código de 6 dígitos para este documento." + +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "Please provide a token from the authenticator, or a backup code. If you do not have a backup code available, please contact support." +msgstr "Por favor, forneça um token do autenticador ou um código de backup. Se você não tiver um código de backup disponível, entre em contato com o suporte." + +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +msgid "Please provide a token from your authenticator, or a backup code." +msgstr "Por favor, forneça um token do seu autenticador ou um código de backup." + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "Please review the document before approving." +msgstr "Por favor, revise o documento antes de aprovar." + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +msgid "Please review the document before signing." +msgstr "Por favor, revise o documento antes de assinar." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Please select a PDF file" +msgstr "Por favor, selecione um arquivo PDF" + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Please select how you'd like to receive your verification code." +msgstr "Por favor, selecione como deseja receber seu código de verificação." + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "Please try a different domain." +msgstr "Por favor, tente um domínio diferente." + +#: apps/remix/app/components/forms/send-confirmation-email.tsx +msgid "Please try again and make sure you enter the correct email address." +msgstr "Por favor, tente novamente e certifique-se de inserir o endereço de e-mail correto." + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/dialogs/template-create-dialog.tsx +msgid "Please try again later." +msgstr "Por favor, tente novamente mais tarde." + +#: packages/ui/primitives/pdf-viewer.tsx +#: packages/ui/primitives/pdf-viewer.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +msgid "Please try again or contact our support." +msgstr "Por favor, tente novamente ou entre em contato com nosso suporte." + +#. placeholder {0}: `'${_(deleteMessage)}'` +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Please type {0} to confirm" +msgstr "Por favor, digite {0} para confirmar" + +#. placeholder {0}: user.email +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Please type <0>{0} to confirm." +msgstr "Por favor, digite <0>{0} para confirmar." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-preview-page.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Please upload a document to continue" +msgstr "Por favor, envie um documento para continuar" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Please upload a logo" +msgstr "Por favor, envie um logotipo" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Pre-formatted CSV template with example data." +msgstr "Modelo CSV pré-formatado com dados de exemplo." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Preferences" +msgstr "Preferências" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Preview" +msgstr "Visualizar" + +#: apps/remix/app/components/general/direct-template/direct-template-page.tsx +msgid "Preview and configure template." +msgstr "Visualizar e configurar modelo." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-preview-page.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-preview-page.tsx +msgid "Preview Mode" +msgstr "Modo de Visualização" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Preview the document before sending" +msgstr "Visualizar o documento antes de enviar" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-preview-page.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-preview-page.tsx +msgid "Preview what the signed document will look like with placeholder data" +msgstr "Visualize como o documento assinado ficará com dados de espaço reservado" + +#: apps/remix/app/components/tables/templates-table.tsx +#: apps/remix/app/components/general/template/template-type.tsx +msgid "Private" +msgstr "Privado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +msgid "Private Template" +msgstr "Modelo Privado" + +#: apps/remix/app/components/tables/templates-table.tsx +msgid "Private templates can only be modified and viewed by you." +msgstr "Modelos privados só podem ser modificados e visualizados por você." + +#: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx +msgid "Proceed" +msgstr "Prosseguir" + +#: apps/remix/app/routes/_authenticated+/settings+/profile.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Profile" +msgstr "Perfil" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "Profile is currently <0>hidden." +msgstr "Perfil está atualmente <0>oculto." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "Profile is currently <0>visible." +msgstr "Perfil está atualmente <0>visível." + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +#: apps/remix/app/components/forms/profile.tsx +msgid "Profile updated" +msgstr "Perfil atualizado" + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "Progress" +msgstr "Progresso" + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +msgid "Provider" +msgstr "Provedor" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Provider has been updated successfully" +msgstr "Provedor foi atualizado com sucesso" + +#: apps/remix/app/components/tables/templates-table.tsx +#: apps/remix/app/components/general/template/template-type.tsx +msgid "Public" +msgstr "Público" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +msgid "Public Profile" +msgstr "Perfil Público" + +#: apps/remix/app/components/forms/public-profile-form.tsx +msgid "Public profile URL" +msgstr "URL do perfil público" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +msgid "Public Template" +msgstr "Modelo Público" + +#: apps/remix/app/components/tables/templates-table.tsx +msgid "Public templates are connected to your public profile. Any modifications to public templates will also appear in your public profile." +msgstr "Modelos públicos estão conectados ao seu perfil público. Qualquer modificação nos modelos públicos também aparecerá no seu perfil público." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Quick Actions" +msgstr "Ações Rápidas" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/lib/utils/fields.ts +msgid "Radio" +msgstr "Rádio" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Radio Settings" +msgstr "Configurações de Rádio" + +#: apps/remix/app/components/forms/editor/editor-field-radio-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx +msgid "Radio values" +msgstr "Valores de rádio" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Read only" +msgstr "Somente leitura" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +msgid "Read Only" +msgstr "Somente Leitura" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +msgid "Read our documentation to get started with Documenso." +msgstr "Leia nossa documentação para começar com o Documenso." + +#: apps/remix/app/components/general/document-signing/document-signing-disclosure.tsx +msgid "Read the full <0>signature disclosure." +msgstr "Leia a <0>divulgação de assinatura completa." + +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +msgid "Ready" +msgstr "Pronto" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Reason" +msgstr "Motivo" + +#: packages/email/template-components/template-document-cancel.tsx +msgid "Reason for cancellation: {cancellationReason}" +msgstr "Motivo do cancelamento: {cancellationReason}" + +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +msgid "Reason for rejection: " +msgstr "Motivo da rejeição: " + +#: packages/email/template-components/template-document-rejected.tsx +msgid "Reason for rejection: {rejectionReason}" +msgstr "Motivo da rejeição: {rejectionReason}" + +#: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx +msgid "Reason must be less than 500 characters" +msgstr "O motivo deve ter menos de 500 caracteres" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "Reauthentication is required to sign this field" +msgstr "Reautenticação é necessária para assinar este campo" + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "Receives copy" +msgstr "Recebe cópia" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +#: apps/remix/app/components/general/document/document-page-view-recent-activity.tsx +msgid "Recent activity" +msgstr "Atividade recente" + +#: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx +msgid "Recent documents" +msgstr "Documentos recentes" + +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +#: packages/lib/utils/document-audit-logs.ts +msgid "Recipient" +msgstr "Destinatário" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +msgid "Recipient action authentication" +msgstr "Autenticação de ação do destinatário" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Recipient removed email" +msgstr "E-mail de destinatário removido" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Recipient signed email" +msgstr "E-mail de destinatário assinado" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Recipient signing request email" +msgstr "E-mail de solicitação de assinatura do destinatário" + +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +msgid "Recipient updated" +msgstr "Destinatário atualizado" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +#: apps/remix/app/components/general/template/template-page-view-recipients.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +msgid "Recipients" +msgstr "Destinatários" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Recipients metrics" +msgstr "Métricas de destinatários" + +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +msgid "Recipients will be able to sign the document once sent" +msgstr "Os destinatários poderão assinar o documento assim que for enviado" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "Recipients will still retain their copy of the document" +msgstr "Os destinatários ainda manterão sua cópia do documento" + +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +msgid "Record Name" +msgstr "Nome do Registro" + +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +msgid "Record Type" +msgstr "Tipo de Registro" + +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +msgid "Record Value" +msgstr "Valor do Registro" + +#: apps/remix/app/components/forms/2fa/recovery-code-list.tsx +msgid "Recovery code copied" +msgstr "Código de recuperação copiado" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Recovery codes" +msgstr "Códigos de recuperação" + +#: packages/ui/primitives/signature-pad/signature-pad-color-picker.tsx +msgid "Red" +msgstr "Vermelho" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Redirect URI" +msgstr "URI de Redirecionamento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Redirect URL" +msgstr "URL de Redirecionamento" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.edit.tsx +msgid "Redirecting" +msgstr "Redirecionando" + +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/forms/signup.tsx +msgid "Registration Successful" +msgstr "Registro Bem-sucedido" + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx +msgid "Reject" +msgstr "Rejeitar" + +#: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-reject-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +msgid "Reject Document" +msgstr "Rejeitar Documento" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/components/general/stack-avatars-with-tooltip.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: apps/remix/app/components/general/document/document-status.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +#: packages/lib/constants/document.ts +msgid "Rejected" +msgstr "Rejeitado" + +#: packages/email/template-components/template-document-rejection-confirmed.tsx +msgid "Rejection Confirmed" +msgstr "Rejeição Confirmada" + +#: packages/email/template-components/template-document-rejection-confirmed.tsx +msgid "Rejection reason: {reason}" +msgstr "Motivo da rejeição: {reason}" + +#: apps/remix/app/components/tables/admin-document-jobs-table.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +msgid "Reload" +msgstr "Recarregar" + +#: apps/remix/app/routes/_unauthenticated+/forgot-password.tsx +msgid "Remembered your password? <0>Sign In" +msgstr "Lembrou sua senha? <0>Entrar" + +#. placeholder {0}: envelope.documentMeta.subject +#: packages/lib/server-only/document/resend-document.ts +msgid "Reminder: {0}" +msgstr "Lembrete: {0}" + +#. placeholder {0}: envelope.team.name +#: packages/lib/server-only/document/resend-document.ts +msgid "Reminder: {0} invited you to {recipientActionVerb} a document" +msgstr "Lembrete: {0} convidou você para {recipientActionVerb} um documento" + +#: packages/lib/server-only/document/resend-document.ts +msgid "Reminder: Please {recipientActionVerb} this document" +msgstr "Lembrete: Por favor, {recipientActionVerb} este documento" + +#: packages/lib/server-only/document/resend-document.ts +msgid "Reminder: Please {recipientActionVerb} your document" +msgstr "Lembrete: Por favor, {recipientActionVerb} seu documento" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/tables/team-groups-table.tsx +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +#: apps/remix/app/components/tables/organisation-members-table.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/general/teams/team-email-dropdown.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page-renderer.tsx +#: apps/remix/app/components/general/document-signing/document-signing-field-container.tsx +#: apps/remix/app/components/forms/branding-preferences-form.tsx +#: apps/remix/app/components/forms/avatar-image.tsx +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +#: packages/ui/primitives/document-flow/field-item.tsx +#: packages/ui/primitives/document-flow/add-fields.tsx +msgid "Remove" +msgstr "Remover" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "Remove email domain" +msgstr "Remover domínio de e-mail" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/components/tables/organisation-groups-table.tsx +msgid "Remove organisation group" +msgstr "Remover grupo da organização" + +#: apps/remix/app/components/tables/organisation-members-table.tsx +msgid "Remove organisation member" +msgstr "Remover membro da organização" + +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +msgid "Remove team email" +msgstr "Remover e-mail da equipe" + +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "Remove team member" +msgstr "Remover membro da equipe" + +#: apps/remix/app/components/forms/reset-password.tsx +#: apps/remix/app/components/forms/password.tsx +msgid "Repeat Password" +msgstr "Repetir Senha" + +#: apps/remix/app/components/forms/email-preferences-form.tsx +msgid "Reply to email" +msgstr "Responder ao e-mail" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Reply To Email" +msgstr "Responder ao E-mail" + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "Requesting Organisation" +msgstr "Organização Solicitante" + +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/radio-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Required field" +msgstr "Campo obrigatório" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +msgid "Required Field" +msgstr "Campo Obrigatório" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Required scopes" +msgstr "Escopos necessários" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Reseal document" +msgstr "Reselar documento" + +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Resend" +msgstr "Reenviar" + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Resend code" +msgstr "Reenviar código" + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "Resend Confirmation Email" +msgstr "Reenviar E-mail de Confirmação" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Resend Document" +msgstr "Reenviar Documento" + +#: apps/remix/app/components/general/teams/team-email-dropdown.tsx +msgid "Resend verification" +msgstr "Reenviar verificação" + +#: apps/remix/app/components/forms/team-update-form.tsx +#: apps/remix/app/components/forms/public-profile-form.tsx +#: apps/remix/app/components/forms/organisation-update-form.tsx +msgid "Reset" +msgstr "Redefinir" + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +msgid "Reset 2FA" +msgstr "Redefinir 2FA" + +#: apps/remix/app/components/forms/forgot-password.tsx +msgid "Reset email sent" +msgstr "E-mail de redefinição enviado" + +#: apps/remix/app/routes/_unauthenticated+/reset-password.$token.tsx +#: apps/remix/app/components/forms/reset-password.tsx +#: apps/remix/app/components/forms/forgot-password.tsx +#: packages/email/template-components/template-forgot-password.tsx +msgid "Reset Password" +msgstr "Redefinir Senha" + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +msgid "Reset the users two factor authentication. This action is irreversible and will disable two factor authentication for the user." +msgstr "Redefinir a autenticação de dois fatores do usuário. Esta ação é irreversível e desabilitará a autenticação de dois fatores para o usuário." + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +msgid "Reset Two Factor Authentication" +msgstr "Redefinir Autenticação de Dois Fatores" + +#: apps/remix/app/components/forms/reset-password.tsx +msgid "Resetting Password..." +msgstr "Redefinindo Senha..." + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Resolve" +msgstr "Resolver" + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Resolve payment" +msgstr "Resolver pagamento" + +#: packages/ui/components/document/document-share-button.tsx +msgid "Rest assured, your document is strictly confidential and will never be shared. Only your signing experience will be highlighted. Share your personalized signing card to showcase your signature!" +msgstr "Tenha certeza de que seu documento é estritamente confidencial e nunca será compartilhado. Apenas sua experiência de assinatura será destacada. Compartilhe seu cartão de assinatura personalizado para mostrar sua assinatura!" + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Restricted Access" +msgstr "Acesso Restrito" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Retention of Documents" +msgstr "Retenção de Documentos" + +#: apps/remix/app/components/tables/admin-document-jobs-table.tsx +msgid "Retried" +msgstr "Tentado novamente" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx +msgid "Retry" +msgstr "Tentar novamente" + +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/organisation.decline.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +msgid "Return" +msgstr "Voltar" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +msgid "Return to Documenso sign in page here" +msgstr "Voltar para a página de login do Documenso aqui" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Return to documents" +msgstr "Voltar para documentos" + +#: apps/remix/app/routes/_unauthenticated+/organisation.decline.$token.tsx +msgid "Return to Home" +msgstr "Voltar para a Página Inicial" + +#: apps/remix/app/routes/_unauthenticated+/reset-password._index.tsx +#: apps/remix/app/routes/_unauthenticated+/check-email.tsx +msgid "Return to sign in" +msgstr "Voltar para entrar" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Return to templates" +msgstr "Voltar para modelos" + +#: packages/email/templates/organisation-account-link-confirmation.tsx +msgid "Review request" +msgstr "Revisar solicitação" + +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "Revoke" +msgstr "Revogar" + +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "Revoke access" +msgstr "Revogar acesso" + +#: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx +#: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx +#: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx +msgid "Revoke all sessions" +msgstr "Revogar todas as sessões" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +msgid "Right" +msgstr "Direita" + +#: apps/remix/app/components/tables/user-organisations-table.tsx +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/tables/team-groups-table.tsx +#: apps/remix/app/components/tables/organisation-members-table.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/tables/organisation-groups-table.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +msgid "Role" +msgstr "Papel" + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +#: apps/remix/app/components/tables/admin-dashboard-users-table.tsx +msgid "Roles" +msgstr "Papéis" + +#: packages/ui/primitives/data-table-pagination.tsx +msgid "Rows per page" +msgstr "Linhas por página" + +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-number-field.tsx +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +#: apps/remix/app/components/embed/authoring/configure-fields-view.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: packages/ui/primitives/document-flow/field-item-advanced-settings.tsx +msgid "Save" +msgstr "Salvar" + +#: packages/lib/client-only/providers/envelope-editor-provider.tsx +#: packages/lib/client-only/providers/envelope-editor-provider.tsx +#: packages/lib/client-only/providers/envelope-editor-provider.tsx +msgid "Save failed" +msgstr "Falha ao salvar" + +#: packages/ui/primitives/template-flow/add-template-fields.tsx +msgid "Save Template" +msgstr "Salvar Modelo" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "Sealing job started" +msgstr "Trabalho de selamento iniciado" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.teams.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.members.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.members.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.groups.tsx +#: apps/remix/app/components/tables/documents-table-sender-filter.tsx +#: apps/remix/app/components/general/app-nav-desktop.tsx +msgid "Search" +msgstr "Pesquisar" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations._index.tsx +msgid "Search and manage all organisations" +msgstr "Pesquisar e gerenciar todas as organizações" + +#: apps/remix/app/routes/_authenticated+/admin+/claims.tsx +msgid "Search by claim ID or name" +msgstr "Pesquisar por ID ou nome da reivindicação" + +#: apps/remix/app/routes/_authenticated+/admin+/documents._index.tsx +msgid "Search by document title" +msgstr "Pesquisar por título do documento" + +#: apps/remix/app/components/tables/admin-leaderboard-table.tsx +#: apps/remix/app/components/tables/admin-dashboard-users-table.tsx +msgid "Search by name or email" +msgstr "Pesquisar por nome ou e-mail" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations._index.tsx +msgid "Search by organisation ID, name, customer ID or owner email" +msgstr "Pesquisar por ID da organização, nome, ID do cliente ou e-mail do proprietário" + +#: apps/remix/app/components/general/document/document-search.tsx +msgid "Search documents..." +msgstr "Pesquisar documentos..." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.folders._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.folders._index.tsx +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "Search folders..." +msgstr "Pesquisar pastas..." + +#: packages/ui/components/common/language-switcher-dialog.tsx +msgid "Search languages..." +msgstr "Pesquisar idiomas..." + +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "Secret" +msgstr "Segredo" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Security" +msgstr "Segurança" + +#: apps/remix/app/routes/_authenticated+/settings+/security.activity.tsx +msgid "Security activity" +msgstr "Atividade de segurança" + +#: apps/remix/app/routes/_authenticated+/admin+/documents.$id.tsx +msgid "See the background jobs tab for the status" +msgstr "Veja a aba de trabalhos em segundo plano para o status" + +#: apps/remix/app/components/general/document-signing/document-signing-dropdown-field.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx +msgid "Select" +msgstr "Selecionar" + +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +msgid "Select a destination for this folder." +msgstr "Selecione um destino para esta pasta." + +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "Select a folder to move this document to." +msgstr "Selecione uma pasta para mover este documento." + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Select a plan" +msgstr "Selecione um plano" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Select a plan to continue" +msgstr "Selecione um plano para continuar" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "Select a team to view its dashboard" +msgstr "Selecione uma equipe para visualizar seu painel" + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Select a template you'd like to display on your public profile" +msgstr "Selecione um modelo que deseja exibir no seu perfil público" + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Select a template you'd like to display on your team's public profile" +msgstr "Selecione um modelo que deseja exibir no perfil público da sua equipe" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Select a time zone" +msgstr "Selecione um fuso horário" + +#: packages/ui/components/document/document-global-auth-access-select.tsx +msgid "Select access methods" +msgstr "Selecionar métodos de acesso" + +#: apps/remix/app/components/dialogs/sign-field-dropdown-dialog.tsx +#: packages/ui/primitives/combobox.tsx +msgid "Select an option" +msgstr "Selecione uma opção" + +#: apps/remix/app/components/general/org-menu-switcher.tsx +msgid "Select an organisation to view teams" +msgstr "Selecione uma organização para visualizar equipes" + +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Select at least" +msgstr "Selecione pelo menos" + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +#: packages/ui/components/document/document-global-auth-action-select.tsx +msgid "Select authentication methods" +msgstr "Selecionar métodos de autenticação" + +#: apps/remix/app/components/forms/editor/editor-field-dropdown-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/dropdown-field.tsx +msgid "Select default option" +msgstr "Selecionar opção padrão" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Select default role" +msgstr "Selecionar papel padrão" + +#: apps/remix/app/components/forms/editor/editor-field-radio-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Select direction" +msgstr "Selecionar direção" + +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Select groups" +msgstr "Selecionar grupos" + +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Select groups of members to add to the team." +msgstr "Selecione grupos de membros para adicionar à equipe." + +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Select groups to add to this team" +msgstr "Selecione grupos para adicionar a esta equipe" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "Select members" +msgstr "Selecionar membros" + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "Select members or groups of members to add to the team." +msgstr "Selecione membros ou grupos de membros para adicionar à equipe." + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "Select members to add to this team" +msgstr "Selecione membros para adicionar a esta equipe" + +#: packages/lib/utils/fields.ts +msgid "Select Option" +msgstr "Selecionar Opção" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx +msgid "Select passkey" +msgstr "Selecionar chave de acesso" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Select signature types" +msgstr "Selecionar tipos de assinatura" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +msgid "Select text align" +msgstr "Selecionar alinhamento de texto" + +#: apps/remix/app/components/dialogs/envelope-download-dialog.tsx +msgid "Select the files you would like to download." +msgstr "Selecione os arquivos que deseja baixar." + +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "Select the members to add to this group" +msgstr "Selecione os membros para adicionar a este grupo" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "Select the members to include in this group" +msgstr "Selecione os membros para incluir neste grupo" + +#: apps/remix/app/components/general/webhook-multiselect-combobox.tsx +#: apps/remix/app/components/general/webhook-multiselect-combobox.tsx +msgid "Select triggers" +msgstr "Selecionar gatilhos" + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +msgid "Select visibility" +msgstr "Selecionar visibilidade" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-preview-page.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Selected Recipient" +msgstr "Destinatário Selecionado" + +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Send" +msgstr "Enviar" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +msgid "Send a test webhook with sample data to verify your integration is working correctly." +msgstr "Envie um webhook de teste com dados de exemplo para verificar se sua integração está funcionando corretamente." + +#: apps/remix/app/components/forms/send-confirmation-email.tsx +msgid "Send confirmation email" +msgstr "Enviar e-mail de confirmação" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Send document" +msgstr "Enviar documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx +msgid "Send Document" +msgstr "Enviar Documento" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Send document completed email" +msgstr "Enviar e-mail de documento concluído" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Send document completed email to the owner" +msgstr "Enviar e-mail de documento concluído para o proprietário" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Send document deleted email" +msgstr "Enviar e-mail de documento excluído" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Send document pending email" +msgstr "Enviar e-mail de documento pendente" + +#: packages/email/templates/confirm-team-email.tsx +msgid "Send documents on behalf of the team using the email address" +msgstr "Enviar documentos em nome da equipe usando o endereço de e-mail" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Send documents to recipients immediately" +msgstr "Enviar documentos para destinatários imediatamente" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +msgid "Send on Behalf of Team" +msgstr "Enviar em Nome da Equipe" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Send recipient removed email" +msgstr "Enviar e-mail de destinatário removido" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Send recipient signed email" +msgstr "Enviar e-mail de destinatário assinado" + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "Send recipient signing request email" +msgstr "Enviar e-mail de solicitação de assinatura do destinatário" + +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +msgid "Send reminder" +msgstr "Enviar lembrete" + +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Send reminders to the following recipients" +msgstr "Enviar lembretes para os seguintes destinatários" + +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +msgid "Send Test Webhook" +msgstr "Enviar Webhook de Teste" + +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table.tsx +msgid "Sender" +msgstr "Remetente" + +#: apps/remix/app/components/forms/forgot-password.tsx +msgid "Sending Reset Email..." +msgstr "Enviando E-mail de Redefinição..." + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "Sending..." +msgstr "Enviando..." + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +msgid "Sent" +msgstr "Enviado" + +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +msgid "Session revoked" +msgstr "Sessão revogada" + +#: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx +msgid "Sessions have been revoked" +msgstr "Sessões foram revogadas" + +#: apps/remix/app/components/general/claim-account.tsx +msgid "Set a password" +msgstr "Definir uma senha" + +#: apps/remix/app/components/embed/authoring/configure-document-view.tsx +msgid "Set up your document properties and recipient information" +msgstr "Configure as propriedades do documento e as informações do destinatário" + +#: apps/remix/app/components/embed/authoring/configure-document-view.tsx +msgid "Set up your template properties and recipient information" +msgstr "Configure as propriedades do modelo e as informações do destinatário" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +#: apps/remix/app/routes/_authenticated+/settings+/_layout.tsx +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/general/app-nav-mobile.tsx +#: apps/remix/app/components/general/app-nav-mobile.tsx +#: apps/remix/app/components/general/app-command-menu.tsx +#: apps/remix/app/components/general/app-command-menu.tsx +#: apps/remix/app/components/general/folder/folder-card.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "Settings" +msgstr "Configurações" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx +msgid "Setup" +msgstr "Configurar" + +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +msgid "Share" +msgstr "Compartilhar" + +#: packages/ui/components/document/document-share-button.tsx +msgid "Share Signature Card" +msgstr "Compartilhar Cartão de Assinatura" + +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +msgid "Share Signing Card" +msgstr "Compartilhar Cartão de Assinatura" + +#: packages/lib/constants/template.ts +msgid "Share the Link" +msgstr "Compartilhar o Link" + +#: packages/ui/components/document/document-share-button.tsx +msgid "Share your signing experience!" +msgstr "Compartilhe sua experiência de assinatura!" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "Show" +msgstr "Mostrar" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Show advanced settings" +msgstr "Mostrar configurações avançadas" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "Show templates in your public profile for your audience to sign and get started quickly" +msgstr "Mostrar modelos no seu perfil público para seu público assinar e começar rapidamente" + +#: apps/remix/app/routes/_profile+/p.$url.tsx +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/documents-table-action-button.tsx +#: apps/remix/app/components/general/user-profile-timur.tsx +#: apps/remix/app/components/general/user-profile-skeleton.tsx +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx +#: apps/remix/app/components/general/document/document-page-view-button.tsx +#: apps/remix/app/components/dialogs/sign-field-text-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-signature-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-number-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-name-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-initials-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-email-dialog.tsx +#: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx +msgid "Sign" +msgstr "Assinar" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role action verb" +msgid "Sign" +msgstr "Assinar" + +#. placeholder {0}: recipient.name +#. placeholder {1}: recipient.email +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +msgid "Sign as {0} <0>({1})" +msgstr "Assinar como {0} <0>({1})" + +#. placeholder {0}: recipient.name +#. placeholder {1}: recipient.email +#: apps/remix/app/components/general/document-signing/document-signing-name-field.tsx +msgid "Sign as<0>{0} <1>({1})" +msgstr "Assinar como<0>{0} <1>({1})" + +#: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx +msgid "Sign Checkbox Field" +msgstr "Assinar Campo de Caixa de Seleção" + +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +msgid "Sign document" +msgstr "Assinar documento" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +msgid "Sign Document" +msgstr "Assinar Documento" + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "Sign Documents" +msgstr "Assinar Documentos" + +#: apps/remix/app/components/dialogs/sign-field-email-dialog.tsx +msgid "Sign Email" +msgstr "Assinar E-mail" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "Sign field" +msgstr "Assinar campo" + +#: apps/remix/app/components/forms/signup.tsx +msgid "Sign Here" +msgstr "Assine Aqui" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/signin.tsx +#: packages/email/template-components/template-reset-password.tsx +msgid "Sign In" +msgstr "Entrar" + +#: apps/remix/app/routes/_unauthenticated+/signin.tsx +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "Sign in to your account" +msgstr "Entre na sua conta" + +#: apps/remix/app/components/dialogs/sign-field-initials-dialog.tsx +msgid "Sign Initials" +msgstr "Assinar Iniciais" + +#: apps/remix/app/components/dialogs/sign-field-name-dialog.tsx +msgid "Sign Name" +msgstr "Assinar Nome" + +#: apps/remix/app/components/dialogs/sign-field-number-dialog.tsx +msgid "Sign Number Field" +msgstr "Assinar Campo Numérico" + +#: apps/remix/app/components/general/org-menu-switcher.tsx +#: apps/remix/app/components/general/menu-switcher.tsx +#: apps/remix/app/components/general/app-nav-mobile.tsx +msgid "Sign Out" +msgstr "Sair" + +#: apps/remix/app/components/dialogs/sign-field-signature-dialog.tsx +msgid "Sign Signature Field" +msgstr "Assinar Campo de Assinatura" + +#: apps/remix/app/components/dialogs/sign-field-text-dialog.tsx +msgid "Sign Text Field" +msgstr "Assinar Campo de Texto" + +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +msgid "Sign the document to complete the process." +msgstr "Assine o documento para concluir o processo." + +#: apps/remix/app/components/general/document-signing/document-signing-auth-page.tsx +msgid "Sign up" +msgstr "Cadastrar" + +#: apps/remix/app/components/forms/signup.tsx +msgid "Sign Up with Google" +msgstr "Cadastrar com Google" + +#: apps/remix/app/components/forms/signup.tsx +msgid "Sign Up with Microsoft" +msgstr "Cadastrar com Microsoft" + +#: apps/remix/app/components/forms/signup.tsx +msgid "Sign Up with OIDC" +msgstr "Cadastrar com OIDC" + +#: apps/remix/app/components/dialogs/sign-field-email-dialog.tsx +msgid "Sign your email into the field" +msgstr "Assine seu e-mail no campo" + +#: apps/remix/app/components/dialogs/sign-field-name-dialog.tsx +msgid "Sign your full name into the field" +msgstr "Assine seu nome completo no campo" + +#: apps/remix/app/components/dialogs/sign-field-initials-dialog.tsx +msgid "Sign your initials into the field" +msgstr "Assine suas iniciais no campo" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +#: apps/remix/app/components/general/envelope-signing/envelope-signer-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-form.tsx +#: apps/remix/app/components/general/direct-template/direct-template-signing-form.tsx +#: apps/remix/app/components/forms/profile.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-signing-view.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/ui/primitives/document-flow/add-fields.tsx +#: packages/lib/utils/fields.ts +msgid "Signature" +msgstr "Assinatura" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Signature ID" +msgstr "ID da Assinatura" + +#: packages/ui/primitives/signature-pad/signature-pad-draw.tsx +msgid "Signature is too small" +msgstr "A assinatura é muito pequena" + +#: apps/remix/app/components/forms/profile.tsx +msgid "Signature Pad cannot be empty." +msgstr "O bloco de assinatura não pode estar vazio." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Signature Settings" +msgstr "Configurações de Assinatura" + +#: packages/ui/components/document/document-signature-settings-tooltip.tsx +msgid "Signature types" +msgstr "Tipos de assinatura" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Signatures Collected" +msgstr "Assinaturas Coletadas" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +#: apps/remix/app/components/dialogs/envelope-download-dialog.tsx +#: packages/ui/components/document/envelope-recipient-field-tooltip.tsx +#: packages/ui/components/document/document-read-only-fields.tsx +msgid "Signed" +msgstr "Assinado" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role actioned" +msgid "Signed" +msgstr "Assinado" + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx +msgid "Signer" +msgstr "Signatário" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role name" +msgid "Signer" +msgstr "Signatário" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Signer Events" +msgstr "Eventos do Signatário" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role plural name" +msgid "Signers" +msgstr "Signatários" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role progressive verb" +msgid "Signing" +msgstr "Assinando" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Signing Certificate" +msgstr "Certificado de Assinatura" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Signing certificate provided by" +msgstr "Certificado de assinatura fornecido por" + +#: packages/lib/server-only/document/send-completed-email.ts +#: packages/lib/server-only/document/send-completed-email.ts +msgid "Signing Complete!" +msgstr "Assinatura Concluída!" + +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +msgid "Signing for" +msgstr "Assinando para" + +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/signin.tsx +msgid "Signing in..." +msgstr "Entrando..." + +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/general/document/document-page-view-dropdown.tsx +msgid "Signing Links" +msgstr "Links de assinatura" + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Signing links have been generated for this document." +msgstr "Links de assinatura foram gerados para este documento." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Signing order is enabled." +msgstr "Ordem de assinatura está habilitada." + +#: apps/remix/app/routes/_authenticated+/admin+/leaderboard.tsx +#: apps/remix/app/components/tables/admin-leaderboard-table.tsx +msgid "Signing Volume" +msgstr "Volume de Assinaturas" + +#: apps/remix/app/components/forms/signup.tsx +msgid "Signups are disabled." +msgstr "Cadastros estão desabilitados." + +#. placeholder {0}: DateTime.fromJSDate(publicProfile.badge.since).toFormat('LLL 'yy') +#: apps/remix/app/routes/_profile+/p.$url.tsx +msgid "Since {0}" +msgstr "Desde {0}" + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "Site Banner" +msgstr "Banner do Site" + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +#: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +msgid "Site Settings" +msgstr "Configurações do Site" + +#: packages/ui/primitives/document-flow/missing-signature-field-dialog.tsx +msgid "Some signers have not been assigned a signature field. Please assign at least 1 signature field to each signer before proceeding." +msgstr "Alguns signatários não receberam um campo de assinatura. Por favor, atribua pelo menos 1 campo de assinatura a cada signatário antes de prosseguir." + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/general/teams/team-email-dropdown.tsx +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +#: apps/remix/app/components/general/organisations/organisation-billing-portal-button.tsx +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +#: apps/remix/app/components/general/envelope-signing/envelope-signing-complete-dialog.tsx +#: apps/remix/app/components/general/envelope-signing/envelope-signing-complete-dialog.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-page.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-account.tsx +#: apps/remix/app/components/general/document/document-certificate-download-button.tsx +#: apps/remix/app/components/general/document/document-audit-log-download-button.tsx +#: apps/remix/app/components/general/direct-template/direct-template-signing-auth-page.tsx +#: apps/remix/app/components/general/direct-template/direct-template-page.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +#: apps/remix/app/components/dialogs/template-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx +#: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-download-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +#: packages/ui/components/document/document-share-button.tsx +msgid "Something went wrong" +msgstr "Algo deu errado" + +#. placeholder {0}: data.teamName +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +msgid "Something went wrong while attempting to verify your email address for <0>{0}. Please try again later." +msgstr "Algo deu errado ao tentar verificar seu endereço de e-mail para <0>{0}. Por favor, tente novamente mais tarde." + +#: packages/ui/primitives/pdf-viewer.tsx +#: packages/ui/primitives/pdf-viewer.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +msgid "Something went wrong while loading the document." +msgstr "Algo deu errado ao carregar o documento." + +#: apps/remix/app/components/general/document-signing/document-signing-auth-passkey.tsx +msgid "Something went wrong while loading your passkeys." +msgstr "Algo deu errado ao carregar suas chaves de acesso." + +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +msgid "Something went wrong while rendering the document, some fields may be missing or corrupted." +msgstr "Algo deu errado ao renderizar o documento, alguns campos podem estar ausentes ou corrompidos." + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "Something went wrong while sending the confirmation email." +msgstr "Algo deu errado ao enviar o e-mail de confirmação." + +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +msgid "Something went wrong while updating the team billing subscription, please contact support." +msgstr "Algo deu errado ao atualizar a assinatura de cobrança da equipe, entre em contato com o suporte." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +msgid "Something went wrong while uploading this file" +msgstr "Algo deu errado ao enviar este arquivo" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.email.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.document.tsx +msgid "Something went wrong!" +msgstr "Algo deu errado!" + +#: packages/ui/primitives/data-table.tsx +msgid "Something went wrong." +msgstr "Algo deu errado." + +#: apps/remix/app/components/forms/token.tsx +msgid "Something went wrong. Please try again later." +msgstr "Algo deu errado. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Something went wrong. Please try again or contact support." +msgstr "Algo deu errado. Por favor, tente novamente ou entre em contato com o suporte." + +#: apps/remix/app/components/general/document/document-audit-log-download-button.tsx +msgid "Sorry, we were unable to download the audit logs. Please try again later." +msgstr "Desculpe, não foi possível baixar os registros de auditoria. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/general/document/document-certificate-download-button.tsx +msgid "Sorry, we were unable to download the certificate. Please try again later." +msgstr "Desculpe, não foi possível baixar o certificado. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +msgid "Source" +msgstr "Origem" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Space-separated list of domains. Leave empty to allow all domains." +msgstr "Lista de domínios separados por espaços. Deixe vazio para permitir todos os domínios." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +msgid "SSO" +msgstr "SSO" + +#: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +msgid "Stats" +msgstr "Estatísticas" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +#: apps/remix/app/routes/_authenticated+/admin+/documents._index.tsx +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +#: apps/remix/app/components/tables/organisation-billing-invoices-table.tsx +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +#: apps/remix/app/components/tables/admin-document-jobs-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +msgid "Status" +msgstr "Status" + +#. placeholder {0}: currentStepData.order +#. placeholder {1}: envelopeEditorSteps.length +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgctxt "The step counter" +msgid "Step {0}/{1}" +msgstr "Etapa {0}/{1}" + +#: packages/ui/primitives/document-flow/document-flow-root.tsx +msgid "Step <0>{step} of {maxStep}" +msgstr "Etapa <0>{step} de {maxStep}" + +#: apps/remix/app/components/tables/admin-organisations-table.tsx +msgid "Stripe" +msgstr "Stripe" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Stripe customer created successfully" +msgstr "Cliente Stripe criado com sucesso" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Stripe Customer ID" +msgstr "ID do Cliente Stripe" + +#: apps/remix/app/components/forms/support-ticket-form.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Subject" +msgstr "Assunto" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "Subject <0>(Optional)" +msgstr "Assunto <0>(Opcional)" + +#: apps/remix/app/components/forms/support-ticket-form.tsx +msgid "Submit" +msgstr "Enviar" + +#: apps/remix/app/components/tables/admin-document-jobs-table.tsx +msgid "Submitted" +msgstr "Enviado" + +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/general/billing-plans.tsx +msgid "Subscribe" +msgstr "Assinar" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/admin-organisations-table.tsx +msgid "Subscription" +msgstr "Assinatura" + +#: apps/remix/app/components/dialogs/claim-create-dialog.tsx +msgid "Subscription claim created successfully." +msgstr "Reivindicação de assinatura criada com sucesso." + +#: apps/remix/app/components/dialogs/claim-delete-dialog.tsx +msgid "Subscription claim deleted successfully." +msgstr "Reivindicação de assinatura excluída com sucesso." + +#: apps/remix/app/components/dialogs/claim-update-dialog.tsx +msgid "Subscription claim updated successfully." +msgstr "Reivindicação de assinatura atualizada com sucesso." + +#: apps/remix/app/routes/_authenticated+/admin+/claims.tsx +msgid "Subscription Claims" +msgstr "Reivindicações de Assinatura" + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Subscription invalid" +msgstr "Assinatura inválida" + +#: apps/remix/app/routes/embed+/v1+/authoring+/template.edit.$id.tsx +#: apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +#: apps/remix/app/components/general/verify-email-banner.tsx +#: apps/remix/app/components/general/teams/team-email-usage.tsx +#: apps/remix/app/components/general/teams/team-email-dropdown.tsx +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +#: apps/remix/app/components/forms/team-update-form.tsx +#: apps/remix/app/components/forms/public-profile-form.tsx +#: apps/remix/app/components/forms/organisation-update-form.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +msgid "Success" +msgstr "Sucesso" + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "Successfully created passkey" +msgstr "Chave de acesso criada com sucesso" + +#: packages/email/templates/bulk-send-complete.tsx +msgid "Successfully created: {successCount}" +msgstr "Criado com sucesso: {successCount}" + +#: packages/email/templates/bulk-send-complete.tsx +msgid "Summary:" +msgstr "Resumo:" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +#: apps/remix/app/components/general/org-menu-switcher.tsx +msgid "Support" +msgstr "Suporte" + +#: apps/remix/app/components/forms/support-ticket-form.tsx +msgid "Support ticket created" +msgstr "Chamado de suporte criado" + +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "Sync" +msgstr "Sincronizar" + +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "Sync Email Domains" +msgstr "Sincronizar Domínios de E-mail" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +msgid "Sync failed, changes not saved" +msgstr "Sincronização falhou, alterações não salvas" + +#: packages/lib/utils/document-audit-logs.ts +msgctxt "Audit log format" +msgid "System auto inserted fields" +msgstr "Campos inseridos automaticamente pelo sistema" + +#: packages/lib/utils/document-audit-logs.ts +msgid "System auto inserted fields" +msgstr "Campos inseridos automaticamente pelo sistema" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "System Requirements" +msgstr "Requisitos do Sistema" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "System Theme" +msgstr "Tema do Sistema" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/organisation-teams-table.tsx +msgid "Team" +msgstr "Equipe" + +#. placeholder {0}: team.name +#: packages/lib/server-only/team/delete-team.ts +msgid "Team \"{0}\" has been deleted on Documenso" +msgstr "A equipe \"{0}\" foi excluída no Documenso" + +#: packages/lib/constants/teams-translations.ts +msgid "Team Admin" +msgstr "Administrador da Equipe" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "Team Assignments" +msgstr "Atribuições da Equipe" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/forms/subscription-claim-form.tsx +msgid "Team Count" +msgstr "Contagem de Equipes" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +msgid "Team email" +msgstr "E-mail da equipe" + +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "Team Email" +msgstr "E-mail da Equipe" + +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +msgid "Team email already verified!" +msgstr "E-mail da equipe já verificado!" + +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +msgid "Team email has been removed" +msgstr "E-mail da equipe foi removido" + +#. placeholder {0}: team.name +#: packages/lib/server-only/team/delete-team-email.ts +msgid "Team email has been revoked for {0}" +msgstr "E-mail da equipe foi revogado para {0}" + +#: packages/email/templates/team-email-removed.tsx +msgid "Team email removed" +msgstr "E-mail da equipe removido" + +#: packages/email/templates/team-email-removed.tsx +msgid "Team email removed for {teamName} on Documenso" +msgstr "E-mail da equipe removido para {teamName} no Documenso" + +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +msgid "Team email verification" +msgstr "Verificação de e-mail da equipe" + +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +msgid "Team email verified!" +msgstr "E-mail da equipe verificado!" + +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +msgid "Team email was updated." +msgstr "E-mail da equipe foi atualizado." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.groups.tsx +msgid "Team Groups" +msgstr "Grupos da Equipe" + +#: packages/lib/constants/teams-translations.ts +msgid "Team Manager" +msgstr "Gerente da Equipe" + +#: apps/remix/app/components/tables/team-members-table.tsx +#: packages/lib/constants/teams-translations.ts +msgid "Team Member" +msgstr "Membro da Equipe" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.members.tsx +msgid "Team Members" +msgstr "Membros da Equipe" + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Team members have been added." +msgstr "Membros da equipe foram adicionados." + +#: apps/remix/app/components/forms/team-update-form.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "Team Name" +msgstr "Nome da Equipe" + +#: apps/remix/app/routes/_authenticated+/_layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/_layout.tsx +msgid "Team not found" +msgstr "Equipe não encontrada" + +#: apps/remix/app/components/tables/templates-table.tsx +msgid "Team Only" +msgstr "Apenas Equipe" + +#: apps/remix/app/components/tables/templates-table.tsx +msgid "Team only templates are not linked anywhere and are visible only to your team." +msgstr "Modelos apenas da equipe não estão vinculados em nenhum lugar e são visíveis apenas para sua equipe." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Team Role" +msgstr "Papel na Equipe" + +#: apps/remix/app/components/general/org-menu-switcher.tsx +msgid "Team settings" +msgstr "Configurações da equipe" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +msgid "Team Settings" +msgstr "Configurações da Equipe" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "Team url" +msgstr "URL da equipe" + +#: apps/remix/app/components/forms/team-update-form.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "Team URL" +msgstr "URL da Equipe" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.teams.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +#: apps/remix/app/components/general/org-menu-switcher.tsx +msgid "Teams" +msgstr "Equipes" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "Teams help you organise your work and collaborate with others. Create your first team to get started." +msgstr "Equipes ajudam você a organizar seu trabalho e colaborar com outros. Crie sua primeira equipe para começar." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "Teams that this organisation group is currently assigned to" +msgstr "Equipes às quais este grupo da organização está atualmente atribuído" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id.legacy_editor.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Template" +msgstr "Modelo" + +#: apps/remix/app/routes/embed+/v1+/authoring_.completed.create.tsx +msgid "Template Created" +msgstr "Modelo Criado" + +#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +msgid "Template deleted" +msgstr "Modelo excluído" + +#: apps/remix/app/components/dialogs/template-create-dialog.tsx +msgid "Template document uploaded" +msgstr "Documento do modelo enviado" + +#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx +msgid "Template duplicated" +msgstr "Modelo duplicado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Template Editor" +msgstr "Editor de Modelo" + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Template has been removed from your public profile." +msgstr "Modelo foi removido do seu perfil público." + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Template has been updated." +msgstr "Modelo foi atualizado." + +#: apps/remix/app/components/general/legacy-field-warning-popover.tsx +msgid "Template is using legacy field insertion" +msgstr "Modelo está usando inserção de campo legada" + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +msgid "Template moved" +msgstr "Modelo movido" + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "Template saved" +msgstr "Modelo salvo" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Template Settings" +msgstr "Configurações do Modelo" + +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "Template title" +msgstr "Título do modelo" + +#: apps/remix/app/routes/embed+/v1+/authoring+/template.edit.$id.tsx +msgid "Template updated successfully" +msgstr "Modelo atualizado com sucesso" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +msgid "Template uploaded" +msgstr "Modelo enviado" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +#: apps/remix/app/components/general/app-nav-mobile.tsx +#: apps/remix/app/components/general/app-nav-desktop.tsx +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Templates" +msgstr "Modelos" + +#: apps/remix/app/components/dialogs/template-create-dialog.tsx +msgid "Templates allow you to quickly generate documents with pre-filled recipients and fields." +msgstr "Modelos permitem que você gere documentos rapidamente com destinatários e campos pré-preenchidos." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +msgid "Test Webhook" +msgstr "Testar Webhook" + +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +msgid "Test webhook failed" +msgstr "Teste de webhook falhou" + +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +msgid "Test webhook sent" +msgstr "Webhook de teste enviado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-drag-drop.tsx +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: apps/remix/app/components/general/document-signing/document-signing-text-field.tsx +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/types.ts +#: packages/ui/primitives/document-flow/add-fields.tsx +#: packages/lib/utils/fields.ts +msgid "Text" +msgstr "Texto" + +#: apps/remix/app/components/forms/editor/editor-field-generic-field-forms.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/text-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/name-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/initials-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/email-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/date-field.tsx +msgid "Text Align" +msgstr "Alinhamento de Texto" + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "Text Color" +msgstr "Cor do Texto" + +#: apps/remix/app/components/dialogs/sign-field-text-dialog.tsx +msgid "Text is required" +msgstr "Texto é obrigatório" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "Text Settings" +msgstr "Configurações de Texto" + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "Thank you for completing the signing process." +msgstr "Obrigado por concluir o processo de assinatura." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Thank you for using Documenso to perform your electronic document signing. The purpose of this disclosure is to inform you about the process, legality, and your rights regarding the use of electronic signatures on our platform. By opting to use an electronic signature, you are agreeing to the terms and conditions outlined below." +msgstr "Obrigado por usar o Documenso para realizar sua assinatura eletrônica de documentos. O objetivo desta divulgação é informá-lo sobre o processo, legalidade e seus direitos em relação ao uso de assinaturas eletrônicas em nossa plataforma. Ao optar por usar uma assinatura eletrônica, você concorda com os termos e condições descritos abaixo." + +#: packages/email/template-components/template-forgot-password.tsx +msgid "That's okay, it happens! Click the button below to reset your password." +msgstr "Tudo bem, acontece! Clique no botão abaixo para redefinir sua senha." + +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +msgid "The account has been deleted successfully." +msgstr "A conta foi excluída com sucesso." + +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +msgid "The account has been disabled successfully." +msgstr "A conta foi desabilitada com sucesso." + +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +msgid "The account has been enabled successfully." +msgstr "A conta foi habilitada com sucesso." + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +msgid "The authentication methods required for recipients to sign fields" +msgstr "Os métodos de autenticação necessários para os destinatários assinarem campos" + +#: packages/ui/components/document/document-global-auth-action-select.tsx +msgid "The authentication methods required for recipients to sign the signature field." +msgstr "Os métodos de autenticação necessários para os destinatários assinarem o campo de assinatura." + +#: packages/ui/components/document/document-global-auth-access-select.tsx +msgid "The authentication methods required for recipients to view the document." +msgstr "Os métodos de autenticação necessários para os destinatários visualizarem o documento." + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "The content to show in the banner, HTML is allowed" +msgstr "O conteúdo a ser exibido no banner, HTML é permitido" + +#: apps/remix/app/components/forms/email-preferences-form.tsx +msgid "The default email to use when sending emails to recipients" +msgstr "O e-mail padrão a ser usado ao enviar e-mails para destinatários" + +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +#: apps/remix/app/components/general/template/template-direct-link-badge.tsx +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "The direct link has been copied to your clipboard" +msgstr "O link direto foi copiado para sua área de transferência" + +#: apps/remix/app/components/dialogs/organisation-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "The display name for this email address" +msgstr "O nome de exibição para este endereço de e-mail" + +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "The document has been moved successfully." +msgstr "O documento foi movido com sucesso." + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "The document is already saved and cannot be changed." +msgstr "O documento já está salvo e não pode ser alterado." + +#: apps/remix/app/components/embed/embed-document-completed.tsx +msgid "The document is now completed, please follow any instructions provided within the parent application." +msgstr "O documento está agora concluído, por favor, siga quaisquer instruções fornecidas no aplicativo pai." + +#: packages/email/template-components/template-document-rejection-confirmed.tsx +msgid "The document owner has been notified of this rejection. No further action is required from you at this time. The document owner may contact you with any questions regarding this rejection." +msgstr "O proprietário do documento foi notificado desta rejeição. Nenhuma ação adicional é necessária de você no momento. O proprietário do documento pode entrar em contato com você com quaisquer perguntas sobre esta rejeição." + +#: apps/remix/app/routes/_recipient+/sign.$token+/rejected.tsx +#: apps/remix/app/components/embed/embed-document-rejected.tsx +msgid "The document owner has been notified of your decision. They may contact you with further instructions if necessary." +msgstr "O proprietário do documento foi notificado de sua decisão. Eles podem entrar em contato com você com instruções adicionais, se necessário." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document was created but could not be sent to recipients." +msgstr "O documento foi criado, mas não pôde ser enviado para os destinatários." + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "The document will be hidden from your account" +msgstr "O documento será ocultado da sua conta" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "The document will be immediately sent to recipients if this is checked." +msgstr "O documento será enviado imediatamente para os destinatários se isso estiver marcado." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._layout.tsx +msgid "The document you are looking for could not be found." +msgstr "O documento que você está procurando não pôde ser encontrado." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.edit.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "" +"The document you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"O documento que você está procurando pode ter sido removido, renomeado ou pode nunca ter\n" +" existido." + +#: packages/ui/components/document/document-send-email-message-helper.tsx +msgid "The document's name" +msgstr "O nome do documento" + +#: apps/remix/app/components/forms/email-preferences-form.tsx +msgid "The email address which will show up in the \"Reply To\" field in emails" +msgstr "O endereço de e-mail que aparecerá no campo \"Responder Para\" nos e-mails" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "" +"The email domain you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"O domínio de e-mail que você está procurando pode ter sido removido, renomeado ou pode nunca ter\n" +" existido." + +#: apps/remix/app/components/forms/signin.tsx +msgid "The email or password provided is incorrect" +msgstr "O e-mail ou senha fornecidos estão incorretos" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "The events that will trigger a webhook to be sent to your URL." +msgstr "Os eventos que acionarão o envio de um webhook para sua URL." + +#: apps/remix/app/components/general/legacy-field-warning-popover.tsx +msgid "The fields have been updated to the new field insertion method successfully" +msgstr "Os campos foram atualizados para o novo método de inserção de campos com sucesso" + +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "The folder you are trying to delete does not exist." +msgstr "A pasta que você está tentando excluir não existe." + +#: apps/remix/app/components/dialogs/folder-move-dialog.tsx +msgid "The folder you are trying to move does not exist." +msgstr "A pasta que você está tentando mover não existe." + +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "The folder you are trying to move the document to does not exist." +msgstr "A pasta para a qual você está tentando mover o documento não existe." + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +msgid "The folder you are trying to move the template to does not exist." +msgstr "A pasta para a qual você está tentando mover o modelo não existe." + +#: packages/email/templates/bulk-send-complete.tsx +msgid "The following errors occurred:" +msgstr "Os seguintes erros ocorreram:" + +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +msgid "The following signers are missing signature fields:" +msgstr "Os seguintes signatários estão sem campos de assinatura:" + +#: packages/email/templates/team-delete.tsx +msgid "The following team has been deleted. You will no longer be able to access this team and its documents" +msgstr "A seguinte equipe foi excluída. Você não poderá mais acessar esta equipe e seus documentos" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "The OpenID discovery endpoint URL for your provider" +msgstr "A URL do endpoint de descoberta OpenID do seu provedor" + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +msgid "The organisation authentication portal does not exist, or is not configured" +msgstr "O portal de autenticação da organização não existe ou não está configurado" + +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "The organisation email has been created successfully." +msgstr "O e-mail da organização foi criado com sucesso." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "" +"The organisation group you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"O grupo da organização que você está procurando pode ter sido removido, renomeado ou pode nunca ter\n" +" existido." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "The organisation role that will be applied to all members in this group." +msgstr "O papel da organização que será aplicado a todos os membros deste grupo." + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "" +"The organisation you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"A organização que você está procurando pode ter sido removida, renomeada ou pode nunca ter\n" +" existido." + +#: apps/remix/app/routes/_authenticated+/_layout.tsx +msgid "" +"The organisation you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"A organização que você está procurando pode ter sido removida, renomeada ou pode nunca ter\n" +" existido." + +#: apps/remix/app/components/general/generic-error-layout.tsx +msgid "The page you are looking for was moved, removed, renamed or might never have existed." +msgstr "A página que você está procurando foi movida, removida, renomeada ou pode nunca ter existido." + +#. placeholder {0}: emailDomain.domain +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "The part before the @ symbol (e.g., \"support\" for support@{0})" +msgstr "A parte antes do símbolo @ (por exemplo, \"suporte\" para suporte@{0})" + +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +msgid "The preselected values will be ignored unless they meet the validation criteria." +msgstr "Os valores pré-selecionados serão ignorados a menos que atendam aos critérios de validação." + +#: apps/remix/app/components/forms/public-profile-form.tsx +msgid "The profile link has been copied to your clipboard" +msgstr "O link do perfil foi copiado para sua área de transferência" + +#: apps/remix/app/routes/_profile+/_layout.tsx +msgid "The profile you are looking for could not be found." +msgstr "O perfil que você está procurando não pôde ser encontrado." + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "The public description that will be displayed with this template" +msgstr "A descrição pública que será exibida com este modelo" + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "The public name for your template" +msgstr "O nome público do seu modelo" + +#: packages/email/template-components/template-document-super-delete.tsx +msgid "The reason provided for deletion is the following:" +msgstr "O motivo fornecido para a exclusão é o seguinte:" + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "The recipient can prepare the document for later signers by pre-filling suggest values." +msgstr "O destinatário pode preparar o documento para signatários posteriores preenchendo valores sugeridos." + +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +msgid "The recipient has been updated successfully" +msgstr "O destinatário foi atualizado com sucesso" + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "The recipient is not required to take any action and receives a copy of the document after it is completed." +msgstr "O destinatário não é obrigado a tomar nenhuma ação e recebe uma cópia do documento após sua conclusão." + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "The recipient is required to approve the document for it to be completed." +msgstr "O destinatário é obrigado a aprovar o documento para que seja concluído." + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "The recipient is required to sign the document for it to be completed." +msgstr "O destinatário é obrigado a assinar o documento para que seja concluído." + +#: packages/ui/components/recipient/recipient-role-select.tsx +msgid "The recipient is required to view the document for it to be completed." +msgstr "O destinatário é obrigado a visualizar o documento para que seja concluído." + +#: packages/ui/components/document/document-share-button.tsx +msgid "The sharing link could not be created at this time. Please try again." +msgstr "O link de compartilhamento não pôde ser criado no momento. Por favor, tente novamente." + +#: packages/ui/components/document/document-share-button.tsx +msgid "The sharing link has been copied to your clipboard." +msgstr "O link de compartilhamento foi copiado para sua área de transferência." + +#: packages/ui/components/document/document-send-email-message-helper.tsx +msgid "The signer's email" +msgstr "O e-mail do signatário" + +#: packages/ui/components/document/document-send-email-message-helper.tsx +msgid "The signer's name" +msgstr "O nome do signatário" + +#: apps/remix/app/components/general/avatar-with-recipient.tsx +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "The signing link has been copied to your clipboard." +msgstr "O link de assinatura foi copiado para sua área de transferência." + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "The site banner is a message that is shown at the top of the site. It can be used to display important information to your users." +msgstr "O banner do site é uma mensagem exibida no topo do site. Pode ser usado para exibir informações importantes aos seus usuários." + +#: packages/email/templates/team-email-removed.tsx +msgid "The team email <0>{teamEmail} has been removed from the following team" +msgstr "O e-mail da equipe <0>{teamEmail} foi removido da seguinte equipe" + +#: apps/remix/app/routes/_authenticated+/_layout.tsx +msgid "" +"The team you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"A equipe que você está procurando pode ter sido removida, renomeada ou pode nunca ter\n" +" existido." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/_layout.tsx +msgid "" +"The team you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"A equipe que você está procurando pode ter sido removida, renomeada ou pode nunca ter\n" +" existido." + +#: apps/remix/app/components/dialogs/template-move-to-folder-dialog.tsx +msgid "The template has been moved successfully." +msgstr "O modelo foi movido com sucesso." + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "The template will be removed from your profile" +msgstr "O modelo será removido do seu perfil" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._layout.tsx +msgid "The template you are looking for could not be found." +msgstr "O modelo que você está procurando não pôde ser encontrado." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +msgid "" +"The template you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"O modelo que você está procurando pode ter sido removido, renomeado ou pode nunca ter\n" +" existido." + +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +msgid "The test webhook has been successfully sent to your endpoint." +msgstr "O webhook de teste foi enviado com sucesso para seu endpoint." + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "The token is invalid or has expired." +msgstr "O token é inválido ou expirou." + +#: apps/remix/app/components/forms/token.tsx +msgid "The token was copied to your clipboard." +msgstr "O token foi copiado para sua área de transferência." + +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +msgid "The token was deleted successfully." +msgstr "O token foi excluído com sucesso." + +#: apps/remix/app/routes/_unauthenticated+/reset-password._index.tsx +msgid "The token you have used to reset your password is either expired or it never existed. If you have still forgotten your password, please request a new reset link." +msgstr "O token que você usou para redefinir sua senha expirou ou nunca existiu. Se você ainda esqueceu sua senha, solicite um novo link de redefinição." + +#: apps/remix/app/components/forms/signin.tsx +msgid "The two-factor authentication code provided is incorrect" +msgstr "O código de autenticação de dois fatores fornecido está incorreto" + +#: apps/remix/app/components/forms/editor/editor-field-signature-form.tsx +msgid "The typed signature font size" +msgstr "O tamanho da fonte da assinatura digitada" + +#: packages/ui/components/document/document-signature-settings-tooltip.tsx +msgid "The types of signatures that recipients are allowed to use when signing the document." +msgstr "Os tipos de assinaturas que os destinatários podem usar ao assinar o documento." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "The URL for Documenso to send webhook events to." +msgstr "A URL para o Documenso enviar eventos de webhook." + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "" +"The user you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"O usuário que você está procurando pode ter sido removido, renomeado ou pode nunca ter\n" +" existido." + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +msgid "The user's two factor authentication has been reset successfully." +msgstr "A autenticação de dois fatores do usuário foi redefinida com sucesso." + +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +msgid "The webhook has been successfully deleted." +msgstr "O webhook foi excluído com sucesso." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "The webhook has been updated successfully." +msgstr "O webhook foi atualizado com sucesso." + +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "The webhook was successfully created." +msgstr "O webhook foi criado com sucesso." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "" +"The webhook you are looking for may have been removed, renamed or may have never\n" +" existed." +msgstr "" +"O webhook que você está procurando pode ter sido removido, renomeado ou pode nunca ter\n" +" existido." + +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no active drafts at the current moment. You can upload a document to start drafting." +msgstr "Não há rascunhos ativos no momento. Você pode enviar um documento para começar a redigir." + +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "There are no completed documents yet. Documents that you have created or received will appear here once completed." +msgstr "Ainda não há documentos concluídos. Documentos que você criou ou recebeu aparecerão aqui quando concluídos." + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "There was an error uploading your file. Please try again." +msgstr "Houve um erro ao enviar seu arquivo. Por favor, tente novamente." + +#: packages/ui/components/pdf-viewer/pdf-viewer-konva.tsx +msgid "There was an issue rendering some fields, please review the fields and try again." +msgstr "Houve um problema ao renderizar alguns campos, revise os campos e tente novamente." + +#: packages/ui/components/document/document-global-auth-action-select.tsx +msgid "These can be overriden by setting the authentication requirements directly on each recipient in the next step. Multiple methods can be selected." +msgstr "Estes podem ser substituídos definindo os requisitos de autenticação diretamente em cada destinatário na próxima etapa. Múltiplos métodos podem ser selecionados." + +#: packages/ui/components/recipient/recipient-action-auth-select.tsx +msgid "These will override any global settings. Multiple methods can be selected." +msgstr "Estes substituirão quaisquer configurações globais. Múltiplos métodos podem ser selecionados." + +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "They have permission on your behalf to:" +msgstr "Eles têm permissão em seu nome para:" + +#: apps/remix/app/components/forms/signin.tsx +msgid "This account has been disabled. Please contact support." +msgstr "Esta conta foi desabilitada. Por favor, entre em contato com o suporte." + +#: apps/remix/app/components/forms/signin.tsx +msgid "This account has not been verified. Please verify your account before signing in." +msgstr "Esta conta não foi verificada. Por favor, verifique sua conta antes de fazer login." + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +msgid "This action is irreversible. Please ensure you have informed the user before proceeding." +msgstr "Esta ação é irreversível. Por favor, certifique-se de ter informado o usuário antes de prosseguir." + +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "This action is not reversible. Please be certain." +msgstr "Esta ação não é reversível. Por favor, tenha certeza." + +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +msgid "This action is reversible, but please be careful as the account may be affected permanently (e.g. their settings and contents not being restored properly)." +msgstr "Esta ação é reversível, mas tenha cuidado, pois a conta pode ser afetada permanentemente (por exemplo, suas configurações e conteúdos não sendo restaurados adequadamente)." + +#: apps/remix/app/components/dialogs/claim-delete-dialog.tsx +msgid "This claim is locked and cannot be deleted." +msgstr "Esta reivindicação está bloqueada e não pode ser excluída." + +#: packages/email/template-components/template-access-auth-2fa.tsx +msgid "This code will expire in {expiresInMinutes} minutes." +msgstr "Este código expirará em {expiresInMinutes} minutos." + +#: packages/email/template-components/template-document-super-delete.tsx +msgid "This document can not be recovered, if you would like to dispute the reason for future documents please contact support." +msgstr "Este documento não pode ser recuperado, se você quiser contestar o motivo para documentos futuros, entre em contato com o suporte." + +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "This document cannot be changed" +msgstr "Este documento não pode ser alterado" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "This document could not be deleted at this time. Please try again." +msgstr "Este documento não pôde ser excluído no momento. Por favor, tente novamente." + +#: apps/remix/app/components/dialogs/envelope-download-dialog.tsx +msgid "This document could not be downloaded at this time. Please try again." +msgstr "Este documento não pôde ser baixado no momento. Por favor, tente novamente." + +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +msgid "This document could not be duplicated at this time. Please try again." +msgstr "Este documento não pôde ser duplicado no momento. Por favor, tente novamente." + +#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +msgid "This document could not be re-sent at this time. Please try again." +msgstr "Este documento não pôde ser reenviado no momento. Por favor, tente novamente." + +#: packages/ui/primitives/recipient-selector.tsx +msgid "This document has already been sent to this recipient. You can no longer edit this recipient." +msgstr "Este documento já foi enviado para este destinatário. Você não pode mais editar este destinatário." + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "This document has been cancelled by the owner and is no longer available for others to sign." +msgstr "Este documento foi cancelado pelo proprietário e não está mais disponível para outros assinarem." + +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +msgid "This document has been cancelled by the owner." +msgstr "Este documento foi cancelado pelo proprietário." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been rejected by a recipient" +msgstr "Este documento foi rejeitado por um destinatário" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document has been signed by all recipients" +msgstr "Este documento foi assinado por todos os destinatários" + +#: apps/remix/app/components/general/document/document-certificate-qr-view.tsx +msgid "This document is available in your Documenso account. You can view more details, recipients, and audit logs there." +msgstr "Este documento está disponível em sua conta Documenso. Você pode ver mais detalhes, destinatários e registros de auditoria lá." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id._index.tsx +msgid "This document is currently a draft and has not been sent" +msgstr "Este documento está atualmente como rascunho e não foi enviado" + +#: apps/remix/app/components/general/legacy-field-warning-popover.tsx +msgid "This document is using legacy field insertion, we recommend using the new field insertion method for more accurate results." +msgstr "Este documento está usando inserção de campo legada, recomendamos usar o novo método de inserção de campo para resultados mais precisos." + +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +msgid "This document was created by you or a team member using the template above." +msgstr "Este documento foi criado por você ou um membro da equipe usando o modelo acima." + +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +msgid "This document was created using a direct link." +msgstr "Este documento foi criado usando um link direto." + +#: packages/email/template-components/template-footer.tsx +msgid "This document was sent using <0>Documenso." +msgstr "Este documento foi enviado usando <0>Documenso." + +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This document will be duplicated." +msgstr "Este documento será duplicado." + +#: packages/email/template-components/template-document-rejection-confirmed.tsx +msgid "This email confirms that you have rejected the document <0>\"{documentName}\" sent by {documentOwnerName}." +msgstr "Este e-mail confirma que você rejeitou o documento <0>\"{documentName}\" enviado por {documentOwnerName}." + +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +msgid "This email is already being used by another team." +msgstr "Este e-mail já está sendo usado por outra equipe." + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "This email is sent to the document owner when a recipient has signed the document." +msgstr "Este e-mail é enviado ao proprietário do documento quando um destinatário assinou o documento." + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "This email is sent to the recipient if they are removed from a pending document." +msgstr "Este e-mail é enviado ao destinatário se ele for removido de um documento pendente." + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "This email is sent to the recipient requesting them to sign the document." +msgstr "Este e-mail é enviado ao destinatário solicitando que ele assine o documento." + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "This email will be sent to the recipient who has just signed the document, if there are still other recipients who have not signed yet." +msgstr "Este e-mail será enviado ao destinatário que acabou de assinar o documento, se ainda houver outros destinatários que não assinaram ainda." + +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +msgid "This envelope could not be distributed at this time. Please try again." +msgstr "Este envelope não pôde ser distribuído no momento. Por favor, tente novamente." + +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "This envelope could not be resent at this time. Please try again." +msgstr "Este envelope não pôde ser reenviado no momento. Por favor, tente novamente." + +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +msgid "This field cannot be modified or deleted. When you share this template's direct link or add it to your public profile, anyone who accesses it can input their name and email, and fill in the fields assigned to them." +msgstr "Este campo não pode ser modificado ou excluído. Quando você compartilha o link direto deste modelo ou o adiciona ao seu perfil público, qualquer pessoa que acessá-lo pode inserir seu nome e e-mail e preencher os campos atribuídos a eles." + +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "This folder contains multiple items. Deleting it will remove all subfolders and move all nested documents and templates to the root folder." +msgstr "Esta pasta contém vários itens. Excluí-la removerá todas as subpastas e moverá todos os documentos e modelos aninhados para a pasta raiz." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +msgid "This is how the document will reach the recipients once the document is ready for signing." +msgstr "É assim que o documento chegará aos destinatários assim que o documento estiver pronto para assinatura." + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "This is the claim that this organisation was initially created with. Any feature flag changes to this claim will be backported into this organisation." +msgstr "Esta é a reivindicação com a qual esta organização foi inicialmente criada. Quaisquer alterações de sinalizador de recurso nesta reivindicação serão retroportadas para esta organização." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "This is the required scopes you must set in your provider's settings" +msgstr "Estes são os escopos necessários que você deve definir nas configurações do seu provedor" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "This is the URL which users will use to sign in to your organisation." +msgstr "Esta é a URL que os usuários usarão para fazer login em sua organização." + +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +msgid "This item cannot be deleted" +msgstr "Este item não pode ser excluído" + +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +msgid "This link is invalid or has expired. Please contact your team to resend a verification." +msgstr "Este link é inválido ou expirou. Por favor, entre em contato com sua equipe para reenviar uma verificação." + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "This organisation will have administrative control over your account. You can revoke this access later, but they will retain access to any data they've already collected." +msgstr "Esta organização terá controle administrativo sobre sua conta. Você pode revogar este acesso mais tarde, mas eles manterão o acesso a quaisquer dados que já coletaram." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.general.tsx +msgid "This organisation, and any associated data will be permanently deleted." +msgstr "Esta organização e quaisquer dados associados serão permanentemente excluídos." + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "This passkey has already been registered." +msgstr "Esta chave de acesso já foi registrada." + +#: apps/remix/app/components/forms/signin.tsx +msgid "This passkey is not configured for this application. Please login and add one in the user settings." +msgstr "Esta chave de acesso não está configurada para este aplicativo. Por favor, faça login e adicione uma nas configurações do usuário." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +#: packages/ui/primitives/document-flow/add-fields.tsx +msgid "This recipient can no longer be modified as they have signed a field, or completed the document." +msgstr "Este destinatário não pode mais ser modificado, pois assinou um campo ou concluiu o documento." + +#: apps/remix/app/components/forms/signin.tsx +msgid "This session has expired. Please try again." +msgstr "Esta sessão expirou. Por favor, tente novamente." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "This signer has already signed the document." +msgstr "Este signatário já assinou o documento." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +msgid "This team, and any associated data excluding billing invoices will be permanently deleted." +msgstr "Esta equipe e quaisquer dados associados, excluindo faturas de cobrança, serão permanentemente excluídos." + +#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +msgid "This template could not be deleted at this time. Please try again." +msgstr "Este modelo não pôde ser excluído no momento. Por favor, tente novamente." + +#: apps/remix/app/components/general/legacy-field-warning-popover.tsx +msgid "This template is using legacy field insertion, we recommend using the new field insertion method for more accurate results." +msgstr "Este modelo está usando inserção de campo legada, recomendamos usar o novo método de inserção de campo para resultados mais precisos." + +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "This template will be duplicated." +msgstr "Este modelo será duplicado." + +#: apps/remix/app/routes/_unauthenticated+/organisation.decline.$token.tsx +msgid "This token is invalid or has expired. No action is needed." +msgstr "Este token é inválido ou expirou. Nenhuma ação é necessária." + +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +msgid "This token is invalid or has expired. Please contact your team for a new invitation." +msgstr "Este token é inválido ou expirou. Por favor, entre em contato com sua equipe para um novo convite." + +#: apps/remix/app/components/forms/team-update-form.tsx +#: apps/remix/app/components/forms/organisation-update-form.tsx +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "This URL is already in use." +msgstr "Esta URL já está em uso." + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "This will be sent to all recipients if a pending document has been deleted." +msgstr "Isso será enviado a todos os destinatários se um documento pendente tiver sido excluído." + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "This will be sent to all recipients once the document has been fully completed." +msgstr "Isso será enviado a todos os destinatários assim que o documento estiver totalmente concluído." + +#: packages/ui/components/document/document-email-checkboxes.tsx +msgid "This will be sent to the document owner once the document has been fully completed." +msgstr "Isso será enviado ao proprietário do documento assim que o documento estiver totalmente concluído." + +#: apps/remix/app/components/tables/organisation-email-domains-table.tsx +msgid "This will check and sync the status of all email domains for this organisation" +msgstr "Isso verificará e sincronizará o status de todos os domínios de e-mail para esta organização" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "This will ONLY backport feature flags which are set to true, anything disabled in the initial claim will not be backported" +msgstr "Isso APENAS retroportará sinalizadores de recurso que estão definidos como verdadeiros, qualquer coisa desabilitada na reivindicação inicial não será retroportada" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "This will remove all emails associated with this email domain" +msgstr "Isso removerá todos os e-mails associados a este domínio de e-mail" + +#: apps/remix/app/components/dialogs/session-logout-all-dialog.tsx +msgid "This will sign you out of all other devices. You will need to sign in again on those devices to continue using your account." +msgstr "Isso fará logout de todos os outros dispositivos. Você precisará fazer login novamente nesses dispositivos para continuar usando sua conta." + +#: apps/remix/app/components/tables/document-logs-table.tsx +msgid "Time" +msgstr "Hora" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/documents.$id.logs.tsx +msgid "Time zone" +msgstr "Fuso horário" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/audit-log.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/embed/authoring/configure-document-advanced-settings.tsx +#: packages/ui/primitives/template-flow/add-template-settings.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Time Zone" +msgstr "Fuso Horário" + +#: apps/remix/app/routes/_authenticated+/admin+/documents._index.tsx +#: apps/remix/app/components/tables/templates-table.tsx +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table.tsx +#: apps/remix/app/components/general/template/template-page-view-documents-table.tsx +#: apps/remix/app/components/embed/authoring/configure-document-view.tsx +#: packages/ui/primitives/document-flow/add-settings.tsx +msgid "Title" +msgstr "Título" + +#: packages/ui/primitives/document-flow/add-settings.types.ts +msgid "Title cannot be empty" +msgstr "O título não pode estar vazio" + +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +msgid "To accept this invitation you must create an account." +msgstr "Para aceitar este convite, você deve criar uma conta." + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +msgid "To be able to add members to a team, you must first add them to the organisation. For more information, please see the <0>documentation." +msgstr "Para poder adicionar membros a uma equipe, você deve primeiro adicioná-los à organização. Para mais informações, consulte a <0>documentação." + +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +msgid "To change the email you must remove and add a new email address." +msgstr "Para alterar o e-mail, você deve remover e adicionar um novo endereço de e-mail." + +#. placeholder {0}: user.email +#. placeholder {0}: userToEnable.email +#. placeholder {0}: userToDisable.email +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +msgid "To confirm, please enter the accounts email address <0/>({0})." +msgstr "Para confirmar, por favor, insira o endereço de e-mail da conta <0/>({0})." + +#: apps/remix/app/components/dialogs/admin-document-delete-dialog.tsx +msgid "To confirm, please enter the reason" +msgstr "Para confirmar, por favor, insira o motivo" + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "To enable two-factor authentication, scan the following QR code using your authenticator app." +msgstr "Para habilitar a autenticação de dois fatores, escaneie o seguinte código QR usando seu aplicativo autenticador." + +#: apps/remix/app/routes/_unauthenticated+/unverified-account.tsx +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +msgid "To gain access to your account, please confirm your email address by clicking on the confirmation link from your inbox." +msgstr "Para obter acesso à sua conta, confirme seu endereço de e-mail clicando no link de confirmação da sua caixa de entrada." + +#. placeholder {0}: recipient.email +#: apps/remix/app/components/general/document-signing/document-signing-auth-account.tsx +msgid "To mark this document as viewed, you need to be logged in as <0>{0}" +msgstr "Para marcar este documento como visualizado, você precisa estar logado como <0>{0}" + +#. placeholder {0}: emptyCheckboxFields.length > 0 ? 'Checkbox' : emptyRadioFields.length > 0 ? 'Radio' : 'Select' +#. placeholder {0}: emptyCheckboxFields.length > 0 ? 'Checkbox' : emptyRadioFields.length > 0 ? 'Radio' : 'Select' +#: packages/ui/primitives/template-flow/add-template-fields.tsx +#: packages/ui/primitives/document-flow/add-fields.tsx +msgid "To proceed further, please set at least one value for the {0} field." +msgstr "Para prosseguir, por favor, defina pelo menos um valor para o campo {0}." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "To use our electronic signature service, you must have access to:" +msgstr "Para usar nosso serviço de assinatura eletrônica, você deve ter acesso a:" + +#: apps/remix/app/components/embed/embed-authentication-required.tsx +msgid "To view this document you need to be signed into your account, please sign in to continue." +msgstr "Para visualizar este documento, você precisa estar conectado à sua conta, faça login para continuar." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "Toggle the switch to hide your profile from the public." +msgstr "Ative a opção para ocultar seu perfil do público." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "Toggle the switch to show your profile to the public." +msgstr "Ative a opção para mostrar seu perfil ao público." + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "Token" +msgstr "Token" + +#: apps/remix/app/components/forms/token.tsx +msgid "Token copied to clipboard" +msgstr "Token copiado para a área de transferência" + +#: apps/remix/app/components/forms/token.tsx +msgid "Token created" +msgstr "Token criado" + +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +msgid "Token deleted" +msgstr "Token excluído" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +msgid "Token doesn't have an expiration date" +msgstr "O token não tem data de expiração" + +#: apps/remix/app/components/forms/token.tsx +msgid "Token expiration date" +msgstr "Data de expiração do token" + +#: apps/remix/app/components/forms/reset-password.tsx +msgid "Token has expired. Please try again." +msgstr "O token expirou. Por favor, tente novamente." + +#: apps/remix/app/components/forms/token.tsx +msgid "Token name" +msgstr "Nome do token" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Total Documents" +msgstr "Total de Documentos" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Total Recipients" +msgstr "Total de Destinatários" + +#: packages/email/templates/bulk-send-complete.tsx +msgid "Total rows processed: {totalProcessed}" +msgstr "Total de linhas processadas: {totalProcessed}" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Total Signers that Signed Up" +msgstr "Total de Signatários que se Cadastraram" + +#: apps/remix/app/routes/_authenticated+/admin+/stats.tsx +msgid "Total Users" +msgstr "Total de Usuários" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "Triggers" +msgstr "Gatilhos" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Two factor authentication" +msgstr "Autenticação de dois fatores" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "Two factor authentication recovery codes are used to access your account in the event that you lose access to your authenticator app." +msgstr "Os códigos de recuperação de autenticação de dois fatores são usados para acessar sua conta caso você perca o acesso ao seu aplicativo autenticador." + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/components/forms/signin.tsx +msgid "Two-Factor Authentication" +msgstr "Autenticação de Dois Fatores" + +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "Two-factor authentication disabled" +msgstr "Autenticação de dois fatores desabilitada" + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "Two-factor authentication enabled" +msgstr "Autenticação de dois fatores habilitada" + +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "Two-factor authentication has been disabled for your account. You will no longer be required to enter a code from your authenticator app when signing in." +msgstr "A autenticação de dois fatores foi desabilitada para sua conta. Você não precisará mais inserir um código do seu aplicativo autenticador ao fazer login." + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +msgid "Two-Factor Re-Authentication" +msgstr "Reautenticação de Dois Fatores" + +#: apps/remix/app/components/tables/templates-table.tsx +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +#: packages/ui/primitives/signature-pad/signature-pad.tsx +msgid "Type" +msgstr "Tipo" + +#: packages/lib/constants/document.ts +msgctxt "Type signatute type" +msgid "Type" +msgstr "Tipo" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Type a command or search..." +msgstr "Digite um comando ou pesquise..." + +#: apps/remix/app/components/general/document-signing/document-signing-signature-field.tsx +msgid "Typed signatures are not allowed. Please draw your signature." +msgstr "Assinaturas digitadas não são permitidas. Por favor, desenhe sua assinatura." + +#: apps/remix/app/routes/_unauthenticated+/verify-email._index.tsx +msgid "Uh oh! Looks like you're missing a token" +msgstr "Ops! Parece que você está sem um token" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Unable to change the language at this time. Please try again later." +msgstr "Não foi possível alterar o idioma no momento. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/2fa/recovery-code-list.tsx +msgid "Unable to copy recovery code" +msgstr "Não foi possível copiar o código de recuperação" + +#: apps/remix/app/components/forms/token.tsx +msgid "Unable to copy token" +msgstr "Não foi possível copiar o token" + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "Unable to create direct template access. Please try again later." +msgstr "Não foi possível criar acesso direto ao modelo. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +msgid "Unable to decline this invitation at this time." +msgstr "Não foi possível recusar este convite no momento." + +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +msgid "Unable to delete invitation. Please try again." +msgstr "Não foi possível excluir o convite. Por favor, tente novamente." + +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +msgid "Unable to delete team" +msgstr "Não foi possível excluir a equipe" + +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "Unable to disable two-factor authentication" +msgstr "Não foi possível desabilitar a autenticação de dois fatores" + +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +msgid "Unable to join this organisation at this time." +msgstr "Não foi possível entrar nesta organização no momento." + +#: apps/remix/app/components/general/document/document-page-view-recent-activity.tsx +msgid "Unable to load document history" +msgstr "Não foi possível carregar o histórico do documento" + +#: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx +msgid "Unable to load documents" +msgstr "Não foi possível carregar os documentos" + +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +msgid "Unable to load your public profile templates at this time" +msgstr "Não foi possível carregar seus modelos de perfil público no momento" + +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +msgid "Unable to remove email verification at this time. Please try again." +msgstr "Não foi possível remover a verificação de e-mail no momento. Por favor, tente novamente." + +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +msgid "Unable to remove team email at this time. Please try again." +msgstr "Não foi possível remover o e-mail da equipe no momento. Por favor, tente novamente." + +#: apps/remix/app/components/tables/organisation-member-invites-table.tsx +msgid "Unable to resend invitation. Please try again." +msgstr "Não foi possível reenviar o convite. Por favor, tente novamente." + +#: apps/remix/app/components/general/teams/team-email-dropdown.tsx +msgid "Unable to resend verification at this time. Please try again." +msgstr "Não foi possível reenviar a verificação no momento. Por favor, tente novamente." + +#: apps/remix/app/routes/_unauthenticated+/reset-password._index.tsx +msgid "Unable to reset password" +msgstr "Não foi possível redefinir a senha" + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "Unable to setup two-factor authentication" +msgstr "Não foi possível configurar a autenticação de dois fatores" + +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/signin.tsx +msgid "Unable to sign in" +msgstr "Não foi possível fazer login" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx +msgid "Unauthorized" +msgstr "Não autorizado" + +#: apps/remix/app/components/general/stack-avatars-with-tooltip.tsx +msgid "Uncompleted" +msgstr "Não concluído" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +msgid "Unknown" +msgstr "Desconhecido" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Unknown error" +msgstr "Erro desconhecido" + +#: apps/remix/app/components/tables/admin-claims-table.tsx +msgid "Unlimited" +msgstr "Ilimitado" + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Unlimited documents, API and more" +msgstr "Documentos ilimitados, API e mais" + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +msgid "Unlink" +msgstr "Desvincular" + +#: apps/remix/app/components/general/folder/folder-card.tsx +msgid "Unpin" +msgstr "Desafixar" + +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "Untitled Group" +msgstr "Grupo Sem Título" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +#: apps/remix/app/components/tables/settings-public-profile-templates-table.tsx +#: apps/remix/app/components/tables/admin-claims-table.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +#: apps/remix/app/components/forms/public-profile-form.tsx +#: apps/remix/app/components/forms/email-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/branding-preferences-form.tsx +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "Update" +msgstr "Atualizar" + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "Update Banner" +msgstr "Atualizar Banner" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains._index.tsx +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +msgid "Update Billing" +msgstr "Atualizar Cobrança" + +#: apps/remix/app/components/dialogs/claim-update-dialog.tsx +msgid "Update Claim" +msgstr "Atualizar Reivindicação" + +#: apps/remix/app/components/general/billing-plans.tsx +msgid "Update current organisation" +msgstr "Atualizar organização atual" + +#: apps/remix/app/components/dialogs/organisation-email-update-dialog.tsx +msgid "Update email" +msgstr "Atualizar e-mail" + +#: apps/remix/app/components/general/legacy-field-warning-popover.tsx +msgid "Update Fields" +msgstr "Atualizar Campos" + +#: apps/remix/app/components/forms/organisation-update-form.tsx +msgid "Update organisation" +msgstr "Atualizar organização" + +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +msgid "Update organisation member" +msgstr "Atualizar membro da organização" + +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +msgid "Update passkey" +msgstr "Atualizar chave de acesso" + +#: apps/remix/app/components/forms/password.tsx +msgid "Update password" +msgstr "Atualizar senha" + +#: apps/remix/app/components/forms/profile.tsx +msgid "Update profile" +msgstr "Atualizar perfil" + +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +#: apps/remix/app/components/dialogs/assistant-confirmation-dialog.tsx +msgid "Update Recipient" +msgstr "Atualizar Destinatário" + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/components/tables/team-members-table.tsx +#: apps/remix/app/components/tables/team-groups-table.tsx +#: apps/remix/app/components/tables/organisation-members-table.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +msgid "Update role" +msgstr "Atualizar papel" + +#: apps/remix/app/components/dialogs/claim-update-dialog.tsx +msgid "Update Subscription Claim" +msgstr "Atualizar Reivindicação de Assinatura" + +#: apps/remix/app/components/forms/team-update-form.tsx +msgid "Update team" +msgstr "Atualizar equipe" + +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +msgid "Update team email" +msgstr "Atualizar e-mail da equipe" + +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +msgid "Update team group" +msgstr "Atualizar grupo da equipe" + +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +msgid "Update team member" +msgstr "Atualizar membro da equipe" + +#: packages/lib/constants/template.ts +msgid "Update the role and add fields as required for the direct recipient. The individual who uses the direct link will sign the document as the direct recipient." +msgstr "Atualize o papel e adicione campos conforme necessário para o destinatário direto. O indivíduo que usar o link direto assinará o documento como o destinatário direto." + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "Update user" +msgstr "Atualizar usuário" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "Update webhook" +msgstr "Atualizar webhook" + +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +msgid "Updated {organisationMemberName} to {roleLabel}." +msgstr "{organisationMemberName} atualizado para {roleLabel}." + +#: apps/remix/app/components/forms/password.tsx +msgid "Updating password..." +msgstr "Atualizando senha..." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Updating Your Information" +msgstr "Atualizando Suas Informações" + +#: packages/ui/primitives/document-upload.tsx +#: packages/ui/primitives/document-dropzone.tsx +msgid "Upgrade" +msgstr "Atualizar" + +#. placeholder {0}: organisation.name +#: apps/remix/app/components/general/billing-plans.tsx +msgid "Upgrade <0>{0} to {planName}" +msgstr "Atualizar <0>{0} para {planName}" + +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Upgrade your plan to upload more documents" +msgstr "Atualize seu plano para enviar mais documentos" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: packages/ui/primitives/signature-pad/signature-pad.tsx +msgid "Upload" +msgstr "Enviar" + +#: packages/lib/constants/document.ts +msgctxt "Upload signatute type" +msgid "Upload" +msgstr "Enviar" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Upload a CSV file to create multiple documents from this template. Each row represents one document with its recipient details." +msgstr "Envie um arquivo CSV para criar vários documentos a partir deste modelo. Cada linha representa um documento com os detalhes do destinatário." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Upload a custom document to use instead of the template's default document" +msgstr "Envie um documento personalizado para usar em vez do documento padrão do modelo" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Upload and Process" +msgstr "Enviar e Processar" + +#: apps/remix/app/components/forms/avatar-image.tsx +msgid "Upload Avatar" +msgstr "Enviar Avatar" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Upload CSV" +msgstr "Enviar CSV" + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Upload custom document" +msgstr "Enviar documento personalizado" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +msgid "Upload disabled" +msgstr "Envio desabilitado" + +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +#: packages/ui/primitives/document-upload.tsx +msgid "Upload Document" +msgstr "Enviar Documento" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor.tsx +msgid "Upload documents and add recipients" +msgstr "Envie documentos e adicione destinatários" + +#: packages/ui/primitives/document-upload.tsx +msgid "Upload Envelope" +msgstr "Enviar Envelope" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Upload failed" +msgstr "Envio falhou" + +#: packages/ui/primitives/signature-pad/signature-pad-upload.tsx +msgid "Upload Signature" +msgstr "Enviar Assinatura" + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +msgid "Upload Template" +msgstr "Enviar Modelo" + +#: packages/ui/primitives/document-upload.tsx +#: packages/ui/primitives/document-dropzone.tsx +msgid "Upload Template Document" +msgstr "Enviar Documento do Modelo" + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Upload your brand logo (max 5MB, JPG, PNG, or WebP)" +msgstr "Envie o logo da sua marca (máx. 5MB, JPG, PNG ou WebP)" + +#: apps/remix/app/components/general/template/template-page-view-information.tsx +#: apps/remix/app/components/general/document/document-page-view-information.tsx +msgid "Uploaded by" +msgstr "Enviado por" + +#: apps/remix/app/components/forms/avatar-image.tsx +msgid "Uploaded file is too large" +msgstr "Arquivo enviado é muito grande" + +#: apps/remix/app/components/forms/avatar-image.tsx +msgid "Uploaded file is too small" +msgstr "Arquivo enviado é muito pequeno" + +#: apps/remix/app/components/forms/avatar-image.tsx +msgid "Uploaded file not an allowed file type" +msgstr "Arquivo enviado não é um tipo de arquivo permitido" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +msgid "Uploading" +msgstr "Enviando" + +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Uploading document..." +msgstr "Enviando documento..." + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +msgid "Uploading template..." +msgstr "Enviando modelo..." + +#: apps/remix/app/components/general/document/document-attachments-popover.tsx +msgid "URL" +msgstr "URL" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates.$id._index.tsx +msgid "Use" +msgstr "Usar" + +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "Use Authenticator" +msgstr "Usar Autenticador" + +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "Use Backup Code" +msgstr "Usar Código de Backup" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-header.tsx +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Use Template" +msgstr "Usar Modelo" + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Use your authenticator app to generate a code" +msgstr "Use seu aplicativo autenticador para gerar um código" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-dialog.tsx +msgid "Use your passkey for authentication" +msgstr "Use sua chave de acesso para autenticação" + +#: apps/remix/app/components/tables/internal-audit-log-table.tsx +#: apps/remix/app/components/tables/document-logs-table.tsx +msgid "User" +msgstr "Usuário" + +#: apps/remix/app/components/tables/internal-audit-log-table.tsx +msgid "User Agent" +msgstr "Agente do Usuário" + +#: apps/remix/app/components/forms/password.tsx +msgid "User has no password." +msgstr "O usuário não tem senha." + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "User not found" +msgstr "Usuário não encontrado" + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +msgid "User not found." +msgstr "Usuário não encontrado." + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "User Organisations" +msgstr "Organizações do Usuário" + +#: apps/remix/app/components/forms/signup.tsx +msgid "User profiles are here!" +msgstr "Perfis de usuário estão aqui!" + +#: apps/remix/app/components/general/menu-switcher.tsx +msgid "User settings" +msgstr "Configurações do usuário" + +#: apps/remix/app/components/forms/signup.tsx +msgid "User with this email already exists. Please use a different email address." +msgstr "Um usuário com este e-mail já existe. Por favor, use um endereço de e-mail diferente." + +#: apps/remix/app/routes/_authenticated+/admin+/_layout.tsx +msgid "Users" +msgstr "Usuários" + +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Validation" +msgstr "Validação" + +#: apps/remix/app/components/dialogs/sign-field-checkbox-dialog.tsx +msgid "Validation failed" +msgstr "Validação falhou" + +#: apps/remix/app/components/tables/admin-document-recipient-item-table.tsx +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-number-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/number-field.tsx +msgid "Value" +msgstr "Valor" + +#: packages/email/template-components/template-access-auth-2fa.tsx +msgid "Verification Code Required" +msgstr "Código de Verificação Necessário" + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "Verification Email Sent" +msgstr "E-mail de Verificação Enviado" + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "Verification email sent successfully." +msgstr "E-mail de verificação enviado com sucesso." + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "Verify & Complete" +msgstr "Verificar e Concluir" + +#: apps/remix/app/components/dialogs/organisation-email-domain-records-dialog.tsx +msgid "Verify Domain" +msgstr "Verificar Domínio" + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "Verify Now" +msgstr "Verificar Agora" + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "Verify your email address" +msgstr "Verifique seu endereço de e-mail" + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "Verify your email address to unlock all features." +msgstr "Verifique seu endereço de e-mail para desbloquear todos os recursos." + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +msgid "Verify your email to upload documents." +msgstr "Verifique seu e-mail para enviar documentos." + +#: packages/email/templates/confirm-team-email.tsx +msgid "Verify your team email address" +msgstr "Verifique o endereço de e-mail da sua equipe" + +#: apps/remix/app/components/forms/editor/editor-field-radio-form.tsx +#: apps/remix/app/components/forms/editor/editor-field-checkbox-form.tsx +#: packages/ui/primitives/document-flow/field-items-advanced-settings/checkbox-field.tsx +msgid "Vertical" +msgstr "Vertical" + +#: apps/remix/app/components/tables/organisation-billing-invoices-table.tsx +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/inbox-table.tsx +#: apps/remix/app/components/tables/documents-table-action-dropdown.tsx +#: apps/remix/app/components/tables/documents-table-action-button.tsx +#: apps/remix/app/components/tables/documents-table-action-button.tsx +#: apps/remix/app/components/general/document/document-page-view-button.tsx +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "View" +msgstr "Visualizar" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role action verb" +msgid "View" +msgstr "Visualizar" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "View activity" +msgstr "Ver atividade" + +#: packages/email/templates/confirm-team-email.tsx +msgid "View all documents sent to and from this email address" +msgstr "Ver todos os documentos enviados para e deste endereço de e-mail" + +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "View all documents sent to your account" +msgstr "Ver todos os documentos enviados para sua conta" + +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "View all recent security activity related to your account." +msgstr "Ver toda a atividade de segurança recente relacionada à sua conta." + +#: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx +msgid "View all related documents" +msgstr "Ver todos os documentos relacionados" + +#: apps/remix/app/routes/_authenticated+/settings+/security.activity.tsx +msgid "View all security activity related to your account." +msgstr "Ver toda a atividade de segurança relacionada à sua conta." + +#: apps/remix/app/routes/_authenticated+/settings+/security.sessions.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "View and manage all active sessions for your account." +msgstr "Ver e gerenciar todas as sessões ativas da sua conta." + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +#: apps/remix/app/routes/_authenticated+/settings+/security._index.tsx +msgid "View and manage all login methods linked to your account." +msgstr "Ver e gerenciar todos os métodos de login vinculados à sua conta." + +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +msgid "View Codes" +msgstr "Ver Códigos" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "View DNS Records" +msgstr "Ver Registros DNS" + +#: packages/email/templates/document-created-from-direct-template.tsx +msgid "View document" +msgstr "Ver documento" + +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v2.tsx +#: apps/remix/app/components/general/document-signing/document-signing-page-view-v1.tsx +#: apps/remix/app/components/general/document-signing/document-signing-mobile-widget.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +#: packages/email/template-components/template-document-rejected.tsx +#: packages/email/template-components/template-document-invite.tsx +msgid "View Document" +msgstr "Ver Documento" + +#: packages/email/template-components/template-document-invite.tsx +msgid "View Document to approve" +msgstr "Ver Documento para aprovar" + +#: packages/email/template-components/template-document-invite.tsx +msgid "View Document to assist" +msgstr "Ver Documento para auxiliar" + +#: packages/email/template-components/template-document-invite.tsx +msgid "View Document to sign" +msgstr "Ver Documento para assinar" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +msgid "View documents associated with this email" +msgstr "Ver documentos associados a este e-mail" + +#: apps/remix/app/components/general/organisations/organisation-invitations.tsx +msgid "View invites" +msgstr "Ver convites" + +#: apps/remix/app/components/general/template/template-page-view-recent-activity.tsx +msgid "View more" +msgstr "Ver mais" + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "View next document" +msgstr "Ver próximo documento" + +#: apps/remix/app/components/tables/admin-organisations-table.tsx +msgid "View owner" +msgstr "Ver proprietário" + +#: packages/email/template-components/template-document-self-signed.tsx +msgid "View plans" +msgstr "Ver planos" + +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +msgid "View Recovery Codes" +msgstr "Ver Códigos de Recuperação" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/_layout.tsx +msgid "View teams" +msgstr "Ver equipes" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email-domains.$id.tsx +msgid "View the DNS records for this email domain" +msgstr "Ver os registros DNS para este domínio de e-mail" + +#: apps/remix/app/routes/_internal+/[__htmltopdf]+/certificate.tsx +#: apps/remix/app/components/general/document/document-page-view-recipients.tsx +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "Viewed" +msgstr "Visualizado" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role actioned" +msgid "Viewed" +msgstr "Visualizado" + +#: apps/remix/app/components/general/envelope-signing/envelope-signer-header.tsx +msgid "Viewer" +msgstr "Visualizador" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role name" +msgid "Viewer" +msgstr "Visualizador" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role plural name" +msgid "Viewers" +msgstr "Visualizadores" + +#: packages/lib/constants/recipient-roles.ts +msgctxt "Recipient role progressive verb" +msgid "Viewing" +msgstr "Visualizando" + +#: apps/remix/app/components/dialogs/folder-update-dialog.tsx +msgid "Visibility" +msgstr "Visibilidade" + +#: apps/remix/app/components/general/stack-avatars-with-tooltip.tsx +msgid "Waiting" +msgstr "Aguardando" + +#: packages/email/template-components/template-document-pending.tsx +msgid "Waiting for others" +msgstr "Aguardando outros" + +#: packages/lib/server-only/document/send-pending-email.ts +msgid "Waiting for others to complete signing." +msgstr "Aguardando outros concluírem a assinatura." + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "Waiting for others to sign" +msgstr "Aguardando outros assinarem" + +#: apps/remix/app/routes/_recipient+/sign.$token+/waiting.tsx +#: apps/remix/app/components/embed/embed-document-waiting-for-turn.tsx +msgid "Waiting for Your Turn" +msgstr "Aguardando Sua Vez" + +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +#: apps/remix/app/routes/_recipient+/sign.$token+/_index.tsx +msgid "Want to send slick signing links like this one? <0>Check out Documenso." +msgstr "Quer enviar links de assinatura elegantes como este? <0>Confira o Documenso." + +#: apps/remix/app/routes/_profile+/_layout.tsx +msgid "Want your own public profile?" +msgstr "Quer seu próprio perfil público?" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "Warning: Assistant as last signer" +msgstr "Aviso: Assistente como último signatário" + +#: apps/remix/app/components/general/organisations/organisation-billing-portal-button.tsx +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "We are unable to proceed to the billing portal at this time. Please try again, or contact support." +msgstr "Não podemos prosseguir para o portal de cobrança no momento. Por favor, tente novamente ou entre em contato com o suporte." + +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +msgid "We are unable to remove this passkey at the moment. Please try again later." +msgstr "Não podemos remover esta chave de acesso no momento. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +msgid "We are unable to update this passkey at the moment. Please try again later." +msgstr "Não podemos atualizar esta chave de acesso no momento. Por favor, tente novamente mais tarde." + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "We couldn't create a Stripe customer. Please try again." +msgstr "Não foi possível criar um cliente Stripe. Por favor, tente novamente." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.groups.$id.tsx +msgid "We couldn't update the group. Please try again." +msgstr "Não foi possível atualizar o grupo. Por favor, tente novamente." + +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +#: apps/remix/app/routes/_authenticated+/admin+/organisations.$id.tsx +msgid "We couldn't update the organisation. Please try again." +msgstr "Não foi possível atualizar a organização. Por favor, tente novamente." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "We couldn't update the provider. Please try again." +msgstr "Não foi possível atualizar o provedor. Por favor, tente novamente." + +#: packages/lib/client-only/providers/envelope-editor-provider.tsx +#: packages/lib/client-only/providers/envelope-editor-provider.tsx +#: packages/lib/client-only/providers/envelope-editor-provider.tsx +msgid "We encountered an error while attempting to save your changes. Your changes cannot be saved at this time." +msgstr "Encontramos um erro ao tentar salvar suas alterações. Suas alterações não podem ser salvas no momento." + +#: apps/remix/app/components/dialogs/organisation-email-create-dialog.tsx +msgid "We encountered an error while creating the email. Please try again later." +msgstr "Encontramos um erro ao criar o e-mail. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "We encountered an error while removing the direct template link. Please try again later." +msgstr "Encontramos um erro ao remover o link direto do modelo. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +msgid "We encountered an error while sending the test webhook. Please check your endpoint and try again." +msgstr "Encontramos um erro ao enviar o webhook de teste. Por favor, verifique seu endpoint e tente novamente." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "We encountered an error while updating the webhook. Please try again later." +msgstr "Encontramos um erro ao atualizar o webhook. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-member-create-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-create-dialog.tsx +msgid "We encountered an unknown error while attempting to add team members. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar adicionar membros da equipe. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +msgid "We encountered an unknown error while attempting to add this email. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar adicionar este e-mail. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/organisation-email-domain-create-dialog.tsx +msgid "We encountered an unknown error while attempting to add your domain. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar adicionar seu domínio. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/organisation-group-create-dialog.tsx +msgid "We encountered an unknown error while attempting to create a group. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar criar um grupo. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +msgid "We encountered an unknown error while attempting to create a organisation. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar criar uma organização. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "We encountered an unknown error while attempting to create a team. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar criar uma equipe. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to delete it. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar excluí-lo. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to delete this organisation. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar excluir esta organização. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to delete this team. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar excluir esta equipe. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to delete this token. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar excluir este token. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to delete your account. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar excluir sua conta. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx +msgid "We encountered an unknown error while attempting to disable access." +msgstr "Encontramos um erro desconhecido ao tentar desabilitar o acesso." + +#: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx +msgid "We encountered an unknown error while attempting to enable access." +msgstr "Encontramos um erro desconhecido ao tentar habilitar o acesso." + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "We encountered an unknown error while attempting to invite organisation members. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar convidar membros da organização. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +msgid "We encountered an unknown error while attempting to leave this organisation. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar sair desta organização. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to remove this email domain. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar remover este domínio de e-mail. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to remove this email. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar remover este e-mail. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to remove this envelope item. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar remover este item do envelope. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to remove this group. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar remover este grupo. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "We encountered an unknown error while attempting to remove this template from your profile. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar remover este modelo do seu perfil. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +msgid "We encountered an unknown error while attempting to remove this user. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar remover este usuário. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "We encountered an unknown error while attempting to request the two-factor authentication code. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar solicitar o código de autenticação de dois fatores. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/reset-password.tsx +msgid "We encountered an unknown error while attempting to reset your password. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar redefinir sua senha. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "We encountered an unknown error while attempting to revoke access. Please try again or contact support." +msgstr "Encontramos um erro desconhecido ao tentar revogar o acesso. Por favor, tente novamente ou entre em contato com o suporte." + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/signin.tsx +#: apps/remix/app/components/forms/signin.tsx +msgid "We encountered an unknown error while attempting to sign you In. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar fazer seu login. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/signup.tsx +#: apps/remix/app/components/forms/signup.tsx +msgid "We encountered an unknown error while attempting to sign you Up. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar criar sua conta. Por favor, tente novamente mais tarde." + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "We encountered an unknown error while attempting to update the banner. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar o banner. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-settings-dialog.tsx +msgid "We encountered an unknown error while attempting to update the envelope. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar o envelope. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "We encountered an unknown error while attempting to update the template. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar o modelo. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +msgid "We encountered an unknown error while attempting to update this organisation member. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar este membro da organização. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +msgid "We encountered an unknown error while attempting to update this team member. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar este membro da equipe. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/organisation-update-form.tsx +msgid "We encountered an unknown error while attempting to update your organisation. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar sua organização. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/password.tsx +#: apps/remix/app/components/forms/avatar-image.tsx +msgid "We encountered an unknown error while attempting to update your password. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar sua senha. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/public-profile-form.tsx +msgid "We encountered an unknown error while attempting to update your public profile. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar seu perfil público. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/team-update-form.tsx +msgid "We encountered an unknown error while attempting to update your team. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar sua equipe. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-email-update-dialog.tsx +msgid "We encountered an unknown error while attempting update the team email. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar o e-mail da equipe. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/forms/profile.tsx +msgid "We encountered an unknown error while attempting update your profile. Please try again later." +msgstr "Encontramos um erro desconhecido ao tentar atualizar seu perfil. Por favor, tente novamente mais tarde." + +#: apps/remix/app/components/dialogs/team-email-add-dialog.tsx +msgid "We have sent a confirmation email for verification." +msgstr "Enviamos um e-mail de confirmação para verificação." + +#: apps/remix/app/components/forms/signup.tsx +msgid "We need your signature to sign documents" +msgstr "Precisamos da sua assinatura para assinar documentos" + +#: apps/remix/app/components/forms/token.tsx +msgid "We were unable to copy the token to your clipboard. Please try again." +msgstr "Não foi possível copiar o token para sua área de transferência. Por favor, tente novamente." + +#: apps/remix/app/components/forms/2fa/recovery-code-list.tsx +msgid "We were unable to copy your recovery code to your clipboard. Please try again." +msgstr "Não foi possível copiar seu código de recuperação para sua área de transferência. Por favor, tente novamente." + +#: apps/remix/app/components/forms/signup.tsx +msgid "We were unable to create your account. Please review the information you provided and try again." +msgstr "Não foi possível criar sua conta. Por favor, revise as informações fornecidas e tente novamente." + +#: apps/remix/app/components/forms/2fa/disable-authenticator-app-dialog.tsx +msgid "We were unable to disable two-factor authentication for your account. Please ensure that you have entered your password and backup code correctly and try again." +msgstr "Não foi possível desabilitar a autenticação de dois fatores para sua conta. Por favor, certifique-se de ter inserido sua senha e código de backup corretamente e tente novamente." + +#: apps/remix/app/components/general/document-signing/document-signing-auth-page.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-account.tsx +#: apps/remix/app/components/general/direct-template/direct-template-signing-auth-page.tsx +msgid "We were unable to log you out at this time." +msgstr "Não foi possível fazer logout no momento." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "We were unable to set your public profile to public. Please try again." +msgstr "Não foi possível definir seu perfil público como público. Por favor, tente novamente." + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "We were unable to setup two-factor authentication for your account. Please ensure that you have entered your code correctly and try again." +msgstr "Não foi possível configurar a autenticação de dois fatores para sua conta. Por favor, certifique-se de ter inserido seu código corretamente e tente novamente." + +#: apps/remix/app/components/general/envelope-signing/envelope-signing-complete-dialog.tsx +#: apps/remix/app/components/general/envelope-signing/envelope-signing-complete-dialog.tsx +#: apps/remix/app/components/general/direct-template/direct-template-page.tsx +#: apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +#: apps/remix/app/components/embed/embed-direct-template-client-page.tsx +msgid "We were unable to submit this document at this time. Please try again later." +msgstr "Não foi possível enviar este documento no momento. Por favor, tente novamente mais tarde." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx +msgid "We were unable to update your branding preferences at this time, please try again later" +msgstr "Não foi possível atualizar suas preferências de marca no momento, por favor, tente novamente mais tarde" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.document.tsx +msgid "We were unable to update your document preferences at this time, please try again later" +msgstr "Não foi possível atualizar suas preferências de documento no momento, por favor, tente novamente mais tarde" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.email.tsx +msgid "We were unable to update your email preferences at this time, please try again later" +msgstr "Não foi possível atualizar suas preferências de e-mail no momento, por favor, tente novamente mais tarde" + +#: apps/remix/app/components/general/document-signing/document-signing-auth-password.tsx +#: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx +msgid "We were unable to verify your details. Please try again or contact support" +msgstr "Não foi possível verificar seus detalhes. Por favor, tente novamente ou entre em contato com o suporte" + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "We were unable to verify your email at this time." +msgstr "Não foi possível verificar seu e-mail no momento." + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "We were unable to verify your email. If your email is not verified already, please try again." +msgstr "Não foi possível verificar seu e-mail. Se seu e-mail ainda não foi verificado, por favor, tente novamente." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "We will generate signing links for you, which you can send to the recipients through your method of choice." +msgstr "Geraremos links de assinatura para você, que você pode enviar aos destinatários através do método de sua escolha." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +#: packages/ui/primitives/document-flow/add-subject.tsx +msgid "We won't send anything to notify recipients." +msgstr "Não enviaremos nada para notificar os destinatários." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +msgid "We'll get back to you as soon as possible via email." +msgstr "Entraremos em contato o mais rápido possível por e-mail." + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "We'll send a 6-digit code to your email" +msgstr "Enviaremos um código de 6 dígitos para seu e-mail" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates._index.tsx +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "We're all empty" +msgstr "Estamos todos vazios" + +#: packages/email/template-components/template-document-pending.tsx +msgid "We're still waiting for other signers to sign this document.<0/>We'll notify you as soon as it's ready." +msgstr "Ainda estamos aguardando outros signatários assinarem este documento.<0/>Notificaremos você assim que estiver pronto." + +#: packages/email/templates/reset-password.tsx +msgid "We've changed your password as you asked. You can now sign in with your new password." +msgstr "Alteramos sua senha conforme solicitado. Agora você pode fazer login com sua nova senha." + +#: apps/remix/app/components/general/document-signing/access-auth-2fa-form.tsx +msgid "We've sent a 6-digit verification code to your email. Please enter it below to complete the document." +msgstr "Enviamos um código de verificação de 6 dígitos para seu e-mail. Por favor, insira-o abaixo para concluir o documento." + +#: apps/remix/app/components/general/verify-email-banner.tsx +msgid "We've sent a confirmation email to <0>{email}. Please check your inbox and click the link in the email to verify your account." +msgstr "Enviamos um e-mail de confirmação para <0>{email}. Por favor, verifique sua caixa de entrada e clique no link do e-mail para verificar sua conta." + +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "Webhook created" +msgstr "Webhook criado" + +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +msgid "Webhook deleted" +msgstr "Webhook excluído" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "Webhook not found" +msgstr "Webhook não encontrado" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks.$id.tsx +msgid "Webhook updated" +msgstr "Webhook atualizado" + +#: apps/remix/app/components/dialogs/webhook-test-dialog.tsx +#: apps/remix/app/components/dialogs/webhook-create-dialog.tsx +msgid "Webhook URL" +msgstr "URL do Webhook" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +#: apps/remix/app/components/general/settings-nav-mobile.tsx +#: apps/remix/app/components/general/settings-nav-desktop.tsx +msgid "Webhooks" +msgstr "Webhooks" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Welcome" +msgstr "Bem-vindo" + +#: apps/remix/app/routes/_unauthenticated+/signin.tsx +msgid "Welcome back, we are lucky to have you." +msgstr "Bem-vindo de volta, temos sorte em tê-lo." + +#: apps/remix/app/routes/_authenticated+/dashboard.tsx +msgid "Welcome back! Here's an overview of your account." +msgstr "Bem-vindo de volta! Aqui está uma visão geral da sua conta." + +#: apps/remix/app/routes/_unauthenticated+/o.$orgUrl.signin.tsx +msgid "Welcome to {organisationName}" +msgstr "Bem-vindo a {organisationName}" + +#: packages/email/template-components/template-confirmation-email.tsx +msgid "Welcome to Documenso!" +msgstr "Bem-vindo ao Documenso!" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Well-known URL is required" +msgstr "URL bem conhecida é necessária" + +#: apps/remix/app/routes/_recipient+/sign.$token+/waiting.tsx +msgid "Were you trying to edit this document instead?" +msgstr "Você estava tentando editar este documento?" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "What you can do with teams:" +msgstr "O que você pode fazer com equipes:" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: apps/remix/app/components/embed/authoring/configure-document-recipients.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "When enabled, signers can choose who should sign next in the sequence instead of following the predefined order." +msgstr "Quando habilitado, os signatários podem escolher quem deve assinar em seguida na sequência, em vez de seguir a ordem predefinida." + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "When you click continue, you will be prompted to add the first available authenticator on your system." +msgstr "Quando você clicar em continuar, será solicitado a adicionar o primeiro autenticador disponível em seu sistema." + +#: apps/remix/app/components/general/document-signing/document-signing-auto-sign.tsx +msgid "When you sign a document, we can automatically fill in and sign the following fields using information that has already been provided. You can also manually sign or remove any automatically signed fields afterwards if you desire." +msgstr "Quando você assina um documento, podemos preencher e assinar automaticamente os seguintes campos usando informações que já foram fornecidas. Você também pode assinar manualmente ou remover quaisquer campos assinados automaticamente depois, se desejar." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "When you use our platform to affix your electronic signature to documents, you are consenting to do so under the Electronic Signatures in Global and National Commerce Act (E-Sign Act) and other applicable laws. This action indicates your agreement to use electronic means to sign documents and receive notifications." +msgstr "Quando você usa nossa plataforma para afixar sua assinatura eletrônica em documentos, você está consentindo em fazê-lo sob a Lei de Assinaturas Eletrônicas no Comércio Global e Nacional (E-Sign Act) e outras leis aplicáveis. Esta ação indica seu acordo em usar meios eletrônicos para assinar documentos e receber notificações." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "Whether to enable the SSO portal for your organisation" +msgstr "Se deve habilitar o portal SSO para sua organização" + +#: apps/remix/app/routes/_profile+/p.$url.tsx +msgid "While waiting for them to do so you can create your own Documenso account and get started with document signing right away." +msgstr "Enquanto aguarda que eles façam isso, você pode criar sua própria conta Documenso e começar a assinar documentos imediatamente." + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Whitelabeling, unlimited members and more" +msgstr "Whitelabeling, membros ilimitados e mais" + +#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +msgid "Who do you want to remind?" +msgstr "Quem você quer lembrar?" + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "Withdrawing Consent" +msgstr "Retirando Consentimento" + +#: apps/remix/app/components/forms/public-profile-form.tsx +msgid "Write a description to display on your public profile" +msgstr "Escreva uma descrição para exibir em seu perfil público" + +#: apps/remix/app/components/general/billing-plans.tsx +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Yearly" +msgstr "Anual" + +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/document-preferences-form.tsx +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Yes" +msgstr "Sim" + +#: apps/remix/app/components/general/template/template-page-view-information.tsx +#: apps/remix/app/components/general/document/document-page-view-information.tsx +#: packages/lib/utils/document-audit-logs.ts +msgid "You" +msgstr "Você" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "You are about to complete approving the following document" +msgstr "Você está prestes a concluir a aprovação do seguinte documento" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "You are about to complete assisting the following document" +msgstr "Você está prestes a concluir a assistência ao seguinte documento" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "You are about to complete signing the following document" +msgstr "Você está prestes a concluir a assinatura do seguinte documento" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "You are about to complete viewing the following document" +msgstr "Você está prestes a concluir a visualização do seguinte documento" + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "You are about to delete <0>\"{documentTitle}\"" +msgstr "Você está prestes a excluir <0>\"{documentTitle}\"" + +#. placeholder {0}: organisation.name +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +msgid "You are about to delete <0>{0}. All data related to this organisation such as teams, documents, and all other resources will be deleted. This action is irreversible." +msgstr "Você está prestes a excluir <0>{0}. Todos os dados relacionados a esta organização, como equipes, documentos e todos os outros recursos serão excluídos. Esta ação é irreversível." + +#: apps/remix/app/components/dialogs/team-email-delete-dialog.tsx +msgid "You are about to delete the following team email from <0>{teamName}." +msgstr "Você está prestes a excluir o seguinte e-mail da equipe de <0>{teamName}." + +#: apps/remix/app/components/dialogs/team-inherit-member-enable-dialog.tsx +msgid "You are about to give all organisation members access to this team under their organisation role." +msgstr "Você está prestes a dar acesso a todos os membros da organização a esta equipe sob seu papel na organização." + +#: apps/remix/app/components/dialogs/document-delete-dialog.tsx +msgid "You are about to hide <0>\"{documentTitle}\"" +msgstr "Você está prestes a ocultar <0>\"{documentTitle}\"" + +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +msgid "You are about to leave the following organisation." +msgstr "Você está prestes a sair da seguinte organização." + +#: apps/remix/app/components/dialogs/team-inherit-member-disable-dialog.tsx +msgid "You are about to remove default access to this team for all organisation members. Any members not explicitly added to this team will no longer have access." +msgstr "Você está prestes a remover o acesso padrão a esta equipe para todos os membros da organização. Qualquer membro não explicitamente adicionado a esta equipe não terá mais acesso." + +#: apps/remix/app/routes/_authenticated+/settings+/security.linked-accounts.tsx +msgid "You are about to remove the <0>{provider} login method from your account." +msgstr "Você está prestes a remover o método de login <0>{provider} da sua conta." + +#. placeholder {0}: organisation.name +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +msgid "You are about to remove the email domain <0>{emailDomain} from <1>{0}. All emails associated with this domain will be deleted." +msgstr "Você está prestes a remover o domínio de e-mail <0>{emailDomain} de <1>{0}. Todos os e-mails associados a este domínio serão excluídos." + +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +msgid "You are about to remove the following document and all associated fields" +msgstr "Você está prestes a remover o seguinte documento e todos os campos associados" + +#. placeholder {0}: organisation.name +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +msgid "You are about to remove the following email from <0>{0}." +msgstr "Você está prestes a remover o seguinte e-mail de <0>{0}." + +#. placeholder {0}: team.name +#. placeholder {0}: organisation.name +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +msgid "You are about to remove the following group from <0>{0}." +msgstr "Você está prestes a remover o seguinte grupo de <0>{0}." + +#. placeholder {0}: organisation.name +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +msgid "You are about to remove the following user from <0>{0}." +msgstr "Você está prestes a remover o seguinte usuário de <0>{0}." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You are about to remove the following user from <0>{teamName}." +msgstr "Você está prestes a remover o seguinte usuário de <0>{teamName}." + +#. placeholder {0}: teamEmail.team.name +#. placeholder {1}: teamEmail.team.url +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "You are about to revoke access for team <0>{0} ({1}) to use your email." +msgstr "Você está prestes a revogar o acesso da equipe <0>{0} ({1}) para usar seu e-mail." + +#: packages/ui/primitives/document-flow/send-document-action-dialog.tsx +msgid "You are about to send this document to the recipients. Are you sure you want to continue?" +msgstr "Você está prestes a enviar este documento aos destinatários. Tem certeza de que deseja continuar?" + +#: apps/remix/app/components/general/billing-plans.tsx +msgid "You are about to subscribe to the {planName}" +msgstr "Você está prestes a assinar o {planName}" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.billing.tsx +msgid "You are currently on the <0>Free Plan." +msgstr "Você está atualmente no <0>Plano Gratuito." + +#. placeholder {0}: organisationEmail.email +#: apps/remix/app/components/dialogs/organisation-email-update-dialog.tsx +msgid "You are currently updating <0>{0}" +msgstr "Você está atualmente atualizando <0>{0}" + +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +msgid "You are currently updating <0>{memberName}." +msgstr "Você está atualmente atualizando <0>{memberName}." + +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +#: apps/remix/app/components/dialogs/admin-organisation-member-update-dialog.tsx +msgid "You are currently updating <0>{organisationMemberName}." +msgstr "Você está atualmente atualizando <0>{organisationMemberName}." + +#: apps/remix/app/components/tables/settings-security-passkey-table-actions.tsx +msgid "You are currently updating the <0>{passkeyName} passkey." +msgstr "Você está atualmente atualizando a chave de acesso <0>{passkeyName}." + +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +msgid "You are currently updating the <0>{teamGroupName} team group." +msgstr "Você está atualmente atualizando o grupo da equipe <0>{teamGroupName}." + +#: apps/remix/app/components/dialogs/document-move-to-folder-dialog.tsx +msgid "You are not allowed to move this document." +msgstr "Você não tem permissão para mover este documento." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings._layout.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._layout.tsx +msgid "You are not authorized to access this page." +msgstr "Você não está autorizado a acessar esta página." + +#: apps/remix/app/components/dialogs/admin-user-delete-dialog.tsx +msgid "You are not authorized to delete this user." +msgstr "Você não está autorizado a excluir este usuário." + +#: apps/remix/app/components/dialogs/admin-user-disable-dialog.tsx +msgid "You are not authorized to disable this user." +msgstr "Você não está autorizado a desabilitar este usuário." + +#: apps/remix/app/components/dialogs/admin-user-enable-dialog.tsx +msgid "You are not authorized to enable this user." +msgstr "Você não está autorizado a habilitar este usuário." + +#: apps/remix/app/components/dialogs/admin-user-reset-two-factor-dialog.tsx +msgid "You are not authorized to reset two factor authentcation for this user." +msgstr "Você não está autorizado a redefinir a autenticação de dois fatores para este usuário." + +#: packages/email/template-components/template-confirmation-email.tsx +msgid "You can also copy and paste this link into your browser: {confirmationLink} (link expires in 1 hour)" +msgstr "Você também pode copiar e colar este link no seu navegador: {confirmationLink} (o link expira em 1 hora)" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.public-profile.tsx +msgid "You can choose to enable or disable the profile for public view." +msgstr "Você pode escolher habilitar ou desabilitar o perfil para visualização pública." + +#: apps/remix/app/components/general/document/document-recipient-link-copy-dialog.tsx +msgid "You can copy and share these links to recipients so they can action the document." +msgstr "Você pode copiar e compartilhar estes links com os destinatários para que eles possam agir no documento." + +#: apps/remix/app/components/general/teams/team-inherit-member-alert.tsx +msgid "You can enable access to allow all organisation members to access this team by default." +msgstr "Você pode habilitar o acesso para permitir que todos os membros da organização acessem esta equipe por padrão." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.email.tsx +msgid "You can manage your email preferences here" +msgstr "Você pode gerenciar suas preferências de e-mail aqui" + +#: packages/email/templates/confirm-team-email.tsx +msgid "You can revoke access at any time in your team settings on Documenso <0>here." +msgstr "Você pode revogar o acesso a qualquer momento nas configurações da sua equipe no Documenso <0>aqui." + +#: apps/remix/app/components/forms/public-profile-form.tsx +msgid "You can update the profile URL by updating the team URL in the general settings page." +msgstr "Você pode atualizar a URL do perfil atualizando a URL da equipe na página de configurações gerais." + +#: packages/ui/components/document/document-send-email-message-helper.tsx +msgid "You can use the following variables in your message:" +msgstr "Você pode usar as seguintes variáveis em sua mensagem:" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings._index.tsx +msgid "You can view documents associated with this email and use this identity when sending documents." +msgstr "Você pode ver documentos associados a este e-mail e usar esta identidade ao enviar documentos." + +#: packages/email/templates/bulk-send-complete.tsx +msgid "You can view the created documents in your dashboard under the \"Documents created from template\" section." +msgstr "Você pode ver os documentos criados em seu painel na seção \"Documentos criados a partir do modelo\"." + +#: packages/email/template-components/template-document-rejected.tsx +msgid "You can view the document and its status by clicking the button below." +msgstr "Você pode ver o documento e seu status clicando no botão abaixo." + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-recipient-form.tsx +#: packages/ui/primitives/template-flow/add-template-placeholder-recipients.tsx +#: packages/ui/primitives/document-flow/add-signers.tsx +msgid "You cannot add assistants when signing order is disabled." +msgstr "Você não pode adicionar assistentes quando a ordem de assinatura está desabilitada." + +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +msgid "You cannot delete a group which has a higher role than you." +msgstr "Você não pode excluir um grupo que tem um papel superior ao seu." + +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +msgid "You cannot delete this item because the document has been sent to recipients" +msgstr "Você não pode excluir este item porque o documento foi enviado aos destinatários" + +#: apps/remix/app/components/dialogs/passkey-create-dialog.tsx +msgid "You cannot have more than {MAXIMUM_PASSKEYS} passkeys." +msgstr "Você não pode ter mais de {MAXIMUM_PASSKEYS} chaves de acesso." + +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +msgid "You cannot modify a group which has a higher role than you." +msgstr "Você não pode modificar um grupo que tem um papel superior ao seu." + +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +msgid "You cannot modify a organisation member who has a higher role than you." +msgstr "Você não pode modificar um membro da organização que tem um papel superior ao seu." + +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +msgid "You cannot modify a team member who has a higher role than you." +msgstr "Você não pode modificar um membro da equipe que tem um papel superior ao seu." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You cannot remove members from this team if the inherit member feature is enabled." +msgstr "Você não pode remover membros desta equipe se o recurso de herdar membros estiver habilitado." + +#: packages/ui/primitives/document-upload.tsx +#: packages/ui/primitives/document-dropzone.tsx +msgid "You cannot upload documents at this time." +msgstr "Você não pode enviar documentos no momento." + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "You cannot upload encrypted PDFs" +msgstr "Você não pode enviar PDFs criptografados" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +#: apps/remix/app/components/general/envelope-editor/envelope-editor-upload-page.tsx +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +msgid "You cannot upload more than {maximumEnvelopeItemCount} items per envelope." +msgstr "Você não pode enviar mais de {maximumEnvelopeItemCount} itens por envelope." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.billing.tsx +msgid "You currently have an inactive <0>{currentProductName} subscription" +msgstr "Você atualmente tem uma assinatura <0>{currentProductName} inativa" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl._index.tsx +msgid "You currently have no access to any teams within this organisation. Please contact your organisation to request access." +msgstr "Você atualmente não tem acesso a nenhuma equipe nesta organização. Por favor, entre em contato com sua organização para solicitar acesso." + +#: apps/remix/app/components/forms/token.tsx +msgid "You do not have permission to create a token for this team" +msgstr "Você não tem permissão para criar um token para esta equipe" + +#: packages/email/template-components/template-document-cancel.tsx +msgid "You don't need to sign it anymore." +msgstr "Você não precisa mais assiná-lo." + +#. placeholder {0}: data.organisationName +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +msgid "You have accepted an invitation from <0>{0} to join their organisation." +msgstr "Você aceitou um convite de <0>{0} para entrar na organização deles." + +#. placeholder {0}: data.teamName +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +msgid "You have already verified your email address for <0>{0}." +msgstr "Você já verificou seu endereço de e-mail para <0>{0}." + +#. placeholder {0}: data.organisationName +#: apps/remix/app/routes/_unauthenticated+/organisation.invite.$token.tsx +msgid "You have been invited by <0>{0} to join their organisation." +msgstr "Você foi convidado por <0>{0} para entrar na organização deles." + +#. placeholder {0}: organisation.name +#: packages/lib/server-only/organisation/create-organisation-member-invites.ts +msgid "You have been invited to join {0} on Documenso" +msgstr "Você foi convidado para entrar em {0} no Documenso" + +#: packages/email/templates/organisation-invite.tsx +msgid "You have been invited to join the following organisation" +msgstr "Você foi convidado para entrar na seguinte organização" + +#: packages/lib/server-only/recipient/set-document-recipients.ts +#: packages/lib/server-only/recipient/delete-envelope-recipient.ts +msgid "You have been removed from a document" +msgstr "Você foi removido de um documento" + +#: apps/remix/app/components/embed/multisign/multi-sign-document-list.tsx +msgid "You have been requested to sign the following documents. Review each document carefully and complete the signing process." +msgstr "Você foi solicitado a assinar os seguintes documentos. Revise cada documento cuidadosamente e complete o processo de assinatura." + +#. placeholder {0}: data.organisationName +#: apps/remix/app/routes/_unauthenticated+/organisation.decline.$token.tsx +msgid "You have declined the invitation from <0>{0} to join their organisation." +msgstr "Você recusou o convite de <0>{0} para entrar na organização deles." + +#. placeholder {0}: `"${envelope.title}"` +#: packages/lib/server-only/document/resend-document.ts +#: packages/lib/jobs/definitions/emails/send-signing-email.handler.ts +msgid "You have initiated the document {0} that requires you to {recipientActionVerb} it." +msgstr "Você iniciou o documento {0} que requer que você {recipientActionVerb}." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.webhooks._index.tsx +msgid "You have no webhooks yet. Your webhooks will be shown here once you create them." +msgstr "Você ainda não tem webhooks. Seus webhooks serão exibidos aqui assim que você criá-los." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/templates._index.tsx +msgid "You have not yet created any templates. To create a template please upload one." +msgstr "Você ainda não criou nenhum modelo. Para criar um modelo, por favor, envie um." + +#: apps/remix/app/components/tables/documents-table-empty-state.tsx +msgid "You have not yet created or received any documents. To create a document please upload one." +msgstr "Você ainda não criou ou recebeu nenhum documento. Para criar um documento, por favor, envie um." + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "You have reached the limit of the number of files per envelope" +msgstr "Você atingiu o limite de número de arquivos por envelope" + +#. placeholder {0}: quota.directTemplates +#: apps/remix/app/components/dialogs/template-direct-link-dialog.tsx +msgid "You have reached the maximum limit of {0} direct templates. <0>Upgrade your account to continue!" +msgstr "Você atingiu o limite máximo de {0} modelos diretos. <0>Atualize sua conta para continuar!" + +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "You have reached the maximum number of teams for your plan. Please contact sales at <0>{SUPPORT_EMAIL} if you would like to adjust your plan." +msgstr "Você atingiu o número máximo de equipes para seu plano. Por favor, entre em contato com vendas em <0>{SUPPORT_EMAIL} se desejar ajustar seu plano." + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "You have reached your document limit for this month. Please upgrade your plan." +msgstr "Você atingiu seu limite de documentos para este mês. Por favor, atualize seu plano." + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: packages/ui/primitives/document-dropzone.tsx +msgid "You have reached your document limit." +msgstr "Você atingiu seu limite de documentos." + +#: apps/remix/app/components/tables/templates-table.tsx +msgid "You have reached your document limit. <0>Upgrade your account to continue!" +msgstr "Você atingiu seu limite de documentos. <0>Atualize sua conta para continuar!" + +#: packages/email/templates/document-rejection-confirmed.tsx +msgid "You have rejected the document '{documentName}'" +msgstr "Você rejeitou o documento '{documentName}'" + +#: apps/remix/app/routes/_recipient+/sign.$token+/rejected.tsx +#: apps/remix/app/components/embed/embed-document-rejected.tsx +msgid "You have rejected this document" +msgstr "Você rejeitou este documento" + +#: packages/email/template-components/template-document-self-signed.tsx +msgid "You have signed "{documentName}"" +msgstr "Você assinou "{documentName}"" + +#: apps/remix/app/components/dialogs/organisation-leave-dialog.tsx +msgid "You have successfully left this organisation." +msgstr "Você saiu desta organização com sucesso." + +#: apps/remix/app/components/general/claim-account.tsx +#: apps/remix/app/components/forms/signup.tsx +msgid "You have successfully registered. Please verify your account by clicking on the link you received in the email." +msgstr "Você se registrou com sucesso. Por favor, verifique sua conta clicando no link que você recebeu no e-mail." + +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +msgid "You have successfully removed this email domain from the organisation." +msgstr "Você removeu este domínio de e-mail da organização com sucesso." + +#: apps/remix/app/components/dialogs/organisation-email-delete-dialog.tsx +msgid "You have successfully removed this email from the organisation." +msgstr "Você removeu este e-mail da organização com sucesso." + +#: apps/remix/app/components/dialogs/envelope-item-delete-dialog.tsx +msgid "You have successfully removed this envelope item." +msgstr "Você removeu este item do envelope com sucesso." + +#: apps/remix/app/components/dialogs/organisation-group-delete-dialog.tsx +msgid "You have successfully removed this group from the organisation." +msgstr "Você removeu este grupo da organização com sucesso." + +#: apps/remix/app/components/dialogs/team-group-delete-dialog.tsx +msgid "You have successfully removed this group from the team." +msgstr "Você removeu este grupo da equipe com sucesso." + +#: apps/remix/app/components/dialogs/organisation-member-delete-dialog.tsx +msgid "You have successfully removed this user from the organisation." +msgstr "Você removeu este usuário da organização com sucesso." + +#: apps/remix/app/components/dialogs/team-member-delete-dialog.tsx +msgid "You have successfully removed this user from the team." +msgstr "Você removeu este usuário da equipe com sucesso." + +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "You have successfully revoked access." +msgstr "Você revogou o acesso com sucesso." + +#: apps/remix/app/routes/_unauthenticated+/articles.signature-disclosure.tsx +msgid "You have the right to withdraw your consent to use electronic signatures at any time before completing the signing process. To withdraw your consent, please contact the sender of the document. In failing to contact the sender you may reach out to <0>{SUPPORT_EMAIL} for assistance. Be aware that withdrawing consent may delay or halt the completion of the related transaction or service." +msgstr "Você tem o direito de retirar seu consentimento para usar assinaturas eletrônicas a qualquer momento antes de completar o processo de assinatura. Para retirar seu consentimento, por favor, entre em contato com o remetente do documento. Se não conseguir contatar o remetente, você pode entrar em contato com <0>{SUPPORT_EMAIL} para obter assistência. Esteja ciente de que retirar o consentimento pode atrasar ou interromper a conclusão da transação ou serviço relacionado." + +#: apps/remix/app/components/dialogs/team-member-update-dialog.tsx +msgid "You have updated {memberName}." +msgstr "Você atualizou {memberName}." + +#: apps/remix/app/components/dialogs/organisation-member-update-dialog.tsx +msgid "You have updated {organisationMemberName}." +msgstr "Você atualizou {organisationMemberName}." + +#: apps/remix/app/components/dialogs/team-group-update-dialog.tsx +msgid "You have updated the team group." +msgstr "Você atualizou o grupo da equipe." + +#. placeholder {0}: data.teamName +#: apps/remix/app/routes/_unauthenticated+/team.verify.email.$token.tsx +msgid "You have verified your email address for <0>{0}." +msgstr "Você verificou seu endereço de e-mail para <0>{0}." + +#: apps/remix/app/components/dialogs/webhook-delete-dialog.tsx +#: apps/remix/app/components/dialogs/token-delete-dialog.tsx +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +msgid "You must enter '{deleteMessage}' to proceed" +msgstr "Você deve inserir '{deleteMessage}' para prosseguir" + +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "You must select at least one item" +msgstr "Você deve selecionar pelo menos um item" + +#: apps/remix/app/components/dialogs/organisation-email-domain-delete-dialog.tsx +#: apps/remix/app/components/dialogs/folder-delete-dialog.tsx +msgid "You must type '{deleteMessage}' to confirm" +msgstr "Você deve digitar '{deleteMessage}' para confirmar" + +#: apps/remix/app/components/general/envelope-editor/envelope-editor-fields-page.tsx +msgid "You need at least one recipient to add fields" +msgstr "Você precisa de pelo menos um destinatário para adicionar campos" + +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +msgid "You need at least one recipient to send a document" +msgstr "Você precisa de pelo menos um destinatário para enviar um documento" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +msgid "You need to be an admin to manage API tokens." +msgstr "Você precisa ser um administrador para gerenciar tokens de API." + +#: apps/remix/app/components/general/document-signing/document-signing-auth-page.tsx +msgid "You need to be logged in as <0>{email} to view this page." +msgstr "Você precisa estar logado como <0>{email} para ver esta página." + +#: apps/remix/app/components/general/document-signing/document-signing-auth-page.tsx +#: apps/remix/app/components/general/direct-template/direct-template-signing-auth-page.tsx +msgid "You need to be logged in to view this page." +msgstr "Você precisa estar logado para ver esta página." + +#: apps/remix/app/components/general/document-signing/document-signing-auth-2fa.tsx +msgid "You need to setup 2FA to mark this document as viewed." +msgstr "Você precisa configurar 2FA para marcar este documento como visualizado." + +#: apps/remix/app/components/dialogs/admin-organisation-create-dialog.tsx +msgid "You will need to configure any claims or subscription after creating this organisation" +msgstr "Você precisará configurar quaisquer reivindicações ou assinatura após criar esta organização" + +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "You will now be required to enter a code from your authenticator app when signing in." +msgstr "Agora será necessário inserir um código do seu aplicativo autenticador ao fazer login." + +#: apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +msgid "You will receive an Email copy of the signed document once everyone has signed." +msgstr "Você receberá uma cópia por e-mail do documento assinado assim que todos assinarem." + +#: apps/remix/app/routes/_unauthenticated+/organisation.sso.confirmation.$token.tsx +msgid "Your Account" +msgstr "Sua Conta" + +#: apps/remix/app/components/dialogs/account-delete-dialog.tsx +msgid "Your account has been deleted successfully." +msgstr "Sua conta foi excluída com sucesso." + +#: apps/remix/app/components/forms/avatar-image.tsx +msgid "Your avatar has been updated successfully." +msgstr "Seu avatar foi atualizado com sucesso." + +#: apps/remix/app/routes/_authenticated+/admin+/site-settings.tsx +msgid "Your banner has been updated successfully." +msgstr "Seu banner foi atualizado com sucesso." + +#: apps/remix/app/components/forms/branding-preferences-form.tsx +msgid "Your brand website URL" +msgstr "URL do site da sua marca" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.branding.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.branding.tsx +msgid "Your branding preferences have been updated" +msgstr "Suas preferências de marca foram atualizadas" + +#: apps/remix/app/components/dialogs/template-bulk-send-dialog.tsx +msgid "Your bulk send has been initiated. You will receive an email notification upon completion." +msgstr "Seu envio em massa foi iniciado. Você receberá uma notificação por e-mail ao concluir." + +#: packages/email/templates/bulk-send-complete.tsx +msgid "Your bulk send operation for template \"{templateName}\" has completed." +msgstr "Sua operação de envio em massa para o modelo \"{templateName}\" foi concluída." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.billing.tsx +msgid "Your current {currentProductName} plan is past due. Please update your payment information." +msgstr "Seu plano atual {currentProductName} está vencido. Por favor, atualize suas informações de pagamento." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.support.tsx +msgid "Your current plan includes the following support channels:" +msgstr "Seu plano atual inclui os seguintes canais de suporte:" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.billing.tsx +msgid "Your current plan is inactive." +msgstr "Seu plano atual está inativo." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.billing.tsx +msgid "Your current plan is past due." +msgstr "Seu plano atual está vencido." + +#: apps/remix/app/components/dialogs/public-profile-template-manage-dialog.tsx +msgid "Your direct signing templates" +msgstr "Seus modelos de assinatura direta" + +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/embed/authoring/configure-document-upload.tsx +msgid "Your document failed to upload." +msgstr "Falha ao enviar seu documento." + +#: apps/remix/app/components/dialogs/template-use-dialog.tsx +msgid "Your document has been created from the template successfully." +msgstr "Seu documento foi criado a partir do modelo com sucesso." + +#: apps/remix/app/routes/embed+/v1+/authoring_.completed.create.tsx +msgid "Your document has been created successfully" +msgstr "Seu documento foi criado com sucesso" + +#: packages/email/template-components/template-document-super-delete.tsx +msgid "Your document has been deleted by an admin!" +msgstr "Seu documento foi excluído por um administrador!" + +#: apps/remix/app/components/dialogs/document-resend-dialog.tsx +msgid "Your document has been re-sent successfully." +msgstr "Seu documento foi reenviado com sucesso." + +#: apps/remix/app/components/general/document/document-edit-form.tsx +msgid "Your document has been sent successfully." +msgstr "Seu documento foi enviado com sucesso." + +#: apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +msgid "Your document has been successfully duplicated." +msgstr "Seu documento foi duplicado com sucesso." + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +#: apps/remix/app/components/general/document/document-upload-button.tsx +#: apps/remix/app/components/general/document/document-drop-zone-wrapper.tsx +msgid "Your document has been uploaded successfully." +msgstr "Seu documento foi enviado com sucesso." + +#: apps/remix/app/components/dialogs/template-create-dialog.tsx +msgid "Your document has been uploaded successfully. You will be redirected to the template page." +msgstr "Seu documento foi enviado com sucesso. Você será redirecionado para a página do modelo." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.document.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.document.tsx +msgid "Your document preferences have been updated" +msgstr "Suas preferências de documento foram atualizadas" + +#: apps/remix/app/components/general/app-command-menu.tsx +msgid "Your documents" +msgstr "Seus documentos" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Your Email" +msgstr "Seu E-mail" + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "Your email has already been confirmed. You can now use all features of Documenso." +msgstr "Seu e-mail já foi confirmado. Agora você pode usar todos os recursos do Documenso." + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "Your email has been successfully confirmed! You can now use all features of Documenso." +msgstr "Seu e-mail foi confirmado com sucesso! Agora você pode usar todos os recursos do Documenso." + +#. placeholder {0}: teamEmail.team.name +#. placeholder {1}: teamEmail.team.url +#: apps/remix/app/components/general/teams/team-email-usage.tsx +msgid "Your email is currently being used by team <0>{0} ({1})." +msgstr "Seu e-mail está sendo usado pela equipe <0>{0} ({1})." + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.email.tsx +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.email.tsx +msgid "Your email preferences have been updated" +msgstr "Suas preferências de e-mail foram atualizadas" + +#: apps/remix/app/components/dialogs/envelope-distribute-dialog.tsx +msgid "Your envelope has been distributed successfully." +msgstr "Seu envelope foi distribuído com sucesso." + +#: apps/remix/app/components/dialogs/envelope-redistribute-dialog.tsx +msgid "Your envelope has been resent successfully." +msgstr "Seu envelope foi reenviado com sucesso." + +#: apps/remix/app/components/dialogs/envelope-duplicate-dialog.tsx +msgid "Your envelope has been successfully duplicated." +msgstr "Seu envelope foi duplicado com sucesso." + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +msgid "Your existing tokens" +msgstr "Seus tokens existentes" + +#: apps/remix/app/components/general/document-signing/document-signing-complete-dialog.tsx +msgid "Your Name" +msgstr "Seu Nome" + +#: apps/remix/app/components/forms/reset-password.tsx +#: apps/remix/app/components/forms/password.tsx +msgid "Your new password cannot be the same as your old password." +msgstr "Sua nova senha não pode ser a mesma que sua senha antiga." + +#: apps/remix/app/components/dialogs/organisation-create-dialog.tsx +msgid "Your organisation has been created." +msgstr "Sua organização foi criada." + +#: apps/remix/app/components/dialogs/organisation-delete-dialog.tsx +msgid "Your organisation has been successfully deleted." +msgstr "Sua organização foi excluída com sucesso." + +#: apps/remix/app/components/forms/organisation-update-form.tsx +msgid "Your organisation has been successfully updated." +msgstr "Sua organização foi atualizada com sucesso." + +#: apps/remix/app/components/forms/reset-password.tsx +#: apps/remix/app/components/forms/password.tsx +msgid "Your password has been updated successfully." +msgstr "Sua senha foi atualizada com sucesso." + +#: packages/email/template-components/template-reset-password.tsx +msgid "Your password has been updated." +msgstr "Sua senha foi atualizada." + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Your payment is overdue. Please settle the payment to avoid any service disruptions." +msgstr "Seu pagamento está atrasado. Por favor, quite o pagamento para evitar interrupções no serviço." + +#: apps/remix/app/components/tables/user-organisations-table.tsx +msgid "Your personal organisation" +msgstr "Sua organização pessoal" + +#: apps/remix/app/components/dialogs/organisation-member-invite-dialog.tsx +msgid "Your plan does not support inviting members. Please upgrade or your plan or contact sales at <0>{SUPPORT_EMAIL} if you would like to discuss your options." +msgstr "Seu plano não suporta convidar membros. Por favor, atualize seu plano ou entre em contato com vendas em <0>{SUPPORT_EMAIL} se desejar discutir suas opções." + +#: apps/remix/app/components/general/organisations/organisation-billing-banner.tsx +msgid "Your plan is no longer valid. Please subscribe to a new plan to continue using Documenso." +msgstr "Seu plano não é mais válido. Por favor, assine um novo plano para continuar usando o Documenso." + +#: apps/remix/app/components/forms/profile.tsx +msgid "Your profile has been updated successfully." +msgstr "Seu perfil foi atualizado com sucesso." + +#: apps/remix/app/routes/_authenticated+/admin+/users.$id.tsx +msgid "Your profile has been updated." +msgstr "Seu perfil foi atualizado." + +#: apps/remix/app/components/forms/public-profile-form.tsx +msgid "Your public profile has been updated." +msgstr "Seu perfil público foi atualizado." + +#: apps/remix/app/components/forms/2fa/recovery-code-list.tsx +msgid "Your recovery code has been copied to your clipboard." +msgstr "Seu código de recuperação foi copiado para sua área de transferência." + +#: apps/remix/app/components/forms/2fa/view-recovery-codes-dialog.tsx +#: apps/remix/app/components/forms/2fa/enable-authenticator-app-dialog.tsx +msgid "Your recovery codes are listed below. Please store them in a safe place." +msgstr "Seus códigos de recuperação estão listados abaixo. Por favor, armazene-os em um local seguro." + +#: apps/remix/app/components/forms/support-ticket-form.tsx +msgid "Your support request has been submitted. We'll get back to you soon!" +msgstr "Sua solicitação de suporte foi enviada. Entraremos em contato em breve!" + +#: apps/remix/app/components/dialogs/team-create-dialog.tsx +msgid "Your team has been created." +msgstr "Sua equipe foi criada." + +#: apps/remix/app/components/dialogs/team-delete-dialog.tsx +msgid "Your team has been successfully deleted." +msgstr "Sua equipe foi excluída com sucesso." + +#: apps/remix/app/components/forms/team-update-form.tsx +msgid "Your team has been successfully updated." +msgstr "Sua equipe foi atualizada com sucesso." + +#: apps/remix/app/routes/embed+/v1+/authoring_.completed.create.tsx +msgid "Your template has been created successfully" +msgstr "Seu modelo foi criado com sucesso" + +#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx +msgid "Your template has been duplicated successfully." +msgstr "Seu modelo foi duplicado com sucesso." + +#: apps/remix/app/components/dialogs/template-delete-dialog.tsx +msgid "Your template has been successfully deleted." +msgstr "Seu modelo foi excluído com sucesso." + +#: apps/remix/app/components/general/document/envelope-upload-button.tsx +msgid "Your template has been uploaded successfully." +msgstr "Seu modelo foi enviado com sucesso." + +#: apps/remix/app/components/general/template/template-drop-zone-wrapper.tsx +msgid "Your template has been uploaded successfully. You will be redirected to the template page." +msgstr "Seu modelo foi enviado com sucesso. Você será redirecionado para a página do modelo." + +#: apps/remix/app/components/dialogs/template-duplicate-dialog.tsx +msgid "Your template will be duplicated." +msgstr "Seu modelo será duplicado." + +#: apps/remix/app/components/general/template/template-edit-form.tsx +msgid "Your templates has been saved successfully." +msgstr "Seus modelos foram salvos com sucesso." + +#: apps/remix/app/routes/_unauthenticated+/verify-email.$token.tsx +msgid "Your token has expired!" +msgstr "Seu token expirou!" + +#: apps/remix/app/components/forms/token.tsx +msgid "Your token was created successfully! Make sure to copy it because you won't be able to see it again!" +msgstr "Seu token foi criado com sucesso! Certifique-se de copiá-lo porque você não poderá vê-lo novamente!" + +#: apps/remix/app/routes/_authenticated+/t.$teamUrl+/settings.tokens.tsx +msgid "Your tokens will be shown here once you create them." +msgstr "Seus tokens serão exibidos aqui assim que você criá-los." + +#: packages/lib/server-only/2fa/email/send-2fa-token-email.ts +msgid "Your two-factor authentication code" +msgstr "Seu código de autenticação de dois fatores" + +#: packages/email/templates/access-auth-2fa.tsx +msgid "Your verification code is {code}" +msgstr "Seu código de verificação é {code}" + +#: packages/email/template-components/template-access-auth-2fa.tsx +msgid "Your verification code:" +msgstr "Seu código de verificação:" + +#: apps/remix/app/routes/_authenticated+/o.$orgUrl.settings.sso.tsx +msgid "your-domain.com another-domain.com" +msgstr "seu-dominio.com outro-dominio.com" From 1bbe5611627e418b0364ab6a161fa26628129b82 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Thu, 20 Nov 2025 15:07:26 +1100 Subject: [PATCH 05/22] chore: add pending ui to signing completion page (#2224) Adds a pending UI state to the signing completion page for when all recipients have finished signing but the document hasn't completed the sealing background job. image --- .../_recipient+/sign.$token+/complete.tsx | 79 +++++++++--------- .../trpc/server/envelope-router/router.ts | 2 + .../signing-status-envelope.ts | 82 +++++++++++++++++++ .../signing-status-envelope.types.ts | 14 ++++ 4 files changed, 140 insertions(+), 37 deletions(-) create mode 100644 packages/trpc/server/envelope-router/signing-status-envelope.ts create mode 100644 packages/trpc/server/envelope-router/signing-status-envelope.types.ts diff --git a/apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx b/apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx index ed2597cb3..a8ac432f6 100644 --- a/apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx +++ b/apps/remix/app/routes/_recipient+/sign.$token+/complete.tsx @@ -1,10 +1,8 @@ -import { useEffect } from 'react'; - import { useLingui } from '@lingui/react'; import { Trans } from '@lingui/react/macro'; import { DocumentStatus, FieldType, RecipientRole } from '@prisma/client'; -import { CheckCircle2, Clock8, DownloadIcon } from 'lucide-react'; -import { Link, useRevalidator } from 'react-router'; +import { CheckCircle2, Clock8, DownloadIcon, Loader2 } from 'lucide-react'; +import { Link } from 'react-router'; import { match } from 'ts-pattern'; import signingCelebration from '@documenso/assets/images/signing-celebration.png'; @@ -18,7 +16,7 @@ import { getRecipientSignatures } from '@documenso/lib/server-only/recipient/get import { getUserByEmail } from '@documenso/lib/server-only/user/get-user-by-email'; import { isDocumentCompleted } from '@documenso/lib/utils/document'; import { env } from '@documenso/lib/utils/env'; -import type { Document } from '@documenso/prisma/types/document-legacy-schema'; +import { trpc } from '@documenso/trpc/react'; import { DocumentShareButton } from '@documenso/ui/components/document/document-share-button'; import { SigningCard3D } from '@documenso/ui/components/signing-card'; import { cn } from '@documenso/ui/lib/utils'; @@ -120,6 +118,24 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp returnToHomePath, } = loaderData; + // Poll signing status every few seconds + const { data: signingStatusData } = trpc.envelope.signingStatus.useQuery( + { + token: recipient?.token || '', + }, + { + refetchInterval: 3000, + initialData: match(document?.status) + .with(DocumentStatus.COMPLETED, () => ({ status: 'COMPLETED' }) as const) + .with(DocumentStatus.REJECTED, () => ({ status: 'REJECTED' }) as const) + .with(DocumentStatus.PENDING, () => ({ status: 'PENDING' }) as const) + .otherwise(() => ({ status: 'PENDING' }) as const), + }, + ); + + // Use signing status from query if available, otherwise fall back to document status + const signingStatus = signingStatusData?.status ?? 'PENDING'; + if (!isDocumentAccessValid) { return ; } @@ -161,8 +177,8 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp {recipient.role === RecipientRole.APPROVER && Document Approved} - {match({ status: document.status, deletedAt: document.deletedAt }) - .with({ status: DocumentStatus.COMPLETED }, () => ( + {match({ status: signingStatus, deletedAt: document.deletedAt }) + .with({ status: 'COMPLETED' }, () => (
@@ -170,6 +186,14 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp
)) + .with({ status: 'PROCESSING' }, () => ( +
+ + + Processing document + +
+ )) .with({ deletedAt: null }, () => (
@@ -187,14 +211,22 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp
))} - {match({ status: document.status, deletedAt: document.deletedAt }) - .with({ status: DocumentStatus.COMPLETED }, () => ( + {match({ status: signingStatus, deletedAt: document.deletedAt }) + .with({ status: 'COMPLETED' }, () => (

Everyone has signed! You will receive an Email copy of the signed document.

)) + .with({ status: 'PROCESSING' }, () => ( +

+ + All recipients have signed. The document is being processed and you will receive + an Email copy shortly. + +

+ )) .with({ deletedAt: null }, () => (

@@ -218,7 +250,7 @@ export default function CompletedSigningPage({ loaderData }: Route.ComponentProp className="w-full max-w-none md:flex-1" /> - {isDocumentCompleted(document.status) && ( + {isDocumentCompleted(document) && ( - - ); } - -export type PollUntilDocumentCompletedProps = { - document: Pick; -}; - -export const PollUntilDocumentCompleted = ({ document }: PollUntilDocumentCompletedProps) => { - const { revalidate } = useRevalidator(); - - useEffect(() => { - if (isDocumentCompleted(document.status)) { - return; - } - - const interval = setInterval(() => { - if (window.document.hasFocus()) { - void revalidate(); - } - }, 5000); - - return () => clearInterval(interval); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [document.status]); - - return <>; -}; diff --git a/packages/trpc/server/envelope-router/router.ts b/packages/trpc/server/envelope-router/router.ts index c4662c2ab..e11709eb2 100644 --- a/packages/trpc/server/envelope-router/router.ts +++ b/packages/trpc/server/envelope-router/router.ts @@ -25,6 +25,7 @@ import { redistributeEnvelopeRoute } from './redistribute-envelope'; import { setEnvelopeFieldsRoute } from './set-envelope-fields'; import { setEnvelopeRecipientsRoute } from './set-envelope-recipients'; import { signEnvelopeFieldRoute } from './sign-envelope-field'; +import { signingStatusEnvelopeRoute } from './signing-status-envelope'; import { updateEnvelopeRoute } from './update-envelope'; import { updateEnvelopeItemsRoute } from './update-envelope-items'; import { useEnvelopeRoute } from './use-envelope'; @@ -72,4 +73,5 @@ export const envelopeRouter = router({ duplicate: duplicateEnvelopeRoute, distribute: distributeEnvelopeRoute, redistribute: redistributeEnvelopeRoute, + signingStatus: signingStatusEnvelopeRoute, }); diff --git a/packages/trpc/server/envelope-router/signing-status-envelope.ts b/packages/trpc/server/envelope-router/signing-status-envelope.ts new file mode 100644 index 000000000..f29a622ce --- /dev/null +++ b/packages/trpc/server/envelope-router/signing-status-envelope.ts @@ -0,0 +1,82 @@ +import { DocumentStatus, EnvelopeType, RecipientRole, SigningStatus } from '@prisma/client'; + +import { AppError, AppErrorCode } from '@documenso/lib/errors/app-error'; +import { prisma } from '@documenso/prisma'; + +import { maybeAuthenticatedProcedure } from '../trpc'; +import { + ZSigningStatusEnvelopeRequestSchema, + ZSigningStatusEnvelopeResponseSchema, +} from './signing-status-envelope.types'; + +// Internal route - not intended for public API usage +export const signingStatusEnvelopeRoute = maybeAuthenticatedProcedure + .input(ZSigningStatusEnvelopeRequestSchema) + .output(ZSigningStatusEnvelopeResponseSchema) + .query(async ({ input, ctx }) => { + const { token } = input; + + ctx.logger.info({ + input: { + token, + }, + }); + + const envelope = await prisma.envelope.findFirst({ + where: { + type: EnvelopeType.DOCUMENT, + recipients: { + some: { + token, + }, + }, + }, + include: { + recipients: { + select: { + id: true, + name: true, + email: true, + signingStatus: true, + role: true, + }, + }, + }, + }); + + if (!envelope) { + throw new AppError(AppErrorCode.NOT_FOUND, { + message: 'Envelope not found', + }); + } + + // Check if envelope is rejected + if (envelope.status === DocumentStatus.REJECTED) { + return { + status: 'REJECTED', + }; + } + + if (envelope.status === DocumentStatus.COMPLETED) { + return { + status: 'COMPLETED', + }; + } + + const isComplete = + envelope.recipients.some((recipient) => recipient.signingStatus === SigningStatus.REJECTED) || + envelope.recipients.every( + (recipient) => + recipient.role === RecipientRole.CC || recipient.signingStatus === SigningStatus.SIGNED, + ); + + if (isComplete) { + return { + status: 'PROCESSING', + }; + } + + return { + status: 'PENDING', + }; + }); diff --git a/packages/trpc/server/envelope-router/signing-status-envelope.types.ts b/packages/trpc/server/envelope-router/signing-status-envelope.types.ts new file mode 100644 index 000000000..ccdb7e632 --- /dev/null +++ b/packages/trpc/server/envelope-router/signing-status-envelope.types.ts @@ -0,0 +1,14 @@ +import { z } from 'zod'; + +export const EnvelopeSigningStatus = z.enum(['PENDING', 'PROCESSING', 'COMPLETED', 'REJECTED']); + +export const ZSigningStatusEnvelopeRequestSchema = z.object({ + token: z.string().describe('The recipient token to check the signing status for'), +}); + +export const ZSigningStatusEnvelopeResponseSchema = z.object({ + status: EnvelopeSigningStatus.describe('The current signing status of the envelope'), +}); + +export type TSigningStatusEnvelopeRequest = z.infer; +export type TSigningStatusEnvelopeResponse = z.infer; From 0663605ffdd6328087843d01de8f3b3c442621cd Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Thu, 20 Nov 2025 15:07:41 +1100 Subject: [PATCH 06/22] fix: handle loading files in embedded authoring update flows (#2218) --- .../embed/authoring/configure-fields-view.tsx | 112 +++++++++--------- .../v1+/authoring+/document.edit.$id.tsx | 6 +- .../v1+/authoring+/template.edit.$id.tsx | 6 +- apps/remix/server/api/files/files.ts | 18 ++- apps/remix/server/api/files/files.types.ts | 8 ++ packages/lib/utils/envelope-download.ts | 8 +- packages/ui/primitives/pdf-viewer.tsx | 3 + 7 files changed, 98 insertions(+), 63 deletions(-) diff --git a/apps/remix/app/components/embed/authoring/configure-fields-view.tsx b/apps/remix/app/components/embed/authoring/configure-fields-view.tsx index ed7057ee0..5596f2f0f 100644 --- a/apps/remix/app/components/embed/authoring/configure-fields-view.tsx +++ b/apps/remix/app/components/embed/authoring/configure-fields-view.tsx @@ -2,7 +2,7 @@ import { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useLingui } from '@lingui/react'; import { Trans } from '@lingui/react/macro'; -import type { DocumentData, FieldType } from '@prisma/client'; +import type { EnvelopeItem, FieldType } from '@prisma/client'; import { ReadStatus, type Recipient, SendStatus, SigningStatus } from '@prisma/client'; import { base64 } from '@scure/base'; import { ChevronsUpDown } from 'lucide-react'; @@ -40,7 +40,8 @@ const DEFAULT_WIDTH_PX = MIN_WIDTH_PX * 2.5; export type ConfigureFieldsViewProps = { configData: TConfigureEmbedFormSchema; - documentData?: DocumentData; + presignToken?: string | undefined; + envelopeItem?: Pick; defaultValues?: Partial; onBack?: (data: TConfigureFieldsFormSchema) => void; onSubmit: (data: TConfigureFieldsFormSchema) => void; @@ -48,7 +49,8 @@ export type ConfigureFieldsViewProps = { export const ConfigureFieldsView = ({ configData, - documentData, + presignToken, + envelopeItem, defaultValues, onBack, onSubmit, @@ -82,17 +84,25 @@ export const ConfigureFieldsView = ({ }, []); const normalizedDocumentData = useMemo(() => { - if (documentData) { - return documentData.data; + if (envelopeItem) { + return undefined; } if (!configData.documentData) { - return null; + return undefined; } return base64.encode(configData.documentData.data); }, [configData.documentData]); + const normalizedEnvelopeItem = useMemo(() => { + if (envelopeItem) { + return envelopeItem; + } + + return { id: '', envelopeId: '' }; + }, [envelopeItem]); + const recipients = useMemo(() => { return configData.signers.map((signer, index) => ({ id: signer.nativeId || index, @@ -534,56 +544,50 @@ export const ConfigureFieldsView = ({ )}

- {normalizedDocumentData && ( -
- +
+ - - {localFields.map((field, index) => { - const recipientIndex = recipients.findIndex( - (r) => r.id === field.recipientId, - ); + + {localFields.map((field, index) => { + const recipientIndex = recipients.findIndex((r) => r.id === field.recipientId); - return ( - onFieldResize(node, index)} - onMove={(node) => onFieldMove(node, index)} - onRemove={() => remove(index)} - onDuplicate={() => onFieldCopy(null, { duplicate: true })} - onDuplicateAllPages={() => onFieldCopy(null, { duplicateAll: true })} - onFocus={() => setLastActiveField(field)} - onBlur={() => setLastActiveField(null)} - onAdvancedSettings={() => { - setCurrentField(field); - setShowAdvancedSettings(true); - }} - recipientIndex={recipientIndex} - active={activeFieldId === field.formId} - onFieldActivate={() => setActiveFieldId(field.formId)} - onFieldDeactivate={() => setActiveFieldId(null)} - disabled={selectedRecipient?.id !== field.recipientId} - /> - ); - })} - -
- )} + return ( + onFieldResize(node, index)} + onMove={(node) => onFieldMove(node, index)} + onRemove={() => remove(index)} + onDuplicate={() => onFieldCopy(null, { duplicate: true })} + onDuplicateAllPages={() => onFieldCopy(null, { duplicateAll: true })} + onFocus={() => setLastActiveField(field)} + onBlur={() => setLastActiveField(null)} + onAdvancedSettings={() => { + setCurrentField(field); + setShowAdvancedSettings(true); + }} + recipientIndex={recipientIndex} + active={activeFieldId === field.formId} + onFieldActivate={() => setActiveFieldId(field.formId)} + onFieldDeactivate={() => setActiveFieldId(null)} + disabled={selectedRecipient?.id !== field.recipientId} + /> + ); + })} + +
diff --git a/apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx b/apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx index 9e698663b..818a7eb54 100644 --- a/apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx +++ b/apps/remix/app/routes/embed+/v1+/authoring+/document.edit.$id.tsx @@ -75,6 +75,7 @@ export const loader = async ({ request, params }: Route.LoaderArgs) => { })); return { + token, document: { ...document, fields, @@ -86,7 +87,7 @@ export default function EmbeddingAuthoringDocumentEditPage() { const { _ } = useLingui(); const { toast } = useToast(); - const { document } = useLoaderData(); + const { document, token } = useLoaderData(); const [hasFinishedInit, setHasFinishedInit] = useState(false); @@ -321,7 +322,8 @@ export default function EmbeddingAuthoringDocumentEditPage() { { })); return { + token, template: { ...template, fields, @@ -86,7 +87,7 @@ export default function EmbeddingAuthoringTemplateEditPage() { const { _ } = useLingui(); const { toast } = useToast(); - const { template } = useLoaderData(); + const { template, token } = useLoaderData(); const [hasFinishedInit, setHasFinishedInit] = useState(false); @@ -321,7 +322,8 @@ export default function EmbeddingAuthoringTemplateEditPage() { () .get( '/envelope/:envelopeId/envelopeItem/:envelopeItemId', sValidator('param', ZGetEnvelopeItemFileRequestParamsSchema), + sValidator('query', ZGetEnvelopeItemFileRequestQuerySchema), async (c) => { const { envelopeId, envelopeItemId } = c.req.valid('param'); + const { token } = c.req.query(); const session = await getOptionalSession(c); - if (!session.user) { + let userId = session.user?.id; + + if (token) { + const presignToken = await verifyEmbeddingPresignToken({ + token, + }).catch(() => undefined); + + userId = presignToken?.userId; + } + + if (!userId) { return c.json({ error: 'Unauthorized' }, 401); } @@ -104,7 +118,7 @@ export const filesRoute = new Hono() } const team = await getTeamById({ - userId: session.user.id, + userId: userId, teamId: envelope.teamId, }).catch((error) => { console.error(error); diff --git a/apps/remix/server/api/files/files.types.ts b/apps/remix/server/api/files/files.types.ts index 444dac8ae..0e7c2f8cf 100644 --- a/apps/remix/server/api/files/files.types.ts +++ b/apps/remix/server/api/files/files.types.ts @@ -36,6 +36,14 @@ export type TGetEnvelopeItemFileRequestParams = z.infer< typeof ZGetEnvelopeItemFileRequestParamsSchema >; +export const ZGetEnvelopeItemFileRequestQuerySchema = z.object({ + token: z.string().optional(), +}); + +export type TGetEnvelopeItemFileRequestQuery = z.infer< + typeof ZGetEnvelopeItemFileRequestQuerySchema +>; + export const ZGetEnvelopeItemFileTokenRequestParamsSchema = z.object({ token: z.string().min(1), envelopeItemId: z.string().min(1), diff --git a/packages/lib/utils/envelope-download.ts b/packages/lib/utils/envelope-download.ts index 1961c5126..a18857488 100644 --- a/packages/lib/utils/envelope-download.ts +++ b/packages/lib/utils/envelope-download.ts @@ -8,15 +8,17 @@ export type EnvelopeItemPdfUrlOptions = envelopeItem: Pick; token: string | undefined; version: 'original' | 'signed'; + presignToken?: undefined; } | { type: 'view'; envelopeItem: Pick; token: string | undefined; + presignToken?: string | undefined; }; export const getEnvelopeItemPdfUrl = (options: EnvelopeItemPdfUrlOptions) => { - const { envelopeItem, token, type } = options; + const { envelopeItem, token, type, presignToken } = options; const { id, envelopeId } = envelopeItem; @@ -24,11 +26,11 @@ export const getEnvelopeItemPdfUrl = (options: EnvelopeItemPdfUrlOptions) => { const version = options.version; return token - ? `${NEXT_PUBLIC_WEBAPP_URL()}/api/files/token/${token}/envelopeItem/${id}/download/${version}` + ? `${NEXT_PUBLIC_WEBAPP_URL()}/api/files/token/${token}/envelopeItem/${id}/download/${version}${presignToken ? `?presignToken=${presignToken}` : ''}` : `${NEXT_PUBLIC_WEBAPP_URL()}/api/files/envelope/${envelopeId}/envelopeItem/${id}/download/${version}`; } return token - ? `${NEXT_PUBLIC_WEBAPP_URL()}/api/files/token/${token}/envelopeItem/${id}` + ? `${NEXT_PUBLIC_WEBAPP_URL()}/api/files/token/${token}/envelopeItem/${id}${presignToken ? `?presignToken=${presignToken}` : ''}` : `${NEXT_PUBLIC_WEBAPP_URL()}/api/files/envelope/${envelopeId}/envelopeItem/${id}`; }; diff --git a/packages/ui/primitives/pdf-viewer.tsx b/packages/ui/primitives/pdf-viewer.tsx index 8cf2f9d61..e0bb23498 100644 --- a/packages/ui/primitives/pdf-viewer.tsx +++ b/packages/ui/primitives/pdf-viewer.tsx @@ -56,6 +56,7 @@ export type PDFViewerProps = { className?: string; envelopeItem: Pick; token: string | undefined; + presignToken?: string | undefined; version: 'original' | 'signed'; onDocumentLoad?: (_doc: LoadedPDFDocument) => void; onPageClick?: OnPDFViewerPageClick; @@ -67,6 +68,7 @@ export const PDFViewer = ({ className, envelopeItem, token, + presignToken, version, onDocumentLoad, onPageClick, @@ -166,6 +168,7 @@ export const PDFViewer = ({ type: 'view', envelopeItem: envelopeItem, token, + presignToken, }); const bytes = await fetch(documentUrl).then(async (res) => await res.arrayBuffer()); From e5bde53ee4eabf69abd874fcd9b50b2cd4c3cbdf Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Thu, 20 Nov 2025 15:09:13 +1100 Subject: [PATCH 07/22] chore: add translations (#2223) --- packages/lib/translations/pl/web.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/lib/translations/pl/web.po b/packages/lib/translations/pl/web.po index f49417680..716c2e8fd 100644 --- a/packages/lib/translations/pl/web.po +++ b/packages/lib/translations/pl/web.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: documenso-app\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2025-11-17 02:33\n" +"PO-Revision-Date: 2025-11-20 02:32\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -179,7 +179,7 @@ msgstr "Sprawdź i {recipientActionVerb} dokument utworzony przez zespół {0}" #: apps/remix/app/components/general/envelope/envelope-drop-zone-wrapper.tsx #: apps/remix/app/components/general/document/document-upload-button-legacy.tsx msgid "{0} of {1} documents remaining this month." -msgstr "{0} z {1} dokumentów pozostałych w tym miesiącu." +msgstr "Pozostało {0} z {1} dokumentów w tym miesiącu." #. placeholder {0}: table.getFilteredSelectedRowModel().rows.length #. placeholder {1}: table.getFilteredRowModel().rows.length From 17c60986389227c8bf2e6389f3dcb14fef1d96dc Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Thu, 20 Nov 2025 15:12:40 +1100 Subject: [PATCH 08/22] v2.0.14 --- apps/remix/package.json | 2 +- package-lock.json | 6 +++--- package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/remix/package.json b/apps/remix/package.json index 991466bde..4f47da8dc 100644 --- a/apps/remix/package.json +++ b/apps/remix/package.json @@ -106,5 +106,5 @@ "vite-plugin-babel-macros": "^1.0.6", "vite-tsconfig-paths": "^5.1.4" }, - "version": "2.0.13" + "version": "2.0.14" } diff --git a/package-lock.json b/package-lock.json index e6167426d..a3560a3bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@documenso/root", - "version": "2.0.13", + "version": "2.0.14", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@documenso/root", - "version": "2.0.13", + "version": "2.0.14", "workspaces": [ "apps/*", "packages/*" @@ -101,7 +101,7 @@ }, "apps/remix": { "name": "@documenso/remix", - "version": "2.0.13", + "version": "2.0.14", "dependencies": { "@cantoo/pdf-lib": "^2.5.2", "@documenso/api": "*", diff --git a/package.json b/package.json index 48be3fcdf..01d66b26c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "private": true, - "version": "2.0.13", + "version": "2.0.14", "scripts": { "build": "turbo run build", "dev": "turbo run dev --filter=@documenso/remix", From d2176627caa0db90aa864062050f826e2ea19800 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Sat, 22 Nov 2025 20:28:20 +1100 Subject: [PATCH 09/22] chore: dependency updates (#2229) --- .../{next.config.js => next.config.ts} | 5 +- apps/documentation/package.json | 16 +- apps/documentation/pages/_app.mdx | 10 - apps/documentation/pages/_app.tsx | 18 + apps/documentation/pages/_meta.js | 34 + apps/documentation/pages/_meta.json | 34 - apps/documentation/pages/developers/_meta.js | 18 + .../documentation/pages/developers/_meta.json | 18 - .../pages/developers/contributing/_meta.js | 4 + .../pages/developers/contributing/_meta.json | 4 - .../pages/developers/embedding/_meta.js | 11 + .../pages/developers/embedding/_meta.json | 11 - apps/documentation/pages/developers/index.mdx | 12 +- .../developers/local-development/_meta.js | 8 + .../developers/local-development/_meta.json | 8 - .../pages/developers/public-api/_meta.js | 6 + .../pages/developers/public-api/_meta.json | 6 - .../pages/developers/self-hosting/_meta.js | 6 + .../pages/developers/self-hosting/_meta.json | 6 - apps/documentation/pages/users/_meta.js | 23 + apps/documentation/pages/users/_meta.json | 23 - .../pages/users/compliance/_meta.js | 4 + .../pages/users/compliance/_meta.json | 4 - .../pages/users/documents/_meta.js | 7 + .../pages/users/documents/_meta.json | 7 - .../pages/users/documents/fields.mdx | 2 +- .../pages/users/licenses/_meta.js | 5 + .../pages/users/licenses/_meta.json | 5 - .../pages/users/organisations/_meta.js | 8 + .../pages/users/organisations/_meta.json | 8 - .../pages/users/organisations/sso/_meta.js | 4 + .../pages/users/organisations/sso/_meta.json | 4 - apps/documentation/postcss.config.cjs | 6 + apps/documentation/public/pdf.worker.min.js | 22 - apps/documentation/styles.css | 4 + ...tailwind.config.js => tailwind.config.cjs} | 2 + apps/documentation/theme.config.tsx | 14 +- apps/documentation/tsconfig.json | 27 +- apps/openpage-api/next.config.js | 4 - apps/openpage-api/next.config.ts | 5 + apps/openpage-api/package.json | 6 +- .../dialogs/document-duplicate-dialog.tsx | 4 +- .../embed/authoring/configure-fields-view.tsx | 18 +- .../embed-direct-template-client-page.tsx | 22 +- .../embed/embed-document-signing-page-v1.tsx | 36 +- .../multi-sign-document-signing-view.tsx | 28 +- .../app/components/general/billing-plans.tsx | 12 +- .../direct-template/direct-template-page.tsx | 4 +- .../document-signing-page-view-v1.tsx | 22 +- .../document-signing-page-view-v2.tsx | 22 +- .../document/document-certificate-qr-view.tsx | 15 +- .../general/document/document-edit-form.tsx | 4 +- .../envelope-editor-fields-page.tsx | 30 +- .../envelope-editor-preview-page.tsx | 10 +- .../envelope-signer-page-renderer.tsx | 2 +- .../general/template/template-edit-form.tsx | 4 +- apps/remix/app/root.tsx | 16 +- .../t.$teamUrl+/documents.$id._index.tsx | 21 +- .../t.$teamUrl+/templates.$id._index.tsx | 19 +- .../api+/branding.logo.organisation.$orgId.ts | 4 +- apps/remix/package.json | 123 +- apps/remix/vite.config.ts | 2 +- build.log | 769 + package-lock.json | 30040 ++++---- package.json | 74 +- packages/api/package.json | 11 +- .../document-flow/stepper-component.spec.ts | 15 +- .../e2e/documents/delete-documents.spec.ts | 32 +- .../e2e/envelopes/envelope-alignment.spec.ts | 59 +- .../include-document-certificate.spec.ts | 3 + .../e2e/teams/team-signature-settings.spec.ts | 8 +- .../template-autosave-fields-step.spec.ts | 19 +- packages/app-tests/package.json | 7 +- packages/assets/pdf.worker.min.js | 56611 ---------------- packages/auth/client/index.ts | 134 +- packages/auth/package.json | 12 +- packages/ee/package.json | 6 +- packages/email/package.json | 50 +- packages/email/render.tsx | 74 +- packages/eslint-config/package.json | 12 +- .../client-only/hooks/use-page-renderer.ts | 1 + packages/lib/jobs/client/inngest.ts | 2 +- .../internal/bulk-send-template.handler.ts | 3 +- packages/lib/package.json | 71 +- .../lib/server-only/admin/get-users-stats.ts | 2 +- packages/lib/universal/crypto.ts | 4 +- .../field-renderer/render-signature-field.ts | 1 + packages/lib/utils/render-email-with-i18n.tsx | 6 +- packages/prettier-config/package.json | 4 +- packages/prisma/package.json | 18 +- packages/signing/package.json | 6 +- packages/tailwind-config/package.json | 12 +- packages/trpc/package.json | 16 +- packages/tsconfig/base.json | 14 +- packages/tsconfig/package.json | 2 +- packages/ui/components/client-only.tsx | 17 +- .../pdf-viewer/pdf-viewer-konva.tsx | 22 +- packages/ui/lib/use-hydrated.ts | 13 + packages/ui/package.json | 97 +- .../ui/primitives/pdf-viewer/base.client.tsx | 10 + .../{pdf-viewer.tsx => pdf-viewer/base.tsx} | 55 +- packages/ui/primitives/pdf-viewer/index.ts | 1 + packages/ui/primitives/pdf-viewer/lazy.tsx | 7 + 103 files changed, 16694 insertions(+), 72473 deletions(-) rename apps/documentation/{next.config.js => next.config.ts} (82%) delete mode 100644 apps/documentation/pages/_app.mdx create mode 100644 apps/documentation/pages/_app.tsx create mode 100644 apps/documentation/pages/_meta.js delete mode 100644 apps/documentation/pages/_meta.json create mode 100644 apps/documentation/pages/developers/_meta.js delete mode 100644 apps/documentation/pages/developers/_meta.json create mode 100644 apps/documentation/pages/developers/contributing/_meta.js delete mode 100644 apps/documentation/pages/developers/contributing/_meta.json create mode 100644 apps/documentation/pages/developers/embedding/_meta.js delete mode 100644 apps/documentation/pages/developers/embedding/_meta.json create mode 100644 apps/documentation/pages/developers/local-development/_meta.js delete mode 100644 apps/documentation/pages/developers/local-development/_meta.json create mode 100644 apps/documentation/pages/developers/public-api/_meta.js delete mode 100644 apps/documentation/pages/developers/public-api/_meta.json create mode 100644 apps/documentation/pages/developers/self-hosting/_meta.js delete mode 100644 apps/documentation/pages/developers/self-hosting/_meta.json create mode 100644 apps/documentation/pages/users/_meta.js delete mode 100644 apps/documentation/pages/users/_meta.json create mode 100644 apps/documentation/pages/users/compliance/_meta.js delete mode 100644 apps/documentation/pages/users/compliance/_meta.json create mode 100644 apps/documentation/pages/users/documents/_meta.js delete mode 100644 apps/documentation/pages/users/documents/_meta.json create mode 100644 apps/documentation/pages/users/licenses/_meta.js delete mode 100644 apps/documentation/pages/users/licenses/_meta.json create mode 100644 apps/documentation/pages/users/organisations/_meta.js delete mode 100644 apps/documentation/pages/users/organisations/_meta.json create mode 100644 apps/documentation/pages/users/organisations/sso/_meta.js delete mode 100644 apps/documentation/pages/users/organisations/sso/_meta.json create mode 100644 apps/documentation/postcss.config.cjs delete mode 100644 apps/documentation/public/pdf.worker.min.js rename apps/documentation/{tailwind.config.js => tailwind.config.cjs} (86%) delete mode 100644 apps/openpage-api/next.config.js create mode 100644 apps/openpage-api/next.config.ts create mode 100644 build.log delete mode 100644 packages/assets/pdf.worker.min.js create mode 100644 packages/ui/lib/use-hydrated.ts create mode 100644 packages/ui/primitives/pdf-viewer/base.client.tsx rename packages/ui/primitives/{pdf-viewer.tsx => pdf-viewer/base.tsx} (81%) create mode 100644 packages/ui/primitives/pdf-viewer/index.ts create mode 100644 packages/ui/primitives/pdf-viewer/lazy.tsx diff --git a/apps/documentation/next.config.js b/apps/documentation/next.config.ts similarity index 82% rename from apps/documentation/next.config.js rename to apps/documentation/next.config.ts index cf8ff8811..f036b2d99 100644 --- a/apps/documentation/next.config.js +++ b/apps/documentation/next.config.ts @@ -1,7 +1,8 @@ +import type { NextConfig } from 'next'; + import nextra from 'nextra'; -/** @type {import('next').NextConfig} */ -const nextConfig = { +const nextConfig: NextConfig = { transpilePackages: [ '@documenso/assets', '@documenso/lib', diff --git a/apps/documentation/package.json b/apps/documentation/package.json index 6408e156b..3c62f3362 100644 --- a/apps/documentation/package.json +++ b/apps/documentation/package.json @@ -4,7 +4,7 @@ "private": true, "scripts": { "dev": "next dev -p 3002", - "build": "next build && next-sitemap", + "build": "next build", "start": "next start -p 3002", "lint:fix": "next lint --fix", "clean": "rimraf .next && rimraf node_modules" @@ -15,18 +15,18 @@ "@documenso/tailwind-config": "*", "@documenso/trpc": "*", "@documenso/ui": "*", - "next": "14.2.28", - "next-plausible": "^3.12.0", - "nextra": "^2.13.4", - "nextra-theme-docs": "^2.13.4", + "next": "^15", + "next-plausible": "^3.12.5", + "nextra": "^3", + "nextra-theme-docs": "^3", "react": "^18", "react-dom": "^18" }, "devDependencies": { "@types/node": "^20", - "@types/react": "^18", + "@types/react": "18.3.27", "@types/react-dom": "^18", - "next-sitemap": "^4.2.3", + "pagefind": "^1.2.0", "typescript": "5.6.2" } -} +} \ No newline at end of file diff --git a/apps/documentation/pages/_app.mdx b/apps/documentation/pages/_app.mdx deleted file mode 100644 index d0e1523cb..000000000 --- a/apps/documentation/pages/_app.mdx +++ /dev/null @@ -1,10 +0,0 @@ -import { PlausibleProvider } from '../providers/plausible.tsx'; -import '../styles.css'; - -export default function App({ Component, pageProps }) { - return ( - - - - ); -} diff --git a/apps/documentation/pages/_app.tsx b/apps/documentation/pages/_app.tsx new file mode 100644 index 000000000..61c300b07 --- /dev/null +++ b/apps/documentation/pages/_app.tsx @@ -0,0 +1,18 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import React from 'react'; + +import { PlausibleProvider } from '../providers/plausible'; +import '../styles.css'; + +export type AppProps = { + Component: React.ComponentType; + pageProps: any; +}; + +export default function App({ Component, pageProps }: AppProps) { + return ( + + + + ); +} diff --git a/apps/documentation/pages/_meta.js b/apps/documentation/pages/_meta.js new file mode 100644 index 000000000..3d804ac10 --- /dev/null +++ b/apps/documentation/pages/_meta.js @@ -0,0 +1,34 @@ +export default { + index: { + type: 'page', + title: 'Home', + display: 'hidden', + theme: { + timestamp: false, + }, + }, + users: { + type: 'page', + title: 'Users', + }, + developers: { + type: 'page', + title: 'Developers', + }, + updates: { + title: "What's New", + type: 'menu', + items: { + changelog: { + title: 'Changelog', + href: 'https://documenso.com/changelog', + newWindow: true, + }, + blog: { + title: 'Blog', + href: 'https://documenso.com/blog', + newWindow: true, + }, + }, + }, +}; diff --git a/apps/documentation/pages/_meta.json b/apps/documentation/pages/_meta.json deleted file mode 100644 index f8c538d54..000000000 --- a/apps/documentation/pages/_meta.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "index": { - "type": "page", - "title": "Home", - "display": "hidden", - "theme": { - "timestamp": false - } - }, - "users": { - "type": "page", - "title": "Users" - }, - "developers": { - "type": "page", - "title": "Developers" - }, - "updates": { - "title": "What's New", - "type": "menu", - "items": { - "changelog": { - "title": "Changelog", - "href": "https://documenso.com/changelog", - "newWindow": true - }, - "blog": { - "title": "Blog", - "href": "https://documenso.com/blog", - "newWindow": true - } - } - } -} \ No newline at end of file diff --git a/apps/documentation/pages/developers/_meta.js b/apps/documentation/pages/developers/_meta.js new file mode 100644 index 000000000..2f0f9b24d --- /dev/null +++ b/apps/documentation/pages/developers/_meta.js @@ -0,0 +1,18 @@ +export default { + index: 'Introduction', + '-- Development & Deployment': { + type: 'separator', + title: 'Development & Deployment', + }, + 'local-development': 'Local Development', + 'developer-mode': 'Developer Mode', + 'self-hosting': 'Self Hosting', + contributing: 'Contributing', + '-- API & Integration Guides': { + type: 'separator', + title: 'API & Integration Guides', + }, + 'public-api': 'Public API', + embedding: 'Embedding', + webhooks: 'Webhooks', +}; diff --git a/apps/documentation/pages/developers/_meta.json b/apps/documentation/pages/developers/_meta.json deleted file mode 100644 index b3238257d..000000000 --- a/apps/documentation/pages/developers/_meta.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "index": "Introduction", - "-- Development & Deployment": { - "type": "separator", - "title": "Development & Deployment" - }, - "local-development": "Local Development", - "developer-mode": "Developer Mode", - "self-hosting": "Self Hosting", - "contributing": "Contributing", - "-- API & Integration Guides": { - "type": "separator", - "title": "API & Integration Guides" - }, - "public-api": "Public API", - "embedding": "Embedding", - "webhooks": "Webhooks" -} diff --git a/apps/documentation/pages/developers/contributing/_meta.js b/apps/documentation/pages/developers/contributing/_meta.js new file mode 100644 index 000000000..65d40b84e --- /dev/null +++ b/apps/documentation/pages/developers/contributing/_meta.js @@ -0,0 +1,4 @@ +export default { + index: 'Getting Started', + 'contributing-translations': 'Contributing Translations', +}; diff --git a/apps/documentation/pages/developers/contributing/_meta.json b/apps/documentation/pages/developers/contributing/_meta.json deleted file mode 100644 index 262c5231c..000000000 --- a/apps/documentation/pages/developers/contributing/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "Getting Started", - "contributing-translations": "Contributing Translations" -} \ No newline at end of file diff --git a/apps/documentation/pages/developers/embedding/_meta.js b/apps/documentation/pages/developers/embedding/_meta.js new file mode 100644 index 000000000..bfa67f172 --- /dev/null +++ b/apps/documentation/pages/developers/embedding/_meta.js @@ -0,0 +1,11 @@ +export default { + index: 'Get Started', + react: 'React Integration', + vue: 'Vue Integration', + svelte: 'Svelte Integration', + solid: 'Solid Integration', + preact: 'Preact Integration', + angular: 'Angular Integration', + 'css-variables': 'CSS Variables', + authoring: 'Authoring', +}; diff --git a/apps/documentation/pages/developers/embedding/_meta.json b/apps/documentation/pages/developers/embedding/_meta.json deleted file mode 100644 index 78d8b2503..000000000 --- a/apps/documentation/pages/developers/embedding/_meta.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "index": "Get Started", - "react": "React Integration", - "vue": "Vue Integration", - "svelte": "Svelte Integration", - "solid": "Solid Integration", - "preact": "Preact Integration", - "angular": "Angular Integration", - "css-variables": "CSS Variables", - "authoring": "Authoring" -} \ No newline at end of file diff --git a/apps/documentation/pages/developers/index.mdx b/apps/documentation/pages/developers/index.mdx index 6b491a06b..4a65b2d3b 100644 --- a/apps/documentation/pages/developers/index.mdx +++ b/apps/documentation/pages/developers/index.mdx @@ -3,16 +3,16 @@ title: Developer Documentation description: Learn how to run Documenso locally, use our API, integrate webhooks, contribute to the project, and self-host Documenso. --- -import { Card, Cards } from 'nextra/components'; +import { Cards } from 'nextra/components'; # Developer Documentation The developer documentation is a comprehensive guide to help you: - - - - - + + + + + diff --git a/apps/documentation/pages/developers/local-development/_meta.js b/apps/documentation/pages/developers/local-development/_meta.js new file mode 100644 index 000000000..f092f5133 --- /dev/null +++ b/apps/documentation/pages/developers/local-development/_meta.js @@ -0,0 +1,8 @@ +export default { + index: 'Get Started', + quickstart: 'Developer Quickstart', + manual: 'Manual Setup', + gitpod: 'Gitpod', + 'signing-certificate': 'Signing Certificate', + translations: 'Translations', +}; diff --git a/apps/documentation/pages/developers/local-development/_meta.json b/apps/documentation/pages/developers/local-development/_meta.json deleted file mode 100644 index 725e5e278..000000000 --- a/apps/documentation/pages/developers/local-development/_meta.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "index": "Get Started", - "quickstart": "Developer Quickstart", - "manual": "Manual Setup", - "gitpod": "Gitpod", - "signing-certificate": "Signing Certificate", - "translations": "Translations" -} \ No newline at end of file diff --git a/apps/documentation/pages/developers/public-api/_meta.js b/apps/documentation/pages/developers/public-api/_meta.js new file mode 100644 index 000000000..0db8e0114 --- /dev/null +++ b/apps/documentation/pages/developers/public-api/_meta.js @@ -0,0 +1,6 @@ +export default { + index: 'Get Started', + authentication: 'Authentication', + 'rate-limits': 'Rate Limits', + versioning: 'Versioning', +}; diff --git a/apps/documentation/pages/developers/public-api/_meta.json b/apps/documentation/pages/developers/public-api/_meta.json deleted file mode 100644 index 04132f894..000000000 --- a/apps/documentation/pages/developers/public-api/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "index": "Get Started", - "authentication": "Authentication", - "rate-limits": "Rate Limits", - "versioning": "Versioning" -} diff --git a/apps/documentation/pages/developers/self-hosting/_meta.js b/apps/documentation/pages/developers/self-hosting/_meta.js new file mode 100644 index 000000000..b4f015205 --- /dev/null +++ b/apps/documentation/pages/developers/self-hosting/_meta.js @@ -0,0 +1,6 @@ +export default { + index: 'Getting Started', + 'signing-certificate': 'Signing Certificate', + 'how-to': 'How To', + 'setting-up-oauth-providers': 'Setting up OAuth Providers', +}; diff --git a/apps/documentation/pages/developers/self-hosting/_meta.json b/apps/documentation/pages/developers/self-hosting/_meta.json deleted file mode 100644 index 5f40bbbc2..000000000 --- a/apps/documentation/pages/developers/self-hosting/_meta.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "index": "Getting Started", - "signing-certificate": "Signing Certificate", - "how-to": "How To", - "setting-up-oauth-providers": "Setting up OAuth Providers" -} \ No newline at end of file diff --git a/apps/documentation/pages/users/_meta.js b/apps/documentation/pages/users/_meta.js new file mode 100644 index 000000000..7853a2557 --- /dev/null +++ b/apps/documentation/pages/users/_meta.js @@ -0,0 +1,23 @@ +export default { + index: 'Introduction', + support: 'Support', + '-- How To Use': { + type: 'separator', + title: 'How To Use', + }, + 'get-started': 'Get Started', + profile: 'Public Profile', + organisations: 'Organisations', + documents: 'Documents', + templates: 'Templates', + branding: 'Branding', + 'email-domains': 'Email Domains', + 'direct-links': 'Direct Signing Links', + '-- Legal Overview': { + type: 'separator', + title: 'Legal Overview', + }, + 'fair-use': 'Fair Use Policy', + licenses: 'Licenses', + compliance: 'Compliance', +}; diff --git a/apps/documentation/pages/users/_meta.json b/apps/documentation/pages/users/_meta.json deleted file mode 100644 index 3726fbd08..000000000 --- a/apps/documentation/pages/users/_meta.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "index": "Introduction", - "support": "Support", - "-- How To Use": { - "type": "separator", - "title": "How To Use" - }, - "get-started": "Get Started", - "profile": "Public Profile", - "organisations": "Organisations", - "documents": "Documents", - "templates": "Templates", - "branding": "Branding", - "email-domains": "Email Domains", - "direct-links": "Direct Signing Links", - "-- Legal Overview": { - "type": "separator", - "title": "Legal Overview" - }, - "fair-use": "Fair Use Policy", - "licenses": "Licenses", - "compliance": "Compliance" -} \ No newline at end of file diff --git a/apps/documentation/pages/users/compliance/_meta.js b/apps/documentation/pages/users/compliance/_meta.js new file mode 100644 index 000000000..52586af89 --- /dev/null +++ b/apps/documentation/pages/users/compliance/_meta.js @@ -0,0 +1,4 @@ +export default { + 'signature-levels': 'Signature Levels', + 'standards-and-regulations': 'Standards and Regulations', +}; diff --git a/apps/documentation/pages/users/compliance/_meta.json b/apps/documentation/pages/users/compliance/_meta.json deleted file mode 100644 index e61b143f8..000000000 --- a/apps/documentation/pages/users/compliance/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "signature-levels": "Signature Levels", - "standards-and-regulations": "Standards and Regulations" -} \ No newline at end of file diff --git a/apps/documentation/pages/users/documents/_meta.js b/apps/documentation/pages/users/documents/_meta.js new file mode 100644 index 000000000..b7a45ef0f --- /dev/null +++ b/apps/documentation/pages/users/documents/_meta.js @@ -0,0 +1,7 @@ +export default { + 'sending-documents': 'Sending Documents', + 'document-preferences': 'Document Preferences', + 'document-visibility': 'Document Visibility', + fields: 'Document Fields', + 'email-preferences': 'Email Preferences', +}; diff --git a/apps/documentation/pages/users/documents/_meta.json b/apps/documentation/pages/users/documents/_meta.json deleted file mode 100644 index 9312fe12c..000000000 --- a/apps/documentation/pages/users/documents/_meta.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "sending-documents": "Sending Documents", - "document-preferences": "Document Preferences", - "document-visibility": "Document Visibility", - "fields": "Document Fields", - "email-preferences": "Email Preferences" -} \ No newline at end of file diff --git a/apps/documentation/pages/users/documents/fields.mdx b/apps/documentation/pages/users/documents/fields.mdx index b352ca9ea..b3411a872 100644 --- a/apps/documentation/pages/users/documents/fields.mdx +++ b/apps/documentation/pages/users/documents/fields.mdx @@ -178,7 +178,7 @@ The dropdown/select field collects a single choice from a list of options. Place the dropdown/select field on the document where you want the signer to select a choice. The dropdown/select field comes with additional settings that can be configured. -![The dropdown/select field in the Documenso document editor](/document-signing/dropdown-field-document-editor-view.webp) +{/* ![The dropdown/select field in the Documenso document editor](/document-signing/dropdown-field-document-editor-view.webp) */} The dropdown/select field settings include: diff --git a/apps/documentation/pages/users/licenses/_meta.js b/apps/documentation/pages/users/licenses/_meta.js new file mode 100644 index 000000000..0d4c939fc --- /dev/null +++ b/apps/documentation/pages/users/licenses/_meta.js @@ -0,0 +1,5 @@ +export default { + index: 'Overview', + 'community-edition': 'Community Edition', + 'enterprise-edition': 'Enterprise Edition', +}; diff --git a/apps/documentation/pages/users/licenses/_meta.json b/apps/documentation/pages/users/licenses/_meta.json deleted file mode 100644 index f9e85ffeb..000000000 --- a/apps/documentation/pages/users/licenses/_meta.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "index": "Overview", - "community-edition": "Community Edition", - "enterprise-edition": "Enterprise Edition" -} \ No newline at end of file diff --git a/apps/documentation/pages/users/organisations/_meta.js b/apps/documentation/pages/users/organisations/_meta.js new file mode 100644 index 000000000..c0a7cf6e8 --- /dev/null +++ b/apps/documentation/pages/users/organisations/_meta.js @@ -0,0 +1,8 @@ +export default { + index: 'Introduction', + members: 'Members', + groups: 'Groups', + teams: 'Teams', + sso: 'SSO', + billing: 'Billing', +}; diff --git a/apps/documentation/pages/users/organisations/_meta.json b/apps/documentation/pages/users/organisations/_meta.json deleted file mode 100644 index dfc75fc95..000000000 --- a/apps/documentation/pages/users/organisations/_meta.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "index": "Introduction", - "members": "Members", - "groups": "Groups", - "teams": "Teams", - "sso": "SSO", - "billing": "Billing" -} diff --git a/apps/documentation/pages/users/organisations/sso/_meta.js b/apps/documentation/pages/users/organisations/sso/_meta.js new file mode 100644 index 000000000..797237e72 --- /dev/null +++ b/apps/documentation/pages/users/organisations/sso/_meta.js @@ -0,0 +1,4 @@ +export default { + index: 'Configuration', + 'microsoft-entra-id': 'Microsoft Entra ID', +}; diff --git a/apps/documentation/pages/users/organisations/sso/_meta.json b/apps/documentation/pages/users/organisations/sso/_meta.json deleted file mode 100644 index 4ba07c6f6..000000000 --- a/apps/documentation/pages/users/organisations/sso/_meta.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "index": "Configuration", - "microsoft-entra-id": "Microsoft Entra ID" -} diff --git a/apps/documentation/postcss.config.cjs b/apps/documentation/postcss.config.cjs new file mode 100644 index 000000000..12a703d90 --- /dev/null +++ b/apps/documentation/postcss.config.cjs @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/apps/documentation/public/pdf.worker.min.js b/apps/documentation/public/pdf.worker.min.js deleted file mode 100644 index 122422609..000000000 --- a/apps/documentation/public/pdf.worker.min.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * @licstart The following is the entire license notice for the - * JavaScript code in this page - * - * Copyright 2023 Mozilla Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @licend The above is the entire license notice for the - * JavaScript code in this page - */ -!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=e.pdfjsWorker=t():"function"==typeof define&&define.amd?define("pdfjs-dist/build/pdf.worker",[],(()=>e.pdfjsWorker=t())):"object"==typeof exports?exports["pdfjs-dist/build/pdf.worker"]=e.pdfjsWorker=t():e["pdfjs-dist/build/pdf.worker"]=e.pdfjsWorker=t()}(globalThis,(()=>(()=>{"use strict";var e=[,(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.WorkerTask=t.WorkerMessageHandler=void 0;var r=a(2),n=a(3),i=a(4),s=a(6),o=a(10),c=a(68),l=a(73),h=a(104),u=a(105),d=a(72);class WorkerTask{constructor(e){this.name=e;this.terminated=!1;this._capability=new r.PromiseCapability}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error("Worker task was terminated")}}t.WorkerTask=WorkerTask;class WorkerMessageHandler{static setup(e,t){let a=!1;e.on("test",(function(t){if(!a){a=!0;e.send("test",t instanceof Uint8Array)}}));e.on("configure",(function(e){(0,r.setVerbosityLevel)(e.verbosity)}));e.on("GetDocRequest",(function(e){return WorkerMessageHandler.createDocumentHandler(e,t)}))}static createDocumentHandler(e,t){let a,f=!1,g=null;const p=new Set,m=(0,r.getVerbosityLevel)(),{docId:b,apiVersion:y}=e,w="3.11.174";if(y!==w)throw new Error(`The API version "${y}" does not match the Worker version "${w}".`);const S=[];for(const e in[])S.push(e);if(S.length)throw new Error("The `Array.prototype` contains unexpected enumerable properties: "+S.join(", ")+"; thus breaking e.g. `for...in` iteration of `Array`s.");const x=b+"_worker";let C=new h.MessageHandler(x,b,t);function ensureNotTerminated(){if(f)throw new Error("Worker was terminated")}function startWorkerTask(e){p.add(e)}function finishWorkerTask(e){e.finish();p.delete(e)}async function loadDocument(e){await a.ensureDoc("checkHeader");await a.ensureDoc("parseStartXRef");await a.ensureDoc("parse",[e]);await a.ensureDoc("checkFirstPage",[e]);await a.ensureDoc("checkLastPage",[e]);const t=await a.ensureDoc("isPureXfa");if(t){const e=new WorkerTask("loadXfaFonts");startWorkerTask(e);await Promise.all([a.loadXfaFonts(C,e).catch((e=>{})).then((()=>finishWorkerTask(e))),a.loadXfaImages()])}const[r,n]=await Promise.all([a.ensureDoc("numPages"),a.ensureDoc("fingerprints")]);return{numPages:r,fingerprints:n,htmlForXfa:t?await a.ensureDoc("htmlForXfa"):null}}function getPdfManager({data:e,password:t,disableAutoFetch:a,rangeChunkSize:i,length:o,docBaseUrl:c,enableXfa:l,evaluatorOptions:h}){const d={source:null,disableAutoFetch:a,docBaseUrl:c,docId:b,enableXfa:l,evaluatorOptions:h,handler:C,length:o,password:t,rangeChunkSize:i},f=new r.PromiseCapability;let p;if(e){try{d.source=e;p=new s.LocalPdfManager(d);f.resolve(p)}catch(e){f.reject(e)}return f.promise}let m,y=[];try{m=new u.PDFWorkerStream(C)}catch(e){f.reject(e);return f.promise}const w=m.getFullReader();w.headersReady.then((function(){if(w.isRangeSupported){d.source=m;d.length=w.contentLength;d.disableAutoFetch||=w.isStreamingSupported;p=new s.NetworkPdfManager(d);for(const e of y)p.sendProgressiveData(e);y=[];f.resolve(p);g=null}})).catch((function(e){f.reject(e);g=null}));let S=0;new Promise((function(e,t){const readChunk=function({value:e,done:a}){try{ensureNotTerminated();if(a){p||function(){const e=(0,n.arrayBuffersToBytes)(y);o&&e.length!==o&&(0,r.warn)("reported HTTP length is different from actual");try{d.source=e;p=new s.LocalPdfManager(d);f.resolve(p)}catch(e){f.reject(e)}y=[]}();g=null;return}S+=e.byteLength;w.isStreamingSupported||C.send("DocProgress",{loaded:S,total:Math.max(S,w.contentLength||0)});p?p.sendProgressiveData(e):y.push(e);w.read().then(readChunk,t)}catch(e){t(e)}};w.read().then(readChunk,t)})).catch((function(e){f.reject(e);g=null}));g=function(e){m.cancelAllRequests(e)};return f.promise}C.on("GetPage",(function(e){return a.getPage(e.pageIndex).then((function(e){return Promise.all([a.ensure(e,"rotate"),a.ensure(e,"ref"),a.ensure(e,"userUnit"),a.ensure(e,"view")]).then((function([e,t,a,r]){return{rotate:e,ref:t,userUnit:a,view:r}}))}))}));C.on("GetPageIndex",(function(e){const t=i.Ref.get(e.num,e.gen);return a.ensureCatalog("getPageIndex",[t])}));C.on("GetDestinations",(function(e){return a.ensureCatalog("destinations")}));C.on("GetDestination",(function(e){return a.ensureCatalog("getDestination",[e.id])}));C.on("GetPageLabels",(function(e){return a.ensureCatalog("pageLabels")}));C.on("GetPageLayout",(function(e){return a.ensureCatalog("pageLayout")}));C.on("GetPageMode",(function(e){return a.ensureCatalog("pageMode")}));C.on("GetViewerPreferences",(function(e){return a.ensureCatalog("viewerPreferences")}));C.on("GetOpenAction",(function(e){return a.ensureCatalog("openAction")}));C.on("GetAttachments",(function(e){return a.ensureCatalog("attachments")}));C.on("GetDocJSActions",(function(e){return a.ensureCatalog("jsActions")}));C.on("GetPageJSActions",(function({pageIndex:e}){return a.getPage(e).then((function(e){return a.ensure(e,"jsActions")}))}));C.on("GetOutline",(function(e){return a.ensureCatalog("documentOutline")}));C.on("GetOptionalContentConfig",(function(e){return a.ensureCatalog("optionalContentConfig")}));C.on("GetPermissions",(function(e){return a.ensureCatalog("permissions")}));C.on("GetMetadata",(function(e){return Promise.all([a.ensureDoc("documentInfo"),a.ensureCatalog("metadata")])}));C.on("GetMarkInfo",(function(e){return a.ensureCatalog("markInfo")}));C.on("GetData",(function(e){return a.requestLoadedStream().then((function(e){return e.bytes}))}));C.on("GetAnnotations",(function({pageIndex:e,intent:t}){return a.getPage(e).then((function(a){const r=new WorkerTask(`GetAnnotations: page ${e}`);startWorkerTask(r);return a.getAnnotationsData(C,r,t).then((e=>{finishWorkerTask(r);return e}),(e=>{finishWorkerTask(r);throw e}))}))}));C.on("GetFieldObjects",(function(e){return a.ensureDoc("fieldObjects")}));C.on("HasJSActions",(function(e){return a.ensureDoc("hasJSActions")}));C.on("GetCalculationOrderIds",(function(e){return a.ensureDoc("calculationOrderIds")}));C.on("SaveDocument",(async function({isPureXfa:e,numPages:t,annotationStorage:s,filename:c}){const h=[a.requestLoadedStream(),a.ensureCatalog("acroForm"),a.ensureCatalog("acroFormRef"),a.ensureDoc("startXRef"),a.ensureDoc("xref"),a.ensureDoc("linearization"),a.ensureCatalog("structTreeRoot")],u=[],f=e?null:(0,n.getNewAnnotationsMap)(s),[g,p,m,b,y,w,S]=await Promise.all(h),x=y.trailer.getRaw("Root")||null;let k;if(f){S?await S.canUpdateStructTree({pdfManager:a,newAnnotationsByPage:f})&&(k=S):await d.StructTreeRoot.canCreateStructureTree({catalogRef:x,pdfManager:a,newAnnotationsByPage:f})&&(k=null);const e=o.AnnotationFactory.generateImages(s.values(),y,a.evaluatorOptions.isOffscreenCanvasSupported),t=void 0===k?u:[];for(const[r,n]of f)t.push(a.getPage(r).then((t=>{const a=new WorkerTask(`Save (editor): page ${r}`);return t.saveNewAnnotations(C,a,n,e).finally((function(){finishWorkerTask(a)}))})));null===k?u.push(Promise.all(t).then((async e=>{await d.StructTreeRoot.createStructureTree({newAnnotationsByPage:f,xref:y,catalogRef:x,pdfManager:a,newRefs:e});return e}))):k&&u.push(Promise.all(t).then((async e=>{await k.updateStructureTree({newAnnotationsByPage:f,pdfManager:a,newRefs:e});return e})))}if(e)u.push(a.serializeXfaData(s));else for(let e=0;ee.needAppearances)),M=p instanceof i.Dict&&p.get("XFA")||null;let D=null,E=!1;if(Array.isArray(M)){for(let e=0,t=M.length;e{"string"==typeof a&&(e[t]=(0,r.stringToPDFString)(a))}));N={rootRef:x,encryptRef:y.trailer.getRaw("Encrypt")||null,newRef:y.getNewTemporaryRef(),infoRef:y.trailer.getRaw("Info")||null,info:e,fileIds:y.trailer.get("ID")||null,startXRef:w?b:y.lastXRefStreamPos??b,filename:c}}return(0,l.incrementalUpdate)({originalData:g.bytes,xrefInfo:N,newRefs:F,xref:y,hasXfa:!!M,xfaDatasetsRef:D,hasXfaDatasetsEntry:E,needAppearances:T,acroFormRef:m,acroForm:p,xfaData:O}).finally((()=>{y.resetNewTemporaryRef()}))}));C.on("GetOperatorList",(function(e,t){const n=e.pageIndex;a.getPage(n).then((function(a){const i=new WorkerTask(`GetOperatorList: page ${n}`);startWorkerTask(i);const s=m>=r.VerbosityLevel.INFOS?Date.now():0;a.getOperatorList({handler:C,sink:t,task:i,intent:e.intent,cacheKey:e.cacheKey,annotationStorage:e.annotationStorage}).then((function(e){finishWorkerTask(i);s&&(0,r.info)(`page=${n+1} - getOperatorList: time=${Date.now()-s}ms, len=${e.length}`);t.close()}),(function(e){finishWorkerTask(i);i.terminated||t.error(e)}))}))}));C.on("GetTextContent",(function(e,t){const{pageIndex:n,includeMarkedContent:i,disableNormalization:s}=e;a.getPage(n).then((function(e){const a=new WorkerTask("GetTextContent: page "+n);startWorkerTask(a);const o=m>=r.VerbosityLevel.INFOS?Date.now():0;e.extractTextContent({handler:C,task:a,sink:t,includeMarkedContent:i,disableNormalization:s}).then((function(){finishWorkerTask(a);o&&(0,r.info)(`page=${n+1} - getTextContent: time=`+(Date.now()-o)+"ms");t.close()}),(function(e){finishWorkerTask(a);a.terminated||t.error(e)}))}))}));C.on("GetStructTree",(function(e){return a.getPage(e.pageIndex).then((function(e){return a.ensure(e,"getStructTree")}))}));C.on("FontFallback",(function(e){return a.fontFallback(e.id,C)}));C.on("Cleanup",(function(e){return a.cleanup(!0)}));C.on("Terminate",(function(e){f=!0;const t=[];if(a){a.terminate(new r.AbortException("Worker was terminated."));const e=a.cleanup();t.push(e);a=null}else(0,c.clearGlobalCaches)();g&&g(new r.AbortException("Worker was terminated."));for(const e of p){t.push(e.finished);e.terminate()}return Promise.all(t).then((function(){C.destroy();C=null}))}));C.on("Ready",(function(t){!function setupDoc(e){function onSuccess(e){ensureNotTerminated();C.send("GetDoc",{pdfInfo:e})}function onFailure(e){ensureNotTerminated();if(e instanceof r.PasswordException){const t=new WorkerTask(`PasswordException: response ${e.code}`);startWorkerTask(t);C.sendWithPromise("PasswordRequest",e).then((function({password:e}){finishWorkerTask(t);a.updatePassword(e);pdfManagerReady()})).catch((function(){finishWorkerTask(t);C.send("DocException",e)}))}else e instanceof r.InvalidPDFException||e instanceof r.MissingPDFException||e instanceof r.UnexpectedResponseException||e instanceof r.UnknownErrorException?C.send("DocException",e):C.send("DocException",new r.UnknownErrorException(e.message,e.toString()))}function pdfManagerReady(){ensureNotTerminated();loadDocument(!1).then(onSuccess,(function(e){ensureNotTerminated();e instanceof n.XRefParseException?a.requestLoadedStream().then((function(){ensureNotTerminated();loadDocument(!0).then(onSuccess,onFailure)})):onFailure(e)}))}ensureNotTerminated();getPdfManager(e).then((function(e){if(f){e.terminate(new r.AbortException("Worker was terminated."));throw new Error("Worker was terminated")}a=e;a.requestLoadedStream(!0).then((e=>{C.send("DataLoaded",{length:e.bytes.byteLength})}))})).then(pdfManagerReady,onFailure)}(e);e=null}));return x}static initializeFromPort(e){const t=new h.MessageHandler("worker","main",e);WorkerMessageHandler.setup(t,e);t.send("ready",null)}}t.WorkerMessageHandler=WorkerMessageHandler;"undefined"==typeof window&&!r.isNodeJS&&"undefined"!=typeof self&&function isMessagePort(e){return"function"==typeof e.postMessage&&"onmessage"in e}(self)&&WorkerMessageHandler.initializeFromPort(self)},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.VerbosityLevel=t.Util=t.UnknownErrorException=t.UnexpectedResponseException=t.TextRenderingMode=t.RenderingIntentFlag=t.PromiseCapability=t.PermissionFlag=t.PasswordResponses=t.PasswordException=t.PageActionEventType=t.OPS=t.MissingPDFException=t.MAX_IMAGE_SIZE_TO_CACHE=t.LINE_FACTOR=t.LINE_DESCENT_FACTOR=t.InvalidPDFException=t.ImageKind=t.IDENTITY_MATRIX=t.FormatError=t.FeatureTest=t.FONT_IDENTITY_MATRIX=t.DocumentActionEventType=t.CMapCompressionType=t.BaseException=t.BASELINE_FACTOR=t.AnnotationType=t.AnnotationReplyType=t.AnnotationPrefix=t.AnnotationMode=t.AnnotationFlag=t.AnnotationFieldFlag=t.AnnotationEditorType=t.AnnotationEditorPrefix=t.AnnotationEditorParamsType=t.AnnotationBorderStyleType=t.AnnotationActionEventType=t.AbortException=void 0;t.assert=function assert(e,t){e||unreachable(t)};t.bytesToString=bytesToString;t.createValidAbsoluteUrl=function createValidAbsoluteUrl(e,t=null,a=null){if(!e)return null;try{if(a&&"string"==typeof e){if(a.addDefaultProtocol&&e.startsWith("www.")){const t=e.match(/\./g);t?.length>=2&&(e=`http://${e}`)}if(a.tryConvertEncoding)try{e=stringToUTF8String(e)}catch{}}const r=t?new URL(e,t):new URL(e);if(function _isValidProtocol(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}(r))return r}catch{}return null};t.getModificationDate=function getModificationDate(e=new Date){return[e.getUTCFullYear().toString(),(e.getUTCMonth()+1).toString().padStart(2,"0"),e.getUTCDate().toString().padStart(2,"0"),e.getUTCHours().toString().padStart(2,"0"),e.getUTCMinutes().toString().padStart(2,"0"),e.getUTCSeconds().toString().padStart(2,"0")].join("")};t.getUuid=function getUuid(){if("undefined"!=typeof crypto&&"function"==typeof crypto?.randomUUID)return crypto.randomUUID();const e=new Uint8Array(32);if("undefined"!=typeof crypto&&"function"==typeof crypto?.getRandomValues)crypto.getRandomValues(e);else for(let t=0;t<32;t++)e[t]=Math.floor(255*Math.random());return bytesToString(e)};t.getVerbosityLevel=function getVerbosityLevel(){return n};t.info=function info(e){n>=r.INFOS&&console.log(`Info: ${e}`)};t.isArrayBuffer=function isArrayBuffer(e){return"object"==typeof e&&void 0!==e?.byteLength};t.isArrayEqual=function isArrayEqual(e,t){if(e.length!==t.length)return!1;for(let a=0,r=e.length;at?t.normalize("NFKC"):l.get(a)))};t.objectFromMap=function objectFromMap(e){const t=Object.create(null);for(const[a,r]of e)t[a]=r;return t};t.objectSize=function objectSize(e){return Object.keys(e).length};t.setVerbosityLevel=function setVerbosityLevel(e){Number.isInteger(e)&&(n=e)};t.shadow=shadow;t.string32=function string32(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)};t.stringToBytes=stringToBytes;t.stringToPDFString=function stringToPDFString(e){if(e[0]>="ï"){let t;"þ"===e[0]&&"ÿ"===e[1]?t="utf-16be":"ÿ"===e[0]&&"þ"===e[1]?t="utf-16le":"ï"===e[0]&&"»"===e[1]&&"¿"===e[2]&&(t="utf-8");if(t)try{const a=new TextDecoder(t,{fatal:!0}),r=stringToBytes(e);return a.decode(r)}catch(e){warn(`stringToPDFString: "${e}".`)}}const t=[];for(let a=0,r=e.length;a=r.WARNINGS&&console.log(`Warning: ${e}`)}function unreachable(e){throw new Error(e)}function shadow(e,t,a,r=!1){Object.defineProperty(e,t,{value:a,enumerable:!r,configurable:!0,writable:!1});return a}const i=function BaseExceptionClosure(){function BaseException(e,t){this.constructor===BaseException&&unreachable("Cannot initialize BaseException.");this.message=e;this.name=t}BaseException.prototype=new Error;BaseException.constructor=BaseException;return BaseException}();t.BaseException=i;t.PasswordException=class PasswordException extends i{constructor(e,t){super(e,"PasswordException");this.code=t}};t.UnknownErrorException=class UnknownErrorException extends i{constructor(e,t){super(e,"UnknownErrorException");this.details=t}};t.InvalidPDFException=class InvalidPDFException extends i{constructor(e){super(e,"InvalidPDFException")}};t.MissingPDFException=class MissingPDFException extends i{constructor(e){super(e,"MissingPDFException")}};t.UnexpectedResponseException=class UnexpectedResponseException extends i{constructor(e,t){super(e,"UnexpectedResponseException");this.status=t}};t.FormatError=class FormatError extends i{constructor(e){super(e,"FormatError")}};t.AbortException=class AbortException extends i{constructor(e){super(e,"AbortException")}};function bytesToString(e){"object"==typeof e&&void 0!==e?.length||unreachable("Invalid argument for bytesToString");const t=e.length,a=8192;if(te.toString(16).padStart(2,"0")));t.Util=class Util{static makeHexColor(e,t,a){return`#${s[e]}${s[t]}${s[a]}`}static scaleMinMax(e,t){let a;if(e[0]){if(e[0]<0){a=t[0];t[0]=t[1];t[1]=a}t[0]*=e[0];t[1]*=e[0];if(e[3]<0){a=t[2];t[2]=t[3];t[3]=a}t[2]*=e[3];t[3]*=e[3]}else{a=t[0];t[0]=t[2];t[2]=a;a=t[1];t[1]=t[3];t[3]=a;if(e[1]<0){a=t[2];t[2]=t[3];t[3]=a}t[2]*=e[1];t[3]*=e[1];if(e[2]<0){a=t[0];t[0]=t[1];t[1]=a}t[0]*=e[2];t[1]*=e[2]}t[0]+=e[4];t[1]+=e[4];t[2]+=e[5];t[3]+=e[5]}static transform(e,t){return[e[0]*t[0]+e[2]*t[1],e[1]*t[0]+e[3]*t[1],e[0]*t[2]+e[2]*t[3],e[1]*t[2]+e[3]*t[3],e[0]*t[4]+e[2]*t[5]+e[4],e[1]*t[4]+e[3]*t[5]+e[5]]}static applyTransform(e,t){return[e[0]*t[0]+e[1]*t[2]+t[4],e[0]*t[1]+e[1]*t[3]+t[5]]}static applyInverseTransform(e,t){const a=t[0]*t[3]-t[1]*t[2];return[(e[0]*t[3]-e[1]*t[2]+t[2]*t[5]-t[4]*t[3])/a,(-e[0]*t[1]+e[1]*t[0]+t[4]*t[1]-t[5]*t[0])/a]}static getAxialAlignedBoundingBox(e,t){const a=this.applyTransform(e,t),r=this.applyTransform(e.slice(2,4),t),n=this.applyTransform([e[0],e[3]],t),i=this.applyTransform([e[2],e[1]],t);return[Math.min(a[0],r[0],n[0],i[0]),Math.min(a[1],r[1],n[1],i[1]),Math.max(a[0],r[0],n[0],i[0]),Math.max(a[1],r[1],n[1],i[1])]}static inverseTransform(e){const t=e[0]*e[3]-e[1]*e[2];return[e[3]/t,-e[1]/t,-e[2]/t,e[0]/t,(e[2]*e[5]-e[4]*e[3])/t,(e[4]*e[1]-e[5]*e[0])/t]}static singularValueDecompose2dScale(e){const t=[e[0],e[2],e[1],e[3]],a=e[0]*t[0]+e[1]*t[2],r=e[0]*t[1]+e[1]*t[3],n=e[2]*t[0]+e[3]*t[2],i=e[2]*t[1]+e[3]*t[3],s=(a+i)/2,o=Math.sqrt((a+i)**2-4*(a*i-n*r))/2,c=s+o||1,l=s-o||1;return[Math.sqrt(c),Math.sqrt(l)]}static normalizeRect(e){const t=e.slice(0);if(e[0]>e[2]){t[0]=e[2];t[2]=e[0]}if(e[1]>e[3]){t[1]=e[3];t[3]=e[1]}return t}static intersect(e,t){const a=Math.max(Math.min(e[0],e[2]),Math.min(t[0],t[2])),r=Math.min(Math.max(e[0],e[2]),Math.max(t[0],t[2]));if(a>r)return null;const n=Math.max(Math.min(e[1],e[3]),Math.min(t[1],t[3])),i=Math.min(Math.max(e[1],e[3]),Math.max(t[1],t[3]));return n>i?null:[a,n,r,i]}static bezierBoundingBox(e,t,a,r,n,i,s,o){const c=[],l=[[],[]];let h,u,d,f,g,p,m,b;for(let l=0;l<2;++l){if(0===l){u=6*e-12*a+6*n;h=-3*e+9*a-9*n+3*s;d=3*a-3*e}else{u=6*t-12*r+6*i;h=-3*t+9*r-9*i+3*o;d=3*r-3*t}if(Math.abs(h)<1e-12){if(Math.abs(u)<1e-12)continue;f=-d/u;0{this.resolve=t=>{this.#e=!0;e(t)};this.reject=e=>{this.#e=!0;t(e)}}))}get settled(){return this.#e}};let c=null,l=null;t.AnnotationPrefix="pdfjs_internal_id_"},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XRefParseException=t.XRefEntryException=t.ParserEOFException=t.PDF_VERSION_REGEXP=t.MissingDataException=void 0;t.arrayBuffersToBytes=function arrayBuffersToBytes(e){const t=e.length;if(0===t)return new Uint8Array(0);if(1===t)return new Uint8Array(e[0]);let a=0;for(let r=0;r=0;t--){const r=s[t];if(r instanceof n.Dict)for(const t of r.getKeys()){const s=a[t];if(!s)continue;const o=[];_collectJS(r.getRaw(t),e,o,new n.RefSet);o.length>0&&(i[s]=o)}}if(t.has("A")){const a=[];_collectJS(t.get("A"),e,a,new n.RefSet);a.length>0&&(i.Action=a)}return(0,r.objectSize)(i)>0?i:null};t.encodeToXmlString=function encodeToXmlString(e){const t=[];let a=0;for(let r=0,n=e.length;r55295&&(n<57344||n>65533)&&r++;a=r+1}}if(0===t.length)return e;a126||35===n||40===n||41===n||60===n||62===n||91===n||93===n||123===n||125===n||47===n||37===n){a"\n"===e?"\\n":"\r"===e?"\\r":`\\${e}`))};t.getInheritableProperty=getInheritableProperty;t.getLookupTableFactory=function getLookupTableFactory(e){let t;return function(){if(e){t=Object.create(null);e(t);e=null}return t}};t.getNewAnnotationsMap=function getNewAnnotationsMap(e){if(!e)return null;const t=new Map;for(const[a,n]of e){if(!a.startsWith(r.AnnotationEditorPrefix))continue;let e=t.get(n.pageIndex);if(!e){e=[];t.set(n.pageIndex,e)}e.push(n)}return t.size>0?t:null};t.getRotationMatrix=function getRotationMatrix(e,t,a){switch(e){case 90:return[0,1,-1,0,t,0];case 180:return[-1,0,0,-1,t,a];case 270:return[0,-1,1,0,0,a];default:throw new Error("Invalid rotation")}};t.isAscii=function isAscii(e){return/^[\x00-\x7F]*$/.test(e)};t.isWhiteSpace=function isWhiteSpace(e){return 32===e||9===e||13===e||10===e};t.log2=function log2(e){if(e<=0)return 0;return Math.ceil(Math.log2(e))};t.numberToString=function numberToString(e){if(Number.isInteger(e))return e.toString();const t=Math.round(100*e);if(t%100==0)return(t/100).toString();if(t%10==0)return e.toFixed(1);return e.toFixed(2)};t.parseXFAPath=function parseXFAPath(e){const t=/(.+)\[(\d+)\]$/;return e.split(".").map((e=>{const a=e.match(t);return a?{name:a[1],pos:parseInt(a[2],10)}:{name:e,pos:0}}))};t.readInt8=function readInt8(e,t){return e[t]<<24>>24};t.readUint16=function readUint16(e,t){return e[t]<<8|e[t+1]};t.readUint32=function readUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0};t.recoverJsURL=function recoverJsURL(e){const t=new RegExp("^\\s*("+["app.launchURL","window.open","xfa.host.gotoURL"].join("|").replaceAll(".","\\.")+")\\((?:'|\")([^'\"]*)(?:'|\")(?:,\\s*(\\w+)\\)|\\))","i").exec(e);if(t?.[2]){const e=t[2];let a=!1;"true"===t[3]&&"app.launchURL"===t[1]&&(a=!0);return{url:e,newWindow:a}}return null};t.stringToUTF16HexString=function stringToUTF16HexString(e){const t=[];for(let a=0,r=e.length;a>8&255).toString(16).padStart(2,"0"),(255&r).toString(16).padStart(2,"0"))}return t.join("")};t.stringToUTF16String=function stringToUTF16String(e,t=!1){const a=[];t&&a.push("þÿ");for(let t=0,r=e.length;t>8&255),String.fromCharCode(255&r))}return a.join("")};t.toRomanNumerals=function toRomanNumerals(e,t=!1){(0,r.assert)(Number.isInteger(e)&&e>0,"The number should be a positive integer.");const a=[];let n;for(;e>=1e3;){e-=1e3;a.push("M")}n=e/100|0;e%=100;a.push(s[n]);n=e/10|0;e%=10;a.push(s[10+n]);a.push(s[20+e]);const i=a.join("");return t?i.toLowerCase():i};t.validateCSSFont=function validateCSSFont(e){const t=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:a,fontWeight:r,italicAngle:n}=e;if(!validateFontName(a,!0))return!1;const i=r?r.toString():"";e.fontWeight=t.has(i)?i:"400";const s=parseFloat(n);e.italicAngle=isNaN(s)||s<-90||s>90?"14":n.toString();return!0};t.validateFontName=validateFontName;var r=a(2),n=a(4),i=a(5);t.PDF_VERSION_REGEXP=/^[1-9]\.\d$/;class MissingDataException extends r.BaseException{constructor(e,t){super(`Missing data [${e}, ${t})`,"MissingDataException");this.begin=e;this.end=t}}t.MissingDataException=MissingDataException;class ParserEOFException extends r.BaseException{constructor(e){super(e,"ParserEOFException")}}t.ParserEOFException=ParserEOFException;class XRefEntryException extends r.BaseException{constructor(e){super(e,"XRefEntryException")}}t.XRefEntryException=XRefEntryException;class XRefParseException extends r.BaseException{constructor(e){super(e,"XRefParseException")}}t.XRefParseException=XRefParseException;function getInheritableProperty({dict:e,key:t,getArray:a=!1,stopWhenFound:r=!0}){let i;const s=new n.RefSet;for(;e instanceof n.Dict&&(!e.objId||!s.has(e.objId));){e.objId&&s.put(e.objId);const n=a?e.getArray(t):e.get(t);if(void 0!==n){if(r)return n;(i||=[]).push(n)}e=e.get("Parent")}return i}const s=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"];function _collectJS(e,t,a,s){if(!e)return;let o=null;if(e instanceof n.Ref){if(s.has(e))return;o=e;s.put(o);e=t.fetch(e)}if(Array.isArray(e))for(const r of e)_collectJS(r,t,a,s);else if(e instanceof n.Dict){if((0,n.isName)(e.get("S"),"JavaScript")){const t=e.get("JS");let n;t instanceof i.BaseStream?n=t.getString():"string"==typeof t&&(n=t);n&&=(0,r.stringToPDFString)(n).replaceAll("\0","");n&&a.push(n)}_collectJS(e.getRaw("Next"),t,a,s)}o&&s.remove(o)}const o={60:"<",62:">",38:"&",34:""",39:"'"};function validateFontName(e,t=!1){const a=/^("|').*("|')$/.exec(e);if(a&&a[1]===a[2]){if(new RegExp(`[^\\\\]${a[1]}`).test(e.slice(1,-1))){t&&(0,r.warn)(`FontFamily contains unescaped ${a[1]}: ${e}.`);return!1}}else for(const a of e.split(/[ \t]+/))if(/^(\d|(-(\d|-)))/.test(a)||!/^[\w-\\]+$/.test(a)){t&&(0,r.warn)(`FontFamily contains invalid : ${e}.`);return!1}return!0}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.RefSetCache=t.RefSet=t.Ref=t.Name=t.EOF=t.Dict=t.Cmd=t.CIRCULAR_REF=void 0;t.clearPrimitiveCaches=function clearPrimitiveCaches(){s=Object.create(null);o=Object.create(null);c=Object.create(null)};t.isCmd=function isCmd(e,t){return e instanceof Cmd&&(void 0===t||e.cmd===t)};t.isDict=function isDict(e,t){return e instanceof Dict&&(void 0===t||isName(e.get("Type"),t))};t.isName=isName;t.isRefsEqual=function isRefsEqual(e,t){return e.num===t.num&&e.gen===t.gen};var r=a(2);const n=Symbol("CIRCULAR_REF");t.CIRCULAR_REF=n;const i=Symbol("EOF");t.EOF=i;let s=Object.create(null),o=Object.create(null),c=Object.create(null);class Name{constructor(e){this.name=e}static get(e){return o[e]||=new Name(e)}}t.Name=Name;class Cmd{constructor(e){this.cmd=e}static get(e){return s[e]||=new Cmd(e)}}t.Cmd=Cmd;const l=function nonSerializableClosure(){return l};class Dict{constructor(e=null){this._map=Object.create(null);this.xref=e;this.objId=null;this.suppressEncryption=!1;this.__nonSerializable__=l}assignXref(e){this.xref=e}get size(){return Object.keys(this._map).length}get(e,t,a){let r=this._map[e];if(void 0===r&&void 0!==t){r=this._map[t];void 0===r&&void 0!==a&&(r=this._map[a])}return r instanceof Ref&&this.xref?this.xref.fetch(r,this.suppressEncryption):r}async getAsync(e,t,a){let r=this._map[e];if(void 0===r&&void 0!==t){r=this._map[t];void 0===r&&void 0!==a&&(r=this._map[a])}return r instanceof Ref&&this.xref?this.xref.fetchAsync(r,this.suppressEncryption):r}getArray(e,t,a){let r=this._map[e];if(void 0===r&&void 0!==t){r=this._map[t];void 0===r&&void 0!==a&&(r=this._map[a])}r instanceof Ref&&this.xref&&(r=this.xref.fetch(r,this.suppressEncryption));if(Array.isArray(r)){r=r.slice();for(let e=0,t=r.length;e{(0,r.unreachable)("Should not call `set` on the empty dictionary.")};return(0,r.shadow)(this,"empty",e)}static merge({xref:e,dictArray:t,mergeSubDicts:a=!1}){const r=new Dict(e),n=new Map;for(const e of t)if(e instanceof Dict)for(const[t,r]of Object.entries(e._map)){let e=n.get(t);if(void 0===e){e=[];n.set(t,e)}else if(!(a&&r instanceof Dict))continue;e.push(r)}for(const[t,a]of n){if(1===a.length||!(a[0]instanceof Dict)){r._map[t]=a[0];continue}const n=new Dict(e);for(const e of a)for(const[t,a]of Object.entries(e._map))void 0===n._map[t]&&(n._map[t]=a);n.size>0&&(r._map[t]=n)}n.clear();return r.size>0?r:Dict.empty}clone(){const e=new Dict(this.xref);for(const t of this.getKeys())e.set(t,this.getRaw(t));return e}}t.Dict=Dict;class Ref{constructor(e,t){this.num=e;this.gen=t}toString(){return 0===this.gen?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(e){const t=c[e];if(t)return t;const a=/^(\d+)R(\d*)$/.exec(e);return a&&"0"!==a[1]?c[e]=new Ref(parseInt(a[1]),a[2]?parseInt(a[2]):0):null}static get(e,t){const a=0===t?`${e}R`:`${e}R${t}`;return c[a]||=new Ref(e,t)}}t.Ref=Ref;class RefSet{constructor(e=null){this._set=new Set(e?._set)}has(e){return this._set.has(e.toString())}put(e){this._set.add(e.toString())}remove(e){this._set.delete(e.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}t.RefSet=RefSet;class RefSetCache{constructor(){this._map=new Map}get size(){return this._map.size}get(e){return this._map.get(e.toString())}has(e){return this._map.has(e.toString())}put(e,t){this._map.set(e.toString(),t)}putAlias(e,t){this._map.set(e.toString(),this.get(t))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}}t.RefSetCache=RefSetCache;function isName(e,t){return e instanceof Name&&(void 0===t||e.name===t)}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.BaseStream=void 0;var r=a(2);class BaseStream{constructor(){this.constructor===BaseStream&&(0,r.unreachable)("Cannot initialize BaseStream.")}get length(){(0,r.unreachable)("Abstract getter `length` accessed")}get isEmpty(){(0,r.unreachable)("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return(0,r.shadow)(this,"isDataLoaded",!0)}getByte(){(0,r.unreachable)("Abstract method `getByte` called")}getBytes(e){(0,r.unreachable)("Abstract method `getBytes` called")}peekByte(){const e=this.getByte();-1!==e&&this.pos--;return e}peekBytes(e){const t=this.getBytes(e);this.pos-=t.length;return t}getUint16(){const e=this.getByte(),t=this.getByte();return-1===e||-1===t?-1:(e<<8)+t}getInt32(){return(this.getByte()<<24)+(this.getByte()<<16)+(this.getByte()<<8)+this.getByte()}getByteRange(e,t){(0,r.unreachable)("Abstract method `getByteRange` called")}getString(e){return(0,r.bytesToString)(this.getBytes(e))}skip(e){this.pos+=e||1}reset(){(0,r.unreachable)("Abstract method `reset` called")}moveStart(){(0,r.unreachable)("Abstract method `moveStart` called")}makeSubStream(e,t,a=null){(0,r.unreachable)("Abstract method `makeSubStream` called")}getBaseStreams(){return null}}t.BaseStream=BaseStream},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.NetworkPdfManager=t.LocalPdfManager=void 0;var r=a(2),n=a(7),i=a(3),s=a(9),o=a(8);class BasePdfManager{constructor(e){this.constructor===BasePdfManager&&(0,r.unreachable)("Cannot initialize BasePdfManager.");this._docBaseUrl=function parseDocBaseUrl(e){if(e){const t=(0,r.createValidAbsoluteUrl)(e);if(t)return t.href;(0,r.warn)(`Invalid absolute docBaseUrl: "${e}".`)}return null}(e.docBaseUrl);this._docId=e.docId;this._password=e.password;this.enableXfa=e.enableXfa;e.evaluatorOptions.isOffscreenCanvasSupported&&=r.FeatureTest.isOffscreenCanvasSupported;this.evaluatorOptions=e.evaluatorOptions}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}get catalog(){return this.pdfDocument.catalog}ensureDoc(e,t){return this.ensure(this.pdfDocument,e,t)}ensureXRef(e,t){return this.ensure(this.pdfDocument.xref,e,t)}ensureCatalog(e,t){return this.ensure(this.pdfDocument.catalog,e,t)}getPage(e){return this.pdfDocument.getPage(e)}fontFallback(e,t){return this.pdfDocument.fontFallback(e,t)}loadXfaFonts(e,t){return this.pdfDocument.loadXfaFonts(e,t)}loadXfaImages(){return this.pdfDocument.loadXfaImages()}serializeXfaData(e){return this.pdfDocument.serializeXfaData(e)}cleanup(e=!1){return this.pdfDocument.cleanup(e)}async ensure(e,t,a){(0,r.unreachable)("Abstract method `ensure` called")}requestRange(e,t){(0,r.unreachable)("Abstract method `requestRange` called")}requestLoadedStream(e=!1){(0,r.unreachable)("Abstract method `requestLoadedStream` called")}sendProgressiveData(e){(0,r.unreachable)("Abstract method `sendProgressiveData` called")}updatePassword(e){this._password=e}terminate(e){(0,r.unreachable)("Abstract method `terminate` called")}}t.LocalPdfManager=class LocalPdfManager extends BasePdfManager{constructor(e){super(e);const t=new o.Stream(e.source);this.pdfDocument=new s.PDFDocument(this,t);this._loadedStreamPromise=Promise.resolve(t)}async ensure(e,t,a){const r=e[t];return"function"==typeof r?r.apply(e,a):r}requestRange(e,t){return Promise.resolve()}requestLoadedStream(e=!1){return this._loadedStreamPromise}terminate(e){}};t.NetworkPdfManager=class NetworkPdfManager extends BasePdfManager{constructor(e){super(e);this.streamManager=new n.ChunkedStreamManager(e.source,{msgHandler:e.handler,length:e.length,disableAutoFetch:e.disableAutoFetch,rangeChunkSize:e.rangeChunkSize});this.pdfDocument=new s.PDFDocument(this,this.streamManager.getStream())}async ensure(e,t,a){try{const r=e[t];return"function"==typeof r?r.apply(e,a):r}catch(r){if(!(r instanceof i.MissingDataException))throw r;await this.requestRange(r.begin,r.end);return this.ensure(e,t,a)}}requestRange(e,t){return this.streamManager.requestRange(e,t)}requestLoadedStream(e=!1){return this.streamManager.requestAllChunks(e)}sendProgressiveData(e){this.streamManager.onReceiveData({chunk:e})}terminate(e){this.streamManager.abort(e)}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ChunkedStreamManager=t.ChunkedStream=void 0;var r=a(3),n=a(2),i=a(8);class ChunkedStream extends i.Stream{constructor(e,t,a){super(new Uint8Array(e),0,e,null);this.chunkSize=t;this._loadedChunks=new Set;this.numChunks=Math.ceil(e/t);this.manager=a;this.progressiveDataLength=0;this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const e=[];for(let t=0,a=this.numChunks;t=this.end?this.numChunks:Math.floor(t/this.chunkSize);for(let e=a;ethis.numChunks)&&t!==this.lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(t))throw new r.MissingDataException(e,e+1);this.lastSuccessfulEnsureByteChunk=t}}ensureRange(e,t){if(e>=t)return;if(t<=this.progressiveDataLength)return;const a=Math.floor(e/this.chunkSize);if(a>this.numChunks)return;const n=Math.min(Math.floor((t-1)/this.chunkSize)+1,this.numChunks);for(let i=a;i=this.end)return-1;e>=this.progressiveDataLength&&this.ensureByte(e);return this.bytes[this.pos++]}getBytes(e){const t=this.bytes,a=this.pos,r=this.end;if(!e){r>this.progressiveDataLength&&this.ensureRange(a,r);return t.subarray(a,r)}let n=a+e;n>r&&(n=r);n>this.progressiveDataLength&&this.ensureRange(a,n);this.pos=n;return t.subarray(a,n)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);t>this.progressiveDataLength&&this.ensureRange(e,t);return this.bytes.subarray(e,t)}makeSubStream(e,t,a=null){t?e+t>this.progressiveDataLength&&this.ensureRange(e,e+t):e>=this.progressiveDataLength&&this.ensureByte(e);function ChunkedStreamSubstream(){}ChunkedStreamSubstream.prototype=Object.create(this);ChunkedStreamSubstream.prototype.getMissingChunks=function(){const e=this.chunkSize,t=Math.floor(this.start/e),a=Math.floor((this.end-1)/e)+1,r=[];for(let e=t;e{const readChunk=({value:s,done:o})=>{try{if(o){const t=(0,r.arrayBuffersToBytes)(n);n=null;e(t);return}i+=s.byteLength;a.isStreamingSupported&&this.onProgress({loaded:i});n.push(s);a.read().then(readChunk,t)}catch(e){t(e)}};a.read().then(readChunk,t)})).then((t=>{this.aborted||this.onReceiveData({chunk:t,begin:e})}))}requestAllChunks(e=!1){if(!e){const e=this.stream.getMissingChunks();this._requestChunks(e)}return this._loadedStreamCapability.promise}_requestChunks(e){const t=this.currRequestId++,a=new Set;this._chunksNeededByRequest.set(t,a);for(const t of e)this.stream.hasChunk(t)||a.add(t);if(0===a.size)return Promise.resolve();const r=new n.PromiseCapability;this._promisesByRequest.set(t,r);const i=[];for(const e of a){let a=this._requestsByChunk.get(e);if(!a){a=[];this._requestsByChunk.set(e,a);i.push(e)}a.push(t)}if(i.length>0){const e=this.groupChunks(i);for(const t of e){const e=t.beginChunk*this.chunkSize,a=Math.min(t.endChunk*this.chunkSize,this.length);this.sendRequest(e,a).catch(r.reject)}}return r.promise.catch((e=>{if(!this.aborted)throw e}))}getStream(){return this.stream}requestRange(e,t){t=Math.min(t,this.length);const a=this.getBeginChunk(e),r=this.getEndChunk(t),n=[];for(let e=a;e=0&&r+1!==i){t.push({beginChunk:a,endChunk:r+1});a=i}n+1===e.length&&t.push({beginChunk:a,endChunk:i+1});r=i}return t}onProgress(e){this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize+e.loaded,total:this.length})}onReceiveData(e){const t=e.chunk,a=void 0===e.begin,r=a?this.progressiveDataLength:e.begin,n=r+t.byteLength,i=Math.floor(r/this.chunkSize),s=n0||o.push(a)}}}if(!this.disableAutoFetch&&0===this._requestsByChunk.size){let e;if(1===this.stream.numChunksLoaded){const t=this.stream.numChunks-1;this.stream.hasChunk(t)||(e=t)}else e=this.stream.nextEmptyChunk(s);Number.isInteger(e)&&this._requestChunks([e])}for(const e of o){const t=this._promisesByRequest.get(e);this._promisesByRequest.delete(e);t.resolve()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})}onError(e){this._loadedStreamCapability.reject(e)}getBeginChunk(e){return Math.floor(e/this.chunkSize)}getEndChunk(e){return Math.floor((e-1)/this.chunkSize)+1}abort(e){this.aborted=!0;this.pdfNetworkStream?.cancelAllRequests(e);for(const t of this._promisesByRequest.values())t.reject(e)}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.StringStream=t.Stream=t.NullStream=void 0;var r=a(5),n=a(2);class Stream extends r.BaseStream{constructor(e,t,a,r){super();this.bytes=e instanceof Uint8Array?e:new Uint8Array(e);this.start=t||0;this.pos=this.start;this.end=t+a||this.bytes.length;this.dict=r}get length(){return this.end-this.start}get isEmpty(){return 0===this.length}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(e){const t=this.bytes,a=this.pos,r=this.end;if(!e)return t.subarray(a,r);let n=a+e;n>r&&(n=r);this.pos=n;return t.subarray(a,n)}getByteRange(e,t){e<0&&(e=0);t>this.end&&(t=this.end);return this.bytes.subarray(e,t)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(e,t,a=null){return new Stream(this.bytes.buffer,e,t,a)}}t.Stream=Stream;t.StringStream=class StringStream extends Stream{constructor(e){super((0,n.stringToBytes)(e))}};t.NullStream=class NullStream extends Stream{constructor(){super(new Uint8Array(0))}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Page=t.PDFDocument=void 0;var r=a(2),n=a(10),i=a(3),s=a(4),o=a(51),c=a(5),l=a(74),h=a(66),u=a(68),d=a(102),f=a(16),g=a(8),p=a(76),m=a(64),b=a(13),y=a(18),w=a(72),S=a(73),x=a(77),C=a(103);const k=[0,0,612,792];class Page{constructor({pdfManager:e,xref:t,pageIndex:a,pageDict:r,ref:n,globalIdFactory:i,fontCache:s,builtInCMapCache:o,standardFontDataCache:c,globalImageCache:l,systemFontCache:h,nonBlendModesSet:u,xfaFactory:d}){this.pdfManager=e;this.pageIndex=a;this.pageDict=r;this.xref=t;this.ref=n;this.fontCache=s;this.builtInCMapCache=o;this.standardFontDataCache=c;this.globalImageCache=l;this.systemFontCache=h;this.nonBlendModesSet=u;this.evaluatorOptions=e.evaluatorOptions;this.resourcesPromise=null;this.xfaFactory=d;const f={obj:0};this._localIdFactory=class extends i{static createObjId(){return`p${a}_${++f.obj}`}static getPageObjId(){return`p${n.toString()}`}}}_getInheritableProperty(e,t=!1){const a=(0,i.getInheritableProperty)({dict:this.pageDict,key:e,getArray:t,stopWhenFound:!1});return Array.isArray(a)?1!==a.length&&a[0]instanceof s.Dict?s.Dict.merge({xref:this.xref,dictArray:a}):a[0]:a}get content(){return this.pageDict.getArray("Contents")}get resources(){const e=this._getInheritableProperty("Resources");return(0,r.shadow)(this,"resources",e instanceof s.Dict?e:s.Dict.empty)}_getBoundingBox(e){if(this.xfaData)return this.xfaData.bbox;let t=this._getInheritableProperty(e,!0);if(Array.isArray(t)&&4===t.length){t=r.Util.normalizeRect(t);if(t[2]-t[0]>0&&t[3]-t[1]>0)return t;(0,r.warn)(`Empty, or invalid, /${e} entry.`)}return null}get mediaBox(){return(0,r.shadow)(this,"mediaBox",this._getBoundingBox("MediaBox")||k)}get cropBox(){return(0,r.shadow)(this,"cropBox",this._getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){let e=this.pageDict.get("UserUnit");("number"!=typeof e||e<=0)&&(e=1);return(0,r.shadow)(this,"userUnit",e)}get view(){const{cropBox:e,mediaBox:t}=this;if(e!==t&&!(0,r.isArrayEqual)(e,t)){const a=r.Util.intersect(e,t);if(a&&a[2]-a[0]>0&&a[3]-a[1]>0)return(0,r.shadow)(this,"view",a);(0,r.warn)("Empty /CropBox and /MediaBox intersection.")}return(0,r.shadow)(this,"view",t)}get rotate(){let e=this._getInheritableProperty("Rotate")||0;e%90!=0?e=0:e>=360?e%=360:e<0&&(e=(e%360+360)%360);return(0,r.shadow)(this,"rotate",e)}_onSubStreamError(e,t){if(!this.evaluatorOptions.ignoreErrors)throw e;(0,r.warn)(`getContentStream - ignoring sub-stream (${t}): "${e}".`)}getContentStream(){return this.pdfManager.ensure(this,"content").then((e=>e instanceof c.BaseStream?e:Array.isArray(e)?new y.StreamsSequenceStream(e,this._onSubStreamError.bind(this)):new g.NullStream))}get xfaData(){return(0,r.shadow)(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}#t(e,t,a){for(const n of e)if(n.id){const e=s.Ref.fromString(n.id);if(!e){(0,r.warn)(`A non-linked annotation cannot be modified: ${n.id}`);continue}if(n.deleted){t.put(e);continue}a?.put(e);n.ref=e;delete n.id}}async saveNewAnnotations(e,t,a,r){if(this.xfaFactory)throw new Error("XFA: Cannot save new annotations.");const i=new b.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),o=new s.RefSet,c=new s.RefSet;this.#t(a,o,c);const l=this.pageDict,h=this.annotations.filter((e=>!(e instanceof s.Ref&&o.has(e)))),u=await n.AnnotationFactory.saveNewAnnotations(i,t,a,r);for(const{ref:e}of u.annotations)e instanceof s.Ref&&!c.has(e)&&h.push(e);const d=l.get("Annots");l.set("Annots",h);const f=[];await(0,S.writeObject)(this.ref,l,f,this.xref);d&&l.set("Annots",d);const g=u.dependencies;g.push({ref:this.ref,data:f.join("")},...u.annotations);return g}save(e,t,a){const n=new b.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions});return this._parsedAnnotations.then((function(e){const i=[];for(const s of e)s.mustBePrinted(a)&&i.push(s.save(n,t,a).catch((function(e){(0,r.warn)(`save - ignoring annotation data during "${t.name}" task: "${e}".`);return null})));return Promise.all(i).then((function(e){return e.filter((e=>!!e))}))}))}loadResources(e){this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,"resources"));return this.resourcesPromise.then((()=>new p.ObjectLoader(this.resources,e,this.xref).load()))}getOperatorList({handler:e,sink:t,task:a,intent:o,cacheKey:c,annotationStorage:l=null}){const h=this.getContentStream(),u=this.loadResources(["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"]),d=new b.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),f=this.xfaFactory?null:(0,i.getNewAnnotationsMap)(l);let g=null,p=Promise.resolve(null);if(f){const e=f.get(this.pageIndex);if(e){const t=this.pdfManager.ensureDoc("annotationGlobals");let i;const o=new Set;for(const{bitmapId:t,bitmap:a}of e)!t||a||o.has(t)||o.add(t);const{isOffscreenCanvasSupported:c}=this.evaluatorOptions;if(o.size>0){const t=e.slice();for(const[e,a]of l)e.startsWith(r.AnnotationEditorPrefix)&&a.bitmap&&o.has(a.bitmapId)&&t.push(a);i=n.AnnotationFactory.generateImages(t,this.xref,c)}else i=n.AnnotationFactory.generateImages(e,this.xref,c);g=new s.RefSet;this.#t(e,g,null);p=t.then((t=>t?n.AnnotationFactory.printNewAnnotations(t,d,a,e,i):null))}}const y=Promise.all([h,u]).then((([r])=>{const n=new m.OperatorList(o,t);e.send("StartRenderPage",{transparency:d.hasBlendModes(this.resources,this.nonBlendModesSet),pageIndex:this.pageIndex,cacheKey:c});return d.getOperatorList({stream:r,task:a,resources:this.resources,operatorList:n}).then((function(){return n}))}));return Promise.all([y,this._parsedAnnotations,p]).then((function([e,t,n]){if(n){t=t.filter((e=>!(e.ref&&g.has(e.ref))));for(let e=0,a=n.length;ee.ref&&(0,s.isRefsEqual)(e.ref,r.refToReplace)));if(i>=0){t.splice(i,1,r);n.splice(e--,1);a--}}}t=t.concat(n)}if(0===t.length||o&r.RenderingIntentFlag.ANNOTATIONS_DISABLE){e.flush(!0);return{length:e.totalLength}}const i=!!(o&r.RenderingIntentFlag.ANNOTATIONS_FORMS),c=!!(o&r.RenderingIntentFlag.ANY),h=!!(o&r.RenderingIntentFlag.DISPLAY),u=!!(o&r.RenderingIntentFlag.PRINT),f=[];for(const e of t)(c||h&&e.mustBeViewed(l,i)||u&&e.mustBePrinted(l))&&f.push(e.getOperatorList(d,a,o,i,l).catch((function(e){(0,r.warn)(`getOperatorList - ignoring annotation data during "${a.name}" task: "${e}".`);return{opList:null,separateForm:!1,separateCanvas:!1}})));return Promise.all(f).then((function(t){let a=!1,r=!1;for(const{opList:n,separateForm:i,separateCanvas:s}of t){e.addOpList(n);a||=i;r||=s}e.flush(!0,{form:a,canvas:r});return{length:e.totalLength}}))}))}extractTextContent({handler:e,task:t,includeMarkedContent:a,disableNormalization:r,sink:n}){const i=this.getContentStream(),s=this.loadResources(["ExtGState","Font","Properties","XObject"]);return Promise.all([i,s]).then((([i])=>new b.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}).getTextContent({stream:i,task:t,resources:this.resources,includeMarkedContent:a,disableNormalization:r,sink:n,viewBox:this.view})))}async getStructTree(){const e=await this.pdfManager.ensureCatalog("structTreeRoot");if(!e)return null;await this._parsedAnnotations;return(await this.pdfManager.ensure(this,"_parseStructTree",[e])).serializable}_parseStructTree(e){const t=new w.StructTreePage(e,this.pageDict);t.parse(this.ref);return t}async getAnnotationsData(e,t,a){const n=await this._parsedAnnotations;if(0===n.length)return n;const i=[],s=[];let o;const c=!!(a&r.RenderingIntentFlag.ANY),l=!!(a&r.RenderingIntentFlag.DISPLAY),h=!!(a&r.RenderingIntentFlag.PRINT);for(const a of n){const n=c||l&&a.viewable;(n||h&&a.printable)&&i.push(a.data);if(a.hasTextContent&&n){o||=new b.PartialEvaluator({xref:this.xref,handler:e,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions});s.push(a.extractTextContent(o,t,[-1/0,-1/0,1/0,1/0]).catch((function(e){(0,r.warn)(`getAnnotationsData - ignoring textContent during "${t.name}" task: "${e}".`)})))}}await Promise.all(s);return i}get annotations(){const e=this._getInheritableProperty("Annots");return(0,r.shadow)(this,"annotations",Array.isArray(e)?e:[])}get _parsedAnnotations(){const e=this.pdfManager.ensure(this,"annotations").then((async e=>{if(0===e.length)return e;const t=await this.pdfManager.ensureDoc("annotationGlobals");if(!t)return[];const a=[];for(const i of e)a.push(n.AnnotationFactory.create(this.xref,i,t,this._localIdFactory,!1,this.ref).catch((function(e){(0,r.warn)(`_parsedAnnotations: "${e}".`);return null})));const i=[];let s;for(const e of await Promise.all(a))e&&(e instanceof n.PopupAnnotation?(s||=[]).push(e):i.push(e));s&&i.push(...s);return i}));return(0,r.shadow)(this,"_parsedAnnotations",e)}get jsActions(){const e=(0,i.collectActions)(this.xref,this.pageDict,r.PageActionEventType);return(0,r.shadow)(this,"jsActions",e)}}t.Page=Page;const v=new Uint8Array([37,80,68,70,45]),F=new Uint8Array([115,116,97,114,116,120,114,101,102]),O=new Uint8Array([101,110,100,111,98,106]);function find(e,t,a=1024,r=!1){const n=t.length,i=e.peekBytes(a),s=i.length-n;if(s<=0)return!1;if(r){const a=n-1;let r=i.length-1;for(;r>=a;){let s=0;for(;s=n){e.pos+=r-a;return!0}r--}}else{let a=0;for(;a<=s;){let r=0;for(;r=n){e.pos+=a;return!0}a++}}return!1}t.PDFDocument=class PDFDocument{constructor(e,t){if(t.length<=0)throw new r.InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=e;this.stream=t;this.xref=new C.XRef(t,e);this._pagePromises=new Map;this._version=null;const a={font:0};this._globalIdFactory=class{static getDocId(){return`g_${e.docId}`}static createFontId(){return"f"+ ++a.font}static createObjId(){(0,r.unreachable)("Abstract method `createObjId` called.")}static getPageObjId(){(0,r.unreachable)("Abstract method `getPageObjId` called.")}}}parse(e){this.xref.parse(e);this.catalog=new h.Catalog(this.pdfManager,this.xref)}get linearization(){let e=null;try{e=f.Linearization.create(this.stream)}catch(e){if(e instanceof i.MissingDataException)throw e;(0,r.info)(e)}return(0,r.shadow)(this,"linearization",e)}get startXRef(){const e=this.stream;let t=0;if(this.linearization){e.reset();find(e,O)&&(t=e.pos+6-e.start)}else{const a=1024,r=F.length;let n=!1,s=e.end;for(;!n&&s>0;){s-=a-r;s<0&&(s=0);e.pos=s;n=find(e,F,a,!0)}if(n){e.skip(9);let a;do{a=e.getByte()}while((0,i.isWhiteSpace)(a));let r="";for(;a>=32&&a<=57;){r+=String.fromCharCode(a);a=e.getByte()}t=parseInt(r,10);isNaN(t)&&(t=0)}}return(0,r.shadow)(this,"startXRef",t)}checkHeader(){const e=this.stream;e.reset();if(!find(e,v))return;e.moveStart();e.skip(v.length);let t,a="";for(;(t=e.getByte())>32&&a.length<7;)a+=String.fromCharCode(t);i.PDF_VERSION_REGEXP.test(a)?this._version=a:(0,r.warn)(`Invalid PDF header version: ${a}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let e=0;e=this.catalog.hasActualNumPages?this.catalog.numPages:this.xfaFactory?this.xfaFactory.getNumPages():this.linearization?this.linearization.numPages:this.catalog.numPages;return(0,r.shadow)(this,"numPages",e)}_hasOnlyDocumentSignatures(e,t=0){return!!Array.isArray(e)&&e.every((e=>{if(!((e=this.xref.fetchIfRef(e))instanceof s.Dict))return!1;if(e.has("Kids")){if(++t>10){(0,r.warn)("_hasOnlyDocumentSignatures: maximum recursion depth reached");return!1}return this._hasOnlyDocumentSignatures(e.get("Kids"),t)}const a=(0,s.isName)(e.get("FT"),"Sig"),n=e.get("Rect"),i=Array.isArray(n)&&n.every((e=>0===e));return a&&i}))}get _xfaStreams(){const e=this.catalog.acroForm;if(!e)return null;const t=e.get("XFA"),a={"xdp:xdp":"",template:"",datasets:"",config:"",connectionSet:"",localeSet:"",stylesheet:"","/xdp:xdp":""};if(t instanceof c.BaseStream&&!t.isEmpty){a["xdp:xdp"]=t;return a}if(!Array.isArray(t)||0===t.length)return null;for(let e=0,r=t.length;e{y.set(e,t)}));const w=[];for(const[e,a]of y){const o=a.get("FontDescriptor");if(!(o instanceof s.Dict))continue;let c=o.get("FontFamily");c=c.replaceAll(/[ ]+(\d)/g,"$1");const l={fontFamily:c,fontWeight:o.get("FontWeight"),italicAngle:-o.get("ItalicAngle")};(0,i.validateCSSFont)(l)&&w.push(u.handleSetFont(n,[s.Name.get(e),1],null,d,t,g,null,l).catch((function(e){(0,r.warn)(`loadXfaFonts: "${e}".`);return null})))}await Promise.all(w);const S=this.xfaFactory.setFonts(f);if(!S)return;h.ignoreErrors=!0;w.length=0;f.length=0;const x=new Set;for(const e of S)(0,o.getXfaFontName)(`${e}-Regular`)||x.add(e);x.size&&S.push("PdfJS-Fallback");for(const e of S)if(!x.has(e))for(const a of[{name:"Regular",fontWeight:400,italicAngle:0},{name:"Bold",fontWeight:700,italicAngle:0},{name:"Italic",fontWeight:400,italicAngle:12},{name:"BoldItalic",fontWeight:700,italicAngle:12}]){const i=`${e}-${a.name}`,c=(0,o.getXfaFontDict)(i);w.push(u.handleSetFont(n,[s.Name.get(i),1],null,d,t,g,c,{fontFamily:e,fontWeight:a.fontWeight,italicAngle:a.italicAngle}).catch((function(e){(0,r.warn)(`loadXfaFonts: "${e}".`);return null})))}await Promise.all(w);this.xfaFactory.appendFonts(f,x)}async serializeXfaData(e){return this.xfaFactory?this.xfaFactory.serializeData(e):null}get version(){return this.catalog.version||this._version}get formInfo(){const e={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},t=this.catalog.acroForm;if(!t)return(0,r.shadow)(this,"formInfo",e);try{const a=t.get("Fields"),r=Array.isArray(a)&&a.length>0;e.hasFields=r;const n=t.get("XFA");e.hasXfa=Array.isArray(n)&&n.length>0||n instanceof c.BaseStream&&!n.isEmpty;const i=!!(1&t.get("SigFlags")),s=i&&this._hasOnlyDocumentSignatures(a);e.hasAcroForm=r&&!s;e.hasSignatures=i}catch(e){if(e instanceof i.MissingDataException)throw e;(0,r.warn)(`Cannot fetch form information: "${e}".`)}return(0,r.shadow)(this,"formInfo",e)}get documentInfo(){const e={PDFFormatVersion:this.version,Language:this.catalog.lang,EncryptFilterName:this.xref.encrypt?this.xref.encrypt.filterName:null,IsLinearized:!!this.linearization,IsAcroFormPresent:this.formInfo.hasAcroForm,IsXFAPresent:this.formInfo.hasXfa,IsCollectionPresent:!!this.catalog.collection,IsSignaturesPresent:this.formInfo.hasSignatures};let t;try{t=this.xref.trailer.get("Info")}catch(e){if(e instanceof i.MissingDataException)throw e;(0,r.info)("The document information dictionary is invalid.")}if(!(t instanceof s.Dict))return(0,r.shadow)(this,"documentInfo",e);for(const a of t.getKeys()){const n=t.get(a);switch(a){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if("string"==typeof n){e[a]=(0,r.stringToPDFString)(n);continue}break;case"Trapped":if(n instanceof s.Name){e[a]=n;continue}break;default:let t;switch(typeof n){case"string":t=(0,r.stringToPDFString)(n);break;case"number":case"boolean":t=n;break;default:n instanceof s.Name&&(t=n)}if(void 0===t){(0,r.warn)(`Bad value, for custom key "${a}", in Info: ${n}.`);continue}e.Custom||(e.Custom=Object.create(null));e.Custom[a]=t;continue}(0,r.warn)(`Bad value, for key "${a}", in Info: ${n}.`)}return(0,r.shadow)(this,"documentInfo",e)}get fingerprints(){function validate(e){return"string"==typeof e&&e.length>0&&"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"!==e}function hexString(e){const t=[];for(const a of e){const e=a.toString(16);t.push(e.padStart(2,"0"))}return t.join("")}const e=this.xref.trailer.get("ID");let t,a;if(Array.isArray(e)&&validate(e[0])){t=(0,r.stringToBytes)(e[0]);e[1]!==e[0]&&validate(e[1])&&(a=(0,r.stringToBytes)(e[1]))}else t=(0,l.calculateMD5)(this.stream.getByteRange(0,1024),0,1024);return(0,r.shadow)(this,"fingerprints",[hexString(t),a?hexString(a):null])}async _getLinearizationPage(e){const{catalog:t,linearization:a,xref:n}=this,i=s.Ref.get(a.objectNumberFirst,0);try{const e=await n.fetchAsync(i);if(e instanceof s.Dict){let a=e.getRaw("Type");a instanceof s.Ref&&(a=await n.fetchAsync(a));if((0,s.isName)(a,"Page")||!e.has("Type")&&!e.has("Kids")){t.pageKidsCountCache.has(i)||t.pageKidsCountCache.put(i,1);t.pageIndexCache.has(i)||t.pageIndexCache.put(i,0);return[e,i]}}throw new r.FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(a){(0,r.warn)(`_getLinearizationPage: "${a.message}".`);return t.getPageDict(e)}}getPage(e){const t=this._pagePromises.get(e);if(t)return t;const{catalog:a,linearization:r,xfaFactory:n}=this;let i;i=n?Promise.resolve([s.Dict.empty,null]):r?.pageFirst===e?this._getLinearizationPage(e):a.getPageDict(e);i=i.then((([t,r])=>new Page({pdfManager:this.pdfManager,xref:this.xref,pageIndex:e,pageDict:t,ref:r,globalIdFactory:this._globalIdFactory,fontCache:a.fontCache,builtInCMapCache:a.builtInCMapCache,standardFontDataCache:a.standardFontDataCache,globalImageCache:a.globalImageCache,systemFontCache:a.systemFontCache,nonBlendModesSet:a.nonBlendModesSet,xfaFactory:n})));this._pagePromises.set(e,i);return i}async checkFirstPage(e=!1){if(!e)try{await this.getPage(0)}catch(e){if(e instanceof i.XRefEntryException){this._pagePromises.delete(0);await this.cleanup();throw new i.XRefParseException}}}async checkLastPage(e=!1){const{catalog:t,pdfManager:a}=this;t.setActualNumPages();let n;try{await Promise.all([a.ensureDoc("xfaFactory"),a.ensureDoc("linearization"),a.ensureCatalog("numPages")]);if(this.xfaFactory)return;n=this.linearization?this.linearization.numPages:t.numPages;if(!Number.isInteger(n))throw new r.FormatError("Page count is not an integer.");if(n<=1)return;await this.getPage(n-1)}catch(s){this._pagePromises.delete(n-1);await this.cleanup();if(s instanceof i.XRefEntryException&&!e)throw new i.XRefParseException;(0,r.warn)(`checkLastPage - invalid /Pages tree /Count: ${n}.`);let o;try{o=await t.getAllPageDicts(e)}catch(a){if(a instanceof i.XRefEntryException&&!e)throw new i.XRefParseException;t.setActualNumPages(1);return}for(const[e,[r,n]]of o){let i;if(r instanceof Error){i=Promise.reject(r);i.catch((()=>{}))}else i=Promise.resolve(new Page({pdfManager:a,xref:this.xref,pageIndex:e,pageDict:r,ref:n,globalIdFactory:this._globalIdFactory,fontCache:t.fontCache,builtInCMapCache:t.builtInCMapCache,standardFontDataCache:t.standardFontDataCache,globalImageCache:t.globalImageCache,systemFontCache:t.systemFontCache,nonBlendModesSet:t.nonBlendModesSet,xfaFactory:null}));this._pagePromises.set(e,i)}t.setActualNumPages(o.size)}}fontFallback(e,t){return this.catalog.fontFallback(e,t)}async cleanup(e=!1){return this.catalog?this.catalog.cleanup(e):(0,u.clearGlobalCaches)()}#a(e,t,a,i){const s=this.xref.fetchIfRef(t);if(s.has("T")){const t=(0,r.stringToPDFString)(s.get("T"));e=""===e?t:`${e}.${t}`}a.has(e)||a.set(e,[]);a.get(e).push(n.AnnotationFactory.create(this.xref,t,i,this._localIdFactory,!0,null).then((e=>e?.getFieldObject())).catch((function(e){(0,r.warn)(`#collectFieldObjects: "${e}".`);return null})));if(s.has("Kids"))for(const t of s.get("Kids"))this.#a(e,t,a,i)}get fieldObjects(){if(!this.formInfo.hasFields)return(0,r.shadow)(this,"fieldObjects",Promise.resolve(null));const e=this.pdfManager.ensureDoc("annotationGlobals").then((async e=>{if(!e)return null;const t=Object.create(null),a=new Map;for(const t of this.catalog.acroForm.get("Fields"))this.#a("",t,a,e);const r=[];for(const[e,n]of a)r.push(Promise.all(n).then((a=>{(a=a.filter((e=>!!e))).length>0&&(t[e]=a)})));await Promise.all(r);return t}));return(0,r.shadow)(this,"fieldObjects",e)}get hasJSActions(){const e=this.pdfManager.ensureDoc("_parseHasJSActions");return(0,r.shadow)(this,"hasJSActions",e)}async _parseHasJSActions(){const[e,t]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return!!e||!!t&&Object.values(t).some((e=>e.some((e=>null!==e.actions))))}get calculationOrderIds(){const e=this.catalog.acroForm;if(!e?.has("CO"))return(0,r.shadow)(this,"calculationOrderIds",null);const t=e.get("CO");if(!Array.isArray(t)||0===t.length)return(0,r.shadow)(this,"calculationOrderIds",null);const a=[];for(const e of t)e instanceof s.Ref&&a.push(e.toString());return 0===a.length?(0,r.shadow)(this,"calculationOrderIds",null):(0,r.shadow)(this,"calculationOrderIds",a)}get annotationGlobals(){return(0,r.shadow)(this,"annotationGlobals",n.AnnotationFactory.createGlobals(this.pdfManager))}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.PopupAnnotation=t.MarkupAnnotation=t.AnnotationFactory=t.AnnotationBorderStyle=t.Annotation=void 0;t.getQuadPoints=getQuadPoints;var r=a(2),n=a(3),i=a(11),s=a(4),o=a(8),c=a(5),l=a(60),h=a(66),u=a(12),d=a(69),f=a(26),g=a(76),p=a(64),m=a(73),b=a(77);t.AnnotationFactory=class AnnotationFactory{static createGlobals(e){return Promise.all([e.ensureCatalog("acroForm"),e.ensureDoc("xfaDatasets"),e.ensureCatalog("structTreeRoot"),e.ensureCatalog("baseUrl"),e.ensureCatalog("attachments")]).then((([t,a,r,n,i])=>({pdfManager:e,acroForm:t instanceof s.Dict?t:s.Dict.empty,xfaDatasets:a,structTreeRoot:r,baseUrl:n,attachments:i})),(e=>{(0,r.warn)(`createGlobals: "${e}".`);return null}))}static async create(e,t,a,r,n,i){const s=n?await this._getPageIndex(e,t,a.pdfManager):null;return a.pdfManager.ensure(this,"_create",[e,t,a,r,n,s,i])}static _create(e,t,a,i,o=!1,c=null,l=null){const h=e.fetchIfRef(t);if(!(h instanceof s.Dict))return;const{acroForm:u,pdfManager:d}=a,f=t instanceof s.Ref?t.toString():`annot_${i.createObjId()}`;let g=h.get("Subtype");g=g instanceof s.Name?g.name:null;const p={xref:e,ref:t,dict:h,subtype:g,id:f,annotationGlobals:a,collectFields:o,needAppearances:!o&&!0===u.get("NeedAppearances"),pageIndex:c,evaluatorOptions:d.evaluatorOptions,pageRef:l};switch(g){case"Link":return new LinkAnnotation(p);case"Text":return new TextAnnotation(p);case"Widget":let e=(0,n.getInheritableProperty)({dict:h,key:"FT"});e=e instanceof s.Name?e.name:null;switch(e){case"Tx":return new TextWidgetAnnotation(p);case"Btn":return new ButtonWidgetAnnotation(p);case"Ch":return new ChoiceWidgetAnnotation(p);case"Sig":return new SignatureWidgetAnnotation(p)}(0,r.warn)(`Unimplemented widget field type "${e}", falling back to base field type.`);return new WidgetAnnotation(p);case"Popup":return new PopupAnnotation(p);case"FreeText":return new FreeTextAnnotation(p);case"Line":return new LineAnnotation(p);case"Square":return new SquareAnnotation(p);case"Circle":return new CircleAnnotation(p);case"PolyLine":return new PolylineAnnotation(p);case"Polygon":return new PolygonAnnotation(p);case"Caret":return new CaretAnnotation(p);case"Ink":return new InkAnnotation(p);case"Highlight":return new HighlightAnnotation(p);case"Underline":return new UnderlineAnnotation(p);case"Squiggly":return new SquigglyAnnotation(p);case"StrikeOut":return new StrikeOutAnnotation(p);case"Stamp":return new StampAnnotation(p);case"FileAttachment":return new FileAttachmentAnnotation(p);default:o||(g?(0,r.warn)(`Unimplemented annotation type "${g}", falling back to base annotation.`):(0,r.warn)("Annotation is missing the required /Subtype."));return new Annotation(p)}}static async _getPageIndex(e,t,a){try{const n=await e.fetchIfRefAsync(t);if(!(n instanceof s.Dict))return-1;const i=n.getRaw("P");if(i instanceof s.Ref)try{return await a.ensureCatalog("getPageIndex",[i])}catch(e){(0,r.info)(`_getPageIndex -- not a valid page reference: "${e}".`)}if(n.has("Kids"))return-1;const o=await a.ensureDoc("numPages");for(let e=0;ee/255))}function getQuadPoints(e,t){const a=e.getArray("QuadPoints");if(!Array.isArray(a)||0===a.length||a.length%8>0)return null;const r=[];for(let e=0,n=a.length/8;et[2]||st[3]))return null;r.push([{x:n,y:o},{x:i,y:o},{x:n,y:s},{x:i,y:s}])}return r}function getTransformMatrix(e,t,a){const[n,i,s,o]=r.Util.getAxialAlignedBoundingBox(t,a);if(n===s||i===o)return[1,0,0,1,e[0],e[1]];const c=(e[2]-e[0])/(s-n),l=(e[3]-e[1])/(o-i);return[c,0,0,l,e[0]-n*c,e[1]-i*l]}class Annotation{constructor(e){const{dict:t,xref:a,annotationGlobals:i}=e;this.setTitle(t.get("T"));this.setContents(t.get("Contents"));this.setModificationDate(t.get("M"));this.setFlags(t.get("F"));this.setRectangle(t.getArray("Rect"));this.setColor(t.getArray("C"));this.setBorderStyle(t);this.setAppearance(t);this.setOptionalContent(t);const o=t.get("MK");this.setBorderAndBackgroundColors(o);this.setRotation(o,t);this.ref=e.ref instanceof s.Ref?e.ref:null;this._streams=[];this.appearance&&this._streams.push(this.appearance);const c=!!(this.flags&r.AnnotationFlag.LOCKED),l=!!(this.flags&r.AnnotationFlag.LOCKEDCONTENTS);if(i.structTreeRoot){let a=t.get("StructParent");a=Number.isInteger(a)&&a>=0?a:-1;i.structTreeRoot.addAnnotationIdToPage(e.pageRef,a)}this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:e.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:e.subtype,hasOwnCanvas:!1,noRotate:!!(this.flags&r.AnnotationFlag.NOROTATE),noHTML:c&&l};if(e.collectFields){const i=t.get("Kids");if(Array.isArray(i)){const e=[];for(const t of i)t instanceof s.Ref&&e.push(t.toString());0!==e.length&&(this.data.kidIds=e)}this.data.actions=(0,n.collectActions)(a,t,r.AnnotationActionEventType);this.data.fieldName=this._constructFieldName(t);this.data.pageIndex=e.pageIndex}this._isOffscreenCanvasSupported=e.evaluatorOptions.isOffscreenCanvasSupported;this._fallbackFontDict=null;this._needAppearances=!1}_hasFlag(e,t){return!!(e&t)}_isViewable(e){return!this._hasFlag(e,r.AnnotationFlag.INVISIBLE)&&!this._hasFlag(e,r.AnnotationFlag.NOVIEW)}_isPrintable(e){return this._hasFlag(e,r.AnnotationFlag.PRINT)&&!this._hasFlag(e,r.AnnotationFlag.HIDDEN)&&!this._hasFlag(e,r.AnnotationFlag.INVISIBLE)}mustBeViewed(e,t){const a=e?.get(this.data.id)?.noView;return void 0!==a?!a:this.viewable&&!this._hasFlag(this.flags,r.AnnotationFlag.HIDDEN)}mustBePrinted(e){const t=e?.get(this.data.id)?.noPrint;return void 0!==t?!t:this.printable}get viewable(){return null!==this.data.quadPoints&&(0===this.flags||this._isViewable(this.flags))}get printable(){return null!==this.data.quadPoints&&(0!==this.flags&&this._isPrintable(this.flags))}_parseStringHelper(e){const t="string"==typeof e?(0,r.stringToPDFString)(e):"";return{str:t,dir:t&&"rtl"===(0,l.bidi)(t).dir?"rtl":"ltr"}}setDefaultAppearance(e){const{dict:t,annotationGlobals:a}=e,r=(0,n.getInheritableProperty)({dict:t,key:"DA"})||a.acroForm.get("DA");this._defaultAppearance="string"==typeof r?r:"";this.data.defaultAppearanceData=(0,i.parseDefaultAppearance)(this._defaultAppearance)}setTitle(e){this._title=this._parseStringHelper(e)}setContents(e){this._contents=this._parseStringHelper(e)}setModificationDate(e){this.modificationDate="string"==typeof e?e:null}setFlags(e){this.flags=Number.isInteger(e)&&e>0?e:0}hasFlag(e){return this._hasFlag(this.flags,e)}setRectangle(e){this.rectangle=Array.isArray(e)&&4===e.length?r.Util.normalizeRect(e):[0,0,0,0]}setColor(e){this.color=getRgbColor(e)}setLineEndings(e){this.lineEndings=["None","None"];if(Array.isArray(e)&&2===e.length)for(let t=0;t<2;t++){const a=e[t];if(a instanceof s.Name)switch(a.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[t]=a.name;continue}(0,r.warn)(`Ignoring invalid lineEnding: ${a}`)}}setRotation(e,t){this.rotation=0;let a=e instanceof s.Dict?e.get("R")||0:t.get("Rotate")||0;if(Number.isInteger(a)&&0!==a){a%=360;a<0&&(a+=360);a%90==0&&(this.rotation=a)}}setBorderAndBackgroundColors(e){if(e instanceof s.Dict){this.borderColor=getRgbColor(e.getArray("BC"),null);this.backgroundColor=getRgbColor(e.getArray("BG"),null)}else this.borderColor=this.backgroundColor=null}setBorderStyle(e){this.borderStyle=new AnnotationBorderStyle;if(e instanceof s.Dict)if(e.has("BS")){const t=e.get("BS"),a=t.get("Type");if(!a||(0,s.isName)(a,"Border")){this.borderStyle.setWidth(t.get("W"),this.rectangle);this.borderStyle.setStyle(t.get("S"));this.borderStyle.setDashArray(t.getArray("D"))}}else if(e.has("Border")){const t=e.getArray("Border");if(Array.isArray(t)&&t.length>=3){this.borderStyle.setHorizontalCornerRadius(t[0]);this.borderStyle.setVerticalCornerRadius(t[1]);this.borderStyle.setWidth(t[2],this.rectangle);4===t.length&&this.borderStyle.setDashArray(t[3],!0)}}else this.borderStyle.setWidth(0)}setAppearance(e){this.appearance=null;const t=e.get("AP");if(!(t instanceof s.Dict))return;const a=t.get("N");if(a instanceof c.BaseStream){this.appearance=a;return}if(!(a instanceof s.Dict))return;const r=e.get("AS");if(!(r instanceof s.Name&&a.has(r.name)))return;const n=a.get(r.name);n instanceof c.BaseStream&&(this.appearance=n)}setOptionalContent(e){this.oc=null;const t=e.get("OC");t instanceof s.Name?(0,r.warn)("setOptionalContent: Support for /Name-entry is not implemented."):t instanceof s.Dict&&(this.oc=t)}loadResources(e,t){return t.dict.getAsync("Resources").then((t=>{if(!t)return;return new g.ObjectLoader(t,e,t.xref).load().then((function(){return t}))}))}async getOperatorList(e,t,a,n,i){const c=this.data;let l=this.appearance;const h=!!(this.data.hasOwnCanvas&&a&r.RenderingIntentFlag.DISPLAY);if(!l){if(!h)return{opList:new p.OperatorList,separateForm:!1,separateCanvas:!1};l=new o.StringStream("");l.dict=new s.Dict}const u=l.dict,d=await this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"],l),f=u.getArray("BBox")||[0,0,1,1],g=u.getArray("Matrix")||[1,0,0,1,0,0],m=getTransformMatrix(c.rect,f,g),b=new p.OperatorList;let y;this.oc&&(y=await e.parseMarkedContentProps(this.oc,null));void 0!==y&&b.addOp(r.OPS.beginMarkedContentProps,["OC",y]);b.addOp(r.OPS.beginAnnotation,[c.id,c.rect,m,g,h]);await e.getOperatorList({stream:l,task:t,resources:d,operatorList:b,fallbackFontDict:this._fallbackFontDict});b.addOp(r.OPS.endAnnotation,[]);void 0!==y&&b.addOp(r.OPS.endMarkedContent,[]);this.reset();return{opList:b,separateForm:!1,separateCanvas:h}}async save(e,t,a){return null}get hasTextContent(){return!1}async extractTextContent(e,t,a){if(!this.appearance)return;const n=await this.loadResources(["ExtGState","Font","Properties","XObject"],this.appearance),i=[],s=[];let o=null;const c={desiredSize:Math.Infinity,ready:!0,enqueue(e,t){for(const t of e.items)if(void 0!==t.str){o||=t.transform.slice(-2);s.push(t.str);if(t.hasEOL){i.push(s.join(""));s.length=0}}}};await e.getTextContent({stream:this.appearance,task:t,resources:n,includeMarkedContent:!0,sink:c,viewBox:a});this.reset();s.length&&i.push(s.join(""));if(i.length>1||i[0]){const e=this.appearance.dict,t=e.getArray("BBox")||[0,0,1,1],a=e.getArray("Matrix")||[1,0,0,1,0,0],n=this.data.rect,s=getTransformMatrix(n,t,a);s[4]-=n[0];s[5]-=n[1];o=r.Util.applyTransform(o,s);o=r.Util.applyTransform(o,a);this.data.textPosition=o;this.data.textContent=i}}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const e of this._streams)e.reset()}_constructFieldName(e){if(!e.has("T")&&!e.has("Parent")){(0,r.warn)("Unknown field name, falling back to empty field name.");return""}if(!e.has("Parent"))return(0,r.stringToPDFString)(e.get("T"));const t=[];e.has("T")&&t.unshift((0,r.stringToPDFString)(e.get("T")));let a=e;const n=new s.RefSet;e.objId&&n.put(e.objId);for(;a.has("Parent");){a=a.get("Parent");if(!(a instanceof s.Dict)||a.objId&&n.has(a.objId))break;a.objId&&n.put(a.objId);a.has("T")&&t.unshift((0,r.stringToPDFString)(a.get("T")))}return t.join(".")}}t.Annotation=Annotation;class AnnotationBorderStyle{constructor(){this.width=1;this.style=r.AnnotationBorderStyleType.SOLID;this.dashArray=[3];this.horizontalCornerRadius=0;this.verticalCornerRadius=0}setWidth(e,t=[0,0,0,0]){if(e instanceof s.Name)this.width=0;else if("number"==typeof e){if(e>0){const a=(t[2]-t[0])/2,n=(t[3]-t[1])/2;if(a>0&&n>0&&(e>a||e>n)){(0,r.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${e}`);e=1}}this.width=e}}setStyle(e){if(e instanceof s.Name)switch(e.name){case"S":this.style=r.AnnotationBorderStyleType.SOLID;break;case"D":this.style=r.AnnotationBorderStyleType.DASHED;break;case"B":this.style=r.AnnotationBorderStyleType.BEVELED;break;case"I":this.style=r.AnnotationBorderStyleType.INSET;break;case"U":this.style=r.AnnotationBorderStyleType.UNDERLINE}}setDashArray(e,t=!1){if(Array.isArray(e)&&e.length>0){let a=!0,r=!0;for(const t of e){if(!(+t>=0)){a=!1;break}t>0&&(r=!1)}if(a&&!r){this.dashArray=e;t&&this.setStyle(s.Name.get("D"))}else this.width=0}else e&&(this.width=0)}setHorizontalCornerRadius(e){Number.isInteger(e)&&(this.horizontalCornerRadius=e)}setVerticalCornerRadius(e){Number.isInteger(e)&&(this.verticalCornerRadius=e)}}t.AnnotationBorderStyle=AnnotationBorderStyle;class MarkupAnnotation extends Annotation{constructor(e){super(e);const{dict:t}=e;if(t.has("IRT")){const e=t.getRaw("IRT");this.data.inReplyTo=e instanceof s.Ref?e.toString():null;const a=t.get("RT");this.data.replyType=a instanceof s.Name?a.name:r.AnnotationReplyType.REPLY}let a=null;if(this.data.replyType===r.AnnotationReplyType.GROUP){const e=t.get("IRT");this.setTitle(e.get("T"));this.data.titleObj=this._title;this.setContents(e.get("Contents"));this.data.contentsObj=this._contents;if(e.has("CreationDate")){this.setCreationDate(e.get("CreationDate"));this.data.creationDate=this.creationDate}else this.data.creationDate=null;if(e.has("M")){this.setModificationDate(e.get("M"));this.data.modificationDate=this.modificationDate}else this.data.modificationDate=null;a=e.getRaw("Popup");if(e.has("C")){this.setColor(e.getArray("C"));this.data.color=this.color}else this.data.color=null}else{this.data.titleObj=this._title;this.setCreationDate(t.get("CreationDate"));this.data.creationDate=this.creationDate;a=t.getRaw("Popup");t.has("C")||(this.data.color=null)}this.data.popupRef=a instanceof s.Ref?a.toString():null;t.has("RC")&&(this.data.richText=b.XFAFactory.getRichTextAsHtml(t.get("RC")))}setCreationDate(e){this.creationDate="string"==typeof e?e:null}_setDefaultAppearance({xref:e,extra:t,strokeColor:a,fillColor:r,blendMode:n,strokeAlpha:i,fillAlpha:c,pointsCallback:l}){let h=Number.MAX_VALUE,u=Number.MAX_VALUE,d=Number.MIN_VALUE,f=Number.MIN_VALUE;const g=["q"];t&&g.push(t);a&&g.push(`${a[0]} ${a[1]} ${a[2]} RG`);r&&g.push(`${r[0]} ${r[1]} ${r[2]} rg`);let p=this.data.quadPoints;p||(p=[[{x:this.rectangle[0],y:this.rectangle[3]},{x:this.rectangle[2],y:this.rectangle[3]},{x:this.rectangle[0],y:this.rectangle[1]},{x:this.rectangle[2],y:this.rectangle[1]}]]);for(const e of p){const[t,a,r,n]=l(g,e);h=Math.min(h,t);d=Math.max(d,a);u=Math.min(u,r);f=Math.max(f,n)}g.push("Q");const m=new s.Dict(e),b=new s.Dict(e);b.set("Subtype",s.Name.get("Form"));const y=new o.StringStream(g.join(" "));y.dict=b;m.set("Fm0",y);const w=new s.Dict(e);n&&w.set("BM",s.Name.get(n));"number"==typeof i&&w.set("CA",i);"number"==typeof c&&w.set("ca",c);const S=new s.Dict(e);S.set("GS0",w);const x=new s.Dict(e);x.set("ExtGState",S);x.set("XObject",m);const C=new s.Dict(e);C.set("Resources",x);const k=this.data.rect=[h,u,d,f];C.set("BBox",k);this.appearance=new o.StringStream("/GS0 gs /Fm0 Do");this.appearance.dict=C;this._streams.push(this.appearance,y)}static async createNewAnnotation(e,t,a,r){const n=t.ref||=e.getNewTemporaryRef(),i=await this.createNewAppearanceStream(t,e,r),s=[];let o;if(i){const r=e.getNewTemporaryRef();o=this.createNewDict(t,e,{apRef:r});await(0,m.writeObject)(r,i,s,e);a.push({ref:r,data:s.join("")})}else o=this.createNewDict(t,e,{});Number.isInteger(t.parentTreeId)&&o.set("StructParent",t.parentTreeId);s.length=0;await(0,m.writeObject)(n,o,s,e);return{ref:n,data:s.join("")}}static async createNewPrintAnnotation(e,t,a,r){const n=await this.createNewAppearanceStream(a,t,r),i=this.createNewDict(a,t,{ap:n}),s=new this.prototype.constructor({dict:i,xref:t,annotationGlobals:e,evaluatorOptions:r.evaluatorOptions});a.ref&&(s.ref=s.refToReplace=a.ref);return s}}t.MarkupAnnotation=MarkupAnnotation;class WidgetAnnotation extends Annotation{constructor(e){super(e);const{dict:t,xref:a,annotationGlobals:i}=e,o=this.data;this._needAppearances=e.needAppearances;o.annotationType=r.AnnotationType.WIDGET;void 0===o.fieldName&&(o.fieldName=this._constructFieldName(t));void 0===o.actions&&(o.actions=(0,n.collectActions)(a,t,r.AnnotationActionEventType));let c=(0,n.getInheritableProperty)({dict:t,key:"V",getArray:!0});o.fieldValue=this._decodeFormValue(c);const l=(0,n.getInheritableProperty)({dict:t,key:"DV",getArray:!0});o.defaultFieldValue=this._decodeFormValue(l);if(void 0===c&&i.xfaDatasets){const e=this._title.str;if(e){this._hasValueFromXFA=!0;o.fieldValue=c=i.xfaDatasets.getValue(e)}}void 0===c&&null!==o.defaultFieldValue&&(o.fieldValue=o.defaultFieldValue);o.alternativeText=(0,r.stringToPDFString)(t.get("TU")||"");this.setDefaultAppearance(e);o.hasAppearance||=this._needAppearances&&void 0!==o.fieldValue&&null!==o.fieldValue;const h=(0,n.getInheritableProperty)({dict:t,key:"FT"});o.fieldType=h instanceof s.Name?h.name:null;const u=(0,n.getInheritableProperty)({dict:t,key:"DR"}),d=i.acroForm.get("DR"),f=this.appearance?.dict.get("Resources");this._fieldResources={localResources:u,acroFormResources:d,appearanceResources:f,mergedResources:s.Dict.merge({xref:a,dictArray:[u,f,d],mergeSubDicts:!0})};o.fieldFlags=(0,n.getInheritableProperty)({dict:t,key:"Ff"});(!Number.isInteger(o.fieldFlags)||o.fieldFlags<0)&&(o.fieldFlags=0);o.readOnly=this.hasFieldFlag(r.AnnotationFieldFlag.READONLY);o.required=this.hasFieldFlag(r.AnnotationFieldFlag.REQUIRED);o.hidden=this._hasFlag(o.annotationFlags,r.AnnotationFlag.HIDDEN)||this._hasFlag(o.annotationFlags,r.AnnotationFlag.NOVIEW)}_decodeFormValue(e){return Array.isArray(e)?e.filter((e=>"string"==typeof e)).map((e=>(0,r.stringToPDFString)(e))):e instanceof s.Name?(0,r.stringToPDFString)(e.name):"string"==typeof e?(0,r.stringToPDFString)(e):null}hasFieldFlag(e){return!!(this.data.fieldFlags&e)}_isViewable(e){return!this._hasFlag(e,r.AnnotationFlag.INVISIBLE)}mustBeViewed(e,t){return t?this.viewable:super.mustBeViewed(e,t)&&!this._hasFlag(this.flags,r.AnnotationFlag.NOVIEW)}getRotationMatrix(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);if(0===t)return r.IDENTITY_MATRIX;const a=this.data.rect[2]-this.data.rect[0],i=this.data.rect[3]-this.data.rect[1];return(0,n.getRotationMatrix)(t,a,i)}getBorderAndBackgroundAppearances(e){let t=e?.get(this.data.id)?.rotation;void 0===t&&(t=this.rotation);if(!this.backgroundColor&&!this.borderColor)return"";const a=this.data.rect[2]-this.data.rect[0],r=this.data.rect[3]-this.data.rect[1],n=0===t||180===t?`0 0 ${a} ${r} re`:`0 0 ${r} ${a} re`;let s="";this.backgroundColor&&(s=`${(0,i.getPdfColor)(this.backgroundColor,!0)} ${n} f `);if(this.borderColor){s+=`${this.borderStyle.width||1} w ${(0,i.getPdfColor)(this.borderColor,!1)} ${n} S `}return s}async getOperatorList(e,t,a,n,i){if(n&&!(this instanceof SignatureWidgetAnnotation)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new p.OperatorList,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(e,t,a,n,i);const s=await this._getAppearance(e,t,a,i);if(this.appearance&&null===s)return super.getOperatorList(e,t,a,n,i);const c=new p.OperatorList;if(!this._defaultAppearance||null===s)return{opList:c,separateForm:!1,separateCanvas:!1};const l=!!(this.data.hasOwnCanvas&&a&r.RenderingIntentFlag.DISPLAY),h=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],u=getTransformMatrix(this.data.rect,h,[1,0,0,1,0,0]);let d;this.oc&&(d=await e.parseMarkedContentProps(this.oc,null));void 0!==d&&c.addOp(r.OPS.beginMarkedContentProps,["OC",d]);c.addOp(r.OPS.beginAnnotation,[this.data.id,this.data.rect,u,this.getRotationMatrix(i),l]);const f=new o.StringStream(s);await e.getOperatorList({stream:f,task:t,resources:this._fieldResources.mergedResources,operatorList:c});c.addOp(r.OPS.endAnnotation,[]);void 0!==d&&c.addOp(r.OPS.endMarkedContent,[]);return{opList:c,separateForm:!1,separateCanvas:l}}_getMKDict(e){const t=new s.Dict(null);e&&t.set("R",e);this.borderColor&&t.set("BC",getPdfColorArray(this.borderColor));this.backgroundColor&&t.set("BG",getPdfColorArray(this.backgroundColor));return t.size>0?t:null}amendSavedDict(e,t){}async save(e,t,a){const i=a?.get(this.data.id);let c=i?.value,l=i?.rotation;if(c===this.data.fieldValue||void 0===c){if(!this._hasValueFromXFA&&void 0===l)return null;c||=this.data.fieldValue}if(void 0===l&&!this._hasValueFromXFA&&Array.isArray(c)&&Array.isArray(this.data.fieldValue)&&c.length===this.data.fieldValue.length&&c.every(((e,t)=>e===this.data.fieldValue[t])))return null;void 0===l&&(l=this.rotation);let h=null;if(!this._needAppearances){h=await this._getAppearance(e,t,r.RenderingIntentFlag.SAVE,a);if(null===h)return null}let u=!1;if(h?.needAppearances){u=!0;h=null}const{xref:d}=e,f=d.fetchIfRef(this.ref);if(!(f instanceof s.Dict))return null;const g=new s.Dict(d);for(const e of f.getKeys())"AP"!==e&&g.set(e,f.getRaw(e));const p={path:this.data.fieldName,value:c},encoder=e=>(0,n.isAscii)(e)?e:(0,n.stringToUTF16String)(e,!0);g.set("V",Array.isArray(c)?c.map(encoder):encoder(c));this.amendSavedDict(a,g);const b=this._getMKDict(l);b&&g.set("MK",b);const y=[],w=[{ref:this.ref,data:"",xfa:p,needAppearances:u}];if(null!==h){const e=d.getNewTemporaryRef(),t=new s.Dict(d);g.set("AP",t);t.set("N",e);const n=this._getSaveFieldResources(d),i=new o.StringStream(h),c=i.dict=new s.Dict(d);c.set("Subtype",s.Name.get("Form"));c.set("Resources",n);c.set("BBox",[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]]);const l=this.getRotationMatrix(a);l!==r.IDENTITY_MATRIX&&c.set("Matrix",l);await(0,m.writeObject)(e,i,y,d);w.push({ref:e,data:y.join(""),xfa:null,needAppearances:!1});y.length=0}g.set("M",`D:${(0,r.getModificationDate)()}`);await(0,m.writeObject)(this.ref,g,y,d);w[0].data=y.join("");return w}async _getAppearance(e,t,a,s){if(this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD))return null;const o=s?.get(this.data.id);let c,l;if(o){c=o.formattedValue||o.value;l=o.rotation}if(void 0===l&&void 0===c&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const h=this.getBorderAndBackgroundAppearances(s);if(void 0===c){c=this.data.fieldValue;if(!c)return`/Tx BMC q ${h}Q EMC`}Array.isArray(c)&&1===c.length&&(c=c[0]);(0,r.assert)("string"==typeof c,"Expected `value` to be a string.");c=c.trim();if(this.data.combo){const e=this.data.options.find((({exportValue:e})=>c===e));c=e?.displayValue||c}if(""===c)return`/Tx BMC q ${h}Q EMC`;void 0===l&&(l=this.rotation);let u,d=-1;if(this.data.multiLine){u=c.split(/\r\n?|\n/).map((e=>e.normalize("NFC")));d=u.length}else u=[c.replace(/\r\n?|\n/,"").normalize("NFC")];let f=this.data.rect[3]-this.data.rect[1],g=this.data.rect[2]-this.data.rect[0];90!==l&&270!==l||([g,f]=[f,g]);this._defaultAppearance||(this.data.defaultAppearanceData=(0,i.parseDefaultAppearance)(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let p,m,b,y=await WidgetAnnotation._getFontData(e,t,this.data.defaultAppearanceData,this._fieldResources.mergedResources);const w=[];let S=!1;for(const e of u){const t=y.encodeString(e);t.length>1&&(S=!0);w.push(t.join(""))}if(S&&a&r.RenderingIntentFlag.SAVE)return{needAppearances:!0};if(S&&this._isOffscreenCanvasSupported){const a=this.data.comb?"monospace":"sans-serif",r=new i.FakeUnicodeFont(e.xref,a),s=r.createFontResources(u.join("")),o=s.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){const e=this._fieldResources.mergedResources.get("Font");for(const t of o.getKeys())e.set(t,o.getRaw(t))}else this._fieldResources.mergedResources.set("Font",o);const l=r.fontName.name;y=await WidgetAnnotation._getFontData(e,t,{fontName:l,fontSize:0},s);for(let e=0,t=w.length;e2)return`/Tx BMC q ${h}BT `+p+` 1 0 0 1 ${(0,n.numberToString)(2)} ${(0,n.numberToString)(v)} Tm (${(0,n.escapeString)(w[0])}) Tj ET Q EMC`;return`/Tx BMC q ${h}BT `+p+` 1 0 0 1 0 0 Tm ${this._renderText(w[0],y,m,g,k,{shift:0},2,v)} ET Q EMC`}static async _getFontData(e,t,a,r){const n=new p.OperatorList,i={font:null,clone(){return this}},{fontName:o,fontSize:c}=a;await e.handleSetFont(r,[o&&s.Name.get(o),c],null,n,t,i,null);return i.font}_getTextWidth(e,t){return t.charsToGlyphs(e).reduce(((e,t)=>e+t.width),0)/1e3}_computeFontSize(e,t,a,n,s){let{fontSize:o}=this.data.defaultAppearanceData,c=(o||12)*r.LINE_FACTOR,l=Math.round(e/c);if(!o){const roundWithTwoDigits=e=>Math.floor(100*e)/100;if(-1===s){const i=this._getTextWidth(a,n);o=roundWithTwoDigits(Math.min(e/r.LINE_FACTOR,i>t?t/i:1/0));l=1}else{const i=a.split(/\r\n?|\n/),h=[];for(const e of i){const t=n.encodeString(e).join(""),a=n.charsToGlyphs(t),r=n.getCharPositions(t);h.push({line:t,glyphs:a,positions:r})}const isTooBig=a=>{let r=0;for(const i of h){r+=this._splitLine(null,n,a,t,i).length*a;if(r>e)return!0}return!1};l=Math.max(l,s);for(;;){c=e/l;o=roundWithTwoDigits(c/r.LINE_FACTOR);if(!isTooBig(o))break;l++}}const{fontName:h,fontColor:u}=this.data.defaultAppearanceData;this._defaultAppearance=(0,i.createDefaultAppearance)({fontSize:o,fontName:h,fontColor:u})}return[this._defaultAppearance,o,e/l]}_renderText(e,t,a,r,i,s,o,c){let l;if(1===i){l=(r-this._getTextWidth(e,t)*a)/2}else if(2===i){l=r-this._getTextWidth(e,t)*a-o}else l=o;const h=(0,n.numberToString)(l-s.shift);s.shift=l;return`${h} ${c=(0,n.numberToString)(c)} Td (${(0,n.escapeString)(e)}) Tj`}_getSaveFieldResources(e){const{localResources:t,appearanceResources:a,acroFormResources:r}=this._fieldResources,n=this.data.defaultAppearanceData?.fontName;if(!n)return t||s.Dict.empty;for(const e of[t,a])if(e instanceof s.Dict){const t=e.get("Font");if(t instanceof s.Dict&&t.has(n))return e}if(r instanceof s.Dict){const a=r.get("Font");if(a instanceof s.Dict&&a.has(n)){const r=new s.Dict(e);r.set(n,a.getRaw(n));const i=new s.Dict(e);i.set("Font",r);return s.Dict.merge({xref:e,dictArray:[i,t],mergeSubDicts:!0})}}return t||s.Dict.empty}getFieldObject(){return null}}class TextWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML;this._hasText=!0;const t=e.dict;"string"!=typeof this.data.fieldValue&&(this.data.fieldValue="");let a=(0,n.getInheritableProperty)({dict:t,key:"Q"});(!Number.isInteger(a)||a<0||a>2)&&(a=null);this.data.textAlignment=a;let i=(0,n.getInheritableProperty)({dict:t,key:"MaxLen"});(!Number.isInteger(i)||i<0)&&(i=0);this.data.maxLen=i;this.data.multiLine=this.hasFieldFlag(r.AnnotationFieldFlag.MULTILINE);this.data.comb=this.hasFieldFlag(r.AnnotationFieldFlag.COMB)&&!this.hasFieldFlag(r.AnnotationFieldFlag.MULTILINE)&&!this.hasFieldFlag(r.AnnotationFieldFlag.PASSWORD)&&!this.hasFieldFlag(r.AnnotationFieldFlag.FILESELECT)&&0!==this.data.maxLen;this.data.doNotScroll=this.hasFieldFlag(r.AnnotationFieldFlag.DONOTSCROLL)}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(e,t,a,r,i,s,o,c,l,h,u){const d=i/this.data.maxLen,f=this.getBorderAndBackgroundAppearances(u),g=[],p=t.getCharPositions(a);for(const[e,t]of p)g.push(`(${(0,n.escapeString)(a.substring(e,t))}) Tj`);const m=g.join(` ${(0,n.numberToString)(d)} 0 Td `);return`/Tx BMC q ${f}BT `+e+` 1 0 0 1 ${(0,n.numberToString)(o)} ${(0,n.numberToString)(c+l)} Tm ${m} ET Q EMC`}_getMultilineAppearance(e,t,a,r,i,s,o,c,l,h,u,d){const f=[],g=i-2*c,p={shift:0};for(let e=0,n=t.length;er){c.push(e.substring(d,a));d=a;f=p;l=-1;u=-1}else{f+=p;l=a;h=n;u=t}else if(f+p>r)if(-1!==l){c.push(e.substring(d,h));d=h;t=u+1;l=-1;f=0}else{c.push(e.substring(d,a));d=a;f=p}else f+=p}d"Off"!==e));i.length=0;i.push("Off",e)}i.includes(this.data.fieldValue)||(this.data.fieldValue="Off");this.data.exportValue=i[1];const o=a.get(this.data.exportValue);this.checkedAppearance=o instanceof c.BaseStream?o:null;const l=a.get("Off");this.uncheckedAppearance=l instanceof c.BaseStream?l:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"check");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processRadioButton(e){this.data.fieldValue=this.data.buttonValue=null;const t=e.dict.get("Parent");if(t instanceof s.Dict){this.parent=e.dict.getRaw("Parent");const a=t.get("V");a instanceof s.Name&&(this.data.fieldValue=this._decodeFormValue(a))}const a=e.dict.get("AP");if(!(a instanceof s.Dict))return;const r=a.get("N");if(!(r instanceof s.Dict))return;for(const e of r.getKeys())if("Off"!==e){this.data.buttonValue=this._decodeFormValue(e);break}const n=r.get(this.data.buttonValue);this.checkedAppearance=n instanceof c.BaseStream?n:null;const i=r.get("Off");this.uncheckedAppearance=i instanceof c.BaseStream?i:null;this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(e,"disc");this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance);this._fallbackFontDict=this.fallbackFontDict;null===this.data.defaultFieldValue&&(this.data.defaultFieldValue="Off")}_processPushButton(e){const{dict:t,annotationGlobals:a}=e;if(t.has("A")||t.has("AA")||this.data.alternativeText){this.data.isTooltipOnly=!t.has("A")&&!t.has("AA");h.Catalog.parseDestDictionary({destDict:t,resultObj:this.data,docBaseUrl:a.baseUrl,docAttachments:a.attachments})}else(0,r.warn)("Push buttons without action dictionaries are not supported")}getFieldObject(){let e,t="button";if(this.data.checkBox){t="checkbox";e=this.data.exportValue}else if(this.data.radioButton){t="radiobutton";e=this.data.buttonValue}return{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:e,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:t}}get fallbackFontDict(){const e=new s.Dict;e.set("BaseFont",s.Name.get("ZapfDingbats"));e.set("Type",s.Name.get("FallbackType"));e.set("Subtype",s.Name.get("FallbackType"));e.set("Encoding",s.Name.get("ZapfDingbatsEncoding"));return(0,r.shadow)(this,"fallbackFontDict",e)}}class ChoiceWidgetAnnotation extends WidgetAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.indices=t.getArray("I");this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0;this.data.options=[];const i=(0,n.getInheritableProperty)({dict:t,key:"Opt"});if(Array.isArray(i))for(let e=0,t=i.length;e=0&&t0?this.data.fieldValue[0]:null;return{id:this.data.id,value:t,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:e}}amendSavedDict(e,t){if(!this.hasIndices)return;let a=e?.get(this.data.id)?.value;Array.isArray(a)||(a=[a]);const r=[],{options:n}=this.data;for(let e=0,t=0,i=n.length;ea){a=r;t=e}}[g,p]=this._computeFontSize(e,h-4,t,f,-1)}const m=p*r.LINE_FACTOR,b=(m-p)/2,y=Math.floor(l/m);let w=0;if(d.length>0){const e=Math.min(...d),t=Math.max(...d);w=Math.max(0,t-y+1);w>e&&(w=e)}const S=Math.min(w+y+1,u),x=["/Tx BMC q",`1 1 ${h} ${l} re W n`];if(d.length){x.push("0.600006 0.756866 0.854904 rg");for(const e of d)w<=e&&e1)return null;e=t.join("");M.push(e);let a=0;const r=y.charsToGlyphs(e);for(const e of r)a+=e.width*O;T=Math.max(T,a)}let D=1;T>k&&(D=k/T);let E=1;const N=r.LINE_FACTOR*d,R=(r.LINE_FACTOR-r.LINE_DESCENT_FACTOR)*d,L=N*F.length;L>v&&(E=v/L);const $=d*Math.min(D,E);let _,j,U;switch(g){case 0:U=[1,0,0,1];j=[f[0],f[1],k,v];_=[f[0],f[3]-R];break;case 90:U=[0,1,-1,0];j=[f[1],-f[2],k,v];_=[f[1],-f[0]-R];break;case 180:U=[-1,0,0,-1];j=[-f[2],-f[3],k,v];_=[-f[2],-f[1]-R];break;case 270:U=[0,-1,1,0];j=[-f[3],f[0],k,v];_=[-f[3],f[2]-R]}const X=["q",`${U.join(" ")} 0 0 cm`,`${j.join(" ")} re W n`,"BT",`${(0,i.getPdfColor)(u,!0)}`,`0 Tc /Helv ${(0,n.numberToString)($)} Tf`];X.push(`${_.join(" ")} Td (${(0,n.escapeString)(M[0])}) Tj`);const H=(0,n.numberToString)(N);for(let e=1,t=M.length;e{e.push(`${n[0]} ${n[1]} m`,`${n[2]} ${n[3]} l`,"S");return[t[0].x-l,t[1].x+l,t[3].y-l,t[1].y+l]}})}}}class SquareAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=r.AnnotationType.SQUARE;this.data.hasOwnCanvas=this.data.noRotate;if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],r=t.get("CA"),n=getRgbColor(t.getArray("IC"),null),i=n?getPdfColorArray(n):null,s=i?r:null;if(0===this.borderStyle.width&&!i)return;this._setDefaultAppearance({xref:a,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:i,strokeAlpha:r,fillAlpha:s,pointsCallback:(e,t)=>{const a=t[2].x+this.borderStyle.width/2,r=t[2].y+this.borderStyle.width/2,n=t[3].x-t[2].x-this.borderStyle.width,s=t[1].y-t[3].y-this.borderStyle.width;e.push(`${a} ${r} ${n} ${s} re`);i?e.push("B"):e.push("S");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}}class CircleAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=r.AnnotationType.CIRCLE;if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],r=t.get("CA"),n=getRgbColor(t.getArray("IC"),null),i=n?getPdfColorArray(n):null,s=i?r:null;if(0===this.borderStyle.width&&!i)return;const o=4/3*Math.tan(Math.PI/8);this._setDefaultAppearance({xref:a,extra:`${this.borderStyle.width} w`,strokeColor:e,fillColor:i,strokeAlpha:r,fillAlpha:s,pointsCallback:(e,t)=>{const a=t[0].x+this.borderStyle.width/2,r=t[0].y-this.borderStyle.width/2,n=t[3].x-this.borderStyle.width/2,s=t[3].y+this.borderStyle.width/2,c=a+(n-a)/2,l=r+(s-r)/2,h=(n-a)/2*o,u=(s-r)/2*o;e.push(`${c} ${s} m`,`${c+h} ${s} ${n} ${l+u} ${n} ${l} c`,`${n} ${l-u} ${c+h} ${r} ${c} ${r} c`,`${c-h} ${r} ${a} ${l-u} ${a} ${l} c`,`${a} ${l+u} ${c-h} ${s} ${c} ${s} c`,"h");i?e.push("B"):e.push("S");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}}class PolylineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=r.AnnotationType.POLYLINE;this.data.hasOwnCanvas=this.data.noRotate;this.data.vertices=[];if(!(this instanceof PolygonAnnotation)){this.setLineEndings(t.getArray("LE"));this.data.lineEndings=this.lineEndings}const n=t.getArray("Vertices");if(Array.isArray(n)){for(let e=0,t=n.length;e{const a=this.data.vertices;for(let t=0,r=a.length;t{for(const t of this.data.inkLists){for(let a=0,r=t.length;ae.points)));d.set("F",4);d.set("Rotate",h);const f=new s.Dict(t);d.set("BS",f);f.set("W",u);d.set("C",Array.from(i,(e=>e/255)));d.set("CA",o);const g=new s.Dict(t);d.set("AP",g);a?g.set("N",a):g.set("N",n);return d}static async createNewAppearanceStream(e,t,a){const{color:r,rect:c,paths:l,thickness:h,opacity:u}=e,d=[`${h} w 1 J 1 j`,`${(0,i.getPdfColor)(r,!1)}`];1!==u&&d.push("/R0 gs");const f=[];for(const{bezier:e}of l){f.length=0;f.push(`${(0,n.numberToString)(e[0])} ${(0,n.numberToString)(e[1])} m`);for(let t=2,a=e.length;t{e.push(`${t[0].x} ${t[0].y} m`,`${t[1].x} ${t[1].y} l`,`${t[3].x} ${t[3].y} l`,`${t[2].x} ${t[2].y} l`,"f");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}else this.data.popupRef=null}}class UnderlineAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=r.AnnotationType.UNDERLINE;if(this.data.quadPoints=getQuadPoints(t,null)){if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],r=t.get("CA");this._setDefaultAppearance({xref:a,extra:"[] 0 d 0.571 w",strokeColor:e,strokeAlpha:r,pointsCallback:(e,t)=>{e.push(`${t[2].x} ${t[2].y+1.3} m`,`${t[3].x} ${t[3].y+1.3} l`,"S");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}else this.data.popupRef=null}}class SquigglyAnnotation extends MarkupAnnotation{constructor(e){super(e);const{dict:t,xref:a}=e;this.data.annotationType=r.AnnotationType.SQUIGGLY;if(this.data.quadPoints=getQuadPoints(t,null)){if(!this.appearance){const e=this.color?getPdfColorArray(this.color):[0,0,0],r=t.get("CA");this._setDefaultAppearance({xref:a,extra:"[] 0 d 1 w",strokeColor:e,strokeAlpha:r,pointsCallback:(e,t)=>{const a=(t[0].y-t[2].y)/6;let r=a,n=t[2].x;const i=t[2].y,s=t[3].x;e.push(`${n} ${i+r} m`);do{n+=2;r=0===r?a:0;e.push(`${n} ${i+r} l`)}while(n{e.push((t[0].x+t[2].x)/2+" "+(t[0].y+t[2].y)/2+" m",(t[1].x+t[3].x)/2+" "+(t[1].y+t[3].y)/2+" l","S");return[t[0].x,t[1].x,t[3].y,t[1].y]}})}}else this.data.popupRef=null}}class StampAnnotation extends MarkupAnnotation{constructor(e){super(e);this.data.annotationType=r.AnnotationType.STAMP;this.data.hasOwnCanvas=this.data.noRotate}static async createImage(e,t){const{width:a,height:n}=e,i=new OffscreenCanvas(a,n),c=i.getContext("2d",{alpha:!0});c.drawImage(e,0,0);const l=c.getImageData(0,0,a,n).data,h=new Uint32Array(l.buffer),u=h.some(r.FeatureTest.isLittleEndian?e=>e>>>24!=255:e=>255!=(255&e));if(u){c.fillStyle="white";c.fillRect(0,0,a,n);c.drawImage(e,0,0)}const d=i.convertToBlob({type:"image/jpeg",quality:1}).then((e=>e.arrayBuffer())),f=s.Name.get("XObject"),g=s.Name.get("Image"),p=new s.Dict(t);p.set("Type",f);p.set("Subtype",g);p.set("BitsPerComponent",8);p.set("ColorSpace",s.Name.get("DeviceRGB"));p.set("Filter",s.Name.get("DCTDecode"));p.set("BBox",[0,0,a,n]);p.set("Width",a);p.set("Height",n);let m=null;if(u){const e=new Uint8Array(h.length);if(r.FeatureTest.isLittleEndian)for(let t=0,a=h.length;t>>24;else for(let t=0,a=h.length;t=0&&o<=1?o:null}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.FakeUnicodeFont=void 0;t.createDefaultAppearance=function createDefaultAppearance({fontSize:e,fontName:t,fontColor:a}){return`/${(0,n.escapePDFName)(t)} ${e} Tf ${getPdfColor(a,!0)}`};t.getPdfColor=getPdfColor;t.parseAppearanceStream=function parseAppearanceStream(e,t,a){return new AppearanceStreamEvaluator(e,t,a).parse()};t.parseDefaultAppearance=function parseDefaultAppearance(e){return new DefaultAppearanceEvaluator(e).parse()};var r=a(4),n=a(3),i=a(2),s=a(12),o=a(13),c=a(59),l=a(57),h=a(8);class DefaultAppearanceEvaluator extends o.EvaluatorPreprocessor{constructor(e){super(new h.StringStream(e))}parse(){const e={fn:0,args:[]},t={fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3)};try{for(;;){e.args.length=0;if(!this.read(e))break;if(0!==this.savedStatesDepth)continue;const{fn:a,args:n}=e;switch(0|a){case i.OPS.setFont:const[e,a]=n;e instanceof r.Name&&(t.fontName=e.name);"number"==typeof a&&a>0&&(t.fontSize=a);break;case i.OPS.setFillRGBColor:s.ColorSpace.singletons.rgb.getRgbItem(n,0,t.fontColor,0);break;case i.OPS.setFillGray:s.ColorSpace.singletons.gray.getRgbItem(n,0,t.fontColor,0);break;case i.OPS.setFillCMYKColor:s.ColorSpace.singletons.cmyk.getRgbItem(n,0,t.fontColor,0)}}}catch(e){(0,i.warn)(`parseDefaultAppearance - ignoring errors: "${e}".`)}return t}}class AppearanceStreamEvaluator extends o.EvaluatorPreprocessor{constructor(e,t,a){super(e);this.stream=e;this.evaluatorOptions=t;this.xref=a;this.resources=e.dict?.get("Resources")}parse(){const e={fn:0,args:[]};let t={scaleFactor:1,fontSize:0,fontName:"",fontColor:new Uint8ClampedArray(3),fillColorSpace:s.ColorSpace.singletons.gray},a=!1;const n=[];try{for(;;){e.args.length=0;if(a||!this.read(e))break;const{fn:o,args:c}=e;switch(0|o){case i.OPS.save:n.push({scaleFactor:t.scaleFactor,fontSize:t.fontSize,fontName:t.fontName,fontColor:t.fontColor.slice(),fillColorSpace:t.fillColorSpace});break;case i.OPS.restore:t=n.pop()||t;break;case i.OPS.setTextMatrix:t.scaleFactor*=Math.hypot(c[0],c[1]);break;case i.OPS.setFont:const[e,o]=c;e instanceof r.Name&&(t.fontName=e.name);"number"==typeof o&&o>0&&(t.fontSize=o*t.scaleFactor);break;case i.OPS.setFillColorSpace:t.fillColorSpace=s.ColorSpace.parse({cs:c[0],xref:this.xref,resources:this.resources,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:this._localColorSpaceCache});break;case i.OPS.setFillColor:t.fillColorSpace.getRgbItem(c,0,t.fontColor,0);break;case i.OPS.setFillRGBColor:s.ColorSpace.singletons.rgb.getRgbItem(c,0,t.fontColor,0);break;case i.OPS.setFillGray:s.ColorSpace.singletons.gray.getRgbItem(c,0,t.fontColor,0);break;case i.OPS.setFillCMYKColor:s.ColorSpace.singletons.cmyk.getRgbItem(c,0,t.fontColor,0);break;case i.OPS.showText:case i.OPS.showSpacedText:case i.OPS.nextLineShowText:case i.OPS.nextLineSetSpacingShowText:a=!0}}}catch(e){(0,i.warn)(`parseAppearanceStream - ignoring errors: "${e}".`)}this.stream.reset();delete t.scaleFactor;delete t.fillColorSpace;return t}get _localColorSpaceCache(){return(0,i.shadow)(this,"_localColorSpaceCache",new c.LocalColorSpaceCache)}get _pdfFunctionFactory(){const e=new l.PDFFunctionFactory({xref:this.xref,isEvalSupported:this.evaluatorOptions.isEvalSupported});return(0,i.shadow)(this,"_pdfFunctionFactory",e)}}function getPdfColor(e,t){if(e[0]===e[1]&&e[1]===e[2]){const a=e[0]/255;return`${(0,n.numberToString)(a)} ${t?"g":"G"}`}return Array.from(e,(e=>(0,n.numberToString)(e/255))).join(" ")+" "+(t?"rg":"RG")}class FakeUnicodeFont{constructor(e,t){this.xref=e;this.widths=null;this.firstChar=1/0;this.lastChar=-1/0;this.fontFamily=t;const a=new OffscreenCanvas(1,1);this.ctxMeasure=a.getContext("2d");FakeUnicodeFont._fontNameId||(FakeUnicodeFont._fontNameId=1);this.fontName=r.Name.get(`InvalidPDFjsFont_${t}_${FakeUnicodeFont._fontNameId++}`)}get toUnicodeRef(){if(!FakeUnicodeFont._toUnicodeRef){const e="/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo\n<< /Registry (Adobe)\n/Ordering (UCS) /Supplement 0 >> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000> \nendcodespacerange\n1 beginbfrange\n<0000> <0000>\nendbfrange\nendcmap CMapName currentdict /CMap defineresource pop end end",t=FakeUnicodeFont.toUnicodeStream=new h.StringStream(e),a=new r.Dict(this.xref);t.dict=a;a.set("Length",e.length);FakeUnicodeFont._toUnicodeRef=this.xref.getNewPersistentRef(t)}return FakeUnicodeFont._toUnicodeRef}get fontDescriptorRef(){if(!FakeUnicodeFont._fontDescriptorRef){const e=new r.Dict(this.xref);e.set("Type",r.Name.get("FontDescriptor"));e.set("FontName",this.fontName);e.set("FontFamily","MyriadPro Regular");e.set("FontBBox",[0,0,0,0]);e.set("FontStretch",r.Name.get("Normal"));e.set("FontWeight",400);e.set("ItalicAngle",0);FakeUnicodeFont._fontDescriptorRef=this.xref.getNewPersistentRef(e)}return FakeUnicodeFont._fontDescriptorRef}get descendantFontRef(){const e=new r.Dict(this.xref);e.set("BaseFont",this.fontName);e.set("Type",r.Name.get("Font"));e.set("Subtype",r.Name.get("CIDFontType0"));e.set("CIDToGIDMap",r.Name.get("Identity"));e.set("FirstChar",this.firstChar);e.set("LastChar",this.lastChar);e.set("FontDescriptor",this.fontDescriptorRef);e.set("DW",1e3);const t=[],a=[...this.widths.entries()].sort();let n=null,i=null;for(const[e,r]of a)if(n)if(e===n+i.length)i.push(r);else{t.push(n,i);n=e;i=[r]}else{n=e;i=[r]}n&&t.push(n,i);e.set("W",t);const s=new r.Dict(this.xref);s.set("Ordering","Identity");s.set("Registry","Adobe");s.set("Supplement",0);e.set("CIDSystemInfo",s);return this.xref.getNewPersistentRef(e)}get baseFontRef(){const e=new r.Dict(this.xref);e.set("BaseFont",this.fontName);e.set("Type",r.Name.get("Font"));e.set("Subtype",r.Name.get("Type0"));e.set("Encoding",r.Name.get("Identity-H"));e.set("DescendantFonts",[this.descendantFontRef]);e.set("ToUnicode",this.toUnicodeRef);return this.xref.getNewPersistentRef(e)}get resources(){const e=new r.Dict(this.xref),t=new r.Dict(this.xref);t.set(this.fontName.name,this.baseFontRef);e.set("Font",t);return e}_createContext(){this.widths=new Map;this.ctxMeasure.font=`1000px ${this.fontFamily}`;return this.ctxMeasure}createFontResources(e){const t=this._createContext();for(const a of e.split(/\r\n?|\n/))for(const e of a.split("")){const a=e.charCodeAt(0);if(this.widths.has(a))continue;const r=t.measureText(e),n=Math.ceil(r.width);this.widths.set(a,n);this.firstChar=Math.min(a,this.firstChar);this.lastChar=Math.max(a,this.lastChar)}return this.resources}createAppearance(e,t,a,s,o,c){const l=this._createContext(),u=[];let d=-1/0;for(const t of e.split(/\r\n?|\n/)){u.push(t);const e=l.measureText(t).width;d=Math.max(d,e);for(const e of t.split("")){const t=e.charCodeAt(0);let a=this.widths.get(t);if(void 0===a){const r=l.measureText(e);a=Math.ceil(r.width);this.widths.set(t,a);this.firstChar=Math.min(t,this.firstChar);this.lastChar=Math.max(t,this.lastChar)}}}d*=s/1e3;const[f,g,p,m]=t;let b=p-f,y=m-g;a%180!=0&&([b,y]=[y,b]);let w=1;d>b&&(w=b/d);let S=1;const x=i.LINE_FACTOR*s,C=i.LINE_DESCENT_FACTOR*s,k=x*u.length;k>y&&(S=y/k);const v=s*Math.min(w,S),F=["q",`0 0 ${(0,n.numberToString)(b)} ${(0,n.numberToString)(y)} re W n`,"BT",`1 0 0 1 0 ${(0,n.numberToString)(y+C)} Tm 0 Tc ${getPdfColor(o,!0)}`,`/${this.fontName.name} ${(0,n.numberToString)(v)} Tf`],{resources:O}=this;if(1!==(c="number"==typeof c&&c>=0&&c<=1?c:1)){F.push("/R0 gs");const e=new r.Dict(this.xref),t=new r.Dict(this.xref);t.set("ca",c);t.set("CA",c);t.set("Type",r.Name.get("ExtGState"));e.set("R0",t);O.set("ExtGState",e)}const T=(0,n.numberToString)(x);for(const e of u)F.push(`0 -${T} Td <${(0,n.stringToUTF16HexString)(e)}> Tj`);F.push("ET","Q");const M=F.join("\n"),D=new r.Dict(this.xref);D.set("Subtype",r.Name.get("Form"));D.set("Type",r.Name.get("XObject"));D.set("BBox",[0,0,b,y]);D.set("Length",M.length);D.set("Resources",O);if(a){const e=(0,n.getRotationMatrix)(a,b,y);D.set("Matrix",e)}const E=new h.StringStream(M);E.dict=D;return E}}t.FakeUnicodeFont=FakeUnicodeFont},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ColorSpace=void 0;var r=a(2),n=a(4),i=a(5),s=a(3);class ColorSpace{constructor(e,t){this.constructor===ColorSpace&&(0,r.unreachable)("Cannot initialize ColorSpace.");this.name=e;this.numComps=t}getRgb(e,t){const a=new Uint8ClampedArray(3);this.getRgbItem(e,t,a,0);return a}getRgbItem(e,t,a,n){(0,r.unreachable)("Should not call ColorSpace.getRgbItem")}getRgbBuffer(e,t,a,n,i,s,o){(0,r.unreachable)("Should not call ColorSpace.getRgbBuffer")}getOutputLength(e,t){(0,r.unreachable)("Should not call ColorSpace.getOutputLength")}isPassthrough(e){return!1}isDefaultDecode(e,t){return ColorSpace.isDefaultDecode(e,this.numComps)}fillRgb(e,t,a,r,n,i,s,o,c){const l=t*a;let h=null;const u=1<u&&"DeviceGray"!==this.name&&"DeviceRGB"!==this.name){const t=s<=8?new Uint8Array(u):new Uint16Array(u);for(let e=0;e=.99554525?1:this.#m(0,1,1.055*e**(1/2.4)-.055)}#m(e,t,a){return Math.max(e,Math.min(t,a))}#b(e){return e<0?-this.#b(-e):e>8?((e+16)/116)**3:e*CalRGBCS.#u}#y(e,t,a){if(0===e[0]&&0===e[1]&&0===e[2]){a[0]=t[0];a[1]=t[1];a[2]=t[2];return}const r=this.#b(0),n=(1-r)/(1-this.#b(e[0])),i=1-n,s=(1-r)/(1-this.#b(e[1])),o=1-s,c=(1-r)/(1-this.#b(e[2])),l=1-c;a[0]=t[0]*n+i;a[1]=t[1]*s+o;a[2]=t[2]*c+l}#w(e,t,a){if(1===e[0]&&1===e[2]){a[0]=t[0];a[1]=t[1];a[2]=t[2];return}const r=a;this.#d(CalRGBCS.#n,t,r);const n=CalRGBCS.#c;this.#f(e,r,n);this.#d(CalRGBCS.#i,n,a)}#S(e,t,a){const r=a;this.#d(CalRGBCS.#n,t,r);const n=CalRGBCS.#c;this.#g(e,r,n);this.#d(CalRGBCS.#i,n,a)}#r(e,t,a,r,n){const i=this.#m(0,1,e[t]*n),s=this.#m(0,1,e[t+1]*n),o=this.#m(0,1,e[t+2]*n),c=1===i?1:i**this.GR,l=1===s?1:s**this.GG,h=1===o?1:o**this.GB,u=this.MXA*c+this.MXB*l+this.MXC*h,d=this.MYA*c+this.MYB*l+this.MYC*h,f=this.MZA*c+this.MZB*l+this.MZC*h,g=CalRGBCS.#l;g[0]=u;g[1]=d;g[2]=f;const p=CalRGBCS.#h;this.#w(this.whitePoint,g,p);const m=CalRGBCS.#l;this.#y(this.blackPoint,p,m);const b=CalRGBCS.#h;this.#S(CalRGBCS.#o,m,b);const y=CalRGBCS.#l;this.#d(CalRGBCS.#s,b,y);a[r]=255*this.#p(y[0]);a[r+1]=255*this.#p(y[1]);a[r+2]=255*this.#p(y[2])}getRgbItem(e,t,a,r){this.#r(e,t,a,r,1)}getRgbBuffer(e,t,a,r,n,i,s){const o=1/((1<this.amax||this.bmin>this.bmax){(0,r.info)("Invalid Range, falling back to defaults");this.amin=-100;this.amax=100;this.bmin=-100;this.bmax=100}}#x(e){return e>=6/29?e**3:108/841*(e-4/29)}#A(e,t,a,r){return a+e*(r-a)/t}#r(e,t,a,r,n){let i=e[t],s=e[t+1],o=e[t+2];if(!1!==a){i=this.#A(i,a,0,100);s=this.#A(s,a,this.amin,this.amax);o=this.#A(o,a,this.bmin,this.bmax)}s>this.amax?s=this.amax:sthis.bmax?o=this.bmax:o{Object.defineProperty(t,"__esModule",{value:!0});t.PartialEvaluator=t.EvaluatorPreprocessor=void 0;var r=a(2),n=a(14),i=a(4),s=a(34),o=a(37),c=a(41),l=a(50),h=a(51),u=a(42),d=a(57),f=a(16),g=a(59),p=a(8),m=a(5),b=a(60),y=a(12),w=a(18),S=a(38),x=a(61),C=a(39),k=a(45),v=a(40),F=a(62),O=a(63),T=a(64),M=a(65);const D=Object.freeze({maxImageSize:-1,disableFontFace:!1,ignoreErrors:!1,isEvalSupported:!0,isOffscreenCanvasSupported:!1,canvasMaxAreaInBytes:-1,fontExtraProperties:!1,useSystemFonts:!0,cMapUrl:null,standardFontDataUrl:null}),E=1,N=2,R=Promise.resolve();function normalizeBlendMode(e,t=!1){if(Array.isArray(e)){for(const t of e){const e=normalizeBlendMode(t,!0);if(e)return e}(0,r.warn)(`Unsupported blend mode Array: ${e}`);return"source-over"}if(!(e instanceof i.Name))return t?null:"source-over";switch(e.name){case"Normal":case"Compatible":return"source-over";case"Multiply":return"multiply";case"Screen":return"screen";case"Overlay":return"overlay";case"Darken":return"darken";case"Lighten":return"lighten";case"ColorDodge":return"color-dodge";case"ColorBurn":return"color-burn";case"HardLight":return"hard-light";case"SoftLight":return"soft-light";case"Difference":return"difference";case"Exclusion":return"exclusion";case"Hue":return"hue";case"Saturation":return"saturation";case"Color":return"color";case"Luminosity":return"luminosity"}if(t)return null;(0,r.warn)(`Unsupported blend mode: ${e.name}`);return"source-over"}function incrementCachedImageMaskCount(e){e.fn===r.OPS.paintImageMaskXObject&&e.args[0]?.count>0&&e.args[0].count++}class TimeSlotManager{static TIME_SLOT_DURATION_MS=20;static CHECK_TIME_EVERY=100;constructor(){this.reset()}check(){if(++this.checkedd){const e="Image exceeded maximum allowed size and was removed.";if(this.options.ignoreErrors){(0,r.warn)(e);return}throw new Error(e)}let f;c.has("OC")&&(f=await this.parseMarkedContentProps(c.get("OC"),e));let g,p;if(c.get("IM","ImageMask")||!1){const e=c.get("I","Interpolate"),a=h+7>>3,o=t.getBytes(a*u),d=c.getArray("D","Decode");if(this.parsingType3Font){g=M.PDFImage.createRawMask({imgArray:o,width:h,height:u,imageIsFromDecodeStream:t instanceof w.DecodeStream,inverseDecode:d?.[0]>0,interpolate:e});g.cached=!!i;p=[g];n.addImageOps(r.OPS.paintImageMaskXObject,p,f);if(i){const e={fn:r.OPS.paintImageMaskXObject,args:p,optionalContent:f};s.set(i,l,e);l&&this._regionalImageCache.set(null,l,e)}return}g=await M.PDFImage.createMask({imgArray:o,width:h,height:u,imageIsFromDecodeStream:t instanceof w.DecodeStream,inverseDecode:d?.[0]>0,interpolate:e,isOffscreenCanvasSupported:this.options.isOffscreenCanvasSupported});if(g.isSingleOpaquePixel){n.addImageOps(r.OPS.paintSolidColorImageMask,[],f);if(i){const e={fn:r.OPS.paintSolidColorImageMask,args:[],optionalContent:f};s.set(i,l,e);l&&this._regionalImageCache.set(null,l,e)}return}const m=`mask_${this.idFactory.createObjId()}`;n.addDependency(m);this._sendImgData(m,g);p=[{data:m,width:g.width,height:g.height,interpolate:g.interpolate,count:1}];n.addImageOps(r.OPS.paintImageMaskXObject,p,f);if(i){const e={fn:r.OPS.paintImageMaskXObject,args:p,optionalContent:f};s.set(i,l,e);l&&this._regionalImageCache.set(null,l,e)}return}if(a&&!c.has("SMask")&&!c.has("Mask")&&h+u<200){const i=new M.PDFImage({xref:this.xref,res:e,image:t,isInline:a,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:o});g=await i.createImageData(!0,!1);n.isOffscreenCanvasSupported=this.options.isOffscreenCanvasSupported;n.addImageOps(r.OPS.paintInlineImageXObject,[g],f);return}let m=`img_${this.idFactory.createObjId()}`,b=!1;if(this.parsingType3Font)m=`${this.idFactory.getDocId()}_type3_${m}`;else if(l){b=this.globalImageCache.shouldCache(l,this.pageIndex);b&&(m=`${this.idFactory.getDocId()}_${m}`)}n.addDependency(m);p=[m,h,u];M.PDFImage.buildImage({xref:this.xref,res:e,image:t,isInline:a,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:o}).then((async e=>{g=await e.createImageData(!1,this.options.isOffscreenCanvasSupported);if(i&&l&&b){const e=g.bitmap?g.width*g.height*4:g.data.length;this.globalImageCache.addByteSize(l,e)}return this._sendImgData(m,g,b)})).catch((e=>{(0,r.warn)(`Unable to decode image "${m}": "${e}".`);return this._sendImgData(m,null,b)}));n.addImageOps(r.OPS.paintImageXObject,p,f);if(i){const e={fn:r.OPS.paintImageXObject,args:p,optionalContent:f};s.set(i,l,e);if(l){this._regionalImageCache.set(null,l,e);if(b){(0,r.assert)(!a,"Cannot cache an inline image globally.");this.globalImageCache.setData(l,{objId:m,fn:r.OPS.paintImageXObject,args:p,optionalContent:f,byteSize:0})}}}}handleSMask(e,t,a,r,n,i){const s=e.get("G"),o={subtype:e.get("S").name,backdrop:e.get("BC")},c=e.get("TR");if((0,d.isPDFFunction)(c)){const e=this._pdfFunctionFactory.create(c),t=new Uint8Array(256),a=new Float32Array(1);for(let r=0;r<256;r++){a[0]=r/255;e(a,0,a,0);t[r]=255*a[0]|0}o.transferMap=t}return this.buildFormXObject(t,s,o,a,r,n.state.clone(),i)}handleTransferFunction(e){let t;if(Array.isArray(e))t=e;else{if(!(0,d.isPDFFunction)(e))return null;t=[e]}const a=[];let r=0,n=0;for(const e of t){const t=this.xref.fetchIfRef(e);r++;if((0,i.isName)(t,"Identity")){a.push(null);continue}if(!(0,d.isPDFFunction)(t))return null;const s=this._pdfFunctionFactory.create(t),o=new Uint8Array(256),c=new Float32Array(1);for(let e=0;e<256;e++){c[0]=e/255;s(c,0,c,0);o[e]=255*c[0]|0}a.push(o);n++}return 1!==r&&4!==r||0===n?null:a}handleTilingType(e,t,a,n,s,o,c,h){const u=new T.OperatorList,d=i.Dict.merge({xref:this.xref,dictArray:[s.get("Resources"),a]});return this.getOperatorList({stream:n,task:c,resources:d,operatorList:u}).then((function(){const a=u.getIR(),r=(0,l.getTilingPatternIR)(a,s,t);o.addDependencies(u.dependencies);o.addOp(e,r);s.objId&&h.set(null,s.objId,{operatorListIR:a,dict:s})})).catch((e=>{if(!(e instanceof r.AbortException)){if(!this.options.ignoreErrors)throw e;(0,r.warn)(`handleTilingType - ignoring pattern: "${e}".`)}}))}handleSetFont(e,t,a,r,n,o,c=null,l=null){const h=t?.[0]instanceof i.Name?t[0].name:null;return this.loadFont(h,a,e,c,l).then((t=>t.font.isType3Font?t.loadType3Data(this,e,n).then((function(){r.addDependencies(t.type3Dependencies);return t})).catch((e=>new TranslatedFont({loadedName:"g_font_error",font:new s.ErrorFont(`Type3 font load error: ${e}`),dict:t.font,evaluatorOptions:this.options}))):t)).then((e=>{o.font=e.font;e.send(this.handler);return e.loadedName}))}handleText(e,t){const a=t.font,n=a.charsToGlyphs(e);if(a.data){(!!(t.textRenderingMode&r.TextRenderingMode.ADD_TO_PATH_FLAG)||"Pattern"===t.fillColorSpace.name||a.disableFontFace||this.options.disableFontFace)&&PartialEvaluator.buildFontPaths(a,n,this.handler,this.options)}return n}ensureStateFont(e){if(e.font)return;const t=new r.FormatError("Missing setFont (Tf) operator before text rendering operator.");if(!this.options.ignoreErrors)throw t;(0,r.warn)(`ensureStateFont: "${t}".`)}async setGState({resources:e,gState:t,operatorList:a,cacheKey:n,task:s,stateManager:o,localGStateCache:c,localColorSpaceCache:l}){const h=t.objId;let u=!0;const d=[];let f=Promise.resolve();for(const n of t.getKeys()){const c=t.get(n);switch(n){case"Type":break;case"LW":case"LC":case"LJ":case"ML":case"D":case"RI":case"FL":case"CA":case"ca":d.push([n,c]);break;case"Font":u=!1;f=f.then((()=>this.handleSetFont(e,null,c[0],a,s,o.state).then((function(e){a.addDependency(e);d.push([n,[e,c[1]]])}))));break;case"BM":d.push([n,normalizeBlendMode(c)]);break;case"SMask":if((0,i.isName)(c,"None")){d.push([n,!1]);break}if(c instanceof i.Dict){u=!1;f=f.then((()=>this.handleSMask(c,e,a,s,o,l)));d.push([n,!0])}else(0,r.warn)("Unsupported SMask type");break;case"TR":const t=this.handleTransferFunction(c);d.push([n,t]);break;case"OP":case"op":case"OPM":case"BG":case"BG2":case"UCR":case"UCR2":case"TR2":case"HT":case"SM":case"SA":case"AIS":case"TK":(0,r.info)("graphic state operator "+n);break;default:(0,r.info)("Unknown graphic state operator "+n)}}return f.then((function(){d.length>0&&a.addOp(r.OPS.setGState,[d]);u&&c.set(n,h,d)}))}loadFont(e,t,a,n=null,o=null){const errorFont=async()=>new TranslatedFont({loadedName:"g_font_error",font:new s.ErrorFont(`Font "${e}" is not available.`),dict:t,evaluatorOptions:this.options});let c;if(t)t instanceof i.Ref&&(c=t);else{const t=a.get("Font");t&&(c=t.getRaw(e))}if(c){if(this.parsingType3Font&&this.type3FontRefs.has(c))return errorFont();if(this.fontCache.has(c))return this.fontCache.get(c);t=this.xref.fetchIfRef(c)}if(!(t instanceof i.Dict)){if(!this.options.ignoreErrors&&!this.parsingType3Font){(0,r.warn)(`Font "${e}" is not available.`);return errorFont()}(0,r.warn)(`Font "${e}" is not available -- attempting to fallback to a default font.`);t=n||PartialEvaluator.fallbackFontDict}if(t.cacheKey&&this.fontCache.has(t.cacheKey))return this.fontCache.get(t.cacheKey);const l=new r.PromiseCapability;let h;try{h=this.preEvaluateFont(t);h.cssFontInfo=o}catch(e){(0,r.warn)(`loadFont - preEvaluateFont failed: "${e}".`);return errorFont()}const{descriptor:u,hash:d}=h,f=c instanceof i.Ref;let g;if(d&&u instanceof i.Dict){const e=u.fontAliases||=Object.create(null);if(e[d]){const t=e[d].aliasRef;if(f&&t&&this.fontCache.has(t)){this.fontCache.putAlias(c,t);return this.fontCache.get(c)}}else e[d]={fontID:this.idFactory.createFontId()};f&&(e[d].aliasRef=c);g=e[d].fontID}else g=this.idFactory.createFontId();(0,r.assert)(g?.startsWith("f"),'The "fontID" must be (correctly) defined.');if(f)this.fontCache.put(c,l.promise);else{t.cacheKey=`cacheKey_${g}`;this.fontCache.put(t.cacheKey,l.promise)}t.loadedName=`${this.idFactory.getDocId()}_${g}`;this.translateFont(h).then((e=>{l.resolve(new TranslatedFont({loadedName:t.loadedName,font:e,dict:t,evaluatorOptions:this.options}))})).catch((e=>{(0,r.warn)(`loadFont - translateFont failed: "${e}".`);l.resolve(new TranslatedFont({loadedName:t.loadedName,font:new s.ErrorFont(e instanceof Error?e.message:e),dict:t,evaluatorOptions:this.options}))}));return l.promise}buildPath(e,t,a,n=!1){const i=e.length-1;a||(a=[]);if(i<0||e.fnArray[i]!==r.OPS.constructPath){if(n){(0,r.warn)(`Encountered path operator "${t}" inside of a text object.`);e.addOp(r.OPS.save,null)}let i;switch(t){case r.OPS.rectangle:const e=a[0]+a[2],t=a[1]+a[3];i=[Math.min(a[0],e),Math.max(a[0],e),Math.min(a[1],t),Math.max(a[1],t)];break;case r.OPS.moveTo:case r.OPS.lineTo:i=[a[0],a[0],a[1],a[1]];break;default:i=[1/0,-1/0,1/0,-1/0]}e.addOp(r.OPS.constructPath,[[t],a,i]);n&&e.addOp(r.OPS.restore,null)}else{const n=e.argsArray[i];n[0].push(t);n[1].push(...a);const s=n[2];switch(t){case r.OPS.rectangle:const e=a[0]+a[2],t=a[1]+a[3];s[0]=Math.min(s[0],a[0],e);s[1]=Math.max(s[1],a[0],e);s[2]=Math.min(s[2],a[1],t);s[3]=Math.max(s[3],a[1],t);break;case r.OPS.moveTo:case r.OPS.lineTo:s[0]=Math.min(s[0],a[0]);s[1]=Math.max(s[1],a[0]);s[2]=Math.min(s[2],a[1]);s[3]=Math.max(s[3],a[1])}}}parseColorSpace({cs:e,resources:t,localColorSpaceCache:a}){return y.ColorSpace.parseAsync({cs:e,xref:this.xref,resources:t,pdfFunctionFactory:this._pdfFunctionFactory,localColorSpaceCache:a}).catch((e=>{if(e instanceof r.AbortException)return null;if(this.options.ignoreErrors){(0,r.warn)(`parseColorSpace - ignoring ColorSpace: "${e}".`);return null}throw e}))}parseShading({shading:e,resources:t,localColorSpaceCache:a,localShadingPatternCache:r}){let n=r.get(e);if(!n){const i=l.Pattern.parseShading(e,this.xref,t,this._pdfFunctionFactory,a).getIR();n=`pattern_${this.idFactory.createObjId()}`;this.parsingType3Font&&(n=`${this.idFactory.getDocId()}_type3_${n}`);r.set(e,n);this.parsingType3Font?this.handler.send("commonobj",[n,"Pattern",i]):this.handler.send("obj",[n,this.pageIndex,"Pattern",i])}return n}handleColorN(e,t,a,n,s,o,c,h,u,d){const f=a.pop();if(f instanceof i.Name){const g=s.getRaw(f.name),p=g instanceof i.Ref&&u.getByRef(g);if(p)try{const r=n.base?n.base.getRgb(a,0):null,i=(0,l.getTilingPatternIR)(p.operatorListIR,p.dict,r);e.addOp(t,i);return}catch{}const b=this.xref.fetchIfRef(g);if(b){const i=b instanceof m.BaseStream?b.dict:b,s=i.get("PatternType");if(s===E){const r=n.base?n.base.getRgb(a,0):null;return this.handleTilingType(t,r,o,b,i,e,c,u)}if(s===N){const a=i.get("Shading"),r=i.getArray("Matrix"),n=this.parseShading({shading:a,resources:o,localColorSpaceCache:h,localShadingPatternCache:d});e.addOp(t,["Shading",n,r]);return}throw new r.FormatError(`Unknown PatternType: ${s}`)}}throw new r.FormatError(`Unknown PatternName: ${f}`)}_parseVisibilityExpression(e,t,a){if(++t>10){(0,r.warn)("Visibility expression is too deeply nested");return}const n=e.length,s=this.xref.fetchIfRef(e[0]);if(!(n<2)&&s instanceof i.Name){switch(s.name){case"And":case"Or":case"Not":a.push(s.name);break;default:(0,r.warn)(`Invalid operator ${s.name} in visibility expression`);return}for(let r=1;r0)return{type:"OCMD",expression:t}}const t=a.get("OCGs");if(Array.isArray(t)||t instanceof i.Dict){const e=[];if(Array.isArray(t))for(const a of t)e.push(a.toString());else e.push(t.objId);return{type:n,ids:e,policy:a.get("P")instanceof i.Name?a.get("P").name:null,expression:null}}if(t instanceof i.Ref)return{type:n,id:t.toString()}}return null}getOperatorList({stream:e,task:t,resources:a,operatorList:n,initialState:s=null,fallbackFontDict:o=null}){a||=i.Dict.empty;s||=new EvalState;if(!n)throw new Error('getOperatorList: missing "operatorList" parameter');const c=this,l=this.xref;let h=!1;const u=new g.LocalImageCache,d=new g.LocalColorSpaceCache,f=new g.LocalGStateCache,p=new g.LocalTilingPatternCache,b=new Map,w=a.get("XObject")||i.Dict.empty,S=a.get("Pattern")||i.Dict.empty,x=new StateManager(s),C=new EvaluatorPreprocessor(e,l,x),k=new TimeSlotManager;function closePendingRestoreOPS(e){for(let e=0,t=C.savedStatesDepth;e0&&n.addOp(r.OPS.setGState,[t]);e=null;continue}}next(new Promise((function(e,s){if(!D)throw new r.FormatError("GState must be referred to by name.");const o=a.get("ExtGState");if(!(o instanceof i.Dict))throw new r.FormatError("ExtGState should be a dictionary.");const l=o.get(M);if(!(l instanceof i.Dict))throw new r.FormatError("GState should be a dictionary.");c.setGState({resources:a,gState:l,operatorList:n,cacheKey:M,task:t,stateManager:x,localGStateCache:f,localColorSpaceCache:d}).then(e,s)})).catch((function(e){if(!(e instanceof r.AbortException)){if(!c.options.ignoreErrors)throw e;(0,r.warn)(`getOperatorList - ignoring ExtGState: "${e}".`)}})));return;case r.OPS.moveTo:case r.OPS.lineTo:case r.OPS.curveTo:case r.OPS.curveTo2:case r.OPS.curveTo3:case r.OPS.closePath:case r.OPS.rectangle:c.buildPath(n,s,e,h);continue;case r.OPS.markPoint:case r.OPS.markPointProps:case r.OPS.beginCompat:case r.OPS.endCompat:continue;case r.OPS.beginMarkedContentProps:if(!(e[0]instanceof i.Name)){(0,r.warn)(`Expected name for beginMarkedContentProps arg0=${e[0]}`);continue}if("OC"===e[0].name){next(c.parseMarkedContentProps(e[1],a).then((e=>{n.addOp(r.OPS.beginMarkedContentProps,["OC",e])})).catch((e=>{if(!(e instanceof r.AbortException)){if(!c.options.ignoreErrors)throw e;(0,r.warn)(`getOperatorList - ignoring beginMarkedContentProps: "${e}".`)}})));return}e=[e[0].name,e[1]instanceof i.Dict?e[1].get("MCID"):null];break;case r.OPS.beginMarkedContent:case r.OPS.endMarkedContent:default:if(null!==e){for(F=0,O=e.length;F{if(!(e instanceof r.AbortException)){if(!this.options.ignoreErrors)throw e;(0,r.warn)(`getOperatorList - ignoring errors during "${t.name}" task: "${e}".`);closePendingRestoreOPS()}}))}getTextContent({stream:e,task:t,resources:a,stateManager:n=null,includeMarkedContent:s=!1,sink:o,seenStyles:c=new Set,viewBox:l,markedContentData:h=null,disableNormalization:u=!1}){a||=i.Dict.empty;n||=new StateManager(new TextState);s&&(h||={level:0});const d={items:[],styles:Object.create(null)},f={initialized:!1,str:[],totalWidth:0,totalHeight:0,width:0,height:0,vertical:!1,prevTransform:null,textAdvanceScale:0,spaceInFlowMin:0,spaceInFlowMax:0,trackingSpaceMin:1/0,negativeSpaceMax:-1/0,notASpace:-1/0,transform:null,fontName:null,hasEOL:!1},p=[" "," "];let y=0;function saveLastChar(e){const t=(y+1)%2,a=" "!==p[y]&&" "===p[t];p[y]=e;y=t;return a}function shouldAddWhitepsace(){return" "!==p[y]&&" "===p[(y+1)%2]}function resetLastChars(){p[0]=p[1]=" ";y=0}const w=this,S=this.xref,x=[];let C=null;const k=new g.LocalImageCache,v=new g.LocalGStateCache,F=new EvaluatorPreprocessor(e,S,n);let O;function pushWhitespace({width:e=0,height:t=0,transform:a=f.prevTransform,fontName:r=f.fontName}){d.items.push({str:" ",dir:"ltr",width:e,height:t,transform:a,fontName:r,hasEOL:!1})}function getCurrentTextTransform(){const e=O.font,t=[O.fontSize*O.textHScale,0,0,O.fontSize,0,O.textRise];if(e.isType3Font&&(O.fontSize<=1||e.isCharBBox)&&!(0,r.isArrayEqual)(O.fontMatrix,r.FONT_IDENTITY_MATRIX)){const a=e.bbox[3]-e.bbox[1];a>0&&(t[3]*=a*O.fontMatrix[3])}return r.Util.transform(O.ctm,r.Util.transform(O.textMatrix,t))}function ensureTextContentItem(){if(f.initialized)return f;const{font:e,loadedName:t}=O;if(!c.has(t)){c.add(t);d.styles[t]={fontFamily:e.fallbackName,ascent:e.ascent,descent:e.descent,vertical:e.vertical}}f.fontName=t;const a=f.transform=getCurrentTextTransform();if(e.vertical){f.width=f.totalWidth=Math.hypot(a[0],a[1]);f.height=f.totalHeight=0;f.vertical=!0}else{f.width=f.totalWidth=0;f.height=f.totalHeight=Math.hypot(a[2],a[3]);f.vertical=!1}const r=Math.hypot(O.textLineMatrix[0],O.textLineMatrix[1]),n=Math.hypot(O.ctm[0],O.ctm[1]);f.textAdvanceScale=n*r;const{fontSize:i}=O;f.trackingSpaceMin=.102*i;f.notASpace=.03*i;f.negativeSpaceMax=-.2*i;f.spaceInFlowMin=.102*i;f.spaceInFlowMax=.6*i;f.hasEOL=!1;f.initialized=!0;return f}function updateAdvanceScale(){if(!f.initialized)return;const e=Math.hypot(O.textLineMatrix[0],O.textLineMatrix[1]),t=Math.hypot(O.ctm[0],O.ctm[1])*e;if(t!==f.textAdvanceScale){if(f.vertical){f.totalHeight+=f.height*f.textAdvanceScale;f.height=0}else{f.totalWidth+=f.width*f.textAdvanceScale;f.width=0}f.textAdvanceScale=t}}function handleSetFont(e,n){return w.loadFont(e,n,a).then((function(e){return e.font.isType3Font?e.loadType3Data(w,a,t).catch((function(){})).then((function(){return e})):e})).then((function(e){O.loadedName=e.loadedName;O.font=e.font;O.fontMatrix=e.font.fontMatrix||r.FONT_IDENTITY_MATRIX}))}function applyInverseRotation(e,t,a){const r=Math.hypot(a[0],a[1]);return[(a[0]*e+a[1]*t)/r,(a[2]*e+a[3]*t)/r]}function compareWithLastPosition(e){const t=getCurrentTextTransform();let a=t[4],r=t[5];if(O.font?.vertical){if(al[2]||r+el[3])return!1}else if(a+el[2]||rl[3])return!1;if(!O.font||!f.prevTransform)return!0;let n=f.prevTransform[4],i=f.prevTransform[5];if(n===a&&i===r)return!0;let s=-1;t[0]&&0===t[1]&&0===t[2]?s=t[0]>0?0:180:t[1]&&0===t[0]&&0===t[3]&&(s=t[1]>0?90:270);switch(s){case 0:break;case 90:[a,r]=[r,a];[n,i]=[i,n];break;case 180:[a,r,n,i]=[-a,-r,-n,-i];break;case 270:[a,r]=[-r,-a];[n,i]=[-i,-n];break;default:[a,r]=applyInverseRotation(a,r,t);[n,i]=applyInverseRotation(n,i,f.prevTransform)}if(O.font.vertical){const e=(i-r)/f.textAdvanceScale,t=a-n,s=Math.sign(f.height);if(e.5*f.width){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(t)>f.width){appendEOL();return!0}e<=s*f.notASpace&&resetLastChars();if(e<=s*f.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({height:Math.abs(e)})}else f.height+=e;else if(!addFakeSpaces(e,f.prevTransform,s))if(0===f.str.length){resetLastChars();pushWhitespace({height:Math.abs(e)})}else f.height+=e;Math.abs(t)>.25*f.width&&flushTextContentItem();return!0}const o=(a-n)/f.textAdvanceScale,c=r-i,h=Math.sign(f.width);if(o.5*f.height){appendEOL();return!0}resetLastChars();flushTextContentItem();return!0}if(Math.abs(c)>f.height){appendEOL();return!0}o<=h*f.notASpace&&resetLastChars();if(o<=h*f.trackingSpaceMin)if(shouldAddWhitepsace()){resetLastChars();flushTextContentItem();pushWhitespace({width:Math.abs(o)})}else f.width+=o;else if(!addFakeSpaces(o,f.prevTransform,h))if(0===f.str.length){resetLastChars();pushWhitespace({width:Math.abs(o)})}else f.width+=o;Math.abs(c)>.25*f.height&&flushTextContentItem();return!0}function buildTextContentItem({chars:e,extraSpacing:t}){const a=O.font;if(!e){const e=O.charSpacing+t;e&&(a.vertical?O.translateTextMatrix(0,-e):O.translateTextMatrix(e*O.textHScale,0));return}const r=a.charsToGlyphs(e),n=O.fontMatrix[0]*O.fontSize;for(let e=0,i=r.length;e0){const e=x.join("");x.length=0;buildTextContentItem({chars:e,extraSpacing:0})}break;case r.OPS.showText:if(!n.state.font){w.ensureStateFont(n.state);continue}buildTextContentItem({chars:b[0],extraSpacing:0});break;case r.OPS.nextLineShowText:if(!n.state.font){w.ensureStateFont(n.state);continue}O.carriageReturn();buildTextContentItem({chars:b[0],extraSpacing:0});break;case r.OPS.nextLineSetSpacingShowText:if(!n.state.font){w.ensureStateFont(n.state);continue}O.wordSpacing=b[0];O.charSpacing=b[1];O.carriageReturn();buildTextContentItem({chars:b[2],extraSpacing:0});break;case r.OPS.paintXObject:flushTextContentItem();C||(C=a.get("XObject")||i.Dict.empty);var D=b[0]instanceof i.Name,E=b[0].name;if(D&&k.getByName(E))break;next(new Promise((function(e,d){if(!D)throw new r.FormatError("XObject must be referred to by name.");let f=C.getRaw(E);if(f instanceof i.Ref){if(k.getByRef(f)){e();return}if(w.globalImageCache.getData(f,w.pageIndex)){e();return}f=S.fetch(f)}if(!(f instanceof m.BaseStream))throw new r.FormatError("XObject should be a stream");const g=f.dict.get("Subtype");if(!(g instanceof i.Name))throw new r.FormatError("XObject should have a Name subtype");if("Form"!==g.name){k.set(E,f.dict.objId,!0);e();return}const p=n.state.clone(),b=new StateManager(p),y=f.dict.getArray("Matrix");Array.isArray(y)&&6===y.length&&b.transform(y);enqueueChunk();const x={enqueueInvoked:!1,enqueue(e,t){this.enqueueInvoked=!0;o.enqueue(e,t)},get desiredSize(){return o.desiredSize},get ready(){return o.ready}};w.getTextContent({stream:f,task:t,resources:f.dict.get("Resources")||a,stateManager:b,includeMarkedContent:s,sink:x,seenStyles:c,viewBox:l,markedContentData:h,disableNormalization:u}).then((function(){x.enqueueInvoked||k.set(E,f.dict.objId,!0);e()}),d)})).catch((function(e){if(!(e instanceof r.AbortException)){if(!w.options.ignoreErrors)throw e;(0,r.warn)(`getTextContent - ignoring XObject: "${e}".`)}})));return;case r.OPS.setGState:D=b[0]instanceof i.Name;E=b[0].name;if(D&&v.getByName(E))break;next(new Promise((function(e,t){if(!D)throw new r.FormatError("GState must be referred to by name.");const n=a.get("ExtGState");if(!(n instanceof i.Dict))throw new r.FormatError("ExtGState should be a dictionary.");const s=n.get(E);if(!(s instanceof i.Dict))throw new r.FormatError("GState should be a dictionary.");const o=s.get("Font");if(o){flushTextContentItem();O.fontName=null;O.fontSize=o[1];handleSetFont(null,o[0]).then(e,t)}else{v.set(E,s.objId,!0);e()}})).catch((function(e){if(!(e instanceof r.AbortException)){if(!w.options.ignoreErrors)throw e;(0,r.warn)(`getTextContent - ignoring ExtGState: "${e}".`)}})));return;case r.OPS.beginMarkedContent:flushTextContentItem();if(s){h.level++;d.items.push({type:"beginMarkedContent",tag:b[0]instanceof i.Name?b[0].name:null})}break;case r.OPS.beginMarkedContentProps:flushTextContentItem();if(s){h.level++;let e=null;b[1]instanceof i.Dict&&(e=b[1].get("MCID"));d.items.push({type:"beginMarkedContentProps",id:Number.isInteger(e)?`${w.idFactory.getPageObjId()}_mc${e}`:null,tag:b[0]instanceof i.Name?b[0].name:null})}break;case r.OPS.endMarkedContent:flushTextContentItem();if(s){if(0===h.level)break;h.level--;d.items.push({type:"endMarkedContent"})}break;case r.OPS.restore:!e||e.font===O.font&&e.fontSize===O.fontSize&&e.fontName===O.fontName||flushTextContentItem()}if(d.items.length>=o.desiredSize){p=!0;break}}if(p)next(R);else{flushTextContentItem();enqueueChunk();e()}})).catch((e=>{if(!(e instanceof r.AbortException)){if(!this.options.ignoreErrors)throw e;(0,r.warn)(`getTextContent - ignoring errors during "${t.name}" task: "${e}".`);flushTextContentItem();enqueueChunk()}}))}extractDataStructures(e,t,a){const n=this.xref;let s;const l=this.readToUnicode(a.toUnicode||e.get("ToUnicode")||t.get("ToUnicode"));if(a.composite){const t=e.get("CIDSystemInfo");t instanceof i.Dict&&(a.cidSystemInfo={registry:(0,r.stringToPDFString)(t.get("Registry")),ordering:(0,r.stringToPDFString)(t.get("Ordering")),supplement:t.get("Supplement")});try{const t=e.get("CIDToGIDMap");t instanceof m.BaseStream&&(s=t.getBytes())}catch(e){if(!this.options.ignoreErrors)throw e;(0,r.warn)(`extractDataStructures - ignoring CIDToGIDMap data: "${e}".`)}}const h=[];let u,d=null;if(e.has("Encoding")){u=e.get("Encoding");if(u instanceof i.Dict){d=u.get("BaseEncoding");d=d instanceof i.Name?d.name:null;if(u.has("Differences")){const e=u.get("Differences");let t=0;for(const a of e){const e=n.fetchIfRef(a);if("number"==typeof e)t=e;else{if(!(e instanceof i.Name))throw new r.FormatError(`Invalid entry in 'Differences' array: ${e}`);h[t++]=e.name}}}}else if(u instanceof i.Name)d=u.name;else{const e="Encoding is not a Name nor a Dict";if(!this.options.ignoreErrors)throw new r.FormatError(e);(0,r.warn)(e)}"MacRomanEncoding"!==d&&"MacExpertEncoding"!==d&&"WinAnsiEncoding"!==d&&(d=null)}const f=!a.file||a.isInternalFont,g=(0,c.getSymbolsFonts)()[a.name];d&&f&&g&&(d=null);if(d)a.defaultEncoding=(0,o.getEncoding)(d);else{const e=!!(a.flags&S.FontFlags.Symbolic),t=!!(a.flags&S.FontFlags.Nonsymbolic);u=o.StandardEncoding;"TrueType"!==a.type||t||(u=o.WinAnsiEncoding);if(e||g){u=o.MacRomanEncoding;f&&(/Symbol/i.test(a.name)?u=o.SymbolSetEncoding:/Dingbats/i.test(a.name)?u=o.ZapfDingbatsEncoding:/Wingdings/i.test(a.name)&&(u=o.WinAnsiEncoding))}a.defaultEncoding=u}a.differences=h;a.baseEncodingName=d;a.hasEncoding=!!d||h.length>0;a.dict=e;return l.then((e=>{a.toUnicode=e;return this.buildToUnicode(a)})).then((e=>{a.toUnicode=e;s&&(a.cidToGidMap=this.readCidToGidMap(s,e));return a}))}_simpleFontToUnicode(e,t=!1){(0,r.assert)(!e.composite,"Must be a simple font.");const a=[],n=e.defaultEncoding.slice(),i=e.baseEncodingName,s=e.differences;for(const e in s){const t=s[e];".notdef"!==t&&(n[e]=t)}const c=(0,C.getGlyphsUnicode)();for(const r in n){let s=n[r];if(""===s)continue;let l=c[s];if(void 0!==l){a[r]=String.fromCharCode(l);continue}let h=0;switch(s[0]){case"G":3===s.length&&(h=parseInt(s.substring(1),16));break;case"g":5===s.length&&(h=parseInt(s.substring(1),16));break;case"C":case"c":if(s.length>=3&&s.length<=4){const a=s.substring(1);if(t){h=parseInt(a,16);break}h=+a;if(Number.isNaN(h)&&Number.isInteger(parseInt(a,16)))return this._simpleFontToUnicode(e,!0)}break;case"u":l=(0,v.getUnicodeForGlyph)(s,c);-1!==l&&(h=l);break;default:switch(s){case"f_h":case"f_t":case"T_h":a[r]=s.replaceAll("_","");continue}}if(h>0&&h<=1114111&&Number.isInteger(h)){if(i&&h===+r){const e=(0,o.getEncoding)(i);if(e&&(s=e[r])){a[r]=String.fromCharCode(c[s]);continue}}a[r]=String.fromCodePoint(h)}}return a}async buildToUnicode(e){e.hasIncludedToUnicodeMap=e.toUnicode?.length>0;if(e.hasIncludedToUnicodeMap){!e.composite&&e.hasEncoding&&(e.fallbackToUnicode=this._simpleFontToUnicode(e));return e.toUnicode}if(!e.composite)return new u.ToUnicodeMap(this._simpleFontToUnicode(e));if(e.composite&&(e.cMap.builtInCMap&&!(e.cMap instanceof n.IdentityCMap)||"Adobe"===e.cidSystemInfo.registry&&("GB1"===e.cidSystemInfo.ordering||"CNS1"===e.cidSystemInfo.ordering||"Japan1"===e.cidSystemInfo.ordering||"Korea1"===e.cidSystemInfo.ordering))){const{registry:t,ordering:a}=e.cidSystemInfo,s=i.Name.get(`${t}-${a}-UCS2`),o=await n.CMapFactory.create({encoding:s,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null}),c=[],l=[];e.cMap.forEach((function(e,t){if(t>65535)throw new r.FormatError("Max size of CID is 65,535");const a=o.lookup(t);if(a){l.length=0;for(let e=0,t=a.length;e{if(e instanceof r.AbortException)return null;if(this.options.ignoreErrors){(0,r.warn)(`readToUnicode - ignoring ToUnicode data: "${e}".`);return null}throw e})):Promise.resolve(null):Promise.resolve(null)}readCidToGidMap(e,t){const a=[];for(let r=0,n=e.length;r>1;(0!==n||t.has(i))&&(a[i]=n)}return a}extractWidths(e,t,a){const r=this.xref;let n=[],s=0;const o=[];let c,l,h,u,d,f,g,p;if(a.composite){s=e.has("DW")?e.get("DW"):1e3;p=e.get("W");if(p)for(l=0,h=p.length;l{if(g){const e=[];let a=u;for(const t of g)e[a++]=this.xref.fetchIfRef(t);t.widths=e}else t.widths=this.buildCharCodeToWidth(n.widths,t);return new s.Font(e,y,t)}))}(e=new i.Dict(null)).set("FontName",i.Name.get(l));e.set("FontBBox",t.getArray("FontBBox")||[0,0,0,0])}let y=e.get("FontName"),w=t.get("BaseFont");"string"==typeof y&&(y=i.Name.get(y));"string"==typeof w&&(w=i.Name.get(w));const C=y?.name,k=w?.name;if(!m&&C!==k){(0,r.info)(`The FontDescriptor's FontName is "${C}" but should be the same as the Font's BaseFont "${k}".`);C&&k&&(k.startsWith(C)||!(0,c.isKnownFontName)(C)&&(0,c.isKnownFontName)(k))&&(y=null)}y||=w;if(!(y instanceof i.Name))throw new r.FormatError("invalid font name");let v,F,O,T,M;try{v=e.get("FontFile","FontFile2","FontFile3")}catch(e){if(!this.options.ignoreErrors)throw e;(0,r.warn)(`translateFont - fetching "${y.name}" font file: "${e}".`);v=new p.NullStream}let D=!1,E=null,N=null;if(v){if(v.dict){const e=v.dict.get("Subtype");e instanceof i.Name&&(F=e.name);O=v.dict.get("Length1");T=v.dict.get("Length2");M=v.dict.get("Length3")}}else if(g){const e=(0,h.getXfaFontName)(y.name);if(e){g.fontFamily=`${g.fontFamily}-PdfJS-XFA`;g.metrics=e.metrics||null;E=e.factors||null;v=await this.fetchStandardFontData(e.name);D=!!v;a=t=(0,h.getXfaFontDict)(y.name);o=!0}}else if(!m){const e=(0,c.getStandardFontName)(y.name);if(e){v=await this.fetchStandardFontData(e);D=!!v}!D&&this.options.useSystemFonts&&(N=(0,x.getFontSubstitution)(this.systemFontCache,this.idFactory,this.options.standardFontDataUrl,y.name,e))}b={type:l,name:y.name,subtype:F,file:v,length1:O,length2:T,length3:M,isInternalFont:D,loadedName:a.loadedName,composite:o,fixedPitch:!1,fontMatrix:t.getArray("FontMatrix")||r.FONT_IDENTITY_MATRIX,firstChar:u,lastChar:d,toUnicode:f,bbox:e.getArray("FontBBox")||t.getArray("FontBBox"),ascent:e.get("Ascent"),descent:e.get("Descent"),xHeight:e.get("XHeight")||0,capHeight:e.get("CapHeight")||0,flags:e.get("Flags"),italicAngle:e.get("ItalicAngle")||0,isType3Font:m,cssFontInfo:g,scaleFactors:E,systemFontInfo:N};if(o){const e=a.get("Encoding");e instanceof i.Name&&(b.cidEncoding=e.name);const t=await n.CMapFactory.create({encoding:e,fetchBuiltInCMap:this._fetchBuiltInCMapBound,useCMap:null});b.cMap=t;b.vertical=b.cMap.vertical}return this.extractDataStructures(t,a,b).then((a=>{this.extractWidths(t,e,a);return new s.Font(y.name,v,a)}))}static buildFontPaths(e,t,a,n){function buildPath(t){const i=`${e.loadedName}_path_${t}`;try{if(e.renderer.hasBuiltPath(t))return;a.send("commonobj",[i,"FontPath",e.renderer.getPathJs(t)])}catch(e){if(n.ignoreErrors){(0,r.warn)(`buildFontPaths - ignoring ${i} glyph: "${e}".`);return}throw e}}for(const e of t){buildPath(e.fontChar);const t=e.accent;t?.fontChar&&buildPath(t.fontChar)}}static get fallbackFontDict(){const e=new i.Dict;e.set("BaseFont",i.Name.get("Helvetica"));e.set("Type",i.Name.get("FallbackType"));e.set("Subtype",i.Name.get("FallbackType"));e.set("Encoding",i.Name.get("WinAnsiEncoding"));return(0,r.shadow)(this,"fallbackFontDict",e)}}t.PartialEvaluator=PartialEvaluator;class TranslatedFont{constructor({loadedName:e,font:t,dict:a,evaluatorOptions:r}){this.loadedName=e;this.font=t;this.dict=a;this._evaluatorOptions=r||D;this.type3Loaded=null;this.type3Dependencies=t.isType3Font?new Set:null;this.sent=!1}send(e){if(!this.sent){this.sent=!0;e.send("commonobj",[this.loadedName,"Font",this.font.exportData(this._evaluatorOptions.fontExtraProperties)])}}fallback(e){if(this.font.data){this.font.disableFontFace=!0;PartialEvaluator.buildFontPaths(this.font,this.font.glyphCacheValues,e,this._evaluatorOptions)}}loadType3Data(e,t,a){if(this.type3Loaded)return this.type3Loaded;if(!this.font.isType3Font)throw new Error("Must be a Type3 font.");const n=e.clone({ignoreErrors:!1});n.parsingType3Font=!0;const s=new i.RefSet(e.type3FontRefs);this.dict.objId&&!s.has(this.dict.objId)&&s.put(this.dict.objId);n.type3FontRefs=s;const o=this.font,c=this.type3Dependencies;let l=Promise.resolve();const h=this.dict.get("CharProcs"),u=this.dict.get("Resources")||t,d=Object.create(null),f=r.Util.normalizeRect(o.bbox||[0,0,0,0]),g=f[2]-f[0],p=f[3]-f[1],m=Math.hypot(g,p);for(const e of h.getKeys())l=l.then((()=>{const t=h.get(e),i=new T.OperatorList;return n.getOperatorList({stream:t,task:a,resources:u,operatorList:i}).then((()=>{i.fnArray[0]===r.OPS.setCharWidthAndBounds&&this._removeType3ColorOperators(i,m);d[e]=i.getIR();for(const e of i.dependencies)c.add(e)})).catch((function(t){(0,r.warn)(`Type3 font resource "${e}" is not available.`);const a=new T.OperatorList;d[e]=a.getIR()}))}));this.type3Loaded=l.then((()=>{o.charProcOperatorList=d;if(this._bbox){o.isCharBBox=!0;o.bbox=this._bbox}}));return this.type3Loaded}_removeType3ColorOperators(e,t=NaN){const a=r.Util.normalizeRect(e.argsArray[0].slice(2)),n=a[2]-a[0],i=a[3]-a[1],s=Math.hypot(n,i);if(0===n||0===i){e.fnArray.splice(0,1);e.argsArray.splice(0,1)}else if(0===t||Math.round(s/t)>=10){this._bbox||(this._bbox=[1/0,1/0,-1/0,-1/0]);this._bbox[0]=Math.min(this._bbox[0],a[0]);this._bbox[1]=Math.min(this._bbox[1],a[1]);this._bbox[2]=Math.max(this._bbox[2],a[2]);this._bbox[3]=Math.max(this._bbox[3],a[3])}let o=0,c=e.length;for(;o=r.OPS.moveTo&&s<=r.OPS.endPath;if(i.variableArgs)c>o&&(0,r.info)(`Command ${n}: expected [0, ${o}] args, but received ${c} args.`);else{if(c!==o){const e=this.nonProcessedArgs;for(;c>o;){e.push(t.shift());c--}for(;cEvaluatorPreprocessor.MAX_INVALID_PATH_OPS)throw new r.FormatError(`Invalid ${e}`);(0,r.warn)(`Skipping ${e}`);null!==t&&(t.length=0);continue}}this.preprocessCommand(s,t);e.fn=s;e.args=t;return!0}if(a===i.EOF)return!1;if(null!==a){null===t&&(t=[]);t.push(a);if(t.length>33)throw new r.FormatError("Too many arguments")}}}preprocessCommand(e,t){switch(0|e){case r.OPS.save:this.stateManager.save();break;case r.OPS.restore:this.stateManager.restore();break;case r.OPS.transform:this.stateManager.transform(t)}}}t.EvaluatorPreprocessor=EvaluatorPreprocessor},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.IdentityCMap=t.CMapFactory=t.CMap=void 0;var r=a(2),n=a(4),i=a(5),s=a(15),o=a(16),c=a(3),l=a(8);const h=["Adobe-GB1-UCS2","Adobe-CNS1-UCS2","Adobe-Japan1-UCS2","Adobe-Korea1-UCS2","78-EUC-H","78-EUC-V","78-H","78-RKSJ-H","78-RKSJ-V","78-V","78ms-RKSJ-H","78ms-RKSJ-V","83pv-RKSJ-H","90ms-RKSJ-H","90ms-RKSJ-V","90msp-RKSJ-H","90msp-RKSJ-V","90pv-RKSJ-H","90pv-RKSJ-V","Add-H","Add-RKSJ-H","Add-RKSJ-V","Add-V","Adobe-CNS1-0","Adobe-CNS1-1","Adobe-CNS1-2","Adobe-CNS1-3","Adobe-CNS1-4","Adobe-CNS1-5","Adobe-CNS1-6","Adobe-GB1-0","Adobe-GB1-1","Adobe-GB1-2","Adobe-GB1-3","Adobe-GB1-4","Adobe-GB1-5","Adobe-Japan1-0","Adobe-Japan1-1","Adobe-Japan1-2","Adobe-Japan1-3","Adobe-Japan1-4","Adobe-Japan1-5","Adobe-Japan1-6","Adobe-Korea1-0","Adobe-Korea1-1","Adobe-Korea1-2","B5-H","B5-V","B5pc-H","B5pc-V","CNS-EUC-H","CNS-EUC-V","CNS1-H","CNS1-V","CNS2-H","CNS2-V","ETHK-B5-H","ETHK-B5-V","ETen-B5-H","ETen-B5-V","ETenms-B5-H","ETenms-B5-V","EUC-H","EUC-V","Ext-H","Ext-RKSJ-H","Ext-RKSJ-V","Ext-V","GB-EUC-H","GB-EUC-V","GB-H","GB-V","GBK-EUC-H","GBK-EUC-V","GBK2K-H","GBK2K-V","GBKp-EUC-H","GBKp-EUC-V","GBT-EUC-H","GBT-EUC-V","GBT-H","GBT-V","GBTpc-EUC-H","GBTpc-EUC-V","GBpc-EUC-H","GBpc-EUC-V","H","HKdla-B5-H","HKdla-B5-V","HKdlb-B5-H","HKdlb-B5-V","HKgccs-B5-H","HKgccs-B5-V","HKm314-B5-H","HKm314-B5-V","HKm471-B5-H","HKm471-B5-V","HKscs-B5-H","HKscs-B5-V","Hankaku","Hiragana","KSC-EUC-H","KSC-EUC-V","KSC-H","KSC-Johab-H","KSC-Johab-V","KSC-V","KSCms-UHC-H","KSCms-UHC-HW-H","KSCms-UHC-HW-V","KSCms-UHC-V","KSCpc-EUC-H","KSCpc-EUC-V","Katakana","NWP-H","NWP-V","RKSJ-H","RKSJ-V","Roman","UniCNS-UCS2-H","UniCNS-UCS2-V","UniCNS-UTF16-H","UniCNS-UTF16-V","UniCNS-UTF32-H","UniCNS-UTF32-V","UniCNS-UTF8-H","UniCNS-UTF8-V","UniGB-UCS2-H","UniGB-UCS2-V","UniGB-UTF16-H","UniGB-UTF16-V","UniGB-UTF32-H","UniGB-UTF32-V","UniGB-UTF8-H","UniGB-UTF8-V","UniJIS-UCS2-H","UniJIS-UCS2-HW-H","UniJIS-UCS2-HW-V","UniJIS-UCS2-V","UniJIS-UTF16-H","UniJIS-UTF16-V","UniJIS-UTF32-H","UniJIS-UTF32-V","UniJIS-UTF8-H","UniJIS-UTF8-V","UniJIS2004-UTF16-H","UniJIS2004-UTF16-V","UniJIS2004-UTF32-H","UniJIS2004-UTF32-V","UniJIS2004-UTF8-H","UniJIS2004-UTF8-V","UniJISPro-UCS2-HW-V","UniJISPro-UCS2-V","UniJISPro-UTF8-V","UniJISX0213-UTF32-H","UniJISX0213-UTF32-V","UniJISX02132004-UTF32-H","UniJISX02132004-UTF32-V","UniKS-UCS2-H","UniKS-UCS2-V","UniKS-UTF16-H","UniKS-UTF16-V","UniKS-UTF32-H","UniKS-UTF32-V","UniKS-UTF8-H","UniKS-UTF8-V","V","WP-Symbol"],u=2**24-1;class CMap{constructor(e=!1){this.codespaceRanges=[[],[],[],[]];this.numCodespaceRanges=0;this._map=[];this.name="";this.vertical=!1;this.useCMap=null;this.builtInCMap=e}addCodespaceRange(e,t,a){this.codespaceRanges[e-1].push(t,a);this.numCodespaceRanges++}mapCidRange(e,t,a){if(t-e>u)throw new Error("mapCidRange - ignoring data above MAX_MAP_RANGE.");for(;e<=t;)this._map[e++]=a++}mapBfRange(e,t,a){if(t-e>u)throw new Error("mapBfRange - ignoring data above MAX_MAP_RANGE.");const r=a.length-1;for(;e<=t;){this._map[e++]=a;const t=a.charCodeAt(r)+1;t>255?a=a.substring(0,r-1)+String.fromCharCode(a.charCodeAt(r-1)+1)+"\0":a=a.substring(0,r)+String.fromCharCode(t)}}mapBfRangeToArray(e,t,a){if(t-e>u)throw new Error("mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.");const r=a.length;let n=0;for(;e<=t&&n>>0;const s=n[i];for(let e=0,t=s.length;e=t&&r<=n){a.charcode=r;a.length=i+1;return}}}a.charcode=0;a.length=1}getCharCodeLength(e){const t=this.codespaceRanges;for(let a=0,r=t.length;a=n&&e<=i)return a+1}}return 1}get length(){return this._map.length}get isIdentityCMap(){if("Identity-H"!==this.name&&"Identity-V"!==this.name)return!1;if(65536!==this._map.length)return!1;for(let e=0;e<65536;e++)if(this._map[e]!==e)return!1;return!0}}t.CMap=CMap;class IdentityCMap extends CMap{constructor(e,t){super();this.vertical=e;this.addCodespaceRange(t,0,65535)}mapCidRange(e,t,a){(0,r.unreachable)("should not call mapCidRange")}mapBfRange(e,t,a){(0,r.unreachable)("should not call mapBfRange")}mapBfRangeToArray(e,t,a){(0,r.unreachable)("should not call mapBfRangeToArray")}mapOne(e,t){(0,r.unreachable)("should not call mapCidOne")}lookup(e){return Number.isInteger(e)&&e<=65535?e:void 0}contains(e){return Number.isInteger(e)&&e<=65535}forEach(e){for(let t=0;t<=65535;t++)e(t,t)}charCodeOf(e){return Number.isInteger(e)&&e<=65535?e:-1}getMap(){const e=new Array(65536);for(let t=0;t<=65535;t++)e[t]=t;return e}get length(){return 65536}get isIdentityCMap(){(0,r.unreachable)("should not access .isIdentityCMap")}}t.IdentityCMap=IdentityCMap;function strToInt(e){let t=0;for(let a=0;a>>0}function expectString(e){if("string"!=typeof e)throw new r.FormatError("Malformed CMap: expected string.")}function expectInt(e){if(!Number.isInteger(e))throw new r.FormatError("Malformed CMap: expected int.")}function parseBfChar(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,"endbfchar"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=a;e.mapOne(r,i)}}function parseBfRange(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,"endbfrange"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=strToInt(a);a=t.getObj();if(Number.isInteger(a)||"string"==typeof a){const t=Number.isInteger(a)?String.fromCharCode(a):a;e.mapBfRange(r,i,t)}else{if(!(0,n.isCmd)(a,"["))break;{a=t.getObj();const s=[];for(;!(0,n.isCmd)(a,"]")&&a!==n.EOF;){s.push(a);a=t.getObj()}e.mapBfRangeToArray(r,i,s)}}}throw new r.FormatError("Invalid bf range.")}function parseCidChar(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,"endcidchar"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectInt(a);const i=a;e.mapOne(r,i)}}function parseCidRange(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,"endcidrange"))return;expectString(a);const r=strToInt(a);a=t.getObj();expectString(a);const i=strToInt(a);a=t.getObj();expectInt(a);const s=a;e.mapCidRange(r,i,s)}}function parseCodespaceRange(e,t){for(;;){let a=t.getObj();if(a===n.EOF)break;if((0,n.isCmd)(a,"endcodespacerange"))return;if("string"!=typeof a)break;const r=strToInt(a);a=t.getObj();if("string"!=typeof a)break;const i=strToInt(a);e.addCodespaceRange(a.length,r,i)}throw new r.FormatError("Invalid codespace range.")}function parseWMode(e,t){const a=t.getObj();Number.isInteger(a)&&(e.vertical=!!a)}function parseCMapName(e,t){const a=t.getObj();a instanceof n.Name&&(e.name=a.name)}async function parseCMap(e,t,a,i){let s,o;e:for(;;)try{const a=t.getObj();if(a===n.EOF)break;if(a instanceof n.Name){"WMode"===a.name?parseWMode(e,t):"CMapName"===a.name&&parseCMapName(e,t);s=a}else if(a instanceof n.Cmd)switch(a.cmd){case"endcmap":break e;case"usecmap":s instanceof n.Name&&(o=s.name);break;case"begincodespacerange":parseCodespaceRange(e,t);break;case"beginbfchar":parseBfChar(e,t);break;case"begincidchar":parseCidChar(e,t);break;case"beginbfrange":parseBfRange(e,t);break;case"begincidrange":parseCidRange(e,t)}}catch(e){if(e instanceof c.MissingDataException)throw e;(0,r.warn)("Invalid cMap data: "+e);continue}!i&&o&&(i=o);return i?extendCMap(e,a,i):e}async function extendCMap(e,t,a){e.useCMap=await createBuiltInCMap(a,t);if(0===e.numCodespaceRanges){const t=e.useCMap.codespaceRanges;for(let a=0;aextendCMap(i,t,e)));if(n===r.CMapCompressionType.NONE){const e=new o.Lexer(new l.Stream(a));return parseCMap(i,e,t,null)}throw new Error(`Invalid CMap "compressionType" value: ${n}`)}t.CMapFactory=class CMapFactory{static async create({encoding:e,fetchBuiltInCMap:t,useCMap:a}){if(e instanceof n.Name)return createBuiltInCMap(e.name,t);if(e instanceof i.BaseStream){const r=await parseCMap(new CMap,new o.Lexer(e),t,a);return r.isIdentityCMap?createBuiltInCMap(r.name,t):r}throw new Error("Encoding required.")}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.BinaryCMapReader=void 0;var r=a(2);function hexToInt(e,t){let a=0;for(let r=0;r<=t;r++)a=a<<8|e[r];return a>>>0}function hexToStr(e,t){return 1===t?String.fromCharCode(e[0],e[1]):3===t?String.fromCharCode(e[0],e[1],e[2],e[3]):String.fromCharCode(...e.subarray(0,t+1))}function addHex(e,t,a){let r=0;for(let n=a;n>=0;n--){r+=e[n]+t[n];e[n]=255&r;r>>=8}}function incHex(e,t){let a=1;for(let r=t;r>=0&&a>0;r--){a+=e[r];e[r]=255&a;a>>=8}}const n=16;class BinaryCMapStream{constructor(e){this.buffer=e;this.pos=0;this.end=e.length;this.tmpBuf=new Uint8Array(19)}readByte(){return this.pos>=this.end?-1:this.buffer[this.pos++]}readNumber(){let e,t=0;do{const a=this.readByte();if(a<0)throw new r.FormatError("unexpected EOF in bcmap");e=!(128&a);t=t<<7|127&a}while(!e);return t}readSigned(){const e=this.readNumber();return 1&e?~(e>>>1):e>>>1}readHex(e,t){e.set(this.buffer.subarray(this.pos,this.pos+t+1));this.pos+=t+1}readHexNumber(e,t){let a;const n=this.tmpBuf;let i=0;do{const e=this.readByte();if(e<0)throw new r.FormatError("unexpected EOF in bcmap");a=!(128&e);n[i++]=127&e}while(!a);let s=t,o=0,c=0;for(;s>=0;){for(;c<8&&n.length>0;){o|=n[--i]<>=8;c-=8}}readHexSigned(e,t){this.readHexNumber(e,t);const a=1&e[t]?255:0;let r=0;for(let n=0;n<=t;n++){r=(1&r)<<8|e[n];e[n]=r>>1^a}}readString(){const e=this.readNumber(),t=new Array(e);for(let a=0;a=0;){const e=f>>5;if(7===e){switch(31&f){case 0:r.readString();break;case 1:s=r.readString()}continue}const a=!!(16&f),i=15&f;if(i+1>n)throw new Error("BinaryCMapReader.process: Invalid dataSize.");const g=1,p=r.readNumber();switch(e){case 0:r.readHex(o,i);r.readHexNumber(c,i);addHex(c,o,i);t.addCodespaceRange(i+1,hexToInt(o,i),hexToInt(c,i));for(let e=1;e{Object.defineProperty(t,"__esModule",{value:!0});t.Parser=t.Linearization=t.Lexer=void 0;var r=a(2),n=a(4),i=a(3),s=a(8),o=a(17),c=a(19),l=a(20),h=a(22),u=a(23),d=a(26),f=a(29),g=a(31),p=a(32),m=a(33);class Parser{constructor({lexer:e,xref:t,allowStreams:a=!1,recoveryMode:r=!1}){this.lexer=e;this.xref=t;this.allowStreams=a;this.recoveryMode=r;this.imageCache=Object.create(null);this._imageId=0;this.refill()}refill(){this.buf1=this.lexer.getObj();this.buf2=this.lexer.getObj()}shift(){if(this.buf2 instanceof n.Cmd&&"ID"===this.buf2.cmd){this.buf1=this.buf2;this.buf2=null}else{this.buf1=this.buf2;this.buf2=this.lexer.getObj()}}tryShift(){try{this.shift();return!0}catch(e){if(e instanceof i.MissingDataException)throw e;return!1}}getObj(e=null){const t=this.buf1;this.shift();if(t instanceof n.Cmd)switch(t.cmd){case"BI":return this.makeInlineImage(e);case"[":const a=[];for(;!(0,n.isCmd)(this.buf1,"]")&&this.buf1!==n.EOF;)a.push(this.getObj(e));if(this.buf1===n.EOF){if(this.recoveryMode)return a;throw new i.ParserEOFException("End of file inside array.")}this.shift();return a;case"<<":const s=new n.Dict(this.xref);for(;!(0,n.isCmd)(this.buf1,">>")&&this.buf1!==n.EOF;){if(!(this.buf1 instanceof n.Name)){(0,r.info)("Malformed dictionary: key must be a name object");this.shift();continue}const t=this.buf1.name;this.shift();if(this.buf1===n.EOF)break;s.set(t,this.getObj(e))}if(this.buf1===n.EOF){if(this.recoveryMode)return s;throw new i.ParserEOFException("End of file inside dictionary.")}if((0,n.isCmd)(this.buf2,"stream"))return this.allowStreams?this.makeStream(s,e):s;this.shift();return s;default:return t}if(Number.isInteger(t)){if(Number.isInteger(this.buf1)&&(0,n.isCmd)(this.buf2,"R")){const e=n.Ref.get(t,this.buf1);this.shift();this.shift();return e}return t}return"string"==typeof t&&e?e.decryptString(t):t}findDefaultInlineStreamEnd(e){const{knownCommands:t}=this.lexer,a=e.pos;let o,c,l=0;for(;-1!==(o=e.getByte());)if(0===l)l=69===o?1:0;else if(1===l)l=73===o?2:0;else if(32===o||10===o||13===o){c=e.pos;const a=e.peekBytes(15),i=a.length;if(0===i)break;for(let e=0;e127))){l=0;break}}if(2!==l)continue;if(!t){(0,r.warn)("findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.");continue}const h=new Lexer(new s.Stream(a.slice()),t);h._hexStringWarn=()=>{};let u=0;for(;;){const e=h.getObj();if(e===n.EOF){l=0;break}if(e instanceof n.Cmd){const a=t[e.cmd];if(!a){l=0;break}if(a.variableArgs?u<=a.numArgs:u===a.numArgs)break;u=0}else u++}if(2===l)break}else l=0;if(-1===o){(0,r.warn)("findDefaultInlineStreamEnd: Reached the end of the stream without finding a valid EI marker");if(c){(0,r.warn)('... trying to recover by using the last "EI" occurrence.');e.skip(-(e.pos-c))}}let h=4;e.skip(-h);o=e.peekByte();e.skip(h);(0,i.isWhiteSpace)(o)||h--;return e.pos-h-a}findDCTDecodeInlineStreamEnd(e){const t=e.pos;let a,n,i=!1;for(;-1!==(a=e.getByte());)if(255===a){switch(e.getByte()){case 0:break;case 255:e.skip(-1);break;case 217:i=!0;break;case 192:case 193:case 194:case 195:case 197:case 198:case 199:case 201:case 202:case 203:case 205:case 206:case 207:case 196:case 204:case 218:case 219:case 220:case 221:case 222:case 223:case 224:case 225:case 226:case 227:case 228:case 229:case 230:case 231:case 232:case 233:case 234:case 235:case 236:case 237:case 238:case 239:case 254:n=e.getUint16();n>2?e.skip(n-2):e.skip(-2)}if(i)break}const s=e.pos-t;if(-1===a){(0,r.warn)("Inline DCTDecode image stream: EOI marker not found, searching for /EI/ instead.");e.skip(-s);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return s}findASCII85DecodeInlineStreamEnd(e){const t=e.pos;let a;for(;-1!==(a=e.getByte());)if(126===a){const t=e.pos;a=e.peekByte();for(;(0,i.isWhiteSpace)(a);){e.skip();a=e.peekByte()}if(62===a){e.skip();break}if(e.pos>t){const t=e.peekBytes(2);if(69===t[0]&&73===t[1])break}}const n=e.pos-t;if(-1===a){(0,r.warn)("Inline ASCII85Decode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-n);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return n}findASCIIHexDecodeInlineStreamEnd(e){const t=e.pos;let a;for(;-1!==(a=e.getByte())&&62!==a;);const n=e.pos-t;if(-1===a){(0,r.warn)("Inline ASCIIHexDecode image stream: EOD marker not found, searching for /EI/ instead.");e.skip(-n);return this.findDefaultInlineStreamEnd(e)}this.inlineStreamSkipEI(e);return n}inlineStreamSkipEI(e){let t,a=0;for(;-1!==(t=e.getByte());)if(0===a)a=69===t?1:0;else if(1===a)a=73===t?2:0;else if(2===a)break}makeInlineImage(e){const t=this.lexer,a=t.stream,i=Object.create(null);let s;for(;!(0,n.isCmd)(this.buf1,"ID")&&this.buf1!==n.EOF;){if(!(this.buf1 instanceof n.Name))throw new r.FormatError("Dictionary key must be a name object");const t=this.buf1.name;this.shift();if(this.buf1===n.EOF)break;i[t]=this.getObj(e)}-1!==t.beginInlineImagePos&&(s=a.pos-t.beginInlineImagePos);const o=this.xref.fetchIfRef(i.F||i.Filter);let c;if(o instanceof n.Name)c=o.name;else if(Array.isArray(o)){const e=this.xref.fetchIfRef(o[0]);e instanceof n.Name&&(c=e.name)}const l=a.pos;let h,u;switch(c){case"DCT":case"DCTDecode":h=this.findDCTDecodeInlineStreamEnd(a);break;case"A85":case"ASCII85Decode":h=this.findASCII85DecodeInlineStreamEnd(a);break;case"AHx":case"ASCIIHexDecode":h=this.findASCIIHexDecodeInlineStreamEnd(a);break;default:h=this.findDefaultInlineStreamEnd(a)}if(h<1e3&&s>0){const e=a.pos;a.pos=t.beginInlineImagePos;u=function getInlineImageCacheKey(e){const t=[],a=e.length;let r=0;for(;r=r){a.pos+=s;return a.pos-e}s++}a.pos+=i}return-1}makeStream(e,t){const a=this.lexer;let s=a.stream;a.skipToNextLine();const o=s.pos-1;let c=e.get("Length");if(!Number.isInteger(c)){(0,r.info)(`Bad length "${c&&c.toString()}" in stream.`);c=0}s.pos=o+c;a.nextChar();if(this.tryShift()&&(0,n.isCmd)(this.buf2,"endstream"))this.shift();else{const e=new Uint8Array([101,110,100,115,116,114,101,97,109]);let t=this._findStreamLength(o,e);if(t<0){const a=1;for(let n=1;n<=a;n++){const a=e.length-n,c=e.slice(0,a),l=this._findStreamLength(o,c);if(l>=0){const e=s.peekBytes(a+1)[a];if(!(0,i.isWhiteSpace)(e))break;(0,r.info)(`Found "${(0,r.bytesToString)(c)}" when searching for endstream command.`);t=l;break}}if(t<0)throw new r.FormatError("Missing endstream command.")}c=t;a.nextChar();this.shift();this.shift()}this.shift();s=s.makeSubStream(o,c,e);t&&(s=t.createStream(s,c));s=this.filter(s,e,c);s.dict=e;return s}filter(e,t,a){let i=t.get("F","Filter"),s=t.get("DP","DecodeParms");if(i instanceof n.Name){Array.isArray(s)&&(0,r.warn)("/DecodeParms should not be an Array, when /Filter is a Name.");return this.makeFilter(e,i.name,a,s)}let o=a;if(Array.isArray(i)){const t=i,a=s;for(let c=0,l=t.length;c=48&&e<=57?15&e:e>=65&&e<=70||e>=97&&e<=102?9+(15&e):-1}class Lexer{constructor(e,t=null){this.stream=e;this.nextChar();this.strBuf=[];this.knownCommands=t;this._hexStringNumWarn=0;this.beginInlineImagePos=-1}nextChar(){return this.currentChar=this.stream.getByte()}peekChar(){return this.stream.peekByte()}getNumber(){let e=this.currentChar,t=!1,a=0,n=1;if(45===e){n=-1;e=this.nextChar();45===e&&(e=this.nextChar())}else 43===e&&(e=this.nextChar());if(10===e||13===e)do{e=this.nextChar()}while(10===e||13===e);if(46===e){a=10;e=this.nextChar()}if(e<48||e>57){const t=`Invalid number: ${String.fromCharCode(e)} (charCode ${e})`;if((0,i.isWhiteSpace)(e)||-1===e){(0,r.info)(`Lexer.getNumber - "${t}".`);return 0}throw new r.FormatError(t)}let s=e-48,o=0,c=1;for(;(e=this.nextChar())>=0;)if(e>=48&&e<=57){const r=e-48;if(t)o=10*o+r;else{0!==a&&(a*=10);s=10*s+r}}else if(46===e){if(0!==a)break;a=1}else if(45===e)(0,r.warn)("Badly formatted number: minus sign in the middle");else{if(69!==e&&101!==e)break;e=this.peekChar();if(43===e||45===e){c=45===e?-1:1;this.nextChar()}else if(e<48||e>57)break;t=!0}0!==a&&(s/=a);t&&(s*=10**(c*o));return n*s}getString(){let e=1,t=!1;const a=this.strBuf;a.length=0;let n=this.nextChar();for(;;){let i=!1;switch(0|n){case-1:(0,r.warn)("Unterminated string");t=!0;break;case 40:++e;a.push("(");break;case 41:if(0==--e){this.nextChar();t=!0}else a.push(")");break;case 92:n=this.nextChar();switch(n){case-1:(0,r.warn)("Unterminated string");t=!0;break;case 110:a.push("\n");break;case 114:a.push("\r");break;case 116:a.push("\t");break;case 98:a.push("\b");break;case 102:a.push("\f");break;case 92:case 40:case 41:a.push(String.fromCharCode(n));break;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:let e=15&n;n=this.nextChar();i=!0;if(n>=48&&n<=55){e=(e<<3)+(15&n);n=this.nextChar();if(n>=48&&n<=55){i=!1;e=(e<<3)+(15&n)}}a.push(String.fromCharCode(e));break;case 13:10===this.peekChar()&&this.nextChar();break;case 10:break;default:a.push(String.fromCharCode(n))}break;default:a.push(String.fromCharCode(n))}if(t)break;i||(n=this.nextChar())}return a.join("")}getName(){let e,t;const a=this.strBuf;a.length=0;for(;(e=this.nextChar())>=0&&!b[e];)if(35===e){e=this.nextChar();if(b[e]){(0,r.warn)("Lexer_getName: NUMBER SIGN (#) should be followed by a hexadecimal number.");a.push("#");break}const n=toHexDigit(e);if(-1!==n){t=e;e=this.nextChar();const i=toHexDigit(e);if(-1===i){(0,r.warn)(`Lexer_getName: Illegal digit (${String.fromCharCode(e)}) in hexadecimal number.`);a.push("#",String.fromCharCode(t));if(b[e])break;a.push(String.fromCharCode(e));continue}a.push(String.fromCharCode(n<<4|i))}else a.push("#",String.fromCharCode(e))}else a.push(String.fromCharCode(e));a.length>127&&(0,r.warn)(`Name token is longer than allowed by the spec: ${a.length}`);return n.Name.get(a.join(""))}_hexStringWarn(e){5!=this._hexStringNumWarn++?this._hexStringNumWarn>5||(0,r.warn)(`getHexString - ignoring invalid character: ${e}`):(0,r.warn)("getHexString - ignoring additional invalid characters.")}getHexString(){const e=this.strBuf;e.length=0;let t,a,n=this.currentChar,i=!0;this._hexStringNumWarn=0;for(;;){if(n<0){(0,r.warn)("Unterminated hex string");break}if(62===n){this.nextChar();break}if(1!==b[n]){if(i){t=toHexDigit(n);if(-1===t){this._hexStringWarn(n);n=this.nextChar();continue}}else{a=toHexDigit(n);if(-1===a){this._hexStringWarn(n);n=this.nextChar();continue}e.push(String.fromCharCode(t<<4|a))}i=!i;n=this.nextChar()}else n=this.nextChar()}return e.join("")}getObj(){let e=!1,t=this.currentChar;for(;;){if(t<0)return n.EOF;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(1!==b[t])break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return this.getNumber();case 40:return this.getString();case 47:return this.getName();case 91:this.nextChar();return n.Cmd.get("[");case 93:this.nextChar();return n.Cmd.get("]");case 60:t=this.nextChar();if(60===t){this.nextChar();return n.Cmd.get("<<")}return this.getHexString();case 62:t=this.nextChar();if(62===t){this.nextChar();return n.Cmd.get(">>")}return n.Cmd.get(">");case 123:this.nextChar();return n.Cmd.get("{");case 125:this.nextChar();return n.Cmd.get("}");case 41:this.nextChar();throw new r.FormatError(`Illegal character: ${t}`)}let a=String.fromCharCode(t);if(t<32||t>127){const e=this.peekChar();if(e>=32&&e<=127){this.nextChar();return n.Cmd.get(a)}}const i=this.knownCommands;let s=void 0!==i?.[a];for(;(t=this.nextChar())>=0&&!b[t];){const e=a+String.fromCharCode(t);if(s&&void 0===i[e])break;if(128===a.length)throw new r.FormatError(`Command token too long: ${a.length}`);a=e;s=void 0!==i?.[a]}if("true"===a)return!0;if("false"===a)return!1;if("null"===a)return null;"BI"===a&&(this.beginInlineImagePos=this.stream.pos);return n.Cmd.get(a)}skipToNextLine(){let e=this.currentChar;for(;e>=0;){if(13===e){e=this.nextChar();10===e&&this.nextChar();break}if(10===e){this.nextChar();break}e=this.nextChar()}}}t.Lexer=Lexer;t.Linearization=class Linearization{static create(e){function getInt(e,t,a=!1){const r=e.get(t);if(Number.isInteger(r)&&(a?r>=0:r>0))return r;throw new Error(`The "${t}" parameter in the linearization dictionary is invalid.`)}const t=new Parser({lexer:new Lexer(e),xref:null}),a=t.getObj(),r=t.getObj(),i=t.getObj(),s=t.getObj();let o,c;if(!(Number.isInteger(a)&&Number.isInteger(r)&&(0,n.isCmd)(i,"obj")&&s instanceof n.Dict&&"number"==typeof(o=s.get("Linearized"))&&o>0))return null;if((c=getInt(s,"L"))!==e.length)throw new Error('The "L" parameter in the linearization dictionary does not equal the stream length.');return{length:c,hints:function getHints(e){const t=e.get("H");let a;if(Array.isArray(t)&&(2===(a=t.length)||4===a)){for(let e=0;e0))throw new Error(`Hint (${e}) in the linearization dictionary is invalid.`)}return t}throw new Error("Hint array in the linearization dictionary is invalid.")}(s),objectNumberFirst:getInt(s,"O"),endFirst:getInt(s,"E"),numPages:getInt(s,"N"),mainXRefEntriesOffset:getInt(s,"T"),pageFirst:s.has("P")?getInt(s,"P",!0):0}}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Ascii85Stream=void 0;var r=a(18),n=a(3);class Ascii85Stream extends r.DecodeStream{constructor(e,t){t&&(t*=.8);super(t);this.str=e;this.dict=e.dict;this.input=new Uint8Array(5)}readBlock(){const e=this.str;let t=e.getByte();for(;(0,n.isWhiteSpace)(t);)t=e.getByte();if(-1===t||126===t){this.eof=!0;return}const a=this.bufferLength;let r,i;if(122===t){r=this.ensureBuffer(a+4);for(i=0;i<4;++i)r[a+i]=0;this.bufferLength+=4}else{const s=this.input;s[0]=t;for(i=1;i<5;++i){t=e.getByte();for(;(0,n.isWhiteSpace)(t);)t=e.getByte();s[i]=t;if(-1===t||126===t)break}r=this.ensureBuffer(a+i-1);this.bufferLength+=i-1;if(i<5){for(;i<5;++i)s[i]=117;this.eof=!0}let o=0;for(i=0;i<5;++i)o=85*o+(s[i]-33);for(i=3;i>=0;--i){r[a+i]=255&o;o>>=8}}}}t.Ascii85Stream=Ascii85Stream},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.StreamsSequenceStream=t.DecodeStream=void 0;var r=a(5),n=a(8);const i=new Uint8Array(0);class DecodeStream extends r.BaseStream{constructor(e){super();this._rawMinBufferLength=e||0;this.pos=0;this.bufferLength=0;this.eof=!1;this.buffer=i;this.minBufferLength=512;if(e)for(;this.minBufferLengthr&&(a=r)}else{for(;!this.eof;)this.readBlock();a=this.bufferLength}this.pos=a;return this.buffer.subarray(t,a)}reset(){this.pos=0}makeSubStream(e,t,a=null){if(void 0===t)for(;!this.eof;)this.readBlock();else{const a=e+t;for(;this.bufferLength<=a&&!this.eof;)this.readBlock()}return new n.Stream(this.buffer,e,t,a)}getBaseStreams(){return this.str?this.str.getBaseStreams():null}}t.DecodeStream=DecodeStream;t.StreamsSequenceStream=class StreamsSequenceStream extends DecodeStream{constructor(e,t=null){let a=0;for(const t of e)a+=t instanceof DecodeStream?t._rawMinBufferLength:t.length;super(a);this.streams=e;this._onError=t}readBlock(){const e=this.streams;if(0===e.length){this.eof=!0;return}const t=e.shift();let a;try{a=t.getBytes()}catch(e){if(this._onError){this._onError(e,t.dict?.objId);return}throw e}const r=this.bufferLength,n=r+a.length;this.ensureBuffer(n).set(a,r);this.bufferLength=n}getBaseStreams(){const e=[];for(const t of this.streams){const a=t.getBaseStreams();a&&e.push(...a)}return e.length>0?e:null}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.AsciiHexStream=void 0;var r=a(18);class AsciiHexStream extends r.DecodeStream{constructor(e,t){t&&(t*=.5);super(t);this.str=e;this.dict=e.dict;this.firstDigit=-1}readBlock(){const e=this.str.getBytes(8e3);if(!e.length){this.eof=!0;return}const t=e.length+1>>1,a=this.ensureBuffer(this.bufferLength+t);let r=this.bufferLength,n=this.firstDigit;for(const t of e){let e;if(t>=48&&t<=57)e=15&t;else{if(!(t>=65&&t<=70||t>=97&&t<=102)){if(62===t){this.eof=!0;break}continue}e=9+(15&t)}if(n<0)n=e;else{a[r++]=n<<4|e;n=-1}}if(n>=0&&this.eof){a[r++]=n<<4;n=-1}this.firstDigit=n;this.bufferLength=r}}t.AsciiHexStream=AsciiHexStream},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.CCITTFaxStream=void 0;var r=a(21),n=a(18),i=a(4);class CCITTFaxStream extends n.DecodeStream{constructor(e,t,a){super(t);this.str=e;this.dict=e.dict;a instanceof i.Dict||(a=i.Dict.empty);const n={next:()=>e.getByte()};this.ccittFaxDecoder=new r.CCITTFaxDecoder(n,{K:a.get("K"),EndOfLine:a.get("EndOfLine"),EncodedByteAlign:a.get("EncodedByteAlign"),Columns:a.get("Columns"),Rows:a.get("Rows"),EndOfBlock:a.get("EndOfBlock"),BlackIs1:a.get("BlackIs1")})}readBlock(){for(;!this.eof;){const e=this.ccittFaxDecoder.readNextChar();if(-1===e){this.eof=!0;return}this.ensureBuffer(this.bufferLength+1);this.buffer[this.bufferLength++]=e}}}t.CCITTFaxStream=CCITTFaxStream},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.CCITTFaxDecoder=void 0;var r=a(2);const n=-1,i=[[-1,-1],[-1,-1],[7,8],[7,7],[6,6],[6,6],[6,5],[6,5],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[4,0],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[3,3],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2],[1,2]],s=[[-1,-1],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[12,1984],[12,2048],[12,2112],[12,2176],[12,2240],[12,2304],[11,1856],[11,1856],[11,1920],[11,1920],[12,2368],[12,2432],[12,2496],[12,2560]],o=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[8,29],[8,29],[8,30],[8,30],[8,45],[8,45],[8,46],[8,46],[7,22],[7,22],[7,22],[7,22],[7,23],[7,23],[7,23],[7,23],[8,47],[8,47],[8,48],[8,48],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[6,13],[7,20],[7,20],[7,20],[7,20],[8,33],[8,33],[8,34],[8,34],[8,35],[8,35],[8,36],[8,36],[8,37],[8,37],[8,38],[8,38],[7,19],[7,19],[7,19],[7,19],[8,31],[8,31],[8,32],[8,32],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,1],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[6,12],[8,53],[8,53],[8,54],[8,54],[7,26],[7,26],[7,26],[7,26],[8,39],[8,39],[8,40],[8,40],[8,41],[8,41],[8,42],[8,42],[8,43],[8,43],[8,44],[8,44],[7,21],[7,21],[7,21],[7,21],[7,28],[7,28],[7,28],[7,28],[8,61],[8,61],[8,62],[8,62],[8,63],[8,63],[8,0],[8,0],[8,320],[8,320],[8,384],[8,384],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,10],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[5,11],[7,27],[7,27],[7,27],[7,27],[8,59],[8,59],[8,60],[8,60],[9,1472],[9,1536],[9,1600],[9,1728],[7,18],[7,18],[7,18],[7,18],[7,24],[7,24],[7,24],[7,24],[8,49],[8,49],[8,50],[8,50],[8,51],[8,51],[8,52],[8,52],[7,25],[7,25],[7,25],[7,25],[8,55],[8,55],[8,56],[8,56],[8,57],[8,57],[8,58],[8,58],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,192],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[6,1664],[8,448],[8,448],[8,512],[8,512],[9,704],[9,768],[8,640],[8,640],[8,576],[8,576],[9,832],[9,896],[9,960],[9,1024],[9,1088],[9,1152],[9,1216],[9,1280],[9,1344],[9,1408],[7,256],[7,256],[7,256],[7,256],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,128],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,8],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[5,9],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,16],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[6,17],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,4],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[4,5],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,14],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[6,15],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[5,64],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,6],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7],[4,7]],c=[[-1,-1],[-1,-1],[12,-2],[12,-2],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[-1,-1],[11,1792],[11,1792],[11,1792],[11,1792],[12,1984],[12,1984],[12,2048],[12,2048],[12,2112],[12,2112],[12,2176],[12,2176],[12,2240],[12,2240],[12,2304],[12,2304],[11,1856],[11,1856],[11,1856],[11,1856],[11,1920],[11,1920],[11,1920],[11,1920],[12,2368],[12,2368],[12,2432],[12,2432],[12,2496],[12,2496],[12,2560],[12,2560],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[10,18],[12,52],[12,52],[13,640],[13,704],[13,768],[13,832],[12,55],[12,55],[12,56],[12,56],[13,1280],[13,1344],[13,1408],[13,1472],[12,59],[12,59],[12,60],[12,60],[13,1536],[13,1600],[11,24],[11,24],[11,24],[11,24],[11,25],[11,25],[11,25],[11,25],[13,1664],[13,1728],[12,320],[12,320],[12,384],[12,384],[12,448],[12,448],[13,512],[13,576],[12,53],[12,53],[12,54],[12,54],[13,896],[13,960],[13,1024],[13,1088],[13,1152],[13,1216],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64],[10,64]],l=[[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[8,13],[11,23],[11,23],[12,50],[12,51],[12,44],[12,45],[12,46],[12,47],[12,57],[12,58],[12,61],[12,256],[10,16],[10,16],[10,16],[10,16],[10,17],[10,17],[10,17],[10,17],[12,48],[12,49],[12,62],[12,63],[12,30],[12,31],[12,32],[12,33],[12,40],[12,41],[11,22],[11,22],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[8,14],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,10],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[7,11],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[9,15],[12,128],[12,192],[12,26],[12,27],[12,28],[12,29],[11,19],[11,19],[11,20],[11,20],[12,34],[12,35],[12,36],[12,37],[12,38],[12,39],[11,21],[11,21],[12,42],[12,43],[10,0],[10,0],[10,0],[10,0],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12],[7,12]],h=[[-1,-1],[-1,-1],[-1,-1],[-1,-1],[6,9],[6,8],[5,7],[5,7],[4,6],[4,6],[4,6],[4,6],[4,5],[4,5],[4,5],[4,5],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[3,4],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,3],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2],[2,2]];t.CCITTFaxDecoder=class CCITTFaxDecoder{constructor(e,t={}){if(!e||"function"!=typeof e.next)throw new Error('CCITTFaxDecoder - invalid "source" parameter.');this.source=e;this.eof=!1;this.encoding=t.K||0;this.eoline=t.EndOfLine||!1;this.byteAlign=t.EncodedByteAlign||!1;this.columns=t.Columns||1728;this.rows=t.Rows||0;this.eoblock=t.EndOfBlock??!0;this.black=t.BlackIs1||!1;this.codingLine=new Uint32Array(this.columns+1);this.refLine=new Uint32Array(this.columns+2);this.codingLine[0]=this.columns;this.codingPos=0;this.row=0;this.nextLine2D=this.encoding<0;this.inputBits=0;this.inputBuf=0;this.outputBits=0;this.rowsDone=!1;let a;for(;0===(a=this._lookBits(12));)this._eatBits(1);1===a&&this._eatBits(12);if(this.encoding>0){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}}readNextChar(){if(this.eof)return-1;const e=this.refLine,t=this.codingLine,a=this.columns;let i,s,o,c,l;if(0===this.outputBits){this.rowsDone&&(this.eof=!0);if(this.eof)return-1;this.err=!1;let o,l,h;if(this.nextLine2D){for(c=0;t[c]=64);do{l+=h=this._getWhiteCode()}while(h>=64)}else{do{o+=h=this._getWhiteCode()}while(h>=64);do{l+=h=this._getBlackCode()}while(h>=64)}this._addPixels(t[this.codingPos]+o,s);t[this.codingPos]0?--i:++i;for(;e[i]<=t[this.codingPos]&&e[i]0?--i:++i;for(;e[i]<=t[this.codingPos]&&e[i]0?--i:++i;for(;e[i]<=t[this.codingPos]&&e[i]=64);else do{o+=h=this._getWhiteCode()}while(h>=64);this._addPixels(t[this.codingPos]+o,s);s^=1}}let u=!1;this.byteAlign&&(this.inputBits&=-8);if(this.eoblock||this.row!==this.rows-1){o=this._lookBits(12);if(this.eoline)for(;o!==n&&1!==o;){this._eatBits(1);o=this._lookBits(12)}else for(;0===o;){this._eatBits(1);o=this._lookBits(12)}if(1===o){this._eatBits(12);u=!0}else o===n&&(this.eof=!0)}else this.rowsDone=!0;if(!this.eof&&this.encoding>0&&!this.rowsDone){this.nextLine2D=!this._lookBits(1);this._eatBits(1)}if(this.eoblock&&u&&this.byteAlign){o=this._lookBits(12);if(1===o){this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}if(this.encoding>=0)for(c=0;c<4;++c){o=this._lookBits(12);1!==o&&(0,r.info)("bad rtc code: "+o);this._eatBits(12);if(this.encoding>0){this._lookBits(1);this._eatBits(1)}}this.eof=!0}}else if(this.err&&this.eoline){for(;;){o=this._lookBits(13);if(o===n){this.eof=!0;return-1}if(o>>1==1)break;this._eatBits(1)}this._eatBits(12);if(this.encoding>0){this._eatBits(1);this.nextLine2D=!(1&o)}}this.outputBits=t[0]>0?t[this.codingPos=0]:t[this.codingPos=1];this.row++}if(this.outputBits>=8){l=1&this.codingPos?0:255;this.outputBits-=8;if(0===this.outputBits&&t[this.codingPos]o){l<<=o;1&this.codingPos||(l|=255>>8-o);this.outputBits-=o;o=0}else{l<<=this.outputBits;1&this.codingPos||(l|=255>>8-this.outputBits);o-=this.outputBits;this.outputBits=0;if(t[this.codingPos]0){l<<=o;o=0}}}while(o)}this.black&&(l^=255);return l}_addPixels(e,t){const a=this.codingLine;let n=this.codingPos;if(e>a[n]){if(e>this.columns){(0,r.info)("row is wrong length");this.err=!0;e=this.columns}1&n^t&&++n;a[n]=e}this.codingPos=n}_addPixelsNeg(e,t){const a=this.codingLine;let n=this.codingPos;if(e>a[n]){if(e>this.columns){(0,r.info)("row is wrong length");this.err=!0;e=this.columns}1&n^t&&++n;a[n]=e}else if(e0&&e=i){const t=a[e-i];if(t[0]===r){this._eatBits(r);return[!0,t[1],!0]}}}return[!1,0,!1]}_getTwoDimCode(){let e,t=0;if(this.eoblock){t=this._lookBits(7);e=i[t];if(e?.[0]>0){this._eatBits(e[0]);return e[1]}}else{const e=this._findTableCode(1,7,i);if(e[0]&&e[2])return e[1]}(0,r.info)("Bad two dim code");return n}_getWhiteCode(){let e,t=0;if(this.eoblock){t=this._lookBits(12);if(t===n)return 1;e=t>>5==0?s[t]:o[t>>3];if(e[0]>0){this._eatBits(e[0]);return e[1]}}else{let e=this._findTableCode(1,9,o);if(e[0])return e[1];e=this._findTableCode(11,12,s);if(e[0])return e[1]}(0,r.info)("bad white code");this._eatBits(1);return 1}_getBlackCode(){let e,t;if(this.eoblock){e=this._lookBits(13);if(e===n)return 1;t=e>>7==0?c[e]:e>>9==0&&e>>7!=0?l[(e>>1)-64]:h[e>>7];if(t[0]>0){this._eatBits(t[0]);return t[1]}}else{let e=this._findTableCode(2,6,h);if(e[0])return e[1];e=this._findTableCode(7,12,l,64);if(e[0])return e[1];e=this._findTableCode(10,13,c);if(e[0])return e[1]}(0,r.info)("bad black code");this._eatBits(1);return 1}_lookBits(e){let t;for(;this.inputBits>16-e;this.inputBuf=this.inputBuf<<8|t;this.inputBits+=8}return this.inputBuf>>this.inputBits-e&65535>>16-e}_eatBits(e){(this.inputBits-=e)<0&&(this.inputBits=0)}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.FlateStream=void 0;var r=a(18),n=a(2);const i=new Int32Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Int32Array([3,4,5,6,7,8,9,10,65547,65549,65551,65553,131091,131095,131099,131103,196643,196651,196659,196667,262211,262227,262243,262259,327811,327843,327875,327907,258,258,258]),o=new Int32Array([1,2,3,4,65541,65543,131081,131085,196625,196633,262177,262193,327745,327777,393345,393409,459009,459137,524801,525057,590849,591361,657409,658433,724993,727041,794625,798721,868353,876545]),c=[new Int32Array([459008,524368,524304,524568,459024,524400,524336,590016,459016,524384,524320,589984,524288,524416,524352,590048,459012,524376,524312,589968,459028,524408,524344,590032,459020,524392,524328,59e4,524296,524424,524360,590064,459010,524372,524308,524572,459026,524404,524340,590024,459018,524388,524324,589992,524292,524420,524356,590056,459014,524380,524316,589976,459030,524412,524348,590040,459022,524396,524332,590008,524300,524428,524364,590072,459009,524370,524306,524570,459025,524402,524338,590020,459017,524386,524322,589988,524290,524418,524354,590052,459013,524378,524314,589972,459029,524410,524346,590036,459021,524394,524330,590004,524298,524426,524362,590068,459011,524374,524310,524574,459027,524406,524342,590028,459019,524390,524326,589996,524294,524422,524358,590060,459015,524382,524318,589980,459031,524414,524350,590044,459023,524398,524334,590012,524302,524430,524366,590076,459008,524369,524305,524569,459024,524401,524337,590018,459016,524385,524321,589986,524289,524417,524353,590050,459012,524377,524313,589970,459028,524409,524345,590034,459020,524393,524329,590002,524297,524425,524361,590066,459010,524373,524309,524573,459026,524405,524341,590026,459018,524389,524325,589994,524293,524421,524357,590058,459014,524381,524317,589978,459030,524413,524349,590042,459022,524397,524333,590010,524301,524429,524365,590074,459009,524371,524307,524571,459025,524403,524339,590022,459017,524387,524323,589990,524291,524419,524355,590054,459013,524379,524315,589974,459029,524411,524347,590038,459021,524395,524331,590006,524299,524427,524363,590070,459011,524375,524311,524575,459027,524407,524343,590030,459019,524391,524327,589998,524295,524423,524359,590062,459015,524383,524319,589982,459031,524415,524351,590046,459023,524399,524335,590014,524303,524431,524367,590078,459008,524368,524304,524568,459024,524400,524336,590017,459016,524384,524320,589985,524288,524416,524352,590049,459012,524376,524312,589969,459028,524408,524344,590033,459020,524392,524328,590001,524296,524424,524360,590065,459010,524372,524308,524572,459026,524404,524340,590025,459018,524388,524324,589993,524292,524420,524356,590057,459014,524380,524316,589977,459030,524412,524348,590041,459022,524396,524332,590009,524300,524428,524364,590073,459009,524370,524306,524570,459025,524402,524338,590021,459017,524386,524322,589989,524290,524418,524354,590053,459013,524378,524314,589973,459029,524410,524346,590037,459021,524394,524330,590005,524298,524426,524362,590069,459011,524374,524310,524574,459027,524406,524342,590029,459019,524390,524326,589997,524294,524422,524358,590061,459015,524382,524318,589981,459031,524414,524350,590045,459023,524398,524334,590013,524302,524430,524366,590077,459008,524369,524305,524569,459024,524401,524337,590019,459016,524385,524321,589987,524289,524417,524353,590051,459012,524377,524313,589971,459028,524409,524345,590035,459020,524393,524329,590003,524297,524425,524361,590067,459010,524373,524309,524573,459026,524405,524341,590027,459018,524389,524325,589995,524293,524421,524357,590059,459014,524381,524317,589979,459030,524413,524349,590043,459022,524397,524333,590011,524301,524429,524365,590075,459009,524371,524307,524571,459025,524403,524339,590023,459017,524387,524323,589991,524291,524419,524355,590055,459013,524379,524315,589975,459029,524411,524347,590039,459021,524395,524331,590007,524299,524427,524363,590071,459011,524375,524311,524575,459027,524407,524343,590031,459019,524391,524327,589999,524295,524423,524359,590063,459015,524383,524319,589983,459031,524415,524351,590047,459023,524399,524335,590015,524303,524431,524367,590079]),9],l=[new Int32Array([327680,327696,327688,327704,327684,327700,327692,327708,327682,327698,327690,327706,327686,327702,327694,0,327681,327697,327689,327705,327685,327701,327693,327709,327683,327699,327691,327707,327687,327703,327695,0]),5];class FlateStream extends r.DecodeStream{constructor(e,t){super(t);this.str=e;this.dict=e.dict;const a=e.getByte(),r=e.getByte();if(-1===a||-1===r)throw new n.FormatError(`Invalid header in flate stream: ${a}, ${r}`);if(8!=(15&a))throw new n.FormatError(`Unknown compression method in flate stream: ${a}, ${r}`);if(((a<<8)+r)%31!=0)throw new n.FormatError(`Bad FCHECK in flate stream: ${a}, ${r}`);if(32&r)throw new n.FormatError(`FDICT bit set in flate stream: ${a}, ${r}`);this.codeSize=0;this.codeBuf=0}getBits(e){const t=this.str;let a,r=this.codeSize,i=this.codeBuf;for(;r>e;this.codeSize=r-=e;return a}getCode(e){const t=this.str,a=e[0],r=e[1];let i,s=this.codeSize,o=this.codeBuf;for(;s>16,h=65535&c;if(l<1||s>l;this.codeSize=s-l;return h}generateHuffmanTable(e){const t=e.length;let a,r=0;for(a=0;ar&&(r=e[a]);const n=1<>=1}for(a=e;a>=1;if(0===u){let t;if(-1===(t=a.getByte()))throw new n.FormatError("Bad block header in flate stream");let r=t;if(-1===(t=a.getByte()))throw new n.FormatError("Bad block header in flate stream");r|=t<<8;if(-1===(t=a.getByte()))throw new n.FormatError("Bad block header in flate stream");let i=t;if(-1===(t=a.getByte()))throw new n.FormatError("Bad block header in flate stream");i|=t<<8;if(i!==(65535&~r)&&(0!==r||0!==i))throw new n.FormatError("Bad uncompressed block length in flate stream");this.codeBuf=0;this.codeSize=0;const s=this.bufferLength,o=s+r;e=this.ensureBuffer(o);this.bufferLength=o;if(0===r)-1===a.peekByte()&&(this.eof=!0);else{const t=a.getBytes(r);e.set(t,s);t.length0;)u[o++]=g}r=this.generateHuffmanTable(u.subarray(0,e));h=this.generateHuffmanTable(u.subarray(e,l))}}e=this.buffer;let d=e?e.length:0,f=this.bufferLength;for(;;){let a=this.getCode(r);if(a<256){if(f+1>=d){e=this.ensureBuffer(f+1);d=e.length}e[f++]=a;continue}if(256===a){this.bufferLength=f;return}a-=257;a=s[a];let n=a>>16;n>0&&(n=this.getBits(n));t=(65535&a)+n;a=this.getCode(h);a=o[a];n=a>>16;n>0&&(n=this.getBits(n));const i=(65535&a)+n;if(f+t>=d){e=this.ensureBuffer(f+t);d=e.length}for(let a=0;a{Object.defineProperty(t,"__esModule",{value:!0});t.Jbig2Stream=void 0;var r=a(5),n=a(18),i=a(4),s=a(24),o=a(2);class Jbig2Stream extends n.DecodeStream{constructor(e,t,a){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=a}get bytes(){return(0,o.shadow)(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e=new s.Jbig2Image,t=[];if(this.params instanceof i.Dict){const e=this.params.get("JBIG2Globals");if(e instanceof r.BaseStream){const a=e.getBytes();t.push({data:a,start:0,end:a.length})}}t.push({data:this.bytes,start:0,end:this.bytes.length});const a=e.parseChunks(t),n=a.length;for(let e=0;e{Object.defineProperty(t,"__esModule",{value:!0});t.Jbig2Image=void 0;var r=a(2),n=a(3),i=a(25),s=a(21);class Jbig2Error extends r.BaseException{constructor(e){super(`JBIG2 error: ${e}`,"Jbig2Error")}}class ContextCache{getContexts(e){return e in this?this[e]:this[e]=new Int8Array(65536)}}class DecodingContext{constructor(e,t,a){this.data=e;this.start=t;this.end=a}get decoder(){const e=new i.ArithmeticDecoder(this.data,this.start,this.end);return(0,r.shadow)(this,"decoder",e)}get contextCache(){const e=new ContextCache;return(0,r.shadow)(this,"contextCache",e)}}const o=2**31-1,c=-(2**31);function decodeInteger(e,t,a){const r=e.getContexts(t);let n=1;function readBits(e){let t=0;for(let i=0;i>>0}const i=readBits(1),s=readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(1)?readBits(32)+4436:readBits(12)+340:readBits(8)+84:readBits(6)+20:readBits(4)+4:readBits(2);let l;0===i?l=s:s>0&&(l=-s);return l>=c&&l<=o?l:null}function decodeIAID(e,t,a){const r=e.getContexts("IAID");let n=1;for(let e=0;e=O&&$=T){q=q<<1&y;for(b=0;b=0&&j=0){U=N[_][j];U&&(q|=U<=e?l<<=1:l=l<<1|k[o][c]}for(p=0;p=x||c<0||c>=S?l<<=1:l=l<<1|r[o][c]}const u=v.readBit(F,l);t[s]=u}}return k}function decodeTextRegion(e,t,a,r,n,i,s,o,c,l,h,u,d,f,g,p,m,b,y){if(e&&t)throw new Jbig2Error("refinement with Huffman is not supported");const w=[];let S,x;for(S=0;S1&&(n=e?y.readBits(b):decodeInteger(k,"IAIT",C));const i=s*v+n,F=e?f.symbolIDTable.decode(y):decodeIAID(k,C,c),O=t&&(e?y.readBit():decodeInteger(k,"IARI",C));let T=o[F],M=T[0].length,D=T.length;if(O){const e=decodeInteger(k,"IARDW",C),t=decodeInteger(k,"IARDH",C);M+=e;D+=t;T=decodeRefinement(M,D,g,T,(e>>1)+decodeInteger(k,"IARDX",C),(t>>1)+decodeInteger(k,"IARDY",C),!1,p,m)}const E=i-(1&u?0:D-1),N=r-(2&u?M-1:0);let R,L,$;if(l){for(R=0;R>5&7;const h=[31&o];let u=t+6;if(7===o){c=536870911&(0,n.readUint32)(e,u-1);u+=3;let t=c+7>>3;h[0]=e[u++];for(;--t>0;)h.push(e[u++])}else if(5===o||6===o)throw new Jbig2Error("invalid referred-to flags");a.retainBits=h;let d=4;a.number<=256?d=1:a.number<=65536&&(d=2);const f=[];let p,m;for(p=0;p>>24&255;i[3]=t.height>>16&255;i[4]=t.height>>8&255;i[5]=255&t.height;for(p=u,m=e.length;p>2&3;e.huffmanDWSelector=t>>4&3;e.bitmapSizeSelector=t>>6&1;e.aggregationInstancesSelector=t>>7&1;e.bitmapCodingContextUsed=!!(256&t);e.bitmapCodingContextRetained=!!(512&t);e.template=t>>10&3;e.refinementTemplate=t>>12&1;h+=2;if(!e.huffman){l=0===e.template?4:1;o=[];for(c=0;c>2&3;u.stripSize=1<>4&3;u.transposed=!!(64&d);u.combinationOperator=d>>7&3;u.defaultPixelValue=d>>9&1;u.dsOffset=d<<17>>27;u.refinementTemplate=d>>15&1;if(u.huffman){const e=(0,n.readUint16)(r,h);h+=2;u.huffmanFS=3&e;u.huffmanDS=e>>2&3;u.huffmanDT=e>>4&3;u.huffmanRefinementDW=e>>6&3;u.huffmanRefinementDH=e>>8&3;u.huffmanRefinementDX=e>>10&3;u.huffmanRefinementDY=e>>12&3;u.huffmanRefinementSizeSelector=!!(16384&e)}if(u.refinement&&!u.refinementTemplate){o=[];for(c=0;c<2;c++){o.push({x:(0,n.readInt8)(r,h),y:(0,n.readInt8)(r,h+1)});h+=2}u.refinementAt=o}u.numberOfSymbolInstances=(0,n.readUint32)(r,h);h+=4;s=[u,a.referredTo,r,h,i];break;case 16:const f={},p=r[h++];f.mmr=!!(1&p);f.template=p>>1&3;f.patternWidth=r[h++];f.patternHeight=r[h++];f.maxPatternIndex=(0,n.readUint32)(r,h);h+=4;s=[f,a.number,r,h,i];break;case 22:case 23:const m={};m.info=readRegionSegmentInformation(r,h);h+=g;const b=r[h++];m.mmr=!!(1&b);m.template=b>>1&3;m.enableSkip=!!(8&b);m.combinationOperator=b>>4&7;m.defaultPixelValue=b>>7&1;m.gridWidth=(0,n.readUint32)(r,h);h+=4;m.gridHeight=(0,n.readUint32)(r,h);h+=4;m.gridOffsetX=4294967295&(0,n.readUint32)(r,h);h+=4;m.gridOffsetY=4294967295&(0,n.readUint32)(r,h);h+=4;m.gridVectorX=(0,n.readUint16)(r,h);h+=2;m.gridVectorY=(0,n.readUint16)(r,h);h+=2;s=[m,a.referredTo,r,h,i];break;case 38:case 39:const y={};y.info=readRegionSegmentInformation(r,h);h+=g;const w=r[h++];y.mmr=!!(1&w);y.template=w>>1&3;y.prediction=!!(8&w);if(!y.mmr){l=0===y.template?4:1;o=[];for(c=0;c>2&1;S.combinationOperator=x>>3&3;S.requiresBuffer=!!(32&x);S.combinationOperatorOverride=!!(64&x);s=[S];break;case 49:case 50:case 51:case 62:break;case 53:s=[a.number,r,h,i];break;default:throw new Jbig2Error(`segment type ${a.typeName}(${a.type}) is not implemented`)}const u="on"+a.typeName;u in t&&t[u].apply(t,s)}function processSegments(e,t){for(let a=0,r=e.length;a>3,a=new Uint8ClampedArray(t*e.height);e.defaultPixelValue&&a.fill(255);this.buffer=a}drawBitmap(e,t){const a=this.currentPageInfo,r=e.width,n=e.height,i=a.width+7>>3,s=a.combinationOperatorOverride?e.combinationOperator:a.combinationOperator,o=this.buffer,c=128>>(7&e.x);let l,h,u,d,f=e.y*i+(e.x>>3);switch(s){case 0:for(l=0;l>=1;if(!u){u=128;d++}}f+=i}break;case 2:for(l=0;l>=1;if(!u){u=128;d++}}f+=i}break;default:throw new Jbig2Error(`operator ${s} is not supported`)}}onImmediateGenericRegion(e,t,a,r){const n=e.info,i=new DecodingContext(t,a,r),s=decodeBitmap(e.mmr,n.width,n.height,e.template,e.prediction,null,e.at,i);this.drawBitmap(n,s)}onImmediateLosslessGenericRegion(){this.onImmediateGenericRegion(...arguments)}onSymbolDictionary(e,t,a,r,i,s){let o,c;if(e.huffman){o=function getSymbolDictionaryHuffmanTables(e,t,a){let r,n,i,s,o=0;switch(e.huffmanDHSelector){case 0:case 1:r=getStandardTable(e.huffmanDHSelector+4);break;case 3:r=getCustomHuffmanTable(o,t,a);o++;break;default:throw new Jbig2Error("invalid Huffman DH selector")}switch(e.huffmanDWSelector){case 0:case 1:n=getStandardTable(e.huffmanDWSelector+2);break;case 3:n=getCustomHuffmanTable(o,t,a);o++;break;default:throw new Jbig2Error("invalid Huffman DW selector")}if(e.bitmapSizeSelector){i=getCustomHuffmanTable(o,t,a);o++}else i=getStandardTable(1);s=e.aggregationInstancesSelector?getCustomHuffmanTable(o,t,a):getStandardTable(1);return{tableDeltaHeight:r,tableDeltaWidth:n,tableBitmapSize:i,tableAggregateInstances:s}}(e,a,this.customTables);c=new Reader(r,i,s)}let l=this.symbols;l||(this.symbols=l={});const h=[];for(const e of a){const t=l[e];t&&h.push(...t)}const u=new DecodingContext(r,i,s);l[t]=function decodeSymbolDictionary(e,t,a,r,i,s,o,c,l,h,u,d){if(e&&t)throw new Jbig2Error("symbol refinement with Huffman is not supported");const f=[];let g=0,p=(0,n.log2)(a.length+r);const m=u.decoder,b=u.contextCache;let y,w;if(e){y=getStandardTable(1);w=[];p=Math.max(p,1)}for(;f.length1)y=decodeTextRegion(e,t,r,g,0,n,1,a.concat(f),p,0,0,1,0,s,l,h,u,0,d);else{const e=decodeIAID(b,m,p),t=decodeInteger(b,"IARDX",m),n=decodeInteger(b,"IARDY",m);y=decodeRefinement(r,g,l,e=32){let a,r,s;switch(t){case 32:if(0===e)throw new Jbig2Error("no previous value in symbol ID table");r=n.readBits(2)+3;a=i[e-1].prefixLength;break;case 33:r=n.readBits(3)+3;a=0;break;case 34:r=n.readBits(7)+11;a=0;break;default:throw new Jbig2Error("invalid code length in symbol ID table")}for(s=0;s=0;b--){M=e?decodeMMRBitmap(T,l,h,!0):decodeBitmap(!1,l,h,a,!1,null,F,p);O[b]=M}for(D=0;D=0;y--){N^=O[y][D][E];R|=N<>8;_=d+D*f-E*g>>8;if($>=0&&$+C<=r&&_>=0&&_+k<=i)for(b=0;b=i)){U=m[t];j=L[b];for(y=0;y=0&&e>1&7),l=1+(r>>4&7),h=[];let u,d,f=i;do{u=o.readBits(c);d=o.readBits(l);h.push(new HuffmanLine([f,u,d,0]));f+=1<>t&1;if(t<=0)this.children[a]=new HuffmanTreeNode(e);else{let r=this.children[a];r||(this.children[a]=r=new HuffmanTreeNode(null));r.buildTree(e,t-1)}}decodeNode(e){if(this.isLeaf){if(this.isOOB)return null;const t=e.readBits(this.rangeLength);return this.rangeLow+(this.isLowerRange?-t:t)}const t=this.children[e.readBit()];if(!t)throw new Jbig2Error("invalid Huffman data");return t.decodeNode(e)}}class HuffmanTable{constructor(e,t){t||this.assignPrefixCodes(e);this.rootNode=new HuffmanTreeNode(null);for(let t=0,a=e.length;t0&&this.rootNode.buildTree(a,a.prefixLength-1)}}decode(e){return this.rootNode.decodeNode(e)}assignPrefixCodes(e){const t=e.length;let a=0;for(let r=0;r=this.end)throw new Jbig2Error("end of data while reading bit");this.currentByte=this.data[this.position++];this.shift=7}const e=this.currentByte>>this.shift&1;this.shift--;return e}readBits(e){let t,a=0;for(t=e-1;t>=0;t--)a|=this.readBit()<=this.end?-1:this.data[this.position++]}}function getCustomHuffmanTable(e,t,a){let r=0;for(let n=0,i=t.length;n>a&1;a--}}if(r&&!l){const e=5;for(let t=0;t{Object.defineProperty(t,"__esModule",{value:!0});t.ArithmeticDecoder=void 0;const a=[{qe:22017,nmps:1,nlps:1,switchFlag:1},{qe:13313,nmps:2,nlps:6,switchFlag:0},{qe:6145,nmps:3,nlps:9,switchFlag:0},{qe:2753,nmps:4,nlps:12,switchFlag:0},{qe:1313,nmps:5,nlps:29,switchFlag:0},{qe:545,nmps:38,nlps:33,switchFlag:0},{qe:22017,nmps:7,nlps:6,switchFlag:1},{qe:21505,nmps:8,nlps:14,switchFlag:0},{qe:18433,nmps:9,nlps:14,switchFlag:0},{qe:14337,nmps:10,nlps:14,switchFlag:0},{qe:12289,nmps:11,nlps:17,switchFlag:0},{qe:9217,nmps:12,nlps:18,switchFlag:0},{qe:7169,nmps:13,nlps:20,switchFlag:0},{qe:5633,nmps:29,nlps:21,switchFlag:0},{qe:22017,nmps:15,nlps:14,switchFlag:1},{qe:21505,nmps:16,nlps:14,switchFlag:0},{qe:20737,nmps:17,nlps:15,switchFlag:0},{qe:18433,nmps:18,nlps:16,switchFlag:0},{qe:14337,nmps:19,nlps:17,switchFlag:0},{qe:13313,nmps:20,nlps:18,switchFlag:0},{qe:12289,nmps:21,nlps:19,switchFlag:0},{qe:10241,nmps:22,nlps:19,switchFlag:0},{qe:9217,nmps:23,nlps:20,switchFlag:0},{qe:8705,nmps:24,nlps:21,switchFlag:0},{qe:7169,nmps:25,nlps:22,switchFlag:0},{qe:6145,nmps:26,nlps:23,switchFlag:0},{qe:5633,nmps:27,nlps:24,switchFlag:0},{qe:5121,nmps:28,nlps:25,switchFlag:0},{qe:4609,nmps:29,nlps:26,switchFlag:0},{qe:4353,nmps:30,nlps:27,switchFlag:0},{qe:2753,nmps:31,nlps:28,switchFlag:0},{qe:2497,nmps:32,nlps:29,switchFlag:0},{qe:2209,nmps:33,nlps:30,switchFlag:0},{qe:1313,nmps:34,nlps:31,switchFlag:0},{qe:1089,nmps:35,nlps:32,switchFlag:0},{qe:673,nmps:36,nlps:33,switchFlag:0},{qe:545,nmps:37,nlps:34,switchFlag:0},{qe:321,nmps:38,nlps:35,switchFlag:0},{qe:273,nmps:39,nlps:36,switchFlag:0},{qe:133,nmps:40,nlps:37,switchFlag:0},{qe:73,nmps:41,nlps:38,switchFlag:0},{qe:37,nmps:42,nlps:39,switchFlag:0},{qe:21,nmps:43,nlps:40,switchFlag:0},{qe:9,nmps:44,nlps:41,switchFlag:0},{qe:5,nmps:45,nlps:42,switchFlag:0},{qe:1,nmps:45,nlps:43,switchFlag:0},{qe:22017,nmps:46,nlps:46,switchFlag:0}];t.ArithmeticDecoder=class ArithmeticDecoder{constructor(e,t,a){this.data=e;this.bp=t;this.dataEnd=a;this.chigh=e[t];this.clow=0;this.byteIn();this.chigh=this.chigh<<7&65535|this.clow>>9&127;this.clow=this.clow<<7&65535;this.ct-=7;this.a=32768}byteIn(){const e=this.data;let t=this.bp;if(255===e[t])if(e[t+1]>143){this.clow+=65280;this.ct=8}else{t++;this.clow+=e[t]<<9;this.ct=7;this.bp=t}else{t++;this.clow+=t65535){this.chigh+=this.clow>>16;this.clow&=65535}}readBit(e,t){let r=e[t]>>1,n=1&e[t];const i=a[r],s=i.qe;let o,c=this.a-s;if(this.chigh>15&1;this.clow=this.clow<<1&65535;this.ct--}while(0==(32768&c));this.a=c;e[t]=r<<1|n;return o}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.JpegStream=void 0;var r=a(18),n=a(4),i=a(27),s=a(2);class JpegStream extends r.DecodeStream{constructor(e,t,a){let r;for(;-1!==(r=e.getByte());)if(255===r){e.skip(-1);break}super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=a}get bytes(){return(0,s.shadow)(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e={decodeTransform:void 0,colorTransform:void 0},t=this.dict.getArray("D","Decode");if((this.forceRGBA||this.forceRGB)&&Array.isArray(t)){const a=this.dict.get("BPC","BitsPerComponent")||8,r=t.length,n=new Int32Array(r);let i=!1;const s=(1<{Object.defineProperty(t,"__esModule",{value:!0});t.JpegImage=void 0;var r=a(2),n=a(28),i=a(3);class JpegError extends r.BaseException{constructor(e){super(`JPEG error: ${e}`,"JpegError")}}class DNLMarkerError extends r.BaseException{constructor(e,t){super(e,"DNLMarkerError");this.scanLines=t}}class EOIMarkerError extends r.BaseException{constructor(e){super(e,"EOIMarkerError")}}const s=new Uint8Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),o=4017,c=799,l=3406,h=2276,u=1567,d=3784,f=5793,g=2896;function buildHuffmanTable(e,t){let a,r,n=0,i=16;for(;i>0&&!e[i-1];)i--;const s=[{children:[],index:0}];let o,c=s[0];for(a=0;a0;)c=s.pop();c.index++;s.push(c);for(;s.length<=a;){s.push(o={children:[],index:0});c.children[c.index]=o.children;c=o}n++}if(a+10){b--;return m>>b&1}m=e[t++];if(255===m){const r=e[t++];if(r){if(220===r&&d){t+=2;const r=(0,i.readUint16)(e,t);t+=2;if(r>0&&r!==a.scanLines)throw new DNLMarkerError("Found DNL marker (0xFFDC) while parsing scan data",r)}else if(217===r){if(d){const e=x*(8===a.precision?8:0);if(e>0&&Math.round(a.scanLines/e)>=5)throw new DNLMarkerError("Found EOI marker (0xFFD9) while parsing scan data, possibly caused by incorrect `scanLines` parameter",e)}throw new EOIMarkerError("Found EOI marker (0xFFD9) while parsing scan data")}throw new JpegError(`unexpected marker ${(m<<8|r).toString(16)}`)}}b=7;return m>>>7}function decodeHuffman(e){let t=e;for(;;){t=t[readBit()];switch(typeof t){case"number":return t;case"object":continue}throw new JpegError("invalid huffman sequence")}}function receive(e){let t=0;for(;e>0;){t=t<<1|readBit();e--}return t}function receiveAndExtend(e){if(1===e)return 1===readBit()?1:-1;const t=receive(e);return t>=1<0){y--;return}let a=c;const r=l;for(;a<=r;){const r=decodeHuffman(e.huffmanTableAC),n=15&r,i=r>>4;if(0===n){if(i<15){y=receive(i)+(1<>4;if(0===n)if(o<15){y=receive(o)+(1<>4;if(0===r){if(i<15)break;n+=16;continue}n+=i;const o=s[n];e.blockData[t+o]=receiveAndExtend(r);n++}};let D,E=0;const N=1===C?n[0].blocksPerLine*n[0].blocksPerColumn:f*a.mcusPerColumn;let R,L;for(;E<=N;){const a=o?Math.min(N-E,o):N;if(a>0){for(v=0;v0?"unexpected":"excessive";(0,r.warn)(`decodeScan - ${e} MCU data, current marker is: ${D.invalid}`);t=D.offset}if(!(D.marker>=65488&&D.marker<=65495))break;t+=2}return t-p}function quantizeAndInverse(e,t,a){const r=e.quantizationTable,n=e.blockData;let i,s,p,m,b,y,w,S,x,C,k,v,F,O,T,M,D;if(!r)throw new JpegError("missing required Quantization Table.");for(let e=0;e<64;e+=8){x=n[t+e];C=n[t+e+1];k=n[t+e+2];v=n[t+e+3];F=n[t+e+4];O=n[t+e+5];T=n[t+e+6];M=n[t+e+7];x*=r[e];if(0!=(C|k|v|F|O|T|M)){C*=r[e+1];k*=r[e+2];v*=r[e+3];F*=r[e+4];O*=r[e+5];T*=r[e+6];M*=r[e+7];i=f*x+128>>8;s=f*F+128>>8;p=k;m=T;b=g*(C-M)+128>>8;S=g*(C+M)+128>>8;y=v<<4;w=O<<4;i=i+s+1>>1;s=i-s;D=p*d+m*u+128>>8;p=p*u-m*d+128>>8;m=D;b=b+w+1>>1;w=b-w;S=S+y+1>>1;y=S-y;i=i+m+1>>1;m=i-m;s=s+p+1>>1;p=s-p;D=b*h+S*l+2048>>12;b=b*l-S*h+2048>>12;S=D;D=y*c+w*o+2048>>12;y=y*o-w*c+2048>>12;w=D;a[e]=i+S;a[e+7]=i-S;a[e+1]=s+w;a[e+6]=s-w;a[e+2]=p+y;a[e+5]=p-y;a[e+3]=m+b;a[e+4]=m-b}else{D=f*x+512>>10;a[e]=D;a[e+1]=D;a[e+2]=D;a[e+3]=D;a[e+4]=D;a[e+5]=D;a[e+6]=D;a[e+7]=D}}for(let e=0;e<8;++e){x=a[e];C=a[e+8];k=a[e+16];v=a[e+24];F=a[e+32];O=a[e+40];T=a[e+48];M=a[e+56];if(0!=(C|k|v|F|O|T|M)){i=f*x+2048>>12;s=f*F+2048>>12;p=k;m=T;b=g*(C-M)+2048>>12;S=g*(C+M)+2048>>12;y=v;w=O;i=4112+(i+s+1>>1);s=i-s;D=p*d+m*u+2048>>12;p=p*u-m*d+2048>>12;m=D;b=b+w+1>>1;w=b-w;S=S+y+1>>1;y=S-y;i=i+m+1>>1;m=i-m;s=s+p+1>>1;p=s-p;D=b*h+S*l+2048>>12;b=b*l-S*h+2048>>12;S=D;D=y*c+w*o+2048>>12;y=y*o-w*c+2048>>12;w=D;x=i+S;M=i-S;C=s+w;T=s-w;k=p+y;O=p-y;v=m+b;F=m-b;x<16?x=0:x>=4080?x=255:x>>=4;C<16?C=0:C>=4080?C=255:C>>=4;k<16?k=0:k>=4080?k=255:k>>=4;v<16?v=0:v>=4080?v=255:v>>=4;F<16?F=0:F>=4080?F=255:F>>=4;O<16?O=0:O>=4080?O=255:O>>=4;T<16?T=0:T>=4080?T=255:T>>=4;M<16?M=0:M>=4080?M=255:M>>=4;n[t+e]=x;n[t+e+8]=C;n[t+e+16]=k;n[t+e+24]=v;n[t+e+32]=F;n[t+e+40]=O;n[t+e+48]=T;n[t+e+56]=M}else{D=f*x+8192>>14;D=D<-2040?0:D>=2024?255:D+2056>>4;n[t+e]=D;n[t+e+8]=D;n[t+e+16]=D;n[t+e+24]=D;n[t+e+32]=D;n[t+e+40]=D;n[t+e+48]=D;n[t+e+56]=D}}}function buildComponentData(e,t){const a=t.blocksPerLine,r=t.blocksPerColumn,n=new Int16Array(64);for(let e=0;e=r)return null;const s=(0,i.readUint16)(e,t);if(s>=65472&&s<=65534)return{invalid:null,marker:s,offset:t};let o=(0,i.readUint16)(e,n);for(;!(o>=65472&&o<=65534);){if(++n>=r)return null;o=(0,i.readUint16)(e,n)}return{invalid:s.toString(16),marker:o,offset:n}}t.JpegImage=class JpegImage{constructor({decodeTransform:e=null,colorTransform:t=-1}={}){this._decodeTransform=e;this._colorTransform=t}parse(e,{dnlScanLines:t=null}={}){function readDataBlock(){const t=(0,i.readUint16)(e,o);o+=2;let a=o+t-2;const n=findNextFileMarker(e,a,o);if(n?.invalid){(0,r.warn)("readDataBlock - incorrect length, current marker is: "+n.invalid);a=n.offset}const s=e.subarray(o,a);o+=s.length;return s}function prepareComponents(e){const t=Math.ceil(e.samplesPerLine/8/e.maxH),a=Math.ceil(e.scanLines/8/e.maxV);for(const r of e.components){const n=Math.ceil(Math.ceil(e.samplesPerLine/8)*r.h/e.maxH),i=Math.ceil(Math.ceil(e.scanLines/8)*r.v/e.maxV),s=t*r.h,o=64*(a*r.v)*(s+1);r.blockData=new Int16Array(o);r.blocksPerLine=n;r.blocksPerColumn=i}e.mcusPerLine=t;e.mcusPerColumn=a}let a,n,o=0,c=null,l=null,h=0;const u=[],d=[],f=[];let g=(0,i.readUint16)(e,o);o+=2;if(65496!==g)throw new JpegError("SOI not found");g=(0,i.readUint16)(e,o);o+=2;e:for(;65497!==g;){let p,m,b;switch(g){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:const y=readDataBlock();65504===g&&74===y[0]&&70===y[1]&&73===y[2]&&70===y[3]&&0===y[4]&&(c={version:{major:y[5],minor:y[6]},densityUnits:y[7],xDensity:y[8]<<8|y[9],yDensity:y[10]<<8|y[11],thumbWidth:y[12],thumbHeight:y[13],thumbData:y.subarray(14,14+3*y[12]*y[13])});65518===g&&65===y[0]&&100===y[1]&&111===y[2]&&98===y[3]&&101===y[4]&&(l={version:y[5]<<8|y[6],flags0:y[7]<<8|y[8],flags1:y[9]<<8|y[10],transformCode:y[11]});break;case 65499:const w=(0,i.readUint16)(e,o);o+=2;const S=w+o-2;let x;for(;o>4==0)for(m=0;m<64;m++){x=s[m];a[x]=e[o++]}else{if(t>>4!=1)throw new JpegError("DQT - invalid table spec");for(m=0;m<64;m++){x=s[m];a[x]=(0,i.readUint16)(e,o);o+=2}}u[15&t]=a}break;case 65472:case 65473:case 65474:if(a)throw new JpegError("Only single frame JPEGs supported");o+=2;a={};a.extended=65473===g;a.progressive=65474===g;a.precision=e[o++];const C=(0,i.readUint16)(e,o);o+=2;a.scanLines=t||C;a.samplesPerLine=(0,i.readUint16)(e,o);o+=2;a.components=[];a.componentIds={};const k=e[o++];let v=0,F=0;for(p=0;p>4,n=15&e[o+1];v>4==0?f:d)[15&t]=buildHuffmanTable(a,n)}break;case 65501:o+=2;n=(0,i.readUint16)(e,o);o+=2;break;case 65498:const T=1==++h&&!t;o+=2;const M=e[o++],D=[];for(p=0;p>4];n.huffmanTableAC=d[15&i];D.push(n)}const E=e[o++],N=e[o++],R=e[o++];try{const t=decodeScan(e,o,a,D,n,E,N,R>>4,15&R,T);o+=t}catch(t){if(t instanceof DNLMarkerError){(0,r.warn)(`${t.message} -- attempting to re-parse the JPEG image.`);return this.parse(e,{dnlScanLines:t.scanLines})}if(t instanceof EOIMarkerError){(0,r.warn)(`${t.message} -- ignoring the rest of the image data.`);break e}throw t}break;case 65500:o+=4;break;case 65535:255!==e[o]&&o--;break;default:const L=findNextFileMarker(e,o-2,o-3);if(L?.invalid){(0,r.warn)("JpegImage.parse - unexpected data, current marker is: "+L.invalid);o=L.offset;break}if(!L||o>=e.length-1){(0,r.warn)("JpegImage.parse - reached the end of the image data without finding an EOI marker (0xFFD9).");break e}throw new JpegError("JpegImage.parse - unknown marker: "+g.toString(16))}g=(0,i.readUint16)(e,o);o+=2}this.width=a.samplesPerLine;this.height=a.scanLines;this.jfif=c;this.adobe=l;this.components=[];for(const e of a.components){const t=u[e.quantizationId];t&&(e.quantizationTable=t);this.components.push({index:e.index,output:buildComponentData(0,e),scaleX:e.h/a.maxH,scaleY:e.v/a.maxV,blocksPerLine:e.blocksPerLine,blocksPerColumn:e.blocksPerColumn})}this.numComponents=this.components.length}_getLinearizedBlockData(e,t,a=!1){const r=this.width/e,n=this.height/t;let i,s,o,c,l,h,u,d,f,g,p,m=0;const b=this.components.length,y=e*t*b,w=new Uint8ClampedArray(y),S=new Uint32Array(e),x=4294967288;let C;for(u=0;u>8)+k[f+1];return w}get _isColorConversionNeeded(){return this.adobe?!!this.adobe.transformCode:3===this.numComponents?0!==this._colorTransform&&(82!==this.components[0].index||71!==this.components[1].index||66!==this.components[2].index):1===this._colorTransform}_convertYccToRgb(e){let t,a,r;for(let n=0,i=e.length;n4)throw new JpegError("Unsupported color mode");const s=this._getLinearizedBlockData(e,t,i);if(1===this.numComponents&&(a||r)){const e=s.length*(a?4:3),t=new Uint8ClampedArray(e);let r=0;if(a)(0,n.grayToRGBA)(s,new Uint32Array(t.buffer));else for(const e of s){t[r++]=e;t[r++]=e;t[r++]=e}return t}if(3===this.numComponents&&this._isColorConversionNeeded){if(a){const e=new Uint8ClampedArray(s.length/3*4);return this._convertYccToRgba(s,e)}return this._convertYccToRgb(s)}if(4===this.numComponents){if(this._isColorConversionNeeded)return a?this._convertYcckToRgba(s):r?this._convertYcckToRgb(s):this._convertYcckToCmyk(s);if(a)return this._convertCmykToRgba(s);if(r)return this._convertCmykToRgb(s)}return s}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.convertBlackAndWhiteToRGBA=convertBlackAndWhiteToRGBA;t.convertToRGBA=function convertToRGBA(e){switch(e.kind){case r.ImageKind.GRAYSCALE_1BPP:return convertBlackAndWhiteToRGBA(e);case r.ImageKind.RGB_24BPP:return function convertRGBToRGBA({src:e,srcPos:t=0,dest:a,destPos:n=0,width:i,height:s}){let o=0;const c=e.length>>2,l=new Uint32Array(e.buffer,t,c);if(r.FeatureTest.isLittleEndian){for(;o>>24|t<<8|4278190080;a[n+2]=t>>>16|r<<16|4278190080;a[n+3]=r>>>8|4278190080}for(let t=4*o,r=e.length;t>>8|255;a[n+2]=t<<16|r>>>16|255;a[n+3]=r<<8|255}for(let t=4*o,r=e.length;t>3,d=7&n,f=e.length;a=new Uint32Array(a.buffer);let g=0;for(let r=0;r{Object.defineProperty(t,"__esModule",{value:!0});t.JpxStream=void 0;var r=a(18),n=a(30),i=a(2);class JpxStream extends r.DecodeStream{constructor(e,t,a){super(t);this.stream=e;this.dict=e.dict;this.maybeLength=t;this.params=a}get bytes(){return(0,i.shadow)(this,"bytes",this.stream.getBytes(this.maybeLength))}ensureBuffer(e){}readBlock(){if(this.eof)return;const e=new n.JpxImage;e.parse(this.bytes);const t=e.width,a=e.height,r=e.componentsCount,i=e.tiles.length;if(1===i)this.buffer=e.tiles[0].items;else{const n=new Uint8ClampedArray(t*a*r);for(let a=0;a{Object.defineProperty(t,"__esModule",{value:!0});t.JpxImage=void 0;var r=a(2),n=a(3),i=a(25);class JpxError extends r.BaseException{constructor(e){super(`JPX error: ${e}`,"JpxError")}}const s={LL:0,LH:1,HL:1,HH:2};t.JpxImage=class JpxImage{constructor(){this.failOnCorruptedImage=!1}parse(e){if(65359===(0,n.readUint16)(e,0)){this.parseCodestream(e,0,e.length);return}const t=e.length;let a=0;for(;a>24&255,o>>16&255,o>>8&255,255&o);(0,r.warn)(`Unsupported header type ${o} (${i}).`)}l&&(a+=c)}}parseImageProperties(e){let t=e.getByte();for(;t>=0;){const a=t;t=e.getByte();if(65361===(a<<8|t)){e.skip(4);const t=e.getInt32()>>>0,a=e.getInt32()>>>0,r=e.getInt32()>>>0,n=e.getInt32()>>>0;e.skip(16);const i=e.getUint16();this.width=t-r;this.height=a-n;this.componentsCount=i;this.bitsPerComponent=8;return}}throw new JpxError("No size marker found in JPX stream")}parseCodestream(e,t,a){const i={};let s=!1;try{let o=t;for(;o+1>5;l=[];for(;a>3;t.mu=0}else{t.epsilon=e[a]>>3;t.mu=(7&e[a])<<8|e[a+1];a+=2}l.push(t)}b.SPqcds=l;if(i.mainHeader)i.QCD=b;else{i.currentTile.QCD=b;i.currentTile.QCC=[]}break;case 65373:f=(0,n.readUint16)(e,o);const y={};a=o+2;let w;if(i.SIZ.Csiz<257)w=e[a++];else{w=(0,n.readUint16)(e,a);a+=2}c=e[a++];switch(31&c){case 0:h=8;u=!0;break;case 1:h=16;u=!1;break;case 2:h=16;u=!0;break;default:throw new Error("Invalid SQcd value "+c)}y.noQuantization=8===h;y.scalarExpounded=u;y.guardBits=c>>5;l=[];for(;a>3;t.mu=0}else{t.epsilon=e[a]>>3;t.mu=(7&e[a])<<8|e[a+1];a+=2}l.push(t)}y.SPqcds=l;i.mainHeader?i.QCC[w]=y:i.currentTile.QCC[w]=y;break;case 65362:f=(0,n.readUint16)(e,o);const S={};a=o+2;const x=e[a++];S.entropyCoderWithCustomPrecincts=!!(1&x);S.sopMarkerUsed=!!(2&x);S.ephMarkerUsed=!!(4&x);S.progressionOrder=e[a++];S.layersCount=(0,n.readUint16)(e,a);a+=2;S.multipleComponentTransform=e[a++];S.decompositionLevelsCount=e[a++];S.xcb=2+(15&e[a++]);S.ycb=2+(15&e[a++]);const C=e[a++];S.selectiveArithmeticCodingBypass=!!(1&C);S.resetContextProbabilities=!!(2&C);S.terminationOnEachCodingPass=!!(4&C);S.verticallyStripe=!!(8&C);S.predictableTermination=!!(16&C);S.segmentationSymbolUsed=!!(32&C);S.reversibleTransformation=e[a++];if(S.entropyCoderWithCustomPrecincts){const t=[];for(;a>4})}S.precinctsSizes=t}const k=[];S.selectiveArithmeticCodingBypass&&k.push("selectiveArithmeticCodingBypass");S.terminationOnEachCodingPass&&k.push("terminationOnEachCodingPass");S.verticallyStripe&&k.push("verticallyStripe");S.predictableTermination&&k.push("predictableTermination");if(k.length>0){s=!0;(0,r.warn)(`JPX: Unsupported COD options (${k.join(", ")}).`)}if(i.mainHeader)i.COD=S;else{i.currentTile.COD=S;i.currentTile.COC=[]}break;case 65424:f=(0,n.readUint16)(e,o);d={};d.index=(0,n.readUint16)(e,o+2);d.length=(0,n.readUint32)(e,o+4);d.dataEnd=d.length+o-2;d.partIndex=e[o+8];d.partsCount=e[o+9];i.mainHeader=!1;if(0===d.partIndex){d.COD=i.COD;d.COC=i.COC.slice(0);d.QCD=i.QCD;d.QCC=i.QCC.slice(0)}i.currentTile=d;break;case 65427:d=i.currentTile;if(0===d.partIndex){initializeTile(i,d.index);buildPackets(i)}f=d.dataEnd-o;parseTilePackets(i,e,o,f);break;case 65363:(0,r.warn)("JPX: Codestream code 0xFF53 (COC) is not implemented.");case 65365:case 65367:case 65368:case 65380:f=(0,n.readUint16)(e,o);break;default:throw new Error("Unknown codestream code: "+t.toString(16))}o+=f}}catch(e){if(s||this.failOnCorruptedImage)throw new JpxError(e.message);(0,r.warn)(`JPX: Trying to recover from: "${e.message}".`)}this.tiles=function transformComponents(e){const t=e.SIZ,a=e.components,r=t.Csiz,n=[];for(let t=0,i=e.tiles.length;t>2);c[b++]=e+m>>h;c[b++]=e>>h;c[b++]=e+p>>h}else for(d=0;d>h;c[b++]=g-.34413*p-.71414*m>>h;c[b++]=g+1.772*p>>h}if(e)for(d=0,b=3;d>h}else for(let e=0;e>h;b+=r}}n.push(l)}return n}(i);this.width=i.SIZ.Xsiz-i.SIZ.XOsiz;this.height=i.SIZ.Ysiz-i.SIZ.YOsiz;this.componentsCount=i.SIZ.Csiz}};function calculateComponentDimensions(e,t){e.x0=Math.ceil(t.XOsiz/e.XRsiz);e.x1=Math.ceil(t.Xsiz/e.XRsiz);e.y0=Math.ceil(t.YOsiz/e.YRsiz);e.y1=Math.ceil(t.Ysiz/e.YRsiz);e.width=e.x1-e.x0;e.height=e.y1-e.y0}function calculateTileGrids(e,t){const a=e.SIZ,r=[];let n;const i=Math.ceil((a.Xsiz-a.XTOsiz)/a.XTsiz),s=Math.ceil((a.Ysiz-a.YTOsiz)/a.YTsiz);for(let e=0;e0?Math.min(r.xcb,n.PPx-1):Math.min(r.xcb,n.PPx);n.ycb_=a>0?Math.min(r.ycb,n.PPy-1):Math.min(r.ycb,n.PPy);return n}function buildPrecincts(e,t,a){const r=1<t.trx0?Math.ceil(t.trx1/r)-Math.floor(t.trx0/r):0,l=t.try1>t.try0?Math.ceil(t.try1/n)-Math.floor(t.try0/n):0,h=c*l;t.precinctParameters={precinctWidth:r,precinctHeight:n,numprecinctswide:c,numprecinctshigh:l,numprecincts:h,precinctWidthInSubband:s,precinctHeightInSubband:o}}function buildCodeblocks(e,t,a){const r=a.xcb_,n=a.ycb_,i=1<>r,c=t.tby0>>n,l=t.tbx1+i-1>>r,h=t.tby1+s-1>>n,u=t.resolution.precinctParameters,d=[],f=[];let g,p,m,b;for(p=c;pe.cbxMax&&(e.cbxMax=g);pe.cbyMax&&(e.cbyMax=p)}else f[b]=e={cbxMin:g,cbyMin:p,cbxMax:g,cbyMax:p};m.precinct=e}t.codeblockParameters={codeblockWidth:r,codeblockHeight:n,numcodeblockwide:l-o+1,numcodeblockhigh:h-c+1};t.codeblocks=d;t.precincts=f}function createPacket(e,t,a){const r=[],n=e.subbands;for(let e=0,a=n.length;ee.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[c],a=t.precinctParameters.numprecincts;for(;he.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[o],a=t.precinctParameters.numprecincts;for(;he.codingStyleParameters.decompositionLevelsCount)continue;const t=e.resolutions[o],a=t.precinctParameters.numprecincts;if(!(l>=a)){for(;s=0;--e){const a=t.resolutions[e],r=g*a.precinctParameters.precinctWidth,n=g*a.precinctParameters.precinctHeight;h=Math.min(h,r);u=Math.min(u,n);d=Math.max(d,a.precinctParameters.numprecinctswide);f=Math.max(f,a.precinctParameters.numprecinctshigh);l[e]={width:r,height:n};g<<=1}a=Math.min(a,h);r=Math.min(r,u);n=Math.max(n,d);i=Math.max(i,f);s[o]={resolutions:l,minWidth:h,minHeight:u,maxNumWide:d,maxNumHigh:f}}return{components:s,minWidth:a,minHeight:r,maxNumWide:n,maxNumHigh:i}}function buildPackets(e){const t=e.SIZ,a=e.currentTile.index,r=e.tiles[a],n=t.Csiz;for(let e=0;e>>o&(1<0;){const e=i.shift();o=e.codeblock;void 0===o.data&&(o.data=[]);o.data.push({data:t,start:a+s,end:a+s+e.dataLength,codingpasses:e.codingpasses});s+=e.dataLength}}return s}function copyCoefficients(e,t,a,r,n,s,o,c,l){const h=r.tbx0,u=r.tby0,d=r.tbx1-r.tbx0,f=r.codeblocks,g="H"===r.type.charAt(0)?1:0,p="H"===r.type.charAt(1)?t:0;for(let a=0,m=f.length;a=s?j:j*(1<0?1-e:0)}const p=t.subbands[r],m=s[p.type];copyCoefficients(i,a,0,p,g?1:2**(f+m-o)*(1+n/2048),h+o-1,g,u,d)}m.push({width:a,height:n,items:i})}const y=p.calculate(m,r.tcx0,r.tcy0);return{left:r.tcx0,top:r.tcy0,width:y.width,height:y.height,items:y.items}}function initializeTile(e,t){const a=e.SIZ.Csiz,r=e.tiles[t];for(let t=0;t>=1;t>>=1;r++}r--;a=this.levels[r];a.items[a.index]=n;this.currentLevel=r;delete this.value}incrementValue(){const e=this.levels[this.currentLevel];e.items[e.index]++}nextLevel(){let e=this.currentLevel,t=this.levels[e];const a=t.items[t.index];e--;if(e<0){this.value=a;return!1}this.currentLevel=e;t=this.levels[e];t.items[t.index]=a;return!0}}class InclusionTree{constructor(e,t,a){const r=(0,n.log2)(Math.max(e,t))+1;this.levels=[];for(let n=0;na){this.currentLevel=r;this.propagateValues();return!1}e>>=1;t>>=1;r++}this.currentLevel=r-1;return!0}incrementValue(e){const t=this.levels[this.currentLevel];t.items[t.index]=e+1;this.propagateValues()}propagateValues(){let e=this.currentLevel,t=this.levels[e];const a=t.items[t.index];for(;--e>=0;){t=this.levels[e];t.items[t.index]=a}}nextLevel(){let e=this.currentLevel,t=this.levels[e];const a=t.items[t.index];t.items[t.index]=255;e--;if(e<0)return!1;this.currentLevel=e;t=this.levels[e];t.items[t.index]=a;return!0}}class BitModel{static UNIFORM_CONTEXT=17;static RUNLENGTH_CONTEXT=18;static LLAndLHContextsLabel=new Uint8Array([0,5,8,0,3,7,8,0,4,7,8,0,0,0,0,0,1,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8,0,0,0,0,0,2,6,8,0,3,7,8,0,4,7,8]);static HLContextLabel=new Uint8Array([0,3,4,0,5,7,7,0,8,8,8,0,0,0,0,0,1,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8,0,0,0,0,0,2,3,4,0,6,7,7,0,8,8,8]);static HHContextLabel=new Uint8Array([0,1,2,0,1,2,2,0,2,2,2,0,0,0,0,0,3,4,5,0,4,5,5,0,5,5,5,0,0,0,0,0,6,7,7,0,7,7,7,0,7,7,7,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8,0,0,0,0,0,8,8,8,0,8,8,8,0,8,8,8]);constructor(e,t,a,r,n){this.width=e;this.height=t;let i;i="HH"===a?BitModel.HHContextLabel:"HL"===a?BitModel.HLContextLabel:BitModel.LLAndLHContextsLabel;this.contextLabelTable=i;const s=e*t;this.neighborsSignificance=new Uint8Array(s);this.coefficentsSign=new Uint8Array(s);let o;o=n>14?new Uint32Array(s):n>6?new Uint16Array(s):new Uint8Array(s);this.coefficentsMagnitude=o;this.processingFlags=new Uint8Array(s);const c=new Uint8Array(s);if(0!==r)for(let e=0;e0,o=t+10){c=a-n;s&&(r[c-1]+=16);o&&(r[c+1]+=16);r[c]+=4}if(e+1=a)break;s[d]&=-2;if(r[d]||!i[d])continue;const g=c[i[d]];if(e.readBit(o,g)){const e=this.decodeSignBit(t,u,d);n[d]=e;r[d]=1;this.setNeighborsSignificance(t,u,d);s[d]|=2}l[d]++;s[d]|=1}}}decodeSignBit(e,t,a){const r=this.width,n=this.height,i=this.coefficentsMagnitude,s=this.coefficentsSign;let o,c,l,h,u,d;h=t>0&&0!==i[a-1];if(t+10&&0!==i[a-r];if(e+1=0){u=9+o;d=this.decoder.readBit(this.contexts,u)}else{u=9-o;d=1^this.decoder.readBit(this.contexts,u)}return d}runMagnitudeRefinementPass(){const e=this.decoder,t=this.width,a=this.height,r=this.coefficentsMagnitude,n=this.neighborsSignificance,i=this.contexts,s=this.bitsDecoded,o=this.processingFlags,c=t*a,l=4*t;for(let a,h=0;h>1;let n,i,s,o;const c=-1.586134342059924,l=-.052980118572961,h=.882911075530934,u=.443506852043971,d=1.230174104914001;n=(t|=0)-3;for(i=r+4;i--;n+=2)e[n]*=.8128930661159609;n=t-2;s=u*e[n-1];for(i=r+3;i--;n+=2){o=u*e[n+1];e[n]=d*e[n]-s-o;if(!i--)break;n+=2;s=u*e[n+1];e[n]=d*e[n]-s-o}n=t-1;s=h*e[n-1];for(i=r+2;i--;n+=2){o=h*e[n+1];e[n]-=s+o;if(!i--)break;n+=2;s=h*e[n+1];e[n]-=s+o}n=t;s=l*e[n-1];for(i=r+1;i--;n+=2){o=l*e[n+1];e[n]-=s+o;if(!i--)break;n+=2;s=l*e[n+1];e[n]-=s+o}if(0!==r){n=t+1;s=c*e[n-1];for(i=r;i--;n+=2){o=c*e[n+1];e[n]-=s+o;if(!i--)break;n+=2;s=c*e[n+1];e[n]-=s+o}}}}class ReversibleTransform extends Transform{filter(e,t,a){const r=a>>1;let n,i;for(n=t|=0,i=r+1;i--;n+=2)e[n]-=e[n-1]+e[n+1]+2>>2;for(n=t+1,i=r;i--;n+=2)e[n]+=e[n-1]+e[n+1]>>1}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.LZWStream=void 0;var r=a(18);class LZWStream extends r.DecodeStream{constructor(e,t,a){super(t);this.str=e;this.dict=e.dict;this.cachedData=0;this.bitsCached=0;const r=4096,n={earlyChange:a,codeLength:9,nextCode:258,dictionaryValues:new Uint8Array(r),dictionaryLengths:new Uint16Array(r),dictionaryPrevCodes:new Uint16Array(r),currentSequence:new Uint8Array(r),currentSequenceLength:0};for(let e=0;e<256;++e){n.dictionaryValues[e]=e;n.dictionaryLengths[e]=1}this.lzwState=n}readBits(e){let t=this.bitsCached,a=this.cachedData;for(;t>>t&(1<0;if(e<256){d[0]=e;f=1}else{if(!(e>=258)){if(256===e){h=9;s=258;f=0;continue}this.eof=!0;delete this.lzwState;break}if(e=0;t--){d[t]=o[a];a=l[a]}}else d[f++]=d[0]}if(n){l[s]=u;c[s]=c[u]+1;o[s]=d[0];s++;h=s+i&s+i-1?h:0|Math.min(Math.log(s+i)/.6931471805599453+1,12)}u=e;g+=f;if(r{Object.defineProperty(t,"__esModule",{value:!0});t.PredictorStream=void 0;var r=a(18),n=a(4),i=a(2);class PredictorStream extends r.DecodeStream{constructor(e,t,a){super(t);if(!(a instanceof n.Dict))return e;const r=this.predictor=a.get("Predictor")||1;if(r<=1)return e;if(2!==r&&(r<10||r>15))throw new i.FormatError(`Unsupported predictor: ${r}`);this.readBlock=2===r?this.readBlockTiff:this.readBlockPng;this.str=e;this.dict=e.dict;const s=this.colors=a.get("Colors")||1,o=this.bits=a.get("BPC","BitsPerComponent")||8,c=this.columns=a.get("Columns")||1;this.pixBytes=s*o+7>>3;this.rowBytes=c*s*o+7>>3;return this}readBlockTiff(){const e=this.rowBytes,t=this.bufferLength,a=this.ensureBuffer(t+e),r=this.bits,n=this.colors,i=this.str.getBytes(e);this.eof=!i.length;if(this.eof)return;let s,o=0,c=0,l=0,h=0,u=t;if(1===r&&1===n)for(s=0;s>1;e^=e>>2;e^=e>>4;o=(1&e)<<7;a[u++]=e}else if(8===r){for(s=0;s>8&255;a[u++]=255&e}}else{const e=new Uint8Array(n+1),u=(1<>l-r)&u;l-=r;c=c<=8){a[f++]=c>>h-8&255;h-=8}}h>0&&(a[f++]=(c<<8-h)+(o&(1<<8-h)-1))}this.bufferLength+=e}readBlockPng(){const e=this.rowBytes,t=this.pixBytes,a=this.str.getByte(),r=this.str.getBytes(e);this.eof=!r.length;if(this.eof)return;const n=this.bufferLength,s=this.ensureBuffer(n+e);let o=s.subarray(n-e,n);0===o.length&&(o=new Uint8Array(e));let c,l,h,u=n;switch(a){case 0:for(c=0;c>1)+r[c];for(;c>1)+r[c]&255;u++}break;case 4:for(c=0;c{Object.defineProperty(t,"__esModule",{value:!0});t.RunLengthStream=void 0;var r=a(18);class RunLengthStream extends r.DecodeStream{constructor(e,t){super(t);this.str=e;this.dict=e.dict}readBlock(){const e=this.str.getBytes(2);if(!e||e.length<2||128===e[0]){this.eof=!0;return}let t,a=this.bufferLength,r=e[0];if(r<128){t=this.ensureBuffer(a+r+1);t[a++]=e[1];if(r>0){const e=this.str.getBytes(r);t.set(e,a);a+=r}}else{r=257-r;const n=e[1];t=this.ensureBuffer(a+r+1);for(let e=0;e{Object.defineProperty(t,"__esModule",{value:!0});t.Font=t.ErrorFont=void 0;var r=a(2),n=a(35),i=a(38),s=a(40),o=a(39),c=a(37),l=a(41),h=a(42),u=a(43),d=a(44),f=a(45),g=a(46),p=a(14),m=a(47),b=a(3),y=a(8),w=a(48);const S=[[57344,63743],[1048576,1114109]],x=1e3,C=["ascent","bbox","black","bold","charProcOperatorList","composite","cssFontInfo","data","defaultVMetrics","defaultWidth","descent","fallbackName","fontMatrix","isInvalidPDFjsFont","isType3Font","italic","loadedName","mimetype","missingFile","name","remeasure","subtype","systemFontInfo","type","vertical"],k=["cMap","defaultEncoding","differences","isMonospace","isSerifFont","isSymbolicFont","seacMap","toFontChar","toUnicode","vmetrics","widths"];function adjustWidths(e){if(!e.fontMatrix)return;if(e.fontMatrix[0]===r.FONT_IDENTITY_MATRIX[0])return;const t=.001/e.fontMatrix[0],a=e.widths;for(const e in a)a[e]*=t;e.defaultWidth*=t}function amendFallbackToUnicode(e){if(!e.fallbackToUnicode)return;if(e.toUnicode instanceof h.IdentityToUnicodeMap)return;const t=[];for(const a in e.fallbackToUnicode)e.toUnicode.has(a)||(t[a]=e.fallbackToUnicode[a]);t.length>0&&e.toUnicode.amend(t)}class Glyph{constructor(e,t,a,r,n,i,s,o,c){this.originalCharCode=e;this.fontChar=t;this.unicode=a;this.accent=r;this.width=n;this.vmetric=i;this.operatorListId=s;this.isSpace=o;this.isInFont=c}get category(){return(0,r.shadow)(this,"category",(0,s.getCharUnicodeCategory)(this.unicode),!0)}}function int16(e,t){return(e<<8)+t}function writeSignedInt16(e,t,a){e[t+1]=a;e[t]=a>>>8}function signedInt16(e,t){const a=(e<<8)+t;return 32768&a?a-65536:a}function string16(e){return String.fromCharCode(e>>8&255,255&e)}function safeString16(e){e>32767?e=32767:e<-32768&&(e=-32768);return String.fromCharCode(e>>8&255,255&e)}function isTrueTypeCollectionFile(e){const t=e.peekBytes(4);return"ttcf"===(0,r.bytesToString)(t)}function getFontFileType(e,{type:t,subtype:a,composite:n}){let i,s;if(function isTrueTypeFile(e){const t=e.peekBytes(4);return 65536===(0,b.readUint32)(t,0)||"true"===(0,r.bytesToString)(t)}(e)||isTrueTypeCollectionFile(e))i=n?"CIDFontType2":"TrueType";else if(function isOpenTypeFile(e){const t=e.peekBytes(4);return"OTTO"===(0,r.bytesToString)(t)}(e))i=n?"CIDFontType2":"OpenType";else if(function isType1File(e){const t=e.peekBytes(2);return 37===t[0]&&33===t[1]||128===t[0]&&1===t[1]}(e))i=n?"CIDFontType0":"MMType1"===t?"MMType1":"Type1";else if(function isCFFFile(e){const t=e.peekBytes(4);return t[0]>=1&&t[3]>=1&&t[3]<=4}(e))if(n){i="CIDFontType0";s="CIDFontType0C"}else{i="MMType1"===t?"MMType1":"Type1";s="Type1C"}else{(0,r.warn)("getFontFileType: Unable to detect correct font file Type/Subtype.");i=t;s=a}return[i,s]}function applyStandardFontGlyphMap(e,t){for(const a in t)e[+a]=t[a]}function buildToFontChar(e,t,a){const r=[];let n;for(let a=0,i=e.length;au){l++;if(l>=S.length){(0,r.warn)("Ran out of space in font private use area.");break}h=S[l][0];u=S[l][1]}const p=h++;0===g&&(g=a);let m=n.get(f);"string"==typeof m&&(m=m.codePointAt(0));if(m&&!(d=m,S[0][0]<=d&&d<=S[0][1]||S[1][0]<=d&&d<=S[1][1])&&!c.has(g)){s.set(m,g);c.add(g)}i[p]=g;o[f]=p}var d;return{toFontChar:o,charCodeToGlyphId:i,toUnicodeExtraMap:s,nextAvailableFontCharCode:h}}function createCmapTable(e,t,a){const n=function getRanges(e,t,a){const r=[];for(const t in e)e[t]>=a||r.push({fontCharCode:0|t,glyphId:e[t]});if(t)for(const[e,n]of t)n>=a||r.push({fontCharCode:e,glyphId:n});0===r.length&&r.push({fontCharCode:0,glyphId:0});r.sort((function fontGetRangesSort(e,t){return e.fontCharCode-t.fontCharCode}));const n=[],i=r.length;for(let e=0;e65535?2:1;let s,o,c,l,h="\0\0"+string16(i)+"\0\0"+(0,r.string32)(4+8*i);for(s=n.length-1;s>=0&&!(n[s][0]<=65535);--s);const u=s+1;n[s][0]<65535&&65535===n[s][1]&&(n[s][1]=65534);const d=n[s][1]<65535?1:0,f=u+d,g=m.OpenTypeFileBuilder.getSearchParams(f,2);let p,b,y,w,S="",x="",C="",k="",v="",F=0;for(s=0,o=u;s0){x+="ÿÿ";S+="ÿÿ";C+="\0";k+="\0\0"}const O="\0\0"+string16(2*f)+string16(g.range)+string16(g.entry)+string16(g.rangeShift)+x+"\0\0"+S+C+k+v;let T="",M="";if(i>1){h+="\0\0\n"+(0,r.string32)(4+8*i+4+O.length);T="";for(s=0,o=n.length;se||!l)&&(l=e);h 123 are reserved for internal usage");c|=1<65535&&(h=65535)}else{l=0;h=255}const d=e.bbox||[0,0,0,0],f=a.unitsPerEm||1/(e.fontMatrix||r.FONT_IDENTITY_MATRIX)[0],g=e.ascentScaled?1:f/x,p=a.ascent||Math.round(g*(e.ascent||d[3]));let m=a.descent||Math.round(g*(e.descent||d[1]));m>0&&e.descent>0&&d[1]<0&&(m=-m);const b=a.yMax||p,y=-a.yMin||-m;return"\0$ô\0\0\0Š»\0\0\0ŒŠ»\0\0ß\x001\0\0\0\0"+String.fromCharCode(e.fixedPitch?9:0)+"\0\0\0\0\0\0"+(0,r.string32)(n)+(0,r.string32)(i)+(0,r.string32)(o)+(0,r.string32)(c)+"*21*"+string16(e.italicAngle?1:0)+string16(l||e.firstChar)+string16(h||e.lastChar)+string16(p)+string16(m)+"\0d"+string16(b)+string16(y)+"\0\0\0\0\0\0\0\0"+string16(e.xHeight)+string16(e.capHeight)+string16(0)+string16(l||e.firstChar)+"\0"}function createPostTable(e){const t=Math.floor(65536*e.italicAngle);return"\0\0\0"+(0,r.string32)(t)+"\0\0\0\0"+(0,r.string32)(e.fixedPitch?1:0)+"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}function createPostscriptName(e){return e.replaceAll(/[^\x21-\x7E]|[[\](){}<>/%]/g,"").slice(0,63)}function createNameTable(e,t){t||(t=[[],[]]);const a=[t[0][0]||"Original licence",t[0][1]||e,t[0][2]||"Unknown",t[0][3]||"uniqueID",t[0][4]||e,t[0][5]||"Version 0.11",t[0][6]||createPostscriptName(e),t[0][7]||"Unknown",t[0][8]||"Unknown",t[0][9]||"Unknown"],r=[];let n,i,s,o,c;for(n=0,i=a.length;n0;if((d||g)&&"CIDFontType2"===a&&this.cidEncoding.startsWith("Identity-")){const a=e.cidToGidMap,r=[];applyStandardFontGlyphMap(r,(0,l.getGlyphMapForStandardFonts)());/Arial-?Black/i.test(t)?applyStandardFontGlyphMap(r,(0,l.getSupplementalGlyphMapForArialBlack)()):/Calibri/i.test(t)&&applyStandardFontGlyphMap(r,(0,l.getSupplementalGlyphMapForCalibri)());if(a){for(const e in r){const t=r[e];void 0!==a[t]&&(r[+e]=a[t])}a.length!==this.toUnicode.length&&e.hasIncludedToUnicodeMap&&this.toUnicode instanceof h.IdentityToUnicodeMap&&this.toUnicode.forEach((function(e,t){const n=r[e];void 0===a[n]&&(r[+e]=t)}))}this.toUnicode instanceof h.IdentityToUnicodeMap||this.toUnicode.forEach((function(e,t){r[+e]=t}));this.toFontChar=r;this.toUnicode=new h.ToUnicodeMap(r)}else if(/Symbol/i.test(r))this.toFontChar=buildToFontChar(c.SymbolSetEncoding,(0,o.getGlyphsUnicode)(),this.differences);else if(/Dingbats/i.test(r))this.toFontChar=buildToFontChar(c.ZapfDingbatsEncoding,(0,o.getDingbatsGlyphsUnicode)(),this.differences);else if(d){const e=buildToFontChar(this.defaultEncoding,(0,o.getGlyphsUnicode)(),this.differences);"CIDFontType2"!==a||this.cidEncoding.startsWith("Identity-")||this.toUnicode instanceof h.IdentityToUnicodeMap||this.toUnicode.forEach((function(t,a){e[+t]=a}));this.toFontChar=e}else{const e=(0,o.getGlyphsUnicode)(),a=[];this.toUnicode.forEach(((t,r)=>{if(!this.composite){const a=this.differences[t]||this.defaultEncoding[t],n=(0,s.getUnicodeForGlyph)(a,e);-1!==n&&(r=n)}a[+t]=r}));this.composite&&this.toUnicode instanceof h.IdentityToUnicodeMap&&/Tahoma|Verdana/i.test(t)&&applyStandardFontGlyphMap(a,(0,l.getGlyphMapForStandardFonts)());this.toFontChar=a}amendFallbackToUnicode(e);this.loadedName=r.split("-")[0]}checkAndRepair(e,t,a){const s=["OS/2","cmap","head","hhea","hmtx","maxp","name","post","loca","glyf","fpgm","prep","cvt ","CFF "];function readTables(e,t){const a=Object.create(null);a["OS/2"]=null;a.cmap=null;a.head=null;a.hhea=null;a.hmtx=null;a.maxp=null;a.name=null;a.post=null;for(let r=0;r>>0,r=e.getInt32()>>>0,n=e.getInt32()>>>0,i=e.pos;e.pos=e.start||0;e.skip(r);const s=e.getBytes(n);e.pos=i;if("head"===t){s[8]=s[9]=s[10]=s[11]=0;s[17]|=32}return{tag:t,checksum:a,length:n,offset:r,data:s}}function readOpenTypeHeader(e){return{version:e.getString(4),numTables:e.getUint16(),searchRange:e.getUint16(),entrySelector:e.getUint16(),rangeShift:e.getUint16()}}function sanitizeGlyph(e,t,a,r,n,i){const s={length:0,sizeOfInstructions:0};if(t<0||t>=e.length||a>e.length||a-t<=12)return s;const o=e.subarray(t,a),c=signedInt16(o[2],o[3]),l=signedInt16(o[4],o[5]),h=signedInt16(o[6],o[7]),u=signedInt16(o[8],o[9]);if(c>h){writeSignedInt16(o,2,h);writeSignedInt16(o,6,c)}if(l>u){writeSignedInt16(o,4,u);writeSignedInt16(o,8,l)}const d=signedInt16(o[0],o[1]);if(d<0){if(d<-1)return s;r.set(o,n);s.length=o.length;return s}let f,g=10,p=0;for(f=0;fo.length)return s;if(!i&&b>0){r.set(o.subarray(0,m),n);r.set([0,0],n+m);r.set(o.subarray(y,S),n+m+2);S-=b;o.length-S>3&&(S=S+3&-4);s.length=S;return s}if(o.length-S>3){S=S+3&-4;r.set(o.subarray(0,S),n);s.length=S;return s}r.set(o,n);s.length=o.length;return s}function readNameTable(e){const a=(t.start||0)+e.offset;t.pos=a;const r=[[],[]],n=[],i=e.length,s=a+i;if(0!==t.getUint16()||i<6)return[r,n];const o=t.getUint16(),c=t.getUint16();let l,h;for(l=0;ls)continue;t.pos=i;const o=e.name;if(e.encoding){let a="";for(let r=0,n=e.length;r0&&(h+=e-1)}}else{if(b||w){(0,r.warn)("TT: nested FDEFs not allowed");m=!0}b=!0;d=h;s=f.pop();t.functionsDefined[s]={data:c,i:h}}else if(!b&&!w){s=f.at(-1);if(isNaN(s))(0,r.info)("TT: CALL empty stack (or invalid entry).");else{t.functionsUsed[s]=!0;if(s in t.functionsStackDeltas){const e=f.length+t.functionsStackDeltas[s];if(e<0){(0,r.warn)("TT: CALL invalid functions stack delta.");t.hintsValid=!1;return}f.length=e}else if(s in t.functionsDefined&&!p.includes(s)){g.push({data:c,i:h,stackTop:f.length-1});p.push(s);o=t.functionsDefined[s];if(!o){(0,r.warn)("TT: CALL non-existent function");t.hintsValid=!1;return}c=o.data;h=o.i}}}if(!b&&!w){let t=0;e<=142?t=l[e]:e>=192&&e<=223?t=-1:e>=224&&(t=-2);if(e>=113&&e<=117){n=f.pop();isNaN(n)||(t=2*-n)}for(;t<0&&f.length>0;){f.pop();t++}for(;t>0;){f.push(NaN);t--}}}t.tooComplexToFollowFunctions=m;const S=[c];h>c.length&&S.push(new Uint8Array(h-c.length));if(d>u){(0,r.warn)("TT: complementing a missing function tail");S.push(new Uint8Array([34,45]))}!function foldTTTable(e,t){if(t.length>1){let a,r,n=0;for(a=0,r=t.length;a>>0,s=[];for(let t=0;t>>0);const o={ttcTag:t,majorVersion:a,minorVersion:n,numFonts:i,offsetTable:s};switch(a){case 1:return o;case 2:o.dsigTag=e.getInt32()>>>0;o.dsigLength=e.getInt32()>>>0;o.dsigOffset=e.getInt32()>>>0;return o}throw new r.FormatError(`Invalid TrueType Collection majorVersion: ${a}.`)}(e),i=t.split("+");let s;for(let o=0;o0||!(a.cMap instanceof p.IdentityCMap));if("OTTO"===d.version&&!t||!f.head||!f.hhea||!f.maxp||!f.post){w=new y.Stream(f["CFF "].data);b=new u.CFFFont(w,a);adjustWidths(a);return this.convert(e,b,a)}delete f.glyf;delete f.loca;delete f.fpgm;delete f.prep;delete f["cvt "];this.isOpenType=!0}if(!f.maxp)throw new r.FormatError('Required "maxp" table is not found');t.pos=(t.start||0)+f.maxp.offset;const x=t.getInt32(),C=t.getUint16();if(a.scaleFactors?.length===C&&S){const{scaleFactors:e}=a,t=int16(f.head.data[50],f.head.data[51]),r=new g.GlyfTable({glyfTable:f.glyf.data,isGlyphLocationsLong:t,locaTable:f.loca.data,numGlyphs:C});r.scale(e);const{glyf:n,loca:i,isLocationLong:s}=r.write();f.glyf.data=n;f.loca.data=i;if(s!==!!t){f.head.data[50]=0;f.head.data[51]=s?1:0}const o=f.hmtx.data;for(let t=0;t>8&255;o[a+1]=255&r;writeSignedInt16(o,a+2,Math.round(e[t]*signedInt16(o[a+2],o[a+3])))}}let k=C+1,v=!0;if(k>65535){v=!1;k=C;(0,r.warn)("Not enough space in glyfs to duplicate first glyph.")}let F=0,O=0;if(x>=65536&&f.maxp.length>=22){t.pos+=8;if(t.getUint16()>2){f.maxp.data[14]=0;f.maxp.data[15]=2}t.pos+=4;F=t.getUint16();t.pos+=4;O=t.getUint16()}f.maxp.data[4]=k>>8;f.maxp.data[5]=255&k;const T=function sanitizeTTPrograms(e,t,a,n){const i={functionsDefined:[],functionsUsed:[],functionsStackDeltas:[],tooComplexToFollowFunctions:!1,hintsValid:!0};e&&sanitizeTTProgram(e,i);t&&sanitizeTTProgram(t,i);e&&function checkInvalidFunctions(e,t){if(!e.tooComplexToFollowFunctions)if(e.functionsDefined.length>t){(0,r.warn)("TT: more functions defined than expected");e.hintsValid=!1}else for(let a=0,n=e.functionsUsed.length;at){(0,r.warn)("TT: invalid function id: "+a);e.hintsValid=!1;return}if(e.functionsUsed[a]&&!e.functionsDefined[a]){(0,r.warn)("TT: undefined function: "+a);e.hintsValid=!1;return}}}(i,n);if(a&&1&a.length){const e=new Uint8Array(a.length+1);e.set(a.data);a.data=e}return i.hintsValid}(f.fpgm,f.prep,f["cvt "],F);if(!T){delete f.fpgm;delete f.prep;delete f["cvt "]}!function sanitizeMetrics(e,t,a,n,i,s){if(!t){a&&(a.data=null);return}e.pos=(e.start||0)+t.offset;e.pos+=4;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;e.pos+=2;const o=e.getUint16();e.pos+=8;e.pos+=2;let c=e.getUint16();if(0!==o){if(!(2&int16(n.data[44],n.data[45]))){t.data[22]=0;t.data[23]=0}}if(c>i){(0,r.info)(`The numOfMetrics (${c}) should not be greater than the numGlyphs (${i}).`);c=i;t.data[34]=(65280&c)>>8;t.data[35]=255&c}const l=i-c-(a.length-4*c>>1);if(l>0){const e=new Uint8Array(a.length+2*l);e.set(a.data);if(s){e[a.length]=a.data[2];e[a.length+1]=a.data[3]}a.data=e}}(t,f.hhea,f.hmtx,f.head,k,v);if(!f.head)throw new r.FormatError('Required "head" table is not found');!function sanitizeHead(e,t,a){const n=e.data,i=function int32(e,t,a,r){return(e<<24)+(t<<16)+(a<<8)+r}(n[0],n[1],n[2],n[3]);if(i>>16!=1){(0,r.info)("Attempting to fix invalid version in head table: "+i);n[0]=0;n[1]=1;n[2]=0;n[3]=0}const s=int16(n[50],n[51]);if(s<0||s>1){(0,r.info)("Attempting to fix invalid indexToLocFormat in head table: "+s);const e=t+1;if(a===e<<1){n[50]=0;n[51]=0}else{if(a!==e<<2)throw new r.FormatError("Could not fix indexToLocFormat: "+s);n[50]=0;n[51]=1}}}(f.head,C,S?f.loca.length:0);let M=Object.create(null);if(S){const e=int16(f.head.data[50],f.head.data[51]),t=function sanitizeGlyphLocations(e,t,a,r,n,i,s){let o,c,l;if(r){o=4;c=function fontItemDecodeLong(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};l=function fontItemEncodeLong(e,t,a){e[t]=a>>>24&255;e[t+1]=a>>16&255;e[t+2]=a>>8&255;e[t+3]=255&a}}else{o=2;c=function fontItemDecode(e,t){return e[t]<<9|e[t+1]<<1};l=function fontItemEncode(e,t,a){e[t]=a>>9&255;e[t+1]=a>>1&255}}const h=i?a+1:a,u=o*(1+h),d=new Uint8Array(u);d.set(e.data.subarray(0,u));e.data=d;const f=t.data,g=f.length,p=new Uint8Array(g);let m,b;const y=[];for(m=0,b=0;mg&&(e=g);y.push({index:m,offset:e,endOffset:0})}y.sort(((e,t)=>e.offset-t.offset));for(m=0;me.index-t.index));for(m=0;ms&&(s=e.sizeOfInstructions);S+=t;l(d,b,S)}if(0===S){const e=new Uint8Array([0,1,0,0,0,0,0,0,0,0,0,0,0,0,49,0]);for(m=0,b=o;ma+S)t.data=p.subarray(0,a+S);else{t.data=new Uint8Array(a+S);t.data.set(p.subarray(0,S))}t.data.set(p.subarray(0,a),S);l(e.data,d.length-o,S+a)}else t.data=p.subarray(0,S);return{missingGlyphs:w,maxSizeOfInstructions:s}}(f.loca,f.glyf,C,e,T,v,O);M=t.missingGlyphs;if(x>=65536&&f.maxp.length>=22){f.maxp.data[26]=t.maxSizeOfInstructions>>8;f.maxp.data[27]=255&t.maxSizeOfInstructions}}if(!f.hhea)throw new r.FormatError('Required "hhea" table is not found');if(0===f.hhea.data[10]&&0===f.hhea.data[11]){f.hhea.data[10]=255;f.hhea.data[11]=255}const D={unitsPerEm:int16(f.head.data[18],f.head.data[19]),yMax:signedInt16(f.head.data[42],f.head.data[43]),yMin:signedInt16(f.head.data[38],f.head.data[39]),ascent:signedInt16(f.hhea.data[4],f.hhea.data[5]),descent:signedInt16(f.hhea.data[6],f.hhea.data[7]),lineGap:signedInt16(f.hhea.data[8],f.hhea.data[9])};this.ascent=D.ascent/D.unitsPerEm;this.descent=D.descent/D.unitsPerEm;this.lineGap=D.lineGap/D.unitsPerEm;if(this.cssFontInfo?.lineHeight){this.lineHeight=this.cssFontInfo.metrics.lineHeight;this.lineGap=this.cssFontInfo.metrics.lineGap}else this.lineHeight=this.ascent-this.descent+this.lineGap;f.post&&function readPostScriptTable(e,a,n){const s=(t.start||0)+e.offset;t.pos=s;const o=s+e.length,c=t.getInt32();t.skip(28);let l,h,u=!0;switch(c){case 65536:l=i.MacStandardGlyphOrdering;break;case 131072:const e=t.getUint16();if(e!==n){u=!1;break}const s=[];for(h=0;h=32768){u=!1;break}s.push(e)}if(!u)break;const d=[],f=[];for(;t.pos65535)throw new r.FormatError("Max size of CID is 65,535");let i=-1;t?i=n:void 0!==e[n]&&(i=e[n]);i>=0&&i>>0;let h=!1;if(c?.platformId!==r||c?.encodingId!==i){if(0!==r||0!==i&&1!==i&&3!==i)if(1===r&&0===i)h=!0;else if(3!==r||1!==i||!n&&c){if(a&&3===r&&0===i){h=!0;let a=!0;if(e>3;e.push(r);a=Math.max(r,a)}const r=[];for(let e=0;e<=a;e++)r.push({firstCode:t.getUint16(),entryCount:t.getUint16(),idDelta:signedInt16(t.getByte(),t.getByte()),idRangePos:t.pos+t.getUint16()});for(let a=0;a<256;a++)if(0===e[a]){t.pos=r[0].idRangePos+2*a;g=t.getUint16();d.push({charCode:a,glyphId:g})}else{const n=r[e[a]];for(f=0;f>1;t.skip(6);const a=[];let r;for(r=0;r>1)-(e-r);i.offsetIndex=n;o=Math.max(o,n+i.end-i.start+1)}else i.offsetIndex=-1}const c=[];for(f=0;f>>0;for(f=0;f>>0,a=t.getInt32()>>>0;let r=t.getInt32()>>>0;for(let t=e;t<=a;t++)d.push({charCode:t,glyphId:r++})}}}d.sort((function(e,t){return e.charCode-t.charCode}));for(let e=1;e=61440&&t<=61695&&(t&=255);E[t]=e.glyphId}if(a.glyphNames&&(u.length||this.differences.length))for(let e=0;e<256;++e){if(!d&&void 0!==E[e])continue;const t=this.differences[e]||u[e];if(!t)continue;const r=a.glyphNames.indexOf(t);r>0&&hasGlyph(r)&&(E[e]=r)}}0===E.length&&(E[0]=0);let N=k-1;v||(N=0);if(!a.cssFontInfo){const e=adjustMapping(E,hasGlyph,N,this.toUnicode);this.toFontChar=e.toFontChar;f.cmap={tag:"cmap",data:createCmapTable(e.charCodeToGlyphId,e.toUnicodeExtraMap,k)};f["OS/2"]&&function validateOS2Table(e,t){t.pos=(t.start||0)+e.offset;const a=t.getUint16();t.skip(60);const r=t.getUint16();if(a<4&&768&r)return!1;if(t.getUint16()>t.getUint16())return!1;t.skip(6);if(0===t.getUint16())return!1;e.data[8]=e.data[9]=0;return!0}(f["OS/2"],t)||(f["OS/2"]={tag:"OS/2",data:createOS2Table(a,e.charCodeToGlyphId,D)})}if(!S)try{w=new y.Stream(f["CFF "].data);b=new n.CFFParser(w,a,i.SEAC_ANALYSIS_ENABLED).parse();b.duplicateFirstGlyph();const e=new n.CFFCompiler(b);f["CFF "].data=e.compile()}catch{(0,r.warn)("Failed to compile font "+a.loadedName)}if(f.name){const[t,r]=readNameTable(f.name);f.name.data=createNameTable(e,t);this.psName=t[0][6]||null;a.composite||function adjustTrueTypeToUnicode(e,t,a){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(e.hasEncoding)return;if(e.toUnicode instanceof h.IdentityToUnicodeMap)return;if(!t)return;if(0===a.length)return;if(e.defaultEncoding===c.WinAnsiEncoding)return;for(const e of a)if(!isWinNameRecord(e))return;const r=c.WinAnsiEncoding,n=[],i=(0,o.getGlyphsUnicode)();for(const e in r){const t=r[e];if(""===t)continue;const a=i[t];void 0!==a&&(n[e]=String.fromCharCode(a))}n.length>0&&e.toUnicode.amend(n)}(a,this.isSymbolicFont,r)}else f.name={tag:"name",data:createNameTable(this.name)};const R=new m.OpenTypeFileBuilder(d.version);for(const e in f)R.addTable(e,f[e].data);return R.toArray()}convert(e,t,a){a.fixedPitch=!1;a.builtInEncoding&&function adjustType1ToUnicode(e,t){if(e.isInternalFont)return;if(e.hasIncludedToUnicodeMap)return;if(t===e.defaultEncoding)return;if(e.toUnicode instanceof h.IdentityToUnicodeMap)return;const a=[],r=(0,o.getGlyphsUnicode)();for(const n in t){if(e.hasEncoding&&(e.baseEncodingName||void 0!==e.differences[n]))continue;const i=t[n],o=(0,s.getUnicodeForGlyph)(i,r);-1!==o&&(a[n]=String.fromCharCode(o))}a.length>0&&e.toUnicode.amend(a)}(a,a.builtInEncoding);let n=1;t instanceof u.CFFFont&&(n=t.numGlyphs-1);const l=t.getGlyphMapping(a);let d=null,f=l,g=null;if(!a.cssFontInfo){d=adjustMapping(l,t.hasGlyphId.bind(t),n,this.toUnicode);this.toFontChar=d.toFontChar;f=d.charCodeToGlyphId;g=d.toUnicodeExtraMap}const p=t.numGlyphs;function getCharCodes(e,t){let a=null;for(const r in e)t===e[r]&&(a||=[]).push(0|r);return a}function createCharCode(e,t){for(const a in e)if(t===e[a])return 0|a;d.charCodeToGlyphId[d.nextAvailableFontCharCode]=t;return d.nextAvailableFontCharCode++}const b=t.seacs;if(d&&i.SEAC_ANALYSIS_ENABLED&&b?.length){const e=a.fontMatrix||r.FONT_IDENTITY_MATRIX,n=t.getCharset(),i=Object.create(null);for(let t in b){t|=0;const a=b[t],r=c.StandardEncoding[a[2]],s=c.StandardEncoding[a[3]],o=n.indexOf(r),h=n.indexOf(s);if(o<0||h<0)continue;const u={x:a[0]*e[0]+a[1]*e[2]+e[4],y:a[0]*e[1]+a[1]*e[3]+e[5]},f=getCharCodes(l,t);if(f)for(const e of f){const t=d.charCodeToGlyphId,a=createCharCode(t,o),r=createCharCode(t,h);i[e]={baseFontCharCode:a,accentFontCharCode:r,accentOffset:u}}}a.seacMap=i}const y=1/(a.fontMatrix||r.FONT_IDENTITY_MATRIX)[0],w=new m.OpenTypeFileBuilder("OTTO");w.addTable("CFF ",t.data);w.addTable("OS/2",createOS2Table(a,f));w.addTable("cmap",createCmapTable(f,g,p));w.addTable("head","\0\0\0\0\0\0\0\0\0\0_<õ\0\0"+safeString16(y)+"\0\0\0\0ž\v~'\0\0\0\0ž\v~'\0\0"+safeString16(a.descent)+"ÿ"+safeString16(a.ascent)+string16(a.italicAngle?2:0)+"\0\0\0\0\0\0\0");w.addTable("hhea","\0\0\0"+safeString16(a.ascent)+safeString16(a.descent)+"\0\0ÿÿ\0\0\0\0\0\0"+safeString16(a.capHeight)+safeString16(Math.tan(a.italicAngle)*a.xHeight)+"\0\0\0\0\0\0\0\0\0\0\0\0"+string16(p));w.addTable("hmtx",function fontFieldsHmtx(){const e=t.charstrings,a=t.cff?t.cff.widths:null;let r="\0\0\0\0";for(let t=1,n=p;tt.length%2==1,r=this.toUnicode instanceof h.IdentityToUnicodeMap?e=>this.toUnicode.charCodeOf(e):e=>this.toUnicode.charCodeOf(String.fromCodePoint(e));for(let n=0,i=e.length;n55295&&(i<57344||i>65533)&&n++;if(this.toUnicode){const e=r(i);if(-1!==e){if(hasCurrentBufErrors()){t.push(a.join(""));a.length=0}for(let t=(this.cMap?this.cMap.getCharCodeLength(e):1)-1;t>=0;t--)a.push(String.fromCharCode(e>>8*t&255));continue}}if(!hasCurrentBufErrors()){t.push(a.join(""));a.length=0}a.push(String.fromCodePoint(i))}t.push(a.join(""));return t}};t.ErrorFont=class ErrorFont{constructor(e){this.error=e;this.loadedName="g_font_error";this.missingFile=!0}charsToGlyphs(){return[]}encodeString(e){return[e]}exportData(e=!1){return{error:this.error}}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.CFFTopDict=t.CFFStrings=t.CFFStandardStrings=t.CFFPrivateDict=t.CFFParser=t.CFFIndex=t.CFFHeader=t.CFFFDSelect=t.CFFCompiler=t.CFFCharset=t.CFF=void 0;var r=a(2),n=a(36),i=a(37);const s=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"];t.CFFStandardStrings=s;const o=391,c=[null,{id:"hstem",min:2,stackClearing:!0,stem:!0},null,{id:"vstem",min:2,stackClearing:!0,stem:!0},{id:"vmoveto",min:1,stackClearing:!0},{id:"rlineto",min:2,resetStack:!0},{id:"hlineto",min:1,resetStack:!0},{id:"vlineto",min:1,resetStack:!0},{id:"rrcurveto",min:6,resetStack:!0},null,{id:"callsubr",min:1,undefStack:!0},{id:"return",min:0,undefStack:!0},null,null,{id:"endchar",min:0,stackClearing:!0},null,null,null,{id:"hstemhm",min:2,stackClearing:!0,stem:!0},{id:"hintmask",min:0,stackClearing:!0},{id:"cntrmask",min:0,stackClearing:!0},{id:"rmoveto",min:2,stackClearing:!0},{id:"hmoveto",min:1,stackClearing:!0},{id:"vstemhm",min:2,stackClearing:!0,stem:!0},{id:"rcurveline",min:8,resetStack:!0},{id:"rlinecurve",min:8,resetStack:!0},{id:"vvcurveto",min:4,resetStack:!0},{id:"hhcurveto",min:4,resetStack:!0},null,{id:"callgsubr",min:1,undefStack:!0},{id:"vhcurveto",min:4,resetStack:!0},{id:"hvcurveto",min:4,resetStack:!0}],l=[null,null,null,{id:"and",min:2,stackDelta:-1},{id:"or",min:2,stackDelta:-1},{id:"not",min:1,stackDelta:0},null,null,null,{id:"abs",min:1,stackDelta:0},{id:"add",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]+e[t-1]}},{id:"sub",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]-e[t-1]}},{id:"div",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]/e[t-1]}},null,{id:"neg",min:1,stackDelta:0,stackFn(e,t){e[t-1]=-e[t-1]}},{id:"eq",min:2,stackDelta:-1},null,null,{id:"drop",min:1,stackDelta:-1},null,{id:"put",min:2,stackDelta:-2},{id:"get",min:1,stackDelta:0},{id:"ifelse",min:4,stackDelta:-3},{id:"random",min:0,stackDelta:1},{id:"mul",min:2,stackDelta:-1,stackFn(e,t){e[t-2]=e[t-2]*e[t-1]}},null,{id:"sqrt",min:1,stackDelta:0},{id:"dup",min:1,stackDelta:1},{id:"exch",min:2,stackDelta:0},{id:"index",min:2,stackDelta:0},{id:"roll",min:3,stackDelta:-2},null,null,null,{id:"hflex",min:7,resetStack:!0},{id:"flex",min:13,resetStack:!0},{id:"hflex1",min:9,resetStack:!0},{id:"flex1",min:11,resetStack:!0}];t.CFFParser=class CFFParser{constructor(e,t,a){this.bytes=e.getBytes();this.properties=t;this.seacAnalysisEnabled=!!a}parse(){const e=this.properties,t=new CFF;this.cff=t;const a=this.parseHeader(),r=this.parseIndex(a.endPos),n=this.parseIndex(r.endPos),i=this.parseIndex(n.endPos),s=this.parseIndex(i.endPos),o=this.parseDict(n.obj.get(0)),c=this.createDict(CFFTopDict,o,t.strings);t.header=a.obj;t.names=this.parseNameIndex(r.obj);t.strings=this.parseStringIndex(i.obj);t.topDict=c;t.globalSubrIndex=s.obj;this.parsePrivateDict(t.topDict);t.isCIDFont=c.hasName("ROS");const l=c.getByName("CharStrings"),h=this.parseIndex(l).obj,u=c.getByName("FontMatrix");u&&(e.fontMatrix=u);const d=c.getByName("FontBBox");if(d){e.ascent=Math.max(d[3],d[1]);e.descent=Math.min(d[1],d[3]);e.ascentScaled=!0}let f,g;if(t.isCIDFont){const e=this.parseIndex(c.getByName("FDArray")).obj;for(let a=0,r=e.count;a=t)throw new r.FormatError("Invalid CFF header");if(0!==a){(0,r.info)("cff data is shifted");e=e.subarray(a);this.bytes=e}const n=e[0],i=e[1],s=e[2],o=e[3];return{obj:new CFFHeader(n,i,s,o),endPos:s}}parseDict(e){let t=0;function parseOperand(){let a=e[t++];if(30===a)return function parseFloatOperand(){let a="";const r=15,n=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],i=e.length;for(;t>4,o=15&i;if(s===r)break;a+=n[s];if(o===r)break;a+=n[o]}return parseFloat(a)}();if(28===a){a=e[t++];a=(a<<24|e[t++]<<16)>>16;return a}if(29===a){a=e[t++];a=a<<8|e[t++];a=a<<8|e[t++];a=a<<8|e[t++];return a}if(a>=32&&a<=246)return a-139;if(a>=247&&a<=250)return 256*(a-247)+e[t++]+108;if(a>=251&&a<=254)return-256*(a-251)-e[t++]-108;(0,r.warn)('CFFParser_parseDict: "'+a+'" is a reserved command.');return NaN}let a=[];const n=[];t=0;const i=e.length;for(;t10)return!1;let i=e.stackSize;const s=e.stack;let o=t.length;for(let h=0;h>16;h+=2;i++}else if(14===u){if(i>=4){i-=4;if(this.seacAnalysisEnabled){e.seac=s.slice(i,i+4);return!1}}d=c[u]}else if(u>=32&&u<=246){s[i]=u-139;i++}else if(u>=247&&u<=254){s[i]=u<251?(u-247<<8)+t[h]+108:-(u-251<<8)-t[h]-108;h++;i++}else if(255===u){s[i]=(t[h]<<24|t[h+1]<<16|t[h+2]<<8|t[h+3])/65536;h+=4;i++}else if(19===u||20===u){e.hints+=i>>1;if(0===e.hints){t.copyWithin(h-1,h,-1);h-=1;o-=1;continue}h+=e.hints+7>>3;i%=2;d=c[u]}else{if(10===u||29===u){const t=10===u?a:n;if(!t){d=c[u];(0,r.warn)("Missing subrsIndex for "+d.id);return!1}let o=32768;t.count<1240?o=107:t.count<33900&&(o=1131);const l=s[--i]+o;if(l<0||l>=t.count||isNaN(l)){d=c[u];(0,r.warn)("Out of bounds subrIndex for "+d.id);return!1}e.stackSize=i;e.callDepth++;if(!this.parseCharString(e,t.get(l),a,n))return!1;e.callDepth--;i=e.stackSize;continue}if(11===u){e.stackSize=i;return!0}if(0===u&&h===t.length){t[h-1]=14;d=c[14]}else{if(9===u){t.copyWithin(h-1,h,-1);h-=1;o-=1;continue}d=c[u]}}if(d){if(d.stem){e.hints+=i>>1;if(3===u||23===u)e.hasVStems=!0;else if(e.hasVStems&&(1===u||18===u)){(0,r.warn)("CFF stem hints are in wrong order");t[h-1]=1===u?3:23}}if("min"in d&&!e.undefStack&&i=2&&d.stem?i%=2:i>1&&(0,r.warn)("Found too many parameters for stack-clearing command");i>0&&(e.width=s[i-1])}if("stackDelta"in d){"stackFn"in d&&d.stackFn(s,i);i+=d.stackDelta}else if(d.stackClearing)i=0;else if(d.resetStack){i=0;e.undefStack=!1}else if(d.undefStack){i=0;e.undefStack=!0;e.firstStackClearing=!1}}}o=i.length){(0,r.warn)("Invalid fd index for glyph index.");d=!1}if(d){g=i[e].privateDict;f=g.subrsIndex}}else t&&(f=t);d&&(d=this.parseCharString(u,l,f,a));if(null!==u.width){const e=g.getByName("nominalWidthX");c[h]=e+u.width}else{const e=g.getByName("defaultWidthX");c[h]=e}null!==u.seac&&(o[h]=u.seac);d||e.set(h,new Uint8Array([14]))}return{charStrings:e,seacs:o,widths:c}}emptyPrivateDictionary(e){const t=this.createDict(CFFPrivateDict,[],e.strings);e.setByKey(18,[0,0]);e.privateDict=t}parsePrivateDict(e){if(!e.hasName("Private")){this.emptyPrivateDictionary(e);return}const t=e.getByName("Private");if(!Array.isArray(t)||2!==t.length){e.removeByName("Private");return}const a=t[0],r=t[1];if(0===a||r>=this.bytes.length){this.emptyPrivateDictionary(e);return}const n=r+a,i=this.bytes.subarray(r,n),s=this.parseDict(i),o=this.createDict(CFFPrivateDict,s,e.strings);e.privateDict=o;0===o.getByName("ExpansionFactor")&&o.setByName("ExpansionFactor",.06);if(!o.getByName("Subrs"))return;const c=o.getByName("Subrs"),l=r+c;if(0===c||l>=this.bytes.length){this.emptyPrivateDictionary(e);return}const h=this.parseIndex(l);o.subrsIndex=h.obj}parseCharsets(e,t,a,i){if(0===e)return new CFFCharset(!0,d.ISO_ADOBE,n.ISOAdobeCharset);if(1===e)return new CFFCharset(!0,d.EXPERT,n.ExpertCharset);if(2===e)return new CFFCharset(!0,d.EXPERT_SUBSET,n.ExpertSubsetCharset);const s=this.bytes,o=e,c=s[e++],l=[i?0:".notdef"];let h,u,f;t-=1;switch(c){case 0:for(f=0;f=65535){(0,r.warn)("Not enough space in charstrings to duplicate first glyph.");return}const e=this.charStrings.get(0);this.charStrings.add(e);this.isCIDFont&&this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0])}hasGlyphId(e){if(e<0||e>=this.charStrings.count)return!1;return this.charStrings.get(e).length>0}}t.CFF=CFF;class CFFHeader{constructor(e,t,a,r){this.major=e;this.minor=t;this.hdrSize=a;this.offSize=r}}t.CFFHeader=CFFHeader;class CFFStrings{constructor(){this.strings=[]}get(e){return e>=0&&e<=390?s[e]:e-o<=this.strings.length?this.strings[e-o]:s[0]}getSID(e){let t=s.indexOf(e);if(-1!==t)return t;t=this.strings.indexOf(e);return-1!==t?t+o:-1}add(e){this.strings.push(e)}get count(){return this.strings.length}}t.CFFStrings=CFFStrings;class CFFIndex{constructor(){this.objects=[];this.length=0}add(e){this.length+=e.length;this.objects.push(e)}set(e,t){this.length+=t.length-this.objects[e].length;this.objects[e]=t}get(e){return this.objects[e]}get count(){return this.objects.length}}t.CFFIndex=CFFIndex;class CFFDict{constructor(e,t){this.keyToNameMap=e.keyToNameMap;this.nameToKeyMap=e.nameToKeyMap;this.defaults=e.defaults;this.types=e.types;this.opcodes=e.opcodes;this.order=e.order;this.strings=t;this.values=Object.create(null)}setByKey(e,t){if(!(e in this.keyToNameMap))return!1;if(0===t.length)return!0;for(const a of t)if(isNaN(a)){(0,r.warn)(`Invalid CFFDict value: "${t}" for key "${e}".`);return!0}const a=this.types[e];"num"!==a&&"sid"!==a&&"offset"!==a||(t=t[0]);this.values[e]=t;return!0}setByName(e,t){if(!(e in this.nameToKeyMap))throw new r.FormatError(`Invalid dictionary name "${e}"`);this.values[this.nameToKeyMap[e]]=t}hasName(e){return this.nameToKeyMap[e]in this.values}getByName(e){if(!(e in this.nameToKeyMap))throw new r.FormatError(`Invalid dictionary name ${e}"`);const t=this.nameToKeyMap[e];return t in this.values?this.values[t]:this.defaults[t]}removeByName(e){delete this.values[this.nameToKeyMap[e]]}static createTables(e){const t={keyToNameMap:{},nameToKeyMap:{},defaults:{},types:{},opcodes:{},order:[]};for(const a of e){const e=Array.isArray(a[0])?(a[0][0]<<8)+a[0][1]:a[0];t.keyToNameMap[e]=a[1];t.nameToKeyMap[a[1]]=e;t.types[e]=a[2];t.defaults[e]=a[3];t.opcodes[e]=Array.isArray(a[0])?a[0]:[a[0]];t.order.push(e)}return t}}const h=[[[12,30],"ROS",["sid","sid","num"],null],[[12,20],"SyntheticBase","num",null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","num",0],[[12,2],"ItalicAngle","num",0],[[12,3],"UnderlinePosition","num",-100],[[12,4],"UnderlineThickness","num",50],[[12,5],"PaintType","num",0],[[12,6],"CharstringType","num",2],[[12,7],"FontMatrix",["num","num","num","num","num","num"],[.001,0,0,.001,0,0]],[13,"UniqueID","num",null],[5,"FontBBox",["num","num","num","num"],[0,0,0,0]],[[12,8],"StrokeWidth","num",0],[14,"XUID","array",null],[15,"charset","offset",0],[16,"Encoding","offset",0],[17,"CharStrings","offset",0],[18,"Private",["offset","offset"],null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","num",0],[[12,32],"CIDFontRevision","num",0],[[12,33],"CIDFontType","num",0],[[12,34],"CIDCount","num",8720],[[12,35],"UIDBase","num",null],[[12,37],"FDSelect","offset",null],[[12,36],"FDArray","offset",null],[[12,38],"FontName","sid",null]];class CFFTopDict extends CFFDict{static get tables(){return(0,r.shadow)(this,"tables",this.createTables(h))}constructor(e){super(CFFTopDict.tables,e);this.privateDict=null}}t.CFFTopDict=CFFTopDict;const u=[[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","num",.039625],[[12,10],"BlueShift","num",7],[[12,11],"BlueFuzz","num",1],[10,"StdHW","num",null],[11,"StdVW","num",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","num",0],[[12,17],"LanguageGroup","num",0],[[12,18],"ExpansionFactor","num",.06],[[12,19],"initialRandomSeed","num",0],[20,"defaultWidthX","num",0],[21,"nominalWidthX","num",0],[19,"Subrs","offset",null]];class CFFPrivateDict extends CFFDict{static get tables(){return(0,r.shadow)(this,"tables",this.createTables(u))}constructor(e){super(CFFPrivateDict.tables,e);this.subrsIndex=null}}t.CFFPrivateDict=CFFPrivateDict;const d={ISO_ADOBE:0,EXPERT:1,EXPERT_SUBSET:2};class CFFCharset{constructor(e,t,a,r){this.predefined=e;this.format=t;this.charset=a;this.raw=r}}t.CFFCharset=CFFCharset;class CFFEncoding{constructor(e,t,a,r){this.predefined=e;this.format=t;this.encoding=a;this.raw=r}}class CFFFDSelect{constructor(e,t){this.format=e;this.fdSelect=t}getFDIndex(e){return e<0||e>=this.fdSelect.length?-1:this.fdSelect[e]}}t.CFFFDSelect=CFFFDSelect;class CFFOffsetTracker{constructor(){this.offsets=Object.create(null)}isTracking(e){return e in this.offsets}track(e,t){if(e in this.offsets)throw new r.FormatError(`Already tracking location of ${e}`);this.offsets[e]=t}offset(e){for(const t in this.offsets)this.offsets[t]+=e}setEntryLocation(e,t,a){if(!(e in this.offsets))throw new r.FormatError(`Not tracking location of ${e}`);const n=a.data,i=this.offsets[e];for(let e=0,a=t.length;e>24&255;n[o]=h>>16&255;n[c]=h>>8&255;n[l]=255&h}}}class CFFCompiler{constructor(e){this.cff=e}compile(){const e=this.cff,t={data:[],length:0,add(e){try{this.data.push(...e)}catch{this.data=this.data.concat(e)}this.length=this.data.length}},a=this.compileHeader(e.header);t.add(a);const n=this.compileNameIndex(e.names);t.add(n);if(e.isCIDFont&&e.topDict.hasName("FontMatrix")){const t=e.topDict.getByName("FontMatrix");e.topDict.removeByName("FontMatrix");for(const a of e.fdArray){let e=t.slice(0);a.hasName("FontMatrix")&&(e=r.Util.transform(e,a.getByName("FontMatrix")));a.setByName("FontMatrix",e)}}const i=e.topDict.getByName("XUID");i?.length>16&&e.topDict.removeByName("XUID");e.topDict.setByName("charset",0);let s=this.compileTopDicts([e.topDict],t.length,e.isCIDFont);t.add(s.output);const o=s.trackers[0],c=this.compileStringIndex(e.strings.strings);t.add(c);const l=this.compileIndex(e.globalSubrIndex);t.add(l);if(e.encoding&&e.topDict.hasName("Encoding"))if(e.encoding.predefined)o.setEntryLocation("Encoding",[e.encoding.format],t);else{const a=this.compileEncoding(e.encoding);o.setEntryLocation("Encoding",[t.length],t);t.add(a)}const h=this.compileCharset(e.charset,e.charStrings.count,e.strings,e.isCIDFont);o.setEntryLocation("charset",[t.length],t);t.add(h);const u=this.compileCharStrings(e.charStrings);o.setEntryLocation("CharStrings",[t.length],t);t.add(u);if(e.isCIDFont){o.setEntryLocation("FDSelect",[t.length],t);const a=this.compileFDSelect(e.fdSelect);t.add(a);s=this.compileTopDicts(e.fdArray,t.length,!0);o.setEntryLocation("FDArray",[t.length],t);t.add(s.output);const r=s.trackers;this.compilePrivateDicts(e.fdArray,r,t)}this.compilePrivateDicts([e.topDict],[o],t);t.add([0]);return t.data}encodeNumber(e){return Number.isInteger(e)?this.encodeInteger(e):this.encodeFloat(e)}static get EncodeFloatRegExp(){return(0,r.shadow)(this,"EncodeFloatRegExp",/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/)}encodeFloat(e){let t=e.toString();const a=CFFCompiler.EncodeFloatRegExp.exec(t);if(a){const r=parseFloat("1e"+((a[2]?+a[2]:0)+a[1].length));t=(Math.round(e*r)/r).toString()}let r,n,i="";for(r=0,n=t.length;r=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?[28,e>>8&255,255&e]:[29,e>>24&255,e>>16&255,e>>8&255,255&e];return t}compileHeader(e){return[e.major,e.minor,4,e.offSize]}compileNameIndex(e){const t=new CFFIndex;for(const a of e){const e=Math.min(a.length,127);let n=new Array(e);for(let t=0;t"~"||"["===e||"]"===e||"("===e||")"===e||"{"===e||"}"===e||"<"===e||">"===e||"/"===e||"%"===e)&&(e="_");n[t]=e}n=n.join("");""===n&&(n="Bad_Font_Name");t.add((0,r.stringToBytes)(n))}return this.compileIndex(t)}compileTopDicts(e,t,a){const r=[];let n=new CFFIndex;for(const i of e){if(a){i.removeByName("CIDFontVersion");i.removeByName("CIDFontRevision");i.removeByName("CIDFontType");i.removeByName("CIDCount");i.removeByName("UIDBase")}const e=new CFFOffsetTracker,s=this.compileDict(i,e);r.push(e);n.add(s);e.offset(t)}n=this.compileIndex(n,r);return{trackers:r,output:n}}compilePrivateDicts(e,t,a){for(let n=0,i=e.length;n>8&255,255&s]);else{i=new Uint8Array(1+2*s);i[0]=0;let t=0;const n=e.charset.length;let o=!1;for(let s=1;s>8&255;i[s+1]=255&c}}return this.compileTypedArray(i)}compileEncoding(e){return this.compileTypedArray(e.raw)}compileFDSelect(e){const t=e.format;let a,r;switch(t){case 0:a=new Uint8Array(1+e.fdSelect.length);a[0]=t;for(r=0;r>8&255,255&n,i];for(r=1;r>8&255,255&r,t);i=t}}const o=(s.length-3)/3;s[1]=o>>8&255;s[2]=255&o;s.push(r>>8&255,255&r);a=new Uint8Array(s)}return this.compileTypedArray(a)}compileTypedArray(e){return Array.from(e)}compileIndex(e,t=[]){const a=e.objects,r=a.length;if(0===r)return[0,0];const n=[r>>8&255,255&r];let i,s,o=1;for(i=0;i>8&255,255&c):3===s?n.push(c>>16&255,c>>8&255,255&c):n.push(c>>>24&255,c>>16&255,c>>8&255,255&c);a[i]&&(c+=a[i].length)}for(i=0;i{Object.defineProperty(t,"__esModule",{value:!0});t.ISOAdobeCharset=t.ExpertSubsetCharset=t.ExpertCharset=void 0;t.ISOAdobeCharset=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"];t.ExpertCharset=[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"];t.ExpertSubsetCharset=[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"]},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ZapfDingbatsEncoding=t.WinAnsiEncoding=t.SymbolSetEncoding=t.StandardEncoding=t.MacRomanEncoding=t.ExpertEncoding=void 0;t.getEncoding=function getEncoding(e){switch(e){case"WinAnsiEncoding":return s;case"StandardEncoding":return i;case"MacRomanEncoding":return n;case"SymbolSetEncoding":return o;case"ZapfDingbatsEncoding":return c;case"ExpertEncoding":return a;case"MacExpertEncoding":return r;default:return null}};const a=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"];t.ExpertEncoding=a;const r=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","centoldstyle","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","","threequartersemdash","","questionsmall","","","","","Ethsmall","","","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","","","","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hypheninferior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","asuperior","centsuperior","","","","","Aacutesmall","Agravesmall","Acircumflexsmall","Adieresissmall","Atildesmall","Aringsmall","Ccedillasmall","Eacutesmall","Egravesmall","Ecircumflexsmall","Edieresissmall","Iacutesmall","Igravesmall","Icircumflexsmall","Idieresissmall","Ntildesmall","Oacutesmall","Ogravesmall","Ocircumflexsmall","Odieresissmall","Otildesmall","Uacutesmall","Ugravesmall","Ucircumflexsmall","Udieresissmall","","eightsuperior","fourinferior","threeinferior","sixinferior","eightinferior","seveninferior","Scaronsmall","","centinferior","twoinferior","","Dieresissmall","","Caronsmall","osuperior","fiveinferior","","commainferior","periodinferior","Yacutesmall","","dollarinferior","","","Thornsmall","","nineinferior","zeroinferior","Zcaronsmall","AEsmall","Oslashsmall","questiondownsmall","oneinferior","Lslashsmall","","","","","","","Cedillasmall","","","","","","OEsmall","figuredash","hyphensuperior","","","","","exclamdownsmall","","Ydieresissmall","","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","ninesuperior","zerosuperior","","esuperior","rsuperior","tsuperior","","","isuperior","ssuperior","dsuperior","","","","","","lsuperior","Ogoneksmall","Brevesmall","Macronsmall","bsuperior","nsuperior","msuperior","commasuperior","periodsuperior","Dotaccentsmall","Ringsmall","","","",""],n=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","space","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron"];t.MacRomanEncoding=n;const i=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls","","","",""];t.StandardEncoding=i;const s=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","bullet","Euro","bullet","quotesinglbase","florin","quotedblbase","ellipsis","dagger","daggerdbl","circumflex","perthousand","Scaron","guilsinglleft","OE","bullet","Zcaron","bullet","bullet","quoteleft","quoteright","quotedblleft","quotedblright","bullet","endash","emdash","tilde","trademark","scaron","guilsinglright","oe","bullet","zcaron","Ydieresis","space","exclamdown","cent","sterling","currency","yen","brokenbar","section","dieresis","copyright","ordfeminine","guillemotleft","logicalnot","hyphen","registered","macron","degree","plusminus","twosuperior","threesuperior","acute","mu","paragraph","periodcentered","cedilla","onesuperior","ordmasculine","guillemotright","onequarter","onehalf","threequarters","questiondown","Agrave","Aacute","Acircumflex","Atilde","Adieresis","Aring","AE","Ccedilla","Egrave","Eacute","Ecircumflex","Edieresis","Igrave","Iacute","Icircumflex","Idieresis","Eth","Ntilde","Ograve","Oacute","Ocircumflex","Otilde","Odieresis","multiply","Oslash","Ugrave","Uacute","Ucircumflex","Udieresis","Yacute","Thorn","germandbls","agrave","aacute","acircumflex","atilde","adieresis","aring","ae","ccedilla","egrave","eacute","ecircumflex","edieresis","igrave","iacute","icircumflex","idieresis","eth","ntilde","ograve","oacute","ocircumflex","otilde","odieresis","divide","oslash","ugrave","uacute","ucircumflex","udieresis","yacute","thorn","ydieresis"];t.WinAnsiEncoding=s;const o=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","universal","numbersign","existential","percent","ampersand","suchthat","parenleft","parenright","asteriskmath","plus","comma","minus","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","congruent","Alpha","Beta","Chi","Delta","Epsilon","Phi","Gamma","Eta","Iota","theta1","Kappa","Lambda","Mu","Nu","Omicron","Pi","Theta","Rho","Sigma","Tau","Upsilon","sigma1","Omega","Xi","Psi","Zeta","bracketleft","therefore","bracketright","perpendicular","underscore","radicalex","alpha","beta","chi","delta","epsilon","phi","gamma","eta","iota","phi1","kappa","lambda","mu","nu","omicron","pi","theta","rho","sigma","tau","upsilon","omega1","omega","xi","psi","zeta","braceleft","bar","braceright","similar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Euro","Upsilon1","minute","lessequal","fraction","infinity","florin","club","diamond","heart","spade","arrowboth","arrowleft","arrowup","arrowright","arrowdown","degree","plusminus","second","greaterequal","multiply","proportional","partialdiff","bullet","divide","notequal","equivalence","approxequal","ellipsis","arrowvertex","arrowhorizex","carriagereturn","aleph","Ifraktur","Rfraktur","weierstrass","circlemultiply","circleplus","emptyset","intersection","union","propersuperset","reflexsuperset","notsubset","propersubset","reflexsubset","element","notelement","angle","gradient","registerserif","copyrightserif","trademarkserif","product","radical","dotmath","logicalnot","logicaland","logicalor","arrowdblboth","arrowdblleft","arrowdblup","arrowdblright","arrowdbldown","lozenge","angleleft","registersans","copyrightsans","trademarksans","summation","parenlefttp","parenleftex","parenleftbt","bracketlefttp","bracketleftex","bracketleftbt","bracelefttp","braceleftmid","braceleftbt","braceex","","angleright","integral","integraltp","integralex","integralbt","parenrighttp","parenrightex","parenrightbt","bracketrighttp","bracketrightex","bracketrightbt","bracerighttp","bracerightmid","bracerightbt",""];t.SymbolSetEncoding=o;const c=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","a1","a2","a202","a3","a4","a5","a119","a118","a117","a11","a12","a13","a14","a15","a16","a105","a17","a18","a19","a20","a21","a22","a23","a24","a25","a26","a27","a28","a6","a7","a8","a9","a10","a29","a30","a31","a32","a33","a34","a35","a36","a37","a38","a39","a40","a41","a42","a43","a44","a45","a46","a47","a48","a49","a50","a51","a52","a53","a54","a55","a56","a57","a58","a59","a60","a61","a62","a63","a64","a65","a66","a67","a68","a69","a70","a71","a72","a73","a74","a203","a75","a204","a76","a77","a78","a79","a81","a82","a83","a84","a97","a98","a99","a100","","a89","a90","a93","a94","a91","a92","a205","a85","a206","a86","a87","a88","a95","a96","","","","","","","","","","","","","","","","","","","","a101","a102","a103","a104","a106","a107","a108","a112","a111","a110","a109","a120","a121","a122","a123","a124","a125","a126","a127","a128","a129","a130","a131","a132","a133","a134","a135","a136","a137","a138","a139","a140","a141","a142","a143","a144","a145","a146","a147","a148","a149","a150","a151","a152","a153","a154","a155","a156","a157","a158","a159","a160","a161","a163","a164","a196","a165","a192","a166","a167","a168","a169","a170","a171","a172","a173","a162","a174","a175","a176","a177","a178","a179","a193","a180","a199","a181","a200","a182","","a201","a183","a184","a197","a185","a194","a198","a186","a195","a187","a188","a189","a190","a191",""];t.ZapfDingbatsEncoding=c},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.SEAC_ANALYSIS_ENABLED=t.MacStandardGlyphOrdering=t.FontFlags=void 0;t.normalizeFontName=function normalizeFontName(e){return e.replaceAll(/[,_]/g,"-").replaceAll(/\s/g,"")};t.recoverGlyphName=recoverGlyphName;t.type1FontGlyphMapping=function type1FontGlyphMapping(e,t,a){const i=Object.create(null);let s,c,l;const h=!!(e.flags&o.Symbolic);if(e.isInternalFont){l=t;for(c=0;c=0?s:0}}else if(e.baseEncodingName){l=(0,r.getEncoding)(e.baseEncodingName);for(c=0;c=0?s:0}}else if(h)for(c in t)i[c]=t[c];else{l=r.StandardEncoding;for(c=0;c=0?s:0}}const u=e.differences;let d;if(u)for(c in u){const e=u[c];s=a.indexOf(e);if(-1===s){d||(d=(0,n.getGlyphsUnicode)());const t=recoverGlyphName(e,d);t!==e&&(s=a.indexOf(t))}i[c]=s>=0?s:0}return i};var r=a(37),n=a(39),i=a(40),s=a(2);t.SEAC_ANALYSIS_ENABLED=!0;const o={FixedPitch:1,Serif:2,Symbolic:4,Script:8,Nonsymbolic:32,Italic:64,AllCap:65536,SmallCap:131072,ForceBold:262144};t.FontFlags=o;t.MacStandardGlyphOrdering=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function recoverGlyphName(e,t){if(void 0!==t[e])return e;const a=(0,i.getUnicodeForGlyph)(e,t);if(-1!==a)for(const e in t)if(t[e]===a)return e;(0,s.info)("Unable to recover a standard glyph name for: "+e);return e}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.getGlyphsUnicode=t.getDingbatsGlyphsUnicode=void 0;var r=a(3);const n=(0,r.getLookupTableFactory)((function(e){e.A=65;e.AE=198;e.AEacute=508;e.AEmacron=482;e.AEsmall=63462;e.Aacute=193;e.Aacutesmall=63457;e.Abreve=258;e.Abreveacute=7854;e.Abrevecyrillic=1232;e.Abrevedotbelow=7862;e.Abrevegrave=7856;e.Abrevehookabove=7858;e.Abrevetilde=7860;e.Acaron=461;e.Acircle=9398;e.Acircumflex=194;e.Acircumflexacute=7844;e.Acircumflexdotbelow=7852;e.Acircumflexgrave=7846;e.Acircumflexhookabove=7848;e.Acircumflexsmall=63458;e.Acircumflextilde=7850;e.Acute=63177;e.Acutesmall=63412;e.Acyrillic=1040;e.Adblgrave=512;e.Adieresis=196;e.Adieresiscyrillic=1234;e.Adieresismacron=478;e.Adieresissmall=63460;e.Adotbelow=7840;e.Adotmacron=480;e.Agrave=192;e.Agravesmall=63456;e.Ahookabove=7842;e.Aiecyrillic=1236;e.Ainvertedbreve=514;e.Alpha=913;e.Alphatonos=902;e.Amacron=256;e.Amonospace=65313;e.Aogonek=260;e.Aring=197;e.Aringacute=506;e.Aringbelow=7680;e.Aringsmall=63461;e.Asmall=63329;e.Atilde=195;e.Atildesmall=63459;e.Aybarmenian=1329;e.B=66;e.Bcircle=9399;e.Bdotaccent=7682;e.Bdotbelow=7684;e.Becyrillic=1041;e.Benarmenian=1330;e.Beta=914;e.Bhook=385;e.Blinebelow=7686;e.Bmonospace=65314;e.Brevesmall=63220;e.Bsmall=63330;e.Btopbar=386;e.C=67;e.Caarmenian=1342;e.Cacute=262;e.Caron=63178;e.Caronsmall=63221;e.Ccaron=268;e.Ccedilla=199;e.Ccedillaacute=7688;e.Ccedillasmall=63463;e.Ccircle=9400;e.Ccircumflex=264;e.Cdot=266;e.Cdotaccent=266;e.Cedillasmall=63416;e.Chaarmenian=1353;e.Cheabkhasiancyrillic=1212;e.Checyrillic=1063;e.Chedescenderabkhasiancyrillic=1214;e.Chedescendercyrillic=1206;e.Chedieresiscyrillic=1268;e.Cheharmenian=1347;e.Chekhakassiancyrillic=1227;e.Cheverticalstrokecyrillic=1208;e.Chi=935;e.Chook=391;e.Circumflexsmall=63222;e.Cmonospace=65315;e.Coarmenian=1361;e.Csmall=63331;e.D=68;e.DZ=497;e.DZcaron=452;e.Daarmenian=1332;e.Dafrican=393;e.Dcaron=270;e.Dcedilla=7696;e.Dcircle=9401;e.Dcircumflexbelow=7698;e.Dcroat=272;e.Ddotaccent=7690;e.Ddotbelow=7692;e.Decyrillic=1044;e.Deicoptic=1006;e.Delta=8710;e.Deltagreek=916;e.Dhook=394;e.Dieresis=63179;e.DieresisAcute=63180;e.DieresisGrave=63181;e.Dieresissmall=63400;e.Digammagreek=988;e.Djecyrillic=1026;e.Dlinebelow=7694;e.Dmonospace=65316;e.Dotaccentsmall=63223;e.Dslash=272;e.Dsmall=63332;e.Dtopbar=395;e.Dz=498;e.Dzcaron=453;e.Dzeabkhasiancyrillic=1248;e.Dzecyrillic=1029;e.Dzhecyrillic=1039;e.E=69;e.Eacute=201;e.Eacutesmall=63465;e.Ebreve=276;e.Ecaron=282;e.Ecedillabreve=7708;e.Echarmenian=1333;e.Ecircle=9402;e.Ecircumflex=202;e.Ecircumflexacute=7870;e.Ecircumflexbelow=7704;e.Ecircumflexdotbelow=7878;e.Ecircumflexgrave=7872;e.Ecircumflexhookabove=7874;e.Ecircumflexsmall=63466;e.Ecircumflextilde=7876;e.Ecyrillic=1028;e.Edblgrave=516;e.Edieresis=203;e.Edieresissmall=63467;e.Edot=278;e.Edotaccent=278;e.Edotbelow=7864;e.Efcyrillic=1060;e.Egrave=200;e.Egravesmall=63464;e.Eharmenian=1335;e.Ehookabove=7866;e.Eightroman=8551;e.Einvertedbreve=518;e.Eiotifiedcyrillic=1124;e.Elcyrillic=1051;e.Elevenroman=8554;e.Emacron=274;e.Emacronacute=7702;e.Emacrongrave=7700;e.Emcyrillic=1052;e.Emonospace=65317;e.Encyrillic=1053;e.Endescendercyrillic=1186;e.Eng=330;e.Enghecyrillic=1188;e.Enhookcyrillic=1223;e.Eogonek=280;e.Eopen=400;e.Epsilon=917;e.Epsilontonos=904;e.Ercyrillic=1056;e.Ereversed=398;e.Ereversedcyrillic=1069;e.Escyrillic=1057;e.Esdescendercyrillic=1194;e.Esh=425;e.Esmall=63333;e.Eta=919;e.Etarmenian=1336;e.Etatonos=905;e.Eth=208;e.Ethsmall=63472;e.Etilde=7868;e.Etildebelow=7706;e.Euro=8364;e.Ezh=439;e.Ezhcaron=494;e.Ezhreversed=440;e.F=70;e.Fcircle=9403;e.Fdotaccent=7710;e.Feharmenian=1366;e.Feicoptic=996;e.Fhook=401;e.Fitacyrillic=1138;e.Fiveroman=8548;e.Fmonospace=65318;e.Fourroman=8547;e.Fsmall=63334;e.G=71;e.GBsquare=13191;e.Gacute=500;e.Gamma=915;e.Gammaafrican=404;e.Gangiacoptic=1002;e.Gbreve=286;e.Gcaron=486;e.Gcedilla=290;e.Gcircle=9404;e.Gcircumflex=284;e.Gcommaaccent=290;e.Gdot=288;e.Gdotaccent=288;e.Gecyrillic=1043;e.Ghadarmenian=1346;e.Ghemiddlehookcyrillic=1172;e.Ghestrokecyrillic=1170;e.Gheupturncyrillic=1168;e.Ghook=403;e.Gimarmenian=1331;e.Gjecyrillic=1027;e.Gmacron=7712;e.Gmonospace=65319;e.Grave=63182;e.Gravesmall=63328;e.Gsmall=63335;e.Gsmallhook=667;e.Gstroke=484;e.H=72;e.H18533=9679;e.H18543=9642;e.H18551=9643;e.H22073=9633;e.HPsquare=13259;e.Haabkhasiancyrillic=1192;e.Hadescendercyrillic=1202;e.Hardsigncyrillic=1066;e.Hbar=294;e.Hbrevebelow=7722;e.Hcedilla=7720;e.Hcircle=9405;e.Hcircumflex=292;e.Hdieresis=7718;e.Hdotaccent=7714;e.Hdotbelow=7716;e.Hmonospace=65320;e.Hoarmenian=1344;e.Horicoptic=1e3;e.Hsmall=63336;e.Hungarumlaut=63183;e.Hungarumlautsmall=63224;e.Hzsquare=13200;e.I=73;e.IAcyrillic=1071;e.IJ=306;e.IUcyrillic=1070;e.Iacute=205;e.Iacutesmall=63469;e.Ibreve=300;e.Icaron=463;e.Icircle=9406;e.Icircumflex=206;e.Icircumflexsmall=63470;e.Icyrillic=1030;e.Idblgrave=520;e.Idieresis=207;e.Idieresisacute=7726;e.Idieresiscyrillic=1252;e.Idieresissmall=63471;e.Idot=304;e.Idotaccent=304;e.Idotbelow=7882;e.Iebrevecyrillic=1238;e.Iecyrillic=1045;e.Ifraktur=8465;e.Igrave=204;e.Igravesmall=63468;e.Ihookabove=7880;e.Iicyrillic=1048;e.Iinvertedbreve=522;e.Iishortcyrillic=1049;e.Imacron=298;e.Imacroncyrillic=1250;e.Imonospace=65321;e.Iniarmenian=1339;e.Iocyrillic=1025;e.Iogonek=302;e.Iota=921;e.Iotaafrican=406;e.Iotadieresis=938;e.Iotatonos=906;e.Ismall=63337;e.Istroke=407;e.Itilde=296;e.Itildebelow=7724;e.Izhitsacyrillic=1140;e.Izhitsadblgravecyrillic=1142;e.J=74;e.Jaarmenian=1345;e.Jcircle=9407;e.Jcircumflex=308;e.Jecyrillic=1032;e.Jheharmenian=1355;e.Jmonospace=65322;e.Jsmall=63338;e.K=75;e.KBsquare=13189;e.KKsquare=13261;e.Kabashkircyrillic=1184;e.Kacute=7728;e.Kacyrillic=1050;e.Kadescendercyrillic=1178;e.Kahookcyrillic=1219;e.Kappa=922;e.Kastrokecyrillic=1182;e.Kaverticalstrokecyrillic=1180;e.Kcaron=488;e.Kcedilla=310;e.Kcircle=9408;e.Kcommaaccent=310;e.Kdotbelow=7730;e.Keharmenian=1364;e.Kenarmenian=1343;e.Khacyrillic=1061;e.Kheicoptic=998;e.Khook=408;e.Kjecyrillic=1036;e.Klinebelow=7732;e.Kmonospace=65323;e.Koppacyrillic=1152;e.Koppagreek=990;e.Ksicyrillic=1134;e.Ksmall=63339;e.L=76;e.LJ=455;e.LL=63167;e.Lacute=313;e.Lambda=923;e.Lcaron=317;e.Lcedilla=315;e.Lcircle=9409;e.Lcircumflexbelow=7740;e.Lcommaaccent=315;e.Ldot=319;e.Ldotaccent=319;e.Ldotbelow=7734;e.Ldotbelowmacron=7736;e.Liwnarmenian=1340;e.Lj=456;e.Ljecyrillic=1033;e.Llinebelow=7738;e.Lmonospace=65324;e.Lslash=321;e.Lslashsmall=63225;e.Lsmall=63340;e.M=77;e.MBsquare=13190;e.Macron=63184;e.Macronsmall=63407;e.Macute=7742;e.Mcircle=9410;e.Mdotaccent=7744;e.Mdotbelow=7746;e.Menarmenian=1348;e.Mmonospace=65325;e.Msmall=63341;e.Mturned=412;e.Mu=924;e.N=78;e.NJ=458;e.Nacute=323;e.Ncaron=327;e.Ncedilla=325;e.Ncircle=9411;e.Ncircumflexbelow=7754;e.Ncommaaccent=325;e.Ndotaccent=7748;e.Ndotbelow=7750;e.Nhookleft=413;e.Nineroman=8552;e.Nj=459;e.Njecyrillic=1034;e.Nlinebelow=7752;e.Nmonospace=65326;e.Nowarmenian=1350;e.Nsmall=63342;e.Ntilde=209;e.Ntildesmall=63473;e.Nu=925;e.O=79;e.OE=338;e.OEsmall=63226;e.Oacute=211;e.Oacutesmall=63475;e.Obarredcyrillic=1256;e.Obarreddieresiscyrillic=1258;e.Obreve=334;e.Ocaron=465;e.Ocenteredtilde=415;e.Ocircle=9412;e.Ocircumflex=212;e.Ocircumflexacute=7888;e.Ocircumflexdotbelow=7896;e.Ocircumflexgrave=7890;e.Ocircumflexhookabove=7892;e.Ocircumflexsmall=63476;e.Ocircumflextilde=7894;e.Ocyrillic=1054;e.Odblacute=336;e.Odblgrave=524;e.Odieresis=214;e.Odieresiscyrillic=1254;e.Odieresissmall=63478;e.Odotbelow=7884;e.Ogoneksmall=63227;e.Ograve=210;e.Ogravesmall=63474;e.Oharmenian=1365;e.Ohm=8486;e.Ohookabove=7886;e.Ohorn=416;e.Ohornacute=7898;e.Ohorndotbelow=7906;e.Ohorngrave=7900;e.Ohornhookabove=7902;e.Ohorntilde=7904;e.Ohungarumlaut=336;e.Oi=418;e.Oinvertedbreve=526;e.Omacron=332;e.Omacronacute=7762;e.Omacrongrave=7760;e.Omega=8486;e.Omegacyrillic=1120;e.Omegagreek=937;e.Omegaroundcyrillic=1146;e.Omegatitlocyrillic=1148;e.Omegatonos=911;e.Omicron=927;e.Omicrontonos=908;e.Omonospace=65327;e.Oneroman=8544;e.Oogonek=490;e.Oogonekmacron=492;e.Oopen=390;e.Oslash=216;e.Oslashacute=510;e.Oslashsmall=63480;e.Osmall=63343;e.Ostrokeacute=510;e.Otcyrillic=1150;e.Otilde=213;e.Otildeacute=7756;e.Otildedieresis=7758;e.Otildesmall=63477;e.P=80;e.Pacute=7764;e.Pcircle=9413;e.Pdotaccent=7766;e.Pecyrillic=1055;e.Peharmenian=1354;e.Pemiddlehookcyrillic=1190;e.Phi=934;e.Phook=420;e.Pi=928;e.Piwrarmenian=1363;e.Pmonospace=65328;e.Psi=936;e.Psicyrillic=1136;e.Psmall=63344;e.Q=81;e.Qcircle=9414;e.Qmonospace=65329;e.Qsmall=63345;e.R=82;e.Raarmenian=1356;e.Racute=340;e.Rcaron=344;e.Rcedilla=342;e.Rcircle=9415;e.Rcommaaccent=342;e.Rdblgrave=528;e.Rdotaccent=7768;e.Rdotbelow=7770;e.Rdotbelowmacron=7772;e.Reharmenian=1360;e.Rfraktur=8476;e.Rho=929;e.Ringsmall=63228;e.Rinvertedbreve=530;e.Rlinebelow=7774;e.Rmonospace=65330;e.Rsmall=63346;e.Rsmallinverted=641;e.Rsmallinvertedsuperior=694;e.S=83;e.SF010000=9484;e.SF020000=9492;e.SF030000=9488;e.SF040000=9496;e.SF050000=9532;e.SF060000=9516;e.SF070000=9524;e.SF080000=9500;e.SF090000=9508;e.SF100000=9472;e.SF110000=9474;e.SF190000=9569;e.SF200000=9570;e.SF210000=9558;e.SF220000=9557;e.SF230000=9571;e.SF240000=9553;e.SF250000=9559;e.SF260000=9565;e.SF270000=9564;e.SF280000=9563;e.SF360000=9566;e.SF370000=9567;e.SF380000=9562;e.SF390000=9556;e.SF400000=9577;e.SF410000=9574;e.SF420000=9568;e.SF430000=9552;e.SF440000=9580;e.SF450000=9575;e.SF460000=9576;e.SF470000=9572;e.SF480000=9573;e.SF490000=9561;e.SF500000=9560;e.SF510000=9554;e.SF520000=9555;e.SF530000=9579;e.SF540000=9578;e.Sacute=346;e.Sacutedotaccent=7780;e.Sampigreek=992;e.Scaron=352;e.Scarondotaccent=7782;e.Scaronsmall=63229;e.Scedilla=350;e.Schwa=399;e.Schwacyrillic=1240;e.Schwadieresiscyrillic=1242;e.Scircle=9416;e.Scircumflex=348;e.Scommaaccent=536;e.Sdotaccent=7776;e.Sdotbelow=7778;e.Sdotbelowdotaccent=7784;e.Seharmenian=1357;e.Sevenroman=8550;e.Shaarmenian=1351;e.Shacyrillic=1064;e.Shchacyrillic=1065;e.Sheicoptic=994;e.Shhacyrillic=1210;e.Shimacoptic=1004;e.Sigma=931;e.Sixroman=8549;e.Smonospace=65331;e.Softsigncyrillic=1068;e.Ssmall=63347;e.Stigmagreek=986;e.T=84;e.Tau=932;e.Tbar=358;e.Tcaron=356;e.Tcedilla=354;e.Tcircle=9417;e.Tcircumflexbelow=7792;e.Tcommaaccent=354;e.Tdotaccent=7786;e.Tdotbelow=7788;e.Tecyrillic=1058;e.Tedescendercyrillic=1196;e.Tenroman=8553;e.Tetsecyrillic=1204;e.Theta=920;e.Thook=428;e.Thorn=222;e.Thornsmall=63486;e.Threeroman=8546;e.Tildesmall=63230;e.Tiwnarmenian=1359;e.Tlinebelow=7790;e.Tmonospace=65332;e.Toarmenian=1337;e.Tonefive=444;e.Tonesix=388;e.Tonetwo=423;e.Tretroflexhook=430;e.Tsecyrillic=1062;e.Tshecyrillic=1035;e.Tsmall=63348;e.Twelveroman=8555;e.Tworoman=8545;e.U=85;e.Uacute=218;e.Uacutesmall=63482;e.Ubreve=364;e.Ucaron=467;e.Ucircle=9418;e.Ucircumflex=219;e.Ucircumflexbelow=7798;e.Ucircumflexsmall=63483;e.Ucyrillic=1059;e.Udblacute=368;e.Udblgrave=532;e.Udieresis=220;e.Udieresisacute=471;e.Udieresisbelow=7794;e.Udieresiscaron=473;e.Udieresiscyrillic=1264;e.Udieresisgrave=475;e.Udieresismacron=469;e.Udieresissmall=63484;e.Udotbelow=7908;e.Ugrave=217;e.Ugravesmall=63481;e.Uhookabove=7910;e.Uhorn=431;e.Uhornacute=7912;e.Uhorndotbelow=7920;e.Uhorngrave=7914;e.Uhornhookabove=7916;e.Uhorntilde=7918;e.Uhungarumlaut=368;e.Uhungarumlautcyrillic=1266;e.Uinvertedbreve=534;e.Ukcyrillic=1144;e.Umacron=362;e.Umacroncyrillic=1262;e.Umacrondieresis=7802;e.Umonospace=65333;e.Uogonek=370;e.Upsilon=933;e.Upsilon1=978;e.Upsilonacutehooksymbolgreek=979;e.Upsilonafrican=433;e.Upsilondieresis=939;e.Upsilondieresishooksymbolgreek=980;e.Upsilonhooksymbol=978;e.Upsilontonos=910;e.Uring=366;e.Ushortcyrillic=1038;e.Usmall=63349;e.Ustraightcyrillic=1198;e.Ustraightstrokecyrillic=1200;e.Utilde=360;e.Utildeacute=7800;e.Utildebelow=7796;e.V=86;e.Vcircle=9419;e.Vdotbelow=7806;e.Vecyrillic=1042;e.Vewarmenian=1358;e.Vhook=434;e.Vmonospace=65334;e.Voarmenian=1352;e.Vsmall=63350;e.Vtilde=7804;e.W=87;e.Wacute=7810;e.Wcircle=9420;e.Wcircumflex=372;e.Wdieresis=7812;e.Wdotaccent=7814;e.Wdotbelow=7816;e.Wgrave=7808;e.Wmonospace=65335;e.Wsmall=63351;e.X=88;e.Xcircle=9421;e.Xdieresis=7820;e.Xdotaccent=7818;e.Xeharmenian=1341;e.Xi=926;e.Xmonospace=65336;e.Xsmall=63352;e.Y=89;e.Yacute=221;e.Yacutesmall=63485;e.Yatcyrillic=1122;e.Ycircle=9422;e.Ycircumflex=374;e.Ydieresis=376;e.Ydieresissmall=63487;e.Ydotaccent=7822;e.Ydotbelow=7924;e.Yericyrillic=1067;e.Yerudieresiscyrillic=1272;e.Ygrave=7922;e.Yhook=435;e.Yhookabove=7926;e.Yiarmenian=1349;e.Yicyrillic=1031;e.Yiwnarmenian=1362;e.Ymonospace=65337;e.Ysmall=63353;e.Ytilde=7928;e.Yusbigcyrillic=1130;e.Yusbigiotifiedcyrillic=1132;e.Yuslittlecyrillic=1126;e.Yuslittleiotifiedcyrillic=1128;e.Z=90;e.Zaarmenian=1334;e.Zacute=377;e.Zcaron=381;e.Zcaronsmall=63231;e.Zcircle=9423;e.Zcircumflex=7824;e.Zdot=379;e.Zdotaccent=379;e.Zdotbelow=7826;e.Zecyrillic=1047;e.Zedescendercyrillic=1176;e.Zedieresiscyrillic=1246;e.Zeta=918;e.Zhearmenian=1338;e.Zhebrevecyrillic=1217;e.Zhecyrillic=1046;e.Zhedescendercyrillic=1174;e.Zhedieresiscyrillic=1244;e.Zlinebelow=7828;e.Zmonospace=65338;e.Zsmall=63354;e.Zstroke=437;e.a=97;e.aabengali=2438;e.aacute=225;e.aadeva=2310;e.aagujarati=2694;e.aagurmukhi=2566;e.aamatragurmukhi=2622;e.aarusquare=13059;e.aavowelsignbengali=2494;e.aavowelsigndeva=2366;e.aavowelsigngujarati=2750;e.abbreviationmarkarmenian=1375;e.abbreviationsigndeva=2416;e.abengali=2437;e.abopomofo=12570;e.abreve=259;e.abreveacute=7855;e.abrevecyrillic=1233;e.abrevedotbelow=7863;e.abrevegrave=7857;e.abrevehookabove=7859;e.abrevetilde=7861;e.acaron=462;e.acircle=9424;e.acircumflex=226;e.acircumflexacute=7845;e.acircumflexdotbelow=7853;e.acircumflexgrave=7847;e.acircumflexhookabove=7849;e.acircumflextilde=7851;e.acute=180;e.acutebelowcmb=791;e.acutecmb=769;e.acutecomb=769;e.acutedeva=2388;e.acutelowmod=719;e.acutetonecmb=833;e.acyrillic=1072;e.adblgrave=513;e.addakgurmukhi=2673;e.adeva=2309;e.adieresis=228;e.adieresiscyrillic=1235;e.adieresismacron=479;e.adotbelow=7841;e.adotmacron=481;e.ae=230;e.aeacute=509;e.aekorean=12624;e.aemacron=483;e.afii00208=8213;e.afii08941=8356;e.afii10017=1040;e.afii10018=1041;e.afii10019=1042;e.afii10020=1043;e.afii10021=1044;e.afii10022=1045;e.afii10023=1025;e.afii10024=1046;e.afii10025=1047;e.afii10026=1048;e.afii10027=1049;e.afii10028=1050;e.afii10029=1051;e.afii10030=1052;e.afii10031=1053;e.afii10032=1054;e.afii10033=1055;e.afii10034=1056;e.afii10035=1057;e.afii10036=1058;e.afii10037=1059;e.afii10038=1060;e.afii10039=1061;e.afii10040=1062;e.afii10041=1063;e.afii10042=1064;e.afii10043=1065;e.afii10044=1066;e.afii10045=1067;e.afii10046=1068;e.afii10047=1069;e.afii10048=1070;e.afii10049=1071;e.afii10050=1168;e.afii10051=1026;e.afii10052=1027;e.afii10053=1028;e.afii10054=1029;e.afii10055=1030;e.afii10056=1031;e.afii10057=1032;e.afii10058=1033;e.afii10059=1034;e.afii10060=1035;e.afii10061=1036;e.afii10062=1038;e.afii10063=63172;e.afii10064=63173;e.afii10065=1072;e.afii10066=1073;e.afii10067=1074;e.afii10068=1075;e.afii10069=1076;e.afii10070=1077;e.afii10071=1105;e.afii10072=1078;e.afii10073=1079;e.afii10074=1080;e.afii10075=1081;e.afii10076=1082;e.afii10077=1083;e.afii10078=1084;e.afii10079=1085;e.afii10080=1086;e.afii10081=1087;e.afii10082=1088;e.afii10083=1089;e.afii10084=1090;e.afii10085=1091;e.afii10086=1092;e.afii10087=1093;e.afii10088=1094;e.afii10089=1095;e.afii10090=1096;e.afii10091=1097;e.afii10092=1098;e.afii10093=1099;e.afii10094=1100;e.afii10095=1101;e.afii10096=1102;e.afii10097=1103;e.afii10098=1169;e.afii10099=1106;e.afii10100=1107;e.afii10101=1108;e.afii10102=1109;e.afii10103=1110;e.afii10104=1111;e.afii10105=1112;e.afii10106=1113;e.afii10107=1114;e.afii10108=1115;e.afii10109=1116;e.afii10110=1118;e.afii10145=1039;e.afii10146=1122;e.afii10147=1138;e.afii10148=1140;e.afii10192=63174;e.afii10193=1119;e.afii10194=1123;e.afii10195=1139;e.afii10196=1141;e.afii10831=63175;e.afii10832=63176;e.afii10846=1241;e.afii299=8206;e.afii300=8207;e.afii301=8205;e.afii57381=1642;e.afii57388=1548;e.afii57392=1632;e.afii57393=1633;e.afii57394=1634;e.afii57395=1635;e.afii57396=1636;e.afii57397=1637;e.afii57398=1638;e.afii57399=1639;e.afii57400=1640;e.afii57401=1641;e.afii57403=1563;e.afii57407=1567;e.afii57409=1569;e.afii57410=1570;e.afii57411=1571;e.afii57412=1572;e.afii57413=1573;e.afii57414=1574;e.afii57415=1575;e.afii57416=1576;e.afii57417=1577;e.afii57418=1578;e.afii57419=1579;e.afii57420=1580;e.afii57421=1581;e.afii57422=1582;e.afii57423=1583;e.afii57424=1584;e.afii57425=1585;e.afii57426=1586;e.afii57427=1587;e.afii57428=1588;e.afii57429=1589;e.afii57430=1590;e.afii57431=1591;e.afii57432=1592;e.afii57433=1593;e.afii57434=1594;e.afii57440=1600;e.afii57441=1601;e.afii57442=1602;e.afii57443=1603;e.afii57444=1604;e.afii57445=1605;e.afii57446=1606;e.afii57448=1608;e.afii57449=1609;e.afii57450=1610;e.afii57451=1611;e.afii57452=1612;e.afii57453=1613;e.afii57454=1614;e.afii57455=1615;e.afii57456=1616;e.afii57457=1617;e.afii57458=1618;e.afii57470=1607;e.afii57505=1700;e.afii57506=1662;e.afii57507=1670;e.afii57508=1688;e.afii57509=1711;e.afii57511=1657;e.afii57512=1672;e.afii57513=1681;e.afii57514=1722;e.afii57519=1746;e.afii57534=1749;e.afii57636=8362;e.afii57645=1470;e.afii57658=1475;e.afii57664=1488;e.afii57665=1489;e.afii57666=1490;e.afii57667=1491;e.afii57668=1492;e.afii57669=1493;e.afii57670=1494;e.afii57671=1495;e.afii57672=1496;e.afii57673=1497;e.afii57674=1498;e.afii57675=1499;e.afii57676=1500;e.afii57677=1501;e.afii57678=1502;e.afii57679=1503;e.afii57680=1504;e.afii57681=1505;e.afii57682=1506;e.afii57683=1507;e.afii57684=1508;e.afii57685=1509;e.afii57686=1510;e.afii57687=1511;e.afii57688=1512;e.afii57689=1513;e.afii57690=1514;e.afii57694=64298;e.afii57695=64299;e.afii57700=64331;e.afii57705=64287;e.afii57716=1520;e.afii57717=1521;e.afii57718=1522;e.afii57723=64309;e.afii57793=1460;e.afii57794=1461;e.afii57795=1462;e.afii57796=1467;e.afii57797=1464;e.afii57798=1463;e.afii57799=1456;e.afii57800=1458;e.afii57801=1457;e.afii57802=1459;e.afii57803=1474;e.afii57804=1473;e.afii57806=1465;e.afii57807=1468;e.afii57839=1469;e.afii57841=1471;e.afii57842=1472;e.afii57929=700;e.afii61248=8453;e.afii61289=8467;e.afii61352=8470;e.afii61573=8236;e.afii61574=8237;e.afii61575=8238;e.afii61664=8204;e.afii63167=1645;e.afii64937=701;e.agrave=224;e.agujarati=2693;e.agurmukhi=2565;e.ahiragana=12354;e.ahookabove=7843;e.aibengali=2448;e.aibopomofo=12574;e.aideva=2320;e.aiecyrillic=1237;e.aigujarati=2704;e.aigurmukhi=2576;e.aimatragurmukhi=2632;e.ainarabic=1593;e.ainfinalarabic=65226;e.aininitialarabic=65227;e.ainmedialarabic=65228;e.ainvertedbreve=515;e.aivowelsignbengali=2504;e.aivowelsigndeva=2376;e.aivowelsigngujarati=2760;e.akatakana=12450;e.akatakanahalfwidth=65393;e.akorean=12623;e.alef=1488;e.alefarabic=1575;e.alefdageshhebrew=64304;e.aleffinalarabic=65166;e.alefhamzaabovearabic=1571;e.alefhamzaabovefinalarabic=65156;e.alefhamzabelowarabic=1573;e.alefhamzabelowfinalarabic=65160;e.alefhebrew=1488;e.aleflamedhebrew=64335;e.alefmaddaabovearabic=1570;e.alefmaddaabovefinalarabic=65154;e.alefmaksuraarabic=1609;e.alefmaksurafinalarabic=65264;e.alefmaksurainitialarabic=65267;e.alefmaksuramedialarabic=65268;e.alefpatahhebrew=64302;e.alefqamatshebrew=64303;e.aleph=8501;e.allequal=8780;e.alpha=945;e.alphatonos=940;e.amacron=257;e.amonospace=65345;e.ampersand=38;e.ampersandmonospace=65286;e.ampersandsmall=63270;e.amsquare=13250;e.anbopomofo=12578;e.angbopomofo=12580;e.angbracketleft=12296;e.angbracketright=12297;e.angkhankhuthai=3674;e.angle=8736;e.anglebracketleft=12296;e.anglebracketleftvertical=65087;e.anglebracketright=12297;e.anglebracketrightvertical=65088;e.angleleft=9001;e.angleright=9002;e.angstrom=8491;e.anoteleia=903;e.anudattadeva=2386;e.anusvarabengali=2434;e.anusvaradeva=2306;e.anusvaragujarati=2690;e.aogonek=261;e.apaatosquare=13056;e.aparen=9372;e.apostrophearmenian=1370;e.apostrophemod=700;e.apple=63743;e.approaches=8784;e.approxequal=8776;e.approxequalorimage=8786;e.approximatelyequal=8773;e.araeaekorean=12686;e.araeakorean=12685;e.arc=8978;e.arighthalfring=7834;e.aring=229;e.aringacute=507;e.aringbelow=7681;e.arrowboth=8596;e.arrowdashdown=8675;e.arrowdashleft=8672;e.arrowdashright=8674;e.arrowdashup=8673;e.arrowdblboth=8660;e.arrowdbldown=8659;e.arrowdblleft=8656;e.arrowdblright=8658;e.arrowdblup=8657;e.arrowdown=8595;e.arrowdownleft=8601;e.arrowdownright=8600;e.arrowdownwhite=8681;e.arrowheaddownmod=709;e.arrowheadleftmod=706;e.arrowheadrightmod=707;e.arrowheadupmod=708;e.arrowhorizex=63719;e.arrowleft=8592;e.arrowleftdbl=8656;e.arrowleftdblstroke=8653;e.arrowleftoverright=8646;e.arrowleftwhite=8678;e.arrowright=8594;e.arrowrightdblstroke=8655;e.arrowrightheavy=10142;e.arrowrightoverleft=8644;e.arrowrightwhite=8680;e.arrowtableft=8676;e.arrowtabright=8677;e.arrowup=8593;e.arrowupdn=8597;e.arrowupdnbse=8616;e.arrowupdownbase=8616;e.arrowupleft=8598;e.arrowupleftofdown=8645;e.arrowupright=8599;e.arrowupwhite=8679;e.arrowvertex=63718;e.asciicircum=94;e.asciicircummonospace=65342;e.asciitilde=126;e.asciitildemonospace=65374;e.ascript=593;e.ascriptturned=594;e.asmallhiragana=12353;e.asmallkatakana=12449;e.asmallkatakanahalfwidth=65383;e.asterisk=42;e.asteriskaltonearabic=1645;e.asteriskarabic=1645;e.asteriskmath=8727;e.asteriskmonospace=65290;e.asterisksmall=65121;e.asterism=8258;e.asuperior=63209;e.asymptoticallyequal=8771;e.at=64;e.atilde=227;e.atmonospace=65312;e.atsmall=65131;e.aturned=592;e.aubengali=2452;e.aubopomofo=12576;e.audeva=2324;e.augujarati=2708;e.augurmukhi=2580;e.aulengthmarkbengali=2519;e.aumatragurmukhi=2636;e.auvowelsignbengali=2508;e.auvowelsigndeva=2380;e.auvowelsigngujarati=2764;e.avagrahadeva=2365;e.aybarmenian=1377;e.ayin=1506;e.ayinaltonehebrew=64288;e.ayinhebrew=1506;e.b=98;e.babengali=2476;e.backslash=92;e.backslashmonospace=65340;e.badeva=2348;e.bagujarati=2732;e.bagurmukhi=2604;e.bahiragana=12400;e.bahtthai=3647;e.bakatakana=12496;e.bar=124;e.barmonospace=65372;e.bbopomofo=12549;e.bcircle=9425;e.bdotaccent=7683;e.bdotbelow=7685;e.beamedsixteenthnotes=9836;e.because=8757;e.becyrillic=1073;e.beharabic=1576;e.behfinalarabic=65168;e.behinitialarabic=65169;e.behiragana=12409;e.behmedialarabic=65170;e.behmeeminitialarabic=64671;e.behmeemisolatedarabic=64520;e.behnoonfinalarabic=64621;e.bekatakana=12505;e.benarmenian=1378;e.bet=1489;e.beta=946;e.betasymbolgreek=976;e.betdagesh=64305;e.betdageshhebrew=64305;e.bethebrew=1489;e.betrafehebrew=64332;e.bhabengali=2477;e.bhadeva=2349;e.bhagujarati=2733;e.bhagurmukhi=2605;e.bhook=595;e.bihiragana=12403;e.bikatakana=12499;e.bilabialclick=664;e.bindigurmukhi=2562;e.birusquare=13105;e.blackcircle=9679;e.blackdiamond=9670;e.blackdownpointingtriangle=9660;e.blackleftpointingpointer=9668;e.blackleftpointingtriangle=9664;e.blacklenticularbracketleft=12304;e.blacklenticularbracketleftvertical=65083;e.blacklenticularbracketright=12305;e.blacklenticularbracketrightvertical=65084;e.blacklowerlefttriangle=9699;e.blacklowerrighttriangle=9698;e.blackrectangle=9644;e.blackrightpointingpointer=9658;e.blackrightpointingtriangle=9654;e.blacksmallsquare=9642;e.blacksmilingface=9787;e.blacksquare=9632;e.blackstar=9733;e.blackupperlefttriangle=9700;e.blackupperrighttriangle=9701;e.blackuppointingsmalltriangle=9652;e.blackuppointingtriangle=9650;e.blank=9251;e.blinebelow=7687;e.block=9608;e.bmonospace=65346;e.bobaimaithai=3610;e.bohiragana=12412;e.bokatakana=12508;e.bparen=9373;e.bqsquare=13251;e.braceex=63732;e.braceleft=123;e.braceleftbt=63731;e.braceleftmid=63730;e.braceleftmonospace=65371;e.braceleftsmall=65115;e.bracelefttp=63729;e.braceleftvertical=65079;e.braceright=125;e.bracerightbt=63742;e.bracerightmid=63741;e.bracerightmonospace=65373;e.bracerightsmall=65116;e.bracerighttp=63740;e.bracerightvertical=65080;e.bracketleft=91;e.bracketleftbt=63728;e.bracketleftex=63727;e.bracketleftmonospace=65339;e.bracketlefttp=63726;e.bracketright=93;e.bracketrightbt=63739;e.bracketrightex=63738;e.bracketrightmonospace=65341;e.bracketrighttp=63737;e.breve=728;e.brevebelowcmb=814;e.brevecmb=774;e.breveinvertedbelowcmb=815;e.breveinvertedcmb=785;e.breveinverteddoublecmb=865;e.bridgebelowcmb=810;e.bridgeinvertedbelowcmb=826;e.brokenbar=166;e.bstroke=384;e.bsuperior=63210;e.btopbar=387;e.buhiragana=12406;e.bukatakana=12502;e.bullet=8226;e.bulletinverse=9688;e.bulletoperator=8729;e.bullseye=9678;e.c=99;e.caarmenian=1390;e.cabengali=2458;e.cacute=263;e.cadeva=2330;e.cagujarati=2714;e.cagurmukhi=2586;e.calsquare=13192;e.candrabindubengali=2433;e.candrabinducmb=784;e.candrabindudeva=2305;e.candrabindugujarati=2689;e.capslock=8682;e.careof=8453;e.caron=711;e.caronbelowcmb=812;e.caroncmb=780;e.carriagereturn=8629;e.cbopomofo=12568;e.ccaron=269;e.ccedilla=231;e.ccedillaacute=7689;e.ccircle=9426;e.ccircumflex=265;e.ccurl=597;e.cdot=267;e.cdotaccent=267;e.cdsquare=13253;e.cedilla=184;e.cedillacmb=807;e.cent=162;e.centigrade=8451;e.centinferior=63199;e.centmonospace=65504;e.centoldstyle=63394;e.centsuperior=63200;e.chaarmenian=1401;e.chabengali=2459;e.chadeva=2331;e.chagujarati=2715;e.chagurmukhi=2587;e.chbopomofo=12564;e.cheabkhasiancyrillic=1213;e.checkmark=10003;e.checyrillic=1095;e.chedescenderabkhasiancyrillic=1215;e.chedescendercyrillic=1207;e.chedieresiscyrillic=1269;e.cheharmenian=1395;e.chekhakassiancyrillic=1228;e.cheverticalstrokecyrillic=1209;e.chi=967;e.chieuchacirclekorean=12919;e.chieuchaparenkorean=12823;e.chieuchcirclekorean=12905;e.chieuchkorean=12618;e.chieuchparenkorean=12809;e.chochangthai=3594;e.chochanthai=3592;e.chochingthai=3593;e.chochoethai=3596;e.chook=392;e.cieucacirclekorean=12918;e.cieucaparenkorean=12822;e.cieuccirclekorean=12904;e.cieuckorean=12616;e.cieucparenkorean=12808;e.cieucuparenkorean=12828;e.circle=9675;e.circlecopyrt=169;e.circlemultiply=8855;e.circleot=8857;e.circleplus=8853;e.circlepostalmark=12342;e.circlewithlefthalfblack=9680;e.circlewithrighthalfblack=9681;e.circumflex=710;e.circumflexbelowcmb=813;e.circumflexcmb=770;e.clear=8999;e.clickalveolar=450;e.clickdental=448;e.clicklateral=449;e.clickretroflex=451;e.club=9827;e.clubsuitblack=9827;e.clubsuitwhite=9831;e.cmcubedsquare=13220;e.cmonospace=65347;e.cmsquaredsquare=13216;e.coarmenian=1409;e.colon=58;e.colonmonetary=8353;e.colonmonospace=65306;e.colonsign=8353;e.colonsmall=65109;e.colontriangularhalfmod=721;e.colontriangularmod=720;e.comma=44;e.commaabovecmb=787;e.commaaboverightcmb=789;e.commaaccent=63171;e.commaarabic=1548;e.commaarmenian=1373;e.commainferior=63201;e.commamonospace=65292;e.commareversedabovecmb=788;e.commareversedmod=701;e.commasmall=65104;e.commasuperior=63202;e.commaturnedabovecmb=786;e.commaturnedmod=699;e.compass=9788;e.congruent=8773;e.contourintegral=8750;e.control=8963;e.controlACK=6;e.controlBEL=7;e.controlBS=8;e.controlCAN=24;e.controlCR=13;e.controlDC1=17;e.controlDC2=18;e.controlDC3=19;e.controlDC4=20;e.controlDEL=127;e.controlDLE=16;e.controlEM=25;e.controlENQ=5;e.controlEOT=4;e.controlESC=27;e.controlETB=23;e.controlETX=3;e.controlFF=12;e.controlFS=28;e.controlGS=29;e.controlHT=9;e.controlLF=10;e.controlNAK=21;e.controlNULL=0;e.controlRS=30;e.controlSI=15;e.controlSO=14;e.controlSOT=2;e.controlSTX=1;e.controlSUB=26;e.controlSYN=22;e.controlUS=31;e.controlVT=11;e.copyright=169;e.copyrightsans=63721;e.copyrightserif=63193;e.cornerbracketleft=12300;e.cornerbracketlefthalfwidth=65378;e.cornerbracketleftvertical=65089;e.cornerbracketright=12301;e.cornerbracketrighthalfwidth=65379;e.cornerbracketrightvertical=65090;e.corporationsquare=13183;e.cosquare=13255;e.coverkgsquare=13254;e.cparen=9374;e.cruzeiro=8354;e.cstretched=663;e.curlyand=8911;e.curlyor=8910;e.currency=164;e.cyrBreve=63185;e.cyrFlex=63186;e.cyrbreve=63188;e.cyrflex=63189;e.d=100;e.daarmenian=1380;e.dabengali=2470;e.dadarabic=1590;e.dadeva=2342;e.dadfinalarabic=65214;e.dadinitialarabic=65215;e.dadmedialarabic=65216;e.dagesh=1468;e.dageshhebrew=1468;e.dagger=8224;e.daggerdbl=8225;e.dagujarati=2726;e.dagurmukhi=2598;e.dahiragana=12384;e.dakatakana=12480;e.dalarabic=1583;e.dalet=1491;e.daletdagesh=64307;e.daletdageshhebrew=64307;e.dalethebrew=1491;e.dalfinalarabic=65194;e.dammaarabic=1615;e.dammalowarabic=1615;e.dammatanaltonearabic=1612;e.dammatanarabic=1612;e.danda=2404;e.dargahebrew=1447;e.dargalefthebrew=1447;e.dasiapneumatacyrilliccmb=1157;e.dblGrave=63187;e.dblanglebracketleft=12298;e.dblanglebracketleftvertical=65085;e.dblanglebracketright=12299;e.dblanglebracketrightvertical=65086;e.dblarchinvertedbelowcmb=811;e.dblarrowleft=8660;e.dblarrowright=8658;e.dbldanda=2405;e.dblgrave=63190;e.dblgravecmb=783;e.dblintegral=8748;e.dbllowline=8215;e.dbllowlinecmb=819;e.dbloverlinecmb=831;e.dblprimemod=698;e.dblverticalbar=8214;e.dblverticallineabovecmb=782;e.dbopomofo=12553;e.dbsquare=13256;e.dcaron=271;e.dcedilla=7697;e.dcircle=9427;e.dcircumflexbelow=7699;e.dcroat=273;e.ddabengali=2465;e.ddadeva=2337;e.ddagujarati=2721;e.ddagurmukhi=2593;e.ddalarabic=1672;e.ddalfinalarabic=64393;e.dddhadeva=2396;e.ddhabengali=2466;e.ddhadeva=2338;e.ddhagujarati=2722;e.ddhagurmukhi=2594;e.ddotaccent=7691;e.ddotbelow=7693;e.decimalseparatorarabic=1643;e.decimalseparatorpersian=1643;e.decyrillic=1076;e.degree=176;e.dehihebrew=1453;e.dehiragana=12391;e.deicoptic=1007;e.dekatakana=12487;e.deleteleft=9003;e.deleteright=8998;e.delta=948;e.deltaturned=397;e.denominatorminusonenumeratorbengali=2552;e.dezh=676;e.dhabengali=2471;e.dhadeva=2343;e.dhagujarati=2727;e.dhagurmukhi=2599;e.dhook=599;e.dialytikatonos=901;e.dialytikatonoscmb=836;e.diamond=9830;e.diamondsuitwhite=9826;e.dieresis=168;e.dieresisacute=63191;e.dieresisbelowcmb=804;e.dieresiscmb=776;e.dieresisgrave=63192;e.dieresistonos=901;e.dihiragana=12386;e.dikatakana=12482;e.dittomark=12291;e.divide=247;e.divides=8739;e.divisionslash=8725;e.djecyrillic=1106;e.dkshade=9619;e.dlinebelow=7695;e.dlsquare=13207;e.dmacron=273;e.dmonospace=65348;e.dnblock=9604;e.dochadathai=3598;e.dodekthai=3604;e.dohiragana=12393;e.dokatakana=12489;e.dollar=36;e.dollarinferior=63203;e.dollarmonospace=65284;e.dollaroldstyle=63268;e.dollarsmall=65129;e.dollarsuperior=63204;e.dong=8363;e.dorusquare=13094;e.dotaccent=729;e.dotaccentcmb=775;e.dotbelowcmb=803;e.dotbelowcomb=803;e.dotkatakana=12539;e.dotlessi=305;e.dotlessj=63166;e.dotlessjstrokehook=644;e.dotmath=8901;e.dottedcircle=9676;e.doubleyodpatah=64287;e.doubleyodpatahhebrew=64287;e.downtackbelowcmb=798;e.downtackmod=725;e.dparen=9375;e.dsuperior=63211;e.dtail=598;e.dtopbar=396;e.duhiragana=12389;e.dukatakana=12485;e.dz=499;e.dzaltone=675;e.dzcaron=454;e.dzcurl=677;e.dzeabkhasiancyrillic=1249;e.dzecyrillic=1109;e.dzhecyrillic=1119;e.e=101;e.eacute=233;e.earth=9793;e.ebengali=2447;e.ebopomofo=12572;e.ebreve=277;e.ecandradeva=2317;e.ecandragujarati=2701;e.ecandravowelsigndeva=2373;e.ecandravowelsigngujarati=2757;e.ecaron=283;e.ecedillabreve=7709;e.echarmenian=1381;e.echyiwnarmenian=1415;e.ecircle=9428;e.ecircumflex=234;e.ecircumflexacute=7871;e.ecircumflexbelow=7705;e.ecircumflexdotbelow=7879;e.ecircumflexgrave=7873;e.ecircumflexhookabove=7875;e.ecircumflextilde=7877;e.ecyrillic=1108;e.edblgrave=517;e.edeva=2319;e.edieresis=235;e.edot=279;e.edotaccent=279;e.edotbelow=7865;e.eegurmukhi=2575;e.eematragurmukhi=2631;e.efcyrillic=1092;e.egrave=232;e.egujarati=2703;e.eharmenian=1383;e.ehbopomofo=12573;e.ehiragana=12360;e.ehookabove=7867;e.eibopomofo=12575;e.eight=56;e.eightarabic=1640;e.eightbengali=2542;e.eightcircle=9319;e.eightcircleinversesansserif=10129;e.eightdeva=2414;e.eighteencircle=9329;e.eighteenparen=9349;e.eighteenperiod=9369;e.eightgujarati=2798;e.eightgurmukhi=2670;e.eighthackarabic=1640;e.eighthangzhou=12328;e.eighthnotebeamed=9835;e.eightideographicparen=12839;e.eightinferior=8328;e.eightmonospace=65304;e.eightoldstyle=63288;e.eightparen=9339;e.eightperiod=9359;e.eightpersian=1784;e.eightroman=8567;e.eightsuperior=8312;e.eightthai=3672;e.einvertedbreve=519;e.eiotifiedcyrillic=1125;e.ekatakana=12456;e.ekatakanahalfwidth=65396;e.ekonkargurmukhi=2676;e.ekorean=12628;e.elcyrillic=1083;e.element=8712;e.elevencircle=9322;e.elevenparen=9342;e.elevenperiod=9362;e.elevenroman=8570;e.ellipsis=8230;e.ellipsisvertical=8942;e.emacron=275;e.emacronacute=7703;e.emacrongrave=7701;e.emcyrillic=1084;e.emdash=8212;e.emdashvertical=65073;e.emonospace=65349;e.emphasismarkarmenian=1371;e.emptyset=8709;e.enbopomofo=12579;e.encyrillic=1085;e.endash=8211;e.endashvertical=65074;e.endescendercyrillic=1187;e.eng=331;e.engbopomofo=12581;e.enghecyrillic=1189;e.enhookcyrillic=1224;e.enspace=8194;e.eogonek=281;e.eokorean=12627;e.eopen=603;e.eopenclosed=666;e.eopenreversed=604;e.eopenreversedclosed=606;e.eopenreversedhook=605;e.eparen=9376;e.epsilon=949;e.epsilontonos=941;e.equal=61;e.equalmonospace=65309;e.equalsmall=65126;e.equalsuperior=8316;e.equivalence=8801;e.erbopomofo=12582;e.ercyrillic=1088;e.ereversed=600;e.ereversedcyrillic=1101;e.escyrillic=1089;e.esdescendercyrillic=1195;e.esh=643;e.eshcurl=646;e.eshortdeva=2318;e.eshortvowelsigndeva=2374;e.eshreversedloop=426;e.eshsquatreversed=645;e.esmallhiragana=12359;e.esmallkatakana=12455;e.esmallkatakanahalfwidth=65386;e.estimated=8494;e.esuperior=63212;e.eta=951;e.etarmenian=1384;e.etatonos=942;e.eth=240;e.etilde=7869;e.etildebelow=7707;e.etnahtafoukhhebrew=1425;e.etnahtafoukhlefthebrew=1425;e.etnahtahebrew=1425;e.etnahtalefthebrew=1425;e.eturned=477;e.eukorean=12641;e.euro=8364;e.evowelsignbengali=2503;e.evowelsigndeva=2375;e.evowelsigngujarati=2759;e.exclam=33;e.exclamarmenian=1372;e.exclamdbl=8252;e.exclamdown=161;e.exclamdownsmall=63393;e.exclammonospace=65281;e.exclamsmall=63265;e.existential=8707;e.ezh=658;e.ezhcaron=495;e.ezhcurl=659;e.ezhreversed=441;e.ezhtail=442;e.f=102;e.fadeva=2398;e.fagurmukhi=2654;e.fahrenheit=8457;e.fathaarabic=1614;e.fathalowarabic=1614;e.fathatanarabic=1611;e.fbopomofo=12552;e.fcircle=9429;e.fdotaccent=7711;e.feharabic=1601;e.feharmenian=1414;e.fehfinalarabic=65234;e.fehinitialarabic=65235;e.fehmedialarabic=65236;e.feicoptic=997;e.female=9792;e.ff=64256;e.f_f=64256;e.ffi=64259;e.f_f_i=64259;e.ffl=64260;e.f_f_l=64260;e.fi=64257;e.f_i=64257;e.fifteencircle=9326;e.fifteenparen=9346;e.fifteenperiod=9366;e.figuredash=8210;e.filledbox=9632;e.filledrect=9644;e.finalkaf=1498;e.finalkafdagesh=64314;e.finalkafdageshhebrew=64314;e.finalkafhebrew=1498;e.finalmem=1501;e.finalmemhebrew=1501;e.finalnun=1503;e.finalnunhebrew=1503;e.finalpe=1507;e.finalpehebrew=1507;e.finaltsadi=1509;e.finaltsadihebrew=1509;e.firsttonechinese=713;e.fisheye=9673;e.fitacyrillic=1139;e.five=53;e.fivearabic=1637;e.fivebengali=2539;e.fivecircle=9316;e.fivecircleinversesansserif=10126;e.fivedeva=2411;e.fiveeighths=8541;e.fivegujarati=2795;e.fivegurmukhi=2667;e.fivehackarabic=1637;e.fivehangzhou=12325;e.fiveideographicparen=12836;e.fiveinferior=8325;e.fivemonospace=65301;e.fiveoldstyle=63285;e.fiveparen=9336;e.fiveperiod=9356;e.fivepersian=1781;e.fiveroman=8564;e.fivesuperior=8309;e.fivethai=3669;e.fl=64258;e.f_l=64258;e.florin=402;e.fmonospace=65350;e.fmsquare=13209;e.fofanthai=3615;e.fofathai=3613;e.fongmanthai=3663;e.forall=8704;e.four=52;e.fourarabic=1636;e.fourbengali=2538;e.fourcircle=9315;e.fourcircleinversesansserif=10125;e.fourdeva=2410;e.fourgujarati=2794;e.fourgurmukhi=2666;e.fourhackarabic=1636;e.fourhangzhou=12324;e.fourideographicparen=12835;e.fourinferior=8324;e.fourmonospace=65300;e.fournumeratorbengali=2551;e.fouroldstyle=63284;e.fourparen=9335;e.fourperiod=9355;e.fourpersian=1780;e.fourroman=8563;e.foursuperior=8308;e.fourteencircle=9325;e.fourteenparen=9345;e.fourteenperiod=9365;e.fourthai=3668;e.fourthtonechinese=715;e.fparen=9377;e.fraction=8260;e.franc=8355;e.g=103;e.gabengali=2455;e.gacute=501;e.gadeva=2327;e.gafarabic=1711;e.gaffinalarabic=64403;e.gafinitialarabic=64404;e.gafmedialarabic=64405;e.gagujarati=2711;e.gagurmukhi=2583;e.gahiragana=12364;e.gakatakana=12460;e.gamma=947;e.gammalatinsmall=611;e.gammasuperior=736;e.gangiacoptic=1003;e.gbopomofo=12557;e.gbreve=287;e.gcaron=487;e.gcedilla=291;e.gcircle=9430;e.gcircumflex=285;e.gcommaaccent=291;e.gdot=289;e.gdotaccent=289;e.gecyrillic=1075;e.gehiragana=12370;e.gekatakana=12466;e.geometricallyequal=8785;e.gereshaccenthebrew=1436;e.gereshhebrew=1523;e.gereshmuqdamhebrew=1437;e.germandbls=223;e.gershayimaccenthebrew=1438;e.gershayimhebrew=1524;e.getamark=12307;e.ghabengali=2456;e.ghadarmenian=1394;e.ghadeva=2328;e.ghagujarati=2712;e.ghagurmukhi=2584;e.ghainarabic=1594;e.ghainfinalarabic=65230;e.ghaininitialarabic=65231;e.ghainmedialarabic=65232;e.ghemiddlehookcyrillic=1173;e.ghestrokecyrillic=1171;e.gheupturncyrillic=1169;e.ghhadeva=2394;e.ghhagurmukhi=2650;e.ghook=608;e.ghzsquare=13203;e.gihiragana=12366;e.gikatakana=12462;e.gimarmenian=1379;e.gimel=1490;e.gimeldagesh=64306;e.gimeldageshhebrew=64306;e.gimelhebrew=1490;e.gjecyrillic=1107;e.glottalinvertedstroke=446;e.glottalstop=660;e.glottalstopinverted=662;e.glottalstopmod=704;e.glottalstopreversed=661;e.glottalstopreversedmod=705;e.glottalstopreversedsuperior=740;e.glottalstopstroke=673;e.glottalstopstrokereversed=674;e.gmacron=7713;e.gmonospace=65351;e.gohiragana=12372;e.gokatakana=12468;e.gparen=9378;e.gpasquare=13228;e.gradient=8711;e.grave=96;e.gravebelowcmb=790;e.gravecmb=768;e.gravecomb=768;e.gravedeva=2387;e.gravelowmod=718;e.gravemonospace=65344;e.gravetonecmb=832;e.greater=62;e.greaterequal=8805;e.greaterequalorless=8923;e.greatermonospace=65310;e.greaterorequivalent=8819;e.greaterorless=8823;e.greateroverequal=8807;e.greatersmall=65125;e.gscript=609;e.gstroke=485;e.guhiragana=12368;e.guillemotleft=171;e.guillemotright=187;e.guilsinglleft=8249;e.guilsinglright=8250;e.gukatakana=12464;e.guramusquare=13080;e.gysquare=13257;e.h=104;e.haabkhasiancyrillic=1193;e.haaltonearabic=1729;e.habengali=2489;e.hadescendercyrillic=1203;e.hadeva=2361;e.hagujarati=2745;e.hagurmukhi=2617;e.haharabic=1581;e.hahfinalarabic=65186;e.hahinitialarabic=65187;e.hahiragana=12399;e.hahmedialarabic=65188;e.haitusquare=13098;e.hakatakana=12495;e.hakatakanahalfwidth=65418;e.halantgurmukhi=2637;e.hamzaarabic=1569;e.hamzalowarabic=1569;e.hangulfiller=12644;e.hardsigncyrillic=1098;e.harpoonleftbarbup=8636;e.harpoonrightbarbup=8640;e.hasquare=13258;e.hatafpatah=1458;e.hatafpatah16=1458;e.hatafpatah23=1458;e.hatafpatah2f=1458;e.hatafpatahhebrew=1458;e.hatafpatahnarrowhebrew=1458;e.hatafpatahquarterhebrew=1458;e.hatafpatahwidehebrew=1458;e.hatafqamats=1459;e.hatafqamats1b=1459;e.hatafqamats28=1459;e.hatafqamats34=1459;e.hatafqamatshebrew=1459;e.hatafqamatsnarrowhebrew=1459;e.hatafqamatsquarterhebrew=1459;e.hatafqamatswidehebrew=1459;e.hatafsegol=1457;e.hatafsegol17=1457;e.hatafsegol24=1457;e.hatafsegol30=1457;e.hatafsegolhebrew=1457;e.hatafsegolnarrowhebrew=1457;e.hatafsegolquarterhebrew=1457;e.hatafsegolwidehebrew=1457;e.hbar=295;e.hbopomofo=12559;e.hbrevebelow=7723;e.hcedilla=7721;e.hcircle=9431;e.hcircumflex=293;e.hdieresis=7719;e.hdotaccent=7715;e.hdotbelow=7717;e.he=1492;e.heart=9829;e.heartsuitblack=9829;e.heartsuitwhite=9825;e.hedagesh=64308;e.hedageshhebrew=64308;e.hehaltonearabic=1729;e.heharabic=1607;e.hehebrew=1492;e.hehfinalaltonearabic=64423;e.hehfinalalttwoarabic=65258;e.hehfinalarabic=65258;e.hehhamzaabovefinalarabic=64421;e.hehhamzaaboveisolatedarabic=64420;e.hehinitialaltonearabic=64424;e.hehinitialarabic=65259;e.hehiragana=12408;e.hehmedialaltonearabic=64425;e.hehmedialarabic=65260;e.heiseierasquare=13179;e.hekatakana=12504;e.hekatakanahalfwidth=65421;e.hekutaarusquare=13110;e.henghook=615;e.herutusquare=13113;e.het=1495;e.hethebrew=1495;e.hhook=614;e.hhooksuperior=689;e.hieuhacirclekorean=12923;e.hieuhaparenkorean=12827;e.hieuhcirclekorean=12909;e.hieuhkorean=12622;e.hieuhparenkorean=12813;e.hihiragana=12402;e.hikatakana=12498;e.hikatakanahalfwidth=65419;e.hiriq=1460;e.hiriq14=1460;e.hiriq21=1460;e.hiriq2d=1460;e.hiriqhebrew=1460;e.hiriqnarrowhebrew=1460;e.hiriqquarterhebrew=1460;e.hiriqwidehebrew=1460;e.hlinebelow=7830;e.hmonospace=65352;e.hoarmenian=1392;e.hohipthai=3627;e.hohiragana=12411;e.hokatakana=12507;e.hokatakanahalfwidth=65422;e.holam=1465;e.holam19=1465;e.holam26=1465;e.holam32=1465;e.holamhebrew=1465;e.holamnarrowhebrew=1465;e.holamquarterhebrew=1465;e.holamwidehebrew=1465;e.honokhukthai=3630;e.hookabovecomb=777;e.hookcmb=777;e.hookpalatalizedbelowcmb=801;e.hookretroflexbelowcmb=802;e.hoonsquare=13122;e.horicoptic=1001;e.horizontalbar=8213;e.horncmb=795;e.hotsprings=9832;e.house=8962;e.hparen=9379;e.hsuperior=688;e.hturned=613;e.huhiragana=12405;e.huiitosquare=13107;e.hukatakana=12501;e.hukatakanahalfwidth=65420;e.hungarumlaut=733;e.hungarumlautcmb=779;e.hv=405;e.hyphen=45;e.hypheninferior=63205;e.hyphenmonospace=65293;e.hyphensmall=65123;e.hyphensuperior=63206;e.hyphentwo=8208;e.i=105;e.iacute=237;e.iacyrillic=1103;e.ibengali=2439;e.ibopomofo=12583;e.ibreve=301;e.icaron=464;e.icircle=9432;e.icircumflex=238;e.icyrillic=1110;e.idblgrave=521;e.ideographearthcircle=12943;e.ideographfirecircle=12939;e.ideographicallianceparen=12863;e.ideographiccallparen=12858;e.ideographiccentrecircle=12965;e.ideographicclose=12294;e.ideographiccomma=12289;e.ideographiccommaleft=65380;e.ideographiccongratulationparen=12855;e.ideographiccorrectcircle=12963;e.ideographicearthparen=12847;e.ideographicenterpriseparen=12861;e.ideographicexcellentcircle=12957;e.ideographicfestivalparen=12864;e.ideographicfinancialcircle=12950;e.ideographicfinancialparen=12854;e.ideographicfireparen=12843;e.ideographichaveparen=12850;e.ideographichighcircle=12964;e.ideographiciterationmark=12293;e.ideographiclaborcircle=12952;e.ideographiclaborparen=12856;e.ideographicleftcircle=12967;e.ideographiclowcircle=12966;e.ideographicmedicinecircle=12969;e.ideographicmetalparen=12846;e.ideographicmoonparen=12842;e.ideographicnameparen=12852;e.ideographicperiod=12290;e.ideographicprintcircle=12958;e.ideographicreachparen=12867;e.ideographicrepresentparen=12857;e.ideographicresourceparen=12862;e.ideographicrightcircle=12968;e.ideographicsecretcircle=12953;e.ideographicselfparen=12866;e.ideographicsocietyparen=12851;e.ideographicspace=12288;e.ideographicspecialparen=12853;e.ideographicstockparen=12849;e.ideographicstudyparen=12859;e.ideographicsunparen=12848;e.ideographicsuperviseparen=12860;e.ideographicwaterparen=12844;e.ideographicwoodparen=12845;e.ideographiczero=12295;e.ideographmetalcircle=12942;e.ideographmooncircle=12938;e.ideographnamecircle=12948;e.ideographsuncircle=12944;e.ideographwatercircle=12940;e.ideographwoodcircle=12941;e.ideva=2311;e.idieresis=239;e.idieresisacute=7727;e.idieresiscyrillic=1253;e.idotbelow=7883;e.iebrevecyrillic=1239;e.iecyrillic=1077;e.ieungacirclekorean=12917;e.ieungaparenkorean=12821;e.ieungcirclekorean=12903;e.ieungkorean=12615;e.ieungparenkorean=12807;e.igrave=236;e.igujarati=2695;e.igurmukhi=2567;e.ihiragana=12356;e.ihookabove=7881;e.iibengali=2440;e.iicyrillic=1080;e.iideva=2312;e.iigujarati=2696;e.iigurmukhi=2568;e.iimatragurmukhi=2624;e.iinvertedbreve=523;e.iishortcyrillic=1081;e.iivowelsignbengali=2496;e.iivowelsigndeva=2368;e.iivowelsigngujarati=2752;e.ij=307;e.ikatakana=12452;e.ikatakanahalfwidth=65394;e.ikorean=12643;e.ilde=732;e.iluyhebrew=1452;e.imacron=299;e.imacroncyrillic=1251;e.imageorapproximatelyequal=8787;e.imatragurmukhi=2623;e.imonospace=65353;e.increment=8710;e.infinity=8734;e.iniarmenian=1387;e.integral=8747;e.integralbottom=8993;e.integralbt=8993;e.integralex=63733;e.integraltop=8992;e.integraltp=8992;e.intersection=8745;e.intisquare=13061;e.invbullet=9688;e.invcircle=9689;e.invsmileface=9787;e.iocyrillic=1105;e.iogonek=303;e.iota=953;e.iotadieresis=970;e.iotadieresistonos=912;e.iotalatin=617;e.iotatonos=943;e.iparen=9380;e.irigurmukhi=2674;e.ismallhiragana=12355;e.ismallkatakana=12451;e.ismallkatakanahalfwidth=65384;e.issharbengali=2554;e.istroke=616;e.isuperior=63213;e.iterationhiragana=12445;e.iterationkatakana=12541;e.itilde=297;e.itildebelow=7725;e.iubopomofo=12585;e.iucyrillic=1102;e.ivowelsignbengali=2495;e.ivowelsigndeva=2367;e.ivowelsigngujarati=2751;e.izhitsacyrillic=1141;e.izhitsadblgravecyrillic=1143;e.j=106;e.jaarmenian=1393;e.jabengali=2460;e.jadeva=2332;e.jagujarati=2716;e.jagurmukhi=2588;e.jbopomofo=12560;e.jcaron=496;e.jcircle=9433;e.jcircumflex=309;e.jcrossedtail=669;e.jdotlessstroke=607;e.jecyrillic=1112;e.jeemarabic=1580;e.jeemfinalarabic=65182;e.jeeminitialarabic=65183;e.jeemmedialarabic=65184;e.jeharabic=1688;e.jehfinalarabic=64395;e.jhabengali=2461;e.jhadeva=2333;e.jhagujarati=2717;e.jhagurmukhi=2589;e.jheharmenian=1403;e.jis=12292;e.jmonospace=65354;e.jparen=9381;e.jsuperior=690;e.k=107;e.kabashkircyrillic=1185;e.kabengali=2453;e.kacute=7729;e.kacyrillic=1082;e.kadescendercyrillic=1179;e.kadeva=2325;e.kaf=1499;e.kafarabic=1603;e.kafdagesh=64315;e.kafdageshhebrew=64315;e.kaffinalarabic=65242;e.kafhebrew=1499;e.kafinitialarabic=65243;e.kafmedialarabic=65244;e.kafrafehebrew=64333;e.kagujarati=2709;e.kagurmukhi=2581;e.kahiragana=12363;e.kahookcyrillic=1220;e.kakatakana=12459;e.kakatakanahalfwidth=65398;e.kappa=954;e.kappasymbolgreek=1008;e.kapyeounmieumkorean=12657;e.kapyeounphieuphkorean=12676;e.kapyeounpieupkorean=12664;e.kapyeounssangpieupkorean=12665;e.karoriisquare=13069;e.kashidaautoarabic=1600;e.kashidaautonosidebearingarabic=1600;e.kasmallkatakana=12533;e.kasquare=13188;e.kasraarabic=1616;e.kasratanarabic=1613;e.kastrokecyrillic=1183;e.katahiraprolongmarkhalfwidth=65392;e.kaverticalstrokecyrillic=1181;e.kbopomofo=12558;e.kcalsquare=13193;e.kcaron=489;e.kcedilla=311;e.kcircle=9434;e.kcommaaccent=311;e.kdotbelow=7731;e.keharmenian=1412;e.kehiragana=12369;e.kekatakana=12465;e.kekatakanahalfwidth=65401;e.kenarmenian=1391;e.kesmallkatakana=12534;e.kgreenlandic=312;e.khabengali=2454;e.khacyrillic=1093;e.khadeva=2326;e.khagujarati=2710;e.khagurmukhi=2582;e.khaharabic=1582;e.khahfinalarabic=65190;e.khahinitialarabic=65191;e.khahmedialarabic=65192;e.kheicoptic=999;e.khhadeva=2393;e.khhagurmukhi=2649;e.khieukhacirclekorean=12920;e.khieukhaparenkorean=12824;e.khieukhcirclekorean=12906;e.khieukhkorean=12619;e.khieukhparenkorean=12810;e.khokhaithai=3586;e.khokhonthai=3589;e.khokhuatthai=3587;e.khokhwaithai=3588;e.khomutthai=3675;e.khook=409;e.khorakhangthai=3590;e.khzsquare=13201;e.kihiragana=12365;e.kikatakana=12461;e.kikatakanahalfwidth=65399;e.kiroguramusquare=13077;e.kiromeetorusquare=13078;e.kirosquare=13076;e.kiyeokacirclekorean=12910;e.kiyeokaparenkorean=12814;e.kiyeokcirclekorean=12896;e.kiyeokkorean=12593;e.kiyeokparenkorean=12800;e.kiyeoksioskorean=12595;e.kjecyrillic=1116;e.klinebelow=7733;e.klsquare=13208;e.kmcubedsquare=13222;e.kmonospace=65355;e.kmsquaredsquare=13218;e.kohiragana=12371;e.kohmsquare=13248;e.kokaithai=3585;e.kokatakana=12467;e.kokatakanahalfwidth=65402;e.kooposquare=13086;e.koppacyrillic=1153;e.koreanstandardsymbol=12927;e.koroniscmb=835;e.kparen=9382;e.kpasquare=13226;e.ksicyrillic=1135;e.ktsquare=13263;e.kturned=670;e.kuhiragana=12367;e.kukatakana=12463;e.kukatakanahalfwidth=65400;e.kvsquare=13240;e.kwsquare=13246;e.l=108;e.labengali=2482;e.lacute=314;e.ladeva=2354;e.lagujarati=2738;e.lagurmukhi=2610;e.lakkhangyaothai=3653;e.lamaleffinalarabic=65276;e.lamalefhamzaabovefinalarabic=65272;e.lamalefhamzaaboveisolatedarabic=65271;e.lamalefhamzabelowfinalarabic=65274;e.lamalefhamzabelowisolatedarabic=65273;e.lamalefisolatedarabic=65275;e.lamalefmaddaabovefinalarabic=65270;e.lamalefmaddaaboveisolatedarabic=65269;e.lamarabic=1604;e.lambda=955;e.lambdastroke=411;e.lamed=1500;e.lameddagesh=64316;e.lameddageshhebrew=64316;e.lamedhebrew=1500;e.lamfinalarabic=65246;e.lamhahinitialarabic=64714;e.laminitialarabic=65247;e.lamjeeminitialarabic=64713;e.lamkhahinitialarabic=64715;e.lamlamhehisolatedarabic=65010;e.lammedialarabic=65248;e.lammeemhahinitialarabic=64904;e.lammeeminitialarabic=64716;e.largecircle=9711;e.lbar=410;e.lbelt=620;e.lbopomofo=12556;e.lcaron=318;e.lcedilla=316;e.lcircle=9435;e.lcircumflexbelow=7741;e.lcommaaccent=316;e.ldot=320;e.ldotaccent=320;e.ldotbelow=7735;e.ldotbelowmacron=7737;e.leftangleabovecmb=794;e.lefttackbelowcmb=792;e.less=60;e.lessequal=8804;e.lessequalorgreater=8922;e.lessmonospace=65308;e.lessorequivalent=8818;e.lessorgreater=8822;e.lessoverequal=8806;e.lesssmall=65124;e.lezh=622;e.lfblock=9612;e.lhookretroflex=621;e.lira=8356;e.liwnarmenian=1388;e.lj=457;e.ljecyrillic=1113;e.ll=63168;e.lladeva=2355;e.llagujarati=2739;e.llinebelow=7739;e.llladeva=2356;e.llvocalicbengali=2529;e.llvocalicdeva=2401;e.llvocalicvowelsignbengali=2531;e.llvocalicvowelsigndeva=2403;e.lmiddletilde=619;e.lmonospace=65356;e.lmsquare=13264;e.lochulathai=3628;e.logicaland=8743;e.logicalnot=172;e.logicalnotreversed=8976;e.logicalor=8744;e.lolingthai=3621;e.longs=383;e.lowlinecenterline=65102;e.lowlinecmb=818;e.lowlinedashed=65101;e.lozenge=9674;e.lparen=9383;e.lslash=322;e.lsquare=8467;e.lsuperior=63214;e.ltshade=9617;e.luthai=3622;e.lvocalicbengali=2444;e.lvocalicdeva=2316;e.lvocalicvowelsignbengali=2530;e.lvocalicvowelsigndeva=2402;e.lxsquare=13267;e.m=109;e.mabengali=2478;e.macron=175;e.macronbelowcmb=817;e.macroncmb=772;e.macronlowmod=717;e.macronmonospace=65507;e.macute=7743;e.madeva=2350;e.magujarati=2734;e.magurmukhi=2606;e.mahapakhhebrew=1444;e.mahapakhlefthebrew=1444;e.mahiragana=12414;e.maichattawalowleftthai=63637;e.maichattawalowrightthai=63636;e.maichattawathai=3659;e.maichattawaupperleftthai=63635;e.maieklowleftthai=63628;e.maieklowrightthai=63627;e.maiekthai=3656;e.maiekupperleftthai=63626;e.maihanakatleftthai=63620;e.maihanakatthai=3633;e.maitaikhuleftthai=63625;e.maitaikhuthai=3655;e.maitholowleftthai=63631;e.maitholowrightthai=63630;e.maithothai=3657;e.maithoupperleftthai=63629;e.maitrilowleftthai=63634;e.maitrilowrightthai=63633;e.maitrithai=3658;e.maitriupperleftthai=63632;e.maiyamokthai=3654;e.makatakana=12510;e.makatakanahalfwidth=65423;e.male=9794;e.mansyonsquare=13127;e.maqafhebrew=1470;e.mars=9794;e.masoracirclehebrew=1455;e.masquare=13187;e.mbopomofo=12551;e.mbsquare=13268;e.mcircle=9436;e.mcubedsquare=13221;e.mdotaccent=7745;e.mdotbelow=7747;e.meemarabic=1605;e.meemfinalarabic=65250;e.meeminitialarabic=65251;e.meemmedialarabic=65252;e.meemmeeminitialarabic=64721;e.meemmeemisolatedarabic=64584;e.meetorusquare=13133;e.mehiragana=12417;e.meizierasquare=13182;e.mekatakana=12513;e.mekatakanahalfwidth=65426;e.mem=1502;e.memdagesh=64318;e.memdageshhebrew=64318;e.memhebrew=1502;e.menarmenian=1396;e.merkhahebrew=1445;e.merkhakefulahebrew=1446;e.merkhakefulalefthebrew=1446;e.merkhalefthebrew=1445;e.mhook=625;e.mhzsquare=13202;e.middledotkatakanahalfwidth=65381;e.middot=183;e.mieumacirclekorean=12914;e.mieumaparenkorean=12818;e.mieumcirclekorean=12900;e.mieumkorean=12609;e.mieumpansioskorean=12656;e.mieumparenkorean=12804;e.mieumpieupkorean=12654;e.mieumsioskorean=12655;e.mihiragana=12415;e.mikatakana=12511;e.mikatakanahalfwidth=65424;e.minus=8722;e.minusbelowcmb=800;e.minuscircle=8854;e.minusmod=727;e.minusplus=8723;e.minute=8242;e.miribaarusquare=13130;e.mirisquare=13129;e.mlonglegturned=624;e.mlsquare=13206;e.mmcubedsquare=13219;e.mmonospace=65357;e.mmsquaredsquare=13215;e.mohiragana=12418;e.mohmsquare=13249;e.mokatakana=12514;e.mokatakanahalfwidth=65427;e.molsquare=13270;e.momathai=3617;e.moverssquare=13223;e.moverssquaredsquare=13224;e.mparen=9384;e.mpasquare=13227;e.mssquare=13235;e.msuperior=63215;e.mturned=623;e.mu=181;e.mu1=181;e.muasquare=13186;e.muchgreater=8811;e.muchless=8810;e.mufsquare=13196;e.mugreek=956;e.mugsquare=13197;e.muhiragana=12416;e.mukatakana=12512;e.mukatakanahalfwidth=65425;e.mulsquare=13205;e.multiply=215;e.mumsquare=13211;e.munahhebrew=1443;e.munahlefthebrew=1443;e.musicalnote=9834;e.musicalnotedbl=9835;e.musicflatsign=9837;e.musicsharpsign=9839;e.mussquare=13234;e.muvsquare=13238;e.muwsquare=13244;e.mvmegasquare=13241;e.mvsquare=13239;e.mwmegasquare=13247;e.mwsquare=13245;e.n=110;e.nabengali=2472;e.nabla=8711;e.nacute=324;e.nadeva=2344;e.nagujarati=2728;e.nagurmukhi=2600;e.nahiragana=12394;e.nakatakana=12490;e.nakatakanahalfwidth=65413;e.napostrophe=329;e.nasquare=13185;e.nbopomofo=12555;e.nbspace=160;e.ncaron=328;e.ncedilla=326;e.ncircle=9437;e.ncircumflexbelow=7755;e.ncommaaccent=326;e.ndotaccent=7749;e.ndotbelow=7751;e.nehiragana=12397;e.nekatakana=12493;e.nekatakanahalfwidth=65416;e.newsheqelsign=8362;e.nfsquare=13195;e.ngabengali=2457;e.ngadeva=2329;e.ngagujarati=2713;e.ngagurmukhi=2585;e.ngonguthai=3591;e.nhiragana=12435;e.nhookleft=626;e.nhookretroflex=627;e.nieunacirclekorean=12911;e.nieunaparenkorean=12815;e.nieuncieuckorean=12597;e.nieuncirclekorean=12897;e.nieunhieuhkorean=12598;e.nieunkorean=12596;e.nieunpansioskorean=12648;e.nieunparenkorean=12801;e.nieunsioskorean=12647;e.nieuntikeutkorean=12646;e.nihiragana=12395;e.nikatakana=12491;e.nikatakanahalfwidth=65414;e.nikhahitleftthai=63641;e.nikhahitthai=3661;e.nine=57;e.ninearabic=1641;e.ninebengali=2543;e.ninecircle=9320;e.ninecircleinversesansserif=10130;e.ninedeva=2415;e.ninegujarati=2799;e.ninegurmukhi=2671;e.ninehackarabic=1641;e.ninehangzhou=12329;e.nineideographicparen=12840;e.nineinferior=8329;e.ninemonospace=65305;e.nineoldstyle=63289;e.nineparen=9340;e.nineperiod=9360;e.ninepersian=1785;e.nineroman=8568;e.ninesuperior=8313;e.nineteencircle=9330;e.nineteenparen=9350;e.nineteenperiod=9370;e.ninethai=3673;e.nj=460;e.njecyrillic=1114;e.nkatakana=12531;e.nkatakanahalfwidth=65437;e.nlegrightlong=414;e.nlinebelow=7753;e.nmonospace=65358;e.nmsquare=13210;e.nnabengali=2467;e.nnadeva=2339;e.nnagujarati=2723;e.nnagurmukhi=2595;e.nnnadeva=2345;e.nohiragana=12398;e.nokatakana=12494;e.nokatakanahalfwidth=65417;e.nonbreakingspace=160;e.nonenthai=3603;e.nonuthai=3609;e.noonarabic=1606;e.noonfinalarabic=65254;e.noonghunnaarabic=1722;e.noonghunnafinalarabic=64415;e.nooninitialarabic=65255;e.noonjeeminitialarabic=64722;e.noonjeemisolatedarabic=64587;e.noonmedialarabic=65256;e.noonmeeminitialarabic=64725;e.noonmeemisolatedarabic=64590;e.noonnoonfinalarabic=64653;e.notcontains=8716;e.notelement=8713;e.notelementof=8713;e.notequal=8800;e.notgreater=8815;e.notgreaternorequal=8817;e.notgreaternorless=8825;e.notidentical=8802;e.notless=8814;e.notlessnorequal=8816;e.notparallel=8742;e.notprecedes=8832;e.notsubset=8836;e.notsucceeds=8833;e.notsuperset=8837;e.nowarmenian=1398;e.nparen=9385;e.nssquare=13233;e.nsuperior=8319;e.ntilde=241;e.nu=957;e.nuhiragana=12396;e.nukatakana=12492;e.nukatakanahalfwidth=65415;e.nuktabengali=2492;e.nuktadeva=2364;e.nuktagujarati=2748;e.nuktagurmukhi=2620;e.numbersign=35;e.numbersignmonospace=65283;e.numbersignsmall=65119;e.numeralsigngreek=884;e.numeralsignlowergreek=885;e.numero=8470;e.nun=1504;e.nundagesh=64320;e.nundageshhebrew=64320;e.nunhebrew=1504;e.nvsquare=13237;e.nwsquare=13243;e.nyabengali=2462;e.nyadeva=2334;e.nyagujarati=2718;e.nyagurmukhi=2590;e.o=111;e.oacute=243;e.oangthai=3629;e.obarred=629;e.obarredcyrillic=1257;e.obarreddieresiscyrillic=1259;e.obengali=2451;e.obopomofo=12571;e.obreve=335;e.ocandradeva=2321;e.ocandragujarati=2705;e.ocandravowelsigndeva=2377;e.ocandravowelsigngujarati=2761;e.ocaron=466;e.ocircle=9438;e.ocircumflex=244;e.ocircumflexacute=7889;e.ocircumflexdotbelow=7897;e.ocircumflexgrave=7891;e.ocircumflexhookabove=7893;e.ocircumflextilde=7895;e.ocyrillic=1086;e.odblacute=337;e.odblgrave=525;e.odeva=2323;e.odieresis=246;e.odieresiscyrillic=1255;e.odotbelow=7885;e.oe=339;e.oekorean=12634;e.ogonek=731;e.ogonekcmb=808;e.ograve=242;e.ogujarati=2707;e.oharmenian=1413;e.ohiragana=12362;e.ohookabove=7887;e.ohorn=417;e.ohornacute=7899;e.ohorndotbelow=7907;e.ohorngrave=7901;e.ohornhookabove=7903;e.ohorntilde=7905;e.ohungarumlaut=337;e.oi=419;e.oinvertedbreve=527;e.okatakana=12458;e.okatakanahalfwidth=65397;e.okorean=12631;e.olehebrew=1451;e.omacron=333;e.omacronacute=7763;e.omacrongrave=7761;e.omdeva=2384;e.omega=969;e.omega1=982;e.omegacyrillic=1121;e.omegalatinclosed=631;e.omegaroundcyrillic=1147;e.omegatitlocyrillic=1149;e.omegatonos=974;e.omgujarati=2768;e.omicron=959;e.omicrontonos=972;e.omonospace=65359;e.one=49;e.onearabic=1633;e.onebengali=2535;e.onecircle=9312;e.onecircleinversesansserif=10122;e.onedeva=2407;e.onedotenleader=8228;e.oneeighth=8539;e.onefitted=63196;e.onegujarati=2791;e.onegurmukhi=2663;e.onehackarabic=1633;e.onehalf=189;e.onehangzhou=12321;e.oneideographicparen=12832;e.oneinferior=8321;e.onemonospace=65297;e.onenumeratorbengali=2548;e.oneoldstyle=63281;e.oneparen=9332;e.oneperiod=9352;e.onepersian=1777;e.onequarter=188;e.oneroman=8560;e.onesuperior=185;e.onethai=3665;e.onethird=8531;e.oogonek=491;e.oogonekmacron=493;e.oogurmukhi=2579;e.oomatragurmukhi=2635;e.oopen=596;e.oparen=9386;e.openbullet=9702;e.option=8997;e.ordfeminine=170;e.ordmasculine=186;e.orthogonal=8735;e.oshortdeva=2322;e.oshortvowelsigndeva=2378;e.oslash=248;e.oslashacute=511;e.osmallhiragana=12361;e.osmallkatakana=12457;e.osmallkatakanahalfwidth=65387;e.ostrokeacute=511;e.osuperior=63216;e.otcyrillic=1151;e.otilde=245;e.otildeacute=7757;e.otildedieresis=7759;e.oubopomofo=12577;e.overline=8254;e.overlinecenterline=65098;e.overlinecmb=773;e.overlinedashed=65097;e.overlinedblwavy=65100;e.overlinewavy=65099;e.overscore=175;e.ovowelsignbengali=2507;e.ovowelsigndeva=2379;e.ovowelsigngujarati=2763;e.p=112;e.paampssquare=13184;e.paasentosquare=13099;e.pabengali=2474;e.pacute=7765;e.padeva=2346;e.pagedown=8671;e.pageup=8670;e.pagujarati=2730;e.pagurmukhi=2602;e.pahiragana=12401;e.paiyannoithai=3631;e.pakatakana=12497;e.palatalizationcyrilliccmb=1156;e.palochkacyrillic=1216;e.pansioskorean=12671;e.paragraph=182;e.parallel=8741;e.parenleft=40;e.parenleftaltonearabic=64830;e.parenleftbt=63725;e.parenleftex=63724;e.parenleftinferior=8333;e.parenleftmonospace=65288;e.parenleftsmall=65113;e.parenleftsuperior=8317;e.parenlefttp=63723;e.parenleftvertical=65077;e.parenright=41;e.parenrightaltonearabic=64831;e.parenrightbt=63736;e.parenrightex=63735;e.parenrightinferior=8334;e.parenrightmonospace=65289;e.parenrightsmall=65114;e.parenrightsuperior=8318;e.parenrighttp=63734;e.parenrightvertical=65078;e.partialdiff=8706;e.paseqhebrew=1472;e.pashtahebrew=1433;e.pasquare=13225;e.patah=1463;e.patah11=1463;e.patah1d=1463;e.patah2a=1463;e.patahhebrew=1463;e.patahnarrowhebrew=1463;e.patahquarterhebrew=1463;e.patahwidehebrew=1463;e.pazerhebrew=1441;e.pbopomofo=12550;e.pcircle=9439;e.pdotaccent=7767;e.pe=1508;e.pecyrillic=1087;e.pedagesh=64324;e.pedageshhebrew=64324;e.peezisquare=13115;e.pefinaldageshhebrew=64323;e.peharabic=1662;e.peharmenian=1402;e.pehebrew=1508;e.pehfinalarabic=64343;e.pehinitialarabic=64344;e.pehiragana=12410;e.pehmedialarabic=64345;e.pekatakana=12506;e.pemiddlehookcyrillic=1191;e.perafehebrew=64334;e.percent=37;e.percentarabic=1642;e.percentmonospace=65285;e.percentsmall=65130;e.period=46;e.periodarmenian=1417;e.periodcentered=183;e.periodhalfwidth=65377;e.periodinferior=63207;e.periodmonospace=65294;e.periodsmall=65106;e.periodsuperior=63208;e.perispomenigreekcmb=834;e.perpendicular=8869;e.perthousand=8240;e.peseta=8359;e.pfsquare=13194;e.phabengali=2475;e.phadeva=2347;e.phagujarati=2731;e.phagurmukhi=2603;e.phi=966;e.phi1=981;e.phieuphacirclekorean=12922;e.phieuphaparenkorean=12826;e.phieuphcirclekorean=12908;e.phieuphkorean=12621;e.phieuphparenkorean=12812;e.philatin=632;e.phinthuthai=3642;e.phisymbolgreek=981;e.phook=421;e.phophanthai=3614;e.phophungthai=3612;e.phosamphaothai=3616;e.pi=960;e.pieupacirclekorean=12915;e.pieupaparenkorean=12819;e.pieupcieuckorean=12662;e.pieupcirclekorean=12901;e.pieupkiyeokkorean=12658;e.pieupkorean=12610;e.pieupparenkorean=12805;e.pieupsioskiyeokkorean=12660;e.pieupsioskorean=12612;e.pieupsiostikeutkorean=12661;e.pieupthieuthkorean=12663;e.pieuptikeutkorean=12659;e.pihiragana=12404;e.pikatakana=12500;e.pisymbolgreek=982;e.piwrarmenian=1411;e.planckover2pi=8463;e.planckover2pi1=8463;e.plus=43;e.plusbelowcmb=799;e.pluscircle=8853;e.plusminus=177;e.plusmod=726;e.plusmonospace=65291;e.plussmall=65122;e.plussuperior=8314;e.pmonospace=65360;e.pmsquare=13272;e.pohiragana=12413;e.pointingindexdownwhite=9759;e.pointingindexleftwhite=9756;e.pointingindexrightwhite=9758;e.pointingindexupwhite=9757;e.pokatakana=12509;e.poplathai=3611;e.postalmark=12306;e.postalmarkface=12320;e.pparen=9387;e.precedes=8826;e.prescription=8478;e.primemod=697;e.primereversed=8245;e.product=8719;e.projective=8965;e.prolongedkana=12540;e.propellor=8984;e.propersubset=8834;e.propersuperset=8835;e.proportion=8759;e.proportional=8733;e.psi=968;e.psicyrillic=1137;e.psilipneumatacyrilliccmb=1158;e.pssquare=13232;e.puhiragana=12407;e.pukatakana=12503;e.pvsquare=13236;e.pwsquare=13242;e.q=113;e.qadeva=2392;e.qadmahebrew=1448;e.qafarabic=1602;e.qaffinalarabic=65238;e.qafinitialarabic=65239;e.qafmedialarabic=65240;e.qamats=1464;e.qamats10=1464;e.qamats1a=1464;e.qamats1c=1464;e.qamats27=1464;e.qamats29=1464;e.qamats33=1464;e.qamatsde=1464;e.qamatshebrew=1464;e.qamatsnarrowhebrew=1464;e.qamatsqatanhebrew=1464;e.qamatsqatannarrowhebrew=1464;e.qamatsqatanquarterhebrew=1464;e.qamatsqatanwidehebrew=1464;e.qamatsquarterhebrew=1464;e.qamatswidehebrew=1464;e.qarneyparahebrew=1439;e.qbopomofo=12561;e.qcircle=9440;e.qhook=672;e.qmonospace=65361;e.qof=1511;e.qofdagesh=64327;e.qofdageshhebrew=64327;e.qofhebrew=1511;e.qparen=9388;e.quarternote=9833;e.qubuts=1467;e.qubuts18=1467;e.qubuts25=1467;e.qubuts31=1467;e.qubutshebrew=1467;e.qubutsnarrowhebrew=1467;e.qubutsquarterhebrew=1467;e.qubutswidehebrew=1467;e.question=63;e.questionarabic=1567;e.questionarmenian=1374;e.questiondown=191;e.questiondownsmall=63423;e.questiongreek=894;e.questionmonospace=65311;e.questionsmall=63295;e.quotedbl=34;e.quotedblbase=8222;e.quotedblleft=8220;e.quotedblmonospace=65282;e.quotedblprime=12318;e.quotedblprimereversed=12317;e.quotedblright=8221;e.quoteleft=8216;e.quoteleftreversed=8219;e.quotereversed=8219;e.quoteright=8217;e.quoterightn=329;e.quotesinglbase=8218;e.quotesingle=39;e.quotesinglemonospace=65287;e.r=114;e.raarmenian=1404;e.rabengali=2480;e.racute=341;e.radeva=2352;e.radical=8730;e.radicalex=63717;e.radoverssquare=13230;e.radoverssquaredsquare=13231;e.radsquare=13229;e.rafe=1471;e.rafehebrew=1471;e.ragujarati=2736;e.ragurmukhi=2608;e.rahiragana=12425;e.rakatakana=12521;e.rakatakanahalfwidth=65431;e.ralowerdiagonalbengali=2545;e.ramiddlediagonalbengali=2544;e.ramshorn=612;e.ratio=8758;e.rbopomofo=12566;e.rcaron=345;e.rcedilla=343;e.rcircle=9441;e.rcommaaccent=343;e.rdblgrave=529;e.rdotaccent=7769;e.rdotbelow=7771;e.rdotbelowmacron=7773;e.referencemark=8251;e.reflexsubset=8838;e.reflexsuperset=8839;e.registered=174;e.registersans=63720;e.registerserif=63194;e.reharabic=1585;e.reharmenian=1408;e.rehfinalarabic=65198;e.rehiragana=12428;e.rekatakana=12524;e.rekatakanahalfwidth=65434;e.resh=1512;e.reshdageshhebrew=64328;e.reshhebrew=1512;e.reversedtilde=8765;e.reviahebrew=1431;e.reviamugrashhebrew=1431;e.revlogicalnot=8976;e.rfishhook=638;e.rfishhookreversed=639;e.rhabengali=2525;e.rhadeva=2397;e.rho=961;e.rhook=637;e.rhookturned=635;e.rhookturnedsuperior=693;e.rhosymbolgreek=1009;e.rhotichookmod=734;e.rieulacirclekorean=12913;e.rieulaparenkorean=12817;e.rieulcirclekorean=12899;e.rieulhieuhkorean=12608;e.rieulkiyeokkorean=12602;e.rieulkiyeoksioskorean=12649;e.rieulkorean=12601;e.rieulmieumkorean=12603;e.rieulpansioskorean=12652;e.rieulparenkorean=12803;e.rieulphieuphkorean=12607;e.rieulpieupkorean=12604;e.rieulpieupsioskorean=12651;e.rieulsioskorean=12605;e.rieulthieuthkorean=12606;e.rieultikeutkorean=12650;e.rieulyeorinhieuhkorean=12653;e.rightangle=8735;e.righttackbelowcmb=793;e.righttriangle=8895;e.rihiragana=12426;e.rikatakana=12522;e.rikatakanahalfwidth=65432;e.ring=730;e.ringbelowcmb=805;e.ringcmb=778;e.ringhalfleft=703;e.ringhalfleftarmenian=1369;e.ringhalfleftbelowcmb=796;e.ringhalfleftcentered=723;e.ringhalfright=702;e.ringhalfrightbelowcmb=825;e.ringhalfrightcentered=722;e.rinvertedbreve=531;e.rittorusquare=13137;e.rlinebelow=7775;e.rlongleg=636;e.rlonglegturned=634;e.rmonospace=65362;e.rohiragana=12429;e.rokatakana=12525;e.rokatakanahalfwidth=65435;e.roruathai=3619;e.rparen=9389;e.rrabengali=2524;e.rradeva=2353;e.rragurmukhi=2652;e.rreharabic=1681;e.rrehfinalarabic=64397;e.rrvocalicbengali=2528;e.rrvocalicdeva=2400;e.rrvocalicgujarati=2784;e.rrvocalicvowelsignbengali=2500;e.rrvocalicvowelsigndeva=2372;e.rrvocalicvowelsigngujarati=2756;e.rsuperior=63217;e.rtblock=9616;e.rturned=633;e.rturnedsuperior=692;e.ruhiragana=12427;e.rukatakana=12523;e.rukatakanahalfwidth=65433;e.rupeemarkbengali=2546;e.rupeesignbengali=2547;e.rupiah=63197;e.ruthai=3620;e.rvocalicbengali=2443;e.rvocalicdeva=2315;e.rvocalicgujarati=2699;e.rvocalicvowelsignbengali=2499;e.rvocalicvowelsigndeva=2371;e.rvocalicvowelsigngujarati=2755;e.s=115;e.sabengali=2488;e.sacute=347;e.sacutedotaccent=7781;e.sadarabic=1589;e.sadeva=2360;e.sadfinalarabic=65210;e.sadinitialarabic=65211;e.sadmedialarabic=65212;e.sagujarati=2744;e.sagurmukhi=2616;e.sahiragana=12373;e.sakatakana=12469;e.sakatakanahalfwidth=65403;e.sallallahoualayhewasallamarabic=65018;e.samekh=1505;e.samekhdagesh=64321;e.samekhdageshhebrew=64321;e.samekhhebrew=1505;e.saraaathai=3634;e.saraaethai=3649;e.saraaimaimalaithai=3652;e.saraaimaimuanthai=3651;e.saraamthai=3635;e.saraathai=3632;e.saraethai=3648;e.saraiileftthai=63622;e.saraiithai=3637;e.saraileftthai=63621;e.saraithai=3636;e.saraothai=3650;e.saraueeleftthai=63624;e.saraueethai=3639;e.saraueleftthai=63623;e.sarauethai=3638;e.sarauthai=3640;e.sarauuthai=3641;e.sbopomofo=12569;e.scaron=353;e.scarondotaccent=7783;e.scedilla=351;e.schwa=601;e.schwacyrillic=1241;e.schwadieresiscyrillic=1243;e.schwahook=602;e.scircle=9442;e.scircumflex=349;e.scommaaccent=537;e.sdotaccent=7777;e.sdotbelow=7779;e.sdotbelowdotaccent=7785;e.seagullbelowcmb=828;e.second=8243;e.secondtonechinese=714;e.section=167;e.seenarabic=1587;e.seenfinalarabic=65202;e.seeninitialarabic=65203;e.seenmedialarabic=65204;e.segol=1462;e.segol13=1462;e.segol1f=1462;e.segol2c=1462;e.segolhebrew=1462;e.segolnarrowhebrew=1462;e.segolquarterhebrew=1462;e.segoltahebrew=1426;e.segolwidehebrew=1462;e.seharmenian=1405;e.sehiragana=12379;e.sekatakana=12475;e.sekatakanahalfwidth=65406;e.semicolon=59;e.semicolonarabic=1563;e.semicolonmonospace=65307;e.semicolonsmall=65108;e.semivoicedmarkkana=12444;e.semivoicedmarkkanahalfwidth=65439;e.sentisquare=13090;e.sentosquare=13091;e.seven=55;e.sevenarabic=1639;e.sevenbengali=2541;e.sevencircle=9318;e.sevencircleinversesansserif=10128;e.sevendeva=2413;e.seveneighths=8542;e.sevengujarati=2797;e.sevengurmukhi=2669;e.sevenhackarabic=1639;e.sevenhangzhou=12327;e.sevenideographicparen=12838;e.seveninferior=8327;e.sevenmonospace=65303;e.sevenoldstyle=63287;e.sevenparen=9338;e.sevenperiod=9358;e.sevenpersian=1783;e.sevenroman=8566;e.sevensuperior=8311;e.seventeencircle=9328;e.seventeenparen=9348;e.seventeenperiod=9368;e.seventhai=3671;e.sfthyphen=173;e.shaarmenian=1399;e.shabengali=2486;e.shacyrillic=1096;e.shaddaarabic=1617;e.shaddadammaarabic=64609;e.shaddadammatanarabic=64606;e.shaddafathaarabic=64608;e.shaddakasraarabic=64610;e.shaddakasratanarabic=64607;e.shade=9618;e.shadedark=9619;e.shadelight=9617;e.shademedium=9618;e.shadeva=2358;e.shagujarati=2742;e.shagurmukhi=2614;e.shalshelethebrew=1427;e.shbopomofo=12565;e.shchacyrillic=1097;e.sheenarabic=1588;e.sheenfinalarabic=65206;e.sheeninitialarabic=65207;e.sheenmedialarabic=65208;e.sheicoptic=995;e.sheqel=8362;e.sheqelhebrew=8362;e.sheva=1456;e.sheva115=1456;e.sheva15=1456;e.sheva22=1456;e.sheva2e=1456;e.shevahebrew=1456;e.shevanarrowhebrew=1456;e.shevaquarterhebrew=1456;e.shevawidehebrew=1456;e.shhacyrillic=1211;e.shimacoptic=1005;e.shin=1513;e.shindagesh=64329;e.shindageshhebrew=64329;e.shindageshshindot=64300;e.shindageshshindothebrew=64300;e.shindageshsindot=64301;e.shindageshsindothebrew=64301;e.shindothebrew=1473;e.shinhebrew=1513;e.shinshindot=64298;e.shinshindothebrew=64298;e.shinsindot=64299;e.shinsindothebrew=64299;e.shook=642;e.sigma=963;e.sigma1=962;e.sigmafinal=962;e.sigmalunatesymbolgreek=1010;e.sihiragana=12375;e.sikatakana=12471;e.sikatakanahalfwidth=65404;e.siluqhebrew=1469;e.siluqlefthebrew=1469;e.similar=8764;e.sindothebrew=1474;e.siosacirclekorean=12916;e.siosaparenkorean=12820;e.sioscieuckorean=12670;e.sioscirclekorean=12902;e.sioskiyeokkorean=12666;e.sioskorean=12613;e.siosnieunkorean=12667;e.siosparenkorean=12806;e.siospieupkorean=12669;e.siostikeutkorean=12668;e.six=54;e.sixarabic=1638;e.sixbengali=2540;e.sixcircle=9317;e.sixcircleinversesansserif=10127;e.sixdeva=2412;e.sixgujarati=2796;e.sixgurmukhi=2668;e.sixhackarabic=1638;e.sixhangzhou=12326;e.sixideographicparen=12837;e.sixinferior=8326;e.sixmonospace=65302;e.sixoldstyle=63286;e.sixparen=9337;e.sixperiod=9357;e.sixpersian=1782;e.sixroman=8565;e.sixsuperior=8310;e.sixteencircle=9327;e.sixteencurrencydenominatorbengali=2553;e.sixteenparen=9347;e.sixteenperiod=9367;e.sixthai=3670;e.slash=47;e.slashmonospace=65295;e.slong=383;e.slongdotaccent=7835;e.smileface=9786;e.smonospace=65363;e.sofpasuqhebrew=1475;e.softhyphen=173;e.softsigncyrillic=1100;e.sohiragana=12381;e.sokatakana=12477;e.sokatakanahalfwidth=65407;e.soliduslongoverlaycmb=824;e.solidusshortoverlaycmb=823;e.sorusithai=3625;e.sosalathai=3624;e.sosothai=3595;e.sosuathai=3626;e.space=32;e.spacehackarabic=32;e.spade=9824;e.spadesuitblack=9824;e.spadesuitwhite=9828;e.sparen=9390;e.squarebelowcmb=827;e.squarecc=13252;e.squarecm=13213;e.squarediagonalcrosshatchfill=9641;e.squarehorizontalfill=9636;e.squarekg=13199;e.squarekm=13214;e.squarekmcapital=13262;e.squareln=13265;e.squarelog=13266;e.squaremg=13198;e.squaremil=13269;e.squaremm=13212;e.squaremsquared=13217;e.squareorthogonalcrosshatchfill=9638;e.squareupperlefttolowerrightfill=9639;e.squareupperrighttolowerleftfill=9640;e.squareverticalfill=9637;e.squarewhitewithsmallblack=9635;e.srsquare=13275;e.ssabengali=2487;e.ssadeva=2359;e.ssagujarati=2743;e.ssangcieuckorean=12617;e.ssanghieuhkorean=12677;e.ssangieungkorean=12672;e.ssangkiyeokkorean=12594;e.ssangnieunkorean=12645;e.ssangpieupkorean=12611;e.ssangsioskorean=12614;e.ssangtikeutkorean=12600;e.ssuperior=63218;e.sterling=163;e.sterlingmonospace=65505;e.strokelongoverlaycmb=822;e.strokeshortoverlaycmb=821;e.subset=8834;e.subsetnotequal=8842;e.subsetorequal=8838;e.succeeds=8827;e.suchthat=8715;e.suhiragana=12377;e.sukatakana=12473;e.sukatakanahalfwidth=65405;e.sukunarabic=1618;e.summation=8721;e.sun=9788;e.superset=8835;e.supersetnotequal=8843;e.supersetorequal=8839;e.svsquare=13276;e.syouwaerasquare=13180;e.t=116;e.tabengali=2468;e.tackdown=8868;e.tackleft=8867;e.tadeva=2340;e.tagujarati=2724;e.tagurmukhi=2596;e.taharabic=1591;e.tahfinalarabic=65218;e.tahinitialarabic=65219;e.tahiragana=12383;e.tahmedialarabic=65220;e.taisyouerasquare=13181;e.takatakana=12479;e.takatakanahalfwidth=65408;e.tatweelarabic=1600;e.tau=964;e.tav=1514;e.tavdages=64330;e.tavdagesh=64330;e.tavdageshhebrew=64330;e.tavhebrew=1514;e.tbar=359;e.tbopomofo=12554;e.tcaron=357;e.tccurl=680;e.tcedilla=355;e.tcheharabic=1670;e.tchehfinalarabic=64379;e.tchehinitialarabic=64380;e.tchehmedialarabic=64381;e.tcircle=9443;e.tcircumflexbelow=7793;e.tcommaaccent=355;e.tdieresis=7831;e.tdotaccent=7787;e.tdotbelow=7789;e.tecyrillic=1090;e.tedescendercyrillic=1197;e.teharabic=1578;e.tehfinalarabic=65174;e.tehhahinitialarabic=64674;e.tehhahisolatedarabic=64524;e.tehinitialarabic=65175;e.tehiragana=12390;e.tehjeeminitialarabic=64673;e.tehjeemisolatedarabic=64523;e.tehmarbutaarabic=1577;e.tehmarbutafinalarabic=65172;e.tehmedialarabic=65176;e.tehmeeminitialarabic=64676;e.tehmeemisolatedarabic=64526;e.tehnoonfinalarabic=64627;e.tekatakana=12486;e.tekatakanahalfwidth=65411;e.telephone=8481;e.telephoneblack=9742;e.telishagedolahebrew=1440;e.telishaqetanahebrew=1449;e.tencircle=9321;e.tenideographicparen=12841;e.tenparen=9341;e.tenperiod=9361;e.tenroman=8569;e.tesh=679;e.tet=1496;e.tetdagesh=64312;e.tetdageshhebrew=64312;e.tethebrew=1496;e.tetsecyrillic=1205;e.tevirhebrew=1435;e.tevirlefthebrew=1435;e.thabengali=2469;e.thadeva=2341;e.thagujarati=2725;e.thagurmukhi=2597;e.thalarabic=1584;e.thalfinalarabic=65196;e.thanthakhatlowleftthai=63640;e.thanthakhatlowrightthai=63639;e.thanthakhatthai=3660;e.thanthakhatupperleftthai=63638;e.theharabic=1579;e.thehfinalarabic=65178;e.thehinitialarabic=65179;e.thehmedialarabic=65180;e.thereexists=8707;e.therefore=8756;e.theta=952;e.theta1=977;e.thetasymbolgreek=977;e.thieuthacirclekorean=12921;e.thieuthaparenkorean=12825;e.thieuthcirclekorean=12907;e.thieuthkorean=12620;e.thieuthparenkorean=12811;e.thirteencircle=9324;e.thirteenparen=9344;e.thirteenperiod=9364;e.thonangmonthothai=3601;e.thook=429;e.thophuthaothai=3602;e.thorn=254;e.thothahanthai=3607;e.thothanthai=3600;e.thothongthai=3608;e.thothungthai=3606;e.thousandcyrillic=1154;e.thousandsseparatorarabic=1644;e.thousandsseparatorpersian=1644;e.three=51;e.threearabic=1635;e.threebengali=2537;e.threecircle=9314;e.threecircleinversesansserif=10124;e.threedeva=2409;e.threeeighths=8540;e.threegujarati=2793;e.threegurmukhi=2665;e.threehackarabic=1635;e.threehangzhou=12323;e.threeideographicparen=12834;e.threeinferior=8323;e.threemonospace=65299;e.threenumeratorbengali=2550;e.threeoldstyle=63283;e.threeparen=9334;e.threeperiod=9354;e.threepersian=1779;e.threequarters=190;e.threequartersemdash=63198;e.threeroman=8562;e.threesuperior=179;e.threethai=3667;e.thzsquare=13204;e.tihiragana=12385;e.tikatakana=12481;e.tikatakanahalfwidth=65409;e.tikeutacirclekorean=12912;e.tikeutaparenkorean=12816;e.tikeutcirclekorean=12898;e.tikeutkorean=12599;e.tikeutparenkorean=12802;e.tilde=732;e.tildebelowcmb=816;e.tildecmb=771;e.tildecomb=771;e.tildedoublecmb=864;e.tildeoperator=8764;e.tildeoverlaycmb=820;e.tildeverticalcmb=830;e.timescircle=8855;e.tipehahebrew=1430;e.tipehalefthebrew=1430;e.tippigurmukhi=2672;e.titlocyrilliccmb=1155;e.tiwnarmenian=1407;e.tlinebelow=7791;e.tmonospace=65364;e.toarmenian=1385;e.tohiragana=12392;e.tokatakana=12488;e.tokatakanahalfwidth=65412;e.tonebarextrahighmod=741;e.tonebarextralowmod=745;e.tonebarhighmod=742;e.tonebarlowmod=744;e.tonebarmidmod=743;e.tonefive=445;e.tonesix=389;e.tonetwo=424;e.tonos=900;e.tonsquare=13095;e.topatakthai=3599;e.tortoiseshellbracketleft=12308;e.tortoiseshellbracketleftsmall=65117;e.tortoiseshellbracketleftvertical=65081;e.tortoiseshellbracketright=12309;e.tortoiseshellbracketrightsmall=65118;e.tortoiseshellbracketrightvertical=65082;e.totaothai=3605;e.tpalatalhook=427;e.tparen=9391;e.trademark=8482;e.trademarksans=63722;e.trademarkserif=63195;e.tretroflexhook=648;e.triagdn=9660;e.triaglf=9668;e.triagrt=9658;e.triagup=9650;e.ts=678;e.tsadi=1510;e.tsadidagesh=64326;e.tsadidageshhebrew=64326;e.tsadihebrew=1510;e.tsecyrillic=1094;e.tsere=1461;e.tsere12=1461;e.tsere1e=1461;e.tsere2b=1461;e.tserehebrew=1461;e.tserenarrowhebrew=1461;e.tserequarterhebrew=1461;e.tserewidehebrew=1461;e.tshecyrillic=1115;e.tsuperior=63219;e.ttabengali=2463;e.ttadeva=2335;e.ttagujarati=2719;e.ttagurmukhi=2591;e.tteharabic=1657;e.ttehfinalarabic=64359;e.ttehinitialarabic=64360;e.ttehmedialarabic=64361;e.tthabengali=2464;e.tthadeva=2336;e.tthagujarati=2720;e.tthagurmukhi=2592;e.tturned=647;e.tuhiragana=12388;e.tukatakana=12484;e.tukatakanahalfwidth=65410;e.tusmallhiragana=12387;e.tusmallkatakana=12483;e.tusmallkatakanahalfwidth=65391;e.twelvecircle=9323;e.twelveparen=9343;e.twelveperiod=9363;e.twelveroman=8571;e.twentycircle=9331;e.twentyhangzhou=21316;e.twentyparen=9351;e.twentyperiod=9371;e.two=50;e.twoarabic=1634;e.twobengali=2536;e.twocircle=9313;e.twocircleinversesansserif=10123;e.twodeva=2408;e.twodotenleader=8229;e.twodotleader=8229;e.twodotleadervertical=65072;e.twogujarati=2792;e.twogurmukhi=2664;e.twohackarabic=1634;e.twohangzhou=12322;e.twoideographicparen=12833;e.twoinferior=8322;e.twomonospace=65298;e.twonumeratorbengali=2549;e.twooldstyle=63282;e.twoparen=9333;e.twoperiod=9353;e.twopersian=1778;e.tworoman=8561;e.twostroke=443;e.twosuperior=178;e.twothai=3666;e.twothirds=8532;e.u=117;e.uacute=250;e.ubar=649;e.ubengali=2441;e.ubopomofo=12584;e.ubreve=365;e.ucaron=468;e.ucircle=9444;e.ucircumflex=251;e.ucircumflexbelow=7799;e.ucyrillic=1091;e.udattadeva=2385;e.udblacute=369;e.udblgrave=533;e.udeva=2313;e.udieresis=252;e.udieresisacute=472;e.udieresisbelow=7795;e.udieresiscaron=474;e.udieresiscyrillic=1265;e.udieresisgrave=476;e.udieresismacron=470;e.udotbelow=7909;e.ugrave=249;e.ugujarati=2697;e.ugurmukhi=2569;e.uhiragana=12358;e.uhookabove=7911;e.uhorn=432;e.uhornacute=7913;e.uhorndotbelow=7921;e.uhorngrave=7915;e.uhornhookabove=7917;e.uhorntilde=7919;e.uhungarumlaut=369;e.uhungarumlautcyrillic=1267;e.uinvertedbreve=535;e.ukatakana=12454;e.ukatakanahalfwidth=65395;e.ukcyrillic=1145;e.ukorean=12636;e.umacron=363;e.umacroncyrillic=1263;e.umacrondieresis=7803;e.umatragurmukhi=2625;e.umonospace=65365;e.underscore=95;e.underscoredbl=8215;e.underscoremonospace=65343;e.underscorevertical=65075;e.underscorewavy=65103;e.union=8746;e.universal=8704;e.uogonek=371;e.uparen=9392;e.upblock=9600;e.upperdothebrew=1476;e.upsilon=965;e.upsilondieresis=971;e.upsilondieresistonos=944;e.upsilonlatin=650;e.upsilontonos=973;e.uptackbelowcmb=797;e.uptackmod=724;e.uragurmukhi=2675;e.uring=367;e.ushortcyrillic=1118;e.usmallhiragana=12357;e.usmallkatakana=12453;e.usmallkatakanahalfwidth=65385;e.ustraightcyrillic=1199;e.ustraightstrokecyrillic=1201;e.utilde=361;e.utildeacute=7801;e.utildebelow=7797;e.uubengali=2442;e.uudeva=2314;e.uugujarati=2698;e.uugurmukhi=2570;e.uumatragurmukhi=2626;e.uuvowelsignbengali=2498;e.uuvowelsigndeva=2370;e.uuvowelsigngujarati=2754;e.uvowelsignbengali=2497;e.uvowelsigndeva=2369;e.uvowelsigngujarati=2753;e.v=118;e.vadeva=2357;e.vagujarati=2741;e.vagurmukhi=2613;e.vakatakana=12535;e.vav=1493;e.vavdagesh=64309;e.vavdagesh65=64309;e.vavdageshhebrew=64309;e.vavhebrew=1493;e.vavholam=64331;e.vavholamhebrew=64331;e.vavvavhebrew=1520;e.vavyodhebrew=1521;e.vcircle=9445;e.vdotbelow=7807;e.vecyrillic=1074;e.veharabic=1700;e.vehfinalarabic=64363;e.vehinitialarabic=64364;e.vehmedialarabic=64365;e.vekatakana=12537;e.venus=9792;e.verticalbar=124;e.verticallineabovecmb=781;e.verticallinebelowcmb=809;e.verticallinelowmod=716;e.verticallinemod=712;e.vewarmenian=1406;e.vhook=651;e.vikatakana=12536;e.viramabengali=2509;e.viramadeva=2381;e.viramagujarati=2765;e.visargabengali=2435;e.visargadeva=2307;e.visargagujarati=2691;e.vmonospace=65366;e.voarmenian=1400;e.voicediterationhiragana=12446;e.voicediterationkatakana=12542;e.voicedmarkkana=12443;e.voicedmarkkanahalfwidth=65438;e.vokatakana=12538;e.vparen=9393;e.vtilde=7805;e.vturned=652;e.vuhiragana=12436;e.vukatakana=12532;e.w=119;e.wacute=7811;e.waekorean=12633;e.wahiragana=12431;e.wakatakana=12527;e.wakatakanahalfwidth=65436;e.wakorean=12632;e.wasmallhiragana=12430;e.wasmallkatakana=12526;e.wattosquare=13143;e.wavedash=12316;e.wavyunderscorevertical=65076;e.wawarabic=1608;e.wawfinalarabic=65262;e.wawhamzaabovearabic=1572;e.wawhamzaabovefinalarabic=65158;e.wbsquare=13277;e.wcircle=9446;e.wcircumflex=373;e.wdieresis=7813;e.wdotaccent=7815;e.wdotbelow=7817;e.wehiragana=12433;e.weierstrass=8472;e.wekatakana=12529;e.wekorean=12638;e.weokorean=12637;e.wgrave=7809;e.whitebullet=9702;e.whitecircle=9675;e.whitecircleinverse=9689;e.whitecornerbracketleft=12302;e.whitecornerbracketleftvertical=65091;e.whitecornerbracketright=12303;e.whitecornerbracketrightvertical=65092;e.whitediamond=9671;e.whitediamondcontainingblacksmalldiamond=9672;e.whitedownpointingsmalltriangle=9663;e.whitedownpointingtriangle=9661;e.whiteleftpointingsmalltriangle=9667;e.whiteleftpointingtriangle=9665;e.whitelenticularbracketleft=12310;e.whitelenticularbracketright=12311;e.whiterightpointingsmalltriangle=9657;e.whiterightpointingtriangle=9655;e.whitesmallsquare=9643;e.whitesmilingface=9786;e.whitesquare=9633;e.whitestar=9734;e.whitetelephone=9743;e.whitetortoiseshellbracketleft=12312;e.whitetortoiseshellbracketright=12313;e.whiteuppointingsmalltriangle=9653;e.whiteuppointingtriangle=9651;e.wihiragana=12432;e.wikatakana=12528;e.wikorean=12639;e.wmonospace=65367;e.wohiragana=12434;e.wokatakana=12530;e.wokatakanahalfwidth=65382;e.won=8361;e.wonmonospace=65510;e.wowaenthai=3623;e.wparen=9394;e.wring=7832;e.wsuperior=695;e.wturned=653;e.wynn=447;e.x=120;e.xabovecmb=829;e.xbopomofo=12562;e.xcircle=9447;e.xdieresis=7821;e.xdotaccent=7819;e.xeharmenian=1389;e.xi=958;e.xmonospace=65368;e.xparen=9395;e.xsuperior=739;e.y=121;e.yaadosquare=13134;e.yabengali=2479;e.yacute=253;e.yadeva=2351;e.yaekorean=12626;e.yagujarati=2735;e.yagurmukhi=2607;e.yahiragana=12420;e.yakatakana=12516;e.yakatakanahalfwidth=65428;e.yakorean=12625;e.yamakkanthai=3662;e.yasmallhiragana=12419;e.yasmallkatakana=12515;e.yasmallkatakanahalfwidth=65388;e.yatcyrillic=1123;e.ycircle=9448;e.ycircumflex=375;e.ydieresis=255;e.ydotaccent=7823;e.ydotbelow=7925;e.yeharabic=1610;e.yehbarreearabic=1746;e.yehbarreefinalarabic=64431;e.yehfinalarabic=65266;e.yehhamzaabovearabic=1574;e.yehhamzaabovefinalarabic=65162;e.yehhamzaaboveinitialarabic=65163;e.yehhamzaabovemedialarabic=65164;e.yehinitialarabic=65267;e.yehmedialarabic=65268;e.yehmeeminitialarabic=64733;e.yehmeemisolatedarabic=64600;e.yehnoonfinalarabic=64660;e.yehthreedotsbelowarabic=1745;e.yekorean=12630;e.yen=165;e.yenmonospace=65509;e.yeokorean=12629;e.yeorinhieuhkorean=12678;e.yerahbenyomohebrew=1450;e.yerahbenyomolefthebrew=1450;e.yericyrillic=1099;e.yerudieresiscyrillic=1273;e.yesieungkorean=12673;e.yesieungpansioskorean=12675;e.yesieungsioskorean=12674;e.yetivhebrew=1434;e.ygrave=7923;e.yhook=436;e.yhookabove=7927;e.yiarmenian=1397;e.yicyrillic=1111;e.yikorean=12642;e.yinyang=9775;e.yiwnarmenian=1410;e.ymonospace=65369;e.yod=1497;e.yoddagesh=64313;e.yoddageshhebrew=64313;e.yodhebrew=1497;e.yodyodhebrew=1522;e.yodyodpatahhebrew=64287;e.yohiragana=12424;e.yoikorean=12681;e.yokatakana=12520;e.yokatakanahalfwidth=65430;e.yokorean=12635;e.yosmallhiragana=12423;e.yosmallkatakana=12519;e.yosmallkatakanahalfwidth=65390;e.yotgreek=1011;e.yoyaekorean=12680;e.yoyakorean=12679;e.yoyakthai=3618;e.yoyingthai=3597;e.yparen=9396;e.ypogegrammeni=890;e.ypogegrammenigreekcmb=837;e.yr=422;e.yring=7833;e.ysuperior=696;e.ytilde=7929;e.yturned=654;e.yuhiragana=12422;e.yuikorean=12684;e.yukatakana=12518;e.yukatakanahalfwidth=65429;e.yukorean=12640;e.yusbigcyrillic=1131;e.yusbigiotifiedcyrillic=1133;e.yuslittlecyrillic=1127;e.yuslittleiotifiedcyrillic=1129;e.yusmallhiragana=12421;e.yusmallkatakana=12517;e.yusmallkatakanahalfwidth=65389;e.yuyekorean=12683;e.yuyeokorean=12682;e.yyabengali=2527;e.yyadeva=2399;e.z=122;e.zaarmenian=1382;e.zacute=378;e.zadeva=2395;e.zagurmukhi=2651;e.zaharabic=1592;e.zahfinalarabic=65222;e.zahinitialarabic=65223;e.zahiragana=12374;e.zahmedialarabic=65224;e.zainarabic=1586;e.zainfinalarabic=65200;e.zakatakana=12470;e.zaqefgadolhebrew=1429;e.zaqefqatanhebrew=1428;e.zarqahebrew=1432;e.zayin=1494;e.zayindagesh=64310;e.zayindageshhebrew=64310;e.zayinhebrew=1494;e.zbopomofo=12567;e.zcaron=382;e.zcircle=9449;e.zcircumflex=7825;e.zcurl=657;e.zdot=380;e.zdotaccent=380;e.zdotbelow=7827;e.zecyrillic=1079;e.zedescendercyrillic=1177;e.zedieresiscyrillic=1247;e.zehiragana=12380;e.zekatakana=12476;e.zero=48;e.zeroarabic=1632;e.zerobengali=2534;e.zerodeva=2406;e.zerogujarati=2790;e.zerogurmukhi=2662;e.zerohackarabic=1632;e.zeroinferior=8320;e.zeromonospace=65296;e.zerooldstyle=63280;e.zeropersian=1776;e.zerosuperior=8304;e.zerothai=3664;e.zerowidthjoiner=65279;e.zerowidthnonjoiner=8204;e.zerowidthspace=8203;e.zeta=950;e.zhbopomofo=12563;e.zhearmenian=1386;e.zhebrevecyrillic=1218;e.zhecyrillic=1078;e.zhedescendercyrillic=1175;e.zhedieresiscyrillic=1245;e.zihiragana=12376;e.zikatakana=12472;e.zinorhebrew=1454;e.zlinebelow=7829;e.zmonospace=65370;e.zohiragana=12382;e.zokatakana=12478;e.zparen=9397;e.zretroflexhook=656;e.zstroke=438;e.zuhiragana=12378;e.zukatakana=12474;e[".notdef"]=0;e.angbracketleftbig=9001;e.angbracketleftBig=9001;e.angbracketleftbigg=9001;e.angbracketleftBigg=9001;e.angbracketrightBig=9002;e.angbracketrightbig=9002;e.angbracketrightBigg=9002;e.angbracketrightbigg=9002;e.arrowhookleft=8618;e.arrowhookright=8617;e.arrowlefttophalf=8636;e.arrowleftbothalf=8637;e.arrownortheast=8599;e.arrownorthwest=8598;e.arrowrighttophalf=8640;e.arrowrightbothalf=8641;e.arrowsoutheast=8600;e.arrowsouthwest=8601;e.backslashbig=8726;e.backslashBig=8726;e.backslashBigg=8726;e.backslashbigg=8726;e.bardbl=8214;e.bracehtipdownleft=65079;e.bracehtipdownright=65079;e.bracehtipupleft=65080;e.bracehtipupright=65080;e.braceleftBig=123;e.braceleftbig=123;e.braceleftbigg=123;e.braceleftBigg=123;e.bracerightBig=125;e.bracerightbig=125;e.bracerightbigg=125;e.bracerightBigg=125;e.bracketleftbig=91;e.bracketleftBig=91;e.bracketleftbigg=91;e.bracketleftBigg=91;e.bracketrightBig=93;e.bracketrightbig=93;e.bracketrightbigg=93;e.bracketrightBigg=93;e.ceilingleftbig=8968;e.ceilingleftBig=8968;e.ceilingleftBigg=8968;e.ceilingleftbigg=8968;e.ceilingrightbig=8969;e.ceilingrightBig=8969;e.ceilingrightbigg=8969;e.ceilingrightBigg=8969;e.circledotdisplay=8857;e.circledottext=8857;e.circlemultiplydisplay=8855;e.circlemultiplytext=8855;e.circleplusdisplay=8853;e.circleplustext=8853;e.contintegraldisplay=8750;e.contintegraltext=8750;e.coproductdisplay=8720;e.coproducttext=8720;e.floorleftBig=8970;e.floorleftbig=8970;e.floorleftbigg=8970;e.floorleftBigg=8970;e.floorrightbig=8971;e.floorrightBig=8971;e.floorrightBigg=8971;e.floorrightbigg=8971;e.hatwide=770;e.hatwider=770;e.hatwidest=770;e.intercal=7488;e.integraldisplay=8747;e.integraltext=8747;e.intersectiondisplay=8898;e.intersectiontext=8898;e.logicalanddisplay=8743;e.logicalandtext=8743;e.logicalordisplay=8744;e.logicalortext=8744;e.parenleftBig=40;e.parenleftbig=40;e.parenleftBigg=40;e.parenleftbigg=40;e.parenrightBig=41;e.parenrightbig=41;e.parenrightBigg=41;e.parenrightbigg=41;e.prime=8242;e.productdisplay=8719;e.producttext=8719;e.radicalbig=8730;e.radicalBig=8730;e.radicalBigg=8730;e.radicalbigg=8730;e.radicalbt=8730;e.radicaltp=8730;e.radicalvertex=8730;e.slashbig=47;e.slashBig=47;e.slashBigg=47;e.slashbigg=47;e.summationdisplay=8721;e.summationtext=8721;e.tildewide=732;e.tildewider=732;e.tildewidest=732;e.uniondisplay=8899;e.unionmultidisplay=8846;e.unionmultitext=8846;e.unionsqdisplay=8852;e.unionsqtext=8852;e.uniontext=8899;e.vextenddouble=8741;e.vextendsingle=8739}));t.getGlyphsUnicode=n;const i=(0,r.getLookupTableFactory)((function(e){e.space=32;e.a1=9985;e.a2=9986;e.a202=9987;e.a3=9988;e.a4=9742;e.a5=9990;e.a119=9991;e.a118=9992;e.a117=9993;e.a11=9755;e.a12=9758;e.a13=9996;e.a14=9997;e.a15=9998;e.a16=9999;e.a105=1e4;e.a17=10001;e.a18=10002;e.a19=10003;e.a20=10004;e.a21=10005;e.a22=10006;e.a23=10007;e.a24=10008;e.a25=10009;e.a26=10010;e.a27=10011;e.a28=10012;e.a6=10013;e.a7=10014;e.a8=10015;e.a9=10016;e.a10=10017;e.a29=10018;e.a30=10019;e.a31=10020;e.a32=10021;e.a33=10022;e.a34=10023;e.a35=9733;e.a36=10025;e.a37=10026;e.a38=10027;e.a39=10028;e.a40=10029;e.a41=10030;e.a42=10031;e.a43=10032;e.a44=10033;e.a45=10034;e.a46=10035;e.a47=10036;e.a48=10037;e.a49=10038;e.a50=10039;e.a51=10040;e.a52=10041;e.a53=10042;e.a54=10043;e.a55=10044;e.a56=10045;e.a57=10046;e.a58=10047;e.a59=10048;e.a60=10049;e.a61=10050;e.a62=10051;e.a63=10052;e.a64=10053;e.a65=10054;e.a66=10055;e.a67=10056;e.a68=10057;e.a69=10058;e.a70=10059;e.a71=9679;e.a72=10061;e.a73=9632;e.a74=10063;e.a203=10064;e.a75=10065;e.a204=10066;e.a76=9650;e.a77=9660;e.a78=9670;e.a79=10070;e.a81=9687;e.a82=10072;e.a83=10073;e.a84=10074;e.a97=10075;e.a98=10076;e.a99=10077;e.a100=10078;e.a101=10081;e.a102=10082;e.a103=10083;e.a104=10084;e.a106=10085;e.a107=10086;e.a108=10087;e.a112=9827;e.a111=9830;e.a110=9829;e.a109=9824;e.a120=9312;e.a121=9313;e.a122=9314;e.a123=9315;e.a124=9316;e.a125=9317;e.a126=9318;e.a127=9319;e.a128=9320;e.a129=9321;e.a130=10102;e.a131=10103;e.a132=10104;e.a133=10105;e.a134=10106;e.a135=10107;e.a136=10108;e.a137=10109;e.a138=10110;e.a139=10111;e.a140=10112;e.a141=10113;e.a142=10114;e.a143=10115;e.a144=10116;e.a145=10117;e.a146=10118;e.a147=10119;e.a148=10120;e.a149=10121;e.a150=10122;e.a151=10123;e.a152=10124;e.a153=10125;e.a154=10126;e.a155=10127;e.a156=10128;e.a157=10129;e.a158=10130;e.a159=10131;e.a160=10132;e.a161=8594;e.a163=8596;e.a164=8597;e.a196=10136;e.a165=10137;e.a192=10138;e.a166=10139;e.a167=10140;e.a168=10141;e.a169=10142;e.a170=10143;e.a171=10144;e.a172=10145;e.a173=10146;e.a162=10147;e.a174=10148;e.a175=10149;e.a176=10150;e.a177=10151;e.a178=10152;e.a179=10153;e.a193=10154;e.a180=10155;e.a199=10156;e.a181=10157;e.a200=10158;e.a182=10159;e.a201=10161;e.a183=10162;e.a184=10163;e.a197=10164;e.a185=10165;e.a194=10166;e.a198=10167;e.a186=10168;e.a195=10169;e.a187=10170;e.a188=10171;e.a189=10172;e.a190=10173;e.a191=10174;e.a89=10088;e.a90=10089;e.a93=10090;e.a94=10091;e.a91=10092;e.a92=10093;e.a205=10094;e.a85=10095;e.a206=10096;e.a86=10097;e.a87=10098;e.a88=10099;e.a95=10100;e.a96=10101;e[".notdef"]=0}));t.getDingbatsGlyphsUnicode=i},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.clearUnicodeCaches=function clearUnicodeCaches(){s.clear()};t.getCharUnicodeCategory=function getCharUnicodeCategory(e){const t=s.get(e);if(t)return t;const a=e.match(i),r={isWhitespace:!!a?.[1],isZeroWidthDiacritic:!!a?.[2],isInvisibleFormatMark:!!a?.[3]};s.set(e,r);return r};t.getUnicodeForGlyph=function getUnicodeForGlyph(e,t){let a=t[e];if(void 0!==a)return a;if(!e)return-1;if("u"===e[0]){const t=e.length;let r;if(7===t&&"n"===e[1]&&"i"===e[2])r=e.substring(3);else{if(!(t>=5&&t<=7))return-1;r=e.substring(1)}if(r===r.toUpperCase()){a=parseInt(r,16);if(a>=0)return a}}return-1};t.getUnicodeRangeFor=function getUnicodeRangeFor(e,t=-1){if(-1!==t){const a=n[t];for(let r=0,n=a.length;r=a[r]&&e<=a[r+1])return t}for(let t=0,a=n.length;t=a[r]&&e<=a[r+1])return t}return-1};t.mapSpecialUnicodeValues=function mapSpecialUnicodeValues(e){if(e>=65520&&e<=65535)return 0;if(e>=62976&&e<=63743)return r()[e]||e;if(173===e)return 45;return e};const r=(0,a(3).getLookupTableFactory)((function(e){e[63721]=169;e[63193]=169;e[63720]=174;e[63194]=174;e[63722]=8482;e[63195]=8482;e[63729]=9127;e[63730]=9128;e[63731]=9129;e[63740]=9131;e[63741]=9132;e[63742]=9133;e[63726]=9121;e[63727]=9122;e[63728]=9123;e[63737]=9124;e[63738]=9125;e[63739]=9126;e[63723]=9115;e[63724]=9116;e[63725]=9117;e[63734]=9118;e[63735]=9119;e[63736]=9120}));const n=[[0,127],[128,255],[256,383],[384,591],[592,687,7424,7551,7552,7615],[688,767,42752,42783],[768,879,7616,7679],[880,1023],[11392,11519],[1024,1279,1280,1327,11744,11775,42560,42655],[1328,1423],[1424,1535],[42240,42559],[1536,1791,1872,1919],[1984,2047],[2304,2431],[2432,2559],[2560,2687],[2688,2815],[2816,2943],[2944,3071],[3072,3199],[3200,3327],[3328,3455],[3584,3711],[3712,3839],[4256,4351,11520,11567],[6912,7039],[4352,4607],[7680,7935,11360,11391,42784,43007],[7936,8191],[8192,8303,11776,11903],[8304,8351],[8352,8399],[8400,8447],[8448,8527],[8528,8591],[8592,8703,10224,10239,10496,10623,11008,11263],[8704,8959,10752,11007,10176,10223,10624,10751],[8960,9215],[9216,9279],[9280,9311],[9312,9471],[9472,9599],[9600,9631],[9632,9727],[9728,9983],[9984,10175],[12288,12351],[12352,12447],[12448,12543,12784,12799],[12544,12591,12704,12735],[12592,12687],[43072,43135],[12800,13055],[13056,13311],[44032,55215],[55296,57343],[67840,67871],[19968,40959,11904,12031,12032,12255,12272,12287,13312,19903,131072,173791,12688,12703],[57344,63743],[12736,12783,63744,64255,194560,195103],[64256,64335],[64336,65023],[65056,65071],[65040,65055],[65104,65135],[65136,65279],[65280,65519],[65520,65535],[3840,4095],[1792,1871],[1920,1983],[3456,3583],[4096,4255],[4608,4991,4992,5023,11648,11743],[5024,5119],[5120,5759],[5760,5791],[5792,5887],[6016,6143],[6144,6319],[10240,10495],[40960,42127],[5888,5919,5920,5951,5952,5983,5984,6015],[66304,66351],[66352,66383],[66560,66639],[118784,119039,119040,119295,119296,119375],[119808,120831],[1044480,1048573],[65024,65039,917760,917999],[917504,917631],[6400,6479],[6480,6527],[6528,6623],[6656,6687],[11264,11359],[11568,11647],[19904,19967],[43008,43055],[65536,65663,65664,65791,65792,65855],[65856,65935],[66432,66463],[66464,66527],[66640,66687],[66688,66735],[67584,67647],[68096,68191],[119552,119647],[73728,74751,74752,74879],[119648,119679],[7040,7103],[7168,7247],[7248,7295],[43136,43231],[43264,43311],[43312,43359],[43520,43615],[65936,65999],[66e3,66047],[66208,66271,66176,66207,67872,67903],[127024,127135,126976,127023]];const i=new RegExp("^(\\s)|(\\p{Mn})|(\\p{Cf})$","u"),s=new Map},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.getSerifFonts=t.getNonStdFontMap=t.getGlyphMapForStandardFonts=t.getFontNameToFileMap=void 0;t.getStandardFontName=function getStandardFontName(e){const t=(0,n.normalizeFontName)(e);return i()[t]};t.getSymbolsFonts=t.getSupplementalGlyphMapForCalibri=t.getSupplementalGlyphMapForArialBlack=t.getStdFontMap=void 0;t.isKnownFontName=function isKnownFontName(e){const t=(0,n.normalizeFontName)(e);return!!(i()[t]||o()[t]||c()[t]||l()[t])};var r=a(3),n=a(38);const i=(0,r.getLookupTableFactory)((function(e){e["Times-Roman"]="Times-Roman";e.Helvetica="Helvetica";e.Courier="Courier";e.Symbol="Symbol";e["Times-Bold"]="Times-Bold";e["Helvetica-Bold"]="Helvetica-Bold";e["Courier-Bold"]="Courier-Bold";e.ZapfDingbats="ZapfDingbats";e["Times-Italic"]="Times-Italic";e["Helvetica-Oblique"]="Helvetica-Oblique";e["Courier-Oblique"]="Courier-Oblique";e["Times-BoldItalic"]="Times-BoldItalic";e["Helvetica-BoldOblique"]="Helvetica-BoldOblique";e["Courier-BoldOblique"]="Courier-BoldOblique";e.ArialNarrow="Helvetica";e["ArialNarrow-Bold"]="Helvetica-Bold";e["ArialNarrow-BoldItalic"]="Helvetica-BoldOblique";e["ArialNarrow-Italic"]="Helvetica-Oblique";e.ArialBlack="Helvetica";e["ArialBlack-Bold"]="Helvetica-Bold";e["ArialBlack-BoldItalic"]="Helvetica-BoldOblique";e["ArialBlack-Italic"]="Helvetica-Oblique";e["Arial-Black"]="Helvetica";e["Arial-Black-Bold"]="Helvetica-Bold";e["Arial-Black-BoldItalic"]="Helvetica-BoldOblique";e["Arial-Black-Italic"]="Helvetica-Oblique";e.Arial="Helvetica";e["Arial-Bold"]="Helvetica-Bold";e["Arial-BoldItalic"]="Helvetica-BoldOblique";e["Arial-Italic"]="Helvetica-Oblique";e.ArialMT="Helvetica";e["Arial-BoldItalicMT"]="Helvetica-BoldOblique";e["Arial-BoldMT"]="Helvetica-Bold";e["Arial-ItalicMT"]="Helvetica-Oblique";e["Arial-BoldItalicMT-BoldItalic"]="Helvetica-BoldOblique";e["Arial-BoldMT-Bold"]="Helvetica-Bold";e["Arial-ItalicMT-Italic"]="Helvetica-Oblique";e.ArialUnicodeMS="Helvetica";e["ArialUnicodeMS-Bold"]="Helvetica-Bold";e["ArialUnicodeMS-BoldItalic"]="Helvetica-BoldOblique";e["ArialUnicodeMS-Italic"]="Helvetica-Oblique";e["Courier-BoldItalic"]="Courier-BoldOblique";e["Courier-Italic"]="Courier-Oblique";e.CourierNew="Courier";e["CourierNew-Bold"]="Courier-Bold";e["CourierNew-BoldItalic"]="Courier-BoldOblique";e["CourierNew-Italic"]="Courier-Oblique";e["CourierNewPS-BoldItalicMT"]="Courier-BoldOblique";e["CourierNewPS-BoldMT"]="Courier-Bold";e["CourierNewPS-ItalicMT"]="Courier-Oblique";e.CourierNewPSMT="Courier";e["Helvetica-BoldItalic"]="Helvetica-BoldOblique";e["Helvetica-Italic"]="Helvetica-Oblique";e["Symbol-Bold"]="Symbol";e["Symbol-BoldItalic"]="Symbol";e["Symbol-Italic"]="Symbol";e.TimesNewRoman="Times-Roman";e["TimesNewRoman-Bold"]="Times-Bold";e["TimesNewRoman-BoldItalic"]="Times-BoldItalic";e["TimesNewRoman-Italic"]="Times-Italic";e.TimesNewRomanPS="Times-Roman";e["TimesNewRomanPS-Bold"]="Times-Bold";e["TimesNewRomanPS-BoldItalic"]="Times-BoldItalic";e["TimesNewRomanPS-BoldItalicMT"]="Times-BoldItalic";e["TimesNewRomanPS-BoldMT"]="Times-Bold";e["TimesNewRomanPS-Italic"]="Times-Italic";e["TimesNewRomanPS-ItalicMT"]="Times-Italic";e.TimesNewRomanPSMT="Times-Roman";e["TimesNewRomanPSMT-Bold"]="Times-Bold";e["TimesNewRomanPSMT-BoldItalic"]="Times-BoldItalic";e["TimesNewRomanPSMT-Italic"]="Times-Italic"}));t.getStdFontMap=i;const s=(0,r.getLookupTableFactory)((function(e){e.Courier="FoxitFixed.pfb";e["Courier-Bold"]="FoxitFixedBold.pfb";e["Courier-BoldOblique"]="FoxitFixedBoldItalic.pfb";e["Courier-Oblique"]="FoxitFixedItalic.pfb";e.Helvetica="LiberationSans-Regular.ttf";e["Helvetica-Bold"]="LiberationSans-Bold.ttf";e["Helvetica-BoldOblique"]="LiberationSans-BoldItalic.ttf";e["Helvetica-Oblique"]="LiberationSans-Italic.ttf";e["Times-Roman"]="FoxitSerif.pfb";e["Times-Bold"]="FoxitSerifBold.pfb";e["Times-BoldItalic"]="FoxitSerifBoldItalic.pfb";e["Times-Italic"]="FoxitSerifItalic.pfb";e.Symbol="FoxitSymbol.pfb";e.ZapfDingbats="FoxitDingbats.pfb";e["LiberationSans-Regular"]="LiberationSans-Regular.ttf";e["LiberationSans-Bold"]="LiberationSans-Bold.ttf";e["LiberationSans-Italic"]="LiberationSans-Italic.ttf";e["LiberationSans-BoldItalic"]="LiberationSans-BoldItalic.ttf"}));t.getFontNameToFileMap=s;const o=(0,r.getLookupTableFactory)((function(e){e.Calibri="Helvetica";e["Calibri-Bold"]="Helvetica-Bold";e["Calibri-BoldItalic"]="Helvetica-BoldOblique";e["Calibri-Italic"]="Helvetica-Oblique";e.CenturyGothic="Helvetica";e["CenturyGothic-Bold"]="Helvetica-Bold";e["CenturyGothic-BoldItalic"]="Helvetica-BoldOblique";e["CenturyGothic-Italic"]="Helvetica-Oblique";e.ComicSansMS="Comic Sans MS";e["ComicSansMS-Bold"]="Comic Sans MS-Bold";e["ComicSansMS-BoldItalic"]="Comic Sans MS-BoldItalic";e["ComicSansMS-Italic"]="Comic Sans MS-Italic";e.Impact="Helvetica";e["ItcSymbol-Bold"]="Helvetica-Bold";e["ItcSymbol-BoldItalic"]="Helvetica-BoldOblique";e["ItcSymbol-Book"]="Helvetica";e["ItcSymbol-BookItalic"]="Helvetica-Oblique";e["ItcSymbol-Medium"]="Helvetica";e["ItcSymbol-MediumItalic"]="Helvetica-Oblique";e.LucidaConsole="Courier";e["LucidaConsole-Bold"]="Courier-Bold";e["LucidaConsole-BoldItalic"]="Courier-BoldOblique";e["LucidaConsole-Italic"]="Courier-Oblique";e["LucidaSans-Demi"]="Helvetica-Bold";e["MS-Gothic"]="MS Gothic";e["MS-Gothic-Bold"]="MS Gothic-Bold";e["MS-Gothic-BoldItalic"]="MS Gothic-BoldItalic";e["MS-Gothic-Italic"]="MS Gothic-Italic";e["MS-Mincho"]="MS Mincho";e["MS-Mincho-Bold"]="MS Mincho-Bold";e["MS-Mincho-BoldItalic"]="MS Mincho-BoldItalic";e["MS-Mincho-Italic"]="MS Mincho-Italic";e["MS-PGothic"]="MS PGothic";e["MS-PGothic-Bold"]="MS PGothic-Bold";e["MS-PGothic-BoldItalic"]="MS PGothic-BoldItalic";e["MS-PGothic-Italic"]="MS PGothic-Italic";e["MS-PMincho"]="MS PMincho";e["MS-PMincho-Bold"]="MS PMincho-Bold";e["MS-PMincho-BoldItalic"]="MS PMincho-BoldItalic";e["MS-PMincho-Italic"]="MS PMincho-Italic";e.NuptialScript="Times-Italic";e.SegoeUISymbol="Helvetica"}));t.getNonStdFontMap=o;const c=(0,r.getLookupTableFactory)((function(e){e["Adobe Jenson"]=!0;e["Adobe Text"]=!0;e.Albertus=!0;e.Aldus=!0;e.Alexandria=!0;e.Algerian=!0;e["American Typewriter"]=!0;e.Antiqua=!0;e.Apex=!0;e.Arno=!0;e.Aster=!0;e.Aurora=!0;e.Baskerville=!0;e.Bell=!0;e.Bembo=!0;e["Bembo Schoolbook"]=!0;e.Benguiat=!0;e["Berkeley Old Style"]=!0;e["Bernhard Modern"]=!0;e["Berthold City"]=!0;e.Bodoni=!0;e["Bauer Bodoni"]=!0;e["Book Antiqua"]=!0;e.Bookman=!0;e["Bordeaux Roman"]=!0;e["Californian FB"]=!0;e.Calisto=!0;e.Calvert=!0;e.Capitals=!0;e.Cambria=!0;e.Cartier=!0;e.Caslon=!0;e.Catull=!0;e.Centaur=!0;e["Century Old Style"]=!0;e["Century Schoolbook"]=!0;e.Chaparral=!0;e["Charis SIL"]=!0;e.Cheltenham=!0;e["Cholla Slab"]=!0;e.Clarendon=!0;e.Clearface=!0;e.Cochin=!0;e.Colonna=!0;e["Computer Modern"]=!0;e["Concrete Roman"]=!0;e.Constantia=!0;e["Cooper Black"]=!0;e.Corona=!0;e.Ecotype=!0;e.Egyptienne=!0;e.Elephant=!0;e.Excelsior=!0;e.Fairfield=!0;e["FF Scala"]=!0;e.Folkard=!0;e.Footlight=!0;e.FreeSerif=!0;e["Friz Quadrata"]=!0;e.Garamond=!0;e.Gentium=!0;e.Georgia=!0;e.Gloucester=!0;e["Goudy Old Style"]=!0;e["Goudy Schoolbook"]=!0;e["Goudy Pro Font"]=!0;e.Granjon=!0;e["Guardian Egyptian"]=!0;e.Heather=!0;e.Hercules=!0;e["High Tower Text"]=!0;e.Hiroshige=!0;e["Hoefler Text"]=!0;e["Humana Serif"]=!0;e.Imprint=!0;e["Ionic No. 5"]=!0;e.Janson=!0;e.Joanna=!0;e.Korinna=!0;e.Lexicon=!0;e.LiberationSerif=!0;e["Liberation Serif"]=!0;e["Linux Libertine"]=!0;e.Literaturnaya=!0;e.Lucida=!0;e["Lucida Bright"]=!0;e.Melior=!0;e.Memphis=!0;e.Miller=!0;e.Minion=!0;e.Modern=!0;e["Mona Lisa"]=!0;e["Mrs Eaves"]=!0;e["MS Serif"]=!0;e["Museo Slab"]=!0;e["New York"]=!0;e["Nimbus Roman"]=!0;e["NPS Rawlinson Roadway"]=!0;e.NuptialScript=!0;e.Palatino=!0;e.Perpetua=!0;e.Plantin=!0;e["Plantin Schoolbook"]=!0;e.Playbill=!0;e["Poor Richard"]=!0;e["Rawlinson Roadway"]=!0;e.Renault=!0;e.Requiem=!0;e.Rockwell=!0;e.Roman=!0;e["Rotis Serif"]=!0;e.Sabon=!0;e.Scala=!0;e.Seagull=!0;e.Sistina=!0;e.Souvenir=!0;e.STIX=!0;e["Stone Informal"]=!0;e["Stone Serif"]=!0;e.Sylfaen=!0;e.Times=!0;e.Trajan=!0;e["Trinité"]=!0;e["Trump Mediaeval"]=!0;e.Utopia=!0;e["Vale Type"]=!0;e["Bitstream Vera"]=!0;e["Vera Serif"]=!0;e.Versailles=!0;e.Wanted=!0;e.Weiss=!0;e["Wide Latin"]=!0;e.Windsor=!0;e.XITS=!0}));t.getSerifFonts=c;const l=(0,r.getLookupTableFactory)((function(e){e.Dingbats=!0;e.Symbol=!0;e.ZapfDingbats=!0;e.Wingdings=!0;e["Wingdings-Bold"]=!0;e["Wingdings-Regular"]=!0}));t.getSymbolsFonts=l;const h=(0,r.getLookupTableFactory)((function(e){e[2]=10;e[3]=32;e[4]=33;e[5]=34;e[6]=35;e[7]=36;e[8]=37;e[9]=38;e[10]=39;e[11]=40;e[12]=41;e[13]=42;e[14]=43;e[15]=44;e[16]=45;e[17]=46;e[18]=47;e[19]=48;e[20]=49;e[21]=50;e[22]=51;e[23]=52;e[24]=53;e[25]=54;e[26]=55;e[27]=56;e[28]=57;e[29]=58;e[30]=894;e[31]=60;e[32]=61;e[33]=62;e[34]=63;e[35]=64;e[36]=65;e[37]=66;e[38]=67;e[39]=68;e[40]=69;e[41]=70;e[42]=71;e[43]=72;e[44]=73;e[45]=74;e[46]=75;e[47]=76;e[48]=77;e[49]=78;e[50]=79;e[51]=80;e[52]=81;e[53]=82;e[54]=83;e[55]=84;e[56]=85;e[57]=86;e[58]=87;e[59]=88;e[60]=89;e[61]=90;e[62]=91;e[63]=92;e[64]=93;e[65]=94;e[66]=95;e[67]=96;e[68]=97;e[69]=98;e[70]=99;e[71]=100;e[72]=101;e[73]=102;e[74]=103;e[75]=104;e[76]=105;e[77]=106;e[78]=107;e[79]=108;e[80]=109;e[81]=110;e[82]=111;e[83]=112;e[84]=113;e[85]=114;e[86]=115;e[87]=116;e[88]=117;e[89]=118;e[90]=119;e[91]=120;e[92]=121;e[93]=122;e[94]=123;e[95]=124;e[96]=125;e[97]=126;e[98]=196;e[99]=197;e[100]=199;e[101]=201;e[102]=209;e[103]=214;e[104]=220;e[105]=225;e[106]=224;e[107]=226;e[108]=228;e[109]=227;e[110]=229;e[111]=231;e[112]=233;e[113]=232;e[114]=234;e[115]=235;e[116]=237;e[117]=236;e[118]=238;e[119]=239;e[120]=241;e[121]=243;e[122]=242;e[123]=244;e[124]=246;e[125]=245;e[126]=250;e[127]=249;e[128]=251;e[129]=252;e[130]=8224;e[131]=176;e[132]=162;e[133]=163;e[134]=167;e[135]=8226;e[136]=182;e[137]=223;e[138]=174;e[139]=169;e[140]=8482;e[141]=180;e[142]=168;e[143]=8800;e[144]=198;e[145]=216;e[146]=8734;e[147]=177;e[148]=8804;e[149]=8805;e[150]=165;e[151]=181;e[152]=8706;e[153]=8721;e[154]=8719;e[156]=8747;e[157]=170;e[158]=186;e[159]=8486;e[160]=230;e[161]=248;e[162]=191;e[163]=161;e[164]=172;e[165]=8730;e[166]=402;e[167]=8776;e[168]=8710;e[169]=171;e[170]=187;e[171]=8230;e[179]=8220;e[180]=8221;e[181]=8216;e[182]=8217;e[200]=193;e[203]=205;e[207]=211;e[210]=218;e[223]=711;e[224]=321;e[225]=322;e[226]=352;e[227]=353;e[228]=381;e[229]=382;e[233]=221;e[234]=253;e[252]=263;e[253]=268;e[254]=269;e[258]=258;e[260]=260;e[261]=261;e[265]=280;e[266]=281;e[267]=282;e[268]=283;e[269]=313;e[275]=323;e[276]=324;e[278]=328;e[283]=344;e[284]=345;e[285]=346;e[286]=347;e[292]=367;e[295]=377;e[296]=378;e[298]=380;e[305]=963;e[306]=964;e[307]=966;e[308]=8215;e[309]=8252;e[310]=8319;e[311]=8359;e[312]=8592;e[313]=8593;e[337]=9552;e[493]=1039;e[494]=1040;e[672]=1488;e[673]=1489;e[674]=1490;e[675]=1491;e[676]=1492;e[677]=1493;e[678]=1494;e[679]=1495;e[680]=1496;e[681]=1497;e[682]=1498;e[683]=1499;e[684]=1500;e[685]=1501;e[686]=1502;e[687]=1503;e[688]=1504;e[689]=1505;e[690]=1506;e[691]=1507;e[692]=1508;e[693]=1509;e[694]=1510;e[695]=1511;e[696]=1512;e[697]=1513;e[698]=1514;e[705]=1524;e[706]=8362;e[710]=64288;e[711]=64298;e[759]=1617;e[761]=1776;e[763]=1778;e[775]=1652;e[777]=1764;e[778]=1780;e[779]=1781;e[780]=1782;e[782]=771;e[783]=64726;e[786]=8363;e[788]=8532;e[790]=768;e[791]=769;e[792]=768;e[795]=803;e[797]=64336;e[798]=64337;e[799]=64342;e[800]=64343;e[801]=64344;e[802]=64345;e[803]=64362;e[804]=64363;e[805]=64364;e[2424]=7821;e[2425]=7822;e[2426]=7823;e[2427]=7824;e[2428]=7825;e[2429]=7826;e[2430]=7827;e[2433]=7682;e[2678]=8045;e[2679]=8046;e[2830]=1552;e[2838]=686;e[2840]=751;e[2842]=753;e[2843]=754;e[2844]=755;e[2846]=757;e[2856]=767;e[2857]=848;e[2858]=849;e[2862]=853;e[2863]=854;e[2864]=855;e[2865]=861;e[2866]=862;e[2906]=7460;e[2908]=7462;e[2909]=7463;e[2910]=7464;e[2912]=7466;e[2913]=7467;e[2914]=7468;e[2916]=7470;e[2917]=7471;e[2918]=7472;e[2920]=7474;e[2921]=7475;e[2922]=7476;e[2924]=7478;e[2925]=7479;e[2926]=7480;e[2928]=7482;e[2929]=7483;e[2930]=7484;e[2932]=7486;e[2933]=7487;e[2934]=7488;e[2936]=7490;e[2937]=7491;e[2938]=7492;e[2940]=7494;e[2941]=7495;e[2942]=7496;e[2944]=7498;e[2946]=7500;e[2948]=7502;e[2950]=7504;e[2951]=7505;e[2952]=7506;e[2954]=7508;e[2955]=7509;e[2956]=7510;e[2958]=7512;e[2959]=7513;e[2960]=7514;e[2962]=7516;e[2963]=7517;e[2964]=7518;e[2966]=7520;e[2967]=7521;e[2968]=7522;e[2970]=7524;e[2971]=7525;e[2972]=7526;e[2974]=7528;e[2975]=7529;e[2976]=7530;e[2978]=1537;e[2979]=1538;e[2980]=1539;e[2982]=1549;e[2983]=1551;e[2984]=1552;e[2986]=1554;e[2987]=1555;e[2988]=1556;e[2990]=1623;e[2991]=1624;e[2995]=1775;e[2999]=1791;e[3002]=64290;e[3003]=64291;e[3004]=64292;e[3006]=64294;e[3007]=64295;e[3008]=64296;e[3011]=1900;e[3014]=8223;e[3015]=8244;e[3017]=7532;e[3018]=7533;e[3019]=7534;e[3075]=7590;e[3076]=7591;e[3079]=7594;e[3080]=7595;e[3083]=7598;e[3084]=7599;e[3087]=7602;e[3088]=7603;e[3091]=7606;e[3092]=7607;e[3095]=7610;e[3096]=7611;e[3099]=7614;e[3100]=7615;e[3103]=7618;e[3104]=7619;e[3107]=8337;e[3108]=8338;e[3116]=1884;e[3119]=1885;e[3120]=1885;e[3123]=1886;e[3124]=1886;e[3127]=1887;e[3128]=1887;e[3131]=1888;e[3132]=1888;e[3135]=1889;e[3136]=1889;e[3139]=1890;e[3140]=1890;e[3143]=1891;e[3144]=1891;e[3147]=1892;e[3148]=1892;e[3153]=580;e[3154]=581;e[3157]=584;e[3158]=585;e[3161]=588;e[3162]=589;e[3165]=891;e[3166]=892;e[3169]=1274;e[3170]=1275;e[3173]=1278;e[3174]=1279;e[3181]=7622;e[3182]=7623;e[3282]=11799;e[3316]=578;e[3379]=42785;e[3393]=1159;e[3416]=8377}));t.getGlyphMapForStandardFonts=h;const u=(0,r.getLookupTableFactory)((function(e){e[227]=322;e[264]=261;e[291]=346}));t.getSupplementalGlyphMapForArialBlack=u;const d=(0,r.getLookupTableFactory)((function(e){e[1]=32;e[4]=65;e[5]=192;e[6]=193;e[9]=196;e[17]=66;e[18]=67;e[21]=268;e[24]=68;e[28]=69;e[29]=200;e[30]=201;e[32]=282;e[38]=70;e[39]=71;e[44]=72;e[47]=73;e[48]=204;e[49]=205;e[58]=74;e[60]=75;e[62]=76;e[68]=77;e[69]=78;e[75]=79;e[76]=210;e[80]=214;e[87]=80;e[89]=81;e[90]=82;e[92]=344;e[94]=83;e[97]=352;e[100]=84;e[104]=85;e[109]=220;e[115]=86;e[116]=87;e[121]=88;e[122]=89;e[124]=221;e[127]=90;e[129]=381;e[258]=97;e[259]=224;e[260]=225;e[263]=228;e[268]=261;e[271]=98;e[272]=99;e[273]=263;e[275]=269;e[282]=100;e[286]=101;e[287]=232;e[288]=233;e[290]=283;e[295]=281;e[296]=102;e[336]=103;e[346]=104;e[349]=105;e[350]=236;e[351]=237;e[361]=106;e[364]=107;e[367]=108;e[371]=322;e[373]=109;e[374]=110;e[381]=111;e[382]=242;e[383]=243;e[386]=246;e[393]=112;e[395]=113;e[396]=114;e[398]=345;e[400]=115;e[401]=347;e[403]=353;e[410]=116;e[437]=117;e[442]=252;e[448]=118;e[449]=119;e[454]=120;e[455]=121;e[457]=253;e[460]=122;e[462]=382;e[463]=380;e[853]=44;e[855]=58;e[856]=46;e[876]=47;e[878]=45;e[882]=45;e[894]=40;e[895]=41;e[896]=91;e[897]=93;e[923]=64;e[1004]=48;e[1005]=49;e[1006]=50;e[1007]=51;e[1008]=52;e[1009]=53;e[1010]=54;e[1011]=55;e[1012]=56;e[1013]=57;e[1081]=37;e[1085]=43;e[1086]=45}));t.getSupplementalGlyphMapForCalibri=d},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ToUnicodeMap=t.IdentityToUnicodeMap=void 0;var r=a(2);t.ToUnicodeMap=class ToUnicodeMap{constructor(e=[]){this._map=e}get length(){return this._map.length}forEach(e){for(const t in this._map)e(t,this._map[t].charCodeAt(0))}has(e){return void 0!==this._map[e]}get(e){return this._map[e]}charCodeOf(e){const t=this._map;if(t.length<=65536)return t.indexOf(e);for(const a in t)if(t[a]===e)return 0|a;return-1}amend(e){for(const t in e)this._map[t]=e[t]}};t.IdentityToUnicodeMap=class IdentityToUnicodeMap{constructor(e,t){this.firstChar=e;this.lastChar=t}get length(){return this.lastChar+1-this.firstChar}forEach(e){for(let t=this.firstChar,a=this.lastChar;t<=a;t++)e(t,t)}has(e){return this.firstChar<=e&&e<=this.lastChar}get(e){if(this.firstChar<=e&&e<=this.lastChar)return String.fromCharCode(e)}charCodeOf(e){return Number.isInteger(e)&&e>=this.firstChar&&e<=this.lastChar?e:-1}amend(e){(0,r.unreachable)("Should not call amend()")}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.CFFFont=void 0;var r=a(35),n=a(38),i=a(2);t.CFFFont=class CFFFont{constructor(e,t){this.properties=t;const a=new r.CFFParser(e,t,n.SEAC_ANALYSIS_ENABLED);this.cff=a.parse();this.cff.duplicateFirstGlyph();const s=new r.CFFCompiler(this.cff);this.seacs=this.cff.seacs;try{this.data=s.compile()}catch{(0,i.warn)("Failed to compile font "+t.loadedName);this.data=e}this._createBuiltInEncoding()}get numGlyphs(){return this.cff.charStrings.count}getCharset(){return this.cff.charset.charset}getGlyphMapping(){const e=this.cff,t=this.properties,{cidToGidMap:a,cMap:r}=t,i=e.charset.charset;let s,o;if(t.composite){let t,n;if(a?.length>0){t=Object.create(null);for(let e=0,r=a.length;e=0){const r=a[t];r&&(n[e]=r)}}n.length>0&&(this.properties.builtInEncoding=n)}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.FontRendererFactory=void 0;var r=a(2),n=a(35),i=a(39),s=a(37),o=a(8);function getUint32(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}function getUint16(e,t){return e[t]<<8|e[t+1]}function getInt16(e,t){return(e[t]<<24|e[t+1]<<16)>>16}function getInt8(e,t){return e[t]<<24>>24}function getFloat214(e,t){return getInt16(e,t)/16384}function getSubroutineBias(e){const t=e.length;let a=32768;t<1240?a=107:t<33900&&(a=1131);return a}function parseCmap(e,t,a){const n=1===getUint16(e,t+2)?getUint32(e,t+8):getUint32(e,t+16),i=getUint16(e,t+n);let s,o,c;if(4===i){getUint16(e,t+n+2);const a=getUint16(e,t+n+6)>>1;o=t+n+14;s=[];for(c=0;c>1;a0;)h.push({flags:i})}for(a=0;a>1;S=!0;break;case 4:c+=i.pop();moveTo(o,c);S=!0;break;case 5:for(;i.length>0;){o+=i.shift();c+=i.shift();lineTo(o,c)}break;case 6:for(;i.length>0;){o+=i.shift();lineTo(o,c);if(0===i.length)break;c+=i.shift();lineTo(o,c)}break;case 7:for(;i.length>0;){c+=i.shift();lineTo(o,c);if(0===i.length)break;o+=i.shift();lineTo(o,c)}break;case 8:for(;i.length>0;){u=o+i.shift();f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+i.shift();bezierCurveTo(u,f,d,g,o,c)}break;case 10:y=i.pop();w=null;if(a.isCFFCIDFont){const e=a.fdSelect.getFDIndex(n);if(e>=0&&eMath.abs(c-t)?o+=i.shift():c+=i.shift();bezierCurveTo(u,f,d,g,o,c);break;default:throw new r.FormatError(`unknown operator: 12 ${x}`)}break;case 14:if(i.length>=4){const e=i.pop(),r=i.pop();c=i.pop();o=i.pop();t.push({cmd:"save"},{cmd:"translate",args:[o,c]});let n=lookupCmap(a.cmap,String.fromCharCode(a.glyphNameMap[s.StandardEncoding[e]]));compileCharString(a.glyphs[n.glyphId],t,a,n.glyphId);t.push({cmd:"restore"});n=lookupCmap(a.cmap,String.fromCharCode(a.glyphNameMap[s.StandardEncoding[r]]));compileCharString(a.glyphs[n.glyphId],t,a,n.glyphId)}return;case 19:case 20:l+=i.length>>1;h+=l+7>>3;S=!0;break;case 21:c+=i.pop();o+=i.pop();moveTo(o,c);S=!0;break;case 22:o+=i.pop();moveTo(o,c);S=!0;break;case 24:for(;i.length>2;){u=o+i.shift();f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+i.shift();bezierCurveTo(u,f,d,g,o,c)}o+=i.shift();c+=i.shift();lineTo(o,c);break;case 25:for(;i.length>6;){o+=i.shift();c+=i.shift();lineTo(o,c)}u=o+i.shift();f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+i.shift();bezierCurveTo(u,f,d,g,o,c);break;case 26:i.length%2&&(o+=i.shift());for(;i.length>0;){u=o;f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d;c=g+i.shift();bezierCurveTo(u,f,d,g,o,c)}break;case 27:i.length%2&&(c+=i.shift());for(;i.length>0;){u=o+i.shift();f=c;d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g;bezierCurveTo(u,f,d,g,o,c)}break;case 28:i.push((e[h]<<24|e[h+1]<<16)>>16);h+=2;break;case 29:y=i.pop()+a.gsubrsBias;w=a.gsubrs[y];w&&parse(w);break;case 30:for(;i.length>0;){u=o;f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+(1===i.length?i.shift():0);bezierCurveTo(u,f,d,g,o,c);if(0===i.length)break;u=o+i.shift();f=c;d=u+i.shift();g=f+i.shift();c=g+i.shift();o=d+(1===i.length?i.shift():0);bezierCurveTo(u,f,d,g,o,c)}break;case 31:for(;i.length>0;){u=o+i.shift();f=c;d=u+i.shift();g=f+i.shift();c=g+i.shift();o=d+(1===i.length?i.shift():0);bezierCurveTo(u,f,d,g,o,c);if(0===i.length)break;u=o;f=c+i.shift();d=u+i.shift();g=f+i.shift();o=d+i.shift();c=g+(1===i.length?i.shift():0);bezierCurveTo(u,f,d,g,o,c)}break;default:if(x<32)throw new r.FormatError(`unknown operator: ${x}`);if(x<247)i.push(x-139);else if(x<251)i.push(256*(x-247)+e[h++]+108);else if(x<255)i.push(256*-(x-251)-e[h++]-108);else{i.push((e[h]<<24|e[h+1]<<16|e[h+2]<<8|e[h+3])/65536);h+=4}}S&&(i.length=0)}}(e)}const c=[];class CompiledFont{constructor(e){this.constructor===CompiledFont&&(0,r.unreachable)("Cannot initialize CompiledFont.");this.fontMatrix=e;this.compiledGlyphs=Object.create(null);this.compiledCharCodeToGlyphId=Object.create(null)}getPathJs(e){const{charCode:t,glyphId:a}=lookupCmap(this.cmap,e);let r=this.compiledGlyphs[a];if(!r)try{r=this.compileGlyph(this.glyphs[a],a);this.compiledGlyphs[a]=r}catch(e){this.compiledGlyphs[a]=c;void 0===this.compiledCharCodeToGlyphId[t]&&(this.compiledCharCodeToGlyphId[t]=a);throw e}void 0===this.compiledCharCodeToGlyphId[t]&&(this.compiledCharCodeToGlyphId[t]=a);return r}compileGlyph(e,t){if(!e||0===e.length||14===e[0])return c;let a=this.fontMatrix;if(this.isCFFCIDFont){const e=this.fdSelect.getFDIndex(t);if(e>=0&&e2*getUint16(e,t)}const i=[];let s=n(t,0);for(let a=r;a{Object.defineProperty(t,"__esModule",{value:!0});t.getMetrics=t.getFontBasicMetrics=void 0;var r=a(3);const n=(0,r.getLookupTableFactory)((function(e){e.Courier=600;e["Courier-Bold"]=600;e["Courier-BoldOblique"]=600;e["Courier-Oblique"]=600;e.Helvetica=(0,r.getLookupTableFactory)((function(e){e.space=278;e.exclam=278;e.quotedbl=355;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=667;e.quoteright=222;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=278;e.semicolon=278;e.less=584;e.equal=584;e.greater=584;e.question=556;e.at=1015;e.A=667;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=500;e.K=667;e.L=556;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=278;e.backslash=278;e.bracketright=278;e.asciicircum=469;e.underscore=556;e.quoteleft=222;e.a=556;e.b=556;e.c=500;e.d=556;e.e=556;e.f=278;e.g=556;e.h=556;e.i=222;e.j=222;e.k=500;e.l=222;e.m=833;e.n=556;e.o=556;e.p=556;e.q=556;e.r=333;e.s=500;e.t=278;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=500;e.braceleft=334;e.bar=260;e.braceright=334;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=191;e.quotedblleft=333;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=537;e.bullet=350;e.quotesinglbase=222;e.quotedblbase=333;e.quotedblright=333;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=556;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=222;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=556;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=667;e.aacute=556;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=500;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=500;e.aring=556;e.Ncommaaccent=722;e.lacute=222;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=500;e.scedilla=500;e.iacute=278;e.lozenge=471;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=556;e.Amacron=667;e.rcaron=333;e.ccedilla=500;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=643;e.Umacron=722;e.uring=556;e.threesuperior=333;e.Ograve=778;e.Agrave=667;e.Abreve=667;e.multiply=584;e.uacute=556;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=500;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=260;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=333;e.omacron=556;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=222;e.tcaron=317;e.eogonek=556;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=556;e.zacute=500;e.iogonek=222;e.Oacute=778;e.oacute=556;e.amacron=556;e.sacute=500;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=333;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=556;e.Eogonek=667;e.dcroat=556;e.threequarters=834;e.Scedilla=667;e.lcaron=299;e.Kcommaaccent=667;e.Lacute=556;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=556;e.onehalf=834;e.lessequal=549;e.ocircumflex=556;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=556;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=556;e.Ccaron=722;e.ugrave=556;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=556;e.Rcommaaccent=722;e.Lcommaaccent=556;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=500;e.minus=584;e.Icircumflex=278;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=584;e.odieresis=556;e.udieresis=556;e.notequal=549;e.gcommaaccent=556;e.eth=556;e.zcaron=500;e.ncommaaccent=556;e.onesuperior=333;e.imacron=278;e.Euro=556}));e["Helvetica-Bold"]=(0,r.getLookupTableFactory)((function(e){e.space=278;e.exclam=333;e.quotedbl=474;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=722;e.quoteright=278;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=333;e.semicolon=333;e.less=584;e.equal=584;e.greater=584;e.question=611;e.at=975;e.A=722;e.B=722;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=556;e.K=722;e.L=611;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=584;e.underscore=556;e.quoteleft=278;e.a=556;e.b=611;e.c=556;e.d=611;e.e=556;e.f=333;e.g=611;e.h=611;e.i=278;e.j=278;e.k=556;e.l=278;e.m=889;e.n=611;e.o=611;e.p=611;e.q=611;e.r=389;e.s=556;e.t=333;e.u=611;e.v=556;e.w=778;e.x=556;e.y=556;e.z=500;e.braceleft=389;e.bar=280;e.braceright=389;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=238;e.quotedblleft=500;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=611;e.fl=611;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=556;e.bullet=350;e.quotesinglbase=278;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=611;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=278;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=611;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=722;e.aacute=556;e.Ucircumflex=722;e.yacute=556;e.scommaaccent=556;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=611;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=556;e.aring=556;e.Ncommaaccent=722;e.lacute=278;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=556;e.scedilla=556;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=611;e.acircumflex=556;e.Amacron=722;e.rcaron=389;e.ccedilla=556;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=743;e.Umacron=722;e.uring=611;e.threesuperior=333;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=584;e.uacute=611;e.Tcaron=611;e.partialdiff=494;e.ydieresis=556;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=556;e.nacute=611;e.umacron=611;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=280;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=611;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=389;e.eogonek=556;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=556;e.zacute=500;e.iogonek=278;e.Oacute=778;e.oacute=611;e.amacron=556;e.sacute=556;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=611;e.twosuperior=333;e.Odieresis=778;e.mu=611;e.igrave=278;e.ohungarumlaut=611;e.Eogonek=667;e.dcroat=611;e.threequarters=834;e.Scedilla=667;e.lcaron=400;e.Kcommaaccent=722;e.Lacute=611;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=611;e.onehalf=834;e.lessequal=549;e.ocircumflex=611;e.ntilde=611;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=611;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=611;e.Ccaron=722;e.ugrave=611;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=611;e.Rcommaaccent=722;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=556;e.minus=584;e.Icircumflex=278;e.ncaron=611;e.tcommaaccent=333;e.logicalnot=584;e.odieresis=611;e.udieresis=611;e.notequal=549;e.gcommaaccent=611;e.eth=611;e.zcaron=500;e.ncommaaccent=611;e.onesuperior=333;e.imacron=278;e.Euro=556}));e["Helvetica-BoldOblique"]=(0,r.getLookupTableFactory)((function(e){e.space=278;e.exclam=333;e.quotedbl=474;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=722;e.quoteright=278;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=333;e.semicolon=333;e.less=584;e.equal=584;e.greater=584;e.question=611;e.at=975;e.A=722;e.B=722;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=556;e.K=722;e.L=611;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=584;e.underscore=556;e.quoteleft=278;e.a=556;e.b=611;e.c=556;e.d=611;e.e=556;e.f=333;e.g=611;e.h=611;e.i=278;e.j=278;e.k=556;e.l=278;e.m=889;e.n=611;e.o=611;e.p=611;e.q=611;e.r=389;e.s=556;e.t=333;e.u=611;e.v=556;e.w=778;e.x=556;e.y=556;e.z=500;e.braceleft=389;e.bar=280;e.braceright=389;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=238;e.quotedblleft=500;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=611;e.fl=611;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=556;e.bullet=350;e.quotesinglbase=278;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=611;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=278;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=611;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=722;e.aacute=556;e.Ucircumflex=722;e.yacute=556;e.scommaaccent=556;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=611;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=556;e.aring=556;e.Ncommaaccent=722;e.lacute=278;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=556;e.scedilla=556;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=611;e.acircumflex=556;e.Amacron=722;e.rcaron=389;e.ccedilla=556;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=743;e.Umacron=722;e.uring=611;e.threesuperior=333;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=584;e.uacute=611;e.Tcaron=611;e.partialdiff=494;e.ydieresis=556;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=556;e.nacute=611;e.umacron=611;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=280;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=611;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=389;e.eogonek=556;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=556;e.zacute=500;e.iogonek=278;e.Oacute=778;e.oacute=611;e.amacron=556;e.sacute=556;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=611;e.twosuperior=333;e.Odieresis=778;e.mu=611;e.igrave=278;e.ohungarumlaut=611;e.Eogonek=667;e.dcroat=611;e.threequarters=834;e.Scedilla=667;e.lcaron=400;e.Kcommaaccent=722;e.Lacute=611;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=611;e.onehalf=834;e.lessequal=549;e.ocircumflex=611;e.ntilde=611;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=611;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=611;e.Ccaron=722;e.ugrave=611;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=611;e.Rcommaaccent=722;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=556;e.minus=584;e.Icircumflex=278;e.ncaron=611;e.tcommaaccent=333;e.logicalnot=584;e.odieresis=611;e.udieresis=611;e.notequal=549;e.gcommaaccent=611;e.eth=611;e.zcaron=500;e.ncommaaccent=611;e.onesuperior=333;e.imacron=278;e.Euro=556}));e["Helvetica-Oblique"]=(0,r.getLookupTableFactory)((function(e){e.space=278;e.exclam=278;e.quotedbl=355;e.numbersign=556;e.dollar=556;e.percent=889;e.ampersand=667;e.quoteright=222;e.parenleft=333;e.parenright=333;e.asterisk=389;e.plus=584;e.comma=278;e.hyphen=333;e.period=278;e.slash=278;e.zero=556;e.one=556;e.two=556;e.three=556;e.four=556;e.five=556;e.six=556;e.seven=556;e.eight=556;e.nine=556;e.colon=278;e.semicolon=278;e.less=584;e.equal=584;e.greater=584;e.question=556;e.at=1015;e.A=667;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=722;e.I=278;e.J=500;e.K=667;e.L=556;e.M=833;e.N=722;e.O=778;e.P=667;e.Q=778;e.R=722;e.S=667;e.T=611;e.U=722;e.V=667;e.W=944;e.X=667;e.Y=667;e.Z=611;e.bracketleft=278;e.backslash=278;e.bracketright=278;e.asciicircum=469;e.underscore=556;e.quoteleft=222;e.a=556;e.b=556;e.c=500;e.d=556;e.e=556;e.f=278;e.g=556;e.h=556;e.i=222;e.j=222;e.k=500;e.l=222;e.m=833;e.n=556;e.o=556;e.p=556;e.q=556;e.r=333;e.s=500;e.t=278;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=500;e.braceleft=334;e.bar=260;e.braceright=334;e.asciitilde=584;e.exclamdown=333;e.cent=556;e.sterling=556;e.fraction=167;e.yen=556;e.florin=556;e.section=556;e.currency=556;e.quotesingle=191;e.quotedblleft=333;e.guillemotleft=556;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=556;e.dagger=556;e.daggerdbl=556;e.periodcentered=278;e.paragraph=537;e.bullet=350;e.quotesinglbase=222;e.quotedblbase=333;e.quotedblright=333;e.guillemotright=556;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=611;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=370;e.Lslash=556;e.Oslash=778;e.OE=1e3;e.ordmasculine=365;e.ae=889;e.dotlessi=278;e.lslash=222;e.oslash=611;e.oe=944;e.germandbls=611;e.Idieresis=278;e.eacute=556;e.abreve=556;e.uhungarumlaut=556;e.ecaron=556;e.Ydieresis=667;e.divide=584;e.Yacute=667;e.Acircumflex=667;e.aacute=556;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=500;e.ecircumflex=556;e.Uring=722;e.Udieresis=722;e.aogonek=556;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=737;e.Emacron=667;e.ccaron=500;e.aring=556;e.Ncommaaccent=722;e.lacute=222;e.agrave=556;e.Tcommaaccent=611;e.Cacute=722;e.atilde=556;e.Edotaccent=667;e.scaron=500;e.scedilla=500;e.iacute=278;e.lozenge=471;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=556;e.Amacron=667;e.rcaron=333;e.ccedilla=500;e.Zdotaccent=611;e.Thorn=667;e.Omacron=778;e.Racute=722;e.Sacute=667;e.dcaron=643;e.Umacron=722;e.uring=556;e.threesuperior=333;e.Ograve=778;e.Agrave=667;e.Abreve=667;e.multiply=584;e.uacute=556;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=556;e.edieresis=556;e.cacute=500;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=278;e.plusminus=584;e.brokenbar=260;e.registered=737;e.Gbreve=778;e.Idotaccent=278;e.summation=600;e.Egrave=667;e.racute=333;e.omacron=556;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=222;e.tcaron=317;e.eogonek=556;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=556;e.zacute=500;e.iogonek=222;e.Oacute=778;e.oacute=556;e.amacron=556;e.sacute=500;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=333;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=556;e.Eogonek=667;e.dcroat=556;e.threequarters=834;e.Scedilla=667;e.lcaron=299;e.Kcommaaccent=667;e.Lacute=556;e.trademark=1e3;e.edotaccent=556;e.Igrave=278;e.Imacron=278;e.Lcaron=556;e.onehalf=834;e.lessequal=549;e.ocircumflex=556;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=556;e.gbreve=556;e.onequarter=834;e.Scaron=667;e.Scommaaccent=667;e.Ohungarumlaut=778;e.degree=400;e.ograve=556;e.Ccaron=722;e.ugrave=556;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=556;e.Rcommaaccent=722;e.Lcommaaccent=556;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=778;e.zdotaccent=500;e.Ecaron=667;e.Iogonek=278;e.kcommaaccent=500;e.minus=584;e.Icircumflex=278;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=584;e.odieresis=556;e.udieresis=556;e.notequal=549;e.gcommaaccent=556;e.eth=556;e.zcaron=500;e.ncommaaccent=556;e.onesuperior=333;e.imacron=278;e.Euro=556}));e.Symbol=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=333;e.universal=713;e.numbersign=500;e.existential=549;e.percent=833;e.ampersand=778;e.suchthat=439;e.parenleft=333;e.parenright=333;e.asteriskmath=500;e.plus=549;e.comma=250;e.minus=549;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=278;e.semicolon=278;e.less=549;e.equal=549;e.greater=549;e.question=444;e.congruent=549;e.Alpha=722;e.Beta=667;e.Chi=722;e.Delta=612;e.Epsilon=611;e.Phi=763;e.Gamma=603;e.Eta=722;e.Iota=333;e.theta1=631;e.Kappa=722;e.Lambda=686;e.Mu=889;e.Nu=722;e.Omicron=722;e.Pi=768;e.Theta=741;e.Rho=556;e.Sigma=592;e.Tau=611;e.Upsilon=690;e.sigma1=439;e.Omega=768;e.Xi=645;e.Psi=795;e.Zeta=611;e.bracketleft=333;e.therefore=863;e.bracketright=333;e.perpendicular=658;e.underscore=500;e.radicalex=500;e.alpha=631;e.beta=549;e.chi=549;e.delta=494;e.epsilon=439;e.phi=521;e.gamma=411;e.eta=603;e.iota=329;e.phi1=603;e.kappa=549;e.lambda=549;e.mu=576;e.nu=521;e.omicron=549;e.pi=549;e.theta=521;e.rho=549;e.sigma=603;e.tau=439;e.upsilon=576;e.omega1=713;e.omega=686;e.xi=493;e.psi=686;e.zeta=494;e.braceleft=480;e.bar=200;e.braceright=480;e.similar=549;e.Euro=750;e.Upsilon1=620;e.minute=247;e.lessequal=549;e.fraction=167;e.infinity=713;e.florin=500;e.club=753;e.diamond=753;e.heart=753;e.spade=753;e.arrowboth=1042;e.arrowleft=987;e.arrowup=603;e.arrowright=987;e.arrowdown=603;e.degree=400;e.plusminus=549;e.second=411;e.greaterequal=549;e.multiply=549;e.proportional=713;e.partialdiff=494;e.bullet=460;e.divide=549;e.notequal=549;e.equivalence=549;e.approxequal=549;e.ellipsis=1e3;e.arrowvertex=603;e.arrowhorizex=1e3;e.carriagereturn=658;e.aleph=823;e.Ifraktur=686;e.Rfraktur=795;e.weierstrass=987;e.circlemultiply=768;e.circleplus=768;e.emptyset=823;e.intersection=768;e.union=768;e.propersuperset=713;e.reflexsuperset=713;e.notsubset=713;e.propersubset=713;e.reflexsubset=713;e.element=713;e.notelement=713;e.angle=768;e.gradient=713;e.registerserif=790;e.copyrightserif=790;e.trademarkserif=890;e.product=823;e.radical=549;e.dotmath=250;e.logicalnot=713;e.logicaland=603;e.logicalor=603;e.arrowdblboth=1042;e.arrowdblleft=987;e.arrowdblup=603;e.arrowdblright=987;e.arrowdbldown=603;e.lozenge=494;e.angleleft=329;e.registersans=790;e.copyrightsans=790;e.trademarksans=786;e.summation=713;e.parenlefttp=384;e.parenleftex=384;e.parenleftbt=384;e.bracketlefttp=384;e.bracketleftex=384;e.bracketleftbt=384;e.bracelefttp=494;e.braceleftmid=494;e.braceleftbt=494;e.braceex=494;e.angleright=329;e.integral=274;e.integraltp=686;e.integralex=686;e.integralbt=686;e.parenrighttp=384;e.parenrightex=384;e.parenrightbt=384;e.bracketrighttp=384;e.bracketrightex=384;e.bracketrightbt=384;e.bracerighttp=494;e.bracerightmid=494;e.bracerightbt=494;e.apple=790}));e["Times-Roman"]=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=333;e.quotedbl=408;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=564;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=278;e.semicolon=278;e.less=564;e.equal=564;e.greater=564;e.question=444;e.at=921;e.A=722;e.B=667;e.C=667;e.D=722;e.E=611;e.F=556;e.G=722;e.H=722;e.I=333;e.J=389;e.K=722;e.L=611;e.M=889;e.N=722;e.O=722;e.P=556;e.Q=722;e.R=667;e.S=556;e.T=611;e.U=722;e.V=722;e.W=944;e.X=722;e.Y=722;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=469;e.underscore=500;e.quoteleft=333;e.a=444;e.b=500;e.c=444;e.d=500;e.e=444;e.f=333;e.g=500;e.h=500;e.i=278;e.j=278;e.k=500;e.l=278;e.m=778;e.n=500;e.o=500;e.p=500;e.q=500;e.r=333;e.s=389;e.t=278;e.u=500;e.v=500;e.w=722;e.x=500;e.y=500;e.z=444;e.braceleft=480;e.bar=200;e.braceright=480;e.asciitilde=541;e.exclamdown=333;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=180;e.quotedblleft=444;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=453;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=444;e.quotedblright=444;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=444;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=889;e.ordfeminine=276;e.Lslash=611;e.Oslash=722;e.OE=889;e.ordmasculine=310;e.ae=667;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=500;e.Idieresis=333;e.eacute=444;e.abreve=444;e.uhungarumlaut=500;e.ecaron=444;e.Ydieresis=722;e.divide=564;e.Yacute=722;e.Acircumflex=722;e.aacute=444;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=444;e.Uacute=722;e.uogonek=500;e.Edieresis=611;e.Dcroat=722;e.commaaccent=250;e.copyright=760;e.Emacron=611;e.ccaron=444;e.aring=444;e.Ncommaaccent=722;e.lacute=278;e.agrave=444;e.Tcommaaccent=611;e.Cacute=667;e.atilde=444;e.Edotaccent=611;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=471;e.Rcaron=667;e.Gcommaaccent=722;e.ucircumflex=500;e.acircumflex=444;e.Amacron=722;e.rcaron=333;e.ccedilla=444;e.Zdotaccent=611;e.Thorn=556;e.Omacron=722;e.Racute=667;e.Sacute=556;e.dcaron=588;e.Umacron=722;e.uring=500;e.threesuperior=300;e.Ograve=722;e.Agrave=722;e.Abreve=722;e.multiply=564;e.uacute=500;e.Tcaron=611;e.partialdiff=476;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=611;e.adieresis=444;e.edieresis=444;e.cacute=444;e.nacute=500;e.umacron=500;e.Ncaron=722;e.Iacute=333;e.plusminus=564;e.brokenbar=200;e.registered=760;e.Gbreve=722;e.Idotaccent=333;e.summation=600;e.Egrave=611;e.racute=333;e.omacron=500;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=326;e.eogonek=444;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=444;e.zacute=444;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=444;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=500;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=611;e.dcroat=500;e.threequarters=750;e.Scedilla=556;e.lcaron=344;e.Kcommaaccent=722;e.Lacute=611;e.trademark=980;e.edotaccent=444;e.Igrave=333;e.Imacron=333;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=500;e.Uhungarumlaut=722;e.Eacute=611;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=500;e.radical=453;e.Dcaron=722;e.rcommaaccent=333;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=667;e.Lcommaaccent=611;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=722;e.zdotaccent=444;e.Ecaron=611;e.Iogonek=333;e.kcommaaccent=500;e.minus=564;e.Icircumflex=333;e.ncaron=500;e.tcommaaccent=278;e.logicalnot=564;e.odieresis=500;e.udieresis=500;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=444;e.ncommaaccent=500;e.onesuperior=300;e.imacron=278;e.Euro=500}));e["Times-Bold"]=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=333;e.quotedbl=555;e.numbersign=500;e.dollar=500;e.percent=1e3;e.ampersand=833;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=570;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=570;e.equal=570;e.greater=570;e.question=500;e.at=930;e.A=722;e.B=667;e.C=722;e.D=722;e.E=667;e.F=611;e.G=778;e.H=778;e.I=389;e.J=500;e.K=778;e.L=667;e.M=944;e.N=722;e.O=778;e.P=611;e.Q=778;e.R=722;e.S=556;e.T=667;e.U=722;e.V=722;e.W=1e3;e.X=722;e.Y=722;e.Z=667;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=581;e.underscore=500;e.quoteleft=333;e.a=500;e.b=556;e.c=444;e.d=556;e.e=444;e.f=333;e.g=500;e.h=556;e.i=278;e.j=333;e.k=556;e.l=278;e.m=833;e.n=556;e.o=500;e.p=556;e.q=556;e.r=444;e.s=389;e.t=333;e.u=556;e.v=500;e.w=722;e.x=500;e.y=500;e.z=444;e.braceleft=394;e.bar=220;e.braceright=394;e.asciitilde=520;e.exclamdown=333;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=278;e.quotedblleft=500;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=540;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=1e3;e.ordfeminine=300;e.Lslash=667;e.Oslash=778;e.OE=1e3;e.ordmasculine=330;e.ae=722;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=556;e.Idieresis=389;e.eacute=444;e.abreve=500;e.uhungarumlaut=556;e.ecaron=444;e.Ydieresis=722;e.divide=570;e.Yacute=722;e.Acircumflex=722;e.aacute=500;e.Ucircumflex=722;e.yacute=500;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=747;e.Emacron=667;e.ccaron=444;e.aring=500;e.Ncommaaccent=722;e.lacute=278;e.agrave=500;e.Tcommaaccent=667;e.Cacute=722;e.atilde=500;e.Edotaccent=667;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=494;e.Rcaron=722;e.Gcommaaccent=778;e.ucircumflex=556;e.acircumflex=500;e.Amacron=722;e.rcaron=444;e.ccedilla=444;e.Zdotaccent=667;e.Thorn=611;e.Omacron=778;e.Racute=722;e.Sacute=556;e.dcaron=672;e.Umacron=722;e.uring=556;e.threesuperior=300;e.Ograve=778;e.Agrave=722;e.Abreve=722;e.multiply=570;e.uacute=556;e.Tcaron=667;e.partialdiff=494;e.ydieresis=500;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=389;e.plusminus=570;e.brokenbar=220;e.registered=747;e.Gbreve=778;e.Idotaccent=389;e.summation=600;e.Egrave=667;e.racute=444;e.omacron=500;e.Zacute=667;e.Zcaron=667;e.greaterequal=549;e.Eth=722;e.Ccedilla=722;e.lcommaaccent=278;e.tcaron=416;e.eogonek=444;e.Uogonek=722;e.Aacute=722;e.Adieresis=722;e.egrave=444;e.zacute=444;e.iogonek=278;e.Oacute=778;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=778;e.Ugrave=722;e.Delta=612;e.thorn=556;e.twosuperior=300;e.Odieresis=778;e.mu=556;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=667;e.dcroat=556;e.threequarters=750;e.Scedilla=556;e.lcaron=394;e.Kcommaaccent=778;e.Lacute=667;e.trademark=1e3;e.edotaccent=444;e.Igrave=389;e.Imacron=389;e.Lcaron=667;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=778;e.degree=400;e.ograve=500;e.Ccaron=722;e.ugrave=556;e.radical=549;e.Dcaron=722;e.rcommaaccent=444;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=722;e.Lcommaaccent=667;e.Atilde=722;e.Aogonek=722;e.Aring=722;e.Otilde=778;e.zdotaccent=444;e.Ecaron=667;e.Iogonek=389;e.kcommaaccent=556;e.minus=570;e.Icircumflex=389;e.ncaron=556;e.tcommaaccent=333;e.logicalnot=570;e.odieresis=500;e.udieresis=556;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=444;e.ncommaaccent=556;e.onesuperior=300;e.imacron=278;e.Euro=500}));e["Times-BoldItalic"]=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=389;e.quotedbl=555;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=570;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=570;e.equal=570;e.greater=570;e.question=500;e.at=832;e.A=667;e.B=667;e.C=667;e.D=722;e.E=667;e.F=667;e.G=722;e.H=778;e.I=389;e.J=500;e.K=667;e.L=611;e.M=889;e.N=722;e.O=722;e.P=611;e.Q=722;e.R=667;e.S=556;e.T=611;e.U=722;e.V=667;e.W=889;e.X=667;e.Y=611;e.Z=611;e.bracketleft=333;e.backslash=278;e.bracketright=333;e.asciicircum=570;e.underscore=500;e.quoteleft=333;e.a=500;e.b=500;e.c=444;e.d=500;e.e=444;e.f=333;e.g=500;e.h=556;e.i=278;e.j=278;e.k=500;e.l=278;e.m=778;e.n=556;e.o=500;e.p=500;e.q=500;e.r=389;e.s=389;e.t=278;e.u=556;e.v=444;e.w=667;e.x=500;e.y=444;e.z=389;e.braceleft=348;e.bar=220;e.braceright=348;e.asciitilde=570;e.exclamdown=389;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=278;e.quotedblleft=500;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=556;e.fl=556;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=500;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=500;e.quotedblright=500;e.guillemotright=500;e.ellipsis=1e3;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=1e3;e.AE=944;e.ordfeminine=266;e.Lslash=611;e.Oslash=722;e.OE=944;e.ordmasculine=300;e.ae=722;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=722;e.germandbls=500;e.Idieresis=389;e.eacute=444;e.abreve=500;e.uhungarumlaut=556;e.ecaron=444;e.Ydieresis=611;e.divide=570;e.Yacute=611;e.Acircumflex=667;e.aacute=500;e.Ucircumflex=722;e.yacute=444;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=556;e.Edieresis=667;e.Dcroat=722;e.commaaccent=250;e.copyright=747;e.Emacron=667;e.ccaron=444;e.aring=500;e.Ncommaaccent=722;e.lacute=278;e.agrave=500;e.Tcommaaccent=611;e.Cacute=667;e.atilde=500;e.Edotaccent=667;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=494;e.Rcaron=667;e.Gcommaaccent=722;e.ucircumflex=556;e.acircumflex=500;e.Amacron=667;e.rcaron=389;e.ccedilla=444;e.Zdotaccent=611;e.Thorn=611;e.Omacron=722;e.Racute=667;e.Sacute=556;e.dcaron=608;e.Umacron=722;e.uring=556;e.threesuperior=300;e.Ograve=722;e.Agrave=667;e.Abreve=667;e.multiply=570;e.uacute=556;e.Tcaron=611;e.partialdiff=494;e.ydieresis=444;e.Nacute=722;e.icircumflex=278;e.Ecircumflex=667;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=556;e.umacron=556;e.Ncaron=722;e.Iacute=389;e.plusminus=570;e.brokenbar=220;e.registered=747;e.Gbreve=722;e.Idotaccent=389;e.summation=600;e.Egrave=667;e.racute=389;e.omacron=500;e.Zacute=611;e.Zcaron=611;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=366;e.eogonek=444;e.Uogonek=722;e.Aacute=667;e.Adieresis=667;e.egrave=444;e.zacute=389;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=576;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=667;e.dcroat=500;e.threequarters=750;e.Scedilla=556;e.lcaron=382;e.Kcommaaccent=667;e.Lacute=611;e.trademark=1e3;e.edotaccent=444;e.Igrave=389;e.Imacron=389;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=556;e.Uhungarumlaut=722;e.Eacute=667;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=556;e.Scommaaccent=556;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=556;e.radical=549;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=722;e.otilde=500;e.Rcommaaccent=667;e.Lcommaaccent=611;e.Atilde=667;e.Aogonek=667;e.Aring=667;e.Otilde=722;e.zdotaccent=389;e.Ecaron=667;e.Iogonek=389;e.kcommaaccent=500;e.minus=606;e.Icircumflex=389;e.ncaron=556;e.tcommaaccent=278;e.logicalnot=606;e.odieresis=500;e.udieresis=556;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=389;e.ncommaaccent=556;e.onesuperior=300;e.imacron=278;e.Euro=500}));e["Times-Italic"]=(0,r.getLookupTableFactory)((function(e){e.space=250;e.exclam=333;e.quotedbl=420;e.numbersign=500;e.dollar=500;e.percent=833;e.ampersand=778;e.quoteright=333;e.parenleft=333;e.parenright=333;e.asterisk=500;e.plus=675;e.comma=250;e.hyphen=333;e.period=250;e.slash=278;e.zero=500;e.one=500;e.two=500;e.three=500;e.four=500;e.five=500;e.six=500;e.seven=500;e.eight=500;e.nine=500;e.colon=333;e.semicolon=333;e.less=675;e.equal=675;e.greater=675;e.question=500;e.at=920;e.A=611;e.B=611;e.C=667;e.D=722;e.E=611;e.F=611;e.G=722;e.H=722;e.I=333;e.J=444;e.K=667;e.L=556;e.M=833;e.N=667;e.O=722;e.P=611;e.Q=722;e.R=611;e.S=500;e.T=556;e.U=722;e.V=611;e.W=833;e.X=611;e.Y=556;e.Z=556;e.bracketleft=389;e.backslash=278;e.bracketright=389;e.asciicircum=422;e.underscore=500;e.quoteleft=333;e.a=500;e.b=500;e.c=444;e.d=500;e.e=444;e.f=278;e.g=500;e.h=500;e.i=278;e.j=278;e.k=444;e.l=278;e.m=722;e.n=500;e.o=500;e.p=500;e.q=500;e.r=389;e.s=389;e.t=278;e.u=500;e.v=444;e.w=667;e.x=444;e.y=444;e.z=389;e.braceleft=400;e.bar=275;e.braceright=400;e.asciitilde=541;e.exclamdown=389;e.cent=500;e.sterling=500;e.fraction=167;e.yen=500;e.florin=500;e.section=500;e.currency=500;e.quotesingle=214;e.quotedblleft=556;e.guillemotleft=500;e.guilsinglleft=333;e.guilsinglright=333;e.fi=500;e.fl=500;e.endash=500;e.dagger=500;e.daggerdbl=500;e.periodcentered=250;e.paragraph=523;e.bullet=350;e.quotesinglbase=333;e.quotedblbase=556;e.quotedblright=556;e.guillemotright=500;e.ellipsis=889;e.perthousand=1e3;e.questiondown=500;e.grave=333;e.acute=333;e.circumflex=333;e.tilde=333;e.macron=333;e.breve=333;e.dotaccent=333;e.dieresis=333;e.ring=333;e.cedilla=333;e.hungarumlaut=333;e.ogonek=333;e.caron=333;e.emdash=889;e.AE=889;e.ordfeminine=276;e.Lslash=556;e.Oslash=722;e.OE=944;e.ordmasculine=310;e.ae=667;e.dotlessi=278;e.lslash=278;e.oslash=500;e.oe=667;e.germandbls=500;e.Idieresis=333;e.eacute=444;e.abreve=500;e.uhungarumlaut=500;e.ecaron=444;e.Ydieresis=556;e.divide=675;e.Yacute=556;e.Acircumflex=611;e.aacute=500;e.Ucircumflex=722;e.yacute=444;e.scommaaccent=389;e.ecircumflex=444;e.Uring=722;e.Udieresis=722;e.aogonek=500;e.Uacute=722;e.uogonek=500;e.Edieresis=611;e.Dcroat=722;e.commaaccent=250;e.copyright=760;e.Emacron=611;e.ccaron=444;e.aring=500;e.Ncommaaccent=667;e.lacute=278;e.agrave=500;e.Tcommaaccent=556;e.Cacute=667;e.atilde=500;e.Edotaccent=611;e.scaron=389;e.scedilla=389;e.iacute=278;e.lozenge=471;e.Rcaron=611;e.Gcommaaccent=722;e.ucircumflex=500;e.acircumflex=500;e.Amacron=611;e.rcaron=389;e.ccedilla=444;e.Zdotaccent=556;e.Thorn=611;e.Omacron=722;e.Racute=611;e.Sacute=500;e.dcaron=544;e.Umacron=722;e.uring=500;e.threesuperior=300;e.Ograve=722;e.Agrave=611;e.Abreve=611;e.multiply=675;e.uacute=500;e.Tcaron=556;e.partialdiff=476;e.ydieresis=444;e.Nacute=667;e.icircumflex=278;e.Ecircumflex=611;e.adieresis=500;e.edieresis=444;e.cacute=444;e.nacute=500;e.umacron=500;e.Ncaron=667;e.Iacute=333;e.plusminus=675;e.brokenbar=275;e.registered=760;e.Gbreve=722;e.Idotaccent=333;e.summation=600;e.Egrave=611;e.racute=389;e.omacron=500;e.Zacute=556;e.Zcaron=556;e.greaterequal=549;e.Eth=722;e.Ccedilla=667;e.lcommaaccent=278;e.tcaron=300;e.eogonek=444;e.Uogonek=722;e.Aacute=611;e.Adieresis=611;e.egrave=444;e.zacute=389;e.iogonek=278;e.Oacute=722;e.oacute=500;e.amacron=500;e.sacute=389;e.idieresis=278;e.Ocircumflex=722;e.Ugrave=722;e.Delta=612;e.thorn=500;e.twosuperior=300;e.Odieresis=722;e.mu=500;e.igrave=278;e.ohungarumlaut=500;e.Eogonek=611;e.dcroat=500;e.threequarters=750;e.Scedilla=500;e.lcaron=300;e.Kcommaaccent=667;e.Lacute=556;e.trademark=980;e.edotaccent=444;e.Igrave=333;e.Imacron=333;e.Lcaron=611;e.onehalf=750;e.lessequal=549;e.ocircumflex=500;e.ntilde=500;e.Uhungarumlaut=722;e.Eacute=611;e.emacron=444;e.gbreve=500;e.onequarter=750;e.Scaron=500;e.Scommaaccent=500;e.Ohungarumlaut=722;e.degree=400;e.ograve=500;e.Ccaron=667;e.ugrave=500;e.radical=453;e.Dcaron=722;e.rcommaaccent=389;e.Ntilde=667;e.otilde=500;e.Rcommaaccent=611;e.Lcommaaccent=556;e.Atilde=611;e.Aogonek=611;e.Aring=611;e.Otilde=722;e.zdotaccent=389;e.Ecaron=611;e.Iogonek=333;e.kcommaaccent=444;e.minus=675;e.Icircumflex=333;e.ncaron=500;e.tcommaaccent=278;e.logicalnot=675;e.odieresis=500;e.udieresis=500;e.notequal=549;e.gcommaaccent=500;e.eth=500;e.zcaron=389;e.ncommaaccent=500;e.onesuperior=300;e.imacron=278;e.Euro=500}));e.ZapfDingbats=(0,r.getLookupTableFactory)((function(e){e.space=278;e.a1=974;e.a2=961;e.a202=974;e.a3=980;e.a4=719;e.a5=789;e.a119=790;e.a118=791;e.a117=690;e.a11=960;e.a12=939;e.a13=549;e.a14=855;e.a15=911;e.a16=933;e.a105=911;e.a17=945;e.a18=974;e.a19=755;e.a20=846;e.a21=762;e.a22=761;e.a23=571;e.a24=677;e.a25=763;e.a26=760;e.a27=759;e.a28=754;e.a6=494;e.a7=552;e.a8=537;e.a9=577;e.a10=692;e.a29=786;e.a30=788;e.a31=788;e.a32=790;e.a33=793;e.a34=794;e.a35=816;e.a36=823;e.a37=789;e.a38=841;e.a39=823;e.a40=833;e.a41=816;e.a42=831;e.a43=923;e.a44=744;e.a45=723;e.a46=749;e.a47=790;e.a48=792;e.a49=695;e.a50=776;e.a51=768;e.a52=792;e.a53=759;e.a54=707;e.a55=708;e.a56=682;e.a57=701;e.a58=826;e.a59=815;e.a60=789;e.a61=789;e.a62=707;e.a63=687;e.a64=696;e.a65=689;e.a66=786;e.a67=787;e.a68=713;e.a69=791;e.a70=785;e.a71=791;e.a72=873;e.a73=761;e.a74=762;e.a203=762;e.a75=759;e.a204=759;e.a76=892;e.a77=892;e.a78=788;e.a79=784;e.a81=438;e.a82=138;e.a83=277;e.a84=415;e.a97=392;e.a98=392;e.a99=668;e.a100=668;e.a89=390;e.a90=390;e.a93=317;e.a94=317;e.a91=276;e.a92=276;e.a205=509;e.a85=509;e.a206=410;e.a86=410;e.a87=234;e.a88=234;e.a95=334;e.a96=334;e.a101=732;e.a102=544;e.a103=544;e.a104=910;e.a106=667;e.a107=760;e.a108=760;e.a112=776;e.a111=595;e.a110=694;e.a109=626;e.a120=788;e.a121=788;e.a122=788;e.a123=788;e.a124=788;e.a125=788;e.a126=788;e.a127=788;e.a128=788;e.a129=788;e.a130=788;e.a131=788;e.a132=788;e.a133=788;e.a134=788;e.a135=788;e.a136=788;e.a137=788;e.a138=788;e.a139=788;e.a140=788;e.a141=788;e.a142=788;e.a143=788;e.a144=788;e.a145=788;e.a146=788;e.a147=788;e.a148=788;e.a149=788;e.a150=788;e.a151=788;e.a152=788;e.a153=788;e.a154=788;e.a155=788;e.a156=788;e.a157=788;e.a158=788;e.a159=788;e.a160=894;e.a161=838;e.a163=1016;e.a164=458;e.a196=748;e.a165=924;e.a192=748;e.a166=918;e.a167=927;e.a168=928;e.a169=928;e.a170=834;e.a171=873;e.a172=828;e.a173=924;e.a162=924;e.a174=917;e.a175=930;e.a176=931;e.a177=463;e.a178=883;e.a179=836;e.a193=836;e.a180=867;e.a199=867;e.a181=696;e.a200=696;e.a182=874;e.a201=874;e.a183=760;e.a184=946;e.a197=771;e.a185=865;e.a194=771;e.a198=888;e.a186=967;e.a195=888;e.a187=831;e.a188=873;e.a189=927;e.a190=970;e.a191=918}))}));t.getMetrics=n;const i=(0,r.getLookupTableFactory)((function(e){e.Courier={ascent:629,descent:-157,capHeight:562,xHeight:-426};e["Courier-Bold"]={ascent:629,descent:-157,capHeight:562,xHeight:439};e["Courier-Oblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426};e["Courier-BoldOblique"]={ascent:629,descent:-157,capHeight:562,xHeight:426};e.Helvetica={ascent:718,descent:-207,capHeight:718,xHeight:523};e["Helvetica-Bold"]={ascent:718,descent:-207,capHeight:718,xHeight:532};e["Helvetica-Oblique"]={ascent:718,descent:-207,capHeight:718,xHeight:523};e["Helvetica-BoldOblique"]={ascent:718,descent:-207,capHeight:718,xHeight:532};e["Times-Roman"]={ascent:683,descent:-217,capHeight:662,xHeight:450};e["Times-Bold"]={ascent:683,descent:-217,capHeight:676,xHeight:461};e["Times-Italic"]={ascent:683,descent:-217,capHeight:653,xHeight:441};e["Times-BoldItalic"]={ascent:683,descent:-217,capHeight:669,xHeight:462};e.Symbol={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN};e.ZapfDingbats={ascent:Math.NaN,descent:Math.NaN,capHeight:Math.NaN,xHeight:Math.NaN}}));t.getFontBasicMetrics=i},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.GlyfTable=void 0;t.GlyfTable=class GlyfTable{constructor({glyfTable:e,isGlyphLocationsLong:t,locaTable:a,numGlyphs:r}){this.glyphs=[];const n=new DataView(a.buffer,a.byteOffset,a.byteLength),i=new DataView(e.buffer,e.byteOffset,e.byteLength),s=t?4:2;let o=t?n.getUint32(0):2*n.getUint16(0),c=0;for(let e=0;ee+(t.getSize()+3&-4)),0)}write(){const e=this.getSize(),t=new DataView(new ArrayBuffer(e)),a=e>131070,r=a?4:2,n=new DataView(new ArrayBuffer((this.glyphs.length+1)*r));a?n.setUint32(0,0):n.setUint16(0,0);let i=0,s=0;for(const e of this.glyphs){i+=e.write(i,t);i=i+3&-4;s+=r;a?n.setUint32(s,i):n.setUint16(s,i>>1)}return{isLocationLong:a,loca:new Uint8Array(n.buffer),glyf:new Uint8Array(t.buffer)}}scale(e){for(let t=0,a=this.glyphs.length;te+t.getSize()),0);return this.header.getSize()+e}write(e,t){if(!this.header)return 0;const a=e;e+=this.header.write(e,t);if(this.simple)e+=this.simple.write(e,t);else for(const a of this.composites)e+=a.write(e,t);return e-a}scale(e){if(!this.header)return;const t=(this.header.xMin+this.header.xMax)/2;this.header.scale(t,e);if(this.simple)this.simple.scale(t,e);else for(const a of this.composites)a.scale(t,e)}}class GlyphHeader{constructor({numberOfContours:e,xMin:t,yMin:a,xMax:r,yMax:n}){this.numberOfContours=e;this.xMin=t;this.yMin=a;this.xMax=r;this.yMax=n}static parse(e,t){return[10,new GlyphHeader({numberOfContours:t.getInt16(e),xMin:t.getInt16(e+2),yMin:t.getInt16(e+4),xMax:t.getInt16(e+6),yMax:t.getInt16(e+8)})]}getSize(){return 10}write(e,t){t.setInt16(e,this.numberOfContours);t.setInt16(e+2,this.xMin);t.setInt16(e+4,this.yMin);t.setInt16(e+6,this.xMax);t.setInt16(e+8,this.yMax);return 10}scale(e,t){this.xMin=Math.round(e+(this.xMin-e)*t);this.xMax=Math.round(e+(this.xMax-e)*t)}}class Contour{constructor({flags:e,xCoordinates:t,yCoordinates:a}){this.xCoordinates=t;this.yCoordinates=a;this.flags=e}}class SimpleGlyph{constructor({contours:e,instructions:t}){this.contours=e;this.instructions=t}static parse(e,t,a){const r=[];for(let n=0;n255?e+=2:o>0&&(e+=1);t=i;o=Math.abs(s-a);o>255?e+=2:o>0&&(e+=1);a=s}}return e}write(e,t){const a=e,r=[],n=[],i=[];let s=0,o=0;for(const a of this.contours){for(let e=0,t=a.xCoordinates.length;e=0?18:2;r.push(e)}else r.push(l)}s=c;const h=a.yCoordinates[e];l=h-o;if(0===l){t|=32;n.push(0)}else{const e=Math.abs(l);if(e<=255){t|=l>=0?36:4;n.push(e)}else n.push(l)}o=h;i.push(t)}t.setUint16(e,r.length-1);e+=2}t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}for(const a of i)t.setUint8(e++,a);for(let a=0,n=r.length;a=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(e+=2):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(e+=2);return e}write(e,t){const a=e;2&this.flags?this.argument1>=-128&&this.argument1<=127&&this.argument2>=-128&&this.argument2<=127||(this.flags|=1):this.argument1>=0&&this.argument1<=255&&this.argument2>=0&&this.argument2<=255||(this.flags|=1);t.setUint16(e,this.flags);t.setUint16(e+2,this.glyphIndex);e+=4;if(1&this.flags){if(2&this.flags){t.setInt16(e,this.argument1);t.setInt16(e+2,this.argument2)}else{t.setUint16(e,this.argument1);t.setUint16(e+2,this.argument2)}e+=4}else{t.setUint8(e,this.argument1);t.setUint8(e+1,this.argument2);e+=2}if(256&this.flags){t.setUint16(e,this.instructions.length);e+=2;if(this.instructions.length){new Uint8Array(t.buffer,0,t.buffer.byteLength).set(this.instructions,e);e+=this.instructions.length}}return e-a}scale(e,t){}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.OpenTypeFileBuilder=void 0;var r=a(3),n=a(2);function writeInt16(e,t,a){e[t]=a>>8&255;e[t+1]=255&a}function writeInt32(e,t,a){e[t]=a>>24&255;e[t+1]=a>>16&255;e[t+2]=a>>8&255;e[t+3]=255&a}function writeData(e,t,a){if(a instanceof Uint8Array)e.set(a,t);else if("string"==typeof a)for(let r=0,n=a.length;ra;){a<<=1;r++}const n=a*t;return{range:n,entry:r,rangeShift:t*e-n}}toArray(){let e=this.sfnt;const t=this.tables,a=Object.keys(t);a.sort();const i=a.length;let s,o,c,l,h,u=12+16*i;const d=[u];for(s=0;s>>0;d.push(u)}const f=new Uint8Array(u);for(s=0;s>>0}writeInt32(f,u+4,e);writeInt32(f,u+8,d[s]);writeInt32(f,u+12,t[h].length);u+=16}return f}addTable(e,t){if(e in this.tables)throw new Error("Table "+e+" already exists");this.tables[e]=t}}t.OpenTypeFileBuilder=OpenTypeFileBuilder},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Type1Font=void 0;var r=a(35),n=a(2),i=a(38),s=a(3),o=a(8),c=a(49);function findBlock(e,t,a){const r=e.length,n=t.length,i=r-n;let o=a,c=!1;for(;o=n){o+=a;for(;o=0&&(r[e]=n)}}return(0,i.type1FontGlyphMapping)(e,r,a)}hasGlyphId(e){if(e<0||e>=this.numGlyphs)return!1;if(0===e)return!0;return this.charstrings[e-1].charstring.length>0}getSeacs(e){const t=[];for(let a=0,r=e.length;a0;e--)t[e]-=t[e-1];g.setByName(e,t)}s.topDict.privateDict=g;const m=new r.CFFIndex;for(u=0,d=n.length;u{Object.defineProperty(t,"__esModule",{value:!0});t.Type1Parser=void 0;var r=a(37),n=a(3),i=a(8),s=a(2);const o=[4],c=[5],l=[6],h=[7],u=[8],d=[12,35],f=[14],g=[21],p=[22],m=[30],b=[31];class Type1CharString{constructor(){this.width=0;this.lsb=0;this.flexing=!1;this.output=[];this.stack=[]}convert(e,t,a){const r=e.length;let n,i,y,w=!1;for(let S=0;Sr)return!0;const n=r-e;for(let e=n;e>8&255,255&t);else{t=65536*t|0;this.output.push(255,t>>24&255,t>>16&255,t>>8&255,255&t)}}this.output.push(...t);a?this.stack.splice(n,e):this.stack.length=0;return!1}}function isHexDigit(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function decrypt(e,t,a){if(a>=e.length)return new Uint8Array(0);let r,n,i=0|t;for(r=0;r>8;i=52845*(t+i)+22719&65535}return o}function isSpecial(e){return 47===e||91===e||93===e||123===e||125===e||40===e||41===e}t.Type1Parser=class Type1Parser{constructor(e,t,a){if(t){const t=e.getBytes(),a=!((isHexDigit(t[0])||(0,n.isWhiteSpace)(t[0]))&&isHexDigit(t[1])&&isHexDigit(t[2])&&isHexDigit(t[3])&&isHexDigit(t[4])&&isHexDigit(t[5])&&isHexDigit(t[6])&&isHexDigit(t[7]));e=new i.Stream(a?decrypt(t,55665,4):function decryptAscii(e,t,a){let r=0|t;const n=e.length,i=new Uint8Array(n>>>1);let s,o;for(s=0,o=0;s>8;r=52845*(e+r)+22719&65535}}return i.slice(a,o)}(t,55665,4))}this.seacAnalysisEnabled=!!a;this.stream=e;this.nextChar()}readNumberArray(){this.getToken();const e=[];for(;;){const t=this.getToken();if(null===t||"]"===t||"}"===t)break;e.push(parseFloat(t||0))}return e}readNumber(){const e=this.getToken();return parseFloat(e||0)}readInt(){const e=this.getToken();return 0|parseInt(e||0,10)}readBoolean(){return"true"===this.getToken()?1:0}nextChar(){return this.currentChar=this.stream.getByte()}prevChar(){this.stream.skip(-2);return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(-1===t)return null;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!(0,n.isWhiteSpace)(t))break;t=this.nextChar()}if(isSpecial(t)){this.nextChar();return String.fromCharCode(t)}let a="";do{a+=String.fromCharCode(t);t=this.nextChar()}while(t>=0&&!(0,n.isWhiteSpace)(t)&&!isSpecial(t));return a}readCharStrings(e,t){return-1===t?e:decrypt(e,4330,t)}extractFontProgram(e){const t=this.stream,a=[],r=[],n=Object.create(null);n.lenIV=4;const i={subrs:[],charstrings:[],properties:{privateData:n}};let s,o,c,l;for(;null!==(s=this.getToken());)if("/"===s){s=this.getToken();switch(s){case"CharStrings":this.getToken();this.getToken();this.getToken();this.getToken();for(;;){s=this.getToken();if(null===s||"end"===s)break;if("/"!==s)continue;const e=this.getToken();o=this.readInt();this.getToken();c=o>0?t.getBytes(o):new Uint8Array(0);l=i.properties.privateData.lenIV;const a=this.readCharStrings(c,l);this.nextChar();s=this.getToken();"noaccess"===s?this.getToken():"/"===s&&this.prevChar();r.push({glyph:e,encoded:a})}break;case"Subrs":this.readInt();this.getToken();for(;"dup"===this.getToken();){const e=this.readInt();o=this.readInt();this.getToken();c=o>0?t.getBytes(o):new Uint8Array(0);l=i.properties.privateData.lenIV;const r=this.readCharStrings(c,l);this.nextChar();s=this.getToken();"noaccess"===s&&this.getToken();a[e]=r}break;case"BlueValues":case"OtherBlues":case"FamilyBlues":case"FamilyOtherBlues":const e=this.readNumberArray();e.length>0&&e.length,0;break;case"StemSnapH":case"StemSnapV":i.properties.privateData[s]=this.readNumberArray();break;case"StdHW":case"StdVW":i.properties.privateData[s]=this.readNumberArray()[0];break;case"BlueShift":case"lenIV":case"BlueFuzz":case"BlueScale":case"LanguageGroup":i.properties.privateData[s]=this.readNumber();break;case"ExpansionFactor":i.properties.privateData[s]=this.readNumber()||.06;break;case"ForceBold":i.properties.privateData[s]=this.readBoolean()}}for(const{encoded:t,glyph:n}of r){const r=new Type1CharString,s=r.convert(t,a,this.seacAnalysisEnabled);let o=r.output;s&&(o=[14]);const c={glyphName:n,charstring:o,width:r.width,lsb:r.lsb,seac:r.seac};".notdef"===n?i.charstrings.unshift(c):i.charstrings.push(c);if(e.builtInEncoding){const t=e.builtInEncoding.indexOf(n);t>-1&&void 0===e.widths[t]&&t>=e.firstChar&&t<=e.lastChar&&(e.widths[t]=r.width)}}return i}extractFontHeader(e){let t;for(;null!==(t=this.getToken());)if("/"===t){t=this.getToken();switch(t){case"FontMatrix":const a=this.readNumberArray();e.fontMatrix=a;break;case"Encoding":const n=this.getToken();let i;if(/^\d+$/.test(n)){i=[];const e=0|parseInt(n,10);this.getToken();for(let a=0;a{Object.defineProperty(t,"__esModule",{value:!0});t.Pattern=void 0;t.clearPatternCaches=function clearPatternCaches(){f=Object.create(null)};t.getTilingPatternIR=function getTilingPatternIR(e,t,a){const n=t.getArray("Matrix"),i=r.Util.normalizeRect(t.getArray("BBox")),s=t.get("XStep"),o=t.get("YStep"),c=t.get("PaintType"),l=t.get("TilingType");if(i[2]-i[0]==0||i[3]-i[1]==0)throw new r.FormatError(`Invalid getTilingPatternIR /BBox array: [${i}].`);return["TilingPattern",a,e,n,i,s,o,c,l]};var r=a(2),n=a(5),i=a(12),s=a(3);const o=2,c=3,l=4,h=5,u=6,d=7;t.Pattern=class Pattern{constructor(){(0,r.unreachable)("Cannot initialize Pattern.")}static parseShading(e,t,a,i,f){const g=e instanceof n.BaseStream?e.dict:e,p=g.get("ShadingType");try{switch(p){case o:case c:return new RadialAxialShading(g,t,a,i,f);case l:case h:case u:case d:return new MeshShading(e,t,a,i,f);default:throw new r.FormatError("Unsupported ShadingType: "+p)}}catch(e){if(e instanceof s.MissingDataException)throw e;(0,r.warn)(e);return new DummyShading}}};class BaseShading{static SMALL_NUMBER=1e-6;constructor(){this.constructor===BaseShading&&(0,r.unreachable)("Cannot initialize BaseShading.")}getIR(){(0,r.unreachable)("Abstract method `getIR` called.")}}class RadialAxialShading extends BaseShading{constructor(e,t,a,n,s){super();this.coordsArr=e.getArray("Coords");this.shadingType=e.get("ShadingType");const o=i.ColorSpace.parse({cs:e.getRaw("CS")||e.getRaw("ColorSpace"),xref:t,resources:a,pdfFunctionFactory:n,localColorSpaceCache:s}),l=e.getArray("BBox");this.bbox=Array.isArray(l)&&4===l.length?r.Util.normalizeRect(l):null;let h=0,u=1;if(e.has("Domain")){const t=e.getArray("Domain");h=t[0];u=t[1]}let d=!1,f=!1;if(e.has("Extend")){const t=e.getArray("Extend");d=t[0];f=t[1]}if(!(this.shadingType!==c||d&&f)){const[e,t,a,n,i,s]=this.coordsArr,o=Math.hypot(e-n,t-i);a<=s+o&&s<=a+o&&(0,r.warn)("Unsupported radial gradient.")}this.extendStart=d;this.extendEnd=f;const g=e.getRaw("Function"),p=n.createFromArray(g),m=(u-h)/840,b=this.colorStops=[];if(h>=u||m<=0){(0,r.info)("Bad shading domain.");return}const y=new Float32Array(o.numComps),w=new Float32Array(1);let S,x=0;w[0]=h;p(w,0,y,0);let C=o.getRgb(y,0);const k=r.Util.makeHexColor(C[0],C[1],C[2]);b.push([0,k]);let v=1;w[0]=h+m;p(w,0,y,0);let F=o.getRgb(y,0),O=F[0]-C[0]+1,T=F[1]-C[1]+1,M=F[2]-C[2]+1,D=F[0]-C[0]-1,E=F[1]-C[1]-1,N=F[2]-C[2]-1;for(let e=2;e<840;e++){w[0]=h+e*m;p(w,0,y,0);S=o.getRgb(y,0);const t=e-x;O=Math.min(O,(S[0]-C[0]+1)/t);T=Math.min(T,(S[1]-C[1]+1)/t);M=Math.min(M,(S[2]-C[2]+1)/t);D=Math.max(D,(S[0]-C[0]-1)/t);E=Math.max(E,(S[1]-C[1]-1)/t);N=Math.max(N,(S[2]-C[2]-1)/t);if(!(D<=O&&E<=T&&N<=M)){const e=r.Util.makeHexColor(F[0],F[1],F[2]);b.push([v/840,e]);O=S[0]-F[0]+1;T=S[1]-F[1]+1;M=S[2]-F[2]+1;D=S[0]-F[0]-1;E=S[1]-F[1]-1;N=S[2]-F[2]-1;x=v;C=F}v=e;F=S}const R=r.Util.makeHexColor(F[0],F[1],F[2]);b.push([1,R]);let L="transparent";if(e.has("Background")){S=o.getRgb(e.get("Background"),0);L=r.Util.makeHexColor(S[0],S[1],S[2])}if(!d){b.unshift([0,L]);b[1][0]+=BaseShading.SMALL_NUMBER}if(!f){b.at(-1)[0]-=BaseShading.SMALL_NUMBER;b.push([1,L])}this.colorStops=b}getIR(){const e=this.coordsArr,t=this.shadingType;let a,n,i,s,l;if(t===o){n=[e[0],e[1]];i=[e[2],e[3]];s=null;l=null;a="axial"}else if(t===c){n=[e[0],e[1]];i=[e[3],e[4]];s=e[2];l=e[5];a="radial"}else(0,r.unreachable)(`getPattern type unknown: ${t}`);return["RadialAxial",a,this.bbox,this.colorStops,n,i,s,l]}}class MeshStreamReader{constructor(e,t){this.stream=e;this.context=t;this.buffer=0;this.bufferLength=0;const a=t.numComps;this.tmpCompsBuf=new Float32Array(a);const r=t.colorSpace.numComps;this.tmpCsCompsBuf=t.colorFn?new Float32Array(r):this.tmpCompsBuf}get hasData(){if(this.stream.end)return this.stream.pos0)return!0;const e=this.stream.getByte();if(e<0)return!1;this.buffer=e;this.bufferLength=8;return!0}readBits(e){let t=this.buffer,a=this.bufferLength;if(32===e){if(0===a)return(this.stream.getByte()<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte())>>>0;t=t<<24|this.stream.getByte()<<16|this.stream.getByte()<<8|this.stream.getByte();const e=this.stream.getByte();this.buffer=e&(1<>a)>>>0}if(8===e&&0===a)return this.stream.getByte();for(;a>a}align(){this.buffer=0;this.bufferLength=0}readFlag(){return this.readBits(this.context.bitsPerFlag)}readCoordinate(){const e=this.context.bitsPerCoordinate,t=this.readBits(e),a=this.readBits(e),r=this.context.decode,n=e<32?1/((1<i?i:e;t=t>s?s:t;a=a{Object.defineProperty(t,"__esModule",{value:!0});t.getXfaFontDict=function getXfaFontDict(e){const t=function getXfaFontWidths(e){const t=getXfaFontName(e);if(!t)return null;const{baseWidths:a,baseMapping:r,factors:n}=t,i=n?a.map(((e,t)=>e*n[t])):a;let s,o=-2;const c=[];for(const[e,t]of r.map(((e,t)=>[e,t])).sort((([e],[t])=>e-t)))if(-1!==e)if(e===o+1){s.push(i[t]);o+=1}else{o=e;s=[i[t]];c.push(e,s)}return c}(e),a=new n.Dict(null);a.set("BaseFont",n.Name.get(e));a.set("Type",n.Name.get("Font"));a.set("Subtype",n.Name.get("CIDFontType2"));a.set("Encoding",n.Name.get("Identity-H"));a.set("CIDToGIDMap",n.Name.get("Identity"));a.set("W",t);a.set("FirstChar",t[0]);a.set("LastChar",t.at(-2)+t.at(-1).length-1);const r=new n.Dict(null);a.set("FontDescriptor",r);const i=new n.Dict(null);i.set("Ordering","Identity");i.set("Registry","Adobe");i.set("Supplement",0);a.set("CIDSystemInfo",i);return a};t.getXfaFontName=getXfaFontName;var r=a(52),n=a(4),i=a(53),s=a(54),o=a(55),c=a(56),l=a(3),h=a(38);const u=(0,l.getLookupTableFactory)((function(e){e["MyriadPro-Regular"]=e["PdfJS-Fallback-Regular"]={name:"LiberationSans-Regular",factors:o.MyriadProRegularFactors,baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping,metrics:o.MyriadProRegularMetrics};e["MyriadPro-Bold"]=e["PdfJS-Fallback-Bold"]={name:"LiberationSans-Bold",factors:o.MyriadProBoldFactors,baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping,metrics:o.MyriadProBoldMetrics};e["MyriadPro-It"]=e["MyriadPro-Italic"]=e["PdfJS-Fallback-Italic"]={name:"LiberationSans-Italic",factors:o.MyriadProItalicFactors,baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping,metrics:o.MyriadProItalicMetrics};e["MyriadPro-BoldIt"]=e["MyriadPro-BoldItalic"]=e["PdfJS-Fallback-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:o.MyriadProBoldItalicFactors,baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping,metrics:o.MyriadProBoldItalicMetrics};e.ArialMT=e.Arial=e["Arial-Regular"]={name:"LiberationSans-Regular",baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping};e["Arial-BoldMT"]=e["Arial-Bold"]={name:"LiberationSans-Bold",baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping};e["Arial-ItalicMT"]=e["Arial-Italic"]={name:"LiberationSans-Italic",baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping};e["Arial-BoldItalicMT"]=e["Arial-BoldItalic"]={name:"LiberationSans-BoldItalic",baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping};e["Calibri-Regular"]={name:"LiberationSans-Regular",factors:r.CalibriRegularFactors,baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping,metrics:r.CalibriRegularMetrics};e["Calibri-Bold"]={name:"LiberationSans-Bold",factors:r.CalibriBoldFactors,baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping,metrics:r.CalibriBoldMetrics};e["Calibri-Italic"]={name:"LiberationSans-Italic",factors:r.CalibriItalicFactors,baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping,metrics:r.CalibriItalicMetrics};e["Calibri-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:r.CalibriBoldItalicFactors,baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping,metrics:r.CalibriBoldItalicMetrics};e["Segoeui-Regular"]={name:"LiberationSans-Regular",factors:c.SegoeuiRegularFactors,baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping,metrics:c.SegoeuiRegularMetrics};e["Segoeui-Bold"]={name:"LiberationSans-Bold",factors:c.SegoeuiBoldFactors,baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping,metrics:c.SegoeuiBoldMetrics};e["Segoeui-Italic"]={name:"LiberationSans-Italic",factors:c.SegoeuiItalicFactors,baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping,metrics:c.SegoeuiItalicMetrics};e["Segoeui-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:c.SegoeuiBoldItalicFactors,baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping,metrics:c.SegoeuiBoldItalicMetrics};e["Helvetica-Regular"]=e.Helvetica={name:"LiberationSans-Regular",factors:i.HelveticaRegularFactors,baseWidths:s.LiberationSansRegularWidths,baseMapping:s.LiberationSansRegularMapping,metrics:i.HelveticaRegularMetrics};e["Helvetica-Bold"]={name:"LiberationSans-Bold",factors:i.HelveticaBoldFactors,baseWidths:s.LiberationSansBoldWidths,baseMapping:s.LiberationSansBoldMapping,metrics:i.HelveticaBoldMetrics};e["Helvetica-Italic"]={name:"LiberationSans-Italic",factors:i.HelveticaItalicFactors,baseWidths:s.LiberationSansItalicWidths,baseMapping:s.LiberationSansItalicMapping,metrics:i.HelveticaItalicMetrics};e["Helvetica-BoldItalic"]={name:"LiberationSans-BoldItalic",factors:i.HelveticaBoldItalicFactors,baseWidths:s.LiberationSansBoldItalicWidths,baseMapping:s.LiberationSansBoldItalicMapping,metrics:i.HelveticaBoldItalicMetrics}}));function getXfaFontName(e){const t=(0,h.normalizeFontName)(e);return u()[t]}},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.CalibriRegularMetrics=t.CalibriRegularFactors=t.CalibriItalicMetrics=t.CalibriItalicFactors=t.CalibriBoldMetrics=t.CalibriBoldItalicMetrics=t.CalibriBoldItalicFactors=t.CalibriBoldFactors=void 0;t.CalibriBoldFactors=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.54657,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.73293,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.9121,.86943,.79795,.88198,.77958,.70864,.81055,.90399,.88653,.96017,.82577,.77892,.78257,.97507,1.54657,.97507,.85284,.89552,.90176,.88762,.8785,.75241,.8785,.90518,.95015,.77618,.8785,.88401,.91916,.86304,.88401,.91488,.8785,.8801,.8785,.8785,.91343,.7173,1.04106,.8785,.85075,.95794,.82616,.85162,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.12401,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.73293,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.9121,.86943,.86943,.86943,.86943,.86943,.85284,.87508,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.88762,.88762,.88762,.88762,.88762,.88762,.8715,.75241,.90518,.90518,.90518,.90518,.88401,.88401,.88401,.88401,.8785,.8785,.8801,.8801,.8801,.8801,.8801,.90747,.89049,.8785,.8785,.8785,.8785,.85162,.8785,.85162,.83908,.88762,.83908,.88762,.83908,.88762,.73293,.75241,.73293,.75241,.73293,.75241,.73293,.75241,.87289,.83016,.88506,.93125,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.73133,.90518,.81921,.77618,.81921,.77618,.81921,.77618,1,1,.87356,.8785,.91075,.89608,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76229,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.79468,.91926,.88175,.70823,.94903,.9121,.8785,1,1,.9121,.8785,.87802,.88656,.8785,.86943,.8801,.86943,.8801,.86943,.8801,.87402,.89291,.77958,.91343,1,1,.77958,.91343,.70864,.7173,.70864,.7173,.70864,.7173,.70864,.7173,1,1,.81055,.75841,.81055,1.06452,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.90399,.8785,.96017,.95794,.77892,.85162,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.88762,.77539,.8715,.87508,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70674,.98387,.94721,1.33431,1.45894,.95161,1.06303,.83908,.80352,.57184,.6965,.56289,.82001,.56029,.81235,1.02988,.83908,.7762,.68156,.80367,.73133,.78257,.87356,.86943,.95958,.75727,.89019,1.04924,.9121,.7648,.86943,.87356,.79795,.78275,.81055,.77892,.9762,.82577,.99819,.84896,.95958,.77892,.96108,1.01407,.89049,1.02988,.94211,.96108,.8936,.84021,.87842,.96399,.79109,.89049,1.00813,1.02988,.86077,.87445,.92099,.84723,.86513,.8801,.75638,.85714,.78216,.79586,.87965,.94211,.97747,.78287,.97926,.84971,1.02988,.94211,.8801,.94211,.84971,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90264,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.90518,1,1,1,1,1,1,1,1,1,1,1,1,.90548,1,1,1,1,1,1,.96017,.95794,.96017,.95794,.96017,.95794,.77892,.85162,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.92794,.87012,.87012,.87012,.89552,.89552,1.42259,.71143,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.93835,.83406,.91133,.84107,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90527,1.81055,.90527,1.81055,1.31006,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.CalibriBoldMetrics={lineHeight:1.2207,lineGap:.2207};t.CalibriBoldItalicFactors=[1.3877,1,1,1,.97801,.92482,.89552,.91133,.81988,.97566,.98152,.93548,.93548,1.2798,.85284,.92794,1,.96134,1.56239,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.82845,.82845,.85284,.85284,.85284,.75859,.92138,.83908,.7762,.71805,.87289,.73133,.7514,.81921,.87356,.95958,.59526,.75727,.69225,1.04924,.90872,.85938,.79795,.87068,.77958,.69766,.81055,.90399,.88653,.96068,.82577,.77892,.78257,.97507,1.529,.97507,.85284,.89552,.90176,.94908,.86411,.74012,.86411,.88323,.95015,.86411,.86331,.88401,.91916,.86304,.88401,.9039,.86331,.86331,.86411,.86411,.90464,.70852,1.04106,.86331,.84372,.95794,.82616,.84548,.79492,.88331,1.69808,.88331,.85284,.97801,.89552,.91133,.89552,.91133,1.7801,.89552,1.24487,1.13254,1.19129,.96839,.85284,.68787,.70645,.85592,.90747,1.01466,1.0088,.90323,1,1.07463,1,.91056,.75806,1.19118,.96839,.78864,.82845,.84133,.75859,.83908,.83908,.83908,.83908,.83908,.83908,.77539,.71805,.73133,.73133,.73133,.73133,.95958,.95958,.95958,.95958,.88506,.90872,.85938,.85938,.85938,.85938,.85938,.85284,.87068,.90399,.90399,.90399,.90399,.77892,.79795,.90807,.94908,.94908,.94908,.94908,.94908,.94908,.85887,.74012,.88323,.88323,.88323,.88323,.88401,.88401,.88401,.88401,.8785,.86331,.86331,.86331,.86331,.86331,.86331,.90747,.89049,.86331,.86331,.86331,.86331,.84548,.86411,.84548,.83908,.94908,.83908,.94908,.83908,.94908,.71805,.74012,.71805,.74012,.71805,.74012,.71805,.74012,.87289,.79538,.88506,.92726,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.73133,.88323,.81921,.86411,.81921,.86411,.81921,.86411,1,1,.87356,.86331,.91075,.8777,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.95958,.88401,.76467,.90167,.59526,.91916,1,1,.86304,.69225,.88401,1,1,.70424,.77312,.91926,.88175,.70823,.94903,.90872,.86331,1,1,.90872,.86331,.86906,.88116,.86331,.85938,.86331,.85938,.86331,.85938,.86331,.87402,.86549,.77958,.90464,1,1,.77958,.90464,.69766,.70852,.69766,.70852,.69766,.70852,.69766,.70852,1,1,.81055,.75841,.81055,1.06452,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.90399,.86331,.96068,.95794,.77892,.84548,.77892,.78257,.79492,.78257,.79492,.78257,.79492,.9297,.56892,.83908,.94908,.77539,.85887,.87068,.89049,1,1,.81055,1.04106,1.20528,1.20528,1,1.15543,.70088,.98387,.94721,1.33431,1.45894,.95161,1.48387,.83908,.80352,.57118,.6965,.56347,.79179,.55853,.80346,1.02988,.83908,.7762,.67174,.86036,.73133,.78257,.87356,.86441,.95958,.75727,.89019,1.04924,.90872,.74889,.85938,.87891,.79795,.7957,.81055,.77892,.97447,.82577,.97466,.87179,.95958,.77892,.94252,.95612,.8753,1.02988,.92733,.94252,.87411,.84021,.8728,.95612,.74081,.8753,1.02189,1.02988,.84814,.87445,.91822,.84723,.85668,.86331,.81344,.87581,.76422,.82046,.96057,.92733,.99375,.78022,.95452,.86015,1.02988,.92733,.86331,.92733,.86015,.73133,1,1,1,1,1,1,1,1,1,1,1,1,.90631,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.88323,1,1,1,1,1,1,1,1,1,1,1,1,.85174,1,1,1,1,1,1,.96068,.95794,.96068,.95794,.96068,.95794,.77892,.84548,1,1,.89552,.90527,1,.90363,.92794,.92794,.92794,.89807,.87012,.87012,.87012,.89552,.89552,1.42259,.71094,1.06152,1,1,1.03372,1.03372,.97171,1.4956,2.2807,.92972,.83406,.91133,.83326,.91133,1,1,1,.72021,1,1.23108,.83489,.88525,.88525,.81499,.90616,1.81055,.90527,1.81055,1.3107,1.53711,.94434,1.08696,1,.95018,.77192,.85284,.90747,1.17534,.69825,.9716,1.37077,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.08004,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,.90727,.90727,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.CalibriBoldItalicMetrics={lineHeight:1.2207,lineGap:.2207};t.CalibriItalicFactors=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39543,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.72346,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89249,.84118,.77452,.85374,.75186,.67789,.79776,.88844,.85066,.94309,.77818,.7306,.76659,1.10369,1.38313,1.10369,1.06139,.89552,.8739,.9245,.9245,.83203,.9245,.85865,1.09842,.9245,.9245,1.03297,1.07692,.90918,1.03297,.94959,.9245,.92274,.9245,.9245,1.02933,.77832,1.20562,.9245,.8916,.98986,.86621,.89453,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.16359,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.72346,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89249,.84118,.84118,.84118,.84118,.84118,.85284,.84557,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.9245,.9245,.9245,.9245,.9245,.9245,.84843,.83203,.85865,.85865,.85865,.85865,.82601,.82601,.82601,.82601,.94469,.9245,.92274,.92274,.92274,.92274,.92274,.90747,.86651,.9245,.9245,.9245,.9245,.89453,.9245,.89453,.8675,.9245,.8675,.9245,.8675,.9245,.72346,.83203,.72346,.83203,.72346,.83203,.72346,.83203,.85193,.8875,.86477,.99034,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.73206,.85865,.81105,.9245,.81105,.9245,.81105,.9245,1,1,.86275,.9245,.90872,.93591,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77896,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.9375,.98156,.93407,.77261,1.11429,.89249,.9245,1,1,.89249,.9245,.92534,.86698,.9245,.84118,.92274,.84118,.92274,.84118,.92274,.8667,.86291,.75186,1.02933,1,1,.75186,1.02933,.67789,.77832,.67789,.77832,.67789,.77832,.67789,.77832,1,1,.79776,.97655,.79776,1.23023,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.88844,.9245,.94309,.98986,.7306,.89453,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.9245,.76318,.84843,.84557,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67009,.96334,.93695,1.35191,1.40909,.95161,1.48387,.8675,.90861,.6192,.7363,.64824,.82411,.56321,.85696,1.23516,.8675,.81552,.7286,.84134,.73206,.76659,.86275,.84369,.90685,.77892,.85871,1.02638,.89249,.75828,.84118,.85984,.77452,.76466,.79776,.7306,.90782,.77818,.903,.87291,.90685,.7306,.99058,1.03667,.94635,1.23516,.9849,.99058,.92393,.8916,.942,1.03667,.75026,.94635,1.0297,1.23516,.90918,.94048,.98217,.89746,.84153,.92274,.82507,.88832,.84438,.88178,1.03525,.9849,1.00225,.78086,.97248,.89404,1.23516,.9849,.92274,.9849,.89404,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.89693,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.85865,1,1,1,1,1,1,1,1,1,1,1,1,.90933,1,1,1,1,1,1,.94309,.98986,.94309,.98986,.94309,.98986,.7306,.89453,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.68994,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.97858,.82616,.91133,.83437,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90572,1.81055,.90749,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85284,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.CalibriItalicMetrics={lineHeight:1.2207,lineGap:.2207};t.CalibriRegularFactors=[1.3877,1,1,1,1.17223,1.1293,.89552,.91133,.80395,1.02269,1.15601,.91056,.91056,1.2798,.85284,.89807,1,.90861,1.39016,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.91133,.96309,.96309,.85284,.85284,.85284,.83319,.88071,.8675,.81552,.73834,.85193,.73206,.7522,.81105,.86275,.90685,.6377,.77892,.75593,1.02638,.89385,.85122,.77452,.86503,.75186,.68887,.79776,.88844,.85066,.94258,.77818,.7306,.76659,1.10369,1.39016,1.10369,1.06139,.89552,.8739,.86128,.94469,.8457,.94469,.89464,1.09842,.84636,.94469,1.03297,1.07692,.90918,1.03297,.95897,.94469,.9482,.94469,.94469,1.04692,.78223,1.20562,.94469,.90332,.98986,.86621,.90527,.79004,.94152,1.77256,.94152,.85284,.97801,.89552,.91133,.89552,.91133,1.91729,.89552,1.17889,1.13254,1.08707,.92098,.85284,.68787,.71353,.84737,.90747,1.0088,1.0044,.87683,1,1.09091,1,.92229,.739,1.15642,.92098,.76288,.80504,.80972,.75859,.8675,.8675,.8675,.8675,.8675,.8675,.76318,.73834,.73206,.73206,.73206,.73206,.90685,.90685,.90685,.90685,.86477,.89385,.85122,.85122,.85122,.85122,.85122,.85284,.85311,.88844,.88844,.88844,.88844,.7306,.77452,.86331,.86128,.86128,.86128,.86128,.86128,.86128,.8693,.8457,.89464,.89464,.89464,.89464,.82601,.82601,.82601,.82601,.94469,.94469,.9482,.9482,.9482,.9482,.9482,.90747,.86651,.94469,.94469,.94469,.94469,.90527,.94469,.90527,.8675,.86128,.8675,.86128,.8675,.86128,.73834,.8457,.73834,.8457,.73834,.8457,.73834,.8457,.85193,.92454,.86477,.9921,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.73206,.89464,.81105,.84636,.81105,.84636,.81105,.84636,1,1,.86275,.94469,.90872,.95786,.90685,.82601,.90685,.82601,.90685,.82601,.90685,1.03297,.90685,.82601,.77741,1.05611,.6377,1.07692,1,1,.90918,.75593,1.03297,1,1,.76032,.90452,.98156,1.11842,.77261,1.11429,.89385,.94469,1,1,.89385,.94469,.95877,.86901,.94469,.85122,.9482,.85122,.9482,.85122,.9482,.8667,.90016,.75186,1.04692,1,1,.75186,1.04692,.68887,.78223,.68887,.78223,.68887,.78223,.68887,.78223,1,1,.79776,.92188,.79776,1.23023,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.88844,.94469,.94258,.98986,.7306,.90527,.7306,.76659,.79004,.76659,.79004,.76659,.79004,1.09231,.54873,.8675,.86128,.76318,.8693,.85311,.86651,1,1,.79776,1.20562,1.18622,1.18622,1,1.1437,.67742,.96334,.93695,1.35191,1.40909,.95161,1.48387,.86686,.90861,.62267,.74359,.65649,.85498,.56963,.88254,1.23516,.8675,.81552,.75443,.84503,.73206,.76659,.86275,.85122,.90685,.77892,.85746,1.02638,.89385,.75657,.85122,.86275,.77452,.74171,.79776,.7306,.95165,.77818,.89772,.88831,.90685,.7306,.98142,1.02191,.96576,1.23516,.99018,.98142,.9236,.89258,.94035,1.02191,.78848,.96576,.9561,1.23516,.90918,.92578,.95424,.89746,.83969,.9482,.80113,.89442,.85208,.86155,.98022,.99018,1.00452,.81209,.99247,.89181,1.23516,.99018,.9482,.99018,.89181,.73206,1,1,1,1,1,1,1,1,1,1,1,1,.88844,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89464,1,1,1,1,1,1,1,1,1,1,1,1,.96766,1,1,1,1,1,1,.94258,.98986,.94258,.98986,.94258,.98986,.7306,.90527,1,1,.89552,.90527,1,.90186,1.12308,1.12308,1.12308,1.12308,1.2566,1.2566,1.2566,.89552,.89552,1.42259,.69043,1.03809,1,1,1.0176,1.0176,1.11523,1.4956,2.01462,.99331,.82616,.91133,.84286,.91133,1,1,1,.70508,1,1.23108,.79801,.84426,.84426,.774,.90527,1.81055,.90527,1.81055,1.28809,1.55469,.94434,1.07806,1,.97094,.7589,.85284,.90747,1.19658,.69825,.97622,1.33512,.90747,.90747,.85356,.90747,.90747,1.44947,.85284,.8941,.8941,.70572,.8,.70572,.70572,.70572,.70572,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.99862,.99862,1,1,1,1,1,1.0336,.91027,1,1,1,.99862,1,1,1,1,1,1,1,1,1,1,1,1,1.05859,1.05859,1,1,1,1.07185,.99413,.96334,1.08065,1,1,1,1,1,1,1,1,1,1,1];t.CalibriRegularMetrics={lineHeight:1.2207,lineGap:.2207}},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.HelveticaRegularMetrics=t.HelveticaRegularFactors=t.HelveticaItalicMetrics=t.HelveticaItalicFactors=t.HelveticaBoldMetrics=t.HelveticaBoldItalicMetrics=t.HelveticaBoldItalicFactors=t.HelveticaBoldFactors=void 0;t.HelveticaBoldFactors=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.03374,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.00042,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.03828,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00034,.99977,1,.99997,1.00026,1.00078,1.00036,.99973,1.00013,1.0006,.99977,.99977,.99988,.85148,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,1.00069,1.00022,.99977,1.00001,.99984,1.00026,1.00001,1.00024,1.00001,.9999,1,1.0006,1.00001,1.00041,.99962,1.00026,1.0006,.99995,1.00041,.99942,.99973,.99927,1.00082,.99902,1.00026,1.00087,1.0006,1.00069,.99973,.99867,.99973,.9993,1.00026,1.00049,1.00056,1,.99988,.99935,.99995,.99954,1.00055,.99945,1.00032,1.0006,.99995,1.00026,.99995,1.00032,1.00001,1.00008,.99971,1.00019,.9994,1.00001,1.0006,1.00044,.99973,1.00023,1.00047,1,.99942,.99561,.99989,1.00035,.99977,1.00035,.99977,1.00019,.99944,1.00001,1.00021,.99926,1.00035,1.00035,.99942,1.00048,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.99989,1.00057,1.00001,.99936,1.00052,1.00012,.99996,1.00043,1,1.00035,.9994,.99976,1.00035,.99973,1.00052,1.00041,1.00119,1.00037,.99973,1.00002,.99986,1.00041,1.00041,.99902,.9996,1.00034,.99999,1.00026,.99999,1.00026,.99973,1.00052,.99973,1,.99973,1.00041,1.00075,.9994,1.0003,.99999,1,1.00041,.99955,1,.99915,.99973,.99973,1.00026,1.00119,.99955,.99973,1.0006,.99911,1.0006,1.00026,.99972,1.00026,.99902,1.00041,.99973,.99999,1,1,1.00038,1.0005,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,1.00047,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1];t.HelveticaBoldMetrics={lineHeight:1.2,lineGap:.2};t.HelveticaBoldItalicFactors=[.76116,1,1,1.0006,.99998,.99974,.99973,.99973,.99982,.99977,1.00087,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99998,1,1.00003,1.00003,1.00003,1.00026,.9999,.99977,.99977,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,.99973,.99977,1.00026,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,.99998,1.0006,.99998,1.00003,.99973,.99998,.99973,1.00026,.99973,1.00026,.99973,.99998,1.00026,1.00026,1.0006,1.0006,.99973,1.0006,.99982,1.00026,1.00026,1.00026,1.00026,.99959,.99973,.99998,1.00026,.99973,1.00022,.99973,.99973,1,.99959,1.00077,.99959,1.00003,.99998,.99973,.99973,.99973,.99973,1.00077,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.99973,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,.99977,.99977,.99977,.99977,.99977,.99977,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,.99973,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.00026,1.06409,1.00026,1.00026,1.00026,1.00026,1.00026,.99973,1.00026,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,1.0044,.99977,1.00026,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,.99977,1.00026,.99977,1.00026,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99971,.99973,.99973,1.0006,.99977,.99973,.99973,1.00026,1.0006,1.00026,1.0006,1.00026,1.01011,1.00026,.99999,1.00026,1.0006,.99977,1.00026,.99977,1.00026,.99977,1.00026,.9993,.9998,1.00026,1.00022,1.00026,1.00022,1.00026,1.00022,1.00026,1,1.00016,.99977,.99959,.99977,.99959,.99977,.99959,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00026,.99998,1.00026,.8121,1.00026,.99998,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,.99977,1.00026,1.00016,1.00022,1.00001,.99973,1.00001,1.00026,1,1.00026,1,1.00026,1,1.0006,.99973,.99977,.99973,1,.99982,1.00022,1.00026,1.00001,.99973,1.00026,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99977,1,1,1.00026,.99969,.99972,.99981,.9998,1.0006,.99977,.99977,1.00022,.91155,1.00001,1.00026,.99977,1.00022,1.0006,.99977,1.00001,.99999,.99977,.99966,1.00022,1.00032,1.00001,.99944,1.00026,1.00001,.99968,1.00001,1.00047,1,1.0006,1.00001,.99981,1.00101,1.00026,1.0006,.99948,.99981,1.00064,.99973,.99942,1.00101,1.00061,1.00026,1.00069,1.0006,1.00014,.99973,1.01322,.99973,1.00065,1.00026,1.00012,.99923,1,1.00064,1.00076,.99948,1.00055,1.00063,1.00007,.99943,1.0006,.99948,1.00026,.99948,.99943,1.00001,1.00001,1.00029,1.00038,1.00035,1.00001,1.0006,1.0006,.99973,.99978,1.00001,1.00057,.99989,.99967,.99964,.99967,.99977,.99999,.99977,1.00038,.99977,1.00001,.99973,1.00066,.99967,.99967,1.00041,.99998,.99999,.99977,1.00022,.99967,1.00001,.99977,1.00026,.99964,1.00031,1.00001,.99999,.99999,1,1.00023,1,1,.99999,1.00035,1.00001,.99999,.99973,.99977,.99999,1.00058,.99973,.99973,.99955,.9995,1.00026,1.00026,1.00032,.99989,1.00034,.99999,1.00026,1.00026,1.00026,.99973,.45998,.99973,1.00026,.99973,1.00001,.99999,.99982,.99994,.99996,1,1.00042,1.00044,1.00029,1.00023,.99973,.99973,1.00026,.99949,1.00002,.99973,1.0006,1.0006,1.0006,.99975,1.00026,1.00026,1.00032,.98685,.99973,1.00026,1,1,.99966,1.00044,1.00016,1.00022,1.00016,1.00022,1.00016,1.00022,1.00001,.99973,1,1,.99973,1,1,.99955,1.0006,1.0006,1.0006,1.0006,1,1,1,.99973,.99973,.99972,1,1,1.00106,.99999,.99998,.99998,.99999,.99998,1.66475,1,.99973,.99973,1,.99973,.99971,.99978,1,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00098,1,1,1,1.00049,1,1,.99972,1,1.20985,1.39713,1.00003,1.00031,1.00015,1,.99561,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.99972,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1];t.HelveticaBoldItalicMetrics={lineHeight:1.35,lineGap:.2};t.HelveticaItalicFactors=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.0288,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,.99946,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.06311,.99973,1.00024,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,1.00041,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.89547,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,1.00001,1,1.00054,.99977,1.00084,1.00007,.99973,1.00013,.99924,1.00001,1.00001,.99945,.91221,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00001,.99999,.99977,.99933,1.00022,1.00054,1.00001,1.00065,1.00026,1.00001,1.0001,1.00001,1.00052,1,1.0006,1.00001,.99945,.99897,.99968,.99924,1.00036,.99945,.99949,1,1.0006,.99897,.99918,.99968,.99911,.99924,1,.99962,1.01487,1,1.0005,.99973,1.00012,1.00043,1,.99995,.99994,1.00036,.99947,1.00019,1.00063,1.00025,.99924,1.00036,.99973,1.00036,1.00025,1.00001,1.00001,1.00027,1.0001,1.00068,1.00001,1.0006,1.0006,1,1.00008,.99957,.99972,.9994,.99954,.99975,1.00051,1.00001,1.00019,1.00001,1.0001,.99986,1.00001,1.00001,1.00038,.99954,.99954,.9994,1.00066,.99999,.99977,1.00022,1.00054,1.00001,.99977,1.00026,.99975,1.0001,1.00001,.99993,.9995,.99955,1.00016,.99978,.99974,1.00019,1.00022,.99955,1.00053,.99973,1.00089,1.00005,.99967,1.00048,.99973,1.00002,1.00034,.99973,.99973,.99964,1.00006,1.00066,.99947,.99973,.98894,.99973,1,.44898,1,.99946,1,1.00039,1.00082,.99991,.99991,.99985,1.00022,1.00023,1.00061,1.00006,.99966,.99973,.99973,.99973,1.00019,1.0008,1,.99924,.99924,.99924,.99983,1.00044,.99973,.99964,.98332,1,.99973,1,1,.99962,.99895,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,1.00423,.99925,.99999,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1.00049,1,1.00245,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,1.00003,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,.99998,.99998,.99998,.99998,1,1,1,1,1,1,1,1,1,1,1];t.HelveticaItalicMetrics={lineHeight:1.35,lineGap:.2};t.HelveticaRegularFactors=[.76116,1,1,1.0006,1.0006,1.00006,.99973,.99973,.99982,1.00001,1.00043,.99998,.99998,.99959,1.00003,1.0006,.99998,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.0006,1,1.00003,1.00003,1.00003,.99973,.99987,1.00001,1.00001,.99977,.99977,1.00001,1.00026,1.00022,.99977,1.0006,1,1.00001,.99973,.99999,.99977,1.00022,1.00001,1.00022,.99977,1.00001,1.00026,.99977,1.00001,1.00016,1.00001,1.00001,1.00026,1.0006,1.0006,1.0006,.99949,.99973,.99998,.99973,.99973,1,.99973,.99973,1.0006,.99973,.99973,.99924,.99924,1,.99924,.99999,.99973,.99973,.99973,.99973,.99998,1,1.0006,.99973,1,.99977,1,1,1,1.00005,1.0009,1.00005,1.00003,.99998,.99973,.99973,.99973,.99973,1.0009,.99973,.99998,1.00025,.99968,.99973,1.00003,1.00025,.60299,1.00024,1.06409,1,1,.99998,1,.9998,1.0006,.99998,1,.99936,.99973,1.00002,1.00002,1.00002,1.00026,1.00001,1.00001,1.00001,1.00001,1.00001,1.00001,1,.99977,1.00001,1.00001,1.00001,1.00001,1.0006,1.0006,1.0006,1.0006,.99977,.99977,1.00022,1.00022,1.00022,1.00022,1.00022,1.00003,1.00022,.99977,.99977,.99977,.99977,1.00001,1.00001,1.00026,.99973,.99973,.99973,.99973,.99973,.99973,.99982,1,.99973,.99973,.99973,.99973,1.0006,1.0006,1.0006,1.0006,.99973,.99973,.99973,.99973,.99973,.99973,.99973,1.06409,1.00026,.99973,.99973,.99973,.99973,1,.99973,1,1.00001,.99973,1.00001,.99973,1.00001,.99973,.99977,1,.99977,1,.99977,1,.99977,1,.99977,1.04596,.99977,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00001,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,.99977,.99973,.99977,.99973,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,1.0006,.99924,1.0006,1.0006,1.00019,1.00034,1,.99924,1.00001,1,1,.99973,.99924,.99973,.99924,.99973,1.02572,.99973,1.00005,.99973,.99924,.99977,.99973,.99977,.99973,.99977,.99973,.99999,.9998,.99973,1.00022,.99973,1.00022,.99973,1.00022,.99973,1,1.00016,.99977,.99998,.99977,.99998,.99977,.99998,1.00001,1,1.00001,1,1.00001,1,1.00001,1,1.00026,1.0006,1.00026,.84533,1.00026,1.0006,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,.99977,.99973,1.00016,.99977,1.00001,1,1.00001,1.00026,1,1.00026,1,1.00026,1,.99924,.99973,1.00001,.99973,1,.99982,1.00022,1.00026,1.00001,1,1.00026,1.0006,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99998,.99928,1,.99977,1.00013,1.00055,.99947,.99945,.99941,.99924,1.00001,1.00001,1.0004,.91621,1.00001,1.00026,.99977,1.00022,1.0006,1.00001,1.00005,.99999,.99977,1.00015,1.00022,.99977,1.00001,.99973,1.00026,1.00001,1.00019,1.00001,.99946,1,1.0006,1.00001,.99978,1.00045,.99973,.99924,1.00023,.99978,.99966,1,1.00065,1.00045,1.00019,.99973,.99973,.99924,1,1,.96499,1,1.00055,.99973,1.00008,1.00027,1,.9997,.99995,1.00023,.99933,1.00019,1.00015,1.00031,.99924,1.00023,.99973,1.00023,1.00031,1.00001,.99928,1.00029,1.00092,1.00035,1.00001,1.0006,1.0006,1,.99988,.99975,1,1.00082,.99561,.9996,1.00035,1.00001,.99962,1.00001,1.00092,.99964,1.00001,.99963,.99999,1.00035,1.00035,1.00082,.99962,.99999,.99977,1.00022,1.00035,1.00001,.99977,1.00026,.9996,.99967,1.00001,1.00034,1.00074,1.00054,1.00053,1.00063,.99971,.99962,1.00035,.99975,.99977,.99973,1.00043,.99953,1.0007,.99915,.99973,1.00008,.99892,1.00073,1.00073,1.00114,.99915,1.00073,.99955,.99973,1.00092,.99973,1,.99998,1,1.0003,1,1.00043,1.00001,.99969,1.0003,1,1.00035,1.00001,.9995,1,1.00092,.99973,.99973,.99973,1.0007,.9995,1,.99924,1.0006,.99924,.99972,1.00062,.99973,1.00114,1.00073,1,.99955,1,1,1.00047,.99968,1.00016,.99977,1.00016,.99977,1.00016,.99977,1.00001,1,1,1,.99973,1,1,.99955,.99924,.99924,.99924,.99924,.99998,.99998,.99998,.99973,.99973,.99972,1,1,1.00267,.99999,.99998,.99998,1,.99998,1.66475,1,.99973,.99973,1.00023,.99973,.99971,.99925,1.00023,1,.99991,.99984,1.00002,1.00002,1.00002,1.00002,1,1,1,1,1,1,1,.96329,1,1.20985,1.39713,1.00003,.8254,1.00015,1,1.00035,1.00027,1.00031,1.00031,.99915,1.00031,1.00031,.99999,1.00003,.99999,.99999,1.41144,1.6,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.41144,1.40579,1.40579,1.36625,.99999,1,.99861,.99861,1,1.00026,1.00026,1.00026,1.00026,.95317,.99999,.99999,.99999,.99999,1.40483,1,.99977,1.00054,1,1,.99953,.99962,1.00042,.9995,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.HelveticaRegularMetrics={lineHeight:1.2,lineGap:.2}},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.LiberationSansRegularWidths=t.LiberationSansRegularMapping=t.LiberationSansItalicWidths=t.LiberationSansItalicMapping=t.LiberationSansBoldWidths=t.LiberationSansBoldMapping=t.LiberationSansBoldItalicWidths=t.LiberationSansBoldItalicMapping=void 0;t.LiberationSansBoldWidths=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,719,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,785,556,556,278,722,556,556,611,278,611,278,611,385,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,465,722,333,853,906,474,825,927,838,278,722,722,601,719,667,611,722,778,278,722,667,833,722,644,778,722,667,600,611,667,821,667,809,802,278,667,615,451,611,278,582,615,610,556,606,475,460,611,541,278,558,556,612,556,445,611,766,619,520,684,446,582,715,576,753,845,278,582,611,582,845,667,669,885,567,711,667,278,276,556,1094,1062,875,610,722,622,719,722,719,722,567,712,667,904,626,719,719,610,702,833,722,778,719,667,722,611,622,854,667,730,703,1005,1019,870,979,719,711,1031,719,556,618,615,417,635,556,709,497,615,615,500,635,740,604,611,604,611,556,490,556,875,556,615,581,833,844,729,854,615,552,854,583,556,556,611,417,552,556,278,281,278,969,906,611,500,615,556,604,778,611,487,447,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1094,556,885,489,1115,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333];t.LiberationSansBoldMapping=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];t.LiberationSansBoldItalicWidths=[365,0,333,278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584,333,556,556,556,556,280,556,333,737,370,556,584,737,552,400,549,333,333,333,576,556,278,333,333,365,556,834,834,834,611,722,722,722,722,722,722,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,556,556,556,556,556,278,278,278,278,611,611,611,611,611,611,611,549,611,611,611,611,611,556,611,556,722,556,722,556,722,556,722,556,722,556,722,556,722,556,722,740,722,611,667,556,667,556,667,556,667,556,667,556,778,611,778,611,778,611,778,611,722,611,722,611,278,278,278,278,278,278,278,278,278,278,782,556,556,278,722,556,556,611,278,611,278,611,396,611,479,611,278,722,611,722,611,722,611,708,723,611,778,611,778,611,778,611,1e3,944,722,389,722,389,722,389,667,556,667,556,667,556,667,556,611,333,611,479,611,333,722,611,722,611,722,611,722,611,722,611,722,611,944,778,667,556,667,611,500,611,500,611,500,278,556,722,556,1e3,889,778,611,667,556,611,333,333,333,333,333,333,333,333,333,333,333,333,722,333,854,906,473,844,930,847,278,722,722,610,671,667,611,722,778,278,722,667,833,722,657,778,718,667,590,611,667,822,667,829,781,278,667,620,479,611,278,591,620,621,556,610,479,492,611,558,278,566,556,603,556,450,611,712,605,532,664,409,591,704,578,773,834,278,591,611,591,834,667,667,886,614,719,667,278,278,556,1094,1042,854,622,719,677,719,722,708,722,614,722,667,927,643,719,719,615,687,833,722,778,719,667,722,611,677,781,667,729,708,979,989,854,1e3,708,719,1042,729,556,619,604,534,618,556,736,510,611,611,507,622,740,604,611,611,611,556,889,556,885,556,646,583,889,935,707,854,594,552,865,589,556,556,611,469,563,556,278,278,278,969,906,611,507,619,556,611,778,611,575,467,944,778,944,778,944,778,667,556,333,333,556,1e3,1e3,552,278,278,278,278,500,500,500,556,556,350,1e3,1e3,240,479,333,333,604,333,167,396,556,556,1104,556,885,516,1146,1e3,768,600,834,834,834,834,999,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,722,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,611,611,333,333,333,333,333,333,333,333,222,222,333,333,333,333,333,333,333,333];t.LiberationSansBoldItalicMapping=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];t.LiberationSansItalicWidths=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,625,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,733,444,500,222,667,500,500,556,222,556,222,556,281,556,400,556,222,722,556,722,556,722,556,615,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,354,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,789,846,389,794,865,775,222,667,667,570,671,667,611,722,778,278,667,667,833,722,648,778,725,667,600,611,667,837,667,831,761,278,667,570,439,555,222,550,570,571,500,556,439,463,555,542,222,500,492,548,500,447,556,670,573,486,603,374,550,652,546,728,779,222,550,556,550,779,667,667,843,544,708,667,278,278,500,1066,982,844,589,715,639,724,667,651,667,544,704,667,917,614,715,715,589,686,833,722,778,725,667,722,611,639,795,667,727,673,920,923,805,886,651,694,1022,682,556,562,522,493,553,556,688,465,556,556,472,564,686,550,556,556,556,500,833,500,835,500,572,518,830,851,621,736,526,492,752,534,556,556,556,378,496,500,222,222,222,910,828,556,472,565,500,556,778,556,492,339,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1083,1e3,768,600,834,834,834,834,1e3,500,998,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,584,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285];t.LiberationSansItalicMapping=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1];t.LiberationSansRegularWidths=[365,0,333,278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584,333,556,556,556,556,260,556,333,737,370,556,584,737,552,400,549,333,333,333,576,537,278,333,333,365,556,834,834,834,611,667,667,667,667,667,667,1e3,722,667,667,667,667,278,278,278,278,722,722,778,778,778,778,778,584,778,722,722,722,722,667,667,611,556,556,556,556,556,556,889,500,556,556,556,556,278,278,278,278,556,556,556,556,556,556,556,549,611,556,556,556,556,500,556,500,667,556,667,556,667,556,722,500,722,500,722,500,722,500,722,615,722,556,667,556,667,556,667,556,667,556,667,556,778,556,778,556,778,556,778,556,722,556,722,556,278,278,278,278,278,278,278,222,278,278,735,444,500,222,667,500,500,556,222,556,222,556,292,556,334,556,222,722,556,722,556,722,556,604,723,556,778,556,778,556,778,556,1e3,944,722,333,722,333,722,333,667,500,667,500,667,500,667,500,611,278,611,375,611,278,722,556,722,556,722,556,722,556,722,556,722,556,944,722,667,500,667,611,500,611,500,611,500,222,556,667,556,1e3,889,778,611,667,500,611,278,333,333,333,333,333,333,333,333,333,333,333,667,278,784,838,384,774,855,752,222,667,667,551,668,667,611,722,778,278,667,668,833,722,650,778,722,667,618,611,667,798,667,835,748,278,667,578,446,556,222,547,578,575,500,557,446,441,556,556,222,500,500,576,500,448,556,690,569,482,617,395,547,648,525,713,781,222,547,556,547,781,667,667,865,542,719,667,278,278,500,1057,1010,854,583,722,635,719,667,656,667,542,677,667,923,604,719,719,583,656,833,722,778,719,667,722,611,635,760,667,740,667,917,938,792,885,656,719,1010,722,556,573,531,365,583,556,669,458,559,559,438,583,688,552,556,542,556,500,458,500,823,500,573,521,802,823,625,719,521,510,750,542,556,556,556,365,510,500,222,278,222,906,812,556,438,559,500,552,778,556,489,411,944,722,944,722,944,722,667,500,333,333,556,1e3,1e3,552,222,222,222,222,333,333,333,556,556,350,1e3,1e3,188,354,333,333,500,333,167,365,556,556,1094,556,885,323,1073,1e3,768,600,834,834,834,834,1e3,500,1e3,500,1e3,500,500,494,612,823,713,584,549,713,979,719,274,549,549,583,549,549,604,584,604,604,708,625,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,708,729,604,604,354,354,1e3,990,990,990,990,494,604,604,604,604,354,1021,1052,917,750,750,531,656,594,510,500,750,750,500,500,333,333,333,333,333,333,333,333,222,222,294,294,324,324,316,328,398,285];t.LiberationSansRegularMapping=[-1,-1,-1,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,161,162,163,164,165,166,167,168,169,170,171,172,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,402,506,507,508,509,510,511,536,537,538,539,710,711,713,728,729,730,731,732,733,900,901,902,903,904,905,906,908,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,931,932,933,934,935,936,937,938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039,1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1138,1139,1168,1169,7808,7809,7810,7811,7812,7813,7922,7923,8208,8209,8211,8212,8213,8215,8216,8217,8218,8219,8220,8221,8222,8224,8225,8226,8230,8240,8242,8243,8249,8250,8252,8254,8260,8319,8355,8356,8359,8364,8453,8467,8470,8482,8486,8494,8539,8540,8541,8542,8592,8593,8594,8595,8596,8597,8616,8706,8710,8719,8721,8722,8730,8734,8735,8745,8747,8776,8800,8801,8804,8805,8962,8976,8992,8993,9472,9474,9484,9488,9492,9496,9500,9508,9516,9524,9532,9552,9553,9554,9555,9556,9557,9558,9559,9560,9561,9562,9563,9564,9565,9566,9567,9568,9569,9570,9571,9572,9573,9574,9575,9576,9577,9578,9579,9580,9600,9604,9608,9612,9616,9617,9618,9619,9632,9633,9642,9643,9644,9650,9658,9660,9668,9674,9675,9679,9688,9689,9702,9786,9787,9788,9792,9794,9824,9827,9829,9830,9834,9835,9836,61441,61442,61445,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1]},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.MyriadProRegularMetrics=t.MyriadProRegularFactors=t.MyriadProItalicMetrics=t.MyriadProItalicFactors=t.MyriadProBoldMetrics=t.MyriadProBoldItalicMetrics=t.MyriadProBoldItalicFactors=t.MyriadProBoldFactors=void 0;t.MyriadProBoldFactors=[1.36898,1,1,.72706,.80479,.83734,.98894,.99793,.9897,.93884,.86209,.94292,.94292,1.16661,1.02058,.93582,.96694,.93582,1.19137,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.99793,.78076,.78076,1.02058,1.02058,1.02058,.72851,.78966,.90838,.83637,.82391,.96376,.80061,.86275,.8768,.95407,1.0258,.73901,.85022,.83655,1.0156,.95546,.92179,.87107,.92179,.82114,.8096,.89713,.94438,.95353,.94083,.91905,.90406,.9446,.94292,1.18777,.94292,1.02058,.89903,.90088,.94938,.97898,.81093,.97571,.94938,1.024,.9577,.95933,.98621,1.0474,.97455,.98981,.9672,.95933,.9446,.97898,.97407,.97646,.78036,1.10208,.95442,.95298,.97579,.9332,.94039,.938,.80687,1.01149,.80687,1.02058,.80479,.99793,.99793,.99793,.99793,1.01149,1.00872,.90088,.91882,1.0213,.8361,1.02058,.62295,.54324,.89022,1.08595,1,1,.90088,1,.97455,.93582,.90088,1,1.05686,.8361,.99642,.99642,.99642,.72851,.90838,.90838,.90838,.90838,.90838,.90838,.868,.82391,.80061,.80061,.80061,.80061,1.0258,1.0258,1.0258,1.0258,.97484,.95546,.92179,.92179,.92179,.92179,.92179,1.02058,.92179,.94438,.94438,.94438,.94438,.90406,.86958,.98225,.94938,.94938,.94938,.94938,.94938,.94938,.9031,.81093,.94938,.94938,.94938,.94938,.98621,.98621,.98621,.98621,.93969,.95933,.9446,.9446,.9446,.9446,.9446,1.08595,.9446,.95442,.95442,.95442,.95442,.94039,.97898,.94039,.90838,.94938,.90838,.94938,.90838,.94938,.82391,.81093,.82391,.81093,.82391,.81093,.82391,.81093,.96376,.84313,.97484,.97571,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.80061,.94938,.8768,.9577,.8768,.9577,.8768,.9577,1,1,.95407,.95933,.97069,.95933,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,1.0258,.98621,.887,1.01591,.73901,1.0474,1,1,.97455,.83655,.98981,1,1,.83655,.73977,.83655,.73903,.84638,1.033,.95546,.95933,1,1,.95546,.95933,.8271,.95417,.95933,.92179,.9446,.92179,.9446,.92179,.9446,.936,.91964,.82114,.97646,1,1,.82114,.97646,.8096,.78036,.8096,.78036,1,1,.8096,.78036,1,1,.89713,.77452,.89713,1.10208,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94438,.95442,.94083,.97579,.90406,.94039,.90406,.9446,.938,.9446,.938,.9446,.938,1,.99793,.90838,.94938,.868,.9031,.92179,.9446,1,1,.89713,1.10208,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90989,.9358,.91945,.83181,.75261,.87992,.82976,.96034,.83689,.97268,1.0078,.90838,.83637,.8019,.90157,.80061,.9446,.95407,.92436,1.0258,.85022,.97153,1.0156,.95546,.89192,.92179,.92361,.87107,.96318,.89713,.93704,.95638,.91905,.91709,.92796,1.0258,.93704,.94836,1.0373,.95933,1.0078,.95871,.94836,.96174,.92601,.9498,.98607,.95776,.95933,1.05453,1.0078,.98275,.9314,.95617,.91701,1.05993,.9446,.78367,.9553,1,.86832,1.0128,.95871,.99394,.87548,.96361,.86774,1.0078,.95871,.9446,.95871,.86774,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.94083,.97579,.94083,.97579,.94083,.97579,.90406,.94039,.96694,1,.89903,1,1,1,.93582,.93582,.93582,1,.908,.908,.918,.94219,.94219,.96544,1,1.285,1,1,.81079,.81079,1,1,.74854,1,1,1,1,.99793,1,1,1,.65,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.17173,1,.80535,.76169,1.02058,1.0732,1.05486,1,1,1.30692,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.16161,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.MyriadProBoldMetrics={lineHeight:1.2,lineGap:.2};t.MyriadProBoldItalicFactors=[1.36898,1,1,.66227,.80779,.81625,.97276,.97276,.97733,.92222,.83266,.94292,.94292,1.16148,1.02058,.93582,.96694,.93582,1.17337,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.97276,.78076,.78076,1.02058,1.02058,1.02058,.71541,.76813,.85576,.80591,.80729,.94299,.77512,.83655,.86523,.92222,.98621,.71743,.81698,.79726,.98558,.92222,.90637,.83809,.90637,.80729,.76463,.86275,.90699,.91605,.9154,.85308,.85458,.90531,.94292,1.21296,.94292,1.02058,.89903,1.18616,.99613,.91677,.78216,.91677,.90083,.98796,.9135,.92168,.95381,.98981,.95298,.95381,.93459,.92168,.91513,.92004,.91677,.95077,.748,1.04502,.91677,.92061,.94236,.89544,.89364,.9,.80687,.8578,.80687,1.02058,.80779,.97276,.97276,.97276,.97276,.8578,.99973,1.18616,.91339,1.08074,.82891,1.02058,.55509,.71526,.89022,1.08595,1,1,1.18616,1,.96736,.93582,1.18616,1,1.04864,.82711,.99043,.99043,.99043,.71541,.85576,.85576,.85576,.85576,.85576,.85576,.845,.80729,.77512,.77512,.77512,.77512,.98621,.98621,.98621,.98621,.95961,.92222,.90637,.90637,.90637,.90637,.90637,1.02058,.90251,.90699,.90699,.90699,.90699,.85458,.83659,.94951,.99613,.99613,.99613,.99613,.99613,.99613,.85811,.78216,.90083,.90083,.90083,.90083,.95381,.95381,.95381,.95381,.9135,.92168,.91513,.91513,.91513,.91513,.91513,1.08595,.91677,.91677,.91677,.91677,.91677,.89364,.92332,.89364,.85576,.99613,.85576,.99613,.85576,.99613,.80729,.78216,.80729,.78216,.80729,.78216,.80729,.78216,.94299,.76783,.95961,.91677,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.77512,.90083,.86523,.9135,.86523,.9135,.86523,.9135,1,1,.92222,.92168,.92222,.92168,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.98621,.95381,.86036,.97096,.71743,.98981,1,1,.95298,.79726,.95381,1,1,.79726,.6894,.79726,.74321,.81691,1.0006,.92222,.92168,1,1,.92222,.92168,.79464,.92098,.92168,.90637,.91513,.90637,.91513,.90637,.91513,.909,.87514,.80729,.95077,1,1,.80729,.95077,.76463,.748,.76463,.748,1,1,.76463,.748,1,1,.86275,.72651,.86275,1.04502,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.90699,.91677,.9154,.94236,.85458,.89364,.85458,.90531,.9,.90531,.9,.90531,.9,1,.97276,.85576,.99613,.845,.85811,.90251,.91677,1,1,.86275,1.04502,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.18616,1.00899,1.30628,.85576,.80178,.66862,.7927,.69323,.88127,.72459,.89711,.95381,.85576,.80591,.7805,.94729,.77512,.90531,.92222,.90637,.98621,.81698,.92655,.98558,.92222,.85359,.90637,.90976,.83809,.94523,.86275,.83509,.93157,.85308,.83392,.92346,.98621,.83509,.92886,.91324,.92168,.95381,.90646,.92886,.90557,.86847,.90276,.91324,.86842,.92168,.99531,.95381,.9224,.85408,.92699,.86847,1.0051,.91513,.80487,.93481,1,.88159,1.05214,.90646,.97355,.81539,.89398,.85923,.95381,.90646,.91513,.90646,.85923,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9154,.94236,.9154,.94236,.9154,.94236,.85458,.89364,.96694,1,.89903,1,1,1,.91782,.91782,.91782,1,.896,.896,.896,.9332,.9332,.95973,1,1.26,1,1,.80479,.80178,1,1,.85633,1,1,1,1,.97276,1,1,1,.698,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.14542,1,.79199,.78694,1.02058,1.03493,1.05486,1,1,1.23026,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.20006,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.MyriadProBoldItalicMetrics={lineHeight:1.2,lineGap:.2};t.MyriadProItalicFactors=[1.36898,1,1,.65507,.84943,.85639,.88465,.88465,.86936,.88307,.86948,.85283,.85283,1.06383,1.02058,.75945,.9219,.75945,1.17337,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.88465,.75945,.75945,1.02058,1.02058,1.02058,.69046,.70926,.85158,.77812,.76852,.89591,.70466,.76125,.80094,.86822,.83864,.728,.77212,.79475,.93637,.87514,.8588,.76013,.8588,.72421,.69866,.77598,.85991,.80811,.87832,.78112,.77512,.8562,1.0222,1.18417,1.0222,1.27014,.89903,1.15012,.93859,.94399,.846,.94399,.81453,1.0186,.94219,.96017,1.03075,1.02175,.912,1.03075,.96998,.96017,.93859,.94399,.94399,.95493,.746,1.12658,.94578,.91,.979,.882,.882,.83,.85034,.83537,.85034,1.02058,.70869,.88465,.88465,.88465,.88465,.83537,.90083,1.15012,.9161,.94565,.73541,1.02058,.53609,.69353,.79519,1.08595,1,1,1.15012,1,.91974,.75945,1.15012,1,.9446,.73361,.9005,.9005,.9005,.62864,.85158,.85158,.85158,.85158,.85158,.85158,.773,.76852,.70466,.70466,.70466,.70466,.83864,.83864,.83864,.83864,.90561,.87514,.8588,.8588,.8588,.8588,.8588,1.02058,.85751,.85991,.85991,.85991,.85991,.77512,.76013,.88075,.93859,.93859,.93859,.93859,.93859,.93859,.8075,.846,.81453,.81453,.81453,.81453,.82424,.82424,.82424,.82424,.9278,.96017,.93859,.93859,.93859,.93859,.93859,1.08595,.8562,.94578,.94578,.94578,.94578,.882,.94578,.882,.85158,.93859,.85158,.93859,.85158,.93859,.76852,.846,.76852,.846,.76852,.846,.76852,.846,.89591,.8544,.90561,.94399,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.70466,.81453,.80094,.94219,.80094,.94219,.80094,.94219,1,1,.86822,.96017,.86822,.96017,.83864,.82424,.83864,.82424,.83864,.82424,.83864,1.03075,.83864,.82424,.81402,1.02738,.728,1.02175,1,1,.912,.79475,1.03075,1,1,.79475,.83911,.79475,.66266,.80553,1.06676,.87514,.96017,1,1,.87514,.96017,.86865,.87396,.96017,.8588,.93859,.8588,.93859,.8588,.93859,.867,.84759,.72421,.95493,1,1,.72421,.95493,.69866,.746,.69866,.746,1,1,.69866,.746,1,1,.77598,.88417,.77598,1.12658,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.85991,.94578,.87832,.979,.77512,.882,.77512,.8562,.83,.8562,.83,.8562,.83,1,.88465,.85158,.93859,.773,.8075,.85751,.8562,1,1,.77598,1.12658,1.15012,1.15012,1.15012,1.15012,1.15012,1.15313,1.15012,1.15012,1.15012,1.08106,1.03901,.85158,.77025,.62264,.7646,.65351,.86026,.69461,.89947,1.03075,.85158,.77812,.76449,.88836,.70466,.8562,.86822,.8588,.83864,.77212,.85308,.93637,.87514,.82352,.8588,.85701,.76013,.89058,.77598,.8156,.82565,.78112,.77899,.89386,.83864,.8156,.9486,.92388,.96186,1.03075,.91123,.9486,.93298,.878,.93942,.92388,.84596,.96186,.95119,1.03075,.922,.88787,.95829,.88,.93559,.93859,.78815,.93758,1,.89217,1.03737,.91123,.93969,.77487,.85769,.86799,1.03075,.91123,.93859,.91123,.86799,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87832,.979,.87832,.979,.87832,.979,.77512,.882,.9219,1,.89903,1,1,1,.87321,.87321,.87321,1,1.027,1.027,1.027,.86847,.86847,.79121,1,1.124,1,1,.73572,.73572,1,1,.85034,1,1,1,1,.88465,1,1,1,.669,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.04828,1,.74948,.75187,1.02058,.98391,1.02119,1,1,1.06233,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05233,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.MyriadProItalicMetrics={lineHeight:1.2,lineGap:.2};t.MyriadProRegularFactors=[1.36898,1,1,.76305,.82784,.94935,.89364,.92241,.89073,.90706,.98472,.85283,.85283,1.0664,1.02058,.74505,.9219,.74505,1.23456,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.92241,.74505,.74505,1.02058,1.02058,1.02058,.73002,.72601,.91755,.8126,.80314,.92222,.73764,.79726,.83051,.90284,.86023,.74,.8126,.84869,.96518,.91115,.8858,.79761,.8858,.74498,.73914,.81363,.89591,.83659,.89633,.85608,.8111,.90531,1.0222,1.22736,1.0222,1.27014,.89903,.90088,.86667,1.0231,.896,1.01411,.90083,1.05099,1.00512,.99793,1.05326,1.09377,.938,1.06226,1.00119,.99793,.98714,1.0231,1.01231,.98196,.792,1.19137,.99074,.962,1.01915,.926,.942,.856,.85034,.92006,.85034,1.02058,.69067,.92241,.92241,.92241,.92241,.92006,.9332,.90088,.91882,.93484,.75339,1.02058,.56866,.54324,.79519,1.08595,1,1,.90088,1,.95325,.74505,.90088,1,.97198,.75339,.91009,.91009,.91009,.66466,.91755,.91755,.91755,.91755,.91755,.91755,.788,.80314,.73764,.73764,.73764,.73764,.86023,.86023,.86023,.86023,.92915,.91115,.8858,.8858,.8858,.8858,.8858,1.02058,.8858,.89591,.89591,.89591,.89591,.8111,.79611,.89713,.86667,.86667,.86667,.86667,.86667,.86667,.86936,.896,.90083,.90083,.90083,.90083,.84224,.84224,.84224,.84224,.97276,.99793,.98714,.98714,.98714,.98714,.98714,1.08595,.89876,.99074,.99074,.99074,.99074,.942,1.0231,.942,.91755,.86667,.91755,.86667,.91755,.86667,.80314,.896,.80314,.896,.80314,.896,.80314,.896,.92222,.93372,.92915,1.01411,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.73764,.90083,.83051,1.00512,.83051,1.00512,.83051,1.00512,1,1,.90284,.99793,.90976,.99793,.86023,.84224,.86023,.84224,.86023,.84224,.86023,1.05326,.86023,.84224,.82873,1.07469,.74,1.09377,1,1,.938,.84869,1.06226,1,1,.84869,.83704,.84869,.81441,.85588,1.08927,.91115,.99793,1,1,.91115,.99793,.91887,.90991,.99793,.8858,.98714,.8858,.98714,.8858,.98714,.894,.91434,.74498,.98196,1,1,.74498,.98196,.73914,.792,.73914,.792,1,1,.73914,.792,1,1,.81363,.904,.81363,1.19137,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89591,.99074,.89633,1.01915,.8111,.942,.8111,.90531,.856,.90531,.856,.90531,.856,1,.92241,.91755,.86667,.788,.86936,.8858,.89876,1,1,.81363,1.19137,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90088,.90388,1.03901,.92138,.78105,.7154,.86169,.80513,.94007,.82528,.98612,1.06226,.91755,.8126,.81884,.92819,.73764,.90531,.90284,.8858,.86023,.8126,.91172,.96518,.91115,.83089,.8858,.87791,.79761,.89297,.81363,.88157,.89992,.85608,.81992,.94307,.86023,.88157,.95308,.98699,.99793,1.06226,.95817,.95308,.97358,.928,.98088,.98699,.92761,.99793,.96017,1.06226,.986,.944,.95978,.938,.96705,.98714,.80442,.98972,1,.89762,1.04552,.95817,.99007,.87064,.91879,.88888,1.06226,.95817,.98714,.95817,.88888,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.89633,1.01915,.89633,1.01915,.89633,1.01915,.8111,.942,.9219,1,.89903,1,1,1,.93173,.93173,.93173,1,1.06304,1.06304,1.06904,.89903,.89903,.80549,1,1.156,1,1,.76575,.76575,1,1,.72458,1,1,1,1,.92241,1,1,1,.619,1,1.36145,1,1,1,1,1,1,1,1,1,1,1,1.07257,1,.74705,.71119,1.02058,1.024,1.02119,1,1,1.1536,1.08595,1.08595,1,1.08595,1.08595,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.05638,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.MyriadProRegularMetrics={lineHeight:1.2,lineGap:.2}},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.SegoeuiRegularMetrics=t.SegoeuiRegularFactors=t.SegoeuiItalicMetrics=t.SegoeuiItalicFactors=t.SegoeuiBoldMetrics=t.SegoeuiBoldItalicMetrics=t.SegoeuiBoldItalicFactors=t.SegoeuiBoldFactors=void 0;t.SegoeuiBoldFactors=[1.76738,1,1,.99297,.9824,1.04016,1.06497,1.03424,.97529,1.17647,1.23203,1.1085,1.1085,1.16939,1.2107,.9754,1.21408,.9754,1.59578,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,1.03424,.81378,.81378,1.2107,1.2107,1.2107,.71703,.97847,.97363,.88776,.8641,1.02096,.79795,.85132,.914,1.06085,1.1406,.8007,.89858,.83693,1.14889,1.09398,.97489,.92094,.97489,.90399,.84041,.95923,1.00135,1,1.06467,.98243,.90996,.99361,1.1085,1.56942,1.1085,1.2107,.74627,.94282,.96752,1.01519,.86304,1.01359,.97278,1.15103,1.01359,.98561,1.02285,1.02285,1.00527,1.02285,1.0302,.99041,1.0008,1.01519,1.01359,1.02258,.79104,1.16862,.99041,.97454,1.02511,.99298,.96752,.95801,.94856,1.16579,.94856,1.2107,.9824,1.03424,1.03424,1,1.03424,1.16579,.8727,1.3871,1.18622,1.10818,1.04478,1.2107,1.18622,.75155,.94994,1.28826,1.21408,1.21408,.91056,1,.91572,.9754,.64663,1.18328,1.24866,1.04478,1.14169,1.15749,1.17389,.71703,.97363,.97363,.97363,.97363,.97363,.97363,.93506,.8641,.79795,.79795,.79795,.79795,1.1406,1.1406,1.1406,1.1406,1.02096,1.09398,.97426,.97426,.97426,.97426,.97426,1.2107,.97489,1.00135,1.00135,1.00135,1.00135,.90996,.92094,1.02798,.96752,.96752,.96752,.96752,.96752,.96752,.93136,.86304,.97278,.97278,.97278,.97278,1.02285,1.02285,1.02285,1.02285,.97122,.99041,1,1,1,1,1,1.28826,1.0008,.99041,.99041,.99041,.99041,.96752,1.01519,.96752,.97363,.96752,.97363,.96752,.97363,.96752,.8641,.86304,.8641,.86304,.8641,.86304,.8641,.86304,1.02096,1.03057,1.02096,1.03517,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.79795,.97278,.914,1.01359,.914,1.01359,.914,1.01359,1,1,1.06085,.98561,1.06085,1.00879,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,1.1406,1.02285,.97138,1.08692,.8007,1.02285,1,1,1.00527,.83693,1.02285,1,1,.83693,.9455,.83693,.90418,.83693,1.13005,1.09398,.99041,1,1,1.09398,.99041,.96692,1.09251,.99041,.97489,1.0008,.97489,1.0008,.97489,1.0008,.93994,.97931,.90399,1.02258,1,1,.90399,1.02258,.84041,.79104,.84041,.79104,.84041,.79104,.84041,.79104,1,1,.95923,1.07034,.95923,1.16862,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.00135,.99041,1.06467,1.02511,.90996,.96752,.90996,.99361,.95801,.99361,.95801,.99361,.95801,1.07733,1.03424,.97363,.96752,.93506,.93136,.97489,1.0008,1,1,.95923,1.16862,1.15103,1.15103,1.01173,1.03959,.75953,.81378,.79912,1.15103,1.21994,.95161,.87815,1.01149,.81525,.7676,.98167,1.01134,1.02546,.84097,1.03089,1.18102,.97363,.88776,.85134,.97826,.79795,.99361,1.06085,.97489,1.1406,.89858,1.0388,1.14889,1.09398,.86039,.97489,1.0595,.92094,.94793,.95923,.90996,.99346,.98243,1.02112,.95493,1.1406,.90996,1.03574,1.02597,1.0008,1.18102,1.06628,1.03574,1.0192,1.01932,1.00886,.97531,1.0106,1.0008,1.13189,1.18102,1.02277,.98683,1.0016,.99561,1.07237,1.0008,.90434,.99921,.93803,.8965,1.23085,1.06628,1.04983,.96268,1.0499,.98439,1.18102,1.06628,1.0008,1.06628,.98439,.79795,1,1,1,1,1,1,1,1,1,1,1,1,1.09466,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.97278,1,1,1,1,1,1,1,1,1,1,1,1,1.02065,1,1,1,1,1,1,1.06467,1.02511,1.06467,1.02511,1.06467,1.02511,.90996,.96752,1,1.21408,.89903,1,1,.75155,1.04394,1.04394,1.04394,1.04394,.98633,.98633,.98633,.73047,.73047,1.20642,.91211,1.25635,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.12454,.93503,1.03424,1.19687,1.03424,1,1,1,.771,1,1,1.15749,1.15749,1.15749,1.10948,.86279,.94434,.86279,.94434,.86182,1,1,1.16897,1,.96085,.90137,1.2107,1.18416,1.13973,.69825,.9716,2.10339,1.29004,1.29004,1.21172,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18874,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.09193,1.09193,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.SegoeuiBoldMetrics={lineHeight:1.33008,lineGap:0};t.SegoeuiBoldItalicFactors=[1.76738,1,1,.98946,1.03959,1.04016,1.02809,1.036,.97639,1.10953,1.23203,1.11144,1.11144,1.16939,1.21237,.9754,1.21261,.9754,1.59754,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,1.036,.81378,.81378,1.21237,1.21237,1.21237,.73541,.97847,.97363,.89723,.87897,1.0426,.79429,.85292,.91149,1.05815,1.1406,.79631,.90128,.83853,1.04396,1.10615,.97552,.94436,.97552,.88641,.80527,.96083,1.00135,1,1.06777,.9817,.91142,.99361,1.11144,1.57293,1.11144,1.21237,.74627,1.31818,1.06585,.97042,.83055,.97042,.93503,1.1261,.97042,.97922,1.14236,.94552,1.01054,1.14236,1.02471,.97922,.94165,.97042,.97042,1.0276,.78929,1.1261,.97922,.95874,1.02197,.98507,.96752,.97168,.95107,1.16579,.95107,1.21237,1.03959,1.036,1.036,1,1.036,1.16579,.87357,1.31818,1.18754,1.26781,1.05356,1.21237,1.18622,.79487,.94994,1.29004,1.24047,1.24047,1.31818,1,.91484,.9754,1.31818,1.1349,1.24866,1.05356,1.13934,1.15574,1.17389,.73541,.97363,.97363,.97363,.97363,.97363,.97363,.94385,.87897,.79429,.79429,.79429,.79429,1.1406,1.1406,1.1406,1.1406,1.0426,1.10615,.97552,.97552,.97552,.97552,.97552,1.21237,.97552,1.00135,1.00135,1.00135,1.00135,.91142,.94436,.98721,1.06585,1.06585,1.06585,1.06585,1.06585,1.06585,.96705,.83055,.93503,.93503,.93503,.93503,1.14236,1.14236,1.14236,1.14236,.93125,.97922,.94165,.94165,.94165,.94165,.94165,1.29004,.94165,.97922,.97922,.97922,.97922,.96752,.97042,.96752,.97363,1.06585,.97363,1.06585,.97363,1.06585,.87897,.83055,.87897,.83055,.87897,.83055,.87897,.83055,1.0426,1.0033,1.0426,.97042,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.79429,.93503,.91149,.97042,.91149,.97042,.91149,.97042,1,1,1.05815,.97922,1.05815,.97922,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,1.1406,1.14236,.97441,1.04302,.79631,1.01582,1,1,1.01054,.83853,1.14236,1,1,.83853,1.09125,.83853,.90418,.83853,1.19508,1.10615,.97922,1,1,1.10615,.97922,1.01034,1.10466,.97922,.97552,.94165,.97552,.94165,.97552,.94165,.91602,.91981,.88641,1.0276,1,1,.88641,1.0276,.80527,.78929,.80527,.78929,.80527,.78929,.80527,.78929,1,1,.96083,1.05403,.95923,1.16862,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.00135,.97922,1.06777,1.02197,.91142,.96752,.91142,.99361,.97168,.99361,.97168,.99361,.97168,1.23199,1.036,.97363,1.06585,.94385,.96705,.97552,.94165,1,1,.96083,1.1261,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,1.31818,.95161,1.27126,1.00811,.83284,.77702,.99137,.95253,1.0347,.86142,1.07205,1.14236,.97363,.89723,.86869,1.09818,.79429,.99361,1.05815,.97552,1.1406,.90128,1.06662,1.04396,1.10615,.84918,.97552,1.04694,.94436,.98015,.96083,.91142,1.00356,.9817,1.01945,.98999,1.1406,.91142,1.04961,.9898,1.00639,1.14236,1.07514,1.04961,.99607,1.02897,1.008,.9898,.95134,1.00639,1.11121,1.14236,1.00518,.97981,1.02186,1,1.08578,.94165,.99314,.98387,.93028,.93377,1.35125,1.07514,1.10687,.93491,1.04232,1.00351,1.14236,1.07514,.94165,1.07514,1.00351,.79429,1,1,1,1,1,1,1,1,1,1,1,1,1.09097,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.93503,1,1,1,1,1,1,1,1,1,1,1,1,.96609,1,1,1,1,1,1,1.06777,1.02197,1.06777,1.02197,1.06777,1.02197,.91142,.96752,1,1.21261,.89903,1,1,.75155,1.04745,1.04745,1.04745,1.04394,.98633,.98633,.98633,.72959,.72959,1.20502,.91406,1.26514,1.222,1.02956,1.03372,1.03372,.96039,1.24633,1,1.09125,.93327,1.03336,1.16541,1.036,1,1,1,.771,1,1,1.15574,1.15574,1.15574,1.15574,.86364,.94434,.86279,.94434,.86224,1,1,1.16798,1,.96085,.90068,1.21237,1.18416,1.13904,.69825,.9716,2.10339,1.29004,1.29004,1.21339,1.29004,1.29004,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18775,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.13269,1.13269,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.SegoeuiBoldItalicMetrics={lineHeight:1.33008,lineGap:0};t.SegoeuiItalicFactors=[1.76738,1,1,.98946,1.14763,1.05365,1.06234,.96927,.92586,1.15373,1.18414,.91349,.91349,1.07403,1.17308,.78383,1.20088,.78383,1.42531,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78383,.78383,1.17308,1.17308,1.17308,.77349,.94565,.94729,.85944,.88506,.9858,.74817,.80016,.88449,.98039,.95782,.69238,.89898,.83231,.98183,1.03989,.96924,.86237,.96924,.80595,.74524,.86091,.95402,.94143,.98448,.8858,.83089,.93285,1.0949,1.39016,1.0949,1.45994,.74627,1.04839,.97454,.97454,.87207,.97454,.87533,1.06151,.97454,1.00176,1.16484,1.08132,.98047,1.16484,1.02989,1.01054,.96225,.97454,.97454,1.06598,.79004,1.16344,1.00351,.94629,.9973,.91016,.96777,.9043,.91082,.92481,.91082,1.17308,.95748,.96927,.96927,1,.96927,.92481,.80597,1.04839,1.23393,1.1781,.9245,1.17308,1.20808,.63218,.94261,1.24822,1.09971,1.09971,1.04839,1,.85273,.78032,1.04839,1.09971,1.22326,.9245,1.09836,1.13525,1.15222,.70424,.94729,.94729,.94729,.94729,.94729,.94729,.85498,.88506,.74817,.74817,.74817,.74817,.95782,.95782,.95782,.95782,.9858,1.03989,.96924,.96924,.96924,.96924,.96924,1.17308,.96924,.95402,.95402,.95402,.95402,.83089,.86237,.88409,.97454,.97454,.97454,.97454,.97454,.97454,.92916,.87207,.87533,.87533,.87533,.87533,.93146,.93146,.93146,.93146,.93854,1.01054,.96225,.96225,.96225,.96225,.96225,1.24822,.8761,1.00351,1.00351,1.00351,1.00351,.96777,.97454,.96777,.94729,.97454,.94729,.97454,.94729,.97454,.88506,.87207,.88506,.87207,.88506,.87207,.88506,.87207,.9858,.95391,.9858,.97454,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.74817,.87533,.88449,.97454,.88449,.97454,.88449,.97454,1,1,.98039,1.00176,.98039,1.00176,.95782,.93146,.95782,.93146,.95782,.93146,.95782,1.16484,.95782,.93146,.84421,1.12761,.69238,1.08132,1,1,.98047,.83231,1.16484,1,1,.84723,1.04861,.84723,.78755,.83231,1.23736,1.03989,1.01054,1,1,1.03989,1.01054,.9857,1.03849,1.01054,.96924,.96225,.96924,.96225,.96924,.96225,.92383,.90171,.80595,1.06598,1,1,.80595,1.06598,.74524,.79004,.74524,.79004,.74524,.79004,.74524,.79004,1,1,.86091,1.02759,.85771,1.16344,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.95402,1.00351,.98448,.9973,.83089,.96777,.83089,.93285,.9043,.93285,.9043,.93285,.9043,1.31868,.96927,.94729,.97454,.85498,.92916,.96924,.8761,1,1,.86091,1.16344,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,1.04839,.81965,.81965,.94729,.78032,.71022,.90883,.84171,.99877,.77596,1.05734,1.2,.94729,.85944,.82791,.9607,.74817,.93285,.98039,.96924,.95782,.89898,.98316,.98183,1.03989,.78614,.96924,.97642,.86237,.86075,.86091,.83089,.90082,.8858,.97296,1.01284,.95782,.83089,1.0976,1.04,1.03342,1.2,1.0675,1.0976,.98205,1.03809,1.05097,1.04,.95364,1.03342,1.05401,1.2,1.02148,1.0119,1.04724,1.0127,1.02732,.96225,.8965,.97783,.93574,.94818,1.30679,1.0675,1.11826,.99821,1.0557,1.0326,1.2,1.0675,.96225,1.0675,1.0326,.74817,1,1,1,1,1,1,1,1,1,1,1,1,1.03754,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.87533,1,1,1,1,1,1,1,1,1,1,1,1,.98705,1,1,1,1,1,1,.98448,.9973,.98448,.9973,.98448,.9973,.83089,.96777,1,1.20088,.89903,1,1,.75155,.94945,.94945,.94945,.94945,1.12317,1.12317,1.12317,.67603,.67603,1.15621,.73584,1.21191,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87709,.96927,1.01473,.96927,1,1,1,.77295,1,1,1.09836,1.09836,1.09836,1.01522,.86321,.94434,.8649,.94434,.86182,1,1,1.083,1,.91578,.86438,1.17308,1.18416,1.14589,.69825,.97622,1.96791,1.24822,1.24822,1.17308,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.17984,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10742,1.10742,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];t.SegoeuiItalicMetrics={lineHeight:1.33008,lineGap:0};t.SegoeuiRegularFactors=[1.76738,1,1,.98594,1.02285,1.10454,1.06234,.96927,.92037,1.19985,1.2046,.90616,.90616,1.07152,1.1714,.78032,1.20088,.78032,1.40246,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.96927,.78032,.78032,1.1714,1.1714,1.1714,.80597,.94084,.96706,.85944,.85734,.97093,.75842,.79936,.88198,.9831,.95782,.71387,.86969,.84636,1.07796,1.03584,.96924,.83968,.96924,.82826,.79649,.85771,.95132,.93119,.98965,.88433,.8287,.93365,1.08612,1.3638,1.08612,1.45786,.74627,.80499,.91484,1.05707,.92383,1.05882,.9403,1.12654,1.05882,1.01756,1.09011,1.09011,.99414,1.09011,1.034,1.01756,1.05356,1.05707,1.05882,1.04399,.84863,1.21968,1.01756,.95801,1.00068,.91797,.96777,.9043,.90351,.92105,.90351,1.1714,.85337,.96927,.96927,.99912,.96927,.92105,.80597,1.2434,1.20808,1.05937,.90957,1.1714,1.20808,.75155,.94261,1.24644,1.09971,1.09971,.84751,1,.85273,.78032,.61584,1.05425,1.17914,.90957,1.08665,1.11593,1.14169,.73381,.96706,.96706,.96706,.96706,.96706,.96706,.86035,.85734,.75842,.75842,.75842,.75842,.95782,.95782,.95782,.95782,.97093,1.03584,.96924,.96924,.96924,.96924,.96924,1.1714,.96924,.95132,.95132,.95132,.95132,.8287,.83968,.89049,.91484,.91484,.91484,.91484,.91484,.91484,.93575,.92383,.9403,.9403,.9403,.9403,.8717,.8717,.8717,.8717,1.00527,1.01756,1.05356,1.05356,1.05356,1.05356,1.05356,1.24644,.95923,1.01756,1.01756,1.01756,1.01756,.96777,1.05707,.96777,.96706,.91484,.96706,.91484,.96706,.91484,.85734,.92383,.85734,.92383,.85734,.92383,.85734,.92383,.97093,1.0969,.97093,1.05882,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.75842,.9403,.88198,1.05882,.88198,1.05882,.88198,1.05882,1,1,.9831,1.01756,.9831,1.01756,.95782,.8717,.95782,.8717,.95782,.8717,.95782,1.09011,.95782,.8717,.84784,1.11551,.71387,1.09011,1,1,.99414,.84636,1.09011,1,1,.84636,1.0536,.84636,.94298,.84636,1.23297,1.03584,1.01756,1,1,1.03584,1.01756,1.00323,1.03444,1.01756,.96924,1.05356,.96924,1.05356,.96924,1.05356,.93066,.98293,.82826,1.04399,1,1,.82826,1.04399,.79649,.84863,.79649,.84863,.79649,.84863,.79649,.84863,1,1,.85771,1.17318,.85771,1.21968,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.95132,1.01756,.98965,1.00068,.8287,.96777,.8287,.93365,.9043,.93365,.9043,.93365,.9043,1.08571,.96927,.96706,.91484,.86035,.93575,.96924,.95923,1,1,.85771,1.21968,1.11437,1.11437,.93109,.91202,.60411,.84164,.55572,1.01173,.97361,.81818,.81818,.96635,.78032,.72727,.92366,.98601,1.03405,.77968,1.09799,1.2,.96706,.85944,.85638,.96491,.75842,.93365,.9831,.96924,.95782,.86969,.94152,1.07796,1.03584,.78437,.96924,.98715,.83968,.83491,.85771,.8287,.94492,.88433,.9287,1.0098,.95782,.8287,1.0625,.98248,1.03424,1.2,1.01071,1.0625,.95246,1.03809,1.04912,.98248,1.00221,1.03424,1.05443,1.2,1.04785,.99609,1.00169,1.05176,.99346,1.05356,.9087,1.03004,.95542,.93117,1.23362,1.01071,1.07831,1.02512,1.05205,1.03502,1.2,1.01071,1.05356,1.01071,1.03502,.75842,1,1,1,1,1,1,1,1,1,1,1,1,1.03719,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,.9403,1,1,1,1,1,1,1,1,1,1,1,1,1.04021,1,1,1,1,1,1,.98965,1.00068,.98965,1.00068,.98965,1.00068,.8287,.96777,1,1.20088,.89903,1,1,.75155,1.03077,1.03077,1.03077,1.03077,1.13196,1.13196,1.13196,.67428,.67428,1.16039,.73291,1.20996,1.22135,1.06483,.94868,.94868,.95996,1.24633,1,1.07497,.87796,.96927,1.01518,.96927,1,1,1,.77295,1,1,1.10539,1.10539,1.11358,1.06967,.86279,.94434,.86279,.94434,.86182,1,1,1.083,1,.91578,.86507,1.1714,1.18416,1.14589,.69825,.97622,1.9697,1.24822,1.24822,1.17238,1.24822,1.24822,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1.42603,1,.99862,.99862,1,.87025,.87025,.87025,.87025,1.18083,1.42603,1,1.42603,1.42603,.99862,1,1,1,1,1,1.2886,1.04315,1.15296,1.34163,1,1,1,1.10938,1.10938,1,1,1,1.05425,1.09971,1.09971,1.09971,1,1,1,1,1,1,1,1,1,1,1];t.SegoeuiRegularMetrics={lineHeight:1.33008,lineGap:0}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.PostScriptEvaluator=t.PostScriptCompiler=t.PDFFunctionFactory=void 0;t.isPDFFunction=function isPDFFunction(e){let t;if(e instanceof r.Dict)t=e;else{if(!(e instanceof s.BaseStream))return!1;t=e.dict}return t.has("FunctionType")};var r=a(4),n=a(2),i=a(58),s=a(5),o=a(59);t.PDFFunctionFactory=class PDFFunctionFactory{constructor({xref:e,isEvalSupported:t=!0}){this.xref=e;this.isEvalSupported=!1!==t}create(e){const t=this.getCached(e);if(t)return t;const a=PDFFunction.parse({xref:this.xref,isEvalSupported:this.isEvalSupported,fn:e instanceof r.Ref?this.xref.fetch(e):e});this._cache(e,a);return a}createFromArray(e){const t=this.getCached(e);if(t)return t;const a=PDFFunction.parseArray({xref:this.xref,isEvalSupported:this.isEvalSupported,fnObj:e instanceof r.Ref?this.xref.fetch(e):e});this._cache(e,a);return a}getCached(e){let t;e instanceof r.Ref?t=e:e instanceof r.Dict?t=e.objId:e instanceof s.BaseStream&&(t=e.dict?.objId);if(t){const e=this._localFunctionCache.getByRef(t);if(e)return e}return null}_cache(e,t){if(!t)throw new Error('PDFFunctionFactory._cache - expected "parsedFunction" argument.');let a;e instanceof r.Ref?a=e:e instanceof r.Dict?a=e.objId:e instanceof s.BaseStream&&(a=e.dict?.objId);a&&this._localFunctionCache.set(null,a,t)}get _localFunctionCache(){return(0,n.shadow)(this,"_localFunctionCache",new o.LocalFunctionCache)}};function toNumberArray(e){if(!Array.isArray(e))return null;const t=e.length;for(let a=0;a>c)*h;l&=(1<a?e=a:e0&&(d=s[u-1]);let f=r[1];u>1,u=s.length>>1,d=new PostScriptEvaluator(l),f=Object.create(null);let g=8192;const p=new Float32Array(u);return function constructPostScriptFn(e,t,a,r){let n,i,s="";const c=p;for(n=0;ne&&(i=e)}m[n]=i}if(g>0){g--;f[s]=m}a.set(m,r)}}}class PostScriptStack{static MAX_STACK_SIZE=100;constructor(e){this.stack=e?Array.from(e):[]}push(e){if(this.stack.length>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");this.stack.push(e)}pop(){if(this.stack.length<=0)throw new Error("PostScript function stack underflow.");return this.stack.pop()}copy(e){if(this.stack.length+e>=PostScriptStack.MAX_STACK_SIZE)throw new Error("PostScript function stack overflow.");const t=this.stack;for(let a=t.length-e,r=e-1;r>=0;r--,a++)t.push(t[a])}index(e){this.push(this.stack[this.stack.length-e-1])}roll(e,t){const a=this.stack,r=a.length-e,n=a.length-1,i=r+(t-Math.floor(t/e)*e);for(let e=r,t=n;e0?t.push(o<>c);break;case"ceiling":o=t.pop();t.push(Math.ceil(o));break;case"copy":o=t.pop();t.copy(o);break;case"cos":o=t.pop();t.push(Math.cos(o%360/180*Math.PI));break;case"cvi":o=0|t.pop();t.push(o);break;case"cvr":break;case"div":c=t.pop();o=t.pop();t.push(o/c);break;case"dup":t.copy(1);break;case"eq":c=t.pop();o=t.pop();t.push(o===c);break;case"exch":t.roll(2,1);break;case"exp":c=t.pop();o=t.pop();t.push(o**c);break;case"false":t.push(!1);break;case"floor":o=t.pop();t.push(Math.floor(o));break;case"ge":c=t.pop();o=t.pop();t.push(o>=c);break;case"gt":c=t.pop();o=t.pop();t.push(o>c);break;case"idiv":c=t.pop();o=t.pop();t.push(o/c|0);break;case"index":o=t.pop();t.index(o);break;case"le":c=t.pop();o=t.pop();t.push(o<=c);break;case"ln":o=t.pop();t.push(Math.log(o));break;case"log":o=t.pop();t.push(Math.log10(o));break;case"lt":c=t.pop();o=t.pop();t.push(o=t?new AstLiteral(t):e.max<=t?e:new AstMin(e,t)}class PostScriptCompiler{compile(e,t,a){const r=[],n=[],i=t.length>>1,s=a.length>>1;let o,c,l,h,u,d,f,g,p=0;for(let e=0;et.min){o.unshift("Math.max(",i,", ");o.push(")")}if(s{Object.defineProperty(t,"__esModule",{value:!0});t.PostScriptParser=t.PostScriptLexer=void 0;var r=a(2),n=a(4),i=a(3);t.PostScriptParser=class PostScriptParser{constructor(e){this.lexer=e;this.operators=[];this.token=null;this.prev=null}nextToken(){this.prev=this.token;this.token=this.lexer.getToken()}accept(e){if(this.token.type===e){this.nextToken();return!0}return!1}expect(e){if(this.accept(e))return!0;throw new r.FormatError(`Unexpected symbol: found ${this.token.type} expected ${e}.`)}parse(){this.nextToken();this.expect(s.LBRACE);this.parseBlock();this.expect(s.RBRACE);return this.operators}parseBlock(){for(;;)if(this.accept(s.NUMBER))this.operators.push(this.prev.value);else if(this.accept(s.OPERATOR))this.operators.push(this.prev.value);else{if(!this.accept(s.LBRACE))return;this.parseCondition()}}parseCondition(){const e=this.operators.length;this.operators.push(null,null);this.parseBlock();this.expect(s.RBRACE);if(this.accept(s.IF)){this.operators[e]=this.operators.length;this.operators[e+1]="jz"}else{if(!this.accept(s.LBRACE))throw new r.FormatError("PS Function: error parsing conditional.");{const t=this.operators.length;this.operators.push(null,null);const a=this.operators.length;this.parseBlock();this.expect(s.RBRACE);this.expect(s.IFELSE);this.operators[t]=this.operators.length;this.operators[t+1]="j";this.operators[e]=a;this.operators[e+1]="jz"}}}};const s={LBRACE:0,RBRACE:1,NUMBER:2,OPERATOR:3,IF:4,IFELSE:5};class PostScriptToken{static get opCache(){return(0,r.shadow)(this,"opCache",Object.create(null))}constructor(e,t){this.type=e;this.value=t}static getOperator(e){return PostScriptToken.opCache[e]||=new PostScriptToken(s.OPERATOR,e)}static get LBRACE(){return(0,r.shadow)(this,"LBRACE",new PostScriptToken(s.LBRACE,"{"))}static get RBRACE(){return(0,r.shadow)(this,"RBRACE",new PostScriptToken(s.RBRACE,"}"))}static get IF(){return(0,r.shadow)(this,"IF",new PostScriptToken(s.IF,"IF"))}static get IFELSE(){return(0,r.shadow)(this,"IFELSE",new PostScriptToken(s.IFELSE,"IFELSE"))}}t.PostScriptLexer=class PostScriptLexer{constructor(e){this.stream=e;this.nextChar();this.strBuf=[]}nextChar(){return this.currentChar=this.stream.getByte()}getToken(){let e=!1,t=this.currentChar;for(;;){if(t<0)return n.EOF;if(e)10!==t&&13!==t||(e=!1);else if(37===t)e=!0;else if(!(0,i.isWhiteSpace)(t))break;t=this.nextChar()}switch(0|t){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 43:case 45:case 46:return new PostScriptToken(s.NUMBER,this.getNumber());case 123:this.nextChar();return PostScriptToken.LBRACE;case 125:this.nextChar();return PostScriptToken.RBRACE}const a=this.strBuf;a.length=0;a[0]=String.fromCharCode(t);for(;(t=this.nextChar())>=0&&(t>=65&&t<=90||t>=97&&t<=122);)a.push(String.fromCharCode(t));const r=a.join("");switch(r.toLowerCase()){case"if":return PostScriptToken.IF;case"ifelse":return PostScriptToken.IFELSE;default:return PostScriptToken.getOperator(r)}}getNumber(){let e=this.currentChar;const t=this.strBuf;t.length=0;t[0]=String.fromCharCode(e);for(;(e=this.nextChar())>=0&&(e>=48&&e<=57||45===e||46===e);)t.push(String.fromCharCode(e));const a=parseFloat(t.join(""));if(isNaN(a))throw new r.FormatError(`Invalid floating point number: ${a}`);return a}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.RegionalImageCache=t.LocalTilingPatternCache=t.LocalImageCache=t.LocalGStateCache=t.LocalFunctionCache=t.LocalColorSpaceCache=t.GlobalImageCache=void 0;var r=a(2),n=a(4);class BaseLocalCache{constructor(e){this.constructor===BaseLocalCache&&(0,r.unreachable)("Cannot initialize BaseLocalCache.");this._onlyRefs=!0===e?.onlyRefs;if(!this._onlyRefs){this._nameRefMap=new Map;this._imageMap=new Map}this._imageCache=new n.RefSetCache}getByName(e){this._onlyRefs&&(0,r.unreachable)("Should not call `getByName` method.");const t=this._nameRefMap.get(e);return t?this.getByRef(t):this._imageMap.get(e)||null}getByRef(e){return this._imageCache.get(e)||null}set(e,t,a){(0,r.unreachable)("Abstract method `set` called.")}}t.LocalImageCache=class LocalImageCache extends BaseLocalCache{set(e,t=null,a){if("string"!=typeof e)throw new Error('LocalImageCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}};t.LocalColorSpaceCache=class LocalColorSpaceCache extends BaseLocalCache{set(e=null,t=null,a){if("string"!=typeof e&&!t)throw new Error('LocalColorSpaceCache.set - expected "name" and/or "ref" argument.');if(t){if(this._imageCache.has(t))return;null!==e&&this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}};t.LocalFunctionCache=class LocalFunctionCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('LocalFunctionCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}};t.LocalGStateCache=class LocalGStateCache extends BaseLocalCache{set(e,t=null,a){if("string"!=typeof e)throw new Error('LocalGStateCache.set - expected "name" argument.');if(t){if(this._imageCache.has(t))return;this._nameRefMap.set(e,t);this._imageCache.put(t,a)}else this._imageMap.has(e)||this._imageMap.set(e,a)}};t.LocalTilingPatternCache=class LocalTilingPatternCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('LocalTilingPatternCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}};t.RegionalImageCache=class RegionalImageCache extends BaseLocalCache{constructor(e){super({onlyRefs:!0})}set(e=null,t,a){if(!t)throw new Error('RegionalImageCache.set - expected "ref" argument.');this._imageCache.has(t)||this._imageCache.put(t,a)}};class GlobalImageCache{static NUM_PAGES_THRESHOLD=2;static MIN_IMAGES_TO_CACHE=10;static MAX_BYTE_SIZE=5*r.MAX_IMAGE_SIZE_TO_CACHE;constructor(){this._refCache=new n.RefSetCache;this._imageCache=new n.RefSetCache}get _byteSize(){let e=0;for(const t of this._imageCache)e+=t.byteSize;return e}get _cacheLimitReached(){return!(this._imageCache.size{Object.defineProperty(t,"__esModule",{value:!0});t.bidi=function bidi(e,t=-1,a=!1){let c=!0;const l=e.length;if(0===l||a)return createBidiText(e,c,a);s.length=l;o.length=l;let h,u,d=0;for(h=0;h4){c=!0;t=0}else{c=!1;t=1}const f=[];for(h=0;h=0&&"ET"===o[e];--e)o[e]="EN";for(let e=h+1;e0&&(t=o[h-1]);let a=m;e+1w&&isOdd(w)&&(x=w)}for(w=S;w>=x;--w){let e=-1;for(h=0,u=f.length;h=0){reverseValues(s,e,h);e=-1}}else e<0&&(e=h);e>=0&&reverseValues(s,e,f.length)}for(h=0,u=s.length;h"!==e||(s[h]="")}return createBidiText(s.join(""),c)};var r=a(2);const n=["BN","BN","BN","BN","BN","BN","BN","BN","BN","S","B","S","WS","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","B","B","B","S","WS","ON","ON","ET","ET","ET","ON","ON","ON","ON","ON","ES","CS","ES","CS","CS","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","CS","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","ON","ON","ON","BN","BN","BN","BN","BN","BN","B","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","BN","CS","ON","ET","ET","ET","ET","ON","ON","ON","ON","L","ON","ON","BN","ON","ON","ET","ET","EN","EN","ON","L","ON","ON","ON","EN","L","ON","ON","ON","ON","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","L","ON","L","L","L","L","L","L","L","L"],i=["AN","AN","AN","AN","AN","AN","ON","ON","AL","ET","ET","AL","CS","AL","ON","ON","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AN","AN","AN","AN","AN","AN","AN","AN","AN","AN","ET","AN","AN","AL","AL","AL","NSM","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","AL","NSM","NSM","NSM","NSM","NSM","NSM","NSM","AN","ON","NSM","NSM","NSM","NSM","NSM","NSM","AL","AL","NSM","NSM","ON","NSM","NSM","NSM","NSM","AL","AL","EN","EN","EN","EN","EN","EN","EN","EN","EN","EN","AL","AL","AL","AL","AL","AL"];function isOdd(e){return 0!=(1&e)}function isEven(e){return 0==(1&e)}function findUnequal(e,t,a){let r,n;for(r=t,n=e.length;r{Object.defineProperty(t,"__esModule",{value:!0});t.getFontSubstitution=function getFontSubstitution(e,t,a,u,d){const f=u=(0,r.normalizeFontName)(u);let g=e.get(f);if(g)return g;let p=l.get(u);if(!p)for(const[e,t]of h)if(u.startsWith(e)){u=`${t}${u.substring(e.length)}`;p=l.get(u);break}let m=!1;if(!p){p=l.get(d);m=!0}const b=`${t.getDocId()}_s${t.createFontId()}`;if(!p){if(!(0,n.validateFontName)(u)){e.set(f,null);return null}const t=/bold/gi.test(u),a=/oblique|italic/gi.test(u);g={css:b,guessFallback:!0,loadedName:b,baseFontName:u,src:`local(${u})`,style:t&&a&&c||t&&s||a&&o||i};e.set(f,g);return g}const y=[];m&&(0,n.validateFontName)(u)&&y.push(`local(${u})`);const{style:w,ultimate:S}=generateFont(p,y,a),x=null===S;g={css:`${b}${x?"":`,${S}`}`,guessFallback:x,loadedName:b,baseFontName:u,src:y.join(","),style:w};e.set(f,g);return g};var r=a(38),n=a(3);const i={style:"normal",weight:"normal"},s={style:"normal",weight:"bold"},o={style:"italic",weight:"normal"},c={style:"italic",weight:"bold"},l=new Map([["Times-Roman",{local:["Times New Roman","Times-Roman","Times","Liberation Serif","Nimbus Roman","Nimbus Roman L","Tinos","Thorndale","TeX Gyre Termes","FreeSerif","DejaVu Serif","Bitstream Vera Serif","Ubuntu"],style:i,ultimate:"serif"}],["Times-Bold",{alias:"Times-Roman",style:s,ultimate:"serif"}],["Times-Italic",{alias:"Times-Roman",style:o,ultimate:"serif"}],["Times-BoldItalic",{alias:"Times-Roman",style:c,ultimate:"serif"}],["Helvetica",{local:["Helvetica","Helvetica Neue","Arial","Arial Nova","Liberation Sans","Arimo","Nimbus Sans","Nimbus Sans L","A030","TeX Gyre Heros","FreeSans","DejaVu Sans","Albany","Bitstream Vera Sans","Arial Unicode MS","Microsoft Sans Serif","Apple Symbols","Cantarell"],path:"LiberationSans-Regular.ttf",style:i,ultimate:"sans-serif"}],["Helvetica-Bold",{alias:"Helvetica",path:"LiberationSans-Bold.ttf",style:s,ultimate:"sans-serif"}],["Helvetica-Oblique",{alias:"Helvetica",path:"LiberationSans-Italic.ttf",style:o,ultimate:"sans-serif"}],["Helvetica-BoldOblique",{alias:"Helvetica",path:"LiberationSans-BoldItalic.ttf",style:c,ultimate:"sans-serif"}],["Courier",{local:["Courier","Courier New","Liberation Mono","Nimbus Mono","Nimbus Mono L","Cousine","Cumberland","TeX Gyre Cursor","FreeMono"],style:i,ultimate:"monospace"}],["Courier-Bold",{alias:"Courier",style:s,ultimate:"monospace"}],["Courier-Oblique",{alias:"Courier",style:o,ultimate:"monospace"}],["Courier-BoldOblique",{alias:"Courier",style:c,ultimate:"monospace"}],["ArialBlack",{local:["Arial Black"],style:{style:"normal",weight:"900"},fallback:"Helvetica-Bold"}],["ArialBlack-Bold",{alias:"ArialBlack"}],["ArialBlack-Italic",{alias:"ArialBlack",style:{style:"italic",weight:"900"},fallback:"Helvetica-BoldOblique"}],["ArialBlack-BoldItalic",{alias:"ArialBlack-Italic"}],["ArialNarrow",{local:["Arial Narrow","Liberation Sans Narrow","Helvetica Condensed","Nimbus Sans Narrow","TeX Gyre Heros Cn"],style:i,fallback:"Helvetica"}],["ArialNarrow-Bold",{alias:"ArialNarrow",style:s,fallback:"Helvetica-Bold"}],["ArialNarrow-Italic",{alias:"ArialNarrow",style:o,fallback:"Helvetica-Oblique"}],["ArialNarrow-BoldItalic",{alias:"ArialNarrow",style:c,fallback:"Helvetica-BoldOblique"}],["Calibri",{local:["Calibri","Carlito"],style:i,fallback:"Helvetica"}],["Calibri-Bold",{alias:"Calibri",style:s,fallback:"Helvetica-Bold"}],["Calibri-Italic",{alias:"Calibri",style:o,fallback:"Helvetica-Oblique"}],["Calibri-BoldItalic",{alias:"Calibri",style:c,fallback:"Helvetica-BoldOblique"}],["Wingdings",{local:["Wingdings","URW Dingbats"],style:i}],["Wingdings-Regular",{alias:"Wingdings"}],["Wingdings-Bold",{alias:"Wingdings"}]]),h=new Map([["Arial-Black","ArialBlack"]]);function generateFont({alias:e,local:t,path:a,fallback:r,style:n,ultimate:i},h,u,d=!0,f=!0,g=""){const p={style:null,ultimate:null};if(t){const e=g?` ${g}`:"";for(const a of t)h.push(`local(${a}${e})`)}if(e){const t=l.get(e),i=g||function getStyleToAppend(e){switch(e){case s:return"Bold";case o:return"Italic";case c:return"Bold Italic";default:if("bold"===e?.weight)return"Bold";if("italic"===e?.style)return"Italic"}return""}(n);Object.assign(p,generateFont(t,h,u,d&&!r,f&&!a,i))}n&&(p.style=n);i&&(p.ultimate=i);if(d&&r){const e=l.get(r),{ultimate:t}=generateFont(e,h,u,d,f&&!a,g);p.ultimate||=t}f&&a&&u&&h.push(`url(${u}${a})`);return p}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ImageResizer=void 0;var r=a(2);class ImageResizer{constructor(e,t){this._imgData=e;this._isMask=t}static needsToBeResized(e,t){if(e<=this._goodSquareLength&&t<=this._goodSquareLength)return!1;const{MAX_DIM:a}=this;if(e>a||t>a)return!0;const r=e*t;if(this._hasMaxArea)return r>this.MAX_AREA;if(r(this.MAX_AREA=this._goodSquareLength**2)}static get MAX_DIM(){return(0,r.shadow)(this,"MAX_DIM",this._guessMax(2048,65537,0,1))}static get MAX_AREA(){this._hasMaxArea=!0;return(0,r.shadow)(this,"MAX_AREA",this._guessMax(ImageResizer._goodSquareLength,this.MAX_DIM,128,0)**2)}static set MAX_AREA(e){if(e>=0){this._hasMaxArea=!0;(0,r.shadow)(this,"MAX_AREA",e)}}static setMaxArea(e){this._hasMaxArea||(this.MAX_AREA=e>>2)}static _areGoodDims(e,t){try{const a=new OffscreenCanvas(e,t),r=a.getContext("2d");r.fillRect(0,0,1,1);const n=r.getImageData(0,0,1,1).data[3];a.width=a.height=1;return 0!==n}catch{return!1}}static _guessMax(e,t,a,r){for(;e+a+1>3,r=a+3&-4;if(a!==r){const e=new Uint8Array(r*t);let n=0;for(let s=0,o=t*a;s{Object.defineProperty(t,"__esModule",{value:!0});t.MurmurHash3_64=void 0;var r=a(2);const n=3285377520,i=4294901760,s=65535;t.MurmurHash3_64=class MurmurHash3_64{constructor(e){this.h1=e?4294967295&e:n;this.h2=e?4294967295&e:n}update(e){let t,a;if("string"==typeof e){t=new Uint8Array(2*e.length);a=0;for(let r=0,n=e.length;r>>8;t[a++]=255&n}}}else{if(!(0,r.isArrayBuffer)(e))throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");t=e.slice();a=t.byteLength}const n=a>>2,o=a-4*n,c=new Uint32Array(t.buffer,0,n);let l=0,h=0,u=this.h1,d=this.h2;const f=3432918353,g=461845907,p=11601,m=13715;for(let e=0;e>>17;l=l*g&i|l*m&s;u^=l;u=u<<13|u>>>19;u=5*u+3864292196}else{h=c[e];h=h*f&i|h*p&s;h=h<<15|h>>>17;h=h*g&i|h*m&s;d^=h;d=d<<13|d>>>19;d=5*d+3864292196}l=0;switch(o){case 3:l^=t[4*n+2]<<16;case 2:l^=t[4*n+1]<<8;case 1:l^=t[4*n];l=l*f&i|l*p&s;l=l<<15|l>>>17;l=l*g&i|l*m&s;1&n?u^=l:d^=l}this.h1=u;this.h2=d}hexdigest(){let e=this.h1,t=this.h2;e^=t>>>1;e=3981806797*e&i|36045*e&s;t=4283543511*t&i|(2950163797*(t<<16|e>>>16)&i)>>>16;e^=t>>>1;e=444984403*e&i|60499*e&s;t=3301882366*t&i|(3120437893*(t<<16|e>>>16)&i)>>>16;e^=t>>>1;return(e>>>0).toString(16).padStart(8,"0")+(t>>>0).toString(16).padStart(8,"0")}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.OperatorList=void 0;var r=a(2);function addState(e,t,a,r,n){let i=e;for(let e=0,a=t.length-1;e1e3){h=Math.max(h,f);g+=d+2;f=0;d=0}u.push({transform:t,x:f,y:g,w:a.width,h:a.height});f+=a.width+2;d=Math.max(d,a.height)}const p=Math.max(h,f)+1,m=g+d+1,b=new Uint8Array(p*m*4),y=p<<2;for(let e=0;e=0;){t[i-4]=t[i];t[i-3]=t[i+1];t[i-2]=t[i+2];t[i-1]=t[i+3];t[i+a]=t[i+a-4];t[i+a+1]=t[i+a-3];t[i+a+2]=t[i+a-2];t[i+a+3]=t[i+a-1];i-=y}}const w={width:p,height:m};if(e.isOffscreenCanvasSupported){const e=new OffscreenCanvas(p,m);e.getContext("2d").putImageData(new ImageData(new Uint8ClampedArray(b.buffer),p,m),0,0);w.bitmap=e.transferToImageBitmap();w.data=null}else{w.kind=r.ImageKind.RGBA_32BPP;w.data=b}a.splice(s,4*l,r.OPS.paintInlineImageXObjectGroup);n.splice(s,4*l,[w,u]);return s+1}));addState(n,[r.OPS.save,r.OPS.transform,r.OPS.paintImageMaskXObject,r.OPS.restore],null,(function iterateImageMaskGroup(e,t){const a=e.fnArray,n=(t-(e.iCurr-3))%4;switch(n){case 0:return a[t]===r.OPS.save;case 1:return a[t]===r.OPS.transform;case 2:return a[t]===r.OPS.paintImageMaskXObject;case 3:return a[t]===r.OPS.restore}throw new Error(`iterateImageMaskGroup - invalid pos: ${n}`)}),(function foundImageMaskGroup(e,t){const a=e.fnArray,n=e.argsArray,i=e.iCurr,s=i-3,o=i-2,c=i-1;let l=Math.floor((t-s)/4);if(l<10)return t-(t-s)%4;let h,u,d=!1;const f=n[c][0],g=n[o][0],p=n[o][1],m=n[o][2],b=n[o][3];if(p===m){d=!0;h=o+4;let e=c+4;for(let t=1;t=4&&a[i-4]===a[s]&&a[i-3]===a[o]&&a[i-2]===a[c]&&a[i-1]===a[l]&&r[i-4][0]===h&&r[i-4][1]===u){d++;f-=5}let g=f+4;for(let e=1;e=a)break}r=(r||n)[e[t]];if(r&&!Array.isArray(r)){s.iCurr=t;t++;if(!r.checkFn||(0,r.checkFn)(s)){i=r;r=null}else r=null}else t++}this.state=r;this.match=i;this.lastProcessed=t}flush(){for(;this.match;){const e=this.queue.fnArray.length;this.lastProcessed=(0,this.match.processFn)(this.context,e);this.match=null;this.state=null;this._optimize()}}reset(){this.state=null;this.match=null;this.lastProcessed=0}}class OperatorList{static CHUNK_SIZE=1e3;static CHUNK_SIZE_ABOUT=this.CHUNK_SIZE-5;constructor(e=0,t){this._streamSink=t;this.fnArray=[];this.argsArray=[];this.optimizer=!t||e&r.RenderingIntentFlag.OPLIST?new NullOptimizer(this):new QueueOptimizer(this);this.dependencies=new Set;this._totalLength=0;this.weight=0;this._resolved=t?null:Promise.resolve()}set isOffscreenCanvasSupported(e){this.optimizer.isOffscreenCanvasSupported=e}get length(){return this.argsArray.length}get ready(){return this._resolved||this._streamSink.ready}get totalLength(){return this._totalLength+this.length}addOp(e,t){this.optimizer.push(e,t);this.weight++;this._streamSink&&(this.weight>=OperatorList.CHUNK_SIZE||this.weight>=OperatorList.CHUNK_SIZE_ABOUT&&(e===r.OPS.restore||e===r.OPS.endText))&&this.flush()}addImageOps(e,t,a){void 0!==a&&this.addOp(r.OPS.beginMarkedContentProps,["OC",a]);this.addOp(e,t);void 0!==a&&this.addOp(r.OPS.endMarkedContent,[])}addDependency(e){if(!this.dependencies.has(e)){this.dependencies.add(e);this.addOp(r.OPS.dependency,[e])}}addDependencies(e){for(const t of e)this.addDependency(t)}addOpList(e){if(e instanceof OperatorList){for(const t of e.dependencies)this.dependencies.add(t);for(let t=0,a=e.length;t{Object.defineProperty(t,"__esModule",{value:!0});t.PDFImage=void 0;var r=a(2),n=a(28),i=a(5),s=a(12),o=a(18),c=a(62),l=a(26),h=a(30),u=a(4);function decodeAndClamp(e,t,a,r){(e=t+e*a)<0?e=0:e>r&&(e=r);return e}function resizeImageMask(e,t,a,r,n,i){const s=n*i;let o;o=t<=8?new Uint8Array(s):t<=16?new Uint16Array(s):new Uint32Array(s);const c=a/n,l=r/i;let h,u,d,f,g=0;const p=new Uint16Array(n),m=a;for(h=0;h0&&Number.isInteger(a.height)&&a.height>0&&(a.width!==b||a.height!==y)){(0,r.warn)("PDFImage - using the Width/Height of the image data, rather than the image dictionary.");b=a.width;y=a.height}if(b<1||y<1)throw new r.FormatError(`Invalid image width: ${b} or height: ${y}`);this.width=b;this.height=y;this.interpolate=g.get("I","Interpolate");this.imageMask=g.get("IM","ImageMask")||!1;this.matte=g.get("Matte")||!1;let w=a.bitsPerComponent;if(!w){w=g.get("BPC","BitsPerComponent");if(!w){if(!this.imageMask)throw new r.FormatError(`Bits per component missing in image: ${this.imageMask}`);w=1}}this.bpc=w;if(!this.imageMask){let i=g.getRaw("CS")||g.getRaw("ColorSpace");if(!i){(0,r.info)("JPX images (which do not require color spaces)");switch(a.numComps){case 1:i=u.Name.get("DeviceGray");break;case 3:i=u.Name.get("DeviceRGB");break;case 4:i=u.Name.get("DeviceCMYK");break;default:throw new Error(`JPX images with ${a.numComps} color components not supported.`)}}this.colorSpace=s.ColorSpace.parse({cs:i,xref:e,resources:n?t:null,pdfFunctionFactory:d,localColorSpaceCache:f});this.numComps=this.colorSpace.numComps}this.decode=g.getArray("D","Decode");this.needsDecode=!1;if(this.decode&&(this.colorSpace&&!this.colorSpace.isDefaultDecode(this.decode,w)||l&&!s.ColorSpace.isDefaultDecode(this.decode,1))){this.needsDecode=!0;const e=(1<>3)*a,o=e.byteLength;let c,l;if(!r||n&&!(s===o))if(n){c=new Uint8Array(s);c.set(e);c.fill(255,o)}else c=new Uint8Array(e);else c=e;if(n)for(l=0;l>7&1;s[d+1]=u>>6&1;s[d+2]=u>>5&1;s[d+3]=u>>4&1;s[d+4]=u>>3&1;s[d+5]=u>>2&1;s[d+6]=u>>1&1;s[d+7]=1&u;d+=8}if(d>=1}}}}else{let a=0;u=0;for(d=0,h=i;d>r;n<0?n=0:n>l&&(n=l);s[d]=n;u&=(1<o[r+1]){t=255;break}}c[u]=t}}}if(c)for(u=0,f=3,d=t*n;u>3,f=t&&c.ImageResizer.needsToBeResized(a,n);if(!e){let e;"DeviceGray"===this.colorSpace.name&&1===u?e=r.ImageKind.GRAYSCALE_1BPP:"DeviceRGB"!==this.colorSpace.name||8!==u||this.needsDecode||(e=r.ImageKind.RGB_24BPP);if(e&&!this.smask&&!this.mask&&a===o&&n===h){const s=this.getImageBytes(h*d,{});if(t)return f?c.ImageResizer.createImage({data:s,kind:e,width:a,height:n,interpolate:this.interpolate},this.needsDecode):this.createBitmap(e,o,h,s);i.kind=e;i.data=s;if(this.needsDecode){(0,r.assert)(e===r.ImageKind.GRAYSCALE_1BPP,"PDFImage.createImageData: The image must be grayscale.");const t=i.data;for(let e=0,a=t.length;e>3,o=this.getImageBytes(n*s,{internal:!0}),c=this.getComponents(o);let l,h;if(1===i){h=a*n;if(this.needsDecode)for(l=0;l{Object.defineProperty(t,"__esModule",{value:!0});t.Catalog=void 0;var r=a(3),n=a(2),i=a(4),s=a(67),o=a(5),c=a(68),l=a(12),h=a(69),u=a(59),d=a(70),f=a(72);function fetchDestination(e){e instanceof i.Dict&&(e=e.get("D"));return Array.isArray(e)?e:null}class Catalog{constructor(e,t){this.pdfManager=e;this.xref=t;this._catDict=t.getCatalogObj();if(!(this._catDict instanceof i.Dict))throw new n.FormatError("Catalog object is not a dictionary.");this.toplevelPagesDict;this._actualNumPages=null;this.fontCache=new i.RefSetCache;this.builtInCMapCache=new Map;this.standardFontDataCache=new Map;this.globalImageCache=new u.GlobalImageCache;this.pageKidsCountCache=new i.RefSetCache;this.pageIndexCache=new i.RefSetCache;this.nonBlendModesSet=new i.RefSet;this.systemFontCache=new Map}cloneDict(){return this._catDict.clone()}get version(){const e=this._catDict.get("Version");if(e instanceof i.Name){if(r.PDF_VERSION_REGEXP.test(e.name))return(0,n.shadow)(this,"version",e.name);(0,n.warn)(`Invalid PDF catalog version: ${e.name}`)}return(0,n.shadow)(this,"version",null)}get lang(){const e=this._catDict.get("Lang");return(0,n.shadow)(this,"lang","string"==typeof e?(0,n.stringToPDFString)(e):null)}get needsRendering(){const e=this._catDict.get("NeedsRendering");return(0,n.shadow)(this,"needsRendering","boolean"==typeof e&&e)}get collection(){let e=null;try{const t=this._catDict.get("Collection");t instanceof i.Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.info)("Cannot fetch Collection entry; assuming no collection is present.")}return(0,n.shadow)(this,"collection",e)}get acroForm(){let e=null;try{const t=this._catDict.get("AcroForm");t instanceof i.Dict&&t.size>0&&(e=t)}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.info)("Cannot fetch AcroForm entry; assuming no forms are present.")}return(0,n.shadow)(this,"acroForm",e)}get acroFormRef(){const e=this._catDict.getRaw("AcroForm");return(0,n.shadow)(this,"acroFormRef",e instanceof i.Ref?e:null)}get metadata(){const e=this._catDict.getRaw("Metadata");if(!(e instanceof i.Ref))return(0,n.shadow)(this,"metadata",null);let t=null;try{const a=this.xref.fetch(e,!this.xref.encrypt?.encryptMetadata);if(a instanceof o.BaseStream&&a.dict instanceof i.Dict){const e=a.dict.get("Type"),r=a.dict.get("Subtype");if((0,i.isName)(e,"Metadata")&&(0,i.isName)(r,"XML")){const e=(0,n.stringToUTF8String)(a.getString());e&&(t=new d.MetadataParser(e).serializable)}}}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.info)(`Skipping invalid Metadata: "${e}".`)}return(0,n.shadow)(this,"metadata",t)}get markInfo(){let e=null;try{e=this._readMarkInfo()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)("Unable to read mark info.")}return(0,n.shadow)(this,"markInfo",e)}_readMarkInfo(){const e=this._catDict.get("MarkInfo");if(!(e instanceof i.Dict))return null;const t={Marked:!1,UserProperties:!1,Suspects:!1};for(const a in t){const r=e.get(a);"boolean"==typeof r&&(t[a]=r)}return t}get structTreeRoot(){let e=null;try{e=this._readStructTreeRoot()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)("Unable read to structTreeRoot info.")}return(0,n.shadow)(this,"structTreeRoot",e)}_readStructTreeRoot(){const e=this._catDict.getRaw("StructTreeRoot"),t=this.xref.fetchIfRef(e);if(!(t instanceof i.Dict))return null;const a=new f.StructTreeRoot(t,e);a.init();return a}get toplevelPagesDict(){const e=this._catDict.get("Pages");if(!(e instanceof i.Dict))throw new n.FormatError("Invalid top-level pages dictionary.");return(0,n.shadow)(this,"toplevelPagesDict",e)}get documentOutline(){let e=null;try{e=this._readDocumentOutline()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)("Unable to read document outline.")}return(0,n.shadow)(this,"documentOutline",e)}_readDocumentOutline(){let e=this._catDict.get("Outlines");if(!(e instanceof i.Dict))return null;e=e.getRaw("First");if(!(e instanceof i.Ref))return null;const t={items:[]},a=[{obj:e,parent:t}],r=new i.RefSet;r.put(e);const s=this.xref,o=new Uint8ClampedArray(3);for(;a.length>0;){const t=a.shift(),c=s.fetchIfRef(t.obj);if(null===c)continue;if(!c.has("Title"))throw new n.FormatError("Invalid outline item encountered.");const h={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:c,resultObj:h,docBaseUrl:this.baseUrl,docAttachments:this.attachments});const u=c.get("Title"),d=c.get("F")||0,f=c.getArray("C"),g=c.get("Count");let p=o;!Array.isArray(f)||3!==f.length||0===f[0]&&0===f[1]&&0===f[2]||(p=l.ColorSpace.singletons.rgb.getRgb(f,0));const m={action:h.action,attachment:h.attachment,dest:h.dest,url:h.url,unsafeUrl:h.unsafeUrl,newWindow:h.newWindow,setOCGState:h.setOCGState,title:(0,n.stringToPDFString)(u),color:p,count:Number.isInteger(g)?g:void 0,bold:!!(2&d),italic:!!(1&d),items:[]};t.parent.items.push(m);e=c.getRaw("First");if(e instanceof i.Ref&&!r.has(e)){a.push({obj:e,parent:m});r.put(e)}e=c.getRaw("Next");if(e instanceof i.Ref&&!r.has(e)){a.push({obj:e,parent:t.parent});r.put(e)}}return t.items.length>0?t.items:null}get permissions(){let e=null;try{e=this._readPermissions()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)("Unable to read permissions.")}return(0,n.shadow)(this,"permissions",e)}_readPermissions(){const e=this.xref.trailer.get("Encrypt");if(!(e instanceof i.Dict))return null;let t=e.get("P");if("number"!=typeof t)return null;t+=2**32;const a=[];for(const e in n.PermissionFlag){const r=n.PermissionFlag[e];t&r&&a.push(r)}return a}get optionalContentConfig(){let e=null;try{const t=this._catDict.get("OCProperties");if(!t)return(0,n.shadow)(this,"optionalContentConfig",null);const a=t.get("D");if(!a)return(0,n.shadow)(this,"optionalContentConfig",null);const r=t.get("OCGs");if(!Array.isArray(r))return(0,n.shadow)(this,"optionalContentConfig",null);const s=[],o=[];for(const e of r){if(!(e instanceof i.Ref))continue;o.push(e);const t=this.xref.fetchIfRef(e);s.push({id:e.toString(),name:"string"==typeof t.get("Name")?(0,n.stringToPDFString)(t.get("Name")):null,intent:"string"==typeof t.get("Intent")?(0,n.stringToPDFString)(t.get("Intent")):null})}e=this._readOptionalContentConfig(a,o);e.groups=s}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)(`Unable to read optional content config: ${e}`)}return(0,n.shadow)(this,"optionalContentConfig",e)}_readOptionalContentConfig(e,t){function parseOnOff(e){const a=[];if(Array.isArray(e))for(const r of e)r instanceof i.Ref&&t.includes(r)&&a.push(r.toString());return a}function parseOrder(e,a=0){if(!Array.isArray(e))return null;const n=[];for(const s of e){if(s instanceof i.Ref&&t.includes(s)){r.put(s);n.push(s.toString());continue}const e=parseNestedOrder(s,a);e&&n.push(e)}if(a>0)return n;const s=[];for(const e of t)r.has(e)||s.push(e.toString());s.length&&n.push({name:null,order:s});return n}function parseNestedOrder(e,t){if(++t>s){(0,n.warn)("parseNestedOrder - reached MAX_NESTED_LEVELS.");return null}const r=a.fetchIfRef(e);if(!Array.isArray(r))return null;const i=a.fetchIfRef(r[0]);if("string"!=typeof i)return null;const o=parseOrder(r.slice(1),t);return o&&o.length?{name:(0,n.stringToPDFString)(i),order:o}:null}const a=this.xref,r=new i.RefSet,s=10;return{name:"string"==typeof e.get("Name")?(0,n.stringToPDFString)(e.get("Name")):null,creator:"string"==typeof e.get("Creator")?(0,n.stringToPDFString)(e.get("Creator")):null,baseState:e.get("BaseState")instanceof i.Name?e.get("BaseState").name:null,on:parseOnOff(e.get("ON")),off:parseOnOff(e.get("OFF")),order:parseOrder(e.get("Order")),groups:null}}setActualNumPages(e=null){this._actualNumPages=e}get hasActualNumPages(){return null!==this._actualNumPages}get _pagesCount(){const e=this.toplevelPagesDict.get("Count");if(!Number.isInteger(e))throw new n.FormatError("Page count in top-level pages dictionary is not an integer.");return(0,n.shadow)(this,"_pagesCount",e)}get numPages(){return this.hasActualNumPages?this._actualNumPages:this._pagesCount}get destinations(){const e=this._readDests(),t=Object.create(null);if(e instanceof s.NameTree)for(const[a,r]of e.getAll()){const e=fetchDestination(r);e&&(t[(0,n.stringToPDFString)(a)]=e)}else e instanceof i.Dict&&e.forEach((function(e,a){const r=fetchDestination(a);r&&(t[e]=r)}));return(0,n.shadow)(this,"destinations",t)}getDestination(e){const t=this._readDests();if(t instanceof s.NameTree){const a=fetchDestination(t.get(e));if(a)return a;const r=this.destinations[e];if(r){(0,n.warn)(`Found "${e}" at an incorrect position in the NameTree.`);return r}}else if(t instanceof i.Dict){const a=fetchDestination(t.get(e));if(a)return a}return null}_readDests(){const e=this._catDict.get("Names");return e?.has("Dests")?new s.NameTree(e.getRaw("Dests"),this.xref):this._catDict.has("Dests")?this._catDict.get("Dests"):void 0}get pageLabels(){let e=null;try{e=this._readPageLabels()}catch(e){if(e instanceof r.MissingDataException)throw e;(0,n.warn)("Unable to read page labels.")}return(0,n.shadow)(this,"pageLabels",e)}_readPageLabels(){const e=this._catDict.getRaw("PageLabels");if(!e)return null;const t=new Array(this.numPages);let a=null,o="";const c=new s.NumberTree(e,this.xref).getAll();let l="",h=1;for(let e=0,s=this.numPages;e=1))throw new n.FormatError("Invalid start in PageLabel dictionary.");h=e}else h=1}switch(a){case"D":l=h;break;case"R":case"r":l=(0,r.toRomanNumerals)(h,"r"===a);break;case"A":case"a":const e=26,t="a"===a?97:65,i=h-1;l=String.fromCharCode(t+i%e).repeat(Math.floor(i/e)+1);break;default:if(a)throw new n.FormatError(`Invalid style "${a}" in PageLabel dictionary.`);l=""}t[e]=o+l;h++}return t}get pageLayout(){const e=this._catDict.get("PageLayout");let t="";if(e instanceof i.Name)switch(e.name){case"SinglePage":case"OneColumn":case"TwoColumnLeft":case"TwoColumnRight":case"TwoPageLeft":case"TwoPageRight":t=e.name}return(0,n.shadow)(this,"pageLayout",t)}get pageMode(){const e=this._catDict.get("PageMode");let t="UseNone";if(e instanceof i.Name)switch(e.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"FullScreen":case"UseOC":case"UseAttachments":t=e.name}return(0,n.shadow)(this,"pageMode",t)}get viewerPreferences(){const e=this._catDict.get("ViewerPreferences");if(!(e instanceof i.Dict))return(0,n.shadow)(this,"viewerPreferences",null);let t=null;for(const a of e.getKeys()){const r=e.get(a);let s;switch(a){case"HideToolbar":case"HideMenubar":case"HideWindowUI":case"FitWindow":case"CenterWindow":case"DisplayDocTitle":case"PickTrayByPDFSize":"boolean"==typeof r&&(s=r);break;case"NonFullScreenPageMode":if(r instanceof i.Name)switch(r.name){case"UseNone":case"UseOutlines":case"UseThumbs":case"UseOC":s=r.name;break;default:s="UseNone"}break;case"Direction":if(r instanceof i.Name)switch(r.name){case"L2R":case"R2L":s=r.name;break;default:s="L2R"}break;case"ViewArea":case"ViewClip":case"PrintArea":case"PrintClip":if(r instanceof i.Name)switch(r.name){case"MediaBox":case"CropBox":case"BleedBox":case"TrimBox":case"ArtBox":s=r.name;break;default:s="CropBox"}break;case"PrintScaling":if(r instanceof i.Name)switch(r.name){case"None":case"AppDefault":s=r.name;break;default:s="AppDefault"}break;case"Duplex":if(r instanceof i.Name)switch(r.name){case"Simplex":case"DuplexFlipShortEdge":case"DuplexFlipLongEdge":s=r.name;break;default:s="None"}break;case"PrintPageRange":if(Array.isArray(r)&&r.length%2==0){r.every(((e,t,a)=>Number.isInteger(e)&&e>0&&(0===t||e>=a[t-1])&&e<=this.numPages))&&(s=r)}break;case"NumCopies":Number.isInteger(r)&&r>0&&(s=r);break;default:(0,n.warn)(`Ignoring non-standard key in ViewerPreferences: ${a}.`);continue}if(void 0!==s){t||(t=Object.create(null));t[a]=s}else(0,n.warn)(`Bad value, for key "${a}", in ViewerPreferences: ${r}.`)}return(0,n.shadow)(this,"viewerPreferences",t)}get openAction(){const e=this._catDict.get("OpenAction"),t=Object.create(null);if(e instanceof i.Dict){const a=new i.Dict(this.xref);a.set("A",e);const r={url:null,dest:null,action:null};Catalog.parseDestDictionary({destDict:a,resultObj:r});Array.isArray(r.dest)?t.dest=r.dest:r.action&&(t.action=r.action)}else Array.isArray(e)&&(t.dest=e);return(0,n.shadow)(this,"openAction",(0,n.objectSize)(t)>0?t:null)}get attachments(){const e=this._catDict.get("Names");let t=null;if(e instanceof i.Dict&&e.has("EmbeddedFiles")){const a=new s.NameTree(e.getRaw("EmbeddedFiles"),this.xref);for(const[e,r]of a.getAll()){const a=new h.FileSpec(r,this.xref);t||(t=Object.create(null));t[(0,n.stringToPDFString)(e)]=a.serializable}}return(0,n.shadow)(this,"attachments",t)}get xfaImages(){const e=this._catDict.get("Names");let t=null;if(e instanceof i.Dict&&e.has("XFAImages")){const a=new s.NameTree(e.getRaw("XFAImages"),this.xref);for(const[e,r]of a.getAll()){t||(t=new i.Dict(this.xref));t.set((0,n.stringToPDFString)(e),r)}}return(0,n.shadow)(this,"xfaImages",t)}_collectJavaScript(){const e=this._catDict.get("Names");let t=null;function appendIfJavaScriptDict(e,a){if(!(a instanceof i.Dict))return;if(!(0,i.isName)(a.get("S"),"JavaScript"))return;let r=a.get("JS");if(r instanceof o.BaseStream)r=r.getString();else if("string"!=typeof r)return;r=(0,n.stringToPDFString)(r).replaceAll("\0","");r&&(t||=new Map).set(e,r)}if(e instanceof i.Dict&&e.has("JavaScript")){const t=new s.NameTree(e.getRaw("JavaScript"),this.xref);for(const[e,a]of t.getAll())appendIfJavaScriptDict((0,n.stringToPDFString)(e),a)}const a=this._catDict.get("OpenAction");a&&appendIfJavaScriptDict("OpenAction",a);return t}get jsActions(){const e=this._collectJavaScript();let t=(0,r.collectActions)(this.xref,this._catDict,n.DocumentActionEventType);if(e){t||=Object.create(null);for(const[a,r]of e)a in t?t[a].push(r):t[a]=[r]}return(0,n.shadow)(this,"jsActions",t)}async fontFallback(e,t){const a=await Promise.all(this.fontCache);for(const r of a)if(r.loadedName===e){r.fallback(t);return}}async cleanup(e=!1){(0,c.clearGlobalCaches)();this.globalImageCache.clear(e);this.pageKidsCountCache.clear();this.pageIndexCache.clear();this.nonBlendModesSet.clear();const t=await Promise.all(this.fontCache);for(const{dict:e}of t)delete e.cacheKey;this.fontCache.clear();this.builtInCMapCache.clear();this.standardFontDataCache.clear();this.systemFontCache.clear()}async getPageDict(e){const t=[this.toplevelPagesDict],a=new i.RefSet,r=this._catDict.getRaw("Pages");r instanceof i.Ref&&a.put(r);const s=this.xref,o=this.pageKidsCountCache,c=this.pageIndexCache;let l=0;for(;t.length;){const r=t.pop();if(r instanceof i.Ref){const h=o.get(r);if(h>=0&&l+h<=e){l+=h;continue}if(a.has(r))throw new n.FormatError("Pages tree contains circular reference.");a.put(r);const u=await s.fetchAsync(r);if(u instanceof i.Dict){let t=u.getRaw("Type");t instanceof i.Ref&&(t=await s.fetchAsync(t));if((0,i.isName)(t,"Page")||!u.has("Kids")){o.has(r)||o.put(r,1);c.has(r)||c.put(r,l);if(l===e)return[u,r];l++;continue}}t.push(u);continue}if(!(r instanceof i.Dict))throw new n.FormatError("Page dictionary kid reference points to wrong type of object.");const{objId:h}=r;let u=r.getRaw("Count");u instanceof i.Ref&&(u=await s.fetchAsync(u));if(Number.isInteger(u)&&u>=0){h&&!o.has(h)&&o.put(h,u);if(l+u<=e){l+=u;continue}}let d=r.getRaw("Kids");d instanceof i.Ref&&(d=await s.fetchAsync(d));if(!Array.isArray(d)){let t=r.getRaw("Type");t instanceof i.Ref&&(t=await s.fetchAsync(t));if((0,i.isName)(t,"Page")||!r.has("Kids")){if(l===e)return[r,null];l++;continue}throw new n.FormatError("Page dictionary kids object is not an array.")}for(let e=d.length-1;e>=0;e--)t.push(d[e])}throw new Error(`Page index ${e} not found.`)}async getAllPageDicts(e=!1){const{ignoreErrors:t}=this.pdfManager.evaluatorOptions,a=[{currentNode:this.toplevelPagesDict,posInKids:0}],s=new i.RefSet,o=this._catDict.getRaw("Pages");o instanceof i.Ref&&s.put(o);const c=new Map,l=this.xref,h=this.pageIndexCache;let u=0;function addPageDict(e,t){t&&!h.has(t)&&h.put(t,u);c.set(u++,[e,t])}function addPageError(a){if(a instanceof r.XRefEntryException&&!e)throw a;if(e&&t&&0===u){(0,n.warn)(`getAllPageDicts - Skipping invalid first page: "${a}".`);a=i.Dict.empty}c.set(u++,[a,null])}for(;a.length>0;){const e=a.at(-1),{currentNode:t,posInKids:r}=e;let o=t.getRaw("Kids");if(o instanceof i.Ref)try{o=await l.fetchAsync(o)}catch(e){addPageError(e);break}if(!Array.isArray(o)){addPageError(new n.FormatError("Page dictionary kids object is not an array."));break}if(r>=o.length){a.pop();continue}const c=o[r];let h;if(c instanceof i.Ref){if(s.has(c)){addPageError(new n.FormatError("Pages tree contains circular reference."));break}s.put(c);try{h=await l.fetchAsync(c)}catch(e){addPageError(e);break}}else h=c;if(!(h instanceof i.Dict)){addPageError(new n.FormatError("Page dictionary kid reference points to wrong type of object."));break}let u=h.getRaw("Type");if(u instanceof i.Ref)try{u=await l.fetchAsync(u)}catch(e){addPageError(e);break}(0,i.isName)(u,"Page")||!h.has("Kids")?addPageDict(h,c instanceof i.Ref?c:null):a.push({currentNode:h,posInKids:0});e.posInKids++}return c}getPageIndex(e){const t=this.pageIndexCache.get(e);if(void 0!==t)return Promise.resolve(t);const a=this.xref;let r=0;const next=t=>function pagesBeforeRef(t){let r,s=0;return a.fetchAsync(t).then((function(a){if((0,i.isRefsEqual)(t,e)&&!(0,i.isDict)(a,"Page")&&!(a instanceof i.Dict&&!a.has("Type")&&a.has("Contents")))throw new n.FormatError("The reference does not point to a /Page dictionary.");if(!a)return null;if(!(a instanceof i.Dict))throw new n.FormatError("Node must be a dictionary.");r=a.getRaw("Parent");return a.getAsync("Parent")})).then((function(e){if(!e)return null;if(!(e instanceof i.Dict))throw new n.FormatError("Parent must be a dictionary.");return e.getAsync("Kids")})).then((function(e){if(!e)return null;const o=[];let c=!1;for(const r of e){if(!(r instanceof i.Ref))throw new n.FormatError("Kid must be a reference.");if((0,i.isRefsEqual)(r,t)){c=!0;break}o.push(a.fetchAsync(r).then((function(e){if(!(e instanceof i.Dict))throw new n.FormatError("Kid node must be a dictionary.");e.has("Count")?s+=e.get("Count"):s++})))}if(!c)throw new n.FormatError("Kid reference not found in parent's kids.");return Promise.all(o).then((function(){return[s,r]}))}))}(t).then((t=>{if(!t){this.pageIndexCache.put(e,r);return r}const[a,n]=t;r+=a;return next(n)}));return next(e)}get baseUrl(){const e=this._catDict.get("URI");if(e instanceof i.Dict){const t=e.get("Base");if("string"==typeof t){const e=(0,n.createValidAbsoluteUrl)(t,null,{tryConvertEncoding:!0});if(e)return(0,n.shadow)(this,"baseUrl",e.href)}}return(0,n.shadow)(this,"baseUrl",this.pdfManager.docBaseUrl)}static parseDestDictionary({destDict:e,resultObj:t,docBaseUrl:a=null,docAttachments:s=null}){if(!(e instanceof i.Dict)){(0,n.warn)("parseDestDictionary: `destDict` must be a dictionary.");return}let c,l,h=e.get("A");if(!(h instanceof i.Dict))if(e.has("Dest"))h=e.get("Dest");else{h=e.get("AA");h instanceof i.Dict&&(h.has("D")?h=h.get("D"):h.has("U")&&(h=h.get("U")))}if(h instanceof i.Dict){const e=h.get("S");if(!(e instanceof i.Name)){(0,n.warn)("parseDestDictionary: Invalid type in Action dictionary.");return}const a=e.name;switch(a){case"ResetForm":const e=h.get("Flags"),u=0==(1&("number"==typeof e?e:0)),d=[],f=[];for(const e of h.get("Fields")||[])e instanceof i.Ref?f.push(e.toString()):"string"==typeof e&&d.push((0,n.stringToPDFString)(e));t.resetForm={fields:d,refs:f,include:u};break;case"URI":c=h.get("URI");c instanceof i.Name&&(c="/"+c.name);break;case"GoTo":l=h.get("D");break;case"Launch":case"GoToR":const g=h.get("F");g instanceof i.Dict?c=g.get("F")||null:"string"==typeof g&&(c=g);let p=h.get("D");if(p){p instanceof i.Name&&(p=p.name);if("string"==typeof c){const e=c.split("#")[0];"string"==typeof p?c=e+"#"+p:Array.isArray(p)&&(c=e+"#"+JSON.stringify(p))}}const m=h.get("NewWindow");"boolean"==typeof m&&(t.newWindow=m);break;case"GoToE":const b=h.get("T");let y;if(s&&b instanceof i.Dict){const e=b.get("R"),t=b.get("N");(0,i.isName)(e,"C")&&"string"==typeof t&&(y=s[(0,n.stringToPDFString)(t)])}y?t.attachment=y:(0,n.warn)('parseDestDictionary - unimplemented "GoToE" action.');break;case"Named":const w=h.get("N");w instanceof i.Name&&(t.action=w.name);break;case"SetOCGState":const S=h.get("State"),x=h.get("PreserveRB");if(!Array.isArray(S)||0===S.length)break;const C=[];for(const e of S)if(e instanceof i.Name)switch(e.name){case"ON":case"OFF":case"Toggle":C.push(e.name)}else e instanceof i.Ref&&C.push(e.toString());if(C.length!==S.length)break;t.setOCGState={state:C,preserveRB:"boolean"!=typeof x||x};break;case"JavaScript":const k=h.get("JS");let v;k instanceof o.BaseStream?v=k.getString():"string"==typeof k&&(v=k);const F=v&&(0,r.recoverJsURL)((0,n.stringToPDFString)(v));if(F){c=F.url;t.newWindow=F.newWindow;break}default:if("JavaScript"===a||"SubmitForm"===a)break;(0,n.warn)(`parseDestDictionary - unsupported action: "${a}".`)}}else e.has("Dest")&&(l=e.get("Dest"));if("string"==typeof c){const e=(0,n.createValidAbsoluteUrl)(c,a,{addDefaultProtocol:!0,tryConvertEncoding:!0});e&&(t.url=e.href);t.unsafeUrl=c}if(l){l instanceof i.Name&&(l=l.name);"string"==typeof l?t.dest=(0,n.stringToPDFString)(l):Array.isArray(l)&&(t.dest=l)}}}t.Catalog=Catalog},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.NumberTree=t.NameTree=void 0;var r=a(4),n=a(2);class NameOrNumberTree{constructor(e,t,a){this.constructor===NameOrNumberTree&&(0,n.unreachable)("Cannot initialize NameOrNumberTree.");this.root=e;this.xref=t;this._type=a}getAll(){const e=new Map;if(!this.root)return e;const t=this.xref,a=new r.RefSet;a.put(this.root);const i=[this.root];for(;i.length>0;){const s=t.fetchIfRef(i.shift());if(!(s instanceof r.Dict))continue;if(s.has("Kids")){const e=s.get("Kids");if(!Array.isArray(e))continue;for(const t of e){if(a.has(t))throw new n.FormatError(`Duplicate entry in "${this._type}" tree.`);i.push(t);a.put(t)}continue}const o=s.get(this._type);if(Array.isArray(o))for(let a=0,r=o.length;a10){(0,n.warn)(`Search depth limit reached for "${this._type}" tree.`);return null}const i=a.get("Kids");if(!Array.isArray(i))return null;let s=0,o=i.length-1;for(;s<=o;){const r=s+o>>1,n=t.fetchIfRef(i[r]),c=n.get("Limits");if(et.fetchIfRef(c[1]))){a=n;break}s=r+1}}if(s>o)return null}const i=a.get(this._type);if(Array.isArray(i)){let a=0,r=i.length-2;for(;a<=r;){const n=a+r>>1,s=n+(1&n),o=t.fetchIfRef(i[s]);if(eo))return t.fetchIfRef(i[s+1]);a=s+2}}}return null}}t.NameTree=class NameTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Names")}};t.NumberTree=class NumberTree extends NameOrNumberTree{constructor(e,t){super(e,t,"Nums")}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.clearGlobalCaches=function clearGlobalCaches(){(0,r.clearPatternCaches)();(0,n.clearPrimitiveCaches)();(0,i.clearUnicodeCaches)()};var r=a(50),n=a(4),i=a(40)},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.FileSpec=void 0;var r=a(2),n=a(5),i=a(4);function pickPlatformItem(e){return e.has("UF")?e.get("UF"):e.has("F")?e.get("F"):e.has("Unix")?e.get("Unix"):e.has("Mac")?e.get("Mac"):e.has("DOS")?e.get("DOS"):null}t.FileSpec=class FileSpec{constructor(e,t){if(e instanceof i.Dict){this.xref=t;this.root=e;e.has("FS")&&(this.fs=e.get("FS"));this.description=e.has("Desc")?(0,r.stringToPDFString)(e.get("Desc")):"";e.has("RF")&&(0,r.warn)("Related file specifications are not supported");this.contentAvailable=!0;if(!e.has("EF")){this.contentAvailable=!1;(0,r.warn)("Non-embedded file specifications are not supported")}}}get filename(){if(!this._filename&&this.root){const e=pickPlatformItem(this.root)||"unnamed";this._filename=(0,r.stringToPDFString)(e).replaceAll("\\\\","\\").replaceAll("\\/","/").replaceAll("\\","/")}return this._filename}get content(){if(!this.contentAvailable)return null;!this.contentRef&&this.root&&(this.contentRef=pickPlatformItem(this.root.get("EF")));let e=null;if(this.contentRef){const t=this.xref.fetchIfRef(this.contentRef);t instanceof n.BaseStream?e=t.getBytes():(0,r.warn)("Embedded file specification points to non-existing/invalid content")}else(0,r.warn)("Embedded file specification does not have a content");return e}get serializable(){return{filename:this.filename,content:this.content}}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.MetadataParser=void 0;var r=a(71);t.MetadataParser=class MetadataParser{constructor(e){e=this._repair(e);const t=new r.SimpleXMLParser({lowerCaseName:!0}).parseFromString(e);this._metadataMap=new Map;this._data=e;t&&this._parse(t)}_repair(e){return e.replace(/^[^<]+/,"").replaceAll(/>\\376\\377([^<]+)/g,(function(e,t){const a=t.replaceAll(/\\([0-3])([0-7])([0-7])/g,(function(e,t,a,r){return String.fromCharCode(64*t+8*a+1*r)})).replaceAll(/&(amp|apos|gt|lt|quot);/g,(function(e,t){switch(t){case"amp":return"&";case"apos":return"'";case"gt":return">";case"lt":return"<";case"quot":return'"'}throw new Error(`_repair: ${t} isn't defined.`)})),r=[">"];for(let e=0,t=a.length;e=32&&t<127&&60!==t&&62!==t&&38!==t?r.push(String.fromCharCode(t)):r.push("&#x"+(65536+t).toString(16).substring(1)+";")}return r.join("")}))}_getSequence(e){const t=e.nodeName;return"rdf:bag"!==t&&"rdf:seq"!==t&&"rdf:alt"!==t?null:e.childNodes.filter((e=>"rdf:li"===e.nodeName))}_parseArray(e){if(!e.hasChildNodes())return;const[t]=e.childNodes,a=this._getSequence(t)||[];this._metadataMap.set(e.nodeName,a.map((e=>e.textContent.trim())))}_parse(e){let t=e.documentElement;if("rdf:rdf"!==t.nodeName){t=t.firstChild;for(;t&&"rdf:rdf"!==t.nodeName;)t=t.nextSibling}if(t&&"rdf:rdf"===t.nodeName&&t.hasChildNodes())for(const e of t.childNodes)if("rdf:description"===e.nodeName)for(const t of e.childNodes){const e=t.nodeName;switch(e){case"#text":continue;case"dc:creator":case"dc:subject":this._parseArray(t);continue}this._metadataMap.set(e,t.textContent.trim())}}get serializable(){return{parsedData:this._metadataMap,rawData:this._data}}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XMLParserErrorCode=t.XMLParserBase=t.SimpleXMLParser=t.SimpleDOMNode=void 0;var r=a(3);const n={NoError:0,EndOfDocument:-1,UnterminatedCdat:-2,UnterminatedXmlDeclaration:-3,UnterminatedDoctypeDeclaration:-4,UnterminatedComment:-5,MalformedElement:-6,OutOfMemory:-7,UnterminatedAttributeValue:-8,UnterminatedElement:-9,ElementNeverBegun:-10};t.XMLParserErrorCode=n;function isWhitespace(e,t){const a=e[t];return" "===a||"\n"===a||"\r"===a||"\t"===a}class XMLParserBase{_resolveEntities(e){return e.replaceAll(/&([^;]+);/g,((e,t)=>{if("#x"===t.substring(0,2))return String.fromCodePoint(parseInt(t.substring(2),16));if("#"===t.substring(0,1))return String.fromCodePoint(parseInt(t.substring(1),10));switch(t){case"lt":return"<";case"gt":return">";case"amp":return"&";case"quot":return'"';case"apos":return"'"}return this.onResolveEntity(t)}))}_parseContent(e,t){const a=[];let r=t;function skipWs(){for(;r"!==e[r]&&"/"!==e[r];)++r;const n=e.substring(t,r);skipWs();for(;r"!==e[r]&&"/"!==e[r]&&"?"!==e[r];){skipWs();let t="",n="";for(;r"!==e[a]&&"?"!==e[a]&&"/"!==e[a];)++a;const r=e.substring(t,a);!function skipWs(){for(;a"!==e[a+1]);)++a;return{name:r,value:e.substring(n,a),parsed:a-t}}parseXml(e){let t=0;for(;t",a);if(t<0){this.onError(n.UnterminatedElement);return}this.onEndElement(e.substring(a,t));a=t+1;break;case"?":++a;const r=this._parseProcessingInstruction(e,a);if("?>"!==e.substring(a+r.parsed,a+r.parsed+2)){this.onError(n.UnterminatedXmlDeclaration);return}this.onPi(r.name,r.value);a+=r.parsed+2;break;case"!":if("--"===e.substring(a+1,a+3)){t=e.indexOf("--\x3e",a+3);if(t<0){this.onError(n.UnterminatedComment);return}this.onComment(e.substring(a+3,t));a=t+3}else if("[CDATA["===e.substring(a+1,a+8)){t=e.indexOf("]]>",a+8);if(t<0){this.onError(n.UnterminatedCdat);return}this.onCdata(e.substring(a+8,t));a=t+3}else{if("DOCTYPE"!==e.substring(a+1,a+8)){this.onError(n.MalformedElement);return}{const r=e.indexOf("[",a+8);let i=!1;t=e.indexOf(">",a+8);if(t<0){this.onError(n.UnterminatedDoctypeDeclaration);return}if(r>0&&t>r){t=e.indexOf("]>",a+8);if(t<0){this.onError(n.UnterminatedDoctypeDeclaration);return}i=!0}const s=e.substring(a+8,t+(i?1:0));this.onDoctype(s);a=t+(i?2:1)}}break;default:const i=this._parseContent(e,a);if(null===i){this.onError(n.MalformedElement);return}let s=!1;if("/>"===e.substring(a+i.parsed,a+i.parsed+2))s=!0;else if(">"!==e.substring(a+i.parsed,a+i.parsed+1)){this.onError(n.UnterminatedElement);return}this.onBeginElement(i.name,i.attributes,s);a+=i.parsed+(s?2:1)}}else{for(;a0}searchNode(e,t){if(t>=e.length)return this;const a=e[t];if(a.name.startsWith("#")&&t0){r.push([n,0]);n=n.childNodes[0]}else{if(0===r.length)return null;for(;0!==r.length;){const[e,t]=r.pop(),a=t+1;if(a");for(const t of this.childNodes)t.dump(e);e.push(``)}else this.nodeValue?e.push(`>${(0,r.encodeToXmlString)(this.nodeValue)}`):e.push("/>")}else e.push((0,r.encodeToXmlString)(this.nodeValue))}}t.SimpleDOMNode=SimpleDOMNode;t.SimpleXMLParser=class SimpleXMLParser extends XMLParserBase{constructor({hasAttributes:e=!1,lowerCaseName:t=!1}){super();this._currentFragment=null;this._stack=null;this._errorCode=n.NoError;this._hasAttributes=e;this._lowerCaseName=t}parseFromString(e){this._currentFragment=[];this._stack=[];this._errorCode=n.NoError;this.parseXml(e);if(this._errorCode!==n.NoError)return;const[t]=this._currentFragment;return t?{documentElement:t}:void 0}onText(e){if(function isWhitespaceString(e){for(let t=0,a=e.length;t{Object.defineProperty(t,"__esModule",{value:!0});t.StructTreeRoot=t.StructTreePage=void 0;var r=a(2),n=a(4),i=a(67),s=a(73);const o=1,c=2,l=3,h=4,u=5;class StructTreeRoot{constructor(e,t){this.dict=e;this.ref=t instanceof n.Ref?t:null;this.roleMap=new Map;this.structParentIds=null}init(){this.readRoleMap()}#C(e,t,a){if(!(e instanceof n.Ref)||t<0)return;this.structParentIds||=new n.RefSetCache;let r=this.structParentIds.get(e);if(!r){r=[];this.structParentIds.put(e,r)}r.push([t,a])}addAnnotationIdToPage(e,t){this.#C(e,t,h)}readRoleMap(){const e=this.dict.get("RoleMap");e instanceof n.Dict&&e.forEach(((e,t)=>{t instanceof n.Name&&this.roleMap.set(e,t.name)}))}static async canCreateStructureTree({catalogRef:e,pdfManager:t,newAnnotationsByPage:a}){if(!(e instanceof n.Ref)){(0,r.warn)("Cannot save the struct tree: no catalog reference.");return!1}let i=0,s=!0;for(const[e,o]of a){const{ref:a}=await t.getPage(e);if(!(a instanceof n.Ref)){(0,r.warn)(`Cannot save the struct tree: page ${e} has no ref.`);s=!0;break}for(const e of o)if(e.accessibilityData?.type){e.parentTreeId=i++;s=!1}}if(s){for(const e of a.values())for(const t of e)delete t.parentTreeId;return!1}return!0}static async createStructureTree({newAnnotationsByPage:e,xref:t,catalogRef:a,pdfManager:r,newRefs:i}){const o=r.catalog.cloneDict(),c=t.getNewTemporaryRef();o.set("StructTreeRoot",c);const l=[];await(0,s.writeObject)(a,o,l,t);i.push({ref:a,data:l.join("")});const h=new n.Dict(t);h.set("Type",n.Name.get("StructTreeRoot"));const u=t.getNewTemporaryRef();h.set("ParentTree",u);const d=[];h.set("K",d);const f=new n.Dict(t),g=[];f.set("Nums",g);const p=await this.#k({newAnnotationsByPage:e,structTreeRootRef:c,kids:d,nums:g,xref:t,pdfManager:r,newRefs:i,buffer:l});h.set("ParentTreeNextKey",p);l.length=0;await(0,s.writeObject)(u,f,l,t);i.push({ref:u,data:l.join("")});l.length=0;await(0,s.writeObject)(c,h,l,t);i.push({ref:c,data:l.join("")})}async canUpdateStructTree({pdfManager:e,newAnnotationsByPage:t}){if(!this.ref){(0,r.warn)("Cannot update the struct tree: no root reference.");return!1}let a=this.dict.get("ParentTreeNextKey");if(!Number.isInteger(a)||a<0){(0,r.warn)("Cannot update the struct tree: invalid next key.");return!1}const i=this.dict.get("ParentTree");if(!(i instanceof n.Dict)){(0,r.warn)("Cannot update the struct tree: ParentTree isn't a dict.");return!1}const s=i.get("Nums");if(!Array.isArray(s)){(0,r.warn)("Cannot update the struct tree: nums isn't an array.");return!1}const{numPages:o}=e.catalog;for(const a of t.keys()){const{pageDict:t,ref:i}=await e.getPage(a);if(!(i instanceof n.Ref)){(0,r.warn)(`Cannot save the struct tree: page ${a} has no ref.`);return!1}const s=t.get("StructParents");if(!Number.isInteger(s)||s<0||s>=o){(0,r.warn)(`Cannot save the struct tree: page ${a} has no id.`);return!1}}let c=!0;for(const[r,n]of t){const{pageDict:t}=await e.getPage(r);StructTreeRoot.#v({elements:n,xref:this.dict.xref,pageDict:t,parentTree:i});for(const e of n)if(e.accessibilityData?.type){e.parentTreeId=a++;c=!1}}if(c){for(const e of t.values())for(const t of e){delete t.parentTreeId;delete t.structTreeParent}return!1}return!0}async updateStructureTree({newAnnotationsByPage:e,pdfManager:t,newRefs:a}){const r=this.dict.xref,i=this.dict.clone(),o=this.ref;let c,l=i.getRaw("ParentTree");if(l instanceof n.Ref)c=r.fetch(l);else{c=l;l=r.getNewTemporaryRef();i.set("ParentTree",l)}c=c.clone();let h=c.getRaw("Nums"),u=null;if(h instanceof n.Ref){u=h;h=r.fetch(u)}h=h.slice();u||c.set("Nums",h);let d=i.getRaw("K"),f=null;if(d instanceof n.Ref){f=d;d=r.fetch(f)}else{f=r.getNewTemporaryRef();i.set("K",f)}d=Array.isArray(d)?d.slice():[d];const g=[],p=await StructTreeRoot.#k({newAnnotationsByPage:e,structTreeRootRef:o,kids:d,nums:h,xref:r,pdfManager:t,newRefs:a,buffer:g});i.set("ParentTreeNextKey",p);g.length=0;await(0,s.writeObject)(f,d,g,r);a.push({ref:f,data:g.join("")});if(u){g.length=0;await(0,s.writeObject)(u,h,g,r);a.push({ref:u,data:g.join("")})}g.length=0;await(0,s.writeObject)(l,c,g,r);a.push({ref:l,data:g.join("")});g.length=0;await(0,s.writeObject)(o,i,g,r);a.push({ref:o,data:g.join("")})}static async#k({newAnnotationsByPage:e,structTreeRootRef:t,kids:a,nums:r,xref:i,pdfManager:o,newRefs:c,buffer:l}){const h=n.Name.get("OBJR");let u=-1/0;for(const[d,f]of e){const{ref:e}=await o.getPage(d);for(const{accessibilityData:{type:o,title:d,lang:g,alt:p,expanded:m,actualText:b},ref:y,parentTreeId:w,structTreeParent:S}of f){u=Math.max(u,w);const f=i.getNewTemporaryRef(),x=new n.Dict(i);x.set("S",n.Name.get(o));d&&x.set("T",d);g&&x.set("Lang",g);p&&x.set("Alt",p);m&&x.set("E",m);b&&x.set("ActualText",b);S?await this.#F({structTreeParent:S,tagDict:x,newTagRef:f,fallbackRef:t,xref:i,newRefs:c,buffer:l}):x.set("P",t);const C=new n.Dict(i);x.set("K",C);C.set("Type",h);C.set("Pg",e);C.set("Obj",y);l.length=0;await(0,s.writeObject)(f,x,l,i);c.push({ref:f,data:l.join("")});r.push(w,f);a.push(f)}}return u+1}static#v({elements:e,xref:t,pageDict:a,parentTree:r}){const s=new Map;for(const t of e)if(t.structTreeParentId){const e=parseInt(t.structTreeParentId.split("_mc")[1],10);s.set(e,t)}const o=a.get("StructParents"),c=new i.NumberTree(r,t).get(o);if(!Array.isArray(c))return;const updateElement=(e,a,r)=>{const i=s.get(e);if(i){const e=a.getRaw("P"),s=t.fetchIfRef(e);e instanceof n.Ref&&s instanceof n.Dict&&(i.structTreeParent={ref:r,dict:a});return!0}return!1};for(const e of c){if(!(e instanceof n.Ref))continue;const a=t.fetch(e),r=a.get("K");if(Number.isInteger(r))updateElement(r,a,e);else if(Array.isArray(r))for(let n of r){n=t.fetchIfRef(n);if(Number.isInteger(n)&&updateElement(n,a,e))break}}}static async#F({structTreeParent:{ref:e,dict:t},tagDict:a,newTagRef:i,fallbackRef:o,xref:c,newRefs:l,buffer:h}){const u=t.getRaw("P");let d=c.fetchIfRef(u);a.set("P",u);let f,g=!1,p=d.getRaw("K");if(p instanceof n.Ref)f=c.fetch(p);else{f=p;p=c.getNewTemporaryRef();d=d.clone();d.set("K",p);g=!0}if(Array.isArray(f)){const t=f.indexOf(e);if(!(t>=0)){(0,r.warn)("Cannot update the struct tree: parent kid not found.");a.set("P",o);return}f=f.slice();f.splice(t+1,0,i)}else if(f instanceof n.Dict){f=[p,i];p=c.getNewTemporaryRef();d.set("K",p);g=!0}h.length=0;await(0,s.writeObject)(p,f,h,c);l.push({ref:p,data:h.join("")});if(g){h.length=0;await(0,s.writeObject)(u,d,h,c);l.push({ref:u,data:h.join("")})}}}t.StructTreeRoot=StructTreeRoot;class StructElementNode{constructor(e,t){this.tree=e;this.dict=t;this.kids=[];this.parseKids()}get role(){const e=this.dict.get("S"),t=e instanceof n.Name?e.name:"",{root:a}=this.tree;return a.roleMap.has(t)?a.roleMap.get(t):t}parseKids(){let e=null;const t=this.dict.getRaw("Pg");t instanceof n.Ref&&(e=t.toString());const a=this.dict.get("K");if(Array.isArray(a))for(const t of a){const a=this.parseKid(e,t);a&&this.kids.push(a)}else{const t=this.parseKid(e,a);t&&this.kids.push(t)}}parseKid(e,t){if(Number.isInteger(t))return this.tree.pageDict.objId!==e?null:new StructElement({type:o,mcid:t,pageObjId:e});let a=null;t instanceof n.Ref?a=this.dict.xref.fetch(t):t instanceof n.Dict&&(a=t);if(!a)return null;const r=a.getRaw("Pg");r instanceof n.Ref&&(e=r.toString());const i=a.get("Type")instanceof n.Name?a.get("Type").name:null;if("MCR"===i){if(this.tree.pageDict.objId!==e)return null;const t=a.getRaw("Stm");return new StructElement({type:c,refObjId:t instanceof n.Ref?t.toString():null,pageObjId:e,mcid:a.get("MCID")})}if("OBJR"===i){if(this.tree.pageDict.objId!==e)return null;const t=a.getRaw("Obj");return new StructElement({type:l,refObjId:t instanceof n.Ref?t.toString():null,pageObjId:e})}return new StructElement({type:u,dict:a})}}class StructElement{constructor({type:e,dict:t=null,mcid:a=null,pageObjId:r=null,refObjId:n=null}){this.type=e;this.dict=t;this.mcid=a;this.pageObjId=r;this.refObjId=n;this.parentNode=null}}t.StructTreePage=class StructTreePage{constructor(e,t){this.root=e;this.rootDict=e?e.dict:null;this.pageDict=t;this.nodes=[]}parse(e){if(!this.root||!this.rootDict)return;const t=this.rootDict.get("ParentTree");if(!t)return;const a=this.pageDict.get("StructParents"),r=e instanceof n.Ref&&this.root.structParentIds?.get(e);if(!Number.isInteger(a)&&!r)return;const s=new Map,o=new i.NumberTree(t,this.rootDict.xref);if(Number.isInteger(a)){const e=o.get(a);if(Array.isArray(e))for(const t of e)t instanceof n.Ref&&this.addNode(this.rootDict.xref.fetch(t),s)}if(r)for(const[e,t]of r){const a=o.get(e);if(a){const e=this.addNode(this.rootDict.xref.fetchIfRef(a),s);1===e?.kids?.length&&e.kids[0].type===l&&(e.kids[0].type=t)}}}addNode(e,t,a=0){if(a>40){(0,r.warn)("StructTree MAX_DEPTH reached.");return null}if(t.has(e))return t.get(e);const i=new StructElementNode(this,e);t.set(e,i);const s=e.get("P");if(!s||(0,n.isName)(s.get("Type"),"StructTreeRoot")){this.addTopLevelNode(e,i)||t.delete(e);return i}const o=this.addNode(s,t,a+1);if(!o)return i;let c=!1;for(const t of o.kids)if(t.type===u&&t.dict===e){t.parentNode=i;c=!0}c||t.delete(e);return i}addTopLevelNode(e,t){const a=this.rootDict.get("K");if(!a)return!1;if(a instanceof n.Dict){if(a.objId!==e.objId)return!1;this.nodes[0]=t;return!0}if(!Array.isArray(a))return!0;let r=!1;for(let n=0;n40){(0,r.warn)("StructTree too deep to be fully serialized.");return}const n=Object.create(null);n.role=e.role;n.children=[];t.children.push(n);const i=e.dict.get("Alt");"string"==typeof i&&(n.alt=(0,r.stringToPDFString)(i));const s=e.dict.get("Lang");"string"==typeof s&&(n.lang=(0,r.stringToPDFString)(s));for(const t of e.kids){const e=t.type===u?t.parentNode:null;e?nodeToSerializable(e,n,a+1):t.type===o||t.type===c?n.children.push({type:"content",id:`p${t.pageObjId}_mc${t.mcid}`}):t.type===l?n.children.push({type:"object",id:t.refObjId}):t.type===h&&n.children.push({type:"annotation",id:`${r.AnnotationPrefix}${t.refObjId}`})}}const e=Object.create(null);e.children=[];e.role="Root";for(const t of this.nodes)t&&nodeToSerializable(t,e);return e}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.incrementalUpdate=async function incrementalUpdate({originalData:e,xrefInfo:t,newRefs:a,xref:o=null,hasXfa:l=!1,xfaDatasetsRef:h=null,hasXfaDatasetsEntry:u=!1,needAppearances:d,acroFormRef:f=null,acroForm:g=null,xfaData:p=null}){await async function updateAcroform({xref:e,acroForm:t,acroFormRef:a,hasXfa:n,hasXfaDatasetsEntry:i,xfaDatasetsRef:s,needAppearances:o,newRefs:c}){!n||i||s||(0,r.warn)("XFA - Cannot save it");if(!o&&(!n||!s||i))return;const l=t.clone();if(n&&!i){const e=t.get("XFA").slice();e.splice(2,0,"datasets");e.splice(3,0,s);l.set("XFA",e)}o&&l.set("NeedAppearances",!0);const h=[];await writeObject(a,l,h,e);c.push({ref:a,data:h.join("")})}({xref:o,acroForm:g,acroFormRef:f,hasXfa:l,hasXfaDatasetsEntry:u,xfaDatasetsRef:h,needAppearances:d,newRefs:a});l&&function updateXFA({xfaData:e,xfaDatasetsRef:t,newRefs:a,xref:n}){if(null===e){e=function writeXFADataForAcroform(e,t){const a=new s.SimpleXMLParser({hasAttributes:!0}).parseFromString(e);for(const{xfa:e}of t){if(!e)continue;const{path:t,value:n}=e;if(!t)continue;const o=(0,i.parseXFAPath)(t);let c=a.documentElement.searchNode(o,0);!c&&o.length>1&&(c=a.documentElement.searchNode([o.at(-1)],0));c?c.childNodes=Array.isArray(n)?n.map((e=>new s.SimpleDOMNode("value",e))):[new s.SimpleDOMNode("#text",n)]:(0,r.warn)(`Node not found for path: ${t}`)}const n=[];a.documentElement.dump(n);return n.join("")}(n.fetchIfRef(t).getString(),a)}const o=n.encrypt;if(o){e=o.createCipherTransform(t.num,t.gen).encryptString(e)}const c=`${t.num} ${t.gen} obj\n<< /Type /EmbeddedFile /Length ${e.length}>>\nstream\n`+e+"\nendstream\nendobj\n";a.push({ref:t,data:c})}({xfaData:p,xfaDatasetsRef:h,newRefs:a,xref:o});const m=new n.Dict(null),b=t.newRef;let y,w;const S=e.at(-1);if(10===S||13===S){y=[];w=e.length}else{y=["\n"];w=e.length+1}m.set("Size",b.num+1);m.set("Prev",t.startXRef);m.set("Type",n.Name.get("XRef"));null!==t.rootRef&&m.set("Root",t.rootRef);null!==t.infoRef&&m.set("Info",t.infoRef);null!==t.encryptRef&&m.set("Encrypt",t.encryptRef);a.push({ref:b,data:""});a=a.sort(((e,t)=>e.ref.num-t.ref.num));const x=[[0,1,65535]],C=[0,1];let k=0;for(const{ref:e,data:t}of a){k=Math.max(k,w);x.push([1,w,Math.min(e.gen,65535)]);w+=t.length;C.push(e.num,1);y.push(t)}m.set("Index",C);if(Array.isArray(t.fileIds)&&t.fileIds.length>0){const e=function computeMD5(e,t){const a=Math.floor(Date.now()/1e3),n=t.filename||"",i=[a.toString(),n,e.toString()];let s=i.reduce(((e,t)=>e+t.length),0);for(const e of Object.values(t.info)){i.push(e);s+=e.length}const o=new Uint8Array(s);let l=0;for(const e of i){writeString(e,l,o);l+=e.length}return(0,r.bytesToString)((0,c.calculateMD5)(o))}(w,t);m.set("ID",[t.fileIds[0],e])}const v=[1,Math.ceil(Math.log2(k)/8),2],F=(v[0]+v[1]+v[2])*x.length;m.set("W",v);m.set("Length",F);y.push(`${b.num} ${b.gen} obj\n`);await writeDict(m,y,null);y.push(" stream\n");const O=y.reduce(((e,t)=>e+t.length),0),T=`\nendstream\nendobj\nstartxref\n${w}\n%%EOF\n`,M=new Uint8Array(e.length+O+F+T.length);M.set(e);let D=e.length;for(const e of y){writeString(e,D,M);D+=e.length}for(const[e,t,a]of x){D=writeInt(e,v[0],D,M);D=writeInt(t,v[1],D,M);D=writeInt(a,v[2],D,M)}writeString(T,D,M);return M};t.writeDict=writeDict;t.writeObject=writeObject;var r=a(2),n=a(4),i=a(3),s=a(71),o=a(5),c=a(74);async function writeObject(e,t,a,{encrypt:r=null}){const i=r?.createCipherTransform(e.num,e.gen);a.push(`${e.num} ${e.gen} obj\n`);t instanceof n.Dict?await writeDict(t,a,i):t instanceof o.BaseStream?await writeStream(t,a,i):Array.isArray(t)&&await writeArray(t,a,i);a.push("\nendobj\n")}async function writeDict(e,t,a){t.push("<<");for(const r of e.getKeys()){t.push(` /${(0,i.escapePDFName)(r)} `);await writeValue(e.getRaw(r),t,a)}t.push(">>")}async function writeStream(e,t,a){let i=e.getString();const{dict:s}=e,[o,c]=await Promise.all([s.getAsync("Filter"),s.getAsync("DecodeParms")]),l=Array.isArray(o)?await s.xref.fetchIfRefAsync(o[0]):o,h=(0,n.isName)(l,"FlateDecode");if("undefined"!=typeof CompressionStream&&(i.length>=256||h))try{const e=(0,r.stringToBytes)(i),t=new CompressionStream("deflate"),a=t.writable.getWriter();a.write(e);a.close();const l=await new Response(t.readable).arrayBuffer();i=(0,r.bytesToString)(new Uint8Array(l));let u,d;if(o){if(!h){u=Array.isArray(o)?[n.Name.get("FlateDecode"),...o]:[n.Name.get("FlateDecode"),o];c&&(d=Array.isArray(c)?[null,...c]:[null,c])}}else u=n.Name.get("FlateDecode");u&&s.set("Filter",u);d&&s.set("DecodeParms",d)}catch(e){(0,r.info)(`writeStream - cannot compress data: "${e}".`)}a&&(i=a.encryptString(i));s.set("Length",i.length);await writeDict(s,t,a);t.push(" stream\n",i,"\nendstream")}async function writeArray(e,t,a){t.push("[");let r=!0;for(const n of e){r?r=!1:t.push(" ");await writeValue(n,t,a)}t.push("]")}async function writeValue(e,t,a){if(e instanceof n.Name)t.push(`/${(0,i.escapePDFName)(e.name)}`);else if(e instanceof n.Ref)t.push(`${e.num} ${e.gen} R`);else if(Array.isArray(e))await writeArray(e,t,a);else if("string"==typeof e){a&&(e=a.encryptString(e));t.push(`(${(0,i.escapeString)(e)})`)}else"number"==typeof e?t.push((0,i.numberToString)(e)):"boolean"==typeof e?t.push(e.toString()):e instanceof n.Dict?await writeDict(e,t,a):e instanceof o.BaseStream?await writeStream(e,t,a):null===e?t.push("null"):(0,r.warn)(`Unhandled value in writer: ${typeof e}, please file a bug.`)}function writeInt(e,t,a,r){for(let n=t+a-1;n>a-1;n--){r[n]=255&e;e>>=8}return a+t}function writeString(e,t,a){for(let r=0,n=e.length;r{Object.defineProperty(t,"__esModule",{value:!0});t.calculateSHA256=t.calculateMD5=t.PDF20=t.PDF17=t.CipherTransformFactory=t.ARCFourCipher=t.AES256Cipher=t.AES128Cipher=void 0;t.calculateSHA384=calculateSHA384;t.calculateSHA512=void 0;var r=a(2),n=a(4),i=a(75);class ARCFourCipher{constructor(e){this.a=0;this.b=0;const t=new Uint8Array(256),a=e.length;for(let e=0;e<256;++e)t[e]=e;for(let r=0,n=0;r<256;++r){const i=t[r];n=n+i+e[r%a]&255;t[r]=t[n];t[n]=i}this.s=t}encryptBlock(e){let t=this.a,a=this.b;const r=this.s,n=e.length,i=new Uint8Array(n);for(let s=0;s>5&255;h[u++]=n>>13&255;h[u++]=n>>21&255;h[u++]=n>>>29&255;h[u++]=0;h[u++]=0;h[u++]=0;const g=new Int32Array(16);for(u=0;u>>32-o)|0;n=i}i=i+n|0;s=s+l|0;o=o+f|0;c=c+p|0}return new Uint8Array([255&i,i>>8&255,i>>16&255,i>>>24&255,255&s,s>>8&255,s>>16&255,s>>>24&255,255&o,o>>8&255,o>>16&255,o>>>24&255,255&c,c>>8&255,c>>16&255,c>>>24&255])}}();t.calculateMD5=s;class Word64{constructor(e,t){this.high=0|e;this.low=0|t}and(e){this.high&=e.high;this.low&=e.low}xor(e){this.high^=e.high;this.low^=e.low}or(e){this.high|=e.high;this.low|=e.low}shiftRight(e){if(e>=32){this.low=this.high>>>e-32|0;this.high=0}else{this.low=this.low>>>e|this.high<<32-e;this.high=this.high>>>e|0}}shiftLeft(e){if(e>=32){this.high=this.low<>>32-e;this.low<<=e}}rotateRight(e){let t,a;if(32&e){a=this.low;t=this.high}else{t=this.low;a=this.high}e&=31;this.low=t>>>e|a<<32-e;this.high=a>>>e|t<<32-e}not(){this.high=~this.high;this.low=~this.low}add(e){const t=(this.low>>>0)+(e.low>>>0);let a=(this.high>>>0)+(e.high>>>0);t>4294967295&&(a+=1);this.low=0|t;this.high=0|a}copyTo(e,t){e[t]=this.high>>>24&255;e[t+1]=this.high>>16&255;e[t+2]=this.high>>8&255;e[t+3]=255&this.high;e[t+4]=this.low>>>24&255;e[t+5]=this.low>>16&255;e[t+6]=this.low>>8&255;e[t+7]=255&this.low}assign(e){this.high=e.high;this.low=e.low}}const o=function calculateSHA256Closure(){function rotr(e,t){return e>>>t|e<<32-t}function ch(e,t,a){return e&t^~e&a}function maj(e,t,a){return e&t^e&a^t&a}function sigma(e){return rotr(e,2)^rotr(e,13)^rotr(e,22)}function sigmaPrime(e){return rotr(e,6)^rotr(e,11)^rotr(e,25)}function littleSigma(e){return rotr(e,7)^rotr(e,18)^e>>>3}const e=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];return function hash(t,a,r){let n=1779033703,i=3144134277,s=1013904242,o=2773480762,c=1359893119,l=2600822924,h=528734635,u=1541459225;const d=64*Math.ceil((r+9)/64),f=new Uint8Array(d);let g,p;for(g=0;g>>29&255;f[g++]=r>>21&255;f[g++]=r>>13&255;f[g++]=r>>5&255;f[g++]=r<<3&255;const b=new Uint32Array(64);for(g=0;g>>10)+b[p-7]+littleSigma(b[p-15])+b[p-16]|0;let t,a,r=n,d=i,m=s,w=o,S=c,x=l,C=h,k=u;for(p=0;p<64;++p){t=k+sigmaPrime(S)+ch(S,x,C)+e[p]+b[p];a=sigma(r)+maj(r,d,m);k=C;C=x;x=S;S=w+t|0;w=m;m=d;d=r;r=t+a|0}n=n+r|0;i=i+d|0;s=s+m|0;o=o+w|0;c=c+S|0;l=l+x|0;h=h+C|0;u=u+k|0}var y;return new Uint8Array([n>>24&255,n>>16&255,n>>8&255,255&n,i>>24&255,i>>16&255,i>>8&255,255&i,s>>24&255,s>>16&255,s>>8&255,255&s,o>>24&255,o>>16&255,o>>8&255,255&o,c>>24&255,c>>16&255,c>>8&255,255&c,l>>24&255,l>>16&255,l>>8&255,255&l,h>>24&255,h>>16&255,h>>8&255,255&h,u>>24&255,u>>16&255,u>>8&255,255&u])}}();t.calculateSHA256=o;const c=function calculateSHA512Closure(){function ch(e,t,a,r,n){e.assign(t);e.and(a);n.assign(t);n.not();n.and(r);e.xor(n)}function maj(e,t,a,r,n){e.assign(t);e.and(a);n.assign(t);n.and(r);e.xor(n);n.assign(a);n.and(r);e.xor(n)}function sigma(e,t,a){e.assign(t);e.rotateRight(28);a.assign(t);a.rotateRight(34);e.xor(a);a.assign(t);a.rotateRight(39);e.xor(a)}function sigmaPrime(e,t,a){e.assign(t);e.rotateRight(14);a.assign(t);a.rotateRight(18);e.xor(a);a.assign(t);a.rotateRight(41);e.xor(a)}function littleSigma(e,t,a){e.assign(t);e.rotateRight(1);a.assign(t);a.rotateRight(8);e.xor(a);a.assign(t);a.shiftRight(7);e.xor(a)}function littleSigmaPrime(e,t,a){e.assign(t);e.rotateRight(19);a.assign(t);a.rotateRight(61);e.xor(a);a.assign(t);a.shiftRight(6);e.xor(a)}const e=[new Word64(1116352408,3609767458),new Word64(1899447441,602891725),new Word64(3049323471,3964484399),new Word64(3921009573,2173295548),new Word64(961987163,4081628472),new Word64(1508970993,3053834265),new Word64(2453635748,2937671579),new Word64(2870763221,3664609560),new Word64(3624381080,2734883394),new Word64(310598401,1164996542),new Word64(607225278,1323610764),new Word64(1426881987,3590304994),new Word64(1925078388,4068182383),new Word64(2162078206,991336113),new Word64(2614888103,633803317),new Word64(3248222580,3479774868),new Word64(3835390401,2666613458),new Word64(4022224774,944711139),new Word64(264347078,2341262773),new Word64(604807628,2007800933),new Word64(770255983,1495990901),new Word64(1249150122,1856431235),new Word64(1555081692,3175218132),new Word64(1996064986,2198950837),new Word64(2554220882,3999719339),new Word64(2821834349,766784016),new Word64(2952996808,2566594879),new Word64(3210313671,3203337956),new Word64(3336571891,1034457026),new Word64(3584528711,2466948901),new Word64(113926993,3758326383),new Word64(338241895,168717936),new Word64(666307205,1188179964),new Word64(773529912,1546045734),new Word64(1294757372,1522805485),new Word64(1396182291,2643833823),new Word64(1695183700,2343527390),new Word64(1986661051,1014477480),new Word64(2177026350,1206759142),new Word64(2456956037,344077627),new Word64(2730485921,1290863460),new Word64(2820302411,3158454273),new Word64(3259730800,3505952657),new Word64(3345764771,106217008),new Word64(3516065817,3606008344),new Word64(3600352804,1432725776),new Word64(4094571909,1467031594),new Word64(275423344,851169720),new Word64(430227734,3100823752),new Word64(506948616,1363258195),new Word64(659060556,3750685593),new Word64(883997877,3785050280),new Word64(958139571,3318307427),new Word64(1322822218,3812723403),new Word64(1537002063,2003034995),new Word64(1747873779,3602036899),new Word64(1955562222,1575990012),new Word64(2024104815,1125592928),new Word64(2227730452,2716904306),new Word64(2361852424,442776044),new Word64(2428436474,593698344),new Word64(2756734187,3733110249),new Word64(3204031479,2999351573),new Word64(3329325298,3815920427),new Word64(3391569614,3928383900),new Word64(3515267271,566280711),new Word64(3940187606,3454069534),new Word64(4118630271,4000239992),new Word64(116418474,1914138554),new Word64(174292421,2731055270),new Word64(289380356,3203993006),new Word64(460393269,320620315),new Word64(685471733,587496836),new Word64(852142971,1086792851),new Word64(1017036298,365543100),new Word64(1126000580,2618297676),new Word64(1288033470,3409855158),new Word64(1501505948,4234509866),new Word64(1607167915,987167468),new Word64(1816402316,1246189591)];return function hash(t,a,r,n=!1){let i,s,o,c,l,h,u,d;if(n){i=new Word64(3418070365,3238371032);s=new Word64(1654270250,914150663);o=new Word64(2438529370,812702999);c=new Word64(355462360,4144912697);l=new Word64(1731405415,4290775857);h=new Word64(2394180231,1750603025);u=new Word64(3675008525,1694076839);d=new Word64(1203062813,3204075428)}else{i=new Word64(1779033703,4089235720);s=new Word64(3144134277,2227873595);o=new Word64(1013904242,4271175723);c=new Word64(2773480762,1595750129);l=new Word64(1359893119,2917565137);h=new Word64(2600822924,725511199);u=new Word64(528734635,4215389547);d=new Word64(1541459225,327033209)}const f=128*Math.ceil((r+17)/128),g=new Uint8Array(f);let p,m;for(p=0;p>>29&255;g[p++]=r>>21&255;g[p++]=r>>13&255;g[p++]=r>>5&255;g[p++]=r<<3&255;const y=new Array(80);for(p=0;p<80;p++)y[p]=new Word64(0,0);let w=new Word64(0,0),S=new Word64(0,0),x=new Word64(0,0),C=new Word64(0,0),k=new Word64(0,0),v=new Word64(0,0),F=new Word64(0,0),O=new Word64(0,0);const T=new Word64(0,0),M=new Word64(0,0),D=new Word64(0,0),E=new Word64(0,0);let N,R;for(p=0;p=1;--e){a=i[13];i[13]=i[9];i[9]=i[5];i[5]=i[1];i[1]=a;a=i[14];r=i[10];i[14]=i[6];i[10]=i[2];i[6]=a;i[2]=r;a=i[15];r=i[11];n=i[7];i[15]=i[3];i[11]=a;i[7]=r;i[3]=n;for(let e=0;e<16;++e)i[e]=this._inv_s[i[e]];for(let a=0,r=16*e;a<16;++a,++r)i[a]^=t[r];for(let e=0;e<16;e+=4){const t=this._mix[i[e]],r=this._mix[i[e+1]],n=this._mix[i[e+2]],s=this._mix[i[e+3]];a=t^r>>>8^r<<24^n>>>16^n<<16^s>>>24^s<<8;i[e]=a>>>24&255;i[e+1]=a>>16&255;i[e+2]=a>>8&255;i[e+3]=255&a}}a=i[13];i[13]=i[9];i[9]=i[5];i[5]=i[1];i[1]=a;a=i[14];r=i[10];i[14]=i[6];i[10]=i[2];i[6]=a;i[2]=r;a=i[15];r=i[11];n=i[7];i[15]=i[3];i[11]=a;i[7]=r;i[3]=n;for(let e=0;e<16;++e){i[e]=this._inv_s[i[e]];i[e]^=t[e]}return i}_encrypt(e,t){const a=this._s;let r,n,i;const s=new Uint8Array(16);s.set(e);for(let e=0;e<16;++e)s[e]^=t[e];for(let e=1;e=r;--a)if(e[a]!==t){t=0;break}o-=t;i[i.length-1]=e.subarray(0,16-t)}}const c=new Uint8Array(o);for(let e=0,t=0,a=i.length;e=256&&(o=255&(27^o))}for(let t=0;t<4;++t){a[e]=r^=a[e-32];e++;a[e]=n^=a[e-32];e++;a[e]=i^=a[e-32];e++;a[e]=s^=a[e-32];e++}}return a}}t.AES256Cipher=AES256Cipher;class PDF17{checkOwnerPassword(e,t,a,n){const i=new Uint8Array(e.length+56);i.set(e,0);i.set(t,e.length);i.set(a,e.length+t.length);const s=o(i,0,i.length);return(0,r.isArrayEqual)(s,n)}checkUserPassword(e,t,a){const n=new Uint8Array(e.length+8);n.set(e,0);n.set(t,e.length);const i=o(n,0,n.length);return(0,r.isArrayEqual)(i,a)}getOwnerKey(e,t,a,r){const n=new Uint8Array(e.length+56);n.set(e,0);n.set(t,e.length);n.set(a,e.length+t.length);const i=o(n,0,n.length);return new AES256Cipher(i).decryptBlock(r,!1,new Uint8Array(16))}getUserKey(e,t,a){const r=new Uint8Array(e.length+8);r.set(e,0);r.set(t,e.length);const n=o(r,0,r.length);return new AES256Cipher(n).decryptBlock(a,!1,new Uint8Array(16))}}t.PDF17=PDF17;class PDF20{_hash(e,t,a){let r=o(t,0,t.length).subarray(0,32),n=[0],i=0;for(;i<64||n.at(-1)>i-32;){const t=e.length+r.length+a.length,s=new Uint8Array(t);let l=0;s.set(e,l);l+=e.length;s.set(r,l);l+=r.length;s.set(a,l);const h=new Uint8Array(64*t);for(let e=0,a=0;e<64;e++,a+=t)h.set(s,a);n=new AES128Cipher(r.subarray(0,16)).encrypt(h,r.subarray(16,32));const u=n.slice(0,16).reduce(((e,t)=>e+t),0)%3;0===u?r=o(n,0,n.length):1===u?r=calculateSHA384(n,0,n.length):2===u&&(r=c(n,0,n.length));i++}return r.subarray(0,32)}checkOwnerPassword(e,t,a,n){const i=new Uint8Array(e.length+56);i.set(e,0);i.set(t,e.length);i.set(a,e.length+t.length);const s=this._hash(e,i,a);return(0,r.isArrayEqual)(s,n)}checkUserPassword(e,t,a){const n=new Uint8Array(e.length+8);n.set(e,0);n.set(t,e.length);const i=this._hash(e,n,[]);return(0,r.isArrayEqual)(i,a)}getOwnerKey(e,t,a,r){const n=new Uint8Array(e.length+56);n.set(e,0);n.set(t,e.length);n.set(a,e.length+t.length);const i=this._hash(e,n,a);return new AES256Cipher(i).decryptBlock(r,!1,new Uint8Array(16))}getUserKey(e,t,a){const r=new Uint8Array(e.length+8);r.set(e,0);r.set(t,e.length);const n=this._hash(e,r,[]);return new AES256Cipher(n).decryptBlock(a,!1,new Uint8Array(16))}}t.PDF20=PDF20;class CipherTransform{constructor(e,t){this.StringCipherConstructor=e;this.StreamCipherConstructor=t}createStream(e,t){const a=new this.StreamCipherConstructor;return new i.DecryptStream(e,t,(function cipherTransformDecryptStream(e,t){return a.decryptBlock(e,t)}))}decryptString(e){const t=new this.StringCipherConstructor;let a=(0,r.stringToBytes)(e);a=t.decryptBlock(a,!0);return(0,r.bytesToString)(a)}encryptString(e){const t=new this.StringCipherConstructor;if(t instanceof AESBaseCipher){const a=16-e.length%16;e+=String.fromCharCode(a).repeat(a);const n=new Uint8Array(16);if("undefined"!=typeof crypto)crypto.getRandomValues(n);else for(let e=0;e<16;e++)n[e]=Math.floor(256*Math.random());let i=(0,r.stringToBytes)(e);i=t.encrypt(i,n);const s=new Uint8Array(16+i.length);s.set(n);s.set(i,16);return(0,r.bytesToString)(s)}let a=(0,r.stringToBytes)(e);a=t.encrypt(a);return(0,r.bytesToString)(a)}}class CipherTransformFactory{static#O=new Uint8Array([40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122]);#I(e,t,a,r,n,i,s,o,c,l,h,u){if(t){const e=Math.min(127,t.length);t=t.subarray(0,e)}else t=[];const d=6===e?new PDF20:new PDF17;return d.checkUserPassword(t,o,s)?d.getUserKey(t,c,h):t.length&&d.checkOwnerPassword(t,r,i,a)?d.getOwnerKey(t,n,i,l):null}#T(e,t,a,r,n,i,o,c){const l=40+a.length+e.length,h=new Uint8Array(l);let u,d,f=0;if(t){d=Math.min(32,t.length);for(;f>8&255;h[f++]=n>>16&255;h[f++]=n>>>24&255;for(u=0,d=e.length;u=4&&!c){h[f++]=255;h[f++]=255;h[f++]=255;h[f++]=255}let g=s(h,0,f);const p=o>>3;if(i>=3)for(u=0;u<50;++u)g=s(g,0,p);const m=g.subarray(0,p);let b,y;if(i>=3){for(f=0;f<32;++f)h[f]=CipherTransformFactory.#O[f];for(u=0,d=e.length;u>3;if(a>=3)for(c=0;c<50;++c)l=s(l,0,l.length);let u,d;if(a>=3){d=t;const e=new Uint8Array(h);for(c=19;c>=0;c--){for(let t=0;t>8&255;n[o++]=e>>16&255;n[o++]=255&t;n[o++]=t>>8&255;if(r){n[o++]=115;n[o++]=65;n[o++]=108;n[o++]=84}return s(n,0,o).subarray(0,Math.min(a.length+5,16))}#D(e,t,a,i,s){if(!(t instanceof n.Name))throw new r.FormatError("Invalid crypt filter name.");const o=this,c=e.get(t.name),l=c?.get("CFM");if(!l||"None"===l.name)return function(){return new NullCipher};if("V2"===l.name)return function(){return new ARCFourCipher(o.#P(a,i,s,!1))};if("AESV2"===l.name)return function(){return new AES128Cipher(o.#P(a,i,s,!0))};if("AESV3"===l.name)return function(){return new AES256Cipher(s)};throw new r.FormatError("Unknown crypto method")}constructor(e,t,a){const i=e.get("Filter");if(!(0,n.isName)(i,"Standard"))throw new r.FormatError("unknown encryption method");this.filterName=i.name;this.dict=e;const s=e.get("V");if(!Number.isInteger(s)||1!==s&&2!==s&&4!==s&&5!==s)throw new r.FormatError("unsupported encryption algorithm");this.algorithm=s;let o=e.get("Length");if(!o)if(s<=3)o=40;else{const t=e.get("CF"),a=e.get("StmF");if(t instanceof n.Dict&&a instanceof n.Name){t.suppressEncryption=!0;const e=t.get(a.name);o=e?.get("Length")||128;o<40&&(o<<=3)}}if(!Number.isInteger(o)||o<40||o%8!=0)throw new r.FormatError("invalid key length");const c=(0,r.stringToBytes)(e.get("O")),l=(0,r.stringToBytes)(e.get("U")),h=c.subarray(0,32),u=l.subarray(0,32),d=e.get("P"),f=e.get("R"),g=(4===s||5===s)&&!1!==e.get("EncryptMetadata");this.encryptMetadata=g;const p=(0,r.stringToBytes)(t);let m,b;if(a){if(6===f)try{a=(0,r.utf8StringToString)(a)}catch{(0,r.warn)("CipherTransformFactory: Unable to convert UTF8 encoded password.")}m=(0,r.stringToBytes)(a)}if(5!==s)b=this.#T(p,m,h,u,d,f,o,g);else{const t=c.subarray(32,40),a=c.subarray(40,48),n=l.subarray(0,48),i=l.subarray(32,40),s=l.subarray(40,48),o=(0,r.stringToBytes)(e.get("OE")),d=(0,r.stringToBytes)(e.get("UE")),g=(0,r.stringToBytes)(e.get("Perms"));b=this.#I(f,m,h,t,a,n,u,i,s,o,d,g)}if(!b&&!a)throw new r.PasswordException("No password given",r.PasswordResponses.NEED_PASSWORD);if(!b&&a){const e=this.#M(m,h,f,o);b=this.#T(p,e,h,u,d,f,o,g)}if(!b)throw new r.PasswordException("Incorrect Password",r.PasswordResponses.INCORRECT_PASSWORD);this.encryptionKey=b;if(s>=4){const t=e.get("CF");t instanceof n.Dict&&(t.suppressEncryption=!0);this.cf=t;this.stmf=e.get("StmF")||n.Name.get("Identity");this.strf=e.get("StrF")||n.Name.get("Identity");this.eff=e.get("EFF")||this.stmf}}createCipherTransform(e,t){if(4===this.algorithm||5===this.algorithm)return new CipherTransform(this.#D(this.cf,this.strf,e,t,this.encryptionKey),this.#D(this.cf,this.stmf,e,t,this.encryptionKey));const a=this.#P(e,t,this.encryptionKey,!1),cipherConstructor=function(){return new ARCFourCipher(a)};return new CipherTransform(cipherConstructor,cipherConstructor)}}t.CipherTransformFactory=CipherTransformFactory},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.DecryptStream=void 0;var r=a(18);class DecryptStream extends r.DecodeStream{constructor(e,t,a){super(t);this.str=e;this.dict=e.dict;this.decrypt=a;this.nextChunk=null;this.initialized=!1}readBlock(){let e;if(this.initialized)e=this.nextChunk;else{e=this.str.getBytes(512);this.initialized=!0}if(!e||0===e.length){this.eof=!0;return}this.nextChunk=this.str.getBytes(512);const t=this.nextChunk?.length>0;e=(0,this.decrypt)(e,!t);const a=this.bufferLength,r=a+e.length;this.ensureBuffer(r).set(e,a);this.bufferLength=r}}t.DecryptStream=DecryptStream},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ObjectLoader=void 0;var r=a(4),n=a(5),i=a(3),s=a(2);function addChildren(e,t){if(e instanceof r.Dict)e=e.getRawValues();else if(e instanceof n.BaseStream)e=e.dict.getRawValues();else if(!Array.isArray(e))return;for(const i of e)((a=i)instanceof r.Ref||a instanceof r.Dict||a instanceof n.BaseStream||Array.isArray(a))&&t.push(i);var a}t.ObjectLoader=class ObjectLoader{constructor(e,t,a){this.dict=e;this.keys=t;this.xref=a;this.refSet=null}async load(){if(this.xref.stream.isDataLoaded)return;const{keys:e,dict:t}=this;this.refSet=new r.RefSet;const a=[];for(const r of e){const e=t.getRaw(r);void 0!==e&&a.push(e)}return this._walk(a)}async _walk(e){const t=[],a=[];for(;e.length;){let o=e.pop();if(o instanceof r.Ref){if(this.refSet.has(o))continue;try{this.refSet.put(o);o=this.xref.fetch(o)}catch(e){if(!(e instanceof i.MissingDataException)){(0,s.warn)(`ObjectLoader._walk - requesting all data: "${e}".`);this.refSet=null;const{manager:t}=this.xref.stream;return t.requestAllChunks()}t.push(o);a.push({begin:e.begin,end:e.end})}}if(o instanceof n.BaseStream){const e=o.getBaseStreams();if(e){let r=!1;for(const t of e)if(!t.isDataLoaded){r=!0;a.push({begin:t.start,end:t.end})}r&&t.push(o)}}addChildren(o,e)}if(a.length){await this.xref.stream.manager.requestRanges(a);for(const e of t)e instanceof r.Ref&&this.refSet.remove(e);return this._walk(t)}this.refSet=null}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XFAFactory=void 0;var r=a(78),n=a(79),i=a(89),s=a(85),o=a(84),c=a(2),l=a(90),h=a(100);class XFAFactory{constructor(e){try{this.root=(new l.XFAParser).parse(XFAFactory._createDocument(e));const t=new n.Binder(this.root);this.form=t.bind();this.dataHandler=new i.DataHandler(this.root,t.getData());this.form[r.$globalData].template=this.form}catch(e){(0,c.warn)(`XFA - an error occurred during parsing and binding: ${e}`)}}isValid(){return this.root&&this.form}_createPagesHelper(){const e=this.form[r.$toPages]();return new Promise(((t,a)=>{const nextIteration=()=>{try{const a=e.next();a.done?t(a.value):setTimeout(nextIteration,0)}catch(e){a(e)}};setTimeout(nextIteration,0)}))}async _createPages(){try{this.pages=await this._createPagesHelper();this.dims=this.pages.children.map((e=>{const{width:t,height:a}=e.attributes.style;return[0,0,parseInt(t),parseInt(a)]}))}catch(e){(0,c.warn)(`XFA - an error occurred during layout: ${e}`)}}getBoundingBox(e){return this.dims[e]}async getNumPages(){this.pages||await this._createPages();return this.dims.length}setImages(e){this.form[r.$globalData].images=e}setFonts(e){this.form[r.$globalData].fontFinder=new s.FontFinder(e);const t=[];for(let e of this.form[r.$globalData].usedTypefaces){e=(0,o.stripQuotes)(e);this.form[r.$globalData].fontFinder.find(e)||t.push(e)}return t.length>0?t:null}appendFonts(e,t){this.form[r.$globalData].fontFinder.add(e,t)}async getPages(){this.pages||await this._createPages();const e=this.pages;this.pages=null;return e}serializeData(e){return this.dataHandler.serialize(e)}static _createDocument(e){return e["/xdp:xdp"]?Object.values(e).join(""):e["xdp:xdp"]}static getRichTextAsHtml(e){if(!e||"string"!=typeof e)return null;try{let t=new l.XFAParser(h.XhtmlNamespace,!0).parse(e);if(!["body","xhtml"].includes(t[r.$nodeName])){const e=h.XhtmlNamespace.body({});e[r.$appendChild](t);t=e}const a=t[r.$toHTML]();if(!a.success)return null;const{html:n}=a,{attributes:i}=n;if(i){i.class&&(i.class=i.class.filter((e=>!e.startsWith("xfa"))));i.dir="auto"}return{html:n,str:t[r.$text]()}}catch(e){(0,c.warn)(`XFA - an error occurred during parsing of rich text: ${e}`)}return null}}t.XFAFactory=XFAFactory},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.$uid=t.$toStyle=t.$toString=t.$toPages=t.$toHTML=t.$text=t.$tabIndex=t.$setValue=t.$setSetAttributes=t.$setId=t.$searchNode=t.$root=t.$resolvePrototypes=t.$removeChild=t.$pushPara=t.$pushGlyphs=t.$popPara=t.$onText=t.$onChildCheck=t.$onChild=t.$nsAttributes=t.$nodeName=t.$namespaceId=t.$lastAttribute=t.$isUsable=t.$isTransparent=t.$isThereMoreWidth=t.$isSplittable=t.$isNsAgnostic=t.$isDescendent=t.$isDataValue=t.$isCDATAXml=t.$isBindable=t.$insertAt=t.$indexOf=t.$ids=t.$hasSettableValue=t.$globalData=t.$getTemplateRoot=t.$getSubformParent=t.$getRealChildrenByNameIt=t.$getParent=t.$getNextPage=t.$getExtra=t.$getDataValue=t.$getContainedChildren=t.$getChildrenByNameIt=t.$getChildrenByName=t.$getChildrenByClass=t.$getChildren=t.$getAvailableSpace=t.$getAttributes=t.$getAttributeIt=t.$flushHTML=t.$finalize=t.$extra=t.$dump=t.$data=t.$content=t.$consumed=t.$clone=t.$cleanup=t.$cleanPage=t.$clean=t.$childrenToHTML=t.$appendChild=t.$addHTML=t.$acceptWhitespace=void 0;const a=Symbol();t.$acceptWhitespace=a;const r=Symbol();t.$addHTML=r;const n=Symbol();t.$appendChild=n;const i=Symbol();t.$childrenToHTML=i;const s=Symbol();t.$clean=s;const o=Symbol();t.$cleanPage=o;const c=Symbol();t.$cleanup=c;const l=Symbol();t.$clone=l;const h=Symbol();t.$consumed=h;const u=Symbol("content");t.$content=u;const d=Symbol("data");t.$data=d;const f=Symbol();t.$dump=f;const g=Symbol("extra");t.$extra=g;const p=Symbol();t.$finalize=p;const m=Symbol();t.$flushHTML=m;const b=Symbol();t.$getAttributeIt=b;const y=Symbol();t.$getAttributes=y;const w=Symbol();t.$getAvailableSpace=w;const S=Symbol();t.$getChildrenByClass=S;const x=Symbol();t.$getChildrenByName=x;const C=Symbol();t.$getChildrenByNameIt=C;const k=Symbol();t.$getDataValue=k;const v=Symbol();t.$getExtra=v;const F=Symbol();t.$getRealChildrenByNameIt=F;const O=Symbol();t.$getChildren=O;const T=Symbol();t.$getContainedChildren=T;const M=Symbol();t.$getNextPage=M;const D=Symbol();t.$getSubformParent=D;const E=Symbol();t.$getParent=E;const N=Symbol();t.$getTemplateRoot=N;const R=Symbol();t.$globalData=R;const L=Symbol();t.$hasSettableValue=L;const $=Symbol();t.$ids=$;const _=Symbol();t.$indexOf=_;const j=Symbol();t.$insertAt=j;const U=Symbol();t.$isCDATAXml=U;const X=Symbol();t.$isBindable=X;const H=Symbol();t.$isDataValue=H;const q=Symbol();t.$isDescendent=q;const z=Symbol();t.$isNsAgnostic=z;const W=Symbol();t.$isSplittable=W;const G=Symbol();t.$isThereMoreWidth=G;const V=Symbol();t.$isTransparent=V;const K=Symbol();t.$isUsable=K;const J=Symbol();t.$lastAttribute=J;const Y=Symbol("namespaceId");t.$namespaceId=Y;const Z=Symbol("nodeName");t.$nodeName=Z;const Q=Symbol();t.$nsAttributes=Q;const ee=Symbol();t.$onChild=ee;const te=Symbol();t.$onChildCheck=te;const ae=Symbol();t.$onText=ae;const re=Symbol();t.$pushGlyphs=re;const ne=Symbol();t.$popPara=ne;const ie=Symbol();t.$pushPara=ie;const se=Symbol();t.$removeChild=se;const oe=Symbol("root");t.$root=oe;const ce=Symbol();t.$resolvePrototypes=ce;const le=Symbol();t.$searchNode=le;const he=Symbol();t.$setId=he;const ue=Symbol();t.$setSetAttributes=ue;const de=Symbol();t.$setValue=de;const fe=Symbol();t.$tabIndex=fe;const ge=Symbol();t.$text=ge;const pe=Symbol();t.$toPages=pe;const me=Symbol();t.$toHTML=me;const be=Symbol();t.$toString=be;const ye=Symbol();t.$toStyle=ye;const we=Symbol("uid");t.$uid=we},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Binder=void 0;var r=a(78),n=a(80),i=a(88),s=a(87),o=a(81),c=a(2);const l=o.NamespaceIds.datasets.id;function createText(e){const t=new n.Text({});t[r.$content]=e;return t}t.Binder=class Binder{constructor(e){this.root=e;this.datasets=e.datasets;this.data=e.datasets?.data||new s.XmlObject(o.NamespaceIds.datasets.id,"data");this.emptyMerge=0===this.data[r.$getChildren]().length;this.root.form=this.form=e.template[r.$clone]()}_isConsumeData(){return!this.emptyMerge&&this._mergeMode}_isMatchTemplate(){return!this._isConsumeData()}bind(){this._bindElement(this.form,this.data);return this.form}getData(){return this.data}_bindValue(e,t,a){e[r.$data]=t;if(e[r.$hasSettableValue]())if(t[r.$isDataValue]()){const a=t[r.$getDataValue]();e[r.$setValue](createText(a))}else if(e instanceof n.Field&&"multiSelect"===e.ui?.choiceList?.open){const a=t[r.$getChildren]().map((e=>e[r.$content].trim())).join("\n");e[r.$setValue](createText(a))}else this._isConsumeData()&&(0,c.warn)("XFA - Nodes haven't the same type.");else!t[r.$isDataValue]()||this._isMatchTemplate()?this._bindElement(e,t):(0,c.warn)("XFA - Nodes haven't the same type.")}_findDataByNameToConsume(e,t,a,n){if(!e)return null;let i,s;for(let n=0;n<3;n++){i=a[r.$getRealChildrenByNameIt](e,!1,!0);for(;;){s=i.next().value;if(!s)break;if(t===s[r.$isDataValue]())return s}if(a[r.$namespaceId]===o.NamespaceIds.datasets.id&&"data"===a[r.$nodeName])break;a=a[r.$getParent]()}if(!n)return null;i=this.data[r.$getRealChildrenByNameIt](e,!0,!1);s=i.next().value;if(s)return s;i=this.data[r.$getAttributeIt](e,!0);s=i.next().value;return s?.[r.$isDataValue]()?s:null}_setProperties(e,t){if(e.hasOwnProperty("setProperty"))for(const{ref:a,target:o,connection:l}of e.setProperty.children){if(l)continue;if(!a)continue;const h=(0,i.searchNode)(this.root,t,a,!1,!1);if(!h){(0,c.warn)(`XFA - Invalid reference: ${a}.`);continue}const[u]=h;if(!u[r.$isDescendent](this.data)){(0,c.warn)("XFA - Invalid node: must be a data node.");continue}const d=(0,i.searchNode)(this.root,e,o,!1,!1);if(!d){(0,c.warn)(`XFA - Invalid target: ${o}.`);continue}const[f]=d;if(!f[r.$isDescendent](e)){(0,c.warn)("XFA - Invalid target: must be a property or subproperty.");continue}const g=f[r.$getParent]();if(f instanceof n.SetProperty||g instanceof n.SetProperty){(0,c.warn)("XFA - Invalid target: cannot be a setProperty or one of its properties.");continue}if(f instanceof n.BindItems||g instanceof n.BindItems){(0,c.warn)("XFA - Invalid target: cannot be a bindItems or one of its properties.");continue}const p=u[r.$text](),m=f[r.$nodeName];if(f instanceof s.XFAAttribute){const e=Object.create(null);e[m]=p;const t=Reflect.construct(Object.getPrototypeOf(g).constructor,[e]);g[m]=t[m]}else if(f.hasOwnProperty(r.$content)){f[r.$data]=u;f[r.$content]=p;f[r.$finalize]()}else(0,c.warn)("XFA - Invalid node to use in setProperty")}}_bindItems(e,t){if(!e.hasOwnProperty("items")||!e.hasOwnProperty("bindItems")||e.bindItems.isEmpty())return;for(const t of e.items.children)e[r.$removeChild](t);e.items.clear();const a=new n.Items({}),s=new n.Items({});e[r.$appendChild](a);e.items.push(a);e[r.$appendChild](s);e.items.push(s);for(const{ref:n,labelRef:o,valueRef:l,connection:h}of e.bindItems.children){if(h)continue;if(!n)continue;const e=(0,i.searchNode)(this.root,t,n,!1,!1);if(e)for(const t of e){if(!t[r.$isDescendent](this.datasets)){(0,c.warn)(`XFA - Invalid ref (${n}): must be a datasets child.`);continue}const e=(0,i.searchNode)(this.root,t,o,!0,!1);if(!e){(0,c.warn)(`XFA - Invalid label: ${o}.`);continue}const[h]=e;if(!h[r.$isDescendent](this.datasets)){(0,c.warn)("XFA - Invalid label: must be a datasets child.");continue}const u=(0,i.searchNode)(this.root,t,l,!0,!1);if(!u){(0,c.warn)(`XFA - Invalid value: ${l}.`);continue}const[d]=u;if(!d[r.$isDescendent](this.datasets)){(0,c.warn)("XFA - Invalid value: must be a datasets child.");continue}const f=createText(h[r.$text]()),g=createText(d[r.$text]());a[r.$appendChild](f);a.text.push(f);s[r.$appendChild](g);s.text.push(g)}else(0,c.warn)(`XFA - Invalid reference: ${n}.`)}}_bindOccurrences(e,t,a){let n;if(t.length>1){n=e[r.$clone]();n[r.$removeChild](n.occur);n.occur=null}this._bindValue(e,t[0],a);this._setProperties(e,t[0]);this._bindItems(e,t[0]);if(1===t.length)return;const i=e[r.$getParent](),s=e[r.$nodeName],o=i[r.$indexOf](e);for(let e=1,c=t.length;et.name===e.name)).length:a[n].children.length;const o=a[r.$indexOf](e)+1,c=t.initial-i;if(c){const t=e[r.$clone]();t[r.$removeChild](t.occur);t.occur=null;a[n].push(t);a[r.$insertAt](o,t);for(let e=1;e0)this._bindOccurrences(n,[e[0]],null);else if(this.emptyMerge){const e=t[r.$namespaceId]===l?-1:t[r.$namespaceId],a=n[r.$data]=new s.XmlObject(e,n.name||"root");t[r.$appendChild](a);this._bindElement(n,a)}continue}if(!n[r.$isBindable]())continue;let e=!1,o=null,h=null,u=null;if(n.bind){switch(n.bind.match){case"none":this._setAndBind(n,t);continue;case"global":e=!0;break;case"dataRef":if(!n.bind.ref){(0,c.warn)(`XFA - ref is empty in node ${n[r.$nodeName]}.`);this._setAndBind(n,t);continue}h=n.bind.ref}n.bind.picture&&(o=n.bind.picture[r.$content])}const[d,f]=this._getOccurInfo(n);if(h){u=(0,i.searchNode)(this.root,t,h,!0,!1);if(null===u){u=(0,i.createDataNode)(this.data,t,h);if(!u)continue;this._isConsumeData()&&(u[r.$consumed]=!0);this._setAndBind(n,u);continue}this._isConsumeData()&&(u=u.filter((e=>!e[r.$consumed])));u.length>f?u=u.slice(0,f):0===u.length&&(u=null);u&&this._isConsumeData()&&u.forEach((e=>{e[r.$consumed]=!0}))}else{if(!n.name){this._setAndBind(n,t);continue}if(this._isConsumeData()){const a=[];for(;a.length0?a:null}else{u=t[r.$getRealChildrenByNameIt](n.name,!1,this.emptyMerge).next().value;if(!u){if(0===d){a.push(n);continue}const e=t[r.$namespaceId]===l?-1:t[r.$namespaceId];u=n[r.$data]=new s.XmlObject(e,n.name);this.emptyMerge&&(u[r.$consumed]=!0);t[r.$appendChild](u);this._setAndBind(n,u);continue}this.emptyMerge&&(u[r.$consumed]=!0);u=[u]}}u?this._bindOccurrences(n,u,o):d>0?this._setAndBind(n,t):a.push(n)}a.forEach((e=>e[r.$getParent]()[r.$removeChild](e)))}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Value=t.Text=t.TemplateNamespace=t.Template=t.SetProperty=t.Items=t.Field=t.BindItems=void 0;var r=a(78),n=a(81),i=a(82),s=a(83),o=a(87),c=a(84),l=a(2),h=a(85),u=a(3),d=a(88);const f=n.NamespaceIds.template.id,g="http://www.w3.org/2000/svg",p=/^H(\d+)$/,m=new Set(["image/gif","image/jpeg","image/jpg","image/pjpeg","image/png","image/apng","image/x-png","image/bmp","image/x-ms-bmp","image/tiff","image/tif","application/octet-stream"]),b=[[[66,77],"image/bmp"],[[255,216,255],"image/jpeg"],[[73,73,42,0],"image/tiff"],[[77,77,0,42],"image/tiff"],[[71,73,70,56,57,97],"image/gif"],[[137,80,78,71,13,10,26,10],"image/png"]];function getBorderDims(e){if(!e||!e.border)return{w:0,h:0};const t=e.border[r.$getExtra]();return t?{w:t.widths[0]+t.widths[2]+t.insets[0]+t.insets[2],h:t.widths[1]+t.widths[3]+t.insets[1]+t.insets[3]}:{w:0,h:0}}function hasMargin(e){return e.margin&&(e.margin.topInset||e.margin.rightInset||e.margin.bottomInset||e.margin.leftInset)}function _setValue(e,t){if(!e.value){const t=new Value({});e[r.$appendChild](t);e.value=t}e.value[r.$setValue](t)}function*getContainedChildren(e){for(const t of e[r.$getChildren]())t instanceof SubformSet?yield*t[r.$getContainedChildren]():yield t}function isRequired(e){return"error"===e.validate?.nullTest}function setTabIndex(e){for(;e;){if(!e.traversal){e[r.$tabIndex]=e[r.$getParent]()[r.$tabIndex];return}if(e[r.$tabIndex])return;let t=null;for(const a of e.traversal[r.$getChildren]())if("next"===a.operation){t=a;break}if(!t||!t.ref){e[r.$tabIndex]=e[r.$getParent]()[r.$tabIndex];return}const a=e[r.$getTemplateRoot]();e[r.$tabIndex]=++a[r.$tabIndex];const n=a[r.$searchNode](t.ref,e);if(!n)return;e=n[0]}}function applyAssist(e,t){const a=e.assist;if(a){const e=a[r.$toHTML]();e&&(t.title=e);const n=a.role.match(p);if(n){const e="heading",a=n[1];t.role=e;t["aria-level"]=a}}if("table"===e.layout)t.role="table";else if("row"===e.layout)t.role="row";else{const a=e[r.$getParent]();"row"===a.layout&&(t.role="TH"===a.assist?.role?"columnheader":"cell")}}function ariaLabel(e){if(!e.assist)return null;const t=e.assist;return t.speak&&""!==t.speak[r.$content]?t.speak[r.$content]:t.toolTip?t.toolTip[r.$content]:null}function valueToHtml(e){return c.HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:Object.create(null)},children:[{name:"span",attributes:{style:Object.create(null)},value:e}]})}function setFirstUnsplittable(e){const t=e[r.$getTemplateRoot]();if(null===t[r.$extra].firstUnsplittable){t[r.$extra].firstUnsplittable=e;t[r.$extra].noLayoutFailure=!0}}function unsetFirstUnsplittable(e){const t=e[r.$getTemplateRoot]();t[r.$extra].firstUnsplittable===e&&(t[r.$extra].noLayoutFailure=!1)}function handleBreak(e){if(e[r.$extra])return!1;e[r.$extra]=Object.create(null);if("auto"===e.targetType)return!1;const t=e[r.$getTemplateRoot]();let a=null;if(e.target){a=t[r.$searchNode](e.target,e[r.$getParent]());if(!a)return!1;a=a[0]}const{currentPageArea:n,currentContentArea:i}=t[r.$extra];if("pageArea"===e.targetType){a instanceof PageArea||(a=null);if(e.startNew){e[r.$extra].target=a||n;return!0}if(a&&a!==n){e[r.$extra].target=a;return!0}return!1}a instanceof ContentArea||(a=null);const s=a&&a[r.$getParent]();let o,c=s;if(e.startNew)if(a){const e=s.contentArea.children,t=e.indexOf(i),r=e.indexOf(a);-1!==t&&te;n[r.$extra].noLayoutFailure=!0;const o=t[r.$toHTML](a);e[r.$addHTML](o.html,o.bbox);n[r.$extra].noLayoutFailure=i;t[r.$getSubformParent]=s}class AppearanceFilter extends o.StringObject{constructor(e){super(f,"appearanceFilter");this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Arc extends o.XFAObject{constructor(e){super(f,"arc",!0);this.circular=(0,c.getInteger)({data:e.circular,defaultValue:0,validate:e=>1===e});this.hand=(0,c.getStringOption)(e.hand,["even","left","right"]);this.id=e.id||"";this.startAngle=(0,c.getFloat)({data:e.startAngle,defaultValue:0,validate:e=>!0});this.sweepAngle=(0,c.getFloat)({data:e.sweepAngle,defaultValue:360,validate:e=>!0});this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null;this.fill=null}[r.$toHTML](){const e=this.edge||new Edge({}),t=e[r.$toStyle](),a=Object.create(null);"visible"===this.fill?.presence?Object.assign(a,this.fill[r.$toStyle]()):a.fill="transparent";a.strokeWidth=(0,s.measureToString)("visible"===e.presence?e.thickness:0);a.stroke=t.color;let n;const i={xmlns:g,style:{width:"100%",height:"100%",overflow:"visible"}};if(360===this.sweepAngle)n={name:"ellipse",attributes:{xmlns:g,cx:"50%",cy:"50%",rx:"50%",ry:"50%",style:a}};else{const e=this.startAngle*Math.PI/180,t=this.sweepAngle*Math.PI/180,r=this.sweepAngle>180?1:0,[s,o,c,l]=[50*(1+Math.cos(e)),50*(1-Math.sin(e)),50*(1+Math.cos(e+t)),50*(1-Math.sin(e+t))];n={name:"path",attributes:{xmlns:g,d:`M ${s} ${o} A 50 50 0 ${r} 0 ${c} ${l}`,vectorEffect:"non-scaling-stroke",style:a}};Object.assign(i,{viewBox:"0 0 100 100",preserveAspectRatio:"none"})}const o={name:"svg",children:[n],attributes:i};if(hasMargin(this[r.$getParent]()[r.$getParent]()))return c.HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[o]});o.attributes.style.position="absolute";return c.HTMLResult.success(o)}}class Area extends o.XFAObject{constructor(e){super(f,"area",!0);this.colSpan=(0,c.getInteger)({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.id=e.id||"";this.name=e.name||"";this.relevant=(0,c.getRelevant)(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.x=(0,c.getMeasurement)(e.x,"0pt");this.y=(0,c.getMeasurement)(e.y,"0pt");this.desc=null;this.extras=null;this.area=new o.XFAObjectArray;this.draw=new o.XFAObjectArray;this.exObject=new o.XFAObjectArray;this.exclGroup=new o.XFAObjectArray;this.field=new o.XFAObjectArray;this.subform=new o.XFAObjectArray;this.subformSet=new o.XFAObjectArray}*[r.$getContainedChildren](){yield*getContainedChildren(this)}[r.$isTransparent](){return!0}[r.$isBindable](){return!0}[r.$addHTML](e,t){const[a,n,i,s]=t;this[r.$extra].width=Math.max(this[r.$extra].width,a+i);this[r.$extra].height=Math.max(this[r.$extra].height,n+s);this[r.$extra].children.push(e)}[r.$getAvailableSpace](){return this[r.$extra].availableSpace}[r.$toHTML](e){const t=(0,s.toStyle)(this,"position"),a={style:t,id:this[r.$uid],class:["xfaArea"]};(0,s.isPrintOnly)(this)&&a.class.push("xfaPrintOnly");this.name&&(a.xfaName=this.name);const n=[];this[r.$extra]={children:n,width:0,height:0,availableSpace:e};const i=this[r.$childrenToHTML]({filter:new Set(["area","draw","field","exclGroup","subform","subformSet"]),include:!0});if(!i.success){if(i.isBreak())return i;delete this[r.$extra];return c.HTMLResult.FAILURE}t.width=(0,s.measureToString)(this[r.$extra].width);t.height=(0,s.measureToString)(this[r.$extra].height);const o={name:"div",attributes:a,children:n},l=[this.x,this.y,this[r.$extra].width,this[r.$extra].height];delete this[r.$extra];return c.HTMLResult.success(o,l)}}class Assist extends o.XFAObject{constructor(e){super(f,"assist",!0);this.id=e.id||"";this.role=e.role||"";this.use=e.use||"";this.usehref=e.usehref||"";this.speak=null;this.toolTip=null}[r.$toHTML](){return this.toolTip?.[r.$content]||null}}class Barcode extends o.XFAObject{constructor(e){super(f,"barcode",!0);this.charEncoding=(0,c.getKeyword)({data:e.charEncoding?e.charEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.checksum=(0,c.getStringOption)(e.checksum,["none","1mod10","1mod10_1mod11","2mod10","auto"]);this.dataColumnCount=(0,c.getInteger)({data:e.dataColumnCount,defaultValue:-1,validate:e=>e>=0});this.dataLength=(0,c.getInteger)({data:e.dataLength,defaultValue:-1,validate:e=>e>=0});this.dataPrep=(0,c.getStringOption)(e.dataPrep,["none","flateCompress"]);this.dataRowCount=(0,c.getInteger)({data:e.dataRowCount,defaultValue:-1,validate:e=>e>=0});this.endChar=e.endChar||"";this.errorCorrectionLevel=(0,c.getInteger)({data:e.errorCorrectionLevel,defaultValue:-1,validate:e=>e>=0&&e<=8});this.id=e.id||"";this.moduleHeight=(0,c.getMeasurement)(e.moduleHeight,"5mm");this.moduleWidth=(0,c.getMeasurement)(e.moduleWidth,"0.25mm");this.printCheckDigit=(0,c.getInteger)({data:e.printCheckDigit,defaultValue:0,validate:e=>1===e});this.rowColumnRatio=(0,c.getRatio)(e.rowColumnRatio);this.startChar=e.startChar||"";this.textLocation=(0,c.getStringOption)(e.textLocation,["below","above","aboveEmbedded","belowEmbedded","none"]);this.truncate=(0,c.getInteger)({data:e.truncate,defaultValue:0,validate:e=>1===e});this.type=(0,c.getStringOption)(e.type?e.type.toLowerCase():"",["aztec","codabar","code2of5industrial","code2of5interleaved","code2of5matrix","code2of5standard","code3of9","code3of9extended","code11","code49","code93","code128","code128a","code128b","code128c","code128sscc","datamatrix","ean8","ean8add2","ean8add5","ean13","ean13add2","ean13add5","ean13pwcd","fim","logmars","maxicode","msi","pdf417","pdf417macro","plessey","postauscust2","postauscust3","postausreplypaid","postausstandard","postukrm4scc","postusdpbc","postusimb","postusstandard","postus5zip","qrcode","rfid","rss14","rss14expanded","rss14limited","rss14stacked","rss14stackedomni","rss14truncated","telepen","ucc128","ucc128random","ucc128sscc","upca","upcaadd2","upcaadd5","upcapwcd","upce","upceadd2","upceadd5","upcean2","upcean5","upsmaxicode"]);this.upsMode=(0,c.getStringOption)(e.upsMode,["usCarrier","internationalCarrier","secureSymbol","standardSymbol"]);this.use=e.use||"";this.usehref=e.usehref||"";this.wideNarrowRatio=(0,c.getRatio)(e.wideNarrowRatio);this.encrypt=null;this.extras=null}}class Bind extends o.XFAObject{constructor(e){super(f,"bind",!0);this.match=(0,c.getStringOption)(e.match,["once","dataRef","global","none"]);this.ref=e.ref||"";this.picture=null}}class BindItems extends o.XFAObject{constructor(e){super(f,"bindItems");this.connection=e.connection||"";this.labelRef=e.labelRef||"";this.ref=e.ref||"";this.valueRef=e.valueRef||""}}t.BindItems=BindItems;class Bookend extends o.XFAObject{constructor(e){super(f,"bookend");this.id=e.id||"";this.leader=e.leader||"";this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||""}}class BooleanElement extends o.Option01{constructor(e){super(f,"boolean");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$toHTML](e){return valueToHtml(1===this[r.$content]?"1":"0")}}class Border extends o.XFAObject{constructor(e){super(f,"border",!0);this.break=(0,c.getStringOption)(e.break,["close","open"]);this.hand=(0,c.getStringOption)(e.hand,["even","left","right"]);this.id=e.id||"";this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=(0,c.getRelevant)(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new o.XFAObjectArray(4);this.edge=new o.XFAObjectArray(4);this.extras=null;this.fill=null;this.margin=null}[r.$getExtra](){if(!this[r.$extra]){const e=this.edge.children.slice();if(e.length<4){const t=e.at(-1)||new Edge({});for(let a=e.length;a<4;a++)e.push(t)}const t=e.map((e=>e.thickness)),a=[0,0,0,0];if(this.margin){a[0]=this.margin.topInset;a[1]=this.margin.rightInset;a[2]=this.margin.bottomInset;a[3]=this.margin.leftInset}this[r.$extra]={widths:t,insets:a,edges:e}}return this[r.$extra]}[r.$toStyle](){const{edges:e}=this[r.$getExtra](),t=e.map((e=>{const t=e[r.$toStyle]();t.color||="#000000";return t})),a=Object.create(null);this.margin&&Object.assign(a,this.margin[r.$toStyle]());"visible"===this.fill?.presence&&Object.assign(a,this.fill[r.$toStyle]());if(this.corner.children.some((e=>0!==e.radius))){const e=this.corner.children.map((e=>e[r.$toStyle]()));if(2===e.length||3===e.length){const t=e.at(-1);for(let a=e.length;a<4;a++)e.push(t)}a.borderRadius=e.map((e=>e.radius)).join(" ")}switch(this.presence){case"invisible":case"hidden":a.borderStyle="";break;case"inactive":a.borderStyle="none";break;default:a.borderStyle=t.map((e=>e.style)).join(" ")}a.borderWidth=t.map((e=>e.width)).join(" ");a.borderColor=t.map((e=>e.color)).join(" ");return a}}class Break extends o.XFAObject{constructor(e){super(f,"break",!0);this.after=(0,c.getStringOption)(e.after,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.afterTarget=e.afterTarget||"";this.before=(0,c.getStringOption)(e.before,["auto","contentArea","pageArea","pageEven","pageOdd"]);this.beforeTarget=e.beforeTarget||"";this.bookendLeader=e.bookendLeader||"";this.bookendTrailer=e.bookendTrailer||"";this.id=e.id||"";this.overflowLeader=e.overflowLeader||"";this.overflowTarget=e.overflowTarget||"";this.overflowTrailer=e.overflowTrailer||"";this.startNew=(0,c.getInteger)({data:e.startNew,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class BreakAfter extends o.XFAObject{constructor(e){super(f,"breakAfter",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=(0,c.getInteger)({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=(0,c.getStringOption)(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}}class BreakBefore extends o.XFAObject{constructor(e){super(f,"breakBefore",!0);this.id=e.id||"";this.leader=e.leader||"";this.startNew=(0,c.getInteger)({data:e.startNew,defaultValue:0,validate:e=>1===e});this.target=e.target||"";this.targetType=(0,c.getStringOption)(e.targetType,["auto","contentArea","pageArea"]);this.trailer=e.trailer||"";this.use=e.use||"";this.usehref=e.usehref||"";this.script=null}[r.$toHTML](e){this[r.$extra]={};return c.HTMLResult.FAILURE}}class Button extends o.XFAObject{constructor(e){super(f,"button",!0);this.highlight=(0,c.getStringOption)(e.highlight,["inverted","none","outline","push"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[r.$toHTML](e){const t=this[r.$getParent]()[r.$getParent](),a={name:"button",attributes:{id:this[r.$uid],class:["xfaButton"],style:{}},children:[]};for(const e of t.event.children){if("click"!==e.activity||!e.script)continue;const t=(0,u.recoverJsURL)(e.script[r.$content]);if(!t)continue;const n=(0,s.fixURL)(t.url);n&&a.children.push({name:"a",attributes:{id:"link"+this[r.$uid],href:n,newWindow:t.newWindow,class:["xfaLink"],style:{}},children:[]})}return c.HTMLResult.success(a)}}class Calculate extends o.XFAObject{constructor(e){super(f,"calculate",!0);this.id=e.id||"";this.override=(0,c.getStringOption)(e.override,["disabled","error","ignore","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.script=null}}class Caption extends o.XFAObject{constructor(e){super(f,"caption",!0);this.id=e.id||"";this.placement=(0,c.getStringOption)(e.placement,["left","bottom","inline","right","top"]);this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.reserve=Math.ceil((0,c.getMeasurement)(e.reserve));this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.font=null;this.margin=null;this.para=null;this.value=null}[r.$setValue](e){_setValue(this,e)}[r.$getExtra](e){if(!this[r.$extra]){let{width:t,height:a}=e;switch(this.placement){case"left":case"right":case"inline":t=this.reserve<=0?t:this.reserve;break;case"top":case"bottom":a=this.reserve<=0?a:this.reserve}this[r.$extra]=(0,s.layoutNode)(this,{width:t,height:a})}return this[r.$extra]}[r.$toHTML](e){if(!this.value)return c.HTMLResult.EMPTY;this[r.$pushPara]();const t=this.value[r.$toHTML](e).html;if(!t){this[r.$popPara]();return c.HTMLResult.EMPTY}const a=this.reserve;if(this.reserve<=0){const{w:t,h:a}=this[r.$getExtra](e);switch(this.placement){case"left":case"right":case"inline":this.reserve=t;break;case"top":case"bottom":this.reserve=a}}const n=[];"string"==typeof t?n.push({name:"#text",value:t}):n.push(t);const i=(0,s.toStyle)(this,"font","margin","visibility");switch(this.placement){case"left":case"right":this.reserve>0&&(i.width=(0,s.measureToString)(this.reserve));break;case"top":case"bottom":this.reserve>0&&(i.height=(0,s.measureToString)(this.reserve))}(0,s.setPara)(this,null,t);this[r.$popPara]();this.reserve=a;return c.HTMLResult.success({name:"div",attributes:{style:i,class:["xfaCaption"]},children:n})}}class Certificate extends o.StringObject{constructor(e){super(f,"certificate");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Certificates extends o.XFAObject{constructor(e){super(f,"certificates",!0);this.credentialServerPolicy=(0,c.getStringOption)(e.credentialServerPolicy,["optional","required"]);this.id=e.id||"";this.url=e.url||"";this.urlPolicy=e.urlPolicy||"";this.use=e.use||"";this.usehref=e.usehref||"";this.encryption=null;this.issuers=null;this.keyUsage=null;this.oids=null;this.signing=null;this.subjectDNs=null}}class CheckButton extends o.XFAObject{constructor(e){super(f,"checkButton",!0);this.id=e.id||"";this.mark=(0,c.getStringOption)(e.mark,["default","check","circle","cross","diamond","square","star"]);this.shape=(0,c.getStringOption)(e.shape,["square","round"]);this.size=(0,c.getMeasurement)(e.size,"10pt");this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)("margin"),a=(0,s.measureToString)(this.size);t.width=t.height=a;let n,i,o;const l=this[r.$getParent]()[r.$getParent](),h=l.items.children.length&&l.items.children[0][r.$toHTML]().html||[],u={on:(void 0!==h[0]?h[0]:"on").toString(),off:(void 0!==h[1]?h[1]:"off").toString()},d=(l.value?.[r.$text]()||"off")===u.on||void 0,f=l[r.$getSubformParent](),g=l[r.$uid];let p;if(f instanceof ExclGroup){o=f[r.$uid];n="radio";i="xfaRadio";p=f[r.$data]?.[r.$uid]||f[r.$uid]}else{n="checkbox";i="xfaCheckbox";p=l[r.$data]?.[r.$uid]||l[r.$uid]}const m={name:"input",attributes:{class:[i],style:t,fieldId:g,dataId:p,type:n,checked:d,xfaOn:u.on,xfaOff:u.off,"aria-label":ariaLabel(l),"aria-required":!1}};o&&(m.attributes.name=o);if(isRequired(l)){m.attributes["aria-required"]=!0;m.attributes.required=!0}return c.HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[m]})}}class ChoiceList extends o.XFAObject{constructor(e){super(f,"choiceList",!0);this.commitOn=(0,c.getStringOption)(e.commitOn,["select","exit"]);this.id=e.id||"";this.open=(0,c.getStringOption)(e.open,["userControl","always","multiSelect","onEntry"]);this.textEntry=(0,c.getInteger)({data:e.textEntry,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(this,"border","margin"),a=this[r.$getParent]()[r.$getParent](),n={fontSize:`calc(${a.font?.size||10}px * var(--scale-factor))`},i=[];if(a.items.children.length>0){const e=a.items;let t=0,s=0;if(2===e.children.length){t=e.children[0].save;s=1-t}const o=e.children[t][r.$toHTML]().html,c=e.children[s][r.$toHTML]().html;let l=!1;const h=a.value?.[r.$text]()||"";for(let e=0,t=o.length;ee>=0});this.use=e.use||"";this.usehref=e.usehref||""}}class Connect extends o.XFAObject{constructor(e){super(f,"connect",!0);this.connection=e.connection||"";this.id=e.id||"";this.ref=e.ref||"";this.usage=(0,c.getStringOption)(e.usage,["exportAndImport","exportOnly","importOnly"]);this.use=e.use||"";this.usehref=e.usehref||"";this.picture=null}}class ContentArea extends o.XFAObject{constructor(e){super(f,"contentArea",!0);this.h=(0,c.getMeasurement)(e.h);this.id=e.id||"";this.name=e.name||"";this.relevant=(0,c.getRelevant)(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=(0,c.getMeasurement)(e.w);this.x=(0,c.getMeasurement)(e.x,"0pt");this.y=(0,c.getMeasurement)(e.y,"0pt");this.desc=null;this.extras=null}[r.$toHTML](e){const t={left:(0,s.measureToString)(this.x),top:(0,s.measureToString)(this.y),width:(0,s.measureToString)(this.w),height:(0,s.measureToString)(this.h)},a=["xfaContentarea"];(0,s.isPrintOnly)(this)&&a.push("xfaPrintOnly");return c.HTMLResult.success({name:"div",children:[],attributes:{style:t,class:a,id:this[r.$uid]}})}}class Corner extends o.XFAObject{constructor(e){super(f,"corner",!0);this.id=e.id||"";this.inverted=(0,c.getInteger)({data:e.inverted,defaultValue:0,validate:e=>1===e});this.join=(0,c.getStringOption)(e.join,["square","round"]);this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.radius=(0,c.getMeasurement)(e.radius);this.stroke=(0,c.getStringOption)(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=(0,c.getMeasurement)(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[r.$toStyle](){const e=(0,s.toStyle)(this,"visibility");e.radius=(0,s.measureToString)("square"===this.join?0:this.radius);return e}}class DateElement extends o.ContentObject{constructor(e){super(f,"date");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$finalize](){const e=this[r.$content].trim();this[r.$content]=e?new Date(e):null}[r.$toHTML](e){return valueToHtml(this[r.$content]?this[r.$content].toString():"")}}class DateTime extends o.ContentObject{constructor(e){super(f,"dateTime");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$finalize](){const e=this[r.$content].trim();this[r.$content]=e?new Date(e):null}[r.$toHTML](e){return valueToHtml(this[r.$content]?this[r.$content].toString():"")}}class DateTimeEdit extends o.XFAObject{constructor(e){super(f,"dateTimeEdit",!0);this.hScrollPolicy=(0,c.getStringOption)(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.picker=(0,c.getStringOption)(e.picker,["host","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(this,"border","font","margin"),a=this[r.$getParent]()[r.$getParent](),n={name:"input",attributes:{type:"text",fieldId:a[r.$uid],dataId:a[r.$data]?.[r.$uid]||a[r.$uid],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}};if(isRequired(a)){n.attributes["aria-required"]=!0;n.attributes.required=!0}return c.HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[n]})}}class Decimal extends o.ContentObject{constructor(e){super(f,"decimal");this.fracDigits=(0,c.getInteger)({data:e.fracDigits,defaultValue:2,validate:e=>!0});this.id=e.id||"";this.leadDigits=(0,c.getInteger)({data:e.leadDigits,defaultValue:-1,validate:e=>!0});this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$finalize](){const e=parseFloat(this[r.$content].trim());this[r.$content]=isNaN(e)?null:e}[r.$toHTML](e){return valueToHtml(null!==this[r.$content]?this[r.$content].toString():"")}}class DefaultUi extends o.XFAObject{constructor(e){super(f,"defaultUi",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class Desc extends o.XFAObject{constructor(e){super(f,"desc",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new o.XFAObjectArray;this.date=new o.XFAObjectArray;this.dateTime=new o.XFAObjectArray;this.decimal=new o.XFAObjectArray;this.exData=new o.XFAObjectArray;this.float=new o.XFAObjectArray;this.image=new o.XFAObjectArray;this.integer=new o.XFAObjectArray;this.text=new o.XFAObjectArray;this.time=new o.XFAObjectArray}}class DigestMethod extends o.OptionObject{constructor(e){super(f,"digestMethod",["","SHA1","SHA256","SHA512","RIPEMD160"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class DigestMethods extends o.XFAObject{constructor(e){super(f,"digestMethods",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.digestMethod=new o.XFAObjectArray}}class Draw extends o.XFAObject{constructor(e){super(f,"draw",!0);this.anchorType=(0,c.getStringOption)(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=(0,c.getInteger)({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?(0,c.getMeasurement)(e.h):"";this.hAlign=(0,c.getStringOption)(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=(0,c.getMeasurement)(e.maxH,"0pt");this.maxW=(0,c.getMeasurement)(e.maxW,"0pt");this.minH=(0,c.getMeasurement)(e.minH,"0pt");this.minW=(0,c.getMeasurement)(e.minW,"0pt");this.name=e.name||"";this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=(0,c.getRelevant)(e.relevant);this.rotate=(0,c.getInteger)({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?(0,c.getMeasurement)(e.w):"";this.x=(0,c.getMeasurement)(e.x,"0pt");this.y=(0,c.getMeasurement)(e.y,"0pt");this.assist=null;this.border=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.value=null;this.setProperty=new o.XFAObjectArray}[r.$setValue](e){_setValue(this,e)}[r.$toHTML](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence)return c.HTMLResult.EMPTY;(0,s.fixDimensions)(this);this[r.$pushPara]();const t=this.w,a=this.h,{w:n,h:o,isBroken:l}=(0,s.layoutNode)(this,e);if(n&&""===this.w){if(l&&this[r.$getSubformParent]()[r.$isThereMoreWidth]()){this[r.$popPara]();return c.HTMLResult.FAILURE}this.w=n}o&&""===this.h&&(this.h=o);setFirstUnsplittable(this);if(!(0,i.checkDimensions)(this,e)){this.w=t;this.h=a;this[r.$popPara]();return c.HTMLResult.FAILURE}unsetFirstUnsplittable(this);const h=(0,s.toStyle)(this,"font","hAlign","dimensions","position","presence","rotate","anchorType","border","margin");(0,s.setMinMaxDimensions)(this,h);if(h.margin){h.padding=h.margin;delete h.margin}const u=["xfaDraw"];this.font&&u.push("xfaFont");(0,s.isPrintOnly)(this)&&u.push("xfaPrintOnly");const d={style:h,id:this[r.$uid],class:u};this.name&&(d.xfaName=this.name);const f={name:"div",attributes:d,children:[]};applyAssist(this,d);const g=(0,s.computeBbox)(this,f,e),p=this.value?this.value[r.$toHTML](e).html:null;if(null===p){this.w=t;this.h=a;this[r.$popPara]();return c.HTMLResult.success((0,s.createWrapper)(this,f),g)}f.children.push(p);(0,s.setPara)(this,h,p);this.w=t;this.h=a;this[r.$popPara]();return c.HTMLResult.success((0,s.createWrapper)(this,f),g)}}class Edge extends o.XFAObject{constructor(e){super(f,"edge",!0);this.cap=(0,c.getStringOption)(e.cap,["square","butt","round"]);this.id=e.id||"";this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.stroke=(0,c.getStringOption)(e.stroke,["solid","dashDot","dashDotDot","dashed","dotted","embossed","etched","lowered","raised"]);this.thickness=(0,c.getMeasurement)(e.thickness,"0.5pt");this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[r.$toStyle](){const e=(0,s.toStyle)(this,"visibility");Object.assign(e,{linecap:this.cap,width:(0,s.measureToString)(this.thickness),color:this.color?this.color[r.$toStyle]():"#000000",style:""});if("visible"!==this.presence)e.style="none";else switch(this.stroke){case"solid":e.style="solid";break;case"dashDot":case"dashDotDot":case"dashed":e.style="dashed";break;case"dotted":e.style="dotted";break;case"embossed":e.style="ridge";break;case"etched":e.style="groove";break;case"lowered":e.style="inset";break;case"raised":e.style="outset"}return e}}class Encoding extends o.OptionObject{constructor(e){super(f,"encoding",["adbe.x509.rsa_sha1","adbe.pkcs7.detached","adbe.pkcs7.sha1"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Encodings extends o.XFAObject{constructor(e){super(f,"encodings",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encoding=new o.XFAObjectArray}}class Encrypt extends o.XFAObject{constructor(e){super(f,"encrypt",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=null}}class EncryptData extends o.XFAObject{constructor(e){super(f,"encryptData",!0);this.id=e.id||"";this.operation=(0,c.getStringOption)(e.operation,["encrypt","decrypt"]);this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Encryption extends o.XFAObject{constructor(e){super(f,"encryption",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new o.XFAObjectArray}}class EncryptionMethod extends o.OptionObject{constructor(e){super(f,"encryptionMethod",["","AES256-CBC","TRIPLEDES-CBC","AES128-CBC","AES192-CBC"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EncryptionMethods extends o.XFAObject{constructor(e){super(f,"encryptionMethods",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.encryptionMethod=new o.XFAObjectArray}}class Event extends o.XFAObject{constructor(e){super(f,"event",!0);this.activity=(0,c.getStringOption)(e.activity,["click","change","docClose","docReady","enter","exit","full","indexChange","initialize","mouseDown","mouseEnter","mouseExit","mouseUp","postExecute","postOpen","postPrint","postSave","postSign","postSubmit","preExecute","preOpen","prePrint","preSave","preSign","preSubmit","ready","validationState"]);this.id=e.id||"";this.listen=(0,c.getStringOption)(e.listen,["refOnly","refAndDescendents"]);this.name=e.name||"";this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.encryptData=null;this.execute=null;this.script=null;this.signData=null;this.submit=null}}class ExData extends o.ContentObject{constructor(e){super(f,"exData");this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.maxLength=(0,c.getInteger)({data:e.maxLength,defaultValue:-1,validate:e=>e>=-1});this.name=e.name||"";this.rid=e.rid||"";this.transferEncoding=(0,c.getStringOption)(e.transferEncoding,["none","base64","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[r.$isCDATAXml](){return"text/html"===this.contentType}[r.$onChild](e){if("text/html"===this.contentType&&e[r.$namespaceId]===n.NamespaceIds.xhtml.id){this[r.$content]=e;return!0}if("text/xml"===this.contentType){this[r.$content]=e;return!0}return!1}[r.$toHTML](e){return"text/html"===this.contentType&&this[r.$content]?this[r.$content][r.$toHTML](e):c.HTMLResult.EMPTY}}class ExObject extends o.XFAObject{constructor(e){super(f,"exObject",!0);this.archive=e.archive||"";this.classId=e.classId||"";this.codeBase=e.codeBase||"";this.codeType=e.codeType||"";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.boolean=new o.XFAObjectArray;this.date=new o.XFAObjectArray;this.dateTime=new o.XFAObjectArray;this.decimal=new o.XFAObjectArray;this.exData=new o.XFAObjectArray;this.exObject=new o.XFAObjectArray;this.float=new o.XFAObjectArray;this.image=new o.XFAObjectArray;this.integer=new o.XFAObjectArray;this.text=new o.XFAObjectArray;this.time=new o.XFAObjectArray}}class ExclGroup extends o.XFAObject{constructor(e){super(f,"exclGroup",!0);this.access=(0,c.getStringOption)(e.access,["open","nonInteractive","protected","readOnly"]);this.accessKey=e.accessKey||"";this.anchorType=(0,c.getStringOption)(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=(0,c.getInteger)({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.h=e.h?(0,c.getMeasurement)(e.h):"";this.hAlign=(0,c.getStringOption)(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=(0,c.getStringOption)(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.maxH=(0,c.getMeasurement)(e.maxH,"0pt");this.maxW=(0,c.getMeasurement)(e.maxW,"0pt");this.minH=(0,c.getMeasurement)(e.minH,"0pt");this.minW=(0,c.getMeasurement)(e.minW,"0pt");this.name=e.name||"";this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=(0,c.getRelevant)(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?(0,c.getMeasurement)(e.w):"";this.x=(0,c.getMeasurement)(e.x,"0pt");this.y=(0,c.getMeasurement)(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.margin=null;this.para=null;this.traversal=null;this.validate=null;this.connect=new o.XFAObjectArray;this.event=new o.XFAObjectArray;this.field=new o.XFAObjectArray;this.setProperty=new o.XFAObjectArray}[r.$isBindable](){return!0}[r.$hasSettableValue](){return!0}[r.$setValue](e){for(const t of this.field.children){if(!t.value){const e=new Value({});t[r.$appendChild](e);t.value=e}t.value[r.$setValue](e)}}[r.$isThereMoreWidth](){return this.layout.endsWith("-tb")&&0===this[r.$extra].attempt&&this[r.$extra].numberInLine>0||this[r.$getParent]()[r.$isThereMoreWidth]()}[r.$isSplittable](){const e=this[r.$getSubformParent]();if(!e[r.$isSplittable]())return!1;if(void 0!==this[r.$extra]._isSplittable)return this[r.$extra]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[r.$extra]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[r.$extra].numberInLine)return!1;this[r.$extra]._isSplittable=!0;return!0}[r.$flushHTML](){return(0,i.flushHTML)(this)}[r.$addHTML](e,t){(0,i.addHTML)(this,e,t)}[r.$getAvailableSpace](){return(0,i.getAvailableSpace)(this)}[r.$toHTML](e){setTabIndex(this);if("hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return c.HTMLResult.EMPTY;(0,s.fixDimensions)(this);const t=[],a={id:this[r.$uid],class:[]};(0,s.setAccess)(this,a.class);this[r.$extra]||(this[r.$extra]=Object.create(null));Object.assign(this[r.$extra],{children:t,attributes:a,attempt:0,line:null,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const n=this[r.$isSplittable]();n||setFirstUnsplittable(this);if(!(0,i.checkDimensions)(this,e))return c.HTMLResult.FAILURE;const o=new Set(["field"]);if(this.layout.includes("row")){const e=this[r.$getSubformParent]().columnWidths;if(Array.isArray(e)&&e.length>0){this[r.$extra].columnWidths=e;this[r.$extra].currentColumn=0}}const l=(0,s.toStyle)(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),h=["xfaExclgroup"],u=(0,s.layoutClass)(this);u&&h.push(u);(0,s.isPrintOnly)(this)&&h.push("xfaPrintOnly");a.style=l;a.class=h;this.name&&(a.xfaName=this.name);this[r.$pushPara]();const d="lr-tb"===this.layout||"rl-tb"===this.layout,f=d?2:1;for(;this[r.$extra].attempte>=1||-1===e});this.h=e.h?(0,c.getMeasurement)(e.h):"";this.hAlign=(0,c.getStringOption)(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.locale=e.locale||"";this.maxH=(0,c.getMeasurement)(e.maxH,"0pt");this.maxW=(0,c.getMeasurement)(e.maxW,"0pt");this.minH=(0,c.getMeasurement)(e.minH,"0pt");this.minW=(0,c.getMeasurement)(e.minW,"0pt");this.name=e.name||"";this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=(0,c.getRelevant)(e.relevant);this.rotate=(0,c.getInteger)({data:e.rotate,defaultValue:0,validate:e=>e%90==0});this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?(0,c.getMeasurement)(e.w):"";this.x=(0,c.getMeasurement)(e.x,"0pt");this.y=(0,c.getMeasurement)(e.y,"0pt");this.assist=null;this.bind=null;this.border=null;this.calculate=null;this.caption=null;this.desc=null;this.extras=null;this.font=null;this.format=null;this.items=new o.XFAObjectArray(2);this.keep=null;this.margin=null;this.para=null;this.traversal=null;this.ui=null;this.validate=null;this.value=null;this.bindItems=new o.XFAObjectArray;this.connect=new o.XFAObjectArray;this.event=new o.XFAObjectArray;this.setProperty=new o.XFAObjectArray}[r.$isBindable](){return!0}[r.$setValue](e){_setValue(this,e)}[r.$toHTML](e){setTabIndex(this);if(!this.ui){this.ui=new Ui({});this.ui[r.$globalData]=this[r.$globalData];this[r.$appendChild](this.ui);let e;switch(this.items.children.length){case 0:e=new TextEdit({});this.ui.textEdit=e;break;case 1:e=new CheckButton({});this.ui.checkButton=e;break;case 2:e=new ChoiceList({});this.ui.choiceList=e}this.ui[r.$appendChild](e)}if(!this.ui||"hidden"===this.presence||"inactive"===this.presence||0===this.h||0===this.w)return c.HTMLResult.EMPTY;this.caption&&delete this.caption[r.$extra];this[r.$pushPara]();const t=this.caption?this.caption[r.$toHTML](e).html:null,a=this.w,n=this.h;let o=0,l=0;if(this.margin){o=this.margin.leftInset+this.margin.rightInset;l=this.margin.topInset+this.margin.bottomInset}let u=null;if(""===this.w||""===this.h){let t=null,a=null,n=0,i=0;if(this.ui.checkButton)n=i=this.ui.checkButton.size;else{const{w:t,h:a}=(0,s.layoutNode)(this,e);if(null!==t){n=t;i=a}else i=(0,h.getMetrics)(this.font,!0).lineNoGap}u=getBorderDims(this.ui[r.$getExtra]());n+=u.w;i+=u.h;if(this.caption){const{w:s,h:o,isBroken:l}=this.caption[r.$getExtra](e);if(l&&this[r.$getSubformParent]()[r.$isThereMoreWidth]()){this[r.$popPara]();return c.HTMLResult.FAILURE}t=s;a=o;switch(this.caption.placement){case"left":case"right":case"inline":t+=n;break;case"top":case"bottom":a+=i}}else{t=n;a=i}if(t&&""===this.w){t+=o;this.w=Math.min(this.maxW<=0?1/0:this.maxW,this.minW+1e>=1&&e<=5});this.appearanceFilter=null;this.certificates=null;this.digestMethods=null;this.encodings=null;this.encryptionMethods=null;this.handler=null;this.lockDocument=null;this.mdp=null;this.reasons=null;this.timeStamp=null}}class Float extends o.ContentObject{constructor(e){super(f,"float");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$finalize](){const e=parseFloat(this[r.$content].trim());this[r.$content]=isNaN(e)?null:e}[r.$toHTML](e){return valueToHtml(null!==this[r.$content]?this[r.$content].toString():"")}}class Font extends o.XFAObject{constructor(e){super(f,"font",!0);this.baselineShift=(0,c.getMeasurement)(e.baselineShift);this.fontHorizontalScale=(0,c.getFloat)({data:e.fontHorizontalScale,defaultValue:100,validate:e=>e>=0});this.fontVerticalScale=(0,c.getFloat)({data:e.fontVerticalScale,defaultValue:100,validate:e=>e>=0});this.id=e.id||"";this.kerningMode=(0,c.getStringOption)(e.kerningMode,["none","pair"]);this.letterSpacing=(0,c.getMeasurement)(e.letterSpacing,"0");this.lineThrough=(0,c.getInteger)({data:e.lineThrough,defaultValue:0,validate:e=>1===e||2===e});this.lineThroughPeriod=(0,c.getStringOption)(e.lineThroughPeriod,["all","word"]);this.overline=(0,c.getInteger)({data:e.overline,defaultValue:0,validate:e=>1===e||2===e});this.overlinePeriod=(0,c.getStringOption)(e.overlinePeriod,["all","word"]);this.posture=(0,c.getStringOption)(e.posture,["normal","italic"]);this.size=(0,c.getMeasurement)(e.size,"10pt");this.typeface=e.typeface||"Courier";this.underline=(0,c.getInteger)({data:e.underline,defaultValue:0,validate:e=>1===e||2===e});this.underlinePeriod=(0,c.getStringOption)(e.underlinePeriod,["all","word"]);this.use=e.use||"";this.usehref=e.usehref||"";this.weight=(0,c.getStringOption)(e.weight,["normal","bold"]);this.extras=null;this.fill=null}[r.$clean](e){super[r.$clean](e);this[r.$globalData].usedTypefaces.add(this.typeface)}[r.$toStyle](){const e=(0,s.toStyle)(this,"fill"),t=e.color;if(t)if("#000000"===t)delete e.color;else if(!t.startsWith("#")){e.background=t;e.backgroundClip="text";e.color="transparent"}this.baselineShift&&(e.verticalAlign=(0,s.measureToString)(this.baselineShift));e.fontKerning="none"===this.kerningMode?"none":"normal";e.letterSpacing=(0,s.measureToString)(this.letterSpacing);if(0!==this.lineThrough){e.textDecoration="line-through";2===this.lineThrough&&(e.textDecorationStyle="double")}if(0!==this.overline){e.textDecoration="overline";2===this.overline&&(e.textDecorationStyle="double")}e.fontStyle=this.posture;e.fontSize=(0,s.measureToString)(.99*this.size);(0,s.setFontFamily)(this,this,this[r.$globalData].fontFinder,e);if(0!==this.underline){e.textDecoration="underline";2===this.underline&&(e.textDecorationStyle="double")}e.fontWeight=this.weight;return e}}class Format extends o.XFAObject{constructor(e){super(f,"format",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null}}class Handler extends o.StringObject{constructor(e){super(f,"handler");this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Hyphenation extends o.XFAObject{constructor(e){super(f,"hyphenation");this.excludeAllCaps=(0,c.getInteger)({data:e.excludeAllCaps,defaultValue:0,validate:e=>1===e});this.excludeInitialCap=(0,c.getInteger)({data:e.excludeInitialCap,defaultValue:0,validate:e=>1===e});this.hyphenate=(0,c.getInteger)({data:e.hyphenate,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.pushCharacterCount=(0,c.getInteger)({data:e.pushCharacterCount,defaultValue:3,validate:e=>e>=0});this.remainCharacterCount=(0,c.getInteger)({data:e.remainCharacterCount,defaultValue:3,validate:e=>e>=0});this.use=e.use||"";this.usehref=e.usehref||"";this.wordCharacterCount=(0,c.getInteger)({data:e.wordCharacterCount,defaultValue:7,validate:e=>e>=0})}}class Image extends o.StringObject{constructor(e){super(f,"image");this.aspect=(0,c.getStringOption)(e.aspect,["fit","actual","height","none","width"]);this.contentType=e.contentType||"";this.href=e.href||"";this.id=e.id||"";this.name=e.name||"";this.transferEncoding=(0,c.getStringOption)(e.transferEncoding,["base64","none","package"]);this.use=e.use||"";this.usehref=e.usehref||""}[r.$toHTML](){if(this.contentType&&!m.has(this.contentType.toLowerCase()))return c.HTMLResult.EMPTY;let e=this[r.$globalData].images&&this[r.$globalData].images.get(this.href);if(!e&&(this.href||!this[r.$content]))return c.HTMLResult.EMPTY;e||"base64"!==this.transferEncoding||(e=(0,l.stringToBytes)(atob(this[r.$content])));if(!e)return c.HTMLResult.EMPTY;if(!this.contentType){for(const[t,a]of b)if(e.length>t.length&&t.every(((t,a)=>t===e[a]))){this.contentType=a;break}if(!this.contentType)return c.HTMLResult.EMPTY}const t=new Blob([e],{type:this.contentType});let a;switch(this.aspect){case"fit":case"actual":break;case"height":a={height:"100%",objectFit:"fill"};break;case"none":a={width:"100%",height:"100%",objectFit:"fill"};break;case"width":a={width:"100%",objectFit:"fill"}}const n=this[r.$getParent]();return c.HTMLResult.success({name:"img",attributes:{class:["xfaImage"],style:a,src:URL.createObjectURL(t),alt:n?ariaLabel(n[r.$getParent]()):null}})}}class ImageEdit extends o.XFAObject{constructor(e){super(f,"imageEdit",!0);this.data=(0,c.getStringOption)(e.data,["link","embed"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}[r.$toHTML](e){return"embed"===this.data?c.HTMLResult.success({name:"div",children:[],attributes:{}}):c.HTMLResult.EMPTY}}class Integer extends o.ContentObject{constructor(e){super(f,"integer");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$finalize](){const e=parseInt(this[r.$content].trim(),10);this[r.$content]=isNaN(e)?null:e}[r.$toHTML](e){return valueToHtml(null!==this[r.$content]?this[r.$content].toString():"")}}class Issuers extends o.XFAObject{constructor(e){super(f,"issuers",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new o.XFAObjectArray}}class Items extends o.XFAObject{constructor(e){super(f,"items",!0);this.id=e.id||"";this.name=e.name||"";this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.ref=e.ref||"";this.save=(0,c.getInteger)({data:e.save,defaultValue:0,validate:e=>1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new o.XFAObjectArray;this.date=new o.XFAObjectArray;this.dateTime=new o.XFAObjectArray;this.decimal=new o.XFAObjectArray;this.exData=new o.XFAObjectArray;this.float=new o.XFAObjectArray;this.image=new o.XFAObjectArray;this.integer=new o.XFAObjectArray;this.text=new o.XFAObjectArray;this.time=new o.XFAObjectArray}[r.$toHTML](){const e=[];for(const t of this[r.$getChildren]())e.push(t[r.$text]());return c.HTMLResult.success(e)}}t.Items=Items;class Keep extends o.XFAObject{constructor(e){super(f,"keep",!0);this.id=e.id||"";const t=["none","contentArea","pageArea"];this.intact=(0,c.getStringOption)(e.intact,t);this.next=(0,c.getStringOption)(e.next,t);this.previous=(0,c.getStringOption)(e.previous,t);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}}class KeyUsage extends o.XFAObject{constructor(e){super(f,"keyUsage");const t=["","yes","no"];this.crlSign=(0,c.getStringOption)(e.crlSign,t);this.dataEncipherment=(0,c.getStringOption)(e.dataEncipherment,t);this.decipherOnly=(0,c.getStringOption)(e.decipherOnly,t);this.digitalSignature=(0,c.getStringOption)(e.digitalSignature,t);this.encipherOnly=(0,c.getStringOption)(e.encipherOnly,t);this.id=e.id||"";this.keyAgreement=(0,c.getStringOption)(e.keyAgreement,t);this.keyCertSign=(0,c.getStringOption)(e.keyCertSign,t);this.keyEncipherment=(0,c.getStringOption)(e.keyEncipherment,t);this.nonRepudiation=(0,c.getStringOption)(e.nonRepudiation,t);this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Line extends o.XFAObject{constructor(e){super(f,"line",!0);this.hand=(0,c.getStringOption)(e.hand,["even","left","right"]);this.id=e.id||"";this.slope=(0,c.getStringOption)(e.slope,["\\","/"]);this.use=e.use||"";this.usehref=e.usehref||"";this.edge=null}[r.$toHTML](){const e=this[r.$getParent]()[r.$getParent](),t=this.edge||new Edge({}),a=t[r.$toStyle](),n=Object.create(null),i="visible"===t.presence?t.thickness:0;n.strokeWidth=(0,s.measureToString)(i);n.stroke=a.color;let o,l,h,u,d="100%",f="100%";if(e.w<=i){[o,l,h,u]=["50%",0,"50%","100%"];d=n.strokeWidth}else if(e.h<=i){[o,l,h,u]=[0,"50%","100%","50%"];f=n.strokeWidth}else"\\"===this.slope?[o,l,h,u]=[0,0,"100%","100%"]:[o,l,h,u]=[0,"100%","100%",0];const p={name:"svg",children:[{name:"line",attributes:{xmlns:g,x1:o,y1:l,x2:h,y2:u,style:n}}],attributes:{xmlns:g,width:d,height:f,style:{overflow:"visible"}}};if(hasMargin(e))return c.HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[p]});p.attributes.style.position="absolute";return c.HTMLResult.success(p)}}class Linear extends o.XFAObject{constructor(e){super(f,"linear",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["toRight","toBottom","toLeft","toTop"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[r.$toStyle](e){e=e?e[r.$toStyle]():"#FFFFFF";return`linear-gradient(${this.type.replace(/([RBLT])/," $1").toLowerCase()}, ${e}, ${this.color?this.color[r.$toStyle]():"#000000"})`}}class LockDocument extends o.ContentObject{constructor(e){super(f,"lockDocument");this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}[r.$finalize](){this[r.$content]=(0,c.getStringOption)(this[r.$content],["auto","0","1"])}}class Manifest extends o.XFAObject{constructor(e){super(f,"manifest",!0);this.action=(0,c.getStringOption)(e.action,["include","all","exclude"]);this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.ref=new o.XFAObjectArray}}class Margin extends o.XFAObject{constructor(e){super(f,"margin",!0);this.bottomInset=(0,c.getMeasurement)(e.bottomInset,"0");this.id=e.id||"";this.leftInset=(0,c.getMeasurement)(e.leftInset,"0");this.rightInset=(0,c.getMeasurement)(e.rightInset,"0");this.topInset=(0,c.getMeasurement)(e.topInset,"0");this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[r.$toStyle](){return{margin:(0,s.measureToString)(this.topInset)+" "+(0,s.measureToString)(this.rightInset)+" "+(0,s.measureToString)(this.bottomInset)+" "+(0,s.measureToString)(this.leftInset)}}}class Mdp extends o.XFAObject{constructor(e){super(f,"mdp");this.id=e.id||"";this.permissions=(0,c.getInteger)({data:e.permissions,defaultValue:2,validate:e=>1===e||3===e});this.signatureType=(0,c.getStringOption)(e.signatureType,["filler","author"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Medium extends o.XFAObject{constructor(e){super(f,"medium");this.id=e.id||"";this.imagingBBox=(0,c.getBBox)(e.imagingBBox);this.long=(0,c.getMeasurement)(e.long);this.orientation=(0,c.getStringOption)(e.orientation,["portrait","landscape"]);this.short=(0,c.getMeasurement)(e.short);this.stock=e.stock||"";this.trayIn=(0,c.getStringOption)(e.trayIn,["auto","delegate","pageFront"]);this.trayOut=(0,c.getStringOption)(e.trayOut,["auto","delegate"]);this.use=e.use||"";this.usehref=e.usehref||""}}class Message extends o.XFAObject{constructor(e){super(f,"message",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.text=new o.XFAObjectArray}}class NumericEdit extends o.XFAObject{constructor(e){super(f,"numericEdit",!0);this.hScrollPolicy=(0,c.getStringOption)(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.comb=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(this,"border","font","margin"),a=this[r.$getParent]()[r.$getParent](),n={name:"input",attributes:{type:"text",fieldId:a[r.$uid],dataId:a[r.$data]?.[r.$uid]||a[r.$uid],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(a),"aria-required":!1}};if(isRequired(a)){n.attributes["aria-required"]=!0;n.attributes.required=!0}return c.HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[n]})}}class Occur extends o.XFAObject{constructor(e){super(f,"occur",!0);this.id=e.id||"";this.initial=""!==e.initial?(0,c.getInteger)({data:e.initial,defaultValue:"",validate:e=>!0}):"";this.max=""!==e.max?(0,c.getInteger)({data:e.max,defaultValue:1,validate:e=>!0}):"";this.min=""!==e.min?(0,c.getInteger)({data:e.min,defaultValue:1,validate:e=>!0}):"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[r.$clean](){const e=this[r.$getParent](),t=this.min;""===this.min&&(this.min=e instanceof PageArea||e instanceof PageSet?0:1);""===this.max&&(this.max=""===t?e instanceof PageArea||e instanceof PageSet?-1:1:this.min);-1!==this.max&&this.max!0});this.name=e.name||"";this.numbered=(0,c.getInteger)({data:e.numbered,defaultValue:1,validate:e=>!0});this.oddOrEven=(0,c.getStringOption)(e.oddOrEven,["any","even","odd"]);this.pagePosition=(0,c.getStringOption)(e.pagePosition,["any","first","last","only","rest"]);this.relevant=(0,c.getRelevant)(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.desc=null;this.extras=null;this.medium=null;this.occur=null;this.area=new o.XFAObjectArray;this.contentArea=new o.XFAObjectArray;this.draw=new o.XFAObjectArray;this.exclGroup=new o.XFAObjectArray;this.field=new o.XFAObjectArray;this.subform=new o.XFAObjectArray}[r.$isUsable](){if(!this[r.$extra]){this[r.$extra]={numberOfUse:0};return!0}return!this.occur||-1===this.occur.max||this[r.$extra].numberOfUsee.oddOrEven===t&&e.pagePosition===a));if(n)return n;n=this.pageArea.children.find((e=>"any"===e.oddOrEven&&e.pagePosition===a));if(n)return n;n=this.pageArea.children.find((e=>"any"===e.oddOrEven&&"any"===e.pagePosition));return n||this.pageArea.children[0]}}class Para extends o.XFAObject{constructor(e){super(f,"para",!0);this.hAlign=(0,c.getStringOption)(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.lineHeight=e.lineHeight?(0,c.getMeasurement)(e.lineHeight,"0pt"):"";this.marginLeft=e.marginLeft?(0,c.getMeasurement)(e.marginLeft,"0pt"):"";this.marginRight=e.marginRight?(0,c.getMeasurement)(e.marginRight,"0pt"):"";this.orphans=(0,c.getInteger)({data:e.orphans,defaultValue:0,validate:e=>e>=0});this.preserve=e.preserve||"";this.radixOffset=e.radixOffset?(0,c.getMeasurement)(e.radixOffset,"0pt"):"";this.spaceAbove=e.spaceAbove?(0,c.getMeasurement)(e.spaceAbove,"0pt"):"";this.spaceBelow=e.spaceBelow?(0,c.getMeasurement)(e.spaceBelow,"0pt"):"";this.tabDefault=e.tabDefault?(0,c.getMeasurement)(this.tabDefault):"";this.tabStops=(e.tabStops||"").trim().split(/\s+/).map(((e,t)=>t%2==1?(0,c.getMeasurement)(e):e));this.textIndent=e.textIndent?(0,c.getMeasurement)(e.textIndent,"0pt"):"";this.use=e.use||"";this.usehref=e.usehref||"";this.vAlign=(0,c.getStringOption)(e.vAlign,["top","bottom","middle"]);this.widows=(0,c.getInteger)({data:e.widows,defaultValue:0,validate:e=>e>=0});this.hyphenation=null}[r.$toStyle](){const e=(0,s.toStyle)(this,"hAlign");""!==this.marginLeft&&(e.paddingLeft=(0,s.measureToString)(this.marginLeft));""!==this.marginRight&&(e.paddingight=(0,s.measureToString)(this.marginRight));""!==this.spaceAbove&&(e.paddingTop=(0,s.measureToString)(this.spaceAbove));""!==this.spaceBelow&&(e.paddingBottom=(0,s.measureToString)(this.spaceBelow));if(""!==this.textIndent){e.textIndent=(0,s.measureToString)(this.textIndent);(0,s.fixTextIndent)(e)}this.lineHeight>0&&(e.lineHeight=(0,s.measureToString)(this.lineHeight));""!==this.tabDefault&&(e.tabSize=(0,s.measureToString)(this.tabDefault));this.tabStops.length;this.hyphenatation&&Object.assign(e,this.hyphenatation[r.$toStyle]());return e}}class PasswordEdit extends o.XFAObject{constructor(e){super(f,"passwordEdit",!0);this.hScrollPolicy=(0,c.getStringOption)(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.passwordChar=e.passwordChar||"*";this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.margin=null}}class Pattern extends o.XFAObject{constructor(e){super(f,"pattern",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["crossHatch","crossDiagonal","diagonalLeft","diagonalRight","horizontal","vertical"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[r.$toStyle](e){e=e?e[r.$toStyle]():"#FFFFFF";const t=this.color?this.color[r.$toStyle]():"#000000",a="repeating-linear-gradient",n=`${e},${e} 5px,${t} 5px,${t} 10px`;switch(this.type){case"crossHatch":return`${a}(to top,${n}) ${a}(to right,${n})`;case"crossDiagonal":return`${a}(45deg,${n}) ${a}(-45deg,${n})`;case"diagonalLeft":return`${a}(45deg,${n})`;case"diagonalRight":return`${a}(-45deg,${n})`;case"horizontal":return`${a}(to top,${n})`;case"vertical":return`${a}(to right,${n})`}return""}}class Picture extends o.StringObject{constructor(e){super(f,"picture");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Proto extends o.XFAObject{constructor(e){super(f,"proto",!0);this.appearanceFilter=new o.XFAObjectArray;this.arc=new o.XFAObjectArray;this.area=new o.XFAObjectArray;this.assist=new o.XFAObjectArray;this.barcode=new o.XFAObjectArray;this.bindItems=new o.XFAObjectArray;this.bookend=new o.XFAObjectArray;this.boolean=new o.XFAObjectArray;this.border=new o.XFAObjectArray;this.break=new o.XFAObjectArray;this.breakAfter=new o.XFAObjectArray;this.breakBefore=new o.XFAObjectArray;this.button=new o.XFAObjectArray;this.calculate=new o.XFAObjectArray;this.caption=new o.XFAObjectArray;this.certificate=new o.XFAObjectArray;this.certificates=new o.XFAObjectArray;this.checkButton=new o.XFAObjectArray;this.choiceList=new o.XFAObjectArray;this.color=new o.XFAObjectArray;this.comb=new o.XFAObjectArray;this.connect=new o.XFAObjectArray;this.contentArea=new o.XFAObjectArray;this.corner=new o.XFAObjectArray;this.date=new o.XFAObjectArray;this.dateTime=new o.XFAObjectArray;this.dateTimeEdit=new o.XFAObjectArray;this.decimal=new o.XFAObjectArray;this.defaultUi=new o.XFAObjectArray;this.desc=new o.XFAObjectArray;this.digestMethod=new o.XFAObjectArray;this.digestMethods=new o.XFAObjectArray;this.draw=new o.XFAObjectArray;this.edge=new o.XFAObjectArray;this.encoding=new o.XFAObjectArray;this.encodings=new o.XFAObjectArray;this.encrypt=new o.XFAObjectArray;this.encryptData=new o.XFAObjectArray;this.encryption=new o.XFAObjectArray;this.encryptionMethod=new o.XFAObjectArray;this.encryptionMethods=new o.XFAObjectArray;this.event=new o.XFAObjectArray;this.exData=new o.XFAObjectArray;this.exObject=new o.XFAObjectArray;this.exclGroup=new o.XFAObjectArray;this.execute=new o.XFAObjectArray;this.extras=new o.XFAObjectArray;this.field=new o.XFAObjectArray;this.fill=new o.XFAObjectArray;this.filter=new o.XFAObjectArray;this.float=new o.XFAObjectArray;this.font=new o.XFAObjectArray;this.format=new o.XFAObjectArray;this.handler=new o.XFAObjectArray;this.hyphenation=new o.XFAObjectArray;this.image=new o.XFAObjectArray;this.imageEdit=new o.XFAObjectArray;this.integer=new o.XFAObjectArray;this.issuers=new o.XFAObjectArray;this.items=new o.XFAObjectArray;this.keep=new o.XFAObjectArray;this.keyUsage=new o.XFAObjectArray;this.line=new o.XFAObjectArray;this.linear=new o.XFAObjectArray;this.lockDocument=new o.XFAObjectArray;this.manifest=new o.XFAObjectArray;this.margin=new o.XFAObjectArray;this.mdp=new o.XFAObjectArray;this.medium=new o.XFAObjectArray;this.message=new o.XFAObjectArray;this.numericEdit=new o.XFAObjectArray;this.occur=new o.XFAObjectArray;this.oid=new o.XFAObjectArray;this.oids=new o.XFAObjectArray;this.overflow=new o.XFAObjectArray;this.pageArea=new o.XFAObjectArray;this.pageSet=new o.XFAObjectArray;this.para=new o.XFAObjectArray;this.passwordEdit=new o.XFAObjectArray;this.pattern=new o.XFAObjectArray;this.picture=new o.XFAObjectArray;this.radial=new o.XFAObjectArray;this.reason=new o.XFAObjectArray;this.reasons=new o.XFAObjectArray;this.rectangle=new o.XFAObjectArray;this.ref=new o.XFAObjectArray;this.script=new o.XFAObjectArray;this.setProperty=new o.XFAObjectArray;this.signData=new o.XFAObjectArray;this.signature=new o.XFAObjectArray;this.signing=new o.XFAObjectArray;this.solid=new o.XFAObjectArray;this.speak=new o.XFAObjectArray;this.stipple=new o.XFAObjectArray;this.subform=new o.XFAObjectArray;this.subformSet=new o.XFAObjectArray;this.subjectDN=new o.XFAObjectArray;this.subjectDNs=new o.XFAObjectArray;this.submit=new o.XFAObjectArray;this.text=new o.XFAObjectArray;this.textEdit=new o.XFAObjectArray;this.time=new o.XFAObjectArray;this.timeStamp=new o.XFAObjectArray;this.toolTip=new o.XFAObjectArray;this.traversal=new o.XFAObjectArray;this.traverse=new o.XFAObjectArray;this.ui=new o.XFAObjectArray;this.validate=new o.XFAObjectArray;this.value=new o.XFAObjectArray;this.variables=new o.XFAObjectArray}}class Radial extends o.XFAObject{constructor(e){super(f,"radial",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["toEdge","toCenter"]);this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[r.$toStyle](e){e=e?e[r.$toStyle]():"#FFFFFF";const t=this.color?this.color[r.$toStyle]():"#000000";return`radial-gradient(circle at center, ${"toEdge"===this.type?`${e},${t}`:`${t},${e}`})`}}class Reason extends o.StringObject{constructor(e){super(f,"reason");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Reasons extends o.XFAObject{constructor(e){super(f,"reasons",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.reason=new o.XFAObjectArray}}class Rectangle extends o.XFAObject{constructor(e){super(f,"rectangle",!0);this.hand=(0,c.getStringOption)(e.hand,["even","left","right"]);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.corner=new o.XFAObjectArray(4);this.edge=new o.XFAObjectArray(4);this.fill=null}[r.$toHTML](){const e=this.edge.children.length?this.edge.children[0]:new Edge({}),t=e[r.$toStyle](),a=Object.create(null);"visible"===this.fill?.presence?Object.assign(a,this.fill[r.$toStyle]()):a.fill="transparent";a.strokeWidth=(0,s.measureToString)("visible"===e.presence?e.thickness:0);a.stroke=t.color;const n=(this.corner.children.length?this.corner.children[0]:new Corner({}))[r.$toStyle](),i={name:"svg",children:[{name:"rect",attributes:{xmlns:g,width:"100%",height:"100%",x:0,y:0,rx:n.radius,ry:n.radius,style:a}}],attributes:{xmlns:g,style:{overflow:"visible"},width:"100%",height:"100%"}};if(hasMargin(this[r.$getParent]()[r.$getParent]()))return c.HTMLResult.success({name:"div",attributes:{style:{display:"inline",width:"100%",height:"100%"}},children:[i]});i.attributes.style.position="absolute";return c.HTMLResult.success(i)}}class RefElement extends o.StringObject{constructor(e){super(f,"ref");this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Script extends o.StringObject{constructor(e){super(f,"script");this.binding=e.binding||"";this.contentType=e.contentType||"";this.id=e.id||"";this.name=e.name||"";this.runAt=(0,c.getStringOption)(e.runAt,["client","both","server"]);this.use=e.use||"";this.usehref=e.usehref||""}}class SetProperty extends o.XFAObject{constructor(e){super(f,"setProperty");this.connection=e.connection||"";this.ref=e.ref||"";this.target=e.target||""}}t.SetProperty=SetProperty;class SignData extends o.XFAObject{constructor(e){super(f,"signData",!0);this.id=e.id||"";this.operation=(0,c.getStringOption)(e.operation,["sign","clear","verify"]);this.ref=e.ref||"";this.target=e.target||"";this.use=e.use||"";this.usehref=e.usehref||"";this.filter=null;this.manifest=null}}class Signature extends o.XFAObject{constructor(e){super(f,"signature",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["PDF1.3","PDF1.6"]);this.use=e.use||"";this.usehref=e.usehref||"";this.border=null;this.extras=null;this.filter=null;this.manifest=null;this.margin=null}}class Signing extends o.XFAObject{constructor(e){super(f,"signing",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.certificate=new o.XFAObjectArray}}class Solid extends o.XFAObject{constructor(e){super(f,"solid",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null}[r.$toStyle](e){return e?e[r.$toStyle]():"#FFFFFF"}}class Speak extends o.StringObject{constructor(e){super(f,"speak");this.disable=(0,c.getInteger)({data:e.disable,defaultValue:0,validate:e=>1===e});this.id=e.id||"";this.priority=(0,c.getStringOption)(e.priority,["custom","caption","name","toolTip"]);this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Stipple extends o.XFAObject{constructor(e){super(f,"stipple",!0);this.id=e.id||"";this.rate=(0,c.getInteger)({data:e.rate,defaultValue:50,validate:e=>e>=0&&e<=100});this.use=e.use||"";this.usehref=e.usehref||"";this.color=null;this.extras=null}[r.$toStyle](e){const t=this.rate/100;return l.Util.makeHexColor(Math.round(e.value.r*(1-t)+this.value.r*t),Math.round(e.value.g*(1-t)+this.value.g*t),Math.round(e.value.b*(1-t)+this.value.b*t))}}class Subform extends o.XFAObject{constructor(e){super(f,"subform",!0);this.access=(0,c.getStringOption)(e.access,["open","nonInteractive","protected","readOnly"]);this.allowMacro=(0,c.getInteger)({data:e.allowMacro,defaultValue:0,validate:e=>1===e});this.anchorType=(0,c.getStringOption)(e.anchorType,["topLeft","bottomCenter","bottomLeft","bottomRight","middleCenter","middleLeft","middleRight","topCenter","topRight"]);this.colSpan=(0,c.getInteger)({data:e.colSpan,defaultValue:1,validate:e=>e>=1||-1===e});this.columnWidths=(e.columnWidths||"").trim().split(/\s+/).map((e=>"-1"===e?-1:(0,c.getMeasurement)(e)));this.h=e.h?(0,c.getMeasurement)(e.h):"";this.hAlign=(0,c.getStringOption)(e.hAlign,["left","center","justify","justifyAll","radix","right"]);this.id=e.id||"";this.layout=(0,c.getStringOption)(e.layout,["position","lr-tb","rl-row","rl-tb","row","table","tb"]);this.locale=e.locale||"";this.maxH=(0,c.getMeasurement)(e.maxH,"0pt");this.maxW=(0,c.getMeasurement)(e.maxW,"0pt");this.mergeMode=(0,c.getStringOption)(e.mergeMode,["consumeData","matchTemplate"]);this.minH=(0,c.getMeasurement)(e.minH,"0pt");this.minW=(0,c.getMeasurement)(e.minW,"0pt");this.name=e.name||"";this.presence=(0,c.getStringOption)(e.presence,["visible","hidden","inactive","invisible"]);this.relevant=(0,c.getRelevant)(e.relevant);this.restoreState=(0,c.getStringOption)(e.restoreState,["manual","auto"]);this.scope=(0,c.getStringOption)(e.scope,["name","none"]);this.use=e.use||"";this.usehref=e.usehref||"";this.w=e.w?(0,c.getMeasurement)(e.w):"";this.x=(0,c.getMeasurement)(e.x,"0pt");this.y=(0,c.getMeasurement)(e.y,"0pt");this.assist=null;this.bind=null;this.bookend=null;this.border=null;this.break=null;this.calculate=null;this.desc=null;this.extras=null;this.keep=null;this.margin=null;this.occur=null;this.overflow=null;this.pageSet=null;this.para=null;this.traversal=null;this.validate=null;this.variables=null;this.area=new o.XFAObjectArray;this.breakAfter=new o.XFAObjectArray;this.breakBefore=new o.XFAObjectArray;this.connect=new o.XFAObjectArray;this.draw=new o.XFAObjectArray;this.event=new o.XFAObjectArray;this.exObject=new o.XFAObjectArray;this.exclGroup=new o.XFAObjectArray;this.field=new o.XFAObjectArray;this.proto=new o.XFAObjectArray;this.setProperty=new o.XFAObjectArray;this.subform=new o.XFAObjectArray;this.subformSet=new o.XFAObjectArray}[r.$getSubformParent](){const e=this[r.$getParent]();return e instanceof SubformSet?e[r.$getSubformParent]():e}[r.$isBindable](){return!0}[r.$isThereMoreWidth](){return this.layout.endsWith("-tb")&&0===this[r.$extra].attempt&&this[r.$extra].numberInLine>0||this[r.$getParent]()[r.$isThereMoreWidth]()}*[r.$getContainedChildren](){yield*getContainedChildren(this)}[r.$flushHTML](){return(0,i.flushHTML)(this)}[r.$addHTML](e,t){(0,i.addHTML)(this,e,t)}[r.$getAvailableSpace](){return(0,i.getAvailableSpace)(this)}[r.$isSplittable](){const e=this[r.$getSubformParent]();if(!e[r.$isSplittable]())return!1;if(void 0!==this[r.$extra]._isSplittable)return this[r.$extra]._isSplittable;if("position"===this.layout||this.layout.includes("row")){this[r.$extra]._isSplittable=!1;return!1}if(this.keep&&"none"!==this.keep.intact){this[r.$extra]._isSplittable=!1;return!1}if(e.layout?.endsWith("-tb")&&0!==e[r.$extra].numberInLine)return!1;this[r.$extra]._isSplittable=!0;return!0}[r.$toHTML](e){setTabIndex(this);if(this.break){if("auto"!==this.break.after||""!==this.break.afterTarget){const e=new BreakAfter({targetType:this.break.after,target:this.break.afterTarget,startNew:this.break.startNew.toString()});e[r.$globalData]=this[r.$globalData];this[r.$appendChild](e);this.breakAfter.push(e)}if("auto"!==this.break.before||""!==this.break.beforeTarget){const e=new BreakBefore({targetType:this.break.before,target:this.break.beforeTarget,startNew:this.break.startNew.toString()});e[r.$globalData]=this[r.$globalData];this[r.$appendChild](e);this.breakBefore.push(e)}if(""!==this.break.overflowTarget){const e=new Overflow({target:this.break.overflowTarget,leader:this.break.overflowLeader,trailer:this.break.overflowTrailer});e[r.$globalData]=this[r.$globalData];this[r.$appendChild](e);this.overflow.push(e)}this[r.$removeChild](this.break);this.break=null}if("hidden"===this.presence||"inactive"===this.presence)return c.HTMLResult.EMPTY;(this.breakBefore.children.length>1||this.breakAfter.children.length>1)&&(0,l.warn)("XFA - Several breakBefore or breakAfter in subforms: please file a bug.");if(this.breakBefore.children.length>=1){const e=this.breakBefore.children[0];if(handleBreak(e))return c.HTMLResult.breakNode(e)}if(this[r.$extra]?.afterBreakAfter)return c.HTMLResult.EMPTY;(0,s.fixDimensions)(this);const t=[],a={id:this[r.$uid],class:[]};(0,s.setAccess)(this,a.class);this[r.$extra]||(this[r.$extra]=Object.create(null));Object.assign(this[r.$extra],{children:t,line:null,attributes:a,attempt:0,numberInLine:0,availableSpace:{width:Math.min(this.w||1/0,e.width),height:Math.min(this.h||1/0,e.height)},width:0,height:0,prevHeight:0,currentWidth:0});const n=this[r.$getTemplateRoot](),o=n[r.$extra].noLayoutFailure,h=this[r.$isSplittable]();h||setFirstUnsplittable(this);if(!(0,i.checkDimensions)(this,e))return c.HTMLResult.FAILURE;const u=new Set(["area","draw","exclGroup","field","subform","subformSet"]);if(this.layout.includes("row")){const e=this[r.$getSubformParent]().columnWidths;if(Array.isArray(e)&&e.length>0){this[r.$extra].columnWidths=e;this[r.$extra].currentColumn=0}}const d=(0,s.toStyle)(this,"anchorType","dimensions","position","presence","border","margin","hAlign"),f=["xfaSubform"],g=(0,s.layoutClass)(this);g&&f.push(g);a.style=d;a.class=f;this.name&&(a.xfaName=this.name);if(this.overflow){const t=this.overflow[r.$getExtra]();if(t.addLeader){t.addLeader=!1;handleOverflow(this,t.leader,e)}}this[r.$pushPara]();const p="lr-tb"===this.layout||"rl-tb"===this.layout,m=p?2:1;for(;this[r.$extra].attempt=1){const e=this.breakAfter.children[0];if(handleBreak(e)){this[r.$extra].afterBreakAfter=k;return c.HTMLResult.breakNode(e)}}delete this[r.$extra];return k}}class SubformSet extends o.XFAObject{constructor(e){super(f,"subformSet",!0);this.id=e.id||"";this.name=e.name||"";this.relation=(0,c.getStringOption)(e.relation,["ordered","choice","unordered"]);this.relevant=(0,c.getRelevant)(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.bookend=null;this.break=null;this.desc=null;this.extras=null;this.occur=null;this.overflow=null;this.breakAfter=new o.XFAObjectArray;this.breakBefore=new o.XFAObjectArray;this.subform=new o.XFAObjectArray;this.subformSet=new o.XFAObjectArray}*[r.$getContainedChildren](){yield*getContainedChildren(this)}[r.$getSubformParent](){let e=this[r.$getParent]();for(;!(e instanceof Subform);)e=e[r.$getParent]();return e}[r.$isBindable](){return!0}}class SubjectDN extends o.ContentObject{constructor(e){super(f,"subjectDN");this.delimiter=e.delimiter||",";this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$finalize](){this[r.$content]=new Map(this[r.$content].split(this.delimiter).map((e=>{(e=e.split("=",2))[0]=e[0].trim();return e})))}}class SubjectDNs extends o.XFAObject{constructor(e){super(f,"subjectDNs",!0);this.id=e.id||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||"";this.subjectDN=new o.XFAObjectArray}}class Submit extends o.XFAObject{constructor(e){super(f,"submit",!0);this.embedPDF=(0,c.getInteger)({data:e.embedPDF,defaultValue:0,validate:e=>1===e});this.format=(0,c.getStringOption)(e.format,["xdp","formdata","pdf","urlencoded","xfd","xml"]);this.id=e.id||"";this.target=e.target||"";this.textEncoding=(0,c.getKeyword)({data:e.textEncoding?e.textEncoding.toLowerCase():"",defaultValue:"",validate:e=>["utf-8","big-five","fontspecific","gbk","gb-18030","gb-2312","ksc-5601","none","shift-jis","ucs-2","utf-16"].includes(e)||e.match(/iso-8859-\d{2}/)});this.use=e.use||"";this.usehref=e.usehref||"";this.xdpContent=e.xdpContent||"";this.encrypt=null;this.encryptData=new o.XFAObjectArray;this.signData=new o.XFAObjectArray}}class Template extends o.XFAObject{constructor(e){super(f,"template",!0);this.baseProfile=(0,c.getStringOption)(e.baseProfile,["full","interactiveForms"]);this.extras=null;this.subform=new o.XFAObjectArray}[r.$finalize](){0===this.subform.children.length&&(0,l.warn)("XFA - No subforms in template node.");this.subform.children.length>=2&&(0,l.warn)("XFA - Several subforms in template node: please file a bug.");this[r.$tabIndex]=5e3}[r.$isSplittable](){return!0}[r.$searchNode](e,t){return e.startsWith("#")?[this[r.$ids].get(e.slice(1))]:(0,d.searchNode)(this,t,e,!0,!0)}*[r.$toPages](){if(!this.subform.children.length)return c.HTMLResult.success({name:"div",children:[]});this[r.$extra]={overflowNode:null,firstUnsplittable:null,currentContentArea:null,currentPageArea:null,noLayoutFailure:!1,pageNumber:1,pagePosition:"first",oddOrEven:"odd",blankOrNotBlank:"nonBlank",paraStack:[]};const e=this.subform.children[0];e.pageSet[r.$cleanPage]();const t=e.pageSet.pageArea.children,a={name:"div",children:[]};let n=null,i=null,s=null;if(e.breakBefore.children.length>=1){i=e.breakBefore.children[0];s=i.target}else if(e.subform.children.length>=1&&e.subform.children[0].breakBefore.children.length>=1){i=e.subform.children[0].breakBefore.children[0];s=i.target}else if(e.break?.beforeTarget){i=e.break;s=i.beforeTarget}else if(e.subform.children.length>=1&&e.subform.children[0].break?.beforeTarget){i=e.subform.children[0].break;s=i.beforeTarget}if(i){const e=this[r.$searchNode](s,i[r.$getParent]());if(e instanceof PageArea){n=e;i[r.$extra]={}}}n||(n=t[0]);n[r.$extra]={numberOfUse:1};const o=n[r.$getParent]();o[r.$extra]={numberOfUse:1,pageIndex:o.pageArea.children.indexOf(n),pageSetIndex:0};let h,u=null,d=null,f=!0,g=0,p=0;for(;;){if(f)g=0;else{a.children.pop();if(3==++g){(0,l.warn)("XFA - Something goes wrong: please file a bug.");return a}}h=null;this[r.$extra].currentPageArea=n;const t=n[r.$toHTML]().html;a.children.push(t);if(u){this[r.$extra].noLayoutFailure=!0;t.children.push(u[r.$toHTML](n[r.$extra].space).html);u=null}if(d){this[r.$extra].noLayoutFailure=!0;t.children.push(d[r.$toHTML](n[r.$extra].space).html);d=null}const i=n.contentArea.children,s=t.children.filter((e=>e.attributes.class.includes("xfaContentarea")));f=!1;this[r.$extra].firstUnsplittable=null;this[r.$extra].noLayoutFailure=!1;const flush=t=>{const a=e[r.$flushHTML]();if(a){f||=a.children?.length>0;s[t].children.push(a)}};for(let t=p,n=i.length;t0;s[t].children.push(c.html)}else!f&&a.children.length>1&&a.children.pop();return a}if(c.isBreak()){const e=c.breakNode;flush(t);if("auto"===e.targetType)continue;if(e.leader){u=this[r.$searchNode](e.leader,e[r.$getParent]());u=u?u[0]:null}if(e.trailer){d=this[r.$searchNode](e.trailer,e[r.$getParent]());d=d?d[0]:null}if("pageArea"===e.targetType){h=e[r.$extra].target;t=1/0}else if(e[r.$extra].target){h=e[r.$extra].target;p=e[r.$extra].index+1;t=1/0}else t=e[r.$extra].index}else if(this[r.$extra].overflowNode){const e=this[r.$extra].overflowNode;this[r.$extra].overflowNode=null;const a=e[r.$getExtra](),n=a.target;a.addLeader=null!==a.leader;a.addTrailer=null!==a.trailer;flush(t);const s=t;t=1/0;if(n instanceof PageArea)h=n;else if(n instanceof ContentArea){const e=i.indexOf(n);if(-1!==e)e>s?t=e-1:p=e;else{h=n[r.$getParent]();p=h.contentArea.children.indexOf(n)}}}else flush(t)}this[r.$extra].pageNumber+=1;h&&(h[r.$isUsable]()?h[r.$extra].numberOfUse+=1:h=null);n=h||n[r.$getNextPage]();yield null}}}t.Template=Template;class Text extends o.ContentObject{constructor(e){super(f,"text");this.id=e.id||"";this.maxChars=(0,c.getInteger)({data:e.maxChars,defaultValue:0,validate:e=>e>=0});this.name=e.name||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$acceptWhitespace](){return!0}[r.$onChild](e){if(e[r.$namespaceId]===n.NamespaceIds.xhtml.id){this[r.$content]=e;return!0}(0,l.warn)(`XFA - Invalid content in Text: ${e[r.$nodeName]}.`);return!1}[r.$onText](e){this[r.$content]instanceof o.XFAObject||super[r.$onText](e)}[r.$finalize](){"string"==typeof this[r.$content]&&(this[r.$content]=this[r.$content].replaceAll("\r\n","\n"))}[r.$getExtra](){return"string"==typeof this[r.$content]?this[r.$content].split(/[\u2029\u2028\n]/).reduce(((e,t)=>{t&&e.push(t);return e}),[]).join("\n"):this[r.$content][r.$text]()}[r.$toHTML](e){if("string"==typeof this[r.$content]){const e=valueToHtml(this[r.$content]).html;if(this[r.$content].includes("\u2029")){e.name="div";e.children=[];this[r.$content].split("\u2029").map((e=>e.split(/[\u2028\n]/).reduce(((e,t)=>{e.push({name:"span",value:t},{name:"br"});return e}),[]))).forEach((t=>{e.children.push({name:"p",children:t})}))}else if(/[\u2028\n]/.test(this[r.$content])){e.name="div";e.children=[];this[r.$content].split(/[\u2028\n]/).forEach((t=>{e.children.push({name:"span",value:t},{name:"br"})}))}return c.HTMLResult.success(e)}return this[r.$content][r.$toHTML](e)}}t.Text=Text;class TextEdit extends o.XFAObject{constructor(e){super(f,"textEdit",!0);this.allowRichText=(0,c.getInteger)({data:e.allowRichText,defaultValue:0,validate:e=>1===e});this.hScrollPolicy=(0,c.getStringOption)(e.hScrollPolicy,["auto","off","on"]);this.id=e.id||"";this.multiLine=(0,c.getInteger)({data:e.multiLine,defaultValue:"",validate:e=>0===e||1===e});this.use=e.use||"";this.usehref=e.usehref||"";this.vScrollPolicy=(0,c.getStringOption)(e.vScrollPolicy,["auto","off","on"]);this.border=null;this.comb=null;this.extras=null;this.margin=null}[r.$toHTML](e){const t=(0,s.toStyle)(this,"border","font","margin");let a;const n=this[r.$getParent]()[r.$getParent]();""===this.multiLine&&(this.multiLine=n instanceof Draw?1:0);a=1===this.multiLine?{name:"textarea",attributes:{dataId:n[r.$data]?.[r.$uid]||n[r.$uid],fieldId:n[r.$uid],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(n),"aria-required":!1}}:{name:"input",attributes:{type:"text",dataId:n[r.$data]?.[r.$uid]||n[r.$uid],fieldId:n[r.$uid],class:["xfaTextfield"],style:t,"aria-label":ariaLabel(n),"aria-required":!1}};if(isRequired(n)){a.attributes["aria-required"]=!0;a.attributes.required=!0}return c.HTMLResult.success({name:"label",attributes:{class:["xfaLabel"]},children:[a]})}}class Time extends o.StringObject{constructor(e){super(f,"time");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}[r.$finalize](){const e=this[r.$content].trim();this[r.$content]=e?new Date(e):null}[r.$toHTML](e){return valueToHtml(this[r.$content]?this[r.$content].toString():"")}}class TimeStamp extends o.XFAObject{constructor(e){super(f,"timeStamp");this.id=e.id||"";this.server=e.server||"";this.type=(0,c.getStringOption)(e.type,["optional","required"]);this.use=e.use||"";this.usehref=e.usehref||""}}class ToolTip extends o.StringObject{constructor(e){super(f,"toolTip");this.id=e.id||"";this.rid=e.rid||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Traversal extends o.XFAObject{constructor(e){super(f,"traversal",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.traverse=new o.XFAObjectArray}}class Traverse extends o.XFAObject{constructor(e){super(f,"traverse",!0);this.id=e.id||"";this.operation=(0,c.getStringOption)(e.operation,["next","back","down","first","left","right","up"]);this.ref=e.ref||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.script=null}get name(){return this.operation}[r.$isTransparent](){return!1}}class Ui extends o.XFAObject{constructor(e){super(f,"ui",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.picture=null;this.barcode=null;this.button=null;this.checkButton=null;this.choiceList=null;this.dateTimeEdit=null;this.defaultUi=null;this.imageEdit=null;this.numericEdit=null;this.passwordEdit=null;this.signature=null;this.textEdit=null}[r.$getExtra](){if(void 0===this[r.$extra]){for(const e of Object.getOwnPropertyNames(this)){if("extras"===e||"picture"===e)continue;const t=this[e];if(t instanceof o.XFAObject){this[r.$extra]=t;return t}}this[r.$extra]=null}return this[r.$extra]}[r.$toHTML](e){const t=this[r.$getExtra]();return t?t[r.$toHTML](e):c.HTMLResult.EMPTY}}class Validate extends o.XFAObject{constructor(e){super(f,"validate",!0);this.formatTest=(0,c.getStringOption)(e.formatTest,["warning","disabled","error"]);this.id=e.id||"";this.nullTest=(0,c.getStringOption)(e.nullTest,["disabled","error","warning"]);this.scriptTest=(0,c.getStringOption)(e.scriptTest,["error","disabled","warning"]);this.use=e.use||"";this.usehref=e.usehref||"";this.extras=null;this.message=null;this.picture=null;this.script=null}}class Value extends o.XFAObject{constructor(e){super(f,"value",!0);this.id=e.id||"";this.override=(0,c.getInteger)({data:e.override,defaultValue:0,validate:e=>1===e});this.relevant=(0,c.getRelevant)(e.relevant);this.use=e.use||"";this.usehref=e.usehref||"";this.arc=null;this.boolean=null;this.date=null;this.dateTime=null;this.decimal=null;this.exData=null;this.float=null;this.image=null;this.integer=null;this.line=null;this.rectangle=null;this.text=null;this.time=null}[r.$setValue](e){const t=this[r.$getParent]();if(t instanceof Field&&t.ui?.imageEdit){if(!this.image){this.image=new Image({});this[r.$appendChild](this.image)}this.image[r.$content]=e[r.$content];return}const a=e[r.$nodeName];if(null===this[a]){for(const e of Object.getOwnPropertyNames(this)){const t=this[e];if(t instanceof o.XFAObject){this[e]=null;this[r.$removeChild](t)}}this[e[r.$nodeName]]=e;this[r.$appendChild](e)}else this[a][r.$content]=e[r.$content]}[r.$text](){if(this.exData)return"string"==typeof this.exData[r.$content]?this.exData[r.$content].trim():this.exData[r.$content][r.$text]().trim();for(const e of Object.getOwnPropertyNames(this)){if("image"===e)continue;const t=this[e];if(t instanceof o.XFAObject)return(t[r.$content]||"").toString().trim()}return null}[r.$toHTML](e){for(const t of Object.getOwnPropertyNames(this)){const a=this[t];if(a instanceof o.XFAObject)return a[r.$toHTML](e)}return c.HTMLResult.EMPTY}}t.Value=Value;class Variables extends o.XFAObject{constructor(e){super(f,"variables",!0);this.id=e.id||"";this.use=e.use||"";this.usehref=e.usehref||"";this.boolean=new o.XFAObjectArray;this.date=new o.XFAObjectArray;this.dateTime=new o.XFAObjectArray;this.decimal=new o.XFAObjectArray;this.exData=new o.XFAObjectArray;this.float=new o.XFAObjectArray;this.image=new o.XFAObjectArray;this.integer=new o.XFAObjectArray;this.manifest=new o.XFAObjectArray;this.script=new o.XFAObjectArray;this.text=new o.XFAObjectArray;this.time=new o.XFAObjectArray}[r.$isTransparent](){return!0}}class TemplateNamespace{static[n.$buildXFAObject](e,t){if(TemplateNamespace.hasOwnProperty(e)){const a=TemplateNamespace[e](t);a[r.$setSetAttributes](t);return a}}static appearanceFilter(e){return new AppearanceFilter(e)}static arc(e){return new Arc(e)}static area(e){return new Area(e)}static assist(e){return new Assist(e)}static barcode(e){return new Barcode(e)}static bind(e){return new Bind(e)}static bindItems(e){return new BindItems(e)}static bookend(e){return new Bookend(e)}static boolean(e){return new BooleanElement(e)}static border(e){return new Border(e)}static break(e){return new Break(e)}static breakAfter(e){return new BreakAfter(e)}static breakBefore(e){return new BreakBefore(e)}static button(e){return new Button(e)}static calculate(e){return new Calculate(e)}static caption(e){return new Caption(e)}static certificate(e){return new Certificate(e)}static certificates(e){return new Certificates(e)}static checkButton(e){return new CheckButton(e)}static choiceList(e){return new ChoiceList(e)}static color(e){return new Color(e)}static comb(e){return new Comb(e)}static connect(e){return new Connect(e)}static contentArea(e){return new ContentArea(e)}static corner(e){return new Corner(e)}static date(e){return new DateElement(e)}static dateTime(e){return new DateTime(e)}static dateTimeEdit(e){return new DateTimeEdit(e)}static decimal(e){return new Decimal(e)}static defaultUi(e){return new DefaultUi(e)}static desc(e){return new Desc(e)}static digestMethod(e){return new DigestMethod(e)}static digestMethods(e){return new DigestMethods(e)}static draw(e){return new Draw(e)}static edge(e){return new Edge(e)}static encoding(e){return new Encoding(e)}static encodings(e){return new Encodings(e)}static encrypt(e){return new Encrypt(e)}static encryptData(e){return new EncryptData(e)}static encryption(e){return new Encryption(e)}static encryptionMethod(e){return new EncryptionMethod(e)}static encryptionMethods(e){return new EncryptionMethods(e)}static event(e){return new Event(e)}static exData(e){return new ExData(e)}static exObject(e){return new ExObject(e)}static exclGroup(e){return new ExclGroup(e)}static execute(e){return new Execute(e)}static extras(e){return new Extras(e)}static field(e){return new Field(e)}static fill(e){return new Fill(e)}static filter(e){return new Filter(e)}static float(e){return new Float(e)}static font(e){return new Font(e)}static format(e){return new Format(e)}static handler(e){return new Handler(e)}static hyphenation(e){return new Hyphenation(e)}static image(e){return new Image(e)}static imageEdit(e){return new ImageEdit(e)}static integer(e){return new Integer(e)}static issuers(e){return new Issuers(e)}static items(e){return new Items(e)}static keep(e){return new Keep(e)}static keyUsage(e){return new KeyUsage(e)}static line(e){return new Line(e)}static linear(e){return new Linear(e)}static lockDocument(e){return new LockDocument(e)}static manifest(e){return new Manifest(e)}static margin(e){return new Margin(e)}static mdp(e){return new Mdp(e)}static medium(e){return new Medium(e)}static message(e){return new Message(e)}static numericEdit(e){return new NumericEdit(e)}static occur(e){return new Occur(e)}static oid(e){return new Oid(e)}static oids(e){return new Oids(e)}static overflow(e){return new Overflow(e)}static pageArea(e){return new PageArea(e)}static pageSet(e){return new PageSet(e)}static para(e){return new Para(e)}static passwordEdit(e){return new PasswordEdit(e)}static pattern(e){return new Pattern(e)}static picture(e){return new Picture(e)}static proto(e){return new Proto(e)}static radial(e){return new Radial(e)}static reason(e){return new Reason(e)}static reasons(e){return new Reasons(e)}static rectangle(e){return new Rectangle(e)}static ref(e){return new RefElement(e)}static script(e){return new Script(e)}static setProperty(e){return new SetProperty(e)}static signData(e){return new SignData(e)}static signature(e){return new Signature(e)}static signing(e){return new Signing(e)}static solid(e){return new Solid(e)}static speak(e){return new Speak(e)}static stipple(e){return new Stipple(e)}static subform(e){return new Subform(e)}static subformSet(e){return new SubformSet(e)}static subjectDN(e){return new SubjectDN(e)}static subjectDNs(e){return new SubjectDNs(e)}static submit(e){return new Submit(e)}static template(e){return new Template(e)}static text(e){return new Text(e)}static textEdit(e){return new TextEdit(e)}static time(e){return new Time(e)}static timeStamp(e){return new TimeStamp(e)}static toolTip(e){return new ToolTip(e)}static traversal(e){return new Traversal(e)}static traverse(e){return new Traverse(e)}static ui(e){return new Ui(e)}static validate(e){return new Validate(e)}static value(e){return new Value(e)}static variables(e){return new Variables(e)}}t.TemplateNamespace=TemplateNamespace},(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.NamespaceIds=t.$buildXFAObject=void 0;const a=Symbol();t.$buildXFAObject=a;t.NamespaceIds={config:{id:0,check:e=>e.startsWith("http://www.xfa.org/schema/xci/")},connectionSet:{id:1,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-connection-set/")},datasets:{id:2,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-data/")},form:{id:3,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-form/")},localeSet:{id:4,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-locale-set/")},pdf:{id:5,check:e=>"http://ns.adobe.com/xdp/pdf/"===e},signature:{id:6,check:e=>"http://www.w3.org/2000/09/xmldsig#"===e},sourceSet:{id:7,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-source-set/")},stylesheet:{id:8,check:e=>"http://www.w3.org/1999/XSL/Transform"===e},template:{id:9,check:e=>e.startsWith("http://www.xfa.org/schema/xfa-template/")},xdc:{id:10,check:e=>e.startsWith("http://www.xfa.org/schema/xdc/")},xdp:{id:11,check:e=>"http://ns.adobe.com/xdp/"===e},xfdf:{id:12,check:e=>"http://ns.adobe.com/xfdf/"===e},xhtml:{id:13,check:e=>"http://www.w3.org/1999/xhtml"===e},xmpmeta:{id:14,check:e=>"http://ns.adobe.com/xmpmeta/"===e}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.addHTML=function addHTML(e,t,a){const i=e[r.$extra],s=i.availableSpace,[o,c,l,h]=a;switch(e.layout){case"position":i.width=Math.max(i.width,o+l);i.height=Math.max(i.height,c+h);i.children.push(t);break;case"lr-tb":case"rl-tb":if(!i.line||1===i.attempt){i.line=createLine(e,[]);i.children.push(i.line);i.numberInLine=0}i.numberInLine+=1;i.line.children.push(t);if(0===i.attempt){i.currentWidth+=l;i.height=Math.max(i.height,i.prevHeight+h)}else{i.currentWidth=l;i.prevHeight=i.height;i.height+=h;i.attempt=0}i.width=Math.max(i.width,i.currentWidth);break;case"rl-row":case"row":{i.children.push(t);i.width+=l;i.height=Math.max(i.height,h);const e=(0,n.measureToString)(i.height);for(const t of i.children)t.attributes.style.height=e;break}case"table":case"tb":i.width=Math.min(s.width,Math.max(i.width,l));i.height+=h;i.children.push(t)}};t.checkDimensions=function checkDimensions(e,t){if(null===e[r.$getTemplateRoot]()[r.$extra].firstUnsplittable)return!0;if(0===e.w||0===e.h)return!0;const a=e[r.$getSubformParent](),n=a[r.$extra]?.attempt||0,[,i,s,o]=function getTransformedBBox(e){let t,a,r=""===e.w?NaN:e.w,n=""===e.h?NaN:e.h,[i,s]=[0,0];switch(e.anchorType||""){case"bottomCenter":[i,s]=[r/2,n];break;case"bottomLeft":[i,s]=[0,n];break;case"bottomRight":[i,s]=[r,n];break;case"middleCenter":[i,s]=[r/2,n/2];break;case"middleLeft":[i,s]=[0,n/2];break;case"middleRight":[i,s]=[r,n/2];break;case"topCenter":[i,s]=[r/2,0];break;case"topRight":[i,s]=[r,0]}switch(e.rotate||0){case 0:[t,a]=[-i,-s];break;case 90:[t,a]=[-s,i];[r,n]=[n,-r];break;case 180:[t,a]=[i,s];[r,n]=[-r,-n];break;case 270:[t,a]=[s,-i];[r,n]=[-n,r]}return[e.x+t+Math.min(0,r),e.y+a+Math.min(0,n),Math.abs(r),Math.abs(n)]}(e);switch(a.layout){case"lr-tb":case"rl-tb":return 0===n?e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure?""!==e.w?Math.round(s-t.width)<=2:t.width>2:!(""!==e.h&&Math.round(o-t.height)>2)&&(""!==e.w?Math.round(s-t.width)<=2||0===a[r.$extra].numberInLine&&t.height>2:t.width>2):!!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure||!(""!==e.h&&Math.round(o-t.height)>2)&&((""===e.w||Math.round(s-t.width)<=2||!a[r.$isThereMoreWidth]())&&t.height>2);case"table":case"tb":return!!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure||(""===e.h||e[r.$isSplittable]()?(""===e.w||Math.round(s-t.width)<=2||!a[r.$isThereMoreWidth]())&&t.height>2:Math.round(o-t.height)<=2);case"position":if(e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure)return!0;if(""===e.h||Math.round(o+i-t.height)<=2)return!0;return o+i>e[r.$getTemplateRoot]()[r.$extra].currentContentArea.h;case"rl-row":case"row":return!!e[r.$getTemplateRoot]()[r.$extra].noLayoutFailure||(""===e.h||Math.round(o-t.height)<=2);default:return!0}};t.flushHTML=function flushHTML(e){if(!e[r.$extra])return null;const t={name:"div",attributes:e[r.$extra].attributes,children:e[r.$extra].children};if(e[r.$extra].failingNode){const a=e[r.$extra].failingNode[r.$flushHTML]();a&&(e.layout.endsWith("-tb")?t.children.push(createLine(e,[a])):t.children.push(a))}if(0===t.children.length)return null;return t};t.getAvailableSpace=function getAvailableSpace(e){const t=e[r.$extra].availableSpace,a=e.margin?e.margin.topInset+e.margin.bottomInset:0,n=e.margin?e.margin.leftInset+e.margin.rightInset:0;switch(e.layout){case"lr-tb":case"rl-tb":return 0===e[r.$extra].attempt?{width:t.width-n-e[r.$extra].currentWidth,height:t.height-a-e[r.$extra].prevHeight}:{width:t.width-n,height:t.height-a-e[r.$extra].height};case"rl-row":case"row":return{width:e[r.$extra].columnWidths.slice(e[r.$extra].currentColumn).reduce(((e,t)=>e+t)),height:t.height-n};case"table":case"tb":return{width:t.width-n,height:t.height-a-e[r.$extra].height};default:return t}};var r=a(78),n=a(83);function createLine(e,t){return{name:"div",attributes:{class:["lr-tb"===e.layout?"xfaLr":"xfaRl"]},children:t}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.computeBbox=function computeBbox(e,t,a){let n;if(""!==e.w&&""!==e.h)n=[e.x,e.y,e.w,e.h];else{if(!a)return null;let i=e.w;if(""===i){if(0===e.maxW){const t=e[r.$getSubformParent]();i="position"===t.layout&&""!==t.w?0:e.minW}else i=Math.min(e.maxW,a.width);t.attributes.style.width=measureToString(i)}let s=e.h;if(""===s){if(0===e.maxH){const t=e[r.$getSubformParent]();s="position"===t.layout&&""!==t.h?0:e.minH}else s=Math.min(e.maxH,a.height);t.attributes.style.height=measureToString(s)}n=[e.x,e.y,i,s]}return n};t.createWrapper=function createWrapper(e,t){const{attributes:a}=t,{style:n}=a,i={name:"div",attributes:{class:["xfaWrapper"],style:Object.create(null)},children:[]};a.class.push("xfaWrapped");if(e.border){const{widths:a,insets:s}=e.border[r.$extra];let o,c,l=s[0],h=s[3];const u=s[0]+s[2],d=s[1]+s[3];switch(e.border.hand){case"even":l-=a[0]/2;h-=a[3]/2;o=`calc(100% + ${(a[1]+a[3])/2-d}px)`;c=`calc(100% + ${(a[0]+a[2])/2-u}px)`;break;case"left":l-=a[0];h-=a[3];o=`calc(100% + ${a[1]+a[3]-d}px)`;c=`calc(100% + ${a[0]+a[2]-u}px)`;break;case"right":o=d?`calc(100% - ${d}px)`:"100%";c=u?`calc(100% - ${u}px)`:"100%"}const f=["xfaBorder"];isPrintOnly(e.border)&&f.push("xfaPrintOnly");const g={name:"div",attributes:{class:f,style:{top:`${l}px`,left:`${h}px`,width:o,height:c}},children:[]};for(const e of["border","borderWidth","borderColor","borderRadius","borderStyle"])if(void 0!==n[e]){g.attributes.style[e]=n[e];delete n[e]}i.children.push(g,t)}else i.children.push(t);for(const e of["background","backgroundClip","top","left","width","height","minWidth","minHeight","maxWidth","maxHeight","transform","transformOrigin","visibility"])if(void 0!==n[e]){i.attributes.style[e]=n[e];delete n[e]}i.attributes.style.position="absolute"===n.position?"absolute":"relative";delete n.position;if(n.alignSelf){i.attributes.style.alignSelf=n.alignSelf;delete n.alignSelf}return i};t.fixDimensions=function fixDimensions(e){const t=e[r.$getSubformParent]();if(t.layout?.includes("row")){const a=t[r.$extra],n=e.colSpan;let i;i=-1===n?a.columnWidths.slice(a.currentColumn).reduce(((e,t)=>e+t),0):a.columnWidths.slice(a.currentColumn,a.currentColumn+n).reduce(((e,t)=>e+t),0);isNaN(i)||(e.w=i)}t.layout&&"position"!==t.layout&&(e.x=e.y=0);"table"===e.layout&&""===e.w&&Array.isArray(e.columnWidths)&&(e.w=e.columnWidths.reduce(((e,t)=>e+t),0))};t.fixTextIndent=function fixTextIndent(e){const t=(0,i.getMeasurement)(e.textIndent,"0px");if(t>=0)return;const a="padding"+("left"==("right"===e.textAlign?"right":"left")?"Left":"Right"),r=(0,i.getMeasurement)(e[a],"0px");e[a]=r-t+"px"};t.fixURL=function fixURL(e){const t=(0,n.createValidAbsoluteUrl)(e,null,{addDefaultProtocol:!0,tryConvertEncoding:!0});return t?t.href:null};t.isPrintOnly=isPrintOnly;t.layoutClass=function layoutClass(e){switch(e.layout){case"position":default:return"xfaPosition";case"lr-tb":return"xfaLrTb";case"rl-row":return"xfaRlRow";case"rl-tb":return"xfaRlTb";case"row":return"xfaRow";case"table":return"xfaTable";case"tb":return"xfaTb"}};t.layoutNode=function layoutNode(e,t){let a=null,n=null,i=!1;if((!e.w||!e.h)&&e.value){let s=0,o=0;if(e.margin){s=e.margin.leftInset+e.margin.rightInset;o=e.margin.topInset+e.margin.bottomInset}let c=null,l=null;if(e.para){l=Object.create(null);c=""===e.para.lineHeight?null:e.para.lineHeight;l.top=""===e.para.spaceAbove?0:e.para.spaceAbove;l.bottom=""===e.para.spaceBelow?0:e.para.spaceBelow;l.left=""===e.para.marginLeft?0:e.para.marginLeft;l.right=""===e.para.marginRight?0:e.para.marginRight}let h=e.font;if(!h){const t=e[r.$getTemplateRoot]();let a=e[r.$getParent]();for(;a&&a!==t;){if(a.font){h=a.font;break}a=a[r.$getParent]()}}const u=(e.w||t.width)-s,d=e[r.$globalData].fontFinder;if(e.value.exData&&e.value.exData[r.$content]&&"text/html"===e.value.exData.contentType){const t=layoutText(e.value.exData[r.$content],h,l,c,d,u);n=t.width;a=t.height;i=t.isBroken}else{const t=e.value[r.$text]();if(t){const e=layoutText(t,h,l,c,d,u);n=e.width;a=e.height;i=e.isBroken}}null===n||e.w||(n+=s);null===a||e.h||(a+=o)}return{w:n,h:a,isBroken:i}};t.measureToString=measureToString;t.setAccess=function setAccess(e,t){switch(e.access){case"nonInteractive":t.push("xfaNonInteractive");break;case"readOnly":t.push("xfaReadOnly");break;case"protected":t.push("xfaDisabled")}};t.setFontFamily=function setFontFamily(e,t,a,r){if(!a){delete r.fontFamily;return}const n=(0,i.stripQuotes)(e.typeface);r.fontFamily=`"${n}"`;const o=a.find(n);if(o){const{fontFamily:a}=o.regular.cssFontInfo;a!==n&&(r.fontFamily=`"${a}"`);const i=getCurrentPara(t);if(i&&""!==i.lineHeight)return;if(r.lineHeight)return;const c=(0,s.selectFont)(e,o);c&&(r.lineHeight=Math.max(1.2,c.lineHeight))}};t.setMinMaxDimensions=function setMinMaxDimensions(e,t){if("position"===e[r.$getSubformParent]().layout){e.minW>0&&(t.minWidth=measureToString(e.minW));e.maxW>0&&(t.maxWidth=measureToString(e.maxW));e.minH>0&&(t.minHeight=measureToString(e.minH));e.maxH>0&&(t.maxHeight=measureToString(e.maxH))}};t.setPara=function setPara(e,t,a){if(a.attributes.class?.includes("xfaRich")){if(t){""===e.h&&(t.height="auto");""===e.w&&(t.width="auto")}const n=getCurrentPara(e);if(n){const e=a.attributes.style;e.display="flex";e.flexDirection="column";switch(n.vAlign){case"top":e.justifyContent="start";break;case"bottom":e.justifyContent="end";break;case"middle":e.justifyContent="center"}const t=n[r.$toStyle]();for(const[a,r]of Object.entries(t))a in e||(e[a]=r)}}};t.toStyle=function toStyle(e,...t){const a=Object.create(null);for(const i of t){const t=e[i];if(null!==t)if(l.hasOwnProperty(i))l[i](e,a);else if(t instanceof c.XFAObject){const e=t[r.$toStyle]();e?Object.assign(a,e):(0,n.warn)(`(DEBUG) - XFA - style for ${i} not implemented yet`)}}return a};var r=a(78),n=a(2),i=a(84),s=a(85),o=a(86),c=a(87);function measureToString(e){return"string"==typeof e?"0px":Number.isInteger(e)?`${e}px`:`${e.toFixed(2)}px`}const l={anchorType(e,t){const a=e[r.$getSubformParent]();if(a&&(!a.layout||"position"===a.layout)){"transform"in t||(t.transform="");switch(e.anchorType){case"bottomCenter":t.transform+="translate(-50%, -100%)";break;case"bottomLeft":t.transform+="translate(0,-100%)";break;case"bottomRight":t.transform+="translate(-100%,-100%)";break;case"middleCenter":t.transform+="translate(-50%,-50%)";break;case"middleLeft":t.transform+="translate(0,-50%)";break;case"middleRight":t.transform+="translate(-100%,-50%)";break;case"topCenter":t.transform+="translate(-50%,0)";break;case"topRight":t.transform+="translate(-100%,0)"}}},dimensions(e,t){const a=e[r.$getSubformParent]();let n=e.w;const i=e.h;if(a.layout?.includes("row")){const t=a[r.$extra],i=e.colSpan;let s;if(-1===i){s=t.columnWidths.slice(t.currentColumn).reduce(((e,t)=>e+t),0);t.currentColumn=0}else{s=t.columnWidths.slice(t.currentColumn,t.currentColumn+i).reduce(((e,t)=>e+t),0);t.currentColumn=(t.currentColumn+e.colSpan)%t.columnWidths.length}isNaN(s)||(n=e.w=s)}t.width=""!==n?measureToString(n):"auto";t.height=""!==i?measureToString(i):"auto"},position(e,t){const a=e[r.$getSubformParent]();if(!a?.layout||"position"===a.layout){t.position="absolute";t.left=measureToString(e.x);t.top=measureToString(e.y)}},rotate(e,t){if(e.rotate){"transform"in t||(t.transform="");t.transform+=`rotate(-${e.rotate}deg)`;t.transformOrigin="top left"}},presence(e,t){switch(e.presence){case"invisible":t.visibility="hidden";break;case"hidden":case"inactive":t.display="none"}},hAlign(e,t){if("para"===e[r.$nodeName])switch(e.hAlign){case"justifyAll":t.textAlign="justify-all";break;case"radix":t.textAlign="left";break;default:t.textAlign=e.hAlign}else switch(e.hAlign){case"left":t.alignSelf="start";break;case"center":t.alignSelf="center";break;case"right":t.alignSelf="end"}},margin(e,t){e.margin&&(t.margin=e.margin[r.$toStyle]().margin)}};function layoutText(e,t,a,n,i,s){const c=new o.TextMeasure(t,a,n,i);"string"==typeof e?c.addString(e):e[r.$pushGlyphs](c);return c.compute(s)}function isPrintOnly(e){return e.relevant.length>0&&!e.relevant[0].excluded&&"print"===e.relevant[0].viewname}function getCurrentPara(e){const t=e[r.$getTemplateRoot]()[r.$extra].paraStack;return t.length?t.at(-1):null}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.HTMLResult=void 0;t.getBBox=function getBBox(e){const t=-1;if(!e)return{x:t,y:t,width:t,height:t};const a=e.trim().split(/\s*,\s*/).map((e=>getMeasurement(e,"-1")));if(a.length<4||a[2]<0||a[3]<0)return{x:t,y:t,width:t,height:t};const[r,n,i,s]=a;return{x:r,y:n,width:i,height:s}};t.getColor=function getColor(e,t=[0,0,0]){let[a,r,n]=t;if(!e)return{r:a,g:r,b:n};const i=e.trim().split(/\s*,\s*/).map((e=>Math.min(Math.max(0,parseInt(e.trim(),10)),255))).map((e=>isNaN(e)?0:e));if(i.length<3)return{r:a,g:r,b:n};[a,r,n]=i;return{r:a,g:r,b:n}};t.getFloat=function getFloat({data:e,defaultValue:t,validate:a}){if(!e)return t;e=e.trim();const r=parseFloat(e);if(!isNaN(r)&&a(r))return r;return t};t.getInteger=function getInteger({data:e,defaultValue:t,validate:a}){if(!e)return t;e=e.trim();const r=parseInt(e,10);if(!isNaN(r)&&a(r))return r;return t};t.getKeyword=getKeyword;t.getMeasurement=getMeasurement;t.getRatio=function getRatio(e){if(!e)return{num:1,den:1};const t=e.trim().split(/\s*:\s*/).map((e=>parseFloat(e))).filter((e=>!isNaN(e)));1===t.length&&t.push(1);if(0===t.length)return{num:1,den:1};const[a,r]=t;return{num:a,den:r}};t.getRelevant=function getRelevant(e){if(!e)return[];return e.trim().split(/\s+/).map((e=>({excluded:"-"===e[0],viewname:e.substring(1)})))};t.getStringOption=function getStringOption(e,t){return getKeyword({data:e,defaultValue:t[0],validate:e=>t.includes(e)})};t.stripQuotes=function stripQuotes(e){if(e.startsWith("'")||e.startsWith('"'))return e.slice(1,-1);return e};var r=a(2);const n={pt:e=>e,cm:e=>e/2.54*72,mm:e=>e/25.4*72,in:e=>72*e,px:e=>e},i=/([+-]?\d+\.?\d*)(.*)/;function getKeyword({data:e,defaultValue:t,validate:a}){return e&&a(e=e.trim())?e:t}function getMeasurement(e,t="0"){t||="0";if(!e)return getMeasurement(t);const a=e.trim().match(i);if(!a)return getMeasurement(t);const[,r,s]=a,o=parseFloat(r);if(isNaN(o))return getMeasurement(t);if(0===o)return 0;const c=n[s];return c?c(o):o}class HTMLResult{static get FAILURE(){return(0,r.shadow)(this,"FAILURE",new HTMLResult(!1,null,null,null))}static get EMPTY(){return(0,r.shadow)(this,"EMPTY",new HTMLResult(!0,null,null,null))}constructor(e,t,a,r){this.success=e;this.html=t;this.bbox=a;this.breakNode=r}isBreak(){return!!this.breakNode}static breakNode(e){return new HTMLResult(!1,null,null,e)}static success(e,t=null){return new HTMLResult(!0,e,t,null)}}t.HTMLResult=HTMLResult},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.FontFinder=void 0;t.getMetrics=function getMetrics(e,t=!1){let a=null;if(e){const t=(0,n.stripQuotes)(e.typeface),i=e[r.$globalData].fontFinder.find(t);a=selectFont(e,i)}if(!a)return{lineHeight:12,lineGap:2,lineNoGap:10};const i=e.size||10,s=a.lineHeight?Math.max(t?0:1.2,a.lineHeight):1.2,o=void 0===a.lineGap?.2:a.lineGap;return{lineHeight:s*i,lineGap:o*i,lineNoGap:Math.max(1,s-o)*i}};t.selectFont=selectFont;var r=a(78),n=a(84),i=a(2);t.FontFinder=class FontFinder{constructor(e){this.fonts=new Map;this.cache=new Map;this.warned=new Set;this.defaultFont=null;this.add(e)}add(e,t=null){for(const t of e)this.addPdfFont(t);for(const e of this.fonts.values())e.regular||(e.regular=e.italic||e.bold||e.bolditalic);if(!t||0===t.size)return;const a=this.fonts.get("PdfJS-Fallback-PdfJS-XFA");for(const e of t)this.fonts.set(e,a)}addPdfFont(e){const t=e.cssFontInfo,a=t.fontFamily;let r=this.fonts.get(a);if(!r){r=Object.create(null);this.fonts.set(a,r);this.defaultFont||(this.defaultFont=r)}let n="";const i=parseFloat(t.fontWeight);0!==parseFloat(t.italicAngle)?n=i>=700?"bolditalic":"italic":i>=700&&(n="bold");if(!n){(e.name.includes("Bold")||e.psName?.includes("Bold"))&&(n="bold");(e.name.includes("Italic")||e.name.endsWith("It")||e.psName?.includes("Italic")||e.psName?.endsWith("It"))&&(n+="italic")}n||(n="regular");r[n]=e}getDefault(){return this.defaultFont}find(e,t=!0){let a=this.fonts.get(e)||this.cache.get(e);if(a)return a;const r=/,|-|_| |bolditalic|bold|italic|regular|it/gi;let n=e.replaceAll(r,"");a=this.fonts.get(n);if(a){this.cache.set(e,a);return a}n=n.toLowerCase();const s=[];for(const[e,t]of this.fonts.entries())e.replaceAll(r,"").toLowerCase().startsWith(n)&&s.push(t);if(0===s.length)for(const[,e]of this.fonts.entries())e.regular.name?.replaceAll(r,"").toLowerCase().startsWith(n)&&s.push(e);if(0===s.length){n=n.replaceAll(/psmt|mt/gi,"");for(const[e,t]of this.fonts.entries())e.replaceAll(r,"").toLowerCase().startsWith(n)&&s.push(t)}if(0===s.length)for(const e of this.fonts.values())e.regular.name?.replaceAll(r,"").toLowerCase().startsWith(n)&&s.push(e);if(s.length>=1){1!==s.length&&t&&(0,i.warn)(`XFA - Too many choices to guess the correct font: ${e}`);this.cache.set(e,s[0]);return s[0]}if(t&&!this.warned.has(e)){this.warned.add(e);(0,i.warn)(`XFA - Cannot find the font: ${e}`)}return null}};function selectFont(e,t){return"italic"===e.posture?"bold"===e.weight?t.bolditalic:t.italic:"bold"===e.weight?t.bold:t.regular}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.TextMeasure=void 0;var r=a(85);class FontInfo{constructor(e,t,a,n){this.lineHeight=a;this.paraMargin=t||{top:0,bottom:0,left:0,right:0};if(!e){[this.pdfFont,this.xfaFont]=this.defaultFont(n);return}this.xfaFont={typeface:e.typeface,posture:e.posture,weight:e.weight,size:e.size,letterSpacing:e.letterSpacing};const i=n.find(e.typeface);if(i){this.pdfFont=(0,r.selectFont)(e,i);this.pdfFont||([this.pdfFont,this.xfaFont]=this.defaultFont(n))}else[this.pdfFont,this.xfaFont]=this.defaultFont(n)}defaultFont(e){const t=e.find("Helvetica",!1)||e.find("Myriad Pro",!1)||e.find("Arial",!1)||e.getDefault();if(t?.regular){const e=t.regular;return[e,{typeface:e.cssFontInfo.fontFamily,posture:"normal",weight:"normal",size:10,letterSpacing:0}]}return[null,{typeface:"Courier",posture:"normal",weight:"normal",size:10,letterSpacing:0}]}}class FontSelector{constructor(e,t,a,r){this.fontFinder=r;this.stack=[new FontInfo(e,t,a,r)]}pushData(e,t,a){const r=this.stack.at(-1);for(const t of["typeface","posture","weight","size","letterSpacing"])e[t]||(e[t]=r.xfaFont[t]);for(const e of["top","bottom","left","right"])isNaN(t[e])&&(t[e]=r.paraMargin[e]);const n=new FontInfo(e,t,a||r.lineHeight,this.fontFinder);n.pdfFont||(n.pdfFont=r.pdfFont);this.stack.push(n)}popFont(){this.stack.pop()}topFont(){return this.stack.at(-1)}}t.TextMeasure=class TextMeasure{constructor(e,t,a,r){this.glyphs=[];this.fontSelector=new FontSelector(e,t,a,r);this.extraHeight=0}pushData(e,t,a){this.fontSelector.pushData(e,t,a)}popFont(e){return this.fontSelector.popFont()}addPara(){const e=this.fontSelector.topFont();this.extraHeight+=e.paraMargin.top+e.paraMargin.bottom}addString(e){if(!e)return;const t=this.fontSelector.topFont(),a=t.xfaFont.size;if(t.pdfFont){const r=t.xfaFont.letterSpacing,n=t.pdfFont,i=n.lineHeight||1.2,s=t.lineHeight||Math.max(1.2,i)*a,o=i-(void 0===n.lineGap?.2:n.lineGap),c=Math.max(1,o)*a,l=a/1e3,h=n.defaultWidth||n.charsToGlyphs(" ")[0].width;for(const t of e.split(/[\u2029\n]/)){const e=n.encodeString(t).join(""),a=n.charsToGlyphs(e);for(const e of a){const t=e.width||h;this.glyphs.push([t*l+r,s,c,e.unicode,!1])}this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}else{for(const t of e.split(/[\u2029\n]/)){for(const e of t.split(""))this.glyphs.push([a,1.2*a,a,e,!1]);this.glyphs.push([0,0,0,"\n",!0])}this.glyphs.pop()}}compute(e){let t=-1,a=0,r=0,n=0,i=0,s=0,o=!1,c=!0;for(let l=0,h=this.glyphs.length;le){r=Math.max(r,i);i=0;n+=s;s=m;t=-1;a=0;o=!0;c=!1}else{s=Math.max(m,s);a=i;i+=h;t=l}else if(i+h>e){n+=s;s=m;if(-1!==t){l=t;r=Math.max(r,a);i=0;t=-1;a=0}else{r=Math.max(r,i);i=h}o=!0;c=!1}else{i+=h;s=Math.max(m,s)}}r=Math.max(r,i);n+=s+this.extraHeight;return{width:1.02*r,height:n,isBroken:o}}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XmlObject=t.XFAObjectArray=t.XFAObject=t.XFAAttribute=t.StringObject=t.OptionObject=t.Option10=t.Option01=t.IntegerObject=t.ContentObject=void 0;var r=a(78),n=a(84),i=a(2),s=a(3),o=a(81),c=a(88);const l=Symbol(),h=Symbol(),u=Symbol(),d=Symbol("_children"),f=Symbol(),g=Symbol(),p=Symbol(),m=Symbol(),b=Symbol(),y=Symbol(),w=Symbol(),S=Symbol(),x=Symbol(),C=Symbol("parent"),k=Symbol(),v=Symbol(),F=Symbol();let O=0;const T=o.NamespaceIds.datasets.id;class XFAObject{constructor(e,t,a=!1){this[r.$namespaceId]=e;this[r.$nodeName]=t;this[w]=a;this[C]=null;this[d]=[];this[r.$uid]=`${t}${O++}`;this[r.$globalData]=null}get isXFAObject(){return!0}get isXFAObjectArray(){return!1}createNodes(e){let t=this,a=null;for(const{name:n,index:i}of e){for(let e=0,s=isFinite(i)?i:0;e<=s;e++){const e=t[r.$namespaceId]===T?-1:t[r.$namespaceId];a=new XmlObject(e,n);t[r.$appendChild](a)}t=a}return a}[r.$onChild](e){if(!this[w]||!this[r.$onChildCheck](e))return!1;const t=e[r.$nodeName],a=this[t];if(!(a instanceof XFAObjectArray)){null!==a&&this[r.$removeChild](a);this[t]=e;this[r.$appendChild](e);return!0}if(a.push(e)){this[r.$appendChild](e);return!0}let n="";this.id?n=` (id: ${this.id})`:this.name&&(n=` (name: ${this.name} ${this.h.value})`);(0,i.warn)(`XFA - node "${this[r.$nodeName]}"${n} has already enough "${t}"!`);return!1}[r.$onChildCheck](e){return this.hasOwnProperty(e[r.$nodeName])&&e[r.$namespaceId]===this[r.$namespaceId]}[r.$isNsAgnostic](){return!1}[r.$acceptWhitespace](){return!1}[r.$isCDATAXml](){return!1}[r.$isBindable](){return!1}[r.$popPara](){this.para&&this[r.$getTemplateRoot]()[r.$extra].paraStack.pop()}[r.$pushPara](){this[r.$getTemplateRoot]()[r.$extra].paraStack.push(this.para)}[r.$setId](e){this.id&&this[r.$namespaceId]===o.NamespaceIds.template.id&&e.set(this.id,this)}[r.$getTemplateRoot](){return this[r.$globalData].template}[r.$isSplittable](){return!1}[r.$isThereMoreWidth](){return!1}[r.$appendChild](e){e[C]=this;this[d].push(e);!e[r.$globalData]&&this[r.$globalData]&&(e[r.$globalData]=this[r.$globalData])}[r.$removeChild](e){const t=this[d].indexOf(e);this[d].splice(t,1)}[r.$hasSettableValue](){return this.hasOwnProperty("value")}[r.$setValue](e){}[r.$onText](e){}[r.$finalize](){}[r.$clean](e){delete this[w];if(this[r.$cleanup]){e.clean(this[r.$cleanup]);delete this[r.$cleanup]}}[r.$indexOf](e){return this[d].indexOf(e)}[r.$insertAt](e,t){t[C]=this;this[d].splice(e,0,t);!t[r.$globalData]&&this[r.$globalData]&&(t[r.$globalData]=this[r.$globalData])}[r.$isTransparent](){return!this.name}[r.$lastAttribute](){return""}[r.$text](){return 0===this[d].length?this[r.$content]:this[d].map((e=>e[r.$text]())).join("")}get[u](){const e=Object.getPrototypeOf(this);if(!e._attributes){const t=e._attributes=new Set;for(const e of Object.getOwnPropertyNames(this)){if(null===this[e]||this[e]instanceof XFAObject||this[e]instanceof XFAObjectArray)break;t.add(e)}}return(0,i.shadow)(this,u,e._attributes)}[r.$isDescendent](e){let t=this;for(;t;){if(t===e)return!0;t=t[r.$getParent]()}return!1}[r.$getParent](){return this[C]}[r.$getSubformParent](){return this[r.$getParent]()}[r.$getChildren](e=null){return e?this[e]:this[d]}[r.$dump](){const e=Object.create(null);this[r.$content]&&(e.$content=this[r.$content]);for(const t of Object.getOwnPropertyNames(this)){const a=this[t];null!==a&&(a instanceof XFAObject?e[t]=a[r.$dump]():a instanceof XFAObjectArray?a.isEmpty()||(e[t]=a.dump()):e[t]=a)}return e}[r.$toStyle](){return null}[r.$toHTML](){return n.HTMLResult.EMPTY}*[r.$getContainedChildren](){for(const e of this[r.$getChildren]())yield e}*[m](e,t){for(const a of this[r.$getContainedChildren]())if(!e||t===e.has(a[r.$nodeName])){const e=this[r.$getAvailableSpace](),t=a[r.$toHTML](e);t.success||(this[r.$extra].failingNode=a);yield t}}[r.$flushHTML](){return null}[r.$addHTML](e,t){this[r.$extra].children.push(e)}[r.$getAvailableSpace](){}[r.$childrenToHTML]({filter:e=null,include:t=!0}){if(this[r.$extra].generator){const e=this[r.$getAvailableSpace](),t=this[r.$extra].failingNode[r.$toHTML](e);if(!t.success)return t;t.html&&this[r.$addHTML](t.html,t.bbox);delete this[r.$extra].failingNode}else this[r.$extra].generator=this[m](e,t);for(;;){const e=this[r.$extra].generator.next();if(e.done)break;const t=e.value;if(!t.success)return t;t.html&&this[r.$addHTML](t.html,t.bbox)}this[r.$extra].generator=null;return n.HTMLResult.EMPTY}[r.$setSetAttributes](e){this[v]=new Set(Object.keys(e))}[y](e){const t=this[u],a=this[v];return[...e].filter((e=>t.has(e)&&!a.has(e)))}[r.$resolvePrototypes](e,t=new Set){for(const a of this[d])a[k](e,t)}[k](e,t){const a=this[b](e,t);a?this[l](a,e,t):this[r.$resolvePrototypes](e,t)}[b](e,t){const{use:a,usehref:n}=this;if(!a&&!n)return null;let s=null,o=null,h=null,u=a;if(n){u=n;n.startsWith("#som(")&&n.endsWith(")")?o=n.slice(5,-1):n.startsWith(".#som(")&&n.endsWith(")")?o=n.slice(6,-1):n.startsWith("#")?h=n.slice(1):n.startsWith(".#")&&(h=n.slice(2))}else a.startsWith("#")?h=a.slice(1):o=a;this.use=this.usehref="";if(h)s=e.get(h);else{s=(0,c.searchNode)(e.get(r.$root),this,o,!0,!1);s&&(s=s[0])}if(!s){(0,i.warn)(`XFA - Invalid prototype reference: ${u}.`);return null}if(s[r.$nodeName]!==this[r.$nodeName]){(0,i.warn)(`XFA - Incompatible prototype: ${s[r.$nodeName]} !== ${this[r.$nodeName]}.`);return null}if(t.has(s)){(0,i.warn)("XFA - Cycle detected in prototypes use.");return null}t.add(s);const d=s[b](e,t);d&&s[l](d,e,t);s[r.$resolvePrototypes](e,t);t.delete(s);return s}[l](e,t,a){if(a.has(e)){(0,i.warn)("XFA - Cycle detected in prototypes use.");return}!this[r.$content]&&e[r.$content]&&(this[r.$content]=e[r.$content]);new Set(a).add(e);for(const t of this[y](e[v])){this[t]=e[t];this[v]&&this[v].add(t)}for(const n of Object.getOwnPropertyNames(this)){if(this[u].has(n))continue;const i=this[n],s=e[n];if(i instanceof XFAObjectArray){for(const e of i[d])e[k](t,a);for(let n=i[d].length,o=s[d].length;nXFAObject[f](e))):"object"==typeof e&&null!==e?Object.assign({},e):e}[r.$clone](){const e=Object.create(Object.getPrototypeOf(this));for(const t of Object.getOwnPropertySymbols(this))try{e[t]=this[t]}catch{(0,i.shadow)(e,t,this[t])}e[r.$uid]=`${e[r.$nodeName]}${O++}`;e[d]=[];for(const t of Object.getOwnPropertyNames(this)){if(this[u].has(t)){e[t]=XFAObject[f](this[t]);continue}const a=this[t];e[t]=a instanceof XFAObjectArray?new XFAObjectArray(a[S]):null}for(const t of this[d]){const a=t[r.$nodeName],n=t[r.$clone]();e[d].push(n);n[C]=e;null===e[a]?e[a]=n:e[a][d].push(n)}return e}[r.$getChildren](e=null){return e?this[d].filter((t=>t[r.$nodeName]===e)):this[d]}[r.$getChildrenByClass](e){return this[e]}[r.$getChildrenByName](e,t,a=!0){return Array.from(this[r.$getChildrenByNameIt](e,t,a))}*[r.$getChildrenByNameIt](e,t,a=!0){if("parent"!==e){for(const a of this[d]){a[r.$nodeName]===e&&(yield a);a.name===e&&(yield a);(t||a[r.$isTransparent]())&&(yield*a[r.$getChildrenByNameIt](e,t,!1))}a&&this[u].has(e)&&(yield new XFAAttribute(this,e,this[e]))}else yield this[C]}}t.XFAObject=XFAObject;class XFAObjectArray{constructor(e=1/0){this[S]=e;this[d]=[]}get isXFAObject(){return!1}get isXFAObjectArray(){return!0}push(e){if(this[d].length<=this[S]){this[d].push(e);return!0}(0,i.warn)(`XFA - node "${e[r.$nodeName]}" accepts no more than ${this[S]} children`);return!1}isEmpty(){return 0===this[d].length}dump(){return 1===this[d].length?this[d][0][r.$dump]():this[d].map((e=>e[r.$dump]()))}[r.$clone](){const e=new XFAObjectArray(this[S]);e[d]=this[d].map((e=>e[r.$clone]()));return e}get children(){return this[d]}clear(){this[d].length=0}}t.XFAObjectArray=XFAObjectArray;class XFAAttribute{constructor(e,t,a){this[C]=e;this[r.$nodeName]=t;this[r.$content]=a;this[r.$consumed]=!1;this[r.$uid]="attribute"+O++}[r.$getParent](){return this[C]}[r.$isDataValue](){return!0}[r.$getDataValue](){return this[r.$content].trim()}[r.$setValue](e){e=e.value||"";this[r.$content]=e.toString()}[r.$text](){return this[r.$content]}[r.$isDescendent](e){return this[C]===e||this[C][r.$isDescendent](e)}}t.XFAAttribute=XFAAttribute;class XmlObject extends XFAObject{constructor(e,t,a={}){super(e,t);this[r.$content]="";this[g]=null;if("#text"!==t){const e=new Map;this[h]=e;for(const[t,r]of Object.entries(a))e.set(t,new XFAAttribute(this,t,r));if(a.hasOwnProperty(r.$nsAttributes)){const e=a[r.$nsAttributes].xfa.dataNode;void 0!==e&&("dataGroup"===e?this[g]=!1:"dataValue"===e&&(this[g]=!0))}}this[r.$consumed]=!1}[r.$toString](e){const t=this[r.$nodeName];if("#text"===t){e.push((0,s.encodeToXmlString)(this[r.$content]));return}const a=(0,i.utf8StringToString)(t),n=this[r.$namespaceId]===T?"xfa:":"";e.push(`<${n}${a}`);for(const[t,a]of this[h].entries()){const n=(0,i.utf8StringToString)(t);e.push(` ${n}="${(0,s.encodeToXmlString)(a[r.$content])}"`)}null!==this[g]&&(this[g]?e.push(' xfa:dataNode="dataValue"'):e.push(' xfa:dataNode="dataGroup"'));if(this[r.$content]||0!==this[d].length){e.push(">");if(this[r.$content])"string"==typeof this[r.$content]?e.push((0,s.encodeToXmlString)(this[r.$content])):this[r.$content][r.$toString](e);else for(const t of this[d])t[r.$toString](e);e.push(``)}else e.push("/>")}[r.$onChild](e){if(this[r.$content]){const e=new XmlObject(this[r.$namespaceId],"#text");this[r.$appendChild](e);e[r.$content]=this[r.$content];this[r.$content]=""}this[r.$appendChild](e);return!0}[r.$onText](e){this[r.$content]+=e}[r.$finalize](){if(this[r.$content]&&this[d].length>0){const e=new XmlObject(this[r.$namespaceId],"#text");this[r.$appendChild](e);e[r.$content]=this[r.$content];delete this[r.$content]}}[r.$toHTML](){return"#text"===this[r.$nodeName]?n.HTMLResult.success({name:"#text",value:this[r.$content]}):n.HTMLResult.EMPTY}[r.$getChildren](e=null){return e?this[d].filter((t=>t[r.$nodeName]===e)):this[d]}[r.$getAttributes](){return this[h]}[r.$getChildrenByClass](e){const t=this[h].get(e);return void 0!==t?t:this[r.$getChildren](e)}*[r.$getChildrenByNameIt](e,t){const a=this[h].get(e);a&&(yield a);for(const a of this[d]){a[r.$nodeName]===e&&(yield a);t&&(yield*a[r.$getChildrenByNameIt](e,t))}}*[r.$getAttributeIt](e,t){const a=this[h].get(e);!a||t&&a[r.$consumed]||(yield a);for(const a of this[d])yield*a[r.$getAttributeIt](e,t)}*[r.$getRealChildrenByNameIt](e,t,a){for(const n of this[d]){n[r.$nodeName]!==e||a&&n[r.$consumed]||(yield n);t&&(yield*n[r.$getRealChildrenByNameIt](e,t,a))}}[r.$isDataValue](){return null===this[g]?0===this[d].length||this[d][0][r.$namespaceId]===o.NamespaceIds.xhtml.id:this[g]}[r.$getDataValue](){return null===this[g]?0===this[d].length?this[r.$content].trim():this[d][0][r.$namespaceId]===o.NamespaceIds.xhtml.id?this[d][0][r.$text]().trim():null:this[r.$content].trim()}[r.$setValue](e){e=e.value||"";this[r.$content]=e.toString()}[r.$dump](e=!1){const t=Object.create(null);e&&(t.$ns=this[r.$namespaceId]);this[r.$content]&&(t.$content=this[r.$content]);t.$name=this[r.$nodeName];t.children=[];for(const a of this[d])t.children.push(a[r.$dump](e));t.attributes=Object.create(null);for(const[e,a]of this[h])t.attributes[e]=a[r.$content];return t}}t.XmlObject=XmlObject;class ContentObject extends XFAObject{constructor(e,t){super(e,t);this[r.$content]=""}[r.$onText](e){this[r.$content]+=e}[r.$finalize](){}}t.ContentObject=ContentObject;class OptionObject extends ContentObject{constructor(e,t,a){super(e,t);this[x]=a}[r.$finalize](){this[r.$content]=(0,n.getKeyword)({data:this[r.$content],defaultValue:this[x][0],validate:e=>this[x].includes(e)})}[r.$clean](e){super[r.$clean](e);delete this[x]}}t.OptionObject=OptionObject;class StringObject extends ContentObject{[r.$finalize](){this[r.$content]=this[r.$content].trim()}}t.StringObject=StringObject;class IntegerObject extends ContentObject{constructor(e,t,a,r){super(e,t);this[p]=a;this[F]=r}[r.$finalize](){this[r.$content]=(0,n.getInteger)({data:this[r.$content],defaultValue:this[p],validate:this[F]})}[r.$clean](e){super[r.$clean](e);delete this[p];delete this[F]}}t.IntegerObject=IntegerObject;t.Option01=class Option01 extends IntegerObject{constructor(e,t){super(e,t,0,(e=>1===e))}};t.Option10=class Option10 extends IntegerObject{constructor(e,t){super(e,t,1,(e=>0===e))}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.createDataNode=function createDataNode(e,t,a){const i=parseExpression(a);if(!i)return null;if(i.some((e=>e.operator===o.dotDot)))return null;const s=c.get(i[0].name);let l=0;if(s){e=s(e,t);l=1}else e=t||e;for(let t=i.length;l0&&f.push(e)}if(0!==f.length||u||0!==d)e=isFinite(h)?f.filter((e=>he[h])):f.flat();else{const a=t[r.$getParent]();if(!(t=a))return null;d=-1;e=[t]}}if(0===e.length)return null;return e};var r=a(78),n=a(2);const i=/^[^.[]+/,s=/^[^\]]+/,o={dot:0,dotDot:1,dotHash:2,dotBracket:3,dotParen:4},c=new Map([["$data",(e,t)=>e.datasets?e.datasets.data:e],["$record",(e,t)=>(e.datasets?e.datasets.data:e)[r.$getChildren]()[0]],["$template",(e,t)=>e.template],["$connectionSet",(e,t)=>e.connectionSet],["$form",(e,t)=>e.form],["$layout",(e,t)=>e.layout],["$host",(e,t)=>e.host],["$dataWindow",(e,t)=>e.dataWindow],["$event",(e,t)=>e.event],["!",(e,t)=>e.datasets],["$xfa",(e,t)=>e],["xfa",(e,t)=>e],["$",(e,t)=>t]]),l=new WeakMap;function parseExpression(e,t,a=!0){let r=e.match(i);if(!r)return null;let[c]=r;const l=[{name:c,cacheName:"."+c,index:0,js:null,formCalc:null,operator:o.dot}];let h=c.length;for(;h{Object.defineProperty(t,"__esModule",{value:!0});t.DataHandler=void 0;var r=a(78);t.DataHandler=class DataHandler{constructor(e,t){this.data=t;this.dataset=e.datasets||null}serialize(e){const t=[[-1,this.data[r.$getChildren]()]];for(;t.length>0;){const a=t.at(-1),[n,i]=a;if(n+1===i.length){t.pop();continue}const s=i[++a[0]],o=e.get(s[r.$uid]);if(o)s[r.$setValue](o);else{const t=s[r.$getAttributes]();for(const a of t.values()){const t=e.get(a[r.$uid]);if(t){a[r.$setValue](t);break}}}const c=s[r.$getChildren]();c.length>0&&t.push([-1,c])}const a=[''];if(this.dataset)for(const e of this.dataset[r.$getChildren]())"data"!==e[r.$nodeName]&&e[r.$toString](a);this.data[r.$toString](a);a.push("");return a.join("")}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XFAParser=void 0;var r=a(78),n=a(71),i=a(91),s=a(2);class XFAParser extends n.XMLParserBase{constructor(e=null,t=!1){super();this._builder=new i.Builder(e);this._stack=[];this._globalData={usedTypefaces:new Set};this._ids=new Map;this._current=this._builder.buildRoot(this._ids);this._errorCode=n.XMLParserErrorCode.NoError;this._whiteRegex=/^\s+$/;this._nbsps=/\xa0+/g;this._richText=t}parse(e){this.parseXml(e);if(this._errorCode===n.XMLParserErrorCode.NoError){this._current[r.$finalize]();return this._current.element}}onText(e){e=e.replace(this._nbsps,(e=>e.slice(1)+" "));this._richText||this._current[r.$acceptWhitespace]()?this._current[r.$onText](e,this._richText):this._whiteRegex.test(e)||this._current[r.$onText](e.trim())}onCdata(e){this._current[r.$onText](e)}_mkAttributes(e,t){let a=null,n=null;const i=Object.create({});for(const{name:o,value:c}of e)if("xmlns"===o)a?(0,s.warn)(`XFA - multiple namespace definition in <${t}>`):a=c;else if(o.startsWith("xmlns:")){const e=o.substring(6);n||(n=[]);n.push({prefix:e,value:c})}else{const e=o.indexOf(":");if(-1===e)i[o]=c;else{let t=i[r.$nsAttributes];t||(t=i[r.$nsAttributes]=Object.create(null));const[a,n]=[o.slice(0,e),o.slice(e+1)];(t[a]||=Object.create(null))[n]=c}}return[a,n,i]}_getNameAndPrefix(e,t){const a=e.indexOf(":");return-1===a?[e,null]:[e.substring(a+1),t?"":e.substring(0,a)]}onBeginElement(e,t,a){const[n,i,s]=this._mkAttributes(t,e),[o,c]=this._getNameAndPrefix(e,this._builder.isNsAgnostic()),l=this._builder.build({nsPrefix:c,name:o,attributes:s,namespace:n,prefixes:i});l[r.$globalData]=this._globalData;if(a){l[r.$finalize]();this._current[r.$onChild](l)&&l[r.$setId](this._ids);l[r.$clean](this._builder)}else{this._stack.push(this._current);this._current=l}}onEndElement(e){const t=this._current;if(t[r.$isCDATAXml]()&&"string"==typeof t[r.$content]){const e=new XFAParser;e._globalData=this._globalData;const a=e.parse(t[r.$content]);t[r.$content]=null;t[r.$onChild](a)}t[r.$finalize]();this._current=this._stack.pop();this._current[r.$onChild](t)&&t[r.$setId](this._ids);t[r.$clean](this._builder)}onError(e){this._errorCode=e}}t.XFAParser=XFAParser},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.Builder=void 0;var r=a(81),n=a(78),i=a(92),s=a(80),o=a(101),c=a(2),l=a(87);class Root extends l.XFAObject{constructor(e){super(-1,"root",Object.create(null));this.element=null;this[n.$ids]=e}[n.$onChild](e){this.element=e;return!0}[n.$finalize](){super[n.$finalize]();if(this.element.template instanceof s.Template){this[n.$ids].set(n.$root,this.element);this.element.template[n.$resolvePrototypes](this[n.$ids]);this.element.template[n.$ids]=this[n.$ids]}}}class Empty extends l.XFAObject{constructor(){super(-1,"",Object.create(null))}[n.$onChild](e){return!1}}t.Builder=class Builder{constructor(e=null){this._namespaceStack=[];this._nsAgnosticLevel=0;this._namespacePrefixes=new Map;this._namespaces=new Map;this._nextNsId=Math.max(...Object.values(r.NamespaceIds).map((({id:e})=>e)));this._currentNamespace=e||new o.UnknownNamespace(++this._nextNsId)}buildRoot(e){return new Root(e)}build({nsPrefix:e,name:t,attributes:a,namespace:s,prefixes:o}){const c=null!==s;if(c){this._namespaceStack.push(this._currentNamespace);this._currentNamespace=this._searchNamespace(s)}o&&this._addNamespacePrefix(o);if(a.hasOwnProperty(n.$nsAttributes)){const e=i.NamespaceSetUp.datasets,t=a[n.$nsAttributes];let r=null;for(const[a,n]of Object.entries(t)){if(this._getNamespaceToUse(a)===e){r={xfa:n};break}}r?a[n.$nsAttributes]=r:delete a[n.$nsAttributes]}const l=this._getNamespaceToUse(e),h=l?.[r.$buildXFAObject](t,a)||new Empty;h[n.$isNsAgnostic]()&&this._nsAgnosticLevel++;(c||o||h[n.$isNsAgnostic]())&&(h[n.$cleanup]={hasNamespace:c,prefixes:o,nsAgnostic:h[n.$isNsAgnostic]()});return h}isNsAgnostic(){return this._nsAgnosticLevel>0}_searchNamespace(e){let t=this._namespaces.get(e);if(t)return t;for(const[a,{check:n}]of Object.entries(r.NamespaceIds))if(n(e)){t=i.NamespaceSetUp[a];if(t){this._namespaces.set(e,t);return t}break}t=new o.UnknownNamespace(++this._nextNsId);this._namespaces.set(e,t);return t}_addNamespacePrefix(e){for(const{prefix:t,value:a}of e){const e=this._searchNamespace(a);let r=this._namespacePrefixes.get(t);if(!r){r=[];this._namespacePrefixes.set(t,r)}r.push(e)}}_getNamespaceToUse(e){if(!e)return this._currentNamespace;const t=this._namespacePrefixes.get(e);if(t?.length>0)return t.at(-1);(0,c.warn)(`Unknown namespace prefix: ${e}.`);return null}clean(e){const{hasNamespace:t,prefixes:a,nsAgnostic:r}=e;t&&(this._currentNamespace=this._namespaceStack.pop());a&&a.forEach((({prefix:e})=>{this._namespacePrefixes.get(e).pop()}));r&&this._nsAgnosticLevel--}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.NamespaceSetUp=void 0;var r=a(93),n=a(94),i=a(95),s=a(96),o=a(97),c=a(98),l=a(80),h=a(99),u=a(100);const d={config:r.ConfigNamespace,connection:n.ConnectionSetNamespace,datasets:i.DatasetsNamespace,localeSet:s.LocaleSetNamespace,signature:o.SignatureNamespace,stylesheet:c.StylesheetNamespace,template:l.TemplateNamespace,xdp:h.XdpNamespace,xhtml:u.XhtmlNamespace};t.NamespaceSetUp=d},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ConfigNamespace=void 0;var r=a(81),n=a(78),i=a(87),s=a(84),o=a(2);const c=r.NamespaceIds.config.id;class Acrobat extends i.XFAObject{constructor(e){super(c,"acrobat",!0);this.acrobat7=null;this.autoSave=null;this.common=null;this.validate=null;this.validateApprovalSignatures=null;this.submitUrl=new i.XFAObjectArray}}class Acrobat7 extends i.XFAObject{constructor(e){super(c,"acrobat7",!0);this.dynamicRender=null}}class ADBE_JSConsole extends i.OptionObject{constructor(e){super(c,"ADBE_JSConsole",["delegate","Enable","Disable"])}}class ADBE_JSDebugger extends i.OptionObject{constructor(e){super(c,"ADBE_JSDebugger",["delegate","Enable","Disable"])}}class AddSilentPrint extends i.Option01{constructor(e){super(c,"addSilentPrint")}}class AddViewerPreferences extends i.Option01{constructor(e){super(c,"addViewerPreferences")}}class AdjustData extends i.Option10{constructor(e){super(c,"adjustData")}}class AdobeExtensionLevel extends i.IntegerObject{constructor(e){super(c,"adobeExtensionLevel",0,(e=>e>=1&&e<=8))}}class Agent extends i.XFAObject{constructor(e){super(c,"agent",!0);this.name=e.name?e.name.trim():"";this.common=new i.XFAObjectArray}}class AlwaysEmbed extends i.ContentObject{constructor(e){super(c,"alwaysEmbed")}}class Amd extends i.StringObject{constructor(e){super(c,"amd")}}class Area extends i.XFAObject{constructor(e){super(c,"area");this.level=(0,s.getInteger)({data:e.level,defaultValue:0,validate:e=>e>=1&&e<=3});this.name=(0,s.getStringOption)(e.name,["","barcode","coreinit","deviceDriver","font","general","layout","merge","script","signature","sourceSet","templateCache"])}}class Attributes extends i.OptionObject{constructor(e){super(c,"attributes",["preserve","delegate","ignore"])}}class AutoSave extends i.OptionObject{constructor(e){super(c,"autoSave",["disabled","enabled"])}}class Base extends i.StringObject{constructor(e){super(c,"base")}}class BatchOutput extends i.XFAObject{constructor(e){super(c,"batchOutput");this.format=(0,s.getStringOption)(e.format,["none","concat","zip","zipCompress"])}}class BehaviorOverride extends i.ContentObject{constructor(e){super(c,"behaviorOverride")}[n.$finalize](){this[n.$content]=new Map(this[n.$content].trim().split(/\s+/).filter((e=>e.includes(":"))).map((e=>e.split(":",2))))}}class Cache extends i.XFAObject{constructor(e){super(c,"cache",!0);this.templateCache=null}}class Change extends i.Option01{constructor(e){super(c,"change")}}class Common extends i.XFAObject{constructor(e){super(c,"common",!0);this.data=null;this.locale=null;this.localeSet=null;this.messaging=null;this.suppressBanner=null;this.template=null;this.validationMessaging=null;this.versionControl=null;this.log=new i.XFAObjectArray}}class Compress extends i.XFAObject{constructor(e){super(c,"compress");this.scope=(0,s.getStringOption)(e.scope,["imageOnly","document"])}}class CompressLogicalStructure extends i.Option01{constructor(e){super(c,"compressLogicalStructure")}}class CompressObjectStream extends i.Option10{constructor(e){super(c,"compressObjectStream")}}class Compression extends i.XFAObject{constructor(e){super(c,"compression",!0);this.compressLogicalStructure=null;this.compressObjectStream=null;this.level=null;this.type=null}}class Config extends i.XFAObject{constructor(e){super(c,"config",!0);this.acrobat=null;this.present=null;this.trace=null;this.agent=new i.XFAObjectArray}}class Conformance extends i.OptionObject{constructor(e){super(c,"conformance",["A","B"])}}class ContentCopy extends i.Option01{constructor(e){super(c,"contentCopy")}}class Copies extends i.IntegerObject{constructor(e){super(c,"copies",1,(e=>e>=1))}}class Creator extends i.StringObject{constructor(e){super(c,"creator")}}class CurrentPage extends i.IntegerObject{constructor(e){super(c,"currentPage",0,(e=>e>=0))}}class Data extends i.XFAObject{constructor(e){super(c,"data",!0);this.adjustData=null;this.attributes=null;this.incrementalLoad=null;this.outputXSL=null;this.range=null;this.record=null;this.startNode=null;this.uri=null;this.window=null;this.xsl=null;this.excludeNS=new i.XFAObjectArray;this.transform=new i.XFAObjectArray}}class Debug extends i.XFAObject{constructor(e){super(c,"debug",!0);this.uri=null}}class DefaultTypeface extends i.ContentObject{constructor(e){super(c,"defaultTypeface");this.writingScript=(0,s.getStringOption)(e.writingScript,["*","Arabic","Cyrillic","EastEuropeanRoman","Greek","Hebrew","Japanese","Korean","Roman","SimplifiedChinese","Thai","TraditionalChinese","Vietnamese"])}}class Destination extends i.OptionObject{constructor(e){super(c,"destination",["pdf","pcl","ps","webClient","zpl"])}}class DocumentAssembly extends i.Option01{constructor(e){super(c,"documentAssembly")}}class Driver extends i.XFAObject{constructor(e){super(c,"driver",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class DuplexOption extends i.OptionObject{constructor(e){super(c,"duplexOption",["simplex","duplexFlipLongEdge","duplexFlipShortEdge"])}}class DynamicRender extends i.OptionObject{constructor(e){super(c,"dynamicRender",["forbidden","required"])}}class Embed extends i.Option01{constructor(e){super(c,"embed")}}class Encrypt extends i.Option01{constructor(e){super(c,"encrypt")}}class Encryption extends i.XFAObject{constructor(e){super(c,"encryption",!0);this.encrypt=null;this.encryptionLevel=null;this.permissions=null}}class EncryptionLevel extends i.OptionObject{constructor(e){super(c,"encryptionLevel",["40bit","128bit"])}}class Enforce extends i.StringObject{constructor(e){super(c,"enforce")}}class Equate extends i.XFAObject{constructor(e){super(c,"equate");this.force=(0,s.getInteger)({data:e.force,defaultValue:1,validate:e=>0===e});this.from=e.from||"";this.to=e.to||""}}class EquateRange extends i.XFAObject{constructor(e){super(c,"equateRange");this.from=e.from||"";this.to=e.to||"";this._unicodeRange=e.unicodeRange||""}get unicodeRange(){const e=[],t=/U\+([0-9a-fA-F]+)/,a=this._unicodeRange;for(let r of a.split(",").map((e=>e.trim())).filter((e=>!!e))){r=r.split("-",2).map((e=>{const a=e.match(t);return a?parseInt(a[1],16):0}));1===r.length&&r.push(r[0]);e.push(r)}return(0,o.shadow)(this,"unicodeRange",e)}}class Exclude extends i.ContentObject{constructor(e){super(c,"exclude")}[n.$finalize](){this[n.$content]=this[n.$content].trim().split(/\s+/).filter((e=>e&&["calculate","close","enter","exit","initialize","ready","validate"].includes(e)))}}class ExcludeNS extends i.StringObject{constructor(e){super(c,"excludeNS")}}class FlipLabel extends i.OptionObject{constructor(e){super(c,"flipLabel",["usePrinterSetting","on","off"])}}class FontInfo extends i.XFAObject{constructor(e){super(c,"fontInfo",!0);this.embed=null;this.map=null;this.subsetBelow=null;this.alwaysEmbed=new i.XFAObjectArray;this.defaultTypeface=new i.XFAObjectArray;this.neverEmbed=new i.XFAObjectArray}}class FormFieldFilling extends i.Option01{constructor(e){super(c,"formFieldFilling")}}class GroupParent extends i.StringObject{constructor(e){super(c,"groupParent")}}class IfEmpty extends i.OptionObject{constructor(e){super(c,"ifEmpty",["dataValue","dataGroup","ignore","remove"])}}class IncludeXDPContent extends i.StringObject{constructor(e){super(c,"includeXDPContent")}}class IncrementalLoad extends i.OptionObject{constructor(e){super(c,"incrementalLoad",["none","forwardOnly"])}}class IncrementalMerge extends i.Option01{constructor(e){super(c,"incrementalMerge")}}class Interactive extends i.Option01{constructor(e){super(c,"interactive")}}class Jog extends i.OptionObject{constructor(e){super(c,"jog",["usePrinterSetting","none","pageSet"])}}class LabelPrinter extends i.XFAObject{constructor(e){super(c,"labelPrinter",!0);this.name=(0,s.getStringOption)(e.name,["zpl","dpl","ipl","tcpl"]);this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class Layout extends i.OptionObject{constructor(e){super(c,"layout",["paginate","panel"])}}class Level extends i.IntegerObject{constructor(e){super(c,"level",0,(e=>e>0))}}class Linearized extends i.Option01{constructor(e){super(c,"linearized")}}class Locale extends i.StringObject{constructor(e){super(c,"locale")}}class LocaleSet extends i.StringObject{constructor(e){super(c,"localeSet")}}class Log extends i.XFAObject{constructor(e){super(c,"log",!0);this.mode=null;this.threshold=null;this.to=null;this.uri=null}}class MapElement extends i.XFAObject{constructor(e){super(c,"map",!0);this.equate=new i.XFAObjectArray;this.equateRange=new i.XFAObjectArray}}class MediumInfo extends i.XFAObject{constructor(e){super(c,"mediumInfo",!0);this.map=null}}class Message extends i.XFAObject{constructor(e){super(c,"message",!0);this.msgId=null;this.severity=null}}class Messaging extends i.XFAObject{constructor(e){super(c,"messaging",!0);this.message=new i.XFAObjectArray}}class Mode extends i.OptionObject{constructor(e){super(c,"mode",["append","overwrite"])}}class ModifyAnnots extends i.Option01{constructor(e){super(c,"modifyAnnots")}}class MsgId extends i.IntegerObject{constructor(e){super(c,"msgId",1,(e=>e>=1))}}class NameAttr extends i.StringObject{constructor(e){super(c,"nameAttr")}}class NeverEmbed extends i.ContentObject{constructor(e){super(c,"neverEmbed")}}class NumberOfCopies extends i.IntegerObject{constructor(e){super(c,"numberOfCopies",null,(e=>e>=2&&e<=5))}}class OpenAction extends i.XFAObject{constructor(e){super(c,"openAction",!0);this.destination=null}}class Output extends i.XFAObject{constructor(e){super(c,"output",!0);this.to=null;this.type=null;this.uri=null}}class OutputBin extends i.StringObject{constructor(e){super(c,"outputBin")}}class OutputXSL extends i.XFAObject{constructor(e){super(c,"outputXSL",!0);this.uri=null}}class Overprint extends i.OptionObject{constructor(e){super(c,"overprint",["none","both","draw","field"])}}class Packets extends i.StringObject{constructor(e){super(c,"packets")}[n.$finalize](){"*"!==this[n.$content]&&(this[n.$content]=this[n.$content].trim().split(/\s+/).filter((e=>["config","datasets","template","xfdf","xslt"].includes(e))))}}class PageOffset extends i.XFAObject{constructor(e){super(c,"pageOffset");this.x=(0,s.getInteger)({data:e.x,defaultValue:"useXDCSetting",validate:e=>!0});this.y=(0,s.getInteger)({data:e.y,defaultValue:"useXDCSetting",validate:e=>!0})}}class PageRange extends i.StringObject{constructor(e){super(c,"pageRange")}[n.$finalize](){const e=this[n.$content].trim().split(/\s+/).map((e=>parseInt(e,10))),t=[];for(let a=0,r=e.length;a!1))}}class Pcl extends i.XFAObject{constructor(e){super(c,"pcl",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.pageOffset=null;this.staple=null;this.xdc=null}}class Pdf extends i.XFAObject{constructor(e){super(c,"pdf",!0);this.name=e.name||"";this.adobeExtensionLevel=null;this.batchOutput=null;this.compression=null;this.creator=null;this.encryption=null;this.fontInfo=null;this.interactive=null;this.linearized=null;this.openAction=null;this.pdfa=null;this.producer=null;this.renderPolicy=null;this.scriptModel=null;this.silentPrint=null;this.submitFormat=null;this.tagged=null;this.version=null;this.viewerPreferences=null;this.xdc=null}}class Pdfa extends i.XFAObject{constructor(e){super(c,"pdfa",!0);this.amd=null;this.conformance=null;this.includeXDPContent=null;this.part=null}}class Permissions extends i.XFAObject{constructor(e){super(c,"permissions",!0);this.accessibleContent=null;this.change=null;this.contentCopy=null;this.documentAssembly=null;this.formFieldFilling=null;this.modifyAnnots=null;this.plaintextMetadata=null;this.print=null;this.printHighQuality=null}}class PickTrayByPDFSize extends i.Option01{constructor(e){super(c,"pickTrayByPDFSize")}}class Picture extends i.StringObject{constructor(e){super(c,"picture")}}class PlaintextMetadata extends i.Option01{constructor(e){super(c,"plaintextMetadata")}}class Presence extends i.OptionObject{constructor(e){super(c,"presence",["preserve","dissolve","dissolveStructure","ignore","remove"])}}class Present extends i.XFAObject{constructor(e){super(c,"present",!0);this.behaviorOverride=null;this.cache=null;this.common=null;this.copies=null;this.destination=null;this.incrementalMerge=null;this.layout=null;this.output=null;this.overprint=null;this.pagination=null;this.paginationOverride=null;this.script=null;this.validate=null;this.xdp=null;this.driver=new i.XFAObjectArray;this.labelPrinter=new i.XFAObjectArray;this.pcl=new i.XFAObjectArray;this.pdf=new i.XFAObjectArray;this.ps=new i.XFAObjectArray;this.submitUrl=new i.XFAObjectArray;this.webClient=new i.XFAObjectArray;this.zpl=new i.XFAObjectArray}}class Print extends i.Option01{constructor(e){super(c,"print")}}class PrintHighQuality extends i.Option01{constructor(e){super(c,"printHighQuality")}}class PrintScaling extends i.OptionObject{constructor(e){super(c,"printScaling",["appdefault","noScaling"])}}class PrinterName extends i.StringObject{constructor(e){super(c,"printerName")}}class Producer extends i.StringObject{constructor(e){super(c,"producer")}}class Ps extends i.XFAObject{constructor(e){super(c,"ps",!0);this.name=e.name||"";this.batchOutput=null;this.fontInfo=null;this.jog=null;this.mediumInfo=null;this.outputBin=null;this.staple=null;this.xdc=null}}class Range extends i.ContentObject{constructor(e){super(c,"range")}[n.$finalize](){this[n.$content]=this[n.$content].trim().split(/\s*,\s*/,2).map((e=>e.split("-").map((e=>parseInt(e.trim(),10))))).filter((e=>e.every((e=>!isNaN(e))))).map((e=>{1===e.length&&e.push(e[0]);return e}))}}class Record extends i.ContentObject{constructor(e){super(c,"record")}[n.$finalize](){this[n.$content]=this[n.$content].trim();const e=parseInt(this[n.$content],10);!isNaN(e)&&e>=0&&(this[n.$content]=e)}}class Relevant extends i.ContentObject{constructor(e){super(c,"relevant")}[n.$finalize](){this[n.$content]=this[n.$content].trim().split(/\s+/)}}class Rename extends i.ContentObject{constructor(e){super(c,"rename")}[n.$finalize](){this[n.$content]=this[n.$content].trim();(this[n.$content].toLowerCase().startsWith("xml")||new RegExp("[\\p{L}_][\\p{L}\\d._\\p{M}-]*","u").test(this[n.$content]))&&(0,o.warn)("XFA - Rename: invalid XFA name")}}class RenderPolicy extends i.OptionObject{constructor(e){super(c,"renderPolicy",["server","client"])}}class RunScripts extends i.OptionObject{constructor(e){super(c,"runScripts",["both","client","none","server"])}}class Script extends i.XFAObject{constructor(e){super(c,"script",!0);this.currentPage=null;this.exclude=null;this.runScripts=null}}class ScriptModel extends i.OptionObject{constructor(e){super(c,"scriptModel",["XFA","none"])}}class Severity extends i.OptionObject{constructor(e){super(c,"severity",["ignore","error","information","trace","warning"])}}class SilentPrint extends i.XFAObject{constructor(e){super(c,"silentPrint",!0);this.addSilentPrint=null;this.printerName=null}}class Staple extends i.XFAObject{constructor(e){super(c,"staple");this.mode=(0,s.getStringOption)(e.mode,["usePrinterSetting","on","off"])}}class StartNode extends i.StringObject{constructor(e){super(c,"startNode")}}class StartPage extends i.IntegerObject{constructor(e){super(c,"startPage",0,(e=>!0))}}class SubmitFormat extends i.OptionObject{constructor(e){super(c,"submitFormat",["html","delegate","fdf","xml","pdf"])}}class SubmitUrl extends i.StringObject{constructor(e){super(c,"submitUrl")}}class SubsetBelow extends i.IntegerObject{constructor(e){super(c,"subsetBelow",100,(e=>e>=0&&e<=100))}}class SuppressBanner extends i.Option01{constructor(e){super(c,"suppressBanner")}}class Tagged extends i.Option01{constructor(e){super(c,"tagged")}}class Template extends i.XFAObject{constructor(e){super(c,"template",!0);this.base=null;this.relevant=null;this.startPage=null;this.uri=null;this.xsl=null}}class Threshold extends i.OptionObject{constructor(e){super(c,"threshold",["trace","error","information","warning"])}}class To extends i.OptionObject{constructor(e){super(c,"to",["null","memory","stderr","stdout","system","uri"])}}class TemplateCache extends i.XFAObject{constructor(e){super(c,"templateCache");this.maxEntries=(0,s.getInteger)({data:e.maxEntries,defaultValue:5,validate:e=>e>=0})}}class Trace extends i.XFAObject{constructor(e){super(c,"trace",!0);this.area=new i.XFAObjectArray}}class Transform extends i.XFAObject{constructor(e){super(c,"transform",!0);this.groupParent=null;this.ifEmpty=null;this.nameAttr=null;this.picture=null;this.presence=null;this.rename=null;this.whitespace=null}}class Type extends i.OptionObject{constructor(e){super(c,"type",["none","ascii85","asciiHex","ccittfax","flate","lzw","runLength","native","xdp","mergedXDP"])}}class Uri extends i.StringObject{constructor(e){super(c,"uri")}}class Validate extends i.OptionObject{constructor(e){super(c,"validate",["preSubmit","prePrint","preExecute","preSave"])}}class ValidateApprovalSignatures extends i.ContentObject{constructor(e){super(c,"validateApprovalSignatures")}[n.$finalize](){this[n.$content]=this[n.$content].trim().split(/\s+/).filter((e=>["docReady","postSign"].includes(e)))}}class ValidationMessaging extends i.OptionObject{constructor(e){super(c,"validationMessaging",["allMessagesIndividually","allMessagesTogether","firstMessageOnly","noMessages"])}}class Version extends i.OptionObject{constructor(e){super(c,"version",["1.7","1.6","1.5","1.4","1.3","1.2"])}}class VersionControl extends i.XFAObject{constructor(e){super(c,"VersionControl");this.outputBelow=(0,s.getStringOption)(e.outputBelow,["warn","error","update"]);this.sourceAbove=(0,s.getStringOption)(e.sourceAbove,["warn","error"]);this.sourceBelow=(0,s.getStringOption)(e.sourceBelow,["update","maintain"])}}class ViewerPreferences extends i.XFAObject{constructor(e){super(c,"viewerPreferences",!0);this.ADBE_JSConsole=null;this.ADBE_JSDebugger=null;this.addViewerPreferences=null;this.duplexOption=null;this.enforce=null;this.numberOfCopies=null;this.pageRange=null;this.pickTrayByPDFSize=null;this.printScaling=null}}class WebClient extends i.XFAObject{constructor(e){super(c,"webClient",!0);this.name=e.name?e.name.trim():"";this.fontInfo=null;this.xdc=null}}class Whitespace extends i.OptionObject{constructor(e){super(c,"whitespace",["preserve","ltrim","normalize","rtrim","trim"])}}class Window extends i.ContentObject{constructor(e){super(c,"window")}[n.$finalize](){const e=this[n.$content].trim().split(/\s*,\s*/,2).map((e=>parseInt(e,10)));if(e.some((e=>isNaN(e))))this[n.$content]=[0,0];else{1===e.length&&e.push(e[0]);this[n.$content]=e}}}class Xdc extends i.XFAObject{constructor(e){super(c,"xdc",!0);this.uri=new i.XFAObjectArray;this.xsl=new i.XFAObjectArray}}class Xdp extends i.XFAObject{constructor(e){super(c,"xdp",!0);this.packets=null}}class Xsl extends i.XFAObject{constructor(e){super(c,"xsl",!0);this.debug=null;this.uri=null}}class Zpl extends i.XFAObject{constructor(e){super(c,"zpl",!0);this.name=e.name?e.name.trim():"";this.batchOutput=null;this.flipLabel=null;this.fontInfo=null;this.xdc=null}}class ConfigNamespace{static[r.$buildXFAObject](e,t){if(ConfigNamespace.hasOwnProperty(e))return ConfigNamespace[e](t)}static acrobat(e){return new Acrobat(e)}static acrobat7(e){return new Acrobat7(e)}static ADBE_JSConsole(e){return new ADBE_JSConsole(e)}static ADBE_JSDebugger(e){return new ADBE_JSDebugger(e)}static addSilentPrint(e){return new AddSilentPrint(e)}static addViewerPreferences(e){return new AddViewerPreferences(e)}static adjustData(e){return new AdjustData(e)}static adobeExtensionLevel(e){return new AdobeExtensionLevel(e)}static agent(e){return new Agent(e)}static alwaysEmbed(e){return new AlwaysEmbed(e)}static amd(e){return new Amd(e)}static area(e){return new Area(e)}static attributes(e){return new Attributes(e)}static autoSave(e){return new AutoSave(e)}static base(e){return new Base(e)}static batchOutput(e){return new BatchOutput(e)}static behaviorOverride(e){return new BehaviorOverride(e)}static cache(e){return new Cache(e)}static change(e){return new Change(e)}static common(e){return new Common(e)}static compress(e){return new Compress(e)}static compressLogicalStructure(e){return new CompressLogicalStructure(e)}static compressObjectStream(e){return new CompressObjectStream(e)}static compression(e){return new Compression(e)}static config(e){return new Config(e)}static conformance(e){return new Conformance(e)}static contentCopy(e){return new ContentCopy(e)}static copies(e){return new Copies(e)}static creator(e){return new Creator(e)}static currentPage(e){return new CurrentPage(e)}static data(e){return new Data(e)}static debug(e){return new Debug(e)}static defaultTypeface(e){return new DefaultTypeface(e)}static destination(e){return new Destination(e)}static documentAssembly(e){return new DocumentAssembly(e)}static driver(e){return new Driver(e)}static duplexOption(e){return new DuplexOption(e)}static dynamicRender(e){return new DynamicRender(e)}static embed(e){return new Embed(e)}static encrypt(e){return new Encrypt(e)}static encryption(e){return new Encryption(e)}static encryptionLevel(e){return new EncryptionLevel(e)}static enforce(e){return new Enforce(e)}static equate(e){return new Equate(e)}static equateRange(e){return new EquateRange(e)}static exclude(e){return new Exclude(e)}static excludeNS(e){return new ExcludeNS(e)}static flipLabel(e){return new FlipLabel(e)}static fontInfo(e){return new FontInfo(e)}static formFieldFilling(e){return new FormFieldFilling(e)}static groupParent(e){return new GroupParent(e)}static ifEmpty(e){return new IfEmpty(e)}static includeXDPContent(e){return new IncludeXDPContent(e)}static incrementalLoad(e){return new IncrementalLoad(e)}static incrementalMerge(e){return new IncrementalMerge(e)}static interactive(e){return new Interactive(e)}static jog(e){return new Jog(e)}static labelPrinter(e){return new LabelPrinter(e)}static layout(e){return new Layout(e)}static level(e){return new Level(e)}static linearized(e){return new Linearized(e)}static locale(e){return new Locale(e)}static localeSet(e){return new LocaleSet(e)}static log(e){return new Log(e)}static map(e){return new MapElement(e)}static mediumInfo(e){return new MediumInfo(e)}static message(e){return new Message(e)}static messaging(e){return new Messaging(e)}static mode(e){return new Mode(e)}static modifyAnnots(e){return new ModifyAnnots(e)}static msgId(e){return new MsgId(e)}static nameAttr(e){return new NameAttr(e)}static neverEmbed(e){return new NeverEmbed(e)}static numberOfCopies(e){return new NumberOfCopies(e)}static openAction(e){return new OpenAction(e)}static output(e){return new Output(e)}static outputBin(e){return new OutputBin(e)}static outputXSL(e){return new OutputXSL(e)}static overprint(e){return new Overprint(e)}static packets(e){return new Packets(e)}static pageOffset(e){return new PageOffset(e)}static pageRange(e){return new PageRange(e)}static pagination(e){return new Pagination(e)}static paginationOverride(e){return new PaginationOverride(e)}static part(e){return new Part(e)}static pcl(e){return new Pcl(e)}static pdf(e){return new Pdf(e)}static pdfa(e){return new Pdfa(e)}static permissions(e){return new Permissions(e)}static pickTrayByPDFSize(e){return new PickTrayByPDFSize(e)}static picture(e){return new Picture(e)}static plaintextMetadata(e){return new PlaintextMetadata(e)}static presence(e){return new Presence(e)}static present(e){return new Present(e)}static print(e){return new Print(e)}static printHighQuality(e){return new PrintHighQuality(e)}static printScaling(e){return new PrintScaling(e)}static printerName(e){return new PrinterName(e)}static producer(e){return new Producer(e)}static ps(e){return new Ps(e)}static range(e){return new Range(e)}static record(e){return new Record(e)}static relevant(e){return new Relevant(e)}static rename(e){return new Rename(e)}static renderPolicy(e){return new RenderPolicy(e)}static runScripts(e){return new RunScripts(e)}static script(e){return new Script(e)}static scriptModel(e){return new ScriptModel(e)}static severity(e){return new Severity(e)}static silentPrint(e){return new SilentPrint(e)}static staple(e){return new Staple(e)}static startNode(e){return new StartNode(e)}static startPage(e){return new StartPage(e)}static submitFormat(e){return new SubmitFormat(e)}static submitUrl(e){return new SubmitUrl(e)}static subsetBelow(e){return new SubsetBelow(e)}static suppressBanner(e){return new SuppressBanner(e)}static tagged(e){return new Tagged(e)}static template(e){return new Template(e)}static templateCache(e){return new TemplateCache(e)}static threshold(e){return new Threshold(e)}static to(e){return new To(e)}static trace(e){return new Trace(e)}static transform(e){return new Transform(e)}static type(e){return new Type(e)}static uri(e){return new Uri(e)}static validate(e){return new Validate(e)}static validateApprovalSignatures(e){return new ValidateApprovalSignatures(e)}static validationMessaging(e){return new ValidationMessaging(e)}static version(e){return new Version(e)}static versionControl(e){return new VersionControl(e)}static viewerPreferences(e){return new ViewerPreferences(e)}static webClient(e){return new WebClient(e)}static whitespace(e){return new Whitespace(e)}static window(e){return new Window(e)}static xdc(e){return new Xdc(e)}static xdp(e){return new Xdp(e)}static xsl(e){return new Xsl(e)}static zpl(e){return new Zpl(e)}}t.ConfigNamespace=ConfigNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.ConnectionSetNamespace=void 0;var r=a(81),n=a(87);const i=r.NamespaceIds.connectionSet.id;class ConnectionSet extends n.XFAObject{constructor(e){super(i,"connectionSet",!0);this.wsdlConnection=new n.XFAObjectArray;this.xmlConnection=new n.XFAObjectArray;this.xsdConnection=new n.XFAObjectArray}}class EffectiveInputPolicy extends n.XFAObject{constructor(e){super(i,"effectiveInputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class EffectiveOutputPolicy extends n.XFAObject{constructor(e){super(i,"effectiveOutputPolicy");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Operation extends n.StringObject{constructor(e){super(i,"operation");this.id=e.id||"";this.input=e.input||"";this.name=e.name||"";this.output=e.output||"";this.use=e.use||"";this.usehref=e.usehref||""}}class RootElement extends n.StringObject{constructor(e){super(i,"rootElement");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAction extends n.StringObject{constructor(e){super(i,"soapAction");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class SoapAddress extends n.StringObject{constructor(e){super(i,"soapAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class Uri extends n.StringObject{constructor(e){super(i,"uri");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlAddress extends n.StringObject{constructor(e){super(i,"wsdlAddress");this.id=e.id||"";this.name=e.name||"";this.use=e.use||"";this.usehref=e.usehref||""}}class WsdlConnection extends n.XFAObject{constructor(e){super(i,"wsdlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.effectiveInputPolicy=null;this.effectiveOutputPolicy=null;this.operation=null;this.soapAction=null;this.soapAddress=null;this.wsdlAddress=null}}class XmlConnection extends n.XFAObject{constructor(e){super(i,"xmlConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.uri=null}}class XsdConnection extends n.XFAObject{constructor(e){super(i,"xsdConnection",!0);this.dataDescription=e.dataDescription||"";this.name=e.name||"";this.rootElement=null;this.uri=null}}class ConnectionSetNamespace{static[r.$buildXFAObject](e,t){if(ConnectionSetNamespace.hasOwnProperty(e))return ConnectionSetNamespace[e](t)}static connectionSet(e){return new ConnectionSet(e)}static effectiveInputPolicy(e){return new EffectiveInputPolicy(e)}static effectiveOutputPolicy(e){return new EffectiveOutputPolicy(e)}static operation(e){return new Operation(e)}static rootElement(e){return new RootElement(e)}static soapAction(e){return new SoapAction(e)}static soapAddress(e){return new SoapAddress(e)}static uri(e){return new Uri(e)}static wsdlAddress(e){return new WsdlAddress(e)}static wsdlConnection(e){return new WsdlConnection(e)}static xmlConnection(e){return new XmlConnection(e)}static xsdConnection(e){return new XsdConnection(e)}}t.ConnectionSetNamespace=ConnectionSetNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.DatasetsNamespace=void 0;var r=a(78),n=a(81),i=a(87);const s=n.NamespaceIds.datasets.id;class Data extends i.XmlObject{constructor(e){super(s,"data",e)}[r.$isNsAgnostic](){return!0}}class Datasets extends i.XFAObject{constructor(e){super(s,"datasets",!0);this.data=null;this.Signature=null}[r.$onChild](e){const t=e[r.$nodeName];("data"===t&&e[r.$namespaceId]===s||"Signature"===t&&e[r.$namespaceId]===n.NamespaceIds.signature.id)&&(this[t]=e);this[r.$appendChild](e)}}class DatasetsNamespace{static[n.$buildXFAObject](e,t){if(DatasetsNamespace.hasOwnProperty(e))return DatasetsNamespace[e](t)}static datasets(e){return new Datasets(e)}static data(e){return new Data(e)}}t.DatasetsNamespace=DatasetsNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.LocaleSetNamespace=void 0;var r=a(81),n=a(87),i=a(84);const s=r.NamespaceIds.localeSet.id;class CalendarSymbols extends n.XFAObject{constructor(e){super(s,"calendarSymbols",!0);this.name="gregorian";this.dayNames=new n.XFAObjectArray(2);this.eraNames=null;this.meridiemNames=null;this.monthNames=new n.XFAObjectArray(2)}}class CurrencySymbol extends n.StringObject{constructor(e){super(s,"currencySymbol");this.name=(0,i.getStringOption)(e.name,["symbol","isoname","decimal"])}}class CurrencySymbols extends n.XFAObject{constructor(e){super(s,"currencySymbols",!0);this.currencySymbol=new n.XFAObjectArray(3)}}class DatePattern extends n.StringObject{constructor(e){super(s,"datePattern");this.name=(0,i.getStringOption)(e.name,["full","long","med","short"])}}class DatePatterns extends n.XFAObject{constructor(e){super(s,"datePatterns",!0);this.datePattern=new n.XFAObjectArray(4)}}class DateTimeSymbols extends n.ContentObject{constructor(e){super(s,"dateTimeSymbols")}}class Day extends n.StringObject{constructor(e){super(s,"day")}}class DayNames extends n.XFAObject{constructor(e){super(s,"dayNames",!0);this.abbr=(0,i.getInteger)({data:e.abbr,defaultValue:0,validate:e=>1===e});this.day=new n.XFAObjectArray(7)}}class Era extends n.StringObject{constructor(e){super(s,"era")}}class EraNames extends n.XFAObject{constructor(e){super(s,"eraNames",!0);this.era=new n.XFAObjectArray(2)}}class Locale extends n.XFAObject{constructor(e){super(s,"locale",!0);this.desc=e.desc||"";this.name="isoname";this.calendarSymbols=null;this.currencySymbols=null;this.datePatterns=null;this.dateTimeSymbols=null;this.numberPatterns=null;this.numberSymbols=null;this.timePatterns=null;this.typeFaces=null}}class LocaleSet extends n.XFAObject{constructor(e){super(s,"localeSet",!0);this.locale=new n.XFAObjectArray}}class Meridiem extends n.StringObject{constructor(e){super(s,"meridiem")}}class MeridiemNames extends n.XFAObject{constructor(e){super(s,"meridiemNames",!0);this.meridiem=new n.XFAObjectArray(2)}}class Month extends n.StringObject{constructor(e){super(s,"month")}}class MonthNames extends n.XFAObject{constructor(e){super(s,"monthNames",!0);this.abbr=(0,i.getInteger)({data:e.abbr,defaultValue:0,validate:e=>1===e});this.month=new n.XFAObjectArray(12)}}class NumberPattern extends n.StringObject{constructor(e){super(s,"numberPattern");this.name=(0,i.getStringOption)(e.name,["full","long","med","short"])}}class NumberPatterns extends n.XFAObject{constructor(e){super(s,"numberPatterns",!0);this.numberPattern=new n.XFAObjectArray(4)}}class NumberSymbol extends n.StringObject{constructor(e){super(s,"numberSymbol");this.name=(0,i.getStringOption)(e.name,["decimal","grouping","percent","minus","zero"])}}class NumberSymbols extends n.XFAObject{constructor(e){super(s,"numberSymbols",!0);this.numberSymbol=new n.XFAObjectArray(5)}}class TimePattern extends n.StringObject{constructor(e){super(s,"timePattern");this.name=(0,i.getStringOption)(e.name,["full","long","med","short"])}}class TimePatterns extends n.XFAObject{constructor(e){super(s,"timePatterns",!0);this.timePattern=new n.XFAObjectArray(4)}}class TypeFace extends n.XFAObject{constructor(e){super(s,"typeFace",!0);this.name=""|e.name}}class TypeFaces extends n.XFAObject{constructor(e){super(s,"typeFaces",!0);this.typeFace=new n.XFAObjectArray}}class LocaleSetNamespace{static[r.$buildXFAObject](e,t){if(LocaleSetNamespace.hasOwnProperty(e))return LocaleSetNamespace[e](t)}static calendarSymbols(e){return new CalendarSymbols(e)}static currencySymbol(e){return new CurrencySymbol(e)}static currencySymbols(e){return new CurrencySymbols(e)}static datePattern(e){return new DatePattern(e)}static datePatterns(e){return new DatePatterns(e)}static dateTimeSymbols(e){return new DateTimeSymbols(e)}static day(e){return new Day(e)}static dayNames(e){return new DayNames(e)}static era(e){return new Era(e)}static eraNames(e){return new EraNames(e)}static locale(e){return new Locale(e)}static localeSet(e){return new LocaleSet(e)}static meridiem(e){return new Meridiem(e)}static meridiemNames(e){return new MeridiemNames(e)}static month(e){return new Month(e)}static monthNames(e){return new MonthNames(e)}static numberPattern(e){return new NumberPattern(e)}static numberPatterns(e){return new NumberPatterns(e)}static numberSymbol(e){return new NumberSymbol(e)}static numberSymbols(e){return new NumberSymbols(e)}static timePattern(e){return new TimePattern(e)}static timePatterns(e){return new TimePatterns(e)}static typeFace(e){return new TypeFace(e)}static typeFaces(e){return new TypeFaces(e)}}t.LocaleSetNamespace=LocaleSetNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.SignatureNamespace=void 0;var r=a(81),n=a(87);const i=r.NamespaceIds.signature.id;class Signature extends n.XFAObject{constructor(e){super(i,"signature",!0)}}class SignatureNamespace{static[r.$buildXFAObject](e,t){if(SignatureNamespace.hasOwnProperty(e))return SignatureNamespace[e](t)}static signature(e){return new Signature(e)}}t.SignatureNamespace=SignatureNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.StylesheetNamespace=void 0;var r=a(81),n=a(87);const i=r.NamespaceIds.stylesheet.id;class Stylesheet extends n.XFAObject{constructor(e){super(i,"stylesheet",!0)}}class StylesheetNamespace{static[r.$buildXFAObject](e,t){if(StylesheetNamespace.hasOwnProperty(e))return StylesheetNamespace[e](t)}static stylesheet(e){return new Stylesheet(e)}}t.StylesheetNamespace=StylesheetNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XdpNamespace=void 0;var r=a(81),n=a(78),i=a(87);const s=r.NamespaceIds.xdp.id;class Xdp extends i.XFAObject{constructor(e){super(s,"xdp",!0);this.uuid=e.uuid||"";this.timeStamp=e.timeStamp||"";this.config=null;this.connectionSet=null;this.datasets=null;this.localeSet=null;this.stylesheet=new i.XFAObjectArray;this.template=null}[n.$onChildCheck](e){const t=r.NamespaceIds[e[n.$nodeName]];return t&&e[n.$namespaceId]===t.id}}class XdpNamespace{static[r.$buildXFAObject](e,t){if(XdpNamespace.hasOwnProperty(e))return XdpNamespace[e](t)}static xdp(e){return new Xdp(e)}}t.XdpNamespace=XdpNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XhtmlNamespace=void 0;var r=a(78),n=a(81),i=a(83),s=a(84),o=a(87);const c=n.NamespaceIds.xhtml.id,l=Symbol(),h=new Set(["color","font","font-family","font-size","font-stretch","font-style","font-weight","margin","margin-bottom","margin-left","margin-right","margin-top","letter-spacing","line-height","orphans","page-break-after","page-break-before","page-break-inside","tab-interval","tab-stop","text-align","text-decoration","text-indent","vertical-align","widows","kerning-mode","xfa-font-horizontal-scale","xfa-font-vertical-scale","xfa-spacerun","xfa-tab-stops"]),u=new Map([["page-break-after","breakAfter"],["page-break-before","breakBefore"],["page-break-inside","breakInside"],["kerning-mode",e=>"none"===e?"none":"normal"],["xfa-font-horizontal-scale",e=>`scaleX(${Math.max(0,Math.min(parseInt(e)/100)).toFixed(2)})`],["xfa-font-vertical-scale",e=>`scaleY(${Math.max(0,Math.min(parseInt(e)/100)).toFixed(2)})`],["xfa-spacerun",""],["xfa-tab-stops",""],["font-size",(e,t)=>{e=t.fontSize=(0,s.getMeasurement)(e);return(0,i.measureToString)(.99*e)}],["letter-spacing",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],["line-height",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],["margin",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],["margin-bottom",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],["margin-left",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],["margin-right",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],["margin-top",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],["text-indent",e=>(0,i.measureToString)((0,s.getMeasurement)(e))],["font-family",e=>e],["vertical-align",e=>(0,i.measureToString)((0,s.getMeasurement)(e))]]),d=/\s+/g,f=/[\r\n]+/g,g=/\r\n?/g;function mapStyle(e,t,a){const n=Object.create(null);if(!e)return n;const o=Object.create(null);for(const[t,a]of e.split(";").map((e=>e.split(":",2)))){const e=u.get(t);if(""===e)continue;let r=a;e&&(r="string"==typeof e?e:e(a,o));t.endsWith("scale")?n.transform=n.transform?`${n[t]} ${r}`:r:n[t.replaceAll(/-([a-zA-Z])/g,((e,t)=>t.toUpperCase()))]=r}n.fontFamily&&(0,i.setFontFamily)({typeface:n.fontFamily,weight:n.fontWeight||"normal",posture:n.fontStyle||"normal",size:o.fontSize||0},t,t[r.$globalData].fontFinder,n);if(a&&n.verticalAlign&&"0px"!==n.verticalAlign&&n.fontSize){const e=.583,t=.333,a=(0,s.getMeasurement)(n.fontSize);n.fontSize=(0,i.measureToString)(a*e);n.verticalAlign=(0,i.measureToString)(Math.sign((0,s.getMeasurement)(n.verticalAlign))*a*t)}a&&n.fontSize&&(n.fontSize=`calc(${n.fontSize} * var(--scale-factor))`);(0,i.fixTextIndent)(n);return n}const p=new Set(["body","html"]);class XhtmlObject extends o.XmlObject{constructor(e,t){super(c,t);this[l]=!1;this.style=e.style||""}[r.$clean](e){super[r.$clean](e);this.style=function checkStyle(e){return e.style?e.style.trim().split(/\s*;\s*/).filter((e=>!!e)).map((e=>e.split(/\s*:\s*/,2))).filter((([t,a])=>{"font-family"===t&&e[r.$globalData].usedTypefaces.add(a);return h.has(t)})).map((e=>e.join(":"))).join(";"):""}(this)}[r.$acceptWhitespace](){return!p.has(this[r.$nodeName])}[r.$onText](e,t=!1){if(t)this[l]=!0;else{e=e.replaceAll(f,"");this.style.includes("xfa-spacerun:yes")||(e=e.replaceAll(d," "))}e&&(this[r.$content]+=e)}[r.$pushGlyphs](e,t=!0){const a=Object.create(null),n={top:NaN,bottom:NaN,left:NaN,right:NaN};let i=null;for(const[e,t]of this.style.split(";").map((e=>e.split(":",2))))switch(e){case"font-family":a.typeface=(0,s.stripQuotes)(t);break;case"font-size":a.size=(0,s.getMeasurement)(t);break;case"font-weight":a.weight=t;break;case"font-style":a.posture=t;break;case"letter-spacing":a.letterSpacing=(0,s.getMeasurement)(t);break;case"margin":const e=t.split(/ \t/).map((e=>(0,s.getMeasurement)(e)));switch(e.length){case 1:n.top=n.bottom=n.left=n.right=e[0];break;case 2:n.top=n.bottom=e[0];n.left=n.right=e[1];break;case 3:n.top=e[0];n.bottom=e[2];n.left=n.right=e[1];break;case 4:n.top=e[0];n.left=e[1];n.bottom=e[2];n.right=e[3]}break;case"margin-top":n.top=(0,s.getMeasurement)(t);break;case"margin-bottom":n.bottom=(0,s.getMeasurement)(t);break;case"margin-left":n.left=(0,s.getMeasurement)(t);break;case"margin-right":n.right=(0,s.getMeasurement)(t);break;case"line-height":i=(0,s.getMeasurement)(t)}e.pushData(a,n,i);if(this[r.$content])e.addString(this[r.$content]);else for(const t of this[r.$getChildren]())"#text"!==t[r.$nodeName]?t[r.$pushGlyphs](e):e.addString(t[r.$content]);t&&e.popFont()}[r.$toHTML](e){const t=[];this[r.$extra]={children:t};this[r.$childrenToHTML]({});if(0===t.length&&!this[r.$content])return s.HTMLResult.EMPTY;let a;a=this[l]?this[r.$content]?this[r.$content].replaceAll(g,"\n"):void 0:this[r.$content]||void 0;return s.HTMLResult.success({name:this[r.$nodeName],attributes:{href:this.href,style:mapStyle(this.style,this,this[l])},children:t,value:a})}}class A extends XhtmlObject{constructor(e){super(e,"a");this.href=(0,i.fixURL)(e.href)||""}}class B extends XhtmlObject{constructor(e){super(e,"b")}[r.$pushGlyphs](e){e.pushFont({weight:"bold"});super[r.$pushGlyphs](e);e.popFont()}}class Body extends XhtmlObject{constructor(e){super(e,"body")}[r.$toHTML](e){const t=super[r.$toHTML](e),{html:a}=t;if(!a)return s.HTMLResult.EMPTY;a.name="div";a.attributes.class=["xfaRich"];return t}}class Br extends XhtmlObject{constructor(e){super(e,"br")}[r.$text](){return"\n"}[r.$pushGlyphs](e){e.addString("\n")}[r.$toHTML](e){return s.HTMLResult.success({name:"br"})}}class Html extends XhtmlObject{constructor(e){super(e,"html")}[r.$toHTML](e){const t=[];this[r.$extra]={children:t};this[r.$childrenToHTML]({});if(0===t.length)return s.HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},value:this[r.$content]||""});if(1===t.length){const e=t[0];if(e.attributes?.class.includes("xfaRich"))return s.HTMLResult.success(e)}return s.HTMLResult.success({name:"div",attributes:{class:["xfaRich"],style:{}},children:t})}}class I extends XhtmlObject{constructor(e){super(e,"i")}[r.$pushGlyphs](e){e.pushFont({posture:"italic"});super[r.$pushGlyphs](e);e.popFont()}}class Li extends XhtmlObject{constructor(e){super(e,"li")}}class Ol extends XhtmlObject{constructor(e){super(e,"ol")}}class P extends XhtmlObject{constructor(e){super(e,"p")}[r.$pushGlyphs](e){super[r.$pushGlyphs](e,!1);e.addString("\n");e.addPara();e.popFont()}[r.$text](){return this[r.$getParent]()[r.$getChildren]().at(-1)===this?super[r.$text]():super[r.$text]()+"\n"}}class Span extends XhtmlObject{constructor(e){super(e,"span")}}class Sub extends XhtmlObject{constructor(e){super(e,"sub")}}class Sup extends XhtmlObject{constructor(e){super(e,"sup")}}class Ul extends XhtmlObject{constructor(e){super(e,"ul")}}class XhtmlNamespace{static[n.$buildXFAObject](e,t){if(XhtmlNamespace.hasOwnProperty(e))return XhtmlNamespace[e](t)}static a(e){return new A(e)}static b(e){return new B(e)}static body(e){return new Body(e)}static br(e){return new Br(e)}static html(e){return new Html(e)}static i(e){return new I(e)}static li(e){return new Li(e)}static ol(e){return new Ol(e)}static p(e){return new P(e)}static span(e){return new Span(e)}static sub(e){return new Sub(e)}static sup(e){return new Sup(e)}static ul(e){return new Ul(e)}}t.XhtmlNamespace=XhtmlNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.UnknownNamespace=void 0;var r=a(81),n=a(87);class UnknownNamespace{constructor(e){this.namespaceId=e}[r.$buildXFAObject](e,t){return new n.XmlObject(this.namespaceId,e,t)}}t.UnknownNamespace=UnknownNamespace},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.DatasetReader=void 0;var r=a(2),n=a(3),i=a(71);function decodeString(e){try{return(0,r.stringToUTF8String)(e)}catch(t){(0,r.warn)(`UTF-8 decoding failed: "${t}".`);return e}}class DatasetXMLParser extends i.SimpleXMLParser{constructor(e){super(e);this.node=null}onEndElement(e){const t=super.onEndElement(e);if(t&&"xfa:datasets"===e){this.node=t;throw new Error("Aborting DatasetXMLParser.")}}}t.DatasetReader=class DatasetReader{constructor(e){if(e.datasets)this.node=new i.SimpleXMLParser({hasAttributes:!0}).parseFromString(e.datasets).documentElement;else{const t=new DatasetXMLParser({hasAttributes:!0});try{t.parseFromString(e["xdp:xdp"])}catch{}this.node=t.node}}getValue(e){if(!this.node||!e)return"";const t=this.node.searchNode((0,n.parseXFAPath)(e),0);if(!t)return"";const a=t.firstChild;return"value"===a?.nodeName?t.children.map((e=>decodeString(e.textContent))):decodeString(t.textContent)}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.XRef=void 0;var r=a(2),n=a(4),i=a(16),s=a(3),o=a(5),c=a(74);t.XRef=class XRef{#B=null;constructor(e,t){this.stream=e;this.pdfManager=t;this.entries=[];this._xrefStms=new Set;this._cacheMap=new Map;this._pendingRefs=new n.RefSet;this._newPersistentRefNum=null;this._newTemporaryRefNum=null}getNewPersistentRef(e){null===this._newPersistentRefNum&&(this._newPersistentRefNum=this.entries.length||1);const t=this._newPersistentRefNum++;this._cacheMap.set(t,e);return n.Ref.get(t,0)}getNewTemporaryRef(){null===this._newTemporaryRefNum&&(this._newTemporaryRefNum=this.entries.length||1);return n.Ref.get(this._newTemporaryRefNum++,0)}resetNewTemporaryRef(){this._newTemporaryRefNum=null}setStartXRef(e){this.startXRefQueue=[e]}parse(e=!1){let t,a,i;if(e){(0,r.warn)("Indexing all PDF objects");t=this.indexObjects()}else t=this.readXRef();t.assignXref(this);this.trailer=t;try{a=t.get("Encrypt")}catch(e){if(e instanceof s.MissingDataException)throw e;(0,r.warn)(`XRef.parse - Invalid "Encrypt" reference: "${e}".`)}if(a instanceof n.Dict){const e=t.get("ID"),r=e?.length?e[0]:"";a.suppressEncryption=!0;this.encrypt=new c.CipherTransformFactory(a,r,this.pdfManager.password)}try{i=t.get("Root")}catch(e){if(e instanceof s.MissingDataException)throw e;(0,r.warn)(`XRef.parse - Invalid "Root" reference: "${e}".`)}if(i instanceof n.Dict)try{if(i.get("Pages")instanceof n.Dict){this.root=i;return}}catch(e){if(e instanceof s.MissingDataException)throw e;(0,r.warn)(`XRef.parse - Invalid "Pages" reference: "${e}".`)}if(!e)throw new s.XRefParseException;throw new r.InvalidPDFException("Invalid Root reference.")}processXRefTable(e){"tableState"in this||(this.tableState={entryNum:0,streamPos:e.lexer.stream.pos,parserBuf1:e.buf1,parserBuf2:e.buf2});const t=this.readXRefTable(e);if(!(0,n.isCmd)(t,"trailer"))throw new r.FormatError("Invalid XRef table: could not find trailer dictionary");let a=e.getObj();a instanceof n.Dict||!a.dict||(a=a.dict);if(!(a instanceof n.Dict))throw new r.FormatError("Invalid XRef table: could not parse trailer dictionary");delete this.tableState;return a}readXRefTable(e){const t=e.lexer.stream,a=this.tableState;t.pos=a.streamPos;e.buf1=a.parserBuf1;e.buf2=a.parserBuf2;let i;for(;;){if(!("firstEntryNum"in a)||!("entryCount"in a)){if((0,n.isCmd)(i=e.getObj(),"trailer"))break;a.firstEntryNum=i;a.entryCount=e.getObj()}let s=a.firstEntryNum;const o=a.entryCount;if(!Number.isInteger(s)||!Number.isInteger(o))throw new r.FormatError("Invalid XRef table: wrong types in subsection header");for(let i=a.entryNum;i0;){const[o,c]=s;if(!Number.isInteger(o)||!Number.isInteger(c))throw new r.FormatError(`Invalid XRef range fields: ${o}, ${c}`);if(!Number.isInteger(a)||!Number.isInteger(n)||!Number.isInteger(i))throw new r.FormatError(`Invalid XRef entry fields length: ${o}, ${c}`);for(let s=t.entryNum;s=e.length);){a+=String.fromCharCode(r);r=e[t]}return a}function skipUntil(e,t,a){const r=a.length,n=e.length;let i=0;for(;t=r)break;t++;i++}return i}const e=/\b(endobj|\d+\s+\d+\s+obj|xref|trailer\s*<<)\b/g,t=/\b(startxref|\d+\s+\d+\s+obj)\b/g,a=/^(\d+)\s+(\d+)\s+obj\b/,o=new Uint8Array([116,114,97,105,108,101,114]),c=new Uint8Array([115,116,97,114,116,120,114,101,102]),l=new Uint8Array([47,88,82,101,102]);this.entries.length=0;this._cacheMap.clear();const h=this.stream;h.pos=0;const u=h.getBytes(),d=(0,r.bytesToString)(u),f=u.length;let g=h.start;const p=[],m=[];for(;g=f)break;n=u[g]}while(10!==n&&13!==n);continue}const b=readToken(u,g);let y;if(b.startsWith("xref")&&(4===b.length||/\s/.test(b[4]))){g+=skipUntil(u,g,o);p.push(g);g+=skipUntil(u,g,c)}else if(y=a.exec(b)){const t=0|y[1],a=0|y[2],n=g+b.length;let o,c=!1;if(this.entries[t]){if(this.entries[t].gen===a)try{new i.Parser({lexer:new i.Lexer(h.makeSubStream(n))}).getObj();c=!0}catch(e){e instanceof s.ParserEOFException?(0,r.warn)(`indexObjects -- checking object (${b}): "${e}".`):c=!0}}else c=!0;c&&(this.entries[t]={offset:g-h.start,gen:a,uncompressed:!0});e.lastIndex=n;const p=e.exec(d);if(p){o=e.lastIndex+1-g;if("endobj"!==p[1]){(0,r.warn)(`indexObjects: Found "${p[1]}" inside of another "obj", caused by missing "endobj" -- trying to recover.`);o-=p[1].length+1}}else o=f-g;const w=u.subarray(g,g+o),S=skipUntil(w,0,l);if(S0?Math.max(...this._xrefStms):null)}getEntry(e){const t=this.entries[e];return t&&!t.free&&t.offset?t:null}fetchIfRef(e,t=!1){return e instanceof n.Ref?this.fetch(e,t):e}fetch(e,t=!1){if(!(e instanceof n.Ref))throw new Error("ref object is not a reference");const a=e.num,i=this._cacheMap.get(a);if(void 0!==i){i instanceof n.Dict&&!i.objId&&(i.objId=e.toString());return i}let s=this.getEntry(a);if(null===s){this._cacheMap.set(a,s);return s}if(this._pendingRefs.has(e)){this._pendingRefs.remove(e);(0,r.warn)(`Ignoring circular reference: ${e}.`);return n.CIRCULAR_REF}this._pendingRefs.put(e);try{s=s.uncompressed?this.fetchUncompressed(e,s,t):this.fetchCompressed(e,s,t);this._pendingRefs.remove(e)}catch(t){this._pendingRefs.remove(e);throw t}s instanceof n.Dict?s.objId=e.toString():s instanceof o.BaseStream&&(s.dict.objId=e.toString());return s}fetchUncompressed(e,t,a=!1){const c=e.gen;let l=e.num;if(t.gen!==c){const i=`Inconsistent generation in XRef: ${e}`;if(this._generationFallback&&t.gen{Object.defineProperty(t,"__esModule",{value:!0});t.MessageHandler=void 0;var r=a(2);const n=1,i=2,s=1,o=2,c=3,l=4,h=5,u=6,d=7,f=8;function wrapReason(e){e instanceof Error||"object"==typeof e&&null!==e||(0,r.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(e.name){case"AbortException":return new r.AbortException(e.message);case"MissingPDFException":return new r.MissingPDFException(e.message);case"PasswordException":return new r.PasswordException(e.message,e.code);case"UnexpectedResponseException":return new r.UnexpectedResponseException(e.message,e.status);case"UnknownErrorException":return new r.UnknownErrorException(e.message,e.details);default:return new r.UnknownErrorException(e.message,e.toString())}}t.MessageHandler=class MessageHandler{constructor(e,t,a){this.sourceName=e;this.targetName=t;this.comObj=a;this.callbackId=1;this.streamId=1;this.streamSinks=Object.create(null);this.streamControllers=Object.create(null);this.callbackCapabilities=Object.create(null);this.actionHandler=Object.create(null);this._onComObjOnMessage=e=>{const t=e.data;if(t.targetName!==this.sourceName)return;if(t.stream){this.#E(t);return}if(t.callback){const e=t.callbackId,a=this.callbackCapabilities[e];if(!a)throw new Error(`Cannot resolve callback ${e}`);delete this.callbackCapabilities[e];if(t.callback===n)a.resolve(t.data);else{if(t.callback!==i)throw new Error("Unexpected callback case");a.reject(wrapReason(t.reason))}return}const r=this.actionHandler[t.action];if(!r)throw new Error(`Unknown action from worker: ${t.action}`);if(t.callbackId){const e=this.sourceName,s=t.sourceName;new Promise((function(e){e(r(t.data))})).then((function(r){a.postMessage({sourceName:e,targetName:s,callback:n,callbackId:t.callbackId,data:r})}),(function(r){a.postMessage({sourceName:e,targetName:s,callback:i,callbackId:t.callbackId,reason:wrapReason(r)})}))}else t.streamId?this.#N(t):r(t.data)};a.addEventListener("message",this._onComObjOnMessage)}on(e,t){const a=this.actionHandler;if(a[e])throw new Error(`There is already an actionName called "${e}"`);a[e]=t}send(e,t,a){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:t},a)}sendWithPromise(e,t,a){const n=this.callbackId++,i=new r.PromiseCapability;this.callbackCapabilities[n]=i;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:n,data:t},a)}catch(e){i.reject(e)}return i.promise}sendWithStream(e,t,a,n){const i=this.streamId++,o=this.sourceName,c=this.targetName,l=this.comObj;return new ReadableStream({start:a=>{const s=new r.PromiseCapability;this.streamControllers[i]={controller:a,startCall:s,pullCall:null,cancelCall:null,isClosed:!1};l.postMessage({sourceName:o,targetName:c,action:e,streamId:i,data:t,desiredSize:a.desiredSize},n);return s.promise},pull:e=>{const t=new r.PromiseCapability;this.streamControllers[i].pullCall=t;l.postMessage({sourceName:o,targetName:c,stream:u,streamId:i,desiredSize:e.desiredSize});return t.promise},cancel:e=>{(0,r.assert)(e instanceof Error,"cancel must have a valid reason");const t=new r.PromiseCapability;this.streamControllers[i].cancelCall=t;this.streamControllers[i].isClosed=!0;l.postMessage({sourceName:o,targetName:c,stream:s,streamId:i,reason:wrapReason(e)});return t.promise}},a)}#N(e){const t=e.streamId,a=this.sourceName,n=e.sourceName,i=this.comObj,s=this,o=this.actionHandler[e.action],u={enqueue(e,s=1,o){if(this.isCancelled)return;const c=this.desiredSize;this.desiredSize-=s;if(c>0&&this.desiredSize<=0){this.sinkCapability=new r.PromiseCapability;this.ready=this.sinkCapability.promise}i.postMessage({sourceName:a,targetName:n,stream:l,streamId:t,chunk:e},o)},close(){if(!this.isCancelled){this.isCancelled=!0;i.postMessage({sourceName:a,targetName:n,stream:c,streamId:t});delete s.streamSinks[t]}},error(e){(0,r.assert)(e instanceof Error,"error must have a valid reason");if(!this.isCancelled){this.isCancelled=!0;i.postMessage({sourceName:a,targetName:n,stream:h,streamId:t,reason:wrapReason(e)})}},sinkCapability:new r.PromiseCapability,onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};u.sinkCapability.resolve();u.ready=u.sinkCapability.promise;this.streamSinks[t]=u;new Promise((function(t){t(o(e.data,u))})).then((function(){i.postMessage({sourceName:a,targetName:n,stream:f,streamId:t,success:!0})}),(function(e){i.postMessage({sourceName:a,targetName:n,stream:f,streamId:t,reason:wrapReason(e)})}))}#E(e){const t=e.streamId,a=this.sourceName,n=e.sourceName,i=this.comObj,g=this.streamControllers[t],p=this.streamSinks[t];switch(e.stream){case f:e.success?g.startCall.resolve():g.startCall.reject(wrapReason(e.reason));break;case d:e.success?g.pullCall.resolve():g.pullCall.reject(wrapReason(e.reason));break;case u:if(!p){i.postMessage({sourceName:a,targetName:n,stream:d,streamId:t,success:!0});break}p.desiredSize<=0&&e.desiredSize>0&&p.sinkCapability.resolve();p.desiredSize=e.desiredSize;new Promise((function(e){e(p.onPull?.())})).then((function(){i.postMessage({sourceName:a,targetName:n,stream:d,streamId:t,success:!0})}),(function(e){i.postMessage({sourceName:a,targetName:n,stream:d,streamId:t,reason:wrapReason(e)})}));break;case l:(0,r.assert)(g,"enqueue should have stream controller");if(g.isClosed)break;g.controller.enqueue(e.chunk);break;case c:(0,r.assert)(g,"close should have stream controller");if(g.isClosed)break;g.isClosed=!0;g.controller.close();this.#R(g,t);break;case h:(0,r.assert)(g,"error should have stream controller");g.controller.error(wrapReason(e.reason));this.#R(g,t);break;case o:e.success?g.cancelCall.resolve():g.cancelCall.reject(wrapReason(e.reason));this.#R(g,t);break;case s:if(!p)break;new Promise((function(t){t(p.onCancel?.(wrapReason(e.reason)))})).then((function(){i.postMessage({sourceName:a,targetName:n,stream:o,streamId:t,success:!0})}),(function(e){i.postMessage({sourceName:a,targetName:n,stream:o,streamId:t,reason:wrapReason(e)})}));p.sinkCapability.reject(wrapReason(e.reason));p.isCancelled=!0;delete this.streamSinks[t];break;default:throw new Error("Unexpected stream case")}}async#R(e,t){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]);delete this.streamControllers[t]}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}},(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});t.PDFWorkerStream=void 0;var r=a(2);t.PDFWorkerStream=class PDFWorkerStream{constructor(e){this._msgHandler=e;this._contentLength=null;this._fullRequestReader=null;this._rangeRequestReaders=[]}getFullReader(){(0,r.assert)(!this._fullRequestReader,"PDFWorkerStream.getFullReader can only be called once.");this._fullRequestReader=new PDFWorkerStreamReader(this._msgHandler);return this._fullRequestReader}getRangeReader(e,t){const a=new PDFWorkerStreamRangeReader(e,t,this._msgHandler);this._rangeRequestReaders.push(a);return a}cancelAllRequests(e){this._fullRequestReader?.cancel(e);for(const t of this._rangeRequestReaders.slice(0))t.cancel(e)}};class PDFWorkerStreamReader{constructor(e){this._msgHandler=e;this.onProgress=null;this._contentLength=null;this._isRangeSupported=!1;this._isStreamingSupported=!1;const t=this._msgHandler.sendWithStream("GetReader");this._reader=t.getReader();this._headersReady=this._msgHandler.sendWithPromise("ReaderHeadersReady").then((e=>{this._isStreamingSupported=e.isStreamingSupported;this._isRangeSupported=e.isRangeSupported;this._contentLength=e.contentLength}))}get headersReady(){return this._headersReady}get contentLength(){return this._contentLength}get isStreamingSupported(){return this._isStreamingSupported}get isRangeSupported(){return this._isRangeSupported}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}class PDFWorkerStreamRangeReader{constructor(e,t,a){this._msgHandler=a;this.onProgress=null;const r=this._msgHandler.sendWithStream("GetRangeReader",{begin:e,end:t});this._reader=r.getReader()}get isStreamingSupported(){return!1}async read(){const{value:e,done:t}=await this._reader.read();return t?{value:void 0,done:!0}:{value:e.buffer,done:!1}}cancel(e){this._reader.cancel(e)}}}],t={};function __w_pdfjs_require__(a){var r=t[a];if(void 0!==r)return r.exports;var n=t[a]={exports:{}};e[a](n,n.exports,__w_pdfjs_require__);return n.exports}var a={};(()=>{var e=a;Object.defineProperty(e,"__esModule",{value:!0});Object.defineProperty(e,"WorkerMessageHandler",{enumerable:!0,get:function(){return t.WorkerMessageHandler}});var t=__w_pdfjs_require__(1)})();return a})())); \ No newline at end of file diff --git a/apps/documentation/styles.css b/apps/documentation/styles.css index b5c61c956..c85cde949 100644 --- a/apps/documentation/styles.css +++ b/apps/documentation/styles.css @@ -1,3 +1,7 @@ @tailwind base; @tailwind components; @tailwind utilities; + +html { + scroll-behavior: smooth; +} diff --git a/apps/documentation/tailwind.config.js b/apps/documentation/tailwind.config.cjs similarity index 86% rename from apps/documentation/tailwind.config.js rename to apps/documentation/tailwind.config.cjs index d6187ba34..31d990bc8 100644 --- a/apps/documentation/tailwind.config.js +++ b/apps/documentation/tailwind.config.cjs @@ -8,7 +8,9 @@ module.exports = { ...baseConfig.content, `${path.join(require.resolve('@documenso/ui'), '..')}/**/*.{ts,tsx}`, './pages/**/*.{js,ts,jsx,tsx,mdx}', + './content/**/*.{js,ts,jsx,tsx,mdx}', './components/**/*.{js,ts,jsx,tsx,mdx}', + './app/**/*.{js,ts,jsx,tsx,mdx}', ], theme: { fontFamily: { diff --git a/apps/documentation/theme.config.tsx b/apps/documentation/theme.config.tsx index d6a0a6747..e0a8b0e84 100644 --- a/apps/documentation/theme.config.tsx +++ b/apps/documentation/theme.config.tsx @@ -4,7 +4,7 @@ import { useConfig } from 'nextra-theme-docs'; const themeConfig: DocsThemeConfig = { logo: Documenso, head: function useHead() { - const config = useConfig<{ title?: string; description?: string }>(); + const config = useConfig(); const title = `${config.frontMatter.title} | Documenso Docs` || 'Documenso Docs'; const description = config.frontMatter.description || 'The official Documenso documentation'; @@ -12,6 +12,7 @@ const themeConfig: DocsThemeConfig = { return ( <> + {title} @@ -46,7 +47,7 @@ const themeConfig: DocsThemeConfig = { }, docsRepositoryBase: 'https://github.com/documenso/documenso/tree/main/apps/documentation', footer: { - text: ( + content: ( {new Date().getFullYear()} ©{' '} @@ -56,12 +57,9 @@ const themeConfig: DocsThemeConfig = { ), }, - primaryHue: 100, - primarySaturation: 48.47, - useNextSeoProps() { - return { - titleTemplate: '%s | Documenso Docs', - }; + color: { + hue: 100, + saturation: 48.47, }, }; diff --git a/apps/documentation/tsconfig.json b/apps/documentation/tsconfig.json index 678b0c9bf..8f1978577 100644 --- a/apps/documentation/tsconfig.json +++ b/apps/documentation/tsconfig.json @@ -1,13 +1,17 @@ { "compilerOptions": { - "lib": ["dom", "dom.iterable", "esnext"], + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], "allowJs": true, "skipLibCheck": true, "strict": true, "noEmit": true, "esModuleInterop": true, "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "bundler", "resolveJsonModule": true, "isolatedModules": true, "jsx": "preserve", @@ -18,10 +22,21 @@ } ], "paths": { - "@/*": ["./*"] + "@/*": [ + "./*" + ] }, - "forceConsistentCasingInFileNames": true + "forceConsistentCasingInFileNames": true, + "target": "ES2017" }, - "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", "tailwind.config.js"], - "exclude": ["node_modules"] + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + "tailwind.config.js" + ], + "exclude": [ + "node_modules" + ] } diff --git a/apps/openpage-api/next.config.js b/apps/openpage-api/next.config.js deleted file mode 100644 index 658404ac6..000000000 --- a/apps/openpage-api/next.config.js +++ /dev/null @@ -1,4 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = {}; - -module.exports = nextConfig; diff --git a/apps/openpage-api/next.config.ts b/apps/openpage-api/next.config.ts new file mode 100644 index 000000000..b22af960a --- /dev/null +++ b/apps/openpage-api/next.config.ts @@ -0,0 +1,5 @@ +import type { NextConfig } from 'next'; + +const nextConfig: NextConfig = {}; + +export default nextConfig; diff --git a/apps/openpage-api/package.json b/apps/openpage-api/package.json index 3cb30a01d..274771b7f 100644 --- a/apps/openpage-api/package.json +++ b/apps/openpage-api/package.json @@ -11,12 +11,12 @@ }, "dependencies": { "@documenso/prisma": "*", - "luxon": "^3.5.0", - "next": "14.2.28" + "luxon": "^3.7.2", + "next": "^15" }, "devDependencies": { "@types/node": "^20", - "@types/react": "18.3.5", + "@types/react": "18.3.27", "typescript": "5.6.2" } } \ No newline at end of file diff --git a/apps/remix/app/components/dialogs/document-duplicate-dialog.tsx b/apps/remix/app/components/dialogs/document-duplicate-dialog.tsx index 21e788ffa..4ca68ea77 100644 --- a/apps/remix/app/components/dialogs/document-duplicate-dialog.tsx +++ b/apps/remix/app/components/dialogs/document-duplicate-dialog.tsx @@ -13,7 +13,7 @@ import { DialogHeader, DialogTitle, } from '@documenso/ui/primitives/dialog'; -import { PDFViewer } from '@documenso/ui/primitives/pdf-viewer'; +import { PDFViewerLazy } from '@documenso/ui/primitives/pdf-viewer/lazy'; import { useToast } from '@documenso/ui/primitives/use-toast'; import { useCurrentTeam } from '~/providers/team'; @@ -96,7 +96,7 @@ export const DocumentDuplicateDialog = ({ ) : (
- -
+

Configure Fields

-

+

Configure the fields you want to place on the document.

@@ -522,7 +522,7 @@ export const ConfigureFieldsView = ({ {selectedField && (
- -
+
Configure Fields @@ -614,13 +614,13 @@ export const ConfigureFieldsView = ({

Configure Fields

-

+

Configure the fields you want to place on the document.

diff --git a/apps/remix/app/components/embed/embed-direct-template-client-page.tsx b/apps/remix/app/components/embed/embed-direct-template-client-page.tsx index 8adca0fe4..10b6d0f16 100644 --- a/apps/remix/app/components/embed/embed-direct-template-client-page.tsx +++ b/apps/remix/app/components/embed/embed-direct-template-client-page.tsx @@ -28,7 +28,7 @@ import { Button } from '@documenso/ui/primitives/button'; import { ElementVisible } from '@documenso/ui/primitives/element-visible'; import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; -import { PDFViewer } from '@documenso/ui/primitives/pdf-viewer'; +import { PDFViewerLazy } from '@documenso/ui/primitives/pdf-viewer/lazy'; import { SignaturePadDialog } from '@documenso/ui/primitives/signature-pad/signature-pad-dialog'; import { useToast } from '@documenso/ui/primitives/use-toast'; @@ -334,7 +334,7 @@ export const EmbedDirectTemplateClientPage = ({
{/* Viewer */}
- -
+
{/* Header */}
-

+

Sign document

@@ -362,7 +362,7 @@ export const EmbedDirectTemplateClientPage = ({ className="h-8 w-8 p-0 md:hidden" onClick={() => setIsExpanded(false)} > - + ) : pendingFields.length > 0 ? ( ) : (
{!hidePoweredBy && ( -
+
Powered by
diff --git a/apps/remix/app/components/embed/embed-document-signing-page-v1.tsx b/apps/remix/app/components/embed/embed-document-signing-page-v1.tsx index 59bd442ec..740597160 100644 --- a/apps/remix/app/components/embed/embed-document-signing-page-v1.tsx +++ b/apps/remix/app/components/embed/embed-document-signing-page-v1.tsx @@ -22,7 +22,7 @@ import { Button } from '@documenso/ui/primitives/button'; import { ElementVisible } from '@documenso/ui/primitives/element-visible'; import { Input } from '@documenso/ui/primitives/input'; import { Label } from '@documenso/ui/primitives/label'; -import { PDFViewer } from '@documenso/ui/primitives/pdf-viewer'; +import { PDFViewerLazy } from '@documenso/ui/primitives/pdf-viewer/lazy'; import { RadioGroup, RadioGroupItem } from '@documenso/ui/primitives/radio-group'; import { SignaturePadDialog } from '@documenso/ui/primitives/signature-pad/signature-pad-dialog'; import { useToast } from '@documenso/ui/primitives/use-toast'; @@ -286,7 +286,7 @@ export const EmbedSignDocumentV1ClientPage = ({
{/* Viewer */}
- -
+
{/* Header */}
-

+

{isAssistantMode ? ( Assist with signing ) : ( @@ -315,18 +315,18 @@ export const EmbedSignDocumentV1ClientPage = ({ {isExpanded ? ( ) : pendingFields.length > 0 ? ( ) : (

-

+

Sign the document to complete the process.

-
+
{/* Form */} @@ -288,7 +288,7 @@ export const MultiSignDocumentSigningView = ({ !isNameLocked && setFullName(e.target.value)} @@ -303,7 +303,7 @@ export const MultiSignDocumentSigningView = ({ diff --git a/apps/remix/app/components/general/billing-plans.tsx b/apps/remix/app/components/general/billing-plans.tsx index e85a8480d..5ea0b4a00 100644 --- a/apps/remix/app/components/general/billing-plans.tsx +++ b/apps/remix/app/components/general/billing-plans.tsx @@ -42,7 +42,7 @@ import { useToast } from '@documenso/ui/primitives/use-toast'; import { ZCreateOrganisationFormSchema } from '../dialogs/organisation-create-dialog'; -const MotionCard = motion(Card); +const MotionCard = motion.create(Card); export type BillingPlansProps = { plans: InternalClaimPlans; @@ -101,7 +101,7 @@ export const BillingPlans = ({ plans }: BillingPlansProps) => { {price.product.name} -
+
{price.friendlyPrice + ' '} {interval === 'monthlyPrice' ? ( @@ -112,12 +112,12 @@ export const BillingPlans = ({ plans }: BillingPlansProps) => {
-
+
{price.product.description}
{price.product.features && price.product.features.length > 0 && ( -
+
Includes: